[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==