CQkJCUl2eSAKCQkJCS0gVGhlIGFnaWxlIG9wZW4gc291cmNlIGRlcGVuZGVuY3kgbWFuYWdlcgoJCQkJLSBodHRwOi8vYW50LmFwYWNoZS5vcmcvaXZ5CgkJCQk9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQoJCQkJCmZvciBkZXRhaWxlZCB2aWV3IG9mIGVhY2ggaXNzdWUsIHBsZWFzZSBjb25zdWx0IGh0dHA6Ly9pc3N1ZXMuYXBhY2hlLm9yZy9qaXJhL2Jyb3dzZS9JVlkKCiBDb21taXR0ZXJzCiAJTWFhcnRlbiBDb2VuZQogCVhhdmllciBIYW5pbgoJTmljb2xhcyBMYWxldullCiAJR2lsbGVzIFNjb2thcnQKICAKIENvbnRyaWJ1dG9ycwogCUluZ28gQWRsZXIKIAlhbGV4MzIyCglTdGVwaGFuZSBCYWlsbGllegoJS2FybCBCYXVtCglNaWtrZWwgQmplcmcKCUplZmZyZXkgQmxhdHRtYW4KCUppbSBCb25hbm5vCglNYXR0aGlldSBCcm91aWxsYXJkCglDYXJsdG9uIEJyb3duCglNaXJrbyBCdWxvdmljCglKYW1pZSBCdXJucwoJQ2hyaXMgQ2hpbHZlcnMKCUtyaXN0aWFuIENpYnVsc2tpcwoJQW5kcmVhIEJlcm5hcmRvIENpZGRpbwoJQXJjaGllIENvYmJzCglNYXJ0aW4gRWlnZW5icm9kdAoJRGFubm8gRmVycmluCglCZW5qYW1pbiBGcmFuY2lzb3VkCQoJSmFjb2IgR3J5ZGhvbHQgSmVuc2VuCglKb2huIEdpYnNvbgoJU2NvdHQgR29sZHN0ZWluCglQaWVycmUgSORnbmVzdHJhbmQKCVNjb3R0IEhlYmVydAoJVG9iaWFzIEhpbXN0ZWR0CglCZW4gSGFsZQoJUGV0ZXIgSGF5ZXMKCVNjb3R0IEhlYmVydAoJTWF0dCBJbmdlcgoJQW5kZXJzIEphbm15cgoJQ2hyaXN0ZXIgSm9uc3NvbgoJTWljaGFlbCBLZWJlCglNYXR0aGlhcyBLaWxpYW4KCUFsZXhleSBLaXNlbGV2CglHcmVnb3J5IEtpc2xpbmcKCVRhdCBMZXVuZwoJQ29zdGluIExlYXUKCUFudG9pbmUgTGV2eS1MYW1iZXJ0CglXaWxsaWFtIEx5dmVycwoJU2FrYXJpIE1hYXJhbmVuCglKYW4gTWF0ZXJuZQoJTWFya3VzIE0uIE1heQoJU3RlcGhlbiBOZXNiaXR0CglKb3NodWEgTmljaG9scwoJQmVybmFyZCBOaXNldAoJRGF2aWQgTWFwbGVzZGVuCglHbGVuIE1hcmNoZXNhbmkKCVBoaWwgTWVzc2VuZ2VyCglNYXRoaWFzIE11bGxlcgoJUmFuZHkgTm90dAoJUGV0ZXIgT3hlbmhhbQoJRW1tYW51ZWwgUGVsbGVyZWF1CglSb3NoYW4gUHVubm9vc2UKCUplYW4tQmFwdGlzdGUgUXVlbm90CglEYW1vbiBSYW5kCglHZW9mZiBSZWVkeQoJQ2hyaXN0aWFuIFJpZWdlCglBbmRyZWFzIFNhaGxiYWNoCglCcmlhbiBTYW5kZXJzCglBZHJpYW4gU2FuZG9yCglSdXNsYW4gU2hldmNoZW5rbwoJSm9obiBTaGllbGRzCglTaW1vbiBTdGVpbmVyCglKb2hhbiBTdHV5dHMKCUphc29uIFRydW1wCglUamVlcmQgVmVyaGFnZW4KCUphbWVzIFAuIFdoaXRlCglUb20gV2lkbWVyCglKb2huIFdpbGxpYW1zCiAgICBDaHJpcyBXb29kCglQYXRyaWNrIFdvb2R3b3J0aAoJSmFyb3NsYXcgV3lweWNob3dza2kKCQogICAyLjEuMC1yYzEKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotIElNUFJPVkVNRU5UOiBGYWlsIHRoZSByZXRyaWV2ZSB3aGVuIG11bHRpcGxlIGFydGlmYWN0cyBvZiBzYW1lIG1vZHVsZSBhcmUgbWFwcGVkIHRvIHNhbWUgZmlsZSAoSVZZLTEwNTApCi0gSU1QUk9WRU1FTlQ6IGl2eSBpbml0aWFsaXphdGlvbiBzaG91bGRuJ3QgZmFpbCBpZiBwcm9wZXJ0aWVzIGZpbGUgZG9lc24ndCBleGlzdCAoSVZZLTEwMzgpCi0gSU1QUk9WRU1FTlQ6IGl2eTpyZXNvbHZlIGFudCB0YXNrIGRvZXMgbm90IHN1cHBvcnQgImJyYW5jaCIgYXR0cmlidXRlIChJVlktMTAzNSkKLSBJTVBST1ZFTUVOVDogQWJpbGl0eSB0byBzdHJpcCByZXZDb25zdHJhaW50IGF0dHJpYnV0ZSBmcm9tIGRlbGl2ZXJlZCBJdnkgZmlsZXMgKElWWS05ODkpCi0gSU1QUk9WRU1FTlQ6IGVuaGFuY2VkIGVycm9yIG1lc3NhZ2Ugd2hlbiBkZWZpbmluZyBhbiBhcnRpZmFjdCBmb3IgYW4gdW5rbm93biBjb25maWd1cmF0aW9uLgotIElNUFJPVkVNRU5UOiBkaXNwbGF5IHRoZSByZXZpc2lvbiBvZiB0aGUgcmVzb2x2ZWQgbW9kdWxlIGluIGl2eS1yZXBvcnQueHNsIChJVlktMTAyNCkgKHRoYW5rcyB0byBDYXJsdG9uIEJyb3duKQotIElNUFJPVkVNRU5UOiByZXNvbHZlciBhdHRyaWJ1dGUgZm9yIGJ1aWxkbnVtYmVyIHRhc2sgKElWWS0xMDE5KSAodGhhbmtzIHRvIE1hcnRpbiBFaWdlbmJyb2R0KQotIElNUFJPVkVNRU5UOiBhZGQgcmVmcmVzaCBwYXJhbWV0ZXIgdG8gcG9zdCByZXNvbHZlIHRhc2tzIChJVlktMTAxNykKLSBJTVBST1ZFTUVOVDogUmVtb3ZlIGV4Y2Vzc2l2ZSBIRUFEIHJlcXVlc3RzIGZvciBVUkwgcmVwb3NpdG9yeSAoSVZZLTk5NikKLSBJTVBST1ZFTUVOVDogYWRkIC12ZXJzaW9uIG9wdGlvbiBvbiBjb21tYW5kIGxpbmUgKElWWS0xMDE0KQotIElNUFJPVkVNRU5UOiBzdXBwb3J0IHJlc29sdmUgcmVmcmVzaCBpbiBjb21tYW5kIGxpbmUgKElWWS0xMDEzKQotIElNUFJPVkVNRU5UOiBFcnJvciBtZXNzYWdlIGlzIG5vdCBjbGVhciB3aGVuIHNwZWNpZnlpbmcgYW4gaW52YWxpZCB2YWx1ZSBmb3IgY2hlY2tzdW1zIChJVlktOTc3KQotIElNUFJPVkVNRU5UOiBjYXRjaCBBY2Nlc3NDb250cm9sRXhjZXB0aW9uIG9uIFN5c3RlbS5nZXRQcm9wZXJ0aWVzKCkgKElWWS0xMDE1KQoKLSBGSVg6IEVycm9yIG1lc3NhZ2U6ICJpbXBvc3NpYmxlIHRvIGdldCBhcnRpZmFjdHMgd2hlbiBkYXRhIGhhcyBub3QgYmVlbiBsb2FkZWQiICwgb24gY2VydGFpbiBtb2R1bGVzIG9ubHkgKElWWS05ODcpCi0gRklYOiBJdnkgZG9lc24ndCBoYW5kbGUgdGhlIGNsYXNzaWZpZXIgYXR0cmlidXRlIG9mIGFydGlmYWN0cyBpbnNpZGUgZGVwZW5kZW5jeSBlbGVtZW50cyAoSVZZLTEwNDEpCi0gRklYOiBCdWlsZG51bWJlciB0YXNrIGRvZXMgbm90IHdvcmsgZm9yIGNoYWluZWQgcmVzb2x2ZXJzIChJVlktMTAzNykKLSBGSVg6IERlcGVuZGVuY2llcyBkb24ndCBpbmhlcml0IGV4Y2x1c2lvbnMgZnJvbSBkZXBlbmRlbmN5TWFuYWdlbWVudCAoSVZZLTk3NCkgKHRoYW5rcyB0byBKb2huIEdpYnNvbikKLSBGSVg6IERlcGVuZGVuY3kgQ29uZmlndXJhdGlvbiBOZWdhdGlvbiBkb2VzIG5vdCB3b3JrIChJVlktOTgyKQotIEZJWDogSXZ5IHJldHJpZXZlIGRvZXMgbm90IGhvbm9yIHZhbGlkYXRlPSJmYWxzZSIgZnJvbSBpdnlzZXR0aW5ncyAoSVZZLTk5MikKLSBGSVg6IFNuYXBzaG90IGlzc3VlcyB3aGVuIHVzaW5nIGliaWJsaW8gcmVzb2x2ZXIgd2l0aCBtMmNvbXBhdGlibGUgaXMgZmFsc2UgKElWWS0xMDI4KQotIEZJWDogSXZ5IFN0YW5kYWxvbmUgaGFuZ3MgYWZ0ZXIgcHVibGlzaGluZyB0byBTU0ggcmVzb2x2ZXIgKElWWS0xMDA5KQotIEZJWDogb3ZlcndyaXRlPSdmYWxzZScgY29tcGxldGVseSBwcmV2ZW50cyBwdWJsaXNoaW5nIGludG8gdXJsIHJlcG9zaXRvcmllcyAoSVZZLTEwMDcpCi0gRklYOiBGaXhlZCBicm9rZW4gbG9nbyBsaW5rIGluIGl2eS1yZXBvcnQueHNsIChJVlktMTAyNCkgKHRoYW5rcyB0byBDYXJsdG9uIEJyb3duKQotIEZJWDogU3VwcG9ydCBmb3Igb3BlbnNsbCBzaGExIGFuZCBtZDUgY2hlY2tzdW0gKElWWS0xMDA2KQotIEZJWDogVFRMIGRvZXMgbm90IHdvcmsgYXMgZXhwZWN0ZWQgKElWWS0xMDEyKQotIEZJWDogTGlzdGluZyBvZiBVUkwncyB1bmRlciBhIGdpdmVuIFVSTCBkb2VzIG5vdCBoYW5kbGUgZnVsbHkgc3BlY2lmaWVkIFVSTCdzIChJVlktOTU5KSAodGhhbmtzIHRvIFJhbmR5IE5vdHQpCi0gRklYOiA8aXZ5OmJ1aWxkbnVtYmVyPiByZXR1cm5zIHdyb25nIHJlc3VsdCB3aGVuIHJlc29sdmUgZmFpbHMgKElWWS05NzApCi0gRklYOiBsaXN0aW5nIHBvc3NpYmxlIHRva2VuIHZhbHVlcyBkb2Vzbid0IHdvcmsgcHJvcGVybHkgZm9yIHRoZSBpYmlibGlvIHJlc29sdmVyCi0gRklYOiBJdnkgZGVsaXZlciBmYWlscyB0byByZXBsYWNlIGR5bmFtaWMgcmV2aXNpb24gKElWWS05OTkpICh0aGFua3MgdG8gTWFydGluIEVpZ2VuYnJvZHQpCgogICAyLjAuMAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0gSU1QUk9WRU1FTlQ6IEV4dGVuZCBwYWNrYWdlciByZXNvbHZlciB0byBhbGxvdyBhcmJpdHJhcnkgYW50IHRhc2tzIGluIGJ1aWxkIGluc3RydWN0aW9ucyAoSVZZLTk5NCkgKHRoYW5rcyB0byBBcmNoaWUgQ29iYnMpCi0gSU1QUk9WRU1FTlQ6IEl2eSBTdGFuZGFsb25lIHNldHRpbmcgdG8gb3ZlcndyaXRlIHB1YmxpY2F0aW9ucyAoSVZZLTk3NikKLSBJTVBST1ZFTUVOVDogU3VwcG9ydCB1c2VPcmlnaW4gZm9yIGFydGlmYWN0cyB3aXRoIGEgc2V0IHVybCBhdHRyaWJ1dGUgKElWWS05NjUpICh0aGFua3MgdG8gYWxleDMyMikKCi0gRklYOiBOdWxsUG9pbnRlckV4Y2VwdGlvbiBhdCBQb21Nb2R1bGVEZXNjcmlwdG9yQnVpbGRlci5hZGREZXBlbmRlbmN5IChJVlktOTk1KQotIEZJWDogTG9nIGxldmVscyBhcmVuJ3QgcmVzcGVjdGVkIGluIGNlcnRhaW4gY2FzZXMgdXNpbmcgdGhlIHN0YW5kYWxvbmUgZnVuY3Rpb25hbGl0eSAoSVZZLTk2MCkgKHRoYW5rcyB0byBQYXRyaWNrIFdvb2R3b3J0aCkKLSBGSVg6IE5QRSBpbiBMb2dSZXBvcnRPdXRwdXR0ZXIgKElWWS05NjEpCi0gRklYOiBOdWxsUG9pbnRlckV4Y2VwdGlvbiB3aGVuIHJlc29sdmluZyBtb2R1bGUgd2lob3V0IHJldmlzaW9uIGluIHRoZSBwYXR0ZXJuIChJVlktOTgwKQotIEZJWDogSU8gcHJvYmxlbSB3aGlsZSBwYXJzaW5nIGl2eSBmaWxlIChSZXNldHRpbmcgdG8gaW52YWxpZCBtYXJrKSAoSVZZLTk3NSkKLSBGSVg6IENhbm5vdCBwYXJzZSBtYXZlbjIgcG9tcyBjb250YWluaW5nIGFuIFVURi04IEJPTQotIEZJWDogRmlsZXMgd2l0aCBub24tbGF0aW4gc3ltYm9scyBmYWlsIHRvIGRvd25sb2FkIChJVlktOTYyKQoKICAgMi4wLjAtcmMyCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLSBET0NVTUVOVEFUSU9OOiBGaWxlc3lzdGVtIHJlc29sdmVyOiB0YWxrcyBhYm91dCAicGF0dGVybnMiIGJ1dCBkb2VzIG5vdCBtZW50aW9uIHRoZXNlIG11c3QgYmVjb21lIGFic29sdXRlIGZpbGUgcGF0aHMgKElWWS05MTApCgotIE5FVzogQWxsb3cgYXV0aGVudGljYXRpb24gY3JlZGVudGlhbHMgdG8gYmUgc3BlY2lmaWVkIGluIHNldHRpbmdzIGZpbGUgKElWWS05NDMpICh0aGFua3MgdG8gUmFuZHkgTm90dCkKCi0gSU1QUk9WRU1FTlQ6IEVycm9yIG1lc3NhZ2VzIG9uIHVzZSBvZiByZWxhdGl2ZSBwYXRocyBjYW4gYmUgY3lycHRpYyAoSVZZLTkwOSkKLSBJTVBST1ZFTUVOVDogTWF2ZW4gYWNjZXB0cyBpbGxlZ2FsIFhNTCBmb3IgaXRzIHBvbSdzLCBJdnkgbm90IChJVlktOTIxKQotIElNUFJPVkVNRU5UOiBJdnkgc2hvdWxkIHNldCB0aGUgJHtiYXNlZGlyfSBwcm9wZXJ0eSAoSVZZLTk1MykKCi0gRklYOiBOdWxsUG9pbnRlckV4Y2VwdGlvbiBpbiBBYnN0cmFjdFBhdHRlcm5zQmFzZWRSZXNvbHZlciB3aGVuIG9yZ2FuaXphdGlvbiBpcyBudWxsIChJVlktOTI4KQotIEZJWDogTnVsbFBvaW50ZXJFeGNlcHRpb24gd2hlbiBJdnkgY2Fubm90IGxvY2F0ZSBwb20gcGFyZW50IChJVlktOTI3KQotIEZJWDogQ2Fubm90IGNvbmZpZ3VyZSBpdGVtcyB3aXRoIGphdmEuaW8uRmlsZSBhdHRyaWJ1dGVzIChJVlktOTA1KQotIEZJWDogRW52aXJvbm1lbnQgcHJvcGVydGllcyBpbiBpdnkgc2V0dGluZ3MgYXJlIG5vIGxvbmdlciByZXNvbHZlZCAoSVZZLTkwNykKLSBGSVg6IFJlc29sdmUgZmFpbGVkIG9uIGNlcnRhaW4gcHJveHkgZW52aXJvbm1lbnQgKElWWS05MTEpCi0gRklYOiBJdnkgY2FuJ3QgaGFuZGxlIGJhcmUgUE9NICR7Z3JvdXBJZH0gcHJvcGVydHkgKElWWS05MTMpICh0aGFua3MgdG8gVG9tIFdpZG1lcikKLSBGSVg6IFByb3BlcnRpZXMgbmVlZGVkIHRvIHBhcnNlIHZlcnNpb24gaW4gUE9NIChJVlktOTE0KSAodGhhbmtzIHRvIFRvbSBXaWRtZXIpCi0gRklYOiBidWlsZC54bWw6IGNoZWNrc3R5bGUgKyBjaGVja3N0eWxlLXJlcG9ydCBkb250IHdvcmsgdG9nZXRoZXIgKElWWS05MTkpCi0gRklYOiBNYXZlbiBwYWNrYWdpbmcgb2YgInBvbSIgc2hvdWxkIGFkZCBhICJqYXIiIGFydGlmYWN0IGlmIHByZXNlbnQgKElWWS05MjApCi0gRklYOiBTdGFja092ZXJmbG93IHdoZW4gdXNpbmcgaXZ5OnNldHRpbmdzIHdpdGggIml2eS5pbnN0YW5jZSIgYXMgaWQgKElWWS05MjQpCi0gRklYOiBNYXZlbiBQb20gcmVhZGVyIGRvZXNuJ3QgaGFuZGxlIG9wdGlvbmFsIGRlcGVuZGVuY2llcyBjb3JyZWN0bHkgaW4gc29tZSBpbnN0YW5jZXMgKElWWS05MjYpICh0aGFua3MgdG8gUGhpbCBNZXNzZW5nZXIpCi0gRklYOiBpdnk6c2V0dGluZ3MgZG9lc24ndCB3b3JrIGlmIGlkIGlzIGEgcHJvcGVydHkgKElWWS05MjUpCi0gRklYOiBIdHRwQ2xpZW50SGFuZGxlciBoYW5naW5nIGluIGNlcnRhaW4gY2FzZXMgKElWWS05MzApICh0aGFua3MgdG8gU2NvdHQgSGViZXJ0KQotIEZJWDogQ2FuJ3QgZG93bmxvYWQgZmlsZXMgY29udGFpbmluZyBzcGFjZSBvciArIGluIHRoZWlyIG5hbWVzIGJ5IEhUVFAgKElWWS05MjMpCi0gRklYOiBNYXZlbjIgcGFyc2VyIGRvZXNuJ3Qgc3VwcG9ydCBQT01zIHdpdGggPG1vZGVsPiBhcyByb290IChJVlktOTMyKQotIEZJWDogRGVmYXVsdCByZXRyaWV2ZSwgcHVibGlzaCBhbmQgZGVsaXZlciBwYXR0ZXJucyBkb2Vzbid0IGluY2x1ZGUgdGhlIFtjbGFzc2lmaWVyXSB0b2tlbiAoSVZZLTkzNSkKLSBGSVg6IENhbid0IHVzZSBsYXRlc3QucmVsZWFzZSBmb3IgcG9tIGRlcGVuZGVuY2llcyAoSVZZLTkzNikKLSBGSVg6IFVuYWJsZSB0byByZXNvbHZlIHNuYXBzaG90IHZlcnNpb25zIGRlcGVuZGluZyBvbiB4bWwgZWxlbWVudHMgb3JkZXIgKElWWS05NDApCi0gRklYOiBwcmUtcmVzb2x2ZS1kZXBlbmRlbmN5IGV2ZW50IGRvZXNuJ3QgZXhwb3J0IGJyYW5jaCBpbmZvcm1hdGlvbiAoSVZZLTk0MSkgKHRoYW5rcyB0byBKYXJvc2xhdyBXeXB5Y2hvd3NraSkKLSBGSVg6IGNhY2hlZmlsZXNldCBwcm9kdWNlcyBhbiBlbXB0eSBmaWxlc2V0IHdoZW4gdGhlIGNhY2hlIHJlZmVycyB0byBsaWJzIGluIGRpcmVjdG9yaWVzIHRoYXQgb25seSBoYXZlIHRoZSByb290IGRpcmVjdG9yeSBpbiBjb21tb24gKElWWS05NDgpICh0aGFua3MgdG8gQ2hyaXMgV29vZCkKLSBGSVg6IEV4dHJhIEF0dHJpYnV0ZXMgc3BlY2lmaWVkIGluIHRoZSBEZXBlbmRlbmN5J3MgTW9kdWxlIERlc2NyaXB0b3IgYXJlIG5vdCBhdmFpbGFibGUgdG8gcmVzb2x2ZXJzIChJVlktOTI5KSAodGhhbmtzIHRvIFNjb3R0IEhlYmVydCkKLSBGSVg6IFN1cHBvcnQgZm9yIHBhc3NpbmcgYXJiaXRyYXJ5IGFyZ3VtZW50cyB0byB0aGUgLW1haW4gaW52b2tlZCBjbGFzcyB3aGVuIHVzaW5nIHRoZSBzdGFuZGFsb25lIG1vZGUgaXMgc2V2ZXJlbHkgbGltaXRlZCAoSVZZLTk1MikgKHRoYW5rcyB0byBQYXRyaWNrIFdvb2R3b3J0aCkKLSBGSVg6IENvcnJlY3RseSBzZXQgaXZ5LnJlc29sdmVkLmNvbmZpZ3VyYXRpb25zIHByb3BlcnR5IHdoZW4gdGhlIGNvbmYgc3RyaW5nIGluY2x1ZGVzIGEgbmVnYXRpb24gb3BlcmF0b3IgKElWWS05NTEpICh0aGFua3MgdG8gUGF0cmljayBXb29kd29ydGgpCi0gRklYOiBNYXZlbiBwb20gbGljZW5zZSB1cmwgY2FuIGNvbnRhaW4geG1sIGVudGl0aWVzIChJVlktOTUwKQotIEZJWDogTWF2ZW4gcG9tIGxpY2Vuc2UgaGFzIG5hbWUgYXMgb3B0aW9uYWwgZWxlbWVudCAoSVZZLTk0OSkKLSBGSVg6IEl2eSBkb2Vzbid0IHRocm93IGFuIGVycm9yIHdoZW4gdGhlIHBhcmVudCBQT00gY2Fubm90IGJlIGxvYWRlZCAoSVZZLTkzMSkKLSBGSVg6IE1hdmVuIHBvbSBwYXJzZXIgaXMgbm90IGhhbmRsaW5nIHBvbSBwcm9wZXJ0eSAke3Byb2plY3QucGFyZW50LnZlcnNpb259IChJVlktOTU1KQotIEZJWDogaW5saW5lIHJlc29sdmUgaWdub3JlcyB0aGUgdHJhbnNpdGl2ZSBhdHRyaWJ1dGUgKElWWS05NTgpCgogICAyLjAuMC1yYzEKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotIE5FVzogUmVwb3J0IHZlcnNpb24gb2YgSXZ5IGluIEhUVFAgaGVhZGVycyAodXNlci1hZ2VudD8pIHdoZW4gSXZ5IGRvd25sb2FkcyBhcnRpZmFjdHMgKElWWS04NzgpCi0gTkVXOiBBZGQgcHVibGlzaCBzdXBwb3J0IHRvIFVSTCByZXNvbHZlciAoSVZZLTg0OCkgKHRoYW5rcyB0byBCcmlhbiBTYW5kZXJzKQotIE5FVzogQmV0dGVyIHN1cHBvcnQgZm9yIGxvY2FsIGJ1aWxkcyAoSVZZLTg1NykKLSBORVc6IFJldGFpbiBvcmlnaW5hbCBkZXBlbmRlbmN5IGNvbnN0cmFpbnQgcnVsZXMgaW4gcmVzb2x2ZWQgaXZ5IGZpbGUgKElWWS03MzkpCi0gTkVXOiBBZGQgYSBuZXcgcmVzb2x2ZSBtb2RlIChvcHRpb25hbGx5IHBlciBtb2R1bGUpIHRvIHV0aWxpemUgZHluYW1pYyBjb25zdHJhaW50IHJ1bGUgbWV0YWRhdGEgKElWWS03NDApCi0gTkVXOiBBZGQgdHJhbnNpdGl2ZSBkZXBlbmRlbmN5IHZlcnNpb24gYW5kIGJyYW5jaCBvdmVycmlkZSBtZWNoYW5pc20gKElWWS03ODQpCi0gTkVXOiBBZGQgbmV3IHBhY2thZ2VyIHJlc29sdmVyIChJVlktODI5KSAodGhhbmtzIHRvIEFyY2hpZSBDb2JicykKCi0gSU1QUk9WRU1FTlQ6IER1YWxSZXNvbHZlciBzaG91bGQgYWxzbyBwcm92aWRlIHNldERlc2NyaXB0b3IgbWV0aG9kIGluc3RlYWQgb2Ygc2V0QWxsb3dub21kLCB3aGljaCBpcyBkZXByZWNhdGVkIGZvciB0aGUgb3RoZXIgcmVzb2x2ZXJzIChJVlktOTAzKQotIElNUFJPVkVNRU5UOiBQYXJzZSBsaWNlbnNlIGluZm9ybWF0aW9uIGluIHBvbXMgKElWWS04OTIpCi0gSU1QUk9WRU1FTlQ6IENoYW5nZSAnYWx3YXlzVXNlRXhhY3RSZXZpc2lvbicgZGVmYXVsdCB2YWx1ZSB0byBmYWxzZSAoSVZZLTg5MSkKLSBJTVBST1ZFTUVOVDogQmV0dGVyIGFuZCBtb3JlIGhvbW9nZW5lb3VzIHJlbGF0aXZlIHBhdGhzIGhhbmRsaW5nIChJVlktMzg3KSAKLSBJTVBST1ZFTUVOVDogdW5kZXByZWNhdGUgY29uZmlndXJlIHRhc2sgKElWWS04NDkpCi0gSU1QUk9WRU1FTlQ6IERldGVjdCBtaXNzaW5nIGFydGlmYWN0cyBvbiBwdWJsaXNoIGFzYXAgKElWWS04NjIpCi0gSU1QUk9WRU1FTlQ6IEFsbG93IHRvIHNldCB0aGUgYnJhbmNoIGF0IGRlbGl2ZXIvcHVibGlzaCB0aW1lIChJVlktODU5KQotIElNUFJPVkVNRU5UOiBBZGQgZGVmYXVsdGNvbmYgaW4gcHVibGljYXRpb25zIHRhZyBvZiBpdnkgZmlsZSAoSVZZLTgwMSkKLSBJTVBST1ZFTUVOVDogU3VwcG9ydCBhdG9taWMgcHVibGlzaCB3aXRoIHN1YiBkaXJlY3Rvcnkgc3RydWN0dXJlIChJVlktODU2KQotIElNUFJPVkVNRU5UOiBQcm92aWRlIGFudCB0YXNrIHRvIHJldHJpZXZlIGluZm9ybWF0aW9uIGZyb20gcHVibGlzaGVkIGl2eSBtb2R1bGVzIChJVlktODM4KSAodGhhbmtzIHRvIERhdmlkIE1hcGxlc2RlbikKLSBJTVBST1ZFTUVOVDogSW5zdGFsbCB0YXNrIGZhaWxzIGJ1dCByZWFzb24gaXMgbm90IGRpc3BsYXllZCB3aXRob3V0IHVzaW5nIC1kZWJ1ZyBvciAtdmVyYm9zZSAoSVZZLTgzNCkKLSBJTVBST1ZFTUVOVDogU1NIIHJlc29sdmVyIGRvZXNuJ3Qgc3VwcG9ydCBrZXlib2FyZC1pbnRlcmFjdGl2ZSBhdXRoZW50aWNhdGlvbiAoSVZZLTgzNikgKHRoYW5rcyB0byBUb2JpYXMgSGltc3RlZHQpCi0gSU1QUk9WRU1FTlQ6IGRlY2xhcmUgc291cmNlIGFuZCBqYXZhZG9jIGFydGlmYWN0cyBpbiBtYXZlbjIgbW9kdWxlcyAoSVZZLTMyNSkKLSBJTVBST1ZFTUVOVDogU2V0IHRoZSBsYXN0IG1vZGlmaWVkIGF0dHJpYnV0ZSBvZiBmaWxlcyBkb3dubG9hZGVkIGZyb20gcmVwb3NpdG9yaWVzIChJVlktODIzKQotIElNUFJPVkVNRU5UOiBJZiBETlMgaXMgcGxheWluZyB1cCwgSXZ5IHRha2VzIGEgbG90IGxvbmdlciB0byBzb3J0IHByb2plY3QgZGVwZW5kZW5jaWVzIChJVlktODE3KQotIElNUFJPVkVNRU5UOiBtYWtlIGl0IHBvc3NpYmxlIHRvIHNwZWNpZnkgcGVybWlzc2lvbnMgb2YgcHVibGlzaGVkIGZpbGVzIGZvciB0aGUgU1NIIHJlc29sdmVyIChJVlktNzY0KQotIElNUFJPVkVNRU5UOiBMb2FkIEl2eSB2ZXJzaW9uIG51bWJlciBpbnRvIHNvbWUgQW50IHByb3BlcnR5IChJVlktNzkwKQotIElNUFJPVkVNRU5UOiBNYWtlIEl2eSBzdGFuZGFsb25lIHJ1bm5hYmxlIHdpdGggbm8gcmVxdWlyZWQgZGVwZW5kZW5jaWVzIChJVlktNzU3KQotIElNUFJPVkVNRU5UOiBhZGQgYnJhbmNoIGF0dHJpYnV0ZSBpbiBpdnk6aW5zdGFsbCB0YXNrIChJVlktNzI3KQotIElNUFJPVkVNRU5UOiBQYXJzZSBkZXNjcmlwdGlvbiBpbmZvcm1hdGlvbiBpbiBpdnkgZmlsZXMgKElWWS03NjYpCi0gSU1QUk9WRU1FTlQ6IFBhcnNlIGRlc2NyaXB0aW9uIGFuZCBob21lIHBhZ2UgZnJvbSBwb21zIChJVlktNzY3KQotIElNUFJPVkVNRU5UOiBDaGFuZ2UgYWxsb3dub21kIGFuZCBza2lwYnVpbGR3aXRob3V0aXZ5IGludG8gYSBtb3JlIHNlbWFudGljYWxseSBjb3JyZWN0IG5hbWUgKElWWS0yOTcpCi0gSU1QUk9WRU1FTlQ6IFNtYXJ0ZXIgZGV0ZXJtaW5hdGlvbiBpZiBhbiBleHByZXNzaW9uIGlzIGV4YWN0IG9yIG5vdCBmb3IgUmVnZXhwUGF0dGVybk1hdGNoZXIgYW5kIEdsb2JQYXR0ZXJuTWF0Y2hlcgotIElNUFJPVkVNRU5UOiBDaGVjayBicmFuY2ggY29uc2lzdGVuY3kgZHVyaW5nIHJlc29sdmUgKElWWS04NTgpCi0gSU1QUk9WRU1FTlQ6IEdpdmUgdGhlIHBvc3NpYmlsaXR5IHRvIG5vdCBjb21wdXRlIGl2eS5kZXBzLmNoYW5nZWQgKElWWS04NzYpCi0gSU1QUk9WRU1FTlQ6IEFkZCBhIG1lbW9yeSBjYWNoZSBmb3IgdGhlIG1vZHVsZSBkZXNjcmlwdG9yIHRoYXQgYXJlIHBhcnNlZCBmcm9tIHRoZSBjYWNoZSAoSVZZLTg4MykKLSBJTVBST1ZFTUVOVDogSW1wcm92ZSBwZXJmb3JtYW5jZSAoSVZZLTg3MikKLSBJTVBST1ZFTUVOVDogQWRkaXRpb25hbCBkZXNjcmlwdGlvbnMgb2YgYnVpbGQueG1sIHRhcmdldHMgKElWWS00OTkpCgotIEZJWDogUHVibGlzaCBBbnQgVGFzayAnd2Fybm9ubWlzc2luZycgaWdub3JlZCAoSVZZLTg2NykKLSBGSVg6IEl2eSBzdGFuZC1hbG9uZSBpZ25vcmVzIC1jYWNoZSBhcmd1bWVudCAoSVZZLTkwMSkgKHRoYW5rcyB0byBDaHJpcyBDaGlsdmVycykKLSBGSVg6IGl2eS5jYWNoZS5kaXIuJHtzZXR0aW5nc1JlZn0gaXMgc2V0IHRvIGRlZmF1bHQgaW5zdGVhZCBvZiB0aGUgZGVmYXVsdENhY2hlRGlyIGZyb20gdGhlIGl2eXNldHRpbmdzLnhtbCBhZnRlciBpdnk6cmVzb2x2ZSAoSVZZLTg5OCkKLSBGSVg6IEl2eSBpYmlibGlvIHJlc29sdmVyIGNob2tlcyBvbiB2YXJpYWJsZXMgd2hpbGUgY2hlY2tpbmcgZGVzY3JpcHRvciBjb25zaXN0ZW5jeSAoSVZZLTgxOCkKLSBGSVg6IEVuYWJsZSBjb25zaXN0ZW50IHN1cHBvcnQgb2YgdGhlIGNvbmZpZ3VyYXRpb24gbmVnYXRpb24gb3BlcmF0b3IgKElWWS04OTQpICh0aGFua3MgdG8gUGF0cmljayBXb29kd29ydGgpCi0gRklYOiBhZGQgdmFyaWFibGUgZXhwYW5zaW9uIGluIGV4dHJhIGF0dHJpYnV0ZXMgKElWWS03OTgpCi0gRklYOiBJbnZhbGlkIFVSTCB3aGVuIHVzaW5nIGR5bmFtaWMgcmFuZ2VzIChJVlktODg1KQotIEZJWDogY2FuJ3QgdXNlIGdvdG9Ob2RlIHdpdGggYSBub2RlIHdoaWNoIGhhcyBub3QgYmVlbiB2aXNpdGVkIHlldCAoSVZZLTg3NCkKLSBGSVg6IEl2eSBQdWJsaXNoIFRhc2sgRmFpbHMgV2hlbiBYTUwgQ29tbWVudHMgRXhpc3QgTmV4dCB0byBEZXBlbmRlbmN5IERlY2xhcmF0aW9ucyAoSVZZLTg4OCkKLSBGSVg6IEluY29ycmVjdCBkaXJlY3RvcnkgcGF0aCByZXNvbHZlIHdoZW4gcnVubmluZyBmcm9tIGEgZGlmZmVyZW50IGRpcmVjdG9yeSAoSVZZLTIzMikKLSBGSVg6IEl2eSNsaXN0VG9rZW5WYWx1ZXMoU3RyaW5nLCBNYXApIGRvZXMgbm90IGZpbHRlciByZXR1cm5lZCB2YWx1ZXMsIGFuZCBkb2VzIG5vdCB1c2UgbWF2ZW4tbWV0YWRhdGEueG1sIGZpbGVzIHdpdGggSUJpYmxpbyByZXNvbHZlciAoSVZZLTg4NikKLSBGSVg6IENpcmN1bGFyIERlcGVuZGVuY3kgbWVzc2FnZXMgaW4gYSByZXNvbHZlIGRvIG5vdCByZWZsZWN0IHRoZSBjb25maWd1cmF0aW9uIHVzZWQgZHVyaW5nIHRoZSByZXNvbHZlIChJVlktNzA4KQotIEZJWDogRmFpbHVyZSB0byB0cmFuc2l0aXZlbHkgaW5zdGFsbCBNYXZlbjIgYXJ0aWZhY3RzIHdpdGggbmFtZXNwYWNlIChJVlktNDQwKQotIEZJWDogVW53YW50ZWQgZXZpY3Rpb24gb2YgZGVwZW5kZW5jaWVzIHdoZW4gb3B0aW9uYWwgYXR0cmlidXRlcyBpbiBkZXBlbmRlbmN5IGFuZCBpbmZvIHRhZ3MgYXJlIGluIGNvbnNpc3RlbnQgKElWWS03NDUpCi0gRklYOiBIVFRQIEhhbmRsZXJzIGlnbm9yZSB1bnN1Y2Nlc3NmdWwgcmVzcG9uc2UgY29kZXMgKElWWS04NjQpICh0aGFua3MgdG8gSmFtZXMgUC4gV2hpdGUpCi0gRklYOiBEZWxpdmVyIGRlbGl2ZXJzIHRoZSB3cm9uZyB2ZXJzaW9uIHdoZW4gYSBkeW5hbWljIHJldmlzaW9uIGlzIGV2aWN0ZWQgYmVmb3JlIGJlaW5nIHJlc29sdmVkIChJVlktNzA3KQotIEZJWDogSW5jb25zaXN0ZW5jeSB3aXRoICJtdWx0aS1wcm9qZWN0IiB0dXRvcmlhbCAoSVZZLTY2NykKLSBGSVg6IFVSTFJlcG9zaXRvcnkgZG9lcyBub3QgYWxsb3cgc29tZSB2YWxpZCBmaWxlIHNjaGVtZSB1cmkncyAoSVZZLTg4NCkKLSBGSVg6IEluY29ycmVjdCBwYXJzaW5nIGFydGlmYWN0UGF0dGVybiBhdHRyaWJ1dGUgaW4gYSBzZnRwIHJlc29sdmVyIChJVlktNjYxKSAodGhhbmtzIHRvIEFsZXhleSBLaXNlbGV2KQotIEZJWDogTWF2ZW4yICJlamIiIHBhY2thZ2luZyBpcyBub3Qgc3VwcG9ydGVkIChJVlktODczKQotIEZJWDogQ29uZmlnIGZpbGVzIHdpdGggIyBpbiBwYXRoIGNhbid0IGJlIHJlYWQgKElWWS04NjgpICh0aGFua3MgdG8gU2ltb24gU3RlaW5lcikKLSBGSVg6IENhY2hlIGNhbid0IGRpc3Rpbmd1aXNoIGFydGlmYWN0cyB3aXRoIGNsYXNzaWZpZXJzIChJVlktODAzKSAodGhhbmtzIHRvIEphbWVzIFAuIFdoaXRlKQotIEZJWDogUmVwb3J0cyBzaG93aW5nIGRvdWJsZSBkZXBlbmRlbmNpZXMgaW4gY2VydGFpbiBjYXNlcyAoSVZZLTU3OCkKLSBGSVg6IER5bmFtaWMgcmV2aXNpb24gcmVzb2x2ZSBkb2VzIG5vdCB0aHJvdyBlcnJvciB3aGVuIGNvbmZpZ3VyYXRpb24gaXMgbWlzc2luZyAoSVZZLTg2MSkKLSBGSVg6IFJlZmVyZW5jZWQgcmVzb2x2ZXIgbm90IGZvdW5kIGluIG1hY3JvIChJVlktODYwKQotIEZJWDogSXZ5IGZpbGVzIGFyZSBub3QgcmV0cmlldmVkIHdoZW4gdXNpbmcgdXNlT3JpZ2luPXRydWUgKElWWS03MTMpCi0gRklYOiBOUEUgaW4gSXZ5Omluc3RhbGwgdGFzayBpZiB0aGUgcmVwb3NpdG9yeSBjYWNoZSBkaXIgaGFzIGJlZW4gY2xlYXJlZCAoSVZZLTg0MykKLSBGSVg6IE1hdmVuIHZlcnNpb24gcmFuZ2VzIHdpdGggKCApIGFyZSBub3Qgc3VwcG9ydGVkIChJVlktNjc4KSAodGhhbmtzIHRvIE1pY2hhZWwgS2ViZSkKLSBGSVg6IElnbm9yZSBtYXZlbiBtZXRhZGF0YSBmaWxlcyB3aGVuIGxpc3RpbmcgcmV2aXNpb25zIChJVlktNzY1KQotIEZJWDogaGFsdG9ubWlzc2luZyBvbiBwdWJsaXNoIHRhc2sgZG9lcyBub3QgcHJldmVudCB0aGUgb3RoZXIgZmlsZXMgdG8gYmUgcHVibGlzaGVkLCBldmVuIHdpdGggYW4gYXRvbWljIHB1Ymxpc2hlciAoSVZZLTY1NikKLSBGSVg6IFRyYW5zaXRpdmUgZGVwZW5kZW5jaWVzIHJlc29sdmVzIGluY29ycmVjdGx5IHdoZW4gZGlmZmVyZW50IG1vZHVsZXMgdXNlcyB0aGUgc2FtZSBkZXBlbmRlbmN5IHdpdGggZGlmZmVyZW50IGNvbmZpZ3VyYXRpb25zIGluIHRoZSBzYW1lIGJ1aWxkIChJVlktNTQxKQotIEZJWDogdHJhbnNpdGl2ZSBhdHRyaWJ1dGUgc2V0IHRvIGZhbHNlIGJlY2F1c2Ugb2YgZGVwZW5kZW5jeSAoSVZZLTEwNSkKLSBGSVg6IFdyb25nIGNoZWNrIGZvciBkZWZhdWx0Q2FjaGVBcnRpZmFjdFBhdHRlcm4gKElWWS04NDApCi0gRklYOiBOUEUgaW4gaXZ5Omluc3RhbGwgaWYgaXZ5LnNldHRpbmdzLnhtbCBjb250YWlucyBjdXN0b20gYXR0cmlidXRlIGZvciBhIG1vZHVsZSAoSVZZLTgzOCkKLSBGSVg6IEl2eSB1bml0IHRlc3RzIGZhaWwgYmVjYXVzZSAnY2xhc3NpZmllcicgYXR0cmlidXRlIG9mICdhcnRpZmFjdHMnIGVsZW1lbnQgaXMgbWlzc2luZyBpbiBpdnkueHNkIChJVlktODM3KQotIEZJWDogSXZ5IGJ1aWxkIHN5c3RlbTogZml4IGJ1aWxkLnhtbCB0byBhbGxvdyAiYW50IGNvdmVyYWdlLXJlcG9ydCIgYmVoaW5kIGEgcHJveHkgKElWWS04MzIpCi0gRklYOiBOUEUgaW4gQWJzdHJhY3RSZXNvbHZlci5leGlzdHMoKSBpZiBhIHJlc291cmNlIGNhbm5vdCBiZSBmb3VuZCAoSVZZLTgzMSkKLSBGSVg6IEl2eSBkaXN0cmlidXRpb24gamFycyBjb250YWlucyBkdXBsaWNhdGUgZW50cmllcyAoSVZZLTgyOCkKLSBGSVg6IGl2eTpyZXBvcnQgd2lsbCBnZW5lcmF0ZSBhbiBIVE1MIGZpbGUgdGhhdCByZWZlcmVuY2VzIG5vbi1leGlzdGVudCBpdnktcmVwb3J0LmNzcyAoSVZZLTgyNikKLSBGSVg6IGR5bmFtaWMgcmVzb2x2ZU1vZGUgbm90IGJlaW5nIGR5bmFtaWMgb24gYnJhbmNoIChJVlktODI1KQotIEZJWDogRmlsZXN5c3RlbSByZXBvc2l0b3JpZXMgY2FuIG5vdCBoYXZlICgpIGluIHRoZSBwYXRoIChJVlktNzk3KQotIEZJWDogVHlwZSB0YWcgaW4gcG9tcyBub3Qgc3VwcG9ydGVkIChJVlktNzYyKQotIEZJWDogQW4gZW1wdHkgZXhjbHVzaW9uIHRhZyByZXN1bHRzIGluIGFuIElsbGVnYWxBcmd1bWVudEV4Y2VwdGlvbiAoSVZZLTgyMSkKLSBGSVg6IE1hdmVuIHNjb3BlIGRlZmluZWQgaW4gUE9NIGRlcGVuZGVuY3lNYW5hZ2VtZW50IHNlY3Rpb24gbm90IGhvbm91cmVkIChJVlktODExKQotIEZJWDogU0ZUUFJlcG9zaXRvcnkgaW5jb3JyZWN0bHkgY2FsY3VsYXRlcyBsYXN0IG1vZGlmaWVkIHRpbWUgZm9yIHJlc291cmNlcyAoSVZZLTgxNSkKLSBGSVg6IEZpbGVzeXN0ZW0gcmVzb2x2ZXIgZG9lcyBub3QgZXZhbHVhdGUgW2JyYW5jaF0gdG9rZW4gd2hlbiBwdWJsaXNoaW5nIChJVlktODE0KQotIEZJWDogVXNpbmcgaXZ5OnNldHRpbmdzIHdpdGggdGhlICJpZCIgYXR0cmlidXRlIG5vdCBiZWhhdmluZyBhcyBleHBlY3RlZCAoSVZZLTgwOSkKLSBGSVg6IG9uTWlzc2luZ0Rlc2NyaXB0b3IgZG9lc24ndCB3b3JrIGR1ZSB0byA9PSBjb21wYXJpc29uIChJVlktODA1KSAodGhhbmtzIHRvIEJlbiBIYWxlKQotIEZJWDogcmV2aXNpb24gdG9rZW4gaXMgbm90IHNldCBpbiByZXBvcnQgb3V0cHV0cGF0dGVybiAoSVZZLTI3MikKLSBGSVg6IEl2eSB1c2VzIHRoZSBmaXJzdCBzZXQgb2YgY29uZmlndXJhdGlvbnMgaXQgc2VlcyB3aGVuIHJlc29sdmluZyBtdWx0aXBsZSB2ZXJzaW9ucyBvZiBhIG1vZHVsZSAoSVZZLTY4MSkKLSBGSVg6IEV2aWN0aW9uIGZhaWxzIGZvciBsaWJzIG5vdCBwcm92aWRpbmcgdGhlaXIgaXZ5IGNvbmZpZ3VyYXRpb24gYW5kIHByb3ZpZGluZyBhcnRpZmFjdHMgbmFtZWQgZGlmZmVyZW50IGJldHdlZW4gbGliIHZlcnNpb25zIChJVlktNTM3KQotIEZJWDogTWVtb3J5IGxlYWsgaW4gTW9kdWxlUmV2aXNpb25JZC5qYXZhIChJVlktNzkxKQotIEZJWDogY29uZmxpY3QgbWFuYWdlciBzY29waW5nIGRvZXMgbm90IHdvcmsgYXMgZXhwZWN0ZWQgKElWWS00NjUpCi0gRklYOiBpdnkub3JpZ2luYWwueG1sIGZpbGUgdXNpbmcgYXJ0aWZhY3QgcGF0dGVybiBpbiBjYWNoZSBhbmQgY2F1c2luZyBwcm9ibGVtcyAoSVZZLTc4NykKLSBGSVg6IGl2eTpyZXRyaWV2ZSB3aXRoIHN5bmM9InRydWUiIHJlbW92ZXMgdGhlIC5zdm4gZGlyZWN0b3J5IChJVlktNzYzKQotIEZJWDogSXZ5IHNpbGVudGx5IGZhaWxzIFhNTCBlcnJvcnMgaW4gaXZ5cmVwIChJVlktNTc5KQotIEZJWDogRXh0cmEgQXR0cmlidXRlcyBhcmUgbm90IGF2YWlsYWJsZSB0byByZXNvbHZlciBhZnRlciByZXNvbHZlIGlmIGNhY2hlIHdhcyBlbXB0eSAoSVZZLTc3MykKLSBGSVg6IE51bGxQb2ludGVyRXhjZXB0aW9uIGR1cmluZyBSZXNvdmxlRW5naW5lLmRvd25sb2FkQXJ0aWZhY3RzLiAoSVZZLTU5MikKLSBGSVg6IHNldHRpbmcgbTJjb21wYXRpYmxlIG9uIGliaWJsaW8gcmVzb2x2ZXIgb3ZlcndyaXRlIHJvb3QgYW5kIHBhdHRlcm4gc2V0dGluZ3MgKElWWS00MzcpICh0aGFua3MgdG8gSmluZyBYdWUpCi0gRklYOiB1bmFibGUgdG8gcmVzb2x2ZSBzbmFwc2hvdCB2ZXJzaW9ucyAoSVZZLTUwMSkKLSBGSVg6IE5vIGVycm9yIG9yIHdhcm5pbmcgd2hlbiBhIHJlc29sdmVyIHJlZmVyZW5jZXMgYSBub24tZXhpc3RlbnQgY2FjaGUgKElWWS03NzcpCi0gRklYOiBpdnkgcHJvcGVydGllcyBkZWZpbmVkIGluIGFuIGluY2x1ZGUgZmlsZSBub3QgYXZhaWxhYmxlIGluIHRoZSBmaWxlIHRoYXQgaW5jbHVkZXMgaXQgKElWWS03ODApCi0gRklYOiBTRlRQUmVwb3NpdG9yeS5saXN0KFN0cmluZykgaGlkZXMgZXhjZXB0aW9ucyAoSVZZLTc1MSkKLSBGSVg6IFdyb25nIGVycm9yIG1lc3NhZ2UgZm9yIHJlcHVibGlzaGluZyBhIG1vZHVsZSAoSVZZLTc1MikKLSBGSVg6IHJlc29sdmUgZmFpbHMgdG8gcHV0IG1ldGFkYXRhIGluIGNhY2hlIChJVlktNzc5KQotIEZJWDogbXVsdGlwbGUgY2xlYW5jYWNoZSBhbmQgaW5saW5lIHJldHJpZXZlIGVycm9yIChJVlktNzc4KQotIEZJWDogYnVpbGRsaXN0IGV2aWN0cyBtb2R1bGVzIHdpdGggdGhlIHNhbWUgbmFtZSwgYnV0IGRpZmZlcmVudCBvcmdhbmlzYXRpb24gKElWWS03MzEpCi0gRklYOiBPdXQgb2YgbWVtb3J5L1N0YWNrIG92ZXJmbG93IGZvciBuZXcgaGlnaGx5IGNvdXBsZWQgcHJvamVjdCAoSVZZLTU5NSkKLSBGSVg6IENvbXBhdGliaWxpdHkgd2l0aCBtYXZlbidzIGRlcGVuZGVuY3lNYW5nZW1lbnQgKElWWS03NTMpCi0gRklYOiBpdnk6c2V0dGluZ3MgZmFpbHMgd2hlbiBvdmVycmlkZSBpcyBub3Qgc2V0IHRvICd0cnVlJyAoSVZZLTc3MSkKLSBGSVg6IE5QRSB3aGVuIHNwZWNpZnlpbmcgYm90aCByZXNvbHZlSWQgYW5kIGlubGluZSBpbiBhbiBJdnk6UmVzb2x2ZSAoSVZZLTc3NikKLSBGSVg6IHJlcHJlcG9ydCB0YXNrIG5vdCB3b3JraW5nIGFnYWluc3QgYSByZXBvc2l0b3J5IHN0cnVjdHVyZWQgYnkgYnJhbmNoZXMgKElWWS03MTYpCi0gRklYOiBJdnkgcmVwb3J0cyBhIGNvbmZsaWN0IHdoZW4gdGhlIHNhbWUgZmlsZSBpcyBzdXBwb3NlZCB0byBiZSByZXRyaWV2ZWQgYXQgdGhlIHNhbWUgbG9jYXRpb24gdHdpY2UgKG9yIG1vcmUpIChJVlktNzQzKQotIEZJWDogU3RhY2tPdmVyZmxvd0Vycm9yIHdoZW4gY29uZmlndXJhdGlvbiBleHRlbmRzIGl0c2VsZiAoSVZZLTY5NikKLSBGSVg6IFhNTCBzY2hlbWEgYW1iaWd1aXR5IChJVlktNzUwKQotIEZJWDogaXZ5LXJlc29sdmUgZmFpbHMgd2hlbiBhIHByb2plY3QgaGFzIGRpZmZlcmVudCBkZXBlbmRlbmNpZXMgaW4gZGlmZmVyZW50IGJyYW5jaGVzIChJVlktNzE3KQotIEZJWDogUHVibGlzaEV2ZW50c1Rlc3QgZmFpbHMgd2hlbiBJdnkgc291cmNlcyBhcmUgbG9jYXRlZCBpbiBhIGRpcmVjdG9yeSB3aXRoIGEgKyAoSVZZLTc1NSkKLSBGSVg6IFhNTCBlbnRpdHkgcGFyc2luZyBkb2VzIG5vdCB3b3JrIHByb3Blcmx5IChJVlktNzM3KSAodGhhbmtzIHRvIFBhdHJpY2sgV29vZHdvcnRoKQotIEZJWDogQ2FjaGVmaWxlc2V0IHRhc2sgc2lsZW50bHkgZmFpbHMgd2l0aCBwYXJlbnQgZGlyICIuLiIgY29uc3RydWN0IChJVlktNjM4KQotIEZJWDogU0ZUUCBzaG91bGQgdmVyaWZ5IGlucHV0IHBhcmFtZXRlciBmb3IgaG9zdG5hbWUgKElWWS03MzQpCi0gRklYOiBDbGFzc3BhdGggaXNzdWVzIHdpdGggdmZzIGZ0cCB3aGlsZSBiZWluZyB1c2VkIGFzIGEgYnVuZGxlIChJVlktNzg1KQotIEZJWDogUmVsYXRpdmUgaW5jbHVkZSBpbiBhIHNldHRpbmdzIG11c3QgYmUgZXZhbHVhdGVkIHJlbGF0aXZlbHkgdG8gdGhlIHNldHRpbmdzIGZpbGUgKElWWS0zNzIpCi0gRklYOiBUaGUgQnVuZGxlLVZlcnNpb24gaXMgMC4wLjAgaW4gdGhlIGJ1aWxkIGFydGlmYWN0cyAoSVZZLTgwMikKLSBGSVg6IEZpeCB0aGUgZW5jb2RpbmcgdXNlZCBpbiBYTUwgcmVwb3J0cyAoSVZZLTgxNikKLSBGSVg6IFByb3BlcnRpZXMgdGFnIGluIGl2eSBjb25mIGRvIG5vdCBzdXBwb3J0IHJlbGF0aXZlIHBhdGggKElWWS04OSkKLSBGSVg6IEl2eSBjYXVzZXMgSXZlREUgdG8gZmFpbCB3aGVyZSBhIHByb3BlcnRpZXMgZmlsZSBpcyByZWxhdGl2ZSB0byBpdnljb25mLnhtbCAoSVZZLTU3MykKCi0gRE9DVU1FTlRBVElPTjogRml4ZWQgbW9yZSB0aGFuIGEgaHVuZHJlZCAoMTAwKykgb2Jzb2xldGUgImNvbmZpZ3VyYXRpb24iIHJlZmVyZW5jZXM7IHJlcGxhY2VkIHdpdGggInNldHRpbmdzIiAoSVZZLTg2MykgKHRoYW5rcyB0byBTYWthcmkgTWFhcmFuZW4pCi0gRE9DVU1FTlRBVElPTjogRWxhYm9yYXRlZCBkb2N1bWVudGF0aW9uIG9mIGl2eSBmaWxlcyBhbmQgZGVsaXZlci9wdWJsaXNoIHRhc2tzIChJVlktODQ3KSAodGhhbmtzIHRvIFNha2FyaSBNYWFyYW5lbikKLSBET0NVTUVOVEFUSU9OOiBJdnkgdGVybWlub2xvZ3kgZWxhYm9yYXRpb24gYW5kIGlsbHVzdHJhdGlvbiAoSVZZLTg1MikgKHRoYW5rcyB0byBTYWthcmkgTWFhcmFuZW4pCi0gRE9DVU1FTlRBVElPTjogQnJva2VuIGxpbmsgaW4gZG9jdW1lbnRhdGlvbiBpbiBJdnkgZmlsZXMgc2VjdGlvbiwgaW5mbyBlbGVtZW50IHBhZ2UgKElWWS03ODgpCi0gRE9DVU1FTlRBVElPTjogQWRkIG5ldyBjYWNoZSBpbmZvcm1hdGlvbiB0byByZXNvbHZlciBkb2MgKElWWS03NzIpICh0aGFua3MgdG8gQ2FybHRvbiBCcm93bikKCiAgIDIuMC4wLWJldGEyCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLSBORVc6IEludHJvZHVjZSBSZXBvc2l0b3J5TWFuYWdlbWVudEVuZ2luZSAoSVZZLTY2NSkKLSBORVc6IEFkZCBzdXBwb3J0IGZvciBpbXBvcnRpbmcgZW52aXJvbm1lbnQgdmFyaWFibGVzIChJVlktNjA4KQotIE5FVzogQWRkIGFiaWxpdHkgZm9yIGJ1aWxkbGlzdCB0YXNrIHRvIHN0YXJ0IGJ1aWxkIGZyb20gc3BlY2lmaWVkIG1vZHVsZSBpbiB0aGUgbGlzdCAoSVZZLTY5NykgKHRoYW5rcyB0byBNaXJrbyBCdWxvdmljKQotIE5FVzogQ2FjaGUgZHluYW1pYyByZXZpc2lvbiByZXNvbHV0aW9uIChJVlktNjk0KQotIE5FVzogTWFrZSByZXNvbHZlIGNvbnNvbGUgb3V0cHV0IGNvbmZpZ3VyYWJsZSBwZXIgcmVzb2x2ZSAoSVZZLTcxNSkKCi0gSU1QUk9WRU1FTlQ6IGJyYW5jaCBhbmQgZXh0cmEgYXR0cmlidXRlcyBtaXNzaW5nIGZyb20gaW5mbyBBbnQgdGFzayAoSVZZLTcyMSkKLSBJTVBST1ZFTUVOVDogUmV2aWV3IHNldHRpbmdzIGxvYWRpbmcgaW4gQW50IChJVlktNzAzKQotIElNUFJPVkVNRU5UOiBNb3ZlIHVzZU9yaWdpbiB0byByZXBvc2l0b3J5IGNhY2hlIG1hbmFnZXIgKElWWS03MDApCi0gSU1QUk9WRU1FTlQ6IE1ha2UgSUJpYmxpbyByZXNvbHZlciBjb21wYXRpYmxlIHdpdGggbWF2ZW4gcHJveHkgKElWWS00NjYpCi0gSU1QUk9WRU1FTlQ6IFVzZSBuYW1lc3BhY2UgYXdhcmUgdmFsaWRhdGlvbiAoSVZZLTU1MykKLSBJTVBST1ZFTUVOVDogdXNlIE1vZHVsZVJldmlzaW9uSWQgaW5zdGVhZCBvZiBNb2R1bGVJZCBpbiBJdnlTZXR0aW5ncyNnZXRSZXNvbHZlciAoSVZZLTY5MSkKLSBJTVBST1ZFTUVOVDogRmxleGlibGUgY2FjaGUgbWFuYWdlbWVudCAoSVZZLTM5OSkgKFdpdGggY29udHJpYnV0aW9uIG9mIEFkcmlhbiBTYW5kb3IpCi0gSU1QUk9WRU1FTlQ6IERlY3JlYXNlIG1lbW9yeSBmb290cHJpbnQgKElWWS02NjIpCi0gSU1QUk9WRU1FTlQ6IERvd25ncmFkZSBBbnQgdmVyc2lvbiByZXF1aXJlbWVudCB0byAxLjYgdG8gYnVpbGQgSXZ5IChJVlktNjg3KQotIElNUFJPVkVNRU5UOiBJbiB0aGUgUmVzb2x2ZVJlcG9ydCBjbGFzcywgYWRkIHRoZSBwb3NzaWJpbGl0eSB0byBmaWx0ZXIgdGhlIGV2aWN0ZWQgbW9kdWxlIHdoaWxlIGdldHRpbmcgdGhlIGxpc3Qgb2YgRG93bmxvYWRBcnRpZmFjdCAoSVZZLTcwNCkgKHRoYW5rcyB0byBOaWNvbGFzIExhbGV26WUpCi0gSU1QUk9WRU1FTlQ6IFJlZmFjdG9yIHRoZSBQb21Nb2R1bGVEZXNjcmlwdG9yUGFyc2VyIGluIG9yZGVyIHRvIGFsbG93IGVhc2llciBpbnRlZ3JhdGlvbiBvZiBtYXZlbiBwb20gCSAKCi0gRklYOiBpdnk6aW5zdGFsbCB0YXNrIG5vdCB1c2luZyB2YWxpZGF0ZSBhdHRyaWJ1dGUgKElWWS03MjgpCi0gRklYOiBCYWQgY29uZmxpY3QgcmVzb2x1dGlvbiBsZWFkcyB0byBiYWQgImNvbmZpZ3VyYXRpb24ocykgbm90IGZvdW5kIiBlcnJvciAoSVZZLTcyOSkKLSBGSVg6IFJlc29sdmluZyBmb3IgbXV5bHRpcGxlIGNvbmZpZ3VyYXRpb25zIHdoZW4gb25lIGlzIG5vdCBpbiB0aGUgbGlzdCBvZiBhdmFpbGFibGUgY29uZmlndXJhdGlvbnMgZG9lcyBub3QgYWJvcnQgdGhlIGJ1aWxkIChJVlktNzIwKQotIEZJWDogQnJhbmNoIGF0dHJpYnV0ZSBjb25zaWRlcmVkIGFzIGJvdGggYSBzdGFuZGFyZCBhbmQgZXh0cmEgYXR0cmlidXRlIG9uIG1vZHVsZSBpbmZvIChJVlktNzI2KQotIEZJWDogQnJhbmNoIGF0dHJpYnV0ZSBub3Qgc2V0IG9uIGRlbGl2ZXIgd2hlbiB1c2luZyBhIG5vbiBkZWZhdWx0IGJyYW5jaCAoSVZZLTcyNCkKLSBGSVg6IE51bGxQb2ludGVyRXhjZXB0aW9uIHJlcG9ydGVkIGluc3RlYWQgb2YgZXJyb3IgaW4gaXZ5OmNhY2hlcGF0aCAoSVZZLTY5MCkKLSBGSVg6IE5QRSB3aGVuIGNhbGxpbmcgcmV0cmlldmUgaWYgc29tZSBhcnRpZmFjdHMgYXJlIG5vdCBhdmFpbGFibGUgbG9jYWxseSAoSVZZLTcxMikKLSBGSVg6IFdoZW4gaW4gc3NoIHBsdWdpbiB3ZSBkb2VzIG5vdCBzZXQgdXNlcm5hbWUgaW4gc2NoZW1lLCBJdnkgYWx3YXlzIHRyeSB0byBjb25uZWN0IHdpdGggZ3Vlc3QgdXNlcm5hbWUsIGV2ZW4gaWYgd2UgY2hhbmdlIG9uZSBpbiBwYW5lbC4gKElWWS03MTApICh0aGFua3MgdG8gUnVzbGFuIFNoZXZjaGVua28pCi0gRklYOiBOUEUgaW4gU3NoQ2FjaGUgZHVyaW5nIHB1Ymxpc2ggd2l0aCBzc2ggcmVzb2x2ZXIgd2l0aG91dCBwYXNzRmlsZSAoSVZZLTcwOSkgKHRoYW5rcyB0byBSdXNsYW4gU2hldmNoZW5rbykKLSBGSVg6IFVwZGF0ZSBpbnN0YWxsIGl2eSBidWlsZCBmaWxlIGV4YW1wbGUgKElWWS03MDUpICh0aGFua3MgdG8gQmVuamFtaW4gRnJhbmNpc291ZCkKLSBGSVg6IEl2eSBzd2FsbG93cyBQYXJzZUV4Y2VwdGlvbiB3aGVuIHVzaW5nIGEgbGF0ZXN0IHN0cmF0ZWd5IHJlcXVpcmluZyBtb2R1bGUgZGVzY3JpcHRvcnMgKElWWS03MDIpICh0aGFua3MgdG8gTmljb2xhcyBMYWxldullKQotIEZJWDogUHJvYmxlbSB3aXRoIGNhY2hlZCBJdnkgZmlsZXMgd2hpY2ggaGF2ZSBleHRyYSBhdHRyaWJ1dGVzIChJVlktNjkzKQotIEZJWDogRGV0ZWN0aW9uIG9mIG5ld2VyIGFuZCBiZXR0ZXIgYXJ0aWZhY3RzIHNob3VsZCBub3QgaGFwcGVuIGlmICdjaGVja01vZGlmaWVkJyBpcyBzZXQgdG8gJ2ZhbHNlJyAoSVZZLTM4OSkgKHdpdGggY29udHJpYnV0aW9uIGZyb20gSm9oYW4gU3R1eXRzKQotIEZJWDogSXZ5IGRvZXNuJ3QgcmVzcGVjdCB0aGUgb3JkZXIgb2YgdGhlIGl2eSBwYXR0ZXJucyBhcyBkZWZpbmVkIGluIHRoZSBzZXR0aW5ncyAoSVZZLTY3NikKLSBGSVg6IFhtbE1vZHVsZURlc2NyaXB0b3JXcml0ZXIgZG9lc24ndCB3cml0ZSB0aGUgZGVwcmVjYXRlZCBhdHRyaWJ1dGUgb2YgdGhlICJpdnktbW9kdWxlL2NvbmZpZ3VyYXRpb25zL2NvbmYiIGVsZW1lbnQgKElWWS02NjQpCi0gRklYOiBYTUxNb2R1bGVEZXNjcmlwdG9yV3JpdGVyIGRvZXMgbm90IHdyaXRlIGV4dHJhIGF0dHJpYnV0ZXMgKElWWS00NzEpICh3aXRoIGNvbnRyaWJ1dGlvbiBmcm9tIE1pa2tlbCBCamVyZykKLSBGSVg6IGxhdGVzdCBjb21wYXRpYmxlIGNvbmZsaWN0IG1hbmFnZXIgZmFpbHMgd2l0aCBjaXJjdWxhciBkZXBlbmRlbmNpZXMgYW5kIGR5bmFtaWMgcmV2aXNpb24gKElWWS02NjMpCi0gRklYOiBTdHJpY3QgY29uZmxpY3RtYW5hZ2VyIHNlZW1zIHRvIG5vdCBzdXBwb3J0IGR5bmFtaWMgcmV2aXNpb25zIChJVlktNDc0KQotIEZJWDogTlBFIGluIG5hbWVzcGFjZSB0cmFuc2Zvcm1hdGlvbiBkdXJpbmcgdGhlIGl2eTpmaW5kcmV2aXNpb24gYW5kIGl2eTpyZXNvbHZlIHRhc2sgZXhlY3V0aW9uIChJVlktNjU5KSAodGhhbmtzIHRvIEFuZHJlYSBCZXJuYXJkbyBDaWRkaW8pCi0gRklYOiBNYXZlbiB0ZXN0IHNjb3BlIGluY2x1ZGVzIGFsbCBydW50aW1lIGRlcGVuZGVuY2llcyAoSVZZLTY4MikKLSBGSVg6IEluaGVyaXQgZGVwZWRlbmNpZXMgZGVmaW5lZCBpbiBwYXJlbnQgcG9tIChJVlktNjgzKQotIEZJWDogSW5jb3JyZWN0IGl2eSBmcm9tIG1hdmVuIHBvbSBnZW5lcmF0aW9uIHdoZW4gY2xhc3NpZmllciBhcmUgdXNlciAoSVZZLTcxNCkgKHRoYW5rcyB0byBSdXNsYW4gU2hldmNoZW5rbykKLSBGSVg6IG0yIGluY29tcGF0aWJpbGl0eSAtIElWWSBkb2VzIG5vdCByZWNvZ25pemUgcHJvcGVydHkgc2VjdGlvbihJVlktNjM3KQotIEZJWDogTWF2ZW4gdGVzdCBzY29wZSBub3QgbWFwcGVkIHRvIHRlc3QgY29uZiAoSVZZLTc0NCkgKHRoYW5rcyB0byBEYW5ubyBGZXJyaW4pCgotIFRBU0s6IFJlbW92ZSBjYWNoZSBhdHRyaWJ1dGUgb24gQW50IHRhc2tzIChJVlktNjg1KQoKLSBJbXByb3ZlbWVudCBpbiBjb2RpbmcgY29udmVudGlvbnMgKElWWS01MTEpICh3aXRoIGNvbnRyaWJ1dGlvbiBmcm9tIE1hcmt1cyBNLiBNYXkpCgogICAyLjAuMC1iZXRhMQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0gTkVXOiBTaGFyZSBjYWNoZSB3aXRoIGxvY2tpbmcgKElWWS02NTQpCi0gTkVXOiBzdXBwb3J0IGF0b21pYyBwdWJsaXNoIG9wZXJhdGlvbiAoSVZZLTQ5MikgKHdpdGggY29udHJpYnV0aW9uIGZyb20gR2VvZmYgUmVlZHkpCi0gTkVXOiBsYXRlc3QgY29tcGF0aWJsZSBjb25mbGljdCBtYW5hZ2VyIChJVlktNjQ4KQotIE5FVzogQWRkIGEgdGFzay9jb2RlIHRvIGNyZWF0ZSBNMiBQT00gZmlsZXMgZnJvbSBJdnkgY29uZmlndXJhdGlvbnMgKElWWS00MTYpCi0gTkVXOiBbQnVpbGRdIFB1Ymxpc2ggdGhlIGl2eSBzb3VyY2VzIChJVlktNjQ2KSAodGhhbmtzIHRvIE5pY29sYXMgTGFsZXbpZSkKCi0gSU1QUk9WRU1FTlQ6IEVhc2UgcGVyZm9ybWFuY2UgYXVkaXRpbmcgKElWWS02NTUpCi0gSU1QUk9WRU1FTlQ6IE1hdmVuIERlcGVuZGVuY3kgTWFuYWdlbWVudCBpcyBub3QgdXNlZCB0byBkZXRlcm1pbmUgYXJ0aWZhY3QgdmVyc2lvbiAoSVZZLTYxNikgKHRoYW5rcyB0byBKaW0gQm9uYW5ubykKLSBJTVBST1ZFTUVOVDogc3BsaXQgdGhlIGNhY2hlIGludG8gYW4gZG93bmxvYWRlZCBhcnRpZmFjdHMgY2FjaGUgYW5kIGEgbWV0YWRhdGEgY2FjaGUgKElWWS02MjgpCi0gSU1QUk9WRU1FTlQ6IGFkZCBwdWJsaXNoIHRyaWdnZXJzIHRvIGV2ZW50IHN5c3RlbSAoSVZZLTY1MCkgKHRoYW5rcyB0byBKYXNvbiBUcnVtcCkKLSBJTVBST1ZFTUVOVDogT25seSBkaXNwbGF5IHVuaXF1ZSBjaXJjdWxhciBkZXBlbmRlbmNpZXMgZHVyaW5nIFJlc29sdmUgKElWWS02NTMgSVZZLTUxNCkgKHdpdGggY29udHJpYnV0aW9uIGZyb20gSm9obiBXaWxsaWFtcykKLSBJTVBST1ZFTUVOVDogQWRkaW5nIG9wdGlvbiAnY3AnLCB3aGljaCBtYWtlcyBpdCBwb3NzaWJsZSBmb3IgbWFpbiB0byBiZSBsb2FkZWQgZnJvbSBmaWxlIChJVlktNTQzKSAodGhhbmtzIHRvIFRqZWVyZCBWZXJoYWdlbikKLSBJTVBST1ZFTUVOVDogQmFzaWNVUkxIYW5kbGVyIHNob3VsZCB1c2UgbWV0aG9kPWhlYWQgZm9yIGdldFVSTEluZm8gKElWWS02MTEpICh0aGFua3MgdG8gSmltIEJvbmFubm8pCi0gSU1QUk9WRU1FTlQ6IGFydGlmYWN0cHJvcGVydHkgc2hvdWxkIG5vdCBvdmVyd3JpdGUgdGhlIGV4aXN0aW5nIHByb3BlcnRpZXMgKElWWS01ODcpCi0gSU1QUk9WRU1FTlQ6IFN1cHBvcnQgKihwcml2YXRlKSBhbmQgKihwdWJsaWMpIGluIHRoZSBjb25mcyBwYXJhbWV0ZXIgb2YgdGhlIHJlc29sdmUgKElWWS01ODgpCi0gSU1QUk9WRU1FTlQ6IHJlcGxhY2UgKiBieSAqKHB1YmxpYykgd2hlbiByZXNvbHZpbmcgaW5saW5lIChJVlktNTg5KQotIElNUFJPVkVNRU5UOiBpdnkgaHRtbCByZXBvcnRzIG5vdyByZWZlcnMgaHR0cDovL2FudC5hcGFjaGUub3JnIChwYXJ0aWFsIElWWS00MTQpCi0gSU1QUk9WRU1FTlQ6IEltcHJvdmVtZW50cyBvbiBoZWxsbyBpdnkgZXhhbXBsZSAoSVZZLTYyNikgKHdpdGggY29udHJpYnV0aW9uIGZyb20gSmFjb2IgR3J5ZGhvbHQgSmVuc2VuKQotIElNUFJPVkVNRU5UOiBNYWtlIHRoZSByb290IGF0dHJpYnV0ZSBpbiB0aGUgaXZ5cmVwIHJlc29sdmVyIG1hbmRhdG9yeSAoSVZZLTYyNSkKLSBJTVBST1ZFTUVOVDogTmV3IHRleHQgcmVwcmVzZW50YXRpb24gZm9yIG1haW4gbW9kdWxlIG1ldGFkYXRhIGNvbmNlcHRzIChJVlktNjQ5KQoKLSBGSVg6IG0yIGluY29tcGF0aWJpbGl0eSAtIElWWSBkb2VzIG5vdCByZWNvZ25pemUgcHJvcGVydHkgc2VjdGlvbiAoSVZZLTYzNykKLSBGSVg6IG0yIGluY29tcGF0aWJpbGl0eSAtIElWWSBkb2VzIG5vdCByZWNvZ25pemUgcGFyZW50IHBvbSAoSVZZLTYzNikKLSBGSVg6IEF0dGVtcHQgdG8gZG93bmxvYWQgYSBmaWxlIHdpdGggJiBpbiBpdHMgbmFtZSBjYXVzZXMgU0FYUGFyc2VFeGNlcHRpb24gaW4gSXZ5IChJVlktNjM1KQotIEZJWDogQmFkIEl2eUNvbnRleHQgc2NvcGUgY2F1c2luZyBtZW1vcnkgbGVhayBhbmQgYmFkIGhhbmRsaW5nIG9mIHN1YnByb2plY3QgYnVpbGRzIChJVlktNjM5KQotIEZJWDogUmVzb2x1dGlvbiBmYWlsdXJlIHdoZW4gbm8gaXZ5LnhtbCBmaWxlIHByZXNlbnQgKElWWS02MzApCi0gRklYOiAke3BhcmVudC52ZXJzaW9ufSBwcm9wZXJ0eSBpcyBub3QgcmVjb2duaXplZCBpbiBtYXZlbjIgcG9tIChJVlktNjIwKQotIEZJWDogSGFuZGxlIHJlbG9jYXRpb24gdGFnIGluIG1hdmVuIDIgcG9tIChJVlktNTg2KQotIEZJWDogSXZ5IGRvZXNuJ3Qgd29yayB3aXRoIEFudCAxLjYuMiAoSVZZLTYxNCkKLSBGSVg6IEVtcHR5U3RhY2tFeGNlcHRpb24gd2hlbiB1cGdyYWRpbmcgZnJvbSAxLjQgdG8gMi4wIChJVlktNjEwKQotIEZJWDogSXZ5OnJldHJpZXZlIGZhaWxzIHRocm91Z2ggcHJveHkgc2VydmVyIChJVlktNTI5KQotIEZJWDogamF2YS5sYW5nLklsbGVnYWxBcmd1bWVudEV4Y2VwdGlvbjogSW52YWxpZCB1cmkgd2hlbiB3b3JraW5nIHdpdGggdmVyc2lvbiByYW5nZXMgKElWWS0zOTApCi0gRklYOiBJdnkgc2V0dGluZ3MgaW5jbHVkZSAtdGFnIHVybCBhdHRyaWJ1dGUgZG9lcyBub3Qgd29yayBjb3JyZWN0bHkgKElWWS02MDEpCi0gRklYOiBTdGF0aWMgcmV2aXNpb24gcmVwbGFjZW1lbnQgaXMgbm90IHdvcmtpbmcgd2hlbiBhIGR5bmFtaWMgcmV2aXNpb24gaXMgZXZpY3RlZCBieSBhIHRyYW5zaXRpdmUgZGVwZW5kZW5jeSAoSVZZLTYwMykgKHdpdGggY29udHJpYnV0aW9uIGZyb20gTWF0dGhpYXMgS2lsaWFuKQotIEZJWDogTnVsbFBvaW50ZXJFeGNlcHRpb24gd2hpbHN0IHJlc29sdmluZyB0cmFuc2l0aXZlIGRlcGVuZGVuY2llcyAoSVZZLTU5MCkKLSBGSVg6IGNhY2hlcGF0aCBiYXNlZCBvbiBhIHJlc29sdmUgZG9uZSBpbiBhIHByZXZpb3VzIGJ1aWxkIGJyb2tlbiAoSVZZLTU4MykKLSBGSVg6IFJlc29sdmluZyBkeW5hbWljIHZlcnNpb24gZmFpbHMgd2hlbiB1c2luZyBtdWx0aXBsZSBwYXR0ZXJucyBpZiBvbmx5IG9uZSBwYXR0ZXJuIGZpbmQgYSByZXZpc2lvbiBhbmQgb3RoZXJzIGRvbid0IChJVlktNjAyKQotIEZJWDogSW52YWxpZCBjaGFyYWN0ZXIgaW4gSXZ5UmV0cmlldmVUZXN0IGNhdXNpbmcgbW9zdCB0ZXN0cyB0byBmYWlsIChJVlktNjA0KQotIEZJWDogaXZ5OnNldHRpbmdzIGFuZCBpdnk6cmV0cmlldmUgd2l0aCBleHBsaWNpdCBpZCBjYXVzZXMgdW53YXJyYW50ZWQgREVQUkVDQVRFRCB3YXJuaW5nICh0aGFua3MgdG8gSmFjb2IgR3J5ZGhvbHQgSmVuc2VuKQoKLSBSRUZBQ1RPUklORzogRXh0cmFjdCBhIHNldHRpbmdzIGludGVyZmFjZSBmb3IgdGhlIGRpZmZlcmVudCBlbmdpbmVzCgotIFRBU0s6IFJldmlldyBhbGwgdHV0b3JpYWxzIHRvIG1ha2Ugc3VyZSB0aGV5IGFyZSBpbiBzeW5jIHdpdGggMi4wIChJVlktNTkxKSAod2l0aCBjb250cmlidXRpb24gZnJvbSBKaW5nIFh1ZSkKLSBUQVNLOiBTYXRpc2Z5IHRoZSBVUyBleHBvcnQgY29udHJvbCBsYXdzIGZvciBzb2Z0d2FyZSAic3BlY2lhbGx5IGRlc2lnbmVkIiB0byB1c2UgY3J5cHRvZ3JhcGh5LiAoSVZZLTU5MykKCgogICAyLjAuMC1hbHBoYTItaW5jdWJhdGluZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0gTkVXOiBBZGQgY2xlYW5jYWNoZSB0YXNrIChJVlktNTY1KQotIE5FVzogQSBjaGVja3N0eWxlIHJlcG9ydCBpcyBnZW5lcmF0ZWQgKElWWS00ODMpICh0aGFua3MgdG8gSmFuIE1hdGVybmUpCi0gTkVXOiBIaWRlIHByaXZhdGUgb3Igc3BlY2lmaWMgY29uZiB3aGVuIHB1Ymxpc2hpbmcgKElWWS03NykKCi0gSU1QUk9WRU1FTlQ6IEZpbGUgYnVmZmVyIGluY3JlYXNlZCB0byA2NEtCIChJVlktNTUxKQotIElNUFJPVkVNRU5UOiBFeHBvc2UgZGVmYXVsdCBjYWNoZSBsb2NhdGlvbiBhcyBhbiBhbnQgcHJvcGVydHkgKElWWS01NjMpCi0gSU1QUk9WRU1FTlQ6IEV4cG9zZSBJdnkgdmFyaWFibGVzIGFzIEFudCBQcm9wZXJ0aWVzIChJVlktNTY0KQotIElNUFJPVkVNRU5UOiBDaGFuZ2UgZGVmYXVsdCBjYWNoZSBsb2NhdGlvbiAoSVZZLTUzMCkKLSBJTVBST1ZFTUVOVDogVXBncmFkZWQgVkZTIGRlcGVuZGVuY3kgdG8gMS4wIGFuZCByZW1vdmVkIGRlcGVuZGVuY3kgb24gVkZTLXNhbmRib3ggKElWWS00OTgpCi0gSU1QUk9WRU1FTlQ6IFVzZSBtYXZlbjIgcmVwb3NpdG9yeSB0byBkb3dubG9hZCBkZXBlbmRlbmNpZXMKLSBJTVBST1ZFTUVOVDogQWxsb3cgIm1haW4iIHBhcmFtZXRlcnMgdG8gYmUgcGFzc2VkIGRpcmVjdGx5IChpbnN0ZWFkIG9mIHVzaW5nIC1hcmdzIGZsYWcpIChJVlktNDgwKSAodGhhbmtzIHRvIEFyY2hpZSBDb2JicykKLSBJTVBST1ZFTUVOVDogUmVtb3ZlIEBhdXRob3IgdGFncyAodGhhbmtzIHRvIFN0ZXBoYW5lIEJhaWxsaWV6KQotIElNUFJPVkVNRU5UOiBSZW1vdmUgdXNlIG9mIGRlcHJlY2F0ZWQgZWxlbWVudHMgaW4gaXZ5c2V0dGluZ3MueG1sIChJVlktNTA1KSAod2l0aCBjb250cmlidXRpb24gZnJvbSBKYW4gTWF0ZXJuZSkKLSBJTVBST1ZFTUVOVDogQnVpbGRsaXN0IG9ubHlkaXJlY3RkZXAgYXR0cmlidXRlIChJVlktNDczIGFuZCBJVlktNTA0KSAod2l0aCBjb250cmlidXRpb24gZnJvbSBNaWtrZWwgQmplcmcpCi0gSU1QUk9WRU1FTlQ6IENvZGUgLyBYTUwgUG9saXNoZWQgKElWWS01NTQpICh3aXRoIGNvbnRyaWJ1dGlvbiBmcm9tIFRqZWVyZCBWZXJoYWdlbikKLSBJTVBST1ZFTUVOVDogSmF2YWRvYyBpbXByb3ZlbWVudHMgKElWWS01NDQpICh3aXRoIGNvbnRyaWJ1dGlvbiBmcm9tIFRqZWVyZCBWZXJoYWdlbikKLSBJTVBST1ZFTUVOVDogVW5pdCB0ZXN0IGltcHJvdmVtZW50cyAoSVZZLTU0NSkgKHRoYW5rcyB0byBUamVlcmQgVmVyaGFnZW4pCi0gSU1QUk9WRU1FTlQ6IERlcGVuZGVudCBqYXJzIG1pc3NpbmcgaW4gaXZ5IGJpbmFyaWVzIChJVlktNDgxKQoKLSBGSVg6IFJldHJpZXZhbCBub3QgZXhwYW5kaW5nICJbb3JpZ2luYWxuYW1lXSIuIChJVlktNjMxKQotIEZJWDogQW50IHRhcmdldCAiY2xlYW4iIG9uIEl2eSBtdWx0aS1wcm9qZWN0IHR1dG9yaWFsIHBvaW50cyB0byB3cm9uZyBjYWNoZSBkaXJlY3RvcnkuIChJVlktNTQ4KQotIEZJWDogVmFyaWFibGVzIG5vdCByZXBsYWNlZCBkdXJpbmcgZGVsaXZlciAoSVZZLTUyMCkgKHRoYW5rcyB0byBKb2huIFdpbGxpYW1zKQotIEZJWDogWG1sTW9kdWxlRGVzY3JpcHRvcldyaXRlciBkb2VzIG5vdCBwcm9kdWNlIG1hdGNoZXIgYXR0cmlidXRlIG9uIGluY2x1ZGUgYW5kIGV4Y2x1ZGUgcnVsZXMgKElWWS01NTYpCi0gRklYOiBwb20uZ3JvdXBJZCBpcyBub3QgcmVjb2duaXplZCBpbiBtYXZlbiAyIHBvbSBwYXJzZXIgKElWWS01NTApCi0gRklYOiBFdmljdGVkIG1vZHVsZXMgcmVwb3J0IGRlcGVuZHMgb24gdGhlIG9yZGVyIG9mIHRoZSBkZXBlbmRlbmNpZXMgKElWWS01MjYpCi0gRklYOiBJdnkgZG9lcyBub3Qgd29yayBvbiBUdXJraXNoIG1hY2hpbmVzIChJVlktNjUpCi0gRklYOiBJdnkgZG9lcyBub3QgaGFuZGxlIG11bHRpcGxlIHZlcnNpb24gZGVwZW5kZW5jaWVzIGluIG1hdmVuMiBwb21zIGNvcnJlY3RseSAoSVZZLTQ5NCkKLSBGSVg6IHBvbSBwYXJzZXIgZG9lc24ndCBuZWNlc3NhcmlseSBwcm9jZXNzZXMgYWxsIGltcG9ydGFudCBpbmZvcm1hdGlvbiAoSVZZLTUyNCkKLSBGSVg6IDxpbmZvPiBlbGVtZW50IG9mIEl2eSBmaWxlIGluIGNhY2hlIGlzIG5vdCB1cGRhdGVkIHdoZW4gdXNpbmcgbmFtZXNwYWNlcyAoSVZZLTUxNikKLSBGSVg6IFJldHJpZXZlIEFudCB0YXNrIGlnbm9yZXMgcmVzb2x2ZUlkIGF0dHJpYnV0ZSAoSVZZLTUyMikgKHRoYW5rcyB0byBTY290dCBHb2xkc3RlaW4pCi0gRklYOiBUaGUgZGVwcmVjYXRlZCAia2VlcCIgYXR0cmlidXRlIG9uIHBvc3QgcmVzb2x2ZSB0YXNrcyBjYXVzZXMgYW4gZXJyb3IgKElWWS01MTcpCi0gRklYOiBTb21lIGNpcmN1bGFyIGRlcGVuZGVuY2llcyBub3QgcmV0cmlldmVkIChJVlktNDAwKQotIEZJWDogJHt2ZXJzaW9ufSBwcm9wZXJ0eSBub3QgcmVjb2duaXplZCBpbiBwb21zIChJVlktNTEyKQotIEZJWDogQnVnIG9uIGhhbmRsaW5nIGRlcGVuZGVuY3kgYXJ0aWZhY3RzIHdoZW4gYSBtb2R1bGUgY29uZmlndXJhdGlvbiBpcyBzcGVjaWZpZWQgKElWWS01MDcpCi0gRklYOiBDb25maWd1cmUgZmFpbHMgd2hlbiBoYXZpbmcgaHR0cGNsaWVudCBpbiBjbGFzc3BhdGggd2l0aG91dCBjb21tb25zLWxvZ2dpbmcgKElWWS01MDIpCi0gRklYOiBwYWNrYWdpbmcgZGF0YSBub3QgcGFyc2VkIGluIG1hdmVuIDIgcG9tIChJVlktNTAwKSAodGhhbmtzIHRvIEplZmZyZXkgQmxhdHRtYW4pCi0gRklYOiBpbnN0YWxsIGFudCB0YXNrOiByZXF1aXJlcyBkZWZhdWx0IHJlc29sdmVyIGluIGl2eSBzZXR0aW5ncyAoSVZZLTQ3NykKLSBGSVg6IEFudCBwcm9qZWN0IHJlZmVyZW5jZSBsb3N0IGZyb20gY29udGV4dCBvbiBtdWx0aXBsZSBhbnQgY2FsbHMgaW4gc2luZ2xlIHRocmVhZCAoSVZZLTQ5NykgKHRoYW5rcyB0byBKYXJvc2xhdyBXeXB5Y2hvd3NraSkKLSBGSVg6IEVPTCBpbiB0aGUgZG9jIHBhZ2VzIChJVlktNDcwKQotIEZJWDogQ2FjaGUgaXMgc3RvcmluZyBBcnRpZmFjdE9yaWdpbiBwcm9wZXJ0aWVzIHdpdGggbm8gZ3VhcmFudGVlIG9mIHVuaWNpdHkgYW5kIHR5cGVzIHRlbGVzY29wZSBkdXJpbmcgcmVzb2x2ZS4gKElWWS00MzApICh0aGFua3MgdG8gU3RlcGhhbmUgQmFpbGxpZXopCi0gRklYOiBpdnk6aW5zdGFsbCBhbnQgdGFzayBkb2VzIG5vdCBmYWlsIG9uIGVycm9yIChJVlktNDc1KSAodGhhbmtzIHRvIEplZmZyZXkgQmxhdHRtYW4pCi0gRklYOiBDcmVkZW50aWFscyBhcmUgc2hvd24gaW4gYnVpbGQgbG9nIGV2ZW4gaWYgZGVidWcgaXMgbm90IGVuYWJsZWQgKElWWS00ODYpICh0aGFua3MgdG8gR2lsbGVzIFNjb2thcnQpCi0gRklYOiBQb3N0LVJlc29sdmUgdGFzayBzaG91bGRuJ3Qgc2V0IHRoZSAncmVzb2x2ZWlkJyAoSVZZLTQ4OSkKLSBGSVg6IGJ1aWxkIGZhaWxzIHdpdGhvdXQgZW1tYSBjb2RlIGNvdmVyYWdlIEpBUnMgcHJlc2VudCAoSVZZLTQ3OCkKLSBGSVg6IGJ1aWxkbGlzdCBicm9rZW4gLSByZWdyZXNzaW9uIGluIDIuMC4wLWFscGhhMS1pbmN1YmF0aW5nIChJVlktNDkzKQotIEZJWDogQ2lyY3VsYXIgZGVwZW5kZW5jeSBzdGFydGVneSBpbiBidWlsZGxpc3QgKElWWS01MDkpCi0gRklYOiBpdnkgc2hvdWxkIHN0b3AgdGVsbGluZyBtZSBvZmYgdHdpY2UgZm9yIGl2eWNvbmYueG1sIGZpbGVzIChJVlktNTEzKQotIEZJWDogQWxsb3cgcmVsYXRpdmUgcGF0aCBpbiBpdnkueG1sIGZpbGVzIChJVlktMzQ3KQoKCiAgIDIuMC4wLWFscGhhMS1pbmN1YmF0aW5nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLSBORVc6IGRlZmluZSBhcnRpZmFjdHMgbm90IGRlY2xhcmVkIGJ5IHRoZSBkZXBlbmRlbmN5IG1vZHVsZSBkZXNjcmlwdG9yIChJVlktNDE5KQotIE5FVzogTW9kdWxlIHdpZGUgZXhjbHVkZSAoSVZZLTQzMSkKLSBORVc6IFRoZSBkZWZhdWx0IHB1YmxpYyByZXNvbHZlciB1c2VkIGlzIG5vdyBpYmlibGlvIHdpdGggbTIgY29tcGF0aWJsZSBtb2RlIChJVlktNDYzKQoKLSBJTVBST1ZFOiBPU0dJZnkgaXZ5IGFydGlmYWN0cyAoSVZZLTQ2NCkgKHRoYW5rcyB0byBDb3N0aW4gTGVhdSkKLSBJTVBST1ZFOiBMZXQgdXNlciBzcGVjaWZ5IEl2eSBmaWxlIHdoZW4gdXNpbmcgYSBwb3N0LXJlc29sdmUgdGFzayAoSVZZLTQ1NSkKLSBJTVBST1ZFOiBJdnlBcnRpZmFjdFByb3BlcnR5IGFuZCBJdnlBcnRpZmFjdFJlcG9ydCB0YXNrcyBzaG91bGQgYmUgYSBwb3N0IHJlc29sdmUgdGFzayAoSVZZLTQ1MikKLSBJTVBST1ZFOiBSZW5hbWUgaXZ5IGNvbmZpZ3VyYXRpb24gaW4gc2V0dGluZ3MgdG8gcmVtb3ZlIGFtYmlndWl0eSBvbiBjb25maWd1cmF0aW9uIG1lYW5pbmcgKElWWS00MzgpCi0gSU1QUk9WRTogUGxlYXNlIHR5cGVkZWYgQ2FjaGVSZXNvbHZlciBhcyAiY2FjaGUiIGZvciB1cyAoSVZZLTM1OSkKLSBJTVBST1ZFOiBpdnk6cmV0cmlldmUgc2hvdWxkIGJlIGFibGUgdG8gY3JlYXRlIHN5bWxpbmtzIChJVlktMzUzKSAodGhhbmtzIHRvIEpvaG4gV2lsbGlhbXMpCi0gSU1QUk9WRTogQWJpbGl0eSB0byBoYXZlIG11bHRpcGxlIHJvb3RzIGluIHRoZSA8aXZ5OmJ1aWxkZmlsZWxpc3Q+IHRhc2sgKElWWS0zNDApICh0aGFua3MgdG8gTWF0dCBJbmdlcikKLSBJTVBST1ZFOiBSZWZhY3RvcmluZyAvIGRvY3VtZW50YXRpb24gLyB0ZXN0IG9mIG1hdGNoZXIgcGFja2FnZSAoSVZZLTM3NSkgKHRoYW5rcyB0byBTdGVwaGFuZSBCYWlsbGlleikKLSBJTVBST1ZFOiBBZGQgYSB1bml0IHRlc3QgdG8gdmVyaWZ5IHRoYXQgbGF0ZXN0LmludGVncmF0aW9uIGFjY2VwdHMgcmVsZWFzZWQgbW9kdWxlcyAoSVZZLTM5NCkgKHRoYW5rcyB0byBHaWxsZXMgU2Nva2FydCkKLSBJTVBST1ZFOiBOZXcgIm1vZHVsZXMgaW4gdXNlIiBzZWN0aW9uIGluIGNvbnNvbGUgcmVwb3J0IGF0IHRoZSBlbmQgb2YgcmVzb2x2ZSAoSVZZLTM3MykgKHRoYW5rcyB0byBKb2huIFdpbGlhbXMpCi0gSU1QUk9WRTogR2VuZXJhdGVkIFhNTCByZXBvcnRzIG5vdyBjb250YWlucyBtb3JlIGluZm9ybWF0aW9uIGFib3V0IHRoZSByZXNvbHZlZCBtb2R1bGUgKElWWS00NDYpCgotIEZJWDogaXZ5LXJldHJpZXZlIGZhaWx1cmUgd2hlbiBleHBsaWNpdCBhYnNvbHV0ZSAnaXZ5LmRlcC5maWxlJyBwYXRoIHNwZWNpZmllZCAoSVZZLTM5NikKLSBGSVg6IEl2eVBvc3RSZXNvbHZlIFRhc2sgZG9lc24ndCByZXVzZSBJdnkgZmlsZSBvZiBwcmV2aW91cyByZXNvbHZlIChJVlktNDU4KQotIEZJWDogSXZ5IHN0YW5kYWxvbmUgaXMgcGFzc2luZyBudWxsIGFyZ3MgdG8gbWFpbiBtZXRob2Qgd2hlbiBpbnZva2luZyB3aXRoIG5vIGFyZ3MgKElWWS00NTcpCi0gRklYOiBJbnZhbGlkIGVycm9yIHJlcG9ydCB3aXRoIG0yY29tcGF0aWJsZSByZXNvbHZlciAoSVZZLTQ1NikKLSBGSVg6IEl2eVBvc3RSZXNvbHZlIFRhc2sgZG9lc24ndCB1c2Ugc3BlY2lmaWVkIGNhY2hlIGZvciB0aGUgcmVzb2x2ZSAoSVZZLTQ1MykKLSBGSVg6IFhtbE1vZHVsZURlc2NyaXB0b3JXcml0ZXJUZXN0IG5vdCB3b3JraW5nIHdpdGggSmF2YSA2IChJVlktMzc0KQotIEZJWDogQ29uZmxpY3QgbWFuYWdlcnMgaWdub3JlZCwgd2hlbiBhc3NpZ25lZCB0byBtb2R1bGVzIGluIEl2eSBjb25maWd1cmF0aW9uIChzZXR0aW5nLCBpdnljb25mLnhtbCkgKElWWS00NDgpCi0gRklYOiBJdnkgc2hvdWxkIGZhaWwgaWYgJzsnIGhhcyBiZWVuIHVzZWQgaW4gcHVibGljYXRpb25zL2FydGlmYWN0L0Bjb25mIG9mIGl2eS54bWwgKElWWS00NDEpCi0gRklYOiBJdnkgc2hvdWxkIGZhaWwgd2hlcmUgZGVwZW5kZW5jeSB1c2VzIHVuZGVmaW5lZCBjb25maWd1cmF0aW9uIChJVlktNDQyKQotIEZJWDogRHluYW1pYyByZXZpc2lvbiBub3QgY2FsY3VsYXRlZCBwcm9wZXJseSB3aGVuIHVzaW5nIG11bHRpcGxlIGRpcmVjdG9yaWVzIChJVlktNDI3KQotIEZJWDogTGF0ZXN0UmV2aXNpb25TdHJhdGVneS5zb3J0KCkgZG9lc24ndCBzb3J0IGFzIHNwZWNpZmllZCAoSVZZLTQzNSkKLSBGSVg6IHNldHRpbmcgbTJjb21wYXRpYmxlIG9uIGliaWJsaW8gcmVzb2x2ZXIgb3ZlcndyaXRlIHJvb3QgYW5kIHBhdHRlcm4gc2V0dGluZ3MgKElWWS00MzcpCi0gRklYOiBpdnkucmV2aXNpb24gcHJvcGVydHkgbm90IHNldCBjb3JyZWN0bHkgZm9yIHNlY29uZCByZXNvbHZlIChJVlktNDI5KQotIEZJWDogTlBFIHdoZW4gbm8gb3JnYW5pc2F0aW9uIG9yIG5vIG5hbWUgaXMgcHJvdmlkZWQgaW4gbW9kdWxlIGVsZW1lbnQgb2YgaXZ5Y29uZiAoSVZZLTQyMikKLSBGSVg6IEZpbGVVdGlsI2NvcHkoRmlsZSBzcmMsIEZpbGUgZGVzdCwgQ29weVByb2dyZXNzTGlzdGVuZXIgbCwgYm9vbGVhbiBvdmVyd3JpdGUpIChJVlktNDIwKQotIEZJWDogSW52YWxpZCBwb20gcGFyc2luZyB3aGVuIHZlcnNpb24gaXMgb25seSBkZWNsYXJlZCBpbiBwYXJlbnQgKElWWS00MzYpCi0gRklYOiAke3Byb2plY3QuZ3JvdXBJZH0gYW5kICR7cHJvamVjdC52ZXJzaW9ufSBub3QgcHJvY2Vzc2VkIGNvcnJlY3RseSBpbiBwb21zIChJVlktNDI1KQotIEZJWDogSW5jb3JyZWN0IHBvbSBwYXJzaW5nIHdpdGggcHJvZmlsZSAoSVZZLTQyMykKLSBGSVg6IEl2eSBkb2Vzbid0IHJlY29nbml6ZSBtYXZlbjIgY2xhc3NpZmllcnMgKElWWS00MTgpCi0gRklYOiBQb21Nb2R1bGVEZXNjcmlwdG9yUGFyc2VyIGZhaWxzIHdpdGggbmVzdGVkIHByb2ZpbGUgZGVwZW5kZW5jeSAoSVZZLTM5MikgKHRoYW5rcyB0byBXaWxsaWFtIEx5dmVycykKLSBGSVg6IFN0YXRpYyByZXZpc2lvbiByZXBsYWNlbWVudCBpcyBub3Qgd29ya2luZyB3aGVuIGRlbGl2ZXJpbmcgYW4gYXJ0aWZhY3Qgd2l0aCBhIGRlcGVuZGVuY3kgaGF2aW5nIGV4dHJhIGF0dHJpYnV0ZXMgKElWWS00MTUpCi0gRklYOiBTdGF0aWMgcmV2aXNpb24gcmVwbGFjZW1lbnQgaXMgbm90IHdvcmtpbmcgd2hlbiBkZWxpdmVyaW5nIGFuIGFydGlmYWN0IHdpdGggYSBkZXBlbmRlbmN5IG9uIGEgYnJhbmNoIChJVlktNDA0KQotIEZJWDogbGF0ZXN0LXRpbWUgY29uZmxpY3QgbWFuYWdlciBub3Qgd29ya2luZyBwcm9wZXJseSAoSVZZLTQwNykKLSBGSVg6IExhdGVzdFJldmlzaW9uU3RyYXRlZ3kgZG8gbm90IGNvbnNpZGVyIGFsbCBkeW5hbWljIHJldmlzaW9ucyBwcm9wZXJseSAoSVZZLTM4MykgKHRoYW5rcyB0byBKb2huIFdpbGxpYW1zIGZvciB0aGUgdW5pdCB0ZXN0KQotIEZJWDogSU9FeGNlcHRpb24gZHVyaW5nIHB1Ymxpc2ggY2F1c2VzIE51bGxQb2ludGVyRXhjZXB0aW9uIChJVlktMzcxKQotIEZJWDogQ29tbWVudHMgaW4gaXZ5LnhtbCBkdXBsaWNhdGVkIChJVlktMzM2KSAodGhhbmtzIHRvIEdpbGxlcyBTY29rYXJ0KQotIEZJWDogSXZ5IGZhaWx1cmUgd2hlbiB0aGUgaXZ5LnhtbCBmaWxlIGNvbnRhaW5zIG5vbiBVUy1BU0NJSSBjaGFyYWN0ZXJzIChJVlktMzQ2KSAodGhhbmtzIHRvIEdpbGxlcyBTY29rYXJ0KQotIEZJWDogVXJscmVzb2x2ZXIgaXMgbm90IHBvc3NpYmxlIHRvIHVzZSBkeW5hbWljIHJldmlzaW9ucyBvbiBub25zdGFuZGFyZCByZXBvc2l0b3J5IHN0cnVjdHVyZSAoSVZZLTM1MCkgKHRoYW5rcyB0byBQaWVycmUgSORnbmVzdHJhbmQpCgoKICAgdmVyc2lvbiAxLjQuMSAtIDIwMDYtMTEtMDkKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotIElNUFJPVkU6IGFiaWxpdHkgdG8gcmVidWlsZCBhbGwgZGVwZW5kZW50IHByb2plY3RzIGZyb20gYSBsZWFmIChJVlktMTAxKQotIElNUFJPVkU6IEFydGlmYWN0IHBhdHRlcm4gbGlzdCBhdHRyaWJ1dGUgZm9yIHRoZSBpdnk6cHVibGlzaCAoSVZZLTExMykKLSBJTVBST1ZFOiBNZWFzdXJlIGNvZGUgY292ZXJhZ2UgKElWWS0zMjMpCi0gSU1QUk9WRTogYWRkIHJlbGVhc2UgdGFyZ2V0IHRvIGJ1aWxkIGZpbGUgKElWWS0zMzkpCi0gSU1QUk9WRTogQWRkIGEgJ2NvbmYnIHBhcmFtZXRlciB0byB0aGUgaXZ5ICdwdWJsaXNoJyBhbnQgdGFzayAoSVZZLTMyMikgKHRoYW5rcyB0byBFbW1hbnVlbCBQZWxsZXJlYXUpCgotIEZJWDogcmV0cmlldmUgZmFpbHMgd2hlbiByZXNvbHZlIGlzIGRvbmUgd2l0aCB1c2VPcmlnaW4gc2V0IHRvIHRydWUgKElWWS0zMDQpCi0gRklYOiBJVlkgY29tcGxhaW5zIGFib3V0IG5vbi1leGlzdGVudCByZXBvcnRzIGluIHRoZSBjYWNoZSBkaXJlY3RvcnkgKElWWS0zMTUpCi0gRklYOiBUeXBvIGluIGZhaWx1cmVwcm9wZXJ0eSBhdHRyaWJ1dGUgb2YgQW50IHJlc29sdmUgdGFzayAoSVZZLTMyNykgKHRoYW5rcyB0byBKZWFuLUJhcHRpc3RlIFF1ZW5vdCkKLSBGSVg6IGl2eTpyZXNvbHZlIHVzZU9yaWdpbiBmYWlscyB0byBiZWhhdmUgY29ycmVjdGx5IChJVlktMzMyKQotIEZJWDogQ2hhaW5WZXJzaW9uTWF0Y2hlciBkb2Vzbid0IGhhbmRsZSBJdnlBd2FyZSBjaGlsZHJlbiB2ZXJzaW9uIG1hdGNoZXJzIChJVlktMzMxKQotIEZJWDogbGF0ZXN0LjxzdGF0dXM+IGRvZXMgbm90IHdvcmsgcHJvcGVybHkgd2hlbiBubyBtYXRjaGluZyByZXZpc2lvbiBleGlzdCAoSVZZLTMxOCkKLSBGSVg6IGF0dHJpYnV0ZSBuYW1lIGluIG1hY3JvZGVmIGlzIG5vdCBoYW5kbGVkIGFzIGV4cGVjdGVkIChJVlktMzE5KQotIEZJWDogY29uZm1hcHBpbmdvdmVycmlkZSBkb2Vzbid0IHdvcmsgZm9yIGNvbmZpZ3VyYXRpb25zIGV4dGVuZGluZyBmcm9tICIqKHB1YmxpYykiIChJVlktMzI2KQoKCiAgIHZlcnNpb24gMS40IC0gMjAwNi0xMC0wOQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ClZlcnNpb24gMS40LVJDMiBoYXMgYmVlbiBwcm9tb3RlZCB0byAxLjQgb24gMjAwNi0xMC0wOSwgd2l0aCBkb2N1bWVudGF0aW9uIHVwZGF0ZS4KCktub3duIGJ1Z3MgYW5kIGxpbWl0YXRpb25zOgotIHJlZmVyZW5jZXMgaW4gcmVzb2x2ZXJzIGFyZSBub3QgcmVzb2x2ZWQgJ2luLXRpbWUnIHdpdGggbWFjcm9kZWYgKElWWS0zMTkpCi0gbGF0ZXN0LjxzdGF0dXM+IGRvZXMgbm90IHdvcmsgcHJvcGVybHkgd2hlbiBubyBtYXRjaGluZyByZXZpc2lvbiBleGlzdCAoSVZZLTMxOCkKLSBJVlkgY29tcGxhaW5zIGFib3V0IG5vbi1leGlzdGVudCByZXBvcnRzIGluIHRoZSBjYWNoZSBkaXJlY3RvcnkgKElWWS0zMTUpCi0gcmV0cmlldmUgZmFpbHMgd2hlbiByZXNvbHZlIGlzIGRvbmUgd2l0aCB1c2VPcmlnaW4gc2V0IHRvIHRydWUgKElWWS0zMDQpCgoKICAgdmVyc2lvbiAxLjQtUkMyIC0gMjAwNi0wOS0yNwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0gRklYOiBtMmNvbXBhdGlibGUgZmxhZyBpcyBpZ25vcmVkIGZvciBkaXNwbGF5IG9mIGZhaWxlZCBhcnRpZmFjdCBzZWFyY2hlcyAoSVZZLTMwMykKLSBGSVg6IEFudENhbGxUcmlnZ2VyVGVzdCBhbmQgQW50QnVpbGRUcmlnZ2VyVGVzdCBmYWlsIHdoZW4gcnVuIGZyb20gaXZ5IGJ1aWxkLnhtbCAoSVZZLTMxMCkKLSBGSVg6IENsYXNzbG9hZGVyIHByb2JsZW0gd2l0aCBhbnQgKElWWS0zMTEpCi0gRklYOiBNYWtlIHJlc29sdmUgb3ZlcnZpZXcgbW9yZSBjb21wYWN0IChJVlktMjk5KQotIEZJWDogQ291bGQgbm90IHdyaXRlIHRvICJ0bXA6Ly8vd2ViZGF2X3RtcC5jMSIgYmVjYXVzZSBpdCBpcyByZWFkLW9ubHkgKElWWS0zMTIpCgogICB2ZXJzaW9uIDEuNC1SQzEgLSAyMDA2LTA5LTE3Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQpJbmNvbXBhdGliaWxpdHkgd2l0aCBwcmV2aW91cyB2ZXJzaW9uczoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiogdXNhZ2U6CiAgLSBubyBrbm93biBtYWpvciBpbmNvbXBhdGlibGl0eQogIC0gYnVpbGQgbGlzdCB0YXNrIG5vdyByZXF1aXJlcyBhIGNvbmZpZ3VyZWQgaXZ5IGluc3RhbmNlIChjb25maWd1cmUgd2lsbCBhdXRvbWF0aWNhbGx5IGJlIGNhbGxlZCBpZiB5b3UgZG9uJ3QgY2FsbCBpdCBleHBsaWNpdGx5KQogIC0gcHVibGlzaCBub3cgcmVxdWlyZXMgdGhlIHB1Ymxpc2hlZCBpdnkgZmlsZSB0byBoYXZlIHRoZSBwdWJsaXNoZWQgcmV2aXNpb24gKGF1dG9tYXRpYyBpZiB5b3UgdXNlIGRlbGl2ZXIpCiAgCiogQVBJOgogIC0gTnVtZXJvdXMgQVBJIGNoYW5nZXMgZXNwZWNpYWxseSBpbiB0aGUgQmFzaWNSZXNvbHZlciBjbGFzcyBhbmQgc3ViY2xhc3NlcyBkdWUgdG8gdGhlIGludHJvZHVjdGlvbiBvZiBWZXJzaW9uTWF0Y2hlciwgCiAgCXRoaXMgbWF5IGJyZWFrIHNvbWUgY3VzdG9tIGRlcGVuZGVuY3kgcmVzb2x2ZXJzIG9yIG90aGVyIHRvb2xzIG9yIHBsdWdpbnMgZGVwZW5kaW5nIGRpcmVjdGx5IG9uIEl2eSBBUEkKCkNoYW5nZXM6Ci0tLS0tLS0tCiogdGhhbmtzIHRvIEpheWFzb2Z0OgogIC0gTkVXOiBpdnkgcmVwb3J0IGdlbmVyYXRlIGZ1bGwgZ3JhcGggZnJvbSBhdXRvbWF0ZWQgYnVpbGQgKElWWS0xNTUpCiAgLSBORVc6IHN1cHBvcnQgZm9yIGJ1aWxkIG51bWJlciBjYWxjdWxhdGlvbiAoSVZZLTI3NikKICAtIE5FVzogZmluZCBtb2R1bGVzIGluIHJlcG9zaXRvcnkgKElWWS0yNzUpCiAgLSBORVc6IGV4cGxpY2l0bHkgc3BlY2lmeSBhcnRpZmFjdCBkb3dubG9hZCBVUkwgKElWWS0yNzEpCiAgLSBORVc6IGludHJvZHVjZSBicmFuY2ggbWFuYWdlbWVudCAoSVZZLTI2OSkKICAtIE5FVzogcmVzb2x2ZSBkZXBlbmRlbmNpZXMgZGlyZWN0bHkgd2l0aG91dCB1c2luZyBhbiBpdnkgZmlsZSAoSVZZLTI2OCkKICAtIE5FVzogYWJpbGl0eSB0byBpbnZva2UgYW55IGJ1aWxkIHNjcmlwdHMgZm9yIGRlcGVuZGVuY2llcyAoSVZZLTY4KQogIC0gTkVXOiBzdXBwb3J0IHNmdHAgcmVwb3NpdG9yeSAoSVZZLTI2NykKICAtIE5FVzogcGx1Z2dhYmxlIHZlcnNpb24gbWF0Y2hlciAoSVZZLTIxOSkKICAtIE5FVzogc3VwcG9ydCBmb3IgdmVyc2lvbiByYW5nZXMgKElWWS0yOTUpCiAgLSBORVc6IGRlcGVuZGVuY3kgYmFzZWQgb24gZGVwZW5kZW5jeSBzdGF0dXMgKElWWS00NykKICAtIE5FVzogYWRkIHBvc3NpYmlsaXR5IHRvIGRlZmluZSBleHRyYSBhdHRyaWJ1dGVzIGluIGl2eSBmaWxlcyAoSVZZLTIxNykKICAtIE5FVzogb3B0aW9uIHRvIG9taXQgc3BlY2lmaWMgY29uZnMgYW5kIGFsbG93IHRoZSByZXN0IChJVlktNjYpCiAgLSBORVc6IHVzZSBjdXN0b20gY2xhc3Nsb2FkZXIgZm9yIHBsdWdpbnMgKElWWS0yMjApCiAgLSBORVc6IGFkZGluZyB0byBTUEVDSUFMX01FQU5JTkdTIGluIExhdGVzdFJldmlzaW9uU3RyYXRlZ3kgKElWWS0xMjEpCiAgLSBORVc6IEFsbG93IHVzZSBvZiBzeXN0ZW0gcHJvcGVydGllcyBpbiBpdnljb25mLnhtbCAoSVZZLTIyOCkKCiAgLSBJTVBST1ZFOiBhbGxvdyB0byB1c2UgZmlsZS1zeXN0ZW0gcmVwb3NpdG9yeSBkaXJlY3RseSB3aXRob3V0IGNhY2hlIChJVlktMjExKQogIC0gSU1QUk9WRTogZGVsaXZlciB0YXNrIHVzZSBhIGRlZmF1bHQgdmFsdWUgZm9yIHJldmlzaW9uIChJVlktMjUyKQogIC0gSU1QUk9WRTogYmV0dGVyIGRvY3VtZW50YXRpb24gZGlzdHJpYnV0aW9uIChJVlktMjc0KSAtIGluIHByb2dyZXNzCiAgLSBJTVBST1ZFOiBkZWZpbmUgY29uZmxpY3QgbWFuYWdlciBwZXIgb3JnYW5pc2F0aW9uL21vZHVsZSBpbiBpdnljb25mIChJVlktMjcwKQogIC0gSU1QUk9WRTogdHJhbnNpdGl2ZSBwYXJhbWV0ZXIgaW4gcmVzb2x2ZSAoSVZZLTIxKQogIC0gSU1QUk9WRTogYWRkIHN5bmNpbmcgZmVhdHVyZSBpbiByZXRyaWV2ZSAoSVZZLTMzKQogIC0gSU1QUk9WRTogdXNlIG9mIG1kNSBhbmQvb3Igc2hhMSBmaWxlcyB0byBjaGVjayBkb3dubG9hZHMgKElWWS0yNykKICAtIElNUFJPVkU6IHBvc3NpYmxlIHRvIHVzZSBtMmNvbXBhdGlibGUgd2l0aG91dCBhdXRvbWF0aWNhbGx5IHVzaW5nIFBPTXMgYXMgd2VsbCAoSVZZLTI2MykKICAtIElNUFJPVkU6IHN1cHBvcnQgZm9yIGNpcmN1bGFyIGRlcGVuZGVuY2llcyAoSVZZLTIwMikKICAtIElNUFJPVkU6IG1ha2Ugc3RhdHVzIGxpc3QgY29uZmlndXJhYmxlIChJVlktMjQyKQogIC0gSU1QUk9WRTogdXNlIG9ubHkgaXZ5IHBhdHRlcm5zIGZvciBsaXN0aW5nIHJldmlzaW9ucyB3aGVuIG1vZHVsZSBkZXNjaXB0b3IgaXMgcmVxdWlyZWQgKGFsbG93bm9tZCA9IGZhbHNlKSAoSVZZLTE2NikKICAtIElNUFJPVkU6IGltcGxlbWVudCBzdHJpY3QgaGFsdG9uZmFpbHVyZSBpZiBpdnkueG1sIGlzIG5vdCBmb3VuZCAoSVZZLTExMCkKICAtIElNUFJPVkU6IGFydGlmYWN0J3MgIm5hbWUiIGF0dHJpYnV0ZSBjb3VsZCBiZSBvbWl0dGVkIChJVlktMjMxKQogIC0gSU1QUk9WRTogaXZ5IHN0YW5kYWxvbmUgbm93IHJldHVybiBlcnJvciBzdGF0dXMgKElWWS0xNTIpCiAgLSBJTVBST1ZFOiBsb2cgbWVzc2FnZXMgZG8gbm90IGRpc3BsYXkgbW9zdCBzcGVjZmljIHJlc29sdmVyIG5hbWUgKElWWS0xNzApCiAgLSBJTVBST1ZFOiBwcmludHMgVVJMIGJlZm9yZSBkb3dubG9hZGluZyBpbiB2ZXJib3NlIG1vZGUgKElWWS0yNTcpCiAgLSBJTVBST1ZFOiBpbmNvcnJlY3QgdmFsdWUgaW4gc3RhdHVzIGF0dHJpYnV0ZSBjYXVzZXMgc2lsZW50IGZhaWx1cmUgKElWWS0yNTkpCiAgLSBJTVBST1ZFOiBzdXBvcnQgZW1wdHkgZGVwZW5kZW5jaWVzIHRhZyBpbiBhbiBpdnkgZmlsZSAoSVZZLTI4MSkKICAtIElNUFJPVkU6IGlzb2xhdGUgZGVwZW5kZW5jeSByZXNvbHV0aW9uIGZyb20gYXJ0aWZhY3QgZG93bmxvYWRpbmcgKElWWS0yNTQpCiAgLSBJTVBST1ZFOiBQYXNzIGFydGlmYWN0IHRvIHJlcG9zaXRvcnkgd2hlbiBjYWxsaW5nICJwdXQiIChJVlktMTkyKQogIC0gSU1QUk9WRTogRG8gbm90IHB1Ymxpc2ggaXZ5IGZpbGUgd2l0aCBiYWQgcmV2aXNpb24sIGFuZCBhbGxvdyB0byBmb3JjZSB0aGUgZGVsaXZlciB3aGVuIGNhbGxpbmcgcHVibGlzaCB0YXNrIChJVlktMjQ1KQoKICAtIEZJWDogUHJvYmxlbSB3aXRoIG11bHRpcGxlIGFydGlmYWN0IGluY2x1ZGVzIGluIHRyYW5zaXRpdmUgZGVwZW5kZW5jaWVzIChJVlktMjgzKQogIC0gRklYOiBFbmRsZXNzIHJlY3Vyc2lvbiBpbiByZXBvcnQgKElWWS0yODQpCiAgLSBGSVg6IGh0dHAgdXJsIGxpc3RlciBkb2Vzbid0IHdvcmsgd2hlbiBsaW5rIHRleHQgaGFzIHNwYWNlcyAoSVZZLTI4MikKICAtIEZJWDogSW5jb3JyZWN0IGFudCBsb2cgbGV2ZWwgKElWWS0yNzkpCiAgLSBGSVg6IFdyb25nIHJlc29sdXRpb24gb2YgZGVwZW5kZW5jaWVzIGlmIGFydGlmYWN0cyBzcGVjaWZpZWQgZXhwbGljaXRseSAoSVZZLTI2MSkKICAtIEZJWDogTXVsdGlwbGUgdmVyc2lvbnMgb2YgZGVwZW5kZW5jaWVzIGFwcGVhcmluZyBpbiByZXRyaWV2ZSAoSVZZLTI2NCkKICAtIEZJWDogVG9vIG1hbnkgZmFsc2UgQ2lyY3VsYXJEZXBlbmRlbmN5RXhjZXB0aW9uIGVycm9ycyB0aHJvd24gKElWWS0yMzApCiAgLSBGSVg6IENpcmN1bGFyRGVwZW5kZW5jeUV4Y2VwdGlvbiBub3QgYWx3YXlzIHRocm93biAoSVZZLTE4NCkKICAtIEZJWDogTnVsbFBvaW50ZXIgaW4gQmFzaWNSZXNvbHZlciAoSVZZLTI1OCkKICAtIEZJWDogQmFkIGRpYWdub3N0aWNzIG1lc3NhZ2Ugd2hlbiBubyBzcGFjZSBsZWZ0IChJVlktMjUwKQogIC0gRklYOiBNYXZlbjIgUE9NIHN1cHBvcnQgY2FuIGZpbmQgZ3JvdXBJZCBmcm9tICJwYXJlbnQiIGVsZW1lbnQgKElWWS0yNjIpCiAgLSBGSVg6IFBhcmVudCB2ZXJzaW9uIGlzIGV4cGVjdGVkIHRvIGJlIGVxdWFsIHRvIHRoZSBtb2R1bGUgdmVyc2lvbiBpbiBQT00gKElWWS0yNDEpCiAgLSBGSVg6IHByb2JsZW0gd2l0aCBjYWNoZSBhbmQgcmV0dXJuRmlyc3QgKElWWS0yMDcpCiAgLSBGSVg6IG1vZHVsZXMgc3BsaXR0ZWQgYWNyb3NzIGEgY2hhaW4gYXJlIG5vdCBoYW5kbGVkIGNvcnJlY3RseSAoSVZZLTIwNikKICAtIEZJWDogcHJvYmxlbSB3aXRoIGNvbmYgZXh0ZW5zaW9uIGFuZCBsYXRlc3QgcmV2aXNpb25zIChJVlktMjQwKQogIC0gRklYOiBUaGUgY2xlYW4tY2FjaGUgdGFyZ2V0IGluIC9zcmMvZXhhbXBsZS9oZWxsby1pdnkvYnVpbGQueG1sIGZpbGUgcmVmZXJzIHRvICR7dXNlci5ob21lfS8uaXZ5LWNhY2hlIGluc3RlYWQgb2YgJHt1c2VyLmhvbWV9Ly5pdnkvY2FjaGUvIChJVlktMjY1KQoKKiB0aGFua3MgdG8gSXZ5IENvbW11bml0eToKICAtIE5FVzogU1NIIFJlc29sdmVyIGFkZGVkIGFuZCBhbGlnbmVkIHdpdGggU0ZUUCByZXNvbHZlciAoSVZZLTI3MykgKHRoYW5rcyB0byBBbmRyZWFzIFNhaGxiYWNoKQogIC0gTkVXOiBhYmlsaXR5IHRvIHR1cm4gb2ZmIHRyYW5zaXRpdml0eSBhdCBjb25maWd1cmF0aW9uIGxldmVsIChJVlktMTAzKSAodGhhbmtzIHRvIEthcmwgQmF1bSBhbmQgTWFhcnRlbiBDb2VuZSkKICAtIE5FVzogYSBjb25mbGljdCBtYW5hZ2VyIHRoYXQgaXMgYWJsZSB0byBhbGxvdyBpbXBsZW1lbnRhdGlvbiBjaGFuZ2VzIGJ1dCBub3QgYXBpIGNoYW5nZXMgKDEuMi54IC0gT0spLCAoMS54LnggLSBOb3QgT0spIChJVlktMjIzKSAodGhhbmtzIHRvIEFuZGVycyBKYW5teXIpCiAgLSBORVc6IGVuaGFuY2Ugc3RhbmRhbG9uZSBtb2RlIHRvIGV4ZWN1dGUgamF2YSBwcm9ncmFtIGJ5IGNyZWF0aW5nIGNsYXNzbG9hZGVyIG9mIGRlcGVuZGFudCBqYXJzIGZyb20gY2FjaGUgKElWWS0yMTApICh0aGFua3MgdG8gUGV0ZXIgSGF5ZXMpCiAgLSBORVc6IGFkZGl0aW9uIG9mIFZmcyBSZXNvbHZlciB3aGljaCB1c2VzIENvbW1vbnMtVmZzIHRvIHJlc29sdmUgZmlsZXMgKElWWS0xMjgpICh0aGFua3MgdG8gR2xlbiBNYXJjaGVzYW5pLCBNYXR0IEluZ2VyIGFuZCBTdGVwaGVuIE5lc2JpdHQpCgogIC0gSU1QUk9WRTogdXNlIGdsb2JhbCBwcm9wZXJ0aWVzIGluIHRoZSByZWN1cnNpdmUgZGVsaXZlcnkgKElWWS0yMjIpICh3aXRoIHRoZSBjb250cmlidXRpb24gb2YgUm9zaGFuIFB1bm5vb3NlKQogIC0gSU1QUk9WRTogYmV0dGVyIGhhbmRsaW5nIG9mIGF1dGhlbnRpY2F0aW9uICh0aGFua3MgdG8gQ2hyaXN0aWFuIFJpZWdlKQoKICAtIEZJWDogQW50IGxvZyBtZXNzc2FnZXMgbm90IGVtYmVkZGVkIGluIHRhc2sgbG9nIChJVlktMjgwKSAodGhhbmtzIHRvIEdpbGxlcyBTY29rYXJ0KQogIC0gRklYOiBJdnkgZmFpbHMgd2hlbiBkb3dubG9hZGluZyBmcm9tIGEgc2VydmVyIHRoYXQgc3VwcG9ydHMgTlRMTSBhdXRoZW50aWNhdGlvbiAoSVZZLTIxMykgKHRoYW5rcyB0byBEYW1vbiBSYW5kKQogIC0gRklYOiBEZWxpdmVyZWQgSXZ5IGZpbGVzIHdpdGggaW5jb21wbGV0ZSBsYXN0IGxpbmUuIChJVlktMTI1KSAodGhhbmtzIHRvIE1hdHRoaWFzIEtpbGlhbikKICAtIEZJWDogdGhlIHZmcyByZXNvbHZlciBzaG91bGQgbm90IGxvZyBwYXNzd29yZHMgKElWWS0yOTIpICh0aGFua3MgdG8gQW50b2luZSBMZXZ5LUxhbWJlcnQpCgoqIHRoYW5rcyB0byBNYWFydGVuIENvZW5lOgogIC0gTkVXOiBhZGQgZmFpbHVyZXByb3BlcnR5IHBhcmFtZXRlciB0byB0aGUgcmVzb2x2ZSB0YXNrIChJVlktMjg1KQogIC0gTkVXOiBBZGQgdHlwZSBmaWx0ZXJpbmcgdG8gcmV0cmlldmUgdGFzayAoSVZZLTI2MCkKICAtIE5FVzogQWRkIHNlbGVjdG9ycyB0byB0aGUgY29uZmlndXJhdGlvbiBtYXBwaW5nIChJVlktMjUzKQogIC0gTkVXOiBBZGQgQW50IHRhc2sgdG8gcmV0cmlldmUgaW5mb3JtYXRpb24gZnJvbSBhbiBJdnkgZmlsZSB3aXRob3V0IGRvaW5nIGEgcmVzb2x2ZSAoSVZZLTI1NSkKICAtIE5FVzogYWRkIG9wdGlvbiB0byBjYWNoZXBhdGggdGFzayB0byBjcmVhdGUgYSBwYXRoIHdpdGggbG9jYWwgYXJ0aWZhY3QgcGF0aHMgKElWWS0yMjEpCiAgLSBORVc6IGFsbG93IGV4dGVuZGluZyBjb25maWd1cmF0aW9ucyB0byBvdmVycmlkZSB0aGUgbWFwcGluZyBvZiB0aGVpciBzdXBlciBjb25maWd1cmF0aW9ucyAoSVZZLTIxOCkKCiAgLSBJTVBST1ZFOiBSZXRhaW4gYXJ0aWZhY3QgZmlsZW5hbWVzIGFsb25nIHRoZSBwdWJsaXNoL3Jlc29sdmUvcmV0cmlldmUgcHJvY2VzcyAoSVZZLTU0KQogIC0gSU1QUk9WRTogcmVwb3J0IEFudC10YXNrIGRvZXNuJ3QgcHJvY2VzcyB0aGUgcmVwb3J0cyBpbiBiYXRjaCAoSVZZLTI0NykKICAtIElNUFJPVkU6IG1ha2UgUmVwb3J0T3V0cHV0dGVyIHBsdWdnYWJsZSBhbmQgY3VzdG9taXphYmxlIChJVlktMjA1KQogIC0gSU1QUk9WRTogYWRkIHdpbGRjYXJkIHN1cHBvcnQgZm9yIGV4dGVuZGluZyBjb25maWd1cmF0aW9ucyAoSVZZLTIzNSkKICAtIElNUFJPVkU6IGFkZCBzdXBwb3J0IGZvciB4c2x0IHBhcmFtZXRlcnMgaW4gdGhlIHJlcG9ydCB0YXNrIChJVlktMjI3KQogIC0gSU1QUk9WRTogY29tbWVudHMgbm93IGFyZW4ndCBsb3N0IHdoZW4gZGVsaXZlcmluZyBpdnkgZmlsZXMgKElWWS0yMjYpCiAgLSBJTVBST1ZFOiBhZGQgc29ydCBvZiAnZmFsbGJhY2snLW1hcHBpbmcgdG8gdGhlIGRlZmF1bHRjb25mbWFwcGluZyBhdHRyaWJ1dGUgKElWWS0yMTUpCiAgLSBJTVBST1ZFOiBhcnRpZmFjdCBvcmlnaW4gaXMgbm90IGluY2x1ZGVkIGluIHRoZSBkZWZhdWx0IHJlcG9ydCAoSVZZLTI1MSkKCiAgLSBGSVg6IFZGUyBSZXNvbHZlIGZhaWxzIHdoZW4gdHJ5aW5nIHRvIHJlc29sdmUgYSArIHZlcnNpb24gKElWWS0yMzcpCiAgLSBGSVg6IHJlcG9ydCBBbnQtdGFzayBkb2Vzbid0IHVzZSBvdXRwdXRwYXR0ZXJuIGZvciBnZW5lcmF0aW5nIGdyYXBobWwgcmVwb3J0cyAoSVZZLTI0NikKICAtIEZJWDogcmVwb3J0IEFudC10YXNrIGRvZXNuJ3QgY2FsbCBpbml0KCkgb24gdGhlIGludGVybmFsIFhTTFRQcm9jZXNzIChJVlktMjQ4KQogIC0gRklYOiB2YWx1ZSBvZiBjb25mbWFwcGluZ292ZXJyaWRlIGZyb20gaW1wb3J0ZWQgY29uZmlndXJhdGlvbnMgaXMgbG9zdCB3aGVuIHdyaXRpbmcgSXZ5IGZpbGUgKElWWS0yMzkpCiAgLSBGSVg6IGluY2x1ZGluZyBjb25maWd1cmF0aW9ucyBkb2Vzbid0IGltcG9ydCB0aGUgY29uZm1hcHBpbmdvdmVycmlkZSBzZXR0aW5nIChJVlktMjM4KQogIC0gRklYOiBOdWxsUG9pbnRlckV4Y2VwdGlvbiB3aGVuIHRoZSBjcmVhdGlvbiBvZiBJdnkgZmlsZSBpbiBjYWNoZSBmYWlscyAoSVZZLTIzNCkKICAtIEZJWDogSXZ5IGZpbGUgY29udGFpbmluZyAyIGRpZmZlcmVudCB2ZXJzaW9ucyBvZiB0aGUgc2FtZSBtb2R1bGUgaXMgbm90IGRlbGl2ZXJkIGNvcnJlY3RseSAoSVZZLTIyOSkKICAtIEZJWDogTW9kdWxlUmV2aXNpb25JZCBlbmNvZGUvZGVjb2RlIGRvZXNuJ3Qgd29yayBpZiByZXZpc2lvbiBpcyBlbXB0eSAoSVZZLTIzMykKICAtIEZJWDogY2FjaGVwYXRoIHRhc2sgc2hvdWxkIHByZXNlcnZlIHRoZSBvcmRlciBvZiB0aGUgZGVwZW5kZW5jaWVzIChJVlktMjI1KQogIC0gRklYOiBzcGVjaWZ5aW5nIGEgZGVmYXVsdGNvbmZtYXBwaW5nIGFkZHMgZGVwZW5kZW5jaWVzIG9mIGVhY2ggdW5saXN0ZWQgY29uZmlndXJhdGlvbiAoSVZZLTIxNCkKCiogdGhhbmtzIHRvIEpvaGFuIFN0dXl0czoKICAtIE5FVzogYWx3YXlzIHVwZGF0ZSBhcnRpZmFjdHMgd2hlbiByZXZpc2lvbiBtYXRjaGVzIGEgcmVnZXggcGF0dGVybiAoSVZZLTE4OSkKICAtIE5FVzogcHJvdmlkZSBBbnQgdGFzayBmb3IgZ2VuZXJhdGluZyByZXBvcnQgYWJvdXQgYXJ0aWZhY3RzIGRlcGVuZGVkIHVwb24gKElWWS0xOTQpCgogIC0gSU1QUk9WRTogY2hhbmdlIGRlZmF1bHQgY2FjaGUgYXJ0aWZhY3QgcGF0dGVybiB0byBoYW5kbGUgbWlzc2luZyBleHRlbnNpb24gKElWWS0xOTYpCgoqIHRoYW5rcyB0byBLYXJsIEJhdW06CiAgLSBORVc6ICJ0aGlzIiBzeW1ib2wgZm9yIGNvbmZpZ3VyYXRpb24gbWFwcGluZ3MgKElWWS0xODMpCgogIC0gSU1QUk9WRTogcGVyZm9ybWFuY2VzIGltcHJvdmVkIChJVlktMTg3KQoKICAgdmVyc2lvbiAxLjMuMSAtIDIwMDYtMDMtMzAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotIEZJWDogcmV0cmlldmFsIG9mIG11bHRpcGxlIGFydGlmYWN0cyBpbiBkaWZmZXJlbnQgY29uZmlndXJhdGlvbnMgZG9lcyBub3Qgd29yayBhcyBleHBlY3RlZCAoSVZZLTE4OCkKLSBGSVg6IGNvbmZpZ3VyYXRpb24gaHR0cCB1cmwgaW5jbHVkZSBkb2Vzbid0IHdvcmsgd2l0aCBjb21tb25zIGh0dHAgY2xpZW50IChJVlktMjAzKQotIEZJWDogcHJvYmxlbSB3aXRoIGNvbmZsaWN0IHJlc29sdXRpb24gaW4gdHJhbnNpdGl2ZSBkZXBlbmRlbmNpZXMgKElWWS0xOTkpCi0gRklYOiBwYiB3aXRoIGZvcmNlIHdoZW4gaXQgY29tZXMgYWZ0ZXIgYSBjb25mbGljdCB3aGljaCBoYXMgYWxyZWFkeSBiZWVuIHNvbHZlZCAoSVZZLTE5MykKLSBGSVg6IFBPTSBmaWxlcyB0aGF0IHJlZmVyZW5jZSB0byB0aGUgcGFyZW50IGFydGlmYWN0IGRvd25sb2FkIGZhaWxzIChJVlktMTk1KSAodGhhbmtzIHRvIFRhdCBMZXVuZykKLSBGSVg6IE0yIGNvbXBhdGliaWxpdHkgZG9lcyBub3QgdGFrZSBpbnRvIGFjY291bnQgdGhlIC4gcmVwbGFjZW1lbnQgZm9yIHB1Ymxpc2hpbmcgYXJ0aWZhY3RzIChJVlktMTkxKSAodGhhbmtzIHRvIFBldGVyIEhheWVzKQotIEZJWDogYXJ0aWZhY3Rwcm9wZXJ0eSBkb2VzIG5vdCBzZXQgdGhlIFtjb25mXSB0b2tlbiBpbiB0aGUgcGF0dGVybiB0byB0aGUgY29ycmVjdCB2YWx1ZS4gSXQgaXMgYWx3YXlzIHNldCB0byAnZGVmYXVsdCcuIChJVlktMTIzKSAodGhhbmtzIHRvIFBldGVyIE94ZW5oYW0pCgogICB2ZXJzaW9uIDEuMyAtIDIwMDYtMDMtMTcKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQpUaGlzIHZlcnNpb24gaXMgdGhlIHNhbWUgYXMgMS4zLVJDMyBwcm9tb3RlZCB0byByZWxlYXNlIHN0YXR1cy4KRm9yIGtub3duIGJ1Z3MgYW5kIGxpbWl0YXRpb25zLCBwbGVhc2UgcmVmZXIgdG8gaHR0cDovL2ppcmEuamF5YXNvZnQub3JnLwoKICAgdmVyc2lvbiAxLjMtUkMzIC0gMjAwNi0wMy0wNgo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0gSU1QUk9WRTogUmV0cmlldmUgdGFzayBub3cgYWxzbyBvcHRpb25hbGx5IGRvIGl2eSBmaWxlIGRvd25sb2FkcyAoSVZZLTE2NykgKHdpdGggdGhlIGNvbnRyaWJ1dGlvbiBvZiBDb3N0aW4gTGVhdSkKCi0gRklYOiBpdnkgdmFyaWFibGUgc3Vic3RpdHV0aW9uIGluIGl2eSBmaWxlcyAoSVZZLTE4NikKLSBGSVg6IGZvcmNlIGF0dHJpYnV0ZSBpcyBub3QgdHJlYXRlZCBhcyBpdCBzaG91bGQgaW4gc29tZSBjYXNlcyAoSVZZLTE4MikKLSBGSVg6IHByb2JsZW0gcmVhZGluZyAnaW52YWxpZCcgUE9NcyAoSVZZLTE1MykKLSBGSVg6IGNyeXB0aWMgTlBFIGR1ZSB0byBzcGVsbGluZyBlcnJvciBpbiBpdnkueG1sIChJVlktMTc3KQotIEZJWDogY29uZmxpY3RzIHdpdGggZHluYW1pYyByZXZpc2lvbnMgbm90IHJlc29sdmVkIHByb3Blcmx5IChJVlktMTgxKQotIEZJWDogaW5jb3JyZWN0IGNvbmZpZ3VyYXRpb24gZGVmaW5pdGlvbiBnaXZlcyBtaXNsZWFkaW5nIE51bGxQb2ludGVyRXhjZXB0aW9uIChJVlktMTc1KQotIEZJWDogdGhyb3cgYW4gZXJyb3Igd2hlbiB1c2luZyBhIG5vbi1leGlzdGluZyBjb25mbGljdCBtYW5hZ2VyIGFzIGRlZmF1bHQgKElWWS0xNzkpICh0aGFua3MgdG8gTWFhcnRlbiBDb2VuZSkKLSBGSVg6IGV2aWN0aW9uIHByb2JsZW0gd2l0aCBkaWZmZXJlbnQgY29uZmxpY3RzIGluIG11bHRpcGxlIGNvbmZzIChJVlktMTczKQoKICAgdmVyc2lvbiAxLjMtUkMyIC0gMjAwNi0wMi0xNQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0gSU1QUk9WRTogaXZ5IG5vdyBzdXBwb3J0cyAke3BvbS52ZXJzaW9ufSBpbiBwb21zIChJVlktMTc0KQotIElNUFJPVkU6IGFkZHMgdGhlIHBvc3NpYmlsaXR5IHRvIGRpc2FibGUgY29uY2lzdGVuY3kgY2hlY2sgKElWWS0xNjMpCi0gSU1QUk9WRTogYWRkIHBvc3NpYmlsaXR5IHRvIGNob29zZSBtYXRjaGVyIG9uIGluY2x1ZGUgZXhjbHVkZSBhbmQgY29uZmxpY3QgbWFuYWdlciBydWxlcyBpbiBpdnkgZmlsZXMsIGFuZCBvbiByZXNvbHZlciBwZXIgbW9kdWxlIGluIGl2eWNvbmYgKElWWS0xNjEpCi0gSU1QUk9WRTogYWRkIHJlZ2V4cCBtYW5hZ2VtZW50IGluIHRoZSBpbnN0YWxsIGFudCB0YXNrIChJVlktMTU0KQoKLSBGSVg6IGh0dGNsaWVudCBpcyBub3QgcmVnaXN0ZXJlZCBmb3IgaHR0cHMgdXJscyAoSVZZLTE3MSkKLSBGSVg6IHBvc3QgcmVzb2x2ZSB0YXNrcyBsaWtlIHJldHJpZXZlIG9yIGNhY2hlcGF0aCBzaG91bGQgYmUgYWJsZSB0byBydW4gZnJvbSBjYWNoZSBpbmZvcm1hdGlvbiAoSVZZLTE2OSkKLSBGSVg6IHJlc29sdmUgZmFpbHMgd2l0aG91dCBhcHByb3ByaWF0ZSBtZXNzYWdlIHdoZW4gY2FjaGUgaXMgZW1wdHkgYW5kIGEgbW9kdWxlIGluIHRoZSByZXBvc2l0b3J5IGhhcyBubyByZXZpc2lvbiAoSVZZLTE2NSkKLSBGSVg6IHJlc29sdmUgcHJvYmxlbSB3aXRoIGNvbmZpZ3VyYXRpb24gaW5oZXJpdGFuY2UgKElWWS0xNjQpCi0gRklYOiBzb21lIGZpbGVzIGluIGNhY2hlIGRldGVjdGVkIGJ5IG5vdCB1c2VkIGJ5IEl2eSBmb3Igc3Vic2VxdWVudCByZXRyaWV2ZXMgKElWWS0xNTkpCi0gRklYOiBIVE1MIHJlcG9ydCBzaG91bGRuJ3QgZGlzcGxheSB0aGUgZGVwZW5kZW5jaWVzIG9mIGV2aWN0ZWQgbW9kdWxlcyAoSVZZLTE1OCkgKHRoYW5rcyB0byBNYWFydGVuIENvZW5lKQotIEZJWDogYnVnIHdoZW4gYW4gb3JnYW5pc2F0aW9uIG9yIG1vZHVsZSBvciByZXZpc2lvbiBjb250YWlucyBhIHNwYWNlIChJVlktMTU3KQotIEZJWDogY29zLW5vbmFtYmlnIHdhcm5pbmdzIChJVlktMTU2KQoKICAgdmVyc2lvbiAxLjMtUkMxIC0gMjAwNi0wMS0yNQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tPiBjb21wYXRpYmxpdHkgd2l0aCBwcmV2aW91cyB2ZXJzaW9uOgotIHRoZSBkZWZhdWx0IHBsYWNlIGZvciB0aGUgY2FjaGUgaGFzIGNoYW5nZWQsIGl0IGlzIG5vdyBpbiB7VVNFUl9IT01FfS8uaXZ5L2NhY2hlLCBpbnN0ZWFkIG9mIHtVU0VSX0hPTUV9Ly5pdnktY2FjaGUKICBwbGVhc2UgbW92ZSB0aGlzIGRpcmVjdG9yeSBpZiB5b3Ugd2FudCB0byBhdm9pZCB1bm5lY2Vzc2FyeSBkb3dubG9hZHMKLSBtb2R1bGVzIGFyZSBub3cgbG9nZ2VkIGFzIHRoZXkgYXJlIGZvdW5kLCBzZXQgaXZ5LmxvZy5tb2R1bGUud2hlbi5mb3VuZCB2YXJpYWJsZSB0byBmYWxzZSB0byBhdm9pZCB0aGlzCgotIE5FVzogbmFtZXNwYWNlIHN5c3RlbTogYSByZXNvbHZlciBjYW4gYmUgZGVjbGFyZWQgdG8gYmVsb25nIHRvIGEgbmFtZXNwYWNlLCB3aGljaCBpdHNlbGYKICAgICAgIHNwZWNpZnkgdGhlIHRyYW5zZm9ybWF0aW9uIHRvIGFwcGx5IHRvIGNvbnZlcnQgaXQgZnJvbSBhbmQgdG8gc3lzdGVtIG5hbWVzcGFjZSAoSVZZLTE0NykKLSBORVc6IHBsdWdnYWJsZSBtb2R1bGUgZGVzY3JpcHRvciBwYXJzZXJzIGxldCBkZWZpbmUgbmV3IGtpbmQgb2YgbW9kdWxlIGRlc2NyaXB0b3IgKElWWS0xNDYpICh0aGFua3MgdG8gTWFhcnRlbiBDb2VuZSkKLSBORVc6IGEgbmV3IGluc3RhbGwgdGFzayBsZXQgYWRkIG1vZHVsZXMgZm91bmQgaW4gYSByZXBvc2l0b3J5IGluIGFub3RoZXIgb25lLCBldmVuIHRyYW5zaXRpdmVseSAoSVZZLTE0MSkKLSBORVc6IG1hdmVuMiBwb20gY29tcGF0aWJpbGl0eTogbW9zdCByZXNvbHZlcnMgYXJlIG5vdyBhYmxlIHRvIGhhbmRsZSBtMiBwb20gYXMgcHJvamVjdCBtZXRhZGF0YQogICAgICAgYW5kIHRoZXJlIGlzIGEgbmV3IGNvbnZlcnRwb20gdGFzayBhYmxlIHRvIGNvbnZlcnQgYSBwb20gZmlsZSB0byBhbiBpdnkgZmlsZSAoSVZZLTE0MCkKLSBORVc6IGluY2x1ZGUgY29uZmlndXJhdGlvbnMgZnJvbSBleHRlcm5hbCBmaWxlIChJVlktODgpCi0gTkVXOiBhIG5ldyBkZWZhdWx0IHJlc29sdmVyIHdoaWNoIGxldCBvdmVycmlkZSBpdnkgZmlsZXMgYW5kIGFydGlmYWN0cyBmb3VuZCBvbiBwdWJsaWMgcmVwb3NpdG9yeQogICAgICAgKGl2eXJlcCAvIGliaWJsaW8pIGFuZCBsZXQgcHVibGlzaCBtb2R1bGVzIGluIGEgbG9jYWwgcmVwb3NpdG9yeSAoSVZZLTEzMikKLSBORVc6IGl2eWNvbmYgZmlsZSBpbmNsdXNpb24gaW4gaXZ5Y29uZiBmaWxlcyAoSVZZLTk5KQotIE5FVzogbWFjcm9kZWYgZmVhdHVyZSBpbiBpdnljb25mIGZvciBkZWZpbmluZyBtYWNybyByZXNvbHZlcnMgd2l0aCBwYXJhbWV0ZXJzIChJVlktOTgpCi0gTkVXOiBjb25mIGZhbGxiYWNrIG1lY2hhbmlzbSAoSVZZLTE0NSkKLSBORVc6IGV4Y2x1c2lvbiBub3cgbGV0IGV4Y2x1ZGUgd2hvbGUgbW9kdWxlcyAoSVZZLTE0NCkKLSBORVc6IGFiaWxpdHkgdG8gdXNlIGEgZGVwZW5kZW5jeSBpbnN0ZWFkIG9mIGFuIGl2eSBmaWxlIGluIHN0YW5kYWxvbmUgbW9kZSAoSVZZLTk2KQotIE5FVzogYWJpbGl0eSB0byBvdXRwdXQgYSBwYXRoIG9mIGRlcGVuZGVuY2llcyBpbiBjYWNoZSBmcm9tIHRoZSBzdGFuZGFsb25lIG1vZGUgKElWWS05MikKLSBORVc6IGl0IGlzIG5vdyBwb3NzaWJsZSB0byByZWZlcmVuY2UgZXhpc3RpbmcgcmVzb2x2ZXIgaW4gcmVzb2x2ZXIgY29udGFpbmVycyAoSVZZLTM1KQotIE5FVzogb3ZlcndyaXRlIGF0dHJpYnV0ZSBpbiB0aGUgcHVibGlzaCB0YXNrIG5vdyBsZXQgZm9yY2Ugb3ZlcndyaXRlIG9mIHJlYWQgb25seSBmaWxlcyAoSVZZLTgzKSAKLSBORVc6IGFkZCBhIGNvbmZsaWN0IG1hbmFnZXIgKCJzdHJpY3QiKSBtYWtpbmcgYnVpbGQgZmFpbCB3aGVuIGEgZGlhbW9uZCBjb25mbGljdCBpcyBmb3VuZCAodGhhbmtzIHRvIENocmlzdGVyIEpvbnNzb24pIChJVlktMTE4KSAKCi0gSU1QUk9WRTogZ2VuZXJhdGUgeG1sIHJlcG9ydCB1c2luZyBpdnk6cmVwb3J0IHRhc2sgKElWWS0xNDMpCi0gSU1QUk9WRTogcG9zc2liaWxpdHkgdG8gY29uZmlndXJlIGl2eSBzbyB0aGF0IHNwZWNpYWwgcmV2aXNpb25zIGFyZSBub3QgcXVlcmllZCBhcyBmaXhlZCBvbmUgYXQgYWxsIChJVlktMTM5KQotIElNUFJPVkU6IGJldHRlciB1cmwgcXVlcnlpbmcgbWFuYWdlbWVudCAoSVZZLTEzOCkgKHRoYW5rcyB0byBCZXJuYXJkIE5pc2V0KQotIElNUFJPVkU6IGRvIG5vdCBhZGQgcmVzb2x2ZXIgaW5mbyBpbiBpdnkgZmlsZXMgaW4gY2FjaGUgc28gdGhhdCB0aGV5IGNhbiBiZSBzYWZlbHkgdXNlZCBhcyB1c3VhbCBpdnkgZmlsZXMgaW4gYSByZXBvc2l0b3J5IChJVlktMTM3KQotIElNUFJPVkU6IHJldmlldyBkZWZhdWx0IGNvbmYgbWFwcGluZyBtYW5hZ2VtZW50IChJVlktMTM0KQotIElNUFJPVkU6IGFkZCBwb3NzaWJpbGl0eSBmb3IgYSBjaGFpbiB0byBiZWhhdmUgbGlrZSBhIGR1YWwgY2hhaW4gKElWWS0xMzEpCi0gSU1QUk9WRTogYWRkIHBvc3NpYmlsaXR5IHRvIGF2b2lkIG92ZXJ3cml0ZSBvZiBhbiBpdnkgdmFyaWFibGUgd2hlbiBzZXR0aW5nIHRoZW0gaW4gaXZ5Y29uZi54bWwgKElWWS0xMjcpCi0gSU1QUk9WRTogYWJpbGl0eSB0byBleGNsdWRlIHRoZSByb290IHByb2plY3QgZnJvbSB0aGUgYnVpbGRsaXN0ICh0aGFua3MgdG8gQ29uc3RhbnRpbmUgVmV0b3NoZXYpIChJVlktMTI0KQotIElNUFJPVkU6IGV4Y2x1c2lvbiBvZiBhcnRpZmFjdHMgbm93IHdvcmtzIG9uIHRyYW5zaXRpdmUgYXJ0aWZhY3RzLCBhbmQgZXhjbHVzaW9uIGNhbiBzcGVjaWZ5IG9yZ2FuaXNhdGlvbiBhbmQvb3IgbW9kdWxlIChJVlktMTE2KQotIElNUFJPVkU6IG5vdyBkeW5hbWljIHJldmlzaW9ucyByZXBsYWNlbWVudCBieSBkZWxpdmVyIHRhc2sgY2FuIGJlIHR1cm5lZCBvZmYgKElWWS0xMjApCi0gSU1QUk9WRTogYmV0dGVyIHBlcmZvcm1hbmNlIHdpdGggZGVlcCB0cmFuc2l0aXZlIGRlcGVuZGVuY2llcwotIElNUFJPVkU6IGFsbG93IG9wdGlvbmFsIHBhcnRzIGluIHRoZSBwYXR0ZXJucyAoSVZZLTEwMikgKHRoYW5rcyB0byBNYWFydGVuIENvZW5lKQotIElNUFJPVkU6IGFiaWxpdHkgdG8gZGVmaW5lIHZhcmlhYmxlIGRpcmVjdGx5IGluIGl2eWNvbmYueG1sIChJVlktMTAwKQotIElNUFJPVkU6IGFiaWxpdHkgdG8gdXNlIG5vIHJldmlzaW9uIGluIHBhdHRlcm4gd2l0aCBsYXRlc3QuaW50ZWdyYXRpb24gZGVwZW5kZW5jeSwgYXJ0aWZhY3RzIGJlaW5nIHVwZGF0ZWQgYWNjb3JkaW5nIHRvIHJldmlzaW9uIGNoYW5nZSBpbiBpdnkgZmlsZSAoaWYgY2hlY2ttb2RpZmllZCBpcyBzZXQgdG8gdHJ1ZSkgKElWWS05NSkKLSBJTVBST1ZFOiBhYmlsaXR5IHRvIHNwZWNpZnkgYSByb290IG1vZHVsZSBpbiBidWlsZGxpc3QgdG8gZmlsdGVyIG91dCB1bm5lY2Vzc2FyeSBidWlsZCBmaWxlcyAoSVZZLTkzKSAodGhhbmtzIHRvIEtyaXN0aWFuIENpYnVsc2tpcykKLSBJTVBST1ZFOiBpbXBvcnQgc3lzdGVtIHByb3BlcnRpZXMgYXMgaXZ5IHZhcmlhYmxlcyBpbiBzdGFuZGFsb25lIG1vZGUKLSBJTVBST1ZFOiBzdHJpbmcgaWRlbnRpZnlpbmcgYSBtb2R1bGUgaXMgbm93IGNsZWFybHkgZGlmZmVyZW50IGZyb20gYSBwYXRoCi0gSU1QUk9WRTogYmV0dGVyIGVycm9yIG1lc3NhZ2Ugd2hlbiBwdWJsaXNoIGZhaWxzIGR1ZSB0byByZWFkb25seSBkZXN0aW5hdGlvbiAoSVZZLTgzKQotIElNUFJPVkU6IHNvbWUgamF2YWRvYyBpbXByb3ZlbWVudHMgKElWWS0xMzYgSVZZLTEyOSkgKHRoYW5rcyB0byBTdGVwaGVuIE5lc2JpdHQpCgotIEZJWDogcHJvYmxlbSByZXNvbHZpbmcgZGVwZW5kZW5jaWVzIHdoZW4gMiBtb2R1bGUgdmVyc2lvbnMgaGF2ZSBkaWZmZXJlbnQgY29uZmlndXJhdGlvbnMgKElWWS0xNTEpCi0gRklYOiBwcm9ibGVtIHdpdGggaW5oZXJpdGFuY2UgYmV0d2VlbiBwdWJsaWMgYW5kIHByaXZhdGUgY29uZiAoSVZZLTE0OSkKLSBGSVg6IG5vIHZhcmlhYmxlIHJlcGxhY2VtZW50IGR1cmluZyB0aGUgZGVsaXZlciBzdGVwIChJVlktMTMzKQotIEZJWDogY29uZmxpY3QgYmFkbHkgc29sdmVkIGluIHNvbWUgY29tcGxleCBjYXNlcyAoSVZZLTEzMCkKLSBGSVg6IG1hcHBpbmcgb24gY29uZiAqIG5vdyBvbmx5IHRha2VzIHB1YmxpYyBjb25maWd1cmF0aW9ucyAoSVZZLTEyNikKLSBGSVg6IGJhZCBkZXBlbmRlbmN5IGl2eSBmaWxlcyBub3cgY2F1c2VzIGZhaWx1cmUgKElWWS0xMTIpCi0gRklYOiBzdGFjayBvdmVyZmxvdyBlcnJvciBpbiBjb250cmFkaWN0b3J5IGNvbmZsaWN0IGNhc2VzIChJVlktMTE3KQotIEZJWDogcHVibGlzaCBub3cgZG9lc24ndCBjYWxsIGRlbGl2ZXIgd2hlbiBub3QgbmVjZXNzYXJ5IChJVlktMTE5KQotIEZJWDogY2FjaGVmaWxlc2V0IHdhcyByZXR1cm5pbmcgYWxsIGFydGlmYWN0cyBmb3IgZW1wdHkgY29uZmlndXJhdGlvbiAoSVZZLTEwOCkKLSBGSVg6IHRyYW5zaXRpdmUgYW5kIGNoYW5naW5nIGF0dHJpYnV0ZSB3ZXJlIG5vdCBjb3BpZWQgaW4gaXZ5IGZpbGVzIGluIGNhY2hlIChJVlktOTQpCi0gRklYOiBjaGFpbiByZXNvbHZlciBub3cgc3VwcG9ydCBsYXRlc3Qgc3RyYXRlZ3kgY29uZmlndXJhdGlvbiAoSVZZLTkwKQotIEZJWDogcmFpc2UgYSBjbGVhbiBlcnJvciB3aGVuIGEgY3ljbGljIHZhcmlhYmxlIGRlZmluaXRpb24gaXMgZm91bmQgKElWWS03NSkKLSBGSVg6IGNsZWFuIGFudCBwcm9qZWN0IHJlZmVyZW5jZSBhdCB0aGUgZW5kIG9mIHRoZSBidWlsZCB0byBpbXByb3ZlIHVzYWJpbGl0eSBpbiBpZGUgbGF1bmNoaW5nIG11bHRpcGxlIGJ1aWxkcyBpbiB0aGUgc2FtZSB2bSAobGlrZSBuZXRiZWFucykgKElWWS04NyAtIElWWS0xMTUpCi0gRklYOiBpdnkgaXMgbm93IGFibGUgdG8gdXNlIHNpbXBsZSBpdnkgZmlsZXMgaW4gY2FjaGUgKGRvZXNuJ3QgbmVlZCByZXNvbHZlciBpbmZvLCB1c2UgZGVmYXVsdCBvbmUgaWYgbm8gcmVzb2x2ZXIgaXMgZ2l2ZW4pIChJVlktODYpCi0gRklYOiBwcml2YXRlIGNvbmYgbm90IGFjY2Vzc2libGUgZnJvbSBvdGhlciBtb2R1bGVzIChJVlktNzYpCi0gRklYOiByb290IG1vZHVsZSBjb25maWd1cmF0aW9ucyBpc29sYXRpb24gYnVnIGZpeGVkIChJVlktODQpCi0gRklYOiBjaGFuZ2VkIHRoZSBwbGFjZSB3aGVyZSBpdnkgc3RvcmVzIG1hc3RlciBpdnkgZmlsZXMgaW4gY2FjaGUgdG8gbm90IG92ZXJsYXAKICAgICAgIHdpdGggZGVwZW5kZW5jaWVzIG9uZSAoSVZZLTg1KQotIEZJWDogYnVnIGluIFJlc291cmNlSGVscGVyIGRpZG4ndCBsZXQgb3ZlcnJpZGUgcmVzb3VyY2UgZWFzaWx5IChJVlktODApCi0gRklYOiB0aHJvd3MgYSBjaXJjdWxhciBkZXBlbmRlbmN5IGV4Y2VwdGlvbiB3aGVuIGEgY2lyY3VsYXIgZGVwZW5kZW5jeSBpcyBmb3VuZCAKICAgICAgIGluc3RlYWQgb2YgZmFpbGluZyBzaWxlbnRseSAoSVZZLTc5KQoKICAgdmVyc2lvbiAxLjJhIC0gMjAwNS0wOS0xNAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ck5vdGUgOiB2ZXJzaW9uIDEuMiBwcmV2aW91c2x5IHB1Ymxpc2hlZCBvbiBpdnkgc2l0ZSB3YXMgbm90IHRoZSByZWFsIDEuMiBkdWUgdG8gYSBiYWQgcmVsZWFzZSBvcGVyYXRpb24KICAgICAgIHZlcnNpb24gMS4yYSBzaG91bGQgdGhlbiBiZSB1c2VkIGluc3RlYWQKICAgICAgIAotIG5ldyBpdnkuZGVwcy5jaGFuZ2VkIHByb3BlcnR5IHNldCBpZiB0aGVyZSBhcmUgY2hhbmdlcyBzaW5jZSBsYXN0IHJlc29sdmUgKElWWS03MSkKLSBuZXcgYnVpbGRsaXN0IHRhc2s6IGNhbGN1bGF0ZSBvcmRlciBvZiBkZXBlbmRlbmNpZXMgb2Ygc3VicHJvamVjdHMgZm9yIGVhc3kgbXVsdGktcHJvamVjdHMgYnVpbGRzIChJVlktNjkpCi0gYWNjZXB0IG9yZ2FuaXphdGlvbiBhcyB0b2tlbiAoSVZZLTU1KQotIGFkZGVkIHR5cGUgZmlsdGVyaW5nIG1lY2hhbmlzbSBvbiByZXNvbHZlIHRhc2sgKElWWS00NSkKLSBkZXRlY3QgYW5kIHdhcm4gYWJvdXQgcmVzb2x2ZXIgdXNpbmcgaXZ5IGNhY2hlIGFzIHJlcG9zaXRvcnkgKElWWS01MykKLSBuZXcgdHJhbnNpdGl2ZSBhdHRyaWJ1dGUgb24gZGVwZW5kZW5jeSwgd2hpY2ggZW5hYmxlIHRvIGRpc2FibGUgdHJhbnNpdGl2ZSBkZXBlbmRlbmN5CiAgbWFuYWdlbWVudCBvbiBhIHBhcnRpY3VsYXIgZGVwZW5kZW5jeSAodGhhbmtzIHRvIEluZ28gQWRsZXIpIChJVlktMjApCi0gbmV3ICdAJyBpbiBkZXBlbmRlbmN5IGNvbmZpZ3VyYXRpb24gbWFwcGluZyBkZWNsYXJhdGlvbiwgdXNlZCB0byBpbmRpY2F0ZSB0aGF0IGEgY29uZmlndXJhdGlvbiBtYXBzIHRvIGl0c2VsZgogIHVzZWZ1bCB3aXRoICosICcqLT5AJyBtZWFuaW5nIHRoYXQgYWxsIGNvbmZpZ3VyYXRpb25zIG9mIHRoZSBtb2R1bGUgbWFwcyB0byB0aGVpciBlcXVpdmFsZW50IChzYW1lIG5hbWUpCiAgaW4gdGhlIGRlcGVuZGVuY3kgKElWWS01MikKLSBuZXcgY2hhbmdpbmcgYXR0cmlidXRlIG9uIGRlcGVuZGVuY2llcyBpbmRpY2F0ZSB0aGF0IHRoZSBkZXBlbmRlbmN5IGFydGlmYWN0cwogIG1heSBjaGFuZ2UgZXZlbiB3aXRob3V0IHJldmlzaW9uIGNoYW5nZSwgYnV0IHdpdGggb25seSBhIG5ldyBpdnkgZmlsZSB3aXRoIG5ldyAKICBwdWJsaWNhdGlvbiBkYXRlCi0gbmV3IHVzZVJlbW90ZUNvbmZpZyBvbiBjb25mIHRhZyBpbiBpdnljb25mLnhtbCwgdGVsbHMgdG8gdXNlIHJlbW90ZSBjb25maWd1cmF0aW9uIGZpbGUKICBmb3IgcmVwb3NpdG9yeSBjb25maWcKLSBuZXcgdHlwZSBmaWx0ZXJpbmcgaW4gY2FjaGVwYXRoIHRhc2sKLSBuZXcgY2FjaGVmaWxlc2V0IHRhc2s6IGJ1aWxkcyBhbiBhbnQgZmlsZXNldCBvZiBhcnRpZmFjdHMgaW4gY2FjaGUKLSBwdWJsaXNoIHRhc2sgbm93IHVzZXMgc3JjaXZ5cGF0dGVybiBmb3IgaXZ5IGZpbGVzIGZpbmRpbmcgYW5kIGZvciBkZWxpdmVyeQotIGJldHRlciBkZWJ1ZyBhbmQgZXJyb3IgbWVzc2FnZXMgKElWWS02MCBJVlktNjEpCi0gYWRkZWQgYSBqYXZhZG9jIHRhcmdldCBpbiBhbnQgYnVpbGQgKHRoYW5rcyB0byBqb3NodWEgbmljaG9scykKLSBGSVg6IG1vZHVsZSBkZXNjcmlwdG9ycyBzb3J0IHdhcyBmYWlsaW5nIGluIHNvbWUgY2FzZSBjYXNlcyAoZml4IGJ5IEthcmwgQmF1bSkKLSBGSVg6IEl2eSBjb21wbGFpbnMgYWJvdXQgc2NoZW1hIGRpcmVjdGl2ZSAoSVZZLTY0KQotIEZJWDogJ251bGwnIHN0YXR1cyBhdHRyaWJ1dGUgaW4gbW9kdWxlIGRlc2NyaXB0b3IgKElWWS02MikKLSBGSVg6IHJlcG9ydCBoZWFkZXIgY29udGFpbnMgaW5jb3JyZWN0IGxpbmsgYWZ0ZXIgcmVzb2x2ZSBmb3IgbXVsdGlwbGUsIGNvbW1hLXNlcGFyYXRlZCBjb25maWd1cmF0aW9ucyAoSVZZLTU3KQotIEZJWDogZXJyb3IgcmV0cmlldmluZyBkZXBlbmRlbmNpZXMgd2l0aCBhICcrJyBpbiB0aGVpciByZXZpc2lvbiBpZiB0aGUgaXZ5IGZpbGUgZG9lc24ndCBleGlzdCAtIGZpeGVkIGJ5IG1hYXJ0ZW4gY29lbmUgKElWWS01OSkKLSBGSVg6IHRyeWluZyB0byByZXNvbHZlIGxhdGVzdCB3aXRoIG5vIHJldmlzaW9uIGluIHBhdHRlcm4gY2F1c2VkIGEgU3RhY2tPdmVyZmxvd0Vycm9yIChJVlktNTYpCi0gRklYOiBub3cgaGFuZGxlIHRyYW5zaXRpdmUgZXZpY3Rpb24gKElWWS01MSkKLSBGSVg6IHJlc29sdmUgbm93IHN0b3JlIHJlc29sdmVkIGZpbGUgaWQgaW4gaXZ5IHZhcmlhYmxlcywgc28gdGhhdCBtdWx0aXBsZSByZXNvbHZlIGNhbGxzCiAgY2FuIGJlIGZvbGxvd2VkIGJ5IG11bHRpcGxlIHJldHJpZXZlLCBlYWNoIHJldHJpZXZlIHdpbGwgdXNlIHRoZSBsYXN0IHJlc29sdmUgaW5mbyAoSVZZLTQ5KQotIEZJWDogSWxsZWdhbFN0YXRlRXhjZXB0aW9uIG9uIHJldHJpZXZlIGRvbmUgZnJvbSBjb21tYW5kIGxpbmUKLSBGSVg6IGNoZWNrcyBpdnkgZmlsZXMgZGF0YSBjb25zaXN0ZW5jeSB3aXRoIGFza2VkIGluZm8gKG9yZywgbW9kdWxlIG5hbWUgYW5kIHJldmlzaW9uKQotIEZJWDogdXNlIEFVVEggY29uZmlndXJhdGlvbiBmb3IgY29uZmlndXJhdGlvbiBmaWxlCi0gSU1QUk9WRTogYWRkZWQgcHVibGlzaCBoYW5kbGluZyBmcm9tIGNvbW1hbmQgbGluZSAoSVZZLTQ4KSAKCiAgIHZlcnNpb24gMS4xIC0gMjAwNS0wNi0xMwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0gcmVtb3RlIGNvbmZpZ3VyYXRpb24gKGlmIGF2YWlsYWJsZSkgb2YgaXZ5cmVwIGFuZCBpYmlibGlvIHBhdHRlcm5zIGFuZCByb290cwotIG5ldyBkZXRhaWxlZCBtZXNzYWdlcyB3aGVuIGl2eSBmYWlscyB0byByZWFjaCBhbiB1cmwgKHRoYW5rcyB0byBOaWNvbGFzKQotIG5ldyBhcnRpZmFjdHByb3BlcnR5IHRhc2ssIHdoaWNoIGVuYWJsZXMgdG8gc2V0IGEgcHJvcGVydHkgZm9yIGVhY2ggZGVwZW5kZW5jeSBhcnRpZmFjdHMKICByZXNvbHZlZCBieSBpdnkKLSBuZXcgZGVmYXVsdGNvbmYgYXR0cmlidXRlIGluIGl2eSBmaWxlIGRlcGVuZGVuY2llcywgdG8gY2hhbmdlIHRoZSBkZWZhdWx0IGNvbmYgdG8gdXNlIGluIHRoZSBmaWxlCiAgd2hlbiBubyBjb25mIGlzIHNwZWNpZmllZCBmb3IgYSBkZXBlbmRlbmN5Ci0gYWRkIHRoZSBhYmlsaXR5IHRvIGNoYW5nZSB0aGUgeHNsIGZpbGUgYW5kIHJlcG9ydCBuYW1lIHBhdHRlcm4gdXNlZCBieSByZXBvcnQgdGFzawotIGh0dHAgbGlzdGluZyBub3cgY29tcGF0aWJsZSB3aXRoIHRvbWNhdCBsaXN0aW5nICh0ZXN0ZWQgd2l0aCA1LjAuMjgpCi0gcHViIHJldmlzaW9uIGluIGRlbGl2ZXIgdGFzayBub3cgZGVmYXVsdHMgdG8gdGltZXN0YW1wIGlmIG5vdCBwcm92aWRlZCBieSBhbnkgb3RoZXIgd2F5Ci0gZGVidWcgbWVzc2FnZXMgaW1wcm92ZW1lbnRzLCB3aXRoIGNvbmZpZ3VyYXRpb24gZHVtcCBhbW9uZyBvdGhlcnMKLSBuZXcgdmFyIHRhc2ssIGVuYWJsZXMgdG8gc2V0IGl2eSB2YXJpYWJsZXMgZnJvbSBhbnQKLSBub3cgZGVmYXVsdHMgZm9yIGl2eXJlcCBhbmQgaWJpYmxpbyByZXNvbHZlciBhcmUgY29uZmlndXJhYmxlIGJ5IHZhcmlhYmxlcwotIHJlZmFjdG9yaW5nOiBpbnRyb2R1Y2UgdGhlIG5vdGlvbiBvZiBCYXNpY1Jlc29sdmVyLCBSZXBvc2l0b3J5LCBSZXNvdXJjZSwgUmVwb3NpdG9yeVJlc29sdmVyLAogIG1ha2luZyBtdWNoIGVhc2llciB0aGUgdGFzayBvZiB3cml0aW5nIGJhc2ljIHJlc29sdmVycwotIGFkZGVkIGNoZWNrbW9kaWZpZWQgYXR0cmlidXRlIG9uIGFsbCBiYXNpYyByZXNvbHZlcnMsIHdoaWNoIGRlZmF1bHRzIHRvICR7aXZ5LnJlc29sdmVyLmRlZmF1bHQuY2hlY2subW9kaWZpZWR9CiAgVGhpcyBtYWtlcyBpdnkgY2hlY2sgbGFzdCBtb2RpZmllZCBkYXRlIG9mIGl2eSBmaWxlcyB0byBzZWUgaXQgaXRzIGNhY2hlIGlzIHVwIHRvIGRhdGUKLSBhcnRpZmFjdHMgZG93bmxvYWQgYXJlIG5vdyBmaXJzdCBtYWRlIHRvIGEgdGVtcCBmaWxlLCB3aGljaCBpcyByZW5hbWVkCiAgb25seSBhdCB0aGUgZW5kIG9mIHRoZSBkb3dubG9hZC4gVGhpcyBwcmV2ZW50IGludGVycnVwdGVkIGRvd25sb2FkcyB0byBiZQogIGNvbnNpZGVyZWQgYXMgZmluaXNoZWQKLSBGSVg6IGhhbmRsZSBwcm94eSBjb25maWd1cmF0aW9uIHdpdGggaHR0cC1jbGllbnQgKHRoYW5rcyB0byBOaWNvbGFzKQotIEZJWDogcmVtb3ZlIGRlcGVuZGVuY3kgb24gYW50IG91dHNpZGUgb2YgYW50IGludGVncmF0aW9uIGNsYXNzZXMKLSBGSVg6IHJlc29sdmUgcHJvYmxlbSB3aGVuIGNvbmZsaWN0cyBvbiBsYXRlc3QgcmV2aXNpb25zIAotIEZJWDogYWxsb3cgdXNlIG9mIGFueSBraW5kIG9mIFVSTCBpbiBJdnlSZXBSZXNvbHZlciAoYm90aCBpdnlyb290IGFuZCBhcnRyb290KSBhbmQgSUJpYmlibGlvUmVzb2x2ZXIKLSBGSVg6IGNoYWluIHJlc29sdmVyIGNhbiBub3cgYmUgdXNlZCBmb3IgYXJ0aWZhY3RzIHBhcnQgb2YgZHVhbCByZXNvbHZlcgotIEZJWDogbm93IGRldGVjdHMgYW5kIHdhcm4gYWJvdXQgY2lyY3VsYXIgZGVwZW5kZW5jaWVzCi0gRklYOiBjYWNoZXBhdGggdGFzayBub3cgdGFrZXMgcGF0aGlkIGFzIHBhcmFtZXRlciBpbnN0ZWFkIG9mIGlkLCB0byBwcmV2ZW50CiAgc3BlY2lhbCBoYW5kbGluZyBmcm9tIGFudAotIEZJWDogaXZ5LnhzZDogc2V0IGFydGlmYWN0IG1pbk9jY3VycyB0byAwIGluIHB1YmxpY2F0aW9ucwoKVGhhbmtzIHRvIEpvaG4gU2hpZWxkcyBmcm9tIFJvYmVydCBIYWxmIEludGVybmF0aW9uYWwsIEluYy46Ci0gRklYOiBubyBtb3JlIGluZmluaXRlIGxvb3Agd2hlbiBhIGNvbmZsaWN0IG9jY3VycyBiZXR3ZWVuIGEgbGF0ZXN0IHN1YnZlcnNpb24gYW5kIGEgZnVsbHkgcmVzb2x2ZWQgcmV2aXNpb24KLSBGSVg6IEJhc2ljVVJMSGFuZGxlciBub3cgY2xvc2VzIGl0cyBjb25uZWN0aW9ucwotIEZJWDogQXBhY2hlVVJMTGlzdGVyIG5vdyB3b3JrcyB3aXRoIGNhcGl0YWwgbGV0dGVyIGluIHJldmlzaW9ucyBhbmQgdHJ1bmNhdGVkIG5hbWVzCi0gbm93IHVzZSBvZiBpdnkgdmFyaWFibGVzIGlzIGFsbG93ZWQgaW4gaXZ5IGZpbGVzCi0gYWRkZWQgYSBudWxsIGNoZWNrIGluIHBhdHRlcm4gaGVscGVyIHN1YnN0aXR1dGUKCiAgIHZlcnNpb24gMS4wIC0gMjAwNS0wNC0yNgo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CjEuMC1yYzMgaGFzIGJlZW4gcHJvbW90ZWQgdG8gMS4wIG9uIDIwMDUtMDQtMjYKCktub3duIGJ1Z3MgYW5kIGxpbWl0YXRpb25zOgotIGN5Y2xpYyBkZXBlbmRlbmNpZXMgcmVzdWx0IGluIFN0YWNrT3ZlcmZsb3dFcnJvcgotIGluZmluaXRlIGxvb3AgaW4gcmFyZSBjYXNlcyB3aGVuIGEgY29uZmxpY3Qgb2NjdXIgYmV0d2VlbiBhIGxhdGVzdCBzdWJ2ZXJzaW9uIGFuZCBhIGZ1bGx5IHJlc29sdmVkIHJldmlzaW9uCi0gdXJsIGNvbm5lY3Rpb25zIG5vdCBjbG9zZWQgcHJvcGVybHkgd2hlbiBub3QgdXNpbmcgY29tbW9ucy1odHRwY2xpZW50Ci0gbGF0ZXN0IGRvZXMgbm90IHdvcmsgd2l0aCBodHRwIHVybHMgaW4gc29tZSBjYXNlcywgd2hlbiB0aGUgbmFtZSBvZiB0aGUgbGluayBpcyB0cnVuY2F0ZWQgaW4gdGhlIHdlYiBwYWdlCgogICB2ZXJzaW9uIDEuMC1yYzMgLSAyMDA1LTA0LTIxCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLSBJTVBST1ZFOiBhZGRlZCBkZWJ1ZyBtZXNzYWdlcyBvbiB2YXJpYWJsZXMgc2V0dGluZwotIEZJWDogaXZ5Y29uZiBub3cgYWJsZSB0byBsb2FkIGEgcHJvcGVydGllcyBmaWxlIGdpdmVuIGFzIHVybAotIEZJWDogZGVsaXZlciBwdWIgZGF0ZSBub3cgYWN0dWFsbHkgZGVmYXVsdHMgdG8gJ25vdycKLSBGSVg6IGFsbCB0YXNrcyBhdHRyaWJ1dGVzIG5vdyBzdWJzdGl0dXRlIGl2eSB2YXJpYWJsZXMKCiAgIHZlcnNpb24gMS4wLXJjMiAtIDIwMDUtMDQtMTgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotIElNUFJPVkU6IGltcHJvdmVkIG1lc3NhZ2VzOiBtb3JlIGRlYnVnLCBtb3JlIHZlcmJvc2UsIGFuZCBtb3JlIGRldGFpbHMgb24gZmFpbHVyZXMKLSBGSVg6IGJ1ZyB3aXRoICdcJyBpbiBwYXRoIHBhdHRlcm5zCi0gRklYOiBidWcgd2l0aCByZWxhdGl2ZSBwYXRocyBwYXR0ZXJucwotIEZJWDogY29uZmlndXJlIHRhc2sgdHJpZXMgaXZ5LmNvbmYuZmlsZSBhcyByZWxhdGl2ZSB0byBiYXNlIGRpciBhbmQgdG8gY3VycmVudCBkaXIKLSBGSVg6IGZpbGUgc3lzdGVtIHJlc29sdmVyIHB1Ymxpc2hlcyBpdnkgZmlsZXMgd2l0aCBpdnkgcGF0dGVybgotIEZJWDogMCBjb250ZW50IGxlbmd0aCBjb25zaWRlcmVkIGFzIG5vbiBleGlzdGluZyAoYmVoYXZpb3VyIG9mIGpyZSA1LjAgb24gbGludXgpIAogICAgICAgPT4gZW1wdHkgcmVzc291cmNlcyBhcmUgbm93IGNvbnNpZGVyZWQgYXMgbm9uIGV4aXN0aW5nCgogICB2ZXJzaW9uIDEuMC1yYzEgLSAyMDA1LTA0LTEyCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLSBhZGQgcmVwb3J0IHRhc2ssIHdoaWNoIGVuYWJsZXMgdG8gZ2VuZXJhdGVzIHJlcG9ydHMgb2YgZGVwZW5kZW5jaWVzLCBpbmNsdWRpbmcgYSBncmFwaAogIHJlYWR5IHRvIGJlIGxheWVkIG91dCBieSB5RWQKLSBhZGQgZXhjbHVkZSBmZWF0dXJlIGluIGRlcGVuZGVuY3kKLSBpbmNsdWRlIGV4Y2x1ZGUgZmVhdHVyZSBub3cgaGFuZGxlcyByZWdleHBzCi0gbmV3IGxhdGVzdCBzdHJhdGVneTogbGF0ZXN0IHJldmlzaW9uIG5vdyB1c2VzIGEgInBocCB2ZXJzaW9uX2NvbXBhcmUiIGxpa2UgYWxnb3JpdGhtLCB3aGVyZWFzCiAgbGV4aWNvZ3JhcGhpYyBjb21wYXJpc29uIGlzIG5vdyBhdmFpbGFibGUgaW4gbGF0ZXN0IGxleGljb2dyYXBoaWMKLSBlbmhhbmNlIHhtbCByZXNvbHZlIHJlcG9ydCBkZXRhaWxzCi0gRklYOiBiZXR0ZXIgc2VwYXJhdGlvbiBiZXR3ZWVuIHJvb3QgY29uZmlndXJhdGlvbnMKLSBGSVg6IFhtbE1vZHVsZURlc2NyaXB0b3JVcGRhdGVyIG5vdyBwcmVzZXJ2ZXMgeG1sIGhlYWRlcgotIEZJWDogbW9kdWxlcyBudW1iZXIgaW4gcmVwb3J0IChkaXNwbGF5ZWQgYXQgdGhlIGVuZCBvZiByZXNvbHZlKQoKICAgdmVyc2lvbiAwLjkgLSAyMDA1LTA0LTA2Cj09PT09PT09PT09PT09PT09PT09PT09PT09PQotIGNsZWFybHkgZGlmZmVyZW5jaWF0ZSBwYXR0ZXJuIHRva2VucyBmcm9tIHZhcmlhYmxlcywgYnkgdXNpbmcgYnJhY2tldHMgYXMgZGVsaW1pdGVyIGluIHBhdHRlcm4gdG9rZW5zCiAgPT4gV0FSTklORzogdGhpcyBpbnRyb2R1Y2UgY2hhbmdlcyBpbiBhbGwgcGF0dGVybnMgc3ludGF4LCBhbmQgdGh1cyBkb2VzIG5vdCBwcm92aWRlIGNvbXBhdGliaWxpdHkKICAgICAgICAgICAgICB3aXRoIHByZXZpb3VzIHZlcnNpb25zCi0gQ2hhaW5SZXNvbHZlciBhcmUgbm93IGFibGUgdG8gcHVibGlzaCAoZGVsZWdhdGluZyB0aGUgY2FsbCB0byB0aGUgZmlyc3QgcmVzb2x2ZXIgaW4gdGhlIGNoYWluKQotIER1YWxSZXNvbHZlciBzdWIgcmVzb2x2ZXJzIGFyZSBub3cgcmVnaXN0ZXJlZCBpbiBJdnkKLSBtb3JlIHByZWNpc2UgbWVzc2FnZSBvbiBldmljdGlvbgotIGFkZCB2YWxpZGF0ZSBhdHRyaWJ1dGUgb24gbW9zdCByZXNvbHZlcnMKLSBpdnkgZmlsZXMgdmFsaWRhdGlvbiBoYW5kbGluZyByZXZpZXcKLSB1c2UgaXZ5IHZhcmlhYmxlcyBpbiBhbnQgdGFza3MgdG8gZ2V0IGRlZmF1bHQgdmFsdWVzIGZvciBhdHRyaWJ1dGVzCi0gZG9jdW1lbnRhdGlvbiB1cGRhdGUgZm9yIGNvbmZpZ3VyaW5nIGl2eQotIEZJWDogZGVwZW5kZW5jaWVzIG9yZGVyIG5vdCB0YWtlbiBpbnRvIGFjY291bnQgZHVyaW5nIHJlc29sdmUKLSBGSVg6IGV2aWN0aW5nIG1vZHVsZXMgYWxzbyBldmljdCBjb25mcwotIEZJWDogTlBFIGR1cmluZyByZXNvbHZlIHdoZW4gYSBkZXBlbmRlbmN5IGl2eSBmaWxlIGhhcyBubyBwdWJsaWNhdGlvbiBkYXRlCi0gRklYOiBjaGVjayBudWxsaXR5IG9mIGFydGlmYWN0IGRvd25sb2FkIHJlcG9ydHMKCiAgIHZlcnNpb24gMC44IC0gMjAwNS0wMy0zMAo9PT09PT09PT09PT09PT09PT09PT09PT09PT0KLSBhZGRlZCB2YWxpZGF0ZSBhdHRyaWJ1dGUgb24gcmVzb2x2ZSwgcmV0cmlldmUgYW5kIHB1Ymxpc2gsIHdoaWNoIGFsbG93cyB0byBkaXNhYmxlIGl2eSBmaWxlIHZhbGlkYXRpb24KICBhZ2FpbnN0IGl2eS54c2QgKHVzZWZ1bCB0byBwYXJzZSBmdXR1cmUgY29tcGF0aWJsZSBpdnkgZmlsZXMpCi0gYW50IHByb3BlcnRpZXMgYXJlIG5vdyBhdmFpbGFibGUgaW4gaXZ5Y29uZiBmaWxlCi0gdW5pZmllZCBkZWZhdWx0IHByb3BlcnRpZXMgaW4gaXZ5Y29uZiwgd2l0aCBiZXR0ZXIgaW5kZXBlbmRhbmNlIGZyb20gdXJsIG9yIGZpbGUKLSBhZGRlZCBleHQgb24gYXJ0aWZhY3RzOiB0aGlzIGVuYWJsZSB0byBkaXN0aW5ndWlzaCBhcnRpZmFjdCBleHRlbnNpb24gZnJvbSBhcnRpZmFjdAogIHR5cGUsIHV0aWwgaW4gY2FzZXMgd2hlcmUgaXQgZGlmZmVycyAoZXhhbXBsZTogJ3NyYycgdHlwZSB3aXRoICd6aXAnIGV4dGVuc2lvbiwgJ2l2eScgdHlwZSB3aXRoICd4bWwnIGV4dGVuc2lvbiwgLi4uKQotIGFkZGVkIHB1Ymxpc2ggYXJ0aWZhY3RzIGZlYXR1cmUsIHdoaWNoIGVuYWJsZSB0byBwdWJsaXNoIGRlY2xhcmVkIGFydGlmYWN0cyBvZiBhIG1vZHVsZSB0byBhIHJlcG9zaXRvcnkKICBkZXNjcmliZWQgYnkgYSBkZXBlbmRlbmN5IHJlc29sdmVyLiBJdCBjdXJyZW50bHkgd29ya3Mgb25seSB3aXRoIGZpbGVzeXN0ZW0gcmVzb2x2ZXIuCi0gdXJsIHJlc29sdmVyIG5vdyBoYW5kbGVzIGxhdGVzdCB3aXRoIGZpbGUgdXJscyBhbmQgaHR0cCBvbmVzICh0ZXN0ZWQgb25seSB3aXRoIGFwYWNoZSBzZXJ2ZXIpCi0gYWRkZWQgbGF0ZXN0IHN0cmF0ZWd5IGNvbmNlcHQ6IHRoZSB3YXkgdG8gZGV0ZXJtaW5lIHdoaWNoIGFydGlmYWN0IGlzIHRoZSBsYXRlc3QKICBpcyBub3cgY29uZmlndXJhYmxlIG9uIHJlc29sdmVycyBoYW5kbGluZyBsYXRlc3QuIAotIGFkZGVkIHBhcmFtZXRlciBvbiBjaGFpbiByZXNvbHZlciB0byBzYXkgaWYgaXQgc2hvdWxkIHJldHVybiBmaXJzdCBmb3VuZCBvcgogIHRyeSB0byBmaW5kIHRoZSBsYXRlc3QgYW1vbmcgYWxsIGlmIGFza2VkCi0gYSBtb2R1bGUgY2FuIG5vdyBwdWJsaXNoIG5vIGFydGlmYWN0LCB1c2VmdWwgZm9yIHZpcnR1YWwgbW9kdWxlcyBjb25zaXN0aW5nIG9ubHkKICBvZiBpbnRlZ3JhdGlvbiBvZiBvdGhlciBtb2R1bGVzCi0gYWRkZWQgY29uZmxpY3QgbWFuYWdlbWVudCBhdCByZXNvbHZlIHRpbWU6IGR1cmluZyByZXNvbHZlLCBtb2R1bGVzIGluIGNvbmZsaWN0IGNhbiBiZSBldmljdGVkCiAgYW5kIHRodXMgbm90IGRvd25sb2FkZWQKLSBhZGRlZCBpdnlyZXAgcmVzb2x2ZXIsIHVzaW5nIGl2eXJlcCB0byBmaW5kIGl2eSBmaWxlcywgYW5kIGliaWJsaW8gZm9yIGFydGlmYWN0cwotIHVzZSBpdnlyZXAgaW5zdGVhZCBvZiBpYmlibGlvIGFzIGRlZmF1bHQgcmVzb2x2ZXIKLSBhZGRlZCBtb3JlIGluZm8gaW4gaXZ5IGZpbGVzIChkZXNjcmlwdGlvbiwgaG9tZXBhZ2UsIGl2eSBhdXRob3JzLCBsaWNlbnNlLCBwdWJsaWMgcmVwb3NpdG9yeSwgLi4uKQotIG5vdyBjYWNoZSBsYXlvdXQgaXMgY29uZmlndXJhYmxlLCB1c2luZyBjYWNoZUl2eVBhdHRlcm4gYW5kIGNhY2hlQXJ0aWZhY3RQYXR0ZXJuCiAgYXR0cmlidXRlcyBvbiBjb25mIGVsZW1lbnQgaW4gaXZ5Y29uZi54bWwKLSBjaGFuZ2VkIGRlZmF1bHQgY2FjaGUgbGF5b3V0OiBhcnRpZmFjdHMgYXJlIHNlcGFyYXRlZCBieSB0eXBlCi0gYWRkZWQgY2FjaGVwYXRoIHRhc2ssIHdoaWNoIGVuYWJsZXMgdG8gYnVpbGQgYW4gYW50IHBhdGggb2YgYXJ0aWZhY3RzIGluIGNhY2hlIHJlcXVpcmVkIGZvciBhIGNvbmYKCiAgIHZlcnNpb24gMC43IC0gMjAwNS0wMy0xMQo9PT09PT09PT09PT09PT09PT09PT09PT09PT0KLSBhZGRlZCBsYXRlc3Qgc3ViIHJldmlzaW9uIGZlYXR1cmU6IHlvdSBjYW4gbm93IHNlbGVjdCB0aGUgbGF0ZXN0IHN1YiByZXZpc2lvbiBvZiBhIG1vZHVsZQogIHVzaW5nIGEgKy4gRm9yIGluc3RhbmNlLCAiMS4wKyIgc2VsZWN0cyB0aGUgbGF0ZXN0IHJldmlzaW9uIHN0YXJ0aW5nIHdpdGggMS4wLiAodGhhbmtzIHRvIGpvbmFzIGZvciB0aGUgaWRlYSkKLSBoYWx0b25mYWlsdXJlIG5vdyBkZWZhdWx0cyB0byB0cnVlIChhcyBzdWdnZXN0ZWQgYnkgSmVyb2VuKQotIHNob3J0ZXIgaW5mbyBsaW5lcyB0byBiZXR0ZXIgdmlldyBpbXBvcnRhbnQgaW5mbyAoYXMgc3VnZ2VzdGVkIGJ5IEplcm9lbikKLSByZXRyaWV2ZSBub3cgY2hlY2tzIGlmIGZpbGVzIGFyZSB1cCB0byBkYXRlIGJlZm9yZSBjb3B5aW5nIHRoZW0gZnJvbSBjYWNoZS4gVGhpcyBmZWF0dXJlCiAgY2FuIGJlIGRpc2FibGVkIHVzaW5nIHRoZSBjaGVja1VwVG9EYXRlIGF0dHJpYnV0ZSBpbiBpdnkgY29uZmlndXJhdGlvbiBmaWxlLgotIGRvIG5vdCBkb3dubG9hZCBkZXBlbmRlbmNpZXMgd2hlbiBub3QgbmVjZXNzYXJ5IGR1cmluZyBwdWJsaWNhdGlvbiAoYXMgc3VnZ2VzdGVkIGJ5IERhbmllbGUpCi0gYnVnIGZpeDogYmV0dGVyIGhhbmRsaW5nIG9mIHB1Ymxpc2ggd2l0aG91dCByZWN1cnNpdmUgZGVsaXZlcnkKCiAgIHZlcnNpb24gMC42LjEgLSAyMDA1LTAyLTExCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0gYnVnIGZpeDogY29uZiBleHRlbmRzIHByb2JsZW0gd2l0aCBwdWJsaWNhdGlvbnMKLSBidWcgZml4OiB0eXBlZGVmIGJhZGx5IGhhbmRsZWQgaW4gaXZ5Y29uZi54bWwKLSBidWcgZml4OiBkZWZhdWx0IHByb3BlcnRpZXMgbG9hZGluZyBpbiBpdnkgY29uZmlndXJlIGxvYWRlZCB1c2luZyB0YXNrIGNsYXNzbG9hZGVyCgogICB2ZXJzaW9uIDAuNiAtIDIwMDUtMDItMDMKPT09PT09PT09PT09PT09PT09PT09PT09PT09CisgZnVuY3Rpb25hbAotIGFkZGVkIGhhbHRvbmZhaWx1cmUgYXR0cmlidXRlIG9uIHJlc29sdmUgYW5kIHJldHJpZXZlIHRhc2ssIHNvIHRoYXQgYnVpbGQgY2FuIGJlIGhhbHQgd2hlbiAKICByZXNvbHZlIG9yIHJldHJpZXZlIGZhaWxzCi0gYWRkZWQgZGVwZW5kZW5jeSBhcnRpZmFjdHMgZmlsdGVyaW5nIGZlYXR1cmUsIGVuYWJsaW5nIHRvIHdvcmsgYmV0dGVyIHdpdGggaWJpYmxpbwotIGliaWJsaW8gcmVzb2x2ZXIgY2FuIG5vdyBiZSBjb25maWd1cmVkIHRvIHVzZSBhbnkgbWF2ZW4gbGlrZSByZXBvc2l0b3J5LCB3aXRoIHJvb3QgYW5kIHBhdHRlcm4gYXR0cmlidXRlcwotIGFkZGVkIGRvd25sb2FkIHByb2dyZXNzaW9uIGluZm8gb24gcmVzb2x2ZQotIGRlZmF1bHQgY2FjaGUgaXMgbm93IGluIHVzZXIgaG9tZSAoLml2eS1jYWNoZSBpbiB1c2VyIGhvbWUpLCBzbyB0aGF0IGNhY2hlIGlzIHNoYXJlZAogIGJ5IGRlZmF1bHQgZm9yIGFsbCBwcm9qZWN0cyBvZiB0aGUgc2FtZSB1c2VyCi0gYWRkZWQgcHVibGljIGFjY2VzcyB0byBtZXRob2QgZ2V0RGVwZW5kZW5jaWVzKC4uLikgaW4gSXZ5LCB3aGljaCByZXNvbHZlIGRlcGVuZGVuY2llcyB3aXRob3V0CiAgZG93bmxvYWRpbmcgYXJ0aWZhY3RzCi0gYWRkZWQgRHVhbFJlc29sdmVyLCB3aGljaCBhbGxvd3MgdG8gaGF2ZSBpdnkgZmlsZXMgaW4gb25lIHBsYWNlIGFuZCBhcnRpZmFjdHMgaW4gYW5vdGhlciBvbmUKCisgbm9uIGZ1bmN0aW9uYWwKLSBhZGRlZCBzb21lIHVuaXQgdGVzdHMKLSBkZWVwIHJldmlldyBvZiBpdnkgZmlsZSByZWZlcmVuY2UgZG9jdW1lbnRhdGlvbgoKKyBidWdzIGFuZCByZWZhY3RvcmluZwotIGJ1ZyBmaXg6IFNpbXBsZVVSTFJlc29sdmVyIG5vdCBoYW5kbGluZyB0aGUgY2FzZSB3aGVuIHRoZXJlIGlzIG5vIGl2eSBmaWxlCi0gcmVmYWN0b3Jpbmc6IFVSTFJlc29sdmVyIHJlbmFtZWQgdG8gQWJzdHJhY3RVUkxSZXNvbHZlcgotIHJlZmFjdG9yaW5nOiBTaW1wbGVVUkxSZXNvbHZlciByZW5hbWVkIHRvIFVSTFJlc29sdmVyCgogICB2ZXJzaW9uIDAuNS4xIC0gMjAwNS0wMS0xNgo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotIEJ1ZyBGaXg6IE5QRSBpbiBwdWJsaXNoIHRhc2sgd2hlbiBubyBkZWxpdmVyeS5saXN0LmZpbGUgaXMgcHJvdmlkZWQKLSBkb2N1bWVudGF0aW9uIHVwZGF0ZQoKICAgdmVyc2lvbiAwLjUgLSAyMDA1LTAxLTEyCj09PT09PT09PT09PT09PT09PT09PT09PT09PQppbml0aWFsIHB1YmxpYyB2ZXJzaW9uCg==