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 Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id DA069C433EF for ; Mon, 14 Mar 2022 10:38:38 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender: Content-Transfer-Encoding:Content-Type:Reply-To:List-Subscribe:List-Help: List-Post:List-Archive:List-Unsubscribe:List-Id:In-Reply-To:MIME-Version:Date :Message-ID:From:References:Cc:To:Subject:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=EyCLoRbS+ijLwQzH4GYVeJAGMPoFJCG6Hu0PntJNlIY=; b=qfYMsd2V6Vmi+5 8G993OKhyCby2/kdbY2ah61TkJkPJ3NoZI380eRqEW8bmwdmNjxCntYrtMQAFX2DbULEFARGP7Ew9 +qfcxFcymtRdtiMiyPCjI8w7FQICsrV4//zXRBtzVX8St31u4yScNrC3GuHt1Upc8ISyh8AbZthH8 7HRdzyypJtkPQU1DSgcnUh9/IZNFbCTUEWVZJt+eR78ePmHcbyjRk5dxXANf2BxDpr4cZFC7ncWyd hboQLUbQzAB6jqv9EIBG1Bx7TJCR8V7ZJU3NVhlSK/CazQD2Fw4SelqmyFuKz05PPBBxzcQFrWg8k e++/iOMerZxW/jOTrj8Q==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.94.2 #2 (Red Hat Linux)) id 1nTi4u-004zt6-Tf; Mon, 14 Mar 2022 10:37:29 +0000 Received: from us-smtp-delivery-124.mimecast.com ([170.10.133.124]) by bombadil.infradead.org with esmtps (Exim 4.94.2 #2 (Red Hat Linux)) id 1nTi4q-004zsP-50 for linux-arm-kernel@lists.infradead.org; Mon, 14 Mar 2022 10:37:26 +0000 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1647254241; h=from:from:reply-to:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:cc:mime-version:mime-version: content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=Eum59AlCLQDv1izwNFq3yujGas6YkpJfse8C8gTNsNo=; b=NITqk+4VPBY1Z6iKUYQKBzTyXWha73GJoR0/XfIEQjpOM8fLJUHIrC+v3YAaT1kQLJYowK TWjdrVBwxilJnALHnzQa4ZBWhNP0d7O0z4Sdb6Wma6D9BnwPhJ6p1uL2q4vx74jGifj02Q XKlt7QxvjQbA/cSJ/E82LGakFsaqWUA= Received: from mail-wm1-f69.google.com (mail-wm1-f69.google.com [209.85.128.69]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id us-mta-332-hfnYt3C3PxOHT-KOCiFllg-1; Mon, 14 Mar 2022 06:37:18 -0400 X-MC-Unique: hfnYt3C3PxOHT-KOCiFllg-1 Received: by mail-wm1-f69.google.com with SMTP id 7-20020a1c1907000000b003471d9bbe8dso5386940wmz.0 for ; Mon, 14 Mar 2022 03:37:18 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:reply-to:subject:to:cc:references:from :message-id:date:user-agent:mime-version:in-reply-to :content-transfer-encoding:content-language; bh=Eum59AlCLQDv1izwNFq3yujGas6YkpJfse8C8gTNsNo=; b=r4Ib33YjxwnThrcMDHc5fD2Fp/RXlIOIxSEteLtMcktpClwG759aBFvSnHWLPl+UHx fRngUghSPZXLT0gZ9VVSAJxMH7RPGg2UYaQg+BjwatSmM0T0DY39bvmjjONi7SgQsiSn uxEGZsIdJAwrNhMzI5t6KKRIw7fzgjR4PFy/DeNQ5uW3UuDCI7QSH9s/FIhheZ5j8QFY HoOsaMXYf6E3HmAJOMYENDoYQqc4ZVHctGsgI5z5qODuHwjzN4MVA89Sj0p/KOLCBNOs zYSzbPVrrq06BIJB/7q1b9dX+j0SvH2bUA+79eoZ5ELGWJBlO2rgkRQjr5l3WjCZUJck LTSA== X-Gm-Message-State: AOAM530u6Djoe0OdIy0he470EmDgoD0OkZKDyu5nzlr8Z8j2YFKvEP37 vJsFpd2GNzQEO6BNE0rHGncLyY3/gmuqOQeLpXARAsDNpI1jFNuaYoTQ3tpZNrqZHLlUTSrOgGi OrZDQW+KoO/cPTAlDfJZfsTUNbxiLfOOCHrA= X-Received: by 2002:a5d:4c4a:0:b0:1f1:e43d:c9ba with SMTP id n10-20020a5d4c4a000000b001f1e43dc9bamr15380542wrt.677.1647254237517; Mon, 14 Mar 2022 03:37:17 -0700 (PDT) X-Google-Smtp-Source: ABdhPJyF/CGT+ct1fm4AulzqBynDof0pe020GC5uIxZZ4dr5LW1S+8KQ+a57HeTNKk9wU6j27VMCmQ== X-Received: by 2002:a5d:4c4a:0:b0:1f1:e43d:c9ba with SMTP id n10-20020a5d4c4a000000b001f1e43dc9bamr15380516wrt.677.1647254237202; Mon, 14 Mar 2022 03:37:17 -0700 (PDT) Received: from ?IPv6:2a01:e0a:59e:9d80:527b:9dff:feef:3874? ([2a01:e0a:59e:9d80:527b:9dff:feef:3874]) by smtp.gmail.com with ESMTPSA id k14-20020a5d518e000000b002019c7402aasm12915234wrv.25.2022.03.14.03.37.15 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Mon, 14 Mar 2022 03:37:16 -0700 (PDT) Subject: Re: [PATCH v8 00/11] ACPI/IORT: Support for IORT RMR node To: Robin Murphy , Shameer Kolothum , linux-arm-kernel@lists.infradead.org, linux-acpi@vger.kernel.org, iommu@lists.linux-foundation.org, Ard Biesheuvel Cc: linuxarm@huawei.com, lorenzo.pieralisi@arm.com, joro@8bytes.org, will@kernel.org, wanghuiqiang@huawei.com, guohanjun@huawei.com, steven.price@arm.com, Sami.Mujawar@arm.com, jon@solid-run.com, yangyicong@huawei.com References: <20220221154344.2126-1-shameerali.kolothum.thodi@huawei.com> <8ecce421-e2ee-1a19-ae2d-a8454a8a5844@arm.com> From: Eric Auger Message-ID: <0cde239c-8d30-33a8-6e5b-792e30e20462@redhat.com> Date: Mon, 14 Mar 2022 11:37:14 +0100 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101 Thunderbird/78.10.1 MIME-Version: 1.0 In-Reply-To: <8ecce421-e2ee-1a19-ae2d-a8454a8a5844@arm.com> Authentication-Results: relay.mimecast.com; auth=pass smtp.auth=CUSA124A263 smtp.mailfrom=eric.auger@redhat.com X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Language: en-US X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20220314_033724_322937_B3CDA8CB X-CRM114-Status: GOOD ( 31.43 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Reply-To: eric.auger@redhat.com Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org SGkgUm9iaW4KCk9uIDMvMTEvMjIgMTE6MzQgQU0sIFJvYmluIE11cnBoeSB3cm90ZToKPiBPbiAy MDIyLTAzLTExIDA4OjE5LCBFcmljIEF1Z2VyIHdyb3RlOgo+PiBIaSBndXlzLAo+Pgo+PiBPbiAy LzIxLzIyIDQ6NDMgUE0sIFNoYW1lZXIgS29sb3RodW0gd3JvdGU6Cj4+PiBIaSwKPj4+Cj4+PiBT aW5jZSB3ZSBub3cgaGF2ZSBhbiB1cGRhdGVkIHZlcmlvblswXSBvZiBJT1JUIHNwZWMoRS5kKSB3 aGljaAo+Pj4gYWRkcmVzc2VzIHRoZSBtZW1vcnkgYXR0cmlidXRlcyBpc3N1ZXMgZGlzY3Vzc2Vk IGhlcmUgWzFdLAo+Pj4gdGhpcyBzZXJpZXMgbm93IG1ha2UgdXNlIG9mIGl0Lgo+Pj4KPj4+IFRo ZSBwdWxsIHJlcXVlc3QgZm9yIEFDUElDQSBFLmQgcmVsYXRlZCBjaGFuZ2VzIGFyZSBhbHJlYWR5 Cj4+PiByYWlzZWQgYW5kIGNhbiBiZSBmb3VuZCBoZXJlLAo+Pj4gaHR0cHM6Ly9naXRodWIuY29t L2FjcGljYS9hY3BpY2EvcHVsbC83NTIKPj4+Cj4+PiB2NyAtLT4gdjgKPj4+IMKgwqAgLSBQYXRj aCAjMSBoYXMgdGVtcCBkZWZpbml0aW9ucyBmb3IgUk1SIHJlbGF0ZWQgY2hhbmdlcyB0aWxsCj4+ PiDCoMKgwqDCoCB0aGUgQUNQSUNBIGhlYWRlciBjaGFuZ2VzIGFyZSBwYXJ0IG9mIGtlcm5lbC4K Pj4+IMKgwqAgLSBObyBlYXJseSBwYXJzaW5nIG9mIFJNUiBub2RlIGluZm8gYW5kIGlzIG9ubHkg cGFyc2VkIGF0IHRoZQo+Pj4gwqDCoMKgwqAgdGltZSBvZiB1c2UuCj4+PiDCoMKgIC0gQ2hhbmdl cyB0byB0aGUgUk1SIGdldC9wdXQgQVBJIGZvcm1hdCBjb21wYXJlZCB0byB0aGUKPj4+IMKgwqDC oMKgIHByZXZpb3VzIHZlcnNpb24uCj4+PiDCoMKgIC0gU3VwcG9ydCBmb3IgUk1SIGRlc2NyaXB0 b3Igc2hhcmVkIGJ5IG11bHRpcGxlIHN0cmVhbSBJRHMuCj4+Pgo+Pj4gUGxlYXNlIHRha2UgYSBs b29rIGFuZCBsZXQgbWUga25vdyB5b3VyIHRob3VnaHRzLgo+Pj4KPj4+IFRoYW5rcywKPj4+IFNo YW1lZXIKPj4+IFswXSBodHRwczovL2RldmVsb3Blci5hcm0uY29tL2RvY3VtZW50YXRpb24vZGVu MDA0OS9lZC8KPj4gSSBzdGlsbCBoYXZlIGEgcXVlc3Rpb24gb24gdGhlIElPUlQgRS5kIHNwZWMg KHVucmVsYXRlZCB0byB0aGlzIHNlcmllcykuCj4+Cj4+IFRoZSBzcGVjIG1hbmRhdGVzIHRoYXQg aWYgUk1SIG5vZGVzIGFyZSBwcmVzZW50ZWQgaW4gdGhlIElPUlQsCj4+IF9EU00gZnVuY3Rpb24g IzUgZm9yIHRoZSBQQ0llIGhvc3QgYnJpZGdlIEFDUEkgZGV2aWNlIG9iamVjdCBtdXN0IHJldHVy bgo+PiAwLCBpbmRpY2F0aW5nIHRoZSBPUyBtdXN0IGhvbm91ciB0aGUgUENJIGNvbmZpZyB0aGF0 IHRoZSBGVyBjb21wdXRlZCBhdAo+PiBib290IHRpbWUuCj4+Cj4+IEhvd2V2ZXIgaW1wbGVtZW50 aW5nIHRoaXMgX0RTTSAjNSBhcyBhYm92ZSBpcyBrbm93biB0byBwcmV2ZW50IFBDSQo+PiBkZXZp Y2VzIHdpdGggSU8gcG9ydHMgZnJvbSB3b3JraW5nLCBvbiBhYXJjaDY0IGxpbnV4Lgo+Pgo+PiAi Cj4+IFRoZSByZWFzb24gaXMgdGhhdCBFRkkgY3JlYXRlcyBJL08gcG9ydCBtYXBwaW5ncyBiZWxv dwo+PiDCoMKgwqDCoCAweDEwMDAgKGluIGZhY3QsIGF0IDApLiBIb3dldmVyIExpbnV4LCBmb3Ig bGVnYWN5IHJlYXNvbnMsIGRvZXMgbm90Cj4+IMKgwqDCoMKgIHN1cHBvcnQgSS9PIHBvcnRzIDw9 IDB4MTAwMCBvbiBQQ0ksIHNvIHRoZSBJL08gYXNzaWdubWVudAo+PiBjcmVhdGVkIGJ5IEVGSQo+ PiDCoMKgwqDCoCBpcyByZWplY3RlZC4KPj4gwqDCoMKgIMKgwqDCoMKgIEVGSSBjcmVhdGVzIHRo ZSBtYXBwaW5ncyBwcmltYXJpbHkgZm9yIGl0c2VsZiwgYW5kIHVwIHVudGlsCj4+IERTTSAjNQo+ PiDCoMKgwqDCoCBzdGFydGVkIHRvIGJlIGVuZm9yY2VkLCBhbGwgUENJIHJlc291cmNlIGFsbG9j YXRpb25zIHRoYXQKPj4gZXhpc3RlZCBhdAo+PiDCoMKgwqDCoCBib290IHdlcmUgaWdub3JlZCBi eSBMaW51eCBhbmQgcmVjcmVhdGVkIGZyb20gc2NyYXRjaC4KPj4gIgo+Pgo+PiBUaGlzIGlzIGFu IGV4Y2VycHQgb2YgYSBxZW11IGNvbW1pdCBtZXNzYWdlIHRoYXQgcmV2ZXJ0ZWQgdGhlIF9ETVMg IzUKPj4gY2hhbmdlIChSZXZlcnQgImFjcGkvZ3BleDogSW5mb3JtIG9zIHRvIGtlZXAgZmlybXdh cmUgcmVzb3VyY2UgbWFwIikuCj4+IEhhcyB0aGUgc2l0dWF0aW9uIGNoYW5nZWQgc2luY2UgSnVs eSAyMDIxIChpZS4gaGFzIFVFRkkgYmVlbiByZXdvcmtlZD8pLgo+PiBbKyBBcmRdCj4KPiBGV0lX IEkgd2Fzbid0IGF3YXJlIG9mIHRoYXQsIGJ1dCBpZiBpdCdzIGFuIGlzc3VlIHRoZW4gaXQgd2ls bCBuZWVkIHRvCj4gYmUgZml4ZWQgaW4gTGludXggb3IgVUVGSSdzIFBDSSByZXNvdXJjZSBjb2Rl IChhcmd1YWJseSBpZiBVRUZJIGhhcwo+IGFscmVhZHkgYWxsb2NhdGVkIGZyb20gdGhlIGJvdHRv bSBvZiBJL08gc3BhY2UgdGhlbiBMaW51eCBzaG91bGQgYmUKPiBzYWZlIHRvIGFzc3VtZSB0aGF0 IHRoZXJlIGFyZSBubyBsZWdhY3kgUEMgSS9PIHJlc291cmNlcyB0byB3b3JyeQo+IGFib3V0KS4g VGhlIERTTSBpcyByZXF1aXJlZCB0byBwcmV2ZW50IGJ1cyBudW1iZXJzIGJlaW5nIHJlYXNzaWdu ZWQsCj4gYmVjYXVzZSBpZiB0aGF0IGhhcHBlbnMgdGhlbiBhbnkgUENJIFN0cmVhbUlEcyByZWZl cmVuY2VkIGluIElPUlQgbWF5Cj4gc3VkZGVubHkgYmVjb21lIG1lYW5pbmdsZXNzIGFuZCB0aGUg YXNzb2NpYXRpb24gb2Ygcm9vdCBjb21wbGV4IG5vZGVzCj4gYW5kIFJNUnMgdG8gcGh5c2ljYWwg aGFyZHdhcmUgbG9zdC4KClRoYW5rIHlvdSBmb3IgY29uZmlybWluZyBhbmQgZXhwbGFpbmluZyB0 aGUgbmVlZCBmb3IgRFNNICM1LiBBcmQsIHBsZWFzZQpjb3VsZCB5b3UgY29uZmlybSB0aGF0IHRo ZSBpbmNvbXBhdGliaWxpdHkgd2l0aCBQQ0kgZGV2aWNlcyB3aXRoIElPCnBvcnRzIGlzIHN0aWxs IHRoZXJlPwoKRXJpYwoKPgo+IFJvYmluLgo+Cj4+IFRoYW5rIHlvdSBpbiBhZHZhbmNlCj4+Cj4+ IFJlZ2FyZHMKPj4KPj4gRXJpYwo+Pgo+Pgo+Pgo+Pgo+Pj4gWzFdCj4+PiBodHRwczovL2xvcmUu a2VybmVsLm9yZy9saW51eC1hY3BpLzIwMjEwODA1MTYwMzE5LkdCMjMwODVAbHBpZXJhbGlzaS8K Pj4+Cj4+PiDCoEZyb20gb2xkOgo+Pj4gV2UgaGF2ZSBmYWNlZCBpc3N1ZXMgd2l0aCAzNDA4aU1S IFJBSUQgY29udHJvbGxlciBjYXJkcyB3aGljaAo+Pj4gZmFpbCB0byBib290IHdoZW4gU01NVSBp cyBlbmFibGVkLiBUaGlzIGlzIGJlY2F1c2UgdGhlc2UKPj4+IGNvbnRyb2xsZXJzIG1ha2UgdXNl IG9mIGhvc3QgbWVtb3J5IGZvciB2YXJpb3VzIGNhY2hpbmcgcmVsYXRlZAo+Pj4gcHVycG9zZXMg YW5kIHdoZW4gU01NVSBpcyBlbmFibGVkIHRoZSBpTVIgZmlybXdhcmUgZmFpbHMgdG8KPj4+IGFj Y2VzcyB0aGVzZSBtZW1vcnkgcmVnaW9ucyBhcyB0aGVyZSBpcyBubyBtYXBwaW5nIGZvciB0aGVt Lgo+Pj4gSU9SVCBSTVIgcHJvdmlkZXMgYSB3YXkgZm9yIFVFRkkgdG8gZGVzY3JpYmUgYW5kIHJl cG9ydCB0aGVzZQo+Pj4gbWVtb3J5IHJlZ2lvbnMgc28gdGhhdCB0aGUga2VybmVsIGNhbiBtYWtl IGEgdW5pdHkgbWFwcGluZyBmb3IKPj4+IHRoZXNlIGluIFNNTVUuCj4+Pgo+Pj4gQ2hhbmdlIEhp c3Rvcnk6Cj4+Pgo+Pj4gdjYgLS0+IHY3Cj4+PiDCoCAtZml4IHBvaW50ZWQgb3V0IGJ5IFN0ZXZl IHRvIHRoZSBTTU1VdjIgU01SIGJ5cGFzcyBpbnN0YWxsIGluCj4+PiBwYXRjaCAjOC4KPj4+Cj4+ PiB2NSAtLT4gdjYKPj4+IC0gQWRkcmVzc2VkIGNvbW1lbnRzIGZyb20gUm9iaW4gJiBMb3Jlbnpv Lgo+Pj4gwqDCoCA6IE1vdmVkIGlvcnRfcGFyc2Vfcm1yKCkgdG8gYWNwaV9pb3J0X2luaXQoKSBm cm9tCj4+PiDCoMKgwqDCoCBpb3J0X2luaXRfcGxhdGZvcm1fZGV2aWNlcygpLgo+Pj4gwqDCoCA6 IFJlbW92ZWQgdXNlIG9mIHN0cnVjdCBpb3J0X3Jtcl9lbnRyeSBkdXJpbmcgdGhlIGluaXRpYWwK Pj4+IMKgwqDCoMKgIHBhcnNlLiBVc2luZyBzdHJ1Y3QgaW9tbXVfcmVzdl9yZWdpb24gaW5zdGVh ZC4KPj4+IMKgwqAgOiBSZXBvcnQgUk1SIGFkZHJlc3MgYWxpZ25tZW50IGFuZCBvdmVybGFwIGVy cm9ycywgYnV0IGNvbnRpbnVlLgo+Pj4gwqDCoCA6IFJld29ya2VkIGFybV9zbW11X2luaXRfYnlw YXNzX3N0ZXMoKSAocGF0Y2ggIyA2KS4KPj4+IC0gVXBkYXRlZCBTTU1VdjIgYnlwYXNzIFNNUiBj b2RlLiBUaGFua3MgdG8gSm9uIE4gKHBhdGNoICM4KS4KPj4+IC0gU2V0IElPTU1VIHByb3RlY3Rp b24gZmxhZ3MoSU9NTVVfQ0FDSEUsIElPTU1VX01NSU8pIGJhc2VkCj4+PiDCoMKgIG9uIFR5cGUg b2YgUk1SIHJlZ2lvbi4gU3VnZ2VzdGVkIGJ5IEpvbiBOLgo+Pj4KPj4+IHY0IC0tPiB2NQo+Pj4g wqAgLUFkZGVkIGEgZndfZGF0YSB1bmlvbiB0byBzdHJ1Y3QgaW9tbXVfcmVzdl9yZWdpb24gYW5k IHJlbW92ZWQKPj4+IMKgwqAgc3RydWN0IGlvbW11X3JtciAoQmFzZWQgb24gY29tbWVudHMgZnJv bSBKb2VyZy9Sb2JpbikuCj4+PiDCoCAtQWRkZWQgaW9tbXVfcHV0X3JtcnMoKSB0byByZWxlYXNl IG1lbS4KPj4+IMKgIC1UaGFua3MgdG8gU3RldmUgZm9yIHZlcmlmeWluZyBvbiBTTU1VdjIsIGJ1 dCBub3QgYWRkZWQgdGhlIFRlc3RlZC1ieQo+Pj4gwqDCoCB5ZXQgYmVjYXVzZSBvZiB0aGUgYWJv dmUgY2hhbmdlcy4KPj4+Cj4+PiB2MyAtLT52NAo+Pj4gLUluY2x1ZGVkIHRoZSBTTU1VdjIgU01S IGJ5cGFzcyBpbnN0YWxsIGNoYW5nZXMgc3VnZ2VzdGVkIGJ5Cj4+PiDCoCBTdGV2ZShwYXRjaCAj NykKPj4+IC1BcyBwZXIgUm9iaW4ncyBjb21tZW50cywgUk1SIHJlc2VydmUgaW1wbGVtZW50YXRp b24gaXMgbm93Cj4+PiDCoCBtb3JlIGdlbmVyaWPCoCAocGF0Y2ggIzgpIGFuZCBkcm9wcGVkIHYz IHBhdGNoZXMgOCBhbmQgMTAuCj4+PiAtUmViYXNlIHRvIDUuMTMtcmMxCj4+Pgo+Pj4gUkZDIHYy IC0tPiB2Mwo+Pj4gwqAgLURyb3BwZWQgUkZDIHRhZyBhcyB0aGUgQUNQSUNBIGhlYWRlciBjaGFu Z2VzIGFyZSBub3cgcmVhZHkgdG8gYmUKPj4+IMKgwqAgcGFydCBvZiA1LjEzWzBdLiBCdXQgdGhp cyBzZXJpZXMgc3RpbGwgaGFzIGEgZGVwZW5kZW5jeSBvbiB0aGF0Cj4+PiBwYXRjaC4KPj4+IMKg IC1BZGRlZCBJT1JUIEUuYiByZWxhdGVkIGNoYW5nZXMobm9kZSBmbGFncywgX0RTTSBmdW5jdGlv biA1IGNoZWNrcwo+Pj4gZm9yCj4+PiDCoMKgIFBDSWUpLgo+Pj4gwqAgLUNoYW5nZWQgUk1SIHRv IHN0cmVhbSBpZCBtYXBwaW5nIGZyb20gTTpOIHRvIE06MSBhcyBwZXIgdGhlIHNwZWMgYW5kCj4+ PiDCoMKgIGRpc2N1c3Npb24gaGVyZVsxXS4KPj4+IMKgIC1MYXN0IHR3byBwYXRjaGVzIGFkZCBz dXBwb3J0IGZvciBTTU1VdjIoVGhhbmtzIHRvIEpvbiBOZXR0bGV0b24hKQo+Pj4KPj4+IEpvbiBO ZXR0bGV0b24gKDEpOgo+Pj4gwqDCoCBpb21tdS9hcm0tc21tdTogR2V0IGFzc29jaWF0ZWQgUk1S IGluZm8gYW5kIGluc3RhbGwgYnlwYXNzIFNNUgo+Pj4KPj4+IFNoYW1lZXIgS29sb3RodW0gKDEw KToKPj4+IMKgwqAgQUNQSS9JT1JUOiBBZGQgdGVtcG9yYXJ5IFJNUiBub2RlIGZsYWcgZGVmaW5p dGlvbnMKPj4+IMKgwqAgaW9tbXU6IEludHJvZHVjZSBhIHVuaW9uIHRvIHN0cnVjdCBpb21tdV9y ZXN2X3JlZ2lvbgo+Pj4gwqDCoCBBQ1BJL0lPUlQ6IEFkZCBoZWxwZXIgZnVuY3Rpb25zIHRvIHBh cnNlIFJNUiBub2Rlcwo+Pj4gwqDCoCBpb21tdS9kbWE6IEludHJvZHVjZSBnZW5lcmljIGhlbHBl ciB0byByZXRyaWV2ZSBSTVIgaW5mbwo+Pj4gwqDCoCBBQ1BJL0lPUlQ6IEFkZCBhIGhlbHBlciB0 byByZXRyaWV2ZSBSTVIgbWVtb3J5IHJlZ2lvbnMKPj4+IMKgwqAgaW9tbXUvYXJtLXNtbXUtdjM6 IEludHJvZHVjZSBzdHJ0YWIgaW5pdCBoZWxwZXIKPj4+IMKgwqAgaW9tbXUvYXJtLXNtbXUtdjM6 IFJlZmFjdG9yIGFybV9zbW11X2luaXRfYnlwYXNzX3N0ZXMoKSB0byBmb3JjZQo+Pj4gwqDCoMKg wqAgYnlwYXNzCj4+PiDCoMKgIGlvbW11L2FybS1zbW11LXYzOiBHZXQgYXNzb2NpYXRlZCBSTVIg aW5mbyBhbmQgaW5zdGFsbCBieXBhc3MgU1RFCj4+PiDCoMKgIGlvbW11L2FybS1zbW11LXYzOiBS ZXNlcnZlIGFueSBSTVIgcmVnaW9ucyBhc3NvY2lhdGVkIHdpdGggYSBkZXYKPj4+IMKgwqAgaW9t bXUvYXJtLXNtbXU6IFJlc2VydmUgYW55IFJNUiByZWdpb25zIGFzc29jaWF0ZWQgd2l0aCBhIGRl dgo+Pj4KPj4+IMKgIGRyaXZlcnMvYWNwaS9hcm02NC9pb3J0LmPCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqAgfCAzMDUKPj4+ICsrKysrKysrKysrKysrKysrKysrCj4+PiDCoCBk cml2ZXJzL2lvbW11L2FybS9hcm0tc21tdS12My9hcm0tc21tdS12My5jIHzCoCA5MSArKysrLS0K Pj4+IMKgIGRyaXZlcnMvaW9tbXUvYXJtL2FybS1zbW11L2FybS1zbW11LmPCoMKgwqDCoMKgwqAg fMKgIDY1ICsrKystCj4+PiDCoCBkcml2ZXJzL2lvbW11L2RtYS1pb21tdS5jwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIHzCoCAyNSArKwo+Pj4gwqAgaW5jbHVkZS9saW51eC9h Y3BpX2lvcnQuaMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCB8wqAgMTQgKwo+ Pj4gwqAgaW5jbHVkZS9saW51eC9kbWEtaW9tbXUuaMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoCB8wqAgMTQgKwo+Pj4gwqAgaW5jbHVkZS9saW51eC9pb21tdS5owqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgfMKgwqAgOSArCj4+PiDCoCA3IGZp bGVzIGNoYW5nZWQsIDUwNCBpbnNlcnRpb25zKCspLCAxOSBkZWxldGlvbnMoLSkKPj4+Cj4+Cj4K CgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpsaW51eC1h cm0ta2VybmVsIG1haWxpbmcgbGlzdApsaW51eC1hcm0ta2VybmVsQGxpc3RzLmluZnJhZGVhZC5v cmcKaHR0cDovL2xpc3RzLmluZnJhZGVhZC5vcmcvbWFpbG1hbi9saXN0aW5mby9saW51eC1hcm0t a2VybmVsCg==