T24gV2VkbmVzZGF5LCBGZWJydWFyeSAxOSwgMjAxNCAwMjowNDo1MSBBTSBBYXJvbiBKLiBTZWln byB3cm90ZToKPiBoaS4uLgo+IAo+IGFzIHRoZSBvdGhlciB0aHJlYWQgaXMgYSBiaXQgc3ByZWFk IG91dCBpbiB0ZXJtcyBvZiB0b3BvaWMsIGkgdGhvdWdodCBp4oCZZAo+IHN0YXJ0IGFmcmVzaCBh bmQgdHJ5IHRvIGNvbGxlY3QgdGhlIGltcGxpY2F0aW9ucyBpbiBvbmUgZXhoYXVzdGl2ZSBsaXN0 Cj4gKGl04oCZcyBsb25nIC4uIHNvcnJ5IDovKQo+IAo+ID09IFRoaXMgaXMgYSBqb3VybmV5ID09 Cj4gCj4gVGhpcyB3aWxsIHRha2UgYSBsb25nIHRpbWUgdG8gY29tbXVuaWNhdGUsIG5vIG1hdHRl ciB3aGF0IGhhcHBlbnM6IG5hbWUKPiBjaGFuZ2Ugb3Igbm90LiBJIGV4cGVjdCA2IG1vbnRocyBv ZiBjb25zaXN0ZW50IG1lc3NhZ2luZyBpcyBhIGJhcmUgbWluaW11bSwKPiBhbmQgaXQgd2lsbCBs aWtlbHkgdGFrZSBsb25nZXIuIFRoaXMgaXMgbm90IGEgb25lLXRpbWUgY29tbXVuaWNhdGlvbgo+ IHF1ZXN0aW9uLCBidXQgc29tZXRoaW5nIHRoYXQgc2V0cyB0aGUgdG9uZSBmb3IgYSA2IG1vbnRo IHRyZWssIGFuZCB3aGljaAo+IHdpbGwgZWFzaWx5IGhhdmUgaW1wbGljYXRpb25zIGZvciB0aGUg bmV4dCAzKyB5ZWFycy4KPiAKPiA9PSBFc3RhYmxpc2hlZCBpbnZlc3RtZW50IG5lcG9tdWsgPT0K PiAKPiBXaGlsZSB3ZeKAmXZlIHRyaWVkIHRvIGtlZXAgTmVwb211ayBvdXQgb2YgdGhlIGRlZmF1 bHQgVUkgYXMgbXVjaCBhcyBwb3NzaWJsZSwKPiBpdCBzdGlsbCBzaG93cyB1cCBpbiBwbGFjZXMu IEl0IGlzIGFsc28gcmVxdWlyZWQgZm9yIHRyb3VibGVzaG9vdGluZywgYW5kCj4gYXMgc3VjaCBl eGlzdHMgb24gb3VyIHN1cHBvcnQgd2lraXMuIFdlIGhhdmUgcmVjb2duaXplZCB2aXN1YWwgaWRl bnRpdHkKPiBjb21wb25lbnRzICh0aGUgbmVwb211ayBsb2dvIGljb24pIHRoYXQgaGF2ZSBiZWVu IG1vcmUgb3IgbGVzcyB2aXNpYmxlIGluCj4gUGxhc21hIGZvciBzb21lIHRpbWUuCj4gCgpTYXlz IHdobz8gRXN0YWJsaXNoZWQgdXNlcnMga25vdyB3aGF0IHRoZSBpY29uIG1lYW5zIGJlY2F1c2Ug dGhleSBhcmUgdXNlZCB0byAKaXQgbm90IGJlY2F1c2UgdGhlIGljb24gbWVhbnMgYW55dGhpbmcu IFRyeSBzaG93aW5nIHRoYXQgaWNvbiB0byBhIHJhbmRvbSAKcGVyc29uIGFuZCBhc2tpbmcgd2hh dCB0aGV5IHRoaW5rIGl0IGRvZXMuCgpBbHNvLCBpdCBoYXMgbm90IGJlZW4gdmlzaWJsZSBpbiBQ bGFzbWEuIEl0IGhhcyBqdXN0IGJlZW4gdmlzaWJsZSBpbiB0aGUgClN5c3RlbSBTZXR0aW5ncy4K Cj4gQmVpbmcgYWJsZSB0byBhdHRhY2ggdGhlIOKAnGJpZ2dlciwgYmV0dGVyLCBmYXN0ZXLigJ0g c3Rvcnkgb2YgQmFsb28gdG8gTmVwb211awo+IGlzIGFuIGVhc2llciBzdG9yeSB0byB0ZWxsIHRo YW4gaGF2aW5nIHRvIGV4cGxhaW4gd2h5IEJhbG9vIHJlcGxhY2VzCj4gTmVwb211ay4gSXQgYWxz byBhbGxvd3MgdXMgdG8gcHJlc2VydmUgdGhlIGFib3ZlIGludmVzdG1lbnRzIGFscmVhZHkgbWFk ZS4KPiAKPiA9PSBFeGlzdGluZyDigJxjb21tb24ga25vd2xlZGdl4oCdIG9mIHdoYXQgTmVwb211 ayBpcyA9PQo+IAo+IFRoZSBjb3JlIEZyZWUgc29mdHdhcmUgdXNlciBjb21tdW5pdHkga25vd3Mg d2hhdCBOZXBvbXVrIGlzIGFuZCBkb2VzOiBmaWxlCj4gaW5kZXhpbmcgYW5kIGRlc2t0b3Agc2Vh cmNoLiBUaGlzIGlzIG5vdCBhY3R1YWxseSBhY2N1cmF0ZSwgYnV0IGl0IGlzIHRoZQo+IHByZXZh aWxpbmcgY29tbW9uIHVuZGVyc3RhbmRpbmcgb2YgaXQgc2luY2UgdGhhdCBpcyB3aGF0IHBlb3Bs ZSBoYXZlCj4gZXhwZXJpZW5jZWQgd2l0aCBpdC4gVXNhZ2UgYnkgQWtvbmFkaSBvciBQbGFzbWEg QWN0aXZlIGlzIG5vdCB3ZWxsIGtub3duOwo+IHNvbWUgZXZlbiBjb25mdXNlIEtSdW5uZXIgd2l0 aCBOZXBvbXVrIHNpbmNlIHRoZXkgdXNlIEtSdW5uZXIgdG8gc2VhcmNoIGZvcgo+IHRoaW5ncyAo ISkKPiAKPiBJT1csIHBlb3BsZSBoYXZlIGEgdmFndWUgdW5kZXJzdGFuZGluZyBvZiB3aGF0IE5l cG9tdWsgZG9lcy4gSWYgdGhlIGRldGFpbHMKPiB1bmRlciB0aGUgaG9vZCBjaGFuZ2UsIGl0IHJl YWxseSBkb2VzbuKAmXQgbWF0dGVyLiBSaXNrIG9mIGNvbmZ1c2lvbiBiZWNhdXNlCj4gdGhlIGlt cGxlbWVudGF0aW9uIGRldGFpbHMgY2hhbmdlIGJ1dCB0aGUgbmFtZSBzdGF5cyB0aGUgc2FtZSwg dGhlcmVmb3JlLAo+IGlzIGxvdy4KPiAKPiBXZSBiZW5lZml0IGJ5IG5vdCBoYXZpbmcgdG8gcmUt ZXhwbGFpbiB3aGF0IGl0IGlzIE5lcG9tdWsgZGlkIGFuZCBCYWxvbyBkb2VzCj4gbm93LiBJbiBm YWN0LCBhcyBDYXJsIHBvaW50ZWQgb3V0OiBpdCBpcyByZWFsbHkgaGFyZCB0byBpbnRyb2R1Y2Ug QmFsb28KPiB3aXRob3V0IHRhbGtpbmcgYWJvdXQgTmVwb211ayAuLiB3aGljaCBzYXlzIGEgbG90 LgoKRXhjZXB0IHRoYXQgQmFsb28gYW5kIE5lcG9tdWsgZG8gTk9UIGRvIHRoZSBzYW1lIHRoaW5n cy4gTGV0cyBub3QgY29uZnVzZSBQUiAKd2l0aCB0ZWNoIHNwZWFrLiBJbiB0aGUgY3VycmVudCBj b2RlIGJhc2VkIGFsbCB0aGUgInJlbGF0aW9uc2hpcHMiIHBhcnQgb2YgCkJhbG9vIGhhdmUgYmVl biB0aHJvdyBhd2F5IGJlY2F1c2UgdGhlcmUgd2VyZSBubyB1c2Vycy4gVGFncyBhcmUgYmVpbmcg c3RvcmVkIAppbiB0aGUgeGF0dHIsIGFuZCBhY3Rpdml0aWVzIHdpbGwgZm9sbG93IHN1aXQuCgpC YWxvbyBpcyBOT1QgTmVwb211ay4gSXQgYXR0ZW1wdHMgdG8gc29sdmUgY2VydGFpbiBzaW1pbGFy IHByb2JsZW1zLCBidXQgdGhvc2UgCnByb2JsZW1zIGFyZW4ndCBlbmRlbWljIHRvIHRoZSBOZXBv bXVrIHdvcmxkLiBUaGV5IGFyZSAqdmVyeSogZ2VuZXJhbCAKcHJvYmxlbXMuCgotIERlYWxpbmcg d2l0aCB0aGluZ3MgaW4gaGlnaGVyIGxldmVsIHN1Y2ggYXMgUGVvcGxlIGluc3RlYWQgb2YgQ29u dGFjdHMgLSAKRXZlcnlvbmUgaXMgZG9pbmcgdGhpcyEgRXZlcnlvbmUuCgotIFNlYXJjaGluZyBh bmQgSW5kZXhpbmcgLSBDb21tb24gcHJvYmxlbQoKLSBGb3JtaW5nIHJlbGF0aW9uc2hpcHMgdG8g cmVtZW1iZXIgc3R1ZmYgLSBUaGlzIHBlcnNvbiBoYXMgdGhpcyBmYWNlYm9vayAKYWNjb3VudC4g TmVwb211ayBtYXkgaGF2ZSBhbGxvd2VkIGdlbmVyYWxpemVkIHZlcnNpb25zIG9mIHRoaXMgY291 cGxlZCB3aXRoIGEgCnJpY2ggcXVlcnkgbGFuZ3VhZ2UsIGJ1dCBldmVyeW9uZSBuZWVkcyB0aGlz LgoKPiAKPiA9PSBBUEkgY2hhbmdlID09Cj4gCj4gU29tZSBoYXZlIG5vdGVkIHRoYXQgdGhlcmUg aGFzIGJlZW4gc2lnbmlmaWNhbnQgQVBJIGNoYW5nZXMuIFRoaXMgaXMgdHJ1ZSAuLgo+IGV4Y2Vw dCBmb3IgdGhlIHdpZGdldHMuIEtlZXBpbmcgdGhlIG5hbWUgbWFrZXMgdGhhdCBwYXJ0IG9mIHRo ZSBzdG9yeQo+IGVhc2llciB0byBjb21tdW5pY2F0ZSwgc28gdGhlIHF1ZXN0aW9uIGlzIHdoZXRo ZXIgaXQgaXMgc2lnbmlmaWNhbnRseQo+IGVhc2llciB0byBjb21tdW5pY2F0ZSBhbiBBUEkgY2hh bmdlIHdpdGggYSBuZXcgbmFtZS4KPiAKPiBJZiB3ZSBsb29rIGF0IHRoaW5ncyBsaWtlIFBlcmwg NiwgUHl0aG9uIDMgb3IgUXQ0IChvciBRdDIpLCBvciBmcmFtZXdvcmtzCj4gbGlrZSBub2RlLmpz IGFzIGl0IGV2b2x2ZWQ6IEFQSSBjaGFuZ2VzIGFyZSBwYXJ0IG9mIGxpZmUuIERldmVsb3BlcnMg Y2hvb3NlCj4gYSBmcmFtZXdvcmsgYmFzZWQgb24gd2hhdCBpdCBkb2VzICjigJ1kb2VzIHRoaXMg b3BlbiB6aXAgZmlsZXM/IOKAmGNhdXNlIEkgbmVlZAo+IHRvIG9wZW4gemlwIGZpbGVz4oCdKSwg bWF0dXJpdHksIGNvbW1pdG1lbnQgYnkgdGhlIHRlYW0gYmVoaW5kIGl0IGFuZAo+IHF1YWxpdHku Cj4gCj4gR2l2ZW4gcGVvcGxlIGtub3cgd2hhdCBOZXBvbXVrIGRvZXMsIGtlZXBpbmcgdGhlIG5h bWUgaXMgYSB3aW4gdGhlcmUuCj4gCgpFeGNlcHQgdGhhdCBCYWxvbyBkb2VzIG5vdCBkbyB0aGUg c2FtZSB0aGluZ3MuIEFsc28gZnJvbSB0aGUgdGltZSBJJ3ZlIHdvcmtlZCAKd2l0aCBOZXBvbXVr LCBwZW9wbGUgZXF1YXRlZCBOZXBvbXVrIHdpdGggUkRGLgoKPiBNYXR1cml0eSBhbmQgY29tbWl0 bWVudCBhcmUgaW1wbGllZCBieSBjb250aW51aXR5LiBDaGFuZ2luZyBuYW1lcyBhbmQgc2F5aW5n Cj4g4oCcdGhpcyBpcyBlc3NlbnRpYWxseSBhIGJyYW5kIG5ldyBwcm9qZWN04oCdIGRvZXNu4oCZ dCBoZWxwIHRoZXJlLCBldmVuIGlmIHRoZQo+IG5ldyB0aGluZyBpcyBhd2Vzb21lLiBDb21wYXJl IHRoZSBzdHJ1Z2dsZXMgb2YgTGludXggbWlkZGxld2FyZSB0aGF0IGhhcwo+IGNoYW5nZWQgbmFt ZXMgcmVwZWF0ZWRseSB0byBzb21ldGhpbmcgbGlrZSBOZXR3b3JrTWFuYWdlciB3aGljaCBoYXMg a2VwdAo+IGl0cyBuYW1lIGV2ZW4gdGhvdWdoIGl0cyBBUEkga2VlcHMgY2hhbmdpbmcgZnJvbSBy ZWxlYXNlIHRvIHJlbGVhc2UgcmF0aGVyCj4gc2lnbmlmaWNhbnRseS4gU2luY2UgaXTigJlzIHRo ZSBzYW1lIG5hbWUgYnV0IGp1c3Qg4oCca2VlcHMgZ2V0dGluZyBiZXR0ZXLigJ0gaXQKPiBhdm9p ZHMgbXVjaCBvZiB0aGUgY29udHJvdmVyc3kgdGhhdCBvdGhlciBBUEktc2hpZnRpbmcgYXJlYXMg b2YgTGludXgKPiBtaWRkbGV3YXJlIGhhdmUgZW5kdXJlZCAoZmFpcmx5IG9yIG5vdCkuCj4gCj4g VGhlIHF1YWxpdHkgaXNzdWUgaXMgdGhlIGJpZyByZW1haW5pbmcgaXNzdWUgLi4uIGJ1dCBub3Qg bGltaXRlZCB0byBBUEkKPiAKPiA9PSBUaGUgUXVhbGl0eSBIdW1wID09Cj4gCj4gVGhpcyBpcyBh biBpc3N1ZSBmcm9tIGJvdGggdGhlIGVuZCB1c2VyIGFuZCBkZXZlbG9wZXIgcGVyc3BlY3RpdmUu Cj4gCj4gTmVwb211ayBoYXMgYSByZWxhdGl2ZWx5IHBvb3IgcmVwdXRhdGlvbiAoZmFpcmx5IG9y IG5vdCkuIEtlZXBpbmcgdGhlIG5hbWUKPiDigJxOZXBvbXVr4oCdIHRoZXJlZm9yZSBjYXJyaWVz IHNvbWUgb2YgdGhpcyBuZWdhdGl2aXR5LiBJbiB0aGUg4oCca2VlcCB0aGUgbmFtZeKAnQo+IHNp dHVhdGlvbiB3ZSB0aGVuIGhhdmUgdGhlIGpvYiBvZiBtYWtpbmcgdGhlIGNhc2UgZm9yIHdoeS9o b3cgdGhlIGN1cnJlbnQKPiB3b3JrIGhhcyBpbXByb3ZlZCAuLiB3ZWxsIC4uIGFueXRoaW5nLgo+ IAo+IElmIHdlIGNoYW5nZSB0aGUgbmFtZSwgd2UgbmVlZCB0byBzdGlsbCBleHBsYWluIHdoeS9o b3cgdGhlIGN1cnJlbnQgd29yayBoYXMKPiBpbXByb3ZlZCBhbnl0aGluZy4gV2UgYWxzbyBuZWVk IHRvIGV4cGxhaW4gd2h5IE5lcG9tdWsgd2FzIGVudGlyZWx5Cj4gYWJhbmRvbmVkLiBXaGljaCBh bHNvIGltcGxpZXMg4oCcd2h5IHdlIHN0dWNrIHdpdGggaXQgZm9yIHNvIGxvbmcgZXZlbiB0aG91 Z2gKPiBpdCBuZWVkcyBhYmFuZG9uaW5nIi4KPiAKCldlJ3ZlIGV4cGxhaW5lZCBpbiB0aGUgZmly c3QgZW1haWwgYW5ub3VuY2luZyBCYWxvbyB0aGF0IE5lcG9tdWsgaW50ZXJuYWxseSB3YXMgCnRv byBjb21wbGV4IGFuZCB0aGF0IGl0IGNvdWxkIG5vdCBiZSBvcHRpbWl6ZWQgYW55IGZ1cnRoZXIg aW4gdGhlIGN1cnJlbnQgCnNjaGVtZSBvZiB0aGluZ3MuCgpXZSBkb24ndCBuZWVkIHRvIGV4cGxh aW4gQmFsb28gdG8gcGVvcGxlLiBJdCdzIGEgc2VhcmNoIGluZGV4LCBkb25lLgoKPiBTbyBjaGFu Z2luZyB0aGUgbmFtZSBkb2VzbuKAmXQgc2F2ZSB1cyBtdWNoIHdvcmsgYXQgYWxsOyBpdCBtYXkg ZXZlbiBjcmVhdGUKPiAqbW9yZSogd29yay4gVGhlIGN1cnJlbnQgYXJ0aWNsZSBoYXMgYW4gZW50 aXJlIHNlY3Rpb24gY2FsbGVkICJXaHkgY2hhbmdlCj4gTmVwb211az/igJ0gVGhhdCBlbnRpcmUg c2VjdGlvbiBjYW4gcHJldHR5IG11Y2ggYmUgc2NyYXBwZWQgaWYgdGhlIG5hbWUgaXMKPiBrZXB0 LiBJdCBjYW4gYmUgcmVjeWNsZWQgaW50byBhIOKAnGhvdyB0aGlzIG5ldyB2ZXJzaW9uIGlzIGJl dHRlcuKAnSBhbmQgbWVyZ2VkCj4gd2l0aCB0aGUgY29udGVudCBjdXJyZW50bHkgdW5kZXIg4oCc QWJvdXQgQmFsb28iCj4gCj4gPT0gRGVwcmVjYXRpb24gc3RvcnkgPT0KPiAKPiBTYXlpbmcg4oCc VGhlIE5lcG9tdWsgcHJvamVjdCBpcyBvZmZpY2lhbGx5IGRlcHJlY2F0ZWTigJ0gaXMgcHJldHR5 IGhhcnNoCj4gc291bmRpbmcuIEl0IGxlYXZlcyBhbiBpbW1lZGlhdGUgcXVlc3Rpb246ICd3aGF0 IHRvIG1vdmUgdG8gaWYgSeKAmW0gdXNpbmcKPiBOZXBvbXVrIG5vdz/igJkgT24gdGhlIG90aGVy IGhhbmQsIHBlb3BsZSBhcmUgcXVpdGUgdXNlZCB0byBvbGQgdmVyc2lvbnMKPiBiZWluZyBkZXBy ZWNhdGVkICh0aGF04oCZcyBhbG1vc3QgYXhpb21hdGljKS4gS2VlcGluZyB0aGUgbmFtZSBtYWtl cyB0aGUKPiBtaWdyYXRpb24gcGF0aCBhIGxvdCBtb3JlIG9idmlvdXMgd2hpbGUgc291bmRpbmcg YSBsb3QgbGVzcyBsaWtlIHdl4oCZcmUKPiBhYmFuZG9uaW5nIHRoaW5ncyBhbmQgbW9yZSBsaWtl IHdl4oCZcmUgZXZvbHZpbmcgdGhpbmdzLgo+IAo+ID09IE1pZ3JhdGlvbiBTdG9yeSA9PQo+IAo+ IEtlZXBpbmcgdGhlIG5hbWUgYWxzbyBzb2Z0ZW5zIHRoZSBtaWdyYXRpb24gc3RvcnkuIENvbXBh cmU6Cj4gCj4gIk5lcG9tdWsgYW5kIEJhbG9vIGNhbiBjb2V4aXN0IHdpdGhvdXQgaXNzdWVzLiBI b3dldmVyLCBpdCBpcyBub3Qgb3B0aW1hbCB0bwo+IHJ1biBib3RoIG9mIHRoZW0gb24gdGhlIHNh bWUgc3lzdGVtLiBUaGV5IGJvdGggd291bGQgYmUgaW5kZXhpbmcgZmlsZXMsCj4gZW1haWxzIGFu ZCBvdGhlciBkYXRhLCBkdXBsaWNhdGluZyBmdW5jdGlvbnMsIHRheGluZyB0aGUgc3lzdGVtCj4g dW5uZWNlc3NhcmlseSwgcG9wdWxhdGluZyBhbmQgc3luY2hyb25pemluZyB0aGVpciBkYXRhYmFz ZXMu4oCdCj4gCj4gd2l0aDoKPiAKPiAiTmVwb211ayAxIGFuZCAyIGNhbiBjb2V4aXN0IHdpdGhv dXQgaXNzdWVzLCBob3dldmVyIGl0IGlzIG5vdCByZWNvbW1lbmRlZAo+IHRvIHJ1biBib3RoIG9u IHRoZSBzYW1lIHN5c3RlbS4gRG9pbmcgc28gd291bGQgcmVzdWx0IGluIGluZGV4aW5nIGFsbAo+ IGZpbGVzLCBlbWFpbHMgYW5kIG90aGVyIGRhdGEgdHdpY2UsIGR1cGxpY2F0aW5nIGZ1bmN0aW9u cyBhbmQgdGF4aW5nIHRoZQo+IHN5c3RlbSB1bm5lY2Vzc2FyaWx5IGR1ZSB0byBwb3B1bGF0aW5n IGFuZCBzeW5jaHJvbml6aW5nIHR3byBzZXBhcmF0ZQo+IGRhdGFiYXNlcy7igJ0KPiAKPiBvcgo+ IAo+ICJLREUgQXBwbGljYXRpb25zIGFuZCBQbGF0Zm9ybSA0LjEzIHdpbGwgbm90IHNoaXAgd2l0 aCBOZXBvbXVrIGJhc2VkIHNlYXJjaAo+IGludGVncmF0ZWQuIE5lcG9tdWsgd2lsbCBzdGlsbCBi ZSBhdmFpbGFibGUgZm9yIGRpc3RyaWJ1dGlvbnMgdG8gc2hpcCBhcyBhCj4gc2VwYXJhdGUgY29t cG9uZW50LCBidXQgaXQgaXMgcmVjb21tZW5kZWQgdGhhdCB1c2VycyB3aG8gZGVwZW5kIG9uCj4g YXBwbGljYXRpb25zIHJlcXVpcmluZyB0aGUgb2xkIHZlcnNpb24gb2YgTmVwb211ayB0byBob2xk IG9mZiB1cGdyYWRpbmcgdG8KPiBQbGF0Zm9ybSA0LjEzIHVudGlsIHRoZXNlIGFwcGxpY2F0aW9u cyBoYXZlIGJlZW4gcG9ydGVkLiBMaW51eCBkaXN0cmlidXRpb25zCj4gd2lsbCBtb3N0IGxpa2Vs eSB0YWtlIGNhcmUgb2YgdGhpcywgZW5zdXJpbmcgdGhhdCBpZiBhbnkgY29tcG9uZW50IG5lZWRz Cj4gTmVwb211ayBpdCB3aWxsIGJlIGluc3RhbGxlZCBhbmQgb3RoZXJ3aXNlLCBCYWxvbyB3aWxs IGJlIHByb3ZpZGluZyB0aGUKPiBzZWFyY2ggYW5kIHN0b3JhZ2UgY2FwYWJpbGl0aWVzLiIKPiAK Ck1vc3RseSBqdXN0IHNlYXJjaC4gYnV0IGlmIHlvdSByZWFsbHkgd2FudCB0byBtZW50aW9uICJz dG9yYWdlIiBvbmUgY2FuLiBJIAp3b3VsZCBub3QuCgo+IHdpdGgKPiAKPiDigJxLREUgUGxhdGZv cm0gNC4xMyB3aWxsIHNoaXAgd2l0aCBOZXBvbXVrIDIgaW50ZWdyYXRpb24gb25seS4gTGlrZXdp c2UsIEtERQo+IEFwcGxpY2F0aW9ucyA0LjEzIGhhcyBhbHNvIGJlZW4gdXBncmFkZWQgdG8gdXNl IE5lcG9tdWsgMiBleGNsdXNpdmVseS4gVGhpcwo+IGNvdmVycyB0aGUgbWFqb3JpdHkgb2YgTmVw b211ayBhcHBsaWNhdGlvbnMgbW9zdCBwZW9wbGUgdXNlLiBIb3dldmVyLCB0aG9zZQo+IHJlbHlp bmcgb24gYXBwbGljYXRpb25zIHdoaWNoIGhhdmUgbm90IHlldCBiZWVuIHBvcnRlZCB0byBOZXBv bXVrIDIgYXJlCj4gc3Ryb25nbHkgcmVjb21tZW5kZWQgdG8gc3RheSB3aXRoIEtERSBQbGF0Zm9y bSA0LjEyIHVudGlsIHRob3NlIGFwcGxpY2F0aW9ucwo+IGFyZSBwb3J0ZWQuIgo+IAo+IEl0IHNv dW5kcyBtb3JlIGxpa2UgbWlncmF0aW9uIGFuZCB1cGdyYWRlIHRoYW4gYW4gYXdrd2FyZCByZXBs YWNlbWVudC4KPiAKPgo+ID09IFJlc2VhcmNoIHBhcnRpY2lwYXRpb24gc3RvcnkgPT0KPiAKPiBV cCB1bnRpbCBub3cgd2XigJl2ZSBiZWVuIGFibGUgdG8gc2F5IOKAnFllcywgd2UgaGF2ZSBiZW5l Zml0ZWQgZnJvbSBlbmdhZ2luZwo+IHByb2R1Y3RpdmVseSBpbiBwdWJsaWMgcmVzZWFyY2ggcHJv amVjdHMgbGlrZSBOZXBvbXVrIGluIHRoZSBFVS7igJ0gVGhhdCBoYXMKPiBnb3R0ZW4gdXMgcXVp dGUgYSBiaXQgb2Yga3Vkb3Mgb3ZlciB0aGUgeWVhcnMuCj4gCj4gSWYgd2Uga2VlcCB0aGUgbmFt ZSwgd2UgY2FuIGRlbW9uc3RyYXRlIGNvbnRpbnVpdHkgZnJvbSB0aGF0IGludmVzdG1lbnQgYW5k Cj4gY2hhcnQgZnJvbSBLREXigJlzIHBhc3QgZWZmb3J0cyBpbiBpdCB0byB3aGVyZSB3ZSBhcmUg bm93LiBZZXMsIGl0IGV2b2x2ZWQsCj4gYnV0IGl0IHN0YXJ0ZWQgd2l0aCB0aGF0IHJlc2VhcmNo IGVuZGVhdm9yIGJyb3VnaHQgaW50byBLREUuIElmIHdlIHRvc3MgdGhlCj4gbmFtZSwgaGVyZeKA mXMgd2hhdCB3ZSBlbmQgdXAgd2l0aCBzb21ldGhpbmcgbGlrZSB0aGlzOgo+IAo+IOKAnFdlIGVu Z2FnZWQgaW4gYSBFVSByZXNlYXJjaCBwcm9qZWN0IGNhbGxlZCBOZXBvbXVrLiBJdCBuZWVkZWQg c2lnbmlmaWNhbnQKPiBpbXByb3ZlbWVudHMgdG8gcmVhY2ggdGhlIGxldmVsIG9mIHBlcmZvcm1h bmNlIHdlIHJlcXVpcmVkLCBzbyBldmVudGV1YWxseQo+IHdlIHJlcGxhY2VkIGl0IHdpdGggc29t ZXRoaW5nIGNhbGxlZCAnQmFsb28nIHdoaWNoIGhhcyBhIGhpZ2hlciBwZXJmb3JtYW5jZQo+IGZp bGUgaW5kZXhlciBhcyB3ZWxsIGFzIGEgbW9yZSBmb2N1c2VkIEFQSSBiZXR0ZXIgZm9yIHdoYXQg YXBwbGljYXRpb25zCj4gYWN0dWFsbHkgbmVlZGVkLiBTb21lIG9mIHRoZSBwZW9wbGUgd2hvIHdv cmtlZCBvbiBOZXBvbXVrIGFsc28gd3JvdGUgQmFsb28sCj4gc28gTmVwb211ayB3YXMgYSB2YWx1 YWJsZSBwYXJ0IG9mIHRoZSBwYXRoIHRvIG91ciBjdXJyZW50IHNvbHV0aW9uLuKAnQo+IAo+IFRo YXTigJlzIHJlYWxseSwgcmVhbGx5IHdlYWsgZm9yIHRyeWluZyB0byBwcmVzZW50IG91ciByZXNl YXJjaCBpbnZvbHZlbWVudAo+IGFuZCB0aGUgdmFsdWUgb2YgdG9zc2luZyByZXNvdXJjZXMgYXQg S0RFIHByb2plY3RzLiBJZiB3ZSBrZWVwIHRoZSBuYW1lLAo+IHRoaXMgc2FtZSBzdG9yeSBiZWNv bWVzOgo+IAo+IOKAnFdlIGVuZ2FnZWQgaW4gYSBFVSByZXNlYXJjaCBwcm9qZWN0IGNhbGxlZCBO ZXBvbXVrLiBFdmVuIGFmdGVyIHRoZSByZXNlYXJjaAo+IHByb2plY3QgZW5kZWQsIHdlIGNvbnRp bnVlZCB0byBpbnZlc3QgaW4gaXQgYW5kIGV2b2x2ZSB0aGUgZnJhbWV3b3JrLiBUb2RheQo+IHdl IGhhdmUgTmVwb211ayA8Tj4gd2hpY2ggaGFzIGEgaGlnaGVyIHBlcmZvcm1hbmNlIGZpbGUgaW5k ZXhlciBhcyB3ZWxsIGFzCj4gYSBtb3JlIGZvY3VzZWQgQVBJIHRoYXQgaXMgYmV0dGVyIHN1aXRl ZCB0byB3aGF0IGRlc2t0b3AgYXBwbGljYXRpb25zCj4gYWN0dWFsbHkgbmVlZGVkLiBJbiB0aGlz IG1hbm5lciwgd2UgdG9vayB0aGUgcmVzZWFyY2ggcHJvamVjdCBhbmQgdHVybmVkIGl0Cj4gaW50 byBhIHByb2R1Y3Rpb24gcHJvZHVjdC7igJ0KPiAKPiBJdCBpcyByZWFsbHkgaGFyZCB0byBtYWtl IHRoYXQgc2FtZSBzdG9yeSB3aGVuIHRoZSBuYW1lcyBhcmUgY2hhbmdpbmcsCj4gcGFydGljdWxh cmx5IGluIGZyb250IG9mIHBlb3BsZSB3aG8gaGFuZCBvdXQgcmVzZWFyY2ggZ3JhbnRzLgo+CgpJ dCBzZWVtcyBtb3JlIGh5cG9jcml0aWNhbCB0byBrZWVwIHRoZSBuYW1lIGFuZCBub3QgdXNlIGFu eSBvZiB0aGUgCnRlY2hub2xvZ2llcyByZXNlYXJjaGVkLgoKPiA9PSBQb3NzaWJsZSBwb3N0LWJh bG9vIG5hbWUgY2h1cm4gPT0KPiAKPiBGcm9tIHRoZSDigJxwZXNzaW1pc3Rz4oCdIGRlcGFydG1l bnQ6ICppZiogQmFsb28gd2VyZSBub3QgdG8gd29yayBvdXQgYXMgd2Ugd2FudAo+IGFuZCBlbmRz IHVwIGJlaW5nIHJlcGxhY2VkIC8gYXVnbWVudGVkIHdpdGggc29tZXRoaW5nIGVsc2UgaW4gdGhl IG5leHQKPiB5ZWFycywgd2XigJlsbCBoYXZlIHRoaXMgd2hvbGUgbmFtZSBjaGFuZ2UgaXNzdWUg YWxsIG92ZXIgYWdhaW4gLi4gYW5kIHRoZW4KPiBpdCB3b3VsZCBiZSAzIG5hbWUgY2hhbmdlcyBm b3IgdGhlIHNhbWUgdGhpbmcuCj4gCgpEaXR0byBmb3IgZXZlcnl0aGluZyBlbHNlIGluIGxpZmUu CgpJZiBzb21ldGhpbmcgZG9lc24ndCB3b3JrIHlvdSBtb3ZlIG9uLiBLZWVwaW5nIG5hbWVzIGZv ciB0aGUgc2FrZSBvZiBQUiBpcyAKanVzdCBjb25mdXNpbmcgYW5kIGNvdW50ZXItaW50dWl0aXZl LgoKSSBwZXJzb25hbGx5IHdhbnQgS0RFIHRvIGJlIGFzc29jaWF0ZWQgd2l0aCBnb29kIHF1YWxp dHkgYW5kIGEgZ29vZCB1c2VyIApleHBlcmllbmNlIGluZGVwZW5kZW50IG9mIHdoYXQgaXMgdW5k ZXIgdGhlIGhvb2QuIFRoaXMgaXMgSU1ITyB3aGF0IGVuZC11c2VycyAKY2FyZSBhYm91dC4gTm90 IHRoZXNlIHNxdWFiYmxlcyBvdmVyIG5hbWVzLgoKPiAoV2hpY2ggcmVtaW5kcyBtZSBvZiBLYXQg YW5kIFRlbm9yIDopCj4gCj4gVGhpcyB3aWxsIGxlYWQgdG8gS0RFIGxvb2tpbmcgbGlrZSBpdCBj YW7igJl0IGZpZ3VyZSBvdXQgd2hhdCBpdCBpcyBkb2luZyAuLi4KPiBzb3J0IG9mIGxpa2UgdGhl IExpbnV4IG1pZGRsZXdhcmUgbmFtZSBjaHVybiB3aGljaCBjZXJ0YWlubHkgaGFzbuKAmXQgaGVs cGVkCj4gdGhlaXIgY2F1c2UgaW4gZ2V0dGluZyBwZW9wbGUgdG8gYWRvcHQgbmV3IGl0ZXJhdGlv bnMgd2l0aG91dCBzY3JlYW1pbmcKPiBibG9vZHkgbXVyZGVyIChhbmQgZm9ya2luZyBpbiBzb21l IGNhc2VzKQoKSWYgdGhhdCBlbmRzIHdpdGggYmV0dGVyIHF1YWxpdHkgYXQgdGhlIGVuZCBvZiB0 aGUgZGF5LCB0aGVuIHNvIGJlIGl0LgoKSSdkIGp1c3QgbGlrZSB0byBjb25jbHVkZSBieSBzYXlp bmcgdGhhdCBJIGFtIE5PVCBvbiBib2FyZCB3aXRoIGNhbGxpbmcgQmFsb28sIApOZXBvbXVrLiBJ IGFncmVlIHRoYXQgdGhlcmUgaGFzIGJlZW4gc29tZSBhY3Rpdml0eSBvbiBzb2NpYWwgbWVkaWEs IGJ1dCB0aGF0IAp3aWxsIHBhc3MuIAoKTGV0cyBmb2N1cyBvbiB0aGUgcG9zaXRpdmUgcGFydHMg YW5kIG1ha2Ugc3VyZSAiRGVza3RvcCBTZWFyY2giIGluIEtERSB3b3JrcyAKdmVyeSB3ZWxsLiBD b2RlIHJldmlld3MgKyBwYXRjaGVzIGFyZSBtb3N0IHdlbGNvbWUuCgotLSAKVmlzaGVzaCBIYW5k YQoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KVGhpcyBt ZXNzYWdlIGlzIGZyb20gdGhlIGtkZS1wcm9tbyBtYWlsaW5nIGxpc3QuCgpWaXNpdCBodHRwczov L21haWwua2RlLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2tkZS1wcm9tbyB0byB1bnN1YnNjcmliZSwg c2V0IGRpZ2VzdCBvbiBvciB0ZW1wb3JhcmlseSBzdG9wIHlvdXIgc3Vic2NyaXB0aW9uLg==