From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by smtp.lore.kernel.org (Postfix) with ESMTP id E1D87C433F5 for ; Mon, 25 Apr 2022 15:19:31 +0000 (UTC) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id D01C741109; Mon, 25 Apr 2022 17:19:30 +0200 (CEST) Received: from mga05.intel.com (mga05.intel.com [192.55.52.43]) by mails.dpdk.org (Postfix) with ESMTP id 24C9240E78 for ; Mon, 25 Apr 2022 17:19:27 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1650899968; x=1682435968; h=from:to:cc:subject:date:message-id:mime-version; bh=gQwAKvmzhZqkSamJ0MwFwhaT1okb7msUOiSv5Fu1+og=; b=Jq0JpoVVibFS6I2Yxnd2zwIppgu3//kcnydzIH2ijCJyadad2+yzqzGg xozJrbpvRs+c35IALCXjt8DJAKIcaaWWcMwauKN/r/R6QfarmZrGgQ+dJ GPxot5VXAmWM+CBTuUV2Rt9EHOqMKlfJvNYnuiMhzNWLTxtRWPZtr7IFr QmtkGAE3xMkOYWx7Iuc/RZBygo7SFf1htts6aa9jeTtE3vlARSNvwC9hw xkQZW1BxmjlxvjBzMZopw1U0Cljvv4X/p3TMjnIIljIUSOCUxFE9WVHEL JIp0RRpO8b/LNf1shp4YWPwpV+p9ZB8yGDNuyFIjwQML9E2I6nq6G1D0k g==; X-IronPort-AV: E=McAfee;i="6400,9594,10328"; a="351723000" X-IronPort-AV: E=Sophos;i="5.90,288,1643702400"; d="scan'208,217";a="351723000" Received: from orsmga004.jf.intel.com ([10.7.209.38]) by fmsmga105.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 25 Apr 2022 08:19:26 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.90,288,1643702400"; d="scan'208,217";a="677244644" Received: from fmsmsx601.amr.corp.intel.com ([10.18.126.81]) by orsmga004.jf.intel.com with ESMTP; 25 Apr 2022 08:19:25 -0700 Received: from fmsmsx605.amr.corp.intel.com (10.18.126.85) by fmsmsx601.amr.corp.intel.com (10.18.126.81) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2308.27; Mon, 25 Apr 2022 08:19:24 -0700 Received: from FMSEDG603.ED.cps.intel.com (10.1.192.133) by fmsmsx605.amr.corp.intel.com (10.18.126.85) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2308.27 via Frontend Transport; Mon, 25 Apr 2022 08:19:24 -0700 Received: from NAM10-MW2-obe.outbound.protection.outlook.com (104.47.55.105) by edgegateway.intel.com (192.55.55.68) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.1.2308.27; Mon, 25 Apr 2022 08:19:24 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=dVQ/VFfmq3jpBEHhaVvB5ktECK8k1MK9AiB4D2kuO5q0Em6U2wSiZ4rRMy9AcGYhuELesqXynLZwzkRvLlwVn4wjga4MzeS18CoLpzSysSghQXRKV+3cbJepfztMHYOJcVNvyBVwPT6ScjFZ65potTps4pfHn94etppEJ0tGWFBIicjV0Oc9xOXUSTCn8pFYAfa/tfZb6xK6cfS5X+b5Q6lwzkP3D0QNToYtcxQGh4I315VW/2vLWtOeruNHuDo9fL8UEC5zj4mAP1gTiIw4jQAW8CIuJDy6wWiS0kESFq4SttjSH1+7NrrMNAX1Q7pnJn05wMQVRVnndZZMo4gSnw== 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=6x/Lv5Pls7LkRR/NwnqlQHTZtppnKGk3Dej79m29VI8=; b=lFthkHuxyYfgqPh8wB+uzlfGXLArYtd/q9QKmsPrIlEaGHdXGQq/fPOGmLMC7qotCoyB0DCPnRCztHYI5NlJ9Cte2kNAjLxvCeKoIuDQ/COhqGy9SjUxEceb5rE/ZXiNUMx6c8OC1C3S6BTALetTT0nUfy73yDH7y2CAvh+OqwrUa1pqNMloU0CUMd4N6xOR38/7r6Roh26l3C+QuJT/79U1EjLKHo7twF+PlDFtFCfyOMUG9Prf7G2TAG7kBq5XcXM4R+weEz/XS2T7yBFhDhdaX8HJQdCzPgwplSsYonqCKAY+Hvc46btbrL13NdDPWMentwkYWUnUiNK+J+vQ6w== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=intel.com; dmarc=pass action=none header.from=intel.com; dkim=pass header.d=intel.com; arc=none Received: from DM6PR11MB3227.namprd11.prod.outlook.com (2603:10b6:5:5d::16) by MWHPR11MB1631.namprd11.prod.outlook.com (2603:10b6:301:10::10) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5186.17; Mon, 25 Apr 2022 15:19:21 +0000 Received: from DM6PR11MB3227.namprd11.prod.outlook.com ([fe80::dcb9:6e08:3077:a6e0]) by DM6PR11MB3227.namprd11.prod.outlook.com ([fe80::dcb9:6e08:3077:a6e0%3]) with mapi id 15.20.5186.021; Mon, 25 Apr 2022 15:19:21 +0000 From: "Mcnamara, John" To: "Stokes, Ian" , "Pai G, Sunil" , "Hu, Jiayu" , "Ferriter, Cian" , "Van Haaren, Harry" , Ilya Maximets , "Maxime Coquelin (maxime.coquelin@redhat.com)" , "ovs-dev@openvswitch.org" , "dev@dpdk.org" CC: "O'Driscoll, Tim" , "Finn, Emma" , Ralf Hoffmann , "Harris, James R" , "Luse, Paul E" , "hemal.shah@broadcom.com" , "Gooch, Stephen" , Bing Zhao , "Wiles, Keith" , "Prasanna Murugesan (prasanna)" , "Ananyev, Konstantin" , "Yu, De" , Tom Barbette , "Zeng, ZhichaoX" , "Knight, Joshua" , "Scheurich, Jan" , "Sinai, Asaf" Subject: OVS DPDK DMA-Dev library/Design Discussion Thread-Topic: OVS DPDK DMA-Dev library/Design Discussion Thread-Index: AQHYWLfWjtXyX1OjQ+SD/u50CKHlTw== Date: Mon, 25 Apr 2022 15:19:21 +0000 Message-ID: Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: dlp-product: dlpe-windows dlp-reaction: no-action dlp-version: 11.6.401.20 x-ms-publictraffictype: Email authentication-results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=intel.com; x-ms-exchange-calendar-series-instance-id: BAAAAIIA4AB0xbcQGoLgCAAAAAAA3tell1XYAQAAAAAAAAAAEAAAAB6FKE4sFZNBgYrNwwhzdOE= x-ms-traffictypediagnostic: DM6PR11MB3227:EE_MeetingMessage|MWHPR11MB1631:EE_MeetingMessage x-ms-office365-filtering-correlation-id: 64a93128-0bf1-4fb8-bea9-08da26cef97a x-ld-processed: 46c98d88-e344-4ed4-8496-4ed7712e255d,ExtAddr 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: pRzB0vqnEHlceP1XRnLVE/WjKDXrjlm8usLMVu26JDsI9PDpc1dqor91gPsu4SN+5BAen0pFesDF9F3WTkYQuz1+Rz3EbjXn3Dv5WYbmJQOxDxz8goF8439C+Szex8xVpnkGWNhrhggIQIsGsamStqX+lDFUcmB0xM42rg6VnWnf4xtDfyYj5mY0Y5OAfqQjwM3LWriMNoAymq7eoAQ3hWjFHWv8rk490vdsnQPOSFoXfg6NBIrbsfQyNrWiZ9Ee86u3512xEzECzMjNZx7tb0vfTNdCr07kJCMc0ELutqagbLD0vYGv0325YuAEmf2Y6qLF00EfxhvlUa5CT6CmUaYOxQyR2h3EzB7lRALX3f1Hkrl8r+EapHURVZxgI2zckgB9Z84Jk1/XtZY6DGmJVYBFUncpUiWTPRWlRu/NzExsY5m/m01N1N96era4iujCzMi0PkcnDwDNwUfbKOI99DRSHUN3Lh3guHbo/6tm65FQG8oip1Ny09OpB8wlMs22A0BuOsWNvW1EP2CfgJm7rCsFOtFQj8cJviyXH3EHJj90TINJ8OHn5IMCClI2PMb5UjEKgm6tznsfIot4Gi25BkoW8trWMg4vLY4DpLNKRBxlrBV2m+jlw8ulsROaXLIW0TfQ2hvFUWjuvUubPcqD9kvGiPAsjCDSZ/yAOsDdVnoWGMsLLK8UPw0M9380iItNzIjITsKHnVgMSa3pXO7DgZIdnHRW9vl3sqxhdO4jW1A= x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:DM6PR11MB3227.namprd11.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230001)(366004)(54906003)(110136005)(316002)(83380400001)(76116006)(122000001)(86362001)(38070700005)(55016003)(921005)(38100700002)(82960400001)(8676002)(5660300002)(4326008)(52536014)(66446008)(64756008)(66946007)(66556008)(66476007)(2906002)(186003)(7696005)(966005)(6506007)(9686003)(508600001)(71200400001)(8936002)(33656002)(30864003)(7416002); DIR:OUT; SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 2 x-ms-exchange-antispam-messagedata-0: =?us-ascii?Q?Y8WU81Q+kxyz/kuEgcs5YbLEfb7x+g9bElbqG1YYUH9zsgudK2HvhSdu1Gwj?= =?us-ascii?Q?3hOVrx5b78c2LlIGLM9RzrrnkmGnUcAtUJNwbSl2Md6esIE2VhIc+8S7GHnK?= =?us-ascii?Q?ymcv9Xz5rvndXwaExSGUEr1O4zEQnJvvQldcE2gmaA6khT+H0jQdBkgXdrTM?= =?us-ascii?Q?fbz4Su7LYttbdj0Nd+QTk6+ILsMuS5Plm/q+w4VkRHIe30KGOyKSakUZtJPQ?= =?us-ascii?Q?RpT8rky+CTwQCd6t3ma0K8+T7sBkihAQ9ck8EgZE0rhwU0dSg4DS4UD3sE+/?= =?us-ascii?Q?79Pp8IlfWhadORgIBbgtCKAPshc1mz+vPAhne/9YklkQoiW9XXU5lgEkZMAe?= =?us-ascii?Q?SdlIgQSOiAR33+UTTFW0fK2qimQrcSDERDrZTfvzGeqTxeTPX+5oeUw9kFEx?= =?us-ascii?Q?u0D1NtavJFm3g6Kl76eFvVqdrylNbrznRR35vXku4s7wTV0ANqQO0Dg2NptW?= =?us-ascii?Q?eEIMYPJ6RI58QT7syfrFtM1X3r2p3tnkFN84AnyDMMWlOgjcn9jQAHdoIDJh?= =?us-ascii?Q?Ly8RsC3h+bMRimz3sFBbPyNeabREczT/mYVE4yNHoBOggnKjcWX8DJNUczkl?= =?us-ascii?Q?nKWMNRkV0G3pDr5bjzuAE2NkimuR2I2CS2QJfx4tzV94XhNSYyzM1MzdFh4N?= =?us-ascii?Q?51S15MBRtVi7g26EyijCeI8PprbwVaaqLCSb0CLyKl6ZnUu9Rem/xm05GX8u?= =?us-ascii?Q?WfRmROohgxzPrv4dZTBCSKzI6ST/5R6kFIq1zYMj5YMVjU/CsUIK6ZzhJpNk?= =?us-ascii?Q?7wX9EZeN05/prRVRSGx/B70mBCed8rW/7fwoxHTOd6ZzZoPWCcNjZ0vk3e37?= =?us-ascii?Q?sqVM/anqC3ijZd3jeXHhZhZL8VmakV7briwxm8UHsyN0ku8T2Jo4WNPIB++f?= =?us-ascii?Q?Wi0BRq7QICsOXmDxs5Zz7+9iahbgjZzUewGvqcMBc798gT3H8qvAF1BdMLK2?= =?us-ascii?Q?fGkBKYGAMxc1gMpaXO/gPoMsWpyrzYj/WEqw68K5nG7KR5Csy0n1lRDNeJ6d?= =?us-ascii?Q?5D3CCkv/aexfHYZXl0toKUmTDJwl79+72Xu/Fl2k+lKtJnAyB/MBq2Wk0vT5?= =?us-ascii?Q?b4/XyBdV/FbKEnNvuNrsEQ0bzld69EoO4axty2iAcvhkwepJRExHFLpISsP2?= =?us-ascii?Q?6HrxAYGWQM5nxyzvSp5TvWPY8K3gleRAHtHKUf/3+KLfC80QwCfQNEARCLHX?= =?us-ascii?Q?vrpxacMEOIBn/Pr5tjWNMYyW+fMTu0TYi+gadxprYHp7Q22AzxcvKYDwv/Xc?= =?us-ascii?Q?WvaJ/4EUI03KjE/mjb05b/gIGQpODoYoDG1pfdpT0ZXG2yH2+T/IiNsBpD72?= =?us-ascii?Q?rt/iSPGatjJKFnAc7ABw9pIjEQC5rQZjBHJdhok4VfhtWhYKbSQurpY4cuCY?= =?us-ascii?Q?loaOKthf/Cabjrt9yoKjsE/xZuV73HwZp40tudenHV+WKnVd2oZhk0YPEZM8?= =?us-ascii?Q?zxZHBdDuOoiS3Y7XoZr6NcBGsnzeJuIDXKS+utl7fyV4PRtYqwE2h2BIDMzY?= =?us-ascii?Q?1RG3vwarRd5gSEIAeqXjn5/mQVCAWqIe+XozMNBBEd73XxNSuaZuwt3K/rnr?= =?us-ascii?Q?avzaSYpOB038GxIaKvw9S5Anmu6pAg9FssiBnwVt2VzQpcrDA+yz3ZnQKOqp?= =?us-ascii?Q?byMnvqPxGUBvSaDkQdSCkI1ofKhGRB8/7HqbZR0fsEbSEqQbvmSlfuieiOnJ?= =?us-ascii?Q?IDsDdmJZ7L4swTo4JwEtg0VYPlKG74hRM0IDx1aygOYiBb4iQGPti2/dQ2q4?= =?us-ascii?Q?hQ4GEWpULxefl9M33ssFptKbSreM+aSY+tClH8n8cq2b6P7oS0zFS3DtSfFr?= x-ms-exchange-antispam-messagedata-1: 4I2wrGBvXBh2pg== Content-Type: multipart/alternative; boundary="_000_DM6PR11MB3227E79B99EBD4DFE9D35633FCF89DM6PR11MB3227namp_" MIME-Version: 1.0 X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: DM6PR11MB3227.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 64a93128-0bf1-4fb8-bea9-08da26cef97a X-MS-Exchange-CrossTenant-originalarrivaltime: 25 Apr 2022 15:19:21.6410 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 46c98d88-e344-4ed4-8496-4ed7712e255d X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: kcx3jO/I7FSnv+EEfqmKjS9/kLrroSYx9ePjG2LYFv91P6UaMwUOPf0rhAwZ6JgUveZpnqzF9tOW2MYARQF++g== X-MS-Exchange-Transport-CrossTenantHeadersStamped: MWHPR11MB1631 X-OriginatorOrg: intel.com 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 --_000_DM6PR11MB3227E79B99EBD4DFE9D35633FCF89DM6PR11MB3227namp_ Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable Updated with meeting and presentation. This meeting is a follow-up to the previous calls in March and the discussi= on which has happened since on the DPDK and OVS mailing lists. Three approaches were presented in the previous calls: * "Defer work": Handle DMA completions at OVS PMD thread level * "v3": Handle DMA Tx completions from Rx context. * "v3 + lockless ring": Handle DMA Tx completions from Rx context + l= ockless ring to avoid contention. After these calls, the discussion continued on the DPDK and OVS mailing lis= ts, where an alternate approach has been proposed. The newly-suggested approach: * "DMA VirtQ Completions": Add an additional transaction(s) to each b= urst of DMA copies; a special transaction containing the memory write opera= tion that makes the descriptors available to the Virtio driver. Also separa= te the actual kick of the guest with the data transfer. Agenda for call 26th April: * Intel team will present slides to help understand the differences i= n architecture/designs. * Discuss the strengths/weaknesses/feasibility of the "DMA VirtQ Comp= letions" approach, comparing to current best-candidate "Defer Work". * Work toward single-solution to be accepted upstream in DPDK and OVS Slides: https://github.com/Sunil-Pai-G/OVS-DPDK-presentation-share/blob/mai= n/ovs_datapath_design_2022%20session%203.pdf Google Meet: https://meet.google.com/hme-pygf-bfb --_000_DM6PR11MB3227E79B99EBD4DFE9D35633FCF89DM6PR11MB3227namp_ Content-Type: text/html; charset="us-ascii" Content-Transfer-Encoding: quoted-printable
Updated with meeting and presentation.
 
