Vk5GIFBhY2thZ2UgVG9vbA0KPT09PT09PT09PT09PT09PQ0KDQpQcm92aWRlZCB0b29scw0KLS0tLS0tLS0tLS0tLS0NCg0KKiBWTkYgUGFja2FnZSBCdWlsZGVyIC0gY3JlYXRlcyBhIENTQVIgZmlsZSBiYXNlZCBvbiBpbnB1dHMgcHJvdmlkZWQgYnkgdGhlIFZORiBwcm9kdWN0IERldk9wcyBlbmdpbmVlcg0KKiBWTkYgUGFja2FnZSBWYWxpZGF0b3IgLSB2YWxpZGF0ZXMgdGhlIGNvbnRlbnQgb2YgdGhlIFZORiBwYWNrYWdlcyB0byBlbnN1cmUgdGhhdCBldmVyeXRoaW5nIGhhcyBiZWVuIGJ1aWx0IGNvcnJlY3RseQ0KKiBWTkYgUGFja2FnZSBFeHRyYWN0b3IgLSBleHRyYWN0cyBWTkYgcHJvZHVjdCBtb2RlbCBhbmQgZXhlY3V0YWJsZXMgZnJvbSB0aGUgQ1NBUiBmaWxlDQoqIFZORiBQYWNrYWdlIFBhcnNlciAtIHRyYW5zbGF0ZXMgVk5GIHByb2R1Y3QgYmx1ZXByaW50IGludG8gYSBmb3JtYXQgY29uc3VtYWJsZSBieSBPTkFQIGNvbXBvbmVudHMNCiogVk5GIFBhY2thZ2UgRHJ5IFJ1biAtIHBlcmZvcm1zIGEgImRyeSBydW4iIGluc3RhbGwgdG8gZW5zdXJlIHRoYXQgdGhlIHBhY2thZ2UgY2FuIGJlIGRlcGxveWVkIGR1cmluZyBpbnN0YW50aWF0aW9uDQqgDQpUaGUgdG9vbHMgYXJlIHByb3ZpZGVkIGluIGEgZm9ybSBvZiBhIHNoYXJlZCBsaWJyYXJ5IChQeXRob24gbW9kdWxlKSB0aGF0IGNhbiBiZSB1c2VkIGluIG90aGVyIHByb2plY3RzLiBBIENMSSBpcyBhbHNvIHByb3ZpZGVkIG91dC1vZi10aGUgYm94IGZvciBEZXZPcHMgdG8gdXNlIHRoZSBsaWJyYXJ5IHdpdGggdGhlaXIgc2NyaXB0cyBhbmQgYXV0b2FtdGlvbiBmcmFtZXdvcmsuDQoNClJlcG9zaXRvcnkgTmFtZTogdm5mc2RrL3BrZ3Rvb2xzDQoNCkNsb25lIGNvbW1hbmQ6IGdpdCBjbG9uZSBodHRwOi8vZ2Vycml0Lm9uYXAub3JnL3Ivdm5mc2RrL3BrZ3Rvb2xzDQoNCkluc3RhbGxhdGlvbg0KLS0tLS0tLS0tLS0tDQpQeXRob24gbW9kdWxlIHdpdGggQ0xJIGlzIGluc3RhbGxlZCBieSBQeXRob24gcGlwIGNvbW1hbmQuIEl0IGlzIHBvc3NpYmxlIHRvIGluc3RhbGwgaW50byBhIHZpcnR1YWwgZW52aXJvbm1lbnQgKHZpcnR1YWxlbnYpLg0KVGhlIGZvbGxvd2luZyBjb21tYW5kcyBhcmUgZXhlY3V0ZWQgaW4gdGhlIGNsb25lZCByZXBvc2l0b3J5IGRpcmVjdG9yeToNCg0KMS4gcGlwIGluc3RhbGwgLXIgcmVxdWlyZW1lbnRzLnR4dA0KCUluc3RhbGwgYWxsIHJlcXVpcmVkIGRlcGVuZGVuY2llcw0KMi4gcGlwIGluc3RhbGwgLg0KDQpPciBydW4gdGhlIGZvbGxvd2luZyBjb21tYW5kcyBpbiB0aGUgY2xvbmVkIHJlcG9zaXRvcnkgZGlyZWN0b3J5IHRvIGluc3RhbGw6DQoNCjEuIHB5dGhvbiBzZXR1cC5weSBpbnN0YWxsDQoNCkluc3RhbGwgVk5GIFNESyB0b29scyBwYWNrYWdlDQotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KVXNhZ2UNCg0KKiBDcmVhdGUgQ1NBUiBieSBzcGVjaWZ5aW5nIGEgZGlyZWN0b3J5DQoJdm5mc2RrIGNzYXItY3JlYXRlIC1kIERFU1RJTkFUSU9OIFstLW1hbmlmZXN0IE1BTklGRVNUXSBbLS1oaXN0b3J5IEhJU1RPUlldIFstLXRlc3RzIFRFU1RTXSBbLS1saWNlbnNlcyBMSUNFTlNFU10gc291cmNlIGVudHJ5DQoNCiogRXh0cmFjdCBDU0FSIGNvbnRlbnQNCgl2bmZzZGsgY3Nhci1vcGVuIC1kIERFU1RJTkFUSU9OIHNvdXJjZQ0KDQoqIFZhbGlkYXRlIENTQVIgY29udGVudA0KCXZuZnNkayBjc2FyLXZhbGlkYXRlIHNvdXJjZQ0KoA0KQWxsIGNvbW1hbmRzIGhhdmUgLWggc3dpdGNoIHdoaWNoIGRpc3BsYXlzIGhlbHAgYW5kIGRlc2NyaXB0aW9uIG9mIGFsbCBwYXJhbWF0ZXJzLg0K