From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on inbox.vuxu.org X-Spam-Level: X-Spam-Status: No, score=-1.0 required=5.0 tests=ALL_TRUSTED, T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.4 Received: (qmail 25625 invoked from network); 15 Aug 2022 12:42:51 -0000 Received: from localhost (HELO inbox.vuxu.org) (::1) by localhost with ESMTPUTF8; 15 Aug 2022 12:42:51 -0000 Content-Type: multipart/mixed; boundary="===============6229780361873894068==" MIME-Version: 1.0 Subject: =?utf8?q?Re=3A_=5BPR_PATCH=5D_=5BUpdated=5D_cegui=3A_drop_unused_dependencies_in_makedepends=3B_SMC/cegui07=3A_remove?= To: ml@inbox.vuxu.org From: TinfoilSubmarine Reply-to: ml@inbox.vuxu.org In-Reply-To: References: Date: Mon, 15 Aug 2022 14:42:51 +0200 List-Id: Message-ID: <20220815124251.DSqW2__us6uOGlT4OZN7voyPjqec180v3WmLvt4wOeA@z> GitHub notification mails are now in MIME to allow UTF8. --===============6229780361873894068== Content-Type: text/plain; charset="utf8" MIME-Version: 1.0 Content-Transfer-Encoding: base64 VGhlcmUgaXMgYW4gdXBkYXRlZCBwdWxsIHJlcXVlc3QgYnkgVGluZm9pbFN1Ym1hcmluZSBhZ2Fp bnN0IG1hc3RlciBvbiB0aGUgdm9pZC1wYWNrYWdlcyByZXBvc2l0b3J5CgpodHRwczovL2dpdGh1 Yi5jb20vVGluZm9pbFN1Ym1hcmluZS92b2lkLXBhY2thZ2VzIHVwZGF0ZS9jZWd1aQpodHRwczov L2dpdGh1Yi5jb20vdm9pZC1saW51eC92b2lkLXBhY2thZ2VzL3B1bGwvMzg2MTQKCmNlZ3VpOiBk cm9wIHVudXNlZCBkZXBlbmRlbmNpZXMgaW4gbWFrZWRlcGVuZHM7IFNNQy9jZWd1aTA3OiByZW1v dmUKPCEtLSBVbmNvbW1lbnQgcmVsZXZhbnQgc2VjdGlvbnMgYW5kIGRlbGV0ZSBvcHRpb25zIHdo aWNoIGFyZSBub3QgYXBwbGljYWJsZSAtLT4NCg0KIyMjIyBUZXN0aW5nIHRoZSBjaGFuZ2VzDQot IEkgdGVzdGVkIHRoZSBjaGFuZ2VzIGluIHRoaXMgUFI6ICoqWUVTKiogKHJhbiBgVFNDYCB3aXRo IHVwZGF0ZWQgYGdlY3VpYCkNCg0KPCEtLQ0KIyMjIyBOZXcgcGFja2FnZQ0KLSBUaGlzIG5ldyBw YWNrYWdlIGNvbmZvcm1zIHRvIHRoZSBbcXVhbGl0eSByZXF1aXJlbWVudHNdKGh0dHBzOi8vZ2l0 aHViLmNvbS92b2lkLWxpbnV4L3ZvaWQtcGFja2FnZXMvYmxvYi9tYXN0ZXIvTWFudWFsLm1kI3F1 YWxpdHktcmVxdWlyZW1lbnRzKTogKipZRVMqKnwqKk5PKioNCi0tPg0KDQo8IS0tIE5vdGU6IElm IHRoZSBidWlsZCBpcyBsaWtlbHkgdG8gdGFrZSBtb3JlIHRoYW4gMiBob3VycywgcGxlYXNlIGFk ZCBjaSBza2lwIHRhZyBhcyBkZXNjcmliZWQgaW4NCmh0dHBzOi8vZ2l0aHViLmNvbS92b2lkLWxp bnV4L3ZvaWQtcGFja2FnZXMvYmxvYi9tYXN0ZXIvQ09OVFJJQlVUSU5HLm1kI2NvbnRpbnVvdXMt aW50ZWdyYXRpb24NCmFuZCB0ZXN0IGF0IGxlYXN0IG9uZSBuYXRpdmUgYnVpbGQgYW5kLCBpZiBz dXBwb3J0ZWQsIGF0IGxlYXN0IG9uZSBjcm9zcyBidWlsZC4NCklnbm9yZSB0aGlzIHNlY3Rpb24g aWYgdGhpcyBQUiBpcyBub3Qgc2tpcHBpbmcgQ0kuDQotLT4NCjwhLS0NCiMjIyMgTG9jYWwgYnVp bGQgdGVzdGluZw0KLSBJIGJ1aWx0IHRoaXMgUFIgbG9jYWxseSBmb3IgbXkgbmF0aXZlIGFyY2hp dGVjdHVyZSwgKEFSQ0gtTElCQykNCi0gSSBidWlsdCB0aGlzIFBSIGxvY2FsbHkgZm9yIHRoZXNl IGFyY2hpdGVjdHVyZXMgKGlmIHN1cHBvcnRlZC4gbWFyayBjcm9zc2J1aWxkcyk6DQogIC0gYWFy Y2g2NC1tdXNsDQogIC0gYXJtdjdsDQogIC0gYXJtdjZsLW11c2wNCi0tPg0KDQpBbm90aGVyIG9u ZSBub3QgYWN0dWFsbHkgdXNpbmcgYHB5dGhvbi1kZXZlbGAuIENvbmZpZ3VyZSBvdXRwdXQgc2hv d3MgdGhhdCBpdCB3YXNuJ3QgZXZlbiBidWlsZGluZyB0aGUgcHl0aG9uIGV4dGVuc2lvbiBtb2R1 bGVzIGR1ZSB0byBzb21lIGlzc3VlIHdpdGggQm9vc3QtcHl0aG9uLiBUaGUgb25seSBwYWNrYWdl IGRlcGVuZGluZyBvbiB0aGlzIGlzIGBUU0NgIGFuZCBpdCBkb2Vzbid0IHNlZW0gdG8gcmVxdWly ZSB0aGUgcHl0aG9uIGV4dGVuc2lvbnMuCgpBIHBhdGNoIGZpbGUgZnJvbSBodHRwczovL2dpdGh1 Yi5jb20vdm9pZC1saW51eC92b2lkLXBhY2thZ2VzL3B1bGwvMzg2MTQucGF0Y2ggaXMgYXR0YWNo ZWQ= --===============6229780361873894068== Content-Type: text/x-diff MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="github-pr-update/cegui-38614.patch" RnJvbSA3YWM3MmQxNDczNDAwODI1NmVhOGM2NDkyNjI3YzgxNDlmNzkzNGU2IE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBKb2VsIEJlY2ttZXllciA8am9lbEBiZWNrbWV5ZXIudXM+CkRh dGU6IE1vbiwgMTUgQXVnIDIwMjIgMDg6MjY6MTYgLTA0MDAKU3ViamVjdDogW1BBVENIIDEvM10g U01DOiByZW1vdmUgcGFja2FnZQoKZG9lc24ndCB3b3JrIHdpdGggbGF0ZXN0IHVwc3RyZWFtIHZl cnNpb24gb2YgZGVwZW5kZW5jaWVzLCBmb3JrIGBUU0NgIGlzCmluIHZvaWQtcGFja2FnZXMgYWxy ZWFkeSBhbmQgaGFzIG1vcmUgcmVjZW50IHVwZGF0ZXMKLS0tCiBzcmNwa2dzL1NNQy9maWxlcy9z bWMuZGVza3RvcCAgICAgICAgICAgICAgICAgfCAgIDkgLQogc3JjcGtncy9TTUMvZmlsZXMvc21j LnBuZyAgICAgICAgICAgICAgICAgICAgIHwgQmluIDI5NjEgLT4gMCBieXRlcwogLi4uL1NNQy9w YXRjaGVzL2ZpeC1ib29zdF9maWxlc3lzdGVtLnBhdGNoICAgIHwgMTEyIC0tLS0tCiBzcmNwa2dz L1NNQy9wYXRjaGVzL2ZpeC1jZWd1aTA3LnBhdGNoICAgICAgICAgfCA0MzcgLS0tLS0tLS0tLS0t LS0tLS0tCiBzcmNwa2dzL1NNQy90ZW1wbGF0ZSAgICAgICAgICAgICAgICAgICAgICAgICAgfCAg MzcgLS0KIHNyY3BrZ3MvcmVtb3ZlZC1wYWNrYWdlcy90ZW1wbGF0ZSAgICAgICAgICAgICB8ICAg MSArCiA2IGZpbGVzIGNoYW5nZWQsIDEgaW5zZXJ0aW9uKCspLCA1OTUgZGVsZXRpb25zKC0pCiBk ZWxldGUgbW9kZSAxMDA2NDQgc3JjcGtncy9TTUMvZmlsZXMvc21jLmRlc2t0b3AKIGRlbGV0ZSBt b2RlIDEwMDY0NCBzcmNwa2dzL1NNQy9maWxlcy9zbWMucG5nCiBkZWxldGUgbW9kZSAxMDA2NDQg c3JjcGtncy9TTUMvcGF0Y2hlcy9maXgtYm9vc3RfZmlsZXN5c3RlbS5wYXRjaAogZGVsZXRlIG1v ZGUgMTAwNjQ0IHNyY3BrZ3MvU01DL3BhdGNoZXMvZml4LWNlZ3VpMDcucGF0Y2gKIGRlbGV0ZSBt b2RlIDEwMDY0NCBzcmNwa2dzL1NNQy90ZW1wbGF0ZQoKZGlmZiAtLWdpdCBhL3NyY3BrZ3MvU01D L2ZpbGVzL3NtYy5kZXNrdG9wIGIvc3JjcGtncy9TTUMvZmlsZXMvc21jLmRlc2t0b3AKZGVsZXRl ZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDliN2Q4NGEwYzJjMC4uMDAwMDAwMDAwMDAwCi0tLSBh L3NyY3BrZ3MvU01DL2ZpbGVzL3NtYy5kZXNrdG9wCisrKyAvZGV2L251bGwKQEAgLTEsOSArMCww IEBACi1bRGVza3RvcCBFbnRyeV0KLVR5cGU9QXBwbGljYXRpb24KLU5hbWU9U2VjcmV0IE1hcnlv IENocm9uaWNsZXMKLUV4ZWM9c21jCi1JY29uPXNtYwotVGVybWluYWw9ZmFsc2UKLUNhdGVnb3Jp ZXM9R2FtZTtBcmNhZGVHYW1lOwotU3RhcnR1cE5vdGlmeT1mYWxzZQotCmRpZmYgLS1naXQgYS9z cmNwa2dzL1NNQy9maWxlcy9zbWMucG5nIGIvc3JjcGtncy9TTUMvZmlsZXMvc21jLnBuZwpkZWxl dGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZjAyYWYxYmZjMGZiYWJjYTQwZDMzMWRjMDVjYzhj NGQ5ZjQ4MjFhOS4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMApHSVQg YmluYXJ5IHBhdGNoCmxpdGVyYWwgMApIY21WP2QwMDAwMQoKbGl0ZXJhbCAyOTYxCnpjbVhCV2N8 MjY+OXwhTz1PT2t5b1FMOzMpNUZ4VE5TSTUzMnh3Mio3e1Y8a0gyQUx0KmJeWXUjbCg7QnNpViNM dQp6cV9PMTJqRDV8TEtAJjJTP0trODFlIVpVYUorSmRSZjFMOT8tKll9c2luV3o3Qyk7XjgwMDF+ bU8rWHQpNj14MH0KejdSRkl4e3FHaD1WZXYzRzI5SG1pdjhQV251QUQpZUlEfDgqJDttTTQ1N1l3 eWM0YnJXNF9tKzRXZHtmQW9XOFMxCnpTaTZGQWskPjxRbmVyZj5xUHJWcEpSbjc4cWMqQmZsdD11 YFlKMj5vRHM9NDJZaXlyOCViOFItZHBPNCVyNkFxWAp6N2c0SGlwQm5zPjtNUzs2XzgwRE9rK1ht Sj0rWU91eClSYy1Ab3E3I3RMe1UpNSVqTSt2OVdGWTUhfCNtI2ZAYy0Kej4jN0ZvJDc9ZW40R1hK flRvUW8qQUA8Mj0ybSNZR3Vgdk1aRExNP2d2N3gwXlJEPiVLaXImeFVkUXcrY3gzdzQ0CnpiZ2pA ckl7V0p+LSZHNEQyemFJPUkqeHR8aGshPUI2JTNtKj1Cb2J4bDUxQ281WHpCWE9rQmtmby0kVEs5 QUxWKQp6dVckeUtFeGtHVVY9NHAkIUk+R0tuT1ROVXNHTzNMbEtWOUFvNmdmVTQkOGA0eTBTRlN0 ezZzWChVcTZoJl9KVSMKekQzdldUIzZ5d1V7YSkrcURsbXVGYXRnSWlhTEo5YWApJXpoTGZTRHVg fXZUKURrezVKV2J9U2M0azx0N20xRkpSCnohZ1heYiVYJXVxZXxnSXNudFg7Y0dlazVJQGU5eT1s WDlEQ3stNWhGTTZ7Y09WNXc8b3NZMyk5UWJJIUZgdD8/Zwp6SEwtJWBYNTB2PzV9RCR3MU9XQX45 VE9tSD4pU0x8SHN9eVJVWkorOyltQz9vPzUpNGlue2h8S01yRyRlSl5kJCUKeno2cy1KKTdJOCok TWZ5SlYtPGhkZjxkRnZmYkhgcC09LSNmY3shKUItWSs7MFRjV3tKVDlqXmJHQUB3Zj0odmtECnpw VTJzZTVUMkBSaU53RHhiOTEyKCtSeUp4ZVkoMTItTmg3XyM+RThnSmpHTHJFfClKNGtZRzl0KD0k bXs0K05tZQp6e3xSRWtVLWNiJnRRaVZUUERAS0cqOEpSLSY9TkEmRzQlPF4kJExJRkUmVCFGbi0x ZXppQDFRbWM4c3UmbEgxeWgKempHJD59TUtvPCh4Y3BRX0w8b2ZJMVk+YXg0VUt5cmBCND0lKW1B MCY5KkBIUlR0WDxiTFJQcTxfY2tXN2lgWVFwCno7UjF3IV9ZOSllPyMwK3crI2BLR15wbSNwTzZS M2B4dyYhNWdpUDJGI0spcD9ESDc4JD5qZjNNRHI2eCZlLUwkPgp6R1NQJnV6Vi1RWWFTYHJ0S1Jt cU44OFJDMXh+K0ViZzJVVTB5OV5rWiUjRVlwKVVnLUQ9WUw4YFheQXxjZ2lNNn0KelFVUyYla0ZG cURHPnd2MWhELUoxaEF6eUhSXk9gMzZsLXl3Zi1SM2NHayZDYy1majZ+dDx4MTN4VUYycUwrdzI7 CnptMT0lS0RFZEglTSRhYnw3dnVaMGJJbnJWSmdodyljJVo4Sz55ezVrUlpVS1JPZjAxQT1DaWtO SEhneEQ7ezFCfAp6Jn4hem1mRT5GaUdFNElOJExje3I+OVlKZEpMLWFSRDNWeFVCQUs7b1R4UFI1 ZUZtNnxKRCV7cDtqVjl9MGBNWmwKemN7RFZEb2ZScVJgYD1HQlYxR25edm4remNTeTxycnE5RGpE Nkc+aE9DI1IpbGZFeFBmVjNgeVlNOHZ9YzcxdHRBCnooZGB5MS0tWj1MOC0tWHx7fmBxajt6UFJi d0VqekNYWFdQUjskbSUoJXFnOXFRYkswbU1ocEkyZGxueW1uajgxOAp6NFRmR0lnajI/JmwrcVE3 VGwmVzU7Xnh7O3ZCSGI1Ql89fFFKYTBVVEBePWBKJjliaHRtWHJpTThWJGEwd0YzeEcKejVaNW9z ZC1wQmBtJStLM09kITBGQ2wpeEBTcCVSLXE1WigxI184I2FVdTE8UjRkfWtpcyFQTlhoSG0jWTtQ KGshCnolZERDQ3s/M2owTU1EaHpqUnk1X1c3RWtnRmFURkJpSnxZKUAhbGlAZ1dlMlNiSTRxJHVB MERqSkxjUEwhcyRWewp6Sno5PUdfNUpLREZwQDIhc3wkRXlicC17fUhNTDwteSFGfmo/PHNefXo7 Sy1Acyo8X31icEc9QnZFSnlKI1FqKU0Kel97OTh0Y2d2aWU5Myg1KjM3WExWOzAqbStlalpkbkFi ZDZUSnR9UGJUX09VM3YjR1lsVnhpYEZtbVJpO3dEUygoCnoyTHRsX2pQQ3xnSEFkZzZiPi0mZ3Vk O1A8QS0/b1o2VTBQOTRXNjNwdHw1I09nNmghanJsUzRieX1XKSRNO3dodAp6YWJmNFVwaHY/bUUt aGA9K0N0c2spNzh8UyRXcyY1VzlxP3grfUwjTSY9NjYrSzMjPFIpcWdAIVFjfXxFY0xjN2wKemY5 ZHt0Mm9zLTdrPyY8V0lrfHZJUmshMSNuUlk9MUM+dlgqNzx+dWtlMjRJT1l3azNWMCR6ZUFnVURj MF5keU5pCnpYbyttPl55aipyVzdje1F3TVZXS1FGfnItTj1VeSVCMCExUjlGMl9ycXwtfjR4eyoq b28jOGc2b0FXX1oobkEoRgp6cG52ISgrIXFDaXBHXlpkSHYjZTdSRkhBYm9gXkN4X3BLYzlpKm5B ZUVoPikyeyteT3AtYHJlPkUtdU1mRDJhdVcKenkkMUBFSiN9PFN1SCYyKV5HUk4wUEsjMiNwdmom VFZ5WnhzUHcyVWwrRkJEaCYlfTUjTmJIRH57YEA4czw9fGp3Cno3X3w4VFBvYnpeWWttZFh0fUN6 QGVpLVJuPkJ5TmJ5IXpGRD0lOXdaYmxpZEcpNkMzX1pWckQ9e2ApamY0Oz52Swp6K3d9NFo/fWU+ I2k3KyVlOTdlNz9UdTkxMEl+MHRlKTl9Oz9FclFrUThrZzk7NGM5bWJfSGI9dnNnRTlWRjxWb0UK ekwqTWhsK1ZDeXRJK2FRbEtMMWQodCtUVmZiQTk9SkVYOGtOUlprMmRBYUwjNCNmIXhCYjVxVF54 c2NeJE81TkJQCnpYSz9COTttViprV31TK2tYeVUkYk5nbFNuR2MpYnNTLU9odj15KU0tWkVieTxL OTljfTdxIXBIblVQXj54aVdYbwp6UnBEJmZkbkFISlRsZ21fQkxoZGNiM0J6PkYtbD4rQjItViRz V35ETm55I3JDZyQ8KHtaaVYlSDxGdHt6T3tTYHkKemNVIWx1ZSR8TDUoMjNnaGQmPE1aM0w8LVBs YTlmbmFtUlBXWD9yWGQodGBQb3AwJSlAQEJhUj52SmczV3tld0BHCnplNWEzTHQ9e2Q3ZkdRfndC fkRDQ0x+WW9JS1I4cn0zVm8qanokUVQ2cGNtZEhuJjtQV0ozR2Y1WVcwO0QzK0tRNQp6eFhoY1Bj QGVxRER+K3RTNmB1eihMXipUdit1dUEkZitjYUtmQ34jbSUtb3M4dFNwcCZiKCo9Q3E/X3RDU1kk RW4Kel5EJDZTTzdzJERFQnpkd0N8OFlyUio4JDk1NmQtY0hnPE9RdntWK2QoXz92JXtwQDlYQn4w RCZLUD5lPnVwS1ZYCnpFKjl3Pj9oSj5BQj9+I1Y/UzRRWWk0PTlNQjNBMjUmVWFEKFZkM2NncWU9 M2ZnOTNBNWpIam1CVE0tYUVCUjY7PAp6clQ0SzE4aT5EZ3lfSSslZ0BzeG9IQCZgVyYyJHxZKnhL M3NkSDJXamJIKk1YOSpnZjE/Wm04LS18WHYtV0MqSlYKekFBQzxiX2ghVVRIOFBTblh1S2lyXz5u I0AjTkN+ZyZ1N1lyNF9tV1dLNyZQU2ZuKitVQTB9U2VUKGIlcmVeSzwjCnolMyFnMmkxYkdpbGR5 QmhecWJKNy1pKCN8e3w3UT1sTDRmWFluQHR4TVkwJD5paGVKVShILUJxaDduSUdlOURwQQp6PF41 b2Z5YHk4R3s3dHZ7eS1pSWAoNCFHVldedyNsUFdFSE9VLSljSGMyI3dDRThgYmUqMyl5Ukp1RUM0 X2RlfmAKekV6USRrIXBjcXtHeVN2c1lZdEJnIWI8ZEZmQTQ8JW9WVXJjJlBXdGRVRl8pZTY7LUN1 bXZeRj1HXyMmRE5neF94CnpxNT1acXBjPFM1I2d0Tk9ZVEFDYEwodD48X09mZjdDQV8+Y0BITDM1 dG5BWGk4T0YzZGtCVURyNUUmTkVSTGg2bgp6NztwNkslUGliQ1dOZFJsa1lpUilpWWJ2NTlyfUcr I1RaSWsmZCptd2dxan1jLUBoc2V7U3FjcWNAJF9SJmNse3MKemM3Zz9DIUpKak92VGBPI1dVeWVm NilLUVB7JD5vNSZQXmt4LXVjYkkwSCl0Qz1Qb142MHhMUXEwdSQkNi08d3hvCnpLWCFyKUloPDsx V3J9S2B4S29MUypDbU1DR3BKe2JsYExBWXt2ZF5mc1U3JEF4cEBiY0YpfXtqd09YOTkxK0w9RAp6 M0gwem5SI3FNPU81QktmSDxUcnorZjR+ekcrak5WbTt8SCNkWn51fElwdCU9TUFrUHtqXz5PSXgl NVp8ZDV3dzgKemZ4RHFganxkfmQpTGl4ZHM9X35ANWxAfno1VkI8dCQzYDxII1gtYXRHNj0pTXhD Y3lkYVZANkZnUi1tUjdFV25FCno9S3lSS2ZjfCpgYjwhPUp0cy1LQVJ8KX1oMUQ2YHo3aDh8VWtC PFNOSj98M0IxaE4lbDdZJiNpVDdoKjJadD8jRQpEJiUlNXgKCmRpZmYgLS1naXQgYS9zcmNwa2dz L1NNQy9wYXRjaGVzL2ZpeC1ib29zdF9maWxlc3lzdGVtLnBhdGNoIGIvc3JjcGtncy9TTUMvcGF0 Y2hlcy9maXgtYm9vc3RfZmlsZXN5c3RlbS5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQK aW5kZXggOTI2ZmZiNmFmZTljLi4wMDAwMDAwMDAwMDAKLS0tIGEvc3JjcGtncy9TTUMvcGF0Y2hl cy9maXgtYm9vc3RfZmlsZXN5c3RlbS5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDExMiArMCww IEBACi1Cb29zdCA+PSAxLjUgcmVuYW1lZCBwYXRoOjpsZWFmKCkgdG8gcGF0aDo6ZmlsZW5hbWUo KS4KLUZ1bmN0aW9uIHBhdGgoY29uc3Qgc3RyaW5nX3R5cGUmLCBuYW1lX2NoZWNrKSB3YXMgcmVt b3ZlZCwKLXRodXMgaGVyZSB3ZSB1c2UgcGF0aChjb25zdCBzdHJpbmdfdHlwZSYpLgotCi0tLS0g YS9zcmMvY29yZS9maWxlc3lzdGVtL2ZpbGVzeXN0ZW0uY3BwCTIwMTUtMTAtMzAgMTk6MTc6MDIu NTEyNjIwMjA0ICswMTAwCi0rKysgYi9zcmMvY29yZS9maWxlc3lzdGVtL2ZpbGVzeXN0ZW0uY3Bw CTIwMTUtMTAtMzAgMTk6MTc6NTcuMDM2NjIwMDQzICswMTAwCi1AQCAtNjQsNyArNjQsNyBAQAot IAotIGJvb2wgRGlyX0V4aXN0cyggY29uc3Qgc3RkOjpzdHJpbmcgJmRpciApCi0gewotLQlyZXR1 cm4gZnM6OmV4aXN0cyggZnM6OnBhdGgoIGRpciwgZnM6Om5hdGl2ZSApICk7Ci0rCXJldHVybiBm czo6ZXhpc3RzKCBmczo6cGF0aCggZGlyICkgKTsKLSAKLSAJLypzdHJ1Y3Qgc3RhdCBmaWxlX2lu Zm87Ci0gCi1AQCAtODksNyArODksNyBAQAotIAotIGJvb2wgQ3JlYXRlX0RpcmVjdG9yeSggY29u c3Qgc3RkOjpzdHJpbmcgJmRpciApCi0gewotLQlyZXR1cm4gZnM6OmNyZWF0ZV9kaXJlY3Rvcnko IGZzOjpwYXRoKCBkaXIsIGZzOjpuYXRpdmUgKSApOwotKwlyZXR1cm4gZnM6OmNyZWF0ZV9kaXJl Y3RvcnkoIGZzOjpwYXRoKCBkaXIgKSApOwotIH0KLSAKLSBzaXplX3QgR2V0X0ZpbGVfU2l6ZSgg Y29uc3Qgc3RkOjpzdHJpbmcgJmZpbGVuYW1lICkKLUBAIC0xMzAsNyArMTMwLDcgQEAKLSB7Ci0g CXZlY3RvcjxzdGQ6OnN0cmluZz4gdmFsaWRfZmlsZXM7Ci0gCi0tCWZzOjpwYXRoIGZ1bGxfcGF0 aCggZGlyLCBmczo6bmF0aXZlICk7Ci0rCWZzOjpwYXRoIGZ1bGxfcGF0aCggZGlyICk7Ci0gCWZz OjpkaXJlY3RvcnlfaXRlcmF0b3IgZW5kX2l0ZXI7Ci0gCi0gCS8vIGxvYWQgYWxsIGF2YWlsYWJs ZSBvYmplY3RzCi1AQCAtMTQyLDMyICsxNDIsMzIgQEAKLSAJCQlpZiggZnM6OmlzX2RpcmVjdG9y eSggKmRpcl9pdHIgKSApCi0gCQkJewotIAkJCQkvLyBpZ25vcmUgaGlkZGVuIGRpcmVjdG9yaWVz Ci0tCQkJCWlmKCBkaXJfaXRyLT5wYXRoKCkubGVhZigpLmZpbmQoICIuIiApID09IDAgKQotKwkJ CQlpZiggZGlyX2l0ci0+cGF0aCgpLmZpbGVuYW1lKCkuc3RyaW5nKCkuZmluZCggIi4iICkgPT0g MCApCi0gCQkJCXsKLSAJCQkJCWNvbnRpbnVlOwotIAkJCQl9Ci0gCi0gCQkJCWlmKCB3aXRoX2Rp cmVjdG9yaWVzICkKLSAJCQkJewotLQkJCQkJdmFsaWRfZmlsZXMucHVzaF9iYWNrKCBkaXIgKyAi LyIgKyBkaXJfaXRyLT5wYXRoKCkubGVhZigpICk7Ci0rCQkJCQl2YWxpZF9maWxlcy5wdXNoX2Jh Y2soIGRpciArICIvIiArIGRpcl9pdHItPnBhdGgoKS5maWxlbmFtZSgpLnN0cmluZygpICk7Ci0g CQkJCX0KLSAKLSAJCQkJLy8gbG9hZCBhbGwgaXRlbXMgZnJvbSB0aGUgc3ViLWRpcmVjdG9yeQot IAkJCQlpZiggc2VhcmNoX2luX3N1Yl9kaXJlY3RvcmllcyApCi0gCQkJCXsKLS0JCQkJCXZlY3Rv cjxzdGQ6OnN0cmluZz4gbmV3X3ZhbGlkX2ZpbGVzID0gR2V0X0RpcmVjdG9yeV9GaWxlcyggZGly ICsgIi8iICsgZGlyX2l0ci0+cGF0aCgpLmxlYWYoKSwgZmlsZV90eXBlLCB3aXRoX2RpcmVjdG9y aWVzICk7Ci0rCQkJCQl2ZWN0b3I8c3RkOjpzdHJpbmc+IG5ld192YWxpZF9maWxlcyA9IEdldF9E aXJlY3RvcnlfRmlsZXMoIGRpciArICIvIiArIGRpcl9pdHItPnBhdGgoKS5maWxlbmFtZSgpLnN0 cmluZygpLCBmaWxlX3R5cGUsIHdpdGhfZGlyZWN0b3JpZXMgKTsKLSAJCQkJCXZhbGlkX2ZpbGVz Lmluc2VydCggdmFsaWRfZmlsZXMuZW5kKCksIG5ld192YWxpZF9maWxlcy5iZWdpbigpLCBuZXdf dmFsaWRfZmlsZXMuZW5kKCkgKTsKLSAJCQkJfQotIAkJCX0KLSAJCQkvLyB2YWxpZCBmaWxlCi0t CQkJZWxzZSBpZiggZmlsZV90eXBlLmVtcHR5KCkgfHwgZGlyX2l0ci0+cGF0aCgpLmxlYWYoKS5y ZmluZCggZmlsZV90eXBlICkgIT0gc3RkOjpzdHJpbmc6Om5wb3MgKQotKwkJCWVsc2UgaWYoIGZp bGVfdHlwZS5lbXB0eSgpIHx8IGRpcl9pdHItPnBhdGgoKS5maWxlbmFtZSgpLnN0cmluZygpLnJm aW5kKCBmaWxlX3R5cGUgKSAhPSBzdGQ6OnN0cmluZzo6bnBvcyApCi0gCQkJewotLQkJCQl2YWxp ZF9maWxlcy5wdXNoX2JhY2soIGRpciArICIvIiArIGRpcl9pdHItPnBhdGgoKS5sZWFmKCkgKTsK LSsJCQkJdmFsaWRfZmlsZXMucHVzaF9iYWNrKCBkaXIgKyAiLyIgKyBkaXJfaXRyLT5wYXRoKCku ZmlsZW5hbWUoKS5zdHJpbmcoKSApOwotIAkJCX0KLSAJCX0KLSAJCWNhdGNoKCBjb25zdCBzdGQ6 OmV4Y2VwdGlvbiAmZXggKQotIAkJewotLQkJCXByaW50ZiggIiVzICVzXG4iLCBkaXJfaXRyLT5w YXRoKCkubGVhZigpLmNfc3RyKCksIGV4LndoYXQoKSApOwotKwkJCXByaW50ZiggIiVzICVzXG4i LCBkaXJfaXRyLT5wYXRoKCkuZmlsZW5hbWUoKS5jX3N0cigpLCBleC53aGF0KCkgKTsKLSAJCX0K LSAJfQotIAotLS0tIGEvc3JjL292ZXJ3b3JsZC93b3JsZF9tYW5hZ2VyLmNwcAkyMDE1LTEwLTMw IDE5OjE3OjAyLjY0OTYyMDIwNCArMDEwMAotKysrIGIvc3JjL292ZXJ3b3JsZC93b3JsZF9tYW5h Z2VyLmNwcAkyMDE1LTEwLTMwIDE4OjMwOjIzLjI5OTYyODQ5NyArMDEwMAotQEAgLTExMSw3ICsx MTEsNyBAQAotIHZvaWQgY092ZXJ3b3JsZF9NYW5hZ2VyIDo6IExvYWRfRGlyKCBjb25zdCBzdGQ6 OnN0cmluZyAmZGlyLCBib29sIHVzZXJfZGlyIC8qID0gMCAqLyApIAotIHsKLSAJLy8gc2V0IHdv cmxkIGRpcmVjdG9yeQotLQlmczo6cGF0aCBmdWxsX3BhdGgoIGRpciwgZnM6Om5hdGl2ZSApOwot Kwlmczo6cGF0aCBmdWxsX3BhdGgoIGRpciApOwotIAlmczo6ZGlyZWN0b3J5X2l0ZXJhdG9yIGVu ZF9pdGVyOwotIAotIAlmb3IoIGZzOjpkaXJlY3RvcnlfaXRlcmF0b3IgZGlyX2l0ciggZnVsbF9w YXRoICk7IGRpcl9pdHIgIT0gZW5kX2l0ZXI7ICsrZGlyX2l0ciApCi1AQCAtMTE4LDcgKzExOCw3 IEBACi0gCXsKLSAJCXRyeQotIAkJewotLQkJCXN0ZDo6c3RyaW5nIGN1cnJlbnRfZGlyID0gZGly X2l0ci0+cGF0aCgpLmxlYWYoKTsKLSsJCQlzdGQ6OnN0cmluZyBjdXJyZW50X2RpciA9IGRpcl9p dHItPnBhdGgoKS5maWxlbmFtZSgpLnN0cmluZygpOwotIAotIAkJCS8vIG9ubHkgZGlyZWN0b3Jp ZXMgd2l0aCBhbiBleGlzdGluZyBkZXNjcmlwdGlvbgotIAkJCWlmKCBmczo6aXNfZGlyZWN0b3J5 KCAqZGlyX2l0ciApICYmIEZpbGVfRXhpc3RzKCBkaXIgKyAiLyIgKyBjdXJyZW50X2RpciArICIv ZGVzY3JpcHRpb24ueG1sIiApICkKLS0tLSBhL3NyYy92aWRlby92aWRlby5jcHAJMjAxNS0xMC0z MCAxOToxNzowMi44MjI2MjAyMDMgKzAxMDAKLSsrKyBiL3NyYy92aWRlby92aWRlby5jcHAJMjAx NS0xMC0zMCAxOToxODo1Ny40OTM2MTk4NjQgKzAxMDAKLUBAIC03NDcsNyArNzQ3LDcgQEAKLSAJ CXsKLSAJCQl0cnkKLSAJCQl7Ci0tCQkJCWZzOjpyZW1vdmVfYWxsKCBmczo6cGF0aCggbV9pbWdj YWNoZV9kaXIsIGZzOjpuYXRpdmUgKSApOwotKwkJCQlmczo6cmVtb3ZlX2FsbCggZnM6OnBhdGgo IG1faW1nY2FjaGVfZGlyICkgKTsKLSAJCQl9Ci0gCQkJLy8gY291bGQgaGFwcGVuIGlmIGEgZmls ZSBpcyBsb2NrZWQgb3Igd2UgaGF2ZSBubyB3cml0ZSByaWdodHMKLSAJCQljYXRjaCggY29uc3Qg c3RkOjpleGNlcHRpb24gJmV4ICkKLUBAIC03NjksNyArNzY5LDcgQEAKLSAJLy8gbm8gY2FjaGUg YXZhaWxhYmxlCi0gCWlmKCAhRGlyX0V4aXN0cyggaW1nY2FjaGVfZGlyX2FjdGl2ZSApICkKLSAJ ewotLQkJZnM6OmNyZWF0ZV9kaXJlY3RvcmllcyggZnM6OnBhdGgoIGltZ2NhY2hlX2Rpcl9hY3Rp dmUgKyAiLyIgR0FNRV9QSVhNQVBTX0RJUiwgZnM6Om5hdGl2ZSApICk7Ci0rCQlmczo6Y3JlYXRl X2RpcmVjdG9yaWVzKCBmczo6cGF0aCggaW1nY2FjaGVfZGlyX2FjdGl2ZSArICIvIiBHQU1FX1BJ WE1BUFNfRElSICkgKTsKLSAJfQotIAkvLyBjYWNoZSBhdmFpbGFibGUKLSAJZWxzZQpkaWZmIC0t Z2l0IGEvc3JjcGtncy9TTUMvcGF0Y2hlcy9maXgtY2VndWkwNy5wYXRjaCBiL3NyY3BrZ3MvU01D L3BhdGNoZXMvZml4LWNlZ3VpMDcucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4 IDNmY2RiODM3MGE5OC4uMDAwMDAwMDAwMDAwCi0tLSBhL3NyY3BrZ3MvU01DL3BhdGNoZXMvZml4 LWNlZ3VpMDcucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSw0MzcgKzAsMCBAQAotZGlmZiAtdXIg c21jLTEuOS9jb25maWd1cmUuYWMgc21jLTEuOS1iL2NvbmZpZ3VyZS5hYwotLS0tIGEvY29uZmln dXJlLmFjCTIwMDktMDgtMTcgMTU6NTk6MDAuMDAwMDAwMDAwICswMjAwCi0rKysgYi9jb25maWd1 cmUuYWMJMjAxMS0wMS0xOSAwMDo0MzozNy44MDk4ODQ4ODEgKzAxMDAKLUBAIC01Myw3ICs1Myw3 IEBACi0gCUFDX01TR19FUlJPUihbU0RMX3R0ZiBsaWJyYXJ5IG5vdCBmb3VuZF0pKQotIAotICMg Q2hlY2sgZm9yIHRoZSBDRUdVSSBsaWJyYXJ5Ci0tUEtHX0NIRUNLX01PRFVMRVMoQ0VHVUksIENF R1VJLU9QRU5HTCA+PSAwLjUuMCkKLStQS0dfQ0hFQ0tfTU9EVUxFUyhDRUdVSSwgQ0VHVUktT1BF TkdMID49IDAuNy4wKQotIENQUEZMQUdTPSIkQ1BQRkxBR1MgJENFR1VJX0NGTEFHUyIKLSBMSUJT PSIkTElCUyAkQ0VHVUlfTElCUyIKLSAKLWRpZmYgLXVyIHNtYy0xLjkvc3JjL2NvcmUvZWRpdG9y LmNwcCBzbWMtMS45LWIvc3JjL2NvcmUvZWRpdG9yLmNwcAotLS0tIGEvc3JjL2NvcmUvZWRpdG9y LmNwcAkyMDA5LTA4LTEzIDE3OjExOjQyLjAwMDAwMDAwMCArMDIwMAotKysrIGIvc3JjL2NvcmUv ZWRpdG9yLmNwcAkyMDExLTAxLTE5IDAwOjQ0OjQ2LjczNDMyODEyMSArMDEwMAotQEAgLTExOCwx NiArMTE4LDEwIEBACi0gCXJldHVybiB0bXA7Ci0gfQotIAotLXZvaWQgY0VkaXRvcl9JdGVtX09i amVjdCA6OiBkcmF3KCBjb25zdCBDRUdVSTo6VmVjdG9yMyAmcG9zaXRpb24sIGZsb2F0IGFscGhh LCBjb25zdCBDRUdVSTo6UmVjdCAmY2xpcHBlciApIGNvbnN0Ci0rdm9pZCBjRWRpdG9yX0l0ZW1f T2JqZWN0IDo6IGRyYXcoIENFR1VJOjpHZW9tZXRyeUJ1ZmZlciAmYnVmZmVyLCBjb25zdCBDRUdV STo6UmVjdCAmdGFyZ2V0UmVjdCwgZmxvYXQgYWxwaGEsIGNvbnN0IENFR1VJOjpSZWN0ICpjbGlw cGVyICkgY29uc3QKLSB7Ci0gCS8vIGRyYXcgdGV4dAotLQlsaXN0X3RleHQtPmRyYXcoIHBvc2l0 aW9uLCBhbHBoYSwgY2xpcHBlciApOwotLX0KLS0KLS12b2lkIGNFZGl0b3JfSXRlbV9PYmplY3Qg OjogZHJhdyggQ0VHVUk6OlJlbmRlckNhY2hlICZjYWNoZSwgY29uc3QgQ0VHVUk6OlJlY3QgJnRh cmdldFJlY3QsIGZsb2F0IHpCYXNlLCBmbG9hdCBhbHBoYSwgY29uc3QgQ0VHVUk6OlJlY3QgKmNs aXBwZXIgKSBjb25zdAotLXsKLS0JLy8gZHJhdyB0ZXh0Ci0tCWxpc3RfdGV4dC0+ZHJhdyggY2Fj aGUsIHRhcmdldFJlY3QsIHpCYXNlLCBhbHBoYSwgY2xpcHBlciApOwotKwlsaXN0X3RleHQtPmRy YXcoIGJ1ZmZlciwgdGFyZ2V0UmVjdCwgYWxwaGEsIGNsaXBwZXIgKTsKLSB9Ci0gCi0gdm9pZCBj RWRpdG9yX0l0ZW1fT2JqZWN0IDo6IERyYXdfSW1hZ2UoIHZvaWQgKQotQEAgLTUzMywxMiArNTI3 LDEyIEBACi0gCWlmKCBlZGl0b3Jfd2luZG93LT5nZXRYUG9zaXRpb24oKS5hc1JlbGF0aXZlKCAx ICkgPj0gMCApCi0gCXsKLSAJCS8vIExpc3Rib3ggZGltZW5zaW9uCi0tCQlmbG9hdCBsaXN0X3Bv c3kgPSBsaXN0Ym94X2l0ZW1zLT5nZXRVbmNsaXBwZWRQaXhlbFJlY3QoKS5kX3RvcCAqIGdsb2Jh bF9kb3duc2NhbGV5OwotLQkJZmxvYXQgbGlzdF9oZWlnaHQgPSBsaXN0Ym94X2l0ZW1zLT5nZXRV bmNsaXBwZWRQaXhlbFJlY3QoKS5nZXRIZWlnaHQoKSAqIGdsb2JhbF9kb3duc2NhbGV5OwotKwkJ ZmxvYXQgbGlzdF9wb3N5ID0gbGlzdGJveF9pdGVtcy0+Z2V0VW5jbGlwcGVkT3V0ZXJSZWN0KCku ZF90b3AgKiBnbG9iYWxfZG93bnNjYWxleTsKLSsJCWZsb2F0IGxpc3RfaGVpZ2h0ID0gbGlzdGJv eF9pdGVtcy0+Z2V0VW5jbGlwcGVkT3V0ZXJSZWN0KCkuZ2V0SGVpZ2h0KCkgKiBnbG9iYWxfZG93 bnNjYWxleTsKLSAJCS8vIFZlcnRpY2FsIFNjcm9sbEJhciBQb3NpdGlvbgotIAkJZmxvYXQgc2Ny b2xsX3BvcyA9IGxpc3Rib3hfaXRlbXMtPmdldFZlcnRTY3JvbGxiYXIoKS0+Z2V0U2Nyb2xsUG9z aXRpb24oKSAqIGdsb2JhbF9kb3duc2NhbGV5OwotIAkJLy8gZm9udCBoZWlnaHQKLS0JCWZsb2F0 IGZvbnRfaGVpZ2h0ID0gQ0VHVUk6OkZvbnRNYW5hZ2VyOjpnZXRTaW5nbGV0b24oKS5nZXRGb250 KCAiYmx1ZWJvbGRfbWVkaXVtIiApLT5nZXRGb250SGVpZ2h0KCkgKiBnbG9iYWxfZG93bnNjYWxl eTsKLSsJCWZsb2F0IGZvbnRfaGVpZ2h0ID0gQ0VHVUk6OkZvbnRNYW5hZ2VyOjpnZXRTaW5nbGV0 b24oKS5nZXQoICJibHVlYm9sZF9tZWRpdW0iICkuZ2V0Rm9udEhlaWdodCgpICogZ2xvYmFsX2Rv d25zY2FsZXk7Ci0gCi0gCQkvLyBkcmF3IGl0ZW1zCi0gCQlmb3IoIHVuc2lnbmVkIGludCBpID0g MDsgaSA8IGxpc3Rib3hfaXRlbXMtPmdldEl0ZW1Db3VudCgpOyBpKysgKQotZGlmZiAtdXIgc21j LTEuOS9zcmMvY29yZS9lZGl0b3IuaCBzbWMtMS45LWIvc3JjL2NvcmUvZWRpdG9yLmgKLS0tLSBh L3NyYy9jb3JlL2VkaXRvci5oCTIwMDktMDItMTggMDU6MjE6MzAuMDAwMDAwMDAwICswMTAwCi0r KysgYi9zcmMvY29yZS9lZGl0b3IuaAkyMDExLTAxLTE5IDAwOjQzOjM3LjgwOTg4NDg4MSArMDEw MAotQEAgLTYyLDggKzYyLDcgQEAKLSAJKi8KLSAJdmlydHVhbAlDRUdVSTo6U2l6ZSBnZXRQaXhl bFNpemUoIHZvaWQgKSBjb25zdDsKLSAJLy8gZHJhdwotLQl2b2lkIGRyYXcoIGNvbnN0IENFR1VJ OjpWZWN0b3IzICZwb3NpdGlvbiwgZmxvYXQgYWxwaGEsIGNvbnN0IENFR1VJOjpSZWN0ICZjbGlw cGVyICkgY29uc3Q7Ci0tCXZvaWQgZHJhdyggQ0VHVUk6OlJlbmRlckNhY2hlICZjYWNoZSwgY29u c3QgQ0VHVUk6OlJlY3QgJnRhcmdldFJlY3QsIGZsb2F0IHpCYXNlLCBmbG9hdCBhbHBoYSwgY29u c3QgQ0VHVUk6OlJlY3QgKmNsaXBwZXIpIGNvbnN0OwotKwl2b2lkIGRyYXcoQ0VHVUk6Okdlb21l dHJ5QnVmZmVyJiBidWZmZXIsIGNvbnN0IENFR1VJOjpSZWN0JiB0YXJnZXRSZWN0LCBmbG9hdCBh bHBoYSwgY29uc3QgQ0VHVUk6OlJlY3QqIGNsaXBwZXIpIGNvbnN0OwotIAkvLyBkcmF3IGltYWdl Ci0gCXZvaWQgRHJhd19JbWFnZSggdm9pZCApOwotIAotZGlmZiAtdXIgc21jLTEuOS9zcmMvY29y ZS9nYW1lX2NvcmUuY3BwIHNtYy0xLjktYi9zcmMvY29yZS9nYW1lX2NvcmUuY3BwCi0tLS0gYS9z cmMvY29yZS9nYW1lX2NvcmUuY3BwCTIwMDktMDgtMTYgMTg6NDQ6NDIuMDAwMDAwMDAwICswMjAw Ci0rKysgYi9zcmMvY29yZS9nYW1lX2NvcmUuY3BwCTIwMTEtMDEtMTkgMDA6NTk6MDIuNjY4OTU4 ODgzICswMTAwCi1AQCAtMjY1LDcgKzI2NSw3IEBACi0gCi0gCi0gCS8vIGFsaWduIHRleHQKLS0J Q0VHVUk6OkZvbnQgKmZvbnQgPSBDRUdVSTo6Rm9udE1hbmFnZXI6OmdldFNpbmdsZXRvbigpLmdl dEZvbnQoICJibHVlYm9sZF9tZWRpdW0iICk7Ci0rCUNFR1VJOjpGb250ICpmb250ID0gJkNFR1VJ OjpGb250TWFuYWdlcjo6Z2V0U2luZ2xldG9uKCkuZ2V0KCAiYmx1ZWJvbGRfbWVkaXVtIiApOwot IAkvLyBmaXhtZSA6IENhbid0IGhhbmRsZSBtdWx0aXBsZSBsaW5lcyBvZiB0ZXh0Ci0gCWZsb2F0 IHRleHRfd2lkdGggPSBmb250LT5nZXRUZXh0RXh0ZW50KCB0ZXh0ICkgKiBnbG9iYWxfZG93bnNj YWxleDsKLSAKLUBAIC0xMTgyLDcgKzExODIsNyBAQAotIAl0ZXh0X2RlZmF1bHQtPnNldFRleHQo IGd1aV90ZXh0ICk7Ci0gCi0gCS8vIGFsaWduIHRleHQKLS0JQ0VHVUk6OkZvbnQgKmZvbnQgPSBD RUdVSTo6Rm9udE1hbmFnZXI6OmdldFNpbmdsZXRvbigpLmdldEZvbnQoICJibHVlYm9sZF9tZWRp dW0iICk7Ci0rCUNFR1VJOjpGb250ICpmb250ID0gJkNFR1VJOjpGb250TWFuYWdlcjo6Z2V0U2lu Z2xldG9uKCkuZ2V0KCAiYmx1ZWJvbGRfbWVkaXVtIiApOwotIAlmbG9hdCB0ZXh0X3dpZHRoID0g Zm9udC0+Z2V0VGV4dEV4dGVudCggZ3VpX3RleHQgKSAqIGdsb2JhbF9kb3duc2NhbGV4OwotIAot IAl0ZXh0X2RlZmF1bHQtPnNldFdpZHRoKCBDRUdVSTo6VURpbSggMCwgKCB0ZXh0X3dpZHRoICsg MTUgKSAqIGdsb2JhbF91cHNjYWxleCApICk7Ci1AQCAtMTE5MCw3ICsxMTkwLDcgQEAKLSAJdGV4 dF9kZWZhdWx0LT5tb3ZlVG9Gcm9udCgpOwotIAotIAkvLyBzZXQgd2luZG93IGhlaWdodAotLQl0 ZXh0X2RlZmF1bHQtPnNldEhlaWdodCggQ0VHVUk6OlVEaW0oIDAsIGZvbnQtPmdldEZvbnRIZWln aHQoKSAqIGZvbnQtPmdldEZvcm1hdHRlZExpbmVDb3VudCggZ3VpX3RleHQsIHRleHRfZGVmYXVs dC0+Z2V0VW5jbGlwcGVkSW5uZXJSZWN0KCksIENFR1VJOjpMZWZ0QWxpZ25lZCApICsgKCAxMiAq IGdsb2JhbF91cHNjYWxleSApICkgKTsKLSsJdGV4dF9kZWZhdWx0LT5zZXRIZWlnaHQoIENFR1VJ OjpVRGltKCAwLCBmb250LT5nZXRGb250SGVpZ2h0KCkgKyAoIDEyICogZ2xvYmFsX3Vwc2NhbGV5 ICkgKSApOwotIAotIAl3aGlsZSggZHJhdyApCi0gCXsKLWRpZmYgLXVyIHNtYy0xLjkvc3JjL2Nv cmUvbWFpbi5jcHAgc21jLTEuOS1iL3NyYy9jb3JlL21haW4uY3BwCi0tLS0gYS9zcmMvY29yZS9t YWluLmNwcAkyMDA5LTA1LTEyIDEwOjM2OjA0LjAwMDAwMDAwMCArMDIwMAotKysrIGIvc3JjL2Nv cmUvbWFpbi5jcHAJMjAxMS0wMS0xOSAwMDo0MzozNy44MDk4ODQ4ODEgKzAxMDAKLUBAIC00NDQs MTMgKzQ0NCwxNSBAQAotIAotIAlpZiggcEd1aVN5c3RlbSApCi0gCXsKLS0JCWRlbGV0ZSBwR3Vp U3lzdGVtOwotKwkJQ0VHVUk6OlJlc291cmNlUHJvdmlkZXIqIHJwID0gcEd1aVN5c3RlbS0+Z2V0 UmVzb3VyY2VQcm92aWRlcigpOwotKwkJcEd1aVN5c3RlbS0+ZGVzdHJveSgpOwotIAkJcEd1aVN5 c3RlbSA9IE5VTEw7Ci0rCQlkZWxldGUgcnA7Ci0gCX0KLSAKLSAJaWYoIHBHdWlSZW5kZXJlciAp Ci0gCXsKLS0JCWRlbGV0ZSBwR3VpUmVuZGVyZXI7Ci0rCQlwR3VpUmVuZGVyZXItPmRlc3Ryb3ko ICpwR3VpUmVuZGVyZXIgKTsKLSAJCXBHdWlSZW5kZXJlciA9IE5VTEw7Ci0gCX0KLSAKLUBAIC01 MDcsNyArNTA5LDcgQEAKLSAJCX0KLSAJCWNhc2UgU0RMX1ZJREVPUkVTSVpFOgotIAkJewotLQkJ CXBHdWlSZW5kZXJlci0+c2V0RGlzcGxheVNpemUoIENFR1VJOjpTaXplKCBzdGF0aWNfY2FzdDxm bG9hdD4oZXYtPnJlc2l6ZS53KSwgc3RhdGljX2Nhc3Q8ZmxvYXQ+KGV2LT5yZXNpemUuaCkgKSAp OwotKwkJCXBHdWlTeXN0ZW0tPm5vdGlmeURpc3BsYXlTaXplQ2hhbmdlZCggQ0VHVUk6OlNpemUo IHN0YXRpY19jYXN0PGZsb2F0Pihldi0+cmVzaXplLncpLCBzdGF0aWNfY2FzdDxmbG9hdD4oZXYt PnJlc2l6ZS5oKSApICk7Ci0gCQkJYnJlYWs7Ci0gCQl9Ci0gCQljYXNlIFNETF9LRVlET1dOOgot ZGlmZiAtdXIgc21jLTEuOS9zcmMvZ3VpL2h1ZC5jcHAgc21jLTEuOS1iL3NyYy9ndWkvaHVkLmNw cAotLS0tIGEvc3JjL2d1aS9odWQuY3BwCTIwMDktMDUtMDEgMTU6MDA6MTYuMDAwMDAwMDAwICsw MjAwCi0rKysgYi9zcmMvZ3VpL2h1ZC5jcHAJMjAxMS0wMS0xOSAwMDo0MzozNy44MTY1NTAzNjUg KzAxMDAKLUBAIC05NDYsNyArOTQ2LDcgQEAKLSAJCW1fdGV4dF9kZWJ1Z190ZXh0LT5zZXRWaXNp YmxlKCAxICk7Ci0gCi0gCQkvLyB1cGRhdGUgcG9zaXRpb24KLS0JCUNFR1VJOjpGb250ICpmb250 ID0gQ0VHVUk6OkZvbnRNYW5hZ2VyOjpnZXRTaW5nbGV0b24oKS5nZXRGb250KCAiYmx1ZWJvbGRf bWVkaXVtIiApOwotKwkJQ0VHVUk6OkZvbnQgKmZvbnQgPSAmQ0VHVUk6OkZvbnRNYW5hZ2VyOjpn ZXRTaW5nbGV0b24oKS5nZXQoICJibHVlYm9sZF9tZWRpdW0iICk7Ci0gCQlmbG9hdCB0ZXh0X3dp ZHRoID0gZm9udC0+Z2V0VGV4dEV4dGVudCggZ3VpX3RleHQgKSAqIGdsb2JhbF9kb3duc2NhbGV4 OwotIAotIAkJaWYoIHRleHRfd2lkdGggPiA4MDAuMGYgKQotZGlmZiAtdXIgc21jLTEuOS9zcmMv aW5wdXQvbW91c2UuY3BwIHNtYy0xLjktYi9zcmMvaW5wdXQvbW91c2UuY3BwCi0tLS0gYS9zcmMv aW5wdXQvbW91c2UuY3BwCTIwMDktMDQtMjQgMjE6MTY6NTguMDAwMDAwMDAwICswMjAwCi0rKysg Yi9zcmMvaW5wdXQvbW91c2UuY3BwCTIwMTEtMDEtMTkgMDA6NDM6MzcuODEzMjE3NjIzICswMTAw Ci1AQCAtNDMyLDE3ICs0MzIsMTIgQEAKLSAKLSB2b2lkIGNNb3VzZUN1cnNvciA6OiBSZW5kZXIo IHZvaWQgKSBjb25zdAotIHsKLS0JaWYoICFtX2FjdGl2ZSApCi0tCXsKLSsJQ0VHVUk6Ok1vdXNl Q3Vyc29yICptb3VzZSA9IENFR1VJOjpNb3VzZUN1cnNvcjo6Z2V0U2luZ2xldG9uUHRyKCk7Ci0r Ci0rCWlmICggbV9hY3RpdmUgPT0gbW91c2UtPmlzVmlzaWJsZSgpICkKLSAJCXJldHVybjsKLS0J fQotIAotLQkvLyBSZW5kZXIgQ0VHVUkgTW91c2UKLS0JcEd1aVJlbmRlcmVyLT5zZXRRdWV1ZWlu Z0VuYWJsZWQoIDAgKTsKLS0JQ0VHVUk6Ok1vdXNlQ3Vyc29yICptb3VzZSA9IENFR1VJOjpNb3Vz ZUN1cnNvcjo6Z2V0U2luZ2xldG9uUHRyKCk7Ci0tCW1vdXNlLT5zZXRWaXNpYmxlKCAxICk7Ci0t CW1vdXNlLT5kcmF3KCk7Ci0tCW1vdXNlLT5zZXRWaXNpYmxlKCAwICk7Ci0rCW1vdXNlLT5zZXRW aXNpYmxlKCBtX2FjdGl2ZSApOwotIH0KLSAKLSB2b2lkIGNNb3VzZUN1cnNvciA6OiBVcGRhdGVf UG9zaXRpb24oIHZvaWQgKQotZGlmZiAtdXIgc21jLTEuOS9zcmMvbGV2ZWwvbGV2ZWxfc2V0dGlu Z3MuY3BwIHNtYy0xLjktYi9zcmMvbGV2ZWwvbGV2ZWxfc2V0dGluZ3MuY3BwCi0tLS0gYS9zcmMv bGV2ZWwvbGV2ZWxfc2V0dGluZ3MuY3BwCTIwMDktMDgtMDcgMDM6MDQ6MjguMDAwMDAwMDAwICsw MjAwCi0rKysgYi9zcmMvbGV2ZWwvbGV2ZWxfc2V0dGluZ3MuY3BwCTIwMTEtMDEtMTkgMDE6MDY6 NTkuMDY0MjU5MDcwICswMTAwCi1AQCAtMTYzLDggKzE2Myw4IEBACi0gCWVkaXRib3gtPnNldFRl eHQoIGludF90b19zdHJpbmcoIGJnX2NvbG9yXzIuYmx1ZSApLmNfc3RyKCkgKTsKLSAJLy8gcHJl dmlldyB3aW5kb3cKLSAJQ0VHVUk6OldpbmRvdyAqd2luZG93X2JhY2tncm91bmRfcHJldmlldyA9 IENFR1VJOjpXaW5kb3dNYW5hZ2VyOjpnZXRTaW5nbGV0b24oKS5nZXRXaW5kb3coICJ3aW5kb3df YmFja2dyb3VuZF9wcmV2aWV3IiApOwotLQliYWNrZ3JvdW5kX3ByZXZpZXctPlNldF9Qb3NfWCgg d2luZG93X2JhY2tncm91bmRfcHJldmlldy0+Z2V0VW5jbGlwcGVkUGl4ZWxSZWN0KCkuZF9sZWZ0 ICogZ2xvYmFsX2Rvd25zY2FsZXgsIDEgKTsKLS0JYmFja2dyb3VuZF9wcmV2aWV3LT5TZXRfUG9z X1koIHdpbmRvd19iYWNrZ3JvdW5kX3ByZXZpZXctPmdldFVuY2xpcHBlZFBpeGVsUmVjdCgpLmRf dG9wICogZ2xvYmFsX2Rvd25zY2FsZXksIDEgKTsKLSsJYmFja2dyb3VuZF9wcmV2aWV3LT5TZXRf UG9zX1goIHdpbmRvd19iYWNrZ3JvdW5kX3ByZXZpZXctPmdldFVuY2xpcHBlZE91dGVyUmVjdCgp LmRfbGVmdCAqIGdsb2JhbF9kb3duc2NhbGV4LCAxICk7Ci0rCWJhY2tncm91bmRfcHJldmlldy0+ U2V0X1Bvc19ZKCB3aW5kb3dfYmFja2dyb3VuZF9wcmV2aWV3LT5nZXRVbmNsaXBwZWRPdXRlclJl Y3QoKS5kX3RvcCAqIGdsb2JhbF9kb3duc2NhbGV5LCAxICk7Ci0gCi0gCVVwZGF0ZV9CR19Db2xv cnMoIENFR1VJOjpFdmVudEFyZ3MoKSApOwotIAotQEAgLTU1NSw4ICs1NTUsOCBAQAotIAotIAkv LyBzZXQgZGVmYXVsdCByZWN0Ci0gCUNFR1VJOjpXaW5kb3cgKndpbmRvd19iYWNrZ3JvdW5kX3By ZXZpZXcgPSBDRUdVSTo6V2luZG93TWFuYWdlcjo6Z2V0U2luZ2xldG9uKCkuZ2V0V2luZG93KCAi d2luZG93X2JhY2tncm91bmRfcHJldmlldyIgKTsKLS0JYmFja2dyb3VuZF9wcmV2aWV3LT5tX3Jl Y3QubV93ID0gd2luZG93X2JhY2tncm91bmRfcHJldmlldy0+Z2V0VW5jbGlwcGVkUGl4ZWxSZWN0 KCkuZ2V0V2lkdGgoKSAqIGdsb2JhbF9kb3duc2NhbGV4OwotLQliYWNrZ3JvdW5kX3ByZXZpZXct Pm1fcmVjdC5tX2ggPSB3aW5kb3dfYmFja2dyb3VuZF9wcmV2aWV3LT5nZXRVbmNsaXBwZWRQaXhl bFJlY3QoKS5nZXRIZWlnaHQoKSAqIGdsb2JhbF9kb3duc2NhbGV5OwotKwliYWNrZ3JvdW5kX3By ZXZpZXctPm1fcmVjdC5tX3cgPSB3aW5kb3dfYmFja2dyb3VuZF9wcmV2aWV3LT5nZXRVbmNsaXBw ZWRPdXRlclJlY3QoKS5nZXRXaWR0aCgpICogZ2xvYmFsX2Rvd25zY2FsZXg7Ci0rCWJhY2tncm91 bmRfcHJldmlldy0+bV9yZWN0Lm1faCA9IHdpbmRvd19iYWNrZ3JvdW5kX3ByZXZpZXctPmdldFVu Y2xpcHBlZE91dGVyUmVjdCgpLmdldEhlaWdodCgpICogZ2xvYmFsX2Rvd25zY2FsZXk7Ci0gCi0g CWlmKCAhRmlsZV9FeGlzdHMoIGZpbGVuYW1lICkgKQotIAl7Ci1kaWZmIC11ciBzbWMtMS45L3Ny Yy9vYmplY3RzL3Nwcml0ZS5jcHAgc21jLTEuOS1iL3NyYy9vYmplY3RzL3Nwcml0ZS5jcHAKLS0t LSBhL3NyYy9vYmplY3RzL3Nwcml0ZS5jcHAJMjAwOS0wNC0xOCAwOTo1NTowNi4wMDAwMDAwMDAg KzAyMDAKLSsrKyBiL3NyYy9vYmplY3RzL3Nwcml0ZS5jcHAJMjAxMS0wMS0xOSAwMDo0MzozNy44 MTMyMTc2MjMgKzAxMDAKLUBAIC0xNjYzLDcgKzE2NjMsNyBAQAotIAl3aW5kb3dfbmFtZS0+c2V0 VGV4dCggbmFtZSApOwotIAl3aW5kb3dfbmFtZS0+c2V0VG9vbHRpcFRleHQoIHRvb2x0aXAgKTsK LSAJLy8gZ2V0IHRleHQgd2lkdGgKLS0JQ0VHVUk6OkZvbnQgKmZvbnQgPSBDRUdVSTo6Rm9udE1h bmFnZXI6OmdldFNpbmdsZXRvbigpLmdldEZvbnQoICJibHVlYm9sZF9tZWRpdW0iICk7Ci0rCUNF R1VJOjpGb250ICpmb250ID0gJkNFR1VJOjpGb250TWFuYWdlcjo6Z2V0U2luZ2xldG9uKCkuZ2V0 KCAiYmx1ZWJvbGRfbWVkaXVtIiApOwotIAlmbG9hdCB0ZXh0X3dpZHRoID0gMTIgKyBmb250LT5n ZXRUZXh0RXh0ZW50KCBuYW1lICkgKiBnbG9iYWxfZG93bnNjYWxleDsKLSAJLy8gYWxsIG5hbWVz IHNob3VsZCBoYXZlIHRoZSBzYW1lIHdpZHRoCi0gCWlmKCB0ZXh0X3dpZHRoID4gbV9lZGl0b3Jf d2luZG93X25hbWVfd2lkdGggKQotZGlmZiAtdXIgc21jLTEuOS9zcmMvdmlkZW8vdmlkZW8uY3Bw IHNtYy0xLjktYi9zcmMvdmlkZW8vdmlkZW8uY3BwCi0tLS0gYS9zcmMvdmlkZW8vdmlkZW8uY3Bw CTIwMDktMDctMDQgMTE6NDY6NTYuMDAwMDAwMDAwICswMjAwCi0rKysgYi9zcmMvdmlkZW8vdmlk ZW8uY3BwCTIwMTEtMDEtMTkgMDE6MjI6NDUuMzM4NTI0NTkyICswMTAwCi1AQCAtMTAzLDE1ICsx MDMsMTUgQEAKLSAKLSAvKiAqKiogKioqICoqKiAqKiogKioqICoqKiAqKiogQ0VHVUkgcmVuZGVy ZXIgZmFrZSBjbGFzcyAqKiogKioqICoqKiAqKiogKioqICoqKiAqKiogKioqICoqKiAqKiogKi8K LSAKLS1jRmFrZV9SZW5kZXJlciA6OiBjRmFrZV9SZW5kZXJlciggdm9pZCApCi0tewotLQlkX2lk ZW50aWZpZXJTdHJpbmcgPSAiRmFrZSBSZW5kZXJlciI7Ci0tfQotKy8vY0Zha2VfUmVuZGVyZXIg OjogY0Zha2VfUmVuZGVyZXIoIHZvaWQgKQotKy8vewotKy8vCWRfaWRlbnRpZmllclN0cmluZyA9 ICJGYWtlIFJlbmRlcmVyIjsKLSsvL30KLSAKLS1jRmFrZV9SZW5kZXJlciA6OiB+Y0Zha2VfUmVu ZGVyZXIoIHZvaWQgKQotLXsKLSsvL2NGYWtlX1JlbmRlcmVyIDo6IH5jRmFrZV9SZW5kZXJlcigg dm9pZCApCi0rLy97Ci0gCi0tfQotKy8vfQotIAotIC8qICoqKiAqKiogKioqICoqKiAqKiogKioq ICoqKiBWaWRlbyBjbGFzcyAqKiogKioqICoqKiAqKiogKioqICoqKiAqKiogKioqICoqKiAqKiog Ki8KLSAKLUBAIC0xNTgsNyArMTU4LDcgQEAKLSAJc3RkOjpzdHJpbmcgbG9nX2R1bXBfZGlyID0g Ii9kZXYvbnVsbCI7Ci0gI2VuZGlmCi0gCS8vIGNyZWF0ZSBmYWtlIHN5c3RlbSBhbmQgcmVuZGVy ZXIKLS0JcEd1aVN5c3RlbSA9IG5ldyBDRUdVSTo6U3lzdGVtKCBuZXcgY0Zha2VfUmVuZGVyZXIo KSwgcnAsIE5VTEwsIE5VTEwsICIiLCBsb2dfZHVtcF9kaXIgKTsKLSsJcEd1aVN5c3RlbSA9ICZD RUdVSTo6U3lzdGVtOjpjcmVhdGUoICpuZXcgY0Zha2VfUmVuZGVyZXIoKSwgcnAsIE5VTEwsIE5V TEwsIE5VTEwsICIiLCBsb2dfZHVtcF9kaXIgKTsKLSB9Ci0gCi0gdm9pZCBjVmlkZW8gOjogRGVs ZXRlX0NFR1VJX0Zha2UoIHZvaWQgKSBjb25zdAotQEAgLTE2Niw3ICsxNjYsNyBAQAotIAlDRUdV STo6UmVzb3VyY2VQcm92aWRlciAqcnAgPSBwR3VpU3lzdGVtLT5nZXRSZXNvdXJjZVByb3ZpZGVy KCk7Ci0gCUNFR1VJOjpSZW5kZXJlciAqcmVuZGVyZXIgPSBwR3VpU3lzdGVtLT5nZXRSZW5kZXJl cigpOwotIAotLQlkZWxldGUgcEd1aVN5c3RlbTsKLSsJcEd1aVN5c3RlbS0+ZGVzdHJveSgpOwot IAlwR3VpU3lzdGVtID0gTlVMTDsKLSAJZGVsZXRlIHJlbmRlcmVyOwotIAlkZWxldGUgcnA7Ci1A QCAtMTc3LDcgKzE3Nyw3IEBACi0gCS8vIGNyZWF0ZSByZW5kZXJlcgotIAl0cnkKLSAJewotLQkJ cEd1aVJlbmRlcmVyID0gbmV3IENFR1VJOjpPcGVuR0xSZW5kZXJlciggMCwgc2NyZWVuLT53LCBz Y3JlZW4tPmggKTsKLSsJCXBHdWlSZW5kZXJlciA9ICZDRUdVSTo6T3BlbkdMUmVuZGVyZXI6OmNy ZWF0ZSggQ0VHVUk6OlNpemUoIHNjcmVlbi0+dywgc2NyZWVuLT5oICkgKTsKLSAJfQotIAkvLyBj YXRjaCBDRUdVSSBFeGNlcHRpb25zCi0gCWNhdGNoKCBDRUdVSTo6RXhjZXB0aW9uICZleCApCi1A QCAtMTg2LDEwICsxODYsMTAgQEAKLSAJCWV4aXQoIEVYSVRfRkFJTFVSRSApOwotIAl9Ci0gCi0t CS8qIGNyZWF0ZSBSZXNvdXJjZSBQcm92aWRlcgotLQkgKiBubyBuZWVkIHRvIGRlc3Ryb3kgaXQg bGF0ZXIgc2luY2UgaXQgaXMgaGFuZGxlZCBieSB0aGUgQ0VHVUkgcmVuZGVyZXIKLS0JKi8KLS0J Q0VHVUk6OkRlZmF1bHRSZXNvdXJjZVByb3ZpZGVyICpycCA9IHN0YXRpY19jYXN0PENFR1VJOjpE ZWZhdWx0UmVzb3VyY2VQcm92aWRlciAqPihwR3VpUmVuZGVyZXItPmNyZWF0ZVJlc291cmNlUHJv dmlkZXIoKSk7Ci0rCXBHdWlSZW5kZXJlci0+ZW5hYmxlRXh0cmFTdGF0ZVNldHRpbmdzKHRydWUp OwotKwotKwkvLyBjcmVhdGUgUmVzb3VyY2UgUHJvdmlkZXIKLSsJQ0VHVUk6OkRlZmF1bHRSZXNv dXJjZVByb3ZpZGVyICpycCA9IG5ldyBDRUdVSTo6RGVmYXVsdFJlc291cmNlUHJvdmlkZXI7Ci0g Ci0gCS8vIHNldCBSZXNvdXJjZSBQcm92aWRlciBkaXJlY3RvcmllcwotIAlycC0+c2V0UmVzb3Vy Y2VHcm91cERpcmVjdG9yeSggInNjaGVtZXMiLCBEQVRBX0RJUiAiLyIgR1VJX1NDSEVNRV9ESVIg Ii8iICk7Ci1AQCAtMjE1LDcgKzIxNSw3IEBACi0gCS8vIGNyZWF0ZSBzeXN0ZW0KLSAJdHJ5Ci0g CXsKLS0JCXBHdWlTeXN0ZW0gPSBuZXcgQ0VHVUk6OlN5c3RlbSggcEd1aVJlbmRlcmVyLCBycCwg TlVMTCwgTlVMTCwgIiIsIHBSZXNvdXJjZV9NYW5hZ2VyLT51c2VyX2RhdGFfZGlyICsgImNlZ3Vp LmxvZyIgKTsKLSsJCXBHdWlTeXN0ZW0gPSAmQ0VHVUk6OlN5c3RlbTo6Y3JlYXRlKCAqcEd1aVJl bmRlcmVyLCBycCwgTlVMTCwgTlVMTCwgTlVMTCwgIiIsIHBSZXNvdXJjZV9NYW5hZ2VyLT51c2Vy X2RhdGFfZGlyICsgImNlZ3VpLmxvZyIgKTsKLSAJfQotIAkvLyBjYXRjaCBDRUdVSSBFeGNlcHRp b25zCi0gCWNhdGNoKCBDRUdVSTo6RXhjZXB0aW9uICZleCApCi1AQCAtMjQyLDcgKzI0Miw3IEBA Ci0gCS8vIGxvYWQgdGhlIHNjaGVtZSBmaWxlLCB3aGljaCBhdXRvLWxvYWRzIHRoZSBpbWFnZXNl dAotIAl0cnkKLSAJewotLQkJQ0VHVUk6OlNjaGVtZU1hbmFnZXI6OmdldFNpbmdsZXRvbigpLmxv YWRTY2hlbWUoICJUYWhhcmV6TG9vay5zY2hlbWUiICk7Ci0rCQlDRUdVSTo6U2NoZW1lTWFuYWdl cjo6Z2V0U2luZ2xldG9uKCkuY3JlYXRlKCAiVGFoYXJlekxvb2suc2NoZW1lIiApOwotIAl9Ci0g CS8vIGNhdGNoIENFR1VJIEV4Y2VwdGlvbnMKLSAJY2F0Y2goIENFR1VJOjpFeGNlcHRpb24gJmV4 ICkKLUBAIC0yNTQsOSArMjU0LDcgQEAKLSAJLy8gZGVmYXVsdCBtb3VzZSBjdXJzb3IKLSAJcEd1 aVN5c3RlbS0+c2V0RGVmYXVsdE1vdXNlQ3Vyc29yKCAiVGFoYXJlekxvb2siLCAiTW91c2VBcnJv dyIgKTsKLSAJLy8gZm9yY2UgbmV3IG1vdXNlIGltYWdlCi0tCUNFR1VJOjpNb3VzZUN1cnNvcjo6 Z2V0U2luZ2xldG9uKCkuc2V0SW1hZ2UoICZDRUdVSTo6SW1hZ2VzZXRNYW5hZ2VyOjpnZXRTaW5n bGV0b24oKS5nZXRJbWFnZXNldCggIlRhaGFyZXpMb29rIiApLT5nZXRJbWFnZSggIk1vdXNlQXJy b3ciICkgKTsKLS0JLy8gaGlkZSBDRUdVSSBtb3VzZSBhbHdheXMgYmVjYXVzZSB3ZSByZW5kZXIg aXQgbWFudWFsbHkKLS0JQ0VHVUk6Ok1vdXNlQ3Vyc29yOjpnZXRTaW5nbGV0b24oKS5oaWRlKCk7 Ci0rCUNFR1VJOjpNb3VzZUN1cnNvcjo6Z2V0U2luZ2xldG9uKCkuc2V0SW1hZ2UoICZDRUdVSTo6 SW1hZ2VzZXRNYW5hZ2VyOjpnZXRTaW5nbGV0b24oKS5nZXQoICJUYWhhcmV6TG9vayIgKS5nZXRJ bWFnZSggIk1vdXNlQXJyb3ciICkgKTsKLSAJLy8gZGVmYXVsdCB0b29sdGlwCi0gCXBHdWlTeXN0 ZW0tPnNldERlZmF1bHRUb29sdGlwKCAiVGFoYXJlekxvb2svVG9vbHRpcCIgKTsKLSAJLy8gY3Jl YXRlIGRlZmF1bHQgcm9vdCB3aW5kb3cKLUBAIC01NTMsNyArNTUxLDcgQEAKLSAJCXBGb250LT5S ZXN0b3JlX1RleHR1cmVzKCk7Ci0gCi0gCQkvLyBzZW5kIG5ldyBzaXplIHRvIENFR1VJCi0tCQlw R3VpUmVuZGVyZXItPnNldERpc3BsYXlTaXplKCBDRUdVSTo6U2l6ZSggc3RhdGljX2Nhc3Q8Zmxv YXQ+KHNjcmVlbl93KSwgc3RhdGljX2Nhc3Q8ZmxvYXQ+KHNjcmVlbl9oKSApICk7Ci0rCQlwR3Vp U3lzdGVtLT5ub3RpZnlEaXNwbGF5U2l6ZUNoYW5nZWQoIENFR1VJOjpTaXplKCBzdGF0aWNfY2Fz dDxmbG9hdD4oc2NyZWVuX3cpLCBzdGF0aWNfY2FzdDxmbG9hdD4oc2NyZWVuX2gpICkgKTsKLSAK LSAJCS8vIGNoZWNrIGlmIENFR1VJIGlzIGluaXRpYWxpemVkCi0gCQlib29sIGNlZ3VpX2luaXRp YWxpemVkID0gcEd1aVN5c3RlbS0+Z2V0R1VJU2hlZXQoKSAhPSBOVUxMOwotZGlmZiAtdXIgc21j LTEuOS9zcmMvdmlkZW8vdmlkZW8uaCBzbWMtMS45LWIvc3JjL3ZpZGVvL3ZpZGVvLmgKLS0tLSBh L3NyYy92aWRlby92aWRlby5oCTIwMDktMDctMDQgMTA6NDk6NTAuMDAwMDAwMDAwICswMjAwCi0r KysgYi9zcmMvdmlkZW8vdmlkZW8uaAkyMDExLTAxLTE5IDAxOjE2OjQyLjc5MTI4MzM3OSArMDEw MAotQEAgLTIzLDcgKzIzLDcgQEAKLSAjaW5jbHVkZSAiU0RMX29wZW5nbC5oIgotIC8vIENFR1VJ Ci0gI2luY2x1ZGUgIkNFR1VJLmgiCi0tI2luY2x1ZGUgIlJlbmRlcmVyTW9kdWxlcy9PcGVuR0xH VUlSZW5kZXJlci9vcGVuZ2xyZW5kZXJlci5oIgotKyNpbmNsdWRlIDxSZW5kZXJlck1vZHVsZXMv T3BlbkdML0NFR1VJT3BlbkdMUmVuZGVyZXIuaD4KLSAKLSBuYW1lc3BhY2UgU01DCi0gewotQEAg LTEyOSwzMSArMTI5LDEwMCBAQAotIAlFRkZFQ1RfSU5fQU1PVU5UCi0gfTsKLSAKLS0vKiAqKiog KioqICoqKiAqKiogKioqICoqKiAqKiogQ0VHVUkgcmVuZGVyZXIgZmFrZSBjbGFzcyAqKiogKioq ICoqKiAqKiogKioqICoqKiAqKiogKioqICoqKiAqKiogKi8KLSsvKiAqKiogKioqICoqKiAqKiog KioqICoqKiAqKiogQ0VHVUkgcmVuZGVyZXIgZmFrZSBjbGFzc2VzICoqKiAqKiogKioqICoqKiAq KiogKioqICoqKiAqKiogKioqICoqKiAqLwotKy8vIENFR1VJIDAuNy54IHJlcXVpcmVzIG1vcmUg J2Zha2UnIGNsYXNzZXMgdGhhbiB0aGUgMC42LnggdmVyc2lvbiBkaWQuLi4KLStjbGFzcyBjRmFr ZV9HZW9tZXRyeUJ1ZmZlciA6IHB1YmxpYyBDRUdVSTo6R2VvbWV0cnlCdWZmZXIKLSt7Ci0rCXZv aWQgZHJhdygpIGNvbnN0IHt9Ci0rCXZvaWQgc2V0VHJhbnNsYXRpb24oY29uc3QgQ0VHVUk6OlZl Y3RvcjMmKSB7fQotKwl2b2lkIHNldFJvdGF0aW9uKGNvbnN0IENFR1VJOjpWZWN0b3IzJikge30K LSsJdm9pZCBzZXRQaXZvdChjb25zdCBDRUdVSTo6VmVjdG9yMyYpIHt9Ci0rCXZvaWQgc2V0Q2xp cHBpbmdSZWdpb24oY29uc3QgQ0VHVUk6OlJlY3QmKSB7fQotKwl2b2lkIGFwcGVuZFZlcnRleChj b25zdCBDRUdVSTo6VmVydGV4Jikge30KLSsJdm9pZCBhcHBlbmRHZW9tZXRyeShjb25zdCBDRUdV STo6VmVydGV4KiBjb25zdCwgQ0VHVUk6OnVpbnQpIHt9Ci0rCXZvaWQgc2V0QWN0aXZlVGV4dHVy ZShDRUdVSTo6VGV4dHVyZSopIHt9Ci0rCXZvaWQgcmVzZXQoKSB7fQotKwlDRUdVSTo6VGV4dHVy ZSogZ2V0QWN0aXZlVGV4dHVyZSgpIGNvbnN0IHsgcmV0dXJuIDA7IH0KLSsJQ0VHVUk6OnVpbnQg Z2V0VmVydGV4Q291bnQoKSBjb25zdCB7IHJldHVybiAwOyB9Ci0rCUNFR1VJOjp1aW50IGdldEJh dGNoQ291bnQoKSBjb25zdCB7IHJldHVybiAwOyB9Ci0rCXZvaWQgc2V0UmVuZGVyRWZmZWN0KENF R1VJOjpSZW5kZXJFZmZlY3QqKSB7fQotKwlDRUdVSTo6UmVuZGVyRWZmZWN0KiBnZXRSZW5kZXJF ZmZlY3QoKSB7IHJldHVybiAwOyB9Ci0rfTsKLSAKLS1jbGFzcyBjRmFrZV9SZW5kZXJlciA6IHB1 YmxpYyBDRUdVSTo6UmVuZGVyZXIKLStjbGFzcyBjRmFrZV9UZXh0dXJlIDogcHVibGljIENFR1VJ OjpUZXh0dXJlCi0rewotK3B1YmxpYzoKLSsJY0Zha2VfVGV4dHVyZSgpIDoKLSsJICBtX3NpemUo MSwgMSksCi0rCSAgbV9zY2FsaW5nKDEsIDEpIHt9Ci0rCi0rCWNvbnN0IENFR1VJOjpTaXplJiBn ZXRTaXplKCkgY29uc3QgeyByZXR1cm4gbV9zaXplOyB9Ci0rCWNvbnN0IENFR1VJOjpTaXplJiBn ZXRPcmlnaW5hbERhdGFTaXplKCkgY29uc3QgeyByZXR1cm4gbV9zaXplOyB9Ci0rCWNvbnN0IENF R1VJOjpWZWN0b3IyJiBnZXRUZXhlbFNjYWxpbmcoKSBjb25zdCB7IHJldHVybiBtX3NjYWxpbmc7 IH0KLSsJdm9pZCBsb2FkRnJvbUZpbGUoY29uc3QgQ0VHVUk6OlN0cmluZyYsIGNvbnN0IENFR1VJ OjpTdHJpbmcmKSB7fQotKwl2b2lkIGxvYWRGcm9tTWVtb3J5KGNvbnN0IHZvaWQqLCBjb25zdCBD RUdVSTo6U2l6ZSYsIENFR1VJOjpUZXh0dXJlOjpQaXhlbEZvcm1hdCkge30KLSsJdm9pZCBzYXZl VG9NZW1vcnkodm9pZCopIHt9Ci0rCi0rcHJpdmF0ZToKLSsJQ0VHVUk6OlNpemUgbV9zaXplOwot KwlDRUdVSTo6VmVjdG9yMiBtX3NjYWxpbmc7Ci0rfTsKLSsKLStjbGFzcyBjRmFrZV9SZW5kZXJU YXJnZXQgOiBwdWJsaWMgQ0VHVUk6OlJlbmRlclRhcmdldAotIHsKLSBwdWJsaWM6Ci0tCWNGYWtl X1JlbmRlcmVyKCB2b2lkICk7Ci0tCXZpcnR1YWwgfmNGYWtlX1JlbmRlcmVyKCB2b2lkICk7Ci0r CWNGYWtlX1JlbmRlclRhcmdldCgpIDogbV9hcmVhKDAsIDAsIDAsIDApIHt9Ci0rCXZvaWQgZHJh dyhjb25zdCBDRUdVSTo6R2VvbWV0cnlCdWZmZXImKSB7fQotKwl2b2lkIGRyYXcoY29uc3QgQ0VH VUk6OlJlbmRlclF1ZXVlJikge30KLSsJdm9pZCBzZXRBcmVhKGNvbnN0IENFR1VJOjpSZWN0Jikg e30KLSsJY29uc3QgQ0VHVUk6OlJlY3QmIGdldEFyZWEoKSBjb25zdCB7IHJldHVybiBtX2FyZWE7 IH0KLSsJYm9vbCBpc0ltYWdlcnlDYWNoZSgpIGNvbnN0IHsgcmV0dXJuIGZhbHNlOyB9Ci0rCXZv aWQgYWN0aXZhdGUoKSB7fQotKwl2b2lkIGRlYWN0aXZhdGUoKSB7fQotKwl2b2lkIHVucHJvamVj dFBvaW50KGNvbnN0IENFR1VJOjpHZW9tZXRyeUJ1ZmZlciYsIGNvbnN0IENFR1VJOjpWZWN0b3Iy JiwgQ0VHVUk6OlZlY3RvcjImKSBjb25zdCB7fQotKwotK3ByaXZhdGU6Ci0rCUNFR1VJOjpSZWN0 IG1fYXJlYTsKLSt9OwotIAotLQl2aXJ0dWFsCXZvaWQgYWRkUXVhZChjb25zdCBDRUdVSTo6UmVj dCYgZGVzdF9yZWN0LCBmbG9hdCB6LCBjb25zdCBDRUdVSTo6VGV4dHVyZSogdGV4LCBjb25zdCBD RUdVSTo6UmVjdCYgdGV4dHVyZV9yZWN0LCBjb25zdCBDRUdVSTo6Q29sb3VyUmVjdCYgY29sb3Vy cywgQ0VHVUk6OlF1YWRTcGxpdE1vZGUgcXVhZF9zcGxpdF9tb2RlKSB7fTsKLS0JdmlydHVhbAl2 b2lkIGRvUmVuZGVyKHZvaWQpIHt9OwotLQl2aXJ0dWFsCXZvaWQgY2xlYXJSZW5kZXJMaXN0KHZv aWQpIHt9OwotLQl2aXJ0dWFsIHZvaWQgc2V0UXVldWVpbmdFbmFibGVkKGJvb2wgc2V0dGluZykg e307Ci0tCXZpcnR1YWwJQ0VHVUk6OlRleHR1cmUgKmNyZWF0ZVRleHR1cmUodm9pZCkgeyByZXR1 cm4gTlVMTDsgfTsKLS0JdmlydHVhbAlDRUdVSTo6VGV4dHVyZSAqY3JlYXRlVGV4dHVyZShjb25z dCBDRUdVSTo6U3RyaW5nJiBmaWxlbmFtZSwgY29uc3QgQ0VHVUk6OlN0cmluZyYgcmVzb3VyY2VH cm91cCkgeyByZXR1cm4gTlVMTDsgfTsKLS0JdmlydHVhbAlDRUdVSTo6VGV4dHVyZSAqY3JlYXRl VGV4dHVyZShmbG9hdCBzaXplKSB7IHJldHVybiBOVUxMOyB9OwotLQl2aXJ0dWFsCXZvaWQgZGVz dHJveVRleHR1cmUoQ0VHVUk6OlRleHR1cmUqIHRleHR1cmUpIHt9OwotLQl2aXJ0dWFsIHZvaWQg ZGVzdHJveUFsbFRleHR1cmVzKHZvaWQpIHt9OwotLQl2aXJ0dWFsIGJvb2wgaXNRdWV1ZWluZ0Vu YWJsZWQodm9pZCkgY29uc3QgeyByZXR1cm4gMDsgfTsKLS0JdmlydHVhbCBmbG9hdCBnZXRXaWR0 aCh2b2lkKSBjb25zdCB7IHJldHVybiAwOyB9OwotLQl2aXJ0dWFsIGZsb2F0IGdldEhlaWdodCh2 b2lkKSBjb25zdCB7IHJldHVybiAwOyB9OwotLQl2aXJ0dWFsIENFR1VJOjpTaXplIGdldFNpemUo dm9pZCkgY29uc3QgeyByZXR1cm4gQ0VHVUk6OlNpemUoKTt9OwotLQl2aXJ0dWFsIENFR1VJOjpS ZWN0IGdldFJlY3Qodm9pZCkgY29uc3QgeyByZXR1cm4gQ0VHVUk6OlJlY3QoKTt9OwotLQl2aXJ0 dWFsCXVuc2lnbmVkIGludCBnZXRNYXhUZXh0dXJlU2l6ZSh2b2lkKSBjb25zdCB7IHJldHVybiAw OyB9OwotLQl2aXJ0dWFsCXVuc2lnbmVkIGludCBnZXRIb3J6U2NyZWVuRFBJKHZvaWQpIGNvbnN0 IHsgcmV0dXJuIDA7IH07Ci0tCXZpcnR1YWwJdW5zaWduZWQgaW50IGdldFZlcnRTY3JlZW5EUEko dm9pZCkgY29uc3QgeyByZXR1cm4gMDsgfTsKLStjbGFzcyBjRmFrZV9SZW5kZXJlciA6IHB1Ymxp YyBDRUdVSTo6UmVuZGVyZXIKLSt7Ci0rcHVibGljOgotKwljRmFrZV9SZW5kZXJlciggdm9pZCAp IDoKLSsJICBtX3NpemUoMCwgMCksCi0rCSAgbV9kcGkoMCwgMCksCi0rCSAgbV9pZGVudGlmaWVy U3RyaW5nKCJGYWtlIFJlbmRlcmVyIiksCi0rCSAgbV9yb290KG1fdGFyZ2V0KSB7fQotKwl+Y0Zh a2VfUmVuZGVyZXIoIHZvaWQgKSB7fQotKwotKwlDRUdVSTo6UmVuZGVyaW5nUm9vdCYgZ2V0RGVm YXVsdFJlbmRlcmluZ1Jvb3QoKSB7IHJldHVybiBtX3Jvb3Q7IH0KLSsJQ0VHVUk6Okdlb21ldHJ5 QnVmZmVyJiBjcmVhdGVHZW9tZXRyeUJ1ZmZlcigpIHsgcmV0dXJuIG1fZ2VvbWV0cnk7IH0KLSsJ dm9pZCBkZXN0cm95R2VvbWV0cnlCdWZmZXIoY29uc3QgQ0VHVUk6Okdlb21ldHJ5QnVmZmVyJikg e30KLSsJdm9pZCBkZXN0cm95QWxsR2VvbWV0cnlCdWZmZXJzKCkge30KLSsJQ0VHVUk6OlRleHR1 cmVUYXJnZXQqIGNyZWF0ZVRleHR1cmVUYXJnZXQoKSB7IHJldHVybiAwOyB9Ci0rCXZvaWQgZGVz dHJveVRleHR1cmVUYXJnZXQoQ0VHVUk6OlRleHR1cmVUYXJnZXQqKSB7fQotKwl2b2lkIGRlc3Ry b3lBbGxUZXh0dXJlVGFyZ2V0cygpIHt9Ci0rCUNFR1VJOjpUZXh0dXJlJiBjcmVhdGVUZXh0dXJl KCkgeyByZXR1cm4gbV90ZXh0dXJlOyB9Ci0rCUNFR1VJOjpUZXh0dXJlJiBjcmVhdGVUZXh0dXJl KGNvbnN0IENFR1VJOjpTdHJpbmcmLCBjb25zdCBDRUdVSTo6U3RyaW5nJikgeyByZXR1cm4gbV90 ZXh0dXJlOyB9Ci0rCUNFR1VJOjpUZXh0dXJlJiBjcmVhdGVUZXh0dXJlKGNvbnN0IENFR1VJOjpT aXplJikgeyByZXR1cm4gbV90ZXh0dXJlOyB9Ci0rCXZvaWQgZGVzdHJveVRleHR1cmUoQ0VHVUk6 OlRleHR1cmUmKSB7fQotKwl2b2lkIGRlc3Ryb3lBbGxUZXh0dXJlcygpIHt9Ci0rCXZvaWQgYmVn aW5SZW5kZXJpbmcoKSB7fQotKwl2b2lkIGVuZFJlbmRlcmluZygpIHt9Ci0rCXZvaWQgc2V0RGlz cGxheVNpemUoY29uc3QgQ0VHVUk6OlNpemUmKSB7fQotKwljb25zdCBDRUdVSTo6U2l6ZSYgZ2V0 RGlzcGxheVNpemUoKSBjb25zdCB7IHJldHVybiBtX3NpemU7IH0KLSsJY29uc3QgQ0VHVUk6OlZl Y3RvcjImIGdldERpc3BsYXlEUEkoKSBjb25zdCB7cmV0dXJuIG1fZHBpOyB9Ci0rCUNFR1VJOjp1 aW50IGdldE1heFRleHR1cmVTaXplKCkgY29uc3QgeyByZXR1cm4gMDsgfQotKwljb25zdCBDRUdV STo6U3RyaW5nJiBnZXRJZGVudGlmaWVyU3RyaW5nKCkgY29uc3QgeyByZXR1cm4gbV9pZGVudGlm aWVyU3RyaW5nOyB9Ci0rCi0rcHJpdmF0ZToKLSsJQ0VHVUk6OlNpemUgbV9zaXplOwotKwlDRUdV STo6VmVjdG9yMiBtX2RwaTsKLSsJQ0VHVUk6OlN0cmluZyBtX2lkZW50aWZpZXJTdHJpbmc7Ci0r CWNGYWtlX0dlb21ldHJ5QnVmZmVyIG1fZ2VvbWV0cnk7Ci0rCWNGYWtlX1RleHR1cmUgbV90ZXh0 dXJlOwotKwljRmFrZV9SZW5kZXJUYXJnZXQgbV90YXJnZXQ7Ci0rCUNFR1VJOjpSZW5kZXJpbmdS b290IG1fcm9vdDsKLSB9OwotIAotIC8qICoqKiAqKiogKioqICoqKiAqKiogKioqICoqKiBWaWRl byBjbGFzcyAqKiogKioqICoqKiAqKiogKioqICoqKiAqKiogKioqICoqKiAqKiogKi8KZGlmZiAt LWdpdCBhL3NyY3BrZ3MvU01DL3RlbXBsYXRlIGIvc3JjcGtncy9TTUMvdGVtcGxhdGUKZGVsZXRl ZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGQ2NzQ2OWZjMThhOC4uMDAwMDAwMDAwMDAwCi0tLSBh L3NyY3BrZ3MvU01DL3RlbXBsYXRlCisrKyAvZGV2L251bGwKQEAgLTEsMzcgKzAsMCBAQAotIyBU ZW1wbGF0ZSBmaWxlIGZvciAnU01DJwotcGtnbmFtZT1TTUMKLXZlcnNpb249MS45Ci1yZXZpc2lv bj05Ci13cmtzcmM9JHtwa2duYW1lLCx9LSR7dmVyc2lvbn0KLWJ1aWxkX3N0eWxlPWdudS1jb25m aWd1cmUKLWhvc3RtYWtlZGVwZW5kcz0iYXV0b21ha2UgbGlidG9vbCBnZXR0ZXh0LWRldmVsIHBr Zy1jb25maWcgdW56aXAiCi1tYWtlZGVwZW5kcz0iTWVzYUxpYi1kZXZlbCBib29zdC1kZXZlbCBj ZWd1aTA3LWRldmVsIGdldHRleHQtZGV2ZWwKLSBTRExfaW1hZ2UtZGV2ZWwgU0RMX21peGVyLWRl dmVsIFNETF90dGYtZGV2ZWwiCi1zaG9ydF9kZXNjPSJUd28tZGltZW5zaW9uYWwgcGxhdGZvcm0g Z2FtZSBzaW1pbGFyIHRvIFN1cGVyIE1hcmlvIgotbWFpbnRhaW5lcj0iT3JwaGFuZWQgPG9ycGhh bkB2b2lkbGludXgub3JnPiIKLWxpY2Vuc2U9IkdQTC0zLjAtb3ItbGF0ZXIiCi1ob21lcGFnZT0i aHR0cDovL3d3dy5zZWNyZXRtYXJ5by5vcmcvIgotZGlzdGZpbGVzPSIKLSAke1NPVVJDRUZPUkdF X1NJVEV9L3NtY2xvbmUvJHtwa2duYW1lLCx9LSR7dmVyc2lvbn0udGFyLmJ6MgotICR7U09VUkNF Rk9SR0VfU0lURX0vc21jbG9uZS9TTUNfTXVzaWNfNS4wX2hpZ2guemlwIgotY2hlY2tzdW09Igot IGI0MTk0ZTcwZDNmMWRlM2RhODg0ZGQxYTExZTRmNWNlYzI1YTIwNWY2NmEzYjg1Y2M5ZmMxYzg2 Mjg5YjIzN2QKLSBjNWJiMmUxODMwYzdjYmU0OTljOTM4NTFmNWEwMmIyYjkwMGI0NzMwZDJjN2Ex MzNhNDRhN2I0M2EyOTdkYWI4IgotcmVwbGFjZXM9IlNNQy1kYXRhPj0wIgotCi1DWFhGTEFHUz0i LWZwZXJtaXNzaXZlIC1zdGQ9YysrMTEiCi1MREZMQUdTPSItV2wsLS1uby1hcy1uZWVkZWQgLWxY MTEgLWxib29zdF9zeXN0ZW0iCi0KLXBvc3RfZXh0cmFjdCgpIHsKLQkjIHJlbW92ZSBDUnMgZnJv bSBlbmQgb2YgbGluZQotCWZpbmQgJHt3cmtzcmN9L3NyYyAtdHlwZSBmIC1leGVjIHNlZCAtaSAi e30iIC1lICJzO1xyJDs7IiBcOwotCW12ICR7WEJQU19CVUlMRERJUn0vZGF0YS9tdXNpYy8qICR7 d3Jrc3JjfS9kYXRhL211c2ljCi19Ci1wcmVfY29uZmlndXJlKCkgewotCXZzZWQgLWkgY29uZmln dXJlLmFjIC1lICIvQU1fSU5JVF9BVVRPTUFLRS9zLykvIHN1YmRpci1vYmplY3RzKS8iCi0JTk9D T05GSUdVUkU9MSAuL2F1dG9nZW4uc2gKLX0KLXBvc3RfaW5zdGFsbCgpIHsKLQl2aW5zdGFsbCAk e0ZJTEVTRElSfS9zbWMuZGVza3RvcCA2NDQgdXNyL3NoYXJlL2FwcGxpY2F0aW9ucwotCXZpbnN0 YWxsICR7RklMRVNESVJ9L3NtYy5wbmcgNjQ0IHVzci9zaGFyZS9waXhtYXBzCi19CmRpZmYgLS1n aXQgYS9zcmNwa2dzL3JlbW92ZWQtcGFja2FnZXMvdGVtcGxhdGUgYi9zcmNwa2dzL3JlbW92ZWQt cGFja2FnZXMvdGVtcGxhdGUKaW5kZXggMGQxMTgwYWQ0OTAzLi40OTBjZjQwZjhiOTYgMTAwNjQ0 Ci0tLSBhL3NyY3BrZ3MvcmVtb3ZlZC1wYWNrYWdlcy90ZW1wbGF0ZQorKysgYi9zcmNwa2dzL3Jl bW92ZWQtcGFja2FnZXMvdGVtcGxhdGUKQEAgLTEzLDYgKzEzLDcgQEAgcmVwbGFjZXM9IgogIE1v aW5Nb2luPD0xLjkuMTFfMQogIE11bHRpTUM8PTAuNi4xM18xCiAgUGxhdGludW05LXRoZW1lPD0w LjAuMC4yMDE3MDcyMF8zCisgU01DPD0xLjlfOQogIFZlbm9tPD0wLjUuNV8xCiAgWG9yQ3Vyc2Vz PD0wLjIuMl8xCiAgYWNtZS1jbGllbnQ8PTAuMS4xNl81CgpGcm9tIDIxNjY1OTdmOGJmNTA5NzVm NTQxM2Y0ZDAxNDBiMzMzNDExZThkMjUgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCkZyb206IEpv ZWwgQmVja21leWVyIDxqb2VsQGJlY2ttZXllci51cz4KRGF0ZTogTW9uLCAxNSBBdWcgMjAyMiAw ODozNjoyOCAtMDQwMApTdWJqZWN0OiBbUEFUQ0ggMi8zXSBjZWd1aTA3OiByZW1vdmUgcGFja2Fn ZQoKaXQgd2FzIG9ubHkgdXNlZCBmb3IgU01DLCB3aGljaCB3YXMgYWxyZWFkeSByZW1vdmVkCi0t LQogY29tbW9uL3NobGlicyAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgMTQgLS0tLQogc3Jj cGtncy9jZWd1aTA3LWRhdGEgICAgICAgICAgICAgICAgICAgIHwgIDEgLQogc3JjcGtncy9jZWd1 aTA3LWRldmVsICAgICAgICAgICAgICAgICAgIHwgIDEgLQogc3JjcGtncy9jZWd1aTA3LWRvYyAg ICAgICAgICAgICAgICAgICAgIHwgIDEgLQogc3JjcGtncy9jZWd1aTA3L3BhdGNoZXMvZml4LWJ1 aWxkLnBhdGNoIHwgODEgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogc3JjcGtncy9jZWd1aTA3L3Rl bXBsYXRlICAgICAgICAgICAgICAgIHwgOTEgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogc3Jj cGtncy9jZWd1aTA3L3VwZGF0ZSAgICAgICAgICAgICAgICAgIHwgIDEgLQogc3JjcGtncy9yZW1v dmVkLXBhY2thZ2VzL3RlbXBsYXRlICAgICAgIHwgIDQgKysKIDggZmlsZXMgY2hhbmdlZCwgNCBp bnNlcnRpb25zKCspLCAxOTAgZGVsZXRpb25zKC0pCiBkZWxldGUgbW9kZSAxMjAwMDAgc3JjcGtn cy9jZWd1aTA3LWRhdGEKIGRlbGV0ZSBtb2RlIDEyMDAwMCBzcmNwa2dzL2NlZ3VpMDctZGV2ZWwK IGRlbGV0ZSBtb2RlIDEyMDAwMCBzcmNwa2dzL2NlZ3VpMDctZG9jCiBkZWxldGUgbW9kZSAxMDA2 NDQgc3JjcGtncy9jZWd1aTA3L3BhdGNoZXMvZml4LWJ1aWxkLnBhdGNoCiBkZWxldGUgbW9kZSAx MDA2NDQgc3JjcGtncy9jZWd1aTA3L3RlbXBsYXRlCiBkZWxldGUgbW9kZSAxMDA2NDQgc3JjcGtn cy9jZWd1aTA3L3VwZGF0ZQoKZGlmZiAtLWdpdCBhL2NvbW1vbi9zaGxpYnMgYi9jb21tb24vc2hs aWJzCmluZGV4IDAxZjZmMjc1M2ZjMy4uNGU1ZTMyMGM3YmJiIDEwMDY0NAotLS0gYS9jb21tb24v c2hsaWJzCisrKyBiL2NvbW1vbi9zaGxpYnMKQEAgLTI0MDQsMjAgKzI0MDQsNiBAQCBsaWJTSUxM WS5zby4xIHNpbGx5LTAuMS4wXzEKIGxpYmtleWJpbmRlci0zLjAuc28uMCBsaWJrZXliaW5kZXIz LTAuMy4wXzEKIGxpYmJybGFwaS5zby4wLjggYnJsdHR5LTYuMV8xCiBsaWJsb3Vpcy5zby4yMCBs aWJsb3Vpcy0zLjExLjBfMQotbGliQ0VHVUlCYXNlLTAuNy45LnNvIGNlZ3VpMDctMC43LjlfMQot bGliQ0VHVUlGYWxhZ2FyZFdSQmFzZS0wLjcuOS5zbyBjZWd1aTA3LTAuNy45XzEKLWxpYkNFR1VJ RGV2SUxJbWFnZUNvZGVjLTAuNy45LnNvIGNlZ3VpMDctMC43LjlfMQotbGliQ0VHVUlFeHBhdFBh cnNlci0wLjcuOS5zbyBjZWd1aTA3LTAuNy45XzEKLWxpYkNFR1VJT3BlbkdMUmVuZGVyZXItMC43 Ljkuc28gY2VndWkwNy0wLjcuOV8xCi1saWJDRUdVSUlycmxpY2h0UmVuZGVyZXItMC43Ljkuc28g Y2VndWkwNy0wLjcuOV8xCi1saWJDRUdVSUxpYnhtbFBhcnNlci0wLjcuOS5zbyBjZWd1aTA3LTAu Ny45XzEKLWxpYkNFR1VJTHVhU2NyaXB0TW9kdWxlLTAuNy45LnNvIGNlZ3VpMDctMC43LjlfMQot bGliQ0VHVUlTSUxMWUltYWdlQ29kZWMtMC43Ljkuc28gY2VndWkwNy0wLjcuOV8xCi1saWJDRUdV SVNUQkltYWdlQ29kZWMtMC43Ljkuc28gY2VndWkwNy0wLjcuOV8xCi1saWJDRUdVSUZyZWVJbWFn ZUltYWdlQ29kZWMtMC43Ljkuc28gY2VndWkwNy0wLjcuOV8zCi1saWJDRUdVSVRHQUltYWdlQ29k ZWMtMC43Ljkuc28gY2VndWkwNy0wLjcuOV8xCi1saWJDRUdVSVRpbnlYTUxQYXJzZXItMC43Ljku c28gY2VndWkwNy0wLjcuOV8xCi1saWJDRUdVSXRvbHVhcHAtMC43Ljkuc28gY2VndWkwNy0wLjcu OV8xCiBsaWJDRUdVSUJhc2UtMC5zby4yIGNlZ3VpLTAuOC43XzEKIGxpYkNFR1VJT3BlbkdMUmVu ZGVyZXItMC5zby4yIGNlZ3VpLTAuOC43XzEKIGxpYkNFR1VJT2dyZVJlbmRlcmVyLTAuc28uMiBj ZWd1aS0wLjguN18xCmRpZmYgLS1naXQgYS9zcmNwa2dzL2NlZ3VpMDctZGF0YSBiL3NyY3BrZ3Mv Y2VndWkwNy1kYXRhCmRlbGV0ZWQgZmlsZSBtb2RlIDEyMDAwMAppbmRleCBmN2YwMmY2NWFjNGMu LjAwMDAwMDAwMDAwMAotLS0gYS9zcmNwa2dzL2NlZ3VpMDctZGF0YQorKysgL2Rldi9udWxsCkBA IC0xICswLDAgQEAKLWNlZ3VpMDcKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1n aXQgYS9zcmNwa2dzL2NlZ3VpMDctZGV2ZWwgYi9zcmNwa2dzL2NlZ3VpMDctZGV2ZWwKZGVsZXRl ZCBmaWxlIG1vZGUgMTIwMDAwCmluZGV4IGY3ZjAyZjY1YWM0Yy4uMDAwMDAwMDAwMDAwCi0tLSBh L3NyY3BrZ3MvY2VndWkwNy1kZXZlbAorKysgL2Rldi9udWxsCkBAIC0xICswLDAgQEAKLWNlZ3Vp MDcKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9zcmNwa2dzL2NlZ3Vp MDctZG9jIGIvc3JjcGtncy9jZWd1aTA3LWRvYwpkZWxldGVkIGZpbGUgbW9kZSAxMjAwMDAKaW5k ZXggZjdmMDJmNjVhYzRjLi4wMDAwMDAwMDAwMDAKLS0tIGEvc3JjcGtncy9jZWd1aTA3LWRvYwor KysgL2Rldi9udWxsCkBAIC0xICswLDAgQEAKLWNlZ3VpMDcKXCBObyBuZXdsaW5lIGF0IGVuZCBv ZiBmaWxlCmRpZmYgLS1naXQgYS9zcmNwa2dzL2NlZ3VpMDcvcGF0Y2hlcy9maXgtYnVpbGQucGF0 Y2ggYi9zcmNwa2dzL2NlZ3VpMDcvcGF0Y2hlcy9maXgtYnVpbGQucGF0Y2gKZGVsZXRlZCBmaWxl IG1vZGUgMTAwNjQ0CmluZGV4IDI1MzMwNjE4MTBhZC4uMDAwMDAwMDAwMDAwCi0tLSBhL3NyY3Br Z3MvY2VndWkwNy9wYXRjaGVzL2ZpeC1idWlsZC5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDgx ICswLDAgQEAKLS0tLSBhL2NlZ3VpL2luY2x1ZGUvQ0VHVUlTeXN0ZW0uaAotKysrIGIvY2VndWkv aW5jbHVkZS9DRUdVSVN5c3RlbS5oCi1AQCAtMTEyMywxMiArMTEyMyw2IEBACi0gICAgICAgICAg ICBTY3JpcHRNb2R1bGUqIHNjcmlwdE1vZHVsZSwgY29uc3QgU3RyaW5nJiBjb25maWdGaWxlLAot ICAgICAgICAgICAgY29uc3QgU3RyaW5nJiBsb2dGaWxlKTsKLSAKLS0gICAgLyohCi0tICAgIFxi cmllZgotLSAgICAgICAgRGVzdHJ1Y3RvciBmb3IgU3lzdGVtIG9iamVjdHMuCi0tICAgICovCi0t ICAgIH5TeXN0ZW0odm9pZCk7Ci0tCi0gCS8qIQotIAlcYnJpZWYKLSAJCUdpdmVuIFBvaW50IFxh IHB0LCByZXR1cm4gYSBwb2ludGVyIHRvIHRoZSBXaW5kb3cgdGhhdCBzaG91bGQgcmVjZWl2ZSBh IG1vdXNlIGlucHV0IGlmIFxhIHB0IGlzIHRoZSBtb3VzZSBsb2NhdGlvbi4KLUBAIC0xMzY0LDYg KzEzNTgsMTMgQEAKLSAgICAgUmVuZGVyZWRTdHJpbmdQYXJzZXIqIGRfY3VzdG9tUmVuZGVyZWRT dHJpbmdQYXJzZXI7Ci0gICAgIC8vISB0cnVlIGlmIG1vdXNlIGNsaWNrIGV2ZW50cyB3aWxsIGJl IGF1dG9tYXRpY2FsbHkgZ2VuZXJhdGVkLgotICAgICBib29sIGRfZ2VuZXJhdGVNb3VzZUNsaWNr RXZlbnRzOwotKwotK3Byb3RlY3RlZDoKLSsgICAgLyohCi0rICAgIFxicmllZgotKyAgICAgICAg RGVzdHJ1Y3RvciBmb3IgU3lzdGVtIG9iamVjdHMuCi0rICAgICovCi0rICAgIH5TeXN0ZW0odm9p ZCk7Ci0gfTsKLSAKLSB9IC8vIEVuZCBvZiAgQ0VHVUkgbmFtZXNwYWNlIHNlY3Rpb24KLS0tLSBh L2NlZ3VpL2luY2x1ZGUvUmVuZGVyZXJNb2R1bGVzL09wZW5HTC9DRUdVSU9wZW5HTFJlbmRlcmVy LmgKLSsrKyBiL2NlZ3VpL2luY2x1ZGUvUmVuZGVyZXJNb2R1bGVzL09wZW5HTC9DRUdVSU9wZW5H TFJlbmRlcmVyLmgKLUBAIC0yOTEsMTIgKzI5MSw2IEBACi0gICAgICovCi0gICAgIE9wZW5HTFJl bmRlcmVyKGNvbnN0IFNpemUmIGRpc3BsYXlfc2l6ZSwgY29uc3QgVGV4dHVyZVRhcmdldFR5cGUg dHRfdHlwZSk7Ci0gCi0tICAgIC8qIQotLSAgICBcYnJpZWYKLS0gICAgICAgIERlc3RydWN0b3Ig Zm9yIE9wZW5HTFJlbmRlcmVyIG9iamVjdHMKLS0gICAgKi8KLS0gICAgdmlydHVhbCB+T3BlbkdM UmVuZGVyZXIoKTsKLS0KLSAgICAgLy8hIGluaXQgdGhlIGV4dHJhIEdMIHN0YXRlcyBlbmFibGVk IHZpYSBlbmFibGVFeHRyYVN0YXRlU2V0dGluZ3MKLSAgICAgdm9pZCBzZXR1cEV4dHJhU3RhdGVz KCk7Ci0gCi1AQCAtMzM2LDYgKzMzMCwxMyBAQAotICAgICBPR0xUZXh0dXJlVGFyZ2V0RmFjdG9y eSogZF90ZXh0dXJlVGFyZ2V0RmFjdG9yeTsKLSAgICAgLy8hIFdoYXQgYmxlbmQgbW9kZSB3ZSB0 aGluayBpcyBhY3RpdmUuCi0gICAgIEJsZW5kTW9kZSBkX2FjdGl2ZUJsZW5kTW9kZTsKLSsKLStw cm90ZWN0ZWQ6Ci0rICAgIC8qIQotKyAgICBcYnJpZWYKLSsgICAgICAgIERlc3RydWN0b3IgZm9y IE9wZW5HTFJlbmRlcmVyIG9iamVjdHMKLSsgICAgKi8KLSsgICAgdmlydHVhbCB+T3BlbkdMUmVu ZGVyZXIoKTsKLSAgIH07Ci0gCi0gfSAvLyBFbmQgb2YgIENFR1VJIG5hbWVzcGFjZSBzZWN0aW9u Ci0tLS0gYS9jZWd1aS9zcmMvWE1MUGFyc2VyTW9kdWxlcy9UaW55WE1MUGFyc2VyL0NFR1VJVGlu eVhNTFBhcnNlci5jcHAKLSsrKyBiL2NlZ3VpL3NyYy9YTUxQYXJzZXJNb2R1bGVzL1RpbnlYTUxQ YXJzZXIvQ0VHVUlUaW55WE1MUGFyc2VyLmNwcAotQEAgLTE0NSw3ICsxNDUsNyBAQAotICAgICAg ICAgICAgICAgICBwcm9jZXNzRWxlbWVudChjaGlsZE5vZGUtPlRvRWxlbWVudCgpKTsKLSAgICAg ICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgICAgICAgY2FzZSBDRUdVSV9USU5ZWE1MX05BTUVT UEFDRTo6VGlYbWxOb2RlOjpDRUdVSV9USU5ZWE1MX1RFWFQ6Ci0tICAgICAgICAgICAgICAgIGlm IChjaGlsZE5vZGUtPlRvVGV4dCgpLT5WYWx1ZSgpICE9ICdcMCcpCi0rICAgICAgICAgICAgICAg IGlmIChjaGlsZE5vZGUtPlRvVGV4dCgpLT5WYWx1ZSgpICE9IE5VTEwpCi0gICAgICAgICAgICAg ICAgICAgICBkX2hhbmRsZXItPnRleHQoKHV0ZjgqKWNoaWxkTm9kZS0+VG9UZXh0KCktPlZhbHVl KCkpOwotICAgICAgICAgICAgICAgICBicmVhazsKLSAKLS0tLSBhL2NvbmZpZ3VyZS5hYwotKysr IGIvY29uZmlndXJlLmFjCi1AQCAtMTQsNyArMTQsOCBAQAotIAotIEFDX0lOSVQoW0NFR1VJXSwg W0NFR1VJX1JFTEVBU0VfVkVSU0lPTl0sIFtodHRwOi8vbWFudGlzLmNlZ3VpLm9yZy51ay9dLCBb Q0VHVUldKQotIEFDX0NPTkZJR19TUkNESVIoW2NlZ3VpL3NyYy9DRUdVSUJhc2UuY3BwXSkKLS1B TV9JTklUX0FVVE9NQUtFKFtkaXN0LXppcCB0YXItdXN0YXJdKQotK0FNX0lOSVRfQVVUT01BS0Uo W2Rpc3QtemlwIHRhci11c3RhciBzdWJkaXItb2JqZWN0c10pCi0rQU1fU0lMRU5UX1JVTEVTKFt5 ZXNdKQotIEFDX0NPTkZJR19IRUFERVIoW2NlZ3VpL2luY2x1ZGUvY29uZmlnLmhdKQotIEFDX0NB Tk9OSUNBTF9IT1NUCi0gCmRpZmYgLS1naXQgYS9zcmNwa2dzL2NlZ3VpMDcvdGVtcGxhdGUgYi9z cmNwa2dzL2NlZ3VpMDcvdGVtcGxhdGUKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDNm YTdmODBhMmVhNy4uMDAwMDAwMDAwMDAwCi0tLSBhL3NyY3BrZ3MvY2VndWkwNy90ZW1wbGF0ZQor KysgL2Rldi9udWxsCkBAIC0xLDkxICswLDAgQEAKLSMgVGVtcGxhdGUgZmlsZSBmb3IgJ2NlZ3Vp MDcnCi1wa2duYW1lPWNlZ3VpMDcKLXZlcnNpb249MC43LjkKLXJldmlzaW9uPTgKLXdya3NyYz0i Q0VHVUktJHt2ZXJzaW9ufSIKLWJ1aWxkX3N0eWxlPWdudS1jb25maWd1cmUKLWNvbmZpZ3VyZV9h cmdzPSItLWRpc2FibGUtc2FtcGxlcyIKLW1ha2VfYnVpbGRfYXJncz0iYWxsIGh0bWwiCi1ob3N0 bWFrZWRlcGVuZHM9ImF1dG9tYWtlIGRlamF2dS1mb250cy10dGYgZG94eWdlbiBnbG0gZ3JhcGh2 aXogbGlidG9vbAotIHBrZy1jb25maWcgcHl0aG9uIgotbWFrZWRlcGVuZHM9ImJvb3N0LWRldmVs IGRldmlsLWRldmVsIGZyZWVpbWFnZS1kZXZlbCBmcmVldHlwZS1kZXZlbAotIGZyaWJpZGktZGV2 ZWwgZ2xmdy1kZXZlbCBsaWJ4bWwyLWRldmVsIGx1YTUxLWRldmVsIG1pbml6aXAtZGV2ZWwgb2lz LWRldmVsCi0gcGNyZS1kZXZlbCBzaWxseS1kZXZlbCB0aW55eG1sLWRldmVsIHRvbHVhcHAtZGV2 ZWwKLSAkKHZvcHRfaWYgaXJybGljaHQgJ2lycmxpY2h0LWRldmVsJykKLSAkKHZvcHRfaWYgcHl0 aG9uICdweXRob24tZGV2ZWwnKSIKLWRlcGVuZHM9ImNlZ3VpMDctZGF0YSIKLXNob3J0X2Rlc2M9 IkNyYXp5IEVkZGllJ3MgR3JhcGhpY2FsIFVzZXIgSW50ZXJmYWNlICgwLjcueCkiCi1tYWludGFp bmVyPSJPcnBoYW5lZCA8b3JwaGFuQHZvaWRsaW51eC5vcmc+IgotbGljZW5zZT0iTUlUIgotaG9t ZXBhZ2U9Imh0dHA6Ly9jZWd1aS5vcmcudWsvIgotZGlzdGZpbGVzPSIke1NPVVJDRUZPUkdFX1NJ VEV9L2NyYXl6ZWRzZ3VpL0NFR1VJJTIwTWstMi8ke3ZlcnNpb259L0NFR1VJLSR7dmVyc2lvbn0u dGFyLmd6IgotY2hlY2tzdW09N2MzYjI2NGRlZjA4YjQ2ZGU3NDljMmFjYWJhMzYzZTkwNzQ3OWQ5 MjQ2MTI0MzZmM2JkMDlkYTJlNDc0YmI4YwotCi1idWlsZF9vcHRpb25zPSJpcnJsaWNodCBweXRo b24iCi1kZXNjX29wdGlvbl9pcnJsaWNodD0iRW5hYmxlIHN1cHBvcnQgZm9yIElycmxpY2h0Igot YnVpbGRfb3B0aW9uc19kZWZhdWx0PSJpcnJsaWNodCIKLQotaWYgWyAteiAiJENST1NTX0JVSUxE IiBdOyB0aGVuCi0JIyBYWFg6IGJvb3N0LXB5dGhvbiBpcyBub3QgYXZhaWxhYmxlIHdoZW4gY3Jv c3MgYnVpbGRpbmcKLQlidWlsZF9vcHRpb25zX2RlZmF1bHQrPSIgcHl0aG9uIgotZmkKLQotIyBN YWtlIGNvbmZpZ3VyZSBmaW5kIHB5dGhvbiBhbmQgZnJlZXR5cGUyCi1DRkxBR1M9Ii1JJHtYQlBT X0NST1NTX0JBU0V9L3Vzci9pbmNsdWRlL3B5dGhvbjIuNyIKLQotcHJlX2NvbmZpZ3VyZSgpIHsK LQkjIFNpbGVuY2UgZG94eWdlbgotCXNlZCAtaSBkb2MvZG94eWdlbi9NYWtlZmlsZS5hbSBcCi0J CS1lICdzOyQoRE9YWUdFTikgZG94eWZpbGU7JiA+L2Rldi9udWxsIDI+JjE7JwotCi0JIyBNb2Rl cm5pemUgTWFrZWZpbGUuYW0gZmlsZXMKLQlmaW5kIC4gLW5hbWUgTWFrZWZpbGUuYW0gLWV4ZWMg c2VkIC1pICJ7fSIgXAotCQktZSAiMWkgQUNMT0NBTF9BTUZMQUdTID0gLUkgbTQiIFwKLQkJLWUg InM7SU5DTFVERVM7QU1fQ1hYRkxBR1M7ZyIgXDsKLQotCSMgU2V0IEFNX0NQUEZMQUdTIGZvciB0 aGUgQyBzb3VyY2UgaW4gdG9sdWErKwotCXNlZCAtaSBjZWd1aS9zcmMvU2NyaXB0aW5nTW9kdWxl cy9MdWFTY3JpcHRNb2R1bGUvc3VwcG9ydC90b2x1YSsrL01ha2VmaWxlLmFtIFwKLQkJLWUgInM7 QU1fQ1hYRkxBR1M7QU1fQ0ZMQUdTOyIKLQotCSMgTW9kZXJuaXplIGNvbmZpZ3VyZS5hYyAoZW5h YmxlIHN1YmRpci1vYmplY3RzKQotCXNlZCAtaSBjb25maWd1cmUuYWMgXAotCQktZSAicztkaXN0 LXppcCB0YXItdXN0YXI7JiBzdWJkaXItb2JqZWN0czsiIFwKLQkJLWUgIi9eQU1fSU5JVF9BVVRP TUFLRS4qL2EgQUNfQ09ORklHX01BQ1JPX0RJUlMoW200XSkiCi0KLQlta2RpciAtcCBtNAotCWNw IGRvYy9DT1BZSU5HIGRvYy9SRUFETUUgLgotCXRvdWNoIE5FV1MgQVVUSE9SUyBDaGFuZ2VMb2cK LQlhdXRvcmVjb25mIC1pZgotfQotcG9zdF9pbnN0YWxsKCkgewotCXZsaWNlbnNlIENPUFlJTkcK LQl2ZG9jIGRvYy9SRUFETUUKLQl2ZG9jIGRvYy9HTEVXLUxJQ0VOU0UKLQl2ZG9jIGRvYy9QQ1JF LUxJQ0VOU0UKLQl2ZG9jIGRvYy9UaW55WE1MLUxpY2Vuc2UKLQl2ZG9jIGRvYy9zdHJpbmdlbmNv ZGVycy1saWNlbnNlCi19Ci0KLWNlZ3VpMDctZGF0YV9wYWNrYWdlKCkgewotCXNob3J0X2Rlc2Mr PSIgLSBkYXRhIGZpbGVzIgotCXBrZ19pbnN0YWxsKCkgewotCQl2bW92ZSB1c3Ivc2hhcmUvQ0VH VUkKLQl9Ci19Ci1jZWd1aTA3LWRvY19wYWNrYWdlKCkgewotCXNob3J0X2Rlc2MrPSIgLSBkb2N1 bWVudGF0aW9uIgotCXBrZ19pbnN0YWxsKCkgewotCQl2bWtkaXIgdXNyL3NoYXJlL2RvYy8ke3Nv dXJjZXBrZ30KLQkJdmNvcHkgJHt3cmtzcmN9L2RvYy9kb3h5Z2VuL2h0bWwgdXNyL3NoYXJlL2Rv Yy8ke3NvdXJjZXBrZ30KLQl9Ci19Ci1jZWd1aTA3LWRldmVsX3BhY2thZ2UoKSB7Ci0JZGVwZW5k cz0iJHttYWtlZGVwZW5kc30gJHtzb3VyY2Vwa2d9Pj0ke3ZlcnNpb259XyR7cmV2aXNpb259Igot CXNob3J0X2Rlc2MrPSIgLSBkZXZlbG9wbWVudCBmaWxlcyIKLQlwa2dfaW5zdGFsbCgpIHsKLQkJ dm1vdmUgdXNyL2luY2x1ZGUKLQkJdm1vdmUgdXNyL2xpYi9wa2djb25maWcKLQkJIyBNb3ZlIG9u bHkgdGhlIHN5bWxpbmsgKi5zbyBmaWxlcwotCQlmaW5kICR7REVTVERJUn0vdXNyL2xpYi8gLXR5 cGUgbCAtZXhlYyBtdiAie30iICR7UEtHREVTVERJUn0vdXNyL2xpYiBcOwotCX0KLX0KZGlmZiAt LWdpdCBhL3NyY3BrZ3MvY2VndWkwNy91cGRhdGUgYi9zcmNwa2dzL2NlZ3VpMDcvdXBkYXRlCmRl bGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMzQxMzI4NzY2ZTkuLjAwMDAwMDAwMDAwMAot LS0gYS9zcmNwa2dzL2NlZ3VpMDcvdXBkYXRlCisrKyAvZGV2L251bGwKQEAgLTEgKzAsMCBAQAot cGF0dGVybj0nQ0VHVUkgTWstMi9cSzBcLjdcLltcZF0rJwpkaWZmIC0tZ2l0IGEvc3JjcGtncy9y ZW1vdmVkLXBhY2thZ2VzL3RlbXBsYXRlIGIvc3JjcGtncy9yZW1vdmVkLXBhY2thZ2VzL3RlbXBs YXRlCmluZGV4IDQ5MGNmNDBmOGI5Ni4uMjcyZDI0MGE0MjlkIDEwMDY0NAotLS0gYS9zcmNwa2dz L3JlbW92ZWQtcGFja2FnZXMvdGVtcGxhdGUKKysrIGIvc3JjcGtncy9yZW1vdmVkLXBhY2thZ2Vz L3RlbXBsYXRlCkBAIC0zNyw2ICszNywxMCBAQCByZXBsYWNlcz0iCiAgY2FsaWZvcm5pYTw9MC40 LjBfNAogIGNhcHN0b25lLXB5dGhvbjw9NC4wLjJfMwogIGNhcHRhaW4tYmFsbGFyZDw9MS4wLjBf MgorIGNlZ3VpMDc8PTAuNy45XzgKKyBjZWd1aTA3LWRhdGE8PTAuNy45XzgKKyBjZWd1aTA3LWRl dmVsPD0wLjcuOV84CisgY2VndWkwNy1kb2M8PTAuNy45XzgKICBjZ21pbmVyPD00LjExLjFfMQog IGNsYW16PD0wLjVfNAogIGNvdWNoZGI8PTEuNy4xXzIKCkZyb20gNGVhMmEwMDkxMzIyZDEzMWFm ZTdjNjBmODUxZjk2MGIzMTUxMDFjZCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKRnJvbTogSm9l bCBCZWNrbWV5ZXIgPGpvZWxAYmVja21leWVyLnVzPgpEYXRlOiBUaHUsIDExIEF1ZyAyMDIyIDEy OjE2OjM1IC0wNDAwClN1YmplY3Q6IFtQQVRDSCAzLzNdIGNlZ3VpOiBkcm9wIHVudXNlZCBkZXBl bmRlbmNpZXMgaW4gbWFrZWRlcGVuZHMuCgpUaGUgb25seSBwYWNrYWdlIGN1cnJlbnRseSBkZXBl bmRpbmcgb24gY2VndWkgKFRTQykgZG9lc24ndCByZXF1aXJlCnRoZXNlIGFuZCB0aGV5IGFyZSBi b3RoIEVPTDoKCi0gRHJvcCBweXRob24tZGV2ZWwsIHNpbmNlIGNvbmZpZ3VyZSBvdXRwdXQgc2hv d3MgdGhhdCBpdCB3YXNuJ3QgZXZlbgogIGJ1aWxkaW5nIHRoZSBweXRob24gZXh0ZW5zaW9uIG1v ZHVsZXMgZHVlIHRvIHNvbWUgaXNzdWUgd2l0aAogIEJvb3N0LXB5dGhvbi4KCi0gRHJvcCBndGsy IChndGsrLWRldmVsKSBzaW5jZSBpdCBpcyBvbmx5IHVzZWQgZm9yIHNhbXBsZXMsIGFuZCBUU0Mg b25seQogIHJlcXVpcmVkIGZyZWV0eXBlMiwgd2hpY2ggaXMgbm93IGluY2x1ZGVkIHNlcGFyYXRl bHkgaW5zdGVhZCBvZiBwdWxsZWQKICBpbiBpbiBkZXBlbmRlbmN5IHRyZWUgb2YgZ3RrKy1kZXZl bC4KLS0tCiBzcmNwa2dzL2NlZ3VpL3RlbXBsYXRlIHwgMTYgKysrKysrKy0tLS0tLS0tLQogMSBm aWxlIGNoYW5nZWQsIDcgaW5zZXJ0aW9ucygrKSwgOSBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQg YS9zcmNwa2dzL2NlZ3VpL3RlbXBsYXRlIGIvc3JjcGtncy9jZWd1aS90ZW1wbGF0ZQppbmRleCAw NzBmYTY2YWZmODEuLjVhM2JlZWExZDUxNCAxMDA2NDQKLS0tIGEvc3JjcGtncy9jZWd1aS90ZW1w bGF0ZQorKysgYi9zcmNwa2dzL2NlZ3VpL3RlbXBsYXRlCkBAIC0xLDcgKzEsNyBAQAogIyBUZW1w bGF0ZSBmaWxlIGZvciAnY2VndWknCiBwa2duYW1lPWNlZ3VpCiB2ZXJzaW9uPTAuOC43LjIwMTkw MjI1Ci1yZXZpc2lvbj01CityZXZpc2lvbj02CiBfZ2l0aGFzaD1iZmM2YTg0MWRlNDViOGU2MzA0 MGQzM2I5Y2NjYzY3NzQ1MzM3ZjRlCiB3cmtzcmM9IiR7cGtnbmFtZX0tJHtfZ2l0aGFzaH0iCiBi dWlsZF9zdHlsZT1jbWFrZQpAQCAtMTAsMTIgKzEwLDExIEBAIGNvbmZpZ3VyZV9hcmdzPSItRE9w ZW5HTF9HTF9QUkVGRVJFTkNFPUdMVk5EIFwKICAtRENFR1VJX1NBTVBMRVNfRU5BQkxFRD1PRkYi CiBtYWtlX2J1aWxkX2FyZ3M9ImFsbCBodG1sIgogaG9zdG1ha2VkZXBlbmRzPSJncmFwaHZpeiBk b3h5Z2VuIGRlamF2dS1mb250cy10dGYgZ2QgZ2xtIHBlcmwgcGtnLWNvbmZpZyIKLW1ha2VkZXBl bmRzPSJsaWJnbHZuZC1kZXZlbCBTREwyLWRldmVsIFNETDJfaW1hZ2UtZGV2ZWwgbGlieG1sMi1k ZXZlbCBib29zdC1kZXZlbAotIGRldmlsLWRldmVsIGdsZnctZGV2ZWwgZ2xtIG9pcy1kZXZlbCBz aWxseS1kZXZlbCBmcmliaWRpLWRldmVsIGx1YTUzLWRldmVsIG1pbml6aXAtZGV2ZWwKK21ha2Vk ZXBlbmRzPSJsaWJnbHZuZC1kZXZlbCBTREwyLWRldmVsIFNETDJfaW1hZ2UtZGV2ZWwgbGlieG1s Mi1kZXZlbAorIGJvb3N0LWRldmVsIGRldmlsLWRldmVsIGdsZnctZGV2ZWwgZ2xtIG9pcy1kZXZl bCBzaWxseS1kZXZlbCBmcmliaWRpLWRldmVsCisgbHVhNTMtZGV2ZWwgbWluaXppcC1kZXZlbCBm cmVldHlwZS1kZXZlbAogICQodm9wdF9pZiBpcnJsaWNodCBpcnJsaWNodC1kZXZlbCkKLSAkKHZv cHRfaWYgb2dyZSBsaWJvZ3JlLWRldmVsKQotICQodm9wdF9pZiBweXRob24gcHl0aG9uLWRldmVs KQotICQodm9wdF9pZiBndGsgZ3RrKy1kZXZlbCkiCisgJCh2b3B0X2lmIG9ncmUgbGlib2dyZS1k ZXZlbCkiCiBzaG9ydF9kZXNjPSJDcmF6eSBFZGRpZSdzIEdyYXBoaWNhbCBVc2VyIEludGVyZmFj ZSIKIG1haW50YWluZXI9Ik9ycGhhbmVkIDxvcnBoYW5Adm9pZGxpbnV4Lm9yZz4iCiBsaWNlbnNl PSJNSVQiCkBAIC0yNCwxMCArMjMsOSBAQCBkaXN0ZmlsZXM9Imh0dHBzOi8vZ2l0aHViLmNvbS9j ZWd1aS9jZWd1aS9hcmNoaXZlLyR7X2dpdGhhc2h9LnRhci5neiIKIGNoZWNrc3VtPTcwMTU2MjU3 MzEzYjgxZDA2OGQ2NTkyODg3MTU3ZGQxNmI5MWQ3YmMwZGZkY2JhMDJhOTZlZDM3MWQzMjllNjQK IHJlcGxhY2VzPSJjZWd1aS1kYXRhPj0wIGNlZ3VpLXNhbXBsZT49MCIKIAotYnVpbGRfb3B0aW9u cz0iZ3RrIGlycmxpY2h0IG9ncmUgcHl0aG9uIgorYnVpbGRfb3B0aW9ucz0iaXJybGljaHQgb2dy ZSIKIGRlc2Nfb3B0aW9uX2lycmxpY2h0PSJFbmFibGUgc3VwcG9ydCBmb3IgSXJybGljaHQiCiBk ZXNjX29wdGlvbl9vZ3JlPSJFbmFibGUgc3VwcG9ydCBmb3IgT2dyZSIKLWJ1aWxkX29wdGlvbnNf ZGVmYXVsdD0iZ3RrIHB5dGhvbiIKIAogaWYgWyAteiAiJENST1NTX0JVSUxEIiBdOyB0aGVuCiAJ IyBpcnJsaWNodCBpbnRlcmZhY2UgZmFpbHMgdG8gY3Jvc3MgY29tcGlsZQpAQCAtNDIsNyArNDAs NyBAQCBwcmVfY29uZmlndXJlKCkgewogCWNwIC1wICR7RklMRVNESVJ9L0ZpbmRPcGVuR0xFUy5j bWFrZSBjbWFrZQogCiAJIyBjbWFrZSBzZXRzIHN0YW5kYXJkIHRvIGMrKzAzICh3aGljaCBkb2Vz buKAmXQga25vdyBpbnQxNl90KQotCXNlZCAtaSAtZSAicy8tc3RkPWMrKzAzLy8iIENNYWtlTGlz dHMudHh0CisJdnNlZCAtaSAtZSAicy8tc3RkPWMrKzAzLy8iIENNYWtlTGlzdHMudHh0CiB9CiBw b3N0X2luc3RhbGwoKSB7CiAJbG9jYWwgX3ZlcjI9JHt2ZXJzaW9uJS4qLip9Cg== --===============6229780361873894068==--