[PATCH v9 04/12] mfd: zx297520v3: Add a clock and reset MFD driver
Stefan Dösinger <[email protected]> Sun, 02 Aug 2026 23:33:36 +0300
| Newsgroups | org.infradead.lists.linux-phy,dev.linux.lists.mfd,org.infradead.lists.linux-arm-kernel,org.kernel.vger.linux-clk,org.kernel.vger.linux-devicetree,org.kernel.vger.linux-kernel |
|---|---|
| Message-ID | <[email protected]> |
VGhpcyBkcml2ZXIgcmVnaXN0ZXJzIGNoaWxkIGRldmljZXMgZm9yIHRoZSB6eDI5NzUyMHYzIGNs b2NrIGFuZCByZXNldApjb250cm9sbGVycy4gVGhlIGNsay16eDI5NzUyMHYzIGFuZCByZXNldC16 dGUtengyOTc1MjB2MyBzdWJtaXR0ZWQgaW4KdGhlIG5leHQgcGF0Y2hlcyB3aWxsIGRyaXZlIHRo ZSByZXNwZWN0aXZlIGZ1bmN0aW9uYWxpdGllcy4KClNpZ25lZC1vZmYtYnk6IFN0ZWZhbiBEw7Zz aW5nZXIgPHN0ZWZhbmRvZXNpbmdlckBnbWFpbC5jb20+CgotLS0KCldoYXQgSSBhbSBzdGlsbCB1 bnN1cmUgYWJvdXQ6IEhvdyBtdWNoIHNlbnNlIGRvZXMgaXQgbWFrZSB0byBoYXZlIHRoaXMKbW9k dWxlLWNhcGFibGUgYW5kIGFibGUgdG8gdW5iaW5kOiBJbiBwcmFjdGljZSwgdGhlIGJvYXJkIGRv ZXNuJ3Qgd29yawp3aXRob3V0IHRoaXMgZHJpdmVyIGFuZCBpdHMgY2xvY2sgYW5kIHJlc2V0IGNo aWxkcmVuLgoKQ2hhbmdlcyB2OToKRGVhc3NlcnQgdGhlIExTUCByZXNldCBhbmQgZW5hYmxlIHRo ZSBMU1AgcGNsayBoZXJlLiBJbiBwcmFjdGljZSB0aGUKYm9vdCByb20gbmVlZHMgdG8gZG8gdGhh dCBiZWNhdXNlIGl0IHByaW50cyB0byBhbiBMU1AtY29ubmVjdGVkIFVBUlQgYW5kCnJlYWRzIHRo ZSBib290IHBvbGljeSBmcm9tIHRoZSBMU1AgY29ubmVjdGVkIGZsYXNoIGNoaXAuCgpJbiBkb2lu ZyBzbywgSSBtaWdyYXRlZCB0aGUgbWF0Y2ggZGF0YSB0byBhbiBlbnVtIGFzIG1mZC5tZCBzdWdn ZXN0cy4KCkNoYW5nZXMgdjg6CiopIFJlbW92ZSAub2ZfY29tcGF0aWJsZSBmcm9tIFBIWSBtZmQg Y2hpbGQKCiopIE1vdmUgdG8gZHJpdmVycy9tZmQgKFNhc2hpa28pCgpGb3IgbWUgZWl0aGVyIHNv Yy96dGUgb3IgbWZkLyBpcyBmaW5lLiBOb3RlIHRob3VnaCB0aGF0IHRoaXMgTUZEIHBhcmVudApp cyB2ZXJ5IHNwZWNpZmljIHRvIHRoZSB6eDI5NzUyMHYzIFNvQy4gSSBkb24ndCBleHBlY3QgdGhp cyB0byBiZSByZXVzZWQKYW55d2hlcmUgZWxzZS4gVGhlcmUgYXJlIHR3byBtb3JlIE1GRC1pc2gg ZGV2aWNlcyBpbiB0aGVyZTogc29jX3N5cyBhdAoweDE0MDAwMCwgd2hpY2ggSSBwbGFuIHRvIGhh bmRsZSBpbiB0aGUgc2FtZSBkcml2ZXIsIGFuZCBhbiBpMmMgUE1JQywKd2hpY2ggd291bGQgZ2V0 IGl0cyBvd24gaG9zdCBkcml2ZXIuCgoqKSBVc2UgUExBVEZPUk1fREVWSURfQVVUTyAoU2FzaGlr bykuIE5PTkUgd2FzIGludGVudGlvbmFsIGFzIEkgb25seQpldmVyIGV4cGVjdCBvbmUgaW5zdGFu Y2UsIGJ1dCBJIGRvbid0IHNlZSBhbnkgaGFybSBpbiBkb2luZyB0aGUgc3RhbmRhcmQKdGhpbmcg YW5kIHVzZSBBVVRPCgoqKSBPbiB0aGUgc3VnZ2VzdGlvbiBub3QgdG8gcHV0IHRoZSBsaW5rIHRv IG1mZF9jZWxsc1tdIGludG8gbWF0Y2ggZGF0YToKSSBzZWUgdGhhdCBpdCBpcyBzcGVsbGVkIG91 dCBpbiBTYXNoaWtvJ3MgbWZkLm1kLCB3cml0dGVuIGJ5IExlZSBKb25lcywKdGhlIE1GRCBtYWlu dGFpbmVyLiBJIHdvdWxkIGFwcHJlY2lhdGUgc29tZSBlZHVjYXRpb24gb24gdGhlIHJhdGlvbmFs ZQpiZWhpbmQgaXQ6IFB1dHRpbmcgYSBwb2ludGVyIGludG8gdGhlIHZvaWQgKmRhdGEgaXMgYSBj b21tb24gcGF0dGVybiBpbgp0aGUga2VybmVsLiBJIGRvbid0IHVuZGVyc3RhbmQgaW4gd2hpY2gg c2l0dWF0aW9uIHRoaXMgY2FuIHBvc3NpYmx5CmJyZWFrPwoKQm90aCBzdHJ1Y3RzIGFyZSBzdGF0 aWMgY29uc3QgaW4gdGhlIHNhbWUgY29tcGlsYXRpb24gdW5pdC4gZGF0YSBpcyBhCmNvbnN0IHZv aWQgKiwgbm90IGEgdWludHB0cl90IG9yIGtlcm5lbF91bG9uZ190LCBzbyBpdCBzZWVtcyBwYXNz aW5nIGEKcG9pbnRlciBpcyB0aGUgaW50ZW5kZWQgdXNlLiBXaGF0IGFtIEkgbWlzc2luZz8KCkNo YW5nZXMgdjc6CkFkZCBwaHkgTUZEIGNoaWxkCgpDaGFuZ2VzIHY2OiBNYWtlIHRoZSBaVEUgU29D IGRyaXZlciBzZWN0aW9uIGRlcGVuZCBvbiBIQVNfSU9NRU0KKFNhc2hpa28pLiBUaGUgZW50aXJl IE1GRCBzZWN0aW9uLCB3aGljaCBjb250YWlucyBNRkRfQ09SRSwgZGVwZW5kcyBvbgpIQVNfSU9N RU0gZXZlbiB3aXRoIENPTVBJTEVfVEVTVC4KCkFkZCBhIE5VTEwgcHRyIGNoZWNrIGZvciBvZl9k ZXZpY2VfZ2V0X21hdGNoX2RhdGEgKFNhc2hpa28pLiBXaGlsZSBub3QKdW5pZm9ybSwgcmF2ZS1z cCwgcm9obS1iZDk1NzYsIGF0YzI2MHgsIGRhOTA1Mi1pMmMgcHJvdGVjdCBhZ2FpbnN0CmluY29y cmVjdCBtYW51YWwgYXR0YWNobWVudCB0aGF0IHdheS4KCkFkZCBsc3BjbGsgaGVyZSBhcyB3ZWxs IGluIGFuIGF0dGVtcHQgdG8gc2F0aXNmeSBib3RoIENvbm9yIERvb2xleSwgd2hvCmFza3MgZm9y IE1GRCBmb3IgdG9wIGFuZCBtYXRyaXgsIGFuZCBQaGlsaXBwIFphYmVsLCB3aG8gcHJlZmVycyBh dXggYnV0CmF0IGxlYXN0IHdhbnRzIHRoZSByZXNldCBkcml2ZXIgbGltaXRlZCB0byBvbmUgZHJp dmVyIHR5cGUuCgpDaGFuZ2VzIHY1OiBVc2UgTUZEIGluc3RlYWQgb2YgQXV4IGJ1cyBmb3IgdG9w IGFuZCBtYXRyaXggY3JtIGJlY2F1c2Ugb2YKZXh0cmEgZnVuY3Rpb25hbGl0eTogUmVib290IGlu IHRvcCwgaHdsb2NrIGluIE1hdHJpeC4KCkxTUCBjbG9ja3Mgc3RheSB3aXRoIHRoZSBhdXggYnVz IGFuZCBhcmUgdGh1cyBub3QgaGFuZGxlZCBpbiB0aGlzCmRyaXZlci4gVGhlIGNsayBkcml2ZXIg d2lsbCBiaW5kIGRpcmVjdGx5IHRvIHRoZSBsc3Bjcm0gbm9kZS4KLS0tCiBNQUlOVEFJTkVSUyAg ICAgICAgICAgICAgICAgICAgICB8ICAgMSArCiBkcml2ZXJzL21mZC9LY29uZmlnICAgICAgICAg ICAgICB8ICAxMSArKysrCiBkcml2ZXJzL21mZC9NYWtlZmlsZSAgICAgICAgICAgICB8ICAgMiAr CiBkcml2ZXJzL21mZC96dGUtengyOTc1MjB2My1jcm0uYyB8IDExNyArKysrKysrKysrKysrKysr KysrKysrKysrKysrKysrKysrKysrKysKIDQgZmlsZXMgY2hhbmdlZCwgMTMxIGluc2VydGlvbnMo KykKCmRpZmYgLS1naXQgYS9NQUlOVEFJTkVSUyBiL01BSU5UQUlORVJTCmluZGV4IGUwMWVmMDE0 YzExMC4uYjlmOTY0NTViY2E3IDEwMDY0NAotLS0gYS9NQUlOVEFJTkVSUworKysgYi9NQUlOVEFJ TkVSUwpAQCAtMzkxNSw2ICszOTE1LDcgQEAgRjoJRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2Jp bmRpbmdzL2Nsb2NrL3p0ZSx6eDI5NzUyMHYzLW1hdHJpeGNybS55YW1sCiBGOglEb2N1bWVudGF0 aW9uL2RldmljZXRyZWUvYmluZGluZ3MvY2xvY2svenRlLHp4Mjk3NTIwdjMtdG9wY3JtLnlhbWwK IEY6CWFyY2gvYXJtL2Jvb3QvZHRzL3p0ZS8KIEY6CWFyY2gvYXJtL21hY2gtenRlLworRjoJZHJp dmVycy9tZmQvenRlLXp4Mjk3NTIwdjMtY3JtLmMKIEY6CWluY2x1ZGUvZHQtYmluZGluZ3MvY2xv Y2svenRlLHp4Mjk3NTIwdjMtY2xrLmgKIEY6CWluY2x1ZGUvZHQtYmluZGluZ3MvcGh5L3p0ZSx6 eDI5NzUyMHYzLXRvcGNybS5oCiBGOglpbmNsdWRlL2R0LWJpbmRpbmdzL3Jlc2V0L3p0ZSx6eDI5 NzUyMHYzLXJlc2V0LmgKZGlmZiAtLWdpdCBhL2RyaXZlcnMvbWZkL0tjb25maWcgYi9kcml2ZXJz L21mZC9LY29uZmlnCmluZGV4IDM1ZjZlOWI3NmQwNS4uYzBjN2U4MzQ4N2Y0IDEwMDY0NAotLS0g YS9kcml2ZXJzL21mZC9LY29uZmlnCisrKyBiL2RyaXZlcnMvbWZkL0tjb25maWcKQEAgLTI1NzIs NSArMjU3MiwxNiBAQCBjb25maWcgTUZEX01BWDczNjAKIAkgIGFkZGl0aW9uYWwgZHJpdmVycyBt dXN0IGJlIGVuYWJsZWQgaW4gb3JkZXIgdG8gdXNlIHRoZSBmdW5jdGlvbmFsaXR5CiAJICBvZiB0 aGUgZGV2aWNlLgogCitjb25maWcgTUZEX1pURV9aWDI5NzUyMFYzX0NSTQorCXRyaXN0YXRlICJa VEUgengyOTc1MjB2MyBDbG9jayBhbmQgUmVzZXQgTWFuYWdlciIKKwlzZWxlY3QgTUZEX0NPUkUK KwlkZWZhdWx0IFNPQ19aWDI5NzUyMFYzCisJaGVscAorCSAgU2F5IHllcyBoZXJlIHRvIGVuYWJs ZSB0aGUgZHJpdmVyIGZvciB0aGUgWlRFIHp4Mjk3NTIwdjMgY2xvY2sgYW5kCisJICByZXNldCBt YW5hZ2VyIE1GRCBkcml2ZXIuIFRoaXMgZHJpdmVyIHByb3ZpZGVzIHRoZSBob3N0IGRldmljZSBm b3IKKwkgIHRoZSBjbG9jayBhbmQgcmVzZXQgZHJpdmVycyBhbmQgaXMgcmVxdWlyZWQgdG8gYm9v dCB0aGUgU29DLiBZb3UKKwkgIHdpbGwgYWxzbyBuZWVkIHRvIGVuYWJsZSBDTEtfWlRFX1pYMjk3 NTIwVjMgYW5kIFJFU0VUX1pURV9aWDI5NzUyMFYzCisJICB0byBidWlsZCB0aGUgYWN0dWFsIGNs b2NrIGFuZCByZXNldCBjaGlsZCBkcml2ZXJzLgorCiBlbmRtZW51CiBlbmRpZgpkaWZmIC0tZ2l0 IGEvZHJpdmVycy9tZmQvTWFrZWZpbGUgYi9kcml2ZXJzL21mZC9NYWtlZmlsZQppbmRleCBkZDRi YjdlNzdjMzMuLjRmNmE3ODE3MGFjNSAxMDA2NDQKLS0tIGEvZHJpdmVycy9tZmQvTWFrZWZpbGUK KysrIGIvZHJpdmVycy9tZmQvTWFrZWZpbGUKQEAgLTMwMywzICszMDMsNSBAQCBvYmotJChDT05G SUdfTUZEX1JTTVVfU1BJKQkrPSByc211X3NwaS5vIHJzbXVfY29yZS5vCiBvYmotJChDT05GSUdf TUZEX1VQQk9BUkRfRlBHQSkJKz0gdXBib2FyZC1mcGdhLm8KIAogb2JqLSQoQ09ORklHX01GRF9M T09OR1NPTl9TRSkJKz0gbG9vbmdzb24tc2UubworCitvYmotJChDT05GSUdfTUZEX1pURV9aWDI5 NzUyMFYzX0NSTSkJKz0genRlLXp4Mjk3NTIwdjMtY3JtLm8KZGlmZiAtLWdpdCBhL2RyaXZlcnMv bWZkL3p0ZS16eDI5NzUyMHYzLWNybS5jIGIvZHJpdmVycy9tZmQvenRlLXp4Mjk3NTIwdjMtY3Jt LmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwLi4zN2NkMGMxNDY4MGUK LS0tIC9kZXYvbnVsbAorKysgYi9kcml2ZXJzL21mZC96dGUtengyOTc1MjB2My1jcm0uYwpAQCAt MCwwICsxLDExNyBAQAorLy8gU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEdQTC0yLjAtb25seQor LyoKKyAqIENvcHlyaWdodCAoQykgMjAyNiBTdGVmYW4gRMO2c2luZ2VyCisgKi8KKworI2luY2x1 ZGUgPGxpbnV4L2Nsay5oPgorI2luY2x1ZGUgPGxpbnV4L2Vyci5oPgorI2luY2x1ZGUgPGxpbnV4 L2Vycm5vLmg+CisjaW5jbHVkZSA8bGludXgvbWZkL2NvcmUuaD4KKyNpbmNsdWRlIDxsaW51eC9t b2R1bGUuaD4KKyNpbmNsdWRlIDxsaW51eC9vZi5oPgorI2luY2x1ZGUgPGxpbnV4L3BsYXRmb3Jt X2RldmljZS5oPgorI2luY2x1ZGUgPGxpbnV4L3Jlc2V0Lmg+CisKK2VudW0gengyOTc1MjB2M19t ZmRfdHlwZSB7CisJWlgyOTc1MjBWM19NRkRfSU5WQUxJRCA9IDAsCisJWlgyOTc1MjBWM19NRkRf VE9QQ1JNLAorCVpYMjk3NTIwVjNfTUZEX01BVFJJWENSTSwKKwlaWDI5NzUyMFYzX01GRF9MU1BD Uk0sCit9OworCitzdGF0aWMgY29uc3Qgc3RydWN0IG1mZF9jZWxsIHp4Mjk3NTIwdjNfdG9wY3Jt X2NlbGxzW10gPSB7CisJeworCQkubmFtZSA9ICJ6eDI5NzUyMHYzLXRvcGNsayIsCisJfSwKKwl7 CisJCS5uYW1lID0gInp4Mjk3NTIwdjMtdG9wcmVzZXQiLAorCX0sCisJeworCQkubmFtZSA9ICJy ZWJvb3QiLAorCQkub2ZfY29tcGF0aWJsZSA9ICJzeXNjb24tcmVib290IiwKKwl9LAorCXsKKwkJ Lm5hbWUgPSAiengyOTc1MjB2My11c2ItcGh5IiwKKwl9LAorfTsKKworc3RhdGljIGNvbnN0IHN0 cnVjdCBtZmRfY2VsbCB6eDI5NzUyMHYzX21hdHJpeGNybV9jZWxsc1tdID0geworCXsKKwkJLm5h bWUgPSAiengyOTc1MjB2My1tYXRyaXhjbGsiLAorCX0sCisJeworCQkubmFtZSA9ICJ6eDI5NzUy MHYzLW1hdHJpeHJlc2V0IiwKKwl9LAorCS8qIEEgc2V0IG9mIGh3bG9jayBjb250cm9sbGVycyBp cyBmb3VuZCBoZXJlIGFzIHdlbGwsIGJ1dCBubyBkcml2ZXIgaXMgaW1wbGVtZW50ZWQgeWV0ICov Cit9OworCitzdGF0aWMgY29uc3Qgc3RydWN0IG1mZF9jZWxsIHp4Mjk3NTIwdjNfbHNwY3JtX2Nl bGxzW10gPSB7CisJeworCQkubmFtZSA9ICJ6eDI5NzUyMHYzLWxzcGNsayIsCisJfSwKKwl7CisJ CS5uYW1lID0gInp4Mjk3NTIwdjMtbHNwcmVzZXQiLAorCX0sCit9OworCitzdGF0aWMgaW50IHp4 Mjk3NTIwdjNfY3JtX3Byb2JlKHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgKnBkZXYpCit7CisJc3Ry dWN0IGRldmljZSAqZGV2ID0gJnBkZXYtPmRldjsKKwllbnVtIHp4Mjk3NTIwdjNfbWZkX3R5cGUg dHlwZTsKKwljb25zdCBzdHJ1Y3QgbWZkX2NlbGwgKmNlbGxzOworCXN0cnVjdCByZXNldF9jb250 cm9sICpyc3Q7CisJdW5zaWduZWQgaW50IG51bV9jZWxsczsKKwlzdHJ1Y3QgY2xrICpwY2xrOwor CisJdHlwZSA9IChlbnVtIHp4Mjk3NTIwdjNfbWZkX3R5cGUpb2ZfZGV2aWNlX2dldF9tYXRjaF9k YXRhKGRldik7CisJc3dpdGNoICh0eXBlKSB7CisJY2FzZSBaWDI5NzUyMFYzX01GRF9UT1BDUk06 CisJCWNlbGxzID0gengyOTc1MjB2M190b3Bjcm1fY2VsbHM7CisJCW51bV9jZWxscyA9IEFSUkFZ X1NJWkUoengyOTc1MjB2M190b3Bjcm1fY2VsbHMpOworCQlicmVhazsKKworCWNhc2UgWlgyOTc1 MjBWM19NRkRfTUFUUklYQ1JNOgorCQljZWxscyA9IHp4Mjk3NTIwdjNfbWF0cml4Y3JtX2NlbGxz OworCQludW1fY2VsbHMgPSBBUlJBWV9TSVpFKHp4Mjk3NTIwdjNfbWF0cml4Y3JtX2NlbGxzKTsK KwkJYnJlYWs7CisKKwljYXNlIFpYMjk3NTIwVjNfTUZEX0xTUENSTToKKwkJY2VsbHMgPSB6eDI5 NzUyMHYzX2xzcGNybV9jZWxsczsKKwkJbnVtX2NlbGxzID0gQVJSQVlfU0laRSh6eDI5NzUyMHYz X2xzcGNybV9jZWxscyk7CisKKwkJcGNsayA9IGRldm1fY2xrX2dldF9lbmFibGVkKGRldiwgInBj bGsiKTsKKwkJaWYgKElTX0VSUihwY2xrKSkKKwkJCXJldHVybiBkZXZfZXJyX3Byb2JlKGRldiwg UFRSX0VSUihwY2xrKSwgIkNvdWxkIG5vdCBnZXQgcGNsa1xuIik7CisKKwkJcnN0ID0gZGV2bV9y ZXNldF9jb250cm9sX2dldF9leGNsdXNpdmVfZGVhc3NlcnRlZChkZXYsIE5VTEwpOworCQlpZiAo SVNfRVJSKHJzdCkpCisJCQlyZXR1cm4gZGV2X2Vycl9wcm9iZShkZXYsIFBUUl9FUlIocnN0KSwg IkNvdWxkIG5vdCBnZXQgcmVzZXRcbiIpOworCQlicmVhazsKKworCWRlZmF1bHQ6CisJCXJldHVy biAtRU5PREVWOworCX0KKworCXJldHVybiBkZXZtX21mZF9hZGRfZGV2aWNlcyhkZXYsIFBMQVRG T1JNX0RFVklEX0FVVE8sIGNlbGxzLCBudW1fY2VsbHMsIE5VTEwsIDAsIE5VTEwpOworfQorCitz dGF0aWMgY29uc3Qgc3RydWN0IG9mX2RldmljZV9pZCBvZl9tYXRjaF96eDI5NzUyMHYzX2NybVtd ID0geworCXsgLmNvbXBhdGlibGUgPSAienRlLHp4Mjk3NTIwdjMtdG9wY3JtIiwgLmRhdGEgPSAo dm9pZCAqKVpYMjk3NTIwVjNfTUZEX1RPUENSTSB9LAorCXsgLmNvbXBhdGlibGUgPSAienRlLHp4 Mjk3NTIwdjMtbWF0cml4Y3JtIiwgLmRhdGEgPSAodm9pZCAqKVpYMjk3NTIwVjNfTUZEX01BVFJJ WENSTSB9LAorCXsgLmNvbXBhdGlibGUgPSAienRlLHp4Mjk3NTIwdjMtbHNwY3JtIiwgLmRhdGEg PSAodm9pZCAqKVpYMjk3NTIwVjNfTUZEX0xTUENSTSB9LAorCXsgfQorfTsKK01PRFVMRV9ERVZJ Q0VfVEFCTEUob2YsIG9mX21hdGNoX3p4Mjk3NTIwdjNfY3JtKTsKKworc3RhdGljIHN0cnVjdCBw bGF0Zm9ybV9kcml2ZXIgengyOTc1MjB2M19jcm0gPSB7CisJLnByb2JlID0gengyOTc1MjB2M19j cm1fcHJvYmUsCisJLmRyaXZlciA9IHsKKwkJLm5hbWUgPSAiengyOTc1MjB2My1jcm0iLAorCQku b2ZfbWF0Y2hfdGFibGUgPSBvZl9tYXRjaF96eDI5NzUyMHYzX2NybSwKKwl9LAorfTsKK21vZHVs ZV9wbGF0Zm9ybV9kcml2ZXIoengyOTc1MjB2M19jcm0pOworCitNT0RVTEVfQVVUSE9SKCJTdGVm YW4gRMO2c2luZ2VyIDxzdGVmYW5kb2VzaW5nZXJAZ21haWwuY29tPiIpOworTU9EVUxFX0RFU0NS SVBUSU9OKCJaVEUgengyOTc1MjB2MyBDUk0gTUZEIGhvc3QgZHJpdmVyIik7CitNT0RVTEVfTElD RU5TRSgiR1BMIik7CgotLSAKMi41NC4wCgoKLS0gCmxpbnV4LXBoeSBtYWlsaW5nIGxpc3QKbGlu dXgtcGh5QGxpc3RzLmluZnJhZGVhZC5vcmcKaHR0cHM6Ly9saXN0cy5pbmZyYWRlYWQub3JnL21h aWxtYW4vbGlzdGluZm8vbGludXgtcGh5Cg==