From kde-kimageshop Tue Jun 28 17:30:42 2022 From: L. E. Segovia Date: Tue, 28 Jun 2022 17:30:42 +0000 To: kde-kimageshop Subject: =?utf-8?q?=5Bgraphics/krita/krita/5=2E1=5D_/=3A_tiff=3A_support_YCbCr_+_JPEG_imports?= Message-Id: <20220628173042.AD29812431CD () leptone ! kde ! org> X-MARC-Message: https://marc.info/?l=kde-kimageshop&m=165643738021744 R2l0IGNvbW1pdCBlZjk0OTNjOGIyZGYwZjc0ZTcwZTcyZTRjNzY5ODFhOWJmZTEwYjJlIGJ5IEwu IEUuIFNlZ292aWEuCkNvbW1pdHRlZCBvbiAyOC8wNi8yMDIyIGF0IDE3OjI5LgpQdXNoZWQgYnkg bHNlZ292aWEgaW50byBicmFuY2ggJ2tyaXRhLzUuMScuCgp0aWZmOiBzdXBwb3J0IFlDYkNyICsg SlBFRyBpbXBvcnRzCgpUaGlzIGNvbW1pdCBlbmFibGVzIHJlYWRpbmcgSlBFRy1jb21wcmVzc2Vk IFRJRkZzIHRoYXQgdXNlIHRoZSBZQ2JDcgpjb2xvdXIgc3BhY2UuIFRoaXMgaXMgbm90IHBvc3Np YmxlIHRvIGRvIHdpdGggdGhlIHN0YW5kYXJkIGxpYnRpZmYgQVBJCmJlY2F1c2Ugb2YgVmVyeSBC YWQgRGVjaXNpb25zIDp0bTogdGhhdCB3ZXJlIHRha2VuIGluIHRoZSBwYXN0LCBib3RoCmR1cmlu ZyB0aGUgNi4wIHN0YW5kYXJkaXphdGlvbiBbMV0gYW5kIGl0cyBpbXBsZW1lbnRhdGlvbiBbMl0u CgpUbyBkbyBzbywgSSd2ZSBpbXBsZW1lbnRlZCBhIGN1c3RvbSBtYWRlIHN0cmlwIGRlY29kZXIg dGhhdCwgd2hlbiB0aGUKY29tYmluYXRpb24gb2YgQ09NUFJFU1NJT05fSlBFRyBhbmQgUEhPVE9N RVRSSUNfWUNCQ1IgaXMgZGV0ZWN0ZWQsCnJlZGlyZWN0cyB0byBhIChhbHNvIGN1c3RvbSBtYWRl KSBidWZmZXIgc3RyZWFtIHRoYXQgcGVyZm9ybXMgYXV0b21hdGljCmludGVybGVhdmluZyBhbmQg dXBzYW1wbGluZyBvZiB0aGUgaW1hZ2UgcGxhbmVzLiBUaGlzIGRhdGEgaXMgc2hhcGVkCmludG8g dGhlIGZvcm0gc3BlY2lmaWVkIGluIHRoZSBUSUZGIDYuMCBTcGVjaWZpY2F0aW9uIFszXSwgdGhl biBmZWQKdG8gdGhlIGV4aXN0aW5nIFlDYkNyIHJlYWRlcnMuIFRoZSBwbGFuZXMgYXJlIGRlY29k ZWQgdXNpbmcKbGlianBlZy10dXJibyAodG8gYXZvaWQgdGhlIG1pbmRiZW5kaW5nIEFQSSBvZiBs aWJqcGVnKSBpbnRvIHRocmVlCnNlcGFyYXRlIHBsYW5lcyB3aXRob3V0IHVwc2FtcGxpbmcuCgpU aGVyZSdzIGEgY2F0Y2gsIGhvd2V2ZXIuIFVubGlrZSBsaWJqcGVnLXR1cmJvLCBsaWJqcGVnIHBy b3ZpZGVzIGEKZGlyZWN0IEFQSSB0byBwcmltZSB0aGUgZGVjb2RlciB3aXRoIHRoZSBjb2VmZmlj aWVudCB0YWJsZXMgdGhhdCBhcmUKcHJvdmlkZWQgaW4gVElGRlRBR19KUEVHVEFCTEVTLCBhbmQg d2hpY2ggbGlidGlmZiB1c2VzIGFzIHBhcnQgb2YKVElGRmpwZWdfcmVhZF9oZWFkZXIuIFRvIHJl bWVkaWF0ZSB0aGlzLCBJJ3ZlIHBhdGNoZWQgbGlidGlmZi10dXJibyB0bwphZGQgYSB0alJlYWRD b2VmZmljaWVudFRhYmxlcyBBUEksIHRoYXQgdGFrZXMgYSByZWZlcmVuY2UgdG8gdGhlIHRhYmxl cwphbmQgZm9yd2FyZHMgaXQgdG8gdGhlIGRlY29kZXIuCgpCVUc6IDQ1NDExNgoKQ0NNQUlMOiBr aW1hZ2VzaG9wQGtkZS5vcmcKClsxXTogRFJBRlQgVElGRiBUZWNobmljYWwgTm90ZSAjMiwgMTct TWFyLTk1Lgo8aHR0cDovL2xpYnRpZmYubWFwdG9vbHMub3JnL1RJRkZUZWNoTm90ZTIuaHRtbD4K ClsyXTogMjAyMi4wNi4xMSAwNzoyMyAiUmU6IFtUaWZmXSBIb3cgdG8gcmVhZCBKUEVHLWNvbXBy ZXNzZWQgWUNiQ3IKVElGRnMiLCBieSBKb3JpcyBWYW4gRGFtbWUuIDxodHRwczovL3d3dy5hc21h aWwuYmUvbXNnMDA1NDg4MTMyMC5odG1sPgoKWzNdOiAiT3JkZXJpbmcgb2YgQ29tcG9uZW50IFNh bXBsZXMiLiBJbjogVElGRiBSZXZpc2lvbiA2LjAgRmluYWwuIEp1bmUKMywgMTk5MjogQWRvYmUg RGV2ZWxvcGVycyBBc3NvY2lhdGlvbiwgcHAuIDkzLTk0LgoKKGNoZXJyeSBwaWNrZWQgZnJvbSBj b21taXQgZGQ0ZDJiNGI3OTNhNDJiMmM3NDA2ZGZjNjNmYzEwOGVhODkwNWVjNSkKCk0gICs0ICAg IC00ICAgIDNyZHBhcnR5L2V4dF9qcGVnL0NNYWtlTGlzdHMudHh0Ck0gICsxNCAgIC0wICAgIENN YWtlTGlzdHMudHh0CkEgICs0ICAgIC0wICAgIGNvbmZpZy1qcGVnLmguY21ha2UKTSAgKzEgICAg LTEgICAgcGx1Z2lucy9pbXBleC90aWZmL0NNYWtlTGlzdHMudHh0Ck0gICsxMzggIC0yICAgIHBs dWdpbnMvaW1wZXgvdGlmZi9raXNfYnVmZmVyX3N0cmVhbS5jYwpNICArNTcgICAtMSAgICBwbHVn aW5zL2ltcGV4L3RpZmYva2lzX2J1ZmZlcl9zdHJlYW0uaApNICArMTc3ICAtNiAgICBwbHVnaW5z L2ltcGV4L3RpZmYva2lzX3RpZmZfaW1wb3J0LmNjCk0gICsxICAgIC0wICAgIHBsdWdpbnMvaW1w ZXgvdGlmZi9raXNfdGlmZl9pbXBvcnQuaApEICArLSAgICAtLSAgICBwbHVnaW5zL2ltcGV4L3Rp ZmYvdGVzdHMvZGF0YS9xdWFkLWpwZWcudGlmLnBuZwpBICArLSAgICAtLSAgICBwbHVnaW5zL2lt cGV4L3RpZmYvdGVzdHMvZGF0YS9yZXN1bHRzL3F1YWQtanBlZy50aWYucG5nClIgICstICAgIC0t ICAgIHBsdWdpbnMvaW1wZXgvdGlmZi90ZXN0cy9kYXRhL3NvdXJjZXMvcXVhZC1qcGVnLnRpZiBb ZnJvbTogcGx1Z2lucy9pbXBleC90aWZmL3Rlc3RzL2RhdGEvcXVhZC1qcGVnLnRpZiAtIDEwMCUg c2ltaWxhcml0eV0KCmh0dHBzOi8vaW52ZW50LmtkZS5vcmcvZ3JhcGhpY3Mva3JpdGEvY29tbWl0 L2VmOTQ5M2M4YjJkZjBmNzRlNzBlNzJlNGM3Njk4MWE5YmZlMTBiMmUKCmRpZmYgLS1naXQgYS8z cmRwYXJ0eS9leHRfanBlZy9DTWFrZUxpc3RzLnR4dCBiLzNyZHBhcnR5L2V4dF9qcGVnL0NNYWtl TGlzdHMudHh0CmluZGV4IDgzNGI1NTI5ZGQuLmNkMzllMWYxYjAgMTAwNjQ0Ci0tLSBhLzNyZHBh cnR5L2V4dF9qcGVnL0NNYWtlTGlzdHMudHh0CisrKyBiLzNyZHBhcnR5L2V4dF9qcGVnL0NNYWtl TGlzdHMudHh0CkBAIC0yLDggKzIsOCBAQCBTRVQoUFJFRklYX2V4dF9qcGVnICIke0VYVFBSRUZJ WH0iICkKIGlmIChBTkRST0lEKQogRXh0ZXJuYWxQcm9qZWN0X0FkZCggZXh0X2pwZWcKICAgICBE T1dOTE9BRF9ESVIgJHtFWFRFUk5BTFNfRE9XTkxPQURfRElSfQotICAgIFVSTCBodHRwczovL2Rv d25sb2Fkcy5zb3VyY2Vmb3JnZS5uZXQvcHJvamVjdC9saWJqcGVnLXR1cmJvLzIuMS4zL2xpYmpw ZWctdHVyYm8tMi4xLjMudGFyLmd6Ci0gICAgVVJMX0hBU0ggU0hBMjU2PTQ2N2IzMTA5MDM4MzJi MDMzZmU1NmNkMzc3MjBkMWI3M2E2YTNiZDAxNzFkYmY2ZmYwYjYyMDM4NWY0Zjc2ZDAKKyAgICBV UkwgaHR0cHM6Ly9naXRodWIuY29tL2xpYmpwZWctdHVyYm8vbGlianBlZy10dXJiby9hcmNoaXZl L2JhMjJjMGY3NmQ4OGY1OTZlMTU3YjZjNTQ2YzU5OWUyMWViYmFmNjQudGFyLmd6CisgICAgVVJM X0hBU0ggU0hBMjU2PWE3MGFlZjYzMThmMGViNzFlMDQwNjVmYjM5NjkwNmVmYTE2MzM4NTYxYjEy ZTVlZTBjNWNkM2ZjZmRmMzU2Y2EKIAogICAgIENNQUtFX0FSR1MgLURBTkRST0lEX0FSTV9NT0RF PWFybSAtRENNQUtFX0lOU1RBTExfUFJFRklYPSR7UFJFRklYX2V4dF9qcGVnfSAtREVOQUJMRV9T SEFSRUQ9T04gLURXSVRIX1NJTUQ9T0ZGIC1ERU5BQkxFX1NUQVRJQz1PRkYgX0RDTUFLRV9CVUlM RF9UWVBFPSR7R0xPQkFMX0JVSUxEX1RZUEV9ICR7R0xPQkFMX1BST0ZJTEV9CiAKQEAgLTEyLDgg KzEyLDggQEAgRXh0ZXJuYWxQcm9qZWN0X0FkZCggZXh0X2pwZWcKIGVsc2UoKQogRXh0ZXJuYWxQ cm9qZWN0X0FkZCggZXh0X2pwZWcKICAgICBET1dOTE9BRF9ESVIgJHtFWFRFUk5BTFNfRE9XTkxP QURfRElSfQotICAgIFVSTCBodHRwczovL2Rvd25sb2Fkcy5zb3VyY2Vmb3JnZS5uZXQvcHJvamVj dC9saWJqcGVnLXR1cmJvLzIuMS4zL2xpYmpwZWctdHVyYm8tMi4xLjMudGFyLmd6Ci0gICAgVVJM X0hBU0ggU0hBMjU2PTQ2N2IzMTA5MDM4MzJiMDMzZmU1NmNkMzc3MjBkMWI3M2E2YTNiZDAxNzFk YmY2ZmYwYjYyMDM4NWY0Zjc2ZDAKKyAgICBVUkwgaHR0cHM6Ly9naXRodWIuY29tL2xpYmpwZWct dHVyYm8vbGlianBlZy10dXJiby9hcmNoaXZlL2JhMjJjMGY3NmQ4OGY1OTZlMTU3YjZjNTQ2YzU5 OWUyMWViYmFmNjQudGFyLmd6CisgICAgVVJMX0hBU0ggU0hBMjU2PWE3MGFlZjYzMThmMGViNzFl MDQwNjVmYjM5NjkwNmVmYTE2MzM4NTYxYjEyZTVlZTBjNWNkM2ZjZmRmMzU2Y2EKICAgCiAgICAg SU5TVEFMTF9ESVIgJHtQUkVGSVhfZXh0X2pwZWd9CiAgICAgQ01BS0VfQVJHUyAtRENNQUtFX0lO U1RBTExfUFJFRklYPSR7UFJFRklYX2V4dF9qcGVnfSAtRFdJVEhfU0lNRD1PRkYgX0RDTUFLRV9C VUlMRF9UWVBFPSR7R0xPQkFMX0JVSUxEX1RZUEV9ICR7R0xPQkFMX1BST0ZJTEV9CmRpZmYgLS1n aXQgYS9DTWFrZUxpc3RzLnR4dCBiL0NNYWtlTGlzdHMudHh0CmluZGV4IDU1NDcyOWVhMjkuLjU3 YzFmZDE0NzQgMTAwNjQ0Ci0tLSBhL0NNYWtlTGlzdHMudHh0CisrKyBiL0NNYWtlTGlzdHMudHh0 CkBAIC04NTUsNiArODU1LDIwIEBAIGlmIChKUEVHX0ZPVU5EKQogICAgIG1hY3JvX2Jvb2xfdG9f MDEoSlBFR19GT1VORCBIQVZFX0pQRUcpCiBlbmRpZigpCiAKK2ZpbmRfcGFja2FnZShsaWJqcGVn LXR1cmJvIDIuMS4zKQorc2V0X3BhY2thZ2VfcHJvcGVydGllcyhsaWJqcGVnLXR1cmJvIFBST1BF UlRJRVMKKyAgICBERVNDUklQVElPTiAibGlianBlZy10dXJibyBpcyBhIEpQRUcgaW1hZ2UgY29k ZWMgdGhhdCB1c2VzIFNJTUQgaW5zdHJ1Y3Rpb25zIChNTVgsIFNTRTIsIEFWWDIsIE5lb24sIEFs dGlWZWMpIHRvIGFjY2VsZXJhdGUgYmFzZWxpbmUgSlBFRyBjb21wcmVzc2lvbiBhbmQgZGVjb21w cmVzc2lvbiBvbiB4ODYsIHg4Ni02NCwgQXJtLCBhbmQgUG93ZXJQQyBzeXN0ZW1zLCBhcyB3ZWxs IGFzIHByb2dyZXNzaXZlIEpQRUcgY29tcHJlc3Npb24gb24geDg2IGFuZCB4ODYtNjQgc3lzdGVt cy4iCisgICAgVVJMICJodHRwczovL3d3dy5saWJqcGVnLXR1cmJvLm9yZyIKKyAgICBUWVBFIE9Q VElPTkFMCisgICAgUFVSUE9TRSAiUmVxdWlyZWQgYnkgdGhlIEtyaXRhIEpQRUcgYW5kIFRJRkYg ZmlsdGVycyIpCitpZihsaWJqcGVnLXR1cmJvX0ZPVU5EKQorICAgIGdldF90YXJnZXRfcHJvcGVy dHkoSlBFR19UVVJCT19MSUJSQVJZIGxpYmpwZWctdHVyYm86OnR1cmJvanBlZyAiTE9DQVRJT04i KQorICAgIHNldChKUEVHX1RVUkJPX0xJQlJBUklFUyBsaWJqcGVnLXR1cmJvOjp0dXJib2pwZWcp CisgICAgbGlzdChBUFBFTkQgQU5EUk9JRF9FWFRSQV9MSUJTICR7SlBFR19UVVJCT19MSUJSQVJZ fSkKK2VuZGlmKCkKK21hY3JvX2Jvb2xfdG9fMDEobGlianBlZy10dXJib19GT1VORCBIQVZFX0pQ RUdfVFVSQk8pCitjb25maWd1cmVfZmlsZShjb25maWctanBlZy5oLmNtYWtlICR7Q01BS0VfQ1VS UkVOVF9CSU5BUllfRElSfS9jb25maWctanBlZy5oICkKKwogZmluZF9wYWNrYWdlKEdJRikKIHNl dF9wYWNrYWdlX3Byb3BlcnRpZXMoR0lGIFBST1BFUlRJRVMKICAgICBERVNDUklQVElPTiAiTGli cmFyeSBmb3IgbG9hZGluZyBhbmQgc2F2aW5nIGdpZiBmaWxlcy4iCmRpZmYgLS1naXQgYS9jb25m aWctanBlZy5oLmNtYWtlIGIvY29uZmlnLWpwZWcuaC5jbWFrZQpuZXcgZmlsZSBtb2RlIDEwMDY0 NAppbmRleCAwMDAwMDAwMDAwLi4wZWJmNDM1ZjdmCi0tLSAvZGV2L251bGwKKysrIGIvY29uZmln LWpwZWcuaC5jbWFrZQpAQCAtMCwwICsxLDQgQEAKKy8qIGNvbmZpZy1qcGVnLmguICBHZW5lcmF0 ZWQgYnkgY21ha2UgZnJvbSBjb25maWctanBlZy5oLmNtYWtlICovCisKKy8qIERlZmluZSBpZiBs aWJqcGVnIGhhcyB0aGUgdHVyYm8tanBlZyBBUEkgKi8KKyNjbWFrZWRlZmluZSBIQVZFX0pQRUdf VFVSQk8gMQpkaWZmIC0tZ2l0IGEvcGx1Z2lucy9pbXBleC90aWZmL0NNYWtlTGlzdHMudHh0IGIv cGx1Z2lucy9pbXBleC90aWZmL0NNYWtlTGlzdHMudHh0CmluZGV4IDlmYThiNTAyNjYuLmJjMzky YzM3NTAgMTAwNjQ0Ci0tLSBhL3BsdWdpbnMvaW1wZXgvdGlmZi9DTWFrZUxpc3RzLnR4dAorKysg Yi9wbHVnaW5zL2ltcGV4L3RpZmYvQ01ha2VMaXN0cy50eHQKQEAgLTIzLDcgKzIzLDcgQEAgc2V0 KGtyaXRhdGlmZmltcG9ydF9TT1VSQ0VTCiAKIGtpc19hZGRfbGlicmFyeShrcml0YXRpZmZpbXBv cnQgTU9EVUxFICR7a3JpdGF0aWZmaW1wb3J0X1NPVVJDRVN9KQogCi10YXJnZXRfbGlua19saWJy YXJpZXMoa3JpdGF0aWZmaW1wb3J0IGtyaXRhdWkga3JpdGFpbXBleCAke0tSSVRBVElGRlBTRF9M SUJSQVJZfSAke1RJRkZfTElCUkFSSUVTfSBMaWJFeGl2Mjo6TGliRXhpdjIga3JpdGFtZXRhZGF0 YSkKK3RhcmdldF9saW5rX2xpYnJhcmllcyhrcml0YXRpZmZpbXBvcnQga3JpdGF1aSBrcml0YWlt cGV4ICR7S1JJVEFUSUZGUFNEX0xJQlJBUll9ICR7VElGRl9MSUJSQVJJRVN9IExpYkV4aXYyOjpM aWJFeGl2MiBrcml0YW1ldGFkYXRhICR7SlBFR19UVVJCT19MSUJSQVJJRVN9KQogCiBpbnN0YWxs KFRBUkdFVFMga3JpdGF0aWZmaW1wb3J0ICBERVNUSU5BVElPTiAke0tSSVRBX1BMVUdJTl9JTlNU QUxMX0RJUn0pCiAKZGlmZiAtLWdpdCBhL3BsdWdpbnMvaW1wZXgvdGlmZi9raXNfYnVmZmVyX3N0 cmVhbS5jYyBiL3BsdWdpbnMvaW1wZXgvdGlmZi9raXNfYnVmZmVyX3N0cmVhbS5jYwppbmRleCBh ZDY5NjUzY2NjLi41YTgxMjljZmM3IDEwMDY0NAotLS0gYS9wbHVnaW5zL2ltcGV4L3RpZmYva2lz X2J1ZmZlcl9zdHJlYW0uY2MKKysrIGIvcGx1Z2lucy9pbXBleC90aWZmL2tpc19idWZmZXJfc3Ry ZWFtLmNjCkBAIC0yNiwxNSArMjYsNDEgQEAgS2lzQnVmZmVyU3RyZWFtQ29udGlnQmFzZTo6S2lz QnVmZmVyU3RyZWFtQ29udGlnQmFzZSh1aW50OF90ICpzcmMsCiB2b2lkIEtpc0J1ZmZlclN0cmVh bUNvbnRpZ0Jhc2U6OnJlc3RhcnQoKQogewogICAgIG1fc3JjSXQgPSBtX3NyYzsKKyAgICBtX2xp bmVPZmZzZXQgPSAwOworICAgIG1fbGluZU51bWJlciA9IDA7CiAgICAgbV9wb3NpbmMgPSA4Owog fQogCiB2b2lkIEtpc0J1ZmZlclN0cmVhbUNvbnRpZ0Jhc2U6Om1vdmVUb0xpbmUodHNpemVfdCBs aW5lTnVtYmVyKQogewotICAgIG1fc3JjSXQgPSBtX3NyYyArIGxpbmVOdW1iZXIgKiBtX2xpbmVT aXplOworICAgIEtJU19BU1NFUlQobGluZU51bWJlciA+PSAwKTsKKyAgICBtb3ZlVG9Qb3MoMCwg bGluZU51bWJlcik7Cit9CisKK3ZvaWQgS2lzQnVmZmVyU3RyZWFtQ29udGlnQmFzZTo6bW92ZVRv UG9zKHRzaXplX3QgeCwgdHNpemVfdCB5KQoreworICAgIEtJU19BU1NFUlQoeCA+PSAwICYmIHkg Pj0gMCk7CisgICAgbV9saW5lTnVtYmVyID0geTsKKyAgICBtX2xpbmVPZmZzZXQgPSAoeCAqIG1f ZGVwdGgpIC8gODsKKyAgICBtX3NyY0l0ID0gbV9zcmMgKyB5ICogbV9saW5lU2l6ZSArIG1fbGlu ZU9mZnNldDsKICAgICBtX3Bvc2luYyA9IDg7CiB9CiAKK3RzaXplX3QgS2lzQnVmZmVyU3RyZWFt Q29udGlnQmFzZTo6eCgpIGNvbnN0Cit7CisgICAgcmV0dXJuIChtX2xpbmVPZmZzZXQgKiA4KSAv IG1fZGVwdGg7Cit9CisKK3RzaXplX3QgS2lzQnVmZmVyU3RyZWFtQ29udGlnQmFzZTo6eSgpIGNv bnN0Cit7CisgICAgcmV0dXJuIG1fbGluZU51bWJlcjsKK30KKwordHNpemVfdCBLaXNCdWZmZXJT dHJlYW1Db250aWdCYXNlOjp3aWR0aCgpIGNvbnN0Cit7CisgICAgcmV0dXJuIChtX2xpbmVTaXpl ICogOCkgLyBtX2RlcHRoOworfQorCiB1aW50MzJfdCBLaXNCdWZmZXJTdHJlYW1Db250aWdCZWxv dzE2OjpuZXh0VmFsdWUoKQogewogICAgIHVpbnQxNl90IHJlbWFpbiA9IG1fZGVwdGg7CkBAIC00 Nyw5ICs3MywxNCBAQCB1aW50MzJfdCBLaXNCdWZmZXJTdHJlYW1Db250aWdCZWxvdzE2OjpuZXh0 VmFsdWUoKQogICAgICAgICB2YWx1ZSA9ICh2YWx1ZSA8PCB0b3JlYWQpIHwgKCgoKm1fc3JjSXQp ID4+IChtX3Bvc2luYykpICYgKCgxIDw8IHRvcmVhZCkgLSAxKSk7CiAgICAgICAgIGlmIChtX3Bv c2luYyA9PSAwKSB7CiAgICAgICAgICAgICBtX3NyY0l0Kys7CisgICAgICAgICAgICBtX2xpbmVP ZmZzZXQrKzsgLy8gd2UgY29uc3VtZWQgYSBieXRlCiAgICAgICAgICAgICBtX3Bvc2luYyA9IDg7 CiAgICAgICAgIH0KICAgICB9CisgICAgaWYgKG1fbGluZU9mZnNldCA+PSBtX2xpbmVTaXplKSB7 CisgICAgICAgIG1fbGluZU51bWJlciArPSAxOworICAgICAgICBtX2xpbmVPZmZzZXQgPSAwOwor ICAgIH0KICAgICByZXR1cm4gdmFsdWU7CiB9CiAKQEAgLTY1LDkgKzk2LDE0IEBAIHVpbnQzMl90 IEtpc0J1ZmZlclN0cmVhbUNvbnRpZ0JlbG93MzI6Om5leHRWYWx1ZSgpCiAgICAgICAgIHZhbHVl ID0gKHZhbHVlKSB8ICgoKCgqbV9zcmNJdCkgPj4gKG1fcG9zaW5jKSkgJiAoKDEgPDwgdG9yZWFk KSAtIDFVKSkgPDwgKG1fZGVwdGggLSA4VSAtIHJlbWFpbikpOwogICAgICAgICBpZiAobV9wb3Np bmMgPT0gMCkgewogICAgICAgICAgICAgbV9zcmNJdCsrOworICAgICAgICAgICAgbV9saW5lT2Zm c2V0Kys7IC8vIHdlIGNvbnN1bWVkIGEgYnl0ZQogICAgICAgICAgICAgbV9wb3NpbmMgPSA4VTsK ICAgICAgICAgfQogICAgIH0KKyAgICBpZiAobV9saW5lT2Zmc2V0ID49IG1fbGluZVNpemUpIHsK KyAgICAgICAgbV9saW5lTnVtYmVyICs9IDE7CisgICAgICAgIG1fbGluZU9mZnNldCA9IDA7Cisg ICAgfQogICAgIHJldHVybiB2YWx1ZTsKIH0KIApAQCAtODYsOSArMTIyLDE0IEBAIHVpbnQzMl90 IEtpc0J1ZmZlclN0cmVhbUNvbnRpZ0Fib3ZlMzI6Om5leHRWYWx1ZSgpCiAgICAgICAgIH0KICAg ICAgICAgaWYgKG1fcG9zaW5jID09IDApIHsKICAgICAgICAgICAgIG1fc3JjSXQrKzsKKyAgICAg ICAgICAgIG1fbGluZU9mZnNldCsrOyAvLyB3ZSBjb25zdW1lZCBhIGJ5dGUKICAgICAgICAgICAg IG1fcG9zaW5jID0gOFU7CiAgICAgICAgIH0KICAgICB9CisgICAgaWYgKG1fbGluZU9mZnNldCA+ PSBtX2xpbmVTaXplKSB7CisgICAgICAgIG1fbGluZU51bWJlciArPSAxOworICAgICAgICBtX2xp bmVPZmZzZXQgPSAwOworICAgIH0KICAgICByZXR1cm4gdmFsdWU7CiB9CiAKQEAgLTE0MSw4ICsx ODIsMTAzIEBAIHZvaWQgS2lzQnVmZmVyU3RyZWFtU2VwYXJhdGU6OnJlc3RhcnQoKQogfQogCiB2 b2lkIEtpc0J1ZmZlclN0cmVhbVNlcGFyYXRlOjptb3ZlVG9MaW5lKHRzaXplX3QgbGluZU51bWJl cikKK3sKKyAgICBLSVNfQVNTRVJUKGxpbmVOdW1iZXIgPj0gMCk7CisgICAgbW92ZVRvUG9zKDAs IGxpbmVOdW1iZXIpOworfQorCit2b2lkIEtpc0J1ZmZlclN0cmVhbVNlcGFyYXRlOjptb3ZlVG9Q b3ModHNpemVfdCB4LCB0c2l6ZV90IHkpCiB7CiAgICAgZm9yIChjb25zdCBhdXRvICZzdHJlYW0g OiBzdHJlYW1zKSB7Ci0gICAgICAgIHN0cmVhbS0+bW92ZVRvTGluZShsaW5lTnVtYmVyKTsKKyAg ICAgICAgc3RyZWFtLT5tb3ZlVG9Qb3MoeCwgeSk7CiAgICAgfQogfQorCit0c2l6ZV90IEtpc0J1 ZmZlclN0cmVhbVNlcGFyYXRlOjp4KCkgY29uc3QKK3sKKyAgICByZXR1cm4gc3RyZWFtc1ttX2N1 cnJlbnRfc2FtcGxlXS0+eCgpOworfQorCit0c2l6ZV90IEtpc0J1ZmZlclN0cmVhbVNlcGFyYXRl Ojp5KCkgY29uc3QKK3sKKyAgICByZXR1cm4gc3RyZWFtc1ttX2N1cnJlbnRfc2FtcGxlXS0+eSgp OworfQorCit0c2l6ZV90IEtpc0J1ZmZlclN0cmVhbVNlcGFyYXRlOjp3aWR0aCgpIGNvbnN0Cit7 CisgICAgcmV0dXJuIHN0cmVhbXNbbV9jdXJyZW50X3NhbXBsZV0tPndpZHRoKCk7Cit9CisKK0tp c0J1ZmZlclN0cmVhbUludGVybGVhdmVVcHNhbXBsZTo6S2lzQnVmZmVyU3RyZWFtSW50ZXJsZWF2 ZVVwc2FtcGxlKAorICAgIHVpbnQ4X3QgKipzcmNzLAorICAgIHVpbnQxNl90IG5iX3NhbXBsZXMs CisgICAgdWludDE2X3QgZGVwdGgsCisgICAgdHNpemVfdCAqbGluZVNpemUsCisgICAgdWludDE2 X3QgaHN1YnNhbXBsZSwKKyAgICB1aW50MTZfdCB2c3Vic2FtcGxlKQorICAgIDogS2lzQnVmZmVy U3RyZWFtU2VwYXJhdGUoc3JjcywgbmJfc2FtcGxlcywgZGVwdGgsIGxpbmVTaXplKQorICAgICwg bV9oc3Vic2FtcGxlKGhzdWJzYW1wbGUpCisgICAgLCBtX3ZzdWJzYW1wbGUodnN1YnNhbXBsZSkK K3sKK30KKwordWludDMyX3QgS2lzQnVmZmVyU3RyZWFtSW50ZXJsZWF2ZVVwc2FtcGxlOjpuZXh0 VmFsdWUoKQoreworICAgIHVpbnQzMl90IHZhbHVlID0gc3RyZWFtc1ttX2N1cnJlbnRQbGFuZV0t Pm5leHRWYWx1ZSgpOworICAgIGlmIChtX2N1cnJlbnRQbGFuZSA9PSAwKSB7CisgICAgICAgIG1f Y3VycmVudF9zYW1wbGUrKzsKKyAgICAgICAgaWYgKG1fY3VycmVudF9zYW1wbGUgJSBtX2hzdWJz YW1wbGUgPT0gMCkgeworICAgICAgICAgICAgaWYgKG1fY3VycmVudF9zYW1wbGUgPj0gbV9oc3Vi c2FtcGxlICogbV92c3Vic2FtcGxlKSB7CisgICAgICAgICAgICAgICAgLy8gRml4IHVwIHRoZSBw b3NpdGlvbiBvZiB0aGUgbHVtaW5hbmNlIHBsYW5lCisgICAgICAgICAgICAgICAgLy8gSWYgaXQn cyBhbHJlYWR5IDAsIHRoZSBjdXJzb3IgaGFzIGFscmVhZHkgbG9vcGVkIChjb3JyZWN0bHkpCisg ICAgICAgICAgICAgICAgLy8gdG8gdGhlIG5leHQgbGluZQorICAgICAgICAgICAgICAgIGlmIChz dHJlYW1zW21fY3VycmVudFBsYW5lXS0+eCgpICE9IDApIHsKKyAgICAgICAgICAgICAgICAgICAg c3RyZWFtc1ttX2N1cnJlbnRQbGFuZV0tPm1vdmVUb1BvcygKKyAgICAgICAgICAgICAgICAgICAg ICAgIHN0cmVhbXNbbV9jdXJyZW50UGxhbmVdLT54KCksCisgICAgICAgICAgICAgICAgICAgICAg ICBzdHJlYW1zW21fY3VycmVudFBsYW5lXS0+eSgpIC0gbV92c3Vic2FtcGxlICsgMSk7CisgICAg ICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgIC8vIE1vdmUgdG8gQ2IvQ3IKKyAgICAgICAg ICAgICAgICBtX2N1cnJlbnRQbGFuZSArPSAxOworICAgICAgICAgICAgICAgIG1fY3VycmVudF9z YW1wbGUgPSAwOworICAgICAgICAgICAgfSBlbHNlIHsKKyAgICAgICAgICAgICAgICAvLyBHbyB0 byBuZXh0IGxpbmUKKyAgICAgICAgICAgICAgICAvLyBJZiB0aGUgcG9zaXRpb24gaXMgYWxyZWFk eSAwLCB3ZSBuZWVkIHRvIGNvcnJlY3QgdGhlIHJvdworICAgICAgICAgICAgICAgIC8vIEFORCBj b2x1bW4KKyAgICAgICAgICAgICAgICBpZiAoc3RyZWFtc1ttX2N1cnJlbnRQbGFuZV0tPngoKSAh PSAwKSB7CisgICAgICAgICAgICAgICAgICAgIHN0cmVhbXNbbV9jdXJyZW50UGxhbmVdLT5tb3Zl VG9Qb3MoCisgICAgICAgICAgICAgICAgICAgICAgICBzdHJlYW1zW21fY3VycmVudFBsYW5lXS0+ eCgpIC0gbV9oc3Vic2FtcGxlLAorICAgICAgICAgICAgICAgICAgICAgICAgc3RyZWFtc1ttX2N1 cnJlbnRQbGFuZV0tPnkoKSArIDEpOworICAgICAgICAgICAgICAgIH0gZWxzZSB7CisgICAgICAg ICAgICAgICAgICAgIHN0cmVhbXNbbV9jdXJyZW50UGxhbmVdLT5tb3ZlVG9Qb3MoCisgICAgICAg ICAgICAgICAgICAgICAgICBzdHJlYW1zW21fY3VycmVudFBsYW5lXS0+d2lkdGgoKSAtIG1faHN1 YnNhbXBsZSwKKyAgICAgICAgICAgICAgICAgICAgICAgIHN0cmVhbXNbbV9jdXJyZW50UGxhbmVd LT55KCkpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0KKyAgICAgICAgfQorICAg IH0gZWxzZSBpZiAobV9jdXJyZW50UGxhbmUgPCBtX25iX3NhbXBsZXMgLSAxKSB7CisgICAgICAg IG1fY3VycmVudFBsYW5lICs9IDE7CisgICAgfSBlbHNlIHsKKyAgICAgICAgbV9jdXJyZW50UGxh bmUgPSAwOworICAgIH0KKyAgICByZXR1cm4gdmFsdWU7Cit9CisKK3ZvaWQgS2lzQnVmZmVyU3Ry ZWFtSW50ZXJsZWF2ZVVwc2FtcGxlOjptb3ZlVG9Qb3ModHNpemVfdCB4LCB0c2l6ZV90IHkpCit7 CisgICAgLy8gTmVlZHMgdG8gc3Vic2FtcGxlCisgICAgZm9yICh1aW50MTZfdCBpID0gMDsgaSA8 IG1fbmJfc2FtcGxlczsgaSsrKSB7CisgICAgICAgIGNvbnN0IHRzaXplX3QgcmVhbFggPSBpID09 IDAgPyB4IDogeCAvIG1faHN1YnNhbXBsZTsKKyAgICAgICAgY29uc3QgdHNpemVfdCByZWFsWSA9 IGkgPT0gMCA/IHkgOiB5IC8gbV92c3Vic2FtcGxlOworICAgICAgICBzdHJlYW1zLmF0KGkpLT5t b3ZlVG9Qb3MocmVhbFgsIHJlYWxZKTsKKyAgICB9Cit9CisKK3RzaXplX3QgS2lzQnVmZmVyU3Ry ZWFtSW50ZXJsZWF2ZVVwc2FtcGxlOjp4KCkgY29uc3QKK3sKKyAgICByZXR1cm4gc3RyZWFtc1sw XS0+eCgpOworfQorCit0c2l6ZV90IEtpc0J1ZmZlclN0cmVhbUludGVybGVhdmVVcHNhbXBsZTo6 eSgpIGNvbnN0Cit7CisgICAgcmV0dXJuIHN0cmVhbXNbMF0tPnkoKTsKK30KZGlmZiAtLWdpdCBh L3BsdWdpbnMvaW1wZXgvdGlmZi9raXNfYnVmZmVyX3N0cmVhbS5oIGIvcGx1Z2lucy9pbXBleC90 aWZmL2tpc19idWZmZXJfc3RyZWFtLmgKaW5kZXggNzA2Yjg1ZGUzMS4uMmIwNTc1ZmY5MyAxMDA2 NDQKLS0tIGEvcGx1Z2lucy9pbXBleC90aWZmL2tpc19idWZmZXJfc3RyZWFtLmgKKysrIGIvcGx1 Z2lucy9pbXBleC90aWZmL2tpc19idWZmZXJfc3RyZWFtLmgKQEAgLTIzLDcgKzIzLDExIEBAIHB1 YmxpYzoKICAgICB2aXJ0dWFsIHVpbnQzMl90IG5leHRWYWx1ZSgpID0gMDsKICAgICB2aXJ0dWFs IHZvaWQgcmVzdGFydCgpID0gMDsKICAgICB2aXJ0dWFsIHZvaWQgbW92ZVRvTGluZSh0c2l6ZV90 IGxpbmVOdW1iZXIpID0gMDsKLSAgICB2aXJ0dWFsIH5LaXNCdWZmZXJTdHJlYW1CYXNlKCkge30K KyAgICB2aXJ0dWFsIHZvaWQgbW92ZVRvUG9zKHRzaXplX3QgeCwgdHNpemVfdCB5KSA9IDA7Cisg ICAgdmlydHVhbCB0c2l6ZV90IHgoKSBjb25zdCA9IDA7CisgICAgdmlydHVhbCB0c2l6ZV90IHko KSBjb25zdCA9IDA7CisgICAgdmlydHVhbCB0c2l6ZV90IHdpZHRoKCkgY29uc3QgPSAwOworCiBw cm90ZWN0ZWQ6CiAgICAgdWludDE2X3QgbV9kZXB0aDsKIH07CkBAIC0zOSwxMSArNDMsMjEgQEAg cHVibGljOgogCiAgICAgdm9pZCBtb3ZlVG9MaW5lKHRzaXplX3QgbGluZU51bWJlcikgb3ZlcnJp ZGU7CiAKKyAgICB2b2lkIG1vdmVUb1Bvcyh0c2l6ZV90IHgsIHRzaXplX3QgeSkgb3ZlcnJpZGU7 CisKKyAgICB0c2l6ZV90IHgoKSBjb25zdCBvdmVycmlkZTsKKworICAgIHRzaXplX3QgeSgpIGNv bnN0IG92ZXJyaWRlOworCisgICAgdHNpemVfdCB3aWR0aCgpIGNvbnN0IG92ZXJyaWRlOworCiBw cm90ZWN0ZWQ6CiAgICAgdWludDhfdCAqY29uc3QgbV9zcmM7CiAgICAgdWludDhfdCAqbV9zcmNJ dDsKICAgICB1aW50MTZfdCBtX3Bvc2luYyA9IDA7CiAgICAgY29uc3QgdHNpemVfdCBtX2xpbmVT aXplOworICAgIHRzaXplX3QgbV9saW5lTnVtYmVyID0gMDsKKyAgICB0c2l6ZV90IG1fbGluZU9m ZnNldCA9IDA7CiB9OwogCiBjbGFzcyBLaXNCdWZmZXJTdHJlYW1Db250aWdCZWxvdzE2IDogcHVi bGljIEtpc0J1ZmZlclN0cmVhbUNvbnRpZ0Jhc2UKQEAgLTk4LDEwICsxMTIsNTIgQEAgcHVibGlj OgogCiAgICAgdm9pZCBtb3ZlVG9MaW5lKHRzaXplX3QgbGluZU51bWJlcikgb3ZlcnJpZGU7CiAK KyAgICB2b2lkIG1vdmVUb1Bvcyh0c2l6ZV90IHgsIHRzaXplX3QgeSkgb3ZlcnJpZGU7CisKKyAg ICB0c2l6ZV90IHgoKSBjb25zdCBvdmVycmlkZTsKKworICAgIHRzaXplX3QgeSgpIGNvbnN0IG92 ZXJyaWRlOworCisgICAgdHNpemVfdCB3aWR0aCgpIGNvbnN0IG92ZXJyaWRlOworCiBwcm90ZWN0 ZWQ6CiAgICAgUVZlY3RvcjxRU2hhcmVkUG9pbnRlcjxLaXNCdWZmZXJTdHJlYW1CYXNlPj4gc3Ry ZWFtczsKICAgICB1aW50MTZfdCBtX2N1cnJlbnRfc2FtcGxlID0gMDsKICAgICB1aW50MTZfdCBt X25iX3NhbXBsZXM7CiB9OwogCitjbGFzcyBLaXNCdWZmZXJTdHJlYW1JbnRlcmxlYXZlVXBzYW1w bGUgOiBwdWJsaWMgS2lzQnVmZmVyU3RyZWFtU2VwYXJhdGUKK3sKK3B1YmxpYzoKKyAgICBLaXNC dWZmZXJTdHJlYW1JbnRlcmxlYXZlVXBzYW1wbGUodWludDhfdCAqKnNyY3MsCisgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQxNl90IG5iX3NhbXBsZXMsCisgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQxNl90IGRlcHRoLAorICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0c2l6ZV90ICpsaW5lU2l6ZSwKKyAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDE2X3QgaHN1YnNhbXBsZSwKKyAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDE2X3QgdnN1YnNhbXBsZSk7CisK KyAgICB1aW50MzJfdCBuZXh0VmFsdWUoKSBvdmVycmlkZTsKKworICAgIHZvaWQgbW92ZVRvUG9z KHRzaXplX3QgeCwgdHNpemVfdCB5KSBvdmVycmlkZTsKKworICAgIHRzaXplX3QgeCgpIGNvbnN0 IG92ZXJyaWRlOworCisgICAgdHNpemVfdCB5KCkgY29uc3Qgb3ZlcnJpZGU7CisKKyAgICB0c2l6 ZV90IHdpZHRoKCkgY29uc3Qgb3ZlcnJpZGUKKyAgICB7CisgICAgICAgIHJldHVybiBzdHJlYW1z WzBdLT53aWR0aCgpOworICAgIH0KKworICAgIHZvaWQgcmVzdGFydCgpIG92ZXJyaWRlCisgICAg eworICAgICAgICBLaXNCdWZmZXJTdHJlYW1TZXBhcmF0ZTo6cmVzdGFydCgpOworICAgICAgICBt X2N1cnJlbnRQbGFuZSA9IDA7CisgICAgfQorCitwcm90ZWN0ZWQ6CisgICAgdWludDE2X3QgbV9o c3Vic2FtcGxlLCBtX3ZzdWJzYW1wbGU7CisgICAgdWludDE2X3QgbV9jdXJyZW50UGxhbmUgPSAw OworfTsKKwogI2VuZGlmCmRpZmYgLS1naXQgYS9wbHVnaW5zL2ltcGV4L3RpZmYva2lzX3RpZmZf aW1wb3J0LmNjIGIvcGx1Z2lucy9pbXBleC90aWZmL2tpc190aWZmX2ltcG9ydC5jYwppbmRleCBk MGM1NjExMmJlLi40ZTgxOWQ0OTdlIDEwMDY0NAotLS0gYS9wbHVnaW5zL2ltcGV4L3RpZmYva2lz X3RpZmZfaW1wb3J0LmNjCisrKyBiL3BsdWdpbnMvaW1wZXgvdGlmZi9raXNfdGlmZl9pbXBvcnQu Y2MKQEAgLTM5LDYgKzM5LDExIEBACiAjaW5jbHVkZSAia2lzX3RpZmZfcHNkX3Jlc291cmNlX3Jl Y29yZC5oIgogI2VuZGlmCiAKKyNpZmRlZiBIQVZFX0pQRUdfVFVSQk8KKyNpbmNsdWRlIDx0dXJi b2pwZWcuaD4KKyNlbmRpZgorCisjaW5jbHVkZSAia2lzX2J1ZmZlcl9zdHJlYW0uaCIKICNpbmNs dWRlICJraXNfdGlmZl9sb2dnZXIuaCIKICNpbmNsdWRlICJraXNfdGlmZl9yZWFkZXIuaCIKICNp bmNsdWRlICJraXNfdGlmZl95Y2Jjcl9yZWFkZXIuaCIKQEAgLTc4Miw4ICs3ODcsNyBAQCBLaXNU SUZGSW1wb3J0OjpyZWFkSW1hZ2VGcm9tVGlmZihLaXNEb2N1bWVudCAqbV9kb2MsCiAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAmdnN1YnNhbXBsaW5nKTsKICAgICAgICAgbGluZVNpemVD b2VmZnNbMV0gPSBoc3Vic2FtcGxpbmc7CiAgICAgICAgIGxpbmVTaXplQ29lZmZzWzJdID0gaHN1 YnNhbXBsaW5nOwotICAgICAgICB1aW50MTZfdCBwb3NpdGlvbiA9IDA7Ci0gICAgICAgIFRJRkZH ZXRGaWVsZERlZmF1bHRlZChpbWFnZSwgVElGRlRBR19ZQ0JDUlBPU0lUSU9OSU5HLCAmcG9zaXRp b24pOworICAgICAgICBkYmdGaWxlIDw8ICJTdWJzYW1wbGluZyIgPDwgNCA8PCBoc3Vic2FtcGxp bmcgPDwgdnN1YnNhbXBsaW5nOwogICAgICAgICBpZiAoZHN0RGVwdGggPT0gOCkgewogICAgICAg ICAgICAgdGlmZlJlYWRlciA9IG5ldyBLaXNUSUZGWUNiQ3JSZWFkZXI8dWludDhfdD4oCiAgICAg ICAgICAgICAgICAgbGF5ZXItPnBhaW50RGV2aWNlKCksCkBAIC05NDcsNiArOTUxLDkgQEAgS2lz VElGRkltcG9ydDo6cmVhZEltYWdlRnJvbVRpZmYoS2lzRG9jdW1lbnQgKm1fZG9jLAogICAgICAg ICByZXR1cm4gSW1wb3J0RXhwb3J0Q29kZXM6OkZpbGVGb3JtYXRJbmNvcnJlY3Q7CiAgICAgfQog CisgICAgdWludDMyX3QgY29tcHJlc3Npb24gPSBDT01QUkVTU0lPTl9OT05FOworICAgIFRJRkZH ZXRGaWVsZERlZmF1bHRlZChpbWFnZSwgVElGRlRBR19DT01QUkVTU0lPTiwgJmNvbXByZXNzaW9u LCBDT01QUkVTU0lPTl9OT05FKTsKKwogICAgIGlmIChUSUZGSXNUaWxlZChpbWFnZSkpIHsKICAg ICAgICAgZGJnRmlsZSA8PCAidGlsZWQgaW1hZ2UiOwogICAgICAgICB1aW50MzJfdCB0aWxlV2lk dGggPSAwOwpAQCAtMTAyNSw3ICsxMDMyLDY2IEBAIEtpc1RJRkZJbXBvcnQ6OnJlYWRJbWFnZUZy b21UaWZmKEtpc0RvY3VtZW50ICptX2RvYywKICAgICAgICAgICAgIHFNaW4ocm93c1BlclN0cmlw LAogICAgICAgICAgICAgICAgICBoZWlnaHQpOyAvLyB3aGVuIFRJRkZOdW1iZXJPZlN0cmlwcyhp bWFnZSkgPT0gMSBpdCBtaWdodCBoYXBwZW4KICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8g dGhhdCByb3dzUGVyU3RyaXAgaXMgaW5jb3JyZWN0bHkgc2V0Ci0gICAgICAgIGlmIChwbGFuYXJj b25maWcgPT0gUExBTkFSQ09ORklHX0NPTlRJRykgeworCisjaWZkZWYgSEFWRV9KUEVHX1RVUkJP CisgICAgICAgIHVpbnQzMl90IGhhc1NwbGl0VGFibGVzID0gMDsKKyAgICAgICAgdWludDhfdCAq dGFibGVzID0gbnVsbHB0cjsKKyAgICAgICAgdWludDMyX3Qgc3ogPSAwOworICAgICAgICBRVmVj dG9yPHVuc2lnbmVkIGNoYXI+IGpwZWdCdWY7CisKKyAgICAgICAgYXV0byBoYW5kbGUgPSBbJl0o KSAtPiBzdGQ6OnVuaXF1ZV9wdHI8dm9pZCwgZGVjbHR5cGUoJnRqRGVzdHJveSk+IHsKKyAgICAg ICAgICAgIGlmIChwbGFuYXJjb25maWcgPT0gUExBTkFSQ09ORklHX0NPTlRJRworICAgICAgICAg ICAgICAgICYmIGNvbG9yX3R5cGUgPT0gUEhPVE9NRVRSSUNfWUNCQ1IKKyAgICAgICAgICAgICAg ICAmJiBjb21wcmVzc2lvbiA9PSBDT01QUkVTU0lPTl9KUEVHKSB7CisgICAgICAgICAgICAgICAg cmV0dXJuIHt0akluaXREZWNvbXByZXNzKCksICZ0akRlc3Ryb3l9OworICAgICAgICAgICAgfSBl bHNlIHsKKyAgICAgICAgICAgICAgICByZXR1cm4ge251bGxwdHIsICZ0akRlc3Ryb3l9OworICAg ICAgICAgICAgfQorICAgICAgICB9KCk7CisKKyAgICAgICAgaWYgKGNvbG9yX3R5cGUgPT0gUEhP VE9NRVRSSUNfWUNCQ1IgJiYgY29tcHJlc3Npb24gPT0gQ09NUFJFU1NJT05fSlBFRworICAgICAg ICAgICAgJiYgaHN1YnNhbXBsaW5nICE9IDEgJiYgdnN1YnNhbXBsaW5nICE9IDEpIHsKKyAgICAg ICAgICAgIGpwZWdCdWYucmVzaXplKHN0cmlwc2l6ZSk7CisgICAgICAgICAgICBkYmdGaWxlIDw8 ICJTZXR0aW5nIHVwIGxpYmpwZWctdHVyYm8gZm9yIGhhbmRsaW5nIHN1YnNhbXBsZWQgSlBFRyAi CisgICAgICAgICAgICAgICAgICAgICAgICJzdHJpcHMuLi4iOworICAgICAgICAgICAgaWYgKCFU SUZGR2V0RmllbGREZWZhdWx0ZWQoaW1hZ2UsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICBUSUZGVEFHX0pQRUdUQUJMRVNNT0RFLAorICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgJmhhc1NwbGl0VGFibGVzKSkgeworICAgICAgICAgICAgICAgIGVy ckZpbGUgPDwgIkVycm9yIHdoZW4gZGV0ZWN0aW5nIHRoZSBKUEVHIGNvZWZmaWNpZW50ICIKKyAg ICAgICAgICAgICAgICAgICAgICAgICAgICJ0YWJsZSBtb2RlIjsKKyAgICAgICAgICAgICAgICBy ZXR1cm4gSW1wb3J0RXhwb3J0Q29kZXM6OkZpbGVGb3JtYXRJbmNvcnJlY3Q7CisgICAgICAgICAg ICB9CisgICAgICAgICAgICBpZiAoaGFzU3BsaXRUYWJsZXMpIHsKKyAgICAgICAgICAgICAgICBp ZiAoIVRJRkZHZXRGaWVsZChpbWFnZSwgVElGRlRBR19KUEVHVEFCTEVTLCAmc3osICZ0YWJsZXMp KSB7CisgICAgICAgICAgICAgICAgICAgIGVyckZpbGUKKyAgICAgICAgICAgICAgICAgICAgICAg IDw8ICJVbmFibGUgdG8gcmV0cmlldmUgdGhlIEpQRUcgYWJicmV2aWF0ZWQgZGF0YXN0cmVhbSI7 CisgICAgICAgICAgICAgICAgICAgIHJldHVybiBJbXBvcnRFeHBvcnRDb2Rlczo6RmlsZUZvcm1h dEluY29ycmVjdDsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9CisKKyAgICAgICAg ICAgIHsKKyAgICAgICAgICAgICAgICBpbnQgd2lkdGggPSAwOworICAgICAgICAgICAgICAgIGlu dCBoZWlnaHQgPSAwOworCisgICAgICAgICAgICAgICAgaWYgKGhhc1NwbGl0VGFibGVzCisgICAg ICAgICAgICAgICAgICAgICYmIHRqRGVjb21wcmVzc0hlYWRlcihoYW5kbGUuZ2V0KCksCisgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0YWJsZXMsCisgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzeiwKKyAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICZ3aWR0aCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICZoZWlnaHQpCisgICAgICAgICAgICAgICAgICAgICAgICAhPSAwKSB7 CisgICAgICAgICAgICAgICAgICAgIGVyckZpbGUgPDwgdGpHZXRFcnJvclN0cjIoaGFuZGxlLmdl dCgpKTsKKyAgICAgICAgICAgICAgICAgICAgbV9kb2MtPnNldEVycm9yTWVzc2FnZShpMThuYygi VElGRiBlcnJvcnMiLCAiVGhpcyBUSUZGIGZpbGUgaXMgY29tcHJlc3NlZCB3aXRoIEpQRUcsIGJ1 dCBsaWJqcGVnLXR1cmJvIGNvdWxkIG5vdCBsb2FkIGl0cyBjb2VmZmljaWVudCBxdWFudGl6YXRp b24gYW5kL29yIEh1ZmZtYW4gY29kaW5nIHRhYmxlcy4gUGxlYXNlIHVwZ3JhZGUgeW91ciB2ZXJz aW9uIG9mIGxpYmpwZWctdHVyYm8gYW5kIHRyeSBhZ2Fpbi4iKSk7CisgICAgICAgICAgICAgICAg ICAgIHJldHVybiBJbXBvcnRFeHBvcnRDb2Rlczo6RmlsZUZvcm1hdEluY29ycmVjdDsKKyAgICAg ICAgICAgICAgICB9CisgICAgICAgICAgICB9CisgICAgICAgIH0KKyNlbmRpZgorCisgICAgICAg IGlmIChwbGFuYXJjb25maWcgPT0gUExBTkFSQ09ORklHX0NPTlRJRworICAgICAgICAgICAgJiYg IShjb2xvcl90eXBlID09IFBIT1RPTUVUUklDX1lDQkNSCisgICAgICAgICAgICAgICAgICYmIGNv bXByZXNzaW9uID09IENPTVBSRVNTSU9OX0pQRUcgJiYgaHN1YnNhbXBsaW5nICE9IDEKKyAgICAg ICAgICAgICAgICAgJiYgdnN1YnNhbXBsaW5nICE9IDEpKSB7CiAgICAgICAgICAgICBidWYucmVz ZXQoX1RJRkZtYWxsb2Moc3RyaXBzaXplKSk7CiAgICAgICAgICAgICBpZiAoZGVwdGggPCAxNikg ewogICAgICAgICAgICAgICAgIHRpZmZzdHJlYW0gPSBuZXcgS2lzQnVmZmVyU3RyZWFtQ29udGln QmVsb3cxNigKQEAgLTEwNDMsNiArMTEwOSw2MSBAQCBLaXNUSUZGSW1wb3J0OjpyZWFkSW1hZ2VG cm9tVGlmZihLaXNEb2N1bWVudCAqbV9kb2MsCiAgICAgICAgICAgICAgICAgICAgIGRlcHRoLAog ICAgICAgICAgICAgICAgICAgICBzdHJpcHNpemUgLyByb3dzUGVyU3RyaXApOwogICAgICAgICAg ICAgfQorICAgICAgICB9IGVsc2UgaWYgKHBsYW5hcmNvbmZpZyA9PSBQTEFOQVJDT05GSUdfQ09O VElHCisgICAgICAgICAgICAgICAgICAgJiYgY29sb3JfdHlwZSA9PSBQSE9UT01FVFJJQ19ZQ0JD UgorICAgICAgICAgICAgICAgICAgICYmIGNvbXByZXNzaW9uID09IENPTVBSRVNTSU9OX0pQRUcp IHsKKyNpZmRlZiBIQVZFX0pQRUdfVFVSQk8KKyAgICAgICAgICAgIHBzX2J1Zi5yZXNpemUobmJj aGFubmVscyk7CisgICAgICAgICAgICBUSUZGUmVhZFJhd1N0cmlwKGltYWdlLCAwLCBqcGVnQnVm LmRhdGEoKSwgc3RyaXBzaXplKTsKKworICAgICAgICAgICAgaW50IHdpZHRoID0gYmFzaWNJbmZv LndpZHRoOworICAgICAgICAgICAgaW50IGhlaWdodCA9IHJvd3NQZXJTdHJpcDsKKyAgICAgICAg ICAgIGludCBqcGVnU3Vic2FtcCA9IFRKXzQ0NDsKKyAgICAgICAgICAgIGludCBqcGVnQ29sb3Jz cGFjZSA9IFRKQ1NfWUNiQ3I7CisKKyAgICAgICAgICAgIGlmICh0akRlY29tcHJlc3NIZWFkZXIz KGhhbmRsZS5nZXQoKSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGpwZWdC dWYuZGF0YSgpLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RyaXBzaXpl LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJndpZHRoLAorICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgJmhlaWdodCwKKyAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICZqcGVnU3Vic2FtcCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICZqcGVnQ29sb3JzcGFjZSkKKyAgICAgICAgICAgICAgICAhPSAwKSB7CisgICAg ICAgICAgICAgICAgZXJyRmlsZSA8PCB0akdldEVycm9yU3RyMihoYW5kbGUuZ2V0KCkpOworICAg ICAgICAgICAgICAgIHJldHVybiBJbXBvcnRFeHBvcnRDb2Rlczo6RmlsZUZvcm1hdEluY29ycmVj dDsKKyAgICAgICAgICAgIH0KKworICAgICAgICAgICAgUVZlY3Rvcjx0c2l6ZV90PiBsaW5lU2l6 ZXMobmJjaGFubmVscyk7CisgICAgICAgICAgICBmb3IgKHVpbnQzMl90IGkgPSAwOyBpIDwgbmJj aGFubmVsczsgaSsrKSB7CisgICAgICAgICAgICAgICAgY29uc3QgdW5zaWduZWQgbG9uZyB1bmNv bXByZXNzZWRTdHJpcHNpemUgPQorICAgICAgICAgICAgICAgICAgICB0alBsYW5lU2l6ZVlVVihp LCB3aWR0aCwgMCwgaGVpZ2h0LCBqcGVnQ29sb3JzcGFjZSk7CisgICAgICAgICAgICAgICAgS0lT X1NBRkVfQVNTRVJUX1JFQ09WRVJfUkVUVVJOX1ZBTFVFKAorICAgICAgICAgICAgICAgICAgICB1 bmNvbXByZXNzZWRTdHJpcHNpemUgIT0gKHVuc2lnbmVkIGxvbmcpLTEsCisgICAgICAgICAgICAg ICAgICAgIEltcG9ydEV4cG9ydENvZGVzOjpGaWxlRm9ybWF0SW5jb3JyZWN0KTsKKyAgICAgICAg ICAgICAgICBkYmdGaWxlIDw8IFFTdHJpbmcoIlVuY29tcHJlc3NlZCBzdHJpcCBzaXplIChwbGFu ZSAlMSk6ICUyIikKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAuYXJnKGkpCisgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgLmFyZyh1bmNvbXByZXNzZWRTdHJpcHNpemUpOwor ICAgICAgICAgICAgICAgIHRzaXplX3Qgc2NhbkxpbmVTaXplID0gdW5jb21wcmVzc2VkU3RyaXBz aXplIC8gcm93c1BlclN0cmlwOworICAgICAgICAgICAgICAgIGRiZ0ZpbGUgPDwgUVN0cmluZygi c2NhbiBsaW5lIHNpemUgKHBsYW5lICUxKTogJTIiKQorICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIC5hcmcoaSkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAuYXJnKHNjYW5M aW5lU2l6ZSk7CisgICAgICAgICAgICAgICAgcHNfYnVmW2ldID0gX1RJRkZtYWxsb2ModW5jb21w cmVzc2VkU3RyaXBzaXplKTsKKyAgICAgICAgICAgICAgICBsaW5lU2l6ZXNbaV0gPSBzY2FuTGlu ZVNpemU7CisgICAgICAgICAgICB9CisgICAgICAgICAgICB0aWZmc3RyZWFtID0gbmV3IEtpc0J1 ZmZlclN0cmVhbUludGVybGVhdmVVcHNhbXBsZSgKKyAgICAgICAgICAgICAgICByZWludGVycHJl dF9jYXN0PHVpbnQ4X3QgKio+KHBzX2J1Zi5kYXRhKCkpLAorICAgICAgICAgICAgICAgIG5iY2hh bm5lbHMsCisgICAgICAgICAgICAgICAgZGVwdGgsCisgICAgICAgICAgICAgICAgbGluZVNpemVz LmRhdGEoKSwKKyAgICAgICAgICAgICAgICBoc3Vic2FtcGxpbmcsCisgICAgICAgICAgICAgICAg dnN1YnNhbXBsaW5nKTsKKyNlbHNlCisgICAgICAgICAgICBtX2RvYy0+c2V0RXJyb3JNZXNzYWdl KAorICAgICAgICAgICAgICAgIGkxOG5jKCJUSUZGIiwKKyAgICAgICAgICAgICAgICAgICAgICAi U3Vic2FtcGxlZCBZQ2JDciBUSUZGIGZpbGVzIGNvbXByZXNzZWQgd2l0aCBKUEVHIGNhbm5vdCAi CisgICAgICAgICAgICAgICAgICAgICAgImJlIGxvYWRlZC4iKSk7CisgICAgICAgICAgICByZXR1 cm4gSW1wb3J0RXhwb3J0Q29kZXM6OkZpbGVGb3JtYXRJbmNvcnJlY3Q7CisjZW5kaWYKICAgICAg ICAgfSBlbHNlIHsKICAgICAgICAgICAgIHBzX2J1Zi5yZXNpemUobmJjaGFubmVscyk7CiAgICAg ICAgICAgICB0c2l6ZV90IHNjYW5MaW5lU2l6ZSA9IHN0cmlwc2l6ZSAvIHJvd3NQZXJTdHJpcDsK QEAgLTEwNjcsMTIgKzExODgsNTcgQEAgS2lzVElGRkltcG9ydDo6cmVhZEltYWdlRnJvbVRpZmYo S2lzRG9jdW1lbnQgKm1fZG9jLAogICAgICAgICBkYmdGaWxlIDw8ICIgTmJPZlN0cmlwcyA9IiA8 PCBUSUZGTnVtYmVyT2ZTdHJpcHMoaW1hZ2UpCiAgICAgICAgICAgICAgICAgPDwgIiByb3dzUGVy U3RyaXAgPSIgPDwgcm93c1BlclN0cmlwCiAgICAgICAgICAgICAgICAgPDwgIiBzdHJpcHNpemUg PSIgPDwgc3RyaXBzaXplOworCiAgICAgICAgIGZvciAodWludDMyX3Qgc3RyaXAgPSAwOyB5IDwg aGVpZ2h0OyBzdHJpcCsrKSB7CisjaWZkZWYgSEFWRV9KUEVHX1RVUkJPCisgICAgICAgICAgICBp ZiAocGxhbmFyY29uZmlnID09IFBMQU5BUkNPTkZJR19DT05USUcKKyAgICAgICAgICAgICAgICAm JiAhKGNvbG9yX3R5cGUgPT0gUEhPVE9NRVRSSUNfWUNCQ1IKKyAgICAgICAgICAgICAgICAgICAg ICYmIGNvbXByZXNzaW9uID09IENPTVBSRVNTSU9OX0pQRUcgJiYgaHN1YnNhbXBsaW5nICE9IDEK KyAgICAgICAgICAgICAgICAgICAgICYmIHZzdWJzYW1wbGluZyAhPSAxKSkgeworI2Vsc2UKICAg ICAgICAgICAgIGlmIChwbGFuYXJjb25maWcgPT0gUExBTkFSQ09ORklHX0NPTlRJRykgeworI2Vu ZGlmCiAgICAgICAgICAgICAgICAgVElGRlJlYWRFbmNvZGVkU3RyaXAoaW1hZ2UsCiAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVElGRkNvbXB1dGVTdHJpcChpbWFnZSwgeSwg MCksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYnVmLmdldCgpLAogICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICh0c2l6ZV90KS0xKTsKKyNpZmRlZiBI QVZFX0pQRUdfVFVSQk8KKyAgICAgICAgICAgIH0gZWxzZSBpZiAocGxhbmFyY29uZmlnID09IFBM QU5BUkNPTkZJR19DT05USUcKKyAgICAgICAgICAgICAgICAgICAgICAgJiYgKGNvbG9yX3R5cGUg PT0gUEhPVE9NRVRSSUNfWUNCQ1IKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICYmIGNvbXBy ZXNzaW9uID09IENPTVBSRVNTSU9OX0pQRUcpKSB7CisgICAgICAgICAgICAgICAgVElGRlJlYWRS YXdTdHJpcChpbWFnZSwgc3RyaXAsIGpwZWdCdWYuZGF0YSgpLCBzdHJpcHNpemUpOworCisgICAg ICAgICAgICAgICAgaW50IHdpZHRoID0gYmFzaWNJbmZvLndpZHRoOworICAgICAgICAgICAgICAg IGludCBoZWlnaHQgPSByb3dzUGVyU3RyaXA7CisgICAgICAgICAgICAgICAgaW50IGpwZWdTdWJz YW1wID0gVEpfNDQ0OworICAgICAgICAgICAgICAgIGludCBqcGVnQ29sb3JzcGFjZSA9IFRKQ1Nf WUNiQ3I7CisKKyAgICAgICAgICAgICAgICBpZiAodGpEZWNvbXByZXNzSGVhZGVyMyhoYW5kbGUu Z2V0KCksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAganBlZ0J1Zi5k YXRhKCksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RyaXBzaXpl LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZ3aWR0aCwKKyAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmaGVpZ2h0LAorICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICZqcGVnU3Vic2FtcCwKKyAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAmanBlZ0NvbG9yc3BhY2UpCisgICAgICAgICAgICAg ICAgICAgICE9IDApIHsKKyAgICAgICAgICAgICAgICAgICAgZXJyRmlsZSA8PCB0akdldEVycm9y U3RyMihoYW5kbGUuZ2V0KCkpOworICAgICAgICAgICAgICAgICAgICByZXR1cm4gSW1wb3J0RXhw b3J0Q29kZXM6OkZpbGVGb3JtYXRJbmNvcnJlY3Q7CisgICAgICAgICAgICAgICAgfQorCisgICAg ICAgICAgICAgICAgaWYgKHRqRGVjb21wcmVzc1RvWVVWUGxhbmVzKAorICAgICAgICAgICAgICAg ICAgICAgICAgaGFuZGxlLmdldCgpLAorICAgICAgICAgICAgICAgICAgICAgICAganBlZ0J1Zi5k YXRhKCksCisgICAgICAgICAgICAgICAgICAgICAgICBzdHJpcHNpemUsCisgICAgICAgICAgICAg ICAgICAgICAgICByZWludGVycHJldF9jYXN0PHVuc2lnbmVkIGNoYXIgKio+KHBzX2J1Zi5kYXRh KCkpLAorICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGgsCisgICAgICAgICAgICAgICAgICAg ICAgICBudWxscHRyLAorICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0LAorICAgICAgICAg ICAgICAgICAgICAgICAgMCkKKyAgICAgICAgICAgICAgICAgICAgIT0gMCkgeworICAgICAgICAg ICAgICAgICAgICBlcnJGaWxlIDw8IHRqR2V0RXJyb3JTdHIyKGhhbmRsZS5nZXQoKSk7CisgICAg ICAgICAgICAgICAgICAgIHJldHVybiBJbXBvcnRFeHBvcnRDb2Rlczo6RmlsZUZvcm1hdEluY29y cmVjdDsKKyAgICAgICAgICAgICAgICB9CisjZW5kaWYKICAgICAgICAgICAgIH0gZWxzZSB7CiAg ICAgICAgICAgICAgICAgZm9yICh1aW50MTZfdCBpID0gMDsgaSA8IG5iY2hhbm5lbHM7IGkrKykg ewogICAgICAgICAgICAgICAgICAgICBUSUZGUmVhZEVuY29kZWRTdHJpcChpbWFnZSwKQEAgLTEz MDEsNyArMTQ2NywxMCBAQCBLaXNJbXBvcnRFeHBvcnRFcnJvckNvZGUgS2lzVElGRkltcG9ydDo6 cmVhZFRJRkZEaXJlY3RvcnkoS2lzRG9jdW1lbnQgKm1fZG9jLAogICAgICAgICAgICAgICAgICJD aGVtaWNhbCBwcm9vZiIpOwogICAgICAgICB9IGVsc2UgaWYgKGJhc2ljSW5mby5jb2xvclNwYWNl SWRUYWcuZmlyc3QgPT0gTEFCQUNvbG9yTW9kZWxJRC5pZCgpKSB7CiAgICAgICAgICAgICBwcm9m aWxlID0gS29Db2xvclNwYWNlUmVnaXN0cnk6Omluc3RhbmNlKCktPnByb2ZpbGVCeU5hbWUoCi0g ICAgICAgICAgICAgICAgIkxhYiBpZGVudGl0eSBidWlsZC1pbiIpOworICAgICAgICAgICAgICAg ICJMYWIgaWRlbnRpdHkgYnVpbHQtaW4iKTsKKyAgICAgICAgfSBlbHNlIGlmIChiYXNpY0luZm8u Y29sb3JTcGFjZUlkVGFnLmZpcnN0ID09IFlDYkNyQUNvbG9yTW9kZWxJRC5pZCgpKSB7CisgICAg ICAgICAgICBwcm9maWxlID0gS29Db2xvclNwYWNlUmVnaXN0cnk6Omluc3RhbmNlKCktPnByb2Zp bGVCeU5hbWUoCisgICAgICAgICAgICAgICAgIklUVS1SIEJULjcwOS02IFlDYkNyIElDQyBWNCBw cm9maWxlIik7CiAgICAgICAgIH0KICAgICAgICAgaWYgKCFwcm9maWxlKSB7CiAgICAgICAgICAg ICBkYmdGaWxlIDw8ICJObyBzdWl0YWJsZSBkZWZhdWx0IHByb2ZpbGUgZm91bmQuIjsKQEAgLTE0 MjksNyArMTU5OCwxMCBAQCBLaXNJbXBvcnRFeHBvcnRFcnJvckNvZGUgS2lzVElGRkltcG9ydDo6 cmVhZFRJRkZEaXJlY3RvcnkoS2lzRG9jdW1lbnQgKm1fZG9jLAogICAgIHJldHVybiByZWFkSW1h Z2VGcm9tVGlmZihtX2RvYywgaW1hZ2UsIGJhc2ljSW5mbyk7CiB9CiAKLUtpc0ltcG9ydEV4cG9y dEVycm9yQ29kZSBLaXNUSUZGSW1wb3J0Ojpjb252ZXJ0KEtpc0RvY3VtZW50ICpkb2N1bWVudCwg UUlPRGV2aWNlICovKmlvKi8sICBLaXNQcm9wZXJ0aWVzQ29uZmlndXJhdGlvblNQIC8qY29uZmln dXJhdGlvbiovKQorS2lzSW1wb3J0RXhwb3J0RXJyb3JDb2RlCitLaXNUSUZGSW1wb3J0Ojpjb252 ZXJ0KEtpc0RvY3VtZW50ICpkb2N1bWVudCwKKyAgICAgICAgICAgICAgICAgICAgICAgUUlPRGV2 aWNlICogLyppbyovLAorICAgICAgICAgICAgICAgICAgICAgICBLaXNQcm9wZXJ0aWVzQ29uZmln dXJhdGlvblNQIC8qY29uZmlndXJhdGlvbiovKQogewogICAgIGRiZ0ZpbGUgPDwgIlN0YXJ0IGRl Y29kaW5nIFRJRkYgRmlsZSI7CiAKQEAgLTE1NTgsNCArMTczMCwzIEBAIEtpc0ltcG9ydEV4cG9y dEVycm9yQ29kZSBLaXNUSUZGSW1wb3J0Ojpjb252ZXJ0KEtpc0RvY3VtZW50ICpkb2N1bWVudCwg UUlPRGV2aWNlCiB9CiAKICNpbmNsdWRlIDxraXNfdGlmZl9pbXBvcnQubW9jPgotCmRpZmYgLS1n aXQgYS9wbHVnaW5zL2ltcGV4L3RpZmYva2lzX3RpZmZfaW1wb3J0LmggYi9wbHVnaW5zL2ltcGV4 L3RpZmYva2lzX3RpZmZfaW1wb3J0LmgKaW5kZXggOTkzZjNhZjNhZi4uMGIwOWQ3ZTljMyAxMDA2 NDQKLS0tIGEvcGx1Z2lucy9pbXBleC90aWZmL2tpc190aWZmX2ltcG9ydC5oCisrKyBiL3BsdWdp bnMvaW1wZXgvdGlmZi9raXNfdGlmZl9pbXBvcnQuaApAQCAtMTIsNiArMTIsNyBAQAogCiAjaW5j bHVkZSA8S2lzSW1wb3J0RXhwb3J0RmlsdGVyLmg+CiAjaW5jbHVkZSA8Y29uZmlnLXRpZmYuaD4K KyNpbmNsdWRlIDxjb25maWctanBlZy5oPgogI2luY2x1ZGUgPGtpc190eXBlcy5oPgogCiBjbGFz cyBRQnVmZmVyOwpkaWZmIC0tZ2l0IGEvcGx1Z2lucy9pbXBleC90aWZmL3Rlc3RzL2RhdGEvcXVh ZC1qcGVnLnRpZi5wbmcgYi9wbHVnaW5zL2ltcGV4L3RpZmYvdGVzdHMvZGF0YS9xdWFkLWpwZWcu dGlmLnBuZwpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMzY5ODVkNzQzNS4uMDAwMDAw MDAwMApCaW5hcnkgZmlsZXMgYS9wbHVnaW5zL2ltcGV4L3RpZmYvdGVzdHMvZGF0YS9xdWFkLWpw ZWcudGlmLnBuZyBhbmQgL2Rldi9udWxsIGRpZmZlcgpkaWZmIC0tZ2l0IGEvcGx1Z2lucy9pbXBl eC90aWZmL3Rlc3RzL2RhdGEvcmVzdWx0cy9xdWFkLWpwZWcudGlmLnBuZyBiL3BsdWdpbnMvaW1w ZXgvdGlmZi90ZXN0cy9kYXRhL3Jlc3VsdHMvcXVhZC1qcGVnLnRpZi5wbmcKbmV3IGZpbGUgbW9k ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMC4uYTZmNTkyY2FkOApCaW5hcnkgZmlsZXMgL2Rldi9u dWxsIGFuZCBiL3BsdWdpbnMvaW1wZXgvdGlmZi90ZXN0cy9kYXRhL3Jlc3VsdHMvcXVhZC1qcGVn LnRpZi5wbmcgZGlmZmVyCmRpZmYgLS1naXQgYS9wbHVnaW5zL2ltcGV4L3RpZmYvdGVzdHMvZGF0 YS9xdWFkLWpwZWcudGlmIGIvcGx1Z2lucy9pbXBleC90aWZmL3Rlc3RzL2RhdGEvc291cmNlcy9x dWFkLWpwZWcudGlmCnNpbWlsYXJpdHkgaW5kZXggMTAwJQpyZW5hbWUgZnJvbSBwbHVnaW5zL2lt cGV4L3RpZmYvdGVzdHMvZGF0YS9xdWFkLWpwZWcudGlmCnJlbmFtZSB0byBwbHVnaW5zL2ltcGV4 L3RpZmYvdGVzdHMvZGF0YS9zb3VyY2VzL3F1YWQtanBlZy50aWYKCg==