Second Call for Papers: ICFP 2017
Lindsey Kuper <[email protected]> Tue, 31 Jan 2017 16:18:50 -0800
| Newsgroups | gmane.comp.lang.lambda-prolog |
|---|---|
| Message-ID | <[email protected]> |
CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBJQ0ZQIDIwMTcKICAgIFRoZSAyMm5k IEFDTSBTSUdQTEFOIEludGVybmF0aW9uYWwgQ29uZmVyZW5jZSBvbiBGdW5jdGlvbmFsIFByb2dy YW1taW5nCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgT3hmb3JkLCBVbml0ZWQgS2luZ2Rv bQogICAgICAgICAgICAgICAgICAgICAgICAgICBodHRwOi8vaWNmcDE3LnNpZ3BsYW4ub3JnLwog ICAgICAgICAgICAgICAgICAgICAgICAgICAgIFNlY29uZCBDYWxsIGZvciBQYXBlcnMKIAojIyMg SW1wb3J0YW50IGRhdGVzCgpTdWJtaXNzaW9ucyBkdWU6ICAgIE1vbmRheSwgRmVicnVhcnkgMjcs IEFueXdoZXJlIG9uIEVhcnRoCiAgICAgICAgICAgICAgICAgICAgaHR0cHM6Ly9pY2ZwMTcuaG90 Y3JwLmNvbQpBdXRob3IgcmVzcG9uc2U6ICAgIE1vbmRheSwgQXByaWwgMTcsIDIwMTcsIDE1OjAw IChVVEMpIC0KICAgICAgICAgICAgICAgICAgICBUaHVyc2RheSwgQXByaWwgMjAsIDIwMTcsIDE1 OjAwIChVVEMpCk5vdGlmaWNhdGlvbjogICAgICAgTW9uZGF5LCAxIE1heSwgMjAxNwpGaW5hbCBj b3B5IGR1ZTogICAgIE1vbmRheSwgNSBKdW5lIDIwMTcKRWFybHkgcmVnaXN0cmF0aW9uOiBUQkEK Q29uZmVyZW5jZTogICAgICAgICBNb25kYXksIDQgU2VwdGVtYmVyIC0KICAgICAgICAgICAgICAg ICAgICBXZWRuZXNkYXksIDYgU2VwdGVtYmVyLCAyMDE3CgojIyMgVXBkYXRlcyBmb3IgU2Vjb25k IENhbGwgZm9yIFBhcGVycwoKVGhpcyByZXZpc2lvbiwgcHVibGlzaGVkIEphbnVhcnkgMzEsIDIw MTcsIGluY2x1ZGVzIHRoZSBmb2xsb3dpbmcgdXBkYXRlczoKIAogICogQSBsaW5rIHRvIHRoZSBs aXN0IG9mIGZyZXF1ZW50bHkgYXNrZWQgcXVlc3Rpb25zIGFib3V0IHRoZQogICAgZG91YmxlLWJs aW5kIHJldmlldyBwcm9jZXNzLgoKICAqIEEgbmV3IHJlcXVpcmVtZW50IGZvciBjaXRhdGlvbnMg aW4gYXV0aG9yLXllYXIgZm9ybWF0LiBUaGlzIGZvbGxvd3MKICAgIGEgZGVjaXNpb24gZm9yIFBB Q01QTCB0aGF0IHdhcyBtYWRlIGFmdGVyIHRoZSBvcmlnaW5hbCB2ZXJzaW9uIG9mCiAgICB0aGlz IGNhbGwgd2FzIGRpc3RyaWJ1dGVkLiBBcyBzdWNoLCBhdXRob3IteWVhciBmb3JtYXQgd2lsbCBi ZQogICAgcmVxdWlyZWQgZm9yIGZpbmFsIChhY2NlcHRlZCkgdmVyc2lvbnMgb2YgcGFwZXJzIGlu IElDRlAgMjAxNywgYnV0CiAgICBub3QgZm9yIHN1Ym1pc3Npb25zLgoKICAqIEFkZGl0aW9uYWwg Z3VpZGFuY2UgZm9yIGF1dGhvcnMgdXNpbmcgTGFUZVguCgogICogQSBjbGFyaWZpY2F0aW9uIGFi b3V0IHRoZSBleHBlY3RhdGlvbnMgZm9yIGF1dGhvciBhdHRlbmRhbmNlIGluIHRoZQogICAgZXZl bnQgb2YgdmlzYS1yZWxhdGVkIHByb2JsZW1zLgoKIyMjIE5ldyB0aGlzIHllYXIKClRob3NlIGZh bWlsaWFyIHdpdGggcHJldmlvdXMgSUNGUCBjb25mZXJlbmNlcyBzaG91bGQgYmUgYXdhcmUgb2Yg dHdvCnNpZ25pZmljYW50IGNoYW5nZXMgdGhhdCBhcmUgYmVpbmcgaW50cm9kdWNlZCBpbiAyMDE3 OgoKMS4gUGFwZXJzIHNlbGVjdGVkIGZvciBJQ0ZQIDIwMTcgd2lsbCBiZSBwdWJsaXNoZWQgYXMg dGhlIElDRlAgMjAxNwppc3N1ZSBvZiBhIG5ldyBqb3VybmFsLCBQcm9jZWVkaW5ncyBvZiB0aGUg QUNNIG9uIFByb2dyYW1taW5nIExhbmd1YWdlcwooUEFDTVBMKSwgd2hpY2ggcmVwbGFjZXMgdGhl IHByZXZpb3VzIElDRlAgY29uZmVyZW5jZSBwcm9jZWVkaW5ncy4gVGhlCm1vdmUgdG8gUEFDTVBM IHdpbGwgaGF2ZSB0d28gbm90aWNlYWJsZSBpbXBhY3RzIG9uIGF1dGhvcnM6CgogICAgKiBBIG5l dywgdHdvLXBoYXNlIHNlbGVjdGlvbiBhbmQgcmV2aWV3aW5nIHByb2Nlc3MgdGhhdCBjb25mb3Jt cyB0bwogICAgICBBQ03igJlzIGpvdXJuYWwgcmV2aWV3aW5nIGd1aWRlbGluZXMuCgogICAgKiBB IG5ldywgc2luZ2xlLWNvbHVtbiBmb3JtYXQgZm9yIHN1Ym1pc3Npb25zLgoKMi4gQXV0aG9ycyBv ZiBwYXBlcnMgdGhhdCBhcmUgY29uZGl0aW9uYWxseSBhY2NlcHRlZCBpbiB0aGUgZmlyc3QgcGhh c2UKb2YgdGhlIHJldmlld2luZyBwcm9jZXNzIHdpbGwgaGF2ZSB0aGUgb3B0aW9uIHRvIHN1Ym1p dCBtYXRlcmlhbHMgZm9yCkFydGlmYWN0IEV2YWx1YXRpb24uCgpGdXJ0aGVyIGRldGFpbHMgb24g ZWFjaCBvZiB0aGVzZSBjaGFuZ2VzIGFyZSBpbmNsdWRlZCBpbiB0aGUgZm9sbG93aW5nCnRleHQu CgojIyMgU2NvcGUKCklDRlAgMjAxNyBzZWVrcyBvcmlnaW5hbCBwYXBlcnMgb24gdGhlIGFydCBh bmQgc2NpZW5jZSBvZiBmdW5jdGlvbmFsCnByb2dyYW1taW5nLiBTdWJtaXNzaW9ucyBhcmUgaW52 aXRlZCBvbiBhbGwgdG9waWNzIGZyb20gcHJpbmNpcGxlcyB0bwpwcmFjdGljZSwgZnJvbSBmb3Vu ZGF0aW9ucyB0byBmZWF0dXJlcywgYW5kIGZyb20gYWJzdHJhY3Rpb24gdG8KYXBwbGljYXRpb24u IFRoZSBzY29wZSBpbmNsdWRlcyBhbGwgbGFuZ3VhZ2VzIHRoYXQgZW5jb3VyYWdlIGZ1bmN0aW9u YWwKcHJvZ3JhbW1pbmcsIGluY2x1ZGluZyBib3RoIHB1cmVseSBhcHBsaWNhdGl2ZSBhbmQgaW1w ZXJhdGl2ZSBsYW5ndWFnZXMsCmFzIHdlbGwgYXMgbGFuZ3VhZ2VzIHdpdGggb2JqZWN0cywgY29u Y3VycmVuY3ksIG9yIHBhcmFsbGVsaXNtLiBUb3BpY3MKb2YgaW50ZXJlc3QgaW5jbHVkZSAoYnV0 IGFyZSBub3QgbGltaXRlZCB0byk6CgogICogKkxhbmd1YWdlIERlc2lnbio6IGNvbmN1cnJlbmN5 LCBwYXJhbGxlbGlzbSwgYW5kIGRpc3RyaWJ1dGlvbjsKICAgIG1vZHVsZXM7IGNvbXBvbmVudHMg YW5kIGNvbXBvc2l0aW9uOyBtZXRhcHJvZ3JhbW1pbmc7IHR5cGUgc3lzdGVtczsKICAgIGludGVy b3BlcmFiaWxpdHk7IGRvbWFpbi1zcGVjaWZpYyBsYW5ndWFnZXM7IGFuZCByZWxhdGlvbnMgdG8K ICAgIGltcGVyYXRpdmUsIG9iamVjdC1vcmllbnRlZCwgb3IgbG9naWMgcHJvZ3JhbW1pbmcuCgog ICogKkltcGxlbWVudGF0aW9uKjogYWJzdHJhY3QgbWFjaGluZXM7IHZpcnR1YWwgbWFjaGluZXM7 CiAgICBpbnRlcnByZXRhdGlvbjsgY29tcGlsYXRpb247IGNvbXBpbGUtdGltZSBhbmQgcnVuLXRp bWUgb3B0aW1pemF0aW9uOwogICAgZ2FyYmFnZSBjb2xsZWN0aW9uIGFuZCBtZW1vcnkgbWFuYWdl bWVudDsgbXVsdGktdGhyZWFkaW5nOwogICAgZXhwbG9pdGluZyBwYXJhbGxlbCBoYXJkd2FyZTsg aW50ZXJmYWNlcyB0byBmb3JlaWduIGZ1bmN0aW9ucywKICAgIHNlcnZpY2VzLCBjb21wb25lbnRz LCBvciBsb3ctbGV2ZWwgbWFjaGluZSByZXNvdXJjZXMuCgogICogKlNvZnR3YXJlLURldmVsb3Bt ZW50IFRlY2huaXF1ZXMqOiBhbGdvcml0aG1zIGFuZCBkYXRhIHN0cnVjdHVyZXM7CiAgICBkZXNp Z24gcGF0dGVybnM7IHNwZWNpZmljYXRpb247IHZlcmlmaWNhdGlvbjsgdmFsaWRhdGlvbjsgcHJv b2YKICAgIGFzc2lzdGFudHM7IGRlYnVnZ2luZzsgdGVzdGluZzsgdHJhY2luZzsgcHJvZmlsaW5n LgoKICAqICpGb3VuZGF0aW9ucyo6IGZvcm1hbCBzZW1hbnRpY3M7IGxhbWJkYSBjYWxjdWx1czsg cmV3cml0aW5nOyB0eXBlCiAgICB0aGVvcnk7IG1vbmFkczsgY29udGludWF0aW9uczsgY29udHJv bDsgc3RhdGU7IGVmZmVjdHM7IHByb2dyYW0KICAgIHZlcmlmaWNhdGlvbjsgZGVwZW5kZW50IHR5 cGVzLgoKICAqICpBbmFseXNpcyBhbmQgVHJhbnNmb3JtYXRpb24qOiBjb250cm9sLWZsb3c7IGRh dGEtZmxvdzsgYWJzdHJhY3QKICAgIGludGVycHJldGF0aW9uOyBwYXJ0aWFsIGV2YWx1YXRpb247 IHByb2dyYW0gY2FsY3VsYXRpb24uCgogICogKkFwcGxpY2F0aW9ucyo6IHN5bWJvbGljIGNvbXB1 dGluZzsgZm9ybWFsLW1ldGhvZHMgdG9vbHM7IGFydGlmaWNpYWwKICAgIGludGVsbGlnZW5jZTsg c3lzdGVtcyBwcm9ncmFtbWluZzsgZGlzdHJpYnV0ZWQtc3lzdGVtcyBhbmQgd2ViCiAgICBwcm9n cmFtbWluZzsgaGFyZHdhcmUgZGVzaWduOyBkYXRhYmFzZXM7IFhNTCBwcm9jZXNzaW5nOyBzY2ll bnRpZmljCiAgICBhbmQgbnVtZXJpY2FsIGNvbXB1dGluZzsgZ3JhcGhpY2FsIHVzZXIgaW50ZXJm YWNlczsgbXVsdGltZWRpYSBhbmQKICAgIDNEIGdyYXBoaWNzIHByb2dyYW1taW5nOyBzY3JpcHRp bmc7IHN5c3RlbSBhZG1pbmlzdHJhdGlvbjsgc2VjdXJpdHkuCgogICogKkVkdWNhdGlvbio6IHRl YWNoaW5nIGludHJvZHVjdG9yeSBwcm9ncmFtbWluZzsgcGFyYWxsZWwKICAgIHByb2dyYW1taW5n OyBtYXRoZW1hdGljYWwgcHJvb2Y7IGFsZ2VicmEuCgpTdWJtaXNzaW9ucyB3aWxsIGJlIGV2YWx1 YXRlZCBhY2NvcmRpbmcgdG8gdGhlaXIgcmVsZXZhbmNlLCBjb3JyZWN0bmVzcywKc2lnbmlmaWNh bmNlLCBvcmlnaW5hbGl0eSwgYW5kIGNsYXJpdHkuIEVhY2ggc3VibWlzc2lvbiBzaG91bGQgZXhw bGFpbgppdHMgY29udHJpYnV0aW9ucyBpbiBib3RoIGdlbmVyYWwgYW5kIHRlY2huaWNhbCB0ZXJt cywgY2xlYXJseQppZGVudGlmeWluZyB3aGF0IGhhcyBiZWVuIGFjY29tcGxpc2hlZCwgZXhwbGFp bmluZyB3aHkgaXQgaXMKc2lnbmlmaWNhbnQsIGFuZCBjb21wYXJpbmcgaXQgd2l0aCBwcmV2aW91 cyB3b3JrLiBUaGUgdGVjaG5pY2FsIGNvbnRlbnQKc2hvdWxkIGJlIGFjY2Vzc2libGUgdG8gYSBi cm9hZCBhdWRpZW5jZS4KCklDRlAgMjAxNyBhbHNvIHdlbGNvbWVzIHN1Ym1pc3Npb25zIGluIHR3 byBzZXBhcmF0ZSBjYXRlZ29yaWVzIC0tLQpGdW5jdGlvbmFsIFBlYXJscyBhbmQgRXhwZXJpZW5j ZSBSZXBvcnRzIC0tLSB0aGF0IG11c3QgYmUgbWFya2VkIGFzCnN1Y2ggYXQgdGhlIHRpbWUgb2Yg c3VibWlzc2lvbiBhbmQgdGhhdCBuZWVkIG5vdCByZXBvcnQgb3JpZ2luYWwKcmVzZWFyY2ggcmVz dWx0cy4gIERldGFpbGVkIGd1aWRlbGluZXMgb24gYm90aCBjYXRlZ29yaWVzIGFyZSBnaXZlbiBh dAp0aGUgZW5kIG9mIHRoaXMgY2FsbC4KClBsZWFzZSBjb250YWN0IHRoZSBwcm9ncmFtIGNoYWly IGlmIHlvdSBoYXZlIHF1ZXN0aW9ucyBvciBhcmUgY29uY2VybmVkCmFib3V0IHRoZSBhcHByb3By aWF0ZW5lc3Mgb2YgYSB0b3BpYy4KCiMjIyBQcmVwYXJhdGlvbiBvZiBzdWJtaXNzaW9ucwoKSUNG UCAyMDE3IHdpbGwgZW1wbG95IGEgbGlnaHR3ZWlnaHQgZG91YmxlLWJsaW5kIHJldmlld2luZyBw cm9jZXNzLCBhcwpkZXNjcmliZWQgYmVsb3cuCgoqKkRlYWRsaW5lKio6IFRoZSBkZWFkbGluZSBm b3Igc3VibWlzc2lvbnMgaXMgTW9uZGF5LCBGZWJydWFyeSAyNywgMjAxNywKQW55d2hlcmUgb24g RWFydGggKDxodHRwczovL2VuLndpa2lwZWRpYS5vcmcvd2lraS9Bbnl3aGVyZV9vbl9FYXJ0aD4p LgpUaGlzIGRlYWRsaW5lIHdpbGwgYmUgc3RyaWN0bHkgZW5mb3JjZWQuCgoqKkZvcm1hdHRpbmcq KjogKE5PVEU6IE5FVyBGT1JNQVQgUkVRVUlSRU1FTlRTIEZPUiBJQ0ZQIDIwMTcpClN1Ym1pc3Np b25zIG11c3QgYmUgaW4gUERGIGZvcm1hdCwgcHJpbnRhYmxlIGluIGJsYWNrIGFuZCB3aGl0ZSBv biBVUwpMZXR0ZXIgc2l6ZWQgcGFwZXIsIGFuZCBpbnRlcnByZXRhYmxlIGJ5IGNvbW1vbiBQREYg dG9vbHMuIEFsbApzdWJtaXNzaW9ucyBtdXN0IGFkaGVyZSB0byB0aGUgIkFDTSBMYXJnZSIgdGVt cGxhdGUgdGhhdCBpcyBhdmFpbGFibGUKKGluIGJvdGggTGFUZVggYW5kIFdvcmQgZm9ybWF0cykg ZnJvbQo8aHR0cDovL3d3dy5hY20ub3JnL3B1YmxpY2F0aW9ucy9wcm9jZWVkaW5ncy10ZW1wbGF0 ZT4uCgpGb3IgYXV0aG9ycyB1c2luZyBMYVRlWCwgYSBsaWdodGVyLXdlaWdodCBwYWNrYWdlLCBp bmNsdWRpbmcgb25seSB0aGUKZXNzZW50aWFsIGZpbGVzLCBpcyBhdmFpbGFibGUgZnJvbQo8aHR0 cDovL3NpZ3BsYW4ub3JnL1Jlc291cmNlcy9BdXRob3IvI2FjbWFydC1mb3JtYXQ+OyB0aGUgYXBw cm9wcmlhdGUKdGVtcGxhdGUgZm9yIElDRlAgMjAxNyBhdXRob3JzIGlzIGluIHRoZSBmaWxlCmBh Y21hcnQtcGFjbXBsLXRlbXBsYXRlLnRleGAuICBBcyBkb2N1bWVudGVkIGluIHRoZSB0ZW1wbGF0 ZSwKc3VibWlzc2lvbnMgc2hvdWxkIGJlIHByZXBhcmVkIHVzaW5nIHRoZSBgYWNtbGFyZ2VgIGFu ZCBgYW5vbnltb3VzYApvcHRpb25zLiAgVGhlIHVzZSBvZiB0aGUgYHJldmlld2Agb3B0aW9uIGlz IGFsc28gc3Ryb25nbHkgZW5jb3VyYWdlZCBidXQKbm90IHJlcXVpcmVkLiAgKFRoZSBgcmV2aWV3 YCBvcHRpb24gd2lsbCBhZGQgbGluZSBudW1iZXJzLCB3aGljaCB3aWxsCm1ha2UgaXQgZWFzaWVy IGZvciByZXZpZXdlcnMgdG8gcmVmZXJlbmNlIHNwZWNpZmljIHBhcnRzIG9mIHlvdXIgcGFwZXIK aW4gdGhlaXIgY29tbWVudHMsIGJ1dCBzaG91bGQgaGF2ZSBhYnNvbHV0ZWx5IG5vIG90aGVyIGVm ZmVjdCBvbiB0aGUKdHlwZXNldHRpbmcuKSBEZXRhaWxzIG9mIGF2YWlsYWJsZSB0ZWNobmljYWwg c3VwcG9ydCBmb3IgTGFUZVgtc3BlY2lmaWMKcXVlc3Rpb25zIGlzIGF2YWlsYWJsZSBhdAo8aHR0 cDovL3d3dy5hY20ub3JnL3B1YmxpY2F0aW9ucy9wcm9jZWVkaW5ncy10ZW1wbGF0ZSNoLXRlY2hu aWNhbC1zdXBwb3J0Pi4KClRoZXJlIGlzIGEgbGltaXQgb2YgMjQgcGFnZXMgZm9yIGEgZnVsbCBw YXBlciBvciAxMiBwYWdlcyBmb3IgYW4KRXhwZXJpZW5jZSBSZXBvcnQ7IGluIGVpdGhlciBjYXNl LCB0aGUgYmlibGlvZ3JhcGh5IHdpbGwgbm90IGJlIGNvdW50ZWQKYWdhaW5zdCB0aGVzZSBsaW1p dHMuIFRoZXNlIHBhZ2UgbGltaXRzIGhhdmUgYmVlbiBjaG9zZW4gdG8gYWxsb3cKZXNzZW50aWFs bHkgdGhlIHNhbWUgYW1vdW50IG9mIGNvbnRlbnQgd2l0aCB0aGUgbmV3IHNpbmdsZS1jb2x1bW4g Zm9ybWF0CmFzIHdhcyBwb3NzaWJsZSB3aXRoIHRoZSB0d28tY29sdW1uIGZvcm1hdCB1c2VkIGlu IHBhc3QgSUNGUApjb25mZXJlbmNlcy4gU3VibWlzc2lvbnMgdGhhdCBleGNlZWQgdGhlIHBhZ2Ug bGltaXRzIG9yLCBmb3Igb3RoZXIKcmVhc29ucywgZG8gbm90IG1lZXQgdGhlIHJlcXVpcmVtZW50 cyBmb3IgZm9ybWF0dGluZywgd2lsbCBiZSBzdW1tYXJpbHkKcmVqZWN0ZWQuCgoqKkNpdGF0aW9u cyoqOiBBcyBwYXJ0IG9mIFBBQ01QTCwgSUNGUCAyMDE3IHBhcGVycyBhcmUgZXhwZWN0ZWQgdG8g dXNlCmF1dGhvci15ZWFyIGNpdGF0aW9ucyBmb3IgcmVmZXJlbmNlcyB0byBvdGhlciB3b3JrLiBB dXRob3IteWVhcgpjaXRhdGlvbnMgbWF5IGJlIHVzZWQgYXMgZWl0aGVyIGEgbm91biBwaHJhc2Us IHN1Y2ggYXMgIlRoZSBsYW1iZGEKY2FsY3VsdXMgd2FzIG9yaWdpbmFsbHkgY29uY2VpdmVkIGJ5 IENodXJjaCAoMTkzMikiLCBvciBhIHBhcmVudGhldGljCnBoYXNlLCBzdWNoIGFzICJUaGUgbGFt YmRhIGNhbGN1bHVzIChDaHVyY2ggMTkzMikgd2FzIGludGVuZGVkIGFzIGEKZm91bmRhdGlvbiBm b3IgbWF0aGVtYXRpY3MiLiBBIHVzZWZ1bCB0ZXN0IGZvciBjb3JyZWN0IHVzYWdlIGl0IHRvIG1h a2UKc3VyZSB0aGF0IHRoZSB0ZXh0IHN0aWxsIHJlYWRzIGNvcnJlY3RseSB3aGVuIHRoZSBwYXJl bnRoZXNpemVkIHBvcnRpb25zCm9mIGFueSByZWZlcmVuY2VzIGFyZSBvbWl0dGVkLiBUYWtlIGNh cmUgd2l0aCBwcmVwb3NpdGlvbnM7IGluIHRoZSBmaXJzdApleGFtcGxlIGFib3ZlLCAiYnkiIGlz IG1vcmUgYXBwcm9wcmlhdGUgdGhhbiAiaW4iIGJlY2F1c2UgaXQgYWxsb3dzIHRoZQp0ZXh0IHRv IGJlIHJlYWQgY29ycmVjdGx5IGFzIGEgcmVmZXJlbmNlIHRvIHRoZSBhdXRob3IuIFNvbWV0aW1l cywKcmVhZGFiaWxpdHkgbWF5IGJlIGltcHJvdmVkIGJ5IHB1dHRpbmcgcGFyZW50aGV0aWMgY2l0 YXRpb25zIGF0IHRoZSBlbmQKb2YgYSBjbGF1c2Ugb3IgYSBzZW50ZW5jZSwgc3VjaCBhcyAiQSBm b3VuZGF0aW9uIGZvciBtYXRoZW1hdGljcyB3YXMKcHJvdmlkZWQgYnkgdGhlIGxhbWJkYSBjYWxj dWx1cyAoQ2h1cmNoIDE5MzIpIi4gSW4gTGFUZVgsIHVzZQpgXGNpdGV0e0NodXJjaC0xOTMyfWAg Zm9yIGNpdGF0aW9ucyBhcyBhIG5vdW4gcGhyYXNlLCAiQ2h1cmNoICgxOTMyKSIsCmFuZCBgXGNp dGVwe0NodXJjaC0xOTMyfWAgZm9yIGNpdGF0aW9ucyBhcyBhIHBhcmVudGhldGljIHBocmFzZSwK IihDaHVyY2ggMTkzMikiOyBmb3IgZGV0YWlscywgc2VlIFNlY3Rpb25zIDIuMy0tMi41IG9mIHRo ZSBuYXRiaWIKZG9jdW1lbnRhdGlvbiAoPGh0dHA6Ly9jdGFuLm9yZy9wa2cvbmF0YmliPikuCgoq KlN1Ym1pc3Npb24qKjogU3VibWlzc2lvbnMgd2lsbCBiZSBhY2NlcHRlZCBhdAo8aHR0cHM6Ly9p Y2ZwMTcuaG90Y3JwLmNvbS8+IChpbiBwcmVwYXJhdGlvbiBhdCB0aGUgdGltZSBvZiB3cml0aW5n KS4KCkltcHJvdmVkIHZlcnNpb25zIG9mIGEgcGFwZXIgbWF5IGJlIHN1Ym1pdHRlZCBhdCBhbnkg cG9pbnQgYmVmb3JlIHRoZQpzdWJtaXNzaW9uIGRlYWRsaW5lIHVzaW5nIHRoZSBzYW1lIHdlYiBp bnRlcmZhY2UuCgoqKkF1dGhvciBSZXNwb25zZSBQZXJpb2QqKjogQXV0aG9ycyB3aWxsIGhhdmUg YSA3Mi1ob3VyIHBlcmlvZCwgc3RhcnRpbmcKYXQgMTU6MDAgVVRDIG9uIE1vbmRheSwgQXByaWwg MTcsIDIwMTcsIHRvIHJlYWQgcmV2aWV3cyBhbmQgcmVzcG9uZCB0bwp0aGVtLgoKKipTdXBwbGVt ZW50YXJ5IE1hdGVyaWFscyoqOiBBdXRob3JzIGhhdmUgdGhlIG9wdGlvbiB0byBhdHRhY2gKc3Vw cGxlbWVudGFyeSBtYXRlcmlhbCB0byBhIHN1Ym1pc3Npb24sIG9uIHRoZSB1bmRlcnN0YW5kaW5n IHRoYXQKcmV2aWV3ZXJzIG1heSBjaG9vc2Ugbm90IHRvIGxvb2sgYXQgaXQuIFRoZSBtYXRlcmlh bCBzaG91bGQgYmUgdXBsb2FkZWQKYXQgc3VibWlzc2lvbiB0aW1lLCBhcyBhIHNpbmdsZSBwZGYg b3IgYSB0YXJiYWxsLCBub3QgdmlhIGEgVVJMLiBUaGlzCnN1cHBsZW1lbnRhcnkgbWF0ZXJpYWwg bWF5IG9yIG1heSBub3QgYmUgYW5vbnltaXplZDsgaWYgbm90IGFub255bWl6ZWQsCml0IHdpbGwg b25seSBiZSByZXZlYWxlZCB0byByZXZpZXdlcnMgYWZ0ZXIgdGhleSBoYXZlIHN1Ym1pdHRlZCB0 aGVpcgpyZXZpZXcgb2YgdGhlIHBhcGVyIGFuZCBsZWFybmVkIHRoZSBpZGVudGl0eSBvZiB0aGUg YXV0aG9yKHMpLgoKKipBdXRob3JzaGlwIFBvbGljaWVzKio6IEFsbCBzdWJtaXNzaW9ucyBhcmUg ZXhwZWN0ZWQgdG8gY29tcGx5IHdpdGggdGhlCkFDTSBQb2xpY2llcyBmb3IgQXV0aG9yc2hpcCB0 aGF0IGFyZSBkZXRhaWxlZCBhdAo8aHR0cHM6Ly93d3cuYWNtLm9yZy9wdWJsaWNhdGlvbnMvYXV0 aG9ycy9pbmZvcm1hdGlvbi1mb3ItYXV0aG9ycz4uCgoqKlJlcHVibGljYXRpb24gUG9saWNpZXMq KjogRWFjaCBzdWJtaXNzaW9uIG11c3QgYWRoZXJlIHRvIFNJR1BMQU4ncwpyZXB1YmxpY2F0aW9u IHBvbGljeSwgYXMgZXhwbGFpbmVkIG9uIHRoZSB3ZWIgYXQKPGh0dHA6Ly93d3cuc2lncGxhbi5v cmcvUmVzb3VyY2VzL1BvbGljaWVzL1JlcHVibGljYXRpb24+LgoKKipSZXN1Ym1pdHRlZCBQYXBl cnMqKjogQXV0aG9ycyB3aG8gc3VibWl0IGEgcmV2aXNlZCB2ZXJzaW9uIG9mIGEgcGFwZXIKdGhh dCBoYXMgcHJldmlvdXNseSBiZWVuIHJlamVjdGVkIGJ5IGFub3RoZXIgY29uZmVyZW5jZSBoYXZl IHRoZSBvcHRpb24KdG8gYXR0YWNoIGFuIGFubm90YXRlZCBjb3B5IG9mIHRoZSByZXZpZXdzIG9m IHRoZWlyIHByZXZpb3VzCnN1Ym1pc3Npb24ocyksIGV4cGxhaW5pbmcgaG93IHRoZXkgaGF2ZSBh ZGRyZXNzZWQgdGhlc2UgcHJldmlvdXMgcmV2aWV3cwppbiB0aGUgcHJlc2VudCBzdWJtaXNzaW9u LiBJZiBhIHJldmlld2VyIGlkZW50aWZpZXMgaGltL2hlcnNlbGYgYXMgYQpyZXZpZXdlciBvZiB0 aGlzIHByZXZpb3VzIHN1Ym1pc3Npb24gYW5kIHdpc2hlcyB0byBzZWUgaG93IGhpcy9oZXIKY29t bWVudHMgaGF2ZSBiZWVuIGFkZHJlc3NlZCwgdGhlIHByb2dyYW0gY2hhaXIgd2lsbCBjb21tdW5p Y2F0ZSB0byB0aGlzCnJldmlld2VyIHRoZSBhbm5vdGF0ZWQgY29weSBvZiBoaXMvaGVyIHByZXZp b3VzIHJldmlldy4gT3RoZXJ3aXNlLCBubwpyZXZpZXdlciB3aWxsIHJlYWQgdGhlIGFubm90YXRl ZCBjb3BpZXMgb2YgdGhlIHByZXZpb3VzIHJldmlld3MuCgojIyMgUmV2aWV3IFByb2Nlc3MKClRo aXMgc2VjdGlvbiBvdXRsaW5lcyB0aGUgdHdvLXN0YWdlIHByb2Nlc3Mgd2l0aCBsaWdodHdlaWdo dApkb3VibGUtYmxpbmQgcmV2aWV3aW5nIHRoYXQgd2lsbCBiZSB1c2VkIHRvIHNlbGVjdCBwYXBl cnMgZm9yCnByZXNlbnRhdGlvbiBhdCBJQ0ZQIDIwMTcuIEEgW2xpc3Qgb2YgZnJlcXVlbnRseSBh c2tlZCBxdWVzdGlvbnMgYW5kCmFuc3dlcnNdKGh0dHA6Ly9pY2ZwMTcuc2lncGxhbi5vcmcvdHJh Y2svaWNmcC0yMDE3LXBhcGVycyNTdWJtaXNzaW9uLWFuZC1SZXZpZXdpbmctRkFRKQp0aGF0IGFk ZHJlc3MgY29tbW9uIGNvbmNlcm5zIGlzIGF2YWlsYWJsZSBvbiB0aGUgY29uZmVyZW5jZSB3ZWJz aXRlIGFuZAp3aWxsIGJlIHVwZGF0ZWQgYXMgbmVjZXNzYXJ5IHRvIGNsYXJpZnkgYW5kIGV4cGFu ZCBvbiB0aGlzIHByb2Nlc3MuCgoqKklDRlAgMjAxNyB3aWxsIGVtcGxveSBhIHR3by1zdGFnZSBy ZXZpZXcgcHJvY2Vzcy4qKiAgVGhlIGZpcnN0IHN0YWdlCmluIHRoZSByZXZpZXcgcHJvY2VzcyB3 aWxsIGFzc2VzcyBzdWJtaXR0ZWQgcGFwZXJzIHVzaW5nIHRoZSBjcml0ZXJpYQpzdGF0ZWQgYWJv dmUgYW5kIHdpbGwgYWxsb3cgZm9yIGZlZWRiYWNrIGFuZCBpbnB1dCBvbiBpbml0aWFsIHJldmll d3MKdGhyb3VnaCB0aGUgYXV0aG9yIHJlc3BvbnNlIHBlcmlvZCBtZW50aW9uZWQgcHJldmlvdXNs eS4gQXQgdGhlIFBDCm1lZXRpbmcsIGEgc2V0IG9mIHBhcGVycyB3aWxsIGJlIGNvbmRpdGlvbmFs bHkgYWNjZXB0ZWQgYW5kIGFsbCBvdGhlcgpwYXBlcnMgd2lsbCBiZSByZWplY3RlZC4gIEF1dGhv cnMgd2lsbCBiZSBub3RpZmllZCBvZiB0aGVzZSBkZWNpc2lvbnMgb24KTWF5IDEsIDIwMTcuCgpB dXRob3JzIG9mIGNvbmRpdGlvbmFsbHkgYWNjZXB0ZWQgcGFwZXJzIHdpbGwgYmUgcHJvdmlkZWQg d2l0aCBjb21taXR0ZWUKcmV2aWV3cyAoanVzdCBhcyBpbiBwcmV2aW91cyBjb25mZXJlbmNlcykg YWxvbmcgd2l0aCBhIHNldCBvZiBtYW5kYXRvcnkKcmV2aXNpb25zLiBBZnRlciBmaXZlIHdlZWtz IChKdW5lIDUsIDIwMTcpLCB0aGUgYXV0aG9ycyB3aWxsIHByb3ZpZGUgYQpzZWNvbmQgc3VibWlz c2lvbi4gVGhlIHNlY29uZCBhbmQgZmluYWwgcmV2aWV3aW5nIHBoYXNlIGFzc2Vzc2VzIHdoZXRo ZXIKdGhlIG1hbmRhdG9yeSByZXZpc2lvbnMgaGF2ZSBiZWVuIGFkZXF1YXRlbHkgYWRkcmVzc2Vk IGJ5IHRoZSBhdXRob3JzCmFuZCB0aGVyZWJ5IGRldGVybWluZXMgdGhlIGZpbmFsIGFjY2VwdC9y ZWplY3Qgc3RhdHVzIG9mIHRoZSBwYXBlci4gVGhlCmludGVudCBhbmQgZXhwZWN0YXRpb24gaXMg dGhhdCB0aGUgbWFuZGF0b3J5IHJldmlzaW9ucyBjYW4gYmUgYWRkcmVzc2VkCndpdGhpbiBmaXZl IHdlZWtzIGFuZCBoZW5jZSB0aGF0IGNvbmRpdGlvbmFsbHkgYWNjZXB0ZWQgcGFwZXJzIHdpbGwg aW4KZ2VuZXJhbCBiZSBhY2NlcHRlZCBpbiB0aGUgc2Vjb25kIHBoYXNlLgoKVGhlIHNlY29uZCBz dWJtaXNzaW9uIHNob3VsZCBjbGVhcmx5IGlkZW50aWZ5IGhvdyB0aGUgbWFuZGF0b3J5CnJldmlz aW9ucyB3ZXJlIGFkZHJlc3NlZC4gVG8gdGhhdCBlbmQsIHRoZSBzZWNvbmQgc3VibWlzc2lvbiBt dXN0IGJlCmFjY29tcGFuaWVkIGJ5IGEgY292ZXIgbGV0dGVyIG1hcHBpbmcgZWFjaCBtYW5kYXRv cnkgcmV2aXNpb24gcmVxdWVzdCB0bwpzcGVjaWZpYyBwYXJ0cyBvZiB0aGUgcGFwZXIuIFRoZSBj b3ZlciBsZXR0ZXIgd2lsbCBmYWNpbGl0YXRlIGEgcXVpY2sKc2Vjb25kIHJldmlldywgYWxsb3dp bmcgZm9yIGNvbmZpcm1hdGlvbiBvZiBmaW5hbCBhY2NlcHRhbmNlIHdpdGhpbiB0d28Kd2Vla3Mu IENvbnZlcnNlbHksIHRoZSBhYnNlbmNlIG9mIGEgY292ZXIgbGV0dGVyIHdpbGwgYmUgZ3JvdW5k cyBmb3IgdGhlCnBhcGVy4oCZcyByZWplY3Rpb24uCgpUaGlzIHByb2Nlc3MgaXMgaW50ZW5kZWQg YXMgYSByZWZpbmVtZW50IG9mIHRoZSByZXZpZXcgcHJvY2VzcyB0aGF0IGhhcwpiZWVuIHVzZWQg aW4gcHJldmlvdXMgSUNGUCBjb25mZXJlbmNlcy4gQnkgaW5jb3Jwb3JhdGluZyBhIHNlY29uZCBz dGFnZSwKdGhlIHByb2Nlc3Mgd2lsbCBjb25mb3JtIHRvIEFDTeKAmXMgam91cm5hbCByZXZpZXdp bmcgZ3VpZGVsaW5lcyBmb3IKUEFDTVBMLgoKKipJQ0ZQIDIwMTcgd2lsbCBlbXBsb3kgYSBsaWdo dHdlaWdodCBkb3VibGUtYmxpbmQgcmV2aWV3aW5nIHByb2Nlc3MuKioKVG8gZmFjaWxpdGF0ZSB0 aGlzLCBzdWJtaXR0ZWQgcGFwZXJzIG11c3QgYWRoZXJlIHRvIHR3byBydWxlczoKCiAgMS4gKiph dXRob3IgbmFtZXMgYW5kIGluc3RpdHV0aW9ucyBtdXN0IGJlIG9taXR0ZWQqKiwgYW5kCiAgMi4g KipyZWZlcmVuY2VzIHRvIGF1dGhvcnMnIG93biByZWxhdGVkIHdvcmsgc2hvdWxkIGJlIGluIHRo ZSB0aGlyZAogIHBlcnNvbioqIChlLmcuLCBub3QgIldlIGJ1aWxkIG9uIG91ciBwcmV2aW91cyB3 b3JrIC4uLiIgYnV0IHJhdGhlciAiV2UKICBidWlsZCBvbiB0aGUgd29yayBvZiAuLi4iKS4KClRo ZSBwdXJwb3NlIG9mIHRoaXMgcHJvY2VzcyBpcyB0byBoZWxwIHRoZSBQQyBhbmQgZXh0ZXJuYWwg cmV2aWV3ZXJzCmNvbWUgdG8gYW4gaW5pdGlhbCBqdWRnZW1lbnQgYWJvdXQgdGhlIHBhcGVyIHdp dGhvdXQgYmlhcywgbm90IHRvIG1ha2UKaXQgaW1wb3NzaWJsZSBmb3IgdGhlbSB0byBkaXNjb3Zl ciB0aGUgYXV0aG9ycyBpZiB0aGV5IHdlcmUgdG8gdHJ5LgpOb3RoaW5nIHNob3VsZCBiZSBkb25l IGluIHRoZSBuYW1lIG9mIGFub255bWl0eSB0aGF0IHdlYWtlbnMgdGhlCnN1Ym1pc3Npb24gb3Ig bWFrZXMgdGhlIGpvYiBvZiByZXZpZXdpbmcgdGhlIHBhcGVyIG1vcmUgZGlmZmljdWx0IChlLmcu LAppbXBvcnRhbnQgYmFja2dyb3VuZCByZWZlcmVuY2VzIHNob3VsZCBub3QgYmUgb21pdHRlZCBv ciBhbm9ueW1pemVkKS4gSW4KYWRkaXRpb24sIGF1dGhvcnMgc2hvdWxkIGZlZWwgZnJlZSB0byBk aXNzZW1pbmF0ZSB0aGVpciBpZGVhcyBvciBkcmFmdAp2ZXJzaW9ucyBvZiB0aGVpciBwYXBlciBh cyB0aGV5IG5vcm1hbGx5IHdvdWxkLiBGb3IgaW5zdGFuY2UsIGF1dGhvcnMKbWF5IHBvc3QgZHJh ZnRzIG9mIHRoZWlyIHBhcGVycyBvbiB0aGUgd2ViIG9yIGdpdmUgdGFsa3Mgb24gdGhlaXIKcmVz ZWFyY2ggaWRlYXMuCgojIyMgSW5mb3JtYXRpb24gZm9yIEF1dGhvcnMgb2YgQWNjZXB0ZWQgUGFw ZXJzCgoqIEFzIGEgY29uZGl0aW9uIG9mIGFjY2VwdGFuY2UsIGZpbmFsIHZlcnNpb25zIG9mIGFs bCBwYXBlcnMgbXVzdCBhZGhlcmUKICB0byB0aGUgbmV3IEFDTSBMYXJnZSBmb3JtYXQuIFRoZSBw YWdlIGxpbWl0cyBmb3IgZmluYWwgdmVyc2lvbnMgb2YKICBwYXBlcnMgd2lsbCBiZSBpbmNyZWFz ZWQgdG8gZW5zdXJlIHRoYXQgYXV0aG9ycyBoYXZlIHNwYWNlIHRvIHJlc3BvbmQKICB0byByZXZp ZXdlciBjb21tZW50cyBhbmQgbWFuZGF0b3J5IHJldmlzaW9ucy4KCiogQXV0aG9ycyBvZiBhY2Nl cHRlZCBzdWJtaXNzaW9ucyB3aWxsIGJlIHJlcXVpcmVkIHRvIGFncmVlIHRvIG9uZSBvZgogIHRo ZSB0aHJlZSBBQ00gbGljZW5zaW5nIG9wdGlvbnM6IGNvcHlyaWdodCB0cmFuc2ZlciB0byBBQ007 IHJldGFpbmluZwogIGNvcHlyaWdodCBidXQgZ3JhbnRpbmcgQUNNIGV4Y2x1c2l2ZSBwdWJsaWNh dGlvbiByaWdodHM7IG9yIG9wZW4KICBhY2Nlc3Mgb24gcGF5bWVudCBvZiBhIGZlZS4gIEZ1cnRo ZXIgaW5mb3JtYXRpb24gYWJvdXQgQUNNIGF1dGhvcgogIHJpZ2h0cyBpcyBhdmFpbGFibGUgZnJv bSA8aHR0cDovL2F1dGhvcnMuYWNtLm9yZz4uCgoqIEF0IGxlYXN0IG9uZSBhdXRob3Igb2YgZWFj aCBhY2NlcHRlZCBzdWJtaXNzaW9uIHdpbGwgYmUgZXhwZWN0ZWQgdG8KICBhdHRlbmQgYW5kIHBy ZXNlbnQgdGhlaXIgcGFwZXIgYXQgdGhlIGNvbmZlcmVuY2UuIChJQ0ZQIHdlbGNvbWVzIGFsbAog IGF1dGhvcnMsIHJlZ2FyZGxlc3Mgb2YgbmF0aW9uYWxpdHkuIElmIGFueSBhdXRob3Igb2YgYW4g YWNjZXB0ZWQKICBzdWJtaXNzaW9uIGhhcyB2aXNhLXJlbGF0ZWQgZGlmZmljdWx0aWVzIGluIHRy YXZlbGxpbmcgdG8gdGhlCiAgY29uZmVyZW5jZSwgd2Ugd2lsbCBtYWtlIGFycmFuZ2VtZW50cyB0 byBlbmFibGUgcmVtb3RlIHBhcnRpY2lwYXRpb24sCiAgYW5kIG5vdCByZXF1aXJlIHRoZW0gdG8g YXR0ZW5kIHRoZSBjb25mZXJlbmNlIGluIG9yZGVyIHRvIHByZXNlbnQKICB0aGVpciB0YWxrLikg VGhlIHNjaGVkdWxlIGZvciBwcmVzZW50YXRpb25zIHdpbGwgYmUgZGV0ZXJtaW5lZCBhbmQKICBz aGFyZWQgd2l0aCBhdXRob3JzIGFmdGVyIHRoZSBmdWxsIHByb2dyYW0gaGFzIGJlZW4gc2VsZWN0 ZWQuCiAgUHJlc2VudGF0aW9ucyB3aWxsIGJlIHZpZGVvdGFwZWQgYW5kIHJlbGVhc2VkIG9ubGlu ZSBpZiB0aGUgcHJlc2VudGVyCiAgY29uc2VudHMuCgoqIFdlIGludGVuZCB0aGF0IHRoZSBwcm9j ZWVkaW5ncyB3aWxsIGJlIGZyZWVseSBhdmFpbGFibGUgZm9yIGRvd25sb2FkCiAgZnJvbSB0aGUg QUNNIERpZ2l0YWwgTGlicmFyeSBpbiBwZXJwZXR1aXR5IHZpYSB0aGUgT3BlblRPQyBtZWNoYW5p c20uCgoqIEFDTSBBdXRob3ItSXplciBpcyBhIHVuaXF1ZSBzZXJ2aWNlIHRoYXQgZW5hYmxlcyBB Q00gYXV0aG9ycyB0bwogIGdlbmVyYXRlIGFuZCBwb3N0IGxpbmtzIG9uIGVpdGhlciB0aGVpciBo b21lIHBhZ2Ugb3IgaW5zdGl0dXRpb25hbAogIHJlcG9zaXRvcnkgZm9yIHZpc2l0b3JzIHRvIGRv d25sb2FkIHRoZSBkZWZpbml0aXZlIHZlcnNpb24gb2YgdGhlaXIKICBhcnRpY2xlcyBmcm9tIHRo ZSBBQ00gRGlnaXRhbCBMaWJyYXJ5IGF0IG5vIGNoYXJnZS4gRG93bmxvYWRzIHRocm91Z2gKICBB dXRob3ItSXplciBsaW5rcyBhcmUgY2FwdHVyZWQgaW4gb2ZmaWNpYWwgQUNNIHN0YXRpc3RpY3Ms IGltcHJvdmluZwogIHRoZSBhY2N1cmFjeSBvZiB1c2FnZSBhbmQgaW1wYWN0IG1lYXN1cmVtZW50 cy4gQ29uc2lzdGVudGx5IGxpbmtpbmcgdG8KICB0aGUgZGVmaW5pdGl2ZSB2ZXJzaW9uIG9mIGFu IEFDTSBhcnRpY2xlIHNob3VsZCByZWR1Y2UgdXNlciBjb25mdXNpb24KICBvdmVyIGFydGljbGUg dmVyc2lvbmluZy4gQWZ0ZXIgYW4gYXJ0aWNsZSBoYXMgYmVlbiBwdWJsaXNoZWQgYW5kCiAgYXNz aWduZWQgdG8gdGhlIGFwcHJvcHJpYXRlIEFDTSBBdXRob3IgUHJvZmlsZSBwYWdlcywgYXV0aG9y cyBzaG91bGQKICB2aXNpdCA8aHR0cDovL3d3dy5hY20ub3JnL3B1YmxpY2F0aW9ucy9hY20tYXV0 aG9yLWl6ZXItc2VydmljZT4gdG8KICBsZWFybiBob3cgdG8gY3JlYXRlIGxpbmtzIGZvciBmcmVl IGRvd25sb2FkcyBmcm9tIHRoZSBBQ00gREwuCgoqICoqQVVUSE9SUyBUQUtFIE5PVEU6IFRoZSBv ZmZpY2lhbCBwdWJsaWNhdGlvbiBkYXRlIGlzIHRoZSBkYXRlIHRoZQogIHByb2NlZWRpbmdzIGFy ZSBtYWRlIGF2YWlsYWJsZSBpbiB0aGUgQUNNIERpZ2l0YWwgTGlicmFyeS4gVGhpcyBkYXRlCiAg bWF5IGJlIHVwIHRvICp0d28gd2Vla3MgcHJpb3IqIHRvIHRoZSBmaXJzdCBkYXkgb2YgdGhlIGNv bmZlcmVuY2UuIFRoZQogIG9mZmljaWFsIHB1YmxpY2F0aW9uIGRhdGUgYWZmZWN0cyB0aGUgZGVh ZGxpbmUgZm9yIGFueSBwYXRlbnQgZmlsaW5ncwogIHJlbGF0ZWQgdG8gcHVibGlzaGVkIHdvcmsu KioKCiMjIyBBcnRpZmFjdCBFdmFsdWF0aW9uCgpBdXRob3JzIG9mIHBhcGVycyB0aGF0IGFyZSBj b25kaXRpb25hbGx5IGFjY2VwdGVkIGluIHRoZSBmaXJzdCBwaGFzZSBvZgp0aGUgcmV2aWV3IHBy b2Nlc3Mgd2lsbCBiZSBlbmNvdXJhZ2VkIChidXQgbm90IHJlcXVpcmVkKSB0byBzdWJtaXQKc3Vw cG9ydGluZyBtYXRlcmlhbHMgZm9yIEFydGlmYWN0IEV2YWx1YXRpb24uIFRoZXNlIGl0ZW1zIHdp bGwgdGhlbiBiZQpyZXZpZXdlZCBieSBhIGNvbW1pdHRlZSwgc2VwYXJhdGUgZnJvbSB0aGUgcHJv Z3JhbSBjb21taXR0ZWUsIHdob3NlIHRhc2sKaXMgdG8gYXNzZXNzIGhvdyB0aGUgYXJ0aWZhY3Rz IHN1cHBvcnQgdGhlIHdvcmsgZGVzY3JpYmVkIGluIHRoZQphc3NvY2lhdGVkIHBhcGVyLiBQYXBl cnMgdGhhdCBnbyB0aHJvdWdoIHRoZSBBcnRpZmFjdCBFdmFsdWF0aW9uIHByb2Nlc3MKc3VjY2Vz c2Z1bGx5IHdpbGwgcmVjZWl2ZSBhIHNlYWwgb2YgYXBwcm92YWwgcHJpbnRlZCBvbiB0aGUgcGFw ZXJzCnRoZW1zZWx2ZXMuIEF1dGhvcnMgb2YgYWNjZXB0ZWQgcGFwZXJzIHdpbGwgYmUgZW5jb3Vy YWdlZCB0byBtYWtlIHRoZQpzdXBwb3J0aW5nIG1hdGVyaWFscyBwdWJsaWNseSBhdmFpbGFibGUg dXBvbiBwdWJsaWNhdGlvbiBvZiB0aGUKcHJvY2VlZGluZ3MsIGZvciBleGFtcGxlLCBieSBpbmNs dWRpbmcgdGhlbSBhcyAic291cmNlIG1hdGVyaWFscyIgaW4gdGhlCkFDTSBEaWdpdGFsIExpYnJh cnkuICBBbiBhZGRpdGlvbmFsIHNlYWwgd2lsbCBtYXJrIHBhcGVycyB3aG9zZQphcnRpZmFjdHMg YXJlIG1hZGUgYXZhaWxhYmxlLCBhcyBvdXRsaW5lZCBpbiB0aGUgQUNNIGd1aWRlbGluZXMgZm9y CmFydGlmYWN0IGJhZGdpbmcuCgpQYXJ0aWNpcGF0aW9uIGluIEFydGlmYWN0IEV2YWx1YXRpb24g aXMgdm9sdW50YXJ5IGFuZCB3aWxsIG5vdCBpbmZsdWVuY2UKdGhlIGZpbmFsIGRlY2lzaW9uIHJl Z2FyZGluZyBwYXBlciBhY2NlcHRhbmNlLgoKRnVydGhlciBpbmZvcm1hdGlvbiBhYm91dCB0aGUg bW90aXZhdGlvbnMgYW5kIGV4cGVjdGF0aW9ucyBmb3IgQXJ0aWZhY3QKRXZhbHVhdGlvbiBjYW4g YmUgZm91bmQgYXQKPGh0dHA6Ly9pY2ZwMTcuc2lncGxhbi5vcmcvdHJhY2svaWNmcC0yMDE3LUFy dGlmYWN0cz4uCgojIyMgU3BlY2lhbCBjYXRlZ29yaWVzIG9mIHBhcGVycwoKSW4gYWRkaXRpb24g dG8gcmVzZWFyY2ggcGFwZXJzLCBJQ0ZQIHNvbGljaXRzIHR3byBraW5kcyBvZiBwYXBlcnMgdGhh dApkbyBub3QgcmVxdWlyZSBvcmlnaW5hbCByZXNlYXJjaCBjb250cmlidXRpb25zOiBGdW5jdGlv bmFsIFBlYXJscywgd2hpY2gKYXJlIGZ1bGwgcGFwZXJzLCBhbmQgRXhwZXJpZW5jZSBSZXBvcnRz LCB3aGljaCBhcmUgbGltaXRlZCB0byBoYWxmIHRoZQpsZW5ndGggb2YgYSBmdWxsIHBhcGVyLiBB dXRob3JzIHN1Ym1pdHRpbmcgc3VjaCBwYXBlcnMgc2hvdWxkIGNvbnNpZGVyCnRoZSBmb2xsb3dp bmcgZ3VpZGVsaW5lcy4KCiMjIyMgRnVuY3Rpb25hbCBQZWFybHMKCkEgRnVuY3Rpb25hbCBQZWFy bCBpcyBhbiBlbGVnYW50IGVzc2F5IGFib3V0IHNvbWV0aGluZyByZWxhdGVkIHRvCmZ1bmN0aW9u YWwgcHJvZ3JhbW1pbmcuIEV4YW1wbGVzIGluY2x1ZGUsIGJ1dCBhcmUgbm90IGxpbWl0ZWQgdG86 CgogICogYSBuZXcgYW5kIHRob3VnaHQtcHJvdm9raW5nIHdheSBvZiBsb29raW5nIGF0IGFuIG9s ZCBpZGVhCgogICogYW4gaW5zdHJ1Y3RpdmUgZXhhbXBsZSBvZiBwcm9ncmFtIGNhbGN1bGF0aW9u IG9yIHByb29mCgogICogYSBuaWZ0eSBwcmVzZW50YXRpb24gb2YgYW4gb2xkIG9yIG5ldyBkYXRh IHN0cnVjdHVyZQoKICAqIGFuIGludGVyZXN0aW5nIGFwcGxpY2F0aW9uIG9mIGZ1bmN0aW9uYWwg cHJvZ3JhbW1pbmcgdGVjaG5pcXVlcwoKICAqIGEgbm92ZWwgdXNlIG9yIGV4cG9zaXRpb24gb2Yg ZnVuY3Rpb25hbCBwcm9ncmFtbWluZyBpbiB0aGUgY2xhc3Nyb29tCgpXaGlsZSBwZWFybHMgb2Z0 ZW4gZGVtb25zdHJhdGUgYW4gaWRlYSB0aHJvdWdoIHRoZSBkZXZlbG9wbWVudCBvZiBhCnNob3J0 IHByb2dyYW0sIHRoZXJlIGlzIG5vIHJlcXVpcmVtZW50IG9yIGV4cGVjdGF0aW9uIHRoYXQgdGhl eSBkbyBzby4KVGh1cywgdGhleSBlbmNvbXBhc3MgdGhlIG5vdGlvbnMgb2YgdGhlb3JldGljYWwg YW5kIGVkdWNhdGlvbmFsIHBlYXJscy4KCkZ1bmN0aW9uYWwgUGVhcmxzIGFyZSB2YWx1ZWQgYXMg aGlnaGx5IGFuZCBqdWRnZWQgYXMgcmlnb3JvdXNseSBhcwpvcmRpbmFyeSBwYXBlcnMsIGJ1dCB1 c2luZyBzb21ld2hhdCBkaWZmZXJlbnQgY3JpdGVyaWEuIEluIHBhcnRpY3VsYXIsIGEKcGVhcmwg aXMgbm90IHJlcXVpcmVkIHRvIHJlcG9ydCBvcmlnaW5hbCByZXNlYXJjaCwgYnV0LCBpdCBzaG91 bGQgYmUKY29uY2lzZSwgaW5zdHJ1Y3RpdmUsIGFuZCBlbnRlcnRhaW5pbmcuIEEgcGVhcmwgaXMg bGlrZWx5IHRvIGJlIHJlamVjdGVkCmlmIGl0cyByZWFkZXJzIGdldCBib3JlZCwgaWYgdGhlIG1h dGVyaWFsIGdldHMgdG9vIGNvbXBsaWNhdGVkLCBpZiB0b28KbXVjaCBzcGVjaWFsaXplZCBrbm93 bGVkZ2UgaXMgbmVlZGVkLCBvciBpZiB0aGUgd3JpdGluZyBpcyBpbmVsZWdhbnQuClRoZSBrZXkg dG8gd3JpdGluZyBhIGdvb2QgcGVhcmwgaXMgcG9saXNoaW5nLgoKQSBzdWJtaXNzaW9uIHRoYXQg aXMgaW50ZW5kZWQgdG8gYmUgdHJlYXRlZCBhcyBhIHBlYXJsIG11c3QgYmUgbWFya2VkIGFzCnN1 Y2ggb24gdGhlIHN1Ym1pc3Npb24gd2ViIHBhZ2UsIGFuZCBzaG91bGQgY29udGFpbiB0aGUgd29y ZHMKIkZ1bmN0aW9uYWwgUGVhcmwiIHNvbWV3aGVyZSBpbiBpdHMgdGl0bGUgb3Igc3VidGl0bGUu IFRoZXNlIHN0ZXBzIHdpbGwKYWxlcnQgcmV2aWV3ZXJzIHRvIHVzZSB0aGUgYXBwcm9wcmlhdGUg ZXZhbHVhdGlvbiBjcml0ZXJpYS4gUGVhcmxzIHdpbGwKYmUgY29tYmluZWQgd2l0aCBvcmRpbmFy eSBwYXBlcnMsIGhvd2V2ZXIsIGZvciB0aGUgcHVycG9zZSBvZiBjb21wdXRpbmcKdGhlIGNvbmZl cmVuY2UncyBhY2NlcHRhbmNlIHJhdGUuCgojIyMjIEV4cGVyaWVuY2UgUmVwb3J0cwoKVGhlIHB1 cnBvc2Ugb2YgYW4gRXhwZXJpZW5jZSBSZXBvcnQgaXMgdG8gaGVscCBjcmVhdGUgYSBib2R5IG9m CnB1Ymxpc2hlZCwgcmVmZXJlZWQsIGNpdGFibGUgZXZpZGVuY2UgdGhhdCBmdW5jdGlvbmFsIHBy b2dyYW1taW5nIHJlYWxseQp3b3JrcyAtLS0gb3IgdG8gZGVzY3JpYmUgd2hhdCBvYnN0YWNsZXMg cHJldmVudCBpdCBmcm9tIHdvcmtpbmcuCgpQb3NzaWJsZSB0b3BpY3MgZm9yIGFuIEV4cGVyaWVu Y2UgUmVwb3J0IGluY2x1ZGUsIGJ1dCBhcmUgbm90IGxpbWl0ZWQKdG86CgogICogaW5zaWdodHMg Z2FpbmVkIGZyb20gcmVhbC13b3JsZCBwcm9qZWN0cyB1c2luZyBmdW5jdGlvbmFsCiAgICBwcm9n cmFtbWluZwoKICAqIGNvbXBhcmlzb24gb2YgZnVuY3Rpb25hbCBwcm9ncmFtbWluZyB3aXRoIGNv bnZlbnRpb25hbCBwcm9ncmFtbWluZwogICAgaW4gdGhlIGNvbnRleHQgb2YgYW4gaW5kdXN0cmlh bCBwcm9qZWN0IG9yIGEgdW5pdmVyc2l0eSBjdXJyaWN1bHVtCgogICogcHJvamVjdC1tYW5hZ2Vt ZW50LCBidXNpbmVzcywgb3IgbGVnYWwgaXNzdWVzIGVuY291bnRlcmVkIHdoZW4gdXNpbmcKICAg IGZ1bmN0aW9uYWwgcHJvZ3JhbW1pbmcgaW4gYSByZWFsLXdvcmxkIHByb2plY3QKCiAgKiBjdXJy aWN1bGFyIGlzc3VlcyBlbmNvdW50ZXJlZCB3aGVuIHVzaW5nIGZ1bmN0aW9uYWwgcHJvZ3JhbW1p bmcgaW4KICAgIGVkdWNhdGlvbgoKICAqIHJlYWwtd29ybGQgY29uc3RyYWludHMgdGhhdCBjcmVh dGVkIHNwZWNpYWwgY2hhbGxlbmdlcyBmb3IgYW4KICAgIGltcGxlbWVudGF0aW9uIG9mIGEgZnVu Y3Rpb25hbCBsYW5ndWFnZSBvciBmb3IgZnVuY3Rpb25hbAogICAgcHJvZ3JhbW1pbmcgaW4gZ2Vu ZXJhbAoKQW4gRXhwZXJpZW5jZSBSZXBvcnQgaXMgZGlzdGluZ3Vpc2hlZCBmcm9tIGEgbm9ybWFs IElDRlAgcGFwZXIgYnkgaXRzCnRpdGxlLCBieSBpdHMgbGVuZ3RoLCBhbmQgYnkgdGhlIGNyaXRl cmlhIHVzZWQgdG8gZXZhbHVhdGUgaXQuCgogICogQm90aCBpbiB0aGUgcHJvY2VlZGluZ3MgYW5k IGluIGFueSBjaXRhdGlvbnMsIHRoZSB0aXRsZSBvZiBlYWNoCiAgICBhY2NlcHRlZCBFeHBlcmll bmNlIFJlcG9ydCBtdXN0IGJlZ2luIHdpdGggdGhlIHdvcmRzICJFeHBlcmllbmNlCiAgICBSZXBv cnQiIGZvbGxvd2VkIGJ5IGEgY29sb24uIFRoZSBhY2NlcHRhbmNlIHJhdGUgZm9yIEV4cGVyaWVu Y2UKICAgIFJlcG9ydHMgd2lsbCBiZSBjb21wdXRlZCBhbmQgcmVwb3J0ZWQgc2VwYXJhdGVseSBm cm9tIHRoZSByYXRlIGZvcgogICAgb3JkaW5hcnkgcGFwZXJzLgoKICAqIEV4cGVyaWVuY2UgUmVw b3J0IHN1Ym1pc3Npb25zIGNhbiBiZSBhdCBtb3N0IDEyIHBhZ2VzIGxvbmcsCiAgICBleGNsdWRp bmcgYmlibGlvZ3JhcGh5LgoKICAqIEVhY2ggYWNjZXB0ZWQgRXhwZXJpZW5jZSBSZXBvcnQgd2ls bCBiZSBwcmVzZW50ZWQgYXQgdGhlIGNvbmZlcmVuY2UsCiAgICBidXQgZGVwZW5kaW5nIG9uIHRo ZSBudW1iZXIgb2YgRXhwZXJpZW5jZSBSZXBvcnRzIGFuZCByZWd1bGFyIHBhcGVycwogICAgYWNj ZXB0ZWQsIGF1dGhvcnMgb2YgRXhwZXJpZW5jZSByZXBvcnRzIG1heSBiZSBhc2tlZCB0byBnaXZl IHNob3J0ZXIKICAgIHRhbGtzLgoKICAqIEJlY2F1c2UgdGhlIHB1cnBvc2Ugb2YgRXhwZXJpZW5j ZSBSZXBvcnRzIGlzIHRvIGVuYWJsZSBvdXIgY29tbXVuaXR5CiAgICB0byBhY2N1bXVsYXRlIGEg Ym9keSBvZiBldmlkZW5jZSBhYm91dCB0aGUgZWZmaWNhY3kgb2YgZnVuY3Rpb25hbAogICAgcHJv Z3JhbW1pbmcsIGFuIGFjY2VwdGFibGUgRXhwZXJpZW5jZSBSZXBvcnQgbmVlZCBub3QgYWRkIHRv IHRoZQogICAgYm9keSBvZiBrbm93bGVkZ2Ugb2YgdGhlIGZ1bmN0aW9uYWwtcHJvZ3JhbW1pbmcg Y29tbXVuaXR5IGJ5CiAgICBwcmVzZW50aW5nIG5vdmVsIHJlc3VsdHMgb3IgY29uY2x1c2lvbnMu IEl0IGlzIHN1ZmZpY2llbnQgaWYgdGhlCiAgICBSZXBvcnQgc3RhdGVzIGEgY2xlYXIgdGhlc2lz IGFuZCBwcm92aWRlcyBzdXBwb3J0aW5nIGV2aWRlbmNlLiBUaGUKICAgIHRoZXNpcyBtdXN0IGJl IHJlbGV2YW50IHRvIElDRlAsIGJ1dCBpdCBuZWVkIG5vdCBiZSBub3ZlbC4KClRoZSBwcm9ncmFt IGNvbW1pdHRlZSB3aWxsIGFjY2VwdCBvciByZWplY3QgRXhwZXJpZW5jZSBSZXBvcnRzIGJhc2Vk IG9uCndoZXRoZXIgdGhleSBqdWRnZSB0aGUgZXZpZGVuY2UgdG8gYmUgY29udmluY2luZy4gQW5l Y2RvdGFsIGV2aWRlbmNlCndpbGwgYmUgYWNjZXB0YWJsZSBwcm92aWRlZCBpdCBpcyB3ZWxsIGFy Z3VlZCBhbmQgdGhlIGF1dGhvciBleHBsYWlucwp3aGF0IGVmZm9ydHMgd2VyZSBtYWRlIHRvIGdh dGhlciBhcyBtdWNoIGV2aWRlbmNlIGFzIHBvc3NpYmxlLgpUeXBpY2FsbHksIG1vcmUgY29udmlu Y2luZyBldmlkZW5jZSBpcyBvYnRhaW5lZCBmcm9tIHBhcGVycyB3aGljaCBzaG93CmhvdyBmdW5j dGlvbmFsIHByb2dyYW1taW5nIHdhcyB1c2VkIHRoYW4gZnJvbSBwYXBlcnMgd2hpY2ggb25seSBz YXkgdGhhdApmdW5jdGlvbmFsIHByb2dyYW1taW5nIHdhcyB1c2VkLiBUaGUgbW9zdCBjb252aW5j aW5nIGV2aWRlbmNlIG9mdGVuCmluY2x1ZGVzIGNvbXBhcmlzb25zIG9mIHNpdHVhdGlvbnMgYmVm b3JlIGFuZCBhZnRlciB0aGUgaW50cm9kdWN0aW9uIG9yCmRpc2NvbnRpbnVhdGlvbiBvZiBmdW5j dGlvbmFsIHByb2dyYW1taW5nLiBFdmlkZW5jZSBkcmF3biBmcm9tIGEgc2luZ2xlCnBlcnNvbidz IGV4cGVyaWVuY2UgbWF5IGJlIHN1ZmZpY2llbnQsIGJ1dCBtb3JlIHdlaWdodCB3aWxsIGJlIGdp dmVuIHRvCmV2aWRlbmNlIGRyYXduIGZyb20gdGhlIGV4cGVyaWVuY2Ugb2YgZ3JvdXBzIG9mIHBl b3BsZS4KCkFuIEV4cGVyaWVuY2UgUmVwb3J0IHNob3VsZCBiZSBzaG9ydCBhbmQgdG8gdGhlIHBv aW50OiBpdCBzaG91bGQgbWFrZSBhCmNsYWltIGFib3V0IGhvdyB3ZWxsIGZ1bmN0aW9uYWwgcHJv Z3JhbW1pbmcgd29ya2VkIG9uIGEgcGFydGljdWxhcgpwcm9qZWN0IGFuZCB3aHksIGFuZCBwcm9k dWNlIGV2aWRlbmNlIHRvIHN1YnN0YW50aWF0ZSB0aGlzIGNsYWltLiBJZgpmdW5jdGlvbmFsIHBy b2dyYW1taW5nIHdvcmtlZCBpbiB0aGlzIGNhc2UgaW4gdGhlIHNhbWUgd2F5cyBpdCBoYXMKd29y a2VkIGZvciBvdGhlcnMsIHRoZSBwYXBlciBuZWVkIG9ubHkgc3VtbWFyaXplIHRoZSByZXN1bHRz IC0tLSB0aGUKbWFpbiBwYXJ0IG9mIHRoZSBwYXBlciBzaG91bGQgZGlzY3VzcyBob3cgd2VsbCBp dCB3b3JrZWQgYW5kIGluIHdoYXQKY29udGV4dC4gTW9zdCByZWFkZXJzIHdpbGwgbm90IHdhbnQg dG8ga25vdyBhbGwgdGhlIGRldGFpbHMgb2YgdGhlCnByb2plY3QgYW5kIGl0cyBpbXBsZW1lbnRh dGlvbiwgYnV0IHRoZSBwYXBlciBzaG91bGQgY2hhcmFjdGVyaXplIHRoZQpwcm9qZWN0IGFuZCBp dHMgY29udGV4dCB3ZWxsIGVub3VnaCBzbyB0aGF0IHJlYWRlcnMgY2FuIGp1ZGdlIHRvIHdoYXQK ZGVncmVlIHRoaXMgZXhwZXJpZW5jZSBpcyByZWxldmFudCB0byB0aGVpciBvd24gcHJvamVjdHMu IFRoZSBwYXBlcgpzaG91bGQgdGFrZSBjYXJlIHRvIGhpZ2hsaWdodCBhbnkgdW51c3VhbCBhc3Bl Y3RzIG9mIHRoZSBwcm9qZWN0LgpTcGVjaWZpY3MgYWJvdXQgdGhlIHByb2plY3QgYXJlIG1vcmUg dmFsdWFibGUgdGhhbiBnZW5lcmFsaXRpZXMgYWJvdXQKZnVuY3Rpb25hbCBwcm9ncmFtbWluZzsg Zm9yIGV4YW1wbGUsIGl0IGlzIG1vcmUgdmFsdWFibGUgdG8gc2F5IHRoYXQgdGhlCnRlYW0gZGVs aXZlcmVkIGl0cyBzb2Z0d2FyZSBhIG1vbnRoIGFoZWFkIG9mIHNjaGVkdWxlIHRoYW4gaXQgaXMg dG8gc2F5CnRoYXQgZnVuY3Rpb25hbCBwcm9ncmFtbWluZyBtYWRlIHRoZSB0ZWFtIG1vcmUgcHJv ZHVjdGl2ZS4KCklmIHRoZSBwYXBlciBub3Qgb25seSBkZXNjcmliZXMgZXhwZXJpZW5jZSBidXQg YWxzbyBwcmVzZW50cyBuZXcKdGVjaG5pY2FsIHJlc3VsdHMsIG9yIGlmIHRoZSBleHBlcmllbmNl IHJlZnV0ZXMgY2hlcmlzaGVkIGJlbGllZnMgb2YgdGhlCmZ1bmN0aW9uYWwtcHJvZ3JhbW1pbmcg Y29tbXVuaXR5LCBpdCBtYXkgYmUgYmV0dGVyIG9mZiBzdWJtaXR0ZWQgaXQgYXMgYQpmdWxsIHBh cGVyLCB3aGljaCB3aWxsIGJlIGp1ZGdlZCBieSB0aGUgdXN1YWwgY3JpdGVyaWEgb2Ygbm92ZWx0 eSwKb3JpZ2luYWxpdHksIGFuZCByZWxldmFuY2UuIFRoZSBwcm9ncmFtIGNoYWlyIHdpbGwgYmUg aGFwcHkgdG8gYWR2aXNlIG9uCmFueSBjb25jZXJucyBhYm91dCB3aGljaCBjYXRlZ29yeSB0byBz dWJtaXQgdG8uCgoKIyMjIE9yZ2FuaXplcnMKCkdlbmVyYWwgQ2hhaXI6IEplcmVteSBHaWJib25z IChVbml2ZXJzaXR5IG9mIE94Zm9yZCwgVUspClByb2dyYW0gQ2hhaXI6IE1hcmsgSm9uZXMgKFBv cnRsYW5kIFN0YXRlIFVuaXZlcnNpdHksIFVTQSkKCkFydGlmYWN0IEV2YWx1YXRpb24gQ2hhaXI6 IFJ5YW4gUi4gTmV3dG9uIChJbmRpYW5hIFVuaXZlcnNpdHksIFVTQSkKSW5kdXN0cmlhbCBSZWxh dGlvbnMgQ2hhaXI6IFJ5YW4gVHJpbmtsZSAoT2JzaWRpYW4gU3lzdGVtcyBMTEMsIFVTQSkKUHJv Z3JhbW1pbmcgQ29udGVzdCBPcmdhbmlzZXI6IFNhbSBMaW5kbGV5IChVbml2ZXJzaXR5IG9mIEVk aW5idXJnaCwgVUspClB1YmxpY2l0eSBhbmQgV2ViIENoYWlyOiBMaW5kc2V5IEt1cGVyIChJbnRl bCBMYWJzLCBVU0EpClN0dWRlbnQgUmVzZWFyY2ggQ29tcGV0aXRpb24gQ2hhaXI6IElseWEgU2Vy Z2V5IChVbml2ZXJzaXR5IENvbGxlZ2UgTG9uZG9uLCBVSykKVmlkZW8gQ2hhaXI6IEpvc2UgQ2Fs ZGVyb24gKEdhbG9pcywgSW5jLiwgVVNBKQpXb3Jrc2hvcHMgQ28tQ2hhaXI6IEFuZHJlcyBMw7Zo IChXZWxsLVR5cGVkIExMUCkKV29ya3Nob3BzIENvLUNoYWlyOiBEYXZpZCBDaHJpc3RpYW5zZW4g KEluZGlhbmEgVW5pdmVyc2l0eSwgVVNBKQoKUHJvZ3JhbSBDb21taXR0ZWU6CgpCb2IgQXRrZXkg KFVuaXZlcnNpdHkgb2YgU3RyYXRoY2x5ZGUsIFNjb3RsYW5kKQpBZGFtIENobGlwYWxhIChNSVQs IFVTQSkKRG9taW5pcXVlIERldnJpZXNlIChLVSBMZXV2ZW4sIEJlbGdpdW0pCk1hcnRpbiBFcndp ZyAoT3JlZ29uIFN0YXRlLCBVU0EpCk1hdHRoZXcgRmxhdHQgKFVuaXZlcnNpdHkgb2YgVXRhaCwg VVNBKQpSb25hbGQgR2FyY2lhIChVbml2ZXJzaXR5IG9mIEJyaXRpc2ggQ29sdW1iaWEsIENhbmFk YSkKS2F0aHJ5biBHcmF5IChVbml2ZXJzaXR5IG9mIENhbWJyaWRnZSwgRW5nbGFuZCkKSm9obiBI dWdoZXMgKENoYWxtZXJzIFVuaXZlcnNpdHkgYW5kIFF1dmlrLCBTd2VkZW4pCkNodW5nLUtpbCBI dXIgKFNlb3VsIE5hdGlvbmFsIFVuaXZlcnNpdHksIEtvcmVhKQpHcmFoYW0gSHV0dG9uIChVbml2 ZXJzaXR5IG9mIE5vdHRpbmdoYW0sIEVuZ2xhbmQpCkFsYW4gSmVmZnJleSAoTW96aWxsYSBSZXNl YXJjaCwgVVNBKQpSYW5qaXQgSmhhbGEgKFVuaXZlcnNpdHkgb2YgQ2FsaWZvcm5pYSwgU2FuIERp ZWdvLCBVU0EpClNoaW4teWEgS2F0c3VtYXRhIChLeW90byBVbml2ZXJzaXR5LCBKYXBhbikKTGlu ZHNleSBLdXBlciAoSW50ZWwgTGFicywgVVNBKQpEYW4gTGljYXRhIChXZXNsZXlhbiBVbml2ZXJz aXR5LCBVU0EpCkJlbiBMaXBwbWVpZXIgKERpZ2l0YWwgQXNzZXQsIEF1c3RyYWxpYSkKR2Ficmll bCBTY2hlcmVyIChOb3J0aGVhc3Rlcm4gVW5pdmVyc2l0eSwgVVNBKQpBbGV4YW5kcmEgU2lsdmEg KFVuaXZlcnNpdHkgQ29sbGVnZSBMb25kb24sIEVuZ2xhbmQpCk5pa2hpbCBTd2FteSAoTWljcm9z b2Z0IFJlc2VhcmNoLCBVU0EpClNhbSBUb2Jpbi1Ib2Noc3RhZHQgKEluZGlhbmEgVW5pdmVyc2l0 eSwgVVNBKQpOaWNvbGFzIFd1IChVbml2ZXJzaXR5IG9mIEJyaXN0b2wsIEVuZ2xhbmQpCkJldGEg WmlsaWFuaSAoQ09OSUNFVCBhbmQgRkFNQUYsIFVuaXZlcnNpZGFkIE5hY2lvbmFsIGRlIEPDs3Jk b2JhLCBBcmdlbnRpbmEpCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fXwpMcHJvbG9nIG1haWxpbmcgbGlzdApMcHJvbG9nQGNzLnVtbi5lZHUKaHR0cHM6Ly93 d3dzLmNzLnVtbi5lZHUvbW0tY3MvbGlzdGluZm8vbHByb2xvZw==