From: Yehowshua Date: Fri, 8 May 2020 12:49:04 +0000 (-0400) Subject: Re: [libre-riscv-dev] minimum viable ASIC X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=92f6b362cd8272f98e907381efc754e544a1beff;p=libre-riscv-dev.git Re: [libre-riscv-dev] minimum viable ASIC --- diff --git a/40/08bdf6bae7ea9edb008fd2996e6a1b7dd1503a b/40/08bdf6bae7ea9edb008fd2996e6a1b7dd1503a new file mode 100644 index 0000000..27231f0 --- /dev/null +++ b/40/08bdf6bae7ea9edb008fd2996e6a1b7dd1503a @@ -0,0 +1,175 @@ +Return-path: +Envelope-to: publicinbox@libre-riscv.org +Delivery-date: Fri, 08 May 2020 13:49:10 +0100 +Received: from localhost ([::1] helo=libre-riscv.org) + by libre-soc.org with esmtp (Exim 4.89) + (envelope-from ) + id 1jX2RC-0003tY-4N; Fri, 08 May 2020 13:49:10 +0100 +Received: from mail-eopbgr700132.outbound.protection.outlook.com + ([40.107.70.132] helo=NAM04-SN1-obe.outbound.protection.outlook.com) + by libre-soc.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) + (Exim 4.89) (envelope-from ) + id 1jX2RA-0003tJ-Mk + for libre-riscv-dev@lists.libre-riscv.org; Fri, 08 May 2020 13:49:08 +0100 +ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; + b=OxJI7Rjt5f19xmk6VmOKjuzVUg+VBqOuHtLbmuMGDnDa/EA2J1Alf64OJUbQtB4Qz1jE+mtbgm0L8hGWC3hLkU6aoyT833eXRgMEByFYVgDI/X0VwqwiZ4M+Y3ILyuIqQCwBfq18NoOXHrX9CuHlseay089M6e5mGY9o4cSou/HtkylWC1YWw8f8QDvHcdY6Xqeydbe2fFFT007MyHEK+EcR5f01oPzMt6PtUh7r5K/j+7Iza04s1INK75pOECk4Z/8arjb5CRwkDyt7IA7UJ3hJnWlF3OSqCqSEcmZwP0prlq3jdUrsC9aku0rkH0A2P/uxK2pGEA0gVQYOVHTWvg== +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=ZVzDeclLq4u7/Ps/S7n18TVTX0ElqnxpTLY5e+m4GGY=; + b=TuivM/lQeKwooHiQJ+IudW6YMMu801VzBl7i/Nz1pomDjeGiQqpL6m13sO5h+03ljByysKTPoG3ePNKtT7YLe67LvZr2bhA5Mb182YZ2QQiUsBtoeSMsIspu+OJ7xFQj2KSKvHAL/kChJWUw4lxWsUTRANURPYCNTOdJoUsccTuJjROS6ZFhWK6eBMD1YlvQKJBf3VI6H+KyGMiN3ddn7fxUooes/qK4cT7qhCipeHgikAaGm7SUHRfwMoq0zyEYITi4d3/gEJik2UIAyDHr1bCNupg8oJd5/744ocphMRl5QfUHgsEvsjRhu7QRwq9bD2Ia1cDE4TtMMWDqcIwBdA== +ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass + smtp.mailfrom=gatech.edu; dmarc=pass action=none header.from=gatech.edu; + dkim=pass header.d=gatech.edu; arc=none +DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gatech.edu; + s=selector1; + h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; + bh=ZVzDeclLq4u7/Ps/S7n18TVTX0ElqnxpTLY5e+m4GGY=; + b=lN3vq3thYad9aXBkg0As/ecmW2p13ni3YcN/IJ8QsCKU0KrxJxkXis31v19I43S1GcmWNaaD10vDueAhhMGa9o+scz8U6iL7UTafTn3aqGJAVQqoGrXJqBsutesP3vWnD+KznqBepzcduL03e3zhHjRlGgPeAOlTDgwlyQr9AMo= +Authentication-Results: lists.libre-riscv.org; dkim=none (message not signed) + header.d=none; lists.libre-riscv.org; + dmarc=none action=none header.from=gatech.edu; +Received: from BL0PR07MB3908.namprd07.prod.outlook.com (2603:10b6:207:3f::14) + by BL0PR07MB5012.namprd07.prod.outlook.com (2603:10b6:208:4d::15) + with Microsoft SMTP Server (version=TLS1_2, + cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.2958.20; Fri, 8 May + 2020 12:49:06 +0000 +Received: from BL0PR07MB3908.namprd07.prod.outlook.com + ([fe80::bc9c:c809:95a2:527c]) by BL0PR07MB3908.namprd07.prod.outlook.com + ([fe80::bc9c:c809:95a2:527c%7]) with mapi id 15.20.2979.028; Fri, 8 May 2020 + 12:49:06 +0000 +From: Yehowshua +Date: Fri, 8 May 2020 08:49:04 -0400 +References: +To: Libre-RISCV General Development +In-Reply-To: +Message-Id: +X-Mailer: Apple Mail (2.3608.80.23.2.2) +X-ClientProxiedBy: BN8PR15CA0064.namprd15.prod.outlook.com + (2603:10b6:408:80::41) To BL0PR07MB3908.namprd07.prod.outlook.com + (2603:10b6:207:3f::14) +MIME-Version: 1.0 +X-MS-Exchange-MessageSentRepresentingType: 1 +Received: from yehowshuas-mbp.hsd1.ga.comcast.net (73.43.100.116) by + BN8PR15CA0064.namprd15.prod.outlook.com (2603:10b6:408:80::41) with Microsoft + SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id + 15.20.2979.27 via Frontend Transport; Fri, 8 May 2020 12:49:06 +0000 +X-Mailer: Apple Mail (2.3608.80.23.2.2) +X-Originating-IP: [73.43.100.116] +X-MS-PublicTrafficType: Email +X-MS-Office365-Filtering-Correlation-Id: d2749a05-e1e5-4fd8-8eeb-08d7f34e31b3 +X-MS-TrafficTypeDiagnostic: BL0PR07MB5012: +X-Microsoft-Antispam-PRVS: +X-GT-Tenant: 042d12d7-75fe-4547-b5b6-0573f80f829d +X-MS-Oob-TLC-OOBClassifiers: OLM:9508; +X-Forefront-PRVS: 039735BC4E +X-MS-Exchange-SenderADCheck: 1 +X-Microsoft-Antispam: BCL:0; +X-Microsoft-Antispam-Message-Info: G3x42iy4IIrUYbC2IN+hZV6BanUR9sB74TBvZP/M6JnM9raHdcpxtJD7bqtvTCXUDZUa1o7pv9G1jwqWgRlVTLJAPyu7C5iDQmd4vwtWeNwMSy+5wlljyXkHJZP+PavxHcJ4u5oHcDPJDmyMoHYL91fmnw8fC0pZpaQrQXqk90/+33QAYEAnf7vFyvcA0SoPBbDp54mTmz98sS0g86QetDhdm6QCUYGNQFT6g8T/g87VERjFbIRpGSkX3Fz4BOaQb9X3qWaCiMfECgi+fIgbVfNMFfwxOhnCtK+aeqljLod7q9RpLc4KTYSjpb36/Ti3U36lFm8iCnHhdb3dkr9XG4u8N6tGEUMpqxkkISdYXz64WcbK3KvHy7l/g+3el6a72JstiARM6CeqtF5nRvWeyD3RKB7PXhG10XsTOWsJs4xgj24YJyuXzPkqjv/Vg3TU07FIkyQcQvTEI68B4BUVUw0Ce3XcQRvaiAprTuJr1q1jGuqRdWiiA9KMW5IRwhtNjoZKX5kCBPGXo+GbSq0J0a6YP7A5JJe3zsL5h+ugIV8cMjEzonUCxjhmvENcXzuFYdonw1TsQXhz+xgLbHGCaRUnQS7sgmq1mGFs4qSC/ozKcH6yls1oecrsCiIoU1Kb +X-Forefront-Antispam-Report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; + IPV:NLI; SFV:NSPM; H:BL0PR07MB3908.namprd07.prod.outlook.com; PTR:; CAT:NONE; + SFTY:; + SFS:(4636009)(366004)(39860400002)(376002)(346002)(136003)(396003)(33430700001)(2906002)(316002)(786003)(52116002)(53546011)(26005)(16526019)(6506007)(33656002)(186003)(66946007)(66476007)(66556008)(8936002)(8676002)(6916009)(36756003)(6512007)(75432002)(83320400001)(83080400001)(966005)(86362001)(83310400001)(83290400001)(83280400001)(478600001)(33440700001)(6486002)(5660300002)(956004)(2616005)(83300400001)(82953001); + DIR:OUT; SFP:1102; +X-MS-Exchange-AntiSpam-MessageData: nWpdKfLo0sDjMye9Jz8NycJcnKq+eI652YXwsOjtpIGFFE8gXx8n/VaexllartnCmv3nGCzuYbahiAC+6kLkplzEvDStYVQvRixXU3TEjNdKnC+lvcL88d2+v/uOHby+/ktVKUwnWhRkSEttjFMLaZzXjguFRupGDLmFYjt6Fe6hOb4t0xIQgQqCVdSDuIDI15M2tBxBBBwP6k/Nn+rD3Pq0fa3QfyqGQ1bLEx4hhFqAULUBB/nRAQ1WZT2QAg8ZguO7S+iRBje4E525qGqEdoO1FOguYAiRathD6vF9SRfHNe0sIaqr08FjCkWZ0D8+XZtBgNt7VxPXEt6kkqPeWLIki70QsPzVMdNU+fpVNWNGixE5x30sgPI+LAzjU7LTiBMe8PzVHYD4SIRth/b/t+K+t8iJrA0lDOqQeMXxtHIGR8VmklTmsMxzCbKJrEGtr4mhs9eDoQVPT9/yLUe5S4kqIIwVbgRvG+xhRy2Y2UA= +X-OriginatorOrg: gatech.edu +X-MS-Exchange-CrossTenant-Network-Message-Id: d2749a05-e1e5-4fd8-8eeb-08d7f34e31b3 +X-MS-Exchange-CrossTenant-OriginalArrivalTime: 08 May 2020 12:49:06.5253 (UTC) +X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted +X-MS-Exchange-CrossTenant-Id: 482198bb-ae7b-4b25-8b7a-6d7f32faa083 +X-MS-Exchange-CrossTenant-MailboxType: HOSTED +X-MS-Exchange-CrossTenant-UserPrincipalName: RIA++jufzjojVk64Oev+JktXaft86xHq8aul9sG7u7D6N2DeJPmLQMbhIAcXp3xMb8joAkQ92X72yPBncUk0Og== +X-MS-Exchange-Transport-CrossTenantHeadersStamped: BL0PR07MB5012 +Subject: Re: [libre-riscv-dev] minimum viable ASIC +X-BeenThere: libre-riscv-dev@lists.libre-riscv.org +X-Mailman-Version: 2.1.23 +Precedence: list +List-Id: Libre-RISCV General Development + +List-Unsubscribe: , + +List-Archive: +List-Post: +List-Help: +List-Subscribe: , + +Reply-To: Libre-RISCV General Development + +Content-Type: text/plain; charset="utf-8" +Content-Transfer-Encoding: base64 +Errors-To: libre-riscv-dev-bounces@lists.libre-riscv.org +Sender: "libre-riscv-dev" + +Cgo+IE9uIE1heSA4LCAyMDIwLCBhdCA1OjUwIEFNLCBMdWtlIEtlbm5ldGggQ2Fzc29uIExlaWdo +dG9uIDxsa2NsQGxrY2wubmV0PiB3cm90ZToKPiAKPiBpJ2QgbGlrZSB0byBkaXNjdXNzIHdoYXQg +dGhlIG1pbmltdW0gdmlhYmxlIEFTSUMgd291bGQgbG9vayBsaWtlLAo+IHRoYXQsIGlmIHdlJ3Jl +IGhhcHB5IHRvIGRvIHNvLCB3ZSBjb3VsZCBoaXQgdGhlIE9jdG9iZXIgMjAyMCBkZWFkbGluZQo+ +IHdpdGggaXQgYW5kIG5vdCBiZSBjb21wbGV0ZWx5IHN0cmVzc2VkLgo+IAo+IG15IHRha2Ugb24g +dGhpcyBpcywgd2hpY2ggaSd2ZSBhZGRlZCBoZXJlIChkbyBlZGl0LCBjb21tZW50IGV0Yy4KPiBo +dHRwczovL2xpYnJlLXNvYy5vcmcvMTgwbm1fT2N0MjAyMC8pCj4gCj4gKiBhIFdpc2hib25lIGlu +dGVyZmFjZS4gIHRoaXMgYWxsb3dzIHVzIHRvIGRyb3AgKmRpcmVjdGx5KiBpbnRvCj4gYWxyZWFk +eS13cml0dGVuIExpdGV4ICJTT0MiIGluZnJhc3RydWN0dXJlIChsZWF2aW5nIGFsbCBvZiB1cyBp +biB0aGUKPiBjb3JlIHRlYW0gZnJlZSB0byBmb2N1cyBvbiB0aGUgZXNzZW50aWFscykKClRoaXMg +aXMgYSBnb29kIGNhbGwuIEkgdGFsa2VkIHRvIEZsb3JlbnQgZnJvbSBFbmpveSBEaWdpdGFsIGxh +c3Qgd2VlaywgYW5kIGhlIHNhaWQgaGXigJlzIHdpbGxpbmcgdG8gaGVscCB3aXRoIExpVGVYIGlu +dGVncmF0aW9uIGZvciBMaWJyZVNPQy4gSGUgYWxzbyBzYWlkIEVuam95IERpZ2l0YWwgaXMgYXZh +aWxhYmxlIGZvciBoaXJlIGRlcGVuZGluZyBvbiBob3cgbXVjaCBtdXN0IGJlIGRvbmUuCgo+ICog +dGhlIGRlcGVuZGVuY3kgbWF0cmljZXMgYXJlIGVzc2VudGlhbC4KPiAqIGEgQnJhbmNoIEZ1bmN0 +aW9uIFVuaXQgaXMgZXNzZW50aWFsIChtaW5pbXVtIG9mIDEpCj4gKiBMb2FkL1N0b3JlIEZ1bmN0 +aW9uIFVuaXRzIGFyZSBlc3NlbnRpYWwKPiAqIHNvIGFyZSBtdWx0aXBsZSByZWdpc3RlciBmaWxl +IGZpbGVzIChTUFJzLCBDb25kaXRpb24gUmVncywgMzJ4IElOVCBSZWdzKQo+ICogdGhlIGludGVn +ZXIgcGlwZWxpbmVzIChpbnRlZ2VyIGFuZCBsb2dpYyBpbnN0cnVjdGlvbnMpIGFyZSBlc3NlbnRp +YWwKPiAodGhlIEZQIG9uZXMgbm90IHNvIG11Y2gpCj4gKiBhIHZlcnkgdmVyeSBiYXNpYyBCcmFu +Y2ggUHJlZGljdGlvbiBzeXN0ZW0gKGZpeGVkLCBidXQgb2JzZXJ2aW5nCj4gUE9XRVIgYnJhbmNo +ICJoaW50cyIpCj4gKiBhIHZlcnkgdmVyeSBiYXNpYyBDb21tb24gRGF0YSBCdXMgaW5mcmFzdHJ1 +Y3R1cmUuCj4gKiBhIFRMQiBhbmQgTU1VIGFyZSBub3Qgc3RyaWN0bHkgZXNzZW50aWFsIChub3Qg +Zm9yIGEgcHJvb2Ytb2YtY29uY2VwdCBBU0lDKQo+ICogbmVpdGhlciBpbiBzb21lIHdheXMgaXMg +YSBMMSBjYWNoZQo+ICogaW50ZXJmYWNlcyB3ZSBuZWVkIGFzIGEgYmFyZSBtaW5pbXVtIGluY2x1 +ZGUgR1BJTywgRUlOVCwgU1BJIGFuZAo+IFFTUEksIEkyQywgVUFSVDE2NTUwLCBMUEMgKGZyb20g +UmFwdG9yIEVuZ2luZWVyaW5nKSBhbmQgdGhhdCBhY3R1YWxseQo+IG1pZ2h0IGV2ZW4gYmUgaXQu +Cj4gCj4gc2Vjb25kYXJ5IHByaW9yaXRpZXMgKHdoaWNoIGFyZSBhcHByb3hpbWF0ZWx5IGluIHBy +aW9yaXR5IG9yZGVyKQo+IAo+ICogYSBQTEwgKHRoaXMgaXMgcXVpdGUgYSBsb3QgaG93ZXZlciBp +dCB0dXJucyB0aGUgQVNJQyBmcm9tIGEgMjRtaHoKPiBkZXNpZ24gaW50byBhIDMwMG1oeiBkZXNp +Z24pCj4gKiBhIFRMQiBhbmQgTU1VIChpbiBjb21iaW5hdGlvbiB3aXRoIGEgUExMIGlmIGl0IGlz +IEdOVS9MaW51eCBPUwo+IGNhcGFibGUgd2UgaGF2ZSBhbiBhY3R1YWwgdmlhYmxlICpzYWxlYWJs +ZSBwcm9kdWN0KiwgaW1tZWRpYXRlbHkpCj4gKiBkdWFsIEwxIENhY2hlcyB3aXRoIHRoZSAyeCAx +MjgtYml0LXdpZGUgTDBDYWNoZUJ1ZmZlciB0byBtZXJnZSA4eCBMRC9TVHMKPiAqIG11bHRpcGxl +IENvbW1vbiBEYXRhIEJ1c2VzIHRvIC8gZnJvbSB0aGUgUmVnRmlsZSBhbG9uZyB3aXRoIGEgNHgK +PiAiU3RyaXBlZCIgSEkvTE8tMzItT0REL0VWRU4gYWNjZXNzIHBhdHRlcm4uCj4gKiBtdWx0aS1p +c3N1ZQo+ICogUGFydGl0aW9uZWRTaWduYWwtYmFzZWQgaW50ZWdlciBwaXBlbGluZXMKPiAqIGFu +IEZQIHJlZ2ZpbGUgYW5kIGFzc29jaWF0ZWQgRlAgcGlwZWxpbmVzCj4gKiBTViBjb21wbGlhbmNl +Cj4gKiAxMjh4IElOVC9GUCByZWdpc3RlcnMKPiAqIEdQVS1zdHlsZSBvcGNvZGVzIC0gSmFjb2Ig +eW91IG1lbnRpb25lZCBUZXh0dXJpc2F0aW9uIG9wY29kZXMgYXMKPiBiZWluZyBtb3JlIGltcG9y +dGFudCB0aGFuIGUuZy4gU0lOL0NPUy4KCkFuZCBrZWVwIGluIG1pbmQsIGlmIHdlIGFyZW7igJl0 +IGFibGUgdG8gZmluaXNoIHRoZSBHUFUgb3Bjb2RlcyBieSBPY3RvYmVyL05vdmVtYmVyL0RlY2Vt +YmVyKGFjY29yZGluZyB0byBTdGFmZiAtIHRoZXNlIGFyZSB0aGUgYXZhaWxhYmxlIDIwMjAgc2xv +dHMpLCBSYXB0b3IgaGFzIGFncmVlZCB0byBmb290IDIwayBmb3IgdGhlIHNpbGljb24sIGFnYWlu +LCBpbiBleGNoYW5nZSBmb3Igc29tZSBlcXVpdHkuCgo+ICogYWRkaXRpb25hbCBpbnRlcmZhY2Vz +IHN1Y2ggYXMgUkdCL1RUTCwgU0RSQU0sIEh5cGVyUkFNLCBSR01JSSwKPiBTRC9NTUMsIFVTQi1V +TFBJCj4gKiBhIHBpbm11eAo+IAo+IHNvIHRoZSAqYWJzb2x1dGUqIGJhc2ljIC0gbWluaW11bSB2 +aWFibGUgQVNJQyAtIGlzIHRvIGJlIGhvbmVzdCByZWFsbHkKPiBub3QgYSBsb3QuCj4gCj4gbm93 +LCBpIHdhcyBjb250YWN0ZWQgYnkgUnVkaSwgZnJvbSBodHRwOi8vYXNpY3Mud3MsIGhlIGhhcyBz +b21lIHRpbWUKPiBhdmFpbGFibGUsIGhlJ3MgYmVlbiBkb2luZyBBU0lDIGRlc2lnbiBmb3IgMjAr +IHllYXJzLiAgaGUncyBtb3JlIHRoYW4KPiBoYXBweSB0byB0YWtlIGNhcmUgb2YgdGhlIGludGVy +ZmFjZXMgZm9yIHVzLiAgd2UgZGVmaW5lIHRoZSBzZXQsIGhlCj4gd2lsbCBnZXQgb24gd2l0aCBp +dCwgZGVzaWduIHRoZSBXaXNoYm9uZSBSZWdpc3RlcnMgZXRjLiBmb3IgdXMuCj4gCj4gZ2l2ZW4g +d2hhdCdzIGFscmVhZHkgYmVlbiBhY2hpZXZlZCwgdGhhdCAqcmVhbGx5IGRvZXMqIGxlYXZlIHVz +IHdpdGggYQo+IHZlcnkgc21hbGwgYW1vdW50IG9mIHdvcmsgdG8gZG8uICB0aGUgaW50ZWdlciBw +aXBlbGluZXMgYXJlIHNvbWV0aGluZwo+IHRoYXQncyByZWFsbHkgcXVpdGUgc3RyYWlnaHRmb3J3 +YXJkIHRvIGRvLCBhbmQgYmFzaWNhbGx5ICJ0cmFjayIgdGhlCj4gd29yayB0aGF0IE1pY2hhZWwn +cyBiZWVuIGRvaW5nIG9uIHRoZSBzaW11bGF0b3IuCj4gCj4gb25lIGVzc2VudGlhbCBhc3BlY3Qg +b2YgdGhlIHNpbXVsYXRvciB3b3JrIGlzOiB1bml0IHRlc3RzIGhhdmUgdG8gYmUKPiBkb25lLiAg +dGhvc2UgKmV4YWN0KiBzYW1lIHVuaXQgdGVzdHMgd2UgY2FuIHVzZSB0byB0ZXN0IHRoZSBoYXJk +d2FyZQo+IHZlcnNpb24sIGVpdGhlciBhZ2FpbnN0IHRoZSBzaW11bGF0b3IgKm9yKiBhZ2FpbnN0 +IHFlbXUsIGl0J3MgYWxsIHRoZQo+IHNhbWUuCj4gCj4gaWYgTWFya2V0TmV4dCBmaW5kIHBlb3Bs +ZSBmYXN0LCB3ZSB3aWxsIGhhdmUgYSB3aG9sZSBiYXRjaCBvZiBwZW9wbGUKPiB3aG8gY2FuIGhl +bHAgaGFtbWVyIHRocm91Z2ggdGhlIHRhc2tzLCB3aGljaCB3aWxsIGdpdmUgdXMgdGhlIHNwYWNl +IHRvCj4gZm9jdXMgb24gImRpZmZpY3VsdCIgYml0cy4KPiAKPiB0aG91Z2h0cyBhcHByZWNpYXRl +ZC4KPiAKPiBsLgo+IAo+IF9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f +X19fX19fCj4gbGlicmUtcmlzY3YtZGV2IG1haWxpbmcgbGlzdAo+IGxpYnJlLXJpc2N2LWRldkBs +aXN0cy5saWJyZS1yaXNjdi5vcmcKPiBodHRwOi8vbGlzdHMubGlicmUtcmlzY3Yub3JnL21haWxt +YW4vbGlzdGluZm8vbGlicmUtcmlzY3YtZGV2CgoKX19fX19fX19fX19fX19fX19fX19fX19fX19f +X19fX19fX19fX19fX19fX19fX18KbGlicmUtcmlzY3YtZGV2IG1haWxpbmcgbGlzdApsaWJyZS1y +aXNjdi1kZXZAbGlzdHMubGlicmUtcmlzY3Yub3JnCmh0dHA6Ly9saXN0cy5saWJyZS1yaXNjdi5v +cmcvbWFpbG1hbi9saXN0aW5mby9saWJyZS1yaXNjdi1kZXYK +