From mboxrd@z Thu Jan 1 00:00:00 1970 From: Tomas Elf Subject: [RFCv2 00/12] TDR/watchdog timeout support for gen8 Date: Tue, 21 Jul 2015 14:58:43 +0100 Message-ID: <1437487135-32520-1-git-send-email-tomas.elf@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga01.intel.com (mga01.intel.com [192.55.52.88]) by gabe.freedesktop.org (Postfix) with ESMTP id 933446E933 for ; Tue, 21 Jul 2015 06:59:05 -0700 (PDT) List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: Intel-GFX@Lists.FreeDesktop.Org List-Id: intel-gfx@lists.freedesktop.org VGhpcyBwYXRjaCBzZXJpZXMgaW50cm9kdWNlcyB0aGUgZm9sbG93aW5nIGZlYXR1cmVzOgoKKiBG ZWF0dXJlIDE6IFREUiAoVGltZW91dCBEZXRlY3Rpb24gYW5kIFJlY292ZXJ5KSBmb3IgZ2VuOCBl eGVjbGlzdCBtb2RlLgoKVERSIGlzIGFuIHVtYnJlbGxhIHRlcm0gZm9yIGFueXRoaW5nIHRoYXQg Z29lcyBpbnRvIGRldGVjdGluZyBhbmQgcmVjb3ZlcmluZyBmcm9tIEdQVSBoYW5ncyBhbmQgaXMg YSB0ZXJtIG1vcmUgd2lkZWx5IHVzZWQgb3V0c2lkZSBvZiB0aGUgdXBzdHJlYW0gZHJpdmVyLgpU aGlzIGZlYXR1cmUgaW50cm9kdWNlcyBhbiBleHRlbnNpYmxlIGZyYW1ld29yayB0aGF0IGN1cnJl bnRseSBzdXBwb3J0cyBnZW44IGJ1dCB0aGF0IGNhbiBiZSBlYXNpbHkgZXh0ZW5kZWQgdG8gc3Vw cG9ydCBnZW43IGFzIHdlbGwgKHdoaWNoIGlzIGFscmVhZHkgdGhlIGNhc2UgaW4gR01JTiBidXQg dW5mb3J0dW5hdGVseSBpbiBhIG5vdCBxdWl0ZSB1cHN0cmVhbWFibGUgZm9ybSkuIFRoZSBjb2Rl IGNvbnRhaW5lZCBpbiB0aGlzIHN1Ym1pc3Npb24gcmVwcmVzZW50cyB0aGUgZXNzZW50aWFscyBv ZiB3aGF0IGlzIGN1cnJlbnRseSBpbiBHTUlOIG1lcmdlZCB3aXRoIHdoYXQgaXMgY3VycmVudGx5 IGluIHVwc3RyZWFtIChhcyBvZiB0aGUgdGltZSB3aGVuIHRoaXMgd29yayBjb21tZW5jZWQgYSBm ZXcgbW9udGhzIGJhY2spLgoKVGhpcyBmZWF0dXJlIGFkZHMgYSBuZXcgaGFuZyByZWNvdmVyeSBw YXRoIGFsb25nc2lkZSB0aGUgbGVnYWN5IEdQVSByZXNldCBwYXRoLCB3aGljaCB0YWtlcyBjYXJl IG9mIGVuZ2luZSByZWNvdmVyeSBvbmx5LiBBc2lkZSBmcm9tIGFkZGluZyBzdXBwb3J0IGZvciBw ZXItZW5naW5lIHJlY292ZXJ5IHRoaXMgZmVhdHVyZSBhbHNvIGludHJvZHVjZXMgcnVsZXMgZm9y IGhvdyB0byBwcm9tb3RlIGEgcG90ZW50aWFsIHBlci1lbmdpbmUgcmVzZXQgdG8gYSBsZWdhY3ks IGZ1bGwgR1BVIHJlc2V0LgoKVGhlIGhhbmcgY2hlY2tlciBub3cgaW50ZWdyYXRlcyB3aXRoIHRo ZSBlcnJvciBoYW5kbGVyIGluIGEgc2xpZ2h0bHkgZGlmZmVyZW50IHdheSBpbiB0aGF0IGl0IGFs bG93cyBoYW5nIHJlY292ZXJ5IG9uIG11bHRpcGxlIGVuZ2luZXMgYXQgdGhlIHNhbWUgdGltZSBi eSBwYXNzaW5nIGFuIGVuZ2luZSBmbGFnIG1hc2sgdG8gdGhlIGVycm9yIGhhbmRsZXIgd2hlcmUg ZmxhZ3MgcmVwcmVzZW50aW5nIGFsbCBvZiB0aGUgaHVuZyBlbmdpbmVzIGFyZSBzZXQuIFRoaXMg YWxsb3dzIHVzIHRvIHNjaGVkdWxlIGhhbmcgcmVjb3Zlcnkgb25jZSBmb3IgYWxsIGN1cnJlbnRs eSBodW5nIGVuZ2luZXMgaW5zdGVhZCBvZiBvbmUgaGFuZyByZWNvdmVyeSBwZXIgZGV0ZWN0ZWQg ZW5naW5lIGhhbmcuIFByZXZpb3VzbHksIHdoZW4gb25seSBmdWxsIEdQVSByZXNldCB3YXMgc3Vw cG9ydGVkIHRoaXMgd2FzIGFsbCB0aGUgc2FtZSBzaW5jZSBpdCB3b3VsZG4ndCBtYXR0ZXIgaWYg b25lIG9yIGZvdXIgZW5naW5lcyB3ZXJlIGh1bmcgYXQgYW55IGdpdmVuIHBvaW50IHNpbmNlIGl0 IHdvdWxkIGFsbCBhbW91bnQgdG8gdGhlIHNhbWUgdGhpbmcgLSB0aGUgR1BVIGdldHRpbmcgcmVz ZXQuIEFzIGl0IHN0YW5kcyBub3cgdGhlIGJlaGF2aW91ciBpcyBkaWZmZXJlbnQgZGVwZW5kaW5n IG9uIHdoaWNoIGVuZ2luZSBpcyBodW5nIHNpbmNlIGVhY2ggZW5naW5lIGlzIHJlc2V0IHNlcGFy YXRlbHkgZnJvbSBhbGwgdGhlIG90aGVyIGVuZ2luZXMsIHRoZXJlZm9yZSB3ZSBoYXZlIHRvIHRo aW5rIGFib3V0IHRoaXMgaW4gdGVybXMgb2Ygc2NoZWR1bGluZyBjb3N0IGFuZCByZWNvdmVyeSBs YXRlbmN5LiAoc2VlIG9wZW4gcXVlc3Rpb24gYmVsb3cpCgpPUEVOIFFVRVNUSU9OUzoKCgkxLiBE byB3ZSB3YW50IHRvIGludmVzdGlnYXRlIHRoZSBwb3NzaWJpbGl0eSBvZiBwZXItZW5naW5lIGhh bmcKCWRldGVjdGlvbj8gSW4gdGhlIGN1cnJlbnQgdXBzdHJlYW0gZHJpdmVyIHRoZXJlIGlzIG9u bHkgb25lIHdvcmsgcXVldWUKCXRoYXQgaGFuZGxlcyB0aGUgaGFuZyBjaGVja2VyIGFuZCBldmVy eXRoaW5nIGZyb20gaW5pdGlhbCBoYW5nCglkZXRlY3Rpb24gdG8gZmluYWwgaGFuZyByZWNvdmVy eSBydW5zIGluIHRoaXMgdGhyZWFkLiBUaGlzIG1ha2VzIHNlbnNlCglpZiB5b3UncmUgb25seSBz dXBwb3J0aW5nIG9uZSBmb3JtIG9mIGhhbmcgcmVjb3ZlcnkgLSB1c2luZyBmdWxsIEdQVQoJcmVz ZXQgYW5kIG5vdGhpbmcgdGllZCB0byBhbnkgcGFydGljdWxhciBlbmdpbmUuIEhvd2V2ZXIsIGFz IHBhcnQKCW9mIHRoaXMgcGF0Y2ggc2VyaWVzIHdlJ3JlIGNoYW5naW5nIHRoYXQgYnkgaW50cm9k dWNpbmcgcGVyLWVuZ2luZQoJaGFuZyByZWNvdmVyeS4gSXQgY291bGQgbWFrZSBzZW5zZSB0byBp bnRyb2R1Y2UgbXVsdGlwbGUgd29yawoJcXVldWVzIC0gb25lIHBlciBlbmdpbmUgLSB0byBydW4g bXVsdGlwbGUgaGFuZyBjaGVja2luZyB0aHJlYWRzIGluCglwYXJhbGxlbC4KCglUaGlzIHdvdWxk IHBvdGVudGlhbGx5IGFsbG93IHNhdmluZ3MgaW4gdGVybXMgb2YgcmVjb3ZlcnkgbGF0ZW5jeSBz aW5jZQoJd2UgZG9uJ3QgaGF2ZSB0byBzY2FuIGFsbCBlbmdpbmVzIGV2ZXJ5IHRpbWUgdGhlIGhh bmcgY2hlY2tlciBpcwoJc2NoZWR1bGVkIGFuZCB0aGUgZXJyb3IgaGFuZGxlciBkb2VzIG5vdCBo YXZlIHRvIHNjYW4gYWxsIGVuZ2luZXMgZXZlcnkKCXRpbWUgaXQgaXMgc2NoZWR1bGVkLiBJbnN0 ZWFkLCB3ZSBjb3VsZCBpbXBsZW1lbnQgb25lIHdvcmsgcXVldWUgcGVyCgllbmdpbmUgdGhhdCB3 b3VsZCBpbnZva2UgdGhlIGhhbmcgY2hlY2tlciB0aGF0IG9ubHkgY2hlY2tzIF90aGF0XwoJcGFy dGljdWxhciBlbmdpbmUgYW5kIHRoZW4gdGhlIGVycm9yIGhhbmRsZXIgaXMgaW52b2tlZCBmb3Ig X3RoYXRfCglwYXJ0aWN1bGFyIGVuZ2luZS4gSWYgb25lIGVuZ2luZSBoYXMgaHVuZyB0aGUgbGF0 ZW5jeSBmb3IgZ2V0dGluZyB0bwoJdGhlIGhhbmcgcmVjb3ZlcnkgcGF0aCBmb3IgdGhhdCBwYXJ0 aWN1bGFyIGVuZ2luZSB3b3VsZCBiZSAoVGltZSBGb3IKCUhhbmcgQ2hlY2tpbmcgT25lIEVuZ2lu ZSkgKyAoVGltZSBGb3IgRXJyb3IgSGFuZGxpbmcgT25lIEVuZ2luZSkgcmF0aGVyCgl0aGFuIHRo ZSB0aW1lIGl0IHRha2VzIHRvIGRvIGhhbmcgY2hlY2tpbmcgZm9yIGFsbCBlbmdpbmVzICsgdGhl IHRpbWUKCWl0IHRha2VzIHRvIGRvIGVycm9yIGhhbmRsaW5nIGZvciBhbGwgZW5naW5lcyB0aGF0 IGhhdmUgYmVlbiBkZXRlY3RlZAoJYXMgaHVuZyAod2hpY2ggaW4gdGhlIHdvcnN0IGNhc2Ugd291 bGQgYmUgYWxsIGVuZ2luZXMpLiBUaGVyZSB3b3VsZAoJcG90ZW50aWFsbHkgYmUgYXMgbWFueSBo YW5nIGNoZWNrZXIgYW5kIGVycm9yIGhhbmRsaW5nIHRocmVhZHMgZ29pbmcgb24KCWNvbmN1cnJl bnRseSBhcyB0aGVyZSBhcmUgZW5naW5lcyBpbiB0aGUgaGFyZHdhcmUgYnV0IHRoZXkgd291bGQg YWxsIGJlCglydW5uaW5nIGluIHBhcmFsbGVsIHdpdGhvdXQgYW55IHNpZ25pZmljYW50IGxvY2tp bmcuIFRoZSBmaXJzdCB0aW1lCgl3aGVyZSBhbnkgdGhyZWFkIG5lZWRzIGV4Y2x1c2l2ZSBhY2Nl c3MgdG8gdGhlIGRyaXZlciBpcyBhdCB0aGUgcG9pbnQKCW9mIHRoZSBhY3R1YWwgaGFuZyByZWNv dmVyeSBidXQgdGhlIHRpbWUgaXQgdGFrZXMgdG8gZ2V0IHRoZXJlIHdvdWxkCgl0aGVvcmV0aWNh bGx5IGJlIGxvd2VyIGFuZCB0aGUgdGltZSBpdCBhY3R1YWxseSB0YWtlcyB0byBkbyBwZXItZW5n aW5lCgloYW5nIHJlY292ZXJ5IGlzIHF1aXRlIGEgbG90IGxvd2VyIHRoYW4gdGhlIHRpbWUgaXQg dGFrZXMgdG8gYWN0dWFsbHkKCWRldGVjdCBhIGhhbmcgcmVsaWFibHkuCgoJSG93IG11Y2ggd2Ug d291bGQgc2F2ZSBieSBzdWNoIGEgY2hhbmdlIHN0aWxsIG5lZWRzIHRvIGJlIGFuYWx5c2VkIGFu ZAoJY29tcGFyZWQgYWdhaW5zdCB0aGUgY3VycmVudCBzaW5nbGUtdGhyZWFkIG1vZGVsIGJ1dCBp dCBtYWtlcyBzZW5zZQoJZnJvbSBhIHRoZW9yZXRpY2FsIGRlc2lnbiBwb2ludCBvZiB2aWV3LgoK KiBGZWF0dXJlIDI6IFdhdGNoZG9nIFRpbWVvdXQgKGEuay5hICJtZWRpYSBlbmdpbmUgcmVzZXQi KSBmb3IgZ2VuOC4KClRoaXMgZmVhdHVyZSBhbGxvd3MgdXNlcmxhbmQgYXBwbGljYXRpb25zIHRv IGNvbnRyb2wgd2hldGhlciBvciBub3QgaW5kaXZpZHVhbCBiYXRjaCBidWZmZXJzIHNob3VsZCBo YXZlIGEgZmlyc3QtbGV2ZWwsIGZpbmUtZ3JhaW5lZCwgaGFyZHdhcmUtYmFzZWQgaGFuZyBkZXRl Y3Rpb24gbWVjaGFuaXNtIG9uIHRvcCBvZiB0aGUgb3JkaW5hcnksIHNvZnR3YXJlLWJhc2VkIHBl cmlvZGljIGhhbmcgY2hlY2tlciB0aGF0IGlzIGFscmVhZHkgaW4gdGhlIGRyaXZlci4gVGhlIGFk dmFudGFnZSBvdmVyIHJlbHlpbmcgc29sZWx5IG9uIHRoZSBjdXJyZW50IHNvZnR3YXJlLWJhc2Vk IGhhbmcgY2hlY2tlciBpcyB0aGF0IHRoZSB3YXRjaGRvZyB0aW1lb3V0IG1lY2hhbmlzbSBpcyBh Ym91dCAxMDAweCBxdWlja2VyIGFuZCBtb3JlIHByZWNpc2UuIFNpbmNlIGl0J3Mgbm90IGEgZnVs bCBkcml2ZXItbGV2ZWwgaGFuZyBkZXRlY3Rpb24gbWVjaGFuaXNtIGJ1dCBvbmx5IHRhcmdldHRp bmcgb25lIGluZGl2aWR1YWwgYmF0Y2ggYnVmZmVyIGF0IGEgdGltZSBpdCBjYW4gYWZmb3JkIHRv IGJlIHRoYXQgcXVpY2sgd2l0aG91dCByaXNraW5nIGFuIGluY3JlYXNlIGluIGZhbHNlIHBvc2l0 aXZlIGhhbmcgZGV0ZWN0aW9uLgoKVGhpcyBmZWF0dXJlIGluY2x1ZGVzIHRoZSBmb2xsb3dpbmcg Y2hhbmdlczoKCmEpIFdhdGNoZG9nIHRpbWVvdXQgaW50ZXJydXB0IHNlcnZpY2Ugcm91dGluZSBm b3IgaGFuZGxpbmcgd2F0Y2hkb2cgaW50ZXJydXB0cyBhbmQgY29ubmVjdGluZyB0aGVzZSB0byBw ZXItZW5naW5lIGhhbmcgcmVjb3ZlcnkuCgpiKSBJbmplY3Rpb24gb2Ygd2F0Y2hkb2cgdGltZXIg ZW5hYmxlbWVudC9jYW5jZWxsYXRpb24gaW5zdHJ1Y3Rpb25zIGJlZm9yZS9hZnRlciB0aGUgYmF0 Y2ggYnVmZmVyIHN0YXJ0IGluc3RydWN0aW9uIGluIHRoZSByaW5nIGJ1ZmZlciBzbyB0aGF0IHdh dGNoZG9nIHRpbWVvdXQgaXMgY29ubmVjdGVkIHRvIHRoZSBzdWJtaXNzaW9uIG9mIGFuIGluZGl2 aWR1YWwgYmF0Y2ggYnVmZmVyLgoKYykgRXh0ZW5zaW9uIG9mIHRoZSBEUk0gYmF0Y2ggYnVmZmVy IGludGVyZmFjZSwgZXhwb3NpbmcgdGhlIHdhdGNoZG9nIHRpbWVvdXQgZmVhdHVyZSB0byB1c2Vy bGFuZC4gV2UndmUgZ290IHR3byBvcGVuIHNvdXJjZSBncm91cHMgaW4gVlBHIGN1cnJlbnRseSBp biB0aGUgcHJvY2VzcyBvZiBpbnRlZ3JhdGluZyBzdXBwb3J0IGZvciB0aGlzIGZlYXR1cmUsIHdo aWNoIHNob3VsZCBtYWtlIGl0IHByaW5jaXBhbGx5IHBvc3NpYmxlIHRvIHVwc3RyZWFtIHRoaXMg ZXh0ZW5zaW9uLgoKVGhlcmUgaXMgY3VycmVudGx5IGZ1bGwgd2F0Y2hkb2cgdGltZW91dCBzdXBw b3J0IGZvciBnZW43IGluIEdNSU4gYW5kIGl0IGlzIHF1aXRlIHNpbWlsYXIgdG8gdGhlIGdlbjgg aW1wbGVtZW50YXRpb24gc28gdGhlcmUgaXMgbm90aGluZyBvYnZpb3VzIHRoYXQgcHJldmVudHMg dXMgZnJvbSB1cHN0cmVhbWluZyB0aGF0IGNvZGUgYWxvbmcgd2l0aCB0aGUgZ2VuOCBjb2RlLiBI b3dldmVyLCB3YXRjaGRvZyB0aW1lb3V0IGlzIGZ1bGx5IGRlcGVuZGVudCBvbiB0aGUgcGVyLWVu Z2luZSBoYW5nIHJlY292ZXJ5IHBhdGggYW5kIHRoYXQgaXMgbm90IHBhcnQgb2YgdGhpcyBjb2Rl IHN1Ym1pc3Npb24gZm9yIGdlbjcuIFRoZXJlZm9yZSB3YXRjaGRvZyB0aW1lb3V0IHN1cHBvcnQg Zm9yIGdlbjcgaGFzIGJlZW4gZXhjbHVkZWQgdW50aWwgcGVyLWVuZ2luZSBoYW5nIHJlY292ZXJ5 IHN1cHBvcnQgZm9yCmdlbjcgaGFzIGxhbmRlZCB1cHN0cmVhbS4KCkFzIHBhcnQgb2YgdGhpcyBz dWJtaXNzaW9uIHdlJ3ZlIGhhZCB0byByZWluc3RhdGUgdGhlIHdvcmsgcXVldWUgdGhhdCB3YXMg cHJldmlvdXNseSBpbiBwbGFjZSBiZXR3ZWVuIHRoZSBlcnJvciBoYW5kbGVyIGFuZCB0aGUgaGFu ZyByZWNvdmVyeSBwYXRoLiBUaGUgcmVhc29uIGZvciB0aGlzIGlzIHRoYXQgdGhlIHBlci1lbmdp bmUgcmVjb3ZlcnkgcGF0aCBpcyBjYWxsZWQgZGlyZWN0bHkgZnJvbSB0aGUgaW50ZXJydXB0IGhh bmRsZXIgaW4gdGhlIGNhc2Ugb2Ygd2F0Y2hkb2cgdGltZW91dC4gSW4gdGhhdCBzaXR1YXRpb24g dGhlcmUncyBubyB3YXkgb2YgZ3JhYmJpbmcgdGhlIHN0cnVjdF9tdXRleCwgd2hpY2ggaXMgYSBy ZXF1aXJlbWVudCBmb3IgdGhlIGhhbmcgcmVjb3ZlcnkgcGF0aC4gVGhlcmVmb3JlLCBieSByZWlu c3RhdGluZyB0aGUgd29yayBxdWV1ZSB3ZSBwcm92aWRlIGEgdW5pZmllZCBleGVjdXRpb24gY29u dGV4dCBmb3IgdGhlIGhhbmcgcmVjb3ZlcnkgY29kZSB0aGF0IGFsbG93cyB0aGUgaGFuZyByZWNv dmVyeSBjb2RlIHRvIGdyYWIgd2hhdGV2ZXIgbG9ja3MgaXQgbmVlZHMgd2l0aG91dCBzYWNyaWZp Y2luZyBpbnRlcnJ1cHQgbGF0ZW5jeSB0b28gbXVjaCBvciBzbGVlcGluZyBpbmRlZmluaXRlbHkg aW4gaGFyZCBpbnRlcnJ1cHQgY29udGV4dC4KCiogRmVhdHVyZSAzLiBDb250ZXh0IFN1Ym1pc3Np b24gU3RhdHVzIENvbnNpc3RlbmN5IGNoZWNraW5nCgpTb21ldGhpbmcgdGhhdCBiZWNvbWVzIGFw cGFyZW50IHdoZW4geW91IHJ1biBsb25nLWR1cmF0aW9uIG9wZXJhdGlvbnMgdGVzdHMgd2l0aCBj b25jdXJyZW50IHJlbmRlcmluZyBwcm9jZXNzZXMgd2l0aCBpbnRlcm1pdHRlbnRseSBpbmplY3Rl ZCBoYW5ncyBpcyB0aGF0IGl0IHNlZW1zIGxpa2UgdGhlIEdQVSBmb3JnZXRzIHRvIHNlbmQgY29u dGV4dCBjb21wbGV0aW9uIGludGVycnVwdHMgdG8gdGhlIGRyaXZlciB1bmRlciBzb21lIGNpcmN1 bXN0YW5jZXMuIFdoYXQgdGhpcyBtZWFucyBpcyB0aGF0IHRoZSBkcml2ZXIgc29tZXRpbWVzIGdl dHMgc3R1Y2sgb24gYSBjb250ZXh0IHRoYXQgbmV2ZXIgc2VlbXMgdG8gZmluaXNoLCBhbGwgdGhl IHdoaWxlIHRoZSBoYXJkd2FyZSBoYXMgY29tcGxldGVkIGFuZCBpcyB3YWl0aW5nIGZvciBtb3Jl IHdvcmsuCgpUaGUgcHJvYmxlbSB3aXRoIHRoaXMgaXMgdGhhdCB0aGUgcGVyLWVuZ2luZSBoYW5n IHJlY292ZXJ5IHBhdGggcmVsaWVzIG9uIGNvbnRleHQgcmVzdWJtaXNzaW9uIHRvIGtpY2sgb2Zm IHRoZSBoYXJkd2FyZSBhZ2FpbiBmb2xsb3dpbmcgYW4gZW5naW5lIHJlc2V0LgpUaGlzIGNhbiBv bmx5IGJlIGRvbmUgc2FmZWx5IGlmIHRoZSBoYXJkd2FyZSBhbmQgZHJpdmVyIHNoYXJlIHRoZSBz YW1lIG9waW5pb24gYWJvdXQgdGhlIGN1cnJlbnQgc3RhdGUuIFRoZXJlZm9yZSB3ZSd2ZSBleHRl bmRlZCB0aGUgcGVyaW9kaWMgaGFuZyBjaGVja2VyIHRvIGNoZWNrIGZvciBjb250ZXh0IHN1Ym1p c3Npb24gc3RhdGUgaW5jb25zaXN0ZW5jaWVzIGFzaWRlIGZyb20gdGhlIGhhbmcgY2hlY2tpbmcg aXQgYWxyZWFkeSBkb2VzLgoKSWYgc3VjaCBhIHN0YXRlIGlzIGRldGVjdGVkIGl0IGlzIGFzc3Vt ZWQgKGJhc2VkIG9uIGV4cGVyaWVuY2UpIHRoYXQgYSBjb250ZXh0IGNvbXBsZXRpb24gaW50ZXJy dXB0IGhhcyBiZWVuIGxvc3Qgc29tZWhvdy4gSWYgdGhpcyBzdGF0ZSBwZXJzaXN0cyBmb3Igc29t ZSB0aW1lIGFuIGF0dGVtcHQgdG8gY29ycmVjdCBpdCBpcyBtYWRlIGJ5IGZha2luZyB0aGUgcHJl c3VtYWJseSBsb3N0IGNvbnRleHQgY29tcGxldGlvbiBpbnRlcnJ1cHQgYnkgbWFudWFsbHkgY2Fs bGluZyB0aGUgZXhlY2xpc3QgaW50ZXJydXB0IGhhbmRsZXIsIHdoaWNoIGlzIG5vcm1hbGx5IGNh bGxlZCBmcm9tIHRoZSBtYWluIGludGVycnVwdCBoYW5kbGVyIGN1ZWQgYnkgYSByZWNlaXZlZCBj b250ZXh0IGV2ZW50IGludGVycnVwdC4gSnVzdCBiZWNhdXNlIGFuIGludGVycnVwdCBnb2VzIG1p c3NpbmcgZG9lcyBub3QgbWVhbiB0aGF0IHRoZSBjb250ZXh0IHN0YXR1cyBidWZmZXIgKENTQikg ZG9lcyBub3QgZ2V0IGFwcHJvcHJpYXRlbHkgdXBkYXRlZCBieSB0aGUgaGFyZHdhcmUsIHdoaWNo IG1lYW5zIHRoYXQgd2UgY2FuIGV4cGVjdCB0byBmaW5kIGFsbCB0aGUgcmVjZW50IGNoYW5nZXMg dG8gdGhlIGNvbnRleHQgc3RhdGVzIGZvciBlYWNoIGVuZ2luZSBjYXB0dXJlZCB0aGVyZS4KCklm IHRoZXJlIGFyZSBvdXRzdGFuZGluZyBjb250ZXh0IHN0YXR1cyBjaGFuZ2VzIGluIHN0b3JlIHRo ZXJlIHRoZW4gdGhlIGZha2VkIGNvbnRleHQgZXZlbnQgaW50ZXJydXB0IHdpbGwgYWxsb3cgdGhl IGludGVycnVwdCBoYW5kbGVyIHRvIGFjdCBvbiB0aGVtLiBJbiB0aGUgY2FzZSBvZiBsb3N0IGNv bnRleHQgY29tcGxldGlvbiBpbnRlcnJ1cHRzIHRoaXMgd2lsbCBwcm9tcHQgdGhlIGRyaXZlciB0 byByZW1vdmUgdGhlIGFscmVhZHkgY29tcGxldGVkIGNvbnRleHQgZnJvbSB0aGUgZXhlY2xpc3Qg cXVldWUgYW5kIG1vdmUgb24gdG8gdGhlIG5leHQgcGVuZGluZyBwaWVjZSBvZiB3b3JrIGFuZCB0 aGVyZWJ5IGVsaW1pbmF0aW5nIHRoZSBpbmNvbnNpc3RlbmN5LgoKKiBGZWF0dXJlIDQuIERlYnVn ZnMgZXh0ZW5zaW9ucyBmb3IgcGVyLWVuZ2luZSBoYW5nIHJlY292ZXJ5IGFuZCBURFIvd2F0Y2hk b2cgdHJhY2UgcG9pbnRzLgoKR0lUSFVCIFJFUE9TSVRPUlk6Cmh0dHBzOi8vZ2l0aHViLmNvbS90 ZWxmL1REUl93YXRjaGRvZ19SRkNfMS5naXQKClJGQyBWRVJTSU9OIDEgQlJBTkNIOgoyMDE1MDYw OF9URFJfdXBzdHJlYW1fYWRhcHRhdGlvbl9zaW5nbGUtdGhyZWFkX2hhbmdjaGVja2luZ19SRkNf ZGVsaXZlcnlfc2VuZG1haWxfMQoKUkZDIFZFUlNJT04gMiBCUkFOQ0g6CjIwMTUwNjA0X1REUl91 cHN0cmVhbV9hZGFwdGF0aW9uX3NpbmdsZS10aHJlYWRfaGFuZ2NoZWNraW5nX1JGQ3YyX2RlbGl2 ZXJ5X3NlbmRtYWlsXzEKCkNIQU5HRVMgSU4gVkVSU0lPTiAyCi0tLS0tLS0tLS0tLS0tLS0tLS0t ClZlcnNpb24gMiBvZiB0aGlzIFJGQyBzZXJpZXMgYWRkcmVzc2VzIGRlc2lnbiBjb25jZXJucyB0 aGF0IENocmlzIFdpbHNvbiBhbmQgRGFuaWVsIFZldHRlciBldC4gYWwuIGhhZCB3aXRoIHRoZSBm aXJzdCB2ZXJzaW9uIG9mIHRoaXMgUkZDIHNlcmllcy4gQmVsb3cgaXMgYSBzdW1tYXJ5IG9mIGFs bCB0aGUgY2hhbmdlcyBtYWRlIGJldHdlZW4gdmVyc2lvbnM6CgoqIFsxLzEyXSBkcm0vaTkxNTog RWFybHkgZXhpdCBmcm9tIHNlbWFwaG9yZV93YWl0c19mb3IgZm9yIGV4ZWNsaXN0IG1vZGU6CglU dXJuZWQgdGhlIGV4ZWNsaXN0IG1vZGUgY2hlY2sgaW50byBhIHJpbmdidWZmZXIgTlVMTCBjaGVj ayB0byBtYWtlIGl0IG1vcmUgc3VibWlzc2lvbiBtb2RlIGFnbm9zdGljIGFuZCBsZXNzIG9mIGEg bGF5ZXJpbmcgdmlvbGF0aW9uLgoKKiBbMi8xMl0gZHJtL2k5MTU6IE1ha2UgaTkxNV9nZW1fcmVz ZXRfcmluZ19zdGF0dXMoKSBwdWJsaWMKCVJlcGxhY2VzIHRoZSBvbGQgcGF0Y2ggaW4gUkZDdjE6 ICJkcm0vaTkxNTogQWRkIHJlc2V0IHN0YXRzIGVudHJ5IHBvaW50IGZvciBwZXItZW5naW5lIHJl c2V0IgoKKiBbMy8xMl0gZHJtL2k5MTU6IEFkZGluZyBURFIgLyBwZXItZW5naW5lIHJlc2V0IHN1 cHBvcnQgZm9yIGdlbjg6CgoJMS4gU2ltcGx5IHVzZSB0aGUgcHJldmlvdXNseSBwcml2YXRlIGZ1 bmN0aW9uCglpOTE1X2dlbV9yZXNldF9yaW5nX3N0YXR1cygpIGZyb20gdGhlIGVuZ2luZSBoYW5n IHJlY292ZXJ5IHBhdGggdG8gc2V0CglhY3RpdmUvcGVuZGluZyBjb250ZXh0IHN0YXR1cy4gVGhp cyByZXBsaWNhdGVzIHRoZSBzYW1lIGJlaGF2aW91ciBhcyBpbgoJZnVsbCBHUFUgcmVzZXQgYnV0 IGZvciBhIHNpbmdsZSwgdGFyZ2V0dGVkIGVuZ2luZS4KCgkyLiBSZW1vdmUgYWxsIGFkZGl0aW9u YWwgdWV2ZW50cyBmb3IgYm90aCBmdWxsIEdQVSByZXNldCBhbmQgcGVyLWVuZ2luZQoJcmVzZXQu ICBBZGFwdGVkIHVldmVudCBiZWhhdmlvdXIgdG8gdGhlIG5ldyBwZXItZW5naW5lIGhhbmcgcmVj b3ZlcnkKCW1vZGUgaW4gdGhhdCBpdCB3aWxsIG9ubHkgc2VuZCBvbmUgdWV2ZW50IHJlZ2FyZGxl c3Mgb2Ygd2hpY2ggZm9ybSBvZgoJcmVjb3ZlcnkgaXMgZW1wbG95ZWQuICBJZiBhIHBlci1lbmdp bmUgcmVzZXQgaXMgYXR0ZW1wdGVkIGZpcnN0IHRoZW4KCW9uZSB1ZXZlbnQgd2lsbCBiZSBkaXNw YXRjaGVkLiAgSWYgdGhhdCByZWNvdmVyeSBtb2RlIGZhaWxzIGFuZCB0aGUKCWhhbmcgaXMgcHJv bW90ZWQgdG8gYSBmdWxsIEdQVSByZXNldCBubyBmdXJ0aGVyIHVldmVudHMgd2lsbCBiZQoJZGlz cGF0Y2hlZCBhdCB0aGF0IHBvaW50LgoKCTMuIFJlbW92ZWQgdGhlIDIqSFVORyBoYW5nIHRocmVz aG9sZCBmcm9tIGk5MTVfaGFuZ2NoZWNrX2VsYXBzZWQgaW4KCW9yZGVyIHRvIG5vdCBtYWtlIHRo ZSBoYW5nIGRldGVjdGlvbiBhbGdvcml0aG0gdG9vIGNvbXBsaWNhdGVkLiBUaGlzCgl0aHJlc2hv bGQgd2FzIGludHJvZHVjZWQgdG8gY29tcGVuc2F0ZSBmb3IgdGhlIHBvc3NpYmlsaXR5IHRoYXQg aGFuZwoJcmVjb3ZlcnkgbWlnaHQgYmUgZGVsYXllZCBkdWUgdG8gaW5jb25zaXN0ZW50IGNvbnRl eHQgc3VibWlzc2lvbiBzdGF0dXMKCXRoYXQgd291bGQgcHJldmVudCBwZXItZW5naW5lIGhhbmcg cmVjb3ZlcnkgZnJvbSBoYXBwZW5pbmcuIEluIGEgbGF0ZXIKCXBhdGNoIHdlIGludHJvZHVjZSBm YWtlZCBjb250ZXh0IGV2ZW50IGludGVycnVwdHMgYW5kIGluY29uc2lzdGVuY3kKCXJlY3RpZmlj YXRpb24gYXQgdGhlIG9uc2V0IG9mIHBlci1lbmdpbmUgaGFuZyByZWNvdmVyeSBpbnN0ZWFkIG9m CglyZWx5aW5nIG9uIHRoZSBoYW5nIGNoZWNrZXIgdG8gZG8gdGhpcyBmb3IgdXMuIFRoZXJlZm9y ZSwgc2luY2Ugd2UgZG8KCW5vdCBkZWxheSBhbmQgZGVmZXIgdG8gZnV0dXJlIGhhbmcgZGV0ZWN0 aW9ucywgd2UgbmV2ZXIgYWxsb3cgaGFuZ3MgdG8KCWdvIGFkZHJlc3NlZCBiZXlvbmQgdGhlIEhV TkcgdGhyZXNob2xkIGFuZCB0aGVyZWZvcmUgdGhlcmUgaXMgbm8gbmVlZAoJZm9yIGFueSBmdXJ0 aGVyIHRocmVzaG9sZHMuCgoJNC4gVGlkaWVkIHVwIHRoZSBURFIgY29udGV4dCByZXN1Ym1pc3Np b24gcGF0aCBpbiBpbnRlbF9scmMuYyAuIFJlZHVjZWQKCXRoZSBhbW91bnQgb2YgZHVwbGljYXRp b24gYnkgcmVseWluZyBlbnRpcmVseSBvbiB0aGUgbm9ybWFsIHVucXVldWUKCWZ1bmN0aW9uLiAg QWRkZWQgYSBuZXcgcGFyYW1ldGVyIHRvIHRoZSB1bnF1ZXVlIGZ1bmN0aW9uIHRoYXQgdGFrZXMK CWludG8gY29uc2lkZXJhdGlvbiBpZiB0aGUgdW5xdWV1ZSBjYWxsIGlzIGZvciBhIGZpcnN0LXRp bWUgY29udGV4dAoJc3VibWlzc2lvbiBvciBhIHJlc3VibWlzc2lvbiBhbmQgYWRhcHRzIHRoZSBo YW5kbGluZyBvZiBlbHNwX3N1Ym1pdHRlZAoJYWNjb3JkaW5nbHkuIFRoZSByZWFzb24gZm9yIHRo aXMgaXMgdGhhdCBmb3IgY29udGV4dCByZXN1Ym1pc3Npb24gd2UKCWRvbid0IGV4cGVjdCBhbnkg ZnVydGhlciBpbnRlcnJ1cHRzIGZvciB0aGUgc3VibWlzc2lvbiBvciB0aGUgZm9sbG93aW5nCglj b250ZXh0IGNvbXBsZXRpb24uIEEgbW9yZSBlbGVnYW50IHdheSBvZiBoYW5kbGluZyB0aGlzIHdv dWxkIGJlIHRvCglwaGFzZSBvdXQgZWxzcF9zdWJtaXR0ZWQgYWx0b2dldGhlciwgaG93ZXZlciB0 aGF0J3MgcGFydCBvZiBhCglMUkMvZXhlY2xpc3QgY2xlYW51cCBlZmZvcnQgdGhhdCBpcyBoYXBw ZW5pbmcgaW5kZXBlbmRlbnRseSBvZiB0aGlzCglSRkMuIEZvciBub3cgd2UgbWFrZSB0aGlzIGNo YW5nZSBhcyBzaW1wbGUgYXMgcG9zc2libGUgd2l0aCBhcyBmZXcKCW5vbi1URFItcmVsYXRlZCBz aWRlLWVmZmVjdHMgYXMgcG9zc2libGUuCgoqIFs0LzEyXSBkcm0vaTkxNTogRXh0ZW5kaW5nIGk5 MTVfZ2VtX2NoZWNrX3dlZGdlIHRvIGNoZWNrIGVuZ2luZSByZXNldCBpbiBwcm9ncmVzczoKCVJl bW92ZWQgdW53YXJyYW50ZWQgY2hhbmdlcyBtYWRlIHRvIGk5MTVfZ2VtX3JpbmdfdGhyb3R0bGUo KQoKKiBbNy8xMl0gZHJtL2k5MTU6IEZha2UgbG9zdCBjb250ZXh0IGludGVycnVwdHMgdGhyb3Vn aCBmb3JjZWQgQ1NCIGNoZWNrCglSZW1vdmUgY29udGV4dCBzdWJtaXNzaW9uIHN0YXR1cyBjb25z aXN0ZW5jeSBwcmUtY2hlY2sgZnJvbQoJaTkxNV9oYW5nY2hlY2tfZWxhcHNlZCgpIGFuZCB0dXJu IGl0IGludG8gYSBwcmUtY2hlY2sgdG8gcGVyLWVuZ2luZSByZXNldC4KCglUaGUgZm9sbG93aW5n IGRlc2NyaWJlcyB0aGUgY2hhbmdlIGluIHBoaWxvc3BoeSBpbiBob3cgY29udGV4dCBzdWJtaXNz aW9uIHN0YXRlCglpbmNvbnNpc3RlbmNpZXMgYXJlIGRldGVjdGVkOgoKCVByZXZpb3VzbHkgd2Ug d291bGQgbGV0IHRoZSBwZXJpb2RpYyBoYW5nIGNoZWNrZXIgZW5zdXJlIHRoYXQgdGhlcmUgd2Vy ZSBubwoJY29udGV4dCBzdWJtaXNzaW9uIHN0YXR1cyBpbmNvbnNpc3RlbmNpZXMgb24gYW55IGVu Z2luZSwgYXQgYW55IHBvaW50LiBJZiBhbgoJaW5jb25zaXN0ZW5jeSB3YXMgZGV0ZWN0ZWQgaW4g dGhlIHBlci1lbmdpbmUgaGFuZyByZWNvdmVyeSBwYXRoIHdlIHdvdWxkIGJhY2sKCW9mZiBhbmQg ZGVmZXIgdG8gdGhlIG5leHQgaGFuZyBjaGVjayBzaW5jZSBwZXItZW5naW5lIGhhbmcgcmVjb3Zl cnkgaXMgbm90CgllZmZlY3RpdmUgZHVyaW5nIGluY29uc2lzdGVudCBjb250ZXh0IHN1Ym1pc3Np b24gc3RhdGVzLgoKCVdoYXQgd2UgZG8gaW4gdGhpcyBuZXcgdmVyc2lvbiBpcyB0byBtb3ZlIHRo ZSBjb25zaXN0ZW5jeSBwcmUtY2hlY2sgZnJvbSB0aGUKCWhhbmcgY2hlY2tlciB0byB0aGUgZWFy bGllc3QgcG9pbnQgaW4gdGhlIHBlci1lbmdpbmUgaGFuZyByZWNvdmVyeSBwYXRoLiBJZiB3ZQoJ ZGV0ZWN0IGFuIGluY29uc2lzdGVuY3kgYXQgdGhhdCBwb2ludCB3ZSBmYWtlIGEgcG90ZW50aWFs bHkgbG9zdCBjb250ZXh0IGV2ZW50CglpbnRlcnJ1cHQgYnkgZm9yY2luZyBhIENTQiBjaGVjay4g SWYgdGhlcmUgYXJlIG91dHN0YW5kaW5nIGV2ZW50cyBpbiB0aGUgQ1NCCgl0aGVzZSB3aWxsIGJl IGFjdGVkIHVwb24gYW5kIGhvcGVmdWxseSB0aGF0IHdpbGwgYnJpbmcgdGhlIGRyaXZlciB1cCB0 byBzcGVlZAoJd2l0aCB0aGUgaGFyZHdhcmUuIElmIHRoZSBDU0IgY2hlY2sgZGlkIG5vdCBhbW91 bnQgdG8gYW55dGhpbmcgaXQgaXMgY29uY2x1ZGVkCgl0aGF0IHRoZSBpbmNvbnNpc3RlbmN5IGlz IHVucmVzb2x2YWJsZSBhbmQgdGhlIHBlci1lbmdpbmUgaGFuZyByZWNvdmVyeSBmYWlscwoJYW5k IHByb21vdGVzIHRvIGZ1bGwgR1BVIHJlc2V0IGluc3RlYWQuCgoJSW4gdGhlIGhhbmcgY2hlY2tl ci1iYXNlZCBjb25zaXN0ZW5jeSBjaGVja2luZyB3ZSB3b3VsZCBjaGVjayB0aGUgaW5jb25zaXN0 ZW5jeQoJZm9yIGEgbnVtYmVyIG9mIHRpbWVzIHRvIG1ha2Ugc3VyZSB0aGUgZGV0ZWN0ZWQgc3Rh dGUgd2FzIHN0YWJsZSBiZWZvcmUKCWF0dGVtcHRpbmcgdG8gcmVjdGlmeSB0aGUgc2l0dWF0aW9u LiBUaGlzIGlzIHBvc3NpYmxlIHNpbmNlIGhhbmcgY2hlY2tpbmcKCWlzIGEgcmVjdXJyaW5nIGV2 ZW50LiBIYXZpbmcgbW92ZWQgdGhlIGNvbnNpc3RlbmN5IGNoZWNraW5nIHRvIHRoZSByZWNvdmVy eQoJcGF0aCBpbnN0ZWFkIChpLmUuIGEgb25lLXRpbWUsIGZpcmUgJiBmb3JnZXQtc3R5bGUgZXZl bnQpIGl0IGlzIGFzc3VtZWQKCXRoYXQgdGhlIGhhbmcgZGV0ZWN0aW9uIHRoYXQgYnJvdWdodCBv biB0aGUgaGFuZyByZWNvdmVyeSBoYXMgZGV0ZWN0ZWQgYQoJc3RhYmxlIGhhbmcgYW5kIHRoZXJl Zm9yZSwgaWYgYW4gaW5jb25zaXN0ZW5jeSBpcyBkZXRlY3RlZCBhdCB0aGF0IHBvaW50LAoJdGhl IGluY29uc2lzdGVuY3kgbXVzdCBiZSBzdGFibGUgYW5kIG5vdCB0aGUgcmVzdWx0IG9mIGEgbW9t ZW50YXJ5IGNvbnRleHQKCXN0YXRlIHRyYW5zaXRpb24uIFRoZXJlZm9yZSwgdW5saWtlIGluIHRo ZSBoYW5nIGNoZWNrZXIgY2FzZSwgYXQgdGhlIHZlcnkKCWZpcnN0IGluZGljYXRpb24gb2YgYW4g aW5jb25zaXN0ZW50IGNvbnRleHQgc3VibWlzc2lvbiBzdGF0dXMgdGhlIGludGVycnVwdAoJaXMg ZmFrZWQgc3BlY3VsYXRpdmVseS4gSWYgb3V0c3RhbmRpbmcgQ1NCIGV2ZW50cyBhcmUgZm91bmQg aXQgaXMKCWRldGVybWluZWQgdGhhdCB0aGUgaGFuZyB3YXMgaW4gZmFjdCBqdXN0IGEgY29udGV4 dCBzdWJtaXNzaW9uIHN0YXR1cwoJaW5jb25zaXN0ZW5jeSBhbmQgbm8gaGFuZyByZWNvdmVyeSBp cyBkb25lLiBJZiB0aGUgaW5jb25zaXN0ZW5jeSBjYW5ub3QgYmUKCXJlc29sdmVkIHRoZSBwZXIt ZW5naW5lCgoqIFs4LzEyXSBkcm0vaTkxNTogRGVidWdmcyBpbnRlcmZhY2UgZm9yIHBlci1lbmdp bmUgaGFuZyByZWNvdmVyeQoJMS4gQWZ0ZXIgcmV2aWV3IGNvbW1lbnRzIGJ5IENocmlzIFdpbHNv biB3ZSdyZSBkcm9wcGluZyB0aGUgZHVhbC1tb2RlIHBhcmFtZXRlcgoJdmFsdWUgaW50ZXJwcmV0 YXRpb24gaW4gaTkxNV93ZWRnZWRfc2V0KCkuIEluIHRoaXMgdmVyc2lvbiB3ZSBvbmx5IGFjY2Vw dAoJZW5naW5lIGlkIGZsYWcgbWFza3MgdGhhdCBjb250YWluIHRoZSBlbmdpbmUgaWQgZmxhZ3Mg b2YgYWxsIGN1cnJlbnRseSBodW5nCgllbmdpbmVzLiBGdWxsIEdQVSByZXNldCBpcyBtb3N0IGVh c2lseSByZXF1ZXN0ZWQgYnkgcGFzc2luZyBhbiBhbGwgemVybwoJZW5naW5lIGlkIGZsYWcgbWFz ay4KCgkyLiBNb3ZlZCBURFItc3BlY2lmaWMgZW5naW5lIG1ldHJpY3MgbGlrZSBudW1iZXIgb2Yg ZGV0ZWN0ZWQgZW5naW5lIGhhbmdzIGFuZAoJbnVtYmVyIG9mIHBlci1lbmdpbmUgcmVzZXRzIGlu dG8gaTkxNV9oYW5nY2hlY2tfaW5mbygpIGZyb20KCWk5MTVfaGFuZ2NoZWNrX3JlYWQoKS4KCiog WzkvMTJdIGRybS9pOTE1OiBURFIvd2F0Y2hkb2cgdHJhY2UgcG9pbnRzCglBcyBhIGNvbnNlcXVl bmNlIG9mIHRoZSBmYWtpbmcgY29udGV4dCBldmVudCBpbnRlcnJ1cHQgY29tbWl0IGJlaW5nIG1v dmVkIGZyb20KCXRoZSBoYW5nIGNoZWNrZXIgdG8gdGhlIHBlci1lbmdpbmUgcmVjb3ZlcnkgcGF0 aCB3ZSBubyBsb25nZXIgY2hlY2sgY29udGV4dAoJc3VibWlzc2lvbiBzdGF0dXMgZnJvbSB0aGUg aGFuZyBjaGVja2VyLiBUaGVyZWZvcmUgdGhlcmUgaXMgbm8gbmVlZCB0byBwcm92aWRlCglzdWJt aXNzaW9uIHN0YXR1cyBvZiB0aGUgY3VycmVudGx5IHJ1bm5pbmcgY29udGV4dCB0byB0aGUKCXRy YWNlX2k5MTVfdGRyX2hhbmdfY2hlY2soKSBldmVudC4KCiogWzEwLzEyXSBkcm0vaTkxNTogRml4 IF9faTkxNV93YWl0X3JlcXVlc3QoKSBiZWhhdmlvdXIgZHVyaW5nIGhhbmcgZGV0ZWN0aW9uCiog WzExLzEyXSBkcm0vaTkxNTogUG9ydCBvZiBBZGRlZCBzY2hlZHVsZXIgc3VwcG9ydCB0byBfX3dh aXRfcmVxdWVzdCgpIGNhbGxzCglORVc6IEFkZGVkIHRvIGFkZHJlc3MgdGhlIHdheSB0aGF0IF9f aTkxNV93YWl0X3JlcXVlc3QoKQoJYmVoYXZlcyBpbiB0aGUgZmFjZSBvZiBoYW5nIGRldGVjdGlv bnMgYW5kIGhhbmcgcmVjb3ZlcnkuCgoqIFsxMi8xMl0gZHJtL2k5MTU6IEV4dGVuZGVkIGVycm9y IHN0YXRlIHdpdGggVERSIGNvdW50LCB3YXRjaGRvZyBjb3VudCBhbmQgZW5naW5lIHJlc2V0IGNv dW50CglORVc6IEFkZHMgcGVyLWVuZ2luZSBURFIgc3RhdGlzdGljcyB0byBjYXB0dXJlZCBlcnJv ciBzdGF0ZS4KCgpUb21hcyBFbGYgKDEyKToKICBkcm0vaTkxNTogRWFybHkgZXhpdCBmcm9tIHNl bWFwaG9yZV93YWl0c19mb3IgZm9yIGV4ZWNsaXN0IG1vZGUuCiAgZHJtL2k5MTU6IE1ha2UgaTkx NV9nZW1fcmVzZXRfcmluZ19zdGF0dXMoKSBwdWJsaWMKICBkcm0vaTkxNTogQWRkaW5nIFREUiAv IHBlci1lbmdpbmUgcmVzZXQgc3VwcG9ydCBmb3IgZ2VuOC4KICBkcm0vaTkxNTogRXh0ZW5kaW5n IGk5MTVfZ2VtX2NoZWNrX3dlZGdlIHRvIGNoZWNrIGVuZ2luZSByZXNldCBpbgogICAgcHJvZ3Jl c3MKICBkcm0vaTkxNTogUmVpbnN0YXRlIGhhbmcgcmVjb3Zlcnkgd29yayBxdWV1ZS4KICBkcm0v aTkxNTogV2F0Y2hkb2cgdGltZW91dCBzdXBwb3J0IGZvciBnZW44LgogIGRybS9pOTE1OiBGYWtl IGxvc3QgY29udGV4dCBpbnRlcnJ1cHRzIHRocm91Z2ggZm9yY2VkIENTQiBjaGVjay4KICBkcm0v aTkxNTogRGVidWdmcyBpbnRlcmZhY2UgZm9yIHBlci1lbmdpbmUgaGFuZyByZWNvdmVyeS4KICBk cm0vaTkxNTogVERSL3dhdGNoZG9nIHRyYWNlIHBvaW50cy4KICBkcm0vaTkxNTogUG9ydCBvZiBB ZGRlZCBzY2hlZHVsZXIgc3VwcG9ydCB0byBfX3dhaXRfcmVxdWVzdCgpIGNhbGxzCiAgZHJtL2k5 MTU6IEZpeCBfX2k5MTVfd2FpdF9yZXF1ZXN0KCkgYmVoYXZpb3VyIGR1cmluZyBoYW5nIGRldGVj dGlvbi4KICBkcm0vaTkxNTogRXh0ZW5kZWQgZXJyb3Igc3RhdGUgd2l0aCBURFIgY291bnQsIHdh dGNoZG9nIGNvdW50IGFuZAogICAgZW5naW5lIHJlc2V0IGNvdW50CgogZHJpdmVycy9ncHUvZHJt L2k5MTUvaTkxNV9kZWJ1Z2ZzLmMgICAgIHwgIDc2ICsrKy0KIGRyaXZlcnMvZ3B1L2RybS9pOTE1 L2k5MTVfZG1hLmMgICAgICAgICB8ICA3OCArKysrCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1 X2Rydi5jICAgICAgICAgfCAyNTcgKysrKysrKysrKysKIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2k5 MTVfZHJ2LmggICAgICAgICB8ICA3OSArKystCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dl bS5jICAgICAgICAgfCAxMjggKysrKy0tCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dwdV9l cnJvci5jICAgfCAgIDggKy0KIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfaXJxLmMgICAgICAg ICB8IDI5MiArKysrKysrKysrKy0tCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3BhcmFtcy5j ICAgICAgfCAgMTAgKwogZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9yZWcuaCAgICAgICAgIHwg IDEzICsKIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfdHJhY2UuaCAgICAgICB8IDMwOCArKysr KysrKysrKysrLQogZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZGlzcGxheS5jICAgIHwgICAy ICstCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9scmMuYyAgICAgICAgfCA3MjkgKysrKysr KysrKysrKysrKysrKysrKysrKysrKysrLS0KIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2xy Yy5oICAgICAgICB8ICAxNiArLQogZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfbHJjX3Rkci5o ICAgIHwgIDM5ICsrCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9yaW5nYnVmZmVyLmMgfCAg ODcgKysrLQogZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfcmluZ2J1ZmZlci5oIHwgIDk1ICsr KysrCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF91bmNvcmUuYyAgICAgfCAyMDMgKysrKysr KysrCiBpbmNsdWRlL3VhcGkvZHJtL2k5MTVfZHJtLmggICAgICAgICAgICAgfCAgIDUgKy0KIDE4 IGZpbGVzIGNoYW5nZWQsIDIzMTMgaW5zZXJ0aW9ucygrKSwgMTEyIGRlbGV0aW9ucygtKQogY3Jl YXRlIG1vZGUgMTAwNjQ0IGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2xyY190ZHIuaAoKLS0g CjEuOS4xCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpJ bnRlbC1nZnggbWFpbGluZyBsaXN0CkludGVsLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0 cDovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2ludGVsLWdmeAo=