DQpxdWl0ZSBleGFjdGx5LCB0aGlzIGlzIHN0ZXJlbywgaSB3YXMgbG9va2luZyBmb3IgbW9yZSBj aGFubmVsLCBidXQgdGhhbmtzLCB0aGlzIHB1dCBtZSBpbiBhbm90aGVyIGdvb2QgZGlyZWN0aW9u IDopDQoNCj4gU3ViamVjdDogUkU6IFtQSUNdIChpIGd1ZXNzLi4pIFBpYyAmIFVTQiBBVURJTw0K PiBEYXRlOiBGcmksIDQgRmViIDIwMTEgMTE6NTA6MTIgLTA3MDANCj4gRnJvbTogaGFycmlzb24u Y29vcGVyQGxpc3RlbnRlY2guY29tDQo+IFRvOiBwaWNsaXN0QG1pdC5lZHUNCj4gDQo+IElmIGFs bCB5b3Ugd2FudCB0byBkbyBpcyBwdXNoIGF1ZGlvIGludG8gYSBQQyB2aWEgVVNCLCBsb29rIGF0 IHRoZSBQQ00yOTAwQi4gIEhhbmRmdWwgb2YgcGFydHMgYXJvdW5kIGl0LCBhbmQgaXRzIGV4YWN0 bHkgd2hhdCB5b3Ugd2FudC4NCj4gDQo+IF9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fDQo+IExpc3RlbiBUZWNobm9sb2dpZXMgQ29ycG9yYXRpb24NCj4gSGFycmlzb24gQ29v cGVyDQo+IFNlbmlvciBQcm9kdWN0IERldmVsb3BtZW50IEVuZ2luZWVyDQo+IDgwMS4yMzMuODk5 Mg0KPiA4MDAuMzMwLjA4OTEgTm9ydGggQW1lcmljYQ0KPiB3d3cubGlzdGVudGVjaC5jb20NCj4g RG9u4oCZdCBtaXNzIGEgc2luZ2xlIHNvdW5kLg0KPiANCj4gDQo+IExpc3RlblRlY2ggQmxvZyDi l48gdHdpdHRlciAg4pePICBmYWNlYm9vayDil48gIFlvdVR1YmUgDQo+IA0KPiBJbnRyb2R1Y2lu Z+KApg0KPiBMaXN0ZW5Qb2ludOKEoiAtIEF1ZGlvIFN0cnVjdHVyZSBmb3IgUm9vbXMgTWFkZSBF YXN5DQo+IEludGVncmF0ZSBhbGwgeW91ciBzb3VuZCBzb3VyY2VzIGluIHNtYWxsIHRvIG1lZGl1 bSBzaXplZCByb29tcyB0byBhY2NlbGVyYXRlIHByb2R1Y3Rpdml0eSB1cCB0byAzMCUuDQo+IO+B kCBwbGVhc2UgY29uc2lkZXIgdGhlIGVudmlyb25tZW50IGJlZm9yZSBwcmludGluZyB0aGlzIGUt bWFpbCBub3RlDQo+IA0KPiANCj4gLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCj4gRnJvbTog cGljbGlzdC1ib3VuY2VzQG1pdC5lZHUgW21haWx0bzpwaWNsaXN0LWJvdW5jZXNAbWl0LmVkdV0g T24gQmVoYWxmIE9mIGFsYW4uYi5wZWFyY2VAc3RmYy5hYy51aw0KPiBTZW50OiBGcmlkYXksIEZl YnJ1YXJ5IDA0LCAyMDExIDg6MDEgQU0NCj4gVG86IHBpY2xpc3RAbWl0LmVkdQ0KPiBTdWJqZWN0 OiBSRTogW1BJQ10gKGkgZ3Vlc3MuLikgUGljICYgVVNCIEFVRElPDQo+IA0KPiA+IEhpIHRoZXJl IQ0KPiA+IEkgd29uZGVyIGlmIHRoZSB0YWcgaXMgdGhlIG1vc3QgYXBwcm9wcmlhdGUsDQo+ID4g YXMgYSBzdHVkZW50IChhbmQgbXVzaWNpYW4pIEkgb2Z0ZW4gd29uZGVyIGFib3V0IG1ha2luZyBt eSBvd24gZXF1aXBtZW50LCBhbmQgaSBoYXZlDQo+ID4gYmVlbiB0aGlua2luZyBmb3Igc29tZSB0 aW1lIHRvIGJ1aWxkLCBvciBqdXN0IHRvIGRlc2lnbiwgbXkgb3duIGF1ZGlvIGludGVyZmFjZS4N Cj4gPiBMZXQncyBmb3JnZXQgYWJvdXQgYWxsIHRoZSBhbmFsb2cgcGFydCBmb3IgYSBzZWNvbmQu IEFmdGVyIGFsbCB0aGF0IHN0dWZmIHRoZSBzaWduYWwNCj4gPiB3b3VsZCBiZSBjb252ZXJ0ZWQg aW50byBkaWdpdGFsLCB0aGVuIHdyaXR0ZW4gaW50byBhIHBpYyBhbmQgdGhlbiBzZW50IHRocm91 Z2ggdGhlDQo+ID4gVUFSVCB0byB0aGUgcGMsIHVzaW5nIHVzYiBwcm90b2NvbC4gQSB0ZWFjaGVy IG9mIG1pbmUgc3VnZ2VzdGVkIHRvIGJ1eSBhIDUkIDUuMQ0KPiA+IGF1ZGlvIGludGVyZmFjZSBm cm9tIHRoZSBpbnRlcm5ldCwgdGhlbiBjaGFuZ2UgdGhlIEFEcywgYnV0IGkgd2FudGVkIHRvIGRv IHRoZSBtb3N0DQo+ID4gaSBjb3VsZCBvbiBteSBvd24uLiBpIG1lYW4sIGl0IGNhbid0IGJlIFRI SVMgSEFSRCB0byBwcm9ncmFtIGEgcGljIHRvIGVuY29kZSB0aGUNCj4gPiBkYXRhIGZyb20gdGhl IEFEIHRvIG1hdGNoIHRoZSBVU0IgQVVESU8gMi4wIGRyaXZlciByZXF1aXJlbWVudHMuLg0KPiA+ IA0KPiA+IE15IHByb2JsZW0gaXMgaGVyZTogaSB0cmllZCB0byBzZWFyY2ggb3ZlciB0aGUgbmV0 IGZvciB0aGUgZHJpdmVyIHNwZWNpZmljYXRpb24gYnV0DQo+ID4gaSdtIG5vdCBzdXJlIHRvIGhh dmUgZm91bmQgaXQgb3V0LCBjb3VsZCBhbnlvbmUgcHVzaCBtZSBpbiB0aGUgcmlnaHQgZGlyZWN0 aW9uPw0KPiA+IA0KPiA+IEphY29wbyBNb25lZ2F0bw0KPiANCj4gVGhlcmUgaXMgYSBkaXNjdXNz aW9uIG9uIHRoZSBtaWNyb2NoaXAgZm9ydW0gb24gdGhlIEF1ZGlvIGhhbmRsaW5nIG92ZXIgVVNC Lg0KPiANCj4gTG9vayBhdCBodHRwOi8vd3d3Lm1pY3JvY2hpcC5jb20vZm9ydW1zL201NDc1NDYu YXNweCBmb3IgdGhlIHNwZWNpZmljIGRpc2N1c3Npb24gSSB3YXMgdGhpbmtpbmcgb2YsIHRoZXJl IG1heSBiZSBvdGhlciByZWxldmFudCBvbmVzIGluIHRoZSBVU0Igc2VjdGlvbiBhdCBodHRwOi8v d3d3Lm1pY3JvY2hpcC5jb20vZm9ydW1zL2YxMDItcDIuYXNweCAobm90ZSB0aGUgbGluayBpcyB0 byBwYWdlIDIgd2hlcmUgdGhlIGxpbmsgYWJvdmUgY2FtZSBmcm9tKS4NCj4gLS0gDQo+IFNjYW5u ZWQgYnkgaUNyaXRpY2FsLg0KPiANCj4gLS0gDQo+IGh0dHA6Ly93d3cucGljbGlzdC5jb20gUElD L1NYIEZBUSAmIGxpc3QgYXJjaGl2ZQ0KPiBWaWV3L2NoYW5nZSB5b3VyIG1lbWJlcnNoaXAgb3B0 aW9ucyBhdA0KPiBodHRwOi8vbWFpbG1hbi5taXQuZWR1L21haWxtYW4vbGlzdGluZm8vcGljbGlz dA0KPiANCj4gLS0gDQo+IGh0dHA6Ly93d3cucGljbGlzdC5jb20gUElDL1NYIEZBUSAmIGxpc3Qg YXJjaGl2ZQ0KPiBWaWV3L2NoYW5nZSB5b3VyIG1lbWJlcnNoaXAgb3B0aW9ucyBhdA0KPiBodHRw Oi8vbWFpbG1hbi5taXQuZWR1L21haWxtYW4vbGlzdGluZm8vcGljbGlzdA0KIAkJIAkgICAJCSAg Ci0tIApodHRwOi8vd3d3LnBpY2xpc3QuY29tIFBJQy9TWCBGQVEgJiBsaXN0IGFyY2hpdmUKVmll dy9jaGFuZ2UgeW91ciBtZW1iZXJzaGlwIG9wdGlvbnMgYXQKaHR0cDovL21haWxtYW4ubWl0LmVk dS9tYWlsbWFuL2xpc3RpbmZvL3BpY2xpc3QK .