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 mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 420D3C433EF for ; Thu, 30 Sep 2021 16:05:23 +0000 (UTC) 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 mail.kernel.org (Postfix) with ESMTPS id A14BE613A9 for ; Thu, 30 Sep 2021 16:05:22 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.4.1 mail.kernel.org A14BE613A9 Authentication-Results: mail.kernel.org; dmarc=fail (p=reject dis=none) header.from=fb.com Authentication-Results: mail.kernel.org; spf=pass smtp.mailfrom=nongnu.org Received: from localhost ([::1]:60820 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1mVyYj-0007Zn-MJ for qemu-devel@archiver.kernel.org; Thu, 30 Sep 2021 12:05:21 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:35822) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1mVxw2-0004wq-E4; Thu, 30 Sep 2021 11:25:22 -0400 Received: from mx0b-00082601.pphosted.com ([67.231.153.30]:21522) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1mVxvy-0006JT-UP; Thu, 30 Sep 2021 11:25:21 -0400 Received: from pps.filterd (m0148460.ppops.net [127.0.0.1]) by mx0a-00082601.pphosted.com (8.16.1.2/8.16.1.2) with SMTP id 18UDgRQo004671; Thu, 30 Sep 2021 08:25:02 -0700 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=fb.com; h=from : cc : subject : date : message-id : references : in-reply-to : content-type : content-id : content-transfer-encoding : mime-version; s=facebook; bh=VhloFyHhH2AqTqKP/d7TAHfooiChJ7bqBIiPKQZNTWQ=; b=YDVOxErFWiJ0vpfDaeu3qZSSvaPHZ51s9Y0Zm9JGvn4rxqHOnHvF3GxIzSfiD7x9n5oJ LQJ49dMhoDqy+9gV2Fo5Xm33uJdS3snR+6OVCO+FnqYVjA/ARDCm48d1tp2y0QRLnoBe tpvmhLqfDsLjndwmcpsghlYDKxFQYR8F3sw= Received: from mail.thefacebook.com ([163.114.132.120]) by mx0a-00082601.pphosted.com with ESMTP id 3bcy9ke0mm-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128 verify=NOT); Thu, 30 Sep 2021 08:25:02 -0700 Received: from NAM04-MW2-obe.outbound.protection.outlook.com (100.104.98.9) by o365-in.thefacebook.com (100.104.94.198) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2308.14; Thu, 30 Sep 2021 08:25:00 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=eFVNbHkUHQu3Hu11wFzY+zmc6mkGzf+EB4InBQZvgmvkB7SHZHtuFjR7efoPtYduXcY9jajxiQflBTBeg0SB79qHcRiHbeW9Y7WwdnisfnpzvCDQWpqua7H6rgZexYC3Oz2Rf0jpUZO0bw8E3Mb/jmZVW+A/7nQ6YuV7vdrmG7rLIFp6S7PDOAz//VvDF+l8iM/i17eR1nCKBlOJQ79bP788zEpC8G3LjJ2JwjB4eqhYkjs/9VbQD14ETVo7rFqKskrpG6AMq7VqUnundNZcaFm3Kt6bdOSOrlL8E5qtACWyE1eVQmdLNYqLj4XEiiafuCMil44U+5i+US6mKS87zQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version; bh=VhloFyHhH2AqTqKP/d7TAHfooiChJ7bqBIiPKQZNTWQ=; b=KAx5srpU8gFcgVV/pbBQfCZVAAkG4TEU7t+iJ+GZibuX/K0FVsb68Y1S41d9fDdMNfN2FRrnIpVgmWFNbi2mUun6ms2Zkird5pQtNVTQjQKyaciaH5y1zS7bhM9NpzhwZuZeaMLoxvgSRuA5s29mrnG/IXmGciyRc0VtFG4TFMNIHO3QrgB3pGfOIBP4rgEo23rRDvQS4T6T/iL6UB5RqGI42hrjCs4DxS85R9QySVMwHH2oL3u1hiVznhIHZJ5kTOlrbeOATYriFm0O1wCis+Mj+SuzELg3iLYMtECSgmhM8PFcj9gS5GKyzS02VVNUz1QCt0Qla6amRMs5MGst1w== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=fb.com; dmarc=pass action=none header.from=fb.com; dkim=pass header.d=fb.com; arc=none Received: from BYAPR15MB3032.namprd15.prod.outlook.com (2603:10b6:a03:ff::11) by BY3PR15MB4865.namprd15.prod.outlook.com (2603:10b6:a03:3c0::21) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4566.14; Thu, 30 Sep 2021 15:25:00 +0000 Received: from BYAPR15MB3032.namprd15.prod.outlook.com ([fe80::38da:f6f6:bb5c:dd5f]) by BYAPR15MB3032.namprd15.prod.outlook.com ([fe80::38da:f6f6:bb5c:dd5f%7]) with mapi id 15.20.4566.015; Thu, 30 Sep 2021 15:25:00 +0000 From: Peter Delevoryas CC: "patrick@stwcx.xyz" , Amithash Prasad , Dan Zhang , Cameron Esfahani via , qemu-arm , Joel Stanley , Andrew Jeffery , Peter Maydell , =?utf-8?B?UGhpbGlwcGUgTWF0aGlldS1EYXVkw6k=?= , =?utf-8?B?Q8OpZHJpYyBMZSBHb2F0ZXI=?= Subject: Re: [RFC PATCH 1/1] hw: aspeed_adc: Add initial Aspeed ADC support Thread-Topic: [RFC PATCH 1/1] hw: aspeed_adc: Add initial Aspeed ADC support Thread-Index: AQHXtZQcC7WYGSgGiESZi/nCU8pWfqu8HAcAgACXeYA= Date: Thu, 30 Sep 2021 15:24:59 +0000 Message-ID: <1CD4D960-272F-4D4F-AAE8-F42C1772662A@fb.com> References: <20210930004235.1656003-1-pdel@fb.com> <20210930004235.1656003-2-pdel@fb.com> <76c9714a-4c25-27f7-7d26-c471919e8a8f@kaod.org> In-Reply-To: <76c9714a-4c25-27f7-7d26-c471919e8a8f@kaod.org> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: authentication-results: stwcx.xyz; dkim=none (message not signed) header.d=none;stwcx.xyz; dmarc=none action=none header.from=fb.com; x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: 871094d3-0097-4d51-9630-08d9842677a5 x-ms-traffictypediagnostic: BY3PR15MB4865: x-ms-exchange-transport-forked: True x-microsoft-antispam-prvs: x-fb-source: Internal x-ms-oob-tlc-oobclassifiers: OLM:462; x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: a2CUuAmGy+Ouo2MOVM2gY8VbBRH8oX57q75NLlqo8K6Lco8z88vgFCxAiPRJesxOMoQ5vFfnnoTFWLaGwjmFZ48Z9T4xLHrLXeeW0i/SHkH400ymDHuIzHaFOBZSG5yfRx7O1u6xXnNGAnRfw1bRckj4Scdm6RsGtk/d8JZGgPnigMouVI9YNodv95BEdm9DiV3/xIk71P156Sj1RfWbZLtMTZBlRFW4XrgCQX5kEvmQLUlwwYe1kO0cD8dy7OyKtH8QGa50mZDqe6417SwLgrwgLq/Mo/FcZQpRI2TPTb/FmG8sgl7U6DAvbhzz0vyeHKtWPH1MGupy0J5zPv3TfdW8TYcLLSJKHgcioW9QgKa+Olu/sGcin2uWwUS47vQubGeSd2HRFUwJl6/qWCM68n6RUqF1fapXMIkQkWDfis9yu+9iOSvFrbkAUnvAgb8QMYpTeCB/rJudZqMvqF79GPF7SNWSvQPa7xTxOqRfXc1HMqIOva/fCQcaEeXD4u5TqpEgy9LLYJiERQ7LCGcO+u5LQ+7mdHv2S6JgMipC4PJQGFsnGhfBaCO+UNyh7kXLjxZY8pGwMS7MV/i6dEy6q+Dor7iC9+nM34jqdYJCQ8AbtuFm0EPQBXWKY/mVjfN1B1txK7rwwG3seUNRXNWqcK0NklTmCDEhQ3PRFfLsGAOxOY3pB8Hzp+6JYfgzSM2jgG8KTC880DnAzKin3IL1PBxgSjiRUlsgJOEvrBCnseo+wXliclDsNf6QqkiqxFGzg/QVdZE6eCDHMIR8etQlvGBEsIXmHzofzj1aHbEyZXFLmMqem2w/cbNeIrSXE9P3DEf2hn6lBSPQgsIZZSG+FEg3AudgrC6w3VAM4B+aMFYA7u8RCp8iJi/9j51YOwkx x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:BYAPR15MB3032.namprd15.prod.outlook.com; PTR:; CAT:NONE; SFS:(4636009)(366004)(66574015)(966005)(316002)(86362001)(508600001)(83380400001)(66446008)(64756008)(186003)(66556008)(66476007)(5660300002)(53546011)(122000001)(33656002)(2906002)(6512007)(8676002)(6486002)(36756003)(54906003)(109986005)(8936002)(71200400001)(38100700002)(76116006)(30864003)(2616005)(4326008)(6506007)(38070700005)(66946007)(2004002)(45980500001)(579004); DIR:OUT; SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?YmZwTTE5eXBLYVBRaE5tMXphcXgzalVQYzhOUGdrcnNmL1Z1aUZyeXpZTXFW?= =?utf-8?B?OVJUc2R3U2U4VHdKenhnc2tNUzliamtqeUlDRzllYXhhMGlKdzRUMFRGK3Z6?= =?utf-8?B?TmJVRUtwZkJnT0hNNGxkSHJweDVFQ0psQUdoc240UG5vMy9NcE43UjJOcTdF?= =?utf-8?B?cWpmdWFPODIydnhTaVVnRFN6WHVNS0dpa2NPSi9sczBiWGhydzhObVRYcFR3?= =?utf-8?B?Z08zZEJVUzRtN0xVSHgwTCtFOWZLWkZnUWpLRUNCa0JrOW53RUcwQ1R1U0JE?= =?utf-8?B?YU4vazhqR1lDTFRNZUVtRDZsUEFremFVbVNyOGJEYXMvbk8zaW1ScEw1TjRZ?= =?utf-8?B?b2xYeVFxb1ZhU1dDT0N3TTB0bHlqeXcrWGJVSEZ2NmZlaG9yMjc1VWtVdDhl?= =?utf-8?B?ZnpJa09LYlBNU2dKb0gwVzB1djBYTm81WWpHd2VWWWI4VUJhQWJsRU5BRXgz?= =?utf-8?B?aldRNzd6T09KdXprcUs1b2l3M3lXd1ViU0NWQy8yZjNsZW94dGo4bW9zYnNY?= =?utf-8?B?d0FkMCsyVFBXcTU4eTdIY2sxd3NHQVZkMWNtcUtsWVUraXFvTm1BN0pTa0lo?= =?utf-8?B?RC8zNnlEMXFncWRwcGFrT2FMZzdLRjBCeXZIK3V1SmlyKy9UL1kzM0pIb3Rv?= =?utf-8?B?WFo4b2wyY3Z6TGVyajlKcDRhd25DR3BQU1MwL3R4eGR1aFl2bjc5cTVJeGsx?= =?utf-8?B?MkFkU0d6ZHJsU2xFOGJ0cjIyMGJiZXluL0IwcGhNaFZKVndxYm5uZSttVUE5?= =?utf-8?B?SGJmWkY1Mk9WQlR6c1lZUy9RRXkxVy9MeWg3SUs4K1U2Mm40WWFDMFQ4dXMy?= =?utf-8?B?UGJhVjFtelBkY2VhVUU3ZGsybUJXbVdCQWRGQXA1UHNPaDI4S3U0eE9TOUR0?= =?utf-8?B?OGI2RDd2Smh5b1kzS0F2UG5uT01ZZnB3Zjhod1IrYjlmNmRLV2JRR0N3SzZh?= =?utf-8?B?dDF0S1ZUU0d0SzFzRC9nYjhTcVl5akppVmYyMnJYOW11OUpJTHhsNnZuRGVK?= =?utf-8?B?NmxSYmNTcnBCUW51cjVpUVlPd0xVSUFxdm5ScmRvYmMrSmxubzBlaDV3eExa?= =?utf-8?B?dkR0anpvT1h5VkNwZnA4dU10RkRrMWpxeUt1a3plRDA1Y09ocDNIYWc0Wkxw?= =?utf-8?B?c2FuMVlWNCtDT0svN2lITndyWXlNQ2RpTHR1VS9CK25yWU0rZnR0a2luOHFw?= =?utf-8?B?ZkFwYmtpM0JKZUVNQXpCZURNcDJndTNsWDlQWEU1OWZNaXF4bkhIM0dnMVdz?= =?utf-8?B?WDg0K3VmRWw5c2pMVVBYUWU2V2VuSHRmeUh3VzcwSFR3TmVDWTdKSWdYVVlF?= =?utf-8?B?YlI0akt6Mm1sZFBySmIzNm5PQ3IxazZ2cUVaUlJCUkVKK0dFL01OTTNzbkdr?= =?utf-8?B?SG9mRTMycjVjVmJMekJDVWlRN0E4NUQ1VkpqMFBvVkM2QWxYaEF6SE9ab2t6?= =?utf-8?B?N3o2QWZxR3ZoRk4rUUZNMFZjeHRwb2V4SzErbStmeDlTRjhjQ2RhNzBaL2gx?= =?utf-8?B?T0lDdjdncjhJS2lSMVBpMXIwNko2WlJWYTA0MkhtdWhTZ0EwbVZPUnZKN3BM?= =?utf-8?B?TEVnR3l6ZXZjVmFrNWlRZnVZckRoOGFSb2QyK3BoeTk0aExqK1F3MHhQUTFL?= =?utf-8?B?ZmtLaS9EV0Q0Z1VGY1R1WWRyT2dzaTdXcjhJNVNpM1ZMYW5IK0V4aDhUNU83?= =?utf-8?B?NnB1akFvSFZadVRYZ0xjSm9XU25SZEZTbTZaYzB2MnNtWFJkZ1FyLzBvNHFF?= =?utf-8?B?WVpWWUI4dUFhb3ppNjJCV3dGNnlUQlNkeGk2aGlRZ2luanhKN0ZkZjlNZmIz?= =?utf-8?Q?4WHhyqcYJiTd7+HhRhNqiSezbLlvvm1Tf2nrI=3D?= Content-Type: text/plain; charset="utf-8" Content-ID: <136D50CA81D6B943A307A88BC592F8AB@namprd15.prod.outlook.com> X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: BYAPR15MB3032.namprd15.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 871094d3-0097-4d51-9630-08d9842677a5 X-MS-Exchange-CrossTenant-originalarrivaltime: 30 Sep 2021 15:24:59.9330 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 8ae927fe-1255-47a7-a2af-5f3a069daaa2 X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: Faqjht5rnrx9p771fhEp83496597cB6pQBGK7DKaumDzLtElJU5XpjyC1Ha5wjaX X-MS-Exchange-Transport-CrossTenantHeadersStamped: BY3PR15MB4865 X-OriginatorOrg: fb.com X-Proofpoint-GUID: a4Aw6DPrOaArNcF3Rv7awJKDTDYnqMFN X-Proofpoint-ORIG-GUID: a4Aw6DPrOaArNcF3Rv7awJKDTDYnqMFN Content-Transfer-Encoding: base64 X-Proofpoint-UnRewURL: 0 URL was un-rewritten MIME-Version: 1.0 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.182.1,Aquarius:18.0.790,Hydra:6.0.391,FMLib:17.0.607.475 definitions=2021-09-30_05,2021-09-30_01,2020-04-07_01 X-Proofpoint-Spam-Details: rule=fb_default_notspam policy=fb_default score=0 mlxscore=0 phishscore=0 clxscore=1011 bulkscore=0 malwarescore=0 adultscore=0 priorityscore=1501 spamscore=0 suspectscore=0 mlxlogscore=999 impostorscore=0 lowpriorityscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2109230001 definitions=main-2109300095 X-FB-Internal: deliver Received-SPF: pass client-ip=67.231.153.30; envelope-from=prvs=9907073e8e=pdel@fb.com; helo=mx0b-00082601.pphosted.com X-Spam_score_int: -17 X-Spam_score: -1.8 X-Spam_bar: - X-Spam_report: (-1.8 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.001, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, MISSING_HEADERS=1.021, RCVD_IN_DNSWL_LOW=-0.7, RCVD_IN_MSPIKE_H3=0.001, RCVD_IN_MSPIKE_WL=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=no autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+qemu-devel=archiver.kernel.org@nongnu.org Sender: "Qemu-devel" DQoNCj4gT24gU2VwIDI5LCAyMDIxLCBhdCAxMToyMiBQTSwgQ8OpZHJpYyBMZSBHb2F0ZXIgPGNs Z0BrYW9kLm9yZz4gd3JvdGU6DQo+IA0KPiBIZWxsbyBQZXRlciwNCj4gDQo+IElmIHlvdSBydW4g Li9zY3JpcHRzL2dldF9tYWludGFpbmVyLnBsIG9uIHRoZSBwYXRjaCwgaXQgd2lsbCBidWlsZA0K PiB0aGUgbGlzdCBvZiBwZXJzb25zIGFuZCBtYWlsaW5nIGxpc3QgdG8gc2VuZCB0by4NCg0KT2gs IHNvcnJ5IGFib3V0IHRoYXQsIEnigJlsbCBjYyBldmVyeW9uZSBwcm9wZXJseSB3aGVuIEkgcmVz dWJtaXQgdGhpcy4NCg0KPiANCj4gT24gOS8zMC8yMSAwMjo0MiwgcGRlbEBmYi5jb20gd3JvdGU6 DQo+PiBGcm9tOiBQZXRlciBEZWxldm9yeWFzIDxwZGVsQGZiLmNvbT4NCj4+IFRoaXMgY2hhbmdl IHNldHMgdXAgQXNwZWVkIFNvQyBBREMgZW11bGF0aW9uLCBzbyB0aGF0IG1vc3QgQURDIGRyaXZl cnMNCj4+IHdpbGwgcGFzcyB0aGUgaW5pdGlhbGl6YXRpb24gc2VxdWVuY2UgYW5kIGxvYWQgc3Vj Y2Vzc2Z1bGx5LiBJbiB0aGUNCj4+IGZ1dHVyZSwgd2UgY2FuIGV4dGVuZCB0aGlzIHRvIGVtdWxh dGUgbW9yZSBmZWF0dXJlcy4NCj4+IFRoZSBpbml0aWFsaXphdGlvbiBzZXF1ZW5jZSBpczoNCj4+ ICAgICAxLiBTZXQgYEFEQzAwYCB0byBgMHhGYC4NCj4+ICAgICAyLiBXYWl0IGZvciBiaXQgOCBv ZiBgQURDMDBgIHRvIGJlIHNldC4NCj4+IEkgYWxzbyBhZGRlZCB0aGUgc2VxdWVuY2UgZm9yIGVu YWJsaW5nICJBdXRvIGNvbXBlbnNhdGluZyBzZW5zaW5nIG1vZGUiOg0KPj4gICAgIDEuIFNldCBg QURDMDBgIHRvIGAweDJGYCAoc2V0IGJpdCA1KS4NCj4+ICAgICAyLiBXYWl0IGZvciBiaXQgNSBv ZiBgQURDMDBgIHRvIGJlIHJlc2V0ICh0byB6ZXJvKS4NCj4+ICAgICAzLiAuLi4NCj4+ICAgICA0 LiAuLi4NCj4+IEZ1amkgKEFTVDI2MDApOg0KPj4gICBCZWZvcmU6DQo+PiAgICAgWyAgIDU2LjE4 NTc3OF0gYXNwZWVkX2FkYzogcHJvYmUgb2YgMWU2ZTkwMDAuYWRjIGZhaWxlZCB3aXRoIGVycm9y IC0xMTANCj4+ICAgICBbICAgNTYuNjg3OTM2XSBhc3BlZWRfYWRjOiBwcm9iZSBvZiAxZTZlOTEw MC5hZGMgZmFpbGVkIHdpdGggZXJyb3IgLTExMA0KPj4gICBBZnRlcjoNCj4+ICAgICBhc3BlZWRf YWRjX3JlYWQgMHgwYyByZWFkIDB4MDAwMA0KPj4gICAgIGFzcGVlZF9hZGNfcmVhZCAweDBjIHJl YWQgMHgwMDAwDQo+PiAgICAgYXNwZWVkX2FkY193cml0ZSAweDAwIHdyaXRlIDB4MDAwZg0KPj4g ICAgIGFzcGVlZF9hZGNfcmVhZCAweDAwIHJlYWQgMHgwMTBmDQo+PiAgICAgYXNwZWVkX2FkY19y ZWFkIDB4MDAgcmVhZCAweDAxMGYNCj4+ICAgICBbICAgNTUuODg1MTY0XSBhc3BlZWRfYWRjIDFl NmU5MDAwLmFkYzogdHJpbSA4DQo+PiAgICAgYXNwZWVkX2FkY19yZWFkIDB4YzQgcmVhZCAweDAw MDANCj4+ICAgICBhc3BlZWRfYWRjX3dyaXRlIDB4YzQgd3JpdGUgMHgwMDA4DQo+PiAgICAgYXNw ZWVkX2FkY193cml0ZSAweDAwIHdyaXRlIDB4MDExZg0KPj4gICAgIGFzcGVlZF9hZGNfd3JpdGUg MHgwMCB3cml0ZSAweDEwMTFmDQo+PiAgICAgYXNwZWVkX2FkY19yZWFkIDB4MTAgcmVhZCAweDAw MDANCj4+ICAgICBhc3BlZWRfYWRjX3dyaXRlIDB4MDAgd3JpdGUgMHgwMTBmDQo+PiAgICAgWyAg IDU1Ljg4NjUwOV0gYXNwZWVkX2FkYyAxZTZlOTAwMC5hZGM6IGN2IDUxMg0KPj4gICAgIGFzcGVl ZF9hZGNfd3JpdGUgMHgwMCB3cml0ZSAweGZmZmYwMTBmDQo+PiAgICAgYXNwZWVkX2FkY19yZWFk IDB4MGMgcmVhZCAweDAwMDANCj4+ICAgICBhc3BlZWRfYWRjX3JlYWQgMHgwYyByZWFkIDB4MDAw MA0KPj4gICAgIGFzcGVlZF9hZGNfd3JpdGUgMHgwMCB3cml0ZSAweDAwMGYNCj4+ICAgICBhc3Bl ZWRfYWRjX3JlYWQgMHgwMCByZWFkIDB4MDEwZg0KPj4gICAgIGFzcGVlZF9hZGNfcmVhZCAweDAw IHJlYWQgMHgwMTBmDQo+PiAgICAgWyAgIDU1Ljg5MDYwOV0gYXNwZWVkX2FkYyAxZTZlOTEwMC5h ZGM6IHRyaW0gOA0KPj4gICAgIGFzcGVlZF9hZGNfcmVhZCAweGM0IHJlYWQgMHgwMDAwDQo+PiAg ICAgYXNwZWVkX2FkY193cml0ZSAweGM0IHdyaXRlIDB4MDAwOA0KPj4gICAgIGFzcGVlZF9hZGNf d3JpdGUgMHgwMCB3cml0ZSAweDAxMWYNCj4+ICAgICBhc3BlZWRfYWRjX3dyaXRlIDB4MDAgd3Jp dGUgMHgxMDExZg0KPj4gICAgIGFzcGVlZF9hZGNfcmVhZCAweDEwIHJlYWQgMHgwMDAwDQo+PiAg ICAgYXNwZWVkX2FkY193cml0ZSAweDAwIHdyaXRlIDB4MDEwZg0KPj4gICAgIFsgICA1NS44OTE4 NjNdIGFzcGVlZF9hZGMgMWU2ZTkxMDAuYWRjOiBjdiA1MTINCj4+ICAgICBhc3BlZWRfYWRjX3dy aXRlIDB4MDAgd3JpdGUgMHhmZmZmMDEwZg0KPj4gWW9zZW1pdGVWMiAoQVNUMjUwMCk6DQo+PiAg IEJlZm9yZToNCj4+ICAgICBbICAgMjAuNTYxNTg4XSBhc3RfYWRjIGFzdF9hZGMuMDogYXN0X2Fk Y19wcm9iZQ0KPj4gICAgIFsgICAyMC41NjM3NDFdIGh3bW9uIGh3bW9uMDogd3JpdGUgb2Zmc2V0 OiBjNCwgdmFsOiA4DQo+PiAgICAgWyAgIDIwLjU2MzkyNV0gaHdtb24gaHdtb24wOiB3cml0ZSBv ZmZzZXQ6IGMsIHZhbDogNDANCj4+ICAgICBbICAgMjAuNTY0MDk5XSBod21vbiBod21vbjA6IHdy aXRlIG9mZnNldDogMCwgdmFsOiBmDQo+PiAgICAgWyAgIDIxLjA2NjExMF0gYXN0X2FkYzogZHJp dmVyIGluaXQgZmFpbGVkIChyZXQ9LTExMCkhDQo+PiAgICAgWyAgIDIxLjA2NjYzNV0gYXN0X2Fk YzogcHJvYmUgb2YgYXN0X2FkYy4wIGZhaWxlZCB3aXRoIGVycm9yIC0xMTANCj4+ICAgQWZ0ZXI6 DQo+PiAgICAgYXNwZWVkX2FkY193cml0ZSAweGM0IHdyaXRlIDB4MDAwOA0KPj4gICAgIGFzcGVl ZF9hZGNfd3JpdGUgMHgwYyB3cml0ZSAweDAwNDANCj4+ICAgICBhc3BlZWRfYWRjX3dyaXRlIDB4 MDAgd3JpdGUgMHgwMDBmDQo+PiAgICAgYXNwZWVkX2FkY19yZWFkIDB4MDAgcmVhZCAweDAxMGYN Cj4+ICAgICBhc3BlZWRfYWRjX3dyaXRlIDB4MDAgd3JpdGUgMHgwMDJmDQo+PiAgICAgYXNwZWVk X2FkY19yZWFkIDB4MDAgcmVhZCAweDAwMGYNCj4+ICAgICBhc3BlZWRfYWRjX3JlYWQgMHhjNCBy ZWFkIDB4MDAwOA0KPj4gICAgIFsgICAxOS42MDIwMzNdIGFzdF9hZGM6IGRyaXZlciBzdWNjZXNz ZnVsbHkgbG9hZGVkLg0KPiANCj4gDQo+IEZZSSwgdGhlc2Ugc2VyaWVzIHdhcyBzZW50IGJ5IEFu ZHJldyBpbiAyMDE3IGFuZCBJIGhhdmUgYmVlbiBrZWVwaW5nDQo+IGl0IGFsaXZlIHNpbmNlIGlu IHRoZSBhc3BlZWQteC55IGJyYW5jaGVzIDoNCj4gDQo+ICogbWVtb3J5OiBTdXBwb3J0IHVuYWxp Z25lZCBhY2Nlc3NlcyBvbiBhbGlnbmVkLW9ubHkgbW9kZWxzDQo+ICBodHRwczovL2dpdGh1Yi5j b20vbGVnb2F0ZXIvcWVtdS9jb21taXQvMTk2MGJhNmJkZTI3YjkxZWRiNTMzNjk4NWE5MjEwMjYw YTRjODkzOA0KPiANCj4gIFRoYXQgd2FzIHJlcXVlc3RlZCBieSBQaGlsIEkgdGhpbmsuDQo+IA0K PiAqIGh3L2FkYzogQWRkIGJhc2ljIEFzcGVlZCBBREMgbW9kZWwNCj4gIGh0dHBzOi8vZ2l0aHVi LmNvbS9sZWdvYXRlci9xZW11L2NvbW1pdC8xZWZmN2IxY2YxMGQxNzc3NjM1ZjdkMmNlZjhlY2I0 NDFjYzYwN2M0DQo+IA0KPiAgVGhpcyBpcyB0aGUgaW5pdGlhbCBwYXRjaC4gSSBhZGRlZCBtdWx0 aS1lbmdpbmUgc3VwcG9ydCByZWNlbnRseQ0KPiAgZm9yIHRoZSBmdWppLg0KPiANCj4gKiBody9h cm06IEludGVncmF0ZSBBREMgbW9kZWwgaW50byBBc3BlZWQgU29DDQo+ICBodHRwczovL2dpdGh1 Yi5jb20vbGVnb2F0ZXIvcWVtdS9jb21taXQvMzA1MmY5ZDhjY2RhZjc4Yjc1M2U1MzU3NGI3ZThj YzJlZTAxNDI5Zg0KPiANCj4gIFRoYXQgb25lIGlzIHRyaXZpYWwuDQo+IA0KPiANCj4gT3ZlcmFs bCBjb21tZW50cyA6DQo+IA0KPiBJIHByZWZlciB0aGUgJ3JlZ3MnIGFycmF5IGFwcHJvYWNoIG9m IHlvdXIgcHJvcG9zYWwuDQoNCk9rIChJIHdhcyBqdXN0IGZvbGxvd2luZyBwYXR0ZXJucyBmcm9t IGFzcGVlZF9zY3UuYyksIEnigJlsbCBrZWVwIHRoYXQgYXNwZWN0Lg0KDQo+IA0KPiBJIHRoaW5r IHRoZSBBc3BlZWRBRENFbmdpbmUgc2hvdWxkIGFwcGVhciBhcyBhIFFPTSBvYmplY3QuIENoZWNr DQo+IHRoZSBwYXRjaGVzIGFib3ZlLg0KDQpJIHNlZSwgSeKAmWxsIG1ha2Ugc3VyZSB0byB0ZXN0 IHRoaXMuDQoNCj4gDQo+IFRvIG1vdmUgb24sIG1heWJlLCB5b3UgY291bGQgcmV3b3JrIHRoZSBp bml0aWFsIHNlcmllcyBhbmQgdGFrZQ0KPiBvd25lcnNoaXAgPw0KPiANCg0KWWVhaCBkZWZpbml0 ZWx5ISBJ4oCZbGwgcmVzdWJtaXQgb25jZSBJ4oCZdmUgcmV3b3JrZWQgaXQuIEkgZG9u4oCZdCBp bnRlbmQNCnRvIGluY2x1ZGUgdGhlIHVuYWxpZ25lZC1hY2Nlc3Mgc3VwcG9ydCB0aG91Z2gsIGF0 IGxlYXN0IG5vdCB3LyB0aGUgQURDDQpjaGFuZ2VzLg0KDQo+IA0KPiBTb21lIG1vcmUgYmVsb3cs DQo+IA0KPiANCj4+IFNpZ25lZC1vZmYtYnk6IFBldGVyIERlbGV2b3J5YXMgPHBkZWxAZmIuY29t Pg0KPj4gLS0tDQo+PiAgaHcvYWRjL2FzcGVlZF9hZGMuYyAgICAgICAgIHwgMjA1ICsrKysrKysr KysrKysrKysrKysrKysrKysrKysrKysrKysrKw0KPj4gIGh3L2FkYy9tZXNvbi5idWlsZCAgICAg ICAgICB8ICAgMSArDQo+PiAgaHcvYWRjL3RyYWNlLWV2ZW50cyAgICAgICAgIHwgICA0ICsNCj4+ ICBody9hcm0vYXNwZWVkX2FzdDI2MDAuYyAgICAgfCAgMTggKysrKw0KPj4gIGh3L2FybS9hc3Bl ZWRfc29jLmMgICAgICAgICB8ICAxNyArKysNCj4+ICBpbmNsdWRlL2h3L2FkYy9hc3BlZWRfYWRj LmggfCAgNDggKysrKysrKysrDQo+PiAgaW5jbHVkZS9ody9hcm0vYXNwZWVkX3NvYy5oIHwgICA1 ICsNCj4+ICA3IGZpbGVzIGNoYW5nZWQsIDI5OCBpbnNlcnRpb25zKCspDQo+PiAgY3JlYXRlIG1v ZGUgMTAwNjQ0IGh3L2FkYy9hc3BlZWRfYWRjLmMNCj4+ICBjcmVhdGUgbW9kZSAxMDA2NDQgaW5j bHVkZS9ody9hZGMvYXNwZWVkX2FkYy5oDQo+PiBkaWZmIC0tZ2l0IGEvaHcvYWRjL2FzcGVlZF9h ZGMuYyBiL2h3L2FkYy9hc3BlZWRfYWRjLmMNCj4+IG5ldyBmaWxlIG1vZGUgMTAwNjQ0DQo+PiBp bmRleCAwMDAwMDAwMDAwLi41OTA5MzYxNDhiDQo+PiAtLS0gL2Rldi9udWxsDQo+PiArKysgYi9o dy9hZGMvYXNwZWVkX2FkYy5jDQo+PiBAQCAtMCwwICsxLDIwNSBAQA0KPj4gKy8qDQo+PiArICog QXNwZWVkIEFEQyBDb250cm9sbGVyDQo+PiArICoNCj4+ICsgKiBDb3B5cmlnaHQgMjAyMSBGYWNl Ym9vaywgSW5jLg0KPj4gKyAqDQo+PiArICogVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7 IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkgaXQNCj4+ICsgKiB1bmRlciB0 aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBi eSB0aGUNCj4+ICsgKiBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIg b2YgdGhlIExpY2Vuc2UsIG9yDQo+PiArICogKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVy c2lvbi4NCj4+ICsgKg0KPj4gKyAqIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUg aG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLCBidXQgV0lUSE9VVA0KPj4gKyAqIEFOWSBXQVJS QU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mIE1FUkNIQU5UQUJJTElU WSBvcg0KPj4gKyAqIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiBTZWUgdGhlIEdO VSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlDQo+PiArICogZm9yIG1vcmUgZGV0YWlscy4NCj4+ICsg Ki8NCj4+ICsNCj4+ICsjaW5jbHVkZSAicWVtdS9vc2RlcC5oIg0KPj4gKyNpbmNsdWRlICJody9h ZGMvYXNwZWVkX2FkYy5oIg0KPj4gKyNpbmNsdWRlICJody9xZGV2LXByb3BlcnRpZXMuaCINCj4+ ICsjaW5jbHVkZSAibWlncmF0aW9uL3Ztc3RhdGUuaCINCj4+ICsjaW5jbHVkZSAidHJhY2UuaCIN Cj4+ICsjaW5jbHVkZSAicWVtdS9sb2cuaCINCj4+ICsNCj4+ICsjZGVmaW5lIFRPX1JFRyhvZmZz ZXQpICgob2Zmc2V0KSA+PiAyKQ0KPj4gKyNkZWZpbmUgRU5HSU5FX0NPTlRST0wgVE9fUkVHKDB4 MDApDQo+PiArDQo+PiArc3RhdGljIHVpbnQ2NF90IGFzcGVlZF9hZGNfcmVhZCh2b2lkICpvcGFx dWUsIGh3YWRkciBvZmZzZXQsIHVuc2lnbmVkIHNpemUpDQo+PiArew0KPj4gKyAgICBBc3BlZWRB RENTdGF0ZSAqcyA9IEFTUEVFRF9BREMob3BhcXVlKTsNCj4+ICsgICAgaW50IHJlZyA9IFRPX1JF RyhvZmZzZXQpOw0KPj4gKw0KPj4gKyAgICBpZiAocmVnID49IEFTUEVFRF9BRENfTUFYX1JFR1Mp IHsNCj4+ICsgICAgICAgIHFlbXVfbG9nX21hc2soTE9HX0dVRVNUX0VSUk9SLA0KPj4gKyAgICAg ICAgICAgICAgICAgICAgICAiJXM6IE91dC1vZi1ib3VuZHMgcmVhZCAweCUwNCIgSFdBRERSX1BS SVggIlxuIiwNCj4+ICsgICAgICAgICAgICAgICAgICAgICAgX19mdW5jX18sIG9mZnNldCk7DQo+ PiArICAgICAgICByZXR1cm4gMDsNCj4+ICsgICAgfQ0KPj4gKw0KPj4gKyAgICBpbnQgdmFsdWUg PSBzLT5yZWdzW3JlZ107DQo+PiArDQo+PiArICAgIHRyYWNlX2FzcGVlZF9hZGNfcmVhZChvZmZz ZXQsIHZhbHVlKTsNCj4+ICsgICAgcmV0dXJuIHZhbHVlOw0KPj4gK30NCj4+ICsNCj4+ICtzdGF0 aWMgdm9pZCBhc3BlZWRfYWRjX3dyaXRlKHZvaWQgKm9wYXF1ZSwgaHdhZGRyIG9mZnNldCwgdWlu dDY0X3QgZGF0YSwNCj4+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVuc2lnbmVkIHNp emUpDQo+PiArew0KPj4gKyAgICBBc3BlZWRBRENTdGF0ZSAqcyA9IEFTUEVFRF9BREMob3BhcXVl KTsNCj4+ICsgICAgaW50IHJlZyA9IFRPX1JFRyhvZmZzZXQpOw0KPj4gKw0KPj4gKyAgICBpZiAo cmVnID49IEFTUEVFRF9BRENfTUFYX1JFR1MpIHsNCj4+ICsgICAgICAgIHFlbXVfbG9nX21hc2so TE9HX0dVRVNUX0VSUk9SLA0KPj4gKyAgICAgICAgICAgICAgICAgICAgICAiJXM6IE91dC1vZi1i b3VuZHMgd3JpdGUgMHglMDQiIEhXQUREUl9QUklYICJcbiIsDQo+PiArICAgICAgICAgICAgICAg ICAgICAgIF9fZnVuY19fLCBvZmZzZXQpOw0KPj4gKyAgICAgICAgcmV0dXJuOw0KPj4gKyAgICB9 DQo+PiArDQo+PiArICAgIHRyYWNlX2FzcGVlZF9hZGNfd3JpdGUob2Zmc2V0LCBkYXRhKTsNCj4+ ICsNCj4+ICsgICAgc3dpdGNoIChyZWcpIHsNCj4+ICsgICAgY2FzZSBFTkdJTkVfQ09OVFJPTDoN Cj4+ICsgICAgICAgIHN3aXRjaCAoZGF0YSkgew0KPj4gKyAgICAgICAgY2FzZSAweEY6DQo+PiAr ICAgICAgICAgICAgcy0+cmVnc1tFTkdJTkVfQ09OVFJPTF0gPSAweDEwRjsNCj4+ICsgICAgICAg ICAgICByZXR1cm47DQo+PiArICAgICAgICBjYXNlIDB4MkY6DQo+PiArICAgICAgICAgICAgcy0+ cmVnc1tFTkdJTkVfQ09OVFJPTF0gPSAweEY7DQo+PiArICAgICAgICAgICAgcmV0dXJuOw0KPj4g KyAgICAgICAgfQ0KPj4gKyAgICAgICAgYnJlYWs7DQo+PiArICAgIH0NCj4+ICsNCj4+ICsgICAg cy0+cmVnc1tyZWddID0gZGF0YTsNCj4+ICt9DQo+PiArDQo+PiArc3RhdGljIGNvbnN0IE1lbW9y eVJlZ2lvbk9wcyBhc3BlZWRfYWRjX29wcyA9IHsNCj4+ICsgICAgLnJlYWQgPSBhc3BlZWRfYWRj X3JlYWQsDQo+PiArICAgIC53cml0ZSA9IGFzcGVlZF9hZGNfd3JpdGUsDQo+PiArICAgIC5lbmRp YW5uZXNzID0gREVWSUNFX0xJVFRMRV9FTkRJQU4sDQo+PiArICAgIC52YWxpZC5taW5fYWNjZXNz X3NpemUgPSA0LA0KPj4gKyAgICAudmFsaWQubWF4X2FjY2Vzc19zaXplID0gNCwNCj4+ICsgICAg LnZhbGlkLnVuYWxpZ25lZCA9IGZhbHNlLA0KPiANCj4gVGhhdCdzIFRIRSBxdWVzdGlvbiB0aGF0 IGhhcyBiZWVuIGJsb2NraW5nIHRoZSBwYXRjaGVzIGZyb20gYmVpbmcNCj4gbWVyZ2VkIHNpbmNl IDIwMTcuDQoNCk9oIEkgc2VlLCBiZWNhdXNlIHRoZSBBREMgc3VwcG9ydHMgdW5hbGlnbmVkIGFj Y2VzcyBhbmQgc29tZQ0KZHJpdmVycyBhY3R1YWxseSB0YWtlIGFkdmFudGFnZSBvZiB0aGF0PyBN YXliZSBJIGNhbiBqdXN0IGxlYXZlDQphIGNvbW1lbnQgb3IgYWRkIGEgcWVtdV9sb2dfbWFzayB0 aGF0IHNheXMgaXTigJlzIG5vdCBzdXBwb3J0ZWQgeWV0Pw0KDQpJIGNvdWxkIGFsc28gcmVzdWJt aXQgdGhhdCBwYXRjaCBBbmRyZXcgbWFkZSBmb3IgdW5hbGlnbmVkIGFjY2VzcyB0b28uDQoNCj4g DQo+PiArfTsNCj4+ICsNCj4+ICtzdGF0aWMgdm9pZCBhc3BlZWRfYWRjX3JlYWxpemUoRGV2aWNl U3RhdGUgKmRldiwgRXJyb3IgKiplcnJwKQ0KPj4gK3sNCj4+ICsgICAgU3lzQnVzRGV2aWNlICpz YmQgPSBTWVNfQlVTX0RFVklDRShkZXYpOw0KPj4gKyAgICBBc3BlZWRBRENTdGF0ZSAqcyA9IEFT UEVFRF9BREMoZGV2KTsNCj4+ICsNCj4+ICsgICAgc3lzYnVzX2luaXRfaXJxKHNiZCwgJnMtPmly cSk7DQo+PiArICAgIC8vIFRoZSBtZW1vcnkgcmVnaW9uIGlzIGFjdHVhbGx5IDRLQiAoMHgxMDAw KSwgYnV0IHRoZXJlJ3MgMiBBREMncyBpbiB0aGUNCj4+ICsgICAgLy8gQVNUMjYwMCB0aGF0IGFy ZSBvZmZzZXQgYnkgMHgxMDAuDQo+IA0KPiBObyBDKysgY29tbWVudHMuIFBsZWFzZSBydW4gLi9z Y3JpcHRzL2NoZWNrcGF0Y2gucGwuDQoNCkVyZywgeWVhaCBzb3JyeSBhYm91dCB0aGF0LiBJIGZv cmdvdCBhYm91dCBjaGVja3BhdGNoLnBsLCBJIHdhcw0KbG9va2luZyBhdCDigJxtYWtlIGhlbHDi gJ0gYW5kIHRyaWVkIHJ1bm5pbmcgc3BhcnNlIGNhdXNlIEkgY291bGRu4oCZdA0KcmVtZW1iZXIg d2hlcmUvd2hhdCB0aGUgbGludGVyIHNjcmlwdCB3YXMuDQoNCj4gDQo+IA0KPj4gKyAgICBtZW1v cnlfcmVnaW9uX2luaXRfaW8oJnMtPm1taW8sIE9CSkVDVChzKSwgJmFzcGVlZF9hZGNfb3BzLCBz LA0KPj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgVFlQRV9BU1BFRURfQURDLCAweDEwMCk7 DQo+PiArICAgIHN5c2J1c19pbml0X21taW8oc2JkLCAmcy0+bW1pbyk7DQo+PiArfQ0KPj4gKw0K Pj4gK3N0YXRpYyB2b2lkIGFzcGVlZF9hZGNfcmVzZXQoRGV2aWNlU3RhdGUgKmRldikNCj4+ICt7 DQo+PiArICAgIEFzcGVlZEFEQ1N0YXRlICpzID0gQVNQRUVEX0FEQyhkZXYpOw0KPj4gKyAgICBB c3BlZWRBRENDbGFzcyAqYWFjID0gQVNQRUVEX0FEQ19HRVRfQ0xBU1MoZGV2KTsNCj4+ICsNCj4+ ICsgICAgbWVtY3B5KHMtPnJlZ3MsIGFhYy0+cmVzZXRzLCBhYWMtPm5yX3JlZ3MgPDwgMik7DQo+ PiArfQ0KPj4gKw0KPj4gK3N0YXRpYyBjb25zdCB1aW50MzJfdCBhc3BlZWRfMjQwMF9yZXNldHNb QVNQRUVEXzI0MDBfQURDX05SX1JFR1NdID0gew0KPj4gKyAgICBbRU5HSU5FX0NPTlRST0xdID0g MHgwMDAwMDAwMCwNCj4+ICt9Ow0KPj4gKw0KPj4gK3N0YXRpYyBjb25zdCB1aW50MzJfdCBhc3Bl ZWRfMjUwMF9yZXNldHNbQVNQRUVEXzI1MDBfQURDX05SX1JFR1NdID0gew0KPj4gKyAgICBbRU5H SU5FX0NPTlRST0xdID0gMHgwMDAwMDAwMCwNCj4+ICt9Ow0KPj4gKw0KPj4gK3N0YXRpYyBjb25z dCB1aW50MzJfdCBhc3BlZWRfMjYwMF9yZXNldHNbQVNQRUVEXzI2MDBfQURDX05SX1JFR1NdID0g ew0KPj4gKyAgICBbRU5HSU5FX0NPTlRST0xdID0gMHgwMDAwMDAwMCwNCj4+ICt9Ow0KPj4gKw0K Pj4gK3N0YXRpYyBjb25zdCBWTVN0YXRlRGVzY3JpcHRpb24gYXNwZWVkX2FkY192bXN0YXRlID0g ew0KPj4gKyAgICAubmFtZSA9IFRZUEVfQVNQRUVEX0FEQywNCj4+ICsgICAgLnZlcnNpb25faWQg PSAwLA0KPj4gKyAgICAubWluaW11bV92ZXJzaW9uX2lkID0gMCwNCj4+ICsgICAgLmZpZWxkcyA9 IChWTVN0YXRlRmllbGRbXSkgew0KPj4gKyAgICAgICAgVk1TVEFURV9VSU5UMzJfQVJSQVkocmVn cywgQXNwZWVkQURDU3RhdGUsIEFTUEVFRF9BRENfTUFYX1JFR1MpLA0KPj4gKyAgICAgICAgVk1T VEFURV9FTkRfT0ZfTElTVCgpDQo+PiArICAgIH0NCj4+ICt9Ow0KPj4gKw0KPj4gK3N0YXRpYyB2 b2lkIGFzcGVlZF9hZGNfY2xhc3NfaW5pdChPYmplY3RDbGFzcyAqa2xhc3MsIHZvaWQgKmRhdGEp DQo+PiArew0KPj4gKyAgICBEZXZpY2VDbGFzcyAqZGMgPSBERVZJQ0VfQ0xBU1Moa2xhc3MpOw0K Pj4gKyAgICBkYy0+cmVhbGl6ZSA9IGFzcGVlZF9hZGNfcmVhbGl6ZTsNCj4+ICsgICAgZGMtPnJl c2V0ID0gYXNwZWVkX2FkY19yZXNldDsNCj4+ICsgICAgZGMtPmRlc2MgPSAiQXNwZWVkIEFuYWxv Zy10by1EaWdpdGFsIENvbnZlcnRlciI7DQo+PiArICAgIGRjLT52bXNkID0gJmFzcGVlZF9hZGNf dm1zdGF0ZTsNCj4+ICt9DQo+PiArDQo+PiArc3RhdGljIHZvaWQgYXNwZWVkXzI0MDBfYWRjX2Ns YXNzX2luaXQoT2JqZWN0Q2xhc3MgKmtsYXNzLCB2b2lkICpkYXRhKQ0KPj4gK3sNCj4+ICsgICAg RGV2aWNlQ2xhc3MgKmRjID0gREVWSUNFX0NMQVNTKGtsYXNzKTsNCj4+ICsgICAgQXNwZWVkQURD Q2xhc3MgKmFhYyA9IEFTUEVFRF9BRENfQ0xBU1Moa2xhc3MpOw0KPj4gKw0KPj4gKyAgICBkYy0+ ZGVzYyA9ICJBc3BlZWQgMjQwMCBBbmFsb2ctdG8tRGlnaXRhbCBDb252ZXJ0ZXIiOw0KPj4gKyAg ICBhYWMtPnJlc2V0cyA9IGFzcGVlZF8yNDAwX3Jlc2V0czsNCj4+ICsgICAgYWFjLT5ucl9yZWdz ID0gQVNQRUVEXzI0MDBfQURDX05SX1JFR1M7DQo+PiArfQ0KPj4gKw0KPj4gK3N0YXRpYyB2b2lk IGFzcGVlZF8yNTAwX2FkY19jbGFzc19pbml0KE9iamVjdENsYXNzICprbGFzcywgdm9pZCAqZGF0 YSkNCj4+ICt7DQo+PiArICAgIERldmljZUNsYXNzICpkYyA9IERFVklDRV9DTEFTUyhrbGFzcyk7 DQo+PiArICAgIEFzcGVlZEFEQ0NsYXNzICphYWMgPSBBU1BFRURfQURDX0NMQVNTKGtsYXNzKTsN Cj4+ICsNCj4+ICsgICAgZGMtPmRlc2MgPSAiQXNwZWVkIDI1MDAgQW5hbG9nLXRvLURpZ2l0YWwg Q29udmVydGVyIjsNCj4+ICsgICAgYWFjLT5yZXNldHMgPSBhc3BlZWRfMjUwMF9yZXNldHM7DQo+ PiArICAgIGFhYy0+bnJfcmVncyA9IEFTUEVFRF8yNTAwX0FEQ19OUl9SRUdTOw0KPj4gK30NCj4+ ICsNCj4+ICtzdGF0aWMgdm9pZCBhc3BlZWRfMjYwMF9hZGNfY2xhc3NfaW5pdChPYmplY3RDbGFz cyAqa2xhc3MsIHZvaWQgKmRhdGEpDQo+PiArew0KPj4gKyAgICBEZXZpY2VDbGFzcyAqZGMgPSBE RVZJQ0VfQ0xBU1Moa2xhc3MpOw0KPj4gKyAgICBBc3BlZWRBRENDbGFzcyAqYWFjID0gQVNQRUVE X0FEQ19DTEFTUyhrbGFzcyk7DQo+PiArDQo+PiArICAgIGRjLT5kZXNjID0gIkFzcGVlZCAyNjAw IEFuYWxvZy10by1EaWdpdGFsIENvbnZlcnRlciI7DQo+PiArICAgIGFhYy0+cmVzZXRzID0gYXNw ZWVkXzI2MDBfcmVzZXRzOw0KPj4gKyAgICBhYWMtPm5yX3JlZ3MgPSBBU1BFRURfMjYwMF9BRENf TlJfUkVHUzsNCj4+ICt9DQo+PiArDQo+PiArc3RhdGljIGNvbnN0IFR5cGVJbmZvIGFzcGVlZF9h ZGNfaW5mbyA9IHsNCj4+ICsgICAgLm5hbWUgPSBUWVBFX0FTUEVFRF9BREMsDQo+PiArICAgIC5w YXJlbnQgPSBUWVBFX1NZU19CVVNfREVWSUNFLA0KPj4gKyAgICAuaW5zdGFuY2Vfc2l6ZSA9IHNp emVvZihBc3BlZWRBRENTdGF0ZSksDQo+PiArICAgIC5jbGFzc19pbml0ID0gYXNwZWVkX2FkY19j bGFzc19pbml0LA0KPj4gKyAgICAuY2xhc3Nfc2l6ZSA9IHNpemVvZihBc3BlZWRBRENDbGFzcyks DQo+PiArICAgIC5hYnN0cmFjdCA9IHRydWUsDQo+PiArfTsNCj4+ICsNCj4+ICtzdGF0aWMgY29u c3QgVHlwZUluZm8gYXNwZWVkXzI0MDBfYWRjX2luZm8gPSB7DQo+PiArICAgIC5uYW1lID0gVFlQ RV9BU1BFRURfMjQwMF9BREMsDQo+PiArICAgIC5wYXJlbnQgPSBUWVBFX0FTUEVFRF9BREMsDQo+ PiArICAgIC5pbnN0YW5jZV9zaXplID0gc2l6ZW9mKEFzcGVlZEFEQ1N0YXRlKSwNCj4+ICsgICAg LmNsYXNzX2luaXQgPSBhc3BlZWRfMjQwMF9hZGNfY2xhc3NfaW5pdCwNCj4+ICt9Ow0KPj4gKw0K Pj4gK3N0YXRpYyBjb25zdCBUeXBlSW5mbyBhc3BlZWRfMjUwMF9hZGNfaW5mbyA9IHsNCj4+ICsg ICAgLm5hbWUgPSBUWVBFX0FTUEVFRF8yNTAwX0FEQywNCj4+ICsgICAgLnBhcmVudCA9IFRZUEVf QVNQRUVEX0FEQywNCj4+ICsgICAgLmluc3RhbmNlX3NpemUgPSBzaXplb2YoQXNwZWVkQURDU3Rh dGUpLA0KPj4gKyAgICAuY2xhc3NfaW5pdCA9IGFzcGVlZF8yNTAwX2FkY19jbGFzc19pbml0LA0K Pj4gK307DQo+PiArDQo+PiArc3RhdGljIGNvbnN0IFR5cGVJbmZvIGFzcGVlZF8yNjAwX2FkY19p bmZvID0gew0KPj4gKyAgICAubmFtZSA9IFRZUEVfQVNQRUVEXzI2MDBfQURDLA0KPj4gKyAgICAu cGFyZW50ID0gVFlQRV9BU1BFRURfQURDLA0KPj4gKyAgICAuaW5zdGFuY2Vfc2l6ZSA9IHNpemVv ZihBc3BlZWRBRENTdGF0ZSksDQo+PiArICAgIC5jbGFzc19pbml0ID0gYXNwZWVkXzI2MDBfYWRj X2NsYXNzX2luaXQsDQo+PiArfTsNCj4+ICsNCj4+ICtzdGF0aWMgdm9pZCBhc3BlZWRfYWRjX3Jl Z2lzdGVyX3R5cGVzKHZvaWQpDQo+PiArew0KPj4gKyAgICB0eXBlX3JlZ2lzdGVyX3N0YXRpYygm YXNwZWVkX2FkY19pbmZvKTsNCj4+ICsgICAgdHlwZV9yZWdpc3Rlcl9zdGF0aWMoJmFzcGVlZF8y NDAwX2FkY19pbmZvKTsNCj4+ICsgICAgdHlwZV9yZWdpc3Rlcl9zdGF0aWMoJmFzcGVlZF8yNTAw X2FkY19pbmZvKTsNCj4+ICsgICAgdHlwZV9yZWdpc3Rlcl9zdGF0aWMoJmFzcGVlZF8yNjAwX2Fk Y19pbmZvKTsNCj4+ICt9DQo+PiArDQo+PiArdHlwZV9pbml0KGFzcGVlZF9hZGNfcmVnaXN0ZXJf dHlwZXMpOw0KPj4gZGlmZiAtLWdpdCBhL2h3L2FkYy9tZXNvbi5idWlsZCBiL2h3L2FkYy9tZXNv bi5idWlsZA0KPj4gaW5kZXggYWM0ZjA5M2ZlYS4uNjVlMWRkNzNjMSAxMDA2NDQNCj4+IC0tLSBh L2h3L2FkYy9tZXNvbi5idWlsZA0KPj4gKysrIGIvaHcvYWRjL21lc29uLmJ1aWxkDQo+PiBAQCAt MiwzICsyLDQgQEAgc29mdG1tdV9zcy5hZGQod2hlbjogJ0NPTkZJR19TVE0zMkYyWFhfQURDJywg aWZfdHJ1ZTogZmlsZXMoJ3N0bTMyZjJ4eF9hZGMuYycpKQ0KPj4gIHNvZnRtbXVfc3MuYWRkKHdo ZW46ICdDT05GSUdfTlBDTTdYWCcsIGlmX3RydWU6IGZpbGVzKCducGNtN3h4X2FkYy5jJykpDQo+ PiAgc29mdG1tdV9zcy5hZGQod2hlbjogJ0NPTkZJR19aWU5RJywgaWZfdHJ1ZTogZmlsZXMoJ3p5 bnEteGFkYy5jJykpDQo+PiAgc29mdG1tdV9zcy5hZGQod2hlbjogJ0NPTkZJR19NQVgxMTFYJywg aWZfdHJ1ZTogZmlsZXMoJ21heDExMXguYycpKQ0KPj4gK3NvZnRtbXVfc3MuYWRkKHdoZW46ICdD T05GSUdfQVNQRUVEX1NPQycsIGlmX3RydWU6IGZpbGVzKCdhc3BlZWRfYWRjLmMnKSkNCj4+IGRp ZmYgLS1naXQgYS9ody9hZGMvdHJhY2UtZXZlbnRzIGIvaHcvYWRjL3RyYWNlLWV2ZW50cw0KPj4g aW5kZXggNDU2ZjIxYzhmNC4uYzIzZDdiYjZkNyAxMDA2NDQNCj4+IC0tLSBhL2h3L2FkYy90cmFj ZS1ldmVudHMNCj4+ICsrKyBiL2h3L2FkYy90cmFjZS1ldmVudHMNCj4+IEBAIC0zLDMgKzMsNyBA QA0KPj4gICMgbnBjbTd4eF9hZGMuYw0KPj4gIG5wY203eHhfYWRjX3JlYWQoY29uc3QgY2hhciAq aWQsIHVpbnQ2NF90IG9mZnNldCwgdWludDMyX3QgdmFsdWUpICIgJXMgb2Zmc2V0OiAweCUwNCIg UFJJeDY0ICIgdmFsdWUgMHglMDQiIFBSSXgzMg0KPj4gIG5wY203eHhfYWRjX3dyaXRlKGNvbnN0 IGNoYXIgKmlkLCB1aW50NjRfdCBvZmZzZXQsIHVpbnQzMl90IHZhbHVlKSAiJXMgb2Zmc2V0OiAw eCUwNCIgUFJJeDY0ICIgdmFsdWUgMHglMDQiIFBSSXgzMg0KPj4gKw0KPj4gKyMgYXNwZWVkX2Fk Yy5jDQo+PiArYXNwZWVkX2FkY19yZWFkKHVpbnQ4X3Qgb2Zmc2V0LCB1aW50MzJfdCB2YWx1ZSkg ICIweCUwMiIgUFJJeDggIiByZWFkIDB4JTA0IiBQUkl4MzINCj4+ICthc3BlZWRfYWRjX3dyaXRl KHVpbnQ4X3Qgb2Zmc2V0LCB1aW50MzJfdCB2YWx1ZSkgIjB4JTAyIiBQUkl4OCAiIHdyaXRlIDB4 JTA0IiBQUkl4MzINCj4+IGRpZmYgLS1naXQgYS9ody9hcm0vYXNwZWVkX2FzdDI2MDAuYyBiL2h3 L2FybS9hc3BlZWRfYXN0MjYwMC5jDQo+PiBpbmRleCA5ZDcwZThlMDYwLi5hNTgyZTg4MmYyIDEw MDY0NA0KPj4gLS0tIGEvaHcvYXJtL2FzcGVlZF9hc3QyNjAwLmMNCj4+ICsrKyBiL2h3L2FybS9h c3BlZWRfYXN0MjYwMC5jDQo+PiBAQCAtNDQsNiArNDQsNyBAQCBzdGF0aWMgY29uc3QgaHdhZGRy IGFzcGVlZF9zb2NfYXN0MjYwMF9tZW1tYXBbXSA9IHsNCj4+ICAgICAgW0FTUEVFRF9ERVZfU0NV XSAgICAgICA9IDB4MUU2RTIwMDAsDQo+PiAgICAgIFtBU1BFRURfREVWX1hETUFdICAgICAgPSAw eDFFNkU3MDAwLA0KPj4gICAgICBbQVNQRUVEX0RFVl9BRENdICAgICAgID0gMHgxRTZFOTAwMCwN Cj4+ICsgICAgW0FTUEVFRF9ERVZfQURDMl0gICAgICA9IDB4MUU2RTkxMDAsDQo+IA0KPiBMb29r IGF0IHRoZSBBc3BlZWRBRENFbmdpbmUgYXBwcm9hY2ggaW50cm9kdWNlZCBpbiB0aGUgaW5pdGlh bA0KPiBzZXJpZXMuIEl0IHNpbXBsaWZpZXMgdGhlIGludGVncmF0aW9uIGluIHRoZSBtYWNoaW5l Lg0KDQpPaCB5ZWFoLCBJ4oCZbGwgdXNlIHRoZSBBc3BlZWRBRENFbmdpbmUgYXBwcm9hY2ggaW5z dGVhZC4NCg0KPiANCj4gVGhhbmtzLA0KPiANCj4gQy4NCj4gDQo+PiAgICAgIFtBU1BFRURfREVW X1ZJREVPXSAgICAgPSAweDFFNzAwMDAwLA0KPj4gICAgICBbQVNQRUVEX0RFVl9TREhDSV0gICAg ID0gMHgxRTc0MDAwMCwNCj4+ICAgICAgW0FTUEVFRF9ERVZfRU1NQ10gICAgICA9IDB4MUU3NTAw MDAsDQo+PiBAQCAtNzcsNiArNzgsNyBAQCBzdGF0aWMgY29uc3QgaW50IGFzcGVlZF9zb2NfYXN0 MjYwMF9pcnFtYXBbXSA9IHsNCj4+ICAgICAgW0FTUEVFRF9ERVZfU0RNQ10gICAgICA9IDAsDQo+ PiAgICAgIFtBU1BFRURfREVWX1NDVV0gICAgICAgPSAxMiwNCj4+ICAgICAgW0FTUEVFRF9ERVZf QURDXSAgICAgICA9IDc4LA0KPj4gKyAgICBbQVNQRUVEX0RFVl9BREMyXSAgICAgID0gNzgsDQo+ PiAgICAgIFtBU1BFRURfREVWX1hETUFdICAgICAgPSA2LA0KPj4gICAgICBbQVNQRUVEX0RFVl9T REhDSV0gICAgID0gNDMsDQo+PiAgICAgIFtBU1BFRURfREVWX0VIQ0kxXSAgICAgPSA1LA0KPj4g QEAgLTIxNiw2ICsyMTgsMTEgQEAgc3RhdGljIHZvaWQgYXNwZWVkX3NvY19hc3QyNjAwX2luaXQo T2JqZWN0ICpvYmopDQo+PiAgICAgICAgc25wcmludGYodHlwZW5hbWUsIHNpemVvZih0eXBlbmFt ZSksICJhc3BlZWQuaGFjZS0lcyIsIHNvY25hbWUpOw0KPj4gICAgICBvYmplY3RfaW5pdGlhbGl6 ZV9jaGlsZChvYmosICJoYWNlIiwgJnMtPmhhY2UsIHR5cGVuYW1lKTsNCj4+ICsNCj4+ICsgICAg c25wcmludGYodHlwZW5hbWUsIHNpemVvZih0eXBlbmFtZSksICJhc3BlZWQuYWRjLSVzIiwgc29j bmFtZSk7DQo+PiArICAgIGZvciAoaSA9IDA7IGkgPCBzYy0+YWRjc19udW07IGkrKykgew0KPj4g KyAgICAgICAgb2JqZWN0X2luaXRpYWxpemVfY2hpbGQob2JqLCAiYWRjWypdIiwgJnMtPmFkY1tp XSwgdHlwZW5hbWUpOw0KPj4gKyAgICB9DQo+PiAgfQ0KPj4gICAgLyoNCj4+IEBAIC01MDcsNiAr NTE0LDE2IEBAIHN0YXRpYyB2b2lkIGFzcGVlZF9zb2NfYXN0MjYwMF9yZWFsaXplKERldmljZVN0 YXRlICpkZXYsIEVycm9yICoqZXJycCkNCj4+ICAgICAgc3lzYnVzX21taW9fbWFwKFNZU19CVVNf REVWSUNFKCZzLT5oYWNlKSwgMCwgc2MtPm1lbW1hcFtBU1BFRURfREVWX0hBQ0VdKTsNCj4+ICAg ICAgc3lzYnVzX2Nvbm5lY3RfaXJxKFNZU19CVVNfREVWSUNFKCZzLT5oYWNlKSwgMCwNCj4+ICAg ICAgICAgICAgICAgICAgICAgICAgIGFzcGVlZF9zb2NfZ2V0X2lycShzLCBBU1BFRURfREVWX0hB Q0UpKTsNCj4+ICsNCj4+ICsgICAgLyogQURDICovDQo+PiArICAgIGZvciAoaW50IGkgPSAwOyBp IDwgc2MtPmFkY3NfbnVtOyBpKyspIHsNCj4+ICsgICAgICAgIFN5c0J1c0RldmljZSAqYnVzID0g U1lTX0JVU19ERVZJQ0UoJnMtPmFkY1tpXSk7DQo+PiArICAgICAgICBpZiAoIXN5c2J1c19yZWFs aXplKGJ1cywgZXJycCkpIHsNCj4+ICsgICAgICAgICAgICByZXR1cm47DQo+PiArICAgICAgICB9 DQo+PiArICAgICAgICBzeXNidXNfbW1pb19tYXAoYnVzLCAwLCBzYy0+bWVtbWFwW0FTUEVFRF9E RVZfQURDICsgaV0pOw0KPj4gKyAgICAgICAgc3lzYnVzX2Nvbm5lY3RfaXJxKGJ1cywgMCwgYXNw ZWVkX3NvY19nZXRfaXJxKHMsIEFTUEVFRF9ERVZfQURDICsgaSkpOw0KPj4gKyAgICB9DQo+PiAg fQ0KPj4gICAgc3RhdGljIHZvaWQgYXNwZWVkX3NvY19hc3QyNjAwX2NsYXNzX2luaXQoT2JqZWN0 Q2xhc3MgKm9jLCB2b2lkICpkYXRhKQ0KPj4gQEAgLTUyNCw2ICs1NDEsNyBAQCBzdGF0aWMgdm9p ZCBhc3BlZWRfc29jX2FzdDI2MDBfY2xhc3NfaW5pdChPYmplY3RDbGFzcyAqb2MsIHZvaWQgKmRh dGEpDQo+PiAgICAgIHNjLT5laGNpc19udW0gICAgPSAyOw0KPj4gICAgICBzYy0+d2R0c19udW0g ICAgID0gNDsNCj4+ICAgICAgc2MtPm1hY3NfbnVtICAgICA9IDQ7DQo+PiArICAgIHNjLT5hZGNz X251bSAgICAgPSAyOw0KPj4gICAgICBzYy0+aXJxbWFwICAgICAgID0gYXNwZWVkX3NvY19hc3Qy NjAwX2lycW1hcDsNCj4+ICAgICAgc2MtPm1lbW1hcCAgICAgICA9IGFzcGVlZF9zb2NfYXN0MjYw MF9tZW1tYXA7DQo+PiAgICAgIHNjLT5udW1fY3B1cyAgICAgPSAyOw0KPj4gZGlmZiAtLWdpdCBh L2h3L2FybS9hc3BlZWRfc29jLmMgYi9ody9hcm0vYXNwZWVkX3NvYy5jDQo+PiBpbmRleCBlZDg0 NTAyZTIzLi40MTJjNTU3ZTQwIDEwMDY0NA0KPj4gLS0tIGEvaHcvYXJtL2FzcGVlZF9zb2MuYw0K Pj4gKysrIGIvaHcvYXJtL2FzcGVlZF9zb2MuYw0KPj4gQEAgLTIxNiw2ICsyMTYsMTEgQEAgc3Rh dGljIHZvaWQgYXNwZWVkX3NvY19pbml0KE9iamVjdCAqb2JqKQ0KPj4gICAgICAgIHNucHJpbnRm KHR5cGVuYW1lLCBzaXplb2YodHlwZW5hbWUpLCAiYXNwZWVkLmhhY2UtJXMiLCBzb2NuYW1lKTsN Cj4+ICAgICAgb2JqZWN0X2luaXRpYWxpemVfY2hpbGQob2JqLCAiaGFjZSIsICZzLT5oYWNlLCB0 eXBlbmFtZSk7DQo+PiArDQo+PiArICAgIHNucHJpbnRmKHR5cGVuYW1lLCBzaXplb2YodHlwZW5h bWUpLCAiYXNwZWVkLmFkYy0lcyIsIHNvY25hbWUpOw0KPj4gKyAgICBmb3IgKGkgPSAwOyBpIDwg c2MtPmFkY3NfbnVtOyBpKyspIHsNCj4+ICsgICAgICAgIG9iamVjdF9pbml0aWFsaXplX2NoaWxk KG9iaiwgImFkY1sqXSIsICZzLT5hZGNbaV0sIHR5cGVuYW1lKTsNCj4+ICsgICAgfQ0KPj4gIH0N Cj4+ICAgIHN0YXRpYyB2b2lkIGFzcGVlZF9zb2NfcmVhbGl6ZShEZXZpY2VTdGF0ZSAqZGV2LCBF cnJvciAqKmVycnApDQo+PiBAQCAtNDM1LDYgKzQ0MCwxNiBAQCBzdGF0aWMgdm9pZCBhc3BlZWRf c29jX3JlYWxpemUoRGV2aWNlU3RhdGUgKmRldiwgRXJyb3IgKiplcnJwKQ0KPj4gICAgICBzeXNi dXNfbW1pb19tYXAoU1lTX0JVU19ERVZJQ0UoJnMtPmhhY2UpLCAwLCBzYy0+bWVtbWFwW0FTUEVF RF9ERVZfSEFDRV0pOw0KPj4gICAgICBzeXNidXNfY29ubmVjdF9pcnEoU1lTX0JVU19ERVZJQ0Uo JnMtPmhhY2UpLCAwLA0KPj4gICAgICAgICAgICAgICAgICAgICAgICAgYXNwZWVkX3NvY19nZXRf aXJxKHMsIEFTUEVFRF9ERVZfSEFDRSkpOw0KPj4gKw0KPj4gKyAgICAvKiBBREMgKi8NCj4+ICsg ICAgZm9yIChpbnQgaSA9IDA7IGkgPCBzYy0+YWRjc19udW07IGkrKykgew0KPj4gKyAgICAgICAg U3lzQnVzRGV2aWNlICpidXMgPSBTWVNfQlVTX0RFVklDRSgmcy0+YWRjW2ldKTsNCj4+ICsgICAg ICAgIGlmICghc3lzYnVzX3JlYWxpemUoYnVzLCBlcnJwKSkgew0KPj4gKyAgICAgICAgICAgIHJl dHVybjsNCj4+ICsgICAgICAgIH0NCj4+ICsgICAgICAgIHN5c2J1c19tbWlvX21hcChidXMsIDAs IHNjLT5tZW1tYXBbQVNQRUVEX0RFVl9BREMgKyBpXSk7DQo+PiArICAgICAgICBzeXNidXNfY29u bmVjdF9pcnEoYnVzLCAwLCBhc3BlZWRfc29jX2dldF9pcnEocywgQVNQRUVEX0RFVl9BREMgKyBp KSk7DQo+PiArICAgIH0NCj4+ICB9DQo+PiAgc3RhdGljIFByb3BlcnR5IGFzcGVlZF9zb2NfcHJv cGVydGllc1tdID0gew0KPj4gICAgICBERUZJTkVfUFJPUF9MSU5LKCJkcmFtIiwgQXNwZWVkU29D U3RhdGUsIGRyYW1fbXIsIFRZUEVfTUVNT1JZX1JFR0lPTiwNCj4+IEBAIC00NzUsNiArNDkwLDcg QEAgc3RhdGljIHZvaWQgYXNwZWVkX3NvY19hc3QyNDAwX2NsYXNzX2luaXQoT2JqZWN0Q2xhc3Mg Km9jLCB2b2lkICpkYXRhKQ0KPj4gICAgICBzYy0+ZWhjaXNfbnVtICAgID0gMTsNCj4+ICAgICAg c2MtPndkdHNfbnVtICAgICA9IDI7DQo+PiAgICAgIHNjLT5tYWNzX251bSAgICAgPSAyOw0KPj4g KyAgICBzYy0+YWRjc19udW0gICAgID0gMTsNCj4+ICAgICAgc2MtPmlycW1hcCAgICAgICA9IGFz cGVlZF9zb2NfYXN0MjQwMF9pcnFtYXA7DQo+PiAgICAgIHNjLT5tZW1tYXAgICAgICAgPSBhc3Bl ZWRfc29jX2FzdDI0MDBfbWVtbWFwOw0KPj4gICAgICBzYy0+bnVtX2NwdXMgICAgID0gMTsNCj4+ IEBAIC01MDAsNiArNTE2LDcgQEAgc3RhdGljIHZvaWQgYXNwZWVkX3NvY19hc3QyNTAwX2NsYXNz X2luaXQoT2JqZWN0Q2xhc3MgKm9jLCB2b2lkICpkYXRhKQ0KPj4gICAgICBzYy0+ZWhjaXNfbnVt ICAgID0gMjsNCj4+ICAgICAgc2MtPndkdHNfbnVtICAgICA9IDM7DQo+PiAgICAgIHNjLT5tYWNz X251bSAgICAgPSAyOw0KPj4gKyAgICBzYy0+YWRjc19udW0gICAgID0gMTsNCj4+ICAgICAgc2Mt PmlycW1hcCAgICAgICA9IGFzcGVlZF9zb2NfYXN0MjUwMF9pcnFtYXA7DQo+PiAgICAgIHNjLT5t ZW1tYXAgICAgICAgPSBhc3BlZWRfc29jX2FzdDI1MDBfbWVtbWFwOw0KPj4gICAgICBzYy0+bnVt X2NwdXMgICAgID0gMTsNCj4+IGRpZmYgLS1naXQgYS9pbmNsdWRlL2h3L2FkYy9hc3BlZWRfYWRj LmggYi9pbmNsdWRlL2h3L2FkYy9hc3BlZWRfYWRjLmgNCj4+IG5ldyBmaWxlIG1vZGUgMTAwNjQ0 DQo+PiBpbmRleCAwMDAwMDAwMDAwLi41NTI4NzgxYmUwDQo+PiAtLS0gL2Rldi9udWxsDQo+PiAr KysgYi9pbmNsdWRlL2h3L2FkYy9hc3BlZWRfYWRjLmgNCj4+IEBAIC0wLDAgKzEsNDggQEANCj4+ ICsvKg0KPj4gKyAqIEFzcGVlZCBBREMgQ29udHJvbGxlcg0KPj4gKyAqDQo+PiArICogQ29weXJp Z2h0IDIwMjEgRmFjZWJvb2ssIEluYy4NCj4+ICsgKg0KPj4gKyAqIFRoaXMgcHJvZ3JhbSBpcyBm cmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5IGl0DQo+ PiArICogdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBh cyBwdWJsaXNoZWQgYnkgdGhlDQo+PiArICogRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRo ZXIgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvcg0KPj4gKyAqIChhdCB5b3VyIG9wdGlvbikg YW55IGxhdGVyIHZlcnNpb24uDQo+PiArICoNCj4+ICsgKiBUaGlzIHByb2dyYW0gaXMgZGlzdHJp YnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwgYnV0IFdJVEhPVVQNCj4+ ICsgKiBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZiBN RVJDSEFOVEFCSUxJVFkgb3INCj4+ICsgKiBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9T RS4gU2VlIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQ0KPj4gKyAqIGZvciBtb3JlIGRl dGFpbHMuDQo+PiArICovDQo+PiArDQo+PiArI2lmbmRlZiBBU1BFRURfQURDX0gNCj4+ICsjZGVm aW5lIEFTUEVFRF9BRENfSA0KPj4gKw0KPj4gKyNpbmNsdWRlICJxZW11L29zZGVwLmgiDQo+PiAr I2luY2x1ZGUgImh3L3N5c2J1cy5oIg0KPj4gKyNpbmNsdWRlICJxb20vb2JqZWN0LmgiDQo+PiAr DQo+PiArI2RlZmluZSBUWVBFX0FTUEVFRF9BREMgImFzcGVlZC5hZGMiDQo+PiArT0JKRUNUX0RF Q0xBUkVfVFlQRShBc3BlZWRBRENTdGF0ZSwgQXNwZWVkQURDQ2xhc3MsIEFTUEVFRF9BREMpDQo+ PiArI2RlZmluZSBUWVBFX0FTUEVFRF8yNDAwX0FEQyBUWVBFX0FTUEVFRF9BREMgIi1hc3QyNDAw Ig0KPj4gKyNkZWZpbmUgVFlQRV9BU1BFRURfMjUwMF9BREMgVFlQRV9BU1BFRURfQURDICItYXN0 MjUwMCINCj4+ICsjZGVmaW5lIFRZUEVfQVNQRUVEXzI2MDBfQURDIFRZUEVfQVNQRUVEX0FEQyAi LWFzdDI2MDAiDQo+PiArDQo+PiArI2RlZmluZSBBU1BFRURfMjQwMF9BRENfTlJfUkVHUyAoMHhD NCA+PiAyKQ0KPj4gKyNkZWZpbmUgQVNQRUVEXzI1MDBfQURDX05SX1JFR1MgKDB4QzggPj4gMikN Cj4+ICsjZGVmaW5lIEFTUEVFRF8yNjAwX0FEQ19OUl9SRUdTICgweEQwID4+IDIpDQo+PiArI2Rl ZmluZSBBU1BFRURfQURDX01BWF9SRUdTIEFTUEVFRF8yNjAwX0FEQ19OUl9SRUdTDQo+PiArDQo+ PiArc3RydWN0IEFzcGVlZEFEQ1N0YXRlIHsNCj4+ICsgICAgU3lzQnVzRGV2aWNlIHBhcmVudDsN Cj4+ICsgICAgTWVtb3J5UmVnaW9uIG1taW87DQo+PiArICAgIHFlbXVfaXJxIGlycTsNCj4+ICsg ICAgdWludDMyX3QgcmVnc1tBU1BFRURfQURDX01BWF9SRUdTXTsNCj4+ICt9Ow0KPj4gKw0KPj4g K3N0cnVjdCBBc3BlZWRBRENDbGFzcyB7DQo+PiArICAgIFN5c0J1c0RldmljZUNsYXNzIHBhcmVu dDsNCj4+ICsgICAgY29uc3QgdWludDMyX3QgKnJlc2V0czsNCj4+ICsgICAgdWludDMyX3QgbnJf cmVnczsNCj4+ICt9Ow0KPj4gKw0KPj4gKyNlbmRpZg0KPj4gZGlmZiAtLWdpdCBhL2luY2x1ZGUv aHcvYXJtL2FzcGVlZF9zb2MuaCBiL2luY2x1ZGUvaHcvYXJtL2FzcGVlZF9zb2MuaA0KPj4gaW5k ZXggODdkNzZjOTI1OS4uNDUwM2YwODg3MCAxMDA2NDQNCj4+IC0tLSBhL2luY2x1ZGUvaHcvYXJt L2FzcGVlZF9zb2MuaA0KPj4gKysrIGIvaW5jbHVkZS9ody9hcm0vYXNwZWVkX3NvYy5oDQo+PiBA QCAtMzAsMTIgKzMwLDE0IEBADQo+PiAgI2luY2x1ZGUgImh3L3VzYi9oY2QtZWhjaS5oIg0KPj4g ICNpbmNsdWRlICJxb20vb2JqZWN0LmgiDQo+PiAgI2luY2x1ZGUgImh3L21pc2MvYXNwZWVkX2xw Yy5oIg0KPj4gKyNpbmNsdWRlICJody9hZGMvYXNwZWVkX2FkYy5oIg0KPj4gICAgI2RlZmluZSBB U1BFRURfU1BJU19OVU0gIDINCj4+ICAjZGVmaW5lIEFTUEVFRF9FSENJU19OVU0gMg0KPj4gICNk ZWZpbmUgQVNQRUVEX1dEVFNfTlVNICA0DQo+PiAgI2RlZmluZSBBU1BFRURfQ1BVU19OVU0gIDIN Cj4+ICAjZGVmaW5lIEFTUEVFRF9NQUNTX05VTSAgNA0KPj4gKyNkZWZpbmUgQVNQRUVEX0FEQ1Nf TlVNICAyDQo+PiAgICBzdHJ1Y3QgQXNwZWVkU29DU3RhdGUgew0KPj4gICAgICAvKjwgcHJpdmF0 ZSA+Ki8NCj4+IEBAIC02NSw2ICs2Nyw3IEBAIHN0cnVjdCBBc3BlZWRTb0NTdGF0ZSB7DQo+PiAg ICAgIEFzcGVlZFNESENJU3RhdGUgc2RoY2k7DQo+PiAgICAgIEFzcGVlZFNESENJU3RhdGUgZW1t YzsNCj4+ICAgICAgQXNwZWVkTFBDU3RhdGUgbHBjOw0KPj4gKyAgICBBc3BlZWRBRENTdGF0ZSBh ZGNbQVNQRUVEX0FEQ1NfTlVNXTsNCj4+ICAgICAgdWludDMyX3QgdWFydF9kZWZhdWx0Ow0KPj4g IH07DQo+PiAgQEAgLTgyLDYgKzg1LDcgQEAgc3RydWN0IEFzcGVlZFNvQ0NsYXNzIHsNCj4+ICAg ICAgaW50IGVoY2lzX251bTsNCj4+ICAgICAgaW50IHdkdHNfbnVtOw0KPj4gICAgICBpbnQgbWFj c19udW07DQo+PiArICAgIGludCBhZGNzX251bTsNCj4+ICAgICAgY29uc3QgaW50ICppcnFtYXA7 DQo+PiAgICAgIGNvbnN0IGh3YWRkciAqbWVtbWFwOw0KPj4gICAgICB1aW50MzJfdCBudW1fY3B1 czsNCj4+IEBAIC0xMDUsNiArMTA5LDcgQEAgZW51bSB7DQo+PiAgICAgIEFTUEVFRF9ERVZfU0RN QywNCj4+ICAgICAgQVNQRUVEX0RFVl9TQ1UsDQo+PiAgICAgIEFTUEVFRF9ERVZfQURDLA0KPj4g KyAgICBBU1BFRURfREVWX0FEQzIsDQo+PiAgICAgIEFTUEVFRF9ERVZfVklERU8sDQo+PiAgICAg IEFTUEVFRF9ERVZfU1JBTSwNCj4+ICAgICAgQVNQRUVEX0RFVl9TREhDSSwNCj4gDQoNCg==