VGhhbmtzIEpvc2UsDQogDQpJIGZvdW5kIHRoZSBrZXkgaW4gdGhlIHJvdXRpbmcgdGFibGUgb2Yg Um91dGVyMjsgaXQgaGFkIGJhZCBlbnRyaWVzIGZvciB0aGUgZmFyZXN0IHN1Ym5ldHMgKGRpZG4n dCBoYXZlIHRoZSAndmlhJyBjb21tYW5kcy4uLikuDQogDQpUaGFua3MgZm9yIGhlbHBpbmcgbWUu DQogDQpOb3cgSSdtIGdvbm5hIGNvbmZpZ3VyZSB0aGUgbmV0d29yayB3aXRoIElQdjYgJ2NhdXNl IEkgaGF2ZSB0byBtYWtlIGl0IHdvcmsgd2l0aCBNb2JpbGUgSVB2Ni4gDQpBbnlib2R5IHdvcmtp bmcgb24gdGhlc2UgZnVubnkgdGhpbmdzIGNhbiBtYWlsIG1lLCBzbyB3ZSBjYW4gc3VmZmVyIHRv Z2hldGVyISA6LSkNCiANCkJ5ZSwNCiANCk1hdXJvDQoNCgktLS0tLU1lc3NhZ2dpbyBvcmlnaW5h bGUtLS0tLSANCglEYTogSm9zZSBMdWlzIERvbWluZ28gTG9wZXogW21haWx0bzpsYXJ0Y0AyNHg3 bGludXguY29tXSANCglJbnZpYXRvOiB2ZW4gMjIvMTEvMjAwMiAxLjAzIA0KCUE6IGxhcnRjQG1h aWxtYW4uZHM5YS5ubCANCglDYzogDQoJT2dnZXR0bzogUmU6IFtMQVJUQ10gUm91dGluZyBwcm9i bGVtDQoJDQoJDQoNCglPbiBXZWRuZXNkYXksIDIwIE5vdmVtYmVyIDIwMDIsIGF0IDE4OjMxOjQy ICswMTAwLA0KCU1hdXJvIENlcmJvbmkgd3JvdGU6DQoJDQoJPiBJIGhhdmUgMyByb3V0ZXJzIChM aW51eCBib3hlcyB3aXRoIFJlZCBIYXQgOC4wIHNlcnZlciksIHdpdGggaXByb3V0ZTIgYW5kIGlw X2ZvcndhcmQgYWN0aXZhdGVkOyB0aGV5IGFyZSBsaW5rZWQgdG9nZXRoZXIgaW4gdGhpcyB3YXk6 DQoJPg0KCT4gQVAxLS0tLS0tUm91dGVyMS0tLS0tLS0tLVJvdXRlcjItLS0tLS0tLS0tUm91dGVy My0tLS0tLS0tLUFQMg0KCT4NCgk+IFRoZSByb3V0aW5nIHRhYmxlcyBzZWVtIGNvcnJlY3QuDQoJ Pg0KCUJ1dCB0aGUgc3ltcHRvbXMgeW91IGRlc2NyaWJlIHNlZW0gdG8gdGVsbCB0aGUgb3Bwb3Np dGUgOi0oDQoJDQoJPiBSb3V0ZXIxIGFuZCBSb3V0ZXIzIGNhbiBwaW5nIGVhY2ggb3RoZXIsDQoJ Pg0KCVJvdXRlcjEgYW5kIFJvdXRlcjIgc2hhcmUgYSBuZXR3b3JrIHNlZ21lbnQsIGFzIHdlbGwg YXMgUm91dGVyMiBhbmQNCglSb3V0ZXIzLiBTbyBhcyBSb3V0ZXIyIHNlZW1zIHRvIGJlIGZvcndh cmRpbmcgcGFja2V0cywgYW5kIGl0IGhhcyByb3V0ZXINCgl0byBkaXJlY3RseSBjb25uZWN0ZWQg bmV0d29ya3MgKHNoYXJlZCB3aXRoIFJvdXRlcjEgYW5kIFJvdXRlcjMpIHRoZQ0KCWNvbW11bmlj YXRpb24gYmV0d2VlbiBSb3V0ZXIxIGFuZCBSb3V0ZXIzIHdvcmtzLg0KCQ0KCU15IGd1ZXNzIGlz IGEgd3JvbmcgY29uZmlndXJhdGlvbiBvZiByb3V0aW5nIHRhYmxlcy4gTWF5YmUgeW91IGNvdWxk IHRyeQ0KCXRyYWNlcm91dGUgdG8gc2VlIGlmIHBhY2tldHMgcmVhY2ggdGhlIG90aGVyIGVuZCwg b3IgdGhleSBnZXQgbG9zdCBhdA0KCXNvbWUgcG9pbnQuIEl0IHdvdWxkbid0IGJlIHVudXN1YWwg Zm9yIHRoZSBwYWNrZXRzIHRvIHJlYWNoIHRoZQ0KCWRlc3RpbmF0aW9uLCBidXQgYmUgdW5hYmxl IHRvIHJldHVybiB0byB0aGUgc291cmNlLCBzbyBjaGVjayB0aGUgcm91dGluZw0KCXRhYmxlcyBh bmQgZm9sbG93IHRoZSBwYXRoIHRoZSBwYWNrZXRzIHdvdWxkIHRyYXZlbC4NCgkNCglIb3BlIGl0 IGhlbHBzLg0KCQ0KCS0tDQoJSm9zZSBMdWlzIERvbWluZ28gTG9wZXoNCglMaW51eCBSZWdpc3Rl cmVkIFVzZXIgIzE4OTQzNiAgICAgRGViaWFuIExpbnV4IFdvb2R5IChMaW51eCAyLjQuMTktcHJl NmFhMSkNCglfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXw0K CUxBUlRDIG1haWxpbmcgbGlzdCAvIExBUlRDQG1haWxtYW4uZHM5YS5ubA0KCWh0dHA6Ly9tYWls bWFuLmRzOWEubmwvbWFpbG1hbi9saXN0aW5mby9sYXJ0YyBIT1dUTzogaHR0cDovL2xhcnRjLm9y Zy8NCgkNCg0K