From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id 0426545CC3; Thu, 14 Nov 2024 20:23:03 +0100 (CET) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id ABCE74025D; Thu, 14 Nov 2024 20:23:03 +0100 (CET) Received: from mx0a-0016f401.pphosted.com (mx0a-0016f401.pphosted.com [67.231.148.174]) by mails.dpdk.org (Postfix) with ESMTP id 079D24021F for ; Thu, 14 Nov 2024 20:23:01 +0100 (CET) Received: from pps.filterd (m0431384.ppops.net [127.0.0.1]) by mx0a-0016f401.pphosted.com (8.18.1.2/8.18.1.2) with ESMTP id 4AEGtIo5026633; Thu, 14 Nov 2024 11:23:01 -0800 Received: from nam02-bn1-obe.outbound.protection.outlook.com (mail-bn1nam02lp2042.outbound.protection.outlook.com [104.47.51.42]) by mx0a-0016f401.pphosted.com (PPS) with ESMTPS id 42wn52gast-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Thu, 14 Nov 2024 11:23:00 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=go8X/WWcxP06oejKiiDjNZRGQa47P6RbGzUESzXERMPMH6sh/24idbKFKgu5lyoCI20zQXhbh8L4GfUHR3Nln3Np0AtHrM3ncQxGc7JLu7E5dFptEGIijfiPfhCJoySqKgX2l+0R6xAumnIxnhOPBAkizwv3NXmqQRM7bFo6Ot9dMxR2tp+FbQip3aLHjd9o1EaKmWFGCQZ7+9ojwfzyLiEF+QkgbnkUeDW1Y6GorN59cj+0k8IjQhPvrNS41rWMN/niO4+qVh+YmOnXnqZsb+JMc1Y6Dk7L/4OroyAkf7KMqfBYDED7l624vsQZrqemP0F0LVWkx30PLyYZlvS9GA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; 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=It+6FC0rqi2zdxmriT9AxZ7ssIYpbpM6CvXc1KZwwSg=; b=o51f/4KyBWdwKpF86XNyJYDwlRmX/QHze5wdlq1nAiYbvwRkWM2pScu9FEp2jgI9CYepyPmmGjrlxsJ4tIaqfffPt7WzSqavsVFa84Y5jPw0QwY5DmRpjTN7WdmUjGmK2whPnD7vPl7RGG+ezPIkIvZfzEt6uxpagfYQgbMiB/ZF3TLPRCUcBgNv8GVQtM5VFdMYsxNePiDAmBgIkNVbgVwPyeU1OST5DgUZ0yORDc3t55Gq+MJmHwRrs90ShQASlh5ZHc4WUhDUaq1BAaBS1EkUFtkYlcQ6hiXya1TGSp0MSLUwZldjDz22sJnyecuD8lgdVTWygGSPBXe9+VQD7g== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=marvell.com; dmarc=pass action=none header.from=marvell.com; dkim=pass header.d=marvell.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=marvell.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=It+6FC0rqi2zdxmriT9AxZ7ssIYpbpM6CvXc1KZwwSg=; b=AJnbok8Yp5tc2sqQ88rSflV7q73hb9Sc8w0H9e0F7V9m7p74xOxjwca85HwwG3kOe2WnTUsLZOTEVJwb1Uh98aZZZr+rh53nj4HhAWgtneyVj4N5znGQdCwcEfmPKH0pef53baymC6qQRi3gk6pbT0ZlVrjc8KV9tEd+yk2H6rA= Received: from PH0PR18MB4489.namprd18.prod.outlook.com (2603:10b6:510:e2::20) by CH3PR18MB6074.namprd18.prod.outlook.com (2603:10b6:610:1dc::14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8158.17; Thu, 14 Nov 2024 19:22:55 +0000 Received: from PH0PR18MB4489.namprd18.prod.outlook.com ([fe80::520:4f6b:94d7:5f8b]) by PH0PR18MB4489.namprd18.prod.outlook.com ([fe80::520:4f6b:94d7:5f8b%3]) with mapi id 15.20.8158.017; Thu, 14 Nov 2024 19:22:54 +0000 From: Gnanesh Kambalu Palanethra To: Patrick Robb CC: "dts@dpdk.org" , JogaRao Nartu , Bharath Rajendra , Cody Cheng , Hiral Shah , Jerin Jacob Subject: Re: [EXTERNAL] Re: [PATCH 1/1] Cn10K crypto Tests: Added Marvell Cn10K specific crypto Tests to TestCryptoPerfCryptodevPerf Thread-Topic: [EXTERNAL] Re: [PATCH 1/1] Cn10K crypto Tests: Added Marvell Cn10K specific crypto Tests to TestCryptoPerfCryptodevPerf Thread-Index: AQHbKusB2JwCTCcQCkeFkJF+Zk8+VbKhbwAAgBA0vyY= Date: Thu, 14 Nov 2024 19:22:54 +0000 Message-ID: References: <20241030164419.3164992-1-gpalanethra@marvell.com> In-Reply-To: Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: msip_labels: x-ms-publictraffictype: Email x-ms-traffictypediagnostic: PH0PR18MB4489:EE_|CH3PR18MB6074:EE_ x-ms-office365-filtering-correlation-id: e96d39f1-91bb-4d60-e3db-08dd04e1bd6f x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; ARA:13230040|1800799024|376014|366016|8096899003|38070700018; x-microsoft-antispam-message-info: =?utf-8?B?NXRPbmJYZzFIN21rOWpJZ0VnbGFFODh3QnhHeVRvRnNtUklVc1o1SXNLWlJv?= =?utf-8?B?dkhLQ1ZHU0RZRkczRGRzeUw0UzNSTWJVeWVhblB2Q21pQ0o3VnF6UEdIRnRO?= =?utf-8?B?R3FBamgwUVIxNEdlK0J0dVNCSG5XUHkyREdzaWI4RTJGSU5DTEowVTljUTg1?= =?utf-8?B?NWdNaVg4d01kaWMvMVBOTzhtY3ZSUjF3dVNiQ2hkUmNxQVpxb1poZGxHaVJ3?= =?utf-8?B?a24wcUVFOG5BZWhHR2JnSVNWWHNROW9QaDlEcmtGdVV3VHRqcWppSjd5ai95?= =?utf-8?B?UmlKZ0Fja1U1bHdJeG0yS1hYWjhWYW9Sd2hVdGFvWmJDemQ2N1JSc0NWY3JD?= =?utf-8?B?blo3WGNpbi8xZ3FRMDQxV2VhSkpvc0JBMlBXRHlUTFFsNkVWVzhObHFBUUNJ?= =?utf-8?B?YWEyUmM4bkhvYURGUWtUb2RkS3VSTHdNeFdDaWlCSFpFWGV0TFNIQ0hXZDl2?= =?utf-8?B?L016bGRPRlNZRG5NQSsweUVTNEpqUm1EeHNjenVROGYrVTJoVDdKeXhkc1pE?= =?utf-8?B?bDF6bm56UklJQnp3SFpUTUtrVThNS3hka3Vud3hVNW52bWcySi93anI5VU1o?= =?utf-8?B?SktMSml5N3dtOE1mY2tYYitmUWxGODllMHJERi9WU21LdG5nR3dNdUt4N1d1?= =?utf-8?B?T3phTks0MGJrM0tDVzFvTERIQlpxYXk3bkxYM2FsRGlseUc2UFVYK1BrcERy?= =?utf-8?B?aXc5YjFISkdRSTV3MG9peldYNjVTRzlnU0lKOHJ2WHdKb2FjTWs4VCtJR0dK?= =?utf-8?B?WlFJRDhlQjVwMHhxZVkyb005QnRjblM1Z2taTis4dmpQaDBlb1FLU05jNERv?= =?utf-8?B?QVVTOGw4Q0FabWF2dGRacVI1Tk9QMGFlRFR5dWN0ZVBLOFpBZ2hqcFYzZnpy?= =?utf-8?B?ZUdoeDlNcjJZc2dmVFY2RkNpQ0pzUWZxSjZKUDNZUGYxbnhlUVp5dmQxZlNy?= =?utf-8?B?c3k0T24vQmhnRmpwRVNKQkFveUwwVllSSTN0N1BhNE9hU2g0UjVvS0ovM1RQ?= =?utf-8?B?Z2EyM2pVcHlVWnVyaTZlZVlGZTNEZXBRMTZ2dFBPK1JnSlQyZFJJYU90RnlG?= =?utf-8?B?alZjM1h0MGhnVlNGV0lWYXlkVFdPZDNyZWl5eDQ5MW5TenBIMUhIQUNTaFVM?= =?utf-8?B?c2FvRUx6R2RuVmExM1Qvb25CcHNVNVFXUDRrTzZTRUpRTFJaS2VBeWNRb2Y5?= =?utf-8?B?U3V5MDdRU0FOaHlRUFdnZVpJdFdqZFNZRnNTV2UvOGdjZjVvRjhCRkRPSVA2?= =?utf-8?B?SGNKbVpaTFNPWkpkQ1hmZ2JSaTZKSlZFcjJWOVMrS3VTUGNrRTExZEdQQzdj?= =?utf-8?B?bFpJT0ZWSFJDWG11cGQwNFNKRUxKSnBMd2lHOUtRZS9QejlQTXRiMkowNzRk?= =?utf-8?B?NmhtUllEekxDQjEzeVRDMDJqNkhVQ0NTUndudkZ3ano0eisvanZwVTBVQUJr?= =?utf-8?B?SHFXNlVRWmJSMlJ4aXRMd2xyK05EM1B5c2RUdllNZnhUU2pQd1NiSTFSM3R1?= =?utf-8?B?elZlTmpvRTBDaTI2eFMwdmFzQ252SlhDN3Q2TVYvQzFoMkhvY1NLT21WdWVo?= =?utf-8?B?Rm80T2tLa2FuYUtycmVBaUJndUtseW9TUEhTS1BNUFR4UmpjNE91ak9kd1FT?= =?utf-8?B?aTRrdENGLzN0VSsxaTZIK3hpRjdTa3R2NjhKa1I5OGRyQXhDdWJDZEcrcjdm?= =?utf-8?B?eW8zMlVmTituQzlsblI0dlJWeXhBRXlZVHBYcWZUaHNRQTdPN2I3YVJ6a003?= =?utf-8?Q?9i2G+UoDR2v0cT9ZbugiMMeNx7SmMxzrQa8w4M9?= x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:PH0PR18MB4489.namprd18.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230040)(1800799024)(376014)(366016)(8096899003)(38070700018); DIR:OUT; SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?YnA5THVKUjhBRzV0MG1PVisxUzFQS1NyK1ZuYmhPU2NjUVZWd1JLTUl3dkl4?= =?utf-8?B?QVNuc0VvUWI2UGVpMGlzbm5IdnlCZThaL1IrWFVPVmpSaCt1aEZTZmRWRnN3?= =?utf-8?B?S284bkk0alFpRzJIeE5KNWpMOGdiaGYwRFNabG5DSEYxcnlwb28vazFoTXJv?= =?utf-8?B?c1NvNk52aTlHY0JwNy9SUmU2R0VZdFZ3ZHFJL2VYSVRpeXRjcGtqMjFqMDN6?= =?utf-8?B?cW1kNE0xc2RKMkdjaHAvc2ZNZFA0S3hwR1JiWmlMelhLZHFobkNDVVlVV25q?= =?utf-8?B?aFRxbFF5YS9kTHhya3NrQ2t3YzZDT3RSUGh4VFdTSkJwYmxTSmN0OU84bm9I?= =?utf-8?B?dFdtSGhUbUhvL2x1SjA3QWpvcnhoeVoxQ3pML0c4YStBZHRjQzZ2ZFJoUXM0?= =?utf-8?B?d2p3elBkYnB0STc0ZkRZQU9SQjN1QXJLTVc5anBPUk42V3NuLytXVDZLQXFV?= =?utf-8?B?NGlvMHhTdU1hMDFHTHUzUG14MDBQVDNFaEZyU09LcEs2WmFtd21KYnpOeDFR?= =?utf-8?B?OVVWOXlJTDJqN3MxZzd0U2U0Z2VXYlBTQ3RRMnlYWmx0Tld6MDZsQ2V5UmJh?= =?utf-8?B?RTBiZTJjWmltRnN2TGRqMlYxMFZmRVhpbDhtZExMY0ZYQjFUQUNaOVBrbkxn?= =?utf-8?B?c09lVlRjaEdvSGh0YWNHRWpsZDlXTTRWYVE5SjFoZytWc2g4YmFyYWNUVWtZ?= =?utf-8?B?UlJkb1Nmd1o2SnFSblNsUUM0SzAwcjlhK0Y2eEg1WFZoL21zbUovNk5KVW5i?= =?utf-8?B?LzBmenprR2RnbXUyWURIRTRFQUpPeS8vODNlY2k1QzNMY0xRRUFDajdRdDN4?= =?utf-8?B?NXF0ckNpT0VFU1pZRmdpRDV0RjJzSGZIa3JYWHRBYnJFRng4bHRNK0NySnpw?= =?utf-8?B?cUY5RlVjMURlaG5GcnU5UXpBaStxam1TTXV3TkZ1M3c4T3NRanIva2FZaFc2?= =?utf-8?B?bG5GU3Z0dGs4THpialh0Z2VGWkFCa1ZmdFhLeEpCdHJRdTM3OFZUQjlST2JV?= =?utf-8?B?Q3htZ2ZsMlRJR25xZEJrYjlzMS9sNEZIM0N4TUZmMFhXYWc3OW1yNU1pSVRX?= =?utf-8?B?dXNvVEk1eG4xdC9hLy83ZDZrUyttNERtVi9GZ3Y5SkZ2eFh0KzYxNlF4OVor?= =?utf-8?B?VFZoV0ZOdG95MHYyaDMwWGlVdEc3bEZ5VHFvd3E1ZFdzMzJoZjhJMEtxeU1Y?= =?utf-8?B?WDRmbnU1TnVvbFhjREVXR0xwdU5Gd01rQzFVN0ZxRTlyZWpqazFjcjNoMWht?= =?utf-8?B?N1hZVnZUWTE2R0QwNmtzSHZ5UXVkZDlJVEpDSmlsTlkzQjJDM3BZQTM4YTFl?= =?utf-8?B?eGViSDVncUphdWV2dUxTanJJUmtjaXJZcTlDSHdtMlZ3K1U2bU1JWjJhNVl6?= =?utf-8?B?anV2ZW1oclBQOFJlcVJVNlZtSUxXRXVEK2djNDd2RXhKQUd4SlRSdTUvM1I4?= =?utf-8?B?L3lTUjR5eU9RcjliQ1ZNd3hQajFzY1VWOHFUZUgzM2U2MlllN2wzRFdkdk0w?= =?utf-8?B?SDhvOVJ0RmNGaTZVYXN5Tnlvckh5bzhUYldSeE1YNFdQZ2VMb0ozbzFIUWdl?= =?utf-8?B?d1gzY0F3UmdvUEtSTGc2bEw0V1Q3SmNUdkN5S2xtbXNGM2tnamN2MzVyejgz?= =?utf-8?B?QWtib0tkOFhLcXViaDI2aXVJeFBUSldNQUtHUnF2MlFZdVkrVTVyWjdIb0VU?= =?utf-8?B?cFJxSStsVk0yUVM2NkE1bnBSVmZhWVBUc2lQVmFoQ0U3azlWcnNWREdGK1gw?= =?utf-8?B?VnNGU1VsQUpQOUl6OXY1K0NpTWgyTVk4Uk5TLzExZjJ3aGpuMVlkVGdrZ29C?= =?utf-8?B?YXdleEZlVVJSVXg0aTczbk5jbzQwR1VpK2UzYXhVOVB2Z0QwMGR5WExzRVJH?= =?utf-8?B?eHMxZ3ZMSkdwWlV3Z3RDY25ZdHZ5d0xabEFFbVBHK1d0ZzNDMk9vWjY4bWZM?= =?utf-8?B?b2pHckp2cjhTUDRsd0IwQ3lpUWhmR01uUHZ5VWtYRTRMcFpzajRac3AzTXh2?= =?utf-8?B?a1F5dm5qM2xjZm9xYlZqRHhsL2Rsd3gyVW9uNGppKzBJdXlqc2VMN3F1NTQ0?= =?utf-8?B?RkVHUTJCTWM0QXN3dWFhaG1vcGFXZlR6Qm5UcEhnMVdud0g5VUhuN3dBbVU5?= =?utf-8?Q?U0XsNP7VvDx+ebrhiPn2sSCth?= Content-Type: multipart/alternative; boundary="_000_PH0PR18MB4489FBF5BF9F099C23B7506DA7582PH0PR18MB4489namp_" MIME-Version: 1.0 X-OriginatorOrg: marvell.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: PH0PR18MB4489.namprd18.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: e96d39f1-91bb-4d60-e3db-08dd04e1bd6f X-MS-Exchange-CrossTenant-originalarrivaltime: 14 Nov 2024 19:22:54.8823 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 70e1fb47-1155-421d-87fc-2e58f638b6e0 X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: JSamnpPTH0mJ7qg60/CFHAm6VDxmxHIV8rytIxT6ZBrIincYb6YfXRigZwvCGCEyAwHSweqLwA3IsjN4GGGQYw== X-MS-Exchange-Transport-CrossTenantHeadersStamped: CH3PR18MB6074 X-Proofpoint-GUID: MUCohyz7wHvFQGP7UyzoFWcfCFbv3tF1 X-Proofpoint-ORIG-GUID: MUCohyz7wHvFQGP7UyzoFWcfCFbv3tF1 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.687,Hydra:6.0.235,FMLib:17.0.607.475 definitions=2020-10-13_15,2020-10-13_02,2020-04-07_01 X-BeenThere: dts@dpdk.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: test suite reviews and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dts-bounces@dpdk.org --_000_PH0PR18MB4489FBF5BF9F099C23B7506DA7582PH0PR18MB4489namp_ Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 DQpIaSBQYXRyaWNrLA0KDQpQbGVhc2UgZmluZCBteSByZXNwb25zZXMgaW5saW5lLiAgSSBhbSBz dWJtaXR0aW5nICBhbiB1cGRhdGVkIHBhdGNoIGJhc2VkIG9uIHlvdXIgY29tbWVudHMuDQoNCg0K UmVnYXJkcywNCkduYW5lc2gNCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fDQpGcm9t OiBQYXRyaWNrIFJvYmIgPHByb2JiQGlvbC51bmguZWR1Pg0KU2VudDogRnJpZGF5LCBOb3ZlbWJl ciAxLCAyMDI0IDM6NDUgQU0NClRvOiBHbmFuZXNoIEthbWJhbHUgUGFsYW5ldGhyYSA8Z3BhbGFu ZXRocmFAbWFydmVsbC5jb20+DQpDYzogZHRzQGRwZGsub3JnIDxkdHNAZHBkay5vcmc+OyBKb2dh UmFvIE5hcnR1IDxuam9nYXJhb0BtYXJ2ZWxsLmNvbT47IEJoYXJhdGggUmFqZW5kcmEgPGJyYWpl bmRyYUBtYXJ2ZWxsLmNvbT47IENvZHkgQ2hlbmcgPGNjaGVuZ0Bpb2wudW5oLmVkdT47IEhpcmFs IFNoYWggPGhzaGFoQG1hcnZlbGwuY29tPjsgSmVyaW4gSmFjb2IgPGplcmluakBtYXJ2ZWxsLmNv bT4NClN1YmplY3Q6IFtFWFRFUk5BTF0gUmU6IFtQQVRDSCAxLzFdIENuMTBLIGNyeXB0byBUZXN0 czogQWRkZWQgTWFydmVsbCBDbjEwSyBzcGVjaWZpYyBjcnlwdG8gVGVzdHMgdG8gVGVzdENyeXB0 b1BlcmZDcnlwdG9kZXZQZXJmDQoNClByaW9yaXRpemUgc2VjdXJpdHkgZm9yIGV4dGVybmFsIGVt YWlsczoNCkNvbmZpcm0gc2VuZGVyIGFuZCBjb250ZW50IHNhZmV0eSBiZWZvcmUgY2xpY2tpbmcg bGlua3Mgb3Igb3BlbmluZyBhdHRhY2htZW50cw0KUmVwb3J0IFN1c3BpY2lvdXM8aHR0cHM6Ly91 cy1waGlzaGFsYXJtLWV3dC5wcm9vZnBvaW50LmNvbS9FV1QvdjEvQ1JWbVhrcVchdUszWC05QWNh Ym0yV2lEUnNUQlM0ckl3SXZSYlZqaXBwcy1jSEwxcmNTc29xRFNGTk1jWHFyOEJPSU5vQndlSTRw WjI3bnowZDhqcTVPS2VpclpJQl9kLWhIV1BUN3oyZ05tTF9sTWxIaEdtbDdEdVBTbk1lZldPU2JL UjdRJD4NCg0KSGkgR25hbmVzaCwgdGhhbmtzIGZvciBzZW5kaW5nIHRoaXMuIE15IG5hbWUgaXMg UGF0cmljayBSb2JiLCBhbmQgSSdtIGEgQ0kgVGVzdGluZyBMYWIgbWFuYWdlciBhdCB0aGUgRFBE SyBDb21tdW5pdHkgTGFiIGhvc3RlZCBhdCBVTkgsIGFuZCBhIG1haW50YWluZXIgZm9yIHRoZSAi bmV3IiBEVFMgZnJhbWV3b3JrIHdoaWNoIGV4aXN0cyB3aXRoaW4gdGhlIERQREsgcmVwbyBhbmQg c2hvdWxkIGJlIHJlcGxhY2luZyB0aGUgbGVnYWN5IERUUyBwcm9qZWN0IGluIHRoZSBsb25nIHRl cm0od2hhdCB0aGlzIHBhdGNoIGlzIGZvcikuIFdlIGRvIGhhdmUgYSBNYXJ2ZWxsIENOMTBLIGJv YXJkIGF0IHRoZSBsYWIsIGFuZCBJIHdvdWxkIGxvdmUgdG8gYmVnaW4gcnVubmluZyBzb21lIGNy eXB0byB0ZXN0aW5nIGZyb20gdGhhdCBpZiBwb3NzaWJsZSAoc28sIHRoYW5rcyBhZ2FpbiBmb3Ig dGhpcyBzZXJpZXMpLg0KDQpTbywgbW9zdCBsaWtlbHkgd2Ugd2lsbCB3YW50IHRvIHByb3ZpZGUg YSByZXZpZXcgZnJvbSBVTkggYW5kIHRlc3QgdGhpcywgc28gdGhhdCBpdCBjYW4gYmUgbWVyZ2Vk IHRvIERUUyAodGVjaG5pY2FsbHkgSSB3YXMgZ3JhbnRlZCB0aGUgYXV0aG9yaXR5IHRvIGFwcGx5 IHBhdGNoZXMgdG8gdGhlIGxlZ2FjeSByZXBvKS4NCg0KSSBhbSBhZGRpbmcgQ29keSB0byB0aGlz IHRocmVhZCBhcyBJIHRoaW5rIGhlIGNhbiBhc3Npc3QgbWUgb24gdGhpcy4gQ29keSBJIGFtIGdv aW5nIHRvIHByb3ZpZGUgc29tZSBjb21tZW50cyBpbmxpbmUgYXMgYW4gaW5pdGlhbCByZXZpZXcg Zm9yIHRoaXMgc2VyaWVzLCBhbmQgdGhlbiB3ZSBzaG91bGQgYXBwbHkgdGhpcyBzZXJpZXMgbG9j YWxseSBvbiB0aGUgdHJhZmZpYyBnZW5lcmF0b3IvdGVzdCBlbmdpbmUgZm9yIHRoZSBDTjEwSyAo SW50ZWwtMSBpbiBvdXIgbGFiKSwgZHJ5IHJ1biB0aGUgdGVzdCB3aGljaCBHbmFuZXNoIGhhcyBh ZGRlZCwgYW5kIHJlcG9ydCBiYWNrIHRvIGhpbS4gSWYgYWxsIGdvZXMgd2VsbCwgaXQgc2hvdWxk IGJlIHBvc3NpYmxlIHRvIG1lcmdlLg0KDQpMb25nIHRlcm0sIHdlIHdpbGwgd2FudCB0byBjaXJj bGUgYmFjayBhbmQgYWRkIHRoaXMgdGVzdCB0byB0aGUgbmV3IERUUyBmcmFtZXdvcmssIGJ1dCBp dCBpcyBub3QgcmVhZHkgZm9yIHRoaXMgdGVzdCB5ZXQsIGFzIGN1cnJlbnRseSBuZXcgRFRTIGlz IHRlc3RwbWQgb25seSAtIHRoZXJlIGlzIG5vdCBjcnlwdG9kZXYgc3VwcG9ydC4gQWx0aG91Z2gs IGFkZGluZyBzdWNoIHN1cHBvcnQgdG8gbmV3IERUUyBpcyBzb21ldGhpbmcgSSB3b3VsZCBsb3Zl IHRvIHdvcmsgd2l0aCB5b3Ugb24gaW4gdGhlIG5leHQgeWVhciBpZiB5b3UgaGF2ZSB0aW1lIGF2 YWlsYWJsZSBmb3IgZGV2ZWxvcG1lbnQgdG93YXJkcyBEUERLIHRlc3RpbmchIEFueXdheXMsIGNv bW1lbnRzIGlubGluZToNCg0KT24gV2VkLCBPY3QgMzAsIDIwMjQgYXQgMTI6NDTigK9QTSBHbmFu ZXNoIDxncGFsYW5ldGhyYUBtYXJ2ZWxsLmNvbTxtYWlsdG86Z3BhbGFuZXRocmFAbWFydmVsbC5j b20+PiB3cm90ZToNCiAgICBDaGFuZ2VzIGluY2x1ZGVkIGluIHRoaXMgcGF0Y2g6DQogICAgLS0g TmV3IFRlc3RDYXNlcyBhcmUgYWRkZWQgZm9yIENuMTBLIENQVCBIYXJkd2FyZSBjcnlwdG8gYWNj ZWxlcmF0b3IuDQogICAgLS0gd2hlbiBUZXN0aW5nIG5ld2x5IGFkZGVkIFRlc3RjYXNlcyBpdCBp cyBmb3VuZCBOZWNlc3NhcnkgdG8gbWFrZSBCZWxvdyBDaGFuZ2VzDQogICAgICAgICAgMT4gdGVz dHMvY3J5cHRvZGV2X2NvbW1vbi5weQ0KICAgICAgICAgICAgICAgLS0+IGJpbmRfcWF0X2Rldmlj ZSBmdW5jdGlvbiBpcyB1cGRhdGVkIHRvIGdlbmVyYXRlIFZGcyBmb3IgdGhlIGdpdmVuIGNyeXB0 b19kZXZfaWQNCiAgICAgICAgICAgICAgIC0tPiBhZGRlZCBOZXcgZnVuY3Rpb24gYmluZF9tcnZs X2RldmljZXMgdG8gYWNjZXB0IGxpc3Qgb2YgUENJIElkcyBhbmQgYmluZCBpdCB0byB2ZmlvX3Bj aSBkcml2ZXIuDQogICAgICAgICAgMj4gZnJhbWV3b3JrL2NyYi5weQ0KICAgICAgICAgICAgICAg LS0+IHVwZGF0ZWQgcGNpX2RldmljZXNfaW5mb3JtYXRpb25fdW5jYWNoZWRfbGludXggTWV0aG9k IHRvIGhhbmRsZSBhZGRpdGlvbmFsIE5pYyBTcGVlZHMgZm9yIENhdml1bSwNCiAgICAgICAgICAg ICAgICAgICBhcyBpdCB3YXMgcmVzdHJpY3Rpbmcgb25seSB0byAxIEdJRyBOSUMgc3BlZWQNCg0K VGhhbmtzLCBJIGFsc28gbWFkZSB0aGlzIGNoYW5nZSBvbiBvdXIgbG9jYWwgRFRTIHByb2plY3Qg Zm9yIGNuMTBrLCBidXQgdGhlIHBhdGNoIHdhcyBub3Qgc3VibWl0dGVkIHRvIHRoZSAibGVnYWN5 IERUUyIgbWFpbGluZyBsaXN0IGhlcmUgYXMgaXQgd2FzIHVubWFpbnRhaW5lZCAoYW5kIHN0aWxs IGlzLCB0byBEYXZpZCdzIHBvaW50KS4gQnV0LCBpZiB3ZSBjYW4gZG8gYSByZXZpZXcgaXQgaXMg Z29vZCB0byBnZXQgdGhlc2UgdGhpbmdzIGludG8gbWFpbmxpbmUuIE1heWJlIEkgY2FuIHJlYmFz ZSBvdXIgbG9jYWwgcGF0Y2ggb24geW91cnMgaWYgdGhlcmUgd2VyZSBhbnkgb3RoZXIgY2hhbmdl cywgYW5kIGdldCBmZWVkYmFjayBmb3IgY24xMGsgc3BlY2lmaWMgcXVlc3Rpb25zLg0KDQpJIGhh dmUgYSBoYXJkIHRpbWUgdW5kZXJzdGFuZGluZyBob3cgdGhpcyAxMEcgTklDIHNwZWVkIHJlcXVp cmVtZW50IGdvdCBhZGRlZCBpbiB0aGUgZmlyc3QgcGxhY2UgYXMgaXQgd2FzIHF1aXRlIHBlY3Vs aWFyIGFuZCBjb25mdXNlZCBtZSBmb3IgYSB0aW1lIGFzIGl0IHdhcyBkcm9wcGluZyB0aGUgcG9y dHMgbGlzdCEgSSdtIHN1cmUgeW91IGhhZCBhIHNpbWlsYXIgZXhwZXJpZW5jZS4uLiA6KQ0KDQog ICAgICAgICAgMz4gZnJhbWV3b3JrL3NldHRpbmdzLnB5DQogICAgICAgICAgICAgICAtLT4gQ2hh bmdlZCB0aGUgZGVmYXVsdCBDYXZpdW0gTklDIGRyaXZlciB0byBydnVfbmljcGYuDQoNClRoYW5r cywgd2UgYXJlIGFsc28gcnVubmluZyBmcm9tIHRoaXMgY2hhbmdlIGF0IHRoZSBDb21tdW5pdHkg TGFiLiBCdXQsIEkgdGhvdWdodCB5b3Ugc2FpZCBhYm92ZSB5b3UgYXJlIGNyZWF0aW5nIFZGcyBm cm9tIHRoZSBiaW5kX3FhdF9kZXZpY2UgZnVuY3Rpb24uIFNvLCBkb2VzIHJ2dV9uaWN2ZiBuZWVk IHRvIGJlIGFkZGVkIGFzIHdlbGw/DQoNCiAgICAgICAgICA0PiBuaWNzL25ldF9kZXZpY2UucHkN CiAgICAgICAgICAgICAgIC0tPiBhZGRlZCBNaXNzaW5nIGV4cGVjdCBvYmplY3QNCiAgICAgICAg ICA1PiBjb25mL2NyeXB0b19wZXJmX2NyeXB0b2Rldl9wZXJmLmNmZw0KICAgICAgICAgICAgICAg LS0+IGFkZGVkIE1hcnZlbGwgQ24xMEsgY29uZmlncyBmb3IgY3J5cHRvX3BlcmZfY3J5cHRvZGV2 X3BlcmYNCiAgICAgICAgICA2PiBmcmFtZXdvcmsvc3NoX3BleHBlY3QucHkNCiAgICAgICAgICAg ICAgIC0tPiBvdXRwdXQucmVwbGFjZSBjb21tYW5kJ3Mgb3V0cHV0IGlzIG5vdCBzZXQgYmVmb3Jl IHJldHVybmluZyBmcm9tIGdldF9vdXRwdXRfYWxsIG1ldGhvZA0KICAgICAgICAgICAgICAgICAg IGhlbmNlIFVubmVjZXNzYXJpbHkgcmV0dXJuaW5nIFByb21wdCBhbG9uZyB3aXRoIHRoZSBvdXRw dXQNCiAgICAgICAgICA3PiB0ZXN0cy9UZXN0U3VpdGVfY3J5cHRvX3BlcmZfY3J5cHRvZGV2X3Bl cmYucHkNCiAgICAgICAgICAgICAgIC0tPiAgYWRkZWQgTWFydmVsbCBDTjEwSyBUZXN0Y2FzZXMN Cg0KQWdhaW4gd2Ugd2lsbCBhcHBseSB0aGVzZSwgZ2l2ZSB0aGVtIGEgcnVuLCBhbmQgcmVwb3J0 IGJhY2suDQoNCiAgICAgICAgICAgICBVcGRhdGVkIEJlbG93IFByaXZhdGUgZnVuY3Rpb25zDQog ICAgICAgICAgICAgICAgNi4xPiBfcnVuX2NyeXB0b19wZXJmKCkgLS0+IHJlY2VpdmVzIGFkZGl0 aW9uYWwgS1cgYXJndW1lbnRzDQogICAgICAgICAgICAgICAgNi4yPiBfcGFyc2Vfb3V0cHV0KCkg IC0tLT4gVXBkYXRlZCB0byBoYW5kbGUgTWFydmVsbCBDbjEwSyBhcHAgY29tbWFuZCBvdXRwdXQN CiAgICAgICAgICAgICAgICA2LjM+IF9ydW5fY3J5cHRvX3BlcmZfdGhyb3VnaHB1dCgpIC0tPiBy ZWNlaXZlcyBhZGRpdGlvbmFsIEtXIGFyZ3VtZW50cw0KDQoNCkkgZG9uJ3Qgc2VlIGFueSBtb2Rp ZmljYXRpb25zIGZvciB0aGUgYnVpbGQgcHJvY2Vzcy4gSXMgdGhlcmUgYSBuZWVkIHRvIGluY2x1 ZGUgIi1EcGxhdGZvcm09Y24xMGsiIHdoZW4gc2V0dGluZyB1cCB0aGUgYnVpbGQgZnJvbSBtZXNv biwgb3IgaXMgdGhlIGRlZmF1bHQgYnVpbGQgZmluZT8NCg0KIHJpZ2h0IG5vdyB0aGVyZSBpcyBu byBjaGFuZ2UgdG8gYnVpbGQgcHJvY2VkdXJlLCB3ZSBhcmUgY3Jvc3MgY29tcGlsaW5nIERQREsg b24geDg2IGFuZCBjb3B5aW5nIHRoZSBhcHBsaWNhdGlvbiBvbiB0byBEVVQuDQoNCg0KDQoNCg0K U2lnbmVkLW9mZi1ieTogR25hbmVzaCA8Z3BhbGFuZXRocmFAbWFydmVsbC5jb208bWFpbHRvOmdw YWxhbmV0aHJhQG1hcnZlbGwuY29tPj4NCi0tLQ0KIGNvbmYvY3J5cHRvX3BlcmZfY3J5cHRvZGV2 X3BlcmYuY2ZnICAgICAgICAgICB8IDg0OSArKysrKysrKysrKysrKysrKysNCiBmcmFtZXdvcmsv Y3JiLnB5ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgIDYgKy0NCiBmcmFtZXdvcmsv c2V0dGluZ3MucHkgICAgICAgICAgICAgICAgICAgICAgICAgfCAgIDQgKy0NCiBmcmFtZXdvcmsv c3NoX3BleHBlY3QucHkgICAgICAgICAgICAgICAgICAgICAgfCAgIDIgKy0NCiBuaWNzL25ldF9k ZXZpY2UucHkgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgIDMgKw0KIHRlc3RzL1Rlc3RT dWl0ZV9jcnlwdG9fcGVyZl9jcnlwdG9kZXZfcGVyZi5weSB8IDMyMiArKysrKystDQogdGVzdHMv Y3J5cHRvZGV2X2NvbW1vbi5weSAgICAgICAgICAgICAgICAgICAgIHwgIDExICstDQogNyBmaWxl cyBjaGFuZ2VkLCAxMTcyIGluc2VydGlvbnMoKyksIDI1IGRlbGV0aW9ucygtKQ0KDQpkaWZmIC0t Z2l0IGEvZnJhbWV3b3JrL2NyYi5weSBiL2ZyYW1ld29yay9jcmIucHkNCmluZGV4IDllM2IwYTU4 Li4yZmU5ZDE0NyAxMDA2NDQNCi0tLSBhL2ZyYW1ld29yay9jcmIucHkNCisrKyBiL2ZyYW1ld29y ay9jcmIucHkNCkBAIC0zNzQsMTUgKzM3NCwxNSBAQCBjbGFzcyBDcmIob2JqZWN0KToNCiAgICAg ICAgICAgICAgICAgcGFzcw0KDQogICAgICAgICBmb3IgaSBpbiByYW5nZShsZW4obWF0Y2gpKToN Ci0gICAgICAgICAgICAjIGNoZWNrIGlmIGRldmljZSBpcyBjYXZpdW0gYW5kIGNoZWNrIGl0cyBs aW5rc3BlZWQsIGFwcGVuZCBvbmx5IGlmIGl0IGlzIDEwRw0KKyAgICAgICAgICAgICMgZm9yIGNh dml1bSBzdXBwb3J0ZWQgbGluayBzcGVlZCBzcGVjZmllZCB1bmRlciBsaW5rc3BlZWRzDQogICAg ICAgICAgICAgaWYgIjE3N2Q6IiBpbiBtYXRjaFtpXVsxXToNCi0gICAgICAgICAgICAgICAgbGlu a3NwZWVkID0gIjEwMDAwIg0KKyAgICAgICAgICAgICAgICBsaW5rc3BlZWRzID0gWyI0MDAwMCIs ICIxMDAwMCIsICIyNTAwMCIsICI1MDAwMCIsICIxMDAwMDAiXQ0KDQpIb25lc3RseSBJIGRvbid0 IHVuZGVyc3RhbmQgd2h5IHdlIGhhdmUgdGhpcyBjb25kaXRpb24gYXQgYWxsLiBPdGhlciBkZXZp Y2VzIGluIERUUyBkbyBub3QgaGF2ZSB0aGlzIGNoZWNrIHdoZXJlIHRoZSBwb3J0bGlua3MgY2Fu IGJlIGRyb3BwZWQgaW4gY3Jicy5weS4gV2hhdCBkbyB5b3UgdGhpbmsgYWJvdXQgdXBkYXRpbmcg dGhlIGFjY2VwdGVkIGxpbmtzcGVlZHMgdnMganVzdCByZW1vdmluZyB0aGlzIHN0ZXAgZW50aXJl bHk/IENhbiB3ZSBleHBlY3QgYWRkaXRpb25hbCBsaW5rc3BlZWRzIHRvIGJlIGFkZGVkIGZvciAx NzdkIGluIHRoZSBmdXR1cmUsIGFuZCBoYXZlIHRoaXMgcHJvYmxlbSBjcm9wIHVwIGFnYWluIGZv ciBhIG5ldyBsaW5rc3BlZWQsIG9yIGlzIHRoaXMgbGlzdCBvZiBzcGVlZHMgImZpbmFsIiBmb3Ig MTc3ZD8NCg0KVGhpcyBjaGVjayBpcyBub3cgY29tcGxldGVseSBSZW1vdmVkIGluIHRoZSB1cGRh dGVkIHBhdGNoLg0KDQoNCiAgICAgICAgICAgICAgICAgbmljX2xpbmtzcGVlZCA9IHNlbGYuc2Vu ZF9leHBlY3QoDQogICAgICAgICAgICAgICAgICAgICAiY2F0IC9zeXMvYnVzL3BjaS9kZXZpY2Vz LyVzL25ldC8qL3NwZWVkIiAlIG1hdGNoW2ldWzBdLA0KICAgICAgICAgICAgICAgICAgICAgIiMg IiwNCiAgICAgICAgICAgICAgICAgICAgIGFsdF9zZXNzaW9uPVRydWUsDQogICAgICAgICAgICAg ICAgICkNCi0gICAgICAgICAgICAgICAgaWYgbmljX2xpbmtzcGVlZC5zcGxpdCgpWzBdID09IGxp bmtzcGVlZDoNCisgICAgICAgICAgICAgICAgaWYgbmljX2xpbmtzcGVlZC5zcGxpdCgpWzBdIGlu ICBsaW5rc3BlZWRzOg0KICAgICAgICAgICAgICAgICAgICAgc2VsZi5wY2lfZGV2aWNlc19pbmZv LmFwcGVuZCgobWF0Y2hbaV1bMF0sIG1hdGNoW2ldWzFdKSkNCiAgICAgICAgICAgICBlbHNlOg0K ICAgICAgICAgICAgICAgICBzZWxmLnBjaV9kZXZpY2VzX2luZm8uYXBwZW5kKChtYXRjaFtpXVsw XSwgbWF0Y2hbaV1bMV0pKQ0KZGlmZiAtLWdpdCBhL2ZyYW1ld29yay9zZXR0aW5ncy5weSBiL2Zy YW1ld29yay9zZXR0aW5ncy5weQ0KaW5kZXggMWE1NjFkZGEuLmIyYzM3MWY4IDEwMDY0NA0KLS0t IGEvZnJhbWV3b3JrL3NldHRpbmdzLnB5DQorKysgYi9mcmFtZXdvcmsvc2V0dGluZ3MucHkNCkBA IC0xNjYsOCArMTY2LDggQEAgRFJJVkVSUyA9IHsNCiAgICAgImNhdml1bV9hMDM0IjogInRodW5k ZXItbmljdmYiLA0KICAgICAiY2F2aXVtXzAwMTEiOiAidGh1bmRlci1uaWN2ZiIsDQogICAgICJJ WEdCRV8xMEctWDU1MEVNX1hfU0ZQIjogIml4Z2JlIiwNCi0gICAgImNhdml1bV9hMDYzIjogIm9j dGVvbnR4Mi1uaWNwZiIsDQotICAgICJjYXZpdW1fYTA2NCI6ICJvY3Rlb250eDItbmljdmYiLA0K KyAgICAiY2F2aXVtX2EwNjMiOiAicnZ1X25pY3BmIiwNCisgICAgImNhdml1bV9hMDY0IjogInJ2 dV9uaWN2ZiIsDQoNCk9rYXkgZGlzcmVnYXJkIG15IGNvbW1lbnQgZnJvbSBhYm92ZSBhYm91dCBu aWN2ZiwgSSBzZWUgeW91J3ZlIGFkZGVkIGl0LiBQbGVhc2UgZG8gdXBkYXRlIHRoZSBjb21taXQg bWVzc2FnZSB0byByZWZsZWN0IHRoYXQgdGhpcyBpcyBpbmNsdWRlZC4gQW5kLCB3aGlsZSB5b3Un cmUgYXQgaXQsIHlvdSBjYW4gdXBkYXRlIHRoZSBjb21taXQgbWVzc2FnZSB0byBhY2NvcmQgd2l0 aCB0aGUgc3R5bGUgZ3VpZGVsaW5lcyBmb3Igc3VibWl0dGluZyBEUERLIHBhdGNoZXMgYXMgc2Vl biBoZXJlIG9uIHNlY3Rpb25zIDkuNiBhbmQgOS43IGh0dHBzOi8vZG9jLmRwZGsub3JnL2d1aWRl cy9jb250cmlidXRpbmcvcGF0Y2hlcy5odG1sPGh0dHBzOi8vdXJsZGVmZW5zZS5wcm9vZnBvaW50 LmNvbS92Mi91cmw/dT1odHRwcy0zQV9fZG9jLmRwZGsub3JnX2d1aWRlc19jb250cmlidXRpbmdf cGF0Y2hlcy5odG1sJmQ9RHdNRmFRJmM9bktqV2VjMmI2UjBtT3lQYXo3eHRmUSZyPVVsYW9jMUxp VGtFNVJHNjljTGtNYTdQOXhHVEwwclA2TG9zdURTOEtPZTQmbT15TVF1VHhpcnhsRHN3RU9nTXRE UmY2WmJLUDVXSHV3bWxDaDRMME9EMl9TUlRwRldOMTNyMm1IR2FWdzc5WWxkJnM9MHpPZEJtdEkw NmdnWVJMRzZoTTQyUEFOcFBDRE90d0ZtRno1RVdVS1ZBdyZlPT4NCg0KVGhpcyBjaGFuZ2UgbWVz c2FnZSBpcyBhbHJlYWR5IHBhcnQgb2YgdGhlIGNvbW1pdCBtZXNzYWdlLg0KUmVnYXJkaW5nIHRo ZSBzdHlsZSBndWlkZWxpbmUsIEkgaGF2ZSB0cmllZCB0byBpbmNvcnBvcmF0ZSBpbiB0aGUgdXBk YXRlZCBwYXRjaCwgcGxlYXNlIGhlbHAgbWUgaW4gY2FzZSBmdXJ0aGVyIGNoYW5nZXMgYXJlIG5l ZWRlZA0KDQoNCjopDQoNCiAgICAgIklDRV8xMDBHLUU4MTBDX1FTRlAiOiAiaWNlIiwNCiAgICAg IklDRV8yNUctRTgxMENfU0ZQIjogImljZSIsDQogICAgICJJQ0VfMjVHLUU4MjNDX1FTRlAiOiAi aWNlIiwNCmRpZmYgLS1naXQgYS9mcmFtZXdvcmsvc3NoX3BleHBlY3QucHkgYi9mcmFtZXdvcmsv c3NoX3BleHBlY3QucHkNCmluZGV4IDIxMzJjMDY2Li5hOTYwODdkMiAxMDA2NDQNCi0tLSBhL2Zy YW1ld29yay9zc2hfcGV4cGVjdC5weQ0KKysrIGIvZnJhbWV3b3JrL3NzaF9wZXhwZWN0LnB5DQpA QCAtMTg2LDcgKzE4Niw3IEBAIGNsYXNzIFNTSFBleHBlY3Q6DQoNCiAgICAgZGVmIGdldF9vdXRw dXRfYWxsKHNlbGYpOg0KICAgICAgICAgb3V0cHV0ID0gc2VsZi5zZXNzaW9uLmJlZm9yZQ0KLSAg ICAgICAgb3V0cHV0LnJlcGxhY2UoIltQRVhQRUNUXSIsICIiKQ0KKyAgICAgICAgb3V0cHV0ID0g b3V0cHV0LnJlcGxhY2UoIltQRVhQRUNUXSMiLCAiIikNCg0KU28sIHRoaXMgaXMganVzdCByZW1v dmluZyB0aGUgbGVhZGluZyAiIyIgZnJvbSB0aGUgb3V0cHV0PyBJJ20gbm90IHN1cmUgd2Ugc2hv dWxkIGJlIG1ha2luZyBzdHlsaW5nIGNoYW5nZXMgZm9yIGEgImRlcHJlY2F0ZWQiIHJlcG9zaXRv cnkuIElmIEkgbG9vayBhdCB0aGlzIGV4YW1wbGUgb3V0cHV0LCBmcm9tIG9uZSBvZiB0aGUgQ0kg cnVucyBvZiB0aGlzIHRlc3RzdWl0ZSBvbiBhIHF1aWNrYXNzaXN0IGNhcmQ6DQoNCiMgRGV2aWNl IDEgb24gbGNvcmUgNDANCg0KIyB0b3RhbCBvcGVyYXRpb25zOiAzMDAwMDAwMA0KIyBCdWZmZXIg c2l6ZTogMTAyNA0KIyBCdXJzdCBzaXplOiAzMg0KIyAgICAgTnVtYmVyIG9mIGJ1cnN0czogOTM3 NTAwDQojDQojICAgICAgICAgICAgICAgICBUb3RhbCAgIEF2ZXJhZ2UgICBNYXhpbXVtICAgTWlu aW11bQ0KIyAgZW5xdWV1ZWQgICAgMzAwMDAwMDAgICAgICAgIDMyICAgICAgICAzMiAgICAgICAg MzINCiMgIGRlcXVldWVkICAgIDMwMDAwMDAwICAgICAgICAzMiAgICAgICAgMzIgICAgICAgICAx DQojICAgIGN5Y2xlcyA5MTg5Mjg3NjYxMCAgICAgIDMwNjMgICAgMzA0NjI1ICAgICAgIDQ4NQ0K IyB0aW1lIFt1c10gIDM2NzU3MTUwNjQgICAxMjIuNTIwIDEyMTg1LjAwMCAgICAxOS40MDANCg0K SSBpbWFnaW5lIHRoZSBEVFMgbWFpbnRhaW5lcnMgd2VyZSBhd2FyZSBvZiB0aGlzIGFuZCB0aG91 Z2h0IGl0IHdhcyB0aGUgbW9zdCBjbGVhciB3YXkgdG8gcHJpbnQgdGhlIGxvZ3MuIEkgZG9uJ3Qg dGhpbmsgd2UgbmVlZCB0byBvdmVycmlkZSB0aGF0IGRlY2lzaW9uIG5vdy4NCg0KVGhpcyBpcyBu b3QgYSBzdHlsaW5nIGNoYW5nZS4NCm91dHB1dC5yZXBsYWNlIHdpbGwgbm90IHJlcGxhY2UgdGhl IHNwZWNpYWwgcHJvbXB0ICJbUEVYUEVDVF0iIGRpcmVjdGx5IG9uIHRoZSB2YXJpYWJsZS4NCm91 dHB1dCB2YXJpYWJsZSBuZWVkcyB0byBiZSBvdmVyd3JpdHRlbiB0byBoYXZlIHRoZSBvdXRwdXQg c3RyaXAgb2YgdGhlIHByb21wdCBbSSBhbSBvdmVyd3JpdGluZyBvdXRwdXQgXQ0Kc3BlY2lhbCBw cm9tcHQgdmFyaWFibGUgaXMgIltQRVhQRUNUXSMiLCBub3QgdGhlICJbUEVYUEVDVF0iLiBoZW5j ZSBvdXRwdXQgd2lsbCBoYXZlIHVud2FudGVkICIjIiBzdHJpbmcuDQrigILigILigILigILigILi gIINCg0KDQogICAgICAgICByZXR1cm4gb3V0cHV0DQoNCiAgICAgZGVmIGNsb3NlKHNlbGYsIGZv cmNlPUZhbHNlKToNCmRpZmYgLS1naXQgYS9uaWNzL25ldF9kZXZpY2UucHkgYi9uaWNzL25ldF9k ZXZpY2UucHkNCmluZGV4IDBmOWMxYWY0Li5kZDBkMGU5MiAxMDA2NDQNCi0tLSBhL25pY3MvbmV0 X2RldmljZS5weQ0KKysrIGIvbmljcy9uZXRfZGV2aWNlLnB5DQpAQCAtNDMsNiArNDMsNyBAQCBj bGFzcyBOZXREZXZpY2Uob2JqZWN0KToNCiAgICAgICAgIGlmIG5vdCBpc2luc3RhbmNlKGNyYiwg Q3JiKToNCiAgICAgICAgICAgICByYWlzZSBFeGNlcHRpb24oIiAgUGxlYXNlIGlucHV0IHRoZSBp bnN0YW5jZSBvZiBDcmIhISEiKQ0KICAgICAgICAgc2VsZi5jcmIgPSBjcmINCisgICAgICAgIHNl bGYuX19zZW5kX2V4cGVjdCA9IHNlbGYuY3JiLnNlbmRfZXhwZWN0DQogICAgICAgICBzZWxmLmRv bWFpbl9pZCA9IGRvbWFpbl9pZA0KICAgICAgICAgc2VsZi5idXNfaWQgPSBidXNfaWQNCiAgICAg ICAgIHNlbGYuZGV2ZnVuX2lkID0gZGV2ZnVuX2lkDQpAQCAtNzI3LDYgKzcyOCw4IEBAIGNsYXNz IE5ldERldmljZShvYmplY3QpOg0KICAgICAgICAgICAgICIvc3lzL2J1cy9wY2kvZGV2aWNlcy8l czolczolcyIgJSAoZG9tYWluX2lkLCBidXNfaWQsIGRldmZ1bl9pZCksDQogICAgICAgICAgICAg dmZfcmVnX2ZpbGUsDQogICAgICAgICApDQorICAgICAgICBzZWxmLl9fc2VuZF9leHBlY3QoImVj aG8gMCA+ICVzIiAlDQorICAgICAgICAgICAgICAgICAgICAgICAgICAgKHZmX3JlZ19wYXRoKSwg IiMgIikNCg0KU28sIHRoZSBwcmUtZXhpc3RpbmcgVkZzIG5lZWQgdG8gYmUgZGVzdHJveWVkIGJl Zm9yZSBhIG5ldyBzZXQgb2YgVkZzIGNhbiBiZSBjcmVhdGVkPyBEbyB5b3Uga25vdyBpZiB0aGlz IGlzIE1hcnZlbGwgc3BlY2lmaWMsIG9yIGEgdW5pdmVyc2FsIGJlaGF2aW9yPw0KDQpJIGFtIG5v dCBhd2FyZSBvZiB0aGUgb3RoZXIgYm9hcmRzLCBidXQgaXQgaXMgdGhlIGNsZWFuIHdheSBvZiBj cmVhdGluZyB0aGUgVkZzLg0KDQogICAgICAgICBzZWxmLl9fc2VuZF9leHBlY3QoImVjaG8gJWQg PiAlcyIgJSAoaW50KHZmX251bSksIHZmX3JlZ19wYXRoKSwgIiMgIikNCg0KICAgICBkZWYgZ2Vu ZXJhdGVfc3Jpb3ZfdmZzX2xpbnV4X2lnYl91aW8oc2VsZiwgZG9tYWluX2lkLCBidXNfaWQsIGRl dmZ1bl9pZCwgdmZfbnVtKToNCmRpZmYgLS1naXQgYS90ZXN0cy9UZXN0U3VpdGVfY3J5cHRvX3Bl cmZfY3J5cHRvZGV2X3BlcmYucHkgYi90ZXN0cy9UZXN0U3VpdGVfY3J5cHRvX3BlcmZfY3J5cHRv ZGV2X3BlcmYucHkNCmluZGV4IGEzZjQ4ZWVlLi5iNDM1Y2VmYSAxMDA2NDQNCi0tLSBhL3Rlc3Rz L1Rlc3RTdWl0ZV9jcnlwdG9fcGVyZl9jcnlwdG9kZXZfcGVyZi5weQ0KKysrIGIvdGVzdHMvVGVz dFN1aXRlX2NyeXB0b19wZXJmX2NyeXB0b2Rldl9wZXJmLnB5DQpAQCAtNTksMTQgKzU5LDc0IEBA IGNsYXNzIFRlc3RDcnlwdG9QZXJmQ3J5cHRvZGV2UGVyZihUZXN0Q2FzZSk6DQogICAgICAgICAg ICAgICAgICIjICIsDQogICAgICAgICAgICAgICAgIDUsDQogICAgICAgICAgICAgKQ0KLQ0KLSAg ICAgICAgY2MuYmluZF9xYXRfZGV2aWNlKHNlbGYsICJ2ZmlvLXBjaSIpDQorICAgICAgICBpZiBz ZWxmLm5pYyA9PSAiY2F2aXVtX2EwNjMiOg0KKyAgICAgICAgICAgIGNvdW50ID0gbGVuKHNlbGYu Z2V0X3N1aXRlX2NmZygpLmdldCgnbCcpLnNwbGl0KCIsIikpIC0gMQ0KKyAgICAgICAgICAgIGNj LmJpbmRfcWF0X2RldmljZShzZWxmLCAidmZpby1wY2kiLCBnZW5lcmF0ZV92ZnM9VHJ1ZSwgdmZf Y291bnQ9Y291bnQpDQorICAgICAgICBlbHNlOg0KKyAgICAgICAgICAgIGNjLmJpbmRfcWF0X2Rl dmljZShzZWxmLCAidmZpby1wY2kiKQ0KDQpJZiB3ZSBhcmUgZ29pbmcgdG8gdXNlIHRoaXMgZnVu Y3Rpb24gZm9yIG5vbi1RQVQgZGV2aWNlcywgY2FuIHdlIHBsZWFzZSB1cGRhdGUgdGhlIGZ1bmN0 aW9uIG5hbWUgdG8gcHJldmVudCBjb25mdXNpb24/IEl0IGxvb2tzIGxpa2UgaXQncyBhIHNob3J0 IGxpc3Q6DQoNCkFkZHJlc3NlZCB0aGlzIGluICB0aGUgdXBkYXRlZCBwYXRjaA0KDQpwcm9iYkBk MTIxMDAzOn4vcmVwb3MvZHRzPiBncmVwIC1yICJiaW5kX3FhdF9kIiAuDQouL3Rlc3RzL1Rlc3RT dWl0ZV9jb21wcmVzc2Rldl9xYXRfcG1kLnB5OiAgICAgICAgY2MuYmluZF9xYXRfZGV2aWNlKHNl bGYsIHNlbGYuZHJpdmVybmFtZSkNCi4vdGVzdHMvVGVzdFN1aXRlX2NyeXB0b19wZXJmX2NyeXB0 b2Rldl9wZXJmLnB5OiAgICAgICAgY2MuYmluZF9xYXRfZGV2aWNlKHNlbGYsICJ2ZmlvLXBjaSIp DQouL3Rlc3RzL1Rlc3RTdWl0ZV9maXBzX2NyeXB0b2Rldi5weTogICAgICAgIGNjLmJpbmRfcWF0 X2RldmljZShzZWxmLCAidmZpby1wY2kiKQ0KLi90ZXN0cy9UZXN0U3VpdGVfaXBzZWNfZ3dfY3J5 cHRvZGV2X2Z1bmMucHk6ICAgICAgICBjYy5iaW5kX3FhdF9kZXZpY2Uoc2VsZiwgc2VsZi5kcml2 ZXJuYW1lKQ0KLi90ZXN0cy9UZXN0U3VpdGVfbDJmd2RfY3J5cHRvZGV2X2Z1bmMucHk6ICAgICAg ICBjYy5iaW5kX3FhdF9kZXZpY2Uoc2VsZiwgc2VsZi5kcml2ZXJuYW1lKQ0KLi90ZXN0cy9UZXN0 U3VpdGVfdmlydGlvX2lwc2VjX2NyeXB0b2Rldl9mdW5jLnB5OiAgICAgICAgY2MuYmluZF9xYXRf ZGV2aWNlKHNlbGYsIHNlbGYuZHJpdmVybmFtZSkNCi4vdGVzdHMvVGVzdFN1aXRlX3ZpcnRpb19w ZXJmX2NyeXB0b2Rldl9mdW5jLnB5OiAgICAgICAgY2MuYmluZF9xYXRfZGV2aWNlKHNlbGYsIHNl bGYuZHJpdmVybmFtZSkNCi4vdGVzdHMvVGVzdFN1aXRlX3ZpcnRpb191bml0X2NyeXB0b2Rldl9m dW5jLnB5OiAgICAgICAgY2MuYmluZF9xYXRfZGV2aWNlKHNlbGYsIHNlbGYuZHJpdmVybmFtZSkN Ci4vdGVzdHMvY29tcHJlc3NfY29tbW9uLnB5OmRlZiBiaW5kX3FhdF9kZXZpY2UodGVzdF9jYXNl LCBkcml2ZXI9ImlnYl91aW8iKToNCi4vdGVzdHMvY3J5cHRvZGV2X2NvbW1vbi5weTpkZWYgYmlu ZF9xYXRfZGV2aWNlKHRlc3RfY2FzZSwgZHJpdmVyPSJpZ2JfdWlvIik6DQoNCg0KDQogICAgICAg ICBzcmNfZmlsZXMgPSBbImRlcC90ZXN0X2Flc19jYmMuZGF0YSIsICJkZXAvdGVzdF9hZXNfZ2Nt LmRhdGEiXQ0KICAgICAgICAgc2VsZi5kdXRfZmlsZV9kaXIgPSAiL3RtcCINCiAgICAgICAgIGZv ciBmaWxlIGluIHNyY19maWxlczoNCiAgICAgICAgICAgICBzZWxmLmR1dC5zZXNzaW9uLmNvcHlf ZmlsZV90byhmaWxlLCBzZWxmLmR1dF9maWxlX2RpcikNCg0KICAgICBkZWYgdGVhcl9kb3duX2Fs bChzZWxmKToNCisgICAgICAgIGlmIHNlbGYubmljID09ICJjYXZpdW1fYTA2MyI6DQorICAgICAg ICAgICAgY2MuYmluZF9xYXRfZGV2aWNlKHNlbGYsICJ2ZmlvLXBjaSIsIGdlbmVyYXRlX3Zmcz1U cnVlLA0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2Zl9jb3VudD0yKQ0KKyAgICAg ICAgICAgIGltcG9ydCBwYW5kYXMgYXMgcGQNCg0KSSBkb24ndCBoYXZlIGEgcHJvYmxlbSB3aXRo IHRoaXMsIGJ1dCBJJ20ganVzdCB3b25kZXJpbmcgd2h5IHRoaXMgaXMgaW1wb3J0ZWQgaGVyZSBh cyBvcHBvc2VkIHRvIHRoZSB0b3Agb2YgdGhlIGZpbGU/DQoNCndydCB0byBwYW5kYXMgaW1wb3J0 LCBhcyB3ZSBhcmUgZ2VuZXJhdGluZyB0aGlzIHJlcG9ydCBvbmx5IGluIE1hcnZlbGwgY2FzZS4g dGhpcyBpbXBvcnQgc2hvdWxkIG5vdCBhZmZlY3Qgb3RoZXJzDQoNCisgICAgICAgICAgICB0dXBs ZXMgPSBbKCdUZXN0Q2FzZScsKSwgKCdwZXJmb3JtYW5jZScsICdmYWlsZWRfZW5xJyksDQorICAg ICAgICAgICAgICAgICAgICAgICgncGVyZm9ybWFuY2UnLCAnZmFpbGVkX2RlcScpLA0KKyAgICAg ICAgICAgICAgICAgICAgICAoJ3BlcmZvcm1hbmNlJywgJ3Rocm91Z2hwdXRfbW9wcycpLA0KKyAg ICAgICAgICAgICAgICAgICAgICAoJ3BlcmZvcm1hbmNlJywgJ2N5Y2xlX2J1ZicpLA0KKyAgICAg ICAgICAgICAgICAgICAgICAoJ3BlcmZvcm1hbmNlJywgJ3Rocm91Z2hwdXQnLCAndmFsdWUnKSwN CisgICAgICAgICAgICAgICAgICAgICAgKCdwZXJmb3JtYW5jZScsICd0aHJvdWdocHV0JywgJ2Rl bHRhJyksDQorICAgICAgICAgICAgICAgICAgICAgICgncGFyYW1ldGVycycsICdjb3JlX251bS90 aHJlYWRfbnVtJyksDQorICAgICAgICAgICAgICAgICAgICAgICgncGFyYW1ldGVycycsICdmcmFt ZV9zaXplJyksDQorICAgICAgICAgICAgICAgICAgICAgICgncGFyYW1ldGVycycsICdidXJzdF9z aXplJyksDQorICAgICAgICAgICAgICAgICAgICAgICgncGFyYW1ldGVycycsICd0b3RhbF9vcHMn KSwgKCdzdGF0dXMnLCldDQorICAgICAgICAgICAgbWluZGV4ID0gcGQuTXVsdGlJbmRleC5mcm9t X3R1cGxlcyh0dXBsZXMpDQorICAgICAgICAgICAgaW5kZXggPSAwDQorICAgICAgICAgICAgZGYg PSBwZC5EYXRhRnJhbWUoW10sIGNvbHVtbnM9bWluZGV4KQ0KKyAgICAgICAgICAgIGZvciB0bmFt ZSwgZGF0YSBpbiBzZWxmLl9wZXJmX3Jlc3VsdC5pdGVtcygpOg0KKyAgICAgICAgICAgICAgICBm b3IgZHQgaW4gZGF0YToNCisgICAgICAgICAgICAgICAgICAgIGZvciBrZXksIHZhbHVlIGluIGR0 Lml0ZW1zKCk6DQorICAgICAgICAgICAgICAgICAgICAgICAgZGYubG9jW2luZGV4LCAnVGVzdENh c2UnXSA9IHRuYW1lDQorICAgICAgICAgICAgICAgICAgICAgICAgaWYga2V5ID09ICdzdGF0dXMn Og0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBkZi5sb2NbaW5kZXgsIChrZXkpXSA9IHZh bHVlDQorICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRpbnVlDQorICAgICAgICAgICAg ICAgICAgICAgICAgZm9yIGl0ZW0gaW4gdmFsdWU6DQorICAgICAgICAgICAgICAgICAgICAgICAg ICAgIGlmIGl0ZW1bJ25hbWUnXSA9PSAndGhyb3VnaHB1dCc6DQorICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBkZi5sb2NbaW5kZXgsIChrZXksIGl0ZW1bJ25hbWUnXSwgJ3ZhbHVlJyld ID0gaXRlbVsndmFsdWUnXQ0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGYubG9j W2luZGV4LCAoa2V5LCBpdGVtWyduYW1lJ10sICdkZWx0YScpXSA9IGl0ZW1bJ2RlbHRhJ10NCisg ICAgICAgICAgICAgICAgICAgICAgICAgICAgZWxzZToNCisgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIGRmLmxvY1tpbmRleCwgKGtleSwgaXRlbVsnbmFtZSddKV0gPSBpdGVtWyd2YWx1 ZSddDQorICAgICAgICAgICAgICAgICAgICBpbmRleCArPSAxDQorICAgICAgICAgICAgcGVyZl94 bCA9IHNlbGYubG9nZ2VyLmxvZ19wYXRoICsgIi8iICsgInBlcmZfY3J5cHRvZGV2X3Jlc3VsdC54 bHMiDQorICAgICAgICAgICAgd3JpdGVyID0gcGQuRXhjZWxXcml0ZXIocGVyZl94bCwgZW5naW5l PSd4bHN4d3JpdGVyJykNCisgICAgICAgICAgICB3YiAgPSB3cml0ZXIuYm9vaw0KKyAgICAgICAg ICAgIGRmLnRvX2V4Y2VsKHdyaXRlciwgc2hlZXRfbmFtZT0nU2hlZXQxJykNCisgICAgICAgICAg ICB3cyA9IHdyaXRlci5zaGVldHNbIlNoZWV0MSJdDQorICAgICAgICAgICAgbWVyZ2VfZm9ybWF0 ID0gd2IuYWRkX2Zvcm1hdCh7ImJvbGQiOiAxLCJib3JkZXIiOiAxLCJhbGlnbiI6ICJjZW50ZXIi LA0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWxpZ24iOiAi dmNlbnRlciJ9KQ0KKyAgICAgICAgICAgIHdzLm1lcmdlX3JhbmdlKCdCMTpCMycsICJUZXN0Q2Fz ZSIsIG1lcmdlX2Zvcm1hdCkNCisgICAgICAgICAgICB3cy5tZXJnZV9yYW5nZSgnQzI6QzMnLCAi ZmFpbGVkX2VucSIsIG1lcmdlX2Zvcm1hdCkNCisgICAgICAgICAgICB3cy5tZXJnZV9yYW5nZSgn RDI6RDMnLCAiZmFpbGVkX2RlcSIsIG1lcmdlX2Zvcm1hdCkNCisgICAgICAgICAgICB3cy5tZXJn ZV9yYW5nZSgnRTI6RTMnLCAidGhyb3VnaHB1dF9tb3BzIiwgbWVyZ2VfZm9ybWF0KQ0KKyAgICAg ICAgICAgIHdzLm1lcmdlX3JhbmdlKCdGMjpGMycsICJ0aHJvdWdocHV0X21vcHMiLCBtZXJnZV9m b3JtYXQpDQorICAgICAgICAgICAgd3MubWVyZ2VfcmFuZ2UoJ0kyOkkzJywgImNvcmVfbnVtL3Ro cmVhZF9udW0iLCBtZXJnZV9mb3JtYXQpDQorICAgICAgICAgICAgd3MubWVyZ2VfcmFuZ2UoJ0oy OkozJywgImZyYW1lX3NpemUiLCBtZXJnZV9mb3JtYXQpDQorICAgICAgICAgICAgd3MubWVyZ2Vf cmFuZ2UoJ0syOkszJywgImJ1cnN0X3NpemUiLCBtZXJnZV9mb3JtYXQpDQorICAgICAgICAgICAg d3MubWVyZ2VfcmFuZ2UoJ0wyOkwzJywgInRvdGFsX29wcyIsIG1lcmdlX2Zvcm1hdCkNCisgICAg ICAgICAgICB3cy5tZXJnZV9yYW5nZSgnTTE6TTMnLCAic3RhdHVzIiwgbWVyZ2VfZm9ybWF0KQ0K Kw0KKyAgICAgICAgICAgIGZvcm1hdDEgPSB3Yi5hZGRfZm9ybWF0KHsiYmdfY29sb3IiOiAiI0M2 RUZDRSIsICJmb250X2NvbG9yIjogIiMwMDYxMDAiLCAiYm9yZGVyIjogMX0pDQorICAgICAgICAg ICAgZm9ybWF0MiA9IHdiLmFkZF9mb3JtYXQoeyJiZ19jb2xvciI6ICIjRkZDN0NFIiwgImZvbnRf Y29sb3IiOiAiIzlDMDAwNiJ9KQ0KKyAgICAgICAgICAgIHdzLmNvbmRpdGlvbmFsX2Zvcm1hdCgi QjE6TTMiLCB7InR5cGUiOiAiY2VsbCIsICJjcml0ZXJpYSI6ICI+PSIsICJ2YWx1ZSI6IDAgLCAn Zm9ybWF0JzogZm9ybWF0Mn0pDQorICAgICAgICAgICAgY29uZGl0aW9uID0gJ0I1Ok0lcyclKDUr bGVuKGRmKS0xKQ0KKyAgICAgICAgICAgIHdzLmNvbmRpdGlvbmFsX2Zvcm1hdChjb25kaXRpb24s IHsndHlwZSc6ICdub19ibGFua3MnLCAnZm9ybWF0Jzpmb3JtYXQxfSkNCisgICAgICAgICAgICB3 cy5hdXRvZml0KCkNCisNCisgICAgICAgICAgICB3Yi5jbG9zZSgpDQogICAgICAgICBpZiBzZWxm Ll9wZXJmX3Jlc3VsdDoNCiAgICAgICAgICAgICB3aXRoIG9wZW4oDQogICAgICAgICAgICAgICAg IHNlbGYubG9nZ2VyLmxvZ19wYXRoICsgIi8iICsgInBlcmZfY3J5cHRvZGV2X3Jlc3VsdC5qc29u IiwgImEiDQpAQCAtMTc1LDEyICsyMzUsMTk3IEBAIGNsYXNzIFRlc3RDcnlwdG9QZXJmQ3J5cHRv ZGV2UGVyZihUZXN0Q2FzZSk6DQogICAgIGRlZiB0ZXN0X3NjaGVkdWxlcl96dWMoc2VsZik6DQog ICAgICAgICBzZWxmLl9ydW5fY3J5cHRvX3BlcmZfdGhyb3VnaHB1dCgpDQoNCisgICAgIyBNYXJ2 ZWxsIENOMTBLIFRlc3RjYXNlcw0KKyAgICBkZWYgX2NyeXB0b19mdW5jX2NuMTBrKHNlbGYpOg0K KyAgICAgICAgIiIiRnVuY3Rpb25hbCB0ZXN0cyBIZWxwZXINCisgICAgICAgIFJldHVybnM6DQor ICAgICAgICAgICBOb25lDQorICAgICAgICAiIiINCisgICAgICAgIHNlbGYuX3J1bl9jcnlwdG9f ZnVuYygpDQorDQorICAgIGRlZiBfY3J5cHRvX3BlcmZfY24xMGsoc2VsZik6DQorICAgICAgICAi IiJQZXJmIHRlc3RzIEhlbHBlciBmdW5jdGlvbg0KKyAgICAgICAgUmV0dXJuczoNCisgICAgICAg ICAgIE5vbmUNCisgICAgICAgICIiIg0KKyAgICAgICAgc2VsZi5fcnVuX2NyeXB0b19wZXJmX3Ro cm91Z2hwdXQoZXhwZWN0ZWQ9IiMgIiwNCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIHRyaW1fd2hpdGVzcGFjZT1GYWxzZSkNCisgICAgZGVmIHRlc3RfcGVyZl9tcnZs X2Flc19jYmMoc2VsZik6DQorICAgICAgICBzZWxmLl9jcnlwdG9fcGVyZl9jbjEwaygpDQorDQor ICAgIGRlZiB0ZXN0X3BlcmZfbXJ2bF9hZXNfZ2NtX2VuY3J5cHQoc2VsZik6DQorICAgICAgICBz ZWxmLl9jcnlwdG9fcGVyZl9jbjEwaygpDQorDQorICAgIGRlZiB0ZXN0X3BlcmZfbXJ2bF9hZXNf Y2JjX2NpcGhlcl90aGVuX2F1dGgoc2VsZik6DQorICAgICAgICBzZWxmLl9jcnlwdG9fcGVyZl9j bjEwaygpDQorDQorICAgIGRlZiB0ZXN0X3BlcmZfbXJ2bF9hZXNfc2hhMl8yNTZfY2lwaGVyX3Ro ZW5fYXV0aChzZWxmKToNCisgICAgICAgIHNlbGYuX2NyeXB0b19wZXJmX2NuMTBrKCkNCisNCisg ICAgZGVmIHRlc3RfcGVyZl9tcnZsX3p1Y19lZWEzX2NpcGhlcl9vbmx5KHNlbGYpOg0KKyAgICAg ICAgc2VsZi5fY3J5cHRvX3BlcmZfY24xMGsoKQ0KKw0KKyAgICBkZWYgdGVzdF9wZXJmX21ydmxf enVjX2VpYTNfYXV0aF9vbmx5KHNlbGYpOg0KKyAgICAgICAgc2VsZi5fY3J5cHRvX3BlcmZfY24x MGsoKQ0KKw0KKyAgICBkZWYgdGVzdF9wZXJmX21ydmxfYWVzX2dtYWNfYXV0aF9vbmx5KHNlbGYp Og0KKyAgICAgICAgc2VsZi5fY3J5cHRvX3BlcmZfY24xMGsoKQ0KKw0KKyAgICBkZWYgdGVzdF9w ZXJmX21ydmxfbnVsbF9jaXBoZXJfb25seShzZWxmKToNCisgICAgICAgIHNlbGYuX2NyeXB0b19w ZXJmX2NuMTBrKCkNCisNCisgICAgZGVmIHRlc3RfcGVyZl9tcnZsX3Nub3czZ191ZWEyX2NpcGhl cl9vbmx5KHNlbGYpOg0KKyAgICAgICAgc2VsZi5fY3J5cHRvX3BlcmZfY24xMGsoKQ0KKw0KKyAg ICBkZWYgdGVzdF9wZXJmX21ydmxfa2FzdW1pX2Y4X2NpcGhlcl9vbmx5KHNlbGYpOg0KKyAgICAg ICAgc2VsZi5fY3J5cHRvX3BlcmZfY24xMGsoKSAjRg0KKw0KKyAgICBkZWYgdGVzdF9wZXJmX21y dmxfc25vdzNnX3VpYTJfYXV0aF9vbmx5KHNlbGYpOg0KKyAgICAgICAgc2VsZi5fY3J5cHRvX3Bl cmZfY24xMGsoKQ0KKw0KKyAgICBkZWYgdGVzdF9wZXJmX21ydmxfa2FzdW1pX2Y5X2F1dGhfb25s eShzZWxmKToNCisgICAgICAgIHNlbGYuX2NyeXB0b19wZXJmX2NuMTBrKCkNCisNCisgICAgZGVm IHRlc3RfcGVyZl9tcnZsX3NoYTFfaG1hY19hdXRoX29ubHkoc2VsZik6DQorICAgICAgICBzZWxm Ll9jcnlwdG9fcGVyZl9jbjEwaygpDQorDQorICAgIGRlZiB0ZXN0X3BlcmZfbXJ2bF9zaGExX2F1 dGhfb25seShzZWxmKToNCisgICAgICAgIHNlbGYuX2NyeXB0b19wZXJmX2NuMTBrKCkNCisNCisg ICAgZGVmIHRlc3RfcGVyZl9tcnZsX2Flc19jdHJfY2lwaGVyX3RoZW5fYXV0aChzZWxmKToNCisg ICAgICAgIHNlbGYuX2NyeXB0b19wZXJmX2NuMTBrKCkNCisNCisgICAgZGVmIHRlc3RfcGVyZl9t cnZsX2Flc19jdHJfc25vd18zZ191aWEyX2NpcGhlcl90aGVuX2F1dGgoc2VsZik6DQorICAgICAg ICBzZWxmLl9jcnlwdG9fcGVyZl9jbjEwaygpDQorDQorICAgIGRlZiB0ZXN0X3BlcmZfbXJ2bF9h ZXNfY21hY19jaXBoZXJfdGhlbl9hdXRoKHNlbGYpOg0KKyAgICAgICAgc2VsZi5fY3J5cHRvX3Bl cmZfY24xMGsoKQ0KKw0KKyAgICBkZWYgdGVzdF9wZXJmX21ydmxfM2Rlc19jYmNfY2lwaGVyX3Ro ZW5fYXV0aChzZWxmKToNCisgICAgICAgIHNlbGYuX2NyeXB0b19wZXJmX2NuMTBrKCkNCisNCisg ICAgZGVmIHRlc3RfcGVyZl9tcnZsX3NoYTFfaG1hY19jaXBoZXJfdGhlbl9hdXRoKHNlbGYpOg0K KyAgICAgICAgc2VsZi5fY3J5cHRvX3BlcmZfY24xMGsoKQ0KKw0KKyAgICBkZWYgdGVzdF9wZXJm X21ydmxfc2hhMl8yMjRfaG1hY19jaXBoZXJfdGhlbl9hdXRoKHNlbGYpOg0KKyAgICAgICAgc2Vs Zi5fY3J5cHRvX3BlcmZfY24xMGsoKQ0KKw0KKyAgICBkZWYgdGVzdF9wZXJmX21ydmxfc2hhMl8y NTZfaG1hY19jaXBoZXJfdGhlbl9hdXRoKHNlbGYpOg0KKyAgICAgICAgc2VsZi5fY3J5cHRvX3Bl cmZfY24xMGsoKQ0KKw0KKyAgICBkZWYgdGVzdF9wZXJmX21ydmxfc2hhMl8zODRfaG1hY19jaXBo ZXJfdGhlbl9hdXRoKHNlbGYpOg0KKyAgICAgICAgc2VsZi5fY3J5cHRvX3BlcmZfY24xMGsoKQ0K Kw0KKyAgICBkZWYgdGVzdF9wZXJmX21ydmxfYWVzX2N0cl9zbm93XzNnX3VpYTJfY2lwaGVyX3Ro ZW5fYXV0aChzZWxmKToNCisgICAgICAgIHNlbGYuX2NyeXB0b19wZXJmX2NuMTBrKCkNCisNCisg ICAgZGVmIHRlc3RfcGVyZl9tcnZsX2Flc19jdHJfenVjX2VpYTNfY2lwaGVyX3RoZW5fYXV0aChz ZWxmKToNCisgICAgICAgIHNlbGYuX2NyeXB0b19wZXJmX2NuMTBrKCkNCisNCisgICAgZGVmIHRl c3RfcGVyZl9tcnZsX2Flc19jdHJfYWVzX2NtYWNfY2lwaGVyX3RoZW5fYXV0aChzZWxmKToNCisg ICAgICAgIHNlbGYuX2NyeXB0b19wZXJmX2NuMTBrKCkNCisNCisgICAgZGVmIHRlc3RfcGVyZl9t cnZsX3p1Y19lZWEzX3Nub3czZ191aWEyX2NpcGhlcl90aGVuX2F1dGgoc2VsZik6DQorICAgICAg ICBzZWxmLl9jcnlwdG9fcGVyZl9jbjEwaygpDQorDQorICAgIGRlZiB0ZXN0X3BlcmZfbXJ2bF96 dWNfZWVhM196dWNfZWlhM19jaXBoZXJfdGhlbl9hdXRoKHNlbGYpOg0KKyAgICAgICAgc2VsZi5f Y3J5cHRvX3BlcmZfY24xMGsoKQ0KKw0KKyAgICBkZWYgdGVzdF9wZXJmX21ydmxfenVjX2VlYTNf YWVzX2NtYWNfY2lwaGVyX3RoZW5fYXV0aChzZWxmKToNCisgICAgICAgIHNlbGYuX2NyeXB0b19w ZXJmX2NuMTBrKCkNCisNCisgICAgZGVmIHRlc3RfcGVyZl9tcnZsX3Nub3czZ191ZWEyX3Nub3cz Z191aWEyX2NpcGhlcl90aGVuX2F1dGgoc2VsZik6DQorICAgICAgICBzZWxmLl9jcnlwdG9fcGVy Zl9jbjEwaygpDQorDQorICAgIGRlZiB0ZXN0X3BlcmZfbXJ2bF9zbm93M2dfdWVhMl96dWNfZWlh M19jaXBoZXJfdGhlbl9hdXRoKHNlbGYpOg0KKyAgICAgICAgc2VsZi5fY3J5cHRvX3BlcmZfY24x MGsoKQ0KKw0KKyAgICBkZWYgdGVzdF9wZXJmX21ydmxfc25vdzNnX3VlYTJfYWVzX2NtYWNfY2lw aGVyX3RoZW5fYXV0aChzZWxmKToNCisgICAgICAgIHNlbGYuX2NyeXB0b19wZXJmX2NuMTBrKCkN CisNCisgICAgZGVmIHRlc3RfcGVyZl9tcnZsX21kNV9obWFjX2F1dGhfb25seShzZWxmKToNCisg ICAgICAgIHNlbGYuX2NyeXB0b19wZXJmX2NuMTBrKCkNCisNCisgICAgZGVmIHRlc3RfcGVyZl9t cnZsX2Flc19jdHJfY2lwaGVyX29ubHkoc2VsZik6DQorICAgICAgICBzZWxmLl9jcnlwdG9fcGVy Zl9jbjEwaygpDQorDQorICAgIGRlZiB0ZXN0X3BlcmZfbXJ2bF8zZGVzX2NiY19jaXBoZXJfb25s eShzZWxmKToNCisgICAgICAgIHNlbGYuX2NyeXB0b19wZXJmX2NuMTBrKCkNCisNCisgICAgZGVm IHRlc3RfcGVyZl9tcnZsX3NoYTJfMjI0X2htYWNfYXV0aF9vbmx5KHNlbGYpOg0KKyAgICAgICAg c2VsZi5fY3J5cHRvX3BlcmZfY24xMGsoKQ0KKw0KKyAgICBkZWYgdGVzdF9wZXJmX21ydmxfc2hh Ml8yNTZfaG1hY19hdXRoX29ubHkoc2VsZik6DQorICAgICAgICBzZWxmLl9jcnlwdG9fcGVyZl9j bjEwaygpDQorDQorICAgIGRlZiB0ZXN0X3BlcmZfbXJ2bF9zaGEyXzM4NF9obWFjX2F1dGhfb25s eShzZWxmKToNCisgICAgICAgIHNlbGYuX2NyeXB0b19wZXJmX2NuMTBrKCkNCisNCisgICAgZGVm IHRlc3RfcGVyZl9tcnZsX3NoYTJfNTEyX2htYWNfYXV0aF9vbmx5KHNlbGYpOg0KKyAgICAgICAg c2VsZi5fY3J5cHRvX3BlcmZfY24xMGsoKQ0KKw0KKyAgICBkZWYgdGVzdF9wZXJmX21ydmxfYWVz X3h0c19fY2lwaGVyX29ubHkoc2VsZik6DQorICAgICAgICBzZWxmLl9jcnlwdG9fcGVyZl9jbjEw aygpDQorDQorICAgIGRlZiB0ZXN0X3BlcmZfbXJ2bF9kZXNfY2JjX2NpcGhlcl9vbmx5KHNlbGYp Og0KKyAgICAgICAgc2VsZi5fY3J5cHRvX3BlcmZfY24xMGsoKQ0KKw0KKyAgICBkZWYgdGVzdF9w ZXJmX21ydmxfbWQ1X2F1dGhfb25seShzZWxmKToNCisgICAgICAgIHNlbGYuX2NyeXB0b19wZXJm X2NuMTBrKCkNCisNCisgICAgZGVmIHRlc3RfcGVyZl9tcnZsX3NoYTUxMl9hdXRoX29ubHkoc2Vs Zik6DQorICAgICAgICBzZWxmLl9jcnlwdG9fcGVyZl9jbjEwaygpDQorDQorICAgIGRlZiB0ZXN0 X3BlcmZfbXJ2bF9zaGEzODRfYXV0aF9vbmx5KHNlbGYpOg0KKyAgICAgICAgc2VsZi5fY3J5cHRv X3BlcmZfY24xMGsoKQ0KKw0KKyAgICBkZWYgdGVzdF9wZXJmX21ydmxfc2hhMjU2X2F1dGhfb25s eShzZWxmKToNCisgICAgICAgIHNlbGYuX2NyeXB0b19wZXJmX2NuMTBrKCkNCisNCisgICAgZGVm IHRlc3RfcGVyZl9tcnZsX3NoYTIyNF9hdXRoX29ubHkoc2VsZik6DQorICAgICAgICBzZWxmLl9j cnlwdG9fcGVyZl9jbjEwaygpDQorDQorICAgIGRlZiB0ZXN0X3BlcmZfbXJ2bF9zbm93M2dfdWVh Ml9zbm93M2dfdWlhMihzZWxmKToNCisgICAgICAgIHNlbGYuX2NyeXB0b19wZXJmX2NuMTBrKCkN CisNCisgICAgZGVmIHRlc3RfcGVyZl9tcnZsX3NoYTFfaG1hY19hcm12OChzZWxmKToNCisgICAg ICAgIHNlbGYuX2NyeXB0b19wZXJmX2NuMTBrKCkNCisNCisgICAgZGVmIHRlc3RfcGVyZl9tcnZs X3NoYTJfaG1hY19hcm12OChzZWxmKToNCisgICAgICAgIHNlbGYuX2NyeXB0b19wZXJmX2NuMTBr KCkNCisNCisgICAgZGVmIHRlc3RfbXJ2bF9wdGVzdChzZWxmKToNCisgICAgICAgIHNlbGYuX2Ny eXB0b19mdW5jX2NuMTBrKCkNCisNCisgICAgZGVmIHRlc3RfbXJ2bF9idXJzdChzZWxmKToNCisg ICAgICAgIHNlbGYuX2NyeXB0b19mdW5jX2NuMTBrKCkNCisNCisgICAgZGVmIHRlc3RfbXJ2bF9k ZXZ0eXBlKHNlbGYpOg0KKyAgICAgICAgc2VsZi5fY3J5cHRvX2Z1bmNfY24xMGsoKQ0KKw0KKyAg ICBkZWYgdGVzdF9tcnZsX2NyeXB0b19zaGExX2htYWNfYXJtdjgoc2VsZik6DQorICAgICAgICBz ZWxmLl9jcnlwdG9fZnVuY19jbjEwaygpDQorDQorICAgIGRlZiB0ZXN0X21ydmxfY2hhY2hhMjBf cG9seTEzMDVfYWVhZChzZWxmKToNCisgICAgICAgIHNlbGYuX2NyeXB0b19mdW5jX2NuMTBrKCkN CisNCisgICAgZGVmIHRlc3RfbXJ2bF9jcnlwdG9fc2hhMl9obWFjX2FybXY4KHNlbGYpOg0KKyAg ICAgICAgc2VsZi5fY3J5cHRvX2Z1bmNfY24xMGsoKQ0KKw0KKyAgICBkZWYgdGVzdF9tcnZsX2J1 ZmZlcihzZWxmKToNCisgICAgICAgIHNlbGYuX2NyeXB0b19mdW5jX2NuMTBrKCkNCisNCiAgICAg IyBQcml2YXRlIGZ1bmN0aW9ucw0KICAgICBkZWYgX3J1bl9jcnlwdG9fZnVuYyhzZWxmKToNCisg ICAgICAgICIiIiBSdW5zIENyeXB0byBmdW5jdGlvbmFsIHRlc3QuDQorICAgICAgICBSZXR1cm5z Og0KKyAgICAgICAgICAgIE5vbmUNCisgICAgICAgICIiIg0KKw0KICAgICAgICAgaWYgY2MuaXNf dGVzdF9za2lwKHNlbGYpOg0KICAgICAgICAgICAgIHJldHVybg0KLQ0KLSAgICAgICAgY29yZXMg PSAiLCIuam9pbihzZWxmLmR1dC5nZXRfY29yZV9saXN0KCIxUy8yQy8xVCIpKQ0KKyAgICAgICAg Y29yZV9saXN0ID0gc2VsZi5nZXRfc3VpdGVfY2ZnKCkuZ2V0KCdjb3JlX2xpc3QnLCIxUy8yQy8x VCIpDQorICAgICAgICBjb3JlcyA9ICIsIi5qb2luKHNlbGYuZHV0LmdldF9jb3JlX2xpc3QoY29y ZV9saXN0KSkNCiAgICAgICAgIGNvbmZpZyA9IHsibCI6IGNvcmVzfQ0KICAgICAgICAgZGV2aWNl cyA9IHNlbGYuX2dldF9jcnlwdG9fZGV2aWNlKDEpDQogICAgICAgICBpZiBub3QgZGV2aWNlczoN CkBAIC0yMDYsMTIgKzQ1MSwyMiBAQCBjbGFzcyBUZXN0Q3J5cHRvUGVyZkNyeXB0b2RldlBlcmYo VGVzdENhc2UpOg0KDQogICAgICAgICBvdXQgPSBzZWxmLmR1dC5zZW5kX2NvbW1hbmQoDQogICAg ICAgICAgICAgImNhdCAlcy8lcy50eHQiICUgKHNlbGYuZHV0X2ZpbGVfZGlyLCBzZWxmLnJ1bm5p bmdfY2FzZSksIDMwDQotICAgICAgICApDQotDQorICAgICAgICApLnN0cmlwKCkNCiAgICAgICAg IHNlbGYudmVyaWZ5KCJFcnJvciIgbm90IGluIG91dCwgIlRlc3QgZnVuY3Rpb24gZmFpbGVkIikN CiAgICAgICAgIHNlbGYudmVyaWZ5KCJmYWlsZWQiIG5vdCBpbiBvdXQsICJUZXN0IGZ1bmN0aW9u IGZhaWxlZCIpDQotDQotICAgIGRlZiBfcnVuX2NyeXB0b19wZXJmKHNlbGYpOg0KKyAgICAgICAg YXNzZXJ0IChvdXQgIT0gIiIpLCAiTm8gb3V0cHV0Ig0KKw0KKyAgICBkZWYgX3J1bl9jcnlwdG9f cGVyZihzZWxmLCAqKmt3YXJncyk6DQorICAgICAgICAiIiIgUnVucyBDcnlwdG8gUGVyZm9ybWFu Y2UgdGVzdC4NCisgICAgICAgIEFyZ3M6DQorICAgICAgICAgICoqa3dhcmdzOg0KKyAgICAgICAg ICAgICAgZXhwZWN0ZWQ6IHNlbmRfZXhwZWN0IG1hdGNoIHByb21wdA0KKyAgICAgICAgICAgICAg dHJpbV93aGl0ZXNwYWNlOiB0cmltZSB3aGl0ZXNwYWNlIGZyb20gY29tbWFuZCBvdXRwdXQNCisg ICAgICAgIFJldHVybnM6DQorICAgICAgICAgICAgTm9uZQ0KKyAgICAgICAgIiIiDQorICAgICAg ICBleHBlY3RlZCA9IGt3YXJncy5nZXQoImV4cGVjdGVkIiwgIiMiKQ0KKyAgICAgICAgdHJpbV93 aGl0ZXNwYWNlID0ga3dhcmdzLmdldCgidHJpbV93aGl0ZXNwYWNlIiwgVHJ1ZSkNCiAgICAgICAg IGlmIGNjLmlzX3Rlc3Rfc2tpcChzZWxmKToNCiAgICAgICAgICAgICByZXR1cm4gInNraXAiDQoN CkBAIC0yMjIsMTMgKzQ3NywxNCBAQCBjbGFzcyBUZXN0Q3J5cHRvUGVyZkNyeXB0b2RldlBlcmYo VGVzdENhc2UpOg0KICAgICAgICAgICAgIHJldHVybiAic2tpcCINCg0KICAgICAgICAgZWFsX29w dF9zdHIgPSBjYy5nZXRfZWFsX29wdF9zdHIoc2VsZiwgZGV2aWNlcykNCi0gICAgICAgIGNyeXB0 b19wZXJmX29wdF9zdHIgPSBzZWxmLl9nZXRfY3J5cHRvX3BlcmZfb3B0X3N0cigpDQorICAgICAg ICBjcnlwdG9fcGVyZl9vcHRfc3RyID0gc2VsZi5fZ2V0X2NyeXB0b19wZXJmX29wdF9zdHIoKipr d2FyZ3MpDQoNCiAgICAgICAgIGNtZF9zdHIgPSBjYy5nZXRfZHBka19hcHBfY21kX3N0cigNCiAg ICAgICAgICAgICBzZWxmLl9hcHBfcGF0aCwgZWFsX29wdF9zdHIsIGNyeXB0b19wZXJmX29wdF9z dHINCiAgICAgICAgICkNCiAgICAgICAgIHRyeToNCi0gICAgICAgICAgICBvdXQgPSBzZWxmLmR1 dC5zZW5kX2V4cGVjdChjbWRfc3RyLCAiIyIsIDYwMCkNCisgICAgICAgICAgICBvdXQgPSBzZWxm LmR1dC5zZW5kX2V4cGVjdChjbWRfc3RyLCBleHBlY3RlZCwgNjAwLA0KKyAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIHRyaW1fd2hpdGVzcGFjZT10cmltX3doaXRlc3BhY2Up DQogICAgICAgICBleGNlcHQgRXhjZXB0aW9uIGFzIGV4Og0KICAgICAgICAgICAgIHNlbGYubG9n Z2VyLmVycm9yKGV4KQ0KICAgICAgICAgICAgIHJhaXNlIGV4DQpAQCAtMjM3LDI1ICs0OTMsNDQg QEAgY2xhc3MgVGVzdENyeXB0b1BlcmZDcnlwdG9kZXZQZXJmKFRlc3RDYXNlKToNCg0KICAgICAg ICAgcmV0dXJuIHJlc3VsdHMNCg0KLSAgICBkZWYgX2dldF9jcnlwdG9fcGVyZl9vcHRfc3RyKHNl bGYsIG92ZXJyaWRlX2NyeXB0b19wZXJmX29wdHM9e30pOg0KKyAgICBkZWYgX2dldF9jcnlwdG9f cGVyZl9vcHRfc3RyKHNlbGYsICoqa3dhcmdzKToNCisgICAgICAgICIiImdldCBjcnlwdG8gcGVy ZiBhcHAgb3B0aW9uIHN0cmluZw0KKyAgICAgICAgYXJnczoNCisgICAgICAgICAgICAqKmt3YXJn czoNCisgICAgICAgICAgICAgICAgb3ZlcnJpZGVfY3J5cHRvX3BlcmZfb3B0cy0gU3VpdGUvQ2Fz ZSBzcGVjZmljIHBlcmYNCisgICAgICAgICAgICAgICAgYXBwIGNvbmZpZyB0byBvdmVyd3JpdGUg ZGVmYXVsdHMNCisgICAgICAgIFJldHVybnM6DQorICAgICAgICAgICAgY3J5cHRvIHBlcmYgb3B0 aW9uIHN0cmluZw0KKyAgICAgICAgIiIiDQorICAgICAgICBvdmVycmlkZV9jcnlwdG9fcGVyZl9v cHRzID0ga3dhcmdzLmdldCgib3ZlcnJpZGVfY3J5cHRvX3BlcmZfb3B0cyIsIHt9KQ0KICAgICAg ICAgcmV0dXJuIGNjLmdldF9vcHRfc3RyKA0KICAgICAgICAgICAgIHNlbGYsIHNlbGYuX2RlZmF1 bHRfY3J5cHRvX3BlcmZfb3B0cywgb3ZlcnJpZGVfY3J5cHRvX3BlcmZfb3B0cw0KICAgICAgICAg KQ0KDQogICAgIGRlZiBfcGFyc2Vfb3V0cHV0KHNlbGYsIG91dHB1dCk6DQogICAgICAgICB0cnk6 DQorICAgICAgICAgICAgZHR5cGUgPSBzZWxmLmdldF9jYXNlX2NmZygpLmdldCgnZGV2dHlwZScp DQorICAgICAgICAgICAgbWF0Y2hfc3RyID0gciIgICAgbGNvcmUgaWR8I2xjb3JlIGlkIg0KICAg ICAgICAgICAgIGxpbmVzID0gb3V0cHV0LnNwbGl0KCJcclxuIikNCiAgICAgICAgICAgICBsaW5l X25iID0gbGVuKGxpbmVzKQ0KICAgICAgICAgICAgIHNlbGYubG9nZ2VyLmRlYnVnKCJUb3RhbCBv dXRwdXQgbGluZXM6ICIgKyBzdHIobGluZV9uYikpDQoNCiAgICAgICAgICAgICBmb3IgbGluZV9p bmRleCBpbiByYW5nZShsaW5lX25iKToNCi0gICAgICAgICAgICAgICAgaWYgbGluZXNbbGluZV9p bmRleF0uc3RhcnRzd2l0aCgiICAgIGxjb3JlIGlkIik6DQorICAgICAgICAgICAgICAgIGlmIHJl Lm1hdGNoKG1hdGNoX3N0ciwgbGluZXNbbGluZV9pbmRleF0pOg0KICAgICAgICAgICAgICAgICAg ICAgc2VsZi5sb2dnZXIuZGVidWcoImRhdGEgb3V0cHV0IGxpbmUgZnJvbTogIiArIHN0cihsaW5l X2luZGV4KSkNCiAgICAgICAgICAgICAgICAgICAgIGJyZWFrDQotICAgICAgICAgICAgZGF0YV9s aW5lID0gbGluZV9pbmRleCAtIDENCisgICAgICAgICAgICBpZiBkdHlwZSA9PSAnY3J5cHRvX2Nu MTBrJzoNCisgICAgICAgICAgICAgICAgZGF0YV9saW5lID0gbGluZV9pbmRleCArIDINCisgICAg ICAgICAgICBlbHNlOg0KKyAgICAgICAgICAgICAgICBkYXRhX2xpbmUgPSBsaW5lX2luZGV4IC0g MQ0KKw0KKyAgICAgICAgICAgIGlmIGxlbihsaW5lc1tkYXRhX2xpbmVdLnNwbGl0KCIsIikpPjE6 DQorICAgICAgICAgICAgICAgIHBhdHRlcm4gPSByZS5jb21waWxlKHInLCcpDQorICAgICAgICAg ICAgZWxzZToNCisgICAgICAgICAgICAgICAgcGF0dGVybiA9IHJlLmNvbXBpbGUocidccysnKQ0K DQogICAgICAgICAgICAgcmVzdWx0cyA9IFtdDQotICAgICAgICAgICAgcGF0dGVybiA9IHJlLmNv bXBpbGUociJccysiKQ0KKw0KICAgICAgICAgICAgIGZvciBsaW5lIGluIGxpbmVzW2RhdGFfbGlu ZTotMV06DQogICAgICAgICAgICAgICAgIHByaW50KGxpbmUpDQogICAgICAgICAgICAgICAgIHJl c3VsdCA9IHt9DQpAQCAtMzM0LDkgKzYwOSwxNSBAQCBjbGFzcyBUZXN0Q3J5cHRvUGVyZkNyeXB0 b2RldlBlcmYoVGVzdENhc2UpOg0KICAgICAgICAgICAgIGNwdV9pbmZvW2tleV0gPSB2YWx1ZS5z dHJpcCgpDQogICAgICAgICBjb3JlLCB0aHJlYWQgPSAwLCAwDQogICAgICAgICBsY29yZXMgPSBz ZWxmLmdldF9jYXNlX2NmZygpWyJsIl0uc3BsaXQoIiwiKQ0KKyAgICAgICAgaWYgJ0NvcmUocykg cGVyIGNsdXN0ZXInIGluIG91dDoNCisgICAgICAgICAgICBjbF9zb2MxID0gJ0NvcmUocykgcGVy IGNsdXN0ZXInDQorICAgICAgICAgICAgY2xfc29jMiA9ICdDbHVzdGVyKHMpJw0KKyAgICAgICAg ZWxzZToNCisgICAgICAgICAgICBjbF9zb2MxID0gJ0NvcmUocykgcGVyIHNvY2tldCcNCisgICAg ICAgICAgICBjbF9zb2MyID0gJ1NvY2tldChzKScNCiAgICAgICAgIGZvciBsY29yZSBpbiBsY29y ZXNbMTpdOg0KLSAgICAgICAgICAgIGlmIGludChsY29yZS5zdHJpcCgpKSA8IGludChjcHVfaW5m b1siQ29yZShzKSBwZXIgc29ja2V0Il0pICogaW50KA0KLSAgICAgICAgICAgICAgICBjcHVfaW5m b1siU29ja2V0KHMpIl0NCisgICAgICAgICAgICBpZiBpbnQobGNvcmUuc3RyaXAoKSkgPCBpbnQo Y3B1X2luZm9bY2xfc29jMV0pICogaW50KA0KKyAgICAgICAgICAgICAgICBjcHVfaW5mb1tjbF9z b2MyXQ0KICAgICAgICAgICAgICk6DQogICAgICAgICAgICAgICAgIGNvcmUgKz0gMQ0KICAgICAg ICAgICAgICAgICB0aHJlYWQgKz0gMQ0KQEAgLTM2Miw2ICs2NDMsMTEgQEAgY2xhc3MgVGVzdENy eXB0b1BlcmZDcnlwdG9kZXZQZXJmKFRlc3RDYXNlKToNCiAgICAgICAgICAgICBkZXYgPSAiY3J5 cHRvX3Nub3czZyINCiAgICAgICAgIGVsaWYgc2VsZi5nZXRfY2FzZV9jZmcoKVsiZGV2dHlwZSJd ID09ICJjcnlwdG9fenVjIjoNCiAgICAgICAgICAgICBkZXYgPSAiY3J5cHRvX3p1YyINCisgICAg ICAgIGVsaWYgc2VsZi5nZXRfY2FzZV9jZmcoKVsiZGV2dHlwZSJdID09ICJjcnlwdG9fY24xMGsi Og0KKyAgICAgICAgICAgIGRldiA9ICJjcnlwdG9fY24xMGsiDQorICAgICAgICAgICAgdmYgPSBj Yy5nZXRfcWF0X2RldmljZXMoc2VsZiwgY3BtX251bT0xLCBudW09bnVtKQ0KKyAgICAgICAgICAg IGRldmljZVsiYSJdID0gJyAtYSAnLmpvaW4odmYpDQorICAgICAgICAgICAgZGV2aWNlWyJ2ZGV2 Il0gPSBOb25lDQogICAgICAgICBlbGlmIHNlbGYuZ2V0X2Nhc2VfY2ZnKClbImRldnR5cGUiXSA9 PSAiY3J5cHRvX3NjaGVkdWxlciI6DQogICAgICAgICAgICAgZGV2ID0gImNyeXB0b19zY2hlZHVs ZXIiDQogICAgICAgICAgICAgdyA9IGNjLmdldF9xYXRfZGV2aWNlcyhzZWxmLCBjcG1fbnVtPTMs IG51bT1udW0gKiAzKQ0KQEAgLTM4OCw4ICs2NzQsOCBAQCBjbGFzcyBUZXN0Q3J5cHRvUGVyZkNy eXB0b2RldlBlcmYoVGVzdENhc2UpOg0KDQogICAgICAgICByZXR1cm4gZGV2aWNlDQoNCi0gICAg ZGVmIF9ydW5fY3J5cHRvX3BlcmZfdGhyb3VnaHB1dChzZWxmKToNCi0gICAgICAgIHJlc3VsdHMg PSBzZWxmLl9ydW5fY3J5cHRvX3BlcmYoKQ0KKyAgICBkZWYgX3J1bl9jcnlwdG9fcGVyZl90aHJv dWdocHV0KHNlbGYsICoqa3dhcmdzKToNCisgICAgICAgIHJlc3VsdHMgPSBzZWxmLl9ydW5fY3J5 cHRvX3BlcmYoKiprd2FyZ3MpDQogICAgICAgICBpZiByZXN1bHRzID09ICJza2lwIjoNCiAgICAg ICAgICAgICByZXR1cm4NCiAgICAgICAgIHNlbGYudmVyaWZ5KHJlc3VsdHMsICJ0ZXN0IHJlc3Vs dHMgaXMgbm9uZSwgVGVzdCBGYWlsZWQiKQ0KZGlmZiAtLWdpdCBhL3Rlc3RzL2NyeXB0b2Rldl9j b21tb24ucHkgYi90ZXN0cy9jcnlwdG9kZXZfY29tbW9uLnB5DQppbmRleCBiNTUwYjQ2OC4uOTEw NjdiMDUgMTAwNjQ0DQotLS0gYS90ZXN0cy9jcnlwdG9kZXZfY29tbW9uLnB5DQorKysgYi90ZXN0 cy9jcnlwdG9kZXZfY29tbW9uLnB5DQpAQCAtOCw3ICs4LDkgQEAgZnJvbSBuaWNzLm5ldF9kZXZp Y2UgaW1wb3J0IEdldE5pY09iag0KIGNvbmYgPSBTdWl0ZUNvbmYoImNyeXB0b2Rldl9zYW1wbGUi KQ0KDQoNCi1kZWYgYmluZF9xYXRfZGV2aWNlKHRlc3RfY2FzZSwgZHJpdmVyPSJpZ2JfdWlvIik6 DQorZGVmIGJpbmRfcWF0X2RldmljZSh0ZXN0X2Nhc2UsIGRyaXZlcj0iaWdiX3VpbyIsIGdlbmVy YXRlX3Zmcz1GYWxzZSwNCisgICAgICAgICAgICAgICAgICAgIHZmX2NvdW50PTIsIGRydnJfdHlw ZT0nZ2VuZXJpYycpOg0KKw0KICAgICBpZiBkcml2ZXIgPT0gInZmaW8tcGNpIjoNCiAgICAgICAg IHRlc3RfY2FzZS5kdXQuc2VuZF9leHBlY3QoIm1vZHByb2JlIHZmaW8iLCAiIyIsIDEwKQ0KICAg ICAgICAgdGVzdF9jYXNlLmR1dC5zZW5kX2V4cGVjdCgibW9kcHJvYmUgdmZpby1wY2kiLCAiIyIs IDEwKQ0KQEAgLTM4LDYgKzQwLDggQEAgZGVmIGJpbmRfcWF0X2RldmljZSh0ZXN0X2Nhc2UsIGRy aXZlcj0iaWdiX3VpbyIpOg0KICAgICAgICAgZGV2ZnVuX2lkID0gYWRkcl9hcnJheVsyXQ0KICAg ICAgICAgcGZfcG9ydCA9IEdldE5pY09iaih0ZXN0X2Nhc2UuZHV0LCBkb21haW5faWQsIGJ1c19p ZCwgZGV2ZnVuX2lkKQ0KDQorICAgICAgICBpZiBnZW5lcmF0ZV92ZnM6DQorICAgICAgICAgICAg cGZfcG9ydC5nZW5lcmF0ZV9zcmlvdl92ZnNfbGludXgoZG9tYWluX2lkLCBidXNfaWQsIGRldmZ1 bl9pZCwgdmZfY291bnQsIGRydnJfdHlwZSkNCg0KSXMgdGhpcyBkaWZmZXJlbnQgZnJvbSBjYWxs aW5nIGdlbmVyYXRlX3NyaW92X3ZmcygpLCB3aGljaCBJIGFzc3VtZSBpcyB0aGUgImNvcnJlY3Qi IGJlaGF2aW9yLiBUaGVyZSBhcHBlYXJzIHRvIGJlIGEgY29tbW9uIHByYWN0aWNlIGluIGxlZ2Fj eSBEVFMgb2YgdGVtcGxhdGluZyBvdXQgZnVuY3Rpb24gbmFtZXMgdG8gY2FsbCBpbnN0ZWFkIG9m IHVzaW5nIGluaGVyaXRhbmNlLCBzbyB5b3Ugd2lsbCBoYXZlIGEgYmFzZSBmdW5jdGlvbiBsaWtl IGJpbmRfcG9ydCgpLCBhbmQgdGhlbiB0aGF0IHRlbXBsYXRlcyBvdXQgY2FsbHMgdG8gYmluZF9w b3J0X2xpbnV4KCkuIGJpbmRfcG9ydF9mcmVlYnNkKCksIGJpbmRfcG9ydF93aW5kb3dzKCkgZXRj LiBJdCdzIGEgbGl0dGxlIHN0cmFuZ2UgYnV0IGl0IGlzIHdoYXQgaXQgaXMgYW5kIHdlIHNob3Vs ZCBwcm9iYWJseSBzdGljayB3aXRoIHRoZSBleGlzdGluZyBzeXN0ZW0gaWYgd2UgYXJlIGdvaW5n IHRvIG1ha2UgYWRkaXRpb25zLiBCdXQsIGlmIHRoZXJlIGlzIGEgcHJhY3RpY2FsIHJlYXNvbiB3 aHkgeW91IGRpZCBpdCB0aGlzIHdheSwgdGhlbiBva2F5LiA6KQ0KDQpJIG1pc3NlZCBpdCBpbml0 aWFsbHksIGFkZHJlc3NlZCBpdCBpbiB1cGRhdGVkIHBhdGNoLg0KDQogICAgICAgICBzcmlvdl92 ZnNfcGNpID0gcGZfcG9ydC5nZXRfc3Jpb3ZfdmZzX3BjaSgpDQogICAgICAgICBpZiBub3Qgc3Jp b3ZfdmZzX3BjaToNCiAgICAgICAgICAgICByYWlzZSBFeGNlcHRpb24oImNhbiBub3QgZ2V0IHZm IHBjaSIpDQpAQCAtNTEsNiArNTUsMTEgQEAgZGVmIGJpbmRfcWF0X2RldmljZSh0ZXN0X2Nhc2Us IGRyaXZlcj0iaWdiX3VpbyIpOg0KDQogICAgIHRlc3RfY2FzZS5kZXY8aHR0cHM6Ly91cmxkZWZl bnNlLnByb29mcG9pbnQuY29tL3YyL3VybD91PWh0dHAtM0FfX3Rlc3QtNUZjYXNlLmRldiZkPUR3 TUZhUSZjPW5LaldlYzJiNlIwbU95UGF6N3h0ZlEmcj1VbGFvYzFMaVRrRTVSRzY5Y0xrTWE3UDl4 R1RMMHJQNkxvc3VEUzhLT2U0Jm09eU1RdVR4aXJ4bERzd0VPZ010RFJmNlpiS1A1V0h1d21sQ2g0 TDBPRDJfU1JUcEZXTjEzcjJtSEdhVnc3OVlsZCZzPUIxVFdNaGdSRzhRRkU4elFjT2xlUTRCN2tQ SGI3TlllVENMMlFMa1RQYUEmZT0+ID0gZGV2DQoNCitkZWYgYmluZF9tcnZsX2RldmljZXModGVz dF9jYXNlLCBkcml2ZXI9J3ZmaW8tcGNpJywgKiprd2FyZ3MpOg0KKyAgICBwY2lfbGlzdCA9IGt3 YXJncy5nZXQoInBjaV9saXN0Iikuc3BsaXQoKQ0KKyAgICBmb3IgcGNpIGluIHBjaV9saXN0Og0K KyAgICAgICAgdGVzdF9jYXNlLmR1dC5iaW5kX2V2ZW50ZGV2X3BvcnQoZHJpdmVyLCBwY2kpDQor ICAgIHJldHVybiBwY2lfbGlzdA0KDQogZGVmIGdldF9xYXRfZGV2aWNlcyh0ZXN0X2Nhc2UsIGNw bV9udW09Tm9uZSwgbnVtPTEpOg0KICAgICBpZiBub3QgY3BtX251bToNCi0tDQoyLjI1LjENCg0K --_000_PH0PR18MB4489FBF5BF9F099C23B7506DA7582PH0PR18MB4489namp_ Content-Type: text/html; charset="utf-8" Content-Transfer-Encoding: base64 PGh0bWw+DQo8aGVhZD4NCjxtZXRhIGh0dHAtZXF1aXY9IkNvbnRlbnQtVHlwZSIgY29udGVudD0i dGV4dC9odG1sOyBjaGFyc2V0PXV0Zi04Ij4NCjxzdHlsZSB0eXBlPSJ0ZXh0L2NzcyIgc3R5bGU9 ImRpc3BsYXk6bm9uZTsiPiBQIHttYXJnaW4tdG9wOjA7bWFyZ2luLWJvdHRvbTowO30gPC9zdHls ZT4NCjwvaGVhZD4NCjxib2R5IGRpcj0ibHRyIj4NCjxkaXYgc3R5bGU9ImRpcmVjdGlvbjogbHRy OyBmb250LWZhbWlseTogQXB0b3MsIEFwdG9zX0VtYmVkZGVkRm9udCwgQXB0b3NfTVNGb250U2Vy dmljZSwgQ2FsaWJyaSwgSGVsdmV0aWNhLCBzYW5zLXNlcmlmOyBmb250LXNpemU6IDExcHQ7IGNv bG9yOiByZ2IoMCwgMCwgMCk7Ij4NCjxicj4NCjwvZGl2Pg0KPGRpdiBpZD0ieF94X2FwcGVuZG9u c2VuZCIgc3R5bGU9ImNvbG9yOiBpbmhlcml0OyI+PC9kaXY+DQo8ZGl2IHN0eWxlPSJkaXJlY3Rp b246IGx0cjsgZm9udC1mYW1pbHk6IEFwdG9zLCBBcHRvc19FbWJlZGRlZEZvbnQsIEFwdG9zX01T Rm9udFNlcnZpY2UsIENhbGlicmksIEhlbHZldGljYSwgc2Fucy1zZXJpZjsgZm9udC1zaXplOiAx MXB0OyBjb2xvcjogcmdiKDAsIDAsIDApOyI+DQpIaSBQYXRyaWNrLCZuYnNwOzwvZGl2Pg0KPGRp diBzdHlsZT0iZGlyZWN0aW9uOiBsdHI7IGZvbnQtZmFtaWx5OiBBcHRvcywgQXB0b3NfRW1iZWRk ZWRGb250LCBBcHRvc19NU0ZvbnRTZXJ2aWNlLCBDYWxpYnJpLCBIZWx2ZXRpY2EsIHNhbnMtc2Vy aWY7IGZvbnQtc2l6ZTogMTFwdDsgY29sb3I6IHJnYigwLCAwLCAwKTsiPg0KPGJyPg0KPC9kaXY+ DQo8ZGl2IHN0eWxlPSJkaXJlY3Rpb246IGx0cjsgZm9udC1mYW1pbHk6IEFwdG9zLCBBcHRvc19F bWJlZGRlZEZvbnQsIEFwdG9zX01TRm9udFNlcnZpY2UsIENhbGlicmksIEhlbHZldGljYSwgc2Fu cy1zZXJpZjsgZm9udC1zaXplOiAxMXB0OyBjb2xvcjogcmdiKDAsIDAsIDApOyI+DQpQbGVhc2Ug ZmluZCBteSByZXNwb25zZXMgaW5saW5lLiZuYnNwOyBJIGFtIHN1Ym1pdHRpbmcmbmJzcDsgYW4g dXBkYXRlZCBwYXRjaCBiYXNlZCBvbiB5b3VyIGNvbW1lbnRzLjwvZGl2Pg0KPGRpdiBzdHlsZT0i ZGlyZWN0aW9uOiBsdHI7IGZvbnQtZmFtaWx5OiBBcHRvcywgQXB0b3NfRW1iZWRkZWRGb250LCBB cHRvc19NU0ZvbnRTZXJ2aWNlLCBDYWxpYnJpLCBIZWx2ZXRpY2EsIHNhbnMtc2VyaWY7IGZvbnQt c2l6ZTogMTFwdDsgY29sb3I6IHJnYigwLCAwLCAwKTsiPg0KPGJyPg0KPC9kaXY+DQo8ZGl2IHN0 eWxlPSJkaXJlY3Rpb246IGx0cjsgZm9udC1mYW1pbHk6IEFwdG9zLCBBcHRvc19FbWJlZGRlZEZv bnQsIEFwdG9zX01TRm9udFNlcnZpY2UsIENhbGlicmksIEhlbHZldGljYSwgc2Fucy1zZXJpZjsg Zm9udC1zaXplOiAxMXB0OyBjb2xvcjogcmdiKDAsIDAsIDApOyI+DQo8YnI+DQo8L2Rpdj4NCjxk aXYgc3R5bGU9ImRpcmVjdGlvbjogbHRyOyBmb250LWZhbWlseTogQXB0b3MsIEFwdG9zX0VtYmVk ZGVkRm9udCwgQXB0b3NfTVNGb250U2VydmljZSwgQ2FsaWJyaSwgSGVsdmV0aWNhLCBzYW5zLXNl cmlmOyBmb250LXNpemU6IDExcHQ7IGNvbG9yOiByZ2IoMCwgMCwgMCk7Ij4NClJlZ2FyZHMsPC9k aXY+DQo8ZGl2IHN0eWxlPSJkaXJlY3Rpb246IGx0cjsgZm9udC1mYW1pbHk6IEFwdG9zLCBBcHRv c19FbWJlZGRlZEZvbnQsIEFwdG9zX01TRm9udFNlcnZpY2UsIENhbGlicmksIEhlbHZldGljYSwg c2Fucy1zZXJpZjsgZm9udC1zaXplOiAxMXB0OyBjb2xvcjogcmdiKDAsIDAsIDApOyI+DQpHbmFu ZXNoPC9kaXY+DQo8aHIgc3R5bGU9ImRpcmVjdGlvbjogbHRyOyBkaXNwbGF5OiBpbmxpbmUtYmxv Y2s7IHdpZHRoOiA5OCU7Ij4NCjxkaXYgaWQ9InhfeF9kaXZScGx5RndkTXNnIiBkaXI9Imx0ciIg c3R5bGU9ImNvbG9yOiBpbmhlcml0OyI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiBDYWxpYnJp LCBzYW5zLXNlcmlmOyBmb250LXNpemU6IDExcHQ7IGNvbG9yOiByZ2IoMCwgMCwgMCk7Ij48Yj5G cm9tOjwvYj4mbmJzcDtQYXRyaWNrIFJvYmIgJmx0O3Byb2JiQGlvbC51bmguZWR1Jmd0Ozxicj4N CjxiPlNlbnQ6PC9iPiZuYnNwO0ZyaWRheSwgTm92ZW1iZXIgMSwgMjAyNCAzOjQ1IEFNPGJyPg0K PGI+VG86PC9iPiZuYnNwO0duYW5lc2ggS2FtYmFsdSBQYWxhbmV0aHJhICZsdDtncGFsYW5ldGhy YUBtYXJ2ZWxsLmNvbSZndDs8YnI+DQo8Yj5DYzo8L2I+Jm5ic3A7ZHRzQGRwZGsub3JnICZsdDtk dHNAZHBkay5vcmcmZ3Q7OyBKb2dhUmFvIE5hcnR1ICZsdDtuam9nYXJhb0BtYXJ2ZWxsLmNvbSZn dDs7IEJoYXJhdGggUmFqZW5kcmEgJmx0O2JyYWplbmRyYUBtYXJ2ZWxsLmNvbSZndDs7IENvZHkg Q2hlbmcgJmx0O2NjaGVuZ0Bpb2wudW5oLmVkdSZndDs7IEhpcmFsIFNoYWggJmx0O2hzaGFoQG1h cnZlbGwuY29tJmd0OzsgSmVyaW4gSmFjb2IgJmx0O2plcmluakBtYXJ2ZWxsLmNvbSZndDs8YnI+ DQo8Yj5TdWJqZWN0OjwvYj4mbmJzcDtbRVhURVJOQUxdIFJlOiBbUEFUQ0ggMS8xXSBDbjEwSyBj cnlwdG8gVGVzdHM6IEFkZGVkIE1hcnZlbGwgQ24xMEsgc3BlY2lmaWMgY3J5cHRvIFRlc3RzIHRv IFRlc3RDcnlwdG9QZXJmQ3J5cHRvZGV2UGVyZjwvc3Bhbj4NCjxkaXY+Jm5ic3A7PC9kaXY+DQo8 L2Rpdj4NCjxkaXYgZGlyPSJsdHIiIGxhbmc9ImVuIiBpZD0ieF94X3hfcGZwdEJhbm5lcnl4Mmpv ejQiIHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOiByZ2IoMjEwLCAyMDgsIDIwOCk7IHZpc2liaWxp dHk6IHZpc2libGUgIWltcG9ydGFudDsgb3BhY2l0eTogMSAhaW1wb3J0YW50OyBtYXgtd2lkdGg6 IG5vbmUgIWltcG9ydGFudDsgbWF4LWhlaWdodDogbm9uZSAhaW1wb3J0YW50OyBkaXNwbGF5OiBi bG9jayAhaW1wb3J0YW50OyB0ZXh0LWFsaWduOiBsZWZ0ICFpbXBvcnRhbnQ7IG1hcmdpbjogMTZw eCAwcHggIWltcG9ydGFudDsgcGFkZGluZzogOHB4IDE2cHggIWltcG9ydGFudDsgYm9yZGVyLXJh ZGl1czogNHB4ICFpbXBvcnRhbnQ7IG1pbi13aWR0aDogMjAwcHggIWltcG9ydGFudDsgYm9yZGVy LXRvcDogNHB4IHNvbGlkIHJnYigxNDEsIDE0MCwgMTQwKSAhaW1wb3J0YW50OyBjb2xvcjogaW5o ZXJpdDsiPg0KPGRpdiBpZD0ieF94X3hfcGZwdEJhbm5lcnl4MmpvejQiIHN0eWxlPSJiYWNrZ3Jv dW5kLWNvbG9yOiByZ2IoMjEwLCAyMDgsIDIwOCk7IHZpc2liaWxpdHk6IHZpc2libGUgIWltcG9y dGFudDsgb3BhY2l0eTogMSAhaW1wb3J0YW50OyBtYXgtaGVpZ2h0OiBub25lICFpbXBvcnRhbnQ7 IGZsb2F0OiBsZWZ0ICFpbXBvcnRhbnQ7IGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7IG1hcmdp bjogMHB4IDBweCAxcHggIWltcG9ydGFudDsgbWF4LXdpZHRoOiA2MDBweCAhaW1wb3J0YW50OyBj b2xvcjogaW5oZXJpdDsiPg0KPGRpdiBpZD0ieF94X3hfcGZwdEJhbm5lcnl4MmpvejQiIHN0eWxl PSJiYWNrZ3JvdW5kLWNvbG9yOiByZ2IoMjEwLCAyMDgsIDIwOCk7IGNvbG9yOiByZ2IoMCwgMCwg MCk7IG9wYWNpdHk6IDEgIWltcG9ydGFudDsgbWF4LXdpZHRoOiBub25lICFpbXBvcnRhbnQ7IG1h eC1oZWlnaHQ6IG5vbmUgIWltcG9ydGFudDsgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDsgdmlz aWJpbGl0eTogdmlzaWJsZSAhaW1wb3J0YW50OyBmb250LWZhbWlseTogQXJpYWwsIHNhbnMtc2Vy aWYgIWltcG9ydGFudDsgZm9udC13ZWlnaHQ6IGJvbGQgIWltcG9ydGFudDsgZm9udC1zaXplOiAx NHB4ICFpbXBvcnRhbnQ7IGxpbmUtaGVpZ2h0OiAxOHB4ICFpbXBvcnRhbnQ7Ij4NClByaW9yaXRp emUgc2VjdXJpdHkgZm9yIGV4dGVybmFsIGVtYWlsczo8L2Rpdj4NCjxkaXYgaWQ9InhfeF94X3Bm cHRCYW5uZXJ5eDJqb3o0IiBzdHlsZT0iZm9udC13ZWlnaHQ6IG5vcm1hbDsgYmFja2dyb3VuZC1j b2xvcjogcmdiKDIxMCwgMjA4LCAyMDgpOyBjb2xvcjogcmdiKDAsIDAsIDApOyBvcGFjaXR5OiAx ICFpbXBvcnRhbnQ7IG1heC13aWR0aDogbm9uZSAhaW1wb3J0YW50OyBtYXgtaGVpZ2h0OiBub25l ICFpbXBvcnRhbnQ7IGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7IHZpc2liaWxpdHk6IHZpc2li bGUgIWltcG9ydGFudDsgZm9udC1mYW1pbHk6IEFyaWFsLCBzYW5zLXNlcmlmICFpbXBvcnRhbnQ7 IGZvbnQtc2l6ZTogMTJweCAhaW1wb3J0YW50OyBsaW5lLWhlaWdodDogMThweCAhaW1wb3J0YW50 OyBtYXJnaW4tdG9wOiAycHggIWltcG9ydGFudDsiPg0KQ29uZmlybSBzZW5kZXIgYW5kIGNvbnRl bnQgc2FmZXR5IGJlZm9yZSBjbGlja2luZyBsaW5rcyBvciBvcGVuaW5nIGF0dGFjaG1lbnRzPC9k aXY+DQo8L2Rpdj4NCjxkaXYgaWQ9InhfeF94X3BmcHRCYW5uZXJ5eDJqb3o0IiBzdHlsZT0iYmFj a2dyb3VuZC1jb2xvcjogcmdiKDIxMCwgMjA4LCAyMDgpOyB2aXNpYmlsaXR5OiB2aXNpYmxlICFp bXBvcnRhbnQ7IG9wYWNpdHk6IDEgIWltcG9ydGFudDsgbWF4LXdpZHRoOiBub25lICFpbXBvcnRh bnQ7IG1heC1oZWlnaHQ6IG5vbmUgIWltcG9ydGFudDsgZmxvYXQ6IHJpZ2h0ICFpbXBvcnRhbnQ7 IGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7IG1hcmdpbjogMHB4IDBweCAwcHggMTZweCAhaW1w b3J0YW50OyB0ZXh0LWFsaWduOiByaWdodCAhaW1wb3J0YW50OyB3aWR0aDogZml0LWNvbnRlbnQg IWltcG9ydGFudDsgY29sb3I6IGluaGVyaXQ7Ij4NCjxkaXYgc3R5bGU9IndoaXRlLXNwYWNlOiBu b3dyYXA7IG1hcmdpbjogM3B4IDBweCAzcHggMTZweDsgcGFkZGluZzogNy41cHggMTZweDsgYm9y ZGVyLXdpZHRoOiAxcHg7IGJvcmRlci1zdHlsZTogc29saWQ7IGJvcmRlci1jb2xvcjogcmdiKDEw MiwgMTAyLCAxMDIpOyBib3JkZXItcmFkaXVzOiAycHg7IGRpc3BsYXk6IGlubGluZS1ibG9jazsg Zm9udC1mYW1pbHk6IEFyaWFsLCBzYW5zLXNlcmlmOyBmb250LXNpemU6IDE0cHg7IGNvbG9yOiBy Z2IoMCwgMCwgMCk7Ij4NCjxzcGFuIHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOiByZ2IoMjEwLCAy MDgsIDIwOCk7Ij48YSBocmVmPSJodHRwczovL3VzLXBoaXNoYWxhcm0tZXd0LnByb29mcG9pbnQu Y29tL0VXVC92MS9DUlZtWGtxVyF1SzNYLTlBY2FibTJXaURSc1RCUzRySXdJdlJiVmppcHBzLWNI TDFyY1Nzb3FEU0ZOTWNYcXI4Qk9JTm9Cd2VJNHBaMjduejBkOGpxNU9LZWlyWklCX2QtaEhXUFQ3 ejJnTm1MX2xNbEhoR21sN0R1UFNuTWVmV09TYktSN1EkIiBpZD0iT1dBODY0ODhjYjktMjllYy00 MWE3LWQyYzItZWNkNjY5M2FkMmUwIiBjbGFzcz0ieF94X09XQUF1dG9MaW5rIiBkYXRhLWF1dGg9 Ik5vdEFwcGxpY2FibGUiIHN0eWxlPSJ0ZXh0LWRlY29yYXRpb246IG5vbmU7IGRpc3BsYXk6IGlu bGluZS1ibG9jazsgYmFja2dyb3VuZC1jb2xvcjogcmdiKDIxMCwgMjA4LCAyMDgpOyBtYXgtd2lk dGg6IG5vbmU7IG1heC1oZWlnaHQ6IG5vbmU7Ij5SZXBvcnQmbmJzcDtTdXNwaWNpb3VzPC9hPjwv c3Bhbj48L2Rpdj4NCjwvZGl2Pg0KPGRpdiBzdHlsZT0ibGluZS1oZWlnaHQ6IDA7IGRpc3BsYXk6 IGJsb2NrOyBmb250LXNpemU6IDAuMDFweDsiPiZuYnNwOzwvZGl2Pg0KPC9kaXY+DQo8ZGl2IHN0 eWxlPSJkaXJlY3Rpb246IGx0cjsiPkhpIEduYW5lc2gsIHRoYW5rcyBmb3Igc2VuZGluZyB0aGlz LiBNeSBuYW1lIGlzIFBhdHJpY2sgUm9iYiwgYW5kIEknbSBhIENJIFRlc3RpbmcgTGFiIG1hbmFn ZXIgYXQgdGhlIERQREsgQ29tbXVuaXR5IExhYiBob3N0ZWQmbmJzcDthdCBVTkgsIGFuZCBhIG1h aW50YWluZXIgZm9yIHRoZSAmcXVvdDtuZXcmcXVvdDsgRFRTIGZyYW1ld29yayB3aGljaCBleGlz dHMgd2l0aGluIHRoZSBEUERLIHJlcG8gYW5kIHNob3VsZCBiZQ0KIHJlcGxhY2luZyB0aGUgbGVn YWN5IERUUyBwcm9qZWN0IGluIHRoZSBsb25nIHRlcm0od2hhdCB0aGlzIHBhdGNoIGlzIGZvciku IFdlIGRvIGhhdmUgYSBNYXJ2ZWxsIENOMTBLIGJvYXJkIGF0IHRoZSBsYWIsIGFuZCBJIHdvdWxk IGxvdmUgdG8gYmVnaW4gcnVubmluZyBzb21lIGNyeXB0byB0ZXN0aW5nIGZyb20gdGhhdCBpZiBw b3NzaWJsZSAoc28sIHRoYW5rcyBhZ2FpbiBmb3IgdGhpcyBzZXJpZXMpLiZuYnNwOzwvZGl2Pg0K PGRpdiBzdHlsZT0iZGlyZWN0aW9uOiBsdHI7Ij48YnI+DQo8L2Rpdj4NCjxkaXYgc3R5bGU9ImRp cmVjdGlvbjogbHRyOyI+U28sIG1vc3QgbGlrZWx5IHdlIHdpbGwgd2FudCB0byBwcm92aWRlIGEg cmV2aWV3IGZyb20gVU5IIGFuZCB0ZXN0IHRoaXMsIHNvIHRoYXQgaXQgY2FuIGJlIG1lcmdlZCB0 byBEVFMgKHRlY2huaWNhbGx5IEkgd2FzIGdyYW50ZWQgdGhlIGF1dGhvcml0eSB0byBhcHBseSBw YXRjaGVzIHRvIHRoZSBsZWdhY3kgcmVwbykuPC9kaXY+DQo8ZGl2IHN0eWxlPSJkaXJlY3Rpb246 IGx0cjsiPjxicj4NCjwvZGl2Pg0KPGRpdiBzdHlsZT0iZGlyZWN0aW9uOiBsdHI7Ij5JIGFtIGFk ZGluZyBDb2R5IHRvIHRoaXMgdGhyZWFkIGFzIEkgdGhpbmsgaGUgY2FuIGFzc2lzdCBtZSBvbiB0 aGlzLiBDb2R5IEkgYW0gZ29pbmcgdG8gcHJvdmlkZSBzb21lIGNvbW1lbnRzIGlubGluZSBhcyBh biBpbml0aWFsIHJldmlldyBmb3IgdGhpcyBzZXJpZXMsIGFuZCB0aGVuIHdlIHNob3VsZCZuYnNw O2FwcGx5IHRoaXMgc2VyaWVzIGxvY2FsbHkgb24gdGhlJm5ic3A7dHJhZmZpYyBnZW5lcmF0b3Iv dGVzdA0KIGVuZ2luZSZuYnNwO2ZvciB0aGUgQ04xMEsgKEludGVsLTEgaW4gb3VyIGxhYiksIGRy eSBydW4gdGhlIHRlc3Qgd2hpY2ggR25hbmVzaCBoYXMgYWRkZWQsIGFuZCByZXBvcnQgYmFjayB0 byBoaW0uIElmIGFsbCBnb2VzIHdlbGwsIGl0IHNob3VsZCBiZSBwb3NzaWJsZSB0byBtZXJnZS4m bmJzcDs8L2Rpdj4NCjxkaXYgc3R5bGU9ImRpcmVjdGlvbjogbHRyOyI+PGJyPg0KPC9kaXY+DQo8 ZGl2IHN0eWxlPSJkaXJlY3Rpb246IGx0cjsiPkxvbmcgdGVybSwgd2Ugd2lsbCB3YW50IHRvIGNp cmNsZSBiYWNrIGFuZCBhZGQgdGhpcyB0ZXN0IHRvIHRoZSBuZXcgRFRTIGZyYW1ld29yaywgYnV0 IGl0IGlzIG5vdCByZWFkeSBmb3IgdGhpcyB0ZXN0IHlldCwgYXMgY3VycmVudGx5IG5ldyBEVFMg aXMgdGVzdHBtZCBvbmx5IC0gdGhlcmUgaXMgbm90IGNyeXB0b2RldiBzdXBwb3J0LiBBbHRob3Vn aCwgYWRkaW5nIHN1Y2ggc3VwcG9ydCB0byBuZXcNCiBEVFMgaXMgc29tZXRoaW5nIEkgd291bGQg bG92ZSB0byB3b3JrIHdpdGggeW91IG9uIGluIHRoZSBuZXh0IHllYXIgaWYgeW91IGhhdmUgdGlt ZSBhdmFpbGFibGUgZm9yIGRldmVsb3BtZW50IHRvd2FyZHMmbmJzcDtEUERLIHRlc3RpbmchIEFu eXdheXMsIGNvbW1lbnRzIGlubGluZTo8L2Rpdj4NCjxkaXYgc3R5bGU9ImRpcmVjdGlvbjogbHRy OyI+PGJyPg0KPC9kaXY+DQo8ZGl2IHN0eWxlPSJkaXJlY3Rpb246IGx0cjsiPk9uIFdlZCwgT2N0 IDMwLCAyMDI0IGF0IDEyOjQ04oCvUE0gR25hbmVzaCAmbHQ7PGEgaHJlZj0ibWFpbHRvOmdwYWxh bmV0aHJhQG1hcnZlbGwuY29tIiBpZD0iT1dBYTIzMjA2ZGQtYzk3Yy05NGU2LWFhOTEtMzVkNjcw M2NkNzkzIiBjbGFzcz0ieF94X09XQUF1dG9MaW5rIj5ncGFsYW5ldGhyYUBtYXJ2ZWxsLmNvbTwv YT4mZ3Q7IHdyb3RlOjwvZGl2Pg0KPGJsb2NrcXVvdGUgc3R5bGU9Im1hcmdpbjogMHB4IDBweCAw cHggMC44ZXg7IHBhZGRpbmctbGVmdDogMWV4OyBib3JkZXItbGVmdDogMXB4IHNvbGlkIHJnYigy MDQsIDIwNCwgMjA0KTsiPg0KPGRpdiBzdHlsZT0iZGlyZWN0aW9uOiBsdHI7Ij4mbmJzcDsgJm5i c3A7IENoYW5nZXMgaW5jbHVkZWQgaW4gdGhpcyBwYXRjaDo8YnI+DQombmJzcDsgJm5ic3A7IC0t IE5ldyBUZXN0Q2FzZXMgYXJlIGFkZGVkIGZvciBDbjEwSyBDUFQgSGFyZHdhcmUgY3J5cHRvIGFj Y2VsZXJhdG9yLjxicj4NCiZuYnNwOyAmbmJzcDsgLS0gd2hlbiBUZXN0aW5nIG5ld2x5IGFkZGVk IFRlc3RjYXNlcyBpdCBpcyBmb3VuZCBOZWNlc3NhcnkgdG8gbWFrZSBCZWxvdyBDaGFuZ2VzPGJy Pg0KJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAxJmd0OyB0ZXN0cy9jcnlwdG9k ZXZfY29tbW9uLnB5PGJyPg0KJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJz cDsgJm5ic3A7ICZuYnNwOy0tJmd0OyBiaW5kX3FhdF9kZXZpY2UgZnVuY3Rpb24gaXMgdXBkYXRl ZCB0byBnZW5lcmF0ZSBWRnMgZm9yIHRoZSBnaXZlbiBjcnlwdG9fZGV2X2lkPGJyPg0KJm5ic3A7 ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOy0tJmd0OyBh ZGRlZCBOZXcgZnVuY3Rpb24gYmluZF9tcnZsX2RldmljZXMgdG8gYWNjZXB0IGxpc3Qgb2YgUENJ IElkcyBhbmQgYmluZCBpdCB0byB2ZmlvX3BjaSBkcml2ZXIuPGJyPg0KJm5ic3A7ICZuYnNwOyAm bmJzcDsgJm5ic3A7ICZuYnNwOyAyJmd0OyBmcmFtZXdvcmsvY3JiLnB5PGJyPg0KJm5ic3A7ICZu YnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOy0tJmd0OyB1cGRh dGVkIHBjaV9kZXZpY2VzX2luZm9ybWF0aW9uX3VuY2FjaGVkX2xpbnV4IE1ldGhvZCB0byBoYW5k bGUgYWRkaXRpb25hbCBOaWMgU3BlZWRzIGZvciBDYXZpdW0sPGJyPg0KJm5ic3A7ICZuYnNwOyAm bmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7YXMg aXQgd2FzIHJlc3RyaWN0aW5nIG9ubHkgdG8gMSBHSUcgTklDIHNwZWVkPC9kaXY+DQo8L2Jsb2Nr cXVvdGU+DQo8ZGl2IHN0eWxlPSJkaXJlY3Rpb246IGx0cjsiPjxicj4NCjwvZGl2Pg0KPGRpdiBz dHlsZT0iZGlyZWN0aW9uOiBsdHI7Ij5UaGFua3MsIEkgYWxzbyBtYWRlIHRoaXMmbmJzcDtjaGFu Z2Ugb24gb3VyIGxvY2FsIERUUyBwcm9qZWN0IGZvciBjbjEwaywgYnV0IHRoZSBwYXRjaCB3YXMg bm90IHN1Ym1pdHRlZCB0byB0aGUgJnF1b3Q7bGVnYWN5IERUUyZxdW90OyBtYWlsaW5nIGxpc3Qg aGVyZSBhcyBpdCB3YXMgdW5tYWludGFpbmVkIChhbmQgc3RpbGwgaXMsIHRvIERhdmlkJ3MgcG9p bnQpLiBCdXQsIGlmIHdlIGNhbiBkbyBhIHJldmlldyZuYnNwO2l0IGlzDQogZ29vZCB0byBnZXQg dGhlc2UgdGhpbmdzIGludG8gbWFpbmxpbmUuIE1heWJlIEkgY2FuIHJlYmFzZSBvdXIgbG9jYWwg cGF0Y2ggb24geW91cnMgaWYgdGhlcmUgd2VyZSBhbnkgb3RoZXIgY2hhbmdlcywgYW5kIGdldCBm ZWVkYmFjayBmb3IgY24xMGsgc3BlY2lmaWMgcXVlc3Rpb25zLjwvZGl2Pg0KPGRpdiBzdHlsZT0i ZGlyZWN0aW9uOiBsdHI7Ij48YnI+DQo8L2Rpdj4NCjxkaXYgc3R5bGU9ImRpcmVjdGlvbjogbHRy OyI+SSBoYXZlIGEgaGFyZCB0aW1lIHVuZGVyc3RhbmRpbmcgaG93IHRoaXMgMTBHIE5JQyBzcGVl ZCByZXF1aXJlbWVudCBnb3QgYWRkZWQgaW4gdGhlIGZpcnN0IHBsYWNlIGFzIGl0IHdhcyBxdWl0 ZSBwZWN1bGlhciBhbmQgY29uZnVzZWQgbWUgZm9yIGEgdGltZSBhcyBpdCB3YXMgZHJvcHBpbmcg dGhlIHBvcnRzIGxpc3QhIEknbSBzdXJlIHlvdSBoYWQgYSBzaW1pbGFyIGV4cGVyaWVuY2UuLi4g Oik8L2Rpdj4NCjxkaXYgc3R5bGU9ImRpcmVjdGlvbjogbHRyOyI+Jm5ic3A7PC9kaXY+DQo8Ymxv Y2txdW90ZSBzdHlsZT0ibWFyZ2luOiAwcHggMHB4IDBweCAwLjhleDsgcGFkZGluZy1sZWZ0OiAx ZXg7IGJvcmRlci1sZWZ0OiAxcHggc29saWQgcmdiKDIwNCwgMjA0LCAyMDQpOyI+DQo8ZGl2IHN0 eWxlPSJkaXJlY3Rpb246IGx0cjsiPiZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsg MyZndDsgZnJhbWV3b3JrL3NldHRpbmdzLnB5PGJyPg0KJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5i c3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOy0tJmd0OyBDaGFuZ2VkIHRoZSBkZWZhdWx0 IENhdml1bSBOSUMgZHJpdmVyIHRvIHJ2dV9uaWNwZi48L2Rpdj4NCjwvYmxvY2txdW90ZT4NCjxk aXYgc3R5bGU9ImRpcmVjdGlvbjogbHRyOyI+PGJyPg0KPC9kaXY+DQo8ZGl2IHN0eWxlPSJkaXJl Y3Rpb246IGx0cjsiPlRoYW5rcywgd2UgYXJlIGFsc28gcnVubmluZyBmcm9tIHRoaXMgY2hhbmdl IGF0IHRoZSBDb21tdW5pdHkgTGFiLiBCdXQsIEkgdGhvdWdodCB5b3Ugc2FpZCBhYm92ZSB5b3Ug YXJlIGNyZWF0aW5nIFZGcyBmcm9tIHRoZSBiaW5kX3FhdF9kZXZpY2UgZnVuY3Rpb24uIFNvLCBk b2VzIHJ2dV9uaWN2ZiBuZWVkIHRvIGJlIGFkZGVkIGFzIHdlbGw/PC9kaXY+DQo8ZGl2IHN0eWxl PSJkaXJlY3Rpb246IGx0cjsiPiZuYnNwOzwvZGl2Pg0KPGJsb2NrcXVvdGUgc3R5bGU9Im1hcmdp bjogMHB4IDBweCAwcHggMC44ZXg7IHBhZGRpbmctbGVmdDogMWV4OyBib3JkZXItbGVmdDogMXB4 IHNvbGlkIHJnYigyMDQsIDIwNCwgMjA0KTsiPg0KPGRpdiBzdHlsZT0iZGlyZWN0aW9uOiBsdHI7 Ij4mbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7IDQmZ3Q7IG5pY3MvbmV0X2Rldmlj ZS5weTxicj4NCiZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNw OyAmbmJzcDstLSZndDsgYWRkZWQgTWlzc2luZyBleHBlY3Qgb2JqZWN0PGJyPg0KJm5ic3A7ICZu YnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyA1Jmd0OyBjb25mL2NyeXB0b19wZXJmX2NyeXB0b2Rl dl9wZXJmLmNmZzxicj4NCiZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7 ICZuYnNwOyAmbmJzcDstLSZndDsgYWRkZWQgTWFydmVsbCBDbjEwSyBjb25maWdzIGZvciBjcnlw dG9fcGVyZl9jcnlwdG9kZXZfcGVyZjxicj4NCiZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAm bmJzcDsgNiZndDsgZnJhbWV3b3JrL3NzaF9wZXhwZWN0LnB5PGJyPg0KJm5ic3A7ICZuYnNwOyAm bmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOy0tJmd0OyBvdXRwdXQucmVw bGFjZSBjb21tYW5kJ3Mgb3V0cHV0IGlzIG5vdCBzZXQgYmVmb3JlIHJldHVybmluZyBmcm9tIGdl dF9vdXRwdXRfYWxsIG1ldGhvZDxicj4NCiZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJz cDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwO2hlbmNlIFVubmVjZXNzYXJpbHkg cmV0dXJuaW5nIFByb21wdCBhbG9uZyB3aXRoIHRoZSBvdXRwdXQ8YnI+DQombmJzcDsgJm5ic3A7 ICZuYnNwOyAmbmJzcDsgJm5ic3A7IDcmZ3Q7IHRlc3RzL1Rlc3RTdWl0ZV9jcnlwdG9fcGVyZl9j cnlwdG9kZXZfcGVyZi5weTxicj4NCiZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsg Jm5ic3A7ICZuYnNwOyAmbmJzcDstLSZndDsmbmJzcDsgYWRkZWQgTWFydmVsbCBDTjEwSyBUZXN0 Y2FzZXM8L2Rpdj4NCjwvYmxvY2txdW90ZT4NCjxkaXYgc3R5bGU9ImRpcmVjdGlvbjogbHRyOyI+ PGJyPg0KPC9kaXY+DQo8ZGl2IHN0eWxlPSJkaXJlY3Rpb246IGx0cjsiPkFnYWluIHdlIHdpbGwg YXBwbHkgdGhlc2UsIGdpdmUgdGhlbSBhIHJ1biwgYW5kIHJlcG9ydCBiYWNrLjwvZGl2Pg0KPGRp diBzdHlsZT0iZGlyZWN0aW9uOiBsdHI7Ij4mbmJzcDs8L2Rpdj4NCjxibG9ja3F1b3RlIHN0eWxl PSJtYXJnaW46IDBweCAwcHggMHB4IDAuOGV4OyBwYWRkaW5nLWxlZnQ6IDFleDsgYm9yZGVyLWxl ZnQ6IDFweCBzb2xpZCByZ2IoMjA0LCAyMDQsIDIwNCk7Ij4NCjxkaXYgc3R5bGU9ImRpcmVjdGlv bjogbHRyOyI+Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7 VXBkYXRlZCBCZWxvdyBQcml2YXRlIGZ1bmN0aW9uczxicj4NCiZuYnNwOyAmbmJzcDsgJm5ic3A7 ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgNi4xJmd0OyBfcnVuX2NyeXB0b19w ZXJmKCkgLS0mZ3Q7IHJlY2VpdmVzIGFkZGl0aW9uYWwgS1cgYXJndW1lbnRzPGJyPg0KJm5ic3A7 ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyA2LjImZ3Q7 IF9wYXJzZV9vdXRwdXQoKSZuYnNwOyAtLS0mZ3Q7IFVwZGF0ZWQgdG8gaGFuZGxlIE1hcnZlbGwg Q24xMEsgYXBwIGNvbW1hbmQgb3V0cHV0PGJyPg0KJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7 ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyA2LjMmZ3Q7IF9ydW5fY3J5cHRvX3BlcmZfdGhy b3VnaHB1dCgpIC0tJmd0OyByZWNlaXZlcyBhZGRpdGlvbmFsIEtXIGFyZ3VtZW50czwvZGl2Pg0K PC9ibG9ja3F1b3RlPg0KPGRpdiBzdHlsZT0iZGlyZWN0aW9uOiBsdHI7Ij48YnI+DQo8L2Rpdj4N CjxkaXYgc3R5bGU9ImRpcmVjdGlvbjogbHRyOyI+PGJyPg0KPC9kaXY+DQo8ZGl2IHN0eWxlPSJk aXJlY3Rpb246IGx0cjsiPkkgZG9uJ3Qgc2VlIGFueSBtb2RpZmljYXRpb25zIGZvciB0aGUgYnVp bGQgcHJvY2Vzcy4gSXMgdGhlcmUgYSBuZWVkIHRvIGluY2x1ZGUgJnF1b3Q7LURwbGF0Zm9ybT1j bjEwayZxdW90OyB3aGVuIHNldHRpbmcgdXAgdGhlIGJ1aWxkIGZyb20gbWVzb24sIG9yIGlzIHRo ZSBkZWZhdWx0IGJ1aWxkIGZpbmU/PC9kaXY+DQo8ZGl2IHN0eWxlPSJkaXJlY3Rpb246IGx0cjsi Pjxicj4NCjwvZGl2Pg0KPGRpdiBzdHlsZT0iZGlyZWN0aW9uOiBsdHI7IGZvbnQtZmFtaWx5OiBB cHRvcywgQXB0b3NfRW1iZWRkZWRGb250LCBBcHRvc19NU0ZvbnRTZXJ2aWNlLCBDYWxpYnJpLCBI ZWx2ZXRpY2EsIHNhbnMtc2VyaWY7IGZvbnQtc2l6ZTogMTFwdDsgY29sb3I6IHJnYigxMiwgMTAw LCAxOTIpOyI+DQombmJzcDtyaWdodCBub3cgdGhlcmUgaXMgbm8gY2hhbmdlIHRvIGJ1aWxkIHBy b2NlZHVyZSwgd2UgYXJlIGNyb3NzIGNvbXBpbGluZyBEUERLIG9uIHg4NiBhbmQgY29weWluZyB0 aGUgYXBwbGljYXRpb24gb24gdG8gRFVULjwvZGl2Pg0KPGRpdiBzdHlsZT0iZGlyZWN0aW9uOiBs dHI7Ij48YnI+DQo8L2Rpdj4NCjxkaXYgc3R5bGU9ImRpcmVjdGlvbjogbHRyOyI+PGJyPg0KPC9k aXY+DQo8ZGl2IHN0eWxlPSJkaXJlY3Rpb246IGx0cjsiPiZuYnNwOzwvZGl2Pg0KPGJsb2NrcXVv dGUgc3R5bGU9Im1hcmdpbjogMHB4IDBweCAwcHggMC44ZXg7IHBhZGRpbmctbGVmdDogMWV4OyBi b3JkZXItbGVmdDogMXB4IHNvbGlkIHJnYigyMDQsIDIwNCwgMjA0KTsiPg0KPGRpdiBzdHlsZT0i ZGlyZWN0aW9uOiBsdHI7Ij48YnI+DQo8YnI+DQpTaWduZWQtb2ZmLWJ5OiBHbmFuZXNoICZsdDs8 YSBocmVmPSJtYWlsdG86Z3BhbGFuZXRocmFAbWFydmVsbC5jb20iIGlkPSJPV0EzZTQzYThhNS1j N2MxLTQ3OTAtNDlhNS1mNDU1ODZmMDRiYjEiIGNsYXNzPSJ4X3hfT1dBQXV0b0xpbmsiPmdwYWxh bmV0aHJhQG1hcnZlbGwuY29tPC9hPiZndDs8YnI+DQotLS08YnI+DQombmJzcDtjb25mL2NyeXB0 b19wZXJmX2NyeXB0b2Rldl9wZXJmLmNmZyZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJz cDsgJm5ic3A7fCA4NDkgKysrKysrKysrKysrKysrKysrPGJyPg0KJm5ic3A7ZnJhbWV3b3JrL2Ny Yi5weSZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJz cDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7IHwmbmJz cDsgJm5ic3A7NiArLTxicj4NCiZuYnNwO2ZyYW1ld29yay9zZXR0aW5ncy5weSZuYnNwOyAmbmJz cDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNw OyAmbmJzcDsgJm5ic3A7ICZuYnNwO3wmbmJzcDsgJm5ic3A7NCArLTxicj4NCiZuYnNwO2ZyYW1l d29yay9zc2hfcGV4cGVjdC5weSZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5i c3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgfCZuYnNwOyAmbmJzcDsyICst PGJyPg0KJm5ic3A7bmljcy9uZXRfZGV2aWNlLnB5Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7 ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsg Jm5ic3A7ICZuYnNwOyB8Jm5ic3A7ICZuYnNwOzMgKzxicj4NCiZuYnNwO3Rlc3RzL1Rlc3RTdWl0 ZV9jcnlwdG9fcGVyZl9jcnlwdG9kZXZfcGVyZi5weSB8IDMyMiArKysrKystPGJyPg0KJm5ic3A7 dGVzdHMvY3J5cHRvZGV2X2NvbW1vbi5weSZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJz cDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDt8Jm5ic3A7IDExICst PGJyPg0KJm5ic3A7NyBmaWxlcyBjaGFuZ2VkLCAxMTcyIGluc2VydGlvbnMoKyksIDI1IGRlbGV0 aW9ucygtKTxicj4NCjxicj4NCmRpZmYgLS1naXQgYS9mcmFtZXdvcmsvY3JiLnB5IGIvZnJhbWV3 b3JrL2NyYi5weTxicj4NCmluZGV4IDllM2IwYTU4Li4yZmU5ZDE0NyAxMDA2NDQ8YnI+DQotLS0g YS9mcmFtZXdvcmsvY3JiLnB5PGJyPg0KKysrIGIvZnJhbWV3b3JrL2NyYi5weTxicj4NCkBAIC0z NzQsMTUgKzM3NCwxNSBAQCBjbGFzcyBDcmIob2JqZWN0KTo8YnI+DQombmJzcDsgJm5ic3A7ICZu YnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwO3Bhc3M8YnI+DQo8 YnI+DQombmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7Zm9yIGkgaW4gcmFuZ2UobGVu KG1hdGNoKSk6PGJyPg0KLSZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7 ICMgY2hlY2sgaWYgZGV2aWNlIGlzIGNhdml1bSBhbmQgY2hlY2sgaXRzIGxpbmtzcGVlZCwgYXBw ZW5kIG9ubHkgaWYgaXQgaXMgMTBHPGJyPg0KKyZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAm bmJzcDsgJm5ic3A7ICMgZm9yIGNhdml1bSBzdXBwb3J0ZWQgbGluayBzcGVlZCBzcGVjZmllZCB1 bmRlciBsaW5rc3BlZWRzPGJyPg0KJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAm bmJzcDsgJm5ic3A7aWYgJnF1b3Q7MTc3ZDomcXVvdDsgaW4gbWF0Y2hbaV1bMV06PGJyPg0KLSZu YnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgbGlu a3NwZWVkID0gJnF1b3Q7MTAwMDAmcXVvdDs8YnI+DQorJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5i c3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyBsaW5rc3BlZWRzID0gWyZxdW90OzQwMDAw JnF1b3Q7LCAmcXVvdDsxMDAwMCZxdW90OywgJnF1b3Q7MjUwMDAmcXVvdDssICZxdW90OzUwMDAw JnF1b3Q7LCAmcXVvdDsxMDAwMDAmcXVvdDtdPC9kaXY+DQo8L2Jsb2NrcXVvdGU+DQo8ZGl2IHN0 eWxlPSJkaXJlY3Rpb246IGx0cjsiPjxicj4NCjwvZGl2Pg0KPGRpdiBzdHlsZT0iZGlyZWN0aW9u OiBsdHI7Ij5Ib25lc3RseSBJIGRvbid0IHVuZGVyc3RhbmQgd2h5IHdlIGhhdmUgdGhpcyBjb25k aXRpb24gYXQgYWxsLiBPdGhlciBkZXZpY2VzIGluIERUUyBkbyBub3QgaGF2ZSB0aGlzIGNoZWNr IHdoZXJlIHRoZSBwb3J0bGlua3MgY2FuIGJlIGRyb3BwZWQgaW4gY3Jicy5weS4gV2hhdCBkbyB5 b3UgdGhpbmsgYWJvdXQgdXBkYXRpbmcgdGhlIGFjY2VwdGVkIGxpbmtzcGVlZHMgdnMganVzdCBy ZW1vdmluZw0KIHRoaXMgc3RlcCBlbnRpcmVseT8gQ2FuIHdlIGV4cGVjdCBhZGRpdGlvbmFsIGxp bmtzcGVlZHMmbmJzcDt0byBiZSBhZGRlZCBmb3IgMTc3ZCBpbiB0aGUgZnV0dXJlLCBhbmQgaGF2 ZSB0aGlzIHByb2JsZW0gY3JvcCB1cCBhZ2FpbiBmb3IgYSBuZXcgbGlua3NwZWVkLCBvciBpcyB0 aGlzIGxpc3Qgb2Ygc3BlZWRzICZxdW90O2ZpbmFsJnF1b3Q7IGZvciAxNzdkPzwvZGl2Pg0KPGRp diBzdHlsZT0iZGlyZWN0aW9uOiBsdHI7Ij48YnI+DQo8L2Rpdj4NCjxkaXYgc3R5bGU9ImRpcmVj dGlvbjogbHRyOyBmb250LWZhbWlseTogQXB0b3MsIEFwdG9zX0VtYmVkZGVkRm9udCwgQXB0b3Nf TVNGb250U2VydmljZSwgQ2FsaWJyaSwgSGVsdmV0aWNhLCBzYW5zLXNlcmlmOyBmb250LXNpemU6 IDExcHQ7IGNvbG9yOiByZ2IoMTIsIDEwMCwgMTkyKTsiPg0KVGhpcyBjaGVjayBpcyBub3cgY29t cGxldGVseSBSZW1vdmVkIGluIHRoZSB1cGRhdGVkIHBhdGNoLjwvZGl2Pg0KPGRpdiBzdHlsZT0i ZGlyZWN0aW9uOiBsdHI7IGZvbnQtZmFtaWx5OiBBcHRvcywgQXB0b3NfRW1iZWRkZWRGb250LCBB cHRvc19NU0ZvbnRTZXJ2aWNlLCBDYWxpYnJpLCBIZWx2ZXRpY2EsIHNhbnMtc2VyaWY7IGZvbnQt c2l6ZTogMTFwdDsgY29sb3I6IHJnYigwLCAwLCAwKTsiPg0KPGJyPg0KPC9kaXY+DQo8ZGl2IHN0 eWxlPSJkaXJlY3Rpb246IGx0cjsiPiZuYnNwOzwvZGl2Pg0KPGJsb2NrcXVvdGUgc3R5bGU9Im1h cmdpbjogMHB4IDBweCAwcHggMC44ZXg7IHBhZGRpbmctbGVmdDogMWV4OyBib3JkZXItbGVmdDog MXB4IHNvbGlkIHJnYigyMDQsIDIwNCwgMjA0KTsiPg0KPGRpdiBzdHlsZT0iZGlyZWN0aW9uOiBs dHI7Ij4mbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5i c3A7ICZuYnNwO25pY19saW5rc3BlZWQgPSBzZWxmLnNlbmRfZXhwZWN0KDxicj4NCiZuYnNwOyAm bmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZu YnNwOyAmbmJzcDsmcXVvdDtjYXQgL3N5cy9idXMvcGNpL2RldmljZXMvJXMvbmV0Lyovc3BlZWQm cXVvdDsgJSBtYXRjaFtpXVswXSw8YnI+DQombmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5i c3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7JnF1b3Q7IyAmcXVv dDssPGJyPg0KJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7 ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwO2FsdF9zZXNzaW9uPVRydWUsPGJyPg0KJm5ic3A7 ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsp PGJyPg0KLSZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAm bmJzcDsgaWYgbmljX2xpbmtzcGVlZC5zcGxpdCgpWzBdID09IGxpbmtzcGVlZDo8YnI+DQorJm5i c3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyBpZiBu aWNfbGlua3NwZWVkLnNwbGl0KClbMF0gaW4mbmJzcDsgbGlua3NwZWVkczo8YnI+DQombmJzcDsg Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAm bmJzcDsgJm5ic3A7c2VsZi5wY2lfZGV2aWNlc19pbmZvLmFwcGVuZCgobWF0Y2hbaV1bMF0sIG1h dGNoW2ldWzFdKSk8YnI+DQombmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNw OyAmbmJzcDtlbHNlOjxicj4NCiZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5i c3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7c2VsZi5wY2lfZGV2aWNlc19pbmZvLmFwcGVuZCgobWF0 Y2hbaV1bMF0sIG1hdGNoW2ldWzFdKSk8YnI+DQpkaWZmIC0tZ2l0IGEvZnJhbWV3b3JrL3NldHRp bmdzLnB5IGIvZnJhbWV3b3JrL3NldHRpbmdzLnB5PGJyPg0KaW5kZXggMWE1NjFkZGEuLmIyYzM3 MWY4IDEwMDY0NDxicj4NCi0tLSBhL2ZyYW1ld29yay9zZXR0aW5ncy5weTxicj4NCisrKyBiL2Zy YW1ld29yay9zZXR0aW5ncy5weTxicj4NCkBAIC0xNjYsOCArMTY2LDggQEAgRFJJVkVSUyA9IHs8 YnI+DQombmJzcDsgJm5ic3A7ICZuYnNwOyZxdW90O2Nhdml1bV9hMDM0JnF1b3Q7OiAmcXVvdDt0 aHVuZGVyLW5pY3ZmJnF1b3Q7LDxicj4NCiZuYnNwOyAmbmJzcDsgJm5ic3A7JnF1b3Q7Y2F2aXVt XzAwMTEmcXVvdDs6ICZxdW90O3RodW5kZXItbmljdmYmcXVvdDssPGJyPg0KJm5ic3A7ICZuYnNw OyAmbmJzcDsmcXVvdDtJWEdCRV8xMEctWDU1MEVNX1hfU0ZQJnF1b3Q7OiAmcXVvdDtpeGdiZSZx dW90Oyw8YnI+DQotJm5ic3A7ICZuYnNwOyAmcXVvdDtjYXZpdW1fYTA2MyZxdW90OzogJnF1b3Q7 b2N0ZW9udHgyLW5pY3BmJnF1b3Q7LDxicj4NCi0mbmJzcDsgJm5ic3A7ICZxdW90O2Nhdml1bV9h MDY0JnF1b3Q7OiAmcXVvdDtvY3Rlb250eDItbmljdmYmcXVvdDssPGJyPg0KKyZuYnNwOyAmbmJz cDsgJnF1b3Q7Y2F2aXVtX2EwNjMmcXVvdDs6ICZxdW90O3J2dV9uaWNwZiZxdW90Oyw8YnI+DQor Jm5ic3A7ICZuYnNwOyAmcXVvdDtjYXZpdW1fYTA2NCZxdW90OzogJnF1b3Q7cnZ1X25pY3ZmJnF1 b3Q7LDwvZGl2Pg0KPC9ibG9ja3F1b3RlPg0KPGRpdiBzdHlsZT0iZGlyZWN0aW9uOiBsdHI7Ij48 YnI+DQo8L2Rpdj4NCjxkaXYgc3R5bGU9ImRpcmVjdGlvbjogbHRyOyI+T2theSBkaXNyZWdhcmQg bXkgY29tbWVudCBmcm9tIGFib3ZlIGFib3V0IG5pY3ZmLCBJIHNlZSB5b3UndmUgYWRkZWQgaXQu IFBsZWFzZSBkbyB1cGRhdGUgdGhlIGNvbW1pdCBtZXNzYWdlIHRvIHJlZmxlY3QgdGhhdCB0aGlz IGlzIGluY2x1ZGVkLiBBbmQsIHdoaWxlIHlvdSdyZSBhdCBpdCwgeW91IGNhbiB1cGRhdGUgdGhl IGNvbW1pdCBtZXNzYWdlIHRvIGFjY29yZCB3aXRoIHRoZSBzdHlsZSBndWlkZWxpbmVzDQogZm9y IHN1Ym1pdHRpbmcgRFBESyBwYXRjaGVzIGFzIHNlZW4gaGVyZSBvbiBzZWN0aW9ucyA5LjYgYW5k IDkuNyA8YSBocmVmPSJodHRwczovL3VybGRlZmVuc2UucHJvb2Zwb2ludC5jb20vdjIvdXJsP3U9 aHR0cHMtM0FfX2RvYy5kcGRrLm9yZ19ndWlkZXNfY29udHJpYnV0aW5nX3BhdGNoZXMuaHRtbCZh bXA7ZD1Ed01GYVEmYW1wO2M9bktqV2VjMmI2UjBtT3lQYXo3eHRmUSZhbXA7cj1VbGFvYzFMaVRr RTVSRzY5Y0xrTWE3UDl4R1RMMHJQNkxvc3VEUzhLT2U0JmFtcDttPXlNUXVUeGlyeGxEc3dFT2dN dERSZjZaYktQNVdIdXdtbENoNEwwT0QyX1NSVHBGV04xM3IybUhHYVZ3NzlZbGQmYW1wO3M9MHpP ZEJtdEkwNmdnWVJMRzZoTTQyUEFOcFBDRE90d0ZtRno1RVdVS1ZBdyZhbXA7ZT0iIGlkPSJPV0Fm MDRjMGY4MS0zZDdjLWE5YTgtYzQxNC1lNWFjYmM1YThlNDciIGNsYXNzPSJ4X3hfT1dBQXV0b0xp bmsiIGRhdGEtYXV0aD0iTm90QXBwbGljYWJsZSI+DQpodHRwczovL2RvYy5kcGRrLm9yZy9ndWlk ZXMvY29udHJpYnV0aW5nL3BhdGNoZXMuaHRtbDwvYT48L2Rpdj4NCjxkaXYgc3R5bGU9ImRpcmVj dGlvbjogbHRyOyBmb250LWZhbWlseTogQXB0b3MsIEFwdG9zX0VtYmVkZGVkRm9udCwgQXB0b3Nf TVNGb250U2VydmljZSwgQ2FsaWJyaSwgSGVsdmV0aWNhLCBzYW5zLXNlcmlmOyBmb250LXNpemU6 IDExcHQ7IGNvbG9yOiByZ2IoMTIsIDEwMCwgMTkyKTsiPg0KPGJyPg0KPC9kaXY+DQo8ZGl2IGNs YXNzPSJlbGVtZW50VG9Qcm9vZiIgc3R5bGU9ImRpcmVjdGlvbjogbHRyOyBmb250LWZhbWlseTog QXB0b3MsIEFwdG9zX0VtYmVkZGVkRm9udCwgQXB0b3NfTVNGb250U2VydmljZSwgQ2FsaWJyaSwg SGVsdmV0aWNhLCBzYW5zLXNlcmlmOyBmb250LXNpemU6IDExcHQ7IGNvbG9yOiByZ2IoMTIsIDEw MCwgMTkyKTsiPg0KVGhpcyBjaGFuZ2UgbWVzc2FnZSBpcyBhbHJlYWR5IHBhcnQgb2YgdGhlIGNv bW1pdCBtZXNzYWdlLiZuYnNwOzwvZGl2Pg0KPGRpdiBjbGFzcz0iZWxlbWVudFRvUHJvb2YiIHN0 eWxlPSJkaXJlY3Rpb246IGx0cjsgZm9udC1mYW1pbHk6IEFwdG9zLCBBcHRvc19FbWJlZGRlZEZv bnQsIEFwdG9zX01TRm9udFNlcnZpY2UsIENhbGlicmksIEhlbHZldGljYSwgc2Fucy1zZXJpZjsg Zm9udC1zaXplOiAxMXB0OyBjb2xvcjogcmdiKDEyLCAxMDAsIDE5Mik7Ij4NClJlZ2FyZGluZyB0 aGUgc3R5bGUgZ3VpZGVsaW5lLCBJIGhhdmUgdHJpZWQgdG8gaW5jb3Jwb3JhdGUgaW4gdGhlIHVw ZGF0ZWQgcGF0Y2gsIHBsZWFzZSBoZWxwIG1lIGluIGNhc2UgZnVydGhlciBjaGFuZ2VzIGFyZSBu ZWVkZWQ8L2Rpdj4NCjxkaXYgc3R5bGU9ImRpcmVjdGlvbjogbHRyOyBmb250LWZhbWlseTogQXB0 b3MsIEFwdG9zX0VtYmVkZGVkRm9udCwgQXB0b3NfTVNGb250U2VydmljZSwgQ2FsaWJyaSwgSGVs dmV0aWNhLCBzYW5zLXNlcmlmOyBmb250LXNpemU6IDExcHQ7IGNvbG9yOiByZ2IoMCwgMCwgMCk7 Ij4NCjxicj4NCjwvZGl2Pg0KPGRpdiBjbGFzcz0iZWxlbWVudFRvUHJvb2YiIHN0eWxlPSJkaXJl Y3Rpb246IGx0cjsiPiZuYnNwOzwvZGl2Pg0KPGRpdiBzdHlsZT0iZGlyZWN0aW9uOiBsdHI7Ij46 KTwvZGl2Pg0KPGRpdiBzdHlsZT0iZGlyZWN0aW9uOiBsdHI7Ij48YnI+DQo8L2Rpdj4NCjxibG9j a3F1b3RlIHN0eWxlPSJtYXJnaW46IDBweCAwcHggMHB4IDAuOGV4OyBwYWRkaW5nLWxlZnQ6IDFl eDsgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCByZ2IoMjA0LCAyMDQsIDIwNCk7Ij4NCjxkaXYgc3R5 bGU9ImRpcmVjdGlvbjogbHRyOyI+Jm5ic3A7ICZuYnNwOyAmbmJzcDsmcXVvdDtJQ0VfMTAwRy1F ODEwQ19RU0ZQJnF1b3Q7OiAmcXVvdDtpY2UmcXVvdDssPGJyPg0KJm5ic3A7ICZuYnNwOyAmbmJz cDsmcXVvdDtJQ0VfMjVHLUU4MTBDX1NGUCZxdW90OzogJnF1b3Q7aWNlJnF1b3Q7LDxicj4NCiZu YnNwOyAmbmJzcDsgJm5ic3A7JnF1b3Q7SUNFXzI1Ry1FODIzQ19RU0ZQJnF1b3Q7OiAmcXVvdDtp Y2UmcXVvdDssPGJyPg0KZGlmZiAtLWdpdCBhL2ZyYW1ld29yay9zc2hfcGV4cGVjdC5weSBiL2Zy YW1ld29yay9zc2hfcGV4cGVjdC5weTxicj4NCmluZGV4IDIxMzJjMDY2Li5hOTYwODdkMiAxMDA2 NDQ8YnI+DQotLS0gYS9mcmFtZXdvcmsvc3NoX3BleHBlY3QucHk8YnI+DQorKysgYi9mcmFtZXdv cmsvc3NoX3BleHBlY3QucHk8YnI+DQpAQCAtMTg2LDcgKzE4Niw3IEBAIGNsYXNzIFNTSFBleHBl Y3Q6PGJyPg0KPGJyPg0KJm5ic3A7ICZuYnNwOyAmbmJzcDtkZWYgZ2V0X291dHB1dF9hbGwoc2Vs Zik6PGJyPg0KJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwO291dHB1dCA9IHNlbGYu c2Vzc2lvbi5iZWZvcmU8YnI+DQotJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7IG91dHB1dC5y ZXBsYWNlKCZxdW90O1tQRVhQRUNUXSZxdW90OywgJnF1b3Q7JnF1b3Q7KTxicj4NCismbmJzcDsg Jm5ic3A7ICZuYnNwOyAmbmJzcDsgb3V0cHV0ID0gb3V0cHV0LnJlcGxhY2UoJnF1b3Q7W1BFWFBF Q1RdIyZxdW90OywgJnF1b3Q7JnF1b3Q7KTwvZGl2Pg0KPC9ibG9ja3F1b3RlPg0KPGRpdiBzdHls ZT0iZGlyZWN0aW9uOiBsdHI7Ij48YnI+DQo8L2Rpdj4NCjxkaXYgc3R5bGU9ImRpcmVjdGlvbjog bHRyOyI+U28sIHRoaXMgaXMganVzdCByZW1vdmluZyB0aGUgbGVhZGluZyAmcXVvdDsjJnF1b3Q7 IGZyb20gdGhlIG91dHB1dD8gSSdtIG5vdCBzdXJlIHdlIHNob3VsZCBiZSBtYWtpbmcgc3R5bGlu ZyBjaGFuZ2VzIGZvciBhICZxdW90O2RlcHJlY2F0ZWQmcXVvdDsgcmVwb3NpdG9yeS4gSWYgSSBs b29rIGF0IHRoaXMgZXhhbXBsZSBvdXRwdXQsIGZyb20gb25lIG9mIHRoZSBDSSBydW5zIG9mIHRo aXMgdGVzdHN1aXRlIG9uIGEgcXVpY2thc3Npc3QNCiBjYXJkOiZuYnNwOzwvZGl2Pg0KPGRpdiBz dHlsZT0iZGlyZWN0aW9uOiBsdHI7Ij48YnI+DQo8L2Rpdj4NCjxkaXYgc3R5bGU9ImRpcmVjdGlv bjogbHRyOyI+IyBEZXZpY2UgMSBvbiBsY29yZSA0MDxicj4NCjxicj4NCiMgdG90YWwgb3BlcmF0 aW9uczogMzAwMDAwMDA8YnI+DQojIEJ1ZmZlciBzaXplOiAxMDI0PGJyPg0KIyBCdXJzdCBzaXpl OiAzMjxicj4NCiMgJm5ic3A7ICZuYnNwOyBOdW1iZXIgb2YgYnVyc3RzOiA5Mzc1MDA8YnI+DQoj PGJyPg0KIyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsg Jm5ic3A7IFRvdGFsICZuYnNwOyBBdmVyYWdlICZuYnNwOyBNYXhpbXVtICZuYnNwOyBNaW5pbXVt PGJyPg0KIyAmbmJzcDtlbnF1ZXVlZCAmbmJzcDsgJm5ic3A7MzAwMDAwMDAgJm5ic3A7ICZuYnNw OyAmbmJzcDsgJm5ic3A7MzIgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7MzIgJm5ic3A7ICZu YnNwOyAmbmJzcDsgJm5ic3A7MzI8YnI+DQojICZuYnNwO2RlcXVldWVkICZuYnNwOyAmbmJzcDsz MDAwMDAwMCAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDszMiAmbmJzcDsgJm5ic3A7ICZuYnNw OyAmbmJzcDszMiAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgMTxicj4NCiMgJm5ic3A7ICZu YnNwO2N5Y2xlcyA5MTg5Mjg3NjYxMCAmbmJzcDsgJm5ic3A7ICZuYnNwOzMwNjMgJm5ic3A7ICZu YnNwOzMwNDYyNSAmbmJzcDsgJm5ic3A7ICZuYnNwOyA0ODU8YnI+DQojIHRpbWUgW3VzXSAmbmJz cDszNjc1NzE1MDY0ICZuYnNwOyAxMjIuNTIwIDEyMTg1LjAwMCAmbmJzcDsgJm5ic3A7MTkuNDAw PC9kaXY+DQo8ZGl2IHN0eWxlPSJkaXJlY3Rpb246IGx0cjsiPjxicj4NCjwvZGl2Pg0KPGRpdiBz dHlsZT0iZGlyZWN0aW9uOiBsdHI7Ij5JIGltYWdpbmUgdGhlIERUUyBtYWludGFpbmVycyB3ZXJl IGF3YXJlIG9mIHRoaXMgYW5kIHRob3VnaHQgaXQgd2FzIHRoZSBtb3N0IGNsZWFyIHdheSB0byBw cmludCB0aGUgbG9ncy4gSSBkb24ndCB0aGluayB3ZSBuZWVkIHRvIG92ZXJyaWRlIHRoYXQgZGVj aXNpb24gbm93LjwvZGl2Pg0KPGRpdiBzdHlsZT0iZGlyZWN0aW9uOiBsdHI7Ij48YnI+DQo8L2Rp dj4NCjxkaXYgc3R5bGU9ImRpcmVjdGlvbjogbHRyOyBmb250LWZhbWlseTogQXB0b3MsIEFwdG9z X0VtYmVkZGVkRm9udCwgQXB0b3NfTVNGb250U2VydmljZSwgQ2FsaWJyaSwgSGVsdmV0aWNhLCBz YW5zLXNlcmlmOyBmb250LXNpemU6IDExcHQ7IGNvbG9yOiByZ2IoMTIsIDEwMCwgMTkyKTsiPg0K VGhpcyBpcyBub3QgYSBzdHlsaW5nIGNoYW5nZS48L2Rpdj4NCjxkaXYgc3R5bGU9ImRpcmVjdGlv bjogbHRyOyBmb250LWZhbWlseTogQXB0b3MsIEFwdG9zX0VtYmVkZGVkRm9udCwgQXB0b3NfTVNG b250U2VydmljZSwgQ2FsaWJyaSwgSGVsdmV0aWNhLCBzYW5zLXNlcmlmOyBmb250LXNpemU6IDEx cHQ7IGNvbG9yOiByZ2IoMTIsIDEwMCwgMTkyKTsiPg0Kb3V0cHV0LnJlcGxhY2Ugd2lsbCBub3Qg cmVwbGFjZSB0aGUgc3BlY2lhbCBwcm9tcHQgJnF1b3Q7W1BFWFBFQ1RdJnF1b3Q7IGRpcmVjdGx5 IG9uIHRoZSB2YXJpYWJsZS48L2Rpdj4NCjxkaXYgc3R5bGU9ImRpcmVjdGlvbjogbHRyOyBmb250 LWZhbWlseTogQXB0b3MsIEFwdG9zX0VtYmVkZGVkRm9udCwgQXB0b3NfTVNGb250U2VydmljZSwg Q2FsaWJyaSwgSGVsdmV0aWNhLCBzYW5zLXNlcmlmOyBmb250LXNpemU6IDExcHQ7IGNvbG9yOiBy Z2IoMTIsIDEwMCwgMTkyKTsiPg0Kb3V0cHV0IHZhcmlhYmxlIG5lZWRzIHRvIGJlIG92ZXJ3cml0 dGVuIHRvIGhhdmUgdGhlIG91dHB1dCBzdHJpcCBvZiB0aGUgcHJvbXB0IFtJIGFtIG92ZXJ3cml0 aW5nIG91dHB1dCBdPC9kaXY+DQo8ZGl2IHN0eWxlPSJkaXJlY3Rpb246IGx0cjsgZm9udC1mYW1p bHk6IEFwdG9zLCBBcHRvc19FbWJlZGRlZEZvbnQsIEFwdG9zX01TRm9udFNlcnZpY2UsIENhbGli cmksIEhlbHZldGljYSwgc2Fucy1zZXJpZjsgZm9udC1zaXplOiAxMXB0OyBjb2xvcjogcmdiKDEy LCAxMDAsIDE5Mik7Ij4NCnNwZWNpYWwgcHJvbXB0IHZhcmlhYmxlIGlzICZxdW90O1tQRVhQRUNU XSMmcXVvdDssIG5vdCB0aGUgJnF1b3Q7W1BFWFBFQ1RdJnF1b3Q7LiBoZW5jZSBvdXRwdXQgd2ls bCBoYXZlIHVud2FudGVkICZxdW90OyMmcXVvdDsgc3RyaW5nLiZuYnNwOzwvZGl2Pg0KPGRpdiBz dHlsZT0iZGlyZWN0aW9uOiBsdHI7IGZvbnQtZmFtaWx5OiBBcHRvcywgQXB0b3NfRW1iZWRkZWRG b250LCBBcHRvc19NU0ZvbnRTZXJ2aWNlLCBDYWxpYnJpLCBIZWx2ZXRpY2EsIHNhbnMtc2VyaWY7 IGZvbnQtc2l6ZTogMTFwdDsgY29sb3I6IHJnYigwLCAwLCAwKTsiPg0K4oCC4oCC4oCC4oCC4oCC 4oCCJm5ic3A7PC9kaXY+DQo8ZGl2IHN0eWxlPSJkaXJlY3Rpb246IGx0cjsiPiZuYnNwOzwvZGl2 Pg0KPGRpdiBzdHlsZT0iZGlyZWN0aW9uOiBsdHI7Ij48YnI+DQo8L2Rpdj4NCjxibG9ja3F1b3Rl IHN0eWxlPSJtYXJnaW46IDBweCAwcHggMHB4IDAuOGV4OyBwYWRkaW5nLWxlZnQ6IDFleDsgYm9y ZGVyLWxlZnQ6IDFweCBzb2xpZCByZ2IoMjA0LCAyMDQsIDIwNCk7Ij4NCjxkaXYgc3R5bGU9ImRp cmVjdGlvbjogbHRyOyI+Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwO3JldHVybiBv dXRwdXQ8YnI+DQo8YnI+DQombmJzcDsgJm5ic3A7ICZuYnNwO2RlZiBjbG9zZShzZWxmLCBmb3Jj ZT1GYWxzZSk6PGJyPg0KZGlmZiAtLWdpdCBhL25pY3MvbmV0X2RldmljZS5weSBiL25pY3MvbmV0 X2RldmljZS5weTxicj4NCmluZGV4IDBmOWMxYWY0Li5kZDBkMGU5MiAxMDA2NDQ8YnI+DQotLS0g YS9uaWNzL25ldF9kZXZpY2UucHk8YnI+DQorKysgYi9uaWNzL25ldF9kZXZpY2UucHk8YnI+DQpA QCAtNDMsNiArNDMsNyBAQCBjbGFzcyBOZXREZXZpY2Uob2JqZWN0KTo8YnI+DQombmJzcDsgJm5i c3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7aWYgbm90IGlzaW5zdGFuY2UoY3JiLCBDcmIpOjxicj4N CiZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwO3JhaXNlIEV4 Y2VwdGlvbigmcXVvdDsmbmJzcDsgUGxlYXNlIGlucHV0IHRoZSBpbnN0YW5jZSBvZiBDcmIhISEm cXVvdDspPGJyPg0KJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwO3NlbGYuY3JiID0g Y3JiPGJyPg0KKyZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyBzZWxmLl9fc2VuZF9leHBlY3Qg PSBzZWxmLmNyYi5zZW5kX2V4cGVjdDxicj4NCiZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAm bmJzcDtzZWxmLmRvbWFpbl9pZCA9IGRvbWFpbl9pZDxicj4NCiZuYnNwOyAmbmJzcDsgJm5ic3A7 ICZuYnNwOyAmbmJzcDtzZWxmLmJ1c19pZCA9IGJ1c19pZDxicj4NCiZuYnNwOyAmbmJzcDsgJm5i c3A7ICZuYnNwOyAmbmJzcDtzZWxmLmRldmZ1bl9pZCA9IGRldmZ1bl9pZDxicj4NCkBAIC03Mjcs NiArNzI4LDggQEAgY2xhc3MgTmV0RGV2aWNlKG9iamVjdCk6PGJyPg0KJm5ic3A7ICZuYnNwOyAm bmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7JnF1b3Q7L3N5cy9idXMvcGNpL2Rldmlj ZXMvJXM6JXM6JXMmcXVvdDsgJSAoZG9tYWluX2lkLCBidXNfaWQsIGRldmZ1bl9pZCksPGJyPg0K Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7dmZfcmVnX2Zp bGUsPGJyPg0KJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyk8YnI+DQorJm5ic3A7 ICZuYnNwOyAmbmJzcDsgJm5ic3A7IHNlbGYuX19zZW5kX2V4cGVjdCgmcXVvdDtlY2hvIDAgJmd0 OyAlcyZxdW90OyAlPGJyPg0KKyZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5i c3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJz cDsodmZfcmVnX3BhdGgpLCAmcXVvdDsjICZxdW90Oyk8L2Rpdj4NCjwvYmxvY2txdW90ZT4NCjxk aXYgc3R5bGU9ImRpcmVjdGlvbjogbHRyOyI+PGJyPg0KPC9kaXY+DQo8ZGl2IHN0eWxlPSJkaXJl Y3Rpb246IGx0cjsiPlNvLCB0aGUgcHJlLWV4aXN0aW5nIFZGcyBuZWVkIHRvIGJlIGRlc3Ryb3ll ZCBiZWZvcmUgYSBuZXcgc2V0IG9mIFZGcyBjYW4gYmUgY3JlYXRlZD8gRG8geW91IGtub3cgaWYg dGhpcyBpcyBNYXJ2ZWxsIHNwZWNpZmljLCBvciBhIHVuaXZlcnNhbCBiZWhhdmlvcj8mbmJzcDs8 L2Rpdj4NCjxkaXYgc3R5bGU9ImRpcmVjdGlvbjogbHRyOyI+PGJyPg0KPC9kaXY+DQo8ZGl2IHN0 eWxlPSJkaXJlY3Rpb246IGx0cjsgZm9udC1mYW1pbHk6IEFwdG9zLCBBcHRvc19FbWJlZGRlZEZv bnQsIEFwdG9zX01TRm9udFNlcnZpY2UsIENhbGlicmksIEhlbHZldGljYSwgc2Fucy1zZXJpZjsg Zm9udC1zaXplOiAxMXB0OyBjb2xvcjogcmdiKDEyLCAxMDAsIDE5Mik7Ij4NCkkgYW0gbm90IGF3 YXJlIG9mIHRoZSBvdGhlciBib2FyZHMsIGJ1dCBpdCBpcyB0aGUgY2xlYW4gd2F5IG9mIGNyZWF0 aW5nIHRoZSBWRnMuJm5ic3A7PC9kaXY+DQo8ZGl2IHN0eWxlPSJkaXJlY3Rpb246IGx0cjsiPiZu YnNwOzwvZGl2Pg0KPGJsb2NrcXVvdGUgc3R5bGU9Im1hcmdpbjogMHB4IDBweCAwcHggMC44ZXg7 IHBhZGRpbmctbGVmdDogMWV4OyBib3JkZXItbGVmdDogMXB4IHNvbGlkIHJnYigyMDQsIDIwNCwg MjA0KTsiPg0KPGRpdiBzdHlsZT0iZGlyZWN0aW9uOiBsdHI7Ij4mbmJzcDsgJm5ic3A7ICZuYnNw OyAmbmJzcDsgJm5ic3A7c2VsZi5fX3NlbmRfZXhwZWN0KCZxdW90O2VjaG8gJWQgJmd0OyAlcyZx dW90OyAlIChpbnQodmZfbnVtKSwgdmZfcmVnX3BhdGgpLCAmcXVvdDsjICZxdW90Oyk8YnI+DQo8 YnI+DQombmJzcDsgJm5ic3A7ICZuYnNwO2RlZiBnZW5lcmF0ZV9zcmlvdl92ZnNfbGludXhfaWdi X3VpbyhzZWxmLCBkb21haW5faWQsIGJ1c19pZCwgZGV2ZnVuX2lkLCB2Zl9udW0pOjxicj4NCmRp ZmYgLS1naXQgYS90ZXN0cy9UZXN0U3VpdGVfY3J5cHRvX3BlcmZfY3J5cHRvZGV2X3BlcmYucHkg Yi90ZXN0cy9UZXN0U3VpdGVfY3J5cHRvX3BlcmZfY3J5cHRvZGV2X3BlcmYucHk8YnI+DQppbmRl eCBhM2Y0OGVlZS4uYjQzNWNlZmEgMTAwNjQ0PGJyPg0KLS0tIGEvdGVzdHMvVGVzdFN1aXRlX2Ny eXB0b19wZXJmX2NyeXB0b2Rldl9wZXJmLnB5PGJyPg0KKysrIGIvdGVzdHMvVGVzdFN1aXRlX2Ny eXB0b19wZXJmX2NyeXB0b2Rldl9wZXJmLnB5PGJyPg0KQEAgLTU5LDE0ICs1OSw3NCBAQCBjbGFz cyBUZXN0Q3J5cHRvUGVyZkNyeXB0b2RldlBlcmYoVGVzdENhc2UpOjxicj4NCiZuYnNwOyAmbmJz cDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7JnF1b3Q7 IyAmcXVvdDssPGJyPg0KJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsg Jm5ic3A7ICZuYnNwOyAmbmJzcDs1LDxicj4NCiZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAm bmJzcDsgJm5ic3A7ICZuYnNwOyk8YnI+DQotPGJyPg0KLSZuYnNwOyAmbmJzcDsgJm5ic3A7ICZu YnNwOyBjYy5iaW5kX3FhdF9kZXZpY2Uoc2VsZiwgJnF1b3Q7dmZpby1wY2kmcXVvdDspPGJyPg0K KyZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyBpZiBzZWxmLm5pYyA9PSAmcXVvdDtjYXZpdW1f YTA2MyZxdW90Ozo8YnI+DQorJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJz cDsgY291bnQgPSBsZW4oc2VsZi5nZXRfc3VpdGVfY2ZnKCkuZ2V0KCdsJykuc3BsaXQoJnF1b3Q7 LCZxdW90OykpIC0gMTxicj4NCismbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZu YnNwOyBjYy5iaW5kX3FhdF9kZXZpY2Uoc2VsZiwgJnF1b3Q7dmZpby1wY2kmcXVvdDssIGdlbmVy YXRlX3Zmcz1UcnVlLCB2Zl9jb3VudD1jb3VudCk8YnI+DQorJm5ic3A7ICZuYnNwOyAmbmJzcDsg Jm5ic3A7IGVsc2U6PGJyPg0KKyZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5i c3A7IGNjLmJpbmRfcWF0X2RldmljZShzZWxmLCAmcXVvdDt2ZmlvLXBjaSZxdW90Oyk8L2Rpdj4N CjwvYmxvY2txdW90ZT4NCjxkaXYgc3R5bGU9ImRpcmVjdGlvbjogbHRyOyI+PGJyPg0KPC9kaXY+ DQo8ZGl2IHN0eWxlPSJkaXJlY3Rpb246IGx0cjsiPklmIHdlIGFyZSBnb2luZyB0byB1c2UgdGhp cyBmdW5jdGlvbiBmb3Igbm9uLVFBVCBkZXZpY2VzLCBjYW4gd2UgcGxlYXNlIHVwZGF0ZSB0aGUg ZnVuY3Rpb24gbmFtZSB0byBwcmV2ZW50IGNvbmZ1c2lvbj8gSXQgbG9va3MgbGlrZSBpdCdzIGEg c2hvcnQgbGlzdDo8L2Rpdj4NCjxkaXYgc3R5bGU9ImRpcmVjdGlvbjogbHRyOyI+PGJyPg0KPC9k aXY+DQo8ZGl2IHN0eWxlPSJkaXJlY3Rpb246IGx0cjsgZm9udC1mYW1pbHk6IEFwdG9zLCBBcHRv c19FbWJlZGRlZEZvbnQsIEFwdG9zX01TRm9udFNlcnZpY2UsIENhbGlicmksIEhlbHZldGljYSwg c2Fucy1zZXJpZjsgZm9udC1zaXplOiAxMXB0OyBjb2xvcjogcmdiKDEyLCAxMDAsIDE5Mik7Ij4N CkFkZHJlc3NlZCB0aGlzIGluJm5ic3A7IHRoZSB1cGRhdGVkIHBhdGNoPC9kaXY+DQo8ZGl2IHN0 eWxlPSJkaXJlY3Rpb246IGx0cjsgZm9udC1mYW1pbHk6IEFwdG9zLCBBcHRvc19FbWJlZGRlZEZv bnQsIEFwdG9zX01TRm9udFNlcnZpY2UsIENhbGlicmksIEhlbHZldGljYSwgc2Fucy1zZXJpZjsg Zm9udC1zaXplOiAxMXB0OyBjb2xvcjogcmdiKDAsIDAsIDApOyI+DQo8YnI+DQo8L2Rpdj4NCjxk aXYgc3R5bGU9ImRpcmVjdGlvbjogbHRyOyI+cHJvYmJAZDEyMTAwMzp+L3JlcG9zL2R0cyZndDsg Z3JlcCAtciAmcXVvdDtiaW5kX3FhdF9kJnF1b3Q7IC48YnI+DQouL3Rlc3RzL1Rlc3RTdWl0ZV9j b21wcmVzc2Rldl9xYXRfcG1kLnB5OiAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDtjYy5iaW5k X3FhdF9kZXZpY2Uoc2VsZiwgc2VsZi5kcml2ZXJuYW1lKTxicj4NCi4vdGVzdHMvVGVzdFN1aXRl X2NyeXB0b19wZXJmX2NyeXB0b2Rldl9wZXJmLnB5OiAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJz cDtjYy5iaW5kX3FhdF9kZXZpY2Uoc2VsZiwgJnF1b3Q7dmZpby1wY2kmcXVvdDspPGJyPg0KLi90 ZXN0cy9UZXN0U3VpdGVfZmlwc19jcnlwdG9kZXYucHk6ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZu YnNwO2NjLmJpbmRfcWF0X2RldmljZShzZWxmLCAmcXVvdDt2ZmlvLXBjaSZxdW90Oyk8YnI+DQou L3Rlc3RzL1Rlc3RTdWl0ZV9pcHNlY19nd19jcnlwdG9kZXZfZnVuYy5weTogJm5ic3A7ICZuYnNw OyAmbmJzcDsgJm5ic3A7Y2MuYmluZF9xYXRfZGV2aWNlKHNlbGYsIHNlbGYuZHJpdmVybmFtZSk8 YnI+DQouL3Rlc3RzL1Rlc3RTdWl0ZV9sMmZ3ZF9jcnlwdG9kZXZfZnVuYy5weTogJm5ic3A7ICZu YnNwOyAmbmJzcDsgJm5ic3A7Y2MuYmluZF9xYXRfZGV2aWNlKHNlbGYsIHNlbGYuZHJpdmVybmFt ZSk8YnI+DQouL3Rlc3RzL1Rlc3RTdWl0ZV92aXJ0aW9faXBzZWNfY3J5cHRvZGV2X2Z1bmMucHk6 ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwO2NjLmJpbmRfcWF0X2RldmljZShzZWxmLCBzZWxm LmRyaXZlcm5hbWUpPGJyPg0KLi90ZXN0cy9UZXN0U3VpdGVfdmlydGlvX3BlcmZfY3J5cHRvZGV2 X2Z1bmMucHk6ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwO2NjLmJpbmRfcWF0X2RldmljZShz ZWxmLCBzZWxmLmRyaXZlcm5hbWUpPGJyPg0KLi90ZXN0cy9UZXN0U3VpdGVfdmlydGlvX3VuaXRf Y3J5cHRvZGV2X2Z1bmMucHk6ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwO2NjLmJpbmRfcWF0 X2RldmljZShzZWxmLCBzZWxmLmRyaXZlcm5hbWUpPGJyPg0KLi90ZXN0cy9jb21wcmVzc19jb21t b24ucHk6ZGVmIGJpbmRfcWF0X2RldmljZSh0ZXN0X2Nhc2UsIGRyaXZlcj0mcXVvdDtpZ2JfdWlv JnF1b3Q7KTo8YnI+DQouL3Rlc3RzL2NyeXB0b2Rldl9jb21tb24ucHk6ZGVmIGJpbmRfcWF0X2Rl dmljZSh0ZXN0X2Nhc2UsIGRyaXZlcj0mcXVvdDtpZ2JfdWlvJnF1b3Q7KTo8L2Rpdj4NCjxkaXYg c3R5bGU9ImRpcmVjdGlvbjogbHRyOyI+PGJyPg0KPC9kaXY+DQo8ZGl2IHN0eWxlPSJkaXJlY3Rp b246IGx0cjsgZm9udC1mYW1pbHk6IEFwdG9zLCBBcHRvc19FbWJlZGRlZEZvbnQsIEFwdG9zX01T Rm9udFNlcnZpY2UsIENhbGlicmksIEhlbHZldGljYSwgc2Fucy1zZXJpZjsgZm9udC1zaXplOiAx MXB0OyBjb2xvcjogcmdiKDEyLCAxMDAsIDE5Mik7Ij4NCjxicj4NCjwvZGl2Pg0KPGRpdiBzdHls ZT0iZGlyZWN0aW9uOiBsdHI7Ij4mbmJzcDs8L2Rpdj4NCjxibG9ja3F1b3RlIHN0eWxlPSJtYXJn aW46IDBweCAwcHggMHB4IDAuOGV4OyBwYWRkaW5nLWxlZnQ6IDFleDsgYm9yZGVyLWxlZnQ6IDFw eCBzb2xpZCByZ2IoMjA0LCAyMDQsIDIwNCk7Ij4NCjxkaXYgc3R5bGU9ImRpcmVjdGlvbjogbHRy OyI+Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwO3NyY19maWxlcyA9IFsmcXVvdDtk ZXAvdGVzdF9hZXNfY2JjLmRhdGEmcXVvdDssICZxdW90O2RlcC90ZXN0X2Flc19nY20uZGF0YSZx dW90O108YnI+DQombmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7c2VsZi5kdXRfZmls ZV9kaXIgPSAmcXVvdDsvdG1wJnF1b3Q7PGJyPg0KJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7 ICZuYnNwO2ZvciBmaWxlIGluIHNyY19maWxlczo8YnI+DQombmJzcDsgJm5ic3A7ICZuYnNwOyAm bmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDtzZWxmLmR1dC5zZXNzaW9uLmNvcHlfZmlsZV90byhm aWxlLCBzZWxmLmR1dF9maWxlX2Rpcik8YnI+DQo8YnI+DQombmJzcDsgJm5ic3A7ICZuYnNwO2Rl ZiB0ZWFyX2Rvd25fYWxsKHNlbGYpOjxicj4NCismbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsg aWYgc2VsZi5uaWMgPT0gJnF1b3Q7Y2F2aXVtX2EwNjMmcXVvdDs6PGJyPg0KKyZuYnNwOyAmbmJz cDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7IGNjLmJpbmRfcWF0X2RldmljZShzZWxmLCAm cXVvdDt2ZmlvLXBjaSZxdW90OywgZ2VuZXJhdGVfdmZzPVRydWUsPGJyPg0KKyZuYnNwOyAmbmJz cDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNw OyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwO3ZmX2NvdW50PTIpPGJy Pg0KKyZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7IGltcG9ydCBwYW5k YXMgYXMgcGQ8L2Rpdj4NCjwvYmxvY2txdW90ZT4NCjxkaXYgc3R5bGU9ImRpcmVjdGlvbjogbHRy OyI+PGJyPg0KPC9kaXY+DQo8ZGl2IHN0eWxlPSJkaXJlY3Rpb246IGx0cjsiPkkgZG9uJ3QgaGF2 ZSBhIHByb2JsZW0gd2l0aCB0aGlzLCBidXQgSSdtIGp1c3Qgd29uZGVyaW5nIHdoeSB0aGlzIGlz IGltcG9ydGVkIGhlcmUgYXMgb3Bwb3NlZCB0byB0aGUgdG9wIG9mIHRoZSBmaWxlPzwvZGl2Pg0K PGRpdiBzdHlsZT0iZGlyZWN0aW9uOiBsdHI7Ij48YnI+DQo8L2Rpdj4NCjxkaXYgc3R5bGU9ImRp cmVjdGlvbjogbHRyOyBmb250LWZhbWlseTogQXB0b3MsIEFwdG9zX0VtYmVkZGVkRm9udCwgQXB0 b3NfTVNGb250U2VydmljZSwgQ2FsaWJyaSwgSGVsdmV0aWNhLCBzYW5zLXNlcmlmOyBmb250LXNp emU6IDExcHQ7IGNvbG9yOiByZ2IoMTIsIDEwMCwgMTkyKTsiPg0Kd3J0IHRvIHBhbmRhcyBpbXBv cnQsIGFzIHdlIGFyZSBnZW5lcmF0aW5nIHRoaXMgcmVwb3J0IG9ubHkgaW4gTWFydmVsbCBjYXNl LiB0aGlzIGltcG9ydCBzaG91bGQgbm90IGFmZmVjdCBvdGhlcnM8L2Rpdj4NCjxkaXYgc3R5bGU9 ImRpcmVjdGlvbjogbHRyOyI+Jm5ic3A7PC9kaXY+DQo8YmxvY2txdW90ZSBzdHlsZT0ibWFyZ2lu OiAwcHggMHB4IDBweCAwLjhleDsgcGFkZGluZy1sZWZ0OiAxZXg7IGJvcmRlci1sZWZ0OiAxcHgg c29saWQgcmdiKDIwNCwgMjA0LCAyMDQpOyI+DQo8ZGl2IHN0eWxlPSJkaXJlY3Rpb246IGx0cjsi PismbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyB0dXBsZXMgPSBbKCdU ZXN0Q2FzZScsKSwgKCdwZXJmb3JtYW5jZScsICdmYWlsZWRfZW5xJyksPGJyPg0KKyZuYnNwOyAm bmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZu YnNwOyAmbmJzcDsgKCdwZXJmb3JtYW5jZScsICdmYWlsZWRfZGVxJyksPGJyPg0KKyZuYnNwOyAm bmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZu YnNwOyAmbmJzcDsgKCdwZXJmb3JtYW5jZScsICd0aHJvdWdocHV0X21vcHMnKSw8YnI+DQorJm5i c3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJz cDsgJm5ic3A7ICZuYnNwOyAoJ3BlcmZvcm1hbmNlJywgJ2N5Y2xlX2J1ZicpLDxicj4NCismbmJz cDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNw OyAmbmJzcDsgJm5ic3A7ICgncGVyZm9ybWFuY2UnLCAndGhyb3VnaHB1dCcsICd2YWx1ZScpLDxi cj4NCismbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5i c3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICgncGVyZm9ybWFuY2UnLCAndGhyb3VnaHB1dCcsICdk ZWx0YScpLDxicj4NCismbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAm bmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICgncGFyYW1ldGVycycsICdjb3JlX251 bS90aHJlYWRfbnVtJyksPGJyPg0KKyZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsg Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgKCdwYXJhbWV0ZXJzJywg J2ZyYW1lX3NpemUnKSw8YnI+DQorJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAm bmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAoJ3BhcmFtZXRlcnMnLCAn YnVyc3Rfc2l6ZScpLDxicj4NCismbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZu YnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICgncGFyYW1ldGVycycsICd0 b3RhbF9vcHMnKSwgKCdzdGF0dXMnLCldPGJyPg0KKyZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNw OyAmbmJzcDsgJm5ic3A7IG1pbmRleCA9IHBkLk11bHRpSW5kZXguZnJvbV90dXBsZXModHVwbGVz KTxicj4NCismbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyBpbmRleCA9 IDA8YnI+DQorJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgZGYgPSBw ZC5EYXRhRnJhbWUoW10sIGNvbHVtbnM9bWluZGV4KTxicj4NCismbmJzcDsgJm5ic3A7ICZuYnNw OyAmbmJzcDsgJm5ic3A7ICZuYnNwOyBmb3IgdG5hbWUsIGRhdGEgaW4gc2VsZi5fcGVyZl9yZXN1 bHQuaXRlbXMoKTo8YnI+DQorJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJz cDsgJm5ic3A7ICZuYnNwOyBmb3IgZHQgaW4gZGF0YTo8YnI+DQorJm5ic3A7ICZuYnNwOyAmbmJz cDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7IGZvciBr ZXksIHZhbHVlIGluIGR0Lml0ZW1zKCk6PGJyPg0KKyZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNw OyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7 IGRmLmxvY1tpbmRleCwgJ1Rlc3RDYXNlJ10gPSB0bmFtZTxicj4NCismbmJzcDsgJm5ic3A7ICZu YnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5i c3A7ICZuYnNwOyBpZiBrZXkgPT0gJ3N0YXR1cyc6PGJyPg0KKyZuYnNwOyAmbmJzcDsgJm5ic3A7 ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsg Jm5ic3A7ICZuYnNwOyAmbmJzcDsgZGYubG9jW2luZGV4LCAoa2V5KV0gPSB2YWx1ZTxicj4NCism bmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZu YnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7IGNvbnRpbnVlPGJyPg0KKyZu YnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5i c3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7IGZvciBpdGVtIGluIHZhbHVlOjxicj4NCismbmJzcDsg Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAm bmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7IGlmIGl0ZW1bJ25hbWUnXSA9PSAndGhy b3VnaHB1dCc6PGJyPg0KKyZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7 ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsg Jm5ic3A7ICZuYnNwOyBkZi5sb2NbaW5kZXgsIChrZXksIGl0ZW1bJ25hbWUnXSwgJ3ZhbHVlJyld ID0gaXRlbVsndmFsdWUnXTxicj4NCismbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7 ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsg Jm5ic3A7ICZuYnNwOyAmbmJzcDsgZGYubG9jW2luZGV4LCAoa2V5LCBpdGVtWyduYW1lJ10sICdk ZWx0YScpXSA9IGl0ZW1bJ2RlbHRhJ108YnI+DQorJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7 ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsg Jm5ic3A7ICZuYnNwOyBlbHNlOjxicj4NCismbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5i c3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJz cDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgZGYubG9jW2luZGV4LCAoa2V5LCBpdGVtWyduYW1lJ10p XSA9IGl0ZW1bJ3ZhbHVlJ108YnI+DQorJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNw OyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7IGluZGV4ICs9IDE8YnI+DQorJm5i c3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgcGVyZl94bCA9IHNlbGYubG9n Z2VyLmxvZ19wYXRoICsgJnF1b3Q7LyZxdW90OyArICZxdW90O3BlcmZfY3J5cHRvZGV2X3Jlc3Vs dC54bHMmcXVvdDs8YnI+DQorJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJz cDsgd3JpdGVyID0gcGQuRXhjZWxXcml0ZXIocGVyZl94bCwgZW5naW5lPSd4bHN4d3JpdGVyJyk8 YnI+DQorJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgd2ImbmJzcDsg PSB3cml0ZXIuYm9vazxicj4NCismbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZu YnNwOyBkZi50b19leGNlbCh3cml0ZXIsIHNoZWV0X25hbWU9J1NoZWV0MScpPGJyPg0KKyZuYnNw OyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7IHdzID0gd3JpdGVyLnNoZWV0c1sm cXVvdDtTaGVldDEmcXVvdDtdPGJyPg0KKyZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJz cDsgJm5ic3A7IG1lcmdlX2Zvcm1hdCA9IHdiLmFkZF9mb3JtYXQoeyZxdW90O2JvbGQmcXVvdDs6 IDEsJnF1b3Q7Ym9yZGVyJnF1b3Q7OiAxLCZxdW90O2FsaWduJnF1b3Q7OiAmcXVvdDtjZW50ZXIm cXVvdDssPGJyPg0KKyZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZu YnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5i c3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZxdW90O3ZhbGln biZxdW90OzogJnF1b3Q7dmNlbnRlciZxdW90O30pPGJyPg0KKyZuYnNwOyAmbmJzcDsgJm5ic3A7 ICZuYnNwOyAmbmJzcDsgJm5ic3A7IHdzLm1lcmdlX3JhbmdlKCdCMTpCMycsICZxdW90O1Rlc3RD YXNlJnF1b3Q7LCBtZXJnZV9mb3JtYXQpPGJyPg0KKyZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNw OyAmbmJzcDsgJm5ic3A7IHdzLm1lcmdlX3JhbmdlKCdDMjpDMycsICZxdW90O2ZhaWxlZF9lbnEm cXVvdDssIG1lcmdlX2Zvcm1hdCk8YnI+DQorJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZu YnNwOyAmbmJzcDsgd3MubWVyZ2VfcmFuZ2UoJ0QyOkQzJywgJnF1b3Q7ZmFpbGVkX2RlcSZxdW90 OywgbWVyZ2VfZm9ybWF0KTxicj4NCismbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7 ICZuYnNwOyB3cy5tZXJnZV9yYW5nZSgnRTI6RTMnLCAmcXVvdDt0aHJvdWdocHV0X21vcHMmcXVv dDssIG1lcmdlX2Zvcm1hdCk8YnI+DQorJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNw OyAmbmJzcDsgd3MubWVyZ2VfcmFuZ2UoJ0YyOkYzJywgJnF1b3Q7dGhyb3VnaHB1dF9tb3BzJnF1 b3Q7LCBtZXJnZV9mb3JtYXQpPGJyPg0KKyZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJz cDsgJm5ic3A7IHdzLm1lcmdlX3JhbmdlKCdJMjpJMycsICZxdW90O2NvcmVfbnVtL3RocmVhZF9u dW0mcXVvdDssIG1lcmdlX2Zvcm1hdCk8YnI+DQorJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7 ICZuYnNwOyAmbmJzcDsgd3MubWVyZ2VfcmFuZ2UoJ0oyOkozJywgJnF1b3Q7ZnJhbWVfc2l6ZSZx dW90OywgbWVyZ2VfZm9ybWF0KTxicj4NCismbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5i c3A7ICZuYnNwOyB3cy5tZXJnZV9yYW5nZSgnSzI6SzMnLCAmcXVvdDtidXJzdF9zaXplJnF1b3Q7 LCBtZXJnZV9mb3JtYXQpPGJyPg0KKyZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsg Jm5ic3A7IHdzLm1lcmdlX3JhbmdlKCdMMjpMMycsICZxdW90O3RvdGFsX29wcyZxdW90OywgbWVy Z2VfZm9ybWF0KTxicj4NCismbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNw OyB3cy5tZXJnZV9yYW5nZSgnTTE6TTMnLCAmcXVvdDtzdGF0dXMmcXVvdDssIG1lcmdlX2Zvcm1h dCk8YnI+DQorPGJyPg0KKyZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7 IGZvcm1hdDEgPSB3Yi5hZGRfZm9ybWF0KHsmcXVvdDtiZ19jb2xvciZxdW90OzogJnF1b3Q7I0M2 RUZDRSZxdW90OywgJnF1b3Q7Zm9udF9jb2xvciZxdW90OzogJnF1b3Q7IzAwNjEwMCZxdW90Oywg JnF1b3Q7Ym9yZGVyJnF1b3Q7OiAxfSk8YnI+DQorJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7 ICZuYnNwOyAmbmJzcDsgZm9ybWF0MiA9IHdiLmFkZF9mb3JtYXQoeyZxdW90O2JnX2NvbG9yJnF1 b3Q7OiAmcXVvdDsjRkZDN0NFJnF1b3Q7LCAmcXVvdDtmb250X2NvbG9yJnF1b3Q7OiAmcXVvdDsj OUMwMDA2JnF1b3Q7fSk8YnI+DQorJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAm bmJzcDsgd3MuY29uZGl0aW9uYWxfZm9ybWF0KCZxdW90O0IxOk0zJnF1b3Q7LCB7JnF1b3Q7dHlw ZSZxdW90OzogJnF1b3Q7Y2VsbCZxdW90OywgJnF1b3Q7Y3JpdGVyaWEmcXVvdDs6ICZxdW90OyZn dDs9JnF1b3Q7LCAmcXVvdDt2YWx1ZSZxdW90OzogMCAsICdmb3JtYXQnOiBmb3JtYXQyfSk8YnI+ DQorJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgY29uZGl0aW9uID0g J0I1Ok0lcyclKDUrbGVuKGRmKS0xKTxicj4NCismbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsg Jm5ic3A7ICZuYnNwOyB3cy5jb25kaXRpb25hbF9mb3JtYXQoY29uZGl0aW9uLCB7J3R5cGUnOiAn bm9fYmxhbmtzJywgJ2Zvcm1hdCc6Zm9ybWF0MX0pPGJyPg0KKyZuYnNwOyAmbmJzcDsgJm5ic3A7 ICZuYnNwOyAmbmJzcDsgJm5ic3A7IHdzLmF1dG9maXQoKTxicj4NCis8YnI+DQorJm5ic3A7ICZu YnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgd2IuY2xvc2UoKTxicj4NCiZuYnNwOyAm bmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDtpZiBzZWxmLl9wZXJmX3Jlc3VsdDo8YnI+DQombmJz cDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDt3aXRoIG9wZW4oPGJy Pg0KJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNw OyAmbmJzcDtzZWxmLmxvZ2dlci5sb2dfcGF0aCArICZxdW90Oy8mcXVvdDsgKyAmcXVvdDtwZXJm X2NyeXB0b2Rldl9yZXN1bHQuanNvbiZxdW90OywgJnF1b3Q7YSZxdW90Ozxicj4NCkBAIC0xNzUs MTIgKzIzNSwxOTcgQEAgY2xhc3MgVGVzdENyeXB0b1BlcmZDcnlwdG9kZXZQZXJmKFRlc3RDYXNl KTo8YnI+DQombmJzcDsgJm5ic3A7ICZuYnNwO2RlZiB0ZXN0X3NjaGVkdWxlcl96dWMoc2VsZik6 PGJyPg0KJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwO3NlbGYuX3J1bl9jcnlwdG9f cGVyZl90aHJvdWdocHV0KCk8YnI+DQo8YnI+DQorJm5ic3A7ICZuYnNwOyAjIE1hcnZlbGwgQ04x MEsgVGVzdGNhc2VzPGJyPg0KKyZuYnNwOyAmbmJzcDsgZGVmIF9jcnlwdG9fZnVuY19jbjEwayhz ZWxmKTo8YnI+DQorJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZxdW90OyZxdW90OyZxdW90 O0Z1bmN0aW9uYWwgdGVzdHMgSGVscGVyPGJyPg0KKyZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNw OyBSZXR1cm5zOjxicj4NCismbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNw O05vbmU8YnI+DQorJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZxdW90OyZxdW90OyZxdW90 Ozxicj4NCismbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgc2VsZi5fcnVuX2NyeXB0b19mdW5j KCk8YnI+DQorPGJyPg0KKyZuYnNwOyAmbmJzcDsgZGVmIF9jcnlwdG9fcGVyZl9jbjEwayhzZWxm KTo8YnI+DQorJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZxdW90OyZxdW90OyZxdW90O1Bl cmYgdGVzdHMgSGVscGVyIGZ1bmN0aW9uPGJyPg0KKyZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNw OyBSZXR1cm5zOjxicj4NCismbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNw O05vbmU8YnI+DQorJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZxdW90OyZxdW90OyZxdW90 Ozxicj4NCismbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgc2VsZi5fcnVuX2NyeXB0b19wZXJm X3Rocm91Z2hwdXQoZXhwZWN0ZWQ9JnF1b3Q7IyAmcXVvdDssPGJyPg0KKyZuYnNwOyAmbmJzcDsg Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAm bmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZu YnNwOyAmbmJzcDsgJm5ic3A7dHJpbV93aGl0ZXNwYWNlPUZhbHNlKTxicj4NCismbmJzcDsgJm5i c3A7IGRlZiB0ZXN0X3BlcmZfbXJ2bF9hZXNfY2JjKHNlbGYpOjxicj4NCismbmJzcDsgJm5ic3A7 ICZuYnNwOyAmbmJzcDsgc2VsZi5fY3J5cHRvX3BlcmZfY24xMGsoKTxicj4NCis8YnI+DQorJm5i c3A7ICZuYnNwOyBkZWYgdGVzdF9wZXJmX21ydmxfYWVzX2djbV9lbmNyeXB0KHNlbGYpOjxicj4N CismbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgc2VsZi5fY3J5cHRvX3BlcmZfY24xMGsoKTxi cj4NCis8YnI+DQorJm5ic3A7ICZuYnNwOyBkZWYgdGVzdF9wZXJmX21ydmxfYWVzX2NiY19jaXBo ZXJfdGhlbl9hdXRoKHNlbGYpOjxicj4NCismbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgc2Vs Zi5fY3J5cHRvX3BlcmZfY24xMGsoKTxicj4NCis8YnI+DQorJm5ic3A7ICZuYnNwOyBkZWYgdGVz dF9wZXJmX21ydmxfYWVzX3NoYTJfMjU2X2NpcGhlcl90aGVuX2F1dGgoc2VsZik6PGJyPg0KKyZu YnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyBzZWxmLl9jcnlwdG9fcGVyZl9jbjEwaygpPGJyPg0K Kzxicj4NCismbmJzcDsgJm5ic3A7IGRlZiB0ZXN0X3BlcmZfbXJ2bF96dWNfZWVhM19jaXBoZXJf b25seShzZWxmKTo8YnI+DQorJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7IHNlbGYuX2NyeXB0 b19wZXJmX2NuMTBrKCk8YnI+DQorPGJyPg0KKyZuYnNwOyAmbmJzcDsgZGVmIHRlc3RfcGVyZl9t cnZsX3p1Y19laWEzX2F1dGhfb25seShzZWxmKTo8YnI+DQorJm5ic3A7ICZuYnNwOyAmbmJzcDsg Jm5ic3A7IHNlbGYuX2NyeXB0b19wZXJmX2NuMTBrKCk8YnI+DQorPGJyPg0KKyZuYnNwOyAmbmJz cDsgZGVmIHRlc3RfcGVyZl9tcnZsX2Flc19nbWFjX2F1dGhfb25seShzZWxmKTo8YnI+DQorJm5i c3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7IHNlbGYuX2NyeXB0b19wZXJmX2NuMTBrKCk8YnI+DQor PGJyPg0KKyZuYnNwOyAmbmJzcDsgZGVmIHRlc3RfcGVyZl9tcnZsX251bGxfY2lwaGVyX29ubHko c2VsZik6PGJyPg0KKyZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyBzZWxmLl9jcnlwdG9fcGVy Zl9jbjEwaygpPGJyPg0KKzxicj4NCismbmJzcDsgJm5ic3A7IGRlZiB0ZXN0X3BlcmZfbXJ2bF9z bm93M2dfdWVhMl9jaXBoZXJfb25seShzZWxmKTo8YnI+DQorJm5ic3A7ICZuYnNwOyAmbmJzcDsg Jm5ic3A7IHNlbGYuX2NyeXB0b19wZXJmX2NuMTBrKCk8YnI+DQorPGJyPg0KKyZuYnNwOyAmbmJz cDsgZGVmIHRlc3RfcGVyZl9tcnZsX2thc3VtaV9mOF9jaXBoZXJfb25seShzZWxmKTo8YnI+DQor Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7IHNlbGYuX2NyeXB0b19wZXJmX2NuMTBrKCkgI0Y8 YnI+DQorPGJyPg0KKyZuYnNwOyAmbmJzcDsgZGVmIHRlc3RfcGVyZl9tcnZsX3Nub3czZ191aWEy X2F1dGhfb25seShzZWxmKTo8YnI+DQorJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7IHNlbGYu X2NyeXB0b19wZXJmX2NuMTBrKCk8YnI+DQorPGJyPg0KKyZuYnNwOyAmbmJzcDsgZGVmIHRlc3Rf cGVyZl9tcnZsX2thc3VtaV9mOV9hdXRoX29ubHkoc2VsZik6PGJyPg0KKyZuYnNwOyAmbmJzcDsg Jm5ic3A7ICZuYnNwOyBzZWxmLl9jcnlwdG9fcGVyZl9jbjEwaygpPGJyPg0KKzxicj4NCismbmJz cDsgJm5ic3A7IGRlZiB0ZXN0X3BlcmZfbXJ2bF9zaGExX2htYWNfYXV0aF9vbmx5KHNlbGYpOjxi cj4NCismbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgc2VsZi5fY3J5cHRvX3BlcmZfY24xMGso KTxicj4NCis8YnI+DQorJm5ic3A7ICZuYnNwOyBkZWYgdGVzdF9wZXJmX21ydmxfc2hhMV9hdXRo X29ubHkoc2VsZik6PGJyPg0KKyZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyBzZWxmLl9jcnlw dG9fcGVyZl9jbjEwaygpPGJyPg0KKzxicj4NCismbmJzcDsgJm5ic3A7IGRlZiB0ZXN0X3BlcmZf bXJ2bF9hZXNfY3RyX2NpcGhlcl90aGVuX2F1dGgoc2VsZik6PGJyPg0KKyZuYnNwOyAmbmJzcDsg Jm5ic3A7ICZuYnNwOyBzZWxmLl9jcnlwdG9fcGVyZl9jbjEwaygpPGJyPg0KKzxicj4NCismbmJz cDsgJm5ic3A7IGRlZiB0ZXN0X3BlcmZfbXJ2bF9hZXNfY3RyX3Nub3dfM2dfdWlhMl9jaXBoZXJf dGhlbl9hdXRoKHNlbGYpOjxicj4NCismbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgc2VsZi5f Y3J5cHRvX3BlcmZfY24xMGsoKTxicj4NCis8YnI+DQorJm5ic3A7ICZuYnNwOyBkZWYgdGVzdF9w ZXJmX21ydmxfYWVzX2NtYWNfY2lwaGVyX3RoZW5fYXV0aChzZWxmKTo8YnI+DQorJm5ic3A7ICZu YnNwOyAmbmJzcDsgJm5ic3A7IHNlbGYuX2NyeXB0b19wZXJmX2NuMTBrKCk8YnI+DQorPGJyPg0K KyZuYnNwOyAmbmJzcDsgZGVmIHRlc3RfcGVyZl9tcnZsXzNkZXNfY2JjX2NpcGhlcl90aGVuX2F1 dGgoc2VsZik6PGJyPg0KKyZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyBzZWxmLl9jcnlwdG9f cGVyZl9jbjEwaygpPGJyPg0KKzxicj4NCismbmJzcDsgJm5ic3A7IGRlZiB0ZXN0X3BlcmZfbXJ2 bF9zaGExX2htYWNfY2lwaGVyX3RoZW5fYXV0aChzZWxmKTo8YnI+DQorJm5ic3A7ICZuYnNwOyAm bmJzcDsgJm5ic3A7IHNlbGYuX2NyeXB0b19wZXJmX2NuMTBrKCk8YnI+DQorPGJyPg0KKyZuYnNw OyAmbmJzcDsgZGVmIHRlc3RfcGVyZl9tcnZsX3NoYTJfMjI0X2htYWNfY2lwaGVyX3RoZW5fYXV0 aChzZWxmKTo8YnI+DQorJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7IHNlbGYuX2NyeXB0b19w ZXJmX2NuMTBrKCk8YnI+DQorPGJyPg0KKyZuYnNwOyAmbmJzcDsgZGVmIHRlc3RfcGVyZl9tcnZs X3NoYTJfMjU2X2htYWNfY2lwaGVyX3RoZW5fYXV0aChzZWxmKTo8YnI+DQorJm5ic3A7ICZuYnNw OyAmbmJzcDsgJm5ic3A7IHNlbGYuX2NyeXB0b19wZXJmX2NuMTBrKCk8YnI+DQorPGJyPg0KKyZu YnNwOyAmbmJzcDsgZGVmIHRlc3RfcGVyZl9tcnZsX3NoYTJfMzg0X2htYWNfY2lwaGVyX3RoZW5f YXV0aChzZWxmKTo8YnI+DQorJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7IHNlbGYuX2NyeXB0 b19wZXJmX2NuMTBrKCk8YnI+DQorPGJyPg0KKyZuYnNwOyAmbmJzcDsgZGVmIHRlc3RfcGVyZl9t cnZsX2Flc19jdHJfc25vd18zZ191aWEyX2NpcGhlcl90aGVuX2F1dGgoc2VsZik6PGJyPg0KKyZu YnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyBzZWxmLl9jcnlwdG9fcGVyZl9jbjEwaygpPGJyPg0K Kzxicj4NCismbmJzcDsgJm5ic3A7IGRlZiB0ZXN0X3BlcmZfbXJ2bF9hZXNfY3RyX3p1Y19laWEz X2NpcGhlcl90aGVuX2F1dGgoc2VsZik6PGJyPg0KKyZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNw OyBzZWxmLl9jcnlwdG9fcGVyZl9jbjEwaygpPGJyPg0KKzxicj4NCismbmJzcDsgJm5ic3A7IGRl ZiB0ZXN0X3BlcmZfbXJ2bF9hZXNfY3RyX2Flc19jbWFjX2NpcGhlcl90aGVuX2F1dGgoc2VsZik6 PGJyPg0KKyZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyBzZWxmLl9jcnlwdG9fcGVyZl9jbjEw aygpPGJyPg0KKzxicj4NCismbmJzcDsgJm5ic3A7IGRlZiB0ZXN0X3BlcmZfbXJ2bF96dWNfZWVh M19zbm93M2dfdWlhMl9jaXBoZXJfdGhlbl9hdXRoKHNlbGYpOjxicj4NCismbmJzcDsgJm5ic3A7 ICZuYnNwOyAmbmJzcDsgc2VsZi5fY3J5cHRvX3BlcmZfY24xMGsoKTxicj4NCis8YnI+DQorJm5i c3A7ICZuYnNwOyBkZWYgdGVzdF9wZXJmX21ydmxfenVjX2VlYTNfenVjX2VpYTNfY2lwaGVyX3Ro ZW5fYXV0aChzZWxmKTo8YnI+DQorJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7IHNlbGYuX2Ny eXB0b19wZXJmX2NuMTBrKCk8YnI+DQorPGJyPg0KKyZuYnNwOyAmbmJzcDsgZGVmIHRlc3RfcGVy Zl9tcnZsX3p1Y19lZWEzX2Flc19jbWFjX2NpcGhlcl90aGVuX2F1dGgoc2VsZik6PGJyPg0KKyZu YnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyBzZWxmLl9jcnlwdG9fcGVyZl9jbjEwaygpPGJyPg0K Kzxicj4NCismbmJzcDsgJm5ic3A7IGRlZiB0ZXN0X3BlcmZfbXJ2bF9zbm93M2dfdWVhMl9zbm93 M2dfdWlhMl9jaXBoZXJfdGhlbl9hdXRoKHNlbGYpOjxicj4NCismbmJzcDsgJm5ic3A7ICZuYnNw OyAmbmJzcDsgc2VsZi5fY3J5cHRvX3BlcmZfY24xMGsoKTxicj4NCis8YnI+DQorJm5ic3A7ICZu YnNwOyBkZWYgdGVzdF9wZXJmX21ydmxfc25vdzNnX3VlYTJfenVjX2VpYTNfY2lwaGVyX3RoZW5f YXV0aChzZWxmKTo8YnI+DQorJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7IHNlbGYuX2NyeXB0 b19wZXJmX2NuMTBrKCk8YnI+DQorPGJyPg0KKyZuYnNwOyAmbmJzcDsgZGVmIHRlc3RfcGVyZl9t cnZsX3Nub3czZ191ZWEyX2Flc19jbWFjX2NpcGhlcl90aGVuX2F1dGgoc2VsZik6PGJyPg0KKyZu YnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyBzZWxmLl9jcnlwdG9fcGVyZl9jbjEwaygpPGJyPg0K Kzxicj4NCismbmJzcDsgJm5ic3A7IGRlZiB0ZXN0X3BlcmZfbXJ2bF9tZDVfaG1hY19hdXRoX29u bHkoc2VsZik6PGJyPg0KKyZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyBzZWxmLl9jcnlwdG9f cGVyZl9jbjEwaygpPGJyPg0KKzxicj4NCismbmJzcDsgJm5ic3A7IGRlZiB0ZXN0X3BlcmZfbXJ2 bF9hZXNfY3RyX2NpcGhlcl9vbmx5KHNlbGYpOjxicj4NCismbmJzcDsgJm5ic3A7ICZuYnNwOyAm bmJzcDsgc2VsZi5fY3J5cHRvX3BlcmZfY24xMGsoKTxicj4NCis8YnI+DQorJm5ic3A7ICZuYnNw OyBkZWYgdGVzdF9wZXJmX21ydmxfM2Rlc19jYmNfY2lwaGVyX29ubHkoc2VsZik6PGJyPg0KKyZu YnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyBzZWxmLl9jcnlwdG9fcGVyZl9jbjEwaygpPGJyPg0K Kzxicj4NCismbmJzcDsgJm5ic3A7IGRlZiB0ZXN0X3BlcmZfbXJ2bF9zaGEyXzIyNF9obWFjX2F1 dGhfb25seShzZWxmKTo8YnI+DQorJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7IHNlbGYuX2Ny eXB0b19wZXJmX2NuMTBrKCk8YnI+DQorPGJyPg0KKyZuYnNwOyAmbmJzcDsgZGVmIHRlc3RfcGVy Zl9tcnZsX3NoYTJfMjU2X2htYWNfYXV0aF9vbmx5KHNlbGYpOjxicj4NCismbmJzcDsgJm5ic3A7 ICZuYnNwOyAmbmJzcDsgc2VsZi5fY3J5cHRvX3BlcmZfY24xMGsoKTxicj4NCis8YnI+DQorJm5i c3A7ICZuYnNwOyBkZWYgdGVzdF9wZXJmX21ydmxfc2hhMl8zODRfaG1hY19hdXRoX29ubHkoc2Vs Zik6PGJyPg0KKyZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyBzZWxmLl9jcnlwdG9fcGVyZl9j bjEwaygpPGJyPg0KKzxicj4NCismbmJzcDsgJm5ic3A7IGRlZiB0ZXN0X3BlcmZfbXJ2bF9zaGEy XzUxMl9obWFjX2F1dGhfb25seShzZWxmKTo8YnI+DQorJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5i c3A7IHNlbGYuX2NyeXB0b19wZXJmX2NuMTBrKCk8YnI+DQorPGJyPg0KKyZuYnNwOyAmbmJzcDsg ZGVmIHRlc3RfcGVyZl9tcnZsX2Flc194dHNfX2NpcGhlcl9vbmx5KHNlbGYpOjxicj4NCismbmJz cDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgc2VsZi5fY3J5cHRvX3BlcmZfY24xMGsoKTxicj4NCis8 YnI+DQorJm5ic3A7ICZuYnNwOyBkZWYgdGVzdF9wZXJmX21ydmxfZGVzX2NiY19jaXBoZXJfb25s eShzZWxmKTo8YnI+DQorJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7IHNlbGYuX2NyeXB0b19w ZXJmX2NuMTBrKCk8YnI+DQorPGJyPg0KKyZuYnNwOyAmbmJzcDsgZGVmIHRlc3RfcGVyZl9tcnZs X21kNV9hdXRoX29ubHkoc2VsZik6PGJyPg0KKyZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyBz ZWxmLl9jcnlwdG9fcGVyZl9jbjEwaygpPGJyPg0KKzxicj4NCismbmJzcDsgJm5ic3A7IGRlZiB0 ZXN0X3BlcmZfbXJ2bF9zaGE1MTJfYXV0aF9vbmx5KHNlbGYpOjxicj4NCismbmJzcDsgJm5ic3A7 ICZuYnNwOyAmbmJzcDsgc2VsZi5fY3J5cHRvX3BlcmZfY24xMGsoKTxicj4NCis8YnI+DQorJm5i c3A7ICZuYnNwOyBkZWYgdGVzdF9wZXJmX21ydmxfc2hhMzg0X2F1dGhfb25seShzZWxmKTo8YnI+ DQorJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7IHNlbGYuX2NyeXB0b19wZXJmX2NuMTBrKCk8 YnI+DQorPGJyPg0KKyZuYnNwOyAmbmJzcDsgZGVmIHRlc3RfcGVyZl9tcnZsX3NoYTI1Nl9hdXRo X29ubHkoc2VsZik6PGJyPg0KKyZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyBzZWxmLl9jcnlw dG9fcGVyZl9jbjEwaygpPGJyPg0KKzxicj4NCismbmJzcDsgJm5ic3A7IGRlZiB0ZXN0X3BlcmZf bXJ2bF9zaGEyMjRfYXV0aF9vbmx5KHNlbGYpOjxicj4NCismbmJzcDsgJm5ic3A7ICZuYnNwOyAm bmJzcDsgc2VsZi5fY3J5cHRvX3BlcmZfY24xMGsoKTxicj4NCis8YnI+DQorJm5ic3A7ICZuYnNw OyBkZWYgdGVzdF9wZXJmX21ydmxfc25vdzNnX3VlYTJfc25vdzNnX3VpYTIoc2VsZik6PGJyPg0K KyZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyBzZWxmLl9jcnlwdG9fcGVyZl9jbjEwaygpPGJy Pg0KKzxicj4NCismbmJzcDsgJm5ic3A7IGRlZiB0ZXN0X3BlcmZfbXJ2bF9zaGExX2htYWNfYXJt djgoc2VsZik6PGJyPg0KKyZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyBzZWxmLl9jcnlwdG9f cGVyZl9jbjEwaygpPGJyPg0KKzxicj4NCismbmJzcDsgJm5ic3A7IGRlZiB0ZXN0X3BlcmZfbXJ2 bF9zaGEyX2htYWNfYXJtdjgoc2VsZik6PGJyPg0KKyZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNw OyBzZWxmLl9jcnlwdG9fcGVyZl9jbjEwaygpPGJyPg0KKzxicj4NCismbmJzcDsgJm5ic3A7IGRl ZiB0ZXN0X21ydmxfcHRlc3Qoc2VsZik6PGJyPg0KKyZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNw OyBzZWxmLl9jcnlwdG9fZnVuY19jbjEwaygpPGJyPg0KKzxicj4NCismbmJzcDsgJm5ic3A7IGRl ZiB0ZXN0X21ydmxfYnVyc3Qoc2VsZik6PGJyPg0KKyZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNw OyBzZWxmLl9jcnlwdG9fZnVuY19jbjEwaygpPGJyPg0KKzxicj4NCismbmJzcDsgJm5ic3A7IGRl ZiB0ZXN0X21ydmxfZGV2dHlwZShzZWxmKTo8YnI+DQorJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5i c3A7IHNlbGYuX2NyeXB0b19mdW5jX2NuMTBrKCk8YnI+DQorPGJyPg0KKyZuYnNwOyAmbmJzcDsg ZGVmIHRlc3RfbXJ2bF9jcnlwdG9fc2hhMV9obWFjX2FybXY4KHNlbGYpOjxicj4NCismbmJzcDsg Jm5ic3A7ICZuYnNwOyAmbmJzcDsgc2VsZi5fY3J5cHRvX2Z1bmNfY24xMGsoKTxicj4NCis8YnI+ DQorJm5ic3A7ICZuYnNwOyBkZWYgdGVzdF9tcnZsX2NoYWNoYTIwX3BvbHkxMzA1X2FlYWQoc2Vs Zik6PGJyPg0KKyZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyBzZWxmLl9jcnlwdG9fZnVuY19j bjEwaygpPGJyPg0KKzxicj4NCismbmJzcDsgJm5ic3A7IGRlZiB0ZXN0X21ydmxfY3J5cHRvX3No YTJfaG1hY19hcm12OChzZWxmKTo8YnI+DQorJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7IHNl bGYuX2NyeXB0b19mdW5jX2NuMTBrKCk8YnI+DQorPGJyPg0KKyZuYnNwOyAmbmJzcDsgZGVmIHRl c3RfbXJ2bF9idWZmZXIoc2VsZik6PGJyPg0KKyZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyBz ZWxmLl9jcnlwdG9fZnVuY19jbjEwaygpPGJyPg0KKzxicj4NCiZuYnNwOyAmbmJzcDsgJm5ic3A7 IyBQcml2YXRlIGZ1bmN0aW9uczxicj4NCiZuYnNwOyAmbmJzcDsgJm5ic3A7ZGVmIF9ydW5fY3J5 cHRvX2Z1bmMoc2VsZik6PGJyPg0KKyZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmcXVvdDsm cXVvdDsmcXVvdDsgUnVucyBDcnlwdG8gZnVuY3Rpb25hbCB0ZXN0Ljxicj4NCismbmJzcDsgJm5i c3A7ICZuYnNwOyAmbmJzcDsgUmV0dXJuczo8YnI+DQorJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5i c3A7ICZuYnNwOyAmbmJzcDsgTm9uZTxicj4NCismbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsg JnF1b3Q7JnF1b3Q7JnF1b3Q7PGJyPg0KKzxicj4NCiZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNw OyAmbmJzcDtpZiBjYy5pc190ZXN0X3NraXAoc2VsZik6PGJyPg0KJm5ic3A7ICZuYnNwOyAmbmJz cDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7cmV0dXJuPGJyPg0KLTxicj4NCi0mbmJzcDsg Jm5ic3A7ICZuYnNwOyAmbmJzcDsgY29yZXMgPSAmcXVvdDssJnF1b3Q7LmpvaW4oc2VsZi5kdXQu Z2V0X2NvcmVfbGlzdCgmcXVvdDsxUy8yQy8xVCZxdW90OykpPGJyPg0KKyZuYnNwOyAmbmJzcDsg Jm5ic3A7ICZuYnNwOyBjb3JlX2xpc3QgPSBzZWxmLmdldF9zdWl0ZV9jZmcoKS5nZXQoJ2NvcmVf bGlzdCcsJnF1b3Q7MVMvMkMvMVQmcXVvdDspPGJyPg0KKyZuYnNwOyAmbmJzcDsgJm5ic3A7ICZu YnNwOyBjb3JlcyA9ICZxdW90OywmcXVvdDsuam9pbihzZWxmLmR1dC5nZXRfY29yZV9saXN0KGNv cmVfbGlzdCkpPGJyPg0KJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwO2NvbmZpZyA9 IHsmcXVvdDtsJnF1b3Q7OiBjb3Jlc308YnI+DQombmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsg Jm5ic3A7ZGV2aWNlcyA9IHNlbGYuX2dldF9jcnlwdG9fZGV2aWNlKDEpPGJyPg0KJm5ic3A7ICZu YnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwO2lmIG5vdCBkZXZpY2VzOjxicj4NCkBAIC0yMDYsMTIg KzQ1MSwyMiBAQCBjbGFzcyBUZXN0Q3J5cHRvUGVyZkNyeXB0b2RldlBlcmYoVGVzdENhc2UpOjxi cj4NCjxicj4NCiZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDtvdXQgPSBzZWxmLmR1 dC5zZW5kX2NvbW1hbmQoPGJyPg0KJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAm bmJzcDsgJm5ic3A7JnF1b3Q7Y2F0ICVzLyVzLnR4dCZxdW90OyAlIChzZWxmLmR1dF9maWxlX2Rp ciwgc2VsZi5ydW5uaW5nX2Nhc2UpLCAzMDxicj4NCi0mbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJz cDsgKTxicj4NCi08YnI+DQorJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICkuc3RyaXAoKTxi cj4NCiZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDtzZWxmLnZlcmlmeSgmcXVvdDtF cnJvciZxdW90OyBub3QgaW4gb3V0LCAmcXVvdDtUZXN0IGZ1bmN0aW9uIGZhaWxlZCZxdW90Oyk8 YnI+DQombmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7c2VsZi52ZXJpZnkoJnF1b3Q7 ZmFpbGVkJnF1b3Q7IG5vdCBpbiBvdXQsICZxdW90O1Rlc3QgZnVuY3Rpb24gZmFpbGVkJnF1b3Q7 KTxicj4NCi08YnI+DQotJm5ic3A7ICZuYnNwOyBkZWYgX3J1bl9jcnlwdG9fcGVyZihzZWxmKTo8 YnI+DQorJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7IGFzc2VydCAob3V0ICE9ICZxdW90OyZx dW90OyksICZxdW90O05vIG91dHB1dCZxdW90Ozxicj4NCis8YnI+DQorJm5ic3A7ICZuYnNwOyBk ZWYgX3J1bl9jcnlwdG9fcGVyZihzZWxmLCAqKmt3YXJncyk6PGJyPg0KKyZuYnNwOyAmbmJzcDsg Jm5ic3A7ICZuYnNwOyAmcXVvdDsmcXVvdDsmcXVvdDsgUnVucyBDcnlwdG8gUGVyZm9ybWFuY2Ug dGVzdC48YnI+DQorJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7IEFyZ3M6PGJyPg0KKyZuYnNw OyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgKiprd2FyZ3M6PGJyPg0KKyZuYnNwOyAmbmJz cDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyBleHBlY3RlZDogc2VuZF9leHBl Y3QgbWF0Y2ggcHJvbXB0PGJyPg0KKyZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsg Jm5ic3A7ICZuYnNwOyB0cmltX3doaXRlc3BhY2U6IHRyaW1lIHdoaXRlc3BhY2UgZnJvbSBjb21t YW5kIG91dHB1dDxicj4NCismbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgUmV0dXJuczo8YnI+ DQorJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgTm9uZTxicj4NCism bmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJnF1b3Q7JnF1b3Q7JnF1b3Q7PGJyPg0KKyZuYnNw OyAmbmJzcDsgJm5ic3A7ICZuYnNwOyBleHBlY3RlZCA9IGt3YXJncy5nZXQoJnF1b3Q7ZXhwZWN0 ZWQmcXVvdDssICZxdW90OyMmcXVvdDspPGJyPg0KKyZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNw OyB0cmltX3doaXRlc3BhY2UgPSBrd2FyZ3MuZ2V0KCZxdW90O3RyaW1fd2hpdGVzcGFjZSZxdW90 OywgVHJ1ZSk8YnI+DQombmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7aWYgY2MuaXNf dGVzdF9za2lwKHNlbGYpOjxicj4NCiZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsg Jm5ic3A7ICZuYnNwO3JldHVybiAmcXVvdDtza2lwJnF1b3Q7PGJyPg0KPGJyPg0KQEAgLTIyMiwx MyArNDc3LDE0IEBAIGNsYXNzIFRlc3RDcnlwdG9QZXJmQ3J5cHRvZGV2UGVyZihUZXN0Q2FzZSk6 PGJyPg0KJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7cmV0 dXJuICZxdW90O3NraXAmcXVvdDs8YnI+DQo8YnI+DQombmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJz cDsgJm5ic3A7ZWFsX29wdF9zdHIgPSBjYy5nZXRfZWFsX29wdF9zdHIoc2VsZiwgZGV2aWNlcyk8 YnI+DQotJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7IGNyeXB0b19wZXJmX29wdF9zdHIgPSBz ZWxmLl9nZXRfY3J5cHRvX3BlcmZfb3B0X3N0cigpPGJyPg0KKyZuYnNwOyAmbmJzcDsgJm5ic3A7 ICZuYnNwOyBjcnlwdG9fcGVyZl9vcHRfc3RyID0gc2VsZi5fZ2V0X2NyeXB0b19wZXJmX29wdF9z dHIoKiprd2FyZ3MpPGJyPg0KPGJyPg0KJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNw O2NtZF9zdHIgPSBjYy5nZXRfZHBka19hcHBfY21kX3N0cig8YnI+DQombmJzcDsgJm5ic3A7ICZu YnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDtzZWxmLl9hcHBfcGF0aCwgZWFsX29wdF9z dHIsIGNyeXB0b19wZXJmX29wdF9zdHI8YnI+DQombmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsg Jm5ic3A7KTxicj4NCiZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDt0cnk6PGJyPg0K LSZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7IG91dCA9IHNlbGYuZHV0 LnNlbmRfZXhwZWN0KGNtZF9zdHIsICZxdW90OyMmcXVvdDssIDYwMCk8YnI+DQorJm5ic3A7ICZu YnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgb3V0ID0gc2VsZi5kdXQuc2VuZF9leHBl Y3QoY21kX3N0ciwgZXhwZWN0ZWQsIDYwMCw8YnI+DQorJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5i c3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJz cDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNw O3RyaW1fd2hpdGVzcGFjZT10cmltX3doaXRlc3BhY2UpPGJyPg0KJm5ic3A7ICZuYnNwOyAmbmJz cDsgJm5ic3A7ICZuYnNwO2V4Y2VwdCBFeGNlcHRpb24gYXMgZXg6PGJyPg0KJm5ic3A7ICZuYnNw OyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7c2VsZi5sb2dnZXIuZXJyb3IoZXgp PGJyPg0KJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7cmFp c2UgZXg8YnI+DQpAQCAtMjM3LDI1ICs0OTMsNDQgQEAgY2xhc3MgVGVzdENyeXB0b1BlcmZDcnlw dG9kZXZQZXJmKFRlc3RDYXNlKTo8YnI+DQo8YnI+DQombmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJz cDsgJm5ic3A7cmV0dXJuIHJlc3VsdHM8YnI+DQo8YnI+DQotJm5ic3A7ICZuYnNwOyBkZWYgX2dl dF9jcnlwdG9fcGVyZl9vcHRfc3RyKHNlbGYsIG92ZXJyaWRlX2NyeXB0b19wZXJmX29wdHM9e30p Ojxicj4NCismbmJzcDsgJm5ic3A7IGRlZiBfZ2V0X2NyeXB0b19wZXJmX29wdF9zdHIoc2VsZiwg Kiprd2FyZ3MpOjxicj4NCismbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJnF1b3Q7JnF1b3Q7 JnF1b3Q7Z2V0IGNyeXB0byBwZXJmIGFwcCBvcHRpb24gc3RyaW5nPGJyPg0KKyZuYnNwOyAmbmJz cDsgJm5ic3A7ICZuYnNwOyBhcmdzOjxicj4NCismbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsg Jm5ic3A7ICZuYnNwOyAqKmt3YXJnczo8YnI+DQorJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7 ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyBvdmVycmlkZV9jcnlwdG9fcGVyZl9vcHRzLSBT dWl0ZS9DYXNlIHNwZWNmaWMgcGVyZjxicj4NCismbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsg Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7IGFwcCBjb25maWcgdG8gb3ZlcndyaXRlIGRlZmF1 bHRzPGJyPg0KKyZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyBSZXR1cm5zOjxicj4NCismbmJz cDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyBjcnlwdG8gcGVyZiBvcHRpb24g c3RyaW5nPGJyPg0KKyZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmcXVvdDsmcXVvdDsmcXVv dDs8YnI+DQorJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7IG92ZXJyaWRlX2NyeXB0b19wZXJm X29wdHMgPSBrd2FyZ3MuZ2V0KCZxdW90O292ZXJyaWRlX2NyeXB0b19wZXJmX29wdHMmcXVvdDss IHt9KTxicj4NCiZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDtyZXR1cm4gY2MuZ2V0 X29wdF9zdHIoPGJyPg0KJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsg Jm5ic3A7c2VsZiwgc2VsZi5fZGVmYXVsdF9jcnlwdG9fcGVyZl9vcHRzLCBvdmVycmlkZV9jcnlw dG9fcGVyZl9vcHRzPGJyPg0KJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyk8YnI+ DQo8YnI+DQombmJzcDsgJm5ic3A7ICZuYnNwO2RlZiBfcGFyc2Vfb3V0cHV0KHNlbGYsIG91dHB1 dCk6PGJyPg0KJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwO3RyeTo8YnI+DQorJm5i c3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgZHR5cGUgPSBzZWxmLmdldF9j YXNlX2NmZygpLmdldCgnZGV2dHlwZScpPGJyPg0KKyZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNw OyAmbmJzcDsgJm5ic3A7IG1hdGNoX3N0ciA9IHImcXVvdDsmbmJzcDsgJm5ic3A7IGxjb3JlIGlk fCNsY29yZSBpZCZxdW90Ozxicj4NCiZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsg Jm5ic3A7ICZuYnNwO2xpbmVzID0gb3V0cHV0LnNwbGl0KCZxdW90O1xyXG4mcXVvdDspPGJyPg0K Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7bGluZV9uYiA9 IGxlbihsaW5lcyk8YnI+DQombmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNw OyAmbmJzcDtzZWxmLmxvZ2dlci5kZWJ1ZygmcXVvdDtUb3RhbCBvdXRwdXQgbGluZXM6ICZxdW90 OyArIHN0cihsaW5lX25iKSk8YnI+DQo8YnI+DQombmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsg Jm5ic3A7ICZuYnNwOyAmbmJzcDtmb3IgbGluZV9pbmRleCBpbiByYW5nZShsaW5lX25iKTo8YnI+ DQotJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNw OyBpZiBsaW5lc1tsaW5lX2luZGV4XS5zdGFydHN3aXRoKCZxdW90OyZuYnNwOyAmbmJzcDsgbGNv cmUgaWQmcXVvdDspOjxicj4NCismbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZu YnNwOyAmbmJzcDsgJm5ic3A7IGlmIHJlLm1hdGNoKG1hdGNoX3N0ciwgbGluZXNbbGluZV9pbmRl eF0pOjxicj4NCiZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNw OyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDtzZWxmLmxvZ2dlci5kZWJ1ZygmcXVvdDtkYXRh IG91dHB1dCBsaW5lIGZyb206ICZxdW90OyArIHN0cihsaW5lX2luZGV4KSk8YnI+DQombmJzcDsg Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAm bmJzcDsgJm5ic3A7YnJlYWs8YnI+DQotJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNw OyAmbmJzcDsgZGF0YV9saW5lID0gbGluZV9pbmRleCAtIDE8YnI+DQorJm5ic3A7ICZuYnNwOyAm bmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgaWYgZHR5cGUgPT0gJ2NyeXB0b19jbjEwayc6PGJy Pg0KKyZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJz cDsgZGF0YV9saW5lID0gbGluZV9pbmRleCArIDI8YnI+DQorJm5ic3A7ICZuYnNwOyAmbmJzcDsg Jm5ic3A7ICZuYnNwOyAmbmJzcDsgZWxzZTo8YnI+DQorJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5i c3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyBkYXRhX2xpbmUgPSBsaW5lX2luZGV4IC0g MTxicj4NCis8YnI+DQorJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsg aWYgbGVuKGxpbmVzW2RhdGFfbGluZV0uc3BsaXQoJnF1b3Q7LCZxdW90OykpJmd0OzE6PGJyPg0K KyZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsg cGF0dGVybiA9IHJlLmNvbXBpbGUocicsJyk8YnI+DQorJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5i c3A7ICZuYnNwOyAmbmJzcDsgZWxzZTo8YnI+DQorJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7 ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyBwYXR0ZXJuID0gcmUuY29tcGlsZShyJ1xzKycp PGJyPg0KPGJyPg0KJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5i c3A7cmVzdWx0cyA9IFtdPGJyPg0KLSZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsg Jm5ic3A7IHBhdHRlcm4gPSByZS5jb21waWxlKHImcXVvdDtccysmcXVvdDspPGJyPg0KKzxicj4N CiZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwO2ZvciBsaW5l IGluIGxpbmVzW2RhdGFfbGluZTotMV06PGJyPg0KJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7 ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDtwcmludChsaW5lKTxicj4NCiZuYnNw OyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7 cmVzdWx0ID0ge308YnI+DQpAQCAtMzM0LDkgKzYwOSwxNSBAQCBjbGFzcyBUZXN0Q3J5cHRvUGVy ZkNyeXB0b2RldlBlcmYoVGVzdENhc2UpOjxicj4NCiZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNw OyAmbmJzcDsgJm5ic3A7ICZuYnNwO2NwdV9pbmZvW2tleV0gPSB2YWx1ZS5zdHJpcCgpPGJyPg0K Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwO2NvcmUsIHRocmVhZCA9IDAsIDA8YnI+ DQombmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7bGNvcmVzID0gc2VsZi5nZXRfY2Fz ZV9jZmcoKVsmcXVvdDtsJnF1b3Q7XS5zcGxpdCgmcXVvdDssJnF1b3Q7KTxicj4NCismbmJzcDsg Jm5ic3A7ICZuYnNwOyAmbmJzcDsgaWYgJ0NvcmUocykgcGVyIGNsdXN0ZXInIGluIG91dDo8YnI+ DQorJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgY2xfc29jMSA9ICdD b3JlKHMpIHBlciBjbHVzdGVyJzxicj4NCismbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5i c3A7ICZuYnNwOyBjbF9zb2MyID0gJ0NsdXN0ZXIocyknPGJyPg0KKyZuYnNwOyAmbmJzcDsgJm5i c3A7ICZuYnNwOyBlbHNlOjxicj4NCismbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7 ICZuYnNwOyBjbF9zb2MxID0gJ0NvcmUocykgcGVyIHNvY2tldCc8YnI+DQorJm5ic3A7ICZuYnNw OyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgY2xfc29jMiA9ICdTb2NrZXQocyknPGJyPg0K Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwO2ZvciBsY29yZSBpbiBsY29yZXNbMTpd Ojxicj4NCi0mbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyBpZiBpbnQo bGNvcmUuc3RyaXAoKSkgJmx0OyBpbnQoY3B1X2luZm9bJnF1b3Q7Q29yZShzKSBwZXIgc29ja2V0 JnF1b3Q7XSkgKiBpbnQoPGJyPg0KLSZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsg Jm5ic3A7ICZuYnNwOyAmbmJzcDsgY3B1X2luZm9bJnF1b3Q7U29ja2V0KHMpJnF1b3Q7XTxicj4N CismbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyBpZiBpbnQobGNvcmUu c3RyaXAoKSkgJmx0OyBpbnQoY3B1X2luZm9bY2xfc29jMV0pICogaW50KDxicj4NCismbmJzcDsg Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7IGNwdV9pbmZv W2NsX3NvYzJdPGJyPg0KJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsg Jm5ic3A7KTo8YnI+DQombmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAm bmJzcDsgJm5ic3A7ICZuYnNwO2NvcmUgKz0gMTxicj4NCiZuYnNwOyAmbmJzcDsgJm5ic3A7ICZu YnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7dGhyZWFkICs9IDE8YnI+DQpA QCAtMzYyLDYgKzY0MywxMSBAQCBjbGFzcyBUZXN0Q3J5cHRvUGVyZkNyeXB0b2RldlBlcmYoVGVz dENhc2UpOjxicj4NCiZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZu YnNwO2RldiA9ICZxdW90O2NyeXB0b19zbm93M2cmcXVvdDs8YnI+DQombmJzcDsgJm5ic3A7ICZu YnNwOyAmbmJzcDsgJm5ic3A7ZWxpZiBzZWxmLmdldF9jYXNlX2NmZygpWyZxdW90O2RldnR5cGUm cXVvdDtdID09ICZxdW90O2NyeXB0b196dWMmcXVvdDs6PGJyPg0KJm5ic3A7ICZuYnNwOyAmbmJz cDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ZGV2ID0gJnF1b3Q7Y3J5cHRvX3p1YyZxdW90 Ozxicj4NCismbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgZWxpZiBzZWxmLmdldF9jYXNlX2Nm ZygpWyZxdW90O2RldnR5cGUmcXVvdDtdID09ICZxdW90O2NyeXB0b19jbjEwayZxdW90Ozo8YnI+ DQorJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgZGV2ID0gJnF1b3Q7 Y3J5cHRvX2NuMTBrJnF1b3Q7PGJyPg0KKyZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJz cDsgJm5ic3A7IHZmID0gY2MuZ2V0X3FhdF9kZXZpY2VzKHNlbGYsIGNwbV9udW09MSwgbnVtPW51 bSk8YnI+DQorJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgZGV2aWNl WyZxdW90O2EmcXVvdDtdID0gJyAtYSAnLmpvaW4odmYpPGJyPg0KKyZuYnNwOyAmbmJzcDsgJm5i c3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7IGRldmljZVsmcXVvdDt2ZGV2JnF1b3Q7XSA9IE5vbmU8 YnI+DQombmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ZWxpZiBzZWxmLmdldF9jYXNl X2NmZygpWyZxdW90O2RldnR5cGUmcXVvdDtdID09ICZxdW90O2NyeXB0b19zY2hlZHVsZXImcXVv dDs6PGJyPg0KJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7 ZGV2ID0gJnF1b3Q7Y3J5cHRvX3NjaGVkdWxlciZxdW90Ozxicj4NCiZuYnNwOyAmbmJzcDsgJm5i c3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwO3cgPSBjYy5nZXRfcWF0X2RldmljZXMoc2Vs ZiwgY3BtX251bT0zLCBudW09bnVtICogMyk8YnI+DQpAQCAtMzg4LDggKzY3NCw4IEBAIGNsYXNz IFRlc3RDcnlwdG9QZXJmQ3J5cHRvZGV2UGVyZihUZXN0Q2FzZSk6PGJyPg0KPGJyPg0KJm5ic3A7 ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwO3JldHVybiBkZXZpY2U8YnI+DQo8YnI+DQotJm5i c3A7ICZuYnNwOyBkZWYgX3J1bl9jcnlwdG9fcGVyZl90aHJvdWdocHV0KHNlbGYpOjxicj4NCi0m bmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgcmVzdWx0cyA9IHNlbGYuX3J1bl9jcnlwdG9fcGVy ZigpPGJyPg0KKyZuYnNwOyAmbmJzcDsgZGVmIF9ydW5fY3J5cHRvX3BlcmZfdGhyb3VnaHB1dChz ZWxmLCAqKmt3YXJncyk6PGJyPg0KKyZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyByZXN1bHRz ID0gc2VsZi5fcnVuX2NyeXB0b19wZXJmKCoqa3dhcmdzKTxicj4NCiZuYnNwOyAmbmJzcDsgJm5i c3A7ICZuYnNwOyAmbmJzcDtpZiByZXN1bHRzID09ICZxdW90O3NraXAmcXVvdDs6PGJyPg0KJm5i c3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7cmV0dXJuPGJyPg0K Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwO3NlbGYudmVyaWZ5KHJlc3VsdHMsICZx dW90O3Rlc3QgcmVzdWx0cyBpcyBub25lLCBUZXN0IEZhaWxlZCZxdW90Oyk8YnI+DQpkaWZmIC0t Z2l0IGEvdGVzdHMvY3J5cHRvZGV2X2NvbW1vbi5weSBiL3Rlc3RzL2NyeXB0b2Rldl9jb21tb24u cHk8YnI+DQppbmRleCBiNTUwYjQ2OC4uOTEwNjdiMDUgMTAwNjQ0PGJyPg0KLS0tIGEvdGVzdHMv Y3J5cHRvZGV2X2NvbW1vbi5weTxicj4NCisrKyBiL3Rlc3RzL2NyeXB0b2Rldl9jb21tb24ucHk8 YnI+DQpAQCAtOCw3ICs4LDkgQEAgZnJvbSBuaWNzLm5ldF9kZXZpY2UgaW1wb3J0IEdldE5pY09i ajxicj4NCiZuYnNwO2NvbmYgPSBTdWl0ZUNvbmYoJnF1b3Q7Y3J5cHRvZGV2X3NhbXBsZSZxdW90 Oyk8YnI+DQo8YnI+DQo8YnI+DQotZGVmIGJpbmRfcWF0X2RldmljZSh0ZXN0X2Nhc2UsIGRyaXZl cj0mcXVvdDtpZ2JfdWlvJnF1b3Q7KTo8YnI+DQorZGVmIGJpbmRfcWF0X2RldmljZSh0ZXN0X2Nh c2UsIGRyaXZlcj0mcXVvdDtpZ2JfdWlvJnF1b3Q7LCBnZW5lcmF0ZV92ZnM9RmFsc2UsPGJyPg0K KyZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsg Jm5ic3A7ICZuYnNwOyB2Zl9jb3VudD0yLCBkcnZyX3R5cGU9J2dlbmVyaWMnKTo8YnI+DQorPGJy Pg0KJm5ic3A7ICZuYnNwOyAmbmJzcDtpZiBkcml2ZXIgPT0gJnF1b3Q7dmZpby1wY2kmcXVvdDs6 PGJyPg0KJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwO3Rlc3RfY2FzZS5kdXQuc2Vu ZF9leHBlY3QoJnF1b3Q7bW9kcHJvYmUgdmZpbyZxdW90OywgJnF1b3Q7IyZxdW90OywgMTApPGJy Pg0KJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwO3Rlc3RfY2FzZS5kdXQuc2VuZF9l eHBlY3QoJnF1b3Q7bW9kcHJvYmUgdmZpby1wY2kmcXVvdDssICZxdW90OyMmcXVvdDssIDEwKTxi cj4NCkBAIC0zOCw2ICs0MCw4IEBAIGRlZiBiaW5kX3FhdF9kZXZpY2UodGVzdF9jYXNlLCBkcml2 ZXI9JnF1b3Q7aWdiX3VpbyZxdW90Oyk6PGJyPg0KJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7 ICZuYnNwO2RldmZ1bl9pZCA9IGFkZHJfYXJyYXlbMl08YnI+DQombmJzcDsgJm5ic3A7ICZuYnNw OyAmbmJzcDsgJm5ic3A7cGZfcG9ydCA9IEdldE5pY09iaih0ZXN0X2Nhc2UuZHV0LCBkb21haW5f aWQsIGJ1c19pZCwgZGV2ZnVuX2lkKTxicj4NCjxicj4NCismbmJzcDsgJm5ic3A7ICZuYnNwOyAm bmJzcDsgaWYgZ2VuZXJhdGVfdmZzOjxicj4NCismbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsg Jm5ic3A7ICZuYnNwOyBwZl9wb3J0LmdlbmVyYXRlX3NyaW92X3Zmc19saW51eChkb21haW5faWQs IGJ1c19pZCwgZGV2ZnVuX2lkLCB2Zl9jb3VudCwgZHJ2cl90eXBlKTwvZGl2Pg0KPC9ibG9ja3F1 b3RlPg0KPGRpdiBzdHlsZT0iZGlyZWN0aW9uOiBsdHI7Ij48YnI+DQo8L2Rpdj4NCjxkaXYgc3R5 bGU9ImRpcmVjdGlvbjogbHRyOyI+SXMgdGhpcyBkaWZmZXJlbnQgZnJvbSBjYWxsaW5nIGdlbmVy YXRlX3NyaW92X3ZmcygpLCB3aGljaCBJIGFzc3VtZSBpcyB0aGUgJnF1b3Q7Y29ycmVjdCZxdW90 OyBiZWhhdmlvci4gVGhlcmUgYXBwZWFycyB0byBiZSBhIGNvbW1vbiBwcmFjdGljZSBpbiBsZWdh Y3kgRFRTIG9mIHRlbXBsYXRpbmcgb3V0IGZ1bmN0aW9uIG5hbWVzIHRvIGNhbGwgaW5zdGVhZCBv ZiB1c2luZyBpbmhlcml0YW5jZSwgc28geW91IHdpbGwNCiBoYXZlIGEgYmFzZSBmdW5jdGlvbiBs aWtlIGJpbmRfcG9ydCgpLCBhbmQgdGhlbiB0aGF0IHRlbXBsYXRlcyBvdXQgY2FsbHMgdG8gYmlu ZF9wb3J0X2xpbnV4KCkuIGJpbmRfcG9ydF9mcmVlYnNkKCksIGJpbmRfcG9ydF93aW5kb3dzKCkg ZXRjLiBJdCdzIGEgbGl0dGxlIHN0cmFuZ2UgYnV0IGl0IGlzIHdoYXQgaXQgaXMgYW5kIHdlIHNo b3VsZCBwcm9iYWJseSBzdGljayB3aXRoIHRoZSBleGlzdGluZyBzeXN0ZW0gaWYgd2UgYXJlIGdv aW5nIHRvDQogbWFrZSBhZGRpdGlvbnMuIEJ1dCwgaWYgdGhlcmUgaXMgYSBwcmFjdGljYWwgcmVh c29uIHdoeSB5b3UgZGlkIGl0IHRoaXMgd2F5LCB0aGVuIG9rYXkuIDopPC9kaXY+DQo8ZGl2IHN0 eWxlPSJkaXJlY3Rpb246IGx0cjsiPjxicj4NCjwvZGl2Pg0KPGRpdiBzdHlsZT0iZGlyZWN0aW9u OiBsdHI7IGZvbnQtZmFtaWx5OiBBcHRvcywgQXB0b3NfRW1iZWRkZWRGb250LCBBcHRvc19NU0Zv bnRTZXJ2aWNlLCBDYWxpYnJpLCBIZWx2ZXRpY2EsIHNhbnMtc2VyaWY7IGZvbnQtc2l6ZTogMTFw dDsgY29sb3I6IHJnYigxMiwgMTAwLCAxOTIpOyI+DQpJIG1pc3NlZCBpdCBpbml0aWFsbHksIGFk ZHJlc3NlZCBpdCBpbiB1cGRhdGVkIHBhdGNoLjwvZGl2Pg0KPGRpdiBzdHlsZT0iZGlyZWN0aW9u OiBsdHI7Ij4mbmJzcDs8L2Rpdj4NCjxibG9ja3F1b3RlIHN0eWxlPSJtYXJnaW46IDBweCAwcHgg MHB4IDAuOGV4OyBwYWRkaW5nLWxlZnQ6IDFleDsgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCByZ2Io MjA0LCAyMDQsIDIwNCk7Ij4NCjxkaXYgc3R5bGU9ImRpcmVjdGlvbjogbHRyOyI+Jm5ic3A7ICZu YnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwO3NyaW92X3Zmc19wY2kgPSBwZl9wb3J0LmdldF9zcmlv dl92ZnNfcGNpKCk8YnI+DQombmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7aWYgbm90 IHNyaW92X3Zmc19wY2k6PGJyPg0KJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAm bmJzcDsgJm5ic3A7cmFpc2UgRXhjZXB0aW9uKCZxdW90O2NhbiBub3QgZ2V0IHZmIHBjaSZxdW90 Oyk8YnI+DQpAQCAtNTEsNiArNTUsMTEgQEAgZGVmIGJpbmRfcWF0X2RldmljZSh0ZXN0X2Nhc2Us IGRyaXZlcj0mcXVvdDtpZ2JfdWlvJnF1b3Q7KTo8YnI+DQo8YnI+DQombmJzcDsgJm5ic3A7ICZu YnNwOzxhIGhyZWY9Imh0dHBzOi8vdXJsZGVmZW5zZS5wcm9vZnBvaW50LmNvbS92Mi91cmw/dT1o dHRwLTNBX190ZXN0LTVGY2FzZS5kZXYmYW1wO2Q9RHdNRmFRJmFtcDtjPW5LaldlYzJiNlIwbU95 UGF6N3h0ZlEmYW1wO3I9VWxhb2MxTGlUa0U1Ukc2OWNMa01hN1A5eEdUTDByUDZMb3N1RFM4S09l NCZhbXA7bT15TVF1VHhpcnhsRHN3RU9nTXREUmY2WmJLUDVXSHV3bWxDaDRMME9EMl9TUlRwRldO MTNyMm1IR2FWdzc5WWxkJmFtcDtzPUIxVFdNaGdSRzhRRkU4elFjT2xlUTRCN2tQSGI3TlllVENM MlFMa1RQYUEmYW1wO2U9IiBpZD0iT1dBMzFiY2YwMGEtM2YxYi0xOWRmLWY4MDAtODk5NDM0NmFj ZTMyIiBjbGFzcz0ieF94X09XQUF1dG9MaW5rIiBkYXRhLWF1dGg9Ik5vdEFwcGxpY2FibGUiPnRl c3RfY2FzZS5kZXY8L2E+Jm5ic3A7PQ0KIGRldjxicj4NCjxicj4NCitkZWYgYmluZF9tcnZsX2Rl dmljZXModGVzdF9jYXNlLCBkcml2ZXI9J3ZmaW8tcGNpJywgKiprd2FyZ3MpOjxicj4NCismbmJz cDsgJm5ic3A7IHBjaV9saXN0ID0ga3dhcmdzLmdldCgmcXVvdDtwY2lfbGlzdCZxdW90Oykuc3Bs aXQoKTxicj4NCismbmJzcDsgJm5ic3A7IGZvciBwY2kgaW4gcGNpX2xpc3Q6PGJyPg0KKyZuYnNw OyAmbmJzcDsgJm5ic3A7ICZuYnNwOyB0ZXN0X2Nhc2UuZHV0LmJpbmRfZXZlbnRkZXZfcG9ydChk cml2ZXIsIHBjaSk8YnI+DQorJm5ic3A7ICZuYnNwOyByZXR1cm4gcGNpX2xpc3Q8YnI+DQo8YnI+ DQombmJzcDtkZWYgZ2V0X3FhdF9kZXZpY2VzKHRlc3RfY2FzZSwgY3BtX251bT1Ob25lLCBudW09 MSk6PGJyPg0KJm5ic3A7ICZuYnNwOyAmbmJzcDtpZiBub3QgY3BtX251bTo8YnI+DQotLTxicj4N CjIuMjUuMTxicj4NCjxicj4NCjwvZGl2Pg0KPC9ibG9ja3F1b3RlPg0KPC9ib2R5Pg0KPC9odG1s Pg0K --_000_PH0PR18MB4489FBF5BF9F099C23B7506DA7582PH0PR18MB4489namp_--