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: Orphaned Packages Process To: git-commits@fedoraproject.org Subject: [rpms/clang17] rawhide: Orphaned for 6+ weeks Date: Fri, 26 Jun 2026 01:48:58 GMT Message-ID: <178243853805.1.12717074445592101354.rpms-clang17-8df06d934aa1@fedoraproject.org> List-ID: X-Git-Repo: rpms/clang17 X-Git-Branch: rawhide X-Git-Rev: 8df06d934aa1d3b8d404f32962b4bc67151cadfc QSBuZXcgY29tbWl0IGhhcyBiZWVuIHB1c2hlZC4KClJlcG8gICA6IHJwbXMvY2xhbmcxNwpCcmFu Y2ggOiByYXdoaWRlCkNvbW1pdCA6IDhkZjA2ZDkzNGFhMWQzYjhkNDA0ZjMyOTYyYjRiYzY3MTUx Y2FkZmMKQXV0aG9yIDogT3JwaGFuZWQgUGFja2FnZXMgUHJvY2VzcyA8cGFja2FnaW5nLXJlcG9y dHNAZmVkb3JhcHJvamVjdC5vcmc+CkRhdGUgICA6IDIwMjYtMDYtMjVUMjA6NDg6NTMtMDU6MDAK U3RhdHMgIDogKzEvLTI3OTYgaW4gMTkgZmlsZShzKQpVUkwgICAgOiBodHRwczovL3NyYy5mZWRv cmFwcm9qZWN0Lm9yZy9ycG1zL2NsYW5nMTcvYy84ZGYwNmQ5MzRhYTFkM2I4ZDQwNGYzMjk2MmI0 YmM2NzE1MWNhZGZjP2JyYW5jaD1yYXdoaWRlCgpMb2c6Ck9ycGhhbmVkIGZvciA2KyB3ZWVrcwoK LS0tCmRpZmYgLS1naXQgYS8uZ2l0aWdub3JlIGIvLmdpdGlnbm9yZQpkZWxldGVkIGZpbGUgbW9k ZSAxMDA2NDQKaW5kZXggN2RlZjZlZC4uMDAwMDAwMAotLS0gYS8uZ2l0aWdub3JlCisrKyAvZGV2 L251bGwKQEAgLTEsNCArMCwwIEBACi0vY2xhbmctMTcuMC42LnNyYy50YXIueHoKLS9jbGFuZy0x Ny4wLjYuc3JjLnRhci54ei5zaWcKLS9jbGFuZy10b29scy1leHRyYS0xNy4wLjYuc3JjLnRhci54 egotL2NsYW5nLXRvb2xzLWV4dHJhLTE3LjAuNi5zcmMudGFyLnh6LnNpZwoKZGlmZiAtLWdpdCBh LzAwMDEtQ2xhbmctRGVmZXItdGhlLWluc3RhbnRpYXRpb24tb2YtZXhwbGljaXQtc3BlY2lmaWVy LS5wYXRjaCBiLzAwMDEtQ2xhbmctRGVmZXItdGhlLWluc3RhbnRpYXRpb24tb2YtZXhwbGljaXQt c3BlY2lmaWVyLS5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNjlmYjNiYS4u MDAwMDAwMAotLS0gYS8wMDAxLUNsYW5nLURlZmVyLXRoZS1pbnN0YW50aWF0aW9uLW9mLWV4cGxp Y2l0LXNwZWNpZmllci0ucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSwyNjAgKzAsMCBAQAotRnJv bSBmYWJkYTczMTJiOTFhNzY4NjE3ZjRmZjFmYWJlMGUxY2M3ZDkxMzFjIE1vbiBTZXAgMTcgMDA6 MDA6MDAgMjAwMQotRnJvbTogPT9VVEYtOD9xPz1FNT04OD05OD1FOT05Qj1BOD1FNT05Rj1COT89 IDxsaXV5dXBlaTk1MTAxOEBob3RtYWlsLmNvbT4KLURhdGU6IFdlZCwgMSBOb3YgMjAyMyAyMTo0 NTo0OCArMDgwMAotU3ViamVjdDogW1BBVENIXSBbQ2xhbmddIERlZmVyIHRoZSBpbnN0YW50aWF0 aW9uIG9mIGV4cGxpY2l0LXNwZWNpZmllciB1bnRpbAotIGNvbnN0cmFpbnQgY2hlY2tpbmcgY29t cGxldGVzICgjNzA1NDgpCi1NSU1FLVZlcnNpb246IDEuMAotQ29udGVudC1UeXBlOiB0ZXh0L3Bs YWluOyBjaGFyc2V0PVVURi04Ci1Db250ZW50LVRyYW5zZmVyLUVuY29kaW5nOiA4Yml0Ci0KLU1v ZGlmaWNhdGlvbnM6Ci0KLS0gU2tpcCB0aGUgaW5zdGFudGlhdGlvbiBvZiB0aGUgZXhwbGljaXQt c3BlY2lmaWVyIGR1cmluZyBEZWNsCi1zdWJzdGl0dXRpb24gaWYgd2UgYXJlIGRlZHVjaW5nIHRl bXBsYXRlIGFyZ3VtZW50cyBhbmQgdGhlCi1leHBsaWNpdC1zcGVjaWZpZXIgaXMgdmFsdWUgZGVw ZW5kZW50LgotCi0tIEluc3RhbnRpYXRlIHRoZSBleHBsaWNpdC1zcGVjaWZpZXIgYWZ0ZXIgdGhl IGNvbnN0cmFpbnQgY2hlY2tpbmcKLWNvbXBsZXRlcy4KLQotLSBNYWtlIGBpbnN0YW50aWF0ZUV4 cGxpY2l0U3BlY2lmaWVyYCBhIG1lbWJlciBmdW5jdGlvbiBpbiBvcmRlciB0bwotaW5zdGFudGlh dGUgdGhlIGV4cGxpY2l0LXNwZWNpZmllciBpbiBkaWZmZXJlbnQgc3RhZ2VzLgotCi1UaGlzIFBS IGRvZXNu4oCZdCBkZWZlciB0aGUgaW5zdGFudGlhdGlvbiBvZiB0aGUgZXhwbGljaXQgc3BlY2lm aWVyIGZvcgotZGVkdWN0aW9uIGd1aWRlcywgYmVjYXVzZSBJ4oCZbSBub3QgZmFtaWxpYXIgd2l0 aCBkZWR1Y3Rpb24gZ3VpZGVzIHlldC4KLUnigJlsbCBkaWcgaW50byBpdCBhZnRlciB0aGlzIFBS LgotCi1BY2NvcmRpbmcgdG8gbXkgbG9jYWwgdGVzdCwgR0NDIDEzIHR1cGxlIHdvcmtzIHdpdGgg dGhpcyBQUi4KLQotRml4ZXMgIzU5ODI3LgotCi0tLS0tLS0tLS0KLQotQ28tYXV0aG9yZWQtYnk6 IEVyaWNoIEtlYW5lIDxla2VhbmVAbnZpZGlhLmNvbT4KLShjaGVycnkgcGlja2VkIGZyb20gY29t bWl0IDEyOGIzYjYxZmU2NzY4YzcyNDk3NWZkMWRmMmJlMGFiZWM4NDhjZjYpCi0tLS0KLSBjbGFu Zy9kb2NzL1JlbGVhc2VOb3Rlcy5yc3QgICAgICAgICAgICAgICAgICAgfCAgNCArKwotIGNsYW5n L2luY2x1ZGUvY2xhbmcvU2VtYS9TZW1hLmggICAgICAgICAgICAgICB8ICAzICsrCi0gY2xhbmcv bGliL1NlbWEvU2VtYVRlbXBsYXRlRGVkdWN0aW9uLmNwcCAgICAgIHwgNTMgKysrKysrKysrKysr KysrKysrKwotIC4uLi9saWIvU2VtYS9TZW1hVGVtcGxhdGVJbnN0YW50aWF0ZURlY2wuY3BwICB8 IDQwICsrKysrKysrKy0tLS0tCi0gLi4uL1NlbWFDWFgvY3h4MmEtZXhwbGljaXQtYm9vbC1kZWZl cnJlZC5jcHAgIHwgMzEgKysrKysrKysrKysKLSA1IGZpbGVzIGNoYW5nZWQsIDExNyBpbnNlcnRp b25zKCspLCAxNCBkZWxldGlvbnMoLSkKLSBjcmVhdGUgbW9kZSAxMDA2NDQgY2xhbmcvdGVzdC9T ZW1hQ1hYL2N4eDJhLWV4cGxpY2l0LWJvb2wtZGVmZXJyZWQuY3BwCi0KLWRpZmYgLS1naXQgYS9j bGFuZy9kb2NzL1JlbGVhc2VOb3Rlcy5yc3QgYi9jbGFuZy9kb2NzL1JlbGVhc2VOb3Rlcy5yc3QK LWluZGV4IGExMTQzZTE0NTYyZS4uOGUzYjk0Y2EyMDE3IDEwMDY0NAotLS0tIGEvY2xhbmcvZG9j cy9SZWxlYXNlTm90ZXMucnN0Ci0rKysgYi9jbGFuZy9kb2NzL1JlbGVhc2VOb3Rlcy5yc3QKLUBA IC04NTcsNiArODU3LDEwIEBAIEJ1ZyBGaXhlcyB0byBDKysgU3VwcG9ydAotICAgKGAjNjQxNzIg PGh0dHBzOi8vZ2l0aHViLmNvbS9sbHZtL2xsdm0tcHJvamVjdC9pc3N1ZXMvNjQxNzI+YF8pIGFu ZAotICAgKGAjNjQ3MjMgPGh0dHBzOi8vZ2l0aHViLmNvbS9sbHZtL2xsdm0tcHJvamVjdC9pc3N1 ZXMvNjQ3MjM+YF8pLgotIAotKy0gQ2xhbmcgbm93IGRlZmVycyB0aGUgaW5zdGFudGlhdGlvbiBv ZiBleHBsaWNpdCBzcGVjaWZpZXIgdW50aWwgY29uc3RyYWludCBjaGVja2luZwotKyAgY29tcGxl dGVzIChleGNlcHQgZGVkdWN0aW9uIGd1aWRlcykuIEZpeGVzOgotKyAgKGAjNTk4MjcgPGh0dHBz Oi8vZ2l0aHViLmNvbS9sbHZtL2xsdm0tcHJvamVjdC9pc3N1ZXMvNTk4Mjc+YF8pCi0rCi0gQnVn IEZpeGVzIHRvIEFTVCBIYW5kbGluZwotIF5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl4KLSAKLWRp ZmYgLS1naXQgYS9jbGFuZy9pbmNsdWRlL2NsYW5nL1NlbWEvU2VtYS5oIGIvY2xhbmcvaW5jbHVk ZS9jbGFuZy9TZW1hL1NlbWEuaAotaW5kZXggMzc1MmEyM2ZhYTg1Li5iMmFiNmQwZjg0NDUgMTAw NjQ0Ci0tLS0gYS9jbGFuZy9pbmNsdWRlL2NsYW5nL1NlbWEvU2VtYS5oCi0rKysgYi9jbGFuZy9p bmNsdWRlL2NsYW5nL1NlbWEvU2VtYS5oCi1AQCAtMTAyOTMsNiArMTAyOTMsOSBAQCBwdWJsaWM6 Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IENYWENvbnN0cnVjdG9y RGVjbCAqVG1wbCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgTXVsdGlMZXZl bFRlbXBsYXRlQXJndW1lbnRMaXN0ICZUZW1wbGF0ZUFyZ3MpOwotIAotKyAgRXhwbGljaXRTcGVj aWZpZXIgaW5zdGFudGlhdGVFeHBsaWNpdFNwZWNpZmllcigKLSsgICAgICBjb25zdCBNdWx0aUxl dmVsVGVtcGxhdGVBcmd1bWVudExpc3QgJlRlbXBsYXRlQXJncywgRXhwbGljaXRTcGVjaWZpZXIg RVMpOwotKwotICAgTmFtZWREZWNsICpGaW5kSW5zdGFudGlhdGVkRGVjbChTb3VyY2VMb2NhdGlv biBMb2MsIE5hbWVkRGVjbCAqRCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IE11 bHRpTGV2ZWxUZW1wbGF0ZUFyZ3VtZW50TGlzdCAmVGVtcGxhdGVBcmdzLAotICAgICAgICAgICAg ICAgICAgICAgICAgICAgYm9vbCBGaW5kaW5nSW5zdGFudGlhdGVkQ29udGV4dCA9IGZhbHNlKTsK LWRpZmYgLS1naXQgYS9jbGFuZy9saWIvU2VtYS9TZW1hVGVtcGxhdGVEZWR1Y3Rpb24uY3BwIGIv Y2xhbmcvbGliL1NlbWEvU2VtYVRlbXBsYXRlRGVkdWN0aW9uLmNwcAotaW5kZXggMzFlYTdiZTI5 NzVlLi41OGRkMWI3ODNiYWMgMTAwNjQ0Ci0tLS0gYS9jbGFuZy9saWIvU2VtYS9TZW1hVGVtcGxh dGVEZWR1Y3Rpb24uY3BwCi0rKysgYi9jbGFuZy9saWIvU2VtYS9TZW1hVGVtcGxhdGVEZWR1Y3Rp b24uY3BwCi1AQCAtMzU0Niw2ICszNTQ2LDQ4IEBAIHN0YXRpYyB1bnNpZ25lZCBnZXRQYWNrSW5k ZXhGb3JQYXJhbShTZW1hICZTLAotICAgbGx2bV91bnJlYWNoYWJsZSgicGFyYW1ldGVyIGluZGV4 IHdvdWxkIG5vdCBiZSBwcm9kdWNlZCBmcm9tIHRlbXBsYXRlIik7Ci0gfQotIAotKy8vIGlmIGBT cGVjaWFsaXphdGlvbmAgaXMgYSBgQ1hYQ29uc3RydWN0b3JEZWNsYCBvciBgQ1hYQ29udmVyc2lv bkRlY2xgLAotKy8vIHdlJ2xsIHRyeSB0byBpbnN0YW50aWF0ZSBhbmQgdXBkYXRlIGl0cyBleHBs aWNpdCBzcGVjaWZpZXIgYWZ0ZXIgY29uc3RyYWludAotKy8vIGNoZWNraW5nLgotK3N0YXRpYyBT ZW1hOjpUZW1wbGF0ZURlZHVjdGlvblJlc3VsdCBpbnN0YW50aWF0ZUV4cGxpY2l0U3BlY2lmaWVy RGVmZXJyZWQoCi0rICAgIFNlbWEgJlMsIEZ1bmN0aW9uRGVjbCAqU3BlY2lhbGl6YXRpb24sCi0r ICAgIGNvbnN0IE11bHRpTGV2ZWxUZW1wbGF0ZUFyZ3VtZW50TGlzdCAmU3Vic3RBcmdzLAotKyAg ICBUZW1wbGF0ZURlZHVjdGlvbkluZm8gJkluZm8sIEZ1bmN0aW9uVGVtcGxhdGVEZWNsICpGdW5j dGlvblRlbXBsYXRlLAotKyAgICBBcnJheVJlZjxUZW1wbGF0ZUFyZ3VtZW50PiBEZWR1Y2VkQXJn cykgewotKyAgYXV0byBHZXRFeHBsaWNpdFNwZWNpZmllciA9IFtdKEZ1bmN0aW9uRGVjbCAqRCkg ewotKyAgICByZXR1cm4gaXNhPENYWENvbnN0cnVjdG9yRGVjbD4oRCkKLSsgICAgICAgICAgICAg ICA/IGNhc3Q8Q1hYQ29uc3RydWN0b3JEZWNsPihEKS0+Z2V0RXhwbGljaXRTcGVjaWZpZXIoKQot KyAgICAgICAgICAgICAgIDogY2FzdDxDWFhDb252ZXJzaW9uRGVjbD4oRCktPmdldEV4cGxpY2l0 U3BlY2lmaWVyKCk7Ci0rICB9OwotKyAgYXV0byBTZXRFeHBsaWNpdFNwZWNpZmllciA9IFtdKEZ1 bmN0aW9uRGVjbCAqRCwgRXhwbGljaXRTcGVjaWZpZXIgRVMpIHsKLSsgICAgaXNhPENYWENvbnN0 cnVjdG9yRGVjbD4oRCkKLSsgICAgICAgID8gY2FzdDxDWFhDb25zdHJ1Y3RvckRlY2w+KEQpLT5z ZXRFeHBsaWNpdFNwZWNpZmllcihFUykKLSsgICAgICAgIDogY2FzdDxDWFhDb252ZXJzaW9uRGVj bD4oRCktPnNldEV4cGxpY2l0U3BlY2lmaWVyKEVTKTsKLSsgIH07Ci0rCi0rICBFeHBsaWNpdFNw ZWNpZmllciBFUyA9IEdldEV4cGxpY2l0U3BlY2lmaWVyKFNwZWNpYWxpemF0aW9uKTsKLSsgIEV4 cHIgKkV4cGxpY2l0RXhwciA9IEVTLmdldEV4cHIoKTsKLSsgIGlmICghRXhwbGljaXRFeHByKQot KyAgICByZXR1cm4gU2VtYTo6VERLX1N1Y2Nlc3M7Ci0rICBpZiAoIUV4cGxpY2l0RXhwci0+aXNW YWx1ZURlcGVuZGVudCgpKQotKyAgICByZXR1cm4gU2VtYTo6VERLX1N1Y2Nlc3M7Ci0rCi0rICBT ZW1hOjpJbnN0YW50aWF0aW5nVGVtcGxhdGUgSW5zdCgKLSsgICAgICBTLCBJbmZvLmdldExvY2F0 aW9uKCksIEZ1bmN0aW9uVGVtcGxhdGUsIERlZHVjZWRBcmdzLAotKyAgICAgIFNlbWE6OkNvZGVT eW50aGVzaXNDb250ZXh0OjpEZWR1Y2VkVGVtcGxhdGVBcmd1bWVudFN1YnN0aXR1dGlvbiwgSW5m byk7Ci0rICBpZiAoSW5zdC5pc0ludmFsaWQoKSkKLSsgICAgcmV0dXJuIFNlbWE6OlRES19JbnN0 YW50aWF0aW9uRGVwdGg7Ci0rICBTZW1hOjpTRklOQUVUcmFwIFRyYXAoUyk7Ci0rICBjb25zdCBF eHBsaWNpdFNwZWNpZmllciBJbnN0YW50aWF0ZWRFUyA9Ci0rICAgICAgUy5pbnN0YW50aWF0ZUV4 cGxpY2l0U3BlY2lmaWVyKFN1YnN0QXJncywgRVMpOwotKyAgaWYgKEluc3RhbnRpYXRlZEVTLmlz SW52YWxpZCgpIHx8IFRyYXAuaGFzRXJyb3JPY2N1cnJlZCgpKSB7Ci0rICAgIFNwZWNpYWxpemF0 aW9uLT5zZXRJbnZhbGlkRGVjbCh0cnVlKTsKLSsgICAgcmV0dXJuIFNlbWE6OlRES19TdWJzdGl0 dXRpb25GYWlsdXJlOwotKyAgfQotKyAgU2V0RXhwbGljaXRTcGVjaWZpZXIoU3BlY2lhbGl6YXRp b24sIEluc3RhbnRpYXRlZEVTKTsKLSsgIHJldHVybiBTZW1hOjpUREtfU3VjY2VzczsKLSt9Ci0r Ci0gLy8vIEZpbmlzaCB0ZW1wbGF0ZSBhcmd1bWVudCBkZWR1Y3Rpb24gZm9yIGEgZnVuY3Rpb24g dGVtcGxhdGUsCi0gLy8vIGNoZWNraW5nIHRoZSBkZWR1Y2VkIHRlbXBsYXRlIGFyZ3VtZW50cyBm b3IgY29tcGxldGVuZXNzIGFuZCBmb3JtaW5nCi0gLy8vIHRoZSBmdW5jdGlvbiB0ZW1wbGF0ZSBz cGVjaWFsaXphdGlvbi4KLUBAIC0zNjc1LDYgKzM3MTcsMTcgQEAgU2VtYTo6VGVtcGxhdGVEZWR1 Y3Rpb25SZXN1bHQgU2VtYTo6RmluaXNoVGVtcGxhdGVBcmd1bWVudERlZHVjdGlvbigKLSAgICAg fQotICAgfQotIAotKyAgLy8gV2Ugc2tpcHBlZCB0aGUgaW5zdGFudGlhdGlvbiBvZiB0aGUgZXhw bGljaXQtc3BlY2lmaWVyIGR1cmluZyB0aGUKLSsgIC8vIHN1YnN0aXR1dGlvbiBvZiBgRkRgIGJl Zm9yZS4gU28sIHdlIHRyeSB0byBpbnN0YW50aWF0ZSBpdCBiYWNrIGlmCi0rICAvLyBgU3BlY2lh bGl6YXRpb25gIGlzIGVpdGhlciBhIGNvbnN0cnVjdG9yIG9yIGEgY29udmVyc2lvbiBmdW5jdGlv bi4KLSsgIGlmIChpc2E8Q1hYQ29uc3RydWN0b3JEZWNsLCBDWFhDb252ZXJzaW9uRGVjbD4oU3Bl Y2lhbGl6YXRpb24pKSB7Ci0rICAgIGlmIChUREtfU3VjY2VzcyAhPSBpbnN0YW50aWF0ZUV4cGxp Y2l0U3BlY2lmaWVyRGVmZXJyZWQoCi0rICAgICAgICAgICAgICAgICAgICAgICAgICAgKnRoaXMs IFNwZWNpYWxpemF0aW9uLCBTdWJzdEFyZ3MsIEluZm8sCi0rICAgICAgICAgICAgICAgICAgICAg ICAgICAgRnVuY3Rpb25UZW1wbGF0ZSwgRGVkdWNlZEFyZ3MpKSB7Ci0rICAgICAgcmV0dXJuIFRE S19TdWJzdGl0dXRpb25GYWlsdXJlOwotKyAgICB9Ci0rICB9Ci0rCi0gICBpZiAoT3JpZ2luYWxD YWxsQXJncykgewotICAgICAvLyBDKysgW3RlbXAuZGVkdWN0LmNhbGxdcDQ6Ci0gICAgIC8vICAg SW4gZ2VuZXJhbCwgdGhlIGRlZHVjdGlvbiBwcm9jZXNzIGF0dGVtcHRzIHRvIGZpbmQgdGVtcGxh dGUgYXJndW1lbnQKLWRpZmYgLS1naXQgYS9jbGFuZy9saWIvU2VtYS9TZW1hVGVtcGxhdGVJbnN0 YW50aWF0ZURlY2wuY3BwIGIvY2xhbmcvbGliL1NlbWEvU2VtYVRlbXBsYXRlSW5zdGFudGlhdGVE ZWNsLmNwcAotaW5kZXggZjc4ZDQ2ZjU5NTAzLi5hNDA1MTBjZTVmMmMgMTAwNjQ0Ci0tLS0gYS9j bGFuZy9saWIvU2VtYS9TZW1hVGVtcGxhdGVJbnN0YW50aWF0ZURlY2wuY3BwCi0rKysgYi9jbGFu Zy9saWIvU2VtYS9TZW1hVGVtcGxhdGVJbnN0YW50aWF0ZURlY2wuY3BwCi1AQCAtNTU1LDE4ICs1 NTUsMTYgQEAgc3RhdGljIHZvaWQgaW5zdGFudGlhdGVEZXBlbmRlbnRBTURHUFVGbGF0V29ya0dy b3VwU2l6ZUF0dHIoCi0gICBTLmFkZEFNREdQVUZsYXRXb3JrR3JvdXBTaXplQXR0cihOZXcsIEF0 dHIsIE1pbkV4cHIsIE1heEV4cHIpOwotIH0KLSAKLS1zdGF0aWMgRXhwbGljaXRTcGVjaWZpZXIK LS1pbnN0YW50aWF0ZUV4cGxpY2l0U3BlY2lmaWVyKFNlbWEgJlMsCi0tICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBjb25zdCBNdWx0aUxldmVsVGVtcGxhdGVBcmd1bWVudExpc3QgJlRlbXBs YXRlQXJncywKLS0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIEV4cGxpY2l0U3BlY2lmaWVy IEVTLCBGdW5jdGlvbkRlY2wgKk5ldykgewotK0V4cGxpY2l0U3BlY2lmaWVyIFNlbWE6Omluc3Rh bnRpYXRlRXhwbGljaXRTcGVjaWZpZXIoCi0rICAgIGNvbnN0IE11bHRpTGV2ZWxUZW1wbGF0ZUFy Z3VtZW50TGlzdCAmVGVtcGxhdGVBcmdzLCBFeHBsaWNpdFNwZWNpZmllciBFUykgewotICAgaWYg KCFFUy5nZXRFeHByKCkpCi0gICAgIHJldHVybiBFUzsKLSAgIEV4cHIgKk9sZENvbmQgPSBFUy5n ZXRFeHByKCk7Ci0gICBFeHByICpDb25kID0gbnVsbHB0cjsKLSAgIHsKLSAgICAgRW50ZXJFeHBy ZXNzaW9uRXZhbHVhdGlvbkNvbnRleHQgVW5ldmFsdWF0ZWQoCi0tICAgICAgICBTLCBTZW1hOjpF eHByZXNzaW9uRXZhbHVhdGlvbkNvbnRleHQ6OkNvbnN0YW50RXZhbHVhdGVkKTsKLS0gICAgRXhw clJlc3VsdCBTdWJzdFJlc3VsdCA9IFMuU3Vic3RFeHByKE9sZENvbmQsIFRlbXBsYXRlQXJncyk7 Ci0rICAgICAgICAqdGhpcywgU2VtYTo6RXhwcmVzc2lvbkV2YWx1YXRpb25Db250ZXh0OjpDb25z dGFudEV2YWx1YXRlZCk7Ci0rICAgIEV4cHJSZXN1bHQgU3Vic3RSZXN1bHQgPSBTdWJzdEV4cHIo T2xkQ29uZCwgVGVtcGxhdGVBcmdzKTsKLSAgICAgaWYgKFN1YnN0UmVzdWx0LmlzSW52YWxpZCgp KSB7Ci0gICAgICAgcmV0dXJuIEV4cGxpY2l0U3BlY2lmaWVyOjpJbnZhbGlkKCk7Ci0gICAgIH0K LUBAIC01NzQsNyArNTcyLDcgQEAgaW5zdGFudGlhdGVFeHBsaWNpdFNwZWNpZmllcihTZW1hICZT LAotICAgfQotICAgRXhwbGljaXRTcGVjaWZpZXIgUmVzdWx0KENvbmQsIEVTLmdldEtpbmQoKSk7 Ci0gICBpZiAoIUNvbmQtPmlzVHlwZURlcGVuZGVudCgpKQotLSAgICBTLnRyeVJlc29sdmVFeHBs aWNpdFNwZWNpZmllcihSZXN1bHQpOwotKyAgICB0cnlSZXNvbHZlRXhwbGljaXRTcGVjaWZpZXIo UmVzdWx0KTsKLSAgIHJldHVybiBSZXN1bHQ7Ci0gfQotIAotQEAgLTIwNjUsOCArMjA2Myw4IEBA IERlY2wgKlRlbXBsYXRlRGVjbEluc3RhbnRpYXRvcjo6VmlzaXRGdW5jdGlvbkRlY2woCi0gCi0g ICBFeHBsaWNpdFNwZWNpZmllciBJbnN0YW50aWF0ZWRFeHBsaWNpdFNwZWNpZmllcjsKLSAgIGlm IChhdXRvICpER3VpZGUgPSBkeW5fY2FzdDxDWFhEZWR1Y3Rpb25HdWlkZURlY2w+KEQpKSB7Ci0t ICAgIEluc3RhbnRpYXRlZEV4cGxpY2l0U3BlY2lmaWVyID0gaW5zdGFudGlhdGVFeHBsaWNpdFNw ZWNpZmllcigKLS0gICAgICAgIFNlbWFSZWYsIFRlbXBsYXRlQXJncywgREd1aWRlLT5nZXRFeHBs aWNpdFNwZWNpZmllcigpLCBER3VpZGUpOwotKyAgICBJbnN0YW50aWF0ZWRFeHBsaWNpdFNwZWNp ZmllciA9IFNlbWFSZWYuaW5zdGFudGlhdGVFeHBsaWNpdFNwZWNpZmllcigKLSsgICAgICAgIFRl bXBsYXRlQXJncywgREd1aWRlLT5nZXRFeHBsaWNpdFNwZWNpZmllcigpKTsKLSAgICAgaWYgKElu c3RhbnRpYXRlZEV4cGxpY2l0U3BlY2lmaWVyLmlzSW52YWxpZCgpKQotICAgICAgIHJldHVybiBu dWxscHRyOwotICAgfQotQEAgLTI0NDAsMTEgKzI0MzgsMjUgQEAgRGVjbCAqVGVtcGxhdGVEZWNs SW5zdGFudGlhdG9yOjpWaXNpdENYWE1ldGhvZERlY2woCi0gICAgIH0KLSAgIH0KLSAKLS0gIEV4 cGxpY2l0U3BlY2lmaWVyIEluc3RhbnRpYXRlZEV4cGxpY2l0U3BlY2lmaWVyID0KLS0gICAgICBp bnN0YW50aWF0ZUV4cGxpY2l0U3BlY2lmaWVyKFNlbWFSZWYsIFRlbXBsYXRlQXJncywKLS0gICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEV4cGxpY2l0U3BlY2lmaWVyOjpnZXRGcm9t RGVjbChEKSwgRCk7Ci0tICBpZiAoSW5zdGFudGlhdGVkRXhwbGljaXRTcGVjaWZpZXIuaXNJbnZh bGlkKCkpCi0tICAgIHJldHVybiBudWxscHRyOwotKyAgYXV0byBJbnN0YW50aWF0ZWRFeHBsaWNp dFNwZWNpZmllciA9IEV4cGxpY2l0U3BlY2lmaWVyOjpnZXRGcm9tRGVjbChEKTsKLSsgIC8vIGRl ZHVjdGlvbiBndWlkZXMgbmVlZCB0aGlzCi0rICBjb25zdCBib29sIENvdWxkSW5zdGFudGlhdGUg PQotKyAgICAgIEluc3RhbnRpYXRlZEV4cGxpY2l0U3BlY2lmaWVyLmdldEV4cHIoKSA9PSBudWxs cHRyIHx8Ci0rICAgICAgIUluc3RhbnRpYXRlZEV4cGxpY2l0U3BlY2lmaWVyLmdldEV4cHIoKS0+ aXNWYWx1ZURlcGVuZGVudCgpOwotKwotKyAgLy8gRGVsYXkgdGhlIGluc3RhbnRpYXRpb24gb2Yg dGhlIGV4cGxpY2l0LXNwZWNpZmllciB1bnRpbCBhZnRlciB0aGUKLSsgIC8vIGNvbnN0cmFpbnRz IGFyZSBjaGVja2VkIGR1cmluZyB0ZW1wbGF0ZSBhcmd1bWVudCBkZWR1Y3Rpb24uCi0rICBpZiAo Q291bGRJbnN0YW50aWF0ZSB8fAotKyAgICAgIFNlbWFSZWYuQ29kZVN5bnRoZXNpc0NvbnRleHRz LmJhY2soKS5LaW5kICE9Ci0rICAgICAgICAgIFNlbWE6OkNvZGVTeW50aGVzaXNDb250ZXh0OjpE ZWR1Y2VkVGVtcGxhdGVBcmd1bWVudFN1YnN0aXR1dGlvbikgewotKyAgICBJbnN0YW50aWF0ZWRF eHBsaWNpdFNwZWNpZmllciA9IFNlbWFSZWYuaW5zdGFudGlhdGVFeHBsaWNpdFNwZWNpZmllcigK LSsgICAgICAgIFRlbXBsYXRlQXJncywgSW5zdGFudGlhdGVkRXhwbGljaXRTcGVjaWZpZXIpOwot KwotKyAgICBpZiAoSW5zdGFudGlhdGVkRXhwbGljaXRTcGVjaWZpZXIuaXNJbnZhbGlkKCkpCi0r ICAgICAgcmV0dXJuIG51bGxwdHI7Ci0rICB9IGVsc2UgewotKyAgICBJbnN0YW50aWF0ZWRFeHBs aWNpdFNwZWNpZmllci5zZXRLaW5kKEV4cGxpY2l0U3BlY0tpbmQ6OlVucmVzb2x2ZWQpOwotKyAg fQotIAotICAgLy8gSW1wbGljaXQgZGVzdHJ1Y3RvcnMvY29uc3RydWN0b3JzIGNyZWF0ZWQgZm9y IGxvY2FsIGNsYXNzZXMgaW4KLSAgIC8vIERlY2xhcmVJbXBsaWNpdCogKHNlZSBTZW1hRGVjbENY WC5jcHApIG1pZ2h0IG5vdCBoYXZlIGFuIGFzc29jaWF0ZWQgVFNJLgotZGlmZiAtLWdpdCBhL2Ns YW5nL3Rlc3QvU2VtYUNYWC9jeHgyYS1leHBsaWNpdC1ib29sLWRlZmVycmVkLmNwcCBiL2NsYW5n L3Rlc3QvU2VtYUNYWC9jeHgyYS1leHBsaWNpdC1ib29sLWRlZmVycmVkLmNwcAotbmV3IGZpbGUg bW9kZSAxMDA2NDQKLWluZGV4IDAwMDAwMDAwMDAwMC4uNGQ2NjcwMDhmMmUyCi0tLS0gL2Rldi9u dWxsCi0rKysgYi9jbGFuZy90ZXN0L1NlbWFDWFgvY3h4MmEtZXhwbGljaXQtYm9vbC1kZWZlcnJl ZC5jcHAKLUBAIC0wLDAgKzEsMzEgQEAKLSsvLyBSVU46ICVjbGFuZ19jYzEgLWZzeW50YXgtb25s eSAtdmVyaWZ5IC1zdGQ9YysrMmEgJXMKLSsKLSt0ZW1wbGF0ZSA8dHlwZW5hbWUgVDEsIHR5cGVu YW1lIFQyPiBzdHJ1Y3QgaXNfc2FtZSB7Ci0rICBzdGF0aWMgY29uc3RleHByIGJvb2wgdmFsdWUg PSBmYWxzZTsKLSt9OwotKwotK3RlbXBsYXRlIDx0eXBlbmFtZSBUPiBzdHJ1Y3QgaXNfc2FtZTxU LCBUPiB7Ci0rICBzdGF0aWMgY29uc3RleHByIGJvb2wgdmFsdWUgPSB0cnVlOwotK307Ci0rCi0r dGVtcGxhdGUgPGNsYXNzIFQsIGNsYXNzIFU+Ci0rY29uY2VwdCBTYW1lSGVscGVyID0gaXNfc2Ft ZTxULCBVPjo6dmFsdWU7Ci0rdGVtcGxhdGUgPGNsYXNzIFQsIGNsYXNzIFU+Ci0rY29uY2VwdCBz YW1lX2FzID0gU2FtZUhlbHBlcjxULCBVPiAmJiBTYW1lSGVscGVyPFUsIFQ+OwotKwotK25hbWVz cGFjZSBkZWZlcnJlZF9pbnN0YW50aWF0aW9uIHsKLSt0ZW1wbGF0ZSA8Y2xhc3MgWD4gY29uc3Rl eHByIFggZG9fbm90X2luc3RhbnRpYXRlKCkgeyByZXR1cm4gbnVsbHB0cjsgfQotKwotK3N0cnVj dCBUIHsKLSsgIHRlbXBsYXRlIDxzYW1lX2FzPGZsb2F0PiBYPiBleHBsaWNpdChkb19ub3RfaW5z dGFudGlhdGU8WD4oKSkgVChYKSB7fQotKwotKyAgVChpbnQpIHt9Ci0rfTsKLSsKLStUIHQoNSk7 Ci0rLy8gZXhwZWN0ZWQtZXJyb3JAMTd7e2Nhbm5vdCBpbml0aWFsaXplfX0KLSsvLyBleHBlY3Rl ZC1ub3RlQDIwe3tpbiBpbnN0YW50aWF0aW9uIG9mIGZ1bmN0aW9uIHRlbXBsYXRlIHNwZWNpYWxp emF0aW9ufX0KLSsvLyBleHBlY3RlZC1ub3RlQDMwe3t3aGlsZSBzdWJzdGl0dXRpbmcgZGVkdWNl ZCB0ZW1wbGF0ZSBhcmd1bWVudHN9fQotKy8vIGV4cGVjdGVkLW5vdGVAMzB7e2luIGluc3RhbnRp YXRpb24gb2YgZnVuY3Rpb24gdGVtcGxhdGUgc3BlY2lhbGl6YXRpb259fQotK1QgdDIoNS4wZik7 Ci0rfSAvLyBuYW1lc3BhY2UgZGVmZXJyZWRfaW5zdGFudGlhdGlvbgotLS0gCi0yLjQzLjAKLQoK ZGlmZiAtLWdpdCBhLzAwMDEtQ2xhbmctRml4LWJ1aWxkLXdpdGgtR0NDLTE0LW9uLUFSTS5wYXRj aCBiLzAwMDEtQ2xhbmctRml4LWJ1aWxkLXdpdGgtR0NDLTE0LW9uLUFSTS5wYXRjaApkZWxldGVk IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZDkxNjU4Ni4uMDAwMDAwMAotLS0gYS8wMDAxLUNsYW5n LUZpeC1idWlsZC13aXRoLUdDQy0xNC1vbi1BUk0ucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSw2 NSArMCwwIEBACi1Gcm9tIGJkMmU4NDhmMTVjMGYyNTIzMTEyNmViMTBjYjBhYjM1MDcxN2RmYzAg TW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBOaWtpdGEgUG9wb3YgPG5wb3BvdkByZWRo YXQuY29tPgotRGF0ZTogRnJpLCAxOSBKYW4gMjAyNCAxMjowOToxMyArMDEwMAotU3ViamVjdDog W1BBVENIXSBbQ2xhbmddIEZpeCBidWlsZCB3aXRoIEdDQyAxNCBvbiBBUk0KLQotR0NDIDE0IGRl ZmluZXMgYF9fYXJtX3N0cmVhbWluZ2AgYXMgYSBtYWNybyBleHBhbmRpbmcgdG8KLWBbW2FybTo6 c3RyZWFtaW5nXV1gLiBEdWUgdG8gdGhlIG5lc3RlZCBtYWNybyB1c2UsIHRoaXMgZ2V0cwotZXhw YW5kZWQgcHJpb3IgdG8gY29uY2F0ZW5hdGlvbi4KLQotSXQgZG9lc24ndCBsb29rIGxpa2UgQysr IGhhcyBhIHJlYWxseSBjbGVhbiB3YXkgdG8gcHJldmVudAotbWFjcm8gZXhwYW5zaW9uLiBUaGUg YmVzdCBJIGhhdmUgZm91bmQgaXMgdG8gdXNlIGBFTVBUWSAjIyBYYCB3aGVyZQotYEVNUFRZYCBp cyBhbiBlbXB0eSBtYWNybyBhcmd1bWVudCwgc28gdGhpcyBpcyB0aGUgaGFjayBJJ20KLWltcGxl bWVudGluZyBoZXJlLgotCi1GaXhlcyBodHRwczovL2dpdGh1Yi5jb20vbGx2bS9sbHZtLXByb2pl Y3QvaXNzdWVzLzc4NjkxLgotLS0tCi0gY2xhbmcvaW5jbHVkZS9jbGFuZy9CYXNpYy9Ub2tlbktp bmRzLmRlZiAgfCAzICsrLQotIGNsYW5nL2luY2x1ZGUvY2xhbmcvQmFzaWMvVG9rZW5LaW5kcy5o ICAgIHwgMiArLQotIGNsYW5nL3V0aWxzL1RhYmxlR2VuL0NsYW5nQXR0ckVtaXR0ZXIuY3BwIHwg MiArLQotIDMgZmlsZXMgY2hhbmdlZCwgNCBpbnNlcnRpb25zKCspLCAzIGRlbGV0aW9ucygtKQot Ci1kaWZmIC0tZ2l0IGEvY2xhbmcvaW5jbHVkZS9jbGFuZy9CYXNpYy9Ub2tlbktpbmRzLmRlZiBi L2NsYW5nL2luY2x1ZGUvY2xhbmcvQmFzaWMvVG9rZW5LaW5kcy5kZWYKLWluZGV4IGVmMGRhZDBm MmRjZC4uM2FkZDEzYzA3OWYzIDEwMDY0NAotLS0tIGEvY2xhbmcvaW5jbHVkZS9jbGFuZy9CYXNp Yy9Ub2tlbktpbmRzLmRlZgotKysrIGIvY2xhbmcvaW5jbHVkZS9jbGFuZy9CYXNpYy9Ub2tlbktp bmRzLmRlZgotQEAgLTc1Miw4ICs3NTIsOSBAQCBLRVlXT1JEKF9fYnVpbHRpbl9hdmFpbGFibGUg ICAgICAgICAgICAgICwgS0VZQUxMKQotIEtFWVdPUkQoX19idWlsdGluX3N5Y2xfdW5pcXVlX3N0 YWJsZV9uYW1lLCBLRVlTWUNMKQotIAotIC8vIEtleXdvcmRzIGRlZmluZWQgYnkgQXR0ci50ZC4K LSsvLyBUaGUgIkVNUFRZICMjIFgiIGlzIHVzZWQgdG8gcHJldmVudCBlYXJseSBtYWNyby1leHBh bnNpb24gb2YgdGhlIGtleXdvcmQuCi0gI2lmbmRlZiBLRVlXT1JEX0FUVFJJQlVURQotLSNkZWZp bmUgS0VZV09SRF9BVFRSSUJVVEUoWCkgS0VZV09SRChYLCBLRVlBTEwpCi0rI2RlZmluZSBLRVlX T1JEX0FUVFJJQlVURShYLCBFTVBUWSkgS0VZV09SRChFTVBUWSAjIyBYLCBLRVlBTEwpCi0gI2Vu ZGlmCi0gI2luY2x1ZGUgImNsYW5nL0Jhc2ljL0F0dHJUb2tlbktpbmRzLmluYyIKLSAKLWRpZmYg LS1naXQgYS9jbGFuZy9pbmNsdWRlL2NsYW5nL0Jhc2ljL1Rva2VuS2luZHMuaCBiL2NsYW5nL2lu Y2x1ZGUvY2xhbmcvQmFzaWMvVG9rZW5LaW5kcy5oCi1pbmRleCBlNDg1NzQwNWJjN2YuLmZmMTE3 YmQ1YWZjNSAxMDA2NDQKLS0tLSBhL2NsYW5nL2luY2x1ZGUvY2xhbmcvQmFzaWMvVG9rZW5LaW5k cy5oCi0rKysgYi9jbGFuZy9pbmNsdWRlL2NsYW5nL0Jhc2ljL1Rva2VuS2luZHMuaAotQEAgLTEw OSw3ICsxMDksNyBAQCBib29sIGlzUHJhZ21hQW5ub3RhdGlvbihUb2tlbktpbmQgSyk7Ci0gCi0g aW5saW5lIGNvbnN0ZXhwciBib29sIGlzUmVndWxhcktleXdvcmRBdHRyaWJ1dGUoVG9rZW5LaW5k IEspIHsKLSAgIHJldHVybiAoZmFsc2UKLS0jZGVmaW5lIEtFWVdPUkRfQVRUUklCVVRFKFgpIHx8 IChLID09IHRvazo6a3dfIyNYKQotKyNkZWZpbmUgS0VZV09SRF9BVFRSSUJVVEUoWCwgLi4uKSB8 fCAoSyA9PSB0b2s6Omt3XyMjWCkKLSAjaW5jbHVkZSAiY2xhbmcvQmFzaWMvQXR0clRva2VuS2lu ZHMuaW5jIgotICAgKTsKLSB9Ci1kaWZmIC0tZ2l0IGEvY2xhbmcvdXRpbHMvVGFibGVHZW4vQ2xh bmdBdHRyRW1pdHRlci5jcHAgYi9jbGFuZy91dGlscy9UYWJsZUdlbi9DbGFuZ0F0dHJFbWl0dGVy LmNwcAotaW5kZXggYjU4MTNjNmFiYzJiLi43OWRiMTc1MDFiNjQgMTAwNjQ0Ci0tLS0gYS9jbGFu Zy91dGlscy9UYWJsZUdlbi9DbGFuZ0F0dHJFbWl0dGVyLmNwcAotKysrIGIvY2xhbmcvdXRpbHMv VGFibGVHZW4vQ2xhbmdBdHRyRW1pdHRlci5jcHAKLUBAIC0zNDMwLDcgKzM0MzAsNyBAQCB2b2lk IEVtaXRDbGFuZ0F0dHJUb2tlbktpbmRzKFJlY29yZEtlZXBlciAmUmVjb3JkcywgcmF3X29zdHJl YW0gJk9TKSB7Ci0gICAgICAgICAgICAgICAgICAgICAgIlJlZ3VsYXJLZXl3b3JkIGF0dHJpYnV0 ZXMgd2l0aCBhcmd1bWVudHMgYXJlIG5vdCAiCi0gICAgICAgICAgICAgICAgICAgICAgInlldCBz dXBwb3J0ZWQiKTsKLSAgICAgICAgIE9TIDw8ICJLRVlXT1JEX0FUVFJJQlVURSgiCi0tICAgICAg ICAgICA8PCBTLmdldFNwZWxsaW5nUmVjb3JkKCkuZ2V0VmFsdWVBc1N0cmluZygiTmFtZSIpIDw8 ICIpXG4iOwotKyAgICAgICAgICAgPDwgUy5nZXRTcGVsbGluZ1JlY29yZCgpLmdldFZhbHVlQXNT dHJpbmcoIk5hbWUiKSA8PCAiLCApXG4iOwotICAgICAgIH0KLSAgIE9TIDw8ICIjdW5kZWYgS0VZ V09SRF9BVFRSSUJVVEVcbiI7Ci0gfQotLS0gCi0yLjQzLjAKLQoKZGlmZiAtLWdpdCBhLzAwMDEt RHJpdmVyLUFkZC1hLWdjYy1lcXVpdmFsZW50LXRyaXBsZS10by10aGUtbGlzdC1vZi10ci5wYXRj aCBiLzAwMDEtRHJpdmVyLUFkZC1hLWdjYy1lcXVpdmFsZW50LXRyaXBsZS10by10aGUtbGlzdC1v Zi10ci5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNmM5NGI0ZC4uMDAwMDAw MAotLS0gYS8wMDAxLURyaXZlci1BZGQtYS1nY2MtZXF1aXZhbGVudC10cmlwbGUtdG8tdGhlLWxp c3Qtb2YtdHIucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSw1OSArMCwwIEBACi1Gcm9tIGQ2OGE1 YTc4MTdkYzBkNDM4NTNkOGI4NGM5MTg1ZGMyNDMzODY2NGYgTW9uIFNlcCAxNyAwMDowMDowMCAy MDAxCi1Gcm9tOiBUb20gU3RlbGxhcmQgPHRzdGVsbGFyQHJlZGhhdC5jb20+Ci1EYXRlOiBXZWQs IDYgT2N0IDIwMjEgMDU6MzI6NDQgKzAwMDAKLVN1YmplY3Q6IFtQQVRDSF0gRHJpdmVyOiBBZGQg YSBnY2MgZXF1aXZhbGVudCB0cmlwbGUgdG8gdGhlIGxpc3Qgb2YgdHJpcGxlcyB0bwotIHNlYXJj aAotCi1UaGVyZSBhcmUgc29tZSBnY2MgdHJpcGxlcywgbGlrZSB4ODZfNjQtcmVkaGF0LWxpbnV4 LCB0aGF0IHByb3ZpZGUgdGhlCi1zYW1lIGJlaGF2aW9yIGFzIGEgY2xhbmcgdHJpcGxlIHdpdGgg YSBzaW1pbGFyIG5hbWUgKGUuZy4KLXg4Nl82NC1yZWRoYXQtbGludXgtZ251KS4gIFdoZW4gc2Vh cmNoaW5nIGZvciBhIGdjYyBpbnN0YWxsLCBhbHNvIHNlYXJjaAotZm9yIGEgZ2NjIGVxdWl2YWxl bnQgdHJpcGxlIGlmIG9uZSBleGlzdHMuCi0KLURpZmZlcmVudGlhbCBSZXZpc2lvbjogaHR0cHM6 Ly9yZXZpZXdzLmxsdm0ub3JnL0QxMTEyMDcKLS0tLQotIGNsYW5nL2xpYi9Ecml2ZXIvVG9vbENo YWlucy9HbnUuY3BwIHwgMjIgKysrKysrKysrKysrKysrKysrKysrKwotIDEgZmlsZSBjaGFuZ2Vk LCAyMiBpbnNlcnRpb25zKCspCi0KLWRpZmYgLS1naXQgYS9jbGFuZy9saWIvRHJpdmVyL1Rvb2xD aGFpbnMvR251LmNwcCBiL2NsYW5nL2xpYi9Ecml2ZXIvVG9vbENoYWlucy9HbnUuY3BwCi1pbmRl eCBmZTViZGE1YzY2MDUuLmZkNGE3ZjcyYmUxNCAxMDA2NDQKLS0tLSBhL2NsYW5nL2xpYi9Ecml2 ZXIvVG9vbENoYWlucy9HbnUuY3BwCi0rKysgYi9jbGFuZy9saWIvRHJpdmVyL1Rvb2xDaGFpbnMv R251LmNwcAotQEAgLTE4ODQsNiArMTg4NCwxOCBAQCBzdGF0aWMgbGx2bTo6U3RyaW5nUmVmIGdl dEdDQ1Rvb2xjaGFpbkRpcihjb25zdCBBcmdMaXN0ICZBcmdzLAotICAgcmV0dXJuIEdDQ19JTlNU QUxMX1BSRUZJWDsKLSB9Ci0gCi0rLy8vIFRoaXMgZnVuY3Rpb24gdGFrZXMgYSAnY2xhbmcnIHRy aXBsZSBhbmQgY29udmVydHMgaXQgdG8gYW4gZXF1aXZhbGVudCBnY2MKLSsvLy8gdHJpcGxlLgot K3N0YXRpYyBjb25zdCBjaGFyICpDb252ZXJ0VG9HY2NUcmlwbGUoU3RyaW5nUmVmIENhbmRpZGF0 ZVRyaXBsZSkgewotKyAgcmV0dXJuIGxsdm06OlN0cmluZ1N3aXRjaDxjb25zdCBjaGFyICo+KENh bmRpZGF0ZVRyaXBsZSkKLSsgICAgICAuQ2FzZSgiYWFyY2g2NC1yZWRoYXQtbGludXgtZ251Iiwg ImFhcmNoNjQtcmVkaGF0LWxpbnV4IikKLSsgICAgICAuQ2FzZSgiaTY4Ni1yZWRoYXQtbGludXgt Z251IiwgImk2ODYtcmVkaGF0LWxpbnV4IikKLSsgICAgICAuQ2FzZSgicHBjNjRsZS1yZWRoYXQt bGludXgtZ251IiwgInBwYzY0bGUtcmVkaGF0LWxpbnV4IikKLSsgICAgICAuQ2FzZSgiczM5MHgt cmVkaGF0LWxpbnV4LWdudSIsICJzMzkweC1yZWRoYXQtbGludXgiKQotKyAgICAgIC5DYXNlKCJ4 ODZfNjQtcmVkaGF0LWxpbnV4LWdudSIsICJ4ODZfNjQtcmVkaGF0LWxpbnV4IikKLSsgICAgICAu RGVmYXVsdChOVUxMKTsKLSt9Ci0rCi0gLy8vIEluaXRpYWxpemUgYSBHQ0NJbnN0YWxsYXRpb25E ZXRlY3RvciBmcm9tIHRoZSBkcml2ZXIuCi0gLy8vCi0gLy8vIFRoaXMgcGVyZm9ybXMgYWxsIG9m IHRoZSBhdXRvZGV0ZWN0aW9uIGFuZCBzZXRzIHVwIHRoZSB2YXJpb3VzIHBhdGhzLgotQEAgLTE5 MDQsNiArMTkxNiwxNiBAQCB2b2lkIEdlbmVyaWNfR0NDOjpHQ0NJbnN0YWxsYXRpb25EZXRlY3Rv cjo6aW5pdCgKLSAgIC8vIFRoZSBjb21wYXRpYmxlIEdDQyB0cmlwbGVzIGZvciB0aGlzIHBhcnRp Y3VsYXIgYXJjaGl0ZWN0dXJlLgotICAgU21hbGxWZWN0b3I8U3RyaW5nUmVmLCAxNj4gQ2FuZGlk YXRlVHJpcGxlQWxpYXNlczsKLSAgIFNtYWxsVmVjdG9yPFN0cmluZ1JlZiwgMTY+IENhbmRpZGF0 ZUJpYXJjaFRyaXBsZUFsaWFzZXM7Ci0rCi0rICAvLyBJbiBzb21lIGNhc2VzIGdjYyB1c2VzIGEg c2xpZ2h0bHkgZGlmZmVyZW50IHRyaXBsZSB0aGFuIGNsYW5nIGZvciB0aGUKLSsgIC8vIHNhbWUg dGFyZ2V0LiAgQ29udmVydCB0aGUgY2xhbmcgdHJpcGxlIHRvIHRoZSBnY2MgZXF1aXZhbGVudCBh bmQgdXNlIHRoYXQKLSsgIC8vIHRvIHNlYXJjaCBmb3IgdGhlIGdjYyBpbnN0YWxsLgotKyAgY29u c3QgY2hhciAqQ29udmVydGVkVHJpcGxlID0gQ29udmVydFRvR2NjVHJpcGxlKFRhcmdldFRyaXBs ZS5zdHIoKSk7Ci0rICBpZiAoQ29udmVydGVkVHJpcGxlKSB7Ci0rICAgIENhbmRpZGF0ZVRyaXBs ZUFsaWFzZXMucHVzaF9iYWNrKENvbnZlcnRlZFRyaXBsZSk7Ci0rICAgIENhbmRpZGF0ZUJpYXJj aFRyaXBsZUFsaWFzZXMucHVzaF9iYWNrKENvbnZlcnRlZFRyaXBsZSk7Ci0rICB9Ci0rCi0gICBD b2xsZWN0TGliRGlyc0FuZFRyaXBsZXMoVGFyZ2V0VHJpcGxlLCBCaWFyY2hWYXJpYW50VHJpcGxl LCBDYW5kaWRhdGVMaWJEaXJzLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgIENhbmRpZGF0 ZVRyaXBsZUFsaWFzZXMsIENhbmRpZGF0ZUJpYXJjaExpYkRpcnMsCi0gICAgICAgICAgICAgICAg ICAgICAgICAgICAgQ2FuZGlkYXRlQmlhcmNoVHJpcGxlQWxpYXNlcyk7Ci0tLSAKLTIuMjYuMgot CgpkaWZmIC0tZ2l0IGEvMDAwMS1QQVRDSC1jbGFuZy1NYWtlLWZ1bndpbmQtdGFibGVzLXRoZS1k ZWZhdWx0LW9uLWFsbC1hLnBhdGNoIGIvMDAwMS1QQVRDSC1jbGFuZy1NYWtlLWZ1bndpbmQtdGFi bGVzLXRoZS1kZWZhdWx0LW9uLWFsbC1hLnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NApp bmRleCAxMTNmMmE3Li4wMDAwMDAwCi0tLSBhLzAwMDEtUEFUQ0gtY2xhbmctTWFrZS1mdW53aW5k LXRhYmxlcy10aGUtZGVmYXVsdC1vbi1hbGwtYS5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDI3 ICswLDAgQEAKLUZyb20gNDlmODI3YjA5ZGI1NDlkZTYyZGNhZjhiOTBiM2ZjYjNlMDhjMGVlNSBN b24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IFNlcmdlIEd1ZWx0b24gPHNndWVsdG9uQHJl ZGhhdC5jb20+Ci1EYXRlOiBNb24sIDYgTWFyIDIwMjMgMTI6Mzc6NDggKzAxMDAKLVN1YmplY3Q6 IFtQQVRDSF0gTWFrZSAtZnVud2luZC10YWJsZXMgdGhlIGRlZmF1bHQgb24gYWxsIGFyY2hzCi0K LS0tLQotIGNsYW5nL2xpYi9Ecml2ZXIvVG9vbENoYWlucy9HbnUuY3BwIHwgNCArKysrCi0gMSBm aWxlIGNoYW5nZWQsIDQgaW5zZXJ0aW9ucygrKQotCi1kaWZmIC0tZ2l0IGEvY2xhbmcvbGliL0Ry aXZlci9Ub29sQ2hhaW5zL0dudS5jcHAgYi9jbGFuZy9saWIvRHJpdmVyL1Rvb2xDaGFpbnMvR251 LmNwcAotaW5kZXggMjRmYmRjZmZjMDdiLi44ZmVkNDZiNDk1MTUgMTAwNjQ0Ci0tLS0gYS9jbGFu Zy9saWIvRHJpdmVyL1Rvb2xDaGFpbnMvR251LmNwcAotKysrIGIvY2xhbmcvbGliL0RyaXZlci9U b29sQ2hhaW5zL0dudS5jcHAKLUBAIC0yOTA0LDYgKzI5MDQsMTAgQEAgR2VuZXJpY19HQ0M6Omdl dERlZmF1bHRVbndpbmRUYWJsZUxldmVsKGNvbnN0IEFyZ0xpc3QgJkFyZ3MpIGNvbnN0IHsKLSAg IGNhc2UgbGx2bTo6VHJpcGxlOjpyaXNjdjY0OgotICAgY2FzZSBsbHZtOjpUcmlwbGU6Ong4NjoK LSAgIGNhc2UgbGx2bTo6VHJpcGxlOjp4ODZfNjQ6Ci0rICAvLyBFbmFibGUgLWZ1bndpbmQtdGFi bGVzIG9uIGFsbCBhcmNoaXRlY3R1cmVzIHN1cHBvcnRlZCBieSBGZWRvcmE6Ci0rICAvLyByaGJ6 IzE2NTU1NDYKLSsgIGNhc2UgbGx2bTo6VHJpcGxlOjpzeXN0ZW16OgotKyAgY2FzZSBsbHZtOjpU cmlwbGU6OmFybToKLSAgICAgcmV0dXJuIFVud2luZFRhYmxlTGV2ZWw6OkFzeW5jaHJvbm91czsK LSAgIGRlZmF1bHQ6Ci0gICAgIHJldHVybiBVbndpbmRUYWJsZUxldmVsOjpOb25lOwotLS0gCi0y LjM5LjEKLQoKZGlmZiAtLWdpdCBhLzAwMDEtUHJvZHVjZS1EV0FSRjQtYnktZGVmYXVsdC5wYXRj aCBiLzAwMDEtUHJvZHVjZS1EV0FSRjQtYnktZGVmYXVsdC5wYXRjaApkZWxldGVkIGZpbGUgbW9k ZSAxMDA2NDQKaW5kZXggOWI1YjQ2Yi4uMDAwMDAwMAotLS0gYS8wMDAxLVByb2R1Y2UtRFdBUkY0 LWJ5LWRlZmF1bHQucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSwxMjUgKzAsMCBAQAotRnJvbSBh ZGJlMTg4ZjNiMWUzYTBkZDVlYzgwZDk0MDk2MDFiYTdmNWIwNDIzIE1vbiBTZXAgMTcgMDA6MDA6 MDAgMjAwMQotRnJvbTogS29ucmFkIEtsZWluZSA8a2tsZWluZUByZWRoYXQuY29tPgotRGF0ZTog VGh1LCAyNCBNYXIgMjAyMiAwOTo0NDoyMSArMDEwMAotU3ViamVjdDogW1BBVENIXSBQcm9kdWNl IERXQVJGNCBieSBkZWZhdWx0Ci0KLUhhdmUgYSBsb29rIGF0IHRoZSBmb2xsb3dpbmcgY29tbWl0 IHRvIHNlZSB3aGVuIHRoZSBtb3ZlIGZyb20gRFdBUkYgNCB0byA1IGZpcnN0IGhhcHBlbmVkIHVw c3RyZWFtOgotCi1odHRwczovL2dpdGh1Yi5jb20vbGx2bS9sbHZtLXByb2plY3QvY29tbWl0L2Qz YjI2ZGVhMTYxMDhjNDI3YjE5YjU0ODBjOWVkYzc2ZWRmOGY1YjQ/ZGlmZj11bmlmaWVkCi0tLS0K LSBjbGFuZy9saWIvRHJpdmVyL1Rvb2xDaGFpbi5jcHAgICAgIHwgNCArLS0tCi0gY2xhbmcvdGVz dC9Db2RlR2VuL2R3YXJmLXZlcnNpb24uYyB8IDQgKystLQotIGNsYW5nL3Rlc3QvRHJpdmVyL2Fz LW9wdGlvbnMucyAgICAgfCA0ICsrLS0KLSBjbGFuZy90ZXN0L0RyaXZlci9jbC1vcHRpb25zLmMg ICAgIHwgMiArLQotIGNsYW5nL3Rlc3QvRHJpdmVyL2NsYW5nLWctb3B0cy5jICAgfCAyICstCi0g Y2xhbmcvdGVzdC9Ecml2ZXIvdmUtdG9vbGNoYWluLmMgICB8IDIgKy0KLSBjbGFuZy90ZXN0L0Ry aXZlci92ZS10b29sY2hhaW4uY3BwIHwgMiArLQotIDcgZmlsZXMgY2hhbmdlZCwgOSBpbnNlcnRp b25zKCspLCAxMSBkZWxldGlvbnMoLSkKLQotZGlmZiAtLWdpdCBhL2NsYW5nL2xpYi9Ecml2ZXIv VG9vbENoYWluLmNwcCBiL2NsYW5nL2xpYi9Ecml2ZXIvVG9vbENoYWluLmNwcAotaW5kZXggOGRh ZmMzZDQ4MWMyLi45MmJmMjZkYzhlYzYgMTAwNjQ0Ci0tLS0gYS9jbGFuZy9saWIvRHJpdmVyL1Rv b2xDaGFpbi5jcHAKLSsrKyBiL2NsYW5nL2xpYi9Ecml2ZXIvVG9vbENoYWluLmNwcAotQEAgLTQy OCw5ICs0MjgsNyBAQCBUb29sQ2hhaW46OmdldERlZmF1bHRVbndpbmRUYWJsZUxldmVsKGNvbnN0 IEFyZ0xpc3QgJkFyZ3MpIGNvbnN0IHsKLSB9Ci0gCi0gdW5zaWduZWQgVG9vbENoYWluOjpHZXRE ZWZhdWx0RHdhcmZWZXJzaW9uKCkgY29uc3QgewotLSAgLy8gVE9ETzogUmVtb3ZlIHRoZSBSSVND LVYgc3BlY2lhbCBjYXNlIHdoZW4gUl9SSVNDVl9TRVRfVUxFQjEyOCBsaW5rZXIKLS0gIC8vIHN1 cHBvcnQgYmVjb21lcyBtb3JlIHdpZGVseSBhdmFpbGFibGUuCi0tICByZXR1cm4gZ2V0VHJpcGxl KCkuaXNSSVNDVigpID8gNCA6IDU7Ci0rICByZXR1cm4gNDsKLSB9Ci0gCi0gVG9vbCAqVG9vbENo YWluOjpnZXRDbGFuZygpIGNvbnN0IHsKLWRpZmYgLS1naXQgYS9jbGFuZy90ZXN0L0NvZGVHZW4v ZHdhcmYtdmVyc2lvbi5jIGIvY2xhbmcvdGVzdC9Db2RlR2VuL2R3YXJmLXZlcnNpb24uYwotaW5k ZXggZDMwN2ViM2YxMDFmLi5lN2U5M2JmNjY4OGMgMTAwNjQ0Ci0tLS0gYS9jbGFuZy90ZXN0L0Nv ZGVHZW4vZHdhcmYtdmVyc2lvbi5jCi0rKysgYi9jbGFuZy90ZXN0L0NvZGVHZW4vZHdhcmYtdmVy c2lvbi5jCi1AQCAtMiw4ICsyLDggQEAKLSAvLyBSVU46ICVjbGFuZyAtdGFyZ2V0IHg4Nl82NC1s aW51eC1nbnUgLWdkd2FyZi0zIC1TIC1lbWl0LWxsdm0gLW8gLSAlcyB8IEZpbGVDaGVjayAlcyAt LWNoZWNrLXByZWZpeD1WRVIzCi0gLy8gUlVOOiAlY2xhbmcgLXRhcmdldCB4ODZfNjQtbGludXgt Z251IC1nZHdhcmYtNCAtUyAtZW1pdC1sbHZtIC1vIC0gJXMgfCBGaWxlQ2hlY2sgJXMgLS1jaGVj ay1wcmVmaXg9VkVSNAotIC8vIFJVTjogJWNsYW5nIC10YXJnZXQgeDg2XzY0LWxpbnV4LWdudSAt Z2R3YXJmLTUgLVMgLWVtaXQtbGx2bSAtbyAtICVzIHwgRmlsZUNoZWNrICVzIC0tY2hlY2stcHJl Zml4PVZFUjUKLS0vLyBSVU46ICVjbGFuZyAtdGFyZ2V0IHg4Nl82NC1saW51eC1nbnUgLWcgLVMg LWVtaXQtbGx2bSAtbyAtICVzIHwgRmlsZUNoZWNrICVzIC0tY2hlY2stcHJlZml4PVZFUjUKLS0v LyBSVU46ICVjbGFuZyAtdGFyZ2V0IHg4Nl82NC1saW51eC1nbnUgLWdkd2FyZiAtUyAtZW1pdC1s bHZtIC1vIC0gJXMgfCBGaWxlQ2hlY2sgJXMgLS1jaGVjay1wcmVmaXg9VkVSNQotKy8vIFJVTjog JWNsYW5nIC10YXJnZXQgeDg2XzY0LWxpbnV4LWdudSAtZyAtUyAtZW1pdC1sbHZtIC1vIC0gJXMg fCBGaWxlQ2hlY2sgJXMgLS1jaGVjay1wcmVmaXg9VkVSNAotKy8vIFJVTjogJWNsYW5nIC10YXJn ZXQgeDg2XzY0LWxpbnV4LWdudSAtZ2R3YXJmIC1TIC1lbWl0LWxsdm0gLW8gLSAlcyB8IEZpbGVD aGVjayAlcyAtLWNoZWNrLXByZWZpeD1WRVI0Ci0gCi0gLy8gVGhlIC1pc3lzcm9vdCBpcyB1c2Vk IGFzIGEgaGFjayB0byBhdm9pZCBMSVQgbWVzc2luZyB3aXRoIHRoZSBTREtST09UCi0gLy8gZW52 aXJvbm1lbnQgdmFyaWFibGUgd2hpY2ggaW5kaXJlY3R5IG92ZXJyaWRlcyB0aGUgdmVyc2lvbiBp biB0aGUgdGFyZ2V0Ci1kaWZmIC0tZ2l0IGEvY2xhbmcvdGVzdC9Ecml2ZXIvYXMtb3B0aW9ucy5z IGIvY2xhbmcvdGVzdC9Ecml2ZXIvYXMtb3B0aW9ucy5zCi1pbmRleCA3M2QwMDJjN2VmN2UuLjcx ZDU1ZjdmZDUzNyAxMDA2NDQKLS0tLSBhL2NsYW5nL3Rlc3QvRHJpdmVyL2FzLW9wdGlvbnMucwot KysrIGIvY2xhbmcvdGVzdC9Ecml2ZXIvYXMtb3B0aW9ucy5zCi1AQCAtMTIyLDcgKzEyMiw3IEBA Ci0gLy8gUlVOOiAgIEZpbGVDaGVjayAtLWNoZWNrLXByZWZpeD1ERUJVRyAlcwotIC8vIFJVTjog JWNsYW5nIC0tdGFyZ2V0PWFhcmNoNjQtbGludXgtZ251IC1mbm8taW50ZWdyYXRlZC1hcyAtZzAg LWcgJXMgLSMjIyAyPiYxIHwgXAotIC8vIFJVTjogICBGaWxlQ2hlY2sgLS1jaGVjay1wcmVmaXg9 REVCVUcgJXMKLS0vLyBERUJVRzogIi1nIiAiLWdkd2FyZi01IgotKy8vIERFQlVHOiAiLWciICIt Z2R3YXJmLTQiCi0gLy8gUlVOOiAlY2xhbmcgLS10YXJnZXQ9YWFyY2g2NC1saW51eC1nbnUgLWZu by1pbnRlZ3JhdGVkLWFzIC1nIC1nMCAlcyAtIyMjIDI+JjEgfCBcCi0gLy8gUlVOOiAgIEZpbGVD aGVjayAtLWNoZWNrLXByZWZpeD1OT0RFQlVHICVzCi0gLy8gUlVOOiAlY2xhbmcgLS10YXJnZXQ9 YWFyY2g2NC1saW51eC1nbnUgLWZuby1pbnRlZ3JhdGVkLWFzIC1nZHdhcmYtNSAtZzAgJXMgLSMj IyAyPiYxIHwgXAotQEAgLTE0MSw3ICsxNDEsNyBAQAotIC8vIFJVTjogJWNsYW5nIC0tdGFyZ2V0 PWFhcmNoNjQtbGludXgtZ251IC1mbm8taW50ZWdyYXRlZC1hcyAtZ2R3YXJmLTIgJXMgLSMjIyAy PiYxIHwgXAotIC8vIFJVTjogICBGaWxlQ2hlY2sgLS1jaGVjay1wcmVmaXg9R0RXQVJGMiAlcwot IC8vIFJVTjogJWNsYW5nIC0tdGFyZ2V0PWFhcmNoNjQtbGludXgtZ251IC1mbm8taW50ZWdyYXRl ZC1hcyAtZ2R3YXJmICVzIC0jIyMgMj4mMSB8IFwKLS0vLyBSVU46ICAgRmlsZUNoZWNrIC0tY2hl Y2stcHJlZml4PUdEV0FSRjUgJXMKLSsvLyBSVU46ICAgRmlsZUNoZWNrIC0tY2hlY2stcHJlZml4 PUdEV0FSRjQgJXMKLSAKLSAvLyBSVU46ICVjbGFuZyAtLXRhcmdldD1hYXJjaDY0LWxpbnV4LWdu dSAtZm5vLWludGVncmF0ZWQtYXMgLWdkd2FyZi01ICVzIC0jIyMgMj4mMSB8IFwKLSAvLyBSVU46 ICAgRmlsZUNoZWNrIC0tY2hlY2stcHJlZml4PUdEV0FSRjUgJXMKLWRpZmYgLS1naXQgYS9jbGFu Zy90ZXN0L0RyaXZlci9jbC1vcHRpb25zLmMgYi9jbGFuZy90ZXN0L0RyaXZlci9jbC1vcHRpb25z LmMKLWluZGV4IDZkOTI5YjE5ZTdlMi4uMzczOTA1YzJlMGZjIDEwMDY0NAotLS0tIGEvY2xhbmcv dGVzdC9Ecml2ZXIvY2wtb3B0aW9ucy5jCi0rKysgYi9jbGFuZy90ZXN0L0RyaXZlci9jbC1vcHRp b25zLmMKLUBAIC01NjksNyArNTY5LDcgQEAKLSAvLyBSVU46ICVjbGFuZ19jbCAvWjcgLWdkd2Fy ZiAvYyAtIyMjIC0tICVzIDI+JjEgfCBGaWxlQ2hlY2sgLWNoZWNrLXByZWZpeD1aN19nZHdhcmYg JXMKLSAvLyBaN19nZHdhcmY6ICItZ2NvZGV2aWV3IgotIC8vIFo3X2dkd2FyZjogIi1kZWJ1Zy1p bmZvLWtpbmQ9Y29uc3RydWN0b3IiCi0tLy8gWjdfZ2R3YXJmOiAiLWR3YXJmLXZlcnNpb249Ci0r Ly8gWjdfZ2R3YXJmOiAiLWR3YXJmLXZlcnNpb249NAotIAotIC8vIFJVTjogJWNsYW5nX2NsIC9a SDpNRDUgL2MgLSMjIyAtLSAlcyAyPiYxIHwgRmlsZUNoZWNrIC1jaGVjay1wcmVmaXg9WkhfTUQ1 ICVzCi0gLy8gWkhfTUQ1OiAiLWdzcmMtaGFzaD1tZDUiCi1kaWZmIC0tZ2l0IGEvY2xhbmcvdGVz dC9Ecml2ZXIvY2xhbmctZy1vcHRzLmMgYi9jbGFuZy90ZXN0L0RyaXZlci9jbGFuZy1nLW9wdHMu YwotaW5kZXggNWVlMGZlNjRmZTQ4Li45ODUxNTg3NDYxMzcgMTAwNjQ0Ci0tLS0gYS9jbGFuZy90 ZXN0L0RyaXZlci9jbGFuZy1nLW9wdHMuYwotKysrIGIvY2xhbmcvdGVzdC9Ecml2ZXIvY2xhbmct Zy1vcHRzLmMKLUBAIC0zMiw3ICszMiw3IEBACi0gCi0gLy8gQ0hFQ0stV0lUSE9VVC1HLU5PVDog LWRlYnVnLWluZm8ta2luZAotIC8vIENIRUNLLVdJVEgtRzogIi1kZWJ1Zy1pbmZvLWtpbmQ9Y29u c3RydWN0b3IiCi0tLy8gQ0hFQ0stV0lUSC1HOiAiLWR3YXJmLXZlcnNpb249NSIKLSsvLyBDSEVD Sy1XSVRILUc6ICItZHdhcmYtdmVyc2lvbj00IgotIC8vIENIRUNLLVdJVEgtRy1EV0FSRjI6ICIt ZHdhcmYtdmVyc2lvbj0yIgotIAotIC8vIENIRUNLLVdJVEgtRy1TVEFOREFMT05FOiAiLWRlYnVn LWluZm8ta2luZD1zdGFuZGFsb25lIgotZGlmZiAtLWdpdCBhL2NsYW5nL3Rlc3QvRHJpdmVyL3Zl LXRvb2xjaGFpbi5jIGIvY2xhbmcvdGVzdC9Ecml2ZXIvdmUtdG9vbGNoYWluLmMKLWluZGV4IDMy ZTI1NzY5YjZkYS4uYjhhMjg1MmRhYmE4IDEwMDY0NAotLS0tIGEvY2xhbmcvdGVzdC9Ecml2ZXIv dmUtdG9vbGNoYWluLmMKLSsrKyBiL2NsYW5nL3Rlc3QvRHJpdmVyL3ZlLXRvb2xjaGFpbi5jCi1A QCAtNiw3ICs2LDcgQEAKLSAvLy8gQ2hlY2tpbmcgZHdhcmYtdmVyc2lvbgotIAotIC8vIFJVTjog JWNsYW5nIC0jIyMgLWcgLS10YXJnZXQ9dmUgJXMgMj4mMSB8IEZpbGVDaGVjayAtY2hlY2stcHJl Zml4PURXQVJGX1ZFUiAlcwotLS8vIERXQVJGX1ZFUjogIi1kd2FyZi12ZXJzaW9uPTUiCi0rLy8g RFdBUkZfVkVSOiAiLWR3YXJmLXZlcnNpb249NCIKLSAKLSAvLy8tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LQotIC8vLyBDaGVja2luZyBpbmNsdWRlLXBhdGgKLWRpZmYgLS1naXQgYS9jbGFuZy90ZXN0L0Ry aXZlci92ZS10b29sY2hhaW4uY3BwIGIvY2xhbmcvdGVzdC9Ecml2ZXIvdmUtdG9vbGNoYWluLmNw cAotaW5kZXggNWEzM2Q1ZWNlYjYxLi5jZWRmODk1YjM2ZGMgMTAwNjQ0Ci0tLS0gYS9jbGFuZy90 ZXN0L0RyaXZlci92ZS10b29sY2hhaW4uY3BwCi0rKysgYi9jbGFuZy90ZXN0L0RyaXZlci92ZS10 b29sY2hhaW4uY3BwCi1AQCAtNyw3ICs3LDcgQEAKLSAKLSAvLyBSVU46ICVjbGFuZ3h4IC0jIyMg LWcgLS10YXJnZXQ9dmUtdW5rbm93bi1saW51eC1nbnUgXAotIC8vIFJVTjogICAgICVzIDI+JjEg fCBGaWxlQ2hlY2sgLWNoZWNrLXByZWZpeD1EV0FSRl9WRVIgJXMKLS0vLyBEV0FSRl9WRVI6ICIt ZHdhcmYtdmVyc2lvbj01IgotKy8vIERXQVJGX1ZFUjogIi1kd2FyZi12ZXJzaW9uPTQiCi0gCi0g Ly8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KLSAvLy8gQ2hlY2tpbmcgaW5jbHVkZS1wYXRoCi0tLSAK LTIuNDEuMAotCgpkaWZmIC0tZ2l0IGEvMDAwMS1Xb3JrYXJvdW5kLWEtYnVnLWluLU9SQy1vbi1w cGM2NGxlLnBhdGNoIGIvMDAwMS1Xb3JrYXJvdW5kLWEtYnVnLWluLU9SQy1vbi1wcGM2NGxlLnBh dGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBhZjIzNmExLi4wMDAwMDAwCi0tLSBh LzAwMDEtV29ya2Fyb3VuZC1hLWJ1Zy1pbi1PUkMtb24tcHBjNjRsZS5wYXRjaAorKysgL2Rldi9u dWxsCkBAIC0xLDMwICswLDAgQEAKLUZyb20gYTI0NDljZWU4Yzk5NWI1NmYxODkyNTAyYWFiM2Rm YWQzZDZmM2NhMSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IFR1bGlvIE1hZ25vIFF1 aXRlcyBNYWNoYWRvIEZpbGhvIDx0dWxpb21AcmVkaGF0LmNvbT4KLURhdGU6IEZyaSwgOCBTZXAg MjAyMyAxMTo0NTozNCAtMDMwMAotU3ViamVjdDogW1BBVENIXSBXb3JrYXJvdW5kIGEgYnVnIGlu IE9SQyBvbiBwcGM2NGxlCi0KLVRoZSBKaXQgY29kZSBhcHBlYXJzIHRvIGJlIHJldHVybmluZyB0 aGUgd3JvbmcgcHJpbnRmIHN5bWJvbCBvbiBwcGM2NGxlCi1hZnRlciB0aGUgdHJhbnNpdGlvbiBv ZiB0aGUgZGVmYXVsdCBsb25nIGRvdWJsZSB0byBJRUVFIDEyOC1iaXQgZmxvYXRpbmcKLXBvaW50 LgotLS0tCi0gY2xhbmcvdW5pdHRlc3RzL0ludGVycHJldGVyL0ludGVycHJldGVyVGVzdC5jcHAg fCA0ICsrKy0KLSAxIGZpbGUgY2hhbmdlZCwgMyBpbnNlcnRpb25zKCspLCAxIGRlbGV0aW9uKC0p Ci0KLWRpZmYgLS1naXQgYS9jbGFuZy91bml0dGVzdHMvSW50ZXJwcmV0ZXIvSW50ZXJwcmV0ZXJU ZXN0LmNwcCBiL2NsYW5nL3VuaXR0ZXN0cy9JbnRlcnByZXRlci9JbnRlcnByZXRlclRlc3QuY3Bw Ci1pbmRleCBhYmI4ZTYzNzdhYWIuLjdiNjY5N2ViYzZlZCAxMDA2NDQKLS0tLSBhL2NsYW5nL3Vu aXR0ZXN0cy9JbnRlcnByZXRlci9JbnRlcnByZXRlclRlc3QuY3BwCi0rKysgYi9jbGFuZy91bml0 dGVzdHMvSW50ZXJwcmV0ZXIvSW50ZXJwcmV0ZXJUZXN0LmNwcAotQEAgLTI0Myw3ICsyNDMsOSBA QCBURVNUKEluY3JlbWVudGFsUHJvY2Vzc2luZywgRmluZE1hbmdsZWROYW1lU3ltYm9sKSB7Ci0g ICBFWFBFQ1RfRkFMU0UoIUFkZHIpOwotIAotICAgLy8gRklYTUU6IFJlLWVuYWJsZSB3aGVuIHdl IGludmVzdGlnYXRlIHRoZSB3YXkgd2UgaGFuZGxlIGRsbGltcG9ydHMgb24gV2luLgotLSNpZm5k ZWYgX1dJTjMyCi0rICAvLyBGSVhNRTogVGhlIHByaW50ZiBzeW1ib2wgcmV0dXJuZWQgZnJvbSB0 aGUgSml0IG1heSBub3QgYmUgY29ycmVjdCBvbgotKyAgLy8gICAgICAgIHBwYzY0bGUgd2hlbiB0 aGUgZGVmYXVsdCBsb25nIGRvdWJsZSBpcyBJRUVFIDEyOC1iaXQgZnAuCi0rI2lmICFkZWZpbmVk IF9XSU4zMiAmJiAhKGRlZmluZWQgX19QUEM2NF9fICYmIGRlZmluZWQgX19MSVRUTEVfRU5ESUFO X18pCi0gICBFWFBFQ1RfRVEoKHVpbnRwdHJfdCkmcHJpbnRmLCBBZGRyLT5nZXRWYWx1ZSgpKTsK LSAjZW5kaWYgLy8gX1dJTjMyCi0gfQotLS0gCi0yLjQxLjAKLQoKZGlmZiAtLWdpdCBhLzAwMDEt Y2xhbmctc2hsaWItQWRkLXN5bWJvbC12ZXJzaW9uaW5nLXRvLWFsbC1zeW1ib2xzLnBhdGNoIGIv MDAwMS1jbGFuZy1zaGxpYi1BZGQtc3ltYm9sLXZlcnNpb25pbmctdG8tYWxsLXN5bWJvbHMucGF0 Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGFhODBkYjYuLjAwMDAwMDAKLS0tIGEv MDAwMS1jbGFuZy1zaGxpYi1BZGQtc3ltYm9sLXZlcnNpb25pbmctdG8tYWxsLXN5bWJvbHMucGF0 Y2gKKysrIC9kZXYvbnVsbApAQCAtMSwzOSArMCwwIEBACi1Gcm9tIDU5NjczZWQ5N2Q5MmRmMzRk NmY2NjJkYTVhNTFmNmUyODgwNmI1YWYgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBU b20gU3RlbGxhcmQgPHRzdGVsbGFyQHJlZGhhdC5jb20+Ci1EYXRlOiBUaHUsIDI2IFNlcCAyMDI0 IDEzOjUzOjE4ICswMDAwCi1TdWJqZWN0OiBbUEFUQ0hdIFtjbGFuZy1zaGxpYl0gQWRkIHN5bWJv bCB2ZXJzaW9uaW5nIHRvIGFsbCBzeW1ib2xzCi0KLVdlIGRvIHRoZSBzYW1lIHRoaW5nIGZvciBs aWJMTFZNLnNvLiAgVGhpcyBzaG91bGQgaGVscCBhdm9pZCBpc3N1ZXMKLXdoZW4gYW4gYXBwbGlj YXRpb25zIGxvYWRzIHR3byBkaWZmZXJlbnQgdmVyc2lvbnMgb2YgdGhlIGxpYnJhcnkgYXQKLXRo ZSBzYW1lIHRpbWUuCi0tLS0KLSBjbGFuZy90b29scy9jbGFuZy1zaGxpYi9DTWFrZUxpc3RzLnR4 dCAgICAgICAgICAgICAgIHwgNyArKysrKysrCi0gY2xhbmcvdG9vbHMvY2xhbmctc2hsaWIvc2lt cGxlX3ZlcnNpb25fc2NyaXB0Lm1hcC5pbiB8IDEgKwotIDIgZmlsZXMgY2hhbmdlZCwgOCBpbnNl cnRpb25zKCspCi0gY3JlYXRlIG1vZGUgMTAwNjQ0IGNsYW5nL3Rvb2xzL2NsYW5nLXNobGliL3Np bXBsZV92ZXJzaW9uX3NjcmlwdC5tYXAuaW4KLQotZGlmZiAtLWdpdCBhL2NsYW5nL3Rvb2xzL2Ns YW5nLXNobGliL0NNYWtlTGlzdHMudHh0IGIvY2xhbmcvdG9vbHMvY2xhbmctc2hsaWIvQ01ha2VM aXN0cy50eHQKLWluZGV4IDI5OGQzYTlkMThmZS4uMDA0Y2UyODk3OTYwIDEwMDY0NAotLS0tIGEv Y2xhbmcvdG9vbHMvY2xhbmctc2hsaWIvQ01ha2VMaXN0cy50eHQKLSsrKyBiL2NsYW5nL3Rvb2xz L2NsYW5nLXNobGliL0NNYWtlTGlzdHMudHh0Ci1AQCAtNjEsMyArNjEsMTAgQEAgaWYgKE1JTkdX IE9SIENZR1dJTikKLSAgICMgbWFrZSBzdXJlIHdlIGV4cG9ydCBhbGwgc3ltYm9scyBkZXNwaXRl IHBvdGVudGlhbCBkbGxleHBvcnRzLgotICAgdGFyZ2V0X2xpbmtfb3B0aW9ucyhjbGFuZy1jcHAg UFJJVkFURSBMSU5LRVI6LS1leHBvcnQtYWxsLXN5bWJvbHMpCi0gZW5kaWYoKQotKwotKyMgU29s YXJpcyBsZCBkb2VzIG5vdCBhY2NlcHQgZ2xvYmFsOiAqOyBzbyB0aGVyZSBpcyBubyB3YXkgdG8g dmVyc2lvbiAqYWxsKiBnbG9iYWwgc3ltYm9scwotK2lmIChOT1QgTExWTV9MSU5LRVJfSVNfU09M QVJJU0xEIEFORCBOT1QgTUlOR1cpCi0rICBjb25maWd1cmVfZmlsZSgke0NNQUtFX0NVUlJFTlRf U09VUkNFX0RJUn0vc2ltcGxlX3ZlcnNpb25fc2NyaXB0Lm1hcC5pbgotKwkgICAgICAgICAke0NN QUtFX0NVUlJFTlRfQklOQVJZX0RJUn0vc2ltcGxlX3ZlcnNpb25fc2NyaXB0Lm1hcCkKLSsgIHRh cmdldF9saW5rX29wdGlvbnMoY2xhbmctY3BwIFBSSVZBVEUgLVdsLC0tdmVyc2lvbi1zY3JpcHQs JHtDTUFLRV9DVVJSRU5UX0JJTkFSWV9ESVJ9L3NpbXBsZV92ZXJzaW9uX3NjcmlwdC5tYXApCi0r ZW5kaWYoKQotZGlmZiAtLWdpdCBhL2NsYW5nL3Rvb2xzL2NsYW5nLXNobGliL3NpbXBsZV92ZXJz aW9uX3NjcmlwdC5tYXAuaW4gYi9jbGFuZy90b29scy9jbGFuZy1zaGxpYi9zaW1wbGVfdmVyc2lv bl9zY3JpcHQubWFwLmluCi1uZXcgZmlsZSBtb2RlIDEwMDY0NAotaW5kZXggMDAwMDAwMDAwMDAw Li5jYjIzMDZkMWY1OTYKLS0tLSAvZGV2L251bGwKLSsrKyBiL2NsYW5nL3Rvb2xzL2NsYW5nLXNo bGliL3NpbXBsZV92ZXJzaW9uX3NjcmlwdC5tYXAuaW4KLUBAIC0wLDAgKzEgQEAKLStATExWTV9T SExJQl9TWU1CT0xfVkVSU0lPTkAgeyBnbG9iYWw6ICo7IH07Ci0tLSAKLTIuNDYuMAotCgpkaWZm IC0tZ2l0IGEvMDAwMS1jbGFuZy10b29scy1leHRyYS1NYWtlLXRlc3QtZGVwZW5kZW5jeS1vbi1M TFZNSGVsbG8tLnBhdGNoIGIvMDAwMS1jbGFuZy10b29scy1leHRyYS1NYWtlLXRlc3QtZGVwZW5k ZW5jeS1vbi1MTFZNSGVsbG8tLnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBi NjljN2U3Li4wMDAwMDAwCi0tLSBhLzAwMDEtY2xhbmctdG9vbHMtZXh0cmEtTWFrZS10ZXN0LWRl cGVuZGVuY3ktb24tTExWTUhlbGxvLS5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDg1ICswLDAg QEAKLUZyb20gMjJkNjJiMzJjZDNiZTVmYjBhZTEwNzIzYjM1YTc4MWUwZjg2MmI3MSBNb24gU2Vw IDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IFRvbSBTdGVsbGFyZCA8dHN0ZWxsYXJAcmVkaGF0LmNv bT4KLURhdGU6IFR1ZSwgMjQgSmFuIDIwMjMgMjI6NDY6MjUgKzAwMDAKLVN1YmplY3Q6IFtQQVRD SF0gY2xhbmctdG9vbHMtZXh0cmE6IE1ha2UgdGVzdCBkZXBlbmRlbmN5IG9uIExMVk1IZWxsbyBv cHRpb25hbAotCi1UaGlzIGZpeGVzIGNsYW5nICsgY2xhbmctdG9vbHMtZXh0cmEgc3RhbmRhbG9u ZSBidWlsZCBhZnRlcgotMzY4OTI3MjdlNGYxOWE2MDc3OGUzNzFkNzhmOGZiMDlkODEyMmM4NS4K LS0tLQotIGNsYW5nLXRvb2xzLWV4dHJhL3Rlc3QvQ01ha2VMaXN0cy50eHQgICAgICAgICAgICAg ICAgICB8IDEwICsrKysrKysrKy0KLSBjbGFuZy10b29scy1leHRyYS90ZXN0L2NsYW5nLXRpZHkv Q1RUZXN0VGlkeU1vZHVsZS5jcHAgfCAgMiArLQotIGNsYW5nLXRvb2xzLWV4dHJhL3Rlc3QvbGl0 LmNmZy5weSAgICAgICAgICAgICAgICAgICAgICB8ICAzICsrKwotIGNsYW5nLXRvb2xzLWV4dHJh L3Rlc3QvbGl0LnNpdGUuY2ZnLnB5LmluICAgICAgICAgICAgICB8ICAxICsKLSA0IGZpbGVzIGNo YW5nZWQsIDE0IGluc2VydGlvbnMoKyksIDIgZGVsZXRpb25zKC0pCi0KLWRpZmYgLS1naXQgYS9j bGFuZy10b29scy1leHRyYS90ZXN0L0NNYWtlTGlzdHMudHh0IGIvY2xhbmctdG9vbHMtZXh0cmEv dGVzdC9DTWFrZUxpc3RzLnR4dAotaW5kZXggZjRjNTI5ZWU4YWYyLi4xY2ZiNGRkNTI5YWEgMTAw NjQ0Ci0tLS0gYS9jbGFuZy10b29scy1leHRyYS90ZXN0L0NNYWtlTGlzdHMudHh0Ci0rKysgYi9j bGFuZy10b29scy1leHRyYS90ZXN0L0NNYWtlTGlzdHMudHh0Ci1AQCAtNywxMCArNywxNSBAQAot IHNldChDTEFOR19UT09MU19TT1VSQ0VfRElSICIke0NNQUtFX0NVUlJFTlRfU09VUkNFX0RJUn0v Li4iKQotIHNldChDTEFOR19UT09MU19CSU5BUllfRElSICIke0NNQUtFX0NVUlJFTlRfQklOQVJZ X0RJUn0vLi4iKQotIAotK2lmIChUQVJHRVQgTExWTUhlbGxvKQotKyAgc2V0IChMTFZNX0hBU19M TFZNX0hFTExPIDEpCi0rZW5kaWYoKQotKwotIGxsdm1fY2Fub25pY2FsaXplX2NtYWtlX2Jvb2xl YW5zKAotICAgQ0xBTkdfVElEWV9FTkFCTEVfU1RBVElDX0FOQUxZWkVSCi0gICBDTEFOR19QTFVH SU5fU1VQUE9SVAotICAgTExWTV9JTlNUQUxMX1RPT0xDSEFJTl9PTkxZCi0rICBMTFZNX0hBU19M TFZNX0hFTExPCi0gICApCi0gCi0gY29uZmlndXJlX2xpdF9zaXRlX2NmZygKLUBAIC04Niw3ICs5 MSwxMCBAQCBpZiAoTk9UIExMVk1fSU5TVEFMTF9UT09MQ0hBSU5fT05MWSkKLSAgIGVuZGlmKCkK LSAKLSAgIGlmKFRBUkdFVCBDVFRlc3RUaWR5TW9kdWxlKQotLSAgICAgIGxpc3QoQVBQRU5EIENM QU5HX1RPT0xTX1RFU1RfREVQUyBDVFRlc3RUaWR5TW9kdWxlIExMVk1IZWxsbykKLSsgICAgICBs aXN0KEFQUEVORCBDTEFOR19UT09MU19URVNUX0RFUFMgQ1RUZXN0VGlkeU1vZHVsZSkKLSsgICAg ICBpZiAoVEFSR0VUICBMTFZNSGVsbG8pCi0rICAgICAgICBsaXN0KEFQUEVORCBDTEFOR19UT09M U19URVNUX0RFUFMgQ1RUZXN0VGlkeU1vZHVsZSkKLSsgICAgICBlbmRpZigpCi0gICAgICAgdGFy Z2V0X2luY2x1ZGVfZGlyZWN0b3JpZXMoQ1RUZXN0VGlkeU1vZHVsZSBQVUJMSUMgQkVGT1JFICIk e0NMQU5HX1RPT0xTX1NPVVJDRV9ESVJ9IikKLSAgICAgICBpZihDTEFOR19QTFVHSU5fU1VQUE9S VCBBTkQgKFdJTjMyIE9SIENZR1dJTikpCi0gICAgICAgICBzZXQoTExWTV9MSU5LX0NPTVBPTkVO VFMKLWRpZmYgLS1naXQgYS9jbGFuZy10b29scy1leHRyYS90ZXN0L2NsYW5nLXRpZHkvQ1RUZXN0 VGlkeU1vZHVsZS5jcHAgYi9jbGFuZy10b29scy1leHRyYS90ZXN0L2NsYW5nLXRpZHkvQ1RUZXN0 VGlkeU1vZHVsZS5jcHAKLWluZGV4IGM2NmE5NGY0NThjZi4uYjRlN2E1ZDY5MWU1IDEwMDY0NAot LS0tIGEvY2xhbmctdG9vbHMtZXh0cmEvdGVzdC9jbGFuZy10aWR5L0NUVGVzdFRpZHlNb2R1bGUu Y3BwCi0rKysgYi9jbGFuZy10b29scy1leHRyYS90ZXN0L2NsYW5nLXRpZHkvQ1RUZXN0VGlkeU1v ZHVsZS5jcHAKLUBAIC0xLDQgKzEsNCBAQAotLS8vIFJFUVVJUkVTOiBwbHVnaW5zCi0rLy8gUkVR VUlSRVM6IHBsdWdpbnMsIGxsdm0taGVsbG8KLSAvLyBSVU46IGNsYW5nLXRpZHkgLWNoZWNrcz0n LSosbXl0ZXN0KicgLS1saXN0LWNoZWNrcyAtbG9hZCAlbGx2bXNobGliZGlyL0NUVGVzdFRpZHlN b2R1bGUlcGx1Z2luZXh0IC1sb2FkICVsbHZtc2hsaWJkaXIvTExWTUhlbGxvJXBsdWdpbmV4dCB8 IEZpbGVDaGVjayAtLWNoZWNrLXByZWZpeD1DSEVDSy1MSVNUICVzCi0gLy8gQ0hFQ0stTElTVDog RW5hYmxlZCBjaGVja3M6Ci0gLy8gQ0hFQ0stTElTVC1ORVhUOiAgICBteXRlc3QxCi1kaWZmIC0t Z2l0IGEvY2xhbmctdG9vbHMtZXh0cmEvdGVzdC9saXQuY2ZnLnB5IGIvY2xhbmctdG9vbHMtZXh0 cmEvdGVzdC9saXQuY2ZnLnB5Ci1pbmRleCA5ZjY0ZmQzZDJmZmEuLjFiMjU4YTAwZGRmOSAxMDA2 NDQKLS0tLSBhL2NsYW5nLXRvb2xzLWV4dHJhL3Rlc3QvbGl0LmNmZy5weQotKysrIGIvY2xhbmct dG9vbHMtZXh0cmEvdGVzdC9saXQuY2ZnLnB5Ci1AQCAtNzUsNiArNzUsOSBAQCBjb25maWcuc3Vi c3RpdHV0aW9ucy5hcHBlbmQoKCIlY2xhbmdfdGlkeV9oZWFkZXJzIiwgY2xhbmdfdGlkeV9oZWFk ZXJzKSkKLSBpZiBjb25maWcuaGFzX3BsdWdpbnMgYW5kIGNvbmZpZy5sbHZtX3BsdWdpbl9leHQ6 Ci0gICAgIGNvbmZpZy5hdmFpbGFibGVfZmVhdHVyZXMuYWRkKCJwbHVnaW5zIikKLSAKLStpZiBj b25maWcuaGFzX2xsdm1faGVsbG86Ci0rICAgIGNvbmZpZy5hdmFpbGFibGVfZmVhdHVyZXMuYWRk KCJsbHZtLWhlbGxvIikKLSsKLSAjIEl0IGlzIG5vdCByZWFsaXN0aWNhbGx5IHBvc3NpYmxlIHRv IGFjY291bnQgZm9yIGFsbCBvcHRpb25zIHRoYXQgY291bGQKLSAjIHBvc3NpYmx5IGJlIHByZXNl bnQgaW4gc3lzdGVtIGFuZCB1c2VyIGNvbmZpZ3VyYXRpb24gZmlsZXMsIHNvIGRpc2FibGUKLSAj IGRlZmF1bHQgY29uZmlncyBmb3IgdGhlIHRlc3QgcnVucy4KLWRpZmYgLS1naXQgYS9jbGFuZy10 b29scy1leHRyYS90ZXN0L2xpdC5zaXRlLmNmZy5weS5pbiBiL2NsYW5nLXRvb2xzLWV4dHJhL3Rl c3QvbGl0LnNpdGUuY2ZnLnB5LmluCi1pbmRleCA0ZWI4MzBhMWJhZjEuLjZlNTU1OTM0ODQ1NCAx MDA2NDQKLS0tLSBhL2NsYW5nLXRvb2xzLWV4dHJhL3Rlc3QvbGl0LnNpdGUuY2ZnLnB5LmluCi0r KysgYi9jbGFuZy10b29scy1leHRyYS90ZXN0L2xpdC5zaXRlLmNmZy5weS5pbgotQEAgLTExLDYg KzExLDcgQEAgY29uZmlnLnRhcmdldF90cmlwbGUgPSAiQExMVk1fVEFSR0VUX1RSSVBMRUAiCi0g Y29uZmlnLmhvc3RfdHJpcGxlID0gIkBMTFZNX0hPU1RfVFJJUExFQCIKLSBjb25maWcuY2xhbmdf dGlkeV9zdGF0aWNhbmFseXplciA9IEBDTEFOR19USURZX0VOQUJMRV9TVEFUSUNfQU5BTFlaRVJA Ci0gY29uZmlnLmhhc19wbHVnaW5zID0gQENMQU5HX1BMVUdJTl9TVVBQT1JUQCAmIH5ATExWTV9J TlNUQUxMX1RPT0xDSEFJTl9PTkxZQAotK2NvbmZpZy5oYXNfbGx2bV9oZWxsbyA9IEBMTFZNX0hB U19MTFZNX0hFTExPQAotICMgU3VwcG9ydCBzdWJzdGl0dXRpb24gb2YgdGhlIHRvb2xzIGFuZCBs aWJzIGRpcnMgd2l0aCB1c2VyIHBhcmFtZXRlcnMuIFRoaXMgaXMKLSAjIHVzZWQgd2hlbiB3ZSBj YW4ndCBkZXRlcm1pbmUgdGhlIHRvb2wgZGlyIGF0IGNvbmZpZ3VyYXRpb24gdGltZS4KLSBjb25m aWcubGx2bV90b29sc19kaXIgPSBsaXRfY29uZmlnLnN1YnN0aXR1dGUoIkBMTFZNX1RPT0xTX0RJ UkAiKQotLS0gCi0yLjQwLjEKLQoKZGlmZiAtLWdpdCBhLzAwMDMtUEFUQ0gtY2xhbmctRG9uLXQt aW5zdGFsbC1zdGF0aWMtbGlicmFyaWVzLnBhdGNoIGIvMDAwMy1QQVRDSC1jbGFuZy1Eb24tdC1p bnN0YWxsLXN0YXRpYy1saWJyYXJpZXMucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0Cmlu ZGV4IGJjOGZhNTEuLjAwMDAwMDAKLS0tIGEvMDAwMy1QQVRDSC1jbGFuZy1Eb24tdC1pbnN0YWxs LXN0YXRpYy1saWJyYXJpZXMucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSwyNSArMCwwIEBACi1G cm9tIDg4NzA0ZmMyZWFiYjlkZDE5YTljM2ViODFhOWIzZGMzN2Q5NTY1MWMgTW9uIFNlcCAxNyAw MDowMDowMCAyMDAxCi1Gcm9tOiBUb20gU3RlbGxhcmQgPHRzdGVsbGFyQHJlZGhhdC5jb20+Ci1E YXRlOiBGcmksIDMxIEphbiAyMDIwIDExOjA0OjU3IC0wODAwCi1TdWJqZWN0OiBbUEFUQ0hdW2Ns YW5nXSBEb24ndCBpbnN0YWxsIHN0YXRpYyBsaWJyYXJpZXMKLQotLS0tCi0gY2xhbmcvY21ha2Uv bW9kdWxlcy9BZGRDbGFuZy5jbWFrZSB8IDIgKy0KLSAxIGZpbGUgY2hhbmdlZCwgMSBpbnNlcnRp b24oKyksIDEgZGVsZXRpb24oLSkKLQotZGlmZiAtLWdpdCBhL2NsYW5nL2NtYWtlL21vZHVsZXMv QWRkQ2xhbmcuY21ha2UgYi9jbGFuZy9jbWFrZS9tb2R1bGVzL0FkZENsYW5nLmNtYWtlCi1pbmRl eCA1NzUyZjQyNzc0NDQuLjBmNTI4MjJkOTFmMCAxMDA2NDQKLS0tLSBhL2NsYW5nL2NtYWtlL21v ZHVsZXMvQWRkQ2xhbmcuY21ha2UKLSsrKyBiL2NsYW5nL2NtYWtlL21vZHVsZXMvQWRkQ2xhbmcu Y21ha2UKLUBAIC0xMTMsNyArMTEzLDcgQEAgbWFjcm8oYWRkX2NsYW5nX2xpYnJhcnkgbmFtZSkK LSAgICAgaWYoVEFSR0VUICR7bGlifSkKLSAgICAgICB0YXJnZXRfbGlua19saWJyYXJpZXMoJHts aWJ9IElOVEVSRkFDRSAke0xMVk1fQ09NTU9OX0xJQlN9KQotIAotLSAgICAgIGlmIChOT1QgTExW TV9JTlNUQUxMX1RPT0xDSEFJTl9PTkxZIE9SIEFSR19JTlNUQUxMX1dJVEhfVE9PTENIQUlOKQot KyAgICAgIGlmIChBUkdfU0hBUkVEIEFORCAoTk9UIExMVk1fSU5TVEFMTF9UT09MQ0hBSU5fT05M WSBPUiBBUkdfSU5TVEFMTF9XSVRIX1RPT0xDSEFJTikpCi0gICAgICAgICBnZXRfdGFyZ2V0X2V4 cG9ydF9hcmcoJHtuYW1lfSBDbGFuZyBleHBvcnRfdG9fY2xhbmd0YXJnZXRzIFVNQlJFTExBIGNs YW5nLWxpYnJhcmllcykKLSAgICAgICAgIGluc3RhbGwoVEFSR0VUUyAke2xpYn0KLSAgICAgICAg ICAgQ09NUE9ORU5UICR7bGlifQotLS0gCi0yLjMwLjIKLQoKZGlmZiAtLWdpdCBhLzAwMDktZGlz YWJsZS1yZWNvbW1vbm1hcmsucGF0Y2ggYi8wMDA5LWRpc2FibGUtcmVjb21tb25tYXJrLnBhdGNo CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBmNmRiNWRhLi4wMDAwMDAwCi0tLSBhLzAw MDktZGlzYWJsZS1yZWNvbW1vbm1hcmsucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSwyNiArMCww IEBACi1kaWZmIC1OYXVyIGEvY2xhbmcvZG9jcy9jb25mLnB5IGIvY2xhbmcvZG9jcy9jb25mLnB5 Ci0tLS0gYS9jbGFuZy9kb2NzL2NvbmYucHkJMjAyMC0wOS0xNSAwOToxMjoyNC4zMTgyODc2MTEg KzAwMDAKLSsrKyBiL2NsYW5nL2RvY3MvY29uZi5weQkyMDIwLTA5LTE1IDE1OjAxOjAwLjAyNTg5 MzE5OSArMDAwMAotQEAgLTM3LDIxICszNyw3IEBACi0gICAgICIucnN0IjogInJlc3RydWN0dXJl ZHRleHQiLAotIH0KLSAKLS10cnk6Ci0tICAgIGltcG9ydCByZWNvbW1vbm1hcmsKLS1leGNlcHQg SW1wb3J0RXJyb3I6Ci0tICAgICMgbWFucGFnZXMgZG8gbm90IHVzZSBhbnkgLm1kIHNvdXJjZXMK LS0gICAgaWYgbm90IHRhZ3MuaGFzKCJidWlsZGVyLW1hbiIpOgotLSAgICAgICAgcmFpc2UKLS1l bHNlOgotLSAgICBpbXBvcnQgc3BoaW54Ci0tCi0tICAgIGlmIHNwaGlueC52ZXJzaW9uX2luZm8g Pj0gKDMsIDApOgotLSAgICAgICAgIyBUaGlzIHJlcXVpcmVzIDAuNSBvciBsYXRlci4KLS0gICAg ICAgIGV4dGVuc2lvbnMuYXBwZW5kKCJyZWNvbW1vbm1hcmsiKQotLSAgICBlbHNlOgotLSAgICAg ICAgc291cmNlX3BhcnNlcnMgPSB7Ii5tZCI6ICJyZWNvbW1vbm1hcmsucGFyc2VyLkNvbW1vbk1h cmtQYXJzZXIifQotLSAgICBzb3VyY2Vfc3VmZml4WyIubWQiXSA9ICJtYXJrZG93biIKLStpbXBv cnQgc3BoaW54Ci0gCi0gIyBUaGUgZW5jb2Rpbmcgb2Ygc291cmNlIGZpbGVzLgotICMgc291cmNl X2VuY29kaW5nID0gJ3V0Zi04LXNpZycKCmRpZmYgLS1naXQgYS9SRUFETUUubWQgYi9SRUFETUUu bWQKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDg3M2NmYzEuLjAwMDAwMDAKLS0tIGEv UkVBRE1FLm1kCisrKyAvZGV2L251bGwKQEAgLTEsMyArMCwwIEBACi0jIGNsYW5nMTcKLQotVGhl IGNsYW5nMTcgcGFja2FnZQoKZGlmZiAtLWdpdCBhL2NmZy5wYXRjaCBiL2NmZy5wYXRjaApkZWxl dGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNzc5NTU4YS4uMDAwMDAwMAotLS0gYS9jZmcucGF0 Y2gKKysrIC9kZXYvbnVsbApAQCAtMSwyOTggKzAsMCBAQAotY29tbWl0IGFkNGE1MTMwMjc3Nzc2 ZDhmMTVmNDBhYzVhNmRlZGU2YWQzYWFiZmIKLUF1dGhvcjogVGltbSBCw6RkZXIgPHRiYWVkZXJA cmVkaGF0LmNvbT4KLURhdGU6ICAgVHVlIEF1ZyA4IDE0OjExOjMzIDIwMjMgKzAyMDAKLQotICAg IFtjbGFuZ11bQ0ZHXSBDbGVhbnVwIGZ1bmN0aW9ucwotICAgIAotICAgIEFkZCBkZWNsYXJhdGlv bnMgZGVjbGFyZWQgd2l0aCBhdHRyaWJ1dGUoY2xlYW51cCguLi4pKSB0byB0aGUgQ0ZHLAotICAg IHNpbWlsYXIgdG8gZGVzdHJ1Y3RvcnMuCi0gICAgCi0gICAgRGlmZmVyZW50aWFsIFJldmlzaW9u OiBodHRwczovL3Jldmlld3MubGx2bS5vcmcvRDE1NzM4NQotCi1kaWZmIC0tZ2l0IGEvY2xhbmcv aW5jbHVkZS9jbGFuZy9BbmFseXNpcy9DRkcuaCBiL2NsYW5nL2luY2x1ZGUvY2xhbmcvQW5hbHlz aXMvQ0ZHLmgKLWluZGV4IGNmNGZhMmRhMmEzNS4uNjczODNiYjMxNmQzIDEwMDY0NAotLS0tIGEv Y2xhbmcvaW5jbHVkZS9jbGFuZy9BbmFseXNpcy9DRkcuaAotKysrIGIvY2xhbmcvaW5jbHVkZS9j bGFuZy9BbmFseXNpcy9DRkcuaAotQEAgLTE0LDEwICsxNCwxMSBAQAotICNpZm5kZWYgTExWTV9D TEFOR19BTkFMWVNJU19DRkdfSAotICNkZWZpbmUgTExWTV9DTEFOR19BTkFMWVNJU19DRkdfSAot IAotLSNpbmNsdWRlICJjbGFuZy9BbmFseXNpcy9TdXBwb3J0L0J1bXBWZWN0b3IuaCIKLS0jaW5j bHVkZSAiY2xhbmcvQW5hbHlzaXMvQ29uc3RydWN0aW9uQ29udGV4dC5oIgotKyNpbmNsdWRlICJj bGFuZy9BU1QvQXR0ci5oIgotICNpbmNsdWRlICJjbGFuZy9BU1QvRXhwckNYWC5oIgotICNpbmNs dWRlICJjbGFuZy9BU1QvRXhwck9iakMuaCIKLSsjaW5jbHVkZSAiY2xhbmcvQW5hbHlzaXMvQ29u c3RydWN0aW9uQ29udGV4dC5oIgotKyNpbmNsdWRlICJjbGFuZy9BbmFseXNpcy9TdXBwb3J0L0J1 bXBWZWN0b3IuaCIKLSAjaW5jbHVkZSAiY2xhbmcvQmFzaWMvTExWTS5oIgotICNpbmNsdWRlICJs bHZtL0FEVC9EZW5zZU1hcC5oIgotICNpbmNsdWRlICJsbHZtL0FEVC9HcmFwaFRyYWl0cy5oIgot QEAgLTc0LDcgKzc1LDggQEAgcHVibGljOgotICAgICBNZW1iZXJEdG9yLAotICAgICBUZW1wb3Jh cnlEdG9yLAotICAgICBEVE9SX0JFR0lOID0gQXV0b21hdGljT2JqZWN0RHRvciwKLS0gICAgRFRP Ul9FTkQgPSBUZW1wb3JhcnlEdG9yCi0rICAgIERUT1JfRU5EID0gVGVtcG9yYXJ5RHRvciwKLSsg ICAgQ2xlYW51cEZ1bmN0aW9uLAotICAgfTsKLSAKLSBwcm90ZWN0ZWQ6Ci1AQCAtMzgzLDYgKzM4 NSwzMiBAQCBwcml2YXRlOgotICAgfQotIH07Ci0gCi0rY2xhc3MgQ0ZHQ2xlYW51cEZ1bmN0aW9u IGZpbmFsIDogcHVibGljIENGR0VsZW1lbnQgewotK3B1YmxpYzoKLSsgIENGR0NsZWFudXBGdW5j dGlvbigpID0gZGVmYXVsdDsKLSsgIENGR0NsZWFudXBGdW5jdGlvbihjb25zdCBWYXJEZWNsICpW RCkKLSsgICAgICA6IENGR0VsZW1lbnQoS2luZDo6Q2xlYW51cEZ1bmN0aW9uLCBWRCkgewotKyAg ICBhc3NlcnQoVkQtPmhhc0F0dHI8Q2xlYW51cEF0dHI+KCkpOwotKyAgfQotKwotKyAgY29uc3Qg VmFyRGVjbCAqZ2V0VmFyRGVjbCgpIGNvbnN0IHsKLSsgICAgcmV0dXJuIHN0YXRpY19jYXN0PFZh ckRlY2wgKj4oRGF0YTEuZ2V0UG9pbnRlcigpKTsKLSsgIH0KLSsKLSsgIC8vLyBSZXR1cm5zIHRo ZSBmdW5jdGlvbiB0byBiZSBjYWxsZWQgd2hlbiBjbGVhbmluZyB1cCB0aGUgdmFyIGRlY2wuCi0r ICBjb25zdCBGdW5jdGlvbkRlY2wgKmdldEZ1bmN0aW9uRGVjbCgpIGNvbnN0IHsKLSsgICAgY29u c3QgQ2xlYW51cEF0dHIgKkEgPSBnZXRWYXJEZWNsKCktPmdldEF0dHI8Q2xlYW51cEF0dHI+KCk7 Ci0rICAgIHJldHVybiBBLT5nZXRGdW5jdGlvbkRlY2woKTsKLSsgIH0KLSsKLStwcml2YXRlOgot KyAgZnJpZW5kIGNsYXNzIENGR0VsZW1lbnQ7Ci0rCi0rICBzdGF0aWMgYm9vbCBpc0tpbmQoY29u c3QgQ0ZHRWxlbWVudCBFKSB7Ci0rICAgIHJldHVybiBFLmdldEtpbmQoKSA9PSBLaW5kOjpDbGVh bnVwRnVuY3Rpb247Ci0rICB9Ci0rfTsKLSsKLSAvLy8gUmVwcmVzZW50cyBDKysgb2JqZWN0IGRl c3RydWN0b3IgaW1wbGljaXRseSBnZW5lcmF0ZWQgZm9yIGF1dG9tYXRpYyBvYmplY3QKLSAvLy8g b3IgdGVtcG9yYXJ5IGJvdW5kIHRvIGNvbnN0IHJlZmVyZW5jZSBhdCB0aGUgcG9pbnQgb2YgbGVh dmluZyBpdHMgbG9jYWwKLSAvLy8gc2NvcGUuCi1AQCAtMTE0Miw2ICsxMTcwLDEwIEBAIHB1Ymxp YzoKLSAgICAgRWxlbWVudHMucHVzaF9iYWNrKENGR0F1dG9tYXRpY09iakR0b3IoVkQsIFMpLCBD KTsKLSAgIH0KLSAKLSsgIHZvaWQgYXBwZW5kQ2xlYW51cEZ1bmN0aW9uKGNvbnN0IFZhckRlY2wg KlZELCBCdW1wVmVjdG9yQ29udGV4dCAmQykgewotKyAgICBFbGVtZW50cy5wdXNoX2JhY2soQ0ZH Q2xlYW51cEZ1bmN0aW9uKFZEKSwgQyk7Ci0rICB9Ci0rCi0gICB2b2lkIGFwcGVuZExpZmV0aW1l RW5kcyhWYXJEZWNsICpWRCwgU3RtdCAqUywgQnVtcFZlY3RvckNvbnRleHQgJkMpIHsKLSAgICAg RWxlbWVudHMucHVzaF9iYWNrKENGR0xpZmV0aW1lRW5kcyhWRCwgUyksIEMpOwotICAgfQotZGlm ZiAtLWdpdCBhL2NsYW5nL2xpYi9BbmFseXNpcy9DRkcuY3BwIGIvY2xhbmcvbGliL0FuYWx5c2lz L0NGRy5jcHAKLWluZGV4IGI4MmY5MDEwYTgzZi4uMDNhYjRjNmZkZjI5IDEwMDY0NAotLS0tIGEv Y2xhbmcvbGliL0FuYWx5c2lzL0NGRy5jcHAKLSsrKyBiL2NsYW5nL2xpYi9BbmFseXNpcy9DRkcu Y3BwCi1AQCAtODgxLDYgKzg4MSwxMCBAQCBwcml2YXRlOgotICAgICBCLT5hcHBlbmRBdXRvbWF0 aWNPYmpEdG9yKFZELCBTLCBjZmctPmdldEJ1bXBWZWN0b3JDb250ZXh0KCkpOwotICAgfQotIAot KyAgdm9pZCBhcHBlbmRDbGVhbnVwRnVuY3Rpb24oQ0ZHQmxvY2sgKkIsIFZhckRlY2wgKlZEKSB7 Ci0rICAgIEItPmFwcGVuZENsZWFudXBGdW5jdGlvbihWRCwgY2ZnLT5nZXRCdW1wVmVjdG9yQ29u dGV4dCgpKTsKLSsgIH0KLSsKLSAgIHZvaWQgYXBwZW5kTGlmZXRpbWVFbmRzKENGR0Jsb2NrICpC LCBWYXJEZWNsICpWRCwgU3RtdCAqUykgewotICAgICBCLT5hcHBlbmRMaWZldGltZUVuZHMoVkQs IFMsIGNmZy0+Z2V0QnVtcFZlY3RvckNvbnRleHQoKSk7Ci0gICB9Ci1AQCAtMTM0Niw3ICsxMzUw LDggQEAgcHJpdmF0ZToKLSAgICAgcmV0dXJuIHt9OwotICAgfQotIAotLSAgYm9vbCBoYXNUcml2 aWFsRGVzdHJ1Y3RvcihWYXJEZWNsICpWRCk7Ci0rICBib29sIGhhc1RyaXZpYWxEZXN0cnVjdG9y KGNvbnN0IFZhckRlY2wgKlZEKSBjb25zdDsKLSsgIGJvb2wgbmVlZHNBdXRvbWF0aWNEZXN0cnVj dGlvbihjb25zdCBWYXJEZWNsICpWRCkgY29uc3Q7Ci0gfTsKLSAKLSB9IC8vIG5hbWVzcGFjZQot QEAgLTE4NjEsMTQgKzE4NjYsMTQgQEAgdm9pZCBDRkdCdWlsZGVyOjphZGRBdXRvbWF0aWNPYmpE ZXN0cnVjdGlvbihMb2NhbFNjb3BlOjpjb25zdF9pdGVyYXRvciBCLAotICAgaWYgKEIgPT0gRSkK LSAgICAgcmV0dXJuOwotIAotLSAgU21hbGxWZWN0b3I8VmFyRGVjbCAqLCAxMD4gRGVjbHNOb25U cml2aWFsOwotLSAgRGVjbHNOb25Ucml2aWFsLnJlc2VydmUoQi5kaXN0YW5jZShFKSk7Ci0rICBT bWFsbFZlY3RvcjxWYXJEZWNsICosIDEwPiBEZWNsc05lZWREZXN0cnVjdGlvbjsKLSsgIERlY2xz TmVlZERlc3RydWN0aW9uLnJlc2VydmUoQi5kaXN0YW5jZShFKSk7Ci0gCi0gICBmb3IgKFZhckRl Y2wqIEQgOiBsbHZtOjptYWtlX3JhbmdlKEIsIEUpKQotLSAgICBpZiAoIWhhc1RyaXZpYWxEZXN0 cnVjdG9yKEQpKQotLSAgICAgIERlY2xzTm9uVHJpdmlhbC5wdXNoX2JhY2soRCk7Ci0rICAgIGlm IChuZWVkc0F1dG9tYXRpY0Rlc3RydWN0aW9uKEQpKQotKyAgICAgIERlY2xzTmVlZERlc3RydWN0 aW9uLnB1c2hfYmFjayhEKTsKLSAKLS0gIGZvciAoVmFyRGVjbCAqVkQgOiBsbHZtOjpyZXZlcnNl KERlY2xzTm9uVHJpdmlhbCkpIHsKLSsgIGZvciAoVmFyRGVjbCAqVkQgOiBsbHZtOjpyZXZlcnNl KERlY2xzTmVlZERlc3RydWN0aW9uKSkgewotICAgICBpZiAoQnVpbGRPcHRzLkFkZEltcGxpY2l0 RHRvcnMpIHsKLSAgICAgICAvLyBJZiB0aGlzIGRlc3RydWN0b3IgaXMgbWFya2VkIGFzIGEgbm8t cmV0dXJuIGRlc3RydWN0b3IsIHdlIG5lZWQgdG8KLSAgICAgICAvLyBjcmVhdGUgYSBuZXcgYmxv Y2sgZm9yIHRoZSBkZXN0cnVjdG9yIHdoaWNoIGRvZXMgbm90IGhhdmUgYXMgYQotQEAgLTE4Nzks NyArMTg4NCw4IEBAIHZvaWQgQ0ZHQnVpbGRlcjo6YWRkQXV0b21hdGljT2JqRGVzdHJ1Y3Rpb24o TG9jYWxTY29wZTo6Y29uc3RfaXRlcmF0b3IgQiwKLSAgICAgICAgIFR5ID0gZ2V0UmVmZXJlbmNl SW5pdFRlbXBvcmFyeVR5cGUoVkQtPmdldEluaXQoKSk7Ci0gICAgICAgVHkgPSBDb250ZXh0LT5n ZXRCYXNlRWxlbWVudFR5cGUoVHkpOwotIAotLSAgICAgIGlmIChUeS0+Z2V0QXNDWFhSZWNvcmRE ZWNsKCktPmlzQW55RGVzdHJ1Y3Rvck5vUmV0dXJuKCkpCi0rICAgICAgY29uc3QgQ1hYUmVjb3Jk RGVjbCAqQ1JEID0gVHktPmdldEFzQ1hYUmVjb3JkRGVjbCgpOwotKyAgICAgIGlmIChDUkQgJiYg Q1JELT5pc0FueURlc3RydWN0b3JOb1JldHVybigpKQotICAgICAgICAgQmxvY2sgPSBjcmVhdGVO b1JldHVybkJsb2NrKCk7Ci0gICAgIH0KLSAKLUBAIC0xODkwLDggKzE4OTYsMTAgQEAgdm9pZCBD RkdCdWlsZGVyOjphZGRBdXRvbWF0aWNPYmpEZXN0cnVjdGlvbihMb2NhbFNjb3BlOjpjb25zdF9p dGVyYXRvciBCLAotICAgICAvLyBvYmplY3RzLCB3ZSBlbmQgbGlmZXRpbWUgd2l0aCBzY29wZSBl bmQuCi0gICAgIGlmIChCdWlsZE9wdHMuQWRkTGlmZXRpbWUpCi0gICAgICAgYXBwZW5kTGlmZXRp bWVFbmRzKEJsb2NrLCBWRCwgUyk7Ci0tICAgIGlmIChCdWlsZE9wdHMuQWRkSW1wbGljaXREdG9y cykKLSsgICAgaWYgKEJ1aWxkT3B0cy5BZGRJbXBsaWNpdER0b3JzICYmICFoYXNUcml2aWFsRGVz dHJ1Y3RvcihWRCkpCi0gICAgICAgYXBwZW5kQXV0b21hdGljT2JqRHRvcihCbG9jaywgVkQsIFMp OwotKyAgICBpZiAoVkQtPmhhc0F0dHI8Q2xlYW51cEF0dHI+KCkpCi0rICAgICAgYXBwZW5kQ2xl YW51cEZ1bmN0aW9uKEJsb2NrLCBWRCk7Ci0gICB9Ci0gfQotIAotQEAgLTE5MjIsNyArMTkzMCw3 IEBAIHZvaWQgQ0ZHQnVpbGRlcjo6YWRkU2NvcGVFeGl0SGFuZGxpbmcoTG9jYWxTY29wZTo6Y29u c3RfaXRlcmF0b3IgQiwKLSAgIC8vIGlzIGRlc3Ryb3llZCwgZm9yIGF1dG9tYXRpYyB2YXJpYWJs ZXMsIHRoaXMgaGFwcGVucyB3aGVuIHRoZSBlbmQgb2YgdGhlCi0gICAvLyBzY29wZSBpcyBhZGRl ZC4KLSAgIGZvciAoVmFyRGVjbCogRCA6IGxsdm06Om1ha2VfcmFuZ2UoQiwgRSkpCi0tICAgIGlm IChoYXNUcml2aWFsRGVzdHJ1Y3RvcihEKSkKLSsgICAgaWYgKCFuZWVkc0F1dG9tYXRpY0Rlc3Ry dWN0aW9uKEQpKQotICAgICAgIERlY2xzVHJpdmlhbC5wdXNoX2JhY2soRCk7Ci0gCi0gICBpZiAo RGVjbHNUcml2aWFsLmVtcHR5KCkpCi1AQCAtMjA5NSw3ICsyMTAzLDExIEBAIExvY2FsU2NvcGUq IENGR0J1aWxkZXI6OmFkZExvY2FsU2NvcGVGb3JEZWNsU3RtdChEZWNsU3RtdCAqRFMsCi0gICBy ZXR1cm4gU2NvcGU7Ci0gfQotIAotLWJvb2wgQ0ZHQnVpbGRlcjo6aGFzVHJpdmlhbERlc3RydWN0 b3IoVmFyRGVjbCAqVkQpIHsKLStib29sIENGR0J1aWxkZXI6Om5lZWRzQXV0b21hdGljRGVzdHJ1 Y3Rpb24oY29uc3QgVmFyRGVjbCAqVkQpIGNvbnN0IHsKLSsgIHJldHVybiAhaGFzVHJpdmlhbERl c3RydWN0b3IoVkQpIHx8IFZELT5oYXNBdHRyPENsZWFudXBBdHRyPigpOwotK30KLSsKLStib29s IENGR0J1aWxkZXI6Omhhc1RyaXZpYWxEZXN0cnVjdG9yKGNvbnN0IFZhckRlY2wgKlZEKSBjb25z dCB7Ci0gICAvLyBDaGVjayBmb3IgY29uc3QgcmVmZXJlbmNlcyBib3VuZCB0byB0ZW1wb3Jhcnku IFNldCB0eXBlIHRvIHBvaW50ZWUuCi0gICBRdWFsVHlwZSBRVCA9IFZELT5nZXRUeXBlKCk7Ci0g ICBpZiAoUVQtPmlzUmVmZXJlbmNlVHlwZSgpKSB7Ci1AQCAtMjE0OSw3ICsyMTYxLDcgQEAgTG9j YWxTY29wZSogQ0ZHQnVpbGRlcjo6YWRkTG9jYWxTY29wZUZvclZhckRlY2woVmFyRGVjbCAqVkQs Ci0gICAgIHJldHVybiBTY29wZTsKLSAKLSAgIGlmICghQnVpbGRPcHRzLkFkZExpZmV0aW1lICYm ICFCdWlsZE9wdHMuQWRkU2NvcGVzICYmCi0tICAgICAgaGFzVHJpdmlhbERlc3RydWN0b3IoVkQp KSB7Ci0rICAgICAgIW5lZWRzQXV0b21hdGljRGVzdHJ1Y3Rpb24oVkQpKSB7Ci0gICAgIGFzc2Vy dChCdWlsZE9wdHMuQWRkSW1wbGljaXREdG9ycyk7Ci0gICAgIHJldHVybiBTY29wZTsKLSAgIH0K LUBAIC01Mjg3LDYgKzUyOTksNyBAQCBDRkdJbXBsaWNpdER0b3I6OmdldERlc3RydWN0b3JEZWNs KEFTVENvbnRleHQgJmFzdENvbnRleHQpIGNvbnN0IHsKLSAgICAgY2FzZSBDRkdFbGVtZW50OjpD WFhSZWNvcmRUeXBlZENhbGw6Ci0gICAgIGNhc2UgQ0ZHRWxlbWVudDo6U2NvcGVCZWdpbjoKLSAg ICAgY2FzZSBDRkdFbGVtZW50OjpTY29wZUVuZDoKLSsgICAgY2FzZSBDRkdFbGVtZW50OjpDbGVh bnVwRnVuY3Rpb246Ci0gICAgICAgbGx2bV91bnJlYWNoYWJsZSgiZ2V0RGVzdHJ1Y3RvckRlY2wg c2hvdWxkIG9ubHkgYmUgdXNlZCB3aXRoICIKLSAgICAgICAgICAgICAgICAgICAgICAgICJJbXBs aWNpdER0b3JzIik7Ci0gICAgIGNhc2UgQ0ZHRWxlbWVudDo6QXV0b21hdGljT2JqZWN0RHRvcjog ewotQEAgLTU4MzAsNiArNTg0MywxMSBAQCBzdGF0aWMgdm9pZCBwcmludF9lbGVtKHJhd19vc3Ry ZWFtICZPUywgU3RtdFByaW50ZXJIZWxwZXIgJkhlbHBlciwKLSAgICAgYnJlYWs7Ci0gICB9Ci0g Ci0rICBjYXNlIENGR0VsZW1lbnQ6OktpbmQ6OkNsZWFudXBGdW5jdGlvbjoKLSsgICAgT1MgPDwg IkNsZWFudXBGdW5jdGlvbiAoIgotKyAgICAgICA8PCBFLmNhc3RBczxDRkdDbGVhbnVwRnVuY3Rp b24+KCkuZ2V0RnVuY3Rpb25EZWNsKCktPmdldE5hbWUoKSA8PCAiKVxuIjsKLSsgICAgYnJlYWs7 Ci0rCi0gICBjYXNlIENGR0VsZW1lbnQ6OktpbmQ6OkxpZmV0aW1lRW5kczoKLSAgICAgSGVscGVy LmhhbmRsZURlY2woRS5jYXN0QXM8Q0ZHTGlmZXRpbWVFbmRzPigpLmdldFZhckRlY2woKSwgT1Mp OwotICAgICBPUyA8PCAiIChMaWZldGltZSBlbmRzKVxuIjsKLWRpZmYgLS1naXQgYS9jbGFuZy9s aWIvQW5hbHlzaXMvUGF0aERpYWdub3N0aWMuY3BwIGIvY2xhbmcvbGliL0FuYWx5c2lzL1BhdGhE aWFnbm9zdGljLmNwcAotaW5kZXggMzQ4YWZjNDIzMTllLi4wY2IwMzk0M2M1NDcgMTAwNjQ0Ci0t LS0gYS9jbGFuZy9saWIvQW5hbHlzaXMvUGF0aERpYWdub3N0aWMuY3BwCi0rKysgYi9jbGFuZy9s aWIvQW5hbHlzaXMvUGF0aERpYWdub3N0aWMuY3BwCi1AQCAtNTY3LDYgKzU2Nyw3IEBAIGdldExv Y2F0aW9uRm9yQ2FsbGVyKGNvbnN0IFN0YWNrRnJhbWVDb250ZXh0ICpTRkMsCi0gICB9Ci0gICBj YXNlIENGR0VsZW1lbnQ6OlNjb3BlQmVnaW46Ci0gICBjYXNlIENGR0VsZW1lbnQ6OlNjb3BlRW5k OgotKyAgY2FzZSBDRkdFbGVtZW50OjpDbGVhbnVwRnVuY3Rpb246Ci0gICAgIGxsdm1fdW5yZWFj aGFibGUoIm5vdCB5ZXQgaW1wbGVtZW50ZWQhIik7Ci0gICBjYXNlIENGR0VsZW1lbnQ6OkxpZmV0 aW1lRW5kczoKLSAgIGNhc2UgQ0ZHRWxlbWVudDo6TG9vcEV4aXQ6Ci1kaWZmIC0tZ2l0IGEvY2xh bmcvbGliL1N0YXRpY0FuYWx5emVyL0NvcmUvRXhwckVuZ2luZS5jcHAgYi9jbGFuZy9saWIvU3Rh dGljQW5hbHl6ZXIvQ29yZS9FeHByRW5naW5lLmNwcAotaW5kZXggMGUyYWM3OGY3MDg5Li5kN2M1 YmQxZDQwNDIgMTAwNjQ0Ci0tLS0gYS9jbGFuZy9saWIvU3RhdGljQW5hbHl6ZXIvQ29yZS9FeHBy RW5naW5lLmNwcAotKysrIGIvY2xhbmcvbGliL1N0YXRpY0FuYWx5emVyL0NvcmUvRXhwckVuZ2lu ZS5jcHAKLUBAIC05OTMsNiArOTkzLDcgQEAgdm9pZCBFeHByRW5naW5lOjpwcm9jZXNzQ0ZHRWxl bWVudChjb25zdCBDRkdFbGVtZW50IEUsIEV4cGxvZGVkTm9kZSAqUHJlZCwKLSAgICAgICBQcm9j ZXNzTG9vcEV4aXQoRS5jYXN0QXM8Q0ZHTG9vcEV4aXQ+KCkuZ2V0TG9vcFN0bXQoKSwgUHJlZCk7 Ci0gICAgICAgcmV0dXJuOwotICAgICBjYXNlIENGR0VsZW1lbnQ6OkxpZmV0aW1lRW5kczoKLSsg ICAgY2FzZSBDRkdFbGVtZW50OjpDbGVhbnVwRnVuY3Rpb246Ci0gICAgIGNhc2UgQ0ZHRWxlbWVu dDo6U2NvcGVCZWdpbjoKLSAgICAgY2FzZSBDRkdFbGVtZW50OjpTY29wZUVuZDoKLSAgICAgICBy ZXR1cm47Ci1kaWZmIC0tZ2l0IGEvY2xhbmcvdGVzdC9BbmFseXNpcy9zY29wZXMtY2ZnLW91dHB1 dC5jcHAgYi9jbGFuZy90ZXN0L0FuYWx5c2lzL3Njb3Blcy1jZmctb3V0cHV0LmNwcAotaW5kZXgg Njg3N2QxMjRlNjdhLi40ZWI4OTY3ZTM3MzUgMTAwNjQ0Ci0tLS0gYS9jbGFuZy90ZXN0L0FuYWx5 c2lzL3Njb3Blcy1jZmctb3V0cHV0LmNwcAotKysrIGIvY2xhbmcvdGVzdC9BbmFseXNpcy9zY29w ZXMtY2ZnLW91dHB1dC5jcHAKLUBAIC0xNDE5LDMgKzE0MTksNjggQEAgbGFiZWw6Ci0gICAgIH0K LSAgIH0KLSB9Ci0rCi0rLy8gQ0hFQ0s6ICAgICAgW0IxXQotKy8vIENIRUNLLU5FWFQ6ICAgMTog Q0ZHU2NvcGVCZWdpbihpKQotKy8vIENIRUNLLU5FWFQ6ICAgMjogaW50IGkgX19hdHRyaWJ1dGVf XygoY2xlYW51cChjbGVhbnVwX2ludCkpKTsKLSsvLyBDSEVDSy1ORVhUOiAgIDM6IENsZWFudXBG dW5jdGlvbiAoY2xlYW51cF9pbnQpCi0rLy8gQ0hFQ0stTkVYVDogICA0OiBDRkdTY29wZUVuZChp KQotK3ZvaWQgY2xlYW51cF9pbnQoaW50ICppKTsKLSt2b2lkIHRlc3RfY2xlYW51cF9mdW5jdGlv bnMoKSB7Ci0rICBpbnQgaSBfX2F0dHJpYnV0ZV9fKChjbGVhbnVwKGNsZWFudXBfaW50KSkpOwot K30KLSsKLSsvLyBDSEVDSzogICAgICBbQjFdCi0rLy8gQ0hFQ0stTkVYVDogICAgMTogMTAKLSsv LyBDSEVDSy1ORVhUOiAgICAyOiBpCi0rLy8gQ0hFQ0stTkVYVDogICAgMzogW0IxLjJdID0gW0Ix LjFdCi0rLy8gQ0hFQ0stTkVYVDogICAgNDogcmV0dXJuOwotKy8vIENIRUNLLU5FWFQ6ICAgIDU6 IENsZWFudXBGdW5jdGlvbiAoY2xlYW51cF9pbnQpCi0rLy8gQ0hFQ0stTkVYVDogICAgNjogQ0ZH U2NvcGVFbmQoaSkKLSsvLyBDSEVDSy1ORVhUOiAgICBQcmVkcyAoMSk6IEIzCi0rLy8gQ0hFQ0st TkVYVDogICAgU3VjY3MgKDEpOiBCMAotKy8vIENIRUNLOiAgICAgIFtCMl0KLSsvLyBDSEVDSy1O RVhUOiAgICAxOiByZXR1cm47Ci0rLy8gQ0hFQ0stTkVYVDogICAgMjogQ2xlYW51cEZ1bmN0aW9u IChjbGVhbnVwX2ludCkKLSsvLyBDSEVDSy1ORVhUOiAgICAzOiBDRkdTY29wZUVuZChpKQotKy8v IENIRUNLLU5FWFQ6ICAgIFByZWRzICgxKTogQjMKLSsvLyBDSEVDSy1ORVhUOiAgICBTdWNjcyAo MSk6IEIwCi0rLy8gQ0hFQ0s6ICAgICAgW0IzXQotKy8vIENIRUNLLU5FWFQ6ICAgIDE6IENGR1Nj b3BlQmVnaW4oaSkKLSsvLyBDSEVDSy1ORVhUOiAgICAyOiBpbnQgaSBfX2F0dHJpYnV0ZV9fKChj bGVhbnVwKGNsZWFudXBfaW50KSkpOwotKy8vIENIRUNLLU5FWFQ6ICAgIDM6IG0KLSsvLyBDSEVD Sy1ORVhUOiAgICA0OiBbQjMuM10gKEltcGxpY2l0Q2FzdEV4cHIsIExWYWx1ZVRvUlZhbHVlLCBp bnQpCi0rLy8gQ0hFQ0stTkVYVDogICAgNTogMQotKy8vIENIRUNLLU5FWFQ6ICAgIDY6IFtCMy40 XSA9PSBbQjMuNV0KLSsvLyBDSEVDSy1ORVhUOiAgICBUOiBpZiBbQjMuNl0KLSsvLyBDSEVDSy1O RVhUOiAgICBQcmVkcyAoMSk6IEI0Ci0rLy8gQ0hFQ0stTkVYVDogICAgU3VjY3MgKDIpOiBCMiBC MQotK3ZvaWQgdGVzdF9jbGVhbnVwX2Z1bmN0aW9uczIoaW50IG0pIHsKLSsgIGludCBpIF9fYXR0 cmlidXRlX18oKGNsZWFudXAoY2xlYW51cF9pbnQpKSk7Ci0rCi0rICBpZiAobSA9PSAxKSB7Ci0r ICAgIHJldHVybjsKLSsgIH0KLSsKLSsgIGkgPSAxMDsKLSsgIHJldHVybjsKLSt9Ci0rCi0rLy8g Q0hFQ0s6ICAgICAgIFtCMV0KLSsvLyBDSEVDSy1ORVhUOiAgICAxOiBDRkdTY29wZUJlZ2luKGYp Ci0rLy8gQ0hFQ0stTkVYVDogICAgMjogIChDWFhDb25zdHJ1Y3RFeHByLCBbQjEuM10sIEYpCi0r Ly8gQ0hFQ0stTkVYVDogICAgMzogRiBmIF9fYXR0cmlidXRlX18oKGNsZWFudXAoY2xlYW51cF9G KSkpOwotKy8vIENIRUNLLU5FWFQ6ICAgIDQ6IENsZWFudXBGdW5jdGlvbiAoY2xlYW51cF9GKQot Ky8vIENIRUNLLU5FWFQ6ICAgIDU6IFtCMS4zXS5+RigpIChJbXBsaWNpdCBkZXN0cnVjdG9yKQot Ky8vIENIRUNLLU5FWFQ6ICAgIDY6IENGR1Njb3BlRW5kKGYpCi0rLy8gQ0hFQ0stTkVYVDogICAg UHJlZHMgKDEpOiBCMgotKy8vIENIRUNLLU5FWFQ6ICAgIFN1Y2NzICgxKTogQjAKLStjbGFzcyBG IHsKLStwdWJsaWM6Ci0rICB+RigpOwotK307Ci0rdm9pZCBjbGVhbnVwX0YoRiAqZik7Ci0rCi0r dm9pZCB0ZXN0KCkgewotKyAgRiBmIF9fYXR0cmlidXRlKChjbGVhbnVwKGNsZWFudXBfRikpKTsK LSt9CgpkaWZmIC0tZ2l0IGEvY2xhbmcxNy5zcGVjIGIvY2xhbmcxNy5zcGVjCmRlbGV0ZWQgZmls ZSBtb2RlIDEwMDY0NAppbmRleCA3OTQ1ZmRlLi4wMDAwMDAwCi0tLSBhL2NsYW5nMTcuc3BlYwor KysgL2Rldi9udWxsCkBAIC0xLDE1MDcgKzAsMCBAQAotJWJjb25kX3dpdGggc25hcHNob3RfYnVp bGQKLQotJWlmICV7d2l0aCBzbmFwc2hvdF9idWlsZH0KLSV7bGx2bV9zYn0KLSVlbmRpZgotCi0l Z2xvYmFsIHRvb2xjaGFpbiBjbGFuZwotCi0jIE9wdCBvdXQgb2YgaHR0cHM6Ly9mZWRvcmFwcm9q ZWN0Lm9yZy93aWtpL0NoYW5nZXMvZm5vLW9taXQtZnJhbWUtcG9pbnRlcgotIyBodHRwczovL2J1 Z3ppbGxhLnJlZGhhdC5jb20vc2hvd19idWcuY2dpP2lkPTIxNTg1ODcKLSV1bmRlZmluZSBfaW5j bHVkZV9mcmFtZV9wb2ludGVycwotCi0lYmNvbmRfd2l0aG91dCBjb21wYXRfYnVpbGQKLSViY29u ZF93aXRob3V0IGNoZWNrCi0KLSVnbG9iYWwgbWFqX3ZlciAxNwotJWdsb2JhbCBtaW5fdmVyIDAK LSVnbG9iYWwgcGF0Y2hfdmVyIDYKLSNnbG9iYWwgcmNfdmVyIDQKLQotJWlmICV7d2l0aCBzbmFw c2hvdF9idWlsZH0KLSV1bmRlZmluZSByY192ZXIKLSVnbG9iYWwgbWFqX3ZlciAle2xsdm1fc25h cHNob3RfdmVyc2lvbl9tYWpvcn0KLSVnbG9iYWwgbWluX3ZlciAle2xsdm1fc25hcHNob3RfdmVy c2lvbl9taW5vcn0KLSVnbG9iYWwgcGF0Y2hfdmVyICV7bGx2bV9zbmFwc2hvdF92ZXJzaW9uX3Bh dGNofQotJWVuZGlmCi0KLSVnbG9iYWwgY2xhbmdfdmVyc2lvbiAle21hal92ZXJ9LiV7bWluX3Zl cn0uJXtwYXRjaF92ZXJ9Ci0KLSVpZiAle3dpdGggY29tcGF0X2J1aWxkfQotJWdsb2JhbCBwa2df bmFtZSBjbGFuZyV7bWFqX3Zlcn0KLSVnbG9iYWwgc3ViX3BrZ19zdWZmaXggJXttYWpfdmVyfQot IyBJbnN0YWxsIGNsYW5nIHRvIHNhbWUgcHJlZml4IGFzIGxsdm0sIHNvIHRoYXQgYXBwcyB0aGF0 IHVzZSBsbHZtLWNvbmZpZwotIyB3aWxsIGFsc28gYmUgYWJsZSB0byBmaW5kIGNsYW5nIGxpYnMu Ci0lZ2xvYmFsIGluc3RhbGxfcHJlZml4ICV7X2xpYmRpcn0vbGx2bSV7bWFqX3Zlcn0KLSVnbG9i YWwgaW5zdGFsbF9iaW5kaXIgJXtpbnN0YWxsX3ByZWZpeH0vYmluCi0lZ2xvYmFsIGluc3RhbGxf aW5jbHVkZWRpciAle2luc3RhbGxfcHJlZml4fS9pbmNsdWRlCi0lZ2xvYmFsIGluc3RhbGxfbGli ZGlyICV7aW5zdGFsbF9wcmVmaXh9L2xpYgotJWdsb2JhbCBpbnN0YWxsX2RhdGFkaXIgJXtpbnN0 YWxsX3ByZWZpeH0vc2hhcmUKLSVnbG9iYWwgaW5zdGFsbF9saWJleGVjZGlyICV7aW5zdGFsbF9w cmVmaXh9L2xpYmV4ZWMKLSVnbG9iYWwgaW5zdGFsbF9kb2NkaXIgJXtpbnN0YWxsX2RhdGFkaXJ9 L2RvYwotCi0lZ2xvYmFsIHBrZ19pbmNsdWRlZGlyICV7aW5zdGFsbF9pbmNsdWRlZGlyfQotJWVs c2UKLSVnbG9iYWwgcGtnX25hbWUgY2xhbmcKLSVnbG9iYWwgaW5zdGFsbF9wcmVmaXggJXtfcHJl Zml4fQotJWdsb2JhbCBpbnN0YWxsX2JpbmRpciAle19iaW5kaXJ9Ci0lZ2xvYmFsIGluc3RhbGxf ZGF0YWRpciAle19kYXRhZGlyfQotJWdsb2JhbCBpbnN0YWxsX2xpYmRpciAle19saWJkaXJ9Ci0l Z2xvYmFsIGluc3RhbGxfaW5jbHVkZWRpciAle19pbmNsdWRlZGlyfQotJWdsb2JhbCBpbnN0YWxs X2xpYmV4ZWNkaXIgJXtfbGliZXhlY2Rpcn0KLSVnbG9iYWwgaW5zdGFsbF9kb2NkaXIgJXtfZG9j ZGlyfQotJWVuZGlmCi0KLSVpZmFyY2ggcHBjNjRsZQotIyBUb28gbWFueSB0aHJlYWRzIG9uIHBw YzY0IHN5c3RlbXMgY2F1c2VzIE9PTSBlcnJvcnMuCi0lZ2xvYmFsIF9zbXBfbWZsYWdzIC1qOAot JWVuZGlmCi0KLSMgVHJ5IHRvIGxpbWl0IG1lbW9yeSB1c2Ugb24gaTY4Ni4KLSVpZmFyY2ggJWl4 ODYKLSVjb25zdHJhaW5fYnVpbGQgLW0gMzA3MgotJWVuZGlmCi0KLSVnbG9iYWwgY2xhbmdfc3Jj ZGlyIGNsYW5nLSV7Y2xhbmdfdmVyc2lvbn0lez9yY192ZXI6cmMle3JjX3Zlcn19LnNyYwotJWds b2JhbCBjbGFuZ190b29sc19zcmNkaXIgY2xhbmctdG9vbHMtZXh0cmEtJXtjbGFuZ192ZXJzaW9u fSV7P3JjX3ZlcjpyYyV7cmNfdmVyfX0uc3JjCi0KLU5hbWU6CQklcGtnX25hbWUKLVZlcnNpb246 CSV7Y2xhbmdfdmVyc2lvbn0lez9yY192ZXI6fnJjJXtyY192ZXJ9fSV7P2xsdm1fc25hcHNob3Rf dmVyc2lvbl9zdWZmaXg6fiV7bGx2bV9zbmFwc2hvdF92ZXJzaW9uX3N1ZmZpeH19Ci1SZWxlYXNl OgkxMyV7P2Rpc3R9Ci1TdW1tYXJ5OglBIEMgbGFuZ3VhZ2UgZmFtaWx5IGZyb250LWVuZCBmb3Ig TExWTQotCi1MaWNlbnNlOglBcGFjaGUtMi4wIFdJVEggTExWTS1leGNlcHRpb24gT1IgTkNTQQot VVJMOgkJaHR0cDovL2xsdm0ub3JnCi0laWYgJXt3aXRoIHNuYXBzaG90X2J1aWxkfQotU291cmNl MDogICAgJXtsbHZtX3NuYXBzaG90X3NvdXJjZV9wcmVmaXh9Y2xhbmctJXtsbHZtX3NuYXBzaG90 X3l5eXltbWRkfS5zcmMudGFyLnh6Ci1Tb3VyY2UxOiAgICAle2xsdm1fc25hcHNob3Rfc291cmNl X3ByZWZpeH1jbGFuZy10b29scy1leHRyYS0le2xsdm1fc25hcHNob3RfeXl5eW1tZGR9LnNyYy50 YXIueHoKLSV7bGx2bV9zbmFwc2hvdF9leHRyYV9zb3VyY2VfdGFnc30KLQotJWVsc2UKLVNvdXJj ZTA6CWh0dHBzOi8vZ2l0aHViLmNvbS9sbHZtL2xsdm0tcHJvamVjdC9yZWxlYXNlcy9kb3dubG9h ZC9sbHZtb3JnLSV7Y2xhbmdfdmVyc2lvbn0lez9yY192ZXI6LXJjJXtyY192ZXJ9fS8le2NsYW5n X3NyY2Rpcn0udGFyLnh6Ci1Tb3VyY2UzOglodHRwczovL2dpdGh1Yi5jb20vbGx2bS9sbHZtLXBy b2plY3QvcmVsZWFzZXMvZG93bmxvYWQvbGx2bW9yZy0le2NsYW5nX3ZlcnNpb259JXs/cmNfdmVy Oi1yYyV7cmNfdmVyfX0vJXtjbGFuZ19zcmNkaXJ9LnRhci54ei5zaWcKLVNvdXJjZTE6CWh0dHBz Oi8vZ2l0aHViLmNvbS9sbHZtL2xsdm0tcHJvamVjdC9yZWxlYXNlcy9kb3dubG9hZC9sbHZtb3Jn LSV7Y2xhbmdfdmVyc2lvbn0lez9yY192ZXI6LXJjJXtyY192ZXJ9fS8le2NsYW5nX3Rvb2xzX3Ny Y2Rpcn0udGFyLnh6Ci1Tb3VyY2UyOglodHRwczovL2dpdGh1Yi5jb20vbGx2bS9sbHZtLXByb2pl Y3QvcmVsZWFzZXMvZG93bmxvYWQvbGx2bW9yZy0le2NsYW5nX3ZlcnNpb259JXs/cmNfdmVyOi1y YyV7cmNfdmVyfX0vJXtjbGFuZ190b29sc19zcmNkaXJ9LnRhci54ei5zaWcKLVNvdXJjZTQ6CXJl bGVhc2Uta2V5cy5hc2MKLSVlbmRpZgotJWlmICV7d2l0aG91dCBjb21wYXRfYnVpbGR9Ci1Tb3Vy Y2U1OgltYWNyb3MuJXtuYW1lfQotJWVuZGlmCi0KLSMgUGF0Y2hlcyBmb3IgY2xhbmcKLVBhdGNo MTogICAgIDAwMDEtUEFUQ0gtY2xhbmctTWFrZS1mdW53aW5kLXRhYmxlcy10aGUtZGVmYXVsdC1v bi1hbGwtYS5wYXRjaAotUGF0Y2gyOiAgICAgMDAwMy1QQVRDSC1jbGFuZy1Eb24tdC1pbnN0YWxs LXN0YXRpYy1saWJyYXJpZXMucGF0Y2gKLVBhdGNoMzogICAgIDAwMDEtRHJpdmVyLUFkZC1hLWdj Yy1lcXVpdmFsZW50LXRyaXBsZS10by10aGUtbGlzdC1vZi10ci5wYXRjaAotIyBEcm9wIHRoZSBm b2xsb3dpbmcgcGF0Y2ggYWZ0ZXIgZGVidWdlZGl0IGFkZHMgc3VwcG9ydCB0byBEV0FSRi01Ogot IyBodHRwczovL3NvdXJjZXdhcmUub3JnL2J1Z3ppbGxhL3Nob3dfYnVnLmNnaT9pZD0yODcyOAot UGF0Y2g0OiAgICAgMDAwMS1Qcm9kdWNlLURXQVJGNC1ieS1kZWZhdWx0LnBhdGNoCi0jIFdvcmth cm91bmQgYSBidWcgaW4gT1JDIG9uIHBwYzY0bGUuCi0jIE1vcmUgaW5mbyBpcyBhdmFpbGFibGUg aGVyZTogaHR0cHM6Ly9yZXZpZXdzLmxsdm0ub3JnL0QxNTkxMTUjNDY0MTgyNgotUGF0Y2g1OiAg ICAgMDAwMS1Xb3JrYXJvdW5kLWEtYnVnLWluLU9SQy1vbi1wcGM2NGxlLnBhdGNoCi0jIFBhdGNo ZXMgZm9yIGh0dHBzOi8vaXNzdWVzLnJlZGhhdC5jb20vYnJvd3NlL1JIRUwtMTY1MAotIyBSZW1v dmUgaW4gY2xhbmcgMTguCi1QYXRjaDY6ICAgICBjZmcucGF0Y2gKLVBhdGNoNzogICAgIHRzYS5w YXRjaAotUGF0Y2g4OiAgICAgMDAwMS1DbGFuZy1GaXgtYnVpbGQtd2l0aC1HQ0MtMTQtb24tQVJN LnBhdGNoCi1QYXRjaDk6ICAgICAwMDAxLUNsYW5nLURlZmVyLXRoZS1pbnN0YW50aWF0aW9uLW9m LWV4cGxpY2l0LXNwZWNpZmllci0ucGF0Y2gKLSMgaHR0cHM6Ly9naXRodWIuY29tL2xsdm0vbGx2 bS1wcm9qZWN0L3B1bGwvMTEwNzU4Ci1QYXRjaDEwOiAgICAwMDAxLWNsYW5nLXNobGliLUFkZC1z eW1ib2wtdmVyc2lvbmluZy10by1hbGwtc3ltYm9scy5wYXRjaAotCi0KLSMgUkhFTCBzcGVjaWZp YyBwYXRjaGVzCi0jIEF2b2lkIHVud2FudGVkIGRlcGVuZGVuY3kgb24gcHl0aG9uLXJlY29tbW9u bWFyawotUGF0Y2gxMDE6ICAwMDA5LWRpc2FibGUtcmVjb21tb25tYXJrLnBhdGNoCi0KLSMgUGF0 Y2hlcyBmb3IgY2xhbmctdG9vbHMtZXh0cmEKLSMgU2VlIGh0dHBzOi8vcmV2aWV3cy5sbHZtLm9y Zy9EMTIwMzAxCi1QYXRjaDIwMTogICAwMDAxLWNsYW5nLXRvb2xzLWV4dHJhLU1ha2UtdGVzdC1k ZXBlbmRlbmN5LW9uLUxMVk1IZWxsby0ucGF0Y2gKLQotQnVpbGRSZXF1aXJlczoJY2xhbmcKLUJ1 aWxkUmVxdWlyZXM6CWNtYWtlCi1CdWlsZFJlcXVpcmVzOgluaW5qYS1idWlsZAotCi0laWYgJXt3 aXRoIGNvbXBhdF9idWlsZH0KLSVnbG9iYWwgbGx2bV9wa2dfbmFtZSBsbHZtJXttYWpfdmVyfQot JWVsc2UKLSVnbG9iYWwgbGx2bV9wa2dfbmFtZSBsbHZtCi1CdWlsZFJlcXVpcmVzOiAgJXtsbHZt X3BrZ19uYW1lfS10ZXN0ID0gJXt2ZXJzaW9ufQotQnVpbGRSZXF1aXJlczogICV7bGx2bV9wa2df bmFtZX0tZ29vZ2xldGVzdCA9ICV7dmVyc2lvbn0KLSVlbmRpZgotCi1CdWlsZFJlcXVpcmVzOgkl e2xsdm1fcGtnX25hbWV9LWRldmVsID0gJXt2ZXJzaW9ufQotIyBsbHZtLXN0YXRpYyBpcyByZXF1 aXJlZCwgYmVjYXVzZSBjbGFuZy10YWJsZWdlbiBuZWVkcyBsaWJMTFZNVGFibGVHZW4sIHdoaWNo Ci0jIGlzIG5vdCBpbmNsdWRlZCBpbiBsaWJMTFZNLnNvLgotQnVpbGRSZXF1aXJlczoJJXtsbHZt X3BrZ19uYW1lfS1zdGF0aWMgPSAle3ZlcnNpb259Ci1CdWlsZFJlcXVpcmVzOgkle2xsdm1fcGtn X25hbWV9LWNtYWtlLXV0aWxzID0gJXt2ZXJzaW9ufQotCi1CdWlsZFJlcXVpcmVzOglsaWJ4bWwy LWRldmVsCi1CdWlsZFJlcXVpcmVzOglwZXJsLWdlbmVyYXRvcnMKLUJ1aWxkUmVxdWlyZXM6CW5j dXJzZXMtZGV2ZWwKLSMgQWNjb3JkaW5nIHRvIGh0dHBzOi8vZmVkb3JhcHJvamVjdC5vcmcvd2lr aS9QYWNrYWdpbmc6RW1hY3MgYSBwYWNrYWdlCi0jIHNob3VsZCBCdWlsZFJlcXVpcmVzOiBlbWFj cyBpZiBpdCBwYWNrYWdlcyBlbWFjcyBpbnRlZ3JhdGlvbiBmaWxlcy4KLUJ1aWxkUmVxdWlyZXM6 CWVtYWNzCi0KLSMgVGhlIHRlc3RzdWl0ZSB1c2VzIC91c3IvYmluL2xpdCB3aGljaCBpcyBwYXJ0 IG9mIHRoZSBweXRob24zLWxpdCBwYWNrYWdlLgotQnVpbGRSZXF1aXJlczoJcHl0aG9uMy1saXQK LQotQnVpbGRSZXF1aXJlczoJcHl0aG9uMy1zcGhpbngKLSVpZiAle3VuZGVmaW5lZCByaGVsfQot QnVpbGRSZXF1aXJlczoJcHl0aG9uMy1yZWNvbW1vbm1hcmsKLSVlbmRpZgotQnVpbGRSZXF1aXJl czoJbGliYXRvbWljCi0KLSMgV2UgbmVlZCBweXRob24zLWRldmVsIGZvciAlJXB5M19zaGViYW5n X2ZpeAotQnVpbGRSZXF1aXJlczoJcHl0aG9uMy1kZXZlbAotCi0jIEZvciByZXByb2R1Y2libGUg cHljIGZpbGUgZ2VuZXJhdGlvbgotIyBTZWUgaHR0cHM6Ly9kb2NzLmZlZG9yYXByb2plY3Qub3Jn L2VuLVVTL3BhY2thZ2luZy1ndWlkZWxpbmVzL1B5dGhvbl9BcHBlbmRpeC8jX2J5dGVfY29tcGls YXRpb25fcmVwcm9kdWNpYmlsaXR5Ci1CdWlsZFJlcXVpcmVzOiAvdXNyL2Jpbi9tYXJzaGFscGFy c2VyCi0laWYgJXt3aXRob3V0IGNvbXBhdF9idWlsZH0KLSVnbG9iYWwgcHlfcmVwcm9kdWNpYmxl X3B5Y19wYXRoICV7YnVpbGRyb290fSV7cHl0aG9uM19zaXRlbGlifQotJWVuZGlmCi0KLSMgTmVl ZGVkIGZvciAlJW11bHRpbGliX2ZpeF9jX2hlYWRlcgotQnVpbGRSZXF1aXJlczoJbXVsdGlsaWIt cnBtLWNvbmZpZwotCi0jIEZvciBvcmlnaW4gY2VydGlmaWNhdGlvbgotQnVpbGRSZXF1aXJlczoJ Z251cGcyCi0KLSMgc2Nhbi1idWlsZCB1c2VzIHRoZXNlIHBlcmwgbW9kdWxlcyBzbyB0aGV5IG5l ZWQgdG8gYmUgaW5zdGFsbGVkIGluIG9yZGVyCi0jIHRvIHJ1biB0aGUgdGVzdHMuCi1CdWlsZFJl cXVpcmVzOiBwZXJsKERpZ2VzdDo6TUQ1KQotQnVpbGRSZXF1aXJlczogcGVybChGaWxlOjpDb3B5 KQotQnVpbGRSZXF1aXJlczogcGVybChGaWxlOjpGaW5kKQotQnVpbGRSZXF1aXJlczogcGVybChG aWxlOjpQYXRoKQotQnVpbGRSZXF1aXJlczogcGVybChGaWxlOjpUZW1wKQotQnVpbGRSZXF1aXJl czogcGVybChGaW5kQmluKQotQnVpbGRSZXF1aXJlczogcGVybChIYXNoOjpVdGlsKQotQnVpbGRS ZXF1aXJlczogcGVybChsaWIpCi1CdWlsZFJlcXVpcmVzOiBwZXJsKFRlcm06OkFOU0lDb2xvcikK LUJ1aWxkUmVxdWlyZXM6IHBlcmwoVGV4dDo6UGFyc2VXb3JkcykKLUJ1aWxkUmVxdWlyZXM6IHBl cmwoU3lzOjpIb3N0bmFtZSkKLQotUmVxdWlyZXM6CSV7bmFtZX0tbGlicyV7P19pc2F9ID0gJXt2 ZXJzaW9ufS0le3JlbGVhc2V9Ci0KLSMgY2xhbmcgcmVxdWlyZXMgZ2NjLCBjbGFuZysrIHJlcXVp cmVzIGxpYnN0ZGMrKy1kZXZlbAotIyAtIGh0dHBzOi8vYnVnemlsbGEucmVkaGF0LmNvbS9zaG93 X2J1Zy5jZ2k/aWQ9MTAyMTY0NQotIyAtIGh0dHBzOi8vYnVnemlsbGEucmVkaGF0LmNvbS9zaG93 X2J1Zy5jZ2k/aWQ9MTE1ODU5NAotUmVxdWlyZXM6CWxpYnN0ZGMrKy1kZXZlbAotUmVxdWlyZXM6 CWdjYy1jKysKLQotUHJvdmlkZXM6CWNsYW5nKG1ham9yKSA9ICV7bWFqX3Zlcn0KLQotQ29uZmxp Y3RzOgljb21waWxlci1ydCA8IDExLjAuMAotCi0lZGVzY3JpcHRpb24KLWNsYW5nOiBub3VuCi0g ICAgMS4gQSBsb3VkLCByZXNvbmFudCwgbWV0YWxsaWMgc291bmQuCi0gICAgMi4gVGhlIHN0cmlk ZW50IGNhbGwgb2YgYSBjcmFuZSBvciBnb29zZS4KLSAgICAzLiBDLWxhbmd1YWdlIGZhbWlseSBm cm9udC1lbmQgdG9vbGtpdC4KLQotVGhlIGdvYWwgb2YgdGhlIENsYW5nIHByb2plY3QgaXMgdG8g Y3JlYXRlIGEgbmV3IEMsIEMrKywgT2JqZWN0aXZlIEMKLWFuZCBPYmplY3RpdmUgQysrIGZyb250 LWVuZCBmb3IgdGhlIExMVk0gY29tcGlsZXIuIEl0cyB0b29scyBhcmUgYnVpbHQKLWFzIGxpYnJh cmllcyBhbmQgZGVzaWduZWQgdG8gYmUgbG9vc2VseS1jb3VwbGVkIGFuZCBleHRlbnNpYmxlLgot Ci1JbnN0YWxsIGNvbXBpbGVyLXJ0IGlmIHlvdSB3YW50IHRoZSBCbG9ja3MgQyBsYW5ndWFnZSBl eHRlbnNpb24gb3IgdG8KLWVuYWJsZSBzYW5pdGl6YXRpb24gYW5kIHByb2ZpbGluZyBvcHRpb25z IHdoZW4gYnVpbGRpbmcsIGFuZAotbGlib21wLWRldmVsIHRvIGVuYWJsZSAtZm9wZW5tcC4KLQot JXBhY2thZ2UgbGlicwotU3VtbWFyeTogUnVudGltZSBsaWJyYXJ5IGZvciBjbGFuZwotUmVxdWly ZXM6ICV7bmFtZX0tcmVzb3VyY2UtZmlsZXN5c3RlbSA9ICV7dmVyc2lvbn0KLVJlY29tbWVuZHM6 IGNvbXBpbGVyLXJ0JXs/X2lzYX0gPSAle3ZlcnNpb259Ci0jIGF0b21pYyBzdXBwb3J0IGlzIG5v dCBwYXJ0IG9mIGNvbXBpbGVyLXJ0Ci1SZWNvbW1lbmRzOiBsaWJhdG9taWMlez9faXNhfQotIyBs aWJvbXAtZGV2ZWwgaXMgcmVxdWlyZWQsIHNvIGNsYW5nIGNhbiBmaW5kIHRoZSBvbXAuaCBoZWFk ZXIgd2hlbiBjb21waWxpbmcKLSMgd2l0aCAtZm9wZW5tcC4KLVJlY29tbWVuZHM6IGxpYm9tcC1k ZXZlbCV7X2lzYX0gPSAle3ZlcnNpb259Ci1SZWNvbW1lbmRzOiBsaWJvbXAle19pc2F9ID0gJXt2 ZXJzaW9ufQotCi0lZGVzY3JpcHRpb24gbGlicwotUnVudGltZSBsaWJyYXJ5IGZvciBjbGFuZy4K LQotJXBhY2thZ2UgZGV2ZWwKLVN1bW1hcnk6IERldmVsb3BtZW50IGhlYWRlciBmaWxlcyBmb3Ig Y2xhbmcKLVJlcXVpcmVzOiAle25hbWV9LWxpYnMgPSAle3ZlcnNpb259LSV7cmVsZWFzZX0KLVJl cXVpcmVzOiAle25hbWV9JXs/X2lzYX0gPSAle3ZlcnNpb259LSV7cmVsZWFzZX0KLSMgVGhlIGNs YW5nIENNYWtlIGZpbGVzIHJlZmVyZW5jZSB0b29scyBmcm9tIGNsYW5nLXRvb2xzLWV4dHJhLgot UmVxdWlyZXM6ICV7bmFtZX0tdG9vbHMtZXh0cmElez9faXNhfSA9ICV7dmVyc2lvbn0tJXtyZWxl YXNlfQotUHJvdmlkZXM6ICV7bmFtZX0tZGV2ZWwobWFqb3IpID0gJXttYWpfdmVyfQotCi0lZGVz Y3JpcHRpb24gZGV2ZWwKLURldmVsb3BtZW50IGhlYWRlciBmaWxlcyBmb3IgY2xhbmcuCi0KLSVw YWNrYWdlIHJlc291cmNlLWZpbGVzeXN0ZW0KLVN1bW1hcnk6IEZpbGVzeXN0ZW0gcGFja2FnZSB0 aGF0IG93bnMgdGhlIGNsYW5nIHJlc291cmNlIGRpcmVjdG9yeQotUHJvdmlkZXM6IGNsYW5nLXJl c291cmNlLWZpbGVzeXN0ZW0obWFqb3IpID0gJXttYWpfdmVyfQotIyBUaGlzIHBhY2thZ2UgY2Fu J3QgYmUgbm9hcmNoIGZvciBjb21wYXQgYnVpbGRzLCBiZWN1YXNlIHRoZSB4ODZfNjQgYW5kIGk2 ODYKLSMgYnVpbGRzIGFyZSBpbnN0YWxsZWQgdG8gZGlmZmVyZW50IHByZWZpeGVzLgotJWlmICV7 d2l0aG91dCBjb21wYXRfYnVpbGR9Ci1CdWlsZEFyY2g6CW5vYXJjaAotJWVuZGlmCi0KLSVkZXNj cmlwdGlvbiByZXNvdXJjZS1maWxlc3lzdGVtCi1UaGlzIHBhY2thZ2Ugb3ducyB0aGUgY2xhbmcg cmVzb3VjZSBkaXJlY3Rvcnk6IGxpYi9jbGFuZy8kdmVyc2lvbi8KLQotJXBhY2thZ2UgYW5hbHl6 ZXIKLVN1bW1hcnk6CUEgc291cmNlIGNvZGUgYW5hbHlzaXMgZnJhbWV3b3JrCi1MaWNlbnNlOglB cGFjaGUtMi4wIFdJVEggTExWTS1leGNlcHRpb24gT1IgTkNTQSBPUiBNSVQKLSMgVGhpcyBwYWNr YWdlIGNhbid0IGJlIG5vYXJjaCBmb3IgY29tcGF0IGJ1aWxkcywgYmVjdWFzZSB0aGUgeDg2XzY0 IGFuZCBpNjg2Ci0jIGJ1aWxkcyBhcmUgaW5zdGFsbGVkIHRvIGRpZmZlcmVudCBwcmVmaXhlcy4K LSVpZiAle3dpdGhvdXQgY29tcGF0X2J1aWxkfQotQnVpbGRBcmNoOglub2FyY2gKLSVlbmRpZgot UmVxdWlyZXM6CSV7bmFtZX0gPSAle3ZlcnNpb259LSV7cmVsZWFzZX0KLQotJWRlc2NyaXB0aW9u IGFuYWx5emVyCi1UaGUgQ2xhbmcgU3RhdGljIEFuYWx5emVyIGNvbnNpc3RzIG9mIGJvdGggYSBz b3VyY2UgY29kZSBhbmFseXNpcwotZnJhbWV3b3JrIGFuZCBhIHN0YW5kYWxvbmUgdG9vbCB0aGF0 IGZpbmRzIGJ1Z3MgaW4gQyBhbmQgT2JqZWN0aXZlLUMKLXByb2dyYW1zLiBUaGUgc3RhbmRhbG9u ZSB0b29sIGlzIGludm9rZWQgZnJvbSB0aGUgY29tbWFuZC1saW5lLCBhbmQgaXMKLWludGVuZGVk IHRvIHJ1biBpbiB0YW5kZW0gd2l0aCBhIGJ1aWxkIG9mIGEgcHJvamVjdCBvciBjb2RlIGJhc2Uu Ci0KLSVwYWNrYWdlIHRvb2xzLWV4dHJhCi1TdW1tYXJ5OglFeHRyYSB0b29scyBmb3IgY2xhbmcK LVJlcXVpcmVzOgkle25hbWV9LWxpYnMlez9faXNhfSA9ICV7dmVyc2lvbn0tJXtyZWxlYXNlfQot UmVxdWlyZXM6CWVtYWNzLWZpbGVzeXN0ZW0KLQotJWRlc2NyaXB0aW9uIHRvb2xzLWV4dHJhCi1B IHNldCBvZiBleHRyYSB0b29scyBidWlsdCB1c2luZyBDbGFuZydzIHRvb2xpbmcgQVBJLgotCi0l cGFja2FnZSB0b29scy1leHRyYS1kZXZlbAotU3VtbWFyeTogRGV2ZWxvcG1lbnQgaGVhZGVyIGZp bGVzIGZvciBjbGFuZyB0b29scwotUmVxdWlyZXM6ICV7bmFtZX0tdG9vbHMtZXh0cmEgPSAle3Zl cnNpb259LSV7cmVsZWFzZX0KLQotJWRlc2NyaXB0aW9uIHRvb2xzLWV4dHJhLWRldmVsCi1EZXZl bG9wbWVudCBoZWFkZXIgZmlsZXMgZm9yIGNsYW5nIHRvb2xzLgotCi0jIFB1dCBnaXQtY2xhbmct Zm9ybWF0IGluIGl0cyBvd24gcGFja2FnZSwgYmVjYXVzZSBpdCBSZXF1aXJlcyBnaXQKLSMgYW5k IHdlIGRvbid0IHdhbnQgdG8gZm9yY2UgdXNlcnMgdG8gaW5zdGFsbCBhbGwgdGhvc2UgZGVwZW5k ZW5pY2VzIGlmIHRoZXkKLSMganVzdCB3YW50IGNsYW5nLgotJXBhY2thZ2UgLW4gZ2l0LWNsYW5n LWZvcm1hdCV7P3N1Yl9wa2dfc3VmZml4fQotU3VtbWFyeToJSW50ZWdyYXRpb24gb2YgY2xhbmct Zm9ybWF0IGZvciBnaXQKLVJlcXVpcmVzOgkle25hbWV9LXRvb2xzLWV4dHJhID0gJXt2ZXJzaW9u fS0le3JlbGVhc2V9Ci1SZXF1aXJlczoJZ2l0Ci1SZXF1aXJlczoJcHl0aG9uMwotCi0lZGVzY3Jp cHRpb24gLW4gZ2l0LWNsYW5nLWZvcm1hdCV7P3N1Yl9wa2dfc3VmZml4fQotY2xhbmctZm9ybWF0 IGludGVncmF0aW9uIGZvciBnaXQuCi0KLSVpZiAle3dpdGhvdXQgY29tcGF0X2J1aWxkfQotJXBh Y2thZ2UgLW4gcHl0aG9uMy1jbGFuZwotU3VtbWFyeTogICAgICAgUHl0aG9uMyBiaW5kaW5ncyBm b3IgY2xhbmcKLVJlcXVpcmVzOiAgICAgICV7bmFtZX0tZGV2ZWwlez9faXNhfSA9ICV7dmVyc2lv bn0tJXtyZWxlYXNlfQotUmVxdWlyZXM6ICAgICAgcHl0aG9uMwotJWRlc2NyaXB0aW9uIC1uIHB5 dGhvbjMtY2xhbmcKLSV7c3VtbWFyeX0uCi0KLQotJWVuZGlmCi0KLQotJXByZXAKLSVpZiAle3dp dGhvdXQgc25hcHNob3RfYnVpbGR9Ci0le2dwZ3ZlcmlmeX0gLS1rZXlyaW5nPScle1NPVVJDRTR9 JyAtLXNpZ25hdHVyZT0nJXtTT1VSQ0UzfScgLS1kYXRhPScle1NPVVJDRTB9JwotJWVuZGlmCi0K LQotJWlmICV7d2l0aG91dCBzbmFwc2hvdF9idWlsZH0KLSV7Z3BndmVyaWZ5fSAtLWtleXJpbmc9 JyV7U09VUkNFNH0nIC0tc2lnbmF0dXJlPScle1NPVVJDRTJ9JyAtLWRhdGE9JyV7U09VUkNFMX0n Ci0lZW5kaWYKLQotJXNldHVwIC1UIC1xIC1iIDEgLW4gJXtjbGFuZ190b29sc19zcmNkaXJ9Ci0l YXV0b3BhdGNoIC1tMjAwIC1wMgotCi0jIGZhaWxpbmcgdGVzdCBjYXNlCi1ybSB0ZXN0L2NsYW5n LXRpZHkvY2hlY2tlcnMvYWx0ZXJhL3N0cnVjdC1wYWNrLWFsaWduLmNwcAotCi0lcHkzX3NoZWJh bmdfZml4IFwKLQljbGFuZy10aWR5L3Rvb2wvIFwKLQljbGFuZy1pbmNsdWRlLWZpeGVyL2ZpbmQt YWxsLXN5bWJvbHMvdG9vbC9ydW4tZmluZC1hbGwtc3ltYm9scy5weQotCi0lc2V0dXAgLXEgLW4g JXtjbGFuZ19zcmNkaXJ9Ci0lYXV0b3BhdGNoIC1NJXs/IXJoZWw6MTAwfSV7P3JoZWw6MjAwfSAt cDIKLQotIyBmYWlsaW5nIHRlc3QgY2FzZQotcm0gdGVzdC9Db2RlR2VuL3Byb2ZpbGUtZmlsdGVy LmMKLQotJXB5M19zaGViYW5nX2ZpeCBcCi0JdG9vbHMvY2xhbmctZm9ybWF0LyBcCi0JdG9vbHMv Y2xhbmctZm9ybWF0L2dpdC1jbGFuZy1mb3JtYXQgXAotCXV0aWxzL2htYXB0b29sL2htYXB0b29s IFwKLQl0b29scy9zY2FuLXZpZXcvYmluL3NjYW4tdmlldyBcCi0JdG9vbHMvc2Nhbi12aWV3L3No YXJlL1JlcG9ydGVyLnB5IFwKLQl0b29scy9zY2FuLXZpZXcvc2hhcmUvc3RhcnRmaWxlLnB5IFwK LQl0b29scy9zY2FuLWJ1aWxkLXB5L2Jpbi8qIFwKLQl0b29scy9zY2FuLWJ1aWxkLXB5L2xpYmV4 ZWMvKgotCi0lYnVpbGQKLQotIyBBbmQgZGlzYWJsZSBMVE8gb24gQUFyY2g2NCBlbnRpcmVseS4K LSVpZmFyY2ggYWFyY2g2NAotJWRlZmluZSBfbHRvX2NmbGFncyAle25pbH0KLSVlbmRpZgotCi0j IERpc2FibGUgTFRPIHRvIHNwZWVkIHVwIGJ1aWxkcwotJWlmICV7d2l0aCBzbmFwc2hvdF9idWls ZH0KLSVnbG9iYWwgX2x0b19jZmxhZ3MgJW5pbAotJWVuZGlmCi0KLSVpZmFyY2ggczM5MCBzMzkw eCBhYXJjaDY0ICVpeDg2IHBwYzY0bGUKLSMgRGVjcmVhc2UgZGVidWdpbmZvIHZlcmJvc2l0eSB0 byByZWR1Y2UgbWVtb3J5IGNvbnN1bXB0aW9uIGR1cmluZyBmaW5hbCBsaWJyYXJ5IGxpbmtpbmcK LSVnbG9iYWwgb3B0ZmxhZ3MgJShlY2hvICV7b3B0ZmxhZ3N9IHwgc2VkICdzLy1nIC8tZzEgLycp Ci0lZW5kaWYKLQotIyBEaXNhYmxlIGR3eiBvbiBhYXJjaDY0LCBiZWNhdXNlIGl0IHRha2VzIGEg aHVnZSBhbW91bnQgb2YgdGltZSB0byBkZWNpZGUgbm90IHRvIG9wdGltaXplIHRoaW5ncy4KLSVp ZmFyY2ggYWFyY2g2NAotJWRlZmluZSBfZmluZF9kZWJ1Z2luZm9fZHd6X29wdHMgJXtuaWx9Ci0l ZW5kaWYKLQotIyBXZSBzZXQgQ0xBTkdfREVGQVVMVF9QSUVfT05fTElOVVg9T0ZGIGFuZCBQUENf TElOVVhfREVGQVVMVF9JRUVFTE9OR0RPVUJMRT1PTiB0byBtYXRjaCB0aGUKLSMgZGVmYXVsdHMg dXNlZCBieSBGZWRvcmEncyBHQ0MuCi0lY21ha2UgLUcgTmluamEgXAotCS1EQ0xBTkdfREVGQVVM VF9QSUVfT05fTElOVVg9T0ZGIFwKLSVpZiAwJXs/ZmVkb3JhfSB8fCAwJXs/cmhlbH0gPiA5Ci0J LURQUENfTElOVVhfREVGQVVMVF9JRUVFTE9OR0RPVUJMRT1PTiBcCi0lZW5kaWYKLQktRExMVk1f UEFSQUxMRUxfTElOS19KT0JTPTEgXAotCS1ETExWTV9MSU5LX0xMVk1fRFlMSUI6Qk9PTD1PTiBc Ci0JLURDTUFLRV9CVUlMRF9UWVBFPVJlbFdpdGhEZWJJbmZvIFwKLQktRFBZVEhPTl9FWEVDVVRB QkxFPSV7X19weXRob24zfSBcCi0JLURDTUFLRV9TS0lQX1JQQVRIOkJPT0w9T04gXAotJWlmYXJj aCBzMzkwIHMzOTB4ICVpeDg2IHBwYzY0bGUKLQktRENNQUtFX0NfRkxBR1NfUkVMV0lUSERFQklO Rk89IiV7b3B0ZmxhZ3N9IC1ETkRFQlVHIiBcCi0JLURDTUFLRV9DWFhfRkxBR1NfUkVMV0lUSERF QklORk89IiV7b3B0ZmxhZ3N9IC1ETkRFQlVHIiBcCi0lZW5kaWYKLSVpZiAle3dpdGggY29tcGF0 X2J1aWxkfQotCS1EQ01BS0VfSU5TVEFMTF9QUkVGSVg9JXtpbnN0YWxsX3ByZWZpeH0gXAotCS1E TExWTV9DTUFLRV9ESVI9JXtpbnN0YWxsX2xpYmRpcn0vY21ha2UvbGx2bSBcCi0lZWxzZQotJWlm IDAlez9fX2lzYV9iaXRzfSA9PSA2NAotCS1ETExWTV9MSUJESVJfU1VGRklYPTY0IFwKLSVlbHNl Ci0JLURMTFZNX0xJQkRJUl9TVUZGSVg9IFwKLSVlbmRpZgotJWVuZGlmCi0JLURDTEFOR19JTkNM VURFX1RFU1RTOkJPT0w9T04gXAotCS1ETExWTV9CVUlMRF9VVElMUzpCT09MPU9OIFwKLQktRExM Vk1fRVhURVJOQUxfQ0xBTkdfVE9PTFNfRVhUUkFfU09VUkNFX0RJUj0uLi8le2NsYW5nX3Rvb2xz X3NyY2Rpcn0gXAotCS1ETExWTV9FWFRFUk5BTF9MSVQ9JXtfYmluZGlyfS9saXQgXAotCS1ETExW TV9MSVRfQVJHUz0iLXZ2IiBcCi0JLURMTFZNX01BSU5fU1JDX0RJUj0le19kYXRhZGlyfS9sbHZt L3NyYyBcCi0JXAotJWlmICV7d2l0aCBzbmFwc2hvdF9idWlsZH0KLQktRExMVk1fVkVSU0lPTl9T VUZGSVg9IiV7bGx2bV9zbmFwc2hvdF92ZXJzaW9uX3N1ZmZpeH0iIFwKLSVlbmRpZgotCVwKLSVp ZiAle3dpdGggY29tcGF0X2J1aWxkfQotCS1ETExWTV9UQUJMRUdFTl9FWEU6RklMRVBBVEg9JXtf YmluZGlyfS9sbHZtLXRibGdlbi0le21hal92ZXJ9IFwKLSVlbHNlCi0JLURMTFZNX1RBQkxFR0VO X0VYRTpGSUxFUEFUSD0le19iaW5kaXJ9L2xsdm0tdGJsZ2VuIFwKLSVlbmRpZgotCS1ETExWTV9D T01NT05fQ01BS0VfVVRJTFM9JXtpbnN0YWxsX2RhdGFkaXJ9L2xsdm0vY21ha2UgXAotCS1EQ0xB TkdfRU5BQkxFX0FSQ01UOkJPT0w9T04gXAotCS1EQ0xBTkdfRU5BQkxFX1NUQVRJQ19BTkFMWVpF UjpCT09MPU9OIFwKLQktRENMQU5HX0lOQ0xVREVfRE9DUzpCT09MPU9OIFwKLQktRENMQU5HX1BM VUdJTl9TVVBQT1JUOkJPT0w9T04gXAotCS1ERU5BQkxFX0xJTktFUl9CVUlMRF9JRDpCT09MPU9O IFwKLQktRExMVk1fRU5BQkxFX0VIPU9OIFwKLQktRExMVk1fRU5BQkxFX1JUVEk9T04gXAotCS1E TExWTV9CVUlMRF9ET0NTPU9OIFwKLQktRExMVk1fRU5BQkxFX1NQSElOWD1PTiBcCi0JLURDTEFO R19MSU5LX0NMQU5HX0RZTElCPU9OIFwKLQktRFNQSElOWF9XQVJOSU5HU19BU19FUlJPUlM9T0ZG IFwKLQlcCi0JLURDTEFOR19CVUlMRF9FWEFNUExFUzpCT09MPU9GRiBcCi0JLURCVUlMRF9TSEFS RURfTElCUz1PRkYgXAotCS1ETExWTV9TSExJQl9TWU1CT0xfVkVSU0lPTj1MTFZNXyV7bWFqX3Zl cn0gXAotCS1EQ0xBTkdfUkVQT1NJVE9SWV9TVFJJTkc9IiV7P2Rpc3RfdmVuZG9yfSAle3ZlcnNp b259LSV7cmVsZWFzZX0iIFwKLSVpZiAle3dpdGggY29tcGF0X2J1aWxkfQotCS1EQ0xBTkdfUkVT T1VSQ0VfRElSPS4uLy4uLy4uL2xpYi9jbGFuZy8le21hal92ZXJ9IFwKLSVlbHNlCi0JLURDTEFO R19SRVNPVVJDRV9ESVI9Li4vbGliL2NsYW5nLyV7bWFqX3Zlcn0gXAotJWVuZGlmCi0JLURDTEFO R19ERUZBVUxUX1VOV0lORExJQj1saWJnY2MKLQotJWNtYWtlX2J1aWxkCi0KLSVpbnN0YWxsCi0K LSVjbWFrZV9pbnN0YWxsCi0KLSMgQWRkIGEgc3ltbGluayBpbiAvdXNyL2JpbiB0byBjbGFuZy1m b3JtYXQtZGlmZgotbG4gLXMgJXtpbnN0YWxsX2RhdGFkaXJ9L2NsYW5nL2NsYW5nLWZvcm1hdC1k aWZmLnB5ICV7YnVpbGRyb290fSV7aW5zdGFsbF9iaW5kaXJ9L2NsYW5nLWZvcm1hdC1kaWZmCi0K LSMgRmlsZSBpbiB0aGUgbWFjcm9zIGZpbGUgZm9yIG90aGVyIHBhY2thZ2VzIHRvIHVzZS4gIFdl IGFyZSBub3QgZG9pbmcgdGhpcwotIyBpbiB0aGUgY29tcGF0IHBhY2thZ2UsIGJlY2F1c2UgdGhl IHZlcnNpb24gbWFjcm9zIHdvdWxkICMgY29uZmxpY3Qgd2l0aAotIyBlYWNob3RoZXIgaWYgYm90 aCBjbGFuZyBhbmQgdGhlIGNsYW5nIGNvbXBhdCBwYWNrYWdlIHdlcmUgaW5zdGFsbGVkIHRvZ2V0 aGVyLgotJWlmICV7d2l0aG91dCBjb21wYXRfYnVpbGR9Ci1pbnN0YWxsIC1wIC1tMDY0NCAtRCAl e1NPVVJDRTV9ICV7YnVpbGRyb290fSV7X3JwbW1hY3JvZGlyfS9tYWNyb3MuJXtuYW1lfQotc2Vk IC1pIC1lICJzfEBAQ0xBTkdfTUFKT1JfVkVSU0lPTkBAfCV7bWFqX3Zlcn18IiBcCi0gICAgICAg LWUgInN8QEBDTEFOR19NSU5PUl9WRVJTSU9OQEB8JXttaW5fdmVyfXwiIFwKLSAgICAgICAtZSAi c3xAQENMQU5HX1BBVENIX1ZFUlNJT05AQHwle3BhdGNoX3Zlcn18IiBcCi0gICAgICAgJXtidWls ZHJvb3R9JXtfcnBtbWFjcm9kaXJ9L21hY3Jvcy4le25hbWV9Ci0KLSMgaW5zdGFsbCBjbGFuZyBw eXRob24gYmluZGluZ3MKLW1rZGlyIC1wICV7YnVpbGRyb290fSV7cHl0aG9uM19zaXRlbGlifS9j bGFuZy8KLWluc3RhbGwgLXAgLW02NDQgYmluZGluZ3MvcHl0aG9uL2NsYW5nLyogJXtidWlsZHJv b3R9JXtweXRob24zX3NpdGVsaWJ9L2NsYW5nLwotJXB5X2J5dGVfY29tcGlsZSAle19fcHl0aG9u M30gJXtidWlsZHJvb3R9JXtweXRob24zX3NpdGVsaWJ9L2NsYW5nCi0KLSMgaW5zdGFsbCBzY2Fu YnVpbGQtcHkgdG8gcHl0aG9uIHNpdGVsaWIuCi1tdiAle2J1aWxkcm9vdH0le19wcmVmaXh9LyV7 X2xpYn0ve2xpYmVhcixsaWJzY2FuYnVpbGR9ICV7YnVpbGRyb290fSV7cHl0aG9uM19zaXRlbGli fQotJXB5X2J5dGVfY29tcGlsZSAle19fcHl0aG9uM30gJXtidWlsZHJvb3R9JXtweXRob24zX3Np dGVsaWJ9L3tsaWJlYXIsbGlic2NhbmJ1aWxkfQotCi0jIE1vdmUgZW1hY3MgaW50ZWdyYXRpb24g ZmlsZXMgdG8gdGhlIGNvcnJlY3QgZGlyZWN0b3J5Ci1ta2RpciAtcCAle2J1aWxkcm9vdH0le19l bWFjc19zaXRlc3RhcnRkaXJ9Ci1mb3IgZiBpbiBjbGFuZy1mb3JtYXQuZWwgY2xhbmctcmVuYW1l LmVsIGNsYW5nLWluY2x1ZGUtZml4ZXIuZWw7IGRvCi1tdiAle2J1aWxkcm9vdH17JXtfZGF0YWRp cn0vY2xhbmcsJXtfZW1hY3Nfc2l0ZXN0YXJ0ZGlyfX0vJGYKLWRvbmUKLQotIyBDcmVhdGUgTWFu cGFnZSBzeW1saW5rcwotbG4gLXMgY2xhbmcuMS5neiAle2J1aWxkcm9vdH0le19tYW5kaXJ9L21h bjEvY2xhbmcrKy4xLmd6Ci1sbiAtcyBjbGFuZy4xLmd6ICV7YnVpbGRyb290fSV7X21hbmRpcn0v bWFuMS9jbGFuZy0le21hal92ZXJ9LjEuZ3oKLWxuIC1zIGNsYW5nLjEuZ3ogJXtidWlsZHJvb3R9 JXtfbWFuZGlyfS9tYW4xL2NsYW5nKystJXttYWpfdmVyfS4xLmd6Ci0KLSMgRml4IHBlcm1pc3Np b24KLWNobW9kIHUteCAle2J1aWxkcm9vdH0le19tYW5kaXJ9L21hbjEvc2Nhbi1idWlsZC4xKgot Ci0jIEFkZCBjbGFuZysrLXt2ZXJzaW9ufSBzeW1saW5rCi1sbiAtcyBjbGFuZysrICV7YnVpbGRy b290fSV7X2JpbmRpcn0vY2xhbmcrKy0le21hal92ZXJ9Ci0KLSVlbHNlCi0jIE5vdCBzdXJlIHdo ZXJlIHRvIHB1dCB0aGVzZSBweXRob24gbW9kdWxlcyBmb3IgdGhlIGNvbXBhdCBidWlsZC4KLXJt IC1SZiAle2J1aWxkcm9vdH0le2luc3RhbGxfbGliZGlyfS97bGliZWFyLGxpYnNjYW5idWlsZH0K LQotIyBOb3Qgc3VyZSB3aGVyZSB0byBwdXQgdGhlIGVtYWNzIGludGVncmF0aW9uIGZpbGVzIGZv ciB0aGUgY29tcGF0IGJ1aWxkLgotcm0gLVJmICV7YnVpbGRyb290fSV7aW5zdGFsbF9kYXRhZGly fS9jbGFuZy8qLmVsCi0KLSMgTm90IHN1cmUgd2hhdCB0byBkbyB3aXRoIG1hbiBwYWdlcyBmb3Ig dGhlIGNvbXBhdCBidWlsZHMKLXJtIC1SZiAle2J1aWxkcm9vdH0le2luc3RhbGxfcHJlZml4fS9z aGFyZS9tYW4vCi0KLSMgQWRkIHZlcnNpb24gc3VmZml4IHRvIGJpbmFyaWVzCi1ta2RpciAtcCAl e2J1aWxkcm9vdH0le19iaW5kaXJ9Ci1mb3IgZiBpbiAle2J1aWxkcm9vdH0vJXtpbnN0YWxsX2Jp bmRpcn0vKjsgZG8KLSAgZmlsZW5hbWU9YGJhc2VuYW1lICRmYAotICBpZiBlY2hvICRmaWxlbmFt ZSB8IGdyZXAgLWUgJyV7bWFqX3Zlcn0nOyB0aGVuCi0gICAgY29udGludWUKLSAgZmkKLSAgbG4g LXMgLi4vLi4vJXtpbnN0YWxsX2JpbmRpcn0vJGZpbGVuYW1lICV7YnVpbGRyb290fS8le19iaW5k aXJ9LyRmaWxlbmFtZS0le21hal92ZXJ9Ci1kb25lCi0KLSMgQWRkIGNsYW5nKyste3ZlcnNpb259 IHN5bWxpbmsKLWxuIC1zIC4uLy4uLyV7aW5zdGFsbF9iaW5kaXJ9L2NsYW5nKysgICV7YnVpbGRy b290fSV7aW5zdGFsbF9iaW5kaXJ9L2NsYW5nKystJXttYWpfdmVyfQotCi0lZW5kaWYKLQotIyBG aXggcGVybWlzc2lvbnMgb2Ygc2Nhbi12aWV3IHNjcmlwdHMKLWNobW9kIGEreCAle2J1aWxkcm9v dH0le2luc3RhbGxfZGF0YWRpcn0vc2Nhbi12aWV3L3tSZXBvcnRlci5weSxzdGFydGZpbGUucHl9 Ci0KLSMgbXVsdGlsaWIgZml4Ci0lbXVsdGlsaWJfZml4X2NfaGVhZGVyIC0tZmlsZSAle2luc3Rh bGxfaW5jbHVkZWRpcn0vY2xhbmcvQ29uZmlnL2NvbmZpZy5oCi0KLSMgcmVtb3ZlIGVkaXRvciBp bnRlZ3JhdGlvbnMgKGJiZWRpdCwgc3VibGltZSwgZW1hY3MsIHZpbSkKLXJtIC12ZiAle2J1aWxk cm9vdH0le2luc3RhbGxfZGF0YWRpcn0vY2xhbmcvY2xhbmctZm9ybWF0LWJiZWRpdC5hcHBsZXNj cmlwdAotcm0gLXZmICV7YnVpbGRyb290fSV7aW5zdGFsbF9kYXRhZGlyfS9jbGFuZy9jbGFuZy1m b3JtYXQtc3VibGltZS5weSoKLQotIyBUT0RPOiBQYWNrYWdlIGh0bWwgZG9jcwotcm0gLVJ2ZiAl e2J1aWxkcm9vdH0le2luc3RhbGxfZG9jZGlyfS9DbGFuZy9jbGFuZy9odG1sCi1ybSAtUnZmICV7 YnVpbGRyb290fSV7aW5zdGFsbF9kYXRhZGlyfS9jbGFuZy9jbGFuZy1kb2MtZGVmYXVsdC1zdHls ZXNoZWV0LmNzcwotcm0gLVJ2ZiAle2J1aWxkcm9vdH0le2luc3RhbGxfZGF0YWRpcn0vY2xhbmcv aW5kZXguanMKLQotIyBUT0RPOiBXaGF0IGFyZSB0aGUgRmVkb3JhIGd1aWRlbGluZXMgZm9yIHBh Y2thZ2luZyBiYXNoIGF1dG9jb21wbGV0ZSBmaWxlcz8KLXJtIC12ZiAle2J1aWxkcm9vdH0le2lu c3RhbGxfZGF0YWRpcn0vY2xhbmcvYmFzaC1hdXRvY29tcGxldGUuc2gKLQotCi0jIENyZWF0ZSBz dWItZGlyZWN0b3JpZXMgaW4gdGhlIGNsYW5nIHJlc291cmNlIGRpcmVjdG9yeSB0aGF0IHdpbGwg YmUKLSMgcG9wdWxhdGVkIGJ5IG90aGVyIHBhY2thZ2VzCi1ta2RpciAtcCAle2J1aWxkcm9vdH0l e19wcmVmaXh9L2xpYi9jbGFuZy8le21hal92ZXJ9L3tiaW4saW5jbHVkZSxsaWIsc2hhcmV9Lwot Ci0KLSVjaGVjawotJWlmICV7d2l0aCBjaGVja30KLSMgQnVpbGQgdGVzdCBkZXBlbmRlbmNpZXMg c2VwYXJhdGVseSwgdG8gcHJldmVudCBpbnZvY2F0aW9ucyBvZiBob3N0IGNsYW5nIGZyb20gYmVp bmcgYWZmZWN0ZWQKLSMgYnkgTERfTElCUkFSWV9QQVRIIGJlbG93LgotJWNtYWtlX2J1aWxkIC0t dGFyZ2V0IGNsYW5nLXRlc3QtZGVwZW5kcyBcCi0gICAgRXh0cmFUb29sc1VuaXRUZXN0cyBDbGFu Z2RVbml0VGVzdHMgQ2xhbmdJbmNsdWRlQ2xlYW5lclVuaXRUZXN0cyBDbGFuZ1BzZXVkb1VuaXRU ZXN0cwotIyByZXF1aXJlcyBsaXQucHkgZnJvbSBMTFZNIHV0aWxpdGllcwotTERfTElCUkFSWV9Q QVRIPSV7YnVpbGRyb290fS8le2luc3RhbGxfbGliZGlyfSAle19fbmluamF9IGNoZWNrLWFsbCAt QyAle19fY21ha2VfYnVpbGRkaXJ9Ci0lZW5kaWYKLQotCi0lZmlsZXMKLSVsaWNlbnNlIExJQ0VO U0UuVFhUCi0le2luc3RhbGxfYmluZGlyfS9jbGFuZwotJXtpbnN0YWxsX2JpbmRpcn0vY2xhbmcr KwotJXtpbnN0YWxsX2JpbmRpcn0vY2xhbmctJXttYWpfdmVyfQotJXtpbnN0YWxsX2JpbmRpcn0v Y2xhbmcrKy0le21hal92ZXJ9Ci0le2luc3RhbGxfYmluZGlyfS9jbGFuZy1jbAotJXtpbnN0YWxs X2JpbmRpcn0vY2xhbmctY3BwCi0laWYgJXt3aXRob3V0IGNvbXBhdF9idWlsZH0KLSV7X21hbmRp cn0vbWFuMS9jbGFuZy4xLmd6Ci0le19tYW5kaXJ9L21hbjEvY2xhbmcrKy4xLmd6Ci0le19tYW5k aXJ9L21hbjEvY2xhbmctJXttYWpfdmVyfS4xLmd6Ci0le19tYW5kaXJ9L21hbjEvY2xhbmcrKy0l e21hal92ZXJ9LjEuZ3oKLSVlbHNlCi0le19iaW5kaXJ9L2NsYW5nLSV7bWFqX3Zlcn0KLSV7X2Jp bmRpcn0vY2xhbmcrKy0le21hal92ZXJ9Ci0le19iaW5kaXJ9L2NsYW5nLWNsLSV7bWFqX3Zlcn0K LSV7X2JpbmRpcn0vY2xhbmctY3BwLSV7bWFqX3Zlcn0KLSVlbmRpZgotCi0lZmlsZXMgbGlicwot JXtfcHJlZml4fS9saWIvY2xhbmcvJXttYWpfdmVyfS9pbmNsdWRlLyoKLSV7aW5zdGFsbF9saWJk aXJ9Lyouc28uKgotCi0lZmlsZXMgZGV2ZWwKLSV7aW5zdGFsbF9saWJkaXJ9Lyouc28KLSV7aW5z dGFsbF9pbmNsdWRlZGlyfS9jbGFuZy8KLSV7aW5zdGFsbF9pbmNsdWRlZGlyfS9jbGFuZy1jLwot JXtpbnN0YWxsX2xpYmRpcn0vY21ha2UvKgotJXtpbnN0YWxsX2JpbmRpcn0vY2xhbmctdGJsZ2Vu Ci0laWYgJXt3aXRoIGNvbXBhdF9idWlsZH0KLSV7X2JpbmRpcn0vY2xhbmctdGJsZ2VuLSV7bWFq X3Zlcn0KLSVlbmRpZgotJWRpciAle2luc3RhbGxfZGF0YWRpcn0vY2xhbmcvCi0KLSVmaWxlcyBy ZXNvdXJjZS1maWxlc3lzdGVtCi0lZGlyICV7X3ByZWZpeH0vbGliL2NsYW5nLwotJWRpciAle19w cmVmaXh9L2xpYi9jbGFuZy8le21hal92ZXJ9LwotJWRpciAle19wcmVmaXh9L2xpYi9jbGFuZy8l e21hal92ZXJ9L2Jpbi8KLSVkaXIgJXtfcHJlZml4fS9saWIvY2xhbmcvJXttYWpfdmVyfS9pbmNs dWRlLwotJWRpciAle19wcmVmaXh9L2xpYi9jbGFuZy8le21hal92ZXJ9L2xpYi8KLSVkaXIgJXtf cHJlZml4fS9saWIvY2xhbmcvJXttYWpfdmVyfS9zaGFyZS8KLSVpZiAle3dpdGhvdXQgY29tcGF0 X2J1aWxkfQotJXtfcnBtbWFjcm9kaXJ9L21hY3Jvcy4le25hbWV9Ci0lZW5kaWYKLQotCi0lZmls ZXMgYW5hbHl6ZXIKLSV7aW5zdGFsbF9iaW5kaXJ9L3NjYW4tdmlldwotJXtpbnN0YWxsX2JpbmRp cn0vc2Nhbi1idWlsZAotJXtpbnN0YWxsX2JpbmRpcn0vYW5hbHl6ZS1idWlsZAotJXtpbnN0YWxs X2JpbmRpcn0vaW50ZXJjZXB0LWJ1aWxkCi0le2luc3RhbGxfYmluZGlyfS9zY2FuLWJ1aWxkLXB5 Ci0laWYgJXt3aXRoIGNvbXBhdF9idWlsZH0KLSV7X2JpbmRpcn0vc2Nhbi12aWV3LSV7bWFqX3Zl cn0KLSV7X2JpbmRpcn0vc2Nhbi1idWlsZC0le21hal92ZXJ9Ci0le19iaW5kaXJ9L2FuYWx5emUt YnVpbGQtJXttYWpfdmVyfQotJXtfYmluZGlyfS9pbnRlcmNlcHQtYnVpbGQtJXttYWpfdmVyfQot JXtfYmluZGlyfS9zY2FuLWJ1aWxkLXB5LSV7bWFqX3Zlcn0KLSVlbmRpZgotJXtpbnN0YWxsX2xp YmV4ZWNkaXJ9L2NjYy1hbmFseXplcgotJXtpbnN0YWxsX2xpYmV4ZWNkaXJ9L2MrKy1hbmFseXpl cgotJXtpbnN0YWxsX2xpYmV4ZWNkaXJ9L2FuYWx5emUtYysrCi0le2luc3RhbGxfbGliZXhlY2Rp cn0vYW5hbHl6ZS1jYwotJXtpbnN0YWxsX2xpYmV4ZWNkaXJ9L2ludGVyY2VwdC1jKysKLSV7aW5z dGFsbF9saWJleGVjZGlyfS9pbnRlcmNlcHQtY2MKLSV7aW5zdGFsbF9kYXRhZGlyfS9zY2FuLXZp ZXcvCi0le2luc3RhbGxfZGF0YWRpcn0vc2Nhbi1idWlsZC8KLSVpZiAle3dpdGhvdXQgY29tcGF0 X2J1aWxkfQotJXtfbWFuZGlyfS9tYW4xL3NjYW4tYnVpbGQuMS4qCi0le3B5dGhvbjNfc2l0ZWxp Yn0vbGliZWFyCi0le3B5dGhvbjNfc2l0ZWxpYn0vbGlic2NhbmJ1aWxkCi0lZW5kaWYKLQotCi0l ZmlsZXMgdG9vbHMtZXh0cmEKLSV7aW5zdGFsbF9iaW5kaXJ9L2FtZGdwdS1hcmNoCi0le2luc3Rh bGxfYmluZGlyfS9jbGFuZy1hcHBseS1yZXBsYWNlbWVudHMKLSV7aW5zdGFsbF9iaW5kaXJ9L2Ns YW5nLWNoYW5nZS1uYW1lc3BhY2UKLSV7aW5zdGFsbF9iaW5kaXJ9L2NsYW5nLWNoZWNrCi0le2lu c3RhbGxfYmluZGlyfS9jbGFuZy1kb2MKLSV7aW5zdGFsbF9iaW5kaXJ9L2NsYW5nLWV4dGRlZi1t YXBwaW5nCi0le2luc3RhbGxfYmluZGlyfS9jbGFuZy1mb3JtYXQKLSV7aW5zdGFsbF9iaW5kaXJ9 L2NsYW5nLWluY2x1ZGUtY2xlYW5lcgotJXtpbnN0YWxsX2JpbmRpcn0vY2xhbmctaW5jbHVkZS1m aXhlcgotJXtpbnN0YWxsX2JpbmRpcn0vY2xhbmctbW92ZQotJXtpbnN0YWxsX2JpbmRpcn0vY2xh bmctb2ZmbG9hZC1idW5kbGVyCi0le2luc3RhbGxfYmluZGlyfS9jbGFuZy1vZmZsb2FkLXBhY2th Z2VyCi0le2luc3RhbGxfYmluZGlyfS9jbGFuZy1saW5rZXItd3JhcHBlcgotJXtpbnN0YWxsX2Jp bmRpcn0vY2xhbmctcHNldWRvCi0le2luc3RhbGxfYmluZGlyfS9jbGFuZy1xdWVyeQotJXtpbnN0 YWxsX2JpbmRpcn0vY2xhbmctcmVmYWN0b3IKLSV7aW5zdGFsbF9iaW5kaXJ9L2NsYW5nLXJlbmFt ZQotJXtpbnN0YWxsX2JpbmRpcn0vY2xhbmctcmVvcmRlci1maWVsZHMKLSV7aW5zdGFsbF9iaW5k aXJ9L2NsYW5nLXJlcGwKLSV7aW5zdGFsbF9iaW5kaXJ9L2NsYW5nLXNjYW4tZGVwcwotJXtpbnN0 YWxsX2JpbmRpcn0vY2xhbmctdGlkeQotJXtpbnN0YWxsX2JpbmRpcn0vY2xhbmdkCi0le2luc3Rh bGxfYmluZGlyfS9kaWFndG9vbAotJXtpbnN0YWxsX2JpbmRpcn0vaG1hcHRvb2wKLSV7aW5zdGFs bF9iaW5kaXJ9L252cHR4LWFyY2gKLSV7aW5zdGFsbF9iaW5kaXJ9L3BwLXRyYWNlCi0le2luc3Rh bGxfYmluZGlyfS9jLWluZGV4LXRlc3QKLSV7aW5zdGFsbF9iaW5kaXJ9L2ZpbmQtYWxsLXN5bWJv bHMKLSV7aW5zdGFsbF9iaW5kaXJ9L21vZHVsYXJpemUKLSV7aW5zdGFsbF9iaW5kaXJ9L2NsYW5n LWZvcm1hdC1kaWZmCi0le2luc3RhbGxfYmluZGlyfS9ydW4tY2xhbmctdGlkeQotJWlmICV7d2l0 aCBjb21wYXRfYnVpbGR9Ci0le19iaW5kaXJ9L2FtZGdwdS1hcmNoLSV7bWFqX3Zlcn0KLSV7X2Jp bmRpcn0vY2xhbmctYXBwbHktcmVwbGFjZW1lbnRzLSV7bWFqX3Zlcn0KLSV7X2JpbmRpcn0vY2xh bmctY2hhbmdlLW5hbWVzcGFjZS0le21hal92ZXJ9Ci0le19iaW5kaXJ9L2NsYW5nLWNoZWNrLSV7 bWFqX3Zlcn0KLSV7X2JpbmRpcn0vY2xhbmctZG9jLSV7bWFqX3Zlcn0KLSV7X2JpbmRpcn0vY2xh bmctZXh0ZGVmLW1hcHBpbmctJXttYWpfdmVyfQotJXtfYmluZGlyfS9jbGFuZy1mb3JtYXQtJXtt YWpfdmVyfQotJXtfYmluZGlyfS9jbGFuZy1pbmNsdWRlLWNsZWFuZXItJXttYWpfdmVyfQotJXtf YmluZGlyfS9jbGFuZy1pbmNsdWRlLWZpeGVyLSV7bWFqX3Zlcn0KLSV7X2JpbmRpcn0vY2xhbmct bW92ZS0le21hal92ZXJ9Ci0le19iaW5kaXJ9L2NsYW5nLW9mZmxvYWQtYnVuZGxlci0le21hal92 ZXJ9Ci0le19iaW5kaXJ9L2NsYW5nLW9mZmxvYWQtcGFja2FnZXItJXttYWpfdmVyfQotJXtfYmlu ZGlyfS9jbGFuZy1saW5rZXItd3JhcHBlci0le21hal92ZXJ9Ci0le19iaW5kaXJ9L2NsYW5nLXBz ZXVkby0le21hal92ZXJ9Ci0le19iaW5kaXJ9L2NsYW5nLXF1ZXJ5LSV7bWFqX3Zlcn0KLSV7X2Jp bmRpcn0vY2xhbmctcmVmYWN0b3ItJXttYWpfdmVyfQotJXtfYmluZGlyfS9jbGFuZy1yZW5hbWUt JXttYWpfdmVyfQotJXtfYmluZGlyfS9jbGFuZy1yZW9yZGVyLWZpZWxkcy0le21hal92ZXJ9Ci0l e19iaW5kaXJ9L2NsYW5nLXJlcGwtJXttYWpfdmVyfQotJXtfYmluZGlyfS9jbGFuZy1zY2FuLWRl cHMtJXttYWpfdmVyfQotJXtfYmluZGlyfS9jbGFuZy10aWR5LSV7bWFqX3Zlcn0KLSV7X2JpbmRp cn0vY2xhbmdkLSV7bWFqX3Zlcn0KLSV7X2JpbmRpcn0vZGlhZ3Rvb2wtJXttYWpfdmVyfQotJXtf YmluZGlyfS9obWFwdG9vbC0le21hal92ZXJ9Ci0le19iaW5kaXJ9L252cHR4LWFyY2gtJXttYWpf dmVyfQotJXtfYmluZGlyfS9wcC10cmFjZS0le21hal92ZXJ9Ci0le19iaW5kaXJ9L2MtaW5kZXgt dGVzdC0le21hal92ZXJ9Ci0le19iaW5kaXJ9L2ZpbmQtYWxsLXN5bWJvbHMtJXttYWpfdmVyfQot JXtfYmluZGlyfS9tb2R1bGFyaXplLSV7bWFqX3Zlcn0KLSV7X2JpbmRpcn0vY2xhbmctZm9ybWF0 LWRpZmYtJXttYWpfdmVyfQotJXtfYmluZGlyfS9ydW4tY2xhbmctdGlkeS0le21hal92ZXJ9Ci0l ZWxzZQotJXtfbWFuZGlyfS9tYW4xL2RpYWd0b29sLjEuZ3oKLSV7X2VtYWNzX3NpdGVzdGFydGRp cn0vY2xhbmctZm9ybWF0LmVsCi0le19lbWFjc19zaXRlc3RhcnRkaXJ9L2NsYW5nLXJlbmFtZS5l bAotJXtfZW1hY3Nfc2l0ZXN0YXJ0ZGlyfS9jbGFuZy1pbmNsdWRlLWZpeGVyLmVsCi0lZW5kaWYK LSV7aW5zdGFsbF9kYXRhZGlyfS9jbGFuZy9jbGFuZy1mb3JtYXQucHkqCi0le2luc3RhbGxfZGF0 YWRpcn0vY2xhbmcvY2xhbmctZm9ybWF0LWRpZmYucHkqCi0le2luc3RhbGxfZGF0YWRpcn0vY2xh bmcvY2xhbmctaW5jbHVkZS1maXhlci5weSoKLSV7aW5zdGFsbF9kYXRhZGlyfS9jbGFuZy9jbGFu Zy10aWR5LWRpZmYucHkqCi0le2luc3RhbGxfZGF0YWRpcn0vY2xhbmcvcnVuLWZpbmQtYWxsLXN5 bWJvbHMucHkqCi0le2luc3RhbGxfZGF0YWRpcn0vY2xhbmcvY2xhbmctcmVuYW1lLnB5KgotCi0l ZmlsZXMgdG9vbHMtZXh0cmEtZGV2ZWwKLSV7aW5zdGFsbF9pbmNsdWRlZGlyfS9jbGFuZy10aWR5 LwotCi0lZmlsZXMgLW4gZ2l0LWNsYW5nLWZvcm1hdCV7P3N1Yl9wa2dfc3VmZml4fQotJXtpbnN0 YWxsX2JpbmRpcn0vZ2l0LWNsYW5nLWZvcm1hdAotJWlmICV7d2l0aCBjb21wYXRfYnVpbGR9Ci0l e19iaW5kaXJ9L2dpdC1jbGFuZy1mb3JtYXQtJXttYWpfdmVyfQotJWVuZGlmCi0KLSVpZiAle3dp dGhvdXQgY29tcGF0X2J1aWxkfQotJWZpbGVzIC1uIHB5dGhvbjMtY2xhbmcKLSV7cHl0aG9uM19z aXRlbGlifS9jbGFuZy8KLQotCi0lZW5kaWYKLSVjaGFuZ2Vsb2cKLSogRnJpIEphbiAxNiAyMDI2 IEZlZG9yYSBSZWxlYXNlIEVuZ2luZWVyaW5nIDxyZWxlbmdAZmVkb3JhcHJvamVjdC5vcmc+IC0g MTcuMC42LTEzCi0tIFJlYnVpbHQgZm9yIGh0dHBzOi8vZmVkb3JhcHJvamVjdC5vcmcvd2lraS9G ZWRvcmFfNDRfTWFzc19SZWJ1aWxkCi0KLSogRnJpIEphbiAxNiAyMDI2IEZlZG9yYSBSZWxlYXNl IEVuZ2luZWVyaW5nIDxyZWxlbmdAZmVkb3JhcHJvamVjdC5vcmc+IC0gMTcuMC42LTEyCi0tIFJl YnVpbHQgZm9yIGh0dHBzOi8vZmVkb3JhcHJvamVjdC5vcmcvd2lraS9GZWRvcmFfNDRfTWFzc19S ZWJ1aWxkCi0KLSogV2VkIEp1bCAyMyAyMDI1IEZlZG9yYSBSZWxlYXNlIEVuZ2luZWVyaW5nIDxy ZWxlbmdAZmVkb3JhcHJvamVjdC5vcmc+IC0gMTcuMC42LTExCi0tIFJlYnVpbHQgZm9yIGh0dHBz Oi8vZmVkb3JhcHJvamVjdC5vcmcvd2lraS9GZWRvcmFfNDNfTWFzc19SZWJ1aWxkCi0KLSogVGh1 IEphbiAxNiAyMDI1IEZlZG9yYSBSZWxlYXNlIEVuZ2luZWVyaW5nIDxyZWxlbmdAZmVkb3JhcHJv amVjdC5vcmc+IC0gMTcuMC42LTEwCi0tIFJlYnVpbHQgZm9yIGh0dHBzOi8vZmVkb3JhcHJvamVj dC5vcmcvd2lraS9GZWRvcmFfNDJfTWFzc19SZWJ1aWxkCi0KLSogVGh1IE9jdCAwMyAyMDI0IFRv bSBTdGVsbGFyZCA8dHN0ZWxsYXJAcmVkaGF0LmNvbT4gLSAxNy4wLjYtOQotLSBBZGQgc3ltYm9s IHZlcnNpb25zIHRvIGxpYmNsYW5nLWNwcC5zbwotCi0qIFdlZCBKdWwgMTcgMjAyNCBGZWRvcmEg UmVsZWFzZSBFbmdpbmVlcmluZyA8cmVsZW5nQGZlZG9yYXByb2plY3Qub3JnPiAtIDE3LjAuNi04 Ci0tIFJlYnVpbHQgZm9yIGh0dHBzOi8vZmVkb3JhcHJvamVjdC5vcmcvd2lraS9GZWRvcmFfNDFf TWFzc19SZWJ1aWxkCi0KLSogV2VkIE1hciAwNiAyMDI0IFRvbSBTdGVsbGFyZCA8dHN0ZWxsYXJA cmVkaGF0LmNvbT4gLSAxNy4wLjYtNwotLSBGaXggY2xhbmcgcmVzb3VyY2UgZGlyZWN0b3J5IHRv IG1hdGNoIGNvbXBpbGVyLXJ0Ci0tIEZpeCBwcm92aWRlcyBmb3IgY2xhbmctcmVzb3VyY2UtZmls ZXN5c3RlbQotCi0qIEZyaSBKYW4gMjYgMjAyNCBLZWZ1IENoYWkgPGtlZnUuY2hhaUBzY3lsbGFk Yi5jb20+IC0gMTcuMC42LTYKLS0gRml4IHRoZSB0b28tZWFybHkgaW5zdGFudGlhdGlvbiBvZiBj b25kaXRpb25hbCAiZXhwbGljdCIgYnkgYXBwbHlpbmcgdGhlIHBhdGNoCi0gIG9mIGh0dHBzOi8v Z2l0aHViLmNvbS9sbHZtL2xsdm0tcHJvamVjdC9jb21taXQvMTI4YjNiNjFmZTY3NjhjNzI0OTc1 ZmQxZGYyYmUwYWJlYzg0OGNmNgotCi0qIFR1ZSBKYW4gMjMgMjAyNCBGZWRvcmEgUmVsZWFzZSBF bmdpbmVlcmluZyA8cmVsZW5nQGZlZG9yYXByb2plY3Qub3JnPiAtIDE3LjAuNi01Ci0tIFJlYnVp bHQgZm9yIGh0dHBzOi8vZmVkb3JhcHJvamVjdC5vcmcvd2lraS9GZWRvcmFfNDBfTWFzc19SZWJ1 aWxkCi0KLSV7P2xsdm1fc25hcHNob3RfY2hhbmdlbG9nX2VudHJ5fQotCi0qIE1vbiBKYW4gMjIg MjAyNCBOaWtpdGEgUG9wb3YgPG5wb3BvdkByZWRoYXQuY29tPiAtIDE3LjAuNi00Ci0tIEZpeCBi dWlsZCB3aXRoIEdDQyAxNCBvbiBBUk0uIEZpeCByaGJ6IzIyNTkyNTQuCi0KLSogRnJpIEphbiAx OSAyMDI0IEZlZG9yYSBSZWxlYXNlIEVuZ2luZWVyaW5nIDxyZWxlbmdAZmVkb3JhcHJvamVjdC5v cmc+IC0gMTcuMC42LTMKLS0gUmVidWlsdCBmb3IgaHR0cHM6Ly9mZWRvcmFwcm9qZWN0Lm9yZy93 aWtpL0ZlZG9yYV80MF9NYXNzX1JlYnVpbGQKLQotKiBNb24gRGVjIDE4IDIwMjMgSmVyZW15IE5l d3RvbiA8YWxleGpuZXd0IGF0IGhvdG1haWwgZG90IGNvbT4gLSAxNy4wLjYtMgotLSBBZGQgY2xh bmctZGV2ZWwobWFqb3IpIHByb3ZpZGVzCi0KLSogVHVlIE5vdiAyOCAyMDIzIFR1bGlvIE1hZ25v IFF1aXRlcyBNYWNoYWRvIEZpbGhvIDx0dWxpb21AcmVkaGF0LmNvbT4gLSAxNy4wLjYtMQotLSBV cGRhdGUgdG8gTExWTSAxNy4wLjYKLQotKiBUdWUgTm92IDE0IDIwMjMgVHVsaW8gTWFnbm8gUXVp dGVzIE1hY2hhZG8gRmlsaG8gPHR1bGlvbUByZWRoYXQuY29tPiAtIDE3LjAuNS0xCi0tIFVwZGF0 ZSB0byBMTFZNIDE3LjAuNQotCi0qIFdlZCBOb3YgMDEgMjAyMyBUdWxpbyBNYWdubyBRdWl0ZXMg TWFjaGFkbyBGaWxobyA8dHVsaW9tQHJlZGhhdC5jb20+IC0gMTcuMC40LTEKLS0gVXBkYXRlIHRv IExMVk0gMTcuMC40Ci0KLSogVHVlIE9jdCAxNyAyMDIzIFR1bGlvIE1hZ25vIFF1aXRlcyBNYWNo YWRvIEZpbGhvIDx0dWxpb21AcmVkaGF0LmNvbT4gLSAxNy4wLjMtMQotLSBVcGRhdGUgdG8gTExW TSAxNy4wLjMKLQotKiBNb24gT2N0IDA5IDIwMjMgVGltbSBCw6RkZXIgPHRiYWVkZXJAcmVkaGF0 LmNvbT4gLSAxNy4wLjItMgotLSBCYWNrcG9ydCB1cHN0cmVhbSBmaXhlcyBmb3IgaHR0cHM6Ly9p c3N1ZXMucmVkaGF0LmNvbS9icm93c2UvUkhFTC0xNjUwCi0KLSogV2VkIE9jdCAwNCAyMDIzIFR1 bGlvIE1hZ25vIFF1aXRlcyBNYWNoYWRvIEZpbGhvIDx0dWxpb21AcmVkaGF0LmNvbT4gLSAxNy4w LjItMQotLSBVcGRhdGUgdG8gTExWTSAxNy4wLjIKLQotKiBTYXQgU2VwIDIzIDIwMjMgVHVsaW8g TWFnbm8gUXVpdGVzIE1hY2hhZG8gRmlsaG8gPHR1bGlvbUByZWRoYXQuY29tPiAtIDE3LjAuMS0x Ci0tIFVwZGF0ZSB0byBMTFZNIDE3LjAuMQotCi0qIFR1ZSBTZXAgMTkgMjAyMyBUdWxpbyBNYWdu byBRdWl0ZXMgTWFjaGFkbyBGaWxobyA8dHVsaW9tQHJlZGhhdC5jb20+IC0gMTcuMC4wfnJjNC00 Ci0tIFJlLWFkZCBkd2FyZjQgcGF0Y2guIEZpeCByaGJ6IzIyMzk2MTkuCi0KLSogVHVlIFNlcCAx OSAyMDIzIFR1bGlvIE1hZ25vIFF1aXRlcyBNYWNoYWRvIEZpbGhvIDx0dWxpb21AcmVkaGF0LmNv bT4gLSAxNy4wLjB+cmM0LTMKLS0gTW92ZSBtYWNyb3MuY2xhbmcgdG8gcmVzb3VyY2UtZmlsZXN5 c3RlbQotCi0qIE1vbiBTZXAgMTggMjAyMyBBbGVzc2FuZHJvIEFzdG9uZSA8YWxlcy5hc3RvbmVA Z21haWwuY29tPiAtIDE3LjAuMH5yYzQtMgotLSBGaXggcmVzb3VyY2UtZmlsZXN5c3RlbSBhZnRl ciBodHRwczovL2ZlZG9yYXByb2plY3Qub3JnL3dpa2kvQ2hhbmdlcy9MTFZNLTE3Ci0KLSogV2Vk IFNlcCAwNiAyMDIzIFRvbSBTdGVsbGFyZCA8dHN0ZWxsYXJAcmVkaGF0LmNvbT4gLSAxNy4wLjB+ cmMzLTIKLS0gRHJvcCBkd2FyZjQgcGF0Y2ggaW4gZmF2b3Igb2YgY29uZmlnIGZpbGVzCi0KLSog VHVlIFNlcCAwNSAyMDIzIFR1bGlvIE1hZ25vIFF1aXRlcyBNYWNoYWRvIEZpbGhvIDx0dWxpb21A cmVkaGF0LmNvbT4gLSAxNy4wLjB+cmM0LTEKLS0gVXBkYXRlIHRvIExMVk0gMTcuMC4wIFJDNAot Ci0qIFdlZCBBdWcgMjMgMjAyMyBUdWxpbyBNYWdubyBRdWl0ZXMgTWFjaGFkbyBGaWxobyA8dHVs aW9tQHJlZGhhdC5jb20+IC0gMTcuMC4wfnJjMy0xCi0tIFVwZGF0ZSB0byBMTFZNIDE3LjAuMCBS QzMKLQotKiBNb24gQXVnIDIxIDIwMjMgVHVsaW8gTWFnbm8gUXVpdGVzIE1hY2hhZG8gRmlsaG8g PHR1bGlvbUByZWRoYXQuY29tPiAtIDE3LjAuMH5yYzItMQotLSBVcGRhdGUgdG8gTExWTSAxNy4w LjAgUkMyCi0KLSogVHVlIEF1ZyAwMSAyMDIzIFR1bGlvIE1hZ25vIFF1aXRlcyBNYWNoYWRvIEZp bGhvIDx0dWxpb21AcmVkaGF0LmNvbT4gLSAxNy4wLjB+cmMxLTEKLS0gVXBkYXRlIHRvIExMVk0g MTcuMC4wIFJDMQotCi0qIFdlZCBKdWwgMTkgMjAyMyBGZWRvcmEgUmVsZWFzZSBFbmdpbmVlcmlu ZyA8cmVsZW5nQGZlZG9yYXByb2plY3Qub3JnPiAtIDE2LjAuNi0zCi0tIFJlYnVpbHQgZm9yIGh0 dHBzOi8vZmVkb3JhcHJvamVjdC5vcmcvd2lraS9GZWRvcmFfMzlfTWFzc19SZWJ1aWxkCi0KLSog V2VkIEp1bCAxMiAyMDIzIFR1bGlvIE1hZ25vIFF1aXRlcyBNYWNoYWRvIEZpbGhvIDx0dWxpb21A cmVkaGF0LmNvbT4gLSAxNi4wLjYtMgotLSBGaXggcmhieiMyMjIxNTg1Ci0KLSogRnJpIEp1biAx NiAyMDIzIFR1bGlvIE1hZ25vIFF1aXRlcyBNYWNoYWRvIEZpbGhvIDx0dWxpb21AcmVkaGF0LmNv bT4gLSAxNi4wLjYtMQotLSBVcGRhdGUgdG8gTExWTSAxNi4wLjYKLQotKiBGcmkgSnVuIDE2IDIw MjMgUHl0aG9uIE1haW50IDxweXRob24tbWFpbnRAcmVkaGF0LmNvbT4gLSAxNi4wLjUtNAotLSBS ZWJ1aWx0IGZvciBQeXRob24gMy4xMgotCi0qIFRodSBKdW4gMTUgMjAyMyBOaWtpdGEgUG9wb3Yg PG5wb3BvdkByZWRoYXQuY29tPiAtIDE2LjAuNS0zCi0tIFVzZSBsbHZtLWNtYWtlLXV0aWxzIHBh Y2thZ2UKLQotKiBUaHUgSnVuIDE1IDIwMjMgUHl0aG9uIE1haW50IDxweXRob24tbWFpbnRAcmVk aGF0LmNvbT4gLSAxNi4wLjUtMgotLSBSZWJ1aWx0IGZvciBQeXRob24gMy4xMgotCi0qIFR1ZSBK dW4gMDYgMjAyMyBUdWxpbyBNYWdubyBRdWl0ZXMgTWFjaGFkbyBGaWxobyA8dHVsaW9tQHJlZGhh dC5jb20+IC0gMTYuMC41LTEKLS0gVXBkYXRlIHRvIExMVk0gMTYuMC41Ci0KLSogRnJpIE1heSAx OSAyMDIzIFR1bGlvIE1hZ25vIFF1aXRlcyBNYWNoYWRvIEZpbGhvIDx0dWxpb21AcmVkaGF0LmNv bT4gLSAxNi4wLjQtMQotLSBVcGRhdGUgdG8gTExWTSAxNi4wLjQKLQotKiBNb24gTWF5IDE1IDIw MjMgVHVsaW8gTWFnbm8gUXVpdGVzIE1hY2hhZG8gRmlsaG8gPHR1bGlvbUByZWRoYXQuY29tPiAt IDE2LjAuMy0yCi0tIFJlbW92ZSBwYXRjaCBmb3IgcHBjNjRsZSB0cmlwbGUgaW4gZmF2b3Igb2Yg aHR0cHM6Ly9yZXZpZXdzLmxsdm0ub3JnL0QxNDk3NDYKLQotKiBUdWUgTWF5IDA5IDIwMjMgVHVs aW8gTWFnbm8gUXVpdGVzIE1hY2hhZG8gRmlsaG8gPHR1bGlvbUByZWRoYXQuY29tPiAtIDE2LjAu My0xCi0tIFVwZGF0ZSB0byBMTFZNIDE2LjAuMwotCi0qIFdlZCBBcHIgMjYgMjAyMyBUdWxpbyBN YWdubyBRdWl0ZXMgTWFjaGFkbyBGaWxobyA8dHVsaW9tQHJlZGhhdC5jb20+IC0gMTYuMC4yLTEK LS0gVXBkYXRlIHRvIExMVk0gMTYuMC4yCi0KLSogV2VkIEFwciAxMiAyMDIzIFR1bGlvIE1hZ25v IFF1aXRlcyBNYWNoYWRvIEZpbGhvIDx0dWxpb21AcmVkaGF0LmNvbT4gLSAxNi4wLjEtMQotLSBV cGRhdGUgdG8gTExWTSAxNi4wLjEKLQotKiBXZWQgQXByIDEyIDIwMjMgVGltbSBCw6RkZXIgPHRi YWVkZXJAcmVkaGF0LmNvbT4gLSAxNi4wLjAtMwotLSBVc2UgY29ycmVjdCBzb3VyY2UgZm9yIGNs YW5nLm1hY3JvcyBmaWxlCi0KLSogVGh1IE1hciAyMyAyMDIzIFR1bGlvIE1hZ25vIFF1aXRlcyBN YWNoYWRvIEZpbGhvIDx0dWxpb21AcmVkaGF0LmNvbT4gLSAxNi4wLjAtMgotLSBSZW1vdmUgdW5u ZWNlc3NhcnkgcGF0Y2ggYW5kIG1hY3JvCi0KLSogTW9uIE1hciAyMCAyMDIzIFR1bGlvIE1hZ25v IFF1aXRlcyBNYWNoYWRvIEZpbGhvIDx0dWxpb21AcmVkaGF0LmNvbT4gLSAxNi4wLjAtMQotLSBV cGRhdGUgdG8gTExWTSAxNi4wLjAKLQotKiBUaHUgTWFyIDE2IDIwMjMgVHVsaW8gTWFnbm8gUXVp dGVzIE1hY2hhZG8gRmlsaG8gPHR1bGlvbUByZWRoYXQuY29tPiAtIDE2LjAuMH5yYzQtMgotLSBG aXggdGVzdHMgd2l0aCB0aGUgcmlnaHQgdHJpcGxlCi0KLSogVHVlIE1hciAxNCAyMDIzIFR1bGlv IE1hZ25vIFF1aXRlcyBNYWNoYWRvIEZpbGhvIDx0dWxpb21AcmVkaGF0LmNvbT4gLSAxNi4wLjB+ cmM0LTEKLS0gVXBkYXRlIHRvIExMVk0gMTYuMC4wIFJDNAotCi0qIFR1ZSBNYXIgMTQgMjAyMyBU dWxpbyBNYWdubyBRdWl0ZXMgTWFjaGFkbyBGaWxobyA8dHVsaW9tQHJlZGhhdC5jb20+IC0gMTYu MC4wfnJjMy0yCi0tIEZpeCBSUE0gbWFjcm8gY2xhbmdfcmVzb3VyY2VfZGlyCi0KLSogVGh1IEZl YiAyMyAyMDIzIFR1bGlvIE1hZ25vIFF1aXRlcyBNYWNoYWRvIEZpbGhvIDx0dWxpb21AcmVkaGF0 LmNvbT4gLSAxNi4wLjB+cmMzLTEKLS0gVXBkYXRlIHRvIExMVk0gMTYuMC4wIFJDMwotCi0qIFRo dSBKYW4gMTkgMjAyMyBUdWxpbyBNYWdubyBRdWl0ZXMgTWFjaGFkbyBGaWxobyA8dHVsaW9tQHJl ZGhhdC5jb20+IC0gMTUuMC43LTMKLS0gVXBkYXRlIGxpY2Vuc2UgdG8gU1BEWCBpZGVudGlmaWVy cy4KLS0gSW5jbHVkZSB0aGUgQXBhY2hlIGxpY2Vuc2UgYWRvcHRlZCBpbiAyMDE5LgotCi0qIFdl ZCBKYW4gMTggMjAyMyBGZWRvcmEgUmVsZWFzZSBFbmdpbmVlcmluZyA8cmVsZW5nQGZlZG9yYXBy b2plY3Qub3JnPiAtIDE1LjAuNy0yCi0tIFJlYnVpbHQgZm9yIGh0dHBzOi8vZmVkb3JhcHJvamVj dC5vcmcvd2lraS9GZWRvcmFfMzhfTWFzc19SZWJ1aWxkCi0KLSogVGh1IEphbiAxMiAyMDIzIE5p a2l0YSBQb3BvdiA8bnBvcG92QHJlZGhhdC5jb20+IC0gMTUuMC43LTEKLS0gVXBkYXRlIHRvIExM Vk0gMTUuMC43Ci0KLSogVGh1IEphbiAxMiAyMDIzIE5pa2l0YSBQb3BvdiA8bnBvcG92QHJlZGhh dC5jb20+IC0gMTUuMC42LTUKLS0gRml4IHJlc291cmNlLWZpbGVzeXN0ZW0gb3duZXJzaGlwIGNv bmZsaWN0Ci0KLSogTW9uIEphbiAwOSAyMDIzIFRvbSBTdGVsbGFyZCA8dHN0ZWxsYXJAcmVkaGF0 LmNvbT4gLSAxNS4wLjYtNAotLSBPbWl0IGZyYW1lIHBvaW50ZXJzIHdoZW4gYnVpbGRpbmcKLQot KiBXZWQgRGVjIDIxIDIwMjIgTmlraXRhIFBvcG92IDxucG9wb3ZAcmVkaGF0LmNvbT4gLSAxNS4w LjYtMwotLSBBZGQgY2xhbmctZGV2ZWwgZGVwIHRvIHB5dGhvbjMtY2xhbmcKLQotKiBNb24gRGVj IDEyIDIwMjIgTmlraXRhIFBvcG92IDxucG9wb3ZAcmVkaGF0LmNvbT4gLSAxNS4wLjYtMgotLSBC YWNrcG9ydCBwYXRjaGVzIGZvciB1Y3J0NjQgdG9vbGNoYWluIGRldGVjdGlvbgotCi0qIE1vbiBE ZWMgMDUgMjAyMiBOaWtpdGEgUG9wb3YgPG5wb3BvdkByZWRoYXQuY29tPiAtIDE1LjAuNi0xCi0t IFVwZGF0ZSB0byBMTFZNIDE1LjAuNgotCi0qIFRodSBOb3YgMDMgMjAyMiBOaWtpdGEgUG9wb3Yg PG5wb3BvdkByZWRoYXQuY29tPiAtIDE1LjAuNC0xCi0tIFVwZGF0ZSB0byBMTFZNIDE1LjAuNAot Ci0qIFdlZCBPY3QgMTkgMjAyMiBOaWtpdGEgUG9wb3YgPG5wb3BvdkByZWRoYXQuY29tPiAtIDE1 LjAuMC02Ci0tIEVuYWJsZSBpZWVlbG9uZ2RvdWJsZSBmb3IgcHBjNjRsZSwgZml4IHJoYnojMjEz NjA5OQotCi0qIFRodSBPY3QgMTMgMjAyMiBOaWtpdGEgUG9wb3YgPG5wb3BvdkByZWRoYXQuY29t PiAtIDE1LjAuMC01Ci0tIERlZmF1bHQgdG8gbm9uLXBpZSwgZml4IHJoYnojMjEzNDE0NgotCi0q IFdlZCBPY3QgMDUgMjAyMiBzZ3VlbHRvbkByZWRoYXQuY29tIC0gMTUuMC4wLTQKLS0gUGFja2Fn ZSBjbGFuZy10aWR5IGhlYWRlcnMgaW4gY2xhbmctdG9vbHMtZXh0cmEtZGV2ZWwsIGZpeCByaGJ6 IzIxMjM0NzkKLQotKiBUaHUgU2VwIDIyIDIwMjIgTmlraXRhIFBvcG92IDxucG9wb3ZAcmVkaGF0 LmNvbT4gLSAxNS4wLjAtMwotLSBBZGQgcGF0Y2ggZm9yIGlubGluZSBidWlsdGlucyB3aXRoIGFz bSBsYWJlbAotCi0qIFNhdCBTZXAgMTcgMjAyMiBzZ3VlbHRvbkByZWRoYXQuY29tIC0gMTUuMC4w LTMKLS0gSW1wcm92ZSBpbnRlZ3JhdGlvbiBvZiBsbHZtJ3MgbGlidW53aW5kCi0KLSogV2VkIFNl cCAxNCAyMDIyIE5pa2l0YSBQb3BvdiA8bnBvcG92QHJlZGhhdC5jb20+IC0gMTUuMC4wLTIKLS0g RG93bmdyYWRlIGltcGxpY2l0IGludCBhbmQgaW1wbGljaXQgZnVuY3Rpb24gZGVjbGFyYXRpb24g dG8gd2FybmluZyBvbmx5Ci0KLSogVHVlIFNlcCAwNiAyMDIyIE5pa2l0YSBQb3BvdiA8bnBvcG92 QHJlZGhhdC5jb20+IC0gMTUuMC4wLTEKLS0gVXBkYXRlIHRvIExMVk0gMTUuMC4wCi0KLSogTW9u IEF1ZyAyOSAyMDIyIHNndWVsdG9uQHJlZGhhdC5jb20gLSAxNC4wLjUtNwotLSBBZGQgYSBSZWNv bW1lbmRzIG9uIGxpYmF0b21pYywgc2VlIHJoYnojMjExODU5MgotCi0qIFdlZCBBdWcgMTAgMjAy MiBOaWtpdGEgUG9wb3YgPG5wb3BvdkByZWRoYXQuY29tPiAtIDE0LjAuNS02Ci0tIFJldmVydCBw b3dlcnBjIC1tYWJpPWllZWVsb25nZG91YmxlIGRlZmF1bHQKLQotKiBUaHUgQXVnIDA0IDIwMjIg VG9tIFN0ZWxsYXJkIDx0c3RlbGxhckByZWRoYXQuY29tPiAtIDE0LjAuNS01Ci0tIFJlLWVuYWJs ZSBpZWVlMTI4IGFzIHRoZSBkZWZhdWx0IGxvbmcgZG91YmxlIGZvcm1hdCBvbiBwcGM2NGxlCi0K LSogVGh1IEp1bCAyOCAyMDIyIEFtaXQgU2hhaCA8YW1pdHNoYWhAZmVkb3JhcHJvamVjdC5vcmc+ IC0gMTQuMC41LTQKLS0gVXNlIHRoZSBkaXN0X3ZlbmRvciBtYWNybyB0byBpZGVudGlmeSB0aGUg ZGlzdHJpYnV0aW9uCi0KLSogV2VkIEp1bCAyMCAyMDIyIEZlZG9yYSBSZWxlYXNlIEVuZ2luZWVy aW5nIDxyZWxlbmdAZmVkb3JhcHJvamVjdC5vcmc+IC0gMTQuMC41LTMKLS0gUmVidWlsdCBmb3Ig aHR0cHM6Ly9mZWRvcmFwcm9qZWN0Lm9yZy93aWtpL0ZlZG9yYV8zN19NYXNzX1JlYnVpbGQKLQot KiBUaHUgSnVuIDMwIDIwMjIgTWlybyBIcm9uxI1vayA8bWhyb25jb2tAcmVkaGF0LmNvbT4gLSAx NC4wLjUtMgotLSBSZXZlcnQgIlVzZSB0aGUgaWVlZTEyOCBmb3JtYXQgZm9yIGxvbmcgZG91Ymxl IG9uIHBwYzY0bGUiIHVudGlsIHJoYnojMjEwMDU0NiBpcyBmaXhlZAotCi0qIFR1ZSBKdW4gMTQg MjAyMiBUaW1tIELDpGRlciA8dGJhZWRlckByZWRoYXQuY29tPiAtIDE0LjAuNS0xCi0tIFVwZGF0 ZSB0byAxNC4wLjUKLQotKiBNb24gSnVuIDEzIDIwMjIgUHl0aG9uIE1haW50IDxweXRob24tbWFp bnRAcmVkaGF0LmNvbT4gLSAxNC4wLjAtNAotLSBSZWJ1aWx0IGZvciBQeXRob24gMy4xMQotCi0q IFRodSBNYXkgMTkgMjAyMiBUb20gU3RlbGxhcmQgPHRzdGVsbGFyQHJlZGhhdC5jb20+IC0gMTQu MC4wLTMKLS0gVXNlIHRoZSBpZWVlMTI4IGZvcm1hdCBmb3IgbG9uZyBkb3VibGUgb24gcHBjNjRs ZQotCi0qIE1vbiBBcHIgMDQgMjAyMiBKZXJlbXkgTmV3dG9uIDxhbGV4am5ld3QgQVQgaG90bWFp bCBET1QgY29tPiAtIDE0LjAuMC0yCi0tIEFkZCBwYXRjaCBmb3IgSElQIChjaGVycnktcGlja2Vk IGZyb20gbGx2bSB0cnVuaywgdG8gYmUgTExWTTE1KQotCi0qIFdlZCBNYXIgMjMgMjAyMiBUaW1t IELDpGRlciA8dGJhZWRlckByZWRoYXQuY29tPiAtIDE0LjAuMC0xCi0tIFVwZGF0ZSB0byAxNC4w LjAKLQotKiBXZWQgRmViIDE2IDIwMjIgVG9tIFN0ZWxsYXJkIDx0c3RlbGxhckByZWRoYXQuY29t PiAtIDEzLjAuMS0yCi0tIEZpeCBzb21lIHJwbWxpbnRlciBlcnJvcnMKLQotKiBUaHUgRmViIDAz IDIwMjIgTmlraXRhIFBvcG92IDxucG9wb3ZAcmVkaGF0LmNvbT4gLSAxMy4wLjEtMQotLSBVcGRh dGUgdG8gTExWTSAxMy4wLjEgZmluYWwKLQotKiBUdWUgRmViIDAxIDIwMjIgTmlraXRhIFBvcG92 IDxucG9wb3ZAcmVkaGF0LmNvbT4gLSAxMy4wLjF+cmMzLTEKLS0gVXBkYXRlIHRvIExMVk0gMTMu MC4xcmMzCi0KLSogV2VkIEphbiAxOSAyMDIyIEZlZG9yYSBSZWxlYXNlIEVuZ2luZWVyaW5nIDxy ZWxlbmdAZmVkb3JhcHJvamVjdC5vcmc+IC0gMTMuMC4xfnJjMi0yCi0tIFJlYnVpbHQgZm9yIGh0 dHBzOi8vZmVkb3JhcHJvamVjdC5vcmcvd2lraS9GZWRvcmFfMzZfTWFzc19SZWJ1aWxkCi0KLSog RnJpIEphbiAxNCAyMDIyIE5pa2l0YSBQb3BvdiA8bnBvcG92QHJlZGhhdC5jb20+IC0gMTMuMC4x fnJjMi0xCi0tIFVwZGF0ZSB0byBMTFZNIDEzLjAuMXJjMgotCi0qIFdlZCBKYW4gMTIgMjAyMiBO aWtpdGEgUG9wb3YgPG5wb3BvdkByZWRoYXQuY29tPiAtIDEzLjAuMX5yYzEtMQotLSBVcGRhdGUg dG8gTExWTSAxMy4wLjFyYzEKLQotKiBUaHUgT2N0IDI4IDIwMjEgVG9tIFN0ZWxsYXJkIDx0c3Rl bGxhckByZWRoYXQuY29tPiAtIDEzLjAuMC01Ci0tIE1ha2UgbGxkIHRoZSBkZWZhdWx0IGxpbmtl ciBvbiBhcm0KLQotKiBXZWQgT2N0IDI3IDIwMjEgVG9tIFN0ZWxsYXJkIDx0c3RlbGxhckByZWRo YXQuY29tPiAtIDEzLjAuMC00Ci0tIFJlbW92ZSBDb25mbGljdHM6IGNvbXBpbGVyLXJ0IGZvciBu ZXdlciB2ZXJzaW9ucyBvZiBjb21waWxlci1ydAotCi0qIFdlZCBPY3QgMDYgMjAyMSBUb20gU3Rl bGxhcmQgPHRzdGVsbGFyQHJlZGhhdC5jb20+IC0gMTMuMC4wLTMKLS0gRml4IGdjYyBkZXRlY3Rp b24gd2l0aCByZWRoYXQgdHJpcGxlcwotCi0qIFR1ZSBPY3QgMDUgMjAyMSBUb20gU3RlbGxhcmQg PHRzdGVsbGFyQHJlZGhhdC5jb20+IC0gMTMuMC4wLTIKLS0gRHJvcCBhYmlfcmV2aXNpb24gZnJv bSBzb25hbWUKLQotKiBGcmkgT2N0IDAxIDIwMjEgVG9tIFN0ZWxsYXJkIDx0c3RlbGxhckByZWRo YXQuY29tPiAtIDEzLjAuMC0xCi0tIDEzLjAuMCBSZWxlYXNlCi0KLSogU2F0IFNlcCAxOCAyMDIx IFRvbSBTdGVsbGFyZCA8dHN0ZWxsYXJAcmVkaGF0LmNvbT4gLSAxMy4wLjB+cmMxLTUKLS0gMTMu MC4wLXJjMyBSZWxlYXNlCi0KLSogVHVlIFNlcCAxNCAyMDIxIEtvbnJhZCBLbGVpbmUgPGtrbGVp bmVAcmVkaGF0LmNvbT4gLSAxMy4wLjB+cmMxLTQKLS0gQWRkIC0td2l0aG91dD1jaGVjayBvcHRp b24KLQotKiBGcmkgU2VwIDEwIDIwMjEgc2d1ZWx0b25AcmVkaGF0LmNvbSAtIDEzLjAuMH5yYzEt MwotLSBBcHBseSBzY2FuLWJ1aWxkLXB5IGludGVyZ2F0aW9uIHBhdGNoCi0KLSogVGh1IFNlcCAw OSAyMDIxIFRvbSBTdGVsbGFyZCA8dHN0ZWxsYXJAcmVkaGF0LmNvbT4gLSAxMy4wLjB+cmMxLTIK LS0gQWRkIG1hY3Jvcy5jbGFuZyBmaWxlCi0KLSogRnJpIEF1ZyAwNiAyMDIxIFRvbSBTdGVsbGFy ZCA8dHN0ZWxsYXJAcmVkaGF0LmNvbT4gLSAxMy4wLjB+cmMxLTEKLS0gMTMuMC4wLXJjMSBSZWxl YXNlCi0KLSogVGh1IEp1bCAyMiAyMDIxIFRvbSBTdGVsbGFyZCA8dHN0ZWxsYXJAcmVkaGF0LmNv bT4gLSAxMi4wLjEtMwotLSBGaXggY29tcGF0IGJ1aWxkCi0KLSogV2VkIEp1bCAyMSAyMDIxIEZl ZG9yYSBSZWxlYXNlIEVuZ2luZWVyaW5nIDxyZWxlbmdAZmVkb3JhcHJvamVjdC5vcmc+IC0gMTIu MC4xLTIKLS0gUmVidWlsdCBmb3IgaHR0cHM6Ly9mZWRvcmFwcm9qZWN0Lm9yZy93aWtpL0ZlZG9y YV8zNV9NYXNzX1JlYnVpbGQKLQotKiBUdWUgSnVsIDEzIDIwMjEgVG9tIFN0ZWxsYXJkIDx0c3Rl bGxhckByZWRoYXQuY29tPiAtIDEyLjAuMS0xCi0tIDEyLjAuMSBSZWxlYXNlCi0KLSogRnJpIEp1 bCAwOSAyMDIxIFRvbSBTdGVsbGFyZCA8dHN0ZWxsYXJAcmVkaGF0LmNvbT4gLSAxMi4wLjF+cmMz LTIKLS0gRml4IGFtYmlndW91cyBweXRob24gc2hlYmFuZ3MKLQotKiBXZWQgSnVuIDMwIDIwMjEg VG9tIFN0ZWxsYXJkIDx0c3RlbGxhckByZWRoYXQuY29tPiAtIGNsYW5nLTEyLjAuMX5yYzMtMQot LSAxMi4wLjEtcmMzIFJlbGVhc2UKLQotKiBUdWUgSnVuIDA4IDIwMjEgVG9tIFN0ZWxsYXJkIDx0 c3RlbGxhckByZWRoYXQuY29tPiAtIDEyLjAuMX5yYzEtMwotLSBPbmx5IGVuYWJsZSAtZnVud2lu ZC10YWJsZXMgYnkgZGVmYXVsdCBvbiBGZWRvcmEgYXJjaGVzCi0KLSogRnJpIEp1biAwNCAyMDIx IFB5dGhvbiBNYWludCA8cHl0aG9uLW1haW50QHJlZGhhdC5jb20+IC0gMTIuMC4xfnJjMS0yCi0t IFJlYnVpbHQgZm9yIFB5dGhvbiAzLjEwCi0KLSogVGh1IE1heSAyNyAyMDIxIFRvbSBTdGVsbGFy ZCA8dHN0ZWxsYXJAcmVkaGF0LmNvbT4gLSBjbGFuZy0xMi4wLjF+cmMxLTEKLS0gMTIuMC4xLXJj MSBSZWxlYXNlCi0KLSogVHVlIE1heSAxOCAyMDIxIHNndWVsdG9uQHJlZGhhdC5jb20gLSAxMi4w LjAtMgotLSBVc2UgdGhlIGFsdGVybmF0aXZlLW1hbmFnZWQgdmVyc2lvbiBvZiBsbHZtLWNvbmZp ZwotCi0qIEZyaSBBcHIgMTYgMjAyMSBUb20gU3RlbGxhcmQgPHRzdGVsbGFyQHJlZGhhdC5jbT4g LSAxMi4wLjAtMQotLSAxMi4wLjAgUmVsZWFzZQotCi0qIFdlZCBBcHIgMTQgMjAyMSBUb20gU3Rl bGxhcmQgPHRzdGVsbGFyQHJlZGhhdC5jb20+IC0gMTIuMC4wLTAuMTIucmM1Ci0tIEFkZCBzeW1s aW5rIHRvIGNsYW5nLWZvcm1hdC1kaWZmIGluIC91c3IvYmluCi0tIHJoYnojMTkzOTAxOAotCi0q IFRodSBBcHIgMDggMjAyMSBzZ3VlbHRvbkByZWRoYXQuY29tIC0gMTIuMC4wLTAuMTEucmM1Ci0t IE5ldyB1cHN0cmVhbSByZWxlYXNlIGNhbmRpZGF0ZQotCi0qIFNhdCBBcHIgMDMgMjAyMSBzZ3Vl bHRvbkByZWRoYXQuY29tIC0gMTIuMC4wLTAuMTAucmM0Ci0tIE1ha2UgcHljIGZpbGVzIGZyb20g cHl0aG9uMy1jbGFuZyByZXByb2R1Y2libGUKLQotKiBGcmkgQXByIDAyIDIwMjEgc2d1ZWx0b25A cmVkaGF0LmNvbSAtIDEyLjAuMC0wLjkucmM0Ci0tIE5ldyB1cHN0cmVhbSByZWxlYXNlIGNhbmRp ZGF0ZQotCi0qIFdlZCBNYXIgMzEgMjAyMSBKb25hdGhhbiBXYWtlbHkgPGp3YWtlbHlAcmVkaGF0 LmNvbT4gLSAxMi4wLjAtMC44LnJjMwotLSBSZWJ1aWx0IGZvciByZW1vdmVkIGxpYnN0ZGMrKyBz eW1ib2xzICgjMTkzNzY5OCkKLQotKiBNb24gTWFyIDE1IDIwMjEgc2d1ZWx0b25AcmVkaGF0LmNv bSAtIDEyLjAuMC0wLjcucmMzCi0tIEFwcGx5IHBhdGNoIEQ5Nzg0NiB0byBmaXggcmhieiMxOTM0 MDY1Ci0KLSogTW9uIE1hciAxNSAyMDIxIFRpbW0gQsOkZGVyIDx0YmFlZGVyQHJlZGhhdC5jb20+ IDEyLjAuMC0wLjYucmMzCi0tIFNldCBDTEFOR19ERUZBVUxUX1VOV0lORF9MSUIgaW5zdGVhZCBv ZiB1c2luZyBjdXN0b20gcGF0Y2gKLS0gQWRkIHRvb2xjaGFpbnMgdGVzdCB0byB0aGUgdGVzdHMu eW1sCi0KLSogVGh1IE1hciAxMSAyMDIxIHNndWVsdG9uQHJlZGhhdC5jb20gLSAxMi4wLjAtMC41 LnJjMwotLSBMTFZNIDEyLjAuMCByYzMKLQotKiBUdWUgTWFyIDA5IDIwMjEgc2d1ZWx0b25AcmVk aGF0LmNvbSAtIDEyLjAuMC0wLjQucmMyCi0tIHJlYnVpbHQKLQotKiBNb24gTWFyIDAxIDIwMjEg c2d1ZWx0b25AcmVkaGF0LmNvbSAtIDEyLjAuMC0wLjMucmMyCi0tIFJlYXBwbHkgc29tZSB3cm9u Z2x5IHJlbW92ZWQgcGF0Y2gKLQotKiBXZWQgRmViIDI0IDIwMjEgc2d1ZWx0b25AcmVkaGF0LmNv bSAtIDEyLjAuMC0wLjIucmMyCi0tIDEyLjAuMC1yYzIgcmVsZWFzZQotCi0qIFN1biBGZWIgMTQg MjAyMSBzZ3VlbHRvbkByZWRoYXQuY29tIC0gMTIuMC4wLTAuMS5yYzEKLS0gMTIuMC4wLXJjMSBy ZWxlYXNlCi0KLSogVHVlIEZlYiAwOSAyMDIxIFRvbSBTdGVsbGFyZCA8dHN0ZWxsYXJAcmVkaGF0 LmNvbT4gLSAxMS4xLjAtMC41LnJjMgotLSBSZW1vdmUgc29tZSB1bm5lY2Vzc2FyeSBzY2FuLXZp ZXcgZmlsZXMKLQotKiBUdWUgSmFuIDI2IDIwMjEgRmVkb3JhIFJlbGVhc2UgRW5naW5lZXJpbmcg PHJlbGVuZ0BmZWRvcmFwcm9qZWN0Lm9yZz4gLSAxMS4xLjAtMC40LnJjMgotLSBSZWJ1aWx0IGZv ciBodHRwczovL2ZlZG9yYXByb2plY3Qub3JnL3dpa2kvRmVkb3JhXzM0X01hc3NfUmVidWlsZAot Ci0qIEZyaSBKYW4gMjIgMjAyMSBTZXJnZSBHdWVsdG9uIC0gMTEuMS4wLTAuMy5yYzIKLS0gMTEu MS4wLXJjMiByZWxlYXNlCi0KLSogV2VkIEphbiAyMCAyMDIxIFNlcmdlIEd1ZWx0b24gLSAxMS4x LjAtMC4yLnJjMQotLSByZWJ1aWx0IHdpdGggaHR0cHM6Ly9yZXZpZXdzLmxsdm0ub3JnL0Q5NDk0 MSBhcHBsaWVkLgotCi0qIFRodSBKYW4gMTQgMjAyMSBTZXJnZSBHdWVsdG9uIC0gMTEuMS4wLTAu MS5yYzEKLS0gMTEuMS4wLXJjMSByZWxlYXNlCi0KLSogV2VkIEphbiAwNiAyMDIxIFNlcmdlIEd1 ZWx0b24gLSAxMS4wLjEtNAotLSBMTFZNIDExLjAuMSBmaW5hbAotCi0qIFN1biBEZWMgMjAgMjAy MCBzZ3VlbHRvbkByZWRoYXQuY29tIC0gMTEuMC4xLTMucmMyCi0tIGxsdm0gMTEuMC4xLXJjMgot Ci0qIFdlZCBEZWMgMTYgMjAyMCBUb20gU3RlbGxhcmQgPHRzdGVsbGFyQHJlZGhhdC5jb20+IC0g MTEuMC4xLTIucmMxCi0tIERvbid0IGJ1aWxkIHdpdGggLWZsdG8KLQotKiBUdWUgRGVjIDAxIDIw MjAgc2d1ZWx0b25AcmVkaGF0LmNvbSAtIDExLjAuMS0xLnJjMQotLSBsbHZtIDExLjAuMS1yYzEK LQotKiBUaHUgT2N0IDI5IDIwMjAgVG9tIFN0ZWxsYXJkIDx0c3RlbGxhckByZWRoYXQuY29tPiAt IDExLjAuMC0zCi0tIFJlbW92ZSAtZmZhdC1sdG8tb2JqZWN0cyBjb21waWxlciBmbGFnCi0KLSog V2VkIE9jdCAyOCAyMDIwIFRvbSBTdGVsbGFyZCA8dHN0ZWxsYXJAcmVkaGF0LmNvbT4gLSAxMS4w LjAtMgotLSBBZGQgY2xhbmctcmVzb3VyY2UtZmlsZXN5c3RlbSBzdWItcGFja2FnZQotCi0qIFRo dSBPY3QgMTUgMjAyMCBzZ3VlbHRvbkByZWRoYXQuY29tIC0gMTEuMC4wLTEKLS0gRml4IE5WUgot Ci0qIE1vbiBPY3QgMTIgMjAyMCBzZ3VlbHRvbkByZWRoYXQuY29tIC0gMTEuMC4wLTAuNwotLSBs bHZtIDExLjAuMCAtIGZpbmFsIHJlbGVhc2UKLQotKiBUaHUgT2N0IDA4IDIwMjAgc2d1ZWx0b25A cmVkaGF0LmNvbSAtIDExLjAuMC0wLjYucmM2Ci0tIDExLjAuMC1yYzYKLQotKiBGcmkgT2N0IDAy IDIwMjAgc2d1ZWx0b25AcmVkaGF0LmNvbSAtIDExLjAuMC0wLjUucmM1Ci0tIDExLjAuMC1yYzUg UmVsZWFzZQotCi0qIFN1biBTZXAgMjcgMjAyMCBzZ3VlbHRvbkByZWRoYXQuY29tIC0gMTEuMC4w LTAuNC5yYzMKLS0gRml4IE5WUgotCi0qIFRodSBTZXAgMjQgMjAyMCBzZ3VlbHRvbkByZWRoYXQu Y29tIC0gMTEuMC4wLTAuMS5yYzMKLS0gMTEuMC4wLXJjMyBSZWxlYXNlCi0KLSogVHVlIFNlcCAy MiAyMDIwIHNndWVsdG9uQHJlZGhhdC5jb20gLSAxMS4wLjAtMC4zLnJjMgotLSBQcmVmZXIgZ2Nj IHRvb2xjaGFpbnMgd2l0aCBsaWJnY2NfcwotCi0qIFR1ZSBTZXAgMDEgMjAyMCBzZ3VlbHRvbkBy ZWRoYXQuY29tIC0gMTEuMC4wLTAuMi5yYzIKLS0gTm9ybWFsaXplIHNvbWUgZG9jIGRpcmVjdG9y eSBsb2NhdGlvbnMKLQotKiBUdWUgU2VwIDAxIDIwMjAgc2d1ZWx0b25AcmVkaGF0LmNvbSAtIDEx LjAuMC0wLjEucmMyCi0tIDExLjAuMC1yYzIgUmVsZWFzZQotLSBVc2UgJSVsaWNlbnNlIG1hY3Jv Ci0KLSogVHVlIEF1ZyAxMSAyMDIwIFRvbSBTdGVsbGFyZCA8dHN0ZWxsYXJAcmVkaGF0LmNvbT4g LSAxMS4wLjAtMC4yLnJjMQotLSBGaXggdGVzdCBmYWlsdXJlcwotCi0qIE1vbiBBdWcgMTAgMjAy MCBUb20gU3RlbGxhcmQgPHRzdGVsbGFyQHJlZGhhdC5jb20+IC0gMTEuMC4wLTAuMS5yYzEKLS0g MTEuMC4wLXJjMSBSZWxlYXNlCi0KLSogVHVlIEF1ZyAwNCAyMDIwIFRvbSBTdGVsbGFyZCA8dHN0 ZWxsYXJAcmVkaGF0LmNvbT4gLSAxMC4wLjAtMTEKLS0gUmVtb3ZlIFJlcXVpcmVzOiBlbWFjcy1m aWxlc3lzdGVtCi0KLSogU2F0IEF1ZyAwMSAyMDIwIEZlZG9yYSBSZWxlYXNlIEVuZ2luZWVyaW5n IDxyZWxlbmdAZmVkb3JhcHJvamVjdC5vcmc+IC0gMTAuMC4wLTEwCi0tIFNlY29uZCBhdHRlbXB0 IC0gUmVidWlsdCBmb3IKLSAgaHR0cHM6Ly9mZWRvcmFwcm9qZWN0Lm9yZy93aWtpL0ZlZG9yYV8z M19NYXNzX1JlYnVpbGQKLQotKiBUdWUgSnVsIDI4IDIwMjAgSmVmZiBMYXcgPGxhd0ByZWRoYXQu Y29tPiAtIDEwLjAuMC05Ci0tIERpc2FibGUgTFRPIG9uIGFybSBhbmQgaTY4NgotCi0qIE1vbiBK dWwgMjcgMjAyMCBGZWRvcmEgUmVsZWFzZSBFbmdpbmVlcmluZyA8cmVsZW5nQGZlZG9yYXByb2pl Y3Qub3JnPiAtIDEwLjAuMC04Ci0tIFJlYnVpbHQgZm9yIGh0dHBzOi8vZmVkb3JhcHJvamVjdC5v cmcvd2lraS9GZWRvcmFfMzNfTWFzc19SZWJ1aWxkCi0KLSogTW9uIEp1bCAyMCAyMDIwIHNndWVs dG9uQHJlZGhhdC5jb20gLSAxMC4wLjAtNwotLSBVcGRhdGUgY21ha2UgbWFjcm8gdXNhZ2UKLS0g RmluYWxpemUgc291cmNlIHZlcmlmaWNhdGlvbgotCi0qIEZyaSBKdW4gMjYgMjAyMCBUb20gU3Rl bGxhcmQgPHRzdGVsbGFyQHJlZGhhdC5jb20+IC0gMTAuMC4wLTYKLS0gQWRkIGNldC5oIGhlYWRl cgotCi0qIE1vbiBKdW4gMDggMjAyMCBUb20gU3RlbGxhcmQgPHRzdGVsbGFyQHJlZGhhdC5jb20+ IC0gMTAuMC4wLTUKLS0gQWNjZXB0IG11bHRpcGxlIC0tY29uZmlnIG9wdGlvbnMKLQotKiBXZWQg SnVuICAzIDIwMjAgRGFuIMSMZXJtw6FrIDxkYW4uY2VybWFrQGNnYy1pbnN0cnVtZW50cy5jb20+ IC0gMTAuMC4wLTQKLS0gQWRkIHN5bWxpbmsgdG8gJSV7X2xpYmRpcn0vY2xhbmcvJSV7bWFqX3Zl cn0gZm9yIHBlcnNpc3RlbnQgYWNjZXNzIHRvIHRoZSByZXNvdXJjZSBkaXJlY3RvcnkgYWNjcm9z cyBtaW5vciB2ZXJzaW9uIGJ1bXBzCi0KLSogTW9uIE1heSAyNSAyMDIwIE1pcm8gSHJvbsSNb2sg PG1ocm9uY29rQHJlZGhhdC5jb20+IC0gMTAuMC4wLTMKLS0gUmVidWlsdCBmb3IgUHl0aG9uIDMu OQotCi0qIFR1ZSBNYXkgMTkgMjAyMCBzZ3VlbHRvbkByZWRoYXQuY29tIC0gMTAuMC4wLTIKLS0g QmFja3BvcnQgYWQ3MjExZGY2ZjI1N2UzOWRhMmU1YTExYjI0NTZiNDQ4OGYzMmExZSwgc2VlIHJo YnojMTgyNTU5MwotCi0qIFRodSBNYXIgMjYgMjAyMCBzZ3VlbHRvbkByZWRoYXQuY29tIC0gMTAu MC4wLTEKLS0gMTAuMC4wIGZpbmFsCi0KLSogVHVlIE1hciAyNCAyMDIwIHNndWVsdG9uQHJlZGhh dC5jb20gLSAxMC4wLjAtMC4xMS5yYzYKLS0gMTAuMC4wIHJjNgotCi0qIFN1biBNYXIgMjIgMjAy MCBzZ3VlbHRvbkByZWRoYXQuY29tIC0gMTAuMC4wLTAuMTAucmM1Ci0tIFVwZGF0ZSBnaXQtY2xh bmctZm9ybWF0IGRlcGVuZGVuY3ksIHNlZSByaGJ6IzE4MTU5MTMKLQotKiBGcmkgTWFyIDIwIDIw MjAgVG9tIFN0ZWxsYXJkIDx0c3RlbGxhckByZWRoYXQuY29tPiAtIDEwLjAuMC0wLjkucmM1Ci0t IEFkZCBkZXBlbmRlbmN5IG9uIGxpYm9tcC1kZXZlbAotCi0qIEZyaSBNYXIgMjAgMjAyMCBzZ3Vl bHRvbkByZWRoYXQuY29tIC0gMTAuMC4wLTAuOC5yYzUKLS0gMTAuMC4wIHJjNQotCi0qIFNhdCBN YXIgMTQgMjAyMCBzZ3VlbHRvbkByZWRoYXQuY29tIC0gMTAuMC4wLTAuNy5yYzQKLS0gMTAuMC4w IHJjNAotCi0qIFRodSBNYXIgMTIgMjAyMCBzZ3VlbHRvbkByZWRoYXQuY29tIC0gMTAuMC4wLTAu Ni5yYzMKLS0gTW92ZSBhIGZldyBmaWxlcyBmcm9tIGNsYW5nIHRvIGNsYW5nLXRvb2xzLWV4dHJh LgotCi0qIFRodSBNYXIgMDUgMjAyMCBzZ3VlbHRvbkByZWRoYXQuY29tIC0gMTAuMC4wLTAuNS5y YzMKLS0gMTAuMC4wIHJjMwotCi0qIFR1ZSBGZWIgMjUgMjAyMCBzZ3VlbHRvbkByZWRoYXQuY29t IC0gMTAuMC4wLTAuNC5yYzIKLS0gQXBwbHkgLWZkaXNjYXJkLXZhbHVlLW5hbWVzIHBhdGNoLgot Ci0qIE1vbiBGZWIgMTcgMjAyMCBzZ3VlbHRvbkByZWRoYXQuY29tIC0gMTAuMC4wLTAuMy5yYzIK LS0gRml4IE5WUgotCi0qIEZyaSBGZWIgMTQgMjAyMCBzZ3VlbHRvbkByZWRoYXQuY29tIC0gMTAu MC4wLTAuMS5yYzIKLS0gMTAuMC4wIHJjMgotCi0qIFR1ZSBGZWIgMTEgMjAyMCBzZ3VlbHRvbkBy ZWRoYXQuY29tIC0gMTAuMC4wLTAuMi5yYzEKLS0gRXhwbGljaXRseSBjb25mbGljdHMgd2l0aCBh bnkgZGlmZmVyZW50IGNvbXBpbGVyLXJ0IHZlcnNpb24sIHNlZSByaGJ6IzE4MDA3MDUKLQotKiBG cmkgSmFuIDMxIDIwMjAgVG9tIFN0ZWxsYXJkIDx0c3RlbGxhckByZWRoYXQuY29tPiAtIDEwLjAu MC0wLjEucmMxCi0tIFN0b3Agc2hpcHBpbmcgaW5kaXZpZHVhbCBjb21wb25lbnQgbGlicmFyaWVz Ci0tIGh0dHBzOi8vZmVkb3JhcHJvamVjdC5vcmcvd2lraS9DaGFuZ2VzL1N0b3AtU2hpcHBpbmct SW5kaXZpZHVhbC1Db21wb25lbnQtTGlicmFyaWVzLUluLWNsYW5nLWxpYi1QYWNrYWdlCi0KLSog RnJpIEphbiAzMSAyMDIwIHNndWVsdG9uQHJlZGhhdC5jb20gLSAxMC4wLjAtMC4xLnJjMQotLSAx MC4wLjAgcmMxCi0KLSogVHVlIEphbiAyOCAyMDIwIEZlZG9yYSBSZWxlYXNlIEVuZ2luZWVyaW5n IDxyZWxlbmdAZmVkb3JhcHJvamVjdC5vcmc+IC0gOS4wLjEtMwotLSBSZWJ1aWx0IGZvciBodHRw czovL2ZlZG9yYXByb2plY3Qub3JnL3dpa2kvRmVkb3JhXzMyX01hc3NfUmVidWlsZAotCi0qIEZy aSBKYW4gMTAgMjAyMCBUb20gU3RlbGxhcmQgPHRzdGVsbGFyQHJlZGhhdC5jb20+IC0gOS4wLjEt MgotLSBGaXggY3Jhc2ggd2l0aCBrZXJuZWwgYnBmIHNlbGYtdGVzdHMKLQotKiBUaHUgRGVjIDE5 IDIwMTkgVG9tIFN0ZWxsYXJkIDx0c3RlbGxhckByZWRoYXQuY29tPiAtIDkuMC4xLTEKLS0gOS4w LjEgUmVsZWFzZQotCi0qIFdlZCBEZWMgMTEgMjAxOSBUb20gU3RlbGxhcmQgPHRzdGVsbGFyQHJl ZGhhdC5jb20+IC0gOS4wLjAtMwotLSBBZGQgZXhwbGljaXQgcmVxdWlyZXMgZm9yIGNsYW5nLWxp YnMgdG8gZml4IHJwbWRpZmYgZXJyb3JzCi0KLSogVHVlIERlYyAxMCAyMDE5IHNndWVsdG9uQHJl ZGhhdC5jb20gLSA5LjAuMC0yCi0tIEFjdGl2YXRlIC1mdW53aW5kLXRhYmxlcyBvbiBhbGwgYXJj aGVzLCBzZWUgcmhieiMxNjU1NTQ2LgotCi0qIFRodSBTZXAgMTkgMjAxOSBUb20gU3RlbGxhcmQg PHRzdGVsbGFyQHJlZGhhdC5jb20+IC0gOS4wLjAtMQotLSA5LjAuMCBSZWxlYXNlCi0KLSogV2Vk IFNlcCAxMSAyMDE5IFRvbSBTdGVsbGFyZCA8dHN0ZWxsYXJAcmVkaGF0LmNvbT4gLSA5LjAuMC0w LjIucmMzCi0tIFJlZHVjZSBkZWJ1ZyBpbmZvIHZlcmJvc2l0eSBvbiBwcGM2NGxlIHRvIGF2b2lk IE9PTSBlcnJvcnMgaW4ga29qaQotCi0qIFRodSBBdWcgMjIgMjAxOSBUb20gU3RlbGxhcmQgPHRz dGVsbGFyQHJlZGhhdC5jb20+IC0gOS4wLjAtMC4xLnJjMwotLSA5LjAuMCBSZWxlYXNlIGNhbmRp ZGF0ZSAzCi0KLSogVHVlIEF1ZyAyMCAyMDE5IHNndWVsdG9uQHJlZGhhdC5jb20gLSA4LjAuMC00 Ci0tIFJlYnVpbHQgZm9yIFB5dGhvbiAzLjgKLQotKiBNb24gQXVnIDE5IDIwMTkgTWlybyBIcm9u xI1vayA8bWhyb25jb2tAcmVkaGF0LmNvbT4gLSA4LjAuMC0zLjIKLS0gUmVidWlsdCBmb3IgUHl0 aG9uIDMuOAotCi0qIFdlZCBKdWwgMjQgMjAxOSBGZWRvcmEgUmVsZWFzZSBFbmdpbmVlcmluZyA8 cmVsZW5nQGZlZG9yYXByb2plY3Qub3JnPiAtIDguMC4wLTMuMQotLSBSZWJ1aWx0IGZvciBodHRw czovL2ZlZG9yYXByb2plY3Qub3JnL3dpa2kvRmVkb3JhXzMxX01hc3NfUmVidWlsZAotCi0qIFRo dSBNYXkgMTYgMjAxOSBzZ3VlbHRvbkByZWRoYXQuY29tIC0gOC4wLjAtMwotLSBGaXggZm9yIHJo YnojMTY3NDAzMQotCi0qIEZyaSBBcHIgMTIgMjAxOSBzZ3VlbHRvbkByZWRoYXQuY29tIC0gOC4w LjAtMgotLSBSZW1vdmUgdXNlbGVzcyBwYXRjaCB0aGFua3MgdG8gR0NDIHVwZ3JhZGUKLQotKiBX ZWQgTWFyIDIwIDIwMTkgc2d1ZWx0b25AcmVkaGF0LmNvbSAtIDguMC4wLTEKLS0gOC4wLjAgZmlu YWwKLQotKiBUdWUgTWFyIDEyIDIwMTkgc2d1ZWx0b25AcmVkaGF0LmNvbSAtIDguMC4wLTAuNi5y YzQKLS0gOC4wLjAgUmVsZWFzZSBjYW5kaWRhdGUgNAotCi0qIE1vbiBNYXIgNCAyMDE5IHNndWVs dG9uQHJlZGhhdC5jb20gLSA4LjAuMC0wLjUucmMzCi0tIENsZWFudXAgc3BlY2ZpbGUgYWZ0ZXIg bGx2bSBkZXBlbmRlbmN5IHVwZGF0ZQotCi0qIE1vbiBNYXIgNCAyMDE5IHNndWVsdG9uQHJlZGhh dC5jb20gLSA4LjAuMC0wLjQucmMzCi0tIDguMC4wIFJlbGVhc2UgY2FuZGlkYXRlIDMKLQotKiBN b24gRmViIDI1IDIwMTkgdHN0ZWxsYXJAcmVkaGF0LmNvbSAtIDguMC4wLTAuMy5yYzIKLS0gRml4 IGNvbXBpbGluZyB3aXRoIC1zdGRsaWI9bGliYysrCi0KLSogVGh1IEZlYiAyMSAyMDE5IHNndWVs dG9uQHJlZGhhdC5jb20gLSA4LjAuMC0wLjIucmMyCi0tIDguMC4wIFJlbGVhc2UgY2FuZGlkYXRl IDIKLQotKiBTYXQgRmViIDA5IDIwMTkgc2d1ZWx0b25AcmVkaGF0LmNvbSAtIDguMC4wLTAuMS5y YzEKLS0gOC4wLjAgUmVsZWFzZSBjYW5kaWRhdGUgMQotCi0qIFR1ZSBGZWIgMDUgMjAxOSBzZ3Vl bHRvbkByZWRoYXQuY29tIC0gNy4wLjEtNgotLSBVcGRhdGUgcGF0Y2ggZm9yIFB5dGhvbjMgcG9y dCBvZiBzY2FuLXZpZXcKLQotKiBUdWUgRmViIDA1IDIwMTkgc2d1ZWx0b25AcmVkaGF0LmNvbSAt IDcuMC4xLTUKLS0gV29ya2luZyBDSSB0ZXN0IHN1aXRlCi0KLSogTW9uIEZlYiAwNCAyMDE5IHNn dWVsdG9uQHJlZGhhdC5jb20gLSA3LjAuMS00Ci0tIFdvcmthcm91bmQgZ2NjLTkgYnVnIHdoZW4g Y29tcGlsaW5nIGJpdGZpZWxkcwotCi0qIEZyaSBGZWIgMDEgMjAxOSBzZ3VlbHRvbkByZWRoYXQu Y29tIC0gNy4wLjEtMwotLSBGaXggdW5pbml0aWFsaXplZCBlcnJvciBkZXRlY3RlZCBieSBnY2Mt OQotCi0qIFRodSBKYW4gMzEgMjAxOSBGZWRvcmEgUmVsZWFzZSBFbmdpbmVlcmluZyA8cmVsZW5n QGZlZG9yYXByb2plY3Qub3JnPiAtIDcuMC4xLTIuMQotLSBSZWJ1aWx0IGZvciBodHRwczovL2Zl ZG9yYXByb2plY3Qub3JnL3dpa2kvRmVkb3JhXzMwX01hc3NfUmVidWlsZAotCi0qIFdlZCBEZWMg MTkgMjAxOCBUb20gU3RlbGxhcmQgPHRzdGVsbGFyQHJlZGhhdC5jb20+IC0gNy4wLjEtMgotLSBG aXggZm9yIHJoYnojMTY1NzU0NAotCi0qIFR1ZSBEZWMgMTggMjAxOCBzZ3VlbHRvbkByZWRoYXQu Y29tIC0gNy4wLjEtMQotLSA3LjAuMQotCi0qIFR1ZSBEZWMgMTggMjAxOCBzZ3VlbHRvbkByZWRo YXQuY29tIC0gNy4wLjAtMTAKLS0gSW5zdGFsbCBwcm9wZXIgbWFucGFnZSBzeW1saW5rcyBmb3Ig Y2xhbmcvY2xhbmcrKyB2ZXJzaW9ucwotCi0qIEZyaSBEZWMgMTQgMjAxOCBzZ3VlbHRvbkByZWRo YXQuY29tIC0gNy4wLjAtOQotLSBObyBsb25nZXIgSWdub3JlIC1mc3RhY2stY2xhc2gtcHJvdGVj dGlvbiBvcHRpb24KLQotKiBUdWUgRGVjIDA0IDIwMTggc2d1ZWx0b25AcmVkaGF0LmNvbSAtIDcu MC4wLTgKLS0gRW5zdXJlIHJwbWxpbnQgcGFzc2VzIG9uIHNwZWNmaWxlCi0KLSogRnJpIE5vdiAz MCAyMDE4IFRvbSBTdGVsbGFyZCA8dHN0ZWxsYXJAcmVkaGF0LmNvbT4gLSA3LjAuMC03Ci0tIERy b3AgcHl0aG9uMiBkZXBlbmRlbmN5IGZyb20gY2xhbmctdG9vbHMtZXh0cmEKLQotKiBXZWQgTm92 IDIxIDIwMTggc2d1ZWx0b25AcmVkaGF0LmNvbSAtIDcuMC4wLTYKLS0gUHJ1bmUgdW5uZWVkZWQg cmVmZXJlbmNlIHRvIGxsdm0tdGVzdC1zdWl0ZSBzdWItcGFja2FnZQotCi0qIE1vbiBOb3YgMTkg MjAxOCBUb20gU3RlbGxhcmQgPHRzdGVsbGFyQHJlZGhhdC5jb20+IC0gNy4wLjAtNQotLSBSdW4g J21ha2UgY2hlY2stYWxsJyBpbnN0ZWFkIG9mICdtYWtlIGNoZWNrLWNsYW5nJwotCi0qIE1vbiBO b3YgMTkgMjAxOCBzZXJnZXNhbnNwYWlsbGUgPHNndWVsdG9uQHJlZGhhdC5jb20+IC0gNy4wLjAt NAotLSBBdm9pZCBQeXRob24yICsgUHl0aG9uMyBkZXBlbmRlbmN5IGZvciBjbGFuZy1hbmFseXpl cgotCi0qIE1vbiBOb3YgMDUgMjAxOCBUb20gU3RlbGxhcmQgPHRzdGVsbGFyQHJlZGhhdC5jb20+ IC0gNy4wLjAtMwotLSBVc2VyIGhlbHBlciBtYWNybyB0byBmaXh1cCBjb25maWcuaCBmb3IgbXVs dGlsaWIKLQotKiBUdWUgT2N0IDAyIDIwMTggVG9tIFN0ZWxsYXJkIDx0c3RlbGxhckByZWRoYXQu Y29tPiAtIDcuMC4wLTIKLS0gVXNlIGNvcnJlY3Qgc2hlYmFuZyBzdWJzdGl0dXRpb24gZm9yIHB5 dGhvbiBzY3JpcHRzCi0KLSogTW9uIFNlcCAyNCAyMDE4IFRvbSBTdGVsbGFyZCA8dHN0ZWxsYXJA cmVkaGF0LmNvbT4gLSA3LjAuMC0xCi0tIDcuMC4wIFJlbGVhc2UKLQotKiBXZWQgU2VwIDE5IDIw MTggVG9tIFN0ZWxsYXJkIDx0c3RlbGxhckByZWRoYXQuY29tPiAtIDcuMC4wLTAuMTYucmMzCi0t IE1vdmUgYnVpbHRpbiBoZWFkZXJzIGludG8gY2xhbmctbGlicyBzdWItcGFja2FnZQotCi0qIFdl ZCBTZXAgMTkgMjAxOCBUb20gU3RlbGxhcmQgPHRzdGVsbGFyQHJlZGhhdC5jb20+IC0gNy4wLjAt MC4xNS5yYzMKLS0gUmVtb3ZlIGFtYmlndW91cyBweXRob24gc2hlYmFuZ3MKLQotKiBUaHUgU2Vw IDEzIDIwMTggVG9tIFN0ZWxsYXJkIDx0c3RlbGxhckByZWRoYXQuY29tPiAtIDcuMC4wLTAuMTQu cmMzCi0tIE1vdmUgdW52ZXJzaW9uZWQgc2hhcmVkIG9iamVjdHMgdG8gZGV2ZWwgcGFja2FnZQot Ci0qIFRodSBTZXAgMTMgMjAxOCBUb20gU3RlbGxhcmQgPHRzdGVsbGFyQHJlZGhhdC5jb20+IC0g Ny4wLjAtMC4xMy5yYzMKLS0gUmVidWlsZCB3aXRoIG5ldyBsbHZtLWRldmVsIHRoYXQgZGlzYWJs ZXMgcnBhdGggb24gaW5zdGFsbAotCi0qIFRodSBTZXAgMTMgMjAxOCBUb20gU3RlbGxhcmQgPHRz dGVsbGFyQHJlZGhhdC5jb20+IC0gNy4wLjAtMC4xMi5yYzMKLS0gRml4IGNsYW5nKystNyBzeW1s aW5rCi0KLSogV2VkIFNlcCAxMiAyMDE4IFRvbSBTdGVsbGFyZCA8dHN0ZWxsYXJAcmVkaGF0LmNv bT4gLSA3LjAuMC0wLjExLnJjMwotLSA3LjAuMC1yYzMgUmVsZWFzZQotCi0qIE1vbiBTZXAgMTAg MjAxOCBUb20gU3RlbGxhcmQgPHRzdGVsbGFyQHJlZGhhdC5jb20+IC0gNy4wLjAtMC4xMC5yYzIK LS0gRHJvcCBzaW9kIGZyb20gbGx2bS10ZXN0LXN1aXRlCi0KLSogRnJpIFNlcCAwNyAyMDE4IFRv bSBTdGVsbGFyZCA8dHN0ZWxsYXJAcmVkaGF0LmNvbT4gLSA3LjAuMC0wLjkucmMyCi0tIERyb3Ag cHl0aG9uMiBkZXBlbmRlbmN5IGZyb20gY2xhbmcgcGFja2FnZQotCi0qIFRodSBTZXAgMDYgMjAx OCBUb20gU3RlbGxhcmQgPHRzdGVsbGFyQHJlZGhhdC5jb20+IC0gNy4wLjAtMC44LnJjMgotLSBE cm9wIGFsbCB1c2VzIG9mIHB5dGhvbjIgZnJvbSBsaXQgdGVzdHMKLQotKiBTYXQgU2VwIDAxIDIw MTggVG9tIFN0ZWxsYXJkIDx0c3RlbGxhckByZWRoYXQuY29tPiAtIDcuMC4wLTAuNy5yYzIKLS0g QWRkIEZlZG9yYSBzcGVjaWZpYyB2ZXJzaW9uIHN0cmluZwotCi0qIFR1ZSBBdWcgMjggMjAxOCBU b20gU3RlbGxhcmQgPHRzdGVsbGFyQHJlZGhhdC5jb20+IC0gNy4wLjAtMC42LnJjMgotLSA3LjAu MC1yYzIgUmVsZWFzZQotCi0qIFR1ZSBBdWcgMjggMjAxOCBUb20gU3RlbGxhcmQgPHRzdGVsbGFy QHJlZGhhdC5jb20+IC0gNy4wLjAtMC41LnJjMQotLSBFbmFibGUgdW5pdCB0ZXN0cwotCi0qIEZy aSBBdWcgMTcgMjAxOCBUb20gU3RlbGxhcmQgPHRzdGVsbGFyQHJlZGhhdC5jb20+IC0gNy4wLjAt MC40LnJjMQotLSBNb3ZlIGxsdm0tdGVzdC1zdWl0ZSBpbnRvIGEgc3ViLXBhY2thZ2UKLQotKiBG cmkgQXVnIDE3IDIwMTggVG9tIFN0ZWxsYXJkIDx0c3RlbGxhckByZWRoYXQuY29tPiAtIDcuMC4w LTAuMy5yYzEKLS0gUmVjb21tZW5kIHRoZSBzYW1lIHZlcnNpb24gb2YgY29tcGlsZXItcnQKLQot KiBXZWQgQXVnIDE1IDIwMTggVG9tIFN0ZWxsYXJkIDx0c3RlbGxhckByZWRoYXQuY29tPiAtIDcu MC4wLTAuMi5yYzEKLS0gUmVidWlsZCBmb3IgZjMwCi0KLSogTW9uIEF1ZyAxMyAyMDE4IFRvbSBT dGVsbGFyZCA8dHN0ZWxsYXJAcmVkaGF0LmNvbT4gLSA3LjAuMC0wLjEucmMxCi0tIDcuMC4wLXJj MSBSZWxlYXNlCi0KLSogTW9uIEp1bCAyMyAyMDE4IFRvbSBTdGVsbGFyZCA8dHN0ZWxsYXJAcmVk aGF0LmNvbT4gLSA2LjAuMS0zCi0tIFN5bmMgc3BlYyBmaWxlIHdpdGggdGhlIGNsYW5nNi4wIHBh Y2thZ2UKLQotKiBUaHUgSnVsIDEyIDIwMTggRmVkb3JhIFJlbGVhc2UgRW5naW5lZXJpbmcgPHJl bGVuZ0BmZWRvcmFwcm9qZWN0Lm9yZz4gLSA2LjAuMS0yCi0tIFJlYnVpbHQgZm9yIGh0dHBzOi8v ZmVkb3JhcHJvamVjdC5vcmcvd2lraS9GZWRvcmFfMjlfTWFzc19SZWJ1aWxkCi0KLSogVHVlIEp1 biAyNiAyMDE4IFRvbSBTdGVsbGFyZCA8dHN0ZWxsYXJAcmVkaGF0LmNvbT4gLSA2LjAuMS0xCi0t IDYuMC4xIFJlbGVhc2UKLQotKiBXZWQgSnVuIDEzIDIwMTggVG9tIFN0ZWxsYXJkIDx0c3RlbGxh ckByZWRoYXQuY29tPiAtIDYuMC4xLTAuMi5yYzIKLS0gNi4wLjEtcmMyCi0KLSogRnJpIE1heSAx MSAyMDE4IFRvbSBTdGVsbGFyZCA8dHN0ZWxsYXJAcmVkaGF0LmNvbT4gLSA2LjAuMS0wLjEucmMx Ci0tIDYuMC4xLXJjMSBSZWxlYXNlCi0KLSogRnJpIE1hciAyMyAyMDE4IFRvbSBTdGVsbGFyZCA8 dHN0ZWxsYXJAcmVkaGF0LmNvbT4gLSA2LjAuMC01Ci0tIEFkZCBhIGNsYW5nKyste3ZlcnNpb259 IHN5bWxpbmsgcmhieiMxNTM0MDk4Ci0KLSogVGh1IE1hciAyMiAyMDE4IFRvbSBTdGVsbGFyZCA8 dHN0ZWxsYXJAcmVkaGF0LmNvbT4gLSA2LjAuMC00Ci0tIFVzZSBjb3JyZWN0IHNjcmlwdCBmb3Ig cnVubmluZyBsaXQgdGVzdHMKLQotKiBXZWQgTWFyIDIxIDIwMTggVG9tIFN0ZWxsYXJkIDx0c3Rl bGxhckByZWRoYXQuY29tPiAtIDYuMC4wLTMKLS0gRml4IHRvb2xjaGFpbiBkZXRlY3Rpb24gc28g d2UgZG9uJ3QgZGVmYXVsdCB0byB1c2luZyBjcm9zcy1jb21waWxlcnM6Ci0gIHJoYnojMTQ4MjQ5 MQotCi0qIE1vbiBNYXIgMTIgMjAxOCBUb20gU3RlbGxhcmQgPHRzdGVsbGFyQHJlZGhhdC5jb20+ IC0gNi4wLjAtMgotLSBBZGQgUHJvdmlkZXM6IGNsYW5nKG1ham9yKSByaGJ6IzE1NDc0NDQKLQot KiBGcmkgTWFyIDA5IDIwMTggVG9tIFN0ZWxsYXJkIDx0c3RlbGxhckByZWRoYXQuY29tPiAtIDYu MC4wLTEKLS0gNi4wLjAgUmVsZWFzZQotCi0qIE1vbiBGZWIgMTIgMjAxOCBUb20gU3RlbGxhcmQg PHRzdGVsbGFyQHJlZGhhdC5jb20+IC0gNi4wLjAtMC42LnJjMgotLSA2LjAuMC1yYzIgUmVsZWFz ZQotCi0qIFdlZCBGZWIgMDcgMjAxOCBGZWRvcmEgUmVsZWFzZSBFbmdpbmVlcmluZyA8cmVsZW5n QGZlZG9yYXByb2plY3Qub3JnPiAtIDYuMC4wLTAuNS5yYzEKLS0gUmVidWlsdCBmb3IgaHR0cHM6 Ly9mZWRvcmFwcm9qZWN0Lm9yZy93aWtpL0ZlZG9yYV8yOF9NYXNzX1JlYnVpbGQKLQotKiBUaHUg RmViIDAxIDIwMTggVG9tIFN0ZWxsYXJkIDx0c3RlbGxhckByZWRoYXQuY29tPiAtIDYuMC4wLTAu NC5yYzEKLS0gUGFja2FnZSBweXRob24gaGVscGVyIHNjcmlwdHMgZm9yIHRvb2xzCi0KLSogRnJp IEphbiAyNiAyMDE4IFRvbSBTdGVsbGFyZCA8dHN0ZWxsYXJAcmVkaGF0LmNvbT4gLSA2LjAuMC0w LjMucmMxCi0tIElnbm9yZSAtZnN0YWNrLWNsYXNoLXByb3RlY3Rpb24gb3B0aW9uIGluc3RlYWQg b2YgZ2l2aW5nIGFuIGVycm9yCi0KLSogRnJpIEphbiAyNiAyMDE4IFRvbSBTdGVsbGFyZCA8dHN0 ZWxsYXJAcmVkaGF0LmNvbT4gLSA2LjAuMC0wLjIucmMxCi0tIFBhY2thZ2UgZW1hY3MgaW50ZWdy YXRpb24gZmlsZXMKLQotKiBXZWQgSmFuIDI0IDIwMTggVG9tIFN0ZWxsYXJkIDx0c3RlbGxhckBy ZWRoYXQuY29tPiAtIDYuMC4wLTAuMS5yYzEKLS0gNi4wLjAtcmMxIFJlbGVhc2UKLQotKiBXZWQg SmFuIDI0IDIwMTggVG9tIFN0ZWxsYXJkIDx0c3RlbGxhckByZWRoYXQuY29tPiAtIDUuMC4xLTMK LS0gUmVidWlsZCBhZ2FpbnN0IGxsdm01LjAgY29tcGF0aWJpbGl0eSBwYWNrYWdlCi0tIHJoYnoj MTUzODIzMQotCi0qIFdlZCBKYW4gMDMgMjAxOCBJcnluYSBTaGNoZXJiaW5hIDxpc2hjaGVyYkBy ZWRoYXQuY29tPiAtIDUuMC4xLTIKLS0gVXBkYXRlIFB5dGhvbiAyIGRlcGVuZGVuY3kgZGVjbGFy YXRpb25zIHRvIG5ldyBwYWNrYWdpbmcgc3RhbmRhcmRzCi0gIChTZWUgaHR0cHM6Ly9mZWRvcmFw cm9qZWN0Lm9yZy93aWtpL0ZpbmFsaXppbmdGZWRvcmFTd2l0Y2h0b1B5dGhvbjMpCi0KLSogV2Vk IERlYyAyMCAyMDE3IFRvbSBTdGVsbGFyZCA8dHN0ZWxsYXJAcmVkaGF0LmNvbT4gLSA1LjAuMS0x Ci0tIDUuMC4xIFJlbGVhc2UKLQotKiBXZWQgRGVjIDEzIDIwMTcgVG9tIFN0ZWxsYXJkIDx0c3Rl bGxhckByZWRoYXQuY29tPiAtIDUuMC4wLTMKLS0gTWFrZSBjb21waWxlci1ydCBhIHdlYWsgZGVw ZW5kZW5jeSBhbmQgYWRkIGEgd2VhayBkZXBlbmRlbmN5IG9uIGxpYm9tcAotCi0qIE1vbiBOb3Yg MDYgMjAxNyBNZXJsaW4gTWF0aGVzaXVzIDxtbWF0aGVzaUByZWRoYXQuY29tPiAtIDUuMC4wLTIK LS0gQ2xlYW51cCBzcGVjIGZpbGUgY29uZGl0aW9uYWxzCi0KLSogTW9uIE9jdCAxNiAyMDE3IFRv bSBTdGVsbGFyZCA8dHN0ZWxsYXJAcmVkaGF0LmNvbT4gLSA1LjAuMC0xCi0tIDUuMC4wIFJlbGVh c2UKLQotKiBXZWQgT2N0IDA0IDIwMTcgUmV4IERpZXRlciA8cmRpZXRlckBmZWRvcmFwcm9qZWN0 Lm9yZz4gLSA0LjAuMS02Ci0tIHB5dGhvbjItY2xhbmcgc3VicGtnICgjMTQ5MDk5NykKLS0gdG9v bHMtZXh0cmFzOiB0aWdodGVuIChpbnRlcm5hbCkgLWxpYnMgZGVwCi0tICUlaW5zdGFsbDogYXZv aWQgY2QKLQotKiBXZWQgQXVnIDMwIDIwMTcgVG9tIFN0ZWxsYXJkIDx0c3RlbGxhckByZWRoYXQu Y29tPiAtIDQuMC4xLTUKLS0gQWRkIFJlcXVpcmVzOiBweXRob24gZm9yIGdpdC1jbGFuZy1mb3Jt YXQKLQotKiBTdW4gQXVnIDA2IDIwMTcgQmrDtnJuIEVzc2VyIDxiZXNzZXI4MkBmZWRvcmFwcm9q ZWN0Lm9yZz4gLSA0LjAuMS00Ci0tIFJlYnVpbHQgZm9yIEF1dG9SZXEgY21ha2UtZmlsZXN5c3Rl bQotCi0qIFdlZCBBdWcgMDIgMjAxNyBGZWRvcmEgUmVsZWFzZSBFbmdpbmVlcmluZyA8cmVsZW5n QGZlZG9yYXByb2plY3Qub3JnPiAtIDQuMC4xLTMKLS0gUmVidWlsdCBmb3IgaHR0cHM6Ly9mZWRv cmFwcm9qZWN0Lm9yZy93aWtpL0ZlZG9yYV8yN19CaW51dGlsc19NYXNzX1JlYnVpbGQKLQotKiBX ZWQgSnVsIDI2IDIwMTcgRmVkb3JhIFJlbGVhc2UgRW5naW5lZXJpbmcgPHJlbGVuZ0BmZWRvcmFw cm9qZWN0Lm9yZz4gLSA0LjAuMS0yCi0tIFJlYnVpbHQgZm9yIGh0dHBzOi8vZmVkb3JhcHJvamVj dC5vcmcvd2lraS9GZWRvcmFfMjdfTWFzc19SZWJ1aWxkCi0KLSogRnJpIEp1biAyMyAyMDE3IFRv bSBTdGVsbGFyZCA8dHN0ZWxsYXJAcmVkaGF0LmNvbT4gLSA0LjAuMS0xCi0tIDQuMC4xIFJlbGVh c2UuCi0KLSogRnJpIEp1biAxNiAyMDE3IFRvbSBTdGVsbGFyZCA8dHN0ZWxsYXJAcmVkaGF0LmNv bT4gLSA0LjAuMC04Ci0tIEVuYWJsZSBtYWtlIGNoZWNrLWNsYW5nCi0KLSogTW9uIEp1biAxMiAy MDE3IFRvbSBTdGVsbGFyZCA8dHN0ZWxsYXJAcmVkaGF0LmNvbT4gLSA0LjAuMC03Ci0tIFBhY2th Z2UgZ2l0LWNsYW5nLWZvcm1hdAotCi0qIFRodSBKdW4gMDggMjAxNyBUb20gU3RlbGxhcmQgPHRz dGVsbGFyQHJlZGhhdC5jb20+IC0gNC4wLjAtNgotLSBHZW5lcmF0ZSBtYW4gcGFnZXMKLQotKiBU aHUgSnVuIDA4IDIwMTcgVG9tIFN0ZWxsYXJkIDx0c3RlbGxhckByZWRoYXQuY29tPiAtIDQuMC4w LTUKLS0gSWdub3JlIHRlc3Qtc3VpdGUgZmFpbHVyZXMgdW50aWwgYWxsIGFyY2hlcyBhcmUgZml4 ZWQuCi0KLSogTW9uIEFwciAwMyAyMDE3IFRvbSBTdGVsbGFyZCA8dHN0ZWxsYXJAcmVkaGF0LmNv bT4gLSA0LjAuMC00Ci0tIFJ1biBsbHZtIHRlc3Qtc3VpdGUKLQotKiBNb24gTWFyIDI3IDIwMTcg VG9tIFN0ZWxsYXJkIDx0c3RlbGxhckByZWRoYXQuY29tPiAtIDQuMC4wLTMKLS0gRW5hYmxlIGVo L3J0dGksIHdoaWNoIGFyZSByZXF1aXJlZCBieSBsbGRiLgotCi0qIEZyaSBNYXIgMjQgMjAxNyBU b20gU3RlbGxhcmQgPHRzdGVsbGFyQHJlZGhhdC5jb20+IC0gNC4wLjAtMgotLSBGaXggY2xhbmct dG9vbHMtZXh0cmEgYnVpbGQKLS0gRml4IGluc3RhbGwKLQotKiBUaHUgTWFyIDIzIDIwMTcgVG9t IFN0ZWxsYXJkIDx0c3RlbGxhckByZWRoYXQuY29tPiAtIDQuMC4wLTEKLS0gY2xhbmcgNC4wLjAg ZmluYWwgcmVsZWFzZQotCi0qIE1vbiBNYXIgMjAgMjAxNyBEYXZpZCBHb2VyZ2VyIDxkYXZpZC5n b2VyZ2VyQHlhbGUuZWR1PiAtIDMuOS4xLTMKLS0gYWRkIGNsYW5nLXRvb2xzLWV4dHJhIHJoYnoj MTMyODA5MQotCi0qIFRodSBNYXIgMTYgMjAxNyBUb20gU3RlbGxhcmQgPHRzdGVsbGFyQHJlZGhh dC5jb20+IC0gMy45LjEtMgotLSBFbmFibGUgYnVpbGQtaWQgYnkgZGVmYXVsdCByaGJ6IzE0MzI0 MDMKLQotKiBUaHUgTWFyIDAyIDIwMTcgRGF2ZSBBaXJsaWUgPGFpcmxpZWRAcmVkaGF0LmNvbT4g LSAzLjkuMS0xCi0tIGNsYW5nIDMuOS4xIGZpbmFsIHJlbGVhc2UKLQotKiBGcmkgRmViIDEwIDIw MTcgRmVkb3JhIFJlbGVhc2UgRW5naW5lZXJpbmcgPHJlbGVuZ0BmZWRvcmFwcm9qZWN0Lm9yZz4g LSAzLjkuMC00Ci0tIFJlYnVpbHQgZm9yIGh0dHBzOi8vZmVkb3JhcHJvamVjdC5vcmcvd2lraS9G ZWRvcmFfMjZfTWFzc19SZWJ1aWxkCi0KLSogTW9uIE5vdiAxNCAyMDE2IE5hdGhhbmllbCBNY0Nh bGx1bSA8bnBtY2NhbGx1bUByZWRoYXQuY29tPiAtIDMuOS4wLTMKLS0gQWRkIFJlcXVpcmVzOiBj b21waWxlci1ydCB0byBjbGFuZy1saWJzLgotLSBXaXRob3V0IHRoaXMsIGNvbXBpbGluZyB3aXRo IGNlcnRhaW4gQ0ZMQUdTIGJyZWFrcy4KLQotKiBUdWUgTm92ICAxIDIwMTYgUGV0ZXIgUm9iaW5z b24gPHBicm9iaW5zb25AZmVkb3JhcHJvamVjdC5vcmc+IDMuOS4wLTIKLS0gUmVidWlsZCBmb3Ig bmV3IGFyY2hlcwotCi0qIEZyaSBPY3QgMTQgMjAxNiBEYXZlIEFpcmxpZSA8YWlybGllZEByZWRo YXQuY29tPiAtIDMuOS4wLTEKLS0gY2xhbmcgMy45LjAgZmluYWwgcmVsZWFzZQotCi0qIEZyaSBK dWwgMDEgMjAxNiBTdGVwaGFuIEJlcmdtYW5uIDxzYmVyZ21hbkByZWRoYXQuY29tPiAtIDMuOC4w LTIKLS0gUmVzb2x2ZXM6IHJoYnojMTI4MjY0NSBhZGQgR0NDIGFiaV90YWcgc3VwcG9ydAotCi0q IFRodSBNYXIgMTAgMjAxNiBEYXZlIEFpcmxpZSA8YWlybGllZEByZWRoYXQuY29tPiAzLjguMC0x Ci0tIGNsYW5nIDMuOC4wIGZpbmFsIHJlbGVhc2UKLQotKiBUaHUgTWFyIDAzIDIwMTYgRGF2ZSBB aXJsaWUgPGFpcmxpZWRAcmVkaGF0LmNvbT4gMy44LjAtMC40Ci0tIGNsYW5nIDMuOC4wcmMzCi0K LSogV2VkIEZlYiAyNCAyMDE2IERhdmUgQWlybGllIDxhaXJsaWVkQHJlZGhhdC5jb20+IC0gMy44 LjAtMC4zCi0tIHBhY2thZ2UgYWxsIGxpYnMgaW50byBjbGFuZy1saWJzLgotCi0qIFdlZCBGZWIg MjQgMjAxNiBEYXZlIEFpcmxpZSA8YWlybGllZEByZWRoYXQuY29tPiAzLjguMC0wLjIKLS0gZW5h YmxlIGR5bmFtaWMgbGlua2luZyBvZiBjbGFuZyBhZ2FpbnN0IGxsdm0KLQotKiBUaHUgRmViIDE4 IDIwMTYgRGF2ZSBBaXJsaWUgPGFpcmxpZWRAcmVkaGF0LmNvbT4gLSAzLjguMC0wLjEKLS0gY2xh bmcgMy44LjByYzIKLQotKiBGcmkgRmViIDEyIDIwMTYgRGF2ZSBBaXJsaWUgPGFpcmxpZWRAcmVk aGF0LmNvbT4gMy43LjEtNAotLSByZWJ1aWxkIGFnYWluc3QgbGF0ZXN0IGxsdm0gcGFja2FnZXMK LS0gYWRkIEJ1aWxkUmVxdWlyZXMgbGx2bS1zdGF0aWMKLQotKiBXZWQgRmViIDAzIDIwMTYgRmVk b3JhIFJlbGVhc2UgRW5naW5lZXJpbmcgPHJlbGVuZ0BmZWRvcmFwcm9qZWN0Lm9yZz4gLSAzLjcu MS0zCi0tIFJlYnVpbHQgZm9yIGh0dHBzOi8vZmVkb3JhcHJvamVjdC5vcmcvd2lraS9GZWRvcmFf MjRfTWFzc19SZWJ1aWxkCi0KLSogVGh1IEphbiAyOCAyMDE2IERhdmUgQWlybGllIDxhaXJsaWVk QHJlZGhhdC5jb20+IDMuNy4xLTIKLS0ganVzdCBhY2NlcHQgY2xhbmcgaW5jbHVkZXMgbW92aW5n IHRvIC91c3IvbGliNjQsIHVwc3RyZWFtIGRvbid0IGxldCBtdWNoIGVsc2UgaGFwcGVuCi0KLSog VGh1IEphbiAyOCAyMDE2IERhdmUgQWlybGllIDxhaXJsaWVkQHJlZGhhdC5jb20+IDMuNy4xLTEK LS0gaW5pdGlhbCBidWlsZCBpbiBGZWRvcmEuCi0KLSogVHVlIE9jdCAwNiAyMDE1IEphbiBWY2Vs YWsgPGp2Y2VsYWtAZmVkb3JhcHJvamVjdC5vcmc+IDMuNy4wLTEwMAotLSBpbml0aWFsIHZlcnNp b24gdXNpbmcgY21ha2UgYnVpbGQgc3lzdGVtCgpkaWZmIC0tZ2l0IGEvZGVhZC5wYWNrYWdlIGIv ZGVhZC5wYWNrYWdlCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjUyMDRhODQK LS0tIC9kZXYvbnVsbAorKysgYi9kZWFkLnBhY2thZ2UKQEAgLTAsMCArMSBAQAorT3JwaGFuZWQg Zm9yIDYrIHdlZWtzCgpkaWZmIC0tZ2l0IGEvbWFjcm9zLmNsYW5nIGIvbWFjcm9zLmNsYW5nCmRl bGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA4OGYyNTlkLi4wMDAwMDAwCi0tLSBhL21hY3Jv cy5jbGFuZworKysgL2Rldi9udWxsCkBAIC0xLDExICswLDAgQEAKLSVjbGFuZ19tYWpvcl92ZXJz aW9uIEBAQ0xBTkdfTUFKT1JfVkVSU0lPTkBACi0lY2xhbmdfbWlub3JfdmVyc2lvbiBAQENMQU5H X01JTk9SX1ZFUlNJT05AQAotJWNsYW5nX3BhdGNoX3ZlcnNpb24gQEBDTEFOR19QQVRDSF9WRVJT SU9OQEAKLQotJWNsYW5nX3ZlcnNpb24gJXtjbGFuZ19tYWpvcl92ZXJzaW9ufS4le2NsYW5nX21p bm9yX3ZlcnNpb259LiV7Y2xhbmdfcGF0Y2hfdmVyc2lvbn0KLQotIyBUaGlzIGlzIHRoZSBwYXRo IHRvIHRoZSBjbGFuZyByZXNvdXJjZSBkaXJlY3RvcnkgdGhhdCBoYXMgY2xhbmcncyBpbnRlcm5h bAotIyBoZWFkZXJzIGFuZCBsaWJyYXJpZXMuICBUaGlzIHBhdGggc2hvdWxkIGJlIHVzZWQgYnkg cGFja2FnZXMgdGhhdCBuZWVkIHRvCi0jIGluc3RhbGwgZmlsZXMgaW50byB0aGlzIGRpcmVjdG9y eS4gIFRoaXMgbWFjcm8ncyB2YWx1ZSBjaGFuZ2VzIGV2ZXJ5IHRpbWUKLSMgY2xhbmcncyB2ZXJz aW9uIGNoYW5nZXMuCi0lY2xhbmdfcmVzb3VyY2VfZGlyICV7X3ByZWZpeH0vbGliL2NsYW5nLyV7 Y2xhbmdfbWFqb3JfdmVyc2lvbn0KCmRpZmYgLS1naXQgYS9yZWxlYXNlLWtleXMuYXNjIGIvcmVs ZWFzZS1rZXlzLmFzYwpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMGQzNzg5YS4uMDAw MDAwMAotLS0gYS9yZWxlYXNlLWtleXMuYXNjCisrKyAvZGV2L251bGwKQEAgLTEsMTA0ICswLDAg QEAKLS0tLS0tQkVHSU4gUEdQIFBVQkxJQyBLRVkgQkxPQ0stLS0tLQotCi1tUUdOQkdMdGVtVUJE QURDbHZESXJvbXEwWTRUWCt3eVJ5WUNxNVd1c1BRaGVRdVk4ZFZDWGQ5S2hNcFlBdjhVCi1YMTVF NWJvSC9xdUdwSjBabFZrV2NmKzFXVUhJclFXbGJ6UWRJeDUxNENETTdEQmdPOTJDWHNubjg2a0lN RFcrCi05UytIa244dXBiaXpUMWZXcml0bEh3ekQ5b3N6N1pRUnE3YWMwM1BQZ3cyN3RxZUlpekhH dUc0Vk5MeWhiYmpBCi13KzBWTEZTdTNyMjE5ZWV2UytsekJJdlI1VTlXNzIwakZ4V3h0czRVdmFH dUQ2WFcxRXJjc1R2dWhneUNLcnJzCi1neE81TWEvVjdyMCtscVJMNjg4WlByNEh4dGh3c09OMVlD ZnBOaU1aNnNneFQ4ck9FMHFML2QwN0l0Ym5YeHo2Ci1LZGNOV0lYYW1USktKZ2FnNlRsMGdZWDRL SXVVQ2NpdlhhUmRKdFVjRkZzdmVDb3JrZEhrZEdOb3M0MDNYUjg5Ci01dTlncTdFZjEwWmFoc3Y1 R2pFMkRWNW9GQ0VoWHZmSVd4dnllSmE2NWlCa0phZkVsYjJzdGdVamtJdXQyYTJ1Ci0rWG1wS3B3 cEdTRmtsY2UxQUJMcm1hemxMamhzWWlKVnJ6NWw1a3RvVDltb0U0R2FGN1E1TEQ2SmdzeHpMRTBV Ci1Uem85L0FRUGQ4cUcyUkVBRVFFQUFiUWVWRzlpYVdGeklFaHBaWFJoSUR4MGIySnBZWE5BYUds bGRHRXVjMlUrCi1pUUhVQkJNQkNBQStGaUVFMVhTOVhSME9tSWxlTy9rQVJQSklYa1hWa0VJRkFt THRlbVVDR3dNRkNSTE1Bd0FGCi1Dd2tJQndJR0ZRb0pDQXNDQkJZQ0F3RUNIZ0VDRjRBQUNna1FS UEpJWGtYVmtFS29Od3YrTUVNVnpkbnpKYXJ4Ci1aSjBPekhyR0pKRzgvY2hrdW9lalRqQ0xHNzNs aTl5V1FpZ3k1S212eW5CNXlXMGZrMFBBUTkwdnZwMndyL0hkCi1tVWgwWmRhM0N3RjZzV2xPM042 REVEalZBM2xaVXVvZlR0dk1uL3RkR3Z2T09YWVhBUDlOK1NaZnAvN3E4ZHhYCi16bjVTQTFBTzg3 blhxNWxyd1Z6bFZ6VUNkd09lcURsSisyVTlWRXF2dWtQL0Zka2dhUjJiRWI4V20vaCtlbmNXCi1V SVFFcVBERStxT3lKOWRSYWlMMENVSTR4KzF3WGVYQjNPQTdWeWJGMkx2YVpEYk1sb2NkeSt2czgy NWlVV2ZhCi1uOGczbUUyVHBWOGprYzlVSGdHR29wenhxTnF1dmtrSUI3WkZabS9QU1c0MFczT2VI S2hZc1paYkhyejk0MDN0Ci0zUjRTQXpBM0FwbU1QL1A4dWU5aXJzYmUyNGczcnpZTXZjazF3NEMx YTRVeTlidVQwT0NmQStkQTE2SVJBUGdWCi01U0pFSVM2MmNGYlV4a3c4ZWwzclVLOVYrNmt3b3E0 azhGczhmMVU3REVuT0tTL3Y4QkpKQ05FYzFjdmltWmFpCi1ZNS8zcjVCZW5lRW11WkZLWDRpSUlm Y241UG1MU0RCNGF3K2dLQUlBQXVzK0UyRHhCcUUrdVFHTkJHTHRlbVVCCi1EQURCQ055dlVkdjBP Vi8vNnBRLzBZQzJiWVhML0VsRjByT2pGRmw0SDdPM1RSeGdJejJDNG5RSkhVT3JYU21vCi1pTDds ZGZVam9BTWdlYmNvV0RwZ0U4UzJWancyR2QrVUpCUVhqKzNKNmRQS0xCVUNqajlDTHliNWh3T0hJ VE1WCi1iOVVDL0UraXdwbjR2Z1RiSTZLMU84NDdicmtCQytHdURUNGc5RDNPM3NSYmphMEdqTjBu MnlaaVM4TnRSUW0xCi1NWEFWeTFJZmZlWEtwR0xvb2tBaG9VQXJTTjg4a29NZSs0Tng2UXVuNC9h VWN3ejBQMlFVcjVNQTVqVXpGTHkxCi1SM001cDFuY3RYMTVvTE9VMzNud0NXdXlqdnFreEFlQWZK TWxrS0RLWVgyNXUxUjJSbVE0anUya0FidzBQaWlaCi15WWZ0OGZHbHJ3VDQvUEIzQXFmS2VTcHg4 bDlWczE1ZVB2Y3VKSVRhdW8zZmhCako2WTRXQ0tsVEcxRmJEWVVsCi1LdlBoeUdPOHlMaHRaSmcz K0xiQTVNL0NFSHNEbVVoN1lFUVZ4TTBSVFFNVHhOQlZCRjVJRy80eTh2LysxOURaCi04OVZkcHNR RjNUaG9QVjB5aDU3WU1lbVRCZUl4cEY5U3dwNU43a1VXY3Q0ODcya0JuWE9tYnAvamhVNE1wTGo2 Ci1pTEVBRVFFQUFZa0J2QVFZQVFnQUpoWWhCTlYwdlYwZERwaUpYanY1QUVUeVNGNUYxWkJDQlFK aTdYcGxBaHNNCi1CUWtTekFNQUFBb0pFRVR5U0Y1RjFaQkNkUHdMLzNPeDZNd3JLRnpZSk56M05w UUZwS0ZkRHJrd2hmMjVEL1F3Ci12dTVlOExxbC9xNjJOSWhFS0gzanhYWGdvRllhczJHN3I4Q1ND UmVocmFEcXZYeWdiYWlXVUlreFNVMHh1RFRsCi1sTnFIU2tDUnFJeGhpL3l4Tm0xUGs4NE5WR1RM WFdXMCtDd1Q5Y1J3V241Zm9JUEpob0RkWjczMnpKN3JjWTNSCi1nNzFTSlRlM1I2TW5HQnpJRjFM elQ3Wm53a2g3WWZjbWVUZkluYXJlSVdYcGVOYWVLeThLclFtci8wKzVBSWVyCi1BeDFndTAzbzhH RDVMRkRVdUdiRVNnREpVNm5WdFZ5aHQ3QzZBbEpXcVNYNlFTMytsUEN3NUJPQ0tieGFrWU5SCi0v b0JOYXV6eURJU2RiVXd6SE0yZCtYR0NqQnNYS1JBMFRmdDJObEc2RUM4My9QdVkySjlNU0EyZ2cz aVBIc2lOCi1KNWlpcGJkWk5wWjNYTDBsOC90LzdUNjBuTTdVWkRxdDN0d0xNQTBlUkZSbENuaE1q dkZFNVpnajVERTdCc0poCi13Mm5Db0dXa0FjZmV1aWgramZ5RWpOMjROSytzRS9iTStrcndWdjQz MGV3SndtMWJWVXFLcmJPYjlhYTZWOWdQCi05Um1sd1psT1RGR2NXQllsL2NmUk9ObjlxaTlhNnc9 PQotPUx2dysKLS0tLS0tRU5EIFBHUCBQVUJMSUMgS0VZIEJMT0NLLS0tLS0KLS0tLS0tQkVHSU4g UEdQIFBVQkxJQyBLRVkgQkxPQ0stLS0tLQotCi1tUUlOQkZycWdUMEJFQUM3eG8wV0grZU5yTGxV NUxyQ2s1OUttSW1uMWFiRmNtV05kOGtZcjVYZnFtSkt5VnFvCi1FWTdBL3lSamYrWW4xNjIxRURr cEtQamJxbDdxN01sWk1wcUtWZE9XS1dnbWh2ejA4SU9LSnhhSUFCZC9pSVJUCi1Gd2hJdkI2OFlq dG16Y29PSlJpMXdMbnd1RzU1Zko5RTY5SHlaMzNqZ0FsUmFXVjNiRS9ZeXN6b1RsWnJpVU9FCi1S YnpDNVd6WDAwNGNFOWV2bHJyK1lMdDVZNno3dG50T2RTWFBMeUdPRkFPNUxZTXNIc0VkaTJKQllX cmpsc2xHCi02aUpyNWlFdDl2NDQyUHJKNzlZWWJ1NVFXZS82QVBSV3RJM0F0S0JwN3kyNTBvb24y bGJqK2JJVkQ3VTlmT0JCCi1uL0ZycXg1NFVOMjJzSnljRVQ2M2hnWVc0cElqSWk1enErRkYxNWFV K1pxQmR0Tmx0b1g0aEVON3dsRHB1TmMwCi1lelZ1Mlo4aGR0OHRocGppRlVpb1RRMXQzUm1zTjZO NTQ4Vnd4bUhkb1lwQW1pWnFQSVlCWXZtODVKQjdTLzNoCi1STHVvZUd4dWZCaFhHQ3BuRzhnaFRP R3RiYmRhbnVMQi9VUk9GWFRkeVpiVENCTjVTNmp2d2tQU2FIRzdIMzVaCi0zZmF6TXJpVFh3TDFS R0FiS0lUU1doRGU1ZFh5L3lPSW5XZThlbUp4KzM1dndRWUNCMkw0Uzh3UnlReVJ3Nng0Ci1Zb1hD c2NXMDQxRFVNQlgyQ0M3U2pNQ2NtQUMzOVVYMWMzR2JUcFMzcmtKUjljbVh0NTBudmlNbktwSXds SVBkCi1aWWhteEtpZndUSjcwK2M0R1ZLMm8wTUc5YlRZdnBZaExuWXh2NmlKQ2ZnbVQ0MEUrcWtE U3pTb1p3QVJBUUFCCi10Q0pVYjIwZ1UzUmxiR3hoY21RZ1BIUnpkR1ZzYkdGeVFISmxaR2hoZEM1 amIyMCtpUUkvQkJNQkFnQXBCUUphCi02b0U5QWhzREJRa0I0VE9BQndzSkNBY0RBZ0VHRlFnQ0NR b0xCQllDQXdFQ0hnRUNGNEFBQ2drUW9zZVVxWVpCCi1uWXA4R2cvL1JtWDZOdXAvRHYwNWpUTDdk S1JCU0QwOE1GNDAwdFJ0VG1SaEl1QWdHdjI3cU8yaGJxenByS1Z1Ci12ZDIwdktCQjlDTlpwWEMy b1k4azlWaEd2MlBaTmkvWDdpdVVMSVltemplRk1iSjVDalU2WHZ1VUJtTmFzSVRICi02Sy8wS0xo R2ViUHM1aC9ETnRkN2xiekRtODZkTGNqeGdsNkxYVVVMYVN5WXZUQUtuNllCNm1BdjVKM3FKczJY Ci1sZlRtZW5OaDlwN1RQRlRmY01IY1M3MHl3anFLWGxEaUgwcTliUktKblNYN3hVRmxUSGpLa05u QWNSamxQYUdmCi13VVVoSVBybnBEYm9xZndmY21TY0xySEFOVzlud0ZXU0ZrTkFKdTFIUVVFdUYr QW4vUlpVSER4RmJMUEtLQUlwCi1od1owYU9SVGZCVlo4MEFqZWhETVlDYm1wMURKZVR5TGpDMS85 NHVuNm1seFBJS25QUFBNOHJNeHI4M3hucnZQCi0rWTErcEphRFVMN1p2S25tdDJMckdSYTlHdnNO aVlLcENOQ09SZml3WlRlU3h4WGIrTGdhb2RuYkNIdkdCbms3Ci1ubGJMZE1ZMDh2Tmx4U3g4TE55 RzBrckZ4SncvcnEyNjArNzN5YytxakVOZUc2OGZvelRFeS80alNWckY0dDNtCi04QUFVdTVyNmkv QW9tbzdRMjdUalU5MjhiYkNWdW5wdkRwc2VyZkRxcjN6c0E5NkxPOWs4VDZUSFI2ekM5aStSCi1M aU45VmpsK1JyMll1VTI2RGpGWWtDTkVBMmtOZmxZQ1dQSmk1STBlb2RUUFpySVBCV0orSDBZVFJY MzFiTUg5Ci1YODhGbldKdUN3YXFBTU4zcldsWC9sWE5Db3VXRGRDdVBXc2VaQXBJU0FNblZERTJt TStKQWxZRUV3RUlBRUFDCi1Hd01IQ3drSUJ3TUNBUVlWQ0FJSkNnc0VGZ0lEQVFJZUFRSVhnQllo QkVkT0lqRnF2MGVGcUl4dWpxTEhsS21HCi1RWjJLQlFKZ2t5dGZCUWtKYXhFaUFBb0pFS0xIbEtt R1FaMkt2OFlQL2pOUGpjTUFQMFpUcFVjWVY0Nm1HS3dmCi1hUTBnNUZVTVNmeFA3dUpIdGN0ajJk VWNrUEdwQTlTQUgrQXBpSnV0VmdUUXBXcU5KS1BkMnZWeE9pdTVzeXdOCi1pREtDT01sS3VnNW02 bGdMWDVoM3pCdlNOOTBIcG40STBxSFJBM3JnRU5Mb1BzL1VZQnhvaHZGUEloT09qUHFPCi1ISVV1 U1BoQUl1SVphd3h0cWxBRHN3SGlLUHkzOEFvNUduV1JiNjB6S2ZyQitOK1ppT3RnN0lUcmxUR1lt MnRYCi0wVzlpV1VHMzJnSUEvUlgycW1GUG9MckRGcXNrNjZFaXIwR2hrNWdwcFJybXBFbC9NMWxx QThieGxxV3RvLzh3Ci1WOHlEYlNFdTVmbU0zV04zT1VjU0EyM2xZSmk0ajY1NlE0aFM1UFUrSVd1 WmJCaGNwWXdER2V4VjUrbS95U1piCi13dEhaTUliNEF1K2RnSkhDdlJpU3FIZ3BseWZpYW14WDVD ZkEwREpWSG9HWHBCT3c4YTJnZVJUMCtEcmpTYk9TCi0rQ0REbmxmbVFMZkhnakV1eVFQVThWMFds YjB0SkV2blBQcU5QbUF2MFJ2N01DNHFtRC96RHJnd3VkZHBmcjF4Ci1IK25XdXMycGxSOEU2cC94 OXV2UExiM3BsSjk0cmkxWGpYaUpQeVB2cXpCQXdBNDBaZWcwckU3c1RWd0NDM0U5Ci1SWmE3ZEho MTdleGtjWmRPSVMvdlJRMUcvVk5hT1ZVd3JjQy92SU1nWlNlMzdiQ0xlT0tWaU10YWNBaUJKRGpv Ci1JTkMxUUoyRjNDWVZ3a3RyY2dtdXo5UzhlMldycWRUV3dpampDb25CODBFd2ZIUWxsejVzcC9q VTZCZ3YyOTdYCi1VWGtncGsxeStpYlE5L3N5UlFwRnVRSU5CRnJxZ1QwQkVBREIydkRITXVleGth VW0zclBpNlN2eU1HY3NIV2xlCi1mZUFXbStValJPS0lhVjc3ckh3bzAvOG5jS2J0b1F4NFpaakRY ZEk3N00yYlhCN3RQZ3lFTUw5MGJXRE1NR04vCi1nbnB3V1NzaURSV3BGSVYvK2hENkIrbDlVYUVp NFV2RXN0VWJJY2hPa0dyWmdQWjRRaXNtNEZTVm9zRUsrRkU3Ci1FS0NUNFBTUytMaUJLU3hKWkI4 L2cydVgrM3BKdlZ4WXVydmNWcFRtaU5sWHZVeWxsNEtNcHp5NWUwS0thLzB5Ci13OWg3U0FyZTUz OTljU004RTdQRFFaUURiMUV3YnlWeU8yeURMZ3MrcDN5elB0UkpBeWRhcVJQbVQxSmJTQ1lmCi1o Y2loVHJWaU1BNEVETjVHUmpIMkVFbEkzNysySE1wZ0xzNHJjNkFiejFGNEZVVkZocVdKWENLVWNB SXJHMTd3Ci1BN1lVbFlnMzhTNlh3czJYajFWZlovV1A3L3FJTUpaaWRZVEhaYk45V1dDYWlmQ1Bm TGxFNVZETnNhOHk2TXhtCi11Rk1CQUI0UHBCMWdtbVA5cFBac096VjlTbWVZdDhoMlA4Y1ZLRFcy ZjU2YXpwQlp2Wlg2TkZuOGUwK1pEWFM0Ci04QlF6MzFHMlhkZmEzdU9FVjBKM0p4UFhjRWJmdVB6 REhiN09NWVArMllwam94MVRvelQxZTl6cjQ2U1FsOU9GCi1NZ2xPQm53TFpKOWJhQS9JcVprcUxx NWl1NU9xZGE0NEVJVk5BbnRRM2dlYmkzK3EzWUcxU3ZOVXNlSXkyKzh5Ci1jTld0ZER1V3YzNjZB ZjBva0NkcktBZGFwOCtLYlJFZXI5dVhoYW10dnhjNDlSQ29Xd3VLb0tmQnowUmRWdk12Ci1SL1B5 MnhWOEE3UGFJUUFSQVFBQmlRSWxCQmdCQWdBUEJRSmE2b0U5QWhzTUJRa0I0VE9BQUFvSkVLTEhs S21HCi1RWjJLQWFNUUFMSGlmMkUwUEJMVnQwOXZscjRpOGpBc1F2RHJ6UmFqbVZQZDJCOVJwZk5V NkhKZS95OTNTWmQyCi11ZHI5dnpnbWZkMm81dTEydmJlZ0tOaU1SZ3AxVnlIUURtWWxjZTI3anJI NWFQdUttb3M3OCtvNS9wNXlQV0N2Ci1Sajh6eEdLaDdsZTdVUE8rN1V2ZUt1K2JnYjN6d1RqNmJF dUhYN2ZWSStXakdtRUgzYmJqREdhbVd4WHJwZkdjCi03K0pyOFRONFpPMk93WUJjRk9TOVUyWlE2 VHhyUGFDU0ltNitqOGYrYTlIUE91dURjNjJtTXVWL0VXUVp5MGk3Ci1EaERxVTJQTnBWalFEV1FO cEhBOG9MRHJqTkZBb0pTOGdiSEFCVnNGTTFWbndCTlQyTUtjWlFtbTA1ZGxRK2xsCi1TNm1lSE5D dlRuaUtJS0MrR2l6MVlkNUpWR0RBQ1pXV1B4RXo2VmhwUVcvdHdreFJxd2xVZHBGdDdVZ0RxdVRM Ci1NMWJlUVVDWlJ0ODF5SlROZHJnZ2JoUTJQT3hPZElPMENQaVF2N1UxSXpuZFpwNmJhZWRlQnc0 YTdGQ2JqNkdZCi1jUWVIeFFDcldwUXJ3aWdpc2VHNXVoaFM5YWlhVkZFSGphOWJhU0xmWGxadS92 c1I0TWRERzUvaUVwaWVyL1h3Ci1oMXFucFRTWStyMzFVdzNsVFVsUEh6bGc0N1BNZ1BzbGFJaEN6 ZlZnZ3hoOWJUcXhjRGJ1WUo3TnVvTWhvM3ROCi15V2Zlb2ZUSjdQaEt6b1hNMlkvclJGb001Z05o MVJWQTE5bmdMVDVKd2lvZjhmUFp2SEovOVprSG4rTzdlTU5tCi1tNSsrZ1l6YTNwbm4yL1BvR3BH R0FLb2src2ZKaXE1VGI3UlVlZnlKVGVaaXlUWi9YSnJBCi09dE16bAotLS0tLS1FTkQgUEdQIFBV QkxJQyBLRVkgQkxPQ0stLS0tLQoKZGlmZiAtLWdpdCBhL3NvdXJjZXMgYi9zb3VyY2VzCmRlbGV0 ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBhNjNlMDQyLi4wMDAwMDAwCi0tLSBhL3NvdXJjZXMK KysrIC9kZXYvbnVsbApAQCAtMSw0ICswLDAgQEAKLVNIQTUxMiAoY2xhbmctMTcuMC42LnNyYy50 YXIueHopID0gZGE2ZjY3MGE1MmQ2MGM0NmJiZTZiZmEyODcwMTA2ZjZhNjcxNGM5NTY2ZmFiMjkz YjhjNjI0YTU1NTMwODEwNGExYTA1Y2QwNjU2NDMwOTFkNzAwNmVmNDUzM2E5YTcyMmRmZjFmY2Nh ZjI2ZjM0OGEwYzBhNWM3YjkzMzE0MzkKLVNIQTUxMiAoY2xhbmctMTcuMC42LnNyYy50YXIueHou c2lnKSA9IDA5MWRjYTQyNmQyNzVmNWE3MTgzNmYyMjMwZTBmMTJmMjEyNTI3MjU5Y2M0YTk0MTYz ODEwNGI4ZmNmNDJiNGExMjJmOWMxNDBkMDdmOGM2NjNkMzgyNDJkMTBjYTUzOTBkZTFmODlkOWQ3 YmMwMTcxYjY2Yzc3YTlhZWJiYjNmCi1TSEE1MTIgKGNsYW5nLXRvb2xzLWV4dHJhLTE3LjAuNi5z cmMudGFyLnh6KSA9IDUxMTBkZDM2ZWUxYzk2NmQyMjc2MDAwMGYwYzI4Y2YwNzBmZDAwYjA1NDQ1 ZDQxOGQyNjRkYmQzYjQ4NDI2YTIwM2Y5MzRlNDAyZDQwOGZhYjI2MDJkYmYzOWEyOWQ2Njg5OGNj N2M2OWMxYTUyYjVlMGU2ZTcwOTdmOWRiODc3Ci1TSEE1MTIgKGNsYW5nLXRvb2xzLWV4dHJhLTE3 LjAuNi5zcmMudGFyLnh6LnNpZykgPSAxN2VkMzA3MmE0MDJmZmE5ZjcyM2U1YWU1MjU3YTY4ZWE2 ZjljODc0YmVjNTBkOTFjODgxNTlkMzhkOGMxMjFkMjM5NzRmZjM5ODNmNmYwZDMzMDhiNWVjMDcw ODZiYTVjMmQ0Y2FiZmU2Y2JlZmViNjYxM2ZjMzBiNTc3Zjk2NgoKZGlmZiAtLWdpdCBhL3RzYS5w YXRjaCBiL3RzYS5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMmNmNjk4ZS4u MDAwMDAwMAotLS0gYS90c2EucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSwxMjQgKzAsMCBAQAot Y29tbWl0IGNmOGUxODlhOTlmOTg4Mzk4YTQ4MTQ4YjllYTc5MDE5NDg2NjVhYjAKLUF1dGhvcjog VGltbSBCw6RkZXIgPHRiYWVkZXJAcmVkaGF0LmNvbT4KLURhdGU6ICAgV2VkIFNlcCA2IDEyOjE5 OjIwIDIwMjMgKzAyMDAKLQotICAgIFtjbGFuZ11bVFNBXSBUaHJlYWQgc2FmZXR5IGNsZWFudXAg ZnVuY3Rpb25zCi0gICAgCi0gICAgQ29uc2lkZXIgY2xlYW51cCBmdW5jdGlvbnMgaW4gdGhyZWFk IHNhZmV0eSBhbmFseXNpcy4KLSAgICAKLSAgICBEaWZmZXJlbnRpYWwgUmV2aXNpb246IGh0dHBz Oi8vcmV2aWV3cy5sbHZtLm9yZy9EMTUyNTA0Ci0KLWRpZmYgLS1naXQgYS9jbGFuZy9pbmNsdWRl L2NsYW5nL0FuYWx5c2lzL0FuYWx5c2VzL1RocmVhZFNhZmV0eUNvbW1vbi5oIGIvY2xhbmcvaW5j bHVkZS9jbGFuZy9BbmFseXNpcy9BbmFseXNlcy9UaHJlYWRTYWZldHlDb21tb24uaAotaW5kZXgg OWQyODMyNWMxZWE2Li4xM2UzN2FjMmI1NmIgMTAwNjQ0Ci0tLS0gYS9jbGFuZy9pbmNsdWRlL2Ns YW5nL0FuYWx5c2lzL0FuYWx5c2VzL1RocmVhZFNhZmV0eUNvbW1vbi5oCi0rKysgYi9jbGFuZy9p bmNsdWRlL2NsYW5nL0FuYWx5c2lzL0FuYWx5c2VzL1RocmVhZFNhZmV0eUNvbW1vbi5oCi1AQCAt MzYxLDcgKzM2MSw3IEBAIHB1YmxpYzoKLSAgICAgdW5zaWduZWQgTnVtQXJncyA9IDA7Ci0gCi0g ICAgIC8vIEZ1bmN0aW9uIGFyZ3VtZW50cwotLSAgICBjb25zdCBFeHByICpjb25zdCAqRnVuQXJn cyA9IG51bGxwdHI7Ci0rICAgIGxsdm06OlBvaW50ZXJVbmlvbjxjb25zdCBFeHByICpjb25zdCAq LCB0aWw6OlNFeHByICo+IEZ1bkFyZ3MgPSBudWxscHRyOwotIAotICAgICAvLyBpcyBTZWxmIHJl ZmVycmVkIHRvIHdpdGggLT4gb3IgLj8KLSAgICAgYm9vbCBTZWxmQXJyb3cgPSBmYWxzZTsKLWRp ZmYgLS1naXQgYS9jbGFuZy9saWIvQW5hbHlzaXMvVGhyZWFkU2FmZXR5LmNwcCBiL2NsYW5nL2xp Yi9BbmFseXNpcy9UaHJlYWRTYWZldHkuY3BwCi1pbmRleCAzMTA3ZDAzNTI1NGQuLjNlNmNlYjdk NTRjNCAxMDA2NDQKLS0tLSBhL2NsYW5nL2xpYi9BbmFseXNpcy9UaHJlYWRTYWZldHkuY3BwCi0r KysgYi9jbGFuZy9saWIvQW5hbHlzaXMvVGhyZWFkU2FmZXR5LmNwcAotQEAgLTE3NzMsNyArMTc3 Myw4IEBAIHZvaWQgQnVpbGRMb2Nrc2V0OjpjaGVja1B0QWNjZXNzKGNvbnN0IEV4cHIgKkV4cCwg QWNjZXNzS2luZCBBSywKLSAvLy8KLSAvLy8gXHBhcmFtIEV4cCAgIFRoZSBjYWxsIGV4cHJlc3Np b24uCi0gLy8vIFxwYXJhbSBEICAgICBUaGUgY2FsbGVlIGRlY2xhcmF0aW9uLgotLS8vLyBccGFy YW0gU2VsZiAgSWYgXHAgRXhwID0gbnVsbHB0ciwgdGhlIGltcGxpY2l0IHRoaXMgYXJndW1lbnQu Ci0rLy8vIFxwYXJhbSBTZWxmICBJZiBccCBFeHAgPSBudWxscHRyLCB0aGUgaW1wbGljaXQgdGhp cyBhcmd1bWVudCBvciB0aGUgYXJndW1lbnQKLSsvLy8gICAgICAgICAgICAgIG9mIGFuIGltcGxp Y2l0bHkgY2FsbGVkIGNsZWFudXAgZnVuY3Rpb24uCi0gLy8vIFxwYXJhbSBMb2MgICBJZiBccCBF eHAgPSBudWxscHRyLCB0aGUgbG9jYXRpb24uCi0gdm9pZCBCdWlsZExvY2tzZXQ6OmhhbmRsZUNh bGwoY29uc3QgRXhwciAqRXhwLCBjb25zdCBOYW1lZERlY2wgKkQsCi0gICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgdGlsOjpMaXRlcmFsUHRyICpTZWxmLCBTb3VyY2VMb2NhdGlvbiBMb2Mp IHsKLUBAIC0yNDE3LDYgKzI0MTgsMTUgQEAgdm9pZCBUaHJlYWRTYWZldHlBbmFseXplcjo6cnVu QW5hbHlzaXMoQW5hbHlzaXNEZWNsQ29udGV4dCAmQUMpIHsKLSAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBBRC5nZXRUcmlnZ2VyU3RtdCgpLT5nZXRFbmRMb2MoKSk7Ci0gICAg ICAgICAgIGJyZWFrOwotICAgICAgICAgfQotKwotKyAgICAgICAgY2FzZSBDRkdFbGVtZW50OjpD bGVhbnVwRnVuY3Rpb246IHsKLSsgICAgICAgICAgY29uc3QgQ0ZHQ2xlYW51cEZ1bmN0aW9uICZD RiA9IEJJLmNhc3RBczxDRkdDbGVhbnVwRnVuY3Rpb24+KCk7Ci0rICAgICAgICAgIExvY2tzZXRC dWlsZGVyLmhhbmRsZUNhbGwoLypFeHA9Ki9udWxscHRyLCBDRi5nZXRGdW5jdGlvbkRlY2woKSwK LSsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBTeEJ1aWxkZXIuY3JlYXRlVmFy aWFibGUoQ0YuZ2V0VmFyRGVjbCgpKSwKLSsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICBDRi5nZXRWYXJEZWNsKCktPmdldExvY2F0aW9uKCkpOwotKyAgICAgICAgICBicmVhazsK LSsgICAgICAgIH0KLSsKLSAgICAgICAgIGNhc2UgQ0ZHRWxlbWVudDo6VGVtcG9yYXJ5RHRvcjog ewotICAgICAgICAgICBhdXRvIFREID0gQkkuY2FzdEFzPENGR1RlbXBvcmFyeUR0b3I+KCk7Ci0g Ci1kaWZmIC0tZ2l0IGEvY2xhbmcvbGliL0FuYWx5c2lzL1RocmVhZFNhZmV0eUNvbW1vbi5jcHAg Yi9jbGFuZy9saWIvQW5hbHlzaXMvVGhyZWFkU2FmZXR5Q29tbW9uLmNwcAotaW5kZXggYjgyODZj ZWYzOTZjLi42M2NjNjY4NTJhOWUgMTAwNjQ0Ci0tLS0gYS9jbGFuZy9saWIvQW5hbHlzaXMvVGhy ZWFkU2FmZXR5Q29tbW9uLmNwcAotKysrIGIvY2xhbmcvbGliL0FuYWx5c2lzL1RocmVhZFNhZmV0 eUNvbW1vbi5jcHAKLUBAIC0xMTAsNyArMTEwLDggQEAgc3RhdGljIFN0cmluZ1JlZiBDbGFzc2lm eURpYWdub3N0aWMoUXVhbFR5cGUgVkRUKSB7Ci0gLy8vIFxwYXJhbSBEICAgICAgIFRoZSBkZWNs YXJhdGlvbiB0byB3aGljaCB0aGUgYXR0cmlidXRlIGlzIGF0dGFjaGVkLgotIC8vLyBccGFyYW0g RGVjbEV4cCBBbiBleHByZXNzaW9uIGludm9sdmluZyB0aGUgRGVjbCB0byB3aGljaCB0aGUgYXR0 cmlidXRlCi0gLy8vICAgICAgICAgICAgICAgIGlzIGF0dGFjaGVkLiAgRS5nLiB0aGUgY2FsbCB0 byBhIGZ1bmN0aW9uLgotLS8vLyBccGFyYW0gU2VsZiAgICBTLWV4cHJlc3Npb24gdG8gc3Vic3Rp dHV0ZSBmb3IgYSBccmVmIENYWFRoaXNFeHByLgotKy8vLyBccGFyYW0gU2VsZiAgICBTLWV4cHJl c3Npb24gdG8gc3Vic3RpdHV0ZSBmb3IgYSBccmVmIENYWFRoaXNFeHByIGluIGEgY2FsbCwKLSsv Ly8gICAgICAgICAgICAgICAgb3IgYXJndW1lbnQgdG8gYSBjbGVhbnVwIGZ1bmN0aW9uLgotIENh cGFiaWxpdHlFeHByIFNFeHByQnVpbGRlcjo6dHJhbnNsYXRlQXR0ckV4cHIoY29uc3QgRXhwciAq QXR0ckV4cCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IGNvbnN0IE5hbWVkRGVjbCAqRCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIGNvbnN0IEV4cHIgKkRlY2xFeHAsCi1AQCAtMTQ0LDcgKzE0NSwxMSBAQCBD YXBhYmlsaXR5RXhwciBTRXhwckJ1aWxkZXI6OnRyYW5zbGF0ZUF0dHJFeHByKGNvbnN0IEV4cHIg KkF0dHJFeHAsCi0gCi0gICBpZiAoU2VsZikgewotICAgICBhc3NlcnQoIUN0eC5TZWxmQXJnICYm ICJBbWJpZ3VvdXMgc2VsZiBhcmd1bWVudCIpOwotLSAgICBDdHguU2VsZkFyZyA9IFNlbGY7Ci0r ICAgIGFzc2VydChpc2E8RnVuY3Rpb25EZWNsPihEKSAmJiAiU2VsZiBhcmd1bWVudCByZXF1aXJl cyBmdW5jdGlvbiIpOwotKyAgICBpZiAoaXNhPENYWE1ldGhvZERlY2w+KEQpKQotKyAgICAgIEN0 eC5TZWxmQXJnID0gU2VsZjsKLSsgICAgZWxzZQotKyAgICAgIEN0eC5GdW5BcmdzID0gU2VsZjsK LSAKLSAgICAgLy8gSWYgdGhlIGF0dHJpYnV0ZSBoYXMgbm8gYXJndW1lbnRzLCB0aGVuIGFzc3Vt ZSB0aGUgYXJndW1lbnQgaXMgInRoaXMiLgotICAgICBpZiAoIUF0dHJFeHApCi1AQCAtMzEyLDgg KzMxNywxNCBAQCB0aWw6OlNFeHByICpTRXhwckJ1aWxkZXI6OnRyYW5zbGF0ZURlY2xSZWZFeHBy KGNvbnN0IERlY2xSZWZFeHByICpEUkUsCi0gICAgICAgICAgICAgICA/IChjYXN0PEZ1bmN0aW9u RGVjbD4oRCktPmdldENhbm9uaWNhbERlY2woKSA9PSBDYW5vbmljYWwpCi0gICAgICAgICAgICAg ICA6IChjYXN0PE9iakNNZXRob2REZWNsPihEKS0+Z2V0Q2Fub25pY2FsRGVjbCgpID09IENhbm9u aWNhbCkpIHsKLSAgICAgICAgIC8vIFN1YnN0aXR1dGUgY2FsbCBhcmd1bWVudHMgZm9yIHJlZmVy ZW5jZXMgdG8gZnVuY3Rpb24gcGFyYW1ldGVycwotLSAgICAgICAgYXNzZXJ0KEkgPCBDdHgtPk51 bUFyZ3MpOwotLSAgICAgICAgcmV0dXJuIHRyYW5zbGF0ZShDdHgtPkZ1bkFyZ3NbSV0sIEN0eC0+ UHJldik7Ci0rICAgICAgICBpZiAoY29uc3QgRXhwciAqY29uc3QgKkZ1bkFyZ3MgPQotKyAgICAg ICAgICAgICAgICBDdHgtPkZ1bkFyZ3MuZHluX2Nhc3Q8Y29uc3QgRXhwciAqY29uc3QgKj4oKSkg ewotKyAgICAgICAgICBhc3NlcnQoSSA8IEN0eC0+TnVtQXJncyk7Ci0rICAgICAgICAgIHJldHVy biB0cmFuc2xhdGUoRnVuQXJnc1tJXSwgQ3R4LT5QcmV2KTsKLSsgICAgICAgIH0KLSsKLSsgICAg ICAgIGFzc2VydChJID09IDApOwotKyAgICAgICAgcmV0dXJuIEN0eC0+RnVuQXJncy5nZXQ8dGls OjpTRXhwciAqPigpOwotICAgICAgIH0KLSAgICAgfQotICAgICAvLyBNYXAgdGhlIHBhcmFtIGJh Y2sgdG8gdGhlIHBhcmFtIG9mIHRoZSBvcmlnaW5hbCBmdW5jdGlvbiBkZWNsYXJhdGlvbgotZGlm ZiAtLWdpdCBhL2NsYW5nL3Rlc3QvU2VtYS93YXJuLXRocmVhZC1zYWZldHktYW5hbHlzaXMuYyBi L2NsYW5nL3Rlc3QvU2VtYS93YXJuLXRocmVhZC1zYWZldHktYW5hbHlzaXMuYwotaW5kZXggMzU1 NjE2YjczZDk2Li42NDJlYTg4ZWMzYzkgMTAwNjQ0Ci0tLS0gYS9jbGFuZy90ZXN0L1NlbWEvd2Fy bi10aHJlYWQtc2FmZXR5LWFuYWx5c2lzLmMKLSsrKyBiL2NsYW5nL3Rlc3QvU2VtYS93YXJuLXRo cmVhZC1zYWZldHktYW5hbHlzaXMuYwotQEAgLTcyLDYgKzcyLDggQEAgaW50IGdldF92YWx1ZShp bnQgKnApIFNIQVJFRF9MT0NLU19SRVFVSVJFRChmb29fLm11Xyl7Ci0gICByZXR1cm4gKnA7Ci0g fQotIAotK3ZvaWQgdW5sb2NrX3Njb3BlKHN0cnVjdCBNdXRleCAqY29uc3QgKm11KSBfX2F0dHJp YnV0ZV9fKChyZWxlYXNlX2NhcGFiaWxpdHkoKiptdSkpKTsKLSsKLSBpbnQgbWFpbih2b2lkKSB7 Ci0gCi0gICBGb29fZnVuMSgxKTsgLy8gZXhwZWN0ZWQtd2FybmluZ3t7Y2FsbGluZyBmdW5jdGlv biAnRm9vX2Z1bjEnIHJlcXVpcmVzIGhvbGRpbmcgbXV0ZXggJ211Mid9fSBcCi1AQCAtMTI3LDYg KzEyOSwxMyBAQCBpbnQgbWFpbih2b2lkKSB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAvLyBleHBlY3RlZC1ub3RlQC0xe3ttdXRleCByZWxlYXNlZCBoZXJlfX0KLSAgIG11dGV4 X3NoYXJlZF91bmxvY2soJm11MSk7ICAgIC8vIGV4cGVjdGVkLXdhcm5pbmcge3tyZWxlYXNpbmcg bXV0ZXggJ211MScgdGhhdCB3YXMgbm90IGhlbGR9fQotIAotKyAgLy8vIENsZWFudXAgZnVuY3Rp b25zCi0rICB7Ci0rICAgIHN0cnVjdCBNdXRleCogY29uc3QgX19hdHRyaWJ1dGVfXygoY2xlYW51 cCh1bmxvY2tfc2NvcGUpKSkgc2NvcGUgPSAmbXUxOwotKyAgICBtdXRleF9leGNsdXNpdmVfbG9j ayhzY29wZSk7ICAvLyBOb3RlIHRoYXQgd2UgaGF2ZSB0byBsb2NrIHRocm91Z2ggc2NvcGUsIGJl Y2F1c2Ugbm8gYWxpYXMgYW5hbHlzaXMhCi0rICAgIC8vIENsZWFudXAgaGFwcGVucyBhdXRvbWF0 aWNhbGx5IC0+IG5vIHdhcm5pbmcuCi0rICB9Ci0rCi0gICByZXR1cm4gMDsKLSB9Ci0gCg==