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 lists.gnu.org (lists.gnu.org [209.51.188.17]) (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 54664CE7AAA for ; Mon, 25 Sep 2023 17:19:11 +0000 (UTC) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1qkpDl-0000Te-4c; Mon, 25 Sep 2023 13:18:09 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1qkpDj-0000Sv-6o; Mon, 25 Sep 2023 13:18:07 -0400 Received: from frasgout.his.huawei.com ([185.176.79.56]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1qkpDf-0003bc-7u; Mon, 25 Sep 2023 13:18:06 -0400 Received: from lhrpeml500002.china.huawei.com (unknown [172.18.147.207]) by frasgout.his.huawei.com (SkyGuard) with ESMTP id 4RvTwG4nWsz6K9Z9; Tue, 26 Sep 2023 01:13:02 +0800 (CST) Received: from lhrpeml500001.china.huawei.com (7.191.163.213) by lhrpeml500002.china.huawei.com (7.191.160.78) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.31; Mon, 25 Sep 2023 18:17:59 +0100 Received: from lhrpeml500001.china.huawei.com ([7.191.163.213]) by lhrpeml500001.china.huawei.com ([7.191.163.213]) with mapi id 15.01.2507.031; Mon, 25 Sep 2023 18:17:59 +0100 To: "qemu-devel@nongnu.org" , "qemu-arm@nongnu.org" CC: "maz@kernel.org" , "james.morse@arm.com" , "jean-philippe@linaro.org" , Jonathan Cameron , "peter.maydell@linaro.org" , "richard.henderson@linaro.org" , "imammedo@redhat.com" , "drjones@redhat.com" , "andrew.jones@linux.dev" , "david@redhat.com" , "philmd@linaro.org" , "eric.auger@redhat.com" , "will@kernel.org" , "catalin.marinas@arm.com" , "ardb@kernel.org" , "justin.he@arm.com" , "oliver.upton@linux.dev" , "pbonzini@redhat.com" , "mst@redhat.com" , "gshan@redhat.com" , "rafael@kernel.org" , "borntraeger@linux.ibm.com" , "alex.bennee@linaro.org" , "linux@armlinux.org.uk" , "vishnu@os.amperecomputing.com" , "miguel.luis@oracle.com" , "sudeep.holla@arm.com" , "salil.mehta@opnsrc.net" , zhukeqian , "wangxiongfeng (C)" , "wangyanan (Y)" , "jiakernel2@gmail.com" Subject: RE: [PATCH RFC V2 00/37] Support of Virtual CPU Hotplug for ARMv8 Arch Thread-Topic: [PATCH RFC V2 00/37] Support of Virtual CPU Hotplug for ARMv8 Arch Thread-Index: AQHZ79OHKe+qYJ3nrEyKT6wlUt52YrAryEKQ Date: Mon, 25 Sep 2023 17:17:59 +0000 Message-ID: References: <20230925171137.38412-1-salil.mehta@huawei.com> In-Reply-To: <20230925171137.38412-1-salil.mehta@huawei.com> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-originating-ip: [10.48.153.112] Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-CFilter-Loop: Reflected Received-SPF: pass client-ip=185.176.79.56; envelope-from=salil.mehta@huawei.com; helo=frasgout.his.huawei.com X-Spam_score_int: -31 X-Spam_score: -3.2 X-Spam_bar: --- X-Spam_report: (-3.2 / 5.0 requ) BAYES_00=-1.9, RCVD_IN_DNSWL_MED=-2.3, RCVD_IN_MSPIKE_H5=0.001, RCVD_IN_MSPIKE_WL=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, URI_DOTEDU=1 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Reply-to: Salil Mehta From: Salil Mehta via Errors-To: qemu-devel-bounces+qemu-devel=archiver.kernel.org@nongnu.org Sender: qemu-devel-bounces+qemu-devel=archiver.kernel.org@nongnu.org SGVsbG8sDQpQbGVhc2UgaWdub3JlIHRoaXMgc2VyaWVzLiBGb3Jnb3QgdG8gYWRkIFJGQyBWMiBU YWcgaW4gYWxsIG9mIHRoZSBwYXRjaGVzLg0KV2lsbCBzZW5kIGFnYWluIHNob3J0bHkuIFNvcnJ5 IGZvciBpbmNvbnZlbmllbmNlLg0KDQoNClRoYW5rcw0KU2FsaWwuDQoNCj4gRnJvbTogU2FsaWwg TWVodGEgPHNhbGlsLm1laHRhQGh1YXdlaS5jb20+DQo+IFNlbnQ6IE1vbmRheSwgU2VwdGVtYmVy IDI1LCAyMDIzIDY6MTIgUE0NCj4gVG86IHFlbXUtZGV2ZWxAbm9uZ251Lm9yZzsgcWVtdS1hcm1A bm9uZ251Lm9yZw0KPiBDYzogU2FsaWwgTWVodGEgPHNhbGlsLm1laHRhQGh1YXdlaS5jb20+OyBt YXpAa2VybmVsLm9yZzsNCj4gamFtZXMubW9yc2VAYXJtLmNvbTsgamVhbi1waGlsaXBwZUBsaW5h cm8ub3JnOyBKb25hdGhhbiBDYW1lcm9uDQo+IDxqb25hdGhhbi5jYW1lcm9uQGh1YXdlaS5jb20+ OyBwZXRlci5tYXlkZWxsQGxpbmFyby5vcmc7DQo+IHJpY2hhcmQuaGVuZGVyc29uQGxpbmFyby5v cmc7IGltYW1tZWRvQHJlZGhhdC5jb207IGRyam9uZXNAcmVkaGF0LmNvbTsNCj4gYW5kcmV3Lmpv bmVzQGxpbnV4LmRldjsgZGF2aWRAcmVkaGF0LmNvbTsgcGhpbG1kQGxpbmFyby5vcmc7DQo+IGVy aWMuYXVnZXJAcmVkaGF0LmNvbTsgd2lsbEBrZXJuZWwub3JnOyBjYXRhbGluLm1hcmluYXNAYXJt LmNvbTsNCj4gYXJkYkBrZXJuZWwub3JnOyBqdXN0aW4uaGVAYXJtLmNvbTsgb2xpdmVyLnVwdG9u QGxpbnV4LmRldjsNCj4gcGJvbnppbmlAcmVkaGF0LmNvbTsgbXN0QHJlZGhhdC5jb207IGdzaGFu QHJlZGhhdC5jb207IHJhZmFlbEBrZXJuZWwub3JnOw0KPiBib3JudHJhZWdlckBsaW51eC5pYm0u Y29tOyBhbGV4LmJlbm5lZUBsaW5hcm8ub3JnOyBsaW51eEBhcm1saW51eC5vcmcudWs7DQo+IHZp c2hudUBvcy5hbXBlcmVjb21wdXRpbmcuY29tOyBtaWd1ZWwubHVpc0BvcmFjbGUuY29tOw0KPiBz dWRlZXAuaG9sbGFAYXJtLmNvbTsgc2FsaWwubWVodGFAb3Buc3JjLm5ldDsgemh1a2VxaWFuDQo+ IDx6aHVrZXFpYW4xQGh1YXdlaS5jb20+OyB3YW5neGlvbmdmZW5nIChDKSA8d2FuZ3hpb25nZmVu ZzJAaHVhd2VpLmNvbT47DQo+IHdhbmd5YW5hbiAoWSkgPHdhbmd5YW5hbjU1QGh1YXdlaS5jb20+ OyBqaWFrZXJuZWwyQGdtYWlsLmNvbQ0KPiBTdWJqZWN0OiBbUEFUQ0ggUkZDIFYyIDAwLzM3XSBT dXBwb3J0IG9mIFZpcnR1YWwgQ1BVIEhvdHBsdWcgZm9yIEFSTXY4IEFyY2gNCj4gDQo+IFBST0xP R1VFDQo+ID09PT09PT09DQo+IA0KPiBUbyBhc3Npc3QgaW4gcmV2aWV3IGFuZCBzZXQgdGhlIHJp Z2h0IGV4cGVjdGF0aW9ucyBmcm9tIHRoaXMgUkZDLCBwbGVhc2UNCj4gZmlyc3QNCj4gcmVhZCBi ZWxvdyBzZWN0aW9ucyAqQVBQRU5ERUQgQVQgVEhFIEVORCogb2YgdGhpcyBjb3ZlciBsZXR0ZXIs DQo+IA0KPiAxLiBJbXBvcnRhbnQgKkRJU0NMQUlNRVIqIFtTZWN0aW9uIChYKV0NCj4gMi4gV29y ayBwcmVzZW50ZWQgYXQgS1ZNRm9ydW0gQ29uZmVyZW5jZSAoc2xpZGVzIGF2YWlsYWJsZSkgW1Nl Y3Rpb24gKFYpRl0NCj4gMy4gT3JnYW5pemF0aW9uIG9mIHBhdGNoZXMgW1NlY3Rpb24gKFhJKV0N Cj4gNC4gUmVmZXJlbmNlcyBbU2VjdGlvbiAoWElJKV0NCj4gNS4gRGV0YWlsZWQgVE9ETyBsaXN0 IG9mIHRoZSBsZWZ0b3ZlciB3b3JrIG9yIHdvcmstaW4tcHJvZ3Jlc3MgW1NlY3Rpb24NCj4gKElY KV0NCj4gDQo+IE5PVEU6IFRoZXJlIGhhcyBiZWVuIGFuIGludGVyZXN0IHNob3duIGJ5IG90aGVy IG9yZ2FuaXphdGlvbnMgaW4gYWRhcHRpbmcNCj4gdGhpcyBzZXJpZXMgZm9yIHRoZWlyIGFyY2hp dGVjdHVyZS4gSSBhbSBwbGFubmluZyB0byBzcGxpdCB0aGlzIFJGQyBpbnRvDQo+IGFyY2hpdGVj dHVyZSAqYWdub3N0aWMqIGFuZCAqc3BlY2lmaWMqIHBhdGNoLXNldHMgaW4gc3Vic2VxdWVudCBy ZWxlYXNlcy4NCj4gQVJNDQo+IHNwZWNpZmljIHBhdGNoLXNldCB3aWxsIGNvbnRpbnVlIGFzIFJG QyBWMyBhbmQgYXJjaGl0ZWN0dXJlIGFnbm9zdGljIHBhdGNoLQ0KPiBzZXQNCj4gd2lsbCBiZSBm bG9hdGVkIHdpdGhvdXQgUkZDIHRhZyBhbmQgY2FuIGJlIGNvbnN1bWVkIGluIHRoaXMgUWVtdSBj eWNsZSBpZg0KPiBNQUlOVEFJTkVScyBhY2sgaXQuDQo+IA0KPiBbUGxlYXNlIGNoZWNrIHNlY3Rp b24gKFhJKUIgZm9yIGRldGFpbHMgb2YgYXJjaGl0ZWN0dXJlIGFnbm9zdGljIHBhdGNoZXNdDQo+ IA0KPiANCj4gU0VDVElPTlMgW0kgLSBYSUlJXSBhcmUgYXMgZm9sbG93cyA6DQo+IA0KPiAoSSkg S2V5IENoYW5nZXMgKFJGQyBWMSAtPiBSRkMgVjIpDQo+ICAgICA9PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09DQo+IA0KPiAgICAgUkZDIFYxOiBodHRwczovL2xvcmUua2VybmVsLm9y Zy9xZW11LWRldmVsLzIwMjAwNjEzMjEzNjI5LjIxOTg0LTEtDQo+IHNhbGlsLm1laHRhQGh1YXdl aS5jb20vDQo+IA0KPiAxLiBBQ1BJIE1BRFQgVGFibGUgR0lDIENQVSBJbnRlcmZhY2UgY2FuIG5v dyBiZSBwcmVzZW50ZWQgWzZdIGFzIEFDUEkNCj4gICAgKm9ubGluZS1jYXBhYmxlKiBvciAqZW5h YmxlZCogdG8gdGhlIEd1ZXN0IE9TIGF0IHRoZSBib290IHRpbWUuIFRoaXMNCj4gbWVhbnMNCj4g ICAgYXNzb2NpYXRlZCBDUFVzIGNhbiBoYXZlIEFDUEkgX1NUQSBhcyAqZW5hYmxlZCogb3IgKmRp c2FibGVkKiBldmVuIGFmdGVyDQo+IGJvb3QNCj4gICAgU2VlLCBVRUZJIEFDUEkgNi41IFNwZWMs IFNlY3Rpb24gMDUsIFRhYmxlIDUuMzcgR0lDQyBDUFUgSW50ZXJmYWNlDQo+IEZsYWdzWzIwXQ0K PiAyLiBTTUNDL0hWQyBIeXBlcmNhbGwgZXhpdCBoYW5kbGluZyBpbiB1c2Vyc3BhY2UvUWVtdSBm b3IgUFNDSSBDUFVfe09OLE9GRn0NCj4gICAgcmVxdWVzdC4gVGhpcyBpcyByZXF1aXJlZCB0byB7 ZGlzfWFsbG93IG9ubGluZSdpbmcgYSB2Q1BVLg0KPiAzLiBBbHdheXMgcHJlc2VudGluZyB1bnBs dWdnZWQgdkNQVXMgaW4gQ1BVcyBBQ1BJIEFNTCBjb2RlIGFzIEFDUEkNCj4gX1NUQS5QUkVTRU5U DQo+ICAgIHRvIHRoZSBHdWVzdCBPUy4gVG9nZ2xpbmcgQUNQSSBfU1RBLkVuYWJsZWQgdG8gZ2l2 ZSBhbiBlZmZlY3Qgb2YgdGhlDQo+ICAgIGhvdHt1bn1wbHVnLg0KPiA0LiBMaXZlIE1pZ3JhdGlv biB3b3JrcyAoc29tZSBpc3N1ZXMgYXJlIHN0aWxsIHRoZXJlKQ0KPiA1LiBUQ0cvSFZGL3F0ZXN0 IGRvZXMgbm90IHN1cHBvcnQgSG90cGx1ZyBhbmQgZmFsbHMgYmFjayB0byBkZWZhdWx0Lg0KPiA2 LiBDb2RlIGZvciBUQ0cgc3VwcG9ydCBkbyBleGlzdHMgaW4gdGhpcyByZWxlYXNlIChpdCBpcyBh IHdvcmstaW4tDQo+IHByb2dyZXNzKQ0KPiA3LiBBQ1BJIF9PU0MgbWV0aG9kIGNhbiBub3cgYmUg dXNlZCBieSBPU1BNIHRvIG5lZ290aWF0ZSBRZW11IFZNIHBsYXRmb3JtDQo+ICAgIGhvdHBsdWcg Y2FwYWJpbGl0eSAoX09TQyBRdWVyeSBzdXBwb3J0IHN0aWxsIHBlbmRpbmcpDQo+IDguIE1pc2Mu IEJ1ZyBmaXhlcw0KPiANCj4gKElJKSBTdW1tYXJ5DQo+ICAgICAgPT09PT09PQ0KPiANCj4gVGhp cyBwYXRjaC1zZXQgaW50cm9kdWNlcyB0aGUgdmlydHVhbCBDUFUgaG90cGx1ZyBzdXBwb3J0IGZv ciBBUk12OA0KPiBhcmNoaXRlY3R1cmUNCj4gaW4gUUVNVS4gSWRlYSBpcyB0byBiZSBhYmxlIHRv IGhvdHBsdWcgYW5kIGhvdC11bnBsdWcgdGhlIHZDUFVzIHdoaWxlIGd1ZXN0DQo+IFZNDQo+IGlz IHJ1bm5pbmcgYW5kIG5vIHJlYm9vdCBpcyByZXF1aXJlZC4gVGhpcyBkb2VzICpub3QqIG1ha2Vz IGFueSBhc3N1bXB0aW9uDQo+IG9mDQo+IHRoZSBwaHlzaWNhbCBDUFUgaG90cGx1ZyBhdmFpbGFi aWxpdHkgd2l0aGluIHRoZSBob3N0IHN5c3RlbSBidXQgcmF0aGVyDQo+IHRyaWVzIHRvDQo+IHNv bHZlIHRoZSBwcm9ibGVtIGF0IHZpcnR1YWxpemVyL1FFTVUgbGF5ZXIuIEludHJvZHVjZXMgQUNQ SSBDUFUgaG90cGx1Zw0KPiBob29rcw0KPiBhbmQgZXZlbnQgaGFuZGxpbmcgdG8gaW50ZXJmYWNl IHdpdGggdGhlIGd1ZXN0IGtlcm5lbCwgY29kZSB0byBpbml0aWFsaXplLA0KPiBwbHVnDQo+IGFu ZCB1bnBsdWcgQ1BVcy4gTm8gY2hhbmdlcyBhcmUgcmVxdWlyZWQgd2l0aGluIHRoZSBob3N0IGtl cm5lbC9LVk0gZXhjZXB0DQo+IHRoZQ0KPiBzdXBwb3J0IG9mIGh5cGVyY2FsbCBleGl0IGhhbmRs aW5nIGluIHRoZSB1c2VyLXNwYWNlL1FlbXUgd2hpY2ggaGFzDQo+IHJlY2VudGx5DQo+IGJlZW4g YWRkZWQgdG8gdGhlIGtlcm5lbC4gSXRzIGNvcnJlc3BvbmRpbmcgR3Vlc3Qga2VybmVsIGNoYW5n ZXMgaGF2ZSBiZWVuDQo+IHBvc3RlZCBvbiB0aGUgbWFpbGluZy1saXN0IFszXSBbNF0gYnkgSmFt ZXMgTW9yc2UuDQo+IA0KPiAoSUlJKSBNb3RpdmF0aW9uDQo+ICAgICAgID09PT09PT09PT0NCj4g DQo+IFRoaXMgYWxsb3dzIHNjYWxpbmcgdGhlIGd1ZXN0IFZNIGNvbXB1dGUgY2FwYWNpdHkgb24t ZGVtYW5kIHdoaWNoIHdvdWxkIGJlDQo+IHVzZWZ1bCBmb3IgdGhlIGZvbGxvd2luZyBleGFtcGxl IHNjZW5hcmlvcywNCj4gDQo+IDEuIFZlcnRpY2FsIFBvZCBBdXRvc2NhbGluZyBbOV1bMTBdIGlu IHRoZSBjbG91ZDogUGFydCBvZiB0aGUgb3JjaGVzdHJhdGlvbg0KPiAgICBmcmFtZXdvcmsgd2hp Y2ggY291bGQgYWRqdXN0IHJlc291cmNlIHJlcXVlc3RzIChDUFUgYW5kIE1lbSByZXF1ZXN0cykN Cj4gZm9yDQo+ICAgIHRoZSBjb250YWluZXJzIGluIGEgcG9kLCBiYXNlZCBvbiB1c2FnZS4NCj4g Mi4gUGF5LWFzLXlvdS1ncm93IEJ1c2luZXNzIE1vZGVsOiBJbmZyYXN0cnVjdHVyZSBwcm92aWRl ciBjb3VsZCBhbGxvY2F0ZQ0KPiBhbmQNCj4gICAgcmVzdHJpY3QgdGhlIHRvdGFsIG51bWJlciBv ZiBjb21wdXRlIHJlc291cmNlcyBhdmFpbGFibGUgdG8gdGhlIGd1ZXN0IFZNDQo+ICAgIGFjY29y ZGluZyB0byB0aGUgU0xBIChTZXJ2aWNlIExldmVsIEFncmVlbWVudCkuIFZNIG93bmVyIGNvdWxk IHJlcXVlc3QNCj4gZm9yDQo+ICAgIG1vcmUgY29tcHV0ZSB0byBiZSBob3QtcGx1Z2dlZCBmb3Ig c29tZSBjb3N0Lg0KPiANCj4gRm9yIGV4YW1wbGUsIEthdGEgQ29udGFpbmVyIFZNIHN0YXJ0cyB3 aXRoIGEgbWluaW11bSBhbW91bnQgb2YgcmVzb3VyY2VzDQo+IChpLmUuDQo+IGhvdHBsdWcgZXZl cnl0aGluZyBhcHByb2FjaCkuIHdoeT8NCj4gDQo+IDEuIEFsbG93aW5nIGZhc3RlciAqYm9vdCB0 aW1lKiBhbmQNCj4gMi4gUmVkdWN0aW9uIGluICptZW1vcnkgZm9vdHByaW50Kg0KPiANCj4gS2F0 YSBDb250YWluZXIgVk0gY2FuIGJvb3Qgd2l0aCBqdXN0IDEgdkNQVSBhbmQgdGhlbiBsYXRlciBt b3JlIHZDUFVzIGNhbg0KPiBiZQ0KPiBob3QtcGx1Z2dlZCBhcyBwZXIgcmVxdWlyZW1lbnQuDQo+ IA0KPiAoSVYpIFRlcm1pbm9sb2d5DQo+ICAgICAgPT09PT09PT09PT0NCj4gDQo+ICgqKSBQb3Nz c2libGUgQ1BVczogVG90YWwgdkNQVXMgd2hpY2ggY291bGQgZXZlciBleGlzdCBpbiBWTS4gVGhp cyBpbmNsdWRlcw0KPiAgICAgICAgICAgICAgICAgICAgIGFueSBjb2xkIGJvb3RlZCBDUFVzIHBs dXMgYW55IENQVXMgd2hpY2ggY291bGQgYmUgbGF0ZXINCj4gICAgICAgICAgICAgICAgICAgICBo b3QtcGx1Z2dlZC4NCj4gICAgICAgICAgICAgICAgICAgICAtIFFlbXUgcGFyYW1ldGVyKC1zbXAg bWF4Y3B1cz1OKQ0KPiAoKikgUHJlc2VudCBDUFVzOiAgIFBvc3NpYmxlIENQVXMgd2hpY2ggYXJl IEFDUEkgJ3ByZXNlbnQnLiBUaGVzZSBtaWdodCBvcg0KPiBtaWdodA0KPiAgICAgICAgICAgICAg ICAgICAgIG5vdCBiZSBBQ1BJICdlbmFibGVkJy4NCj4gICAgICAgICAgICAgICAgICAgICAtIFBy ZXNlbnQgdkNQVXMgPSBQb3NzaWJsZSB2Q1BVcyAoQWx3YXlzIG9uIEFSTSBBcmNoKQ0KPiAoKikg RW5hYmxlZCBDUFVzOiAgIFBvc3NpYmxlIENQVXMgd2hpY2ggYXJlIEFDUEkg4oCYcHJlc2VudOKA mSBhbmQgJ2VuYWJsZWQnDQo+IGFuZCBjYW4NCj4gICAgICAgICAgICAgICAgICAgICBub3cgYmUg 4oCYb25saW5lZOKAmSAoUFNDSSkgZm9yIHVzZSBieSBHdWVzdCBLZXJuZWwuIEFsbA0KPiBjb2xk DQo+ICAgICAgICAgICAgICAgICAgICAgYm9vdGVkIHZDUFVzIGFyZSBBQ1BJICdlbmFibGVkJyBh dCBib290LiBMYXRlciwgdXNpbmcNCj4gICAgICAgICAgICAgICAgICAgICBkZXZpY2VfYWRkIG1v cmUgdkNQVXMgY2FuIGJlIGhvdHBsdWdnZWQgYW5kIGJlIG1hZGUNCj4gQUNQSQ0KPiAgICAgICAg ICAgICAgICAgICAgICdlbmFibGVkLg0KPiAgICAgICAgICAgICAgICAgICAgIC0gUWVtdSBwYXJh bWV0ZXIoLXNtcCBjcHVzPU4pLiBDYW4gYmUgdXNlZCB0byBzcGVjaWZ5DQo+IHNvbWUNCj4gCQkg ICAgICBjb2xkIGJvb3RlZCB2Q1BVcyBkdXJpbmcgVk0gaW5pdC4gU29tZSBjYW4gYmUgYWRkZWQg dXNpbmcNCj4gCQkgICAgICAnLWRldmljZScgb3B0aW9uLg0KPiANCj4gKFYpIENvbnN0cmFpbnRz IER1ZSBUbyBBUk12OCBDUFUgQXJjaGl0ZWN0dXJlIFsrXSBPdGhlciBJbXBlZGltZW50cw0KPiAg ICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09DQo+IA0KPiBBLiBQaHlzaWNhbCBMaW1pdGF0aW9uIHRvIFN1cHBvcnQgQ1BVIEhv dHBsdWc6IChBcmNoaXRlY3R1cmFsIENvbnN0cmFpbnQpDQo+ICAgIDEuIEFSTXY4IENQVSBhcmNo aXRlY3R1cmUgZG9lcyBub3Qgc3VwcG9ydCB0aGUgY29uY2VwdCBvZiB0aGUgcGh5c2ljYWwNCj4g Q1BVDQo+ICAgICAgIGhvdHBsdWcuDQo+ICAgICAgIGEuIFRoZXJlIGFyZSBtYW55IHBlci1DUFUg Y29tcG9uZW50cyBsaWtlIFBNVSwgU1ZFLCBNVEUsIEFyY2ggdGltZXJzDQo+IGV0Yy4NCj4gICAg ICAgICAgd2hvc2UgYmVoYXZpb3VyIG5lZWQgdG8gYmUgY2xlYXJseSBkZWZpbmVkIHdoZW4gQ1BV IGlzDQo+IGhvdCh1bilwbHVnZ2VkLg0KPiAgICAgICAgICBUaGVyZSBpcyBubyBzcGVjaWZpY2F0 aW9uIGZvciB0aGlzLg0KPiANCj4gICAgMi4gT3RoZXIgQVJNIGNvbXBvbmVudHMgbGlrZSBHSUMg ZXRjLiBoYXZlIG5vdCBiZWVuIGRlc2lnbmVkIHRvIHJlYWxpemUNCj4gICAgICAgcGh5c2ljYWwg Q1BVIGhvdHBsdWcgY2FwYWJpbGl0eSBhcyBvZiBub3cuIEZvciBleGFtcGxlLA0KPiAgICAgICBh LiBFdmVyeSBwaHlzaWNhbCBDUFUgaGFzIGEgdW5pcXVlIEdJQ0MgKEdJQyBDUFUgSW50ZXJmYWNl KSBieQ0KPiBjb25zdHJ1Y3QuDQo+ICAgICAgICAgIEFyY2hpdGVjdHVyZSBkb2VzIG5vdCBzcGVj aWZpZXMgd2hhdCBDUFUgaG90KHVuKXBsdWcgd291bGQgbWVhbiBpbg0KPiAgICAgICAgICBjb250 ZXh0IHRvIGFueSBvZiB0aGVzZS4NCj4gICAgICAgYi4gQ1BVcy9HSUNDIGFyZSBwaHlzaWNhbGx5 IGNvbm5lY3RlZCB0byB1bmlxdWUgR0lDUiAoR0lDDQo+IFJlZGlzdHJpYnV0b3IpLg0KPiAgICAg ICAgICBHSUMgUmVkaXN0cmlidXRvcnMgYXJlIGFsd2F5cyBwYXJ0IG9mIGFsd2F5cy1vbiBwb3dl ciBkb21haW4uDQo+IEhlbmNlLA0KPiAgICAgICAgICBjYW5ub3QgYmUgcG93ZXJlZC1vZmYgYXMg cGVyIHNwZWNpZmljYXRpb24uDQo+IA0KPiBCLiBJbXBlZGltZW50cyBpbiBGaXJtd2FyZS9BQ1BJ IChBcmNoaXRlY3R1cmFsIENvbnN0cmFpbnQpDQo+IA0KPiAgICAxLiBGaXJtd2FyZSBoYXMgdG8g ZXhwb3NlIEdJQ0MsIEdJQ1IgYW5kIG90aGVyIHBlci1DUFUgZmVhdHVyZXMgbGlrZQ0KPiBQTVUs DQo+ICAgICAgIFNWRSwgTVRFLCBBcmNoIFRpbWVycyBldGMuIHRvIHRoZSBPUy4gRHVlIHRvIGFy Y2hpdGVjdHVyYWwgY29uc3RyYWludA0KPiAgICAgICBzdGF0ZWQgaW4gYWJvdmUgc2VjdGlvbiBB MShhKSwgIGFsbCBpbnRlcnJ1cHQgY29udHJvbGxlciBzdHJ1Y3R1cmVzDQo+IG9mDQo+ICAgICAg IE1BRFQgZGVzY3JpYmluZyBHSUMgQ1BVIEludGVyZmFjZXMgYW5kIHRoZSBHSUMgUmVkaXN0aWJ1 dG9ycyBNVVNUIGJlDQo+ICAgICAgIHByZXNlbnRlZCBieSBmaXJtd2FyZSB0byB0aGUgT1NQTSBk dXJpbmcgdGhlIGJvb3QgdGltZS4NCj4gICAgMi4gQXJjaGl0ZWN0dXJlcyB0aGF0IHN1cHBvcnQg Q1BVIGhvdHBsdWcgY2FuIGV2YWx1YXRlIEFDUEkgX01BVCBtZXRob2QNCj4gdG8NCj4gICAgICAg Z2V0IHRoaXMga2luZCBvZiBpbmZvcm1hdGlvbiBmcm9tIHRoZSBmaXJtd2FyZSBldmVuIGFmdGVy IGJvb3QgYW5kDQo+IHRoZQ0KPiAgICAgICBPU1BNIGhhcyBjYXBhYmlsaXR5IHRvIHByb2Nlc3Mg dGhlc2UuIEFSTSBrZXJuZWwgdXNlcyBpbmZvcm1hdGlvbiBpbg0KPiBNQURUDQo+ICAgICAgIGlu dGVycnVwdCBjb250cm9sbGVyIHN0cnVjdHVyZXMgdG8gaWRlbnRpZnkgbnVtYmVyIG9mIFByZXNl bnQgQ1BVcw0KPiBkdXJpbmcNCj4gICAgICAgYm9vdCBhbmQgaGVuY2UgZG9lcyBub3QgYWxsb3cg dG8gY2hhbmdlIHRoZXNlIGFmdGVyIGJvb3QuIE51bWJlciBvZg0KPiAgICAgICBwcmVzZW50IENQ VXMgY2Fubm90IGJlIGNoYW5nZWQuIEl0IGlzIGFuIGFyY2hpdGVjdHVyYWwgY29uc3RyYWludCEN Cj4gDQo+IEMuIEltcGVkaW1lbnRzIGluIEtWTSB0byBTdXBwb3J0IFZpcnR1YWwgQ1BVIEhvdHBs dWcgKEFyY2hpdGVjdHVyYWwNCj4gQ29uc3RyYWludCkNCj4gDQo+ICAgIDEuIEtWTSBWR0lDOg0K PiAgICAgICAgYS4gU2l6aW5nIG9mIHZhcmlvdXMgVkdJQyByZXNvdXJjZXMgbGlrZSBtZW1vcnkg cmVnaW9ucyBldGMuIHJlbGF0ZWQNCj4gdG8NCj4gICAgICAgICAgIHRoZSByZWRpc3RyaWJ1dG9y IGhhcHBlbnMgb25seSBvbmNlIGFuZCBpcyBmaXhlZCBhdCB0aGUgVk0gaW5pdA0KPiB0aW1lDQo+ ICAgICAgICAgICBhbmQgY2Fubm90IGJlIGNoYW5nZWQgbGF0ZXIgYWZ0ZXIgaW5pdGlhbGl6YXRp b24gaGFzIGhhcHBlbmVkLg0KPiAgICAgICAgICAgS1ZNIHN0YXRpY2FsbHkgY29uZmlndXJlcyB0 aGVzZSByZXNvdXJjZXMgYmFzZWQgb24gdGhlIG51bWJlciBvZg0KPiB2Q1BVcw0KPiAgICAgICAg ICAgYW5kIHRoZSBudW1iZXIvc2l6ZSBvZiByZWRpc3RyaWJ1dG9yIHJhbmdlcy4NCj4gICAgICAg IGIuIEFzc29jaWF0aW9uIGJldHdlZW4gdkNQVSBhbmQgaXRzIFZHSUMgcmVkaXN0cmlidXRvciBp cyBmaXhlZCBhdA0KPiB0aGUNCj4gICAgICAgICAgIFZNIGluaXQgdGltZSB3aXRoaW4gdGhlIEtW TSBpLmUuIHdoZW4gcmVkaXN0cmlidXRvciBpb2RldnMgZ2V0cw0KPiAgICAgICAgICAgcmVnaXN0 ZXJlZC4gVkdJQyBkb2VzIG5vdCBhbGxvd3MgdG8gc2V0dXAvY2hhbmdlIHRoaXMgYXNzb2NpYXRp b24NCj4gICAgICAgICAgIGFmdGVyIFZNIGluaXRpYWxpemF0aW9uIGhhcyBoYXBwZW5lZC4gUGh5 c2ljYWxseSwgZXZlcnkgQ1BVL0dJQ0MNCj4gaXMNCj4gICAgICAgICAgIHVuaXF1ZWx5IGNvbm5l Y3RlZCB3aXRoIGl0cyByZWRpc3RyaWJ1dG9yIGFuZCB0aGVyZSBpcyBubw0KPiAgICAgICAgICAg YXJjaGl0ZWN0dXJhbCB3YXkgdG8gc2V0IHRoaXMgdXAuDQo+ICAgIDIuIEtWTSB2Q1BVczoNCj4g ICAgICAgIGEuIExhY2sgb2Ygc3BlY2lmaWNhdGlvbiBtZWFucyBkZXN0cnVjdGlvbiBvZiBLVk0g dkNQVXMgZG9lcyBub3QNCj4gZXhpc3QgYXMNCj4gICAgICAgICAgIHRoZXJlIGlzIG5vIHJlZmVy ZW5jZSB0byB0ZWxsIHdoYXQgdG8gZG8gd2l0aCBvdGhlciBwZXItdkNQVQ0KPiAgICAgICAgICAg Y29tcG9uZW50cyBsaWtlIHJlZGlzdHJpYnV0b3JzLCBhcmNoIHRpbWVyIGV0Yy4NCj4gICAgICAg IGIuIEluZmFjdCwgS1ZNIGRvZXMgbm90IGltcGxlbWVudHMgZGVzdHJ1Y3Rpb24gb2YgdkNQVXMg Zm9yIGFueQ0KPiAgICAgICAgICAgYXJjaGl0ZWN0dXJlLiBUaGlzIGlzIGluZGVwZW5kZW50IG9m IHRoZSBmYWN0IHdoZXRoZXINCj4gYXJjaGl0ZWN0dXJlDQo+ICAgICAgICAgICBhY3R1YWxseSBz dXBwb3J0cyBDUFUgSG90cGx1ZyBmZWF0dXJlLiBGb3IgZXhhbXBsZSwgZXZlbiBmb3IgeDg2DQo+ IEtWTQ0KPiAgICAgICAgICAgZG9lcyBub3QgaW1wbGVtZW50cyBkZXN0cnVjdGlvbiBvZiB2Q1BV cy4NCj4gDQo+IEQuIEltcGVkaW1lbnRzIGluIFFlbXUgdG8gU3VwcG9ydCBWaXJ0dWFsIENQVSBI b3RwbHVnIChLVk0gQ29uc3RyYWludHMtDQo+ID5BcmNoKQ0KPiANCj4gICAgMS4gUWVtdSBDUFUg T2JqZWN0cyBNVVNUIGJlIGNyZWF0ZWQgdG8gaW5pdGlhbGl6ZSBhbGwgdGhlIEhvc3QgS1ZNIHZD UFVzDQo+IHRvDQo+ICAgICAgIG92ZXJjb21lIHRoZSBLVk0gY29uc3RyYWludC4gS1ZNIHZDUFVz IGFyZSBjcmVhdGVkLCBpbml0aWFsaXplZCB3aGVuDQo+IFFlbXUNCj4gICAgICAgQ1BVIE9iamVj dHMgYXJlIHJlYWxpemVkLiBCdXQga2VlcGluc2cgdGhlIFFPTSBDUFUgb2JqZWN0cyByZWFsaXpl ZA0KPiBmb3INCj4gICAgICAgJ3lldC10by1iZS1wbHVnZ2VkJyB2Q1BVcyBjYW4gY3JlYXRlIHBy b2JsZW1zIHdoZW4gdGhlc2UgbmV3IHZDUFVzDQo+IHNoYWxsDQo+ICAgICAgIGJlIHBsdWdnZWQg dXNpbmcgZGV2aWNlX2FkZCBhbmQgYSBuZXcgUU9NIENQVSBvYmplY3Qgc2hhbGwgYmUNCj4gY3Jl YXRlZC4NCj4gICAgMi4gR0lDVjNTdGF0ZSBhbmQgR0lDVjNDUFVTdGF0ZSBvYmplY3RzIE1VU1Qg YmUgc2l6ZWQgb3ZlciAqcG9zc2libGUNCj4gdkNQVXMqDQo+ICAgICAgIGR1cmluZyBWTSBpbml0 IHRpbWUgd2hpbGUgUU9NIEdJQ1YzIE9iamVjdCBpcyByZWFsaXplZC4gVGhpcyBpcw0KPiBiZWNh dXNlDQo+ICAgICAgIEtWTSBWR0lDIGNhbiBvbmx5IGJlIGluaXRpYWxpemVkIG9uY2UgZHVyaW5n IGluaXQgdGltZS4gQnV0IGV2ZXJ5DQo+ICAgICAgIEdJQ1YzQ1BVU3RhdGUgaGFzIGFuIGFzc29j aWF0ZWQgUU9NIENQVSBPYmplY3QuIExhdGVyIG1pZ2h0DQo+IGNvcnJlc3BvbmRzIHRvDQo+ICAg ICAgIHZDUFUgd2hpY2ggYXJlICd5ZXQtdG8tYmUtcGx1Z2dlZCcodW5wbHVnZ2VkIGF0IGluaXQp Lg0KPiAgICAzLiBIb3cgc2hvdWxkIG5ldyBRT00gQ1BVIG9iamVjdHMgYmUgY29ubmVjdGVkIGJh Y2sgdG8gdGhlIEdJQ1YzQ1BVU3RhdGUNCj4gICAgICAgb2JqZWN0cyBhbmQgZGlzY29ubmVjdGVk IGZyb20gaXQgaW4gY2FzZSBDUFUgaXMgYmVpbmcgaG90KHVuKXBsdWdnZWQ/DQo+ICAgIDQuIEhv dyBzaG91bGQgJ3VucGx1Z2dlZCcgb3IgJ3lldC10by1iZS1wbHVnZ2VkJyB2Q1BVcyBiZSByZXBy ZXNlbnRlZCBpbg0KPiB0aGUNCj4gICAgICAgUU9NIGZvciB3aGljaCBLVk0gdkNQVSBhbHJlYWR5 IGV4aXN0cz8gRm9yIGV4YW1wbGUsIHdoZXRoZXIgdG8ga2VlcCwNCj4gICAgICAgIGEuIE5vIFFP TSBDUFUgb2JqZWN0cyBPcg0KPiAgICAgICAgYi4gVW5yZWFsaXplZCBDUFUgT2JqZWN0cw0KPiAg ICA1LiBIb3cgc2hvdWxkIHZDUFUgc3RhdGUgYmUgZXhwb3NlZCB2aWEgQUNQSSB0byB0aGUgR3Vl c3Q/IEVzcGVjaWFsbHkNCj4gZm9yDQo+ICAgICAgIHRoZSB1bnBsdWdnZWQveWV0LXRvLWJlLXBs dWdnZWQgdkNQVXMgd2hvc2UgQ1BVIG9iamVjdHMgbWlnaHQgbm90DQo+IGV4aXN0cw0KPiAgICAg ICB3aXRoaW4gdGhlIFFPTSBidXQgdGhlIEd1ZXN0IGFsd2F5cyBleHBlY3RzIGFsbCBwb3NzaWJs ZSB2Q1BVcyB0byBiZQ0KPiAgICAgICBpZGVudGlmaWVkIGFzIEFDUEkgKnByZXNlbnQqIGR1cmlu ZyBib290Lg0KPiAgICA2LiBIb3cgc2hvdWxkIFFlbXUgZXhwb3NlIEdJQyBDUFUgaW50ZXJmYWNl cyBmb3IgdGhlIHVucGx1Z2dlZCBvcg0KPiAgICAgICB5ZXQtdG8tYmVwbHVnZ2VkIHZDUFVzIHVz aW5nIEFDUEkgTUFEVCBUYWJsZSB0byB0aGUgR3Vlc3Q/DQo+IA0KPiBFLiBTdW1tYXJ5IG9mIEFw cHJvYWNoIChbK10gV29ya2Fyb3VuZHMgdG8gcHJvYmxlbXMgaW4gc2VjdGlvbnMgQSwgQiwgQyAm DQo+IEQpDQo+IA0KPiAgICAxLiBBdCBWTSBJbml0LCBwcmUtY3JlYXRlIGFsbCB0aGUgcG9zc2li bGUgdkNQVXMgaW4gdGhlIEhvc3QgS1ZNIGkuZS4NCj4gZXZlbg0KPiAgICAgICBmb3IgdGhlIHZD UFVzIHdoaWNoIGFyZSB5ZXQtdG8tYmUtcGx1Z2dlZCBpbiBRZW11IGJ1dCBrZWVwIHRoZW0gaW4N Cj4gdGhlDQo+ICAgICAgIHBvd2VyZWQtb2ZmIHN0YXRlLg0KPiAgICAyLiBBZnRlciB0aGUgS1ZN IHZDUFVzIGhhdmUgYmVlbiBpbml0aWFsaXplZCBpbiB0aGUgSG9zdCwgdGhlIEtWTSB2Q1BVDQo+ ICAgICAgIG9iamVjdHMgY29ycmVzcG9uZGluZyB0byB0aGUgdW5wbHVnZ2VkL3lldC10by1iZS1w bHVnZ2VkIHZDUFVzIGFyZQ0KPiBwYXJrZWQNCj4gICAgICAgYXQgdGhlIGV4aXN0aW5nIHBlci1W TSAia3ZtX3BhcmtlZF92Y3B1cyIgbGlzdCBpbiBRZW11LiAoc2ltaWxhciB0bw0KPiB4ODYpDQo+ ICAgIDMuIEdJQ1YzU3RhdGUgYW5kIEdJQ1YzQ1BVU3RhdGUgb2JqZWN0cyBhcmUgc2l6ZWQgb3Zl ciBwb3NzaWJsZSB2Q1BVcw0KPiBkdXJpbmcNCj4gICAgICAgVk0gaW5pdCB0aW1lIGkuZS4gd2hl biBRZW11IEdJQyBpcyByZWFsaXplZC4gVGhpcyBpbiB0dXJuIHNpemVzIEtWTQ0KPiBWR0lDDQo+ ICAgICAgIHJlc291cmNlcyBsaWtlIG1lbW9yeSByZWdpb25zIGV0Yy4gcmVsYXRlZCB0byB0aGUg cmVkaXN0cmlidXRvcnMgd2l0aA0KPiB0aGUNCj4gICAgICAgbnVtYmVyIG9mIHBvc3NpYmxlIEtW TSB2Q1BVcy4gVGhpcyBuZXZlciBjaGFuZ2VzIGFmdGVyIFZNIGhhcw0KPiBpbml0aWFsaXplZC4N Cj4gICAgNC4gUWVtdSBDUFUgb2JqZWN0cyBjb3JyZXNwb25kaW5nIHRvIHVucGx1Z2dlZC95ZXQt dG8tYmUtcGx1Z2dlZCB2Q1BVcw0KPiBhcmUNCj4gICAgICAgcmVsZWFzZWQgcG9zdCBIb3N0IEtW TSBDUFUgYW5kIEdJQy9WR0lDIGluaXRpYWxpemF0aW9uLg0KPiAgICA1LiBCdWlsZCBBQ1BJIE1B RFQgVGFibGUgd2l0aCBiZWxvdyB1cGRhdGVzDQo+ICAgICAgIGEuIE51bWJlciBvZiBHSUMgQ1BV IGludGVyZmFjZSBlbnRyaWVzICg9cG9zc2libGUgdkNQVXMpDQo+ICAgICAgIGIuIFByZXNlbnQg Qm9vdCB2Q1BVIGFzIE1BRFQuR0lDQy5FbmFibGVkPTEgKE5vdCBob3RbdW5dcGx1Z2dhYmxlKQ0K PiAgICAgICBjLiBQcmVzZW50IGhvdCh1bilwbHVnZ2FibGUgdkNQVXMgYXMgTUFEVC5HSUNDLm9u bGluZS1jYXBhYmxlPTENCj4gICAgICAgICAgLSBNQURULkdJQ0MuRW5hYmxlZD0wIChNdXR1YWxs eSBleGNsdXNpdmUpIFs2XVs3XQ0KPiAJIC0gdkNQVSBjYW4gYmUgQUNQSSBlbmFibGVkK29ubGlu ZWQgYWZ0ZXIgR3Vlc3QgYm9vdHMgKEZpcm13YXJlDQo+IFBvbGljeSkNCj4gCSAtIFNvbWUgaXNz dWVzIHdpdGggYWJvdmUgKGRldGFpbHMgaW4gbGF0ZXIgc2VjdGlvbnMpDQo+ICAgIDYuIEV4cG9z ZSBiZWxvdyBBQ1BJIFN0YXR1cyB0byBHdWVzdCBrZXJuZWwNCj4gICAgICAgYS4gQWx3YXlzIF9T VEEuUHJlc2VudD0xIChhbGwgcG9zc2libGUgdkNQVXMpDQo+ICAgICAgIGIuIF9TVEEuRW5hYmxl ZD0xIChwbHVnZ2VkIHZDUFVzKQ0KPiAgICAgICBjLiBfU1RBLkVuYWJsZWQ9MCAodW5wbHVnZ2Vk IHZDUFVzKQ0KPiAgICA3LiB2Q1BVIGhvdHBsdWcgKnJlYWxpemVzKiBuZXcgUU9NIENQVSBvYmpl Y3QuIEZvbGxvd2luZyBoYXBwZW5zLA0KPiAgICAgICBhLiBSZWFsaXplcywgaW5pdGlhbGl6ZXMg UU9NIENQVSBPYmplY3QgJiBzcGF3bnMgUWVtdSB2Q1BVIHRocmVhZA0KPiAgICAgICBiLiBVbnBh cmtzIHRoZSBleGlzdGluZyBLVk0gdkNQVSAoImt2bV9wYXJrZWRfdmNwdXMiIGxpc3QpDQo+ICAg ICAgICAgIC0gQXR0YWNoZXMgdG8gUU9NIENQVSBvYmplY3QuDQo+ICAgICAgIGMuIFJlaW5pdGlh bGl6ZXMgS1ZNIHZDUFUgaW4gdGhlIEhvc3QNCj4gICAgICAgICAgLSBSZXNldHMgdGhlIGNvcmUg YW5kIHN5cyByZWdzLCBzZXRzIGRlZmF1bHRzIGV0Yy4NCj4gICAgICAgZC4gUnVucyBLVk0gdkNQ VSAoY3JlYXRlZCB3aXRoICJzdGFydC1wb3dlcmVkLW9mZiIpDQo+IAkgLSB2Q1BVIHRocmVhZCBz bGVlcHMgKHdhaXRzIGZvciB2Q1BVIHJlc2V0IHZpYSBQU0NJKQ0KPiAgICAgICBlLiBVcGRhdGVz IFFlbXUgR0lDDQo+ICAgICAgICAgIC0gV2lyZXMgYmFjayBJUlFzIHJlbGF0ZWQgdG8gdGhpcyB2 Q1BVLg0KPiAgICAgICAgICAtIEdJQ1YzQ1BVU3RhdGUgYXNzb2NpYXRpb24gd2l0aCBRT00gQ1BV IE9iamVjdC4NCj4gICAgICAgZi4gVXBkYXRlcyBbNl0gQUNQSSBfU1RBLkVuYWJsZWQ9MQ0KPiAg ICAgICBnLiBOb3RpZmllcyBHdWVzdCBhYm91dCBuZXcgdkNQVSAodmlhIEFDUEkgR0VEIGludGVy ZmFjZSkNCj4gCSAtIEd1ZXN0IGNoZWNrcyBfU1RBLkVuYWJsZWQ9MQ0KPiAJIC0gR3Vlc3QgYWRk cyBwcm9jZXNzb3IgKHJlZ2lzdGVycyBDUFUgd2l0aCBMRE0pIFszXQ0KPiAgICAgICBoLiBQbHVn cyB0aGUgUU9NIENQVSBvYmplY3QgaW4gdGhlIHNsb3QuDQo+ICAgICAgICAgIC0gc2xvdC1udW1i ZXIgPSBjcHUtaW5kZXh7c29ja2V0LGNsdXN0ZXIsY29yZSx0aHJlYWR9DQo+ICAgICAgIGkuIEd1 ZXN0IG9ubGluZSdzIHZDUFUgKENQVV9PTiBQU0NJIGNhbGwgb3ZlciBIVkMvU01DKQ0KPiAgICAg ICAgICAtIEtWTSBleGl0cyBIVkMvU01DIEh5cGVyY2FsbCBbNV0gdG8gUWVtdSAoUG9saWN5IENo ZWNrKS4NCj4gICAgICAgICAgLSBRZW11IHBvd2Vycy1vbiBLVk0gdkNQVSBpbiB0aGUgSG9zdA0K PiAgICA4LiB2Q1BVIGhvdC11bnBsdWcgKnVucmVhbGl6ZXMqIFFPTSBDUFUgT2JqZWN0LiBGb2xs b3dpbmcgaGFwcGVucywNCj4gICAgICAgYS4gTm90aWZpZXMgR3Vlc3QgKHZpYSBBQ1BJIEdFRCBp bnRlcmZhY2UpIHZDUFUgaG90LXVucGx1ZyBldmVudA0KPiAgICAgICAgICAtIEd1ZXN0IG9mZmxp bmUncyB2Q1BVIChDUFVfT0ZGIFBTQ0kgY2FsbCBvdmVyIEhWQy9TTUMpDQo+ICAgICAgIGIuIEtW TSBleGl0cyBIVkMvU01DIEh5cGVyY2FsbCBbNV0gdG8gUWVtdSAoUG9saWN5IENoZWNrKS4NCj4g ICAgICAgICAgLSBRZW11IHBvd2Vycy1vZmYgdGhlIEtWTSB2Q1BVIGluIHRoZSBIb3N0DQo+ICAg ICAgIGMgR3Vlc3Qgc2lnbmFscyAqRWplY3QqIHZDUFUgdG8gUWVtdQ0KPiAgICAgICBkLiBRZW11 IHVwZGF0ZXMgWzZdIEFDUEkgX1NUQS5FbmFibGVkPTANCj4gICAgICAgZS4gVXBkYXRlcyBHSUMN Cj4gICAgICAgICAgLSBVbi13aXJlcyBJUlFzIHJlbGF0ZWQgdG8gdGhpcyB2Q1BVDQo+ICAgICAg ICAgIC0gR0lDVjNDUFVTdGF0ZSBhc3NvY2lhdGlvbiB3aXRoIG5ldyBRT00gQ1BVIE9iamVjdCBp cyB1cGRhdGVkLg0KPiAgICAgICBmLiBVbnBsdWdzIHRoZSB2Q1BVDQo+IAkgLSBSZW1vdmVzIGZy b20gc2xvdA0KPiAgICAgICAgICAtIFBhcmtzIEtWTSB2Q1BVICgia3ZtX3BhcmtlZF92Y3B1cyIg bGlzdCkNCj4gICAgICAgICAgLSBVbnJlYWxpemVzIFFPTSBDUFUgT2JqZWN0ICYgam9pbnMgYmFj ayBRZW11IHZDUFUgdGhyZWFkDQo+IAkgLSBEZXN0cm95cyBRT00gQ1BVIG9iamVjdA0KPiAgICAg ICBnLiBHdWVzdCBjaGVja3MgQUNQSSBfU1RBLkVuYWJsZWQ9MA0KPiAgICAgICAgICAtIFJlbW92 ZXMgcHJvY2Vzc29yICh1bnJlZ2lzdGVycyBDUFUgd2l0aCBMRE0pIFszXQ0KPiANCj4gRi4gV29y ayBQcmVzZW50ZWQgYXQgS1ZNIEZvcnVtIENvbmZlcmVuY2VzOg0KPiAgICBEZXRhaWxzIG9mIGFi b3ZlIHdvcmsgaGFzIGJlZW4gcHJlc2VudGVkIGF0IEtWTUZvcnVtMjAyMCBhbmQNCj4gS1ZNRm9y dW0yMDIzDQo+ICAgIGNvbmZlcmVuY2VzLiBTbGlkZXMgYXJlIGF2YWlsYWJsZSBhdCBiZWxvdyBs aW5rcywNCj4gICAgYS4gS1ZNRm9ydW0gMjAyMw0KPiAgICAgICAtIENoYWxsZW5nZXMgUmV2aXNp dGVkIGluIFN1cHBvcnRpbmcgVmlydCBDUFUgSG90cGx1ZyBvbg0KPiBhcmNoaXRlY3R1cmVzIHRo YXQgZG9uJ3QgU3VwcG9ydCBDUFUgSG90cGx1ZyAobGlrZSBBUk02NCkNCj4gICAgICAgICBodHRw czovL2t2bS1mb3J1bS5xZW11Lm9yZy8yMDIzL3RhbGsvOVNNUERRLw0KPiAgICBiLiBLVk1Gb3J1 bSAyMDIwDQo+ICAgICAgIC0gQ2hhbGxlbmdlcyBpbiBTdXBwb3J0aW5nIFZpcnR1YWwgQ1BVIEhv dHBsdWcgb24gU29DIEJhc2VkIFN5c3RlbXMNCj4gKGxpa2UgQVJNNjQpIC0gU2FsaWwgTWVodGEs IEh1YXdlaQ0KPiAgICAgICAgIGh0dHBzOi8vc2NoZWQuY28vZUU0bQ0KPiANCj4gKFZJKSBDb21t YW5kcyBVc2VkDQo+ICAgICAgPT09PT09PT09PT09PQ0KPiANCj4gICAgIEEuIFFlbXUgbGF1bmNo IGNvbW1hbmRzIHRvIGluaXQgdGhlIG1hY2hpbmUNCj4gDQo+ICAgICAkIHFlbXUtc3lzdGVtLWFh cmNoNjQgLS1lbmFibGUta3ZtIC1tYWNoaW5lIHZpcnQsZ2ljLXZlcnNpb249MyBcDQo+ICAgICAt Y3B1IGhvc3QgLXNtcCBjcHVzPTQsbWF4Y3B1cz02IFwNCj4gICAgIC1tIDMwME0gXA0KPiAgICAg LWtlcm5lbCBJbWFnZSBcDQo+ICAgICAtaW5pdHJkIHJvb3Rmcy5jcGlvLmd6IFwNCj4gICAgIC1h cHBlbmQgImNvbnNvbGU9dHR5QU1BMCByb290PS9kZXYvcmFtIHJkaW5pdD0vaW5pdCBtYXhjcHVz PTINCj4gYWNwaT1mb3JjZSIgXA0KPiAgICAgLW5vZ3JhcGhpYyBcDQo+ICAgICAtYmlvcyAgUUVN VV9FRkkuZmQgXA0KPiANCj4gICAgIEIuIEhvdC0odW4pcGx1ZyByZWxhdGVkIGNvbW1hbmRzDQo+ IA0KPiAgICAgIyBIb3RwbHVnIGEgaG9zdCB2Q1BVKGFjY2VsPWt2bSkNCj4gICAgICQgZGV2aWNl X2FkZCBob3N0LWFybS1jcHUsaWQ9Y29yZTQsY29yZS1pZD00DQo+IA0KPiAgICAgIyBIb3RwbHVn IGEgdkNQVShhY2NlbD10Y2cpDQo+ICAgICAkIGRldmljZV9hZGQgY29ydGV4LWE1Ny1hcm0tY3B1 LGlkPWNvcmU0LGNvcmUtaWQ9NA0KPiANCj4gICAgICMgRGVsZXRlIHRoZSB2Q1BVDQo+ICAgICAk IGRldmljZV9kZWwgY29yZTQNCj4gDQo+ICAgICBTYW1wbGUgb3V0cHV0IG9uIGd1ZXN0IGFmdGVy IGJvb3Q6DQo+IA0KPiAgICAgJCBjYXQgL3N5cy9kZXZpY2VzL3N5c3RlbS9jcHUvcG9zc2libGUN Cj4gICAgIDAtNQ0KPiAgICAgJCBjYXQgL3N5cy9kZXZpY2VzL3N5c3RlbS9jcHUvcHJlc2VudA0K PiAgICAgMC01DQo+ICAgICAkIGNhdCAvc3lzL2RldmljZXMvc3lzdGVtL2NwdS9lbmFibGVkDQo+ ICAgICAwLTMNCj4gICAgICQgY2F0IC9zeXMvZGV2aWNlcy9zeXN0ZW0vY3B1L29ubGluZQ0KPiAg ICAgMC0xDQo+ICAgICAkIGNhdCAvc3lzL2RldmljZXMvc3lzdGVtL2NwdS9vZmZsaW5lDQo+ICAg ICAyLTUNCj4gDQo+ICAgICBTYW1wbGUgb3V0cHV0IG9uIGd1ZXN0IGFmdGVyIGhvdHBsdWcgb2Yg dkNQVT00Og0KPiANCj4gICAgICQgY2F0IC9zeXMvZGV2aWNlcy9zeXN0ZW0vY3B1L3Bvc3NpYmxl DQo+ICAgICAwLTUNCj4gICAgICQgY2F0IC9zeXMvZGV2aWNlcy9zeXN0ZW0vY3B1L3ByZXNlbnQN Cj4gICAgIDAtNQ0KPiAgICAgJCBjYXQgL3N5cy9kZXZpY2VzL3N5c3RlbS9jcHUvZW5hYmxlZA0K PiAgICAgMC00DQo+ICAgICAkIGNhdCAvc3lzL2RldmljZXMvc3lzdGVtL2NwdS9vbmxpbmUNCj4g ICAgIDAtMSw0DQo+ICAgICAkIGNhdCAvc3lzL2RldmljZXMvc3lzdGVtL2NwdS9vZmZsaW5lDQo+ ICAgICAyLTMsNQ0KPiANCj4gICAgIE5vdGU6IHZDUFU9NCB3YXMgZXhwbGljaXRseSAnb25saW5l ZCcgYWZ0ZXIgaG90LXBsdWcNCj4gICAgICQgZWNobyAxID4gL3N5cy9kZXZpY2VzL3N5c3RlbS9j cHUvY3B1NC9vbmxpbmUNCj4gDQo+IChWSUkpIFJlcG9zaXRvcnkNCj4gICAgICAgPT09PT09PT09 PQ0KPiANCj4gICgqKSBRRU1VIGNoYW5nZXMgZm9yIHZDUFUgaG90cGx1ZyBjb3VsZCBiZSBjbG9u ZWQgZnJvbSBiZWxvdyBzaXRlLA0KPiAgICAgIGh0dHBzOi8vZ2l0aHViLmNvbS9zYWxpbC1tZWh0 YS9xZW11LmdpdCB2aXJ0LWNwdWhwLWFybXY4L3JmYy12Mg0KPiAgKCopIEd1ZXN0IEtlcm5lbCBj aGFuZ2VzIChieSBKYW1lcyBNb3JzZSwgQVJNKSBhcmUgYXZhaWxhYmxlIGhlcmU6DQo+ICAgICAg aHR0cHM6Ly9naXQua2VybmVsLm9yZy9wdWIvc2NtL2xpbnV4L2tlcm5lbC9naXQvbW9yc2UvbGlu dXguZ2l0DQo+IHZpcnR1YWxfY3B1X2hvdHBsdWcvcmZjL3YyDQo+IA0KPiANCj4gKFZJSUkpIEtO T1dOIElTU1VFUw0KPiAgICAgICAgPT09PT09PT09PT09DQo+IA0KPiAxLiBNaWdyYXRpb24gaGFz IGJlZW4gbGlnaHRseSB0ZXN0ZWQuIEJlbG93IGFyZSBzb21lIG9mIHRoZSBrbm93biBpc3N1ZXM6 DQo+ICAgIC0gT2Nhc3Npb25hbCBDUFUgc3RhbGwgKG5vdCBhbHdheXMgcmVwZWF0YWJsZSkNCj4g ICAgLSBOZWdhdGl2ZSB0ZXN0IGNhc2UgbGlrZSBhc3ltbWV0cmljIHNvdXJjZS9kZXN0aW5hdGlv biBWTSBjb25maWcgY2F1c2VzDQo+IGR1bXAuDQo+ICAgIC0gTWlncmF0aW9uIHdpdGggVENHIGlz IG5vdCB3b3JraW5nIHByb3Blcmx5Lg0KPiAyLiBUQ0cgd2l0aCBTaW5nbGUgdGhyZWFkZWQgbW9k ZSBpcyBicm9rZW4uDQo+IDMuIEhWRiBhbmQgcXRlc3Qgc3VwcG9ydCBpcyBicm9rZW4uDQo+IDQu IEFDUEkgTUFEVCBUYWJsZSBmbGFncyBbN10gTUFEVC5HSUNDLkVuYWJsZWQgYW5kIE1BRFQuR0lD Qy5vbmxpbmUtY2FwYWJsZQ0KPiBhcmUNCj4gICAgbXV0dWFsbHkgZXhjbHVzaXZlIGkuZS4gYXMg cGVyIHRoZSBjaGFuZ2UgWzZdIGEgdkNQVSBjYW5ub3QgYmUgYm90aA0KPiAgICBHSUNDLkVuYWJs ZWQgYW5kIEdJQ0Mub25saW5lLWNhcGFibGUuIFRoaXMgbWVhbnMsDQo+ICAgICAgIFsgTGluazog aHR0cHM6Ly9idWd6aWxsYS50aWFub2NvcmUub3JnL3Nob3dfYnVnLmNnaT9pZD0zNzA2IF0NCj4g ICAgYS4gSWYgd2UgaGF2ZSB0byBzdXBwb3J0IGhvdC11bnBsdWcgb2YgdGhlIGNvbGQtYm9vdGVk IHZDUFVzIHRoZW4gdGhlc2UNCj4gTVVTVA0KPiAgICAgICBiZSBzcGVjaWZpZWQgYXMgR0lDQy5v bmxpbmUtY2FwYWJsZSBpbiB0aGUgTUFEVCBUYWJsZSBkdXJpbmcgYm9vdCBieQ0KPiB0aGUNCj4g ICAgICAgZmlybXdhcmUvUWVtdS4gQnV0IHRoaXMgcmVxdWlyZW1lbnQgY29uZmxpY3RzIHdpdGgg dGhlIHJlcXVpcmVtZW50IHRvDQo+ICAgICAgIHN1cHBvcnQgbmV3IFFlbXUgY2hhbmdlcyB3aXRo IGxlZ2FjeSBPUyB3aGljaCBkb250IHVuZGVyc3RhbmQNCj4gICAgICAgTUFEVC5HSUNDLm9ubGlu ZS1jYXBhYmxlIEJpdC4gTGVnYWN5IE9TIGR1cmluZyBib290IHRpbWUgd2lsbCBpZ25vcmUNCj4g dGhpcw0KPiAgICAgICBiaXQgYW5kIGhlbmNlIHRoZXNlIHZDUFVzIHdpbGwgbm90IGFwcGVhciBv biBzdWNoIE9TLiBUaGlzIGlzDQo+IHVuZXhwZWN0ZWQNCj4gICAgICAgYmVoYXZpb3VyLg0KPiAg ICBiLiBJbiBjYXNlIHdlIGRlY2lkZSB0byBzcGVjaWZ5IHZDUFVzIGFzIE1BRFQuR0lDQy5FbmFi bGVkIGFuZCB0cnkgdG8NCj4gdW5wbHVnDQo+ICAgICAgIHRoZXNlIGNvbGQtYm9vdGVkIHZDUFVz IGZyb20gT1MgKHdoaWNoIGluIGFjdHVhbCBzaG91bGQgYmUgYmxvY2tlZCBieQ0KPiAgICAgICBy ZXR1cm5pbmcgZXJyb3IgYXQgUWVtdSkgdGhlbiBmZWF0dXJlcyBsaWtlICdrZXhlYycgd2lsbCBi cmVhay4NCj4gICAgYy4gQXMgSSB1bmRlcnN0YW5kLCByZW1vdmFsIG9mIHRoZSBjb2xkLWJvb3Rl ZCB2Q1BVcyBpcyBhIHJlcXVpcmVkDQo+IGZlYXR1cmUNCj4gICAgICAgYW5kIHg4NiB3b3JsZCBh bGxvd3MgaXQuDQo+ICAgIGQuIEhlbmNlLCBlaXRoZXIgd2UgbmVlZCBhIHNwZWNpZmljYXRpb24g Y2hhbmdlIHRvIG1ha2UgdGhlDQo+IE1BRFQuR0lDQy5FbmFibGVkDQo+ICAgICAgIGFuZCBNQURU LkdJQ0Mub25saW5lLWNhcGFibGUgQml0cyBOT1QgbXV0dWFsbHkgZXhjbHVzaXZlIG9yIE5PVA0K PiBzdXBwb3J0DQo+ICAgICAgIHJlbW92YWwgb2YgY29sZC1ib290ZWQgdkNQVXMuIEluIHRoZSBs YXRlciBjYXNlLCBhIGNoZWNrIGNhbiBiZQ0KPiBpbnRyb2R1Y2VkDQo+ICAgICAgIHRvIGJhciB0 aGUgdXNlcnMgZnJvbSB1bnBsdWdnaW5nIHZDUFVzLCB3aGljaCB3ZXJlIGNvbGQtYm9vdGVkLCB1 c2luZw0KPiBRTVANCj4gICAgICAgY29tbWFuZHMuIChOZWVkcyBkaXNjdXNzaW9uISkNCj4gICAg ICAgUGxlYXNlIGNoZWNrIGJlbG93IHBhdGNoIHBhcnQgb2YgdGhpcyBwYXRjaC1zZXQ6DQo+ICAg ICAgICAgICBbaHcvYXJtL3ZpcnQ6IEV4cG9zZSBjb2xkLWJvb3RlZCBDUFVzIGFzIE1BRFQgR0lD QyBFbmFibGVkXQ0KPiA1LiBDb2RlIHJlbGF0ZWQgdG8gdGhlIG5vdGlmaWNhdGlvbiB0byBHSUNW MyBhYm91dCBob3QodW4pcGx1ZyBvZiBhIHZDUFUNCj4gZXZlbnQNCj4gICAgaW5sY3VkZXMgdmly dC5oIGluIHRoZSBhcm1fZ2ljdjNfY29tbW9uLmMgd2hpY2ggaXMgbm90IGNvcnJlY3QuIE5lZWRz IGENCj4gICAgYmV0dGVyIHdheSB0byBub3RpZnkgR0lDIGFib3V0IENQVSBldmVudCBpbmRlcGVu ZGVudCBvZiBWaXJ0TWFjaGluZVN0YXRlDQo+IA0KPiANCj4gKElYKSBUSElOR1MgVE8gRE8NCj4g ICAgICA9PT09PT09PT09PT0NCj4gDQo+IDEuIEZpeCB0aGUgTWlncmF0aW9uIElzc3Vlcw0KPiAy LiBGaXggaXNzdWVzIHJlbGF0ZWQgdG8gVENHL0VtdWxhdGlvbiBzdXBwb3J0Lg0KPiAzLiBDb21w cmVoZW5zaXZlIFRlc3RpbmcuIEN1cnJlbnQgdGVzdGluZyBpcyB2ZXJ5IGJhc2ljLg0KPiAgICBh LiBOZWdhdGl2ZSBUZXN0IGNhc2VzDQo+IDQuIFFlbXUgRG9jdW1lbnRhdGlvbigucnN0KSBuZWVk IHRvIGJlIHVwZGF0ZWQuDQo+IDUuIEZpeCBxdGVzdCwgSFZGIFN1cHBvcnQNCj4gNi4gRml4IHRo ZSBkZXNpZ24gaXNzdWUgcmVsYXRlZCB0byBBQ1BJIE1BRFQuR0lDQyBmbGFncyBkaXNjdXNzZWQg aW4ga25vd24NCj4gICAgaXNzdWVzLiBUaGlzIG1pZ2h0IHJlcXVpcmUgVUVGSSBBQ1BJIHNwZWNp ZmljYXRpb24gY2hhbmdlIQ0KPiA3LiBBZGQgQUNQSSBfT1NDICdRdWVyeScgc3VwcG9ydC4gT25s eSBwYXJ0IG9mIF9PU0Mgc3VwcG9ydCBleGlzdHMgbm93Lg0KPiANCj4gIEFib3ZlIGlzICpub3Qq IGEgY29tcGxldGUgbGlzdC4gV2lsbCB1cGRhdGUgbGF0ZXIhDQo+IA0KPiBCZXN0IHJlZ2FyZHMN Cj4gU2FsaWwuDQo+IA0KPiAoWCkgRElTQ0xBSU1FUg0KPiAgICAgPT09PT09PT09PQ0KPiANCj4g VGhpcyB3b3JrIGlzIGFuIGF0dGVtcHQgdG8gcHJlc2VudCBhIHByb29mLW9mLWNvbmNlcHQgb2Yg dGhlIEFSTTY0IHZDUFUNCj4gaG90cGx1Zw0KPiBpbXBsZW1lbnRhdGlvbiB0byB0aGUgY29tbXVu aXR5LiBUaGlzIGlzICpub3QqIGEgcHJvZHVjdGlvbiBsZXZlbCBjb2RlIGFuZA0KPiBtaWdodA0K PiBoYXZlIGJ1Z3MuIE9ubHkgYSBiYXNpYyB0ZXN0aW5nIGhhcyBiZWVuIGRvbmUgb24gSGlTaWxp Y29uIEt1bnBlbmc5MjAgU29DDQo+IGZvcg0KPiBzZXJ2ZXJzLiBPbmNlIHRoZSBkZXNpZ24gYW5k IGNvcmUgaWRlYSBiZWhpbmQgdGhlIGltcGxlbWVudGF0aW9uIGhhcyBiZWVuDQo+IHZlcmlmaWVk IG1vcmUgZWZmb3J0cyBjYW4gYmUgcHV0IHRvIGhhcmRlbiB0aGUgY29kZS4NCj4gDQo+IFRoaXMg d29yayBpcyAqbW9zdGx5KiBpbiB0aGUgbGluZXMgb2YgdGhlIGRpc2N1c3Npb25zIHdoaWNoIGhh dmUgaGFwcGVuZWQNCj4gaW4gdGhlDQo+IHByZXZpb3VzIHllYXJzW3NlZSByZWZzIGJlbG93XSBh Y3Jvc3MgZGlmZmVyZW50IGNoYW5uZWxzIGxpa2UgbWFpbGluZy1saXN0LA0KPiBMaW5hcm8gT3Bl biBEaXNjdXNzaW9ucyBwbGF0Zm9ybSwgdmFyaW91cyBjb25mZXJlbmNlcyBsaWtlIEtWTUZvdXJt IGV0Yy4NCj4gVGhpcw0KPiBSRkMgaXMgYmVpbmcgdXNlZCBhcyBhIHdheSB0byB2ZXJpZnkgdGhl IGlkZWEgbWVudGlvbmVkIGluIHRoaXMgY292ZXItDQo+IGxldHRlciBhbmQNCj4gdG8gZ2V0IGNv bW11bml0eSB2aWV3cy4gT25jZSB0aGlzIGhhcyBiZWVuIGFncmVlZCB1cG9uIGEgZm9ybWFsIHBh dGNoIHNoYWxsDQo+IGJlDQo+IHByZXNlbnRlZCB0byB0aGUgY29tbXVuaXQgT25jZSB0aGlzIGhh cyBiZWVuIGFncmVlZCwgYSBmb3JtYWwgcGF0Y2ggc2hhbGwNCj4gYmUNCj4gcHBzdGVkIG9uIHRo ZSBtYWlsaW5nLWxpc3QuDQo+IA0KPiBUaGUgY29uY2VwdCBiZWluZyBwcmVzZW50ZWQgaGFzIGJl ZW4gZm91bmQgdG8gd29yayENCj4gDQo+IChYSSkgT1JHQU5JWkFUSU9OIE9GIFBBVENIRVMNCj4g ICAgICA9PT09PT09PT09PT09PT09PT09PT09PQ0KPiANCj4gIEEuIEFsbCBwYXRjaGVzIFtBcmNo aXRlY3R1cmUgJ2Fnbm9zdGljJyArICdzcGVjaWZpYyddOg0KPiANCj4gICAgW1BhdGNoIDEtOSwg MjMsIDM2XSBsb2dpYyByZXF1aXJlZCBkdXJpbmcgbWFjaGluZSBpbml0DQo+ICAgICAoKikgU29t ZSB2YWxpZGF0aW9uIGNoZWNrcw0KPiAgICAgKCopIEludHJvZHVjZXMgY29yZS1pZCBwcm9wZXJ0 eSBhbmQgc29tZSB1dGlsIGZ1bmN0aW9ucyByZXF1aXJlZCBsYXRlci4NCj4gICAgICgqKSBSZWZh Y3RvcnMgUGFya2luZyBsb2dpYyBvZiB2Q1BVcw0KPiAgICAgKCopIExvZ2ljIHRvIHByZS1jcmVh dGUgdkNQVXMNCj4gICAgICgqKSBHSUMgaW5pdGlhbGl6YXRpb24gcHJlLXNpemVkIHdpdGggcG9z c2libGUgdkNQVXMuDQo+ICAgICAoKikgU29tZSByZWZhY3RvcmluZyB0byBoYXZlIGNvbW1vbiBo b3QgYW5kIGNvbGQgcGx1ZyBsb2dpYyB0b2dldGhlci4NCj4gICAgICgqKSBSZWxlYXNlIG9mIGRp c2FibGUgUU9NIENQVSBvYmplY3RzIGluIHBvc3RfY3B1X2luaXQoKQ0KPiAgICAgKCopIFN1cHBv cnQgb2YgQUNQSSBfT1NDIG1ldGhvZCB0byBuZWdvdGlhdGUgcGxhdGZvcm0gaG90cGx1Zw0KPiBj YXBhYmlsaXRpZXMNCj4gICAgW1BhdGNoIDEwLTIyXSBsb2dpYyByZWxhdGVkIHRvIEFDUEkgYXQg bWFjaGluZSBpbml0IHRpbWUNCj4gICAgICgqKSBDaGFuZ2VzIHJlcXVpcmVkIHRvIEVuYWJsZSBB Q1BJIGZvciBjcHUgaG90cGx1Zw0KPiAgICAgKCopIEluaXRpYWxpemF0aW9uIEFDUEkgR0VEIGZy YW1ld29yayB0byBjYXRlciBDUFUgSG90cGx1ZyBFdmVudHMNCj4gICAgICgqKSBCdWlsZCBBQ1BJ IEFNTCByZWxhdGVkIHRvIENQVSBjb250cm9sIGRldg0KPiAgICAgKCopIEFDUEkgTUFEVC9NQVQg Y2hhbmdlcw0KPiAgICBbUGF0Y2ggMjQtMzVdIExvZ2ljIHJlcXVpcmVkIGR1cmluZyB2Q1BVIGhv dC0odW4pcGx1Zw0KPiAgICAgKCopIEJhc2ljIGZyYW1ld29yayBjaGFuZ2VzIHRvIHN1cHBwb3J0 IHZDUFUgaG90LSh1bilwbHVnDQo+ICAgICAoKikgQUNQSSBHRUQgY2hhbmdlcyBmb3IgaG90LSh1 bilwbHVnIGhvb2tzLg0KPiAgICAgKCopIHdpcmUtdW53aXJlIHRoZSBJUlFzDQo+ICAgICAoKikg R0lDIG5vdGlmaWNhdGlvbiBsb2dpYw0KPiAgICAgKCopIEFSTUNQVSB1bnJlYWxpemUgbG9naWMN Cj4gICAgICgqKSBIYW5kbGluZyBvZiBTTUNDIEh5cGVyY2FsbCBFeGl0cyBieSBLVk0gdG8gUWVt dQ0KPiANCj4gIEIuIEFyY2hpdGVjdHVyZSAqYWdub3N0aWMqIHBhdGNoZXMgcGFydCBvZiBwYXRj aC1zZXQ6DQo+IA0KPiAgICBbUGF0Y2ggNSw5LDExLDEzLDE2LDIwLDI0LDMxLDMzXSBDb21tb24g bG9naWMgdG8gc3VwcG9ydCBob3RwbHVnDQo+ICAgICAoKikgUmVmYWN0b3JzIFBhcmtpbmcgbG9n aWMgb2YgdkNQVXMNCj4gICAgICgqKSBJbnRyb2R1Y2VzIEFDUEkgR0VEIFN1cHBvcnQgZm9yIHZD UFUgSG90cGx1ZyBFdmVudHMNCj4gICAgICgqKSBJbnRyb2R1Y2VzIEFDUEkgQU1MIGNoYW5nZSBm b3IgQ1BVIENvbnRyb2wgRGV2aWNlDQo+IA0KPiAoWElJKSBSRUZFUkVOQ0VTDQo+ICAgICAgID09 PT09PT09PT0NCj4gDQo+IFsxXSBodHRwczovL2xvcmUua2VybmVsLm9yZy9xZW11LWRldmVsLzIw MjAwNjEzMjEzNjI5LjIxOTg0LTEtDQo+IHNhbGlsLm1laHRhQGh1YXdlaS5jb20vDQo+IFsyXSBo dHRwczovL2xvcmUua2VybmVsLm9yZy9saW51eC1hcm0ta2VybmVsLzIwMjAwNjI1MTMzNzU3LjIy MzMyLTEtDQo+IHNhbGlsLm1laHRhQGh1YXdlaS5jb20vDQo+IFszXSBodHRwczovL2xvcmUua2Vy bmVsLm9yZy9sa21sLzIwMjMwMjAzMTM1MDQzLjQwOTE5Mi0xLQ0KPiBqYW1lcy5tb3JzZUBhcm0u Y29tLw0KPiBbNF0gaHR0cHM6Ly9sb3JlLmtlcm5lbC5vcmcvYWxsLzIwMjMwOTEzMTYzODIzLjc4 ODAtMS1qYW1lcy5tb3JzZUBhcm0uY29tLw0KPiBbNV0gaHR0cHM6Ly9sb3JlLmtlcm5lbC5vcmcv YWxsLzIwMjMwNDA0MTU0MDUwLjIyNzAwNzctMS0NCj4gb2xpdmVyLnVwdG9uQGxpbnV4LmRldi8N Cj4gWzZdIGh0dHBzOi8vYnVnemlsbGEudGlhbm9jb3JlLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Mzcw Ng0KPiBbN10NCj4gaHR0cHM6Ly91ZWZpLm9yZy9zcGVjcy9BQ1BJLzYuNS8wNV9BQ1BJX1NvZnR3 YXJlX1Byb2dyYW1taW5nX01vZGVsLmh0bWwjZ2ljDQo+IC1jcHUtaW50ZXJmYWNlLWdpY2Mtc3Ry dWN0dXJlDQo+IFs4XSBodHRwczovL2J1Z3ppbGxhLnRpYW5vY29yZS5vcmcvc2hvd19idWcuY2dp P2lkPTQ0ODEjYzUNCj4gWzldIGh0dHBzOi8vY2xvdWQuZ29vZ2xlLmNvbS9rdWJlcm5ldGVzLQ0K PiBlbmdpbmUvZG9jcy9jb25jZXB0cy92ZXJ0aWNhbHBvZGF1dG9zY2FsZXINCj4gWzEwXSBodHRw czovL2RvY3MuYXdzLmFtYXpvbi5jb20vZWtzL2xhdGVzdC91c2VyZ3VpZGUvdmVydGljYWwtcG9k LQ0KPiBhdXRvc2NhbGVyLmh0bWwNCj4gWzExXSBodHRwczovL2xrbWwub3JnL2xrbWwvMjAxOS83 LzEwLzIzNQ0KPiBbMTJdIGh0dHBzOi8vbGlzdHMuY3MuY29sdW1iaWEuZWR1L3BpcGVybWFpbC9r dm1hcm0vMjAxOC1KdWx5LzAzMjMxNi5odG1sDQo+IFsxM10gaHR0cHM6Ly9saXN0cy5nbnUub3Jn L2FyY2hpdmUvaHRtbC9xZW11LWRldmVsLzIwMjAtMDEvbXNnMDY1MTcuaHRtbA0KPiBbMTRdIGh0 dHBzOi8vb3AtbGlzdHMubGluYXJvLm9yZy9hcmNoaXZlcy9saXN0L2xpbmFyby1vcGVuLWRpc2N1 c3Npb25zQG9wLQ0KPiBsaXN0cy5saW5hcm8ub3JnL3RocmVhZC83Q0dMNkpUQUNQVVpFWVFDMzRD WjJaQldKR1NSNzRXRS8NCj4gWzE1XSBodHRwOi8vbGlzdHMubm9uZ251Lm9yZy9hcmNoaXZlL2h0 bWwvcWVtdS1kZXZlbC8yMDE4LTA3L21zZzAxMTY4Lmh0bWwNCj4gWzE2XSBodHRwczovL2xpc3Rz LmdudS5vcmcvYXJjaGl2ZS9odG1sL3FlbXUtZGV2ZWwvMjAyMC0wNi9tc2cwMDEzMS5odG1sDQo+ IFsxN10gaHR0cHM6Ly9vcC1saXN0cy5saW5hcm8ub3JnL2FyY2hpdmVzL2xpc3QvbGluYXJvLW9w ZW4tZGlzY3Vzc2lvbnNAb3AtDQo+IGxpc3RzLmxpbmFyby5vcmcvbWVzc2FnZS9YNzRKUzZQMk40 QVVXSEhBVEpKVlZGREkyRU1EWko3NC8NCj4gWzE4XSBodHRwczovL2xvcmUua2VybmVsLm9yZy9s a21sLzIwMjEwNjA4MTU0ODA1LjIxNjg2OS0xLWplYW4tDQo+IHBoaWxpcHBlQGxpbmFyby5vcmcv DQo+IFsxOV0gaHR0cHM6Ly9sb3JlLmtlcm5lbC5vcmcvYWxsLzIwMjMwOTEzMTYzODIzLjc4ODAt MS1qYW1lcy5tb3JzZUBhcm0uY29tLw0KPiBbMjBdDQo+IGh0dHBzOi8vdWVmaS5vcmcvc3BlY3Mv QUNQSS82LjUvMDVfQUNQSV9Tb2Z0d2FyZV9Qcm9ncmFtbWluZ19Nb2RlbC5odG1sI2dpYw0KPiBj LWNwdS1pbnRlcmZhY2UtZmxhZ3MNCj4gDQo+IChYSUlJKSBBQ0tOT1dMRURHRU1FTlRTDQo+ICAg ICAgICA9PT09PT09PT09PT09PT09DQo+IA0KPiBJIHdvdWxkIGxpa2UgdG8gdGFrZSB0aGlzIG9w cG9ydHVuaXR5IHRvIHRoYW5rIGJlbG93IHBlb3BsZSBmb3IgdmFyaW91cw0KPiBkaXNjdXNzaW9u cyB3aXRoIG1lIG92ZXIgZGlmZmVyZW50IGNoYW5uZWxzIGR1cmluZyB0aGUgZGV2ZWxvcG1lbnQ6 DQo+IA0KPiBNYXJjIFp5bmdpZXIgKEdvb2dsZSkgICAgICAgICAgICAgICBDYXRhbGluIE1hcmlu YXMgKEFSTSksDQo+IEphbWVzIE1vcnNlKEFSTSksICAgICAgICAgICAgICAgICAgIFdpbGwgRGVh Y29uIChHb29nbGUpLA0KPiBKZWFuLVBoaWxsaXBlIEJydWNrZXIgKExpbmFybyksICAgICBTdWRl ZXAgSG9sbGEgKEFSTSksDQo+IExvcmVuem8gUGllcmFsaXNpIChMaW5hcm8pLCAgICAgICAgIEdh dmluIFNoYW4gKFJlZGhhdCksDQo+IEpvbmF0aGFuIENhbWVyb24gKEh1YXdlaSksICAgICAgICAg IERhcnJlbiBIYXJ0IChBbXBlcmUpLA0KPiBJZ29yIE1hbWVkb3YgKFJlZGhhdCksICAgICAgICAg ICAgICBJbGtrYSBLb3NraW5lbiAoQW1wZXJlKSwNCj4gQW5kcmV3IEpvbmVzIChSZWRoYXQpLCAg ICAgICAgICAgICAgS2FybCBIZXViYXVtIChPcmFjbGUpLA0KPiBLZXFpYW4gWmh1IChIdWF3ZWkp LCAgICAgICAgICAgICAgICBNaWd1ZWwgTHVpcyAoT3JhY2xlKSwNCj4gWGlvbmdmZW5nIFdhbmcg KEh1YXdlaSksICAgICAgICAgICAgVmlzaG51IFBhamp1cmkgKEFtcGVyZSksDQo+IFNoYW1lZXJh bGkgS29sb3RodW0gKEh1YXdlaSkgICAgICAgIFJ1c3NlbCBLaW5nIChPcmFjbGUpDQo+IFh1d2Vp L0pveSAoSHVhd2VpKSwgICAgICAgICAgICAgICAgIFBldGVyIE1heWRlbCAoTGluYXJvKQ0KPiBa ZW5ndGFvL1ByaW1lIChIdWF3ZWkpLCAgICAgICAgICAgICBBbmQgYWxsIHRob3NlIHdob20gSSBo YXZlIG1pc3NlZCENCj4gDQo+IE1hbnkgdGhhbmtzIHRvIGJlbG93IHBlb3BsZSBmb3IgdGhlaXIg Y3VycmVudCBvciBwYXN0IGNvbnRyaWJ1dGlvbnM6DQo+IA0KPiAxLiBKYW1lcyBNb3JzZSAoQVJN KQ0KPiAgICAoQ3VycmVudCBLZXJuZWwgcGFydCBvZiB2Q1BVIEhvdHBsdWcgU3VwcG9ydCBvbiBB QVJDSDY0KQ0KPiAyLiBKZWFuLVBoaWxpcHBlIEJydWNrZXIgKExpbmFybykNCj4gICAgKFByb3Rv eXBlZCBvbmUgb2YgdGhlIGVhcmxpZXIgUFNDSSBiYXNlZCBQT0MgWzE3XVsxOF0gYmFzZWQgb24g UkZDIFYxKQ0KPiAzLiBLZXFpYW4gWmh1IChIdWF3ZWkpDQo+ICAgIChDby1kZXZlbG9wZWQgUWVt dSBwcm90b3R5cGUpDQo+IDQuIFhpb25nZmVuZyBXYW5nIChIdWF3ZWkpDQo+ICAgIChDby1kZXZl bG9wZWQgZWFybGllciBrZXJuZWwgcHJvdG90eXBlKQ0KPiA1LiBWaXNobnUgUGFqanVyaSAoQW1w ZXJlKQ0KPiAgICAoVmVyaWZpY2F0aW9uIG9uIEFtcGVyZSBBUk02NCBQbGF0Zm9ybXMgKyBmaXhl cykNCj4gNi4gTWlndWVsIEx1aXMgKE9yYWNsZSkNCj4gICAgKFZlcmlmaWNhdGlvbiBvbiBPcmFj bGUgQVJNNjQgUGxhdGZvcm1zICsgZml4ZXMpDQo+IA0KPiANCj4gQXV0aG9yIFNhbGlsIE1laHRh ICgxKToNCj4gICB0YXJnZXQvYXJtL2t2bSx0Y2c6IFJlZ2lzdGVyL0hhbmRsZSBTTUNDQyBoeXBl cmNhbGwgZXhpdHMgdG8gVk1NL1FlbXUNCj4gDQo+IEplYW4tUGhpbGlwcGUgQnJ1Y2tlciAoMik6 DQo+ICAgaHcvYWNwaTogTWFrZSBfTUFUIG1ldGhvZCBvcHRpb25hbA0KPiAgIHRhcmdldC9hcm0v a3ZtOiBXcml0ZSBDUFUgc3RhdGUgYmFjayB0byBLVk0gb24gcmVzZXQNCj4gDQo+IE1pZ3VlbCBM dWlzICgxKToNCj4gICB0Y2cvbXR0Y2c6IGVuYWJsZSB0aHJlYWRzIHRvIHVucmVnaXN0ZXIgaW4g dGNnX2N0eHNbXQ0KPiANCj4gU2FsaWwgTWVodGEgKDMzKToNCj4gICBhcm0vdmlydCx0YXJnZXQv YXJtOiBBZGQgbmV3IEFSTUNQVSB7c29ja2V0LGNsdXN0ZXIsY29yZSx0aHJlYWR9LWlkDQo+IHBy b3BlcnR5DQo+ICAgY3B1cy1jb21tb246IEFkZCBjb21tb24gQ1BVIHV0aWxpdHkgZm9yIHBvc3Np YmxlIHZDUFVzDQo+ICAgaHcvYXJtL3ZpcnQ6IE1vdmUgc2V0dGluZyBvZiBjb21tb24gQ1BVIHBy b3BlcnRpZXMgaW4gYSBmdW5jdGlvbg0KPiAgIGFybS92aXJ0LHRhcmdldC9hcm06IE1hY2hpbmUg aW5pdCB0aW1lIGNoYW5nZSBjb21tb24gdG8gdkNQVSB7Y29sZHxob3R9LQ0KPiBwbHVnDQo+ICAg YWNjZWwva3ZtOiBFeHRyYWN0IGNvbW1vbiBLVk0gdkNQVSB7Y3JlYXRpb24scGFya2luZ30gY29k ZQ0KPiAgIGFybS92aXJ0LGt2bTogUHJlLWNyZWF0ZSBkaXNhYmxlZCBwb3NzaWJsZSB2Q1BVcyBA bWFjaGluZSBpbml0DQo+ICAgYXJtL3ZpcnQsZ2ljdjM6IENoYW5nZXMgdG8gcHJlLXNpemUgR0lD IHdpdGggcG9zc2libGUgdmNwdXMgQG1hY2hpbmUgaW5pdA0KPiAgIGFybS92aXJ0OiBJbml0IFBN VSBhdCBob3N0IGZvciBhbGwgcG9zc2libGUgdmNwdXMNCj4gICBody9hY3BpOiBNb3ZlIENQVSBj dHJsLWRldiBNTUlPIHJlZ2lvbiBsZW4gbWFjcm8gdG8gY29tbW9uIGhlYWRlciBmaWxlDQo+ICAg YXJtL2FjcGk6IEVuYWJsZSBBQ1BJIHN1cHBvcnQgZm9yIHZjcHUgaG90cGx1Zw0KPiAgIGh3L2Fj cGk6IEFkZCBBQ1BJIENQVSBob3RwbHVnIGluaXQgc3R1Yg0KPiAgIGh3L2FjcGk6IFVzZSBxZW11 X3ByZXNlbnRfY3B1KCkgQVBJIGluIEFDUEkgQ1BVIGhvdHBsdWcgaW5pdA0KPiAgIGh3L2FjcGk6 IEluaXQgR0VEIGZyYW1ld29yayB3aXRoIGNwdSBob3RwbHVnIGV2ZW50cw0KPiAgIGFybS92aXJ0 OiBBZGQgY3B1IGhvdHBsdWcgZXZlbnRzIHRvIEdFRCBkdXJpbmcgY3JlYXRpb24NCj4gICBhcm0v dmlydDogQ3JlYXRlIEdFRCBkZXYgYmVmb3JlICpkaXNhYmxlZCogQ1BVIE9ianMgYXJlIGRlc3Ry b3llZA0KPiAgIGh3L2FjcGk6IFVwZGF0ZSBDUFVzIEFNTCB3aXRoIGNwdS0oY3RybClkZXYgY2hh bmdlDQo+ICAgYXJtL3ZpcnQvYWNwaTogQnVpbGQgQ1BVcyBBTUwgd2l0aCBDUFUgSG90cGx1ZyBz dXBwb3J0DQo+ICAgYXJtL3ZpcnQ6IE1ha2UgQVJNIHZDUFUgKnByZXNlbnQqIHN0YXR1cyBBQ1BJ ICpwZXJzaXN0ZW50Kg0KPiAgIGh3L2FjcGk6IEFDUEkvQU1MIENoYW5nZXMgdG8gcmVmbGVjdCB0 aGUgY29ycmVjdCBfU1RBLntQUkVTLEVOQX0gQml0cyB0bw0KPiBHdWVzdA0KPiAgIGh3L2FjcGk6 IFVwZGF0ZSBHRUQgX0VWVCBtZXRob2QgQU1MIHdpdGggY3B1IHNjYW4NCj4gICBody9hcm06IE1B RFQgVGJsIGNoYW5nZSB0byBzaXplIHRoZSBndWVzdCB3aXRoIHBvc3NpYmxlIHZDUFVzDQo+ICAg YXJtL3ZpcnQ6IFJlbGVhc2Ugb2JqZWN0cyBmb3IgKmRpc2FibGVkKiBwb3NzaWJsZSB2Q1BVcyBh ZnRlciBpbml0DQo+ICAgaHcvYWNwaTogVXBkYXRlIEFDUEkgR0VEIGZyYW1ld29yayB0byBzdXBw b3J0IHZDUFUgSG90cGx1Zw0KPiAgIGFybS92aXJ0OiBBZGQvdXBkYXRlIGJhc2ljIGhvdC0odW4p cGx1ZyBmcmFtZXdvcmsNCj4gICBhcm0vdmlydDogQ2hhbmdlcyB0byAodW4pd2lyZSBHSUNDPC0+ dkNQVSBJUlFzIGR1cmluZyBob3QtKHVuKXBsdWcNCj4gICBody9hcm0sZ2ljdjM6IENoYW5nZXMg dG8gdXBkYXRlIEdJQyB3aXRoIHZDUFUgaG90LXBsdWcgbm90aWZpY2F0aW9uDQo+ICAgaHcvaW50 Yy9hcm0tZ2ljdjMqOiBDaGFuZ2VzIHJlcXVpcmVkIHRvIChyZSlpbml0IHRoZSB2Q1BVIHJlZ2lz dGVyIGluZm8NCj4gICBhcm0vdmlydDogVXBkYXRlIHRoZSBndWVzdCh2aWEgR0VEKSBhYm91dCBD UFUgaG90LSh1bilwbHVnIGV2ZW50cw0KPiAgIGh3L2FybTogQ2hhbmdlcyByZXF1aXJlZCBmb3Ig cmVzZXQgYW5kIHRvIHN1cHBvcnQgbmV4dCBib290DQo+ICAgcGh5c21lbSxnZGJzdHViOiBDb21t b24gaGVscGluZyBmdW5jcy9jaGFuZ2VzIHRvICp1bnJlYWxpemUqIHZDUFUNCj4gICB0YXJnZXQv YXJtOiBBZGQgc3VwcG9ydCBvZiAqdW5yZWFsaXplKiBBUk1DUFUgZHVyaW5nIHZDUFUgSG90LXVu cGx1Zw0KPiAgIGh3L2FybTogU3VwcG9ydCBob3RwbHVnIGNhcGFiaWxpdHkgY2hlY2sgdXNpbmcg X09TQyBtZXRob2QNCj4gICBody9hcm0vdmlydDogRXhwb3NlIGNvbGQtYm9vdGVkIENQVXMgYXMg TUFEVCBHSUNDIEVuYWJsZWQNCj4gDQo+ICBhY2NlbC9rdm0va3ZtLWFsbC5jICAgICAgICAgICAg ICAgICAgICB8ICA2MSArLQ0KPiAgYWNjZWwvdGNnL3RjZy1hY2NlbC1vcHMtbXR0Y2cuYyAgICAg ICAgfCAgIDEgKw0KPiAgY3B1cy1jb21tb24uYyAgICAgICAgICAgICAgICAgICAgICAgICAgfCAg MzcgKysNCj4gIGdkYnN0dWIvZ2Ric3R1Yi5jICAgICAgICAgICAgICAgICAgICAgIHwgIDEzICsN Cj4gIGh3L2FjcGkvYWNwaS1jcHUtaG90cGx1Zy1zdHViLmMgICAgICAgIHwgICA2ICsNCj4gIGh3 L2FjcGkvY3B1LmMgICAgICAgICAgICAgICAgICAgICAgICAgIHwgIDkxICsrLQ0KPiAgaHcvYWNw aS9nZW5lcmljX2V2ZW50X2RldmljZS5jICAgICAgICAgfCAgMzMgKw0KPiAgaHcvYXJtL0tjb25m aWcgICAgICAgICAgICAgICAgICAgICAgICAgfCAgIDEgKw0KPiAgaHcvYXJtL2Jvb3QuYyAgICAg ICAgICAgICAgICAgICAgICAgICAgfCAgIDIgKy0NCj4gIGh3L2FybS92aXJ0LWFjcGktYnVpbGQu YyAgICAgICAgICAgICAgIHwgMTEwICsrKy0NCj4gIGh3L2FybS92aXJ0LmMgICAgICAgICAgICAg ICAgICAgICAgICAgIHwgODY4ICsrKysrKysrKysrKysrKysrKysrLS0tLS0NCj4gIGh3L2NvcmUv Z3Bpby5jICAgICAgICAgICAgICAgICAgICAgICAgIHwgICAyICstDQo+ICBody9pMzg2L2FjcGkt YnVpbGQuYyAgICAgICAgICAgICAgICAgICB8ICAgMiArLQ0KPiAgaHcvaW50Yy9hcm1fZ2ljdjMu YyAgICAgICAgICAgICAgICAgICAgfCAgIDEgKw0KPiAgaHcvaW50Yy9hcm1fZ2ljdjNfY29tbW9u LmMgICAgICAgICAgICAgfCAgNjYgKy0NCj4gIGh3L2ludGMvYXJtX2dpY3YzX2NwdWlmLmMgICAg ICAgICAgICAgIHwgMjY1ICsrKystLS0tDQo+ICBody9pbnRjL2FybV9naWN2M19jcHVpZl9jb21t b24uYyAgICAgICB8ICAgNSArDQo+ICBody9pbnRjL2FybV9naWN2M19rdm0uYyAgICAgICAgICAg ICAgICB8ICAzOSArLQ0KPiAgaHcvaW50Yy9naWN2M19pbnRlcm5hbC5oICAgICAgICAgICAgICAg fCAgIDIgKw0KPiAgaW5jbHVkZS9leGVjL2NwdS1jb21tb24uaCAgICAgICAgICAgICAgfCAgIDgg Kw0KPiAgaW5jbHVkZS9leGVjL2dkYnN0dWIuaCAgICAgICAgICAgICAgICAgfCAgIDEgKw0KPiAg aW5jbHVkZS9ody9hY3BpL2NwdS5oICAgICAgICAgICAgICAgICAgfCAgIDcgKy0NCj4gIGluY2x1 ZGUvaHcvYWNwaS9jcHVfaG90cGx1Zy5oICAgICAgICAgIHwgICA0ICsNCj4gIGluY2x1ZGUvaHcv YWNwaS9nZW5lcmljX2V2ZW50X2RldmljZS5oIHwgICA1ICsNCj4gIGluY2x1ZGUvaHcvYXJtL2Jv b3QuaCAgICAgICAgICAgICAgICAgIHwgICAyICsNCj4gIGluY2x1ZGUvaHcvYXJtL3ZpcnQuaCAg ICAgICAgICAgICAgICAgIHwgIDEwICstDQo+ICBpbmNsdWRlL2h3L2NvcmUvY3B1LmggICAgICAg ICAgICAgICAgICB8ICA3NyArKysNCj4gIGluY2x1ZGUvaHcvaW50Yy9hcm1fZ2ljdjNfY29tbW9u LmggICAgIHwgIDIzICsNCj4gIGluY2x1ZGUvaHcvcWRldi1jb3JlLmggICAgICAgICAgICAgICAg IHwgICAyICsNCj4gIGluY2x1ZGUvc3lzZW11L2t2bS5oICAgICAgICAgICAgICAgICAgIHwgICAy ICsNCj4gIGluY2x1ZGUvdGNnL3RjZy5oICAgICAgICAgICAgICAgICAgICAgIHwgICAxICsNCj4g IHNvZnRtbXUvcGh5c21lbS5jICAgICAgICAgICAgICAgICAgICAgIHwgIDI1ICsNCj4gIHRhcmdl dC9hcm0vYXJtLXBvd2VyY3RsLmMgICAgICAgICAgICAgIHwgIDUxICstDQo+ICB0YXJnZXQvYXJt L2NwdS1xb20uaCAgICAgICAgICAgICAgICAgICB8ICAgMyArDQo+ICB0YXJnZXQvYXJtL2NwdS5j ICAgICAgICAgICAgICAgICAgICAgICB8IDExMiArKysrDQo+ICB0YXJnZXQvYXJtL2NwdS5oICAg ICAgICAgICAgICAgICAgICAgICB8ICAxNyArDQo+ICB0YXJnZXQvYXJtL2NwdTY0LmMgICAgICAg ICAgICAgICAgICAgICB8ICAxNSArDQo+ICB0YXJnZXQvYXJtL2dkYnN0dWIuYyAgICAgICAgICAg ICAgICAgICB8ICAgNiArDQo+ICB0YXJnZXQvYXJtL2hlbHBlci5jICAgICAgICAgICAgICAgICAg ICB8ICAyNyArLQ0KPiAgdGFyZ2V0L2FybS9pbnRlcm5hbHMuaCAgICAgICAgICAgICAgICAgfCAg MTIgKy0NCj4gIHRhcmdldC9hcm0va3ZtLmMgICAgICAgICAgICAgICAgICAgICAgIHwgIDkzICsr LQ0KPiAgdGFyZ2V0L2FybS9rdm02NC5jICAgICAgICAgICAgICAgICAgICAgfCAgNTkgKy0NCj4g IHRhcmdldC9hcm0va3ZtX2FybS5oICAgICAgICAgICAgICAgICAgIHwgIDI0ICsNCj4gIHRhcmdl dC9hcm0vbWVzb24uYnVpbGQgICAgICAgICAgICAgICAgIHwgICAxICsNCj4gIHRhcmdldC9hcm0v e3RjZyA9PiB9L3BzY2kuYyAgICAgICAgICAgIHwgICA4ICsNCj4gIHRhcmdldC9hcm0vdGNnL21l c29uLmJ1aWxkICAgICAgICAgICAgIHwgICA0IC0NCj4gIHRjZy90Y2cuYyAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIHwgIDIzICsNCj4gIDQ3IGZpbGVzIGNoYW5nZWQsIDE4NzggaW5zZXJ0 aW9ucygrKSwgMzQ5IGRlbGV0aW9ucygtKQ0KPiAgcmVuYW1lIHRhcmdldC9hcm0ve3RjZyA9PiB9 L3BzY2kuYyAoOTclKQ0KPiANCj4gLS0NCj4gMi4zNC4xDQoNCg==