From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mails.dpdk.org (xvm-189-124.dc0.ghst.net [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id 05B6AA0524 for ; Fri, 8 Jan 2021 11:45:12 +0100 (CET) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id E6636140F78; Fri, 8 Jan 2021 11:45:11 +0100 (CET) Received: from EUR05-AM6-obe.outbound.protection.outlook.com (mail-am6eur05on2049.outbound.protection.outlook.com [40.107.22.49]) by mails.dpdk.org (Postfix) with ESMTP id DC7C6140F71; Fri, 8 Jan 2021 11:45:08 +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=DHVlPrnTtq3oy2mRqyOSA0AvsbqeFkJ3O8FHpczpPCg=; b=yvUwC0tTxiT1grxbU39HSsUTap/WvJguXgkgDIln1Ljvm6IlhoVCRkg68LgGK5bep7If+b+w7geb+TqY6GUX3KeW7Qc46ni4AdQaxBgk9TnopNUb5Ai3Ur45tkCr+Ukm5BiOdiWrfVHQeLWBQjjk8W3zd5xxAYomLO+jClxa4+Q= Received: from AM5PR0502CA0018.eurprd05.prod.outlook.com (2603:10a6:203:91::28) by AM0PR08MB4402.eurprd08.prod.outlook.com (2603:10a6:208:147::18) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3742.6; Fri, 8 Jan 2021 10:45:07 +0000 Received: from AM5EUR03FT010.eop-EUR03.prod.protection.outlook.com (2603:10a6:203:91:cafe::ce) by AM5PR0502CA0018.outlook.office365.com (2603:10a6:203:91::28) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3742.6 via Frontend Transport; Fri, 8 Jan 2021 10:45:07 +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 AM5EUR03FT010.mail.protection.outlook.com (10.152.16.134) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3742.6 via Frontend Transport; Fri, 8 Jan 2021 10:45:06 +0000 Received: ("Tessian outbound 6ec21dac9dd3:v71"); Fri, 08 Jan 2021 10:45:06 +0000 X-CR-MTA-TID: 64aa7808 Received: from 5e59e35c3567.2 by 64aa7808-outbound-1.mta.getcheckrecipient.com id 3984E8F4-AAD0-4A49-BE5D-D29DF648A16F.1; Fri, 08 Jan 2021 10:45:01 +0000 Received: from EUR05-VI1-obe.outbound.protection.outlook.com by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id 5e59e35c3567.2 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384); Fri, 08 Jan 2021 10:45:01 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=YiPtoMTX9+OIdPTlpQ+raH2tEeHqZ74Dk/CA7zdqPuFq/IkYuo7Zd+IjM1E3pD2AuCkjhIIuNhOFm+p7PsOMOtSMU1uFd7AX3dtOnfQp/lpubH9Vea5MkHxCswL2vUKnyCkuqrrHNcW6h+kYiKKZs5K5MrA/+D7L8JfBfLPW8pL8zmjRczrdQc+10eayFrx1NTFkG0UHnv4A2Vww3XCAwdF6rKGKdh8CienXI7/OByNgblki57z6FuatfezKAuj6/TUL3njgwaEELqCZlpFBwUKtqy3YzW3QnjSj7QzizqEDQCu88nkn5ZfSOiThUFdZUmKP3tmA9IlDV6lodjz/6g== 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=DHVlPrnTtq3oy2mRqyOSA0AvsbqeFkJ3O8FHpczpPCg=; b=f5lwgtTphlLd8wS/mSE5PlO+oJWXu4rvQ4U2DEpmF+b5g3VJqNT78NkYgcLZO5606ekmwOFaTf/gCeK2wLuHr4j4MgCliXTujfk4qBLUjSAmPtwOFj/ul2VlDIL9oCTSDY2i+GenxoUbp3b07zfoVKeJAqcS6eTetyi5AoY6jJTkOIQXK8BBmjy2vNYVh89Ek1tnX/Rolak/D7SqP9L1fqlLjPkkED4X/xbZX8/O9F/4z5gQ2fDRN2ypnUduj41h2qItSI/rizdUJXWT/gBD06dg7+T3iNh3kHZfkXv/61g34jFsKUPKmTuAu4JYnffeWdEd1mDQHoWQSCfgqnqdUg== 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=DHVlPrnTtq3oy2mRqyOSA0AvsbqeFkJ3O8FHpczpPCg=; b=yvUwC0tTxiT1grxbU39HSsUTap/WvJguXgkgDIln1Ljvm6IlhoVCRkg68LgGK5bep7If+b+w7geb+TqY6GUX3KeW7Qc46ni4AdQaxBgk9TnopNUb5Ai3Ur45tkCr+Ukm5BiOdiWrfVHQeLWBQjjk8W3zd5xxAYomLO+jClxa4+Q= Received: from DBBPR08MB4411.eurprd08.prod.outlook.com (2603:10a6:10:cb::17) by DB7PR08MB3306.eurprd08.prod.outlook.com (2603:10a6:5:1f::32) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3742.6; Fri, 8 Jan 2021 10:44:58 +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; Fri, 8 Jan 2021 10:44:58 +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 Thread-Topic: [RFC PATCH v1 4/6] app/eventdev: add release barriers for pipeline test Thread-Index: AdbYTEUe8OVHSkoHRIaSsOPrfVwqLgK45xmgAAQ//VAAiB8+AAAN29ZgAAG0vQA= Date: Fri, 8 Jan 2021 10:44:58 +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: AA9F15673F205646ABC515DB5AA446B8.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: dc5f731d-bdfc-4e48-231e-08d8b3c276c6 x-ms-traffictypediagnostic: DB7PR08MB3306:|AM0PR08MB4402: 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: TedD3kgN3jn9VZlYKjUPhDGuuoL8DJoxMzMcBgQAiZbozya850bCyAuq4atnWUqBgMhM4dZP5crpa9HY/5bI5k7mURzXW8Ac51mqV3Zc0Oz6bfShhL6+T/wXJ1y542h+IvlWG8dfVAIbRL5074siAybWOJMQiiTa+DCJ2RPSrPMv2NqeL92Ev/KjoSNg9hNQ0NVcTQAhMDuaGnSfNdDVZ0NBC3rfI3BJh4inZSo1MNFo957AbDlzzyEkCzuOigLngVRVz06vFU/YUaZ7v8MFRgjP6XXDC1HAkBiF5rWz1bLv2kCTbEeittGEFIxszN14i9F8H4pKjpjxTEOtaP2xpAImITieYLTT+NqM4sKAnski7wS6CJWVlbKIJLFhfK35UM3PPSbn9YGte1gRdmY6fb5riZy6ykSqzbybAFJDmRovUnl0/AgGpeUgO+2PXwAjP8aY4rLjEepb+tXe8rodDQ== 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)(39860400002)(376002)(346002)(366004)(396003)(136003)(53546011)(86362001)(6506007)(5660300002)(33656002)(64756008)(4326008)(66446008)(316002)(76116006)(110136005)(7696005)(66556008)(52536014)(478600001)(54906003)(66476007)(26005)(186003)(55016002)(30864003)(224303003)(83380400001)(9686003)(71200400001)(8936002)(66946007)(2906002)(579004); DIR:OUT; SFP:1101; x-ms-exchange-antispam-messagedata: =?utf-8?B?eDBNR2tsUEt4RlpIei9DaFZqSlI2YWJlbmJEVUJCMThpMGJPbHpHNXhFRGMy?= =?utf-8?B?S1ZPMyt6TDRXTVRxNFVMNEtzYSs5K041NmRXeE5IQzBLU1RObENqQVZpdmd5?= =?utf-8?B?UVRYNmZHTUZCNDdqNzg2WHVIalp5andTTy80UnVTUVpQSitOYTlSQkJDZDdP?= =?utf-8?B?V1Z5R1k3a1VDY3NmTVNyZTI1YWlNcThiRzlITkIyWXdwa3RKM3BaeU9KOGlT?= =?utf-8?B?RVBHUHhjSGtaUkYwbXhQVFZNQjUwczlTaXdNWkYwNExjWWY5TXhMSTNxemlS?= =?utf-8?B?SVhDdVhybDBPL1E2a1lWbUJlRG1XaGxqY09uY1IzN3p6M2I0c1MxbFpMTzVi?= =?utf-8?B?aFlZZEtOMkczaHJvQm9OdEpQbUpuY2pPenBoRDRXT3pKWEFUMzZWK05LR2ZW?= =?utf-8?B?Z1BKVVhVclJRbHdvaUloUzYwNnNKS2pXMUVVSmZCallRb2dxRTg0cjA3NktP?= =?utf-8?B?T0gyS2ovYXlkeFdWSXlXeTUva2Zia0p5b0ROdjBDbUYvaURVV25tQUJMUlh3?= =?utf-8?B?dFUzVjZnYnV4NGI2RFh5aVZ4Z0xHQkYwT3B1OVR1dng2Q2JDeUtqNTVRZXpF?= =?utf-8?B?d2RZbzdaNEJPTnVIL0FwclNyd2YvWi9uTzU4NVRJd0tWVVZkNXZQcHAwbGpB?= =?utf-8?B?cVZVZS9XMzU2eUM3NnZBamFCVmE3NVhKblVOU1IxV09zYnpKcEZOUXBpeVdp?= =?utf-8?B?TGdYQ1NoWERGcloyMzExTXdpNGV2TlJrU21yZ3ptb0s1TzVOKzRqcU9tc1du?= =?utf-8?B?UzlvS3dDVHFJOWhaYTJKTFpES0IxUWthSmhKRTY5T3o2Tk95SlE2NlZ3NTVl?= =?utf-8?B?YUdPM3lrNTkxcUNaL3NBTlZQRmR2WDUzWFpMV2xnYVRCU3N0Szhzd0plL0Vv?= =?utf-8?B?RGxzaXpNMXRIQkZrNG5LbUdicTN0L05keDNIVTlxQ2JiUkpKbHU2T0Rzdyt6?= =?utf-8?B?TWVHM3I0c0VjNVlYWGttdm9NMFZCNldLeEI4M2k4N3pHOWhBM05UNCs2TnV6?= =?utf-8?B?MjlxZ2hFd3R5M1RoU21NTlNsYmV4Q2x5cHI3ajgxdWFWdHN3dUJrSmp2M0hP?= =?utf-8?B?MkViRmN3T2pjWjBSQ0t2a0lDS2dsM3FsV2Z3U21vcm9ucmFVZFZWY1grWVpq?= =?utf-8?B?WEJqTkR2dVpsMWJiQ0dmc2VQdTRmc3NBRnZIaDJCUTZqQWU5V0RvMms4RXJm?= =?utf-8?B?Q1kyNkVoVTlQODVrSVB4MUZITmhpb2tqM2x2d3ptWW9YeDk2L0pOd1BnaVhx?= =?utf-8?B?YjA4akI0TlU1Ny9tcmdWRXlnb3J2R3kzWUFiNkRGUlJBL1hoUXp1c1c4aVNr?= =?utf-8?Q?wk7LwUJbkRZBg=3D?= Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB7PR08MB3306 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: AM5EUR03FT010.eop-EUR03.prod.protection.outlook.com X-MS-Office365-Filtering-Correlation-Id-Prvs: fb1f85c9-1656-4a25-88d8-08d8b3c2719f X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: prL2MdZPmLMHsTP0uQrMm7hGqTWYQ4bGy6oo+cm2pmUlZ9/TTMPjaygGa26MngQf8IVVCoVB9tLiXm4n0FHEZqUVPBl3IxTSOWRPbAgYBvTzhstf82DuAnYJkABrdPbSLUEfXZA0yaAFssMdPrHqcNIIBB9e46eMPKVPcHA+Okzfgm0FVpGb4CTCeiGUtVAlpfJo831vqIxG3s1u7iBA4k4pgbbm9adytg0rdZ7rU/NHf1vA1kaTvVACIdi6NldwadymQd5Ltw/ZgImcmzMSIGZmHyY6pneNjDTdWUnosyLD9EydyofR5FMFwyq3Agq79RkxrF2O4wL/uSKWDBNfpRpY6bgKxfXk6iHnQCB2Xs9iyuTMDDdmV9OQ+uSmamTZv7YLRDQUUM13Jpubd5e26RPO3eajtWWKuIVl5V6Gm8BT94m9/5jplRxpj8u9m849BKc2vgT1KZGCsZWK3AJdJKg5nsnv1s+qGlcNQbdIW1gxF+8ZjZZ8fH8g3yP4h6X1Ni6wDlatsVS18vyF2xItl0oq9OsHxFdAyYs+xrA1ORGR2WhAVfClVhyqc65uN+gB 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)(376002)(346002)(396003)(39860400002)(136003)(46966006)(55016002)(9686003)(86362001)(8936002)(54906003)(52536014)(110136005)(26005)(478600001)(30864003)(7696005)(336012)(450100002)(4326008)(6506007)(186003)(316002)(70206006)(47076005)(34020700004)(33656002)(81166007)(5660300002)(82740400003)(224303003)(82310400003)(2906002)(70586007)(83380400001)(356005); DIR:OUT; SFP:1101; X-OriginatorOrg: arm.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 08 Jan 2021 10:45:06.9719 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: dc5f731d-bdfc-4e48-231e-08d8b3c276c6 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: AM5EUR03FT010.eop-EUR03.prod.protection.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM0PR08MB4402 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" SGksIFBhdmFuDQoNCj4gLS0tLS3pgq7ku7bljp/ku7YtLS0tLQ0KPiDlj5Hku7bkuro6IFBhdmFu IE5pa2hpbGVzaCBCaGFnYXZhdHVsYSA8cGJoYWdhdmF0dWxhQG1hcnZlbGwuY29tPg0KPiDlj5Hp gIHml7bpl7Q6IDIwMjHlubQx5pyIOOaXpSAxNzoxMw0KPiDmlLbku7bkuro6IEZlaWZlaSBXYW5n IDxGZWlmZWkuV2FuZzJAYXJtLmNvbT47IGplcmluakBtYXJ2ZWxsLmNvbTsgSGFycnkNCj4gdmFu IEhhYXJlbiA8aGFycnkudmFuLmhhYXJlbkBpbnRlbC5jb20+DQo+IOaKhOmAgTogZGV2QGRwZGsu b3JnOyBuZCA8bmRAYXJtLmNvbT47IEhvbm5hcHBhIE5hZ2FyYWhhbGxpDQo+IDxIb25uYXBwYS5O YWdhcmFoYWxsaUBhcm0uY29tPjsgc3RhYmxlQGRwZGsub3JnOyBSdWlmZW5nIFdhbmcNCj4gPFJ1 aWZlbmcuV2FuZ0Bhcm0uY29tPjsgbmQgPG5kQGFybS5jb20+OyBuZCA8bmRAYXJtLmNvbT4NCj4g 5Li76aKYOiBSRTogW1JGQyBQQVRDSCB2MSA0LzZdIGFwcC9ldmVudGRldjogYWRkIHJlbGVhc2Ug YmFycmllcnMgZm9yIHBpcGVsaW5lDQo+IHRlc3QNCj4gDQo+IEhpIEZlaWZlaSwNCj4gDQo+ID5I aSwgUGF2YW4NCj4gPg0KPiA+DQo+ID4NCj4gPj4gLS0tLS3pgq7ku7bljp/ku7YtLS0tLQ0KPiA+ DQo+ID4+IOWPkeS7tuS6ujogUGF2YW4gTmlraGlsZXNoIEJoYWdhdmF0dWxhIDxtYWlsdG86cGJo YWdhdmF0dWxhQG1hcnZlbGwuY29tPg0KPiA+DQo+ID4+IOWPkemAgeaXtumXtDogMjAyMeW5tDHm nIg15pelIDE3OjI5DQo+ID4NCj4gPj4g5pS25Lu25Lq6OiBGZWlmZWkgV2FuZyA8bWFpbHRvOkZl aWZlaS5XYW5nMkBhcm0uY29tPjsgbWFpbHRvOmplcmluakBtYXJ2ZWxsLmNvbTsNCj4gPkhhcnJ5 DQo+ID4NCj4gPj4gdmFuIEhhYXJlbiA8bWFpbHRvOmhhcnJ5LnZhbi5oYWFyZW5AaW50ZWwuY29t Pg0KPiA+DQo+ID4+IOaKhOmAgTogbWFpbHRvOmRldkBkcGRrLm9yZzsgbmQgPG1haWx0bzpuZEBh cm0uY29tPjsgSG9ubmFwcGEgTmFnYXJhaGFsbGkNCj4gPg0KPiA+PiA8bWFpbHRvOkhvbm5hcHBh Lk5hZ2FyYWhhbGxpQGFybS5jb20+OyBtYWlsdG86c3RhYmxlQGRwZGsub3JnOyBSdWlmZW5nIFdh bmcNCj4gPg0KPiA+PiA8bWFpbHRvOlJ1aWZlbmcuV2FuZ0Bhcm0uY29tPjsgbmQgPG1haWx0bzpu ZEBhcm0uY29tPg0KPiA+DQo+ID4+IOS4u+mimDogUkU6IFtSRkMgUEFUQ0ggdjEgNC82XSBhcHAv ZXZlbnRkZXY6IGFkZCByZWxlYXNlIGJhcnJpZXJzIGZvcg0KPiA+cGlwZWxpbmUNCj4gPg0KPiA+ PiB0ZXN0DQo+ID4NCj4gPj4NCj4gPg0KPiA+PiBIaSBGZWlmZWksDQo+ID4NCj4gPj4NCj4gPg0K PiA+PiA+SGksIFBhdmFuDQo+ID4NCj4gPj4gPg0KPiA+DQo+ID4+ID5Tb3JyeSBmb3IgbXkgbGF0 ZSByZXBseSBhbmQgdGhhbmtzIHZlcnkgbXVjaCBmb3IgeW91ciByZXZpZXcuDQo+ID4NCj4gPj4g Pg0KPiA+DQo+ID4+ID4+IC0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQo+ID4NCj4gPj4gPj4g RnJvbTogUGF2YW4gTmlraGlsZXNoIEJoYWdhdmF0dWxhDQo+ID48bWFpbHRvOnBiaGFnYXZhdHVs YUBtYXJ2ZWxsLmNvbTxtYWlsdG86cGJoYWdhdmF0dWxhQG1hcnZlbGwuY29tPj4NCj4gPg0KPiA+ PiA+PiBTZW50OiAyMDIw5bm0MTLmnIgyMuaXpSAxODozMw0KPiA+DQo+ID4+ID4+IFRvOiBGZWlm ZWkgV2FuZw0KPiA+PG1haWx0bzpGZWlmZWkuV2FuZzJAYXJtLmNvbTxtYWlsdG86RmVpZmVpLldh bmcyQGFybS5jb20+PjsNCj4gPm1haWx0bzpqZXJpbmpAbWFydmVsbC5jb208bWFpbHRvOmplcmlu akBtYXJ2ZWxsLmNvbT47DQo+ID4NCj4gPj4gPkhhcnJ5IHZhbg0KPiA+DQo+ID4+ID4+IEhhYXJl bg0KPiA+PG1haWx0bzpoYXJyeS52YW4uaGFhcmVuQGludGVsLmNvbTxtYWlsdG86aGFycnkudmFu LmhhYXJlbkBpbnRlbC5jb20+PjsNCj4gPlBhdmFuIE5pa2hpbGVzaA0KPiA+DQo+ID4+ID4+DQo+ ID48cGJoYWdhdmF0dWxhQGNhdml1bW5ldHdvcmtzLmNvbTxtYWlsdG86cGJoYWdhdmF0dWxhQGNh dml1bW4NCj4gPmV0d29ya3MuY29tPj4NCj4gPg0KPiA+PiA+PiBDYzogbWFpbHRvOmRldkBkcGRr Lm9yZzxtYWlsdG86ZGV2QGRwZGsub3JnPjsgbmQNCj4gPjxtYWlsdG86bmRAYXJtLmNvbTxtYWls dG86bmRAYXJtLmNvbT4+OyBIb25uYXBwYSBOYWdhcmFoYWxsaQ0KPiA+DQo+ID4+ID4+DQo+ID48 SG9ubmFwcGEuTmFnYXJhaGFsbGlAYXJtLmNvbTxtYWlsdG86SG9ubmFwcGEuTmFnYXJhaGFsbGlA YXJtDQo+ID4uY29tPj47IG1haWx0bzpzdGFibGVAZHBkay5vcmc8bWFpbHRvOnN0YWJsZUBkcGRr Lm9yZz47IFBoaWwgWWFuZw0KPiA+DQo+ID4+ID4+IDxtYWlsdG86UGhpbC5ZYW5nQGFybS5jb208 bWFpbHRvOlBoaWwuWWFuZ0Bhcm0uY29tPj4NCj4gPg0KPiA+PiA+PiBTdWJqZWN0OiBSRTogW1JG QyBQQVRDSCB2MSA0LzZdIGFwcC9ldmVudGRldjogYWRkIHJlbGVhc2UNCj4gPmJhcnJpZXJzDQo+ ID4NCj4gPj4gPmZvcg0KPiA+DQo+ID4+ID4+IHBpcGVsaW5lIHRlc3QNCj4gPg0KPiA+PiA+Pg0K PiA+DQo+ID4+ID4+DQo+ID4NCj4gPj4gPj4gPkFkZCByZWxlYXNlIGJhcnJpZXJzIGJlZm9yZSB1 cGRhdGluZyB0aGUgcHJvY2Vzc2VkIHBhY2tldHMgZm9yDQo+ID4NCj4gPj4gPndvcmtlcg0KPiA+ DQo+ID4+ID4+ID5sY29yZXMgdG8gZW5zdXJlIHRoZSB3b3JrZXIgbGNvcmUgaGFzIHJlYWxseSBm aW5pc2hlZCBkYXRhDQo+ID4NCj4gPj4gPj4gPnByb2Nlc3NpbmcgYW5kIHRoZW4gaXQgY2FuIHVw ZGF0ZSB0aGUgcHJvY2Vzc2VkIHBhY2tldHMgbnVtYmVyLg0KPiA+DQo+ID4+ID4+ID4NCj4gPg0K PiA+PiA+Pg0KPiA+DQo+ID4+ID4+IEkgYmVsaWV2ZSB3ZSBjYW4gbGl2ZSB3aXRoIG1pbm9yIGlu YWNjdXJhY2llcyBpbiBzdGF0cyBiZWluZw0KPiA+DQo+ID4+ID4+IHByZXNlbnRlZA0KPiA+DQo+ ID4+ID5hcw0KPiA+DQo+ID4+ID4+IGF0b21pY3MgYXJlIHByZXR0eSBoZWF2eSB3aGVuIHNjaGVk dWxlciBpcyBsaW1pdGVkIHRvIGJ1cnN0IHNpemUNCj4gPj4gPj4gYXMNCj4gPjEuDQo+ID4NCj4g Pj4gPj4NCj4gPg0KPiA+PiA+PiBPbmUgb3B0aW9uIGlzIHRvIG1vdmUgaXQgYmVmb3JlIGEgcGlw ZWxpbmUgb3BlcmF0aW9uDQo+ID4NCj4gPj4gPihwaXBlbGluZV9ldmVudF90eCwNCj4gPg0KPiA+ PiA+PiBwaXBlbGluZV9md2RfZXZlbnQgZXRjLikgYXMgdGhleSBpbXBseSBpbXBsaWNpdCByZWxl YXNlIGJhcnJpZXINCj4gPj4gPj4gKGFzDQo+ID4NCj4gPj4gPj4gYWxsDQo+ID4NCj4gPj4gPnRo ZQ0KPiA+DQo+ID4+ID4+IGNoYW5nZXMgZG9uZSB0byB0aGUgZXZlbnQgc2hvdWxkIGJlIHZpc2li bGUgdG8gdGhlIG5leHQgY29yZSkuDQo+ID4NCj4gPj4gPg0KPiA+DQo+ID4+ID5JZiBJIHVuZGVy c3RhbmQgY29ycmVjdGx5LCB5b3VyIG1lYW5pbmcgaXMgdGhhdCBtb3ZlIHJlbGVhc2UNCj4gPj4g PmJhcnJpZXJzDQo+ID4NCj4gPj4gPmJlZm9yZSBwaXBlbGluZV9ldmVudF90eCBvciBwaXBlbGlu ZV9md2RfZXZlbnQuIFRoaXMgY2FuIGVuc3VyZSB0aGUNCj4gPg0KPiA+PiA+ZXZlbnQgaGFzIGJl ZW4gcHJvY2Vzc2VkIGJlZm9yZSB0aGUgbmV4dCBjb3JlIGJlZ2lucyB0byB0eC9md2QuIEZvcg0K PiA+DQo+ID4+ID5leGFtcGxlOg0KPiA+DQo+ID4+DQo+ID4NCj4gPj4gV2hhdCBJIG1lYW50IHdh cyBldmVudCBBUElzIHN1Y2ggYXMgYHJ0ZV9ldmVudF9lbnF1ZXVlX2J1cnN0YCwNCj4gPg0KPiA+ PiBgcnRlX2V2ZW50X2V0aF90eF9hZGFwdGVyX2VucXVldWVgDQo+ID4NCj4gPj4gYWN0IGFzIGFu IGltcGxpY2l0IHJlbGVhc2UgYmFycmllciBhbmQgdGhlIEFQSQ0KPiA+YHJ0ZV9ldmVudF9kZXF1 ZXVlX2J1cnN0YCBhY3QNCj4gPg0KPiA+PiBhcyBhbiBpbXBsaWNpdCBhY3F1aXJlIGJhcnJpZXIu DQo+ID4NCj4gPg0KPiA+DQo+ID4+DQo+ID4NCj4gPj4gU2luY2UsIHBpcGVsaW5lXyogdGVzdCBz dGFydHMgd2l0aCBhIGRlcXVldWUoKSBhbmQgZW5kcyB3aXRoIGFuDQo+ID5lbnF1ZXVlKCkgSQ0K PiA+DQo+ID4+IGRvbuKAmXQgYmVsaWV2ZSB3ZSBuZWVkIGJhcnJpZXJzIGluIEJldHdlZW4uDQo+ ID4NCj4gPg0KPiA+DQo+ID5Tb3JyeSBmb3IgbXkgbWlzdW5kZXJzdGFuZGluZyB0aGlzLiBBbmQg SSBhZ3JlZSB3aXRoIHlvdSB0aGF0IG5vDQo+ID5iYXJyaWVycyBhcmUNCj4gPg0KPiA+bmVlZGVk IGJldHdlZW4gZGVxdWV1ZSBhbmQgZW5xdWV1ZS4NCj4gPg0KPiA+DQo+ID4NCj4gPk5vdywgbGV0 J3MgZ28gYmFjayB0byB0aGUgYmVnaW5uaW5nLiBBY3R1YWxseSB3aXRoIHRoaXMgcGF0Y2gsIG91 cg0KPiA+YmFycmllciBpcyBtYWlubHkNCj4gPg0KPiA+Zm9yIHRoZSBzeW5jaHJvbm91cyB2YXJp YWJsZSAiIHctPnByb2Nlc3NlZF9wa3RzICIuIEFzIHdlIGFsbCBrbm93LCB0aGUNCj4gPmV2ZW50 IGlzIGZpcnN0bHkNCj4gPg0KPiA+ZGVxdWV1ZWQgYW5kIHRoZW4gZW5xdWV1ZWQsIGFmdGVyIHRo aXMsIHRoZSBldmVudCBjYW4gYmUgdHJlYXRlZCBhcyB0aGUNCj4gPnByb2Nlc3NlZCBldmVudA0K PiA+DQo+ID5hbmQgaW5jbHVkZWQgaW4gdGhlIHN0YXRpc3RpY3MoInctPnByb2Nlc3NlZF9wa3Rz KysiKS4NCj4gPg0KPiA+DQo+ID4NCj4gPlRodXMsIHdlIGFkZCBhIHJlbGVhc2UgYmFycmllciBi ZWZvcmUgIiB3LT5wcm9jZXNzZWRfcGt0cysrIiBpcyB0bw0KPiA+cHJldmVudCB0aGlzIG9wZXJh dGlvbg0KPiA+DQo+ID5iZWluZyBleGVjdXRlZCBhaGVhZCBvZiB0aW1lLiBGb3IgZXhhbXBsZToN Cj4gPg0KPiA+ZGVxdWV1ZSAgLT4gIHctPnByb2Nlc3NlZF9wa3RzKysgIC0+ICBlbnF1ZXVlDQo+ ID4NCj4gPlRoaXMgY2F1c2UgdGhhdCB0aGUgd29ya2VyIGRvZXNuJ3QgYWN0dWFsbHkgZmluaXNo IHRoaXMgZXZlbnQNCj4gPnByb2Nlc3NpbmcsIGJ1dCB0aGUgZXZlbnQgaXMgdHJlYXRlZA0KPiA+ DQo+ID5hcyB0aGUgcHJvY2Vzc2VkIG9uZSBhbmQgaW5jbHVkZWQgaW4gdGhlIHN0YXRpc3RpY3Mu DQo+ID4NCj4gDQo+IEJ1dCB0aGUgY3VycmVudCBzZXF1ZW5jZSBpcyBkZXF1ZXVlLT4gZW5xdWV1 ZS0+IHctPnByb2Nlc3NlZF9wa3RzKysNCj4gYW5kIGVucXVldWUgYWxyZWFkeSBhY3RzIGFzIGFu IGV4cGxpY2l0IHJlbGVhc2UgYmFycmllciByaWdodD8NCj4gDQoNClNvcnJ5IG1heWJlIEkgY2Fu bm90IHVuZGVyc3RhbmQgaG93IOKAnGVucXVldWXigJ0gYXMgYW4gZXhwbGljaXQgcmVsZWFzZSBi YXJyaWVyLiBJIHRoaW5rIG9mIHR3byBwb3NzaWJpbGl0aWVzOg0KMS4gQXMgeW91IHNheSBiZWZv cmUsIGFsbCB0aGUgY2hhbmdlcyBkb25lIHRvIHRoZSBldmVudCBzaG91bGQgYmUgdmlzaWJsZSB0 byB0aGUgbmV4dCBjb3JlIGFuZCBlbnF1ZXVlIGlzIGEgb3BlcmF0aW9uIGZvciBldmVudCwgc28g dGhlIG5leHQgY29yZSBzaG91bGQgd2FpdCBmb3IgdGhlIGV2ZW50IHRvIGJlIGVucXVldWVkLg0K SSB0aGluayB0aGlzIGlzIGR1ZSB0byBkYXRhIGRlcGVuZGVuY2UgZm9yIHRoZSBzYW1lIHZhcmlh YmxlLiBIb3dldmVyLCDigJh3LT5wcm9jZXNzZWRfcGt0c+KAmSBhbmQg4oCYZXbigJkgYXJlIGRp ZmZlcmVudCB2YXJpYWJsZXMsIHNvIHRoaXMgY2Fubm90IHByZXZlbnQg4oCYdy0+cHJvY2Vzc2Vk X3BrdHMrK+KAmSBiZWZvcmUgZW5xdWV1ZS4gDQpBbmQgdGhlIG1haW4gY29yZSBtYXkgbG9hZCB1 cGRhdGVkIOKAmHctPnByb2Nlc3NlZF9wa3Rz4oCZIGJ1dCBhY3R1YWxseSB0aGUgZXZlbnQgaXMg c3RpbGwgYmVpbmcgcHJvY2Vzc2VkLiBGb3IgZXhhbXBsZTogDQoNCiBUaW1lIFNsb3QJICAgV29y a2VyIDEgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE1haW4gY29yZQ0KICAg MSAgICAgICAgICAgICAgICAgICAgICAgICAgIGRlcXVldWUgICAgICAgICAgICAgICAgICAgDQog ICAyICAgICAgICAgICAgICAgICAgdy0+cHJvY2Vzc2VkX3BrdHMrKw0KICAgMyAgICAgICAgICAg ICAgICAgICAgICAgCQkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsb2FkIHctPnByb2Nl c3NlZF9wa3RzDQogICA0ICAgICAgICAgICAgICAgICAgICAgICAgICBlbnF1ZXVlDQoNCjIuIFNv bWUgcmVsZWFzZSBiYXJyaWVycyBoYXZlIGJlZW4gaW5jbHVkZWQgaW4gZW5xdWV1ZS4gVGhlcmUg aXMgYSByZWxlYXNlIGJhcnJpZXIgaW4gcnRlX3JpbmdfZW5xdWV1ZSA6DQptb3ZlIGhlYWQgLT4g Y29weSBlbGVtZW50cyB0byB0aGUgcmluZyAtPiByZWxlYXNlIGJhcnJpZXIgLT4gdXBkYXRlIHRh aWwgLT4gdy0+cHJvY2Vzc2VkX3BrdHMrKw0KSG93ZXZlciwgdGhpcyBiYXJyaWVyIGNhbm5vdCBw cmV2ZW50IOKAmHctPnByb2Nlc3NlZF9wa3RzKyvigJkgYmVmb3JlIHVwZGF0ZSB0YWlsLCBhbmQg d2hlbiB1cGRhdGVfdGFpbCBoYXMgYmVlbiBmaW5pc2hlZCwgdGhlIGVucXVldWUgcHJvY2VzcyAg Y2FuIGJlIHNlZW4gY29tcGxldGVkLiANCg0KPiA+DQo+ID4NCj4gPl9fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXw0KPiBfDQo+ID5fX19fX19f X19fX19fX19fX19fXw0KPiA+DQo+ID4NCj4gPg0KPiA+QnkgdGhlIHdheSwgSSBoYXZlIHR3byBv dGhlciBxdWVzdGlvbnMgYWJvdXQgcGlwZWxpbmUgcHJvY2VzcyB0ZXN0IGluDQo+ID4idGVzdF9w aXBlbGluZV9xdWV1ZSIuDQo+ID4NCj4gPjEuIHdoZW4gZG8gd2Ugc3RhcnQgY291bnRpbmcgcHJv Y2Vzc2VkIGV2ZW50cyAody0+cHJvY2Vzc2VkX3BrdHMpPw0KPiA+DQo+ID5Gb3IgdGhlIGZ3ZCBt b2RlIChpbnRlcm5hbF9wb3J0ID0gZmFsc2UpLCB3aGVuIHdlIGNob29zZSBzaW5nbGUgc3RhZ2Us DQo+ID5hcHBsaWNhdGlvbiBpbmNyZW1lbnRzDQo+ID4NCj4gPnRoZSBudW1iZXIgZXZlbnRzIHBy b2Nlc3NlZCBhZnRlciAicGlwZWxpbmVfZXZlbnQgZW5xdWV1ZSIuDQo+ID5Ib3dldmVyLCB3aGVu IHdlIGNob29zZSBtdWx0aXBsZQ0KPiA+DQo+ID5zdGFnZSwgYXBwbGljYXRpb24gaW5jcmVtZW50 cyB0aGUgbnVtYmVyIGV2ZW50cyBwcm9jZXNzZWQgYmVmb3JlDQo+ID4icGlwbGVsaW5lX2V2ZW50 X2VucXVldWUiLg0KPiANCj4gV2UgY291bnQgYW4gZXZlbnQgYXMgcHJvY2VzcyB3aGVuIGFsbCB0 aGUgc3RhZ2VzIGhhdmUgY29tcGxldGVkIGFuZCBpdHMNCj4gVHJhc25taXR0ZWQuDQo+IA0KPiA+ U28sDQo+ID4NCj4gPm1heWJlIHdlIGNhbiB1bmlmeSB0aGlzLiBGb3IgZXhhbXBsZSBvZiBtdWx0 aXBsZSBzdGFnZToNCj4gPg0KPiA+DQo+ID4NCj4gPiAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgaWYgKGNxX2lkID09IGxhc3RfcXVldWUpIHsNCj4gPg0KPiA+ICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZXYucXVldWVfaWQgPQ0KPiA+IHR4X3F1 ZXVlW2V2Lm1idWYtPnBvcnRdOw0KPiA+DQo+ID4NCj4gPnJ0ZV9ldmVudF9ldGhfdHhfYWRhcHRl cl90eHFfc2V0KGV2Lm1idWYsDQo+ID4wKTsNCj4gPg0KPiA+ICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgcGlwZWxpbmVfZndkX2V2ZW50KCZldiwNCj4gPlJU RV9TQ0hFRF9UWVBFX0FUT01JQyk7DQo+ID4NCj4gPiAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgKyAgICAgICAgICAgICBwaXBlbGluZV9ldmVudF9lbnF1ZXVlKGRldiwgcG9ydCwgJmV2 KTsNCj4gPg0KPiA+ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgdy0+cHJvY2Vzc2VkX3BrdHMrKzsNCj4gPg0KPiA+ICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICB9IGVsc2Ugew0KPiA+DQo+ID4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBldi5xdWV1ZV9pZCsrOw0KPiA+DQo+ID4gICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwaXBlbGluZV9md2RfZXZlbnQoJmV2LA0K PiA+c2NoZWRfdHlwZV9saXN0W2NxX2lkXSk7DQo+ID4NCj4gPiAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgKyAgICAgICAgICAgICBwaXBlbGluZV9ldmVudF9lbnF1ZXVlKGRldiwgcG9y dCwgJmV2KTsNCj4gPg0KPiA+ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9DQo+ID4N Cj4gPg0KPiA+DQo+ID4gICAgICAgICAgICAgICAgLSAgICAgICAgICAgICAgcGlwZWxpbmVfZXZl bnRfZW5xdWV1ZShkZXYsIHBvcnQsICZldik7DQo+ID4NCj4gPg0KPiANCj4gVGhlIGFib3ZlIGNo YW5nZSBtYWtlcyBzZW5zZS4NCj4gDQpUaGFua3MgZm9yIHlvdXIgcmV2aWV3LCBhbmQgSeKAmWxs IHVwZGF0ZSB0aGlzIGNoYW5nZSBpbnRvIHRoZSBuZXh0IHZlcnNpb24uDQo+ID4NCj4gPjIuIFdo ZXRoZXIgICJwaXBlbGluZV9ldmVudF9lbnF1ZXVlIiBpcyBuZWVkZWQgYWZ0ZXINCj4gPiJwaXBl bGluZV9ldmVudF90eCIgZm9yIHR4IG1vZGU/DQo+ID4NCj4gPkZvciBzaW5nbGVfc3RhZ2VfYnVy c3RfdHggbW9kZSwgYWZ0ZXIgInBpcGVsaW5lX2V2ZW50X3R4IiwgdGhlIHdvcmtlcg0KPiA+aGFz IHRvIGVucXVldWUgYWdhaW4NCj4gPg0KPiA+ZHVlIHRvICAicGlwZWxpbmVfZXZlbnRfZW5xdWV1 ZV9idXJzdCIsIHNvIG1heWJlIHdlIHNob3VsZCBqdW1wIG91dCBvZg0KPiA+dGhlIGxvb3AgYWZ0 ZXINCj4gPg0KPiA+4oCccGlwZWxpbmVfZXZlbnRfdHjigJ0sDQo+IA0KPiBXZSBjYWxsIGVucXVl dWUgYnVyc3QgdG8gcmVsZWFzZSB0aGUgZXZlbnRzIGkuZS4gZW5xdWV1ZSBldmVudHMgd2l0aA0K PiBSVEVfRVZFTlRfT1BfUkVMRUFTRS4NCj4gDQpIb3dldmVyLCANCkluIGNhc2Ugb2Ygc2luZ2xl IGV2ZW50LCBmb3IgJyBwaXBlbGluZV9xdWV1ZV93b3JrZXJfc2luZ2xlX3N0YWdlX3R4JyBhbmQg JyBwaXBlbGluZV9xdWV1ZV93b3JrZXJfbXVsdGlfc3RhZ2VfdHgnLA0KYWZ0ZXIgdHgsIHRoZXJl IGlzIG5vIHJlbGVhc2Ugb3BlcmF0aW9uLg0KDQo+ID4NCj4gIGZvciBleGFtcGxlOg0KPiA+DQo+ ID4NCj4gPg0KPiA+ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgaWYgKGV2W2ldLnNjaGVkX3R5cGUgPT0NCj4gPlJURV9TQ0hFRF9UWVBFX0FUT01JQykgew0K PiA+DQo+ID4NCj4gPiBwaXBlbGluZV9ldmVudF90eChkZXYsIHBvcnQsICZldltpXSk7DQo+ID4N Cj4gPg0KPiA+IGV2W2ldLm9wID0gUlRFX0VWRU5UX09QX1JFTEVBU0U7DQo+ID4NCj4gPg0KPiA+ IHctPnByb2Nlc3NlZF9wa3RzKys7DQo+ID4NCj4gPiAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICsgICAgICAgICAgICAgY29udGludWU7DQo+ID4NCj4gPiAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7DQo+ ID4NCj4gPg0KPiA+IGV2W2ldLnF1ZXVlX2lkKys7DQo+ID4NCj4gPg0KPiA+IHBpcGVsaW5lX2Z3 ZF9ldmVudCgmZXZbaV0sDQo+ID4NCj4gPg0KPiA+UlRFX1NDSEVEX1RZUEVfQVRPTUlDKTsNCj4g Pg0KPiA+ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQ0K PiA+DQo+ID4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0NCj4gPg0KPiA+DQo+ID4N Cj4gPiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGlwZWxpbmVfZXZlbnRfZW5xdWV1 ZV9idXJzdChkZXYsIHBvcnQsDQo+ID4gZXYsIG5iX3J4KTsNCj4gPg0KPiA+DQo+ID4NCj4gPg0K PiA+DQo+ID4+DQo+ID4NCj4gPj4gPg0KPiA+DQo+ID4+ID5pZiAoZXYuc2NoZWRfdHlwZSA9PSBS VEVfU0NIRURfVFlQRV9BVE9NSUMpIHsNCj4gPg0KPiA+PiA+ICAgICAgICAgICAgICAgICAgICAg ICAgICArDQo+ID5fX2F0b21pY190aHJlYWRfZmVuY2UoX19BVE9NSUNfUkVMRUFTRSk7DQo+ID4N Cj4gPj4gPiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBpcGVsaW5l X2V2ZW50X3R4KGRldiwNCj4gPj4gPiBwb3J0LCAmZXYpOw0KPiA+DQo+ID4+ID4gICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB3LT5wcm9jZXNzZWRfcGt0cysrOw0KPiA+ DQo+ID4+ID4gICAgICAgICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7DQo+ID4NCj4gPj4gPiAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGV2LnF1ZXVlX2lkKys7DQo+ ID4NCj4gPj4gPiAgICAgICAgICAgICAgICAgICAgICAgICAgKw0KPiA+X19hdG9taWNfdGhyZWFk X2ZlbmNlKF9fQVRPTUlDX1JFTEVBU0UpOw0KPiA+DQo+ID4+ID4gICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBwaXBlbGluZV9md2RfZXZlbnQoJmV2LA0KPiA+DQo+ID4+ ID5SVEVfU0NIRURfVFlQRV9BVE9NSUMpOw0KPiA+DQo+ID4+ID4NCj4gPj4gPiBwaXBlbGluZV9l dmVudF9lbnF1ZXVlKGRldiwgcG9ydCwgJmV2KTsNCj4gPg0KPiA+PiA+DQo+ID4NCj4gPj4gPkhv d2V2ZXIsIHRoZXJlIGFyZSB0d28gcmVhc29ucyB0byBwcmV2ZW50IHRoaXM6DQo+ID4NCj4gPj4g Pg0KPiA+DQo+ID4+ID5GaXJzdCwgY29tcGFyZSB3aXRoIG90aGVyIHRlc3RzIGluIGFwcC9ldmVu dGRldiwgZm9yIGV4YW1wbGUsIHRoZQ0KPiA+DQo+ID4+ID5ldmVudGRldiBwZXJmIHRlc3QsIHRo ZSB3bWIgaXMgYWZ0ZXIgZXZlbnQgb3BlcmF0aW9uIHRvIGVuc3VyZQ0KPiA+DQo+ID4+ID5vcGVy YXRpb24gaGFzIGJlZW4gZmluaXNoZWQgYW5kIHRoZW4gdy0+cHJvY2Vzc2VkX3BrdHMrKy4NCj4g Pg0KPiA+Pg0KPiA+DQo+ID4+IEluIGNhc2Ugb2YgcGVyZl8qIHRlc3RzIHN0YXJ0IHdpdGggYSBk ZXF1ZXVlKCkgYW5kIGZpbmFsbHkgZW5kcyB3aXRoDQo+ID4+IGENCj4gPg0KPiA+PiBtZW1wb29s X3B1dCgpIHNob3VsZCBhbHNvIGFjdCBhcyBpbXBsaWNpdCBhY3F1aXJlIHJlbGVhc2UgcGFpcnMN Cj4gPm1ha2luZyBzdGF0cw0KPiA+DQo+ID4+IGNvbnNpc3RlbnQ/DQo+ID4NCj4gPg0KPiA+DQo+ ID5Gb3IgcGVyZiB0ZXN0cywgdGhpcyBjb25zaXN0ZW5jeSByZWZlcnMgdG8gdGhhdCB0aGVyZSBp cyBhIHdtYiBhZnRlcg0KPiA+bWVtcG9vbF9wdXQoKS4NCj4gPg0KPiA+UGxlYXNlIHJlZmVyIHRv IHRoaXMgbGluazoNCj4gPg0KPiA+aHR0cHM6Ly91cmxkZWZlbnNlLnByb29mcG9pbnQuY29tL3Yy L3VybD91PWh0dHAtDQo+ID4zQV9fcGF0Y2hlcy5kcGRrLm9yZ19wYXRjaF84NTYzNF8mZD1Ed0lH YVEmYz1uS2pXZWMyYjZSMG1PDQo+ID55UGF6N3h0ZlEmcj0xY2p1QUhyR2g3NDVqSE5tajJmRDg1 c1VNSUoySVBJRHNJSnpvNkZONlowJm09emcNCj4gPlFIZVNEaVhXZkkxUElJVXhYQnFNUzZFLTJf M0c0Nm5ocnpHWG9CcEhJJnM9MEZ3VHhQWGpXZmxoLQ0KPiA+c2RtbmtZMTMzSVBsSkI3ODB4MHl4 ZTdBbTNKQ0J3JmU9DQo+ID4NCj4gPg0KPiA+DQo+ID4+DQo+ID4NCj4gPj4gPlNvLCBpZiB3ZSBt b3ZlIHJlbGVhc2UgYmFycmllcnMgYmVmb3JlIHR4L2Z3ZCwgaXQgbWF5IGNhdXNlIHRoYXQgdGhl DQo+ID4NCj4gPj4gPnRlc3RzIG9mIGFwcC9ldmVudGRldiBiZWNvbWUgIGluY29uc2lzdGVudC5U aGlzIG1heSByZWR1Y2UgdGhlDQo+ID4NCj4gPj4gPm1haW50YWluYWJpbGl0eSBvZiB0aGUgY29k ZSBhbmQgbWFrZSBpdCBkaWZmaWN1bHQgdG8gdW5kZXJzdGFuZC4NCj4gPg0KPiA+PiA+DQo+ID4N Cj4gPj4gPlNlY29uZCwgaXQgaXMgYSB0ZXN0IGNhc2UsIHRob3VnaCBoZWF2eSB0aHJlYWQgbWF5 IGNhdXNlDQo+ID5wZXJmb3JtYW5jZQ0KPiA+DQo+ID4+ID5kZWdyYWRhdGlvbiwgaXQgY2FuIGVu c3VyZSB0aGF0IHRoZSBvcGVyYXRpb24gcHJvY2VzcyBhbmQgdGhlIHRlc3QNCj4gPg0KPiA+PiA+ cmVzdWx0IGFyZSBjb3JyZWN0LiBBbmQgbWF5YmUgZm9yIGEgdGVzdCBjYXNlLCBjb3JyZWN0bmVz cyBpcyBtb3JlDQo+ID4NCj4gPj4gPmltcG9ydGFudCB0aGFuIHBlcmZvcm1hbmNlLg0KPiA+DQo+ ID4+ID4NCj4gPg0KPiA+Pg0KPiA+DQo+ID4+IE1vc3Qgb2Ygb3VyIGludGVybmFsIHBlcmYgdGVz dCBydW4gb24gMjQvNDggY29yZSBjb21iaW5hdGlvbnMgYW5kDQo+ID5zaW5jZQ0KPiA+DQo+ID4+ IE9jdGVvbnR4MiBldmVudCBkZXZpY2UgZHJpdmVyIHN1cHBvcnRzIGEgYnVyc3Qgc2l6ZSBvZiAx LCBpdCB3aWxsDQo+ID4+IHNob3cNCj4gPnVwIGFzDQo+ID4NCj4gPj4gSHVnZSBwZXJmb3JtYW5j ZSBkZWdyYWRhdGlvbi4NCj4gPg0KPiA+DQo+ID4NCj4gPkZvciB0aGUgaW1wYWN0IG9uIHBlcmZv cm1hbmNlLCBJIGRvIHRoZSB0ZXN0IHVzaW5nIHNvZnR3YXJlIGRyaXZlciwNCj4gPmZvbGxvd2lu ZyBhcmUgc29tZSB0ZXN0IHJlc3VsdHM6DQo+ID4NCj4gPi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQo+ID4tLS0t LS0tLS0tLS0tLS0tDQo+ID4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0NCj4gPg0KPiA+QXJjaGl0ZWN0dXJlOiBhYXJjaDY0DQo+ID4NCj4gPk5pY3M6IGl4Z2Jl LTgyNTk5DQo+ID4NCj4gPkNQVTogQ29ydGV4LUE3Mg0KPiA+DQo+ID5CVVJTVF9TSVpFOiAxDQo+ ID4NCj4gPk9yZGVyOiAuL2RwZGstdGVzdC1ldmVudGRldiAtbCAwLTE1IC1zIDB4MiAtLXZkZXY9 ZXZlbnRfc3cwIC0tIC0tDQo+ID50ZXN0PXBpcGVsaW5lX3F1ZXVlIC0td2xjb3JlPTQtMTQgLS1w cm9kX3R5cGVfZXRoZGV2IC0tc3RsaXN0PWEsYQ0KPiA+DQo+ID5GbG93OiBvbmUgZmxvdywgNjRi aXRzIHBhY2thZ2UsIFRYIHJhdGU6IDEuNE1wcHMNCj4gPg0KPiA+DQo+ID4NCj4gPldpdGhvdXQg dGhpcyBwYXRjaDoNCj4gPg0KPiA+MC45NTQgbXBwcyBhdmcgMC45NTMgbXBwcw0KPiA+DQo+ID4N Cj4gPg0KPiA+V2l0aCB0aGlzIHBhdGNoOg0KPiA+DQo+ID4wLjkzMiBtcHBzIGF2ZyAwLjkzMCBt cHBzDQo+ID4NCj4gPi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQo+ID4tLS0tLS0tLS0tLS0tLS0tDQo+ID4tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCj4gPg0KPiA+DQo+ID4N Cj4gPkJhc2VkIG9uIHRoZSByZXN1bHQgYWJvdmUsIHRoZXJlIGlzIG5vIHNpZ25pZmljYW50IHBl cmZvcm1hbmNlDQo+ID5kZWdyYWRhdGlvbiB3aXRoIHRoaXMgcGF0Y2guDQo+ID4NCj4gPlRoaXMg aXMgYmVjYXVzZSB0aGUgcmVsZWFzZSBiYXJyaWVyIGlzIG9ubHkgZm9yICDigJx3LT5wcm9jZXNz ZWRfcGt0cysr4oCdLg0KPiA+SXQganVzdCBlbnN1cmVzIHRoYXQgdGhlIHdvcmtlciBjb3JlDQo+ ID4NCj4gPmluY3JlbWVudHMgdGhlIG51bWJlciBldmVudHMgcHJvY2Vzc2VkIGFmdGVyIGVucXVl dWUsIGFuZCBpdCBkb2VzbuKAmXQNCj4gPmFmZmVjdCBkZXF1ZXVlL2VucXVldWU6DQo+ID4NCj4g Pg0KPiA+DQo+ID5kZXF1ZXVlIC0+IGVucXVldWUgLT4gcmVsZWFzZSBiYXJyaWVyIC0+IHctPnBy b2Nlc3NlZF9wa3RzKysNCj4gPg0KPiANCj4gSGVyZSBlbnF1ZXVlIGFscmVhZHkgYWN0cyBhcyBh biBleHBsaWNpdCByZWxlYXNlIGJhcnJpZXIuDQo+IA0KUGxlYXNlIHJlZmVyIGFib3ZlIHJlYXNv bnMuDQoNCj4gPg0KPiA+DQo+ID5PbiB0aGUgb3RoZXIgaGFuZCwgSSBpbmZlciB0aGUgcmVhc29u IGZvciB0aGUgc2xpZ2h0IGRlY3JlYXNlIGluDQo+ID5tZWFzdXJlbWVudCBwZXJmb3JtYW5jZSBp cyB0aGF0IHRoZSByZWxlYXNlIGJhcnJpZXINCj4gPg0KPiA+cHJldmVudCDigJx3LT5wcm9jZXNz ZWRfcGt0cysr4oCdIGJlZm9yZSB0aGF0IHRoZSBldmVudCBoYXMgYmVlbiBwcm9jZXNzZWQNCj4g PihlbnF1ZXVlKS4gQnV0IEkgdGhpbmsgdGhpcyB0ZXN0IHJlc3VsdCBpcyBjbG9zZXINCj4gPg0K PiA+dG8gdGhlIHJlYWwgcGVyZm9ybWFuY2UuDQo+ID4NCj4gPkFuZCBzb3JyeSBmb3IgdGhhdCB3 ZSBoYXZlIG5vIG9jdGVudHgyIGRldmljZSwgc28gdGhlcmUgaXMgbm8gdGVzdA0KPiA+cmVzdWx0 IG9uIE9jdGVvbnR4MiBldmVudCBkZXZpY2UgZHJpdmVyLiBXb3VsZCB5b3UgcGxlYXNlDQo+ID4N Cj4gPmhlbHAgdXMgdGVzdCB0aGlzIHBhdGNoIG9uIG9jdGVudHgyIHdoZW4geW91IGFyZSBjb252 ZW5pZW50LiBUaGFua3MNCj4gPnZlcnkgbXVjaC4NCj4gPg0KPiANCj4gSSB3aWxsIHJlcG9ydCB0 aGUgcGVyZm9ybWFuY2UgbnVtYmVycyBvbiBNb25kYXkuDQo+IA0KDQpUaGF04oCZcyBncmVhdCwg VGhhbmtzIHZlcnkgbXVjaCBmb3IgeW91ciBoZWxwLg0KDQpCZXN0IFJlZ2FyZHMNCkZlaWZlaQ0K DQo+ID4NCj4gPg0KPiA+QmVzdCBSZWdhcmRzDQo+ID4NCj4gPkZlaWZlaQ0KPiANCj4gUmVnYXJk cywNCj4gUGF2YW4uDQo+IA0KPiA+DQo+ID4NCj4gPg0KPiA+Pg0KPiA+DQo+ID4+ID5TbywgZHVl IHRvIHR3byByZWFzb25zIGFib3ZlLCBJJ20gYW1iaXZhbGVudCBhYm91dCBob3cgd2Ugc2hvdWxk DQo+ID5kbyBpbg0KPiA+DQo+ID4+ID50aGUgbmV4dCBzdGVwLg0KPiA+DQo+ID4+ID4NCj4gPg0K PiA+PiA+QmVzdCBSZWdhcmRzDQo+ID4NCj4gPj4gPkZlaWZlaQ0KPiA+DQo+ID4+DQo+ID4NCj4g Pj4gUmVnYXJkcywNCj4gPg0KPiA+PiBQYXZhbi4NCj4gPg0KPiA+Pg0KPiA+DQo+ID4+ID4NCj4g Pg0KPiA+PiA+PiA+Rml4ZXM6IDMxNGJjZjU4Y2E4ZiAoImFwcC9ldmVudGRldjogYWRkIHBpcGVs aW5lIHF1ZXVlIHdvcmtlcg0KPiA+DQo+ID4+ID4+ID5mdW5jdGlvbnMiKQ0KPiA+DQo+ID4+ID4+ ID5DYzoNCj4gPm1haWx0bzpwYmhhZ2F2YXR1bGFAbWFydmVsbC5jb208bWFpbHRvOnBiaGFnYXZh dHVsYUBtYXJ2ZWxsLmNvbT4NCj4gPg0KPiA+PiA+PiA+Q2M6IG1haWx0bzpzdGFibGVAZHBkay5v cmc8bWFpbHRvOnN0YWJsZUBkcGRrLm9yZz4NCj4gPg0KPiA+PiA+PiA+DQo+ID4NCj4gPj4gPj4g PlNpZ25lZC1vZmYtYnk6IFBoaWwgWWFuZw0KPiA+PG1haWx0bzpwaGlsLnlhbmdAYXJtLmNvbTxt YWlsdG86cGhpbC55YW5nQGFybS5jb20+Pg0KPiA+DQo+ID4+ID4+ID5TaWduZWQtb2ZmLWJ5OiBG ZWlmZWkgV2FuZw0KPiA+PG1haWx0bzpmZWlmZWkud2FuZzJAYXJtLmNvbTxtYWlsdG86ZmVpZmVp LndhbmcyQGFybS5jb20+Pg0KPiA+DQo+ID4+ID4+ID5SZXZpZXdlZC1ieTogUnVpZmVuZyBXYW5n DQo+ID48bWFpbHRvOnJ1aWZlbmcud2FuZ0Bhcm0uY29tPG1haWx0bzpydWlmZW5nLndhbmdAYXJt LmNvbT4+DQo+ID4NCj4gPj4gPj4gPi0tLQ0KPiA+DQo+ID4+ID4+ID4gYXBwL3Rlc3QtZXZlbnRk ZXYvdGVzdF9waXBlbGluZV9xdWV1ZS5jIHwgNjQNCj4gPg0KPiA+PiA+PiA+KysrKysrKysrKysr KysrKysrKysrLS0tLQ0KPiA+DQo+ID4+ID4+ID4gMSBmaWxlIGNoYW5nZWQsIDU2IGluc2VydGlv bnMoKyksIDggZGVsZXRpb25zKC0pDQo+ID4NCj4gPj4gPj4gPg0KPiA+DQo+ID4+ID4+ID5kaWZm IC0tZ2l0IGEvYXBwL3Rlc3QtZXZlbnRkZXYvdGVzdF9waXBlbGluZV9xdWV1ZS5jIGIvYXBwL3Rl c3QtDQo+ID4NCj4gPj4gPj4gPmV2ZW50ZGV2L3Rlc3RfcGlwZWxpbmVfcXVldWUuYyBpbmRleCA3 YmViYWMzNGYuLjBjMGVjMGNlYg0KPiA+DQo+ID4+ID4xMDA2NDQNCj4gPg0KPiA+PiA+PiA+LS0t IGEvYXBwL3Rlc3QtZXZlbnRkZXYvdGVzdF9waXBlbGluZV9xdWV1ZS5jDQo+ID4NCj4gPj4gPj4g PisrKyBiL2FwcC90ZXN0LWV2ZW50ZGV2L3Rlc3RfcGlwZWxpbmVfcXVldWUuYw0KPiA+DQo+ID4+ ID4+ID5AQCAtMzAsNyArMzAsMTMgQEANCj4gPnBpcGVsaW5lX3F1ZXVlX3dvcmtlcl9zaW5nbGVf c3RhZ2VfdHgodm9pZA0KPiA+DQo+ID4+ID4+ID4qYXJnKQ0KPiA+DQo+ID4+ID4+ID4NCj4gPg0K PiA+PiA+PiA+ICAgICAgICAgICAgICAgICAgICBpZiAoZXYuc2NoZWRfdHlwZSA9PSBSVEVfU0NI RURfVFlQRV9BVE9NSUMpIHsNCj4gPg0KPiA+PiA+PiA+ICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgcGlwZWxpbmVfZXZlbnRfdHgoZGV2LCBwb3J0LA0KPiA+PiA+PiA+ICZldik7 DQo+ID4NCj4gPj4gPj4gPi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdy0+cHJv Y2Vzc2VkX3BrdHMrKzsNCj4gPg0KPiA+PiA+PiA+Kw0KPiA+DQo+ID4+ID4+ID4rICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgLyogcmVsZWFzZSBiYXJyaWVyIGhlcmUgZW5zdXJlcw0K PiA+PiA+PiA+KyBzdG9yZWQNCj4gPm9wZXJhdGlvbg0KPiA+DQo+ID4+ID4+ID4rICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgKiBvZiB0aGUgZXZlbnQgY29tcGxldGVzIGJlZm9yZQ0K PiA+PiA+PiA+KyB0aGUgbnVtYmVyDQo+ID5vZg0KPiA+DQo+ID4+ID4+ID4rICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgKiBwcm9jZXNzZWQgcGt0cyBpcyB2aXNpYmxlIHRvDQo+ID4+ ID4+ID4rIHRoZSBtYWluIGNvcmUNCj4gPg0KPiA+PiA+PiA+KyAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICovDQo+ID4NCj4gPj4gPj4gPisNCj4gPj4gPj4gPisgX19hdG9taWNfZmV0 Y2hfYWRkKCYody0+cHJvY2Vzc2VkX3BrdHMpLA0KPiA+MSwNCj4gPg0KPiA+PiA+PiA+Kw0KPiA+ PiA+PiA+KyBfX0FUT01JQ19SRUxFQVNFKTsNCj4gPg0KPiA+PiA+PiA+ICAgICAgICAgICAgICAg ICAgICB9IGVsc2Ugew0KPiA+DQo+ID4+ID4+ID4gICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBldi5xdWV1ZV9pZCsrOw0KPiA+DQo+ID4+ID4+ID4gICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBwaXBlbGluZV9md2RfZXZlbnQoJmV2LA0KPiA+DQo+ID4+ID4+ID5S VEVfU0NIRURfVFlQRV9BVE9NSUMpOw0KPiA+DQo+ID4+ID4+ID5AQCAtNTksNyArNjUsMTMgQEAN Cj4gPg0KPiA+PiA+cGlwZWxpbmVfcXVldWVfd29ya2VyX3NpbmdsZV9zdGFnZV9md2Qodm9pZA0K PiA+DQo+ID4+ID4+ID4qYXJnKQ0KPiA+DQo+ID4+ID4+ID4gICAgICAgICAgICAgICAgICAgIHJ0 ZV9ldmVudF9ldGhfdHhfYWRhcHRlcl90eHFfc2V0KGV2Lm1idWYsIDApOw0KPiA+DQo+ID4+ID4+ ID4gICAgICAgICAgICAgICAgICAgIHBpcGVsaW5lX2Z3ZF9ldmVudCgmZXYsDQo+ID4+ID4+ID4g UlRFX1NDSEVEX1RZUEVfQVRPTUlDKTsNCj4gPg0KPiA+PiA+PiA+ICAgICAgICAgICAgICAgICAg ICBwaXBlbGluZV9ldmVudF9lbnF1ZXVlKGRldiwgcG9ydCwgJmV2KTsNCj4gPg0KPiA+PiA+PiA+ LSAgICAgICAgICAgICAgICAgIHctPnByb2Nlc3NlZF9wa3RzKys7DQo+ID4NCj4gPj4gPj4gPisN Cj4gPg0KPiA+PiA+PiA+KyAgICAgICAgICAgICAgICAgLyogcmVsZWFzZSBiYXJyaWVyIGhlcmUg ZW5zdXJlcyBzdG9yZWQNCj4gPj4gPj4gPisgb3BlcmF0aW9uDQo+ID4NCj4gPj4gPj4gPisgICAg ICAgICAgICAgICAgICogb2YgdGhlIGV2ZW50IGNvbXBsZXRlcyBiZWZvcmUgdGhlIG51bWJlciBv Zg0KPiA+DQo+ID4+ID4+ID4rICAgICAgICAgICAgICAgICAqIHByb2Nlc3NlZCBwa3RzIGlzIHZp c2libGUgdG8gdGhlIG1haW4gY29yZQ0KPiA+DQo+ID4+ID4+ID4rICAgICAgICAgICAgICAgICAq Lw0KPiA+DQo+ID4+ID4+ID4rICAgICAgICAgICAgICAgICBfX2F0b21pY19mZXRjaF9hZGQoJih3 LT5wcm9jZXNzZWRfcGt0cyksIDEsDQo+ID4NCj4gPj4gPj4gPisNCj4gPj4gPj4gPisgX19BVE9N SUNfUkVMRUFTRSk7DQo+ID4NCj4gPj4gPj4gPiAgICB9DQo+ID4NCj4gPj4gPj4gPg0KPiA+DQo+ ID4+ID4+ID4gICAgcmV0dXJuIDA7DQo+ID4NCj4gPj4gPj4gPkBAIC04NCw3ICs5NiwxMyBAQA0K PiA+DQo+ID4+ID4+ID5waXBlbGluZV9xdWV1ZV93b3JrZXJfc2luZ2xlX3N0YWdlX2J1cnN0X3R4 KHZvaWQgKmFyZykNCj4gPg0KPiA+PiA+PiA+ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgaWYgKGV2W2ldLnNjaGVkX3R5cGUgPT0NCj4gPg0KPiA+PiA+PiA+UlRFX1NDSEVEX1RZ UEVfQVRPTUlDKSB7DQo+ID4NCj4gPj4gPj4gPg0KPiA+PiA+PiA+IHBpcGVsaW5lX2V2ZW50X3R4 KGRldiwgcG9ydCwgJmV2W2ldKTsNCj4gPg0KPiA+PiA+PiA+ICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGV2W2ldLm9wID0NCj4gPj4gPj4gPiBSVEVf RVZFTlRfT1BfUkVMRUFTRTsNCj4gPg0KPiA+PiA+PiA+LSAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgdy0+cHJvY2Vzc2VkX3BrdHMrKzsNCj4gPg0KPiA+ PiA+PiA+Kw0KPiA+DQo+ID4+ID4+ID4rICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIC8qIHJlbGVhc2UNCj4gPj4gPj4gPisgYmFycmllciBoZXJlIGVuc3Vy ZXMgc3RvcmVkDQo+ID4NCj4gPj4gPj4gPm9wZXJhdGlvbg0KPiA+DQo+ID4+ID4+ID4rICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICogb2YgdGhlIGV2ZW50 DQo+ID4+ID4+ID4rIGNvbXBsZXRlcyBiZWZvcmUgdGhlDQo+ID4NCj4gPj4gPj4gPm51bWJlciBv Zg0KPiA+DQo+ID4+ID4+ID4rICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICogcHJvY2Vzc2VkDQo+ID4+ID4+ID4rIHBrdHMgaXMgdmlzaWJsZSB0byB0aGUg bWFpbg0KPiA+DQo+ID4+ID4+ID5jb3JlDQo+ID4NCj4gPj4gPj4gPisgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKi8NCj4gPg0KPiA+PiA+PiA+Kw0KPiA+ PiA+PiA+KyBfX2F0b21pY19mZXRjaF9hZGQoJih3LQ0KPiA+DQo+ID4+ID4+ID4+cHJvY2Vzc2Vk X3BrdHMpLCAxLA0KPiA+DQo+ID4+ID4+ID4rDQo+ID5fX0FUT01JQ19SRUxFQVNFKTsNCj4gPg0K PiA+PiA+PiA+ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHsNCj4g Pg0KPiA+PiA+PiA+DQo+ID4+ID4+ID4gZXZbaV0ucXVldWVfaWQrKzsNCj4gPg0KPiA+PiA+PiA+ DQo+ID4+ID4+ID4gcGlwZWxpbmVfZndkX2V2ZW50KCZldltpXSwNCj4gPg0KPiA+PiA+PiA+QEAg LTEyMSw3ICsxMzksMTMgQEANCj4gPg0KPiA+PiA+PiA+cGlwZWxpbmVfcXVldWVfd29ya2VyX3Np bmdsZV9zdGFnZV9idXJzdF9md2Qodm9pZCAqYXJnKQ0KPiA+DQo+ID4+ID4+ID4gICAgICAgICAg ICAgICAgICAgIH0NCj4gPg0KPiA+PiA+PiA+DQo+ID4NCj4gPj4gPj4gPiAgICAgICAgICAgICAg ICAgICAgcGlwZWxpbmVfZXZlbnRfZW5xdWV1ZV9idXJzdChkZXYsIHBvcnQsIGV2LA0KPiA+PiA+ PiA+IG5iX3J4KTsNCj4gPg0KPiA+PiA+PiA+LSAgICAgICAgICAgICAgICAgIHctPnByb2Nlc3Nl ZF9wa3RzICs9IG5iX3J4Ow0KPiA+DQo+ID4+ID4+ID4rDQo+ID4NCj4gPj4gPj4gPisgICAgICAg ICAgICAgICAgIC8qIHJlbGVhc2UgYmFycmllciBoZXJlIGVuc3VyZXMgc3RvcmVkDQo+ID4+ID4+ ID4rIG9wZXJhdGlvbg0KPiA+DQo+ID4+ID4+ID4rICAgICAgICAgICAgICAgICAqIG9mIHRoZSBl dmVudCBjb21wbGV0ZXMgYmVmb3JlIHRoZSBudW1iZXIgb2YNCj4gPg0KPiA+PiA+PiA+KyAgICAg ICAgICAgICAgICAgKiBwcm9jZXNzZWQgcGt0cyBpcyB2aXNpYmxlIHRvIHRoZSBtYWluIGNvcmUN Cj4gPg0KPiA+PiA+PiA+KyAgICAgICAgICAgICAgICAgKi8NCj4gPg0KPiA+PiA+PiA+KyAgICAg ICAgICAgICAgICAgX19hdG9taWNfZmV0Y2hfYWRkKCYody0+cHJvY2Vzc2VkX3BrdHMpLCBuYl9y eCwNCj4gPg0KPiA+PiA+PiA+Kw0KPiA+PiA+PiA+KyBfX0FUT01JQ19SRUxFQVNFKTsNCj4gPg0K PiA+PiA+PiA+ICAgIH0NCj4gPg0KPiA+PiA+PiA+DQo+ID4NCj4gPj4gPj4gPiAgICByZXR1cm4g MDsNCj4gPg0KPiA+PiA+PiA+QEAgLTE0Niw3ICsxNzAsMTMgQEANCj4gPg0KPiA+PiA+cGlwZWxp bmVfcXVldWVfd29ya2VyX211bHRpX3N0YWdlX3R4KHZvaWQNCj4gPg0KPiA+PiA+PiA+KmFyZykN Cj4gPg0KPiA+PiA+PiA+DQo+ID4NCj4gPj4gPj4gPiAgICAgICAgICAgICAgICAgICAgaWYgKGV2 LnF1ZXVlX2lkID09IHR4X3F1ZXVlW2V2Lm1idWYtPnBvcnRdKSB7DQo+ID4NCj4gPj4gPj4gPiAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBpcGVsaW5lX2V2ZW50X3R4KGRldiwg cG9ydCwNCj4gPj4gPj4gPiAmZXYpOw0KPiA+DQo+ID4+ID4+ID4tICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIHctPnByb2Nlc3NlZF9wa3RzKys7DQo+ID4NCj4gPj4gPj4gPisNCj4g Pg0KPiA+PiA+PiA+KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qIHJlbGVhc2Ug YmFycmllciBoZXJlIGVuc3VyZXMNCj4gPj4gPj4gPisgc3RvcmVkDQo+ID5vcGVyYXRpb24NCj4g Pg0KPiA+PiA+PiA+KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICogb2YgdGhlIGV2 ZW50IGNvbXBsZXRlcyBiZWZvcmUNCj4gPj4gPj4gPisgdGhlIG51bWJlcg0KPiA+b2YNCj4gPg0K PiA+PiA+PiA+KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICogcHJvY2Vzc2VkIHBr dHMgaXMgdmlzaWJsZSB0bw0KPiA+PiA+PiA+KyB0aGUgbWFpbiBjb3JlDQo+ID4NCj4gPj4gPj4g PisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqLw0KPiA+DQo+ID4+ID4+ID4rDQo+ ID4+ID4+ID4rIF9fYXRvbWljX2ZldGNoX2FkZCgmKHctPnByb2Nlc3NlZF9wa3RzKSwNCj4gPjEs DQo+ID4NCj4gPj4gPj4gPisNCj4gPj4gPj4gPisgX19BVE9NSUNfUkVMRUFTRSk7DQo+ID4NCj4g Pj4gPj4gPiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRpbnVlOw0KPiA+ DQo+ID4+ID4+ID4gICAgICAgICAgICAgICAgICAgIH0NCj4gPg0KPiA+PiA+PiA+DQo+ID4NCj4g Pj4gPj4gPkBAIC0xODAsNyArMjEwLDEzIEBADQo+ID4NCj4gPj4gPj4gPnBpcGVsaW5lX3F1ZXVl X3dvcmtlcl9tdWx0aV9zdGFnZV9md2Qodm9pZCAqYXJnKQ0KPiA+DQo+ID4+ID4+ID4gICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBldi5xdWV1ZV9pZCA9DQo+ID4+ID4+ID4gdHhf cXVldWVbZXYubWJ1Zi0+cG9ydF07DQo+ID4NCj4gPj4gPj4gPg0KPiA+PiA+PiA+IHJ0ZV9ldmVu dF9ldGhfdHhfYWRhcHRlcl90eHFfc2V0KGV2Lm1idWYsDQo+ID4wKTsNCj4gPg0KPiA+PiA+PiA+ ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGlwZWxpbmVfZndkX2V2ZW50KCZl diwNCj4gPg0KPiA+PiA+PiA+UlRFX1NDSEVEX1RZUEVfQVRPTUlDKTsNCj4gPg0KPiA+PiA+PiA+ LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB3LT5wcm9jZXNzZWRfcGt0cysrOw0K PiA+DQo+ID4+ID4+ID4rDQo+ID4NCj4gPj4gPj4gPisgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAvKiByZWxlYXNlIGJhcnJpZXIgaGVyZSBlbnN1cmVzDQo+ID4+ID4+ID4rIHN0b3Jl ZA0KPiA+b3BlcmF0aW9uDQo+ID4NCj4gPj4gPj4gPisgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAqIG9mIHRoZSBldmVudCBjb21wbGV0ZXMgYmVmb3JlDQo+ID4+ID4+ID4rIHRoZSBu dW1iZXINCj4gPm9mDQo+ID4NCj4gPj4gPj4gPisgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAqIHByb2Nlc3NlZCBwa3RzIGlzIHZpc2libGUgdG8NCj4gPj4gPj4gPisgdGhlIG1haW4g Y29yZQ0KPiA+DQo+ID4+ID4+ID4rICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKi8N Cj4gPg0KPiA+PiA+PiA+Kw0KPiA+PiA+PiA+KyBfX2F0b21pY19mZXRjaF9hZGQoJih3LT5wcm9j ZXNzZWRfcGt0cyksDQo+ID4xLA0KPiA+DQo+ID4+ID4+ID4rDQo+ID4+ID4+ID4rIF9fQVRPTUlD X1JFTEVBU0UpOw0KPiA+DQo+ID4+ID4+ID4gICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7DQo+ ID4NCj4gPj4gPj4gPiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGV2LnF1ZXVl X2lkKys7DQo+ID4NCj4gPj4gPj4gPiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IHBpcGVsaW5lX2Z3ZF9ldmVudCgmZXYsDQo+ID4NCj4gPj4gPj4gPnNjaGVkX3R5cGVfbGlzdFtj cV9pZF0pOw0KPiA+DQo+ID4+ID4+ID5AQCAtMjE0LDcgKzI1MCwxMyBAQA0KPiA+DQo+ID4+ID4+ ID5waXBlbGluZV9xdWV1ZV93b3JrZXJfbXVsdGlfc3RhZ2VfYnVyc3RfdHgodm9pZCAqYXJnKQ0K PiA+DQo+ID4+ID4+ID4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoZXZb aV0ucXVldWVfaWQgPT0NCj4gPj4gPj4gPiB0eF9xdWV1ZVtldltpXS5tYnVmLQ0KPiA+DQo+ID4+ ID4+ID4+cG9ydF0pIHsNCj4gPg0KPiA+PiA+PiA+DQo+ID4+ID4+ID4gcGlwZWxpbmVfZXZlbnRf dHgoZGV2LCBwb3J0LCAmZXZbaV0pOw0KPiA+DQo+ID4+ID4+ID4gICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZXZbaV0ub3AgPQ0KPiA+PiA+PiA+IFJU RV9FVkVOVF9PUF9SRUxFQVNFOw0KPiA+DQo+ID4+ID4+ID4tICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICB3LT5wcm9jZXNzZWRfcGt0cysrOw0KPiA+DQo+ ID4+ID4+ID4rDQo+ID4NCj4gPj4gPj4gPisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgLyogcmVsZWFzZQ0KPiA+PiA+PiA+KyBiYXJyaWVyIGhlcmUgZW5z dXJlcyBzdG9yZWQNCj4gPg0KPiA+PiA+PiA+b3BlcmF0aW9uDQo+ID4NCj4gPj4gPj4gPisgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKiBvZiB0aGUgZXZl bnQNCj4gPj4gPj4gPisgY29tcGxldGVzIGJlZm9yZSB0aGUNCj4gPg0KPiA+PiA+PiA+bnVtYmVy IG9mDQo+ID4NCj4gPj4gPj4gPisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgKiBwcm9jZXNzZWQNCj4gPj4gPj4gPisgcGt0cyBpcyB2aXNpYmxlIHRvIHRo ZSBtYWluDQo+ID4NCj4gPj4gPj4gPmNvcmUNCj4gPg0KPiA+PiA+PiA+KyAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqLw0KPiA+DQo+ID4+ID4+ID4rDQo+ ID4+ID4+ID4rIF9fYXRvbWljX2ZldGNoX2FkZCgmKHctDQo+ID4NCj4gPj4gPj4gPj5wcm9jZXNz ZWRfcGt0cyksIDEsDQo+ID4NCj4gPj4gPj4gPisNCj4gPl9fQVRPTUlDX1JFTEVBU0UpOw0KPiA+ DQo+ID4+ID4+ID4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgY29udGludWU7DQo+ID4NCj4gPj4gPj4gPiAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIH0NCj4gPg0KPiA+PiA+PiA+DQo+ID4NCj4gPj4gPj4gPkBAIC0yNTQsNyArMjk2 LDEzIEBADQo+ID4NCj4gPj4gPj4gPnBpcGVsaW5lX3F1ZXVlX3dvcmtlcl9tdWx0aV9zdGFnZV9i dXJzdF9md2Qodm9pZCAqYXJnKQ0KPiA+DQo+ID4+ID4+ID4NCj4gPg0KPiA+PiA+PiA+ICAgIHJ0 ZV9ldmVudF9ldGhfdHhfYWRhcHRlcl90eHFfc2V0KGV2W2ldLm1idWYsIDApOw0KPiA+DQo+ID4+ ID4+ID4NCj4gPj4gPj4gPiBwaXBlbGluZV9md2RfZXZlbnQoJmV2W2ldLA0KPiA+DQo+ID4+ID4+ ID4NCj4gPg0KPiA+PiA+PiA+ICAgIFJURV9TQ0hFRF9UWVBFX0FUT01JQyk7DQo+ID4NCj4gPj4g Pj4gPi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHct PnByb2Nlc3NlZF9wa3RzKys7DQo+ID4NCj4gPj4gPj4gPisNCj4gPg0KPiA+PiA+PiA+KyAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiByZWxlYXNlDQo+ ID4+ID4+ID4rIGJhcnJpZXIgaGVyZSBlbnN1cmVzIHN0b3JlZA0KPiA+DQo+ID4+ID4+ID5vcGVy YXRpb24NCj4gPg0KPiA+PiA+PiA+KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAqIG9mIHRoZSBldmVudA0KPiA+PiA+PiA+KyBjb21wbGV0ZXMgYmVmb3Jl IHRoZQ0KPiA+DQo+ID4+ID4+ID5udW1iZXIgb2YNCj4gPg0KPiA+PiA+PiA+KyAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqIHByb2Nlc3NlZA0KPiA+PiA+ PiA+KyBwa3RzIGlzIHZpc2libGUgdG8gdGhlIG1haW4NCj4gPg0KPiA+PiA+PiA+Y29yZQ0KPiA+ DQo+ID4+ID4+ID4rICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICovDQo+ID4NCj4gPj4gPj4gPisNCj4gPj4gPj4gPisgX19hdG9taWNfZmV0Y2hfYWRkKCYo dy0NCj4gPg0KPiA+PiA+PiA+PnByb2Nlc3NlZF9wa3RzKSwgMSwNCj4gPg0KPiA+PiA+PiA+Kw0K PiA+X19BVE9NSUNfUkVMRUFTRSk7DQo+ID4NCj4gPj4gPj4gPiAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIH0gZWxzZSB7DQo+ID4NCj4gPj4gPj4gPg0KPiA+PiA+PiA+IGV2W2ld LnF1ZXVlX2lkKys7DQo+ID4NCj4gPj4gPj4gPg0KPiA+PiA+PiA+IHBpcGVsaW5lX2Z3ZF9ldmVu dCgmZXZbaV0sDQo+ID4NCj4gPj4gPj4gPi0tDQo+ID4NCj4gPj4gPj4gPjIuMTcuMQ0KPiA+DQoN Cg==