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 C7A7AA034D; Thu, 6 Jan 2022 09:41:51 +0100 (CET) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 74B5341157; Thu, 6 Jan 2022 09:41:38 +0100 (CET) Received: from NAM10-BN7-obe.outbound.protection.outlook.com (mail-bn7nam10on2139.outbound.protection.outlook.com [40.107.92.139]) by mails.dpdk.org (Postfix) with ESMTP id 1BB33406B4 for ; Wed, 5 Jan 2022 18:42:53 +0100 (CET) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=kxfit6fmxeYB8a57tZzl8iUPxTmIBrZUy7VcoC10RTkrEm2dtUegOemgBObY5Y0zEdAaZRROYY1+/BKZe2If7kK5qBWdWlJpRcu8cotb8fpI+5G4irCTwdkUlYNOjA+B2tQI9LxItFjMoAPvY2G5nNW0n3q9zSUSHtvo9hgEm644QS3F2B2R3MgelaR52sLoI7rT6lnvXgRaRmDjO1KxccVagiA6mWrk/EYduhFJRvAeTMdcYCM+GVWn0lnsRzJwwQRMXRi+i5lZg9xE+b2srACpJmg6VuCpDVTIjjBEZjnNi56Wc44QaNPnWdgjqxlO8uAcjrhx89W28NjOG3Ugjw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=Qnj0aWiHiqHcL4kqV7RuuOGlKvU3KQsFkLDlb4g2yZ0=; b=SGO2nJ6FbHo8FEWZyjL21BmXTLpNhvZ0gXTL/58O7y3yk9YONx4powQNmNc2F166PtDiA7iWoL1frj+uaoEgyhhmCX6LcvGYzoSx8XHeUAPqghYjgWBYsr0SIzhdahSm/LgtIZreB6hveLTiwEZ4r7kZ5JqiukrttE4GYEiXzEGphtDySQAli9N4s1uSxVja//gzqfPteXIQ8H4sI8NNHh5z+VrJ9m1JA7wYzIUM43DCbc0AQAc12TmSbGlq3MqkHSnypcoPRdrdN0uC+11LU7vgXQqzErlpADB+y7+dkTCMQlhK3AOmMit0GOjEinJRaWSuvMcLImpMmIkK+9ESYQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=gigamon.com; dmarc=pass action=none header.from=gigamon.com; dkim=pass header.d=gigamon.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gigamon.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=Qnj0aWiHiqHcL4kqV7RuuOGlKvU3KQsFkLDlb4g2yZ0=; b=MFRBo830Y6kyMGknMsi8Ra+igP3j4AQ83dnt5cZQthP6KIW9D2bkeVZVXCKg3X3OG6IXKP8i9tF390i38JpK1XjrU8BBdkZgB/a9yKuVhiRgR6Pp7SQxzu5AUSQsi940mgr/Z++X1/KUD5dBogc6PD2h+tYHKAvdhBKqwM/L3KA= Received: from SN1PR12MB2527.namprd12.prod.outlook.com (2603:10b6:802:23::10) by SN1PR12MB2525.namprd12.prod.outlook.com (2603:10b6:802:29::28) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4867.7; Wed, 5 Jan 2022 17:42:49 +0000 Received: from SN1PR12MB2527.namprd12.prod.outlook.com ([fe80::7c60:e584:4a2b:94f]) by SN1PR12MB2527.namprd12.prod.outlook.com ([fe80::7c60:e584:4a2b:94f%7]) with mapi id 15.20.4867.009; Wed, 5 Jan 2022 17:42:49 +0000 From: Soumya Muralidhar To: Stephen Hemminger CC: "dev@dpdk.org" Subject: Re: Add timestamp to dpdk.log Thread-Topic: Add timestamp to dpdk.log Thread-Index: AQHYAZ90oYP3GMQIeESqVACdem5WHaxUnC2A//+RxgA= Date: Wed, 5 Jan 2022 17:42:49 +0000 Message-ID: <892917C6-9F3F-4AF0-9429-A4AC19DC47BC@gigamon.com> References: <25E66ADE-793E-4C7E-A70F-29EFD2AE7CEA@gigamon.com> <20220105081719.10ede5a5@hermes.local> In-Reply-To: <20220105081719.10ede5a5@hermes.local> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: authentication-results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=gigamon.com; x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: 76eca8af-467b-49e1-b0bc-08d9d072cada x-ms-traffictypediagnostic: SN1PR12MB2525:EE_ x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:9508; x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: DZOgRMusQxGzMjrSHCwMpZDkK3CkP1hkvA4+F+NsQs5zZRqYYqo+JhnfGLp/MOrC4qsINe78VMWO2W9jLDcG6JAIMeFWODNqBm+8Qcmaw6iViTrVdnJRGeEy6QNYj3fjFwls9KjZQ9x1gQ0FUoCFRedOF3m2PGyHrVNmq5ZjZNwsH4Lm0t6sYhCfVLOXJqA3CXOxXNrSQf8C6sYJXINEYR+/50OWdkbro/V4j6fLegT1ub74cUVrgtrJ9wiW5prNxvsJHhYwRLjrXtw1qeTfiMzjMo+4XViMMUwZXf2DyqSo1KHR4v/YWfZlmme5qKuhYUXFjjdFApDhSTbiKceeLddj6IFneEH1WIThrTAHHPj7KquskJEgYvMMZVfKAPkgsC0Ho8LyQQlpBBz4EoHXiIuNwJQ3pSgK9mNdR4nf354eWw83nCsCySzi36+ju7nKt8nSpmGpqAD4pG1Pp1TrSljtMudL+qoNOyhgLMlKLg0y6X7rU0VjpmEKFnWj8w2SX7BgSK1yYST+NYigFzVykPRp/5jn1wQ8PhInzdODH8uR64sv/VsVkXsyyPMyC0zQFAHFqQWysuZvD699edlqbTz1ob3reh1vLXmD54P7QlwPMM8B3/+MUblAtmv8CGcR4w0+wWRmSPlxrr1xlEVzElCn38tKlW18r0zHvdVSnluuL/GSVygwQyPQsUxDbIAoCRw4NhUia3QEGNpUusBZpjtxZ8rPbM2GZLihlrgyicQ= x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:SN1PR12MB2527.namprd12.prod.outlook.com; PTR:; CAT:NONE; SFS:(366004)(86362001)(2906002)(83380400001)(76116006)(91956017)(64756008)(66446008)(44832011)(122000001)(38100700002)(6916009)(316002)(71200400001)(36756003)(8936002)(66556008)(66476007)(66946007)(6512007)(6486002)(5660300002)(6506007)(38070700005)(2616005)(8676002)(186003)(26005)(508600001)(4326008)(33656002)(45980500001); DIR:OUT; SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?Z21UYVE4MkQ4MVJZbmsvNHdOM3czUzlxblZkV3o4cUVvRU5tY1BFZkV3NEJ3?= =?utf-8?B?a0FaYnM5U0k0TkFrQTAzOUVIL0RHWldzU0RQUU0xZWtJNWQvbXZOR2h4OERF?= =?utf-8?B?a2ljVE1ic3k0b3gxNXZOV1VTK3JBeUlXeUNnOEJjUk5OdVd1L1lvL3RiM0Y0?= =?utf-8?B?NDJYUjR2Mmd1eE5Jc2FrZ2pVUUJlN1FMRUpCdUg3L0ZzR3hKS0F1c0t1UFhU?= =?utf-8?B?NmQ1R1pCdytrYml0cHoxUTBOaS9aa2hqaDRzelhZWjlmZXMzWk9RcExsZi9N?= =?utf-8?B?YUxkUzkrcUtxZ3NSQzNvemlYZ2sxcG9ad0JEeWpBVnBaNkhBQWJJMm8wWGlS?= =?utf-8?B?RS9rR1NZbnUzbmozMGp1MFdzZEdGRWpDWVU2YjA1YzVCcXJubVdCTk93MThD?= =?utf-8?B?dFZaYWFKTXRGZ0FEM2lOZ1ZWemc2WU5pZmdUaEFIVlh4dXVFT3h2cEZWTzdI?= =?utf-8?B?MkM4OGlwcFNXV3IzaGkxbmo3M3JHaDh4V2pMRzc1WTB5enhHNkp1S2NESTVW?= =?utf-8?B?SGY2dWljUWlFazg4blcrWVhOayt5Z0pBMG5uN3l4c0s4NnNVY2JjZlFkNHpw?= =?utf-8?B?bW9QZnZGNjZSUzNCd04wOFgvbFk4dk5OR2s1ZFJvWlAxZHQyQTlscFc4SjJX?= =?utf-8?B?MFI2VFg0SDFuekdUempaUVg4Zm1jN1FRa2pUYWZLOStRYU8wRnZrQzFQK3Ur?= =?utf-8?B?R3Y1M2JPU3FSQVRDRW9FV0d6UmdOZXRMc20xMWpsV1l6VmlLY3NOUUJJS25F?= =?utf-8?B?dWNvTEVJUFZiSnBUQ0RvSzViQjVvdHVIYlBQYU1heVVvclBTbGdCOGQxS0h1?= =?utf-8?B?YUliRThyVE9uSFEyS1hMV1ZSSDEyYllBbWM2TXdKK05hNDZqWFl6aWdjR2pN?= =?utf-8?B?eVpEaG45UCthTTc2QWF6RFM4enk0WnVqb2Q5YjQ3WFY2L0xmV0xUcG1QWm5D?= =?utf-8?B?K1RhNXJ1LzIycHNaV2I2N0Y4aHIxRGtqUFNUWHBkQmZJNWFqdVV6dEhiV2lF?= =?utf-8?B?bUJPMlI3UGc4aWQwT1dqRXUrRnhWM3p5NlhldEdUY3lKU1hnYXprT1BHUENL?= =?utf-8?B?ditpem1Yd0pyRTlHSlNBaE9mbnJ5cTRsTlhPL1dNdVAzU3lQWVZMYzJTMTdI?= =?utf-8?B?MmswU2V3VlpsVDh0bm1RMERZS0NNUHhPQ1dVNGx6aXVBWXVlNVFuWFY1d0Na?= =?utf-8?B?NDYybUdnQUIvQTZtaTFnZk9IVFUrY2R2TWs2YlIxQ1NidGdvMlJxRXYxQm84?= =?utf-8?B?QXQvQ2c1RUxQcVZDZ2syU1BhdVZnTXVVc0J4UkgyQ2xhY3NiZmVPTitJd0F1?= =?utf-8?B?MGtLeXlGaWsyQ0tJUmFMVWJNWEkxQkdXK3FZRG1RWGlDOXVMS01JOUl0NU15?= =?utf-8?B?VFBQQjRXVUQ2c0M0VGl4SHIwdG1rS1pKL2VKeUhNWXRKam93MHZxUTFZV01Q?= =?utf-8?B?cnRscld5TXErOWh2aEZ4a040VjE3RmxCaHpvbTBCRENMVHFrQlNvLzJGMDVK?= =?utf-8?B?M2NBRysxMThHbnVpcGRBR3hpK2pCVFhQWEs3WVJQOTN6ckwzb2VYUGVBZGJp?= =?utf-8?B?a0tQWlRQVnpvYS9XUWZDVmNUYTVxV0pVRFptMmFLQmJFUUVGQjIveDh5UEY0?= =?utf-8?B?VzMvSnUvSkpLaGd2b1BXUmEwRUpzQWpZTE5mMmJTMk5FZWk3a09mOCtiLzNL?= =?utf-8?B?SHBZR2Q5K3dPdjI4UmdyQzBUSnlsL2xYc21sczVzRHlZWmJlSzlOU3dFYkxC?= =?utf-8?B?OU1pczZGbUtQTUZvZlR2NFVEVnRDS2NYRGtEK0FkTktmSEpiWXNCcTM0YVcy?= =?utf-8?B?Rzh6SmkzNGJUNEJIaUhLVFJLZXMzbWRsbXpxWWtDSUVjSXVLOTJzUWlEa1dp?= =?utf-8?B?ck50ZDV1RGhabnZ0dGJKS2ZWWCswdGRPNUVHdkZjUDB3MDZqZ0lUSElHN2hr?= =?utf-8?B?V3B4MkdPRzM4aERqWHY2d2RJYlIyU2t6ZHNpMnU3a3hnNGJscDN0c1RZMWxz?= =?utf-8?B?K1MySHVBZ2t3UXZMNk94amFIcTJOdkVSa3YxaVNsRlpmT2ZVT00yamR5Y1hM?= =?utf-8?B?S2FlNlQ2ditnb1MrWVJUYWNjQW50KzZhYS9MUHFWNHkrd0k3MHF1VmFsek5a?= =?utf-8?B?UE1ucTFQbnlBcStScFRaTW5KR1l5ME1QK1pqUncwSkRCcTh3U3VCeVJPcWFB?= =?utf-8?B?YnIrbURiaE1ZZUNEdUw2MzA5ZERkNVptZ1hlU29GTFQ3YkpSNnEzZERMbnB6?= =?utf-8?Q?6SqpOWwYA6cGVrDGyAjWSFlISeX1eHm5rIi89xz8fM=3D?= Content-Type: text/plain; charset="utf-8" Content-ID: <1EB89498D8D2E947BDC5D36156FCD61E@namprd12.prod.outlook.com> Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-OriginatorOrg: gigamon.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: SN1PR12MB2527.namprd12.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 76eca8af-467b-49e1-b0bc-08d9d072cada X-MS-Exchange-CrossTenant-originalarrivaltime: 05 Jan 2022 17:42:49.6252 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 0927b619-f6e4-4461-bcda-333194268117 X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: 6Me/D4Q9cQGK18HkGG0gKeMYdasNmyg9IvV5Wu1yKGEKvjSL1Vg6+ZdmObpKEVRpVzonQl/5s5COUQ6ybpA9opikTwMlbPR7ObXxFxoka50= X-MS-Exchange-Transport-CrossTenantHeadersStamped: SN1PR12MB2525 X-Mailman-Approved-At: Thu, 06 Jan 2022 09:41:35 +0100 X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org SGkgU3RlcGhlbiwNCg0KVGhhbmtzIGZvciBnZXR0aW5nIGJhY2suIEJ1dCBJIGFtIGxvb2tpbmcg YXQgc3RvcmluZyBsb2dzIHdpdGggdGltZXN0YW1wcyBpbiBhIGZpbGUsIGJhc2ljYWxseSBzb21l dGhpbmcgc2ltaWxhciB0byBzeXNsb2cuIENvdWxkIHlvdSBoZWxwIG1lIHdpdGggdGhhdCA/DQoN ClJlZ2FyZHMsDQpTb3VteWENCg0K77u/T24gMS81LzIyLCA4OjE3IEFNLCAiU3RlcGhlbiBIZW1t aW5nZXIiIDxzdGVwaGVuQG5ldHdvcmtwbHVtYmVyLm9yZz4gd3JvdGU6DQoNCiAgICBXQVJOSU5H OiBUaGlzIGVtYWlsIG9yaWdpbmF0ZWQgZnJvbSBvdXRzaWRlIG9mIEdpZ2Ftb24uIFVzZSBjYXV0 aW9uIHdpdGggYW55IGxpbmtzIG9yIGF0dGFjaG1lbnRzLg0KDQoNCiAgICBZb3VyIG1lc3NhZ2Ug aXMgZ2FyYmFsZWQgd2l0aCBsb3RzIG9mIGJvZ3VzIFVSTCdzLiBQbGVhc2UgYXZvaWQgSFRNTCBt YWlsDQogICAgb3Igd2VpcmQgbGlua3MuDQoNCiAgICBJIHVzZSB0aGlzLiBUaGVyZSB3YXMgYSBt b3JlIGdlbmVyYWwgdmVyc2lvbiBzdWJtaXR0ZWQgYXMgYSBwYXRjaCB0bw0KICAgIERQREsgYnV0 IG5vIG9uZSBzZWVtZWQgaW50ZXJlc3RlZC4gIFRoZSByZWFzb24gZm9yIHJlZGlyZWN0aW5nIHN0 ZG91dA0KICAgIGlzIHRoYXQgYXJlIGxpYnJhcmllcyB3ZSB1c2UgdGhhdCBwcmludCB0byBzdGRv dXQgYW5kIHdhbnQgdG8gZ2V0IHRpbWVzdGFtcHMNCiAgICBmcm9tIHRoZW0gaWYgZGVidWdnaW5n IHN0YXJ0dXAgaXNzdWVzLg0KDQoNCiAgICAvKg0KICAgICAqIFNhbXBsZSBvZiByZWRpcmVjdGlu ZyBEUERLIGxvZyBzdHJlYW0uDQogICAgICoNCiAgICAgKiBJZiBwcm9ncmFtIGlzIHJ1biBmb3Ig ZGVidWdnaW5nIHRoZW4gc3Rkb3V0IHdpbGwgYmUgYSBjb25zb2xlIGFuZA0KICAgICAqIHB1dCBt ZXNzYWdlcyBvbnRvIGNvbnNvbGUgc3RyZWFtIHdpdGggdGltZXN0YW1wcy4gIE90aGVyd2lzZSwg anVzdA0KICAgICAqIHB1dCBtZXNzYWdlIG9udG8gc3RkZXJyIHdoaWNoIHN5c3RlbWQgam91cm5h bCBoYW5kbGVzLiAgTm8gbmVlZCBmb3INCiAgICAgKiBzeXNsb2cgYmVjYXVzZSB0aGF0IGNhdXNl cyBkdXBsaWNhdGUgbWVzc2FnZXMuDQogICAgICovDQoNCiAgICBzdGF0aWMgc3RydWN0IHRpbWVz cGVjIGxvZ190MDsgLyogU3RhcnQgcHJvZ3JhbSBpbiBtb25vdG9uaWMgdGltZSAqLw0KDQogICAg LyoNCiAgICAgKiBXcml0ZSBtZXNzYWdlIHRvIHN0YW5kYXJkIG91dHB1dCB3aXRoIHRpbWVzdGFt cC4NCiAgICAgKiBVc2Ugd3JpdGV2KCkgc28gdGhhdCB0aW1lc3RhbXAgYW5kIG1lc3NhZ2UgZG8g bm90IGdldCBpbnRlcmxlYXZlZC4NCiAgICAgKi8NCiAgICBzdGF0aWMgc3NpemVfdA0KICAgIGRw ZGtfbG9nX3R0eV93cml0ZShfX3J0ZV91bnVzZWQgdm9pZCAqY3R4LCBjb25zdCBjaGFyICpidWYs IHNpemVfdCBzaXplKQ0KICAgIHsNCiAgICAgICAgICAgIHN0cnVjdCB0aW1lc3BlYyB0czsNCiAg ICAgICAgICAgIHN0cnVjdCBpb3ZlYyBpb3ZbMl07DQogICAgICAgICAgICBjaGFyIHRidWZbNjRd Ow0KDQogICAgICAgICAgICAvKiBmb3JtYXQgdXAgbW9ub3RvbmljIHRpbWVzdGFtcCAqLw0KICAg ICAgICAgICAgY2xvY2tfZ2V0dGltZShDTE9DS19NT05PVE9OSUMsICZ0cyk7DQoNCiAgICAgICAg ICAgIHRzLnR2X3NlYyAtPSBsb2dfdDAudHZfc2VjOw0KICAgICAgICAgICAgdHMudHZfbnNlYyAt PSBsb2dfdDAudHZfbnNlYzsNCiAgICAgICAgICAgIGlmICh0cy50dl9uc2VjIDwgMCkgew0KICAg ICAgICAgICAgICAgICAgICAtLXRzLnR2X3NlYzsNCiAgICAgICAgICAgICAgICAgICAgdHMudHZf bnNlYyArPSBOU19QRVJfUzsNCiAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAgaW92WzBdLmlv dl9iYXNlID0gdGJ1ZjsNCiAgICAgICAgICAgIGlvdlswXS5pb3ZfbGVuICA9IHNucHJpbnRmKHRi dWYsIHNpemVvZih0YnVmKSwgIlslOGx1LiUwNmx1XSAiLA0KICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgdHMudHZfc2VjLCB0cy50dl9uc2VjIC8gMTAwMHUpOw0KDQogICAg ICAgICAgICAvKiBleHRyYSBjYXN0IGlzIHdvcmthcm91bmQgdG8gcmVtb3ZlIGNvbnN0IHF1YWxp ZmllciAqLw0KICAgICAgICAgICAgaW92WzFdLmlvdl9iYXNlID0gKHZvaWQgKikodWludHB0cl90 KWJ1ZjsNCiAgICAgICAgICAgIGlvdlsxXS5pb3ZfbGVuID0gc2l6ZTsNCg0KICAgICAgICAgICAg cmV0dXJuIHdyaXRldihTVERPVVRfRklMRU5PLCBpb3YsIDIpOw0KICAgIH0NCg0KICAgIHN0YXRp YyBjb29raWVfaW9fZnVuY3Rpb25zX3QgZHBka19sb2dfdHR5X2Z1bmMgPSB7DQogICAgICAgICAg ICAud3JpdGUgPSBkcGRrX2xvZ190dHlfd3JpdGUsDQogICAgfTsNCg0KICAgIC8qDQogICAgICog UHJpbnQgbWVzc2FnZSB0byBzdGRlcnIgd2l0aCBwcmlvcml0eSBmb3JtYXQgc28gdGhhdA0KICAg ICAqIFN5c3RlbWQgam91cm5hbCBjYW4gaGFuZGxlIGl0LiBBbHRlcm5hdGl2ZSB3b3VsZCBiZQ0K ICAgICAqIHRvIHVzZSBzeXNsb2cgb3IgdXNlIHNkX2pvdXJuYWw7IGJ1dCBsZXNzIGlzIG1vcmUu DQogICAgICovDQogICAgc3RhdGljIHNzaXplX3QNCiAgICBkcGRrX2xvZ193cml0ZShfX3J0ZV91 bnVzZWQgdm9pZCAqY3R4LCBjb25zdCBjaGFyICpidWYsIHNpemVfdCBzaXplKQ0KICAgIHsNCiAg ICAgICAgICAgIC8qIFN5c2xvZyBlcnJvciBsZXZlbHMgYXJlIGZyb20gMCB0byA3LCBEUERLIHVz ZXMgMSB0byA4ICovDQogICAgICAgICAgICBpbnQgcHJpb3JpdHkgPSBydGVfbG9nX2N1cl9tc2df bG9nbGV2ZWwoKSAtIDE7DQoNCiAgICAgICAgICAgIGZwcmludGYoc3RkZXJyLCAiPCVpPiUuKnNc biIsIHByaW9yaXR5LCAoaW50KXNpemUsIGJ1Zik7DQogICAgICAgICAgICByZXR1cm4gc2l6ZTsN CiAgICB9DQoNCiAgICBzdGF0aWMgY29va2llX2lvX2Z1bmN0aW9uc190IGRwZGtfbG9nX2Z1bmMg PSB7DQogICAgICAgICAgICAud3JpdGUgPSBkcGRrX2xvZ193cml0ZSwNCiAgICB9Ow0KDQogICAg LyoNCiAgICAgKiBPdmVycmlkZSBkZWZhdWx0IERQREsgbG9nZ2luZyB3aGljaCBkdXBsaWNhdGVz IG1lc3NhZ2VzDQogICAgICogdG8gYm90aCBzdGRlcnIgYW5kIHN5c2xvZy4NCiAgICAgKi8NCiAg ICBzdGF0aWMgdm9pZCBsb2dfaW5pdCh2b2lkKQ0KICAgIHsNCiAgICAgICAgICAgIGJhY2twbGFu ZV9sb2d0eXBlID0gcnRlX2xvZ19yZWdpc3RlcigiYmFja3BsYW5lIik7DQogICAgICAgICAgICBp ZiAoYmFja3BsYW5lX2xvZ3R5cGUgPj0gMCkNCiAgICAgICAgICAgICAgICAgICAgcnRlX2xvZ19z ZXRfbGV2ZWwoYmFja3BsYW5lX2xvZ3R5cGUsIFJURV9MT0dfSU5GTyk7DQoNCiAgICAgICAgICAg IGlmIChpc2F0dHkoU1RET1VUX0ZJTEVOTykpIHsNCiAgICAgICAgICAgICAgICAgICAgY2xvY2tf Z2V0dGltZShDTE9DS19NT05PVE9OSUMsICZsb2dfdDApOw0KDQogICAgICAgICAgICAgICAgICAg IHN0ZG91dCA9IGZvcGVuY29va2llKE5VTEwsICJ3KyIsIGRwZGtfbG9nX3R0eV9mdW5jKTsNCiAg ICAgICAgICAgICAgICAgICAgc2V0bGluZWJ1ZihzdGRvdXQpOw0KICAgICAgICAgICAgICAgICAg ICBydGVfb3BlbmxvZ19zdHJlYW0oc3Rkb3V0KTsNCiAgICAgICAgICAgIH0gZWxzZSB7DQogICAg ICAgICAgICAgICAgICAgIEZJTEUgKmpmOw0KDQogICAgICAgICAgICAgICAgICAgIGpmID0gZm9w ZW5jb29raWUoTlVMTCwgIncrIiwgZHBka19sb2dfZnVuYyk7DQogICAgICAgICAgICAgICAgICAg IHJ0ZV9vcGVubG9nX3N0cmVhbShqZik7DQogICAgICAgICAgICB9DQogICAgfQ0KDQogICAgLyog UHV0IERQREsgbG9nIGJhY2sgb250byBzdGRlcnIgKi8NCiAgICBzdGF0aWMgdm9pZCBsb2dfdW5p bml0KHZvaWQpDQogICAgew0KICAgICAgICAgICAgRklMRSAqbG9nZjsNCg0KICAgICAgICAgICAg bG9nZiA9IHJ0ZV9sb2dfZ2V0X3N0cmVhbSgpOw0KICAgICAgICAgICAgaWYgKGxvZ2YgIT0gc3Rk ZXJyKSB7DQogICAgICAgICAgICAgICAgICAgIHJ0ZV9vcGVubG9nX3N0cmVhbShzdGRlcnIpOw0K ICAgICAgICAgICAgICAgICAgICBmY2xvc2UobG9nZik7DQogICAgICAgICAgICB9DQogICAgfQ0K DQpUaGlzIG1lc3NhZ2UgbWF5IGNvbnRhaW4gY29uZmlkZW50aWFsIGFuZCBwcml2aWxlZ2VkIGlu Zm9ybWF0aW9uLiBJZiBpdCBoYXMgYmVlbiBzZW50IHRvIHlvdSBpbiBlcnJvciwgcGxlYXNlIHJl cGx5IHRvIGFkdmlzZSB0aGUgc2VuZGVyIG9mIHRoZSBlcnJvciBhbmQgdGhlbiBpbW1lZGlhdGVs eSBkZWxldGUgaXQuIElmIHlvdSBhcmUgbm90IHRoZSBpbnRlbmRlZCByZWNpcGllbnQsIGRvIG5v dCByZWFkLCBjb3B5LCBkaXNjbG9zZSBvciBvdGhlcndpc2UgdXNlIHRoaXMgbWVzc2FnZS4gVGhl IHNlbmRlciBkaXNjbGFpbXMgYW55IGxpYWJpbGl0eSBmb3Igc3VjaCB1bmF1dGhvcml6ZWQgdXNl LiBOT1RFIHRoYXQgYWxsIGluY29taW5nIGVtYWlscyBzZW50IHRvIEdpZ2Ftb24gZW1haWwgYWNj b3VudHMgd2lsbCBiZSBhcmNoaXZlZCBhbmQgbWF5IGJlIHNjYW5uZWQgYnkgdXMgYW5kL29yIGJ5 IGV4dGVybmFsIHNlcnZpY2UgcHJvdmlkZXJzIHRvIGRldGVjdCBhbmQgcHJldmVudCB0aHJlYXRz IHRvIG91ciBzeXN0ZW1zLCBpbnZlc3RpZ2F0ZSBpbGxlZ2FsIG9yIGluYXBwcm9wcmlhdGUgYmVo YXZpb3IsIGFuZC9vciBlbGltaW5hdGUgdW5zb2xpY2l0ZWQgcHJvbW90aW9uYWwgZW1haWxzICji gJxzcGFt4oCdKS4NCg==