WWVzLiAgVGhhdCBpcyBjb3VudGVyIGludHVpdGl2ZS4gIFlvdSB3b3VsZCBleHBlY3QgaGlnaGVy IGVuZXJnaWVzIHRvIGhhdmUKYSBncmVhdGVyIHJhbmdlIHRoYW4gbG93ZXIgb25lcy4gIEJ1dCwg YXMgRmV5bWFuIGFsd2F5cyBwb2ludGVkIG91dCwKcXVhbnR1bSBwaHlzaWNzIGlzIG5vdCBpbnR1 aXRpdmUgYW5kIHRyeWluZyB0byB1bmRlcnN0YW5kIGl0IGluIHRlcm1zIG9mCmNsYXNzaWNhbCBw aHlzaWNzIGlzIHRoZSByb2FkIHRvIGluc2FuaXR5LiAgOi0pCl9fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fXwpEYXZpZCBDIEJyb3duCjQzIEJpbmdzIFJvYWQKV2hhbGV5 IEJyaWRnZQpIaWdoIFBlYWsgICAgICAgICAgICAgICAgICAgICAgICAgICBQaG9uZTogMDE2NjMg NzMzMjM2CkRlcmJ5c2hpcmUgICAgICAgICAgICAgICAgZU1haWw6IGRjYi5ob21lQGdtYWlsLmNv bQpTSzIzIDdORCAgICAgICAgICB3ZWI6IHd3dy5iaW5ncy1rbm93bGUuY28udWsvZGNiCjxodHRw Oi8vd3d3LmpiLm1hbi5hYy51ay9+ZGNiPgoKCgoqU2VudCBmcm9tIG15IGV0Y2gtYS1za2V0Y2gq CgoKT24gRnJpLCAyIE5vdiAyMDE4IGF0IDE2OjA4LCBEYXZpZCBWYW4gSG9ybiA8CmRhdmlkLnZh bmhvcm5AYmFja2NvdW50cnlhY2Nlc3MuY29tPiB3cm90ZToKCj4gSSdtIGp1c3QgaW50ZXJlc3Rl ZCB0aGF0IHRoZSBoaWdoZXIgdGhlIGVuZXJneSwgdGhlIHNtYWxsZXIgdGhlIHNwaGVyZSBvZgo+ IGludGVyYWN0aW9uLgo+Cj4KPiAtLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQo+IEZyb206IHBp Y2xpc3QtYm91bmNlc0BtaXQuZWR1IDxwaWNsaXN0LWJvdW5jZXNAbWl0LmVkdT4gT24gQmVoYWxm IE9mCj4gRGF2aWQgQyBCcm93bgo+IFNlbnQ6IEZyaWRheSwgTm92ZW1iZXIgMiwgMjAxOCA5OjQ3 IEFNCj4gVG86IE1pY3JvY29udHJvbGxlciBkaXNjdXNzaW9uIGxpc3QgLSBQdWJsaWMuIDxwaWNs aXN0QG1pdC5lZHU+Cj4gU3ViamVjdDogUmU6IFtFRV0gRGlkIHlvdSBldmVyIHdvbmRlcj8KPgo+ IFBvaW50cywgbm90IGRpbWVuc2lvbmxlc3MgcG9pbnRzLiAgIEJ1dCBwb2ludHMgdGhhdCBpbnRl cmFjdCB3aXRoIG9iamVjdHMKPiBodW5kcmVkcyBvZiBtZXRyZXMgYXdheS4uICBCdXQgaXQgaXMg bWVhbmluZ2xlc3MgdG8gdHJlYXQgcGhvdG9ucyBhcyBpZgo+IHRoZXkgd2VyZSBvYmplY3RzIGFr aW4gdG8gYSBiYXNlYmFsbC4gIFRoZXkgYXJlIGEgbWF0aGVtYXRpY2FsIGNvbnN0cnVjdAo+IHRo YXQgZXhwbGFpbnMgdGhlIGJlaGF2aW91ciBvZiAibGlnaHQiCj4gX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fCj4gRGF2aWQgQyBCcm93bgo+IDQzIEJpbmdzIFJvYWQK PiBXaGFsZXkgQnJpZGdlCj4gSGlnaCBQZWFrICAgICAgICAgICAgICAgICAgICAgICAgICAgUGhv bmU6IDAxNjYzIDczMzIzNgo+IERlcmJ5c2hpcmUgICAgICAgICAgICAgICAgZU1haWw6IGRjYi5o b21lQGdtYWlsLmNvbQo+IFNLMjMgN05EICAgICAgICAgIHdlYjogd3d3LmJpbmdzLWtub3dsZS5j by51ay9kY2IKPiA8aHR0cDovL3d3dy5qYi5tYW4uYWMudWsvfmRjYj4KPgo+Cj4KPiAqU2VudCBm cm9tIG15IGV0Y2gtYS1za2V0Y2gqCj4KPgo+IE9uIEZyaSwgMiBOb3YgMjAxOCBhdCAxNToyOCwg RGF2aWQgVmFuIEhvcm4gPAo+IGRhdmlkLnZhbmhvcm5AYmFja2NvdW50cnlhY2Nlc3MuY29tPiB3 cm90ZToKPgo+ID4gU28gZXZlbiB0aGUgcGhvdG9ucyBvZiByYWRpbyB3aXRoIHdhdmVsZW5ndGhz IG9mIGh1bmRyZWRzIG9mIG1ldGVycwo+ID4gYXJlIGRpbWVuc2lvbmxlc3MgcG9pbnRzPwo+ID4K PiA+Cj4gPiAtLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQo+ID4gRnJvbTogcGljbGlzdC1ib3Vu Y2VzQG1pdC5lZHUgPHBpY2xpc3QtYm91bmNlc0BtaXQuZWR1PiBPbiBCZWhhbGYgT2YKPiA+IERh dmlkIEMgQnJvd24KPiA+IFNlbnQ6IFRodXJzZGF5LCBOb3ZlbWJlciAxLCAyMDE4IDU6MDggUE0K PiA+IFRvOiBNaWNyb2NvbnRyb2xsZXIgZGlzY3Vzc2lvbiBsaXN0IC0gUHVibGljLiA8cGljbGlz dEBtaXQuZWR1Pgo+ID4gU3ViamVjdDogUmU6IFtFRV0gRGlkIHlvdSBldmVyIHdvbmRlcj8KPiA+ Cj4gPiBQaG90b25zIGFyZSBtYXNzIGxlc3MgcG9pbnQgcGFydGljbGVzIHNvIHRoZXkgZG9uJ3Qg aGF2ZSBhIHZvbHVtZSBhbmQKPiA+IGNlcnRhaW5seSBkb24ndCBlbmNsb3NlIGFueSBzcGFjZS4g ICAgICBJdCBpcyBzb3J0IG9mIG1lYW5pbmdmdWwgdG8gc3BlYWsKPiA+IG9mIHRoZSByYWRpdXMg b2YgYSBwaG90b24gYXMgaXRzIGludGVyYWN0aW9uIHJhbmdlLiAgVGhpcyBzY2FsZXMgd2l0aAo+ ID4gaXRzIHdhdmVsZW5ndGgsIHNvICJsaWdodCAib2YgbG9uZ2VyIHdhdmVsZW5ndGggaXMgbW9y ZSBsaWtlbHkgdG8KPiA+IGludGVyYWN0IHdpdGggYSBjb25kdWN0aXZlIG1hdGVyaWFsIHRoYW4g ImxpZ2h0IiBvZiBhIHNob3J0ZXIKPiA+IHdhdmVsZW5ndGguIEluIHRoaXMgd2F5IHlvdSBjb3Vs ZCBzYXkgdGhlIOKAnHNpemXigJ0gb2YgcGhvdG9uIGlzCj4gPiBiYXNpY2FsbHkgaXRzIHdhdmVs ZW5ndGggX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCj4gPiBEYXZp ZCBDIEJyb3duCj4gPiA0MyBCaW5ncyBSb2FkCj4gPiBXaGFsZXkgQnJpZGdlCj4gPiBIaWdoIFBl YWsgICAgICAgICAgICAgICAgICAgICAgICAgICBQaG9uZTogMDE2NjMgNzMzMjM2Cj4gPiBEZXJi eXNoaXJlICAgICAgICAgICAgICAgIGVNYWlsOiBkY2IuaG9tZUBnbWFpbC5jb20KPiA+IFNLMjMg N05EICAgICAgICAgIHdlYjogd3d3LmJpbmdzLWtub3dsZS5jby51ay9kY2IKPiA+IDxodHRwOi8v d3d3LmpiLm1hbi5hYy51ay9+ZGNiPgo+ID4KPiA+Cj4gPgo+ID4gKlNlbnQgZnJvbSBteSBldGNo LWEtc2tldGNoKgo+ID4KPiA+Cj4gPiBPbiBUaHUsIDEgTm92IDIwMTggYXQgMTc6MzgsIERhdmlk IFZhbiBIb3JuIDwKPiA+IGRhdmlkLnZhbmhvcm5AYmFja2NvdW50cnlhY2Nlc3MuY29tPiB3cm90 ZToKPiA+Cj4gPiA+IFJGIGlzIGEgZnVubnkgdGhpbmcuCj4gPiA+ID5Gcm9tIEtIeiB0byBsaWdo dCBhbmQgYmV5b25kLCBpdCdzIHBob3RvbnMgb2YgRU0gZW5lcmd5LiBUaGUKPiA+ID4gPnBob3Rv bnMgZ2V0Cj4gPiA+IHNtYWxsZXIgYXMgdGhlIGVuZXJneSBnb2VzIHVwLgo+ID4gPiBEb3duIGlu IHRoZSA2MDAgbWV0ZXIgaGFtIGJhbmQsIHRoZSBwaG90b25zIGFyZSBIVUdFIGFuZCB0aGUKPiA+ ID4gZW5lcmdpZXMgYXJlIFRJTlkuCj4gPiA+IEluIHZpc2libGUgbGlnaHQsIHRoZSBwaG90b25z IGFyZSBzbWFsbCwgYW5kIHRoZSBlbmVyZ2llcyBhcmUgYXJvdW5kCj4gMWVWLgo+ID4gPiBJbiB0 aGUgZ2FtbWEgcmFuZ2UsIHRoZSBwaG90b25zIGFyZSB0aW55LCBhbmQgdGhlIGVuZXJnaWVzIGFy ZSBIVUdFCj4gPiA+IHN0YXJ0aW5nIGF0IGFib3V0IDEwa2VWIGFuZCBnb2luZyBvbiB1cCBwYXN0 IDEwMDBrZVYgQXMgdGhlIGVuZXJnaWVzCj4gPiA+IGdldCBoaWdoZXIsIGdhbW1hcyBhcmUgbGVz cyBhbmQgbGVzcyBsaWtlbHkgdG8gaW50ZXJhY3Qgd2l0aCBhbnl0aGluZy4KPiA+ID4KPiA+ID4g U28gYXMgdGhlIGVuZXJneSBnb2VzIHVwIGFuZCB1cCwgdGhlIHZvbHVtZSBvZiBzcGFjZSBlbmNs b3NlZCBieSBhCj4gPiA+IHBob3RvbiBzaHJpbmtzIHRvd2FyZCBhIHBvaW50Lgo+ID4gPgo+ID4g PiAtLQo+ID4gPiBodHRwOi8vd3d3LnBpY2xpc3QuY29tL3RlY2hyZWYvcGljbGlzdCBQSUMvU1gg RkFRICYgbGlzdCBhcmNoaXZlCj4gPiA+IFZpZXcvY2hhbmdlIHlvdXIgbWVtYmVyc2hpcCBvcHRp b25zIGF0Cj4gPiA+IGh0dHA6Ly9tYWlsbWFuLm1pdC5lZHUvbWFpbG1hbi9saXN0aW5mby9waWNs aXN0Cj4gPiA+Cj4gPiAtLQo+ID4gaHR0cDovL3d3dy5waWNsaXN0LmNvbS90ZWNocmVmL3BpY2xp c3QgUElDL1NYIEZBUSAmIGxpc3QgYXJjaGl2ZQo+ID4gVmlldy9jaGFuZ2UgeW91ciBtZW1iZXJz aGlwIG9wdGlvbnMgYXQKPiA+IGh0dHA6Ly9tYWlsbWFuLm1pdC5lZHUvbWFpbG1hbi9saXN0aW5m by9waWNsaXN0Cj4gPgo+ID4gLS0KPiA+IGh0dHA6Ly93d3cucGljbGlzdC5jb20vdGVjaHJlZi9w aWNsaXN0IFBJQy9TWCBGQVEgJiBsaXN0IGFyY2hpdmUKPiA+IFZpZXcvY2hhbmdlIHlvdXIgbWVt YmVyc2hpcCBvcHRpb25zIGF0Cj4gPiBodHRwOi8vbWFpbG1hbi5taXQuZWR1L21haWxtYW4vbGlz dGluZm8vcGljbGlzdAo+ID4KPiAtLQo+IGh0dHA6Ly93d3cucGljbGlzdC5jb20vdGVjaHJlZi9w aWNsaXN0IFBJQy9TWCBGQVEgJiBsaXN0IGFyY2hpdmUKPiBWaWV3L2NoYW5nZSB5b3VyIG1lbWJl cnNoaXAgb3B0aW9ucyBhdAo+IGh0dHA6Ly9tYWlsbWFuLm1pdC5lZHUvbWFpbG1hbi9saXN0aW5m by9waWNsaXN0Cj4KPiAtLQo+IGh0dHA6Ly93d3cucGljbGlzdC5jb20vdGVjaHJlZi9waWNsaXN0 IFBJQy9TWCBGQVEgJiBsaXN0IGFyY2hpdmUKPiBWaWV3L2NoYW5nZSB5b3VyIG1lbWJlcnNoaXAg b3B0aW9ucyBhdAo+IGh0dHA6Ly9tYWlsbWFuLm1pdC5lZHUvbWFpbG1hbi9saXN0aW5mby9waWNs aXN0Cj4KLS0gCmh0dHA6Ly93d3cucGljbGlzdC5jb20vdGVjaHJlZi9waWNsaXN0IFBJQy9TWCBG QVEgJiBsaXN0IGFyY2hpdmUKVmlldy9jaGFuZ2UgeW91ciBtZW1iZXJzaGlwIG9wdGlvbnMgYXQK aHR0cDovL21haWxtYW4ubWl0LmVkdS9tYWlsbWFuL2xpc3RpbmZvL3BpY2xpc3QK .