T24gU2F0LCAyMDE1LTA2LTI3IGF0IDE5OjI4ICswMTAwLCBEYXZpZCBDIEJyb3duIHdyb3RlOg0K PiBXaHkgaXMgbGVhdmluZyBhIEIgaW5wdXQgdW5jb25uZWN0ZWQgYSB0aGluZy4gIFN1cmVseSB0 aGUgaW50ZXJuYWwgcHVsbCB1cHMNCj4gbG9vayBhZnRlciBvcGVuIGlucHV0cz8NCg0KTm90IGFs bCBwaW5zIGFyZSBwdWxsZWQgdXAsIGFuZCBvbiBuZXdlciBwYXJ0cywgdGhlIHB1bGx1cHMgbmVl ZCB0byBiZQ0Kc3BlY2lmaWNhbGx5IGVuYWJsZWQuICBUaGlzIGlzIGFsc28gdHJ1ZSBvbiBzb21l IG9mIHRoZSBvbGRlciAxNkYgcGFydHMuDQpJZiBJIHJlY2FsbCwgdGhlcmUgaXMgYSBjb25maWd1 cmF0aW9uIGJpdCB0byBjb250cm9sIHRob3NlIGZldyBwaW5zIHRoYXQNCmhhdmUgcHVsbHVwcyBv biBtYW55IG9mIHRoZSBvbGRlciAxNkZzLg0KDQpBbmFsb2dzLCBpbmNsdWRpbmcgY29tcGFyYXRv ciBpbnB1dHMsIGFyZSBlc3BlY2lhbGx5IG5hc3R5LCBiZWNhdXNlDQpzZXR0aW5nIHRoZW0gdG8g YmUgYSBkaWdpdGFsIGlucHV0IChhcyBhIGxvdCBvZiBob2JieWlzdHMgZG8gb24gdGhlIDYyOA0K aW4gcGFydGljdWxhcikgYW5kIGFsbG93aW5nIHRoZW0gdG8gZmxvYXQgY2F1c2VzIGEgbG90IG9m IGludGVybmFsDQpjdXJyZW50IHRvIGJlIGRpc3NpcGF0ZWQuIFRoaXMgY2FuIGRhbWFnZSB0aGUg cGluLCBvciBldmVuIHRoZSBQSUMNCml0c2VsZi4NCg0KSSBzdXNwZWN0LCBob3dldmVyLCB0aGF0 IHRoZSBhZG1vbml0aW9uIHRvIGNvbm5lY3QgZXZlcnl0aGluZyBoYXMgbW9yZQ0KdG8gZG8gd2l0 aCBhbmFsb2cgYWNjdXJhY3kgdGhhbiBhbnl0aGluZyBlbHNlLiAgSSBhbSByYXJlbHkgcGF0aWVu dA0KZW5vdWdoIHRvIGNvbm5lY3QgZXZlcnl0aGluZywgYnV0IEkgZG8gdGFrZSBzb21lIGNhcmUg d2l0aCB0aGUgcHJvYmxlbQ0KY2hpbGRyZW4uDQoNCk9uIG1hbnkgb2YgdGhlIG5ld2VyIHBhcnRz IHRoZSB3aG9sZSB0aGluZyBpcyBhIGxvdCBjbGVhcmVyLiAgRXZlcnkgcGluDQpjYW4gYmUgYW5h bG9nLCBzbyB0aGVyZSBpcyBhIGJpdCB0byBjbGVhciBmb3IgZXZlcnkgcGluIHRvIGJlIGRpZ2l0 YWw7DQpldmVyeSBkaWdpdGFsIGlucHV0IGhhcyBzZWxlY3RhYmxlIHB1bGx1cHMgYW5kIHB1bGxk b3ducywgYW5kIGV2ZXJ5DQpkaWdpdGFsIG91dHB1dCBjYW4gYmUgc3RhbmRhcmQgb3Igb3BlbiBk cmFpbi4gIE9uIHRoZSBvbGRlciBwYXJ0cyBlYWNoDQpwaW4gaGFzIGl0cyBvd24sIHNwZWNpYWwg ZmVhdHVyZXMgc28geW91IG5lZWQgdG8gdGFrZSBjYXJlIHRvIGtub3cgd2hvDQppcyB3aG8sIGFu ZCBhIGxvdCBvZiB0aGVtLCBsaWtlIGludGVybmFsIHB1bGx1cHMsIGFyZSB0aGluZ3MgeW91IGRv bid0DQphbHdheXMgdGhpbmsgb2YuDQoNCi0tTWNEDQoNCg0KPg0KPiBPbiAyNyBKdW5lIDIwMTUg YXQgMTk6MDgsIEpvaG4gSi4gTWNEb25vdWdoIDxtY2RAaXMtc2l4c2lnbWEuY29tPiB3cm90ZToN Cj4NCj4gPiBUaGVyZSBhcmUgYSBsb3Qgb2YgdGhpbmdzIHRoYXQgd29yayBtb3N0IG9mIHRoZSB0 aW1lLCBidXQgY2FuIGJlIGEgcmVhbA0KPiA+IGJlYXIgd2hlbiB0aGV5IGRvbid0Lg0KPiA+DQo+ ID4gSSB3YXMga2luZCBvZiBzdXJwcmlzZWQgdG8gc2VlIFJBNS9NQ0xSIGZsb2F0aW5nLCB0aG8u ICBGb3IgbWUsIHRoYXQNCj4gPiBORVZFUiB3b3JrcywgYnV0IEkgY291bGQgc2VlIHdoZXJlIGl0 IG1pZ2h0IHdvcmsgc29tZXRpbWVzLiAgUHVsbCBpdCB1cA0KPiA+IHdpdGggYSBoaWdoIHZhbHVl IHJlc2lzdG9yLiAgSSB0aGluayBNaWNyb2NoaXAgdGVuZHMgdG93YXJkIDEwSywgSQ0KPiA+IGdl bmVyYWxseSB1c2UgNDdLLiAgSXQgZG9lc24ndCBkcmF3IGFueSBjdXJyZW50IHRvIHNwZWFrIG9m IHNvIHRoZSBwb2ludA0KPiA+IGlzIGp1c3QgdG8gbm90IGxldCBpdCBmbG9hdCBsb3cuDQo+ID4N Cj4gPiBCZXdhcmUgb2YgYW55IGFuYWxvZyBwaW5zLiAgQSBsb3Qgb2YgcGVvcGxlIGxpa2UgdG8g c2V0IHRoZW0gdG8gZGlnaXRhbA0KPiA+IGFzIGEgbWF0dGVyIG9mIGNvdXJzZSAtIGJhZCBpZGVh LiAgSWYgeW91IG11c3QsIHNldCB0aGVtIHRvIGRpZ2l0YWwNCj4gPiBPVVRQVVRTIGFuZCBzZXQg dGhlbSBhdCB6ZXJvLg0KPiA+DQo+ID4gTWljcm9jaGlwIHJlY29tbWVuZHMgbm90IGxlYXZpbmcg YW55IHBpbiB1bmNvbm5lY3RlZC4gIFBlcnNvbmFsbHksIEkNCj4gPiB0aGluayB0aGF0IGlzIG92 ZXJraWxsLCBidXQgZmxvYXRpbmcgcGlucyBjYW4gY2F1c2UgdHJvdWJsZS4NCj4gPg0KPiA+IEFz IGZhciBhcyB0aGUgY3J5c3RhbCwgTWljcm9jaGlwIHByZWRpY3RzIGFsbCBzb3J0cyBvZiBuYXN0 eSB0aGluZ3MgaWYNCj4gPiB5b3UgbGVhdmUgb2ZmIHRoZSBjYXBzLiAgVG8gdGVsbCB0aGUgdHJ1 dGgsIEkgaGF2ZSBkb25lIHRoYXQgZG96ZW5zIG9mDQo+ID4gdGltZXMgd2l0aG91dCBldmVyIHNl ZWluZyBhbiBpc3N1ZS4gIFllcywgdGhlIGZyZXF1ZW5jeSB3aWxsIGJlIG9mZiwgYnV0DQo+ID4g dW5sZXNzIHlvdSBhcmUgYnVpbGRpbmcgYSBjb3VudGVyIHlvdSB3b24ndCBrbm93LiAgV2F0Y2gg TmV3YXJrIC0gZXZlcnkNCj4gPiBzbyBvZnRlbiB0aGV5IHdpbGwgaGF2ZSBhIHNhbGUgb24gY2Fw cyBhbmQgeW91IGNhbiBnZXQgYSBwaWxlIG9mIDIwcEYNCj4gPiBjYXBzIGZvciB1bmRlciBhIHBl bm55IGVhY2guICBNYXliZSB5b3VyIGNyeXN0YWwgaXMgMjJwRiBvciAxOHBGLCBidXQgMjANCj4g PiBpcyBwcmV0dHkgY2xvc2UgZWl0aGVyIHdheS4gIEkgcGlja2VkIHVwIGEgZmV3IGh1bmRyZWQg b2YgZWFjaCBhbmQgbm93IEkNCj4gPiBhbSBzZXQgZm9yIGNhcHMuICBPbiBtb3N0IG9mIHRoZSBu ZXdlciBwYXJ0cyB0aGUgaW50ZXJuYWwgUkMgb3NjaWxsYXRvcg0KPiA+IGlzIGdvb2QgZW5vdWdo IGZvciBtb3N0IGFwcGxpY2F0aW9ucy4NCj4gPg0KPiA+IERlY291cGxpbmcgVmRkIGlzIGFub3Ro ZXIgb25lIG9mIHRob3NlIG5hc3RpZXMuICBFdmVyeW9uZSB0ZWxscyB5b3UgdGhhdA0KPiA+IHlv dSBNVVNUIGRvIHRoYXQuICBBbG1vc3QgYWx3YXlzIHRoaW5ncyB3b3JrIHdpdGhvdXQgaXQuICBC dXQgd2hlbiB0aGV5DQo+ID4gZG9uJ3QgaXQgY2FuIGJlIGEgbmlnaHRtYXJlIHRvIGRlYnVnLiAg SnVzdCBnZXQgaW50byB0aGUgaGFiaXQuICBZb3VyDQo+ID4gc3ltcHRvbSBvZiB3b3JraW5nIG9u IG9uZSBib2FyZCBhbmQgbm90IGFub3RoZXIgaXMgdHlwaWNhbCBvZiB0aGlzDQo+ID4gaXNzdWUu DQo+ID4NCj4gPiBXaGF0IFJ1YmVuIHNhaWQgLSB3aXRob3V0IGNhcHMgb24gdGhlIHJlZ3VsYXRv ciB5b3UgYXJlIGFza2luZyBmb3INCj4gPiB0cm91YmxlLiAgVGhvc2UgdGhpbmdzIGp1c3QgbG92 ZSB0byBvc2NpbGxhdGUuICBJJ20gZ3Vlc3NpbmcgRDEgaXMgdGhlcmUNCj4gPiB0byBkcm9wIHRo ZSB2b2x0YWdlIGZyb20gdGhlIDYgdm9sdCByZWd1bGF0b3IuICBJJ20gbm90IHNvIHN1cmUgdGhh dCBpcw0KPiA+IHN1Y2ggYSBob3QgaWRlYSwgZXNwZWNpYWxseSB3aXRob3V0IHRoZSBjYXBzIG9u IHRoZSByZWd1bGF0b3Igb3IgdGhlDQo+ID4gZGVjb3VwbGluZyBjYXBzIGF0IHRoZSBQSUMuDQo+ ID4NCj4gPiBBcmUgYWxsIHRob3NlIEsxLnggcmVsYXkgY29udGFjdHM/ICBJZiB0aGVyZSBhcmUg cmVsYXlzIGluIHRoZQ0KPiA+IG5laWdoYm9yaG9vZCBJJ2QgYmUgZG91Ymx5IGNhcmVmdWwgYWJv dXQgZGVjb3VwbGluZywgYW5kIG1heWJlIHRoaW5rDQo+ID4gaGFyZCBhYm91dCBsYXlvdXQuDQo+ ID4NCj4gPiAtLU1jRA0KPiA+DQo+ID4NCj4gPg0KPiA+DQo+ID4gT24gU2F0LCAyMDE1LTA2LTI3 IGF0IDE2OjE5ICswMjAwLCBSdWJlbiBKw7Zuc3NvbiB3cm90ZToNCj4gPiA+IFNvIGlzIFJBNS9N Q0xSIHdoaWNoIHdpbGwgZ2l2ZSB5b3UgcHJvYmxlbXMgaWYgdGhlIHBpbiBpcyBjb25maWd1cmVk IGFzDQo+ID4gcmVzZXQNCj4gPiA+IGlucHV0IChNQ0xSKS4NCj4gPiA+DQo+ID4gPiBJIGFzc3Vt ZSBYMSBpcyBhIGNyeXN0YWwgc2luY2UgaXQgaGFzIG5vIFZTUyBjb25uZWN0aW9uLiBZb3UgbmVl ZCBsb2FkDQo+ID4gPiBjYXBhY2l0b3JzIGZvciBpdCB0byBzdGFydCByZWxpYWJseSBhbmQgcnVu IGF0IHRoZSBjb3JyZWN0IGZyZXF1ZW5jeS4NCj4gPiBTaW5jZSBpdA0KPiA+ID4gd29ya2VkIG9u IHRoZSBmaXJzdCBwcm90b3R5cGUgb24gdGhlIHZlcm8gYm9hcmQgeW91IG1pZ2h0IGhhdmUgaGFk DQo+ID4gZW5vdWdoIHN0cmF5DQo+ID4gPiBjYXBhY2l0YW5jZSB0byBnZXQgaXQgdG8gcnVuIGJ1 dCBub3Qgc28gb24gdGhlIG90aGVyIHZlcnNpb25zLiBZb3UgY2FuDQo+ID4gdHJ5IHRvDQo+ID4g PiB1c2UgdGhlIGludGVybmFsIG9zY2lsbGF0b3IgSU5UT1NDIHRvIHNlZSBpZiBpdCB3b3JrcyB0 aGVuLg0KPiA+ID4NCj4gPiA+IFdoYXQgaXMgdGhlIHB1cnBvc2Ugb2YgRDE/IEkgc3VzcGVjdCB5 b3UgY291bGQgZ2V0IHNvbWUgb3NjaWxsYXRpb25zIG9uDQo+ID4gdGhlDQo+ID4gPiByZWd1bGF0 b3Igb3V0cHV0IHdpdGggdGhpcyBjb25maWd1cmF0aW9uLCBlc3BlY2lhbGx5IHNpbmNlIHRoZXJl IGFyZSBubw0KPiA+ID4gZGVjb3VwbGluZyBjYXBhY2l0b3JzIG9uIHRoZSByZWd1bGF0b3IuDQo+ ID4gPg0KPiA+ID4gWW91IHNob3VsZCBhbHNvIGhhdmUgZGVjb3VwbGluZyBjYXBhY2l0b3JzIGJl dHdlZW4gVkREIGFuZCBWU1MuDQo+ID4gPg0KPiA+ID4gL1J1YmVuDQo+ID4gPg0KPiA+ID4gPiBS QjQgaXMgZmxvYXRpbmcsIHRoYXQncyB0aGUgcHJvYmxlbS4NCj4gPiA+ID4NCj4gPiA+ID4gT24g U2F0LCBKdW4gMjcsIDIwMTUsIGF0IDA1OjM1IEFNLCBQIE5pZWxzZW4gd3JvdGU6DQo+ID4gPiA+ ID4NCj4gPiA+ID4gPiBQSUMgMTZGNjI4QS0yMCBTaW5lIEdlbmVyYXRvciAtIEVycmF0aWMgQmVo YXZpb3Igb24gVmVybw0KPiA+ID4gPiA+DQo+ID4gPiA+ID4gUGxlYXNlIHNlZSB0aGUgY2lyY3Vp dCBkaWFncmFtIGhlcmUgYXQgYm94LmNvbToNCj4gPiA+ID4gPiBodHRwczovL2FwcC5ib3guY29t L3MvbXk0dXBzc3RjdTF0amxoa3ZpMDBjdTRmdmFwcnAwMWUNCj4gPiA+ID4gPg0KPiA+ID4gPiA+ IFRoZSBQSUMgaXMgcHJvZ3JhbW1lZCB0byBwcm9kdWNlIDUgc2VsZWN0YWJsZSBmcmVxdWVuY2ll cyB1c2luZyB3YXZlDQo+ID4gPiA+ID4gdGFibGVzLiBUaGUgUFdNIG91dHB1dCBpcyBmaWx0ZXJl ZCBpbnRvIGEgc2luZSB3YXZlIHZpYSBhIHBhc3NpdmUgTFANCj4gPiA+ID4gPiBuZXR3b3JrLiBJ dCBpcyBwb3dlcmVkIGZyb20gYSBnb29kIHZhcmlhYmxlIGxhYiBzdXBwbHkuDQo+ID4gPiA+ID4N Cj4gPiA+ID4gPiBUaGUgdm9sdGFnZSByZWZlcmVuY2UgZGlzYWJsZXMgYSBmbGFzaGluZyBMRUQg d2hlbiB0aGUgYmF0dGVyeSBpcw0KPiA+IGxvdy4NCj4gPiA+ID4gPg0KPiA+ID4gPiA+IFRoZSBw cm9ibGVtIGlzIHRoYXQgYWZ0ZXIgc3VjY2Vzc2Z1bGx5IGJ1aWxkaW5nIHRoZSBwcm90b3R5cGUg b24gYQ0KPiA+IHNtYWxsDQo+ID4gPiA+ID4gcGllY2Ugb2YgVmVyb2JvYXJkLCBJIGNhbm5vdCBn ZXQgaXQgdG8gd29yayBhbnl3aGVyZSBlbHNlLiBJbg0KPiA+IHBhcnRpY3VsYXINCj4gPiA+ID4g PiBvbiBhIGxhcmdlciBWZXJvYm9hcmQgb3IgYSBzb2xkZXJsZXNzIHByb3RvIGJvYXJkLiBJIGhh dmUgdHJpZWQNCj4gPiA+ID4gPiBldmVyeXRoaW5nIEkgY2FuIHRoaW5rIG9mZiAuLi4gc2V2ZXJh bCB0aW1lcy4gVGhlIFBXTSBvdXRwdXQgbG9va3MNCj4gPiBmaW5lLA0KPiA+ID4gPiA+IGJ1dCBh cyBzb29uIGFzIEkgY29ubmVjdCB0aGUgZmlsdGVyIGNhcCB0byBkZWNrLCB0aGUgc2lnbmFsIGRp ZXMuDQo+ID4gVGhpcw0KPiA+ID4gPiA+IGRvZXMgbm90IGhhcHBlbiBvbiB0aGUgb3JpZ2luYWwg YnVpbGQgd2hpY2ggaXMgZXhhY3RseSB0aGUgc2FtZQ0KPiA+IGNpcmN1aXQuDQo+ID4gPiA+ID4N Cj4gPiA+ID4gPiBJIGhhdmUgaW5zdGFsbGVkIGEgMTA0IGNhcCBhY3Jvc3MgdGhlIHJhaWxzIGFu ZCBzaG9ydGVuZWQgYW55IHVudXNlZA0KPiA+ID4gPiA+IHRyYWNrcyB0byBubyBhdmFpbC4NCj4g PiA+ID4gPg0KPiA+ID4gPiA+IFdoYXQgaXMgdGhlIHJlY29tbWVuZGVkIHRyb3VibGVzaG9vdGlu ZyBwcm9jZWR1cmUgZm9yIGEgc2l0dWF0aW9uDQo+ID4gbGlrZQ0KPiA+ID4gPiA+IHRoaXMuDQo+ ID4gPiA+ID4NCj4gPiA+ID4gPiBDYW4gYW55b25lIG9mZmVyIGFueSBzdWdnZXN0aW9ucz8NCj4g PiA+ID4gPg0KPiA+ID4gPiA+IFBhdWwgTmllbHNlbg0KPiA+ID4gPiA+DQo+ID4gPiA+ID4NCj4g PiA+ID4gPiAtLQ0KPiA+ID4gPiA+IGh0dHA6Ly93d3cucGljbGlzdC5jb20vdGVjaHJlZi9waWNs aXN0IFBJQy9TWCBGQVEgJiBsaXN0IGFyY2hpdmUNCj4gPiA+ID4gPiBWaWV3L2NoYW5nZSB5b3Vy IG1lbWJlcnNoaXAgb3B0aW9ucyBhdA0KPiA+ID4gPiA+IGh0dHA6Ly9tYWlsbWFuLm1pdC5lZHUv bWFpbG1hbi9saXN0aW5mby9waWNsaXN0DQo+ID4gPiA+DQo+ID4gPiA+IC0tDQo+ID4gPiA+IGh0 dHA6Ly93d3cuZmFzdG1haWwuY29tIC0gRmFzdGVyIHRoYW4gdGhlIGFpci1zcGVlZCB2ZWxvY2l0 eSBvZiBhbg0KPiA+ID4gPiAgICAgICAgICAgICAgICAgICAgICAgICAgIHVubGFkZW4gZXVyb3Bl YW4gc3dhbGxvdw0KPiA+ID4gPg0KPiA+ID4gPiAtLQ0KPiA+ID4gPiBodHRwOi8vd3d3LnBpY2xp c3QuY29tL3RlY2hyZWYvcGljbGlzdCBQSUMvU1ggRkFRICYgbGlzdCBhcmNoaXZlDQo+ID4gPiA+ IFZpZXcvY2hhbmdlIHlvdXIgbWVtYmVyc2hpcCBvcHRpb25zIGF0DQo+ID4gPiA+IGh0dHA6Ly9t YWlsbWFuLm1pdC5lZHUvbWFpbG1hbi9saXN0aW5mby9waWNsaXN0DQo+ID4gPiA+DQo+ID4gPiA+ DQo+ID4gPiA+IC0tLS0tDQo+ID4gPiA+IE5vIHZpcnVzIGZvdW5kIGluIHRoaXMgbWVzc2FnZS4N Cj4gPiA+ID4gQ2hlY2tlZCBieSBBVkcgLSB3d3cuYXZnLmNvbQ0KPiA+ID4gPiBWZXJzaW9uOiAy MDE1LjAuNjAzNyAvIFZpcnVzIERhdGFiYXNlOiA0MzY1LzEwMTA3IC0gUmVsZWFzZSBEYXRlOg0K PiA+IDA2LzI3LzE1DQo+ID4gPiA+DQo+ID4gPg0KPiA+ID4NCj4gPiA+DQo+ID4NCj4gPg0KPiA+ IC0tDQo+ID4gaHR0cDovL3d3dy5waWNsaXN0LmNvbS90ZWNocmVmL3BpY2xpc3QgUElDL1NYIEZB USAmIGxpc3QgYXJjaGl2ZQ0KPiA+IFZpZXcvY2hhbmdlIHlvdXIgbWVtYmVyc2hpcCBvcHRpb25z IGF0DQo+ID4gaHR0cDovL21haWxtYW4ubWl0LmVkdS9tYWlsbWFuL2xpc3RpbmZvL3BpY2xpc3QN Cj4gPg0KPg0KPg0KPg0KPiAtLQ0KPiBfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX18NCj4gRGF2aWQgQyBCcm93bg0KPiA0MyBCaW5ncyBSb2FkDQo+IFdoYWxleSBCcmlk Z2UNCj4gSGlnaCBQZWFrICAgICAgICAgICAgICAgICAgICAgICAgICAgUGhvbmU6IDAxNjYzIDcz MzIzNg0KPiBEZXJieXNoaXJlICAgICAgICAgICAgICAgIGVNYWlsOiBkY2IuaG9tZUBnbWFpbC5j b20NCj4gU0syMyA3TkQgICAgICAgICAgd2ViOiB3d3cuYmluZ3Mta25vd2xlLmNvLnVrL2RjYg0K PiA8aHR0cDovL3d3dy5qYi5tYW4uYWMudWsvfmRjYj4NCg0KDQotLQ0KaHR0cDovL3d3dy5waWNs aXN0LmNvbS90ZWNocmVmL3BpY2xpc3QgUElDL1NYIEZBUSAmIGxpc3QgYXJjaGl2ZQ0KVmlldy9j aGFuZ2UgeW91ciBtZW1iZXJzaGlwIG9wdGlvbnMgYXQNCmh0dHA6Ly9tYWlsbWFuLm1pdC5lZHUv bWFpbG1hbi9saXN0aW5mby9waWNsaXN0DQo= .