Received: by 2002:a05:6a10:2726:0:0:0:0 with SMTP id ib38csp1484971pxb; Wed, 30 Mar 2022 04:48:26 -0700 (PDT) X-Google-Smtp-Source: ABdhPJwWA1aAdwmkB3iodeM/2Vwaa1wZF5TWSSi9AOcEI7o65LPQ8ftiH5TZ91hU3agGgLqvKb80 X-Received: by 2002:a17:90a:bf0f:b0:1c7:c762:5892 with SMTP id c15-20020a17090abf0f00b001c7c7625892mr4512224pjs.234.1648640906087; Wed, 30 Mar 2022 04:48:26 -0700 (PDT) ARC-Seal: i=2; a=rsa-sha256; t=1648640906; cv=pass; d=google.com; s=arc-20160816; b=a0j/JJD52K9t0961s/NCQvU3krKPajdSqk/tLLdvgqBpV+D6E8CJal4TO3e97AcCTe xkMUYGQZw2KVp/rQmOLQd/LACMMN9F2NMw5FRBeFLBzNAqCUzinOW9rZNZX71HunUveR Bwwot8fSAE++TZOIaxxR2yxKg69XzX7WkEYo4m2lj8mAHse3GXWdMaGxZgGuZhaJ2SDE M4tk7P5R+uOuPL4sDpG6wjVsPHPfJWkOLwb+0NToMaKd/aOvAYpfbk94CZYwq9ely7kp GMdAs43q++9Tr7oVQDNTDvOjBLi3bDheLhJKM0G2HqwOiiA/0IMv2NKQnr6figIh7l3l qLEg== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:mime-version:content-transfer-encoding :content-id:user-agent:content-language:accept-language:in-reply-to :references:message-id:date:thread-index:thread-topic:subject:cc:to :from; bh=yOWsq64ViyDVLmJkeQcxMFmXYeO3HiiZXE/ueFYkzU8=; b=YN7lmpAFd4QFcoZbyHYwyQO/pRmEAPmLjmtNb2W9zsg8/y3WeikctnK/4Z9mHyaw9b n4LGjbXC3AApPnP/215SXW/grdSp10J61hlLkyXWUG1jWaHS4ZYARNU889eggDkBvxbv QfOWLUL06WfmZ5kPCbBUU4jzC+VeRcBuHpSK713nGNDc+In/S8g/RqFyPwG6kh0gCI3t 40UUz0+egCjEIl9q/qP7S/XxuzksDvJ/VilK0eLC/Rl8IhT/1jBUHBYkE+shOlE+n5DH fJypKRDSludiHiCQGUGmuWx+K1A8WyAlgnLVGE9zjDhevkQiWLNIquwxj2qz+meSTMgO anKw== ARC-Authentication-Results: i=2; mx.google.com; arc=pass (i=1 spf=pass spfdomain=csgroup.eu dkim=pass dkdomain=csgroup.eu dmarc=pass fromdomain=csgroup.eu); spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id q19-20020a170902b11300b00153b4bc544bsi6859740plr.312.2022.03.30.04.48.11; Wed, 30 Mar 2022 04:48:26 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; arc=pass (i=1 spf=pass spfdomain=csgroup.eu dkim=pass dkdomain=csgroup.eu dmarc=pass fromdomain=csgroup.eu); spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S240210AbiC2ReI (ORCPT + 99 others); Tue, 29 Mar 2022 13:34:08 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:59504 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S236824AbiC2ReF (ORCPT ); Tue, 29 Mar 2022 13:34:05 -0400 Received: from FRA01-MR2-obe.outbound.protection.outlook.com (mail-eopbgr90073.outbound.protection.outlook.com [40.107.9.73]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id E32F0198ED3 for ; Tue, 29 Mar 2022 10:32:21 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=V/JwN8p85r5Xv5LlCT21dUu49gyE48a8lPioy02m1d+OELUirFFpQ4bQPVBBxqa8Q1GS1WVMztnJPc9yC1IYzj3g9W2vSNRbYPGIA9/xJ6HHw9xH63zeJRr7wjzjg1IOnIjWflKhhCUjuDdEJSPFduEVr33qsTM4I0KEUufyuu1eImZV585R50C5cy9o5ddGo4f+KqMDQ/0TG0xjGC6h5WbuX5vq+wazAY6s5iKoKD2zT7jK4sIwIeE15Kvi/WZOSaJdgQG7c6lPbzMqGxUXXtTgOawYaaLyNshmk74E61y6aj3MCMcs/CHrnBTT4WZNBJlH/fz1vJRsbF/xmRJNtA== 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=yOWsq64ViyDVLmJkeQcxMFmXYeO3HiiZXE/ueFYkzU8=; b=MYE9rhw6TkqpBT63FUJE6iWi7T2uiNyifCKw3EXWwm7ZBtsYYiSmU+oG3EcFyPb109fmASi4aQMFdPYOzpFU1jtQRTI+22pgZh+fT5cyAH1E+xJS2O2wZkT6S969sjHBvTw3yX8HlFrSN5neqkrPDSbhdQRflRjlT3dBpfPp9IwdlXjXiLvTOCmVIS+VpQ/UlI6osDcOz+GnPNGA6eKnI+kOodbdDLVmft85JNmlnw3rAiSiumJKaGZFUKkG2WPLLbhxJwyp9//hSpAI8iarxZfHVEEHduXTmtFH/veff67XNcLSaYYkzYpGBEjfhux0G+q6c3nJvu45z5FImIvLIQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=csgroup.eu; dmarc=pass action=none header.from=csgroup.eu; dkim=pass header.d=csgroup.eu; arc=none Received: from MRZP264MB2988.FRAP264.PROD.OUTLOOK.COM (2603:10a6:501:31::15) by PR0P264MB3015.FRAP264.PROD.OUTLOOK.COM (2603:10a6:102:1d6::15) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5102.17; Tue, 29 Mar 2022 17:32:18 +0000 Received: from MRZP264MB2988.FRAP264.PROD.OUTLOOK.COM ([fe80::cd2f:d05d:9aa3:400d]) by MRZP264MB2988.FRAP264.PROD.OUTLOOK.COM ([fe80::cd2f:d05d:9aa3:400d%6]) with mapi id 15.20.5102.023; Tue, 29 Mar 2022 17:32:18 +0000 From: Christophe Leroy To: Michael Ellerman , Josh Poimboeuf CC: Peter Zijlstra , "linux-kernel@vger.kernel.org" , "rostedt@goodmis.org" , "aik@ozlabs.ru" , Sathvika Vasireddy , "naveen.n.rao@linux.vnet.ibm.com" , "linuxppc-dev@lists.ozlabs.org" Subject: Re: [RFC PATCH 3/3] objtool/mcount: Add powerpc specific functions Thread-Topic: [RFC PATCH 3/3] objtool/mcount: Add powerpc specific functions Thread-Index: AQHYOsOkMhd+XrYXYE6fzWpV8XELvKzS/yUAgAJH8wCAAQzdAIAAXGKA Date: Tue, 29 Mar 2022 17:32:18 +0000 Message-ID: References: <20220318105140.43914-1-sv@linux.ibm.com> <20220318105140.43914-4-sv@linux.ibm.com> <0b55f122-4760-c1ba-840a-0911cefec2ad@csgroup.eu> <20220328195920.dqlfra3lcardko6r@treble> <87mth9ezml.fsf@mpe.ellerman.id.au> In-Reply-To: <87mth9ezml.fsf@mpe.ellerman.id.au> Accept-Language: fr-FR, en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: user-agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101 Thunderbird/91.7.0 authentication-results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=csgroup.eu; x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: be66235b-c72c-4073-bbc2-08da11aa1316 x-ms-traffictypediagnostic: PR0P264MB3015:EE_ x-microsoft-antispam-prvs: x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: AdlrteMKunkt1t3jEuzZayS5fO5xtQFtrXO95cwQNS2eUPf4KZV/n9MgRRnVa1JCkPvKQI/Gjm4uYk8arcQf/jBNPmnsXRFHJeWAqhz0LjPyLGSUwo9hEF8JVjIhddyfOz7ioDGsq1AZs7I7rXsQDpCc4CfOj0o6/kBOd9UbfNQ7pL8pcOwKT+I9KJjklG9gNVrEzg4IuDD89P4BGrNfMAolLsBZ9Mt0x0/fYu27zJdiKz15rMyuQM1NOtUfY6jVaY2cz30Ym/VRCbjjhvhrXMPnU8l12WlVwpDaHXsjh803J1eucmHXc7kvVdkV/0OoV4HdbetM6Efp9+Mg+h156M6bejNeWrDFyAi9xTjNt5sYlgA/2hTMVuP+qQ0v/8TDbS1xmUzY33qEXUkkXAj5echkV/whO6jTkkct4KZTYzDEbUoCUG2j3nbEnyUKRE50b7TLEjXMV9m4sFus+XXld8d97750C4ys8KruG7K/QpxCfPxCnTFeJnDeiEDZxVOK8R4AWOkhUQoa7WN1VyORriGS3myh1PsA10wfw183AP/S+K7rhyL4f3byZGM+8oXaSPnh4sE9vOvcmj/Ks6OcC9PFxOwom1FyBAUjevh84fHjxKheb1kLald7YLWdDtbqBE2A3sNhWTnrfs8VAVFj/69EwtXW2xabgd9gzUYG355cH0iZ22UpYsgAVRZVN5Kv8fc543mJ/Y8FQUG+tAD+0MkTwfDwGpu9N1XBahypImx5EzWhc7UYnfaMDvbqfTq9f7Gsaa3d7LqLtPwNd0/PXdMcjylELGpe2d6B3m7rU6qFfSGvNOfdznFju5CxuzINs9Jh0BZ+HmXGbTVjhTaU7F0n7A+uGSjbUrYUTncYGlQ= x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:MRZP264MB2988.FRAP264.PROD.OUTLOOK.COM;PTR:;CAT:NONE;SFS:(13230001)(4636009)(366004)(110136005)(54906003)(76116006)(6512007)(44832011)(66946007)(66476007)(66556008)(2616005)(64756008)(2906002)(6486002)(4326008)(91956017)(8676002)(38070700005)(66446008)(316002)(36756003)(38100700002)(31696002)(83380400001)(5660300002)(122000001)(26005)(966005)(186003)(86362001)(31686004)(508600001)(8936002)(6506007)(66574015)(71200400001)(45980500001)(43740500002);DIR:OUT;SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?REVTSlpZU3VtaXA5Sjg2SDV2cGo5VEh1MGZ2VGRkKzVYb2U0Mnk3YjR2UUlL?= =?utf-8?B?a3hKeDE3bUUwWEY5VVpVeWRuS0pYZGhCaUVhMWVjTkRtWmFOalc1bTI0L0Nv?= =?utf-8?B?OEtFb3lLTExSeFUyWHJ2bnd1SlRaZXk1MEdxdHROTW5SZyt4TTJ2dXRXVHpt?= =?utf-8?B?QUg5bCtSSXRHN3h2K014bU9JWWh6RzF3aTM3b0tjWXdISk1ZT0pncnBHTTZI?= =?utf-8?B?S0ZGbGtYOTB0NHYyMjYwVm9wR1plN2RhM3ozK2xIK2JmU28wWlJ3S1Q1M0NF?= =?utf-8?B?cWk0Ylk2dEtUUlVWTndHVDNVRk5JdEJ2bVZGYzdXQTA1VlNFQTBrZjNiY0RS?= =?utf-8?B?L1o1TWVPWlIySjlhbUY4clFFUmtvMmdnSHFFVGtMMnQvYTZ3SjlNSndKYWJU?= =?utf-8?B?eFdoRFFmRnRoa1NySHl2czczM0szbzdha3BDYVF4QXVQcEVGTStRNFYrQXY5?= =?utf-8?B?SGVSRTJaMlJsMEVYTVAvYmpOdHlTdDJzZXhrUDc1c1kwTXhTZlA2RG02R05I?= =?utf-8?B?dHNsQnNwYTVCUUxMVVA3VFI5ZlRCQnRIbTlIL1EwVWYwbERoTTY2ZDhYdUE1?= =?utf-8?B?aHVRQkMvY2xYK21XN3VDaWVKUXlkV2VhUnhsTGFNOXA5dGd2eDVmMHprSGZm?= =?utf-8?B?QUg0cTVHYXlUdnFUNDVkT3NXYTVDYjBvMndWZ3dwWEYxUDVrTEF4OU9MSkIx?= =?utf-8?B?Q1dpVytCTDdGT1psRjhVbEZTSlpib3pCbnRnWDJLQnMxTVpzOVU5dGxubXNp?= =?utf-8?B?Tk9NZEpqeGhqcXZjS0t1eVdWMmk3bnRVMmI3QTJaSDhNc3dkODhYaUkwMyth?= =?utf-8?B?M0NuTnlmZ3crdnVjMDV3OTNXVkdvZlJ2UXFRZUZuTDIrK3R3Qk9WQkZWdjZY?= =?utf-8?B?T3drYWVlNC9McjNSZDJyejBiWUs4YXp0dzd0Qis5OXY1YzBnWFZmOTd6Y2sv?= =?utf-8?B?WGdxanB0YnZMeTNIbEZHNHd3dkUxeldDNDk3VTNCVkVvRUNqNFhOZGF5VDVy?= =?utf-8?B?cVRDY2RhWlNaMUgrN0w5STJxVWwyRUd2UndQVTFWc1JrSG1kbkhmNEFhODRM?= =?utf-8?B?VGIxcDQ4V0N2Rzg1eU1hVnpkRmowNFNDUW12V1BaTUJwN2FMS2lqR3lmMW1i?= =?utf-8?B?Wkp1MXhRNTFFV0szc29rMHA0ZjVYbFNFZm9LVTkwbjdsMm9iZlNNQWtWRnN0?= =?utf-8?B?M3ZmSG9ZT3Fpek1kdkRsK2xhS1AzcHNWOTIwZXV5OE9INDJOV0dJTnJiN0J1?= =?utf-8?B?NzlLT1FVVGNsWDJoR3E0eXhGWHdzZ3NHZ0xRd1o5Q1VVZDRJcUsvMVdPczlx?= =?utf-8?B?ZE9jN09RTW5FTWgyRHlkMXpqTTRjMndHZ2orOHB4YVJZRUtqWTYwWGc0STUz?= =?utf-8?B?dWdFOVFGVHB6S2pUeitHVjM3SWs4a2dOUk4yaHBWd1FIUk5nUWlidU5wSjky?= =?utf-8?B?bURqQXFQS2ZNSjBiZmdveUoyVGhKV2NHeG9xcFJqNHpKQmxqY1lqcUJRMXdo?= =?utf-8?B?TzAreFkzc1BQUmZ5Y1hhZFNLRjB3MkczclpKUG1jc3pEVnZ4VjhoUXpmZjRn?= =?utf-8?B?ZTIvWWFiM0Q4OStwSFpVVHl3U0MzK3lCcWpKKzlkMkRybnNnS1dUUFJSUGdm?= =?utf-8?B?dnNVVXRVQUxtQXhhK1JRaHN3dVRNZjhpM3dBbXBJbXpJV2RlNWxnV2hOL1lt?= =?utf-8?B?NnkxZy8vdGpKYkNWazFjSGVCL21Xc1JBS1JTRy9qZFd1QURpUUEyS1JUUXNq?= =?utf-8?B?eWNTWnZqMUtxYVFXNVl1VXB0TTZQVVlTelBiN2t2SW5wMFhSYkxzU2RiWkVh?= =?utf-8?B?bDdMVTVaY2RxS2ZGT2xaSjR2UDdtenFGVHFlcnQ5TCsrd0dOamFsZVhwdlVq?= =?utf-8?B?Ui9ManRnV2NxdlVpdGJ0NVVOOVB0OGZrS2JuazhnQ0ZWdU5EZ3J6MWNmWGg3?= =?utf-8?B?VDNzN1B1MHdlNlhTMlhJVUJlcUlBcEhpVmtkQ0hjV3RhbUdmUXJSakNUd1Fn?= =?utf-8?B?MWJEWU9VYmxJWVV1cjhVR0FDdGN0SzhHcmhwd2RLVGtTUVFBUHVrQ3RIaldY?= =?utf-8?B?MG54RHUxaU8zd0xtbGVEYnNwMlhBVXY0WFFCc1hCMk5xbWZndHBEbmwxQkxZ?= =?utf-8?B?WEFjaG5yN2hVUlFqVlBlZnJjbHNiTUN0UWx0M0JpYUJNSDlsQjg5TjNqMStT?= =?utf-8?B?ZFJ4OWQ0QnF1b0c4ajY5Z2ZmRGJ2OXR4Wi9ZKzEwbDUwR2pQenQ4N2hiQjUy?= =?utf-8?B?NHJuNDVtTXA3Ujc0RmhiTEVtZ1ZFaW1oUlVYNXlTUXMrUDBRVTVNMnBuSGJl?= =?utf-8?B?MjRGT0t3Zm5vbXhKQk93QjhKQVIvV2lCY3dySlpmWGZMNkpUdHJ0ZE1ZY2hi?= =?utf-8?Q?98DdkbUWfSqvrsNS9zuyc1R6N8abP4wt2HoEo?= Content-Type: text/plain; charset="utf-8" Content-ID: <350788549A8C34488E4A3C70049C8133@FRAP264.PROD.OUTLOOK.COM> Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-OriginatorOrg: csgroup.eu X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: MRZP264MB2988.FRAP264.PROD.OUTLOOK.COM X-MS-Exchange-CrossTenant-Network-Message-Id: be66235b-c72c-4073-bbc2-08da11aa1316 X-MS-Exchange-CrossTenant-originalarrivaltime: 29 Mar 2022 17:32:18.7934 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 9914def7-b676-4fda-8815-5d49fb3b45c8 X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: RKMkn3okPyY+cmL8yKFygEg3U8geKkjx/YpW2ZEpXbp7p+Nl0NXwf/KB1n4u0+hTaodSdArho/QGcB0n5qLaYi3bbX8LFr44MMCBtNUbOXI= X-MS-Exchange-Transport-CrossTenantHeadersStamped: PR0P264MB3015 X-Spam-Status: No, score=-1.9 required=5.0 tests=BAYES_00,NICE_REPLY_A, RCVD_IN_DNSWL_NONE,RCVD_IN_MSPIKE_H2,SPF_HELO_PASS,SPF_PASS, T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org DQoNCkxlIDI5LzAzLzIwMjIgw6AgMTQ6MDEsIE1pY2hhZWwgRWxsZXJtYW4gYSDDqWNyaXTCoDoN Cj4gSm9zaCBQb2ltYm9ldWYgPGpwb2ltYm9lQHJlZGhhdC5jb20+IHdyaXRlczoNCj4+IE9uIFN1 biwgTWFyIDI3LCAyMDIyIGF0IDA5OjA5OjIwQU0gKzAwMDAsIENocmlzdG9waGUgTGVyb3kgd3Jv dGU6DQo+Pj4gU2Vjb25kIHBvaW50IGlzIHRoZSBlbmRpYW5lc3MgYW5kIDMyLzY0IHNlbGVjdGlv biwgZXNwZWNpYWxseSB3aGVuDQo+Pj4gY3Jvc3NidWlsZGluZy4gVGhlcmUgaXMgYWxyZWFkeSBz b21lIHN0dWZmIHJlZ2FyZGluZyBlbmRpYW5lc3MgYmFzZWQgb24NCj4+PiBic3dhcF9pZl9uZWVk ZWQoKSBidXQgdGhhdCdzIGJhc2VkIG9uIGNvbnN0YW50IHNlbGVjdGlvbiBhdCBidWlsZCB0aW1l DQo+Pj4gYW5kIEkgY291bGRuJ3QgZmluZCBhbiBlYXN5IHdheSB0byBzZXQgaXQgY29uZGl0aW9u YWx5IGJhc2VkIG9uIHRoZQ0KPj4+IHRhcmdldCBiZWluZyBidWlsdC4NCj4+Pg0KPj4+IFJlZ2Fy ZGluZyAzMi82NCBzZWxlY3Rpb24sIHRoZXJlIGlzIGFsbW9zdCBub3RoaW5nLCBpdCdzIGJhc2Vk IG9uIHVzaW5nDQo+Pj4gdHlwZSAnbG9uZycgd2hpY2ggbWVhbnMgdGhhdCBhdCB0aGUgdGltZSBi ZWluZyB0aGUgdGFyZ2V0IGFuZCB0aGUgYnVpbGQNCj4+PiBwbGF0Zm9ybSBtdXN0IGJvdGggYmUg MzIgYml0cyBvciA2NCBiaXRzLg0KPj4+DQo+Pj4gRm9yIGJvdGggY2FzZXMgKGVuZGlhbmVzcyBh bmQgMzIvNjQpIEkgdGhpbmsgdGhlIHNvbHV0aW9uIHNob3VsZA0KPj4+IHByb2JhYmx5IGJlIHRv IHN0YXJ0IHdpdGggdGhlIGZpbGVmb3JtYXQgb2YgdGhlIG9iamVjdCBmaWxlIGJlaW5nDQo+Pj4g cmV3b3JrZWQgYnkgb2JqdG9vbC4NCj4+DQo+PiBEbyB3ZSByZWFsbHkgbmVlZCB0byBkZXRlY3Qg dGhlIGVuZGlhbm5lc3MvYml0bmVzcyBhdCBydW50aW1lPyAgT2JqdG9vbA0KPj4gaXMgYnVpbHQg d2l0aCB0aGUga2VybmVsLCB3aHkgbm90IGp1c3QgYnVpbGQtaW4gdGhlIHNhbWUgdGFyZ2V0DQo+ PiBhc3N1bXB0aW9ucyBhcyB0aGUga2VybmVsIGl0c2VsZj8NCj4gDQo+IEkgZG9uJ3QgdGhpbmsg d2UgbmVlZCBydW50aW1lIGRldGVjdGlvbi4gQnV0IGl0IHdpbGwgbmVlZCB0byBzdXBwb3J0DQo+ IGJhc2ljYWxseSBtb3N0IGNvbWJpbmF0aW9ucyBvZiBvYmp0b29sIHJ1bm5pbmcgYXMgMzItYml0 LzY0LWJpdCBMRS9CRQ0KPiB3aGlsZSB0aGUga2VybmVsIGl0J3MgYW5hbHlzaW5nIGlzIDMyLWJp dC82NC1iaXQgTEUvQkUuDQoNCkV4YWN0bHksIHRoZSB3YXkgaXQgaXMgZG9uZSB0b2RheSB3aXRo IGEgY29uc3RhbnQgaW4gDQpvYmp0b29sL2VuZGlhbm5lc3MuaCBpcyB0b28gc2ltcGxlLCB3ZSBu ZWVkIHRvIGJlIGFibGUgdG8gc2VsZWN0IGl0IA0KYmFzZWQgb24ga2VybmVsJ3MgY29uZmlnLiBJ cyB0aGVyZSBhIHdheSB0byBnZXQgdGhlIENPTkZJR18gbWFjcm9zIGZyb20gDQp0aGUga2VybmVs ID8gSWYgeWVzIHRoZW4gd2UgY291bGQgdXNlIENPTkZJR182NEJJVCBhbmQgDQpDT05GSUdfQ1BV X0xJVFRMRV9FTkRJQU4gdG8gc2VsZWN0IHRoZSBjb3JyZWN0IG9wdGlvbnMgaW4gb2JqdG9vbC4N Cg0KDQo+IA0KPj4+IFdoYXQgYXJlIGN1cnJlbnQgd29ya3MgaW4gcHJvZ3Jlc3Mgb24gb2JqdG9v bCA/IFNob3VsZCBJIHdhaXQgSm9zaCdzDQo+Pj4gY2hhbmdlcyBiZWZvcmUgc3RhcnRpbmcgbG9v a2luZyBhdCBhbGwgdGhpcyA/IFNob3VsZCBJIHdhaXQgZm9yIGFueXRoaW5nDQo+Pj4gZWxzZSA/ DQo+Pg0KPj4gSSdtIG5vdCBtYWtpbmcgYW55IG1ham9yIGNoYW5nZXMgdG8gdGhlIGNvZGUsIGp1 c3Qgc2h1ZmZsaW5nIHRoaW5ncw0KPj4gYXJvdW5kIHRvIG1ha2UgdGhlIGludGVyZmFjZSBtb3Jl IG1vZHVsYXIuICBJIGhvcGUgdG8gaGF2ZSBzb21ldGhpbmcNCj4+IHNvb24gKHRoaXMgd2Vlayku ICBQZXRlciByZWNlbnRseSBhZGRlZCBhIGJpZyBmZWF0dXJlIChJbnRlbCBJQlQpIHdoaWNoDQo+ PiBpcyBhbHJlYWR5IGluIC1uZXh0Lg0KPj4NCj4+IENvbnRyaWJ1dGlvbnMgYXJlIHdlbGNvbWUs IHdpdGggdGhlIHVuZGVyc3RhbmRpbmcgdGhhdCB5b3UnbGwgaGVscA0KPj4gbWFpbnRhaW4gaXQg Oy0pDQo+Pg0KPj4gU29tZSB5ZWFycyBhZ28gS2FtYWxlc2ggQmFidWxhbCBoYWQgYSBwcm90b3R5 cGUgb2Ygb2JqdG9vbCBmb3IgcHBjNjRsZQ0KPj4gd2hpY2ggZGlkIHRoZSBmdWxsIHN0YWNrIHZh bGlkYXRpb24uICBJJ20gbm90IHN1cmUgd2hhdCBldmVyIGJlY2FtZSBvZg0KPj4gdGhhdC4NCj4g DQo+ICBGcm9tIG1lbW9yeSBoZSB3YXMgc3RhcnRpbmcgdG8gY2xlYW4gdGhlIHBhdGNoZXMgdXAg aW4gbGF0ZSAyMDE5LCBidXQgSQ0KPiBndWVzcyB0aGF0IHByb2JhYmx5IGdvdCBkZXJhaWxlZCBi eSBDT1ZJRC4gQUZBSUsgaGUgbmV2ZXIgcG9zdGVkDQo+IGFueXRoaW5nLiBNYXliZSBzb21lb25l IGF0IElCTSBoYXMgYSBjb3B5IGludGVybmFsbHkgKE5hdmVlbj8pLg0KPiANCj4+IEZXSVcsIHRo ZXJlIGhhdmUgYmVlbiBzb21lIG9ianRvb2wgcGF0Y2hlcyBmb3IgYXJtNjQgc3RhY2sgdmFsaWRh dGlvbiwNCj4+IGJ1dCB0aGUgYXJtNjQgbWFpbnRhaW5lcnMgaGF2ZSBiZWVuIGhlc2l0YW50IHRv IGdldCBvbiBib2FyZCB3aXRoDQo+PiBvYmp0b29sLCBhcyBpdCBicmluZ3MgYSBjZXJ0YWluIG1h aW50ZW5hbmNlIGJ1cmRlbi4gIEVzcGVjaWFsbHkgZm9yIHRoZQ0KPj4gZnVsbCBzdGFjayB2YWxp ZGF0aW9uIGFuZCBPUkMgdW53aW5kZXIuICBCdXQgaWYgeW91IG9ubHkgd2FudCBpbmxpbmUNCj4+ IHN0YXRpYyBjYWxscyBhbmQvb3IgbWNvdW50IHRoZW4gaXQnZCBwcm9iYWJseSBiZSBtdWNoIGVh c2llciB0bw0KPj4gbWFpbnRhaW4uDQo+IA0KPiBJIHdvdWxkIGxpa2UgdG8gaGF2ZSB0aGUgc3Rh Y2sgdmFsaWRhdGlvbiwgYnV0IEkgYW0gYWxzbyB3b3JyaWVkIGFib3V0DQo+IHRoZSBtYWludGVu YW5jZSBidXJkZW4uDQo+IA0KPiBJIGd1ZXNzIHdlIHN0YXJ0IHdpdGggbWNvdW50LCB3aGljaCBs b29rcyBwcmV0dHkgbWluaW1hbCBqdWRnaW5nIGJ5IHRoaXMNCj4gc2VyaWVzLCBhbmQgc2VlIGhv dyB3ZSBnbyBmcm9tIHRoZXJlLg0KPiANCg0KSSdtIG5vdCBzdXJlIG1jb3VudCBpcyByZWFsbHkg bmVlZGVkIGFzIHdlIGhhdmUgcmVjb3JkbWNvdW50LCBidXQgYXQgDQpsZWFzdCBpdCBpcyBhbiBl YXN5IG9uZSB0byBzdGFydCB3aXRoIGFuZCBhcyB3ZSBoYXZlIHJlY29yZG1vdW50IHdlIGNhbiAN CmVhc2lseSBjb21wYXJlIHRoZSByZXN1bHRzIGFuZCBjaGVjayBpdCB3b3JrcyBhcyBleHBlY3Rl ZC4NCg0KVGhlbiBpdCBzaG91bGQgYmUgc3RyYWlnaHQgZm9yd2FyZCB0byBwcm92aWRlIHN0YXRp YyBjYWxscy4NCg0KVGhlbiBJJ2QgbGlrZSB0byBnbyB3aXRoIHVhY2Nlc3MgYmxvY2tzIGNoZWNr cyBhcyBzdWdnZXN0ZWQgYnkgQ2hyaXN0b3BoIA0KYXQgDQpodHRwczovL3BhdGNod29yay5vemxh YnMub3JnL3Byb2plY3QvbGludXhwcGMtZGV2L3BhdGNoL2E5NGJlNjFmMDA4YWIyOWMyMzFiODA1 ZTFhOTdlOWRhYjM1Y2IwY2MuMTYyOTczMjk0MC5naXQuY2hyaXN0b3BoZS5sZXJveUBjc2dyb3Vw LmV1LywgDQp0aG91Z2h0IGl0IG1pZ2h0IGJlIGxlc3MgZWFzeS4NCg0KDQpDaHJpc3RvcGhl