aGkuLi4KCmFzIHRoZSBvdGhlciB0aHJlYWQgaXMgYSBiaXQgc3ByZWFkIG91dCBpbiB0ZXJtcyBv ZiB0b3BvaWMsIGkgdGhvdWdodCBp4oCZZCAKc3RhcnQgYWZyZXNoIGFuZCB0cnkgdG8gY29sbGVj dCB0aGUgaW1wbGljYXRpb25zIGluIG9uZSBleGhhdXN0aXZlIGxpc3QgKGl04oCZcyAKbG9uZyAu LiBzb3JyeSA6LykKCj09IFRoaXMgaXMgYSBqb3VybmV5ID09CgpUaGlzIHdpbGwgdGFrZSBhIGxv bmcgdGltZSB0byBjb21tdW5pY2F0ZSwgbm8gbWF0dGVyIHdoYXQgaGFwcGVuczogbmFtZSBjaGFu Z2UgCm9yIG5vdC4gSSBleHBlY3QgNiBtb250aHMgb2YgY29uc2lzdGVudCBtZXNzYWdpbmcgaXMg YSBiYXJlIG1pbmltdW0sIGFuZCBpdCAKd2lsbCBsaWtlbHkgdGFrZSBsb25nZXIuIFRoaXMgaXMg bm90IGEgb25lLXRpbWUgY29tbXVuaWNhdGlvbiBxdWVzdGlvbiwgYnV0IApzb21ldGhpbmcgdGhh dCBzZXRzIHRoZSB0b25lIGZvciBhIDYgbW9udGggdHJlaywgYW5kIHdoaWNoIHdpbGwgZWFzaWx5 IGhhdmUgCmltcGxpY2F0aW9ucyBmb3IgdGhlIG5leHQgMysgeWVhcnMuCgo9PSBFc3RhYmxpc2hl ZCBpbnZlc3RtZW50IG5lcG9tdWsgPT0KCldoaWxlIHdl4oCZdmUgdHJpZWQgdG8ga2VlcCBOZXBv bXVrIG91dCBvZiB0aGUgZGVmYXVsdCBVSSBhcyBtdWNoIGFzIHBvc3NpYmxlLCAKaXQgc3RpbGwg c2hvd3MgdXAgaW4gcGxhY2VzLiBJdCBpcyBhbHNvIHJlcXVpcmVkIGZvciB0cm91Ymxlc2hvb3Rp bmcsIGFuZCBhcyAKc3VjaCBleGlzdHMgb24gb3VyIHN1cHBvcnQgd2lraXMuIFdlIGhhdmUgcmVj b2duaXplZCB2aXN1YWwgaWRlbnRpdHkgCmNvbXBvbmVudHMgKHRoZSBuZXBvbXVrIGxvZ28gaWNv bikgdGhhdCBoYXZlIGJlZW4gbW9yZSBvciBsZXNzIHZpc2libGUgaW4gClBsYXNtYSBmb3Igc29t ZSB0aW1lLgoKQmVpbmcgYWJsZSB0byBhdHRhY2ggdGhlIOKAnGJpZ2dlciwgYmV0dGVyLCBmYXN0 ZXLigJ0gc3Rvcnkgb2YgQmFsb28gdG8gTmVwb211ayBpcyAKYW4gZWFzaWVyIHN0b3J5IHRvIHRl bGwgdGhhbiBoYXZpbmcgdG8gZXhwbGFpbiB3aHkgQmFsb28gcmVwbGFjZXMgTmVwb211ay4gSXQg CmFsc28gYWxsb3dzIHVzIHRvIHByZXNlcnZlIHRoZSBhYm92ZSBpbnZlc3RtZW50cyBhbHJlYWR5 IG1hZGUuCgo9PSBFeGlzdGluZyDigJxjb21tb24ga25vd2xlZGdl4oCdIG9mIHdoYXQgTmVwb211 ayBpcyA9PQoKVGhlIGNvcmUgRnJlZSBzb2Z0d2FyZSB1c2VyIGNvbW11bml0eSBrbm93cyB3aGF0 IE5lcG9tdWsgaXMgYW5kIGRvZXM6IGZpbGUgCmluZGV4aW5nIGFuZCBkZXNrdG9wIHNlYXJjaC4g VGhpcyBpcyBub3QgYWN0dWFsbHkgYWNjdXJhdGUsIGJ1dCBpdCBpcyB0aGUgCnByZXZhaWxpbmcg Y29tbW9uIHVuZGVyc3RhbmRpbmcgb2YgaXQgc2luY2UgdGhhdCBpcyB3aGF0IHBlb3BsZSBoYXZl IApleHBlcmllbmNlZCB3aXRoIGl0LiBVc2FnZSBieSBBa29uYWRpIG9yIFBsYXNtYSBBY3RpdmUg aXMgbm90IHdlbGwga25vd247IHNvbWUgCmV2ZW4gY29uZnVzZSBLUnVubmVyIHdpdGggTmVwb211 ayBzaW5jZSB0aGV5IHVzZSBLUnVubmVyIHRvIHNlYXJjaCBmb3IgdGhpbmdzIAooISkKCklPVywg cGVvcGxlIGhhdmUgYSB2YWd1ZSB1bmRlcnN0YW5kaW5nIG9mIHdoYXQgTmVwb211ayBkb2VzLiBJ ZiB0aGUgZGV0YWlscyAKdW5kZXIgdGhlIGhvb2QgY2hhbmdlLCBpdCByZWFsbHkgZG9lc27igJl0 IG1hdHRlci4gUmlzayBvZiBjb25mdXNpb24gYmVjYXVzZSB0aGUgCmltcGxlbWVudGF0aW9uIGRl dGFpbHMgY2hhbmdlIGJ1dCB0aGUgbmFtZSBzdGF5cyB0aGUgc2FtZSwgdGhlcmVmb3JlLCBpcyBs b3cuCgpXZSBiZW5lZml0IGJ5IG5vdCBoYXZpbmcgdG8gcmUtZXhwbGFpbiB3aGF0IGl0IGlzIE5l cG9tdWsgZGlkIGFuZCBCYWxvbyBkb2VzIApub3cuIEluIGZhY3QsIGFzIENhcmwgcG9pbnRlZCBv dXQ6IGl0IGlzIHJlYWxseSBoYXJkIHRvIGludHJvZHVjZSBCYWxvbyAKd2l0aG91dCB0YWxraW5n IGFib3V0IE5lcG9tdWsgLi4gd2hpY2ggc2F5cyBhIGxvdC4KCj09IEFQSSBjaGFuZ2UgPT0KClNv bWUgaGF2ZSBub3RlZCB0aGF0IHRoZXJlIGhhcyBiZWVuIHNpZ25pZmljYW50IEFQSSBjaGFuZ2Vz LiBUaGlzIGlzIHRydWUgLi4gCmV4Y2VwdCBmb3IgdGhlIHdpZGdldHMuIEtlZXBpbmcgdGhlIG5h bWUgbWFrZXMgdGhhdCBwYXJ0IG9mIHRoZSBzdG9yeSBlYXNpZXIgCnRvIGNvbW11bmljYXRlLCBz byB0aGUgcXVlc3Rpb24gaXMgd2hldGhlciBpdCBpcyBzaWduaWZpY2FudGx5IGVhc2llciB0byAK Y29tbXVuaWNhdGUgYW4gQVBJIGNoYW5nZSB3aXRoIGEgbmV3IG5hbWUuCgpJZiB3ZSBsb29rIGF0 IHRoaW5ncyBsaWtlIFBlcmwgNiwgUHl0aG9uIDMgb3IgUXQ0IChvciBRdDIpLCBvciBmcmFtZXdv cmtzIGxpa2UgCm5vZGUuanMgYXMgaXQgZXZvbHZlZDogQVBJIGNoYW5nZXMgYXJlIHBhcnQgb2Yg bGlmZS4gRGV2ZWxvcGVycyBjaG9vc2UgYSAKZnJhbWV3b3JrIGJhc2VkIG9uIHdoYXQgaXQgZG9l cyAo4oCdZG9lcyB0aGlzIG9wZW4gemlwIGZpbGVzPyDigJhjYXVzZSBJIG5lZWQgdG8gCm9wZW4g emlwIGZpbGVz4oCdKSwgbWF0dXJpdHksIGNvbW1pdG1lbnQgYnkgdGhlIHRlYW0gYmVoaW5kIGl0 IGFuZCBxdWFsaXR5LiAKCkdpdmVuIHBlb3BsZSBrbm93IHdoYXQgTmVwb211ayBkb2VzLCBrZWVw aW5nIHRoZSBuYW1lIGlzIGEgd2luIHRoZXJlLgoKTWF0dXJpdHkgYW5kIGNvbW1pdG1lbnQgYXJl IGltcGxpZWQgYnkgY29udGludWl0eS4gQ2hhbmdpbmcgbmFtZXMgYW5kIHNheWluZyAK4oCcdGhp cyBpcyBlc3NlbnRpYWxseSBhIGJyYW5kIG5ldyBwcm9qZWN04oCdIGRvZXNu4oCZdCBoZWxwIHRo ZXJlLCBldmVuIGlmIHRoZSBuZXcgCnRoaW5nIGlzIGF3ZXNvbWUuIENvbXBhcmUgdGhlIHN0cnVn Z2xlcyBvZiBMaW51eCBtaWRkbGV3YXJlIHRoYXQgaGFzIGNoYW5nZWQgCm5hbWVzIHJlcGVhdGVk bHkgdG8gc29tZXRoaW5nIGxpa2UgTmV0d29ya01hbmFnZXIgd2hpY2ggaGFzIGtlcHQgaXRzIG5h bWUgZXZlbiAKdGhvdWdoIGl0cyBBUEkga2VlcHMgY2hhbmdpbmcgZnJvbSByZWxlYXNlIHRvIHJl bGVhc2UgcmF0aGVyIHNpZ25pZmljYW50bHkuIApTaW5jZSBpdOKAmXMgdGhlIHNhbWUgbmFtZSBi dXQganVzdCDigJxrZWVwcyBnZXR0aW5nIGJldHRlcuKAnSBpdCBhdm9pZHMgbXVjaCBvZiB0aGUg CmNvbnRyb3ZlcnN5IHRoYXQgb3RoZXIgQVBJLXNoaWZ0aW5nIGFyZWFzIG9mIExpbnV4IG1pZGRs ZXdhcmUgaGF2ZSBlbmR1cmVkIAooZmFpcmx5IG9yIG5vdCkuCgpUaGUgcXVhbGl0eSBpc3N1ZSBp cyB0aGUgYmlnIHJlbWFpbmluZyBpc3N1ZSAuLi4gYnV0IG5vdCBsaW1pdGVkIHRvIEFQSQoKPT0g VGhlIFF1YWxpdHkgSHVtcCA9PQoKVGhpcyBpcyBhbiBpc3N1ZSBmcm9tIGJvdGggdGhlIGVuZCB1 c2VyIGFuZCBkZXZlbG9wZXIgcGVyc3BlY3RpdmUuCgpOZXBvbXVrIGhhcyBhIHJlbGF0aXZlbHkg cG9vciByZXB1dGF0aW9uIChmYWlybHkgb3Igbm90KS4gS2VlcGluZyB0aGUgbmFtZSAK4oCcTmVw b211a+KAnSB0aGVyZWZvcmUgY2FycmllcyBzb21lIG9mIHRoaXMgbmVnYXRpdml0eS4gSW4gdGhl IOKAnGtlZXAgdGhlIG5hbWXigJ0gCnNpdHVhdGlvbiB3ZSB0aGVuIGhhdmUgdGhlIGpvYiBvZiBt YWtpbmcgdGhlIGNhc2UgZm9yIHdoeS9ob3cgdGhlIGN1cnJlbnQgd29yayAKaGFzIGltcHJvdmVk IC4uIHdlbGwgLi4gYW55dGhpbmcuCgpJZiB3ZSBjaGFuZ2UgdGhlIG5hbWUsIHdlIG5lZWQgdG8g c3RpbGwgZXhwbGFpbiB3aHkvaG93IHRoZSBjdXJyZW50IHdvcmsgaGFzIAppbXByb3ZlZCBhbnl0 aGluZy4gV2UgYWxzbyBuZWVkIHRvIGV4cGxhaW4gd2h5IE5lcG9tdWsgd2FzIGVudGlyZWx5IGFi YW5kb25lZC4gCldoaWNoIGFsc28gaW1wbGllcyDigJx3aHkgd2Ugc3R1Y2sgd2l0aCBpdCBmb3Ig c28gbG9uZyBldmVuIHRob3VnaCBpdCBuZWVkcyAKYWJhbmRvbmluZyIuCgpTbyBjaGFuZ2luZyB0 aGUgbmFtZSBkb2VzbuKAmXQgc2F2ZSB1cyBtdWNoIHdvcmsgYXQgYWxsOyBpdCBtYXkgZXZlbiBj cmVhdGUgCiptb3JlKiB3b3JrLiBUaGUgY3VycmVudCBhcnRpY2xlIGhhcyBhbiBlbnRpcmUgc2Vj dGlvbiBjYWxsZWQgIldoeSBjaGFuZ2UgCk5lcG9tdWs/4oCdIFRoYXQgZW50aXJlIHNlY3Rpb24g Y2FuIHByZXR0eSBtdWNoIGJlIHNjcmFwcGVkIGlmIHRoZSBuYW1lIGlzIGtlcHQuIApJdCBjYW4g YmUgcmVjeWNsZWQgaW50byBhIOKAnGhvdyB0aGlzIG5ldyB2ZXJzaW9uIGlzIGJldHRlcuKAnSBh bmQgbWVyZ2VkIHdpdGggdGhlIApjb250ZW50IGN1cnJlbnRseSB1bmRlciDigJxBYm91dCBCYWxv byIKCj09IERlcHJlY2F0aW9uIHN0b3J5ID09CgpTYXlpbmcg4oCcVGhlIE5lcG9tdWsgcHJvamVj dCBpcyBvZmZpY2lhbGx5IGRlcHJlY2F0ZWTigJ0gaXMgcHJldHR5IGhhcnNoIHNvdW5kaW5nLiAK SXQgbGVhdmVzIGFuIGltbWVkaWF0ZSBxdWVzdGlvbjogJ3doYXQgdG8gbW92ZSB0byBpZiBJ4oCZ bSB1c2luZyBOZXBvbXVrIG5vdz/igJkgCk9uIHRoZSBvdGhlciBoYW5kLCBwZW9wbGUgYXJlIHF1 aXRlIHVzZWQgdG8gb2xkIHZlcnNpb25zIGJlaW5nIGRlcHJlY2F0ZWQgCih0aGF04oCZcyBhbG1v c3QgYXhpb21hdGljKS4gS2VlcGluZyB0aGUgbmFtZSBtYWtlcyB0aGUgbWlncmF0aW9uIHBhdGgg YSBsb3QgCm1vcmUgb2J2aW91cyB3aGlsZSBzb3VuZGluZyBhIGxvdCBsZXNzIGxpa2Ugd2XigJly ZSBhYmFuZG9uaW5nIHRoaW5ncyBhbmQgbW9yZSAKbGlrZSB3ZeKAmXJlIGV2b2x2aW5nIHRoaW5n cy4KCj09IE1pZ3JhdGlvbiBTdG9yeSA9PQoKS2VlcGluZyB0aGUgbmFtZSBhbHNvIHNvZnRlbnMg dGhlIG1pZ3JhdGlvbiBzdG9yeS4gQ29tcGFyZToKCiJOZXBvbXVrIGFuZCBCYWxvbyBjYW4gY29l eGlzdCB3aXRob3V0IGlzc3Vlcy4gSG93ZXZlciwgaXQgaXMgbm90IG9wdGltYWwgdG8gCnJ1biBi b3RoIG9mIHRoZW0gb24gdGhlIHNhbWUgc3lzdGVtLiBUaGV5IGJvdGggd291bGQgYmUgaW5kZXhp bmcgZmlsZXMsIGVtYWlscyAKYW5kIG90aGVyIGRhdGEsIGR1cGxpY2F0aW5nIGZ1bmN0aW9ucywg dGF4aW5nIHRoZSBzeXN0ZW0gdW5uZWNlc3NhcmlseSwgCnBvcHVsYXRpbmcgYW5kIHN5bmNocm9u aXppbmcgdGhlaXIgZGF0YWJhc2VzLuKAnQoKd2l0aDoKCiJOZXBvbXVrIDEgYW5kIDIgY2FuIGNv ZXhpc3Qgd2l0aG91dCBpc3N1ZXMsIGhvd2V2ZXIgaXQgaXMgbm90IHJlY29tbWVuZGVkIHRvIApy dW4gYm90aCBvbiB0aGUgc2FtZSBzeXN0ZW0uIERvaW5nIHNvIHdvdWxkIHJlc3VsdCBpbiBpbmRl eGluZyBhbGwgZmlsZXMsIAplbWFpbHMgYW5kIG90aGVyIGRhdGEgdHdpY2UsIGR1cGxpY2F0aW5n IGZ1bmN0aW9ucyBhbmQgdGF4aW5nIHRoZSBzeXN0ZW0gCnVubmVjZXNzYXJpbHkgZHVlIHRvIHBv cHVsYXRpbmcgYW5kIHN5bmNocm9uaXppbmcgdHdvIHNlcGFyYXRlIGRhdGFiYXNlcy7igJ0KCm9y CgoiS0RFIEFwcGxpY2F0aW9ucyBhbmQgUGxhdGZvcm0gNC4xMyB3aWxsIG5vdCBzaGlwIHdpdGgg TmVwb211ayBiYXNlZCBzZWFyY2ggCmludGVncmF0ZWQuIE5lcG9tdWsgd2lsbCBzdGlsbCBiZSBh dmFpbGFibGUgZm9yIGRpc3RyaWJ1dGlvbnMgdG8gc2hpcCBhcyBhIApzZXBhcmF0ZSBjb21wb25l bnQsIGJ1dCBpdCBpcyByZWNvbW1lbmRlZCB0aGF0IHVzZXJzIHdobyBkZXBlbmQgb24gCmFwcGxp Y2F0aW9ucyByZXF1aXJpbmcgdGhlIG9sZCB2ZXJzaW9uIG9mIE5lcG9tdWsgdG8gaG9sZCBvZmYg dXBncmFkaW5nIHRvIApQbGF0Zm9ybSA0LjEzIHVudGlsIHRoZXNlIGFwcGxpY2F0aW9ucyBoYXZl IGJlZW4gcG9ydGVkLiBMaW51eCBkaXN0cmlidXRpb25zIAp3aWxsIG1vc3QgbGlrZWx5IHRha2Ug Y2FyZSBvZiB0aGlzLCBlbnN1cmluZyB0aGF0IGlmIGFueSBjb21wb25lbnQgbmVlZHMgCk5lcG9t dWsgaXQgd2lsbCBiZSBpbnN0YWxsZWQgYW5kIG90aGVyd2lzZSwgQmFsb28gd2lsbCBiZSBwcm92 aWRpbmcgdGhlIHNlYXJjaCAKYW5kIHN0b3JhZ2UgY2FwYWJpbGl0aWVzLiIKCndpdGgKCuKAnEtE RSBQbGF0Zm9ybSA0LjEzIHdpbGwgc2hpcCB3aXRoIE5lcG9tdWsgMiBpbnRlZ3JhdGlvbiBvbmx5 LiBMaWtld2lzZSwgS0RFIApBcHBsaWNhdGlvbnMgNC4xMyBoYXMgYWxzbyBiZWVuIHVwZ3JhZGVk IHRvIHVzZSBOZXBvbXVrIDIgZXhjbHVzaXZlbHkuIFRoaXMgCmNvdmVycyB0aGUgbWFqb3JpdHkg b2YgTmVwb211ayBhcHBsaWNhdGlvbnMgbW9zdCBwZW9wbGUgdXNlLiBIb3dldmVyLCB0aG9zZSAK cmVseWluZyBvbiBhcHBsaWNhdGlvbnMgd2hpY2ggaGF2ZSBub3QgeWV0IGJlZW4gcG9ydGVkIHRv IE5lcG9tdWsgMiBhcmUgCnN0cm9uZ2x5IHJlY29tbWVuZGVkIHRvIHN0YXkgd2l0aCBLREUgUGxh dGZvcm0gNC4xMiB1bnRpbCB0aG9zZSBhcHBsaWNhdGlvbnMgCmFyZSBwb3J0ZWQuIgoKSXQgc291 bmRzIG1vcmUgbGlrZSBtaWdyYXRpb24gYW5kIHVwZ3JhZGUgdGhhbiBhbiBhd2t3YXJkIHJlcGxh Y2VtZW50LgoKPT0gUmVzZWFyY2ggcGFydGljaXBhdGlvbiBzdG9yeSA9PQoKVXAgdW50aWwgbm93 IHdl4oCZdmUgYmVlbiBhYmxlIHRvIHNheSDigJxZZXMsIHdlIGhhdmUgYmVuZWZpdGVkIGZyb20g ZW5nYWdpbmcgCnByb2R1Y3RpdmVseSBpbiBwdWJsaWMgcmVzZWFyY2ggcHJvamVjdHMgbGlrZSBO ZXBvbXVrIGluIHRoZSBFVS7igJ0gVGhhdCBoYXMgCmdvdHRlbiB1cyBxdWl0ZSBhIGJpdCBvZiBr dWRvcyBvdmVyIHRoZSB5ZWFycy4KCklmIHdlIGtlZXAgdGhlIG5hbWUsIHdlIGNhbiBkZW1vbnN0 cmF0ZSBjb250aW51aXR5IGZyb20gdGhhdCBpbnZlc3RtZW50IGFuZCAKY2hhcnQgZnJvbSBLREXi gJlzIHBhc3QgZWZmb3J0cyBpbiBpdCB0byB3aGVyZSB3ZSBhcmUgbm93LiBZZXMsIGl0IGV2b2x2 ZWQsIGJ1dCAKaXQgc3RhcnRlZCB3aXRoIHRoYXQgcmVzZWFyY2ggZW5kZWF2b3IgYnJvdWdodCBp bnRvIEtERS4gSWYgd2UgdG9zcyB0aGUgbmFtZSwgCmhlcmXigJlzIHdoYXQgd2UgZW5kIHVwIHdp dGggc29tZXRoaW5nIGxpa2UgdGhpczoKCuKAnFdlIGVuZ2FnZWQgaW4gYSBFVSByZXNlYXJjaCBw cm9qZWN0IGNhbGxlZCBOZXBvbXVrLiBJdCBuZWVkZWQgc2lnbmlmaWNhbnQgCmltcHJvdmVtZW50 cyB0byByZWFjaCB0aGUgbGV2ZWwgb2YgcGVyZm9ybWFuY2Ugd2UgcmVxdWlyZWQsIHNvIGV2ZW50 ZXVhbGx5IHdlIApyZXBsYWNlZCBpdCB3aXRoIHNvbWV0aGluZyBjYWxsZWQgJ0JhbG9vJyB3aGlj aCBoYXMgYSBoaWdoZXIgcGVyZm9ybWFuY2UgZmlsZSAKaW5kZXhlciBhcyB3ZWxsIGFzIGEgbW9y ZSBmb2N1c2VkIEFQSSBiZXR0ZXIgZm9yIHdoYXQgYXBwbGljYXRpb25zIGFjdHVhbGx5IApuZWVk ZWQuIFNvbWUgb2YgdGhlIHBlb3BsZSB3aG8gd29ya2VkIG9uIE5lcG9tdWsgYWxzbyB3cm90ZSBC YWxvbywgc28gTmVwb211ayAKd2FzIGEgdmFsdWFibGUgcGFydCBvZiB0aGUgcGF0aCB0byBvdXIg Y3VycmVudCBzb2x1dGlvbi7igJ0KClRoYXTigJlzIHJlYWxseSwgcmVhbGx5IHdlYWsgZm9yIHRy eWluZyB0byBwcmVzZW50IG91ciByZXNlYXJjaCBpbnZvbHZlbWVudCBhbmQgCnRoZSB2YWx1ZSBv ZiB0b3NzaW5nIHJlc291cmNlcyBhdCBLREUgcHJvamVjdHMuIElmIHdlIGtlZXAgdGhlIG5hbWUs IHRoaXMgc2FtZSAKc3RvcnkgYmVjb21lczoKCuKAnFdlIGVuZ2FnZWQgaW4gYSBFVSByZXNlYXJj aCBwcm9qZWN0IGNhbGxlZCBOZXBvbXVrLiBFdmVuIGFmdGVyIHRoZSByZXNlYXJjaCAKcHJvamVj dCBlbmRlZCwgd2UgY29udGludWVkIHRvIGludmVzdCBpbiBpdCBhbmQgZXZvbHZlIHRoZSBmcmFt ZXdvcmsuIFRvZGF5IHdlIApoYXZlIE5lcG9tdWsgPE4+IHdoaWNoIGhhcyBhIGhpZ2hlciBwZXJm b3JtYW5jZSBmaWxlIGluZGV4ZXIgYXMgd2VsbCBhcyBhIG1vcmUgCmZvY3VzZWQgQVBJIHRoYXQg aXMgYmV0dGVyIHN1aXRlZCB0byB3aGF0IGRlc2t0b3AgYXBwbGljYXRpb25zIGFjdHVhbGx5IApu ZWVkZWQuIEluIHRoaXMgbWFubmVyLCB3ZSB0b29rIHRoZSByZXNlYXJjaCBwcm9qZWN0IGFuZCB0 dXJuZWQgaXQgaW50byBhICAKcHJvZHVjdGlvbiBwcm9kdWN0LuKAnQoKSXQgaXMgcmVhbGx5IGhh cmQgdG8gbWFrZSB0aGF0IHNhbWUgc3Rvcnkgd2hlbiB0aGUgbmFtZXMgYXJlIGNoYW5naW5nLCAK cGFydGljdWxhcmx5IGluIGZyb250IG9mIHBlb3BsZSB3aG8gaGFuZCBvdXQgcmVzZWFyY2ggZ3Jh bnRzLgoKPT0gUG9zc2libGUgcG9zdC1iYWxvbyBuYW1lIGNodXJuID09IAoKRnJvbSB0aGUg4oCc cGVzc2ltaXN0c+KAnSBkZXBhcnRtZW50OiAqaWYqIEJhbG9vIHdlcmUgbm90IHRvIHdvcmsgb3V0 IGFzIHdlIHdhbnQgCmFuZCBlbmRzIHVwIGJlaW5nIHJlcGxhY2VkIC8gYXVnbWVudGVkIHdpdGgg c29tZXRoaW5nIGVsc2UgaW4gdGhlIG5leHQgeWVhcnMsIAp3ZeKAmWxsIGhhdmUgdGhpcyB3aG9s ZSBuYW1lIGNoYW5nZSBpc3N1ZSBhbGwgb3ZlciBhZ2FpbiAuLiBhbmQgdGhlbiBpdCB3b3VsZCBi ZSAKMyBuYW1lIGNoYW5nZXMgZm9yIHRoZSBzYW1lIHRoaW5nLiAKCihXaGljaCByZW1pbmRzIG1l IG9mIEthdCBhbmQgVGVub3IgOikKClRoaXMgd2lsbCBsZWFkIHRvIEtERSBsb29raW5nIGxpa2Ug aXQgY2Fu4oCZdCBmaWd1cmUgb3V0IHdoYXQgaXQgaXMgZG9pbmcgLi4uIApzb3J0IG9mIGxpa2Ug dGhlIExpbnV4IG1pZGRsZXdhcmUgbmFtZSBjaHVybiB3aGljaCBjZXJ0YWlubHkgaGFzbuKAmXQg aGVscGVkIAp0aGVpciBjYXVzZSBpbiBnZXR0aW5nIHBlb3BsZSB0byBhZG9wdCBuZXcgaXRlcmF0 aW9ucyB3aXRob3V0IHNjcmVhbWluZyBibG9vZHkgCm11cmRlciAoYW5kIGZvcmtpbmcgaW4gc29t ZSBjYXNlcykKCi0tIApBYXJvbiBKLiBTZWlnbwoKX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX18KVGhpcyBtZXNzYWdlIGlzIGZyb20gdGhlIGtkZS1wcm9tbyBt YWlsaW5nIGxpc3QuCgpWaXNpdCBodHRwczovL21haWwua2RlLm9yZy9tYWlsbWFuL2xpc3RpbmZv L2tkZS1wcm9tbyB0byB1bnN1YnNjcmliZSwgc2V0IGRpZ2VzdCBvbiBvciB0ZW1wb3JhcmlseSBz dG9wIHlvdXIgc3Vic2NyaXB0aW9uLg==