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 X-Spam-Level: X-Spam-Status: No, score=-5.3 required=3.0 tests=BAYES_00, HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,NICE_REPLY_A,SPF_HELO_NONE, SPF_PASS,USER_AGENT_SANE_1 autolearn=no autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id DFDD2C433C1 for ; Fri, 26 Mar 2021 16:08:34 +0000 (UTC) Received: from lists.ozlabs.org (lists.ozlabs.org [112.213.38.117]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id 4B5AE61A2B for ; Fri, 26 Mar 2021 16:08:34 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 4B5AE61A2B Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=linux.intel.com Authentication-Results: mail.kernel.org; spf=pass smtp.mailfrom=openbmc-bounces+openbmc=archiver.kernel.org@lists.ozlabs.org Received: from boromir.ozlabs.org (localhost [IPv6:::1]) by lists.ozlabs.org (Postfix) with ESMTP id 4F6RjC2TNfz3bxV for ; Sat, 27 Mar 2021 03:08:31 +1100 (AEDT) Authentication-Results: lists.ozlabs.org; spf=none (no SPF record) smtp.mailfrom=linux.intel.com (client-ip=192.55.52.88; helo=mga01.intel.com; envelope-from=jason.m.bills@linux.intel.com; receiver=) Received: from mga01.intel.com (mga01.intel.com [192.55.52.88]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by lists.ozlabs.org (Postfix) with ESMTPS id 4F6Rht38KNz3bnJ for ; Sat, 27 Mar 2021 03:08:13 +1100 (AEDT) IronPort-SDR: Kr0IcI8Zppp8qgqMAafQXL5EbACV3vwssjus0zbkwcrfSbmseRktivUN5/nScV0duxlSS7EiUR b/qZK7krf9qg== X-IronPort-AV: E=McAfee;i="6000,8403,9935"; a="211337718" X-IronPort-AV: E=Sophos;i="5.81,280,1610438400"; d="scan'208";a="211337718" Received: from orsmga006.jf.intel.com ([10.7.209.51]) by fmsmga101.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 26 Mar 2021 09:08:09 -0700 IronPort-SDR: +ztCSi4oxETc2qjsfvNP0wsAvVoe7l43e8XfWPkjlGNyaeMnP1hdvwi1Mcl+sjIHaXjH+uviOI 5qaS1gBbajZw== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.81,280,1610438400"; d="scan'208";a="377288541" Received: from linux.intel.com ([10.54.29.200]) by orsmga006.jf.intel.com with ESMTP; 26 Mar 2021 09:08:09 -0700 Received: from [10.209.50.200] (jmbills-MOBL.amr.corp.intel.com [10.209.50.200]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by linux.intel.com (Postfix) with ESMTPS id 3A66C580716 for ; Fri, 26 Mar 2021 09:08:09 -0700 (PDT) Subject: Re: IPMI SEL Parsing To: openbmc@lists.ozlabs.org References: <0a6dd101-fbea-7fdf-b9a6-3895b48a7f47@linux.ibm.com> <5197cbe7-1a8b-80ab-2712-9a8f07457432@linux.vnet.ibm.com> <5bcbc6b0-b9d3-a002-0f24-97bd91ba5bf8@linux.vnet.ibm.com> From: "Bills, Jason M" Message-ID: <36bafa0b-5dd3-6da5-b18d-847ee4a46459@linux.intel.com> Date: Fri, 26 Mar 2021 09:08:08 -0700 User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:60.0) Gecko/20100101 Thunderbird/60.8.0 MIME-Version: 1.0 In-Reply-To: <5bcbc6b0-b9d3-a002-0f24-97bd91ba5bf8@linux.vnet.ibm.com> Content-Type: text/plain; charset=utf-8; format=flowed Content-Language: en-US Content-Transfer-Encoding: base64 X-BeenThere: openbmc@lists.ozlabs.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Development list for OpenBMC List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: openbmc-bounces+openbmc=archiver.kernel.org@lists.ozlabs.org Sender: "openbmc" DQoNCk9uIDMvMjYvMjAyMSA2OjQ3IEFNLCBCcnVjZSBNaXRjaGVsbCB3cm90ZToNCj4gT24g My8yNi8yMDIxIDAxOjA0LCByZ3JzIHdyb3RlOg0KPj4gSGkgTWF0dCwgQnJ1Y2UsDQo+Pg0K Pj4gWWVzLCBTRUxzIGZvciBzZW5zb3IgZXZlbnRzLCB0aHJlc2hvbGQgYWxhcm1zLg0KPj4g V2hlbiBhIHNlbnNvciB2YWx1ZSBpcyBiZXlvbmQgdGhlIHJhbmdlIG9mIHRocmVzaG9sZHMs IHdlIG5lZWQgdG8gbG9nIA0KPj4gdGhlIFNFTC4NCj4+DQo+PiBNeSB1bmRlcnN0YW5kaW5n IG9mIE9wZW5CTUMgaW1wbGVtZW50YXRpb246DQo+PiBkYnVzLXNlbnNvcnMvcGhvc3Bob3It aHdtb24gbG9ncyBkLWJ1cyBlcnJvcnMgKGxvZ2dpbmcvZW50cnkpLg0KPj4gRWFjaCBlbnRy eSBvYmplY3QgaGFzIGEgImNhbGxvdXQiLCB0aGF0IGlzIHVzZWQgYnkgcGhvc3Bob3ItaXBt aS1ob3N0IA0KPj4gdG8gY29udmVydCBkYnVzLWVycm9yIGxvZ3MgdG8gSVBNSSBTRUwgKDE2 IGJ5dGVzKS4NClBsZWFzZSBub3RlIHRoYXQgdGhlcmUgYXJlIHR3byBsb2NhdGlvbnMgdGhh dCBTRUwgZW50cmllcyBjYW4gYmUgbG9nZ2VkOg0KMS4gRC1CdXMNCjIuIEpvdXJuYWwvc3lz bG9nDQoNCkl0IGxvb2tzIGxpa2UgeW91IGFyZSB1c2luZyBELUJ1cyB3aGljaCBJJ20gbm90 IGZhbWlsaWFyIHdpdGguDQoNCj4+DQo+Pg0KPj4gVGhlIGlzc3VlIEkgYW0gZmFjaW5nOg0K Pj4gMS4gU0VMIGNyZWF0aW9uOiB3aGVuIEkgY2hhbmdlIHNlbnNvciB0aHJlc2hvbGRzLCBJ IGRvbid0IHNlZSBhIGxvZyANCj4+IGdlbmVyYXRlZCBmb3IgdGhhdCBzZW5zb3IuDQo+PiAo cGhvc3Bob3Itc2VsLWxvZ2dlciBoYXMgdGhlIGNhcGFiaWxpdHkgdG8gbW9uaXRvciB0aHJl c2hvbGQgZXZlbnRzIA0KPj4gYW5kIGxvZyBTRUwuIEJ1dCBwaG9zcGhvci1od21vbiBkb2Vz bid0IGdlbmVyYXRlIHRoZSBzaWduYWwgdGhhdCANCj4+IHBob3NwaG9yLXNlbC1sb2dnZXIg aXMgbG9va2luZyBmb3IuKQ0KVGhlcmUgaXMgYW5vdGhlciB0aHJlYWQgb24gdGhlIG1haWxp bmcgbGlzdCB0aGF0IGlzIGRpc2N1c3NpbmcgdGhpcyANCmlzc3VlOiBRdWVzdGlvbiBvZiBw aG9zcGhvci1zZWwtbG9nZ2VyLiAgV2UgY2FuIHVzZSB0aGF0IHRocmVhZCB0byANCnJlc29s dmUgdGhpcyBzaWduYWxpbmcgaXNzdWUuDQoNCj4+DQo+PiAyLiBQcmludGluZyBTRUxzOiB3 aGVuIEkgbWFudWFsbHkgYWRkIGxvZ2dpbmcvZW50cnkgdXNpbmcgYnVzY3RsLCANCj4+IGlw bWl0b29sIHByaW50cyAiVW5kZXRlcm1pbmVkIEhhcmR3YXJlIEZhaWx1cmUiLg0KPj4gKGxv Z2dpbmcvZW50cnkvPG51bWJlcj4gaXMgbm90IGhhdmluZyBjYWxsb3V0IGFzc29jaWF0aW9u IHRvIHNlbnNvci9GUlUpDQo+Pg0KPj4gV2hlcmUvd2hhdCBzaG91bGQgSSBjb25maWd1cmUg c28gdGhhdCBTRUxzIGFyZSBnZW5lcmF0ZWQgYW5kIHBhcnNlZCANCj4+IHByb3Blcmx5Pw0K Pj4gRGlmZmVyZW50IHBpZWNlcyBvZiBJUE1JIGZ1bmN0aW9uYWxpdHkgaXMgc2NhdHRlcmVk IGFtb25nIHZhcmlvdXMgDQo+PiBwYWNrYWdlcywgSSdtIG5vdCBhYmxlIHRvIHN0aXRjaCB0 aGVtIHRvZ2V0aGVyLg0KPj4NCj4+IFRoYW5rcywNCj4+IFJhag0KPj4NCj4+IOKAkOKAkOKA kOKAkOKAkOKAkOKAkCBPcmlnaW5hbCBNZXNzYWdlIOKAkOKAkOKAkOKAkOKAkOKAkOKAkA0K Pj4gT24gRnJpZGF5LCAyNiBNYXJjaCAyMDIxIDAzOjU5LCBCcnVjZSBNaXRjaGVsbCANCj4+ IDxicnVjZS5taXRjaGVsbEBsaW51eC52bmV0LmlibS5jb20+IHdyb3RlOg0KPj4NCj4+PiBP biAzLzI1LzIwMjEgMTU6MTYsIE1hdHQgU3BpbmxlciB3cm90ZToNCj4+Pg0KPj4+PiBPbiAz LzI1LzIwMjEgNzo0OSBBTSwgcmdycyB3cm90ZToNCj4+Pj4NCj4+Pj4+IEhpIEFsbCwgImlw bWl0b29sIHNlbCBsaXN0IiBhbHdheXMgc2hvd3MgdGhlIHJlY29yZHMgYXMgIlVuZGV0ZXJt aW5lZA0KPj4+Pj4gc3lzdGVtIGhhcmR3YXJlIGZhaWx1cmUiLiBMb2dnaW5nL2VudHJ5IGRv ZXNuJ3QgaGF2ZSB0aGUgcHJvcGVyDQo+Pj4+PiBhc3NvY2lhdGlvbi4gSG93IGRvIEkgYWRk IGFzc29jaWF0aW9uIGZvciBsb2cgZW50cmllcyBhbmQgcmVzcGVjdGl2ZQ0KPj4+Pj4gRlJV cz8gV2hpY2ggcGFja2FnZSBjcmVhdGVzIExvZ2dpbmcvZW50cnkgSGkgQWxsLA0KPj4+Pj4g ImlwbWl0b29sIHNlbCBsaXN0IiBhbHdheXMgc2hvd3MgdGhlIHJlY29yZHMgYXMgIlVuZGV0 ZXJtaW5lZCBzeXN0ZW0NCj4+Pj4+IGhhcmR3YXJlIGZhaWx1cmUiLg0KPj4+Pj4gTG9nZ2lu Zy9lbnRyeSBkb2Vzbid0IGhhdmUgdGhlIHByb3BlciBhc3NvY2lhdGlvbi4gSG93IGRvIEkg YWRkDQo+Pj4+PiBhc3NvY2lhdGlvbiBmb3IgbG9nIGVudHJpZXMgYW5kIHJlc3BlY3RpdmUg RlJVcz8NCj4+Pj4+IFdoaWNoIHBhY2thZ2UgY3JlYXRlcyBMb2dnaW5nL2VudHJ5IG9iamVj dCBvbiBzZW5zb3IgZXZlbnRzPyBJIGRvbid0DQo+Pj4+PiBzZWUgYW55IGNhbGwgdG8gU2Vs QWRkIGluIHBob3NwaG9yLWh3bW9uLg0KPj4+Pg0KPj4+PiBXaGF0IGFyZSB0aGUgU0VMcyBm b3IgLSB0aHJlc2hvbGQgYWxhcm1zLCBvciBzb21lIG90aGVyIHNvcnQgb2YgDQo+Pj4+IGZh aWx1cmVzPw0KPj4+Pg0KPj4+Pj4gVGhhbmtzLA0KPj4+Pj4gUmFqDQo+Pj4NCj4+PiBNeSBh c3N1bXB0aW9uIGlzIHRoYXQgbm90IGV2ZXJ5b25lIGluIHRoZSBPcGVuQk1DIGNvbW11bml0 eSBoYXMNCj4+PiBleHRlbnNpdmUgdXNlIHdpdGggSVBNSSwgdGh1cyB0aGlzIGp1c3QgdG8g c2hhcmUgaW5mb3JtYXRpb24uDQo+Pj4gU29ycnkgdG8gdGhvc2Ugd2hvIGFscmVhZHkga25v dyB0aGlzIGluZm9ybWF0aW9uIGFuZCBoYXZlIGJlZW4NCj4+PiB1c2luZyBpdCBmb3IgeWVh cnMuDQo+Pj4NCj4+PiBUaGlzIGlzIHNoYXJlIGJhY2tncm91bmQgYXMgdG8gdGhlIGhpc3Rv cnkgb3IgYmFja2dyb3VuZCBvZiB0aGUNCj4+PiBJUE1JIFNFTDsgcHJvYmFibHkgbW9yZSBp bmZvcm1hdGlvbiB0aGFuIHlvdSBuZWVkLiBCdXQgSSB3b3VsZA0KPj4+IHJhdGhlciBzaGFy ZSAxMCUgdG9vIG11Y2ggdGhhbiBiZSBzaG9ydCBieSAwLjElLg0KPj4+DQo+Pj4gwqBGcm9t IEludGVsbGlnZW50IFBsYXRmb3JtIE1hbmFnZW1lbnQgSW50ZXJmYWNlIFNwZWNpZmljYXRp b24gU2Vjb25kDQo+Pj4gR2VuZXJhdGlvbiB2Mi4wDQo+Pj4gRG9jdW1lbnQgUmV2aXNpb24g MS4xIE9jdG9iZXIgMSwgMjAxMw0KPj4+DQo+Pj4gMzEuIFN5c3RlbSBFdmVudCBMb2cgKFNF TCkgQ29tbWFuZHM6DQo+Pj4NCj4+PiBUaGUgU3lzdGVtIEV2ZW50IExvZyBpcyBhIG5vbi12 b2xhdGlsZSByZXBvc2l0b3J5IGZvciBzeXN0ZW0gZXZlbnRzIGFuZA0KPj4+IGNlcnRhaW4g c3lzdGVtIGNvbmZpZ3VyYXRpb24gaW5mb3JtYXRpb24uIFRoZSBkZXZpY2UgdGhhdCBmaWVs ZHMgdGhlDQo+Pj4gY29tbWFuZHMgdG8gYWNjZXNzIHRoZSBTRUwgaXMgcmVmZXJyZWQgdG8g YXMgdGhlIFN5c3RlbSBFdmVudCBMb2cgRGV2aWNlDQo+Pj4gb3IgU0VMIERldmljZS4NCj4+ Pg0KPj4+IEV2ZW50IE1lc3NhZ2UgaW5mb3JtYXRpb24gaXMgbm9ybWFsbHkgd3JpdHRlbiBp bnRvIHRoZSBTRUwgYWZ0ZXIgYmVpbmcNCj4+PiByZWNlaXZlZCBieSB0aGUgRXZlbnQgUmVj ZWl2ZXIgZnVuY3Rpb25hbGl0eSBpbiB0aGUgRXZlbnQgUmVjZWl2ZXIgDQo+Pj4gRGV2aWNl Lg0KPj4+DQo+Pj4gVGhlIFNFTCBEZXZpY2UgY29tbWFuZHMgYXJlIHN0cnVjdHVyZWQgaW4g c3VjaCBhIHdheSB0aGF0IHRoZSBTRUwgRGV2aWNlDQo+Pj4gY291bGQgYWN0dWFsbHkgYmUg c2VwYXJhdGVkIGZyb20gdGhlIEV2ZW50IFJlY2VpdmVyIERldmljZS4gSW4gd2hpY2gNCj4+ PiBjYXNlIGl0IHdvdWxkIGJlIHRoZSByZXNwb25zaWJpbGl0eSBvZiB0aGUgRXZlbnQgUmVj ZWl2ZXIgRGV2aWNlIHRvIHNlbmQNCj4+PiB0aGUgYXBwcm9wcmlhdGUg4oCYQWRkIFNFTCBF bnRyeeKAmSBtZXNzYWdlIGRpcmVjdGx5IHRvIHRoZSBTRUwgRGV2aWNlLCBvcg0KPj4+IHRv IHBhc3MgdGhlIGVxdWl2YWxlbnQgcmVxdWVzdCB0aHJvdWdoIGFuIGludGVybWVkaWFyeS4N Cj4+Pg0KPj4+IFNFTCBFbnRyaWVzIGhhdmUgYSB1bmlxdWUg4oCYUmVjb3JkIElE4oCZIGZp ZWxkLiBUaGlzIGZpZWxkIGlzIHVzZWQgZm9yDQo+Pj4gcmV0cmlldmluZyBsb2cgZW50cmll cyBmcm9tIHRoZSBTRUwuIFNFTCByZWFkaW5nIGNhbiBiZSBkb25lIGluIGENCj4+PiDigJhy YW5kb20gYWNjZXNz4oCZIG1hbm5lci4gVGhhdCBpcywgU0VMIEVudHJpZXMgY2FuIGJlIHJl YWQgaW4gYW55IG9yZGVyDQo+Pj4gYXNzdW1pbmcgdGhhdCB0aGUgUmVjb3JkIElEIGlzIGtu b3duLg0KPj4+DQo+Pj4gU0VMIFJlY29yZCBJRHMgMDAwMGggYW5kIEZGRkZoIGFyZSByZXNl cnZlZCBmb3IgZnVuY3Rpb25hbCB1c2UgYW5kIGFyZQ0KPj4+IG5vdCBsZWdhbCBJRCB2YWx1 ZXMuIFJlY29yZCBJRHMgYXJlIGhhbmRsZXMuIFRoZXkgYXJlIG5vdCByZXF1aXJlZCB0byBi ZQ0KPj4+IHNlcXVlbnRpYWwgb3IgY29uc2VjdXRpdmUuIEFwcGxpY2F0aW9ucyBzaG91bGQg bm90IGFzc3VtZSB0aGF0IFNFTA0KPj4+IFJlY29yZCBJRHMgd2lsbCBmb2xsb3cgYW55IHBh cnRpY3VsYXIgbnVtZXJpYyBvcmRlcmluZy4NCj4+Pg0KPj4+IFNFTCBSZWNvcmRzIGFyZSBr ZXB0IGFzIGFuIG9yZGVyZWQgbGlzdC4gVGhhdCBpcywgYXBwZW5kaW5nIGFuZCBkZWxldGlu Zw0KPj4+IGluZGl2aWR1YWwgZW50cmllcyBkb2VzIG5vdCBjaGFuZ2UgdGhlIGFjY2VzcyBv cmRlciBvZiBlbnRyaWVzIHRoYXQNCj4+PiBwcmVjZWRlIG9yIGZvbGxvdyB0aGUgcG9pbnQg b2YgYWRkaXRpb24gb3IgZGVsZXRpb24uDQo+Pj4NCj4+PiAtLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tIA0KPj4+DQo+Pj4NCj4+PiBCcnVjZQ0KPj4NCj4+DQo+IA0KPiBBZGRp bmcgSmFzb24gdG8gdGhlIFRPIGxpc3QuwqAgQW55IHRob3VnaHRzIG9uIHRoaXMgSmFzb24/ DQo+IA0K