My41IHllYXJzIG9uIEknZCBsaWtlIHRvIGFzayBtdWNoIHRoZSBzYW1lIHF1ZXN0aW9uLgpUaGVy ZSBhcmUgInJhdGhlciBtb3JlIHNvbHV0aW9ucyIgYXZhaWxhYmxlIG5vdy4KU3RhcnRpbmcgYXQg ImNoZWFwIiBhbmQgd29ya2luZyB1cCBhIGxpdHRsZSBpZiBuZWVkcyBiZSwgd2hhdCdzIHdyb25n IG9yCnJpZ2h0IHdpdGggdmFyaW91cyBvZmZlcmluZ3MuCgoqSSB3YW50IGEgIlBDIiAvIFdJTjEw IHZpZGVvIGNhcmQgdG8gcnVuIGEgNEsgdmlkZW8gc2NyZWVuICoob3Igc2V2ZXJhbCkoMgpzY3Jl ZW5zIG9mIHZhcmlvdXMgcmVzb2x1dGlvbnMgT0ssIG1vcmUgbmljZSkKCi0gTWFqb3IgYWltIGlz IHRvIGJlIGFibGUgdG8gdmlldyBwaG90b3MgZnVsbCBzY3JlZW4gb24gYSA0ayBtb25pdG9yLgot IE5leHQgbG93ZXIgYWltIGlzIGdlbmVyYWwgdXNlIGFzIGEgJ2Rlc2t0b3AgYWJsZSB0byBzdXBw b3J0ICB0aGUKZXF1aXZhbGVudCBvZiAoMngyKSA0IHggMTA4MHAgSEQgc2NyZWVucy4KLSBWaWRl byBjYXBhYmlsaXR5IHJlcXVpcmVtZW50cyBhcmUgbW9kZXN0LgotIEdhbWluZyB3aWxsIGhhdmUg dG8gd2FpdCBmb3IgYW5vdGhlciBsaWZldGltZS4KCkFiaWxpdHkgdG8gZGlzcGxheSA0ayBmdWxs IHNjcmVlbiBwaG90byBiYXNlZCBpbWFnZXMgYXQgd2hhdGV2ZXIgcmF0ZSBhbgplZGl0aW5nIC8g dmlld2luZyBwcm9ncmFtIGNhbiBwcmVzZW50IHRoZW0gaXMgZGVzaXJhYmxlLgoKTXkgcHJpb3Ig Y29tbWVudHMgb24gdGhpcyB0aHJlYWQgc3RpbGwgbGFyZ2VseSBhcHBseQpTZWFyY2hpbmcgZm9y IHBvc3RzIHdpdGggc3ViamVjdCA9IFtPVF06OiA0SyBWaWRlbyBzaG91bGQgcHJvdmlkZSBhbGwg cHJpb3IKcG9zdHMgKGlmIHlvdSd2ZSBzYXZlZCB0aGVtIDotKSApLgoKCuKAi1J1c3NlbGzigIsK CgrigItlZyBhdCBhIHF1aWNrIHNraW0gIkdpZ2FieXRlIFJhZGVvbiBSWCA1NjAgT0MgMkcgUmFk ZW9uIFJYIDU2MCAyR0IgR0REUjUiCmZvciAkTloyMjMgc291bmRzICJhZGVxdWF0ZSIuIElzIGl0 PwpTdXBwb3J0IGZvciAzIG1vbml0b3JzIHdvdWxkIGJlIG5pY2UgYnV0IG5vdCBlc3NlbnRpYWwu CgoKaHR0cHM6Ly93d3cudHJhZGVtZS5jby5uei9jb21wdXRlcnMvY29tcG9uZW50cy92aWRlby1j YXJkcy9hZ3AvYXVjdGlvbi0xNDczNjUzMzgyLmh0bQog4oCLCgouLi4gIFNtb290aCBhbmQgQ3Jp c3AgVmlzdWFsIEVxdWlwcGVkIHdpdGggb25lIER1YWwtbGluayBEVkktRCwgb25lIERQLCBhbmQK b25lIEhETUkgcG9ydHMsIHRoZSBjYXJkICpjYW4gc3VwcG9ydCAzIGRpc3BsYXlzICphbmQgZGVs aXZlciBzbW9vdGggNEsKdmlkZW8gcGxheWJhY2suIEFPUlVTIEdyYXBoaWNzIEVuZ2luZSBUaGUg Y3V0dGluZyBlZGdlIGludHVpdGl2ZSBpbnRlcmZhY2UKYWxsb3dzIHlvdSB0byB0dW5lIHRoZSBj bG9jayBzcGVlZHMsIHZvbHRhZ2UsIGZhbiBwZXJmb3JtYW5jZSwgYW5kIHBvd2VyCnRhcmdldCBp biByZWFsLXRpbWUgYWNjb3JkaW5nIHRvIHlvdXIgb3duIGdhbWluZyByZXF1aXJlbWVudC4KCiri gItfX19fX19fX19fX19fX19fX19fX19fX18gIE9MREVSICBfX19fX19fX19fX19fX19fX19fX19f X19fX19fKuKAiwoKCgpPbiAxNyBNYXkgMjAxNCBhdCAxMTozMiwgUnVzc2VsbE1jIDxhcHB0ZWNo bnpAZ21haWwuY29tPiB3cm90ZToKCj4gU291Z2h0OiBDb21tZW50cyAmIHJlY29tbWVuZGF0aW9u cyBvbiBhY2NlcHRhYmxlIHBlcmZvcm1hbmNlIGxvdy1jb3N0Cj4gZW50cnktbGV2ZWwgNEsgY2Fw YWJsZSB2aWRlbyBjYXJkcyBmb3IgImRlc2t0b3AiIGFwcGxpY2F0aW9ucy4KPgo+IF9fX19fX19f Xwo+Cj4gTXkgc29uIGhhcyBqdXN0IGFjcXVpcmVkIGEgIjRLIiBMQ0Qgc2NyZWVuLCBtYWlubHkg Zm9yIGdhbWluZy4KPiBWaWRlbyBjYXJkcyB3aXRoIGFkZXF1YXRlIGdhbWluZyBwZXJmb3JtYW5j ZSBjb3N0IHRoZSBiZXR0ZXIgcGFydCBvZiB3aGF0Cj4gaGUgcGFpZCBmb3IgdGhlIG1vbml0b3Iu Cj4KPiBHYW1pbmcgcGVyZm9ybWFuY2UgSSBuZWVkIG5vdC4KPiBUaGUgYWJpbGl0eSB0byBkaXNw bGF5IHBob3RvcyBhdCBoaWdoZXIgcmVzb2x1dGlvbiB3b3VsZCBiZSAnbmljZScuCj4gT2RkcyBh cmUgSSdtIG5vdCBnb2luZyB0byBydXNoIG91dCBhbmQgYnV5IGEgNEsgbW9uaXRvciBhbnkgdGlt ZSBzb29uLCBidXQKPiBJJ2xsIGtlZXAgYW4gZXllIG9uIHdoYXQncyBhdmFpbGFibGUuCj4KPiBC VVQKPgo+IFdoYXQgZXhwZXJpZW5jZSBhbmQvb3IgcmVjb21tZW5kYXRpb25zIGRvIHBlb3BsZSBo YXZlIGZvciBjaGVhcGVzdAo+IHBvc3NpYmxlIHdoaWxlIG5vdCB1dHRlcmx5IHRlcnJpYmxlIHZp ZGVvIGNhcmRzIGZvciAnUEMnIHRoYXQgcHJvdmlkZSA0Swo+IG91dHB1dC4KPgo+IEFueSBjYXJk IEkndmUgZ2xhbmNlZCBhdCB0aGF0IGRvZXMgNEsgaXMgc28gZmFyIGFib3ZlIGFueXRoaW5nIEkn dmUgdXNlZAo+IGF0IGxvd2VyIHJlc29sdXRpb25zIHRoYXQgYW55IHNob3VsZCBiZSBhYmxlIHRv IGRyb3AgYmFjayB0byBtZXJlIEhEIG9yIDJLCj4gb3Igd2hhdGV2ZXIgd2l0aCBlYXNlIHdoZW4g ZWcgdmlkZW8gaXMgdG8gYmUgZGlzcGxheWVkIC0gbm90IGEgbWFqb3IKPiBhcHBsaWNhdGlvbiBm b3IgbWUsIGJ1dCBzb21ldGltZXMgaGFwcGVucy4KPgo+IExvdyBjb3N0IHN1Z2dlc3Rpb24gdGhh dCBwZW9wbGUgc2F5IHdvcmsgd2VsbCBmb3IgdGhlbSBpbiBhIGRlc2t0b3AgcmF0aGVyCj4gdGhh biBnYW1pbmcgZW52aXJvbm1lbnQgaW5jbHVkZSBSYWRlb24gNzk3MCBhbmQgQXN1cyBHVDY0MC4K PiBCb3RoIG9mIHRob3NlIHdvdWxkIHByb2JhYmx5IG1ha2UgYSBjdXJyZW50IGxlYWRpbmcgZWRn ZSBnYW1lciBzbmVlci4KPgo+IFNvLCBhbnkgY29tbWVudHMgJiByZWNvbW1lbmRhdGlvbnMgb24g YWNjZXB0YWJsZSBwZXJmb3JtYW5jZSBsb3ctY29zdAo+IGVudHJ5LWxldmVsIDRLIGNhcGFibGUg dmlkZW8gY2FyZHMgZm9yICJkZXNrdG9wIiBhcHBsaWNhdGlvbnM/Cj4KPgo+ICAgICAgICAgICAg UnVzc2VsbAo+Ci0tIApodHRwOi8vd3d3LnBpY2xpc3QuY29tL3RlY2hyZWYvcGljbGlzdCBQSUMv U1ggRkFRICYgbGlzdCBhcmNoaXZlClZpZXcvY2hhbmdlIHlvdXIgbWVtYmVyc2hpcCBvcHRpb25z IGF0Cmh0dHA6Ly9tYWlsbWFuLm1pdC5lZHUvbWFpbG1hbi9saXN0aW5mby9waWNsaXN0Cg== .