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=-16.8 required=3.0 tests=BAYES_00, HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_CR_TRAILER,INCLUDES_PATCH, MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS,URIBL_BLOCKED,USER_AGENT_GIT autolearn=ham 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 7D179C47082 for ; Tue, 8 Jun 2021 07:37:05 +0000 (UTC) Received: from gabe.freedesktop.org (gabe.freedesktop.org [131.252.210.177]) (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 47AE16127A for ; Tue, 8 Jun 2021 07:37:05 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 47AE16127A Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=linux.intel.com Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=intel-gfx-bounces@lists.freedesktop.org Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id ED9E96EB0C; Tue, 8 Jun 2021 07:37:04 +0000 (UTC) Received: from mga01.intel.com (mga01.intel.com [192.55.52.88]) by gabe.freedesktop.org (Postfix) with ESMTPS id 8F8B06EB0C for ; Tue, 8 Jun 2021 07:37:03 +0000 (UTC) IronPort-SDR: H+SMQoCdRyQRwnZ5Z/kxAA0vLzxnXMWbiwA/xaAttPWIuv9YhDmaUxab3GIZTGgu6gulV0TYhV 38hYT2jftBaA== X-IronPort-AV: E=McAfee;i="6200,9189,10008"; a="226132224" X-IronPort-AV: E=Sophos;i="5.83,257,1616482800"; d="scan'208";a="226132224" Received: from fmsmga003.fm.intel.com ([10.253.24.29]) by fmsmga101.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 08 Jun 2021 00:37:03 -0700 IronPort-SDR: h8dGOMx4qFRupq7ahvtM7MxinSehJKYvupUx+GUfGys/d/DptnYC+T1FqUmtynpeVxJwa+dSHR +iChrFqpk7OQ== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.83,257,1616482800"; d="scan'208";a="476504356" Received: from stinkbox.fi.intel.com (HELO stinkbox) ([10.237.72.171]) by FMSMGA003.fm.intel.com with SMTP; 08 Jun 2021 00:36:58 -0700 Received: by stinkbox (sSMTP sendmail emulation); Tue, 08 Jun 2021 10:36:58 +0300 From: Ville Syrjala To: intel-gfx@lists.freedesktop.org Date: Tue, 8 Jun 2021 10:36:03 +0300 Message-Id: <20210608073603.2408-18-ville.syrjala@linux.intel.com> X-Mailer: git-send-email 2.31.1 In-Reply-To: <20210608073603.2408-1-ville.syrjala@linux.intel.com> References: <20210608073603.2408-1-ville.syrjala@linux.intel.com> MIME-Version: 1.0 Subject: [Intel-gfx] [PATCH v2 17/17] drm/i915: Add the missing adls vswing tables X-BeenThere: intel-gfx@lists.freedesktop.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Intel graphics driver community testing & development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" RnJvbTogVmlsbGUgU3lyasOkbMOkIDx2aWxsZS5zeXJqYWxhQGxpbnV4LmludGVsLmNvbT4KCmFk bHMgaXMgc3VwcG9zZWQgdG8gdXNlIHNwZWNpYWwgYnVmIHRyYW5zIHRhYmxlcy4gQWRkIHdoYXQn cwptaXNzaW5nLgoKdjI6IERyb3AgdGhlIFJCUi9IQlIgdGFibGUgc2luY2UgaXQncyB0aGUgc2Ft ZSBhcyBmb3IgdGdsCgpTaWduZWQtb2ZmLWJ5OiBWaWxsZSBTeXJqw6Rsw6QgPHZpbGxlLnN5cmph bGFAbGludXguaW50ZWwuY29tPgotLS0KIC4uLi9kcm0vaTkxNS9kaXNwbGF5L2ludGVsX2RkaV9i dWZfdHJhbnMuYyAgICB8IDEwMSArKysrKysrKysrKysrKysrKysKIDEgZmlsZSBjaGFuZ2VkLCAx MDEgaW5zZXJ0aW9ucygrKQoKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2Rpc3Bs YXkvaW50ZWxfZGRpX2J1Zl90cmFucy5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvZGlzcGxheS9p bnRlbF9kZGlfYnVmX3RyYW5zLmMKaW5kZXggYTQ1NjgyM2RmMTAyLi42M2IxYWU4MzBkOWEgMTAw NjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2Rpc3BsYXkvaW50ZWxfZGRpX2J1Zl90cmFu cy5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2Rpc3BsYXkvaW50ZWxfZGRpX2J1Zl90cmFu cy5jCkBAIC0xMDAwLDYgKzEwMDAsNjMgQEAgc3RhdGljIGNvbnN0IHN0cnVjdCBpbnRlbF9kZGlf YnVmX3RyYW5zIHJrbF9jb21ib19waHlfZGRpX3RyYW5zbGF0aW9uc19kcF9oYnIyX2gKIAkubnVt X2VudHJpZXMgPSBBUlJBWV9TSVpFKF9ya2xfY29tYm9fcGh5X2RkaV90cmFuc2xhdGlvbnNfZHBf aGJyMl9oYnIzKSwKIH07CiAKK3N0YXRpYyBjb25zdCB1bmlvbiBpbnRlbF9kZGlfYnVmX3RyYW5z X2VudHJ5IF9hZGxzX2NvbWJvX3BoeV9kZGlfdHJhbnNsYXRpb25zX2RwX2hicjJfaGJyM1tdID0g eworCQkJCQkJCS8qIE5UIG1WIFRyYW5zIG1WIGRiICAgICovCisJeyAuY25sID0geyAweEEsIDB4 MzUsIDB4M0YsIDB4MDAsIDB4MDAgfSB9LAkvKiAzNTAgICAzNTAgICAgICAwLjAgICAqLworCXsg LmNubCA9IHsgMHhBLCAweDRGLCAweDM3LCAweDAwLCAweDA4IH0gfSwJLyogMzUwICAgNTAwICAg ICAgMy4xICAgKi8KKwl7IC5jbmwgPSB7IDB4QywgMHg2MywgMHgzMCwgMHgwMCwgMHgwRiB9IH0s CS8qIDM1MCAgIDcwMCAgICAgIDYuMCAgICovCisJeyAuY25sID0geyAweDYsIDB4N0YsIDB4MkIs IDB4MDAsIDB4MTQgfSB9LAkvKiAzNTAgICA5MDAgICAgICA4LjIgICAqLworCXsgLmNubCA9IHsg MHhBLCAweDQ3LCAweDNGLCAweDAwLCAweDAwIH0gfSwJLyogNTAwICAgNTAwICAgICAgMC4wICAg Ki8KKwl7IC5jbmwgPSB7IDB4QywgMHg2MywgMHgzNywgMHgwMCwgMHgwOCB9IH0sCS8qIDUwMCAg IDcwMCAgICAgIDIuOSAgICovCisJeyAuY25sID0geyAweDYsIDB4N0YsIDB4MzEsIDB4MDAsIDB4 MEUgfSB9LAkvKiA1MDAgICA5MDAgICAgICA1LjEgICAqLworCXsgLmNubCA9IHsgMHhDLCAweDYx LCAweDNDLCAweDAwLCAweDAzIH0gfSwJLyogNjUwICAgNzAwICAgICAgMC42ICAgKi8KKwl7IC5j bmwgPSB7IDB4NiwgMHg3QiwgMHgzNSwgMHgwMCwgMHgwQSB9IH0sCS8qIDYwMCAgIDkwMCAgICAg IDMuNSAgICovCisJeyAuY25sID0geyAweDYsIDB4N0YsIDB4M0YsIDB4MDAsIDB4MDAgfSB9LAkv KiA5MDAgICA5MDAgICAgICAwLjAgICAqLworfTsKKworc3RhdGljIGNvbnN0IHN0cnVjdCBpbnRl bF9kZGlfYnVmX3RyYW5zIGFkbHNfY29tYm9fcGh5X2RkaV90cmFuc2xhdGlvbnNfZHBfaGJyMl9o YnIzID0geworCS5lbnRyaWVzID0gX2FkbHNfY29tYm9fcGh5X2RkaV90cmFuc2xhdGlvbnNfZHBf aGJyMl9oYnIzLAorCS5udW1fZW50cmllcyA9IEFSUkFZX1NJWkUoX2FkbHNfY29tYm9fcGh5X2Rk aV90cmFuc2xhdGlvbnNfZHBfaGJyMl9oYnIzKSwKK307CisKK3N0YXRpYyBjb25zdCB1bmlvbiBp bnRlbF9kZGlfYnVmX3RyYW5zX2VudHJ5IF9hZGxzX2NvbWJvX3BoeV9kZGlfdHJhbnNsYXRpb25z X2VkcF9oYnIyW10gPSB7CisJCQkJCQkJLyogTlQgbVYgVHJhbnMgbVYgZGIgICAgKi8KKwl7IC5j bmwgPSB7IDB4OSwgMHg3MCwgMHgzQywgMHgwMCwgMHgwMyB9IH0sCS8qIDIwMCAgIDIwMCAgICAg IDAuMCAgICovCisJeyAuY25sID0geyAweDksIDB4NkQsIDB4M0EsIDB4MDAsIDB4MDUgfSB9LAkv KiAyMDAgICAyNTAgICAgICAxLjkgICAqLworCXsgLmNubCA9IHsgMHg5LCAweDdGLCAweDM2LCAw eDAwLCAweDA5IH0gfSwJLyogMjAwICAgMzAwICAgICAgMy41ICAgKi8KKwl7IC5jbmwgPSB7IDB4 NCwgMHg1OSwgMHgzMiwgMHgwMCwgMHgwRCB9IH0sCS8qIDIwMCAgIDM1MCAgICAgIDQuOSAgICov CisJeyAuY25sID0geyAweDIsIDB4NzcsIDB4M0EsIDB4MDAsIDB4MDUgfSB9LAkvKiAyNTAgICAy NTAgICAgICAwLjAgICAqLworCXsgLmNubCA9IHsgMHgyLCAweDdGLCAweDM4LCAweDAwLCAweDA3 IH0gfSwJLyogMjUwICAgMzAwICAgICAgMS42ICAgKi8KKwl7IC5jbmwgPSB7IDB4NCwgMHg1QSwg MHgzNiwgMHgwMCwgMHgwOSB9IH0sCS8qIDI1MCAgIDM1MCAgICAgIDIuOSAgICovCisJeyAuY25s ID0geyAweDQsIDB4NUUsIDB4M0QsIDB4MDAsIDB4MDQgfSB9LAkvKiAzMDAgICAzMDAgICAgICAw LjAgICAqLworCXsgLmNubCA9IHsgMHg0LCAweDY1LCAweDM4LCAweDAwLCAweDA3IH0gfSwJLyog MzAwICAgMzUwICAgICAgMS4zICAgKi8KKwl7IC5jbmwgPSB7IDB4NCwgMHg2RiwgMHgzQSwgMHgw MCwgMHgwNSB9IH0sCS8qIDM1MCAgIDM1MCAgICAgIDAuMCAgICovCit9OworCitzdGF0aWMgY29u c3Qgc3RydWN0IGludGVsX2RkaV9idWZfdHJhbnMgYWRsc19jb21ib19waHlfZGRpX3RyYW5zbGF0 aW9uc19lZHBfaGJyMiA9IHsKKwkuZW50cmllcyA9IF9hZGxzX2NvbWJvX3BoeV9kZGlfdHJhbnNs YXRpb25zX2VkcF9oYnIyLAorCS5udW1fZW50cmllcyA9IEFSUkFZX1NJWkUoX2FkbHNfY29tYm9f cGh5X2RkaV90cmFuc2xhdGlvbnNfZWRwX2hicjIpLAorfTsKKworc3RhdGljIGNvbnN0IHVuaW9u IGludGVsX2RkaV9idWZfdHJhbnNfZW50cnkgX2FkbHNfY29tYm9fcGh5X2RkaV90cmFuc2xhdGlv bnNfZWRwX2hicjNbXSA9IHsKKwkJCQkJCQkvKiBOVCBtViBUcmFucyBtViBkYiAgICAqLworCXsg LmNubCA9IHsgMHhBLCAweDVFLCAweDM0LCAweDAwLCAweDBCIH0gfSwJLyogMzUwICAgMzUwICAg ICAgMC4wICAgKi8KKwl7IC5jbmwgPSB7IDB4QSwgMHg2OSwgMHgzMiwgMHgwMCwgMHgwRCB9IH0s CS8qIDM1MCAgIDUwMCAgICAgIDMuMSAgICovCisJeyAuY25sID0geyAweEMsIDB4NzQsIDB4MzEs IDB4MDAsIDB4MEUgfSB9LAkvKiAzNTAgICA3MDAgICAgICA2LjAgICAqLworCXsgLmNubCA9IHsg MHg2LCAweDdGLCAweDJFLCAweDAwLCAweDExIH0gfSwJLyogMzUwICAgOTAwICAgICAgOC4yICAg Ki8KKwl7IC5jbmwgPSB7IDB4QSwgMHg1QywgMHgzRiwgMHgwMCwgMHgwMCB9IH0sCS8qIDUwMCAg IDUwMCAgICAgIDAuMCAgICovCisJeyAuY25sID0geyAweEMsIDB4N0YsIDB4MzQsIDB4MDAsIDB4 MEIgfSB9LAkvKiA1MDAgICA3MDAgICAgICAyLjkgICAqLworCXsgLmNubCA9IHsgMHg2LCAweDdG LCAweDMzLCAweDAwLCAweDBDIH0gfSwJLyogNTAwICAgOTAwICAgICAgNS4xICAgKi8KKwl7IC5j bmwgPSB7IDB4QywgMHg3RiwgMHgzRiwgMHgwMCwgMHgwMCB9IH0sCS8qIDY1MCAgIDcwMCAgICAg IDAuNiAgICovCisJeyAuY25sID0geyAweDYsIDB4N0YsIDB4M0MsIDB4MDAsIDB4MDMgfSB9LAkv KiA2MDAgICA5MDAgICAgICAzLjUgICAqLworCXsgLmNubCA9IHsgMHg2LCAweDdGLCAweDNGLCAw eDAwLCAweDAwIH0gfSwJLyogOTAwICAgOTAwICAgICAgMC4wICAgKi8KK307CisKK3N0YXRpYyBj b25zdCBzdHJ1Y3QgaW50ZWxfZGRpX2J1Zl90cmFucyBhZGxzX2NvbWJvX3BoeV9kZGlfdHJhbnNs YXRpb25zX2VkcF9oYnIzID0geworCS5lbnRyaWVzID0gX2FkbHNfY29tYm9fcGh5X2RkaV90cmFu c2xhdGlvbnNfZWRwX2hicjMsCisJLm51bV9lbnRyaWVzID0gQVJSQVlfU0laRShfYWRsc19jb21i b19waHlfZGRpX3RyYW5zbGF0aW9uc19lZHBfaGJyMyksCit9OworCiBzdGF0aWMgY29uc3QgdW5p b24gaW50ZWxfZGRpX2J1Zl90cmFuc19lbnRyeSBfYWRscF9ka2xfcGh5X2RkaV90cmFuc2xhdGlv bnNfZHBfaGJyW10gPSB7CiAJCQkJCS8qIFZTCXByZS1lbXAJTm9uLXRyYW5zIG1WCVByZS1lbXBo IGRCICovCiAJeyAuZGtsID0geyAweDcsIDB4MCwgMHgwMSB9IH0sCS8qIDAJMAk0MDBtVgkJMCBk QiAqLwpAQCAtMTU2Miw2ICsxNjE5LDQ4IEBAIHJrbF9nZXRfY29tYm9fYnVmX3RyYW5zKHN0cnVj dCBpbnRlbF9lbmNvZGVyICplbmNvZGVyLAogCQlyZXR1cm4gcmtsX2dldF9jb21ib19idWZfdHJh bnNfZHAoZW5jb2RlciwgY3J0Y19zdGF0ZSwgbl9lbnRyaWVzKTsKIH0KIAorc3RhdGljIGNvbnN0 IHN0cnVjdCBpbnRlbF9kZGlfYnVmX3RyYW5zICoKK2FkbHNfZ2V0X2NvbWJvX2J1Zl90cmFuc19k cChzdHJ1Y3QgaW50ZWxfZW5jb2RlciAqZW5jb2RlciwKKwkJCSAgICBjb25zdCBzdHJ1Y3QgaW50 ZWxfY3J0Y19zdGF0ZSAqY3J0Y19zdGF0ZSwKKwkJCSAgICBpbnQgKm5fZW50cmllcykKK3sKKwlp ZiAoY3J0Y19zdGF0ZS0+cG9ydF9jbG9jayA+IDI3MDAwMCkKKwkJcmV0dXJuIGludGVsX2dldF9i dWZfdHJhbnMoJmFkbHNfY29tYm9fcGh5X2RkaV90cmFuc2xhdGlvbnNfZHBfaGJyMl9oYnIzLCBu X2VudHJpZXMpOworCWVsc2UKKwkJcmV0dXJuIGludGVsX2dldF9idWZfdHJhbnMoJnRnbF9jb21i b19waHlfZGRpX3RyYW5zbGF0aW9uc19kcF9oYnIsIG5fZW50cmllcyk7Cit9CisKK3N0YXRpYyBj b25zdCBzdHJ1Y3QgaW50ZWxfZGRpX2J1Zl90cmFucyAqCithZGxzX2dldF9jb21ib19idWZfdHJh bnNfZWRwKHN0cnVjdCBpbnRlbF9lbmNvZGVyICplbmNvZGVyLAorCQkJICAgICBjb25zdCBzdHJ1 Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqY3J0Y19zdGF0ZSwKKwkJCSAgICAgaW50ICpuX2VudHJpZXMp Cit7CisJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmk5MTUgPSB0b19pOTE1KGVuY29kZXItPmJh c2UuZGV2KTsKKwlzdHJ1Y3QgaW50ZWxfZHAgKmludGVsX2RwID0gZW5jX3RvX2ludGVsX2RwKGVu Y29kZXIpOworCisJaWYgKGNydGNfc3RhdGUtPnBvcnRfY2xvY2sgPiA1NDAwMDApCisJCXJldHVy biBpbnRlbF9nZXRfYnVmX3RyYW5zKCZhZGxzX2NvbWJvX3BoeV9kZGlfdHJhbnNsYXRpb25zX2Vk cF9oYnIzLCBuX2VudHJpZXMpOworCWVsc2UgaWYgKGk5MTUtPnZidC5lZHAuaG9ibCAmJiAhaW50 ZWxfZHAtPmhvYmxfZmFpbGVkKQorCQlyZXR1cm4gaW50ZWxfZ2V0X2J1Zl90cmFucygmdGdsX2Nv bWJvX3BoeV9kZGlfdHJhbnNsYXRpb25zX2VkcF9oYnIyX2hvYmwsIG5fZW50cmllcyk7CisJZWxz ZSBpZiAoaTkxNS0+dmJ0LmVkcC5sb3dfdnN3aW5nKQorCQlyZXR1cm4gaW50ZWxfZ2V0X2J1Zl90 cmFucygmYWRsc19jb21ib19waHlfZGRpX3RyYW5zbGF0aW9uc19lZHBfaGJyMiwgbl9lbnRyaWVz KTsKKwllbHNlCisJCXJldHVybiBhZGxzX2dldF9jb21ib19idWZfdHJhbnNfZHAoZW5jb2Rlciwg Y3J0Y19zdGF0ZSwgbl9lbnRyaWVzKTsKK30KKworc3RhdGljIGNvbnN0IHN0cnVjdCBpbnRlbF9k ZGlfYnVmX3RyYW5zICoKK2FkbHNfZ2V0X2NvbWJvX2J1Zl90cmFucyhzdHJ1Y3QgaW50ZWxfZW5j b2RlciAqZW5jb2RlciwKKwkJCSBjb25zdCBzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqY3J0Y19z dGF0ZSwKKwkJCSBpbnQgKm5fZW50cmllcykKK3sKKwlpZiAoaW50ZWxfY3J0Y19oYXNfdHlwZShj cnRjX3N0YXRlLCBJTlRFTF9PVVRQVVRfSERNSSkpCisJCXJldHVybiBpbnRlbF9nZXRfYnVmX3Ry YW5zKCZpY2xfY29tYm9fcGh5X2RkaV90cmFuc2xhdGlvbnNfaGRtaSwgbl9lbnRyaWVzKTsKKwll bHNlIGlmIChpbnRlbF9jcnRjX2hhc190eXBlKGNydGNfc3RhdGUsIElOVEVMX09VVFBVVF9FRFAp KQorCQlyZXR1cm4gYWRsc19nZXRfY29tYm9fYnVmX3RyYW5zX2VkcChlbmNvZGVyLCBjcnRjX3N0 YXRlLCBuX2VudHJpZXMpOworCWVsc2UKKwkJcmV0dXJuIGFkbHNfZ2V0X2NvbWJvX2J1Zl90cmFu c19kcChlbmNvZGVyLCBjcnRjX3N0YXRlLCBuX2VudHJpZXMpOworfQorCiBzdGF0aWMgY29uc3Qg c3RydWN0IGludGVsX2RkaV9idWZfdHJhbnMgKgogdGdsX2dldF9ka2xfYnVmX3RyYW5zX2RwKHN0 cnVjdCBpbnRlbF9lbmNvZGVyICplbmNvZGVyLAogCQkJIGNvbnN0IHN0cnVjdCBpbnRlbF9jcnRj X3N0YXRlICpjcnRjX3N0YXRlLApAQCAtMTY0Miw2ICsxNzQxLDggQEAgdm9pZCBpbnRlbF9kZGlf YnVmX3RyYW5zX2luaXQoc3RydWN0IGludGVsX2VuY29kZXIgKmVuY29kZXIpCiAJCQllbmNvZGVy LT5nZXRfYnVmX3RyYW5zID0gdGdsX2dldF9jb21ib19idWZfdHJhbnM7CiAJCWVsc2UKIAkJCWVu Y29kZXItPmdldF9idWZfdHJhbnMgPSBhZGxwX2dldF9ka2xfYnVmX3RyYW5zOworCX0gZWxzZSBp ZiAoSVNfQUxERVJMQUtFX1MoaTkxNSkpIHsKKwkJZW5jb2Rlci0+Z2V0X2J1Zl90cmFucyA9IGFk bHNfZ2V0X2NvbWJvX2J1Zl90cmFuczsKIAl9IGVsc2UgaWYgKElTX1JPQ0tFVExBS0UoaTkxNSkp IHsKIAkJZW5jb2Rlci0+Z2V0X2J1Zl90cmFucyA9IHJrbF9nZXRfY29tYm9fYnVmX3RyYW5zOwog CX0gZWxzZSBpZiAoSVNfREcxKGk5MTUpKSB7Ci0tIAoyLjMxLjEKCl9fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkludGVsLWdmeCBtYWlsaW5nIGxpc3QKSW50 ZWwtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9y Zy9tYWlsbWFuL2xpc3RpbmZvL2ludGVsLWdmeAo=