This meeting is a follow-up to the previous calls in March and the dis= cussion which has happened since on the DPDK and OVS mailing lists.
 
Three approaches were presented in the previous calls:
 
  • "Defer work": Handle DMA completions at OVS PMD thread level<= /li>
  • "v3": Handle DMA Tx completions from Rx context.
  • = "v3 + lockless ring": Handle DMA Tx completions from Rx context += lockless ring to avoid contention.
 
After these calls, the discussion continued on the DPDK and OVS mailin= g lists, where an alternate approach has been proposed.
 
The newly-suggested approach:
 
  • "DMA VirtQ Completions": Add an additional transaction(s) to = each burst of DMA copies; a special transaction containing the memory write= operation that makes the descriptors available to the Virtio driver. Also = separate the actual kick of the guest with the data transfer.
 
Agenda for call 26th April:
 
  • Intel team will present slides to help understand the differences in ar= chitecture/designs.
  • Discuss the strengths/weaknesses/feasibility of= the "DMA VirtQ Completions" approach, comparing to current best-= candidate "Defer Work".
  • Work toward single-solution to be= accepted upstream in DPDK and OVS
 
 
Google Meet: https://meet.google.com/hme-pygf-bfb
 
 
 
 
 
--_000_DM6PR11MB3227E79B99EBD4DFE9D35633FCF89DM6PR11MB3227namp_ Content-Type: text/calendar; charset="utf-8"; method=REQUEST Content-Transfer-Encoding: base64 QkVHSU46VkNBTEVOREFSDQpNRVRIT0Q6UkVRVUVTVA0KUFJPRElEOk1pY3Jvc29mdCBFeGNoYW5n ZSBTZXJ2ZXIgMjAxMA0KVkVSU0lPTjoyLjANCkJFR0lOOlZUSU1FWk9ORQ0KVFpJRDpHTVQgU3Rh bmRhcmQgVGltZQ0KQkVHSU46U1RBTkRBUkQNCkRUU1RBUlQ6MTYwMTAxMDFUMDIwMDAwDQpUWk9G RlNFVEZST006KzAxMDANClRaT0ZGU0VUVE86KzAwMDANClJSVUxFOkZSRVE9WUVBUkxZO0lOVEVS VkFMPTE7QllEQVk9LTFTVTtCWU1PTlRIPTEwDQpFTkQ6U1RBTkRBUkQNCkJFR0lOOkRBWUxJR0hU DQpEVFNUQVJUOjE2MDEwMTAxVDAxMDAwMA0KVFpPRkZTRVRGUk9NOiswMDAwDQpUWk9GRlNFVFRP OiswMTAwDQpSUlVMRTpGUkVRPVlFQVJMWTtJTlRFUlZBTD0xO0JZREFZPS0xU1U7QllNT05USD0z DQpFTkQ6REFZTElHSFQNCkVORDpWVElNRVpPTkUNCkJFR0lOOlZFVkVOVA0KT1JHQU5JWkVSO0NO PSJNY25hbWFyYSwgSm9obiI6bWFpbHRvOmpvaG4ubWNuYW1hcmFAaW50ZWwuY29tDQpBVFRFTkRF RTtST0xFPVJFUS1QQVJUSUNJUEFOVDtQQVJUU1RBVD1ORUVEUy1BQ1RJT047UlNWUD1UUlVFO0NO PSJTdG9rZXMsIElhDQogbiI6bWFpbHRvOmlhbi5zdG9rZXNAaW50ZWwuY29tDQpBVFRFTkRFRTtS T0xFPVJFUS1QQVJUSUNJUEFOVDtQQVJUU1RBVD1ORUVEUy1BQ1RJT047UlNWUD1UUlVFO0NOPSJQ YWkgRywgU3VuDQogaWwiOm1haWx0bzpzdW5pbC5wYWkuZ0BpbnRlbC5jb20NCkFUVEVOREVFO1JP TEU9UkVRLVBBUlRJQ0lQQU5UO1BBUlRTVEFUPU5FRURTLUFDVElPTjtSU1ZQPVRSVUU7Q049Ikh1 LCBKaWF5dSI6DQogbWFpbHRvOmppYXl1Lmh1QGludGVsLmNvbQ0KQVRURU5ERUU7Uk9MRT1SRVEt UEFSVElDSVBBTlQ7UEFSVFNUQVQ9TkVFRFMtQUNUSU9OO1JTVlA9VFJVRTtDTj0iRmVycml0ZXIs IA0KIENpYW4iOm1haWx0bzpjaWFuLmZlcnJpdGVyQGludGVsLmNvbQ0KQVRURU5ERUU7Uk9MRT1S RVEtUEFSVElDSVBBTlQ7UEFSVFNUQVQ9TkVFRFMtQUNUSU9OO1JTVlA9VFJVRTtDTj0iVmFuIEhh YXJlbg0KICwgSGFycnkiOm1haWx0bzpoYXJyeS52YW4uaGFhcmVuQGludGVsLmNvbQ0KQVRURU5E RUU7Uk9MRT1SRVEtUEFSVElDSVBBTlQ7UEFSVFNUQVQ9TkVFRFMtQUNUSU9OO1JTVlA9VFJVRTtD Tj1JbHlhIE1heGltDQogZXRzOm1haWx0bzppLm1heGltZXRzQG92bi5vcmcNCkFUVEVOREVFO1JP TEU9UkVRLVBBUlRJQ0lQQU5UO1BBUlRTVEFUPU5FRURTLUFDVElPTjtSU1ZQPVRSVUU7Q049TWF4 aW1lIENvcQ0KIHVlbGluIChtYXhpbWUuY29xdWVsaW5AcmVkaGF0LmNvbSk6bWFpbHRvOm1heGlt ZS5jb3F1ZWxpbkByZWRoYXQuY29tDQpBVFRFTkRFRTtST0xFPVJFUS1QQVJUSUNJUEFOVDtQQVJU U1RBVD1ORUVEUy1BQ1RJT047UlNWUD1UUlVFO0NOPW92cy1kZXZAb3ANCiBlbnZzd2l0Y2gub3Jn Om1haWx0bzpvdnMtZGV2QG9wZW52c3dpdGNoLm9yZw0KQVRURU5ERUU7Uk9MRT1SRVEtUEFSVElD SVBBTlQ7UEFSVFNUQVQ9TkVFRFMtQUNUSU9OO1JTVlA9VFJVRTtDTj1kZXZAZHBkay5vDQogcmc6 bWFpbHRvOmRldkBkcGRrLm9yZw0KQVRURU5ERUU7Uk9MRT1PUFQtUEFSVElDSVBBTlQ7UEFSVFNU QVQ9TkVFRFMtQUNUSU9OO1JTVlA9VFJVRTtDTj0iTydEcmlzY29sbA0KICwgVGltIjptYWlsdG86 dGltLm9kcmlzY29sbEBpbnRlbC5jb20NCkFUVEVOREVFO1JPTEU9T1BULVBBUlRJQ0lQQU5UO1BB UlRTVEFUPU5FRURTLUFDVElPTjtSU1ZQPVRSVUU7Q049IkZpbm4sIEVtbWEiDQogOm1haWx0bzpl bW1hLmZpbm5AaW50ZWwuY29tDQpBVFRFTkRFRTtST0xFPU9QVC1QQVJUSUNJUEFOVDtQQVJUU1RB VD1ORUVEUy1BQ1RJT047UlNWUD1UUlVFO0NOPVJhbGYgSG9mZm0NCiBhbm46bWFpbHRvOnJhbGYu aG9mZm1hbm5AYWxsZWdyby1wYWNrZXRzLmNvbQ0KQVRURU5ERUU7Uk9MRT1PUFQtUEFSVElDSVBB TlQ7UEFSVFNUQVQ9TkVFRFMtQUNUSU9OO1JTVlA9VFJVRTtDTj0iSGFycmlzLCBKYQ0KIG1lcyBS IjptYWlsdG86amFtZXMuci5oYXJyaXNAaW50ZWwuY29tDQpBVFRFTkRFRTtST0xFPU9QVC1QQVJU SUNJUEFOVDtQQVJUU1RBVD1ORUVEUy1BQ1RJT047UlNWUD1UUlVFO0NOPSJMdXNlLCBQYXVsDQog IEUiOm1haWx0bzpwYXVsLmUubHVzZUBpbnRlbC5jb20NCkFUVEVOREVFO1JPTEU9T1BULVBBUlRJ Q0lQQU5UO1BBUlRTVEFUPU5FRURTLUFDVElPTjtSU1ZQPVRSVUU7Q049aGVtYWwuc2hhaA0KIEBi cm9hZGNvbS5jb206bWFpbHRvOmhlbWFsLnNoYWhAYnJvYWRjb20uY29tDQpBVFRFTkRFRTtST0xF PU9QVC1QQVJUSUNJUEFOVDtQQVJUU1RBVD1ORUVEUy1BQ1RJT047UlNWUD1UUlVFO0NOPSJHb29j aCwgU3RlDQogcGhlbiI6bWFpbHRvOnN0ZXBoZW4uZ29vY2hAd2luZHJpdmVyLmNvbQ0KQVRURU5E RUU7Uk9MRT1PUFQtUEFSVElDSVBBTlQ7UEFSVFNUQVQ9TkVFRFMtQUNUSU9OO1JTVlA9VFJVRTtD Tj1CaW5nIFpoYW86DQogbWFpbHRvOmJpbmd6QG52aWRpYS5jb20NCkFUVEVOREVFO1JPTEU9T1BU LVBBUlRJQ0lQQU5UO1BBUlRTVEFUPU5FRURTLUFDVElPTjtSU1ZQPVRSVUU7Q049IldpbGVzLCBL ZWkNCiB0aCI6bWFpbHRvOmtlaXRoLndpbGVzQGludGVsLmNvbQ0KQVRURU5ERUU7Uk9MRT1PUFQt UEFSVElDSVBBTlQ7UEFSVFNUQVQ9TkVFRFMtQUNUSU9OO1JTVlA9VFJVRTtDTj1QcmFzYW5uYSBN DQogdXJ1Z2VzYW4gKHByYXNhbm5hKTptYWlsdG86cHJhc2FubmFAY2lzY28uY29tDQpBVFRFTkRF RTtST0xFPU9QVC1QQVJUSUNJUEFOVDtQQVJUU1RBVD1ORUVEUy1BQ1RJT047UlNWUD1UUlVFO0NO PSJBbmFueWV2LCBLDQogb25zdGFudGluIjptYWlsdG86a29uc3RhbnRpbi5hbmFueWV2QGludGVs LmNvbQ0KQVRURU5ERUU7Uk9MRT1PUFQtUEFSVElDSVBBTlQ7UEFSVFNUQVQ9TkVFRFMtQUNUSU9O O1JTVlA9VFJVRTtDTj0iWXUsIERlIjptYWkNCiBsdG86ZGUueXVAaW50ZWwuY29tDQpBVFRFTkRF RTtST0xFPU9QVC1QQVJUSUNJUEFOVDtQQVJUU1RBVD1ORUVEUy1BQ1RJT047UlNWUD1UUlVFO0NO PVRvbSBCYXJiZXQNCiB0ZTptYWlsdG86dG9tLmJhcmJldHRlQHVjbG91dmFpbi5iZQ0KQVRURU5E RUU7Uk9MRT1PUFQtUEFSVElDSVBBTlQ7UEFSVFNUQVQ9TkVFRFMtQUNUSU9OO1JTVlA9VFJVRTtD Tj0iWmVuZywgWmhpYw0KIGhhb1giOm1haWx0bzp6aGljaGFveC56ZW5nQGludGVsLmNvbQ0KQVRU RU5ERUU7Uk9MRT1PUFQtUEFSVElDSVBBTlQ7UEFSVFNUQVQ9TkVFRFMtQUNUSU9OO1JTVlA9VFJV RTtDTj0iS25pZ2h0LCBKbw0KIHNodWEiOm1haWx0bzpKb3NodWEuS25pZ2h0QG5ldHNjb3V0LmNv bQ0KQVRURU5ERUU7Uk9MRT1PUFQtUEFSVElDSVBBTlQ7UEFSVFNUQVQ9TkVFRFMtQUNUSU9OO1JT VlA9VFJVRTtDTj0iU2NoZXVyaWNoLA0KICBKYW4iOm1haWx0bzpqYW4uc2NoZXVyaWNoQGVyaWNz c29uLmNvbQ0KQVRURU5ERUU7Uk9MRT1PUFQtUEFSVElDSVBBTlQ7UEFSVFNUQVQ9TkVFRFMtQUNU SU9OO1JTVlA9VFJVRTtDTj0iU2luYWksIEFzYQ0KIGYiOm1haWx0bzphc2Fmc2lAcmFkd2FyZS5j b20NCkRFU0NSSVBUSU9OO0xBTkdVQUdFPWVuLVVTOlVwZGF0ZWQgd2l0aCBtZWV0aW5nIGFuZCBw cmVzZW50YXRpb24uXG5cblRoaXMgbQ0KIGVldGluZyBpcyBhIGZvbGxvdy11cCB0byB0aGUgcHJl dmlvdXMgY2FsbHMgaW4gTWFyY2ggYW5kIHRoZSBkaXNjdXNzaW9uIHdoDQogaWNoIGhhcyBoYXBw ZW5lZCBzaW5jZSBvbiB0aGUgRFBESyBhbmQgT1ZTIG1haWxpbmcgbGlzdHMuXG5cblRocmVlIGFw cHJvYWMNCiBoZXMgd2VyZSBwcmVzZW50ZWQgaW4gdGhlIHByZXZpb3VzIGNhbGxzOlxuXG7igKIg ICAgICAgIkRlZmVyIHdvcmsiOiBIYW5kbA0KIGUgRE1BIGNvbXBsZXRpb25zIGF0IE9WUyBQTUQg dGhyZWFkIGxldmVsXG7igKIgICAgICAgInYzIjogSGFuZGxlIERNQSBUeCBjDQogb21wbGV0aW9u cyBmcm9tIFJ4IGNvbnRleHQuXG7igKIgICAgICAgInYzICsgbG9ja2xlc3MgcmluZyI6IEhhbmRs ZSBETUEgVHgNCiAgY29tcGxldGlvbnMgZnJvbSBSeCBjb250ZXh0ICsgbG9ja2xlc3MgcmluZyB0 byBhdm9pZCBjb250ZW50aW9uLlxuXG5BZnRlcg0KICB0aGVzZSBjYWxsc1wsIHRoZSBkaXNjdXNz aW9uIGNvbnRpbnVlZCBvbiB0aGUgRFBESyBhbmQgT1ZTIG1haWxpbmcgbGlzdHNcDQogLCB3aGVy ZSBhbiBhbHRlcm5hdGUgYXBwcm9hY2ggaGFzIGJlZW4gcHJvcG9zZWQuXG5cblRoZSBuZXdseS1z dWdnZXN0ZWQgYXANCiBwcm9hY2g6XG5cbuKAoiAgICAgICAiRE1BIFZpcnRRIENvbXBsZXRpb25z IjogQWRkIGFuIGFkZGl0aW9uYWwgdHJhbnNhY3Rpbw0KIG4ocykgdG8gZWFjaCBidXJzdCBvZiBE TUEgY29waWVzXDsgYSBzcGVjaWFsIHRyYW5zYWN0aW9uIGNvbnRhaW5pbmcgdGhlIG1lDQogbW9y eSB3cml0ZSBvcGVyYXRpb24gdGhhdCBtYWtlcyB0aGUgZGVzY3JpcHRvcnMgYXZhaWxhYmxlIHRv IHRoZSBWaXJ0aW8gZHINCiBpdmVyLiBBbHNvIHNlcGFyYXRlIHRoZSBhY3R1YWwga2ljayBvZiB0 aGUgZ3Vlc3Qgd2l0aCB0aGUgZGF0YSB0cmFuc2Zlci5cbg0KIFxuQWdlbmRhIGZvciBjYWxsIDI2 dGggQXByaWw6XG5cbuKAoiAgICAgICBJbnRlbCB0ZWFtIHdpbGwgcHJlc2VudCBzbGlkZXMgDQog dG8gaGVscCB1bmRlcnN0YW5kIHRoZSBkaWZmZXJlbmNlcyBpbiBhcmNoaXRlY3R1cmUvZGVzaWdu cy5cbuKAoiAgICAgICBEaXMNCiBjdXNzIHRoZSBzdHJlbmd0aHMvd2Vha25lc3Nlcy9mZWFzaWJp bGl0eSBvZiB0aGUgIkRNQSBWaXJ0USBDb21wbGV0aW9ucyIgYQ0KIHBwcm9hY2hcLCBjb21wYXJp bmcgdG8gY3VycmVudCBiZXN0LWNhbmRpZGF0ZSAiRGVmZXIgV29yayIuXG7igKIgICAgICAgV29y DQogayB0b3dhcmQgc2luZ2xlLXNvbHV0aW9uIHRvIGJlIGFjY2VwdGVkIHVwc3RyZWFtIGluIERQ REsgYW5kIE9WU1xuXG5TbGlkZXMNCiA6IGh0dHBzOi8vZ2l0aHViLmNvbS9TdW5pbC1QYWktRy9P VlMtRFBESy1wcmVzZW50YXRpb24tc2hhcmUvYmxvYi9tYWluL292cw0KIF9kYXRhcGF0aF9kZXNp Z25fMjAyMiUyMHNlc3Npb24lMjAzLnBkZlxuXG5Hb29nbGUgTWVldDogaHR0cHM6Ly9tZWV0Lmdv b2dsDQogZS5jb20vaG1lLXB5Z2YtYmZiXG5cblxuXG5cblxuDQpVSUQ6MDQwMDAwMDA4MjAwRTAw MDc0QzVCNzEwMUE4MkUwMDgwMDAwMDAwMDAwREVEN0E1OTc1NUQ4MDEwMDAwMDAwMDAwMDAwMDAN CiAwMTAwMDAwMDAxRTg1Mjg0RTJDMTU5MzQxODE4QUNEQzMwODczNzRFMQ0KU1VNTUFSWTtMQU5H VUFHRT1lbi1VUzpPVlMgRFBESyBETUEtRGV2IGxpYnJhcnkvRGVzaWduIERpc2N1c3Npb24NCkRU U1RBUlQ7VFpJRD1HTVQgU3RhbmRhcmQgVGltZToyMDIyMDQyNlQxNDAwMDANCkRURU5EO1RaSUQ9 R01UIFN0YW5kYXJkIFRpbWU6MjAyMjA0MjZUMTUwMDAwDQpDTEFTUzpQVUJMSUMNClBSSU9SSVRZ OjUNCkRUU1RBTVA6MjAyMjA0MjVUMTUxOTE2Wg0KVFJBTlNQOk9QQVFVRQ0KU1RBVFVTOkNPTkZJ Uk1FRA0KU0VRVUVOQ0U6MQ0KTE9DQVRJT047TEFOR1VBR0U9ZW4tVVM6aHR0cHM6Ly9tZWV0Lmdv b2dsZS5jb20vaG1lLXB5Z2YtYmZiDQpYLU1JQ1JPU09GVC1DRE8tQVBQVC1TRVFVRU5DRToxDQpY LU1JQ1JPU09GVC1DRE8tT1dORVJBUFBUSUQ6MTAwMTczNjE2Ng0KWC1NSUNST1NPRlQtQ0RPLUJV U1lTVEFUVVM6VEVOVEFUSVZFDQpYLU1JQ1JPU09GVC1DRE8tSU5URU5ERURTVEFUVVM6QlVTWQ0K WC1NSUNST1NPRlQtQ0RPLUFMTERBWUVWRU5UOkZBTFNFDQpYLU1JQ1JPU09GVC1DRE8tSU1QT1JU QU5DRToxDQpYLU1JQ1JPU09GVC1DRE8tSU5TVFRZUEU6MA0KWC1NSUNST1NPRlQtRE9OT1RGT1JX QVJETUVFVElORzpGQUxTRQ0KWC1NSUNST1NPRlQtRElTQUxMT1ctQ09VTlRFUjpGQUxTRQ0KWC1N SUNST1NPRlQtTE9DQVRJT05TOlsgeyAiRGlzcGxheU5hbWUiIDogImh0dHBzOi8vbWVldC5nb29n bGUuY29tL2htZS1weWdmDQogLWJmYiJcLCAiTG9jYXRpb25Bbm5vdGF0aW9uIiA6ICIiXCwgIkxv Y2F0aW9uU291cmNlIiA6IDBcLCAiVW5yZXNvbHZlZCIgOiANCiB0cnVlXCwgIkxvY2F0aW9uVXJp IiA6ICIiIH0gXQ0KRU5EOlZFVkVOVA0KRU5EOlZDQUxFTkRBUg0K --_000_DM6PR11MB3227E79B99EBD4DFE9D35633FCF89DM6PR11MB3227namp_--