[PR] Change svtav1 encoder wrapper to first receive available packet when possible in eb_receive_packet (PR #23978)
cdcxd via ffmpeg-devel <[email protected]> Sun, 02 Aug 2026 04:56:11 -0000
| Newsgroups | gmane.comp.video.ffmpeg.devel |
|---|---|
| Message-ID | <178564657160.59.16585124449867633638@29965ddac10e> |
UFIgIzIzOTc4IG9wZW5lZCBieSBjZGN4ZApVUkw6IGh0dHBzOi8vY29kZS5mZm1wZWcub3JnL0ZG bXBlZy9GRm1wZWcvcHVsbHMvMjM5NzgKUGF0Y2ggVVJMOiBodHRwczovL2NvZGUuZmZtcGVnLm9y Zy9GRm1wZWcvRkZtcGVnL3B1bGxzLzIzOTc4LnBhdGNoCgojIFN1bW1hcnkgb2YgY2hhbmdlcw0K DQpDaGFuZ2UgdGhlIGViX3JlY2VpdmVfcGFja2V0IHRvIGRyYWluIGF2YWlsYWJsZSBwYWNrZXQg d2hlbiBwb3NzaWJsZSwgbm90IG9ubHkgYXR0ZW1wdCBhZnRlciBlYl9zZW5kX2ZyYW1lDQoNClJl YXNvbjogDQoNClRoZSBjdXJyZW50IGltcGxlbWVudGF0aW9uIG9ubHkgYXR0ZW1wdHMgc3Z0X2F2 MV9lbmNfZ2V0X3BhY2tldCBhZnRlciBzdWNjZXNzZnVsIGZmX2VuY29kZV9nZXRfZnJhbWUgKyBl Yl9zZW5kX2ZyYW1lIC4gIE1lYW5pbmcgd2UgY2FuIG9ubHkgZ2V0IDAgb3IgMSBwYWNrZXQgYWZ0 ZXIgc2VuZGluZyBhIGZyYW1lLiBUaGUgdW5oYXJ2ZXN0ZWQgcGFja2V0IGNvdW50IHdpbGwgbmV2 ZXIgZGVjcmVhc2UuIEl0IHdvbid0IGNhdGNoIHVwIGJ1cnN0IG91dHB1dCBwYWNrZXRzIGVpdGhl ci4gDQoNClNWVC1BVjEgcmVsZWFzZXMgcGFja2V0cyBpbiBtaW5pLUdPUCBzaXplZCBidXJzdHMg 4oCUIG1lYXN1cmVkIGF0IHVwIHRvIDM5IGF0IG9uY2UuIFNvIGZpbmlzaGVkIHBhY2tldHMgYXJl IHdpdGhoZWxkIGZyb20gdGhlIGFwcGxpY2F0aW9uIHVudGlsIGl0IHN1cHBsaWVzIG1vcmUgaW5w dXQuICBDYW4ndCBkcmFpbiBpdCBhc2FwLg0KDQpJIGNoYW5nZWQgaXQgdG8gYWx3YXlzIHRyeSBz dnRfYXYxX2VuY19nZXRfcGFja2V0IGlmIHBvc3NpYmxlLiAgSW4gdGhlIExPV19ERUxBWSBhbmQg cnRjIG1vZGUgKGF2YWlsYWJsZSBzaW5jZSB2My4xLjApLCB0aGUgZnVuY3Rpb24gd2lsbCBibG9j aywgc28gd2UgY2FuJ3QgYXR0ZW1wdCBpdC4gDQoNCiMgVmVyaWZpY2F0aW9uDQoNCi0gZmF0ZTog IGZhdGUtbGlic3Z0YXYxLWhkcjEwDQotIGZmbXBlZyBjbGksIEkgYnVpbHQgdGhlIHBhdGNoZWQg b25lIGxvY2FsbHksIGFza2VkIGNvZGluZyBhZ2VudCB0byBkcmFmdCBieXRlLWlkZW50aWNhbCBj b21wYXJpc29uLiBJdCBkaWQgcGFzcywgdGhlIHNjcmlwdCBwcm92ZW5hbmNlIGlzICBodHRwczov L2NvZGUuZmZtcGVnLm9yZy9jZGN4ZC9GRm1wZWcvc3JjL2JyYW5jaC9saWJzdnRhdjEtZHJhaW4t Zmlyc3QvdmVyaWZpY2F0aW9uX3Byb3ZlbmFuY2UvdmVyaWZ5LnNoICANCg0KPCEtLQ0KSWYgdGhp cyBQUiByZXF1aXJlcyBuZXcgRkFURSB0ZXN0IHNhbXBsZXMsIGF0dGFjaCB0aGVtIHRvIHRoZSBQ UiBhbmQNCmxpc3QgdGhlaXIgdGFyZ2V0IHBhdGhzIGJlbG93IChyZWxhdGl2ZSB0byB0aGUgZmF0 ZS1zdWl0ZSByb290KS4NCg0KQXR0YWNoZWQgZmlsZW5hbWVzIG11c3QgbWF0Y2ggdGhlIHNhbXBs ZSdzIGZpbGVuYW1lOg0KDQpgYGBmYXRlLXNhbXBsZXMNCiMgZS5nLiB2b3JiaXMvbmV3LXNhbXBs ZS5vZ2cNCmBgYA0KLS0+DQoKCgpGcm9tIDQxZGM3YTUyZTc0NDg4YjU4YzhjY2E4ZTFmZWRjMzhk ODhlYjliZDEgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCkZyb206IGNkb25nIDxjeGRvbmc5M0Bn bWFpbC5jb20+CkRhdGU6IFNhdCwgMSBBdWcgMjAyNiAyMDo1Njo1OSAtMDcwMApTdWJqZWN0OiBb UEFUQ0ggMS8yXSBDaGFuZ2UgZWJfcmVjZWl2ZV9wYWNrZXQgdG8gZHJhaW4gYXZhaWxhYmxlIHBh Y2tldCB3aGVuCiBwb3NzaWJsZSwgbm90IG9ubHkgYXR0ZW1wdCBhZnRlciBlYl9zZW5kX2ZyYW1l CgotLS0KIGxpYmF2Y29kZWMvbGlic3Z0YXYxLmMgfCA0NCArKysrKysrKysrKysrKysrKysrKysr KysrKysrKysrKy0tLS0tLS0tLS0KIDEgZmlsZSBjaGFuZ2VkLCAzNCBpbnNlcnRpb25zKCspLCAx MCBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9saWJhdmNvZGVjL2xpYnN2dGF2MS5jIGIvbGli YXZjb2RlYy9saWJzdnRhdjEuYwppbmRleCAwYmNjMTc2MjQzLi41NjEzM2I2YjExIDEwMDY0NAot LS0gYS9saWJhdmNvZGVjL2xpYnN2dGF2MS5jCisrKyBiL2xpYmF2Y29kZWMvbGlic3Z0YXYxLmMK QEAgLTY1MywyMiArNjUzLDQ2IEBAIHN0YXRpYyBpbnQgZWJfcmVjZWl2ZV9wYWNrZXQoQVZDb2Rl Y0NvbnRleHQgKmF2Y3R4LCBBVlBhY2tldCAqcGt0KQogICAgIEViRXJyb3JUeXBlIHN2dF9yZXQ7 CiAgICAgQVZCdWZmZXJSZWYgKnJlZjsKICAgICBpbnQgcmV0ID0gMDsKKyAgICBpbnQgZHJhaW5f cGFja2V0X2ZpcnN0LCBoYXZlX3BhY2tldCA9IDA7CiAKICAgICBpZiAoc3Z0X2VuYy0+ZW9zX2Zs YWcgPT0gRU9TX1JFQ0VJVkVEKQogICAgICAgICByZXR1cm4gQVZFUlJPUl9FT0Y7CiAKLSAgICBy ZXQgPSBmZl9lbmNvZGVfZ2V0X2ZyYW1lKGF2Y3R4LCBmcmFtZSk7Ci0gICAgaWYgKHJldCA8IDAg JiYgcmV0ICE9IEFWRVJST1JfRU9GKQotICAgICAgICByZXR1cm4gcmV0OwotICAgIGlmIChyZXQg PT0gQVZFUlJPUl9FT0YpCi0gICAgICAgIGZyYW1lID0gTlVMTDsKKyAgICAvKiBUYWtlIGFueSBh dmFpbGFibGUgcGFja2V0LCBkb24ndCBsZXQgdGhlbSBhY2N1bXVsYXRlIGluIG91dHB1dCBmaWZv LiAKKyAgICAgKgorICAgICAqIHN2dF9hdjFfZW5jX2dldF9wYWNrZXQoKSBpcyBkb2N1bWVudGVk IGluIEViU3Z0QXYxRW5jLmggdG8gYmxvY2sgd2hlbgorICAgICAqIHBpY19zZW5kX2RvbmUgaXMg c2V0IG9yIHdoZW4gdGhlIGxpYnJhcnkgcnVucyBpbiBsb3cgZGVsYXksIHNvIG9ubHkgcG9sbAor ICAgICAqIGFoZWFkIG9mIHNlbmRpbmcgd2hlbiBpdCBpcyBndWFyYW50ZWVkIG5vdCB0by4gVGhl IGxpYnJhcnkncworICAgICAqIGNvcHlfYXBpX2Zyb21fYXBwKCkgZm9yY2VzIGxvdyBkZWxheSBm b3IgcnRjIHdpdGhvdXQgcmVmbGVjdGluZyBpdCBpbgorICAgICAqIHRoZSBjb25maWd1cmF0aW9u IHdlIGhvbGQsIGhlbmNlIHRoZSBzZXBhcmF0ZSBjaGVjazsgCisgICAgICogKi8KKyAgICBpbnQg ZHJhaW5fcGFja2V0X2ZpcnN0ID0gc3Z0X2VuYy0+ZW9zX2ZsYWcgPT0gRU9TX05PVF9SRUFDSEVE ICYmCisgICAgICAgICAgICAgICAgICAgICAgICAgc3Z0X2VuYy0+ZW5jX3BhcmFtcy5wcmVkX3N0 cnVjdHVyZSAhPSBMT1dfREVMQVkKKyNpZiBTVlRfQVYxX0NIRUNLX1ZFUlNJT04oMywgMSwgMCkK KyAgICAgICAgICAgICAgICAgICAgICAgICAmJiAhc3Z0X2VuYy0+ZW5jX3BhcmFtcy5ydGMKKyNl bmRpZgorICAgICAgICAgICAgICAgICAgICAgICAgIDsKIAotICAgIHJldCA9IGViX3NlbmRfZnJh bWUoYXZjdHgsIGZyYW1lKTsKLSAgICBpZiAocmV0IDwgMCkKLSAgICAgICAgcmV0dXJuIHJldDsK LSAgICBhdl9mcmFtZV91bnJlZihzdnRfZW5jLT5mcmFtZSk7CisgICAgaWYgKGRyYWluX3BhY2tl dF9maXJzdCkgeworICAgICAgICBzdnRfcmV0ID0gc3Z0X2F2MV9lbmNfZ2V0X3BhY2tldChzdnRf ZW5jLT5zdnRfaGFuZGxlLCAmaGVhZGVyUHRyLCBzdnRfZW5jLT5lb3NfZmxhZyk7CisgICAgICAg IGhhdmVfcGFja2V0ID0gc3Z0X3JldCAhPSBFQl9Ob0Vycm9yRW1wdHlRdWV1ZTsKKyAgICB9CisK KyAgICBpZiAoIWhhdmVfcGFja2V0KSB7CisgICAgICAgIHJldCA9IGZmX2VuY29kZV9nZXRfZnJh bWUoYXZjdHgsIGZyYW1lKTsKKyAgICAgICAgaWYgKHJldCA8IDAgJiYgcmV0ICE9IEFWRVJST1Jf RU9GKQorICAgICAgICAgICAgcmV0dXJuIHJldDsKKyAgICAgICAgaWYgKHJldCA9PSBBVkVSUk9S X0VPRikKKyAgICAgICAgICAgIGZyYW1lID0gTlVMTDsKKworICAgICAgICByZXQgPSBlYl9zZW5k X2ZyYW1lKGF2Y3R4LCBmcmFtZSk7CisgICAgICAgIGlmIChyZXQgPCAwKQorICAgICAgICAgICAg cmV0dXJuIHJldDsKKyAgICAgICAgYXZfZnJhbWVfdW5yZWYoc3Z0X2VuYy0+ZnJhbWUpOworCisg ICAgICAgIHN2dF9yZXQgPSBzdnRfYXYxX2VuY19nZXRfcGFja2V0KHN2dF9lbmMtPnN2dF9oYW5k bGUsICZoZWFkZXJQdHIsIHN2dF9lbmMtPmVvc19mbGFnKTsKKyAgICB9CiAKLSAgICBzdnRfcmV0 ID0gc3Z0X2F2MV9lbmNfZ2V0X3BhY2tldChzdnRfZW5jLT5zdnRfaGFuZGxlLCAmaGVhZGVyUHRy LCBzdnRfZW5jLT5lb3NfZmxhZyk7CiAgICAgaWYgKHN2dF9yZXQgPT0gRUJfTm9FcnJvckVtcHR5 UXVldWUpCiAgICAgICAgIHJldHVybiBBVkVSUk9SKEVBR0FJTik7CiAgICAgZWxzZSBpZiAoc3Z0 X3JldCAhPSBFQl9FcnJvck5vbmUpCi0tIAoyLjUyLjAKCgpGcm9tIDdjMjRjZGQwMTlhMmIzZmE3 YWFiZjUyOTJiMmFlZjYxNjMyZWEwMjkgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCkZyb206IGNk b25nIDxjeGRvbmc5M0BnbWFpbC5jb20+CkRhdGU6IFNhdCwgMSBBdWcgMjAyNiAyMTo0OTo1NSAt MDcwMApTdWJqZWN0OiBbUEFUQ0ggMi8yXSBwdXNoIHZlcmlmeS5zaCBhcyBwcm92ZW5hbmNlCgot LS0KIHZlcmlmaWNhdGlvbl9wcm92ZW5hbmNlL3ZlcmlmeS5zaCB8IDI2NSArKysrKysrKysrKysr KysrKysrKysrKysrKysrKysKIDEgZmlsZSBjaGFuZ2VkLCAyNjUgaW5zZXJ0aW9ucygrKQogY3Jl YXRlIG1vZGUgMTAwNzU1IHZlcmlmaWNhdGlvbl9wcm92ZW5hbmNlL3ZlcmlmeS5zaAoKZGlmZiAt LWdpdCBhL3ZlcmlmaWNhdGlvbl9wcm92ZW5hbmNlL3ZlcmlmeS5zaCBiL3ZlcmlmaWNhdGlvbl9w cm92ZW5hbmNlL3ZlcmlmeS5zaApuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwMDAw Li5mMTI0ZTJlZGRjCi0tLSAvZGV2L251bGwKKysrIGIvdmVyaWZpY2F0aW9uX3Byb3ZlbmFuY2Uv dmVyaWZ5LnNoCkBAIC0wLDAgKzEsMjY1IEBACisjIS91c3IvYmluL2VudiBiYXNoCisjIEEvQiB2 ZXJpZmljYXRpb24gZm9yIHRoZSBsaWJzdnRhdjEgZHJhaW4tZmlyc3QgcGF0Y2guCisjCisjICAg YmFzZWxpbmUgOiAvb3B0L2ZmbXBlZy1iYXNlCisjICAgcGF0Y2hlZCAgOiAvb3B0L2ZmbXBlZy1w YXRjaGVkCisjCisjIEFjY2VwdGFuY2UgY3JpdGVyaWEgKGVhY2ggdGVzdCBwcmludHMgUEFTUy9G QUlMIGFuZCB0aGUgc2NyaXB0IGV4aXRzIG5vbi16ZXJvCisjIGlmIGFueSBGQUlMKToKKyMgICAx LiBldmVyeSBlbmNvZGUgY29tcGxldGVzIHdpdGhpbiBpdHMgdGltZW91dCBpbiBib3RoIGJ1aWxk cyAgKG5vIGRlYWRsb2NrKQorIyAgIDIuIGJpdHN0cmVhbXMgYXJlIGJ5dGUtaWRlbnRpY2FsIGJl dHdlZW4gdGhlIHR3byBidWlsZHMgICAgICAobm8gb3V0cHV0IGNoYW5nZSkKKyMgICAzLiBwYWNr ZXQvZnJhbWUgY291bnRzIGFuZCBwdHMvZHRzIG9yZGVyaW5nIGFyZSBwcmVzZXJ2ZWQKKyMgICA0 LiB0aGUgZGVjb2RlZCBvdXRwdXQgaXMgaWRlbnRpY2FsIChmcmFtZW1kNSkKKyMgICA1LiB0aGUg cGF0Y2hlZCBidWlsZCBhY3R1YWxseSBkcmFpbnM6IGRyYWluX3Byb2JlIHJlcG9ydHMKKyMgICAg ICBtYXhfcGFja2V0c19wZXJfc2VuZCA+IDEsIHdoaWxlIHRoZSBiYXNlbGluZSByZXBvcnRzIGV4 YWN0bHkgMQorIworIyBVc2FnZTogdmVyaWZ5LnNoIFtkdXJhdGlvbl9zZWNvbmRzXSBbdGltZW91 dF9zZWNvbmRzXQorCitzZXQgLXVvIHBpcGVmYWlsCisKK0RVUj0kezE6LTEwfQorVE1PPSR7Mjot MzAwfQorT1VUPSR7T1VUOi0vd29yay9yZXN1bHRzfQorQkFTRT0vb3B0L2ZmbXBlZy1iYXNlL2Jp bgorUEFUQ0hFRD0vb3B0L2ZmbXBlZy1wYXRjaGVkL2JpbgorCitta2RpciAtcCAiJE9VVCIKKwor IyBUd28gdmVyaWZ5IHJ1bnMgc2hhcmluZyAkT1VUIHdpbGwgb3ZlcndyaXRlIGVhY2ggb3RoZXIn cyAuaXZmIGZpbGVzIG1pZC13cml0ZQorIyBhbmQgcHJvZHVjZSByZXN1bHRzIHRoYXQgbG9vayBs aWtlIGVuY29kZXIgY29ycnVwdGlvbi4gUmVmdXNlIHRvIHJ1biBpbnN0ZWFkLgorZXhlYyA5PiIk T1VULy5sb2NrIgoraWYgISBmbG9jayAtbiA5OyB0aGVuCisgICAgZWNobyAiRVJST1I6IGFub3Ro ZXIgdmVyaWZ5IHJ1biBpcyB1c2luZyAkT1VULiBVc2UgYSBkaWZmZXJlbnQgLXYgbW91bnQgb3Ig T1VUPS4iID4mMgorICAgIGV4aXQgMgorZmkKKworZmFpbHM9MAorcGFzcygpIHsgcHJpbnRmICcg IFwwMzNbMzJtUEFTU1wwMzNbMG0gJXNcbicgIiQqIjsgfQorZmFpbCgpIHsgcHJpbnRmICcgIFww MzNbMzFtRkFJTFwwMzNbMG0gJXNcbicgIiQqIjsgZmFpbHM9JCgoZmFpbHMrMSkpOyB9CitoZHIo KSAgeyBwcmludGYgJ1xuXDAzM1sxbT09ICVzXDAzM1swbVxuJyAiJCoiOyB9CisKK2hkciAiZW52 aXJvbm1lbnQiCitlY2hvICIgIFNWVC1BVjEgICQoY2F0IC9vcHQvc3Z0LWF2MS5yZXYgMj4vZGV2 L251bGwpICAkKHBrZy1jb25maWcgLS1tb2R2ZXJzaW9uIFN2dEF2MUVuYyAyPi9kZXYvbnVsbCki CitlY2hvICIgIEZGbXBlZyAgICQoY2F0IC9vcHQvZmZtcGVnLnJldiAyPi9kZXYvbnVsbCkiCitl Y2hvICIgIHBhdGNoICAgICQoY2F0IC9vcHQvYXBwbGllZC1wYXRjaC5zdGF0IDI+L2Rldi9udWxs IHwgdHIgJ1xuJyAnICcpIgorIiRCQVNFL2ZmbXBlZyIgLWhpZGVfYmFubmVyIC12ZXJzaW9uIHwg aGVhZCAtMSB8IHNlZCAncy9eLyAgYmFzZSAgICAvJworIiRQQVRDSEVEL2ZmbXBlZyIgLWhpZGVf YmFubmVyIC12ZXJzaW9uIHwgaGVhZCAtMSB8IHNlZCAncy9eLyAgcGF0Y2hlZCAvJworCisjIC0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLSBzb3VyY2VzIC0tLS0tCitoZHIgImdlbmVyYXRpbmcgdGVzdCBzb3VyY2VzICgke0RVUn1z KSIKK1NSQ19ZNE09JE9VVC9zcmMueTRtCitTUkNfTVA0PSRPVVQvc3JjMjY0Lm1wNAorIiRCQVNF L2ZmbXBlZyIgLWhpZGVfYmFubmVyIC1sb2dsZXZlbCBlcnJvciAteSBcCisgICAgLWYgbGF2Zmkg LWkgInRlc3RzcmMyPXNpemU9NjQweDM2MDpyYXRlPTMwOmR1cmF0aW9uPSREVVIiIFwKKyAgICAt cGl4X2ZtdCB5dXY0MjBwICIkU1JDX1k0TSIKKyIkQkFTRS9mZm1wZWciIC1oaWRlX2Jhbm5lciAt bG9nbGV2ZWwgZXJyb3IgLXkgXAorICAgIC1mIGxhdmZpIC1pICJ0ZXN0c3JjMj1zaXplPTEyODB4 NzIwOnJhdGU9MzA6ZHVyYXRpb249JERVUiIgXAorICAgIC1jOnYgbGlieDI2NCAtcHJlc2V0IHZl cnlmYXN0IC1jcmYgMjggLXBpeF9mbXQgeXV2NDIwcCAiJFNSQ19NUDQiCitscyAtbCAiJFNSQ19Z NE0iICIkU1JDX01QNCIgfCBzZWQgJ3MvXi8gIC8nCisKKyMgLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tIG1hdHJpeCAtLS0tLS0K KyMgbmFtZSB8IGlucHV0IHwgZW5jb2RlciBhcmdzCisjIE5PTkRFVD0xIG1hcmtzIGEgY29uZmln dXJhdGlvbiB3aG9zZSBvdXRwdXQgU1ZULUFWMSBkb2VzIG5vdCByZXByb2R1Y2UKKyMgYml0LWV4 YWN0bHkgZnJvbSBydW4gdG8gcnVuIGV2ZW4gd2l0aCBhbiB1bmNoYW5nZWQgYmluYXJ5ICh2ZXJp ZmllZCBmb3IgVkJSOgorIyB0aHJlZSBjb25zZWN1dGl2ZSBiYXNlbGluZSBydW5zIGdpdmUgdGhy ZWUgZGlmZmVyZW50IG1kNXMsIHdoaWxlIENSRiBpcworIyBiaXQtZXhhY3QpLiBGb3IgdGhvc2Us IGJ5dGUgaWRlbnRpdHkgaXMgbWVhbmluZ2xlc3M7IHRoZSBzdWl0ZSBjaGVja3MKKyMgc3RydWN0 dXJhbCBlcXVpdmFsZW5jZSBpbnN0ZWFkLgorcnVuX2Nhc2UoKSB7CisgICAgbG9jYWwgbmFtZT0k MSBpbnB1dD0kMjsgc2hpZnQgMgorICAgIGxvY2FsIGFyZ3M9KCIkQCIpCisgICAgbG9jYWwgcmNf YiByY19wIHRfYiB0X3AgbWQ1X2IgbWQ1X3AKKyAgICBsb2NhbCBub25kZXQ9JHtOT05ERVQ6LTB9 CisKKyAgICBwcmludGYgJ1xuLS0gY2FzZSAlc1xuICAgYXJnczogJXNcbicgIiRuYW1lIiAiJHth cmdzWypdfSIKKworICAgIGZvciB2IGluIGJhc2UgcGF0Y2hlZDsgZG8KKyAgICAgICAgbG9jYWwg YmluPSRCQVNFOyBbICIkdiIgPSBwYXRjaGVkIF0gJiYgYmluPSRQQVRDSEVECisgICAgICAgIGxv Y2FsIHN0YXJ0PSRTRUNPTkRTCisgICAgICAgIHRpbWVvdXQgLWsgNSAiJFRNTyIgIiRiaW4vZmZt cGVnIiAtaGlkZV9iYW5uZXIgLWxvZ2xldmVsIGVycm9yIC15IFwKKyAgICAgICAgICAgIC1pICIk aW5wdXQiICIke2FyZ3NbQF19IiAiJE9VVC8kbmFtZS4kdi5pdmYiIFwKKyAgICAgICAgICAgID4g IiRPVVQvJG5hbWUuJHYubG9nIiAyPiYxCisgICAgICAgIGxvY2FsIHJjPSQ/CisgICAgICAgIGxv Y2FsIGVsPSQoKFNFQ09ORFMtc3RhcnQpKQorICAgICAgICBpZiBbICIkdiIgPSBiYXNlIF07IHRo ZW4gcmNfYj0kcmM7IHRfYj0kZWw7IGVsc2UgcmNfcD0kcmM7IHRfcD0kZWw7IGZpCisgICAgICAg IGlmIFsgJHJjIC1lcSAxMjQgXSB8fCBbICRyYyAtZXEgMTM3IF07IHRoZW4KKyAgICAgICAgICAg IGZhaWwgIiRuYW1lLyR2IFRJTUVEIE9VVCBhZnRlciAke1RNT31zIChwb3NzaWJsZSBkZWFkbG9j aykiCisgICAgICAgIGVsaWYgWyAkcmMgLW5lIDAgXTsgdGhlbgorICAgICAgICAgICAgZmFpbCAi JG5hbWUvJHYgZXhpdGVkICRyYyIKKyAgICAgICAgICAgIHNlZCAncy9eLyAgICAgICAvJyAiJE9V VC8kbmFtZS4kdi5sb2ciIHwgaGVhZCAtMjAKKyAgICAgICAgZmkKKyAgICBkb25lCisgICAgWyAi JHtyY19iOi0xfSIgLWVxIDAgXSAmJiBbICIke3JjX3A6LTF9IiAtZXEgMCBdIHx8IHJldHVybiAx CisgICAgcGFzcyAiJG5hbWUgYm90aCBidWlsZHMgY29tcGxldGVkIChiYXNlICR7dF9ifXMsIHBh dGNoZWQgJHt0X3B9cykiCisKKyAgICAjIDIuIGJpdHN0cmVhbSBpZGVudGl0eQorICAgIG1kNV9i PSQobWQ1c3VtIDwgIiRPVVQvJG5hbWUuYmFzZS5pdmYiKQorICAgIG1kNV9wPSQobWQ1c3VtIDwg IiRPVVQvJG5hbWUucGF0Y2hlZC5pdmYiKQorICAgIGlmIFsgIiRub25kZXQiID0gMSBdOyB0aGVu CisgICAgICAgICMgc2l6ZSB3aXRoaW4gMiUgaXMgYWxsIHRoYXQgY2FuIGJlIGFzc2VydGVkIGhl cmUKKyAgICAgICAgbG9jYWwgc2Igc3AgZGVsdGEKKyAgICAgICAgc2I9JChzdGF0IC1jJXMgIiRP VVQvJG5hbWUuYmFzZS5pdmYiKTsgc3A9JChzdGF0IC1jJXMgIiRPVVQvJG5hbWUucGF0Y2hlZC5p dmYiKQorICAgICAgICBkZWx0YT0kKCggKHNiID4gc3AgPyBzYiAtIHNwIDogc3AgLSBzYikgKiAx MDAgLyBzYiApKQorICAgICAgICBpZiBbICIkZGVsdGEiIC1sZSAyIF07IHRoZW4KKyAgICAgICAg ICAgIHBhc3MgIiRuYW1lIHNpemUgd2l0aGluICR7ZGVsdGF9JSAoYml0LWV4YWN0bmVzcyBOL0E6 IFNWVCBub24tZGV0ZXJtaW5pc3RpYyBoZXJlKSIKKyAgICAgICAgZWxzZQorICAgICAgICAgICAg ZmFpbCAiJG5hbWUgc2l6ZSBkaWZmZXJzIGJ5ICR7ZGVsdGF9JSAoYmFzZSAkc2IgdnMgcGF0Y2hl ZCAkc3ApIgorICAgICAgICBmaQorICAgIGVsaWYgWyAiJG1kNV9iIiA9ICIkbWQ1X3AiIF07IHRo ZW4KKyAgICAgICAgcGFzcyAiJG5hbWUgYml0c3RyZWFtIGlkZW50aWNhbCAoJHttZDVfYiUlICp9 KSIKKyAgICBlbHNlCisgICAgICAgIGZhaWwgIiRuYW1lIGJpdHN0cmVhbSBESUZGRVJTIChiYXNl ICR7bWQ1X2IlJSAqfSB2cyBwYXRjaGVkICR7bWQ1X3AlJSAqfSkiCisgICAgZmkKKworICAgICMg My4gcGFja2V0IGNvdW50ICsgcHRzL2R0cyBtb25vdG9uaWNpdHkKKyAgICBmb3IgdiBpbiBiYXNl IHBhdGNoZWQ7IGRvCisgICAgICAgIGxvY2FsIG4KKyAgICAgICAgbj0kKCIkUEFUQ0hFRC9mZnBy b2JlIiAtaGlkZV9iYW5uZXIgLWxvZ2xldmVsIGVycm9yIC1zZWxlY3Rfc3RyZWFtcyB2OjAgXAor ICAgICAgICAgICAgICAgIC1zaG93X2VudHJpZXMgcGFja2V0PXB0cyxkdHMgLW9mIGNzdj1wPTAg IiRPVVQvJG5hbWUuJHYuaXZmIiBcCisgICAgICAgICAgICAgICAgPiAiJE9VVC8kbmFtZS4kdi5w a3RzLmNzdiI7IHdjIC1sIDwgIiRPVVQvJG5hbWUuJHYucGt0cy5jc3YiKQorICAgICAgICBlY2hv ICIgICAgICR2OiAkbiBwYWNrZXRzIgorICAgIGRvbmUKKyAgICBpZiBjbXAgLXMgIiRPVVQvJG5h bWUuYmFzZS5wa3RzLmNzdiIgIiRPVVQvJG5hbWUucGF0Y2hlZC5wa3RzLmNzdiI7IHRoZW4KKyAg ICAgICAgcGFzcyAiJG5hbWUgcGFja2V0IHRpbWVzdGFtcHMgaWRlbnRpY2FsIgorICAgIGVsc2UK KyAgICAgICAgZmFpbCAiJG5hbWUgcGFja2V0IHRpbWVzdGFtcHMgZGlmZmVyIgorICAgIGZpCisg ICAgaWYgc29ydCAtdCwgLWsxLDFuIC1jICIkT1VULyRuYW1lLnBhdGNoZWQucGt0cy5jc3YiIDI+ L2Rldi9udWxsOyB0aGVuCisgICAgICAgIHBhc3MgIiRuYW1lIHB0cyBub24tZGVjcmVhc2luZyIK KyAgICBlbHNlCisgICAgICAgIGZhaWwgIiRuYW1lIHB0cyBOT1QgbW9ub3RvbmljIgorICAgIGZp CisKKyAgICAjIDQuIGRlY29kZWQgb3V0cHV0IGlkZW50aXR5CisgICAgZm9yIHYgaW4gYmFzZSBw YXRjaGVkOyBkbworICAgICAgICAiJFBBVENIRUQvZmZtcGVnIiAtaGlkZV9iYW5uZXIgLWxvZ2xl dmVsIGVycm9yIC15IC1jOnYgbGliZGF2MWQgXAorICAgICAgICAgICAgLWkgIiRPVVQvJG5hbWUu JHYuaXZmIiAtZiBmcmFtZW1kNSAiJE9VVC8kbmFtZS4kdi5mcmFtZW1kNSIgXAorICAgICAgICAg ICAgPj4gIiRPVVQvJG5hbWUuJHYubG9nIiAyPiYxCisgICAgZG9uZQorICAgIGxvY2FsIG5iX2Ig bmJfcAorICAgIG5iX2I9JChncmVwIC1jICdeWzAtOV0nICIkT1VULyRuYW1lLmJhc2UuZnJhbWVt ZDUiKQorICAgIG5iX3A9JChncmVwIC1jICdeWzAtOV0nICIkT1VULyRuYW1lLnBhdGNoZWQuZnJh bWVtZDUiKQorICAgIGlmIFsgIiRub25kZXQiID0gMSBdOyB0aGVuCisgICAgICAgIFsgIiRuYl9i IiA9ICIkbmJfcCIgXSBcCisgICAgICAgICAgICAmJiBwYXNzICIkbmFtZSBzYW1lIGRlY29kZWQg ZnJhbWUgY291bnQgKCRuYl9wKSIgXAorICAgICAgICAgICAgfHwgZmFpbCAiJG5hbWUgZGVjb2Rl ZCBmcmFtZSBjb3VudCBkaWZmZXJzICgkbmJfYiB2cyAkbmJfcCkiCisgICAgZWxpZiBjbXAgLXMg IiRPVVQvJG5hbWUuYmFzZS5mcmFtZW1kNSIgIiRPVVQvJG5hbWUucGF0Y2hlZC5mcmFtZW1kNSI7 IHRoZW4KKyAgICAgICAgcGFzcyAiJG5hbWUgZGVjb2RlZCBmcmFtZXMgaWRlbnRpY2FsICgkbmJf cCBmcmFtZXMpIgorICAgIGVsc2UKKyAgICAgICAgZmFpbCAiJG5hbWUgZGVjb2RlZCBmcmFtZXMg ZGlmZmVyIgorICAgIGZpCit9CisKK2hkciAiZW5jb2RlIG1hdHJpeCAoQS9CLCB0aW1lb3V0ICR7 VE1PfXMgcGVyIHJ1bikiCisKK3J1bl9jYXNlIHJhdy1wOCAgICAgICIkU1JDX1k0TSIgLWM6diBs aWJzdnRhdjEgLXByZXNldCA4ICAtY3JmIDQwIC1nIDEyMAorcnVuX2Nhc2UgcmF3LXAxMiAgICAg IiRTUkNfWTRNIiAtYzp2IGxpYnN2dGF2MSAtcHJlc2V0IDEyIC1jcmYgNDAgLWcgMTIwCitydW5f Y2FzZSByYXctcDQgICAgICAiJFNSQ19ZNE0iIC1jOnYgbGlic3Z0YXYxIC1wcmVzZXQgNCAgLWNy ZiA0MCAtZyAxMjAKKyMgZGVlcCBoaWVyYXJjaHkgPSBiaWdnZXN0IG91dHB1dCBidXJzdHMsIHRo aXMgaXMgd2hlcmUgdGhlIHBvb2wgcHJlc3N1cmUgaXMKK3J1bl9jYXNlIGhpZXI1ICAgICAgICIk U1JDX1k0TSIgLWM6diBsaWJzdnRhdjEgLXByZXNldCA4ICAtY3JmIDQwIC1nIDI0MCBcCisgICAg ICAgICAgICAgICAgICAgICAtc3Z0YXYxLXBhcmFtcyBoaWVyYXJjaGljYWwtbGV2ZWxzPTU6bG9v a2FoZWFkPTEyMAorcnVuX2Nhc2UgdGVuYml0ICAgICAgIiRTUkNfWTRNIiAtYzp2IGxpYnN2dGF2 MSAtcHJlc2V0IDggIC1jcmYgNDAgLXBpeF9mbXQgeXV2NDIwcDEwbGUKKyMgVkJSOiBDQlIvbWF4 cmF0ZSBhcmUgcmVqZWN0ZWQgYnkgU1ZULUFWMSBvdXRzaWRlIGxvdyBkZWxheSwgc28gZXhlcmNp c2UgdGhlCisjIHJhdGUtY29udHJvbCBwYXRoIHdpdGggYSBwbGFpbiB0YXJnZXQgYml0cmF0ZS4g SXRzIG91dHB1dCBpcyBub3QgcmVwcm9kdWNpYmxlCisjIHJ1bi10by1ydW4gaW4gU1ZULUFWMSB2 NC4yLjAsIGhlbmNlIE5PTkRFVC4KK05PTkRFVD0xIHJ1bl9jYXNlIHZiciAiJFNSQ19ZNE0iIC1j OnYgbGlic3Z0YXYxIC1wcmVzZXQgOCAtYjp2IDJNCit1bnNldCBOT05ERVQKKworIyBTZWxmLWNo ZWNrIHRoYXQgYmFja3MgdGhlIE5PTkRFVCBjbGFzc2lmaWNhdGlvbiBhYm92ZTogc2FtZSBiaW5h cnksIHR3aWNlLgoraGRyICJkZXRlcm1pbmlzbSBzZWxmLWNoZWNrIChzYW1lIGJpbmFyeSwgdHdv IHJ1bnMpIgorZm9yIG1vZGUgaW4gIi1jcmYgNDAiICItYjp2IDJNIjsgZG8KKyAgICBmb3IgaSBp biAxIDI7IGRvCisgICAgICAgICIkQkFTRS9mZm1wZWciIC1oaWRlX2Jhbm5lciAtbG9nbGV2ZWwg ZXJyb3IgLXkgLWkgIiRTUkNfWTRNIiBcCisgICAgICAgICAgICAtYzp2IGxpYnN2dGF2MSAtcHJl c2V0IDggJG1vZGUgIiRPVVQvZGV0LiRpLml2ZiIgMj4vZGV2L251bGwKKyAgICBkb25lCisgICAg aWYgY21wIC1zICIkT1VUL2RldC4xLml2ZiIgIiRPVVQvZGV0LjIuaXZmIjsgdGhlbgorICAgICAg ICBwYXNzICJiYXNlbGluZSByZXByb2R1Y2libGUgd2l0aCAnJG1vZGUnIgorICAgIGVsc2UKKyAg ICAgICAgcHJpbnRmICcgIFwwMzNbMzNtTk9URVwwMzNbMG0gYmFzZWxpbmUgTk9UIHJlcHJvZHVj aWJsZSB3aXRoICciJyInJXMnIiciJyAoU1ZULUFWMSBwcm9wZXJ0eSwgdW5yZWxhdGVkIHRvIHRo ZSBwYXRjaClcbicgIiRtb2RlIgorICAgIGZpCitkb25lCisjIGxvdyBkZWxheTogdGhlIGd1YXJk ZWQgcGF0aCwgbXVzdCBiZWhhdmUgZXhhY3RseSBhcyBiZWZvcmUgYW5kIG11c3Qgbm90IGhhbmcK K3J1bl9jYXNlIGxvd2RlbGF5ICAgICIkU1JDX1k0TSIgLWM6diBsaWJzdnRhdjEgLXByZXNldCA4 ICAtY3JmIDQwIFwKKyAgICAgICAgICAgICAgICAgICAgIC1zdnRhdjEtcGFyYW1zIHByZWQtc3Ry dWN0PTEKKyMgcnRjIGZvcmNlcyBsb3cgZGVsYXkgSU5TSURFIHRoZSBsaWJyYXJ5IChlbmNfaGFu ZGxlLmM6NDMxNykgd2l0aG91dCB1cGRhdGluZworIyB0aGUgY29uZmlndXJhdGlvbiB0aGUgd3Jh cHBlciBob2xkczogYW4gZWFybHkgcG9sbCB0aGF0IHRydXN0cyBwcmVkX3N0cnVjdHVyZQorIyBh bG9uZSBibG9ja3MgaGVyZSBmb3JldmVyLiBSZWdyZXNzaW9uIHRlc3QgZm9yIGV4YWN0bHkgdGhh dC4KK3J1bl9jYXNlIHJ0YyAgICAgICAgICIkU1JDX1k0TSIgLWM6diBsaWJzdnRhdjEgLXByZXNl dCAxMCAtY3JmIDQwIFwKKyAgICAgICAgICAgICAgICAgICAgIC1zdnRhdjEtcGFyYW1zIHJ0Yz0x CitydW5fY2FzZSBhbGxpbnRyYSAgICAiJFNSQ19ZNE0iIC1jOnYgbGlic3Z0YXYxIC1wcmVzZXQg MTAgLWNyZiA0MCBcCisgICAgICAgICAgICAgICAgICAgICAtc3Z0YXYxLXBhcmFtcyBwcmVkLXN0 cnVjdD0wCitydW5fY2FzZSBscDEgICAgICAgICAiJFNSQ19ZNE0iIC1jOnYgbGlic3Z0YXYxIC1w cmVzZXQgOCAgLWNyZiA0MCAtc3Z0YXYxLXBhcmFtcyBscD0xCitydW5fY2FzZSB0cmFuc2NvZGUg ICAiJFNSQ19NUDQiIC1jOnYgbGlic3Z0YXYxIC1wcmVzZXQgMTAgLWNyZiA0MCAtZyAxMjAKKwor IyBSZWFsLXdvcmxkIGNvbnRlbnQsIGlmIGEgY2xpcCB3YXMgbW91bnRlZCBhdCAvbWVkaWEvY2xp cC4qCitSRUFMPSQobHMgL21lZGlhL2NsaXAuKiAyPi9kZXYvbnVsbCB8IGhlYWQgLTEpCitpZiBb IC1uICIkUkVBTCIgXTsgdGhlbgorICAgIGhkciAicmVhbCBjb250ZW50OiAkUkVBTCIKKyAgICAi JFBBVENIRUQvZmZwcm9iZSIgLWhpZGVfYmFubmVyIC1sb2dsZXZlbCBlcnJvciAtc2VsZWN0X3N0 cmVhbXMgdjowIFwKKyAgICAgICAgLXNob3dfZW50cmllcyBzdHJlYW09Y29kZWNfbmFtZSx3aWR0 aCxoZWlnaHQscl9mcmFtZV9yYXRlLG5iX2ZyYW1lcyBcCisgICAgICAgIC1zaG93X2VudHJpZXMg Zm9ybWF0PWR1cmF0aW9uLHNpemUgLW9mIGRlZmF1bHQ9bnc9MSAiJFJFQUwiIHwgc2VkICdzL14v ICAvJworICAgIHJ1bl9jYXNlIHJlYWwtcDggICAiJFJFQUwiIC1jOnYgbGlic3Z0YXYxIC1wcmVz ZXQgOCAtY3JmIDQwIC1nIDEyMCAtYW4KKyAgICBydW5fY2FzZSByZWFsLWhpZXIgIiRSRUFMIiAt Yzp2IGxpYnN2dGF2MSAtcHJlc2V0IDYgLWNyZiAzNSAtZyAyNDAgLWFuIFwKKyAgICAgICAgICAg ICAgICAgICAgICAgLXN2dGF2MS1wYXJhbXMgaGllcmFyY2hpY2FsLWxldmVscz01Omxvb2thaGVh ZD0xMjAKK2ZpCisKKyMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLSBiZWhhdmlvdXJhbCBwcm9vZiAtLS0KK2hkciAiZHJhaW4gYmVoYXZpb3Vy IChsaWJhdmNvZGVjIEFQSSBvbmx5LCAzMDAgZnJhbWVzKSIKK2ZvciB2IGluIGJhc2UgcGF0Y2hl ZDsgZG8KKyAgICBiaW49JEJBU0U7IFsgIiR2IiA9IHBhdGNoZWQgXSAmJiBiaW49JFBBVENIRUQK KyAgICBlY2hvICItLSAkdiIKKyAgICB0aW1lb3V0IC1rIDUgIiRUTU8iICIkYmluL2RyYWluX3By b2JlIiAzMDAgOCAiaGllcmFyY2hpY2FsLWxldmVscz01IiBcCisgICAgICAgID4gIiRPVVQvcHJv YmUuJHYudHh0IiAyPiYxCisgICAgcmM9JD8KKyAgICBzZWQgJ3MvXi8gICAgIC8nICIkT1VUL3By b2JlLiR2LnR4dCIKKyAgICBbICRyYyAtZXEgMCBdIHx8IGZhaWwgImRyYWluX3Byb2JlLyR2IGV4 aXRlZCAkcmMiCitkb25lCisKK21heGI9JChhd2sgJy9tYXhfcGFja2V0c19wZXJfc2VuZC97cHJp bnQgJDJ9JyAiJE9VVC9wcm9iZS5iYXNlLnR4dCIpCittYXhwPSQoYXdrICcvbWF4X3BhY2tldHNf cGVyX3NlbmQve3ByaW50ICQyfScgIiRPVVQvcHJvYmUucGF0Y2hlZC50eHQiKQorbXJwPSQoYXdr ICAnL3JvdW5kc193aXRoX211bHRpX3BrdC97cHJpbnQgJDJ9JyAiJE9VVC9wcm9iZS5wYXRjaGVk LnR4dCIpCitwa19iPSQoYXdrICcvXnBhY2tldHNfcmVjZWl2ZWQve3ByaW50ICQyfScgIiRPVVQv cHJvYmUuYmFzZS50eHQiKQorcGtfcD0kKGF3ayAnL15wYWNrZXRzX3JlY2VpdmVkL3twcmludCAk Mn0nICIkT1VUL3Byb2JlLnBhdGNoZWQudHh0IikKKworWyAiJHttYXhiOi0wfSIgPSAxIF0gXAor ICAgICYmIHBhc3MgImJhc2VsaW5lIGNhcHMgYXQgMSBwYWNrZXQgcGVyIHNlbmRfZnJhbWUgKGFz IGFuYWx5c2VkKSIgXAorICAgIHx8IGZhaWwgImJhc2VsaW5lIHJlcG9ydGVkIG1heF9wYWNrZXRz X3Blcl9zZW5kPSR7bWF4YjotP30sIGV4cGVjdGVkIDEiCitbICIke21heHA6LTB9IiAtZ3QgMSBd IDI+L2Rldi9udWxsIFwKKyAgICAmJiBwYXNzICJwYXRjaGVkIGRyYWlucyBidXJzdHM6IG1heCAk e21heHB9IHBhY2tldHMvc2VuZCwgJHttcnB9IG11bHRpLXBhY2tldCByb3VuZHMiIFwKKyAgICB8 fCBmYWlsICJwYXRjaGVkIHJlcG9ydGVkIG1heF9wYWNrZXRzX3Blcl9zZW5kPSR7bWF4cDotP30s IGV4cGVjdGVkID4gMSIKK1sgIiR7cGtfYjotMH0iID0gIiR7cGtfcDotMX0iIF0gXAorICAgICYm IHBhc3MgInNhbWUgdG90YWwgcGFja2V0IGNvdW50ICgkcGtfYikiIFwKKyAgICB8fCBmYWlsICJw YWNrZXQgY291bnQgZGlmZmVyczogYmFzZSAkcGtfYiB2cyBwYXRjaGVkICRwa19wIgorCisjIC0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tIHBvb2wg cHJlc3N1cmUgc3RyZXNzIC0tCisjIFNtYWxsZXN0IHBvb2xzIChscD0xIHNocmlua3MgcGljdHVy ZV9jb250cm9sX3NldF9wb29sX2luaXRfY291bnQsIGFuZCB3aXRoIGl0CisjIG91dHB1dF9zdHJl YW1fYnVmZmVyX2ZpZm9faW5pdF9jb3VudCA9IHBjc19wb29sICsgMikgY29tYmluZWQgd2l0aCB0 aGUgZGVlcGVzdAorIyBoaWVyYXJjaHksIGkuZS4gdGhlIGxhcmdlc3Qgb3V0cHV0IGJ1cnN0cy4g VGhpcyBpcyB0aGUgY29uZmlndXJhdGlvbiB3aGVyZSB0aGUKKyMgb25lLXBhY2tldC1wZXItZnJh bWUgY2FwIGlzIG1vc3QgbGlrZWx5IHRvIHBpbiB0aGUgb3V0cHV0IHBvb2wgYXQgaXRzIGNlaWxp bmcuCitoZHIgInBvb2wgcHJlc3N1cmUgc3RyZXNzIChscD0xLCBoaWVyYXJjaGljYWwtbGV2ZWxz PTUsICR7U1RSRVNTX0ZSQU1FUzotMTUwMH0gZnJhbWVzKSIKK2ZvciB2IGluIGJhc2UgcGF0Y2hl ZDsgZG8KKyAgICBiaW49JEJBU0U7IFsgIiR2IiA9IHBhdGNoZWQgXSAmJiBiaW49JFBBVENIRUQK KyAgICBzdGFydD0kU0VDT05EUworICAgIHRpbWVvdXQgLWsgNSAiJFRNTyIgIiRiaW4vZHJhaW5f cHJvYmUiICIke1NUUkVTU19GUkFNRVM6LTE1MDB9IiAxMCBcCisgICAgICAgICJscD0xOmhpZXJh cmNoaWNhbC1sZXZlbHM9NTpsb29rYWhlYWQ9MTIwIiA+ICIkT1VUL3N0cmVzcy4kdi50eHQiIDI+ JjEKKyAgICByYz0kPworICAgIGVsPSQoKFNFQ09ORFMtc3RhcnQpKQorICAgIGlmIFsgJHJjIC1l cSAxMjQgXSB8fCBbICRyYyAtZXEgMTM3IF07IHRoZW4KKyAgICAgICAgcHJpbnRmICcgIFwwMzNb MzNtTk9URVwwMzNbMG0gc3RyZXNzLyVzIFRJTUVEIE9VVCBhZnRlciAlc3Mg4oCUIHJlcHJvZHVj ZXMgdGhlIHN0YWxsXG4nICIkdiIgIiRUTU8iCisgICAgICAgIFsgIiR2IiA9IHBhdGNoZWQgXSAm JiBmYWlsICJwYXRjaGVkIGJ1aWxkIHN0YWxsZWQgdW5kZXIgc3RyZXNzIgorICAgIGVsaWYgWyAk cmMgLW5lIDAgXTsgdGhlbgorICAgICAgICBmYWlsICJzdHJlc3MvJHYgZXhpdGVkICRyYyIKKyAg ICBlbHNlCisgICAgICAgIHBhc3MgInN0cmVzcy8kdiBjb21wbGV0ZWQgaW4gJHtlbH1zIgorICAg IGZpCisgICAgZ3JlcCAtRSAnZnJhbWVzX3NlbnR8cGFja2V0c19yZWNlaXZlZHxtYXhfcGFja2V0 c19wZXJfc2VuZHxyb3VuZHNfd2l0aF9tdWx0aV9wa3R8Zmx1c2hfcm91bmQnIFwKKyAgICAgICAg IiRPVVQvc3RyZXNzLiR2LnR4dCIgfCBzZWQgJ3MvXi8gICAgIC8nCitkb25lCisKKyMgLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tIHN1bW1hcnkgLS0KK2hkciAic3VtbWFyeSIKK2lmIFsgJGZhaWxzIC1lcSAwIF07IHRoZW4K KyAgICBwcmludGYgJyAgXDAzM1szMm1hbGwgY2hlY2tzIHBhc3NlZFwwMzNbMG0gKHJlc3VsdHMg aW4gJXMpXG4nICIkT1VUIgorZWxzZQorICAgIHByaW50ZiAnICBcMDMzWzMxbSVkIGNoZWNrKHMp IGZhaWxlZFwwMzNbMG0gKHJlc3VsdHMgaW4gJXMpXG4nICIkZmFpbHMiICIkT1VUIgorZmkKK2V4 aXQgJCgoZmFpbHMgPiAwKSkKLS0gCjIuNTIuMAoKX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX18KZmZtcGVnLWRldmVsIG1haWxpbmcgbGlzdCAtLSBmZm1wZWct ZGV2ZWxAZmZtcGVnLm9yZwpUbyB1bnN1YnNjcmliZSBzZW5kIGFuIGVtYWlsIHRvIGZmbXBlZy1k ZXZlbC1sZWF2ZUBmZm1wZWcub3JnCg==