VmVyeSBuaWNlIGZlYXR1cmVzIGZvciB0aGUgcHJpY2UsIGJ1dCBteSBiaWdnZXN0IGNvbmNlcm4g d2l0aCB0aGUgIApQYXJyb3Qgd2FzIGhvdyByZWxpYWJsZSB0aGUgV2lGaSB3b3VsZCBiZSwgYW5k IHdoYXQgd291bGQgaGFwcGVuICAKaWYvd2hlbiBpdCBsb3N0IGNvbW11bmljYXRpb25zLiAgV2Vs bCBhcHBhcmVudGx5IGEgeWVhciBsYXRlciB0aGVyZSAgCmFyZSBzZXZlcmFsIHJlcG9ydHMgY3Jh c2hlcyBkdWUgdG8gdGhpcy4KCkNoZWVycywKLU5laWwuCgoKClF1b3RpbmcgUnVzc2VsbE1jIDxh cHB0ZWNobnpAZ21haWwuY29tPjoKCj4gUGFycm90J3MgJFVTMzAwIHF1YWRyb3RvciBBUi5Ecm9u ZSBoYXMgZ290IGdvb2QgZW5vdWdoIHRvIG1ha2UgbWUKPiBzZXJpb3VzbHkgd2FudCBvbmUuIFdo ZXRoZXIgSSBnZXQgb25lIGlzIGFub3RoZXIgbWF0dGVyIChub3QgYmVmb3JlIGEKPiBEODAwIDot KSApLgo+IER1YWwgaW5idWlsdCBjYW1lcmFzIC0gVkdBIDE1IGZwcyBmd2QgbG9va2luZyBhbmQg NjAgZnBzIFFDSUYgbG9va2Rvd24uCj4KPiDCoGh0dHA6Ly9lbGVjdHJvbmljZGVzaWduLmNvbS9h cnRpY2xlL2VtYmVkZGVkL1NtYXJ0LXBob25lLUNvbnRyb2xzLUxvdy1Db3N0LVF1YWRyb3Rvci0u YXNweD9jaWQ9ZWRfZW1iZWRkZWRuZXdzbGV0dGVyJk5MPTEmWU1fUklEPWFwcHRlY2huekBnbWFp bC5jb20KPgo+IEkgd29uZGVyIGhvdyBoYXJkIGl0IHdvdWxkIGJlIHRvIGVuaGFuY2UgdGhlIHBy b3B1bHNpb24gc3lzdGVtIHdoaWxlCj4gdXNpbmcgdGhlIHN0YW5kYXJkIGNvbnRyb2xsZXIuCj4K PiBQYXJyb3QKPgo+ICAgICAgICAgaHR0cDovL2FyZHJvbmUucGFycm90LmNvbS9wYXJyb3QtYXIt ZHJvbmUvdXNhLwo+Cj4gMTIgbWludXRlcyBkdXJhdGlvbgo+IEV2ZW4gaGFzIChhdCBsZWFzdCAx KSBhIFBJQyBpbiBpdC4KPgo+IFRoZXkgc2F5Ogo+Cj4KPiBQYXJyb3TigJlzIEFSLkRyb25lIGVs ZWN0cmljIHF1YWRyb3RvciBpcyBjb25zaWRlcmVkIGEgbWluaWF0dXJlCj4gdW5tYW5uZWQgYWly IHZlaGljbGUgKFVBVikuIEF0IG9ubHkgJDI5OSwgaXQgaGFzIGhhbGYgYSBkb3plbgo+IG1pY3Jv Y29udHJvbGxlcnMuIEl0IGlzIGFsc28gbXVjaCBsZXNzIGV4cGVuc2l2ZSB0aGFuIFVBVnMgbGlr ZSB0aGUKPiBEcmFnYW5mbHllciBYNiwgdGhvdWdoIHRoZSBsYXJnZXIgc2l4LW1vdG9yL3Byb3Bl bGxlciBEcmFnYW5mbHllciBYNgo+IHN1cHBvcnRzIGEgc2lnbmlmaWNhbnRseSBoZWF2aWVyIHBh eWxvYWQgKHNlZSDigJxVQVZzIENvbnF1ZXIgVGhlIFNraWVz4oCdCj4gYXQgZWxlY3Ryb25pY2Rl c2lnbi5jb20pLgo+Cj4gVGhlIDEwMDAtbUEgbGl0aGl1bS1wb2x5bWVyIGJhdHRlcnkgcHJvdmlk ZXMgdGhlIDM4MC1nIGFpcmNyYWZ0IHdpdGgKPiAxMiBtaW51dGVzIG9mIGZseWluZyB0aW1lIChG aWcuIDEpLiBJdCBpcyBkcml2ZW4gYnkgZm91ciAxNS1XLAo+IDI4MDAwLXJwbSBicnVzaGxlc3Mg ZGMgbW90b3JzLiBFYWNoIG1vdG9yIGhhcyBpdHMgb3duIDgtYml0Cj4gbWljcm9jb250cm9sbGVy Lgo+Cj4gQW4gaW1wcmVzc2l2ZSBzaW5nbGUtYm9hcmQgY29tcHV0ZXIgY29udHJvbHMgdGhlIEFS LkRyb25lLiBJdCBydW5zCj4gTGludXggYW5kIGluY2x1ZGVzIGEgNDY4LU1IeiBBUk05IG1pY3Jv Y29udHJvbGxlciB3aXRoIDEyNyBNYnl0ZXMgb2YKPiBkb3VibGUgZGF0YSByYXRlIChERFIpIG1l bW9yeS4gQWxzbywgaXQgaGFzIDgwMi4xMWIvZyB3aXJlbGVzcwo+IHN1cHBvcnQsIGEgVVNCIHNv Y2tldCwgYW5kIGEgaG9zdCBvZiBwZXJpcGhlcmFscy4KPgo+IFRoZXJlIGFyZSB0d28gb24tYm9h cmQgY2FtZXJhczogYSBmb3J3YXJkLWxvb2tpbmcgMTUtZnJhbWUvcyBWR0EKPiBjYW1lcmEgd2l0 aCBhIHdpZGUtYW5nbGUgbGVucyBhbmQgYSA2MC1mcmFtZS9zIFFDSUYgZG93bi1sb29raW5nCj4g Y2FtZXJhLiBBbiB1bHRyYXNvdW5kIHNlbnNvciBhY3RzIGFzIGFuIGFsdGltZXRlciB3aXRoIGEg cmFuZ2Ugb2YgNiBtLgo+IFRoZSBpbnRlcm5hbCBndWlkYW5jZSBzeXN0ZW0gaW5jbHVkZXMgYSB0 aHJlZS1heGlzIGFjY2VsZXJvbWV0ZXIsIGEKPiB0d28tYXhpcyBneXJvc2NvcGUsIGFuZCBhIG9u ZS1heGlzIHByZWNpc2lvbiBneXJvc2NvcGUgdHJhY2tpbmcgeWF3Cj4gcmF0ZS4KPgo+IFRoZSBB Ui5Ecm9uZSBoYXMgaW50ZXJjaGFuZ2VhYmxlIGZvYW0gaHVsbHMuIFRoZSBkdWN0ZWQgZmFuIGlz IHVzZWZ1bAo+IGZvciBpbmRvb3Igb3BlcmF0aW9uLiBUaGUgYWlyY3JhZnQgaXMgYnVpbHQgdXNp bmcgY2FyYm9uIGZpYmVyIGFuZAo+IFBBNjYgaGlnaC1yZXNpc3RhbmNlIHBsYXN0aWMuCj4KPiBQ aWxvdHMgY2FuIGZseSB0aGUgdGhlIEFSLkRyb25lIGJ5IFdpLUZpIHVzaW5nIGEgZGV2aWNlIGxp a2UgYW4gQXBwbGUKPiBpUGhvbmUgb3IgYW4gQW5kcm9pZCBzbWFydCBwaG9uZSAoRmlnLiAyKS4g QSAxNi1iaXQgTWljcm9jaGlwIFBJQzI0Cj4gcHJvY2Vzc29yIHJ1bnMgdGhlIGF1dG9waWxvdCwg cHJvdmlkaW5nIGEgc3RhYmxlIHBsYXRmb3JtIHVzaW5nIHRoZQo+IHNlbnNvcnMgaW5jbHVkaW5n IHRoZSBhbHRpbWV0ZXIuIEl0IGNhbiBhdXRvbWF0aWNhbGx5IGhhbmRsZSB0YWtlb2ZmCj4gYW5k IGxhbmRpbmcuCj4KPiBUaGUgQVIuUGlsb3QgY29udHJvbCBhcHBsaWNhdGlvbiBwcm92aWRlcyBj YW1lcmEgdmlld3MgYW5kIGNhbgo+IGluY29ycG9yYXRlIGF1Z21lbnRlZCByZWFsaXR5LiBUaGUg QVIuUmFjZSBhcHBsaWNhdGlvbiBjb21iaW5lcwo+IHBpbG90aW5nIHdpdGggbXVsdGl1c2VyIGNv bXBldGl0aW9uIHN1cHBvcnQuIFBhcnJvdCBoYXMgYWxzbyBkZXZlbG9wZWQKPiBzdGFuZGFsb25l IGdhbWVzIGJhc2VkIG9uIHRoZSBBUi5Ecm9uZS4KPgo+IFBhcnJvdCBwcm92aWRlcyBhbiBhcHBs aWNhdGlvbiBwcm9ncmFtbWluZyBpbnRlcmZhY2UgKEFQSSkgZm9yCj4gY29udHJvbGxpbmcgdGhl IEFSLkRyb25lLiBJdCBjb25zaXN0cyBvZiBhbiBBVC1zdHlsZSBjb21tYW5kIHNldCBzZW50Cj4g dmlhIFdpLUZpIHVzaW5nIHN0YW5kYXJkIG5ldHdvcmsgcG9ydHMuIFRoZSBjb250cm9sIGFwcGxp Y2F0aW9uLCBsaWtlCj4gdGhlIGlQaG9uZSBhbmQgQW5kcm9pZCBhcHBsaWNhdGlvbnMsIHJ1bnMg aW4gYSBiYXNlc3RhdGlvbi4gVGhlCj4gQVIuRHJvbmUgaXMgYWxyZWFkeSBiZWluZyB1c2VkIGZv ciByZXNlYXJjaCBwcm9qZWN0cyBhdCBhIG51bWJlciBvZgo+IHVuaXZlcnNpdGllcy4gU29tZSBh cmUgdXNpbmcgdGhlIE1pY3Jvc29mdCBLaW5lY3QgdG8gcmVjb2duaXplIGJvZHkKPiBtb3ZlbWVu dCB0byBjb250cm9sIHRoZSBBUi5Ecm9uZS4KPgo+IF9fX19fX19fX19fCj4KPiBQaWN0dXJlIG9m IHNvcnRzCj4KPiAgICAgaHR0cDovL2VsZWN0cm9uaWNkZXNpZ24uY29tL0NvbnRlbnQvVXNlclN0 b3JhZ2UvMTc5MjgvNjM1MTgtZmlnMS5qcGcKPgo+IFJlYWwgcGVyc29ucyBVQVYKPgo+ICAgICAg ICAKPiBodHRwOi8vd2ViZnVsZmlsbG1lbnQuY29tL2NlZGFyZ3JhcGhpY3MvQ0YvUkMvTFAvMTUz L2ltYWdlcy9VQVNfZUJvb2tfMjAxMV9kaWdpdGFsLnBkZgo+Cj4gLS0KPiBodHRwOi8vd3d3LnBp Y2xpc3QuY29tIFBJQy9TWCBGQVEgJiBsaXN0IGFyY2hpdmUKPiBWaWV3L2NoYW5nZSB5b3VyIG1l bWJlcnNoaXAgb3B0aW9ucyBhdAo+IGh0dHA6Ly9tYWlsbWFuLm1pdC5lZHUvbWFpbG1hbi9saXN0 aW5mby9waWNsaXN0Cj4KCgoKCi0tIApodHRwOi8vd3d3LnBpY2xpc3QuY29tIFBJQy9TWCBGQVEg JiBsaXN0IGFyY2hpdmUKVmlldy9jaGFuZ2UgeW91ciBtZW1iZXJzaGlwIG9wdGlvbnMgYXQKaHR0 cDovL21haWxtYW4ubWl0LmVkdS9tYWlsbWFuL2xpc3RpbmZvL3BpY2xpc3QK .