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 57B82A09EF for ; Mon, 11 Jan 2021 02:57:24 +0100 (CET) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 46655140CF0; Mon, 11 Jan 2021 02:57:24 +0100 (CET) Received: from EUR01-VE1-obe.outbound.protection.outlook.com (mail-eopbgr140075.outbound.protection.outlook.com [40.107.14.75]) by mails.dpdk.org (Postfix) with ESMTP id 914F2140CEA; Mon, 11 Jan 2021 02:57:22 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com; s=selector2-armh-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=vG5u3K8MbInNcDoVAkDBhmA6F3S8BvoTG1CH1FcAC/8=; b=D6bpgpj73iy/otQ6aXmjcEzjV8pNXkkekRCQmc9c/MJaG1d/Kfcmd94q2WNviYj2Pl+xFiZ4c8BIrJ/l2aAOzJEjopS+25K9RdNW/w2x5POzCmdOW/rOtdq3sjffxa+bMD5oIqlgXH1mHYrJHJqQ/vtgqmZQz/XESm2Hy4nDCSU= Received: from AM6PR08CA0022.eurprd08.prod.outlook.com (2603:10a6:20b:b2::34) by DB7PR08MB4601.eurprd08.prod.outlook.com (2603:10a6:10:30::24) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3742.6; Mon, 11 Jan 2021 01:57:19 +0000 Received: from AM5EUR03FT021.eop-EUR03.prod.protection.outlook.com (2603:10a6:20b:b2:cafe::e1) by AM6PR08CA0022.outlook.office365.com (2603:10a6:20b:b2::34) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3742.6 via Frontend Transport; Mon, 11 Jan 2021 01:57:18 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123) smtp.mailfrom=arm.com; dpdk.org; dkim=pass (signature was verified) header.d=armh.onmicrosoft.com;dpdk.org; dmarc=pass action=none header.from=arm.com; Received-SPF: Pass (protection.outlook.com: domain of arm.com designates 63.35.35.123 as permitted sender) receiver=protection.outlook.com; client-ip=63.35.35.123; helo=64aa7808-outbound-1.mta.getcheckrecipient.com; Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by AM5EUR03FT021.mail.protection.outlook.com (10.152.16.105) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3742.6 via Frontend Transport; Mon, 11 Jan 2021 01:57:18 +0000 Received: ("Tessian outbound 8418c949a3fa:v71"); Mon, 11 Jan 2021 01:57:17 +0000 X-CR-MTA-TID: 64aa7808 Received: from c944b4702187.2 by 64aa7808-outbound-1.mta.getcheckrecipient.com id 9D349273-A267-4529-82E7-9398A3976194.1; Mon, 11 Jan 2021 01:57:12 +0000 Received: from EUR01-HE1-obe.outbound.protection.outlook.com by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id c944b4702187.2 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384); Mon, 11 Jan 2021 01:57:12 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=QHvDiF8A/21CB8W9TQ7pfVkF0Bd/hDolobL1xY9vdT0XIy23GfVf2wrbkblrYe9ns4Yr/M32tjtfB7W4JYZvAPd7+KY3a+5Peo9QZJZBcuYZp5PtA3I7nAEAUJq7WlYq2DKehrljR0kIu4Y0nFsvHOl6LZlip1mgaWH4aemt4itc0zv2aO8s6swqhCnY/ZfT8n3bldg9Ql8ahtxkGgAof9OYCNWnXNqlS/IIKiHiM/a2C+Kl4246IcTjlm0ynN1vW86LqDScHlsy1UKdOzunldsNEStOTSxmsywvpc/Ru5s4bo4kU5xhGlSQFulwMZDkFyM2XaSl2LA71QROA8Ihgw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=vG5u3K8MbInNcDoVAkDBhmA6F3S8BvoTG1CH1FcAC/8=; b=aYaMacGkF+yLt5QpNLwTWbBVEtCkgDq5XTid5gGUnmyylVsqrOEl9WdhKELFGiJzOWEHXowBCQ3JgRSF58DB+APIqguXBtcIvIdg3/2hEr91Sr3SnfNy3GFxq9F8nHm9xQiPD9Pa8+4fsq1ty8VIOZOzJlds3ZVWMo0Xjfqw3xkL1+uf214MSbY5zAUSj965FFFOEn3Xtu+JRM6qr7gDc+NMAHzbh4cQENTAo4NLN/liZ85Q9PZ3ASt7Li3jJWnccYmamAlZ5wR0mFiiW+GtbRmkmt2dAngydzm12bmSsxXKBlB7avrhNxHdcva2TPmPSGVqD7zTlcFe3GNKeCnHvw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=arm.com; dmarc=pass action=none header.from=arm.com; dkim=pass header.d=arm.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com; s=selector2-armh-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=vG5u3K8MbInNcDoVAkDBhmA6F3S8BvoTG1CH1FcAC/8=; b=D6bpgpj73iy/otQ6aXmjcEzjV8pNXkkekRCQmc9c/MJaG1d/Kfcmd94q2WNviYj2Pl+xFiZ4c8BIrJ/l2aAOzJEjopS+25K9RdNW/w2x5POzCmdOW/rOtdq3sjffxa+bMD5oIqlgXH1mHYrJHJqQ/vtgqmZQz/XESm2Hy4nDCSU= Received: from DBBPR08MB4411.eurprd08.prod.outlook.com (2603:10a6:10:cb::17) by DB7PR08MB3707.eurprd08.prod.outlook.com (2603:10a6:10:76::26) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3742.6; Mon, 11 Jan 2021 01:57:08 +0000 Received: from DBBPR08MB4411.eurprd08.prod.outlook.com ([fe80::19c2:8f5f:aabb:16fc]) by DBBPR08MB4411.eurprd08.prod.outlook.com ([fe80::19c2:8f5f:aabb:16fc%7]) with mapi id 15.20.3742.009; Mon, 11 Jan 2021 01:57:08 +0000 From: Feifei Wang To: Pavan Nikhilesh Bhagavatula , "jerinj@marvell.com" , Harry van Haaren CC: "dev@dpdk.org" , nd , Honnappa Nagarahalli , "stable@dpdk.org" , Ruifeng Wang , nd , nd , nd , nd Thread-Topic: [RFC PATCH v1 4/6] app/eventdev: add release barriers for pipeline test Thread-Index: AdbYTEUe8OVHSkoHRIaSsOPrfVwqLgK45xmgAAQ//VAAiB8+AAAN29ZgAAG0vQAAAxeGUACELQ/g Date: Mon, 11 Jan 2021 01:57:07 +0000 Message-ID: References: In-Reply-To: Accept-Language: zh-CN, en-US Content-Language: zh-CN X-MS-Has-Attach: X-MS-TNEF-Correlator: x-ts-tracking-id: 6AE20C56621CA84B97BA8AAD027B9471.0 x-checkrecipientchecked: true Authentication-Results-Original: marvell.com; dkim=none (message not signed) header.d=none;marvell.com; dmarc=none action=none header.from=arm.com; x-originating-ip: [203.126.0.111] x-ms-publictraffictype: Email X-MS-Office365-Filtering-HT: Tenant X-MS-Office365-Filtering-Correlation-Id: ba8c9bf7-1d33-409d-02cc-08d8b5d439e6 x-ms-traffictypediagnostic: DB7PR08MB3707:|DB7PR08MB4601: x-ld-processed: f34e5979-57d9-4aaa-ad4d-b122a662184d,ExtAddr x-ms-exchange-transport-forked: True X-Microsoft-Antispam-PRVS: x-checkrecipientrouted: true nodisclaimer: true x-ms-oob-tlc-oobclassifiers: OLM:4303;OLM:4303; X-MS-Exchange-SenderADCheck: 1 X-Microsoft-Antispam-Untrusted: BCL:0; X-Microsoft-Antispam-Message-Info-Original: EhVoKNJPBe3zSSE8B+EhV2v1mRKXIOg/UcLQLsIkRt1SiZ+9Pnnu1g+187pSE353VuPer1OARLkZiDSUyXMx/kNc/PO6/RYn/yM18etn/EX45swqaJxr0w+25SnYm6Dw5PAQMiphunHnpKSZo+xIRXJ84idaTH526CmMIppcgHgBYxzg0ORkPnkZYWsVLSlY/C9IuYCTpMB9Ghx/ql4TlZ9LslDjifxVQ4Zh8sm+YSE0Nc67SMMzPQUCBoQc3wOLUPIDan1ftE/F0iRw4D3Pq0tZQKLEuRz+hlHll+K+CJ2NxMkcZ1X8Q40Sb9YGCerqe0DtHWLS35d0TOu/S5DKc1nz8c0eNLC/ea3n3XwZWvOQqOVGXoz1lt7swVLQ8YBC3wQEx8PfHan1DVzOcGBzYQZUBxa9HaR0uVCB6oT8NxkpXddtyc2psjLhd527UbFM8sp66r7QmIwFTQ6cJBO5gA== X-Forefront-Antispam-Report-Untrusted: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:DBBPR08MB4411.eurprd08.prod.outlook.com; PTR:; CAT:NONE; SFS:(4636009)(366004)(376002)(346002)(396003)(39850400004)(136003)(478600001)(26005)(224303003)(71200400001)(110136005)(54906003)(2906002)(5660300002)(316002)(9686003)(55016002)(30864003)(64756008)(76116006)(52536014)(66556008)(83380400001)(66446008)(66946007)(33656002)(66476007)(86362001)(8936002)(4326008)(53546011)(6506007)(7696005)(186003)(579004)(559001); DIR:OUT; SFP:1101; x-ms-exchange-antispam-messagedata: =?utf-8?B?WG1FTHBCSlJ3OXFhYzBDWjZXVHlZaitzb2RRS0Q5d3h0ME9xMUIyTlpVWElt?= =?utf-8?B?a25XVktLbGpnc1gwRmJobVhkTTNDc3djU2dMNmVaOVZJcjQzWUpXQXlHV2xH?= =?utf-8?B?eU5jWXJYZHRFQ25CazBtRjU5MEZLaFlQbW83ejB3WWJlS0xVV3NkeTZWbTRx?= =?utf-8?B?WHdzOThzWUZpRXpVT2dCczZmYllpRUZ5UFo4U2MxakZLaW9mc1pDcnRVMENE?= =?utf-8?B?RjNUWVVsSTVmaUduOHdKS0NvdmFqaG5XUVl0OVdTbHNLSFltVWI1UW5ZZWha?= =?utf-8?B?bjhkenFvMENmVFVxQzlRZWhtSUhVNWdPQW8wbzl5QWx6Mmc4MkVEYTF6cVdO?= =?utf-8?B?TDM1YTJQRGRHNlpoVzVINDFUVnVWYVhiQ3ZHOFYrVERaeDJyeUNabVNZem1s?= =?utf-8?B?YTl4ZFJiOURFRjRjSnVjVWdNYnhlTHV2VDYxK0J5RFB3RjZ3REhmQm9qNlZU?= =?utf-8?B?YXlrNk1ONmZXZmZzV1ByMHdMenFWWEtxdGdiby80eW9Rekhkc0R0TFNWYTBO?= =?utf-8?B?KytnaWpPK2UxMXVGUFdpVlpmM0xXb3BxZ0NGc0JTdlgxbEVZcGhidmd1MGlP?= =?utf-8?B?bGt6MjkvRzBDdm5DdTMvQkxLZHFWODhIMEJuQ3F3dmtIYWcvS0NDT3VYeURE?= =?utf-8?B?WE0rbW80Wkg4NVBSTWtJYWdsLzlMZTNNS2l5R1VnR3hEaVBkK05hSmFtYlZE?= =?utf-8?B?ZkxrUk9PandvUTVOMGd5NkJ0SVczR0V1Y0NqWGwrNWhZUUhuRUlldU90dEQy?= =?utf-8?B?Mmd4K3M4YS9XUmZpK3dXRDhnclcyMWhVSXRLdUpLa2M5eVU0WTI0QnJxdVZT?= =?utf-8?B?TnB3Q2ZEMDRoR2tvUjcrVXBkZFBReFFndTlUUURpdGxkMGEzVGkzN3NCMVFC?= =?utf-8?B?SmQrejRoUG5xQkNPUEx3NzQ3S3I2TXNBS3g3eUJrNkNUMDVJUnFnUFAzTFA0?= =?utf-8?B?T0JUdWZPRDNPV1kxR3IvZjNHZGFWajBZa2NIeWFQS3FzcmFBK3V3ZGlyWGQy?= =?utf-8?B?eWFsc1BwdVFEWmpJVys0bElnMmZIb1pLcEZ1L3h2QkRIOXJWSWJ2TFI3am5j?= =?utf-8?B?VEppVkV4WUxBSGV0NXJ2bVBYYjdlc0p2OHBvaXZ0MkxNeWZyZHBnUTVmbEhC?= =?utf-8?B?dVUvK1JRRTRLbG9ROEp3cjVLaFVnSHBRVlh1SzlPT3ZwR2h6OEFsOUwwVmFK?= =?utf-8?B?R0pCV0RnNnp4OXUvOVVTTUhDT3VLNnpPSDM0USt3VTVaL3FSeG5za1kwbHNz?= =?utf-8?B?K09JWjQ1WXBCY3A4WmtHRFZ6RG1wVVk4QVZYc3NMSExaV1JTK0xKNjdCRGhN?= =?utf-8?Q?3kus4w1Sbvmug=3D?= Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB7PR08MB3707 Original-Authentication-Results: marvell.com; dkim=none (message not signed) header.d=none;marvell.com; dmarc=none action=none header.from=arm.com; X-EOPAttributedMessage: 0 X-MS-Exchange-Transport-CrossTenantHeadersStripped: AM5EUR03FT021.eop-EUR03.prod.protection.outlook.com X-MS-Office365-Filtering-Correlation-Id-Prvs: f8822687-111e-4980-e273-08d8b5d433f4 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: K0LhX2Yf0O73aJUyGTPp0NFTvIz9qqsTe+EFz196a4ltYh6+LM497Cq6qC3PNVQ7h14ZDVDHpj4+ARYw2erg2o/12yUmqPs/8xXaE/sYMKEq/+EWCV92jAYGXP4FFkMx1AtgTUCPO4LO118O8tAPBZT0Ccsem5pYbjjAgVOVIsJHxo9f1bKZtvoO48noWJseLbEh7orym7tR3+izcB6KkJ9sIdj1W/ulszypH7h0H1QYIwvQpjOnwiIBoAX/jw0cbgOFEgXRjofe8vt8yTHX3HAJdxpIf1f6vj9XhcFSZx4zHF0WgCdL1XCCHgzMBzHFnc7zl/k9tizUnukxMrew0uTk21/6Vu3Fc7fLcPpugF906lrvBY8X/Ve9JTtDIqI4+6DFJSCx8UkWhxbzgI165uVLX9Sb/AwyQtXC9gjZc8OVt82UttSH6iytgLxF995GIdkjoX2HYkFqIZsblsYh9qlGXPReL17IJlA0Zq1JlkUFO8K3jXaajJTFfNXVpUcIuEyM23dG9Ijde12rkft2vfuLGJtyNYBY1tnBzRoHGw8ij2LV89qtaIEIZYZbM0lk X-Forefront-Antispam-Report: CIP:63.35.35.123; CTRY:IE; LANG:en; SCL:1; SRV:; IPV:CAL; SFV:NSPM; H:64aa7808-outbound-1.mta.getcheckrecipient.com; PTR:ec2-63-35-35-123.eu-west-1.compute.amazonaws.com; CAT:NONE; SFS:(4636009)(39850400004)(346002)(376002)(396003)(136003)(46966006)(316002)(110136005)(70586007)(336012)(86362001)(54906003)(8936002)(26005)(450100002)(186003)(70206006)(224303003)(2906002)(6506007)(33656002)(47076005)(82740400003)(82310400003)(7696005)(9686003)(356005)(83380400001)(34020700004)(81166007)(30864003)(55016002)(4326008)(52536014)(5660300002)(478600001); DIR:OUT; SFP:1101; X-OriginatorOrg: arm.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 11 Jan 2021 01:57:18.0925 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: ba8c9bf7-1d33-409d-02cc-08d8b5d439e6 X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d; Ip=[63.35.35.123]; Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com] X-MS-Exchange-CrossTenant-AuthSource: AM5EUR03FT021.eop-EUR03.prod.protection.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB7PR08MB4601 Subject: [dpdk-stable] =?utf-8?b?5Zue5aSNOiBbUkZDIFBBVENIIHYxIDQvNl0gYXBw?= =?utf-8?q?/eventdev=3A_add_release_barriers_for_pipeline_test?= X-BeenThere: stable@dpdk.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: patches for DPDK stable branches List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: stable-bounces@dpdk.org Sender: "stable" DQoNCj4gLS0tLS3pgq7ku7bljp/ku7YtLS0tLQ0KPiDlj5Hku7bkuro6IFBhdmFuIE5pa2hpbGVz aCBCaGFnYXZhdHVsYSA8cGJoYWdhdmF0dWxhQG1hcnZlbGwuY29tPg0KPiDlj5HpgIHml7bpl7Q6 IDIwMjHlubQx5pyIOOaXpSAxODo1OA0KPiDmlLbku7bkuro6IEZlaWZlaSBXYW5nIDxGZWlmZWku V2FuZzJAYXJtLmNvbT47IGplcmluakBtYXJ2ZWxsLmNvbTsgSGFycnkNCj4gdmFuIEhhYXJlbiA8 aGFycnkudmFuLmhhYXJlbkBpbnRlbC5jb20+DQo+IOaKhOmAgTogZGV2QGRwZGsub3JnOyBuZCA8 bmRAYXJtLmNvbT47IEhvbm5hcHBhIE5hZ2FyYWhhbGxpDQo+IDxIb25uYXBwYS5OYWdhcmFoYWxs aUBhcm0uY29tPjsgc3RhYmxlQGRwZGsub3JnOyBSdWlmZW5nIFdhbmcNCj4gPFJ1aWZlbmcuV2Fu Z0Bhcm0uY29tPjsgbmQgPG5kQGFybS5jb20+OyBuZCA8bmRAYXJtLmNvbT47IG5kDQo+IDxuZEBh cm0uY29tPg0KPiDkuLvpopg6IFJFOiBbUkZDIFBBVENIIHYxIDQvNl0gYXBwL2V2ZW50ZGV2OiBh ZGQgcmVsZWFzZSBiYXJyaWVycyBmb3IgcGlwZWxpbmUNCj4gdGVzdA0KPiANCj4gSGkgRmVpZmVp LA0KPiANCj4gPkhpLCBQYXZhbg0KPiA+DQo+ID4+IC0tLS0t6YKu5Lu25Y6f5Lu2LS0tLS0NCj4g Pj4g5Y+R5Lu25Lq6OiBQYXZhbiBOaWtoaWxlc2ggQmhhZ2F2YXR1bGEgPHBiaGFnYXZhdHVsYUBt YXJ2ZWxsLmNvbT4NCj4gPj4g5Y+R6YCB5pe26Ze0OiAyMDIx5bm0MeaciDjml6UgMTc6MTMNCj4g Pj4g5pS25Lu25Lq6OiBGZWlmZWkgV2FuZyA8RmVpZmVpLldhbmcyQGFybS5jb20+OyBqZXJpbmpA bWFydmVsbC5jb207DQo+ID5IYXJyeQ0KPiA+PiB2YW4gSGFhcmVuIDxoYXJyeS52YW4uaGFhcmVu QGludGVsLmNvbT4NCj4gPj4g5oqE6YCBOiBkZXZAZHBkay5vcmc7IG5kIDxuZEBhcm0uY29tPjsg SG9ubmFwcGEgTmFnYXJhaGFsbGkNCj4gPj4gPEhvbm5hcHBhLk5hZ2FyYWhhbGxpQGFybS5jb20+ OyBzdGFibGVAZHBkay5vcmc7IFJ1aWZlbmcgV2FuZw0KPiA+PiA8UnVpZmVuZy5XYW5nQGFybS5j b20+OyBuZCA8bmRAYXJtLmNvbT47IG5kIDxuZEBhcm0uY29tPg0KPiA+PiDkuLvpopg6IFJFOiBb UkZDIFBBVENIIHYxIDQvNl0gYXBwL2V2ZW50ZGV2OiBhZGQgcmVsZWFzZSBiYXJyaWVycyBmb3IN Cj4gPnBpcGVsaW5lDQo+ID4+IHRlc3QNCj4gPj4NCj4gPj4gSGkgRmVpZmVpLA0KPiA+Pg0KPiA+ PiA+SGksIFBhdmFuDQo+ID4+ID4NCj4gPj4gPg0KPiA+PiA+DQo+ID4+ID4+IC0tLS0t6YKu5Lu2 5Y6f5Lu2LS0tLS0NCj4gPj4gPg0KPiA+PiA+PiDlj5Hku7bkuro6IFBhdmFuIE5pa2hpbGVzaCBC aGFnYXZhdHVsYQ0KPiA+PG1haWx0bzpwYmhhZ2F2YXR1bGFAbWFydmVsbC5jb20+DQo+ID4+ID4N Cj4gPj4gPj4g5Y+R6YCB5pe26Ze0OiAyMDIx5bm0MeaciDXml6UgMTc6MjkNCj4gPj4gPg0KPiA+ PiA+PiDmlLbku7bkuro6IEZlaWZlaSBXYW5nIDxtYWlsdG86RmVpZmVpLldhbmcyQGFybS5jb20+ Ow0KPiA+bWFpbHRvOmplcmluakBtYXJ2ZWxsLmNvbTsNCj4gPj4gPkhhcnJ5DQo+ID4+ID4NCj4g Pj4gPj4gdmFuIEhhYXJlbiA8bWFpbHRvOmhhcnJ5LnZhbi5oYWFyZW5AaW50ZWwuY29tPg0KPiA+ PiA+DQo+ID4+ID4+IOaKhOmAgTogbWFpbHRvOmRldkBkcGRrLm9yZzsgbmQgPG1haWx0bzpuZEBh cm0uY29tPjsgSG9ubmFwcGENCj4gPk5hZ2FyYWhhbGxpDQo+ID4+ID4NCj4gPj4gPj4gPG1haWx0 bzpIb25uYXBwYS5OYWdhcmFoYWxsaUBhcm0uY29tPjsNCj4gPm1haWx0bzpzdGFibGVAZHBkay5v cmc7IFJ1aWZlbmcgV2FuZw0KPiA+PiA+DQo+ID4+ID4+IDxtYWlsdG86UnVpZmVuZy5XYW5nQGFy bS5jb20+OyBuZCA8bWFpbHRvOm5kQGFybS5jb20+DQo+ID4+ID4NCj4gPj4gPj4g5Li76aKYOiBS RTogW1JGQyBQQVRDSCB2MSA0LzZdIGFwcC9ldmVudGRldjogYWRkIHJlbGVhc2UgYmFycmllcnMN Cj4gPmZvcg0KPiA+PiA+cGlwZWxpbmUNCj4gPj4gPg0KPiA+PiA+PiB0ZXN0DQo+ID4+ID4NCj4g Pj4gPj4NCj4gPj4gPg0KPiA+PiA+PiBIaSBGZWlmZWksDQo+ID4+ID4NCj4gPj4gPj4NCj4gPj4g Pg0KPiA+PiA+PiA+SGksIFBhdmFuDQo+ID4+ID4NCj4gPj4gPj4gPg0KPiA+PiA+DQo+ID4+ID4+ ID5Tb3JyeSBmb3IgbXkgbGF0ZSByZXBseSBhbmQgdGhhbmtzIHZlcnkgbXVjaCBmb3IgeW91ciBy ZXZpZXcuDQo+ID4+ID4NCj4gPj4gPj4gPg0KPiA+PiA+DQo+ID4+ID4+ID4+IC0tLS0tT3JpZ2lu YWwgTWVzc2FnZS0tLS0tDQo+ID4+ID4NCj4gPj4gPj4gPj4gRnJvbTogUGF2YW4gTmlraGlsZXNo IEJoYWdhdmF0dWxhDQo+ID4+DQo+ID4+PG1haWx0bzpwYmhhZ2F2YXR1bGFAbWFydmVsbC5jb208 bWFpbHRvOnBiaGFnYXZhdHVsYUBtYXJ2ZWxsLmMNCj4gPm9tPj4NCj4gPj4gPg0KPiA+PiA+PiA+ PiBTZW50OiAyMDIw5bm0MTLmnIgyMuaXpSAxODozMw0KPiA+PiA+DQo+ID4+ID4+ID4+IFRvOiBG ZWlmZWkgV2FuZw0KPiA+PiA+PG1haWx0bzpGZWlmZWkuV2FuZzJAYXJtLmNvbTxtYWlsdG86RmVp ZmVpLldhbmcyQGFybS5jb20+PjsNCj4gPj4gPm1haWx0bzpqZXJpbmpAbWFydmVsbC5jb208bWFp bHRvOmplcmluakBtYXJ2ZWxsLmNvbT47DQo+ID4+ID4NCj4gPj4gPj4gPkhhcnJ5IHZhbg0KPiA+ PiA+DQo+ID4+ID4+ID4+IEhhYXJlbg0KPiA+Pg0KPiA+PjxtYWlsdG86aGFycnkudmFuLmhhYXJl bkBpbnRlbC5jb208bWFpbHRvOmhhcnJ5LnZhbi5oYWFyZW5AaW50ZWwuDQo+ID5jb20+PjsNCj4g Pj4gPlBhdmFuIE5pa2hpbGVzaA0KPiA+PiA+DQo+ID4+ID4+ID4+DQo+ID4+DQo+ID4+PHBiaGFn YXZhdHVsYUBjYXZpdW1uZXR3b3Jrcy5jb208bWFpbHRvOnBiaGFnYXZhdHVsYUBjYXZpdW0NCj4g Pm4NCj4gPj4gPmV0d29ya3MuY29tPj4NCj4gPj4gPg0KPiA+PiA+PiA+PiBDYzogbWFpbHRvOmRl dkBkcGRrLm9yZzxtYWlsdG86ZGV2QGRwZGsub3JnPjsgbmQNCj4gPj4gPjxtYWlsdG86bmRAYXJt LmNvbTxtYWlsdG86bmRAYXJtLmNvbT4+OyBIb25uYXBwYQ0KPiA+TmFnYXJhaGFsbGkNCj4gPj4g Pg0KPiA+PiA+PiA+Pg0KPiA+Pg0KPiA+PjxIb25uYXBwYS5OYWdhcmFoYWxsaUBhcm0uY29tPG1h aWx0bzpIb25uYXBwYS5OYWdhcmFoYWxsaUBhcg0KPiA+bQ0KPiA+PiA+LmNvbT4+OyBtYWlsdG86 c3RhYmxlQGRwZGsub3JnPG1haWx0bzpzdGFibGVAZHBkay5vcmc+OyBQaGlsDQo+ID5ZYW5nDQo+ ID4+ID4NCj4gPj4gPj4gPj4gPG1haWx0bzpQaGlsLllhbmdAYXJtLmNvbTxtYWlsdG86UGhpbC5Z YW5nQGFybS5jb20+Pg0KPiA+PiA+DQo+ID4+ID4+ID4+IFN1YmplY3Q6IFJFOiBbUkZDIFBBVENI IHYxIDQvNl0gYXBwL2V2ZW50ZGV2OiBhZGQgcmVsZWFzZQ0KPiA+PiA+YmFycmllcnMNCj4gPj4g Pg0KPiA+PiA+PiA+Zm9yDQo+ID4+ID4NCj4gPj4gPj4gPj4gcGlwZWxpbmUgdGVzdA0KPiA+PiA+ DQo+ID4+ID4+ID4+DQo+ID4+ID4NCj4gPj4gPj4gPj4NCj4gPj4gPg0KPiA+PiA+PiA+PiA+QWRk IHJlbGVhc2UgYmFycmllcnMgYmVmb3JlIHVwZGF0aW5nIHRoZSBwcm9jZXNzZWQgcGFja2V0cyBm b3INCj4gPj4gPg0KPiA+PiA+PiA+d29ya2VyDQo+ID4+ID4NCj4gPj4gPj4gPj4gPmxjb3JlcyB0 byBlbnN1cmUgdGhlIHdvcmtlciBsY29yZSBoYXMgcmVhbGx5IGZpbmlzaGVkIGRhdGENCj4gPj4g Pg0KPiA+PiA+PiA+PiA+cHJvY2Vzc2luZyBhbmQgdGhlbiBpdCBjYW4gdXBkYXRlIHRoZSBwcm9j ZXNzZWQgcGFja2V0cw0KPiA+bnVtYmVyLg0KPiA+PiA+DQo+ID4+ID4+ID4+ID4NCj4gPj4gPg0K PiA+PiA+PiA+Pg0KPiA+PiA+DQo+ID4+ID4+ID4+IEkgYmVsaWV2ZSB3ZSBjYW4gbGl2ZSB3aXRo IG1pbm9yIGluYWNjdXJhY2llcyBpbiBzdGF0cyBiZWluZw0KPiA+PiA+DQo+ID4+ID4+ID4+IHBy ZXNlbnRlZA0KPiA+PiA+DQo+ID4+ID4+ID5hcw0KPiA+PiA+DQo+ID4+ID4+ID4+IGF0b21pY3Mg YXJlIHByZXR0eSBoZWF2eSB3aGVuIHNjaGVkdWxlciBpcyBsaW1pdGVkIHRvIGJ1cnN0DQo+ID4+ ID4+ID4+IHNpemUgYXMNCj4gPj4gPjEuDQo+ID4+ID4NCj4gPj4gPj4gPj4NCj4gPj4gPg0KPiA+ PiA+PiA+PiBPbmUgb3B0aW9uIGlzIHRvIG1vdmUgaXQgYmVmb3JlIGEgcGlwZWxpbmUgb3BlcmF0 aW9uDQo+ID4+ID4NCj4gPj4gPj4gPihwaXBlbGluZV9ldmVudF90eCwNCj4gPj4gPg0KPiA+PiA+ PiA+PiBwaXBlbGluZV9md2RfZXZlbnQgZXRjLikgYXMgdGhleSBpbXBseSBpbXBsaWNpdCByZWxl YXNlIGJhcnJpZXINCj4gPj4gPj4gPj4gKGFzDQo+ID4+ID4NCj4gPj4gPj4gPj4gYWxsDQo+ID4+ ID4NCj4gPj4gPj4gPnRoZQ0KPiA+PiA+DQo+ID4+ID4+ID4+IGNoYW5nZXMgZG9uZSB0byB0aGUg ZXZlbnQgc2hvdWxkIGJlIHZpc2libGUgdG8gdGhlIG5leHQgY29yZSkuDQo+ID4+ID4NCj4gPj4g Pj4gPg0KPiA+PiA+DQo+ID4+ID4+ID5JZiBJIHVuZGVyc3RhbmQgY29ycmVjdGx5LCB5b3VyIG1l YW5pbmcgaXMgdGhhdCBtb3ZlIHJlbGVhc2UNCj4gPj4gPj4gPmJhcnJpZXJzDQo+ID4+ID4NCj4g Pj4gPj4gPmJlZm9yZSBwaXBlbGluZV9ldmVudF90eCBvciBwaXBlbGluZV9md2RfZXZlbnQuIFRo aXMgY2FuIGVuc3VyZQ0KPiA+dGhlDQo+ID4+ID4NCj4gPj4gPj4gPmV2ZW50IGhhcyBiZWVuIHBy b2Nlc3NlZCBiZWZvcmUgdGhlIG5leHQgY29yZSBiZWdpbnMgdG8gdHgvZndkLg0KPiA+Rm9yDQo+ ID4+ID4NCj4gPj4gPj4gPmV4YW1wbGU6DQo+ID4+ID4NCj4gPj4gPj4NCj4gPj4gPg0KPiA+PiA+ PiBXaGF0IEkgbWVhbnQgd2FzIGV2ZW50IEFQSXMgc3VjaCBhcyBgcnRlX2V2ZW50X2VucXVldWVf YnVyc3RgLA0KPiA+PiA+DQo+ID4+ID4+IGBydGVfZXZlbnRfZXRoX3R4X2FkYXB0ZXJfZW5xdWV1 ZWANCj4gPj4gPg0KPiA+PiA+PiBhY3QgYXMgYW4gaW1wbGljaXQgcmVsZWFzZSBiYXJyaWVyIGFu ZCB0aGUgQVBJDQo+ID4+ID5gcnRlX2V2ZW50X2RlcXVldWVfYnVyc3RgIGFjdA0KPiA+PiA+DQo+ ID4+ID4+IGFzIGFuIGltcGxpY2l0IGFjcXVpcmUgYmFycmllci4NCj4gPj4gPg0KPiA+PiA+DQo+ ID4+ID4NCj4gPj4gPj4NCj4gPj4gPg0KPiA+PiA+PiBTaW5jZSwgcGlwZWxpbmVfKiB0ZXN0IHN0 YXJ0cyB3aXRoIGEgZGVxdWV1ZSgpIGFuZCBlbmRzIHdpdGggYW4NCj4gPj4gPmVucXVldWUoKSBJ DQo+ID4+ID4NCj4gPj4gPj4gZG9u4oCZdCBiZWxpZXZlIHdlIG5lZWQgYmFycmllcnMgaW4gQmV0 d2Vlbi4NCj4gPj4gPg0KPiA+PiA+DQo+ID4+ID4NCj4gPj4gPlNvcnJ5IGZvciBteSBtaXN1bmRl cnN0YW5kaW5nIHRoaXMuIEFuZCBJIGFncmVlIHdpdGggeW91IHRoYXQgbm8NCj4gPj4gPmJhcnJp ZXJzIGFyZQ0KPiA+PiA+DQo+ID4+ID5uZWVkZWQgYmV0d2VlbiBkZXF1ZXVlIGFuZCBlbnF1ZXVl Lg0KPiA+PiA+DQo+ID4+ID4NCj4gPj4gPg0KPiA+PiA+Tm93LCBsZXQncyBnbyBiYWNrIHRvIHRo ZSBiZWdpbm5pbmcuIEFjdHVhbGx5IHdpdGggdGhpcyBwYXRjaCwgb3VyDQo+ID4+ID5iYXJyaWVy IGlzIG1haW5seQ0KPiA+PiA+DQo+ID4+ID5mb3IgdGhlIHN5bmNocm9ub3VzIHZhcmlhYmxlICIg dy0+cHJvY2Vzc2VkX3BrdHMgIi4gQXMgd2UgYWxsIGtub3csDQo+ID50aGUNCj4gPj4gPmV2ZW50 IGlzIGZpcnN0bHkNCj4gPj4gPg0KPiA+PiA+ZGVxdWV1ZWQgYW5kIHRoZW4gZW5xdWV1ZWQsIGFm dGVyIHRoaXMsIHRoZSBldmVudCBjYW4gYmUgdHJlYXRlZCBhcw0KPiA+dGhlDQo+ID4+ID5wcm9j ZXNzZWQgZXZlbnQNCj4gPj4gPg0KPiA+PiA+YW5kIGluY2x1ZGVkIGluIHRoZSBzdGF0aXN0aWNz KCJ3LT5wcm9jZXNzZWRfcGt0cysrIikuDQo+ID4+ID4NCj4gPj4gPg0KPiA+PiA+DQo+ID4+ID5U aHVzLCB3ZSBhZGQgYSByZWxlYXNlIGJhcnJpZXIgYmVmb3JlICIgdy0+cHJvY2Vzc2VkX3BrdHMr KyIgaXMgdG8NCj4gPj4gPnByZXZlbnQgdGhpcyBvcGVyYXRpb24NCj4gPj4gPg0KPiA+PiA+YmVp bmcgZXhlY3V0ZWQgYWhlYWQgb2YgdGltZS4gRm9yIGV4YW1wbGU6DQo+ID4+ID4NCj4gPj4gPmRl cXVldWUgIC0+ICB3LT5wcm9jZXNzZWRfcGt0cysrICAtPiAgZW5xdWV1ZQ0KPiA+PiA+DQo+ID4+ ID5UaGlzIGNhdXNlIHRoYXQgdGhlIHdvcmtlciBkb2Vzbid0IGFjdHVhbGx5IGZpbmlzaCB0aGlz IGV2ZW50DQo+ID4+ID5wcm9jZXNzaW5nLCBidXQgdGhlIGV2ZW50IGlzIHRyZWF0ZWQNCj4gPj4g Pg0KPiA+PiA+YXMgdGhlIHByb2Nlc3NlZCBvbmUgYW5kIGluY2x1ZGVkIGluIHRoZSBzdGF0aXN0 aWNzLg0KPiA+PiA+DQo+ID4+DQo+ID4+IEJ1dCB0aGUgY3VycmVudCBzZXF1ZW5jZSBpcyBkZXF1 ZXVlLT4gZW5xdWV1ZS0+IHctIHByb2Nlc3NlZF9wa3RzKysNCj4gPj5hbmQgZW5xdWV1ZSBhbHJl YWR5IGFjdHMgYXMgYW4gZXhwbGljaXQgcmVsZWFzZSBiYXJyaWVyIHJpZ2h0Pw0KPiA+Pg0KPiA+ DQo+ID5Tb3JyeSBtYXliZSBJIGNhbm5vdCB1bmRlcnN0YW5kIGhvdyDigJxlbnF1ZXVl4oCdIGFz IGFuIGV4cGxpY2l0IHJlbGVhc2UNCj4gPmJhcnJpZXIuIEkgdGhpbmsgb2YgdHdvIHBvc3NpYmls aXRpZXM6DQo+ID4xLiBBcyB5b3Ugc2F5IGJlZm9yZSwgYWxsIHRoZSBjaGFuZ2VzIGRvbmUgdG8g dGhlIGV2ZW50IHNob3VsZCBiZQ0KPiA+dmlzaWJsZSB0byB0aGUgbmV4dCBjb3JlIGFuZCBlbnF1 ZXVlIGlzIGEgb3BlcmF0aW9uIGZvciBldmVudCwgc28gdGhlDQo+ID5uZXh0IGNvcmUgc2hvdWxk IHdhaXQgZm9yIHRoZSBldmVudCB0byBiZSBlbnF1ZXVlZC4NCj4gPkkgdGhpbmsgdGhpcyBpcyBk dWUgdG8gZGF0YSBkZXBlbmRlbmNlIGZvciB0aGUgc2FtZSB2YXJpYWJsZS4gSG93ZXZlciwNCj4g PuKAmHctPnByb2Nlc3NlZF9wa3Rz4oCZIGFuZCDigJhlduKAmSBhcmUgZGlmZmVyZW50IHZhcmlh Ymxlcywgc28gdGhpcyBjYW5ub3QNCj4gPnByZXZlbnQg4oCYdy0+cHJvY2Vzc2VkX3BrdHMrK+KA mSBiZWZvcmUgZW5xdWV1ZS4NCj4gPkFuZCB0aGUgbWFpbiBjb3JlIG1heSBsb2FkIHVwZGF0ZWQg 4oCYdy0+cHJvY2Vzc2VkX3BrdHPigJkgYnV0IGFjdHVhbGx5IHRoZQ0KPiA+ZXZlbnQgaXMgc3Rp bGwgYmVpbmcgcHJvY2Vzc2VkLiBGb3IgZXhhbXBsZToNCj4gPg0KPiA+IFRpbWUgU2xvdAkgICBX b3JrZXIgMSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTWFpbiBjb3JlDQo+ ID4gICAxICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVxdWV1ZQ0KPiA+ICAgMiAgICAgICAg ICAgICAgICAgIHctPnByb2Nlc3NlZF9wa3RzKysNCj4gPiAgIDMgICAgICAgICAgICAgICAgICAg ICAgIAkJICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbG9hZCB3LT5wcm9jZXNzZWRfcGt0 cw0KPiA+ICAgNCAgICAgICAgICAgICAgICAgICAgICAgICAgZW5xdWV1ZQ0KPiA+DQo+ID4yLiBT b21lIHJlbGVhc2UgYmFycmllcnMgaGF2ZSBiZWVuIGluY2x1ZGVkIGluIGVucXVldWUuIFRoZXJl IGlzIGENCj4gPnJlbGVhc2UgYmFycmllciBpbiBydGVfcmluZ19lbnF1ZXVlIDoNCj4gPm1vdmUg aGVhZCAtPiBjb3B5IGVsZW1lbnRzIHRvIHRoZSByaW5nIC0+IHJlbGVhc2UgYmFycmllciAtPiB1 cGRhdGUNCj4gPnRhaWwNCj4gPi0+IHctPnByb2Nlc3NlZF9wa3RzKysNCj4gPkhvd2V2ZXIsIHRo aXMgYmFycmllciBjYW5ub3QgcHJldmVudCDigJh3LT5wcm9jZXNzZWRfcGt0cysr4oCZIGJlZm9y ZQ0KPiA+dXBkYXRlIHRhaWwsIGFuZCB3aGVuIHVwZGF0ZV90YWlsIGhhcyBiZWVuIGZpbmlzaGVk LCB0aGUgZW5xdWV1ZQ0KPiA+cHJvY2VzcyAgY2FuIGJlIHNlZW4gY29tcGxldGVkLg0KPiANCj4g SSB3YXMgdGFsa2luZyBhYm91dCBjYXNlIDIgaW4gcGFydGljdWxhciBhbG1vc3QgYWxsIGVucXVl dWUgY2FsbHMgaGF2ZSBzb21lDQo+IGtpbmQgb2YgcmVsZWFzZSBiYXJyaWVyIGluIHBsYWNlLiBJ IGRvIGFncmVlIHctPnByb2Nlc3NlZF9wa3RzKysgbWlnaHQgZ2V0DQo+IHJlb3JkZXJlZCB3aXRo IHRhaWwgdXBkYXRlIGJ1dCBzaW5jZSBlbnF1ZXVlIGl0c2VsZiBpcyBhIGxkciArIGJsciBJIHdh cyBob3BpbmcNCj4gdGhhdCBpdCB3b3VsZG4ndCBvY2N1ci4NCj4gDQo+IFdlIGNhbiBjb250aW51 ZSB0aGUgZGlzY3Vzc2lvbiBvbmNlIEkgaGF2ZSBzb21lIHBlcmZvcm1hbmNlIGRhdGEuDQo+IA0K T2ssIHRoYXQncyBncmVhdC4gSSB0aGluayB0aGlzIGlzIGEgbWVhbmluZ2Z1bCBkaXNjdXNzaW9u LiBUaGFua3MgZm9yIHlvdXIgZWZmb3J0fi4NCg0KQmVzdCBSZWdhcmRzDQpGZWlmZWkNCg0KPiBU aGFua3MgZm9yIHlvdXIgcGF0aWVuY2UgOikNCj4gUGF2YW4uDQo+IA0KPiA+DQo+ID4+ID4NCj4g Pj4gPg0KPiA+Pg0KPiA+Pl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fDQo+IF8NCj4gPj4gXw0KPiA+PiA+X19fX19fX19fX19fX19fX19fX18N Cj4gPj4gPg0KPiA+PiA+DQo+ID4+ID4NCj4gPj4gPkJ5IHRoZSB3YXksIEkgaGF2ZSB0d28gb3Ro ZXIgcXVlc3Rpb25zIGFib3V0IHBpcGVsaW5lIHByb2Nlc3MgdGVzdA0KPiA+PiA+aW4gInRlc3Rf cGlwZWxpbmVfcXVldWUiLg0KPiA+PiA+DQo+ID4+ID4xLiB3aGVuIGRvIHdlIHN0YXJ0IGNvdW50 aW5nIHByb2Nlc3NlZCBldmVudHMgKHctDQo+ID4+cHJvY2Vzc2VkX3BrdHMpPw0KPiA+PiA+DQo+ ID4+ID5Gb3IgdGhlIGZ3ZCBtb2RlIChpbnRlcm5hbF9wb3J0ID0gZmFsc2UpLCB3aGVuIHdlIGNo b29zZSBzaW5nbGUNCj4gPnN0YWdlLA0KPiA+PiA+YXBwbGljYXRpb24gaW5jcmVtZW50cw0KPiA+ PiA+DQo+ID4+ID50aGUgbnVtYmVyIGV2ZW50cyBwcm9jZXNzZWQgYWZ0ZXIgInBpcGVsaW5lX2V2 ZW50IGVucXVldWUiLg0KPiA+PiA+SG93ZXZlciwgd2hlbiB3ZSBjaG9vc2UgbXVsdGlwbGUNCj4g Pj4gPg0KPiA+PiA+c3RhZ2UsIGFwcGxpY2F0aW9uIGluY3JlbWVudHMgdGhlIG51bWJlciBldmVu dHMgcHJvY2Vzc2VkIGJlZm9yZQ0KPiA+PiA+InBpcGxlbGluZV9ldmVudF9lbnF1ZXVlIi4NCj4g Pj4NCj4gPj4gV2UgY291bnQgYW4gZXZlbnQgYXMgcHJvY2VzcyB3aGVuIGFsbCB0aGUgc3RhZ2Vz IGhhdmUgY29tcGxldGVkDQo+ID5hbmQgaXRzDQo+ID4+IFRyYXNubWl0dGVkLg0KPiA+Pg0KPiA+ PiA+U28sDQo+ID4+ID4NCj4gPj4gPm1heWJlIHdlIGNhbiB1bmlmeSB0aGlzLiBGb3IgZXhhbXBs ZSBvZiBtdWx0aXBsZSBzdGFnZToNCj4gPj4gPg0KPiA+PiA+DQo+ID4+ID4NCj4gPj4gPiAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGNxX2lkID09IGxhc3RfcXVldWUpIHsNCj4g Pj4gPg0KPiA+PiA+ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgZXYucXVldWVfaWQgPQ0KPiA+PiA+IHR4X3F1ZXVlW2V2Lm1idWYtPnBvcnRdOw0KPiA+PiA+ DQo+ID4+ID4NCj4gPj4gPnJ0ZV9ldmVudF9ldGhfdHhfYWRhcHRlcl90eHFfc2V0KGV2Lm1idWYs DQo+ID4+ID4wKTsNCj4gPj4gPg0KPiA+PiA+DQo+ID4+ID5waXBlbGluZV9md2RfZXZlbnQoJmV2 LCBSVEVfU0NIRURfVFlQRV9BVE9NSUMpOw0KPiA+PiA+DQo+ID4+ID4gICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICsgICAgICAgICAgICAgcGlwZWxpbmVfZXZlbnRfZW5xdWV1ZShkZXYs IHBvcnQsICZldik7DQo+ID4+ID4NCj4gPj4gPiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIHctPnByb2Nlc3NlZF9wa3RzKys7DQo+ID4+ID4NCj4gPj4gPiAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHsNCj4gPj4gPg0KPiA+PiA+ICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZXYucXVldWVfaWQr KzsNCj4gPj4gPg0KPiA+PiA+DQo+ID4+ID5waXBlbGluZV9md2RfZXZlbnQoJmV2LCBzY2hlZF90 eXBlX2xpc3RbY3FfaWRdKTsNCj4gPj4gPg0KPiA+PiA+ICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICArICAgICAgICAgICAgIHBpcGVsaW5lX2V2ZW50X2VucXVldWUoZGV2LCBwb3J0LCAm ZXYpOw0KPiA+PiA+DQo+ID4+ID4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0NCj4g Pj4gPg0KPiA+PiA+DQo+ID4+ID4NCj4gPj4gPiAgICAgICAgICAgICAgICAtICAgICAgICAgICAg ICBwaXBlbGluZV9ldmVudF9lbnF1ZXVlKGRldiwgcG9ydCwgJmV2KTsNCj4gPj4gPg0KPiA+PiA+ DQo+ID4+DQo+ID4+IFRoZSBhYm92ZSBjaGFuZ2UgbWFrZXMgc2Vuc2UuDQo+ID4+DQo+ID5UaGFu a3MgZm9yIHlvdXIgcmV2aWV3LCBhbmQgSeKAmWxsIHVwZGF0ZSB0aGlzIGNoYW5nZSBpbnRvIHRo ZSBuZXh0DQo+ID52ZXJzaW9uLg0KPiA+PiA+DQo+ID4+ID4yLiBXaGV0aGVyICAicGlwZWxpbmVf ZXZlbnRfZW5xdWV1ZSIgaXMgbmVlZGVkIGFmdGVyDQo+ID4+ID4icGlwZWxpbmVfZXZlbnRfdHgi IGZvciB0eCBtb2RlPw0KPiA+PiA+DQo+ID4+ID5Gb3Igc2luZ2xlX3N0YWdlX2J1cnN0X3R4IG1v ZGUsIGFmdGVyICJwaXBlbGluZV9ldmVudF90eCIsIHRoZQ0KPiA+d29ya2VyDQo+ID4+ID5oYXMg dG8gZW5xdWV1ZSBhZ2Fpbg0KPiA+PiA+DQo+ID4+ID5kdWUgdG8gICJwaXBlbGluZV9ldmVudF9l bnF1ZXVlX2J1cnN0Iiwgc28gbWF5YmUgd2Ugc2hvdWxkIGp1bXANCj4gPm91dCBvZg0KPiA+PiA+ dGhlIGxvb3AgYWZ0ZXINCj4gPj4gPg0KPiA+PiA+4oCccGlwZWxpbmVfZXZlbnRfdHjigJ0sDQo+ ID4+DQo+ID4+IFdlIGNhbGwgZW5xdWV1ZSBidXJzdCB0byByZWxlYXNlIHRoZSBldmVudHMgaS5l LiBlbnF1ZXVlIGV2ZW50cyB3aXRoDQo+ID4+IFJURV9FVkVOVF9PUF9SRUxFQVNFLg0KPiA+Pg0K PiA+SG93ZXZlciwNCj4gPkluIGNhc2Ugb2Ygc2luZ2xlIGV2ZW50LCBmb3IgJyBwaXBlbGluZV9x dWV1ZV93b3JrZXJfc2luZ2xlX3N0YWdlX3R4Jw0KPiA+YW5kICcgcGlwZWxpbmVfcXVldWVfd29y a2VyX211bHRpX3N0YWdlX3R4JywNCj4gPmFmdGVyIHR4LCB0aGVyZSBpcyBubyByZWxlYXNlIG9w ZXJhdGlvbi4NCj4gPg0KPiA+PiA+DQo+ID4+ICBmb3IgZXhhbXBsZToNCj4gPj4gPg0KPiA+PiA+ DQo+ID4+ID4NCj4gPj4gPiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIGlmIChldltpXS5zY2hlZF90eXBlDQo+ID4+ID49PQ0KPiA+PiA+UlRFX1NDSEVEX1RZ UEVfQVRPTUlDKSB7DQo+ID4+ID4NCj4gPj4gPg0KPiA+PiA+IHBpcGVsaW5lX2V2ZW50X3R4KGRl diwgcG9ydCwgJmV2W2ldKTsNCj4gPj4gPg0KPiA+PiA+DQo+ID4+ID4gZXZbaV0ub3AgPSBSVEVf RVZFTlRfT1BfUkVMRUFTRTsNCj4gPj4gPg0KPiA+PiA+DQo+ID4+ID4gdy0+cHJvY2Vzc2VkX3Br dHMrKzsNCj4gPj4gPg0KPiA+PiA+ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgKyAgICAgICAgICAgICBjb250aW51ZTsNCj4gPj4gPg0KPiA+PiA+ICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHsNCj4gPj4g Pg0KPiA+PiA+DQo+ID4+ID4gZXZbaV0ucXVldWVfaWQrKzsNCj4gPj4gPg0KPiA+PiA+DQo+ID4+ ID4gcGlwZWxpbmVfZndkX2V2ZW50KCZldltpXSwNCj4gPj4gPg0KPiA+PiA+DQo+ID4+ID5SVEVf U0NIRURfVFlQRV9BVE9NSUMpOw0KPiA+PiA+DQo+ID4+ID4gICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICB9DQo+ID4+ID4NCj4gPj4gPiAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgfQ0KPiA+PiA+DQo+ID4+ID4NCj4gPj4gPg0KPiA+PiA+ICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICBwaXBlbGluZV9ldmVudF9lbnF1ZXVlX2J1cnN0KGRl diwNCj4gPj4gPiBwb3J0LCBldiwgbmJfcngpOw0KPiA+PiA+DQo+ID4+ID4NCj4gPj4gPg0KPiA+ PiA+DQo+ID4+ID4NCj4gPj4gPj4NCj4gPj4gPg0KPiA+PiA+PiA+DQo+ID4+ID4NCj4gPj4gPj4g PmlmIChldi5zY2hlZF90eXBlID09IFJURV9TQ0hFRF9UWVBFX0FUT01JQykgew0KPiA+PiA+DQo+ ID4+ID4+ID4gICAgICAgICAgICAgICAgICAgICAgICAgICsNCj4gPj4gPl9fYXRvbWljX3RocmVh ZF9mZW5jZShfX0FUT01JQ19SRUxFQVNFKTsNCj4gPj4gPg0KPiA+PiA+PiA+ICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGlwZWxpbmVfZXZlbnRfdHgoZGV2LA0KPiA+ PiA+PiA+IHBvcnQsICZldik7DQo+ID4+ID4NCj4gPj4gPj4gPiAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIHctPnByb2Nlc3NlZF9wa3RzKys7DQo+ID4+ID4NCj4gPj4g Pj4gPiAgICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHsNCj4gPj4gPg0KPiA+PiA+PiA+ ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZXYucXVldWVfaWQrKzsN Cj4gPj4gPg0KPiA+PiA+PiA+ICAgICAgICAgICAgICAgICAgICAgICAgICArDQo+ID4+ID5fX2F0 b21pY190aHJlYWRfZmVuY2UoX19BVE9NSUNfUkVMRUFTRSk7DQo+ID4+ID4NCj4gPj4gPj4gPiAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBpcGVsaW5lX2Z3ZF9ldmVu dCgmZXYsDQo+ID4+ID4NCj4gPj4gPj4gPlJURV9TQ0hFRF9UWVBFX0FUT01JQyk7DQo+ID4+ID4N Cj4gPj4gPj4gPg0KPiA+PiA+PiA+IHBpcGVsaW5lX2V2ZW50X2VucXVldWUoZGV2LCBwb3J0LCAm ZXYpOw0KPiA+PiA+DQo+ID4+ID4+ID4NCj4gPj4gPg0KPiA+PiA+PiA+SG93ZXZlciwgdGhlcmUg YXJlIHR3byByZWFzb25zIHRvIHByZXZlbnQgdGhpczoNCj4gPj4gPg0KPiA+PiA+PiA+DQo+ID4+ ID4NCj4gPj4gPj4gPkZpcnN0LCBjb21wYXJlIHdpdGggb3RoZXIgdGVzdHMgaW4gYXBwL2V2ZW50 ZGV2LCBmb3IgZXhhbXBsZSwgdGhlDQo+ID4+ID4NCj4gPj4gPj4gPmV2ZW50ZGV2IHBlcmYgdGVz dCwgdGhlIHdtYiBpcyBhZnRlciBldmVudCBvcGVyYXRpb24gdG8gZW5zdXJlDQo+ID4+ID4NCj4g Pj4gPj4gPm9wZXJhdGlvbiBoYXMgYmVlbiBmaW5pc2hlZCBhbmQgdGhlbiB3LT5wcm9jZXNzZWRf cGt0cysrLg0KPiA+PiA+DQo+ID4+ID4+DQo+ID4+ID4NCj4gPj4gPj4gSW4gY2FzZSBvZiBwZXJm XyogdGVzdHMgc3RhcnQgd2l0aCBhIGRlcXVldWUoKSBhbmQgZmluYWxseSBlbmRzDQo+ID4+ID4+ IHdpdGggYQ0KPiA+PiA+DQo+ID4+ID4+IG1lbXBvb2xfcHV0KCkgc2hvdWxkIGFsc28gYWN0IGFz IGltcGxpY2l0IGFjcXVpcmUgcmVsZWFzZSBwYWlycw0KPiA+PiA+bWFraW5nIHN0YXRzDQo+ID4+ ID4NCj4gPj4gPj4gY29uc2lzdGVudD8NCj4gPj4gPg0KPiA+PiA+DQo+ID4+ID4NCj4gPj4gPkZv ciBwZXJmIHRlc3RzLCB0aGlzIGNvbnNpc3RlbmN5IHJlZmVycyB0byB0aGF0IHRoZXJlIGlzIGEg d21iIGFmdGVyDQo+ID4+ID5tZW1wb29sX3B1dCgpLg0KPiA+PiA+DQo+ID4+ID5QbGVhc2UgcmVm ZXIgdG8gdGhpcyBsaW5rOg0KPiA+PiA+DQo+ID4+ID5odHRwczovL3VybGRlZmVuc2UucHJvb2Zw b2ludC5jb20vdjIvdXJsP3U9aHR0cC0NCj4gPj4NCj4gPj4zQV9fcGF0Y2hlcy5kcGRrLm9yZ19w YXRjaF84NTYzNF8mZD1Ed0lHYVEmYz1uS2pXZWMyYjZSMG0NCj4gPk8NCj4gPj4NCj4gPj55UGF6 N3h0ZlEmcj0xY2p1QUhyR2g3NDVqSE5tajJmRDg1c1VNSUoySVBJRHNJSnpvNkZONlowJm09eg0K PiA+Zw0KPiA+PiA+UUhlU0RpWFdmSTFQSUlVeFhCcU1TNkUtDQo+ID4yXzNHNDZuaHJ6R1hvQnBI SSZzPTBGd1R4UFhqV2ZsaC0NCj4gPj4gPnNkbW5rWTEzM0lQbEpCNzgweDB5eGU3QW0zSkNCdyZl PQ0KPiA+PiA+DQo+ID4+ID4NCj4gPj4gPg0KPiA+PiA+Pg0KPiA+PiA+DQo+ID4+ID4+ID5Tbywg aWYgd2UgbW92ZSByZWxlYXNlIGJhcnJpZXJzIGJlZm9yZSB0eC9md2QsIGl0IG1heSBjYXVzZSB0 aGF0DQo+ID50aGUNCj4gPj4gPg0KPiA+PiA+PiA+dGVzdHMgb2YgYXBwL2V2ZW50ZGV2IGJlY29t ZSAgaW5jb25zaXN0ZW50LlRoaXMgbWF5IHJlZHVjZSB0aGUNCj4gPj4gPg0KPiA+PiA+PiA+bWFp bnRhaW5hYmlsaXR5IG9mIHRoZSBjb2RlIGFuZCBtYWtlIGl0IGRpZmZpY3VsdCB0byB1bmRlcnN0 YW5kLg0KPiA+PiA+DQo+ID4+ID4+ID4NCj4gPj4gPg0KPiA+PiA+PiA+U2Vjb25kLCBpdCBpcyBh IHRlc3QgY2FzZSwgdGhvdWdoIGhlYXZ5IHRocmVhZCBtYXkgY2F1c2UNCj4gPj4gPnBlcmZvcm1h bmNlDQo+ID4+ID4NCj4gPj4gPj4gPmRlZ3JhZGF0aW9uLCBpdCBjYW4gZW5zdXJlIHRoYXQgdGhl IG9wZXJhdGlvbiBwcm9jZXNzIGFuZCB0aGUNCj4gPj4gPj4gPnRlc3QNCj4gPj4gPg0KPiA+PiA+ PiA+cmVzdWx0IGFyZSBjb3JyZWN0LiBBbmQgbWF5YmUgZm9yIGEgdGVzdCBjYXNlLCBjb3JyZWN0 bmVzcyBpcw0KPiA+PiA+PiA+bW9yZQ0KPiA+PiA+DQo+ID4+ID4+ID5pbXBvcnRhbnQgdGhhbiBw ZXJmb3JtYW5jZS4NCj4gPj4gPg0KPiA+PiA+PiA+DQo+ID4+ID4NCj4gPj4gPj4NCj4gPj4gPg0K PiA+PiA+PiBNb3N0IG9mIG91ciBpbnRlcm5hbCBwZXJmIHRlc3QgcnVuIG9uIDI0LzQ4IGNvcmUg Y29tYmluYXRpb25zIGFuZA0KPiA+PiA+c2luY2UNCj4gPj4gPg0KPiA+PiA+PiBPY3Rlb250eDIg ZXZlbnQgZGV2aWNlIGRyaXZlciBzdXBwb3J0cyBhIGJ1cnN0IHNpemUgb2YgMSwgaXQgd2lsbA0K PiA+PiA+PiBzaG93DQo+ID4+ID51cCBhcw0KPiA+PiA+DQo+ID4+ID4+IEh1Z2UgcGVyZm9ybWFu Y2UgZGVncmFkYXRpb24uDQo+ID4+ID4NCj4gPj4gPg0KPiA+PiA+DQo+ID4+ID5Gb3IgdGhlIGlt cGFjdCBvbiBwZXJmb3JtYW5jZSwgSSBkbyB0aGUgdGVzdCB1c2luZyBzb2Z0d2FyZSBkcml2ZXIs DQo+ID4+ID5mb2xsb3dpbmcgYXJlIHNvbWUgdGVzdCByZXN1bHRzOg0KPiA+PiA+DQo+ID4+ID4t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLQ0KPiA+PiA+LS0tDQo+ID4+ID4tLS0tLS0tLS0tLS0tLS0tDQo+ID4+ID4tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCj4gPj4gPg0KPiA+PiA+ QXJjaGl0ZWN0dXJlOiBhYXJjaDY0DQo+ID4+ID4NCj4gPj4gPk5pY3M6IGl4Z2JlLTgyNTk5DQo+ ID4+ID4NCj4gPj4gPkNQVTogQ29ydGV4LUE3Mg0KPiA+PiA+DQo+ID4+ID5CVVJTVF9TSVpFOiAx DQo+ID4+ID4NCj4gPj4gPk9yZGVyOiAuL2RwZGstdGVzdC1ldmVudGRldiAtbCAwLTE1IC1zIDB4 MiAtLXZkZXY9ZXZlbnRfc3cwIC0tIC0tDQo+ID4+ID50ZXN0PXBpcGVsaW5lX3F1ZXVlIC0td2xj b3JlPTQtMTQgLS1wcm9kX3R5cGVfZXRoZGV2IC0tc3RsaXN0PWEsYQ0KPiA+PiA+DQo+ID4+ID5G bG93OiBvbmUgZmxvdywgNjRiaXRzIHBhY2thZ2UsIFRYIHJhdGU6IDEuNE1wcHMNCj4gPj4gPg0K PiA+PiA+DQo+ID4+ID4NCj4gPj4gPldpdGhvdXQgdGhpcyBwYXRjaDoNCj4gPj4gPg0KPiA+PiA+ MC45NTQgbXBwcyBhdmcgMC45NTMgbXBwcw0KPiA+PiA+DQo+ID4+ID4NCj4gPj4gPg0KPiA+PiA+ V2l0aCB0aGlzIHBhdGNoOg0KPiA+PiA+DQo+ID4+ID4wLjkzMiBtcHBzIGF2ZyAwLjkzMCBtcHBz DQo+ID4+ID4NCj4gPj4gPi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQo+ID4+ID4tLS0NCj4gPj4gPi0tLS0tLS0tLS0t LS0tLS0NCj4gPj4gPi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LQ0KPiA+PiA+DQo+ID4+ID4NCj4gPj4gPg0KPiA+PiA+QmFzZWQgb24gdGhlIHJlc3VsdCBhYm92 ZSwgdGhlcmUgaXMgbm8gc2lnbmlmaWNhbnQgcGVyZm9ybWFuY2UNCj4gPj4gPmRlZ3JhZGF0aW9u IHdpdGggdGhpcyBwYXRjaC4NCj4gPj4gPg0KPiA+PiA+VGhpcyBpcyBiZWNhdXNlIHRoZSByZWxl YXNlIGJhcnJpZXIgaXMgb25seSBmb3IgIOKAnHctDQo+ID4+cHJvY2Vzc2VkX3BrdHMrK+KAnS4N Cj4gPj4gPkl0IGp1c3QgZW5zdXJlcyB0aGF0IHRoZSB3b3JrZXIgY29yZQ0KPiA+PiA+DQo+ID4+ ID5pbmNyZW1lbnRzIHRoZSBudW1iZXIgZXZlbnRzIHByb2Nlc3NlZCBhZnRlciBlbnF1ZXVlLCBh bmQgaXQNCj4gPmRvZXNu4oCZdA0KPiA+PiA+YWZmZWN0IGRlcXVldWUvZW5xdWV1ZToNCj4gPj4g Pg0KPiA+PiA+DQo+ID4+ID4NCj4gPj4gPmRlcXVldWUgLT4gZW5xdWV1ZSAtPiByZWxlYXNlIGJh cnJpZXIgLT4gdy0+cHJvY2Vzc2VkX3BrdHMrKw0KPiA+PiA+DQo+ID4+DQo+ID4+IEhlcmUgZW5x dWV1ZSBhbHJlYWR5IGFjdHMgYXMgYW4gZXhwbGljaXQgcmVsZWFzZSBiYXJyaWVyLg0KPiA+Pg0K PiA+UGxlYXNlIHJlZmVyIGFib3ZlIHJlYXNvbnMuDQo+ID4NCj4gPj4gPg0KPiA+PiA+DQo+ID4+ ID5PbiB0aGUgb3RoZXIgaGFuZCwgSSBpbmZlciB0aGUgcmVhc29uIGZvciB0aGUgc2xpZ2h0IGRl Y3JlYXNlIGluDQo+ID4+ID5tZWFzdXJlbWVudCBwZXJmb3JtYW5jZSBpcyB0aGF0IHRoZSByZWxl YXNlIGJhcnJpZXINCj4gPj4gPg0KPiA+PiA+cHJldmVudCDigJx3LT5wcm9jZXNzZWRfcGt0cysr 4oCdIGJlZm9yZSB0aGF0IHRoZSBldmVudCBoYXMgYmVlbg0KPiA+cHJvY2Vzc2VkDQo+ID4+ID4o ZW5xdWV1ZSkuIEJ1dCBJIHRoaW5rIHRoaXMgdGVzdCByZXN1bHQgaXMgY2xvc2VyDQo+ID4+ID4N Cj4gPj4gPnRvIHRoZSByZWFsIHBlcmZvcm1hbmNlLg0KPiA+PiA+DQo+ID4+ID5BbmQgc29ycnkg Zm9yIHRoYXQgd2UgaGF2ZSBubyBvY3RlbnR4MiBkZXZpY2UsIHNvIHRoZXJlIGlzIG5vIHRlc3QN Cj4gPj4gPnJlc3VsdCBvbiBPY3Rlb250eDIgZXZlbnQgZGV2aWNlIGRyaXZlci4gV291bGQgeW91 IHBsZWFzZQ0KPiA+PiA+DQo+ID4+ID5oZWxwIHVzIHRlc3QgdGhpcyBwYXRjaCBvbiBvY3RlbnR4 MiB3aGVuIHlvdSBhcmUgY29udmVuaWVudC4gVGhhbmtzDQo+ID4+ID52ZXJ5IG11Y2guDQo+ID4+ ID4NCj4gPj4NCj4gPj4gSSB3aWxsIHJlcG9ydCB0aGUgcGVyZm9ybWFuY2UgbnVtYmVycyBvbiBN b25kYXkuDQo+ID4+DQo+ID4NCj4gPlRoYXTigJlzIGdyZWF0LCBUaGFua3MgdmVyeSBtdWNoIGZv ciB5b3VyIGhlbHAuDQo+ID4NCj4gPkJlc3QgUmVnYXJkcw0KPiA+RmVpZmVpDQo+ID4NCj4gPj4g Pg0KPiA+PiA+DQo+ID4+ID5CZXN0IFJlZ2FyZHMNCj4gPj4gPg0KPiA+PiA+RmVpZmVpDQo+ID4+ DQo+ID4+IFJlZ2FyZHMsDQo+ID4+IFBhdmFuLg0KPiA+Pg0KPiA+PiA+DQo+ID4+ID4NCj4gPj4g Pg0KPiA+PiA+Pg0KPiA+PiA+DQo+ID4+ID4+ID5TbywgZHVlIHRvIHR3byByZWFzb25zIGFib3Zl LCBJJ20gYW1iaXZhbGVudCBhYm91dCBob3cgd2UNCj4gPnNob3VsZA0KPiA+PiA+ZG8gaW4NCj4g Pj4gPg0KPiA+PiA+PiA+dGhlIG5leHQgc3RlcC4NCj4gPj4gPg0KPiA+PiA+PiA+DQo+ID4+ID4N Cj4gPj4gPj4gPkJlc3QgUmVnYXJkcw0KPiA+PiA+DQo+ID4+ID4+ID5GZWlmZWkNCj4gPj4gPg0K PiA+PiA+Pg0KPiA+PiA+DQo+ID4+ID4+IFJlZ2FyZHMsDQo+ID4+ID4NCj4gPj4gPj4gUGF2YW4u DQo+ID4+ID4NCj4gPj4gPj4NCj4gPj4gPg0KPiA+PiA+PiA+DQo+ID4+ID4NCj4gPj4gPj4gPj4g PkZpeGVzOiAzMTRiY2Y1OGNhOGYgKCJhcHAvZXZlbnRkZXY6IGFkZCBwaXBlbGluZSBxdWV1ZQ0K PiA+d29ya2VyDQo+ID4+ID4NCj4gPj4gPj4gPj4gPmZ1bmN0aW9ucyIpDQo+ID4+ID4NCj4gPj4g Pj4gPj4gPkNjOg0KPiA+Pg0KPiA+Pm1haWx0bzpwYmhhZ2F2YXR1bGFAbWFydmVsbC5jb208bWFp bHRvOnBiaGFnYXZhdHVsYUBtYXJ2ZWxsLmNvDQo+ID5tPg0KPiA+PiA+DQo+ID4+ID4+ID4+ID5D YzogbWFpbHRvOnN0YWJsZUBkcGRrLm9yZzxtYWlsdG86c3RhYmxlQGRwZGsub3JnPg0KPiA+PiA+ DQo+ID4+ID4+ID4+ID4NCj4gPj4gPg0KPiA+PiA+PiA+PiA+U2lnbmVkLW9mZi1ieTogUGhpbCBZ YW5nDQo+ID4+ID48bWFpbHRvOnBoaWwueWFuZ0Bhcm0uY29tPG1haWx0bzpwaGlsLnlhbmdAYXJt LmNvbT4+DQo+ID4+ID4NCj4gPj4gPj4gPj4gPlNpZ25lZC1vZmYtYnk6IEZlaWZlaSBXYW5nDQo+ ID4+ID48bWFpbHRvOmZlaWZlaS53YW5nMkBhcm0uY29tPG1haWx0bzpmZWlmZWkud2FuZzJAYXJt LmNvbT4+DQo+ID4+ID4NCj4gPj4gPj4gPj4gPlJldmlld2VkLWJ5OiBSdWlmZW5nIFdhbmcNCj4g Pj4gPjxtYWlsdG86cnVpZmVuZy53YW5nQGFybS5jb208bWFpbHRvOnJ1aWZlbmcud2FuZ0Bhcm0u Y29tPj4NCj4gPj4gPg0KPiA+PiA+PiA+PiA+LS0tDQo+ID4+ID4NCj4gPj4gPj4gPj4gPiBhcHAv dGVzdC1ldmVudGRldi90ZXN0X3BpcGVsaW5lX3F1ZXVlLmMgfCA2NA0KPiA+PiA+DQo+ID4+ID4+ ID4+ID4rKysrKysrKysrKysrKysrKysrKystLS0tDQo+ID4+ID4NCj4gPj4gPj4gPj4gPiAxIGZp bGUgY2hhbmdlZCwgNTYgaW5zZXJ0aW9ucygrKSwgOCBkZWxldGlvbnMoLSkNCj4gPj4gPg0KPiA+ PiA+PiA+PiA+DQo+ID4+ID4NCj4gPj4gPj4gPj4gPmRpZmYgLS1naXQgYS9hcHAvdGVzdC1ldmVu dGRldi90ZXN0X3BpcGVsaW5lX3F1ZXVlLmMNCj4gPmIvYXBwL3Rlc3QtDQo+ID4+ID4NCj4gPj4g Pj4gPj4gPmV2ZW50ZGV2L3Rlc3RfcGlwZWxpbmVfcXVldWUuYyBpbmRleCA3YmViYWMzNGYuLjBj MGVjMGNlYg0KPiA+PiA+DQo+ID4+ID4+ID4xMDA2NDQNCj4gPj4gPg0KPiA+PiA+PiA+PiA+LS0t IGEvYXBwL3Rlc3QtZXZlbnRkZXYvdGVzdF9waXBlbGluZV9xdWV1ZS5jDQo+ID4+ID4NCj4gPj4g Pj4gPj4gPisrKyBiL2FwcC90ZXN0LWV2ZW50ZGV2L3Rlc3RfcGlwZWxpbmVfcXVldWUuYw0KPiA+ PiA+DQo+ID4+ID4+ID4+ID5AQCAtMzAsNyArMzAsMTMgQEANCj4gPj4gPnBpcGVsaW5lX3F1ZXVl X3dvcmtlcl9zaW5nbGVfc3RhZ2VfdHgodm9pZA0KPiA+PiA+DQo+ID4+ID4+ID4+ID4qYXJnKQ0K PiA+PiA+DQo+ID4+ID4+ID4+ID4NCj4gPj4gPg0KPiA+PiA+PiA+PiA+ICAgICAgICAgICAgICAg ICAgICBpZiAoZXYuc2NoZWRfdHlwZSA9PQ0KPiA+PiA+PiA+PiA+IFJURV9TQ0hFRF9UWVBFX0FU T01JQykgew0KPiA+PiA+DQo+ID4+ID4+ID4+ID4gICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBwaXBlbGluZV9ldmVudF90eChkZXYsDQo+ID4+ID4+ID4+ID4gcG9ydCwgJmV2KTsN Cj4gPj4gPg0KPiA+PiA+PiA+PiA+LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB3 LT5wcm9jZXNzZWRfcGt0cysrOw0KPiA+PiA+DQo+ID4+ID4+ID4+ID4rDQo+ID4+ID4NCj4gPj4g Pj4gPj4gPisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiByZWxlYXNlIGJhcnJp ZXIgaGVyZQ0KPiA+PiA+PiA+PiA+KyBlbnN1cmVzIHN0b3JlZA0KPiA+PiA+b3BlcmF0aW9uDQo+ ID4+ID4NCj4gPj4gPj4gPj4gPisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqIG9m IHRoZSBldmVudCBjb21wbGV0ZXMNCj4gPj4gPj4gPj4gPisgYmVmb3JlIHRoZSBudW1iZXINCj4g Pj4gPm9mDQo+ID4+ID4NCj4gPj4gPj4gPj4gPisgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAqIHByb2Nlc3NlZCBwa3RzIGlzIHZpc2libGUNCj4gPj4gPj4gPj4gPisgdG8gdGhlIG1h aW4gY29yZQ0KPiA+PiA+DQo+ID4+ID4+ID4+ID4rICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgKi8NCj4gPj4gPg0KPiA+PiA+PiA+PiA+Kw0KPiA+PiA+PiA+PiA+KyBfX2F0b21pY19m ZXRjaF9hZGQoJih3LT5wcm9jZXNzZWRfcGt0cyksDQo+ID4+ID4xLA0KPiA+PiA+DQo+ID4+ID4+ ID4+ID4rDQo+ID4+ID4+ID4+ID4rIF9fQVRPTUlDX1JFTEVBU0UpOw0KPiA+PiA+DQo+ID4+ID4+ ID4+ID4gICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7DQo+ID4+ID4NCj4gPj4gPj4gPj4gPiAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGV2LnF1ZXVlX2lkKys7DQo+ID4+ID4N Cj4gPj4gPj4gPj4gPiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBpcGVsaW5l X2Z3ZF9ldmVudCgmZXYsDQo+ID4+ID4NCj4gPj4gPj4gPj4gPlJURV9TQ0hFRF9UWVBFX0FUT01J Qyk7DQo+ID4+ID4NCj4gPj4gPj4gPj4gPkBAIC01OSw3ICs2NSwxMyBAQA0KPiA+PiA+DQo+ID4+ ID4+ID5waXBlbGluZV9xdWV1ZV93b3JrZXJfc2luZ2xlX3N0YWdlX2Z3ZCh2b2lkDQo+ID4+ID4N Cj4gPj4gPj4gPj4gPiphcmcpDQo+ID4+ID4NCj4gPj4gPj4gPj4gPiAgICAgICAgICAgICAgICAg ICAgcnRlX2V2ZW50X2V0aF90eF9hZGFwdGVyX3R4cV9zZXQoZXYubWJ1ZiwNCj4gPj4gPj4gPj4g PiAwKTsNCj4gPj4gPg0KPiA+PiA+PiA+PiA+ICAgICAgICAgICAgICAgICAgICBwaXBlbGluZV9m d2RfZXZlbnQoJmV2LA0KPiA+PiA+PiA+PiA+IFJURV9TQ0hFRF9UWVBFX0FUT01JQyk7DQo+ID4+ ID4NCj4gPj4gPj4gPj4gPiAgICAgICAgICAgICAgICAgICAgcGlwZWxpbmVfZXZlbnRfZW5xdWV1 ZShkZXYsIHBvcnQsICZldik7DQo+ID4+ID4NCj4gPj4gPj4gPj4gPi0gICAgICAgICAgICAgICAg ICB3LT5wcm9jZXNzZWRfcGt0cysrOw0KPiA+PiA+DQo+ID4+ID4+ID4+ID4rDQo+ID4+ID4NCj4g Pj4gPj4gPj4gPisgICAgICAgICAgICAgICAgIC8qIHJlbGVhc2UgYmFycmllciBoZXJlIGVuc3Vy ZXMgc3RvcmVkDQo+ID4+ID4+ID4+ID4rIG9wZXJhdGlvbg0KPiA+PiA+DQo+ID4+ID4+ID4+ID4r ICAgICAgICAgICAgICAgICAqIG9mIHRoZSBldmVudCBjb21wbGV0ZXMgYmVmb3JlIHRoZSBudW1i ZXINCj4gPj4gPj4gPj4gPisgb2YNCj4gPj4gPg0KPiA+PiA+PiA+PiA+KyAgICAgICAgICAgICAg ICAgKiBwcm9jZXNzZWQgcGt0cyBpcyB2aXNpYmxlIHRvIHRoZSBtYWluIGNvcmUNCj4gPj4gPg0K PiA+PiA+PiA+PiA+KyAgICAgICAgICAgICAgICAgKi8NCj4gPj4gPg0KPiA+PiA+PiA+PiA+KyAg ICAgICAgICAgICAgICAgX19hdG9taWNfZmV0Y2hfYWRkKCYody0+cHJvY2Vzc2VkX3BrdHMpLCAx LA0KPiA+PiA+DQo+ID4+ID4+ID4+ID4rDQo+ID4+ID4+ID4+ID4rIF9fQVRPTUlDX1JFTEVBU0Up Ow0KPiA+PiA+DQo+ID4+ID4+ID4+ID4gICAgfQ0KPiA+PiA+DQo+ID4+ID4+ID4+ID4NCj4gPj4g Pg0KPiA+PiA+PiA+PiA+ICAgIHJldHVybiAwOw0KPiA+PiA+DQo+ID4+ID4+ID4+ID5AQCAtODQs NyArOTYsMTMgQEANCj4gPj4gPg0KPiA+PiA+PiA+PiA+cGlwZWxpbmVfcXVldWVfd29ya2VyX3Np bmdsZV9zdGFnZV9idXJzdF90eCh2b2lkICphcmcpDQo+ID4+ID4NCj4gPj4gPj4gPj4gPiAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChldltpXS5zY2hlZF90eXBlID09DQo+ ID4+ID4NCj4gPj4gPj4gPj4gPlJURV9TQ0hFRF9UWVBFX0FUT01JQykgew0KPiA+PiA+DQo+ID4+ ID4+ID4+ID4NCj4gPj4gPj4gPj4gPiBwaXBlbGluZV9ldmVudF90eChkZXYsIHBvcnQsICZldltp XSk7DQo+ID4+ID4NCj4gPj4gPj4gPj4gPiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBldltpXS5vcCA9DQo+ID4+ID4+ID4+ID4gUlRFX0VWRU5UX09Q X1JFTEVBU0U7DQo+ID4+ID4NCj4gPj4gPj4gPj4gPi0gICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIHctPnByb2Nlc3NlZF9wa3RzKys7DQo+ID4+ID4NCj4g Pj4gPj4gPj4gPisNCj4gPj4gPg0KPiA+PiA+PiA+PiA+KyAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAvKiByZWxlYXNlDQo+ID4+ID4+ID4+ID4rIGJhcnJp ZXIgaGVyZSBlbnN1cmVzIHN0b3JlZA0KPiA+PiA+DQo+ID4+ID4+ID4+ID5vcGVyYXRpb24NCj4g Pj4gPg0KPiA+PiA+PiA+PiA+KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAqIG9mIHRoZQ0KPiA+PiA+PiA+PiA+KyBldmVudCBjb21wbGV0ZXMgYmVmb3Jl IHRoZQ0KPiA+PiA+DQo+ID4+ID4+ID4+ID5udW1iZXIgb2YNCj4gPj4gPg0KPiA+PiA+PiA+PiA+ KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqIHByb2Nl c3NlZA0KPiA+PiA+PiA+PiA+KyBwa3RzIGlzIHZpc2libGUgdG8gdGhlIG1haW4NCj4gPj4gPg0K PiA+PiA+PiA+PiA+Y29yZQ0KPiA+PiA+DQo+ID4+ID4+ID4+ID4rICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICovDQo+ID4+ID4NCj4gPj4gPj4gPj4gPisN Cj4gPj4gPj4gPj4gPisgX19hdG9taWNfZmV0Y2hfYWRkKCYody0NCj4gPj4gPg0KPiA+PiA+PiA+ PiA+PnByb2Nlc3NlZF9wa3RzKSwgMSwNCj4gPj4gPg0KPiA+PiA+PiA+PiA+Kw0KPiA+PiA+X19B VE9NSUNfUkVMRUFTRSk7DQo+ID4+ID4NCj4gPj4gPj4gPj4gPiAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIH0gZWxzZSB7DQo+ID4+ID4NCj4gPj4gPj4gPj4gPg0KPiA+PiA+PiA+ PiA+IGV2W2ldLnF1ZXVlX2lkKys7DQo+ID4+ID4NCj4gPj4gPj4gPj4gPg0KPiA+PiA+PiA+PiA+ IHBpcGVsaW5lX2Z3ZF9ldmVudCgmZXZbaV0sDQo+ID4+ID4NCj4gPj4gPj4gPj4gPkBAIC0xMjEs NyArMTM5LDEzIEBADQo+ID4+ID4NCj4gPj4gPj4gPj4gPnBpcGVsaW5lX3F1ZXVlX3dvcmtlcl9z aW5nbGVfc3RhZ2VfYnVyc3RfZndkKHZvaWQgKmFyZykNCj4gPj4gPg0KPiA+PiA+PiA+PiA+ICAg ICAgICAgICAgICAgICAgICB9DQo+ID4+ID4NCj4gPj4gPj4gPj4gPg0KPiA+PiA+DQo+ID4+ID4+ ID4+ID4gICAgICAgICAgICAgICAgICAgIHBpcGVsaW5lX2V2ZW50X2VucXVldWVfYnVyc3QoZGV2 LCBwb3J0LA0KPiA+PiA+PiA+PiA+IGV2LCBuYl9yeCk7DQo+ID4+ID4NCj4gPj4gPj4gPj4gPi0g ICAgICAgICAgICAgICAgICB3LT5wcm9jZXNzZWRfcGt0cyArPSBuYl9yeDsNCj4gPj4gPg0KPiA+ PiA+PiA+PiA+Kw0KPiA+PiA+DQo+ID4+ID4+ID4+ID4rICAgICAgICAgICAgICAgICAvKiByZWxl YXNlIGJhcnJpZXIgaGVyZSBlbnN1cmVzIHN0b3JlZA0KPiA+PiA+PiA+PiA+KyBvcGVyYXRpb24N Cj4gPj4gPg0KPiA+PiA+PiA+PiA+KyAgICAgICAgICAgICAgICAgKiBvZiB0aGUgZXZlbnQgY29t cGxldGVzIGJlZm9yZSB0aGUgbnVtYmVyDQo+ID4+ID4+ID4+ID4rIG9mDQo+ID4+ID4NCj4gPj4g Pj4gPj4gPisgICAgICAgICAgICAgICAgICogcHJvY2Vzc2VkIHBrdHMgaXMgdmlzaWJsZSB0byB0 aGUgbWFpbiBjb3JlDQo+ID4+ID4NCj4gPj4gPj4gPj4gPisgICAgICAgICAgICAgICAgICovDQo+ ID4+ID4NCj4gPj4gPj4gPj4gPisgICAgICAgICAgICAgICAgIF9fYXRvbWljX2ZldGNoX2FkZCgm KHctPnByb2Nlc3NlZF9wa3RzKSwNCj4gPj4gPj4gPj4gPisgbmJfcngsDQo+ID4+ID4NCj4gPj4g Pj4gPj4gPisNCj4gPj4gPj4gPj4gPisgX19BVE9NSUNfUkVMRUFTRSk7DQo+ID4+ID4NCj4gPj4g Pj4gPj4gPiAgICB9DQo+ID4+ID4NCj4gPj4gPj4gPj4gPg0KPiA+PiA+DQo+ID4+ID4+ID4+ID4g ICAgcmV0dXJuIDA7DQo+ID4+ID4NCj4gPj4gPj4gPj4gPkBAIC0xNDYsNyArMTcwLDEzIEBADQo+ ID4+ID4NCj4gPj4gPj4gPnBpcGVsaW5lX3F1ZXVlX3dvcmtlcl9tdWx0aV9zdGFnZV90eCh2b2lk DQo+ID4+ID4NCj4gPj4gPj4gPj4gPiphcmcpDQo+ID4+ID4NCj4gPj4gPj4gPj4gPg0KPiA+PiA+ DQo+ID4+ID4+ID4+ID4gICAgICAgICAgICAgICAgICAgIGlmIChldi5xdWV1ZV9pZCA9PQ0KPiA+ PiA+PiA+PiA+IHR4X3F1ZXVlW2V2Lm1idWYtPnBvcnRdKSB7DQo+ID4+ID4NCj4gPj4gPj4gPj4g PiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBpcGVsaW5lX2V2ZW50X3R4KGRl diwNCj4gPj4gPj4gPj4gPiBwb3J0LCAmZXYpOw0KPiA+PiA+DQo+ID4+ID4+ID4+ID4tICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHctPnByb2Nlc3NlZF9wa3RzKys7DQo+ID4+ID4N Cj4gPj4gPj4gPj4gPisNCj4gPj4gPg0KPiA+PiA+PiA+PiA+KyAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIC8qIHJlbGVhc2UgYmFycmllciBoZXJlDQo+ID4+ID4+ID4+ID4rIGVuc3Vy ZXMgc3RvcmVkDQo+ID4+ID5vcGVyYXRpb24NCj4gPj4gPg0KPiA+PiA+PiA+PiA+KyAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICogb2YgdGhlIGV2ZW50IGNvbXBsZXRlcw0KPiA+PiA+ PiA+PiA+KyBiZWZvcmUgdGhlIG51bWJlcg0KPiA+PiA+b2YNCj4gPj4gPg0KPiA+PiA+PiA+PiA+ KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICogcHJvY2Vzc2VkIHBrdHMgaXMgdmlz aWJsZQ0KPiA+PiA+PiA+PiA+KyB0byB0aGUgbWFpbiBjb3JlDQo+ID4+ID4NCj4gPj4gPj4gPj4g PisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqLw0KPiA+PiA+DQo+ID4+ID4+ID4+ ID4rDQo+ID4+ID4+ID4+ID4rIF9fYXRvbWljX2ZldGNoX2FkZCgmKHctPnByb2Nlc3NlZF9wa3Rz KSwNCj4gPj4gPjEsDQo+ID4+ID4NCj4gPj4gPj4gPj4gPisNCj4gPj4gPj4gPj4gPisgX19BVE9N SUNfUkVMRUFTRSk7DQo+ID4+ID4NCj4gPj4gPj4gPj4gPiAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIGNvbnRpbnVlOw0KPiA+PiA+DQo+ID4+ID4+ID4+ID4gICAgICAgICAgICAg ICAgICAgIH0NCj4gPj4gPg0KPiA+PiA+PiA+PiA+DQo+ID4+ID4NCj4gPj4gPj4gPj4gPkBAIC0x ODAsNyArMjEwLDEzIEBADQo+ID4+ID4NCj4gPj4gPj4gPj4gPnBpcGVsaW5lX3F1ZXVlX3dvcmtl cl9tdWx0aV9zdGFnZV9md2Qodm9pZCAqYXJnKQ0KPiA+PiA+DQo+ID4+ID4+ID4+ID4gICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBldi5xdWV1ZV9pZCA9DQo+ID4+ID4+ID4+ID4g dHhfcXVldWVbZXYubWJ1Zi0+cG9ydF07DQo+ID4+ID4NCj4gPj4gPj4gPj4gPg0KPiA+PiA+PiA+ PiA+IHJ0ZV9ldmVudF9ldGhfdHhfYWRhcHRlcl90eHFfc2V0KGV2Lm1idWYsDQo+ID4+ID4wKTsN Cj4gPj4gPg0KPiA+PiA+PiA+PiA+ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg cGlwZWxpbmVfZndkX2V2ZW50KCZldiwNCj4gPj4gPg0KPiA+PiA+PiA+PiA+UlRFX1NDSEVEX1RZ UEVfQVRPTUlDKTsNCj4gPj4gPg0KPiA+PiA+PiA+PiA+LSAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICB3LT5wcm9jZXNzZWRfcGt0cysrOw0KPiA+PiA+DQo+ID4+ID4+ID4+ID4rDQo+ ID4+ID4NCj4gPj4gPj4gPj4gPisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiBy ZWxlYXNlIGJhcnJpZXIgaGVyZQ0KPiA+PiA+PiA+PiA+KyBlbnN1cmVzIHN0b3JlZA0KPiA+PiA+ b3BlcmF0aW9uDQo+ID4+ID4NCj4gPj4gPj4gPj4gPisgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAqIG9mIHRoZSBldmVudCBjb21wbGV0ZXMNCj4gPj4gPj4gPj4gPisgYmVmb3JlIHRo ZSBudW1iZXINCj4gPj4gPm9mDQo+ID4+ID4NCj4gPj4gPj4gPj4gPisgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAqIHByb2Nlc3NlZCBwa3RzIGlzIHZpc2libGUNCj4gPj4gPj4gPj4g PisgdG8gdGhlIG1haW4gY29yZQ0KPiA+PiA+DQo+ID4+ID4+ID4+ID4rICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgKi8NCj4gPj4gPg0KPiA+PiA+PiA+PiA+Kw0KPiA+PiA+PiA+PiA+ KyBfX2F0b21pY19mZXRjaF9hZGQoJih3LT5wcm9jZXNzZWRfcGt0cyksDQo+ID4+ID4xLA0KPiA+ PiA+DQo+ID4+ID4+ID4+ID4rDQo+ID4+ID4+ID4+ID4rIF9fQVRPTUlDX1JFTEVBU0UpOw0KPiA+ PiA+DQo+ID4+ID4+ID4+ID4gICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7DQo+ID4+ID4NCj4g Pj4gPj4gPj4gPiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGV2LnF1ZXVlX2lk Kys7DQo+ID4+ID4NCj4gPj4gPj4gPj4gPiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIHBpcGVsaW5lX2Z3ZF9ldmVudCgmZXYsDQo+ID4+ID4NCj4gPj4gPj4gPj4gPnNjaGVkX3R5 cGVfbGlzdFtjcV9pZF0pOw0KPiA+PiA+DQo+ID4+ID4+ID4+ID5AQCAtMjE0LDcgKzI1MCwxMyBA QA0KPiA+PiA+DQo+ID4+ID4+ID4+ID5waXBlbGluZV9xdWV1ZV93b3JrZXJfbXVsdGlfc3RhZ2Vf YnVyc3RfdHgodm9pZCAqYXJnKQ0KPiA+PiA+DQo+ID4+ID4+ID4+ID4gICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBpZiAoZXZbaV0ucXVldWVfaWQgPT0NCj4gPj4gPj4gPj4gPiB0 eF9xdWV1ZVtldltpXS5tYnVmLQ0KPiA+PiA+DQo+ID4+ID4+ID4+ID4+cG9ydF0pIHsNCj4gPj4g Pg0KPiA+PiA+PiA+PiA+DQo+ID4+ID4+ID4+ID4gcGlwZWxpbmVfZXZlbnRfdHgoZGV2LCBwb3J0 LCAmZXZbaV0pOw0KPiA+PiA+DQo+ID4+ID4+ID4+ID4gICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgZXZbaV0ub3AgPQ0KPiA+PiA+PiA+PiA+IFJURV9F VkVOVF9PUF9SRUxFQVNFOw0KPiA+PiA+DQo+ID4+ID4+ID4+ID4tICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB3LT5wcm9jZXNzZWRfcGt0cysrOw0KPiA+ PiA+DQo+ID4+ID4+ID4+ID4rDQo+ID4+ID4NCj4gPj4gPj4gPj4gPisgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyogcmVsZWFzZQ0KPiA+PiA+PiA+PiA+ KyBiYXJyaWVyIGhlcmUgZW5zdXJlcyBzdG9yZWQNCj4gPj4gPg0KPiA+PiA+PiA+PiA+b3BlcmF0 aW9uDQo+ID4+ID4NCj4gPj4gPj4gPj4gPisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgKiBvZiB0aGUNCj4gPj4gPj4gPj4gPisgZXZlbnQgY29tcGxldGVz IGJlZm9yZSB0aGUNCj4gPj4gPg0KPiA+PiA+PiA+PiA+bnVtYmVyIG9mDQo+ID4+ID4NCj4gPj4g Pj4gPj4gPisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg KiBwcm9jZXNzZWQNCj4gPj4gPj4gPj4gPisgcGt0cyBpcyB2aXNpYmxlIHRvIHRoZSBtYWluDQo+ ID4+ID4NCj4gPj4gPj4gPj4gPmNvcmUNCj4gPj4gPg0KPiA+PiA+PiA+PiA+KyAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqLw0KPiA+PiA+DQo+ID4+ID4+ ID4+ID4rDQo+ID4+ID4+ID4+ID4rIF9fYXRvbWljX2ZldGNoX2FkZCgmKHctDQo+ID4+ID4NCj4g Pj4gPj4gPj4gPj5wcm9jZXNzZWRfcGt0cyksIDEsDQo+ID4+ID4NCj4gPj4gPj4gPj4gPisNCj4g Pj4gPl9fQVRPTUlDX1JFTEVBU0UpOw0KPiA+PiA+DQo+ID4+ID4+ID4+ID4gICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29udGludWU7DQo+ID4+ID4N Cj4gPj4gPj4gPj4gPiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0NCj4gPj4g Pg0KPiA+PiA+PiA+PiA+DQo+ID4+ID4NCj4gPj4gPj4gPj4gPkBAIC0yNTQsNyArMjk2LDEzIEBA DQo+ID4+ID4NCj4gPj4gPj4gPj4gPnBpcGVsaW5lX3F1ZXVlX3dvcmtlcl9tdWx0aV9zdGFnZV9i dXJzdF9md2Qodm9pZCAqYXJnKQ0KPiA+PiA+DQo+ID4+ID4+ID4+ID4NCj4gPj4gPg0KPiA+PiA+ PiA+PiA+ICAgIHJ0ZV9ldmVudF9ldGhfdHhfYWRhcHRlcl90eHFfc2V0KGV2W2ldLm1idWYsIDAp Ow0KPiA+PiA+DQo+ID4+ID4+ID4+ID4NCj4gPj4gPj4gPj4gPiBwaXBlbGluZV9md2RfZXZlbnQo JmV2W2ldLA0KPiA+PiA+DQo+ID4+ID4+ID4+ID4NCj4gPj4gPg0KPiA+PiA+PiA+PiA+ICAgIFJU RV9TQ0hFRF9UWVBFX0FUT01JQyk7DQo+ID4+ID4NCj4gPj4gPj4gPj4gPi0gICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHctPnByb2Nlc3NlZF9wa3RzKys7 DQo+ID4+ID4NCj4gPj4gPj4gPj4gPisNCj4gPj4gPg0KPiA+PiA+PiA+PiA+KyAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiByZWxlYXNlDQo+ID4+ID4+ ID4+ID4rIGJhcnJpZXIgaGVyZSBlbnN1cmVzIHN0b3JlZA0KPiA+PiA+DQo+ID4+ID4+ID4+ID5v cGVyYXRpb24NCj4gPj4gPg0KPiA+PiA+PiA+PiA+KyAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAqIG9mIHRoZQ0KPiA+PiA+PiA+PiA+KyBldmVudCBjb21w bGV0ZXMgYmVmb3JlIHRoZQ0KPiA+PiA+DQo+ID4+ID4+ID4+ID5udW1iZXIgb2YNCj4gPj4gPg0K PiA+PiA+PiA+PiA+KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAqIHByb2Nlc3NlZA0KPiA+PiA+PiA+PiA+KyBwa3RzIGlzIHZpc2libGUgdG8gdGhlIG1h aW4NCj4gPj4gPg0KPiA+PiA+PiA+PiA+Y29yZQ0KPiA+PiA+DQo+ID4+ID4+ID4+ID4rICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICovDQo+ID4+ID4NCj4g Pj4gPj4gPj4gPisNCj4gPj4gPj4gPj4gPisgX19hdG9taWNfZmV0Y2hfYWRkKCYody0NCj4gPj4g Pg0KPiA+PiA+PiA+PiA+PnByb2Nlc3NlZF9wa3RzKSwgMSwNCj4gPj4gPg0KPiA+PiA+PiA+PiA+ Kw0KPiA+PiA+X19BVE9NSUNfUkVMRUFTRSk7DQo+ID4+ID4NCj4gPj4gPj4gPj4gPiAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7DQo+ID4+ID4NCj4gPj4gPj4gPj4g Pg0KPiA+PiA+PiA+PiA+IGV2W2ldLnF1ZXVlX2lkKys7DQo+ID4+ID4NCj4gPj4gPj4gPj4gPg0K PiA+PiA+PiA+PiA+IHBpcGVsaW5lX2Z3ZF9ldmVudCgmZXZbaV0sDQo+ID4+ID4NCj4gPj4gPj4g Pj4gPi0tDQo+ID4+ID4NCj4gPj4gPj4gPj4gPjIuMTcuMQ0KPiA+PiA+DQoNCg==