From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-5.2 required=3.0 tests=HEADER_FROM_DIFFERENT_DOMAINS, INCLUDES_PATCH,MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS,URIBL_BLOCKED, USER_AGENT_SANE_1 autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 0F6A9C74A35 for ; Wed, 10 Jul 2019 19:39:28 +0000 (UTC) Received: from lists.xenproject.org (lists.xenproject.org [192.237.175.120]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id D498520838 for ; Wed, 10 Jul 2019 19:39:27 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org D498520838 Authentication-Results: mail.kernel.org; dmarc=none (p=none dis=none) header.from=arm.com Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=xen-devel-bounces@lists.xenproject.org Received: from localhost ([127.0.0.1] helo=lists.xenproject.org) by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from ) id 1hlIQo-0006M7-4X; Wed, 10 Jul 2019 19:39:10 +0000 Received: from us1-rack-dfw2.inumbo.com ([104.130.134.6]) by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from ) id 1hlIQn-0006M2-9b for xen-devel@lists.xenproject.org; Wed, 10 Jul 2019 19:39:09 +0000 X-Inumbo-ID: 61921ea4-a34a-11e9-8980-bc764e045a96 Received: from foss.arm.com (unknown [217.140.110.172]) by us1-rack-dfw2.inumbo.com (Halon) with ESMTP id 61921ea4-a34a-11e9-8980-bc764e045a96; Wed, 10 Jul 2019 19:39:07 +0000 (UTC) Received: from usa-sjc-imap-foss1.foss.arm.com (unknown [10.121.207.14]) by usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id 0F72A2B; Wed, 10 Jul 2019 12:39:07 -0700 (PDT) Received: from [10.119.48.17] (unknown [10.119.48.17]) by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id 9AFAD3F246; Wed, 10 Jul 2019 12:39:06 -0700 (PDT) From: Julien Grall To: Stefano Stabellini References: <20190610193215.23704-1-julien.grall@arm.com> <20190610193215.23704-15-julien.grall@arm.com> Message-ID: <9f738ffe-ee04-937b-e83d-33654769bbf1@arm.com> Date: Wed, 10 Jul 2019 20:39:06 +0100 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Thunderbird/60.7.2 MIME-Version: 1.0 In-Reply-To: Content-Language: en-US Subject: Re: [Xen-devel] [PATCH 14/17] xen/arm64: head: Remove ID map as soon as it is not used X-BeenThere: xen-devel@lists.xenproject.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: Xen developer discussion List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Cc: xen-devel , Oleksandr_Tyshchenko@epam.com, andrii_anisov@epam.com, andre.przywara@arm.com Content-Transfer-Encoding: base64 Content-Type: text/plain; charset="utf-8"; Format="flowed" Errors-To: xen-devel-bounces@lists.xenproject.org Sender: "Xen-devel" SGksCgpAU3RlZmFubywgSSBhbSBnb2luZyB0aHJvdWdoIHRoZSBzZXJpZXMgYW5kIG5vdGljZWQg eW91IGRpZG4ndCBnaXZlIGFueSAKdXBkYXRlLiBDb3VsZCB5b3UgY29uZmlybSBpZiBteSByZXBs eSBtYWtlcyBzZW5zZT8KCkNoZWVycywKCk9uIDYvMjcvMTkgODozMCBQTSwgSnVsaWVuIEdyYWxs IHdyb3RlOgo+IEhpIFN0ZWZhbm8sCj4gCj4gT24gNi8yNy8xOSA3OjU1IFBNLCBTdGVmYW5vIFN0 YWJlbGxpbmkgd3JvdGU6Cj4+IE9uIE1vbiwgMTAgSnVuIDIwMTksIEp1bGllbiBHcmFsbCB3cm90 ZToKPj4+ICsxOgo+Pj4gK8KgwqDCoMKgwqDCoMKgIC8qCj4+PiArwqDCoMKgwqDCoMKgwqDCoCAq IEZpbmQgdGhlIHNlY29uZCBzbG90IHVzZWQuIFJlbW92ZSB0aGUgZW50cnkgZm9yIHRoZSBmaXJz dAo+Pj4gK8KgwqDCoMKgwqDCoMKgwqAgKiB0YWJsZSBpZiB0aGUgc2xvdCBpcyBub3QgMSAocnVu dGltZSBYZW4gbWFwcGluZyBpcyAyTSAtIDRNKS4KPj4+ICvCoMKgwqDCoMKgwqDCoMKgICogRm9y IHNsb3QgMSwgaXQgbWVhbnMgdGhlIElEIG1hcCB3YXMgbm90IGNyZWF0ZWQuCj4+PiArwqDCoMKg wqDCoMKgwqDCoCAqLwo+Pj4gK8KgwqDCoMKgwqDCoMKgIGxzcsKgwqAgeDEsIHgxOSwgI1NFQ09O RF9TSElGVAo+Pj4gK8KgwqDCoMKgwqDCoMKgIGFuZMKgwqAgeDEsIHgxLCAjTFBBRV9FTlRSWV9N QVNLwqAgLyogeDEgOj0gZmlyc3Qgc2xvdCAqLwo+Pj4gK8KgwqDCoMKgwqDCoMKgIGNtcMKgwqAg eDEsICMxCj4+PiArwqDCoMKgwqDCoMKgwqAgYmVxwqDCoCBpZF9tYXBfcmVtb3ZlZAo+Pj4gK8Kg wqDCoMKgwqDCoMKgIC8qIEl0IGlzIG5vdCBpbiBzbG90IDEsIHJlbW92ZSB0aGUgZW50cnkgKi8K Pj4+ICvCoMKgwqDCoMKgwqDCoCBsZHLCoMKgIHgwLCA9Ym9vdF9zZWNvbmTCoMKgwqDCoMKgwqDC oMKgwqAgLyogeDAgOj0gc2Vjb25kIHRhYmxlICovCj4+PiArwqDCoMKgwqDCoMKgwqAgc3RywqDC oCB4enIsIFt4MCwgeDEsIGxzbCAjM10KPj4KPj4gV291bGRuJ3QgaXQgYmUgYSBiaXQgbW9yZSBy ZWxpYWJsZSBpZiB3ZSBjaGVja2VkIHdoZXRoZXIgdGhlIHNsb3QgaW4KPj4gcXVlc3Rpb24gZm9y IHgxOSAod2hldGhlciB6ZXJvLCBmaXJzdCwgc2Vjb25kKSBpcyBhIHBhZ2V0YWJsZSBwb2ludGVy IG9yCj4+IHNlY3Rpb24gbWFwLCB0aGVuIHplcm8gaXQgaWYgaXQgaXMgYSBzZWN0aW9uIG1hcCwg b3RoZXJ3aXNlIGdvIGRvd24gb25lCj4+IGxldmVsPyBJZiB3ZSBkaWQgaXQgdGhpcyB3YXkgaXQg d291bGQgYmUgaW5kZXBlbmRlbnQgZnJvbSB0aGUgd2F5Cj4+IGNyZWF0ZV9wYWdlX3RhYmxlcyBp cyB3cml0dGVuLgo+IAo+IFlvdXIgc3VnZ2VzdGlvbiB3aWxsIG5vdCBjb21wbHkgd2l0aCB0aGUg YXJjaGl0ZWN0dXJlIGNvbXBsaWFuY2UgYW5kIGhvdyAKPiBYZW4gaXMvd2lsbCBiZSB3b3JraW5n IGFmdGVyIHRoZSBmdWxsIHJld29yay4gV2Ugd2FudCB0byByZW1vdmUgCj4gZXZlcnl0aGluZyAo bWFwcGluZyArIHRhYmxlKSBhZGRlZCBzcGVjaWZpY2FsbHkgZm9yIHRoZSAxOjEgbWFwcGluZy4K PiAKPiBPdGhlcndpc2UsIHlvdSBtYXkgZW5kIHVwIGluIGEgcG9zaXRpb24gd2hlcmUgYm9vdF9m aXJzdF9pZCBpcyBzdGlsbCBpbiAKPiBwbGFjZS4gV2Ugd291bGQgbmVlZCB0byB1c2UgdGhlIGJy ZWFrLWJlZm9yZS1tYWtlIHNlcXVlbmNlIGluIHN1YnNlcXVlbnQgCj4gY29kZSBpZiB3ZSB3ZXJl IGFib3V0IHRvIGluc2VydCAxR0IgbWFwcGluZyBhdCB0aGUgc2FtZSBwbGFjZS4KPiAKPiBBZnRl ciBteSByZXdvcmssIHdlIHdvdWxkIGhhdmUgdmlydHVhbGx5IG5vIHBsYWNlIHdoZXJlIAo+IGJy ZWFrLWJlZm9yZS1tYWtlIHdpbGwgYmUgbmVjZXNzYXJ5IGFzIGl0IHdpbGwgZW5mb3JjZSBhbGwg dGhlIG1hcHBpbmdzIAo+IHRvIGJlIGRlc3Ryb3llZCBiZWZvcmUgaGFuZC4gU28gSSB3b3VsZCBy YXRoZXIgYXZvaWQgdG8gbWFrZSBhIHNwZWNpZmljIAo+IGNhc2UgZm9yIHRoZSAxOjEgbWFwcGlu Zy4KPiAKPiBBcyBhIHNpZGUgbm90ZSwgdGhlIGN1cnJlbnQgY29kZSBmb3IgdGhlIDE6MSBtYXBw aW5nIGlzIGNvbXBsZXRlbHkgd3JvbmcgCj4gYXMgdXNpbmcgMUdCIChvciBldmVuIDJNQikgbWFw cGluZyBtYXkgcmVzdWx0IHRvIG1hcCBNTUlPIHJlZ2lvbiAob3IgCj4gcmVzZXJ2ZWQtcmVnaW9u KS4gVGhpcyBtYXkgcmVzdWx0IHRvIGNhY2hlIHByb2JsZW0uIEkgaGF2ZSB0aGlzIAo+IHBhcnRp YWxseSBmaXhlZCBvbiBmb3IgdGhlIG5leHQgdmVyc2lvbiBvZiBzZXJpZXMgKHNlZSBbMV0pLgo+ IAo+Pgo+PiBXaXRoIHRoZSBjdXJyZW50IGNvZGUsIHdlIGFyZSBzb21ld2hhdCByZWxpYW50IG9u IHRoZSBiZWhhdmlvciBvZgo+PiBjcmVhdGVfcGFnZV90YWJsZXMsIGJlY2F1c2Ugd2UgcmVseSBv biB0aGUgcG9zaXRpb24gb2YgdGhlIHNsb3QgZm9yCj4+IHRoZSBJRCBtYXA/IFdoZXJlIHRoZSBh c3N1bXB0aW9uIGZvciBpbnN0YW5jZSBpcyB0aGF0IGF0IGxldmVsIG9uZSwgaWYKPj4gdGhlIHNs b3QgaXMgemVybywgdGhlbiB3ZSBuZWVkIHRvIGdvIGRvd24gYSBsZXZlbCwgZXRjLiBJbnN0ZWFk LCBpZiB3ZQo+PiBjaGVja2VkIGlmIHRoZSBzbG90IGlzIGEgc2VjdGlvbiBtYXAsIHdlIGNvdWxk IHJlbW92ZSBpdCBpbW1lZGlhdGVseSwgaWYKPj4gaXQgaXMgYSBwYWdldGFibGUgcG9pbnRlciwg d2UgcHJvY2VlZC4gVGhlIGNvZGUgc2hvdWxkIGJlIHNpbWlsYXIgaW4KPj4gY29tcGxleGl0eSBh bmQgTE9DLCBidXQgaXQgd291bGQgYmUgbW9yZSByb2J1c3QuCj4gCj4gU2VlIGFib3ZlIDopLgo+ IAo+Pgo+PiBTb21ldGhpbmcgbGlrZSB0aGUgZm9sbG93aW5nLCBpbiBwc2V1ZG8tdW5jb21waWxl ZCBhc3NlbWJseToKPj4KPj4gwqDCoMKgwqDCoCBsc3LCoMKgIHgxLCB4MTksICNGSVJTVF9TSElG VAo+PiDCoMKgwqDCoMKgIGxkcsKgwqAgeDAsID1ib290X2ZpcnN0wqDCoMKgwqDCoMKgwqDCoMKg wqAgLyogeDAgOj0gZmlyc3QgdGFibGUgKi8KPj4gwqDCoMKgwqDCoCBsZHLCoMKgIHgyLCBbeDAs IHgxLCBsc2wgIzNdCj4+IMKgwqDCoMKgwqAgIyBjaGVjayB4MiBhZ2FpbnN0ICNQVF9NRU0KPj4g wqDCoMKgwqDCoCBjYnrCoMKgIHgyLCAxZgo+PiDCoMKgwqDCoMKgIHN0csKgwqAgeHpyLCBbeDAs IHgxLCBsc2wgIzNdCj4+IMKgwqDCoMKgwqAgYsKgwqDCoMKgIGlkX21hcF9yZW1vdmVkCj4+Cj4+ Cj4+PiAraWRfbWFwX3JlbW92ZWQ6Cj4+PiArwqDCoMKgwqDCoMKgwqAgLyogU2VlIGFzbS1hcm0v YXJtNjQvZmx1c2h0bGIuaCBmb3IgdGhlIGV4cGxhbmF0aW9uIG9mIHRoZSAKPj4+IHNlcXVlbmNl LiAqLwo+Pgo+PiBEbyB5b3UgbWVhbiB4ZW4vaW5jbHVkZS9hc20tYXJtL2FybTY0L2ZsdXNodGxi Lmg/IEkgY2FuJ3QgZmluZCB0aGUKPj4gZXhwbGFuYXRpb24geW91IGFyZSByZWZlcnJpbmcgdG8u Cj4gCj4gVGhlIGJpZyBjb21tZW50IGF0IHRoZSB0b3Agb2YgdGhlIGhlYWRlcjoKPiAKPiAvKgo+ ICDCoCogRXZlcnkgaW52YWxpZGF0aW9uIG9wZXJhdGlvbiB1c2UgdGhlIGZvbGxvd2luZyBwYXR0 ZXJuczoKPiAgwqAqCj4gIMKgKiBEU0IgSVNIU1TCoMKgwqDCoMKgwqDCoCAvLyBFbnN1cmUgcHJp b3IgcGFnZS10YWJsZXMgdXBkYXRlcyBoYXZlIGNvbXBsZXRlZAo+ICDCoCogVExCSS4uLsKgwqDC oMKgwqDCoMKgwqDCoCAvLyBJbnZhbGlkYXRlIHRoZSBUTEIKPiAgwqAqIERTQiBJU0jCoMKgwqDC oMKgwqDCoMKgwqAgLy8gRW5zdXJlIHRoZSBUTEIgaW52YWxpZGF0aW9uIGhhcyBjb21wbGV0ZWQK PiAgwqAqIElTQsKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIC8vIFNlZSBleHBsYW5hdGlvbiBi ZWxvdwo+ICDCoCoKPiAgwqAqIEZvciBYZW4gcGFnZS10YWJsZXMgdGhlIElTQiB3aWxsIGRpc2Nh cmQgYW55IGluc3RydWN0aW9ucyBmZXRjaGVkCj4gIMKgKiBmcm9tIHRoZSBvbGQgbWFwcGluZ3Mu Cj4gIMKgKgo+ICDCoCogRm9yIHRoZSBTdGFnZS0yIHBhZ2UtdGFibGVzIHRoZSBJU0IgZW5zdXJl cyB0aGUgY29tcGxldGlvbiBvZiB0aGUgRFNCCj4gIMKgKiAoYW5kIHRoZXJlZm9yZSB0aGUgVExC IGludmFsaWRhdGlvbikgYmVmb3JlIGNvbnRpbnVpbmcuIFNvIHdlIGtub3cKPiAgwqAqIHRoZSBU TEJzIGNhbm5vdCBjb250YWluIGFuIGVudHJ5IGZvciBhIG1hcHBpbmcgd2UgbWF5IGhhdmUgcmVt b3ZlZC4KPiAgwqAqLwo+IAo+IE5vdGUgdGhhdCB3ZSBhcmUgdXNpbmcgbnNoIChhbmQgbm90IGlz aCkgYmVjYXVzZSB3ZSBhcmUgdXNpbmcgbG9jYWwgVExCIAo+IGZsdXNoIChzZWUgcGFnZSBENS0y MzAgQVJNIERESSAwNDg3RC5hKS4gRm9yIGNvbnZlbmllbmNlIGhlcmUgaXMgdGhlIHRleHQ6Cj4g Cj4gIkluIGFsbCBjYXNlcyBpbiB0aGlzIHNlY3Rpb24gd2hlcmUgYSBETUIgb3IgRFNCIGlzIHJl ZmVycmVkIHRvLCBpdCAKPiByZWZlcnMgdG8gYSBETUIgb3IgRFNCIHdob3NlIHJlcXVpcmVkIGFj Y2VzcyB0eXBlIGlzCj4gYm90aCBsb2FkcyBhbmQgc3RvcmVzLiBBIERTQiBOU0ggaXMgc3VmZmlj aWVudCB0byBlbnN1cmUgY29tcGxldGlvbiBvZiAKPiBUTEIgbWFpbnRlbmFuY2UgaW5zdHJ1Y3Rp b25zIHRoYXQgYXBwbHkgdG8gYQo+IHNpbmdsZSBQRS4gQSBEU0IgSVNIIGlzIHN1ZmZpY2llbnQg dG8gZW5zdXJlIGNvbXBsZXRpb24gb2YgVExCIAo+IG1haW50ZW5hbmNlIGluc3RydWN0aW9ucyB0 aGF0IGFwcGx5IHRvIFBFcyBpbiB0aGUKPiBzYW1lIElubmVyIFNoYXJlYWJsZSBkb21haW4uIgo+ IAo+IEkgZGlzY292ZXJlZCB0aGlzIHNlY3Rpb24gYWZ0ZXIgdGhlIGNoYW5nZXMgaW4gZmx1c2h0 bGIuaCBoYXMgYmVlbiAKPiBtZXJnZWQuIEJ1dCBJIGFtIHRoaW5raW5nIHRvIGRvIGEgZm9sbG93 LXVwIHRoZSBsb2NhbCBUTEIgZmx1c2ggY29kZS4KPiAKPj4KPj4KPj4+ICvCoMKgwqDCoMKgwqDC oCBkc2LCoMKgIG5zaHN0Cj4+PiArwqDCoMKgwqDCoMKgwqAgdGxiacKgIGFsbGUyCj4+PiArwqDC oMKgwqDCoMKgwqAgZHNiwqDCoCBuc2gKPj4+ICvCoMKgwqDCoMKgwqDCoCBpc2IKPj4+ICsKPj4+ ICvCoMKgwqDCoMKgwqDCoCByZXQKPj4+ICtFTkRQUk9DKHJlbW92ZV9pZF9tYXApCj4gCj4gWy4u Ll0KPiAKPiBbMV0gUmV3b3JrIGZvciBjcmVhdGVfcGFnZV90YWJsZXMKPiAKPiBkaWZmIC0tZ2l0 IGEveGVuL2FyY2gvYXJtL2FybTY0L2hlYWQuUyBiL3hlbi9hcmNoL2FybS9hcm02NC9oZWFkLlMK PiBpbmRleCBhNzlhZTU0ODIyLi5jMDE5ZGQzZTA0IDEwMDY0NAo+IC0tLSBhL3hlbi9hcmNoL2Fy bS9hcm02NC9oZWFkLlMKPiArKysgYi94ZW4vYXJjaC9hcm0vYXJtNjQvaGVhZC5TCj4gQEAgLTQ4 Myw2ICs0ODMsNjAgQEAgY3B1X2luaXQ6Cj4gIMKgRU5EUFJPQyhjcHVfaW5pdCkKPiAKPiAgwqAv Kgo+ICsgKiBNYWNybyB0byBjcmVhdGUgYSBwYWdlIHRhYmxlIGVudHJ5IGluIFxwdGJsIHRvIFx0 YmwKPiArICoKPiArICogcHRibDrCoMKgwqAgdGFibGUgc3ltYm9sIHdoZXJlIHRoZSBlbnRyeSB3 aWxsIGJlIGNyZWF0ZWQKPiArICogdGJsOsKgwqDCoMKgIHRhYmxlIHN5bWJvbCB0byBwb2ludCB0 bwo+ICsgKiB2aXJ0OsKgwqDCoCB2aXJ0dWFsIGFkZHJlc3MKPiArICogc2hpZnQ6wqDCoCAjaW1t IHBhZ2UgdGFibGUgc2hpZnQKPiArICogdG1wMTrCoMKgwqAgc2NyYXRjaCByZWdpc3Rlcgo+ICsg KiB0bXAyOsKgwqDCoCBzY3JhdGNoIHJlZ2lzdGVyCj4gKyAqIHRtcDM6wqDCoMKgIHNjcmF0Y2gg cmVnaXN0ZXIKPiArICoKPiArICogUHJlc2VydmVzIFx2aXJ0Cj4gKyAqIENsb2JiZXJzIFx0bXAx LCBcdG1wMiwgXHRtcDMKPiArICoKPiArICogQWxzbyB1c2UgeDIwIGZvciB0aGUgcGh5cyBvZmZz ZXQuCj4gKyAqCj4gKyAqIE5vdGUgdGhhdCBhbGwgcGFyYW1ldGVycyB1c2luZyByZWdpc3RlcnMg c2hvdWxkIGJlIGRpc3RpbmN0Lgo+ICsgKi8KPiArLm1hY3JvIGNyZWF0ZV90YWJsZV9lbnRyeSwg cHRibCwgdGJsLCB2aXJ0LCBzaGlmdCwgdG1wMSwgdG1wMiwgdG1wMwo+ICvCoMKgwqDCoMKgwqDC oCBsc3LCoMKgIFx0bXAxLCBcdmlydCwgI1xzaGlmdAo+ICvCoMKgwqDCoMKgwqDCoCBhbmTCoMKg IFx0bXAxLCBcdG1wMSwgI0xQQUVfRU5UUllfTUFTSy8qIFx0bXAxIDo9IHNsb3QgaW4gXHRsYiAq Lwo+ICvCoMKgwqDCoMKgwqDCoCBsb2FkX3BhZGRyIFx0bXAyLCBcdGJsCj4gK8KgwqDCoMKgwqDC oMKgIG1vdsKgwqAgXHRtcDMsICNQVF9QVMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg IC8qIFx0bXAzIDo9IHJpZ2h0IGZvciAKPiBsaW5lYXIgUFQgKi8KPiArwqDCoMKgwqDCoMKgwqAg b3JywqDCoCBcdG1wMywgXHRtcDMsIFx0bXAywqDCoMKgwqDCoMKgwqDCoMKgwqAgLyrCoMKgwqDC oMKgwqDCoMKgwqAgKyBcdGxiIHBhZGRyICovCj4gK8KgwqDCoMKgwqDCoMKgIGFkcl9sIFx0bXAy LCBccHRibAo+ICvCoMKgwqDCoMKgwqDCoCBzdHLCoMKgIFx0bXAzLCBbXHRtcDIsIFx0bXAxLCBs c2wgIzNdCj4gKy5lbmRtCj4gKwo+ICsvKgo+ICsgKiBNYWNybyB0byBjcmVhdGUgYSBtYXBwaW5n IGVudHJ5IGluIFx0YmwgdG8gXHBhZGRyLiBPbmx5IG1hcHBpbmcgaW4gM3JkCj4gKyAqIGxldmVs IHRhYmxlIGlzIHN1cHBvcnRlZC4KPiArICoKPiArICogdGJsOsKgwqDCoMKgIHRhYmxlIHN5bWJv bCB3aGVyZSB0aGUgZW50cnkgd2lsbCBiZSBjcmVhdGVkCj4gKyAqIHZpcnQ6wqDCoMKgIHZpcnR1 YWwgYWRkcmVzcwo+ICsgKiBwYWRkcjrCoMKgIHBoeXNpY2FsIGFkZHJlc3MgKHNob3VsZCBiZSBw YWdlIGFsaWduZWQpCj4gKyAqIHRtcDE6wqDCoMKgIHNjcmF0Y2ggcmVnaXN0ZXIKPiArICogdG1w MjrCoMKgwqAgc2NyYXRjaCByZWdpc3Rlcgo+ICsgKiB0bXAzOsKgwqDCoCBzY3JhdGNoIHJlZ2lz dGVyCj4gKyAqIHR5cGU6wqDCoMKgIG1hcHBpbmcgdHlwZS4gSWYgbm90IHNwZWNpZmllZCBpdCB3 aWxsIGJlIG5vcm1hbCBtZW1vcnkgCj4gKFBUX01FTV9MMykKPiArICoKPiArICogUHJlc2VydmVz IFx2aXJ0LCBccGFkZHIKPiArICogQ2xvYmJlcnMgXHRtcDEsIFx0bXAyLCBcdG1wMwo+ICsgKgo+ ICsgKiBOb3RlIHRoYXQgYWxsIHBhcmFtZXRlcnMgdXNpbmcgcmVnaXN0ZXJzIHNob3VsZCBiZSBk aXN0aW5jdC4KPiArICovCj4gKy5tYWNybyBjcmVhdGVfbWFwcGluZ19lbnRyeSwgdGJsLCB2aXJ0 LCBwYWRkciwgdG1wMSwgdG1wMiwgdG1wMywgCj4gdHlwZT1QVF9NRU1fTDMKPiArwqDCoMKgwqDC oMKgwqAgbHNywqDCoCBcdG1wMSwgXHZpcnQsICNUSElSRF9TSElGVAo+ICvCoMKgwqDCoMKgwqDC oCBhbmTCoMKgIFx0bXAxLCBcdG1wMSwgI0xQQUVfRU5UUllfTUFTSy8qIFx0bXAxIDo9IHNsb3Qg aW4gXHRsYiAqLwo+ICvCoMKgwqDCoMKgwqDCoCBtb3bCoMKgIFx0bXAyLCAjXHR5cGXCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCAvKiBcdG1wMiA6PSByaWdodCBmb3IgCj4gc2VjdGlv biBQVCAqLwo+ICvCoMKgwqDCoMKgwqDCoCBvcnLCoMKgIFx0bXAyLCBcdG1wMiwgXHBhZGRywqDC oMKgwqDCoMKgwqDCoMKgIC8qwqDCoMKgwqDCoMKgwqDCoMKgICsgcGFkZHIgKi8KPiArwqDCoMKg wqDCoMKgwqAgYWRyX2wgXHRtcDMsIFx0YmwKPiArwqDCoMKgwqDCoMKgwqAgc3RywqDCoCBcdG1w MiwgW1x0bXAzLCBcdG1wMSwgbHNsICMzXQo+ICsuZW5kbQo+ICsKPiArLyoKPiAgwqAgKiBSZWJ1 aWxkIHRoZSBib290IHBhZ2V0YWJsZSdzIGZpcnN0LWxldmVsIGVudHJpZXMuIFRoZSBzdHJ1Y3R1 cmUKPiAgwqAgKiBpcyBkZXNjcmliZWQgaW4gbW0uYy4KPiAgwqAgKgo+IEBAIC00OTUsMTAwICs1 NDksMTcgQEAgRU5EUFJPQyhjcHVfaW5pdCkKPiAgwqAgKsKgwqAgeDE5OiBwYWRkcihzdGFydCkK PiAgwqAgKsKgwqAgeDIwOiBwaHlzIG9mZnNldAo+ICDCoCAqCj4gLSAqIENsb2JiZXJzIHgwIC0g eDQsIHgyNQo+IC0gKgo+IC0gKiBSZWdpc3RlciB1c2FnZSB3aXRoaW4gdGhpcyBmdW5jdGlvbjoK PiAtICrCoMKgIHgyNTogSWRlbnRpdHkgbWFwIGluIHBsYWNlCj4gKyAqIENsb2JiZXJzIHgwIC0g eDQKPiAgwqAgKi8KPiAgwqBjcmVhdGVfcGFnZV90YWJsZXM6Cj4gLcKgwqDCoMKgwqDCoMKgIC8q Cj4gLcKgwqDCoMKgwqDCoMKgwqAgKiBJZiBYZW4gaXMgbG9hZGVkIGF0IGV4YWN0bHkgWEVOX1ZJ UlRfU1RBUlQgdGhlbiB3ZSBkb24ndAo+IC3CoMKgwqDCoMKgwqDCoMKgICogbmVlZCBhbiBhZGRp dGlvbmFsIDE6MSBtYXBwaW5nLCB0aGUgdmlydHVhbCBtYXBwaW5nIHdpbGwKPiAtwqDCoMKgwqDC oMKgwqDCoCAqIHN1ZmZpY2UuCj4gLcKgwqDCoMKgwqDCoMKgwqAgKi8KPiAtwqDCoMKgwqDCoMKg wqAgY21wwqDCoCB4MTksICNYRU5fVklSVF9TVEFSVAo+IC3CoMKgwqDCoMKgwqDCoCBjc2V0wqAg eDI1LCBlccKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCAvKiB4MjUgOj0gaWRlbnRpdHkg bWFwIGluIHBsYWNlLCAKPiBvciBub3QgKi8KPiAtCj4gLcKgwqDCoMKgwqDCoMKgIGxvYWRfcGFk ZHIgeDQsIGJvb3RfcGd0YWJsZQo+IC0KPiAtwqDCoMKgwqDCoMKgwqAgLyogU2V0dXAgYm9vdF9w Z3RhYmxlOiAqLwo+IC3CoMKgwqDCoMKgwqDCoCBsb2FkX3BhZGRyIHgxLCBib290X2ZpcnN0Cj4g LQo+IC3CoMKgwqDCoMKgwqDCoCAvKiAuLi4gbWFwIGJvb3RfZmlyc3QgaW4gYm9vdF9wZ3RhYmxl WzBdICovCj4gLcKgwqDCoMKgwqDCoMKgIG1vdsKgwqAgeDMsICNQVF9QVMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoCAvKiB4MiA6PSB0YWJsZSBtYXAgb2YgYm9vdF9maXJzdCAqLwo+IC3CoMKgwqDC oMKgwqDCoCBvcnLCoMKgIHgyLCB4MSwgeDPCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgLyrCoMKg wqDCoMKgwqAgKyByaWdodHMgZm9yIGxpbmVhciBQVCAqLwo+IC3CoMKgwqDCoMKgwqDCoCBzdHLC oMKgIHgyLCBbeDQsICMwXcKgwqDCoMKgwqDCoMKgwqDCoMKgIC8qIE1hcCBpdCBpbiBzbG90IDAg Ki8KPiAtCj4gLcKgwqDCoMKgwqDCoMKgIC8qIC4uLiBtYXAgb2YgcGFkZHIoc3RhcnQpIGluIGJv b3RfcGd0YWJsZStib290X2ZpcnN0X2lkICovCj4gLcKgwqDCoMKgwqDCoMKgIGxzcsKgwqAgeDEs IHgxOSwgI1pFUk9FVEhfU0hJRlQvKiBPZmZzZXQgb2YgYmFzZSBwYWRkciBpbiAKPiBib290X3Bn dGFibGUgKi8KPiAtwqDCoMKgwqDCoMKgwqAgY2J6wqDCoCB4MSwgMWbCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoCAvKiBJdCdzIGluIHNsb3QgMCwgbWFwIGluIGJvb3RfZmlyc3QKPiAt wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqAgKiBvciBib290X3NlY29uZCBsYXRlciBvbiAqLwo+IC0KPiAtwqDC oMKgwqDCoMKgwqAgLyoKPiAtwqDCoMKgwqDCoMKgwqDCoCAqIExldmVsIHplcm8gZG9lcyBub3Qg c3VwcG9ydCBzdXBlcnBhZ2UgbWFwcGluZ3MsIHNvIHdlIGhhdmUKPiAtwqDCoMKgwqDCoMKgwqDC oCAqIHRvIHVzZSBhbiBleHRyYSBmaXJzdCBsZXZlbCBwYWdlIGluIHdoaWNoIHdlIGNyZWF0ZSBh IDFHQiAKPiBtYXBwaW5nLgo+IC3CoMKgwqDCoMKgwqDCoMKgICovCj4gLcKgwqDCoMKgwqDCoMKg IGxvYWRfcGFkZHIgeDIsIGJvb3RfZmlyc3RfaWQKPiAtCj4gLcKgwqDCoMKgwqDCoMKgIG1vdsKg wqAgeDMsICNQVF9QVMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCAvKiB4MiA6PSB0YWJsZSBtYXAg b2YgCj4gYm9vdF9maXJzdF9pZCAqLwo+IC3CoMKgwqDCoMKgwqDCoCBvcnLCoMKgIHgyLCB4Miwg eDPCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgLyrCoMKgwqDCoMKgwqAgKyByaWdodHMgZm9yIGxp bmVhciBQVCAqLwo+IC3CoMKgwqDCoMKgwqDCoCBzdHLCoMKgIHgyLCBbeDQsIHgxLCBsc2wgIzNd Cj4gLQo+IC3CoMKgwqDCoMKgwqDCoCBsb2FkX3BhZGRyIHg0LCBib290X2ZpcnN0X2lkCj4gLQo+ IC3CoMKgwqDCoMKgwqDCoCBsc3LCoMKgIHgxLCB4MTksICNGSVJTVF9TSElGVMKgIC8qIHgxIDo9 IE9mZnNldCBvZiBiYXNlIHBhZGRyIGluIAo+IGJvb3RfZmlyc3RfaWQgKi8KPiAtwqDCoMKgwqDC oMKgwqAgbHNswqDCoCB4MiwgeDEsICNGSVJTVF9TSElGVMKgwqAgLyogeDIgOj0gQmFzZSBhZGRy ZXNzIGZvciAxR0IgCj4gbWFwcGluZyAqLwo+IC3CoMKgwqDCoMKgwqDCoCBtb3bCoMKgIHgzLCAj UFRfTUVNwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCAvKiB4MiA6PSBTZWN0aW9uIG1hcCAqLwo+IC3C oMKgwqDCoMKgwqDCoCBvcnLCoMKgIHgyLCB4MiwgeDMKPiAtwqDCoMKgwqDCoMKgwqAgYW5kwqDC oCB4MSwgeDEsICNMUEFFX0VOVFJZX01BU0sgLyogeDEgOj0gU2xvdCBvZmZzZXQgKi8KPiAtwqDC oMKgwqDCoMKgwqAgc3RywqDCoCB4MiwgW3g0LCB4MSwgbHNsICMzXcKgwqAgLyogTWFwcGluZyBv ZiBwYWRkcihzdGFydCkgKi8KPiAtwqDCoMKgwqDCoMKgwqAgbW92wqDCoCB4MjUsICMxwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIC8qIHgyNSA6PSBpZGVudGl0eSBtYXAgbm93IGluIAo+ IHBsYWNlICovCj4gLQo+IC0xOsKgwqDCoMKgwqAgLyogU2V0dXAgYm9vdF9maXJzdDogKi8KPiAt wqDCoMKgwqDCoMKgwqAgbG9hZF9wYWRkciB4NCwgYm9vdF9maXJzdMKgwqAgLyogTmV4dCBsZXZl bCBpbnRvIGJvb3RfZmlyc3QgKi8KPiAtCj4gLcKgwqDCoMKgwqDCoMKgIC8qIC4uLiBtYXAgYm9v dF9zZWNvbmQgaW4gYm9vdF9maXJzdFswXSAqLwo+IC3CoMKgwqDCoMKgwqDCoCBsb2FkX3BhZGRy IHgxLCBib290X3NlY29uZAo+IC3CoMKgwqDCoMKgwqDCoCBtb3bCoMKgIHgzLCAjUFRfUFTCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqAgLyogeDIgOj0gdGFibGUgbWFwIG9mIGJvb3Rfc2Vjb25kICov Cj4gLcKgwqDCoMKgwqDCoMKgIG9ycsKgwqAgeDIsIHgxLCB4M8KgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoCAvKsKgwqDCoMKgwqDCoCArIHJpZ2h0cyBmb3IgbGluZWFyIFBUICovCj4gLcKgwqDCoMKg wqDCoMKgIHN0csKgwqAgeDIsIFt4NCwgIzBdwqDCoMKgwqDCoMKgwqDCoMKgwqAgLyogTWFwIGl0 IGluIHNsb3QgMCAqLwo+IC0KPiAtwqDCoMKgwqDCoMKgwqAgLyogLi4uIG1hcCBvZiBwYWRkcihz dGFydCkgaW4gYm9vdF9maXJzdCAqLwo+IC3CoMKgwqDCoMKgwqDCoCBjYm56wqAgeDI1LCAxZsKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCAvKiB4MjUgaXMgc2V0IGlmIGFscmVhZHkgY3Jl YXRlZCAqLwo+IC3CoMKgwqDCoMKgwqDCoCBsc3LCoMKgIHgyLCB4MTksICNGSVJTVF9TSElGVMKg IC8qIHgyIDo9IE9mZnNldCBvZiBiYXNlIHBhZGRyIGluIAo+IGJvb3RfZmlyc3QgKi8KPiAtwqDC oMKgwqDCoMKgwqAgYW5kwqDCoCB4MSwgeDIsICNMUEFFX0VOVFJZX01BU0sgLyogeDEgOj0gU2xv dCB0byB1c2UgKi8KPiAtwqDCoMKgwqDCoMKgwqAgY2J6wqDCoCB4MSwgMWbCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoCAvKiBJdCdzIGluIHNsb3QgMCwgbWFwIGluIAo+IGJvb3Rfc2Vj b25kICovCj4gLQo+IC3CoMKgwqDCoMKgwqDCoCBsc2zCoMKgIHgyLCB4MiwgI0ZJUlNUX1NISUZU wqDCoCAvKiBCYXNlIGFkZHJlc3MgZm9yIDFHQiBtYXBwaW5nICovCj4gLcKgwqDCoMKgwqDCoMKg IG1vdsKgwqAgeDMsICNQVF9NRU3CoMKgwqDCoMKgwqDCoMKgwqDCoMKgIC8qIHgyIDo9IFNlY3Rp b24gbWFwICovCj4gLcKgwqDCoMKgwqDCoMKgIG9ycsKgwqAgeDIsIHgyLCB4Mwo+IC3CoMKgwqDC oMKgwqDCoCBzdHLCoMKgIHgyLCBbeDQsIHgxLCBsc2wgIzNdwqDCoCAvKiBDcmVhdGUgbWFwcGlu ZyBvZiBwYWRkcihzdGFydCkqLwo+IC3CoMKgwqDCoMKgwqDCoCBtb3bCoMKgIHgyNSwgIzHCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgLyogeDI1IDo9IGlkZW50aXR5IG1hcCBub3cgaW4g Cj4gcGxhY2UgKi8KPiAtCj4gLTE6wqDCoMKgwqDCoCAvKiBTZXR1cCBib290X3NlY29uZDogKi8K PiAtwqDCoMKgwqDCoMKgwqAgbG9hZF9wYWRkciB4NCwgYm9vdF9zZWNvbmQKPiAtCj4gLcKgwqDC oMKgwqDCoMKgIC8qIC4uLiBtYXAgYm9vdF90aGlyZCBpbiBib290X3NlY29uZFsxXSAqLwo+IC3C oMKgwqDCoMKgwqDCoCBsb2FkX3BhZGRyIHgxLCBib290X3RoaXJkCj4gLcKgwqDCoMKgwqDCoMKg IG1vdsKgwqAgeDMsICNQVF9QVMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCAvKiB4MiA6PSB0YWJs ZSBtYXAgb2YgYm9vdF90aGlyZCAqLwo+IC3CoMKgwqDCoMKgwqDCoCBvcnLCoMKgIHgyLCB4MSwg eDPCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgLyrCoMKgwqDCoMKgwqAgKyByaWdodHMgZm9yIGxp bmVhciBQVCAqLwo+IC3CoMKgwqDCoMKgwqDCoCBzdHLCoMKgIHgyLCBbeDQsICM4XcKgwqDCoMKg wqDCoMKgwqDCoMKgIC8qIE1hcCBpdCBpbiBzbG90IDEgKi8KPiAtCj4gLcKgwqDCoMKgwqDCoMKg IC8qIC4uLiBtYXAgb2YgcGFkZHIoc3RhcnQpIGluIGJvb3Rfc2Vjb25kICovCj4gLcKgwqDCoMKg wqDCoMKgIGNibnrCoCB4MjUsIDFmwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIC8qIHgy NSBpcyBzZXQgaWYgYWxyZWFkeSBjcmVhdGVkICovCj4gLcKgwqDCoMKgwqDCoMKgIGxzcsKgwqAg eDIsIHgxOSwgI1NFQ09ORF9TSElGVCAvKiB4MiA6PSBPZmZzZXQgb2YgYmFzZSBwYWRkciBpbiAK PiBib290X3NlY29uZCAqLwo+IC3CoMKgwqDCoMKgwqDCoCBhbmTCoMKgIHgxLCB4MiwgI0xQQUVf RU5UUllfTUFTSyAvKiB4MSA6PSBTbG90IHRvIHVzZSAqLwo+IC3CoMKgwqDCoMKgwqDCoCBjbXDC oMKgIHgxLCAjMQo+IC3CoMKgwqDCoMKgwqDCoCBiLmVxwqAgdmlydHBoeXNfY2xhc2jCoMKgwqDC oMKgwqDCoMKgIC8qIEl0J3MgaW4gc2xvdCAxLCB3aGljaCB3ZSBjYW5ub3QgCj4gaGFuZGxlICov Cj4gK8KgwqDCoMKgwqDCoMKgIC8qIFByZXBhcmUgdGhlIHBhZ2UtdGFibGVzIGZvciBtYXBwaW5n IFhlbiAqLwo+ICvCoMKgwqDCoMKgwqDCoCBsZHLCoMKgIHgwLCA9WEVOX1ZJUlRfU1RBUlQKPiAr wqDCoMKgwqDCoMKgwqAgY3JlYXRlX3RhYmxlX2VudHJ5IGJvb3RfcGd0YWJsZSwgYm9vdF9maXJz dCwgeDAsIFpFUk9FVEhfU0hJRlQsIAo+IHgxLCB4MiwgeDMKPiArwqDCoMKgwqDCoMKgwqAgY3Jl YXRlX3RhYmxlX2VudHJ5IGJvb3RfZmlyc3QsIGJvb3Rfc2Vjb25kLCB4MCwgRklSU1RfU0hJRlQs IAo+IHgxLCB4MiwgeDMKPiArwqDCoMKgwqDCoMKgwqAgY3JlYXRlX3RhYmxlX2VudHJ5IGJvb3Rf c2Vjb25kLCBib290X3RoaXJkLCB4MCwgU0VDT05EX1NISUZULCAKPiB4MSwgeDIsIHgzCj4gCj4g LcKgwqDCoMKgwqDCoMKgIGxzbMKgwqAgeDIsIHgyLCAjU0VDT05EX1NISUZUwqAgLyogQmFzZSBh ZGRyZXNzIGZvciAyTUIgbWFwcGluZyAqLwo+IC3CoMKgwqDCoMKgwqDCoCBtb3bCoMKgIHgzLCAj UFRfTUVNwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCAvKiB4MiA6PSBTZWN0aW9uIG1hcCAqLwo+IC3C oMKgwqDCoMKgwqDCoCBvcnLCoMKgIHgyLCB4MiwgeDMKPiAtwqDCoMKgwqDCoMKgwqAgc3RywqDC oCB4MiwgW3g0LCB4MSwgbHNsICMzXcKgwqAgLyogQ3JlYXRlIG1hcHBpbmcgb2YgcGFkZHIoc3Rh cnQpKi8KPiAtwqDCoMKgwqDCoMKgwqAgbW92wqDCoCB4MjUsICMxwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgIC8qIHgyNSA6PSBpZGVudGl0eSBtYXAgbm93IGluIAo+IHBsYWNlICovCj4g LQo+IC0xOsKgwqDCoMKgwqAgLyogU2V0dXAgYm9vdF90aGlyZDogKi8KPiAtwqDCoMKgwqDCoMKg wqAgbG9hZF9wYWRkciB4NCwgYm9vdF90aGlyZAo+ICvCoMKgwqDCoMKgwqDCoCAvKiBNYXAgWGVu ICovCj4gK8KgwqDCoMKgwqDCoMKgIGFkcl9sIHg0LCBib290X3RoaXJkCj4gCj4gIMKgwqDCoMKg wqDCoMKgwqAgbHNywqDCoCB4MiwgeDE5LCAjVEhJUkRfU0hJRlTCoCAvKiBCYXNlIGFkZHJlc3Mg Zm9yIDRLIG1hcHBpbmcgKi8KPiAgwqDCoMKgwqDCoMKgwqDCoCBsc2zCoMKgIHgyLCB4MiwgI1RI SVJEX1NISUZUCj4gQEAgLTYwMywyMSArNTc0LDY4IEBAIGNyZWF0ZV9wYWdlX3RhYmxlczoKPiAg wqDCoMKgwqDCoMKgwqDCoCBjbXDCoMKgIHgxLCAjKExQQUVfRU5UUklFUzw8MykgLyogNTEyIGVu dHJpZXMgcGVyIHBhZ2UgKi8KPiAgwqDCoMKgwqDCoMKgwqDCoCBiLmx0wqAgMWIKPiAKPiAtwqDC oMKgwqDCoMKgwqAgLyogRGVmZXIgZml4bWFwIGFuZCBkdGIgbWFwcGluZyB1bnRpbCBhZnRlciBw YWdpbmcgZW5hYmxlZCwgdG8KPiAtwqDCoMKgwqDCoMKgwqDCoCAqIGF2b2lkIHRoZW0gY2xhc2hp bmcgd2l0aCB0aGUgMToxIG1hcHBpbmcuICovCj4gK8KgwqDCoMKgwqDCoMKgIC8qCj4gK8KgwqDC oMKgwqDCoMKgwqAgKiBJZiBYZW4gaXMgbG9hZGVkIGF0IGV4YWN0bHkgWEVOX1ZJUlRfU1RBUlQg dGhlbiB3ZSBkb24ndAo+ICvCoMKgwqDCoMKgwqDCoMKgICogbmVlZCBhbiBhZGRpdGlvbmFsIDE6 MSBtYXBwaW5nLCB0aGUgdmlydHVhbCBtYXBwaW5nIHdpbGwKPiArwqDCoMKgwqDCoMKgwqDCoCAq IHN1ZmZpY2UuCj4gK8KgwqDCoMKgwqDCoMKgwqAgKi8KPiArwqDCoMKgwqDCoMKgwqAgY21wwqDC oCB4MTksICNYRU5fVklSVF9TVEFSVAo+ICvCoMKgwqDCoMKgwqDCoCBibmXCoMKgIDFmCj4gK8Kg wqDCoMKgwqDCoMKgIHJldAo+ICsxOgo+ICvCoMKgwqDCoMKgwqDCoCAvKgo+ICvCoMKgwqDCoMKg wqDCoMKgICogT25seSB0aGUgZmlyc3QgcGFnZSBvZiBYZW4gd2lsbCBiZSBwYXJ0IG9mIHRoZSAx OjEgbWFwcGluZy4KPiArwqDCoMKgwqDCoMKgwqDCoCAqIEFsbCB0aGUgYm9vdF8qX2lkIHRhYmxl cyBhcmUgbGlua2VkIHRvZ2V0aGVyIGV2ZW4gaWYgdGhleSBtYXkKPiArwqDCoMKgwqDCoMKgwqDC oCAqIG5vdCBiZSBhbGwgdXNlZC4gVGhleSB3aWxsIHRoZW4gYmUgbGlua2VkIHRvIHRoZSBib290 IHBhZ2UKPiArwqDCoMKgwqDCoMKgwqDCoCAqIHRhYmxlcyBhdCB0aGUgY29ycmVjdCBsZXZlbC4K PiArwqDCoMKgwqDCoMKgwqDCoCAqLwo+ICvCoMKgwqDCoMKgwqDCoCBjcmVhdGVfdGFibGVfZW50 cnkgYm9vdF9maXJzdF9pZCwgYm9vdF9zZWNvbmRfaWQsIHgxOSwgCj4gRklSU1RfU0hJRlQsIHgw LCB4MSwgeDIKPiArwqDCoMKgwqDCoMKgwqAgY3JlYXRlX3RhYmxlX2VudHJ5IGJvb3Rfc2Vjb25k X2lkLCBib290X3RoaXJkX2lkLCB4MTksIAo+IFNFQ09ORF9TSElGVCwgeDAsIHgxLCB4Mgo+ICvC oMKgwqDCoMKgwqDCoCBjcmVhdGVfbWFwcGluZ19lbnRyeSBib290X3RoaXJkX2lkLCB4MTksIHgx OSwgeDAsIHgxLCB4Mgo+ICsKPiArwqDCoMKgwqDCoMKgwqAgLyoKPiArwqDCoMKgwqDCoMKgwqDC oCAqIEZpbmQgdGhlIHplcm9ldGggc2xvdCB1c2VkLiBMaW5rIGJvb3RfZmlyc3RfaWQgaW50bwo+ ICvCoMKgwqDCoMKgwqDCoMKgICogYm9vdF9wZ3RhYmxlIGlmIHRoZSBzbG90IGlzIG5vdCAwLiBG b3Igc2xvdCAwLCB0aGUgdGFibGVzCj4gK8KgwqDCoMKgwqDCoMKgwqAgKiBhc3NvY2lhdGVkIHdp dGggdGhlIDE6MSBtYXBwaW5nIHdpbGwgbmVlZCB0byBiZSBsaW5rZWQgaW4KPiArwqDCoMKgwqDC oMKgwqDCoCAqIGJvb3RfZmlyc3Qgb3IgYm9vdF9zZWNvbmQuCj4gK8KgwqDCoMKgwqDCoMKgwqAg Ki8KPiArwqDCoMKgwqDCoMKgwqAgbHNywqDCoCB4MCwgeDE5LCAjWkVST0VUSF9TSElGVMKgwqAg LyogeDAgOj0gemVyb2V0aCBzbG90ICovCj4gK8KgwqDCoMKgwqDCoMKgIGNiesKgwqAgeDAsIDFm Cj4gK8KgwqDCoMKgwqDCoMKgIC8qIEl0IGlzIG5vdCBpbiBzbG90IDAsIExpbmsgYm9vdF9maXJz dF9pZCBpbnRvIGJvb3RfcGd0YWJsZSAqLwo+ICvCoMKgwqDCoMKgwqDCoCBjcmVhdGVfdGFibGVf ZW50cnkgYm9vdF9wZ3RhYmxlLCBib290X2ZpcnN0X2lkLCB4MTksIAo+IFpFUk9FVEhfU0hJRlQs IHgwLCB4MSwgeDIKPiArwqDCoMKgwqDCoMKgwqAgcmV0Cj4gKwo+ICsxOgo+ICvCoMKgwqDCoMKg wqDCoCAvKgo+ICvCoMKgwqDCoMKgwqDCoMKgICogRmluZCB0aGUgZmlyc3Qgc2xvdCB1c2VkLiBM aW5rIGJvb3Rfc2Vjb25kX2lkIGludG8gYm9vdF9maXJzdAo+ICvCoMKgwqDCoMKgwqDCoMKgICog aWYgdGhlIHNsb3QgaXMgbm90IDAuIEZvciBzbG90IDAsIHRoZSB0YWJsZXMgYXNzb2NpYXRlZCB3 aXRoCj4gK8KgwqDCoMKgwqDCoMKgwqAgKiB0aGUgMToxIG1hcHBpbmcgd2lsbCBuZWVkIHRvIGJl IGxpbmtlZCBpbiBib290X3NlY29uZC4KPiArwqDCoMKgwqDCoMKgwqDCoCAqLwo+ICvCoMKgwqDC oMKgwqDCoCBsc3LCoMKgIHgwLCB4MTksICNGSVJTVF9TSElGVAo+ICvCoMKgwqDCoMKgwqDCoCBh bmTCoMKgIHgwLCB4MCwgI0xQQUVfRU5UUllfTUFTS8KgIC8qIHgwIDo9IGZpcnN0IHNsb3QgKi8K PiArwqDCoMKgwqDCoMKgwqAgY2J6wqDCoCB4MCwgMWYKPiArwqDCoMKgwqDCoMKgwqAgLyogSXQg aXMgbm90IGluIHNsb3QgMCwgTGluayBib290X3NlY29uZF9pZCBpbnRvIGJvb3RfZmlyc3QgKi8K PiArwqDCoMKgwqDCoMKgwqAgY3JlYXRlX3RhYmxlX2VudHJ5IGJvb3RfZmlyc3QsIGJvb3Rfc2Vj b25kX2lkLCB4MTksIAo+IEZJUlNUX1NISUZULCB4MCwgeDEsIHgyCj4gK8KgwqDCoMKgwqDCoMKg IHJldAo+IAo+IC3CoMKgwqDCoMKgwqDCoCAvKiBib290IHBhZ2V0YWJsZSBzZXR1cCBjb21wbGV0 ZSAqLwo+ICsxOgo+ICvCoMKgwqDCoMKgwqDCoCAvKgo+ICvCoMKgwqDCoMKgwqDCoMKgICogRmlu ZCB0aGUgc2Vjb25kIHNsb3QgdXNlZC4gTGluayBib290X3RoaXJkX2lkIGludG8gYm9vdF9zZWNv bmQKPiArwqDCoMKgwqDCoMKgwqDCoCAqIGlmIHRoZSBzbG90IGlzIG5vdCAxIChydW50aW1lIFhl biBtYXBwaW5nIGlzIDJNIC0gNE0pLgo+ICvCoMKgwqDCoMKgwqDCoMKgICogRm9yIHNsb3QgMSwg WGVuIGlzIG5vdCB5ZXQgYWJsZSB0byBoYW5kbGUgaXQuCj4gK8KgwqDCoMKgwqDCoMKgwqAgKi8K PiArwqDCoMKgwqDCoMKgwqAgbHNywqDCoCB4MCwgeDE5LCAjU0VDT05EX1NISUZUCj4gK8KgwqDC oMKgwqDCoMKgIGFuZMKgwqAgeDAsIHgwLCAjTFBBRV9FTlRSWV9NQVNLwqAgLyogeDAgOj0gZmly c3Qgc2xvdCAqLwo+ICvCoMKgwqDCoMKgwqDCoCBjbXDCoMKgIHgwLCAjMQo+ICvCoMKgwqDCoMKg wqDCoCBiZXHCoMKgIHZpcnRwaHlzX2NsYXNoCj4gK8KgwqDCoMKgwqDCoMKgIC8qIEl0IGlzIG5v dCBpbiBzbG90IDEsIGxpbmsgYm9vdF90aGlyZF9pZCBpbnRvIGJvb3Rfc2Vjb25kICovCj4gK8Kg wqDCoMKgwqDCoMKgIGNyZWF0ZV90YWJsZV9lbnRyeSBib290X3NlY29uZCwgYm9vdF90aGlyZF9p ZCwgeDE5LCAKPiBTRUNPTkRfU0hJRlQsIHgwLCB4MSwgeDIKPiArwqDCoMKgwqDCoMKgwqAgcmV0 Cj4gCj4gLcKgwqDCoMKgwqDCoMKgIGNibnrCoCB4MjUsIDFmwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgIC8qIERpZCB3ZSBtYW5hZ2UgdG8gY3JlYXRlIGFuIAo+IGlkZW50aXR5IG1hcHBp bmcgPyAqLwo+IC3CoMKgwqDCoMKgwqDCoCBQUklOVCgiVW5hYmxlIHRvIGJ1aWxkIGJvb3QgcGFn ZSB0YWJsZXMgLSBGYWlsZWQgdG8gaWRlbnRpdHkgCj4gbWFwIFhlbi5cclxuIikKPiAtwqDCoMKg wqDCoMKgwqAgYsKgwqDCoMKgIGZhaWwKPiAgwqB2aXJ0cGh5c19jbGFzaDoKPiAgwqDCoMKgwqDC oMKgwqDCoCAvKiBJZGVudGl0eSBtYXAgY2xhc2hlcyB3aXRoIGJvb3RfdGhpcmQsIHdoaWNoIHdl IGNhbm5vdCAKPiBoYW5kbGUgeWV0ICovCj4gIMKgwqDCoMKgwqDCoMKgwqAgUFJJTlQoIi0gVW5h YmxlIHRvIGJ1aWxkIGJvb3QgcGFnZSB0YWJsZXMgLSB2aXJ0IGFuZCBwaHlzIAo+IGFkZHJlc3Nl cyBjbGFzaC4gLVxyXG4iKQo+ICDCoMKgwqDCoMKgwqDCoMKgIGLCoMKgwqDCoCBmYWlsCj4gLQo+ IC0xOgo+IC3CoMKgwqDCoMKgwqDCoCByZXQKPiAgwqBFTkRQUk9DKGNyZWF0ZV9wYWdlX3RhYmxl cykKPiAKPiAgwqAvKgo+IEBAIC03MTksMjggKzczNywxNSBAQCBFTkRQUk9DKHJlbW92ZV9pZGVu dGl0eV9tYXBwaW5nKQo+ICDCoCAqIFRoZSBmaXhtYXAgY2Fubm90IGJlIG1hcHBlZCBpbiBjcmVh dGVfcGFnZV90YWJsZXMgYmVjYXVzZSBpdCBtYXkKPiAgwqAgKiBjbGFzaCB3aXRoIHRoZSAxOjEg bWFwcGluZy4KPiAgwqAgKgo+IC0gKiBDbG9iYmVycyB4MSAtIHg0Cj4gKyAqIENsb2JiZXJzIHgw IC0geDMKPiAgwqAgKi8KPiAgwqBzZXR1cF9maXhtYXA6Cj4gIMKgI2lmZGVmIENPTkZJR19FQVJM WV9QUklOVEsKPiAtwqDCoMKgwqDCoMKgwqAgLyogQWRkIFVBUlQgdG8gdGhlIGZpeG1hcCB0YWJs ZSAqLwo+IC3CoMKgwqDCoMKgwqDCoCBsZHLCoMKgIHgxLCA9eGVuX2ZpeG1hcMKgwqDCoMKgwqDC oMKgIC8qIHgxIDo9IHZhZGRyICh4ZW5fZml4bWFwKSAqLwo+IC3CoMKgwqDCoMKgwqDCoCBsc3LC oMKgIHgyLCB4MjMsICNUSElSRF9TSElGVAo+IC3CoMKgwqDCoMKgwqDCoCBsc2zCoMKgIHgyLCB4 MiwgI1RISVJEX1NISUZUwqDCoCAvKiA0SyBhbGlnbmVkIHBhZGRyIG9mIFVBUlQgKi8KPiAtwqDC oMKgwqDCoMKgwqAgbW92wqDCoCB4MywgI1BUX0RFVl9MMwo+IC3CoMKgwqDCoMKgwqDCoCBvcnLC oMKgIHgyLCB4MiwgeDPCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgLyogeDIgOj0gNEsgZGV2IG1h cCBpbmNsdWRpbmcgVUFSVCAqLwo+IC3CoMKgwqDCoMKgwqDCoCBzdHLCoMKgIHgyLCBbeDEsICMo RklYTUFQX0NPTlNPTEUqOCldIC8qIE1hcCBpdCBpbiB0aGUgZmlyc3QgCj4gZml4bWFwJ3Mgc2xv dCAqLwo+ICvCoMKgwqDCoMKgwqDCoCBsZHLCoMKgIHgwLCA9RUFSTFlfVUFSVF9WSVJUVUFMX0FE RFJFU1MKPiArwqDCoMKgwqDCoMKgwqAgY3JlYXRlX21hcHBpbmdfZW50cnkgeGVuX2ZpeG1hcCwg eDAsIHgyMywgeDEsIHgyLCB4MywgCj4gdHlwZT1QVF9ERVZfTDMKPiAgwqAjZW5kaWYKPiAtCj4g LcKgwqDCoMKgwqDCoMKgIC8qIE1hcCBmaXhtYXAgaW50byBib290X3NlY29uZCAqLwo+IC3CoMKg wqDCoMKgwqDCoCBsZHLCoMKgIHg0LCA9Ym9vdF9zZWNvbmTCoMKgwqDCoMKgwqAgLyogeDQgOj0g dmFkZHIgKGJvb3Rfc2Vjb25kKSAqLwo+IC3CoMKgwqDCoMKgwqDCoCBsb2FkX3BhZGRyIHgyLCB4 ZW5fZml4bWFwCj4gLcKgwqDCoMKgwqDCoMKgIG1vdsKgwqAgeDMsICNQVF9QVAo+IC3CoMKgwqDC oMKgwqDCoCBvcnLCoMKgIHgyLCB4MiwgeDPCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgLyogeDIg Oj0gdGFibGUgbWFwIG9mIHhlbl9maXhtYXAgKi8KPiAtwqDCoMKgwqDCoMKgwqAgbGRywqDCoCB4 MSwgPUZJWE1BUF9BRERSKDApCj4gLcKgwqDCoMKgwqDCoMKgIGxzcsKgwqAgeDEsIHgxLCAjKFNF Q09ORF9TSElGVCAtIDMpwqDCoCAvKiB4MSA6PSBTbG90IGZvciBGSVhNQVAoMCkgKi8KPiAtwqDC oMKgwqDCoMKgwqAgc3RywqDCoCB4MiwgW3g0LCB4MV3CoMKgwqDCoMKgwqDCoMKgwqDCoCAvKiBN YXAgaXQgaW4gdGhlIGZpeG1hcCdzIHNsb3QgKi8KPiAtCj4gK8KgwqDCoMKgwqDCoMKgIGxkcsKg wqAgeDAsID1GSVhNQVBfQUREUigwKQo+ICvCoMKgwqDCoMKgwqDCoCBjcmVhdGVfdGFibGVfZW50 cnkgYm9vdF9zZWNvbmQsIHhlbl9maXhtYXAsIHgwLCBTRUNPTkRfU0hJRlQsIAo+IHgxLCB4Miwg eDMKPiAgwqDCoMKgwqDCoMKgwqDCoCAvKiBFbnN1cmUgYW55IHBhZ2UgdGFibGUgdXBkYXRlcyBt YWRlIGFib3ZlIGhhdmUgb2NjdXJyZWQgKi8KPiAgwqDCoMKgwqDCoMKgwqDCoCBkc2LCoMKgIG5z aHN0Cj4gIMKgwqDCoMKgwqDCoMKgwqAgcmV0Cj4gZGlmZiAtLWdpdCBhL3hlbi9hcmNoL2FybS9t bS5jIGIveGVuL2FyY2gvYXJtL21tLmMKPiBpbmRleCBjMmYxNzk1YTcxLi5iYzE4MjRkM2NhIDEw MDY0NAo+IC0tLSBhL3hlbi9hcmNoL2FybS9tbS5jCj4gKysrIGIveGVuL2FyY2gvYXJtL21tLmMK PiBAQCAtMTA3LDYgKzEwNyw4IEBAIERFRklORV9CT09UX1BBR0VfVEFCTEUoYm9vdF9wZ3RhYmxl KTsKPiAgwqBERUZJTkVfQk9PVF9QQUdFX1RBQkxFKGJvb3RfZmlyc3QpOwo+ICDCoERFRklORV9C T09UX1BBR0VfVEFCTEUoYm9vdF9maXJzdF9pZCk7Cj4gIMKgI2VuZGlmCj4gK0RFRklORV9CT09U X1BBR0VfVEFCTEUoYm9vdF9zZWNvbmRfaWQpOwo+ICtERUZJTkVfQk9PVF9QQUdFX1RBQkxFKGJv b3RfdGhpcmRfaWQpOwo+ICDCoERFRklORV9CT09UX1BBR0VfVEFCTEUoYm9vdF9zZWNvbmQpOwo+ ICDCoERFRklORV9CT09UX1BBR0VfVEFCTEUoYm9vdF90aGlyZCk7Cj4gCj4gCgotLSAKSnVsaWVu IEdyYWxsCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpY ZW4tZGV2ZWwgbWFpbGluZyBsaXN0Clhlbi1kZXZlbEBsaXN0cy54ZW5wcm9qZWN0Lm9yZwpodHRw czovL2xpc3RzLnhlbnByb2plY3Qub3JnL21haWxtYW4vbGlzdGluZm8veGVuLWRldmVs