Received: from malur.postgresql.org ([217.196.149.56]) by arkaria.postgresql.org with esmtps (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1p20px-0000da-SK for pgsql-hackers@arkaria.postgresql.org; Mon, 05 Dec 2022 02:04:06 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.92) (envelope-from ) id 1p20pv-000185-Dt for pgsql-hackers@arkaria.postgresql.org; Mon, 05 Dec 2022 02:04:03 +0000 Received: from makus.postgresql.org ([2001:4800:3e1:1::229]) by malur.postgresql.org with esmtps (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1p20pu-00017w-DB for pgsql-hackers@lists.postgresql.org; Mon, 05 Dec 2022 02:04:03 +0000 Received: from mx04.melco.co.jp ([192.218.140.144]) by makus.postgresql.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1p20pn-0004HU-0V for pgsql-hackers@postgresql.org; Mon, 05 Dec 2022 02:04:01 +0000 Received: from mr04.melco.co.jp (mr04 [133.141.98.166]) by mx04.melco.co.jp (Postfix) with ESMTP id 4NQRfv6XWxzMvdkh; Mon, 5 Dec 2022 11:03:51 +0900 (JST) Received: from mr04.melco.co.jp (unknown [127.0.0.1]) by mr04.imss (Postfix) with ESMTP id 4NQRfv5VLFzMvrcS; Mon, 5 Dec 2022 11:03:51 +0900 (JST) Received: from mf04_second.melco.co.jp (unknown [192.168.20.184]) by mr04.melco.co.jp (Postfix) with ESMTP id 4NQRfv58n9zMr9pN; Mon, 5 Dec 2022 11:03:51 +0900 (JST) Received: from mf04.melco.co.jp (unknown [133.141.98.184]) by mf04_second.melco.co.jp (Postfix) with ESMTP id 4NQRfv4pkhzMs91s; Mon, 5 Dec 2022 11:03:51 +0900 (JST) Received: from JPN01-TYC-obe.outbound.protection.outlook.com (unknown [104.47.23.170]) by mf04.melco.co.jp (Postfix) with ESMTP id 4NQRfv4TpJzMs91t; Mon, 5 Dec 2022 11:03:51 +0900 (JST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=V48FYvNd+BacUbgvZQ0RRg9PfkkVwjT5dxx5Pxsax6IM8YUBTiV6E/ALmp9PNB/s/xsTgkXuKrBRK+x8YjRdpP5vAu39siSF8guZbIFx5YoVwN6rEiGw9LaEWXOD1eZ7QMPc9b1fKoI47u7JlBX4Yn4SDplyrE3K0XSVieikkGR/DH6Slt/6gTkc16eaWul0HT7RN0mBl4DLdAxLHzjPKDF5cvMfwgejAtEVmj/re3ZNddkQrpN1xslCMcspwss5bzYy3EZrbE4EDtMCYQotkeniQFkh4fw8kYWU/mEum8/ldTzh5MjMEz9UiLppA0xo0umUHDal0MeamEaXMJ4fdw== 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:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=3Ye4PG9w1Zq9FigwubcJuiDusjLeZSHbDmpN+h756Ds=; b=asYn+E4KZzRoOTtGYcmjuuLV6FnDVKApkoNEq1sHROQATQcavpp38VlEf+mnt9gt11L4QmDLGuRvgqxm1ET3PwZHTals1DVNvJTuG4sToILLb2n1wyusV/wG+YzmnBnxgan/LWpBHiJmAjCvMm1KM2KZCEKg6aBQ6iyzJl/5w0rsw+xUXRFyGTkDM/WcjnpxsybEPoUtVacKJGOddshgCPSaZLeXhoVUvHs78Ed9AqxVFYyICFvHeJzH0J6C2d3yvidrdczae8XISBG+MD1d9gvD0CQWcVKraAF5Fpz1SLW0ZCQJg9sS8wXHR/CE8Zjw/OZ8Ta3+22sIi+k/bvklNg== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=df.mitsubishielectric.co.jp; dmarc=pass action=none header.from=df.mitsubishielectric.co.jp; dkim=pass header.d=df.mitsubishielectric.co.jp; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=mitsubishielectricgroup.onmicrosoft.com; s=selector2-mitsubishielectricgroup-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=3Ye4PG9w1Zq9FigwubcJuiDusjLeZSHbDmpN+h756Ds=; b=nDbvVnFxSqSswkH0iGyUklijCeWPknrOqtjcS7nWtoSHO3FbroU5lk0K3wUrbcFLzqhp100LmVbnBiuB39a/SSk2h4lOCv6ECuRBQfHkYbvS75ue8A9I+pmnWV5fKXvMnIlmX/oloRFJdRhUbpmX2cchLoA/IyIUeg7uXhCGKrU= Received: from OS3PR01MB6660.jpnprd01.prod.outlook.com (2603:1096:604:10e::8) by TYCPR01MB5966.jpnprd01.prod.outlook.com (2603:1096:400:49::10) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5880.13; Mon, 5 Dec 2022 02:03:50 +0000 Received: from OS3PR01MB6660.jpnprd01.prod.outlook.com ([fe80::36bb:9279:34ab:7f27]) by OS3PR01MB6660.jpnprd01.prod.outlook.com ([fe80::36bb:9279:34ab:7f27%7]) with mapi id 15.20.5880.014; Mon, 5 Dec 2022 02:03:50 +0000 From: "Fujii.Yuki@df.MitsubishiElectric.co.jp" To: Alexander Pyhalov CC: Tomas Vondra , PostgreSQL-development , Andres Freund , Julien Rouhaud , Daniel Gustafsson , Ilya Gladyshev , "Fujii.Yuki@df.MitsubishiElectric.co.jp" Subject: RE: Partial aggregates pushdown Thread-Topic: Partial aggregates pushdown Thread-Index: AQHYPYasTfJpCf0a4028YJm7JfY5bazLVbIAgAA/QgCAzsLGAICupJqAgAOhGYCAC47OQIAAf6sAgAAdMNCAAEyGgIAAtjrAgAD/KACABTrjIA== Date: Mon, 5 Dec 2022 02:03:49 +0000 Message-ID: References: <05d98f67a4f44b31d90dfb977db4ad71@postgrespro.ru> <317f8de58ce9889e056f2944e200a44d@postgrespro.ru> <2ed9ad03bc17cfb86da900d541a270b0@postgrespro.ru> <20220114121653.mjzqelwgnzwqhkoa@jrouhaud> <0cc653ad90dbfc5ca0fd8bb1ca57e1a7@postgrespro.ru> <2ad047732a8b8a9aaaad06fef59fb283@postgrespro.ru> <925e2d3f11283d8b2707fc5d827fc3e9@postgrespro.ru> <20220322004914.opkwl3beedl4uhks@alap3.anarazel.de> <57db913f-02c6-66af-2928-513e2b1c65f7@enterprisedb.com> <8dc86e502fbd9d04da0dc6cdd4156f84@postgrespro.ru> <313df801f860f653ebb8c6422794a5b5@postgrespro.ru> In-Reply-To: Accept-Language: ja-JP, en-US Content-Language: ja-JP X-MS-Has-Attach: yes X-MS-TNEF-Correlator: x-melpop: 1 authentication-results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=df.MitsubishiElectric.co.jp; x-ms-publictraffictype: Email x-ms-traffictypediagnostic: OS3PR01MB6660:EE_|TYCPR01MB5966:EE_ x-ms-office365-filtering-correlation-id: f959cb3b-b7e6-47f7-5397-08dad664f3b9 x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: ZH3dq7VlI9dWmJl/nYc230Db54RJhBiqmeWFXIWJ/PkdTLU+gWCVNGwS+IHBZk/8g00sG/rurmJtu09WaWEHrvGl6VFIoT+v5UwZpjfRhFqmQAtqEq5L4kRfpppjbVzyjVM+/Cc9EYuojpUKczny/hxYFWl70AOgdQppZR9XVxzcZZmNEA5w1WQaUt7/omf5iGw2tEqq3TWOzNFSpbycCDNVf/pggpIvc4Vxt5aJr4oHPtDLL1JngP0HfZrTHRde+XHBh9mG7MWro5dNz/gsxQtvoFd3Fx+YZvHDqlkVAznbOErp8efduAvRtpak75pTIMosaJQRlVSrSzeG4kn+ny/7XkPbxc/K5mz5KQ3Gn1dAPRIYqX18UN/5zSC0J3XcznkL1yxfe0L2LERvZbqius8pUne18VKwFWiNEPAleDQy7cXLQSKd9zcXSFQUel/GCpgugg1gvmmeDDeAzdlRUgdOw+5Occkzfi/CLvJ3x0nZfS0J4D5QFpYm4a7uaeWfM7wBzk1DkGqoXb4CfBDqj/4Ws9XikjRGeQYoz7rS49CE4xcm8FKlKqpDuuGBf0+7XJcfSv4CaFirXCxB8eD9bqX8zbzcfp/SF56i//GzUXi7OE1LFkaTny9TgnTBTKiufR6ssMGgsd8y2skw2uSAGBDsjs2xLYdMHzb7sRexWK6KQ2EwfukYcqTD8sIcoO8BKiXE5sBnqfMdawj/BNGjzTU7oTDbRQm6BZYobaLYlkw= x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:OS3PR01MB6660.jpnprd01.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230022)(4636009)(39860400002)(136003)(366004)(396003)(346002)(376002)(451199015)(107886003)(41300700001)(7116003)(5660300002)(54906003)(66476007)(99936003)(316002)(2906002)(52536014)(66446008)(6916009)(33656002)(66946007)(76116006)(64756008)(66556008)(4744005)(8676002)(8936002)(4326008)(86362001)(55016003)(966005)(7696005)(71200400001)(38100700002)(478600001)(55236004)(38070700005)(122000001)(26005)(6506007)(9686003)(186003)(3480700007)(83380400001);DIR:OUT;SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?STQ5MXl0cVJyek5BMjlUZ1VoRnkvMGJFblBsZEhHVHhMWWRMVHVOWEVpZU4w?= =?utf-8?B?UTVwSWZFdUQ0dTVrZkRDbWdPaTdXbWZqZElpN2taT1B3RkxyVjl0OEFNaCsy?= =?utf-8?B?eUlFN05iblNWUFVEcVNVNERtem5HMTNHdUFGUnZSUzNTVEptRU5yTGZzODFl?= =?utf-8?B?Y1NQUk9aYS9CNjJrYTNLVlRCaHRFdjVvUGRZYXVpZFFWSDZZbmNOV2ZoR2Ir?= =?utf-8?B?WVVkZWFuUndzbGlPaFNaYnQ0ZXRpVnRnRXVPQ3VEVG00bGd0V1hZcFpiNzdv?= =?utf-8?B?cmo1SVdUYWNnU1NyaGJtQlFWVTZBMEJjYVptWXpSN2VWZEgrSkE2RUgwcjBG?= =?utf-8?B?ZUNPUkNrcjFiS3paMzFOV3dsWVJSVVBiR29pbkYvTzBXeGRyQlF5R1pNVm56?= =?utf-8?B?Y1h2QWE2UXMvVGw3SGNkUWpBUWtUbThUWGFTR3QrM1NyaS9URlNDaWlTNFRW?= =?utf-8?B?ZUFBQXRCY1FDWUxITUlKU0xicC9YRHJtUGFpeThIaW5qcWc2TTRoMlhLZDV0?= =?utf-8?B?eFN5VExLN2ZnV1RUcWZ3d3V3aDlXa09MTVMyT1I2ekRVeE5QbDdBdUtyT2tP?= =?utf-8?B?a3o2UzlGOHg0VmdyY1lJNkNEYlpoTXQ0YVJvN25iTUhJSEk4RnRtaXpQZEFu?= =?utf-8?B?Ymk0Tk9QNzNuNTJCYncybmhEcWxvR1lPbkY5am5vYXg3R0wvQktsQjI0L0RH?= =?utf-8?B?bytuSWJKakFENUZLd1BtVmJqb0krVHpaS1VQOWdwVmVlYnYxd2ZMcnFhTEFO?= =?utf-8?B?R1lJaDhkWm11YXJZSVh5Mm1qTlhmMzU3bGF2SDNwdW5XeFJWd25DNE5oUWQ1?= =?utf-8?B?Zmd6TnVTdXI5ZjU0UUJWMDRXVlM0UW1Tai9oMGtkcUZWczhFQU9RaloranlT?= =?utf-8?B?QUVZN2JjU0VjeE1WTFFvV1RXQkdBVDNlK1JpK0FFY0J5ZGtlQi9zOW0xZUN1?= =?utf-8?B?c1dYRmN3czczZzBubWxzcTI0RC93M1lMeTRobFhVVEZkL2ZodlVpdjZrdjZW?= =?utf-8?B?aERTSTRsdTlRWVg4NlY4UmJFaWgyWmNtZnlteThLVE1yenE2Z1RSM1ovenln?= =?utf-8?B?aVlRN25BMkhadlpWWmI3WExXWUxXTUNna1VFM2lYZHRmYko1SjJxeDREUDV5?= =?utf-8?B?Tm9ZVm5RU1gyNUd2U1BPY0xjTGh5S09Hc2RRUzBUNTNMTlpQTGMyUzlTZDVj?= =?utf-8?B?b2xCeUVwYXZtM3U3MllBVUxvY1A4N2ROOGtJeWlyRHJiS0J5dTd4V0JSNjNE?= =?utf-8?B?eUM1RllpbVpjdHd1RnUxYkZFOWU2bm1oSGF3S2dudGtYUXUwUmhIQ3dqWCtW?= =?utf-8?B?STJ6UGUvVzBycCs3WlR3aHFsVFRybmQ0QktTWjVIM3dVWFRQZ0hoaHRNUTc1?= =?utf-8?B?WE50cTdsdXA4ZGR0V0xBNlppYWIyWlRiUFFTazREZ2JEaGNZQTlkOCttMi9T?= =?utf-8?B?RnhCWXRCQkJhRERSbmZwZzVET3BXQUxRREtkRFRTeFFiYWJhdmtKLzg1QVNV?= =?utf-8?B?RmJVZGIrYkFBRVhVVjg3YW5JN013UjJ6bEQvYU1jam81ZmtiMzdFeUZLYkV0?= =?utf-8?B?MzNGMzNRMmRMcGhaQzM2MHJza095OXhxdWlsTFBvSzI2bTVmOHNrRmd0VVN4?= =?utf-8?B?MkJ1V3BQZTFLVlN0Kyt2QzZyZTlVTi9oQmlNV0hHQXJSTzdTZHBMaFJkcU9l?= =?utf-8?B?S0o1ZVpmNWZSaXFROVRIeGM5a0JXZUxoenQyS1ZVcmx3aWJadGNCblpDemVy?= =?utf-8?B?QWhSWjJoRTdhTnBTSk9wZkdYVUdyYWhEN1RqSjR2OGhUWlpRSlZHaEUzOStQ?= =?utf-8?B?d0h2YlF2cEtOYmYwNjBsQi9KYXJmRHlndTNXQXBYMHV3cW9JT3lPQVZ1RHNM?= =?utf-8?B?eVRsRUtPbENKclZiYlBSNHJiOUFOcU4zTTYxdEdGZEhhVFRxcUZMZThzeTNF?= =?utf-8?B?Vk1sZDNERG12OXhGU0VOMkdQNUFlbkNWT2hCYnhhNGZ5RWhmb0EzNkcrN1dZ?= =?utf-8?B?UEcxb1hoK1hqR0pjSHM2SWJMOG56SEpJZk1CMjF1dVJGaExEa3A3Slc0Ni9D?= =?utf-8?B?eEhPN2NBc01sRkdQOEg3YkdSUkNOL1JkZEJBWkk0aGlCc1FLMDduMzBUZm5M?= =?utf-8?Q?9/X3AhfiuBDewGUObro/dvYK3?= Content-Type: multipart/mixed; boundary="_002_OS3PR01MB6660CB590AEF3644A9EEE07D95189OS3PR01MB6660jpnp_" MIME-Version: 1.0 X-OriginatorOrg: df.MitsubishiElectric.co.jp X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: OS3PR01MB6660.jpnprd01.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: f959cb3b-b7e6-47f7-5397-08dad664f3b9 X-MS-Exchange-CrossTenant-originalarrivaltime: 05 Dec 2022 02:03:50.0272 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: c5a75b62-4bff-4c96-a720-6621ce9978e5 X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: LncmfTfKub+x3M8h8VaAIC0nI4xGwlDUWB+2bRK5DQi7kSGDWuoGQHuzu1uUpox3eRDpey8YtDpmIFbk7wBPfA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: TYCPR01MB5966 List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk --_002_OS3PR01MB6660CB590AEF3644A9EEE07D95189OS3PR01MB6660jpnp_ Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 SGkgTXIuUHloYWxvdi4NCg0KPiBBdHRhY2hpbmcgbWlub3IgZml4ZXMuIEkgaGF2ZW4ndCBwcm9v Zi1yZWFkIGFsbCBjb21tZW50cyAoYnV0IHBlcmhhcHMsIHRoZXkNCj4gbmVlZCBhdHRlbnRpb24g ZnJvbSBzb21lIG5hdGl2ZSBzcGVha2VyKS4NClRoYW5rIHlvdS4gSSBmaXhlZCBhY2NvcmRpbmcg dG8geW91ciBwYXRjaC4NCkFuZCBJIGZpeGVkIGhhdmUgcHJvb2YtcmVhZCBhbGwgY29tbWVudHMg YW5kIG1lc3NhZ2VzLg0KDQo+IFRlc3RlZCBpdCB3aXRoIHF1ZXJpZXMgZnJvbQ0KPiBodHRwczov L2dpdGh1Yi5jb20vc3dhcm02NC9zNjRkYS1iZW5jaG1hcmstdG9vbGtpdCwgd29ya3MgYXMgZXhw ZWN0ZWQuDQpUaGFuayB5b3UgZm9yIGFkZGl0aW9uYWwgdGVzdHMuDQoNClNpbmNlcmVseSB5b3Vy cywNCll1dWtpIEZ1amlpDQoNCi0tDQpZdXVraSBGdWppaQ0KSW5mb3JtYXRpb24gVGVjaG5vbG9n eSBSJkQgQ2VudGVyIE1pdHN1YmlzaGkgRWxlY3RyaWMgQ29ycG9yYXRpb24NCg== --_002_OS3PR01MB6660CB590AEF3644A9EEE07D95189OS3PR01MB6660jpnp_ Content-Type: application/octet-stream; name="0001-Partial-aggregates-push-down-v16.patch" Content-Description: 0001-Partial-aggregates-push-down-v16.patch Content-Disposition: attachment; filename="0001-Partial-aggregates-push-down-v16.patch"; size=63278; creation-date="Mon, 05 Dec 2022 00:59:00 GMT"; modification-date="Mon, 05 Dec 2022 02:03:49 GMT" Content-Transfer-Encoding: base64 RnJvbSBjZmNhZTE1MjA2NGEwNGZlODFjNzA4NTQ4Mzg3YjgxYjU3MGNhMGI1IE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBZdWtpIEZ1amlpIDxGdWppaS5ZdWtpQGRmLk1pdHN1YmlzaGlF bGVjdHJpYy5jby5qcD4KRGF0ZTogTW9uLCA1IERlYyAyMDIyIDEwOjMxOjIzICswOTAwClN1Ympl Y3Q6IFtQQVRDSF0gUGFydGlhbCBhZ2dyZWdhdGVzIHB1c2ggZG93biB2MTYKCi0tLQogY29udHJp Yi9wb3N0Z3Jlc19mZHcvZGVwYXJzZS5jICAgICAgICAgICAgICAgIHwgIDk3ICsrKysrLQogLi4u L3Bvc3RncmVzX2Zkdy9leHBlY3RlZC9wb3N0Z3Jlc19mZHcub3V0ICAgIHwgMjk2ICsrKysrKysr KysrKysrKysrLQogY29udHJpYi9wb3N0Z3Jlc19mZHcvb3B0aW9uLmMgICAgICAgICAgICAgICAg IHwgIDI0ICsrCiBjb250cmliL3Bvc3RncmVzX2Zkdy9wb3N0Z3Jlc19mZHcuYyAgICAgICAgICAg fCAgMjIgKy0KIGNvbnRyaWIvcG9zdGdyZXNfZmR3L3Bvc3RncmVzX2Zkdy5oICAgICAgICAgICB8 ICAgMyArCiBjb250cmliL3Bvc3RncmVzX2Zkdy9zcWwvcG9zdGdyZXNfZmR3LnNxbCAgICAgfCAg ODUgKysrKy0KIHNyYy9iYWNrZW5kL2NhdGFsb2cvcGdfYWdncmVnYXRlLmMgICAgICAgICAgICB8 ICAzMiArKwogc3JjL2JhY2tlbmQvY29tbWFuZHMvYWdncmVnYXRlY21kcy5jICAgICAgICAgIHwg ICA4ICsKIHNyYy9iaW4vcGdfZHVtcC9wZ19kdW1wLmMgICAgICAgICAgICAgICAgICAgICB8ICAy NSArLQogc3JjL2luY2x1ZGUvY2F0YWxvZy9wZ19hZ2dyZWdhdGUuZGF0ICAgICAgICAgIHwgIDYy ICsrKy0KIHNyYy9pbmNsdWRlL2NhdGFsb2cvcGdfYWdncmVnYXRlLmggICAgICAgICAgICB8ICAx MSArCiBzcmMvaW5jbHVkZS9jYXRhbG9nL3BnX3Byb2MuZGF0ICAgICAgICAgICAgICAgfCAgMzUg KysrCiAuLi4vcmVncmVzcy9leHBlY3RlZC9jcmVhdGVfYWdncmVnYXRlLm91dCAgICAgfCAgMjQg KysKIHNyYy90ZXN0L3JlZ3Jlc3MvZXhwZWN0ZWQvb2lkam9pbnMub3V0ICAgICAgICB8ICAgMSAr CiBzcmMvdGVzdC9yZWdyZXNzL3NxbC9jcmVhdGVfYWdncmVnYXRlLnNxbCAgICAgfCAgMjQgKysK IDE1IGZpbGVzIGNoYW5nZWQsIDcxNSBpbnNlcnRpb25zKCspLCAzNCBkZWxldGlvbnMoLSkKCmRp ZmYgLS1naXQgYS9jb250cmliL3Bvc3RncmVzX2Zkdy9kZXBhcnNlLmMgYi9jb250cmliL3Bvc3Rn cmVzX2Zkdy9kZXBhcnNlLmMKaW5kZXggOTUyNDc2NTY1MC4uOTIyMDI3NzI3ZiAxMDA2NDQKLS0t IGEvY29udHJpYi9wb3N0Z3Jlc19mZHcvZGVwYXJzZS5jCisrKyBiL2NvbnRyaWIvcG9zdGdyZXNf ZmR3L2RlcGFyc2UuYwpAQCAtMjAyLDcgKzIwMiw3IEBAIHN0YXRpYyBib29sIGlzX3N1YnF1ZXJ5 X3ZhcihWYXIgKm5vZGUsIFJlbE9wdEluZm8gKmZvcmVpZ25yZWwsCiAJCQkJCQkJaW50ICpyZWxu bywgaW50ICpjb2xubyk7CiBzdGF0aWMgdm9pZCBnZXRfcmVsYXRpb25fY29sdW1uX2FsaWFzX2lk cyhWYXIgKm5vZGUsIFJlbE9wdEluZm8gKmZvcmVpZ25yZWwsCiAJCQkJCQkJCQkJICBpbnQgKnJl bG5vLCBpbnQgKmNvbG5vKTsKLQorc3RhdGljIGJvb2wgcGFydGlhbF9hZ2dfb2soQWdncmVmKiBh Z2csIFBnRmR3UmVsYXRpb25JbmZvKiBmcGluZm8pOwogCiAvKgogICogRXhhbWluZSBlYWNoIHF1 YWwgY2xhdXNlIGluIGlucHV0X2NvbmRzLCBhbmQgY2xhc3NpZnkgdGhlbSBpbnRvIHR3byBncm91 cHMsCkBAIC05MDcsOCArOTA3LDkgQEAgZm9yZWlnbl9leHByX3dhbGtlcihOb2RlICpub2RlLAog CQkJCWlmICghSVNfVVBQRVJfUkVMKGdsb2JfY3h0LT5mb3JlaWducmVsKSkKIAkJCQkJcmV0dXJu IGZhbHNlOwogCi0JCQkJLyogT25seSBub24tc3BsaXQgYWdncmVnYXRlcyBhcmUgcHVzaGFibGUu ICovCi0JCQkJaWYgKGFnZy0+YWdnc3BsaXQgIT0gQUdHU1BMSVRfU0lNUExFKQorCQkJCWlmICgo YWdnLT5hZ2dzcGxpdCAhPSBBR0dTUExJVF9TSU1QTEUpICYmIChhZ2ctPmFnZ3NwbGl0ICE9IEFH R1NQTElUX0lOSVRJQUxfU0VSSUFMKSkKKwkJCQkJcmV0dXJuIGZhbHNlOworCQkJCWlmIChhZ2ct PmFnZ3NwbGl0ID09IEFHR1NQTElUX0lOSVRJQUxfU0VSSUFMICYmICFwYXJ0aWFsX2FnZ19vayhh Z2csIGZwaW5mbykpCiAJCQkJCXJldHVybiBmYWxzZTsKIAogCQkJCS8qIEFzIHVzdWFsLCBpdCBt dXN0IGJlIHNoaXBwYWJsZS4gKi8KQEAgLTM0NDgsMTQgKzM0NDksMzcgQEAgZGVwYXJzZUFnZ3Jl ZihBZ2dyZWYgKm5vZGUsIGRlcGFyc2VfZXhwcl9jeHQgKmNvbnRleHQpCiAJU3RyaW5nSW5mbwli dWYgPSBjb250ZXh0LT5idWY7CiAJYm9vbAkJdXNlX3ZhcmlhZGljOwogCi0JLyogT25seSBiYXNp Yywgbm9uLXNwbGl0IGFnZ3JlZ2F0aW9uIGFjY2VwdGVkLiAqLwotCUFzc2VydChub2RlLT5hZ2dz cGxpdCA9PSBBR0dTUExJVF9TSU1QTEUpOworCisJQXNzZXJ0KChub2RlLT5hZ2dzcGxpdCA9PSBB R0dTUExJVF9TSU1QTEUpIHx8CisJCShub2RlLT5hZ2dzcGxpdCA9PSBBR0dTUExJVF9JTklUSUFM X1NFUklBTCkpOwogCiAJLyogQ2hlY2sgaWYgbmVlZCB0byBwcmludCBWQVJJQURJQyAoY2YuIHJ1 bGV1dGlscy5jKSAqLwogCXVzZV92YXJpYWRpYyA9IG5vZGUtPmFnZ3ZhcmlhZGljOwogCi0JLyog RmluZCBhZ2dyZWdhdGUgbmFtZSBmcm9tIGFnZ2Zub2lkIHdoaWNoIGlzIGEgcGdfcHJvYyBlbnRy eSAqLwotCWFwcGVuZEZ1bmN0aW9uTmFtZShub2RlLT5hZ2dmbm9pZCwgY29udGV4dCk7CisJaWYg KChub2RlLT5hZ2dzcGxpdCA9PSBBR0dTUExJVF9TSU1QTEUpKSB7CisJCS8qIEZpbmQgYWdncmVn YXRlIG5hbWUgZnJvbSBhZ2dmbm9pZCB3aGljaCBpcyBhIHBnX3Byb2MgZW50cnkgKi8KKwkJYXBw ZW5kRnVuY3Rpb25OYW1lKG5vZGUtPmFnZ2Zub2lkLCBjb250ZXh0KTsKKwl9CisJZWxzZSB7CisJ CUhlYXBUdXBsZQkJCWFnZ3R1cDsKKwkJRm9ybV9wZ19hZ2dyZWdhdGUJYWdnZm9ybTsKKworCQkv KiBGaW5kIGFnZ3JlZ2F0ZSBuYW1lIGZyb20gYWdnZm5vaWQgb3IgcGFydGlhbGFnZ2ZuIHdoaWNo IGlzIGEgcGdfcHJvYyBlbnRyeSAqLworCQlhZ2d0dXAgPSBTZWFyY2hTeXNDYWNoZTEoQUdHRk5P SUQsIE9iamVjdElkR2V0RGF0dW0obm9kZS0+YWdnZm5vaWQpKTsKKwkJaWYgKCFIZWFwVHVwbGVJ c1ZhbGlkKGFnZ3R1cCkpCisJCQllbG9nKEVSUk9SLCAiY2FjaGUgbG9va3VwIGZhaWxlZCBmb3Ig YWdncmVnYXRlICV1Iiwgbm9kZS0+YWdnZm5vaWQpOworCQlhZ2dmb3JtID0gKEZvcm1fcGdfYWdn cmVnYXRlKUdFVFNUUlVDVChhZ2d0dXApOworCisJCWlmICgoYWdnZm9ybS0+YWdndHJhbnN0eXBl ICE9IElOVEVSTkFMT0lEKSAmJiAoYWdnZm9ybS0+YWdnZmluYWxmbiA9PSBJbnZhbGlkT2lkKSkg eworCQkJYXBwZW5kRnVuY3Rpb25OYW1lKG5vZGUtPmFnZ2Zub2lkLCBjb250ZXh0KTsKKwkJfSBl bHNlIGlmKGFnZ2Zvcm0tPnBhcnRpYWxhZ2dmbikgeworCQkJYXBwZW5kRnVuY3Rpb25OYW1lKGFn Z2Zvcm0tPnBhcnRpYWxhZ2dmbiwgY29udGV4dCk7CisJCX0gZWxzZSB7CisJCQllbG9nKEVSUk9S LCAidGhlcmUgaXMgbm8gcGFydGlhbGFnZ2ZuICV1Iiwgbm9kZS0+YWdnZm5vaWQpOworCQl9CisJ CVJlbGVhc2VTeXNDYWNoZShhZ2d0dXApOworCX0KKwogCWFwcGVuZFN0cmluZ0luZm9DaGFyKGJ1 ZiwgJygnKTsKIAogCS8qIEFkZCBESVNUSU5DVCAqLwpAQCAtMzk2MSwzICszOTg1LDYyIEBAIGdl dF9yZWxhdGlvbl9jb2x1bW5fYWxpYXNfaWRzKFZhciAqbm9kZSwgUmVsT3B0SW5mbyAqZm9yZWln bnJlbCwKIAkvKiBTaG91bGRuJ3QgZ2V0IGhlcmUgKi8KIAllbG9nKEVSUk9SLCAidW5leHBlY3Rl ZCBleHByZXNzaW9uIGluIHN1YnF1ZXJ5IG91dHB1dCIpOwogfQorCisvKgorICogQ2hlY2sgdGhh dCBwYXJ0aWFsIGFnZ3JlZ2F0ZSBmdW5jdGlvbiwgZGVzY3JpYmVkIGJ5IGFnZ2Zvcm0sCisgKiBl eGlzdHMgb24gcmVtb3RlIHNlcnZlciwgZGVzY3JpYmVkIGJ5IGZwaW5mby4KKyAqLworc3RhdGlj IGJvb2wKK3BhcnRpYWxfYWdnX2NvbXBhdGlibGUoRm9ybV9wZ19hZ2dyZWdhdGUgYWdnZm9ybSwg UGdGZHdSZWxhdGlvbkluZm8gKmZwaW5mbykKK3sKKwlpbnQzMiAgcGFydGlhbGFnZ19taW52ZXJz aW9uID0gUEdfVkVSU0lPTl9OVU07CisJaWYgKGFnZ2Zvcm0tPnBhcnRpYWxhZ2dfbWludmVyc2lv biAhPSBQQVJUSUFMQUdHX01JTlZFUlNJT05fREVGQVVMVCkgeworCQlwYXJ0aWFsYWdnX21pbnZl cnNpb24gPSBhZ2dmb3JtLT5wYXJ0aWFsYWdnX21pbnZlcnNpb247CisJfQorCXJldHVybiAoZnBp bmZvLT5zZXJ2ZXJfdmVyc2lvbiA+PSBwYXJ0aWFsYWdnX21pbnZlcnNpb24pOworfQorCisvKgor ICogQ2hlY2sgdGhhdCBwYXJ0aWFsIGFnZ3JlZ2F0ZSBhZ2cgaXMgZmluZSB0byBwdXNoIGRvd24u CisgKgorICogSXQgaXMgZmluZSB3aGVuIGFsbCBvZiB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMg YXJlIHRydWUuCisgKiBjb25kaXRpb24xKSBhZ2cgaXMgQUdHS0lORF9OT1JNQUwgYWdncmVnYXRl IHdoaWNoIGNvbnRhaW5zIG5vIGRpc3RpbmN0IAorICogICBvciBvcmRlciBieSBjbGF1c2VzCisg KiBjb25kaXRpb24yKSB0aGVyZSBpcyBhbiBhZ2dyZWdhdGUgZnVuY3Rpb24gZm9yIHBhcnRpYWwg YWdncmVnYXRpb24KKyAqICAgKHRoZW4gd2UgY2FsbCB0aGlzIHBhcnRpYWxhZ2dmdW5jKSBjb3Jy ZXNwb25kaW5nIHRvIGFnZy4KKyAqICAgY29uZGl0aW9uMiBpcyB0cnVlIHdoZW4gZWl0aGVyIG9m IHRoZSBmb2xsb3dpbmcgY2FzZXMgaXMgdHJ1ZS4KKyAqICAgY2FzZTItMSkgcmV0dXJuIHR5cGUg b2YgYWdnIGlzIG5vdCBpbnRlcm5hbCBhbmQgYWdnIGhhcyBubyBmaW5hbGZ1bmMuCisgKiAgICAg SW4gdGhpcyBjYXNlLCBwYXJ0aWFsYWdnZnVuYyBpcyBhZ2cgaXRzZWxmLgorICogICBjYXNlMi0y KSBhZ2cgaGFzIHZhbGlkIHBhcnRpYWxhZ2dmbiBhbmQgcGFydGlhbGFnZ19taW52ZXJzaW9uIDw9 IHNlcnZlcl92ZXJzaW9uLgorICogICAgIEluIHRoaXMgY2FzZSwgcGFydGlhbGFnZ2Z1bmMgaXMg YSBhZ2dyZWdhdGUgZnVuY3Rpb24gd2hvc2Ugb2lkIGlzIHBhcnRpYWxhZ2dmbi4KKyAqLworc3Rh dGljIGJvb2wKK3BhcnRpYWxfYWdnX29rKEFnZ3JlZiogYWdnLCBQZ0Zkd1JlbGF0aW9uSW5mbyAq ZnBpbmZvKQoreworCUhlYXBUdXBsZQlhZ2d0dXA7CisJRm9ybV9wZ19hZ2dyZWdhdGUgYWdnZm9y bTsKKwlib29sICAgICAgICBwYXJ0aWFsX2FnZ19vayA9IHRydWU7CisKKwlBc3NlcnQoYWdnLT5h Z2dzcGxpdCA9PSBBR0dTUExJVF9JTklUSUFMX1NFUklBTCk7CisKKwkvKiBXZSBkb24ndCBzdXBw b3J0IGNvbXBsZXggcGFydGlhbCBhZ2dyZWdhdGVzICovCisJaWYgKGFnZy0+YWdnZGlzdGluY3Qg fHwgYWdnLT5hZ2draW5kICE9IEFHR0tJTkRfTk9STUFMIHx8IGFnZy0+YWdnb3JkZXIgIT0gTklM KQorCQlyZXR1cm4gZmFsc2U7CisKKwlhZ2d0dXAgPSBTZWFyY2hTeXNDYWNoZTEoQUdHRk5PSUQs IE9iamVjdElkR2V0RGF0dW0oYWdnLT5hZ2dmbm9pZCkpOworCWlmICghSGVhcFR1cGxlSXNWYWxp ZChhZ2d0dXApKQorCQllbG9nKEVSUk9SLCAiY2FjaGUgbG9va3VwIGZhaWxlZCBmb3IgYWdncmVn YXRlICV1IiwgYWdnLT5hZ2dmbm9pZCk7CisJYWdnZm9ybSA9IChGb3JtX3BnX2FnZ3JlZ2F0ZSlH RVRTVFJVQ1QoYWdndHVwKTsKKworCWlmICgoYWdnZm9ybS0+YWdndHJhbnN0eXBlID09IElOVEVS TkFMT0lEKSB8fCAoYWdnZm9ybS0+YWdnZmluYWxmbiAhPSBJbnZhbGlkT2lkKSkgeworCQkvKiBP bmx5IGFnZ3JlZ2F0ZXMgd2hpY2ggaGFzIHBhcnRpYWxhZ2dmbiwgYXJlIGFsbG93ZWQgKi8KKwkJ aWYgKCFhZ2dmb3JtLT5wYXJ0aWFsYWdnZm4pIHsKKwkJCXBhcnRpYWxfYWdnX29rID0gZmFsc2U7 CisJCX0gZWxzZSBpZiAoIXBhcnRpYWxfYWdnX2NvbXBhdGlibGUoYWdnZm9ybSwgZnBpbmZvKSkg eworCQkJcGFydGlhbF9hZ2dfb2sgPSBmYWxzZTsKKwkJfQorCX0KKworCVJlbGVhc2VTeXNDYWNo ZShhZ2d0dXApOworCXJldHVybiBwYXJ0aWFsX2FnZ19vazsKK30KZGlmZiAtLWdpdCBhL2NvbnRy aWIvcG9zdGdyZXNfZmR3L2V4cGVjdGVkL3Bvc3RncmVzX2Zkdy5vdXQgYi9jb250cmliL3Bvc3Rn cmVzX2Zkdy9leHBlY3RlZC9wb3N0Z3Jlc19mZHcub3V0CmluZGV4IDU1OGU5NGI4NDUuLmUzMTU0 NDYwNmEgMTAwNjQ0Ci0tLSBhL2NvbnRyaWIvcG9zdGdyZXNfZmR3L2V4cGVjdGVkL3Bvc3RncmVz X2Zkdy5vdXQKKysrIGIvY29udHJpYi9wb3N0Z3Jlc19mZHcvZXhwZWN0ZWQvcG9zdGdyZXNfZmR3 Lm91dApAQCAtOTY0NSwxMyArOTY0NSwzNCBAQCBSRVNFVCBlbmFibGVfcGFydGl0aW9ud2lzZV9q b2luOwogLS0gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PQogLS0gdGVzdCBwYXJ0aXRpb253aXNlIGFnZ3JlZ2F0ZXMKIC0t ID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT0KLUNSRUFURSBUQUJMRSBwYWdnX3RhYiAoYSBpbnQsIGIgaW50LCBjIHRleHQp IFBBUlRJVElPTiBCWSBSQU5HRShhKTsKK0NSRUFURSBPUiBSRVBMQUNFIEZVTkNUSU9OIGZfc2Vy dmVyX3ZlcnNpb25fbGFnKHZlcnNpb25fb2Zmc2V0IGludDQpIFJFVFVSTlMgdGV4dCBBUyAkJAor ICAgIFNFTEVDVCAoc2V0dGluZzo6aW50NCArIHZlcnNpb25fb2Zmc2V0KTo6dGV4dCBGUk9NIHBn X3NldHRpbmdzIFdIRVJFIG5hbWUgPSAnc2VydmVyX3ZlcnNpb25fbnVtJzsKKyQkIExBTkdVQUdF IHNxbDsKK0NSRUFURSBPUiBSRVBMQUNFIEZVTkNUSU9OIGZfYWx0ZXJfc2VydmVyX3ZlcnNpb24o c2VydmVyX25hbWUgdGV4dCwgb3BlcmF0aW9uIHRleHQsIHZlcnNpb25fb2Zmc2V0IGludDQpIFJF VFVSTlMgdm9pZCBBUyAkJAorICAgIERFQ0xBUkUKKyAgICAgICAgdmVyc2lvbl9udW0gdGV4dDsK KyAgICBCRUdJTgorICAgICAgICBFWEVDVVRFICdTRUxFQ1QgZl9zZXJ2ZXJfdmVyc2lvbl9sYWco JDEpICcKKyAgICAgICAgICAgIElOVE8gdmVyc2lvbl9udW0KKyAgICAgICAgICAgIFVTSU5HIHZl cnNpb25fb2Zmc2V0OworICAgICAgICBFWEVDVVRFIGZvcm1hdCgnQUxURVIgU0VSVkVSICVJIE9Q VElPTlMgKCVJIHNlcnZlcl92ZXJzaW9uICVMKScsCisgICAgICAgICAgICBzZXJ2ZXJfbmFtZSwg b3BlcmF0aW9uLCB2ZXJzaW9uX251bSk7CisgICAgICAgIFJFVFVSTjsKKyAgICBFTkQ7CiskJCBM QU5HVUFHRSBwbHBnc3FsOworU0VMRUNUIGZfYWx0ZXJfc2VydmVyX3ZlcnNpb24oJ2xvb3BiYWNr JywgJ2FkZCcsIDApOworIGZfYWx0ZXJfc2VydmVyX3ZlcnNpb24gCistLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0KKyAKKygxIHJvdykKKworQ1JFQVRFIFRBQkxFIHBhZ2dfdGFiIChhIGludCwgYiBp bnQsIGMgdGV4dCwgZCBpbnQ0KSBQQVJUSVRJT04gQlkgUkFOR0UoYSk7CiBDUkVBVEUgVEFCTEUg cGFnZ190YWJfcDEgKExJS0UgcGFnZ190YWIpOwogQ1JFQVRFIFRBQkxFIHBhZ2dfdGFiX3AyIChM SUtFIHBhZ2dfdGFiKTsKIENSRUFURSBUQUJMRSBwYWdnX3RhYl9wMyAoTElLRSBwYWdnX3RhYik7 Ci1JTlNFUlQgSU5UTyBwYWdnX3RhYl9wMSBTRUxFQ1QgaSAlIDMwLCBpICUgNTAsIHRvX2NoYXIo aS8zMCwgJ0ZNMDAwMCcpIEZST00gZ2VuZXJhdGVfc2VyaWVzKDEsIDMwMDApIGkgV0hFUkUgKGkg JSAzMCkgPCAxMDsKLUlOU0VSVCBJTlRPIHBhZ2dfdGFiX3AyIFNFTEVDVCBpICUgMzAsIGkgJSA1 MCwgdG9fY2hhcihpLzMwLCAnRk0wMDAwJykgRlJPTSBnZW5lcmF0ZV9zZXJpZXMoMSwgMzAwMCkg aSBXSEVSRSAoaSAlIDMwKSA8IDIwIGFuZCAoaSAlIDMwKSA+PSAxMDsKLUlOU0VSVCBJTlRPIHBh Z2dfdGFiX3AzIFNFTEVDVCBpICUgMzAsIGkgJSA1MCwgdG9fY2hhcihpLzMwLCAnRk0wMDAwJykg RlJPTSBnZW5lcmF0ZV9zZXJpZXMoMSwgMzAwMCkgaSBXSEVSRSAoaSAlIDMwKSA8IDMwIGFuZCAo aSAlIDMwKSA+PSAyMDsKK0lOU0VSVCBJTlRPIHBhZ2dfdGFiX3AxIFNFTEVDVCBpICUgMzAsIGkg JSA1MCwgdG9fY2hhcihpLzMwLCAnRk0wMDAwJyksIGkgJSA0MCBGUk9NIGdlbmVyYXRlX3Nlcmll cygxLCAzMDAwKSBpIFdIRVJFIChpICUgMzApIDwgMTA7CitJTlNFUlQgSU5UTyBwYWdnX3RhYl9w MiBTRUxFQ1QgaSAlIDMwLCBpICUgNTAsIHRvX2NoYXIoaS8zMCwgJ0ZNMDAwMCcpLCBpICUgNDAg RlJPTSBnZW5lcmF0ZV9zZXJpZXMoMSwgMzAwMCkgaSBXSEVSRSAoaSAlIDMwKSA8IDIwIGFuZCAo aSAlIDMwKSA+PSAxMDsKK0lOU0VSVCBJTlRPIHBhZ2dfdGFiX3AzIFNFTEVDVCBpICUgMzAsIGkg JSA1MCwgdG9fY2hhcihpLzMwLCAnRk0wMDAwJyksIGkgJSA0MCBGUk9NIGdlbmVyYXRlX3Nlcmll cygxLCAzMDAwKSBpIFdIRVJFIChpICUgMzApIDwgMzAgYW5kIChpICUgMzApID49IDIwOwogLS0g Q3JlYXRlIGZvcmVpZ24gcGFydGl0aW9ucwogQ1JFQVRFIEZPUkVJR04gVEFCTEUgZnBhZ2dfdGFi X3AxIFBBUlRJVElPTiBPRiBwYWdnX3RhYiBGT1IgVkFMVUVTIEZST00gKDApIFRPICgxMCkgU0VS VkVSIGxvb3BiYWNrIE9QVElPTlMgKHRhYmxlX25hbWUgJ3BhZ2dfdGFiX3AxJyk7CiBDUkVBVEUg Rk9SRUlHTiBUQUJMRSBmcGFnZ190YWJfcDIgUEFSVElUSU9OIE9GIHBhZ2dfdGFiIEZPUiBWQUxV RVMgRlJPTSAoMTApIFRPICgyMCkgU0VSVkVSIGxvb3BiYWNrIE9QVElPTlMgKHRhYmxlX25hbWUg J3BhZ2dfdGFiX3AyJyk7CkBAIC05NzEwLDggKzk3MzEsOCBAQCBTRUxFQ1QgYSwgc3VtKGIpLCBt aW4oYiksIGNvdW50KCopIEZST00gcGFnZ190YWIgR1JPVVAgQlkgYSBIQVZJTkcgYXZnKGIpIDwg MjIgTwogLS0gU2hvdWxkIGhhdmUgYWxsIHRoZSBjb2x1bW5zIGluIHRoZSB0YXJnZXQgbGlzdCBm b3IgdGhlIGdpdmVuIHJlbGF0aW9uCiBFWFBMQUlOIChWRVJCT1NFLCBDT1NUUyBPRkYpCiBTRUxF Q1QgYSwgY291bnQodDEpIEZST00gcGFnZ190YWIgdDEgR1JPVVAgQlkgYSBIQVZJTkcgYXZnKGIp IDwgMjIgT1JERVIgQlkgMTsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBRVUVSWSBQ TEFOICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAotLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIFFVRVJZIFBMQU4gICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogIFNvcnQKICAgIE91dHB1dDogdDEu YSwgKGNvdW50KCgodDEuKik6OnBhZ2dfdGFiKSkpCiAgICBTb3J0IEtleTogdDEuYQpAQCAtOTcy MiwyMSArOTc0MywyMSBAQCBTRUxFQ1QgYSwgY291bnQodDEpIEZST00gcGFnZ190YWIgdDEgR1JP VVAgQlkgYSBIQVZJTkcgYXZnKGIpIDwgMjIgT1JERVIgQlkgMTsKICAgICAgICAgICAgICAgIEZp bHRlcjogKGF2Zyh0MS5iKSA8ICcyMic6Om51bWVyaWMpCiAgICAgICAgICAgICAgICAtPiAgRm9y ZWlnbiBTY2FuIG9uIHB1YmxpYy5mcGFnZ190YWJfcDEgdDEKICAgICAgICAgICAgICAgICAgICAg IE91dHB1dDogdDEuYSwgdDEuKiwgdDEuYgotICAgICAgICAgICAgICAgICAgICAgUmVtb3RlIFNR TDogU0VMRUNUIGEsIGIsIGMgRlJPTSBwdWJsaWMucGFnZ190YWJfcDEKKyAgICAgICAgICAgICAg ICAgICAgIFJlbW90ZSBTUUw6IFNFTEVDVCBhLCBiLCBjLCBkIEZST00gcHVibGljLnBhZ2dfdGFi X3AxCiAgICAgICAgICAtPiAgSGFzaEFnZ3JlZ2F0ZQogICAgICAgICAgICAgICAgT3V0cHV0OiB0 MV8xLmEsIGNvdW50KCgodDFfMS4qKTo6cGFnZ190YWIpKQogICAgICAgICAgICAgICAgR3JvdXAg S2V5OiB0MV8xLmEKICAgICAgICAgICAgICAgIEZpbHRlcjogKGF2Zyh0MV8xLmIpIDwgJzIyJzo6 bnVtZXJpYykKICAgICAgICAgICAgICAgIC0+ICBGb3JlaWduIFNjYW4gb24gcHVibGljLmZwYWdn X3RhYl9wMiB0MV8xCiAgICAgICAgICAgICAgICAgICAgICBPdXRwdXQ6IHQxXzEuYSwgdDFfMS4q LCB0MV8xLmIKLSAgICAgICAgICAgICAgICAgICAgIFJlbW90ZSBTUUw6IFNFTEVDVCBhLCBiLCBj IEZST00gcHVibGljLnBhZ2dfdGFiX3AyCisgICAgICAgICAgICAgICAgICAgICBSZW1vdGUgU1FM OiBTRUxFQ1QgYSwgYiwgYywgZCBGUk9NIHB1YmxpYy5wYWdnX3RhYl9wMgogICAgICAgICAgLT4g IEhhc2hBZ2dyZWdhdGUKICAgICAgICAgICAgICAgIE91dHB1dDogdDFfMi5hLCBjb3VudCgoKHQx XzIuKik6OnBhZ2dfdGFiKSkKICAgICAgICAgICAgICAgIEdyb3VwIEtleTogdDFfMi5hCiAgICAg ICAgICAgICAgICBGaWx0ZXI6IChhdmcodDFfMi5iKSA8ICcyMic6Om51bWVyaWMpCiAgICAgICAg ICAgICAgICAtPiAgRm9yZWlnbiBTY2FuIG9uIHB1YmxpYy5mcGFnZ190YWJfcDMgdDFfMgogICAg ICAgICAgICAgICAgICAgICAgT3V0cHV0OiB0MV8yLmEsIHQxXzIuKiwgdDFfMi5iCi0gICAgICAg ICAgICAgICAgICAgICBSZW1vdGUgU1FMOiBTRUxFQ1QgYSwgYiwgYyBGUk9NIHB1YmxpYy5wYWdn X3RhYl9wMworICAgICAgICAgICAgICAgICAgICAgUmVtb3RlIFNRTDogU0VMRUNUIGEsIGIsIGMs IGQgRlJPTSBwdWJsaWMucGFnZ190YWJfcDMKICgyNSByb3dzKQogCiBTRUxFQ1QgYSwgY291bnQo dDEpIEZST00gcGFnZ190YWIgdDEgR1JPVVAgQlkgYSBIQVZJTkcgYXZnKGIpIDwgMjIgT1JERVIg QlkgMTsKQEAgLTk3NzIsNiArOTc5MywyNjMgQEAgU0VMRUNUIGIsIGF2ZyhhKSwgbWF4KGEpLCBj b3VudCgqKSBGUk9NIHBhZ2dfdGFiIEdST1VQIEJZIGIgSEFWSU5HIHN1bShhKSA8IDcwMAogICAg ICAgICAgICAgICAgICAgICAgLT4gIEZvcmVpZ24gU2NhbiBvbiBmcGFnZ190YWJfcDMgcGFnZ190 YWJfMgogKDE1IHJvd3MpCiAKKy0tIEl0J3MgdW5zYWZlIHRvIHB1c2ggZG93biBoYXZpbmcgY2xh dXNlIHdoZW4gdGhlcmUgYXJlIHBhcnRpYWwgYWdncmVnYXRlcworRVhQTEFJTiAoVkVSQk9TRSwg Q09TVFMgT0ZGKQorU0VMRUNUIGIsIG1heChhKSwgY291bnQoKikgRlJPTSBwYWdnX3RhYiBHUk9V UCBCWSBiIEhBVklORyBzdW0oYSkgPCA3MDAgT1JERVIgQlkgMTsKKyAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBRVUVSWSBQTEFOICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAorLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisgU29ydAorICAgT3V0 cHV0OiBwYWdnX3RhYi5iLCAobWF4KHBhZ2dfdGFiLmEpKSwgKGNvdW50KCopKQorICAgU29ydCBL ZXk6IHBhZ2dfdGFiLmIKKyAgIC0+ICBGaW5hbGl6ZSBIYXNoQWdncmVnYXRlCisgICAgICAgICBP dXRwdXQ6IHBhZ2dfdGFiLmIsIG1heChwYWdnX3RhYi5hKSwgY291bnQoKikKKyAgICAgICAgIEdy b3VwIEtleTogcGFnZ190YWIuYgorICAgICAgICAgRmlsdGVyOiAoc3VtKHBhZ2dfdGFiLmEpIDwg NzAwKQorICAgICAgICAgLT4gIEFwcGVuZAorICAgICAgICAgICAgICAgLT4gIFBhcnRpYWwgSGFz aEFnZ3JlZ2F0ZQorICAgICAgICAgICAgICAgICAgICAgT3V0cHV0OiBwYWdnX3RhYi5iLCBQQVJU SUFMIG1heChwYWdnX3RhYi5hKSwgUEFSVElBTCBjb3VudCgqKSwgUEFSVElBTCBzdW0ocGFnZ190 YWIuYSkKKyAgICAgICAgICAgICAgICAgICAgIEdyb3VwIEtleTogcGFnZ190YWIuYgorICAgICAg ICAgICAgICAgICAgICAgLT4gIEZvcmVpZ24gU2NhbiBvbiBwdWJsaWMuZnBhZ2dfdGFiX3AxIHBh Z2dfdGFiCisgICAgICAgICAgICAgICAgICAgICAgICAgICBPdXRwdXQ6IHBhZ2dfdGFiLmIsIHBh Z2dfdGFiLmEKKyAgICAgICAgICAgICAgICAgICAgICAgICAgIFJlbW90ZSBTUUw6IFNFTEVDVCBh LCBiIEZST00gcHVibGljLnBhZ2dfdGFiX3AxCisgICAgICAgICAgICAgICAtPiAgUGFydGlhbCBI YXNoQWdncmVnYXRlCisgICAgICAgICAgICAgICAgICAgICBPdXRwdXQ6IHBhZ2dfdGFiXzEuYiwg UEFSVElBTCBtYXgocGFnZ190YWJfMS5hKSwgUEFSVElBTCBjb3VudCgqKSwgUEFSVElBTCBzdW0o cGFnZ190YWJfMS5hKQorICAgICAgICAgICAgICAgICAgICAgR3JvdXAgS2V5OiBwYWdnX3RhYl8x LmIKKyAgICAgICAgICAgICAgICAgICAgIC0+ICBGb3JlaWduIFNjYW4gb24gcHVibGljLmZwYWdn X3RhYl9wMiBwYWdnX3RhYl8xCisgICAgICAgICAgICAgICAgICAgICAgICAgICBPdXRwdXQ6IHBh Z2dfdGFiXzEuYiwgcGFnZ190YWJfMS5hCisgICAgICAgICAgICAgICAgICAgICAgICAgICBSZW1v dGUgU1FMOiBTRUxFQ1QgYSwgYiBGUk9NIHB1YmxpYy5wYWdnX3RhYl9wMgorICAgICAgICAgICAg ICAgLT4gIFBhcnRpYWwgSGFzaEFnZ3JlZ2F0ZQorICAgICAgICAgICAgICAgICAgICAgT3V0cHV0 OiBwYWdnX3RhYl8yLmIsIFBBUlRJQUwgbWF4KHBhZ2dfdGFiXzIuYSksIFBBUlRJQUwgY291bnQo KiksIFBBUlRJQUwgc3VtKHBhZ2dfdGFiXzIuYSkKKyAgICAgICAgICAgICAgICAgICAgIEdyb3Vw IEtleTogcGFnZ190YWJfMi5iCisgICAgICAgICAgICAgICAgICAgICAtPiAgRm9yZWlnbiBTY2Fu IG9uIHB1YmxpYy5mcGFnZ190YWJfcDMgcGFnZ190YWJfMgorICAgICAgICAgICAgICAgICAgICAg ICAgICAgT3V0cHV0OiBwYWdnX3RhYl8yLmIsIHBhZ2dfdGFiXzIuYQorICAgICAgICAgICAgICAg ICAgICAgICAgICAgUmVtb3RlIFNRTDogU0VMRUNUIGEsIGIgRlJPTSBwdWJsaWMucGFnZ190YWJf cDMKKygyNiByb3dzKQorCistLSBQYXJ0aWFsIGFnZ3JlZ2F0ZXMgYXJlIGZpbmUgdG8gcHVzaCBk b3duIHdpdGhvdXQgaGF2aW5nIGNsYXVzZQorRVhQTEFJTiAoVkVSQk9TRSwgQ09TVFMgT0ZGKQor U0VMRUNUIGIsIG1pbihhKSwgbWF4KGEpLCBjb3VudCgqKSwgc3VtKGQpLCBzdW0oZDo6aW50OCks IGF2ZyhkKSwgYXZnKGQ6OmludDgpIEZST00gcGFnZ190YWIgR1JPVVAgQlkgYiBPUkRFUiBCWSAx OworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgUVVFUlkgUExBTiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAorLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLQorIFNvcnQKKyAgIE91dHB1dDogcGFnZ190YWIuYiwgKG1pbihwYWdnX3RhYi5hKSksICht YXgocGFnZ190YWIuYSkpLCAoY291bnQoKikpLCAoc3VtKHBhZ2dfdGFiLmQpKSwgKHN1bSgocGFn Z190YWIuZCk6OmJpZ2ludCkpLCAoYXZnKHBhZ2dfdGFiLmQpKSwgKGF2ZygocGFnZ190YWIuZCk6 OmJpZ2ludCkpCisgICBTb3J0IEtleTogcGFnZ190YWIuYgorICAgLT4gIEZpbmFsaXplIEhhc2hB Z2dyZWdhdGUKKyAgICAgICAgIE91dHB1dDogcGFnZ190YWIuYiwgbWluKHBhZ2dfdGFiLmEpLCBt YXgocGFnZ190YWIuYSksIGNvdW50KCopLCBzdW0ocGFnZ190YWIuZCksIHN1bSgocGFnZ190YWIu ZCk6OmJpZ2ludCksIGF2ZyhwYWdnX3RhYi5kKSwgYXZnKChwYWdnX3RhYi5kKTo6YmlnaW50KQor ICAgICAgICAgR3JvdXAgS2V5OiBwYWdnX3RhYi5iCisgICAgICAgICAtPiAgQXBwZW5kCisgICAg ICAgICAgICAgICAtPiAgRm9yZWlnbiBTY2FuCisgICAgICAgICAgICAgICAgICAgICBPdXRwdXQ6 IHBhZ2dfdGFiLmIsIChQQVJUSUFMIG1pbihwYWdnX3RhYi5hKSksIChQQVJUSUFMIG1heChwYWdn X3RhYi5hKSksIChQQVJUSUFMIGNvdW50KCopKSwgKFBBUlRJQUwgc3VtKHBhZ2dfdGFiLmQpKSwg KFBBUlRJQUwgc3VtKChwYWdnX3RhYi5kKTo6YmlnaW50KSksIChQQVJUSUFMIGF2ZyhwYWdnX3Rh Yi5kKSksIChQQVJUSUFMIGF2ZygocGFnZ190YWIuZCk6OmJpZ2ludCkpCisgICAgICAgICAgICAg ICAgICAgICBSZWxhdGlvbnM6IEFnZ3JlZ2F0ZSBvbiAocHVibGljLmZwYWdnX3RhYl9wMSBwYWdn X3RhYikKKyAgICAgICAgICAgICAgICAgICAgIFJlbW90ZSBTUUw6IFNFTEVDVCBiLCBtaW4oYSks IG1heChhKSwgY291bnQoKiksIHN1bShkKSwgc3VtX3BfaW50OChkOjpiaWdpbnQpLCBhdmdfcF9p bnQ0KGQpLCBhdmdfcF9pbnQ4KGQ6OmJpZ2ludCkgRlJPTSBwdWJsaWMucGFnZ190YWJfcDEgR1JP VVAgQlkgMQorICAgICAgICAgICAgICAgLT4gIEZvcmVpZ24gU2NhbgorICAgICAgICAgICAgICAg ICAgICAgT3V0cHV0OiBwYWdnX3RhYl8xLmIsIChQQVJUSUFMIG1pbihwYWdnX3RhYl8xLmEpKSwg KFBBUlRJQUwgbWF4KHBhZ2dfdGFiXzEuYSkpLCAoUEFSVElBTCBjb3VudCgqKSksIChQQVJUSUFM IHN1bShwYWdnX3RhYl8xLmQpKSwgKFBBUlRJQUwgc3VtKChwYWdnX3RhYl8xLmQpOjpiaWdpbnQp KSwgKFBBUlRJQUwgYXZnKHBhZ2dfdGFiXzEuZCkpLCAoUEFSVElBTCBhdmcoKHBhZ2dfdGFiXzEu ZCk6OmJpZ2ludCkpCisgICAgICAgICAgICAgICAgICAgICBSZWxhdGlvbnM6IEFnZ3JlZ2F0ZSBv biAocHVibGljLmZwYWdnX3RhYl9wMiBwYWdnX3RhYl8xKQorICAgICAgICAgICAgICAgICAgICAg UmVtb3RlIFNRTDogU0VMRUNUIGIsIG1pbihhKSwgbWF4KGEpLCBjb3VudCgqKSwgc3VtKGQpLCBz dW1fcF9pbnQ4KGQ6OmJpZ2ludCksIGF2Z19wX2ludDQoZCksIGF2Z19wX2ludDgoZDo6YmlnaW50 KSBGUk9NIHB1YmxpYy5wYWdnX3RhYl9wMiBHUk9VUCBCWSAxCisgICAgICAgICAgICAgICAtPiAg Rm9yZWlnbiBTY2FuCisgICAgICAgICAgICAgICAgICAgICBPdXRwdXQ6IHBhZ2dfdGFiXzIuYiwg KFBBUlRJQUwgbWluKHBhZ2dfdGFiXzIuYSkpLCAoUEFSVElBTCBtYXgocGFnZ190YWJfMi5hKSks IChQQVJUSUFMIGNvdW50KCopKSwgKFBBUlRJQUwgc3VtKHBhZ2dfdGFiXzIuZCkpLCAoUEFSVElB TCBzdW0oKHBhZ2dfdGFiXzIuZCk6OmJpZ2ludCkpLCAoUEFSVElBTCBhdmcocGFnZ190YWJfMi5k KSksIChQQVJUSUFMIGF2ZygocGFnZ190YWJfMi5kKTo6YmlnaW50KSkKKyAgICAgICAgICAgICAg ICAgICAgIFJlbGF0aW9uczogQWdncmVnYXRlIG9uIChwdWJsaWMuZnBhZ2dfdGFiX3AzIHBhZ2df dGFiXzIpCisgICAgICAgICAgICAgICAgICAgICBSZW1vdGUgU1FMOiBTRUxFQ1QgYiwgbWluKGEp LCBtYXgoYSksIGNvdW50KCopLCBzdW0oZCksIHN1bV9wX2ludDgoZDo6YmlnaW50KSwgYXZnX3Bf aW50NChkKSwgYXZnX3BfaW50OChkOjpiaWdpbnQpIEZST00gcHVibGljLnBhZ2dfdGFiX3AzIEdS T1VQIEJZIDEKKygxOSByb3dzKQorCitTRUxFQ1QgYiwgbWluKGEpLCBtYXgoYSksIGNvdW50KCop LCBzdW0oZCksIHN1bShkOjppbnQ4KSwgYXZnKGQpLCBhdmcoZDo6aW50OCkgRlJPTSBwYWdnX3Rh YiBHUk9VUCBCWSBiIE9SREVSIEJZIDE7CisgYiAgfCBtaW4gfCBtYXggfCBjb3VudCB8IHN1bSAg fCBzdW0gIHwgICAgICAgICBhdmcgICAgICAgICB8ICAgICAgICAgYXZnICAgICAgICAgCistLS0t Ky0tLS0tKy0tLS0tKy0tLS0tLS0rLS0tLS0tKy0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0r LS0tLS0tLS0tLS0tLS0tLS0tLS0tCisgIDAgfCAgIDAgfCAgMjAgfCAgICA2MCB8ICA5MDAgfCAg OTAwIHwgMTUuMDAwMDAwMDAwMDAwMDAwMCB8IDE1LjAwMDAwMDAwMDAwMDAwMDAKKyAgMSB8ICAg MSB8ICAyMSB8ICAgIDYwIHwgIDk2MCB8ICA5NjAgfCAxNi4wMDAwMDAwMDAwMDAwMDAwIHwgMTYu MDAwMDAwMDAwMDAwMDAwMAorICAyIHwgICAyIHwgIDIyIHwgICAgNjAgfCAxMDIwIHwgMTAyMCB8 IDE3LjAwMDAwMDAwMDAwMDAwMDAgfCAxNy4wMDAwMDAwMDAwMDAwMDAwCisgIDMgfCAgIDMgfCAg MjMgfCAgICA2MCB8IDEwODAgfCAxMDgwIHwgMTguMDAwMDAwMDAwMDAwMDAwMCB8IDE4LjAwMDAw MDAwMDAwMDAwMDAKKyAgNCB8ICAgNCB8ICAyNCB8ICAgIDYwIHwgMTE0MCB8IDExNDAgfCAxOS4w MDAwMDAwMDAwMDAwMDAwIHwgMTkuMDAwMDAwMDAwMDAwMDAwMAorICA1IHwgICA1IHwgIDI1IHwg ICAgNjAgfCAxMjAwIHwgMTIwMCB8IDIwLjAwMDAwMDAwMDAwMDAwMDAgfCAyMC4wMDAwMDAwMDAw MDAwMDAwCisgIDYgfCAgIDYgfCAgMjYgfCAgICA2MCB8IDEyNjAgfCAxMjYwIHwgMjEuMDAwMDAw MDAwMDAwMDAwMCB8IDIxLjAwMDAwMDAwMDAwMDAwMDAKKyAgNyB8ICAgNyB8ICAyNyB8ICAgIDYw IHwgMTMyMCB8IDEzMjAgfCAyMi4wMDAwMDAwMDAwMDAwMDAwIHwgMjIuMDAwMDAwMDAwMDAwMDAw MAorICA4IHwgICA4IHwgIDI4IHwgICAgNjAgfCAxMzgwIHwgMTM4MCB8IDIzLjAwMDAwMDAwMDAw MDAwMDAgfCAyMy4wMDAwMDAwMDAwMDAwMDAwCisgIDkgfCAgIDkgfCAgMjkgfCAgICA2MCB8IDE0 NDAgfCAxNDQwIHwgMjQuMDAwMDAwMDAwMDAwMDAwMCB8IDI0LjAwMDAwMDAwMDAwMDAwMDAKKyAx MCB8ICAgMCB8ICAyMCB8ICAgIDYwIHwgIDkwMCB8ICA5MDAgfCAxNS4wMDAwMDAwMDAwMDAwMDAw IHwgMTUuMDAwMDAwMDAwMDAwMDAwMAorIDExIHwgICAxIHwgIDIxIHwgICAgNjAgfCAgOTYwIHwg IDk2MCB8IDE2LjAwMDAwMDAwMDAwMDAwMDAgfCAxNi4wMDAwMDAwMDAwMDAwMDAwCisgMTIgfCAg IDIgfCAgMjIgfCAgICA2MCB8IDEwMjAgfCAxMDIwIHwgMTcuMDAwMDAwMDAwMDAwMDAwMCB8IDE3 LjAwMDAwMDAwMDAwMDAwMDAKKyAxMyB8ICAgMyB8ICAyMyB8ICAgIDYwIHwgMTA4MCB8IDEwODAg fCAxOC4wMDAwMDAwMDAwMDAwMDAwIHwgMTguMDAwMDAwMDAwMDAwMDAwMAorIDE0IHwgICA0IHwg IDI0IHwgICAgNjAgfCAxMTQwIHwgMTE0MCB8IDE5LjAwMDAwMDAwMDAwMDAwMDAgfCAxOS4wMDAw MDAwMDAwMDAwMDAwCisgMTUgfCAgIDUgfCAgMjUgfCAgICA2MCB8IDEyMDAgfCAxMjAwIHwgMjAu MDAwMDAwMDAwMDAwMDAwMCB8IDIwLjAwMDAwMDAwMDAwMDAwMDAKKyAxNiB8ICAgNiB8ICAyNiB8 ICAgIDYwIHwgMTI2MCB8IDEyNjAgfCAyMS4wMDAwMDAwMDAwMDAwMDAwIHwgMjEuMDAwMDAwMDAw MDAwMDAwMAorIDE3IHwgICA3IHwgIDI3IHwgICAgNjAgfCAxMzIwIHwgMTMyMCB8IDIyLjAwMDAw MDAwMDAwMDAwMDAgfCAyMi4wMDAwMDAwMDAwMDAwMDAwCisgMTggfCAgIDggfCAgMjggfCAgICA2 MCB8IDEzODAgfCAxMzgwIHwgMjMuMDAwMDAwMDAwMDAwMDAwMCB8IDIzLjAwMDAwMDAwMDAwMDAw MDAKKyAxOSB8ICAgOSB8ICAyOSB8ICAgIDYwIHwgMTQ0MCB8IDE0NDAgfCAyNC4wMDAwMDAwMDAw MDAwMDAwIHwgMjQuMDAwMDAwMDAwMDAwMDAwMAorIDIwIHwgICAwIHwgIDIwIHwgICAgNjAgfCAg OTAwIHwgIDkwMCB8IDE1LjAwMDAwMDAwMDAwMDAwMDAgfCAxNS4wMDAwMDAwMDAwMDAwMDAwCisg MjEgfCAgIDEgfCAgMjEgfCAgICA2MCB8ICA5NjAgfCAgOTYwIHwgMTYuMDAwMDAwMDAwMDAwMDAw MCB8IDE2LjAwMDAwMDAwMDAwMDAwMDAKKyAyMiB8ICAgMiB8ICAyMiB8ICAgIDYwIHwgMTAyMCB8 IDEwMjAgfCAxNy4wMDAwMDAwMDAwMDAwMDAwIHwgMTcuMDAwMDAwMDAwMDAwMDAwMAorIDIzIHwg ICAzIHwgIDIzIHwgICAgNjAgfCAxMDgwIHwgMTA4MCB8IDE4LjAwMDAwMDAwMDAwMDAwMDAgfCAx OC4wMDAwMDAwMDAwMDAwMDAwCisgMjQgfCAgIDQgfCAgMjQgfCAgICA2MCB8IDExNDAgfCAxMTQw IHwgMTkuMDAwMDAwMDAwMDAwMDAwMCB8IDE5LjAwMDAwMDAwMDAwMDAwMDAKKyAyNSB8ICAgNSB8 ICAyNSB8ICAgIDYwIHwgMTIwMCB8IDEyMDAgfCAyMC4wMDAwMDAwMDAwMDAwMDAwIHwgMjAuMDAw MDAwMDAwMDAwMDAwMAorIDI2IHwgICA2IHwgIDI2IHwgICAgNjAgfCAxMjYwIHwgMTI2MCB8IDIx LjAwMDAwMDAwMDAwMDAwMDAgfCAyMS4wMDAwMDAwMDAwMDAwMDAwCisgMjcgfCAgIDcgfCAgMjcg fCAgICA2MCB8IDEzMjAgfCAxMzIwIHwgMjIuMDAwMDAwMDAwMDAwMDAwMCB8IDIyLjAwMDAwMDAw MDAwMDAwMDAKKyAyOCB8ICAgOCB8ICAyOCB8ICAgIDYwIHwgMTM4MCB8IDEzODAgfCAyMy4wMDAw MDAwMDAwMDAwMDAwIHwgMjMuMDAwMDAwMDAwMDAwMDAwMAorIDI5IHwgICA5IHwgIDI5IHwgICAg NjAgfCAxNDQwIHwgMTQ0MCB8IDI0LjAwMDAwMDAwMDAwMDAwMDAgfCAyNC4wMDAwMDAwMDAwMDAw MDAwCisgMzAgfCAgIDAgfCAgMjAgfCAgICA2MCB8ICA5MDAgfCAgOTAwIHwgMTUuMDAwMDAwMDAw MDAwMDAwMCB8IDE1LjAwMDAwMDAwMDAwMDAwMDAKKyAzMSB8ICAgMSB8ICAyMSB8ICAgIDYwIHwg IDk2MCB8ICA5NjAgfCAxNi4wMDAwMDAwMDAwMDAwMDAwIHwgMTYuMDAwMDAwMDAwMDAwMDAwMAor IDMyIHwgICAyIHwgIDIyIHwgICAgNjAgfCAxMDIwIHwgMTAyMCB8IDE3LjAwMDAwMDAwMDAwMDAw MDAgfCAxNy4wMDAwMDAwMDAwMDAwMDAwCisgMzMgfCAgIDMgfCAgMjMgfCAgICA2MCB8IDEwODAg fCAxMDgwIHwgMTguMDAwMDAwMDAwMDAwMDAwMCB8IDE4LjAwMDAwMDAwMDAwMDAwMDAKKyAzNCB8 ICAgNCB8ICAyNCB8ICAgIDYwIHwgMTE0MCB8IDExNDAgfCAxOS4wMDAwMDAwMDAwMDAwMDAwIHwg MTkuMDAwMDAwMDAwMDAwMDAwMAorIDM1IHwgICA1IHwgIDI1IHwgICAgNjAgfCAxMjAwIHwgMTIw MCB8IDIwLjAwMDAwMDAwMDAwMDAwMDAgfCAyMC4wMDAwMDAwMDAwMDAwMDAwCisgMzYgfCAgIDYg fCAgMjYgfCAgICA2MCB8IDEyNjAgfCAxMjYwIHwgMjEuMDAwMDAwMDAwMDAwMDAwMCB8IDIxLjAw MDAwMDAwMDAwMDAwMDAKKyAzNyB8ICAgNyB8ICAyNyB8ICAgIDYwIHwgMTMyMCB8IDEzMjAgfCAy Mi4wMDAwMDAwMDAwMDAwMDAwIHwgMjIuMDAwMDAwMDAwMDAwMDAwMAorIDM4IHwgICA4IHwgIDI4 IHwgICAgNjAgfCAxMzgwIHwgMTM4MCB8IDIzLjAwMDAwMDAwMDAwMDAwMDAgfCAyMy4wMDAwMDAw MDAwMDAwMDAwCisgMzkgfCAgIDkgfCAgMjkgfCAgICA2MCB8IDE0NDAgfCAxNDQwIHwgMjQuMDAw MDAwMDAwMDAwMDAwMCB8IDI0LjAwMDAwMDAwMDAwMDAwMDAKKyA0MCB8ICAgMCB8ICAyMCB8ICAg IDYwIHwgIDkwMCB8ICA5MDAgfCAxNS4wMDAwMDAwMDAwMDAwMDAwIHwgMTUuMDAwMDAwMDAwMDAw MDAwMAorIDQxIHwgICAxIHwgIDIxIHwgICAgNjAgfCAgOTYwIHwgIDk2MCB8IDE2LjAwMDAwMDAw MDAwMDAwMDAgfCAxNi4wMDAwMDAwMDAwMDAwMDAwCisgNDIgfCAgIDIgfCAgMjIgfCAgICA2MCB8 IDEwMjAgfCAxMDIwIHwgMTcuMDAwMDAwMDAwMDAwMDAwMCB8IDE3LjAwMDAwMDAwMDAwMDAwMDAK KyA0MyB8ICAgMyB8ICAyMyB8ICAgIDYwIHwgMTA4MCB8IDEwODAgfCAxOC4wMDAwMDAwMDAwMDAw MDAwIHwgMTguMDAwMDAwMDAwMDAwMDAwMAorIDQ0IHwgICA0IHwgIDI0IHwgICAgNjAgfCAxMTQw IHwgMTE0MCB8IDE5LjAwMDAwMDAwMDAwMDAwMDAgfCAxOS4wMDAwMDAwMDAwMDAwMDAwCisgNDUg fCAgIDUgfCAgMjUgfCAgICA2MCB8IDEyMDAgfCAxMjAwIHwgMjAuMDAwMDAwMDAwMDAwMDAwMCB8 IDIwLjAwMDAwMDAwMDAwMDAwMDAKKyA0NiB8ICAgNiB8ICAyNiB8ICAgIDYwIHwgMTI2MCB8IDEy NjAgfCAyMS4wMDAwMDAwMDAwMDAwMDAwIHwgMjEuMDAwMDAwMDAwMDAwMDAwMAorIDQ3IHwgICA3 IHwgIDI3IHwgICAgNjAgfCAxMzIwIHwgMTMyMCB8IDIyLjAwMDAwMDAwMDAwMDAwMDAgfCAyMi4w MDAwMDAwMDAwMDAwMDAwCisgNDggfCAgIDggfCAgMjggfCAgICA2MCB8IDEzODAgfCAxMzgwIHwg MjMuMDAwMDAwMDAwMDAwMDAwMCB8IDIzLjAwMDAwMDAwMDAwMDAwMDAKKyA0OSB8ICAgOSB8ICAy OSB8ICAgIDYwIHwgMTQ0MCB8IDE0NDAgfCAyNC4wMDAwMDAwMDAwMDAwMDAwIHwgMjQuMDAwMDAw MDAwMDAwMDAwMAorKDUwIHJvd3MpCisKKy0tIFBhcnRpYWwgYWdncmVnYXRlcyBhcmUgZmluZSB0 byBwdXNoIGRvd24KK0VYUExBSU4gKFZFUkJPU0UsIENPU1RTIE9GRikKK1NFTEVDVCBtaW4oYSks IG1heChhKSwgY291bnQoKiksIHN1bShkKSwgc3VtKGQ6OmludDgpLCBhdmcoZCksIGF2ZyhkOjpp bnQ4KSBGUk9NIHBhZ2dfdGFiOworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBRVUVSWSBQTEFOICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisgRmluYWxpemUgQWdncmVn YXRlCisgICBPdXRwdXQ6IG1pbihwYWdnX3RhYi5hKSwgbWF4KHBhZ2dfdGFiLmEpLCBjb3VudCgq KSwgc3VtKHBhZ2dfdGFiLmQpLCBzdW0oKHBhZ2dfdGFiLmQpOjpiaWdpbnQpLCBhdmcocGFnZ190 YWIuZCksIGF2ZygocGFnZ190YWIuZCk6OmJpZ2ludCkKKyAgIC0+ICBBcHBlbmQKKyAgICAgICAg IC0+ICBGb3JlaWduIFNjYW4KKyAgICAgICAgICAgICAgIE91dHB1dDogKFBBUlRJQUwgbWluKHBh Z2dfdGFiLmEpKSwgKFBBUlRJQUwgbWF4KHBhZ2dfdGFiLmEpKSwgKFBBUlRJQUwgY291bnQoKikp LCAoUEFSVElBTCBzdW0ocGFnZ190YWIuZCkpLCAoUEFSVElBTCBzdW0oKHBhZ2dfdGFiLmQpOjpi aWdpbnQpKSwgKFBBUlRJQUwgYXZnKHBhZ2dfdGFiLmQpKSwgKFBBUlRJQUwgYXZnKChwYWdnX3Rh Yi5kKTo6YmlnaW50KSkKKyAgICAgICAgICAgICAgIFJlbGF0aW9uczogQWdncmVnYXRlIG9uIChw dWJsaWMuZnBhZ2dfdGFiX3AxIHBhZ2dfdGFiKQorICAgICAgICAgICAgICAgUmVtb3RlIFNRTDog U0VMRUNUIG1pbihhKSwgbWF4KGEpLCBjb3VudCgqKSwgc3VtKGQpLCBzdW1fcF9pbnQ4KGQ6OmJp Z2ludCksIGF2Z19wX2ludDQoZCksIGF2Z19wX2ludDgoZDo6YmlnaW50KSBGUk9NIHB1YmxpYy5w YWdnX3RhYl9wMQorICAgICAgICAgLT4gIEZvcmVpZ24gU2NhbgorICAgICAgICAgICAgICAgT3V0 cHV0OiAoUEFSVElBTCBtaW4ocGFnZ190YWJfMS5hKSksIChQQVJUSUFMIG1heChwYWdnX3RhYl8x LmEpKSwgKFBBUlRJQUwgY291bnQoKikpLCAoUEFSVElBTCBzdW0ocGFnZ190YWJfMS5kKSksIChQ QVJUSUFMIHN1bSgocGFnZ190YWJfMS5kKTo6YmlnaW50KSksIChQQVJUSUFMIGF2ZyhwYWdnX3Rh Yl8xLmQpKSwgKFBBUlRJQUwgYXZnKChwYWdnX3RhYl8xLmQpOjpiaWdpbnQpKQorICAgICAgICAg ICAgICAgUmVsYXRpb25zOiBBZ2dyZWdhdGUgb24gKHB1YmxpYy5mcGFnZ190YWJfcDIgcGFnZ190 YWJfMSkKKyAgICAgICAgICAgICAgIFJlbW90ZSBTUUw6IFNFTEVDVCBtaW4oYSksIG1heChhKSwg Y291bnQoKiksIHN1bShkKSwgc3VtX3BfaW50OChkOjpiaWdpbnQpLCBhdmdfcF9pbnQ0KGQpLCBh dmdfcF9pbnQ4KGQ6OmJpZ2ludCkgRlJPTSBwdWJsaWMucGFnZ190YWJfcDIKKyAgICAgICAgIC0+ ICBGb3JlaWduIFNjYW4KKyAgICAgICAgICAgICAgIE91dHB1dDogKFBBUlRJQUwgbWluKHBhZ2df dGFiXzIuYSkpLCAoUEFSVElBTCBtYXgocGFnZ190YWJfMi5hKSksIChQQVJUSUFMIGNvdW50KCop KSwgKFBBUlRJQUwgc3VtKHBhZ2dfdGFiXzIuZCkpLCAoUEFSVElBTCBzdW0oKHBhZ2dfdGFiXzIu ZCk6OmJpZ2ludCkpLCAoUEFSVElBTCBhdmcocGFnZ190YWJfMi5kKSksIChQQVJUSUFMIGF2Zygo cGFnZ190YWJfMi5kKTo6YmlnaW50KSkKKyAgICAgICAgICAgICAgIFJlbGF0aW9uczogQWdncmVn YXRlIG9uIChwdWJsaWMuZnBhZ2dfdGFiX3AzIHBhZ2dfdGFiXzIpCisgICAgICAgICAgICAgICBS ZW1vdGUgU1FMOiBTRUxFQ1QgbWluKGEpLCBtYXgoYSksIGNvdW50KCopLCBzdW0oZCksIHN1bV9w X2ludDgoZDo6YmlnaW50KSwgYXZnX3BfaW50NChkKSwgYXZnX3BfaW50OChkOjpiaWdpbnQpIEZS T00gcHVibGljLnBhZ2dfdGFiX3AzCisoMTUgcm93cykKKworU0VMRUNUIG1pbihhKSwgbWF4KGEp LCBjb3VudCgqKSwgc3VtKGQpLCBzdW0oZDo6aW50OCksIGF2ZyhkKSwgYXZnKGQ6OmludDgpIEZS T00gcGFnZ190YWI7CisgbWluIHwgbWF4IHwgY291bnQgfCAgc3VtICB8ICBzdW0gIHwgICAgICAg ICBhdmcgICAgICAgICB8ICAgICAgICAgYXZnICAgICAgICAgCistLS0tLSstLS0tLSstLS0tLS0t Ky0tLS0tLS0rLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0t LS0tCisgICAwIHwgIDI5IHwgIDMwMDAgfCA1ODUwMCB8IDU4NTAwIHwgMTkuNTAwMDAwMDAwMDAw MDAwMCB8IDE5LjUwMDAwMDAwMDAwMDAwMDAKKygxIHJvdykKKworLS0gSXQncyB1bnNhZmUgdG8g cHVzaCBkb3duIHBhcnRpYWwgYWdncmVnYXRlcyB3aGljaCBjb250YWlucyBkaXN0aW5jdCBjbGF1 c2UKK0VYUExBSU4gKFZFUkJPU0UsIENPU1RTIE9GRikKK1NFTEVDVCBtYXgoYSksIGNvdW50KGRp c3RpbmN0IGIpIEZST00gcGFnZ190YWI7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBRVUVSWSBQTEFOICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IAorLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyBBZ2dyZWdhdGUKKyAgIE91dHB1 dDogbWF4KHBhZ2dfdGFiLmEpLCBjb3VudChESVNUSU5DVCBwYWdnX3RhYi5iKQorICAgLT4gIE1l cmdlIEFwcGVuZAorICAgICAgICAgU29ydCBLZXk6IHBhZ2dfdGFiLmIKKyAgICAgICAgIC0+ICBG b3JlaWduIFNjYW4gb24gcHVibGljLmZwYWdnX3RhYl9wMSBwYWdnX3RhYl8xCisgICAgICAgICAg ICAgICBPdXRwdXQ6IHBhZ2dfdGFiXzEuYSwgcGFnZ190YWJfMS5iCisgICAgICAgICAgICAgICBS ZW1vdGUgU1FMOiBTRUxFQ1QgYSwgYiBGUk9NIHB1YmxpYy5wYWdnX3RhYl9wMSBPUkRFUiBCWSBi IEFTQyBOVUxMUyBMQVNUCisgICAgICAgICAtPiAgRm9yZWlnbiBTY2FuIG9uIHB1YmxpYy5mcGFn Z190YWJfcDIgcGFnZ190YWJfMgorICAgICAgICAgICAgICAgT3V0cHV0OiBwYWdnX3RhYl8yLmEs IHBhZ2dfdGFiXzIuYgorICAgICAgICAgICAgICAgUmVtb3RlIFNRTDogU0VMRUNUIGEsIGIgRlJP TSBwdWJsaWMucGFnZ190YWJfcDIgT1JERVIgQlkgYiBBU0MgTlVMTFMgTEFTVAorICAgICAgICAg LT4gIEZvcmVpZ24gU2NhbiBvbiBwdWJsaWMuZnBhZ2dfdGFiX3AzIHBhZ2dfdGFiXzMKKyAgICAg ICAgICAgICAgIE91dHB1dDogcGFnZ190YWJfMy5hLCBwYWdnX3RhYl8zLmIKKyAgICAgICAgICAg ICAgIFJlbW90ZSBTUUw6IFNFTEVDVCBhLCBiIEZST00gcHVibGljLnBhZ2dfdGFiX3AzIE9SREVS IEJZIGIgQVNDIE5VTExTIExBU1QKKygxMyByb3dzKQorCitTRUxFQ1QgbWF4KGEpLCBjb3VudChk aXN0aW5jdCBiKSBGUk9NIHBhZ2dfdGFiOworIG1heCB8IGNvdW50IAorLS0tLS0rLS0tLS0tLQor ICAyOSB8ICAgIDUwCisoMSByb3cpCisKKy0tIEl0J3MgdW5zYWZlIHRvIHB1c2ggZG93biBwYXJ0 aWFsIGFnZ3JlZ2F0ZXMgd2hlbgorLS0gc2VydmVyX3ZlcnNpb24gaXMgb2xkZXIgdGhhbiBwYXJ0 aWFsYWdnX21pbnZlcnNpb24sIGRlc2NyaWJlZCBieSBwZ19hZ2dyZWdhdGUKK1NFTEVDVCBmX2Fs dGVyX3NlcnZlcl92ZXJzaW9uKCdsb29wYmFjaycsICdzZXQnLCAtMSk7CisgZl9hbHRlcl9zZXJ2 ZXJfdmVyc2lvbiAKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorIAorKDEgcm93KQorCitFWFBM QUlOIChWRVJCT1NFLCBDT1NUUyBPRkYpCitTRUxFQ1QgYXZnKGQpIEZST00gcGFnZ190YWI7Cisg ICAgICAgICAgICAgICAgICAgICAgICAgICAgUVVFUlkgUExBTiAgICAgICAgICAgICAgICAgICAg ICAgICAgICAKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLQorIEZpbmFsaXplIEFnZ3JlZ2F0ZQorICAgT3V0cHV0OiBhdmco cGFnZ190YWIuZCkKKyAgIC0+ICBBcHBlbmQKKyAgICAgICAgIC0+ICBQYXJ0aWFsIEFnZ3JlZ2F0 ZQorICAgICAgICAgICAgICAgT3V0cHV0OiBQQVJUSUFMIGF2ZyhwYWdnX3RhYi5kKQorICAgICAg ICAgICAgICAgLT4gIEZvcmVpZ24gU2NhbiBvbiBwdWJsaWMuZnBhZ2dfdGFiX3AxIHBhZ2dfdGFi CisgICAgICAgICAgICAgICAgICAgICBPdXRwdXQ6IHBhZ2dfdGFiLmQKKyAgICAgICAgICAgICAg ICAgICAgIFJlbW90ZSBTUUw6IFNFTEVDVCBkIEZST00gcHVibGljLnBhZ2dfdGFiX3AxCisgICAg ICAgICAtPiAgUGFydGlhbCBBZ2dyZWdhdGUKKyAgICAgICAgICAgICAgIE91dHB1dDogUEFSVElB TCBhdmcocGFnZ190YWJfMS5kKQorICAgICAgICAgICAgICAgLT4gIEZvcmVpZ24gU2NhbiBvbiBw dWJsaWMuZnBhZ2dfdGFiX3AyIHBhZ2dfdGFiXzEKKyAgICAgICAgICAgICAgICAgICAgIE91dHB1 dDogcGFnZ190YWJfMS5kCisgICAgICAgICAgICAgICAgICAgICBSZW1vdGUgU1FMOiBTRUxFQ1Qg ZCBGUk9NIHB1YmxpYy5wYWdnX3RhYl9wMgorICAgICAgICAgLT4gIFBhcnRpYWwgQWdncmVnYXRl CisgICAgICAgICAgICAgICBPdXRwdXQ6IFBBUlRJQUwgYXZnKHBhZ2dfdGFiXzIuZCkKKyAgICAg ICAgICAgICAgIC0+ICBGb3JlaWduIFNjYW4gb24gcHVibGljLmZwYWdnX3RhYl9wMyBwYWdnX3Rh Yl8yCisgICAgICAgICAgICAgICAgICAgICBPdXRwdXQ6IHBhZ2dfdGFiXzIuZAorICAgICAgICAg ICAgICAgICAgICAgUmVtb3RlIFNRTDogU0VMRUNUIGQgRlJPTSBwdWJsaWMucGFnZ190YWJfcDMK KygxOCByb3dzKQorCitTRUxFQ1QgYXZnKGQpIEZST00gcGFnZ190YWI7CisgICAgICAgICBhdmcg ICAgICAgICAKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLQorIDE5LjUwMDAwMDAwMDAwMDAwMDAKKygx IHJvdykKKworLS0gSXQncyBzYWZlIHRvIHB1c2ggZG93biBwYXJ0aWFsIGFnZ3JlZ2F0ZSBmb3Ig dXNlciBkZWZpbmVkIGFnZ3JlZ2F0ZQorLS0gd2hpY2ggaGFzIHZhbGlkIG9wdGlvbnMuCitDUkVB VEUgQUdHUkVHQVRFIHBvc3RncmVzX2Zkd19zdW1fcF9pbnQ4KGludDgpICgKKwlTRlVOQyA9IGlu dDhfYXZnX2FjY3VtLAorCVNUWVBFID0gaW50ZXJuYWwsCisJRklOQUxGVU5DID0gaW50OF9hdmdf c2VyaWFsaXplCispOworQ1JFQVRFIEFHR1JFR0FURSBwb3N0Z3Jlc19mZHdfc3VtKGludDgpICgK KwlTRlVOQyA9IGludDhfYXZnX2FjY3VtLAorCVNUWVBFID0gaW50ZXJuYWwsCisJQ09NQklORUZV TkMgPSBpbnQ4X2F2Z19jb21iaW5lLAorCUZJTkFMRlVOQyA9IG51bWVyaWNfcG9seV9zdW0sCisJ U0VSSUFMRlVOQyA9IGludDhfYXZnX3NlcmlhbGl6ZSwKKwlERVNFUklBTEZVTkMgPSBpbnQ4X2F2 Z19kZXNlcmlhbGl6ZSwKKwlQQVJUSUFMQUdHRlVOQyA9IHBvc3RncmVzX2Zkd19zdW1fcF9pbnQ4 LAorCVBBUlRJQUxBR0dfTUlOVkVSU0lPTiA9IDE1MDAwMAorKTsKK0FMVEVSIEVYVEVOU0lPTiBw b3N0Z3Jlc19mZHcgQUREIEZVTkNUSU9OIHBvc3RncmVzX2Zkd19zdW0oaW50OCk7CitFWFBMQUlO IChWRVJCT1NFLCBDT1NUUyBPRkYpCitTRUxFQ1QgcG9zdGdyZXNfZmR3X3N1bShkOjppbnQ4KSBG Uk9NIHBhZ2dfdGFiOworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgUVVFUlkgUExBTiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IAorLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorIEZpbmFsaXpl IEFnZ3JlZ2F0ZQorICAgT3V0cHV0OiBwb3N0Z3Jlc19mZHdfc3VtKChwYWdnX3RhYi5kKTo6Ymln aW50KQorICAgLT4gIEFwcGVuZAorICAgICAgICAgLT4gIEZvcmVpZ24gU2NhbgorICAgICAgICAg ICAgICAgT3V0cHV0OiAoUEFSVElBTCBwb3N0Z3Jlc19mZHdfc3VtKChwYWdnX3RhYi5kKTo6Ymln aW50KSkKKyAgICAgICAgICAgICAgIFJlbGF0aW9uczogQWdncmVnYXRlIG9uIChwdWJsaWMuZnBh Z2dfdGFiX3AxIHBhZ2dfdGFiKQorICAgICAgICAgICAgICAgUmVtb3RlIFNRTDogU0VMRUNUIHB1 YmxpYy5wb3N0Z3Jlc19mZHdfc3VtX3BfaW50OChkOjpiaWdpbnQpIEZST00gcHVibGljLnBhZ2df dGFiX3AxCisgICAgICAgICAtPiAgRm9yZWlnbiBTY2FuCisgICAgICAgICAgICAgICBPdXRwdXQ6 IChQQVJUSUFMIHBvc3RncmVzX2Zkd19zdW0oKHBhZ2dfdGFiXzEuZCk6OmJpZ2ludCkpCisgICAg ICAgICAgICAgICBSZWxhdGlvbnM6IEFnZ3JlZ2F0ZSBvbiAocHVibGljLmZwYWdnX3RhYl9wMiBw YWdnX3RhYl8xKQorICAgICAgICAgICAgICAgUmVtb3RlIFNRTDogU0VMRUNUIHB1YmxpYy5wb3N0 Z3Jlc19mZHdfc3VtX3BfaW50OChkOjpiaWdpbnQpIEZST00gcHVibGljLnBhZ2dfdGFiX3AyCisg ICAgICAgICAtPiAgRm9yZWlnbiBTY2FuCisgICAgICAgICAgICAgICBPdXRwdXQ6IChQQVJUSUFM IHBvc3RncmVzX2Zkd19zdW0oKHBhZ2dfdGFiXzIuZCk6OmJpZ2ludCkpCisgICAgICAgICAgICAg ICBSZWxhdGlvbnM6IEFnZ3JlZ2F0ZSBvbiAocHVibGljLmZwYWdnX3RhYl9wMyBwYWdnX3RhYl8y KQorICAgICAgICAgICAgICAgUmVtb3RlIFNRTDogU0VMRUNUIHB1YmxpYy5wb3N0Z3Jlc19mZHdf c3VtX3BfaW50OChkOjpiaWdpbnQpIEZST00gcHVibGljLnBhZ2dfdGFiX3AzCisoMTUgcm93cykK KworU0VMRUNUIHBvc3RncmVzX2Zkd19zdW0oZDo6aW50OCkgRlJPTSBwYWdnX3RhYjsKKyBwb3N0 Z3Jlc19mZHdfc3VtIAorLS0tLS0tLS0tLS0tLS0tLS0tCisgICAgICAgICAgICA1ODUwMAorKDEg cm93KQorCitBTFRFUiBFWFRFTlNJT04gcG9zdGdyZXNfZmR3IERST1AgRlVOQ1RJT04gcG9zdGdy ZXNfZmR3X3N1bShpbnQ4KTsKK0RST1AgQUdHUkVHQVRFIHBvc3RncmVzX2Zkd19zdW0oaW50OCk7 CitEUk9QIEFHR1JFR0FURSBwb3N0Z3Jlc19mZHdfc3VtX3BfaW50OChpbnQ4KTsKK0RST1AgRlVO Q1RJT04gZl9zZXJ2ZXJfdmVyc2lvbl9sYWcoaW50NCk7CitEUk9QIEZVTkNUSU9OIGZfYWx0ZXJf c2VydmVyX3ZlcnNpb24odGV4dCwgdGV4dCwgaW50NCk7CitBTFRFUiBTRVJWRVIgbG9vcGJhY2sg T1BUSU9OUyAoRFJPUCBzZXJ2ZXJfdmVyc2lvbik7CiAtLSA9PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CiAtLSBhY2Nlc3Mg cmlnaHRzIGFuZCBzdXBlcnVzZXIKIC0tID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KZGlmZiAtLWdpdCBhL2NvbnRyaWIv cG9zdGdyZXNfZmR3L29wdGlvbi5jIGIvY29udHJpYi9wb3N0Z3Jlc19mZHcvb3B0aW9uLmMKaW5k ZXggZmE4MGVlMmE1NS4uY2IxYjI4YmFmMiAxMDA2NDQKLS0tIGEvY29udHJpYi9wb3N0Z3Jlc19m ZHcvb3B0aW9uLmMKKysrIGIvY29udHJpYi9wb3N0Z3Jlc19mZHcvb3B0aW9uLmMKQEAgLTIxMCw2 ICsyMTAsMjcgQEAgcG9zdGdyZXNfZmR3X3ZhbGlkYXRvcihQR19GVU5DVElPTl9BUkdTKQogCQkJ CQkJIGVycm1zZygic3NsY2VydCBhbmQgc3Nsa2V5IGFyZSBzdXBlcnVzZXItb25seSIpLAogCQkJ CQkJIGVycmhpbnQoIlVzZXIgbWFwcGluZ3Mgd2l0aCB0aGUgc3NsY2VydCBvciBzc2xrZXkgb3B0 aW9ucyBzZXQgbWF5IG9ubHkgYmUgY3JlYXRlZCBvciBtb2RpZmllZCBieSB0aGUgc3VwZXJ1c2Vy LiIpKSk7CiAJCX0KKwkJZWxzZSBpZiAoc3RyY21wKGRlZi0+ZGVmbmFtZSwgInNlcnZlcl92ZXJz aW9uIikgPT0gMCkKKwkJeworCQkJY2hhciogdmFsdWU7CisJCQlpbnQJCQlpbnRfdmFsOworCQkJ Ym9vbAkJaXNfcGFyc2VkOworCisJCQl2YWx1ZSA9IGRlZkdldFN0cmluZyhkZWYpOworCQkJaXNf cGFyc2VkID0gcGFyc2VfaW50KHZhbHVlLCAmaW50X3ZhbCwgMCwgTlVMTCk7CisKKwkJCWlmICgh aXNfcGFyc2VkKQorCQkJCWVyZXBvcnQoRVJST1IsCisJCQkJCShlcnJjb2RlKEVSUkNPREVfSU5W QUxJRF9QQVJBTUVURVJfVkFMVUUpLAorCQkJCQkJZXJybXNnKCJpbnZhbGlkIHZhbHVlIGZvciBp bnRlZ2VyIG9wdGlvbiBcIiVzXCI6ICVzIiwKKwkJCQkJCQlkZWYtPmRlZm5hbWUsIHZhbHVlKSkp OworCisJCQlpZiAoaW50X3ZhbCA8PSAwKQorCQkJCWVyZXBvcnQoRVJST1IsCisJCQkJCShlcnJj b2RlKEVSUkNPREVfSU5WQUxJRF9QQVJBTUVURVJfVkFMVUUpLAorCQkJCQkJZXJybXNnKCJcIiVz XCIgbXVzdCBiZSBhbiBpbnRlZ2VyIHZhbHVlIGdyZWF0ZXIgdGhhbiB6ZXJvIiwKKwkJCQkJCQlk ZWYtPmRlZm5hbWUpKSk7CisJCX0KIAl9CiAKIAlQR19SRVRVUk5fVk9JRCgpOwpAQCAtMjY1LDYg KzI4Niw5IEBAIEluaXRQZ0Zkd09wdGlvbnModm9pZCkKIAkJeyJzc2xjZXJ0IiwgVXNlck1hcHBp bmdSZWxhdGlvbklkLCB0cnVlfSwKIAkJeyJzc2xrZXkiLCBVc2VyTWFwcGluZ1JlbGF0aW9uSWQs IHRydWV9LAogCisJCS8qIG9wdGlvbnMgZm9yIHBhcnRpYWwgYWdncmVnYXRpb24gcHVzaGRvd24g Ki8KKwkJeyJzZXJ2ZXJfdmVyc2lvbiIsIEZvcmVpZ25TZXJ2ZXJSZWxhdGlvbklkLCBmYWxzZX0s CisKIAkJe05VTEwsIEludmFsaWRPaWQsIGZhbHNlfQogCX07CiAKZGlmZiAtLWdpdCBhL2NvbnRy aWIvcG9zdGdyZXNfZmR3L3Bvc3RncmVzX2Zkdy5jIGIvY29udHJpYi9wb3N0Z3Jlc19mZHcvcG9z dGdyZXNfZmR3LmMKaW5kZXggOGQ3NTAwYWJmYi4uMGRjYTA2Y2NmZSAxMDA2NDQKLS0tIGEvY29u dHJpYi9wb3N0Z3Jlc19mZHcvcG9zdGdyZXNfZmR3LmMKKysrIGIvY29udHJpYi9wb3N0Z3Jlc19m ZHcvcG9zdGdyZXNfZmR3LmMKQEAgLTUxOCw3ICs1MTgsNyBAQCBzdGF0aWMgYm9vbCBmb3JlaWdu X2pvaW5fb2soUGxhbm5lckluZm8gKnJvb3QsIFJlbE9wdEluZm8gKmpvaW5yZWwsCiAJCQkJCQkJ Sm9pblR5cGUgam9pbnR5cGUsIFJlbE9wdEluZm8gKm91dGVycmVsLCBSZWxPcHRJbmZvICppbm5l cnJlbCwKIAkJCQkJCQlKb2luUGF0aEV4dHJhRGF0YSAqZXh0cmEpOwogc3RhdGljIGJvb2wgZm9y ZWlnbl9ncm91cGluZ19vayhQbGFubmVySW5mbyAqcm9vdCwgUmVsT3B0SW5mbyAqZ3JvdXBlZF9y ZWwsCi0JCQkJCQkJCU5vZGUgKmhhdmluZ1F1YWwpOworCQkJCQkJCQlOb2RlICpoYXZpbmdRdWFs LCBQYXJ0aXRpb253aXNlQWdncmVnYXRlVHlwZSBwYXR5cGUpOwogc3RhdGljIExpc3QgKmdldF91 c2VmdWxfcGF0aGtleXNfZm9yX3JlbGF0aW9uKFBsYW5uZXJJbmZvICpyb290LAogCQkJCQkJCQkJ CQkgIFJlbE9wdEluZm8gKnJlbCk7CiBzdGF0aWMgTGlzdCAqZ2V0X3VzZWZ1bF9lY3NfZm9yX3Jl bGF0aW9uKFBsYW5uZXJJbmZvICpyb290LCBSZWxPcHRJbmZvICpyZWwpOwpAQCAtNjUxLDYgKzY1 MSw3IEBAIHBvc3RncmVzR2V0Rm9yZWlnblJlbFNpemUoUGxhbm5lckluZm8gKnJvb3QsCiAJZnBp bmZvLT5zaGlwcGFibGVfZXh0ZW5zaW9ucyA9IE5JTDsKIAlmcGluZm8tPmZldGNoX3NpemUgPSAx MDA7CiAJZnBpbmZvLT5hc3luY19jYXBhYmxlID0gZmFsc2U7CisJZnBpbmZvLT5zZXJ2ZXJfdmVy c2lvbiA9IDA7CiAKIAlhcHBseV9zZXJ2ZXJfb3B0aW9ucyhmcGluZm8pOwogCWFwcGx5X3RhYmxl X29wdGlvbnMoZnBpbmZvKTsKQEAgLTU5MjIsNiArNTkyMyw4IEBAIGFwcGx5X3NlcnZlcl9vcHRp b25zKFBnRmR3UmVsYXRpb25JbmZvICpmcGluZm8pCiAJCQkodm9pZCkgcGFyc2VfaW50KGRlZkdl dFN0cmluZyhkZWYpLCAmZnBpbmZvLT5mZXRjaF9zaXplLCAwLCBOVUxMKTsKIAkJZWxzZSBpZiAo c3RyY21wKGRlZi0+ZGVmbmFtZSwgImFzeW5jX2NhcGFibGUiKSA9PSAwKQogCQkJZnBpbmZvLT5h c3luY19jYXBhYmxlID0gZGVmR2V0Qm9vbGVhbihkZWYpOworCQllbHNlIGlmIChzdHJjbXAoZGVm LT5kZWZuYW1lLCAic2VydmVyX3ZlcnNpb24iKSA9PSAwKQorCQkJKHZvaWQpcGFyc2VfaW50KGRl ZkdldFN0cmluZyhkZWYpLCAmZnBpbmZvLT5zZXJ2ZXJfdmVyc2lvbiwgMCwgTlVMTCk7CiAJfQog fQogCkBAIC01OTgwLDYgKzU5ODMsNyBAQCBtZXJnZV9mZHdfb3B0aW9ucyhQZ0Zkd1JlbGF0aW9u SW5mbyAqZnBpbmZvLAogCWZwaW5mby0+dXNlX3JlbW90ZV9lc3RpbWF0ZSA9IGZwaW5mb19vLT51 c2VfcmVtb3RlX2VzdGltYXRlOwogCWZwaW5mby0+ZmV0Y2hfc2l6ZSA9IGZwaW5mb19vLT5mZXRj aF9zaXplOwogCWZwaW5mby0+YXN5bmNfY2FwYWJsZSA9IGZwaW5mb19vLT5hc3luY19jYXBhYmxl OworCWZwaW5mby0+c2VydmVyX3ZlcnNpb24gPSBmcGluZm9fby0+c2VydmVyX3ZlcnNpb247CiAK IAkvKiBNZXJnZSB0aGUgdGFibGUgbGV2ZWwgb3B0aW9ucyBmcm9tIGVpdGhlciBzaWRlIG9mIHRo ZSBqb2luLiAqLwogCWlmIChmcGluZm9faSkKQEAgLTYxNTksNyArNjE2Myw3IEBAIHBvc3RncmVz R2V0Rm9yZWlnbkpvaW5QYXRocyhQbGFubmVySW5mbyAqcm9vdCwKICAqLwogc3RhdGljIGJvb2wK IGZvcmVpZ25fZ3JvdXBpbmdfb2soUGxhbm5lckluZm8gKnJvb3QsIFJlbE9wdEluZm8gKmdyb3Vw ZWRfcmVsLAotCQkJCQlOb2RlICpoYXZpbmdRdWFsKQorCQkJCQlOb2RlICpoYXZpbmdRdWFsLCBQ YXJ0aXRpb253aXNlQWdncmVnYXRlVHlwZSBwYXR5cGUpCiB7CiAJUXVlcnkJICAgKnF1ZXJ5ID0g cm9vdC0+cGFyc2U7CiAJUGdGZHdSZWxhdGlvbkluZm8gKmZwaW5mbyA9IChQZ0Zkd1JlbGF0aW9u SW5mbyAqKSBncm91cGVkX3JlbC0+ZmR3X3ByaXZhdGU7CkBAIC02MTczLDYgKzYxNzcsMTAgQEAg Zm9yZWlnbl9ncm91cGluZ19vayhQbGFubmVySW5mbyAqcm9vdCwgUmVsT3B0SW5mbyAqZ3JvdXBl ZF9yZWwsCiAJaWYgKHF1ZXJ5LT5ncm91cGluZ1NldHMpCiAJCXJldHVybiBmYWxzZTsKIAorCS8q IEl0J3MgdW5zYWZlIHRvIHB1c2ggaGF2aW5nIHN0YXRlbWVudHMgd2l0aCBwYXJ0aWFsIGFnZ3Jl Z2F0ZXMgKi8KKwlpZiAoKHBhdHlwZSA9PSBQQVJUSVRJT05XSVNFX0FHR1JFR0FURV9QQVJUSUFM KSAmJiBoYXZpbmdRdWFsKQorCQlyZXR1cm4gZmFsc2U7CisKIAkvKiBHZXQgdGhlIGZwaW5mbyBv ZiB0aGUgdW5kZXJseWluZyBzY2FuIHJlbGF0aW9uLiAqLwogCW9mcGluZm8gPSAoUGdGZHdSZWxh dGlvbkluZm8gKikgZnBpbmZvLT5vdXRlcnJlbC0+ZmR3X3ByaXZhdGU7CiAKQEAgLTY0MDksNiAr NjQxNyw3IEBAIHBvc3RncmVzR2V0Rm9yZWlnblVwcGVyUGF0aHMoUGxhbm5lckluZm8gKnJvb3Qs IFVwcGVyUmVsYXRpb25LaW5kIHN0YWdlLAogCiAJLyogSWdub3JlIHN0YWdlcyB3ZSBkb24ndCBz dXBwb3J0OyBhbmQgc2tpcCBhbnkgZHVwbGljYXRlIGNhbGxzLiAqLwogCWlmICgoc3RhZ2UgIT0g VVBQRVJSRUxfR1JPVVBfQUdHICYmCisJCXN0YWdlICE9IFVQUEVSUkVMX1BBUlRJQUxfR1JPVVBf QUdHICYmCiAJCSBzdGFnZSAhPSBVUFBFUlJFTF9PUkRFUkVEICYmCiAJCSBzdGFnZSAhPSBVUFBF UlJFTF9GSU5BTCkgfHwKIAkJb3V0cHV0X3JlbC0+ZmR3X3ByaXZhdGUpCkBAIC02NDI1LDYgKzY0 MzQsMTAgQEAgcG9zdGdyZXNHZXRGb3JlaWduVXBwZXJQYXRocyhQbGFubmVySW5mbyAqcm9vdCwg VXBwZXJSZWxhdGlvbktpbmQgc3RhZ2UsCiAJCQlhZGRfZm9yZWlnbl9ncm91cGluZ19wYXRocyhy b290LCBpbnB1dF9yZWwsIG91dHB1dF9yZWwsCiAJCQkJCQkJCQkgICAoR3JvdXBQYXRoRXh0cmFE YXRhICopIGV4dHJhKTsKIAkJCWJyZWFrOworCQljYXNlIFVQUEVSUkVMX1BBUlRJQUxfR1JPVVBf QUdHOgorCQkJYWRkX2ZvcmVpZ25fZ3JvdXBpbmdfcGF0aHMocm9vdCwgaW5wdXRfcmVsLCBvdXRw dXRfcmVsLAorCQkJCQkJCQkJICAgKEdyb3VwUGF0aEV4dHJhRGF0YSopZXh0cmEpOworCQkJYnJl YWs7CiAJCWNhc2UgVVBQRVJSRUxfT1JERVJFRDoKIAkJCWFkZF9mb3JlaWduX29yZGVyZWRfcGF0 aHMocm9vdCwgaW5wdXRfcmVsLCBvdXRwdXRfcmVsKTsKIAkJCWJyZWFrOwpAQCAtNjQ2NSw3ICs2 NDc4LDggQEAgYWRkX2ZvcmVpZ25fZ3JvdXBpbmdfcGF0aHMoUGxhbm5lckluZm8gKnJvb3QsIFJl bE9wdEluZm8gKmlucHV0X3JlbCwKIAkJcmV0dXJuOwogCiAJQXNzZXJ0KGV4dHJhLT5wYXR5cGUg PT0gUEFSVElUSU9OV0lTRV9BR0dSRUdBVEVfTk9ORSB8fAotCQkgICBleHRyYS0+cGF0eXBlID09 IFBBUlRJVElPTldJU0VfQUdHUkVHQVRFX0ZVTEwpOworCQkgICBleHRyYS0+cGF0eXBlID09IFBB UlRJVElPTldJU0VfQUdHUkVHQVRFX0ZVTEwgfHwKKwkJICAgZXh0cmEtPnBhdHlwZSA9PSBQQVJU SVRJT05XSVNFX0FHR1JFR0FURV9QQVJUSUFMKTsKIAogCS8qIHNhdmUgdGhlIGlucHV0X3JlbCBh cyBvdXRlcnJlbCBpbiBmcGluZm8gKi8KIAlmcGluZm8tPm91dGVycmVsID0gaW5wdXRfcmVsOwpA QCAtNjQ4NSw3ICs2NDk5LDcgQEAgYWRkX2ZvcmVpZ25fZ3JvdXBpbmdfcGF0aHMoUGxhbm5lcklu Zm8gKnJvb3QsIFJlbE9wdEluZm8gKmlucHV0X3JlbCwKIAkgKiBVc2UgSEFWSU5HIHF1YWwgZnJv bSBleHRyYS4gSW4gY2FzZSBvZiBjaGlsZCBwYXJ0aXRpb24sIGl0IHdpbGwgaGF2ZQogCSAqIHRy YW5zbGF0ZWQgVmFycy4KIAkgKi8KLQlpZiAoIWZvcmVpZ25fZ3JvdXBpbmdfb2socm9vdCwgZ3Jv dXBlZF9yZWwsIGV4dHJhLT5oYXZpbmdRdWFsKSkKKwlpZiAoIWZvcmVpZ25fZ3JvdXBpbmdfb2so cm9vdCwgZ3JvdXBlZF9yZWwsIGV4dHJhLT5oYXZpbmdRdWFsLCBleHRyYS0+cGF0eXBlKSkKIAkJ cmV0dXJuOwogCiAJLyoKZGlmZiAtLWdpdCBhL2NvbnRyaWIvcG9zdGdyZXNfZmR3L3Bvc3RncmVz X2Zkdy5oIGIvY29udHJpYi9wb3N0Z3Jlc19mZHcvcG9zdGdyZXNfZmR3LmgKaW5kZXggYTExZDQ1 YmVkZi4uMDFjNGY0NWUzMiAxMDA2NDQKLS0tIGEvY29udHJpYi9wb3N0Z3Jlc19mZHcvcG9zdGdy ZXNfZmR3LmgKKysrIGIvY29udHJpYi9wb3N0Z3Jlc19mZHcvcG9zdGdyZXNfZmR3LmgKQEAgLTg4 LDYgKzg4LDkgQEAgdHlwZWRlZiBzdHJ1Y3QgUGdGZHdSZWxhdGlvbkluZm8KIAogCWludAkJCWZl dGNoX3NpemU7CQkvKiBmZXRjaCBzaXplIGZvciB0aGlzIHJlbW90ZSB0YWJsZSAqLwogCisJLyog T3B0aW9ucyBmb3IgY2hlY2tpbmcgY29tcGF0aWJpbGl0eSBvZiBwYXJ0aWFsIGFnZ3JlZ2F0aW9u ICovCisJaW50CQkJc2VydmVyX3ZlcnNpb247CisKIAkvKgogCSAqIE5hbWUgb2YgdGhlIHJlbGF0 aW9uLCBmb3IgdXNlIHdoaWxlIEVYUExBSU5pbmcgRm9yZWlnblNjYW4uICBJdCBpcyB1c2VkCiAJ ICogZm9yIGpvaW4gYW5kIHVwcGVyIHJlbGF0aW9ucyBidXQgaXMgc2V0IGZvciBhbGwgcmVsYXRp b25zLiAgRm9yIGEgYmFzZQpkaWZmIC0tZ2l0IGEvY29udHJpYi9wb3N0Z3Jlc19mZHcvc3FsL3Bv c3RncmVzX2Zkdy5zcWwgYi9jb250cmliL3Bvc3RncmVzX2Zkdy9zcWwvcG9zdGdyZXNfZmR3LnNx bAppbmRleCBiMGRiYjQxZmI1Li5kNmUyZTUwMjA0IDEwMDY0NAotLS0gYS9jb250cmliL3Bvc3Rn cmVzX2Zkdy9zcWwvcG9zdGdyZXNfZmR3LnNxbAorKysgYi9jb250cmliL3Bvc3RncmVzX2Zkdy9z cWwvcG9zdGdyZXNfZmR3LnNxbApAQCAtMjkxOSwxNiArMjkxOSwzNCBAQCBSRVNFVCBlbmFibGVf cGFydGl0aW9ud2lzZV9qb2luOwogLS0gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQogLS0gdGVzdCBwYXJ0aXRpb253aXNl IGFnZ3JlZ2F0ZXMKIC0tID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT0KK0NSRUFURSBPUiBSRVBMQUNFIEZVTkNUSU9OIGZf c2VydmVyX3ZlcnNpb25fbGFnKHZlcnNpb25fb2Zmc2V0IGludDQpIFJFVFVSTlMgdGV4dCBBUyAk JAorICAgIFNFTEVDVCAoc2V0dGluZzo6aW50NCArIHZlcnNpb25fb2Zmc2V0KTo6dGV4dCBGUk9N IHBnX3NldHRpbmdzIFdIRVJFIG5hbWUgPSAnc2VydmVyX3ZlcnNpb25fbnVtJzsKKyQkIExBTkdV QUdFIHNxbDsKIAotQ1JFQVRFIFRBQkxFIHBhZ2dfdGFiIChhIGludCwgYiBpbnQsIGMgdGV4dCkg UEFSVElUSU9OIEJZIFJBTkdFKGEpOworQ1JFQVRFIE9SIFJFUExBQ0UgRlVOQ1RJT04gZl9hbHRl cl9zZXJ2ZXJfdmVyc2lvbihzZXJ2ZXJfbmFtZSB0ZXh0LCBvcGVyYXRpb24gdGV4dCwgdmVyc2lv bl9vZmZzZXQgaW50NCkgUkVUVVJOUyB2b2lkIEFTICQkCisgICAgREVDTEFSRQorICAgICAgICB2 ZXJzaW9uX251bSB0ZXh0OworICAgIEJFR0lOCisgICAgICAgIEVYRUNVVEUgJ1NFTEVDVCBmX3Nl cnZlcl92ZXJzaW9uX2xhZygkMSkgJworICAgICAgICAgICAgSU5UTyB2ZXJzaW9uX251bQorICAg ICAgICAgICAgVVNJTkcgdmVyc2lvbl9vZmZzZXQ7CisgICAgICAgIEVYRUNVVEUgZm9ybWF0KCdB TFRFUiBTRVJWRVIgJUkgT1BUSU9OUyAoJUkgc2VydmVyX3ZlcnNpb24gJUwpJywKKyAgICAgICAg ICAgIHNlcnZlcl9uYW1lLCBvcGVyYXRpb24sIHZlcnNpb25fbnVtKTsKKyAgICAgICAgUkVUVVJO OworICAgIEVORDsKKyQkIExBTkdVQUdFIHBscGdzcWw7CisKK1NFTEVDVCBmX2FsdGVyX3NlcnZl cl92ZXJzaW9uKCdsb29wYmFjaycsICdhZGQnLCAwKTsKKworQ1JFQVRFIFRBQkxFIHBhZ2dfdGFi IChhIGludCwgYiBpbnQsIGMgdGV4dCwgZCBpbnQ0KSBQQVJUSVRJT04gQlkgUkFOR0UoYSk7CiAK IENSRUFURSBUQUJMRSBwYWdnX3RhYl9wMSAoTElLRSBwYWdnX3RhYik7CiBDUkVBVEUgVEFCTEUg cGFnZ190YWJfcDIgKExJS0UgcGFnZ190YWIpOwogQ1JFQVRFIFRBQkxFIHBhZ2dfdGFiX3AzIChM SUtFIHBhZ2dfdGFiKTsKIAotSU5TRVJUIElOVE8gcGFnZ190YWJfcDEgU0VMRUNUIGkgJSAzMCwg aSAlIDUwLCB0b19jaGFyKGkvMzAsICdGTTAwMDAnKSBGUk9NIGdlbmVyYXRlX3NlcmllcygxLCAz MDAwKSBpIFdIRVJFIChpICUgMzApIDwgMTA7Ci1JTlNFUlQgSU5UTyBwYWdnX3RhYl9wMiBTRUxF Q1QgaSAlIDMwLCBpICUgNTAsIHRvX2NoYXIoaS8zMCwgJ0ZNMDAwMCcpIEZST00gZ2VuZXJhdGVf c2VyaWVzKDEsIDMwMDApIGkgV0hFUkUgKGkgJSAzMCkgPCAyMCBhbmQgKGkgJSAzMCkgPj0gMTA7 Ci1JTlNFUlQgSU5UTyBwYWdnX3RhYl9wMyBTRUxFQ1QgaSAlIDMwLCBpICUgNTAsIHRvX2NoYXIo aS8zMCwgJ0ZNMDAwMCcpIEZST00gZ2VuZXJhdGVfc2VyaWVzKDEsIDMwMDApIGkgV0hFUkUgKGkg JSAzMCkgPCAzMCBhbmQgKGkgJSAzMCkgPj0gMjA7CitJTlNFUlQgSU5UTyBwYWdnX3RhYl9wMSBT RUxFQ1QgaSAlIDMwLCBpICUgNTAsIHRvX2NoYXIoaS8zMCwgJ0ZNMDAwMCcpLCBpICUgNDAgRlJP TSBnZW5lcmF0ZV9zZXJpZXMoMSwgMzAwMCkgaSBXSEVSRSAoaSAlIDMwKSA8IDEwOworSU5TRVJU IElOVE8gcGFnZ190YWJfcDIgU0VMRUNUIGkgJSAzMCwgaSAlIDUwLCB0b19jaGFyKGkvMzAsICdG TTAwMDAnKSwgaSAlIDQwIEZST00gZ2VuZXJhdGVfc2VyaWVzKDEsIDMwMDApIGkgV0hFUkUgKGkg JSAzMCkgPCAyMCBhbmQgKGkgJSAzMCkgPj0gMTA7CitJTlNFUlQgSU5UTyBwYWdnX3RhYl9wMyBT RUxFQ1QgaSAlIDMwLCBpICUgNTAsIHRvX2NoYXIoaS8zMCwgJ0ZNMDAwMCcpLCBpICUgNDAgRlJP TSBnZW5lcmF0ZV9zZXJpZXMoMSwgMzAwMCkgaSBXSEVSRSAoaSAlIDMwKSA8IDMwIGFuZCAoaSAl IDMwKSA+PSAyMDsKIAogLS0gQ3JlYXRlIGZvcmVpZ24gcGFydGl0aW9ucwogQ1JFQVRFIEZPUkVJ R04gVEFCTEUgZnBhZ2dfdGFiX3AxIFBBUlRJVElPTiBPRiBwYWdnX3RhYiBGT1IgVkFMVUVTIEZS T00gKDApIFRPICgxMCkgU0VSVkVSIGxvb3BiYWNrIE9QVElPTlMgKHRhYmxlX25hbWUgJ3BhZ2df dGFiX3AxJyk7CkBAIC0yOTYyLDYgKzI5ODAsNjUgQEAgU0VMRUNUIGEsIGNvdW50KHQxKSBGUk9N IHBhZ2dfdGFiIHQxIEdST1VQIEJZIGEgSEFWSU5HIGF2ZyhiKSA8IDIyIE9SREVSIEJZIDE7CiBF WFBMQUlOIChDT1NUUyBPRkYpCiBTRUxFQ1QgYiwgYXZnKGEpLCBtYXgoYSksIGNvdW50KCopIEZS T00gcGFnZ190YWIgR1JPVVAgQlkgYiBIQVZJTkcgc3VtKGEpIDwgNzAwIE9SREVSIEJZIDE7CiAK Ky0tIEl0J3MgdW5zYWZlIHRvIHB1c2ggZG93biBoYXZpbmcgY2xhdXNlIHdoZW4gdGhlcmUgYXJl IHBhcnRpYWwgYWdncmVnYXRlcworRVhQTEFJTiAoVkVSQk9TRSwgQ09TVFMgT0ZGKQorU0VMRUNU IGIsIG1heChhKSwgY291bnQoKikgRlJPTSBwYWdnX3RhYiBHUk9VUCBCWSBiIEhBVklORyBzdW0o YSkgPCA3MDAgT1JERVIgQlkgMTsKKworLS0gUGFydGlhbCBhZ2dyZWdhdGVzIGFyZSBmaW5lIHRv IHB1c2ggZG93biB3aXRob3V0IGhhdmluZyBjbGF1c2UKK0VYUExBSU4gKFZFUkJPU0UsIENPU1RT IE9GRikKK1NFTEVDVCBiLCBtaW4oYSksIG1heChhKSwgY291bnQoKiksIHN1bShkKSwgc3VtKGQ6 OmludDgpLCBhdmcoZCksIGF2ZyhkOjppbnQ4KSBGUk9NIHBhZ2dfdGFiIEdST1VQIEJZIGIgT1JE RVIgQlkgMTsKK1NFTEVDVCBiLCBtaW4oYSksIG1heChhKSwgY291bnQoKiksIHN1bShkKSwgc3Vt KGQ6OmludDgpLCBhdmcoZCksIGF2ZyhkOjppbnQ4KSBGUk9NIHBhZ2dfdGFiIEdST1VQIEJZIGIg T1JERVIgQlkgMTsKKworLS0gUGFydGlhbCBhZ2dyZWdhdGVzIGFyZSBmaW5lIHRvIHB1c2ggZG93 bgorRVhQTEFJTiAoVkVSQk9TRSwgQ09TVFMgT0ZGKQorU0VMRUNUIG1pbihhKSwgbWF4KGEpLCBj b3VudCgqKSwgc3VtKGQpLCBzdW0oZDo6aW50OCksIGF2ZyhkKSwgYXZnKGQ6OmludDgpIEZST00g cGFnZ190YWI7CitTRUxFQ1QgbWluKGEpLCBtYXgoYSksIGNvdW50KCopLCBzdW0oZCksIHN1bShk OjppbnQ4KSwgYXZnKGQpLCBhdmcoZDo6aW50OCkgRlJPTSBwYWdnX3RhYjsKKworLS0gSXQncyB1 bnNhZmUgdG8gcHVzaCBkb3duIHBhcnRpYWwgYWdncmVnYXRlcyB3aGljaCBjb250YWlucyBkaXN0 aW5jdCBjbGF1c2UKK0VYUExBSU4gKFZFUkJPU0UsIENPU1RTIE9GRikKK1NFTEVDVCBtYXgoYSks IGNvdW50KGRpc3RpbmN0IGIpIEZST00gcGFnZ190YWI7CitTRUxFQ1QgbWF4KGEpLCBjb3VudChk aXN0aW5jdCBiKSBGUk9NIHBhZ2dfdGFiOworCistLSBJdCdzIHVuc2FmZSB0byBwdXNoIGRvd24g cGFydGlhbCBhZ2dyZWdhdGVzIHdoZW4KKy0tIHNlcnZlcl92ZXJzaW9uIGlzIG9sZGVyIHRoYW4g cGFydGlhbGFnZ19taW52ZXJzaW9uLCBkZXNjcmliZWQgYnkgcGdfYWdncmVnYXRlCitTRUxFQ1Qg Zl9hbHRlcl9zZXJ2ZXJfdmVyc2lvbignbG9vcGJhY2snLCAnc2V0JywgLTEpOworRVhQTEFJTiAo VkVSQk9TRSwgQ09TVFMgT0ZGKQorU0VMRUNUIGF2ZyhkKSBGUk9NIHBhZ2dfdGFiOworU0VMRUNU IGF2ZyhkKSBGUk9NIHBhZ2dfdGFiOworCistLSBJdCdzIHNhZmUgdG8gcHVzaCBkb3duIHBhcnRp YWwgYWdncmVnYXRlIGZvciB1c2VyIGRlZmluZWQgYWdncmVnYXRlCistLSB3aGljaCBoYXMgdmFs aWQgb3B0aW9ucy4KK0NSRUFURSBBR0dSRUdBVEUgcG9zdGdyZXNfZmR3X3N1bV9wX2ludDgoaW50 OCkgKAorCVNGVU5DID0gaW50OF9hdmdfYWNjdW0sCisJU1RZUEUgPSBpbnRlcm5hbCwKKwlGSU5B TEZVTkMgPSBpbnQ4X2F2Z19zZXJpYWxpemUKKyk7CisKK0NSRUFURSBBR0dSRUdBVEUgcG9zdGdy ZXNfZmR3X3N1bShpbnQ4KSAoCisJU0ZVTkMgPSBpbnQ4X2F2Z19hY2N1bSwKKwlTVFlQRSA9IGlu dGVybmFsLAorCUNPTUJJTkVGVU5DID0gaW50OF9hdmdfY29tYmluZSwKKwlGSU5BTEZVTkMgPSBu dW1lcmljX3BvbHlfc3VtLAorCVNFUklBTEZVTkMgPSBpbnQ4X2F2Z19zZXJpYWxpemUsCisJREVT RVJJQUxGVU5DID0gaW50OF9hdmdfZGVzZXJpYWxpemUsCisJUEFSVElBTEFHR0ZVTkMgPSBwb3N0 Z3Jlc19mZHdfc3VtX3BfaW50OCwKKwlQQVJUSUFMQUdHX01JTlZFUlNJT04gPSAxNTAwMDAKKyk7 CisKK0FMVEVSIEVYVEVOU0lPTiBwb3N0Z3Jlc19mZHcgQUREIEZVTkNUSU9OIHBvc3RncmVzX2Zk d19zdW0oaW50OCk7CisKK0VYUExBSU4gKFZFUkJPU0UsIENPU1RTIE9GRikKK1NFTEVDVCBwb3N0 Z3Jlc19mZHdfc3VtKGQ6OmludDgpIEZST00gcGFnZ190YWI7CitTRUxFQ1QgcG9zdGdyZXNfZmR3 X3N1bShkOjppbnQ4KSBGUk9NIHBhZ2dfdGFiOworCitBTFRFUiBFWFRFTlNJT04gcG9zdGdyZXNf ZmR3IERST1AgRlVOQ1RJT04gcG9zdGdyZXNfZmR3X3N1bShpbnQ4KTsKK0RST1AgQUdHUkVHQVRF IHBvc3RncmVzX2Zkd19zdW0oaW50OCk7CitEUk9QIEFHR1JFR0FURSBwb3N0Z3Jlc19mZHdfc3Vt X3BfaW50OChpbnQ4KTsKKworRFJPUCBGVU5DVElPTiBmX3NlcnZlcl92ZXJzaW9uX2xhZyhpbnQ0 KTsKK0RST1AgRlVOQ1RJT04gZl9hbHRlcl9zZXJ2ZXJfdmVyc2lvbih0ZXh0LCB0ZXh0LCBpbnQ0 KTsKK0FMVEVSIFNFUlZFUiBsb29wYmFjayBPUFRJT05TIChEUk9QIHNlcnZlcl92ZXJzaW9uKTsK KwogLS0gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PQogLS0gYWNjZXNzIHJpZ2h0cyBhbmQgc3VwZXJ1c2VyCiAtLSA9PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09CmRpZmYgLS1naXQgYS9zcmMvYmFja2VuZC9jYXRhbG9nL3BnX2FnZ3JlZ2F0ZS5jIGIv c3JjL2JhY2tlbmQvY2F0YWxvZy9wZ19hZ2dyZWdhdGUuYwppbmRleCBhOTg0NDViNzQxLi4zOWQ1 MzA1OWU5IDEwMDY0NAotLS0gYS9zcmMvYmFja2VuZC9jYXRhbG9nL3BnX2FnZ3JlZ2F0ZS5jCisr KyBiL3NyYy9iYWNrZW5kL2NhdGFsb2cvcGdfYWdncmVnYXRlLmMKQEAgLTYzLDYgKzYzLDcgQEAg QWdncmVnYXRlQ3JlYXRlKGNvbnN0IGNoYXIgKmFnZ05hbWUsCiAJCQkJTGlzdCAqYWdnbXRyYW5z Zm5OYW1lLAogCQkJCUxpc3QgKmFnZ21pbnZ0cmFuc2ZuTmFtZSwKIAkJCQlMaXN0ICphZ2dtZmlu YWxmbk5hbWUsCisJCQkJTGlzdCAqcGFydGlhbGFnZ2ZuTmFtZSwKIAkJCQlib29sIGZpbmFsZm5F eHRyYUFyZ3MsCiAJCQkJYm9vbCBtZmluYWxmbkV4dHJhQXJncywKIAkJCQljaGFyIGZpbmFsZm5N b2RpZnksCkBAIC03Miw2ICs3Myw3IEBAIEFnZ3JlZ2F0ZUNyZWF0ZShjb25zdCBjaGFyICphZ2dO YW1lLAogCQkJCWludDMyIGFnZ1RyYW5zU3BhY2UsCiAJCQkJT2lkIGFnZ21UcmFuc1R5cGUsCiAJ CQkJaW50MzIgYWdnbVRyYW5zU3BhY2UsCisJCQkJaW50MzIgcGFydGlhbGFnZ01pbnZlcnNpb24s CiAJCQkJY29uc3QgY2hhciAqYWdnaW5pdHZhbCwKIAkJCQljb25zdCBjaGFyICphZ2dtaW5pdHZh bCwKIAkJCQljaGFyIHByb3BhcmFsbGVsKQpAQCAtOTEsNiArOTMsNyBAQCBBZ2dyZWdhdGVDcmVh dGUoY29uc3QgY2hhciAqYWdnTmFtZSwKIAlPaWQJCQltdHJhbnNmbiA9IEludmFsaWRPaWQ7CS8q IGNhbiBiZSBvbWl0dGVkICovCiAJT2lkCQkJbWludnRyYW5zZm4gPSBJbnZhbGlkT2lkOwkvKiBj YW4gYmUgb21pdHRlZCAqLwogCU9pZAkJCW1maW5hbGZuID0gSW52YWxpZE9pZDsJLyogY2FuIGJl IG9taXR0ZWQgKi8KKwlPaWQJCQlwYXJ0aWFsYWdnZm4gPSBJbnZhbGlkT2lkOwkvKiBjYW4gYmUg b21pdHRlZCAqLwogCU9pZAkJCXNvcnRvcCA9IEludmFsaWRPaWQ7CS8qIGNhbiBiZSBvbWl0dGVk ICovCiAJT2lkCQkgICAqYWdnQXJnVHlwZXMgPSBwYXJhbWV0ZXJUeXBlcy0+dmFsdWVzOwogCWJv b2wJCW10cmFuc0lzU3RyaWN0ID0gZmFsc2U7CkBAIC01NjksNiArNTcyLDMzIEBAIEFnZ3JlZ2F0 ZUNyZWF0ZShjb25zdCBjaGFyICphZ2dOYW1lLAogCQkJCQkJCWZvcm1hdF90eXBlX2JlKGZpbmFs dHlwZSkpKSk7CiAJfQogCisJLyoKKwkgKiBWYWxpZGF0ZSB0aGUgcGFydGlhbCBhZ2dyZWdhdGUg ZnVuY3Rpb24sIGlmIHByZXNlbnQuCisJICovCisJaWYgKHBhcnRpYWxhZ2dmbk5hbWUpCisJewor CQlIZWFwVHVwbGUgYWdndHVwOworCQlwYXJ0aWFsYWdnZm4gPSBMb29rdXBGdW5jTmFtZShwYXJ0 aWFsYWdnZm5OYW1lLCBudW1BcmdzLCBhZ2dBcmdUeXBlcywgZmFsc2UpOworCisJCS8qIENoZWNr IGFnZ3JlZ2F0ZSBjcmVhdG9yIGhhcyBwZXJtaXNzaW9uIHRvIGNhbGwgdGhlIGZ1bmN0aW9uICov CisJCWFjbHJlc3VsdCA9IG9iamVjdF9hY2xjaGVjayhQcm9jZWR1cmVSZWxhdGlvbklkLCBwYXJ0 aWFsYWdnZm4sIEdldFVzZXJJZCgpLCBBQ0xfRVhFQ1VURSk7CisJCWlmIChhY2xyZXN1bHQgIT0g QUNMQ0hFQ0tfT0spCisJCQlhY2xjaGVja19lcnJvcihhY2xyZXN1bHQsIE9CSkVDVF9GVU5DVElP TiwgZ2V0X2Z1bmNfbmFtZShwYXJ0aWFsYWdnZm4pKTsKKworCQlyZXR0eXBlID0gZ2V0X2Z1bmNf cmV0dHlwZShwYXJ0aWFsYWdnZm4pOworCisJCWlmICgoKGFnZ1RyYW5zVHlwZSA9PSBJTlRFUk5B TE9JRCkgJiYgKHJldHR5cGUgIT0gQllURUFPSUQpKQorCQkJfHwgKChhZ2dUcmFuc1R5cGUgIT0g SU5URVJOQUxPSUQpICYmIChyZXR0eXBlICE9IGFnZ1RyYW5zVHlwZSkpKQorCQkJZXJlcG9ydChF UlJPUiwKKwkJCQkoZXJyY29kZShFUlJDT0RFX0RBVEFUWVBFX01JU01BVENIKSwKKwkJCQkJZXJy bXNnKCJyZXR1cm4gdHlwZSBvZiBwYXJ0aWFsYWdnZnVuYyBvZiAlcyBpcyBub3Qgc3R5cGUiLAor CQkJCQkJTmFtZUxpc3RUb1N0cmluZyhwYXJ0aWFsYWdnZm5OYW1lKSkpKTsKKwkJYWdndHVwID0g U2VhcmNoU3lzQ2FjaGUxKEFHR0ZOT0lELCBPYmplY3RJZEdldERhdHVtKHBhcnRpYWxhZ2dmbikp OworCQlpZiAoIUhlYXBUdXBsZUlzVmFsaWQoYWdndHVwKSkKKwkJCWVsb2coRVJST1IsICJjYWNo ZSBsb29rdXAgZmFpbGVkIGZvciBwYXJ0aWFsYWdnZnVuYyAldSIsIHBhcnRpYWxhZ2dmbik7CisJ CVJlbGVhc2VTeXNDYWNoZShhZ2d0dXApOworCX0KKwogCS8qIGhhbmRsZSBzb3J0b3AsIGlmIHN1 cHBsaWVkICovCiAJaWYgKGFnZ3NvcnRvcE5hbWUpCiAJewpAQCAtNjg0LDYgKzcxNCw4IEBAIEFn Z3JlZ2F0ZUNyZWF0ZShjb25zdCBjaGFyICphZ2dOYW1lLAogCQl2YWx1ZXNbQW51bV9wZ19hZ2dy ZWdhdGVfYWdnbWluaXR2YWwgLSAxXSA9IENTdHJpbmdHZXRUZXh0RGF0dW0oYWdnbWluaXR2YWwp OwogCWVsc2UKIAkJbnVsbHNbQW51bV9wZ19hZ2dyZWdhdGVfYWdnbWluaXR2YWwgLSAxXSA9IHRy dWU7CisJdmFsdWVzW0FudW1fcGdfYWdncmVnYXRlX3BhcnRpYWxhZ2dmbiAtIDFdID0gT2JqZWN0 SWRHZXREYXR1bShwYXJ0aWFsYWdnZm4pOworCXZhbHVlc1tBbnVtX3BnX2FnZ3JlZ2F0ZV9wYXJ0 aWFsYWdnX21pbnZlcnNpb24gLSAxXSA9IEludDMyR2V0RGF0dW0ocGFydGlhbGFnZ01pbnZlcnNp b24pOwogCiAJaWYgKHJlcGxhY2UpCiAJCW9sZHR1cCA9IFNlYXJjaFN5c0NhY2hlMShBR0dGTk9J RCwgT2JqZWN0SWRHZXREYXR1bShwcm9jT2lkKSk7CmRpZmYgLS1naXQgYS9zcmMvYmFja2VuZC9j b21tYW5kcy9hZ2dyZWdhdGVjbWRzLmMgYi9zcmMvYmFja2VuZC9jb21tYW5kcy9hZ2dyZWdhdGVj bWRzLmMKaW5kZXggYTkzMzllNDBiMy4uODdiMjFlZTFlZSAxMDA2NDQKLS0tIGEvc3JjL2JhY2tl bmQvY29tbWFuZHMvYWdncmVnYXRlY21kcy5jCisrKyBiL3NyYy9iYWNrZW5kL2NvbW1hbmRzL2Fn Z3JlZ2F0ZWNtZHMuYwpAQCAtNzAsNiArNzAsNyBAQCBEZWZpbmVBZ2dyZWdhdGUoUGFyc2VTdGF0 ZSAqcHN0YXRlLAogCUxpc3QJICAgKmNvbWJpbmVmdW5jTmFtZSA9IE5JTDsKIAlMaXN0CSAgICpz ZXJpYWxmdW5jTmFtZSA9IE5JTDsKIAlMaXN0CSAgICpkZXNlcmlhbGZ1bmNOYW1lID0gTklMOwor CUxpc3QJICAgKnBhcnRpYWxhZ2dmdW5jTmFtZSA9IE5JTDsKIAlMaXN0CSAgICptdHJhbnNmdW5j TmFtZSA9IE5JTDsKIAlMaXN0CSAgICptaW52dHJhbnNmdW5jTmFtZSA9IE5JTDsKIAlMaXN0CSAg ICptZmluYWxmdW5jTmFtZSA9IE5JTDsKQEAgLTgzLDYgKzg0LDcgQEAgRGVmaW5lQWdncmVnYXRl KFBhcnNlU3RhdGUgKnBzdGF0ZSwKIAlUeXBlTmFtZSAgICptdHJhbnNUeXBlID0gTlVMTDsKIAlp bnQzMgkJdHJhbnNTcGFjZSA9IDA7CiAJaW50MzIJCW10cmFuc1NwYWNlID0gMDsKKwlpbnQzMgkJ cGFydGlhbGFnZ01pbnZlcnNpb24gPSAwOwogCWNoYXIJICAgKmluaXR2YWwgPSBOVUxMOwogCWNo YXIJICAgKm1pbml0dmFsID0gTlVMTDsKIAljaGFyCSAgICpwYXJhbGxlbCA9IE5VTEw7CkBAIC0x NDMsNiArMTQ1LDggQEAgRGVmaW5lQWdncmVnYXRlKFBhcnNlU3RhdGUgKnBzdGF0ZSwKIAkJCXNl cmlhbGZ1bmNOYW1lID0gZGVmR2V0UXVhbGlmaWVkTmFtZShkZWZlbCk7CiAJCWVsc2UgaWYgKHN0 cmNtcChkZWZlbC0+ZGVmbmFtZSwgImRlc2VyaWFsZnVuYyIpID09IDApCiAJCQlkZXNlcmlhbGZ1 bmNOYW1lID0gZGVmR2V0UXVhbGlmaWVkTmFtZShkZWZlbCk7CisJCWVsc2UgaWYgKHN0cmNtcChk ZWZlbC0+ZGVmbmFtZSwgInBhcnRpYWxhZ2dmdW5jIikgPT0gMCkKKwkJCXBhcnRpYWxhZ2dmdW5j TmFtZSA9IGRlZkdldFF1YWxpZmllZE5hbWUoZGVmZWwpOwogCQllbHNlIGlmIChzdHJjbXAoZGVm ZWwtPmRlZm5hbWUsICJtc2Z1bmMiKSA9PSAwKQogCQkJbXRyYW5zZnVuY05hbWUgPSBkZWZHZXRR dWFsaWZpZWROYW1lKGRlZmVsKTsKIAkJZWxzZSBpZiAoc3RyY21wKGRlZmVsLT5kZWZuYW1lLCAi bWludmZ1bmMiKSA9PSAwKQpAQCAtMTgyLDYgKzE4Niw4IEBAIERlZmluZUFnZ3JlZ2F0ZShQYXJz ZVN0YXRlICpwc3RhdGUsCiAJCQltdHJhbnNUeXBlID0gZGVmR2V0VHlwZU5hbWUoZGVmZWwpOwog CQllbHNlIGlmIChzdHJjbXAoZGVmZWwtPmRlZm5hbWUsICJtc3NwYWNlIikgPT0gMCkKIAkJCW10 cmFuc1NwYWNlID0gZGVmR2V0SW50MzIoZGVmZWwpOworCQllbHNlIGlmIChzdHJjbXAoZGVmZWwt PmRlZm5hbWUsICJwYXJ0aWFsYWdnX21pbnZlcnNpb24iKSA9PSAwKQorCQkJcGFydGlhbGFnZ01p bnZlcnNpb24gPSBkZWZHZXRJbnQzMihkZWZlbCk7CiAJCWVsc2UgaWYgKHN0cmNtcChkZWZlbC0+ ZGVmbmFtZSwgImluaXRjb25kIikgPT0gMCkKIAkJCWluaXR2YWwgPSBkZWZHZXRTdHJpbmcoZGVm ZWwpOwogCQllbHNlIGlmIChzdHJjbXAoZGVmZWwtPmRlZm5hbWUsICJpbml0Y29uZDEiKSA9PSAw KQpAQCAtNDYxLDYgKzQ2Nyw3IEBAIERlZmluZUFnZ3JlZ2F0ZShQYXJzZVN0YXRlICpwc3RhdGUs CiAJCQkJCQkgICBtdHJhbnNmdW5jTmFtZSwJLyogZndkIHRyYW5zIGZ1bmN0aW9uIG5hbWUgKi8K IAkJCQkJCSAgIG1pbnZ0cmFuc2Z1bmNOYW1lLAkvKiBpbnYgdHJhbnMgZnVuY3Rpb24gbmFtZSAq LwogCQkJCQkJICAgbWZpbmFsZnVuY05hbWUsCS8qIGZpbmFsIGZ1bmN0aW9uIG5hbWUgKi8KKwkJ CQkJCSAgIHBhcnRpYWxhZ2dmdW5jTmFtZSwKIAkJCQkJCSAgIGZpbmFsZnVuY0V4dHJhQXJncywK IAkJCQkJCSAgIG1maW5hbGZ1bmNFeHRyYUFyZ3MsCiAJCQkJCQkgICBmaW5hbGZ1bmNNb2RpZnks CkBAIC00NzAsNiArNDc3LDcgQEAgRGVmaW5lQWdncmVnYXRlKFBhcnNlU3RhdGUgKnBzdGF0ZSwK IAkJCQkJCSAgIHRyYW5zU3BhY2UsCS8qIHRyYW5zaXRpb24gc3BhY2UgKi8KIAkJCQkJCSAgIG10 cmFuc1R5cGVJZCwJLyogdHJhbnNpdGlvbiBkYXRhIHR5cGUgKi8KIAkJCQkJCSAgIG10cmFuc1Nw YWNlLCAvKiB0cmFuc2l0aW9uIHNwYWNlICovCisJCQkJCQkgICBwYXJ0aWFsYWdnTWludmVyc2lv biwKIAkJCQkJCSAgIGluaXR2YWwsIC8qIGluaXRpYWwgY29uZGl0aW9uICovCiAJCQkJCQkgICBt aW5pdHZhbCwJLyogaW5pdGlhbCBjb25kaXRpb24gKi8KIAkJCQkJCSAgIHByb3BhcmFsbGVsKTsJ LyogcGFyYWxsZWwgc2FmZT8gKi8KZGlmZiAtLWdpdCBhL3NyYy9iaW4vcGdfZHVtcC9wZ19kdW1w LmMgYi9zcmMvYmluL3BnX2R1bXAvcGdfZHVtcC5jCmluZGV4IGRhNDI3ZjRkNGEuLjJlMmQzOGIy NWIgMTAwNjQ0Ci0tLSBhL3NyYy9iaW4vcGdfZHVtcC9wZ19kdW1wLmMKKysrIGIvc3JjL2Jpbi9w Z19kdW1wL3BnX2R1bXAuYwpAQCAtMTM0MDYsNiArMTM0MDYsOCBAQCBkdW1wQWdnKEFyY2hpdmUg KmZvdXQsIGNvbnN0IEFnZ0luZm8gKmFnZ2luZm8pCiAJY29uc3QgY2hhciAqYWdnbXRyYW5zZm47 CiAJY29uc3QgY2hhciAqYWdnbWludnRyYW5zZm47CiAJY29uc3QgY2hhciAqYWdnbWZpbmFsZm47 CisJY29uc3QgY2hhciAqcGFydGlhbGFnZ2ZuOworCWNvbnN0IGNoYXIgKnBhcnRpYWxhZ2dfbWlu dmVyc2lvbjsKIAlib29sCQlhZ2dmaW5hbGV4dHJhOwogCWJvb2wJCWFnZ21maW5hbGV4dHJhOwog CWNoYXIJCWFnZ2ZpbmFsbW9kaWZ5OwpAQCAtMTM0ODgsMTEgKzEzNDkwLDE5IEBAIGR1bXBBZ2co QXJjaGl2ZSAqZm91dCwgY29uc3QgQWdnSW5mbyAqYWdnaW5mbykKIAkJaWYgKGZvdXQtPnJlbW90 ZVZlcnNpb24gPj0gMTEwMDAwKQogCQkJYXBwZW5kUFFFeHBCdWZmZXJTdHIocXVlcnksCiAJCQkJ CQkJCSAiYWdnZmluYWxtb2RpZnksXG4iCi0JCQkJCQkJCSAiYWdnbWZpbmFsbW9kaWZ5XG4iKTsK KwkJCQkJCQkJICJhZ2dtZmluYWxtb2RpZnksXG4iKTsKIAkJZWxzZQogCQkJYXBwZW5kUFFFeHBC dWZmZXJTdHIocXVlcnksCiAJCQkJCQkJCSAiJzAnIEFTIGFnZ2ZpbmFsbW9kaWZ5LFxuIgotCQkJ CQkJCQkgIicwJyBBUyBhZ2dtZmluYWxtb2RpZnlcbiIpOworCQkJCQkJCQkgIicwJyBBUyBhZ2dt ZmluYWxtb2RpZnksXG4iKTsKKwkJaWYgKGZvdXQtPnJlbW90ZVZlcnNpb24gPj0gMTYwMDAwKQor CQkJYXBwZW5kUFFFeHBCdWZmZXJTdHIocXVlcnksCisJCQkJCQkJCSJwYXJ0aWFsYWdnZm4sXG4i CisJCQkJCQkJCSJwYXJ0aWFsYWdnX21pbnZlcnNpb25cbiIpOworCQllbHNlCisJCQlhcHBlbmRQ UUV4cEJ1ZmZlclN0cihxdWVyeSwKKwkJCQkJCQkJIictJyBBUyBwYXJ0aWFsYWdnZm4sXG4iCisJ CQkJCQkJCSIwIEFTIHBhcnRpYWxhZ2dfbWludmVyc2lvblxuIik7CiAKIAkJYXBwZW5kUFFFeHBC dWZmZXJTdHIocXVlcnksCiAJCQkJCQkJICJGUk9NIHBnX2NhdGFsb2cucGdfYWdncmVnYXRlIGEs IHBnX2NhdGFsb2cucGdfcHJvYyBwICIKQEAgLTEzNTE4LDYgKzEzNTI4LDggQEAgZHVtcEFnZyhB cmNoaXZlICpmb3V0LCBjb25zdCBBZ2dJbmZvICphZ2dpbmZvKQogCWFnZ2NvbWJpbmVmbiA9IFBR Z2V0dmFsdWUocmVzLCAwLCBQUWZudW1iZXIocmVzLCAiYWdnY29tYmluZWZuIikpOwogCWFnZ3Nl cmlhbGZuID0gUFFnZXR2YWx1ZShyZXMsIDAsIFBRZm51bWJlcihyZXMsICJhZ2dzZXJpYWxmbiIp KTsKIAlhZ2dkZXNlcmlhbGZuID0gUFFnZXR2YWx1ZShyZXMsIDAsIFBRZm51bWJlcihyZXMsICJh Z2dkZXNlcmlhbGZuIikpOworCXBhcnRpYWxhZ2dmbiA9IFBRZ2V0dmFsdWUocmVzLCAwLCBQUWZu dW1iZXIocmVzLCAicGFydGlhbGFnZ2ZuIikpOworCXBhcnRpYWxhZ2dfbWludmVyc2lvbiA9IFBR Z2V0dmFsdWUocmVzLCAwLCBQUWZudW1iZXIocmVzLCAicGFydGlhbGFnZ19taW52ZXJzaW9uIikp OwogCWFnZ210cmFuc2ZuID0gUFFnZXR2YWx1ZShyZXMsIDAsIFBRZm51bWJlcihyZXMsICJhZ2dt dHJhbnNmbiIpKTsKIAlhZ2dtaW52dHJhbnNmbiA9IFBRZ2V0dmFsdWUocmVzLCAwLCBQUWZudW1i ZXIocmVzLCAiYWdnbWludnRyYW5zZm4iKSk7CiAJYWdnbWZpbmFsZm4gPSBQUWdldHZhbHVlKHJl cywgMCwgUFFmbnVtYmVyKHJlcywgImFnZ21maW5hbGZuIikpOwpAQCAtMTM2MDcsNiArMTM2MTks MTUgQEAgZHVtcEFnZyhBcmNoaXZlICpmb3V0LCBjb25zdCBBZ2dJbmZvICphZ2dpbmZvKQogCWlm IChzdHJjbXAoYWdnZGVzZXJpYWxmbiwgIi0iKSAhPSAwKQogCQlhcHBlbmRQUUV4cEJ1ZmZlcihk ZXRhaWxzLCAiLFxuICAgIERFU0VSSUFMRlVOQyA9ICVzIiwgYWdnZGVzZXJpYWxmbik7CiAKKwlp ZiAoc3RyY21wKHBhcnRpYWxhZ2dmbiwgIi0iKSAhPSAwKQorCQlhcHBlbmRQUUV4cEJ1ZmZlcihk ZXRhaWxzLCAiLFxuICAgIFBBUlRJQUxBR0dGVU5DID0gJXMiLCBwYXJ0aWFsYWdnZm4pOworCisJ aWYgKHN0cmNtcChwYXJ0aWFsYWdnX21pbnZlcnNpb24sICIwIikgIT0gMCkKKwl7CisJCWFwcGVu ZFBRRXhwQnVmZmVyKGRldGFpbHMsICIsXG4gICAgUEFSVElBTEFHR19NSU5WRVJTSU9OID0gJXMi LAorCQkJCQkJICBwYXJ0aWFsYWdnX21pbnZlcnNpb24pOworCX0KKwogCWlmIChzdHJjbXAoYWdn bXRyYW5zZm4sICItIikgIT0gMCkKIAl7CiAJCWFwcGVuZFBRRXhwQnVmZmVyKGRldGFpbHMsICIs XG4gICAgTVNGVU5DID0gJXMsXG4gICAgTUlOVkZVTkMgPSAlcyxcbiAgICBNU1RZUEUgPSAlcyIs CmRpZmYgLS1naXQgYS9zcmMvaW5jbHVkZS9jYXRhbG9nL3BnX2FnZ3JlZ2F0ZS5kYXQgYi9zcmMv aW5jbHVkZS9jYXRhbG9nL3BnX2FnZ3JlZ2F0ZS5kYXQKaW5kZXggYjkxMTBhNTI5OC4uMTk1Nzli ZDNlMiAxMDA2NDQKLS0tIGEvc3JjL2luY2x1ZGUvY2F0YWxvZy9wZ19hZ2dyZWdhdGUuZGF0Cisr KyBiL3NyYy9pbmNsdWRlL2NhdGFsb2cvcGdfYWdncmVnYXRlLmRhdApAQCAtMTMsMjIgKzEzLDQ0 IEBACiBbCiAKICMgYXZnCit7IGFnZ2Zub2lkID0+ICdhdmdfcF9pbnQ4JywgYWdndHJhbnNmbiA9 PiAnaW50OF9hdmdfYWNjdW0nLAorICBhZ2dmaW5hbGZuID0+ICdpbnQ4X2F2Z19zZXJpYWxpemUn LCBhZ2djb21iaW5lZm4gPT4gJ2ludDhfYXZnX2NvbWJpbmUnLAorICBhZ2dzZXJpYWxmbiA9PiAn aW50OF9hdmdfc2VyaWFsaXplJywgYWdnZGVzZXJpYWxmbiA9PiAnaW50OF9hdmdfZGVzZXJpYWxp emUnLAorICBhZ2d0cmFuc3R5cGUgPT4gJ2ludGVybmFsJywKKyAgYWdndHJhbnNzcGFjZSA9PiAn NDgnIH0sCiB7IGFnZ2Zub2lkID0+ICdhdmcoaW50OCknLCBhZ2d0cmFuc2ZuID0+ICdpbnQ4X2F2 Z19hY2N1bScsCiAgIGFnZ2ZpbmFsZm4gPT4gJ251bWVyaWNfcG9seV9hdmcnLCBhZ2djb21iaW5l Zm4gPT4gJ2ludDhfYXZnX2NvbWJpbmUnLAogICBhZ2dzZXJpYWxmbiA9PiAnaW50OF9hdmdfc2Vy aWFsaXplJywgYWdnZGVzZXJpYWxmbiA9PiAnaW50OF9hdmdfZGVzZXJpYWxpemUnLAogICBhZ2dt dHJhbnNmbiA9PiAnaW50OF9hdmdfYWNjdW0nLCBhZ2dtaW52dHJhbnNmbiA9PiAnaW50OF9hdmdf YWNjdW1faW52JywKICAgYWdnbWZpbmFsZm4gPT4gJ251bWVyaWNfcG9seV9hdmcnLCBhZ2d0cmFu c3R5cGUgPT4gJ2ludGVybmFsJywKLSAgYWdndHJhbnNzcGFjZSA9PiAnNDgnLCBhZ2dtdHJhbnN0 eXBlID0+ICdpbnRlcm5hbCcsIGFnZ210cmFuc3NwYWNlID0+ICc0OCcgfSwKKyAgYWdndHJhbnNz cGFjZSA9PiAnNDgnLCBhZ2dtdHJhbnN0eXBlID0+ICdpbnRlcm5hbCcsIGFnZ210cmFuc3NwYWNl ID0+ICc0OCcsCisgIHBhcnRpYWxhZ2dmbiA9PiAnYXZnX3BfaW50OCcsIHBhcnRpYWxhZ2dfbWlu dmVyc2lvbiA9PiAnMTYwMDAwJyB9LAoreyBhZ2dmbm9pZCA9PiAnYXZnX3BfaW50NCcsIGFnZ3Ry YW5zZm4gPT4gJ2ludDRfYXZnX2FjY3VtJywKKyAgYWdnY29tYmluZWZuID0+ICdpbnQ0X2F2Z19j b21iaW5lJywKKyAgYWdndHJhbnN0eXBlID0+ICdfaW50OCcsCisgIGFnZ2luaXR2YWwgPT4gJ3sw LDB9JyB9LAogeyBhZ2dmbm9pZCA9PiAnYXZnKGludDQpJywgYWdndHJhbnNmbiA9PiAnaW50NF9h dmdfYWNjdW0nLAogICBhZ2dmaW5hbGZuID0+ICdpbnQ4X2F2ZycsIGFnZ2NvbWJpbmVmbiA9PiAn aW50NF9hdmdfY29tYmluZScsCiAgIGFnZ210cmFuc2ZuID0+ICdpbnQ0X2F2Z19hY2N1bScsIGFn Z21pbnZ0cmFuc2ZuID0+ICdpbnQ0X2F2Z19hY2N1bV9pbnYnLAogICBhZ2dtZmluYWxmbiA9PiAn aW50OF9hdmcnLCBhZ2d0cmFuc3R5cGUgPT4gJ19pbnQ4JywgYWdnbXRyYW5zdHlwZSA9PiAnX2lu dDgnLAotICBhZ2dpbml0dmFsID0+ICd7MCwwfScsIGFnZ21pbml0dmFsID0+ICd7MCwwfScgfSwK KyAgYWdnaW5pdHZhbCA9PiAnezAsMH0nLCBhZ2dtaW5pdHZhbCA9PiAnezAsMH0nLAorICBwYXJ0 aWFsYWdnZm4gPT4gJ2F2Z19wX2ludDQnLCBwYXJ0aWFsYWdnX21pbnZlcnNpb24gPT4gJzE2MDAw MCcgfSwKK3sgYWdnZm5vaWQgPT4gJ2F2Z19wX2ludDInLCBhZ2d0cmFuc2ZuID0+ICdpbnQyX2F2 Z19hY2N1bScsCisgIGFnZ2NvbWJpbmVmbiA9PiAnaW50NF9hdmdfY29tYmluZScsCisgIGFnZ3Ry YW5zdHlwZSA9PiAnX2ludDgnLAorICBhZ2dpbml0dmFsID0+ICd7MCwwfScgIH0sCiB7IGFnZ2Zu b2lkID0+ICdhdmcoaW50MiknLCBhZ2d0cmFuc2ZuID0+ICdpbnQyX2F2Z19hY2N1bScsCiAgIGFn Z2ZpbmFsZm4gPT4gJ2ludDhfYXZnJywgYWdnY29tYmluZWZuID0+ICdpbnQ0X2F2Z19jb21iaW5l JywKICAgYWdnbXRyYW5zZm4gPT4gJ2ludDJfYXZnX2FjY3VtJywgYWdnbWludnRyYW5zZm4gPT4g J2ludDJfYXZnX2FjY3VtX2ludicsCiAgIGFnZ21maW5hbGZuID0+ICdpbnQ4X2F2ZycsIGFnZ3Ry YW5zdHlwZSA9PiAnX2ludDgnLCBhZ2dtdHJhbnN0eXBlID0+ICdfaW50OCcsCi0gIGFnZ2luaXR2 YWwgPT4gJ3swLDB9JywgYWdnbWluaXR2YWwgPT4gJ3swLDB9JyB9LAorICBhZ2dpbml0dmFsID0+ ICd7MCwwfScsIGFnZ21pbml0dmFsID0+ICd7MCwwfScsCisgIHBhcnRpYWxhZ2dmbiA9PiAnYXZn X3BfaW50MicsIHBhcnRpYWxhZ2dfbWludmVyc2lvbiA9PiAnMTYwMDAwJyAgfSwKK3sgYWdnZm5v aWQgPT4gJ2F2Z19wX251bWVyaWMnLCBhZ2d0cmFuc2ZuID0+ICdudW1lcmljX2F2Z19hY2N1bScs CisgIGFnZ2ZpbmFsZm4gPT4gJ251bWVyaWNfYXZnX3NlcmlhbGl6ZScsIGFnZ2NvbWJpbmVmbiA9 PiAnbnVtZXJpY19hdmdfY29tYmluZScsCisgIGFnZ3NlcmlhbGZuID0+ICdudW1lcmljX2F2Z19z ZXJpYWxpemUnLAorICBhZ2dkZXNlcmlhbGZuID0+ICdudW1lcmljX2F2Z19kZXNlcmlhbGl6ZScs CisgIGFnZ3RyYW5zdHlwZSA9PiAnaW50ZXJuYWwnLCBhZ2d0cmFuc3NwYWNlID0+ICcxMjgnLAor ICBwYXJ0aWFsYWdnZm4gPT4gJ2F2Z19wX251bWVyaWMnLCBwYXJ0aWFsYWdnX21pbnZlcnNpb24g PT4gJzE2MDAwMCcgfSwKIHsgYWdnZm5vaWQgPT4gJ2F2ZyhudW1lcmljKScsIGFnZ3RyYW5zZm4g PT4gJ251bWVyaWNfYXZnX2FjY3VtJywKICAgYWdnZmluYWxmbiA9PiAnbnVtZXJpY19hdmcnLCBh Z2djb21iaW5lZm4gPT4gJ251bWVyaWNfYXZnX2NvbWJpbmUnLAogICBhZ2dzZXJpYWxmbiA9PiAn bnVtZXJpY19hdmdfc2VyaWFsaXplJywKQEAgLTM2LDI3ICs1OCw0NSBAQAogICBhZ2dtdHJhbnNm biA9PiAnbnVtZXJpY19hdmdfYWNjdW0nLCBhZ2dtaW52dHJhbnNmbiA9PiAnbnVtZXJpY19hY2N1 bV9pbnYnLAogICBhZ2dtZmluYWxmbiA9PiAnbnVtZXJpY19hdmcnLCBhZ2d0cmFuc3R5cGUgPT4g J2ludGVybmFsJywKICAgYWdndHJhbnNzcGFjZSA9PiAnMTI4JywgYWdnbXRyYW5zdHlwZSA9PiAn aW50ZXJuYWwnLAotICBhZ2dtdHJhbnNzcGFjZSA9PiAnMTI4JyB9LAorICBhZ2dtdHJhbnNzcGFj ZSA9PiAnMTI4JywKKyAgcGFydGlhbGFnZ2ZuID0+ICdhdmdfcF9udW1lcmljJywgcGFydGlhbGFn Z19taW52ZXJzaW9uID0+ICcxNjAwMDAnIH0sCit7IGFnZ2Zub2lkID0+ICdhdmdfcF9mbG9hdDQn LCBhZ2d0cmFuc2ZuID0+ICdmbG9hdDRfYWNjdW0nLAorICBhZ2djb21iaW5lZm4gPT4gJ2Zsb2F0 OF9jb21iaW5lJywKKyAgYWdndHJhbnN0eXBlID0+ICdfZmxvYXQ4JywgYWdnaW5pdHZhbCA9PiAn ezAsMCwwfScgfSwKIHsgYWdnZm5vaWQgPT4gJ2F2ZyhmbG9hdDQpJywgYWdndHJhbnNmbiA9PiAn ZmxvYXQ0X2FjY3VtJywKICAgYWdnZmluYWxmbiA9PiAnZmxvYXQ4X2F2ZycsIGFnZ2NvbWJpbmVm biA9PiAnZmxvYXQ4X2NvbWJpbmUnLAorICBhZ2d0cmFuc3R5cGUgPT4gJ19mbG9hdDgnLCBhZ2dp bml0dmFsID0+ICd7MCwwLDB9JywKKyAgcGFydGlhbGFnZ2ZuID0+ICdhdmdfcF9mbG9hdDQnLCBw YXJ0aWFsYWdnX21pbnZlcnNpb24gPT4gJzE2MDAwMCcgfSwKK3sgYWdnZm5vaWQgPT4gJ2F2Z19w X2Zsb2F0OCcsIGFnZ3RyYW5zZm4gPT4gJ2Zsb2F0OF9hY2N1bScsCisgIGFnZ2NvbWJpbmVmbiA9 PiAnZmxvYXQ4X2NvbWJpbmUnLAogICBhZ2d0cmFuc3R5cGUgPT4gJ19mbG9hdDgnLCBhZ2dpbml0 dmFsID0+ICd7MCwwLDB9JyB9LAogeyBhZ2dmbm9pZCA9PiAnYXZnKGZsb2F0OCknLCBhZ2d0cmFu c2ZuID0+ICdmbG9hdDhfYWNjdW0nLAogICBhZ2dmaW5hbGZuID0+ICdmbG9hdDhfYXZnJywgYWdn Y29tYmluZWZuID0+ICdmbG9hdDhfY29tYmluZScsCi0gIGFnZ3RyYW5zdHlwZSA9PiAnX2Zsb2F0 OCcsIGFnZ2luaXR2YWwgPT4gJ3swLDAsMH0nIH0sCisgIGFnZ3RyYW5zdHlwZSA9PiAnX2Zsb2F0 OCcsIGFnZ2luaXR2YWwgPT4gJ3swLDAsMH0nLAorICBwYXJ0aWFsYWdnZm4gPT4gJ2F2Z19wX2Zs b2F0OCcsIHBhcnRpYWxhZ2dfbWludmVyc2lvbiA9PiAnMTYwMDAwJyAgfSwKK3sgYWdnZm5vaWQg PT4gJ2F2Z19wX2ludGVydmFsJywgYWdndHJhbnNmbiA9PiAnaW50ZXJ2YWxfYWNjdW0nLAorICBh Z2djb21iaW5lZm4gPT4gJ2ludGVydmFsX2NvbWJpbmUnLAorICBhZ2d0cmFuc3R5cGUgPT4gJ19p bnRlcnZhbCcsIGFnZ2luaXR2YWwgPT4gJ3swIHNlY29uZCwwIHNlY29uZH0nICB9LAogeyBhZ2dm bm9pZCA9PiAnYXZnKGludGVydmFsKScsIGFnZ3RyYW5zZm4gPT4gJ2ludGVydmFsX2FjY3VtJywK ICAgYWdnZmluYWxmbiA9PiAnaW50ZXJ2YWxfYXZnJywgYWdnY29tYmluZWZuID0+ICdpbnRlcnZh bF9jb21iaW5lJywKICAgYWdnbXRyYW5zZm4gPT4gJ2ludGVydmFsX2FjY3VtJywgYWdnbWludnRy YW5zZm4gPT4gJ2ludGVydmFsX2FjY3VtX2ludicsCiAgIGFnZ21maW5hbGZuID0+ICdpbnRlcnZh bF9hdmcnLCBhZ2d0cmFuc3R5cGUgPT4gJ19pbnRlcnZhbCcsCiAgIGFnZ210cmFuc3R5cGUgPT4g J19pbnRlcnZhbCcsIGFnZ2luaXR2YWwgPT4gJ3swIHNlY29uZCwwIHNlY29uZH0nLAotICBhZ2dt aW5pdHZhbCA9PiAnezAgc2Vjb25kLDAgc2Vjb25kfScgfSwKKyAgYWdnbWluaXR2YWwgPT4gJ3sw IHNlY29uZCwwIHNlY29uZH0nLAorICBwYXJ0aWFsYWdnZm4gPT4gJ2F2Z19wX2ludGVydmFsJywg cGFydGlhbGFnZ19taW52ZXJzaW9uID0+ICcxNjAwMDAnICB9LAogCiAjIHN1bQoreyBhZ2dmbm9p ZCA9PiAnc3VtX3BfaW50OCcsIGFnZ3RyYW5zZm4gPT4gJ2ludDhfYXZnX2FjY3VtJywKKyAgYWdn ZmluYWxmbiA9PiAnaW50OF9hdmdfc2VyaWFsaXplJywgYWdnY29tYmluZWZuID0+ICdpbnQ4X2F2 Z19jb21iaW5lJywKKyAgYWdnc2VyaWFsZm4gPT4gJ2ludDhfYXZnX3NlcmlhbGl6ZScsIGFnZ2Rl c2VyaWFsZm4gPT4gJ2ludDhfYXZnX2Rlc2VyaWFsaXplJywKKyAgYWdndHJhbnN0eXBlID0+ICdp bnRlcm5hbCcsIGFnZ3RyYW5zc3BhY2UgPT4gJzQ4JyB9LAogeyBhZ2dmbm9pZCA9PiAnc3VtKGlu dDgpJywgYWdndHJhbnNmbiA9PiAnaW50OF9hdmdfYWNjdW0nLAogICBhZ2dmaW5hbGZuID0+ICdu dW1lcmljX3BvbHlfc3VtJywgYWdnY29tYmluZWZuID0+ICdpbnQ4X2F2Z19jb21iaW5lJywKICAg YWdnc2VyaWFsZm4gPT4gJ2ludDhfYXZnX3NlcmlhbGl6ZScsIGFnZ2Rlc2VyaWFsZm4gPT4gJ2lu dDhfYXZnX2Rlc2VyaWFsaXplJywKICAgYWdnbXRyYW5zZm4gPT4gJ2ludDhfYXZnX2FjY3VtJywg YWdnbWludnRyYW5zZm4gPT4gJ2ludDhfYXZnX2FjY3VtX2ludicsCiAgIGFnZ21maW5hbGZuID0+ ICdudW1lcmljX3BvbHlfc3VtJywgYWdndHJhbnN0eXBlID0+ICdpbnRlcm5hbCcsCi0gIGFnZ3Ry YW5zc3BhY2UgPT4gJzQ4JywgYWdnbXRyYW5zdHlwZSA9PiAnaW50ZXJuYWwnLCBhZ2dtdHJhbnNz cGFjZSA9PiAnNDgnIH0sCisgIGFnZ3RyYW5zc3BhY2UgPT4gJzQ4JywgYWdnbXRyYW5zdHlwZSA9 PiAnaW50ZXJuYWwnLCBhZ2dtdHJhbnNzcGFjZSA9PiAnNDgnLAorICBwYXJ0aWFsYWdnZm4gPT4g J3N1bV9wX2ludDgnLCBwYXJ0aWFsYWdnX21pbnZlcnNpb24gPT4gJzE2MDAwMCcgfSwKIHsgYWdn Zm5vaWQgPT4gJ3N1bShpbnQ0KScsIGFnZ3RyYW5zZm4gPT4gJ2ludDRfc3VtJywgYWdnY29tYmlu ZWZuID0+ICdpbnQ4cGwnLAogICBhZ2dtdHJhbnNmbiA9PiAnaW50NF9hdmdfYWNjdW0nLCBhZ2dt aW52dHJhbnNmbiA9PiAnaW50NF9hdmdfYWNjdW1faW52JywKICAgYWdnbWZpbmFsZm4gPT4gJ2lu dDJpbnQ0X3N1bScsIGFnZ3RyYW5zdHlwZSA9PiAnaW50OCcsCkBAIC03Niw2ICsxMTYsMTEgQEAK ICAgYWdnY29tYmluZWZuID0+ICdpbnRlcnZhbF9wbCcsIGFnZ210cmFuc2ZuID0+ICdpbnRlcnZh bF9wbCcsCiAgIGFnZ21pbnZ0cmFuc2ZuID0+ICdpbnRlcnZhbF9taScsIGFnZ3RyYW5zdHlwZSA9 PiAnaW50ZXJ2YWwnLAogICBhZ2dtdHJhbnN0eXBlID0+ICdpbnRlcnZhbCcgfSwKK3sgYWdnZm5v aWQgPT4gJ3N1bV9wX251bWVyaWMnLCBhZ2d0cmFuc2ZuID0+ICdudW1lcmljX2F2Z19hY2N1bScs CisgIGFnZ2ZpbmFsZm4gPT4gJ251bWVyaWNfYXZnX3NlcmlhbGl6ZScsIGFnZ2NvbWJpbmVmbiA9 PiAnbnVtZXJpY19hdmdfY29tYmluZScsCisgIGFnZ3NlcmlhbGZuID0+ICdudW1lcmljX2F2Z19z ZXJpYWxpemUnLAorICBhZ2dkZXNlcmlhbGZuID0+ICdudW1lcmljX2F2Z19kZXNlcmlhbGl6ZScs CisgIGFnZ3RyYW5zdHlwZSA9PiAnaW50ZXJuYWwnLCBhZ2d0cmFuc3NwYWNlID0+ICcxMjgnIH0s CiB7IGFnZ2Zub2lkID0+ICdzdW0obnVtZXJpYyknLCBhZ2d0cmFuc2ZuID0+ICdudW1lcmljX2F2 Z19hY2N1bScsCiAgIGFnZ2ZpbmFsZm4gPT4gJ251bWVyaWNfc3VtJywgYWdnY29tYmluZWZuID0+ ICdudW1lcmljX2F2Z19jb21iaW5lJywKICAgYWdnc2VyaWFsZm4gPT4gJ251bWVyaWNfYXZnX3Nl cmlhbGl6ZScsCkBAIC04Myw3ICsxMjgsOCBAQAogICBhZ2dtdHJhbnNmbiA9PiAnbnVtZXJpY19h dmdfYWNjdW0nLCBhZ2dtaW52dHJhbnNmbiA9PiAnbnVtZXJpY19hY2N1bV9pbnYnLAogICBhZ2dt ZmluYWxmbiA9PiAnbnVtZXJpY19zdW0nLCBhZ2d0cmFuc3R5cGUgPT4gJ2ludGVybmFsJywKICAg YWdndHJhbnNzcGFjZSA9PiAnMTI4JywgYWdnbXRyYW5zdHlwZSA9PiAnaW50ZXJuYWwnLAotICBh Z2dtdHJhbnNzcGFjZSA9PiAnMTI4JyB9LAorICBhZ2dtdHJhbnNzcGFjZSA9PiAnMTI4JywKKyAg cGFydGlhbGFnZ2ZuID0+ICdzdW1fcF9udW1lcmljJywgcGFydGlhbGFnZ19taW52ZXJzaW9uID0+ ICcxNjAwMDAnIH0sCiAKICMgbWF4CiB7IGFnZ2Zub2lkID0+ICdtYXgoaW50OCknLCBhZ2d0cmFu c2ZuID0+ICdpbnQ4bGFyZ2VyJywKZGlmZiAtLWdpdCBhL3NyYy9pbmNsdWRlL2NhdGFsb2cvcGdf YWdncmVnYXRlLmggYi9zcmMvaW5jbHVkZS9jYXRhbG9nL3BnX2FnZ3JlZ2F0ZS5oCmluZGV4IDU5 M2RhOWY3NmEuLjFiN2JhYzBmYTYgMTAwNjQ0Ci0tLSBhL3NyYy9pbmNsdWRlL2NhdGFsb2cvcGdf YWdncmVnYXRlLmgKKysrIGIvc3JjL2luY2x1ZGUvY2F0YWxvZy9wZ19hZ2dyZWdhdGUuaApAQCAt NTUsNiArNTUsMTIgQEAgQ0FUQUxPRyhwZ19hZ2dyZWdhdGUsMjYwMCxBZ2dyZWdhdGVSZWxhdGlv bklkKQogCS8qIGZ1bmN0aW9uIHRvIGNvbnZlcnQgYnl0ZWEgdG8gdHJhbnN0eXBlICgwIGlmIG5v bmUpICovCiAJcmVncHJvYwkJYWdnZGVzZXJpYWxmbiBCS0lfREVGQVVMVCgtKSBCS0lfTE9PS1VQ X09QVChwZ19wcm9jKTsKIAorCS8qIHNwZWNpYWwgYWdncmVnYXRlIGZ1bmN0aW9uIGZvciBwYXJ0 aWFsIGFnZ3JlZ2F0aW9uICgwIGlmIG5vbmUpICovCisJcmVncHJvYwkJcGFydGlhbGFnZ2ZuIEJL SV9ERUZBVUxUKC0pIEJLSV9MT09LVVBfT1BUKHBnX3Byb2MpOworCisJLyogbWluaW11bSBQb3N0 Z3JlU1FMJ3MgdmVyc2lvbiB3aGljaCBoYXMgY29tcGF0aWJsZSBwYXJ0aWFsYWdnZm4gKi8KKwlp bnQzMgkJcGFydGlhbGFnZ19taW52ZXJzaW9uIEJLSV9ERUZBVUxUKDApOworCiAJLyogZm9yd2Fy ZCBmdW5jdGlvbiBmb3IgbW92aW5nLWFnZ3JlZ2F0ZSBtb2RlICgwIGlmIG5vbmUpICovCiAJcmVn cHJvYwkJYWdnbXRyYW5zZm4gQktJX0RFRkFVTFQoLSkgQktJX0xPT0tVUF9PUFQocGdfcHJvYyk7 CiAKQEAgLTE0MSw2ICsxNDcsOSBAQCBERUNMQVJFX1VOSVFVRV9JTkRFWF9QS0VZKHBnX2FnZ3Jl Z2F0ZV9mbm9pZF9pbmRleCwgMjY1MCwgQWdncmVnYXRlRm5vaWRJbmRleElkLAogI2RlZmluZSBB R0dNT0RJRllfU0hBUkVBQkxFCQkJJ3MnCiAjZGVmaW5lIEFHR01PRElGWV9SRUFEX1dSSVRFCQkn dycKIAorLyogU3ltYm9saWMgdmFsdWUgZm9yIGRlZmF1bHQgcGFydGlhbGFnZ19taW52ZXJzaW9u ICovCisjZGVmaW5lCVBBUlRJQUxBR0dfTUlOVkVSU0lPTl9ERUZBVUxUCTAKKwogI2VuZGlmCQkJ CQkJCS8qIEVYUE9TRV9UT19DTElFTlRfQ09ERSAqLwogCiAKQEAgLTE2NCw2ICsxNzMsNyBAQCBl eHRlcm4gT2JqZWN0QWRkcmVzcyBBZ2dyZWdhdGVDcmVhdGUoY29uc3QgY2hhciAqYWdnTmFtZSwK IAkJCQkJCQkJCSBMaXN0ICphZ2dtdHJhbnNmbk5hbWUsCiAJCQkJCQkJCQkgTGlzdCAqYWdnbWlu dnRyYW5zZm5OYW1lLAogCQkJCQkJCQkJIExpc3QgKmFnZ21maW5hbGZuTmFtZSwKKwkJCQkJCQkJ CSBMaXN0ICphZ2dwYXJ0aWFsZm5OYW1lLAogCQkJCQkJCQkJIGJvb2wgZmluYWxmbkV4dHJhQXJn cywKIAkJCQkJCQkJCSBib29sIG1maW5hbGZuRXh0cmFBcmdzLAogCQkJCQkJCQkJIGNoYXIgZmlu YWxmbk1vZGlmeSwKQEAgLTE3Myw2ICsxODMsNyBAQCBleHRlcm4gT2JqZWN0QWRkcmVzcyBBZ2dy ZWdhdGVDcmVhdGUoY29uc3QgY2hhciAqYWdnTmFtZSwKIAkJCQkJCQkJCSBpbnQzMiBhZ2dUcmFu c1NwYWNlLAogCQkJCQkJCQkJIE9pZCBhZ2dtVHJhbnNUeXBlLAogCQkJCQkJCQkJIGludDMyIGFn Z21UcmFuc1NwYWNlLAorCQkJCQkJCQkJIGludDMyIHBhcnRpYWxhZ2dNaW52ZXJzaW9uLAogCQkJ CQkJCQkJIGNvbnN0IGNoYXIgKmFnZ2luaXR2YWwsCiAJCQkJCQkJCQkgY29uc3QgY2hhciAqYWdn bWluaXR2YWwsCiAJCQkJCQkJCQkgY2hhciBwcm9wYXJhbGxlbCk7CmRpZmYgLS1naXQgYS9zcmMv aW5jbHVkZS9jYXRhbG9nL3BnX3Byb2MuZGF0IGIvc3JjL2luY2x1ZGUvY2F0YWxvZy9wZ19wcm9j LmRhdAppbmRleCBmMTVhYTJkYmIxLi45YWY4YmE0ZjljIDEwMDY0NAotLS0gYS9zcmMvaW5jbHVk ZS9jYXRhbG9nL3BnX3Byb2MuZGF0CisrKyBiL3NyYy9pbmNsdWRlL2NhdGFsb2cvcGdfcHJvYy5k YXQKQEAgLTY1MDcsMzUgKzY1MDcsNjcgQEAKICAgZGVzY3IgPT4gJ3RoZSBhdmVyYWdlIChhcml0 aG1ldGljIG1lYW4pIGFzIG51bWVyaWMgb2YgYWxsIGJpZ2ludCB2YWx1ZXMnLAogICBwcm9uYW1l ID0+ICdhdmcnLCBwcm9raW5kID0+ICdhJywgcHJvaXNzdHJpY3QgPT4gJ2YnLCBwcm9yZXR0eXBl ID0+ICdudW1lcmljJywKICAgcHJvYXJndHlwZXMgPT4gJ2ludDgnLCBwcm9zcmMgPT4gJ2FnZ3Jl Z2F0ZV9kdW1teScgfSwKK3sgb2lkID0+ICcxMzUwMCcsCisgIGRlc2NyID0+ICd0aGUgcGFydGlh bCBhdmVyYWdlIChhcml0aG1ldGljIG1lYW4pIGFzIG51bWVyaWMgb2YgYWxsIGJpZ2ludCB2YWx1 ZXMnLAorICBwcm9uYW1lID0+ICdhdmdfcF9pbnQ4JywgcHJva2luZCA9PiAnYScsIHByb2lzc3Ry aWN0ID0+ICdmJywgcHJvcmV0dHlwZSA9PiAnYnl0ZWEnLAorICBwcm9hcmd0eXBlcyA9PiAnaW50 OCcsIHByb3NyYyA9PiAnYWdncmVnYXRlX2R1bW15JyB9LAogeyBvaWQgPT4gJzIxMDEnLAogICBk ZXNjciA9PiAndGhlIGF2ZXJhZ2UgKGFyaXRobWV0aWMgbWVhbikgYXMgbnVtZXJpYyBvZiBhbGwg aW50ZWdlciB2YWx1ZXMnLAogICBwcm9uYW1lID0+ICdhdmcnLCBwcm9raW5kID0+ICdhJywgcHJv aXNzdHJpY3QgPT4gJ2YnLCBwcm9yZXR0eXBlID0+ICdudW1lcmljJywKICAgcHJvYXJndHlwZXMg PT4gJ2ludDQnLCBwcm9zcmMgPT4gJ2FnZ3JlZ2F0ZV9kdW1teScgfSwKK3sgb2lkID0+ICcxMzUw MScsCisgIGRlc2NyID0+ICd0aGUgcGFydGlhbCBhdmVyYWdlIChhcml0aG1ldGljIG1lYW4pIGFz IG51bWVyaWMgb2YgYWxsIGludGVnZXIgdmFsdWVzJywKKyAgcHJvbmFtZSA9PiAnYXZnX3BfaW50 NCcsIHByb2tpbmQgPT4gJ2EnLCBwcm9pc3N0cmljdCA9PiAnZicsIHByb3JldHR5cGUgPT4gJ19p bnQ4JywKKyAgcHJvYXJndHlwZXMgPT4gJ2ludDQnLCBwcm9zcmMgPT4gJ2FnZ3JlZ2F0ZV9kdW1t eScgfSwKIHsgb2lkID0+ICcyMTAyJywKICAgZGVzY3IgPT4gJ3RoZSBhdmVyYWdlIChhcml0aG1l dGljIG1lYW4pIGFzIG51bWVyaWMgb2YgYWxsIHNtYWxsaW50IHZhbHVlcycsCiAgIHByb25hbWUg PT4gJ2F2ZycsIHByb2tpbmQgPT4gJ2EnLCBwcm9pc3N0cmljdCA9PiAnZicsIHByb3JldHR5cGUg PT4gJ251bWVyaWMnLAogICBwcm9hcmd0eXBlcyA9PiAnaW50MicsIHByb3NyYyA9PiAnYWdncmVn YXRlX2R1bW15JyB9LAoreyBvaWQgPT4gJzEzNTAyJywKKyAgZGVzY3IgPT4gJ3RoZSBwYXJ0aWFs IGF2ZXJhZ2UgKGFyaXRobWV0aWMgbWVhbikgYXMgbnVtZXJpYyBvZiBhbGwgc21hbGxpbnQgdmFs dWVzJywKKyAgcHJvbmFtZSA9PiAnYXZnX3BfaW50MicsIHByb2tpbmQgPT4gJ2EnLCBwcm9pc3N0 cmljdCA9PiAnZicsIHByb3JldHR5cGUgPT4gJ19pbnQ4JywKKyAgcHJvYXJndHlwZXMgPT4gJ2lu dDInLCBwcm9zcmMgPT4gJ2FnZ3JlZ2F0ZV9kdW1teScgfSwKIHsgb2lkID0+ICcyMTAzJywKICAg ZGVzY3IgPT4gJ3RoZSBhdmVyYWdlIChhcml0aG1ldGljIG1lYW4pIGFzIG51bWVyaWMgb2YgYWxs IG51bWVyaWMgdmFsdWVzJywKICAgcHJvbmFtZSA9PiAnYXZnJywgcHJva2luZCA9PiAnYScsIHBy b2lzc3RyaWN0ID0+ICdmJywgcHJvcmV0dHlwZSA9PiAnbnVtZXJpYycsCiAgIHByb2FyZ3R5cGVz ID0+ICdudW1lcmljJywgcHJvc3JjID0+ICdhZ2dyZWdhdGVfZHVtbXknIH0sCit7IG9pZCA9PiAn MTM1MDMnLAorICBkZXNjciA9PiAndGhlIHBhcnRpYWwgYXZlcmFnZSAoYXJpdGhtZXRpYyBtZWFu KSBhcyBudW1lcmljIG9mIGFsbCBudW1lcmljIHZhbHVlcycsCisgIHByb25hbWUgPT4gJ2F2Z19w X251bWVyaWMnLCBwcm9raW5kID0+ICdhJywgcHJvaXNzdHJpY3QgPT4gJ2YnLCBwcm9yZXR0eXBl ID0+ICdieXRlYScsCisgIHByb2FyZ3R5cGVzID0+ICdudW1lcmljJywgcHJvc3JjID0+ICdhZ2dy ZWdhdGVfZHVtbXknIH0sCiB7IG9pZCA9PiAnMjEwNCcsCiAgIGRlc2NyID0+ICd0aGUgYXZlcmFn ZSAoYXJpdGhtZXRpYyBtZWFuKSBhcyBmbG9hdDggb2YgYWxsIGZsb2F0NCB2YWx1ZXMnLAogICBw cm9uYW1lID0+ICdhdmcnLCBwcm9raW5kID0+ICdhJywgcHJvaXNzdHJpY3QgPT4gJ2YnLCBwcm9y ZXR0eXBlID0+ICdmbG9hdDgnLAogICBwcm9hcmd0eXBlcyA9PiAnZmxvYXQ0JywgcHJvc3JjID0+ ICdhZ2dyZWdhdGVfZHVtbXknIH0sCit7IG9pZCA9PiAnMTM1MDQnLAorICBkZXNjciA9PiAndGhl IHBhcnRpYWwgYXZlcmFnZSAoYXJpdGhtZXRpYyBtZWFuKSBhcyBmbG9hdDggb2YgYWxsIGZsb2F0 NCB2YWx1ZXMnLAorICBwcm9uYW1lID0+ICdhdmdfcF9mbG9hdDQnLCBwcm9raW5kID0+ICdhJywg cHJvaXNzdHJpY3QgPT4gJ2YnLCBwcm9yZXR0eXBlID0+ICdfZmxvYXQ4JywKKyAgcHJvYXJndHlw ZXMgPT4gJ2Zsb2F0NCcsIHByb3NyYyA9PiAnYWdncmVnYXRlX2R1bW15JyB9LAogeyBvaWQgPT4g JzIxMDUnLAogICBkZXNjciA9PiAndGhlIGF2ZXJhZ2UgKGFyaXRobWV0aWMgbWVhbikgYXMgZmxv YXQ4IG9mIGFsbCBmbG9hdDggdmFsdWVzJywKICAgcHJvbmFtZSA9PiAnYXZnJywgcHJva2luZCA9 PiAnYScsIHByb2lzc3RyaWN0ID0+ICdmJywgcHJvcmV0dHlwZSA9PiAnZmxvYXQ4JywKICAgcHJv YXJndHlwZXMgPT4gJ2Zsb2F0OCcsIHByb3NyYyA9PiAnYWdncmVnYXRlX2R1bW15JyB9LAoreyBv aWQgPT4gJzEzNTA1JywKKyAgZGVzY3IgPT4gJ3RoZSBwYXJ0aWFsIGF2ZXJhZ2UgKGFyaXRobWV0 aWMgbWVhbikgYXMgZmxvYXQ4IG9mIGFsbCBmbG9hdDggdmFsdWVzJywKKyAgcHJvbmFtZSA9PiAn YXZnX3BfZmxvYXQ4JywgcHJva2luZCA9PiAnYScsIHByb2lzc3RyaWN0ID0+ICdmJywgcHJvcmV0 dHlwZSA9PiAnX2Zsb2F0OCcsCisgIHByb2FyZ3R5cGVzID0+ICdmbG9hdDgnLCBwcm9zcmMgPT4g J2FnZ3JlZ2F0ZV9kdW1teScgfSwKIHsgb2lkID0+ICcyMTA2JywKICAgZGVzY3IgPT4gJ3RoZSBh dmVyYWdlIChhcml0aG1ldGljIG1lYW4pIGFzIGludGVydmFsIG9mIGFsbCBpbnRlcnZhbCB2YWx1 ZXMnLAogICBwcm9uYW1lID0+ICdhdmcnLCBwcm9raW5kID0+ICdhJywgcHJvaXNzdHJpY3QgPT4g J2YnLAogICBwcm9yZXR0eXBlID0+ICdpbnRlcnZhbCcsIHByb2FyZ3R5cGVzID0+ICdpbnRlcnZh bCcsCiAgIHByb3NyYyA9PiAnYWdncmVnYXRlX2R1bW15JyB9LAoreyBvaWQgPT4gJzEzNTA2JywK KyAgZGVzY3IgPT4gJ3RoZSBwYXJ0aWFsIGF2ZXJhZ2UgKGFyaXRobWV0aWMgbWVhbikgYXMgaW50 ZXJ2YWwgb2YgYWxsIGludGVydmFsIHZhbHVlcycsCisgIHByb25hbWUgPT4gJ2F2Z19wX2ludGVy dmFsJywgcHJva2luZCA9PiAnYScsIHByb2lzc3RyaWN0ID0+ICdmJywKKyAgcHJvcmV0dHlwZSA9 PiAnX2ludGVydmFsJywgcHJvYXJndHlwZXMgPT4gJ2ludGVydmFsJywKKyAgcHJvc3JjID0+ICdh Z2dyZWdhdGVfZHVtbXknIH0sCiAKIHsgb2lkID0+ICcyMTA3JywgZGVzY3IgPT4gJ3N1bSBhcyBu dW1lcmljIGFjcm9zcyBhbGwgYmlnaW50IGlucHV0IHZhbHVlcycsCiAgIHByb25hbWUgPT4gJ3N1 bScsIHByb2tpbmQgPT4gJ2EnLCBwcm9pc3N0cmljdCA9PiAnZicsIHByb3JldHR5cGUgPT4gJ251 bWVyaWMnLAogICBwcm9hcmd0eXBlcyA9PiAnaW50OCcsIHByb3NyYyA9PiAnYWdncmVnYXRlX2R1 bW15JyB9LAoreyBvaWQgPT4gJzEzNTA3JywgZGVzY3IgPT4gJ3BhcnRpYWwgc3VtIGFzIG51bWVy aWMgYWNyb3NzIGFsbCBiaWdpbnQgaW5wdXQgdmFsdWVzJywKKyAgcHJvbmFtZSA9PiAnc3VtX3Bf aW50OCcsIHByb2tpbmQgPT4gJ2EnLCBwcm9pc3N0cmljdCA9PiAnZicsIHByb3JldHR5cGUgPT4g J2J5dGVhJywKKyAgcHJvYXJndHlwZXMgPT4gJ2ludDgnLCBwcm9zcmMgPT4gJ2FnZ3JlZ2F0ZV9k dW1teScgfSwKIHsgb2lkID0+ICcyMTA4JywgZGVzY3IgPT4gJ3N1bSBhcyBiaWdpbnQgYWNyb3Nz IGFsbCBpbnRlZ2VyIGlucHV0IHZhbHVlcycsCiAgIHByb25hbWUgPT4gJ3N1bScsIHByb2tpbmQg PT4gJ2EnLCBwcm9pc3N0cmljdCA9PiAnZicsIHByb3JldHR5cGUgPT4gJ2ludDgnLAogICBwcm9h cmd0eXBlcyA9PiAnaW50NCcsIHByb3NyYyA9PiAnYWdncmVnYXRlX2R1bW15JyB9LApAQCAtNjU1 OCw2ICs2NTkwLDkgQEAKIHsgb2lkID0+ICcyMTE0JywgZGVzY3IgPT4gJ3N1bSBhcyBudW1lcmlj IGFjcm9zcyBhbGwgbnVtZXJpYyBpbnB1dCB2YWx1ZXMnLAogICBwcm9uYW1lID0+ICdzdW0nLCBw cm9raW5kID0+ICdhJywgcHJvaXNzdHJpY3QgPT4gJ2YnLCBwcm9yZXR0eXBlID0+ICdudW1lcmlj JywKICAgcHJvYXJndHlwZXMgPT4gJ251bWVyaWMnLCBwcm9zcmMgPT4gJ2FnZ3JlZ2F0ZV9kdW1t eScgfSwKK3sgb2lkID0+ICcxMzUwOCcsIGRlc2NyID0+ICdwYXJ0aWFsIHN1bSBhcyBudW1lcmlj IGFjcm9zcyBhbGwgbnVtZXJpYyBpbnB1dCB2YWx1ZXMnLAorICBwcm9uYW1lID0+ICdzdW1fcF9u dW1lcmljJywgcHJva2luZCA9PiAnYScsIHByb2lzc3RyaWN0ID0+ICdmJywgcHJvcmV0dHlwZSA9 PiAnYnl0ZWEnLAorICBwcm9hcmd0eXBlcyA9PiAnbnVtZXJpYycsIHByb3NyYyA9PiAnYWdncmVn YXRlX2R1bW15JyB9LAogCiB7IG9pZCA9PiAnMjExNScsIGRlc2NyID0+ICdtYXhpbXVtIHZhbHVl IG9mIGFsbCBiaWdpbnQgaW5wdXQgdmFsdWVzJywKICAgcHJvbmFtZSA9PiAnbWF4JywgcHJva2lu ZCA9PiAnYScsIHByb2lzc3RyaWN0ID0+ICdmJywgcHJvcmV0dHlwZSA9PiAnaW50OCcsCmRpZmYg LS1naXQgYS9zcmMvdGVzdC9yZWdyZXNzL2V4cGVjdGVkL2NyZWF0ZV9hZ2dyZWdhdGUub3V0IGIv c3JjL3Rlc3QvcmVncmVzcy9leHBlY3RlZC9jcmVhdGVfYWdncmVnYXRlLm91dAppbmRleCBkY2Y2 OTA5NDIzLi4zMTk3YzhhYmJhIDEwMDY0NAotLS0gYS9zcmMvdGVzdC9yZWdyZXNzL2V4cGVjdGVk L2NyZWF0ZV9hZ2dyZWdhdGUub3V0CisrKyBiL3NyYy90ZXN0L3JlZ3Jlc3MvZXhwZWN0ZWQvY3Jl YXRlX2FnZ3JlZ2F0ZS5vdXQKQEAgLTMyMiwzICszMjIsMjcgQEAgV0FSTklORzogIGFnZ3JlZ2F0 ZSBhdHRyaWJ1dGUgIkZpbmFsZnVuY19leHRyYSIgbm90IHJlY29nbml6ZWQKIFdBUk5JTkc6ICBh Z2dyZWdhdGUgYXR0cmlidXRlICJGaW5hbGZ1bmNfbW9kaWZ5IiBub3QgcmVjb2duaXplZAogV0FS TklORzogIGFnZ3JlZ2F0ZSBhdHRyaWJ1dGUgIlBhcmFsbGVsIiBub3QgcmVjb2duaXplZAogRVJS T1I6ICBhZ2dyZWdhdGUgc3R5cGUgbXVzdCBiZSBzcGVjaWZpZWQKKy0tIGludmFsaWQ6IHBhcnRp YWxhZ2dmdW5jIHdoaWNoIGRvZXNuJ3QgZXhpc3QKK0NSRUFURSBBR0dSRUdBVEUgaGFzcGFydGlh bGFnZ19hZ2coaW50OCkgKAorCXNmdW5jID0gaW50OF9hdmdfYWNjdW0sCisJc3R5cGUgPSBpbnRl cm5hbCwKKwljb21iaW5lZnVuYyA9IGludDhfYXZnX2NvbWJpbmUsCisJZmluYWxmdW5jID0gbnVt ZXJpY19wb2x5X3N1bSwKKwlzZXJpYWxmdW5jID0gaW50OF9hdmdfc2VyaWFsaXplLAorCWRlc2Vy aWFsZnVuYyA9IGludDhfYXZnX2Rlc2VyaWFsaXplLAorCXBhcnRpYWxhZ2dmdW5jID0gcGFydGlh bGFnZ19mb28sCisJcGFydGlhbGFnZ19taW52ZXJzaW9uID0gMTYwMDAwCispOworRVJST1I6ICBm dW5jdGlvbiBwYXJ0aWFsYWdnX2ZvbyhiaWdpbnQpIGRvZXMgbm90IGV4aXN0CistLSBpbnZhbGlk OiBwYXJ0aWFsYWdnX21pbnZlcnNpb24gaXMgbm90IGludGVnZXIKK0NSRUFURSBBR0dSRUdBVEUg aGFzcGFydGlhbGFnZ19hZ2coaW50OCkgKAorCXNmdW5jID0gaW50OF9hdmdfYWNjdW0sCisJc3R5 cGUgPSBpbnRlcm5hbCwKKwljb21iaW5lZnVuYyA9IGludDhfYXZnX2NvbWJpbmUsCisJZmluYWxm dW5jID0gbnVtZXJpY19wb2x5X3N1bSwKKwlzZXJpYWxmdW5jID0gaW50OF9hdmdfc2VyaWFsaXpl LAorCWRlc2VyaWFsZnVuYyA9IGludDhfYXZnX2Rlc2VyaWFsaXplLAorCXBhcnRpYWxhZ2dmdW5j ID0gcGFydGlhbGFnZ19mb28sCisJcGFydGlhbGFnZ19taW52ZXJzaW9uID0gYWFhCispOworRVJS T1I6ICBwYXJ0aWFsYWdnX21pbnZlcnNpb24gcmVxdWlyZXMgYW4gaW50ZWdlciB2YWx1ZQpkaWZm IC0tZ2l0IGEvc3JjL3Rlc3QvcmVncmVzcy9leHBlY3RlZC9vaWRqb2lucy5vdXQgYi9zcmMvdGVz dC9yZWdyZXNzL2V4cGVjdGVkL29pZGpvaW5zLm91dAppbmRleCAyMTVlYjg5OWJlLi40OWYyYzli YzM1IDEwMDY0NAotLS0gYS9zcmMvdGVzdC9yZWdyZXNzL2V4cGVjdGVkL29pZGpvaW5zLm91dAor KysgYi9zcmMvdGVzdC9yZWdyZXNzL2V4cGVjdGVkL29pZGpvaW5zLm91dApAQCAtMTQ1LDYgKzE0 NSw3IEBAIE5PVElDRTogIGNoZWNraW5nIHBnX2FnZ3JlZ2F0ZSB7YWdnZmluYWxmbn0gPT4gcGdf cHJvYyB7b2lkfQogTk9USUNFOiAgY2hlY2tpbmcgcGdfYWdncmVnYXRlIHthZ2djb21iaW5lZm59 ID0+IHBnX3Byb2Mge29pZH0KIE5PVElDRTogIGNoZWNraW5nIHBnX2FnZ3JlZ2F0ZSB7YWdnc2Vy aWFsZm59ID0+IHBnX3Byb2Mge29pZH0KIE5PVElDRTogIGNoZWNraW5nIHBnX2FnZ3JlZ2F0ZSB7 YWdnZGVzZXJpYWxmbn0gPT4gcGdfcHJvYyB7b2lkfQorTk9USUNFOiAgY2hlY2tpbmcgcGdfYWdn cmVnYXRlIHtwYXJ0aWFsYWdnZm59ID0+IHBnX3Byb2Mge29pZH0KIE5PVElDRTogIGNoZWNraW5n IHBnX2FnZ3JlZ2F0ZSB7YWdnbXRyYW5zZm59ID0+IHBnX3Byb2Mge29pZH0KIE5PVElDRTogIGNo ZWNraW5nIHBnX2FnZ3JlZ2F0ZSB7YWdnbWludnRyYW5zZm59ID0+IHBnX3Byb2Mge29pZH0KIE5P VElDRTogIGNoZWNraW5nIHBnX2FnZ3JlZ2F0ZSB7YWdnbWZpbmFsZm59ID0+IHBnX3Byb2Mge29p ZH0KZGlmZiAtLWdpdCBhL3NyYy90ZXN0L3JlZ3Jlc3Mvc3FsL2NyZWF0ZV9hZ2dyZWdhdGUuc3Fs IGIvc3JjL3Rlc3QvcmVncmVzcy9zcWwvY3JlYXRlX2FnZ3JlZ2F0ZS5zcWwKaW5kZXggZDRiNDAz NmZkNy4uNDk5YzEyMGNhNSAxMDA2NDQKLS0tIGEvc3JjL3Rlc3QvcmVncmVzcy9zcWwvY3JlYXRl X2FnZ3JlZ2F0ZS5zcWwKKysrIGIvc3JjL3Rlc3QvcmVncmVzcy9zcWwvY3JlYXRlX2FnZ3JlZ2F0 ZS5zcWwKQEAgLTMyOCwzICszMjgsMjcgQEAgQ1JFQVRFIEFHR1JFR0FURSBjYXNlX2FnZyhmbG9h dDgpCiAJIkZpbmFsZnVuY19tb2RpZnkiID0gcmVhZF93cml0ZSwKIAkiUGFyYWxsZWwiID0gc2Fm ZQogKTsKKworLS0gaW52YWxpZDogcGFydGlhbGFnZ2Z1bmMgd2hpY2ggZG9lc24ndCBleGlzdAor Q1JFQVRFIEFHR1JFR0FURSBoYXNwYXJ0aWFsYWdnX2FnZyhpbnQ4KSAoCisJc2Z1bmMgPSBpbnQ4 X2F2Z19hY2N1bSwKKwlzdHlwZSA9IGludGVybmFsLAorCWNvbWJpbmVmdW5jID0gaW50OF9hdmdf Y29tYmluZSwKKwlmaW5hbGZ1bmMgPSBudW1lcmljX3BvbHlfc3VtLAorCXNlcmlhbGZ1bmMgPSBp bnQ4X2F2Z19zZXJpYWxpemUsCisJZGVzZXJpYWxmdW5jID0gaW50OF9hdmdfZGVzZXJpYWxpemUs CisJcGFydGlhbGFnZ2Z1bmMgPSBwYXJ0aWFsYWdnX2ZvbywKKwlwYXJ0aWFsYWdnX21pbnZlcnNp b24gPSAxNjAwMDAKKyk7CisKKy0tIGludmFsaWQ6IHBhcnRpYWxhZ2dfbWludmVyc2lvbiBpcyBu b3QgaW50ZWdlcgorQ1JFQVRFIEFHR1JFR0FURSBoYXNwYXJ0aWFsYWdnX2FnZyhpbnQ4KSAoCisJ c2Z1bmMgPSBpbnQ4X2F2Z19hY2N1bSwKKwlzdHlwZSA9IGludGVybmFsLAorCWNvbWJpbmVmdW5j ID0gaW50OF9hdmdfY29tYmluZSwKKwlmaW5hbGZ1bmMgPSBudW1lcmljX3BvbHlfc3VtLAorCXNl cmlhbGZ1bmMgPSBpbnQ4X2F2Z19zZXJpYWxpemUsCisJZGVzZXJpYWxmdW5jID0gaW50OF9hdmdf ZGVzZXJpYWxpemUsCisJcGFydGlhbGFnZ2Z1bmMgPSBwYXJ0aWFsYWdnX2ZvbywKKwlwYXJ0aWFs YWdnX21pbnZlcnNpb24gPSBhYWEKKyk7ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQotLSAK Mi4zMC4xCgo= --_002_OS3PR01MB6660CB590AEF3644A9EEE07D95189OS3PR01MB6660jpnp_--