RE: [PATCH v3] printk: fix zero-valued printk timestamps in early boot

"Bird, Tim" <[email protected]> Mon, 30 Mar 2026 20:42:16 +0000
Newsgroups org.kernel.vger.linux-embedded,org.kernel.vger.linux-kernel
Message-ID <MW5PR13MB5632B55CAD0BEA34188EE88EFD52A@MW5PR13MB5632.namprd13.prod.outlook.com>
VGhvbWFzLA0KDQpZb3VyIHJlc3BvbnNlIGlzIGJvdGggdmVyeSBoZWxwZnVsIGFuZCBhIGJpdCBm
cnVzdHJhdGluZy4gIFNlZSBiZWxvdy4NCg0KPiAtLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0K
PiBGcm9tOiBUaG9tYXMgR2xlaXhuZXIgPHRnbHhAa2VybmVsLm9yZz4NCj4gVGltIQ0KPiANCj4g
T24gRnJpLCBNYXIgMjcgMjAyNiBhdCAxODo0OCwgVGltIEJpcmQgd3JvdGU6DQo+ID4gV2VsbCwg
dGhpcyBpcyB1c2luZyBnZXRfY3ljbGVzKCksIHdoaWNoIGFscmVhZHkgZXhpc3RzIG9uIG1vc3Qg
YXJjaGl0ZWN0dXJlcy4NCj4gDQo+IFRoZSBmYWN0IHRoYXQgZ2V0X2N5Y2xlcygpIGV4aXN0cyBk
b2VzIG5vdCBtYWtlIGl0IGEgZ29vZCBjaG9pY2UuIFRoZXJlDQo+IGlzIGEgcmVhc29uIHdoeSBh
bnl0aGluZyB3aGljaCBkZWFscyB3aXRoIGV2ZW4gcmVtb3RlbHkgcmVsaWFibGUgdGltZQ0KPiBy
ZXF1aXJlbWVudHMgc3RvcHBlZCB1c2luZyBpdC4gSXQncyBzdGlsbCB0aGVyZSBhcyBhIGxvdyBs
ZXZlbA0KPiBhcmNoaXRlY3R1cmUgc3BlY2lmaWMgaW50ZXJmYWNlIGFuZCBtb3N0IG90aGVyIHVz
YWdlIGlzIHB1cmVseQ0KPiBoaXN0b3JpY2FsIG9yIHdyb25nIHRvIGJlZ2luIHdpdGggYW5kIHNo
b3VsZCBiZSByZW1vdmVkIGNvbXBsZXRlbHkuDQo+IA0KPiBBIGxvdCBvZiBwZW9wbGUgc3BlbnQg
YSBzaWduaWZpY2FudCBhbW91bnQgb2YgdGltZSB0byBnZXQgcmlkIG9mIHRoaXMNCj4gaWxsIGRl
ZmluZWQgbWVjaGFuaXNtIGFuZCBpdCdzIGp1c3Qgc2FkIHRoYXQgdGhleSBkaWQgbm90IG1hbmFn
ZSB0bw0KPiBlbGltaW5hdGUgaXQgY29tcGxldGVseS4NCj4gDQpUaGF0J3MgZ29vZCB0byBrbm93
LiAgVGhhbmtzLiAgRm9yIHdoYXQgaXQncyB3b3J0aCwgSSB3b3VsZG4ndCBkZXNjcmliZQ0KbXkg
ZGVzaXJlZCB1c2FnZSBhcyBiZWluZyBmb3IgcmVtb3RlbHkgcmVsaWFibGUgdGltZSByZXF1aXJl
bWVudHMuDQoNCj4gPiBUaGlzIHBhdGNoIGp1c3QgYWRkcyBhIGZ1bmt5IHdheSB0byB1c2UgY3lj
bGVzICh3aGljaCBhcmUgYXZhaWxhYmxlDQo+ID4gZnJvbSBwb3dlciBvbiwgcmF0aGVyIHRoYW4g
ZnJvbSB0aGUgc3RhcnQgb2Yga2VybmVsIHRpbWVrZWVwaW5nKSB0bw0KPiA+IGFsbG93IHNhdmlu
ZyB0aW1pbmcgZGF0YSBmb3Igc29tZSBlYXJseSBwcmludGtzICh1c3VhbGx5IGFib3V0IDIwIHRv
DQo+ID4gNjAgcHJpbnRrcykuDQo+IA0KPiBJIGNhbiBzZWUgdGhhdCwgYnV0IEknbSBub3QgYWNj
ZXB0aW5nIHlldCBhbm90aGVyIGlsbCBkZWZpbmVkIGdsdWVkIG9uDQo+IG1lY2hhbmlzbSB3aGlj
aCByZWxpZXMgb24gYSBoaXN0b3JpY2FsIGlsbCBkZWZpbmVkIG1pc3Rha2UuDQo+IA0KPiA+IEFs
c28sIG15IGN1cnJlbnQgcGxhbiBpcyB0byBiYWNrIG9mZiBvZiBhZGp1c3RpbmcgdGhlIG9mZnNl
dCBvZg0KPiA+IHVucmVsYXRlZCAobm9uLXByZS10aW1lX2luaXQoKSkgcHJpbnRrcywgYW5kIGxp
bWl0IHRoZSBlZmZlY3QgaW4gdGhlDQo+ID4gc3lzdGVtIHRvIGp1c3QgdGhvc2UgZmlyc3QgZWFy
bHkgKHByZS10aW1lX2luaXQoKSkgcHJpbnRrcy4gIFRoZQ0KPiA+IGNvbXBsaWNhdGlvbiB0byBh
ZGQgYW4gb2Zmc2V0IHRvIGFsbCBmb2xsb3dpbmcgcHJpbnRrcyB3YXMganVzdCB0bw0KPiA+IGF2
b2lkIGEgZGlzY29udGludWl0eSBpbiBwcmludGsgdGltZXN0YW1wcywgb25jZSB0aW1lX2luaXQo
KSB3YXMNCj4gPiBjYWxsZWQgYW5kICJyZWFsIiB0aW1lc3RhbXBzIHN0YXJ0ZWQgcHJvZHVjaW5n
IG5vbi16ZXJvcy4gIEdpdmVuIGhvdw0KPiA+IGNvbmZ1c2luZyB0aGlzIHNlZW1zIHRvIGhhdmUg
bWFkZSB0aGluZ3MsIEknbSB0aGlua2luZyBvZiBiYWNraW5nIG9mZg0KPiA+IG9mIHRoYXQgYXBw
cm9hY2guDQo+IA0KPiBUaGlzIGRpc2NvbnRpbnVpdHkgcmVzdWx0cyBmcm9tIHRoZSBmYWN0IHRo
YXQgeW91IGdsdWVkIGl0IGludG8gdGhlDQo+IHByaW50ayBjb2RlIGFuZCBzY2hlZF9jbG9jaygp
IGRvZXMgbm90IGtub3cgYWJvdXQgaXQuDQoNClllcy4gIE9mIGNvdXJzZS4gIFRoYXQgd2FzIGlu
dGVudGlvbmFsLg0KDQo+IA0KPiA+PiBwcmludGsoKQ0KPiA+Pg0KPiA+PiAgICB0aW1lX25zID0g
bG9jYWxfY2xvY2soKTsNCj4gPiB0aGF0J3MgdHNfbnNlYyA9IGxvY2FsX2Nsb2NrKCkNCj4gDQo+
IFRoYXQgb2J2aW91c2x5IGNoYW5nZXMgdGhlIGlsbHVzdHJhdGl2ZSBuYXR1cmUgb2YgbXkgbmFy
cmF0aXZlDQo+IHNpZ25pZmljYW50bHkuIFRoYW5rcyBmb3IgcG9pbnRpbmcgaXQgb3V0Lg0KDQpJ
IHdhcyBjb25mdXNlZCBieSB0aGUgdmFyaWFibGUgaW4geW91ciBuYXJyYXRpdmUsIHNpbmNlIEkg
aGFkbid0IHNlZW4gaXQuDQpJIGdyZXBwZWQgYW5kIHJlZXhhbWluZWQgdGhlIGNvZGUuICBJIGNs
YXJpZmllZCB3aGF0IEkgYmVsaWV2ZWQgdG8NCmJlIHRoZSB2YXJpYWJsZSB5b3Ugd2VyZSByZWZl
cmVuY2luZy4gIEkgY291bGQgaGF2ZSB3b3JkZWQgdGhpcyBiZXR0ZXIsDQpidXQgSSBkb24ndCBi
ZWxpZXZlIHlvdSBuZWVkZWQgdG8gcmVzcG9uZCB3aXRoIHNhcmNhc20uDQoNCj4gDQo+ID4+IEFz
IHRoaXMgbmVlZHMgdG8gYmUgc3VwcG9ydGVkIGJ5IHRoZSBhcmNoaXRlY3R1cmUvcGxhdGZvcm0g
aW4gYW55IGNhc2UNCj4gPj4gdGhlcmUgaXMgY2xvc2UgdG8gemVybyBiZW5lZml0IGZyb20gY3Jl
YXRpbmcgY29tcGxpY2F0ZWQgZ2VuZXJpYw0KPiA+PiBpbmZyYXN0cnVjdHVyZSBmb3IgdGhpcy4N
Cj4gPg0KPiA+IFRoZSBwcm9ibGVtIHdpdGggdGhpcyBpcyB0aGF0IHRzY19lYXJseV91bmNhbGli
cmF0ZWQoKSBjYW4ndCByZXR1cm4NCj4gPiBuYW5vc2Vjb25kcyB1bnRpbCBhZnRlciBjYWxpYnJh
dGlvbi4NCj4gDQo+IEluIHRoZW9yeSBpdCBjb3VsZCBmb3IgbW9zdCBtb2Rlcm4geDg2IENQVXMg
YXMgdGhleSBhZHZlcnRpc2UgdGhlDQo+IG5vbWluYWwgVFNDIGZyZXF1ZW5jeSBpbiBDUFVJRC4g
T3RoZXIgYXJjaGl0ZWN0dXJlcyBoYXZlIHdlbGwga25vd24NCj4gY2xvY2tzb3VyY2UgZnJlcXVl
bmNpZXMsIGUuZy4gUzM5MCBoYXMgYSBrbm93biBub21pbmFsIGZyZXF1ZW5jeSBvZiAxR0h6DQo+
IChJSVJDKS4NCj4gDQo+IEJ1dCB0aGF0IGRvZXMgbm90IHNvbHZlIGFueSBvZiB0aGUgb3RoZXIg
cHJvYmxlbXMuIFNlZSBiZWxvdy4NCj4gDQo+ID4gSSBkb24ndCB0aGluayBpdCdzIGEgZ29vZCBp
ZGVhIHRvIHJldHVybnMgY3ljbGVzIHNvbWV0aW1lcyBhbmQgbmFub3NlY29uZHMNCj4gPiBhdCBv
dGhlciB0aW1lcywgZnJvbSBhIGRlZXAtc2VhdGVkIHRpbWluZyBmdW5jdGlvbiBsaWtlIHRoaXMu
DQo+ID4gQWxzbyB0c2NfYXZhaWxhYmxlKCkgbWlnaHQgaXRzZWxmIGRlcGVuZCBvbiBpbml0aWFs
aXphdGlvbiB0aGF0IGhhc24ndCBoYXBwZW5lZCB5ZXQNCj4gPiAoaW4gZWFybHkgYm9vdCkuDQo+
IA0KPiBBY2Nlc3MgdG8gdGhlIFRTQyByZXF1aXJlcyB0aGUgWDg2X0ZFQVRVUkVfVFNDIGJpdCBi
ZWluZyBzZXQsIHdoaWNoDQo+IGhhcHBlbnMgaW4gZWFybHlfY3B1X2luaXQoKS4gQmVmb3JlIHRo
YXQgZ2V0X2N5Y2xlcygpIHJldHVybnMgZmlybWx5IDAuDQo+IA0KWWVzLg0KDQo+ID4gTXkgYXBw
cm9hY2ggb2Ygc2F2aW5nIGN5Y2xlcyBpbiB0c19uc2VjIGZvciB0aGUgZWFybHkgcHJpbnRrcyB3
b3Jrcw0KPiA+IGJlY2F1c2UgdGhlcmUncyBhIGxpbWl0ZWQgbnVtYmVyIG9mIHBsYWNlcyAob25s
eSAyKSBpbnNpZGUgdGhlIHByaW50aw0KPiA+IGNvZGUgd2hlcmUgdHNfbnNlYyBpcyBhY2Nlc3Nl
ZCwgbWVhbmluZyB0aGF0IHRoZSBjb2RlIHRvIGRldGVjdCBhDQo+ID4gY3ljbGVzIHZhbHVlIGlu
c3RlYWQgb2YgYSBuYW5vc2Vjb25kcyB2YWx1ZSBjYW4gYmUgY29uc3RyYWluZWQgdG8ganVzdA0K
PiA+IHRob3NlIHR3byBwbGFjZXMuICBCYXNpY2FsbHksIEknbSBkb2luZyB0aGUgY29udmVyc2lv
biBmcm9tIGN5Y2xlcyB0bw0KPiA+IG5hbm9zZWNvbmRzIGF0IHByaW50ayBwcmVzZW50YXRpb24g
dGltZSwgcmF0aGVyIHRoYW4gYXQgdGhlIHRpbWUgb2YNCj4gPiBwcmludGsgbWVzc2FnZSBzdWJt
aXNzaW9uLg0KPiANCj4gSSBrbm93LCBidXQgdGhhdCBhZ2FpbiByZXF1aXJlcyB0byBhZGQgbW9y
ZSBpbGwgZGVmaW5lZCBpbmZyYXN0cnVjdHVyZS4NClF1aXRlIHBvc3NpYmx5IHlvdSBhcmUgcmln
aHQuICBBcmUgeW91IHNheWluZyB0aGF0IHRoZSBnZW5lcmFsIGNvbmNlcHQNCm9mIHNhdmluZyBj
eWNsZXMgdG8gYmUgY29udmVydGVkIGxhdGVyIHRvIG5hbm9zZWNvbmRzIGlzIHRoZSBpbGwtZGVm
aW5lZA0KaW5mcmFzdHJ1Y3R1cmUsIG9yIGFyZSB5b3Ugc2F5aW5nIHVzaW5nIGdldF9jeWNsZXMo
KSBpcyBub3Qgc2FmZSBvcg0KYWNjdXJhdGUgZW5vdWdoPw0KRnJvbSB3aGF0IHlvdSBzYXkgYmVs
b3csIEkgYmVsaWV2ZSB5b3UgYXJlIHNheWluZyB0aGUgbGF0dGVyLg0KDQpJZiB5b3UgZG9uJ3Qg
bGlrZSB0aGUgZGVmZXJyZWQgY3ljbGVzIGNvbnZlcnNpb24sIHRoYXQncyBmaW5lLiAgSSBsaWtl
IHRoZSBhcHByb2FjaA0KeW91IGRlbW9uc3RyYXRlZCBpbiB5b3VyIHN1YnNlcXVlbnQgUG9DIHBh
dGNoIHRvIHNob3cgc3VwZXItZWFybHkNCnRzYyBjYWxpYnJhdGlvbiAodXNpbmcgYSBrZXJuZWwg
cGFyYW0pLiAgSSBjYW4gY2VydGFpbmx5IGxpdmUgd2l0aCAxNCBtaWNyb3NlY29uZHMNCm9mIG1p
c3NlZCBvcHRpbWl6YXRpb24gaW5mb3JtYXRpb24sIGlmIHRoYXQncyBhbGwgaXQgaXMuDQoNCj4g
DQo+IFdlIGFyZSBub3QgYWltaW5nIHRvIGFkZCBtb3JlLCB3ZSB3YW50IHRvIGdldCByaWQgb2Yg
aXQgY29tcGxldGVseSB0bw0KPiB0aGUgZXh0ZW50IHBvc3NpYmxlLg0KDQpPSy4NCg0KPiANCj4g
PiBUaGUgYXBwcm9hY2ggdGhhdCBJIG9yaWdpbmFsbHkgc3RhcnRlZCB3aXRoDQo+ID4gKHNlZSBo
dHRwczovL2xvcmUua2VybmVsLm9yZy9saW51eC1lbWJlZGRlZC8zOWIwOWVkYi04OTk4LTRlYmQt
YTU2NC03ZDU5NDQzNGE5ODFAYmlyZC5vcmcvDQo+ID4gd2FzIHRvIHVzZSBoYXJkY29kZWQgbXVs
dGlwbGllciBhbmQgc2hpZnQgdmFsdWVzIGZvciBjb252ZXJ0aW5nIGZyb20gY3ljbGVzDQo+ID4g
dG8gbmFub3NlY29uZHMuICBUaGVzZSBtdWx0aXBsaWVyIGFuZCBzaGlmdCB2YWx1ZXMgd291bGQg
YmUgc2V0IGF0IGtlcm5lbA0KPiA+IGNvbmZpZ3VyYXRpb24gdGltZSAoaWUsIHVzaW5nIENPTkZJ
RyB2YWx1ZXMpLg0KPiANCj4gV2hpY2ggbWFrZXMgaXQgdW51c2FibGUgZm9yIGRpc3RybyBrZXJu
ZWxzIGFuZCB0aGVyZWZvcmUgYSBub24tc3RhcnRlci4NCg0KQ2FuIHlvdSBlbGFib3JhdGUgb24g
dGhpcz8gIEluZGVlZCBkaXN0cm8ga2VybmVscyB3b3VsZCBub3QgYmUgYWJsZSB0byBwcmUtc2V0
DQpUQ1MgY2FsaWJyYXRpb24gdmFsdWVzLCBhbmQgd291bGQgbm90IHR1cm4gb24gdGhpcyBmZWF0
dXJlIChpbiB0aGF0IHZlcnNpb24NCm9mIHRoZSBwYXRjaCkgZm9yIHByb2R1Y3Rpb24gcmVsZWFz
ZSBrZXJuZWxzLiAgQnV0IGl0IHNvdW5kcyBsaWtlIHlvdSBhcmUgc2F5aW5nIHRoYXQNCmFueXRo
aW5nIHRoYXQgcmVxdWlyZXMgYSBjb25maWd1cmF0aW9uIHRoYXQgaXMgbm9uLWdlbmVyYWwgKG9y
IGluZGVlZCB1c2VkDQp0ZW1wb3JhcmlseSBkdXJpbmcgZGV2ZWxvcG1lbnQpIGlzIG5vdCBhY2Nl
cHRhYmxlIHVwc3RyZWFtLiAgSXMgdGhhdCB5b3VyIHBvc2l0aW9uPw0KDQpUaGlzICJmZWF0dXJl
IiBpcyBpbnRlbmRlZCBhcyBhIHRvb2wgZm9yIGRldmVsb3BlcnMgd2hvIGFyZSBvcHRpbWl6aW5n
IExpbnV4DQprZXJuZWwgYm9vdCB0aW1lLiAoSSdtIG5vdCBzdXJlIHdobyBlbHNlIHdvdWxkIGJl
IGludGVyZXN0ZWQgaW4gZ2V0dGluZw0KdGltaW5nIGRhdGEgZm9yIHRoZXNlIChjdXJyZW50bHkg
emVyby10aW1lc3RhbXBlZCkgcHJpbnRrcyBkdXJpbmcgdGhlDQpmaXJzdCAxMDAtNDAwIG1pbGxp
c2Vjb25kcyBvZiBrZXJuZWwgYm9vdCkuICBUaGlzIHdvdWxkIGJlLCBJIGJlbGlldmUsIGRldmVs
b3BlcnMNCndobyBjYW4gY2hhbmdlIHRoZWlyIGNvbmZpZ3MgYW5kIGNvbXBpbGUgdGhlaXIga2Vy
bmVscy4gIFRoZSB2MSB2ZXJzaW9uIG9mDQp0aGUgcGF0Y2ggaW5jbHVkZWQgY2FsY3VsYXRpb25z
IGFuZCBwcmludGtzIHRvIGhlbHAgZGV2ZWxvcGVycyBzZXQgdGhlDQpjYWxpYnJhdGlvbiB2YWx1
ZXMgZm9yIHRoZWlyIGhhcmR3YXJlLCBzbyBpdCB3YXMgbm90IHRhcmdldGVkIGF0IG15IG1hY2hp
bmUNCm9ubHkuDQoNClRoaXMgcGF0Y2ggaXMgcGFydCBvZiBhIGxhcmdlciBlZmZvcnQgb24gbXkg
cGFydCB0byBoZWxwIGF1dG9tYXRlIGJvb3QtdGltZSB0dW5pbmcNCm9mIHRoZSBrZXJuZWwuICBN
YW55IG90aGVyIHBhcnRzIG9mIHRoYXQgZWZmb3J0IHJlbHkgb24gcmVjb25maWd1cmF0aW9uIGFu
ZCByZWNvbXBpbGF0aW9uDQpvZiB0aGUga2VybmVsLCB3aGljaCBtYWtlcyB0aGUgd2hvbGUgdGhp
bmcgYSBkZXZlbG9wbWVudC10aW1lIGVmZm9ydCwgbm90IHNvIG11Y2gNCmEgcnVuLXRpbWUsIGVu
ZC11c2VyLCBvciBwcm9kdWN0aW9uLWxldmVsIGZlYXR1cmUuICBBbmQgdmVyeSBtdWNoIG5vdCBh
IHRoaW5nIHRoYXQNCmNhbiBiZSBhY2NvbXBsaXNoZWQgd2l0aCBkaXN0cm8tb25seSBjb25maWdz
Lg0KDQo+IA0KPiA+IFRoZXJlIGFyZSBvdGhlciBhcHByb2FjaGVzLCBidXQgbm9uZSByZWFsbHkg
d29yayBlYXJseSBlbm91Z2ggaW4gdGhlDQo+ID4ga2VybmVsIGJvb3QgdG8gbm90IGJlIGEgcGFp
bi4gIFRoZSBnb2FsIGlzIHRvIHByb3ZpZGUgdGltaW5nIGluZm8NCj4gPiBiZWZvcmU6IHRpbWVr
ZWVwaW5nIGluaXQsIGppZmZpZXMgc3RhcnR1cCwgYW5kIGV2ZW4gQ1BVIGZlYXR1cmVzDQo+ID4g
ZGV0ZXJtaW5hdGlvbiwNCj4gDQo+IEFzIEkgcG9pbnRlZCBvdXQgYmVmb3JlIHRoYXQncyB3aXNo
ZnVsIHRoaW5raW5nOg0KPiANCj4gICAgWW91IF9jYW5ub3RfIGFjY2VzcyBhIHJlc291cmNlIGJl
Zm9yZSBpdCBoYXMgYmVlbiBkZXRlcm1pbmVkIHRvIGJlDQo+ICAgIGF2YWlsYWJsZS4NCj4gDQo+
IFBlcmlvZC4NCj4gDQo+IEl0IGRvZXMgbm90IG1hdHRlciBhdCBhbGwgaWYgX3lvdV8ga25vdyBm
b3Igc3VyZSB0aGF0IGl0IGlzIHRoZSBjYXNlIGluDQo+IF95b3VyXyBwZXJzb25hbCBzZXR1cC4N
Cg0KSSB1c2VkIGdldF9jeWNsZXMoKSwgd2hpY2ggaGFzIGEgY2hlY2sgZm9yIGF2YWlsYWJpbGl0
eSBpbiBpdCwgc28gdGhlIHBhdGNoIGRpZG4ndA0KYWNjZXNzIGEgcmVzb3VyY2UgYmVmb3JlIGl0
IHdhcyBkZXRlcm1pbmVkIHRvIGJlIGF2YWlsYWJsZS4NCkl0IHNvdW5kcyBsaWtlIHlvdSdyZSBy
ZXNwb25kaW5nIHRvIG15IHdvcmRpbmcgYWJvdmUgYW5kIG5vdCB0aGUgcGF0Y2ggaXRzZWxmLg0K
DQpJdCBpcyBub3QgbXkgaW50ZW50IHRvIGhhbmRsZSBvbmx5IG15IHBlcnNvbmFsIHNldHVwLg0K
WW91ciBoZWxwIHRvIG1ha2Ugc3VyZSB0aGF0IHRoaXMgZmVhdHVyZSBpcyBhcyBnZW5lcmFsIGFz
IHBvc3NpYmxlIGlzIG11Y2ggYXBwcmVjaWF0ZWQuDQoNCj4gDQo+ID4gYW5kIHRvIGtlZXAgdGhl
IGVmZmVjdCBuYXJyb3cgLS0gbGltaXRlZCBvbmx5IHRvIHByaW50a3MsIGFuZCB0aGUNCj4gPiBm
aXJzdCBmZXcgcHJlLXRpbWVfaW5pdCgpIHByaW50ayBtZXNzYWdlcywgYXQgdGhhdC4NCj4gDQo+
IEVpdGhlciBpdCBpcyBzb2x2ZWQgaW4gYSBnZW5lcmljIHdheSBvciB3ZSBoYXZlIHRvIGFncmVl
IHRoYXQgaXQncyBub3QNCj4gc29sdmFibGUgYXQgYWxsLg0KDQpJIGRpc2FncmVlIHRoYXQgc29s
dmluZyB0aGlzIGxpbWl0ZWQgcHJvYmxlbSAoemVyby12YWx1ZWQgdGltZXN0YW1wcw0KaW4gZWFy
bHkgYm9vdCkgaGFzIHRvIGJlIHNvbHZlZCBpbiBhIGdlbmVyaWMgd2F5Lg0KSSBhbHJlYWR5IGxp
bWl0ZWQgdGhlIHNvbHV0aW9uIHNwYWNlIHRvIG9ubHkgcHJvY2Vzc29ycyB0aGF0IEkgYmVsaWV2
ZWQNCmhhZCByZWxpYWJsZSwgcHJlLWtlcm5lbC1pbml0aWFsaXplZCBjeWNsZSBnZW5lcmF0b3Jz
Lg0KDQpJIHRoaW5rIGl0J3MgZmFpciB0byBoYXZlIGEgc3BlY2lhbGl6ZWQgc29sdXRpb24gdG8g
YSBzcGVjaWFsaXplZCBwcm9ibGVtLCBpZg0KaXQgY2FuIGJlIG1hZGUgdG8gaGF2ZSB2ZXJ5IGxp
bWl0ZWQgZWZmZWN0IG9uIG90aGVyIGNvZGUuDQoNCkkgdHJpZWQgdG8gYXZvaWQgYWZmZWN0aW5n
IGFueSBvdGhlciB0aW1la2VlcGluZyBtZWNoYW5pc20NCihpZSAgcmUtZW5naW5lZXJpbmcgbG9j
YWxfY2xvY2spLCBzcGVjaWZpY2FsbHkgdG8gYXZvaWQgdW53YW50ZWQNCnNpZGUgZWZmZWN0cy4N
Cg0KPiBZb3VyIG5hcnJvdyBlZmZlY3QgYXJndW1lbnQgaXMgYm9ndXMgYW5kIHlvdSBrbm93IHRo
YXQNCj4gdmVyeSB3ZWxsLg0KDQpUaGlzIHNvdW5kcyBsaWtlIHlvdSBiZWxpZXZlIEkgYW0gYXJn
dWluZyBpbiBiYWQgZmFpdGguDQpJIGRvbid0IGJlbGlldmUgdGhhdCBJIGFtLg0KDQo+IA0KPiA+
IEknbSBub3cgcmVzZWFyY2hpbmcgYSBzdWdnZXN0aW9uIGZyb20gU2hhc2hhbmsgQmFsYWppIHRv
IHVzZSB0aGUNCj4gPiBleGlzdGluZyBjYWxpYnJhdGlvbiBkYXRhIGZyb20gdHNjIGluaXRpYWxp
emF0aW9uLCB3aGljaCBtaWdodA0KPiA+IHNpbXBsaWZ5IHRoZSBjdXJyZW50IHBhdGNoIGV2ZW4g
ZnVydGhlci4gIEknbGwgbWFrZSBzdXJlIHRvIENDIHlvdSBvbg0KPiA+IHRoZSBuZXh0IHZlcnNp
b24gb2YgdGhlIHBhdGNoLg0KPiANCj4gSWYgeW91IHdhbnQgdG8gdXNlIHRoZSBjYWxpYnJhdGlv
biBkYXRhIGZyb20gdHNjX2Vhcmx5X2luaXQoKSB0aGVuIHlvdQ0KPiBhY2hpZXZlIGV4YWN0bHkg
X25vdGhpbmdfIGJlY2F1c2UgdHNjX2Vhcmx5X2luaXQoKSBhbHNvIGVuYWJsZXMgdGhlDQo+IGVh
cmx5IHNjaGVkIGNsb2NrIG9uIGJhcmUgbWV0YWwuIE9uIGEgVk0gd2l0aCBLVk0gY2xvY2sgYXZh
aWxhYmxlIHRoZQ0KPiBLVk0gY2xvY2sgc2V0dXAgZW5hYmxlcyB0aGUgZWFybHkgc2NoZWQgY2xv
Y2sgZXZlbiBiZWZvcmUgdGhhdCB2aWENCj4gaW5pdF9oeXBlcnZpc29yX3BsYXRmb3JtKCkuDQoN
CkluIHRoZSB2MyBwYXRjaCwgdGhlIHRpbWluZyBvZiBzY2hlZF9jbG9jayBhY3RpdmF0aW9uIGlz
IGluZGVwZW5kZW50IG9mIHRoZQ0KdGltaW5nIG9mIHRoZSB1c2Ugb2YgdGhlIHRzYyBjYWxpYnJh
dGlvbiB2YWx1ZXMuICBJIGRvbid0IHVuZGVyc3RhbmQNCmhvdyB0aGlzIGNvbW1lbnQgaXMgcmVs
ZXZhbnQgdG8gbXkgcGF0Y2guDQoNCj4gDQo+IFRoZSBlYXJseSBUU0MgaW5pdCBoYXBwZW5zIGlu
IHNldHVwX2FyY2goKSB2aWEgdHNjX2Vhcmx5X2luaXQoKSBhbmQgaXQncw0KPiBjb21wbGV0ZWx5
IHVuY2xlYXIgd2hldGhlciB5b3UgY2FuIGFsd2F5cyBhY2Nlc3MgdGhlIFRTQyBzYWZlbHkgYmVm
b3JlDQo+IHRoYXQgdW5jb25kaXRpb25hbGx5IGR1ZSB0byBTTlAsIHdoaWNoIHJlcXVpcmVzIHRv
IGVuYWJsZSB0aGUgc2VjdXJlIFRTQw0KPiBmaXJzdC4gVGhlcmUgaXMgYSByZWFzb24gd2h5IGFs
bCBvZiB0aGlzIGlzIG9yZGVyZWQgdGhlIHdheSBpdCBpcy4NCg0KT0suICBUaGFua3MgZm9yIHRo
YXQgaW5mby4gSSdsbCB0YWtlIGEgbG9vayBhdCB0aGF0Lg0KV2hhdCBoYXBwZW5zIGlmIHlvdSB0
cnkgYSByZHRzYygpIGJlZm9yZSB0c2NfZWFybHlfaW5pdD8gIElmIGl0IHJldHVybnMgemVybywg
SSBjYW4NCmxpdmUgd2l0aCB0aGF0LiAgSWYgaXQgZmF1bHRzIG9yIHJldHVybnMgcmFuZG9tIGRh
dGEgdGhhdCdzIGEgcHJvYmxlbS4NCg0KPiANCj4gV2hpbGUgcmVhZGluZyBUU0Mgd2F5IGJlZm9y
ZSB0aGF0IG1pZ2h0IHdvcmsgb24gYmFyZSBtZXRhbCBhbmQgaW4gbW9zdA0KPiBWTXMsIGl0J3Mg
bm90IGd1YXJhbnRlZWQgdG8gYmUgc2FmZSB1bmNvbmRpdGlvbmFsbHkgdW5sZXNzIHNvbWVvbmUg
c2l0cw0KPiBkb3duIGFuZCBwcm92aWRlcyBwcm9vZiB0byB0aGUgY29udHJhcnkuIEFzIGFsd2F5
cyBJJ20gaGFwcHkgdG8gYmUNCj4gcHJvdmVuIHdyb25nLg0KPiANCj4gV2hlbiB0c2NfZWFybHlf
aW5pdCgpIHdhcyBpbnRyb2R1Y2VkIGZvciB0aGUgdmVyeSBzYW1lIHJlYXNvbiB5b3UgYXJlDQo+
IGxvb2tpbmcgaW50byB0aGF0LCBxdWl0ZSBzb21lIHBlb3BsZSBzcGVudCBhIGxvdCBvZiB0aW1l
IHRvIGNvbWUgdXAgd2l0aA0KPiBhIHNvbHV0aW9uIHdoaWNoIHdhcyBkZWVtZWQgc2FmZSBlbm91
Z2ggdG8gYmUgdXNlZCB1bmNvbmRpdGlvbmFsbHkuDQo+IA0KPiBQbGVhc2UgY29uc3VsdCB0aGUg
TEtNTCBhcmNoaXZlIGZvciB0aGUgZnVsbCBoaXN0b3J5LiBUaGUgY29tbWl0IGxpbmtzDQo+IHdp
bGwgZ2l2ZSB5b3UgYSBwcm9wZXIgc3RhcnRpbmcgcG9pbnQuDQoNCk9LIC0gdGhhbmtzIGZvciB0
aGUgaW5mb3JtYXRpb24gYW5kIHRoZSBwb2ludGVycy4gIGdldF9jeWNsZXMoKSBkb2VzDQpoYXZl
IGEgQ1BVIGZlYXR1cmVzIGNoZWNrLCBzbyBteSBhY2Nlc3MgdG8gdGhlIHRzYyB3YXMgbm90IGNv
bXBsZXRlbHkNCnVuY29uZGl0aW9uYWwuICBJJ2xsIGRvIHNvbWUgbW9yZSByZXNlYXJjaCBoZXJl
IGFuZCB0cnkgdG8gbWFrZSB0aGUNCnVsdGltYXRlIHNvbHV0aW9uIGFzIHNhZmUgYXMgcG9zc2li
bGUuDQoNCj4gVGhhdCBzYWlkLCBJIGNvbXBsZXRlbHkgdW5kZXJzdGFuZCB0aGUgaXRjaCB5b3Ug
YXJlIHRyeWluZyB0byBzY3JhdGNoDQo+IGFuZCBJJ20gdGhlIGxlYXN0IHBlcnNvbiB0byBwcmV2
ZW50IGFuIGFyY2hpdGVjdHVyYWxseSBzb3VuZCBzb2x1dGlvbiwNCj4gYnV0IEknbSBhbHNvIHRo
ZSBmaXJzdCBwZXJzb24gdG8gTkFLIGFueSBhdHRlbXB0IHdoaWNoIGlzIGJhc2VkIG9uDQo+IHVu
aW5mb3JtZWQgY2xhaW1zIGFuZCAnd29ya3MgZm9yIG1lJyBhcmd1bWVudHMuDQoNCldlbGwsIG9u
ZSBvZiB0aGUgcHVycG9zZXMgb2YgcG9zdGluZyBwYXRjaGVzIGlzIHRvIGdldCBmZWVkYmFjaw0K
b24gZGlmZmVyZW50IGFwcHJvYWNoZXMuICBJJ20gaG9uZXN0bHkgbm90IHRyeWluZyB0byBjcmVh
dGUgYSBzb2x1dGlvbiB0aGF0IG9ubHkNCndvcmtzIG9uIG15IGhhcmR3YXJlLiAgQnV0IG5laXRo
ZXIgYW0gSSB0cnlpbmcgdG8gYm9pbCB0aGUgb2NlYW4NCmhlcmUuDQoNCkl0J3Mgbm90IGNsZWFy
IHRvIG1lIHRoYXQgdGhlcmUncyBtdWNoIGhhcm0gaW4gaGF2aW5nDQphIHNpbmdsZSBkaXNjb250
aW51aXR5IGVhcmx5IGluIHRoZSBwcmludGsgdGltZXN0YW1wcy4gIE5vIG9uZSBoYXMgdG9sZA0K
bWUgeWV0IHRoYXQgcHJpbnRrIHRpbWVzdGFtcHMgYWJzb2x1dGVseSBNVVNUIGJlIG1vbm90b25p
Y2FsbHkNCmluY3JlYXNpbmcsIGV2ZXJ5d2hlcmUuDQpUcnlpbmcgdG8gc29sdmUgdGhhdCBpc3N1
ZSBsZWQgdG8gYSBtb3JlIGNvbnZvbHV0ZWQgc29sdXRpb24gdGhhbg0KbXkgZmlyc3QgYXBwcm9h
Y2ggKGRlZmVycmVkIGN5Y2xlcyBjb252ZXJzaW9uIHZlcnN1cyBjb21waWxlLXRpbWUNCmNhbGli
cmF0aW9uIGRhdGEpLg0KDQpJIGFsc28gZG9uJ3QgdGhpbmsgdGhlcmUncyBtdWNoIGhhcm0gaWYg
dGhlIGRhdGEgZm9yIHRoZXNlIGZldyBwcmludGtzDQppcyB1bmF2YWlsYWJsZSBvciB3cm9uZyBv
biBzb21lIGhhcmR3YXJlLiAgTWF5YmUgdGhhdCdzIGFuIGFyZWEgd2hlcmUNCndlIGRpZmZlciBp
biBvcGluaW9uLg0KDQo+IA0KPiBUaGUgb25seSBjbGVhbiB3YXkgdG8gc29sdmUgdGhpcyBjbGVh
bmx5IGlzIG1vdmluZyB0aGUgc2NoZWQgY2xvY2sNCj4gaW5pdGlhbGl6YXRpb24gdG8gdGhlIGVh
cmxpZXN0IHBvaW50IHBvc3NpYmxlIGFuZCBhY2NlcHRpbmcgdGhhdCBkdWUgdG8NCj4gaGFyZHdh
cmUsIGVudW1lcmF0aW9uIGFuZCB2aXJ0dWFsaXphdGlvbiBjb25zdHJhaW50cyB0aGlzIHBvaW50
IG1pZ2h0IGJlDQo+IHN1Ym9wdGltYWwuIEV2ZXJ5dGhpbmcgZWxzZSBpcyBqdXN0IGFuIGF0dGVt
cHQgdG8gZGVmeSByZWFsaXR5Lg0KDQpJIHRoaW5rIHdlJ3JlIHdpbGxpbmcgdG8gYWNjZXB0IGRp
ZmZlcmVudCBhcmVhcyBvZiBzdWItb3B0aW1hbGl0eS4NCkkgY2FuIGxpdmUgd2l0aCBoYXZpbmcg
dG8gY29uZmlndXJlIHRoZSBmZWF0dXJlLCBhbmQgc3RhdGljYWxseSBjb25maWd1cmUNCnRoZSBU
U0MgY2xvY2sgY2FsaWJyYXRpb24sIGF0IHRoZSBleHBlbnNlIG9mIG5vbi1tb25vdG9uaWMgcHJp
bnRrDQp0aW1lc3RhbXBzIGZvciB0aGUgZWFybHkgcHJpbnRrcy4NCg0KUGVyc29uYWxseSwgSSB0
aGluayB0aGF0IGFsdGVyaW5nIHNjaGVkX2Nsb2NrIG9yIGFueSBvdGhlcg0Ka2VybmVsIHRpbWVr
ZWVwaW5nIGlzIG92ZXJraWxsIGZvciB0aGlzLg0KDQpJIGRvIGxpa2UgdGhlIHNvbHV0aW9uIHBy
b3Bvc2VkIGluIHlvdXIgcGF0Y2guICBJIGNvbnNpZGVyZWQgYQ0Kc29sdXRpb24gdXNpbmcgYW4g
ZWFybHktcGFyc2VkIGtlcm5lbCBjb21tYW5kIGxpbmUgYXJnLCBidXQgZGlkbid0DQprbm93IGhv
dyBlYXJseSBJIGNvdWxkIGRvIHRoYXQuICBJJ2xsIHJldmlldyB5b3VyIHBhdGNoLiAgVGhhbmtz
IQ0KDQpBbmQgSSBhcHByZWNpYXRlIHRoZSB0aW1lIHlvdSB0b29rIHRvIGVkdWNhdGUgbWUgYWJv
dXQgc29tZSBvZiB0aGUNCm90aGVyIGlzc3VlcyBpbnZvbHZlZCAoZXNwZWNpYWxseSBzZWN1cmUg
VFNDIGFuZCBwb3NzaWJsZSBUU0MgdW5hdmFpbGFiaWxpdHksDQphbmQgVk0gdGltZWtlZXBpbmcg
aXNzdWVzLCB3aGljaCBjb21wbGljYXRlIHRoaXMuKQ0KDQpSZWdhcmRzLA0KIC0tIFRpbQ0KDQo=