From mboxrd@z Thu Jan 1 00:00:00 1970 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: base64 From: Than Ngo To: git-commits@fedoraproject.org Subject: [rpms/chromium] epel9-next: update to 118.0.5993.70 Date: Fri, 07 Aug 2026 16:05:34 GMT Message-ID: <178611873443.1.10465453841450994412.rpms-chromium-820d621e374d@fedoraproject.org> List-ID: X-Git-Repo: rpms/chromium X-Git-Branch: epel9-next X-Git-Rev: 820d621e374d616e6693eec08b509be839baff18 QSBuZXcgY29tbWl0IGhhcyBiZWVuIHB1c2hlZC4KClJlcG8gICA6IHJwbXMvY2hyb21pdW0KQnJh bmNoIDogZXBlbDktbmV4dApDb21taXQgOiA4MjBkNjIxZTM3NGQ2MTZlNjY5M2VlYzA4YjUwOWJl ODM5YmFmZjE4CkF1dGhvciA6IFRoYW4gTmdvIDx0aGFuQHJlZGhhdC5jb20+CkRhdGUgICA6IDIw MjMtMTAtMTFUMTA6MzY6NDYrMDI6MDAKU3RhdHMgIDogKzE0NjYvLTE1MDggaW4gMTcgZmlsZShz KQpVUkwgICAgOiBodHRwczovL3NyYy5mZWRvcmFwcm9qZWN0Lm9yZy9ycG1zL2Nocm9taXVtL2Mv ODIwZDYyMWUzNzRkNjE2ZTY2OTNlZWMwOGI1MDliZTgzOWJhZmYxOD9icmFuY2g9ZXBlbDktbmV4 dAoKTG9nOgp1cGRhdGUgdG8gMTE4LjAuNTk5My43MAoKLS0tCmRpZmYgLS1naXQgYS9jaHJvbWl1 bS0xMTYtYXJtNjQtbWVtb3J5X3RhZ2dpbmcucGF0Y2ggYi9jaHJvbWl1bS0xMTYtYXJtNjQtbWVt b3J5X3RhZ2dpbmcucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGM2OWNkYTgu LjAwMDAwMDAKLS0tIGEvY2hyb21pdW0tMTE2LWFybTY0LW1lbW9yeV90YWdnaW5nLnBhdGNoCisr KyAvZGV2L251bGwKQEAgLTEsMTQgKzAsMCBAQAotZGlmZiAtdXAgY2hyb21pdW0tMTE2LjAuNTg0 NS41MC9iYXNlL2FsbG9jYXRvci9wYXJ0aXRpb25fYWxsb2NhdG9yL3BhcnRpdGlvbl9hbGxvY19j b25maWcuaC5tZSBjaHJvbWl1bS0xMTYuMC41ODQ1LjUwL2Jhc2UvYWxsb2NhdG9yL3BhcnRpdGlv bl9hbGxvY2F0b3IvcGFydGl0aW9uX2FsbG9jX2NvbmZpZy5oCi0tLS0gY2hyb21pdW0tMTE2LjAu NTg0NS41MC9iYXNlL2FsbG9jYXRvci9wYXJ0aXRpb25fYWxsb2NhdG9yL3BhcnRpdGlvbl9hbGxv Y19jb25maWcuaC5tZQkyMDIzLTA3LTMwIDE1OjEzOjQ1Ljg3MzQyNzg3NCArMDIwMAotKysrIGNo cm9taXVtLTExNi4wLjU4NDUuNTAvYmFzZS9hbGxvY2F0b3IvcGFydGl0aW9uX2FsbG9jYXRvci9w YXJ0aXRpb25fYWxsb2NfY29uZmlnLmgJMjAyMy0wNy0zMCAxNToxNTozMS4zOTMxODE0MDAgKzAy MDAKLUBAIC0xNTAsOSArMTUwLDcgQEAgc3RhdGljX2Fzc2VydChzaXplb2Yodm9pZCopICE9IDgs ICIiKTsKLSAgICghQlVJTERGTEFHKFBVVF9SRUZfQ09VTlRfSU5fUFJFVklPVVNfU0xPVCkgJiYg XAotICAgIGRlZmluZWQoQVJDSF9DUFVfTElUVExFX0VORElBTikpCi0gCi0tI2RlZmluZSBQQV9D T05GSUdfSEFTX01FTU9SWV9UQUdHSU5HKCkgICAgICAgICAgICAgIFwKLS0gIChkZWZpbmVkKEFS Q0hfQ1BVX0FSTTY0KSAmJiBkZWZpbmVkKF9fY2xhbmdfXykgJiYgXAotLSAgIChCVUlMREZMQUco SVNfTElOVVgpIHx8IEJVSUxERkxBRyhJU19BTkRST0lEKSkpCi0rI2RlZmluZSBQQV9DT05GSUdf SEFTX01FTU9SWV9UQUdHSU5HKCkgMAotIAotICNpZiBQQV9DT05GSUcoSEFTX01FTU9SWV9UQUdH SU5HKQotIHN0YXRpY19hc3NlcnQoc2l6ZW9mKHZvaWQqKSA9PSA4KTsKCmRpZmYgLS1naXQgYS9j aHJvbWl1bS0xMTYtdHdlYWtfYWJvdXRfZ3B1LnBhdGNoIGIvY2hyb21pdW0tMTE2LXR3ZWFrX2Fi b3V0X2dwdS5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNjRhNDhlOS4uMDAw MDAwMAotLS0gYS9jaHJvbWl1bS0xMTYtdHdlYWtfYWJvdXRfZ3B1LnBhdGNoCisrKyAvZGV2L251 bGwKQEAgLTEsMjM3ICswLDAgQEAKLWNvbW1pdCBlMmY4YTFlMWI1YzAwOTZjYjA0NjVhNzllNGY2 YzUzZDBkNTBlNjY0Ci1BdXRob3I6IEdyZWdnIFRhdmFyZXMgPGdtYW5AY2hyb21pdW0ub3JnPgot RGF0ZTogICBGcmkgQXVnIDExIDAwOjMyOjE5IDIwMjMgKzAwMDAKLQotICAgIFR3ZWFrIGFib3V0 OmdwdQotICAgIAotICAgICogTWFrZSBpdCBzbyB5b3UgY2FuIHNlbGVjdCBhbGwgdGhlIHRleHQK LSAgICAKLSAgICAgIEFzIGl0IHdhcywgc2VsZWN0aW9uIG9ubHkgd29ya2VkIG9uIGluZGl2aWR1 YWwgdG9wIGxldmVsIGRpdnMuCi0gICAgICBBZGRpbmcgYW4gZW5jbG9zaW5nIHBhcmVudCBkaXYg Zml4ZWQgdGhpcyBpc3N1ZQotICAgIAotICAgICogQ2hhbmdlICJDb3B5IFJlcG9ydCB0byBDbGlw Ym9hcmQiIHRvICJEb3dubG9hZCBSZXBvcnQgdG8gRmlsZSIKLSAgICAKLSAgICAgIFRoZSBkYXRh IGhlcmUgd2FzIGFsbW9zdCBhbHdheXMgdG9vIGJpZy4gVG9vIGJpZyB0byBwYXN0ZSBpbnRvCi0g ICAgICBhIGNocm9tZSBidWcsIHRvbyBiaWcgdG8gcGFzdGUgaW50byBjaGF0LgotICAgIAotICAg ICAgVGhlIHVzZXIgY2FuIHN0aWxsIHByZXNzIEN0cmwtQS9DbWQtQSBvciBwaWNrIFNlbGVjdC1B bGwKLSAgICAgIGFuZCBkbyBhIHRleHQgY29weS4KLSAgICAKLSAgICAqIEFkZCBkYXJrIG1vZGUg c3VwcG9ydAotICAgIAotICAgIEJ1ZzogMTQ3MDkyNwotICAgIENoYW5nZS1JZDogSTgyZGEyOWFl NWI2ODEwNmYyMDRkMDIwODRlMjUyZDNmMDczNzNhNjkKLSAgICBSZXZpZXdlZC1vbjogaHR0cHM6 Ly9jaHJvbWl1bS1yZXZpZXcuZ29vZ2xlc291cmNlLmNvbS9jL2Nocm9taXVtL3NyYy8rLzQ3NjQy NjkKLSAgICBDb21taXQtUXVldWU6IEdyZWdnIFRhdmFyZXMgPGdtYW5AY2hyb21pdW0ub3JnPgot ICAgIFJldmlld2VkLWJ5OiBLZW5uZXRoIFJ1c3NlbGwgPGtickBjaHJvbWl1bS5vcmc+Ci0gICAg UmV2aWV3ZWQtYnk6IEthaSBOaW5vbWl5YSA8a2Fpbmlub0BjaHJvbWl1bS5vcmc+Ci0gICAgQ3It Q29tbWl0LVBvc2l0aW9uOiByZWZzL2hlYWRzL21haW5AeyMxMTgyMzgzfQotCi1kaWZmIC0tZ2l0 IGEvY29udGVudC9icm93c2VyL3Jlc291cmNlcy9ncHUvZ3B1X2ludGVybmFscy5odG1sIGIvY29u dGVudC9icm93c2VyL3Jlc291cmNlcy9ncHUvZ3B1X2ludGVybmFscy5odG1sCi1pbmRleCBkMzI0 Zjk2Nzk4ZmQ2Li4yMjMyMmJiNmJhN2Q4IDEwMDY0NAotLS0tIGEvY29udGVudC9icm93c2VyL3Jl c291cmNlcy9ncHUvZ3B1X2ludGVybmFscy5odG1sCi0rKysgYi9jb250ZW50L2Jyb3dzZXIvcmVz b3VyY2VzL2dwdS9ncHVfaW50ZXJuYWxzLmh0bWwKLUBAIC05LDEzICs5LDE1IEBAIGZvdW5kIGlu IHRoZSBMSUNFTlNFIGZpbGUuCi0gPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRo PWRldmljZS13aWR0aCIgLz4KLSA8dGl0bGU+R1BVIEludGVybmFsczwvdGl0bGU+Ci0gPHN0eWxl PgotKyAgOnJvb3QgewotKyAgICBjb2xvci1zY2hlbWU6IGxpZ2h0IGRhcms7Ci0rICB9Ci0gICAq IHsKLSAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDsKLSAgICAgdXNlci1zZWxlY3Q6IG5vbmU7 Ci0gICB9Ci0gCi0gICBib2R5IHsKLS0gICAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7Ci0gICAg IGN1cnNvcjogZGVmYXVsdDsKLSAgICAgZm9udC1mYW1pbHk6IHNhbnMtc2VyaWY7Ci0gICAgIG1h cmdpbjogOHB4OwotZGlmZiAtLWdpdCBhL2NvbnRlbnQvYnJvd3Nlci9yZXNvdXJjZXMvZ3B1L2lu Zm9fdmlldy5odG1sIGIvY29udGVudC9icm93c2VyL3Jlc291cmNlcy9ncHUvaW5mb192aWV3Lmh0 bWwKLWluZGV4IDI4OTY5MWNlYjExYjMuLmNlMzY0M2RhMmFkYjYgMTAwNjQ0Ci0tLS0gYS9jb250 ZW50L2Jyb3dzZXIvcmVzb3VyY2VzL2dwdS9pbmZvX3ZpZXcuaHRtbAotKysrIGIvY29udGVudC9i cm93c2VyL3Jlc291cmNlcy9ncHUvaW5mb192aWV3Lmh0bWwKLUBAIC01LDEyICs1LDI4IEBAIGZv dW5kIGluIHRoZSBMSUNFTlNFIGZpbGUuCi0gLS0+Ci0gPHN0eWxlPgotICAgOmhvc3QgewotKyAg ICAtLWdyZWVuOiAjMDgwOwotKyAgICAtLXllbGxvdzogIzg4MDsKLSsgICAgLS1yZWQ6ICNmMDA7 Ci0rICAgIC0tZ3JheTogIzg4ODsKLSsgICAgLS1iZy15ZWxsb3c6ICNmZjA7Ci0rCi0gICAgIGRp c3BsYXk6IGJsb2NrOwotICAgICBmbGV4OiAxOwotICAgICBvdmVyZmxvdzogYXV0bzsKLSAgICAg cGFkZGluZzogMTBweDsKLSAgIH0KLSAKLSsgIEBtZWRpYSAocHJlZmVycy1jb2xvci1zY2hlbWU6 IGRhcmspIHsKLSsgICAgOmhvc3QgewotKyAgICAgIC0tZ3JlZW46ICMwRjA7Ci0rICAgICAgLS15 ZWxsb3c6ICNGRjA7Ci0rICAgICAgLS1yZWQ6ICNmMDA7Ci0rICAgICAgLS1ncmF5OiAjODg4Owot KyAgICAgIC0tYmcteWVsbG93OiAjODgwOwotKyAgICB9Ci0rICB9Ci0rCi0gICA6aG9zdCAqIHsK LSAgICAgdXNlci1zZWxlY3Q6IHRleHQ7Ci0gICB9Ci1AQCAtMjYsNzcgKzQyLDUyIEBAIGZvdW5k IGluIHRoZSBMSUNFTlNFIGZpbGUuCi0gICAgIG1hcmdpbi10b3A6IDA7Ci0gICB9Ci0gCi0tICA6 aG9zdCA+IGRpdiB7Ci0rICAjY29udGVudCA+IGRpdiB7Ci0gICAgIG1hcmdpbi1ib3R0b206IDFl bTsKLSAgIH0KLSAKLSAgIC5mZWF0dXJlLWdyZWVuIHsKLS0gICAgY29sb3I6IHJnYigwLCAxMjgs IDApOwotKyAgICBjb2xvcjogdmFyKC0tZ3JlZW4pOwotICAgfQotIAotICAgLmZlYXR1cmUteWVs bG93IHsKLS0gICAgY29sb3I6IHJnYigxMjgsIDEyOCwgMCk7Ci0rICAgIGNvbG9yOiB2YXIoLS15 ZWxsb3cpOwotICAgfQotIAotICAgLmZlYXR1cmUtcmVkIHsKLS0gICAgY29sb3I6IHJnYigyNTUs IDAsIDApOwotKyAgICBjb2xvcjogdmFyKC0tcmVkKTsKLSAgIH0KLSAKLSAgIC5mZWF0dXJlLWdy YXkgewotLSAgICBjb2xvcjogcmdiKDEyOCwgMTI4LCAxMjgpOwotKyAgICBjb2xvcjogdmFyKC0t Z3JheSk7Ci0gICB9Ci0gCi0gICAuYmcteWVsbG93IHsKLS0gICAgYmFja2dyb3VuZC1jb2xvcjog eWVsbG93OwotKyAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iZy15ZWxsb3cpOwotICAgfQot IAotICAgI3Z1bGthbi1pbmZvLXZhbHVlIHsKLSAgICAgd2hpdGUtc3BhY2U6IHByZTsKLSAgIH0K LSAKLS0gICNjb3B5LXRvLWNsaXBib2FyZCB7Ci0tICAgIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVh ci1ncmFkaWVudCgjZWRlZGVkLCAjZWRlZGVkIDM4JSwgI2RlZGVkZSk7Ci0tICAgIGJvcmRlcjog MXB4IHNvbGlkIHJnYmEoMCwgMCwgMCwgLjI1KTsKLS0gICAgYm9yZGVyLXJhZGl1czogMnB4Owot LSAgICBib3gtc2hhZG93OiAwIDFweCAwIHJnYmEoMCwgMCwgMCwgMC4wOCksCi0tICAgICAgICBp bnNldCAwIDFweCAycHggcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjc1KTsKLS0gICAgY29sb3I6ICM0 NDQ7Ci0rICAjZG93bmxvYWQtdG8tZmlsZSB7Ci0gICAgIGZvbnQ6IGluaGVyaXQ7Ci0gICAgIG1h cmdpbjogMCAxcHggMCAwOwotICAgICBtaW4taGVpZ2h0OiAyZW07Ci0tICAgIG91dGxpbmU6IG5v bmU7Ci0gICAgIHBhZGRpbmc6IDFweCAxMHB4OwotLSAgICB0ZXh0LXNoYWRvdzogMCAxcHggMCBy Z2IoMjQwLCAyNDAsIDI0MCk7Ci0gICAgIHVzZXItc2VsZWN0OiBub25lOwotICAgfQotIAotLSAg I2NvcHktdG8tY2xpcGJvYXJkOmVuYWJsZWQ6aG92ZXIgewotLSAgICBiYWNrZ3JvdW5kLWltYWdl OiBsaW5lYXItZ3JhZGllbnQoI2YwZjBmMCwgI2YwZjBmMCAzOCUsICNlMGUwZTApOwotLSAgICBi b3JkZXItY29sb3I6IHJnYmEoMCwgMCwgMCwgMC4zKTsKLS0gICAgYm94LXNoYWRvdzogMCAxcHgg MCByZ2JhKDAsIDAsIDAsIDAuMTIpLAotLSAgICAgICAgaW5zZXQgMCAxcHggMnB4IHJnYmEoMjU1 LCAyNTUsIDI1NSwgMC45NSk7Ci0tICAgIGNvbG9yOiBibGFjazsKLS0gIH0KLS0KLS0gICNjb3B5 LXRvLWNsaXBib2FyZDplbmFibGVkOmFjdGl2ZSB7Ci0tICAgIGJhY2tncm91bmQtaW1hZ2U6IGxp bmVhci1ncmFkaWVudCgjZTdlN2U3LCAjZTdlN2U3IDM4JSwgI2Q3ZDdkNyk7Ci0tICAgIGJveC1z aGFkb3c6IG5vbmU7Ci0tICAgIHRleHQtc2hhZG93OiBub25lOwotLSAgfQotLQotLSAgI2NvcHkt dG8tY2xpcGJvYXJkOmVuYWJsZWQ6Zm9jdXMgewotLSAgICBib3JkZXItY29sb3I6IHJnYig3Nywg MTQ0LCAyNTQpOwotLSAgfQotLQotICAgaDQuZGF3bi1pbmZvLWhlYWRlciB7Ci0tICAgIGNvbG9y OiByZ2IoMTI4LCAxMjgsIDApOwotKyAgICBjb2xvcjogdmFyKC0teWVsbG93KTsKLSAgICAgbWFy Z2luLWJvdHRvbTogMnB4OwotICAgICBtYXJnaW4tdG9wOiAxMHB4OwotICAgfQotIDwvc3R5bGU+ Ci0gCi0rPGRpdiBpZD0iY29udGVudCI+Ci0gPGRpdj4KLS0gIDxidXR0b24gaWQ9ImNvcHktdG8t Y2xpcGJvYXJkIj5Db3B5IFJlcG9ydCB0byBDbGlwYm9hcmQ8L2J1dHRvbj4KLSsgIDxidXR0b24g aWQ9ImRvd25sb2FkLXRvLWZpbGUiPkRvd25sb2FkIFJlcG9ydCB0byBGaWxlPC9idXR0b24+Ci0g PC9kaXY+Ci0gPGRpdj4KLSAgIDxoMz5HcmFwaGljcyBGZWF0dXJlIFN0YXR1czwvaDM+Ci1AQCAt MTkzLDMgKzE4NCw0IEBAIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUuCi0gICA8aDM+TG9nIE1l c3NhZ2VzPC9oMz4KLSAgIDx1bD48L3VsPgotIDwvZGl2PgotKzwvZGl2PgotXCBObyBuZXdsaW5l IGF0IGVuZCBvZiBmaWxlCi1kaWZmIC0tZ2l0IGEvY29udGVudC9icm93c2VyL3Jlc291cmNlcy9n cHUvaW5mb192aWV3LnRzIGIvY29udGVudC9icm93c2VyL3Jlc291cmNlcy9ncHUvaW5mb192aWV3 LnRzCi1pbmRleCAwYjkxY2MxMzBmNDZmLi45NmMwOGY3NmU0YmM3IDEwMDY0NAotLS0tIGEvY29u dGVudC9icm93c2VyL3Jlc291cmNlcy9ncHUvaW5mb192aWV3LnRzCi0rKysgYi9jb250ZW50L2Jy b3dzZXIvcmVzb3VyY2VzL2dwdS9pbmZvX3ZpZXcudHMKLUBAIC0xMiw2ICsxMiwyMiBAQCBpbXBv cnQge2dldFRlbXBsYXRlfSBmcm9tICcuL2luZm9fdmlldy5odG1sLmpzJzsKLSBpbXBvcnQge0Fy cmF5RGF0YSwgRGF0YX0gZnJvbSAnLi9pbmZvX3ZpZXdfdGFibGVfcm93LmpzJzsKLSBpbXBvcnQg e1Z1bGthbkluZm99IGZyb20gJy4vdnVsa2FuX2luZm8uanMnOwotIAotKy8qKgotKyAqIEdpdmVu IGEgYmxvYiBhbmQgYSBmaWxlbmFtZSwgcHJvbXB0cyB1c2VyIHRvCi0rICogc2F2ZSBhcyBhIGZp bGUuCi0rICovCi0rY29uc3Qgc2F2ZURhdGEgPSAoZnVuY3Rpb24oKSB7Ci0rICBjb25zdCBhID0g ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnYScpOwotKyAgYS5zdHlsZS5kaXNwbGF5ID0gJ25vbmUn OwotKyAgZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChhKTsKLSsgIHJldHVybiBmdW5jdGlvbiBz YXZlRGF0YShibG9iOiBCbG9iLCBmaWxlTmFtZTogc3RyaW5nKSB7Ci0rICAgIGNvbnN0IHVybCA9 IHdpbmRvdy5VUkwuY3JlYXRlT2JqZWN0VVJMKGJsb2IpOwotKyAgICBhLmhyZWYgPSB1cmw7Ci0r ICAgIGEuZG93bmxvYWQgPSBmaWxlTmFtZTsKLSsgICAgYS5jbGljaygpOwotKyAgfTsKLSt9KCkp OwotKwotIC8qKgotICAqIEBmaWxlb3ZlcnZpZXcgVGhpcyB2aWV3IGRpc3BsYXlzIGluZm9ybWF0 aW9uIG9uIHRoZSBjdXJyZW50IEdQVQotICAqIGhhcmR3YXJlLiAgSXRzIHByaW1hcnkgdXNlZnVs bmVzcyBpcyB0byBhbGxvdyB1c2VycyB0byBjb3B5LXBhc3RlCi1AQCAtMzMsMTkgKzQ5LDI2IEBA IGV4cG9ydCBjbGFzcyBJbmZvVmlld0VsZW1lbnQgZXh0ZW5kcyBDdXN0b21FbGVtZW50IHsKLSAg IH0KLSAKLSAgIGNvbm5lY3RlZENhbGxiYWNrKCkgewotLSAgICAvLyBBZGQgaGFuZGxlciB0byAn Y29weSB0byBjbGlwYm9hcmQnIGJ1dHRvbgotLSAgICBjb25zdCBjb3B5QnV0dG9uID0KLS0gICAg ICAgIHRoaXMuc2hhZG93Um9vdCEucXVlcnlTZWxlY3RvcjxIVE1MRWxlbWVudD4oJyNjb3B5LXRv LWNsaXBib2FyZCcpOwotLSAgICBhc3NlcnQoY29weUJ1dHRvbik7Ci0tICAgIGNvcHlCdXR0b24u b25jbGljayA9ICgoKSA9PiB7Ci0rICAgIC8vIEFkZCBoYW5kbGVyIHRvICdkb3dubG9hZCByZXBv cnQgdG8gY2xpcGJvYXJkJyBidXR0b24KLSsgICAgY29uc3QgZG93bmxvYWRCdXR0b24gPQotKyAg ICAgICAgdGhpcy5zaGFkb3dSb290IS5xdWVyeVNlbGVjdG9yPEhUTUxFbGVtZW50PignI2Rvd25s b2FkLXRvLWZpbGUnKSE7Ci0rICAgIGFzc2VydChkb3dubG9hZEJ1dHRvbik7Ci0rICAgIGRvd25s b2FkQnV0dG9uLm9uY2xpY2sgPSAoKCkgPT4gewotICAgICAgIC8vIE1ha2Ugc3VyZSBub3RoaW5n IGlzIHNlbGVjdGVkCi0gICAgICAgY29uc3QgcyA9IHdpbmRvdy5nZXRTZWxlY3Rpb24oKSE7Ci0g ICAgICAgcy5yZW1vdmVBbGxSYW5nZXMoKTsKLSsKLSsgICAgICAvLyBTZWxlY3QgZXZlcnl0aGlu ZwotICAgICAgIHMuc2VsZWN0QWxsQ2hpbGRyZW4odGhpcy5zaGFkb3dSb290ISk7Ci0tICAgICAg ZG9jdW1lbnQuZXhlY0NvbW1hbmQoJ2NvcHknKTsKLSsgICAgICBjb25zdCB0ZXh0ID0gcy50b1N0 cmluZygpOwotIAotICAgICAgIC8vIEFuZCBkZXNlbGVjdCBldmVyeXRoaW5nIGF0IHRoZSBlbmQu Ci0gICAgICAgd2luZG93LmdldFNlbGVjdGlvbigpIS5yZW1vdmVBbGxSYW5nZXMoKTsKLSsKLSsg ICAgICBjb25zdCBibG9iID0gbmV3IEJsb2IoW3RleHRdLCB7dHlwZTogJ3RleHQvdGV4dCd9KTsK LSsgICAgICBjb25zdCBmaWxlbmFtZSA9IGBhYm91dC1ncHUtJHsKLSsgICAgICAgICAgbmV3IERh dGUoKS50b0lTT1N0cmluZygpLnJlcGxhY2UoL1teYS16MC05LV0vaWcsICctJyl9LnR4dGA7Ci0r ICAgICAgc2F2ZURhdGEoYmxvYiwgZmlsZW5hbWUpOwotICAgICB9KTsKLSAgIH0KLSAKCmRpZmYg LS1naXQgYS9jaHJvbWl1bS0xMTctZW1wbGFjZV9iYWNrX29uX3ZlY3Rvci1jKysyMC5wYXRjaCBi L2Nocm9taXVtLTExNy1lbXBsYWNlX2JhY2tfb25fdmVjdG9yLWMrKzIwLnBhdGNoCmRlbGV0ZWQg ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAzZjFiODAwLi4wMDAwMDAwCi0tLSBhL2Nocm9taXVtLTEx Ny1lbXBsYWNlX2JhY2tfb25fdmVjdG9yLWMrKzIwLnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEs OTEgKzAsMCBAQAotZGlmZiAtdXAgY2hyb21pdW0tMTE1LjAuNTc5MC40MC9jaHJvbWUvdGVzdC9j aHJvbWVkcml2ZXIvY2FwYWJpbGl0aWVzLmNjLm1lIGNocm9taXVtLTExNS4wLjU3OTAuNDAvY2hy b21lL3Rlc3QvY2hyb21lZHJpdmVyL2NhcGFiaWxpdGllcy5jYwotLS0tIGNocm9taXVtLTExNS4w LjU3OTAuNDAvY2hyb21lL3Rlc3QvY2hyb21lZHJpdmVyL2NhcGFiaWxpdGllcy5jYy5tZQkyMDIz LTA2LTI1IDEwOjA2OjU4LjQ0NTk5MDA2OSArMDIwMAotKysrIGNocm9taXVtLTExNS4wLjU3OTAu NDAvY2hyb21lL3Rlc3QvY2hyb21lZHJpdmVyL2NhcGFiaWxpdGllcy5jYwkyMDIzLTA2LTI1IDEw OjUxOjE3LjY0MDgxODIzMSArMDIwMAotQEAgLTM1NSw3ICszNTUsNyBAQCBTdGF0dXMgUGFyc2VN b2JpbGVFbXVsYXRpb24oY29uc3QgYmFzZTo6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgIid2 ZXJzaW9uJyBmaWVsZCBvZiB0eXBlIHN0cmluZyIpOwotICAgICAgICAgfQotIAotLSAgICAgICAg YnJhbmRzLmVtcGxhY2VfYmFjaygqYnJhbmQsICp2ZXJzaW9uKTsKLSsgICAgICAgIGJyYW5kcy5l bXBsYWNlX2JhY2soKSA9IHsqYnJhbmQsICp2ZXJzaW9ufTsKLSAgICAgICB9Ci0gCi0gICAgICAg Y2xpZW50X2hpbnRzLmJyYW5kcyA9IHN0ZDo6bW92ZShicmFuZHMpOwotQEAgLTM5Miw3ICszOTIs NyBAQCBTdGF0dXMgUGFyc2VNb2JpbGVFbXVsYXRpb24oY29uc3QgYmFzZTo6Ci0gICAgICAgICAg ICAgICAgICAgICAgICAgImEgJ3ZlcnNpb24nIGZpZWxkIG9mIHR5cGUgc3RyaW5nIik7Ci0gICAg ICAgICB9Ci0gCi0tICAgICAgICBmdWxsX3ZlcnNpb25fbGlzdC5lbXBsYWNlX2JhY2soKmJyYW5k LCAqdmVyc2lvbik7Ci0rICAgICAgICBmdWxsX3ZlcnNpb25fbGlzdC5lbXBsYWNlX2JhY2soKSA9 IHsqYnJhbmQsICp2ZXJzaW9ufTsKLSAgICAgICB9Ci0gCi0gICAgICAgY2xpZW50X2hpbnRzLmZ1 bGxfdmVyc2lvbl9saXN0ID0gc3RkOjptb3ZlKGZ1bGxfdmVyc2lvbl9saXN0KTsKLWRpZmYgLXVw IGNocm9taXVtLTExNi4wLjU4NDUuOTYvY2hyb21lL2Jyb3dzZXIvY29udGVudF9zZXR0aW5ncy9v bmVfdGltZV9wZXJtaXNzaW9uX3Byb3ZpZGVyLmNjLm1lIGNocm9taXVtLTExNi4wLjU4NDUuOTYv Y2hyb21lL2Jyb3dzZXIvY29udGVudF9zZXR0aW5ncy9vbmVfdGltZV9wZXJtaXNzaW9uX3Byb3Zp ZGVyLmNjCi0tLS0gY2hyb21pdW0tMTE2LjAuNTg0NS45Ni9jaHJvbWUvYnJvd3Nlci9jb250ZW50 X3NldHRpbmdzL29uZV90aW1lX3Blcm1pc3Npb25fcHJvdmlkZXIuY2MubWUJMjAyMy0wOC0xNSAy MTozNDo1OC45MjI4NTU0MjggKzAyMDAKLSsrKyBjaHJvbWl1bS0xMTYuMC41ODQ1Ljk2L2Nocm9t ZS9icm93c2VyL2NvbnRlbnRfc2V0dGluZ3Mvb25lX3RpbWVfcGVybWlzc2lvbl9wcm92aWRlci5j YwkyMDIzLTA4LTE1IDIxOjM5OjIzLjMxMDQzNDIzNyArMDIwMAotQEAgLTIwNyw4ICsyMDcsOCBA QCB2b2lkIE9uZVRpbWVQZXJtaXNzaW9uUHJvdmlkZXI6Ok9uU3VzcGVuCi0gCi0gICAgICAgd2hp bGUgKHJ1bGVfaXRlcmF0b3IgJiYgcnVsZV9pdGVyYXRvci0+SGFzTmV4dCgpKSB7Ci0gICAgICAg ICBhdXRvIHJ1bGUgPSBydWxlX2l0ZXJhdG9yLT5OZXh0KCk7Ci0tICAgICAgICBwYXR0ZXJuc190 b19kZWxldGUuZW1wbGFjZV9iYWNrKHNldHRpbmdfdHlwZSwgcnVsZS0+cHJpbWFyeV9wYXR0ZXJu LAotLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBydWxlLT5zZWNvbmRh cnlfcGF0dGVybik7Ci0rICAgICAgICBwYXR0ZXJuc190b19kZWxldGUuZW1wbGFjZV9iYWNrKCkg PSB7c2V0dGluZ190eXBlLCBydWxlLT5wcmltYXJ5X3BhdHRlcm4sCi0rICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIHJ1bGUtPnNlY29uZGFyeV9wYXR0ZXJufTsKLSAgICAg ICAgIHBlcm1pc3Npb25zOjpQZXJtaXNzaW9uVW1hVXRpbDo6UmVjb3JkT25lVGltZVBlcm1pc3Np b25FdmVudCgKLSAgICAgICAgICAgICBzZXR0aW5nX3R5cGUsCi0gICAgICAgICAgICAgcGVybWlz c2lvbnM6Ok9uZVRpbWVQZXJtaXNzaW9uRXZlbnQ6OkVYUElSRURfT05fU1VTUEVORCk7Ci1AQCAt MzAyLDggKzMwMiw4IEBAIHZvaWQgT25lVGltZVBlcm1pc3Npb25Qcm92aWRlcjo6RGVsZXRlRW4K LSAgICAgYXV0byBydWxlID0gcnVsZV9pdGVyYXRvci0+TmV4dCgpOwotICAgICBpZiAocnVsZS0+ cHJpbWFyeV9wYXR0ZXJuLk1hdGNoZXMob3JpZ2luX2d1cmwpICYmCi0gICAgICAgICBydWxlLT5z ZWNvbmRhcnlfcGF0dGVybi5NYXRjaGVzKG9yaWdpbl9ndXJsKSkgewotLSAgICAgIHBhdHRlcm5z X3RvX2RlbGV0ZS5lbXBsYWNlX2JhY2soCi0tICAgICAgICAgIGNvbnRlbnRfc2V0dGluZ190eXBl LCBydWxlLT5wcmltYXJ5X3BhdHRlcm4sIHJ1bGUtPnNlY29uZGFyeV9wYXR0ZXJuKTsKLSsgICAg ICBwYXR0ZXJuc190b19kZWxldGUuZW1wbGFjZV9iYWNrKCkgPSB7Ci0rICAgICAgICAgIGNvbnRl bnRfc2V0dGluZ190eXBlLCBydWxlLT5wcmltYXJ5X3BhdHRlcm4sIHJ1bGUtPnNlY29uZGFyeV9w YXR0ZXJufTsKLSAgICAgICBwZXJtaXNzaW9uczo6UGVybWlzc2lvblVtYVV0aWw6OlJlY29yZE9u ZVRpbWVQZXJtaXNzaW9uRXZlbnQoCi0gICAgICAgICAgIGNvbnRlbnRfc2V0dGluZ190eXBlLCB0 cmlnZ2VyX2V2ZW50KTsKLSAgICAgfQotZGlmZiAtdXAgY2hyb21pdW0tMTE3LjAuNTkzOC42Mi9i YXNlL3RyYWNlX2V2ZW50L3RyYWNlX2xvZy5jYy5tZSBjaHJvbWl1bS0xMTcuMC41OTM4LjYyL2Jh c2UvdHJhY2VfZXZlbnQvdHJhY2VfbG9nLmNjCi0tLS0gY2hyb21pdW0tMTE3LjAuNTkzOC42Mi9i YXNlL3RyYWNlX2V2ZW50L3RyYWNlX2xvZy5jYy5tZQkyMDIzLTA5LTEzIDIwOjE0OjQyLjQ0MTI0 ODc4MSArMDIwMAotKysrIGNocm9taXVtLTExNy4wLjU5MzguNjIvYmFzZS90cmFjZV9ldmVudC90 cmFjZV9sb2cuY2MJMjAyMy0wOS0xMyAyMDoxNjoxMi4xODY2Mzg2MDEgKzAyMDAKLUBAIC0yMTg3 LDggKzIxODcsOCBAQCB2b2lkIFRyYWNlTG9nOjpTZXRUcmFjZUJ1ZmZlckZvclRlc3RpbmcoCi0g I2lmIEJVSUxERkxBRyhVU0VfUEVSRkVUVE9fQ0xJRU5UX0xJQlJBUlkpCi0gdm9pZCBUcmFjZUxv Zzo6T25TZXR1cChjb25zdCBwZXJmZXR0bzo6RGF0YVNvdXJjZUJhc2U6OlNldHVwQXJncyYgYXJn cykgewotICAgQXV0b0xvY2sgbG9jayh0cmFja19ldmVudF9sb2NrXyk7Ci0tICB0cmFja19ldmVu dF9zZXNzaW9uc18uZW1wbGFjZV9iYWNrKGFyZ3MuaW50ZXJuYWxfaW5zdGFuY2VfaW5kZXgsICph cmdzLmNvbmZpZywKLS0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYXJncy5i YWNrZW5kX3R5cGUpOwotKyAgdHJhY2tfZXZlbnRfc2Vzc2lvbnNfLmVtcGxhY2VfYmFjaygpID0g e2FyZ3MuaW50ZXJuYWxfaW5zdGFuY2VfaW5kZXgsICphcmdzLmNvbmZpZywKLSsgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgYXJncy5iYWNrZW5kX3R5cGV9OwotIH0KLSAKLSB2 b2lkIFRyYWNlTG9nOjpPblN0YXJ0KGNvbnN0IHBlcmZldHRvOjpEYXRhU291cmNlQmFzZTo6U3Rh cnRBcmdzJikgewotZGlmZiAtdXAgY2hyb21pdW0tMTE3LjAuNTkzOC42Mi9jb250ZW50L2Jyb3dz ZXIvZG93bmxvYWQvc2F2ZV9wYWNrYWdlLmNjLm1lIGNocm9taXVtLTExNy4wLjU5MzguNjIvY29u dGVudC9icm93c2VyL2Rvd25sb2FkL3NhdmVfcGFja2FnZS5jYwotLS0tIGNocm9taXVtLTExNy4w LjU5MzguNjIvY29udGVudC9icm93c2VyL2Rvd25sb2FkL3NhdmVfcGFja2FnZS5jYy5tZQkyMDIz LTA5LTE1IDEyOjAyOjQzLjg2NjYyMjU5MSArMDIwMAotKysrIGNocm9taXVtLTExNy4wLjU5Mzgu NjIvY29udGVudC9icm93c2VyL2Rvd25sb2FkL3NhdmVfcGFja2FnZS5jYwkyMDIzLTA5LTE1IDEy OjAzOjU4LjcxNTk4NDUxMSArMDIwMAotQEAgLTc2NCw4ICs3NjQsOCBAQCB2b2lkIFNhdmVQYWNr YWdlOjpGaW5pc2goKSB7Ci0gICBpZiAoZG93bmxvYWRfKSB7Ci0gICAgIHN0ZDo6dmVjdG9yPGRv d25sb2FkOjpEb3dubG9hZFNhdmVJdGVtRGF0YTo6SXRlbUluZm8+IGZpbGVzOwotICAgICBmb3Ig KGF1dG8mIGl0ZW0gOiBzYXZlZF9zdWNjZXNzX2l0ZW1zXykgewotLSAgICAgIGZpbGVzLmVtcGxh Y2VfYmFjayhpdGVtLnNlY29uZC0+ZnVsbF9wYXRoKCksIGl0ZW0uc2Vjb25kLT51cmwoKSwKLS0g ICAgICAgICAgICAgICAgICAgICAgICAgaXRlbS5zZWNvbmQtPnJlZmVycmVyKCkudXJsKTsKLSsg ICAgICBmaWxlcy5lbXBsYWNlX2JhY2soKSA9IHtpdGVtLnNlY29uZC0+ZnVsbF9wYXRoKCksIGl0 ZW0uc2Vjb25kLT51cmwoKSwKLSsgICAgICAgICAgICAgICAgICAgICAgICAgaXRlbS5zZWNvbmQt PnJlZmVycmVyKCkudXJsfTsKLSAgICAgfQotICAgICBkb3dubG9hZDo6RG93bmxvYWRTYXZlSXRl bURhdGE6OkF0dGFjaEl0ZW1EYXRhKGRvd25sb2FkXywgc3RkOjptb3ZlKGZpbGVzKSk7Ci0gICB9 Ci1kaWZmIC11cCBjaHJvbWl1bS0xMTcuMC41OTM4LjYyL3VpL2d0ay9ndGtfdWkuY2MubWUgY2hy b21pdW0tMTE3LjAuNTkzOC42Mi91aS9ndGsvZ3RrX3VpLmNjCi0tLS0gY2hyb21pdW0tMTE3LjAu NTkzOC42Mi91aS9ndGsvZ3RrX3VpLmNjLm1lCTIwMjMtMDktMTUgMjA6Mjk6NDIuNjI2NTAyMzQz ICswMjAwCi0rKysgY2hyb21pdW0tMTE3LjAuNTkzOC42Mi91aS9ndGsvZ3RrX3VpLmNjCTIwMjMt MDktMTUgMjA6MzY6MTguNzYzMDkxMTc5ICswMjAwCi1AQCAtOTU1LDExICs5NTUsMTEgQEAgdWk6 OkRpc3BsYXlDb25maWcgR3RrVWk6OkdldERpc3BsYXlDb25maQotICAgICBHZGtSZWN0YW5nbGUg Z2VvbWV0cnk7Ci0gICAgIGdka19tb25pdG9yX2dldF9nZW9tZXRyeShtb25pdG9yLCAmZ2VvbWV0 cnkpOwotICAgICBpbnQgbW9uaXRvcl9zY2FsZSA9IHN0ZDo6bWF4KDEsIGdka19tb25pdG9yX2dl dF9zY2FsZV9mYWN0b3IobW9uaXRvcikpOwotLSAgICBjb25maWcuZGlzcGxheV9nZW9tZXRyaWVz LmVtcGxhY2VfYmFjaygKLSsgICAgY29uZmlnLmRpc3BsYXlfZ2VvbWV0cmllcy5lbXBsYWNlX2Jh Y2soKSA9IHsKLSAgICAgICAgIGdmeDo6UmVjdChtb25pdG9yX3NjYWxlICogZ2VvbWV0cnkueCwg bW9uaXRvcl9zY2FsZSAqIGdlb21ldHJ5LnksCi0gICAgICAgICAgICAgICAgICAgbW9uaXRvcl9z Y2FsZSAqIGdlb21ldHJ5LndpZHRoLAotICAgICAgICAgICAgICAgICAgIG1vbml0b3Jfc2NhbGUg KiBnZW9tZXRyeS5oZWlnaHQpLAotLSAgICAgICAgbW9uaXRvcl9zY2FsZSAqIGZvbnRfc2NhbGUp OwotKyAgICAgICAgc3RhdGljX2Nhc3Q8ZmxvYXQ+KG1vbml0b3Jfc2NhbGUgKiBmb250X3NjYWxl KX07Ci0gICB9Ci0gICByZXR1cm4gY29uZmlnOwotIH0KCmRpZmYgLS1naXQgYS9jaHJvbWl1bS0x MTctbWlzc2luZy1oZWFkZXItZmlsZXMucGF0Y2ggYi9jaHJvbWl1bS0xMTctbWlzc2luZy1oZWFk ZXItZmlsZXMucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGFkOGUxZTYuLjAw MDAwMDAKLS0tIGEvY2hyb21pdW0tMTE3LW1pc3NpbmctaGVhZGVyLWZpbGVzLnBhdGNoCisrKyAv ZGV2L251bGwKQEAgLTEsNDU3ICswLDAgQEAKLWRpZmYgLXVwIGNocm9taXVtLTExMC4wLjU0ODEu MTc3L2Jhc2UvbWVtb3J5L3JlZl9jb3VudGVkLmgubWUgY2hyb21pdW0tMTEwLjAuNTQ4MS4xNzcv YmFzZS9tZW1vcnkvcmVmX2NvdW50ZWQuaAotLS0tIGNocm9taXVtLTExMC4wLjU0ODEuMTc3L2Jh c2UvbWVtb3J5L3JlZl9jb3VudGVkLmgubWUJMjAyMy0wMi0yMyAxMzozNDozMy4xNzQ4MTcyNTUg LTA1MDAKLSsrKyBjaHJvbWl1bS0xMTAuMC41NDgxLjE3Ny9iYXNlL21lbW9yeS9yZWZfY291bnRl ZC5oCTIwMjMtMDItMjMgMTM6NDI6MjguNjQ2MDUyNDY5IC0wNTAwCi1AQCAtNiw2ICs2LDcgQEAK LSAjZGVmaW5lIEJBU0VfTUVNT1JZX1JFRl9DT1VOVEVEX0hfCi0gCi0gI2luY2x1ZGUgPHN0ZGRl Zi5oPgotKyNpbmNsdWRlIDxsaW1pdHM+Ci0gCi0gI2luY2x1ZGUgPHV0aWxpdHk+Ci0gCi1kaWZm IC11cCBjaHJvbWl1bS0xMDkuMC41NDE0Ljc0L2Jhc2UvY2hlY2tfb3AuaC5tZSBjaHJvbWl1bS0x MDkuMC41NDE0Ljc0L2Jhc2UvY2hlY2tfb3AuaAotLS0tIGNocm9taXVtLTEwOS4wLjU0MTQuNzQv YmFzZS9jaGVja19vcC5oLm1lCTIwMjMtMDEtMTcgMTc6Mzk6MjcuNjIwODc1ODgzICswMTAwCi0r KysgY2hyb21pdW0tMTA5LjAuNTQxNC43NC9iYXNlL2NoZWNrX29wLmgJMjAyMy0wMS0xNyAxNzoz OTo0Mi41NDYwNjA5NTcgKzAxMDAKLUBAIC01LDYgKzUsNyBAQAotICNpZm5kZWYgQkFTRV9DSEVD S19PUF9IXwotICNkZWZpbmUgQkFTRV9DSEVDS19PUF9IXwotIAotKyNpbmNsdWRlIDxjc3RkaW50 PgotICNpbmNsdWRlIDxjc3RkZGVmPgotICNpbmNsdWRlIDxzdHJpbmc+Ci0gI2luY2x1ZGUgPHR5 cGVfdHJhaXRzPgotZGlmZiAtdXAgY2hyb21pdW0tMTA5LjAuNTQxNC43NC9iYXNlL2RlYnVnL3By b2ZpbGVyLmgubWUgY2hyb21pdW0tMTA5LjAuNTQxNC43NC9iYXNlL2RlYnVnL3Byb2ZpbGVyLmgK LS0tLSBjaHJvbWl1bS0xMDkuMC41NDE0Ljc0L2Jhc2UvZGVidWcvcHJvZmlsZXIuaC5tZQkyMDIz LTAxLTE3IDE2OjI5OjI2LjM2ODA5MDA3MyArMDEwMAotKysrIGNocm9taXVtLTEwOS4wLjU0MTQu NzQvYmFzZS9kZWJ1Zy9wcm9maWxlci5oCTIwMjMtMDEtMTcgMTY6NTk6NDEuMTkwNjI4Njc5ICsw MTAwCi1AQCAtNyw2ICs3LDcgQEAKLSAKLSAjaW5jbHVkZSA8c3RkZGVmLmg+Ci0gCi0rI2luY2x1 ZGUgPGNzdGRpbnQ+Ci0gI2luY2x1ZGUgPHN0cmluZz4KLSAKLSAjaW5jbHVkZSAiYmFzZS9iYXNl X2V4cG9ydC5oIgotZGlmZiAtdXAgY2hyb21pdW0tMTA5LjAuNTQxNC43NC9ncHUvY29uZmlnL2dw dV9mZWF0dXJlX2luZm8uaC5tZSBjaHJvbWl1bS0xMDkuMC41NDE0Ljc0L2dwdS9jb25maWcvZ3B1 X2ZlYXR1cmVfaW5mby5oCi0tLS0gY2hyb21pdW0tMTA5LjAuNTQxNC43NC9ncHUvY29uZmlnL2dw dV9mZWF0dXJlX2luZm8uaC5tZQkyMDIzLTAxLTE3IDE5OjA2OjUzLjUzMDY3NTEyOSArMDEwMAot KysrIGNocm9taXVtLTEwOS4wLjU0MTQuNzQvZ3B1L2NvbmZpZy9ncHVfZmVhdHVyZV9pbmZvLmgJ MjAyMy0wMS0xNyAxOTowNzowOC44NzQ4NDk4NzkgKzAxMDAKLUBAIC01LDYgKzUsNyBAQAotICNp Zm5kZWYgR1BVX0NPTkZJR19HUFVfRkVBVFVSRV9JTkZPX0hfCi0gI2RlZmluZSBHUFVfQ09ORklH X0dQVV9GRUFUVVJFX0lORk9fSF8KLSAKLSsjaW5jbHVkZSA8Y3N0ZGludD4KLSAjaW5jbHVkZSA8 c3RyaW5nPgotICNpbmNsdWRlIDx2ZWN0b3I+Ci0gCi1kaWZmIC11cCBjaHJvbWl1bS0xMDkuMC41 NDE0Ljc0L25ldC9iYXNlL25ldF9leHBvcnQuaC5tZSBjaHJvbWl1bS0xMDkuMC41NDE0Ljc0L25l dC9iYXNlL25ldF9leHBvcnQuaAotLS0tIGNocm9taXVtLTEwOS4wLjU0MTQuNzQvbmV0L2Jhc2Uv bmV0X2V4cG9ydC5oLm1lCTIwMjMtMDEtMTcgMTg6MTY6MzQuMTMzODU0NjE1ICswMTAwCi0rKysg Y2hyb21pdW0tMTA5LjAuNTQxNC43NC9uZXQvYmFzZS9uZXRfZXhwb3J0LmgJMjAyMy0wMS0xNyAx ODoxNjoxNS45NDU2MjMxNTMgKzAxMDAKLUBAIC01LDYgKzUsOCBAQAotICNpZm5kZWYgTkVUX0JB U0VfTkVUX0VYUE9SVF9IXwotICNkZWZpbmUgTkVUX0JBU0VfTkVUX0VYUE9SVF9IXwotIAotKyNp bmNsdWRlIDxjc3RkaW50PgotKwotIC8vIERlZmluZXMgTkVUX0VYUE9SVCBzbyB0aGF0IGZ1bmN0 aW9uYWxpdHkgaW1wbGVtZW50ZWQgYnkgdGhlIG5ldCBtb2R1bGUgY2FuCi0gLy8gYmUgZXhwb3J0 ZWQgdG8gY29uc3VtZXJzLCBhbmQgTkVUX0VYUE9SVF9QUklWQVRFIHRoYXQgYWxsb3dzIHVuaXQg dGVzdHMgdG8KLSAvLyBhY2Nlc3MgZmVhdHVyZXMgbm90IGludGVuZGVkIHRvIGJlIHVzZWQgZGly ZWN0bHkgYnkgcmVhbCBjb25zdW1lcnMuCi1kaWZmIC11cCBjaHJvbWl1bS0xMDkuMC41NDE0Ljc0 L3NhbmRib3gvbGludXgvc3lzY2FsbF9icm9rZXIvYnJva2VyX2ZpbGVfcGVybWlzc2lvbi5oLm1l IGNocm9taXVtLTEwOS4wLjU0MTQuNzQvc2FuZGJveC9saW51eC9zeXNjYWxsX2Jyb2tlci9icm9r ZXJfZmlsZV9wZXJtaXNzaW9uLmgKLS0tLSBjaHJvbWl1bS0xMDkuMC41NDE0Ljc0L3NhbmRib3gv bGludXgvc3lzY2FsbF9icm9rZXIvYnJva2VyX2ZpbGVfcGVybWlzc2lvbi5oLm1lCTIwMjMtMDEt MTcgMTc6MTI6MzQuMTg0Njg2NTE1ICswMTAwCi0rKysgY2hyb21pdW0tMTA5LjAuNTQxNC43NC9z YW5kYm94L2xpbnV4L3N5c2NhbGxfYnJva2VyL2Jyb2tlcl9maWxlX3Blcm1pc3Npb24uaAkyMDIz LTAxLTE3IDE3OjEzOjE2LjUzNzE2MjQyMCArMDEwMAotQEAgLTUsNiArNSw3IEBACi0gI2lmbmRl ZiBTQU5EQk9YX0xJTlVYX1NZU0NBTExfQlJPS0VSX0JST0tFUl9GSUxFX1BFUk1JU1NJT05fSF8K LSAjZGVmaW5lIFNBTkRCT1hfTElOVVhfU1lTQ0FMTF9CUk9LRVJfQlJPS0VSX0ZJTEVfUEVSTUlT U0lPTl9IXwotIAotKyNpbmNsdWRlIDxjc3RkaW50PgotICNpbmNsdWRlIDxiaXRzZXQ+Ci0gI2lu Y2x1ZGUgPHN0cmluZz4KLSAKLWRpZmYgLXVwIGNocm9taXVtLTEwOS4wLjU0MTQuNzQvdGhpcmRf cGFydHkvYWJzZWlsLWNwcC9hYnNsL3N0cmluZ3Mvc3RyaW5nX3ZpZXcuaC5tZSBjaHJvbWl1bS0x MDkuMC41NDE0Ljc0L3RoaXJkX3BhcnR5L2Fic2VpbC1jcHAvYWJzbC9zdHJpbmdzL3N0cmluZ192 aWV3LmgKLS0tLSBjaHJvbWl1bS0xMDkuMC41NDE0Ljc0L3RoaXJkX3BhcnR5L2Fic2VpbC1jcHAv YWJzbC9zdHJpbmdzL3N0cmluZ192aWV3LmgubWUJMjAyMy0wMS0xNyAxNzozMzoyMC44OTU3MTcz MDcgKzAxMDAKLSsrKyBjaHJvbWl1bS0xMDkuMC41NDE0Ljc0L3RoaXJkX3BhcnR5L2Fic2VpbC1j cHAvYWJzbC9zdHJpbmdzL3N0cmluZ192aWV3LmgJMjAyMy0wMS0xNyAxNzozNDowMy40NTYxODUz NjUgKzAxMDAKLUBAIC0yNyw2ICsyNyw3IEBACi0gI2lmbmRlZiBBQlNMX1NUUklOR1NfU1RSSU5H X1ZJRVdfSF8KLSAjZGVmaW5lIEFCU0xfU1RSSU5HU19TVFJJTkdfVklFV19IXwotIAotKyNpbmNs dWRlIDxjc3RkaW50PgotICNpbmNsdWRlIDxhbGdvcml0aG0+Ci0gI2luY2x1ZGUgPGNhc3NlcnQ+ Ci0gI2luY2x1ZGUgPGNzdGRkZWY+Ci1kaWZmIC11cCBjaHJvbWl1bS0xMDkuMC41NDE0Ljc0L3Ro aXJkX3BhcnR5L2FuZ2xlL2luY2x1ZGUvR0xTTEFORy9TaGFkZXJWYXJzLmgubWUgY2hyb21pdW0t MTA5LjAuNTQxNC43NC90aGlyZF9wYXJ0eS9hbmdsZS9pbmNsdWRlL0dMU0xBTkcvU2hhZGVyVmFy cy5oCi0tLS0gY2hyb21pdW0tMTA5LjAuNTQxNC43NC90aGlyZF9wYXJ0eS9hbmdsZS9pbmNsdWRl L0dMU0xBTkcvU2hhZGVyVmFycy5oLm1lCTIwMjMtMDEtMTcgMTc6MzY6MTUuMDE3NjE2MjUwICsw MTAwCi0rKysgY2hyb21pdW0tMTA5LjAuNTQxNC43NC90aGlyZF9wYXJ0eS9hbmdsZS9pbmNsdWRl L0dMU0xBTkcvU2hhZGVyVmFycy5oCTIwMjMtMDEtMTcgMTc6MzY6NDguOTYwOTgyMTk1ICswMTAw Ci1AQCAtMTAsNiArMTAsNyBAQAotICNpZm5kZWYgR0xTTEFOR19TSEFERVJWQVJTX0hfCi0gI2Rl ZmluZSBHTFNMQU5HX1NIQURFUlZBUlNfSF8KLSAKLSsjaW5jbHVkZSA8Y3N0ZGludD4KLSAjaW5j bHVkZSA8YWxnb3JpdGhtPgotICNpbmNsdWRlIDxhcnJheT4KLSAjaW5jbHVkZSA8c3RyaW5nPgot ZGlmZiAtdXAgY2hyb21pdW0tMTA5LjAuNTQxNC43NC90aGlyZF9wYXJ0eS9ibGluay9wdWJsaWMv Y29tbW9uL2JsdWV0b290aC93ZWJfYmx1ZXRvb3RoX2RldmljZV9pZC5oLm1lIGNocm9taXVtLTEw OS4wLjU0MTQuNzQvdGhpcmRfcGFydHkvYmxpbmsvcHVibGljL2NvbW1vbi9ibHVldG9vdGgvd2Vi X2JsdWV0b290aF9kZXZpY2VfaWQuaAotLS0tIGNocm9taXVtLTEwOS4wLjU0MTQuNzQvdGhpcmRf cGFydHkvYmxpbmsvcHVibGljL2NvbW1vbi9ibHVldG9vdGgvd2ViX2JsdWV0b290aF9kZXZpY2Vf aWQuaC5tZQkyMDIzLTAxLTE3IDE5OjE3OjQwLjQ4MDg3NjE3MSArMDEwMAotKysrIGNocm9taXVt LTEwOS4wLjU0MTQuNzQvdGhpcmRfcGFydHkvYmxpbmsvcHVibGljL2NvbW1vbi9ibHVldG9vdGgv d2ViX2JsdWV0b290aF9kZXZpY2VfaWQuaAkyMDIzLTAxLTE3IDE5OjE3OjQ2LjgwMzk1ODMyMCAr MDEwMAotQEAgLTUsNiArNSw3IEBACi0gI2lmbmRlZiBUSElSRF9QQVJUWV9CTElOS19QVUJMSUNf Q09NTU9OX0JMVUVUT09USF9XRUJfQkxVRVRPT1RIX0RFVklDRV9JRF9IXwotICNkZWZpbmUgVEhJ UkRfUEFSVFlfQkxJTktfUFVCTElDX0NPTU1PTl9CTFVFVE9PVEhfV0VCX0JMVUVUT09USF9ERVZJ Q0VfSURfSF8KLSAKLSsjaW5jbHVkZSA8Y3N0ZGludD4KLSAjaW5jbHVkZSA8YXJyYXk+Ci0gI2lu Y2x1ZGUgPHN0cmluZz4KLSAKLWRpZmYgLXVwIGNocm9taXVtLTExNy4wLjU5MzguNDgvdGhpcmRf cGFydHkvZGF3bi9zcmMvdGludC9sYW5nL3NwaXJ2L3JlYWRlci9hc3RfcGFyc2VyL25hbWVyLmgu bWUgY2hyb21pdW0tMTE3LjAuNTkzOC40OC90aGlyZF9wYXJ0eS9kYXduL3NyYy90aW50L2xhbmcv c3BpcnYvcmVhZGVyL2FzdF9wYXJzZXIvbmFtZXIuaAotLS0tIGNocm9taXVtLTExNy4wLjU5Mzgu NDgvdGhpcmRfcGFydHkvZGF3bi9zcmMvdGludC9sYW5nL3NwaXJ2L3JlYWRlci9hc3RfcGFyc2Vy L25hbWVyLmgubWUJMjAyMy0wMS0xNyAxODowMjo0NC42ODE1MzgxMDcgKzAxMDAKLSsrKyBjaHJv bWl1bS0xMTcuMC41OTM4LjQ4L3RoaXJkX3BhcnR5L2Rhd24vc3JjL3RpbnQvbGFuZy9zcGlydi9y ZWFkZXIvYXN0X3BhcnNlci9uYW1lci5oCTIwMjMtMDEtMTcgMTg6MDI6NTcuMjA4Njc5MTQwICsw MTAwCi1AQCAtMTUsNiArMTUsNyBAQAotICNpZm5kZWYgU1JDX1RJTlRfUkVBREVSX1NQSVJWX05B TUVSX0hfCi0gI2RlZmluZSBTUkNfVElOVF9SRUFERVJfU1BJUlZfTkFNRVJfSF8KLSAKLSsjaW5j bHVkZSA8Y3N0ZGludD4KLSAjaW5jbHVkZSA8c3RyaW5nPgotICNpbmNsdWRlIDx1bm9yZGVyZWRf bWFwPgotICNpbmNsdWRlIDx2ZWN0b3I+Ci1kaWZmIC11cCBjaHJvbWl1bS0xMDkuMC41NDE0Ljc0 L3RoaXJkX3BhcnR5L29wZW5zY3JlZW4vc3JjL2Rpc2NvdmVyeS9kbnNzZC9wdWJsaWMvZG5zX3Nk X3R4dF9yZWNvcmQuaC5tZSBjaHJvbWl1bS0xMDkuMC41NDE0Ljc0L3RoaXJkX3BhcnR5L29wZW5z Y3JlZW4vc3JjL2Rpc2NvdmVyeS9kbnNzZC9wdWJsaWMvZG5zX3NkX3R4dF9yZWNvcmQuaAotLS0t IGNocm9taXVtLTEwOS4wLjU0MTQuNzQvdGhpcmRfcGFydHkvb3BlbnNjcmVlbi9zcmMvZGlzY292 ZXJ5L2Ruc3NkL3B1YmxpYy9kbnNfc2RfdHh0X3JlY29yZC5oLm1lCTIwMjMtMDEtMTggMTU6MjI6 MzguNDcyOTQwNjQ4ICswMTAwCi0rKysgY2hyb21pdW0tMTA5LjAuNTQxNC43NC90aGlyZF9wYXJ0 eS9vcGVuc2NyZWVuL3NyYy9kaXNjb3ZlcnkvZG5zc2QvcHVibGljL2Ruc19zZF90eHRfcmVjb3Jk LmgJMjAyMy0wMS0xOCAxNToyMzowOS4zODAyNTUxMDEgKzAxMDAKLUBAIC01LDYgKzUsNyBAQAot ICNpZm5kZWYgRElTQ09WRVJZX0ROU1NEX1BVQkxJQ19ETlNfU0RfVFhUX1JFQ09SRF9IXwotICNk ZWZpbmUgRElTQ09WRVJZX0ROU1NEX1BVQkxJQ19ETlNfU0RfVFhUX1JFQ09SRF9IXwotIAotKyNp bmNsdWRlIDxjc3RkaW50PgotICNpbmNsdWRlIDxmdW5jdGlvbmFsPgotICNpbmNsdWRlIDxtYXA+ Ci0gI2luY2x1ZGUgPHNldD4KLWRpZmYgLXVwIGNocm9taXVtLTEwOS4wLjU0MTQuNzQvdGhpcmRf cGFydHkvc3dpZnRzaGFkZXIvc3JjL1N5c3RlbS9MUlVDYWNoZS5ocHAubWUgY2hyb21pdW0tMTA5 LjAuNTQxNC43NC90aGlyZF9wYXJ0eS9zd2lmdHNoYWRlci9zcmMvU3lzdGVtL0xSVUNhY2hlLmhw cAotLS0tIGNocm9taXVtLTEwOS4wLjU0MTQuNzQvdGhpcmRfcGFydHkvc3dpZnRzaGFkZXIvc3Jj L1N5c3RlbS9MUlVDYWNoZS5ocHAubWUJMjAyMy0wMS0xNyAxNTozNzo0OC41MzA2MjY1MTYgKzAx MDAKLSsrKyBjaHJvbWl1bS0xMDkuMC41NDE0Ljc0L3RoaXJkX3BhcnR5L3N3aWZ0c2hhZGVyL3Ny Yy9TeXN0ZW0vTFJVQ2FjaGUuaHBwCTIwMjMtMDEtMTcgMTY6NTc6NDYuMDI1NTQ4MDkyICswMTAw Ci1AQCAtMTcsNiArMTcsNyBAQAotIAotICNpbmNsdWRlICJTeXN0ZW0vRGVidWcuaHBwIgotIAot KyNpbmNsdWRlIDxjc3RkaW50PgotICNpbmNsdWRlIDxjc3RkZGVmPgotICNpbmNsdWRlIDxmdW5j dGlvbmFsPgotICNpbmNsdWRlIDx1bm9yZGVyZWRfc2V0PgotZGlmZiAtdXAgY2hyb21pdW0tMTA5 LjAuNTQxNC43NC90aGlyZF9wYXJ0eS92dWxrYW5fbWVtb3J5X2FsbG9jYXRvci9pbmNsdWRlL3Zr X21lbV9hbGxvYy5oLm1lIGNocm9taXVtLTEwOS4wLjU0MTQuNzQvdGhpcmRfcGFydHkvdnVsa2Fu X21lbW9yeV9hbGxvY2F0b3IvaW5jbHVkZS92a19tZW1fYWxsb2MuaAotLS0tIGNocm9taXVtLTEw OS4wLjU0MTQuNzQvdGhpcmRfcGFydHkvdnVsa2FuX21lbW9yeV9hbGxvY2F0b3IvaW5jbHVkZS92 a19tZW1fYWxsb2MuaC5tZQkyMDIzLTAxLTE3IDE1OjQwOjIzLjg1NDM4NjIwNiArMDEwMAotKysr IGNocm9taXVtLTEwOS4wLjU0MTQuNzQvdGhpcmRfcGFydHkvdnVsa2FuX21lbW9yeV9hbGxvY2F0 b3IvaW5jbHVkZS92a19tZW1fYWxsb2MuaAkyMDIzLTAxLTE3IDE2OjU4OjE5LjM5Nzg2Mjg4NSAr MDEwMAotQEAgLTIzODgsNiArMjM4OCw3IEBAIFZNQV9DQUxMX1BSRSB2b2lkIFZNQV9DQUxMX1BP U1Qgdm1hRnJlZVYKLSAjaWZkZWYgVk1BX0lNUExFTUVOVEFUSU9ODQotICN1bmRlZiBWTUFfSU1Q TEVNRU5UQVRJT04NCi0gDQotKyNpbmNsdWRlIDxjc3RkaW8+DQotICNpbmNsdWRlIDxjc3RkaW50 Pg0KLSAjaW5jbHVkZSA8Y3N0ZGxpYj4NCi0gI2luY2x1ZGUgPGNzdHJpbmc+DQotZGlmZiAtdXAg Y2hyb21pdW0tMTA5LjAuNTQxNC43NC91aS9nZngvZ2VvbWV0cnkvbGluZWFyX2dyYWRpZW50Lmgu bWUgY2hyb21pdW0tMTA5LjAuNTQxNC43NC91aS9nZngvZ2VvbWV0cnkvbGluZWFyX2dyYWRpZW50 LmgKLS0tLSBjaHJvbWl1bS0xMDkuMC41NDE0Ljc0L3VpL2dmeC9nZW9tZXRyeS9saW5lYXJfZ3Jh ZGllbnQuaC5tZQkyMDIzLTAxLTE3IDE4OjA4OjI1Ljc0NTQ5MTM1MyArMDEwMAotKysrIGNocm9t aXVtLTEwOS4wLjU0MTQuNzQvdWkvZ2Z4L2dlb21ldHJ5L2xpbmVhcl9ncmFkaWVudC5oCTIwMjMt MDEtMTcgMTg6MDg6MzUuNzc3NjY3NjMyICswMTAwCi1AQCAtNSw2ICs1LDcgQEAKLSAjaWZuZGVm IFVJX0dGWF9MSU5FQVJfR1JBRElFTlRfSF8KLSAjZGVmaW5lIFVJX0dGWF9MSU5FQVJfR1JBRElF TlRfSF8KLSAKLSsjaW5jbHVkZSA8Y3N0ZGludD4KLSAjaW5jbHVkZSA8YXJyYXk+Ci0gI2luY2x1 ZGUgPHN0cmluZz4KLSAKLWRpZmYgLXVwIGNocm9taXVtLTEwOS4wLjU0MTQuNzQvdGhpcmRfcGFy dHkvcnV5L3NyYy9ydXkvcHJvZmlsZXIvaW5zdHJ1bWVudGF0aW9uLmgubWUgY2hyb21pdW0tMTA5 LjAuNTQxNC43NC90aGlyZF9wYXJ0eS9ydXkvc3JjL3J1eS9wcm9maWxlci9pbnN0cnVtZW50YXRp b24uaAotLS0tIGNocm9taXVtLTEwOS4wLjU0MTQuNzQvdGhpcmRfcGFydHkvcnV5L3NyYy9ydXkv cHJvZmlsZXIvaW5zdHJ1bWVudGF0aW9uLmgubWUJMjAyMy0wMS0xOSAxMDoxMDoyMS4yODc4NzY3 MzYgKzAxMDAKLSsrKyBjaHJvbWl1bS0xMDkuMC41NDE0Ljc0L3RoaXJkX3BhcnR5L3J1eS9zcmMv cnV5L3Byb2ZpbGVyL2luc3RydW1lbnRhdGlvbi5oCTIwMjMtMDEtMTkgMTA6MTE6MjEuNzE0Nzc4 ODk2ICswMTAwCi1AQCAtMTcsNiArMTcsNyBAQCBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5z ZS4KLSAjZGVmaW5lIFJVWV9SVVlfUFJPRklMRVJfSU5TVFJVTUVOVEFUSU9OX0hfCi0gCi0gI2lm ZGVmIFJVWV9QUk9GSUxFUgotKyNpbmNsdWRlIDxzdHJpbmc+Ci0gI2luY2x1ZGUgPGNzdGRpbz4K LSAjaW5jbHVkZSA8bXV0ZXg+Ci0gI2luY2x1ZGUgPHZlY3Rvcj4KLWRpZmYgLXVwIGNocm9taXVt LTEwOS4wLjU0MTQuNzQvdGhpcmRfcGFydHkvdGZsaXRlL3NyYy90ZW5zb3JmbG93L2xpdGUva2Vy bmVscy9pbnRlcm5hbC9zcGVjdHJvZ3JhbS5oLm1lIGNocm9taXVtLTEwOS4wLjU0MTQuNzQvdGhp cmRfcGFydHkvdGZsaXRlL3NyYy90ZW5zb3JmbG93L2xpdGUva2VybmVscy9pbnRlcm5hbC9zcGVj dHJvZ3JhbS5oCi0tLS0gY2hyb21pdW0tMTA5LjAuNTQxNC43NC90aGlyZF9wYXJ0eS90ZmxpdGUv c3JjL3RlbnNvcmZsb3cvbGl0ZS9rZXJuZWxzL2ludGVybmFsL3NwZWN0cm9ncmFtLmgubWUJMjAy My0wMS0xOSAxMDozMDoyNy41MzM4NjE5ODUgKzAxMDAKLSsrKyBjaHJvbWl1bS0xMDkuMC41NDE0 Ljc0L3RoaXJkX3BhcnR5L3RmbGl0ZS9zcmMvdGVuc29yZmxvdy9saXRlL2tlcm5lbHMvaW50ZXJu YWwvc3BlY3Ryb2dyYW0uaAkyMDIzLTAxLTE5IDEwOjMxOjEyLjU4NTU1NDE4MyArMDEwMAotQEAg LTMxLDYgKzMxLDcgQEAgbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuCi0gI2lmbmRlZiBU RU5TT1JGTE9XX0xJVEVfS0VSTkVMU19JTlRFUk5BTF9TUEVDVFJPR1JBTV9IXwotICNkZWZpbmUg VEVOU09SRkxPV19MSVRFX0tFUk5FTFNfSU5URVJOQUxfU1BFQ1RST0dSQU1fSF8KLSAKLSsjaW5j bHVkZSA8Y3N0ZGludD4KLSAjaW5jbHVkZSA8Y29tcGxleD4KLSAjaW5jbHVkZSA8ZGVxdWU+Ci0g I2luY2x1ZGUgPHZlY3Rvcj4KLWRpZmYgLXVwIGNocm9taXVtLTEwOS4wLjU0MTQuNzQvYmFzZS9j b250YWluZXJzL2ZsYXRfbWFwLmgubWVlIGNocm9taXVtLTEwOS4wLjU0MTQuNzQvYmFzZS9jb250 YWluZXJzL2ZsYXRfbWFwLmgKLS0tLSBjaHJvbWl1bS0xMDkuMC41NDE0Ljc0L2Jhc2UvY29udGFp bmVycy9mbGF0X21hcC5oLm1lZQkyMDIzLTAxLTE5IDEwOjU5OjUyLjIxNDk1Nzc3MyArMDEwMAot KysrIGNocm9taXVtLTEwOS4wLjU0MTQuNzQvYmFzZS9jb250YWluZXJzL2ZsYXRfbWFwLmgJMjAy My0wMS0xOSAxMTowMDowNi40MTUyMTUzMDkgKzAxMDAKLUBAIC01LDYgKzUsNyBAQAotICNpZm5k ZWYgQkFTRV9DT05UQUlORVJTX0ZMQVRfTUFQX0hfCi0gI2RlZmluZSBCQVNFX0NPTlRBSU5FUlNf RkxBVF9NQVBfSF8KLSAKLSsjaW5jbHVkZSA8Y3N0ZGludD4KLSAjaW5jbHVkZSA8ZnVuY3Rpb25h bD4KLSAjaW5jbHVkZSA8dHVwbGU+Ci0gI2luY2x1ZGUgPHV0aWxpdHk+Ci1kaWZmIC11cCBjaHJv bWl1bS0xMDkuMC41NDE0Ljc0L2NvbXBvbmVudHMvY3Jhc2gvY29yZS9hcHAvY3Jhc2hfcmVwb3J0 ZXJfY2xpZW50LmgubWVlIGNocm9taXVtLTEwOS4wLjU0MTQuNzQvY29tcG9uZW50cy9jcmFzaC9j b3JlL2FwcC9jcmFzaF9yZXBvcnRlcl9jbGllbnQuaAotLS0tIGNocm9taXVtLTEwOS4wLjU0MTQu NzQvY29tcG9uZW50cy9jcmFzaC9jb3JlL2FwcC9jcmFzaF9yZXBvcnRlcl9jbGllbnQuaC5tZWUJ MjAyMy0wMS0xOSAxMDozNjo0MC41NzE0MjI4MjYgKzAxMDAKLSsrKyBjaHJvbWl1bS0xMDkuMC41 NDE0Ljc0L2NvbXBvbmVudHMvY3Jhc2gvY29yZS9hcHAvY3Jhc2hfcmVwb3J0ZXJfY2xpZW50LmgJ MjAyMy0wMS0xOSAxMDozNjo0OS4zNDM1NjUyOTQgKzAxMDAKLUBAIC01LDYgKzUsNyBAQAotICNp Zm5kZWYgQ09NUE9ORU5UU19DUkFTSF9DT1JFX0FQUF9DUkFTSF9SRVBPUlRFUl9DTElFTlRfSF8K LSAjZGVmaW5lIENPTVBPTkVOVFNfQ1JBU0hfQ09SRV9BUFBfQ1JBU0hfUkVQT1JURVJfQ0xJRU5U X0hfCi0gCi0rI2luY2x1ZGUgPGNzdGRpbnQ+Ci0gI2luY2x1ZGUgPHN0cmluZz4KLSAKLSAjaW5j bHVkZSAiYnVpbGQvYnVpbGRfY29uZmlnLmgiCi1kaWZmIC11cCBjaHJvbWl1bS0xMDkuMC41NDE0 Ljc0L3VpL2Jhc2UvcHJlZGljdGlvbi9rYWxtYW5fZmlsdGVyLmgubWVlIGNocm9taXVtLTEwOS4w LjU0MTQuNzQvdWkvYmFzZS9wcmVkaWN0aW9uL2thbG1hbl9maWx0ZXIuaAotLS0tIGNocm9taXVt LTEwOS4wLjU0MTQuNzQvdWkvYmFzZS9wcmVkaWN0aW9uL2thbG1hbl9maWx0ZXIuaC5tZWUJMjAy My0wMS0xOSAxMTo0NToxNS45NTMxNTk3NTUgKzAxMDAKLSsrKyBjaHJvbWl1bS0xMDkuMC41NDE0 Ljc0L3VpL2Jhc2UvcHJlZGljdGlvbi9rYWxtYW5fZmlsdGVyLmgJMjAyMy0wMS0xOSAxMTo0NToy Mi4zMjAyNDYyNDEgKzAxMDAKLUBAIC01LDYgKzUsOCBAQAotICNpZm5kZWYgVUlfQkFTRV9QUkVE SUNUSU9OX0tBTE1BTl9GSUxURVJfSF8KLSAjZGVmaW5lIFVJX0JBU0VfUFJFRElDVElPTl9LQUxN QU5fRklMVEVSX0hfCi0gCi0rI2luY2x1ZGUgPGNzdGRpbnQ+Ci0rCi0gI2luY2x1ZGUgImJhc2Uv Y29tcG9uZW50X2V4cG9ydC5oIgotICNpbmNsdWRlICJ1aS9nZngvZ2VvbWV0cnkvbWF0cml4M19m LmgiCi0gCi1kaWZmIC11cCBjaHJvbWl1bS0xMDkuMC41NDE0Ljc0L2NvbXBvbmVudHMvcGFzc3dv cmRfbWFuYWdlci9jb3JlL2Jyb3dzZXIvZ2VuZXJhdGlvbi9wYXNzd29yZF9nZW5lcmF0b3IuaC5t ZSBjaHJvbWl1bS0xMDkuMC41NDE0Ljc0L2NvbXBvbmVudHMvcGFzc3dvcmRfbWFuYWdlci9jb3Jl L2Jyb3dzZXIvZ2VuZXJhdGlvbi9wYXNzd29yZF9nZW5lcmF0b3IuaAotLS0tIGNocm9taXVtLTEw OS4wLjU0MTQuNzQvY29tcG9uZW50cy9wYXNzd29yZF9tYW5hZ2VyL2NvcmUvYnJvd3Nlci9nZW5l cmF0aW9uL3Bhc3N3b3JkX2dlbmVyYXRvci5oLm1lCTIwMjMtMDEtMTkgMTU6MjA6MDcuNjIwOTg3 OTQ5ICswMTAwCi0rKysgY2hyb21pdW0tMTA5LjAuNTQxNC43NC9jb21wb25lbnRzL3Bhc3N3b3Jk X21hbmFnZXIvY29yZS9icm93c2VyL2dlbmVyYXRpb24vcGFzc3dvcmRfZ2VuZXJhdG9yLmgJMjAy My0wMS0xOSAxNToyMDoxOC4zMjQxNzM3MDIgKzAxMDAKLUBAIC01LDYgKzUsNyBAQAotICNpZm5k ZWYgQ09NUE9ORU5UU19QQVNTV09SRF9NQU5BR0VSX0NPUkVfQlJPV1NFUl9HRU5FUkFUSU9OX1BB U1NXT1JEX0dFTkVSQVRPUl9IXwotICNkZWZpbmUgQ09NUE9ORU5UU19QQVNTV09SRF9NQU5BR0VS X0NPUkVfQlJPV1NFUl9HRU5FUkFUSU9OX1BBU1NXT1JEX0dFTkVSQVRPUl9IXwotIAotKyNpbmNs dWRlIDxjc3RkaW50PgotICNpbmNsdWRlIDxzdHJpbmc+Ci0gCi0gCi1kaWZmIC11cCBjaHJvbWl1 bS0xMDkuMC41NDE0Ljc0L2NvbXBvbmVudHMvZmVhdHVyZV9lbmdhZ2VtZW50L2ludGVybmFsL2V2 ZW50X3N0b3JhZ2VfdmFsaWRhdG9yLmgubWUgY2hyb21pdW0tMTA5LjAuNTQxNC43NC9jb21wb25l bnRzL2ZlYXR1cmVfZW5nYWdlbWVudC9pbnRlcm5hbC9ldmVudF9zdG9yYWdlX3ZhbGlkYXRvci5o Ci0tLS0gY2hyb21pdW0tMTA5LjAuNTQxNC43NC9jb21wb25lbnRzL2ZlYXR1cmVfZW5nYWdlbWVu dC9pbnRlcm5hbC9ldmVudF9zdG9yYWdlX3ZhbGlkYXRvci5oLm1lCTIwMjMtMDEtMTkgMTY6MDA6 MTQuMzUwMTg2NTE1ICswMTAwCi0rKysgY2hyb21pdW0tMTA5LjAuNTQxNC43NC9jb21wb25lbnRz L2ZlYXR1cmVfZW5nYWdlbWVudC9pbnRlcm5hbC9ldmVudF9zdG9yYWdlX3ZhbGlkYXRvci5oCTIw MjMtMDEtMTkgMTY6MDA6MjEuNjQzMzA3OTkzICswMTAwCi1AQCAtNSw2ICs1LDcgQEAKLSAjaWZu ZGVmIENPTVBPTkVOVFNfRkVBVFVSRV9FTkdBR0VNRU5UX0lOVEVSTkFMX0VWRU5UX1NUT1JBR0Vf VkFMSURBVE9SX0hfCi0gI2RlZmluZSBDT01QT05FTlRTX0ZFQVRVUkVfRU5HQUdFTUVOVF9JTlRF Uk5BTF9FVkVOVF9TVE9SQUdFX1ZBTElEQVRPUl9IXwotIAotKyNpbmNsdWRlIDxjc3RkaW50Pgot ICNpbmNsdWRlIDxzdHJpbmc+Ci0gCi0gbmFtZXNwYWNlIGZlYXR1cmVfZW5nYWdlbWVudCB7Ci1k aWZmIC11cCBjaHJvbWl1bS0xMDkuMC41NDE0Ljc0L2NvbXBvbmVudHMvZmVhdHVyZV9lbmdhZ2Vt ZW50L2ludGVybmFsL25ldmVyX2V2ZW50X3N0b3JhZ2VfdmFsaWRhdG9yLmgubWUgY2hyb21pdW0t MTA5LjAuNTQxNC43NC9jb21wb25lbnRzL2ZlYXR1cmVfZW5nYWdlbWVudC9pbnRlcm5hbC9uZXZl cl9ldmVudF9zdG9yYWdlX3ZhbGlkYXRvci5oCi0tLS0gY2hyb21pdW0tMTA5LjAuNTQxNC43NC9j b21wb25lbnRzL2ZlYXR1cmVfZW5nYWdlbWVudC9pbnRlcm5hbC9uZXZlcl9ldmVudF9zdG9yYWdl X3ZhbGlkYXRvci5oLm1lCTIwMjMtMDEtMTkgMTU6NTk6MTguMjEwMjM5NDE2ICswMTAwCi0rKysg Y2hyb21pdW0tMTA5LjAuNTQxNC43NC9jb21wb25lbnRzL2ZlYXR1cmVfZW5nYWdlbWVudC9pbnRl cm5hbC9uZXZlcl9ldmVudF9zdG9yYWdlX3ZhbGlkYXRvci5oCTIwMjMtMDEtMTkgMTU6NTk6MzQu NTEzNTE1MDMwICswMTAwCi1AQCAtNSw2ICs1LDcgQEAKLSAjaWZuZGVmIENPTVBPTkVOVFNfRkVB VFVSRV9FTkdBR0VNRU5UX0lOVEVSTkFMX05FVkVSX0VWRU5UX1NUT1JBR0VfVkFMSURBVE9SX0hf Ci0gI2RlZmluZSBDT01QT05FTlRTX0ZFQVRVUkVfRU5HQUdFTUVOVF9JTlRFUk5BTF9ORVZFUl9F VkVOVF9TVE9SQUdFX1ZBTElEQVRPUl9IXwotIAotKyNpbmNsdWRlIDxjc3RkaW50PgotICNpbmNs dWRlIDxzdHJpbmc+Ci0gCi0gI2luY2x1ZGUgImNvbXBvbmVudHMvZmVhdHVyZV9lbmdhZ2VtZW50 L2ludGVybmFsL2V2ZW50X3N0b3JhZ2VfdmFsaWRhdG9yLmgiCi1kaWZmIC11cCBjaHJvbWl1bS0x MDkuMC41NDE0Ljc0L3RoaXJkX3BhcnR5L3N3aWZ0c2hhZGVyL3RoaXJkX3BhcnR5L2xsdm0tMTAu MC9sbHZtL2xpYi9TdXBwb3J0L1VuaXgvU2lnbmFscy5pbmMubWUgY2hyb21pdW0tMTA5LjAuNTQx NC43NC90aGlyZF9wYXJ0eS9zd2lmdHNoYWRlci90aGlyZF9wYXJ0eS9sbHZtLTEwLjAvbGx2bS9s aWIvU3VwcG9ydC9Vbml4L1NpZ25hbHMuaW5jCi0tLS0gY2hyb21pdW0tMTA5LjAuNTQxNC43NC90 aGlyZF9wYXJ0eS9zd2lmdHNoYWRlci90aGlyZF9wYXJ0eS9sbHZtLTEwLjAvbGx2bS9saWIvU3Vw cG9ydC9Vbml4L1NpZ25hbHMuaW5jLm1lCTIwMjMtMDEtMTkgMTY6MDk6MjkuMjE2NDc3MTgyICsw MTAwCi0rKysgY2hyb21pdW0tMTA5LjAuNTQxNC43NC90aGlyZF9wYXJ0eS9zd2lmdHNoYWRlci90 aGlyZF9wYXJ0eS9sbHZtLTEwLjAvbGx2bS9saWIvU3VwcG9ydC9Vbml4L1NpZ25hbHMuaW5jCTIw MjMtMDEtMTkgMTY6MTA6MDUuNjU3MDg5MjA4ICswMTAwCi1AQCAtNDUsNiArNDUsNyBAQAotICNp bmNsdWRlICJsbHZtL1N1cHBvcnQvU2F2ZUFuZFJlc3RvcmUuaCIKLSAjaW5jbHVkZSAibGx2bS9T dXBwb3J0L3Jhd19vc3RyZWFtLmgiCi0gI2luY2x1ZGUgPGFsZ29yaXRobT4KLSsjaW5jbHVkZSA8 Y3N0ZGludD4KLSAjaW5jbHVkZSA8c3RyaW5nPgotICNpbmNsdWRlIDxzeXNleGl0cy5oPgotICNp ZmRlZiBIQVZFX0JBQ0tUUkFDRQotZGlmZiAtdXAgY2hyb21pdW0tMTA5LjAuNTQxNC43NC9jaHJv bWUvYnJvd3Nlci9wcml2YWN5X2J1ZGdldC9lbmNvdW50ZXJlZF9zdXJmYWNlX3RyYWNrZXIuaC5t ZSBjaHJvbWl1bS0xMDkuMC41NDE0Ljc0L2Nocm9tZS9icm93c2VyL3ByaXZhY3lfYnVkZ2V0L2Vu Y291bnRlcmVkX3N1cmZhY2VfdHJhY2tlci5oCi0tLS0gY2hyb21pdW0tMTA5LjAuNTQxNC43NC9j aHJvbWUvYnJvd3Nlci9wcml2YWN5X2J1ZGdldC9lbmNvdW50ZXJlZF9zdXJmYWNlX3RyYWNrZXIu aC5tZQkyMDIzLTAxLTE5IDE2OjMyOjA1LjMzODE2MDEzMSArMDEwMAotKysrIGNocm9taXVtLTEw OS4wLjU0MTQuNzQvY2hyb21lL2Jyb3dzZXIvcHJpdmFjeV9idWRnZXQvZW5jb3VudGVyZWRfc3Vy ZmFjZV90cmFja2VyLmgJMjAyMy0wMS0xOSAxNjozMjoxNi4yMTMzMjY3OTggKzAxMDAKLUBAIC01 LDYgKzUsNyBAQAotICNpZm5kZWYgQ0hST01FX0JST1dTRVJfUFJJVkFDWV9CVURHRVRfRU5DT1VO VEVSRURfU1VSRkFDRV9UUkFDS0VSX0hfCi0gI2RlZmluZSBDSFJPTUVfQlJPV1NFUl9QUklWQUNZ X0JVREdFVF9FTkNPVU5URVJFRF9TVVJGQUNFX1RSQUNLRVJfSF8KLSAKLSsjaW5jbHVkZSA8Y3N0 ZGludD4KLSAjaW5jbHVkZSA8bWFwPgotIAotICNpbmNsdWRlICJiYXNlL2NvbnRhaW5lcnMvZmxh dF9zZXQuaCIKLWRpZmYgLXVwIGNocm9taXVtLTEwOS4wLjU0MTQuNzQvY29tcG9uZW50cy9hdXRv ZmlsbC9jb3JlL2Jyb3dzZXIvYXV0b2ZpbGxfYWJsYXRpb25fc3R1ZHkuaC5tZSBjaHJvbWl1bS0x MDkuMC41NDE0Ljc0L2NvbXBvbmVudHMvYXV0b2ZpbGwvY29yZS9icm93c2VyL2F1dG9maWxsX2Fi bGF0aW9uX3N0dWR5LmgKLS0tLSBjaHJvbWl1bS0xMDkuMC41NDE0Ljc0L2NvbXBvbmVudHMvYXV0 b2ZpbGwvY29yZS9icm93c2VyL2F1dG9maWxsX2FibGF0aW9uX3N0dWR5LmgubWUJMjAyMy0wMS0x OSAxNjo0Nzo1NS41NDg1NzExMDIgKzAxMDAKLSsrKyBjaHJvbWl1bS0xMDkuMC41NDE0Ljc0L2Nv bXBvbmVudHMvYXV0b2ZpbGwvY29yZS9icm93c2VyL2F1dG9maWxsX2FibGF0aW9uX3N0dWR5LmgJ MjAyMy0wMS0xOSAxNjo0ODoyOS4yMTQxNDY1MjkgKzAxMDAKLUBAIC01LDYgKzUsNyBAQAotICNp Zm5kZWYgQ09NUE9ORU5UU19BVVRPRklMTF9DT1JFX0JST1dTRVJfQVVUT0ZJTExfQUJMQVRJT05f U1RVRFlfSF8KLSAjZGVmaW5lIENPTVBPTkVOVFNfQVVUT0ZJTExfQ09SRV9CUk9XU0VSX0FVVE9G SUxMX0FCTEFUSU9OX1NUVURZX0hfCi0gCi0rI2luY2x1ZGUgPGNzdGRpbnQ+Ci0gI2luY2x1ZGUg PHN0cmluZz4KLSAKLSBjbGFzcyBHVVJMOwotZGlmZiAtdXAgY2hyb21pdW0tMTA5LjAuNTQxNC43 NC9jb21wb25lbnRzL29tbmlib3gvYnJvd3Nlci9vbl9kZXZpY2VfaGVhZF9tb2RlbC5oLm1lIGNo cm9taXVtLTEwOS4wLjU0MTQuNzQvY29tcG9uZW50cy9vbW5pYm94L2Jyb3dzZXIvb25fZGV2aWNl X2hlYWRfbW9kZWwuaAotLS0tIGNocm9taXVtLTEwOS4wLjU0MTQuNzQvY29tcG9uZW50cy9vbW5p Ym94L2Jyb3dzZXIvb25fZGV2aWNlX2hlYWRfbW9kZWwuaC5tZQkyMDIzLTAxLTE5IDE2OjU3OjI5 LjUyNTM3MjgxNCArMDEwMAotKysrIGNocm9taXVtLTEwOS4wLjU0MTQuNzQvY29tcG9uZW50cy9v bW5pYm94L2Jyb3dzZXIvb25fZGV2aWNlX2hlYWRfbW9kZWwuaAkyMDIzLTAxLTE5IDE2OjU4OjAy LjY2Nzk3OTI4OCArMDEwMAotQEAgLTUsNiArNSw3IEBACi0gI2lmbmRlZiBDT01QT05FTlRTX09N TklCT1hfQlJPV1NFUl9PTl9ERVZJQ0VfSEVBRF9NT0RFTF9IXwotICNkZWZpbmUgQ09NUE9ORU5U U19PTU5JQk9YX0JST1dTRVJfT05fREVWSUNFX0hFQURfTU9ERUxfSF8KLSAKLSsjaW5jbHVkZSA8 Y3N0ZGludD4KLSAjaW5jbHVkZSA8c3RyaW5nPgotICNpbmNsdWRlIDx1dGlsaXR5PgotICNpbmNs dWRlIDx2ZWN0b3I+Ci1kaWZmIC11cCBjaHJvbWl1bS0xMDkuMC41NDE0Ljc0L2NvbXBvbmVudHMv cGF5bWVudHMvY29udGVudC91dGlsaXR5L2ZpbmdlcnByaW50X3BhcnNlci5oLm1lIGNocm9taXVt LTEwOS4wLjU0MTQuNzQvY29tcG9uZW50cy9wYXltZW50cy9jb250ZW50L3V0aWxpdHkvZmluZ2Vy cHJpbnRfcGFyc2VyLmgKLS0tLSBjaHJvbWl1bS0xMDkuMC41NDE0Ljc0L2NvbXBvbmVudHMvcGF5 bWVudHMvY29udGVudC91dGlsaXR5L2ZpbmdlcnByaW50X3BhcnNlci5oLm1lCTIwMjMtMDEtMTkg MTc6MDI6NDUuMjU4NTQ0NjY1ICswMTAwCi0rKysgY2hyb21pdW0tMTA5LjAuNTQxNC43NC9jb21w b25lbnRzL3BheW1lbnRzL2NvbnRlbnQvdXRpbGl0eS9maW5nZXJwcmludF9wYXJzZXIuaAkyMDIz LTAxLTE5IDE3OjAyOjUyLjU3NzYxMTc1NyArMDEwMAotQEAgLTUsNiArNSw3IEBACi0gI2lmbmRl ZiBDT01QT05FTlRTX1BBWU1FTlRTX0NPTlRFTlRfVVRJTElUWV9GSU5HRVJQUklOVF9QQVJTRVJf SF8KLSAjZGVmaW5lIENPTVBPTkVOVFNfUEFZTUVOVFNfQ09OVEVOVF9VVElMSVRZX0ZJTkdFUlBS SU5UX1BBUlNFUl9IXwotIAotKyNpbmNsdWRlIDxjc3RkaW50PgotICNpbmNsdWRlIDxzdGRkZWYu aD4KLSAKLSAjaW5jbHVkZSA8c3RyaW5nPgotZGlmZiAtdXAgY2hyb21pdW0tMTA5LjAuNTQxNC43 NC9wZGYvZG9jdW1lbnRfYXR0YWNobWVudF9pbmZvLmgubWUgY2hyb21pdW0tMTA5LjAuNTQxNC43 NC9wZGYvZG9jdW1lbnRfYXR0YWNobWVudF9pbmZvLmgKLS0tLSBjaHJvbWl1bS0xMDkuMC41NDE0 Ljc0L3BkZi9kb2N1bWVudF9hdHRhY2htZW50X2luZm8uaC5tZQkyMDIzLTAxLTE5IDE3OjI4OjI4 LjU1MjA2MzUzNCArMDEwMAotKysrIGNocm9taXVtLTEwOS4wLjU0MTQuNzQvcGRmL2RvY3VtZW50 X2F0dGFjaG1lbnRfaW5mby5oCTIwMjMtMDEtMTkgMTc6Mjg6NDguMDcyMzc5OTUzICswMTAwCi1A QCAtNSw2ICs1LDcgQEAKLSAjaWZuZGVmIFBERl9ET0NVTUVOVF9BVFRBQ0hNRU5UX0lORk9fSF8K LSAjZGVmaW5lIFBERl9ET0NVTUVOVF9BVFRBQ0hNRU5UX0lORk9fSF8KLSAKLSsjaW5jbHVkZSA8 Y3N0ZGludD4KLSAjaW5jbHVkZSA8c3RyaW5nPgotIAotIAotZGlmZiAtdXAgY2hyb21pdW0tMTA5 LjAuNTQxNC43NC90aGlyZF9wYXJ0eS9wZGZpdW0vY29uc3RhbnRzL2Fubm90YXRpb25fZmxhZ3Mu aC5tZSBjaHJvbWl1bS0xMDkuMC41NDE0Ljc0L3RoaXJkX3BhcnR5L3BkZml1bS9jb25zdGFudHMv YW5ub3RhdGlvbl9mbGFncy5oCi0tLS0gY2hyb21pdW0tMTA5LjAuNTQxNC43NC90aGlyZF9wYXJ0 eS9wZGZpdW0vY29uc3RhbnRzL2Fubm90YXRpb25fZmxhZ3MuaC5tZQkyMDIzLTAxLTE5IDE4OjI1 OjQ3LjY0ODE5MzcxMCArMDEwMAotKysrIGNocm9taXVtLTEwOS4wLjU0MTQuNzQvdGhpcmRfcGFy dHkvcGRmaXVtL2NvbnN0YW50cy9hbm5vdGF0aW9uX2ZsYWdzLmgJMjAyMy0wMS0xOSAxODoyNjox MS40ODg1OTM1NTYgKzAxMDAKLUBAIC01LDYgKzUsOCBAQAotICNpZm5kZWYgQ09OU1RBTlRTX0FO Tk9UQVRJT05fRkxBR1NfSF8KLSAjZGVmaW5lIENPTlNUQU5UU19BTk5PVEFUSU9OX0ZMQUdTX0hf Ci0gCi0rI2luY2x1ZGUgPGNzdGRpbnQ+Ci0rCi0gbmFtZXNwYWNlIHBkZml1bSB7Ci0gbmFtZXNw YWNlIGFubm90YXRpb25fZmxhZ3MgewotIAotZGlmZiAtdXAgY2hyb21pdW0tMTEzLjAuNTY3Mi4y NC90aGlyZF9wYXJ0eS92dWxrYW4tZGVwcy92dWxrYW4tdmFsaWRhdGlvbi1sYXllcnMvc3JjL2xh eWVycy9leHRlcm5hbC92bWEvdmtfbWVtX2FsbG9jLmgubWUgY2hyb21pdW0tMTEzLjAuNTY3Mi4y NC90aGlyZF9wYXJ0eS92dWxrYW4tZGVwcy92dWxrYW4tdmFsaWRhdGlvbi1sYXllcnMvc3JjL2xh eWVycy9leHRlcm5hbC92bWEvdmtfbWVtX2FsbG9jLmgKLS0tLSBjaHJvbWl1bS0xMTMuMC41Njcy LjI0L3RoaXJkX3BhcnR5L3Z1bGthbi1kZXBzL3Z1bGthbi12YWxpZGF0aW9uLWxheWVycy9zcmMv bGF5ZXJzL2V4dGVybmFsL3ZtYS92a19tZW1fYWxsb2MuaC5tZQkyMDIzLTA0LTE1IDE2OjQ0OjU1 LjM0NDMwNTQxMiArMDIwMAotKysrIGNocm9taXVtLTExMy4wLjU2NzIuMjQvdGhpcmRfcGFydHkv dnVsa2FuLWRlcHMvdnVsa2FuLXZhbGlkYXRpb24tbGF5ZXJzL3NyYy9sYXllcnMvZXh0ZXJuYWwv dm1hL3ZrX21lbV9hbGxvYy5oCTIwMjMtMDQtMTUgMTY6NDc6MDkuMDI4NjY2OTk1ICswMjAwCi1A QCAtMjg1NCw2ICsyODU0LDcgQEAgc3RhdGljIHZvaWQgdm1hX2FsaWduZWRfZnJlZSh2b2lkKiBW TUFfTgotIAotIC8vIERlZmluZSB0aGlzIG1hY3JvIHRvIDEgdG8gZW5hYmxlIGZ1bmN0aW9uczog dm1hQnVpbGRTdGF0c1N0cmluZywgdm1hRnJlZVN0YXRzU3RyaW5nLgotICNpZiBWTUFfU1RBVFNf U1RSSU5HX0VOQUJMRUQKLSsjaW5jbHVkZSA8c3RkaW8uaD4KLSAgICAgc3RhdGljIGlubGluZSB2 b2lkIFZtYVVpbnQzMlRvU3RyKGNoYXIqIFZNQV9OT1RfTlVMTCBvdXRTdHIsIHNpemVfdCBzdHJM ZW4sIHVpbnQzMl90IG51bSkKLSAgICAgewotICAgICAgICAgc25wcmludGYob3V0U3RyLCBzdHJM ZW4sICIldSIsIHN0YXRpY19jYXN0PHVuc2lnbmVkIGludD4obnVtKSk7Ci1kaWZmIC11cCBjaHJv bWl1bS0xMTMuMC41NjcyLjM3L2Nocm9tZS9icm93c2VyL3dlYmF1dGhuL2F1dGhlbnRpY2F0b3Jf cmVxdWVzdF9kaWFsb2dfbW9kZWwuaC5tZSBjaHJvbWl1bS0xMTMuMC41NjcyLjM3L2Nocm9tZS9i cm93c2VyL3dlYmF1dGhuL2F1dGhlbnRpY2F0b3JfcmVxdWVzdF9kaWFsb2dfbW9kZWwuaAotLS0t IGNocm9taXVtLTExMy4wLjU2NzIuMzcvY2hyb21lL2Jyb3dzZXIvd2ViYXV0aG4vYXV0aGVudGlj YXRvcl9yZXF1ZXN0X2RpYWxvZ19tb2RlbC5oLm1lCTIwMjMtMDQtMTggMTU6NTU6NDQuNzc0OTE2 MzE5ICswMjAwCi0rKysgY2hyb21pdW0tMTEzLjAuNTY3Mi4zNy9jaHJvbWUvYnJvd3Nlci93ZWJh dXRobi9hdXRoZW50aWNhdG9yX3JlcXVlc3RfZGlhbG9nX21vZGVsLmgJMjAyMy0wNC0xOCAxNTo1 NTo1NC40NDEwODU4ODIgKzAyMDAKLUBAIC04LDYgKzgsNyBAQAotICNpbmNsdWRlIDxtZW1vcnk+ Ci0gI2luY2x1ZGUgPHN0cmluZz4KLSAjaW5jbHVkZSA8dmVjdG9yPgotKyNpbmNsdWRlIDx2YXJp YW50PgotIAotICNpbmNsdWRlICJiYXNlL2NvbnRhaW5lcnMvc3Bhbi5oIgotICNpbmNsdWRlICJi YXNlL2Z1bmN0aW9uYWwvY2FsbGJhY2tfZm9yd2FyZC5oIgotZGlmZiAtdXAgY2hyb21pdW0tMTEz LjAuNTY3Mi4zNy9naW4vdGltZV9jbGFtcGVyLmgubWUgY2hyb21pdW0tMTEzLjAuNTY3Mi4zNy9n aW4vdGltZV9jbGFtcGVyLmgKLS0tLSBjaHJvbWl1bS0xMTMuMC41NjcyLjM3L2dpbi90aW1lX2Ns YW1wZXIuaC5tZQkyMDIzLTA0LTE4IDE2OjM4OjQxLjE4MDQzNzQ2NyArMDIwMAotKysrIGNocm9t aXVtLTExMy4wLjU2NzIuMzcvZ2luL3RpbWVfY2xhbXBlci5oCTIwMjMtMDQtMTggMTY6Mzk6NDMu ODU3MDQ5NDMyICswMjAwCi1AQCAtNDgsNyArNDgsNyBAQCBjbGFzcyBHSU5fRVhQT1JUIFRpbWVD bGFtcGVyIHsKLSAgICAgY29uc3QgaW50NjRfdCBtaWNyb3MgPSBub3dfbWljcm9zICUgMTAwMDsK LSAgICAgLy8gYWJzKCkgaXMgbmVjZXNzYXJ5IGZvciBkZXZpY2VzIHdpdGggdGltZXMgYmVmb3Jl IHVuaXgtZXBvY2ggKG1vc3QgbGlrZWx5Ci0gICAgIC8vIGNvbmZpZ3VyZWQgaW5jb3JyZWN0bHkp LgotLSAgICBpZiAoYWJzKG1pY3JvcykgKyBrUmVzb2x1dGlvbk1pY3JvcyA8IDEwMDApIHsKLSsg ICAgaWYgKHN0ZDo6YWJzKG1pY3JvcykgKyBrUmVzb2x1dGlvbk1pY3JvcyA8IDEwMDApIHsKLSAg ICAgICByZXR1cm4gbm93X21pY3JvcyAvIDEwMDA7Ci0gICAgIH0KLSAgICAgcmV0dXJuIENsYW1w VGltZVJlc29sdXRpb24obm93X21pY3JvcykgLyAxMDAwOwotZGlmZiAtdXAgY2hyb21pdW0tMTEz LjAuNTY3Mi41My9jaHJvbWUvdGVzdC9jaHJvbWVkcml2ZXIvY2hyb21lL3dlYl92aWV3X2ltcGwu Y2MubWUgY2hyb21pdW0tMTEzLjAuNTY3Mi41My9jaHJvbWUvdGVzdC9jaHJvbWVkcml2ZXIvY2hy b21lL3dlYl92aWV3X2ltcGwuY2MKLS0tLSBjaHJvbWl1bS0xMTMuMC41NjcyLjUzL2Nocm9tZS90 ZXN0L2Nocm9tZWRyaXZlci9jaHJvbWUvd2ViX3ZpZXdfaW1wbC5jYy5tZQkyMDIzLTA0LTIxIDA4 OjA3OjU1LjM2MjcxNDU0NCArMDIwMAotKysrIGNocm9taXVtLTExMy4wLjU2NzIuNTMvY2hyb21l L3Rlc3QvY2hyb21lZHJpdmVyL2Nocm9tZS93ZWJfdmlld19pbXBsLmNjCTIwMjMtMDQtMjEgMDg6 MTQ6MzUuNDI0MTU4NjkzICswMjAwCi1AQCAtMTAsNiArMTAsNyBAQAotICNpbmNsdWRlIDxxdWV1 ZT4KLSAjaW5jbHVkZSA8dXRpbGl0eT4KLSAjaW5jbHVkZSA8dmVjdG9yPgotKyNpbmNsdWRlIDxj c3RyaW5nPgotIAotICNpbmNsdWRlICJiYXNlL2NoZWNrLmgiCi0gI2luY2x1ZGUgImJhc2UvZmls ZXMvZmlsZV9wYXRoLmgiCi1kaWZmIC11cCBjaHJvbWl1bS0xMTUuMC41NzkwLjMyL3NraWEvZXh0 L3NrY29sb3JzcGFjZV90cmZuLmNjLm1lIGNocm9taXVtLTExNS4wLjU3OTAuMzIvc2tpYS9leHQv c2tjb2xvcnNwYWNlX3RyZm4uY2MKLS0tLSBjaHJvbWl1bS0xMTUuMC41NzkwLjMyL3NraWEvZXh0 L3NrY29sb3JzcGFjZV90cmZuLmNjLm1lCTIwMjMtMDYtMTggMTI6MzM6NTIuMzg3NDEyNzg4ICsw MjAwCi0rKysgY2hyb21pdW0tMTE1LjAuNTc5MC4zMi9za2lhL2V4dC9za2NvbG9yc3BhY2VfdHJm bi5jYwkyMDIzLTA2LTE4IDEyOjM1OjI4LjIyOTE0ODkzNSArMDIwMAotQEAgLTMsNiArMyw3IEBA Ci0gLy8gZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KLSAKLSAjaW5jbHVkZSAic2tpYS9leHQv c2tjb2xvcnNwYWNlX3RyZm4uaCIKLSsjaW5jbHVkZSA8Y21hdGg+Ci0gCi0gbmFtZXNwYWNlIHNr aWEgewotIAotZGlmZiAtdXAgY2hyb21pdW0tOTYuMC40NjY0LjQ1L3RoaXJkX3BhcnR5L3dlYnJ0 Yy9jb21tb25fdmlkZW8vaDI2NC9zcHNfcGFyc2VyLmgubWlzc2luZy1jc3RkaW50IGNocm9taXVt LTk2LjAuNDY2NC40NS90aGlyZF9wYXJ0eS93ZWJydGMvY29tbW9uX3ZpZGVvL2gyNjQvc3BzX3Bh cnNlci5oCi0tLS0gY2hyb21pdW0tOTYuMC40NjY0LjQ1L3RoaXJkX3BhcnR5L3dlYnJ0Yy9jb21t b25fdmlkZW8vaDI2NC9zcHNfcGFyc2VyLmgubWlzc2luZy1jc3RkaW50CTIwMjEtMTEtMTkgMTc6 MDU6MzEuMzc5NzUwMzUwIC0wNTAwCi0rKysgY2hyb21pdW0tOTYuMC40NjY0LjQ1L3RoaXJkX3Bh cnR5L3dlYnJ0Yy9jb21tb25fdmlkZW8vaDI2NC9zcHNfcGFyc2VyLmgJMjAyMS0xMS0xOSAxNzow NzozNS4xOTE1MjAxMjcgLTA1MDAKLUBAIC0xMSw2ICsxMSw3IEBACi0gI2lmbmRlZiBDT01NT05f VklERU9fSDI2NF9TUFNfUEFSU0VSX0hfCi0gI2RlZmluZSBDT01NT05fVklERU9fSDI2NF9TUFNf UEFSU0VSX0hfCi0gCi0rI2luY2x1ZGUgPGNzdGRpbnQ+Ci0gI2luY2x1ZGUgImFic2wvdHlwZXMv b3B0aW9uYWwuaCIKLSAjaW5jbHVkZSAicnRjX2Jhc2UvYml0c3RyZWFtX3JlYWRlci5oIgotIAot ZGlmZiAtdXAgY2hyb21pdW0tOTYuMC40NjY0LjQ1L3RoaXJkX3BhcnR5L3dlYnJ0Yy9tb2R1bGVz L2luY2x1ZGUvbW9kdWxlX2NvbW1vbl90eXBlc19wdWJsaWMuaC5taXNzaW5nLWNzdGRpbnQgY2hy b21pdW0tOTYuMC40NjY0LjQ1L3RoaXJkX3BhcnR5L3dlYnJ0Yy9tb2R1bGVzL2luY2x1ZGUvbW9k dWxlX2NvbW1vbl90eXBlc19wdWJsaWMuaAotLS0tIGNocm9taXVtLTk2LjAuNDY2NC40NS90aGly ZF9wYXJ0eS93ZWJydGMvbW9kdWxlcy9pbmNsdWRlL21vZHVsZV9jb21tb25fdHlwZXNfcHVibGlj LmgubWlzc2luZy1jc3RkaW50CTIwMjEtMTEtMTIgMDU6Mjg6MTAuMDAwMDAwMDAwIC0wNTAwCi0r KysgY2hyb21pdW0tOTYuMC40NjY0LjQ1L3RoaXJkX3BhcnR5L3dlYnJ0Yy9tb2R1bGVzL2luY2x1 ZGUvbW9kdWxlX2NvbW1vbl90eXBlc19wdWJsaWMuaAkyMDIxLTExLTE5IDE3OjA1OjMxLjM3OTc1 MDM1MCAtMDUwMAotQEAgLTExLDYgKzExLDcgQEAKLSAjaWZuZGVmIE1PRFVMRVNfSU5DTFVERV9N T0RVTEVfQ09NTU9OX1RZUEVTX1BVQkxJQ19IXwotICNkZWZpbmUgTU9EVUxFU19JTkNMVURFX01P RFVMRV9DT01NT05fVFlQRVNfUFVCTElDX0hfCi0gCi0rI2luY2x1ZGUgPGNzdGRpbnQ+Ci0gI2lu Y2x1ZGUgPGxpbWl0cz4KLSAKLSAjaW5jbHVkZSAiYWJzbC90eXBlcy9vcHRpb25hbC5oIgotZGlm ZiAtdXAgY2hyb21pdW0tOTYuMC40NjY0LjQ1L3VpL2dmeC9saW51eC9kcm1fdXRpbF9saW51eC5o Lm1pc3NpbmctY3N0ZGludCBjaHJvbWl1bS05Ni4wLjQ2NjQuNDUvdWkvZ2Z4L2xpbnV4L2RybV91 dGlsX2xpbnV4LmgKLS0tLSBjaHJvbWl1bS05Ni4wLjQ2NjQuNDUvdWkvZ2Z4L2xpbnV4L2RybV91 dGlsX2xpbnV4LmgubWlzc2luZy1jc3RkaW50CTIwMjEtMTEtMTIgMDU6MjU6MjQuMDAwMDAwMDAw IC0wNTAwCi0rKysgY2hyb21pdW0tOTYuMC40NjY0LjQ1L3VpL2dmeC9saW51eC9kcm1fdXRpbF9s aW51eC5oCTIwMjEtMTEtMTkgMTc6MDU6MzEuMzc5NzUwMzUwIC0wNTAwCi1AQCAtOSw2ICs5LDgg QEAKLSAKLSAjaW5jbHVkZSAidWkvZ2Z4L2J1ZmZlcl90eXBlcy5oIgotIAotKyNpbmNsdWRlIDxj c3RkaW50PgotKwotIG5hbWVzcGFjZSB1aSB7Ci0gCi0gaW50IEdldEZvdXJDQ0Zvcm1hdEZyb21C dWZmZXJGb3JtYXQoZ2Z4OjpCdWZmZXJGb3JtYXQgZm9ybWF0KTsKLWRpZmYgLXVwIGNocm9taXVt LTk2LjAuNDY2NC40NS90aGlyZF9wYXJ0eS93ZWJydGMvYXVkaW8vdXRpbGl0eS9jaGFubmVsX21p eGVyLmNjLm1pc3NpbmctY3N0cmluZyBjaHJvbWl1bS05Ni4wLjQ2NjQuNDUvdGhpcmRfcGFydHkv d2VicnRjL2F1ZGlvL3V0aWxpdHkvY2hhbm5lbF9taXhlci5jYwotLS0tIGNocm9taXVtLTk2LjAu NDY2NC40NS90aGlyZF9wYXJ0eS93ZWJydGMvYXVkaW8vdXRpbGl0eS9jaGFubmVsX21peGVyLmNj Lm1pc3NpbmctY3N0cmluZwkyMDIxLTExLTEyIDA1OjI4OjA5LjAwMDAwMDAwMCAtMDUwMAotKysr IGNocm9taXVtLTk2LjAuNDY2NC40NS90aGlyZF9wYXJ0eS93ZWJydGMvYXVkaW8vdXRpbGl0eS9j aGFubmVsX21peGVyLmNjCTIwMjEtMTEtMTkgMTc6MTA6MDIuOTI3NDM4Njk1IC0wNTAwCi1AQCAt OCw2ICs4LDggQEAKLSAgKiAgYmUgZm91bmQgaW4gdGhlIEFVVEhPUlMgZmlsZSBpbiB0aGUgcm9v dCBvZiB0aGUgc291cmNlIHRyZWUuCi0gICovCi0gCi0rI2luY2x1ZGUgPGNzdHJpbmc+Ci0rCi0g I2luY2x1ZGUgImF1ZGlvL3V0aWxpdHkvY2hhbm5lbF9taXhlci5oIgotIAotICNpbmNsdWRlICJh dWRpby91dGlsaXR5L2NoYW5uZWxfbWl4aW5nX21hdHJpeC5oIgotZGlmZiAtdXAgY2hyb21pdW0t OTYuMC40NjY0LjQ1L3RoaXJkX3BhcnR5L3dlYnJ0Yy9tb2R1bGVzL3ZpZGVvX2NvZGluZy91dGls aXR5L2l2Zl9maWxlX3JlYWRlci5jYy5taXNzaW5nLWNzdHJpbmcgY2hyb21pdW0tOTYuMC40NjY0 LjQ1L3RoaXJkX3BhcnR5L3dlYnJ0Yy9tb2R1bGVzL3ZpZGVvX2NvZGluZy91dGlsaXR5L2l2Zl9m aWxlX3JlYWRlci5jYwotLS0tIGNocm9taXVtLTk2LjAuNDY2NC40NS90aGlyZF9wYXJ0eS93ZWJy dGMvbW9kdWxlcy92aWRlb19jb2RpbmcvdXRpbGl0eS9pdmZfZmlsZV9yZWFkZXIuY2MubWlzc2lu Zy1jc3RyaW5nCTIwMjEtMTEtMTIgMDU6Mjg6MTAuMDAwMDAwMDAwIC0wNTAwCi0rKysgY2hyb21p dW0tOTYuMC40NjY0LjQ1L3RoaXJkX3BhcnR5L3dlYnJ0Yy9tb2R1bGVzL3ZpZGVvX2NvZGluZy91 dGlsaXR5L2l2Zl9maWxlX3JlYWRlci5jYwkyMDIxLTExLTE5IDE3OjEwOjAyLjkyODQzODcwMSAt MDUwMAotQEAgLTEwLDYgKzEwLDcgQEAKLSAKLSAjaW5jbHVkZSAibW9kdWxlcy92aWRlb19jb2Rp bmcvdXRpbGl0eS9pdmZfZmlsZV9yZWFkZXIuaCIKLSAKLSsjaW5jbHVkZSA8Y3N0cmluZz4KLSAj aW5jbHVkZSA8c3RyaW5nPgotICNpbmNsdWRlIDx2ZWN0b3I+Ci0gCi1kaWZmIC11cCBjaHJvbWl1 bS0xMTcuMC41OTM4LjQ4L3RoaXJkX3BhcnR5L2lwY3ovc3JjL2lwY3ovcm91dGVyX2xpbmsuaC5t ZSBjaHJvbWl1bS0xMTcuMC41OTM4LjQ4L3RoaXJkX3BhcnR5L2lwY3ovc3JjL2lwY3ovcm91dGVy X2xpbmsuaAotLS0tIGNocm9taXVtLTExNy4wLjU5MzguNDgvdGhpcmRfcGFydHkvaXBjei9zcmMv aXBjei9yb3V0ZXJfbGluay5oLm1lCTIwMjMtMDktMTAgMTc6NTM6MDQuODI2Mjk4MzUxICswMjAw Ci0rKysgY2hyb21pdW0tMTE3LjAuNTkzOC40OC90aGlyZF9wYXJ0eS9pcGN6L3NyYy9pcGN6L3Jv dXRlcl9saW5rLmgJMjAyMy0wOS0xMCAxNzo1MzoyMi4yMDE3NTY4OTQgKzAyMDAKLUBAIC01LDYg KzUsNyBAQAotICNpZm5kZWYgSVBDWl9TUkNfSVBDWl9ST1VURVJfTElOS19IXwotICNkZWZpbmUg SVBDWl9TUkNfSVBDWl9ST1VURVJfTElOS19IXwotIAotKyNpbmNsdWRlIDxtZW1vcnk+Ci0gI2lu Y2x1ZGUgPGNzdGRkZWY+Ci0gI2luY2x1ZGUgPGZ1bmN0aW9uYWw+Ci0gI2luY2x1ZGUgPHN0cmlu Zz4KLWRpZmYgLXVwIGNocm9taXVtLTExNy4wLjU5MzguNDgvdGhpcmRfcGFydHkvbWF0ZXJpYWxf Y29sb3JfdXRpbGl0aWVzL3NyYy9jcHAvcGFsZXR0ZXMvdG9uZXMuY2MubWUgY2hyb21pdW0tMTE3 LjAuNTkzOC40OC90aGlyZF9wYXJ0eS9tYXRlcmlhbF9jb2xvcl91dGlsaXRpZXMvc3JjL2NwcC9w YWxldHRlcy90b25lcy5jYwotLS0tIGNocm9taXVtLTExNy4wLjU5MzguNDgvdGhpcmRfcGFydHkv bWF0ZXJpYWxfY29sb3JfdXRpbGl0aWVzL3NyYy9jcHAvcGFsZXR0ZXMvdG9uZXMuY2MubWUJMjAy My0wOS0xMCAxNzozNjoyNy4xOTk4NDEwNTEgKzAyMDAKLSsrKyBjaHJvbWl1bS0xMTcuMC41OTM4 LjQ4L3RoaXJkX3BhcnR5L21hdGVyaWFsX2NvbG9yX3V0aWxpdGllcy9zcmMvY3BwL3BhbGV0dGVz L3RvbmVzLmNjCTIwMjMtMDktMTAgMTc6NDQ6NTEuODcwNTU0MjMzICswMjAwCi1AQCAtMTQsNiAr MTQsNyBAQAotICAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgotICAqLwotIAotKyNp bmNsdWRlIDxtYXRoLmg+Ci0gI2luY2x1ZGUgImNwcC9wYWxldHRlcy90b25lcy5oIgotIAotICNp bmNsdWRlICJjcHAvY2FtL2NhbS5oIgoKZGlmZiAtLWdpdCBhL2Nocm9taXVtLTExNy1ub19tYXRj aGluZ19jb25zdHJ1Y3Rvci5wYXRjaCBiL2Nocm9taXVtLTExNy1ub19tYXRjaGluZ19jb25zdHJ1 Y3Rvci5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZTVhYjYwYS4uMDAwMDAw MAotLS0gYS9jaHJvbWl1bS0xMTctbm9fbWF0Y2hpbmdfY29uc3RydWN0b3IucGF0Y2gKKysrIC9k ZXYvbnVsbApAQCAtMSw0MzIgKzAsMCBAQAotZGlmZiAtdXAgY2hyb21pdW0tMTE2LjAuNTg0NS41 MC9uZXQvZG5zL2hvc3RfcmVzb2x2ZXJfY2FjaGUuY2MubWUgY2hyb21pdW0tMTE2LjAuNTg0NS41 MC9uZXQvZG5zL2hvc3RfcmVzb2x2ZXJfY2FjaGUuY2MKLS0tLSBjaHJvbWl1bS0xMTYuMC41ODQ1 LjUwL25ldC9kbnMvaG9zdF9yZXNvbHZlcl9jYWNoZS5jYy5tZQotKysrIGNocm9taXVtLTExNi4w LjU4NDUuNTAvbmV0L2Rucy9ob3N0X3Jlc29sdmVyX2NhY2hlLmNjCi1AQCAtMTYxLDcgKzE2MSw3 IEBAIHZvaWQgSG9zdFJlc29sdmVyQ2FjaGU6OlNldCgKLSAKLSAgIHN0ZDo6c3RyaW5nIGRvbWFp bl9uYW1lID0gcmVzdWx0LT5kb21haW5fbmFtZSgpOwotICAgZW50cmllc18uZW1wbGFjZSgKLS0g ICAgICBLZXkoc3RkOjptb3ZlKGRvbWFpbl9uYW1lKSwgbmV0d29ya19hbm9ueW1pemF0aW9uX2tl eSksCi0rICAgICAgS2V5e3N0ZDo6bW92ZShkb21haW5fbmFtZSksIG5ldHdvcmtfYW5vbnltaXph dGlvbl9rZXl9LAotICAgICAgIEVudHJ5KHN0ZDo6bW92ZShyZXN1bHQpLCBzb3VyY2UsIHNlY3Vy ZSwgc3RhbGVuZXNzX2dlbmVyYXRpb25fKSk7Ci0gCi0gICBpZiAoZW50cmllc18uc2l6ZSgpID4g bWF4X2VudHJpZXNfKSB7Ci1kaWZmIC11cCBjaHJvbWl1bS0xMTYuMC41ODQ1LjUwL2NvbXBvbmVu dHMvdml6L3NlcnZpY2UvZGlzcGxheV9lbWJlZGRlci9za2lhX291dHB1dF9zdXJmYWNlX2ltcGxf b25fZ3B1LmNjLm1lIGNocm9taXVtLTExNi4wLjU4NDUuNTAvY29tcG9uZW50cy92aXovc2Vydmlj ZS9kaXNwbGF5X2VtYmVkZGVyL3NraWFfb3V0cHV0X3N1cmZhY2VfaW1wbF9vbl9ncHUuY2MKLS0t LSBjaHJvbWl1bS0xMTYuMC41ODQ1LjUwL2NvbXBvbmVudHMvdml6L3NlcnZpY2UvZGlzcGxheV9l bWJlZGRlci9za2lhX291dHB1dF9zdXJmYWNlX2ltcGxfb25fZ3B1LmNjLm1lCTIwMjMtMDgtMDIg MTU6MTc6NTIuNjEzODU4NDIzICswMjAwCi0rKysgY2hyb21pdW0tMTE2LjAuNTg0NS41MC9jb21w b25lbnRzL3Zpei9zZXJ2aWNlL2Rpc3BsYXlfZW1iZWRkZXIvc2tpYV9vdXRwdXRfc3VyZmFjZV9p bXBsX29uX2dwdS5jYwkyMDIzLTA4LTAyIDE1OjE4OjQzLjI2OTc5MDg3NyArMDIwMAotQEAgLTE0 OTYsNyArMTQ5Niw3IEBAIHZvaWQgU2tpYU91dHB1dFN1cmZhY2VJbXBsT25HcHU6OkNvcHlPdXQK LSAKLSAgICAgICAvLyBJc3N1ZSByZWFkYmFja3MgZnJvbSB0aGUgc3VyZmFjZXM6Ci0gICAgICAg Zm9yIChzaXplX3QgaSA9IDA7IGkgPCBDb3B5T3V0cHV0UmVzdWx0OjprTlYxMk1heFBsYW5lczsg KytpKSB7Ci0tICAgICAgICBTa0lTaXplIHNpemUocGxhbmVfc3VyZmFjZXNbaV0tPndpZHRoKCks IHBsYW5lX3N1cmZhY2VzW2ldLT5oZWlnaHQoKSk7Ci0rICAgICAgICBTa0lTaXplIHNpemV7cGxh bmVfc3VyZmFjZXNbaV0tPndpZHRoKCksIHBsYW5lX3N1cmZhY2VzW2ldLT5oZWlnaHQoKX07Ci0g ICAgICAgICBTa0ltYWdlSW5mbyBkc3RfaW5mbyA9IFNrSW1hZ2VJbmZvOjpNYWtlKAotICAgICAg ICAgICAgIHNpemUsIChpID09IDApID8ga0FscGhhXzhfU2tDb2xvclR5cGUgOiBrUjhHOF91bm9y bV9Ta0NvbG9yVHlwZSwKLSAgICAgICAgICAgICBrVW5wcmVtdWxfU2tBbHBoYVR5cGUpOwotZGlm ZiAtdXAgY2hyb21pdW0tMTE2LjAuNTg0NS41MC90aGlyZF9wYXJ0eS9ibGluay9yZW5kZXJlci9w bGF0Zm9ybS9mb250cy9wYWxldHRlX2ludGVycG9sYXRpb24uY2MubWUgY2hyb21pdW0tMTE2LjAu NTg0NS41MC90aGlyZF9wYXJ0eS9ibGluay9yZW5kZXJlci9wbGF0Zm9ybS9mb250cy9wYWxldHRl X2ludGVycG9sYXRpb24uY2MKLS0tLSBjaHJvbWl1bS0xMTYuMC41ODQ1LjUwL3RoaXJkX3BhcnR5 L2JsaW5rL3JlbmRlcmVyL3BsYXRmb3JtL2ZvbnRzL3BhbGV0dGVfaW50ZXJwb2xhdGlvbi5jYy5t ZQkyMDIzLTA4LTAyIDIxOjMyOjE0LjE5NTcwNTQ5NCArMDIwMAotKysrIGNocm9taXVtLTExNi4w LjU4NDUuNTAvdGhpcmRfcGFydHkvYmxpbmsvcmVuZGVyZXIvcGxhdGZvcm0vZm9udHMvcGFsZXR0 ZV9pbnRlcnBvbGF0aW9uLmNjCTIwMjMtMDgtMDIgMjE6NTk6MDguMTU2NTMyOTM0ICswMjAwCi1A QCAtMzEsNyArMzEsNyBAQCBWZWN0b3I8Rm9udFBhbGV0dGU6OkZvbnRQYWxldHRlT3ZlcnJpZGU+ Ci0gICAgICAgICBjb2xvcl9pbnRlcnBvbGF0aW9uX3NwYWNlLCBodWVfaW50ZXJwb2xhdGlvbl9t ZXRob2QsIHN0YXJ0X2NvbG9yLAotICAgICAgICAgZW5kX2NvbG9yLCBwZXJjZW50YWdlLCBhbHBo YV9tdWx0aXBsaWVyKTsKLSAKLS0gICAgRm9udFBhbGV0dGU6OkZvbnRQYWxldHRlT3ZlcnJpZGUg cmVzdWx0X2NvbG9yX3JlY29yZChpLCByZXN1bHRfY29sb3IpOwotKyAgICBGb250UGFsZXR0ZTo6 Rm9udFBhbGV0dGVPdmVycmlkZSByZXN1bHRfY29sb3JfcmVjb3Jke3N0YXRpY19jYXN0PGludD4o aSksIHJlc3VsdF9jb2xvcn07Ci0gICAgIHJlc3VsdF9jb2xvcl9yZWNvcmRzLnB1c2hfYmFjayhy ZXN1bHRfY29sb3JfcmVjb3JkKTsKLSAgIH0KLSAgIHJldHVybiByZXN1bHRfY29sb3JfcmVjb3Jk czsKLWRpZmYgLXVwIGNocm9taXVtLTExNi4wLjU4NDUuNTAvdWkvYmFzZS93YXlsYW5kL2NvbG9y X21hbmFnZXJfdXRpbC5oLm1lIGNocm9taXVtLTExNi4wLjU4NDUuNTAvdWkvYmFzZS93YXlsYW5k L2NvbG9yX21hbmFnZXJfdXRpbC5oCi0tLS0gY2hyb21pdW0tMTE2LjAuNTg0NS41MC91aS9iYXNl L3dheWxhbmQvY29sb3JfbWFuYWdlcl91dGlsLmgubWUJMjAyMy0wOC0wMyAwODoyNzoxMS4zNzE3 NTAxNzggKzAyMDAKLSsrKyBjaHJvbWl1bS0xMTYuMC41ODQ1LjUwL3VpL2Jhc2Uvd2F5bGFuZC9j b2xvcl9tYW5hZ2VyX3V0aWwuaAkyMDIzLTA4LTAzIDEwOjM5OjA3LjI2Njk4OTMyMyArMDIwMAot QEAgLTUyLDUzICs1Miw1MyBAQCBjb25zdGV4cHIgYXV0byBrQ2hyb21hdGljaXR5TWFwID0gYmFz ZTo6Ci0gICAgIHpjcl9jb2xvcl9tYW5hZ2VyX3YxX2Nocm9tYXRpY2l0eV9uYW1lcywKLSAgICAg UHJpbWFyeVZlcnNpb24+KAotICAgICB7e1pDUl9DT0xPUl9NQU5BR0VSX1YxX0NIUk9NQVRJQ0lU WV9OQU1FU19CVDYwMV81MjVfTElORSwKLS0gICAgICBQcmltYXJ5VmVyc2lvbihnZng6OkNvbG9y U3BhY2U6OlByaW1hcnlJRDo6U01QVEUxNzBNLAotLSAgICAgICAgICAgICAgICAgICAgIGtEZWZh dWx0U2luY2VWZXJzaW9uKX0sCi0rICAgICAgUHJpbWFyeVZlcnNpb257Z2Z4OjpDb2xvclNwYWNl OjpQcmltYXJ5SUQ6OlNNUFRFMTcwTSwKLSsgICAgICAgICAgICAgICAgICAgICBrRGVmYXVsdFNp bmNlVmVyc2lvbn19LAotICAgICAge1pDUl9DT0xPUl9NQU5BR0VSX1YxX0NIUk9NQVRJQ0lUWV9O QU1FU19CVDYwMV82MjVfTElORSwKLS0gICAgICBQcmltYXJ5VmVyc2lvbihnZng6OkNvbG9yU3Bh Y2U6OlByaW1hcnlJRDo6QlQ0NzBCRywKLS0gICAgICAgICAgICAgICAgICAgICBrRGVmYXVsdFNp bmNlVmVyc2lvbil9LAotKyAgICAgIFByaW1hcnlWZXJzaW9ue2dmeDo6Q29sb3JTcGFjZTo6UHJp bWFyeUlEOjpCVDQ3MEJHLAotKyAgICAgICAgICAgICAgICAgICAgIGtEZWZhdWx0U2luY2VWZXJz aW9ufX0sCi0gICAgICB7WkNSX0NPTE9SX01BTkFHRVJfVjFfQ0hST01BVElDSVRZX05BTUVTX1NN UFRFMTcwTSwKLS0gICAgICBQcmltYXJ5VmVyc2lvbihnZng6OkNvbG9yU3BhY2U6OlByaW1hcnlJ RDo6U01QVEUxNzBNLAotLSAgICAgICAgICAgICAgICAgICAgIGtEZWZhdWx0U2luY2VWZXJzaW9u KX0sCi0rICAgICAgUHJpbWFyeVZlcnNpb257Z2Z4OjpDb2xvclNwYWNlOjpQcmltYXJ5SUQ6OlNN UFRFMTcwTSwKLSsgICAgICAgICAgICAgICAgICAgICBrRGVmYXVsdFNpbmNlVmVyc2lvbn19LAot ICAgICAge1pDUl9DT0xPUl9NQU5BR0VSX1YxX0NIUk9NQVRJQ0lUWV9OQU1FU19CVDcwOSwKLS0g ICAgICBQcmltYXJ5VmVyc2lvbihnZng6OkNvbG9yU3BhY2U6OlByaW1hcnlJRDo6QlQ3MDksIGtE ZWZhdWx0U2luY2VWZXJzaW9uKX0sCi0rICAgICAgUHJpbWFyeVZlcnNpb257Z2Z4OjpDb2xvclNw YWNlOjpQcmltYXJ5SUQ6OkJUNzA5LCBrRGVmYXVsdFNpbmNlVmVyc2lvbn19LAotICAgICAge1pD Ul9DT0xPUl9NQU5BR0VSX1YxX0NIUk9NQVRJQ0lUWV9OQU1FU19CVDIwMjAsCi0tICAgICAgUHJp bWFyeVZlcnNpb24oZ2Z4OjpDb2xvclNwYWNlOjpQcmltYXJ5SUQ6OkJUMjAyMCwga0RlZmF1bHRT aW5jZVZlcnNpb24pfSwKLSsgICAgICBQcmltYXJ5VmVyc2lvbntnZng6OkNvbG9yU3BhY2U6OlBy aW1hcnlJRDo6QlQyMDIwLCBrRGVmYXVsdFNpbmNlVmVyc2lvbn19LAotICAgICAge1pDUl9DT0xP Ul9NQU5BR0VSX1YxX0NIUk9NQVRJQ0lUWV9OQU1FU19TUkdCLAotLSAgICAgIFByaW1hcnlWZXJz aW9uKGdmeDo6Q29sb3JTcGFjZTo6UHJpbWFyeUlEOjpCVDcwOSwga0RlZmF1bHRTaW5jZVZlcnNp b24pfSwKLSsgICAgICBQcmltYXJ5VmVyc2lvbntnZng6OkNvbG9yU3BhY2U6OlByaW1hcnlJRDo6 QlQ3MDksIGtEZWZhdWx0U2luY2VWZXJzaW9ufX0sCi0gICAgICB7WkNSX0NPTE9SX01BTkFHRVJf VjFfQ0hST01BVElDSVRZX05BTUVTX0RJU1BMQVlQMywKLS0gICAgICBQcmltYXJ5VmVyc2lvbihn Zng6OkNvbG9yU3BhY2U6OlByaW1hcnlJRDo6UDMsIGtEZWZhdWx0U2luY2VWZXJzaW9uKX0sCi0r ICAgICAgUHJpbWFyeVZlcnNpb257Z2Z4OjpDb2xvclNwYWNlOjpQcmltYXJ5SUQ6OlAzLCBrRGVm YXVsdFNpbmNlVmVyc2lvbn19LAotICAgICAge1pDUl9DT0xPUl9NQU5BR0VSX1YxX0NIUk9NQVRJ Q0lUWV9OQU1FU19BRE9CRVJHQiwKLS0gICAgICBQcmltYXJ5VmVyc2lvbihnZng6OkNvbG9yU3Bh Y2U6OlByaW1hcnlJRDo6QURPQkVfUkdCLAotLSAgICAgICAgICAgICAgICAgICAgIGtEZWZhdWx0 U2luY2VWZXJzaW9uKX0sCi0rICAgICAgUHJpbWFyeVZlcnNpb257Z2Z4OjpDb2xvclNwYWNlOjpQ cmltYXJ5SUQ6OkFET0JFX1JHQiwKLSsgICAgICAgICAgICAgICAgICAgICBrRGVmYXVsdFNpbmNl VmVyc2lvbn19LAotICAgICAge1pDUl9DT0xPUl9NQU5BR0VSX1YxX0NIUk9NQVRJQ0lUWV9OQU1F U19XSURFX0dBTVVUX0NPTE9SX1NQSU4sCi0tICAgICAgUHJpbWFyeVZlcnNpb24oCi0rICAgICAg UHJpbWFyeVZlcnNpb257Ci0gICAgICAgICAgIGdmeDo6Q29sb3JTcGFjZTo6UHJpbWFyeUlEOjpX SURFX0dBTVVUX0NPTE9SX1NQSU4sCi0tICAgICAgICAgIFpDUl9DT0xPUl9NQU5BR0VSX1YxX0NI Uk9NQVRJQ0lUWV9OQU1FU19XSURFX0dBTVVUX0NPTE9SX1NQSU5fU0lOQ0VfVkVSU0lPTil9LAot KyAgICAgICAgICBaQ1JfQ09MT1JfTUFOQUdFUl9WMV9DSFJPTUFUSUNJVFlfTkFNRVNfV0lERV9H QU1VVF9DT0xPUl9TUElOX1NJTkNFX1ZFUlNJT059fSwKLSAgICAgIHtaQ1JfQ09MT1JfTUFOQUdF Ul9WMV9DSFJPTUFUSUNJVFlfTkFNRVNfQlQ0NzBNLAotLSAgICAgIFByaW1hcnlWZXJzaW9uKAot KyAgICAgIFByaW1hcnlWZXJzaW9uewotICAgICAgICAgICBnZng6OkNvbG9yU3BhY2U6OlByaW1h cnlJRDo6QlQ0NzBNLAotLSAgICAgICAgICBaQ1JfQ09MT1JfTUFOQUdFUl9WMV9DSFJPTUFUSUNJ VFlfTkFNRVNfQlQ0NzBNX1NJTkNFX1ZFUlNJT04pfSwKLSsgICAgICAgICAgWkNSX0NPTE9SX01B TkFHRVJfVjFfQ0hST01BVElDSVRZX05BTUVTX0JUNDcwTV9TSU5DRV9WRVJTSU9OfX0sCi0gICAg ICB7WkNSX0NPTE9SX01BTkFHRVJfVjFfQ0hST01BVElDSVRZX05BTUVTX1NNUFRFMjQwTSwKLS0g ICAgICBQcmltYXJ5VmVyc2lvbigKLSsgICAgICBQcmltYXJ5VmVyc2lvbnsKLSAgICAgICAgICAg Z2Z4OjpDb2xvclNwYWNlOjpQcmltYXJ5SUQ6OlNNUFRFMjQwTSwKLS0gICAgICAgICAgWkNSX0NP TE9SX01BTkFHRVJfVjFfQ0hST01BVElDSVRZX05BTUVTX1NNUFRFMjQwTV9TSU5DRV9WRVJTSU9O KX0sCi0rICAgICAgICAgIFpDUl9DT0xPUl9NQU5BR0VSX1YxX0NIUk9NQVRJQ0lUWV9OQU1FU19T TVBURTI0ME1fU0lOQ0VfVkVSU0lPTn19LAotICAgICAge1pDUl9DT0xPUl9NQU5BR0VSX1YxX0NI Uk9NQVRJQ0lUWV9OQU1FU19YWVpfRDUwLAotLSAgICAgIFByaW1hcnlWZXJzaW9uKAotKyAgICAg IFByaW1hcnlWZXJzaW9uewotICAgICAgICAgICBnZng6OkNvbG9yU3BhY2U6OlByaW1hcnlJRDo6 WFlaX0Q1MCwKLS0gICAgICAgICAgWkNSX0NPTE9SX01BTkFHRVJfVjFfQ0hST01BVElDSVRZX05B TUVTX1hZWl9ENTBfU0lOQ0VfVkVSU0lPTil9LAotKyAgICAgICAgICBaQ1JfQ09MT1JfTUFOQUdF Ul9WMV9DSFJPTUFUSUNJVFlfTkFNRVNfWFlaX0Q1MF9TSU5DRV9WRVJTSU9OfX0sCi0gICAgICB7 WkNSX0NPTE9SX01BTkFHRVJfVjFfQ0hST01BVElDSVRZX05BTUVTX1NNUFRFU1Q0MjhfMSwKLS0g ICAgICBQcmltYXJ5VmVyc2lvbigKLSsgICAgICBQcmltYXJ5VmVyc2lvbnsKLSAgICAgICAgICAg Z2Z4OjpDb2xvclNwYWNlOjpQcmltYXJ5SUQ6OlNNUFRFU1Q0MjhfMSwKLS0gICAgICAgICAgWkNS X0NPTE9SX01BTkFHRVJfVjFfQ0hST01BVElDSVRZX05BTUVTX1NNUFRFU1Q0MjhfMV9TSU5DRV9W RVJTSU9OKX0sCi0rICAgICAgICAgIFpDUl9DT0xPUl9NQU5BR0VSX1YxX0NIUk9NQVRJQ0lUWV9O QU1FU19TTVBURVNUNDI4XzFfU0lOQ0VfVkVSU0lPTn19LAotICAgICAge1pDUl9DT0xPUl9NQU5B R0VSX1YxX0NIUk9NQVRJQ0lUWV9OQU1FU19TTVBURVNUNDMxXzIsCi0tICAgICAgUHJpbWFyeVZl cnNpb24oCi0rICAgICAgUHJpbWFyeVZlcnNpb257Ci0gICAgICAgICAgIGdmeDo6Q29sb3JTcGFj ZTo6UHJpbWFyeUlEOjpTTVBURVNUNDMxXzIsCi0tICAgICAgICAgIFpDUl9DT0xPUl9NQU5BR0VS X1YxX0NIUk9NQVRJQ0lUWV9OQU1FU19TTVBURVNUNDMxXzJfU0lOQ0VfVkVSU0lPTil9LAotKyAg ICAgICAgICBaQ1JfQ09MT1JfTUFOQUdFUl9WMV9DSFJPTUFUSUNJVFlfTkFNRVNfU01QVEVTVDQz MV8yX1NJTkNFX1ZFUlNJT059fSwKLSAgICAgIHtaQ1JfQ09MT1JfTUFOQUdFUl9WMV9DSFJPTUFU SUNJVFlfTkFNRVNfRklMTSwKLS0gICAgICBQcmltYXJ5VmVyc2lvbigKLSsgICAgICBQcmltYXJ5 VmVyc2lvbnsKLSAgICAgICAgICAgZ2Z4OjpDb2xvclNwYWNlOjpQcmltYXJ5SUQ6OkZJTE0sCi0t ICAgICAgICAgIFpDUl9DT0xPUl9NQU5BR0VSX1YxX0NIUk9NQVRJQ0lUWV9OQU1FU19GSUxNX1NJ TkNFX1ZFUlNJT04pfX0pOwotKyAgICAgICAgICBaQ1JfQ09MT1JfTUFOQUdFUl9WMV9DSFJPTUFU SUNJVFlfTkFNRVNfRklMTV9TSU5DRV9WRVJTSU9OfX19KTsKLSAKLSAvLyBBIG1hcCBmcm9tIHRo ZSB6Y3JfY29sb3JfbWFuYWdlcl92MSBlb3RmX25hbWVzIGVudW0gdmFsdWVzCi0gLy8gcmVwcmVz ZW50aW5nIHdlbGwta25vd24gRU9URnMsIHRvIHRoZWlyIGVxdWl2YWxlbnQgVHJhbnNmZXJJRHMu Ci1AQCAtMTA3LDY1ICsxMDcsNjUgQEAgY29uc3RleHByIGF1dG8ga0VvdGZNYXAgPSBiYXNlOjpN YWtlRml4ZQotICAgICB6Y3JfY29sb3JfbWFuYWdlcl92MV9lb3RmX25hbWVzLAotICAgICBUcmFu c2ZlclZlcnNpb24+KHsKLSAgICAge1pDUl9DT0xPUl9NQU5BR0VSX1YxX0VPVEZfTkFNRVNfTElO RUFSLAotLSAgICAgVHJhbnNmZXJWZXJzaW9uKGdmeDo6Q29sb3JTcGFjZTo6VHJhbnNmZXJJRDo6 TElORUFSLAotLSAgICAgICAgICAgICAgICAgICAgIGtEZWZhdWx0U2luY2VWZXJzaW9uKX0sCi0r ICAgICBUcmFuc2ZlclZlcnNpb257Z2Z4OjpDb2xvclNwYWNlOjpUcmFuc2ZlcklEOjpMSU5FQVIs Ci0rICAgICAgICAgICAgICAgICAgICAga0RlZmF1bHRTaW5jZVZlcnNpb259fSwKLSAgICAge1pD Ul9DT0xPUl9NQU5BR0VSX1YxX0VPVEZfTkFNRVNfU1JHQiwKLS0gICAgIFRyYW5zZmVyVmVyc2lv bihnZng6OkNvbG9yU3BhY2U6OlRyYW5zZmVySUQ6OlNSR0IsIGtEZWZhdWx0U2luY2VWZXJzaW9u KX0sCi0rICAgICBUcmFuc2ZlclZlcnNpb257Z2Z4OjpDb2xvclNwYWNlOjpUcmFuc2ZlcklEOjpT UkdCLCBrRGVmYXVsdFNpbmNlVmVyc2lvbn19LAotICAgICB7WkNSX0NPTE9SX01BTkFHRVJfVjFf RU9URl9OQU1FU19CVDcwOSwKLS0gICAgIFRyYW5zZmVyVmVyc2lvbihnZng6OkNvbG9yU3BhY2U6 OlRyYW5zZmVySUQ6OkJUNzA5LAotLSAgICAgICAgICAgICAgICAgICAgIFpDUl9DT0xPUl9NQU5B R0VSX1YxX0VPVEZfTkFNRVNfQlQ3MDlfU0lOQ0VfVkVSU0lPTil9LAotKyAgICAgVHJhbnNmZXJW ZXJzaW9ue2dmeDo6Q29sb3JTcGFjZTo6VHJhbnNmZXJJRDo6QlQ3MDksCi0rICAgICAgICAgICAg ICAgICAgICAgWkNSX0NPTE9SX01BTkFHRVJfVjFfRU9URl9OQU1FU19CVDcwOV9TSU5DRV9WRVJT SU9OfX0sCi0gICAgIHtaQ1JfQ09MT1JfTUFOQUdFUl9WMV9FT1RGX05BTUVTX0JUMjA4NywKLS0g ICAgIFRyYW5zZmVyVmVyc2lvbihnZng6OkNvbG9yU3BhY2U6OlRyYW5zZmVySUQ6OkdBTU1BMjQs Ci0tICAgICAgICAgICAgICAgICAgICAga0RlZmF1bHRTaW5jZVZlcnNpb24pfSwKLSsgICAgIFRy YW5zZmVyVmVyc2lvbntnZng6OkNvbG9yU3BhY2U6OlRyYW5zZmVySUQ6OkdBTU1BMjQsCi0rICAg ICAgICAgICAgICAgICAgICAga0RlZmF1bHRTaW5jZVZlcnNpb259fSwKLSAgICAge1pDUl9DT0xP Ul9NQU5BR0VSX1YxX0VPVEZfTkFNRVNfQURPQkVSR0IsCi0gICAgICAvLyBUaGlzIGlzIGV2ZXIg c28gc2xpZ2h0bHkgaW5hY2N1cmF0ZS4gVGhlIG51bWJlciBvdWdodCB0byBiZQotICAgICAgLy8g Mi4xOTkyMTg3NWYsIG5vdCAyLjIKLS0gICAgIFRyYW5zZmVyVmVyc2lvbihnZng6OkNvbG9yU3Bh Y2U6OlRyYW5zZmVySUQ6OkdBTU1BMjIsCi0tICAgICAgICAgICAgICAgICAgICAga0RlZmF1bHRT aW5jZVZlcnNpb24pfSwKLSsgICAgIFRyYW5zZmVyVmVyc2lvbntnZng6OkNvbG9yU3BhY2U6OlRy YW5zZmVySUQ6OkdBTU1BMjIsCi0rICAgICAgICAgICAgICAgICAgICAga0RlZmF1bHRTaW5jZVZl cnNpb259fSwKLSAgICAge1pDUl9DT0xPUl9NQU5BR0VSX1YxX0VPVEZfTkFNRVNfUFEsCi0tICAg ICBUcmFuc2ZlclZlcnNpb24oZ2Z4OjpDb2xvclNwYWNlOjpUcmFuc2ZlcklEOjpQUSwga0RlZmF1 bHRTaW5jZVZlcnNpb24pfSwKLSsgICAgIFRyYW5zZmVyVmVyc2lvbntnZng6OkNvbG9yU3BhY2U6 OlRyYW5zZmVySUQ6OlBRLCBrRGVmYXVsdFNpbmNlVmVyc2lvbn19LAotICAgICB7WkNSX0NPTE9S X01BTkFHRVJfVjFfRU9URl9OQU1FU19ITEcsCi0tICAgICBUcmFuc2ZlclZlcnNpb24oZ2Z4OjpD b2xvclNwYWNlOjpUcmFuc2ZlcklEOjpITEcsCi0tICAgICAgICAgICAgICAgICAgICAgWkNSX0NP TE9SX01BTkFHRVJfVjFfRU9URl9OQU1FU19ITEdfU0lOQ0VfVkVSU0lPTil9LAotKyAgICAgVHJh bnNmZXJWZXJzaW9ue2dmeDo6Q29sb3JTcGFjZTo6VHJhbnNmZXJJRDo6SExHLAotKyAgICAgICAg ICAgICAgICAgICAgIFpDUl9DT0xPUl9NQU5BR0VSX1YxX0VPVEZfTkFNRVNfSExHX1NJTkNFX1ZF UlNJT059fSwKLSAgICAge1pDUl9DT0xPUl9NQU5BR0VSX1YxX0VPVEZfTkFNRVNfU01QVEUxNzBN LAotLSAgICAgVHJhbnNmZXJWZXJzaW9uKGdmeDo6Q29sb3JTcGFjZTo6VHJhbnNmZXJJRDo6U01Q VEUxNzBNLAotLSAgICAgICAgICAgICAgICAgICAgIFpDUl9DT0xPUl9NQU5BR0VSX1YxX0VPVEZf TkFNRVNfU01QVEUxNzBNX1NJTkNFX1ZFUlNJT04pfSwKLSsgICAgIFRyYW5zZmVyVmVyc2lvbntn Zng6OkNvbG9yU3BhY2U6OlRyYW5zZmVySUQ6OlNNUFRFMTcwTSwKLSsgICAgICAgICAgICAgICAg ICAgICBaQ1JfQ09MT1JfTUFOQUdFUl9WMV9FT1RGX05BTUVTX1NNUFRFMTcwTV9TSU5DRV9WRVJT SU9OfX0sCi0gICAgIHtaQ1JfQ09MT1JfTUFOQUdFUl9WMV9FT1RGX05BTUVTX1NNUFRFMjQwTSwK LS0gICAgIFRyYW5zZmVyVmVyc2lvbihnZng6OkNvbG9yU3BhY2U6OlRyYW5zZmVySUQ6OlNNUFRF MjQwTSwKLS0gICAgICAgICAgICAgICAgICAgICBaQ1JfQ09MT1JfTUFOQUdFUl9WMV9FT1RGX05B TUVTX1NNUFRFMjQwTV9TSU5DRV9WRVJTSU9OKX0sCi0rICAgICBUcmFuc2ZlclZlcnNpb257Z2Z4 OjpDb2xvclNwYWNlOjpUcmFuc2ZlcklEOjpTTVBURTI0ME0sCi0rICAgICAgICAgICAgICAgICAg ICAgWkNSX0NPTE9SX01BTkFHRVJfVjFfRU9URl9OQU1FU19TTVBURTI0ME1fU0lOQ0VfVkVSU0lP Tn19LAotICAgICB7WkNSX0NPTE9SX01BTkFHRVJfVjFfRU9URl9OQU1FU19TTVBURVNUNDI4XzEs Ci0tICAgICBUcmFuc2ZlclZlcnNpb24oCi0rICAgICBUcmFuc2ZlclZlcnNpb257Ci0gICAgICAg ICAgZ2Z4OjpDb2xvclNwYWNlOjpUcmFuc2ZlcklEOjpTTVBURVNUNDI4XzEsCi0tICAgICAgICAg WkNSX0NPTE9SX01BTkFHRVJfVjFfRU9URl9OQU1FU19TTVBURVNUNDI4XzFfU0lOQ0VfVkVSU0lP Til9LAotKyAgICAgICAgIFpDUl9DT0xPUl9NQU5BR0VSX1YxX0VPVEZfTkFNRVNfU01QVEVTVDQy OF8xX1NJTkNFX1ZFUlNJT059fSwKLSAgICAge1pDUl9DT0xPUl9NQU5BR0VSX1YxX0VPVEZfTkFN RVNfTE9HLAotLSAgICAgVHJhbnNmZXJWZXJzaW9uKGdmeDo6Q29sb3JTcGFjZTo6VHJhbnNmZXJJ RDo6TE9HLAotLSAgICAgICAgICAgICAgICAgICAgIFpDUl9DT0xPUl9NQU5BR0VSX1YxX0VPVEZf TkFNRVNfTE9HX1NJTkNFX1ZFUlNJT04pfSwKLSsgICAgIFRyYW5zZmVyVmVyc2lvbntnZng6OkNv bG9yU3BhY2U6OlRyYW5zZmVySUQ6OkxPRywKLSsgICAgICAgICAgICAgICAgICAgICBaQ1JfQ09M T1JfTUFOQUdFUl9WMV9FT1RGX05BTUVTX0xPR19TSU5DRV9WRVJTSU9OfX0sCi0gICAgIHtaQ1Jf Q09MT1JfTUFOQUdFUl9WMV9FT1RGX05BTUVTX0xPR19TUVJULAotLSAgICAgVHJhbnNmZXJWZXJz aW9uKGdmeDo6Q29sb3JTcGFjZTo6VHJhbnNmZXJJRDo6TE9HX1NRUlQsCi0tICAgICAgICAgICAg ICAgICAgICAgWkNSX0NPTE9SX01BTkFHRVJfVjFfRU9URl9OQU1FU19MT0dfU1FSVF9TSU5DRV9W RVJTSU9OKX0sCi0rICAgICBUcmFuc2ZlclZlcnNpb257Z2Z4OjpDb2xvclNwYWNlOjpUcmFuc2Zl cklEOjpMT0dfU1FSVCwKLSsgICAgICAgICAgICAgICAgICAgICBaQ1JfQ09MT1JfTUFOQUdFUl9W MV9FT1RGX05BTUVTX0xPR19TUVJUX1NJTkNFX1ZFUlNJT059fSwKLSAgICAge1pDUl9DT0xPUl9N QU5BR0VSX1YxX0VPVEZfTkFNRVNfSUVDNjE5NjZfMl80LAotLSAgICAgVHJhbnNmZXJWZXJzaW9u KAotKyAgICAgVHJhbnNmZXJWZXJzaW9uewotICAgICAgICAgIGdmeDo6Q29sb3JTcGFjZTo6VHJh bnNmZXJJRDo6SUVDNjE5NjZfMl80LAotLSAgICAgICAgIFpDUl9DT0xPUl9NQU5BR0VSX1YxX0VP VEZfTkFNRVNfSUVDNjE5NjZfMl80X1NJTkNFX1ZFUlNJT04pfSwKLSsgICAgICAgICBaQ1JfQ09M T1JfTUFOQUdFUl9WMV9FT1RGX05BTUVTX0lFQzYxOTY2XzJfNF9TSU5DRV9WRVJTSU9OfX0sCi0g ICAgIHtaQ1JfQ09MT1JfTUFOQUdFUl9WMV9FT1RGX05BTUVTX0JUMTM2MV9FQ0csCi0tICAgICBU cmFuc2ZlclZlcnNpb24oZ2Z4OjpDb2xvclNwYWNlOjpUcmFuc2ZlcklEOjpCVDEzNjFfRUNHLAot LSAgICAgICAgICAgICAgICAgICAgIFpDUl9DT0xPUl9NQU5BR0VSX1YxX0VPVEZfTkFNRVNfQlQx MzYxX0VDR19TSU5DRV9WRVJTSU9OKX0sCi0rICAgICBUcmFuc2ZlclZlcnNpb257Z2Z4OjpDb2xv clNwYWNlOjpUcmFuc2ZlcklEOjpCVDEzNjFfRUNHLAotKyAgICAgICAgICAgICAgICAgICAgIFpD Ul9DT0xPUl9NQU5BR0VSX1YxX0VPVEZfTkFNRVNfQlQxMzYxX0VDR19TSU5DRV9WRVJTSU9OfX0s Ci0gICAgIHtaQ1JfQ09MT1JfTUFOQUdFUl9WMV9FT1RGX05BTUVTX0JUMjAyMF8xMCwKLS0gICAg IFRyYW5zZmVyVmVyc2lvbihnZng6OkNvbG9yU3BhY2U6OlRyYW5zZmVySUQ6OkJUMjAyMF8xMCwK LS0gICAgICAgICAgICAgICAgICAgICBaQ1JfQ09MT1JfTUFOQUdFUl9WMV9FT1RGX05BTUVTX0JU MjAyMF8xMF9TSU5DRV9WRVJTSU9OKX0sCi0rICAgICBUcmFuc2ZlclZlcnNpb257Z2Z4OjpDb2xv clNwYWNlOjpUcmFuc2ZlcklEOjpCVDIwMjBfMTAsCi0rICAgICAgICAgICAgICAgICAgICAgWkNS X0NPTE9SX01BTkFHRVJfVjFfRU9URl9OQU1FU19CVDIwMjBfMTBfU0lOQ0VfVkVSU0lPTn19LAot ICAgICB7WkNSX0NPTE9SX01BTkFHRVJfVjFfRU9URl9OQU1FU19CVDIwMjBfMTIsCi0tICAgICBU cmFuc2ZlclZlcnNpb24oZ2Z4OjpDb2xvclNwYWNlOjpUcmFuc2ZlcklEOjpCVDIwMjBfMTIsCi0t ICAgICAgICAgICAgICAgICAgICAgWkNSX0NPTE9SX01BTkFHRVJfVjFfRU9URl9OQU1FU19CVDIw MjBfMTJfU0lOQ0VfVkVSU0lPTil9LAotKyAgICAgVHJhbnNmZXJWZXJzaW9ue2dmeDo6Q29sb3JT cGFjZTo6VHJhbnNmZXJJRDo6QlQyMDIwXzEyLAotKyAgICAgICAgICAgICAgICAgICAgIFpDUl9D T0xPUl9NQU5BR0VSX1YxX0VPVEZfTkFNRVNfQlQyMDIwXzEyX1NJTkNFX1ZFUlNJT059fSwKLSAg ICAge1pDUl9DT0xPUl9NQU5BR0VSX1YxX0VPVEZfTkFNRVNfU0NSR0JfTElORUFSXzgwX05JVFMs Ci0tICAgICBUcmFuc2ZlclZlcnNpb24oCi0rICAgICBUcmFuc2ZlclZlcnNpb257Ci0gICAgICAg ICAgZ2Z4OjpDb2xvclNwYWNlOjpUcmFuc2ZlcklEOjpTQ1JHQl9MSU5FQVJfODBfTklUUywKLS0g ICAgICAgICBaQ1JfQ09MT1JfTUFOQUdFUl9WMV9FT1RGX05BTUVTX1NDUkdCX0xJTkVBUl84MF9O SVRTX1NJTkNFX1ZFUlNJT04pfSwKLSsgICAgICAgICBaQ1JfQ09MT1JfTUFOQUdFUl9WMV9FT1RG X05BTUVTX1NDUkdCX0xJTkVBUl84MF9OSVRTX1NJTkNFX1ZFUlNJT059fSwKLSAgICAge1pDUl9D T0xPUl9NQU5BR0VSX1YxX0VPVEZfTkFNRVNfR0FNTUExOCwKLS0gICAgIFRyYW5zZmVyVmVyc2lv bihnZng6OkNvbG9yU3BhY2U6OlRyYW5zZmVySUQ6OkdBTU1BMTgsCi0tICAgICAgICAgICAgICAg ICAgICAgWkNSX0NPTE9SX01BTkFHRVJfVjFfRU9URl9OQU1FU19HQU1NQTE4X1NJTkNFX1ZFUlNJ T04pfSwKLSsgICAgIFRyYW5zZmVyVmVyc2lvbntnZng6OkNvbG9yU3BhY2U6OlRyYW5zZmVySUQ6 OkdBTU1BMTgsCi0rICAgICAgICAgICAgICAgICAgICAgWkNSX0NPTE9SX01BTkFHRVJfVjFfRU9U Rl9OQU1FU19HQU1NQTE4X1NJTkNFX1ZFUlNJT059fSwKLSAgICAge1pDUl9DT0xPUl9NQU5BR0VS X1YxX0VPVEZfTkFNRVNfR0FNTUEyOCwKLS0gICAgIFRyYW5zZmVyVmVyc2lvbihnZng6OkNvbG9y U3BhY2U6OlRyYW5zZmVySUQ6OkdBTU1BMjgsCi0tICAgICAgICAgICAgICAgICAgICAgWkNSX0NP TE9SX01BTkFHRVJfVjFfRU9URl9OQU1FU19HQU1NQTI4X1NJTkNFX1ZFUlNJT04pfSwKLSsgICAg IFRyYW5zZmVyVmVyc2lvbntnZng6OkNvbG9yU3BhY2U6OlRyYW5zZmVySUQ6OkdBTU1BMjgsCi0r ICAgICAgICAgICAgICAgICAgICAgWkNSX0NPTE9SX01BTkFHRVJfVjFfRU9URl9OQU1FU19HQU1N QTI4X1NJTkNFX1ZFUlNJT059fSwKLSB9KTsKLSAKLSAvLyBBIG1hcCBmcm9tIHRoZSBTRFIgemNy X2NvbG9yX21hbmFnZXJfdjEgZW90Zl9uYW1lcyBlbnVtIHZhbHVlcwotQEAgLTE3NCwxOCArMTc0 LDE4IEBAIGNvbnN0ZXhwciBhdXRvIGtFb3RmTWFwID0gYmFzZTo6TWFrZUZpeGUKLSBjb25zdGV4 cHIgYXV0byBrVHJhbnNmZXJNYXAgPQotICAgICBiYXNlOjpNYWtlRml4ZWRGbGF0TWFwPHpjcl9j b2xvcl9tYW5hZ2VyX3YxX2VvdGZfbmFtZXMsIFRyYW5zZmVyRm5WZXJzaW9uPih7Ci0gICAgICAg ICB7WkNSX0NPTE9SX01BTkFHRVJfVjFfRU9URl9OQU1FU19MSU5FQVIsCi0tICAgICAgICAgVHJh bnNmZXJGblZlcnNpb24oU2tOYW1lZFRyYW5zZmVyRm46OmtMaW5lYXIsIGtEZWZhdWx0U2luY2VW ZXJzaW9uKX0sCi0rICAgICAgICAgVHJhbnNmZXJGblZlcnNpb257U2tOYW1lZFRyYW5zZmVyRm46 OmtMaW5lYXIsIGtEZWZhdWx0U2luY2VWZXJzaW9ufX0sCi0gICAgICAgICB7WkNSX0NPTE9SX01B TkFHRVJfVjFfRU9URl9OQU1FU19TUkdCLAotLSAgICAgICAgIFRyYW5zZmVyRm5WZXJzaW9uKFNr TmFtZWRUcmFuc2ZlckZuRXh0OjprU1JHQiwga0RlZmF1bHRTaW5jZVZlcnNpb24pfSwKLSsgICAg ICAgICBUcmFuc2ZlckZuVmVyc2lvbntTa05hbWVkVHJhbnNmZXJGbkV4dDo6a1NSR0IsIGtEZWZh dWx0U2luY2VWZXJzaW9ufX0sCi0gICAgICAgICB7WkNSX0NPTE9SX01BTkFHRVJfVjFfRU9URl9O QU1FU19CVDcwOSwKLS0gICAgICAgICBUcmFuc2ZlckZuVmVyc2lvbigKLSsgICAgICAgICBUcmFu c2ZlckZuVmVyc2lvbnsKLSAgICAgICAgICAgICAgU2tOYW1lZFRyYW5zZmVyRm5FeHQ6OmtSZWM3 MDksCi0tICAgICAgICAgICAgIFpDUl9DT0xPUl9NQU5BR0VSX1YxX0VPVEZfTkFNRVNfQlQ3MDlf U0lOQ0VfVkVSU0lPTil9LAotKyAgICAgICAgICAgICBaQ1JfQ09MT1JfTUFOQUdFUl9WMV9FT1RG X05BTUVTX0JUNzA5X1NJTkNFX1ZFUlNJT059fSwKLSAgICAgICAgIHtaQ1JfQ09MT1JfTUFOQUdF Ul9WMV9FT1RGX05BTUVTX0JUMjA4NywKLS0gICAgICAgICBUcmFuc2ZlckZuVmVyc2lvbihnYW1t YTI0LCBrRGVmYXVsdFNpbmNlVmVyc2lvbil9LAotKyAgICAgICAgIFRyYW5zZmVyRm5WZXJzaW9u e2dhbW1hMjQsIGtEZWZhdWx0U2luY2VWZXJzaW9ufX0sCi0gICAgICAgICB7WkNSX0NPTE9SX01B TkFHRVJfVjFfRU9URl9OQU1FU19BRE9CRVJHQiwKLS0gICAgICAgICBUcmFuc2ZlckZuVmVyc2lv bihTa05hbWVkVHJhbnNmZXJGbkV4dDo6a0E5OFJHQiwKLS0gICAgICAgICAgICAgICAgICAgICAg ICAgICBrRGVmYXVsdFNpbmNlVmVyc2lvbil9LAotKyAgICAgICAgIFRyYW5zZmVyRm5WZXJzaW9u e1NrTmFtZWRUcmFuc2ZlckZuRXh0OjprQTk4UkdCLAotKyAgICAgICAgICAgICAgICAgICAgICAg ICAgIGtEZWZhdWx0U2luY2VWZXJzaW9ufX0sCi0gICAgIH0pOwotIAotIC8vIEEgbWFwIGZyb20g dGhlIEhEUiB6Y3JfY29sb3JfbWFuYWdlcl92MSBlb3RmX25hbWVzIGVudW0gdmFsdWVzCi1AQCAt MTk0LDY4ICsxOTQsNjggQEAgY29uc3RleHByIGF1dG8ga1RyYW5zZmVyTWFwID0KLSBjb25zdGV4 cHIgYXV0byBrSERSVHJhbnNmZXJNYXAgPQotICAgICBiYXNlOjpNYWtlRml4ZWRGbGF0TWFwPHpj cl9jb2xvcl9tYW5hZ2VyX3YxX2VvdGZfbmFtZXMsIFRyYW5zZmVyRm5WZXJzaW9uPigKLSAgICAg ICAgIHt7WkNSX0NPTE9SX01BTkFHRVJfVjFfRU9URl9OQU1FU19MSU5FQVIsCi0tICAgICAgICAg IFRyYW5zZmVyRm5WZXJzaW9uKFNrTmFtZWRUcmFuc2ZlckZuOjprTGluZWFyLCBrRGVmYXVsdFNp bmNlVmVyc2lvbil9LAotKyAgICAgICAgICBUcmFuc2ZlckZuVmVyc2lvbntTa05hbWVkVHJhbnNm ZXJGbjo6a0xpbmVhciwga0RlZmF1bHRTaW5jZVZlcnNpb259fSwKLSAgICAgICAgICB7WkNSX0NP TE9SX01BTkFHRVJfVjFfRU9URl9OQU1FU19TUkdCLAotLSAgICAgICAgICBUcmFuc2ZlckZuVmVy c2lvbihTa05hbWVkVHJhbnNmZXJGbkV4dDo6a1NSR0IsIGtEZWZhdWx0U2luY2VWZXJzaW9uKX0s Ci0rICAgICAgICAgIFRyYW5zZmVyRm5WZXJzaW9ue1NrTmFtZWRUcmFuc2ZlckZuRXh0OjprU1JH Qiwga0RlZmF1bHRTaW5jZVZlcnNpb259fSwKLSAgICAgICAgICB7WkNSX0NPTE9SX01BTkFHRVJf VjFfRU9URl9OQU1FU19QUSwKLS0gICAgICAgICAgVHJhbnNmZXJGblZlcnNpb24oU2tOYW1lZFRy YW5zZmVyRm46OmtQUSwga0RlZmF1bHRTaW5jZVZlcnNpb24pfSwKLSsgICAgICAgICAgVHJhbnNm ZXJGblZlcnNpb257U2tOYW1lZFRyYW5zZmVyRm46OmtQUSwga0RlZmF1bHRTaW5jZVZlcnNpb259 fSwKLSAgICAgICAgICB7WkNSX0NPTE9SX01BTkFHRVJfVjFfRU9URl9OQU1FU19ITEcsCi0tICAg ICAgICAgIFRyYW5zZmVyRm5WZXJzaW9uKFNrTmFtZWRUcmFuc2ZlckZuOjprSExHLAotLSAgICAg ICAgICAgICAgICAgICAgICAgICAgICBaQ1JfQ09MT1JfTUFOQUdFUl9WMV9FT1RGX05BTUVTX0hM R19TSU5DRV9WRVJTSU9OKX0sCi0rICAgICAgICAgIFRyYW5zZmVyRm5WZXJzaW9ue1NrTmFtZWRU cmFuc2ZlckZuOjprSExHLAotKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBaQ1JfQ09MT1Jf TUFOQUdFUl9WMV9FT1RGX05BTUVTX0hMR19TSU5DRV9WRVJTSU9OfX0sCi0gICAgICAgICAge1pD Ul9DT0xPUl9NQU5BR0VSX1YxX0VPVEZfTkFNRVNfRVhURU5ERURTUkdCMTAsCi0tICAgICAgICAg IFRyYW5zZmVyRm5WZXJzaW9uKAotKyAgICAgICAgICBUcmFuc2ZlckZuVmVyc2lvbnsKLSAgICAg ICAgICAgICAgIFNrTmFtZWRUcmFuc2ZlckZuRXh0OjprU1JHQkV4dGVuZGVkMTAyM092ZXI1MTAs Ci0tICAgICAgICAgICAgICBaQ1JfQ09MT1JfTUFOQUdFUl9WMV9FT1RGX05BTUVTX0VYVEVOREVE U1JHQjEwX1NJTkNFX1ZFUlNJT04pfX0pOwotKyAgICAgICAgICAgICAgWkNSX0NPTE9SX01BTkFH RVJfVjFfRU9URl9OQU1FU19FWFRFTkRFRFNSR0IxMF9TSU5DRV9WRVJTSU9OfX19KTsKLSAKLSAv LyBBIG1hcCBmcm9tIHpjcl9jb2xvcl9tYW5hZ2VyX3YxIG1hdHJpeF9uYW1lcyBlbnVtIHZhbHVl cyB0bwotIC8vIGdmeDo6Q29sb3JTcGFjZTo6TWF0cml4SURzLgotIGNvbnN0ZXhwciBhdXRvIGtN YXRyaXhNYXAgPQotICAgICBiYXNlOjpNYWtlRml4ZWRGbGF0TWFwPHpjcl9jb2xvcl9tYW5hZ2Vy X3YxX21hdHJpeF9uYW1lcywgTWF0cml4VmVyc2lvbj4oCi0gICAgICAgICB7e1pDUl9DT0xPUl9N QU5BR0VSX1YxX01BVFJJWF9OQU1FU19SR0IsCi0tICAgICAgICAgIE1hdHJpeFZlcnNpb24oZ2Z4 OjpDb2xvclNwYWNlOjpNYXRyaXhJRDo6UkdCLCBrRGVmYXVsdFNpbmNlVmVyc2lvbil9LAotKyAg ICAgICAgICBNYXRyaXhWZXJzaW9ue2dmeDo6Q29sb3JTcGFjZTo6TWF0cml4SUQ6OlJHQiwga0Rl ZmF1bHRTaW5jZVZlcnNpb259fSwKLSAgICAgICAgICB7WkNSX0NPTE9SX01BTkFHRVJfVjFfTUFU UklYX05BTUVTX0JUNzA5LAotLSAgICAgICAgICBNYXRyaXhWZXJzaW9uKGdmeDo6Q29sb3JTcGFj ZTo6TWF0cml4SUQ6OkJUNzA5LAotLSAgICAgICAgICAgICAgICAgICAgICAgIGtEZWZhdWx0U2lu Y2VWZXJzaW9uKX0sCi0rICAgICAgICAgIE1hdHJpeFZlcnNpb257Z2Z4OjpDb2xvclNwYWNlOjpN YXRyaXhJRDo6QlQ3MDksCi0rICAgICAgICAgICAgICAgICAgICAgICAga0RlZmF1bHRTaW5jZVZl cnNpb259fSwKLSAgICAgICAgICB7WkNSX0NPTE9SX01BTkFHRVJfVjFfTUFUUklYX05BTUVTX0JU NDcwQkcsCi0tICAgICAgICAgIE1hdHJpeFZlcnNpb24oCi0rICAgICAgICAgIE1hdHJpeFZlcnNp b257Ci0gICAgICAgICAgICAgICBnZng6OkNvbG9yU3BhY2U6Ok1hdHJpeElEOjpCVDQ3MEJHLAot LSAgICAgICAgICAgICAgWkNSX0NPTE9SX01BTkFHRVJfVjFfTUFUUklYX05BTUVTX0JUNDcwQkdf U0lOQ0VfVkVSU0lPTil9LAotKyAgICAgICAgICAgICAgWkNSX0NPTE9SX01BTkFHRVJfVjFfTUFU UklYX05BTUVTX0JUNDcwQkdfU0lOQ0VfVkVSU0lPTn19LAotICAgICAgICAgIHtaQ1JfQ09MT1Jf TUFOQUdFUl9WMV9NQVRSSVhfTkFNRVNfQlQyMDIwX05DTCwKLS0gICAgICAgICAgTWF0cml4VmVy c2lvbihnZng6OkNvbG9yU3BhY2U6Ok1hdHJpeElEOjpCVDIwMjBfTkNMLAotLSAgICAgICAgICAg ICAgICAgICAgICAgIGtEZWZhdWx0U2luY2VWZXJzaW9uKX0sCi0rICAgICAgICAgIE1hdHJpeFZl cnNpb257Z2Z4OjpDb2xvclNwYWNlOjpNYXRyaXhJRDo6QlQyMDIwX05DTCwKLSsgICAgICAgICAg ICAgICAgICAgICAgICBrRGVmYXVsdFNpbmNlVmVyc2lvbn19LAotICAgICAgICAgIHtaQ1JfQ09M T1JfTUFOQUdFUl9WMV9NQVRSSVhfTkFNRVNfQlQyMDIwX0NMLAotLSAgICAgICAgICBNYXRyaXhW ZXJzaW9uKGdmeDo6Q29sb3JTcGFjZTo6TWF0cml4SUQ6OkJUMjAyMF9DTCwKLS0gICAgICAgICAg ICAgICAgICAgICAgICBrRGVmYXVsdFNpbmNlVmVyc2lvbil9LAotKyAgICAgICAgICBNYXRyaXhW ZXJzaW9ue2dmeDo6Q29sb3JTcGFjZTo6TWF0cml4SUQ6OkJUMjAyMF9DTCwKLSsgICAgICAgICAg ICAgICAgICAgICAgICBrRGVmYXVsdFNpbmNlVmVyc2lvbn19LAotICAgICAgICAgIHtaQ1JfQ09M T1JfTUFOQUdFUl9WMV9NQVRSSVhfTkFNRVNfRkNDLAotLSAgICAgICAgICBNYXRyaXhWZXJzaW9u KGdmeDo6Q29sb3JTcGFjZTo6TWF0cml4SUQ6OkZDQywga0RlZmF1bHRTaW5jZVZlcnNpb24pfSwK LSsgICAgICAgICAgTWF0cml4VmVyc2lvbntnZng6OkNvbG9yU3BhY2U6Ok1hdHJpeElEOjpGQ0Ms IGtEZWZhdWx0U2luY2VWZXJzaW9ufX0sCi0gICAgICAgICAge1pDUl9DT0xPUl9NQU5BR0VSX1Yx X01BVFJJWF9OQU1FU19ZQ09DRywKLS0gICAgICAgICAgTWF0cml4VmVyc2lvbihnZng6OkNvbG9y U3BhY2U6Ok1hdHJpeElEOjpZQ09DRywKLS0gICAgICAgICAgICAgICAgICAgICAgICBaQ1JfQ09M T1JfTUFOQUdFUl9WMV9NQVRSSVhfTkFNRVNfWUNPQ0dfU0lOQ0VfVkVSU0lPTil9LAotKyAgICAg ICAgICBNYXRyaXhWZXJzaW9ue2dmeDo6Q29sb3JTcGFjZTo6TWF0cml4SUQ6OllDT0NHLAotKyAg ICAgICAgICAgICAgICAgICAgICAgIFpDUl9DT0xPUl9NQU5BR0VSX1YxX01BVFJJWF9OQU1FU19Z Q09DR19TSU5DRV9WRVJTSU9OfX0sCi0gICAgICAgICAge1pDUl9DT0xPUl9NQU5BR0VSX1YxX01B VFJJWF9OQU1FU19ZRFpEWCwKLS0gICAgICAgICAgTWF0cml4VmVyc2lvbihnZng6OkNvbG9yU3Bh Y2U6Ok1hdHJpeElEOjpZRFpEWCwKLS0gICAgICAgICAgICAgICAgICAgICAgICBaQ1JfQ09MT1Jf TUFOQUdFUl9WMV9NQVRSSVhfTkFNRVNfWURaRFhfU0lOQ0VfVkVSU0lPTil9LAotKyAgICAgICAg ICBNYXRyaXhWZXJzaW9ue2dmeDo6Q29sb3JTcGFjZTo6TWF0cml4SUQ6OllEWkRYLAotKyAgICAg ICAgICAgICAgICAgICAgICAgIFpDUl9DT0xPUl9NQU5BR0VSX1YxX01BVFJJWF9OQU1FU19ZRFpE WF9TSU5DRV9WRVJTSU9OfX0sCi0gICAgICAgICAge1pDUl9DT0xPUl9NQU5BR0VSX1YxX01BVFJJ WF9OQU1FU19HQlIsCi0tICAgICAgICAgIE1hdHJpeFZlcnNpb24oZ2Z4OjpDb2xvclNwYWNlOjpN YXRyaXhJRDo6R0JSLAotLSAgICAgICAgICAgICAgICAgICAgICAgIFpDUl9DT0xPUl9NQU5BR0VS X1YxX01BVFJJWF9OQU1FU19HQlJfU0lOQ0VfVkVSU0lPTil9LAotKyAgICAgICAgICBNYXRyaXhW ZXJzaW9ue2dmeDo6Q29sb3JTcGFjZTo6TWF0cml4SUQ6OkdCUiwKLSsgICAgICAgICAgICAgICAg ICAgICAgICBaQ1JfQ09MT1JfTUFOQUdFUl9WMV9NQVRSSVhfTkFNRVNfR0JSX1NJTkNFX1ZFUlNJ T059fSwKLSAgICAgICAgICB7WkNSX0NPTE9SX01BTkFHRVJfVjFfTUFUUklYX05BTUVTX1NNUFRF MTcwTSwKLS0gICAgICAgICAgTWF0cml4VmVyc2lvbihnZng6OkNvbG9yU3BhY2U6Ok1hdHJpeElE OjpTTVBURTE3ME0sCi0tICAgICAgICAgICAgICAgICAgICAgICAga0RlZmF1bHRTaW5jZVZlcnNp b24pfSwKLSsgICAgICAgICAgTWF0cml4VmVyc2lvbntnZng6OkNvbG9yU3BhY2U6Ok1hdHJpeElE OjpTTVBURTE3ME0sCi0rICAgICAgICAgICAgICAgICAgICAgICAga0RlZmF1bHRTaW5jZVZlcnNp b259fSwKLSAgICAgICAgICB7WkNSX0NPTE9SX01BTkFHRVJfVjFfTUFUUklYX05BTUVTX1NNUFRF MjQwTSwKLS0gICAgICAgICAgTWF0cml4VmVyc2lvbihnZng6OkNvbG9yU3BhY2U6Ok1hdHJpeElE OjpTTVBURTI0ME0sCi0tICAgICAgICAgICAgICAgICAgICAgICAga0RlZmF1bHRTaW5jZVZlcnNp b24pfX0pOwotKyAgICAgICAgICBNYXRyaXhWZXJzaW9ue2dmeDo6Q29sb3JTcGFjZTo6TWF0cml4 SUQ6OlNNUFRFMjQwTSwKLSsgICAgICAgICAgICAgICAgICAgICAgICBrRGVmYXVsdFNpbmNlVmVy c2lvbn19fSk7Ci0gCi0gLy8gQSBtYXAgZnJvbSB6Y3JfY29sb3JfbWFuYWdlcl92MSByYW5nZV9u YW1lcyBlbnVtIHZhbHVlcyB0bwotIC8vIGdmeDo6Q29sb3JTcGFjZTo6UmFuZ2VJRHMuCi0gY29u c3RleHByIGF1dG8ga1JhbmdlTWFwID0KLSAgICAgYmFzZTo6TWFrZUZpeGVkRmxhdE1hcDx6Y3Jf Y29sb3JfbWFuYWdlcl92MV9yYW5nZV9uYW1lcywgUmFuZ2VWZXJzaW9uPigKLSAgICAgICAgIHt7 WkNSX0NPTE9SX01BTkFHRVJfVjFfUkFOR0VfTkFNRVNfTElNSVRFRCwKLS0gICAgICAgICAgUmFu Z2VWZXJzaW9uKGdmeDo6Q29sb3JTcGFjZTo6UmFuZ2VJRDo6TElNSVRFRCwKLS0gICAgICAgICAg ICAgICAgICAgICAgIGtEZWZhdWx0U2luY2VWZXJzaW9uKX0sCi0rICAgICAgICAgIFJhbmdlVmVy c2lvbntnZng6OkNvbG9yU3BhY2U6OlJhbmdlSUQ6OkxJTUlURUQsCi0rICAgICAgICAgICAgICAg ICAgICAgICBrRGVmYXVsdFNpbmNlVmVyc2lvbn19LAotICAgICAgICAgIHtaQ1JfQ09MT1JfTUFO QUdFUl9WMV9SQU5HRV9OQU1FU19GVUxMLAotLSAgICAgICAgICBSYW5nZVZlcnNpb24oZ2Z4OjpD b2xvclNwYWNlOjpSYW5nZUlEOjpGVUxMLCBrRGVmYXVsdFNpbmNlVmVyc2lvbil9LAotKyAgICAg ICAgICBSYW5nZVZlcnNpb257Z2Z4OjpDb2xvclNwYWNlOjpSYW5nZUlEOjpGVUxMLCBrRGVmYXVs dFNpbmNlVmVyc2lvbn19LAotICAgICAgICAgIHtaQ1JfQ09MT1JfTUFOQUdFUl9WMV9SQU5HRV9O QU1FU19ERVJJVkVELAotLSAgICAgICAgICBSYW5nZVZlcnNpb24oZ2Z4OjpDb2xvclNwYWNlOjpS YW5nZUlEOjpERVJJVkVELAotLSAgICAgICAgICAgICAgICAgICAgICAga0RlZmF1bHRTaW5jZVZl cnNpb24pfX0pOwotKyAgICAgICAgICBSYW5nZVZlcnNpb257Z2Z4OjpDb2xvclNwYWNlOjpSYW5n ZUlEOjpERVJJVkVELAotKyAgICAgICAgICAgICAgICAgICAgICAga0RlZmF1bHRTaW5jZVZlcnNp b259fX0pOwotIAotIHpjcl9jb2xvcl9tYW5hZ2VyX3YxX2Nocm9tYXRpY2l0eV9uYW1lcyBUb0Nv bG9yTWFuYWdlckNocm9tYXRpY2l0eSgKLSAgICAgZ2Z4OjpDb2xvclNwYWNlOjpQcmltYXJ5SUQg cHJpbWFyeUlELAotZGlmZiAtdXAgY2hyb21pdW0tMTE2LjAuNTg0NS41MC9jaHJvbWUvYnJvd3Nl ci91aS9vbW5pYm94L2Nocm9tZV9vbW5pYm94X2NsaWVudC5jYy5tZSBjaHJvbWl1bS0xMTYuMC41 ODQ1LjUwL2Nocm9tZS9icm93c2VyL3VpL29tbmlib3gvY2hyb21lX29tbmlib3hfY2xpZW50LmNj Ci0tLS0gY2hyb21pdW0tMTE2LjAuNTg0NS41MC9jaHJvbWUvYnJvd3Nlci91aS9vbW5pYm94L2No cm9tZV9vbW5pYm94X2NsaWVudC5jYy5tZQkyMDIzLTA4LTAzIDEzOjIzOjMzLjc0ODM5NDYxNSAr MDIwMAotKysrIGNocm9taXVtLTExNi4wLjU4NDUuNTAvY2hyb21lL2Jyb3dzZXIvdWkvb21uaWJv eC9jaHJvbWVfb21uaWJveF9jbGllbnQuY2MJMjAyMy0wOC0wMyAxMzoyNTowMS4xNDA0ODk4NDAg KzAyMDAKLUBAIC00NzAsMTAgKzQ3MCwxMCBAQCB2b2lkIENocm9tZU9tbmlib3hDbGllbnQ6Ok9u QXV0b2NvbXBsZXRlCi0gICAgICAgICAgICAgICBhbHRlcm5hdGl2ZV9uYXZfbWF0Y2gpOwotIAot ICAgLy8gU3RvcmUgdGhlIGRldGFpbHMgbmVjZXNzYXJ5IHRvIG9wZW4gdGhlIG9tbmlib3ggbWF0 Y2ggdmlhIGJyb3dzZXIgY29tbWFuZHMuCi0tICBsb2NhdGlvbl9iYXJfLT5zZXRfbmF2aWdhdGlv bl9wYXJhbXMoTG9jYXRpb25CYXI6Ok5hdmlnYXRpb25QYXJhbXMoCi0rICBsb2NhdGlvbl9iYXJf LT5zZXRfbmF2aWdhdGlvbl9wYXJhbXMoTG9jYXRpb25CYXI6Ok5hdmlnYXRpb25QYXJhbXN7Ci0g ICAgICAgZGVzdGluYXRpb25fdXJsLCBkaXNwb3NpdGlvbiwgdHJhbnNpdGlvbiwgbWF0Y2hfc2Vs ZWN0aW9uX3RpbWVzdGFtcCwKLSAgICAgICBkZXN0aW5hdGlvbl91cmxfZW50ZXJlZF93aXRob3V0 X3NjaGVtZSwKLS0gICAgICBkZXN0aW5hdGlvbl91cmxfZW50ZXJlZF93aXRoX2h0dHBfc2NoZW1l KSk7Ci0rICAgICAgZGVzdGluYXRpb25fdXJsX2VudGVyZWRfd2l0aF9odHRwX3NjaGVtZX0pOwot IAotICAgaWYgKGJyb3dzZXJfKSB7Ci0gICAgIGF1dG8gbmF2aWdhdGlvbiA9IGNocm9tZTo6T3Bl bkN1cnJlbnRVUkwoYnJvd3Nlcl8pOwotZGlmZiAtdXAgY2hyb21pdW0tMTE3LjAuNTkzOC42Mi9u ZXQvZG5zL2hvc3RfcmVzb2x2ZXJfY2FjaGUuY2MubWUgY2hyb21pdW0tMTE3LjAuNTkzOC42Mi9u ZXQvZG5zL2hvc3RfcmVzb2x2ZXJfY2FjaGUuY2MKLWRpZmYgLXVwIGNocm9taXVtLTExNy4wLjU5 MzguNjIvdGhpcmRfcGFydHkvYmxpbmsvcmVuZGVyZXIvcGxhdGZvcm0vZm9udHMvZm9udF9wYWxl dHRlLmgubWUgY2hyb21pdW0tMTE3LjAuNTkzOC42Mi90aGlyZF9wYXJ0eS9ibGluay9yZW5kZXJl ci9wbGF0Zm9ybS9mb250cy9mb250X3BhbGV0dGUuaAotLS0tIGNocm9taXVtLTExNy4wLjU5Mzgu NjIvdGhpcmRfcGFydHkvYmxpbmsvcmVuZGVyZXIvcGxhdGZvcm0vZm9udHMvZm9udF9wYWxldHRl LmgubWUJMjAyMy0wOS0xNSAxMDo0ODo0MS4zMzAyOTQyNDEgKzAyMDAKLSsrKyBjaHJvbWl1bS0x MTcuMC41OTM4LjYyL3RoaXJkX3BhcnR5L2JsaW5rL3JlbmRlcmVyL3BsYXRmb3JtL2ZvbnRzL2Zv bnRfcGFsZXR0ZS5oCTIwMjMtMDktMTUgMTA6NTE6MjQuNTAxMzI0NDE2ICswMjAwCi1AQCAtOTYs NyArOTYsNyBAQCBjbGFzcyBQTEFURk9STV9FWFBPUlQgRm9udFBhbGV0dGUgOiBwdWJsCi0gICAg ICAgQ29sb3I6OkNvbG9yU3BhY2UgY29sb3JfaW50ZXJwb2xhdGlvbl9zcGFjZSwKLSAgICAgICBh YnNsOjpvcHRpb25hbDxDb2xvcjo6SHVlSW50ZXJwb2xhdGlvbk1ldGhvZD4gaHVlX2ludGVycG9s YXRpb25fbWV0aG9kKSB7Ci0gICAgIHJldHVybiBiYXNlOjpBZG9wdFJlZihuZXcgRm9udFBhbGV0 dGUoCi0tICAgICAgICBzdGFydCwgZW5kLCBOb25Ob3JtYWxpemVkUGVyY2VudGFnZXMoc3RhcnRf cGVyY2VudGFnZSwgZW5kX3BlcmNlbnRhZ2UpLAotKyAgICAgICAgc3RhcnQsIGVuZCwgTm9uTm9y bWFsaXplZFBlcmNlbnRhZ2Vze3N0YXJ0X3BlcmNlbnRhZ2UsIGVuZF9wZXJjZW50YWdlfSwKLSAg ICAgICAgIG5vcm1hbGl6ZWRfcGVyY2VudGFnZSwgYWxwaGFfbXVsdGlwbGllciwgY29sb3JfaW50 ZXJwb2xhdGlvbl9zcGFjZSwKLSAgICAgICAgIGh1ZV9pbnRlcnBvbGF0aW9uX21ldGhvZCkpOwot ICAgfQotQEAgLTE3MCw3ICsxNzAsNyBAQCBjbGFzcyBQTEFURk9STV9FWFBPUlQgRm9udFBhbGV0 dGUgOiBwdWJsCi0gICAgICAgZG91YmxlIG5vcm1hbGl6ZWRfcGVyY2VudGFnZSkgewotICAgICBk b3VibGUgZW5kX3BlcmNlbnRhZ2UgPSBub3JtYWxpemVkX3BlcmNlbnRhZ2UgKiAxMDAuMDsKLSAg ICAgZG91YmxlIHN0YXJ0X3BlcmNlbnRhZ2UgPSAxMDAuMCAtIGVuZF9wZXJjZW50YWdlOwotLSAg ICByZXR1cm4gTm9uTm9ybWFsaXplZFBlcmNlbnRhZ2VzKHN0YXJ0X3BlcmNlbnRhZ2UsIGVuZF9w ZXJjZW50YWdlKTsKLSsgICAgcmV0dXJuIE5vbk5vcm1hbGl6ZWRQZXJjZW50YWdlc3tzdGFydF9w ZXJjZW50YWdlLCBlbmRfcGVyY2VudGFnZX07Ci0gICB9Ci0gCi0gICBkb3VibGUgR2V0QWxwaGFN dWx0aXBsaWVyKCkgY29uc3QgewotZGlmZiAtdXAgY2hyb21pdW0tMTE3LjAuNTkzOC42Mi9jb250 ZW50L2Jyb3dzZXIvcmVuZGVyZXJfaG9zdC9yZW5kZXJfZnJhbWVfaG9zdF9pbXBsLmNjLm1lIGNo cm9taXVtLTExNy4wLjU5MzguNjIvY29udGVudC9icm93c2VyL3JlbmRlcmVyX2hvc3QvcmVuZGVy X2ZyYW1lX2hvc3RfaW1wbC5jYwotLS0tIGNocm9taXVtLTExNy4wLjU5MzguNjIvY29udGVudC9i cm93c2VyL3JlbmRlcmVyX2hvc3QvcmVuZGVyX2ZyYW1lX2hvc3RfaW1wbC5jYy5tZQkyMDIzLTA5 LTE1IDEyOjE3OjM1LjY2NDg2MTI1NyArMDIwMAotKysrIGNocm9taXVtLTExNy4wLjU5MzguNjIv Y29udGVudC9icm93c2VyL3JlbmRlcmVyX2hvc3QvcmVuZGVyX2ZyYW1lX2hvc3RfaW1wbC5jYwky MDIzLTA5LTE1IDEyOjIxOjA2LjExMjY5NDI1NiArMDIwMAotQEAgLTg1MDksNyArODUwOSw3IEBA IHZvaWQgUmVuZGVyRnJhbWVIb3N0SW1wbDo6U2VuZEZlbmNlZEZyYW0KLSAgIGZvciAoY29uc3Qg Ymxpbms6OkZlbmNlZEZyYW1lOjpSZXBvcnRpbmdEZXN0aW5hdGlvbiYgZGVzdGluYXRpb24gOgot ICAgICAgICBkZXN0aW5hdGlvbnMpIHsKLSAgICAgU2VuZEZlbmNlZEZyYW1lUmVwb3J0aW5nQmVh Y29uSW50ZXJuYWwoCi0tICAgICAgICBEZXN0aW5hdGlvbkVudW1FdmVudChldmVudF90eXBlLCBl dmVudF9kYXRhKSwgZGVzdGluYXRpb24sCi0rICAgICAgICBEZXN0aW5hdGlvbkVudW1FdmVudHtl dmVudF90eXBlLCBldmVudF9kYXRhfSwgZGVzdGluYXRpb24sCi0gICAgICAgICAvKmZyb21fcmVu ZGVyZXI9Ki90cnVlLCBhdHRyaWJ1dGlvbl9yZXBvcnRpbmdfcnVudGltZV9mZWF0dXJlcywKLSAg ICAgICAgIEdldEZyYW1lVHJlZU5vZGVJZCgpKTsKLSAgIH0KLUBAIC04NTQ1LDcgKzg1NDUsNyBA QCB2b2lkIFJlbmRlckZyYW1lSG9zdEltcGw6OlNlbmRGZW5jZWRGcmFtCi0gICB9Ci0gCi0gICBT ZW5kRmVuY2VkRnJhbWVSZXBvcnRpbmdCZWFjb25JbnRlcm5hbCgKLS0gICAgICBEZXN0aW5hdGlv blVSTEV2ZW50KGRlc3RpbmF0aW9uX3VybCksCi0rICAgICAgRGVzdGluYXRpb25VUkxFdmVudHtk ZXN0aW5hdGlvbl91cmx9LAotICAgICAgIGJsaW5rOjpGZW5jZWRGcmFtZTo6UmVwb3J0aW5nRGVz dGluYXRpb246OmtCdXllciwKLSAgICAgICAvKmZyb21fcmVuZGVyZXI9Ki90cnVlLCBhdHRyaWJ1 dGlvbl9yZXBvcnRpbmdfcnVudGltZV9mZWF0dXJlcywKLSAgICAgICBHZXRGcmFtZVRyZWVOb2Rl SWQoKSk7Ci1AQCAtODYxNyw4ICs4NjE3LDggQEAgdm9pZCBSZW5kZXJGcmFtZUhvc3RJbXBsOjpN YXliZVNlbmRGZW5jZQotICAgZm9yIChibGluazo6RmVuY2VkRnJhbWU6OlJlcG9ydGluZ0Rlc3Rp bmF0aW9uIGRlc3RpbmF0aW9uIDoKLSAgICAgICAgaW5mby0+ZGVzdGluYXRpb25zKSB7Ci0gICAg IGluaXRpYXRvcl9yZmgtPlNlbmRGZW5jZWRGcmFtZVJlcG9ydGluZ0JlYWNvbkludGVybmFsKAot LSAgICAgICAgRGVzdGluYXRpb25FbnVtRXZlbnQoYmxpbms6OmtGZW5jZWRGcmFtZVRvcE5hdmln YXRpb25CZWFjb25UeXBlLAotLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW5mby0+ZGF0 YSksCi0rICAgICAgICBEZXN0aW5hdGlvbkVudW1FdmVudHtibGluazo6a0ZlbmNlZEZyYW1lVG9w TmF2aWdhdGlvbkJlYWNvblR5cGUsCi0rICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbmZv LT5kYXRhfSwKLSAgICAgICAgIGRlc3RpbmF0aW9uLAotICAgICAgICAgLypmcm9tX3JlbmRlcmVy PSovZmFsc2UsIGluZm8tPmF0dHJpYnV0aW9uX3JlcG9ydGluZ19ydW50aW1lX2ZlYXR1cmVzLAot ICAgICAgICAgR2V0RnJhbWVUcmVlTm9kZUlkKCksIG5hdmlnYXRpb25fcmVxdWVzdC5HZXROYXZp Z2F0aW9uSWQoKSk7Ci1kaWZmIC11cCBjaHJvbWl1bS0xMTcuMC41OTM4LjYyL2Nocm9tZS9icm93 c2VyL2VudGVycHJpc2UvcHJvZmlsZV9tYW5hZ2VtZW50L3Byb2ZpbGVfbWFuYWdlbWVudF9uYXZp Z2F0aW9uX3Rocm90dGxlLmNjLm1lIGNocm9taXVtLTExNy4wLjU5MzguNjIvY2hyb21lL2Jyb3dz ZXIvZW50ZXJwcmlzZS9wcm9maWxlX21hbmFnZW1lbnQvcHJvZmlsZV9tYW5hZ2VtZW50X25hdmln YXRpb25fdGhyb3R0bGUuY2MKLS0tLSBjaHJvbWl1bS0xMTcuMC41OTM4LjYyL2Nocm9tZS9icm93 c2VyL2VudGVycHJpc2UvcHJvZmlsZV9tYW5hZ2VtZW50L3Byb2ZpbGVfbWFuYWdlbWVudF9uYXZp Z2F0aW9uX3Rocm90dGxlLmNjLm1lCTIwMjMtMDktMTUgMjI6MDQ6MDkuMjMzMzU2NjI3ICswMjAw Ci0rKysgY2hyb21pdW0tMTE3LjAuNTkzOC42Mi9jaHJvbWUvYnJvd3Nlci9lbnRlcnByaXNlL3By b2ZpbGVfbWFuYWdlbWVudC9wcm9maWxlX21hbmFnZW1lbnRfbmF2aWdhdGlvbl90aHJvdHRsZS5j YwkyMDIzLTA5LTE1IDIyOjA1OjQ0LjEyNjA2Mzk5MiArMDIwMAotQEAgLTY3LDggKzY3LDggQEAg YmFzZTo6ZmxhdF9tYXA8c3RkOjpzdHJpbmcsIFNBTUxQcm9maWxlQQotICAgLy8gVE9ETyhjcmJ1 Zy5jb20vMTQ0NTA3Mik6IEFkZCBhY3R1YWwgZG9tYWlucyB3aXRoIGF0dHJpYnV0ZSBuYW1lcy4K LSAgIHByb2ZpbGVfYXR0cmlidXRlcy0+aW5zZXJ0KHN0ZDo6bWFrZV9wYWlyKAotICAgICAgICJz dXBwb3J0ZWQudGVzdCIsCi0tICAgICAgU0FNTFByb2ZpbGVBdHRyaWJ1dGVzKCJwbGFjZWhvbGRl ck5hbWUiLCAicGxhY2Vob2xkZXJEb21haW4iLAotLSAgICAgICAgICAgICAgICAgICAgICAgICAg ICAicGxhY2Vob2xkZXJUb2tlbiIpKSk7Ci0rICAgICAgU0FNTFByb2ZpbGVBdHRyaWJ1dGVzeyJw bGFjZWhvbGRlck5hbWUiLCAicGxhY2Vob2xkZXJEb21haW4iLAotKyAgICAgICAgICAgICAgICAg ICAgICAgICAgICAicGxhY2Vob2xkZXJUb2tlbiJ9KSk7Ci0gCi0gICAvLyBFeHRyYWN0IGRvbWFp bnMgYW5kIGF0dHJpYnV0ZXMgZnJvbSB0aGUgY29tbWFuZCBsaW5lIHN3aXRjaC4KLSAgIGNvbnN0 IGJhc2U6OkNvbW1hbmRMaW5lJiBjb21tYW5kX2xpbmUgPQoKZGlmZiAtLWdpdCBhL2Nocm9taXVt LTExNy1weXRob24tMy4xMi1kZXByZWNhdGVkLnBhdGNoIGIvY2hyb21pdW0tMTE3LXB5dGhvbi0z LjEyLWRlcHJlY2F0ZWQucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDBkMDJm Y2IuLjAwMDAwMDAKLS0tIGEvY2hyb21pdW0tMTE3LXB5dGhvbi0zLjEyLWRlcHJlY2F0ZWQucGF0 Y2gKKysrIC9kZXYvbnVsbApAQCAtMSwxNTAgKzAsMCBAQAotZGlmZiAtdXAgY2hyb21pdW0tMTE1 LjAuNTc5MC4xMDIvYmFzZS93cml0ZV9idWlsZF9kYXRlX2hlYWRlci5weS5tZSBjaHJvbWl1bS0x MTUuMC41NzkwLjEwMi9iYXNlL3dyaXRlX2J1aWxkX2RhdGVfaGVhZGVyLnB5Ci0tLS0gY2hyb21p dW0tMTE1LjAuNTc5MC4xMDIvYmFzZS93cml0ZV9idWlsZF9kYXRlX2hlYWRlci5weS5tZQkyMDIz LTA3LTIyIDE0OjIzOjQyLjYyMDY3OTM5NyArMDIwMAotKysrIGNocm9taXVtLTExNS4wLjU3OTAu MTAyL2Jhc2Uvd3JpdGVfYnVpbGRfZGF0ZV9oZWFkZXIucHkJMjAyMy0wNy0yMiAxNToyNDo0Ni44 MzMzMTAzMTAgKzAyMDAKLUBAIC0xNyw3ICsxNyw3IEBAIGRlZiBtYWluKCk6Ci0gICBhcmdzID0g YXJndW1lbnRfcGFyc2VyLnBhcnNlX2FyZ3MoKQotIAotICAgZGF0ZV92YWwgPSBpbnQoYXJncy50 aW1lc3RhbXApCi0tICBkYXRlID0gZGF0ZXRpbWUuZGF0ZXRpbWUudXRjZnJvbXRpbWVzdGFtcChk YXRlX3ZhbCkKLSsgIGRhdGUgPSAgZGF0ZXRpbWUuZGF0ZXRpbWUuZnJvbXRpbWVzdGFtcChkYXRl X3ZhbCwgZGF0ZXRpbWUudGltZXpvbmUudXRjKQotICAgb3V0cHV0ID0gKCcvLyBHZW5lcmF0ZWQg YnkgLy9iYXNlL3dyaXRlX2J1aWxkX2RhdGVfaGVhZGVyLnB5XG4nCi0gICAgICAgICAgICAgJyNp Zm5kZWYgQkFTRV9HRU5FUkFURURfQlVJTERfREFURV9USU1FU1RBTVAgXG4nCi0gICAgICAgICAg ICAgZicjZGVmaW5lIEJBU0VfR0VORVJBVEVEX0JVSUxEX0RBVEVfVElNRVNUQU1QIHtkYXRlX3Zh bH0nCi1kaWZmIC11cCBjaHJvbWl1bS0xMTUuMC41NzkwLjEwMi9idWlsZC93cml0ZV9idWlsZGZs YWdfaGVhZGVyLnB5Lm1lIGNocm9taXVtLTExNS4wLjU3OTAuMTAyL2J1aWxkL3dyaXRlX2J1aWxk ZmxhZ19oZWFkZXIucHkKLS0tLSBjaHJvbWl1bS0xMTUuMC41NzkwLjEwMi9idWlsZC93cml0ZV9i dWlsZGZsYWdfaGVhZGVyLnB5Lm1lCTIwMjMtMDctMjIgMTQ6MTY6MTQuMTk2OTc1NDUxICswMjAw Ci0rKysgY2hyb21pdW0tMTE1LjAuNTc5MC4xMDIvYnVpbGQvd3JpdGVfYnVpbGRmbGFnX2hlYWRl ci5weQkyMDIzLTA3LTIyIDE0OjIwOjI0Ljk3NzIzOTk5NCArMDIwMAotQEAgLTQ0LDcgKzQ0LDcg QEAgZGVmIEdldE9wdGlvbnMoKToKLSAgIGhlYWRlcl9ndWFyZCA9IGNtZGxpbmVfb3B0aW9ucy5v dXRwdXQudXBwZXIoKQotICAgaWYgaGVhZGVyX2d1YXJkWzBdLmlzZGlnaXQoKToKLSAgICAgaGVh ZGVyX2d1YXJkID0gJ18nICsgaGVhZGVyX2d1YXJkCi0tICBoZWFkZXJfZ3VhcmQgPSByZS5zdWIo J1teXHddJywgJ18nLCBoZWFkZXJfZ3VhcmQpCi0rICBoZWFkZXJfZ3VhcmQgPSByZS5zdWIocidb Xlx3XScsICdfJywgaGVhZGVyX2d1YXJkKQotICAgaGVhZGVyX2d1YXJkICs9ICdfJwotIAotICAg IyBUaGUgYWN0dWFsIG91dHB1dCBmaWxlIGlzIGluc2lkZSB0aGUgZ2VuIGRpci4KLWRpZmYgLXVw IGNocm9taXVtLTExNS4wLjU3OTAuMTAyL2NvbXBvbmVudHMvcmVzb3VyY2VzL3Byb3RvYnVmcy9i aW5hcnlfcHJvdG9fZ2VuZXJhdG9yLnB5Lm1lIGNocm9taXVtLTExNS4wLjU3OTAuMTAyL2NvbXBv bmVudHMvcmVzb3VyY2VzL3Byb3RvYnVmcy9iaW5hcnlfcHJvdG9fZ2VuZXJhdG9yLnB5Ci0tLS0g Y2hyb21pdW0tMTE1LjAuNTc5MC4xMDIvY29tcG9uZW50cy9yZXNvdXJjZXMvcHJvdG9idWZzL2Jp bmFyeV9wcm90b19nZW5lcmF0b3IucHkubWUJMjAyMy0wNy0yMiAxNDo0NzozNC4yMzA3NjQyMTAg KzAyMDAKLSsrKyBjaHJvbWl1bS0xMTUuMC41NzkwLjEwMi9jb21wb25lbnRzL3Jlc291cmNlcy9w cm90b2J1ZnMvYmluYXJ5X3Byb3RvX2dlbmVyYXRvci5weQkyMDIzLTA3LTIyIDE1OjExOjUwLjM2 MDk4MzM4MyArMDIwMAotQEAgLTksNyArOSw4IEBACi0gIiIiCi0gZnJvbSBfX2Z1dHVyZV9fIGlt cG9ydCBwcmludF9mdW5jdGlvbgotIGltcG9ydCBhYmMKLS1pbXBvcnQgaW1wCi0raW1wb3J0IHR5 cGVzCi0raW1wb3J0IGltcG9ydGxpYgotIGltcG9ydCBvcHRwYXJzZQotIGltcG9ydCBvcwotIGlt cG9ydCByZQotQEAgLTQwLDYgKzQxLDEyIEBAIGNsYXNzIEdvb2dsZVByb3RvYnVmTW9kdWxlSW1w b3J0ZXI6Ci0gICAgICAgICByZXR1cm4gZmlsZXBhdGgKLSAgICAgcmV0dXJuIE5vbmUKLSAKLSsg IGRlZiBsb2FkX3NvdXJjZShuYW1lOiBzdHIsIHBhdGg6IHN0cikgLT4gdHlwZXMuTW9kdWxlVHlw ZToKLSsgICAgc3BlYyA9IGltcG9ydGxpYi51dGlsLnNwZWNfZnJvbV9maWxlX2xvY2F0aW9uKG5h bWUsIHBhdGgpCi0rICAgIG1vZHVsZSA9IGltcG9ydGxpYi51dGlsLm1vZHVsZV9mcm9tX3NwZWMo c3BlYykKLSsgICAgc3BlYy5sb2FkZXIuZXhlY19tb2R1bGUobW9kdWxlKQotKyAgICByZXR1cm4g bW9kdWxlCi0rCi0gICBkZWYgX21vZHVsZV9leGlzdHMoc2VsZiwgZnVsbG5hbWUpOgotICAgICBy ZXR1cm4gc2VsZi5fZnVsbG5hbWVfdG9fZmlsZXBhdGgoZnVsbG5hbWUpIGlzIG5vdCBOb25lCi0g Ci1AQCAtNjgsNyArNzUsNyBAQCBjbGFzcyBHb29nbGVQcm90b2J1Zk1vZHVsZUltcG9ydGVyOgot ICAgICAgIHJhaXNlIEltcG9ydEVycm9yKGZ1bGxuYW1lKQotIAotICAgICBmaWxlcGF0aCA9IHNl bGYuX2Z1bGxuYW1lX3RvX2ZpbGVwYXRoKGZ1bGxuYW1lKQotLSAgICByZXR1cm4gaW1wLmxvYWRf c291cmNlKGZ1bGxuYW1lLCBmaWxlcGF0aCkKLSsgICAgcmV0dXJuIGxvYWRfc291cmNlKGZ1bGxu YW1lLCBmaWxlcGF0aCkKLSAKLSBjbGFzcyBCaW5hcnlQcm90b0dlbmVyYXRvcjoKLSAKLWRpZmYg LXVwIGNocm9taXVtLTExNS4wLjU3OTAuMTAyL21vam8vcHVibGljL3Rvb2xzL2JpbmRpbmdzL2Nv bmNhdGVuYXRlX2FuZF9yZXBsYWNlX2Nsb3N1cmVfZXhwb3J0cy5weS5tZSBjaHJvbWl1bS0xMTUu MC41NzkwLjEwMi9tb2pvL3B1YmxpYy90b29scy9iaW5kaW5ncy9jb25jYXRlbmF0ZV9hbmRfcmVw bGFjZV9jbG9zdXJlX2V4cG9ydHMucHkKLS0tLSBjaHJvbWl1bS0xMTUuMC41NzkwLjEwMi9tb2pv L3B1YmxpYy90b29scy9iaW5kaW5ncy9jb25jYXRlbmF0ZV9hbmRfcmVwbGFjZV9jbG9zdXJlX2V4 cG9ydHMucHkubWUJMjAyMy0wNy0yMiAxNToxNzoxOS4xMTQyNTg4MDEgKzAyMDAKLSsrKyBjaHJv bWl1bS0xMTUuMC41NzkwLjEwMi9tb2pvL3B1YmxpYy90b29scy9iaW5kaW5ncy9jb25jYXRlbmF0 ZV9hbmRfcmVwbGFjZV9jbG9zdXJlX2V4cG9ydHMucHkJMjAyMy0wNy0yMiAxNToxNzo0My4zNjgy MDA0OTEgKzAyMDAKLUBAIC0zMiw3ICszMiw3IEBAIGRlZiBGaWx0ZXJMaW5lKGZpbGVuYW1lLCBs aW5lLCBvdXRwdXQpOgotICAgICByZXR1cm4KLSAKLSAgIGlmIGxpbmUuc3RhcnRzd2l0aCgiZ29v Zy5wcm92aWRlIik6Ci0tICAgIG1hdGNoID0gcmUubWF0Y2goImdvb2cucHJvdmlkZVwoJyhbXidd KyknXCk7IiwgbGluZSkKLSsgICAgbWF0Y2ggPSByZS5tYXRjaChyImdvb2cucHJvdmlkZVwoJyhb XiddKyknXCk7IiwgbGluZSkKLSAgICAgaWYgbm90IG1hdGNoOgotICAgICAgIHByaW50KCJJbnZh bGlkIGdvb2cucHJvdmlkZSBsaW5lIGluICVzOlxuJXMiICUgKGZpbGVuYW1lLCBsaW5lKSkKLSAg ICAgICBzeXMuZXhpdCgxKQotZGlmZiAtdXAgY2hyb21pdW0tMTE1LjAuNTc5MC4xMDIvdGhpcmRf cGFydHkvY2F0YXB1bHQvY29tbW9uL3B5X3Z1bGNhbml6ZS9weV92dWxjYW5pemUvaHRtbF9nZW5l cmF0aW9uX2NvbnRyb2xsZXIucHkubWUgY2hyb21pdW0tMTE1LjAuNTc5MC4xMDIvdGhpcmRfcGFy dHkvY2F0YXB1bHQvY29tbW9uL3B5X3Z1bGNhbml6ZS9weV92dWxjYW5pemUvaHRtbF9nZW5lcmF0 aW9uX2NvbnRyb2xsZXIucHkKLS0tLSBjaHJvbWl1bS0xMTUuMC41NzkwLjEwMi90aGlyZF9wYXJ0 eS9jYXRhcHVsdC9jb21tb24vcHlfdnVsY2FuaXplL3B5X3Z1bGNhbml6ZS9odG1sX2dlbmVyYXRp b25fY29udHJvbGxlci5weS5tZQkyMDIzLTA3LTIyIDE1OjEyOjQxLjg1MDg5NTE3OSArMDIwMAot KysrIGNocm9taXVtLTExNS4wLjU3OTAuMTAyL3RoaXJkX3BhcnR5L2NhdGFwdWx0L2NvbW1vbi9w eV92dWxjYW5pemUvcHlfdnVsY2FuaXplL2h0bWxfZ2VuZXJhdGlvbl9jb250cm9sbGVyLnB5CTIw MjMtMDctMjIgMTU6MTI6NTUuODQ0ODcxMjA3ICswMjAwCi1AQCAtMTgsNyArMTgsNyBAQCBjbGFz cyBIVE1MR2VuZXJhdGlvbkNvbnRyb2xsZXIob2JqZWN0KToKLSAKLSAgIGRlZiBHZXRIVE1MRm9y SW5saW5lU3R5bGVzaGVldChzZWxmLCBjb250ZW50cyk6Ci0gICAgIGlmIHNlbGYuY3VycmVudF9t b2R1bGUgaXMgTm9uZToKLS0gICAgICBpZiByZS5zZWFyY2goJ3VybFwoLitcKScsIGNvbnRlbnRz KToKLSsgICAgICBpZiByZS5zZWFyY2gocid1cmxcKC4rXCknLCBjb250ZW50cyk6Ci0gICAgICAg ICByYWlzZSBFeGNlcHRpb24oCi0gICAgICAgICAgICAgJ0RlZmF1bHQgSFRNTEdlbmVyYXRpb25D b250cm9sbGVyIGNhbm5vdCBoYW5kbGUgaW5saW5lIHN0eWxlIHVybHMnKQotICAgICAgIHJldHVy biBjb250ZW50cwotZGlmZiAtdXAgY2hyb21pdW0tMTE1LjAuNTc5MC4xMDIvdGhpcmRfcGFydHkv Y2F0YXB1bHQvY29tbW9uL3B5X3Z1bGNhbml6ZS9weV92dWxjYW5pemUvanNfdXRpbHMucHkubWUg Y2hyb21pdW0tMTE1LjAuNTc5MC4xMDIvdGhpcmRfcGFydHkvY2F0YXB1bHQvY29tbW9uL3B5X3Z1 bGNhbml6ZS9weV92dWxjYW5pemUvanNfdXRpbHMucHkKLS0tLSBjaHJvbWl1bS0xMTUuMC41Nzkw LjEwMi90aGlyZF9wYXJ0eS9jYXRhcHVsdC9jb21tb24vcHlfdnVsY2FuaXplL3B5X3Z1bGNhbml6 ZS9qc191dGlscy5weS5tZQkyMDIzLTA3LTIyIDE1OjE0OjA2LjkyMzcxNzkxMCArMDIwMAotKysr IGNocm9taXVtLTExNS4wLjU3OTAuMTAyL3RoaXJkX3BhcnR5L2NhdGFwdWx0L2NvbW1vbi9weV92 dWxjYW5pemUvcHlfdnVsY2FuaXplL2pzX3V0aWxzLnB5CTIwMjMtMDctMjIgMTU6MTg6MDMuNzA0 MTUwNjE0ICswMjAwCi1AQCAtNCw0ICs0LDQgQEAKLSAKLSAKLSBkZWYgRXNjYXBlSlNJZk5lZWRl ZChqcyk6Ci0tICByZXR1cm4ganMucmVwbGFjZSgnPC9zY3JpcHQ+JywgJzxcL3NjcmlwdD4nKQot KyAgcmV0dXJuIGpzLnJlcGxhY2Uocic8L3NjcmlwdD4nLCByJzxcL3NjcmlwdD4nKQotZGlmZiAt dXAgY2hyb21pdW0tMTE1LjAuNTc5MC4xMDIvdGhpcmRfcGFydHkvY2F0YXB1bHQvY29tbW9uL3B5 X3Z1bGNhbml6ZS9weV92dWxjYW5pemUvcGFyc2VfaHRtbF9kZXBzLnB5Lm1lIGNocm9taXVtLTEx NS4wLjU3OTAuMTAyL3RoaXJkX3BhcnR5L2NhdGFwdWx0L2NvbW1vbi9weV92dWxjYW5pemUvcHlf dnVsY2FuaXplL3BhcnNlX2h0bWxfZGVwcy5weQotLS0tIGNocm9taXVtLTExNS4wLjU3OTAuMTAy L3RoaXJkX3BhcnR5L2NhdGFwdWx0L2NvbW1vbi9weV92dWxjYW5pemUvcHlfdnVsY2FuaXplL3Bh cnNlX2h0bWxfZGVwcy5weS5tZQkyMDIzLTA3LTIyIDE1OjE0OjMwLjEwNTY2MjUzMiArMDIwMAot KysrIGNocm9taXVtLTExNS4wLjU3OTAuMTAyL3RoaXJkX3BhcnR5L2NhdGFwdWx0L2NvbW1vbi9w eV92dWxjYW5pemUvcHlfdnVsY2FuaXplL3BhcnNlX2h0bWxfZGVwcy5weQkyMDIzLTA3LTIyIDE1 OjE0OjU3Ljk3NzU5NTk1MCArMDIwMAotQEAgLTI5Myw2ICsyOTMsNiBAQCBjbGFzcyBIVE1MTW9k dWxlUGFyc2VyKCk6Ci0gICAgICAgaHRtbCA9ICcnCi0gICAgIGVsc2U6Ci0gICAgICAgaWYgaHRt bC5maW5kKCc8IC9zY3JpcHQ+JykgIT0gLTE6Ci0tICAgICAgICByYWlzZSBFeGNlcHRpb24oJ0Vz Y2FwZSBzY3JpcHQgdGFncyB3aXRoIDxcL3NjcmlwdD4nKQotKyAgICAgICAgcmFpc2UgRXhjZXB0 aW9uKHInRXNjYXBlIHNjcmlwdCB0YWdzIHdpdGggPFwvc2NyaXB0PicpCi0gCi0gICAgIHJldHVy biBIVE1MTW9kdWxlUGFyc2VyUmVzdWx0cyhodG1sKQotZGlmZiAtdXAgY2hyb21pdW0tMTE1LjAu NTc5MC4xMDIvdGhpcmRfcGFydHkvY2F0YXB1bHQvY29tbW9uL3B5X3Z1bGNhbml6ZS9weV92dWxj YW5pemUvc3R5bGVfc2hlZXQucHkubWUgY2hyb21pdW0tMTE1LjAuNTc5MC4xMDIvdGhpcmRfcGFy dHkvY2F0YXB1bHQvY29tbW9uL3B5X3Z1bGNhbml6ZS9weV92dWxjYW5pemUvc3R5bGVfc2hlZXQu cHkKLS0tLSBjaHJvbWl1bS0xMTUuMC41NzkwLjEwMi90aGlyZF9wYXJ0eS9jYXRhcHVsdC9jb21t b24vcHlfdnVsY2FuaXplL3B5X3Z1bGNhbml6ZS9zdHlsZV9zaGVldC5weS5tZQkyMDIzLTA3LTIy IDE1OjEzOjEyLjMxNjg0Mjk5MCArMDIwMAotKysrIGNocm9taXVtLTExNS4wLjU3OTAuMTAyL3Ro aXJkX3BhcnR5L2NhdGFwdWx0L2NvbW1vbi9weV92dWxjYW5pemUvcHlfdnVsY2FuaXplL3N0eWxl X3NoZWV0LnB5CTIwMjMtMDctMjIgMTU6MTM6NDkuNjg0NzU5MDkxICswMjAwCi1AQCAtNjAsNyAr NjAsNyBAQCBjbGFzcyBQYXJzZWRTdHlsZVNoZWV0KG9iamVjdCk6Ci0gICAgICAgcmV0dXJuICd1 cmwoZGF0YTppbWFnZS8lcztiYXNlNjQsJXMpJyAlIChleHRbMTpdLCBkYXRhLmRlY29kZSgndXRm LTgnKSkKLSAKLSAgICAgIyBJJ20gYXNzdW1pbmcgd2Ugb25seSBoYXZlIHVybCgpJ3MgYXNzb2Np YXRlZCB3aXRoIGltYWdlcwotLSAgICByZXR1cm4gcmUuc3ViKCd1cmxcKCg/UDxxdW90ZT4ifFwn fCkoP1A8dXJsPlteIlwnKCldKikoP1A9cXVvdGUpXCknLAotKyAgICByZXR1cm4gcmUuc3ViKHIn dXJsXCgoP1A8cXVvdGU+InxcJ3wpKD9QPHVybD5bXiJcJygpXSopKD9QPXF1b3RlKVwpJywKLSAg ICAgICAgICAgICAgICAgICBJbmxpbmVVcmwsIHNlbGYuY29udGVudHMpCi0gCi0gICBkZWYgQXBw ZW5kRGlyZWN0bHlEZXBlbmRlbnRGaWxlbmFtZXNUbyhzZWxmLCBkZXBlbmRlbnRfZmlsZW5hbWVz KToKLUBAIC03Miw3ICs3Miw3IEBAIGNsYXNzIFBhcnNlZFN0eWxlU2hlZXQob2JqZWN0KToKLSAg ICAgICByYWlzZSBFeGNlcHRpb24oJ0BpbXBvcnRzIGFyZSBub3Qgc3VwcG9ydGVkJykKLSAKLSAg ICAgbWF0Y2hlcyA9IHJlLmZpbmRhbGwoCi0tICAgICAgICAndXJsXCgoPzpbInxcJ10/KShbXiJc JygpXSopKD86WyJ8XCddPylcKScsCi0rICAgICAgICByJ3VybFwoKD86WyJ8XCddPykoW14iXCco KV0qKSg/OlsifFwnXT8pXCknLAotICAgICAgICAgc2VsZi5jb250ZW50cykKLSAKLSAgICAgZGVm IHJlc29sdmVfdXJsKHVybCk6Ci1kaWZmIC11cCBjaHJvbWl1bS0xMTUuMC41NzkwLjEwMi90aGly ZF9wYXJ0eS9kYXduL2dlbmVyYXRvci9nZW5lcmF0b3JfbGliLnB5Lm1lIGNocm9taXVtLTExNS4w LjU3OTAuMTAyL3RoaXJkX3BhcnR5L2Rhd24vZ2VuZXJhdG9yL2dlbmVyYXRvcl9saWIucHkKLS0t LSBjaHJvbWl1bS0xMTUuMC41NzkwLjEwMi90aGlyZF9wYXJ0eS9kYXduL2dlbmVyYXRvci9nZW5l cmF0b3JfbGliLnB5Lm1lCTIwMjMtMDctMjIgMTU6MTE6NTYuODI2OTcyMzA2ICswMjAwCi0rKysg Y2hyb21pdW0tMTE1LjAuNTc5MC4xMDIvdGhpcmRfcGFydHkvZGF3bi9nZW5lcmF0b3IvZ2VuZXJh dG9yX2xpYi5weQkyMDIzLTA3LTIyIDE1OjEyOjM3LjU1MDkwMjU0NSArMDIwMAotQEAgLTExOSw4 ICsxMTksOCBAQCBjbGFzcyBfUHJlcHJvY2Vzc2luZ0xvYWRlcihqaW5qYTIuQmFzZUxvCi0gICAg ICAgICAgICAgc291cmNlID0gc2VsZi5wcmVwcm9jZXNzKGYucmVhZCgpKQotICAgICAgICAgcmV0 dXJuIHNvdXJjZSwgcGF0aCwgbGFtYmRhOiBtdGltZSA9PSBvcy5wYXRoLmdldG10aW1lKHBhdGgp Ci0gCi0tICAgIGJsb2Nrc3RhcnQgPSByZS5jb21waWxlKCd7JS0/XHMqKGlmfGVsaWZ8ZWxzZXxm b3J8YmxvY2t8bWFjcm8pW159XSolfScpCi0tICAgIGJsb2NrZW5kID0gcmUuY29tcGlsZSgneyUt P1xzKihlbmQoaWZ8Zm9yfGJsb2NrfG1hY3JvKXxlbGlmfGVsc2UpW159XSolfScpCi0rICAgIGJs b2Nrc3RhcnQgPSByZS5jb21waWxlKHIneyUtP1xzKihpZnxlbGlmfGVsc2V8Zm9yfGJsb2NrfG1h Y3JvKVtefV0qJX0nKQotKyAgICBibG9ja2VuZCA9IHJlLmNvbXBpbGUocid7JS0/XHMqKGVuZChp Znxmb3J8YmxvY2t8bWFjcm8pfGVsaWZ8ZWxzZSlbXn1dKiV9JykKLSAKLSAgICAgZGVmIHByZXBy b2Nlc3Moc2VsZiwgc291cmNlKToKLSAgICAgICAgIGxpbmVzID0gc291cmNlLnNwbGl0KCdcbicp Ci1kaWZmIC11cCBjaHJvbWl1bS0xMTUuMC41NzkwLjEwMi90aGlyZF9wYXJ0eS92dWxrYW4tZGVw cy92dWxrYW4tdG9vbHMvc3JjL2J1aWxkLWduL2dlbmVyYXRlX3Z1bGthbl9sYXllcnNfanNvbi5w eS5tZSBjaHJvbWl1bS0xMTUuMC41NzkwLjEwMi90aGlyZF9wYXJ0eS92dWxrYW4tZGVwcy92dWxr YW4tdG9vbHMvc3JjL2J1aWxkLWduL2dlbmVyYXRlX3Z1bGthbl9sYXllcnNfanNvbi5weQotZGlm ZiAtdXAgY2hyb21pdW0tMTE1LjAuNTc5MC4xMDIvdGhpcmRfcGFydHkvdnVsa2FuLWRlcHMvdnVs a2FuLXZhbGlkYXRpb24tbGF5ZXJzL3NyYy9idWlsZC1nbi9nZW5lcmF0ZV92dWxrYW5fbGF5ZXJz X2pzb24ucHkubWUgY2hyb21pdW0tMTE1LjAuNTc5MC4xMDIvdGhpcmRfcGFydHkvdnVsa2FuLWRl cHMvdnVsa2FuLXZhbGlkYXRpb24tbGF5ZXJzL3NyYy9idWlsZC1nbi9nZW5lcmF0ZV92dWxrYW5f bGF5ZXJzX2pzb24ucHkKLS0tLSBjaHJvbWl1bS0xMTUuMC41NzkwLjEwMi90aGlyZF9wYXJ0eS92 dWxrYW4tZGVwcy92dWxrYW4tdmFsaWRhdGlvbi1sYXllcnMvc3JjL2J1aWxkLWduL2dlbmVyYXRl X3Z1bGthbl9sYXllcnNfanNvbi5weS5tZQkyMDIzLTA3LTIyIDE2OjAyOjQ4LjMzMDA1MDA4OCAr MDIwMAotKysrIGNocm9taXVtLTExNS4wLjU3OTAuMTAyL3RoaXJkX3BhcnR5L3Z1bGthbi1kZXBz L3Z1bGthbi12YWxpZGF0aW9uLWxheWVycy9zcmMvYnVpbGQtZ24vZ2VuZXJhdGVfdnVsa2FuX2xh eWVyc19qc29uLnB5CTIwMjMtMDctMjIgMTY6MDM6MDIuMzIwMDIzNjE3ICswMjAwCi1AQCAtMjgs NyArMjgsNiBAQCBpbXBvcnQgcGxhdGZvcm0KLSBpbXBvcnQgc3lzCi0gCi0gZGVmIGdsb2Jfc2xh c2goZGlybmFtZSk6Ci0tICAgICIiIkxpa2UgcmVndWxhciBnbG9iIGJ1dCByZXBsYWNlcyBcIHdp dGggLyBpbiByZXR1cm5lZCBwYXRocy4iIiIKLSAgICAgcmV0dXJuIFtzLnJlcGxhY2UoJ1xcJywg Jy8nKSBmb3IgcyBpbiBnbG9iLmdsb2IoZGlybmFtZSldCi0gCi0gZGVmIG1haW4oKToKCmRpZmYg LS1naXQgYS9jaHJvbWl1bS0xMTctd29ya2Fyb3VuZF9jbGFuZ19idWctc3RydWN0dXJlZF9iaW5k aW5nLnBhdGNoIGIvY2hyb21pdW0tMTE3LXdvcmthcm91bmRfY2xhbmdfYnVnLXN0cnVjdHVyZWRf YmluZGluZy5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYzY2Y2I5MS4uMDAw MDAwMAotLS0gYS9jaHJvbWl1bS0xMTctd29ya2Fyb3VuZF9jbGFuZ19idWctc3RydWN0dXJlZF9i aW5kaW5nLnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsMTA5ICswLDAgQEAKLWRpZmYgLXVwIGNo cm9taXVtLTExNS4wLjU3OTAuMjQvbWVkaWEvYmFzZS9jZG1fcHJvbWlzZV9hZGFwdGVyLmNjLndv cmthcm91bmRfY2xhbmdfYnVnLXN0cnVjdHVyZWRfYmluZGluZyBjaHJvbWl1bS0xMTUuMC41Nzkw LjI0L21lZGlhL2Jhc2UvY2RtX3Byb21pc2VfYWRhcHRlci5jYwotLS0tIGNocm9taXVtLTExNS4w LjU3OTAuMjQvbWVkaWEvYmFzZS9jZG1fcHJvbWlzZV9hZGFwdGVyLmNjLndvcmthcm91bmRfY2xh bmdfYnVnLXN0cnVjdHVyZWRfYmluZGluZwkyMDIzLTA2LTA3IDIxOjQ4OjM3LjAwMDAwMDAwMCAr MDIwMAotKysrIGNocm9taXVtLTExNS4wLjU3OTAuMjQvbWVkaWEvYmFzZS9jZG1fcHJvbWlzZV9h ZGFwdGVyLmNjCTIwMjMtMDYtMTcgMTY6NTM6MjAuMjE2NjI4NTU3ICswMjAwCi1AQCAtOTQsNyAr OTQsOSBAQCB2b2lkIENkbVByb21pc2VBZGFwdGVyOjpSZWplY3RQcm9taXNlKHVpCi0gdm9pZCBD ZG1Qcm9taXNlQWRhcHRlcjo6Q2xlYXIoQ2xlYXJSZWFzb24gcmVhc29uKSB7Ci0gICAvLyBSZWpl Y3QgYWxsIG91dHN0YW5kaW5nIHByb21pc2VzLgotICAgRENIRUNLKHRocmVhZF9jaGVja2VyXy5D YWxsZWRPblZhbGlkVGhyZWFkKCkpOwotLSAgZm9yIChhdXRvJiBbcHJvbWlzZV9pZCwgcHJvbWlz ZV0gOiBwcm9taXNlc18pIHsKLSsgIGZvciAoYXV0byYgW3BfaSwgcF9lXSA6IHByb21pc2VzXykg ewotKyAgICBhdXRvJiBwcm9taXNlX2lkID0gcF9pOwotKyAgICBhdXRvJiBwcm9taXNlID0gcF9l OwotICAgICBUUkFDRV9FVkVOVF9ORVNUQUJMRV9BU1lOQ19FTkQxKAotICAgICAgICAgIm1lZGlh IiwgIkNkbVByb21pc2UiLCBUUkFDRV9JRF9XSVRIX1NDT1BFKCJDZG1Qcm9taXNlIiwgcHJvbWlz ZV9pZCksCi0gICAgICAgICAic3RhdHVzIiwgImNsZWFyZWQiKTsKLWRpZmYgLXVwIGNocm9taXVt LTExNS4wLjU3OTAuMjQvdGhpcmRfcGFydHkvYmxpbmsvcmVuZGVyZXIvY29yZS9sYXlvdXQvbmcv Z3JpZC9uZ19ncmlkX2xheW91dF9hbGdvcml0aG0uY2Mud29ya2Fyb3VuZF9jbGFuZ19idWctc3Ry dWN0dXJlZF9iaW5kaW5nIGNocm9taXVtLTExNS4wLjU3OTAuMjQvdGhpcmRfcGFydHkvYmxpbmsv cmVuZGVyZXIvY29yZS9sYXlvdXQvbmcvZ3JpZC9uZ19ncmlkX2xheW91dF9hbGdvcml0aG0uY2MK LS0tLSBjaHJvbWl1bS0xMTUuMC41NzkwLjI0L3RoaXJkX3BhcnR5L2JsaW5rL3JlbmRlcmVyL2Nv cmUvbGF5b3V0L25nL2dyaWQvbmdfZ3JpZF9sYXlvdXRfYWxnb3JpdGhtLmNjLndvcmthcm91bmRf Y2xhbmdfYnVnLXN0cnVjdHVyZWRfYmluZGluZwkyMDIzLTA2LTA3IDIxOjQ4OjQxLjAwMDAwMDAw MCArMDIwMAotKysrIGNocm9taXVtLTExNS4wLjU3OTAuMjQvdGhpcmRfcGFydHkvYmxpbmsvcmVu ZGVyZXIvY29yZS9sYXlvdXQvbmcvZ3JpZC9uZ19ncmlkX2xheW91dF9hbGdvcml0aG0uY2MJMjAy My0wNi0xNyAxODo0NzowNi4wMDE0MDM5NjYgKzAyMDAKLUBAIC02NTUsOCArNjU4LDEwIEBAIE5H R3JpZFNpemluZ1RyZWUgTkdHcmlkTGF5b3V0QWxnb3JpdGhtOjoKLSAgIE5HR3JpZFNpemluZ1Ry ZWUgc2l6aW5nX3RyZWU7Ci0gCi0gICBpZiAoY29uc3QgYXV0byogbGF5b3V0X3N1YnRyZWUgPSBD b25zdHJhaW50U3BhY2UoKS5HcmlkTGF5b3V0U3VidHJlZSgpKSB7Ci0tICAgIGF1dG8mIFtncmlk X2l0ZW1zLCBsYXlvdXRfZGF0YSwgc3VidHJlZV9zaXplXSA9Ci0tICAgICAgICBzaXppbmdfdHJl ZS5DcmVhdGVTaXppbmdEYXRhKCk7Ci0rICAgIGF1dG8mIFtnX2ksIGxfZCwgc19zXSA9IHNpemlu Z190cmVlLkNyZWF0ZVNpemluZ0RhdGEoKTsKLSsgICAgYXV0byYgZ3JpZF9pdGVtcyA9IGdfaTsK LSsgICAgYXV0byYgbGF5b3V0X2RhdGEgPSBsX2Q7Ci0rICAgIGF1dG8mIHN1YnRyZWVfc2l6ZSA9 IHNfczsKLSAKLSAgICAgY29uc3QgYXV0byYgbm9kZSA9IE5vZGUoKTsKLSAgICAgZ3JpZF9pdGVt cyA9Ci1AQCAtMTc5OCw4ICsxODAzLDEwIEBAIHZvaWQgTkdHcmlkTGF5b3V0QWxnb3JpdGhtOjpD b21wbGV0ZVRyYWMKLSAgICAgYm9vbCogb3B0X25lZWRzX2FkZGl0aW9uYWxfcGFzcykgY29uc3Qg ewotICAgRENIRUNLKHNpemluZ19zdWJ0cmVlKTsKLSAKLS0gIGF1dG8mIFtncmlkX2l0ZW1zLCBs YXlvdXRfZGF0YSwgc3VidHJlZV9zaXplXSA9Ci0tICAgICAgc2l6aW5nX3N1YnRyZWUuU3VidHJl ZVJvb3REYXRhKCk7Ci0rICBhdXRvJiBbZ19pLCBsX2QsIHNfc10gPSBzaXppbmdfc3VidHJlZS5T dWJ0cmVlUm9vdERhdGEoKTsKLSsgIGF1dG8mIGdyaWRfaXRlbXMgPSBnX2k7Ci0rICBhdXRvJiBs YXlvdXRfZGF0YSA9IGxfZDsKLSsgIGF1dG8mIHN1YnRyZWVfc2l6ZSA9IHNfczsKLSAKLSAgIGNv bnN0IGJvb2wgaXNfZm9yX2NvbHVtbnMgPSB0cmFja19kaXJlY3Rpb24gPT0ga0ZvckNvbHVtbnM7 Ci0gICBjb25zdCBib29sIGhhc19ub25fZGVmaW5pdGVfdHJhY2sgPQotQEAgLTE5MjQsOCArMTkz MSwxMCBAQCB0ZW1wbGF0ZSA8dHlwZW5hbWUgQ2FsbGJhY2tGdW5jPgotIHZvaWQgTkdHcmlkTGF5 b3V0QWxnb3JpdGhtOjpGb3JFYWNoU3ViZ3JpZCgKLSAgICAgY29uc3QgTkdHcmlkU2l6aW5nU3Vi dHJlZSYgc2l6aW5nX3N1YnRyZWUsCi0gICAgIGNvbnN0IENhbGxiYWNrRnVuYyYgY2FsbGJhY2tf ZnVuYykgY29uc3QgewotLSAgYXV0byYgW2dyaWRfaXRlbXMsIGxheW91dF9kYXRhLCBzdWJ0cmVl X3NpemVdID0KLS0gICAgICBzaXppbmdfc3VidHJlZS5TdWJ0cmVlUm9vdERhdGEoKTsKLSsgIGF1 dG8mIFtnX2ksIGxfZCwgc19zXSA9IHNpemluZ19zdWJ0cmVlLlN1YnRyZWVSb290RGF0YSgpOwot KyAgYXV0byYgZ3JpZF9pdGVtcyA9IGdfaTsKLSsgIGF1dG8mIGxheW91dF9kYXRhID0gbF9kOwot KyAgYXV0byYgc3VidHJlZV9zaXplID0gc19zOwotIAotICAgLy8gSWYgd2Uga25vdyB0aGlzIHN1 YnRyZWUgZG9lc24ndCBoYXZlIG5lc3RlZCBzdWJncmlkcyB3ZSBjYW4gZXhpdCBlYXJseQotICAg Ly8gaW5zdGVhZCBvZiBpdGVyYXRpbmcgb3ZlciBldmVyeSBncmlkIGl0ZW0gbG9va2luZyBmb3Ig dGhlbS4KLWRpZmYgLXVwIGNocm9taXVtLTExNS4wLjU3OTAuMzIvY29udGVudC9icm93c2VyL3Nl cnZpY2Vfd29ya2VyL3NlcnZpY2Vfd29ya2VyX2NvbnRleHRfd3JhcHBlci5jYy5tZSBjaHJvbWl1 bS0xMTUuMC41NzkwLjMyL2NvbnRlbnQvYnJvd3Nlci9zZXJ2aWNlX3dvcmtlci9zZXJ2aWNlX3dv cmtlcl9jb250ZXh0X3dyYXBwZXIuY2MKLS0tLSBjaHJvbWl1bS0xMTUuMC41NzkwLjMyL2NvbnRl bnQvYnJvd3Nlci9zZXJ2aWNlX3dvcmtlci9zZXJ2aWNlX3dvcmtlcl9jb250ZXh0X3dyYXBwZXIu Y2MubWUJMjAyMy0wNi0xOSAwODowNDowMi4yODcwNzI3MjIgKzAyMDAKLSsrKyBjaHJvbWl1bS0x MTUuMC41NzkwLjMyL2NvbnRlbnQvYnJvd3Nlci9zZXJ2aWNlX3dvcmtlci9zZXJ2aWNlX3dvcmtl cl9jb250ZXh0X3dyYXBwZXIuY2MJMjAyMy0wNi0xOSAwODoxODoyNC41NzY4MTQ5NTAgKzAyMDAK LUBAIC0xMzkzLDcgKzEzOTMsOCBAQCB2b2lkIFNlcnZpY2VXb3JrZXJDb250ZXh0V3JhcHBlcjo6 TWF5YmVQCi0gICAgIHJldHVybjsKLSAgIH0KLSAKLS0gIGF1dG8gW2RvY3VtZW50X3VybCwga2V5 LCBjYWxsYmFja10gPSBzdGQ6Om1vdmUoKnJlcXVlc3QpOwotKyAgYXV0byBbZF91LCBrZXksIGNh bGxiYWNrXSA9IHN0ZDo6bW92ZSgqcmVxdWVzdCk7Ci0rICBhdXRvIGRvY3VtZW50X3VybCA9IGRf dTsKLSAKLSAgIERDSEVDSyhkb2N1bWVudF91cmwuaXNfdmFsaWQoKSk7Ci0gICBUUkFDRV9FVkVO VDEoIlNlcnZpY2VXb3JrZXIiLAotZGlmZiAtdXAgY2hyb21pdW0tMTE3LjAuNTkzOC42Mi90aGly ZF9wYXJ0eS9ibGluay9yZW5kZXJlci9jb3JlL2xheW91dC9uZy9ncmlkL25nX2dyaWRfbGF5b3V0 X2FsZ29yaXRobS5jYy5tZSBjaHJvbWl1bS0xMTcuMC41OTM4LjYyL3RoaXJkX3BhcnR5L2JsaW5r L3JlbmRlcmVyL2NvcmUvbGF5b3V0L25nL2dyaWQvbmdfZ3JpZF9sYXlvdXRfYWxnb3JpdGhtLmNj Ci0tLS0gY2hyb21pdW0tMTE3LjAuNTkzOC42Mi90aGlyZF9wYXJ0eS9ibGluay9yZW5kZXJlci9j b3JlL2xheW91dC9uZy9ncmlkL25nX2dyaWRfbGF5b3V0X2FsZ29yaXRobS5jYy5tZQkyMDIzLTA5 LTE1IDEzOjAzOjAwLjc4NzI1NzA0OCArMDIwMAotKysrIGNocm9taXVtLTExNy4wLjU5MzguNjIv dGhpcmRfcGFydHkvYmxpbmsvcmVuZGVyZXIvY29yZS9sYXlvdXQvbmcvZ3JpZC9uZ19ncmlkX2xh eW91dF9hbGdvcml0aG0uY2MJMjAyMy0wOS0xNSAxMzoxNTowNS41MDI3MDY1MjIgKzAyMDAKLUBA IC0zNDM3LDcgKzM0MzcsMTAgQEAgdm9pZCBOR0dyaWRMYXlvdXRBbGdvcml0aG06OlBsYWNlR3Jp ZEl0ZQotICAgRENIRUNLKG91dF9yb3dfYnJlYWtfYmV0d2Vlbik7Ci0gCi0gICBjb25zdCBhdXRv JiBjb250YWluZXJfc3BhY2UgPSBDb25zdHJhaW50U3BhY2UoKTsKLS0gIGNvbnN0IGF1dG8mIFtn cmlkX2l0ZW1zLCBsYXlvdXRfZGF0YSwgdHJlZV9zaXplXSA9IHNpemluZ190cmVlLlRyZWVSb290 RGF0YSgpOwotKyAgY29uc3QgYXV0byYgW2dfaSwgbF9kLCB0X3NdID0gc2l6aW5nX3RyZWUuVHJl ZVJvb3REYXRhKCk7Ci0rICBjb25zdCBhdXRvJiBncmlkX2l0ZW1zID0gZ19pOwotKyAgY29uc3Qg YXV0byYgbGF5b3V0X2RhdGEgPSBsX2Q7Ci0rICBjb25zdCBhdXRvJiB0cmVlX3NpemUgPSB0X3M7 Ci0gCi0gICBjb25zdCBhdXRvKiBjYWNoZWRfbGF5b3V0X3N1YnRyZWUgPSBjb250YWluZXJfc3Bh Y2UuR3JpZExheW91dFN1YnRyZWUoKTsKLSAgIGNvbnN0IGF1dG8gY29udGFpbmVyX3dyaXRpbmdf ZGlyZWN0aW9uID0KLUBAIC0zNjAxLDcgKzM2MDQsMTAgQEAgdm9pZCBOR0dyaWRMYXlvdXRBbGdv cml0aG06OlBsYWNlR3JpZEl0ZQotIAotICAgLy8gVE9ETyhpa2lscGF0cmljayk6IFVwZGF0ZSB8 U2V0SGFzU2VlbkFsbENoaWxkcmVufCBhbmQgZWFybHkgZXhpdCBpZiB0cnVlLgotICAgY29uc3Qg YXV0byYgY29uc3RyYWludF9zcGFjZSA9IENvbnN0cmFpbnRTcGFjZSgpOwotLSAgY29uc3QgYXV0 byYgW2dyaWRfaXRlbXMsIGxheW91dF9kYXRhLCB0cmVlX3NpemVdID0gc2l6aW5nX3RyZWUuVHJl ZVJvb3REYXRhKCk7Ci0rICBjb25zdCBhdXRvJiBbZ19pLCBsX2QsIHRfc10gPSBzaXppbmdfdHJl ZS5UcmVlUm9vdERhdGEoKTsKLSsgIGNvbnN0IGF1dG8mIGdyaWRfaXRlbXMgPSBnX2k7Ci0rICBj b25zdCBhdXRvJiBsYXlvdXRfZGF0YSA9IGxfZDsKLSsgIGNvbnN0IGF1dG8mIHRyZWVfc2l6ZSA9 dF9zOwotIAotICAgY29uc3QgYXV0byogY2FjaGVkX2xheW91dF9zdWJ0cmVlID0gY29uc3RyYWlu dF9zcGFjZS5HcmlkTGF5b3V0U3VidHJlZSgpOwotICAgY29uc3QgYXV0byBjb250YWluZXJfd3Jp dGluZ19kaXJlY3Rpb24gPQotZGlmZiAtdXAgY2hyb21pdW0tMTE3LjAuNTkzOC42Mi9jaHJvbWUv YnJvd3Nlci91aS9hdXRvZmlsbC9jaHJvbWVfYXV0b2ZpbGxfY2xpZW50LmNjLm1lIGNocm9taXVt LTExNy4wLjU5MzguNjIvY2hyb21lL2Jyb3dzZXIvdWkvYXV0b2ZpbGwvY2hyb21lX2F1dG9maWxs X2NsaWVudC5jYwotLS0tIGNocm9taXVtLTExNy4wLjU5MzguNjIvY2hyb21lL2Jyb3dzZXIvdWkv YXV0b2ZpbGwvY2hyb21lX2F1dG9maWxsX2NsaWVudC5jYy5tZQkyMDIzLTA5LTE1IDE4OjI0OjE4 Ljk4NDEzMzc4MyArMDIwMAotKysrIGNocm9taXVtLTExNy4wLjU5MzguNjIvY2hyb21lL2Jyb3dz ZXIvdWkvYXV0b2ZpbGwvY2hyb21lX2F1dG9maWxsX2NsaWVudC5jYwkyMDIzLTA5LTE1IDE4OjI4 OjUwLjQyMDgzMzU5NSArMDIwMAotQEAgLTExMDAsNyArMTEwMCw4IEBAIHZvaWQgQ2hyb21lQXV0 b2ZpbGxDbGllbnQ6OlByb3BhZ2F0ZUF1dG8KLSAgICAgICAgICAgJnJlbmRlcmVyX2Zvcm0pOwot ICAgICB9Ci0gCi0tICAgIGZvciAoY29uc3QgYXV0byYgW2ZyYW1lX3Rva2VuLCBmcmFtZV9mb3Jt c10gOiByZW5kZXJlcl9mb3Jtc19ieV9mcmFtZSkgewotKyAgICBmb3IgKGNvbnN0IGF1dG8mIFtm X3QsIGZyYW1lX2Zvcm1zXSA6IHJlbmRlcmVyX2Zvcm1zX2J5X2ZyYW1lKSB7Ci0rICAgICAgYXV0 byYgZnJhbWVfdG9rZW4gPSBmX3Q7Ci0gICAgICAgLy8gQXR0ZW1wdCB0byBmaW5kIHRoZSBSRkgg d2l0aCB0aGlzIGBmcmFtZV90b2tlbmAuCi0gICAgICAgY29udGVudDo6UmVuZGVyRnJhbWVIb3N0 KiByZmggPSBudWxscHRyOwotICAgICAgIEdldFdlYkNvbnRlbnRzKCkuRm9yRWFjaFJlbmRlckZy YW1lSG9zdCgKCmRpZmYgLS1naXQgYS9jaHJvbWl1bS0xMTgtYXJtNjQtbWVtb3J5X3RhZ2dpbmcu cGF0Y2ggYi9jaHJvbWl1bS0xMTgtYXJtNjQtbWVtb3J5X3RhZ2dpbmcucGF0Y2gKbmV3IGZpbGUg bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNDYzZmIzNwotLS0gL2Rldi9udWxsCisrKyBiL2No cm9taXVtLTExOC1hcm02NC1tZW1vcnlfdGFnZ2luZy5wYXRjaApAQCAtMCwwICsxLDE1IEBACitk aWZmIC11cCBjaHJvbWl1bS0xMTguMC41OTkzLjMyL2Jhc2UvYWxsb2NhdG9yL3BhcnRpdGlvbl9h bGxvY2F0b3IvcGFydGl0aW9uX2FsbG9jX2NvbmZpZy5oLm1lIGNocm9taXVtLTExOC4wLjU5OTMu MzIvYmFzZS9hbGxvY2F0b3IvcGFydGl0aW9uX2FsbG9jYXRvci9wYXJ0aXRpb25fYWxsb2NfY29u ZmlnLmgKKy0tLSBjaHJvbWl1bS0xMTguMC41OTkzLjMyL2Jhc2UvYWxsb2NhdG9yL3BhcnRpdGlv bl9hbGxvY2F0b3IvcGFydGl0aW9uX2FsbG9jX2NvbmZpZy5oLm1lCTIwMjMtMTAtMDMgMjA6MjU6 MDEuMjgyNzgyNDI1ICswMjAwCisrKysgY2hyb21pdW0tMTE4LjAuNTk5My4zMi9iYXNlL2FsbG9j YXRvci9wYXJ0aXRpb25fYWxsb2NhdG9yL3BhcnRpdGlvbl9hbGxvY19jb25maWcuaAkyMDIzLTEw LTAzIDIwOjI1OjI3LjE1MTIzNjY2NCArMDIwMAorQEAgLTE1MiwxMCArMTUyLDcgQEAgc3RhdGlj X2Fzc2VydChzaXplb2Yodm9pZCopICE9IDgsICIiKTsKKyAgICghQlVJTERGTEFHKFBVVF9SRUZf Q09VTlRfSU5fUFJFVklPVVNfU0xPVCkgJiYgXAorICAgIGRlZmluZWQoQVJDSF9DUFVfTElUVExF X0VORElBTikpCisgCistI2RlZmluZSBQQV9DT05GSUdfSEFTX01FTU9SWV9UQUdHSU5HKCkgICAg ICAgICAgICAgIFwKKy0gIChkZWZpbmVkKEFSQ0hfQ1BVX0FSTTY0KSAmJiBkZWZpbmVkKF9fY2xh bmdfXykgJiYgXAorLSAgICFkZWZpbmVkKEFERFJFU1NfU0FOSVRJWkVSKSAmJiAgICAgICAgICAg ICAgICAgICBcCistICAgKEJVSUxERkxBRyhJU19MSU5VWCkgfHwgQlVJTERGTEFHKElTX0FORFJP SUQpKSkKKysjZGVmaW5lIFBBX0NPTkZJR19IQVNfTUVNT1JZX1RBR0dJTkcoKSAwCisgCisgI2lm IFBBX0NPTkZJRyhIQVNfTUVNT1JZX1RBR0dJTkcpCisgc3RhdGljX2Fzc2VydChzaXplb2Yodm9p ZCopID09IDgpOwoKZGlmZiAtLWdpdCBhL2Nocm9taXVtLTExOC1kbWFfYnVmX2V4cG9ydF9zeW5j X2ZpbGUtY29uZmxpY3QucGF0Y2ggYi9jaHJvbWl1bS0xMTgtZG1hX2J1Zl9leHBvcnRfc3luY19m aWxlLWNvbmZsaWN0LnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmZl MmVlNGMKLS0tIC9kZXYvbnVsbAorKysgYi9jaHJvbWl1bS0xMTgtZG1hX2J1Zl9leHBvcnRfc3lu Y19maWxlLWNvbmZsaWN0LnBhdGNoCkBAIC0wLDAgKzEsMTIgQEAKK2RpZmYgLXVwIGNocm9taXVt LTExOC4wLjU5OTMuMzIvdWkvZ2Z4L2xpbnV4L2RtYWJ1Zl91YXBpLmgubWUgY2hyb21pdW0tMTE4 LjAuNTk5My4zMi91aS9nZngvbGludXgvZG1hYnVmX3VhcGkuaAorLS0tIGNocm9taXVtLTExOC4w LjU5OTMuMzIvdWkvZ2Z4L2xpbnV4L2RtYWJ1Zl91YXBpLmgubWUJMjAyMy0xMC0wNCAyMjoxODo0 NC4yNTk4MDAwMTEgKzAyMDAKKysrKyBjaHJvbWl1bS0xMTguMC41OTkzLjMyL3VpL2dmeC9saW51 eC9kbWFidWZfdWFwaS5oCTIwMjMtMTAtMDQgMjI6Mjg6MTcuMDY4NzU2NjY5ICswMjAwCitAQCAt MjgsNyArMjgsNyBAQCBjb25zdGV4cHIgdW5zaWduZWQgbG9uZyBETUFfQlVGX0lPQ1RMX1NZCisg ICAgIF9JT1coRE1BX0JVRl9CQVNFLCAwLCBzdHJ1Y3QgZG1hX2J1Zl9zeW5jKTsKKyAjZW5kaWYK KyAKKy0jaWYgTElOVVhfVkVSU0lPTl9DT0RFIDwgS0VSTkVMX1ZFUlNJT04oNiwgMCwgMCkKKysj aWYgMAorIHN0cnVjdCBkbWFfYnVmX2V4cG9ydF9zeW5jX2ZpbGUgeworICAgX191MzIgZmxhZ3M7 CisgICBfX3MzMiBmZDsKCmRpZmYgLS1naXQgYS9jaHJvbWl1bS0xMTgtZWw3X3Y0bDJfcXVhbnRp emF0aW9uLnBhdGNoIGIvY2hyb21pdW0tMTE4LWVsN192NGwyX3F1YW50aXphdGlvbi5wYXRjaApu ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi42Mzg4NjNiCi0tLSAvZGV2L251bGwK KysrIGIvY2hyb21pdW0tMTE4LWVsN192NGwyX3F1YW50aXphdGlvbi5wYXRjaApAQCAtMCwwICsx LDI0IEBACitkaWZmIC11cCBjaHJvbWl1bS0xMTguMC41OTkzLjU0L21lZGlhL2NhcHR1cmUvdmlk ZW8vbGludXgvdjRsMl9jYXB0dXJlX2RlbGVnYXRlLmNjLm1lIGNocm9taXVtLTExOC4wLjU5OTMu NTQvbWVkaWEvY2FwdHVyZS92aWRlby9saW51eC92NGwyX2NhcHR1cmVfZGVsZWdhdGUuY2MKKy0t LSBjaHJvbWl1bS0xMTguMC41OTkzLjU0L21lZGlhL2NhcHR1cmUvdmlkZW8vbGludXgvdjRsMl9j YXB0dXJlX2RlbGVnYXRlLmNjLm1lCTIwMjMtMTAtMDcgMTI6MjQ6NTEuMTk0NjE4MTQ0ICswMjAw CisrKysgY2hyb21pdW0tMTE4LjAuNTk5My41NC9tZWRpYS9jYXB0dXJlL3ZpZGVvL2xpbnV4L3Y0 bDJfY2FwdHVyZV9kZWxlZ2F0ZS5jYwkyMDIzLTEwLTA3IDEyOjI2OjMwLjcyNzQ0ODU4MSArMDIw MAorQEAgLTEyMTksNyArMTIxOSw3IEBAIHZvaWQgVjRMMkNhcHR1cmVEZWxlZ2F0ZTo6U2V0RXJy b3JTdGF0ZSgKKyAgIGNsaWVudF8tPk9uRXJyb3IoZXJyb3IsIGZyb21faGVyZSwgcmVhc29uKTsK KyB9CisgCistI2lmIEJVSUxERkxBRyhJU19MSU5VWCkKKysjaWYgMCAvL0JVSUxERkxBRyhJU19M SU5VWCkKKyBnZng6OkNvbG9yU3BhY2UgVjRMMkNhcHR1cmVEZWxlZ2F0ZTo6QnVpbGRDb2xvclNw YWNlRnJvbXY0bDIoKSB7CisgICB2NGwyX2NvbG9yc3BhY2UgdjRsMl9wcmltYXJ5ID0gKHY0bDJf Y29sb3JzcGFjZSl2aWRlb19mbXRfLmZtdC5waXguY29sb3JzcGFjZTsKKyAgIHY0bDJfcXVhbnRp emF0aW9uIHY0bDJfcmFuZ2UgPQorZGlmZiAtdXAgY2hyb21pdW0tMTE4LjAuNTk5My41NC9tZWRp YS9jYXB0dXJlL3ZpZGVvL2xpbnV4L3Y0bDJfY2FwdHVyZV9kZWxlZ2F0ZS5oLm1lIGNocm9taXVt LTExOC4wLjU5OTMuNTQvbWVkaWEvY2FwdHVyZS92aWRlby9saW51eC92NGwyX2NhcHR1cmVfZGVs ZWdhdGUuaAorLS0tIGNocm9taXVtLTExOC4wLjU5OTMuNTQvbWVkaWEvY2FwdHVyZS92aWRlby9s aW51eC92NGwyX2NhcHR1cmVfZGVsZWdhdGUuaC5tZQkyMDIzLTEwLTA3IDEyOjI5OjM1LjU4ODQw NjAyMyArMDIwMAorKysrIGNocm9taXVtLTExOC4wLjU5OTMuNTQvbWVkaWEvY2FwdHVyZS92aWRl by9saW51eC92NGwyX2NhcHR1cmVfZGVsZWdhdGUuaAkyMDIzLTEwLTA3IDEyOjI4OjQyLjA1NzAz NjAxNCArMDIwMAorQEAgLTEzMyw3ICsxMzMsNyBAQCBjbGFzcyBDQVBUVVJFX0VYUE9SVCBWNEwy Q2FwdHVyZURlbGVnYXRlCisgICAgICAgICAgICAgICAgICAgICAgY29uc3QgYmFzZTo6TG9jYXRp b24mIGZyb21faGVyZSwKKyAgICAgICAgICAgICAgICAgICAgICBjb25zdCBzdGQ6OnN0cmluZyYg cmVhc29uKTsKKyAKKy0jaWYgQlVJTERGTEFHKElTX0xJTlVYKQorKyNpZiAwIC8vQlVJTERGTEFH KElTX0xJTlVYKQorICAgLy8gU3lzdGVtcyB3aGljaCBkZXNjcmliZSBhICJjb2xvciBzcGFjZSIg dXN1YWxseSBtYXAgdGhhdCB0byBvbmUgb3IgbW9yZSBvZgorICAgLy8ge3ByaW1hcnksIG1hdHJp eCwgdHJhbnNmZXIsIHJhbmdlfS4gQnVpbGRDb2xvclNwYWNlRnJvbXY0bDIoKSB3aWxsIHVzZSB0 aGUKKyAgIC8vIG1hdGNoZWQgdmFsdWUgYXMgZmlyc3QgcHJpb3JpdHkuIE90aGVyd2lzZSwgaWYg dGhlcmUgaXMgbm8gYmVzdCBtYXRjaGluZwoKZGlmZiAtLWdpdCBhL2Nocm9taXVtLTExOC1taXNz aW5nLWhlYWRlci1maWxlcy5wYXRjaCBiL2Nocm9taXVtLTExOC1taXNzaW5nLWhlYWRlci1maWxl cy5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lYTQxNWRmCi0tLSAv ZGV2L251bGwKKysrIGIvY2hyb21pdW0tMTE4LW1pc3NpbmctaGVhZGVyLWZpbGVzLnBhdGNoCkBA IC0wLDAgKzEsNDgyIEBACitkaWZmIC11cCBjaHJvbWl1bS0xMTAuMC41NDgxLjE3Ny9iYXNlL21l bW9yeS9yZWZfY291bnRlZC5oLm1lIGNocm9taXVtLTExMC4wLjU0ODEuMTc3L2Jhc2UvbWVtb3J5 L3JlZl9jb3VudGVkLmgKKy0tLSBjaHJvbWl1bS0xMTAuMC41NDgxLjE3Ny9iYXNlL21lbW9yeS9y ZWZfY291bnRlZC5oLm1lCTIwMjMtMDItMjMgMTM6MzQ6MzMuMTc0ODE3MjU1IC0wNTAwCisrKysg Y2hyb21pdW0tMTEwLjAuNTQ4MS4xNzcvYmFzZS9tZW1vcnkvcmVmX2NvdW50ZWQuaAkyMDIzLTAy LTIzIDEzOjQyOjI4LjY0NjA1MjQ2OSAtMDUwMAorQEAgLTYsNiArNiw3IEBACisgI2RlZmluZSBC QVNFX01FTU9SWV9SRUZfQ09VTlRFRF9IXworIAorICNpbmNsdWRlIDxzdGRkZWYuaD4KKysjaW5j bHVkZSA8bGltaXRzPgorIAorICNpbmNsdWRlIDx1dGlsaXR5PgorIAorZGlmZiAtdXAgY2hyb21p dW0tMTA5LjAuNTQxNC43NC9iYXNlL2NoZWNrX29wLmgubWUgY2hyb21pdW0tMTA5LjAuNTQxNC43 NC9iYXNlL2NoZWNrX29wLmgKKy0tLSBjaHJvbWl1bS0xMDkuMC41NDE0Ljc0L2Jhc2UvY2hlY2tf b3AuaC5tZQkyMDIzLTAxLTE3IDE3OjM5OjI3LjYyMDg3NTg4MyArMDEwMAorKysrIGNocm9taXVt LTEwOS4wLjU0MTQuNzQvYmFzZS9jaGVja19vcC5oCTIwMjMtMDEtMTcgMTc6Mzk6NDIuNTQ2MDYw OTU3ICswMTAwCitAQCAtNSw2ICs1LDcgQEAKKyAjaWZuZGVmIEJBU0VfQ0hFQ0tfT1BfSF8KKyAj ZGVmaW5lIEJBU0VfQ0hFQ0tfT1BfSF8KKyAKKysjaW5jbHVkZSA8Y3N0ZGludD4KKyAjaW5jbHVk ZSA8Y3N0ZGRlZj4KKyAjaW5jbHVkZSA8c3RyaW5nPgorICNpbmNsdWRlIDx0eXBlX3RyYWl0cz4K K2RpZmYgLXVwIGNocm9taXVtLTEwOS4wLjU0MTQuNzQvYmFzZS9kZWJ1Zy9wcm9maWxlci5oLm1l IGNocm9taXVtLTEwOS4wLjU0MTQuNzQvYmFzZS9kZWJ1Zy9wcm9maWxlci5oCistLS0gY2hyb21p dW0tMTA5LjAuNTQxNC43NC9iYXNlL2RlYnVnL3Byb2ZpbGVyLmgubWUJMjAyMy0wMS0xNyAxNjoy OToyNi4zNjgwOTAwNzMgKzAxMDAKKysrKyBjaHJvbWl1bS0xMDkuMC41NDE0Ljc0L2Jhc2UvZGVi dWcvcHJvZmlsZXIuaAkyMDIzLTAxLTE3IDE2OjU5OjQxLjE5MDYyODY3OSArMDEwMAorQEAgLTcs NiArNyw3IEBACisgCisgI2luY2x1ZGUgPHN0ZGRlZi5oPgorIAorKyNpbmNsdWRlIDxjc3RkaW50 PgorICNpbmNsdWRlIDxzdHJpbmc+CisgCisgI2luY2x1ZGUgImJhc2UvYmFzZV9leHBvcnQuaCIK K2RpZmYgLXVwIGNocm9taXVtLTEwOS4wLjU0MTQuNzQvZ3B1L2NvbmZpZy9ncHVfZmVhdHVyZV9p bmZvLmgubWUgY2hyb21pdW0tMTA5LjAuNTQxNC43NC9ncHUvY29uZmlnL2dwdV9mZWF0dXJlX2lu Zm8uaAorLS0tIGNocm9taXVtLTEwOS4wLjU0MTQuNzQvZ3B1L2NvbmZpZy9ncHVfZmVhdHVyZV9p bmZvLmgubWUJMjAyMy0wMS0xNyAxOTowNjo1My41MzA2NzUxMjkgKzAxMDAKKysrKyBjaHJvbWl1 bS0xMDkuMC41NDE0Ljc0L2dwdS9jb25maWcvZ3B1X2ZlYXR1cmVfaW5mby5oCTIwMjMtMDEtMTcg MTk6MDc6MDguODc0ODQ5ODc5ICswMTAwCitAQCAtNSw2ICs1LDcgQEAKKyAjaWZuZGVmIEdQVV9D T05GSUdfR1BVX0ZFQVRVUkVfSU5GT19IXworICNkZWZpbmUgR1BVX0NPTkZJR19HUFVfRkVBVFVS RV9JTkZPX0hfCisgCisrI2luY2x1ZGUgPGNzdGRpbnQ+CisgI2luY2x1ZGUgPHN0cmluZz4KKyAj aW5jbHVkZSA8dmVjdG9yPgorIAorZGlmZiAtdXAgY2hyb21pdW0tMTA5LjAuNTQxNC43NC9uZXQv YmFzZS9uZXRfZXhwb3J0LmgubWUgY2hyb21pdW0tMTA5LjAuNTQxNC43NC9uZXQvYmFzZS9uZXRf ZXhwb3J0LmgKKy0tLSBjaHJvbWl1bS0xMDkuMC41NDE0Ljc0L25ldC9iYXNlL25ldF9leHBvcnQu aC5tZQkyMDIzLTAxLTE3IDE4OjE2OjM0LjEzMzg1NDYxNSArMDEwMAorKysrIGNocm9taXVtLTEw OS4wLjU0MTQuNzQvbmV0L2Jhc2UvbmV0X2V4cG9ydC5oCTIwMjMtMDEtMTcgMTg6MTY6MTUuOTQ1 NjIzMTUzICswMTAwCitAQCAtNSw2ICs1LDggQEAKKyAjaWZuZGVmIE5FVF9CQVNFX05FVF9FWFBP UlRfSF8KKyAjZGVmaW5lIE5FVF9CQVNFX05FVF9FWFBPUlRfSF8KKyAKKysjaW5jbHVkZSA8Y3N0 ZGludD4KKysKKyAvLyBEZWZpbmVzIE5FVF9FWFBPUlQgc28gdGhhdCBmdW5jdGlvbmFsaXR5IGlt cGxlbWVudGVkIGJ5IHRoZSBuZXQgbW9kdWxlIGNhbgorIC8vIGJlIGV4cG9ydGVkIHRvIGNvbnN1 bWVycywgYW5kIE5FVF9FWFBPUlRfUFJJVkFURSB0aGF0IGFsbG93cyB1bml0IHRlc3RzIHRvCisg Ly8gYWNjZXNzIGZlYXR1cmVzIG5vdCBpbnRlbmRlZCB0byBiZSB1c2VkIGRpcmVjdGx5IGJ5IHJl YWwgY29uc3VtZXJzLgorZGlmZiAtdXAgY2hyb21pdW0tMTA5LjAuNTQxNC43NC9zYW5kYm94L2xp bnV4L3N5c2NhbGxfYnJva2VyL2Jyb2tlcl9maWxlX3Blcm1pc3Npb24uaC5tZSBjaHJvbWl1bS0x MDkuMC41NDE0Ljc0L3NhbmRib3gvbGludXgvc3lzY2FsbF9icm9rZXIvYnJva2VyX2ZpbGVfcGVy bWlzc2lvbi5oCistLS0gY2hyb21pdW0tMTA5LjAuNTQxNC43NC9zYW5kYm94L2xpbnV4L3N5c2Nh bGxfYnJva2VyL2Jyb2tlcl9maWxlX3Blcm1pc3Npb24uaC5tZQkyMDIzLTAxLTE3IDE3OjEyOjM0 LjE4NDY4NjUxNSArMDEwMAorKysrIGNocm9taXVtLTEwOS4wLjU0MTQuNzQvc2FuZGJveC9saW51 eC9zeXNjYWxsX2Jyb2tlci9icm9rZXJfZmlsZV9wZXJtaXNzaW9uLmgJMjAyMy0wMS0xNyAxNzox MzoxNi41MzcxNjI0MjAgKzAxMDAKK0BAIC01LDYgKzUsNyBAQAorICNpZm5kZWYgU0FOREJPWF9M SU5VWF9TWVNDQUxMX0JST0tFUl9CUk9LRVJfRklMRV9QRVJNSVNTSU9OX0hfCisgI2RlZmluZSBT QU5EQk9YX0xJTlVYX1NZU0NBTExfQlJPS0VSX0JST0tFUl9GSUxFX1BFUk1JU1NJT05fSF8KKyAK KysjaW5jbHVkZSA8Y3N0ZGludD4KKyAjaW5jbHVkZSA8Yml0c2V0PgorICNpbmNsdWRlIDxzdHJp bmc+CisgCitkaWZmIC11cCBjaHJvbWl1bS0xMDkuMC41NDE0Ljc0L3RoaXJkX3BhcnR5L2Fic2Vp bC1jcHAvYWJzbC9zdHJpbmdzL3N0cmluZ192aWV3LmgubWUgY2hyb21pdW0tMTA5LjAuNTQxNC43 NC90aGlyZF9wYXJ0eS9hYnNlaWwtY3BwL2Fic2wvc3RyaW5ncy9zdHJpbmdfdmlldy5oCistLS0g Y2hyb21pdW0tMTA5LjAuNTQxNC43NC90aGlyZF9wYXJ0eS9hYnNlaWwtY3BwL2Fic2wvc3RyaW5n cy9zdHJpbmdfdmlldy5oLm1lCTIwMjMtMDEtMTcgMTc6MzM6MjAuODk1NzE3MzA3ICswMTAwCisr KysgY2hyb21pdW0tMTA5LjAuNTQxNC43NC90aGlyZF9wYXJ0eS9hYnNlaWwtY3BwL2Fic2wvc3Ry aW5ncy9zdHJpbmdfdmlldy5oCTIwMjMtMDEtMTcgMTc6MzQ6MDMuNDU2MTg1MzY1ICswMTAwCitA QCAtMjcsNiArMjcsNyBAQAorICNpZm5kZWYgQUJTTF9TVFJJTkdTX1NUUklOR19WSUVXX0hfCisg I2RlZmluZSBBQlNMX1NUUklOR1NfU1RSSU5HX1ZJRVdfSF8KKyAKKysjaW5jbHVkZSA8Y3N0ZGlu dD4KKyAjaW5jbHVkZSA8YWxnb3JpdGhtPgorICNpbmNsdWRlIDxjYXNzZXJ0PgorICNpbmNsdWRl IDxjc3RkZGVmPgorZGlmZiAtdXAgY2hyb21pdW0tMTA5LjAuNTQxNC43NC90aGlyZF9wYXJ0eS9h bmdsZS9pbmNsdWRlL0dMU0xBTkcvU2hhZGVyVmFycy5oLm1lIGNocm9taXVtLTEwOS4wLjU0MTQu NzQvdGhpcmRfcGFydHkvYW5nbGUvaW5jbHVkZS9HTFNMQU5HL1NoYWRlclZhcnMuaAorLS0tIGNo cm9taXVtLTEwOS4wLjU0MTQuNzQvdGhpcmRfcGFydHkvYW5nbGUvaW5jbHVkZS9HTFNMQU5HL1No YWRlclZhcnMuaC5tZQkyMDIzLTAxLTE3IDE3OjM2OjE1LjAxNzYxNjI1MCArMDEwMAorKysrIGNo cm9taXVtLTEwOS4wLjU0MTQuNzQvdGhpcmRfcGFydHkvYW5nbGUvaW5jbHVkZS9HTFNMQU5HL1No YWRlclZhcnMuaAkyMDIzLTAxLTE3IDE3OjM2OjQ4Ljk2MDk4MjE5NSArMDEwMAorQEAgLTEwLDYg KzEwLDcgQEAKKyAjaWZuZGVmIEdMU0xBTkdfU0hBREVSVkFSU19IXworICNkZWZpbmUgR0xTTEFO R19TSEFERVJWQVJTX0hfCisgCisrI2luY2x1ZGUgPGNzdGRpbnQ+CisgI2luY2x1ZGUgPGFsZ29y aXRobT4KKyAjaW5jbHVkZSA8YXJyYXk+CisgI2luY2x1ZGUgPHN0cmluZz4KK2RpZmYgLXVwIGNo cm9taXVtLTEwOS4wLjU0MTQuNzQvdGhpcmRfcGFydHkvYmxpbmsvcHVibGljL2NvbW1vbi9ibHVl dG9vdGgvd2ViX2JsdWV0b290aF9kZXZpY2VfaWQuaC5tZSBjaHJvbWl1bS0xMDkuMC41NDE0Ljc0 L3RoaXJkX3BhcnR5L2JsaW5rL3B1YmxpYy9jb21tb24vYmx1ZXRvb3RoL3dlYl9ibHVldG9vdGhf ZGV2aWNlX2lkLmgKKy0tLSBjaHJvbWl1bS0xMDkuMC41NDE0Ljc0L3RoaXJkX3BhcnR5L2JsaW5r L3B1YmxpYy9jb21tb24vYmx1ZXRvb3RoL3dlYl9ibHVldG9vdGhfZGV2aWNlX2lkLmgubWUJMjAy My0wMS0xNyAxOToxNzo0MC40ODA4NzYxNzEgKzAxMDAKKysrKyBjaHJvbWl1bS0xMDkuMC41NDE0 Ljc0L3RoaXJkX3BhcnR5L2JsaW5rL3B1YmxpYy9jb21tb24vYmx1ZXRvb3RoL3dlYl9ibHVldG9v dGhfZGV2aWNlX2lkLmgJMjAyMy0wMS0xNyAxOToxNzo0Ni44MDM5NTgzMjAgKzAxMDAKK0BAIC01 LDYgKzUsNyBAQAorICNpZm5kZWYgVEhJUkRfUEFSVFlfQkxJTktfUFVCTElDX0NPTU1PTl9CTFVF VE9PVEhfV0VCX0JMVUVUT09USF9ERVZJQ0VfSURfSF8KKyAjZGVmaW5lIFRISVJEX1BBUlRZX0JM SU5LX1BVQkxJQ19DT01NT05fQkxVRVRPT1RIX1dFQl9CTFVFVE9PVEhfREVWSUNFX0lEX0hfCisg CisrI2luY2x1ZGUgPGNzdGRpbnQ+CisgI2luY2x1ZGUgPGFycmF5PgorICNpbmNsdWRlIDxzdHJp bmc+CisgCitkaWZmIC11cCBjaHJvbWl1bS0xMTcuMC41OTM4LjQ4L3RoaXJkX3BhcnR5L2Rhd24v c3JjL3RpbnQvbGFuZy9zcGlydi9yZWFkZXIvYXN0X3BhcnNlci9uYW1lci5oLm1lIGNocm9taXVt LTExNy4wLjU5MzguNDgvdGhpcmRfcGFydHkvZGF3bi9zcmMvdGludC9sYW5nL3NwaXJ2L3JlYWRl ci9hc3RfcGFyc2VyL25hbWVyLmgKKy0tLSBjaHJvbWl1bS0xMTcuMC41OTM4LjQ4L3RoaXJkX3Bh cnR5L2Rhd24vc3JjL3RpbnQvbGFuZy9zcGlydi9yZWFkZXIvYXN0X3BhcnNlci9uYW1lci5oLm1l CTIwMjMtMDEtMTcgMTg6MDI6NDQuNjgxNTM4MTA3ICswMTAwCisrKysgY2hyb21pdW0tMTE3LjAu NTkzOC40OC90aGlyZF9wYXJ0eS9kYXduL3NyYy90aW50L2xhbmcvc3BpcnYvcmVhZGVyL2FzdF9w YXJzZXIvbmFtZXIuaAkyMDIzLTAxLTE3IDE4OjAyOjU3LjIwODY3OTE0MCArMDEwMAorQEAgLTE1 LDYgKzE1LDcgQEAKKyAjaWZuZGVmIFNSQ19USU5UX1JFQURFUl9TUElSVl9OQU1FUl9IXworICNk ZWZpbmUgU1JDX1RJTlRfUkVBREVSX1NQSVJWX05BTUVSX0hfCisgCisrI2luY2x1ZGUgPGNzdGRp bnQ+CisgI2luY2x1ZGUgPHN0cmluZz4KKyAjaW5jbHVkZSA8dW5vcmRlcmVkX21hcD4KKyAjaW5j bHVkZSA8dmVjdG9yPgorZGlmZiAtdXAgY2hyb21pdW0tMTA5LjAuNTQxNC43NC90aGlyZF9wYXJ0 eS9vcGVuc2NyZWVuL3NyYy9kaXNjb3ZlcnkvZG5zc2QvcHVibGljL2Ruc19zZF90eHRfcmVjb3Jk LmgubWUgY2hyb21pdW0tMTA5LjAuNTQxNC43NC90aGlyZF9wYXJ0eS9vcGVuc2NyZWVuL3NyYy9k aXNjb3ZlcnkvZG5zc2QvcHVibGljL2Ruc19zZF90eHRfcmVjb3JkLmgKKy0tLSBjaHJvbWl1bS0x MDkuMC41NDE0Ljc0L3RoaXJkX3BhcnR5L29wZW5zY3JlZW4vc3JjL2Rpc2NvdmVyeS9kbnNzZC9w dWJsaWMvZG5zX3NkX3R4dF9yZWNvcmQuaC5tZQkyMDIzLTAxLTE4IDE1OjIyOjM4LjQ3Mjk0MDY0 OCArMDEwMAorKysrIGNocm9taXVtLTEwOS4wLjU0MTQuNzQvdGhpcmRfcGFydHkvb3BlbnNjcmVl bi9zcmMvZGlzY292ZXJ5L2Ruc3NkL3B1YmxpYy9kbnNfc2RfdHh0X3JlY29yZC5oCTIwMjMtMDEt MTggMTU6MjM6MDkuMzgwMjU1MTAxICswMTAwCitAQCAtNSw2ICs1LDcgQEAKKyAjaWZuZGVmIERJ U0NPVkVSWV9ETlNTRF9QVUJMSUNfRE5TX1NEX1RYVF9SRUNPUkRfSF8KKyAjZGVmaW5lIERJU0NP VkVSWV9ETlNTRF9QVUJMSUNfRE5TX1NEX1RYVF9SRUNPUkRfSF8KKyAKKysjaW5jbHVkZSA8Y3N0 ZGludD4KKyAjaW5jbHVkZSA8ZnVuY3Rpb25hbD4KKyAjaW5jbHVkZSA8bWFwPgorICNpbmNsdWRl IDxzZXQ+CitkaWZmIC11cCBjaHJvbWl1bS0xMDkuMC41NDE0Ljc0L3RoaXJkX3BhcnR5L3N3aWZ0 c2hhZGVyL3NyYy9TeXN0ZW0vTFJVQ2FjaGUuaHBwLm1lIGNocm9taXVtLTEwOS4wLjU0MTQuNzQv dGhpcmRfcGFydHkvc3dpZnRzaGFkZXIvc3JjL1N5c3RlbS9MUlVDYWNoZS5ocHAKKy0tLSBjaHJv bWl1bS0xMDkuMC41NDE0Ljc0L3RoaXJkX3BhcnR5L3N3aWZ0c2hhZGVyL3NyYy9TeXN0ZW0vTFJV Q2FjaGUuaHBwLm1lCTIwMjMtMDEtMTcgMTU6Mzc6NDguNTMwNjI2NTE2ICswMTAwCisrKysgY2hy b21pdW0tMTA5LjAuNTQxNC43NC90aGlyZF9wYXJ0eS9zd2lmdHNoYWRlci9zcmMvU3lzdGVtL0xS VUNhY2hlLmhwcAkyMDIzLTAxLTE3IDE2OjU3OjQ2LjAyNTU0ODA5MiArMDEwMAorQEAgLTE3LDYg KzE3LDcgQEAKKyAKKyAjaW5jbHVkZSAiU3lzdGVtL0RlYnVnLmhwcCIKKyAKKysjaW5jbHVkZSA8 Y3N0ZGludD4KKyAjaW5jbHVkZSA8Y3N0ZGRlZj4KKyAjaW5jbHVkZSA8ZnVuY3Rpb25hbD4KKyAj aW5jbHVkZSA8dW5vcmRlcmVkX3NldD4KK2RpZmYgLXVwIGNocm9taXVtLTEwOS4wLjU0MTQuNzQv dGhpcmRfcGFydHkvdnVsa2FuX21lbW9yeV9hbGxvY2F0b3IvaW5jbHVkZS92a19tZW1fYWxsb2Mu aC5tZSBjaHJvbWl1bS0xMDkuMC41NDE0Ljc0L3RoaXJkX3BhcnR5L3Z1bGthbl9tZW1vcnlfYWxs b2NhdG9yL2luY2x1ZGUvdmtfbWVtX2FsbG9jLmgKKy0tLSBjaHJvbWl1bS0xMDkuMC41NDE0Ljc0 L3RoaXJkX3BhcnR5L3Z1bGthbl9tZW1vcnlfYWxsb2NhdG9yL2luY2x1ZGUvdmtfbWVtX2FsbG9j LmgubWUJMjAyMy0wMS0xNyAxNTo0MDoyMy44NTQzODYyMDYgKzAxMDAKKysrKyBjaHJvbWl1bS0x MDkuMC41NDE0Ljc0L3RoaXJkX3BhcnR5L3Z1bGthbl9tZW1vcnlfYWxsb2NhdG9yL2luY2x1ZGUv dmtfbWVtX2FsbG9jLmgJMjAyMy0wMS0xNyAxNjo1ODoxOS4zOTc4NjI4ODUgKzAxMDAKK0BAIC0y Mzg4LDYgKzIzODgsNyBAQCBWTUFfQ0FMTF9QUkUgdm9pZCBWTUFfQ0FMTF9QT1NUIHZtYUZyZWVW CisgI2lmZGVmIFZNQV9JTVBMRU1FTlRBVElPTg0KKyAjdW5kZWYgVk1BX0lNUExFTUVOVEFUSU9O DQorIA0KKysjaW5jbHVkZSA8Y3N0ZGlvPg0KKyAjaW5jbHVkZSA8Y3N0ZGludD4NCisgI2luY2x1 ZGUgPGNzdGRsaWI+DQorICNpbmNsdWRlIDxjc3RyaW5nPg0KK2RpZmYgLXVwIGNocm9taXVtLTEw OS4wLjU0MTQuNzQvdWkvZ2Z4L2dlb21ldHJ5L2xpbmVhcl9ncmFkaWVudC5oLm1lIGNocm9taXVt LTEwOS4wLjU0MTQuNzQvdWkvZ2Z4L2dlb21ldHJ5L2xpbmVhcl9ncmFkaWVudC5oCistLS0gY2hy b21pdW0tMTA5LjAuNTQxNC43NC91aS9nZngvZ2VvbWV0cnkvbGluZWFyX2dyYWRpZW50LmgubWUJ MjAyMy0wMS0xNyAxODowODoyNS43NDU0OTEzNTMgKzAxMDAKKysrKyBjaHJvbWl1bS0xMDkuMC41 NDE0Ljc0L3VpL2dmeC9nZW9tZXRyeS9saW5lYXJfZ3JhZGllbnQuaAkyMDIzLTAxLTE3IDE4OjA4 OjM1Ljc3NzY2NzYzMiArMDEwMAorQEAgLTUsNiArNSw3IEBACisgI2lmbmRlZiBVSV9HRlhfTElO RUFSX0dSQURJRU5UX0hfCisgI2RlZmluZSBVSV9HRlhfTElORUFSX0dSQURJRU5UX0hfCisgCisr I2luY2x1ZGUgPGNzdGRpbnQ+CisgI2luY2x1ZGUgPGFycmF5PgorICNpbmNsdWRlIDxzdHJpbmc+ CisgCitkaWZmIC11cCBjaHJvbWl1bS0xMDkuMC41NDE0Ljc0L3RoaXJkX3BhcnR5L3J1eS9zcmMv cnV5L3Byb2ZpbGVyL2luc3RydW1lbnRhdGlvbi5oLm1lIGNocm9taXVtLTEwOS4wLjU0MTQuNzQv dGhpcmRfcGFydHkvcnV5L3NyYy9ydXkvcHJvZmlsZXIvaW5zdHJ1bWVudGF0aW9uLmgKKy0tLSBj aHJvbWl1bS0xMDkuMC41NDE0Ljc0L3RoaXJkX3BhcnR5L3J1eS9zcmMvcnV5L3Byb2ZpbGVyL2lu c3RydW1lbnRhdGlvbi5oLm1lCTIwMjMtMDEtMTkgMTA6MTA6MjEuMjg3ODc2NzM2ICswMTAwCisr KysgY2hyb21pdW0tMTA5LjAuNTQxNC43NC90aGlyZF9wYXJ0eS9ydXkvc3JjL3J1eS9wcm9maWxl ci9pbnN0cnVtZW50YXRpb24uaAkyMDIzLTAxLTE5IDEwOjExOjIxLjcxNDc3ODg5NiArMDEwMAor QEAgLTE3LDYgKzE3LDcgQEAgbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuCisgI2RlZmlu ZSBSVVlfUlVZX1BST0ZJTEVSX0lOU1RSVU1FTlRBVElPTl9IXworIAorICNpZmRlZiBSVVlfUFJP RklMRVIKKysjaW5jbHVkZSA8c3RyaW5nPgorICNpbmNsdWRlIDxjc3RkaW8+CisgI2luY2x1ZGUg PG11dGV4PgorICNpbmNsdWRlIDx2ZWN0b3I+CitkaWZmIC11cCBjaHJvbWl1bS0xMDkuMC41NDE0 Ljc0L3RoaXJkX3BhcnR5L3RmbGl0ZS9zcmMvdGVuc29yZmxvdy9saXRlL2tlcm5lbHMvaW50ZXJu YWwvc3BlY3Ryb2dyYW0uaC5tZSBjaHJvbWl1bS0xMDkuMC41NDE0Ljc0L3RoaXJkX3BhcnR5L3Rm bGl0ZS9zcmMvdGVuc29yZmxvdy9saXRlL2tlcm5lbHMvaW50ZXJuYWwvc3BlY3Ryb2dyYW0uaAor LS0tIGNocm9taXVtLTEwOS4wLjU0MTQuNzQvdGhpcmRfcGFydHkvdGZsaXRlL3NyYy90ZW5zb3Jm bG93L2xpdGUva2VybmVscy9pbnRlcm5hbC9zcGVjdHJvZ3JhbS5oLm1lCTIwMjMtMDEtMTkgMTA6 MzA6MjcuNTMzODYxOTg1ICswMTAwCisrKysgY2hyb21pdW0tMTA5LjAuNTQxNC43NC90aGlyZF9w YXJ0eS90ZmxpdGUvc3JjL3RlbnNvcmZsb3cvbGl0ZS9rZXJuZWxzL2ludGVybmFsL3NwZWN0cm9n cmFtLmgJMjAyMy0wMS0xOSAxMDozMToxMi41ODU1NTQxODMgKzAxMDAKK0BAIC0zMSw2ICszMSw3 IEBAIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgorICNpZm5kZWYgVEVOU09SRkxPV19M SVRFX0tFUk5FTFNfSU5URVJOQUxfU1BFQ1RST0dSQU1fSF8KKyAjZGVmaW5lIFRFTlNPUkZMT1df TElURV9LRVJORUxTX0lOVEVSTkFMX1NQRUNUUk9HUkFNX0hfCisgCisrI2luY2x1ZGUgPGNzdGRp bnQ+CisgI2luY2x1ZGUgPGNvbXBsZXg+CisgI2luY2x1ZGUgPGRlcXVlPgorICNpbmNsdWRlIDx2 ZWN0b3I+CitkaWZmIC11cCBjaHJvbWl1bS0xMDkuMC41NDE0Ljc0L2Jhc2UvY29udGFpbmVycy9m bGF0X21hcC5oLm1lZSBjaHJvbWl1bS0xMDkuMC41NDE0Ljc0L2Jhc2UvY29udGFpbmVycy9mbGF0 X21hcC5oCistLS0gY2hyb21pdW0tMTA5LjAuNTQxNC43NC9iYXNlL2NvbnRhaW5lcnMvZmxhdF9t YXAuaC5tZWUJMjAyMy0wMS0xOSAxMDo1OTo1Mi4yMTQ5NTc3NzMgKzAxMDAKKysrKyBjaHJvbWl1 bS0xMDkuMC41NDE0Ljc0L2Jhc2UvY29udGFpbmVycy9mbGF0X21hcC5oCTIwMjMtMDEtMTkgMTE6 MDA6MDYuNDE1MjE1MzA5ICswMTAwCitAQCAtNSw2ICs1LDcgQEAKKyAjaWZuZGVmIEJBU0VfQ09O VEFJTkVSU19GTEFUX01BUF9IXworICNkZWZpbmUgQkFTRV9DT05UQUlORVJTX0ZMQVRfTUFQX0hf CisgCisrI2luY2x1ZGUgPGNzdGRpbnQ+CisgI2luY2x1ZGUgPGZ1bmN0aW9uYWw+CisgI2luY2x1 ZGUgPHR1cGxlPgorICNpbmNsdWRlIDx1dGlsaXR5PgorZGlmZiAtdXAgY2hyb21pdW0tMTA5LjAu NTQxNC43NC9jb21wb25lbnRzL2NyYXNoL2NvcmUvYXBwL2NyYXNoX3JlcG9ydGVyX2NsaWVudC5o Lm1lZSBjaHJvbWl1bS0xMDkuMC41NDE0Ljc0L2NvbXBvbmVudHMvY3Jhc2gvY29yZS9hcHAvY3Jh c2hfcmVwb3J0ZXJfY2xpZW50LmgKKy0tLSBjaHJvbWl1bS0xMDkuMC41NDE0Ljc0L2NvbXBvbmVu dHMvY3Jhc2gvY29yZS9hcHAvY3Jhc2hfcmVwb3J0ZXJfY2xpZW50LmgubWVlCTIwMjMtMDEtMTkg MTA6MzY6NDAuNTcxNDIyODI2ICswMTAwCisrKysgY2hyb21pdW0tMTA5LjAuNTQxNC43NC9jb21w b25lbnRzL2NyYXNoL2NvcmUvYXBwL2NyYXNoX3JlcG9ydGVyX2NsaWVudC5oCTIwMjMtMDEtMTkg MTA6MzY6NDkuMzQzNTY1Mjk0ICswMTAwCitAQCAtNSw2ICs1LDcgQEAKKyAjaWZuZGVmIENPTVBP TkVOVFNfQ1JBU0hfQ09SRV9BUFBfQ1JBU0hfUkVQT1JURVJfQ0xJRU5UX0hfCisgI2RlZmluZSBD T01QT05FTlRTX0NSQVNIX0NPUkVfQVBQX0NSQVNIX1JFUE9SVEVSX0NMSUVOVF9IXworIAorKyNp bmNsdWRlIDxjc3RkaW50PgorICNpbmNsdWRlIDxzdHJpbmc+CisgCisgI2luY2x1ZGUgImJ1aWxk L2J1aWxkX2NvbmZpZy5oIgorZGlmZiAtdXAgY2hyb21pdW0tMTA5LjAuNTQxNC43NC91aS9iYXNl L3ByZWRpY3Rpb24va2FsbWFuX2ZpbHRlci5oLm1lZSBjaHJvbWl1bS0xMDkuMC41NDE0Ljc0L3Vp L2Jhc2UvcHJlZGljdGlvbi9rYWxtYW5fZmlsdGVyLmgKKy0tLSBjaHJvbWl1bS0xMDkuMC41NDE0 Ljc0L3VpL2Jhc2UvcHJlZGljdGlvbi9rYWxtYW5fZmlsdGVyLmgubWVlCTIwMjMtMDEtMTkgMTE6 NDU6MTUuOTUzMTU5NzU1ICswMTAwCisrKysgY2hyb21pdW0tMTA5LjAuNTQxNC43NC91aS9iYXNl L3ByZWRpY3Rpb24va2FsbWFuX2ZpbHRlci5oCTIwMjMtMDEtMTkgMTE6NDU6MjIuMzIwMjQ2MjQx ICswMTAwCitAQCAtNSw2ICs1LDggQEAKKyAjaWZuZGVmIFVJX0JBU0VfUFJFRElDVElPTl9LQUxN QU5fRklMVEVSX0hfCisgI2RlZmluZSBVSV9CQVNFX1BSRURJQ1RJT05fS0FMTUFOX0ZJTFRFUl9I XworIAorKyNpbmNsdWRlIDxjc3RkaW50PgorKworICNpbmNsdWRlICJiYXNlL2NvbXBvbmVudF9l eHBvcnQuaCIKKyAjaW5jbHVkZSAidWkvZ2Z4L2dlb21ldHJ5L21hdHJpeDNfZi5oIgorIAorZGlm ZiAtdXAgY2hyb21pdW0tMTA5LjAuNTQxNC43NC9jb21wb25lbnRzL3Bhc3N3b3JkX21hbmFnZXIv Y29yZS9icm93c2VyL2dlbmVyYXRpb24vcGFzc3dvcmRfZ2VuZXJhdG9yLmgubWUgY2hyb21pdW0t MTA5LjAuNTQxNC43NC9jb21wb25lbnRzL3Bhc3N3b3JkX21hbmFnZXIvY29yZS9icm93c2VyL2dl bmVyYXRpb24vcGFzc3dvcmRfZ2VuZXJhdG9yLmgKKy0tLSBjaHJvbWl1bS0xMDkuMC41NDE0Ljc0 L2NvbXBvbmVudHMvcGFzc3dvcmRfbWFuYWdlci9jb3JlL2Jyb3dzZXIvZ2VuZXJhdGlvbi9wYXNz d29yZF9nZW5lcmF0b3IuaC5tZQkyMDIzLTAxLTE5IDE1OjIwOjA3LjYyMDk4Nzk0OSArMDEwMAor KysrIGNocm9taXVtLTEwOS4wLjU0MTQuNzQvY29tcG9uZW50cy9wYXNzd29yZF9tYW5hZ2VyL2Nv cmUvYnJvd3Nlci9nZW5lcmF0aW9uL3Bhc3N3b3JkX2dlbmVyYXRvci5oCTIwMjMtMDEtMTkgMTU6 MjA6MTguMzI0MTczNzAyICswMTAwCitAQCAtNSw2ICs1LDcgQEAKKyAjaWZuZGVmIENPTVBPTkVO VFNfUEFTU1dPUkRfTUFOQUdFUl9DT1JFX0JST1dTRVJfR0VORVJBVElPTl9QQVNTV09SRF9HRU5F UkFUT1JfSF8KKyAjZGVmaW5lIENPTVBPTkVOVFNfUEFTU1dPUkRfTUFOQUdFUl9DT1JFX0JST1dT RVJfR0VORVJBVElPTl9QQVNTV09SRF9HRU5FUkFUT1JfSF8KKyAKKysjaW5jbHVkZSA8Y3N0ZGlu dD4KKyAjaW5jbHVkZSA8c3RyaW5nPgorIAorIAorZGlmZiAtdXAgY2hyb21pdW0tMTA5LjAuNTQx NC43NC9jb21wb25lbnRzL2ZlYXR1cmVfZW5nYWdlbWVudC9pbnRlcm5hbC9ldmVudF9zdG9yYWdl X3ZhbGlkYXRvci5oLm1lIGNocm9taXVtLTEwOS4wLjU0MTQuNzQvY29tcG9uZW50cy9mZWF0dXJl X2VuZ2FnZW1lbnQvaW50ZXJuYWwvZXZlbnRfc3RvcmFnZV92YWxpZGF0b3IuaAorLS0tIGNocm9t aXVtLTEwOS4wLjU0MTQuNzQvY29tcG9uZW50cy9mZWF0dXJlX2VuZ2FnZW1lbnQvaW50ZXJuYWwv ZXZlbnRfc3RvcmFnZV92YWxpZGF0b3IuaC5tZQkyMDIzLTAxLTE5IDE2OjAwOjE0LjM1MDE4NjUx NSArMDEwMAorKysrIGNocm9taXVtLTEwOS4wLjU0MTQuNzQvY29tcG9uZW50cy9mZWF0dXJlX2Vu Z2FnZW1lbnQvaW50ZXJuYWwvZXZlbnRfc3RvcmFnZV92YWxpZGF0b3IuaAkyMDIzLTAxLTE5IDE2 OjAwOjIxLjY0MzMwNzk5MyArMDEwMAorQEAgLTUsNiArNSw3IEBACisgI2lmbmRlZiBDT01QT05F TlRTX0ZFQVRVUkVfRU5HQUdFTUVOVF9JTlRFUk5BTF9FVkVOVF9TVE9SQUdFX1ZBTElEQVRPUl9I XworICNkZWZpbmUgQ09NUE9ORU5UU19GRUFUVVJFX0VOR0FHRU1FTlRfSU5URVJOQUxfRVZFTlRf U1RPUkFHRV9WQUxJREFUT1JfSF8KKyAKKysjaW5jbHVkZSA8Y3N0ZGludD4KKyAjaW5jbHVkZSA8 c3RyaW5nPgorIAorIG5hbWVzcGFjZSBmZWF0dXJlX2VuZ2FnZW1lbnQgeworZGlmZiAtdXAgY2hy b21pdW0tMTA5LjAuNTQxNC43NC9jb21wb25lbnRzL2ZlYXR1cmVfZW5nYWdlbWVudC9pbnRlcm5h bC9uZXZlcl9ldmVudF9zdG9yYWdlX3ZhbGlkYXRvci5oLm1lIGNocm9taXVtLTEwOS4wLjU0MTQu NzQvY29tcG9uZW50cy9mZWF0dXJlX2VuZ2FnZW1lbnQvaW50ZXJuYWwvbmV2ZXJfZXZlbnRfc3Rv cmFnZV92YWxpZGF0b3IuaAorLS0tIGNocm9taXVtLTEwOS4wLjU0MTQuNzQvY29tcG9uZW50cy9m ZWF0dXJlX2VuZ2FnZW1lbnQvaW50ZXJuYWwvbmV2ZXJfZXZlbnRfc3RvcmFnZV92YWxpZGF0b3Iu aC5tZQkyMDIzLTAxLTE5IDE1OjU5OjE4LjIxMDIzOTQxNiArMDEwMAorKysrIGNocm9taXVtLTEw OS4wLjU0MTQuNzQvY29tcG9uZW50cy9mZWF0dXJlX2VuZ2FnZW1lbnQvaW50ZXJuYWwvbmV2ZXJf ZXZlbnRfc3RvcmFnZV92YWxpZGF0b3IuaAkyMDIzLTAxLTE5IDE1OjU5OjM0LjUxMzUxNTAzMCAr MDEwMAorQEAgLTUsNiArNSw3IEBACisgI2lmbmRlZiBDT01QT05FTlRTX0ZFQVRVUkVfRU5HQUdF TUVOVF9JTlRFUk5BTF9ORVZFUl9FVkVOVF9TVE9SQUdFX1ZBTElEQVRPUl9IXworICNkZWZpbmUg Q09NUE9ORU5UU19GRUFUVVJFX0VOR0FHRU1FTlRfSU5URVJOQUxfTkVWRVJfRVZFTlRfU1RPUkFH RV9WQUxJREFUT1JfSF8KKyAKKysjaW5jbHVkZSA8Y3N0ZGludD4KKyAjaW5jbHVkZSA8c3RyaW5n PgorIAorICNpbmNsdWRlICJjb21wb25lbnRzL2ZlYXR1cmVfZW5nYWdlbWVudC9pbnRlcm5hbC9l dmVudF9zdG9yYWdlX3ZhbGlkYXRvci5oIgorZGlmZiAtdXAgY2hyb21pdW0tMTA5LjAuNTQxNC43 NC90aGlyZF9wYXJ0eS9zd2lmdHNoYWRlci90aGlyZF9wYXJ0eS9sbHZtLTEwLjAvbGx2bS9saWIv U3VwcG9ydC9Vbml4L1NpZ25hbHMuaW5jLm1lIGNocm9taXVtLTEwOS4wLjU0MTQuNzQvdGhpcmRf cGFydHkvc3dpZnRzaGFkZXIvdGhpcmRfcGFydHkvbGx2bS0xMC4wL2xsdm0vbGliL1N1cHBvcnQv VW5peC9TaWduYWxzLmluYworLS0tIGNocm9taXVtLTEwOS4wLjU0MTQuNzQvdGhpcmRfcGFydHkv c3dpZnRzaGFkZXIvdGhpcmRfcGFydHkvbGx2bS0xMC4wL2xsdm0vbGliL1N1cHBvcnQvVW5peC9T aWduYWxzLmluYy5tZQkyMDIzLTAxLTE5IDE2OjA5OjI5LjIxNjQ3NzE4MiArMDEwMAorKysrIGNo cm9taXVtLTEwOS4wLjU0MTQuNzQvdGhpcmRfcGFydHkvc3dpZnRzaGFkZXIvdGhpcmRfcGFydHkv bGx2bS0xMC4wL2xsdm0vbGliL1N1cHBvcnQvVW5peC9TaWduYWxzLmluYwkyMDIzLTAxLTE5IDE2 OjEwOjA1LjY1NzA4OTIwOCArMDEwMAorQEAgLTQ1LDYgKzQ1LDcgQEAKKyAjaW5jbHVkZSAibGx2 bS9TdXBwb3J0L1NhdmVBbmRSZXN0b3JlLmgiCisgI2luY2x1ZGUgImxsdm0vU3VwcG9ydC9yYXdf b3N0cmVhbS5oIgorICNpbmNsdWRlIDxhbGdvcml0aG0+CisrI2luY2x1ZGUgPGNzdGRpbnQ+Cisg I2luY2x1ZGUgPHN0cmluZz4KKyAjaW5jbHVkZSA8c3lzZXhpdHMuaD4KKyAjaWZkZWYgSEFWRV9C QUNLVFJBQ0UKK2RpZmYgLXVwIGNocm9taXVtLTEwOS4wLjU0MTQuNzQvY2hyb21lL2Jyb3dzZXIv cHJpdmFjeV9idWRnZXQvZW5jb3VudGVyZWRfc3VyZmFjZV90cmFja2VyLmgubWUgY2hyb21pdW0t MTA5LjAuNTQxNC43NC9jaHJvbWUvYnJvd3Nlci9wcml2YWN5X2J1ZGdldC9lbmNvdW50ZXJlZF9z dXJmYWNlX3RyYWNrZXIuaAorLS0tIGNocm9taXVtLTEwOS4wLjU0MTQuNzQvY2hyb21lL2Jyb3dz ZXIvcHJpdmFjeV9idWRnZXQvZW5jb3VudGVyZWRfc3VyZmFjZV90cmFja2VyLmgubWUJMjAyMy0w MS0xOSAxNjozMjowNS4zMzgxNjAxMzEgKzAxMDAKKysrKyBjaHJvbWl1bS0xMDkuMC41NDE0Ljc0 L2Nocm9tZS9icm93c2VyL3ByaXZhY3lfYnVkZ2V0L2VuY291bnRlcmVkX3N1cmZhY2VfdHJhY2tl ci5oCTIwMjMtMDEtMTkgMTY6MzI6MTYuMjEzMzI2Nzk4ICswMTAwCitAQCAtNSw2ICs1LDcgQEAK KyAjaWZuZGVmIENIUk9NRV9CUk9XU0VSX1BSSVZBQ1lfQlVER0VUX0VOQ09VTlRFUkVEX1NVUkZB Q0VfVFJBQ0tFUl9IXworICNkZWZpbmUgQ0hST01FX0JST1dTRVJfUFJJVkFDWV9CVURHRVRfRU5D T1VOVEVSRURfU1VSRkFDRV9UUkFDS0VSX0hfCisgCisrI2luY2x1ZGUgPGNzdGRpbnQ+CisgI2lu Y2x1ZGUgPG1hcD4KKyAKKyAjaW5jbHVkZSAiYmFzZS9jb250YWluZXJzL2ZsYXRfc2V0LmgiCitk aWZmIC11cCBjaHJvbWl1bS0xMDkuMC41NDE0Ljc0L2NvbXBvbmVudHMvYXV0b2ZpbGwvY29yZS9i cm93c2VyL2F1dG9maWxsX2FibGF0aW9uX3N0dWR5LmgubWUgY2hyb21pdW0tMTA5LjAuNTQxNC43 NC9jb21wb25lbnRzL2F1dG9maWxsL2NvcmUvYnJvd3Nlci9hdXRvZmlsbF9hYmxhdGlvbl9zdHVk eS5oCistLS0gY2hyb21pdW0tMTA5LjAuNTQxNC43NC9jb21wb25lbnRzL2F1dG9maWxsL2NvcmUv YnJvd3Nlci9hdXRvZmlsbF9hYmxhdGlvbl9zdHVkeS5oLm1lCTIwMjMtMDEtMTkgMTY6NDc6NTUu NTQ4NTcxMTAyICswMTAwCisrKysgY2hyb21pdW0tMTA5LjAuNTQxNC43NC9jb21wb25lbnRzL2F1 dG9maWxsL2NvcmUvYnJvd3Nlci9hdXRvZmlsbF9hYmxhdGlvbl9zdHVkeS5oCTIwMjMtMDEtMTkg MTY6NDg6MjkuMjE0MTQ2NTI5ICswMTAwCitAQCAtNSw2ICs1LDcgQEAKKyAjaWZuZGVmIENPTVBP TkVOVFNfQVVUT0ZJTExfQ09SRV9CUk9XU0VSX0FVVE9GSUxMX0FCTEFUSU9OX1NUVURZX0hfCisg I2RlZmluZSBDT01QT05FTlRTX0FVVE9GSUxMX0NPUkVfQlJPV1NFUl9BVVRPRklMTF9BQkxBVElP Tl9TVFVEWV9IXworIAorKyNpbmNsdWRlIDxjc3RkaW50PgorICNpbmNsdWRlIDxzdHJpbmc+Cisg CisgY2xhc3MgR1VSTDsKK2RpZmYgLXVwIGNocm9taXVtLTEwOS4wLjU0MTQuNzQvY29tcG9uZW50 cy9vbW5pYm94L2Jyb3dzZXIvb25fZGV2aWNlX2hlYWRfbW9kZWwuaC5tZSBjaHJvbWl1bS0xMDku MC41NDE0Ljc0L2NvbXBvbmVudHMvb21uaWJveC9icm93c2VyL29uX2RldmljZV9oZWFkX21vZGVs LmgKKy0tLSBjaHJvbWl1bS0xMDkuMC41NDE0Ljc0L2NvbXBvbmVudHMvb21uaWJveC9icm93c2Vy L29uX2RldmljZV9oZWFkX21vZGVsLmgubWUJMjAyMy0wMS0xOSAxNjo1NzoyOS41MjUzNzI4MTQg KzAxMDAKKysrKyBjaHJvbWl1bS0xMDkuMC41NDE0Ljc0L2NvbXBvbmVudHMvb21uaWJveC9icm93 c2VyL29uX2RldmljZV9oZWFkX21vZGVsLmgJMjAyMy0wMS0xOSAxNjo1ODowMi42Njc5NzkyODgg KzAxMDAKK0BAIC01LDYgKzUsNyBAQAorICNpZm5kZWYgQ09NUE9ORU5UU19PTU5JQk9YX0JST1dT RVJfT05fREVWSUNFX0hFQURfTU9ERUxfSF8KKyAjZGVmaW5lIENPTVBPTkVOVFNfT01OSUJPWF9C Uk9XU0VSX09OX0RFVklDRV9IRUFEX01PREVMX0hfCisgCisrI2luY2x1ZGUgPGNzdGRpbnQ+Cisg I2luY2x1ZGUgPHN0cmluZz4KKyAjaW5jbHVkZSA8dXRpbGl0eT4KKyAjaW5jbHVkZSA8dmVjdG9y PgorZGlmZiAtdXAgY2hyb21pdW0tMTA5LjAuNTQxNC43NC9jb21wb25lbnRzL3BheW1lbnRzL2Nv bnRlbnQvdXRpbGl0eS9maW5nZXJwcmludF9wYXJzZXIuaC5tZSBjaHJvbWl1bS0xMDkuMC41NDE0 Ljc0L2NvbXBvbmVudHMvcGF5bWVudHMvY29udGVudC91dGlsaXR5L2ZpbmdlcnByaW50X3BhcnNl ci5oCistLS0gY2hyb21pdW0tMTA5LjAuNTQxNC43NC9jb21wb25lbnRzL3BheW1lbnRzL2NvbnRl bnQvdXRpbGl0eS9maW5nZXJwcmludF9wYXJzZXIuaC5tZQkyMDIzLTAxLTE5IDE3OjAyOjQ1LjI1 ODU0NDY2NSArMDEwMAorKysrIGNocm9taXVtLTEwOS4wLjU0MTQuNzQvY29tcG9uZW50cy9wYXlt ZW50cy9jb250ZW50L3V0aWxpdHkvZmluZ2VycHJpbnRfcGFyc2VyLmgJMjAyMy0wMS0xOSAxNzow Mjo1Mi41Nzc2MTE3NTcgKzAxMDAKK0BAIC01LDYgKzUsNyBAQAorICNpZm5kZWYgQ09NUE9ORU5U U19QQVlNRU5UU19DT05URU5UX1VUSUxJVFlfRklOR0VSUFJJTlRfUEFSU0VSX0hfCisgI2RlZmlu ZSBDT01QT05FTlRTX1BBWU1FTlRTX0NPTlRFTlRfVVRJTElUWV9GSU5HRVJQUklOVF9QQVJTRVJf SF8KKyAKKysjaW5jbHVkZSA8Y3N0ZGludD4KKyAjaW5jbHVkZSA8c3RkZGVmLmg+CisgCisgI2lu Y2x1ZGUgPHN0cmluZz4KK2RpZmYgLXVwIGNocm9taXVtLTEwOS4wLjU0MTQuNzQvcGRmL2RvY3Vt ZW50X2F0dGFjaG1lbnRfaW5mby5oLm1lIGNocm9taXVtLTEwOS4wLjU0MTQuNzQvcGRmL2RvY3Vt ZW50X2F0dGFjaG1lbnRfaW5mby5oCistLS0gY2hyb21pdW0tMTA5LjAuNTQxNC43NC9wZGYvZG9j dW1lbnRfYXR0YWNobWVudF9pbmZvLmgubWUJMjAyMy0wMS0xOSAxNzoyODoyOC41NTIwNjM1MzQg KzAxMDAKKysrKyBjaHJvbWl1bS0xMDkuMC41NDE0Ljc0L3BkZi9kb2N1bWVudF9hdHRhY2htZW50 X2luZm8uaAkyMDIzLTAxLTE5IDE3OjI4OjQ4LjA3MjM3OTk1MyArMDEwMAorQEAgLTUsNiArNSw3 IEBACisgI2lmbmRlZiBQREZfRE9DVU1FTlRfQVRUQUNITUVOVF9JTkZPX0hfCisgI2RlZmluZSBQ REZfRE9DVU1FTlRfQVRUQUNITUVOVF9JTkZPX0hfCisgCisrI2luY2x1ZGUgPGNzdGRpbnQ+Cisg I2luY2x1ZGUgPHN0cmluZz4KKyAKKyAKK2RpZmYgLXVwIGNocm9taXVtLTEwOS4wLjU0MTQuNzQv dGhpcmRfcGFydHkvcGRmaXVtL2NvbnN0YW50cy9hbm5vdGF0aW9uX2ZsYWdzLmgubWUgY2hyb21p dW0tMTA5LjAuNTQxNC43NC90aGlyZF9wYXJ0eS9wZGZpdW0vY29uc3RhbnRzL2Fubm90YXRpb25f ZmxhZ3MuaAorLS0tIGNocm9taXVtLTEwOS4wLjU0MTQuNzQvdGhpcmRfcGFydHkvcGRmaXVtL2Nv bnN0YW50cy9hbm5vdGF0aW9uX2ZsYWdzLmgubWUJMjAyMy0wMS0xOSAxODoyNTo0Ny42NDgxOTM3 MTAgKzAxMDAKKysrKyBjaHJvbWl1bS0xMDkuMC41NDE0Ljc0L3RoaXJkX3BhcnR5L3BkZml1bS9j b25zdGFudHMvYW5ub3RhdGlvbl9mbGFncy5oCTIwMjMtMDEtMTkgMTg6MjY6MTEuNDg4NTkzNTU2 ICswMTAwCitAQCAtNSw2ICs1LDggQEAKKyAjaWZuZGVmIENPTlNUQU5UU19BTk5PVEFUSU9OX0ZM QUdTX0hfCisgI2RlZmluZSBDT05TVEFOVFNfQU5OT1RBVElPTl9GTEFHU19IXworIAorKyNpbmNs dWRlIDxjc3RkaW50PgorKworIG5hbWVzcGFjZSBwZGZpdW0geworIG5hbWVzcGFjZSBhbm5vdGF0 aW9uX2ZsYWdzIHsKKyAKK2RpZmYgLXVwIGNocm9taXVtLTExMy4wLjU2NzIuMjQvdGhpcmRfcGFy dHkvdnVsa2FuLWRlcHMvdnVsa2FuLXZhbGlkYXRpb24tbGF5ZXJzL3NyYy9sYXllcnMvZXh0ZXJu YWwvdm1hL3ZrX21lbV9hbGxvYy5oLm1lIGNocm9taXVtLTExMy4wLjU2NzIuMjQvdGhpcmRfcGFy dHkvdnVsa2FuLWRlcHMvdnVsa2FuLXZhbGlkYXRpb24tbGF5ZXJzL3NyYy9sYXllcnMvZXh0ZXJu YWwvdm1hL3ZrX21lbV9hbGxvYy5oCistLS0gY2hyb21pdW0tMTEzLjAuNTY3Mi4yNC90aGlyZF9w YXJ0eS92dWxrYW4tZGVwcy92dWxrYW4tdmFsaWRhdGlvbi1sYXllcnMvc3JjL2xheWVycy9leHRl cm5hbC92bWEvdmtfbWVtX2FsbG9jLmgubWUJMjAyMy0wNC0xNSAxNjo0NDo1NS4zNDQzMDU0MTIg KzAyMDAKKysrKyBjaHJvbWl1bS0xMTMuMC41NjcyLjI0L3RoaXJkX3BhcnR5L3Z1bGthbi1kZXBz L3Z1bGthbi12YWxpZGF0aW9uLWxheWVycy9zcmMvbGF5ZXJzL2V4dGVybmFsL3ZtYS92a19tZW1f YWxsb2MuaAkyMDIzLTA0LTE1IDE2OjQ3OjA5LjAyODY2Njk5NSArMDIwMAorQEAgLTI4NTQsNiAr Mjg1NCw3IEBAIHN0YXRpYyB2b2lkIHZtYV9hbGlnbmVkX2ZyZWUodm9pZCogVk1BX04KKyAKKyAv LyBEZWZpbmUgdGhpcyBtYWNybyB0byAxIHRvIGVuYWJsZSBmdW5jdGlvbnM6IHZtYUJ1aWxkU3Rh dHNTdHJpbmcsIHZtYUZyZWVTdGF0c1N0cmluZy4KKyAjaWYgVk1BX1NUQVRTX1NUUklOR19FTkFC TEVECisrI2luY2x1ZGUgPHN0ZGlvLmg+CisgICAgIHN0YXRpYyBpbmxpbmUgdm9pZCBWbWFVaW50 MzJUb1N0cihjaGFyKiBWTUFfTk9UX05VTEwgb3V0U3RyLCBzaXplX3Qgc3RyTGVuLCB1aW50MzJf dCBudW0pCisgICAgIHsKKyAgICAgICAgIHNucHJpbnRmKG91dFN0ciwgc3RyTGVuLCAiJXUiLCBz dGF0aWNfY2FzdDx1bnNpZ25lZCBpbnQ+KG51bSkpOworZGlmZiAtdXAgY2hyb21pdW0tMTEzLjAu NTY3Mi4zNy9jaHJvbWUvYnJvd3Nlci93ZWJhdXRobi9hdXRoZW50aWNhdG9yX3JlcXVlc3RfZGlh bG9nX21vZGVsLmgubWUgY2hyb21pdW0tMTEzLjAuNTY3Mi4zNy9jaHJvbWUvYnJvd3Nlci93ZWJh dXRobi9hdXRoZW50aWNhdG9yX3JlcXVlc3RfZGlhbG9nX21vZGVsLmgKKy0tLSBjaHJvbWl1bS0x MTMuMC41NjcyLjM3L2Nocm9tZS9icm93c2VyL3dlYmF1dGhuL2F1dGhlbnRpY2F0b3JfcmVxdWVz dF9kaWFsb2dfbW9kZWwuaC5tZQkyMDIzLTA0LTE4IDE1OjU1OjQ0Ljc3NDkxNjMxOSArMDIwMAor KysrIGNocm9taXVtLTExMy4wLjU2NzIuMzcvY2hyb21lL2Jyb3dzZXIvd2ViYXV0aG4vYXV0aGVu dGljYXRvcl9yZXF1ZXN0X2RpYWxvZ19tb2RlbC5oCTIwMjMtMDQtMTggMTU6NTU6NTQuNDQxMDg1 ODgyICswMjAwCitAQCAtOCw2ICs4LDcgQEAKKyAjaW5jbHVkZSA8bWVtb3J5PgorICNpbmNsdWRl IDxzdHJpbmc+CisgI2luY2x1ZGUgPHZlY3Rvcj4KKysjaW5jbHVkZSA8dmFyaWFudD4KKyAKKyAj aW5jbHVkZSAiYmFzZS9jb250YWluZXJzL3NwYW4uaCIKKyAjaW5jbHVkZSAiYmFzZS9mdW5jdGlv bmFsL2NhbGxiYWNrX2ZvcndhcmQuaCIKK2RpZmYgLXVwIGNocm9taXVtLTExMy4wLjU2NzIuMzcv Z2luL3RpbWVfY2xhbXBlci5oLm1lIGNocm9taXVtLTExMy4wLjU2NzIuMzcvZ2luL3RpbWVfY2xh bXBlci5oCistLS0gY2hyb21pdW0tMTEzLjAuNTY3Mi4zNy9naW4vdGltZV9jbGFtcGVyLmgubWUJ MjAyMy0wNC0xOCAxNjozODo0MS4xODA0Mzc0NjcgKzAyMDAKKysrKyBjaHJvbWl1bS0xMTMuMC41 NjcyLjM3L2dpbi90aW1lX2NsYW1wZXIuaAkyMDIzLTA0LTE4IDE2OjM5OjQzLjg1NzA0OTQzMiAr MDIwMAorQEAgLTQ4LDcgKzQ4LDcgQEAgY2xhc3MgR0lOX0VYUE9SVCBUaW1lQ2xhbXBlciB7Cisg ICAgIGNvbnN0IGludDY0X3QgbWljcm9zID0gbm93X21pY3JvcyAlIDEwMDA7CisgICAgIC8vIGFi cygpIGlzIG5lY2Vzc2FyeSBmb3IgZGV2aWNlcyB3aXRoIHRpbWVzIGJlZm9yZSB1bml4LWVwb2No IChtb3N0IGxpa2VseQorICAgICAvLyBjb25maWd1cmVkIGluY29ycmVjdGx5KS4KKy0gICAgaWYg KGFicyhtaWNyb3MpICsga1Jlc29sdXRpb25NaWNyb3MgPCAxMDAwKSB7CisrICAgIGlmIChzdGQ6 OmFicyhtaWNyb3MpICsga1Jlc29sdXRpb25NaWNyb3MgPCAxMDAwKSB7CisgICAgICAgcmV0dXJu IG5vd19taWNyb3MgLyAxMDAwOworICAgICB9CisgICAgIHJldHVybiBDbGFtcFRpbWVSZXNvbHV0 aW9uKG5vd19taWNyb3MpIC8gMTAwMDsKK2RpZmYgLXVwIGNocm9taXVtLTExMy4wLjU2NzIuNTMv Y2hyb21lL3Rlc3QvY2hyb21lZHJpdmVyL2Nocm9tZS93ZWJfdmlld19pbXBsLmNjLm1lIGNocm9t aXVtLTExMy4wLjU2NzIuNTMvY2hyb21lL3Rlc3QvY2hyb21lZHJpdmVyL2Nocm9tZS93ZWJfdmll d19pbXBsLmNjCistLS0gY2hyb21pdW0tMTEzLjAuNTY3Mi41My9jaHJvbWUvdGVzdC9jaHJvbWVk cml2ZXIvY2hyb21lL3dlYl92aWV3X2ltcGwuY2MubWUJMjAyMy0wNC0yMSAwODowNzo1NS4zNjI3 MTQ1NDQgKzAyMDAKKysrKyBjaHJvbWl1bS0xMTMuMC41NjcyLjUzL2Nocm9tZS90ZXN0L2Nocm9t ZWRyaXZlci9jaHJvbWUvd2ViX3ZpZXdfaW1wbC5jYwkyMDIzLTA0LTIxIDA4OjE0OjM1LjQyNDE1 ODY5MyArMDIwMAorQEAgLTEwLDYgKzEwLDcgQEAKKyAjaW5jbHVkZSA8cXVldWU+CisgI2luY2x1 ZGUgPHV0aWxpdHk+CisgI2luY2x1ZGUgPHZlY3Rvcj4KKysjaW5jbHVkZSA8Y3N0cmluZz4KKyAK KyAjaW5jbHVkZSAiYmFzZS9jaGVjay5oIgorICNpbmNsdWRlICJiYXNlL2ZpbGVzL2ZpbGVfcGF0 aC5oIgorZGlmZiAtdXAgY2hyb21pdW0tMTE1LjAuNTc5MC4zMi9za2lhL2V4dC9za2NvbG9yc3Bh Y2VfdHJmbi5jYy5tZSBjaHJvbWl1bS0xMTUuMC41NzkwLjMyL3NraWEvZXh0L3NrY29sb3JzcGFj ZV90cmZuLmNjCistLS0gY2hyb21pdW0tMTE1LjAuNTc5MC4zMi9za2lhL2V4dC9za2NvbG9yc3Bh Y2VfdHJmbi5jYy5tZQkyMDIzLTA2LTE4IDEyOjMzOjUyLjM4NzQxMjc4OCArMDIwMAorKysrIGNo cm9taXVtLTExNS4wLjU3OTAuMzIvc2tpYS9leHQvc2tjb2xvcnNwYWNlX3RyZm4uY2MJMjAyMy0w Ni0xOCAxMjozNToyOC4yMjkxNDg5MzUgKzAyMDAKK0BAIC0zLDYgKzMsNyBAQAorIC8vIGZvdW5k IGluIHRoZSBMSUNFTlNFIGZpbGUuCisgCisgI2luY2x1ZGUgInNraWEvZXh0L3NrY29sb3JzcGFj ZV90cmZuLmgiCisrI2luY2x1ZGUgPGNtYXRoPgorIAorIG5hbWVzcGFjZSBza2lhIHsKKyAKK2Rp ZmYgLXVwIGNocm9taXVtLTk2LjAuNDY2NC40NS90aGlyZF9wYXJ0eS93ZWJydGMvY29tbW9uX3Zp ZGVvL2gyNjQvc3BzX3BhcnNlci5oLm1pc3NpbmctY3N0ZGludCBjaHJvbWl1bS05Ni4wLjQ2NjQu NDUvdGhpcmRfcGFydHkvd2VicnRjL2NvbW1vbl92aWRlby9oMjY0L3Nwc19wYXJzZXIuaAorLS0t IGNocm9taXVtLTk2LjAuNDY2NC40NS90aGlyZF9wYXJ0eS93ZWJydGMvY29tbW9uX3ZpZGVvL2gy NjQvc3BzX3BhcnNlci5oLm1pc3NpbmctY3N0ZGludAkyMDIxLTExLTE5IDE3OjA1OjMxLjM3OTc1 MDM1MCAtMDUwMAorKysrIGNocm9taXVtLTk2LjAuNDY2NC40NS90aGlyZF9wYXJ0eS93ZWJydGMv Y29tbW9uX3ZpZGVvL2gyNjQvc3BzX3BhcnNlci5oCTIwMjEtMTEtMTkgMTc6MDc6MzUuMTkxNTIw MTI3IC0wNTAwCitAQCAtMTEsNiArMTEsNyBAQAorICNpZm5kZWYgQ09NTU9OX1ZJREVPX0gyNjRf U1BTX1BBUlNFUl9IXworICNkZWZpbmUgQ09NTU9OX1ZJREVPX0gyNjRfU1BTX1BBUlNFUl9IXwor IAorKyNpbmNsdWRlIDxjc3RkaW50PgorICNpbmNsdWRlICJhYnNsL3R5cGVzL29wdGlvbmFsLmgi CisgI2luY2x1ZGUgInJ0Y19iYXNlL2JpdHN0cmVhbV9yZWFkZXIuaCIKKyAKK2RpZmYgLXVwIGNo cm9taXVtLTk2LjAuNDY2NC40NS90aGlyZF9wYXJ0eS93ZWJydGMvbW9kdWxlcy9pbmNsdWRlL21v ZHVsZV9jb21tb25fdHlwZXNfcHVibGljLmgubWlzc2luZy1jc3RkaW50IGNocm9taXVtLTk2LjAu NDY2NC40NS90aGlyZF9wYXJ0eS93ZWJydGMvbW9kdWxlcy9pbmNsdWRlL21vZHVsZV9jb21tb25f dHlwZXNfcHVibGljLmgKKy0tLSBjaHJvbWl1bS05Ni4wLjQ2NjQuNDUvdGhpcmRfcGFydHkvd2Vi cnRjL21vZHVsZXMvaW5jbHVkZS9tb2R1bGVfY29tbW9uX3R5cGVzX3B1YmxpYy5oLm1pc3Npbmct Y3N0ZGludAkyMDIxLTExLTEyIDA1OjI4OjEwLjAwMDAwMDAwMCAtMDUwMAorKysrIGNocm9taXVt LTk2LjAuNDY2NC40NS90aGlyZF9wYXJ0eS93ZWJydGMvbW9kdWxlcy9pbmNsdWRlL21vZHVsZV9j b21tb25fdHlwZXNfcHVibGljLmgJMjAyMS0xMS0xOSAxNzowNTozMS4zNzk3NTAzNTAgLTA1MDAK K0BAIC0xMSw2ICsxMSw3IEBACisgI2lmbmRlZiBNT0RVTEVTX0lOQ0xVREVfTU9EVUxFX0NPTU1P Tl9UWVBFU19QVUJMSUNfSF8KKyAjZGVmaW5lIE1PRFVMRVNfSU5DTFVERV9NT0RVTEVfQ09NTU9O X1RZUEVTX1BVQkxJQ19IXworIAorKyNpbmNsdWRlIDxjc3RkaW50PgorICNpbmNsdWRlIDxsaW1p dHM+CisgCisgI2luY2x1ZGUgImFic2wvdHlwZXMvb3B0aW9uYWwuaCIKK2RpZmYgLXVwIGNocm9t aXVtLTk2LjAuNDY2NC40NS91aS9nZngvbGludXgvZHJtX3V0aWxfbGludXguaC5taXNzaW5nLWNz dGRpbnQgY2hyb21pdW0tOTYuMC40NjY0LjQ1L3VpL2dmeC9saW51eC9kcm1fdXRpbF9saW51eC5o CistLS0gY2hyb21pdW0tOTYuMC40NjY0LjQ1L3VpL2dmeC9saW51eC9kcm1fdXRpbF9saW51eC5o Lm1pc3NpbmctY3N0ZGludAkyMDIxLTExLTEyIDA1OjI1OjI0LjAwMDAwMDAwMCAtMDUwMAorKysr IGNocm9taXVtLTk2LjAuNDY2NC40NS91aS9nZngvbGludXgvZHJtX3V0aWxfbGludXguaAkyMDIx LTExLTE5IDE3OjA1OjMxLjM3OTc1MDM1MCAtMDUwMAorQEAgLTksNiArOSw4IEBACisgCisgI2lu Y2x1ZGUgInVpL2dmeC9idWZmZXJfdHlwZXMuaCIKKyAKKysjaW5jbHVkZSA8Y3N0ZGludD4KKysK KyBuYW1lc3BhY2UgdWkgeworIAorIGludCBHZXRGb3VyQ0NGb3JtYXRGcm9tQnVmZmVyRm9ybWF0 KGdmeDo6QnVmZmVyRm9ybWF0IGZvcm1hdCk7CitkaWZmIC11cCBjaHJvbWl1bS05Ni4wLjQ2NjQu NDUvdGhpcmRfcGFydHkvd2VicnRjL2F1ZGlvL3V0aWxpdHkvY2hhbm5lbF9taXhlci5jYy5taXNz aW5nLWNzdHJpbmcgY2hyb21pdW0tOTYuMC40NjY0LjQ1L3RoaXJkX3BhcnR5L3dlYnJ0Yy9hdWRp by91dGlsaXR5L2NoYW5uZWxfbWl4ZXIuY2MKKy0tLSBjaHJvbWl1bS05Ni4wLjQ2NjQuNDUvdGhp cmRfcGFydHkvd2VicnRjL2F1ZGlvL3V0aWxpdHkvY2hhbm5lbF9taXhlci5jYy5taXNzaW5nLWNz dHJpbmcJMjAyMS0xMS0xMiAwNToyODowOS4wMDAwMDAwMDAgLTA1MDAKKysrKyBjaHJvbWl1bS05 Ni4wLjQ2NjQuNDUvdGhpcmRfcGFydHkvd2VicnRjL2F1ZGlvL3V0aWxpdHkvY2hhbm5lbF9taXhl ci5jYwkyMDIxLTExLTE5IDE3OjEwOjAyLjkyNzQzODY5NSAtMDUwMAorQEAgLTgsNiArOCw4IEBA CisgICogIGJlIGZvdW5kIGluIHRoZSBBVVRIT1JTIGZpbGUgaW4gdGhlIHJvb3Qgb2YgdGhlIHNv dXJjZSB0cmVlLgorICAqLworIAorKyNpbmNsdWRlIDxjc3RyaW5nPgorKworICNpbmNsdWRlICJh dWRpby91dGlsaXR5L2NoYW5uZWxfbWl4ZXIuaCIKKyAKKyAjaW5jbHVkZSAiYXVkaW8vdXRpbGl0 eS9jaGFubmVsX21peGluZ19tYXRyaXguaCIKK2RpZmYgLXVwIGNocm9taXVtLTk2LjAuNDY2NC40 NS90aGlyZF9wYXJ0eS93ZWJydGMvbW9kdWxlcy92aWRlb19jb2RpbmcvdXRpbGl0eS9pdmZfZmls ZV9yZWFkZXIuY2MubWlzc2luZy1jc3RyaW5nIGNocm9taXVtLTk2LjAuNDY2NC40NS90aGlyZF9w YXJ0eS93ZWJydGMvbW9kdWxlcy92aWRlb19jb2RpbmcvdXRpbGl0eS9pdmZfZmlsZV9yZWFkZXIu Y2MKKy0tLSBjaHJvbWl1bS05Ni4wLjQ2NjQuNDUvdGhpcmRfcGFydHkvd2VicnRjL21vZHVsZXMv dmlkZW9fY29kaW5nL3V0aWxpdHkvaXZmX2ZpbGVfcmVhZGVyLmNjLm1pc3NpbmctY3N0cmluZwky MDIxLTExLTEyIDA1OjI4OjEwLjAwMDAwMDAwMCAtMDUwMAorKysrIGNocm9taXVtLTk2LjAuNDY2 NC40NS90aGlyZF9wYXJ0eS93ZWJydGMvbW9kdWxlcy92aWRlb19jb2RpbmcvdXRpbGl0eS9pdmZf ZmlsZV9yZWFkZXIuY2MJMjAyMS0xMS0xOSAxNzoxMDowMi45Mjg0Mzg3MDEgLTA1MDAKK0BAIC0x MCw2ICsxMCw3IEBACisgCisgI2luY2x1ZGUgIm1vZHVsZXMvdmlkZW9fY29kaW5nL3V0aWxpdHkv aXZmX2ZpbGVfcmVhZGVyLmgiCisgCisrI2luY2x1ZGUgPGNzdHJpbmc+CisgI2luY2x1ZGUgPHN0 cmluZz4KKyAjaW5jbHVkZSA8dmVjdG9yPgorIAorZGlmZiAtdXAgY2hyb21pdW0tMTE3LjAuNTkz OC40OC90aGlyZF9wYXJ0eS9pcGN6L3NyYy9pcGN6L3JvdXRlcl9saW5rLmgubWUgY2hyb21pdW0t MTE3LjAuNTkzOC40OC90aGlyZF9wYXJ0eS9pcGN6L3NyYy9pcGN6L3JvdXRlcl9saW5rLmgKKy0t LSBjaHJvbWl1bS0xMTcuMC41OTM4LjQ4L3RoaXJkX3BhcnR5L2lwY3ovc3JjL2lwY3ovcm91dGVy X2xpbmsuaC5tZQkyMDIzLTA5LTEwIDE3OjUzOjA0LjgyNjI5ODM1MSArMDIwMAorKysrIGNocm9t aXVtLTExNy4wLjU5MzguNDgvdGhpcmRfcGFydHkvaXBjei9zcmMvaXBjei9yb3V0ZXJfbGluay5o CTIwMjMtMDktMTAgMTc6NTM6MjIuMjAxNzU2ODk0ICswMjAwCitAQCAtNSw2ICs1LDcgQEAKKyAj aWZuZGVmIElQQ1pfU1JDX0lQQ1pfUk9VVEVSX0xJTktfSF8KKyAjZGVmaW5lIElQQ1pfU1JDX0lQ Q1pfUk9VVEVSX0xJTktfSF8KKyAKKysjaW5jbHVkZSA8bWVtb3J5PgorICNpbmNsdWRlIDxjc3Rk ZGVmPgorICNpbmNsdWRlIDxmdW5jdGlvbmFsPgorICNpbmNsdWRlIDxzdHJpbmc+CitkaWZmIC11 cCBjaHJvbWl1bS0xMTcuMC41OTM4LjQ4L3RoaXJkX3BhcnR5L21hdGVyaWFsX2NvbG9yX3V0aWxp dGllcy9zcmMvY3BwL3BhbGV0dGVzL3RvbmVzLmNjLm1lIGNocm9taXVtLTExNy4wLjU5MzguNDgv dGhpcmRfcGFydHkvbWF0ZXJpYWxfY29sb3JfdXRpbGl0aWVzL3NyYy9jcHAvcGFsZXR0ZXMvdG9u ZXMuY2MKKy0tLSBjaHJvbWl1bS0xMTcuMC41OTM4LjQ4L3RoaXJkX3BhcnR5L21hdGVyaWFsX2Nv bG9yX3V0aWxpdGllcy9zcmMvY3BwL3BhbGV0dGVzL3RvbmVzLmNjLm1lCTIwMjMtMDktMTAgMTc6 MzY6MjcuMTk5ODQxMDUxICswMjAwCisrKysgY2hyb21pdW0tMTE3LjAuNTkzOC40OC90aGlyZF9w YXJ0eS9tYXRlcmlhbF9jb2xvcl91dGlsaXRpZXMvc3JjL2NwcC9wYWxldHRlcy90b25lcy5jYwky MDIzLTA5LTEwIDE3OjQ0OjUxLjg3MDU1NDIzMyArMDIwMAorQEAgLTE0LDYgKzE0LDcgQEAKKyAg KiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS4KKyAgKi8KKyAKKysjaW5jbHVkZSA8Y21h dGg+CisgI2luY2x1ZGUgImNwcC9wYWxldHRlcy90b25lcy5oIgorIAorICNpbmNsdWRlICJjcHAv Y2FtL2NhbS5oIgorZGlmZiAtdXAgY2hyb21pdW0tMTE4LjAuNTk5My4zMi9zZXJ2aWNlcy9kZXZp Y2UvcHVibGljL2NwcC9nZW5lcmljX3NlbnNvci9zZW5zb3JfcmVhZGluZy5oLm1lIGNocm9taXVt LTExOC4wLjU5OTMuMzIvc2VydmljZXMvZGV2aWNlL3B1YmxpYy9jcHAvZ2VuZXJpY19zZW5zb3Iv c2Vuc29yX3JlYWRpbmcuaAorLS0tIGNocm9taXVtLTExOC4wLjU5OTMuMzIvc2VydmljZXMvZGV2 aWNlL3B1YmxpYy9jcHAvZ2VuZXJpY19zZW5zb3Ivc2Vuc29yX3JlYWRpbmcuaC5tZQkyMDIzLTEw LTAxIDEzOjU1OjAxLjkxMzE5MzE4NiArMDIwMAorKysrIGNocm9taXVtLTExOC4wLjU5OTMuMzIv c2VydmljZXMvZGV2aWNlL3B1YmxpYy9jcHAvZ2VuZXJpY19zZW5zb3Ivc2Vuc29yX3JlYWRpbmcu aAkyMDIzLTEwLTAxIDE0OjA1OjM4LjQ4ODAzODQyOSArMDIwMAorQEAgLTUsNiArNSw5IEBACisg I2lmbmRlZiBTRVJWSUNFU19ERVZJQ0VfUFVCTElDX0NQUF9HRU5FUklDX1NFTlNPUl9TRU5TT1Jf UkVBRElOR19IXworICNkZWZpbmUgU0VSVklDRVNfREVWSUNFX1BVQkxJQ19DUFBfR0VORVJJQ19T RU5TT1JfU0VOU09SX1JFQURJTkdfSF8KKyAKKysjaW5jbHVkZSA8Y3N0ZGRlZj4KKysjaW5jbHVk ZSA8Y3N0ZGludD4KKysKKyAjaW5jbHVkZSA8dHlwZV90cmFpdHM+CisgCisgbmFtZXNwYWNlIGRl dmljZSB7CitkaWZmIC11cCBjaHJvbWl1bS0xMTguMC41OTkzLjMyL2NvbXBvbmVudHMvZ3dwX2Fz YW4vY2xpZW50L2xpZ2h0d2VpZ2h0X2RldGVjdG9yLmgubWUgY2hyb21pdW0tMTE4LjAuNTk5My4z Mi9jb21wb25lbnRzL2d3cF9hc2FuL2NsaWVudC9saWdodHdlaWdodF9kZXRlY3Rvci5oCistLS0g Y2hyb21pdW0tMTE4LjAuNTk5My4zMi9jb21wb25lbnRzL2d3cF9hc2FuL2NsaWVudC9saWdodHdl aWdodF9kZXRlY3Rvci5oLm1lCTIwMjMtMTAtMDIgMTM6Mzg6MzEuMjE3ODA2NDI4ICswMjAwCisr KysgY2hyb21pdW0tMTE4LjAuNTk5My4zMi9jb21wb25lbnRzL2d3cF9hc2FuL2NsaWVudC9saWdo dHdlaWdodF9kZXRlY3Rvci5oCTIwMjMtMTAtMDIgMTM6Mzk6MDUuMDA2NDI3MTY4ICswMjAwCitA QCAtNSw2ICs1LDggQEAKKyAjaWZuZGVmIENPTVBPTkVOVFNfR1dQX0FTQU5fQ0xJRU5UX0xJR0hU V0VJR0hUX0RFVEVDVE9SX0hfCisgI2RlZmluZSBDT01QT05FTlRTX0dXUF9BU0FOX0NMSUVOVF9M SUdIVFdFSUdIVF9ERVRFQ1RPUl9IXworIAorKyNpbmNsdWRlIDxhdG9taWM+CisrCisgI2luY2x1 ZGUgImJhc2UvZ3Rlc3RfcHJvZF91dGlsLmgiCisgI2luY2x1ZGUgImNvbXBvbmVudHMvZ3dwX2Fz YW4vY2xpZW50L2V4cG9ydC5oIgorICNpbmNsdWRlICJjb21wb25lbnRzL2d3cF9hc2FuL2NvbW1v bi9saWdodHdlaWdodF9kZXRlY3Rvcl9zdGF0ZS5oIgoKZGlmZiAtLWdpdCBhL2Nocm9taXVtLTEx OC1ub19tYXRjaGluZ19jb25zdHJ1Y3Rvci5wYXRjaCBiL2Nocm9taXVtLTExOC1ub19tYXRjaGlu Z19jb25zdHJ1Y3Rvci5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4z ZDc3NDhjCi0tLSAvZGV2L251bGwKKysrIGIvY2hyb21pdW0tMTE4LW5vX21hdGNoaW5nX2NvbnN0 cnVjdG9yLnBhdGNoCkBAIC0wLDAgKzEsNTY3IEBACitkaWZmIC11cCBjaHJvbWl1bS0xMTYuMC41 ODQ1LjUwL25ldC9kbnMvaG9zdF9yZXNvbHZlcl9jYWNoZS5jYy5tZSBjaHJvbWl1bS0xMTYuMC41 ODQ1LjUwL25ldC9kbnMvaG9zdF9yZXNvbHZlcl9jYWNoZS5jYworLS0tIGNocm9taXVtLTExNi4w LjU4NDUuNTAvbmV0L2Rucy9ob3N0X3Jlc29sdmVyX2NhY2hlLmNjLm1lCisrKysgY2hyb21pdW0t MTE2LjAuNTg0NS41MC9uZXQvZG5zL2hvc3RfcmVzb2x2ZXJfY2FjaGUuY2MKK0BAIC0xNjEsNyAr MTYxLDcgQEAgdm9pZCBIb3N0UmVzb2x2ZXJDYWNoZTo6U2V0KAorIAorICAgc3RkOjpzdHJpbmcg ZG9tYWluX25hbWUgPSByZXN1bHQtPmRvbWFpbl9uYW1lKCk7CisgICBlbnRyaWVzXy5lbXBsYWNl KAorLSAgICAgIEtleShzdGQ6Om1vdmUoZG9tYWluX25hbWUpLCBuZXR3b3JrX2Fub255bWl6YXRp b25fa2V5KSwKKysgICAgICBLZXl7c3RkOjptb3ZlKGRvbWFpbl9uYW1lKSwgbmV0d29ya19hbm9u eW1pemF0aW9uX2tleX0sCisgICAgICAgRW50cnkoc3RkOjptb3ZlKHJlc3VsdCksIHNvdXJjZSwg c2VjdXJlLCBzdGFsZW5lc3NfZ2VuZXJhdGlvbl8pKTsKKyAKKyAgIGlmIChlbnRyaWVzXy5zaXpl KCkgPiBtYXhfZW50cmllc18pIHsKK2RpZmYgLXVwIGNocm9taXVtLTExNi4wLjU4NDUuNTAvY29t cG9uZW50cy92aXovc2VydmljZS9kaXNwbGF5X2VtYmVkZGVyL3NraWFfb3V0cHV0X3N1cmZhY2Vf aW1wbF9vbl9ncHUuY2MubWUgY2hyb21pdW0tMTE2LjAuNTg0NS41MC9jb21wb25lbnRzL3Zpei9z ZXJ2aWNlL2Rpc3BsYXlfZW1iZWRkZXIvc2tpYV9vdXRwdXRfc3VyZmFjZV9pbXBsX29uX2dwdS5j YworLS0tIGNocm9taXVtLTExNi4wLjU4NDUuNTAvY29tcG9uZW50cy92aXovc2VydmljZS9kaXNw bGF5X2VtYmVkZGVyL3NraWFfb3V0cHV0X3N1cmZhY2VfaW1wbF9vbl9ncHUuY2MubWUJMjAyMy0w OC0wMiAxNToxNzo1Mi42MTM4NTg0MjMgKzAyMDAKKysrKyBjaHJvbWl1bS0xMTYuMC41ODQ1LjUw L2NvbXBvbmVudHMvdml6L3NlcnZpY2UvZGlzcGxheV9lbWJlZGRlci9za2lhX291dHB1dF9zdXJm YWNlX2ltcGxfb25fZ3B1LmNjCTIwMjMtMDgtMDIgMTU6MTg6NDMuMjY5NzkwODc3ICswMjAwCitA QCAtMTQ5Niw3ICsxNDk2LDcgQEAgdm9pZCBTa2lhT3V0cHV0U3VyZmFjZUltcGxPbkdwdTo6Q29w eU91dAorIAorICAgICAgIC8vIElzc3VlIHJlYWRiYWNrcyBmcm9tIHRoZSBzdXJmYWNlczoKKyAg ICAgICBmb3IgKHNpemVfdCBpID0gMDsgaSA8IENvcHlPdXRwdXRSZXN1bHQ6OmtOVjEyTWF4UGxh bmVzOyArK2kpIHsKKy0gICAgICAgIFNrSVNpemUgc2l6ZShwbGFuZV9zdXJmYWNlc1tpXS0+d2lk dGgoKSwgcGxhbmVfc3VyZmFjZXNbaV0tPmhlaWdodCgpKTsKKysgICAgICAgIFNrSVNpemUgc2l6 ZXtwbGFuZV9zdXJmYWNlc1tpXS0+d2lkdGgoKSwgcGxhbmVfc3VyZmFjZXNbaV0tPmhlaWdodCgp fTsKKyAgICAgICAgIFNrSW1hZ2VJbmZvIGRzdF9pbmZvID0gU2tJbWFnZUluZm86Ok1ha2UoCisg ICAgICAgICAgICAgc2l6ZSwgKGkgPT0gMCkgPyBrQWxwaGFfOF9Ta0NvbG9yVHlwZSA6IGtSOEc4 X3Vub3JtX1NrQ29sb3JUeXBlLAorICAgICAgICAgICAgIGtVbnByZW11bF9Ta0FscGhhVHlwZSk7 CitkaWZmIC11cCBjaHJvbWl1bS0xMTYuMC41ODQ1LjUwL3RoaXJkX3BhcnR5L2JsaW5rL3JlbmRl cmVyL3BsYXRmb3JtL2ZvbnRzL3BhbGV0dGVfaW50ZXJwb2xhdGlvbi5jYy5tZSBjaHJvbWl1bS0x MTYuMC41ODQ1LjUwL3RoaXJkX3BhcnR5L2JsaW5rL3JlbmRlcmVyL3BsYXRmb3JtL2ZvbnRzL3Bh bGV0dGVfaW50ZXJwb2xhdGlvbi5jYworLS0tIGNocm9taXVtLTExNi4wLjU4NDUuNTAvdGhpcmRf cGFydHkvYmxpbmsvcmVuZGVyZXIvcGxhdGZvcm0vZm9udHMvcGFsZXR0ZV9pbnRlcnBvbGF0aW9u LmNjLm1lCTIwMjMtMDgtMDIgMjE6MzI6MTQuMTk1NzA1NDk0ICswMjAwCisrKysgY2hyb21pdW0t MTE2LjAuNTg0NS41MC90aGlyZF9wYXJ0eS9ibGluay9yZW5kZXJlci9wbGF0Zm9ybS9mb250cy9w YWxldHRlX2ludGVycG9sYXRpb24uY2MJMjAyMy0wOC0wMiAyMTo1OTowOC4xNTY1MzI5MzQgKzAy MDAKK0BAIC0zMSw3ICszMSw3IEBAIFZlY3RvcjxGb250UGFsZXR0ZTo6Rm9udFBhbGV0dGVPdmVy cmlkZT4KKyAgICAgICAgIGNvbG9yX2ludGVycG9sYXRpb25fc3BhY2UsIGh1ZV9pbnRlcnBvbGF0 aW9uX21ldGhvZCwgc3RhcnRfY29sb3IsCisgICAgICAgICBlbmRfY29sb3IsIHBlcmNlbnRhZ2Us IGFscGhhX211bHRpcGxpZXIpOworIAorLSAgICBGb250UGFsZXR0ZTo6Rm9udFBhbGV0dGVPdmVy cmlkZSByZXN1bHRfY29sb3JfcmVjb3JkKGksIHJlc3VsdF9jb2xvcik7CisrICAgIEZvbnRQYWxl dHRlOjpGb250UGFsZXR0ZU92ZXJyaWRlIHJlc3VsdF9jb2xvcl9yZWNvcmR7c3RhdGljX2Nhc3Q8 aW50PihpKSwgcmVzdWx0X2NvbG9yfTsKKyAgICAgcmVzdWx0X2NvbG9yX3JlY29yZHMucHVzaF9i YWNrKHJlc3VsdF9jb2xvcl9yZWNvcmQpOworICAgfQorICAgcmV0dXJuIHJlc3VsdF9jb2xvcl9y ZWNvcmRzOworZGlmZiAtdXAgY2hyb21pdW0tMTE2LjAuNTg0NS41MC91aS9iYXNlL3dheWxhbmQv Y29sb3JfbWFuYWdlcl91dGlsLmgubWUgY2hyb21pdW0tMTE2LjAuNTg0NS41MC91aS9iYXNlL3dh eWxhbmQvY29sb3JfbWFuYWdlcl91dGlsLmgKKy0tLSBjaHJvbWl1bS0xMTYuMC41ODQ1LjUwL3Vp L2Jhc2Uvd2F5bGFuZC9jb2xvcl9tYW5hZ2VyX3V0aWwuaC5tZQkyMDIzLTA4LTAzIDA4OjI3OjEx LjM3MTc1MDE3OCArMDIwMAorKysrIGNocm9taXVtLTExNi4wLjU4NDUuNTAvdWkvYmFzZS93YXls YW5kL2NvbG9yX21hbmFnZXJfdXRpbC5oCTIwMjMtMDgtMDMgMTA6Mzk6MDcuMjY2OTg5MzIzICsw MjAwCitAQCAtNTIsNTMgKzUyLDUzIEBAIGNvbnN0ZXhwciBhdXRvIGtDaHJvbWF0aWNpdHlNYXAg PSBiYXNlOjoKKyAgICAgemNyX2NvbG9yX21hbmFnZXJfdjFfY2hyb21hdGljaXR5X25hbWVzLAor ICAgICBQcmltYXJ5VmVyc2lvbj4oCisgICAgIHt7WkNSX0NPTE9SX01BTkFHRVJfVjFfQ0hST01B VElDSVRZX05BTUVTX0JUNjAxXzUyNV9MSU5FLAorLSAgICAgIFByaW1hcnlWZXJzaW9uKGdmeDo6 Q29sb3JTcGFjZTo6UHJpbWFyeUlEOjpTTVBURTE3ME0sCistICAgICAgICAgICAgICAgICAgICAg a0RlZmF1bHRTaW5jZVZlcnNpb24pfSwKKysgICAgICBQcmltYXJ5VmVyc2lvbntnZng6OkNvbG9y U3BhY2U6OlByaW1hcnlJRDo6U01QVEUxNzBNLAorKyAgICAgICAgICAgICAgICAgICAgIGtEZWZh dWx0U2luY2VWZXJzaW9ufX0sCisgICAgICB7WkNSX0NPTE9SX01BTkFHRVJfVjFfQ0hST01BVElD SVRZX05BTUVTX0JUNjAxXzYyNV9MSU5FLAorLSAgICAgIFByaW1hcnlWZXJzaW9uKGdmeDo6Q29s b3JTcGFjZTo6UHJpbWFyeUlEOjpCVDQ3MEJHLAorLSAgICAgICAgICAgICAgICAgICAgIGtEZWZh dWx0U2luY2VWZXJzaW9uKX0sCisrICAgICAgUHJpbWFyeVZlcnNpb257Z2Z4OjpDb2xvclNwYWNl OjpQcmltYXJ5SUQ6OkJUNDcwQkcsCisrICAgICAgICAgICAgICAgICAgICAga0RlZmF1bHRTaW5j ZVZlcnNpb259fSwKKyAgICAgIHtaQ1JfQ09MT1JfTUFOQUdFUl9WMV9DSFJPTUFUSUNJVFlfTkFN RVNfU01QVEUxNzBNLAorLSAgICAgIFByaW1hcnlWZXJzaW9uKGdmeDo6Q29sb3JTcGFjZTo6UHJp bWFyeUlEOjpTTVBURTE3ME0sCistICAgICAgICAgICAgICAgICAgICAga0RlZmF1bHRTaW5jZVZl cnNpb24pfSwKKysgICAgICBQcmltYXJ5VmVyc2lvbntnZng6OkNvbG9yU3BhY2U6OlByaW1hcnlJ RDo6U01QVEUxNzBNLAorKyAgICAgICAgICAgICAgICAgICAgIGtEZWZhdWx0U2luY2VWZXJzaW9u fX0sCisgICAgICB7WkNSX0NPTE9SX01BTkFHRVJfVjFfQ0hST01BVElDSVRZX05BTUVTX0JUNzA5 LAorLSAgICAgIFByaW1hcnlWZXJzaW9uKGdmeDo6Q29sb3JTcGFjZTo6UHJpbWFyeUlEOjpCVDcw OSwga0RlZmF1bHRTaW5jZVZlcnNpb24pfSwKKysgICAgICBQcmltYXJ5VmVyc2lvbntnZng6OkNv bG9yU3BhY2U6OlByaW1hcnlJRDo6QlQ3MDksIGtEZWZhdWx0U2luY2VWZXJzaW9ufX0sCisgICAg ICB7WkNSX0NPTE9SX01BTkFHRVJfVjFfQ0hST01BVElDSVRZX05BTUVTX0JUMjAyMCwKKy0gICAg ICBQcmltYXJ5VmVyc2lvbihnZng6OkNvbG9yU3BhY2U6OlByaW1hcnlJRDo6QlQyMDIwLCBrRGVm YXVsdFNpbmNlVmVyc2lvbil9LAorKyAgICAgIFByaW1hcnlWZXJzaW9ue2dmeDo6Q29sb3JTcGFj ZTo6UHJpbWFyeUlEOjpCVDIwMjAsIGtEZWZhdWx0U2luY2VWZXJzaW9ufX0sCisgICAgICB7WkNS X0NPTE9SX01BTkFHRVJfVjFfQ0hST01BVElDSVRZX05BTUVTX1NSR0IsCistICAgICAgUHJpbWFy eVZlcnNpb24oZ2Z4OjpDb2xvclNwYWNlOjpQcmltYXJ5SUQ6OkJUNzA5LCBrRGVmYXVsdFNpbmNl VmVyc2lvbil9LAorKyAgICAgIFByaW1hcnlWZXJzaW9ue2dmeDo6Q29sb3JTcGFjZTo6UHJpbWFy eUlEOjpCVDcwOSwga0RlZmF1bHRTaW5jZVZlcnNpb259fSwKKyAgICAgIHtaQ1JfQ09MT1JfTUFO QUdFUl9WMV9DSFJPTUFUSUNJVFlfTkFNRVNfRElTUExBWVAzLAorLSAgICAgIFByaW1hcnlWZXJz aW9uKGdmeDo6Q29sb3JTcGFjZTo6UHJpbWFyeUlEOjpQMywga0RlZmF1bHRTaW5jZVZlcnNpb24p fSwKKysgICAgICBQcmltYXJ5VmVyc2lvbntnZng6OkNvbG9yU3BhY2U6OlByaW1hcnlJRDo6UDMs IGtEZWZhdWx0U2luY2VWZXJzaW9ufX0sCisgICAgICB7WkNSX0NPTE9SX01BTkFHRVJfVjFfQ0hS T01BVElDSVRZX05BTUVTX0FET0JFUkdCLAorLSAgICAgIFByaW1hcnlWZXJzaW9uKGdmeDo6Q29s b3JTcGFjZTo6UHJpbWFyeUlEOjpBRE9CRV9SR0IsCistICAgICAgICAgICAgICAgICAgICAga0Rl ZmF1bHRTaW5jZVZlcnNpb24pfSwKKysgICAgICBQcmltYXJ5VmVyc2lvbntnZng6OkNvbG9yU3Bh Y2U6OlByaW1hcnlJRDo6QURPQkVfUkdCLAorKyAgICAgICAgICAgICAgICAgICAgIGtEZWZhdWx0 U2luY2VWZXJzaW9ufX0sCisgICAgICB7WkNSX0NPTE9SX01BTkFHRVJfVjFfQ0hST01BVElDSVRZ X05BTUVTX1dJREVfR0FNVVRfQ09MT1JfU1BJTiwKKy0gICAgICBQcmltYXJ5VmVyc2lvbigKKysg ICAgICBQcmltYXJ5VmVyc2lvbnsKKyAgICAgICAgICAgZ2Z4OjpDb2xvclNwYWNlOjpQcmltYXJ5 SUQ6OldJREVfR0FNVVRfQ09MT1JfU1BJTiwKKy0gICAgICAgICAgWkNSX0NPTE9SX01BTkFHRVJf VjFfQ0hST01BVElDSVRZX05BTUVTX1dJREVfR0FNVVRfQ09MT1JfU1BJTl9TSU5DRV9WRVJTSU9O KX0sCisrICAgICAgICAgIFpDUl9DT0xPUl9NQU5BR0VSX1YxX0NIUk9NQVRJQ0lUWV9OQU1FU19X SURFX0dBTVVUX0NPTE9SX1NQSU5fU0lOQ0VfVkVSU0lPTn19LAorICAgICAge1pDUl9DT0xPUl9N QU5BR0VSX1YxX0NIUk9NQVRJQ0lUWV9OQU1FU19CVDQ3ME0sCistICAgICAgUHJpbWFyeVZlcnNp b24oCisrICAgICAgUHJpbWFyeVZlcnNpb257CisgICAgICAgICAgIGdmeDo6Q29sb3JTcGFjZTo6 UHJpbWFyeUlEOjpCVDQ3ME0sCistICAgICAgICAgIFpDUl9DT0xPUl9NQU5BR0VSX1YxX0NIUk9N QVRJQ0lUWV9OQU1FU19CVDQ3ME1fU0lOQ0VfVkVSU0lPTil9LAorKyAgICAgICAgICBaQ1JfQ09M T1JfTUFOQUdFUl9WMV9DSFJPTUFUSUNJVFlfTkFNRVNfQlQ0NzBNX1NJTkNFX1ZFUlNJT059fSwK KyAgICAgIHtaQ1JfQ09MT1JfTUFOQUdFUl9WMV9DSFJPTUFUSUNJVFlfTkFNRVNfU01QVEUyNDBN LAorLSAgICAgIFByaW1hcnlWZXJzaW9uKAorKyAgICAgIFByaW1hcnlWZXJzaW9ueworICAgICAg ICAgICBnZng6OkNvbG9yU3BhY2U6OlByaW1hcnlJRDo6U01QVEUyNDBNLAorLSAgICAgICAgICBa Q1JfQ09MT1JfTUFOQUdFUl9WMV9DSFJPTUFUSUNJVFlfTkFNRVNfU01QVEUyNDBNX1NJTkNFX1ZF UlNJT04pfSwKKysgICAgICAgICAgWkNSX0NPTE9SX01BTkFHRVJfVjFfQ0hST01BVElDSVRZX05B TUVTX1NNUFRFMjQwTV9TSU5DRV9WRVJTSU9OfX0sCisgICAgICB7WkNSX0NPTE9SX01BTkFHRVJf VjFfQ0hST01BVElDSVRZX05BTUVTX1hZWl9ENTAsCistICAgICAgUHJpbWFyeVZlcnNpb24oCisr ICAgICAgUHJpbWFyeVZlcnNpb257CisgICAgICAgICAgIGdmeDo6Q29sb3JTcGFjZTo6UHJpbWFy eUlEOjpYWVpfRDUwLAorLSAgICAgICAgICBaQ1JfQ09MT1JfTUFOQUdFUl9WMV9DSFJPTUFUSUNJ VFlfTkFNRVNfWFlaX0Q1MF9TSU5DRV9WRVJTSU9OKX0sCisrICAgICAgICAgIFpDUl9DT0xPUl9N QU5BR0VSX1YxX0NIUk9NQVRJQ0lUWV9OQU1FU19YWVpfRDUwX1NJTkNFX1ZFUlNJT059fSwKKyAg ICAgIHtaQ1JfQ09MT1JfTUFOQUdFUl9WMV9DSFJPTUFUSUNJVFlfTkFNRVNfU01QVEVTVDQyOF8x LAorLSAgICAgIFByaW1hcnlWZXJzaW9uKAorKyAgICAgIFByaW1hcnlWZXJzaW9ueworICAgICAg ICAgICBnZng6OkNvbG9yU3BhY2U6OlByaW1hcnlJRDo6U01QVEVTVDQyOF8xLAorLSAgICAgICAg ICBaQ1JfQ09MT1JfTUFOQUdFUl9WMV9DSFJPTUFUSUNJVFlfTkFNRVNfU01QVEVTVDQyOF8xX1NJ TkNFX1ZFUlNJT04pfSwKKysgICAgICAgICAgWkNSX0NPTE9SX01BTkFHRVJfVjFfQ0hST01BVElD SVRZX05BTUVTX1NNUFRFU1Q0MjhfMV9TSU5DRV9WRVJTSU9OfX0sCisgICAgICB7WkNSX0NPTE9S X01BTkFHRVJfVjFfQ0hST01BVElDSVRZX05BTUVTX1NNUFRFU1Q0MzFfMiwKKy0gICAgICBQcmlt YXJ5VmVyc2lvbigKKysgICAgICBQcmltYXJ5VmVyc2lvbnsKKyAgICAgICAgICAgZ2Z4OjpDb2xv clNwYWNlOjpQcmltYXJ5SUQ6OlNNUFRFU1Q0MzFfMiwKKy0gICAgICAgICAgWkNSX0NPTE9SX01B TkFHRVJfVjFfQ0hST01BVElDSVRZX05BTUVTX1NNUFRFU1Q0MzFfMl9TSU5DRV9WRVJTSU9OKX0s CisrICAgICAgICAgIFpDUl9DT0xPUl9NQU5BR0VSX1YxX0NIUk9NQVRJQ0lUWV9OQU1FU19TTVBU RVNUNDMxXzJfU0lOQ0VfVkVSU0lPTn19LAorICAgICAge1pDUl9DT0xPUl9NQU5BR0VSX1YxX0NI Uk9NQVRJQ0lUWV9OQU1FU19GSUxNLAorLSAgICAgIFByaW1hcnlWZXJzaW9uKAorKyAgICAgIFBy aW1hcnlWZXJzaW9ueworICAgICAgICAgICBnZng6OkNvbG9yU3BhY2U6OlByaW1hcnlJRDo6RklM TSwKKy0gICAgICAgICAgWkNSX0NPTE9SX01BTkFHRVJfVjFfQ0hST01BVElDSVRZX05BTUVTX0ZJ TE1fU0lOQ0VfVkVSU0lPTil9fSk7CisrICAgICAgICAgIFpDUl9DT0xPUl9NQU5BR0VSX1YxX0NI Uk9NQVRJQ0lUWV9OQU1FU19GSUxNX1NJTkNFX1ZFUlNJT059fX0pOworIAorIC8vIEEgbWFwIGZy b20gdGhlIHpjcl9jb2xvcl9tYW5hZ2VyX3YxIGVvdGZfbmFtZXMgZW51bSB2YWx1ZXMKKyAvLyBy ZXByZXNlbnRpbmcgd2VsbC1rbm93biBFT1RGcywgdG8gdGhlaXIgZXF1aXZhbGVudCBUcmFuc2Zl cklEcy4KK0BAIC0xMDcsNjUgKzEwNyw2NSBAQCBjb25zdGV4cHIgYXV0byBrRW90Zk1hcCA9IGJh c2U6Ok1ha2VGaXhlCisgICAgIHpjcl9jb2xvcl9tYW5hZ2VyX3YxX2VvdGZfbmFtZXMsCisgICAg IFRyYW5zZmVyVmVyc2lvbj4oeworICAgICB7WkNSX0NPTE9SX01BTkFHRVJfVjFfRU9URl9OQU1F U19MSU5FQVIsCistICAgICBUcmFuc2ZlclZlcnNpb24oZ2Z4OjpDb2xvclNwYWNlOjpUcmFuc2Zl cklEOjpMSU5FQVIsCistICAgICAgICAgICAgICAgICAgICAga0RlZmF1bHRTaW5jZVZlcnNpb24p fSwKKysgICAgIFRyYW5zZmVyVmVyc2lvbntnZng6OkNvbG9yU3BhY2U6OlRyYW5zZmVySUQ6OkxJ TkVBUiwKKysgICAgICAgICAgICAgICAgICAgICBrRGVmYXVsdFNpbmNlVmVyc2lvbn19LAorICAg ICB7WkNSX0NPTE9SX01BTkFHRVJfVjFfRU9URl9OQU1FU19TUkdCLAorLSAgICAgVHJhbnNmZXJW ZXJzaW9uKGdmeDo6Q29sb3JTcGFjZTo6VHJhbnNmZXJJRDo6U1JHQiwga0RlZmF1bHRTaW5jZVZl cnNpb24pfSwKKysgICAgIFRyYW5zZmVyVmVyc2lvbntnZng6OkNvbG9yU3BhY2U6OlRyYW5zZmVy SUQ6OlNSR0IsIGtEZWZhdWx0U2luY2VWZXJzaW9ufX0sCisgICAgIHtaQ1JfQ09MT1JfTUFOQUdF Ul9WMV9FT1RGX05BTUVTX0JUNzA5LAorLSAgICAgVHJhbnNmZXJWZXJzaW9uKGdmeDo6Q29sb3JT cGFjZTo6VHJhbnNmZXJJRDo6QlQ3MDksCistICAgICAgICAgICAgICAgICAgICAgWkNSX0NPTE9S X01BTkFHRVJfVjFfRU9URl9OQU1FU19CVDcwOV9TSU5DRV9WRVJTSU9OKX0sCisrICAgICBUcmFu c2ZlclZlcnNpb257Z2Z4OjpDb2xvclNwYWNlOjpUcmFuc2ZlcklEOjpCVDcwOSwKKysgICAgICAg ICAgICAgICAgICAgICBaQ1JfQ09MT1JfTUFOQUdFUl9WMV9FT1RGX05BTUVTX0JUNzA5X1NJTkNF X1ZFUlNJT059fSwKKyAgICAge1pDUl9DT0xPUl9NQU5BR0VSX1YxX0VPVEZfTkFNRVNfQlQyMDg3 LAorLSAgICAgVHJhbnNmZXJWZXJzaW9uKGdmeDo6Q29sb3JTcGFjZTo6VHJhbnNmZXJJRDo6R0FN TUEyNCwKKy0gICAgICAgICAgICAgICAgICAgICBrRGVmYXVsdFNpbmNlVmVyc2lvbil9LAorKyAg ICAgVHJhbnNmZXJWZXJzaW9ue2dmeDo6Q29sb3JTcGFjZTo6VHJhbnNmZXJJRDo6R0FNTUEyNCwK KysgICAgICAgICAgICAgICAgICAgICBrRGVmYXVsdFNpbmNlVmVyc2lvbn19LAorICAgICB7WkNS X0NPTE9SX01BTkFHRVJfVjFfRU9URl9OQU1FU19BRE9CRVJHQiwKKyAgICAgIC8vIFRoaXMgaXMg ZXZlciBzbyBzbGlnaHRseSBpbmFjY3VyYXRlLiBUaGUgbnVtYmVyIG91Z2h0IHRvIGJlCisgICAg ICAvLyAyLjE5OTIxODc1Ziwgbm90IDIuMgorLSAgICAgVHJhbnNmZXJWZXJzaW9uKGdmeDo6Q29s b3JTcGFjZTo6VHJhbnNmZXJJRDo6R0FNTUEyMiwKKy0gICAgICAgICAgICAgICAgICAgICBrRGVm YXVsdFNpbmNlVmVyc2lvbil9LAorKyAgICAgVHJhbnNmZXJWZXJzaW9ue2dmeDo6Q29sb3JTcGFj ZTo6VHJhbnNmZXJJRDo6R0FNTUEyMiwKKysgICAgICAgICAgICAgICAgICAgICBrRGVmYXVsdFNp bmNlVmVyc2lvbn19LAorICAgICB7WkNSX0NPTE9SX01BTkFHRVJfVjFfRU9URl9OQU1FU19QUSwK Ky0gICAgIFRyYW5zZmVyVmVyc2lvbihnZng6OkNvbG9yU3BhY2U6OlRyYW5zZmVySUQ6OlBRLCBr RGVmYXVsdFNpbmNlVmVyc2lvbil9LAorKyAgICAgVHJhbnNmZXJWZXJzaW9ue2dmeDo6Q29sb3JT cGFjZTo6VHJhbnNmZXJJRDo6UFEsIGtEZWZhdWx0U2luY2VWZXJzaW9ufX0sCisgICAgIHtaQ1Jf Q09MT1JfTUFOQUdFUl9WMV9FT1RGX05BTUVTX0hMRywKKy0gICAgIFRyYW5zZmVyVmVyc2lvbihn Zng6OkNvbG9yU3BhY2U6OlRyYW5zZmVySUQ6OkhMRywKKy0gICAgICAgICAgICAgICAgICAgICBa Q1JfQ09MT1JfTUFOQUdFUl9WMV9FT1RGX05BTUVTX0hMR19TSU5DRV9WRVJTSU9OKX0sCisrICAg ICBUcmFuc2ZlclZlcnNpb257Z2Z4OjpDb2xvclNwYWNlOjpUcmFuc2ZlcklEOjpITEcsCisrICAg ICAgICAgICAgICAgICAgICAgWkNSX0NPTE9SX01BTkFHRVJfVjFfRU9URl9OQU1FU19ITEdfU0lO Q0VfVkVSU0lPTn19LAorICAgICB7WkNSX0NPTE9SX01BTkFHRVJfVjFfRU9URl9OQU1FU19TTVBU RTE3ME0sCistICAgICBUcmFuc2ZlclZlcnNpb24oZ2Z4OjpDb2xvclNwYWNlOjpUcmFuc2ZlcklE OjpTTVBURTE3ME0sCistICAgICAgICAgICAgICAgICAgICAgWkNSX0NPTE9SX01BTkFHRVJfVjFf RU9URl9OQU1FU19TTVBURTE3ME1fU0lOQ0VfVkVSU0lPTil9LAorKyAgICAgVHJhbnNmZXJWZXJz aW9ue2dmeDo6Q29sb3JTcGFjZTo6VHJhbnNmZXJJRDo6U01QVEUxNzBNLAorKyAgICAgICAgICAg ICAgICAgICAgIFpDUl9DT0xPUl9NQU5BR0VSX1YxX0VPVEZfTkFNRVNfU01QVEUxNzBNX1NJTkNF X1ZFUlNJT059fSwKKyAgICAge1pDUl9DT0xPUl9NQU5BR0VSX1YxX0VPVEZfTkFNRVNfU01QVEUy NDBNLAorLSAgICAgVHJhbnNmZXJWZXJzaW9uKGdmeDo6Q29sb3JTcGFjZTo6VHJhbnNmZXJJRDo6 U01QVEUyNDBNLAorLSAgICAgICAgICAgICAgICAgICAgIFpDUl9DT0xPUl9NQU5BR0VSX1YxX0VP VEZfTkFNRVNfU01QVEUyNDBNX1NJTkNFX1ZFUlNJT04pfSwKKysgICAgIFRyYW5zZmVyVmVyc2lv bntnZng6OkNvbG9yU3BhY2U6OlRyYW5zZmVySUQ6OlNNUFRFMjQwTSwKKysgICAgICAgICAgICAg ICAgICAgICBaQ1JfQ09MT1JfTUFOQUdFUl9WMV9FT1RGX05BTUVTX1NNUFRFMjQwTV9TSU5DRV9W RVJTSU9OfX0sCisgICAgIHtaQ1JfQ09MT1JfTUFOQUdFUl9WMV9FT1RGX05BTUVTX1NNUFRFU1Q0 MjhfMSwKKy0gICAgIFRyYW5zZmVyVmVyc2lvbigKKysgICAgIFRyYW5zZmVyVmVyc2lvbnsKKyAg ICAgICAgICBnZng6OkNvbG9yU3BhY2U6OlRyYW5zZmVySUQ6OlNNUFRFU1Q0MjhfMSwKKy0gICAg ICAgICBaQ1JfQ09MT1JfTUFOQUdFUl9WMV9FT1RGX05BTUVTX1NNUFRFU1Q0MjhfMV9TSU5DRV9W RVJTSU9OKX0sCisrICAgICAgICAgWkNSX0NPTE9SX01BTkFHRVJfVjFfRU9URl9OQU1FU19TTVBU RVNUNDI4XzFfU0lOQ0VfVkVSU0lPTn19LAorICAgICB7WkNSX0NPTE9SX01BTkFHRVJfVjFfRU9U Rl9OQU1FU19MT0csCistICAgICBUcmFuc2ZlclZlcnNpb24oZ2Z4OjpDb2xvclNwYWNlOjpUcmFu c2ZlcklEOjpMT0csCistICAgICAgICAgICAgICAgICAgICAgWkNSX0NPTE9SX01BTkFHRVJfVjFf RU9URl9OQU1FU19MT0dfU0lOQ0VfVkVSU0lPTil9LAorKyAgICAgVHJhbnNmZXJWZXJzaW9ue2dm eDo6Q29sb3JTcGFjZTo6VHJhbnNmZXJJRDo6TE9HLAorKyAgICAgICAgICAgICAgICAgICAgIFpD Ul9DT0xPUl9NQU5BR0VSX1YxX0VPVEZfTkFNRVNfTE9HX1NJTkNFX1ZFUlNJT059fSwKKyAgICAg e1pDUl9DT0xPUl9NQU5BR0VSX1YxX0VPVEZfTkFNRVNfTE9HX1NRUlQsCistICAgICBUcmFuc2Zl clZlcnNpb24oZ2Z4OjpDb2xvclNwYWNlOjpUcmFuc2ZlcklEOjpMT0dfU1FSVCwKKy0gICAgICAg ICAgICAgICAgICAgICBaQ1JfQ09MT1JfTUFOQUdFUl9WMV9FT1RGX05BTUVTX0xPR19TUVJUX1NJ TkNFX1ZFUlNJT04pfSwKKysgICAgIFRyYW5zZmVyVmVyc2lvbntnZng6OkNvbG9yU3BhY2U6OlRy YW5zZmVySUQ6OkxPR19TUVJULAorKyAgICAgICAgICAgICAgICAgICAgIFpDUl9DT0xPUl9NQU5B R0VSX1YxX0VPVEZfTkFNRVNfTE9HX1NRUlRfU0lOQ0VfVkVSU0lPTn19LAorICAgICB7WkNSX0NP TE9SX01BTkFHRVJfVjFfRU9URl9OQU1FU19JRUM2MTk2Nl8yXzQsCistICAgICBUcmFuc2ZlclZl cnNpb24oCisrICAgICBUcmFuc2ZlclZlcnNpb257CisgICAgICAgICAgZ2Z4OjpDb2xvclNwYWNl OjpUcmFuc2ZlcklEOjpJRUM2MTk2Nl8yXzQsCistICAgICAgICAgWkNSX0NPTE9SX01BTkFHRVJf VjFfRU9URl9OQU1FU19JRUM2MTk2Nl8yXzRfU0lOQ0VfVkVSU0lPTil9LAorKyAgICAgICAgIFpD Ul9DT0xPUl9NQU5BR0VSX1YxX0VPVEZfTkFNRVNfSUVDNjE5NjZfMl80X1NJTkNFX1ZFUlNJT059 fSwKKyAgICAge1pDUl9DT0xPUl9NQU5BR0VSX1YxX0VPVEZfTkFNRVNfQlQxMzYxX0VDRywKKy0g ICAgIFRyYW5zZmVyVmVyc2lvbihnZng6OkNvbG9yU3BhY2U6OlRyYW5zZmVySUQ6OkJUMTM2MV9F Q0csCistICAgICAgICAgICAgICAgICAgICAgWkNSX0NPTE9SX01BTkFHRVJfVjFfRU9URl9OQU1F U19CVDEzNjFfRUNHX1NJTkNFX1ZFUlNJT04pfSwKKysgICAgIFRyYW5zZmVyVmVyc2lvbntnZng6 OkNvbG9yU3BhY2U6OlRyYW5zZmVySUQ6OkJUMTM2MV9FQ0csCisrICAgICAgICAgICAgICAgICAg ICAgWkNSX0NPTE9SX01BTkFHRVJfVjFfRU9URl9OQU1FU19CVDEzNjFfRUNHX1NJTkNFX1ZFUlNJ T059fSwKKyAgICAge1pDUl9DT0xPUl9NQU5BR0VSX1YxX0VPVEZfTkFNRVNfQlQyMDIwXzEwLAor LSAgICAgVHJhbnNmZXJWZXJzaW9uKGdmeDo6Q29sb3JTcGFjZTo6VHJhbnNmZXJJRDo6QlQyMDIw XzEwLAorLSAgICAgICAgICAgICAgICAgICAgIFpDUl9DT0xPUl9NQU5BR0VSX1YxX0VPVEZfTkFN RVNfQlQyMDIwXzEwX1NJTkNFX1ZFUlNJT04pfSwKKysgICAgIFRyYW5zZmVyVmVyc2lvbntnZng6 OkNvbG9yU3BhY2U6OlRyYW5zZmVySUQ6OkJUMjAyMF8xMCwKKysgICAgICAgICAgICAgICAgICAg ICBaQ1JfQ09MT1JfTUFOQUdFUl9WMV9FT1RGX05BTUVTX0JUMjAyMF8xMF9TSU5DRV9WRVJTSU9O fX0sCisgICAgIHtaQ1JfQ09MT1JfTUFOQUdFUl9WMV9FT1RGX05BTUVTX0JUMjAyMF8xMiwKKy0g ICAgIFRyYW5zZmVyVmVyc2lvbihnZng6OkNvbG9yU3BhY2U6OlRyYW5zZmVySUQ6OkJUMjAyMF8x MiwKKy0gICAgICAgICAgICAgICAgICAgICBaQ1JfQ09MT1JfTUFOQUdFUl9WMV9FT1RGX05BTUVT X0JUMjAyMF8xMl9TSU5DRV9WRVJTSU9OKX0sCisrICAgICBUcmFuc2ZlclZlcnNpb257Z2Z4OjpD b2xvclNwYWNlOjpUcmFuc2ZlcklEOjpCVDIwMjBfMTIsCisrICAgICAgICAgICAgICAgICAgICAg WkNSX0NPTE9SX01BTkFHRVJfVjFfRU9URl9OQU1FU19CVDIwMjBfMTJfU0lOQ0VfVkVSU0lPTn19 LAorICAgICB7WkNSX0NPTE9SX01BTkFHRVJfVjFfRU9URl9OQU1FU19TQ1JHQl9MSU5FQVJfODBf TklUUywKKy0gICAgIFRyYW5zZmVyVmVyc2lvbigKKysgICAgIFRyYW5zZmVyVmVyc2lvbnsKKyAg ICAgICAgICBnZng6OkNvbG9yU3BhY2U6OlRyYW5zZmVySUQ6OlNDUkdCX0xJTkVBUl84MF9OSVRT LAorLSAgICAgICAgIFpDUl9DT0xPUl9NQU5BR0VSX1YxX0VPVEZfTkFNRVNfU0NSR0JfTElORUFS XzgwX05JVFNfU0lOQ0VfVkVSU0lPTil9LAorKyAgICAgICAgIFpDUl9DT0xPUl9NQU5BR0VSX1Yx X0VPVEZfTkFNRVNfU0NSR0JfTElORUFSXzgwX05JVFNfU0lOQ0VfVkVSU0lPTn19LAorICAgICB7 WkNSX0NPTE9SX01BTkFHRVJfVjFfRU9URl9OQU1FU19HQU1NQTE4LAorLSAgICAgVHJhbnNmZXJW ZXJzaW9uKGdmeDo6Q29sb3JTcGFjZTo6VHJhbnNmZXJJRDo6R0FNTUExOCwKKy0gICAgICAgICAg ICAgICAgICAgICBaQ1JfQ09MT1JfTUFOQUdFUl9WMV9FT1RGX05BTUVTX0dBTU1BMThfU0lOQ0Vf VkVSU0lPTil9LAorKyAgICAgVHJhbnNmZXJWZXJzaW9ue2dmeDo6Q29sb3JTcGFjZTo6VHJhbnNm ZXJJRDo6R0FNTUExOCwKKysgICAgICAgICAgICAgICAgICAgICBaQ1JfQ09MT1JfTUFOQUdFUl9W MV9FT1RGX05BTUVTX0dBTU1BMThfU0lOQ0VfVkVSU0lPTn19LAorICAgICB7WkNSX0NPTE9SX01B TkFHRVJfVjFfRU9URl9OQU1FU19HQU1NQTI4LAorLSAgICAgVHJhbnNmZXJWZXJzaW9uKGdmeDo6 Q29sb3JTcGFjZTo6VHJhbnNmZXJJRDo6R0FNTUEyOCwKKy0gICAgICAgICAgICAgICAgICAgICBa Q1JfQ09MT1JfTUFOQUdFUl9WMV9FT1RGX05BTUVTX0dBTU1BMjhfU0lOQ0VfVkVSU0lPTil9LAor KyAgICAgVHJhbnNmZXJWZXJzaW9ue2dmeDo6Q29sb3JTcGFjZTo6VHJhbnNmZXJJRDo6R0FNTUEy OCwKKysgICAgICAgICAgICAgICAgICAgICBaQ1JfQ09MT1JfTUFOQUdFUl9WMV9FT1RGX05BTUVT X0dBTU1BMjhfU0lOQ0VfVkVSU0lPTn19LAorIH0pOworIAorIC8vIEEgbWFwIGZyb20gdGhlIFNE UiB6Y3JfY29sb3JfbWFuYWdlcl92MSBlb3RmX25hbWVzIGVudW0gdmFsdWVzCitAQCAtMTc0LDE4 ICsxNzQsMTggQEAgY29uc3RleHByIGF1dG8ga0VvdGZNYXAgPSBiYXNlOjpNYWtlRml4ZQorIGNv bnN0ZXhwciBhdXRvIGtUcmFuc2Zlck1hcCA9CisgICAgIGJhc2U6Ok1ha2VGaXhlZEZsYXRNYXA8 emNyX2NvbG9yX21hbmFnZXJfdjFfZW90Zl9uYW1lcywgVHJhbnNmZXJGblZlcnNpb24+KHsKKyAg ICAgICAgIHtaQ1JfQ09MT1JfTUFOQUdFUl9WMV9FT1RGX05BTUVTX0xJTkVBUiwKKy0gICAgICAg ICBUcmFuc2ZlckZuVmVyc2lvbihTa05hbWVkVHJhbnNmZXJGbjo6a0xpbmVhciwga0RlZmF1bHRT aW5jZVZlcnNpb24pfSwKKysgICAgICAgICBUcmFuc2ZlckZuVmVyc2lvbntTa05hbWVkVHJhbnNm ZXJGbjo6a0xpbmVhciwga0RlZmF1bHRTaW5jZVZlcnNpb259fSwKKyAgICAgICAgIHtaQ1JfQ09M T1JfTUFOQUdFUl9WMV9FT1RGX05BTUVTX1NSR0IsCistICAgICAgICAgVHJhbnNmZXJGblZlcnNp b24oU2tOYW1lZFRyYW5zZmVyRm5FeHQ6OmtTUkdCLCBrRGVmYXVsdFNpbmNlVmVyc2lvbil9LAor KyAgICAgICAgIFRyYW5zZmVyRm5WZXJzaW9ue1NrTmFtZWRUcmFuc2ZlckZuRXh0OjprU1JHQiwg a0RlZmF1bHRTaW5jZVZlcnNpb259fSwKKyAgICAgICAgIHtaQ1JfQ09MT1JfTUFOQUdFUl9WMV9F T1RGX05BTUVTX0JUNzA5LAorLSAgICAgICAgIFRyYW5zZmVyRm5WZXJzaW9uKAorKyAgICAgICAg IFRyYW5zZmVyRm5WZXJzaW9ueworICAgICAgICAgICAgICBTa05hbWVkVHJhbnNmZXJGbkV4dDo6 a1JlYzcwOSwKKy0gICAgICAgICAgICAgWkNSX0NPTE9SX01BTkFHRVJfVjFfRU9URl9OQU1FU19C VDcwOV9TSU5DRV9WRVJTSU9OKX0sCisrICAgICAgICAgICAgIFpDUl9DT0xPUl9NQU5BR0VSX1Yx X0VPVEZfTkFNRVNfQlQ3MDlfU0lOQ0VfVkVSU0lPTn19LAorICAgICAgICAge1pDUl9DT0xPUl9N QU5BR0VSX1YxX0VPVEZfTkFNRVNfQlQyMDg3LAorLSAgICAgICAgIFRyYW5zZmVyRm5WZXJzaW9u KGdhbW1hMjQsIGtEZWZhdWx0U2luY2VWZXJzaW9uKX0sCisrICAgICAgICAgVHJhbnNmZXJGblZl cnNpb257Z2FtbWEyNCwga0RlZmF1bHRTaW5jZVZlcnNpb259fSwKKyAgICAgICAgIHtaQ1JfQ09M T1JfTUFOQUdFUl9WMV9FT1RGX05BTUVTX0FET0JFUkdCLAorLSAgICAgICAgIFRyYW5zZmVyRm5W ZXJzaW9uKFNrTmFtZWRUcmFuc2ZlckZuRXh0OjprQTk4UkdCLAorLSAgICAgICAgICAgICAgICAg ICAgICAgICAgIGtEZWZhdWx0U2luY2VWZXJzaW9uKX0sCisrICAgICAgICAgVHJhbnNmZXJGblZl cnNpb257U2tOYW1lZFRyYW5zZmVyRm5FeHQ6OmtBOThSR0IsCisrICAgICAgICAgICAgICAgICAg ICAgICAgICAga0RlZmF1bHRTaW5jZVZlcnNpb259fSwKKyAgICAgfSk7CisgCisgLy8gQSBtYXAg ZnJvbSB0aGUgSERSIHpjcl9jb2xvcl9tYW5hZ2VyX3YxIGVvdGZfbmFtZXMgZW51bSB2YWx1ZXMK K0BAIC0xOTQsNjggKzE5NCw2OCBAQCBjb25zdGV4cHIgYXV0byBrVHJhbnNmZXJNYXAgPQorIGNv bnN0ZXhwciBhdXRvIGtIRFJUcmFuc2Zlck1hcCA9CisgICAgIGJhc2U6Ok1ha2VGaXhlZEZsYXRN YXA8emNyX2NvbG9yX21hbmFnZXJfdjFfZW90Zl9uYW1lcywgVHJhbnNmZXJGblZlcnNpb24+KAor ICAgICAgICAge3taQ1JfQ09MT1JfTUFOQUdFUl9WMV9FT1RGX05BTUVTX0xJTkVBUiwKKy0gICAg ICAgICAgVHJhbnNmZXJGblZlcnNpb24oU2tOYW1lZFRyYW5zZmVyRm46OmtMaW5lYXIsIGtEZWZh dWx0U2luY2VWZXJzaW9uKX0sCisrICAgICAgICAgIFRyYW5zZmVyRm5WZXJzaW9ue1NrTmFtZWRU cmFuc2ZlckZuOjprTGluZWFyLCBrRGVmYXVsdFNpbmNlVmVyc2lvbn19LAorICAgICAgICAgIHta Q1JfQ09MT1JfTUFOQUdFUl9WMV9FT1RGX05BTUVTX1NSR0IsCistICAgICAgICAgIFRyYW5zZmVy Rm5WZXJzaW9uKFNrTmFtZWRUcmFuc2ZlckZuRXh0OjprU1JHQiwga0RlZmF1bHRTaW5jZVZlcnNp b24pfSwKKysgICAgICAgICAgVHJhbnNmZXJGblZlcnNpb257U2tOYW1lZFRyYW5zZmVyRm5FeHQ6 OmtTUkdCLCBrRGVmYXVsdFNpbmNlVmVyc2lvbn19LAorICAgICAgICAgIHtaQ1JfQ09MT1JfTUFO QUdFUl9WMV9FT1RGX05BTUVTX1BRLAorLSAgICAgICAgICBUcmFuc2ZlckZuVmVyc2lvbihTa05h bWVkVHJhbnNmZXJGbjo6a1BRLCBrRGVmYXVsdFNpbmNlVmVyc2lvbil9LAorKyAgICAgICAgICBU cmFuc2ZlckZuVmVyc2lvbntTa05hbWVkVHJhbnNmZXJGbjo6a1BRLCBrRGVmYXVsdFNpbmNlVmVy c2lvbn19LAorICAgICAgICAgIHtaQ1JfQ09MT1JfTUFOQUdFUl9WMV9FT1RGX05BTUVTX0hMRywK Ky0gICAgICAgICAgVHJhbnNmZXJGblZlcnNpb24oU2tOYW1lZFRyYW5zZmVyRm46OmtITEcsCist ICAgICAgICAgICAgICAgICAgICAgICAgICAgIFpDUl9DT0xPUl9NQU5BR0VSX1YxX0VPVEZfTkFN RVNfSExHX1NJTkNFX1ZFUlNJT04pfSwKKysgICAgICAgICAgVHJhbnNmZXJGblZlcnNpb257U2tO YW1lZFRyYW5zZmVyRm46OmtITEcsCisrICAgICAgICAgICAgICAgICAgICAgICAgICAgIFpDUl9D T0xPUl9NQU5BR0VSX1YxX0VPVEZfTkFNRVNfSExHX1NJTkNFX1ZFUlNJT059fSwKKyAgICAgICAg ICB7WkNSX0NPTE9SX01BTkFHRVJfVjFfRU9URl9OQU1FU19FWFRFTkRFRFNSR0IxMCwKKy0gICAg ICAgICAgVHJhbnNmZXJGblZlcnNpb24oCisrICAgICAgICAgIFRyYW5zZmVyRm5WZXJzaW9uewor ICAgICAgICAgICAgICAgU2tOYW1lZFRyYW5zZmVyRm5FeHQ6OmtTUkdCRXh0ZW5kZWQxMDIzT3Zl cjUxMCwKKy0gICAgICAgICAgICAgIFpDUl9DT0xPUl9NQU5BR0VSX1YxX0VPVEZfTkFNRVNfRVhU RU5ERURTUkdCMTBfU0lOQ0VfVkVSU0lPTil9fSk7CisrICAgICAgICAgICAgICBaQ1JfQ09MT1Jf TUFOQUdFUl9WMV9FT1RGX05BTUVTX0VYVEVOREVEU1JHQjEwX1NJTkNFX1ZFUlNJT059fX0pOwor IAorIC8vIEEgbWFwIGZyb20gemNyX2NvbG9yX21hbmFnZXJfdjEgbWF0cml4X25hbWVzIGVudW0g dmFsdWVzIHRvCisgLy8gZ2Z4OjpDb2xvclNwYWNlOjpNYXRyaXhJRHMuCisgY29uc3RleHByIGF1 dG8ga01hdHJpeE1hcCA9CisgICAgIGJhc2U6Ok1ha2VGaXhlZEZsYXRNYXA8emNyX2NvbG9yX21h bmFnZXJfdjFfbWF0cml4X25hbWVzLCBNYXRyaXhWZXJzaW9uPigKKyAgICAgICAgIHt7WkNSX0NP TE9SX01BTkFHRVJfVjFfTUFUUklYX05BTUVTX1JHQiwKKy0gICAgICAgICAgTWF0cml4VmVyc2lv bihnZng6OkNvbG9yU3BhY2U6Ok1hdHJpeElEOjpSR0IsIGtEZWZhdWx0U2luY2VWZXJzaW9uKX0s CisrICAgICAgICAgIE1hdHJpeFZlcnNpb257Z2Z4OjpDb2xvclNwYWNlOjpNYXRyaXhJRDo6UkdC LCBrRGVmYXVsdFNpbmNlVmVyc2lvbn19LAorICAgICAgICAgIHtaQ1JfQ09MT1JfTUFOQUdFUl9W MV9NQVRSSVhfTkFNRVNfQlQ3MDksCistICAgICAgICAgIE1hdHJpeFZlcnNpb24oZ2Z4OjpDb2xv clNwYWNlOjpNYXRyaXhJRDo6QlQ3MDksCistICAgICAgICAgICAgICAgICAgICAgICAga0RlZmF1 bHRTaW5jZVZlcnNpb24pfSwKKysgICAgICAgICAgTWF0cml4VmVyc2lvbntnZng6OkNvbG9yU3Bh Y2U6Ok1hdHJpeElEOjpCVDcwOSwKKysgICAgICAgICAgICAgICAgICAgICAgICBrRGVmYXVsdFNp bmNlVmVyc2lvbn19LAorICAgICAgICAgIHtaQ1JfQ09MT1JfTUFOQUdFUl9WMV9NQVRSSVhfTkFN RVNfQlQ0NzBCRywKKy0gICAgICAgICAgTWF0cml4VmVyc2lvbigKKysgICAgICAgICAgTWF0cml4 VmVyc2lvbnsKKyAgICAgICAgICAgICAgIGdmeDo6Q29sb3JTcGFjZTo6TWF0cml4SUQ6OkJUNDcw QkcsCistICAgICAgICAgICAgICBaQ1JfQ09MT1JfTUFOQUdFUl9WMV9NQVRSSVhfTkFNRVNfQlQ0 NzBCR19TSU5DRV9WRVJTSU9OKX0sCisrICAgICAgICAgICAgICBaQ1JfQ09MT1JfTUFOQUdFUl9W MV9NQVRSSVhfTkFNRVNfQlQ0NzBCR19TSU5DRV9WRVJTSU9OfX0sCisgICAgICAgICAge1pDUl9D T0xPUl9NQU5BR0VSX1YxX01BVFJJWF9OQU1FU19CVDIwMjBfTkNMLAorLSAgICAgICAgICBNYXRy aXhWZXJzaW9uKGdmeDo6Q29sb3JTcGFjZTo6TWF0cml4SUQ6OkJUMjAyMF9OQ0wsCistICAgICAg ICAgICAgICAgICAgICAgICAga0RlZmF1bHRTaW5jZVZlcnNpb24pfSwKKysgICAgICAgICAgTWF0 cml4VmVyc2lvbntnZng6OkNvbG9yU3BhY2U6Ok1hdHJpeElEOjpCVDIwMjBfTkNMLAorKyAgICAg ICAgICAgICAgICAgICAgICAgIGtEZWZhdWx0U2luY2VWZXJzaW9ufX0sCisgICAgICAgICAge1pD Ul9DT0xPUl9NQU5BR0VSX1YxX01BVFJJWF9OQU1FU19CVDIwMjBfQ0wsCistICAgICAgICAgIE1h dHJpeFZlcnNpb24oZ2Z4OjpDb2xvclNwYWNlOjpNYXRyaXhJRDo6QlQyMDIwX0NMLAorLSAgICAg ICAgICAgICAgICAgICAgICAgIGtEZWZhdWx0U2luY2VWZXJzaW9uKX0sCisrICAgICAgICAgIE1h dHJpeFZlcnNpb257Z2Z4OjpDb2xvclNwYWNlOjpNYXRyaXhJRDo6QlQyMDIwX0NMLAorKyAgICAg ICAgICAgICAgICAgICAgICAgIGtEZWZhdWx0U2luY2VWZXJzaW9ufX0sCisgICAgICAgICAge1pD Ul9DT0xPUl9NQU5BR0VSX1YxX01BVFJJWF9OQU1FU19GQ0MsCistICAgICAgICAgIE1hdHJpeFZl cnNpb24oZ2Z4OjpDb2xvclNwYWNlOjpNYXRyaXhJRDo6RkNDLCBrRGVmYXVsdFNpbmNlVmVyc2lv bil9LAorKyAgICAgICAgICBNYXRyaXhWZXJzaW9ue2dmeDo6Q29sb3JTcGFjZTo6TWF0cml4SUQ6 OkZDQywga0RlZmF1bHRTaW5jZVZlcnNpb259fSwKKyAgICAgICAgICB7WkNSX0NPTE9SX01BTkFH RVJfVjFfTUFUUklYX05BTUVTX1lDT0NHLAorLSAgICAgICAgICBNYXRyaXhWZXJzaW9uKGdmeDo6 Q29sb3JTcGFjZTo6TWF0cml4SUQ6OllDT0NHLAorLSAgICAgICAgICAgICAgICAgICAgICAgIFpD Ul9DT0xPUl9NQU5BR0VSX1YxX01BVFJJWF9OQU1FU19ZQ09DR19TSU5DRV9WRVJTSU9OKX0sCisr ICAgICAgICAgIE1hdHJpeFZlcnNpb257Z2Z4OjpDb2xvclNwYWNlOjpNYXRyaXhJRDo6WUNPQ0cs CisrICAgICAgICAgICAgICAgICAgICAgICAgWkNSX0NPTE9SX01BTkFHRVJfVjFfTUFUUklYX05B TUVTX1lDT0NHX1NJTkNFX1ZFUlNJT059fSwKKyAgICAgICAgICB7WkNSX0NPTE9SX01BTkFHRVJf VjFfTUFUUklYX05BTUVTX1lEWkRYLAorLSAgICAgICAgICBNYXRyaXhWZXJzaW9uKGdmeDo6Q29s b3JTcGFjZTo6TWF0cml4SUQ6OllEWkRYLAorLSAgICAgICAgICAgICAgICAgICAgICAgIFpDUl9D T0xPUl9NQU5BR0VSX1YxX01BVFJJWF9OQU1FU19ZRFpEWF9TSU5DRV9WRVJTSU9OKX0sCisrICAg ICAgICAgIE1hdHJpeFZlcnNpb257Z2Z4OjpDb2xvclNwYWNlOjpNYXRyaXhJRDo6WURaRFgsCisr ICAgICAgICAgICAgICAgICAgICAgICAgWkNSX0NPTE9SX01BTkFHRVJfVjFfTUFUUklYX05BTUVT X1lEWkRYX1NJTkNFX1ZFUlNJT059fSwKKyAgICAgICAgICB7WkNSX0NPTE9SX01BTkFHRVJfVjFf TUFUUklYX05BTUVTX0dCUiwKKy0gICAgICAgICAgTWF0cml4VmVyc2lvbihnZng6OkNvbG9yU3Bh Y2U6Ok1hdHJpeElEOjpHQlIsCistICAgICAgICAgICAgICAgICAgICAgICAgWkNSX0NPTE9SX01B TkFHRVJfVjFfTUFUUklYX05BTUVTX0dCUl9TSU5DRV9WRVJTSU9OKX0sCisrICAgICAgICAgIE1h dHJpeFZlcnNpb257Z2Z4OjpDb2xvclNwYWNlOjpNYXRyaXhJRDo6R0JSLAorKyAgICAgICAgICAg ICAgICAgICAgICAgIFpDUl9DT0xPUl9NQU5BR0VSX1YxX01BVFJJWF9OQU1FU19HQlJfU0lOQ0Vf VkVSU0lPTn19LAorICAgICAgICAgIHtaQ1JfQ09MT1JfTUFOQUdFUl9WMV9NQVRSSVhfTkFNRVNf U01QVEUxNzBNLAorLSAgICAgICAgICBNYXRyaXhWZXJzaW9uKGdmeDo6Q29sb3JTcGFjZTo6TWF0 cml4SUQ6OlNNUFRFMTcwTSwKKy0gICAgICAgICAgICAgICAgICAgICAgICBrRGVmYXVsdFNpbmNl VmVyc2lvbil9LAorKyAgICAgICAgICBNYXRyaXhWZXJzaW9ue2dmeDo6Q29sb3JTcGFjZTo6TWF0 cml4SUQ6OlNNUFRFMTcwTSwKKysgICAgICAgICAgICAgICAgICAgICAgICBrRGVmYXVsdFNpbmNl VmVyc2lvbn19LAorICAgICAgICAgIHtaQ1JfQ09MT1JfTUFOQUdFUl9WMV9NQVRSSVhfTkFNRVNf U01QVEUyNDBNLAorLSAgICAgICAgICBNYXRyaXhWZXJzaW9uKGdmeDo6Q29sb3JTcGFjZTo6TWF0 cml4SUQ6OlNNUFRFMjQwTSwKKy0gICAgICAgICAgICAgICAgICAgICAgICBrRGVmYXVsdFNpbmNl VmVyc2lvbil9fSk7CisrICAgICAgICAgIE1hdHJpeFZlcnNpb257Z2Z4OjpDb2xvclNwYWNlOjpN YXRyaXhJRDo6U01QVEUyNDBNLAorKyAgICAgICAgICAgICAgICAgICAgICAgIGtEZWZhdWx0U2lu Y2VWZXJzaW9ufX19KTsKKyAKKyAvLyBBIG1hcCBmcm9tIHpjcl9jb2xvcl9tYW5hZ2VyX3YxIHJh bmdlX25hbWVzIGVudW0gdmFsdWVzIHRvCisgLy8gZ2Z4OjpDb2xvclNwYWNlOjpSYW5nZUlEcy4K KyBjb25zdGV4cHIgYXV0byBrUmFuZ2VNYXAgPQorICAgICBiYXNlOjpNYWtlRml4ZWRGbGF0TWFw PHpjcl9jb2xvcl9tYW5hZ2VyX3YxX3JhbmdlX25hbWVzLCBSYW5nZVZlcnNpb24+KAorICAgICAg ICAge3taQ1JfQ09MT1JfTUFOQUdFUl9WMV9SQU5HRV9OQU1FU19MSU1JVEVELAorLSAgICAgICAg ICBSYW5nZVZlcnNpb24oZ2Z4OjpDb2xvclNwYWNlOjpSYW5nZUlEOjpMSU1JVEVELAorLSAgICAg ICAgICAgICAgICAgICAgICAga0RlZmF1bHRTaW5jZVZlcnNpb24pfSwKKysgICAgICAgICAgUmFu Z2VWZXJzaW9ue2dmeDo6Q29sb3JTcGFjZTo6UmFuZ2VJRDo6TElNSVRFRCwKKysgICAgICAgICAg ICAgICAgICAgICAgIGtEZWZhdWx0U2luY2VWZXJzaW9ufX0sCisgICAgICAgICAge1pDUl9DT0xP Ul9NQU5BR0VSX1YxX1JBTkdFX05BTUVTX0ZVTEwsCistICAgICAgICAgIFJhbmdlVmVyc2lvbihn Zng6OkNvbG9yU3BhY2U6OlJhbmdlSUQ6OkZVTEwsIGtEZWZhdWx0U2luY2VWZXJzaW9uKX0sCisr ICAgICAgICAgIFJhbmdlVmVyc2lvbntnZng6OkNvbG9yU3BhY2U6OlJhbmdlSUQ6OkZVTEwsIGtE ZWZhdWx0U2luY2VWZXJzaW9ufX0sCisgICAgICAgICAge1pDUl9DT0xPUl9NQU5BR0VSX1YxX1JB TkdFX05BTUVTX0RFUklWRUQsCistICAgICAgICAgIFJhbmdlVmVyc2lvbihnZng6OkNvbG9yU3Bh Y2U6OlJhbmdlSUQ6OkRFUklWRUQsCistICAgICAgICAgICAgICAgICAgICAgICBrRGVmYXVsdFNp bmNlVmVyc2lvbil9fSk7CisrICAgICAgICAgIFJhbmdlVmVyc2lvbntnZng6OkNvbG9yU3BhY2U6 OlJhbmdlSUQ6OkRFUklWRUQsCisrICAgICAgICAgICAgICAgICAgICAgICBrRGVmYXVsdFNpbmNl VmVyc2lvbn19fSk7CisgCisgemNyX2NvbG9yX21hbmFnZXJfdjFfY2hyb21hdGljaXR5X25hbWVz IFRvQ29sb3JNYW5hZ2VyQ2hyb21hdGljaXR5KAorICAgICBnZng6OkNvbG9yU3BhY2U6OlByaW1h cnlJRCBwcmltYXJ5SUQsCitkaWZmIC11cCBjaHJvbWl1bS0xMTYuMC41ODQ1LjUwL2Nocm9tZS9i cm93c2VyL3VpL29tbmlib3gvY2hyb21lX29tbmlib3hfY2xpZW50LmNjLm1lIGNocm9taXVtLTEx Ni4wLjU4NDUuNTAvY2hyb21lL2Jyb3dzZXIvdWkvb21uaWJveC9jaHJvbWVfb21uaWJveF9jbGll bnQuY2MKKy0tLSBjaHJvbWl1bS0xMTYuMC41ODQ1LjUwL2Nocm9tZS9icm93c2VyL3VpL29tbmli b3gvY2hyb21lX29tbmlib3hfY2xpZW50LmNjLm1lCTIwMjMtMDgtMDMgMTM6MjM6MzMuNzQ4Mzk0 NjE1ICswMjAwCisrKysgY2hyb21pdW0tMTE2LjAuNTg0NS41MC9jaHJvbWUvYnJvd3Nlci91aS9v bW5pYm94L2Nocm9tZV9vbW5pYm94X2NsaWVudC5jYwkyMDIzLTA4LTAzIDEzOjI1OjAxLjE0MDQ4 OTg0MCArMDIwMAorQEAgLTQ3MCwxMCArNDcwLDEwIEBAIHZvaWQgQ2hyb21lT21uaWJveENsaWVu dDo6T25BdXRvY29tcGxldGUKKyAgICAgICAgICAgICAgIGFsdGVybmF0aXZlX25hdl9tYXRjaCk7 CisgCisgICAvLyBTdG9yZSB0aGUgZGV0YWlscyBuZWNlc3NhcnkgdG8gb3BlbiB0aGUgb21uaWJv eCBtYXRjaCB2aWEgYnJvd3NlciBjb21tYW5kcy4KKy0gIGxvY2F0aW9uX2Jhcl8tPnNldF9uYXZp Z2F0aW9uX3BhcmFtcyhMb2NhdGlvbkJhcjo6TmF2aWdhdGlvblBhcmFtcygKKysgIGxvY2F0aW9u X2Jhcl8tPnNldF9uYXZpZ2F0aW9uX3BhcmFtcyhMb2NhdGlvbkJhcjo6TmF2aWdhdGlvblBhcmFt c3sKKyAgICAgICBkZXN0aW5hdGlvbl91cmwsIGRpc3Bvc2l0aW9uLCB0cmFuc2l0aW9uLCBtYXRj aF9zZWxlY3Rpb25fdGltZXN0YW1wLAorICAgICAgIGRlc3RpbmF0aW9uX3VybF9lbnRlcmVkX3dp dGhvdXRfc2NoZW1lLAorLSAgICAgIGRlc3RpbmF0aW9uX3VybF9lbnRlcmVkX3dpdGhfaHR0cF9z Y2hlbWUpKTsKKysgICAgICBkZXN0aW5hdGlvbl91cmxfZW50ZXJlZF93aXRoX2h0dHBfc2NoZW1l fSk7CisgCisgICBpZiAoYnJvd3Nlcl8pIHsKKyAgICAgYXV0byBuYXZpZ2F0aW9uID0gY2hyb21l OjpPcGVuQ3VycmVudFVSTChicm93c2VyXyk7CitkaWZmIC11cCBjaHJvbWl1bS0xMTcuMC41OTM4 LjYyL25ldC9kbnMvaG9zdF9yZXNvbHZlcl9jYWNoZS5jYy5tZSBjaHJvbWl1bS0xMTcuMC41OTM4 LjYyL25ldC9kbnMvaG9zdF9yZXNvbHZlcl9jYWNoZS5jYworZGlmZiAtdXAgY2hyb21pdW0tMTE3 LjAuNTkzOC42Mi90aGlyZF9wYXJ0eS9ibGluay9yZW5kZXJlci9wbGF0Zm9ybS9mb250cy9mb250 X3BhbGV0dGUuaC5tZSBjaHJvbWl1bS0xMTcuMC41OTM4LjYyL3RoaXJkX3BhcnR5L2JsaW5rL3Jl bmRlcmVyL3BsYXRmb3JtL2ZvbnRzL2ZvbnRfcGFsZXR0ZS5oCistLS0gY2hyb21pdW0tMTE3LjAu NTkzOC42Mi90aGlyZF9wYXJ0eS9ibGluay9yZW5kZXJlci9wbGF0Zm9ybS9mb250cy9mb250X3Bh bGV0dGUuaC5tZQkyMDIzLTA5LTE1IDEwOjQ4OjQxLjMzMDI5NDI0MSArMDIwMAorKysrIGNocm9t aXVtLTExNy4wLjU5MzguNjIvdGhpcmRfcGFydHkvYmxpbmsvcmVuZGVyZXIvcGxhdGZvcm0vZm9u dHMvZm9udF9wYWxldHRlLmgJMjAyMy0wOS0xNSAxMDo1MToyNC41MDEzMjQ0MTYgKzAyMDAKK0BA IC05Niw3ICs5Niw3IEBAIGNsYXNzIFBMQVRGT1JNX0VYUE9SVCBGb250UGFsZXR0ZSA6IHB1YmwK KyAgICAgICBDb2xvcjo6Q29sb3JTcGFjZSBjb2xvcl9pbnRlcnBvbGF0aW9uX3NwYWNlLAorICAg ICAgIGFic2w6Om9wdGlvbmFsPENvbG9yOjpIdWVJbnRlcnBvbGF0aW9uTWV0aG9kPiBodWVfaW50 ZXJwb2xhdGlvbl9tZXRob2QpIHsKKyAgICAgcmV0dXJuIGJhc2U6OkFkb3B0UmVmKG5ldyBGb250 UGFsZXR0ZSgKKy0gICAgICAgIHN0YXJ0LCBlbmQsIE5vbk5vcm1hbGl6ZWRQZXJjZW50YWdlcyhz dGFydF9wZXJjZW50YWdlLCBlbmRfcGVyY2VudGFnZSksCisrICAgICAgICBzdGFydCwgZW5kLCBO b25Ob3JtYWxpemVkUGVyY2VudGFnZXN7c3RhcnRfcGVyY2VudGFnZSwgZW5kX3BlcmNlbnRhZ2V9 LAorICAgICAgICAgbm9ybWFsaXplZF9wZXJjZW50YWdlLCBhbHBoYV9tdWx0aXBsaWVyLCBjb2xv cl9pbnRlcnBvbGF0aW9uX3NwYWNlLAorICAgICAgICAgaHVlX2ludGVycG9sYXRpb25fbWV0aG9k KSk7CisgICB9CitAQCAtMTcwLDcgKzE3MCw3IEBAIGNsYXNzIFBMQVRGT1JNX0VYUE9SVCBGb250 UGFsZXR0ZSA6IHB1YmwKKyAgICAgICBkb3VibGUgbm9ybWFsaXplZF9wZXJjZW50YWdlKSB7Cisg ICAgIGRvdWJsZSBlbmRfcGVyY2VudGFnZSA9IG5vcm1hbGl6ZWRfcGVyY2VudGFnZSAqIDEwMC4w OworICAgICBkb3VibGUgc3RhcnRfcGVyY2VudGFnZSA9IDEwMC4wIC0gZW5kX3BlcmNlbnRhZ2U7 CistICAgIHJldHVybiBOb25Ob3JtYWxpemVkUGVyY2VudGFnZXMoc3RhcnRfcGVyY2VudGFnZSwg ZW5kX3BlcmNlbnRhZ2UpOworKyAgICByZXR1cm4gTm9uTm9ybWFsaXplZFBlcmNlbnRhZ2Vze3N0 YXJ0X3BlcmNlbnRhZ2UsIGVuZF9wZXJjZW50YWdlfTsKKyAgIH0KKyAKKyAgIGRvdWJsZSBHZXRB bHBoYU11bHRpcGxpZXIoKSBjb25zdCB7CitkaWZmIC11cCBjaHJvbWl1bS0xMTcuMC41OTM4LjYy L2NvbnRlbnQvYnJvd3Nlci9yZW5kZXJlcl9ob3N0L3JlbmRlcl9mcmFtZV9ob3N0X2ltcGwuY2Mu bWUgY2hyb21pdW0tMTE3LjAuNTkzOC42Mi9jb250ZW50L2Jyb3dzZXIvcmVuZGVyZXJfaG9zdC9y ZW5kZXJfZnJhbWVfaG9zdF9pbXBsLmNjCistLS0gY2hyb21pdW0tMTE3LjAuNTkzOC42Mi9jb250 ZW50L2Jyb3dzZXIvcmVuZGVyZXJfaG9zdC9yZW5kZXJfZnJhbWVfaG9zdF9pbXBsLmNjLm1lCTIw MjMtMDktMTUgMTI6MTc6MzUuNjY0ODYxMjU3ICswMjAwCisrKysgY2hyb21pdW0tMTE3LjAuNTkz OC42Mi9jb250ZW50L2Jyb3dzZXIvcmVuZGVyZXJfaG9zdC9yZW5kZXJfZnJhbWVfaG9zdF9pbXBs LmNjCTIwMjMtMDktMTUgMTI6MjE6MDYuMTEyNjk0MjU2ICswMjAwCitAQCAtODUwOSw3ICs4NTA5 LDcgQEAgdm9pZCBSZW5kZXJGcmFtZUhvc3RJbXBsOjpTZW5kRmVuY2VkRnJhbQorICAgZm9yIChj b25zdCBibGluazo6RmVuY2VkRnJhbWU6OlJlcG9ydGluZ0Rlc3RpbmF0aW9uJiBkZXN0aW5hdGlv biA6CisgICAgICAgIGRlc3RpbmF0aW9ucykgeworICAgICBTZW5kRmVuY2VkRnJhbWVSZXBvcnRp bmdCZWFjb25JbnRlcm5hbCgKKy0gICAgICAgIERlc3RpbmF0aW9uRW51bUV2ZW50KGV2ZW50X3R5 cGUsIGV2ZW50X2RhdGEpLCBkZXN0aW5hdGlvbiwKKysgICAgICAgIERlc3RpbmF0aW9uRW51bUV2 ZW50e2V2ZW50X3R5cGUsIGV2ZW50X2RhdGF9LCBkZXN0aW5hdGlvbiwKKyAgICAgICAgIC8qZnJv bV9yZW5kZXJlcj0qL3RydWUsIGF0dHJpYnV0aW9uX3JlcG9ydGluZ19ydW50aW1lX2ZlYXR1cmVz LAorICAgICAgICAgR2V0RnJhbWVUcmVlTm9kZUlkKCkpOworICAgfQorQEAgLTg1NDUsNyArODU0 NSw3IEBAIHZvaWQgUmVuZGVyRnJhbWVIb3N0SW1wbDo6U2VuZEZlbmNlZEZyYW0KKyAgIH0KKyAK KyAgIFNlbmRGZW5jZWRGcmFtZVJlcG9ydGluZ0JlYWNvbkludGVybmFsKAorLSAgICAgIERlc3Rp bmF0aW9uVVJMRXZlbnQoZGVzdGluYXRpb25fdXJsKSwKKysgICAgICBEZXN0aW5hdGlvblVSTEV2 ZW50e2Rlc3RpbmF0aW9uX3VybH0sCisgICAgICAgYmxpbms6OkZlbmNlZEZyYW1lOjpSZXBvcnRp bmdEZXN0aW5hdGlvbjo6a0J1eWVyLAorICAgICAgIC8qZnJvbV9yZW5kZXJlcj0qL3RydWUsIGF0 dHJpYnV0aW9uX3JlcG9ydGluZ19ydW50aW1lX2ZlYXR1cmVzLAorICAgICAgIEdldEZyYW1lVHJl ZU5vZGVJZCgpKTsKK0BAIC04NjE3LDggKzg2MTcsOCBAQCB2b2lkIFJlbmRlckZyYW1lSG9zdElt cGw6Ok1heWJlU2VuZEZlbmNlCisgICBmb3IgKGJsaW5rOjpGZW5jZWRGcmFtZTo6UmVwb3J0aW5n RGVzdGluYXRpb24gZGVzdGluYXRpb24gOgorICAgICAgICBpbmZvLT5kZXN0aW5hdGlvbnMpIHsK KyAgICAgaW5pdGlhdG9yX3JmaC0+U2VuZEZlbmNlZEZyYW1lUmVwb3J0aW5nQmVhY29uSW50ZXJu YWwoCistICAgICAgICBEZXN0aW5hdGlvbkVudW1FdmVudChibGluazo6a0ZlbmNlZEZyYW1lVG9w TmF2aWdhdGlvbkJlYWNvblR5cGUsCistICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbmZv LT5kYXRhKSwKKysgICAgICAgIERlc3RpbmF0aW9uRW51bUV2ZW50e2JsaW5rOjprRmVuY2VkRnJh bWVUb3BOYXZpZ2F0aW9uQmVhY29uVHlwZSwKKysgICAgICAgICAgICAgICAgICAgICAgICAgICAg IGluZm8tPmRhdGF9LAorICAgICAgICAgZGVzdGluYXRpb24sCisgICAgICAgICAvKmZyb21fcmVu ZGVyZXI9Ki9mYWxzZSwgaW5mby0+YXR0cmlidXRpb25fcmVwb3J0aW5nX3J1bnRpbWVfZmVhdHVy ZXMsCisgICAgICAgICBHZXRGcmFtZVRyZWVOb2RlSWQoKSwgbmF2aWdhdGlvbl9yZXF1ZXN0Lkdl dE5hdmlnYXRpb25JZCgpKTsKK2RpZmYgLXVwIGNocm9taXVtLTExNy4wLjU5MzguNjIvY2hyb21l L2Jyb3dzZXIvZW50ZXJwcmlzZS9wcm9maWxlX21hbmFnZW1lbnQvcHJvZmlsZV9tYW5hZ2VtZW50 X25hdmlnYXRpb25fdGhyb3R0bGUuY2MubWUgY2hyb21pdW0tMTE3LjAuNTkzOC42Mi9jaHJvbWUv YnJvd3Nlci9lbnRlcnByaXNlL3Byb2ZpbGVfbWFuYWdlbWVudC9wcm9maWxlX21hbmFnZW1lbnRf bmF2aWdhdGlvbl90aHJvdHRsZS5jYworLS0tIGNocm9taXVtLTExNy4wLjU5MzguNjIvY2hyb21l L2Jyb3dzZXIvZW50ZXJwcmlzZS9wcm9maWxlX21hbmFnZW1lbnQvcHJvZmlsZV9tYW5hZ2VtZW50 X25hdmlnYXRpb25fdGhyb3R0bGUuY2MubWUJMjAyMy0wOS0xNSAyMjowNDowOS4yMzMzNTY2Mjcg KzAyMDAKKysrKyBjaHJvbWl1bS0xMTcuMC41OTM4LjYyL2Nocm9tZS9icm93c2VyL2VudGVycHJp c2UvcHJvZmlsZV9tYW5hZ2VtZW50L3Byb2ZpbGVfbWFuYWdlbWVudF9uYXZpZ2F0aW9uX3Rocm90 dGxlLmNjCTIwMjMtMDktMTUgMjI6MDU6NDQuMTI2MDYzOTkyICswMjAwCitAQCAtNjcsOCArNjcs OCBAQCBiYXNlOjpmbGF0X21hcDxzdGQ6OnN0cmluZywgU0FNTFByb2ZpbGVBCisgICAvLyBUT0RP KGNyYnVnLmNvbS8xNDQ1MDcyKTogQWRkIGFjdHVhbCBkb21haW5zIHdpdGggYXR0cmlidXRlIG5h bWVzLgorICAgcHJvZmlsZV9hdHRyaWJ1dGVzLT5pbnNlcnQoc3RkOjptYWtlX3BhaXIoCisgICAg ICAgInN1cHBvcnRlZC50ZXN0IiwKKy0gICAgICBTQU1MUHJvZmlsZUF0dHJpYnV0ZXMoInBsYWNl aG9sZGVyTmFtZSIsICJwbGFjZWhvbGRlckRvbWFpbiIsCistICAgICAgICAgICAgICAgICAgICAg ICAgICAgICJwbGFjZWhvbGRlclRva2VuIikpKTsKKysgICAgICBTQU1MUHJvZmlsZUF0dHJpYnV0 ZXN7InBsYWNlaG9sZGVyTmFtZSIsICJwbGFjZWhvbGRlckRvbWFpbiIsCisrICAgICAgICAgICAg ICAgICAgICAgICAgICAgICJwbGFjZWhvbGRlclRva2VuIn0pKTsKKyAKKyAgIC8vIEV4dHJhY3Qg ZG9tYWlucyBhbmQgYXR0cmlidXRlcyBmcm9tIHRoZSBjb21tYW5kIGxpbmUgc3dpdGNoLgorICAg Y29uc3QgYmFzZTo6Q29tbWFuZExpbmUmIGNvbW1hbmRfbGluZSA9CitkaWZmIC11cCBjaHJvbWl1 bS0xMTUuMC41NzkwLjQwL2Nocm9tZS90ZXN0L2Nocm9tZWRyaXZlci9jYXBhYmlsaXRpZXMuY2Mu bWUgY2hyb21pdW0tMTE1LjAuNTc5MC40MC9jaHJvbWUvdGVzdC9jaHJvbWVkcml2ZXIvY2FwYWJp bGl0aWVzLmNjCistLS0gY2hyb21pdW0tMTE1LjAuNTc5MC40MC9jaHJvbWUvdGVzdC9jaHJvbWVk cml2ZXIvY2FwYWJpbGl0aWVzLmNjLm1lCTIwMjMtMDYtMjUgMTA6MDY6NTguNDQ1OTkwMDY5ICsw MjAwCisrKysgY2hyb21pdW0tMTE1LjAuNTc5MC40MC9jaHJvbWUvdGVzdC9jaHJvbWVkcml2ZXIv Y2FwYWJpbGl0aWVzLmNjCTIwMjMtMDYtMjUgMTA6NTE6MTcuNjQwODE4MjMxICswMjAwCitAQCAt MzU1LDcgKzM1NSw3IEBAIFN0YXR1cyBQYXJzZU1vYmlsZUVtdWxhdGlvbihjb25zdCBiYXNlOjoK KyAgICAgICAgICAgICAgICAgICAgICAgICAiJ3ZlcnNpb24nIGZpZWxkIG9mIHR5cGUgc3RyaW5n Iik7CisgICAgICAgICB9CisgCistICAgICAgICBicmFuZHMuZW1wbGFjZV9iYWNrKCpicmFuZCwg KnZlcnNpb24pOworKyAgICAgICAgYnJhbmRzLmVtcGxhY2VfYmFjaygpID0geypicmFuZCwgKnZl cnNpb259OworICAgICAgIH0KKyAKKyAgICAgICBjbGllbnRfaGludHMuYnJhbmRzID0gc3RkOjpt b3ZlKGJyYW5kcyk7CitAQCAtMzkyLDcgKzM5Miw3IEBAIFN0YXR1cyBQYXJzZU1vYmlsZUVtdWxh dGlvbihjb25zdCBiYXNlOjoKKyAgICAgICAgICAgICAgICAgICAgICAgICAiYSAndmVyc2lvbicg ZmllbGQgb2YgdHlwZSBzdHJpbmciKTsKKyAgICAgICAgIH0KKyAKKy0gICAgICAgIGZ1bGxfdmVy c2lvbl9saXN0LmVtcGxhY2VfYmFjaygqYnJhbmQsICp2ZXJzaW9uKTsKKysgICAgICAgIGZ1bGxf dmVyc2lvbl9saXN0LmVtcGxhY2VfYmFjaygpID0geypicmFuZCwgKnZlcnNpb259OworICAgICAg IH0KKyAKKyAgICAgICBjbGllbnRfaGludHMuZnVsbF92ZXJzaW9uX2xpc3QgPSBzdGQ6Om1vdmUo ZnVsbF92ZXJzaW9uX2xpc3QpOworZGlmZiAtdXAgY2hyb21pdW0tMTE2LjAuNTg0NS45Ni9jaHJv bWUvYnJvd3Nlci9jb250ZW50X3NldHRpbmdzL29uZV90aW1lX3Blcm1pc3Npb25fcHJvdmlkZXIu Y2MubWUgY2hyb21pdW0tMTE2LjAuNTg0NS45Ni9jaHJvbWUvYnJvd3Nlci9jb250ZW50X3NldHRp bmdzL29uZV90aW1lX3Blcm1pc3Npb25fcHJvdmlkZXIuY2MKKy0tLSBjaHJvbWl1bS0xMTYuMC41 ODQ1Ljk2L2Nocm9tZS9icm93c2VyL2NvbnRlbnRfc2V0dGluZ3Mvb25lX3RpbWVfcGVybWlzc2lv bl9wcm92aWRlci5jYy5tZQkyMDIzLTA4LTE1IDIxOjM0OjU4LjkyMjg1NTQyOCArMDIwMAorKysr IGNocm9taXVtLTExNi4wLjU4NDUuOTYvY2hyb21lL2Jyb3dzZXIvY29udGVudF9zZXR0aW5ncy9v bmVfdGltZV9wZXJtaXNzaW9uX3Byb3ZpZGVyLmNjCTIwMjMtMDgtMTUgMjE6Mzk6MjMuMzEwNDM0 MjM3ICswMjAwCitAQCAtMjA3LDggKzIwNyw4IEBAIHZvaWQgT25lVGltZVBlcm1pc3Npb25Qcm92 aWRlcjo6T25TdXNwZW4KKyAKKyAgICAgICB3aGlsZSAocnVsZV9pdGVyYXRvciAmJiBydWxlX2l0 ZXJhdG9yLT5IYXNOZXh0KCkpIHsKKyAgICAgICAgIGF1dG8gcnVsZSA9IHJ1bGVfaXRlcmF0b3It Pk5leHQoKTsKKy0gICAgICAgIHBhdHRlcm5zX3RvX2RlbGV0ZS5lbXBsYWNlX2JhY2soc2V0dGlu Z190eXBlLCBydWxlLT5wcmltYXJ5X3BhdHRlcm4sCistICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIHJ1bGUtPnNlY29uZGFyeV9wYXR0ZXJuKTsKKysgICAgICAgIHBhdHRl cm5zX3RvX2RlbGV0ZS5lbXBsYWNlX2JhY2soKSA9IHtzZXR0aW5nX3R5cGUsIHJ1bGUtPnByaW1h cnlfcGF0dGVybiwKKysgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcnVs ZS0+c2Vjb25kYXJ5X3BhdHRlcm59OworICAgICAgICAgcGVybWlzc2lvbnM6OlBlcm1pc3Npb25V bWFVdGlsOjpSZWNvcmRPbmVUaW1lUGVybWlzc2lvbkV2ZW50KAorICAgICAgICAgICAgIHNldHRp bmdfdHlwZSwKKyAgICAgICAgICAgICBwZXJtaXNzaW9uczo6T25lVGltZVBlcm1pc3Npb25FdmVu dDo6RVhQSVJFRF9PTl9TVVNQRU5EKTsKK0BAIC0zMDIsOCArMzAyLDggQEAgdm9pZCBPbmVUaW1l UGVybWlzc2lvblByb3ZpZGVyOjpEZWxldGVFbgorICAgICBhdXRvIHJ1bGUgPSBydWxlX2l0ZXJh dG9yLT5OZXh0KCk7CisgICAgIGlmIChydWxlLT5wcmltYXJ5X3BhdHRlcm4uTWF0Y2hlcyhvcmln aW5fZ3VybCkgJiYKKyAgICAgICAgIHJ1bGUtPnNlY29uZGFyeV9wYXR0ZXJuLk1hdGNoZXMob3Jp Z2luX2d1cmwpKSB7CistICAgICAgcGF0dGVybnNfdG9fZGVsZXRlLmVtcGxhY2VfYmFjaygKKy0g ICAgICAgICAgY29udGVudF9zZXR0aW5nX3R5cGUsIHJ1bGUtPnByaW1hcnlfcGF0dGVybiwgcnVs ZS0+c2Vjb25kYXJ5X3BhdHRlcm4pOworKyAgICAgIHBhdHRlcm5zX3RvX2RlbGV0ZS5lbXBsYWNl X2JhY2soKSA9IHsKKysgICAgICAgICAgY29udGVudF9zZXR0aW5nX3R5cGUsIHJ1bGUtPnByaW1h cnlfcGF0dGVybiwgcnVsZS0+c2Vjb25kYXJ5X3BhdHRlcm59OworICAgICAgIHBlcm1pc3Npb25z OjpQZXJtaXNzaW9uVW1hVXRpbDo6UmVjb3JkT25lVGltZVBlcm1pc3Npb25FdmVudCgKKyAgICAg ICAgICAgY29udGVudF9zZXR0aW5nX3R5cGUsIHRyaWdnZXJfZXZlbnQpOworICAgICB9CitkaWZm IC11cCBjaHJvbWl1bS0xMTcuMC41OTM4LjYyL2Jhc2UvdHJhY2VfZXZlbnQvdHJhY2VfbG9nLmNj Lm1lIGNocm9taXVtLTExNy4wLjU5MzguNjIvYmFzZS90cmFjZV9ldmVudC90cmFjZV9sb2cuY2MK Ky0tLSBjaHJvbWl1bS0xMTcuMC41OTM4LjYyL2Jhc2UvdHJhY2VfZXZlbnQvdHJhY2VfbG9nLmNj Lm1lCTIwMjMtMDktMTMgMjA6MTQ6NDIuNDQxMjQ4NzgxICswMjAwCisrKysgY2hyb21pdW0tMTE3 LjAuNTkzOC42Mi9iYXNlL3RyYWNlX2V2ZW50L3RyYWNlX2xvZy5jYwkyMDIzLTA5LTEzIDIwOjE2 OjEyLjE4NjYzODYwMSArMDIwMAorQEAgLTIxODcsOCArMjE4Nyw4IEBAIHZvaWQgVHJhY2VMb2c6 OlNldFRyYWNlQnVmZmVyRm9yVGVzdGluZygKKyAjaWYgQlVJTERGTEFHKFVTRV9QRVJGRVRUT19D TElFTlRfTElCUkFSWSkKKyB2b2lkIFRyYWNlTG9nOjpPblNldHVwKGNvbnN0IHBlcmZldHRvOjpE YXRhU291cmNlQmFzZTo6U2V0dXBBcmdzJiBhcmdzKSB7CisgICBBdXRvTG9jayBsb2NrKHRyYWNr X2V2ZW50X2xvY2tfKTsKKy0gIHRyYWNrX2V2ZW50X3Nlc3Npb25zXy5lbXBsYWNlX2JhY2soYXJn cy5pbnRlcm5hbF9pbnN0YW5jZV9pbmRleCwgKmFyZ3MuY29uZmlnLAorLSAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBhcmdzLmJhY2tlbmRfdHlwZSk7CisrICB0cmFja19ldmVu dF9zZXNzaW9uc18uZW1wbGFjZV9iYWNrKCkgPSB7YXJncy5pbnRlcm5hbF9pbnN0YW5jZV9pbmRl eCwgKmFyZ3MuY29uZmlnLAorKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBh cmdzLmJhY2tlbmRfdHlwZX07CisgfQorIAorIHZvaWQgVHJhY2VMb2c6Ok9uU3RhcnQoY29uc3Qg cGVyZmV0dG86OkRhdGFTb3VyY2VCYXNlOjpTdGFydEFyZ3MmKSB7CitkaWZmIC11cCBjaHJvbWl1 bS0xMTcuMC41OTM4LjYyL2NvbnRlbnQvYnJvd3Nlci9kb3dubG9hZC9zYXZlX3BhY2thZ2UuY2Mu bWUgY2hyb21pdW0tMTE3LjAuNTkzOC42Mi9jb250ZW50L2Jyb3dzZXIvZG93bmxvYWQvc2F2ZV9w YWNrYWdlLmNjCistLS0gY2hyb21pdW0tMTE3LjAuNTkzOC42Mi9jb250ZW50L2Jyb3dzZXIvZG93 bmxvYWQvc2F2ZV9wYWNrYWdlLmNjLm1lCTIwMjMtMDktMTUgMTI6MDI6NDMuODY2NjIyNTkxICsw MjAwCisrKysgY2hyb21pdW0tMTE3LjAuNTkzOC42Mi9jb250ZW50L2Jyb3dzZXIvZG93bmxvYWQv c2F2ZV9wYWNrYWdlLmNjCTIwMjMtMDktMTUgMTI6MDM6NTguNzE1OTg0NTExICswMjAwCitAQCAt NzY0LDggKzc2NCw4IEBAIHZvaWQgU2F2ZVBhY2thZ2U6OkZpbmlzaCgpIHsKKyAgIGlmIChkb3du bG9hZF8pIHsKKyAgICAgc3RkOjp2ZWN0b3I8ZG93bmxvYWQ6OkRvd25sb2FkU2F2ZUl0ZW1EYXRh OjpJdGVtSW5mbz4gZmlsZXM7CisgICAgIGZvciAoYXV0byYgaXRlbSA6IHNhdmVkX3N1Y2Nlc3Nf aXRlbXNfKSB7CistICAgICAgZmlsZXMuZW1wbGFjZV9iYWNrKGl0ZW0uc2Vjb25kLT5mdWxsX3Bh dGgoKSwgaXRlbS5zZWNvbmQtPnVybCgpLAorLSAgICAgICAgICAgICAgICAgICAgICAgICBpdGVt LnNlY29uZC0+cmVmZXJyZXIoKS51cmwpOworKyAgICAgIGZpbGVzLmVtcGxhY2VfYmFjaygpID0g e2l0ZW0uc2Vjb25kLT5mdWxsX3BhdGgoKSwgaXRlbS5zZWNvbmQtPnVybCgpLAorKyAgICAgICAg ICAgICAgICAgICAgICAgICBpdGVtLnNlY29uZC0+cmVmZXJyZXIoKS51cmx9OworICAgICB9Cisg ICAgIGRvd25sb2FkOjpEb3dubG9hZFNhdmVJdGVtRGF0YTo6QXR0YWNoSXRlbURhdGEoZG93bmxv YWRfLCBzdGQ6Om1vdmUoZmlsZXMpKTsKKyAgIH0KK2RpZmYgLXVwIGNocm9taXVtLTExNy4wLjU5 MzguNjIvdWkvZ3RrL2d0a191aS5jYy5tZSBjaHJvbWl1bS0xMTcuMC41OTM4LjYyL3VpL2d0ay9n dGtfdWkuY2MKKy0tLSBjaHJvbWl1bS0xMTcuMC41OTM4LjYyL3VpL2d0ay9ndGtfdWkuY2MubWUJ MjAyMy0wOS0xNSAyMDoyOTo0Mi42MjY1MDIzNDMgKzAyMDAKKysrKyBjaHJvbWl1bS0xMTcuMC41 OTM4LjYyL3VpL2d0ay9ndGtfdWkuY2MJMjAyMy0wOS0xNSAyMDozNjoxOC43NjMwOTExNzkgKzAy MDAKK0BAIC05NTUsMTEgKzk1NSwxMSBAQCB1aTo6RGlzcGxheUNvbmZpZyBHdGtVaTo6R2V0RGlz cGxheUNvbmZpCisgICAgIEdka1JlY3RhbmdsZSBnZW9tZXRyeTsKKyAgICAgZ2RrX21vbml0b3Jf Z2V0X2dlb21ldHJ5KG1vbml0b3IsICZnZW9tZXRyeSk7CisgICAgIGludCBtb25pdG9yX3NjYWxl ID0gc3RkOjptYXgoMSwgZ2RrX21vbml0b3JfZ2V0X3NjYWxlX2ZhY3Rvcihtb25pdG9yKSk7Cist ICAgIGNvbmZpZy5kaXNwbGF5X2dlb21ldHJpZXMuZW1wbGFjZV9iYWNrKAorKyAgICBjb25maWcu ZGlzcGxheV9nZW9tZXRyaWVzLmVtcGxhY2VfYmFjaygpID0geworICAgICAgICAgZ2Z4OjpSZWN0 KG1vbml0b3Jfc2NhbGUgKiBnZW9tZXRyeS54LCBtb25pdG9yX3NjYWxlICogZ2VvbWV0cnkueSwK KyAgICAgICAgICAgICAgICAgICBtb25pdG9yX3NjYWxlICogZ2VvbWV0cnkud2lkdGgsCisgICAg ICAgICAgICAgICAgICAgbW9uaXRvcl9zY2FsZSAqIGdlb21ldHJ5LmhlaWdodCksCistICAgICAg ICBtb25pdG9yX3NjYWxlICogZm9udF9zY2FsZSk7CisrICAgICAgICBzdGF0aWNfY2FzdDxmbG9h dD4obW9uaXRvcl9zY2FsZSAqIGZvbnRfc2NhbGUpfTsKKyAgIH0KKyAgIHJldHVybiBjb25maWc7 CisgfQorZGlmZiAtdXAgY2hyb21pdW0tMTE4LjAuNTk5My41NC9jb21wb25lbnRzL2F1dG9maWxs L2NvcmUvYnJvd3Nlci9jb250YWN0X2luZm9fc3luY191dGlsLmNjLm1lIGNocm9taXVtLTExOC4w LjU5OTMuNTQvY29tcG9uZW50cy9hdXRvZmlsbC9jb3JlL2Jyb3dzZXIvY29udGFjdF9pbmZvX3N5 bmNfdXRpbC5jYworLS0tIGNocm9taXVtLTExOC4wLjU5OTMuNTQvY29tcG9uZW50cy9hdXRvZmls bC9jb3JlL2Jyb3dzZXIvY29udGFjdF9pbmZvX3N5bmNfdXRpbC5jYy5tZQkyMDIzLTEwLTA2IDEw OjM4OjUyLjQ3MzE0NTY5MiArMDIwMAorKysrIGNocm9taXVtLTExOC4wLjU5OTMuNTQvY29tcG9u ZW50cy9hdXRvZmlsbC9jb3JlL2Jyb3dzZXIvY29udGFjdF9pbmZvX3N5bmNfdXRpbC5jYwkyMDIz LTEwLTA2IDEwOjM3OjMwLjI2ODYxNzE2OSArMDIwMAorQEAgLTE3NCw5ICsxNzQsOSBAQCBjbGFz cyBDb250YWN0SW5mb1Byb2ZpbGVTZXR0ZXIgeworICAgICBDSEVDSyhvYnNlcnZhdGlvbnMuZW1w dHkoKSk7CisgICAgIGZvciAoY29uc3Qgc3luY19wYjo6Q29udGFjdEluZm9TcGVjaWZpY3M6Ok9i c2VydmF0aW9uJiBwcm90b19vYnNlcnZhdGlvbiA6CisgICAgICAgICAgcHJvdG9fb2JzZXJ2YXRp b25zKSB7CistICAgICAgb2JzZXJ2YXRpb25zLmVtcGxhY2VfYmFjayhwcm90b19vYnNlcnZhdGlv bi50eXBlKCksCisrICAgICAgb2JzZXJ2YXRpb25zLmVtcGxhY2VfYmFjaygpID0ge3N0YXRpY19j YXN0PHVuc2lnbmVkIGNoYXI+KHByb3RvX29ic2VydmF0aW9uLnR5cGUoKSksCisgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBQcm9maWxlVG9rZW5RdWFsaXR5OjpGb3JtU2lnbmF0dXJl SGFzaCgKKy0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwcm90b19vYnNlcnZh dGlvbi5mb3JtX2hhc2goKSkpOworKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IHByb3RvX29ic2VydmF0aW9uLmZvcm1faGFzaCgpKX07CisgICAgIH0KKyAgIH0KKyAKK2RpZmYg LXVwIGNocm9taXVtLTExOC4wLjU5OTMuNTQvY29tcG9uZW50cy9hdXRvZmlsbC9jb3JlL2Jyb3dz ZXIvd2ViZGF0YS9hdXRvZmlsbF9zeW5jX2JyaWRnZV91dGlsLmNjLm1lIGNocm9taXVtLTExOC4w LjU5OTMuNTQvY29tcG9uZW50cy9hdXRvZmlsbC9jb3JlL2Jyb3dzZXIvd2ViZGF0YS9hdXRvZmls bF9zeW5jX2JyaWRnZV91dGlsLmNjCistLS0gY2hyb21pdW0tMTE4LjAuNTk5My41NC9jb21wb25l bnRzL2F1dG9maWxsL2NvcmUvYnJvd3Nlci93ZWJkYXRhL2F1dG9maWxsX3N5bmNfYnJpZGdlX3V0 aWwuY2MubWUJMjAyMy0xMC0wNiAxMDo0MTozNy43NDY0MDIyMTUgKzAyMDAKKysrKyBjaHJvbWl1 bS0xMTguMC41OTkzLjU0L2NvbXBvbmVudHMvYXV0b2ZpbGwvY29yZS9icm93c2VyL3dlYmRhdGEv YXV0b2ZpbGxfc3luY19icmlkZ2VfdXRpbC5jYwkyMDIzLTEwLTA2IDEwOjQyOjI4LjQ2OTU2Mjky NyArMDIwMAorQEAgLTU1MywxMSArNTUzLDExIEBAIFNlcnZlckN2YyBBdXRvZmlsbFdhbGxldEN2 Y1N0cnVjdERhdGFGcm8KKyAgIGJhc2U6OlN0cmluZ1RvSW50NjQod2FsbGV0X2NyZWRlbnRpYWxf c3BlY2lmaWNzLmluc3RydW1lbnRfaWQoKSwKKyAgICAgICAgICAgICAgICAgICAgICAgJmluc3Ry dW1lbnRfaWQpOworIAorLSAgcmV0dXJuIFNlcnZlckN2YygKKysgIHJldHVybiBTZXJ2ZXJDdmN7 CisgICAgICAgaW5zdHJ1bWVudF9pZCwgYmFzZTo6VVRGOFRvVVRGMTYod2FsbGV0X2NyZWRlbnRp YWxfc3BlY2lmaWNzLmN2YygpKSwKKyAgICAgICBiYXNlOjpUaW1lOjpVbml4RXBvY2goKSArCisg ICAgICAgICAgIGJhc2U6Ok1pbGxpc2Vjb25kcyh3YWxsZXRfY3JlZGVudGlhbF9zcGVjaWZpY3MK Ky0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAubGFzdF91cGRhdGVkX3RpbWVfdW5p eF9lcG9jaF9taWxsaXMoKSkpOworKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC5s YXN0X3VwZGF0ZWRfdGltZV91bml4X2Vwb2NoX21pbGxpcygpKX07CisgfQorIAorIFZpcnR1YWxD YXJkVXNhZ2VEYXRhIFZpcnR1YWxDYXJkVXNhZ2VEYXRhRnJvbVVzYWdlU3BlY2lmaWNzKAorZGlm ZiAtdXAgY2hyb21pdW0tMTE4LjAuNTk5My41NC9jb250ZW50L2Jyb3dzZXIvd2ViaWQvaWRwX25l dHdvcmtfcmVxdWVzdF9tYW5hZ2VyLmNjLm1lIGNocm9taXVtLTExOC4wLjU5OTMuNTQvY29udGVu dC9icm93c2VyL3dlYmlkL2lkcF9uZXR3b3JrX3JlcXVlc3RfbWFuYWdlci5jYworLS0tIGNocm9t aXVtLTExOC4wLjU5OTMuNTQvY29udGVudC9icm93c2VyL3dlYmlkL2lkcF9uZXR3b3JrX3JlcXVl c3RfbWFuYWdlci5jYy5tZQkyMDIzLTEwLTA2IDEzOjQ2OjU3LjI4NzA4OTA0MCArMDIwMAorKysr IGNocm9taXVtLTExOC4wLjU5OTMuNTQvY29udGVudC9icm93c2VyL3dlYmlkL2lkcF9uZXR3b3Jr X3JlcXVlc3RfbWFuYWdlci5jYwkyMDIzLTEwLTA2IDEzOjQ3OjI1LjQ1MDYzMjE1NiArMDIwMAor QEAgLTYwNCw3ICs2MDQsNyBAQCB2b2lkIE9uVG9rZW5SZXF1ZXN0UGFyc2VkKAorICAgICBpZiAo cmVzcG9uc2VfZXJyb3IpIHsKKyAgICAgICBpbnQgZXJyb3JfY29kZSA9IHJlc3BvbnNlX2Vycm9y LT5GaW5kSW50KGtFcnJvckNvZGVLZXkpLnZhbHVlX29yKDApOworICAgICAgIEdVUkwgZXJyb3Jf dXJsID0gRXh0cmFjdFVybCgqcmVzcG9uc2VfZXJyb3IsIGtFcnJvclVybEtleSk7CistICAgICAg dG9rZW5fcmVzdWx0LmVycm9yID0gVG9rZW5FcnJvcihlcnJvcl9jb2RlLCBlcnJvcl91cmwpOwor KyAgICAgIHRva2VuX3Jlc3VsdC5lcnJvciA9IFRva2VuRXJyb3J7ZXJyb3JfY29kZSwgZXJyb3Jf dXJsfTsKKyAgICAgfQorICAgfQorIAoKZGlmZiAtLWdpdCBhL2Nocm9taXVtLTExOC1weXRob24t My4xMi1kZXByZWNhdGVkLnBhdGNoIGIvY2hyb21pdW0tMTE4LXB5dGhvbi0zLjEyLWRlcHJlY2F0 ZWQucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNTgzN2FlNQotLS0g L2Rldi9udWxsCisrKyBiL2Nocm9taXVtLTExOC1weXRob24tMy4xMi1kZXByZWNhdGVkLnBhdGNo CkBAIC0wLDAgKzEsMTM4IEBACitkaWZmIC11cCBjaHJvbWl1bS0xMTUuMC41NzkwLjEwMi9iYXNl L3dyaXRlX2J1aWxkX2RhdGVfaGVhZGVyLnB5Lm1lIGNocm9taXVtLTExNS4wLjU3OTAuMTAyL2Jh c2Uvd3JpdGVfYnVpbGRfZGF0ZV9oZWFkZXIucHkKKy0tLSBjaHJvbWl1bS0xMTUuMC41NzkwLjEw Mi9iYXNlL3dyaXRlX2J1aWxkX2RhdGVfaGVhZGVyLnB5Lm1lCTIwMjMtMDctMjIgMTQ6MjM6NDIu NjIwNjc5Mzk3ICswMjAwCisrKysgY2hyb21pdW0tMTE1LjAuNTc5MC4xMDIvYmFzZS93cml0ZV9i dWlsZF9kYXRlX2hlYWRlci5weQkyMDIzLTA3LTIyIDE1OjI0OjQ2LjgzMzMxMDMxMCArMDIwMAor QEAgLTE3LDcgKzE3LDcgQEAgZGVmIG1haW4oKToKKyAgIGFyZ3MgPSBhcmd1bWVudF9wYXJzZXIu cGFyc2VfYXJncygpCisgCisgICBkYXRlX3ZhbCA9IGludChhcmdzLnRpbWVzdGFtcCkKKy0gIGRh dGUgPSBkYXRldGltZS5kYXRldGltZS51dGNmcm9tdGltZXN0YW1wKGRhdGVfdmFsKQorKyAgZGF0 ZSA9ICBkYXRldGltZS5kYXRldGltZS5mcm9tdGltZXN0YW1wKGRhdGVfdmFsLCBkYXRldGltZS50 aW1lem9uZS51dGMpCisgICBvdXRwdXQgPSAoJy8vIEdlbmVyYXRlZCBieSAvL2Jhc2Uvd3JpdGVf YnVpbGRfZGF0ZV9oZWFkZXIucHlcbicKKyAgICAgICAgICAgICAnI2lmbmRlZiBCQVNFX0dFTkVS QVRFRF9CVUlMRF9EQVRFX1RJTUVTVEFNUCBcbicKKyAgICAgICAgICAgICBmJyNkZWZpbmUgQkFT RV9HRU5FUkFURURfQlVJTERfREFURV9USU1FU1RBTVAge2RhdGVfdmFsfScKK2RpZmYgLXVwIGNo cm9taXVtLTExNS4wLjU3OTAuMTAyL2J1aWxkL3dyaXRlX2J1aWxkZmxhZ19oZWFkZXIucHkubWUg Y2hyb21pdW0tMTE1LjAuNTc5MC4xMDIvYnVpbGQvd3JpdGVfYnVpbGRmbGFnX2hlYWRlci5weQor LS0tIGNocm9taXVtLTExNS4wLjU3OTAuMTAyL2J1aWxkL3dyaXRlX2J1aWxkZmxhZ19oZWFkZXIu cHkubWUJMjAyMy0wNy0yMiAxNDoxNjoxNC4xOTY5NzU0NTEgKzAyMDAKKysrKyBjaHJvbWl1bS0x MTUuMC41NzkwLjEwMi9idWlsZC93cml0ZV9idWlsZGZsYWdfaGVhZGVyLnB5CTIwMjMtMDctMjIg MTQ6MjA6MjQuOTc3MjM5OTk0ICswMjAwCitAQCAtNDQsNyArNDQsNyBAQCBkZWYgR2V0T3B0aW9u cygpOgorICAgaGVhZGVyX2d1YXJkID0gY21kbGluZV9vcHRpb25zLm91dHB1dC51cHBlcigpCisg ICBpZiBoZWFkZXJfZ3VhcmRbMF0uaXNkaWdpdCgpOgorICAgICBoZWFkZXJfZ3VhcmQgPSAnXycg KyBoZWFkZXJfZ3VhcmQKKy0gIGhlYWRlcl9ndWFyZCA9IHJlLnN1YignW15cd10nLCAnXycsIGhl YWRlcl9ndWFyZCkKKysgIGhlYWRlcl9ndWFyZCA9IHJlLnN1YihyJ1teXHddJywgJ18nLCBoZWFk ZXJfZ3VhcmQpCisgICBoZWFkZXJfZ3VhcmQgKz0gJ18nCisgCisgICAjIFRoZSBhY3R1YWwgb3V0 cHV0IGZpbGUgaXMgaW5zaWRlIHRoZSBnZW4gZGlyLgorZGlmZiAtdXAgY2hyb21pdW0tMTE1LjAu NTc5MC4xMDIvY29tcG9uZW50cy9yZXNvdXJjZXMvcHJvdG9idWZzL2JpbmFyeV9wcm90b19nZW5l cmF0b3IucHkubWUgY2hyb21pdW0tMTE1LjAuNTc5MC4xMDIvY29tcG9uZW50cy9yZXNvdXJjZXMv cHJvdG9idWZzL2JpbmFyeV9wcm90b19nZW5lcmF0b3IucHkKKy0tLSBjaHJvbWl1bS0xMTUuMC41 NzkwLjEwMi9jb21wb25lbnRzL3Jlc291cmNlcy9wcm90b2J1ZnMvYmluYXJ5X3Byb3RvX2dlbmVy YXRvci5weS5tZQkyMDIzLTA3LTIyIDE0OjQ3OjM0LjIzMDc2NDIxMCArMDIwMAorKysrIGNocm9t aXVtLTExNS4wLjU3OTAuMTAyL2NvbXBvbmVudHMvcmVzb3VyY2VzL3Byb3RvYnVmcy9iaW5hcnlf cHJvdG9fZ2VuZXJhdG9yLnB5CTIwMjMtMDctMjIgMTU6MTE6NTAuMzYwOTgzMzgzICswMjAwCitA QCAtOSw3ICs5LDggQEAKKyAiIiIKKyBmcm9tIF9fZnV0dXJlX18gaW1wb3J0IHByaW50X2Z1bmN0 aW9uCisgaW1wb3J0IGFiYworLWltcG9ydCBpbXAKKytpbXBvcnQgdHlwZXMKKytpbXBvcnQgaW1w b3J0bGliCisgaW1wb3J0IG9wdHBhcnNlCisgaW1wb3J0IG9zCisgaW1wb3J0IHJlCitAQCAtNDAs NiArNDEsMTIgQEAgY2xhc3MgR29vZ2xlUHJvdG9idWZNb2R1bGVJbXBvcnRlcjoKKyAgICAgICAg IHJldHVybiBmaWxlcGF0aAorICAgICByZXR1cm4gTm9uZQorIAorKyAgZGVmIGxvYWRfc291cmNl KG5hbWU6IHN0ciwgcGF0aDogc3RyKSAtPiB0eXBlcy5Nb2R1bGVUeXBlOgorKyAgICBzcGVjID0g aW1wb3J0bGliLnV0aWwuc3BlY19mcm9tX2ZpbGVfbG9jYXRpb24obmFtZSwgcGF0aCkKKysgICAg bW9kdWxlID0gaW1wb3J0bGliLnV0aWwubW9kdWxlX2Zyb21fc3BlYyhzcGVjKQorKyAgICBzcGVj LmxvYWRlci5leGVjX21vZHVsZShtb2R1bGUpCisrICAgIHJldHVybiBtb2R1bGUKKysKKyAgIGRl ZiBfbW9kdWxlX2V4aXN0cyhzZWxmLCBmdWxsbmFtZSk6CisgICAgIHJldHVybiBzZWxmLl9mdWxs bmFtZV90b19maWxlcGF0aChmdWxsbmFtZSkgaXMgbm90IE5vbmUKKyAKK0BAIC02OCw3ICs3NSw3 IEBAIGNsYXNzIEdvb2dsZVByb3RvYnVmTW9kdWxlSW1wb3J0ZXI6CisgICAgICAgcmFpc2UgSW1w b3J0RXJyb3IoZnVsbG5hbWUpCisgCisgICAgIGZpbGVwYXRoID0gc2VsZi5fZnVsbG5hbWVfdG9f ZmlsZXBhdGgoZnVsbG5hbWUpCistICAgIHJldHVybiBpbXAubG9hZF9zb3VyY2UoZnVsbG5hbWUs IGZpbGVwYXRoKQorKyAgICByZXR1cm4gbG9hZF9zb3VyY2UoZnVsbG5hbWUsIGZpbGVwYXRoKQor IAorIGNsYXNzIEJpbmFyeVByb3RvR2VuZXJhdG9yOgorIAorZGlmZiAtdXAgY2hyb21pdW0tMTE1 LjAuNTc5MC4xMDIvbW9qby9wdWJsaWMvdG9vbHMvYmluZGluZ3MvY29uY2F0ZW5hdGVfYW5kX3Jl cGxhY2VfY2xvc3VyZV9leHBvcnRzLnB5Lm1lIGNocm9taXVtLTExNS4wLjU3OTAuMTAyL21vam8v cHVibGljL3Rvb2xzL2JpbmRpbmdzL2NvbmNhdGVuYXRlX2FuZF9yZXBsYWNlX2Nsb3N1cmVfZXhw b3J0cy5weQorLS0tIGNocm9taXVtLTExNS4wLjU3OTAuMTAyL21vam8vcHVibGljL3Rvb2xzL2Jp bmRpbmdzL2NvbmNhdGVuYXRlX2FuZF9yZXBsYWNlX2Nsb3N1cmVfZXhwb3J0cy5weS5tZQkyMDIz LTA3LTIyIDE1OjE3OjE5LjExNDI1ODgwMSArMDIwMAorKysrIGNocm9taXVtLTExNS4wLjU3OTAu MTAyL21vam8vcHVibGljL3Rvb2xzL2JpbmRpbmdzL2NvbmNhdGVuYXRlX2FuZF9yZXBsYWNlX2Ns b3N1cmVfZXhwb3J0cy5weQkyMDIzLTA3LTIyIDE1OjE3OjQzLjM2ODIwMDQ5MSArMDIwMAorQEAg LTMyLDcgKzMyLDcgQEAgZGVmIEZpbHRlckxpbmUoZmlsZW5hbWUsIGxpbmUsIG91dHB1dCk6Cisg ICAgIHJldHVybgorIAorICAgaWYgbGluZS5zdGFydHN3aXRoKCJnb29nLnByb3ZpZGUiKToKKy0g ICAgbWF0Y2ggPSByZS5tYXRjaCgiZ29vZy5wcm92aWRlXCgnKFteJ10rKSdcKTsiLCBsaW5lKQor KyAgICBtYXRjaCA9IHJlLm1hdGNoKHIiZ29vZy5wcm92aWRlXCgnKFteJ10rKSdcKTsiLCBsaW5l KQorICAgICBpZiBub3QgbWF0Y2g6CisgICAgICAgcHJpbnQoIkludmFsaWQgZ29vZy5wcm92aWRl IGxpbmUgaW4gJXM6XG4lcyIgJSAoZmlsZW5hbWUsIGxpbmUpKQorICAgICAgIHN5cy5leGl0KDEp CitkaWZmIC11cCBjaHJvbWl1bS0xMTUuMC41NzkwLjEwMi90aGlyZF9wYXJ0eS9jYXRhcHVsdC9j b21tb24vcHlfdnVsY2FuaXplL3B5X3Z1bGNhbml6ZS9odG1sX2dlbmVyYXRpb25fY29udHJvbGxl ci5weS5tZSBjaHJvbWl1bS0xMTUuMC41NzkwLjEwMi90aGlyZF9wYXJ0eS9jYXRhcHVsdC9jb21t b24vcHlfdnVsY2FuaXplL3B5X3Z1bGNhbml6ZS9odG1sX2dlbmVyYXRpb25fY29udHJvbGxlci5w eQorLS0tIGNocm9taXVtLTExNS4wLjU3OTAuMTAyL3RoaXJkX3BhcnR5L2NhdGFwdWx0L2NvbW1v bi9weV92dWxjYW5pemUvcHlfdnVsY2FuaXplL2h0bWxfZ2VuZXJhdGlvbl9jb250cm9sbGVyLnB5 Lm1lCTIwMjMtMDctMjIgMTU6MTI6NDEuODUwODk1MTc5ICswMjAwCisrKysgY2hyb21pdW0tMTE1 LjAuNTc5MC4xMDIvdGhpcmRfcGFydHkvY2F0YXB1bHQvY29tbW9uL3B5X3Z1bGNhbml6ZS9weV92 dWxjYW5pemUvaHRtbF9nZW5lcmF0aW9uX2NvbnRyb2xsZXIucHkJMjAyMy0wNy0yMiAxNToxMjo1 NS44NDQ4NzEyMDcgKzAyMDAKK0BAIC0xOCw3ICsxOCw3IEBAIGNsYXNzIEhUTUxHZW5lcmF0aW9u Q29udHJvbGxlcihvYmplY3QpOgorIAorICAgZGVmIEdldEhUTUxGb3JJbmxpbmVTdHlsZXNoZWV0 KHNlbGYsIGNvbnRlbnRzKToKKyAgICAgaWYgc2VsZi5jdXJyZW50X21vZHVsZSBpcyBOb25lOgor LSAgICAgIGlmIHJlLnNlYXJjaCgndXJsXCguK1wpJywgY29udGVudHMpOgorKyAgICAgIGlmIHJl LnNlYXJjaChyJ3VybFwoLitcKScsIGNvbnRlbnRzKToKKyAgICAgICAgIHJhaXNlIEV4Y2VwdGlv bigKKyAgICAgICAgICAgICAnRGVmYXVsdCBIVE1MR2VuZXJhdGlvbkNvbnRyb2xsZXIgY2Fubm90 IGhhbmRsZSBpbmxpbmUgc3R5bGUgdXJscycpCisgICAgICAgcmV0dXJuIGNvbnRlbnRzCitkaWZm IC11cCBjaHJvbWl1bS0xMTUuMC41NzkwLjEwMi90aGlyZF9wYXJ0eS9jYXRhcHVsdC9jb21tb24v cHlfdnVsY2FuaXplL3B5X3Z1bGNhbml6ZS9qc191dGlscy5weS5tZSBjaHJvbWl1bS0xMTUuMC41 NzkwLjEwMi90aGlyZF9wYXJ0eS9jYXRhcHVsdC9jb21tb24vcHlfdnVsY2FuaXplL3B5X3Z1bGNh bml6ZS9qc191dGlscy5weQorLS0tIGNocm9taXVtLTExNS4wLjU3OTAuMTAyL3RoaXJkX3BhcnR5 L2NhdGFwdWx0L2NvbW1vbi9weV92dWxjYW5pemUvcHlfdnVsY2FuaXplL2pzX3V0aWxzLnB5Lm1l CTIwMjMtMDctMjIgMTU6MTQ6MDYuOTIzNzE3OTEwICswMjAwCisrKysgY2hyb21pdW0tMTE1LjAu NTc5MC4xMDIvdGhpcmRfcGFydHkvY2F0YXB1bHQvY29tbW9uL3B5X3Z1bGNhbml6ZS9weV92dWxj YW5pemUvanNfdXRpbHMucHkJMjAyMy0wNy0yMiAxNToxODowMy43MDQxNTA2MTQgKzAyMDAKK0BA IC00LDQgKzQsNCBAQAorIAorIAorIGRlZiBFc2NhcGVKU0lmTmVlZGVkKGpzKToKKy0gIHJldHVy biBqcy5yZXBsYWNlKCc8L3NjcmlwdD4nLCAnPFwvc2NyaXB0PicpCisrICByZXR1cm4ganMucmVw bGFjZShyJzwvc2NyaXB0PicsIHInPFwvc2NyaXB0PicpCitkaWZmIC11cCBjaHJvbWl1bS0xMTUu MC41NzkwLjEwMi90aGlyZF9wYXJ0eS9jYXRhcHVsdC9jb21tb24vcHlfdnVsY2FuaXplL3B5X3Z1 bGNhbml6ZS9wYXJzZV9odG1sX2RlcHMucHkubWUgY2hyb21pdW0tMTE1LjAuNTc5MC4xMDIvdGhp cmRfcGFydHkvY2F0YXB1bHQvY29tbW9uL3B5X3Z1bGNhbml6ZS9weV92dWxjYW5pemUvcGFyc2Vf aHRtbF9kZXBzLnB5CistLS0gY2hyb21pdW0tMTE1LjAuNTc5MC4xMDIvdGhpcmRfcGFydHkvY2F0 YXB1bHQvY29tbW9uL3B5X3Z1bGNhbml6ZS9weV92dWxjYW5pemUvcGFyc2VfaHRtbF9kZXBzLnB5 Lm1lCTIwMjMtMDctMjIgMTU6MTQ6MzAuMTA1NjYyNTMyICswMjAwCisrKysgY2hyb21pdW0tMTE1 LjAuNTc5MC4xMDIvdGhpcmRfcGFydHkvY2F0YXB1bHQvY29tbW9uL3B5X3Z1bGNhbml6ZS9weV92 dWxjYW5pemUvcGFyc2VfaHRtbF9kZXBzLnB5CTIwMjMtMDctMjIgMTU6MTQ6NTcuOTc3NTk1OTUw ICswMjAwCitAQCAtMjkzLDYgKzI5Myw2IEBAIGNsYXNzIEhUTUxNb2R1bGVQYXJzZXIoKToKKyAg ICAgICBodG1sID0gJycKKyAgICAgZWxzZToKKyAgICAgICBpZiBodG1sLmZpbmQoJzwgL3Njcmlw dD4nKSAhPSAtMToKKy0gICAgICAgIHJhaXNlIEV4Y2VwdGlvbignRXNjYXBlIHNjcmlwdCB0YWdz IHdpdGggPFwvc2NyaXB0PicpCisrICAgICAgICByYWlzZSBFeGNlcHRpb24ocidFc2NhcGUgc2Ny aXB0IHRhZ3Mgd2l0aCA8XC9zY3JpcHQ+JykKKyAKKyAgICAgcmV0dXJuIEhUTUxNb2R1bGVQYXJz ZXJSZXN1bHRzKGh0bWwpCitkaWZmIC11cCBjaHJvbWl1bS0xMTUuMC41NzkwLjEwMi90aGlyZF9w YXJ0eS9jYXRhcHVsdC9jb21tb24vcHlfdnVsY2FuaXplL3B5X3Z1bGNhbml6ZS9zdHlsZV9zaGVl dC5weS5tZSBjaHJvbWl1bS0xMTUuMC41NzkwLjEwMi90aGlyZF9wYXJ0eS9jYXRhcHVsdC9jb21t b24vcHlfdnVsY2FuaXplL3B5X3Z1bGNhbml6ZS9zdHlsZV9zaGVldC5weQorLS0tIGNocm9taXVt LTExNS4wLjU3OTAuMTAyL3RoaXJkX3BhcnR5L2NhdGFwdWx0L2NvbW1vbi9weV92dWxjYW5pemUv cHlfdnVsY2FuaXplL3N0eWxlX3NoZWV0LnB5Lm1lCTIwMjMtMDctMjIgMTU6MTM6MTIuMzE2ODQy OTkwICswMjAwCisrKysgY2hyb21pdW0tMTE1LjAuNTc5MC4xMDIvdGhpcmRfcGFydHkvY2F0YXB1 bHQvY29tbW9uL3B5X3Z1bGNhbml6ZS9weV92dWxjYW5pemUvc3R5bGVfc2hlZXQucHkJMjAyMy0w Ny0yMiAxNToxMzo0OS42ODQ3NTkwOTEgKzAyMDAKK0BAIC02MCw3ICs2MCw3IEBAIGNsYXNzIFBh cnNlZFN0eWxlU2hlZXQob2JqZWN0KToKKyAgICAgICByZXR1cm4gJ3VybChkYXRhOmltYWdlLyVz O2Jhc2U2NCwlcyknICUgKGV4dFsxOl0sIGRhdGEuZGVjb2RlKCd1dGYtOCcpKQorIAorICAgICAj IEknbSBhc3N1bWluZyB3ZSBvbmx5IGhhdmUgdXJsKCkncyBhc3NvY2lhdGVkIHdpdGggaW1hZ2Vz CistICAgIHJldHVybiByZS5zdWIoJ3VybFwoKD9QPHF1b3RlPiJ8XCd8KSg/UDx1cmw+W14iXCco KV0qKSg/UD1xdW90ZSlcKScsCisrICAgIHJldHVybiByZS5zdWIocid1cmxcKCg/UDxxdW90ZT4i fFwnfCkoP1A8dXJsPlteIlwnKCldKikoP1A9cXVvdGUpXCknLAorICAgICAgICAgICAgICAgICAg IElubGluZVVybCwgc2VsZi5jb250ZW50cykKKyAKKyAgIGRlZiBBcHBlbmREaXJlY3RseURlcGVu ZGVudEZpbGVuYW1lc1RvKHNlbGYsIGRlcGVuZGVudF9maWxlbmFtZXMpOgorQEAgLTcyLDcgKzcy LDcgQEAgY2xhc3MgUGFyc2VkU3R5bGVTaGVldChvYmplY3QpOgorICAgICAgIHJhaXNlIEV4Y2Vw dGlvbignQGltcG9ydHMgYXJlIG5vdCBzdXBwb3J0ZWQnKQorIAorICAgICBtYXRjaGVzID0gcmUu ZmluZGFsbCgKKy0gICAgICAgICd1cmxcKCg/OlsifFwnXT8pKFteIlwnKCldKikoPzpbInxcJ10/ KVwpJywKKysgICAgICAgIHIndXJsXCgoPzpbInxcJ10/KShbXiJcJygpXSopKD86WyJ8XCddPylc KScsCisgICAgICAgICBzZWxmLmNvbnRlbnRzKQorIAorICAgICBkZWYgcmVzb2x2ZV91cmwodXJs KToKK2RpZmYgLXVwIGNocm9taXVtLTExNS4wLjU3OTAuMTAyL3RoaXJkX3BhcnR5L2Rhd24vZ2Vu ZXJhdG9yL2dlbmVyYXRvcl9saWIucHkubWUgY2hyb21pdW0tMTE1LjAuNTc5MC4xMDIvdGhpcmRf cGFydHkvZGF3bi9nZW5lcmF0b3IvZ2VuZXJhdG9yX2xpYi5weQorLS0tIGNocm9taXVtLTExNS4w LjU3OTAuMTAyL3RoaXJkX3BhcnR5L2Rhd24vZ2VuZXJhdG9yL2dlbmVyYXRvcl9saWIucHkubWUJ MjAyMy0wNy0yMiAxNToxMTo1Ni44MjY5NzIzMDYgKzAyMDAKKysrKyBjaHJvbWl1bS0xMTUuMC41 NzkwLjEwMi90aGlyZF9wYXJ0eS9kYXduL2dlbmVyYXRvci9nZW5lcmF0b3JfbGliLnB5CTIwMjMt MDctMjIgMTU6MTI6MzcuNTUwOTAyNTQ1ICswMjAwCitAQCAtMTE5LDggKzExOSw4IEBAIGNsYXNz IF9QcmVwcm9jZXNzaW5nTG9hZGVyKGppbmphMi5CYXNlTG8KKyAgICAgICAgICAgICBzb3VyY2Ug PSBzZWxmLnByZXByb2Nlc3MoZi5yZWFkKCkpCisgICAgICAgICByZXR1cm4gc291cmNlLCBwYXRo LCBsYW1iZGE6IG10aW1lID09IG9zLnBhdGguZ2V0bXRpbWUocGF0aCkKKyAKKy0gICAgYmxvY2tz dGFydCA9IHJlLmNvbXBpbGUoJ3slLT9ccyooaWZ8ZWxpZnxlbHNlfGZvcnxibG9ja3xtYWNybylb Xn1dKiV9JykKKy0gICAgYmxvY2tlbmQgPSByZS5jb21waWxlKCd7JS0/XHMqKGVuZChpZnxmb3J8 YmxvY2t8bWFjcm8pfGVsaWZ8ZWxzZSlbXn1dKiV9JykKKysgICAgYmxvY2tzdGFydCA9IHJlLmNv bXBpbGUocid7JS0/XHMqKGlmfGVsaWZ8ZWxzZXxmb3J8YmxvY2t8bWFjcm8pW159XSolfScpCisr ICAgIGJsb2NrZW5kID0gcmUuY29tcGlsZShyJ3slLT9ccyooZW5kKGlmfGZvcnxibG9ja3xtYWNy byl8ZWxpZnxlbHNlKVtefV0qJX0nKQorIAorICAgICBkZWYgcHJlcHJvY2VzcyhzZWxmLCBzb3Vy Y2UpOgorICAgICAgICAgbGluZXMgPSBzb3VyY2Uuc3BsaXQoJ1xuJykKCmRpZmYgLS1naXQgYS9j aHJvbWl1bS0xMTgtdXNlX3N5c3RlbV9mcmVldHlwZS5wYXRjaCBiL2Nocm9taXVtLTExOC11c2Vf c3lzdGVtX2ZyZWV0eXBlLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAu LmNlOWZiZGUKLS0tIC9kZXYvbnVsbAorKysgYi9jaHJvbWl1bS0xMTgtdXNlX3N5c3RlbV9mcmVl dHlwZS5wYXRjaApAQCAtMCwwICsxLDkxIEBACitjb21taXQgZWQzNTRkMDBhZWRhODQ2OTM2MTFi MTRiYWE1NmEyODc1NTdhMjZiNQorQXV0aG9yOiBNdW5pcmEgVHVyc3Vub3ZhIDxtb29uaXJhQGdv b2dsZS5jb20+CitEYXRlOiAgIFR1ZSBTZXAgMTIgMTE6NTQ6NDggMjAyMyArMDAwMAorCisgICAg QWRkIGNoZWNrIGZvciB1c2Vfc3lzdGVtX2ZyZWV0eXBlIHdoZW4gaW1wb3J0aW5nIHByaXZhdGUg ZnJlZXR5cGUgaGVhZGVyCisgICAgCisgICAgSW4gWzBdIHRoZSBpbmNsdWRlIG9mIHByaXZhdGUg ZnJlZXR5cGUgaGVhZGVyIHdhcyBhZGRlZCwgd2hpY2ggY2F1c2VkCisgICAgYnVpbGQgYnJlYWth Z2Ugd2hlbiB1c2Vfc3lzdGVtX2ZyZWV0eXBlPXRydWUsIHNlZSBbMV0uCisgICAgCisgICAgVGhp cyBDTCBmaXhlcyB0aGUgYnJlYWthZ2UgYnkgaW50cm9kdWNpbmcgVVNFX1NZU1RFTV9GUkVFVFlQ RSBidWlsZCBmbGFnLgorICAgIAorICAgIFswXSBodHRwczovL2Nocm9taXVtLXJldmlldy5nb29n bGVzb3VyY2UuY29tL2MvY2hyb21pdW0vc3JjLysvNDcxNzQ4NQorICAgIFsxXSBodHRwczovL2No cm9taXVtLXJldmlldy5nb29nbGVzb3VyY2UuY29tL2MvY2hyb21pdW0vc3JjLysvNDcxNzQ4NS9j b21tZW50cy9jZGZjYTdiOV84ZTYxYjJlMAorICAgIAorICAgIEJ1ZzogMTQyOTU4MQorICAgIENo YW5nZS1JZDogSTdmN2RlNGNkYjJkYzQ2MDkyYTkxYTQ3ZDc2NmJlZGI1OGRkY2NiN2MKKyAgICBS ZXZpZXdlZC1vbjogaHR0cHM6Ly9jaHJvbWl1bS1yZXZpZXcuZ29vZ2xlc291cmNlLmNvbS9jL2No cm9taXVtL3NyYy8rLzQ4NDM0MjgKKyAgICBDb21taXQtUXVldWU6IE11bmlyYSBUdXJzdW5vdmEg PG1vb25pcmFAZ29vZ2xlLmNvbT4KKyAgICBSZXZpZXdlZC1ieTogRG9taW5payBSw7Z0dHNjaGVz IDxkcm90dEBjaHJvbWl1bS5vcmc+CisgICAgUmV2aWV3ZWQtYnk6IFJpY2sgQnllcnMgPHJieWVy c0BjaHJvbWl1bS5vcmc+CisgICAgQ3ItQ29tbWl0LVBvc2l0aW9uOiByZWZzL2hlYWRzL21haW5A eyMxMTk1MzIzfQorCitkaWZmIC0tZ2l0IGEvdGhpcmRfcGFydHkvQlVJTEQuZ24gYi90aGlyZF9w YXJ0eS9CVUlMRC5nbgoraW5kZXggN2IwODZmOTU0MTNmZi4uNGNlNzk3ZWJhZDcyMiAxMDA2NDQK Ky0tLSBhL3RoaXJkX3BhcnR5L0JVSUxELmduCisrKysgYi90aGlyZF9wYXJ0eS9CVUlMRC5nbgor QEAgLTIsNiArMiw3IEBACisgIyBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBi eSBhIEJTRC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlCisgIyBmb3VuZCBpbiB0aGUgTElDRU5T RSBmaWxlLgorIAorK2ltcG9ydCgiLy9idWlsZC9idWlsZGZsYWdfaGVhZGVyLmduaSIpCisgaW1w b3J0KCIvL2J1aWxkL2NvbmZpZy9mZWF0dXJlcy5nbmkiKQorIGltcG9ydCgiLy9idWlsZC9jb25m aWcvZnJlZXR5cGUvZnJlZXR5cGUuZ25pIikKKyBpbXBvcnQoIi8vdGhpcmRfcGFydHkvaGFyZmJ1 enotbmcvaGFyZmJ1enouZ25pIikKK0BAIC02NSwzICs2Niw4IEBAIGNvbXBvbmVudCgiZnJlZXR5 cGVfaGFyZmJ1enoiKSB7CisgICAgIHB1YmxpY19kZXBzICs9IFsgIi8vdGhpcmRfcGFydHkvaGFy ZmJ1enotbmc6aGFyZmJ1enpfc291cmNlIiBdCisgICB9CisgfQorKworK2J1aWxkZmxhZ19oZWFk ZXIoImZyZWV0eXBlX2J1aWxkZmxhZ3MiKSB7CisrICBoZWFkZXIgPSAiZnJlZXR5cGVfYnVpbGRm bGFncy5oIgorKyAgZmxhZ3MgPSBbICJVU0VfU1lTVEVNX0ZSRUVUWVBFPSR1c2Vfc3lzdGVtX2Zy ZWV0eXBlIiBdCisrfQorZGlmZiAtLWdpdCBhL3RoaXJkX3BhcnR5L2JsaW5rL3JlbmRlcmVyL3Bs YXRmb3JtL0JVSUxELmduIGIvdGhpcmRfcGFydHkvYmxpbmsvcmVuZGVyZXIvcGxhdGZvcm0vQlVJ TEQuZ24KK2luZGV4IDU5MWQyZjkzOTYwNWIuLmY2YTJjZDIxNjhkMWUgMTAwNjQ0CistLS0gYS90 aGlyZF9wYXJ0eS9ibGluay9yZW5kZXJlci9wbGF0Zm9ybS9CVUlMRC5nbgorKysrIGIvdGhpcmRf cGFydHkvYmxpbmsvcmVuZGVyZXIvcGxhdGZvcm0vQlVJTEQuZ24KK0BAIC0xNzE3LDYgKzE3MTcs NyBAQCBjb21wb25lbnQoInBsYXRmb3JtIikgeworICAgICAiLy9zZXJ2aWNlcy92aXovcHVibGlj L2NwcC9ncHUiLAorICAgICAiLy9za2lhIiwKKyAgICAgIi8vc2tpYTpza2NtcyIsCisrICAgICIv L3RoaXJkX3BhcnR5OmZyZWV0eXBlX2J1aWxkZmxhZ3MiLAorICAgICAiLy90aGlyZF9wYXJ0eTpm cmVldHlwZV9oYXJmYnV6eiIsCisgICAgICIvL3RoaXJkX3BhcnR5L2Fic2VpbC1jcHA6YWJzbCIs CisgICAgICIvL3RoaXJkX3BhcnR5L2JsaW5rL3B1YmxpYzppbWFnZV9yZXNvdXJjZXMiLAorZGlm ZiAtLWdpdCBhL3RoaXJkX3BhcnR5L2JsaW5rL3JlbmRlcmVyL3BsYXRmb3JtL2ZvbnRzL3NpbXBs ZV9mb250X2RhdGEuY2MgYi90aGlyZF9wYXJ0eS9ibGluay9yZW5kZXJlci9wbGF0Zm9ybS9mb250 cy9zaW1wbGVfZm9udF9kYXRhLmNjCitpbmRleCBhYmUwNmYzNWMxNGE1Li5iMmJmZDg4ZjBkODVk IDEwMDY0NAorLS0tIGEvdGhpcmRfcGFydHkvYmxpbmsvcmVuZGVyZXIvcGxhdGZvcm0vZm9udHMv c2ltcGxlX2ZvbnRfZGF0YS5jYworKysrIGIvdGhpcmRfcGFydHkvYmxpbmsvcmVuZGVyZXIvcGxh dGZvcm0vZm9udHMvc2ltcGxlX2ZvbnRfZGF0YS5jYworQEAgLTQ4LDcgKzQ4LDcgQEAKKyAjaW5j bHVkZSAidGhpcmRfcGFydHkvYmxpbmsvcmVuZGVyZXIvcGxhdGZvcm0vd3RmL21hdGhfZXh0cmFz LmgiCisgI2luY2x1ZGUgInRoaXJkX3BhcnR5L2JsaW5rL3JlbmRlcmVyL3BsYXRmb3JtL3d0Zi90 ZXh0L2NoYXJhY3Rlcl9uYW1lcy5oIgorICNpbmNsdWRlICJ0aGlyZF9wYXJ0eS9ibGluay9yZW5k ZXJlci9wbGF0Zm9ybS93dGYvdGV4dC91bmljb2RlLmgiCistI2luY2x1ZGUgInRoaXJkX3BhcnR5 L2ZyZWV0eXBlL3NyYy9zcmMvYXV0b2ZpdC9hZndzLWRlY2wuaCIKKysjaW5jbHVkZSAidGhpcmRf cGFydHkvZnJlZXR5cGVfYnVpbGRmbGFncy5oIgorICNpbmNsdWRlICJ0aGlyZF9wYXJ0eS9za2lh L2luY2x1ZGUvY29yZS9Ta0ZvbnRNZXRyaWNzLmgiCisgI2luY2x1ZGUgInRoaXJkX3BhcnR5L3Nr aWEvaW5jbHVkZS9jb3JlL1NrUGF0aC5oIgorICNpbmNsdWRlICJ0aGlyZF9wYXJ0eS9za2lhL2lu Y2x1ZGUvY29yZS9Ta1R5cGVmYWNlLmgiCitAQCAtNTcsMTIgKzU3LDIyIEBACisgI2luY2x1ZGUg InVpL2dmeC9nZW9tZXRyeS9za2lhX2NvbnZlcnNpb25zLmgiCisgI2luY2x1ZGUgInY4L2luY2x1 ZGUvdjguaCIKKyAKKysjaWYgIUJVSUxERkxBRyhVU0VfU1lTVEVNX0ZSRUVUWVBFKQorKyNpbmNs dWRlICJ0aGlyZF9wYXJ0eS9mcmVldHlwZS9zcmMvc3JjL2F1dG9maXQvYWZ3cy1kZWNsLmgiCisr I2VuZGlmCisrCisgbmFtZXNwYWNlIGJsaW5rIHsKKyAKKyBjb25zdGV4cHIgZmxvYXQga1NtYWxs Q2Fwc0ZvbnRTaXplTXVsdGlwbGllciA9IDAuN2Y7CisgY29uc3RleHByIGZsb2F0IGtFbXBoYXNp c01hcmtGb250U2l6ZU11bHRpcGxpZXIgPSAwLjVmOworKworKyNpZiAhQlVJTERGTEFHKFVTRV9T WVNURU1fRlJFRVRZUEUpCisgY29uc3RleHByIGludDMyX3Qga0ZvbnRPYmplY3RzTWVtb3J5Q29u c3VtcHRpb24gPQorICAgICBzdGQ6Om1heChzaXplb2YoQUZfTGF0aW5NZXRyaWNzUmVjKSwgc2l6 ZW9mKEFGX0NKS01ldHJpY3NSZWMpKTsKKysjZWxzZQorKy8vIHNpemVvZihBRl9MYXRpbk1ldHJp Y3NSZWMpID0gMjEyOAorK2NvbnN0ZXhwciBpbnQzMl90IGtGb250T2JqZWN0c01lbW9yeUNvbnN1 bXB0aW9uID0gMjEyODsKKysjZW5kaWYKKyAKKyBTaW1wbGVGb250RGF0YTo6U2ltcGxlRm9udERh dGEoY29uc3QgRm9udFBsYXRmb3JtRGF0YSYgcGxhdGZvcm1fZGF0YSwKKyAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgc2NvcGVkX3JlZnB0cjxDdXN0b21Gb250RGF0YT4gY3VzdG9tX2Rh dGEsCgpkaWZmIC0tZ2l0IGEvY2hyb21pdW0tMTE4LXdvcmthcm91bmRfY2xhbmdfYnVnLXN0cnVj dHVyZWRfYmluZGluZy5wYXRjaCBiL2Nocm9taXVtLTExOC13b3JrYXJvdW5kX2NsYW5nX2J1Zy1z dHJ1Y3R1cmVkX2JpbmRpbmcucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw MC4uM2I3OWY1MQotLS0gL2Rldi9udWxsCisrKyBiL2Nocm9taXVtLTExOC13b3JrYXJvdW5kX2Ns YW5nX2J1Zy1zdHJ1Y3R1cmVkX2JpbmRpbmcucGF0Y2gKQEAgLTAsMCArMSw5NiBAQAorZGlmZiAt dXAgY2hyb21pdW0tMTE1LjAuNTc5MC4yNC9tZWRpYS9iYXNlL2NkbV9wcm9taXNlX2FkYXB0ZXIu Y2Mud29ya2Fyb3VuZF9jbGFuZ19idWctc3RydWN0dXJlZF9iaW5kaW5nIGNocm9taXVtLTExNS4w LjU3OTAuMjQvbWVkaWEvYmFzZS9jZG1fcHJvbWlzZV9hZGFwdGVyLmNjCistLS0gY2hyb21pdW0t MTE1LjAuNTc5MC4yNC9tZWRpYS9iYXNlL2NkbV9wcm9taXNlX2FkYXB0ZXIuY2Mud29ya2Fyb3Vu ZF9jbGFuZ19idWctc3RydWN0dXJlZF9iaW5kaW5nCTIwMjMtMDYtMDcgMjE6NDg6MzcuMDAwMDAw MDAwICswMjAwCisrKysgY2hyb21pdW0tMTE1LjAuNTc5MC4yNC9tZWRpYS9iYXNlL2NkbV9wcm9t aXNlX2FkYXB0ZXIuY2MJMjAyMy0wNi0xNyAxNjo1MzoyMC4yMTY2Mjg1NTcgKzAyMDAKK0BAIC05 NCw3ICs5NCw5IEBAIHZvaWQgQ2RtUHJvbWlzZUFkYXB0ZXI6OlJlamVjdFByb21pc2UodWkKKyB2 b2lkIENkbVByb21pc2VBZGFwdGVyOjpDbGVhcihDbGVhclJlYXNvbiByZWFzb24pIHsKKyAgIC8v IFJlamVjdCBhbGwgb3V0c3RhbmRpbmcgcHJvbWlzZXMuCisgICBEQ0hFQ0sodGhyZWFkX2NoZWNr ZXJfLkNhbGxlZE9uVmFsaWRUaHJlYWQoKSk7CistICBmb3IgKGF1dG8mIFtwcm9taXNlX2lkLCBw cm9taXNlXSA6IHByb21pc2VzXykgeworKyAgZm9yIChhdXRvJiBbcF9pLCBwX2VdIDogcHJvbWlz ZXNfKSB7CisrICAgIGF1dG8mIHByb21pc2VfaWQgPSBwX2k7CisrICAgIGF1dG8mIHByb21pc2Ug PSBwX2U7CisgICAgIFRSQUNFX0VWRU5UX05FU1RBQkxFX0FTWU5DX0VORDEoCisgICAgICAgICAi bWVkaWEiLCAiQ2RtUHJvbWlzZSIsIFRSQUNFX0lEX1dJVEhfU0NPUEUoIkNkbVByb21pc2UiLCBw cm9taXNlX2lkKSwKKyAgICAgICAgICJzdGF0dXMiLCAiY2xlYXJlZCIpOworZGlmZiAtdXAgY2hy b21pdW0tMTE1LjAuNTc5MC4yNC90aGlyZF9wYXJ0eS9ibGluay9yZW5kZXJlci9jb3JlL2xheW91 dC9uZy9ncmlkL25nX2dyaWRfbGF5b3V0X2FsZ29yaXRobS5jYy53b3JrYXJvdW5kX2NsYW5nX2J1 Zy1zdHJ1Y3R1cmVkX2JpbmRpbmcgY2hyb21pdW0tMTE1LjAuNTc5MC4yNC90aGlyZF9wYXJ0eS9i bGluay9yZW5kZXJlci9jb3JlL2xheW91dC9uZy9ncmlkL25nX2dyaWRfbGF5b3V0X2FsZ29yaXRo bS5jYworLS0tIGNocm9taXVtLTExNS4wLjU3OTAuMjQvdGhpcmRfcGFydHkvYmxpbmsvcmVuZGVy ZXIvY29yZS9sYXlvdXQvbmcvZ3JpZC9uZ19ncmlkX2xheW91dF9hbGdvcml0aG0uY2Mud29ya2Fy b3VuZF9jbGFuZ19idWctc3RydWN0dXJlZF9iaW5kaW5nCTIwMjMtMDYtMDcgMjE6NDg6NDEuMDAw MDAwMDAwICswMjAwCisrKysgY2hyb21pdW0tMTE1LjAuNTc5MC4yNC90aGlyZF9wYXJ0eS9ibGlu ay9yZW5kZXJlci9jb3JlL2xheW91dC9uZy9ncmlkL25nX2dyaWRfbGF5b3V0X2FsZ29yaXRobS5j YwkyMDIzLTA2LTE3IDE4OjQ3OjA2LjAwMTQwMzk2NiArMDIwMAorQEAgLTY1NSw4ICs2NTgsMTAg QEAgTkdHcmlkU2l6aW5nVHJlZSBOR0dyaWRMYXlvdXRBbGdvcml0aG06OgorICAgTkdHcmlkU2l6 aW5nVHJlZSBzaXppbmdfdHJlZTsKKyAKKyAgIGlmIChjb25zdCBhdXRvKiBsYXlvdXRfc3VidHJl ZSA9IENvbnN0cmFpbnRTcGFjZSgpLkdyaWRMYXlvdXRTdWJ0cmVlKCkpIHsKKy0gICAgYXV0byYg W2dyaWRfaXRlbXMsIGxheW91dF9kYXRhLCBzdWJ0cmVlX3NpemVdID0KKy0gICAgICAgIHNpemlu Z190cmVlLkNyZWF0ZVNpemluZ0RhdGEoKTsKKysgICAgYXV0byYgW2dfaSwgbF9kLCBzX3NdID0g c2l6aW5nX3RyZWUuQ3JlYXRlU2l6aW5nRGF0YSgpOworKyAgICBhdXRvJiBncmlkX2l0ZW1zID0g Z19pOworKyAgICBhdXRvJiBsYXlvdXRfZGF0YSA9IGxfZDsKKysgICAgYXV0byYgc3VidHJlZV9z aXplID0gc19zOworIAorICAgICBjb25zdCBhdXRvJiBub2RlID0gTm9kZSgpOworICAgICBncmlk X2l0ZW1zID0KK0BAIC0xNzk4LDggKzE4MDMsMTAgQEAgdm9pZCBOR0dyaWRMYXlvdXRBbGdvcml0 aG06OkNvbXBsZXRlVHJhYworICAgICBib29sKiBvcHRfbmVlZHNfYWRkaXRpb25hbF9wYXNzKSBj b25zdCB7CisgICBEQ0hFQ0soc2l6aW5nX3N1YnRyZWUpOworIAorLSAgYXV0byYgW2dyaWRfaXRl bXMsIGxheW91dF9kYXRhLCBzdWJ0cmVlX3NpemVdID0KKy0gICAgICBzaXppbmdfc3VidHJlZS5T dWJ0cmVlUm9vdERhdGEoKTsKKysgIGF1dG8mIFtnX2ksIGxfZCwgc19zXSA9IHNpemluZ19zdWJ0 cmVlLlN1YnRyZWVSb290RGF0YSgpOworKyAgYXV0byYgZ3JpZF9pdGVtcyA9IGdfaTsKKysgIGF1 dG8mIGxheW91dF9kYXRhID0gbF9kOworKyAgYXV0byYgc3VidHJlZV9zaXplID0gc19zOworIAor ICAgY29uc3QgYm9vbCBpc19mb3JfY29sdW1ucyA9IHRyYWNrX2RpcmVjdGlvbiA9PSBrRm9yQ29s dW1uczsKKyAgIGNvbnN0IGJvb2wgaGFzX25vbl9kZWZpbml0ZV90cmFjayA9CitAQCAtMTkyNCw4 ICsxOTMxLDEwIEBAIHRlbXBsYXRlIDx0eXBlbmFtZSBDYWxsYmFja0Z1bmM+Cisgdm9pZCBOR0dy aWRMYXlvdXRBbGdvcml0aG06OkZvckVhY2hTdWJncmlkKAorICAgICBjb25zdCBOR0dyaWRTaXpp bmdTdWJ0cmVlJiBzaXppbmdfc3VidHJlZSwKKyAgICAgY29uc3QgQ2FsbGJhY2tGdW5jJiBjYWxs YmFja19mdW5jKSBjb25zdCB7CistICBhdXRvJiBbZ3JpZF9pdGVtcywgbGF5b3V0X2RhdGEsIHN1 YnRyZWVfc2l6ZV0gPQorLSAgICAgIHNpemluZ19zdWJ0cmVlLlN1YnRyZWVSb290RGF0YSgpOwor KyAgYXV0byYgW2dfaSwgbF9kLCBzX3NdID0gc2l6aW5nX3N1YnRyZWUuU3VidHJlZVJvb3REYXRh KCk7CisrICBhdXRvJiBncmlkX2l0ZW1zID0gZ19pOworKyAgYXV0byYgbGF5b3V0X2RhdGEgPSBs X2Q7CisrICBhdXRvJiBzdWJ0cmVlX3NpemUgPSBzX3M7CisgCisgICAvLyBJZiB3ZSBrbm93IHRo aXMgc3VidHJlZSBkb2Vzbid0IGhhdmUgbmVzdGVkIHN1YmdyaWRzIHdlIGNhbiBleGl0IGVhcmx5 CisgICAvLyBpbnN0ZWFkIG9mIGl0ZXJhdGluZyBvdmVyIGV2ZXJ5IGdyaWQgaXRlbSBsb29raW5n IGZvciB0aGVtLgorZGlmZiAtdXAgY2hyb21pdW0tMTE1LjAuNTc5MC4zMi9jb250ZW50L2Jyb3dz ZXIvc2VydmljZV93b3JrZXIvc2VydmljZV93b3JrZXJfY29udGV4dF93cmFwcGVyLmNjLm1lIGNo cm9taXVtLTExNS4wLjU3OTAuMzIvY29udGVudC9icm93c2VyL3NlcnZpY2Vfd29ya2VyL3NlcnZp Y2Vfd29ya2VyX2NvbnRleHRfd3JhcHBlci5jYworLS0tIGNocm9taXVtLTExNS4wLjU3OTAuMzIv Y29udGVudC9icm93c2VyL3NlcnZpY2Vfd29ya2VyL3NlcnZpY2Vfd29ya2VyX2NvbnRleHRfd3Jh cHBlci5jYy5tZQkyMDIzLTA2LTE5IDA4OjA0OjAyLjI4NzA3MjcyMiArMDIwMAorKysrIGNocm9t aXVtLTExNS4wLjU3OTAuMzIvY29udGVudC9icm93c2VyL3NlcnZpY2Vfd29ya2VyL3NlcnZpY2Vf d29ya2VyX2NvbnRleHRfd3JhcHBlci5jYwkyMDIzLTA2LTE5IDA4OjE4OjI0LjU3NjgxNDk1MCAr MDIwMAorQEAgLTEzOTMsNyArMTM5Myw4IEBAIHZvaWQgU2VydmljZVdvcmtlckNvbnRleHRXcmFw cGVyOjpNYXliZVAKKyAgICAgcmV0dXJuOworICAgfQorIAorLSAgYXV0byBbZG9jdW1lbnRfdXJs LCBrZXksIGNhbGxiYWNrXSA9IHN0ZDo6bW92ZSgqcmVxdWVzdCk7CisrICBhdXRvIFtkX3UsIGtl eSwgY2FsbGJhY2tdID0gc3RkOjptb3ZlKCpyZXF1ZXN0KTsKKysgIGF1dG8gZG9jdW1lbnRfdXJs ID0gZF91OworIAorICAgRENIRUNLKGRvY3VtZW50X3VybC5pc192YWxpZCgpKTsKKyAgIFRSQUNF X0VWRU5UMSgiU2VydmljZVdvcmtlciIsCitkaWZmIC11cCBjaHJvbWl1bS0xMTcuMC41OTM4LjYy L3RoaXJkX3BhcnR5L2JsaW5rL3JlbmRlcmVyL2NvcmUvbGF5b3V0L25nL2dyaWQvbmdfZ3JpZF9s YXlvdXRfYWxnb3JpdGhtLmNjLm1lIGNocm9taXVtLTExNy4wLjU5MzguNjIvdGhpcmRfcGFydHkv YmxpbmsvcmVuZGVyZXIvY29yZS9sYXlvdXQvbmcvZ3JpZC9uZ19ncmlkX2xheW91dF9hbGdvcml0 aG0uY2MKKy0tLSBjaHJvbWl1bS0xMTcuMC41OTM4LjYyL3RoaXJkX3BhcnR5L2JsaW5rL3JlbmRl cmVyL2NvcmUvbGF5b3V0L25nL2dyaWQvbmdfZ3JpZF9sYXlvdXRfYWxnb3JpdGhtLmNjLm1lCTIw MjMtMDktMTUgMTM6MDM6MDAuNzg3MjU3MDQ4ICswMjAwCisrKysgY2hyb21pdW0tMTE3LjAuNTkz OC42Mi90aGlyZF9wYXJ0eS9ibGluay9yZW5kZXJlci9jb3JlL2xheW91dC9uZy9ncmlkL25nX2dy aWRfbGF5b3V0X2FsZ29yaXRobS5jYwkyMDIzLTA5LTE1IDEzOjE1OjA1LjUwMjcwNjUyMiArMDIw MAorQEAgLTM0MzcsNyArMzQzNywxMCBAQCB2b2lkIE5HR3JpZExheW91dEFsZ29yaXRobTo6UGxh Y2VHcmlkSXRlCisgICBEQ0hFQ0sob3V0X3Jvd19icmVha19iZXR3ZWVuKTsKKyAKKyAgIGNvbnN0 IGF1dG8mIGNvbnRhaW5lcl9zcGFjZSA9IENvbnN0cmFpbnRTcGFjZSgpOworLSAgY29uc3QgYXV0 byYgW2dyaWRfaXRlbXMsIGxheW91dF9kYXRhLCB0cmVlX3NpemVdID0gc2l6aW5nX3RyZWUuVHJl ZVJvb3REYXRhKCk7CisrICBjb25zdCBhdXRvJiBbZ19pLCBsX2QsIHRfc10gPSBzaXppbmdfdHJl ZS5UcmVlUm9vdERhdGEoKTsKKysgIGNvbnN0IGF1dG8mIGdyaWRfaXRlbXMgPSBnX2k7CisrICBj b25zdCBhdXRvJiBsYXlvdXRfZGF0YSA9IGxfZDsKKysgIGNvbnN0IGF1dG8mIHRyZWVfc2l6ZSA9 IHRfczsKKyAKKyAgIGNvbnN0IGF1dG8qIGNhY2hlZF9sYXlvdXRfc3VidHJlZSA9IGNvbnRhaW5l cl9zcGFjZS5HcmlkTGF5b3V0U3VidHJlZSgpOworICAgY29uc3QgYXV0byBjb250YWluZXJfd3Jp dGluZ19kaXJlY3Rpb24gPQorQEAgLTM2MDEsNyArMzYwNCwxMCBAQCB2b2lkIE5HR3JpZExheW91 dEFsZ29yaXRobTo6UGxhY2VHcmlkSXRlCisgCisgICAvLyBUT0RPKGlraWxwYXRyaWNrKTogVXBk YXRlIHxTZXRIYXNTZWVuQWxsQ2hpbGRyZW58IGFuZCBlYXJseSBleGl0IGlmIHRydWUuCisgICBj b25zdCBhdXRvJiBjb25zdHJhaW50X3NwYWNlID0gQ29uc3RyYWludFNwYWNlKCk7CistICBjb25z dCBhdXRvJiBbZ3JpZF9pdGVtcywgbGF5b3V0X2RhdGEsIHRyZWVfc2l6ZV0gPSBzaXppbmdfdHJl ZS5UcmVlUm9vdERhdGEoKTsKKysgIGNvbnN0IGF1dG8mIFtnX2ksIGxfZCwgdF9zXSA9IHNpemlu Z190cmVlLlRyZWVSb290RGF0YSgpOworKyAgY29uc3QgYXV0byYgZ3JpZF9pdGVtcyA9IGdfaTsK KysgIGNvbnN0IGF1dG8mIGxheW91dF9kYXRhID0gbF9kOworKyAgY29uc3QgYXV0byYgdHJlZV9z aXplID10X3M7CisgCisgICBjb25zdCBhdXRvKiBjYWNoZWRfbGF5b3V0X3N1YnRyZWUgPSBjb25z dHJhaW50X3NwYWNlLkdyaWRMYXlvdXRTdWJ0cmVlKCk7CisgICBjb25zdCBhdXRvIGNvbnRhaW5l cl93cml0aW5nX2RpcmVjdGlvbiA9CgpkaWZmIC0tZ2l0IGEvY2hyb21pdW0uc3BlYyBiL2Nocm9t aXVtLnNwZWMKaW5kZXggYzQ4MDk4OC4uNWU5MTEwNyAxMDA2NDQKLS0tIGEvY2hyb21pdW0uc3Bl YworKysgYi9jaHJvbWl1bS5zcGVjCkBAIC0yNDgsNyArMjQ4LDcgQEAKICVlbmRpZgogCiBOYW1l OgljaHJvbWl1bSV7Y2hyb21pdW1fY2hhbm5lbH0KLVZlcnNpb246IDExNy4wLjU5MzguMTQ5CitW ZXJzaW9uOiAxMTguMC41OTkzLjcwCiBSZWxlYXNlOiAxJXs/ZGlzdH0KIFN1bW1hcnk6IEEgV2Vi S2l0IChCbGluaykgcG93ZXJlZCB3ZWIgYnJvd3NlciB0aGF0IEdvb2dsZSBkb2Vzbid0IHdhbnQg eW91IHRvIHVzZQogVXJsOiBodHRwOi8vd3d3LmNocm9taXVtLm9yZy9Ib21lCkBAIC0zMzQsMTEg KzMzNCwxNCBAQCBQYXRjaDEwNjogY2hyb21pdW0tOTguMC40NzU4LjgwLWVwZWw3LWVyYXNlLWZp eC5wYXRjaAogCiAjIEFkZCBhZGRpdGlvbmFsIG9wZXJhdG9yPT0gdG8gbWFrZSBlbDcgaGFwcHku CiBQYXRjaDEwNzogY2hyb21pdW0tOTkuMC40ODQ0LjUxLWVsNy1leHRyYS1vcGVyYXRvci5wYXRj aAorIyBvbGQgdjRsMiBvbiBlbDcKK1BhdGNoMTA4OiBjaHJvbWl1bS0xMTgtZWw3X3Y0bDJfcXVh bnRpemF0aW9uLnBhdGNoIAogIyB3b3JrYXJvdW5kIGZvciBjbGFuZyBidWcgb24gZWw3CiBQYXRj aDEwOTogY2hyb21pdW0tMTE0LXdpcmVsZXNzLWVsNy5wYXRjaAogUGF0Y2gxMTA6IGNocm9taXVt LTExNS1idWlsZGZsYWctZWw3LnBhdGNoCiBQYXRjaDExMTogY2hyb21pdW0tMTE2LWNvbnN0ZXhw ci5wYXRjaAogUGF0Y2gxMTI6IGNocm9taXVtLTExNy1lbDctZGVmYXVsdF9jb25zdHJ1Y3Rvci5w YXRjaAorUGF0Y2gxMTM6IGNocm9taXVtLTExOC1kbWFfYnVmX2V4cG9ydF9zeW5jX2ZpbGUtY29u ZmxpY3QucGF0Y2gKIAogIyBzeXN0ZW0gZmZtcGVnCiBQYXRjaDExNDogY2hyb21pdW0tMTA3LWZm bXBlZy1kdXJhdGlvbi5wYXRjaApAQCAtMzUxLDM4ICszNTQsMzIgQEAgUGF0Y2gxMTc6IGNocm9t aXVtLTEwOC1mZm1wZWctcmV2ZXJ0LW5ldy1jaGFubmVsLWxheW91dC1hcGkucGF0Y2gKICMgcmV2 ZXJ0IEFWMSBWQUFQSSB2aWRlbyBlbmNvZGUgZHVlIHRvIG9sZCBsaWJ2YSBvbiBlbDkKIFBhdGNo MTMwOiBjaHJvbWl1bS0xMTQtcmV2ZXJ0LWF2MWVuYy1lbDkucGF0Y2gKIAotIyBmaXhlcyBmb3Ig b2xkIGNsYW5nIHZlcnNpb24gaW4gZmVkb3JhIDwgMzggZW5kIGVwZWwKKyMgZml4ZXMgZm9yIG9s ZCBjbGFuZyB2ZXJzaW9uIGluIGZlZG9yYSA8IDM4IGVuZCBlcGVsIChvbGQgY2xhbmcgPD0gMTUp CiAjIGNvbXBpbGVyIGJ1aWxkIGVycm9ycywgbm8gbWF0Y2hpbmcgY29uc3RydWN0b3IgZm9yIGlu aXRpYWxpemF0aW9uCi1QYXRjaDMwMDogY2hyb21pdW0tMTE3LW5vX21hdGNoaW5nX2NvbnN0cnVj dG9yLnBhdGNoCitQYXRjaDMwMDogY2hyb21pdW0tMTE4LW5vX21hdGNoaW5nX2NvbnN0cnVjdG9y LnBhdGNoCiBQYXRjaDMwMTogY2hyb21pdW0tMTE1LWNvbXBpbGVyLVNrQ29sb3I0Zi5wYXRjaAog CiAjIHdvcmthcm91bmQgZm9yIGNsYW5nIGJ1ZywgaHR0cHM6Ly9naXRodWIuY29tL2xsdm0vbGx2 bS1wcm9qZWN0L2lzc3Vlcy81NzgyNgotUGF0Y2gzMDI6IGNocm9taXVtLTExNy13b3JrYXJvdW5k X2NsYW5nX2J1Zy1zdHJ1Y3R1cmVkX2JpbmRpbmcucGF0Y2gKK1BhdGNoMzAyOiBjaHJvbWl1bS0x MTgtd29ya2Fyb3VuZF9jbGFuZ19idWctc3RydWN0dXJlZF9iaW5kaW5nLnBhdGNoCiAKICMgbWlz c2luZyB0eXBlbmFtZQogUGF0Y2gzMDM6IGNocm9taXVtLTExNy10eXBlbmFtZS5wYXRjaAogCi0j IGNvbXBpbGVyIGVycm9yIHdpdGggYysrMjAKLVBhdGNoMzA0OiBjaHJvbWl1bS0xMTctZW1wbGFj ZV9iYWNrX29uX3ZlY3Rvci1jKysyMC5wYXRjaAotCiAjIGVycm9yOiBpbnZhbGlkIG9wZXJhbmRz IHRvIGJpbmFyeSBleHByZXNzaW9uCi1QYXRjaDMwNTogY2hyb21pdW0tMTE3LXN0cmluZy1jb252 ZXJ0LnBhdGNoCitQYXRjaDMwNDogY2hyb21pdW0tMTE3LXN0cmluZy1jb252ZXJ0LnBhdGNoCiAK ICMgZGlzYWJsZSBtZW1vcnkgdGFnZ2luZyBpbiBlcGVsNyBhbmQgZXBlbDggb24gYWFyY2g2NCBk dWUgdG8gbmV3IGZlYXR1cmUgSUZVTkMtUmVzb2x2ZXIKICMgbm90IHN1cHBvcnRlZCBpbiBvbGQg Z2xpYmMgPCAyLjMwLCBlcnJvcjogZmF0YWwgZXJyb3I6ICdzeXMvaWZ1bmMuaCcgZmlsZSBub3Qg Zm91bmQKLVBhdGNoMzA2OiBjaHJvbWl1bS0xMTYtYXJtNjQtbWVtb3J5X3RhZ2dpbmcucGF0Y2gK K1BhdGNoMzA2OiBjaHJvbWl1bS0xMTgtYXJtNjQtbWVtb3J5X3RhZ2dpbmcucGF0Y2gKIAogIyBt aXNzaW5nIGluY2x1ZGUgaGVhZGVyIGZpbGVzCi1QYXRjaDMxMDogY2hyb21pdW0tMTE3LW1pc3Np bmctaGVhZGVyLWZpbGVzLnBhdGNoCitQYXRjaDMxMDogY2hyb21pdW0tMTE4LW1pc3NpbmctaGVh ZGVyLWZpbGVzLnBhdGNoCiAKICMgY2xhbmcgd2FybmluZ3MKIFBhdGNoMzExOiBjaHJvbWl1bS0x MTUtY2xhbmctd2FybmluZ3MucGF0Y2gKIAogIyBpbXAgbW9kdWxlIGlzIHJlbW92ZWQgaW4gcHl0 aG9uLTMuMTIgaW4gZmVkb3JhIDM5IGFuZCBuZXdlcgotUGF0Y2gzMTI6IGNocm9taXVtLTExNy1w eXRob24tMy4xMi1kZXByZWNhdGVkLnBhdGNoCi0KLSMgVHdlYWsgYWJvdXQ6Z3B1LCBBZGQgZGFy ayBtb2RlIHN1cHBvcnQKLVBhdGNoMzUwOiBjaHJvbWl1bS0xMTYtdHdlYWtfYWJvdXRfZ3B1LnBh dGNoCitQYXRjaDMxMjogY2hyb21pdW0tMTE4LXB5dGhvbi0zLjEyLWRlcHJlY2F0ZWQucGF0Y2gK IAogIyBidWlsZCBlcnJvcgogUGF0Y2gzNTE6IGNocm9taXVtLTExNy1tbmVtb25pYy1lcnJvci5w YXRjaApAQCAtMzk0LDYgKzM5MSw3IEBAIFBhdGNoMzUyOiBjaHJvbWl1bS0xMTctd29ya2Fyb3Vu ZF9mb3JfY3Jhc2hfb25fQlRJX2NhcGFibGVfc3lzdGVtLnBhdGNoCiAKICMgdXBzdHJlYW0gcGF0 Y2hlcwogUGF0Y2g0MDA6IGNocm9taXVtLTExNy1tZW1vcnlfbGVha19pbl94c2VydmVyLnBhdGNo CitQYXRjaDQwMTogY2hyb21pdW0tMTE4LXVzZV9zeXN0ZW1fZnJlZXR5cGUucGF0Y2gKIAogIyBV c2UgY2hyb21pdW0tbGF0ZXN0LnB5IHRvIGdlbmVyYXRlIGNsZWFuIHRhcmJhbGwgZnJvbSByZWxl YXNlZCBidWlsZCB0YXJiYWxscywgZm91bmQgaGVyZToKICMgaHR0cDovL2J1aWxkLmNocm9taXVt Lm9yZy9idWlsZGJvdC9vZmZpY2lhbC8KQEAgLTk3MCwxMiArOTY4LDE3IEBAIHVkZXYuCiAlcGF0 Y2ggLVAxMDUgLXAxIC1iIC5lbDctb2xkLWxpYmRybQogJXBhdGNoIC1QMTA2IC1wMSAtYiAuZWw3 LWVyYXNlLWZpeAogJXBhdGNoIC1QMTA3IC1wMSAtYiAuZWw3LWV4dHJhLW9wZXJhdG9yLWVxdWFs ZXF1YWwKKyVwYXRjaCAtUDEwOCAtcDEgLWIgLmVsN192NGwyX3F1YW50aXphdGlvbgogJXBhdGNo IC1QMTA5IC1wMSAtYiAud2lyZWxlc3MKICVwYXRjaCAtUDExMCAtcDEgLWIgLmJ1aWxkZmxhZy1l bDcKICVwYXRjaCAtUDExMSAtcDEgLWIgLmNvbnN0ZXhwcgogJXBhdGNoIC1QMTEyIC1wMSAtYiAu ZGVmYXVsdF9jb25zdHJ1Y3RvcgogJWVuZGlmCiAKKyVpZiAwJXs/cmhlbH0gPT0gOCB8fCAwJXs/ cmhlbH0gPT0gOQorJXBhdGNoIC1QMTEzIC1wMSAtYiAuZG1hX2J1Zl9leHBvcnRfc3luY19maWxl LWNvbmZsaWN0CislZW5kaWYKKwogJWlmIDAlez9yaGVsfSA9PSA5CiAlcGF0Y2ggLVAxMzAgLXAx IC1iIC5yZXZlcnQtYXYxZW5jCiAlZW5kaWYKQEAgLTk4Niw4ICs5ODksNyBAQCB1ZGV2LgogJXBh dGNoIC1QMzAxIC1wMSAtYiAud29ya2Fyb3VuZF9jbGFuZy1Ta0NvbG9yNGYKICVwYXRjaCAtUDMw MiAtcDEgLWIgLndvcmthcm91bmRfY2xhbmdfYnVnLXN0cnVjdHVyZWRfYmluZGluZwogJXBhdGNo IC1QMzAzIC1wMSAtYiAudHlwZW5hbWUKLSVwYXRjaCAtUDMwNCAtcDEgLWIgLmVtcGxhY2VfYmFj a19vbl92ZWN0b3ItYysrMjAKLSVwYXRjaCAtUDMwNSAtcDEgLWIgLnN0cmluZy1jb252ZXJ0Cisl cGF0Y2ggLVAzMDQgLXAxIC1iIC5zdHJpbmctY29udmVydAogJWVuZGlmCiAlZW5kaWYKIApAQCAt MTAwNCw3ICsxMDA2LDYgQEAgdWRldi4KICVwYXRjaCAtUDMxMiAtcDEgLWIgLnB5dGhvbi0zLjEy LWRlcHJlY2F0ZWQKICVlbmRpZgogCi0lcGF0Y2ggLVAzNTAgLXAxIC1iIC50d2Vha19hYm91dF9n cHUKICVwYXRjaCAtUDM1MSAtcDEgLWIgLm1uZW1vbmljLWVycm9yCiAKICVpZiAle2Rpc2FibGVf YnRpfQpAQCAtMTAxMiw2ICsxMDEzLDcgQEAgdWRldi4KICVlbmRpZgogCiAlcGF0Y2ggLVA0MDAg LXAxIC1iIC5tZW1vcnlfbGVha19pbl94c2VydmVyCislcGF0Y2ggLVA0MDEgLXAxIC1iIC51c2Vf c3lzdGVtX2ZyZWV0eXBlCiAKICMgQ2hhbmdlIHNoZWJhbmcgaW4gYWxsIHJlbGV2YW50IGZpbGVz IGluIHRoaXMgZGlyZWN0b3J5IGFuZCBhbGwgc3ViZGlyZWN0b3JpZXMKICMgU2VlIGBtYW4gZmlu ZGAgZm9yIGhvdyB0aGUgYC1leGVjIGNvbW1hbmQge30gK2Agc3ludGF4IHdvcmtzCkBAIC0xNzAy LDYgKzE3MDQsMjcgQEAgZ2V0ZW50IGdyb3VwIGNocm9tZS1yZW1vdGUtZGVza3RvcCA+L2Rldi9u dWxsIHx8IGdyb3VwYWRkIC1yIGNocm9tZS1yZW1vdGUtZGVza3QKICV7Y2hyb21pdW1fcGF0aH0v Y2hyb21lZHJpdmVyCiAKICVjaGFuZ2Vsb2cKKyogV2VkIE9jdCAxMSAyMDIzIFRoYW4gTmdvIDx0 aGFuQHJlZGhhdC5jb20+IC0gMTE4LjAuNTk5My43MC0xCistIHVwZGF0ZSB0byAxMTguMC41OTkz LjcwCisgICAgLSBDVkUtMjAyMy01MjE4OiBVc2UgYWZ0ZXIgZnJlZSBpbiBTaXRlIElzb2xhdGlv bi4KKyAgICAtIENWRS0yMDIzLTU0ODc6IEluYXBwcm9wcmlhdGUgaW1wbGVtZW50YXRpb24gaW4g RnVsbHNjcmVlbi4KKyAgICAtIENWRS0yMDIzLTU0ODQ6IEluYXBwcm9wcmlhdGUgaW1wbGVtZW50 YXRpb24gaW4gTmF2aWdhdGlvbi4KKyAgICAtIENWRS0yMDIzLTU0NzU6IEluYXBwcm9wcmlhdGUg aW1wbGVtZW50YXRpb24gaW4gRGV2VG9vbHMuCisgICAgLSBDVkUtMjAyMy01NDgzOiBJbmFwcHJv cHJpYXRlIGltcGxlbWVudGF0aW9uIGluIEludGVudHMuCisgICAgLSBDVkUtMjAyMy01NDgxOiBJ bmFwcHJvcHJpYXRlIGltcGxlbWVudGF0aW9uIGluIERvd25sb2Fkcy4KKyAgICAtIENWRS0yMDIz LTU0NzY6IFVzZSBhZnRlciBmcmVlIGluIEJsaW5rIEhpc3RvcnkuCisgICAgLSBDVkUtMjAyMy01 NDc0OiBIZWFwIGJ1ZmZlciBvdmVyZmxvdyBpbiBQREYuCisgICAgLSBDVkUtMjAyMy01NDc5OiBJ bmFwcHJvcHJpYXRlIGltcGxlbWVudGF0aW9uIGluIEV4dGVuc2lvbnMgQVBJLgorICAgIC0gQ1ZF LTIwMjMtNTQ4NTogSW5hcHByb3ByaWF0ZSBpbXBsZW1lbnRhdGlvbiBpbiBBdXRvZmlsbC4KKyAg ICAtIENWRS0yMDIzLTU0Nzg6IEluYXBwcm9wcmlhdGUgaW1wbGVtZW50YXRpb24gaW4gQXV0b2Zp bGwuCisgICAgLSBDVkUtMjAyMy01NDc3OiBJbmFwcHJvcHJpYXRlIGltcGxlbWVudGF0aW9uIGlu IEluc3RhbGxlci4KKyAgICAtIENWRS0yMDIzLTU0ODY6IEluYXBwcm9wcmlhdGUgaW1wbGVtZW50 YXRpb24gaW4gSW5wdXQuCisgICAgLSBDVkUtMjAyMy01NDczOiBVc2UgYWZ0ZXIgZnJlZSBpbiBD YXN0LgorCisqIFNhdCBPY3QgMDcgMjAyMyBUaGFuIE5nbyA8dGhhbkByZWRoYXQuY29tPiAtIDEx OC4wLjU5OTMuNTQtMQorLSB1cGRhdGUgdG8gMTE4LjAuNTk5My41NAorLSBkcm9wIHVzZV9nbm9t ZV9rZXlyaW5nIGFzIGl0J3MgcmVtb3ZlZCBieSB1cHN0cmVhbQorCiAqIFRodSBPY3QgMDUgMjAy MyBUaGFuIE5nbyA8dGhhbkByZWRoYXQuY29tPiAtIDExNy4wLjU5MzguMTQ5LTEKIC0gdXBkYXRl IHRvIDExNy4wLjU5MzguMTQ5CiAtIGZpeCBDVkUtMjAyMy01MzQ2OiBUeXBlIENvbmZ1c2lvbiBp biBWOAoKZGlmZiAtLWdpdCBhL3NvdXJjZXMgYi9zb3VyY2VzCmluZGV4IDEzNWU1ZjMuLjZmYzY1 Y2QgMTAwNjQ0Ci0tLSBhL3NvdXJjZXMKKysrIGIvc291cmNlcwpAQCAtMiw0ICsyLDQgQEAgU0hB NTEyIChub2RlLXYyMC42LjEtbGludXgtYXJtNjQudGFyLnh6KSA9IGFkZmNhZjJjMjI2MTQ3OTdm ZDY5ZmI0NmQ5NGMxY2JmNjRkZWEKIFNIQTUxMiAobm9kZS12MjAuNi4xLWxpbnV4LXg2NC50YXIu eHopID0gN2UxNWMwNTA0MWE5YTUwZjAwNDYyNjZhYWRiMmUwOTJhNWFlZmJlYzE5YmUxYzdjODA5 NDcxYWRkNTIwY2I1N2M3ZGYzYzQ3ZDg4YjE4ODhiMjliZjI5NzlkY2EzYzkyYWRkZGZkOTY1Mzcw ZmEyYTlkYTRlYTAyMTg2NDY0ZmQKIFNIQTUxMiAobGludXgtYXJtNjQtMC4xOS4yLnRneikgPSA4 YTBkOGZlYzY3ODZmZmZjZDY5NTRkMDA4MjAwMzdhNTVkNjFlNjA3NjJjNzQzMDBkZjA4MDFmOGRi MjcwNTc1NjJjMjIxYTA2M2JlZGZiOGRmNTZhZjliYTgwYWJiMzY2MzM2OTg3ZTg4MTc4MmM1OTk2 ZTZmODcxYWJkM2RjNgogU0hBNTEyIChsaW51eC14NjQtMC4xOS4yLnRneikgPSBhMzFjYzc0YzRi ZmE1NGY5Yjc1ZDczNWExY2ZjOTQ0ZDNiNWVmYjdjMDZiZmJhOTU0MmRhOWE2NDJhZTBiMmQyMzVl YTAwYWU4NGQzYWQwNTcyYzQwNjQwNTExMGZlN2I2MTM3N2FmMGZkMTU4MDM4MDZlZjc4ZDIwZmM2 ZjA1ZAotU0hBNTEyIChjaHJvbWl1bS0xMTcuMC41OTM4LjE0OS1jbGVhbi50YXIueHopID0gYTA1 OTY4ZWMwOWQ1NTFlMGYwZWY2YTFjMjIxOTAxYWQ5NWY3ODc3MmExZGUwMGIwYmY2ZWNiNTNjN2Mw ZmZmNmIwNmM5ZWMyOWZiNWJmNmExNjBhMDA1NzZiNTEyZDRkY2NlMTYzYjM5MGNhNTQ0NGRiODRh MTk1NWY4NWJmNzYKK1NIQTUxMiAoY2hyb21pdW0tMTE4LjAuNTk5My43MC1jbGVhbi50YXIueHop ID0gMDYzMzhkZWY2N2E4ZDQwZmU0ZTg3YTA4YTUzNzk2OGFiZTlhZDFjYjc5NTEyZmVhNTU3NTgy MjEzOGZmZjgzYTQ3YzlkOGQ2MDE4ODViZWM0ZmE2NjE5Y2ExNWI4ZjliNjNlZDcwOWRjODBlYWQ4 YWIyYThlNDNiMmFkYzYxY2EK