com php/gtk-src: cleanup of outdated files: cvsclean cvsclean.bat ext/extension_list ext/gtk+/php_gtk.dsp ext/libglade/ libglade.dsp ext/mozembed/Makefile.frag ext/mozembed/RE ADME ext/mozembed/config.m4 ext/mozembed/demos/browser .php ext/mozembed/demos/demos/spell.php ext/mozembed/mo zembed.defs ext/mozembed/mozembed.overrides ext/mozembe d/php_mozembed.c ext/mozembed/php_mozembed.h ext/mo zembed/ref.mozembed.defs ext/mozembed/ref.mozembed.ov erride w
[email protected] (Elizabeth Marie Smith) Mon, 23 Jun 2014 15:05:25 +0000
| Newsgroups | php.gtk.cvs |
|---|---|
| Message-ID | <[email protected]> |
--5a45bd338eacf5d27b7d294f74d1c319c79016b5 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Commit: e29ec51a9dcbe52ea528596b75a87d6a68649efa=0AAuthor: Elizabeth = M Smith <[email protected]> Mon, 23 Jun 2014 11:05:25 -0400=0AP= arents: 9251177c138e5be7e3c33f689eb08d639da62cb8=0ABranches: master=0A= =0ALink: http://git.php.net/?p=3Dphp/gtk-src.git;a=3Dcommitdiff;h=3De= 29ec51a9dcbe52ea528596b75a87d6a68649efa=0A=0ALog:=0Acleanup of outdated fil= es=0A=0Alibmozembed hasn't existed for years, we're in git not cvs, and .ds= p files do not work=0A=0AChanged paths:=0A D cvsclean=0A D cvsclean.bat= =0A D ext/extension_list=0A D ext/gtk+/php_gtk.dsp=0A D ext/libglade/= libglade.dsp=0A D ext/mozembed/Makefile.frag=0A D ext/mozembed/README= =0A D ext/mozembed/config.m4=0A D ext/mozembed/demos/browser.php=0A D = ext/mozembed/demos/demos/spell.php=0A D ext/mozembed/mozembed.defs=0A D= ext/mozembed/mozembed.overrides=0A D ext/mozembed/php_mozembed.c=0A D = ext/mozembed/php_mozembed.h=0A D ext/mozembed/ref.mozembed.defs=0A D e= xt/mozembed/ref.mozembed.override=0A D win32/cvsclean.js=0A=0A --5a45bd338eacf5d27b7d294f74d1c319c79016b5 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="diff_e29ec51a9dcbe52ea528596b75a87d6a68649efa.txt" ZGlmZiAtLWdpdCBhL2N2c2NsZWFuIGIvY3ZzY2xlYW4KZGVsZXRlZCBmaWxlIG1vZGUgMTAwNzU1 CmluZGV4IGE5NTY5NGMuLjAwMDAwMDAKLS0tIGEvY3ZzY2xlYW4KKysrIC9kZXYvbnVsbApAQCAt MSwzICswLDAgQEAKLSMhIC9iaW4vc2gKLQotJHtNQUtFOi1tYWtlfSAtZiBidWlsZDIvYnVpbGQu bWsgY3ZzY2xlYW4td29yawpkaWZmIC0tZ2l0IGEvY3ZzY2xlYW4uYmF0IGIvY3ZzY2xlYW4uYmF0 CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDc1NQppbmRleCBmNjQ0MTMwLi4wMDAwMDAwCi0tLSBhL2N2 c2NsZWFuLmJhdAorKysgL2Rldi9udWxsCkBAIC0xLDIgKzAsMCBAQAotQGVjaG8gb2ZmCi1jc2Ny aXB0IC9ub2xvZ28gd2luMzJcY3ZzY2xlYW4uanMKZGlmZiAtLWdpdCBhL2V4dC9leHRlbnNpb25f bGlzdCBiL2V4dC9leHRlbnNpb25fbGlzdApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg MmYxNTU2Mi4uMDAwMDAwMAotLS0gYS9leHQvZXh0ZW5zaW9uX2xpc3QKKysrIC9kZXYvbnVsbApA QCAtMSwxNCArMCwwIEBACi1UaGVzZSB3ZXJlIHRoZSBleHRlbnNpb24gZGlyZWN0b3JpZXMgdGhh dCB3ZXJlIHJlbW92ZWQgZWl0aGVyIGJlY2F1c2UgdGhleSB3ZXJlCi1lbXB0eSBvciBhcmUgbm90 IGFwcGxpY2FibGUgdG8gUEhQLUd0azI6Ci0KLWNhbnZhcwotY29tYm9idXR0b24KLWV4dHJhCi1n ZGtwaXhidWYKLWd0a2h0bWwKLWltbGliCi1waWVtZW51Ci1zY3JvbGxwYW5lCi1zcGFuZWQKLXNx cGFuZQotZ3Rrc2NpbnRpbGxhCmRpZmYgLS1naXQgYS9leHQvZ3RrKy9waHBfZ3RrLmRzcCBiL2V4 dC9ndGsrL3BocF9ndGsuZHNwCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBjOWM3ZjQ5 Li4wMDAwMDAwCi0tLSBhL2V4dC9ndGsrL3BocF9ndGsuZHNwCisrKyAvZGV2L251bGwKQEAgLTEs Mjk1ICswLDAgQEAKLSMgTWljcm9zb2Z0IERldmVsb3BlciBTdHVkaW8gUHJvamVjdCBGaWxlIC0g TmFtZT0icGhwX2d0ayIgLSBQYWNrYWdlIE93bmVyPTw0Pg0KLSMgTWljcm9zb2Z0IERldmVsb3Bl ciBTdHVkaW8gR2VuZXJhdGVkIEJ1aWxkIEZpbGUsIEZvcm1hdCBWZXJzaW9uIDYuMDANCi0jICoq IERPIE5PVCBFRElUICoqDQotDQotIyBUQVJHVFlQRSAiV2luMzIgKHg4NikgRHluYW1pYy1MaW5r IExpYnJhcnkiIDB4MDEwMg0KLQ0KLUNGRz1waHBfZ3RrIC0gV2luMzIgRGVidWdfVFMNCi0hTUVT U0FHRSBUaGlzIGlzIG5vdCBhIHZhbGlkIG1ha2VmaWxlLiBUbyBidWlsZCB0aGlzIHByb2plY3Qg dXNpbmcgTk1BS0UsDQotIU1FU1NBR0UgdXNlIHRoZSBFeHBvcnQgTWFrZWZpbGUgY29tbWFuZCBh bmQgcnVuDQotIU1FU1NBR0UgDQotIU1FU1NBR0UgTk1BS0UgL2YgInBocF9ndGsubWFrIi4NCi0h TUVTU0FHRSANCi0hTUVTU0FHRSBZb3UgY2FuIHNwZWNpZnkgYSBjb25maWd1cmF0aW9uIHdoZW4g cnVubmluZyBOTUFLRQ0KLSFNRVNTQUdFIGJ5IGRlZmluaW5nIHRoZSBtYWNybyBDRkcgb24gdGhl IGNvbW1hbmQgbGluZS4gRm9yIGV4YW1wbGU6DQotIU1FU1NBR0UgDQotIU1FU1NBR0UgTk1BS0Ug L2YgInBocF9ndGsubWFrIiBDRkc9InBocF9ndGsgLSBXaW4zMiBEZWJ1Z19UUyINCi0hTUVTU0FH RSANCi0hTUVTU0FHRSBQb3NzaWJsZSBjaG9pY2VzIGZvciBjb25maWd1cmF0aW9uIGFyZToNCi0h TUVTU0FHRSANCi0hTUVTU0FHRSAicGhwX2d0ayAtIFdpbjMyIFJlbGVhc2VfVFMiIChiYXNlZCBv biAiV2luMzIgKHg4NikgRHluYW1pYy1MaW5rIExpYnJhcnkiKQ0KLSFNRVNTQUdFICJwaHBfZ3Rr IC0gV2luMzIgRGVidWdfVFMiIChiYXNlZCBvbiAiV2luMzIgKHg4NikgRHluYW1pYy1MaW5rIExp YnJhcnkiKQ0KLSFNRVNTQUdFIA0KLQ0KLSMgQmVnaW4gUHJvamVjdA0KLSMgUFJPUCBBbGxvd1Bl ckNvbmZpZ0RlcGVuZGVuY2llcyAwDQotIyBQUk9QIFNjY19Qcm9qTmFtZSAiIg0KLSMgUFJPUCBT Y2NfTG9jYWxQYXRoICIiDQotQ1BQPWNsLmV4ZQ0KLU1UTD1taWRsLmV4ZQ0KLVJTQz1yYy5leGUN Ci0NCi0hSUYgICIkKENGRykiID09ICJwaHBfZ3RrIC0gV2luMzIgUmVsZWFzZV9UUyINCi0NCi0j IFBST1AgQkFTRSBVc2VfTUZDIDANCi0jIFBST1AgQkFTRSBVc2VfRGVidWdfTGlicmFyaWVzIDAN Ci0jIFBST1AgQkFTRSBPdXRwdXRfRGlyICJSZWxlYXNlX1RTIg0KLSMgUFJPUCBCQVNFIEludGVy bWVkaWF0ZV9EaXIgIlJlbGVhc2VfVFMiDQotIyBQUk9QIEJBU0UgVGFyZ2V0X0RpciAiIg0KLSMg UFJPUCBVc2VfTUZDIDANCi0jIFBST1AgVXNlX0RlYnVnX0xpYnJhcmllcyAwDQotIyBQUk9QIE91 dHB1dF9EaXIgIlJlbGVhc2VfVFMiDQotIyBQUk9QIEludGVybWVkaWF0ZV9EaXIgIlJlbGVhc2Vf VFMiDQotIyBQUk9QIElnbm9yZV9FeHBvcnRfTGliIDANCi0jIFBST1AgVGFyZ2V0X0RpciAiIg0K LSMgQUREIEJBU0UgQ1BQIC9ub2xvZ28gL01UIC9XMyAvR1ggL08yIC9EICJXSU4zMiIgL0QgIk5E RUJVRyIgL0QgIl9XSU5ET1dTIiAvRCAiX01CQ1MiIC9EICJfVVNSRExMIiAvRCAiUEhQX0dUS19F WFBPUlRTIiAvWVggL0ZEIC9jDQotIyBBREQgQ1BQIC9ub2xvZ28gL01UIC9XMyAvR1ggL08yIC9J ICIuLlwuLiIgL0kgIi4uXC4uXG1haW4iIC9JICIuLlwuLlwuLlxwaHA1IiAvSSAiLi5cLi5cLi5c cGhwNVxtYWluIiAvSSAiLi5cLi5cLi5ccGhwNVxaZW5kIiAvSSAiLi5cLi5cLi5ccGhwNVxUU1JN IiAvRCAiV0lOMzIiIC9EICJOREVCVUciIC9EICJfV0lORE9XUyIgL0QgIl9NQkNTIiAvRCAiX1VT UkRMTCIgL0QgIlBIUF9HVEtfRVhQT1JUUyIgL0QgIlBIUF9XSU4zMiIgL0QgIlpFTkRfV0lOMzIi IC9EIFpUUz0xIC9EIFpFTkRfREVCVUc9MCAvRCBIQVZFX1BIUF9HVEs9MSAvRCAiQ09NUElMRV9E TF9QSFBfR1RLIiAvRCAiVFNSTV9FWFBPUlRTIiAvWVggL0ZEIC9jDQotIyBBREQgQkFTRSBNVEwg L25vbG9nbyAvRCAiTkRFQlVHIiAvbWt0eXBsaWIyMDMgL3dpbjMyDQotIyBBREQgTVRMIC9ub2xv Z28gL0QgIk5ERUJVRyIgL21rdHlwbGliMjAzIC93aW4zMg0KLSMgQUREIEJBU0UgUlNDIC9sIDB4 NDA5IC9kICJOREVCVUciDQotIyBBREQgUlNDIC9sIDB4NDA5IC9kICJOREVCVUciDQotQlNDMzI9 YnNjbWFrZS5leGUNCi0jIEFERCBCQVNFIEJTQzMyIC9ub2xvZ28NCi0jIEFERCBCU0MzMiAvbm9s b2dvDQotTElOSzMyPWxpbmsuZXhlDQotIyBBREQgQkFTRSBMSU5LMzIga2VybmVsMzIubGliIHVz ZXIzMi5saWIgZ2RpMzIubGliIHdpbnNwb29sLmxpYiBjb21kbGczMi5saWIgYWR2YXBpMzIubGli IHNoZWxsMzIubGliIG9sZTMyLmxpYiBvbGVhdXQzMi5saWIgdXVpZC5saWIgb2RiYzMyLmxpYiBv ZGJjY3AzMi5saWIgL25vbG9nbyAvZGxsIC9tYWNoaW5lOkkzODYNCi0jIEFERCBMSU5LMzIgcGhw NHRzLmxpYiBndGsubGliIGdkay5saWIgZ2xpYi0yLjAubGliIGludGwubGliIGtlcm5lbDMyLmxp YiB1c2VyMzIubGliIGdkaTMyLmxpYiB3aW5zcG9vbC5saWIgY29tZGxnMzIubGliIGFkdmFwaTMy LmxpYiBzaGVsbDMyLmxpYiBvbGUzMi5saWIgb2xlYXV0MzIubGliIHV1aWQubGliIG9kYmMzMi5s aWIgb2RiY2NwMzIubGliIC9ub2xvZ28gL2RsbCAvbWFjaGluZTpJMzg2IC9vdXQ6Ii4uLy4uL3dp bjMyL1JlbGVhc2VfVFMvcGhwX2d0ay5kbGwiIC9saWJwYXRoOiIuLlwuLlwuLlxwaHA1XFJlbGVh c2VfVFMiDQotIyBTVUJUUkFDVCBMSU5LMzIgL3BkYjpub25lDQotDQotIUVMU0VJRiAgIiQoQ0ZH KSIgPT0gInBocF9ndGsgLSBXaW4zMiBEZWJ1Z19UUyINCi0NCi0jIFBST1AgQkFTRSBVc2VfTUZD IDANCi0jIFBST1AgQkFTRSBVc2VfRGVidWdfTGlicmFyaWVzIDENCi0jIFBST1AgQkFTRSBPdXRw dXRfRGlyICJEZWJ1Z19UUyINCi0jIFBST1AgQkFTRSBJbnRlcm1lZGlhdGVfRGlyICJEZWJ1Z19U UyINCi0jIFBST1AgQkFTRSBUYXJnZXRfRGlyICIiDQotIyBQUk9QIFVzZV9NRkMgMA0KLSMgUFJP UCBVc2VfRGVidWdfTGlicmFyaWVzIDENCi0jIFBST1AgT3V0cHV0X0RpciAiRGVidWdfVFMiDQot IyBQUk9QIEludGVybWVkaWF0ZV9EaXIgIkRlYnVnX1RTIg0KLSMgUFJPUCBJZ25vcmVfRXhwb3J0 X0xpYiAwDQotIyBQUk9QIFRhcmdldF9EaXIgIiINCi0jIEFERCBCQVNFIENQUCAvbm9sb2dvIC9N VGQgL1czIC9HbSAvR1ggL1pJIC9PZCAvRCAiV0lOMzIiIC9EICJfREVCVUciIC9EICJfV0lORE9X UyIgL0QgIl9NQkNTIiAvRCAiX1VTUkRMTCIgL0QgIlBIUF9HVEtfRVhQT1JUUyIgL1lYIC9GRCAv R1ogL2MNCi0jIEFERCBDUFAgL25vbG9nbyAvTVRkIC9XMyAvR20gL0dYIC9aSSAvT2QgL0kgIi4u XC4uIiAvSSAiLi5cLi5cbWFpbiIgL0kgIi4uXC4uXC4uXHBocDUiIC9JICIuLlwuLlwuLlxwaHA1 XG1haW4iIC9JICIuLlwuLlwuLlxwaHA1XFplbmQiIC9JICIuLlwuLlwuLlxwaHA1XFRTUk0iIC9E ICJXSU4zMiIgL0QgIl9ERUJVRyIgL0QgIl9XSU5ET1dTIiAvRCAiX01CQ1MiIC9EICJfVVNSRExM IiAvRCAiUEhQX0dUS19FWFBPUlRTIiAvRCAiUEhQX1dJTjMyIiAvRCAiWkVORF9XSU4zMiIgL0Qg WlRTPTEgL0QgWkVORF9ERUJVRz0xIC9EIEhBVkVfUEhQX0dUSz0xIC9EICJDT01QSUxFX0RMX1BI UF9HVEsiIC9GUiAvWVggL0ZEIC9HWiAvYw0KLSMgQUREIEJBU0UgTVRMIC9ub2xvZ28gL0QgIl9E RUJVRyIgL21rdHlwbGliMjAzIC93aW4zMg0KLSMgQUREIE1UTCAvbm9sb2dvIC9EICJfREVCVUci IC9ta3R5cGxpYjIwMyAvd2luMzINCi0jIEFERCBCQVNFIFJTQyAvbCAweDQwOSAvZCAiX0RFQlVH Ig0KLSMgQUREIFJTQyAvbCAweDQwOSAvZCAiX0RFQlVHIg0KLUJTQzMyPWJzY21ha2UuZXhlDQot IyBBREQgQkFTRSBCU0MzMiAvbm9sb2dvDQotIyBBREQgQlNDMzIgL25vbG9nbw0KLUxJTkszMj1s aW5rLmV4ZQ0KLSMgQUREIEJBU0UgTElOSzMyIGtlcm5lbDMyLmxpYiB1c2VyMzIubGliIGdkaTMy LmxpYiB3aW5zcG9vbC5saWIgY29tZGxnMzIubGliIGFkdmFwaTMyLmxpYiBzaGVsbDMyLmxpYiBv bGUzMi5saWIgb2xlYXV0MzIubGliIHV1aWQubGliIG9kYmMzMi5saWIgb2RiY2NwMzIubGliIC9u b2xvZ28gL2RsbCAvZGVidWcgL21hY2hpbmU6STM4NiAvcGRidHlwZTpzZXB0DQotIyBBREQgTElO SzMyIHBocDR0c19kZWJ1Zy5saWIgZ3RrLmxpYiBnZGsubGliIGdsaWItMi4wLmxpYiBpbnRsLmxp YiBrZXJuZWwzMi5saWIgdXNlcjMyLmxpYiBnZGkzMi5saWIgd2luc3Bvb2wubGliIGNvbWRsZzMy LmxpYiBhZHZhcGkzMi5saWIgc2hlbGwzMi5saWIgb2xlMzIubGliIG9sZWF1dDMyLmxpYiB1dWlk LmxpYiBvZGJjMzIubGliIG9kYmNjcDMyLmxpYiAvbm9sb2dvIC9kbGwgL2RlYnVnIC9tYWNoaW5l OkkzODYgL291dDoiLi4vLi4vd2luMzIvRGVidWdfVFMvcGhwX2d0ay5kbGwiIC9wZGJ0eXBlOnNl cHQgL2xpYnBhdGg6Ii4uXC4uXC4uXHBocDVcRGVidWdfVFMiDQotDQotIUVORElGIA0KLQ0KLSMg QmVnaW4gVGFyZ2V0DQotDQotIyBOYW1lICJwaHBfZ3RrIC0gV2luMzIgUmVsZWFzZV9UUyINCi0j IE5hbWUgInBocF9ndGsgLSBXaW4zMiBEZWJ1Z19UUyINCi0jIEJlZ2luIEdyb3VwICJQYXJzZXJz Ig0KLQ0KLSMgUFJPUCBEZWZhdWx0X0ZpbHRlciAicGhwIg0KLSMgQmVnaW4gU291cmNlIEZpbGUN Ci0NCi1TT1VSQ0U9LlxnZGsuZGVmcw0KLQ0KLSFJRiAgIiQoQ0ZHKSIgPT0gInBocF9ndGsgLSBX aW4zMiBSZWxlYXNlX1RTIg0KLQ0KLVVTRVJERVBfX0dES19EPSJnZGsub3ZlcnJpZGVzIgkiZ2Rr LmRlZnMiCQ0KLSMgQmVnaW4gQ3VzdG9tIEJ1aWxkDQotSW5wdXRQYXRoPS5cZ2RrLmRlZnMNCi0N Ci0iZ2VuX2dkay5jIiA6ICQoU09VUkNFKSAiJChJTlRESVIpIiAiJChPVVRESVIpIg0KLQlwaHAu ZXhlIC1xIC4uXC4uXGdlbmVyYXRvclxnZW5lcmF0b3IucGhwIC1vIGV4dFxndGslJTJiXGdkay5v dmVycmlkZXMgLXAgZ2RrIGV4dFxndGslJTJiXGdkay5kZWZzID5nZW5fZ2RrLmMNCi0NCi0jIEVu ZCBDdXN0b20gQnVpbGQNCi0NCi0hRUxTRUlGICAiJChDRkcpIiA9PSAicGhwX2d0ayAtIFdpbjMy IERlYnVnX1RTIg0KLQ0KLVVTRVJERVBfX0dES19EPSJnZGsub3ZlcnJpZGVzIgkiZ2RrLmRlZnMi CQ0KLSMgQmVnaW4gQ3VzdG9tIEJ1aWxkDQotSW5wdXRQYXRoPS5cZ2RrLmRlZnMNCi0NCi0iZ2Vu X2dkay5jIiA6ICQoU09VUkNFKSAiJChJTlRESVIpIiAiJChPVVRESVIpIg0KLQlwaHAuZXhlIC1x IC4uXC4uXGdlbmVyYXRvclxnZW5lcmF0b3IucGhwIC1vIGV4dFxndGslJTJiXGdkay5vdmVycmlk ZXMgLXAgZ2RrIGV4dFxndGslJTJiXGdkay5kZWZzID5nZW5fZ2RrLmMNCi0NCi0jIEVuZCBDdXN0 b20gQnVpbGQNCi0NCi0hRU5ESUYgDQotDQotIyBFbmQgU291cmNlIEZpbGUNCi0jIEJlZ2luIFNv dXJjZSBGaWxlDQotDQotU09VUkNFPS4uXC4uXGdlbmVyYXRvclxnZW5lcmF0b3IucGhwDQotDQot IUlGICAiJChDRkcpIiA9PSAicGhwX2d0ayAtIFdpbjMyIFJlbGVhc2VfVFMiDQotDQotVVNFUkRF UF9fR0VORVI9Imdlbl9ndGsuYyIJImdlbl9nZGsuYyIJDQotIyBCZWdpbiBDdXN0b20gQnVpbGQN Ci1JbnB1dFBhdGg9Li5cLi5cZ2VuZXJhdG9yXGdlbmVyYXRvci5waHANCi0NCi1CdWlsZENtZHM9 IFwNCi0JZ3JlcCAtaCAiXlBIUF9HVEtfRVhQT1JUX0NFIiBnZW5fZ3RrLmMgZ2VuX2dkay5jIHwg c2VkIC1lICJzL14vUEhQX0dUS19BUEkgZXh0ZXJuIC8iID4gZ2VuX2NlX2d0ay5oIFwNCi0JZ3Jl cCAtaCAiXlBIUF9HVEtfRVhQT1JUX0NFIiBnZW5fZ3RrLmMgZ2VuX2dkay5jIHwgc2VkIC1lICJz L14vUEhQX0dUS19BUEkgZXh0ZXJuIC8iID4gZ2VuX2d0ay5oIFwNCi0JZ3JlcCAtaCAiUEhQX0dU S19FWFBPUlRfRlVOQyIgZ2VuX2d0ay5jIGdlbl9nZGsuYyB8IHNlZCAtZSAicy8qb2JqKS8mOy8i ID4+IGdlbl9ndGsuaCBcDQotCQ0KLQ0KLSJnZW5fY2VfZ3RrLmgiIDogJChTT1VSQ0UpICIkKElO VERJUikiICIkKE9VVERJUikiDQotICAgJChCdWlsZENtZHMpDQotDQotImdlbl9ndGsuaCIgOiAk KFNPVVJDRSkgIiQoSU5URElSKSIgIiQoT1VURElSKSINCi0gICAkKEJ1aWxkQ21kcykNCi0jIEVu ZCBDdXN0b20gQnVpbGQNCi0NCi0hRUxTRUlGICAiJChDRkcpIiA9PSAicGhwX2d0ayAtIFdpbjMy IERlYnVnX1RTIg0KLQ0KLVVTRVJERVBfX0dFTkVSPSJnZW5fZ3RrLmMiCSJnZW5fZ2RrLmMiCQ0K LSMgQmVnaW4gQ3VzdG9tIEJ1aWxkDQotSW5wdXRQYXRoPS4uXC4uXGdlbmVyYXRvclxnZW5lcmF0 b3IucGhwDQotDQotQnVpbGRDbWRzPSBcDQotCWdyZXAgLWggIl5QSFBfR1RLX0VYUE9SVF9DRSIg Z2VuX2d0ay5jIGdlbl9nZGsuYyB8IHNlZCAtZSAicy9eL1BIUF9HVEtfQVBJIGV4dGVybiAvIiA+ IGdlbl9jZV9ndGsuaCBcDQotCWdyZXAgLWggIl5QSFBfR1RLX0VYUE9SVF9DRSIgZ2VuX2d0ay5j IGdlbl9nZGsuYyB8IHNlZCAtZSAicy9eL1BIUF9HVEtfQVBJIGV4dGVybiAvIiA+IGdlbl9ndGsu aCBcDQotCWdyZXAgLWggIlBIUF9HVEtfRVhQT1JUX0ZVTkMiIGdlbl9ndGsuYyBnZW5fZ2RrLmMg fCBzZWQgLWUgInMvKm9iaikvJjsvIiA+PiBnZW5fZ3RrLmggXA0KLQkNCi0NCi0iZ2VuX2NlX2d0 ay5oIiA6ICQoU09VUkNFKSAiJChJTlRESVIpIiAiJChPVVRESVIpIg0KLSAgICQoQnVpbGRDbWRz KQ0KLQ0KLSJnZW5fZ3RrLmgiIDogJChTT1VSQ0UpICIkKElOVERJUikiICIkKE9VVERJUikiDQot ICAgJChCdWlsZENtZHMpDQotIyBFbmQgQ3VzdG9tIEJ1aWxkDQotDQotIUVORElGIA0KLQ0KLSMg RW5kIFNvdXJjZSBGaWxlDQotIyBCZWdpbiBTb3VyY2UgRmlsZQ0KLQ0KLVNPVVJDRT0iLlxndGsu ZGVmcyINCi0NCi0hSUYgICIkKENGRykiID09ICJwaHBfZ3RrIC0gV2luMzIgUmVsZWFzZV9UUyIN Ci0NCi1VU0VSREVQX19HVEtfRD0iZ3RrLm92ZXJyaWRlcyIJImd0ay5kZWZzIgkNCi0jIEJlZ2lu IEN1c3RvbSBCdWlsZA0KLUlucHV0UGF0aD0iLlxndGsuZGVmcyINCi0NCi0iZ2VuX2d0ay5jIiA6 ICQoU09VUkNFKSAiJChJTlRESVIpIiAiJChPVVRESVIpIg0KLQlwaHAuZXhlIC1xIC4uXC4uXGdl bmVyYXRvclxnZW5lcmF0b3IucGhwIC1vIGV4dFxndGslJTJiXGd0ay5vdmVycmlkZXMgLXAgZ3Rr IC1yIGV4dFxndGslJTJiXGdkay5kZWZzIGV4dFxndGslJTJiXGd0ay5kZWZzID5nZW5fZ3RrLmMN Ci0NCi0jIEVuZCBDdXN0b20gQnVpbGQNCi0NCi0hRUxTRUlGICAiJChDRkcpIiA9PSAicGhwX2d0 ayAtIFdpbjMyIERlYnVnX1RTIg0KLQ0KLVVTRVJERVBfX0dUS19EPSJndGsub3ZlcnJpZGVzIgki Z3RrLmRlZnMiCQ0KLSMgQmVnaW4gQ3VzdG9tIEJ1aWxkDQotSW5wdXRQYXRoPSIuXGd0ay5kZWZz Ig0KLQ0KLSJnZW5fZ3RrLmMiIDogJChTT1VSQ0UpICIkKElOVERJUikiICIkKE9VVERJUikiDQot CXBocC5leGUgLXEgLi5cLi5cZ2VuZXJhdG9yXGdlbmVyYXRvci5waHAgLW8gZXh0XGd0ayUlMmJc Z3RrLm92ZXJyaWRlcyAtcCBndGsgZXh0XGd0ayUlMmJcZ3RrLmRlZnMgPmdlbl9ndGsuYw0KLQ0K LSMgRW5kIEN1c3RvbSBCdWlsZA0KLQ0KLSFFTkRJRiANCi0NCi0jIEVuZCBTb3VyY2UgRmlsZQ0K LSMgRW5kIEdyb3VwDQotIyBCZWdpbiBHcm91cCAiU291cmNlIEZpbGVzIg0KLQ0KLSMgUFJPUCBE ZWZhdWx0X0ZpbHRlciAiY3BwO2M7Y3h4O3JjO2RlZjtyO29kbDtpZGw7aHBqO2JhdCINCi0jIEJl Z2luIFNvdXJjZSBGaWxlDQotDQotU09VUkNFPXBocF9nZGsuYw0KLSMgRW5kIFNvdXJjZSBGaWxl DQotIyBCZWdpbiBTb3VyY2UgRmlsZQ0KLQ0KLVNPVVJDRT0uLlwuLlxtYWluXHBocF9ndGsuYw0K LSMgRW5kIFNvdXJjZSBGaWxlDQotIyBCZWdpbiBTb3VyY2UgRmlsZQ0KLQ0KLVNPVVJDRT0uLlwu LlxtYWluXHBocF9ndGtfZXh0LnczMi5jDQotIyBFbmQgU291cmNlIEZpbGUNCi0jIEJlZ2luIFNv dXJjZSBGaWxlDQotDQotU09VUkNFPS4uXC4uXG1haW5ccGhwX2d0a19vYmplY3QuYw0KLSMgRW5k IFNvdXJjZSBGaWxlDQotIyBCZWdpbiBTb3VyY2UgRmlsZQ0KLQ0KLVNPVVJDRT0uLlwuLlxtYWlu XHBocF9ndGtfdXRpbC5jDQotIyBFbmQgU291cmNlIEZpbGUNCi0jIEVuZCBHcm91cA0KLSMgQmVn aW4gR3JvdXAgIkhlYWRlciBGaWxlcyINCi0NCi0jIFBST1AgRGVmYXVsdF9GaWx0ZXIgImg7aHBw O2h4eDtobTtpbmwiDQotIyBCZWdpbiBTb3VyY2UgRmlsZQ0KLQ0KLVNPVVJDRT0uLlwuLlxtYWlu XHBocF9ndGsuaA0KLSMgRW5kIFNvdXJjZSBGaWxlDQotIyBCZWdpbiBTb3VyY2UgRmlsZQ0KLQ0K LVNPVVJDRT0uLlwuLlxtYWluXHBocF9ndGtfbW9kdWxlLmgNCi0jIEVuZCBTb3VyY2UgRmlsZQ0K LSMgRW5kIEdyb3VwDQotIyBCZWdpbiBHcm91cCAiUmVzb3VyY2UgRmlsZXMiDQotDQotIyBQUk9Q IERlZmF1bHRfRmlsdGVyICJpY287Y3VyO2JtcDtkbGc7cmMyO3JjdDtiaW47cmdzO2dpZjtqcGc7 anBlZztqcGUiDQotIyBFbmQgR3JvdXANCi0jIEJlZ2luIEdyb3VwICJHdGsrIg0KLQ0KLSMgUFJP UCBEZWZhdWx0X0ZpbHRlciAiIg0KLSMgQmVnaW4gR3JvdXAgIlNvdXJjZSBGaWxlcyBOby4gMSIN Ci0NCi0jIFBST1AgRGVmYXVsdF9GaWx0ZXIgIiouYyINCi0jIEJlZ2luIFNvdXJjZSBGaWxlDQot DQotU09VUkNFPS5cZ2VuX2dkay5jDQotIyBFbmQgU291cmNlIEZpbGUNCi0jIEJlZ2luIFNvdXJj ZSBGaWxlDQotDQotU09VUkNFPS5cZ2VuX2d0ay5jDQotIyBFbmQgU291cmNlIEZpbGUNCi0jIEJl Z2luIFNvdXJjZSBGaWxlDQotDQotU09VUkNFPSJwaHBfZ3RrKy5jIg0KLSMgRW5kIFNvdXJjZSBG aWxlDQotIyBCZWdpbiBTb3VyY2UgRmlsZQ0KLQ0KLVNPVVJDRT0icGhwX2d0aytfdHlwZXMuYyIN Ci0jIEVuZCBTb3VyY2UgRmlsZQ0KLSMgRW5kIEdyb3VwDQotIyBCZWdpbiBHcm91cCAiSGVhZGVy IEZpbGVzIE5vLiAxIg0KLQ0KLSMgUFJPUCBEZWZhdWx0X0ZpbHRlciAiKi5oIg0KLSMgQmVnaW4g U291cmNlIEZpbGUNCi0NCi1TT1VSQ0U9LlxnZW5fY2VfZ3RrLmgNCi0jIEVuZCBTb3VyY2UgRmls ZQ0KLSMgQmVnaW4gU291cmNlIEZpbGUNCi0NCi1TT1VSQ0U9LlxnZW5fZ3RrLmgNCi0jIEVuZCBT b3VyY2UgRmlsZQ0KLSMgQmVnaW4gU291cmNlIEZpbGUNCi0NCi1TT1VSQ0U9InBocF9ndGsrLmgi DQotIyBFbmQgU291cmNlIEZpbGUNCi0jIEVuZCBHcm91cA0KLSMgQmVnaW4gR3JvdXAgIk92ZXJy aWRlIEZpbGVzIE5vLiAxIg0KLQ0KLSMgUFJPUCBEZWZhdWx0X0ZpbHRlciAiKi5vdmVycmlkZSIN Ci0jIEJlZ2luIFNvdXJjZSBGaWxlDQotDQotU09VUkNFPS5cZ2RrLm92ZXJyaWRlcw0KLSMgRW5k IFNvdXJjZSBGaWxlDQotIyBCZWdpbiBTb3VyY2UgRmlsZQ0KLQ0KLVNPVVJDRT0uXGd0ay5vdmVy cmlkZXMNCi0jIEVuZCBTb3VyY2UgRmlsZQ0KLSMgRW5kIEdyb3VwDQotIyBFbmQgR3JvdXANCi0j IEJlZ2luIFNvdXJjZSBGaWxlDQotDQotU09VUkNFPS5cUkVBRE1FLnR4dA0KLSMgRW5kIFNvdXJj ZSBGaWxlDQotIyBFbmQgVGFyZ2V0DQotIyBFbmQgUHJvamVjdA0KZGlmZiAtLWdpdCBhL2V4dC9s aWJnbGFkZS9saWJnbGFkZS5kc3AgYi9leHQvbGliZ2xhZGUvbGliZ2xhZGUuZHNwCmRlbGV0ZWQg ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAyMGUzMGZkLi4wMDAwMDAwCi0tLSBhL2V4dC9saWJnbGFk ZS9saWJnbGFkZS5kc3AKKysrIC9kZXYvbnVsbApAQCAtMSwxNjIgKzAsMCBAQAotIyBNaWNyb3Nv ZnQgRGV2ZWxvcGVyIFN0dWRpbyBQcm9qZWN0IEZpbGUgLSBOYW1lPSJsaWJnbGFkZSIgLSBQYWNr YWdlIE93bmVyPTw0Pg0KLSMgTWljcm9zb2Z0IERldmVsb3BlciBTdHVkaW8gR2VuZXJhdGVkIEJ1 aWxkIEZpbGUsIEZvcm1hdCBWZXJzaW9uIDYuMDANCi0jICoqIERPIE5PVCBFRElUICoqDQotDQot IyBUQVJHVFlQRSAiV2luMzIgKHg4NikgRHluYW1pYy1MaW5rIExpYnJhcnkiIDB4MDEwMg0KLQ0K LUNGRz1saWJnbGFkZSAtIFdpbjMyIERlYnVnX1RTDQotIU1FU1NBR0UgVGhpcyBpcyBub3QgYSB2 YWxpZCBtYWtlZmlsZS4gVG8gYnVpbGQgdGhpcyBwcm9qZWN0IHVzaW5nIE5NQUtFLA0KLSFNRVNT QUdFIHVzZSB0aGUgRXhwb3J0IE1ha2VmaWxlIGNvbW1hbmQgYW5kIHJ1bg0KLSFNRVNTQUdFIA0K LSFNRVNTQUdFIE5NQUtFIC9mICJsaWJnbGFkZS5tYWsiLg0KLSFNRVNTQUdFIA0KLSFNRVNTQUdF IFlvdSBjYW4gc3BlY2lmeSBhIGNvbmZpZ3VyYXRpb24gd2hlbiBydW5uaW5nIE5NQUtFDQotIU1F U1NBR0UgYnkgZGVmaW5pbmcgdGhlIG1hY3JvIENGRyBvbiB0aGUgY29tbWFuZCBsaW5lLiBGb3Ig ZXhhbXBsZToNCi0hTUVTU0FHRSANCi0hTUVTU0FHRSBOTUFLRSAvZiAibGliZ2xhZGUubWFrIiBD Rkc9ImxpYmdsYWRlIC0gV2luMzIgRGVidWdfVFMiDQotIU1FU1NBR0UgDQotIU1FU1NBR0UgUG9z c2libGUgY2hvaWNlcyBmb3IgY29uZmlndXJhdGlvbiBhcmU6DQotIU1FU1NBR0UgDQotIU1FU1NB R0UgImxpYmdsYWRlIC0gV2luMzIgUmVsZWFzZV9UUyIgKGJhc2VkIG9uICJXaW4zMiAoeDg2KSBE eW5hbWljLUxpbmsgTGlicmFyeSIpDQotIU1FU1NBR0UgImxpYmdsYWRlIC0gV2luMzIgRGVidWdf VFMiIChiYXNlZCBvbiAiV2luMzIgKHg4NikgRHluYW1pYy1MaW5rIExpYnJhcnkiKQ0KLSFNRVNT QUdFIA0KLQ0KLSMgQmVnaW4gUHJvamVjdA0KLSMgUFJPUCBBbGxvd1BlckNvbmZpZ0RlcGVuZGVu Y2llcyAwDQotIyBQUk9QIFNjY19Qcm9qTmFtZSAiIg0KLSMgUFJPUCBTY2NfTG9jYWxQYXRoICIi DQotQ1BQPWNsLmV4ZQ0KLU1UTD1taWRsLmV4ZQ0KLVJTQz1yYy5leGUNCi0NCi0hSUYgICIkKENG RykiID09ICJsaWJnbGFkZSAtIFdpbjMyIFJlbGVhc2VfVFMiDQotDQotIyBQUk9QIEJBU0UgVXNl X01GQyAwDQotIyBQUk9QIEJBU0UgVXNlX0RlYnVnX0xpYnJhcmllcyAwDQotIyBQUk9QIEJBU0Ug T3V0cHV0X0RpciAiUmVsZWFzZV9UUyINCi0jIFBST1AgQkFTRSBJbnRlcm1lZGlhdGVfRGlyICJS ZWxlYXNlX1RTIg0KLSMgUFJPUCBCQVNFIFRhcmdldF9EaXIgIiINCi0jIFBST1AgVXNlX01GQyAw DQotIyBQUk9QIFVzZV9EZWJ1Z19MaWJyYXJpZXMgMA0KLSMgUFJPUCBPdXRwdXRfRGlyICJSZWxl YXNlX1RTIg0KLSMgUFJPUCBJbnRlcm1lZGlhdGVfRGlyICJSZWxlYXNlX1RTIg0KLSMgUFJPUCBJ Z25vcmVfRXhwb3J0X0xpYiAwDQotIyBQUk9QIFRhcmdldF9EaXIgIiINCi0jIEFERCBCQVNFIENQ UCAvbm9sb2dvIC9NVCAvVzMgL0dYIC9PMiAvRCAiV0lOMzIiIC9EICJOREVCVUciIC9EICJfV0lO RE9XUyIgL0QgIl9NQkNTIiAvRCAiX1VTUkRMTCIgL0QgIkxJQkdMQURFX0VYUE9SVFMiIC9ZWCAv RkQgL2MNCi0jIEFERCBDUFAgL25vbG9nbyAvTVQgL1czIC9HWCAvTzIgL0kgIi4iIC9JICIuLi8u Li8iIC9JICIuLi8uLi9tYWluIiAvSSAiLi4vLi4vLi4vcGhwNSIgL0kgIi4uLy4uLy4uL3BocDUv bWFpbiIgL0kgIi4uLy4uLy4uL3BocDVcWmVuZCIgL0kgIi4uLy4uLy4uL3BocDVcVFNSTSIgL0kg Ii4uLy4uLy4uL3NyYy9ndGsrIiAvSSAiLi4vLi4vLi4vc3JjL2d0aysvZ2RrIiAvSSAiLi4vLi4v Li4vc3JjL2dsaWIiIC9JICIuLi8uLi8uLi9zcmMvZ2xpYi9nbGliIiAvSSAiLi4vLi4vLi4vc3Jj L3BhbmdvIiAvSSAiLi4vLi4vLi4vc3JjL2xpYmdsYWRlIiAvRCAiV0lOMzIiIC9EICJOREVCVUci IC9EICJfV0lORE9XUyIgL0QgIl9NQkNTIiAvRCAiX1VTUkRMTCIgL0QgIkxJQkdMQURFX0VYUE9S VFMiIC9EICJQSFBfV0lOMzIiIC9EICJaRU5EX1dJTjMyIiAvRCBaVFM9MSAvRCBaRU5EX0RFQlVH PTAgL0QgSEFWRV9QSFBfR1RLPTEgL0QgR1RLX1NIQVJFRD0xIC9EIEhBVkVfTElCR0xBREU9MSAv RCAiUEhQX0dUS19DT01QSUxFX0RMX0xJQkdMQURFIiAvWVggL0ZEIC9jDQotIyBBREQgQkFTRSBN VEwgL25vbG9nbyAvRCAiTkRFQlVHIiAvbWt0eXBsaWIyMDMgL3dpbjMyDQotIyBBREQgTVRMIC9u b2xvZ28gL0QgIk5ERUJVRyIgL21rdHlwbGliMjAzIC93aW4zMg0KLSMgQUREIEJBU0UgUlNDIC9s IDB4NDA5IC9kICJOREVCVUciDQotIyBBREQgUlNDIC9sIDB4NDA5IC9kICJOREVCVUciDQotQlND MzI9YnNjbWFrZS5leGUNCi0jIEFERCBCQVNFIEJTQzMyIC9ub2xvZ28NCi0jIEFERCBCU0MzMiAv bm9sb2dvDQotTElOSzMyPWxpbmsuZXhlDQotIyBBREQgQkFTRSBMSU5LMzIga2VybmVsMzIubGli IHVzZXIzMi5saWIgZ2RpMzIubGliIHdpbnNwb29sLmxpYiBjb21kbGczMi5saWIgYWR2YXBpMzIu bGliIHNoZWxsMzIubGliIG9sZTMyLmxpYiBvbGVhdXQzMi5saWIgdXVpZC5saWIgb2RiYzMyLmxp YiBvZGJjY3AzMi5saWIgL25vbG9nbyAvZGxsIC9tYWNoaW5lOkkzODYNCi0jIEFERCBMSU5LMzIg cGhwNHRzLmxpYiBwaHBfZ3RrLmxpYiBndGsubGliIGdsaWItMi4wLmxpYiBsaWJnbGFkZS5saWIg a2VybmVsMzIubGliIHVzZXIzMi5saWIgZ2RpMzIubGliIHdpbnNwb29sLmxpYiBjb21kbGczMi5s aWIgYWR2YXBpMzIubGliIHNoZWxsMzIubGliIG9sZTMyLmxpYiBvbGVhdXQzMi5saWIgdXVpZC5s aWIgb2RiYzMyLmxpYiBvZGJjY3AzMi5saWIgL25vbG9nbyAvZGxsIC9tYWNoaW5lOkkzODYgL291 dDoiLi4vLi4vd2luMzIvUmVsZWFzZV9UUy9waHBfZ3RrX2xpYmdsYWRlLmRsbCIgL2xpYnBhdGg6 Ii4uXC4uXC4uXHBocDVcUmVsZWFzZV9UUyIgL2xpYnBhdGg6Ii4uXGd0aytcUmVsZWFzZV9UUyIN Ci0NCi0hRUxTRUlGICAiJChDRkcpIiA9PSAibGliZ2xhZGUgLSBXaW4zMiBEZWJ1Z19UUyINCi0N Ci0jIFBST1AgQkFTRSBVc2VfTUZDIDANCi0jIFBST1AgQkFTRSBVc2VfRGVidWdfTGlicmFyaWVz IDENCi0jIFBST1AgQkFTRSBPdXRwdXRfRGlyICJEZWJ1Z19UUyINCi0jIFBST1AgQkFTRSBJbnRl cm1lZGlhdGVfRGlyICJEZWJ1Z19UUyINCi0jIFBST1AgQkFTRSBUYXJnZXRfRGlyICIiDQotIyBQ Uk9QIFVzZV9NRkMgMA0KLSMgUFJPUCBVc2VfRGVidWdfTGlicmFyaWVzIDENCi0jIFBST1AgT3V0 cHV0X0RpciAiRGVidWdfVFMiDQotIyBQUk9QIEludGVybWVkaWF0ZV9EaXIgIkRlYnVnX1RTIg0K LSMgUFJPUCBJZ25vcmVfRXhwb3J0X0xpYiAwDQotIyBQUk9QIFRhcmdldF9EaXIgIiINCi0jIEFE RCBCQVNFIENQUCAvbm9sb2dvIC9NVGQgL1czIC9HbSAvR1ggL1pJIC9PZCAvRCAiV0lOMzIiIC9E ICJfREVCVUciIC9EICJfV0lORE9XUyIgL0QgIl9NQkNTIiAvRCAiX1VTUkRMTCIgL0QgIkxJQkdM QURFX0VYUE9SVFMiIC9ZWCAvRkQgL0daIC9jDQotIyBBREQgQ1BQIC9ub2xvZ28gL01UZCAvVzMg L0dtIC9HWCAvWkkgL09kIC9JICIuIiAvSSAiLi4vLi4vIiAvSSAiLi4vLi4vbWFpbiIgL0kgIi4u Ly4uLy4uL3BocDUiIC9JICIuLi8uLi8uLi9waHA1L21haW4iIC9JICIuLi8uLi8uLi9waHA1XFpl bmQiIC9JICIuLi8uLi8uLi9waHA1XFRTUk0iIC9JICIuLi8uLi8uLi9zcmMvZ3RrKyIgL0kgIi4u Ly4uLy4uL3NyYy9ndGsrL2dkayIgL0kgIi4uLy4uLy4uL3NyYy9nbGliIiAvSSAiLi4vLi4vLi4v c3JjL2dsaWIvZ2xpYiIgL0kgIi4uLy4uLy4uL3NyYy9wYW5nbyIgL0kgIi4uLy4uLy4uL3NyYy9s aWJnbGFkZSIgL0QgIldJTjMyIiAvRCAiX0RFQlVHIiAvRCAiX1dJTkRPV1MiIC9EICJfTUJDUyIg L0QgIl9VU1JETEwiIC9EICJMSUJHTEFERV9FWFBPUlRTIiAvRCAiUEhQX1dJTjMyIiAvRCAiWkVO RF9XSU4zMiIgL0QgWlRTPTEgL0QgWkVORF9ERUJVRz0xIC9EIEhBVkVfUEhQX0dUSz0xIC9EIEdU S19TSEFSRUQ9MSAvRCBIQVZFX0xJQkdMQURFPTEgL0QgIlBIUF9HVEtfQ09NUElMRV9ETF9MSUJH TEFERSIgL1lYIC9GRCAvR1ogL2MNCi0jIEFERCBCQVNFIE1UTCAvbm9sb2dvIC9EICJfREVCVUci IC9ta3R5cGxpYjIwMyAvd2luMzINCi0jIEFERCBNVEwgL25vbG9nbyAvRCAiX0RFQlVHIiAvbWt0 eXBsaWIyMDMgL3dpbjMyDQotIyBBREQgQkFTRSBSU0MgL2wgMHg0MDkgL2QgIl9ERUJVRyINCi0j IEFERCBSU0MgL2wgMHg0MDkgL2QgIl9ERUJVRyINCi1CU0MzMj1ic2NtYWtlLmV4ZQ0KLSMgQURE IEJBU0UgQlNDMzIgL25vbG9nbw0KLSMgQUREIEJTQzMyIC9ub2xvZ28NCi1MSU5LMzI9bGluay5l eGUNCi0jIEFERCBCQVNFIExJTkszMiBrZXJuZWwzMi5saWIgdXNlcjMyLmxpYiBnZGkzMi5saWIg d2luc3Bvb2wubGliIGNvbWRsZzMyLmxpYiBhZHZhcGkzMi5saWIgc2hlbGwzMi5saWIgb2xlMzIu bGliIG9sZWF1dDMyLmxpYiB1dWlkLmxpYiBvZGJjMzIubGliIG9kYmNjcDMyLmxpYiAvbm9sb2dv IC9kbGwgL2RlYnVnIC9tYWNoaW5lOkkzODYgL3BkYnR5cGU6c2VwdA0KLSMgQUREIExJTkszMiBw aHA0dHNfZGVidWcubGliIHBocF9ndGsubGliIGd0ay5saWIgZ2xpYi0yLjAubGliIGxpYmdsYWRl LmxpYiBrZXJuZWwzMi5saWIgdXNlcjMyLmxpYiBnZGkzMi5saWIgd2luc3Bvb2wubGliIGNvbWRs ZzMyLmxpYiBhZHZhcGkzMi5saWIgc2hlbGwzMi5saWIgb2xlMzIubGliIG9sZWF1dDMyLmxpYiB1 dWlkLmxpYiBvZGJjMzIubGliIG9kYmNjcDMyLmxpYiAvbm9sb2dvIC9kbGwgL2RlYnVnIC9tYWNo aW5lOkkzODYgL291dDoiLi4vLi4vd2luMzIvRGVidWdfVFMvcGhwX2d0a19saWJnbGFkZS5kbGwi IC9wZGJ0eXBlOnNlcHQgL2xpYnBhdGg6Ii4uXC4uXC4uXHBocDVcRGVidWdfVFMiIC9saWJwYXRo OiIuLlxndGsrXERlYnVnX1RTIg0KLQ0KLSFFTkRJRiANCi0NCi0jIEJlZ2luIFRhcmdldA0KLQ0K LSMgTmFtZSAibGliZ2xhZGUgLSBXaW4zMiBSZWxlYXNlX1RTIg0KLSMgTmFtZSAibGliZ2xhZGUg LSBXaW4zMiBEZWJ1Z19UUyINCi0jIEJlZ2luIEdyb3VwICJQYXJzZXJzIg0KLQ0KLSMgUFJPUCBE ZWZhdWx0X0ZpbHRlciAiZGVmcyINCi0jIEJlZ2luIFNvdXJjZSBGaWxlDQotDQotU09VUkNFPS5c bGliZ2xhZGUuZGVmcw0KLQ0KLSFJRiAgIiQoQ0ZHKSIgPT0gImxpYmdsYWRlIC0gV2luMzIgUmVs ZWFzZV9UUyINCi0NCi1VU0VSREVQX19MSUJHTD0ibGliZ2xhZGUub3ZlcnJpZGVzIgkibGliZ2xh ZGUuZGVmcyIJDQotIyBCZWdpbiBDdXN0b20gQnVpbGQNCi1JbnB1dFBhdGg9LlxsaWJnbGFkZS5k ZWZzDQotDQotImdlbl9saWJnbGFkZS5jIiA6ICQoU09VUkNFKSAiJChJTlRESVIpIiAiJChPVVRE SVIpIg0KLQlwaHAuZXhlIC1xIC4uXC4uXGdlbmVyYXRvclxnZW5lcmF0b3IucGhwIC1vIGV4dFxs aWJnbGFkZVxsaWJnbGFkZS5vdmVycmlkZXMgLXAgbGliZ2xhZGUgLXIgZXh0XGd0ayUlMmJcZ3Rr LmRlZnMgZXh0XGxpYmdsYWRlXGxpYmdsYWRlLmRlZnMgPmdlbl9saWJnbGFkZS5jIA0KLQlncmVw IC1oICJeUEhQX0dUS19FWFBPUlRfQ0UiIGdlbl9saWJnbGFkZS5jIHwgc2VkIC1lICJzL14vZXh0 ZXJuIC8iID4gZ2VuX2NlX2xpYmdsYWRlLmggDQotCQ0KLSMgRW5kIEN1c3RvbSBCdWlsZA0KLQ0K LSFFTFNFSUYgICIkKENGRykiID09ICJsaWJnbGFkZSAtIFdpbjMyIERlYnVnX1RTIg0KLQ0KLVVT RVJERVBfX0xJQkdMPSJsaWJnbGFkZS5vdmVycmlkZXMiCSJsaWJnbGFkZS5kZWZzIgkNCi0jIEJl Z2luIEN1c3RvbSBCdWlsZA0KLUlucHV0UGF0aD0uXGxpYmdsYWRlLmRlZnMNCi0NCi0iZ2VuX2xp YmdsYWRlLmMiIDogJChTT1VSQ0UpICIkKElOVERJUikiICIkKE9VVERJUikiDQotCXBocC5leGUg LXEgLi5cLi5cZ2VuZXJhdG9yXGdlbmVyYXRvci5waHAgLW8gZXh0XGxpYmdsYWRlXGxpYmdsYWRl Lm92ZXJyaWRlcyAtcCBsaWJnbGFkZSAtciBleHRcZ3RrJSUyYlxndGsuZGVmcyBleHRcbGliZ2xh ZGVcbGliZ2xhZGUuZGVmcyA+Z2VuX2xpYmdsYWRlLmMgDQotCWdyZXAgLWggIl5QSFBfR1RLX0VY UE9SVF9DRSIgZ2VuX2xpYmdsYWRlLmMgfCBzZWQgLWUgInMvXi9leHRlcm4gLyIgPiBnZW5fY2Vf bGliZ2xhZGUuaCANCi0JDQotIyBFbmQgQ3VzdG9tIEJ1aWxkDQotDQotIUVORElGIA0KLQ0KLSMg RW5kIFNvdXJjZSBGaWxlDQotIyBFbmQgR3JvdXANCi0jIEJlZ2luIEdyb3VwICJTb3VyY2UgRmls ZXMiDQotDQotIyBQUk9QIERlZmF1bHRfRmlsdGVyICJjcHA7YztjeHg7cmM7ZGVmO3I7b2RsO2lk bDtocGo7YmF0Ig0KLSMgQmVnaW4gU291cmNlIEZpbGUNCi0NCi1TT1VSQ0U9LlxnZW5fbGliZ2xh ZGUuYw0KLSMgRW5kIFNvdXJjZSBGaWxlDQotIyBCZWdpbiBTb3VyY2UgRmlsZQ0KLQ0KLVNPVVJD RT0uXHBocF9saWJnbGFkZS5jDQotIyBFbmQgU291cmNlIEZpbGUNCi0jIEVuZCBHcm91cA0KLSMg QmVnaW4gR3JvdXAgIkhlYWRlciBGaWxlcyINCi0NCi0jIFBST1AgRGVmYXVsdF9GaWx0ZXIgImg7 aHBwO2h4eDtobTtpbmwiDQotIyBCZWdpbiBTb3VyY2UgRmlsZQ0KLQ0KLVNPVVJDRT0uXGdlbl9j ZV9saWJnbGFkZS5oDQotIyBFbmQgU291cmNlIEZpbGUNCi0jIEJlZ2luIFNvdXJjZSBGaWxlDQot DQotU09VUkNFPS5ccGhwX2xpYmdsYWRlLmgNCi0jIEVuZCBTb3VyY2UgRmlsZQ0KLSMgRW5kIEdy b3VwDQotIyBCZWdpbiBHcm91cCAiUmVzb3VyY2UgRmlsZXMiDQotDQotIyBQUk9QIERlZmF1bHRf RmlsdGVyICJpY287Y3VyO2JtcDtkbGc7cmMyO3JjdDtiaW47cmdzO2dpZjtqcGc7anBlZztqcGUi DQotIyBFbmQgR3JvdXANCi0jIEJlZ2luIEdyb3VwICJPdmVycmlkZSBGaWxlcyINCi0NCi0jIFBS T1AgRGVmYXVsdF9GaWx0ZXIgIioub3ZlcnJpZGUiDQotIyBCZWdpbiBTb3VyY2UgRmlsZQ0KLQ0K LVNPVVJDRT0uLlxleHRcbGliZ2xhZGVcbGliZ2xhZGUub3ZlcnJpZGVzDQotIyBFbmQgU291cmNl IEZpbGUNCi0jIEVuZCBHcm91cA0KLSMgRW5kIFRhcmdldA0KLSMgRW5kIFByb2plY3QNCmRpZmYg LS1naXQgYS9leHQvbW96ZW1iZWQvTWFrZWZpbGUuZnJhZyBiL2V4dC9tb3plbWJlZC9NYWtlZmls ZS5mcmFnCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBlZjc4MDFlLi4wMDAwMDAwCi0t LSBhL2V4dC9tb3plbWJlZC9NYWtlZmlsZS5mcmFnCisrKyAvZGV2L251bGwKQEAgLTEsMTQgKzAs MCBAQAotCi0kKGJ1aWxkZGlyKS9nZW5fbW96ZW1iZWQuYzogJChzcmNkaXIpL21vemVtYmVkLmRl ZnMgJChzcmNkaXIpL21vemVtYmVkLm92ZXJyaWRlcwotCSggXAotICAgICAkKFBIUCkgJCh0b3Bf c3JjZGlyKS9nZW5lcmF0b3IvZ2VuZXJhdG9yLnBocCBcCi0JIAktbCAkKEBEKS8kKCpGKS5sb2cg XAotICAgICAgICAtciBleHQvZ3RrKy9hdGstdHlwZXMuZGVmcyAgIFwKLSAgICAgICAgLXIgZXh0 L2d0aysvcGFuZ28tdHlwZXMuZGVmcyBcCi0gICAgICAgIC1yIGV4dC9ndGsrL2dkay10eXBlcy5k ZWZzICAgXAotICAgICAgICAtciBleHQvZ3RrKy9ndGstdHlwZXMuZGVmcyAgIFwKLQkJLW8gZXh0 L21vemVtYmVkL21vemVtYmVkLm92ZXJyaWRlcyBcCi0gICAgICAgIC1wIEd0a01vemVtYmVkIFwK LQkJLWYgJEAgZXh0L21vemVtYmVkL21vemVtYmVkLmRlZnMgXAotICAgICAmJiBncmVwIC1oICJe UEhQX0dUS19FWFBPUlRfQ0UiICRAIHwgc2VkIC1lICJzIV4hZXh0ZXJuICEiID4gJChARCkvJCgq RikuaCBcCi0JKQpkaWZmIC0tZ2l0IGEvZXh0L21vemVtYmVkL1JFQURNRSBiL2V4dC9tb3plbWJl ZC9SRUFETUUKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDhiMzJlNjMuLjAwMDAwMDAK LS0tIGEvZXh0L21vemVtYmVkL1JFQURNRQorKysgL2Rldi9udWxsCkBAIC0xLDExICswLDAgQEAK LUxJQ0VOU0U6IE1vemlsbGEgUHVibGljIExpY2Vuc2UgLyAoT3B0aW9uYWxseSBMR1BML0dQTCkK LUFVVEhPUjogTW96aWxsYS5vcmcKLVVSTDogaHR0cDovL2x4ci5tb3ppbGxhLm9yZy9tb3ppbGxh L3NvdXJjZS9lbWJlZGRpbmcvYnJvd3Nlci9ndGsvc3JjLwotCi1HdGtNb3plbWJlZCBpcyBhIHdp ZGdldCB0aGF0IGFsbG93cyB5b3UgdG8gZW1iZWQgdGhlIE1vemlsbGEgZW5naW5lIGluIHlvdXIg R3RrKwotYXBwbGljYXRpb25zLiBDaGVjayB0aGUgZGVtb3MvIGRpcmVjdG9yeSBmb3Igc2FtcGxl IHNjcmlwdChzKS4KLQotWW91IG5lZWQgdG8gYWRkIHRoZSAtLXdpdGgtbW96ZW1iZWQgc3dpdGNo IHRvIHlvdXIgLi9jb25maWd1cmUgc3RhdGVtZW50IHdoZW4KLXlvdSBidWlsZCBQSFAtR1RLIDIg aW4gb3JkZXIgdG8gZW5hYmxlIHRoaXMgZXh0ZW5zaW9uLgotCi1OT1RFOiBUaGlzIGV4dGVuc2lv biBpcyBjdXJyZW50bHkgc3VwcG9ydGVkIG9ubHkgb24gdGhlICpuaXggcGxhdGZvcm0uCmRpZmYg LS1naXQgYS9leHQvbW96ZW1iZWQvY29uZmlnLm00IGIvZXh0L21vemVtYmVkL2NvbmZpZy5tNApk ZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggOGZjZDZhMS4uMDAwMDAwMAotLS0gYS9leHQv bW96ZW1iZWQvY29uZmlnLm00CisrKyAvZGV2L251bGwKQEAgLTEsMzYgKzAsMCBAQAotZG5sICRJ ZCQKLWRubCBjb25maWcubTQgZm9yIG1vemVtYmVkIG1vZHVsZQotCi1kZWZpbmUoZmlyZWZveF9y ZXF1aXJlZF92ZXJzaW9uLCAxLjUuMCkKLWRlZmluZShtb3ppbGxhX3JlcXVpcmVkX3ZlcnNpb24s IDEuNy4wKQotZGVmaW5lKHh1bHJ1bm5lcl9yZXF1aXJlZF92ZXJzaW9uLCAxLjcuMCkgI0p1c3Qg YSB3aWxkIGd1ZXNzCi0KLVBIUF9HVEtfQVJHX1dJVEgobW96ZW1iZWQsZm9yIEd0a01vekVtYmVk IHN1cHBvcnQsCi1bICAtLXdpdGgtbW96ZW1iZWQgICAgICAgICBFbmFibGUgR3RrTW96RW1iZWQg c3VwcG9ydF0sbm8pCi0KLWRubCBmaXJzdCBjaGVjayBmb3IgZmlyZWZveCwgdGhlbiBtb3ppbGxh Ci1pZiB0ZXN0ICIkUEhQX0dUS19NT1pFTUJFRCIgIT0gIm5vIjsgdGhlbgotICBQS0dfQ0hFQ0tf TU9EVUxFUyhNT1pFTUJFRCwgW2ZpcmVmb3gtZ3RrbW96ZW1iZWQgPj0gZmlyZWZveF9yZXF1aXJl ZF92ZXJzaW9uXSwKLSAgaGF2ZV9tb3plbWJlZD15ZXMsIGhhdmVfbW96ZW1iZWQ9bm8pCi0gIGlm IHRlc3QgIiRoYXZlX21vemVtYmVkIiAhPSAieWVzIjsgdGhlbgotICAgIFBLR19DSEVDS19NT0RV TEVTKE1PWkVNQkVELCBbbW96aWxsYS1ndGttb3plbWJlZCA+PSBtb3ppbGxhX3JlcXVpcmVkX3Zl cnNpb25dLAotICAgIGhhdmVfbW96ZW1iZWQ9eWVzLCBoYXZlX21vemVtYmVkPW5vKQotICBmaQot ICBpZiB0ZXN0ICIkaGF2ZV9tb3plbWJlZCIgIT0gInllcyI7IHRoZW4KLSAgICBQS0dfQ0hFQ0tf TU9EVUxFUyhNT1pFTUJFRCwgW3h1bHJ1bm5lci1ndGttb3plbWJlZCA+PSB4dWxydW5uZXJfcmVx dWlyZWRfdmVyc2lvbl0sCi0gICAgaGF2ZV9tb3plbWJlZD15ZXMsIGhhdmVfbW96ZW1iZWQ9bm8p Ci0gIGZpCi0gIGlmIHRlc3QgIiRoYXZlX21vemVtYmVkIiAhPSAieWVzIjsgdGhlbgotICAgIEFD X01TR19SRVNVTFQoW1VuYWJsZSB0byBsb2NhdGUgZmlyZWZveC1ndGttb3plbWJlZCB2ZXJzaW9u IGZpcmVmb3hfcmVxdWlyZWRfdmVyc2lvbiwgbW96aWxsYS1ndGttb3plbWJlZCB2ZXJzaW9uIG1v emlsbGFfcmVxdWlyZWRfdmVyc2lvbiwgeHVscnVubmVyLWd0a21vemVtYmVkIHh1bHJ1bm5lcl9y ZXF1aXJlZF92ZXJzaW9uIG9yIGhpZ2hlcjogbm90IGJ1aWxkaW5nXSkKLSAgZWxzZQotICAgIEFD X0RFRklORShIQVZFX01PWkVNQkVELCAxLCBbbW96ZW1iZWQgc3VwcG9ydF0pCi0gICAgUEhQX0VW QUxfSU5DTElORSgkTU9aRU1CRURfQ0ZMQUdTKQotICAgIGlmIHRlc3QgIiRwaHBfZ3RrX2V4dF9z aGFyZWQiID0gInllcyI7IHRoZW4KLSAgICAgIFBIUF9FVkFMX0xJQkxJTkUoJE1PWkVNQkVEX0xJ QlMsIFBIUF9HVEsyX01PWkVNQkVEX1NIQVJFRF9MSUJBREQpCi0gICAgICBQSFBfU1VCU1QoUEhQ X0dUSzJfTU9aRU1CRURfU0hBUkVEX0xJQkFERCkKLSAgICBlbHNlCi0gICAgICBQSFBfRVZBTF9M SUJMSU5FKCRNT1pFTUJFRF9MSUJTLCBQSFBfR1RLMl9TSEFSRURfTElCQUREKQotICAgIGZpCi0g ICAgUEhQX0dUS19FWFRFTlNJT04obW96ZW1iZWQsICRwaHBfZ3RrX2V4dF9zaGFyZWQsIHBocF9t b3plbWJlZC5jLCBnZW5fbW96ZW1iZWQuYykKLSAgZmkKLWZpCmRpZmYgLS1naXQgYS9leHQvbW96 ZW1iZWQvZGVtb3MvYnJvd3Nlci5waHAgYi9leHQvbW96ZW1iZWQvZGVtb3MvYnJvd3Nlci5waHAK ZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGMxYzYzMGEuLjAwMDAwMDAKLS0tIGEvZXh0 L21vemVtYmVkL2RlbW9zL2Jyb3dzZXIucGhwCisrKyAvZGV2L251bGwKQEAgLTEsNjggKzAsMCBA QAotPD9waHAKLQotICAgIGdsb2JhbCAkbG9jYXRpb247Ci0gICAgZ2xvYmFsICRtb3pDb21wb25l bnQ7Ci0gICAgJGxvY2F0aW9uID0gbmV3IEd0a0VudHJ5KCk7Ci0gICAgJG1vekNvbXBvbmVudCA9 IG5ldyBHdGtNb3pFbWJlZCgpOwotICAgIAotICAgICRnb0J1dHRvbiA9IEd0a0J1dHRvbjo6bmV3 X2Zyb21fc3RvY2soR3RrOjpTVE9DS19PSyk7Ci0gICAgJHN0b3BCdXR0b24gPSBHdGtCdXR0b246 Om5ld19mcm9tX3N0b2NrKEd0azo6U1RPQ0tfU1RPUCk7Ci0gICAgJGdvRm9yd2FyZCA9IEd0a0J1 dHRvbjo6bmV3X2Zyb21fc3RvY2soR3RrOjpTVE9DS19HT19GT1JXQVJEKTsKLSAgICAkZ29CYWNr d2FyZCA9IEd0a0J1dHRvbjo6bmV3X2Zyb21fc3RvY2soR3RrOjpTVE9DS19HT19CQUNLKTsKLSAg ICAKLSAgICAkZ29CdXR0b24tPmNvbm5lY3Rfc2ltcGxlKCJjbGlja2VkIiwgImdvdG8iKTsKLSAg ICAkc3RvcEJ1dHRvbi0+Y29ubmVjdF9zaW1wbGUoImNsaWNrZWQiLCAic3RvcCIpOwotICAgICRn b0ZvcndhcmQtPmNvbm5lY3Rfc2ltcGxlKCJjbGlja2VkIiwgImZvcndhcmQiKTsKLSAgICAkZ29C YWNrd2FyZC0+Y29ubmVjdF9zaW1wbGUoImNsaWNrZWQiLCAiYmFjayIpOwotCi0gICAgLyogSG9t ZSBQYWdlISAqLwotICAgICRtb3pDb21wb25lbnQtPmxvYWRfdXJsKCJodHRwOi8vZ3RrLnBocC5u ZXQvIik7Ci0KLSAgICAkbG9jYXRpb25CYXIgPSBuZXcgR3RrSEJveCgpOwotICAgICRsb2NhdGlv bkJhci0+cGFja19zdGFydCgkbG9jYXRpb24pOwotICAgICRsb2NhdGlvbkJhci0+cGFja19zdGFy dCgkZ29CdXR0b24pOwotICAgICRsb2NhdGlvbkJhci0+cGFja19zdGFydCgkc3RvcEJ1dHRvbik7 Ci0gICAgJGxvY2F0aW9uQmFyLT5wYWNrX3N0YXJ0KCRnb0ZvcndhcmQpOwotICAgICRsb2NhdGlv bkJhci0+cGFja19zdGFydCgkZ29CYWNrd2FyZCk7Ci0KLSAgICAkbWFpbkJveCA9IG5ldyBHdGtW Qm94KCk7Ci0gICAgJG1haW5Cb3gtPnBhY2tfc3RhcnQoJGxvY2F0aW9uQmFyLCBmYWxzZSwgZmFs c2UpOwotICAgICRtYWluQm94LT5wYWNrX3N0YXJ0KCRtb3pDb21wb25lbnQsIHRydWUsIHRydWUp OwotICAgIAotICAgICRtYWluV2luZG93ID0gbmV3IEd0a1dpbmRvdygpOwotICAgICRtYWluV2lu ZG93LT5tYXhpbWl6ZSgpOwotICAgICRtYWluV2luZG93LT5zZXRfdGl0bGUoIlBIUC1HdGsyJ3Mg Zmlyc3Qgd2ViIGJyb3dzZXIhIik7Ci0gICAgJG1haW5XaW5kb3ctPmFkZCgkbWFpbkJveCk7Ci0K LSAgICAkbWFpbldpbmRvdy0+c2hvd19hbGwoKTsKLSAgICAkbWFpbldpbmRvdy0+Y29ubmVjdF9z aW1wbGUoImRlc3Ryb3kiLCBhcnJheSgiR3RrIiwgIm1haW5fcXVpdCIpKTsKLQotICAgIEd0azo6 bWFpbigpOwotCi0gICAgZnVuY3Rpb24gZ290bygpCi0gICAgewotICAgICAgICBnbG9iYWwgJGxv Y2F0aW9uOwotICAgICAgICBnbG9iYWwgJG1vekNvbXBvbmVudDsKLSAgICAgICAgJHVybCA9IHRy aW0oJGxvY2F0aW9uLT5nZXRfdGV4dCgpKTsKLSAgICAgICAgJG1vekNvbXBvbmVudC0+bG9hZF91 cmwoJHVybCk7Ci0gICAgfQotCi0gICAgZnVuY3Rpb24gc3RvcCgpCi0gICAgewotICAgICAgICBn bG9iYWwgJG1vekNvbXBvbmVudDsKLSAgICAgICAgJG1vekNvbXBvbmVudC0+c3RvcF9sb2FkKCk7 Ci0gICAgfQotCi0gICAgZnVuY3Rpb24gZm9yd2FyZCgpCi0gICAgewotICAgICAgICBnbG9iYWwg JG1vekNvbXBvbmVudDsKLSAgICAgICAgJG1vekNvbXBvbmVudC0+Z29fZm9yd2FyZCgpOwotICAg IH0KLQotICAgIGZ1bmN0aW9uIGJhY2soKQotICAgIHsKLSAgICAgICAgZ2xvYmFsICRtb3pDb21w b25lbnQ7Ci0gICAgICAgICRtb3pDb21wb25lbnQtPmdvX2JhY2soKTsKLSAgICB9Ci0KLT8+CmRp ZmYgLS1naXQgYS9leHQvbW96ZW1iZWQvZGVtb3MvZGVtb3Mvc3BlbGwucGhwIGIvZXh0L21vemVt YmVkL2RlbW9zL2RlbW9zL3NwZWxsLnBocApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg YzJmYzcxMC4uMDAwMDAwMAotLS0gYS9leHQvbW96ZW1iZWQvZGVtb3MvZGVtb3Mvc3BlbGwucGhw CisrKyAvZGV2L251bGwKQEAgLTEsMjAgKzAsMCBAQAotPD9waHAKLQotJHfKPSBuZXcgR3RrV2lu ZG93KCk7Ci0kdCA9IG5ldyBHdGtUZXh0QnVmZmVyKCk7Ci0kdiA9IG5ldyBHdGtUZXh0Vmlldygk dCk7Ci0KLSRzyj0gbmV3IEd0a1NwZWxsKCR2KTsKLSRzLT5zZXRfbGFuZ3VhZ2UoJ2VuJyk7Ci0K LSR3LT5zZXRfdGl0bGUoJ1NwZWxsykNoZWNrJyk7Ci0kdy0+c2V0X3NpemVfcmVxdWVzdCgyMDAs yjIwMCk7Ci0kdy0+YWRkKCR2KTsKLSR3LT5zaG93X2FsbCgpOwotCi0kdy0+Y29ubmVjdF9zaW1w bGUoJ2Rlc3Ryb3knLCBhcnJheSgnR3RrJywgJ21haW5fcXVpdCcpKTsKLQotR3RrOjptYWluKCk7 Ci0KLT8+Ci0KZGlmZiAtLWdpdCBhL2V4dC9tb3plbWJlZC9tb3plbWJlZC5kZWZzIGIvZXh0L21v emVtYmVkL21vemVtYmVkLmRlZnMKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGU4OWU1 YWIuLjAwMDAwMDAKLS0tIGEvZXh0L21vemVtYmVkL21vemVtYmVkLmRlZnMKKysrIC9kZXYvbnVs bApAQCAtMSwxNDggKzAsMCBAQAotOzsgLSotIHNjaGVtZSAtKi0KLTsgb2JqZWN0IGRlZmluaXRp b25zIC4uLgotKGRlZmluZS1vYmplY3QgTW96RW1iZWQKLSAgKGluLW1vZHVsZSAiR3RrIikKLSAg KHBhcmVudCAiR3RrQmluIikKLSAgKGMtbmFtZSAiR3RrTW96RW1iZWQiKQotICAoZ3R5cGUtaWQg IkdUS19UWVBFX01PWl9FTUJFRCIpCi0pCi0KLTs7IEVudW1lcmF0aW9ucyBhbmQgZmxhZ3MgLi4u Ci0KLTs7IEZyb20gL3Vzci9pbmNsdWRlL21vemlsbGEtMS4yYi9ndGtlbWJlZG1vei9ndGttb3pl bWJlZC5oCi0KLShkZWZpbmUtZnVuY3Rpb24gZ3RrX21vel9lbWJlZF9nZXRfdHlwZQotICAoYy1u YW1lICJndGtfbW96X2VtYmVkX2dldF90eXBlIikKLSAgKHJldHVybi10eXBlICJHdGtUeXBlIikK LSkKLQotKGRlZmluZS1mdW5jdGlvbiBndGtfbW96X2VtYmVkX25ldwotICAoYy1uYW1lICJndGtf bW96X2VtYmVkX25ldyIpCi0gIChpcy1jb25zdHJ1Y3Rvci1vZiAiR3RrTW96RW1iZWQiKQotICAo cmV0dXJuLXR5cGUgIkd0a1dpZGdldCoiKQotKQotCi0oZGVmaW5lLW1ldGhvZCBsb2FkX3VybAot ICAob2Ytb2JqZWN0ICJHdGtNb3pFbWJlZCIpCi0gIChjLW5hbWUgImd0a19tb3pfZW1iZWRfbG9h ZF91cmwiKQotICAocmV0dXJuLXR5cGUgIm5vbmUiKQotICAocGFyYW1ldGVycwotICAgICcoImNv bnN0LWNoYXIqIiAidXJsIikKLSAgKQotKQotCi0oZGVmaW5lLW1ldGhvZCBzdG9wX2xvYWQKLSAg KG9mLW9iamVjdCAiR3RrTW96RW1iZWQiKQotICAoYy1uYW1lICJndGtfbW96X2VtYmVkX3N0b3Bf bG9hZCIpCi0gIChyZXR1cm4tdHlwZSAibm9uZSIpCi0pCi0KLShkZWZpbmUtbWV0aG9kIGNhbl9n b19iYWNrCi0gIChvZi1vYmplY3QgIkd0a01vekVtYmVkIikKLSAgKGMtbmFtZSAiZ3RrX21vel9l bWJlZF9jYW5fZ29fYmFjayIpCi0gIChyZXR1cm4tdHlwZSAiZ2Jvb2xlYW4iKQotKQotCi0oZGVm aW5lLW1ldGhvZCBjYW5fZ29fZm9yd2FyZAotICAob2Ytb2JqZWN0ICJHdGtNb3pFbWJlZCIpCi0g IChjLW5hbWUgImd0a19tb3pfZW1iZWRfY2FuX2dvX2ZvcndhcmQiKQotICAocmV0dXJuLXR5cGUg Imdib29sZWFuIikKLSkKLQotKGRlZmluZS1tZXRob2QgZ29fYmFjawotICAob2Ytb2JqZWN0ICJH dGtNb3pFbWJlZCIpCi0gIChjLW5hbWUgImd0a19tb3pfZW1iZWRfZ29fYmFjayIpCi0gIChyZXR1 cm4tdHlwZSAibm9uZSIpCi0pCi0KLShkZWZpbmUtbWV0aG9kIGdvX2ZvcndhcmQKLSAgKG9mLW9i amVjdCAiR3RrTW96RW1iZWQiKQotICAoYy1uYW1lICJndGtfbW96X2VtYmVkX2dvX2ZvcndhcmQi KQotICAocmV0dXJuLXR5cGUgIm5vbmUiKQotKQotCi0oZGVmaW5lLW1ldGhvZCByZW5kZXJfZGF0 YQotICAob2Ytb2JqZWN0ICJHdGtNb3pFbWJlZCIpCi0gIChjLW5hbWUgImd0a19tb3pfZW1iZWRf cmVuZGVyX2RhdGEiKQotICAocmV0dXJuLXR5cGUgIm5vbmUiKQotICAocGFyYW1ldGVycwotICAg ICcoImNvbnN0LWNoYXIqIiAiZGF0YSIpCi0gICAgJygiZ3VpbnQzMiIgImxlbiIpCi0gICAgJygi Y29uc3QtY2hhcioiICJiYXNlX3VyaSIpCi0gICAgJygiY29uc3QtY2hhcioiICJtaW1lX3R5cGUi KQotICApCi0pCi0KLShkZWZpbmUtbWV0aG9kIG9wZW5fc3RyZWFtCi0gIChvZi1vYmplY3QgIkd0 a01vekVtYmVkIikKLSAgKGMtbmFtZSAiZ3RrX21vel9lbWJlZF9vcGVuX3N0cmVhbSIpCi0gIChy ZXR1cm4tdHlwZSAibm9uZSIpCi0gIChwYXJhbWV0ZXJzCi0gICAgJygiY29uc3QtY2hhcioiICJi YXNlX3VyaSIpCi0gICAgJygiY29uc3QtY2hhcioiICJtaW1lX3R5cGUiKQotICApCi0pCi0KLShk ZWZpbmUtbWV0aG9kIGFwcGVuZF9kYXRhCi0gIChvZi1vYmplY3QgIkd0a01vekVtYmVkIikKLSAg KGMtbmFtZSAiZ3RrX21vel9lbWJlZF9hcHBlbmRfZGF0YSIpCi0gIChyZXR1cm4tdHlwZSAibm9u ZSIpCi0gIChwYXJhbWV0ZXJzCi0gICAgJygiY29uc3QtY2hhcioiICJkYXRhIikKLSAgICAnKCJn dWludDMyIiAibGVuIikKLSAgKQotKQotCi0oZGVmaW5lLW1ldGhvZCBjbG9zZV9zdHJlYW0KLSAg KG9mLW9iamVjdCAiR3RrTW96RW1iZWQiKQotICAoYy1uYW1lICJndGtfbW96X2VtYmVkX2Nsb3Nl X3N0cmVhbSIpCi0gIChyZXR1cm4tdHlwZSAibm9uZSIpCi0pCi0KLShkZWZpbmUtbWV0aG9kIGdl dF9saW5rX21lc3NhZ2UKLSAgKG9mLW9iamVjdCAiR3RrTW96RW1iZWQiKQotICAoYy1uYW1lICJn dGtfbW96X2VtYmVkX2dldF9saW5rX21lc3NhZ2UiKQotICAocmV0dXJuLXR5cGUgImNoYXIqIikK LSkKLQotKGRlZmluZS1tZXRob2QgZ2V0X2pzX3N0YXR1cwotICAob2Ytb2JqZWN0ICJHdGtNb3pF bWJlZCIpCi0gIChjLW5hbWUgImd0a19tb3pfZW1iZWRfZ2V0X2pzX3N0YXR1cyIpCi0gIChyZXR1 cm4tdHlwZSAiY2hhcioiKQotKQotCi0oZGVmaW5lLW1ldGhvZCBnZXRfdGl0bGUKLSAgKG9mLW9i amVjdCAiR3RrTW96RW1iZWQiKQotICAoYy1uYW1lICJndGtfbW96X2VtYmVkX2dldF90aXRsZSIp Ci0gIChyZXR1cm4tdHlwZSAiY2hhcioiKQotKQotCi0oZGVmaW5lLW1ldGhvZCBnZXRfbG9jYXRp b24KLSAgKG9mLW9iamVjdCAiR3RrTW96RW1iZWQiKQotICAoYy1uYW1lICJndGtfbW96X2VtYmVk X2dldF9sb2NhdGlvbiIpCi0gIChyZXR1cm4tdHlwZSAiY2hhcioiKQotKQotCi0oZGVmaW5lLW1l dGhvZCByZWxvYWQKLSAgKG9mLW9iamVjdCAiR3RrTW96RW1iZWQiKQotICAoYy1uYW1lICJndGtf bW96X2VtYmVkX3JlbG9hZCIpCi0gIChyZXR1cm4tdHlwZSAibm9uZSIpCi0gIChwYXJhbWV0ZXJz Ci0gICAgJygiZ2ludDMyIiAiZmxhZ3MiKQotICApCi0pCi0KLShkZWZpbmUtbWV0aG9kIHNldF9j aHJvbWVfbWFzawotICAob2Ytb2JqZWN0ICJHdGtNb3pFbWJlZCIpCi0gIChjLW5hbWUgImd0a19t b3pfZW1iZWRfc2V0X2Nocm9tZV9tYXNrIikKLSAgKHJldHVybi10eXBlICJub25lIikKLSAgKHBh cmFtZXRlcnMKLSAgICAnKCJndWludDMyIiAiZmxhZ3MiKQotICApCi0pCi0KLShkZWZpbmUtbWV0 aG9kIGdldF9jaHJvbWVfbWFzawotICAob2Ytb2JqZWN0ICJHdGtNb3pFbWJlZCIpCi0gIChjLW5h bWUgImd0a19tb3pfZW1iZWRfZ2V0X2Nocm9tZV9tYXNrIikKLSAgKHJldHVybi10eXBlICJndWlu dDMyIikKLSkKZGlmZiAtLWdpdCBhL2V4dC9tb3plbWJlZC9tb3plbWJlZC5vdmVycmlkZXMgYi9l eHQvbW96ZW1iZWQvbW96ZW1iZWQub3ZlcnJpZGVzCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NApp bmRleCA4N2NlOTMyLi4wMDAwMDAwCi0tLSBhL2V4dC9tb3plbWJlZC9tb3plbWJlZC5vdmVycmlk ZXMKKysrIC9kZXYvbnVsbApAQCAtMSwxMSArMCwwIEBACi0vKiB2aW06IHNldCBmdD1jcHA6ICov Ci0lJQotaGVhZGVycwotI2luY2x1ZGUgPGd0a21vemVtYmVkLmg+Ci0jaW5jbHVkZSAiZXh0L2d0 aysvcGhwX2d0aysuaCIKLSNpbmNsdWRlICJwaHBfZ3RrX2FwaS5oIgotJSUKLWNvbnN0YW50cwot JSUKLWlnbm9yZS1nbG9iCi0gICpfZ2V0X3R5cGUKZGlmZiAtLWdpdCBhL2V4dC9tb3plbWJlZC9w aHBfbW96ZW1iZWQuYyBiL2V4dC9tb3plbWJlZC9waHBfbW96ZW1iZWQuYwpkZWxldGVkIGZpbGUg bW9kZSAxMDA2NDQKaW5kZXggMjc4ODY4MS4uMDAwMDAwMAotLS0gYS9leHQvbW96ZW1iZWQvcGhw X21vemVtYmVkLmMKKysrIC9kZXYvbnVsbApAQCAtMSw0NSArMCwwIEBACi0vKgotICogUEhQLUdU SyAtIFRoZSBQSFAgbGFuZ3VhZ2UgYmluZGluZ3MgZm9yIEdUSysKLSAqCi0gKiBDb3B5cmlnaHQg KEMpIDIwMDEtMjAwOCBBbmRyZWkgWm1pZXZza2kgPGFuZHJlaUBwaHAubmV0PgotICoKLSAqIFRo aXMgbGlicmFyeSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQv b3IKLSAqIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMZXNzZXIgR2VuZXJh bCBQdWJsaWMKLSAqIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZv dW5kYXRpb247IGVpdGhlcgotICogdmVyc2lvbiAyLjEgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5 b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCi0gKiAKLSAqIFRoaXMgbGlicmFyeSBpcyBk aXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAotICogYnV0IFdJ VEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YK LSAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4g IFNlZSB0aGUgR05VCi0gKiBMZXNzZXIgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBk ZXRhaWxzLgotICogCi0gKiBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBH TlUgTGVzc2VyIEdlbmVyYWwgUHVibGljCi0gKiBMaWNlbnNlIGFsb25nIHdpdGggdGhpcyBsaWJy YXJ5OyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCi0gKiBGb3VuZGF0aW9uLCBJ bmMuLCA1OSBUZW1wbGUgUGxhY2UsIFN1aXRlIDMzMCwgQm9zdG9uLCBNQSAgMDIxMTEtMTMwNyAg VVNBCi0gKi8KLSAKLS8qICRJZCQgKi8KLQotI2luY2x1ZGUgInBocF9tb3plbWJlZC5oIgotCi0j aWYgSEFWRV9NT1pFTUJFRAotCi0jaWZkZWYgUEhQX0dUS19DT01QSUxFX0RMX01PWkVNQkVECi1Q SFBfR1RLX0dFVF9FWFRFTlNJT04obW96ZW1iZWQpCi0jZW5kaWYKLQotUEhQX0dUS19YSU5JVF9G VU5DVElPTihtb3plbWJlZCkKLXsKLSAgICBwaHBnX2d0a21vemVtYmVkX3JlZ2lzdGVyX2NsYXNz ZXMoKTsKLQlwaHBnX2d0a21vemVtYmVkX3JlZ2lzdGVyX2NvbnN0YW50cygiR1RLX01PWkVNQkVE XyIpOwotCQotCXJldHVybiBTVUNDRVNTOwotfQotCi1waHBfZ3RrX2V4dF9lbnRyeSBtb3plbWJl ZF9leHRfZW50cnkgPSB7Ci0JIm1vemVtYmVkIiwKLQlQSFBfR1RLX1hJTklUKG1vemVtYmVkKSwK LQlOVUxMLAotfTsKLQotI2VuZGlmCS8qIEhBVkVfTU9aRU1CRUQgKi8KZGlmZiAtLWdpdCBhL2V4 dC9tb3plbWJlZC9waHBfbW96ZW1iZWQuaCBiL2V4dC9tb3plbWJlZC9waHBfbW96ZW1iZWQuaApk ZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNzI4ODUwMS4uMDAwMDAwMAotLS0gYS9leHQv bW96ZW1iZWQvcGhwX21vemVtYmVkLmgKKysrIC9kZXYvbnVsbApAQCAtMSw0NCArMCwwIEBACi0v KgotICogUEhQLUdUSyAtIFRoZSBQSFAgbGFuZ3VhZ2UgYmluZGluZ3MgZm9yIEdUSysKLSAqCi0g KiBDb3B5cmlnaHQgKEMpIDIwMDEtMjAwOCBBbmRyZWkgWm1pZXZza2kgPGFuZHJlaUBwaHAubmV0 PgotICoKLSAqIFRoaXMgbGlicmFyeSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJp YnV0ZSBpdCBhbmQvb3IKLSAqIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBM ZXNzZXIgR2VuZXJhbCBQdWJsaWMKLSAqIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVl IFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlcgotICogdmVyc2lvbiAyLjEgb2YgdGhlIExpY2Vu c2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCi0gKiAKLSAqIFRoaXMg bGlicmFyeSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVs LAotICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQg d2FycmFudHkgb2YKLSAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VM QVIgUFVSUE9TRS4gIFNlZSB0aGUgR05VCi0gKiBMZXNzZXIgR2VuZXJhbCBQdWJsaWMgTGljZW5z ZSBmb3IgbW9yZSBkZXRhaWxzLgotICogCi0gKiBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBj b3B5IG9mIHRoZSBHTlUgTGVzc2VyIEdlbmVyYWwgUHVibGljCi0gKiBMaWNlbnNlIGFsb25nIHdp dGggdGhpcyBsaWJyYXJ5OyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCi0gKiBG b3VuZGF0aW9uLCBJbmMuLCA1OSBUZW1wbGUgUGxhY2UsIFN1aXRlIDMzMCwgQm9zdG9uLCBNQSAg MDIxMTEtMTMwNyAgVVNBCi0gKi8KLSAKLS8qICRJZCQgKi8KLQotI2lmbmRlZiBQSFBfTU9aRU1C RURfSAotI2RlZmluZSBQSFBfTU9aRU1CRURfSAotCi0jaW5jbHVkZSAicGhwX2d0ay5oIgotCi0j aWYgSEFWRV9NT1pFTUJFRAotCi0jaW5jbHVkZSA8Z3RrbW96ZW1iZWQuaD4KLQotZXh0ZXJuIHBo cF9ndGtfZXh0X2VudHJ5IG1vemVtYmVkX2V4dF9lbnRyeTsKLSNkZWZpbmUgcGhwX2d0a19leHRf bW96ZW1iZWRfcHRyICZtb3plbWJlZF9leHRfZW50cnkKLQotdm9pZCBwaHBnX2d0a21vemVtYmVk X3JlZ2lzdGVyX2NsYXNzZXModm9pZCk7Ci12b2lkIHBocGdfZ3RrbW96ZW1iZWRfcmVnaXN0ZXJf Y29uc3RhbnRzKGNvbnN0IGNoYXIgKnN0cmlwX3ByZWZpeCk7Ci0KLSNlbHNlCi0KLSNkZWZpbmUg cGhwX2d0a19leHRfbW96ZW1iZWRfcHRyIE5VTEwKLQotI2VuZGlmCS8qIEhBVkVfTU9aRU1CRUQg Ki8KLQotI2VuZGlmCS8qIFBIUF9NT1pFTUJFRF9IICovCmRpZmYgLS1naXQgYS9leHQvbW96ZW1i ZWQvcmVmLm1vemVtYmVkLmRlZnMgYi9leHQvbW96ZW1iZWQvcmVmLm1vemVtYmVkLmRlZnMKZGVs ZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGY2ZGY3YmIuLjAwMDAwMDAKLS0tIGEvZXh0L21v emVtYmVkL3JlZi5tb3plbWJlZC5kZWZzCisrKyAvZGV2L251bGwKQEAgLTEsMjc2ICswLDAgQEAK LTs7IC0qLSBzY2hlbWUgLSotCi07IG9iamVjdCBkZWZpbml0aW9ucyAuLi4KLShkZWZpbmUtb2Jq ZWN0IE1vekVtYmVkCi0gIChpbi1tb2R1bGUgIkd0ayIpCi0gIChwYXJlbnQgIkd0a0JpbiIpCi0g IChjLW5hbWUgIkd0a01vekVtYmVkIikKLSAgKGd0eXBlLWlkICJHVEtfVFlQRV9NT1pfRU1CRUQi KQotKQotCi07IChkZWZpbmUtb2JqZWN0IE1vekVtYmVkU2luZ2xlCi07ICAgKGluLW1vZHVsZSAi R3RrIikKLTsgICAocGFyZW50ICJHdGtPYmplY3QiKQotOyAgIChjLW5hbWUgIkd0a01vekVtYmVk U2luZ2xlIikKLTsgICAoZ3R5cGUtaWQgIkdUS19UWVBFX01PWl9FTUJFRF9TSU5HTEUiKQotOyAp Ci0KLTs7IEVudW1lcmF0aW9ucyBhbmQgZmxhZ3MgLi4uCi0KLShkZWZpbmUtZW51bSBNb3pFbWJl ZFByb2dyZXNzRmxhZ3MKLSAgKGluLW1vZHVsZSAiR3RrIikKLSAgKGMtbmFtZSAiR3RrTW96RW1i ZWRQcm9ncmVzc0ZsYWdzIikKLSAgKHZhbHVlcwotICAgICcoInN0YXJ0IiAiR1RLX01PWl9FTUJF RF9GTEFHX1NUQVJUIikKLSAgICAnKCJyZWRpcmVjdGluZyIgIkdUS19NT1pfRU1CRURfRkxBR19S RURJUkVDVElORyIpCi0gICAgJygidHJhbnNmZXJyaW5nIiAiR1RLX01PWl9FTUJFRF9GTEFHX1RS QU5TRkVSUklORyIpCi0gICAgJygibmVnb3RpYXRpbmciICJHVEtfTU9aX0VNQkVEX0ZMQUdfTkVH T1RJQVRJTkciKQotICAgICcoInN0b3AiICJHVEtfTU9aX0VNQkVEX0ZMQUdfU1RPUCIpCi0gICAg JygiaXMtcmVxdWVzdCIgIkdUS19NT1pfRU1CRURfRkxBR19JU19SRVFVRVNUIikKLSAgICAnKCJp cy1kb2N1bWVudCIgIkdUS19NT1pfRU1CRURfRkxBR19JU19ET0NVTUVOVCIpCi0gICAgJygiaXMt bmV0d29yayIgIkdUS19NT1pfRU1CRURfRkxBR19JU19ORVRXT1JLIikKLSAgICAnKCJpcy13aW5k b3ciICJHVEtfTU9aX0VNQkVEX0ZMQUdfSVNfV0lORE9XIikKLSAgKQotKQotCi0oZGVmaW5lLWVu dW0gTW96RW1iZWRTdGF0dXNGbGFncwotICAoaW4tbW9kdWxlICJHdGsiKQotICAoYy1uYW1lICJH dGtNb3pFbWJlZFN0YXR1c0ZsYWdzIikKLSAgKHZhbHVlcwotICAgICcoImRucyIgIkdUS19NT1pf RU1CRURfU1RBVFVTX0ZBSUxFRF9ETlMiKQotICAgICcoImNvbm5lY3QiICJHVEtfTU9aX0VNQkVE X1NUQVRVU19GQUlMRURfQ09OTkVDVCIpCi0gICAgJygidGltZW91dCIgIkdUS19NT1pfRU1CRURf U1RBVFVTX0ZBSUxFRF9USU1FT1VUIikKLSAgICAnKCJ1c2VyY2FuY2VsZWQiICJHVEtfTU9aX0VN QkVEX1NUQVRVU19GQUlMRURfVVNFUkNBTkNFTEVEIikKLSAgKQotKQotCi0oZGVmaW5lLWVudW0g TW96RW1iZWRSZWxvYWRGbGFncwotICAoaW4tbW9kdWxlICJHdGsiKQotICAoYy1uYW1lICJHdGtN b3pFbWJlZFJlbG9hZEZsYWdzIikKLSAgKHZhbHVlcwotICAgICcoIm5vcm1hbCIgIkdUS19NT1pf RU1CRURfRkxBR19SRUxPQUROT1JNQUwiKQotICAgICcoImJ5cGFzc2NhY2hlIiAiR1RLX01PWl9F TUJFRF9GTEFHX1JFTE9BREJZUEFTU0NBQ0hFIikKLSAgICAnKCJieXBhc3Nwcm94eSIgIkdUS19N T1pfRU1CRURfRkxBR19SRUxPQURCWVBBU1NQUk9YWSIpCi0gICAgJygiYnlwYXNzcHJveHlhbmRj YWNoZSIgIkdUS19NT1pfRU1CRURfRkxBR19SRUxPQURCWVBBU1NQUk9YWUFORENBQ0hFIikKLSAg ICAnKCJjaGFyc2V0Y2hhbmdlIiAiR1RLX01PWl9FTUJFRF9GTEFHX1JFTE9BRENIQVJTRVRDSEFO R0UiKQotICApCi0pCi0KLShkZWZpbmUtZW51bSBNb3pFbWJlZENocm9tZUZsYWdzCi0gIChpbi1t b2R1bGUgIkd0ayIpCi0gIChjLW5hbWUgIkd0a01vekVtYmVkQ2hyb21lRmxhZ3MiKQotICAodmFs dWVzCi0gICAgJygiZGVmYXVsdGNocm9tZSIgIkdUS19NT1pfRU1CRURfRkxBR19ERUZBVUxUQ0hS T01FIikKLSAgICAnKCJ3aW5kb3dib3JkZXJzb24iICJHVEtfTU9aX0VNQkVEX0ZMQUdfV0lORE9X Qk9SREVSU09OIikKLSAgICAnKCJ3aW5kb3djbG9zZW9uIiAiR1RLX01PWl9FTUJFRF9GTEFHX1dJ TkRPV0NMT1NFT04iKQotICAgICcoIndpbmRvd3Jlc2l6ZW9uIiAiR1RLX01PWl9FTUJFRF9GTEFH X1dJTkRPV1JFU0laRU9OIikKLSAgICAnKCJtZW51YmFyb24iICJHVEtfTU9aX0VNQkVEX0ZMQUdf TUVOVUJBUk9OIikKLSAgICAnKCJ0b29sYmFyb24iICJHVEtfTU9aX0VNQkVEX0ZMQUdfVE9PTEJB Uk9OIikKLSAgICAnKCJsb2NhdGlvbmJhcm9uIiAiR1RLX01PWl9FTUJFRF9GTEFHX0xPQ0FUSU9O QkFST04iKQotICAgICcoInN0YXR1c2Jhcm9uIiAiR1RLX01PWl9FTUJFRF9GTEFHX1NUQVRVU0JB Uk9OIikKLSAgICAnKCJwZXJzb25hbHRvb2xiYXJvbiIgIkdUS19NT1pfRU1CRURfRkxBR19QRVJT T05BTFRPT0xCQVJPTiIpCi0gICAgJygic2Nyb2xsYmFyc29uIiAiR1RLX01PWl9FTUJFRF9GTEFH X1NDUk9MTEJBUlNPTiIpCi0gICAgJygidGl0bGViYXJvbiIgIkdUS19NT1pfRU1CRURfRkxBR19U SVRMRUJBUk9OIikKLSAgICAnKCJleHRyYWNocm9tZW9uIiAiR1RLX01PWl9FTUJFRF9GTEFHX0VY VFJBQ0hST01FT04iKQotICAgICcoImFsbGNocm9tZSIgIkdUS19NT1pfRU1CRURfRkxBR19BTExD SFJPTUUiKQotICAgICcoIndpbmRvd3JhaXNlZCIgIkdUS19NT1pfRU1CRURfRkxBR19XSU5ET1dS QUlTRUQiKQotICAgICcoIndpbmRvd2xvd2VyZWQiICJHVEtfTU9aX0VNQkVEX0ZMQUdfV0lORE9X TE9XRVJFRCIpCi0gICAgJygiY2VudGVyc2NyZWVuIiAiR1RLX01PWl9FTUJFRF9GTEFHX0NFTlRF UlNDUkVFTiIpCi0gICAgJygiZGVwZW5kZW50IiAiR1RLX01PWl9FTUJFRF9GTEFHX0RFUEVOREVO VCIpCi0gICAgJygibW9kYWwiICJHVEtfTU9aX0VNQkVEX0ZMQUdfTU9EQUwiKQotICAgICcoIm9w ZW5hc2RpYWxvZyIgIkdUS19NT1pfRU1CRURfRkxBR19PUEVOQVNESUFMT0ciKQotICAgICcoIm9w ZW5hc2Nocm9tZSIgIkdUS19NT1pfRU1CRURfRkxBR19PUEVOQVNDSFJPTUUiKQotICApCi0pCi0K LQotOzsgRnJvbSAvdXNyL2luY2x1ZGUvbW96aWxsYS0xLjJiL2d0a2VtYmVkbW96L2d0a21vemVt YmVkLmgKLQotKGRlZmluZS1mdW5jdGlvbiBndGtfbW96X2VtYmVkX2dldF90eXBlCi0gIChjLW5h bWUgImd0a19tb3pfZW1iZWRfZ2V0X3R5cGUiKQotICAocmV0dXJuLXR5cGUgIkd0a1R5cGUiKQot KQotCi0oZGVmaW5lLWZ1bmN0aW9uIGd0a19tb3pfZW1iZWRfbmV3Ci0gIChjLW5hbWUgImd0a19t b3pfZW1iZWRfbmV3IikKLSAgKGlzLWNvbnN0cnVjdG9yLW9mICJHdGtNb3pFbWJlZCIpCi0gIChy ZXR1cm4tdHlwZSAiR3RrV2lkZ2V0KiIpCi0pCi0KLShkZWZpbmUtZnVuY3Rpb24gcHVzaF9zdGFy dHVwCi0gIChjLW5hbWUgImd0a19tb3pfZW1iZWRfcHVzaF9zdGFydHVwIikKLSAgKHJldHVybi10 eXBlICJub25lIikKLSkKLQotKGRlZmluZS1mdW5jdGlvbiBwb3Bfc3RhcnR1cAotICAoYy1uYW1l ICJndGtfbW96X2VtYmVkX3BvcF9zdGFydHVwIikKLSAgKHJldHVybi10eXBlICJub25lIikKLSkK LQotKGRlZmluZS1mdW5jdGlvbiBndGtfbW96X2VtYmVkX3NldF9jb21wX3BhdGgKLSAgKGMtbmFt ZSAiZ3RrX21vel9lbWJlZF9zZXRfY29tcF9wYXRoIikKLSAgKHJldHVybi10eXBlICJub25lIikK LSAgKHBhcmFtZXRlcnMKLSAgICAnKCJjaGFyKiIgImFQYXRoIikKLSAgKQotKQotCi0oZGVmaW5l LWZ1bmN0aW9uIGd0a19tb3pfZW1iZWRfc2V0X3Byb2ZpbGVfcGF0aAotICAoYy1uYW1lICJndGtf bW96X2VtYmVkX3NldF9wcm9maWxlX3BhdGgiKQotICAocmV0dXJuLXR5cGUgIm5vbmUiKQotICAo cGFyYW1ldGVycwotICAgICcoImNoYXIqIiAiYURpciIpCi0gICAgJygiY2hhcioiICJhTmFtZSIp Ci0gICkKLSkKLQotKGRlZmluZS1tZXRob2QgbG9hZF91cmwKLSAgKG9mLW9iamVjdCAiR3RrTW96 RW1iZWQiKQotICAoYy1uYW1lICJndGtfbW96X2VtYmVkX2xvYWRfdXJsIikKLSAgKHJldHVybi10 eXBlICJub25lIikKLSAgKHBhcmFtZXRlcnMKLSAgICAnKCJjb25zdC1jaGFyKiIgInVybCIpCi0g ICkKLSkKLQotKGRlZmluZS1tZXRob2Qgc3RvcF9sb2FkCi0gIChvZi1vYmplY3QgIkd0a01vekVt YmVkIikKLSAgKGMtbmFtZSAiZ3RrX21vel9lbWJlZF9zdG9wX2xvYWQiKQotICAocmV0dXJuLXR5 cGUgIm5vbmUiKQotKQotCi0oZGVmaW5lLW1ldGhvZCBjYW5fZ29fYmFjawotICAob2Ytb2JqZWN0 ICJHdGtNb3pFbWJlZCIpCi0gIChjLW5hbWUgImd0a19tb3pfZW1iZWRfY2FuX2dvX2JhY2siKQot ICAocmV0dXJuLXR5cGUgImdib29sZWFuIikKLSkKLQotKGRlZmluZS1tZXRob2QgY2FuX2dvX2Zv cndhcmQKLSAgKG9mLW9iamVjdCAiR3RrTW96RW1iZWQiKQotICAoYy1uYW1lICJndGtfbW96X2Vt YmVkX2Nhbl9nb19mb3J3YXJkIikKLSAgKHJldHVybi10eXBlICJnYm9vbGVhbiIpCi0pCi0KLShk ZWZpbmUtbWV0aG9kIGdvX2JhY2sKLSAgKG9mLW9iamVjdCAiR3RrTW96RW1iZWQiKQotICAoYy1u YW1lICJndGtfbW96X2VtYmVkX2dvX2JhY2siKQotICAocmV0dXJuLXR5cGUgIm5vbmUiKQotKQot Ci0oZGVmaW5lLW1ldGhvZCBnb19mb3J3YXJkCi0gIChvZi1vYmplY3QgIkd0a01vekVtYmVkIikK LSAgKGMtbmFtZSAiZ3RrX21vel9lbWJlZF9nb19mb3J3YXJkIikKLSAgKHJldHVybi10eXBlICJu b25lIikKLSkKLQotKGRlZmluZS1tZXRob2QgcmVuZGVyX2RhdGEKLSAgKG9mLW9iamVjdCAiR3Rr TW96RW1iZWQiKQotICAoYy1uYW1lICJndGtfbW96X2VtYmVkX3JlbmRlcl9kYXRhIikKLSAgKHJl dHVybi10eXBlICJub25lIikKLSAgKHBhcmFtZXRlcnMKLSAgICAnKCJjb25zdC1jaGFyKiIgImRh dGEiKQotICAgICcoImd1aW50MzIiICJsZW4iKQotICAgICcoImNvbnN0LWNoYXIqIiAiYmFzZV91 cmkiKQotICAgICcoImNvbnN0LWNoYXIqIiAibWltZV90eXBlIikKLSAgKQotKQotCi0oZGVmaW5l LW1ldGhvZCBvcGVuX3N0cmVhbQotICAob2Ytb2JqZWN0ICJHdGtNb3pFbWJlZCIpCi0gIChjLW5h bWUgImd0a19tb3pfZW1iZWRfb3Blbl9zdHJlYW0iKQotICAocmV0dXJuLXR5cGUgIm5vbmUiKQot ICAocGFyYW1ldGVycwotICAgICcoImNvbnN0LWNoYXIqIiAiYmFzZV91cmkiKQotICAgICcoImNv bnN0LWNoYXIqIiAibWltZV90eXBlIikKLSAgKQotKQotCi0oZGVmaW5lLW1ldGhvZCBhcHBlbmRf ZGF0YQotICAob2Ytb2JqZWN0ICJHdGtNb3pFbWJlZCIpCi0gIChjLW5hbWUgImd0a19tb3pfZW1i ZWRfYXBwZW5kX2RhdGEiKQotICAocmV0dXJuLXR5cGUgIm5vbmUiKQotICAocGFyYW1ldGVycwot ICAgICcoImNvbnN0LWNoYXIqIiAiZGF0YSIpCi0gICAgJygiZ3VpbnQzMiIgImxlbiIpCi0gICkK LSkKLQotKGRlZmluZS1tZXRob2QgY2xvc2Vfc3RyZWFtCi0gIChvZi1vYmplY3QgIkd0a01vekVt YmVkIikKLSAgKGMtbmFtZSAiZ3RrX21vel9lbWJlZF9jbG9zZV9zdHJlYW0iKQotICAocmV0dXJu LXR5cGUgIm5vbmUiKQotKQotCi0oZGVmaW5lLW1ldGhvZCBnZXRfbGlua19tZXNzYWdlCi0gIChv Zi1vYmplY3QgIkd0a01vekVtYmVkIikKLSAgKGMtbmFtZSAiZ3RrX21vel9lbWJlZF9nZXRfbGlu a19tZXNzYWdlIikKLSAgKHJldHVybi10eXBlICJjaGFyKiIpCi0pCi0KLShkZWZpbmUtbWV0aG9k IGdldF9qc19zdGF0dXMKLSAgKG9mLW9iamVjdCAiR3RrTW96RW1iZWQiKQotICAoYy1uYW1lICJn dGtfbW96X2VtYmVkX2dldF9qc19zdGF0dXMiKQotICAocmV0dXJuLXR5cGUgImNoYXIqIikKLSkK LQotKGRlZmluZS1tZXRob2QgZ2V0X3RpdGxlCi0gIChvZi1vYmplY3QgIkd0a01vekVtYmVkIikK LSAgKGMtbmFtZSAiZ3RrX21vel9lbWJlZF9nZXRfdGl0bGUiKQotICAocmV0dXJuLXR5cGUgImNo YXIqIikKLSkKLQotKGRlZmluZS1tZXRob2QgZ2V0X2xvY2F0aW9uCi0gIChvZi1vYmplY3QgIkd0 a01vekVtYmVkIikKLSAgKGMtbmFtZSAiZ3RrX21vel9lbWJlZF9nZXRfbG9jYXRpb24iKQotICAo cmV0dXJuLXR5cGUgImNoYXIqIikKLSkKLQotKGRlZmluZS1tZXRob2QgcmVsb2FkCi0gIChvZi1v YmplY3QgIkd0a01vekVtYmVkIikKLSAgKGMtbmFtZSAiZ3RrX21vel9lbWJlZF9yZWxvYWQiKQot ICAocmV0dXJuLXR5cGUgIm5vbmUiKQotICAocGFyYW1ldGVycwotICAgICcoImdpbnQzMiIgImZs YWdzIikKLSAgKQotKQotCi0oZGVmaW5lLW1ldGhvZCBzZXRfY2hyb21lX21hc2sKLSAgKG9mLW9i amVjdCAiR3RrTW96RW1iZWQiKQotICAoYy1uYW1lICJndGtfbW96X2VtYmVkX3NldF9jaHJvbWVf bWFzayIpCi0gIChyZXR1cm4tdHlwZSAibm9uZSIpCi0gIChwYXJhbWV0ZXJzCi0gICAgJygiZ3Vp bnQzMiIgImZsYWdzIikKLSAgKQotKQotCi0oZGVmaW5lLW1ldGhvZCBnZXRfY2hyb21lX21hc2sK LSAgKG9mLW9iamVjdCAiR3RrTW96RW1iZWQiKQotICAoYy1uYW1lICJndGtfbW96X2VtYmVkX2dl dF9jaHJvbWVfbWFzayIpCi0gIChyZXR1cm4tdHlwZSAiZ3VpbnQzMiIpCi0pCi0KLTsgKGRlZmlu ZS1mdW5jdGlvbiBndGtfbW96X2VtYmVkX3Byb2dyZXNzX2ZsYWdzX2dldF90eXBlCi07ICAgKGMt bmFtZSAiZ3RrX21vel9lbWJlZF9wcm9ncmVzc19mbGFnc19nZXRfdHlwZSIpCi07ICAgKHJldHVy bi10eXBlICJHdGtUeXBlIikKLTsgKQotCi07IChkZWZpbmUtZnVuY3Rpb24gZ3RrX21vel9lbWJl ZF9zdGF0dXNfZW51bXNfZ2V0X3R5cGUKLTsgICAoYy1uYW1lICJndGtfbW96X2VtYmVkX3N0YXR1 c19lbnVtc19nZXRfdHlwZSIpCi07ICAgKHJldHVybi10eXBlICJHdGtUeXBlIikKLTsgKQotCi07 IChkZWZpbmUtZnVuY3Rpb24gZ3RrX21vel9lbWJlZF9yZWxvYWRfZmxhZ3NfZ2V0X3R5cGUKLTsg ICAoYy1uYW1lICJndGtfbW96X2VtYmVkX3JlbG9hZF9mbGFnc19nZXRfdHlwZSIpCi07ICAgKHJl dHVybi10eXBlICJHdGtUeXBlIikKLTsgKQotCi07IChkZWZpbmUtZnVuY3Rpb24gZ3RrX21vel9l bWJlZF9jaHJvbWVfZmxhZ3NfZ2V0X3R5cGUKLTsgICAoYy1uYW1lICJndGtfbW96X2VtYmVkX2No cm9tZV9mbGFnc19nZXRfdHlwZSIpCi07ICAgKHJldHVybi10eXBlICJHdGtUeXBlIikKLTsgKQot Ci0oZGVmaW5lLWZ1bmN0aW9uIGd0a19tb3pfZW1iZWRfc2luZ2xlX2dldAotICAoYy1uYW1lICJn dGtfbW96X2VtYmVkX3NpbmdsZV9nZXQiKQotICAocmV0dXJuLXR5cGUgIkd0a01vekVtYmVkU2lu Z2xlKiIpCi0pCi0KLQpkaWZmIC0tZ2l0IGEvZXh0L21vemVtYmVkL3JlZi5tb3plbWJlZC5vdmVy cmlkZSBiL2V4dC9tb3plbWJlZC9yZWYubW96ZW1iZWQub3ZlcnJpZGUKZGVsZXRlZCBmaWxlIG1v ZGUgMTAwNjQ0CmluZGV4IDRmZDRhYTkuLjAwMDAwMDAKLS0tIGEvZXh0L21vemVtYmVkL3JlZi5t b3plbWJlZC5vdmVycmlkZQorKysgL2Rldi9udWxsCkBAIC0xLDE4ICswLDAgQEAKLS8qIC0qLSBN b2RlOiBDOyBjLWJhc2ljLW9mZnNldDogNCAtKi0gKi8KLSUlCi1oZWFkZXJzCi0jaW5jbHVkZSA8 UHl0aG9uLmg+Ci0KLSNpbmNsdWRlICJweWdvYmplY3QuaCIKLSNpbmNsdWRlIDxndGttb3plbWJl ZC5oPgotCi0lJQotbW9kdWxlbmFtZSBndGttb3plbWJlZAotJSUKLWltcG9ydCBnb2JqZWN0LkdP YmplY3QgYXMgUHlHT2JqZWN0X1R5cGUKLWltcG9ydCBndGsuT2JqZWN0IGFzIFB5R3RrT2JqZWN0 X1R5cGUKLWltcG9ydCBndGsuQmluIGFzIFB5R3RrQmluX1R5cGUKLSUlCi1pZ25vcmUtZ2xvYgot ICAqX2dldF90eXBlCi0gIF8qCmRpZmYgLS1naXQgYS93aW4zMi9jdnNjbGVhbi5qcyBiL3dpbjMy L2N2c2NsZWFuLmpzCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA0ZjgyNTUzLi4wMDAw MDAwCi0tLSBhL3dpbjMyL2N2c2NsZWFuLmpzCisrKyAvZGV2L251bGwKQEAgLTEsMTIwICswLDAg QEAKLS8qCi0gICstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKwotICB8IFBIUCBWZXJzaW9uIDUgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwKLSAgKy0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0rCi0gIHwgQ29weXJpZ2h0IChjKSAxOTk3LTIwMDcgVGhlIFBIUCBHcm91cCAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgfAotICArLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSsKLSAgfCBUaGlzIHNv dXJjZSBmaWxlIGlzIHN1YmplY3QgdG8gdmVyc2lvbiAzLjAxIG9mIHRoZSBQSFAgbGljZW5zZSwg ICAgICB8Ci0gIHwgdGhhdCBpcyBidW5kbGVkIHdpdGggdGhpcyBwYWNrYWdlIGluIHRoZSBmaWxl IExJQ0VOU0UsIGFuZCBpcyAgICAgICAgfAotICB8IGF2YWlsYWJsZSB0aHJvdWdoIHRoZSB3b3Js ZC13aWRlLXdlYiBhdCB0aGUgZm9sbG93aW5nIHVybDogICAgICAgICAgIHwKLSAgfCBodHRwOi8v d3d3LnBocC5uZXQvbGljZW5zZS8zXzAxLnR4dCAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICB8Ci0gIHwgSWYgeW91IGRpZCBub3QgcmVjZWl2ZSBhIGNvcHkgb2YgdGhlIFBIUCBsaWNl bnNlIGFuZCBhcmUgdW5hYmxlIHRvICAgfAotICB8IG9idGFpbiBpdCB0aHJvdWdoIHRoZSB3b3Js ZC13aWRlLXdlYiwgcGxlYXNlIHNlbmQgYSBub3RlIHRvICAgICAgICAgIHwKLSAgfCBsaWNlbnNl QHBocC5uZXQgc28gd2UgY2FuIG1haWwgeW91IGEgY29weSBpbW1lZGlhdGVseS4gICAgICAgICAg ICAgICB8Ci0gICstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKwotICB8IEF1dGhvcjogV2V6IEZ1cmxvbmcgPHdlekB0 aGVicmFpbnJvb20uY29tPiAgICAgICAgICAgICAgICAgICAgICAgICAgIHwKLSAgKy0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0rCi0qLwotCi0vKiAkSWQ6IGN2c2NsZWFuLmpzLHYgMS4xIDIwMDctMDUtMjkgMTI6Mjg6 MTQgYXVyb3JhZW9zcm9zZSBFeHAgJCAqLwotLy8gQ2xlYW5zIHVwIGZpbGVzIHRoYXQgZG8gbm90 IGJlbG9uZyBpbiBDVlMKLQotdmFyIEZTTyA9IFdTY3JpcHQuQ3JlYXRlT2JqZWN0KCJTY3JpcHRp bmcuRmlsZVN5c3RlbU9iamVjdCIpOwotCi1mdW5jdGlvbiBmaW5kX2N2c2lnbm9yZShkaXJuYW1l KQotewotCWlmICghRlNPLkZvbGRlckV4aXN0cyhkaXJuYW1lKSkKLQkJcmV0dXJuOwotCi0JdmFy IGYgPSBGU08uR2V0Rm9sZGVyKGRpcm5hbWUpOwotCXZhciBmYyA9IG5ldyBFbnVtZXJhdG9yKGYu U3ViRm9sZGVycyk7Ci0JCi0JZm9yICg7ICFmYy5hdEVuZCgpOyBmYy5tb3ZlTmV4dCgpKSB7Ci0J CWZpbmRfY3ZzaWdub3JlKGZjLml0ZW0oKSk7CQotCX0KLQotCWlmIChGU08uRmlsZUV4aXN0cyhk aXJuYW1lICsgIlxcLmN2c2lnbm9yZSIpKSB7Ci0JCWtpbGxfZnJvbV9jdnNpZ25vcmUoZGlybmFt ZSArICJcXC5jdnNpZ25vcmUiKTsKLQl9Ci19Ci0KLS8qIHJlY3Vyc2l2ZSByZW1vdmUgdXNpbmcg Y3ZzaWdub3JlIHN0eWxlIHdpbGRjYXJkIG1hdGNoaW5nOwotICogbm90ZSB0aGF0IEZTTy5EZWxl dGVGb2xkZXIgYW5kIEZTTy5EZWxldGVGaWxlIG1ldGhvZHMgYm90aAotICogYWNjZXB0IHdpbGRj YXJkcywgYnV0IHRoYXQgdGhleSBhcmUgZGFuZ2Vyb3VzIHRvIHVzZSBlZzoKLSAqICIqLnBocCIg d2lsbCBtYXRjaCAiKi5waHB0IiAqLwotZnVuY3Rpb24gcm1fcihmaWxlbmFtZSkKLXsKLQlpZiAo RlNPLkZvbGRlckV4aXN0cyhmaWxlbmFtZSkpIHsKLQkJdmFyIGZjID0gbmV3IEVudW1lcmF0b3Io RlNPLkdldEZvbGRlcihmaWxlbmFtZSkuU3ViRm9sZGVycyk7Ci0KLQkJZm9yICg7ICFmYy5hdEVu ZCgpOyBmYy5tb3ZlTmV4dCgpKSB7Ci0JCQlybV9yKGZjLml0ZW0oKSk7Ci0JCX0KLQotCQlmYyA9 IG5ldyBFbnVtZXJhdG9yKEZTTy5HZXRGb2xkZXIoZmlsZW5hbWUpLkZpbGVzKTsKLQotCQlmb3Ig KDsgIWZjLmF0RW5kKCk7IGZjLm1vdmVOZXh0KCkpIHsKLQkJCUZTTy5EZWxldGVGaWxlKGZjLml0 ZW0oKSwgdHJ1ZSk7Ci0JCX0KLQotCQlGU08uRGVsZXRlRm9sZGVyKGZpbGVuYW1lLCB0cnVlKTsK LQl9IGVsc2UgaWYgKEZTTy5GaWxlRXhpc3RzKGZpbGVuYW1lKSkgewotCQlGU08uRGVsZXRlRmls ZShmaWxlbmFtZSwgdHJ1ZSk7Ci0JfSBlbHNlIHsKLQkJLyogd2UgbmVlZCB0byBoYW5kbGUgd2ls ZGNhcmRzIGhlcmUgKi8KLQkJdmFyIGZvbGRlcm5hbWUgPSBGU08uR2V0UGFyZW50Rm9sZGVyTmFt ZShmaWxlbmFtZSk7Ci0KLQkJaWYgKGZvbGRlcm5hbWUgPT0gIiIpCi0JCQlmb2xkZXJuYW1lID0g Ii4iOwotCQkKLQkJdmFyIGZpbGVuYW1lID0gRlNPLkdldEZpbGVOYW1lKGZpbGVuYW1lKTsKLQot CQl2YXIgcmV0ZXh0ID0gZmlsZW5hbWUucmVwbGFjZSgvXC4vZywgJ1xcLicpOwotCQlyZXRleHQg PSAnXicgKyByZXRleHQucmVwbGFjZSgvXCovZywgJy4qJykgKyAiJCI7Ci0JCXZhciByZSA9IG5l dyBSZWdFeHAocmV0ZXh0KTsKLQotCQl2YXIgZm9sZGVyID0gRlNPLkdldEZvbGRlcihmb2xkZXJu YW1lKTsKLQkJdmFyIGZjID0gbmV3IEVudW1lcmF0b3IoZm9sZGVyLlN1YkZvbGRlcnMpOwotCQlm b3IgKDsgIWZjLmF0RW5kKCk7IGZjLm1vdmVOZXh0KCkpIHsKLQotCQkJdmFyIGl0ZW0gPSBGU08u R2V0RmlsZU5hbWUoZmMuaXRlbSgpKTsKLQotCQkJaWYgKGl0ZW0ubWF0Y2gocmUpKSB7Ci0JCQkJ cm1fcihmYy5pdGVtKCkpOwotCQkJfQotCQl9Ci0JCXZhciBmYyA9IG5ldyBFbnVtZXJhdG9yKGZv bGRlci5GaWxlcyk7Ci0JCWZvciAoOyAhZmMuYXRFbmQoKTsgZmMubW92ZU5leHQoKSkgewotCQkJ aXRlbSA9IEZTTy5HZXRGaWxlTmFtZShmYy5pdGVtKCkpOwotCi0JCQlpZiAoaXRlbS5tYXRjaChy ZSkpIHsKLQkJCQlGU08uRGVsZXRlRmlsZShmYy5pdGVtKCksIHRydWUpOwotCQkJfQotCQl9Ci0J fQotfQotCi1mdW5jdGlvbiBraWxsX2Zyb21fY3ZzaWdub3JlKGlnZmlsZSkKLXsKLQl2YXIgZGly ID0gRlNPLkdldFBhcmVudEZvbGRlck5hbWUoaWdmaWxlKSArICJcXCI7Ci0JdmFyIHQgPSBGU08u T3BlblRleHRGaWxlKGlnZmlsZSwgMSk7Ci0JdmFyIGw7Ci0JCi0JaWYgKGRpciA9PSAiLlxcIikg ewotCQlkaXIgPSAiIjsKLQl9Ci0JCQotCXdoaWxlICghdC5hdEVuZE9mU3RyZWFtKSB7Ci0JCWwg PSB0LlJlYWRMaW5lKCk7Ci0JCS8vIGRvbid0IGtpbGwgdGhlaXIgY29uZmlnLm5pY2UgZmlsZShz KQotCQlpZiAobC5tYXRjaCgiY29uZmlnXC5uaWNlLioiKSB8fAotCQkJbC5tYXRjaCgiIikgfHwg Ci0JCQlsLm1hdGNoKCIqIikpCi0JCQljb250aW51ZTsKLQkJcm1fcihkaXIgKyBsKTsKLQl9Ci0K LX0KLQotZmluZF9jdnNpZ25vcmUoIi4iKTsKLQ== --5a45bd338eacf5d27b7d294f74d1c319c79016b5--