Received: by 2002:a05:6a10:22f:0:0:0:0 with SMTP id 15csp939981pxk; Fri, 25 Sep 2020 01:44:02 -0700 (PDT) X-Google-Smtp-Source: ABdhPJxXH4kETlhbgxgA6EFGq3Vhi9FYEofNIRqcliYZ28VXfegng9YU3r7ud1xa2Fi0d3q/syUO X-Received: by 2002:a50:d987:: with SMTP id w7mr126205edj.113.1601023442671; Fri, 25 Sep 2020 01:44:02 -0700 (PDT) ARC-Seal: i=2; a=rsa-sha256; t=1601023442; cv=pass; d=google.com; s=arc-20160816; b=0yTkRkl8Yfd/ksm4uOAxGuN6NT9XwQpvv3+JVxYbpqUArkjVesXpbMnAPGmtN1UYnB diVfJskLl8HqgiNkYnyo8xCA3WLLeLSh+EsZO7Pb/7A7sp108hGQDQfgFC1g3BkUVv2C 3ltLai6LczuI+liEz4hAoGg4ip5GqV9uBSn+CzUzBmj9Csjj2TBxFg8QUgxiidyj5QYo RbxCREwS3Zyo+UyU3qhukSXIRy2wy+Ap1zYA17Yj4p1627BBjXAQiEc6rReQ3Dt+cv2y yMFc3rODY1jW5htWdlPDxRM2xo1XfymjnhOii9EmlHqwoOc2w7FdyZRBJiDOtqM3RXyL uyIQ== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:mime-version:in-reply-to:user-agent:date :message-id:from:references:cc:to:subject:dkim-signature; bh=akmTS634K03w9c7Lx0npVCE0PD26vTnB6sXOFpHT0pA=; b=quAe8pmGJ70zZXRH8RdjHRtfa4qqTBpNQUEAinGWwupAhlquCci+Uus8UX0Jm9q/Ff fu1VGJb3vmaJJRQ/Lk9nkqwp4tKLIimIVxsWew9PbRX9fIiHZg+M0ceNhPVdO2In2Cj+ gPhVxuCjst7yEaqGse6GgbG7XMBkt77yjNiCf7uYGWNaKnuzCp2fbv7icORwhzEKY63A d9dHP0BY4TR+V8fQjFvtF+eVcsr7sa9bBZaQJ20eW8xMNSNDfDVDmIztbBHkiQxm+9TZ 0Nntav4mmBpOeDTGEV5hcszz+v33y7gkWHh6S33hDlWrE1lxdvO4VhGVRfxmrgHx9LJr THXA== ARC-Authentication-Results: i=2; mx.google.com; dkim=pass header.i=@fortanix.onmicrosoft.com header.s=selector2-fortanix-onmicrosoft-com header.b=ynxvhPDi; arc=pass (i=1 spf=pass spfdomain=fortanix.com dkim=pass dkdomain=fortanix.com dmarc=pass fromdomain=fortanix.com); spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=fortanix.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id mh6si1366715ejb.243.2020.09.25.01.43.39; Fri, 25 Sep 2020 01:44:02 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; dkim=pass header.i=@fortanix.onmicrosoft.com header.s=selector2-fortanix-onmicrosoft-com header.b=ynxvhPDi; arc=pass (i=1 spf=pass spfdomain=fortanix.com dkim=pass dkdomain=fortanix.com dmarc=pass fromdomain=fortanix.com); spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=fortanix.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1727324AbgIYIkP (ORCPT + 99 others); Fri, 25 Sep 2020 04:40:15 -0400 Received: from mail-bn8nam12on2093.outbound.protection.outlook.com ([40.107.237.93]:40401 "EHLO NAM12-BN8-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1726990AbgIYIkP (ORCPT ); Fri, 25 Sep 2020 04:40:15 -0400 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=m3SRiBLjoQCmVUFwZ6n8pL8VvG6H9/9yNe8An1E2Gzbk1qyJWV8Vrull5FG7xapSr3w8KHecEUY5UOThO7CIRgXLHDQ6if5V1P7wZJriHo1EDBEuMUehJGKfhxopLnrUCpFEKSXgpePel1ybU+5RO2w1bC07s01PiITuUOZ0D+q7RmKQhsoz/T+N25yu5qg1dB8GwiY6Sr7zFCB7zqAJHBnGV7cVDJwb/4VbMYrJYCX3HWyTEwubAjOU75EpUpJ/HYnLBxawyww03yiDiKpffxD9vP5t3yBxoNVGNrGt/BcP7sA4i4UnT2X6o12TK4fzSK/yRWZJFFj/tkkTpgmy1Q== 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=akmTS634K03w9c7Lx0npVCE0PD26vTnB6sXOFpHT0pA=; b=I3C/fr7I5TTLtNjjgA3sTLSUPgLXvto4gZgbBqRII6oLhu3JhJxXK2WovXdbONCOeLgiBSbvXJCf37S17PgUx2C45udS52ZFQpHKJJzybABIX5gi/Otp3BU6+ocHvwZ6L+auEbeJT0x24qFUX4IUBRWCbH/xRmWI/r73riAFBlnlfpCUBIe7npIfo+lTOKvjko0Rwo03xMvlWdQRpXycpnwmerN/Jcax1a0YyVuSewMVZO6mGXcxkk3x6X5ew/u6o+BntcM1LjXSJ3skL7K1/mrPMI4XqLjH06AG0yr8XFl7rPdJyByIkCL0HIb5Po437c1VYiE+4y5aOK4PgKfM+Q== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=fortanix.com; dmarc=pass action=none header.from=fortanix.com; dkim=pass header.d=fortanix.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=fortanix.onmicrosoft.com; s=selector2-fortanix-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=akmTS634K03w9c7Lx0npVCE0PD26vTnB6sXOFpHT0pA=; b=ynxvhPDiCdZPfvxqvcexmRvFNZsZntrbpWCCNFnbA5JfyOwUKIhRnx+EvvlcbfJuWS17TKFw+egG82E+xRmL7NujfcKyxRpbKbgVJbpNQxQYmVZBP1xsRAyEMnpRp4AKw6/PUsqYjTA2ARwyrm0sfpgnqBBRC3mIO7GFm/bAW3o= Received: from BY5PR11MB4260.namprd11.prod.outlook.com (2603:10b6:a03:1ba::30) by BYAPR11MB2951.namprd11.prod.outlook.com (2603:10b6:a03:90::10) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3391.19; Fri, 25 Sep 2020 08:40:09 +0000 Received: from BY5PR11MB4260.namprd11.prod.outlook.com ([fe80::11b2:63eb:a7db:80c5]) by BY5PR11MB4260.namprd11.prod.outlook.com ([fe80::11b2:63eb:a7db:80c5%6]) with mapi id 15.20.3412.024; Fri, 25 Sep 2020 08:40:09 +0000 Subject: Re: [PATCH v38 21/24] x86/vdso: Implement a vDSO for Intel SGX enclave call To: Jarkko Sakkinen , Borislav Petkov Cc: x86@kernel.org, linux-sgx@vger.kernel.org, linux-kernel@vger.kernel.org, Sean Christopherson , Andy Lutomirski , Cedric Xing , akpm@linux-foundation.org, andriy.shevchenko@linux.intel.com, asapek@google.com, chenalexchen@google.com, conradparker@google.com, cyhanish@google.com, dave.hansen@intel.com, haitao.huang@intel.com, josh@joshtriplett.org, kai.huang@intel.com, kai.svahn@intel.com, kmoy@google.com, ludloff@google.com, luto@kernel.org, nhorman@redhat.com, npmccallum@redhat.com, puiterwijk@redhat.com, rientjes@google.com, tglx@linutronix.de, yaozhangx@google.com References: <20200915112842.897265-1-jarkko.sakkinen@linux.intel.com> <20200915112842.897265-22-jarkko.sakkinen@linux.intel.com> <20200924180407.GO5030@zn.tnic> <20200925010031.GH119995@linux.intel.com> From: Jethro Beekman Message-ID: Date: Fri, 25 Sep 2020 10:39:58 +0200 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101 Thunderbird/68.10.0 In-Reply-To: <20200925010031.GH119995@linux.intel.com> Content-Type: multipart/signed; protocol="application/pkcs7-signature"; micalg=sha-256; boundary="------------ms020601030609020502000609" X-Originating-IP: [213.127.124.128] X-ClientProxiedBy: AM0PR05CA0091.eurprd05.prod.outlook.com (2603:10a6:208:136::31) To BY5PR11MB4260.namprd11.prod.outlook.com (2603:10b6:a03:1ba::30) MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 Received: from [192.168.4.219] (213.127.124.128) by AM0PR05CA0091.eurprd05.prod.outlook.com (2603:10a6:208:136::31) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3412.20 via Frontend Transport; Fri, 25 Sep 2020 08:40:03 +0000 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 397e77bf-5127-4612-4705-08d8612e9c6d X-MS-TrafficTypeDiagnostic: BYAPR11MB2951: X-Microsoft-Antispam-PRVS: X-MS-Oob-TLC-OOBClassifiers: OLM:8273; X-MS-Exchange-SenderADCheck: 1 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: Ym+/idFPRfVa/pIi5VLSH34U8ZOKblAtEt8g8GA4fu7BH/q+OrpmfUNXb53RSLNAqOuH0JNYpxyvkKwZXSWWRD+gVZjB0oQZL70LzJCXe2Q4rPEzcGMu8Phorv5l1J3rAeTiY/98yBYmaAbX4niXfE95e4wJ44/aYslJdJP/QQZp4+OPgvu4xAIcAWwMg/FWiPCUC/0YQ4deCIKRyxiVtek/Qpt7F5uUPEqEIJzBff5acFxW5bvEfBvhgC0dfsClmf5tgNmPlSA70XX4Q/pCB2cTCPyaCNVOgKXcicJVPuhgnwm0mIMnE/cruMyItpRCXLNlFfPjDJS6p3L7FWlsh1ZwQmnORtvE6RoSCCVqFybKB+33a6MbFBlFhzT67YH9A6MMCC9Wld2UW8a/T6wn+SoTH69wQbJCbr0BwllVW84lPv2HwGIuN3iOCiYsyiHRuhEqe0TXKqhDas/TGVJOUw== X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BY5PR11MB4260.namprd11.prod.outlook.com;PTR:;CAT:NONE;SFS:(39840400004)(396003)(346002)(136003)(376002)(366004)(86362001)(966005)(4326008)(36756003)(2906002)(8676002)(52116002)(33964004)(5660300002)(110136005)(8936002)(186003)(53546011)(6666004)(54906003)(478600001)(235185007)(31696002)(66946007)(16526019)(316002)(6486002)(31686004)(26005)(66476007)(66556008)(16576012)(7416002)(2616005)(956004)(43740500002);DIR:OUT;SFP:1102; X-MS-Exchange-AntiSpam-MessageData: i2MmjYHUyxOX+IIPiyKc5JrvgygCG/nbHZ9zKeZyRQjeGuic8blSoNS/uZzAQvkn64PyWVvDbGXdHgIMgtbpA28Rd68beEyR3bXaDKCr5JxhcnsZJqLTf2taslTCV5qLBsdG9L5XSHr1onNyVloHiadzfN/ZEArnSjDzG9cSNMMyh+Tg9TXAJarMVI20vTmTLCfODnVftJezV+UtZux15Jq/VWwrmAQtzfIDR+C8sZErzPZpWtDeD6jyp9vfwXyf/2UKBgrWj+W/fYHkEYxwv6XRiuygN+j4Ptz8NFtO4qW5qA8WYisLVDIpgWUKCQLcjZ2RJ4likAJFJXsHWDnwCbjxTeg0XOn0U8f26sKaP0aI0OExCgxu/a5aRHI+31DMt/kEbXwiszlCD71XnBTkZat96ki22LEbA1W9cPBqwzP/KnwJHiWIRQmBXQ/77ZRcpt1rNHnJX4EV5adpRSDfIi258wuaFy2wm3AoG/B3gxw7ROKRxAdsmSI/6N+Bhi55L+BPuWhvCfaLqUNjrSHQmD3CqOjWXdUW5M2Tus77io5J6wzaxVpDVM71ZUEkvmMTrzC59YakXLkmn+giu8Eh0m0Ce2AUCc51WvpiNRafGK0ICYCWZC74VFm7rBxKihWeIc2w/z1QfRsco8gVNCM/iQ== X-OriginatorOrg: fortanix.com X-MS-Exchange-CrossTenant-Network-Message-Id: 397e77bf-5127-4612-4705-08d8612e9c6d X-MS-Exchange-CrossTenant-AuthSource: BY5PR11MB4260.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 25 Sep 2020 08:40:09.6410 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: de7becae-4883-43e8-82c7-7dbdbb988ae6 X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: ofT3KOQTD9ari5O/Q1t0JLr23XP75CnfxplxtzCvpM7KhtPmUN4S5a7B7vvIR5qGnuiXg1ja7h1hpfEQK7tVlw== X-MS-Exchange-Transport-CrossTenantHeadersStamped: BYAPR11MB2951 Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org --------------ms020601030609020502000609 Content-Type: text/plain; charset=utf-8 Content-Language: en-US Content-Transfer-Encoding: quoted-printable On 2020-09-25 03:00, Jarkko Sakkinen wrote: > End result: >=20 > https://git.kernel.org/pub/scm/linux/kernel/git/jarkko/linux-sgx.git/tr= ee/arch/x86/include/uapi/asm/sgx.h >=20 > I'm wondering this sentence: >=20 > "The calling convention is custom and does not follow System V x86-64 A= BI." >=20 > AFAIK, now the vDSO is fully C-callable but waiting for feedback before= > removing it. It's C-callable *iff your enclave follows the System V x86-64 ABI*. In ad= dition, all registers not clobbered by the SGX ISA are passed to the encl= ave, not just those specified as parameter passing registers in the ABI. = This is intentional to make the vDSO function usable in applications that= use the current flexibility of ENCLU. -- Jethro Beekman | Fortanix --------------ms020601030609020502000609 Content-Type: application/pkcs7-signature; name="smime.p7s" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="smime.p7s" Content-Description: S/MIME Cryptographic Signature MIAGCSqGSIb3DQEHAqCAMIACAQExDzANBglghkgBZQMEAgEFADCABgkqhkiG9w0BBwEAAKCC DVUwggXgMIIDyKADAgECAhBukmvE8GLB9+EYd88699DiMA0GCSqGSIb3DQEBCwUAMIGBMQsw CQYDVQQGEwJJVDEQMA4GA1UECAwHQmVyZ2FtbzEZMBcGA1UEBwwQUG9udGUgU2FuIFBpZXRy bzEXMBUGA1UECgwOQWN0YWxpcyBTLnAuQS4xLDAqBgNVBAMMI0FjdGFsaXMgQ2xpZW50IEF1 dGhlbnRpY2F0aW9uIENBIEczMB4XDTIwMDkxNjE2MDk1NloXDTIxMDkxNjE2MDk1NlowHjEc MBoGA1UEAwwTamV0aHJvQGZvcnRhbml4LmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCC AQoCggEBAOM9pWqcukwLqKxwz61HtRU+YK4w6EwrvjLtFeWi0T2qXSpA9ePS2c2PB2rCoqR6 VZehtzjp1FvE1X1Mry5j9Qb529a+wuhxrCH/ecULCOX3x1eGaYFIUbehmpztnvNkGowLCDWq hsIU70LAa6KgAcQ7bcc9yR8jhLgF9S9+M74olvpKRYI7EH+biSPa4EhUJ5lvOo5uotEi7K19 zBqlZaz/d9U0YOL/19UxKx+0a7UHu1JC8cHZ5WiX680KyZhoHsHxitzRoumttYO+kZCKykVq 7mfpzWxedVTEARnMMtMFKDCjWoBZwNNLY/EyimgQpl82c9aaebavpxBngrm+88UCAwEAAaOC AbQwggGwMAwGA1UdEwEB/wQCMAAwHwYDVR0jBBgwFoAUvpepqoS/gL8QU30JMvnhLjIbz3cw fgYIKwYBBQUHAQEEcjBwMDsGCCsGAQUFBzAChi9odHRwOi8vY2FjZXJ0LmFjdGFsaXMuaXQv Y2VydHMvYWN0YWxpcy1hdXRjbGlnMzAxBggrBgEFBQcwAYYlaHR0cDovL29jc3AwOS5hY3Rh bGlzLml0L1ZBL0FVVEhDTC1HMzAeBgNVHREEFzAVgRNqZXRocm9AZm9ydGFuaXguY29tMEcG A1UdIARAMD4wPAYGK4EfARgBMDIwMAYIKwYBBQUHAgEWJGh0dHBzOi8vd3d3LmFjdGFsaXMu aXQvYXJlYS1kb3dubG9hZDAdBgNVHSUEFjAUBggrBgEFBQcDAgYIKwYBBQUHAwQwSAYDVR0f BEEwPzA9oDugOYY3aHR0cDovL2NybDA5LmFjdGFsaXMuaXQvUmVwb3NpdG9yeS9BVVRIQ0wt RzMvZ2V0TGFzdENSTDAdBgNVHQ4EFgQUqK9FZHUTZ7vhJZAsuniSiMn24q4wDgYDVR0PAQH/ BAQDAgWgMA0GCSqGSIb3DQEBCwUAA4ICAQDscghwA0YyWZ/w0dFhxfLbqpiHNx1UDWFp1GUi BjZvpNEkKWtOPbBAkdShWBpLFsDH05PiladSagxxLPmdzRRytHwQ+LWxZhdMT1cz2ypVtKkq 3FiuDu41W4HoGhGn0fQc4FJzLEE0WJGTgP2zr7JcRISDgmFBHdinoVe3ZR+pbURoiuDcHK2D BgcC4dguyxdVR5gLEyiqsCTNj+tfbopC0yAkInNMaAHS/IVH3GRyQ5xbXgczWu+agxxnOjU2 KuaQL+RNX7l3aPdp88DSxq7PFC3KOk5G4qz2Ts7nh/piR41vIh0q/Dfc1yCClWaTQqBgQvzT uW8BQwq8mx5E7owmzj9IzZHRX69wkLGG2Yr7WinWp09yzmMNZRH2OrEI9BmKtafFpdr3me/k lyv4RUlg8A+cNHAlL6cY6mHYrTu8xbzBlhOTicGB7JVhx+zLdL9TKI0P5ssPWfZOE4W76lSC +pFr7Kb7z9037m31TKh2F3cZAh8Mg/XyPm6NTu97ItoOrl2BNn26P6jZlGuYCYUHqsxAc/pJ Z8PiuTlLt1YX/pAXeCBHOmzbUTxdbG4tPvFmlI50c7GMW67Jto7Vf4XFa5NItqcQ4sXFT+tZ 3u6BEJ8P1hmvCwn5KSErm2kWLV5P5bkzBHajRsx0rE1VBALmHL25nbHGcOCQhaCgVgooHjCC B20wggVVoAMCAQICEBcQPt49ihy1ygZRk+fKQ2swDQYJKoZIhvcNAQELBQAwazELMAkGA1UE BhMCSVQxDjAMBgNVBAcMBU1pbGFuMSMwIQYDVQQKDBpBY3RhbGlzIFMucC5BLi8wMzM1ODUy MDk2NzEnMCUGA1UEAwweQWN0YWxpcyBBdXRoZW50aWNhdGlvbiBSb290IENBMB4XDTIwMDcw NjA4NDU0N1oXDTMwMDkyMjExMjIwMlowgYExCzAJBgNVBAYTAklUMRAwDgYDVQQIDAdCZXJn YW1vMRkwFwYDVQQHDBBQb250ZSBTYW4gUGlldHJvMRcwFQYDVQQKDA5BY3RhbGlzIFMucC5B LjEsMCoGA1UEAwwjQWN0YWxpcyBDbGllbnQgQXV0aGVudGljYXRpb24gQ0EgRzMwggIiMA0G CSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQDt5oeWocGktu3CQlX3Pw8PImBfE+CmQ4iGSZF5 HBsvGlAP3EYB7va6OobMUWHvxA+ACHEpWq0YfNh6rRUlULOGcIpEFtVf4nAiEvdQtiFQBmtW JSn3naoMHqpMvmwZ4lL0Xr1U9JHmTqkU3DuYcNNO3S+hYWDZpWQbeSGibNVeiJ4kY6JDh0fv qloK1BsuS3n2OgArPYGfAYtDjCvT2d+6Ym3kArHZjEcrZeBI+yVVnjPwbTSCKax8DtS2NP/C J6RjpnRvuSwusRy84OdwdB71VKs1EDXj1ITcCWRZpkz+OhV6L8Zh+P0rmOSJF6KdHiaozfnc URx4s54GFJNRGkx1DnCxcuL0NJMYG42/hrDYOjNv+oGWSEZO/CT3aaLSMB5wTbZKfcD1R+tT anXD+5Gz5Mi15DTE7QH8naZjZxqqhyxL1KyuIgaVDxvQtPSjo5vTsoa09rn+Ui8ybHnvYO/a /68OIQIHLGbUd2COnwm0TiZ3Jg/oYGxwnJPvU1nDXNcecWTIJvFF5qD2ppJH3HgJVVePUEOY 1E4Kp3k0B8hdRdhMV5n+O6RCKCTFcZaESF8sELgdrqnCLPP1+rX7DA8pxZoX0/9Jk64EOsbf QyLIJlrrob2YS0Xlku6HisZ8qrHLhnkzF5y7O34xmatIp8oZ5c54QP+K5flnTYzWjuIxLwID AQABo4IB9DCCAfAwDwYDVR0TAQH/BAUwAwEB/zAfBgNVHSMEGDAWgBRS2Ig6yJ94Zu2J83s4 cJTJAgI20DBBBggrBgEFBQcBAQQ1MDMwMQYIKwYBBQUHMAGGJWh0dHA6Ly9vY3NwMDUuYWN0 YWxpcy5pdC9WQS9BVVRILVJPT1QwRQYDVR0gBD4wPDA6BgRVHSAAMDIwMAYIKwYBBQUHAgEW JGh0dHBzOi8vd3d3LmFjdGFsaXMuaXQvYXJlYS1kb3dubG9hZDAdBgNVHSUEFjAUBggrBgEF BQcDAgYIKwYBBQUHAwQwgeMGA1UdHwSB2zCB2DCBlqCBk6CBkIaBjWxkYXA6Ly9sZGFwMDUu YWN0YWxpcy5pdC9jbiUzZEFjdGFsaXMlMjBBdXRoZW50aWNhdGlvbiUyMFJvb3QlMjBDQSxv JTNkQWN0YWxpcyUyMFMucC5BLiUyZjAzMzU4NTIwOTY3LGMlM2RJVD9jZXJ0aWZpY2F0ZVJl dm9jYXRpb25MaXN0O2JpbmFyeTA9oDugOYY3aHR0cDovL2NybDA1LmFjdGFsaXMuaXQvUmVw b3NpdG9yeS9BVVRILVJPT1QvZ2V0TGFzdENSTDAdBgNVHQ4EFgQUvpepqoS/gL8QU30JMvnh LjIbz3cwDgYDVR0PAQH/BAQDAgEGMA0GCSqGSIb3DQEBCwUAA4ICAQAmm+cbWQ10sxID6edV 94SAhc1CwzthHFfHpuYS30gisWUfWpgp43Dg1XzG2in3VGV7XrzCCGZh4JM/XQWp+4oxmyV4 2Qjz9vc8GRksgo6X2nYObPYZzQjda9wxsCB38i4G3H33w8lf9sFvl0xm4ZXZ2s2bF/PdqvrK 0ZgvF51+MoIPnli/wJBw3p72xbk5Sb1MneSO3tZ293WFzDmz7tuGU0PfytYUkG7O6annGqbU 1I6CA6QVKUqeFLPodSODAFqJ3pimKD0vX9MuuSa0QinH7CkiPtZMD0mpwwzIsnSs3qOOl60t IZQOTc0I6lCe1LLhrz7Q75J6nNL9N5zVwZ1I3o2Lb8Dt7BA13VFuZvZIzapUGV83R7pmSVaj 1Bik1nJ/R393e6mwppsT140KDVLh4Oenywmp2VpBDuEj9RgICAO0sibv8n379LbO7ARa0kw9 y9pggFzN2PAX25b7w0n9m78kpv3z3vW65rs6wl7E8VEHNfv8+cnb81dxN3C51KElz+l31zch FTurD5HFEpyEhzO/fMS5AkweRJIzwozxNs7OL/S/SVTpJLJL1ukZ1lnHHX0d3xCzRy/5HqfK 3uiG22LPB5+RjNDobPAjAz2BKMfkF/+v0pzn8mqqkopQaJzEAbLbMpgQYHRCjvrUxxwjJyUF b2Z+40UNtMF4MTK7zTGCA/MwggPvAgEBMIGWMIGBMQswCQYDVQQGEwJJVDEQMA4GA1UECAwH QmVyZ2FtbzEZMBcGA1UEBwwQUG9udGUgU2FuIFBpZXRybzEXMBUGA1UECgwOQWN0YWxpcyBT LnAuQS4xLDAqBgNVBAMMI0FjdGFsaXMgQ2xpZW50IEF1dGhlbnRpY2F0aW9uIENBIEczAhBu kmvE8GLB9+EYd88699DiMA0GCWCGSAFlAwQCAQUAoIICLTAYBgkqhkiG9w0BCQMxCwYJKoZI hvcNAQcBMBwGCSqGSIb3DQEJBTEPFw0yMDA5MjUwODM5NThaMC8GCSqGSIb3DQEJBDEiBCDF KnvmtbxGsMDSU4E1Yud3Nwj+WYc6arg7azGzGB4ltzBsBgkqhkiG9w0BCQ8xXzBdMAsGCWCG SAFlAwQBKjALBglghkgBZQMEAQIwCgYIKoZIhvcNAwcwDgYIKoZIhvcNAwICAgCAMA0GCCqG SIb3DQMCAgFAMAcGBSsOAwIHMA0GCCqGSIb3DQMCAgEoMIGnBgkrBgEEAYI3EAQxgZkwgZYw gYExCzAJBgNVBAYTAklUMRAwDgYDVQQIDAdCZXJnYW1vMRkwFwYDVQQHDBBQb250ZSBTYW4g UGlldHJvMRcwFQYDVQQKDA5BY3RhbGlzIFMucC5BLjEsMCoGA1UEAwwjQWN0YWxpcyBDbGll bnQgQXV0aGVudGljYXRpb24gQ0EgRzMCEG6Sa8TwYsH34Rh3zzr30OIwgakGCyqGSIb3DQEJ EAILMYGZoIGWMIGBMQswCQYDVQQGEwJJVDEQMA4GA1UECAwHQmVyZ2FtbzEZMBcGA1UEBwwQ UG9udGUgU2FuIFBpZXRybzEXMBUGA1UECgwOQWN0YWxpcyBTLnAuQS4xLDAqBgNVBAMMI0Fj dGFsaXMgQ2xpZW50IEF1dGhlbnRpY2F0aW9uIENBIEczAhBukmvE8GLB9+EYd88699DiMA0G CSqGSIb3DQEBAQUABIIBAGxBrwTSl0Fcef7/yUaEYdl+wZMbL4dqDVfA8ArSwFovCkd1w0ny NokqPpBljfdRmiSwXLsOBPlBXtMFJ5er4unzToHQ7W3oGf+OEgEBUlis40VgpkTWcLacxX4N Z5qjWfNUI4U99+x/GpGz4A1smQNFsMe4/bmjXhmXdvGdWnKCdYvxN0YwoJ84+bSMdGYTyFp/ zD2N0dzUNUYOOw67iQqIIOvIu+w0Rhtq5rgP0V0EPjONeokm3TjmUgk/rAm7VsGXGHkwxH79 1LR/qhZYNZGb2DHydpDixaJ6TLv2CSGcZw7cfV4ArbR2qKOV2JOWxZLZdPFP2Vx/NUlBRgCn a+kAAAAAAAA= --------------ms020601030609020502000609--