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: Jan Grulich To: git-commits@fedoraproject.org Subject: [rpms/kdevelop-python] f43: Rebase python-3.8 patch Date: Sat, 04 Jul 2026 11:13:48 GMT Message-ID: <178316362804.1.15094304108253186381.rpms-kdevelop-python-289d49b3dfb0@fedoraproject.org> List-ID: X-Git-Repo: rpms/kdevelop-python X-Git-Branch: f43 X-Git-Rev: 289d49b3dfb0bd17b579a7fa528907d924ec8e77 QSBuZXcgY29tbWl0IGhhcyBiZWVuIHB1c2hlZC4KClJlcG8gICA6IHJwbXMva2RldmVsb3AtcHl0 aG9uCkJyYW5jaCA6IGY0MwpDb21taXQgOiAyODlkNDliM2RmYjBiZDE3YjU3OWE3ZmE1Mjg5MDdk OTI0ZWM4ZTc3CkF1dGhvciA6IEphbiBHcnVsaWNoIDxqZ3J1bGljaEByZWRoYXQuY29tPgpEYXRl ICAgOiAyMDE5LTEwLTI0VDA4OjAwOjA2KzAyOjAwClN0YXRzICA6ICsyNTcvLTg0IGluIDEgZmls ZShzKQpVUkwgICAgOiBodHRwczovL3NyYy5mZWRvcmFwcm9qZWN0Lm9yZy9ycG1zL2tkZXZlbG9w LXB5dGhvbi9jLzI4OWQ0OWIzZGZiMGJkMTdiNTc5YTdmYTUyODkwN2Q5MjRlYzhlNzc/YnJhbmNo PWY0MwoKTG9nOgpSZWJhc2UgcHl0aG9uLTMuOCBwYXRjaAoKLS0tCmRpZmYgLS1naXQgYS9rZGV2 LXB5dGhvbi1weXRob24zOC5wYXRjaCBiL2tkZXYtcHl0aG9uLXB5dGhvbjM4LnBhdGNoCmluZGV4 IDdlMWMzMWMuLjY4MmY4MzYgMTAwNjQ0Ci0tLSBhL2tkZXYtcHl0aG9uLXB5dGhvbjM4LnBhdGNo CisrKyBiL2tkZXYtcHl0aG9uLXB5dGhvbjM4LnBhdGNoCkBAIC0xLDkgKzEsOSBAQAogZGlmZiAt LWdpdCBhL0NNYWtlTGlzdHMudHh0IGIvQ01ha2VMaXN0cy50eHQKLWluZGV4IDZmOWU0NjViYTRi NTM0MTc4MjFhZjA0MjJhMjBmYTZlMjkyODU0MzQuLjA5YjA4OWRkNjk0ZmVjMThlNTU3ZDJlMWUx MTBlZGMxNTI3Y2U3OTYgMTAwNjQ0CitpbmRleCA4NGVhMTMwLi41Mzc5NTE4IDEwMDY0NAogLS0t IGEvQ01ha2VMaXN0cy50eHQKICsrKyBiL0NNYWtlTGlzdHMudHh0CiBAQCAtMzEsNyArMzEsNyBA QCBhZGRfZGVmaW5pdGlvbnMoIC1EVFJBTlNMQVRJT05fRE9NQUlOPVwia2RldnB5dGhvblwiICkK LQorIAogICMgQ01ha2UgbG9va3MgZm9yIGV4YWN0bHkgdGhlIHNwZWNpZmllZCB2ZXJzaW9uIGZp cnN0IGFuZCBpZ25vcmVzIG5ld2VyIHZlcnNpb25zLgogICMgVG8gYXZvaWQgdGhhdCwgc3RhcnQg bG9va2luZyBmb3IgdGhlIG5ld2VzdCBzdXBwb3J0ZWQgdmVyc2lvbiBhbmQgd29yayBkb3duLgog LXNldChQeXRob25fQURESVRJT05BTF9WRVJTSU9OUyAzLjcgMy42IDMuNSAzLjQpCkBAIC0xMywy MSArMTMsMjEgQEAgaW5kZXggNmY5ZTQ2NWJhNGI1MzQxNzgyMWFmMDQyMmEyMGZhNmUyOTI4NTQz NC4uMDliMDg5ZGQ2OTRmZWMxOGU1NTdkMmUxZTExMGVkYzEKICAgICAgaWYgKCBQWVRIT05JTlRF UlBfRk9VTkQgKQogQEAgLTQ5LDcgKzQ5LDcgQEAgaWYgKCBQWVRIT05JTlRFUlBfRk9VTkQgQU5E IFBZVEhPTl9WRVJTSU9OX1NUUklORyBWRVJTSU9OX0dSRUFURVIgIjMuNCIgKQogIGVuZGlmKCkK LQorIAogIGlmICggTk9UIFBZVEhPTkxJQlNfRk9VTkQgT1IgUFlUSE9OTElCU19WRVJTSU9OX1NU UklORyBWRVJTSU9OX0xFU1MgIjMuNC4zIiApCiAtICAgIG1lc3NhZ2UoRkFUQUxfRVJST1IgIlB5 dGhvbiA+PSAzLjQuMyBidXQgPCAzLjggd2l0aCAtLWVuYWJsZS1zaGFyZWQgaXMgcmVxdWlyZWQg dG8gYnVpbGQga2Rldi1weXRob24iKQogKyAgICBtZXNzYWdlKEZBVEFMX0VSUk9SICJQeXRob24g Pj0gMy40LjMgYnV0IDwgMy45IHdpdGggLS1lbmFibGUtc2hhcmVkIGlzIHJlcXVpcmVkIHRvIGJ1 aWxkIGtkZXYtcHl0aG9uIikKICBlbmRpZigpCi0KKyAKICBjb25maWd1cmVfZmlsZShrZGV2cHl0 aG9udmVyc2lvbi5oLmNtYWtlICIke0NNQUtFX0NVUlJFTlRfQklOQVJZX0RJUn0va2RldnB5dGhv bnZlcnNpb24uaCIgQE9OTFkpCiBkaWZmIC0tZ2l0IGEvZHVjaGFpbi9kZWNsYXJhdGlvbmJ1aWxk ZXIuY3BwIGIvZHVjaGFpbi9kZWNsYXJhdGlvbmJ1aWxkZXIuY3BwCi1pbmRleCBlM2NiMmI5YzVj ODQyM2Y0MjhkZmU0MjBhNmI2OTI2NzQ1YjRmY2M4Li42MWUxNDRjNTk2NmQzMjhkMjg5ZjEyY2Jh OTllYTllMjY4ZTg0MzBmIDEwMDY0NAoraW5kZXggZTNjYjJiOS4uNjFlMTQ0YyAxMDA2NDQKIC0t LSBhL2R1Y2hhaW4vZGVjbGFyYXRpb25idWlsZGVyLmNwcAogKysrIGIvZHVjaGFpbi9kZWNsYXJh dGlvbmJ1aWxkZXIuY3BwCiBAQCAtMTM1NCw2ICsxMzU0LDE0IEBAIHZvaWQgRGVjbGFyYXRpb25C dWlsZGVyOjp2aXNpdEFubm90YXRpb25Bc3NpZ25tZW50KEFubm90YXRpb25Bc3NpZ25tZW50QXN0 KiBub2RlCiAgICAgIGFzc2lnblRvVW5rbm93bihub2RlLT50YXJnZXQsIGFzc2lnblR5cGUpOwog IH0KLQorIAogK3ZvaWQgRGVjbGFyYXRpb25CdWlsZGVyOjp2aXNpdEFzc2lnbm1lbnRFeHByZXNz aW9uKEFzc2lnbm1lbnRFeHByZXNzaW9uQXN0KiBub2RlKSB7CiArICAgIEFzdERlZmF1bHRWaXNp dG9yOjp2aXNpdEFzc2lnbm1lbnRFeHByZXNzaW9uKG5vZGUpOwogKwpAQCAtNDksNyArNDksNyBA QCBpbmRleCBlM2NiMmI5YzVjODQyM2Y0MjhkZmU0MjBhNmI2OTI2NzQ1YjRmY2M4Li42MWUxNDRj NTk2NmQzMjhkMjg5ZjEyY2JhOTllYTllMgogICAgICAgICAgLy8gdG8gdGhlIGZ1bmN0aW9ucyBG dW5jdGlvblR5cGUuCiAgICAgICAgICBjdXJyZW50SW5kZXggKz0gMTsKIGRpZmYgLS1naXQgYS9k dWNoYWluL2RlY2xhcmF0aW9uYnVpbGRlci5oIGIvZHVjaGFpbi9kZWNsYXJhdGlvbmJ1aWxkZXIu aAotaW5kZXggYWRlZTZkNmQ1NTJhYTAzODA5MTBlNGY2ZmIyNmI3NjA3MDRmZWI1MC4uMTk5MmI3 ODE1ZWJjNDAxMGU5ZDM1MjMxYTUzODc5NDQ5MDkwNmVjYiAxMDA2NDQKK2luZGV4IGFkZWU2ZDYu LjE5OTJiNzggMTAwNjQ0CiAtLS0gYS9kdWNoYWluL2RlY2xhcmF0aW9uYnVpbGRlci5oCiArKysg Yi9kdWNoYWluL2RlY2xhcmF0aW9uYnVpbGRlci5oCiBAQCAtOTAsNiArOTAsNyBAQCBwcm90ZWN0 ZWQ6CkBAIC02MSwyMSArNjEsMjEgQEAgaW5kZXggYWRlZTZkNmQ1NTJhYTAzODA5MTBlNGY2ZmIy NmI3NjA3MDRmZWI1MC4uMTk5MmI3ODE1ZWJjNDAxMGU5ZDM1MjMxYTUzODc5NDQKICAgICAgdm9p ZCB2aXNpdEltcG9ydChJbXBvcnRBc3QqIG5vZGUpIG92ZXJyaWRlOwogICAgICB2b2lkIHZpc2l0 SW1wb3J0RnJvbShJbXBvcnRGcm9tQXN0KiBub2RlKSBvdmVycmlkZTsKIGRpZmYgLS1naXQgYS9k dWNoYWluL2V4cHJlc3Npb252aXNpdG9yLmNwcCBiL2R1Y2hhaW4vZXhwcmVzc2lvbnZpc2l0b3Iu Y3BwCi1pbmRleCA1YzUyODZhZWI3NmYyMDI2M2VkNThiNDQ1OGJkYzZhNTk2M2ZmNWM4Li4wNTVj NWI0OTg2NDdhMDY2M2M3NTIwZjhiNTM4ZGQ3MmI1NTM2ZWM5IDEwMDY0NAoraW5kZXggNWM1Mjg2 YS4uMDU1YzViNCAxMDA2NDQKIC0tLSBhL2R1Y2hhaW4vZXhwcmVzc2lvbnZpc2l0b3IuY3BwCiAr KysgYi9kdWNoYWluL2V4cHJlc3Npb252aXNpdG9yLmNwcAogQEAgLTc1Nyw1ICs3NTcsOSBAQCB2 b2lkIEV4cHJlc3Npb25WaXNpdG9yOjp2aXNpdEJvb2xlYW5PcGVyYXRpb24oUHl0aG9uOjpCb29s ZWFuT3BlcmF0aW9uQXN0KiBub2RlKQogICAgICBlbmNvdW50ZXIocmVzdWx0KTsKICB9Ci0KKyAK ICt2b2lkIEV4cHJlc3Npb25WaXNpdG9yOjp2aXNpdEFzc2lnbm1lbnRFeHByZXNzaW9uKFB5dGhv bjo6QXNzaWdubWVudEV4cHJlc3Npb25Bc3QqIG5vZGUpIHsKICsgICAgdmlzaXROb2RlKG5vZGUt PnZhbHVlKTsKICt9CiArCiAgfQotCisgCiBkaWZmIC0tZ2l0IGEvZHVjaGFpbi9leHByZXNzaW9u dmlzaXRvci5oIGIvZHVjaGFpbi9leHByZXNzaW9udmlzaXRvci5oCi1pbmRleCAyNWNhMjMxOTM4 ZDQ2MDM3MGVhNTkxZWFjNzI0OWUwOThiMzEzODZkLi5hNTY0ODFhZDM3YmY5M2U5N2EzMmVmODk5 OTE2ZDAzYjBjYmZjMmVmIDEwMDY0NAoraW5kZXggMjVjYTIzMS4uYTU2NDgxYSAxMDA2NDQKIC0t LSBhL2R1Y2hhaW4vZXhwcmVzc2lvbnZpc2l0b3IuaAogKysrIGIvZHVjaGFpbi9leHByZXNzaW9u dmlzaXRvci5oCiBAQCAtODEsNiArODEsNyBAQCBwdWJsaWM6CkBAIC04MywxMSArODMsMTEgQEAg aW5kZXggMjVjYTIzMTkzOGQ0NjAzNzBlYTU5MWVhYzcyNDllMDk4YjMxMzg2ZC4uYTU2NDgxYWQz N2JmOTNlOTdhMzJlZjg5OTkxNmQwM2IKICAgICAgdm9pZCB2aXNpdElmRXhwcmVzc2lvbihJZkV4 cHJlc3Npb25Bc3QqIG5vZGUpIG92ZXJyaWRlOwogICAgICB2b2lkIHZpc2l0TmFtZUNvbnN0YW50 KE5hbWVDb25zdGFudEFzdCogbm9kZSkgb3ZlcnJpZGU7CiArICAgIHZvaWQgdmlzaXRBc3NpZ25t ZW50RXhwcmVzc2lvbihBc3NpZ25tZW50RXhwcmVzc2lvbkFzdCogbm9kZSkgb3ZlcnJpZGU7Ci0K KyAKICAgICAgLyoqCiAgICAgICAqIEBicmllZiBDaGVja3MgZm9yIG1hZ2ljIGRvY3N0cmluZ3Mg dGhhdCBvdmVycmlkZSBhIGNhbGwncyByZXR1cm4gdHlwZS4KIGRpZmYgLS1naXQgYS9kdWNoYWlu L3Rlc3RzL3B5ZHVjaGFpbnRlc3QuY3BwIGIvZHVjaGFpbi90ZXN0cy9weWR1Y2hhaW50ZXN0LmNw cAotaW5kZXggNzE0MmVkMmIyMDI2Yjk5ZTQ0Mzg2YzQ3NTg5YWYwNjNkYWUwMzE3Mi4uMTdiYTM0 ZTUzNjYyZWFhOTYxYzU0YjU1NmFkY2UxZGM3NDk3NzJjMiAxMDA2NDQKK2luZGV4IDcxNDJlZDIu LjE3YmEzNGUgMTAwNjQ0CiAtLS0gYS9kdWNoYWluL3Rlc3RzL3B5ZHVjaGFpbnRlc3QuY3BwCiAr KysgYi9kdWNoYWluL3Rlc3RzL3B5ZHVjaGFpbnRlc3QuY3BwCiBAQCAtODM4LDYgKzgzOCw3IEBA IHZvaWQgUHlEVUNoYWluVGVzdDo6dGVzdFR5cGVzKCkKQEAgLTk3LDcgKzk3LDcgQEAgaW5kZXgg NzE0MmVkMmIyMDI2Yjk5ZTQ0Mzg2YzQ3NTg5YWYwNjNkYWUwMzE3Mi4uMTdiYTM0ZTUzNjYyZWFh OTYxYzU0YjU1NmFkY2UxZGMKICsgICAgUUVYUEVDVF9GQUlMKCJhc3NpZ25tZW50X2V4cHJfY29u dGV4dCIsICJub3QgaW1wbGVtZW50ZWQiLCBDb250aW51ZSk7CiAgICAgIFFDT01QQVJFKHZpc2l0 b3ItPmZvdW5kLCB0cnVlKTsKICB9Ci0KKyAKIEBAIC0xMzAyLDYgKzEzMDMsMjEgQEAgdm9pZCBQ eURVQ2hhaW5UZXN0Ojp0ZXN0VHlwZXNfZGF0YSgpCiAgICAgICAgICAiICAgICAgICBkZWYgZm9v KHNlbGYsIGNjYz1hYWEsIGRkZD1iYmIpOlxuIiAvLyBzZWxmLmJiYiBpcyB2aXNpYmxlIGhlcmUs IEZvbygpLmFhYSBpc24ndC4KICAgICAgICAgICIgICAgICAgICAgICByZXR1cm4gY2NjLCBkZGRc biIKQEAgLTExOCw3ICsxMTgsNyBAQCBpbmRleCA3MTQyZWQyYjIwMjZiOTllNDQzODZjNDc1ODlh ZjA2M2RhZTAzMTcyLi4xN2JhMzRlNTM2NjJlYWE5NjFjNTRiNTU2YWRjZTFkYwogKyAgICAiY2hl Y2ttZSA9IGZvbygxMCwgJ3gnLCAyLjMsIGQ9J3knKVxuIiA8PCAidHVwbGUgb2YgKGludCwgc3Ry LCBmbG9hdCwgc3RyKSI7CiArI2VuZGlmCiAgfQotCisgCiAgdHlwZWRlZiBRUGFpcjxEZWNsYXJh dGlvbiosIGludD4gcGFpcjsKIEBAIC0xNzgwLDYgKzE3OTYsOSBAQCB2b2lkIFB5RFVDaGFpblRl c3Q6OnRlc3RWYXJpYWJsZUNyZWF0aW9uX2RhdGEoKQogICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg PDwgUVN0cmluZ0xpc3R7ImludCIsICJpbnQiLCAiZmxvYXQifTsKQEAgLTEyOCwxNiArMTI4LDE2 IEBAIGluZGV4IDcxNDJlZDJiMjAyNmI5OWU0NDM4NmM0NzU4OWFmMDYzZGFlMDMxNzIuLjE3YmEz NGU1MzY2MmVhYTk2MWM1NGI1NTZhZGNlMWRjCiArICAgIFFUZXN0OjpuZXdSb3coImFzc2lnbm1l bnRfZXhwciIpIDw8ICJhID0gKGIgOj0gMTApIiA8PCBRU3RyaW5nTGlzdHsiYSIsICJiIn0gPDwg UVN0cmluZ0xpc3R7ImludCIsICJpbnQifTsKICsjZW5kaWYKICB9Ci0KKyAKICB2b2lkIFB5RFVD aGFpblRlc3Q6OnRlc3RDbGVhbnVwTXVsdGlwbGVQYXNzZXMoKQogZGlmZiAtLWdpdCBhL3BhcnNl ci9hc3QuY3BwIGIvcGFyc2VyL2FzdC5jcHAKLWluZGV4IDk4OTJiMTg0MDY4MDc5ZjkyMjkyZWUz ZDk5NmEwYjcxNDQ4MWI2NWMuLmNkNTcwZDM2ZjM0ZWZlNmVjMDllMjM2Y2I0NjlkMzY0MDJkNTA3 MDAgMTAwNjQ0CitpbmRleCA5ODkyYjE4Li5jZDU3MGQzIDEwMDY0NAogLS0tIGEvcGFyc2VyL2Fz dC5jcHAKICsrKyBiL3BhcnNlci9hc3QuY3BwCiBAQCAtMTYzLDYgKzE2MywxMSBAQCBFeHByZXNz aW9uQXN0OjpFeHByZXNzaW9uQXN0KEFzdCogcGFyZW50LCBBc3RUeXBlIHR5cGUpOiBBc3QocGFy ZW50LCB0eXBlKSwgdmFsdQotCisgICAgIAogIH0KLQorIAogK0Fzc2lnbm1lbnRFeHByZXNzaW9u QXN0OjpBc3NpZ25tZW50RXhwcmVzc2lvbkFzdChBc3QqIHBhcmVudCk6IEV4cHJlc3Npb25Bc3Qo cGFyZW50LCBBc3Q6OkFzc2lnbm1lbnRFeHByZXNzaW9uQXN0VHlwZSksIHZhbHVlKG51bGxwdHIp CiArewogKwpAQCAtMTQ1LDE4ICsxNDUsMTggQEAgaW5kZXggOTg5MmIxODQwNjgwNzlmOTIyOTJl ZTNkOTk2YTBiNzE0NDgxYjY1Yy4uY2Q1NzBkMzZmMzRlZmU2ZWMwOWUyMzZjYjQ2OWQzNjQKICsK ICBZaWVsZEZyb21Bc3Q6OllpZWxkRnJvbUFzdChBc3QqIHBhcmVudCkgOiBFeHByZXNzaW9uQXN0 KHBhcmVudCwgQXN0OjpZaWVsZEZyb21Bc3RUeXBlKQogIHsKLQorIAogQEAgLTI0OCw3ICsyNTMs NyBAQCBOYW1lQ29uc3RhbnRBc3Q6Ok5hbWVDb25zdGFudEFzdChBc3QqIHBhcmVudCk6IEV4cHJl c3Npb25Bc3QocGFyZW50LCBBc3Q6Ok5hbWVDbwotCisgCiAgfQotCisgCiAtTnVtYmVyQXN0OjpO dW1iZXJBc3QoQXN0KiBwYXJlbnQpOiBFeHByZXNzaW9uQXN0KHBhcmVudCwgQXN0OjpOdW1iZXJB c3RUeXBlKSwgdmFsdWUoMCkKICtOdW1iZXJBc3Q6Ok51bWJlckFzdChBc3QqIHBhcmVudCk6IEV4 cHJlc3Npb25Bc3QocGFyZW50LCBBc3Q6Ok51bWJlckFzdFR5cGUpLCB2YWx1ZSgwKSwgaXNJbnQo ZmFsc2UpCiAgewotCisgICAgIAogIH0KIGRpZmYgLS1naXQgYS9wYXJzZXIvYXN0LmggYi9wYXJz ZXIvYXN0LmgKLWluZGV4IDM3OGFmMGJkMDMxMDZiNWMwY2VmOTU4Y2E4YjgxNTMwNTQ0YmVmMTIu LjY1ZmVmMWNkNGIyNmNkYjI0YmNjNTM2OTJmYjk3ODM2NDE3YWJmYjYgMTAwNjQ0CitpbmRleCAz NzhhZjBiLi42NWZlZjFjIDEwMDY0NAogLS0tIGEvcGFyc2VyL2FzdC5oCiArKysgYi9wYXJzZXIv YXN0LmgKIEBAIC0xMzEsNiArMTMxLDcgQEAgcHVibGljOgpAQCAtMTY1LDEyICsxNjUsMTIgQEAg aW5kZXggMzc4YWYwYmQwMzEwNmI1YzBjZWY5NThjYThiODE1MzA1NDRiZWYxMi4uNjVmZWYxY2Q0 YjI2Y2RiMjRiY2M1MzY5MmZiOTc4MzYKICAgICAgICAgIEluZGV4QXN0VHlwZSwKICsgICAgICAg IEFzc2lnbm1lbnRFeHByZXNzaW9uQXN0VHlwZSwKICAgICAgICAgIExhc3RFeHByZXNzaW9uVHlw ZSwgLy8ga2VlcCB0aGlzIGF0IHRoZSBlbmQgb2YgdGhlIGV4cHIgYXN0IGxpc3QKLQorIAogICAg ICAgICAgQ29kZUFzdFR5cGUsCiBAQCAtNDU3LDYgKzQ1OCwxMyBAQCBwdWJsaWM6CiAgICAgIEV4 cHJlc3Npb25Bc3QqIHZhbHVlOyAvLyBXQVJOSU5HIHRoaXMgaXMgbm90IHNldCBpbiBtb3N0IGNh c2VzIQogIH07Ci0KKyAKICtjbGFzcyBLREVWUFlUSE9OUEFSU0VSX0VYUE9SVCBBc3NpZ25tZW50 RXhwcmVzc2lvbkFzdCA6IHB1YmxpYyBFeHByZXNzaW9uQXN0IHsKICtwdWJsaWM6CiArICAgIEFz c2lnbm1lbnRFeHByZXNzaW9uQXN0KEFzdCogcGFyZW50KTsKQEAgLTE5MCwxMyArMTkwLDEzIEBA IGluZGV4IDM3OGFmMGJkMDMxMDZiNWMwY2VmOTU4Y2E4YjgxNTMwNTQ0YmVmMTIuLjY1ZmVmMWNk NGIyNmNkYjI0YmNjNTM2OTJmYjk3ODM2CiAgICAgIEFyZ0FzdCogdmFyYXJnOwogICAgICBBcmdB c3QqIGt3YXJnOwogZGlmZiAtLWdpdCBhL3BhcnNlci9hc3RidWlsZGVyLmNwcCBiL3BhcnNlci9h c3RidWlsZGVyLmNwcAotaW5kZXggYTFjY2Q2OGRkMzc4ZGNmYzBlMjExN2YyNWFjODg3NzQ2Nzcw ZDdkOS4uYWQyZTBkY2U4MjFiNzQ2ZGJkYTI3OTM4MDcxNmY1MGNiZjYxN2UzOCAxMDA2NDQKK2lu ZGV4IGExY2NkNjguLmFkMmUwZGMgMTAwNjQ0CiAtLS0gYS9wYXJzZXIvYXN0YnVpbGRlci5jcHAK ICsrKyBiL3BhcnNlci9hc3RidWlsZGVyLmNwcAogQEAgLTEwMSw3ICsxMDEsMTMgQEAgQ29kZUFz dDo6UHRyIEFzdEJ1aWxkZXI6OnBhcnNlKGNvbnN0IFFVcmwmIGZpbGVuYW1lLCBRU3RyaW5nICZj b250ZW50cykKICAgICAgUHl0aG9uSW5pdGlhbGl6ZXIgcHlJbml0ZXIocHlJbml0TG9jayk7CiAg ICAgIFB5QXJlbmEqIGFyZW5hID0gcHlJbml0ZXIuYXJlbmE7Ci0KKyAKICsjaWYgUFlUSE9OX1ZF UlNJT04gPj0gUVRfVkVSU0lPTl9DSEVDSygzLCA4LCAwKQogKyAgICBQeUNvbXBpbGVyRmxhZ3Mg ZmxhZ3M7CiArICAgIGZsYWdzLmNmX2ZsYWdzID0gUHlDRl9TT1VSQ0VfSVNfVVRGOCB8IFB5Q0Zf SUdOT1JFX0NPT0tJRSB8IFB5Q0ZfT05MWV9BU1Q7CkBAIC0yMDQsMTcgKzIwNCwxNyBAQCBpbmRl eCBhMWNjZDY4ZGQzNzhkY2ZjMGUyMTE3ZjI1YWM4ODc3NDY3NzBkN2Q5Li5hZDJlMGRjZTgyMWI3 NDZkYmRhMjc5MzgwNzE2ZjUwYwogKyNlbHNlCiAgICAgIFB5Q29tcGlsZXJGbGFncyBmbGFncyA9 IHtQeUNGX1NPVVJDRV9JU19VVEY4IHwgUHlDRl9JR05PUkVfQ09PS0lFfTsKICsjZW5kaWYKLQor IAogICAgICBDeXRob25TeW50YXhSZW1vdmVyIGN5dGhvblN5bnRheFJlbW92ZXI7Ci0KKyAKIGRp ZmYgLS1naXQgYS9wYXJzZXIvYXN0ZGVmYXVsdHZpc2l0b3IuY3BwIGIvcGFyc2VyL2FzdGRlZmF1 bHR2aXNpdG9yLmNwcAotaW5kZXggNWRiMWY2ZjE2YmEzMWVmZjIwMDZjMTMyMDczNTY1MGM1Yzlj NTZkOC4uY2RkMzFiYmZmOWE0NDA2ZWVmZGEzYzEwZmQwYmIxNWMzNjI2MDA4YyAxMDA2NDQKK2lu ZGV4IDVkYjFmNmYuLmNkZDMxYmIgMTAwNjQ0CiAtLS0gYS9wYXJzZXIvYXN0ZGVmYXVsdHZpc2l0 b3IuY3BwCiArKysgYi9wYXJzZXIvYXN0ZGVmYXVsdHZpc2l0b3IuY3BwCiBAQCAtMjkyLDYgKzI5 MiwxMiBAQCB2b2lkIEFzdERlZmF1bHRWaXNpdG9yOjp2aXNpdEFubm90YXRpb25Bc3NpZ25tZW50 KEFubm90YXRpb25Bc3NpZ25tZW50QXN0KiBub2RlKQogICAgICB2aXNpdE5vZGUobm9kZS0+dmFs dWUpOwogIH0KLQorIAogK3ZvaWQgQXN0RGVmYXVsdFZpc2l0b3I6OnZpc2l0QXNzaWdubWVudEV4 cHJlc3Npb24oQXNzaWdubWVudEV4cHJlc3Npb25Bc3QqIG5vZGUpCiArewogKyAgICB2aXNpdE5v ZGUobm9kZS0+dGFyZ2V0KTsKQEAgLTIyNSw3ICsyMjUsNyBAQCBpbmRleCA1ZGIxZjZmMTZiYTMx ZWZmMjAwNmMxMzIwNzM1NjUwYzVjOWM1NmQ4Li5jZGQzMWJiZmY5YTQ0MDZlZWZkYTNjMTBmZDBi YjE1YwogIHsKICAgICAgdmlzaXROb2RlKG5vZGUtPmxocyk7CiBkaWZmIC0tZ2l0IGEvcGFyc2Vy L2FzdGRlZmF1bHR2aXNpdG9yLmggYi9wYXJzZXIvYXN0ZGVmYXVsdHZpc2l0b3IuaAotaW5kZXgg ZThlMGQzZGU3MjYyMmQ5MDNhMmFhZTY4OTUxOTRjMmY5MzkxNDQwMi4uYWExZjU0MGM5NzUzZmQw ZDk5MTFiNjU2NTQ4MTM1ZTcwMzBmNmZlZSAxMDA2NDQKK2luZGV4IGU4ZTBkM2QuLmFhMWY1NDAg MTAwNjQ0CiAtLS0gYS9wYXJzZXIvYXN0ZGVmYXVsdHZpc2l0b3IuaAogKysrIGIvcGFyc2VyL2Fz dGRlZmF1bHR2aXNpdG9yLmgKIEBAIC00OSw2ICs0OSw3IEBAIHB1YmxpYzoKQEAgLTI0NSw3ICsy NDUsNyBAQCBpbmRleCBlOGUwZDNkZTcyNjIyZDkwM2EyYWFlNjg5NTE5NGMyZjkzOTE0NDAyLi5h YTFmNTQwYzk3NTNmZDBkOTkxMWI2NTY1NDgxMzVlNwogICAgICB2b2lkIHZpc2l0V2hpbGUoV2hp bGVBc3QqIG5vZGUpIG92ZXJyaWRlIHsgQXN0RGVmYXVsdFZpc2l0b3I6OnZpc2l0V2hpbGUobm9k ZSk7IGRlbGV0ZSBub2RlOyB9CiAgICAgIHZvaWQgdmlzaXRJZihJZkFzdCogbm9kZSkgb3ZlcnJp ZGUgeyBBc3REZWZhdWx0VmlzaXRvcjo6dmlzaXRJZihub2RlKTsgZGVsZXRlIG5vZGU7IH0KIGRp ZmYgLS1naXQgYS9wYXJzZXIvYXN0dmlzaXRvci5jcHAgYi9wYXJzZXIvYXN0dmlzaXRvci5jcHAK LWluZGV4IGFjZTdkNjE5MmIxYmFhNzBiOWY1MjcxM2UyMmNjOGQxZjY3MWNmMWIuLjUxYzVhMWM1 ZjEzMWZhMDViYzU3MGU2Yjc0ZmM0ODY2NjIzZDUyZWQgMTAwNjQ0CitpbmRleCBhY2U3ZDYxLi41 MWM1YTFjIDEwMDY0NAogLS0tIGEvcGFyc2VyL2FzdHZpc2l0b3IuY3BwCiArKysgYi9wYXJzZXIv YXN0dmlzaXRvci5jcHAKIEBAIC00Nyw2ICs0Nyw3IEBAIHZvaWQgQXN0VmlzaXRvcjo6dmlzaXRO b2RlKEFzdCogbm9kZSkKQEAgLTI1Nyw3ICsyNTcsNyBAQCBpbmRleCBhY2U3ZDYxOTJiMWJhYTcw YjlmNTI3MTNlMjJjYzhkMWY2NzFjZjFiLi41MWM1YTFjNWYxMzFmYTA1YmM1NzBlNmI3NGZjNDg2 NgogICAgICAgICAgY2FzZSBBc3Q6OldoaWxlQXN0VHlwZTogICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICB0aGlzLT52aXNpdFdoaWxlKHN0YXRpY19jYXN0PFdoaWxlQXN0Kj4obm9kZSkp OyBicmVhazsKICAgICAgICAgIGNhc2UgQXN0OjpJZkFzdFR5cGU6ICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgdGhpcy0+dmlzaXRJZihzdGF0aWNfY2FzdDxJZkFzdCo+KG5vZGUp KTsgYnJlYWs7CiBkaWZmIC0tZ2l0IGEvcGFyc2VyL2FzdHZpc2l0b3IuaCBiL3BhcnNlci9hc3R2 aXNpdG9yLmgKLWluZGV4IDE5MDhlOWRkOTg2NGMyZGQxYzRjZDMzZDZkYjFlMjViZThkNDg3ZmIu LjUxYWE0N2I0YjgyMDIyNWEyYTM5NTA5MmJjNDBmNjlmMzc5YzQxOTYgMTAwNjQ0CitpbmRleCAx OTA4ZTlkLi41MWFhNDdiIDEwMDY0NAogLS0tIGEvcGFyc2VyL2FzdHZpc2l0b3IuaAogKysrIGIv cGFyc2VyL2FzdHZpc2l0b3IuaAogQEAgLTYxLDYgKzYxLDcgQEAgcHVibGljOgpAQCAtMjY5LDQ2 ICsyNjksNDUgQEAgaW5kZXggMTkwOGU5ZGQ5ODY0YzJkZDFjNGNkMzNkNmRiMWUyNWJlOGQ0ODdm Yi4uNTFhYTQ3YjRiODIwMjI1YTJhMzk1MDkyYmM0MGY2OWYKICAgICAgdmlydHVhbCB2b2lkIHZp c2l0V2hpbGUoV2hpbGVBc3QqIG5vZGUpIHsgUV9VTlVTRUQobm9kZSk7IH07CiAgICAgIHZpcnR1 YWwgdm9pZCB2aXNpdElmKElmQXN0KiBub2RlKSB7IFFfVU5VU0VEKG5vZGUpOyB9OwogZGlmZiAt LWdpdCBhL3BhcnNlci9jb252ZXJzaW9uR2VuZXJhdG9yLnB5IGIvcGFyc2VyL2NvbnZlcnNpb25H ZW5lcmF0b3IucHkKLWluZGV4IDlkNjVjYzBkOTkxNWJkNmMwY2ZhNGVhMzdmZDMxMzZhOGMxOGU5 ZDIuLjY2MDU1OTUzZWY0ZTNjYzk4OTZhMTNiZDU5Y2I2NDFjOTNhMmM1ODkgMTAwNjQ0CitpbmRl eCA5ZDY1Y2MwLi5hYjRhMzMyIDEwMDY0NAogLS0tIGEvcGFyc2VyL2NvbnZlcnNpb25HZW5lcmF0 b3IucHkKICsrKyBiL3BhcnNlci9jb252ZXJzaW9uR2VuZXJhdG9yLnB5CiBAQCAtOSw3ICs5LDcg QEAKLQorIAogIGltcG9ydCBzeXMKLQorIAogLWNvbnRlbnRzID0gb3BlbigncHl0aG9uMzYuc2Rl ZicpLnJlYWQoKS5yZXBsYWNlKCJcbiIsICIiKS5zcGxpdCgnOzsnKQogK2NvbnRlbnRzID0gb3Bl bigncHl0aG9uMzguc2RlZicpLnJlYWQoKS5yZXBsYWNlKCJcbiIsICIiKS5zcGxpdCgnOzsnKQot CisgCiAgZnVuY19zdHJ1Y3R1cmUgPSAnJycKICAgICAgQXN0KiB2aXNpdE5vZGUoJXtSVUxFX0ZP Un0qIG5vZGUpIHsKIEBAIC00NSw3ICs0NSw2IEBAIHNpbXBsZV9mdW5jX3N0cnVjdHVyZSA9ICcn JwotCisgCiAgc3dpdGNoX2xpbmUgPSAnJycgICAgICAgIGNhc2UgJXtLSU5EfTogewogICV7QUNU SU9OU30KIC0gICAgICAgICAgICAgICAgcmVzdWx0ID0gdjsKICAgICAgICAgICAgICAgICAgYnJl YWs7CiAgICAgICAgICAgICAgfScnJwotCisgCiBAQCAtMTM5LDYgKzEzOCw3IEBAIGZvciBydWxl IGluIGNvbnRlbnRzOgogICAgICAgICAgcmVzdWx0c1tydWxlX2Zvcl0gPSBsaXN0KCkKLQorICAg ICAKICAgICAgY3VycmVudF9hY3Rpb25zID0gbGlzdCgpCiArICAgIGNyZWF0ZWRfdiA9IEZhbHNl CiAgICAgIGZvciBhY3Rpb24gaW4gYWN0aW9uczoKICAgICAgICAgIGNvbW1hbmQgPSBhY3Rpb24u c3BsaXQoJ3wnKVswXQogICAgICAgICAgdHJ5OgotQEAgLTIwNCwxNCArMjA0LDE3IEBAIGZvciBy dWxlIGluIGNvbnRlbnRzOgorQEAgLTIwNCw3ICsyMDQsOCBAQCBmb3IgcnVsZSBpbiBjb250ZW50 czoKICAgICAgICAgIGVsaWYgY29tbWFuZCA9PSAnY3JlYXRlJzoKICAgICAgICAgICAgICBhc3RU eXBlID0gYXJndW1lbnRzCiAgICAgICAgICAgICAgY3VycmVudF9hY3Rpb25zLmFwcGVuZChjcmVh dGVfYXN0X2xpbmUucmVwbGFjZSgnJXtBU1RfVFlQRX0nLCBhc3RUeXBlKSkKLS0KKy0gICAgCiAr ICAgICAgICAgICAgY3JlYXRlZF92ID0gVHJ1ZQogKwogICAgICBpZiBjb2RlOgogICAgICAgICAg Y3VycmVudF9hY3Rpb25zLmFwcGVuZChjb2RlKTsKLS0KLSsKLSAgICAgY3VycmVudF9hY3Rpb25z ID0gIlxuIi5qb2luKGN1cnJlbnRfYWN0aW9ucykKKyAgICAgCitAQCAtMjEyLDYgKzIxMyw4IEBA IGZvciBydWxlIGluIGNvbnRlbnRzOgogICAgICBpZiBraW5kID09ICdhbnknOgogICAgICAgICAg Y3VycmVudF9zdG10ID0gY3VycmVudF9hY3Rpb25zCiAgICAgIGVsc2U6CkBAIC0zMTgsNyArMzE3 LDcgQEAgaW5kZXggOWQ2NWNjMGQ5OTE1YmQ2YzBjZmE0ZWEzN2ZkMzEzNmE4YzE4ZTlkMi4uNjYw NTU5NTNlZjRlM2NjOTg5NmExM2JkNTljYjY0MWMKICAgICAgaWYgYmVmb3JlX3ZlcnNpb246CiAg ICAgICAgICB2ZXJzaW9uX2NwcF9pZiA9ICgiI2lmIFBZVEhPTl9WRVJTSU9OIDwgUVRfVkVSU0lP Tl9DSEVDSyglZCwgJWQsIDApXG4iCiBkaWZmIC0tZ2l0IGEvcGFyc2VyL2dlbmVyYXRlZC5oIGIv cGFyc2VyL2dlbmVyYXRlZC5oCi1pbmRleCA5MDYxZGViMDM5YmJlNjQxOGRkODU0YzI2OWVlMjQy NzM0MTE3YTRjLi5lMTEzNmY4NDNkMzc4MGJlZmZkNDE5OGU0ZmM0MzQ4NWY1YWM4YTk1IDEwMDY0 NAoraW5kZXggOTA2MWRlYi4uZTExMzZmOCAxMDA2NDQKIC0tLSBhL3BhcnNlci9nZW5lcmF0ZWQu aAogKysrIGIvcGFyc2VyL2dlbmVyYXRlZC5oCiBAQCAtNzYsMTIgKzc2LDIzIEBAIHByaXZhdGU6 CkBAIC0zNDQsNyArMzQzLDcgQEAgaW5kZXggOTA2MWRlYjAzOWJiZTY0MThkZDg1NGMyNjllZTI0 MjczNDExN2E0Yy4uZTExMzZmODQzZDM3ODBiZWZmZDQxOThlNGZjNDM0ODUKICsjZW5kaWYKICAg ICAgICAgIHJldHVybiB2OwogICAgICB9Ci0KKyAKIEBAIC0yODAsMTggKzI5MSwyMiBAQCBwcml2 YXRlOgogICAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgICB9CkBAIC00MjYsMzYg KzQyNSwyMDkgQEAgaW5kZXggOTA2MWRlYjAzOWJiZTY0MThkZDg1NGMyNjllZTI0MjczNDExN2E0 Yy4uZTExMzZmODQzZDM3ODBiZWZmZDQxOThlNGZjNDM0ODUKICAgICAgICAgIGRlZmF1bHQ6CiAg ICAgICAgICAgICAgcVdhcm5pbmcoKSA8PCAiVW5zdXBwb3J0ZWQgX2V4cHIgQVNUIHR5cGU6ICIg PDwgbm9kZS0+a2luZDsKICAgICAgICAgICAgICBRX0FTU0VSVChmYWxzZSk7Ci1kaWZmIC0tZ2l0 IGEvcGFyc2VyL3B5dGhvbjM2LnNkZWYgYi9wYXJzZXIvcHl0aG9uMzguc2RlZgotc2ltaWxhcml0 eSBpbmRleCA4MiUKLXJlbmFtZSBmcm9tIHBhcnNlci9weXRob24zNi5zZGVmCi1yZW5hbWUgdG8g cGFyc2VyL3B5dGhvbjM4LnNkZWYKLWluZGV4IGY1M2ZmMWM3OWE1MTE3ZDIwZGUzN2U1OGFhZDMz OTU1YjE1ZWI0YWEuLjMwZDlmOTVhYmE0Y2UzMTU0YTcwMDczYTcyY2Q3MTNjOTcyYzUzYTMgMTAw NjQ0CitkaWZmIC0tZ2l0IGEvcGFyc2VyL3B5dGhvbjM2LnNkZWYgYi9wYXJzZXIvcHl0aG9uMzYu c2RlZgorZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CitpbmRleCBmNTNmZjFjLi4wMDAwMDAwCiAt LS0gYS9wYXJzZXIvcHl0aG9uMzYuc2RlZgotKysrIGIvcGFyc2VyL3B5dGhvbjM4LnNkZWYKLUBA IC03MywyMCArNzMsNjIgQEAgaWYgKG5vZGUtPnYuQ2FsbC5rd2FyZ3MpIHsKLSAgICAgdi0+a2V5 d29yZHMuYXBwZW5kKGt3YXJncyk7Ci0gICAgIG5vZGVTdGFjay5wb3AoKTsKLSB9OzsKKysrKyAv ZGV2L251bGwKK0BAIC0xLDEwMiArMCwwIEBACistQ09NTUVOVDtUaGlzIGZpbGUgc3BlY2lmaWVz IHJ1bGVzIGZvciBhIGNvbnZlcnNpb24gb2YgYSBweXRob24gKEMpIHRvIGEgcGx1Z2luLWludGVy bmFsIChDKyspIHN5bnRheCB0cmVlOzsKKy1DT01NRU5UO0FsbCBsaW5lcyBhcmUgdGVybWluYXRl ZCBieSBhIGRvdWJsZSBzZW1pY29sb24gdG9rZW4sIG5ld2xpbmVzIGFyZSBpZ25vcmVkLjs7Cist Q09NTUVOVDstPiBzdGFuZHMgZm9yICJjb252ZXJ0IEFTVCIsID0+IGZvciAiY29udmVydCBBU1Qg bGlzdCIsIH4+IGZvciAibWFrZSBhbiBpZGVudGlmaWVyIiwgOj4gaXMgYW4gYXNzaWdubWVudCB3 L28gY29udmVyc2lvbiwgYW5kICo+IGlzIGFuIGVudW0gY2FzdC47OworLUNPTU1FTlQ7JD4gaXMg YSBzdHJpbmcgYXNzaWdubWVudCwgKz4gaXMgYSAibWluZGxlc3MgYXNzaWdubWVudCwgbGlrZSwg aXQganVzdCBkb2VzIHYtPmFyZyA9IG5vZGUtPmFyZy4KKy1DT01NRU5UO18+IGlzIGEgU2luZ2xl dG9uIEFzc2lnbm1lbnQgKGNvbnZlcnRzIFB5X1RydWUsIFB5X0ZhbHNlLCBQeV9Ob25lIHRvIGVu dW0pCistQ09NTUVOVDt0aGUgQ09ERSBzdGF0ZW1lbnQgY2FuIGJlIHVzZWQgdG8gYWRkIGN1c3Rv bSBjb2RlLjs7CistCistCistUlVMRV9GT1IgX3N0bXQ7S0lORCBFeHByX2tpbmQ7QUNUSU9OUyBj cmVhdGV8RXhwcmVzc2lvbkFzdCBzZXR8dmFsdWUtPkV4cHJlc3Npb25Bc3QsdmFsdWU7OworLVJV TEVfRk9SIF9zdG10O0tJTkQgRnVuY3Rpb25EZWZfa2luZDtBQ1RJT05TIGNyZWF0ZXxGdW5jdGlv bkRlZmluaXRpb25Bc3Qgc2V0fG5hbWV+Pm5hbWUgc2V0fGFyZ3VtZW50cy0+QXJndW1lbnRzQXN0 LGFyZ3MKKy0gICAgc2V0fGJvZHk9PkFzdCxib2R5IHNldHxkZWNvcmF0b3JzPT5FeHByZXNzaW9u QXN0LGRlY29yYXRvcl9saXN0IHNldHxyZXR1cm5zLT5FeHByZXNzaW9uQXN0LHJldHVybnM7Owor LVJVTEVfRk9SIF9zdG10O0tJTkQgQXN5bmNGdW5jdGlvbkRlZl9raW5kO0FDVElPTlMgY3JlYXRl fEZ1bmN0aW9uRGVmaW5pdGlvbkFzdCBzZXR8bmFtZX4+bmFtZSBzZXR8YXJndW1lbnRzLT5Bcmd1 bWVudHNBc3QsYXJncworLSAgICBzZXR8Ym9keT0+QXN0LGJvZHkgc2V0fGRlY29yYXRvcnM9PkV4 cHJlc3Npb25Bc3QsZGVjb3JhdG9yX2xpc3Qgc2V0fHJldHVybnMtPkV4cHJlc3Npb25Bc3QscmV0 dXJucztTSU5DRSAzLjU7Q09ERSB2LT5hc3luYyA9IHRydWU7OworLVJVTEVfRk9SIF9zdG10O0tJ TkQgQ2xhc3NEZWZfa2luZDtBQ1RJT05TIGNyZWF0ZXxDbGFzc0RlZmluaXRpb25Bc3Qgc2V0fG5h bWV+Pm5hbWUgc2V0fGJhc2VDbGFzc2VzPT5FeHByZXNzaW9uQXN0LGJhc2VzIHNldHxib2R5PT5B c3QsYm9keQorLSAgICBzZXR8ZGVjb3JhdG9ycz0+RXhwcmVzc2lvbkFzdCxkZWNvcmF0b3JfbGlz dDs7CistUlVMRV9GT1IgX3N0bXQ7S0lORCBSZXR1cm5fa2luZDtBQ1RJT05TIGNyZWF0ZXxSZXR1 cm5Bc3Qgc2V0fHZhbHVlLT5FeHByZXNzaW9uQXN0LHZhbHVlOzsKKy1SVUxFX0ZPUiBfc3RtdDtL SU5EIERlbGV0ZV9raW5kO0FDVElPTlMgY3JlYXRlfERlbGV0ZUFzdCBzZXR8dGFyZ2V0cz0+RXhw cmVzc2lvbkFzdCx0YXJnZXRzOzsKKy1SVUxFX0ZPUiBfc3RtdDtLSU5EIEFzc2lnbl9raW5kO0FD VElPTlMgY3JlYXRlfEFzc2lnbm1lbnRBc3Qgc2V0fHRhcmdldHM9PkV4cHJlc3Npb25Bc3QsdGFy Z2V0cyBzZXR8dmFsdWUtPkV4cHJlc3Npb25Bc3QsdmFsdWU7OworLVJVTEVfRk9SIF9zdG10O0tJ TkQgQXVnQXNzaWduX2tpbmQ7QUNUSU9OUyBjcmVhdGV8QXVnbWVudGVkQXNzaWdubWVudEFzdCBz ZXR8dGFyZ2V0LT5FeHByZXNzaW9uQXN0LHRhcmdldCBzZXR8b3AqPk9wZXJhdG9yVHlwZXMsb3Ag c2V0fHZhbHVlLT5FeHByZXNzaW9uQXN0LHZhbHVlOzsKKy1SVUxFX0ZPUiBfc3RtdDtLSU5EIEFu bkFzc2lnbl9raW5kO0FDVElPTlMgY3JlYXRlfEFubm90YXRpb25Bc3NpZ25tZW50QXN0IHNldHx0 YXJnZXQtPkV4cHJlc3Npb25Bc3QsdGFyZ2V0IHNldHxhbm5vdGF0aW9uLT5FeHByZXNzaW9uQXN0 LGFubm90YXRpb24gc2V0fHZhbHVlLT5FeHByZXNzaW9uQXN0LHZhbHVlO1NJTkNFIDMuNjs7Cist UlVMRV9GT1IgX3N0bXQ7S0lORCBGb3Jfa2luZDtBQ1RJT05TIGNyZWF0ZXxGb3JBc3Qgc2V0fHRh cmdldC0+RXhwcmVzc2lvbkFzdCx0YXJnZXQgc2V0fGl0ZXJhdG9yLT5FeHByZXNzaW9uQXN0LGl0 ZXIgc2V0fGJvZHk9PkFzdCxib2R5IHNldHxvcmVsc2U9PkFzdCxvcmVsc2U7OworLVJVTEVfRk9S IF9zdG10O0tJTkQgQXN5bmNGb3Jfa2luZDtBQ1RJT05TIGNyZWF0ZXxGb3JBc3Qgc2V0fHRhcmdl dC0+RXhwcmVzc2lvbkFzdCx0YXJnZXQgc2V0fGl0ZXJhdG9yLT5FeHByZXNzaW9uQXN0LGl0ZXIg c2V0fGJvZHk9PkFzdCxib2R5IHNldHxvcmVsc2U9PkFzdCxvcmVsc2U7U0lOQ0UgMy41OzsKKy1S VUxFX0ZPUiBfc3RtdDtLSU5EIFdoaWxlX2tpbmQ7QUNUSU9OUyBjcmVhdGV8V2hpbGVBc3Qgc2V0 fGNvbmRpdGlvbi0+RXhwcmVzc2lvbkFzdCx0ZXN0IHNldHxib2R5PT5Bc3QsYm9keSBzZXR8b3Jl bHNlPT5Bc3Qsb3JlbHNlOzsKKy1SVUxFX0ZPUiBfc3RtdDtLSU5EIElmX2tpbmQ7QUNUSU9OUyBj cmVhdGV8SWZBc3Qgc2V0fGNvbmRpdGlvbi0+RXhwcmVzc2lvbkFzdCx0ZXN0IHNldHxib2R5PT5B c3QsYm9keSBzZXR8b3JlbHNlPT5Bc3Qsb3JlbHNlOzsKKy1SVUxFX0ZPUiBfc3RtdDtLSU5EIFdp dGhfa2luZDtBQ1RJT05TIGNyZWF0ZXxXaXRoQXN0IHNldHxib2R5PT5Bc3QsYm9keSBzZXR8aXRl bXM9PldpdGhJdGVtQXN0LGl0ZW1zOzsKKy1SVUxFX0ZPUiBfc3RtdDtLSU5EIEFzeW5jV2l0aF9r aW5kO0FDVElPTlMgY3JlYXRlfFdpdGhBc3Qgc2V0fGJvZHk9PkFzdCxib2R5IHNldHxpdGVtcz0+ V2l0aEl0ZW1Bc3QsaXRlbXM7U0lOQ0UgMy41OzsKKy0KKy1DT01NRU5UO0ZJWE1FOiB0aGUgc3Ry dWN0IFJhaXNlIGhhcyBjaGFuZ2VkLCBzbyB0aGUgZm9sbG93aW5nIGxpbmUgaXMgbGlrZWx5IHdy b25nOzsKKy1SVUxFX0ZPUiBfc3RtdDtLSU5EIFJhaXNlX2tpbmQ7QUNUSU9OUyBjcmVhdGV8UmFp c2VBc3Qgc2V0fHR5cGUtPkV4cHJlc3Npb25Bc3QsZXhjOzsKKy1SVUxFX0ZPUiBfc3RtdDtLSU5E IFRyeV9raW5kO0FDVElPTlMgY3JlYXRlfFRyeUFzdCBzZXR8Ym9keT0+QXN0LGJvZHkgc2V0fGhh bmRsZXJzPT5FeGNlcHRpb25IYW5kbGVyQXN0LGhhbmRsZXJzIHNldHxvcmVsc2U9PkFzdCxvcmVs c2Ugc2V0fGZpbmFsbHk9PkFzdCxmaW5hbGJvZHk7OworLVJVTEVfRk9SIF9zdG10O0tJTkQgQXNz ZXJ0X2tpbmQ7QUNUSU9OUyBjcmVhdGV8QXNzZXJ0aW9uQXN0IHNldHxjb25kaXRpb24tPkV4cHJl c3Npb25Bc3QsdGVzdCBzZXR8bWVzc2FnZS0+RXhwcmVzc2lvbkFzdCxtc2c7OworLVJVTEVfRk9S IF9zdG10O0tJTkQgSW1wb3J0X2tpbmQ7QUNUSU9OUyBjcmVhdGV8SW1wb3J0QXN0IHNldHxuYW1l cz0+QWxpYXNBc3QsbmFtZXM7OworLVJVTEVfRk9SIF9zdG10O0tJTkQgSW1wb3J0RnJvbV9raW5k O0FDVElPTlMgY3JlYXRlfEltcG9ydEZyb21Bc3Qgc2V0fG1vZHVsZX4+bW9kdWxlIHNldHxuYW1l cz0+QWxpYXNBc3QsbmFtZXMgc2V0fGxldmVsOj5sZXZlbDs7CistUlVMRV9GT1IgX3N0bXQ7S0lO RCBHbG9iYWxfa2luZDtBQ1RJT05TIGNyZWF0ZXxHbG9iYWxBc3Qgc2V0fG5hbWVzPT5JZGVudGlm aWVyLG5hbWVzOzsKKy1SVUxFX0ZPUiBfc3RtdDtLSU5EIEJyZWFrX2tpbmQ7QUNUSU9OUyBjcmVh dGV8QnJlYWtBc3Q7OworLVJVTEVfRk9SIF9zdG10O0tJTkQgQ29udGludWVfa2luZDtBQ1RJT05T IGNyZWF0ZXxDb250aW51ZUFzdDs7CistUlVMRV9GT1IgX3N0bXQ7S0lORCBQYXNzX2tpbmQ7QUNU SU9OUyBjcmVhdGV8UGFzc0FzdDs7CistUlVMRV9GT1IgX3N0bXQ7S0lORCBOb25sb2NhbF9raW5k O0FDVElPTlMgY3JlYXRlfE5vbmxvY2FsQXN0OzsKKy0KKy1SVUxFX0ZPUiBfZXhwcjtLSU5EIEF3 YWl0X2tpbmQ7QUNUSU9OUyBjcmVhdGV8QXdhaXRBc3Qgc2V0fHZhbHVlLT5FeHByZXNzaW9uQXN0 LHZhbHVlO1NJTkNFIDMuNTs7CistUlVMRV9GT1IgX2V4cHI7S0lORCBCb29sT3Bfa2luZDtBQ1RJ T05TIGNyZWF0ZXxCb29sZWFuT3BlcmF0aW9uQXN0IHNldHx0eXBlKj5Cb29sZWFuT3BlcmF0aW9u VHlwZXMsb3Agc2V0fHZhbHVlcz0+RXhwcmVzc2lvbkFzdCx2YWx1ZXM7OworLVJVTEVfRk9SIF9l eHByO0tJTkQgQmluT3Bfa2luZDtBQ1RJT05TIGNyZWF0ZXxCaW5hcnlPcGVyYXRpb25Bc3Qgc2V0 fHR5cGUqPk9wZXJhdG9yVHlwZXMsb3Agc2V0fGxocy0+RXhwcmVzc2lvbkFzdCxsZWZ0IHNldHxy aHMtPkV4cHJlc3Npb25Bc3QscmlnaHQ7OworLVJVTEVfRk9SIF9leHByO0tJTkQgVW5hcnlPcF9r aW5kO0FDVElPTlMgY3JlYXRlfFVuYXJ5T3BlcmF0aW9uQXN0IHNldHx0eXBlKj5VbmFyeU9wZXJh dG9yVHlwZXMsb3Agc2V0fG9wZXJhbmQtPkV4cHJlc3Npb25Bc3Qsb3BlcmFuZDs7CistUlVMRV9G T1IgX2V4cHI7S0lORCBMYW1iZGFfa2luZDtBQ1RJT05TIGNyZWF0ZXxMYW1iZGFBc3Qgc2V0fGFy Z3VtZW50cy0+QXJndW1lbnRzQXN0LGFyZ3Mgc2V0fGJvZHktPkV4cHJlc3Npb25Bc3QsYm9keTs7 CistUlVMRV9GT1IgX2V4cHI7S0lORCBJZkV4cF9raW5kO0FDVElPTlMgY3JlYXRlfElmRXhwcmVz c2lvbkFzdCBzZXR8Y29uZGl0aW9uLT5FeHByZXNzaW9uQXN0LHRlc3Qgc2V0fGJvZHktPkV4cHJl c3Npb25Bc3QsYm9keSBzZXR8b3JlbHNlLT5FeHByZXNzaW9uQXN0LG9yZWxzZTs7CistUlVMRV9G T1IgX2V4cHI7S0lORCBEaWN0X2tpbmQ7QUNUSU9OUyBjcmVhdGV8RGljdEFzdCBzZXR8a2V5cz0+ RXhwcmVzc2lvbkFzdCxrZXlzIHNldHx2YWx1ZXM9PkV4cHJlc3Npb25Bc3QsdmFsdWVzOzsKKy1S VUxFX0ZPUiBfZXhwcjtLSU5EIFNldF9raW5kO0FDVElPTlMgY3JlYXRlfFNldEFzdCBzZXR8ZWxl bWVudHM9PkV4cHJlc3Npb25Bc3QsZWx0czs7CistUlVMRV9GT1IgX2V4cHI7S0lORCBMaXN0Q29t cF9raW5kO0FDVElPTlMgY3JlYXRlfExpc3RDb21wcmVoZW5zaW9uQXN0IHNldHxlbGVtZW50LT5F eHByZXNzaW9uQXN0LGVsdCBzZXR8Z2VuZXJhdG9ycz0+Q29tcHJlaGVuc2lvbkFzdCxnZW5lcmF0 b3JzOzsKKy1SVUxFX0ZPUiBfZXhwcjtLSU5EIFNldENvbXBfa2luZDtBQ1RJT05TIGNyZWF0ZXxT ZXRDb21wcmVoZW5zaW9uQXN0IHNldHxlbGVtZW50LT5FeHByZXNzaW9uQXN0LGVsdCBzZXR8Z2Vu ZXJhdG9ycz0+Q29tcHJlaGVuc2lvbkFzdCxnZW5lcmF0b3JzOzsKKy1SVUxFX0ZPUiBfZXhwcjtL SU5EIERpY3RDb21wX2tpbmQ7QUNUSU9OUyBjcmVhdGV8RGljdGlvbmFyeUNvbXByZWhlbnNpb25B c3Qgc2V0fGtleS0+RXhwcmVzc2lvbkFzdCxrZXkgc2V0fHZhbHVlLT5FeHByZXNzaW9uQXN0LHZh bHVlIHNldHxnZW5lcmF0b3JzPT5Db21wcmVoZW5zaW9uQXN0LGdlbmVyYXRvcnM7OworLVJVTEVf Rk9SIF9leHByO0tJTkQgR2VuZXJhdG9yRXhwX2tpbmQ7QUNUSU9OUyBjcmVhdGV8R2VuZXJhdG9y RXhwcmVzc2lvbkFzdCBzZXR8ZWxlbWVudC0+RXhwcmVzc2lvbkFzdCxlbHQgc2V0fGdlbmVyYXRv cnM9PkNvbXByZWhlbnNpb25Bc3QsZ2VuZXJhdG9yczs7CistUlVMRV9GT1IgX2V4cHI7S0lORCBZ aWVsZF9raW5kO0FDVElPTlMgY3JlYXRlfFlpZWxkQXN0IHNldHx2YWx1ZS0+RXhwcmVzc2lvbkFz dCx2YWx1ZTs7CistUlVMRV9GT1IgX2V4cHI7S0lORCBDb21wYXJlX2tpbmQ7QUNUSU9OUyBjcmVh dGV8Q29tcGFyZUFzdCBzZXR8bGVmdG1vc3RFbGVtZW50LT5FeHByZXNzaW9uQXN0LGxlZnQgc2V0 fG9wZXJhdG9ycyM+Q29tcGFyaXNvbk9wZXJhdG9yVHlwZXMsb3BzIHNldHxjb21wYXJhbmRzPT5F eHByZXNzaW9uQXN0LGNvbXBhcmF0b3JzOzsKKy1SVUxFX0ZPUiBfZXhwcjtLSU5EIENhbGxfa2lu ZDtBQ1RJT05TIGNyZWF0ZXxDYWxsQXN0IHNldHxmdW5jdGlvbi0+RXhwcmVzc2lvbkFzdCxmdW5j IHNldHxhcmd1bWVudHM9PkV4cHJlc3Npb25Bc3QsYXJncyBzZXR8a2V5d29yZHM9PktleXdvcmRB c3Qsa2V5d29yZHM7U0lOQ0UgMy41OzsKKy1SVUxFX0ZPUiBfZXhwcjtLSU5EIENhbGxfa2luZDtB Q1RJT05TIGNyZWF0ZXxDYWxsQXN0IHNldHxmdW5jdGlvbi0+RXhwcmVzc2lvbkFzdCxmdW5jIHNl dHxhcmd1bWVudHM9PkV4cHJlc3Npb25Bc3QsYXJncyBzZXR8a2V5d29yZHM9PktleXdvcmRBc3Qs a2V5d29yZHM7QkVGT1JFIDMuNTsKKy1DT0RFIC8qIENvbnZlcnQgMy40IHVucGFja2VkLWFyZ3Mg QVNUIHRvIG1hdGNoIHRoZSBuZXcgZm9ybWF0IGZyb20gMy41KyAqLworLWlmIChub2RlLT52LkNh bGwuc3RhcmFyZ3MpIHsKKy0gICAgbm9kZVN0YWNrLnB1c2godik7CistICAgIGF1dG8gc3RhcnJl ZCA9IG5ldyBTdGFycmVkQXN0KHYpOworLSAgICBzdGFycmVkLT5jb250ZXh0ID0gRXhwcmVzc2lv bkFzdDo6Q29udGV4dDo6TG9hZDsKKy0gICAgbm9kZVN0YWNrLnB1c2goc3RhcnJlZCk7CistICAg IHN0YXJyZWQtPnZhbHVlID0gc3RhdGljX2Nhc3Q8RXhwcmVzc2lvbkFzdCo+KHZpc2l0Tm9kZShu b2RlLT52LkNhbGwuc3RhcmFyZ3MpKTsKKy0gICAgbm9kZVN0YWNrLnBvcCgpOworLSAgICB2LT5h cmd1bWVudHMuYXBwZW5kKHN0YXJyZWQpOworLSAgICBub2RlU3RhY2sucG9wKCk7CistfTsKKy1p ZiAobm9kZS0+di5DYWxsLmt3YXJncykgeworLSAgICBub2RlU3RhY2sucHVzaCh2KTsKKy0gICAg YXV0byBrd2FyZ3MgPSBuZXcgS2V5d29yZEFzdCh2KTsKKy0gICAgbm9kZVN0YWNrLnB1c2goa3dh cmdzKTsKKy0gICAga3dhcmdzLT52YWx1ZSA9IHN0YXRpY19jYXN0PEV4cHJlc3Npb25Bc3QqPih2 aXNpdE5vZGUobm9kZS0+di5DYWxsLmt3YXJncykpOworLSAgICBub2RlU3RhY2sucG9wKCk7Cist ICAgIHYtPmtleXdvcmRzLmFwcGVuZChrd2FyZ3MpOworLSAgICBub2RlU3RhY2sucG9wKCk7Cist fTs7CiAtUlVMRV9GT1IgX2V4cHI7S0lORCBOdW1fa2luZDtBQ1RJT05TIGNyZWF0ZXxOdW1iZXJB c3Q7Q09ERSB2LT5pc0ludCA9IFB5TG9uZ19DaGVjayhub2RlLT52Lk51bS5uKTsgdi0+dmFsdWUg PSBQeUxvbmdfQXNMb25nKG5vZGUtPnYuTnVtLm4pOzsKIC1SVUxFX0ZPUiBfZXhwcjtLSU5EIFN0 cl9raW5kO0FDVElPTlMgY3JlYXRlfFN0cmluZ0FzdCBzZXR8dmFsdWUkPnM7OwotK1JVTEVfRk9S IF9leHByO0tJTkQgTnVtX2tpbmQ7QUNUSU9OUyBjcmVhdGV8TnVtYmVyQXN0O0JFRk9SRSAzLjg7 Q09ERSB2LT5pc0ludCA9IFB5TG9uZ19DaGVjayhub2RlLT52Lk51bS5uKTsgdi0+dmFsdWUgPSBQ eUxvbmdfQXNMb25nKG5vZGUtPnYuTnVtLm4pOzsKLStSVUxFX0ZPUiBfZXhwcjtLSU5EIFN0cl9r aW5kO0FDVElPTlMgY3JlYXRlfFN0cmluZ0FzdCBzZXR8dmFsdWUkPnM7QkVGT1JFIDMuODs7Ci0g UlVMRV9GT1IgX2V4cHI7S0lORCBKb2luZWRTdHJfa2luZDtBQ1RJT05TIGNyZWF0ZXxKb2luZWRT dHJpbmdBc3Qgc2V0fHZhbHVlcz0+RXhwcmVzc2lvbkFzdCx2YWx1ZXM7U0lOQ0UgMy42OzsKLSBS VUxFX0ZPUiBfZXhwcjtLSU5EIEZvcm1hdHRlZFZhbHVlX2tpbmQ7QUNUSU9OUyBjcmVhdGV8Rm9y bWF0dGVkVmFsdWVBc3Qgc2V0fHZhbHVlLT5FeHByZXNzaW9uQXN0LHZhbHVlIHNldHxjb252ZXJz aW9uOj5jb252ZXJzaW9uIHNldHxmb3JtYXRTcGVjLT5FeHByZXNzaW9uQXN0LGZvcm1hdF9zcGVj O1NJTkNFIDMuNjs7CistUlVMRV9GT1IgX2V4cHI7S0lORCBKb2luZWRTdHJfa2luZDtBQ1RJT05T IGNyZWF0ZXxKb2luZWRTdHJpbmdBc3Qgc2V0fHZhbHVlcz0+RXhwcmVzc2lvbkFzdCx2YWx1ZXM7 U0lOQ0UgMy42OzsKKy1SVUxFX0ZPUiBfZXhwcjtLSU5EIEZvcm1hdHRlZFZhbHVlX2tpbmQ7QUNU SU9OUyBjcmVhdGV8Rm9ybWF0dGVkVmFsdWVBc3Qgc2V0fHZhbHVlLT5FeHByZXNzaW9uQXN0LHZh bHVlIHNldHxjb252ZXJzaW9uOj5jb252ZXJzaW9uIHNldHxmb3JtYXRTcGVjLT5FeHByZXNzaW9u QXN0LGZvcm1hdF9zcGVjO1NJTkNFIDMuNjs7CiAtUlVMRV9GT1IgX2V4cHI7S0lORCBCeXRlc19r aW5kO0FDVElPTlMgY3JlYXRlfEJ5dGVzQXN0IHNldHx2YWx1ZSQ+czs7Ci0rUlVMRV9GT1IgX2V4 cHI7S0lORCBCeXRlc19raW5kO0FDVElPTlMgY3JlYXRlfEJ5dGVzQXN0IHNldHx2YWx1ZSQ+cztC RUZPUkUgMy44OzsKLSBSVUxFX0ZPUiBfZXhwcjtLSU5EIEF0dHJpYnV0ZV9raW5kO0FDVElPTlMg Y3JlYXRlfEF0dHJpYnV0ZUFzdCBzZXR8YXR0cmlidXRlfj5hdHRyIHNldHx2YWx1ZS0+RXhwcmVz c2lvbkFzdCx2YWx1ZSBzZXR8Y29udGV4dCo+Q29udGV4dCxjdHg7OwotIFJVTEVfRk9SIF9leHBy O0tJTkQgU3Vic2NyaXB0X2tpbmQ7QUNUSU9OUyBjcmVhdGV8U3Vic2NyaXB0QXN0IHNldHx2YWx1 ZS0+RXhwcmVzc2lvbkFzdCx2YWx1ZSBzZXR8c2xpY2UtPlNsaWNlQXN0LHNsaWNlIHNldHxjb250 ZXh0Kj5Db250ZXh0LGN0eDs7Ci0gUlVMRV9GT1IgX2V4cHI7S0lORCBTdGFycmVkX2tpbmQ7QUNU SU9OUyBjcmVhdGV8U3RhcnJlZEFzdCBzZXR8dmFsdWUtPkV4cHJlc3Npb25Bc3QsdmFsdWUgc2V0 fGNvbnRleHQqPkNvbnRleHQsY3R4OzsKLSBSVUxFX0ZPUiBfZXhwcjtLSU5EIE5hbWVfa2luZDtB Q1RJT05TIGNyZWF0ZXxOYW1lQXN0IHNldHxpZGVudGlmaWVyfj5pZCBzZXR8Y29udGV4dCo+Q29u dGV4dCxjdHg7OwotIFJVTEVfRk9SIF9leHByO0tJTkQgTGlzdF9raW5kO0FDVElPTlMgY3JlYXRl fExpc3RBc3Qgc2V0fGVsZW1lbnRzPT5FeHByZXNzaW9uQXN0LGVsdHMgc2V0fGNvbnRleHQqPkNv bnRleHQsY3R4OzsKLSBSVUxFX0ZPUiBfZXhwcjtLSU5EIFR1cGxlX2tpbmQ7QUNUSU9OUyBjcmVh dGV8VHVwbGVBc3Qgc2V0fGVsZW1lbnRzPT5FeHByZXNzaW9uQXN0LGVsdHMgc2V0fGNvbnRleHQq PkNvbnRleHQsY3R4OzsKKy1SVUxFX0ZPUiBfZXhwcjtLSU5EIEF0dHJpYnV0ZV9raW5kO0FDVElP TlMgY3JlYXRlfEF0dHJpYnV0ZUFzdCBzZXR8YXR0cmlidXRlfj5hdHRyIHNldHx2YWx1ZS0+RXhw cmVzc2lvbkFzdCx2YWx1ZSBzZXR8Y29udGV4dCo+Q29udGV4dCxjdHg7OworLVJVTEVfRk9SIF9l eHByO0tJTkQgU3Vic2NyaXB0X2tpbmQ7QUNUSU9OUyBjcmVhdGV8U3Vic2NyaXB0QXN0IHNldHx2 YWx1ZS0+RXhwcmVzc2lvbkFzdCx2YWx1ZSBzZXR8c2xpY2UtPlNsaWNlQXN0LHNsaWNlIHNldHxj b250ZXh0Kj5Db250ZXh0LGN0eDs7CistUlVMRV9GT1IgX2V4cHI7S0lORCBTdGFycmVkX2tpbmQ7 QUNUSU9OUyBjcmVhdGV8U3RhcnJlZEFzdCBzZXR8dmFsdWUtPkV4cHJlc3Npb25Bc3QsdmFsdWUg c2V0fGNvbnRleHQqPkNvbnRleHQsY3R4OzsKKy1SVUxFX0ZPUiBfZXhwcjtLSU5EIE5hbWVfa2lu ZDtBQ1RJT05TIGNyZWF0ZXxOYW1lQXN0IHNldHxpZGVudGlmaWVyfj5pZCBzZXR8Y29udGV4dCo+ Q29udGV4dCxjdHg7OworLVJVTEVfRk9SIF9leHByO0tJTkQgTGlzdF9raW5kO0FDVElPTlMgY3Jl YXRlfExpc3RBc3Qgc2V0fGVsZW1lbnRzPT5FeHByZXNzaW9uQXN0LGVsdHMgc2V0fGNvbnRleHQq PkNvbnRleHQsY3R4OzsKKy1SVUxFX0ZPUiBfZXhwcjtLSU5EIFR1cGxlX2tpbmQ7QUNUSU9OUyBj cmVhdGV8VHVwbGVBc3Qgc2V0fGVsZW1lbnRzPT5FeHByZXNzaW9uQXN0LGVsdHMgc2V0fGNvbnRl eHQqPkNvbnRleHQsY3R4OzsKIC1SVUxFX0ZPUiBfZXhwcjtLSU5EIEVsbGlwc2lzX2tpbmQ7QUNU SU9OUyBjcmVhdGV8RWxsaXBzaXNBc3Q7OwogLVJVTEVfRk9SIF9leHByO0tJTkQgTmFtZUNvbnN0 YW50X2tpbmQ7QUNUSU9OUyBjcmVhdGV8TmFtZUNvbnN0YW50QXN0IHNldHx2YWx1ZV8+dmFsdWU7 OworLVJVTEVfRk9SIF9leHByO0tJTkQgWWllbGRGcm9tX2tpbmQ7QUNUSU9OUyBjcmVhdGV8WWll bGRGcm9tQXN0IHNldHx2YWx1ZS0+RXhwcmVzc2lvbkFzdCx2YWx1ZTs7CistCistUlVMRV9GT1Ig X3NsaWNlO0tJTkQgU2xpY2Vfa2luZDtBQ1RJT05TIGNyZWF0ZXxTbGljZUFzdCBzZXR8bG93ZXIt PkV4cHJlc3Npb25Bc3QsbG93ZXIgc2V0fHVwcGVyLT5FeHByZXNzaW9uQXN0LHVwcGVyIHNldHxz dGVwLT5FeHByZXNzaW9uQXN0LHN0ZXA7OworLVJVTEVfRk9SIF9zbGljZTtLSU5EIEV4dFNsaWNl X2tpbmQ7QUNUSU9OUyBjcmVhdGV8RXh0ZW5kZWRTbGljZUFzdCBzZXR8ZGltcz0+U2xpY2VBc3Qs ZGltczs7CistUlVMRV9GT1IgX3NsaWNlO0tJTkQgSW5kZXhfa2luZDtBQ1RJT05TIGNyZWF0ZXxJ bmRleEFzdCBzZXR8dmFsdWUtPkV4cHJlc3Npb25Bc3QsdmFsdWU7OworLQorLQorLVJVTEVfRk9S IF9jb21wcmVoZW5zaW9uO0tJTkQgYW55O0FDVElPTlMgY3JlYXRlfENvbXByZWhlbnNpb25Bc3Qg c2V0fHRhcmdldC0+RXhwcmVzc2lvbkFzdCx0YXJnZXQgc2V0fGl0ZXJhdG9yLT5FeHByZXNzaW9u QXN0LGl0ZXIgc2V0fGNvbmRpdGlvbnM9PkV4cHJlc3Npb25Bc3QsaWZzOzsKKy1SVUxFX0ZPUiBf ZXhjZXB0aGFuZGxlcjtLSU5EIEV4Y2VwdEhhbmRsZXJfa2luZDtBQ1RJT05TIGNyZWF0ZXxFeGNl cHRpb25IYW5kbGVyQXN0IHNldHx0eXBlLT5FeHByZXNzaW9uQXN0LHR5cGUgc2V0fG5hbWV+Pm5h bWUgc2V0fGJvZHk9PkFzdCxib2R5OzsKKy1SVUxFX0ZPUiBfYXJndW1lbnRzO0tJTkQgYW55O0FD VElPTlMgY3JlYXRlfEFyZ3VtZW50c0FzdCBzZXR8dmFyYXJnLT5BcmdBc3QsdmFyYXJnIHNldHxr d2FyZy0+QXJnQXN0LGt3YXJnIHNldHxhcmd1bWVudHM9PkFyZ0FzdCxhcmdzIHNldHxkZWZhdWx0 VmFsdWVzPT5FeHByZXNzaW9uQXN0LGRlZmF1bHRzIHNldHxrd29ubHlhcmdzPT5BcmdBc3Qsa3dv bmx5YXJnczs7CistUlVMRV9GT1IgX2FyZztLSU5EIGFueTtBQ1RJT05TIGNyZWF0ZXxBcmdBc3Qg c2V0fGFyZ3VtZW50TmFtZX4+YXJnIHNldHxhbm5vdGF0aW9uLT5FeHByZXNzaW9uQXN0LGFubm90 YXRpb247OworLVJVTEVfRk9SIF9rZXl3b3JkO0tJTkQgYW55O0FDVElPTlMgY3JlYXRlfEtleXdv cmRBc3Qgc2V0fGFyZ3VtZW50TmFtZX4+YXJnIHNldHx2YWx1ZS0+RXhwcmVzc2lvbkFzdCx2YWx1 ZTs7CistUlVMRV9GT1IgX2FsaWFzO0tJTkQgYW55O0FDVElPTlMgY3JlYXRlfEFsaWFzQXN0IHNl dHxuYW1lfj5uYW1lIHNldHxhc05hbWV+PmFzbmFtZTs7CistUlVMRV9GT1IgX3dpdGhpdGVtO0tJ TkQgYW55OyBBQ1RJT05TIGNyZWF0ZXxXaXRoSXRlbUFzdCBzZXR8Y29udGV4dEV4cHJlc3Npb24t PkV4cHJlc3Npb25Bc3QsY29udGV4dF9leHByIHNldHxvcHRpb25hbFZhcnMtPkV4cHJlc3Npb25B c3Qsb3B0aW9uYWxfdmFyczs7CitkaWZmIC0tZ2l0IGEvcGFyc2VyL3B5dGhvbjM4LnNkZWYgYi9w YXJzZXIvcHl0aG9uMzguc2RlZgorbmV3IGZpbGUgbW9kZSAxMDA2NDQKK2luZGV4IDAwMDAwMDAu LjMwZDlmOTUKKy0tLSAvZGV2L251bGwKKysrKyBiL3BhcnNlci9weXRob24zOC5zZGVmCitAQCAt MCwwICsxLDE0NSBAQAorK0NPTU1FTlQ7VGhpcyBmaWxlIHNwZWNpZmllcyBydWxlcyBmb3IgYSBj b252ZXJzaW9uIG9mIGEgcHl0aG9uIChDKSB0byBhIHBsdWdpbi1pbnRlcm5hbCAoQysrKSBzeW50 YXggdHJlZTs7CisrQ09NTUVOVDtBbGwgbGluZXMgYXJlIHRlcm1pbmF0ZWQgYnkgYSBkb3VibGUg c2VtaWNvbG9uIHRva2VuLCBuZXdsaW5lcyBhcmUgaWdub3JlZC47OworK0NPTU1FTlQ7LT4gc3Rh bmRzIGZvciAiY29udmVydCBBU1QiLCA9PiBmb3IgImNvbnZlcnQgQVNUIGxpc3QiLCB+PiBmb3Ig Im1ha2UgYW4gaWRlbnRpZmllciIsIDo+IGlzIGFuIGFzc2lnbm1lbnQgdy9vIGNvbnZlcnNpb24s IGFuZCAqPiBpcyBhbiBlbnVtIGNhc3QuOzsKKytDT01NRU5UOyQ+IGlzIGEgc3RyaW5nIGFzc2ln bm1lbnQsICs+IGlzIGEgIm1pbmRsZXNzIGFzc2lnbm1lbnQsIGxpa2UsIGl0IGp1c3QgZG9lcyB2 LT5hcmcgPSBub2RlLT5hcmcuCisrQ09NTUVOVDtfPiBpcyBhIFNpbmdsZXRvbiBBc3NpZ25tZW50 IChjb252ZXJ0cyBQeV9UcnVlLCBQeV9GYWxzZSwgUHlfTm9uZSB0byBlbnVtKQorK0NPTU1FTlQ7 dGhlIENPREUgc3RhdGVtZW50IGNhbiBiZSB1c2VkIHRvIGFkZCBjdXN0b20gY29kZS47OworKwor KworK1JVTEVfRk9SIF9zdG10O0tJTkQgRXhwcl9raW5kO0FDVElPTlMgY3JlYXRlfEV4cHJlc3Np b25Bc3Qgc2V0fHZhbHVlLT5FeHByZXNzaW9uQXN0LHZhbHVlOzsKKytSVUxFX0ZPUiBfc3RtdDtL SU5EIEZ1bmN0aW9uRGVmX2tpbmQ7QUNUSU9OUyBjcmVhdGV8RnVuY3Rpb25EZWZpbml0aW9uQXN0 IHNldHxuYW1lfj5uYW1lIHNldHxhcmd1bWVudHMtPkFyZ3VtZW50c0FzdCxhcmdzCisrICAgIHNl dHxib2R5PT5Bc3QsYm9keSBzZXR8ZGVjb3JhdG9ycz0+RXhwcmVzc2lvbkFzdCxkZWNvcmF0b3Jf bGlzdCBzZXR8cmV0dXJucy0+RXhwcmVzc2lvbkFzdCxyZXR1cm5zOzsKKytSVUxFX0ZPUiBfc3Rt dDtLSU5EIEFzeW5jRnVuY3Rpb25EZWZfa2luZDtBQ1RJT05TIGNyZWF0ZXxGdW5jdGlvbkRlZmlu aXRpb25Bc3Qgc2V0fG5hbWV+Pm5hbWUgc2V0fGFyZ3VtZW50cy0+QXJndW1lbnRzQXN0LGFyZ3MK KysgICAgc2V0fGJvZHk9PkFzdCxib2R5IHNldHxkZWNvcmF0b3JzPT5FeHByZXNzaW9uQXN0LGRl Y29yYXRvcl9saXN0IHNldHxyZXR1cm5zLT5FeHByZXNzaW9uQXN0LHJldHVybnM7U0lOQ0UgMy41 O0NPREUgdi0+YXN5bmMgPSB0cnVlOzsKKytSVUxFX0ZPUiBfc3RtdDtLSU5EIENsYXNzRGVmX2tp bmQ7QUNUSU9OUyBjcmVhdGV8Q2xhc3NEZWZpbml0aW9uQXN0IHNldHxuYW1lfj5uYW1lIHNldHxi YXNlQ2xhc3Nlcz0+RXhwcmVzc2lvbkFzdCxiYXNlcyBzZXR8Ym9keT0+QXN0LGJvZHkKKysgICAg c2V0fGRlY29yYXRvcnM9PkV4cHJlc3Npb25Bc3QsZGVjb3JhdG9yX2xpc3Q7OworK1JVTEVfRk9S IF9zdG10O0tJTkQgUmV0dXJuX2tpbmQ7QUNUSU9OUyBjcmVhdGV8UmV0dXJuQXN0IHNldHx2YWx1 ZS0+RXhwcmVzc2lvbkFzdCx2YWx1ZTs7CisrUlVMRV9GT1IgX3N0bXQ7S0lORCBEZWxldGVfa2lu ZDtBQ1RJT05TIGNyZWF0ZXxEZWxldGVBc3Qgc2V0fHRhcmdldHM9PkV4cHJlc3Npb25Bc3QsdGFy Z2V0czs7CisrUlVMRV9GT1IgX3N0bXQ7S0lORCBBc3NpZ25fa2luZDtBQ1RJT05TIGNyZWF0ZXxB c3NpZ25tZW50QXN0IHNldHx0YXJnZXRzPT5FeHByZXNzaW9uQXN0LHRhcmdldHMgc2V0fHZhbHVl LT5FeHByZXNzaW9uQXN0LHZhbHVlOzsKKytSVUxFX0ZPUiBfc3RtdDtLSU5EIEF1Z0Fzc2lnbl9r aW5kO0FDVElPTlMgY3JlYXRlfEF1Z21lbnRlZEFzc2lnbm1lbnRBc3Qgc2V0fHRhcmdldC0+RXhw cmVzc2lvbkFzdCx0YXJnZXQgc2V0fG9wKj5PcGVyYXRvclR5cGVzLG9wIHNldHx2YWx1ZS0+RXhw cmVzc2lvbkFzdCx2YWx1ZTs7CisrUlVMRV9GT1IgX3N0bXQ7S0lORCBBbm5Bc3NpZ25fa2luZDtB Q1RJT05TIGNyZWF0ZXxBbm5vdGF0aW9uQXNzaWdubWVudEFzdCBzZXR8dGFyZ2V0LT5FeHByZXNz aW9uQXN0LHRhcmdldCBzZXR8YW5ub3RhdGlvbi0+RXhwcmVzc2lvbkFzdCxhbm5vdGF0aW9uIHNl dHx2YWx1ZS0+RXhwcmVzc2lvbkFzdCx2YWx1ZTtTSU5DRSAzLjY7OworK1JVTEVfRk9SIF9zdG10 O0tJTkQgRm9yX2tpbmQ7QUNUSU9OUyBjcmVhdGV8Rm9yQXN0IHNldHx0YXJnZXQtPkV4cHJlc3Np b25Bc3QsdGFyZ2V0IHNldHxpdGVyYXRvci0+RXhwcmVzc2lvbkFzdCxpdGVyIHNldHxib2R5PT5B c3QsYm9keSBzZXR8b3JlbHNlPT5Bc3Qsb3JlbHNlOzsKKytSVUxFX0ZPUiBfc3RtdDtLSU5EIEFz eW5jRm9yX2tpbmQ7QUNUSU9OUyBjcmVhdGV8Rm9yQXN0IHNldHx0YXJnZXQtPkV4cHJlc3Npb25B c3QsdGFyZ2V0IHNldHxpdGVyYXRvci0+RXhwcmVzc2lvbkFzdCxpdGVyIHNldHxib2R5PT5Bc3Qs Ym9keSBzZXR8b3JlbHNlPT5Bc3Qsb3JlbHNlO1NJTkNFIDMuNTs7CisrUlVMRV9GT1IgX3N0bXQ7 S0lORCBXaGlsZV9raW5kO0FDVElPTlMgY3JlYXRlfFdoaWxlQXN0IHNldHxjb25kaXRpb24tPkV4 cHJlc3Npb25Bc3QsdGVzdCBzZXR8Ym9keT0+QXN0LGJvZHkgc2V0fG9yZWxzZT0+QXN0LG9yZWxz ZTs7CisrUlVMRV9GT1IgX3N0bXQ7S0lORCBJZl9raW5kO0FDVElPTlMgY3JlYXRlfElmQXN0IHNl dHxjb25kaXRpb24tPkV4cHJlc3Npb25Bc3QsdGVzdCBzZXR8Ym9keT0+QXN0LGJvZHkgc2V0fG9y ZWxzZT0+QXN0LG9yZWxzZTs7CisrUlVMRV9GT1IgX3N0bXQ7S0lORCBXaXRoX2tpbmQ7QUNUSU9O UyBjcmVhdGV8V2l0aEFzdCBzZXR8Ym9keT0+QXN0LGJvZHkgc2V0fGl0ZW1zPT5XaXRoSXRlbUFz dCxpdGVtczs7CisrUlVMRV9GT1IgX3N0bXQ7S0lORCBBc3luY1dpdGhfa2luZDtBQ1RJT05TIGNy ZWF0ZXxXaXRoQXN0IHNldHxib2R5PT5Bc3QsYm9keSBzZXR8aXRlbXM9PldpdGhJdGVtQXN0LGl0 ZW1zO1NJTkNFIDMuNTs7CisrCisrQ09NTUVOVDtGSVhNRTogdGhlIHN0cnVjdCBSYWlzZSBoYXMg Y2hhbmdlZCwgc28gdGhlIGZvbGxvd2luZyBsaW5lIGlzIGxpa2VseSB3cm9uZzs7CisrUlVMRV9G T1IgX3N0bXQ7S0lORCBSYWlzZV9raW5kO0FDVElPTlMgY3JlYXRlfFJhaXNlQXN0IHNldHx0eXBl LT5FeHByZXNzaW9uQXN0LGV4Yzs7CisrUlVMRV9GT1IgX3N0bXQ7S0lORCBUcnlfa2luZDtBQ1RJ T05TIGNyZWF0ZXxUcnlBc3Qgc2V0fGJvZHk9PkFzdCxib2R5IHNldHxoYW5kbGVycz0+RXhjZXB0 aW9uSGFuZGxlckFzdCxoYW5kbGVycyBzZXR8b3JlbHNlPT5Bc3Qsb3JlbHNlIHNldHxmaW5hbGx5 PT5Bc3QsZmluYWxib2R5OzsKKytSVUxFX0ZPUiBfc3RtdDtLSU5EIEFzc2VydF9raW5kO0FDVElP TlMgY3JlYXRlfEFzc2VydGlvbkFzdCBzZXR8Y29uZGl0aW9uLT5FeHByZXNzaW9uQXN0LHRlc3Qg c2V0fG1lc3NhZ2UtPkV4cHJlc3Npb25Bc3QsbXNnOzsKKytSVUxFX0ZPUiBfc3RtdDtLSU5EIElt cG9ydF9raW5kO0FDVElPTlMgY3JlYXRlfEltcG9ydEFzdCBzZXR8bmFtZXM9PkFsaWFzQXN0LG5h bWVzOzsKKytSVUxFX0ZPUiBfc3RtdDtLSU5EIEltcG9ydEZyb21fa2luZDtBQ1RJT05TIGNyZWF0 ZXxJbXBvcnRGcm9tQXN0IHNldHxtb2R1bGV+Pm1vZHVsZSBzZXR8bmFtZXM9PkFsaWFzQXN0LG5h bWVzIHNldHxsZXZlbDo+bGV2ZWw7OworK1JVTEVfRk9SIF9zdG10O0tJTkQgR2xvYmFsX2tpbmQ7 QUNUSU9OUyBjcmVhdGV8R2xvYmFsQXN0IHNldHxuYW1lcz0+SWRlbnRpZmllcixuYW1lczs7Cisr UlVMRV9GT1IgX3N0bXQ7S0lORCBCcmVha19raW5kO0FDVElPTlMgY3JlYXRlfEJyZWFrQXN0OzsK KytSVUxFX0ZPUiBfc3RtdDtLSU5EIENvbnRpbnVlX2tpbmQ7QUNUSU9OUyBjcmVhdGV8Q29udGlu dWVBc3Q7OworK1JVTEVfRk9SIF9zdG10O0tJTkQgUGFzc19raW5kO0FDVElPTlMgY3JlYXRlfFBh c3NBc3Q7OworK1JVTEVfRk9SIF9zdG10O0tJTkQgTm9ubG9jYWxfa2luZDtBQ1RJT05TIGNyZWF0 ZXxOb25sb2NhbEFzdDs7CisrCisrUlVMRV9GT1IgX2V4cHI7S0lORCBBd2FpdF9raW5kO0FDVElP TlMgY3JlYXRlfEF3YWl0QXN0IHNldHx2YWx1ZS0+RXhwcmVzc2lvbkFzdCx2YWx1ZTtTSU5DRSAz LjU7OworK1JVTEVfRk9SIF9leHByO0tJTkQgQm9vbE9wX2tpbmQ7QUNUSU9OUyBjcmVhdGV8Qm9v bGVhbk9wZXJhdGlvbkFzdCBzZXR8dHlwZSo+Qm9vbGVhbk9wZXJhdGlvblR5cGVzLG9wIHNldHx2 YWx1ZXM9PkV4cHJlc3Npb25Bc3QsdmFsdWVzOzsKKytSVUxFX0ZPUiBfZXhwcjtLSU5EIEJpbk9w X2tpbmQ7QUNUSU9OUyBjcmVhdGV8QmluYXJ5T3BlcmF0aW9uQXN0IHNldHx0eXBlKj5PcGVyYXRv clR5cGVzLG9wIHNldHxsaHMtPkV4cHJlc3Npb25Bc3QsbGVmdCBzZXR8cmhzLT5FeHByZXNzaW9u QXN0LHJpZ2h0OzsKKytSVUxFX0ZPUiBfZXhwcjtLSU5EIFVuYXJ5T3Bfa2luZDtBQ1RJT05TIGNy ZWF0ZXxVbmFyeU9wZXJhdGlvbkFzdCBzZXR8dHlwZSo+VW5hcnlPcGVyYXRvclR5cGVzLG9wIHNl dHxvcGVyYW5kLT5FeHByZXNzaW9uQXN0LG9wZXJhbmQ7OworK1JVTEVfRk9SIF9leHByO0tJTkQg TGFtYmRhX2tpbmQ7QUNUSU9OUyBjcmVhdGV8TGFtYmRhQXN0IHNldHxhcmd1bWVudHMtPkFyZ3Vt ZW50c0FzdCxhcmdzIHNldHxib2R5LT5FeHByZXNzaW9uQXN0LGJvZHk7OworK1JVTEVfRk9SIF9l eHByO0tJTkQgSWZFeHBfa2luZDtBQ1RJT05TIGNyZWF0ZXxJZkV4cHJlc3Npb25Bc3Qgc2V0fGNv bmRpdGlvbi0+RXhwcmVzc2lvbkFzdCx0ZXN0IHNldHxib2R5LT5FeHByZXNzaW9uQXN0LGJvZHkg c2V0fG9yZWxzZS0+RXhwcmVzc2lvbkFzdCxvcmVsc2U7OworK1JVTEVfRk9SIF9leHByO0tJTkQg RGljdF9raW5kO0FDVElPTlMgY3JlYXRlfERpY3RBc3Qgc2V0fGtleXM9PkV4cHJlc3Npb25Bc3Qs a2V5cyBzZXR8dmFsdWVzPT5FeHByZXNzaW9uQXN0LHZhbHVlczs7CisrUlVMRV9GT1IgX2V4cHI7 S0lORCBTZXRfa2luZDtBQ1RJT05TIGNyZWF0ZXxTZXRBc3Qgc2V0fGVsZW1lbnRzPT5FeHByZXNz aW9uQXN0LGVsdHM7OworK1JVTEVfRk9SIF9leHByO0tJTkQgTGlzdENvbXBfa2luZDtBQ1RJT05T IGNyZWF0ZXxMaXN0Q29tcHJlaGVuc2lvbkFzdCBzZXR8ZWxlbWVudC0+RXhwcmVzc2lvbkFzdCxl bHQgc2V0fGdlbmVyYXRvcnM9PkNvbXByZWhlbnNpb25Bc3QsZ2VuZXJhdG9yczs7CisrUlVMRV9G T1IgX2V4cHI7S0lORCBTZXRDb21wX2tpbmQ7QUNUSU9OUyBjcmVhdGV8U2V0Q29tcHJlaGVuc2lv bkFzdCBzZXR8ZWxlbWVudC0+RXhwcmVzc2lvbkFzdCxlbHQgc2V0fGdlbmVyYXRvcnM9PkNvbXBy ZWhlbnNpb25Bc3QsZ2VuZXJhdG9yczs7CisrUlVMRV9GT1IgX2V4cHI7S0lORCBEaWN0Q29tcF9r aW5kO0FDVElPTlMgY3JlYXRlfERpY3Rpb25hcnlDb21wcmVoZW5zaW9uQXN0IHNldHxrZXktPkV4 cHJlc3Npb25Bc3Qsa2V5IHNldHx2YWx1ZS0+RXhwcmVzc2lvbkFzdCx2YWx1ZSBzZXR8Z2VuZXJh dG9ycz0+Q29tcHJlaGVuc2lvbkFzdCxnZW5lcmF0b3JzOzsKKytSVUxFX0ZPUiBfZXhwcjtLSU5E IEdlbmVyYXRvckV4cF9raW5kO0FDVElPTlMgY3JlYXRlfEdlbmVyYXRvckV4cHJlc3Npb25Bc3Qg c2V0fGVsZW1lbnQtPkV4cHJlc3Npb25Bc3QsZWx0IHNldHxnZW5lcmF0b3JzPT5Db21wcmVoZW5z aW9uQXN0LGdlbmVyYXRvcnM7OworK1JVTEVfRk9SIF9leHByO0tJTkQgWWllbGRfa2luZDtBQ1RJ T05TIGNyZWF0ZXxZaWVsZEFzdCBzZXR8dmFsdWUtPkV4cHJlc3Npb25Bc3QsdmFsdWU7OworK1JV TEVfRk9SIF9leHByO0tJTkQgQ29tcGFyZV9raW5kO0FDVElPTlMgY3JlYXRlfENvbXBhcmVBc3Qg c2V0fGxlZnRtb3N0RWxlbWVudC0+RXhwcmVzc2lvbkFzdCxsZWZ0IHNldHxvcGVyYXRvcnMjPkNv bXBhcmlzb25PcGVyYXRvclR5cGVzLG9wcyBzZXR8Y29tcGFyYW5kcz0+RXhwcmVzc2lvbkFzdCxj b21wYXJhdG9yczs7CisrUlVMRV9GT1IgX2V4cHI7S0lORCBDYWxsX2tpbmQ7QUNUSU9OUyBjcmVh dGV8Q2FsbEFzdCBzZXR8ZnVuY3Rpb24tPkV4cHJlc3Npb25Bc3QsZnVuYyBzZXR8YXJndW1lbnRz PT5FeHByZXNzaW9uQXN0LGFyZ3Mgc2V0fGtleXdvcmRzPT5LZXl3b3JkQXN0LGtleXdvcmRzO1NJ TkNFIDMuNTs7CisrUlVMRV9GT1IgX2V4cHI7S0lORCBDYWxsX2tpbmQ7QUNUSU9OUyBjcmVhdGV8 Q2FsbEFzdCBzZXR8ZnVuY3Rpb24tPkV4cHJlc3Npb25Bc3QsZnVuYyBzZXR8YXJndW1lbnRzPT5F eHByZXNzaW9uQXN0LGFyZ3Mgc2V0fGtleXdvcmRzPT5LZXl3b3JkQXN0LGtleXdvcmRzO0JFRk9S RSAzLjU7CisrQ09ERSAvKiBDb252ZXJ0IDMuNCB1bnBhY2tlZC1hcmdzIEFTVCB0byBtYXRjaCB0 aGUgbmV3IGZvcm1hdCBmcm9tIDMuNSsgKi8KKytpZiAobm9kZS0+di5DYWxsLnN0YXJhcmdzKSB7 CisrICAgIG5vZGVTdGFjay5wdXNoKHYpOworKyAgICBhdXRvIHN0YXJyZWQgPSBuZXcgU3RhcnJl ZEFzdCh2KTsKKysgICAgc3RhcnJlZC0+Y29udGV4dCA9IEV4cHJlc3Npb25Bc3Q6OkNvbnRleHQ6 OkxvYWQ7CisrICAgIG5vZGVTdGFjay5wdXNoKHN0YXJyZWQpOworKyAgICBzdGFycmVkLT52YWx1 ZSA9IHN0YXRpY19jYXN0PEV4cHJlc3Npb25Bc3QqPih2aXNpdE5vZGUobm9kZS0+di5DYWxsLnN0 YXJhcmdzKSk7CisrICAgIG5vZGVTdGFjay5wb3AoKTsKKysgICAgdi0+YXJndW1lbnRzLmFwcGVu ZChzdGFycmVkKTsKKysgICAgbm9kZVN0YWNrLnBvcCgpOworK307CisraWYgKG5vZGUtPnYuQ2Fs bC5rd2FyZ3MpIHsKKysgICAgbm9kZVN0YWNrLnB1c2godik7CisrICAgIGF1dG8ga3dhcmdzID0g bmV3IEtleXdvcmRBc3Qodik7CisrICAgIG5vZGVTdGFjay5wdXNoKGt3YXJncyk7CisrICAgIGt3 YXJncy0+dmFsdWUgPSBzdGF0aWNfY2FzdDxFeHByZXNzaW9uQXN0Kj4odmlzaXROb2RlKG5vZGUt PnYuQ2FsbC5rd2FyZ3MpKTsKKysgICAgbm9kZVN0YWNrLnBvcCgpOworKyAgICB2LT5rZXl3b3Jk cy5hcHBlbmQoa3dhcmdzKTsKKysgICAgbm9kZVN0YWNrLnBvcCgpOworK307OworK1JVTEVfRk9S IF9leHByO0tJTkQgTnVtX2tpbmQ7QUNUSU9OUyBjcmVhdGV8TnVtYmVyQXN0O0JFRk9SRSAzLjg7 Q09ERSB2LT5pc0ludCA9IFB5TG9uZ19DaGVjayhub2RlLT52Lk51bS5uKTsgdi0+dmFsdWUgPSBQ eUxvbmdfQXNMb25nKG5vZGUtPnYuTnVtLm4pOzsKKytSVUxFX0ZPUiBfZXhwcjtLSU5EIFN0cl9r aW5kO0FDVElPTlMgY3JlYXRlfFN0cmluZ0FzdCBzZXR8dmFsdWUkPnM7QkVGT1JFIDMuODs7Cisr UlVMRV9GT1IgX2V4cHI7S0lORCBKb2luZWRTdHJfa2luZDtBQ1RJT05TIGNyZWF0ZXxKb2luZWRT dHJpbmdBc3Qgc2V0fHZhbHVlcz0+RXhwcmVzc2lvbkFzdCx2YWx1ZXM7U0lOQ0UgMy42OzsKKytS VUxFX0ZPUiBfZXhwcjtLSU5EIEZvcm1hdHRlZFZhbHVlX2tpbmQ7QUNUSU9OUyBjcmVhdGV8Rm9y bWF0dGVkVmFsdWVBc3Qgc2V0fHZhbHVlLT5FeHByZXNzaW9uQXN0LHZhbHVlIHNldHxjb252ZXJz aW9uOj5jb252ZXJzaW9uIHNldHxmb3JtYXRTcGVjLT5FeHByZXNzaW9uQXN0LGZvcm1hdF9zcGVj O1NJTkNFIDMuNjs7CisrUlVMRV9GT1IgX2V4cHI7S0lORCBCeXRlc19raW5kO0FDVElPTlMgY3Jl YXRlfEJ5dGVzQXN0IHNldHx2YWx1ZSQ+cztCRUZPUkUgMy44OzsKKytSVUxFX0ZPUiBfZXhwcjtL SU5EIEF0dHJpYnV0ZV9raW5kO0FDVElPTlMgY3JlYXRlfEF0dHJpYnV0ZUFzdCBzZXR8YXR0cmli dXRlfj5hdHRyIHNldHx2YWx1ZS0+RXhwcmVzc2lvbkFzdCx2YWx1ZSBzZXR8Y29udGV4dCo+Q29u dGV4dCxjdHg7OworK1JVTEVfRk9SIF9leHByO0tJTkQgU3Vic2NyaXB0X2tpbmQ7QUNUSU9OUyBj cmVhdGV8U3Vic2NyaXB0QXN0IHNldHx2YWx1ZS0+RXhwcmVzc2lvbkFzdCx2YWx1ZSBzZXR8c2xp Y2UtPlNsaWNlQXN0LHNsaWNlIHNldHxjb250ZXh0Kj5Db250ZXh0LGN0eDs7CisrUlVMRV9GT1Ig X2V4cHI7S0lORCBTdGFycmVkX2tpbmQ7QUNUSU9OUyBjcmVhdGV8U3RhcnJlZEFzdCBzZXR8dmFs dWUtPkV4cHJlc3Npb25Bc3QsdmFsdWUgc2V0fGNvbnRleHQqPkNvbnRleHQsY3R4OzsKKytSVUxF X0ZPUiBfZXhwcjtLSU5EIE5hbWVfa2luZDtBQ1RJT05TIGNyZWF0ZXxOYW1lQXN0IHNldHxpZGVu dGlmaWVyfj5pZCBzZXR8Y29udGV4dCo+Q29udGV4dCxjdHg7OworK1JVTEVfRk9SIF9leHByO0tJ TkQgTGlzdF9raW5kO0FDVElPTlMgY3JlYXRlfExpc3RBc3Qgc2V0fGVsZW1lbnRzPT5FeHByZXNz aW9uQXN0LGVsdHMgc2V0fGNvbnRleHQqPkNvbnRleHQsY3R4OzsKKytSVUxFX0ZPUiBfZXhwcjtL SU5EIFR1cGxlX2tpbmQ7QUNUSU9OUyBjcmVhdGV8VHVwbGVBc3Qgc2V0fGVsZW1lbnRzPT5FeHBy ZXNzaW9uQXN0LGVsdHMgc2V0fGNvbnRleHQqPkNvbnRleHQsY3R4OzsKICtSVUxFX0ZPUiBfZXhw cjtLSU5EIEVsbGlwc2lzX2tpbmQ7QUNUSU9OUyBjcmVhdGV8RWxsaXBzaXNBc3Q7QkVGT1JFIDMu ODs7CiArUlVMRV9GT1IgX2V4cHI7S0lORCBOYW1lQ29uc3RhbnRfa2luZDtBQ1RJT05TIGNyZWF0 ZXxOYW1lQ29uc3RhbnRBc3Qgc2V0fHZhbHVlXz52YWx1ZTtCRUZPUkUgMy44OzsKLSBSVUxFX0ZP UiBfZXhwcjtLSU5EIFlpZWxkRnJvbV9raW5kO0FDVElPTlMgY3JlYXRlfFlpZWxkRnJvbUFzdCBz ZXR8dmFsdWUtPkV4cHJlc3Npb25Bc3QsdmFsdWU7OworK1JVTEVfRk9SIF9leHByO0tJTkQgWWll bGRGcm9tX2tpbmQ7QUNUSU9OUyBjcmVhdGV8WWllbGRGcm9tQXN0IHNldHx2YWx1ZS0+RXhwcmVz c2lvbkFzdCx2YWx1ZTs7CiArUlVMRV9GT1IgX2V4cHI7S0lORCBDb25zdGFudF9raW5kO0FDVElP TlM7U0lOQ0UgMy44O0NPREUKICtQeU9iamVjdCAqdmFsdWUgPSBub2RlLT52LkNvbnN0YW50LnZh bHVlOwogK2lmICh2YWx1ZSA9PSBQeV9Ob25lKSB7CkBAIC00OTgsMjEgKzY3MCwyMiBAQCBpbmRl eCBmNTNmZjFjNzlhNTExN2QyMGRlMzdlNThhYWQzMzk1NWIxNWViNGFhLi4zMGQ5Zjk1YWJhNGNl MzE1NGE3MDA3M2E3MmNkNzEzYwogKyAgICBRX0FTU0VSVChmYWxzZSk7CiArfTs7CiArUlVMRV9G T1IgX2V4cHI7S0lORCBOYW1lZEV4cHJfa2luZDtBQ1RJT05TIGNyZWF0ZXxBc3NpZ25tZW50RXhw cmVzc2lvbkFzdCBzZXR8dGFyZ2V0LT5FeHByZXNzaW9uQXN0LHRhcmdldCBzZXR8dmFsdWUtPkV4 cHJlc3Npb25Bc3QsdmFsdWU7U0lOQ0UgMy44OzsKLQotIFJVTEVfRk9SIF9zbGljZTtLSU5EIFNs aWNlX2tpbmQ7QUNUSU9OUyBjcmVhdGV8U2xpY2VBc3Qgc2V0fGxvd2VyLT5FeHByZXNzaW9uQXN0 LGxvd2VyIHNldHx1cHBlci0+RXhwcmVzc2lvbkFzdCx1cHBlciBzZXR8c3RlcC0+RXhwcmVzc2lv bkFzdCxzdGVwOzsKLSBSVUxFX0ZPUiBfc2xpY2U7S0lORCBFeHRTbGljZV9raW5kO0FDVElPTlMg Y3JlYXRlfEV4dGVuZGVkU2xpY2VBc3Qgc2V0fGRpbXM9PlNsaWNlQXN0LGRpbXM7OwotQEAgLTk1 LDcgKzEzNyw4IEBAIFJVTEVfRk9SIF9zbGljZTtLSU5EIEluZGV4X2tpbmQ7QUNUSU9OUyBjcmVh dGV8SW5kZXhBc3Qgc2V0fHZhbHVlLT5FeHByZXNzaW9uQXN0Ci0KLSBSVUxFX0ZPUiBfY29tcHJl aGVuc2lvbjtLSU5EIGFueTtBQ1RJT05TIGNyZWF0ZXxDb21wcmVoZW5zaW9uQXN0IHNldHx0YXJn ZXQtPkV4cHJlc3Npb25Bc3QsdGFyZ2V0IHNldHxpdGVyYXRvci0+RXhwcmVzc2lvbkFzdCxpdGVy IHNldHxjb25kaXRpb25zPT5FeHByZXNzaW9uQXN0LGlmczs7Ci0gUlVMRV9GT1IgX2V4Y2VwdGhh bmRsZXI7S0lORCBFeGNlcHRIYW5kbGVyX2tpbmQ7QUNUSU9OUyBjcmVhdGV8RXhjZXB0aW9uSGFu ZGxlckFzdCBzZXR8dHlwZS0+RXhwcmVzc2lvbkFzdCx0eXBlIHNldHxuYW1lfj5uYW1lIHNldHxi b2R5PT5Bc3QsYm9keTs7Ci0tUlVMRV9GT1IgX2FyZ3VtZW50cztLSU5EIGFueTtBQ1RJT05TIGNy ZWF0ZXxBcmd1bWVudHNBc3Qgc2V0fHZhcmFyZy0+QXJnQXN0LHZhcmFyZyBzZXR8a3dhcmctPkFy Z0FzdCxrd2FyZyBzZXR8YXJndW1lbnRzPT5BcmdBc3QsYXJncyBzZXR8ZGVmYXVsdFZhbHVlcz0+ RXhwcmVzc2lvbkFzdCxkZWZhdWx0cyBzZXR8a3dvbmx5YXJncz0+QXJnQXN0LGt3b25seWFyZ3M7 OworKworK1JVTEVfRk9SIF9zbGljZTtLSU5EIFNsaWNlX2tpbmQ7QUNUSU9OUyBjcmVhdGV8U2xp Y2VBc3Qgc2V0fGxvd2VyLT5FeHByZXNzaW9uQXN0LGxvd2VyIHNldHx1cHBlci0+RXhwcmVzc2lv bkFzdCx1cHBlciBzZXR8c3RlcC0+RXhwcmVzc2lvbkFzdCxzdGVwOzsKKytSVUxFX0ZPUiBfc2xp Y2U7S0lORCBFeHRTbGljZV9raW5kO0FDVElPTlMgY3JlYXRlfEV4dGVuZGVkU2xpY2VBc3Qgc2V0 fGRpbXM9PlNsaWNlQXN0LGRpbXM7OworK1JVTEVfRk9SIF9zbGljZTtLSU5EIEluZGV4X2tpbmQ7 QUNUSU9OUyBjcmVhdGV8SW5kZXhBc3Qgc2V0fHZhbHVlLT5FeHByZXNzaW9uQXN0LHZhbHVlOzsK KysKKysKKytSVUxFX0ZPUiBfY29tcHJlaGVuc2lvbjtLSU5EIGFueTtBQ1RJT05TIGNyZWF0ZXxD b21wcmVoZW5zaW9uQXN0IHNldHx0YXJnZXQtPkV4cHJlc3Npb25Bc3QsdGFyZ2V0IHNldHxpdGVy YXRvci0+RXhwcmVzc2lvbkFzdCxpdGVyIHNldHxjb25kaXRpb25zPT5FeHByZXNzaW9uQXN0LGlm czs7CisrUlVMRV9GT1IgX2V4Y2VwdGhhbmRsZXI7S0lORCBFeGNlcHRIYW5kbGVyX2tpbmQ7QUNU SU9OUyBjcmVhdGV8RXhjZXB0aW9uSGFuZGxlckFzdCBzZXR8dHlwZS0+RXhwcmVzc2lvbkFzdCx0 eXBlIHNldHxuYW1lfj5uYW1lIHNldHxib2R5PT5Bc3QsYm9keTs7CiArUlVMRV9GT1IgX2FyZ3Vt ZW50cztLSU5EIGFueTtBQ1RJT05TIGNyZWF0ZXxBcmd1bWVudHNBc3Qgc2V0fHZhcmFyZy0+QXJn QXN0LHZhcmFyZyBzZXR8a3dhcmctPkFyZ0FzdCxrd2FyZyBzZXR8YXJndW1lbnRzPT5BcmdBc3Qs YXJncyBzZXR8ZGVmYXVsdFZhbHVlcz0+RXhwcmVzc2lvbkFzdCxkZWZhdWx0cyBzZXR8a3dvbmx5 YXJncz0+QXJnQXN0LGt3b25seWFyZ3M7QkVGT1JFIDMuODs7CiArUlVMRV9GT1IgX2FyZ3VtZW50 cztLSU5EIGFueTtBQ1RJT05TIGNyZWF0ZXxBcmd1bWVudHNBc3Qgc2V0fHZhcmFyZy0+QXJnQXN0 LHZhcmFyZyBzZXR8a3dhcmctPkFyZ0FzdCxrd2FyZyBzZXR8YXJndW1lbnRzPT5BcmdBc3QsYXJn cyBzZXR8ZGVmYXVsdFZhbHVlcz0+RXhwcmVzc2lvbkFzdCxkZWZhdWx0cyBzZXR8a3dvbmx5YXJn cz0+QXJnQXN0LGt3b25seWFyZ3Mgc2V0fHBvc29ubHlhcmdzPT5BcmdBc3QscG9zb25seWFyZ3M7 U0lOQ0UgMy44OzsKLSBSVUxFX0ZPUiBfYXJnO0tJTkQgYW55O0FDVElPTlMgY3JlYXRlfEFyZ0Fz dCBzZXR8YXJndW1lbnROYW1lfj5hcmcgc2V0fGFubm90YXRpb24tPkV4cHJlc3Npb25Bc3QsYW5u b3RhdGlvbjs7Ci0gUlVMRV9GT1IgX2tleXdvcmQ7S0lORCBhbnk7QUNUSU9OUyBjcmVhdGV8S2V5 d29yZEFzdCBzZXR8YXJndW1lbnROYW1lfj5hcmcgc2V0fHZhbHVlLT5FeHByZXNzaW9uQXN0LHZh bHVlOzsKLSBSVUxFX0ZPUiBfYWxpYXM7S0lORCBhbnk7QUNUSU9OUyBjcmVhdGV8QWxpYXNBc3Qg c2V0fG5hbWV+Pm5hbWUgc2V0fGFzTmFtZX4+YXNuYW1lOzsKKytSVUxFX0ZPUiBfYXJnO0tJTkQg YW55O0FDVElPTlMgY3JlYXRlfEFyZ0FzdCBzZXR8YXJndW1lbnROYW1lfj5hcmcgc2V0fGFubm90 YXRpb24tPkV4cHJlc3Npb25Bc3QsYW5ub3RhdGlvbjs7CisrUlVMRV9GT1IgX2tleXdvcmQ7S0lO RCBhbnk7QUNUSU9OUyBjcmVhdGV8S2V5d29yZEFzdCBzZXR8YXJndW1lbnROYW1lfj5hcmcgc2V0 fHZhbHVlLT5FeHByZXNzaW9uQXN0LHZhbHVlOzsKKytSVUxFX0ZPUiBfYWxpYXM7S0lORCBhbnk7 QUNUSU9OUyBjcmVhdGV8QWxpYXNBc3Qgc2V0fG5hbWV+Pm5hbWUgc2V0fGFzTmFtZX4+YXNuYW1l OzsKKytSVUxFX0ZPUiBfd2l0aGl0ZW07S0lORCBhbnk7IEFDVElPTlMgY3JlYXRlfFdpdGhJdGVt QXN0IHNldHxjb250ZXh0RXhwcmVzc2lvbi0+RXhwcmVzc2lvbkFzdCxjb250ZXh0X2V4cHIgc2V0 fG9wdGlvbmFsVmFycy0+RXhwcmVzc2lvbkFzdCxvcHRpb25hbF92YXJzOzsKIGRpZmYgLS1naXQg YS9wYXJzZXIvdGVzdHMvcHlhc3R0ZXN0LmNwcCBiL3BhcnNlci90ZXN0cy9weWFzdHRlc3QuY3Bw Ci1pbmRleCA0ZmQ1ZjRlYmQ1YmUyZDQyNWQ2YTMyMWFkMDUxMWY3ZjNkMGRkYjQyLi5jMjhmNmZj ZTA4MDlmNDM1OGE3MjQ4OGU3NWRjMmE3ZjhlMDUwMGM0IDEwMDY0NAoraW5kZXggNGZkNWY0ZS4u YzI4ZjZmYyAxMDA2NDQKIC0tLSBhL3BhcnNlci90ZXN0cy9weWFzdHRlc3QuY3BwCiArKysgYi9w YXJzZXIvdGVzdHMvcHlhc3R0ZXN0LmNwcAogQEAgLTIzOCw2ICsyMzgsMTEgQEAgdm9pZCBQeUFz dFRlc3Q6OnRlc3RFeHByZXNzaW9uc19kYXRhKCkKQEAgLTUyNSw1ICs2OTgsNSBAQCBpbmRleCA0 ZmQ1ZjRlYmQ1YmUyZDQyNWQ2YTMyMWFkMDUxMWY3ZjNkMGRkYjQyLi5jMjhmNmZjZTA4MDlmNDM1 OGE3MjQ4OGU3NWRjMmE3ZgogKyAgICBRVGVzdDo6bmV3Um93KCJwb3NpdGlvbmFsX3BhcmFtcyIp IDw8ICJkZWYgZm9vKGEsIGIsIC8sIGMsIGQsICosIGUpOiBwYXNzIjsKICsjZW5kaWYKICB9Ci0K KyAKICB2b2lkIFB5QXN0VGVzdDo6dGVzdENvcnJlY3RlZEZ1bmNSYW5nZXMoKQo=