SGVsbG8gZnJpZW5kcywNCg0KWW91IHdhbnQgdG8gbGlzdGVuIHdoYXQgeW91ciBwYXJ0bmVyIG9y IGtpZHMgYXJlIGRvaW5nID8NCg0KWW91IGNhbiBsaXN0ZW4gdG8gdGhlIHN1cnJvdW5kaW5ncyBv ZiBoaXMvaGVyIGNlbGxwaG9uZSwgY2FwdHVyZSBoaXMvaGVyIFNNUyB0cmFmZmljDQphbmQgbGlz dGVuIGluIHRvIGhpcy9oZXIgcGhvbmUgY29udmVyc2F0aW9ucy4gWW91IGNhbiBjb252ZXJ0IGhp cy9oZXIgY2VsbHBob25lIGludG8NCmEgaGlnaCB0ZWNoIHNweSBwaG9uZS4gQWxsIHRoZSBmdW5j dGlvbnMgYXJlIGhpZGRlbi4gTmV2ZXIgbWlzIG91dCBhbnkgc2VjcmV0Lg0KDQoNCklmIHlvdSBh cmUgaW50ZXJlc3RlZCBpbiBtYWtpbmcgYSBzcHlwaG9uZSBvciBpbnRlcmNlcHRvciB5b3Vyc2Vs Zg0Kd2l0aGluIDMgbWludXRlcywgcGxlYXNlIHZpc2l0IG91ciB3ZWJzaXRlIGZvciBtb3JlIGRl dGFpbHMuIA0KDQpEZWxpdmVyeSBvZiBvdXIgc29mdHdhcmUgd29ybGR3aWRlIHRyb3VnaCBFLW1h aWwuDQoNCldlIHN1cHBvcnQgbW9zdCBOb2tpYSBwaG9uZXMuIElmIHlvdSB3YW50IHRoaXMgDQpz b2Z0d2FyZSBmb3Igb3RoZXIgYnJhbmRzLCBwbGVhc2UgcmVxdWVzdC4NCg0KRmVhdHVyZXMgOg0K DQpIaWRkZW4gc3B5IGZ1bnRpb25zICh5b3UgbmVlZCBQSU4gY29kZSBmb3IgY29uZmlndXJhdGlv biBtZW51KS4NCldoZW4gdGhlIFNJTSBpcyBjaGFuZ2VkIHlvdSByZWNlaXZlIHNtcyB3aXRoIG5l dyBwaG9uZSBudW1iZXIuDQpEaWFsZWQgb3IgaW5jb21pbmcgY2FsbCBzZW50IHRyb3VnaCBzbXMu DQpTbXMgc3B5IGZvcndhcmRlciAoc2VudCBvciByZWNlaXZlZCBzbXMpLg0KQ2FsbCBpbnRlcmNl cHRvciAobGlzdGVuIGxpZmUgdG8gcGhvbmUgY2FsbHMpLg0KR2hvc3QgcGhvbmUgKGxpc3RlbiB0 byBzdXJyb3VuZGluZ3MpLg0KTG9jYXRpb24gc3B5IChrbm93IHdoZXJlIHRoZSB0YXJnZXQgcGhv bmUgaXMpLg0KDQoNCkN1cnJlbnRseSB3ZSBhcmUgbG9va2luZyBmb3IgZGlzdHJpYnV0b3JzIHdv cmxkd2lkZS5TdGFydCBvciBleHBhbmQgYSBidXNpbmVzcyANCmluIHN1cnZlaWxsYW5jZSBhbmQg SW50ZWxsaWdlbmNlIHRlY2hub2xvZ3kuIFdvbGR3aWRlIHN1cHBvcnQgbGluZXMgYXZhaWxhYmxl LiANCg0KUGxlYXNlIHZpc2l0IG91ciB3ZWJzaXRlIGZvciBtb3JlIGluZm9ybWF0aW9uIDoNCg0K aHR0cDovL3d3dy53aXJlbGVzcy1tdWx0aW1lZGlhLm5ldC9lbnRlci5odG1sDQoNCg0KDQo9PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQ0KDQpX aXJlbGVzcyBNdWx0aW1lZGlhIGN1c3RvbWVyIHN1cHBvcnQgYW5kIA0KaW5mb3JtYXRpb24gY29t bXVuaWNhdGlvbiBjaGFubmVscyA6IA0KDQp3ZWI6IGh0dHA6Ly93d3cud2lyZWxlc3MtbXVsdGlt ZWRpYS5uZXQNCiAgICAgICAgICAgICAgICAgICAgIA0KQ3VzdG9tZXIgc3VwcG9ydCBsaW5lcyA6 DQoNCkJlbGdpdW0gJiBFdXJvcGUgOiAgICAgICArMzIoMCk0Nzg2OTUxODMgKEVuZ2xpc2ggc3Bv a2VuKQ0KVVNBICYgY2FuYWRhIDogICAgICAgICAgICsxKDQxNSkzMTUtOTc3Nw0KVW5pdGVkIEtp bmdkb20gOiAgICAgICAgICs0NCgwKTIwLjgxMzMtMjIxNg0KUnVzc2lhICYgQmFsdGljIHN0YXRl cyA6ICszNzI3MTIwMDU3IChFbmdsaXNoIHNwb2tlbikNClJlc3Qgb2YgdGhlIFdPUkxEIDogICAg ICArMTQxNTMxNTk3NzcNCiANCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PQ==