From: Tor Didriksen Date: January 18 2012 2:42pm Subject: bzr push into mysql-trunk branch (tor.didriksen:3459 to 3462) List-Archive: http://lists.mysql.com/commits/142473 Message-Id: <201201181442.q0IEgvaN005828@acsmt358.oracle.com> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 IDM0NjIgVG9yIERpZHJpa3NlbgkyMDEyLTAxLTE4IFttZXJnZV0KICAgICAgbWVyZ2UgdHJ1bmsg PT4gb3B0LXRlYW0KCiAgICBtb2RpZmllZDoKICAgICAgbXlzcWwtdGVzdC9leHRyYS9ycGxfdGVz dHMvcnBsX3N0YXJ0X3N0b3Bfc2xhdmUudGVzdAogICAgICBteXNxbC10ZXN0L3IvcGFydGl0aW9u LnJlc3VsdAogICAgICBteXNxbC10ZXN0L3N1aXRlL3JwbC9yL3JwbF9sb2dfcG9zLnJlc3VsdAog ICAgICBteXNxbC10ZXN0L3N1aXRlL3JwbC9yL3JwbF9tYW51YWxfY2hhbmdlX2luZGV4X2ZpbGUu cmVzdWx0CiAgICAgIG15c3FsLXRlc3Qvc3VpdGUvcnBsL3IvcnBsX3BhY2tldC5yZXN1bHQKICAg ICAgbXlzcWwtdGVzdC9zdWl0ZS9ycGwvci9ycGxfc3RtX3N0YXJ0X3N0b3Bfc2xhdmUucmVzdWx0 CiAgICAgIG15c3FsLXRlc3Qvc3VpdGUvcnBsL3QvcnBsX3N0bV9zdGFydF9zdG9wX3NsYXZlLnRl c3QKICAgICAgbXlzcWwtdGVzdC90L3BhcnRpdGlvbi50ZXN0CiAgICAgIHNxbC9maWxlc29ydC5j YwogICAgICBzcWwvZmlsZXNvcnRfdXRpbHMuaAogICAgICBzcWwvcnBsX21hc3Rlci5jYwogICAg ICBzcWwvc2hhcmUvZXJybXNnLXV0ZjgudHh0CiAgICAgIHNxbC9zcWxfdGFibGUuY2MKICAgICAg c3FsL3RhYmxlLmgKICAgICAgdW5pdHRlc3QvZ3VuaXQvZmlsZXNvcnRfYnVmZmVyLXQuY2MKIDM0 NjEgVG9yIERpZHJpa3NlbgkyMDEyLTAxLTE4IFttZXJnZV0KICAgICAgZW1wdHkgbWVyZ2UgdHJ1 bmsgPT4gb3B0LXRlYW0KCiAzNDYwIFRvciBEaWRyaWtzZW4JMjAxMi0wMS0xOCBbbWVyZ2VdCiAg ICAgIG1lcmdlIHRydW5rID0+IG9wdC10ZWFtCgogICAgYWRkZWQ6CiAgICAgIG15c3FsLXRlc3Qv c3VpdGUvc3lzX3ZhcnMvci9pbm5vZGJfY2hhbmdlX2J1ZmZlcmluZ19kZWJ1Z19iYXNpYy5yZXN1 bHQKICAgICAgbXlzcWwtdGVzdC9zdWl0ZS9zeXNfdmFycy9yL2lubm9kYl9kb3VibGV3cml0ZV9i YXRjaF9zaXplX2Jhc2ljLnJlc3VsdAogICAgICBteXNxbC10ZXN0L3N1aXRlL3N5c192YXJzL3Iv aW5ub2RiX3BhZ2VfaGFzaF9sb2Nrc19iYXNpYy5yZXN1bHQKICAgICAgbXlzcWwtdGVzdC9zdWl0 ZS9zeXNfdmFycy9yL2lubm9kYl90cnhfcnNlZ19uX3Nsb3RzX2RlYnVnX2Jhc2ljLnJlc3VsdAog ICAgICBteXNxbC10ZXN0L3N1aXRlL3N5c192YXJzL3QvaW5ub2RiX2NoYW5nZV9idWZmZXJpbmdf ZGVidWdfYmFzaWMudGVzdAogICAgICBteXNxbC10ZXN0L3N1aXRlL3N5c192YXJzL3QvaW5ub2Ri X2RvdWJsZXdyaXRlX2JhdGNoX3NpemVfYmFzaWMudGVzdAogICAgICBteXNxbC10ZXN0L3N1aXRl L3N5c192YXJzL3QvaW5ub2RiX3BhZ2VfaGFzaF9sb2Nrc19iYXNpYy50ZXN0CiAgICAgIG15c3Fs LXRlc3Qvc3VpdGUvc3lzX3ZhcnMvdC9pbm5vZGJfdHJ4X3JzZWdfbl9zbG90c19kZWJ1Z19iYXNp Yy50ZXN0CiAgICBtb2RpZmllZDoKICAgICAgQ01ha2VMaXN0cy50eHQKICAgICAgaW5jbHVkZS9t eV9nbG9iYWwuaAogICAgICBteXNxbC10ZXN0L2V4dHJhL3JwbF90ZXN0cy9ycGxfZXh0cmFfY29s X21hc3Rlci50ZXN0CiAgICAgIG15c3FsLXRlc3Qvci9jdHlwZV9tYW55LnJlc3VsdAogICAgICBt eXNxbC10ZXN0L3IvZnVuY190aW1lLnJlc3VsdAogICAgICBteXNxbC10ZXN0L3IvdXNlcl92YXIu cmVzdWx0CiAgICAgIG15c3FsLXRlc3Qvc3VpdGUvZnVuY3NfMS9yL2lzX2NvbHVtbnNfbXlzcWwu cmVzdWx0CiAgICAgIG15c3FsLXRlc3Qvc3VpdGUvZnVuY3NfMS9yL2lzX2NvbHVtbnNfbXlzcWxf ZW1iZWRkZWQucmVzdWx0CiAgICAgIG15c3FsLXRlc3Qvc3VpdGUvZnVuY3NfMS9yL2lzX3RhYmxl c19teXNxbC5yZXN1bHQKICAgICAgbXlzcWwtdGVzdC9zdWl0ZS9mdW5jc18xL3IvaXNfdGFibGVz X215c3FsX2VtYmVkZGVkLnJlc3VsdAogICAgICBteXNxbC10ZXN0L3N1aXRlL3N5c192YXJzL3Iv YWxsX3ZhcnMucmVzdWx0CiAgICAgIG15c3FsLXRlc3Qvc3VpdGUvc3lzX3ZhcnMvci9jaGFyYWN0 ZXJfc2V0c19kaXJfYmFzaWMucmVzdWx0CiAgICAgIG15c3FsLXRlc3Qvc3VpdGUvc3lzX3ZhcnMv ci9wbHVnaW5fZGlyX2Jhc2ljLnJlc3VsdAogICAgICBteXNxbC10ZXN0L3N1aXRlL3N5c192YXJz L3QvYWxsX3ZhcnMudGVzdAogICAgICBteXNxbC10ZXN0L3N1aXRlL3N5c192YXJzL3QvY2hhcmFj dGVyX3NldHNfZGlyX2Jhc2ljLnRlc3QKICAgICAgbXlzcWwtdGVzdC90L2N0eXBlX21hbnkudGVz dAogICAgICBteXNxbC10ZXN0L3QvZnVuY190aW1lLnRlc3QKICAgICAgbXlzcWwtdGVzdC90L3Vz ZXJfdmFyLnRlc3QKICAgICAgc2NyaXB0cy9teXNxbF9zeXN0ZW1fdGFibGVzLnNxbAogICAgICBz Y3JpcHRzL215c3FsZF9zYWZlLnNoCiAgICAgIHNjcmlwdHMvbXlzcWxob3Rjb3B5LnNoCiAgICAg IHNxbC9pdGVtLmNjCiAgICAgIHNxbC9pdGVtX2NtcGZ1bmMuY2MKICAgICAgc3FsL2l0ZW1fY21w ZnVuYy5oCiAgICAgIHNxbC9pdGVtX2Z1bmMuaAogICAgICBzcWwvbXlzcWxkLmNjCiAgICAgIHNx bC9zcWxfZXhlY3V0b3IuY2MKICAgICAgc3FsL3NxbF9vcHRpbWl6ZXIuY2MKICAgICAgc3FsL3Nx bF9wbHVnaW4uY2MKICAgICAgc3FsL3NxbF91ZGYuY2MKICAgICAgc3RvcmFnZS9pbm5vYmFzZS9i dWYvYnVmMGJ1Zi5jYwogICAgICBzdG9yYWdlL2lubm9iYXNlL2RpY3QvZGljdDBzdGF0cy5jYwog ICAgICBzdG9yYWdlL2lubm9iYXNlL2lidWYvaWJ1ZjBpYnVmLmNjCiAzNDU5IFRvciBEaWRyaWtz ZW4JMjAxMi0wMS0xNyBbbWVyZ2VdCiAgICAgIG1lcmdlIG9wdC1iYWNrcG9ydGluZyA9PiBvcHQt dGVhbQoKICAgIG1vZGlmaWVkOgogICAgICBteXNxbC10ZXN0L3IvZ3JvdXBfYnkucmVzdWx0CiAg ICAgIG15c3FsLXRlc3QvdC9ncm91cF9ieS50ZXN0CiAgICAgIHNxbC9pdGVtX3N1YnNlbGVjdC5j Ywo9PT0gbW9kaWZpZWQgZmlsZSAnQ01ha2VMaXN0cy50eHQnCi0tLSBhL0NNYWtlTGlzdHMudHh0 CTIwMTEtMDktMDYgMDM6MTM6NDQgKzAwMDAKKysrIGIvQ01ha2VMaXN0cy50eHQJMjAxMi0wMS0x NiAxMTo0MTo1NCArMDAwMApAQCAtNzksOCArNzksMTkgQEAgRUxTRUlGKE5PVCBIQVZFX0NNQUtF X0JVSUxEX1RZUEUgT1IgT0xEXwogICBTRVQoT0xEX1dJVEhfREVCVUcgMCBDQUNIRSBJTlRFUk5B TCAiIiBGT1JDRSkKIEVORElGKCkKIAorIyBPcHRpb25hbGx5IHNldCBwcm9qZWN0IG5hbWUsIGUu Zy4KKyMgZm9vLnhjb2RlcHJvaiAobWFjKSBvciBmb28uc2xuICh3aW5kb3dzKQorU0VUKE1ZU1FM X1BST0pFQ1RfTkFNRV9ET0NTVFJJTkcgIk15U1FMIHByb2plY3QgbmFtZSIpCitJRihERUZJTkVE IE1ZU1FMX1BST0pFQ1RfTkFNRSkKKyAgU0VUKE1ZU1FMX1BST0pFQ1RfTkFNRSAke01ZU1FMX1BS T0pFQ1RfTkFNRX0gQ0FDSEUgU1RSSU5HCisgICAgICAke01ZU1FMX1BST0pFQ1RfTkFNRV9ET0NT VFJJTkd9IEZPUkNFKQorRUxTRSgpCisgIFNFVChNWVNRTF9QUk9KRUNUX05BTUUgIk15U1FMIiBD QUNIRSBTVFJJTkcKKyAgICAgICR7TVlTUUxfUFJPSkVDVF9OQU1FX0RPQ1NUUklOR30gRk9SQ0Up CisgIE1BUktfQVNfQURWQU5DRUQoTVlTUUxfUFJPSkVDVF9OQU1FKQorRU5ESUYoKQorUFJPSkVD VCgke01ZU1FMX1BST0pFQ1RfTkFNRX0pCiAKLVBST0pFQ1QoTXlTUUwpCiBJRihCVUlMRF9DT05G SUcpCiAgIElOQ0xVREUoCiAgICR7Q01BS0VfU09VUkNFX0RJUn0vY21ha2UvYnVpbGRfY29uZmln dXJhdGlvbnMvJHtCVUlMRF9DT05GSUd9LmNtYWtlKQoKPT09IG1vZGlmaWVkIGZpbGUgJ2luY2x1 ZGUvbXlfZ2xvYmFsLmgnCi0tLSBhL2luY2x1ZGUvbXlfZ2xvYmFsLmgJMjAxMi0wMS0xMSAwOToz Mzo1MiArMDAwMAorKysgYi9pbmNsdWRlL215X2dsb2JhbC5oCTIwMTItMDEtMTcgMDk6Mzk6NTQg KzAwMDAKQEAgLTEwNTgsMTEgKzEwNTgsMzEgQEAgdHlwZWRlZiBjaGFyCQlteV9ib29sOyAvKiBT bWFsbCBib29sICovCiAKICNpZm5kZWYgSEFWRV9ETEVSUk9SCiAjaWZkZWYgX1dJTjMyCisjZGVm aW5lIERMRVJST1JfR0VORVJBVEUoZXJybXNnLCBlcnJvcl9udW1iZXIpIFwKKyAgY2hhciB3aW5f ZXJyb3Jtc2dbMjA0OF07IFwKKyAgaWYoRm9ybWF0TWVzc2FnZShGT1JNQVRfTUVTU0FHRV9GUk9N X1NZU1RFTSwgXAorICAgICAgICAgICAgICAgICAgIDAsIGVycm9yX251bWJlciwgMCwgd2luX2Vy cm9ybXNnLCAyMDQ4LCBOVUxMKSkgXAorICB7IFwKKyAgICBjaGFyICpwdHI7IFwKKyAgICBmb3Ig KHB0cj0gJndpbl9lcnJvcm1zZ1swXSArIHN0cmxlbih3aW5fZXJyb3Jtc2cpIC0gMTsgXAorICAg ICAgICAgcHRyID49ICZ3aW5fZXJyb3Jtc2dbMF0gJiYgc3RyY2hyKCJcclxuXHRcMHgyMCIsICpw dHIpOyBcCisgICAgICAgICBwdHItLSkgXAorICAgICAgKnB0cj0gMDsgXAorICAgIGVycm1zZz0g d2luX2Vycm9ybXNnOyBcCisgIH0gXAorICBlbHNlIFwKKyAgICBlcnJtc2c9ICIiCiAjZGVmaW5l IGRsZXJyb3IoKSAiIgotI2Vsc2UKKyNkZWZpbmUgZGxvcGVuX2Vycm5vIEdldExhc3RFcnJvcigp CisjZWxzZSAvKiBfV0lOMzIgKi8KICNkZWZpbmUgZGxlcnJvcigpICJObyBzdXBwb3J0IGZvciBk eW5hbWljIGxvYWRpbmcgKHN0YXRpYyBidWlsZD8pIgotI2VuZGlmCi0jZW5kaWYKKyNkZWZpbmUg RExFUlJPUl9HRU5FUkFURShlcnJtc2csIGVycm9yX251bWJlcikgZXJybXNnPSBkbGVycm9yKCkK KyNkZWZpbmUgZGxvcGVuX2Vycm5vIGVycm5vCisjZW5kaWYgLyogX1dJTjMyICovCisjZWxzZSAv KiBIQVZFX0RMRVJST1IgKi8KKyNkZWZpbmUgRExFUlJPUl9HRU5FUkFURShlcnJtc2csIGVycm9y X251bWJlcikgZXJybXNnPSBkbGVycm9yKCkKKyNkZWZpbmUgZGxvcGVuX2Vycm5vIGVycm5vCisj ZW5kaWYgLyogSEFWRV9ETEVSUk9SICovCiAKIAogLyoKCj09PSBtb2RpZmllZCBmaWxlICdteXNx bC10ZXN0L2V4dHJhL3JwbF90ZXN0cy9ycGxfZXh0cmFfY29sX21hc3Rlci50ZXN0JwotLS0gYS9t eXNxbC10ZXN0L2V4dHJhL3JwbF90ZXN0cy9ycGxfZXh0cmFfY29sX21hc3Rlci50ZXN0CTIwMTEt MDgtMTkgMTM6MDQ6MjggKzAwMDAKKysrIGIvbXlzcWwtdGVzdC9leHRyYS9ycGxfdGVzdHMvcnBs X2V4dHJhX2NvbF9tYXN0ZXIudGVzdAkyMDEyLTAxLTE2IDEwOjE1OjM2ICswMDAwCkBAIC01OSw2 ICs1OSw4IEBACiAjVkFSQ0hBUihNKSAgICAKICMKIAorLS1sZXQgJF9zYXZlZF9jb25uPSAkQ1VS UkVOVF9DT05ORUNUSU9OCisKIGxldCAkYmluZm9ybWF0ID0gYFNIT1cgVkFSSUFCTEVTIExJS0Ug JyViaW5sb2dfZm9ybWF0JSdgOwogLS1lY2hvCiAtLWVjaG8gKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKQEAgLTEwNTYsMyArMTA1OCw1 IEBAIFNFTEVDVCAqIEZST00gdDE7IAogLS0gY29ubmVjdGlvbiBtYXN0ZXIKIERST1AgVEFCTEUg dDE7IAogLS0gc3luY19zbGF2ZV93aXRoX21hc3RlcgorCistLWNvbm5lY3Rpb24gJF9zYXZlZF9j b25uCgo9PT0gbW9kaWZpZWQgZmlsZSAnbXlzcWwtdGVzdC9leHRyYS9ycGxfdGVzdHMvcnBsX3N0 YXJ0X3N0b3Bfc2xhdmUudGVzdCcKLS0tIGEvbXlzcWwtdGVzdC9leHRyYS9ycGxfdGVzdHMvcnBs X3N0YXJ0X3N0b3Bfc2xhdmUudGVzdAkyMDEwLTEyLTE5IDE3OjIyOjMwICswMDAwCisrKyBiL215 c3FsLXRlc3QvZXh0cmEvcnBsX3Rlc3RzL3JwbF9zdGFydF9zdG9wX3NsYXZlLnRlc3QJMjAxMi0w MS0xNyAyMjozMjoyOSArMDAwMApAQCAtMTc3LDMgKzE3NywzNiBAQCBVTkxPQ0sgVEFCTEVTOwog LS1jb25uZWN0aW9uIG1hc3RlcgogRFJPUCBUQUJMRSB0MTsKIHN5bmNfc2xhdmVfd2l0aF9tYXN0 ZXI7CisKKyMKKyMgYnVnIzM1OTM4NjktNjQwMzUgdW5pbml0aWFsaXplZCBldmVudF9jb29yZGlu YXRlcyBpbnN0YW5jZSBjcmFzaGVzIHNlcnZlcgorIyBUZXN0aW5nIGhvdyBvdXQgb2YgdmFsaWQg cmFuZ2UgcG9zaXRpb24gdmFsdWUgaXMgaGFuZGxlZCB3aXRoIGFuIGVycm9yLgorIworCistLWNv bm5lY3Rpb24gbWFzdGVyCitSRVNFVCBNQVNURVI7CitsZXQgJG1hc3Rlcl9wb3M9IHF1ZXJ5X2dl dF92YWx1ZShTSE9XIE1BU1RFUiBTVEFUVVMsIFBvc2l0aW9uLCAxKTsKK2xldCAkbWFzdGVyX3Bv cz0gYFNFTEVDVCAkbWFzdGVyX3BvcyArIDFgOworCistLWNvbm5lY3Rpb24gc2xhdmUKKy0tc291 cmNlIGluY2x1ZGUvc3RvcF9zbGF2ZS5pbmMKKy0tcmVwbGFjZV9yZWdleCAvWzAtOV0rL01BU1RF Ul9QT1MvCitldmFsIENIQU5HRSBNQVNURVIgVE8gbWFzdGVyX2xvZ19wb3M9JG1hc3Rlcl9wb3M7 CisKK1NUQVJUIFNMQVZFOworIyBFUl9NQVNURVJfRkFUQUxfRVJST1JfUkVBRElOR19CSU5MT0cg MTIzNgorLS1sZXQgJHNsYXZlX3BhcmFtPUxhc3RfSU9fRXJybm8KKy0tbGV0ICRzbGF2ZV9wYXJh bV92YWx1ZT0xMjM2CistLXNvdXJjZSBpbmNsdWRlL3dhaXRfZm9yX3NsYXZlX3BhcmFtLmluYwor CistLWxldCAkc2xhdmVfaW9fZXJyb3JfcmVwbGFjZT0gLyBhdCBbMC05XSovIGF0IFhYWC8gL1wu XC8qbWFzdGVyLWJpbi9tYXN0ZXItYmluLworLS1sZXQgJHN0YXR1c19pdGVtcz0gTGFzdF9JT19F cnJubywgTGFzdF9JT19FcnJvcgorLS1zb3VyY2UgaW5jbHVkZS9zaG93X3NsYXZlX3N0YXR1cy5p bmMKKworLS1zb3VyY2UgaW5jbHVkZS9zdG9wX3NsYXZlLmluYworUkVTRVQgU0xBVkU7CisKKy0t Y29ubmVjdGlvbiBtYXN0ZXIKK1JFU0VUIE1BU1RFUjsKKworIyBTbGF2ZSBpcyBzdG9wcGVkIGJ5 IGJ1ZyMzNTkzODY5LTY0MDM1IHRlc3RzLgoKPT09IG1vZGlmaWVkIGZpbGUgJ215c3FsLXRlc3Qv ci9jdHlwZV9tYW55LnJlc3VsdCcKLS0tIGEvbXlzcWwtdGVzdC9yL2N0eXBlX21hbnkucmVzdWx0 CTIwMTEtMDEtMTcgMTI6MjY6MTMgKzAwMDAKKysrIGIvbXlzcWwtdGVzdC9yL2N0eXBlX21hbnku cmVzdWx0CTIwMTItMDEtMTYgMDk6MDE6NTMgKzAwMDAKQEAgLTE3NzYsMyArMTc3NiwxNCBAQCBE Uk9QIFRBQkxFIHQyOwogIwogIyBFbmQgb2YgNS41IHRlc3RzCiAjCisjCisjIEJ1ZyMxMTc2NjE0 MyA1OTE4NTogQVNTRVJUSU9OIEZBSUxFRDogKEZJWEVEID09IDEpLCBGSUxFCisjIElURU1fU1RS RlVOQy5DQywgTElORSAyNzYwCisjCitDUkVBVEUgVEFCTEUgdDEgKGEgQ0hBUigxKSBDSEFSU0VU IFVURjgpOworSU5TRVJUIElOVE8gdDEgVkFMVUVTICgnYScpLCAoJ2InKTsKK0NSRUFURSBUQUJM RSB0MiAoYSBCSU5BUlkoMSkpOworU0VMRUNUICogRlJPTSB0MiBXSEVSRSBhPShTRUxFQ1QgYSBG Uk9NIHQxKSBBTkQgYT1fTEFUSU4xJ3gnOworRVJST1IgMjEwMDA6IFN1YnF1ZXJ5IHJldHVybnMg bW9yZSB0aGFuIDEgcm93CitEUk9QIFRBQkxFIHQyOworRFJPUCBUQUJMRSB0MTsKCj09PSBtb2Rp ZmllZCBmaWxlICdteXNxbC10ZXN0L3IvZnVuY190aW1lLnJlc3VsdCcKLS0tIGEvbXlzcWwtdGVz dC9yL2Z1bmNfdGltZS5yZXN1bHQJMjAxMi0wMS0xMyAwODozNjo0MyArMDAwMAorKysgYi9teXNx bC10ZXN0L3IvZnVuY190aW1lLnJlc3VsdAkyMDEyLTAxLTE3IDA4OjIzOjU3ICswMDAwCkBAIC0x NTEyLDYgKzE1MTIsNDAgQEAgZHJvcCB0YWJsZSB0MTsKICMgU3RhcnQgb2YgNS42IHRlc3RzCiAj CiAjCisjIEJVRyMxMzU0NTIzNiAtIEFTU0VSVCBJTiBTRUNfU0lOQ0VfRVBPQ0gKKyMKK0NSRUFU RSBUQUJMRSB0MSAoYSBUSU1FIE5PVCBOVUxMKTsKK0lOU0VSVCBJTlRPIHQxIFZBTFVFUyAoJzA0 OjM5OjI0Jyk7CitJTlNFUlQgSU5UTyB0MSBWQUxVRVMgKCcwMDoyMDowOScpOworU0VMRUNUIGEg RlJPTSB0MQorV0hFUkUgQ09OVkVSVF9UWihUSU1FU1RBTVBBREQoWUVBUiAsIGEsIFRJTUVTVEFN UCgnMDAwMC0wMC0wMCcpKSwKKycrMDA6MDAnLCcrMDA6MDAnKTsKK2EKK1NFTEVDVCBhIEZST00g dDEKK1dIRVJFIENPTlZFUlRfVFooVElNRVNUQU1QQUREKFlFQVIsIGEsIERBVEUoJzAwMDAtMDAt MDAnKSksCisnKzAwOjAwJywnKzAwOjAwJyk7CithCitEUk9QIFRBQkxFIHQxOworQ1JFQVRFIFRB QkxFIHQxIChhIFRJTUUpOworSU5TRVJUIElOVE8gdDEgVkFMVUVTICgnMDA6MDA6MDAnKTsKK1NF TEVDVCAqIEZST00gdDEgV0hFUkUgVElNRVNUQU1QRElGRihNT05USCwgYSwgVElNRVNUQU1QKCcw MDAwLTAwLTAxJykpIElTIE5VTEw7CithCiswMDowMDowMAorV2FybmluZ3M6CitXYXJuaW5nCTEy OTIJSW5jb3JyZWN0IGRhdGV0aW1lIHZhbHVlOiAnMDAwMC0wMC0wMScKK1NFTEVDVCAqIEZST00g dDEgV0hFUkUgVElNRVNUQU1QRElGRihNT05USCwgYSwgVElNRVNUQU1QJzAwMDAtMDAtMDEgMDA6 MDA6MDAnKSBJUyBOVUxMOworYQorMDA6MDA6MDAKK1NFTEVDVCAqIEZST00gdDEgV0hFUkUgVElN RVNUQU1QRElGRihNT05USCwgYSwgREFURSgnMDAwMC0wMC0wMScpKSBJUyBOVUxMOworYQorMDA6 MDA6MDAKK1dhcm5pbmdzOgorV2FybmluZwkxMjkyCUluY29ycmVjdCBkYXRldGltZSB2YWx1ZTog JzAwMDAtMDAtMDEnCitTRUxFQ1QgKiBGUk9NIHQxIFdIRVJFIFRJTUVTVEFNUERJRkYoTU9OVEgs IGEsIERBVEUnMDAwMC0wMC0wMScpIElTIE5VTEw7CithCiswMDowMDowMAorRFJPUCBUQUJMRSB0 MTsKKyMKICMgQlVHIzEzMzU0Mzg3IC0gQ1JBU0ggSU4gSU4gTVlfREVDSU1BTDo6T1BFUkFUT1Ig Rk9SIFZJRVcgQU5EIEZVTkNUSU9OIFVOSVhfVElNRVNUQU1QIAogIyBQYXJ0MiAoNS42KQogQ1JF QVRFIFRBQkxFIHQxIChhIFZBUkNIQVIoMzIpIE5PVCBOVUxMKTsKCj09PSBtb2RpZmllZCBmaWxl ICdteXNxbC10ZXN0L3IvcGFydGl0aW9uLnJlc3VsdCcKLS0tIGEvbXlzcWwtdGVzdC9yL3BhcnRp dGlvbi5yZXN1bHQJMjAxMS0xMC0wNiAwOTo1MDo0MCArMDAwMAorKysgYi9teXNxbC10ZXN0L3Iv cGFydGl0aW9uLnJlc3VsdAkyMDEyLTAxLTE4IDEzOjAzOjEwICswMDAwCkBAIC0yNDI5LDMgKzI0 MjksMjUgQEAgU0VMRUNUICogRlJPTSB2dG1wOwogMQogRFJPUCBWSUVXIHZ0bXA7CiBEUk9QIFRB QkxFIHQxOworIworIyBCdWcjMTM1ODA3NzUgQVNTRVJUSU9OIEZBSUxFRDogUkVDT1JEX0xFTkdU SCA9PSBNX1JFQ09SRF9MRU5HVEgsCisjIEZJTEUgRklMRVNPUlRfVVRJTFMuQ0MKKyMKK0NSRUFU RSBUQUJMRSB0MSAoCithIElOVCBQUklNQVJZIEtFWSwKK2IgSU5ULAorYyBDSEFSKDEpLAorZCBJ TlQsCitLRVkgKGMsZCkKKykgUEFSVElUSU9OIEJZIEtFWSAoKSBQQVJUSVRJT05TIDE7CitJTlNF UlQgSU5UTyB0MSBWQUxVRVMgKDEsMSwnYScsMSksICgyLDIsJ2EnLDEpOworU0VMRUNUIDEgRlJP TSB0MSBXSEVSRSAxIElOCisoU0VMRUNUICBncm91cF9jb25jYXQoYikKK0ZST00gdDEKK1dIRVJF IGMgPiBnZW9tZnJvbXRleHQoJ3BvaW50KDEgMSknKQorR1JPVVAgQlkgYgorKTsKKzEKKzEKKzEK K0RST1AgVEFCTEUgdDE7Cgo9PT0gbW9kaWZpZWQgZmlsZSAnbXlzcWwtdGVzdC9yL3VzZXJfdmFy LnJlc3VsdCcKLS0tIGEvbXlzcWwtdGVzdC9yL3VzZXJfdmFyLnJlc3VsdAkyMDExLTEwLTI3IDA4 OjA4OjQ2ICswMDAwCisrKyBiL215c3FsLXRlc3Qvci91c2VyX3Zhci5yZXN1bHQJMjAxMi0wMS0x NyAxNDo0NDo0OSArMDAwMApAQCAtNDkzLDMgKzQ5MywyNiBAQCBHUk9VUCBCWSBAYjo9KFNFTEVD VCBDT1VOVCgqKSA+IHQyLmEpOwogQGE6PU1JTih0MS5hKQogMQogRFJPUCBUQUJMRSB0MTsKK0NS RUFURSBUQUJMRSB0MShhIElOVCkgRU5HSU5FPUlubm9EQjsKK0lOU0VSVCBJTlRPIHQxIFZBTFVF UyAoMCk7CitTRUxFQ1QgRElTVElOQ1QgUE9XKENPVU5UKCopLCBAYTo9KFNFTEVDVCAxIEZST00g dDEgTEVGVCBKT0lOIHQxIEFTIHQyIE9OIEBhKSkKK0FTIGIgRlJPTSB0MSBHUk9VUCBCWSBhOwor YgorMQorU0VMRUNUIEBhOworQGEKKzEKK0RST1AgVEFCTEUgdDE7CitDUkVBVEUgVEFCTEUgdDEo ZjEgSU5ULCBmMiBJTlQpOworSU5TRVJUIElOVE8gdDEgVkFMVUVTICgxLDIpLCgyLDMpLCgzLDEp OworQ1JFQVRFIFRBQkxFIHQyKGEgSU5UKTsKK0lOU0VSVCBJTlRPIHQyIFZBTFVFUyAoMSk7CitT RVQgQHZhcj1OVUxMOworU0VMRUNUIEB2YXI6PShTRUxFQ1QgZjIgRlJPTSB0MiBXSEVSRSBAdmFy KSBGUk9NIHQxIEdST1VQIEJZIGYxIE9SREVSIEJZIGYyIERFU0MKK0xJTUlUIDE7CitAdmFyOj0o U0VMRUNUIGYyIEZST00gdDIgV0hFUkUgQHZhcikKK05VTEwKK1NFTEVDVCBAdmFyOworQHZhcgor TlVMTAorRFJPUCBUQUJMRSB0MSwgdDI7Cgo9PT0gbW9kaWZpZWQgZmlsZSAnbXlzcWwtdGVzdC9z dWl0ZS9mdW5jc18xL3IvaXNfY29sdW1uc19teXNxbC5yZXN1bHQnCi0tLSBhL215c3FsLXRlc3Qv c3VpdGUvZnVuY3NfMS9yL2lzX2NvbHVtbnNfbXlzcWwucmVzdWx0CTIwMTEtMTItMDYgMDk6MTg6 NTUgKzAwMDAKKysrIGIvbXlzcWwtdGVzdC9zdWl0ZS9mdW5jc18xL3IvaXNfY29sdW1uc19teXNx bC5yZXN1bHQJMjAxMi0wMS0xNyAxMzoxODowOCArMDAwMApAQCAtOTcsMjAgKzk3LDIwIEBAIGRl ZglteXNxbAlob3N0CVNlbGVjdF9wcml2CTMJTglOTwllbnVtCTEKIGRlZglteXNxbAlob3N0CVNo b3dfdmlld19wcml2CTE2CU4JTk8JZW51bQkxCTMJTlVMTAlOVUxMCU5VTEwJdXRmOAl1dGY4X2dl bmVyYWxfY2kJZW51bSgnTicsJ1knKQkJCXNlbGVjdCxpbnNlcnQsdXBkYXRlLHJlZmVyZW5jZXMJ CiBkZWYJbXlzcWwJaG9zdAlUcmlnZ2VyX3ByaXYJMjAJTglOTwllbnVtCTEJMwlOVUxMCU5VTEwJ TlVMTAl1dGY4CXV0ZjhfZ2VuZXJhbF9jaQllbnVtKCdOJywnWScpCQkJc2VsZWN0LGluc2VydCx1 cGRhdGUscmVmZXJlbmNlcwkKIGRlZglteXNxbAlob3N0CVVwZGF0ZV9wcml2CTUJTglOTwllbnVt CTEJMwlOVUxMCU5VTEwJTlVMTAl1dGY4CXV0ZjhfZ2VuZXJhbF9jaQllbnVtKCdOJywnWScpCQkJ c2VsZWN0LGluc2VydCx1cGRhdGUscmVmZXJlbmNlcwkKLWRlZglteXNxbAlpbm5vZGJfaW5kZXhf c3RhdHMJZGF0YWJhc2VfbmFtZQkxCU5VTEwJTk8JdmFyY2hhcgk2NAkxOTIJTlVMTAlOVUxMCU5V TEwJdXRmOAl1dGY4X2dlbmVyYWxfY2kJdmFyY2hhcig2NCkJUFJJCQlzZWxlY3QsaW5zZXJ0LHVw ZGF0ZSxyZWZlcmVuY2VzCQotZGVmCW15c3FsCWlubm9kYl9pbmRleF9zdGF0cwlpbmRleF9uYW1l CTMJTlVMTAlOTwl2YXJjaGFyCTY0CTE5MglOVUxMCU5VTEwJTlVMTAl1dGY4CXV0ZjhfZ2VuZXJh bF9jaQl2YXJjaGFyKDY0KQlQUkkJCXNlbGVjdCxpbnNlcnQsdXBkYXRlLHJlZmVyZW5jZXMJCitk ZWYJbXlzcWwJaW5ub2RiX2luZGV4X3N0YXRzCWRhdGFiYXNlX25hbWUJMQlOVUxMCU5PCXZhcmNo YXIJNjQJMTkyCU5VTEwJTlVMTAlOVUxMCXV0ZjgJdXRmOF9iaW4JdmFyY2hhcig2NCkJUFJJCQlz ZWxlY3QsaW5zZXJ0LHVwZGF0ZSxyZWZlcmVuY2VzCQorZGVmCW15c3FsCWlubm9kYl9pbmRleF9z dGF0cwlpbmRleF9uYW1lCTMJTlVMTAlOTwl2YXJjaGFyCTY0CTE5MglOVUxMCU5VTEwJTlVMTAl1 dGY4CXV0ZjhfYmluCXZhcmNoYXIoNjQpCVBSSQkJc2VsZWN0LGluc2VydCx1cGRhdGUscmVmZXJl bmNlcwkKIGRlZglteXNxbAlpbm5vZGJfaW5kZXhfc3RhdHMJbGFzdF91cGRhdGUJNAlDVVJSRU5U X1RJTUVTVEFNUAlOTwl0aW1lc3RhbXAJTlVMTAlOVUxMCU5VTEwJTlVMTAkwCU5VTEwJTlVMTAl0 aW1lc3RhbXAJCW9uIHVwZGF0ZSBDVVJSRU5UX1RJTUVTVEFNUAlzZWxlY3QsaW5zZXJ0LHVwZGF0 ZSxyZWZlcmVuY2VzCQogZGVmCW15c3FsCWlubm9kYl9pbmRleF9zdGF0cwlzYW1wbGVfc2l6ZQk3 CU5VTEwJWUVTCWJpZ2ludAlOVUxMCU5VTEwJMjAJMAlOVUxMCU5VTEwJTlVMTAliaWdpbnQoMjAp IHVuc2lnbmVkCQkJc2VsZWN0LGluc2VydCx1cGRhdGUscmVmZXJlbmNlcwkKLWRlZglteXNxbAlp bm5vZGJfaW5kZXhfc3RhdHMJc3RhdF9kZXNjcmlwdGlvbgk4CU5VTEwJTk8JdmFyY2hhcgkxMDI0 CTMwNzIJTlVMTAlOVUxMCU5VTEwJdXRmOAl1dGY4X2dlbmVyYWxfY2kJdmFyY2hhcigxMDI0KQkJ CXNlbGVjdCxpbnNlcnQsdXBkYXRlLHJlZmVyZW5jZXMJCi1kZWYJbXlzcWwJaW5ub2RiX2luZGV4 X3N0YXRzCXN0YXRfbmFtZQk1CU5VTEwJTk8JdmFyY2hhcgk2NAkxOTIJTlVMTAlOVUxMCU5VTEwJ dXRmOAl1dGY4X2dlbmVyYWxfY2kJdmFyY2hhcig2NCkJUFJJCQlzZWxlY3QsaW5zZXJ0LHVwZGF0 ZSxyZWZlcmVuY2VzCQorZGVmCW15c3FsCWlubm9kYl9pbmRleF9zdGF0cwlzdGF0X2Rlc2NyaXB0 aW9uCTgJTlVMTAlOTwl2YXJjaGFyCTEwMjQJMzA3MglOVUxMCU5VTEwJTlVMTAl1dGY4CXV0Zjhf YmluCXZhcmNoYXIoMTAyNCkJCQlzZWxlY3QsaW5zZXJ0LHVwZGF0ZSxyZWZlcmVuY2VzCQorZGVm CW15c3FsCWlubm9kYl9pbmRleF9zdGF0cwlzdGF0X25hbWUJNQlOVUxMCU5PCXZhcmNoYXIJNjQJ MTkyCU5VTEwJTlVMTAlOVUxMCXV0ZjgJdXRmOF9iaW4JdmFyY2hhcig2NCkJUFJJCQlzZWxlY3Qs aW5zZXJ0LHVwZGF0ZSxyZWZlcmVuY2VzCQogZGVmCW15c3FsCWlubm9kYl9pbmRleF9zdGF0cwlz dGF0X3ZhbHVlCTYJTlVMTAlOTwliaWdpbnQJTlVMTAlOVUxMCTIwCTAJTlVMTAlOVUxMCU5VTEwJ YmlnaW50KDIwKSB1bnNpZ25lZAkJCXNlbGVjdCxpbnNlcnQsdXBkYXRlLHJlZmVyZW5jZXMJCi1k ZWYJbXlzcWwJaW5ub2RiX2luZGV4X3N0YXRzCXRhYmxlX25hbWUJMglOVUxMCU5PCXZhcmNoYXIJ NjQJMTkyCU5VTEwJTlVMTAlOVUxMCXV0ZjgJdXRmOF9nZW5lcmFsX2NpCXZhcmNoYXIoNjQpCVBS SQkJc2VsZWN0LGluc2VydCx1cGRhdGUscmVmZXJlbmNlcwkKK2RlZglteXNxbAlpbm5vZGJfaW5k ZXhfc3RhdHMJdGFibGVfbmFtZQkyCU5VTEwJTk8JdmFyY2hhcgk2NAkxOTIJTlVMTAlOVUxMCU5V TEwJdXRmOAl1dGY4X2Jpbgl2YXJjaGFyKDY0KQlQUkkJCXNlbGVjdCxpbnNlcnQsdXBkYXRlLHJl ZmVyZW5jZXMJCiBkZWYJbXlzcWwJaW5ub2RiX3RhYmxlX3N0YXRzCWNsdXN0ZXJlZF9pbmRleF9z aXplCTUJTlVMTAlOTwliaWdpbnQJTlVMTAlOVUxMCTIwCTAJTlVMTAlOVUxMCU5VTEwJYmlnaW50 KDIwKSB1bnNpZ25lZAkJCXNlbGVjdCxpbnNlcnQsdXBkYXRlLHJlZmVyZW5jZXMJCi1kZWYJbXlz cWwJaW5ub2RiX3RhYmxlX3N0YXRzCWRhdGFiYXNlX25hbWUJMQlOVUxMCU5PCXZhcmNoYXIJNjQJ MTkyCU5VTEwJTlVMTAlOVUxMCXV0ZjgJdXRmOF9nZW5lcmFsX2NpCXZhcmNoYXIoNjQpCVBSSQkJ c2VsZWN0LGluc2VydCx1cGRhdGUscmVmZXJlbmNlcwkKK2RlZglteXNxbAlpbm5vZGJfdGFibGVf c3RhdHMJZGF0YWJhc2VfbmFtZQkxCU5VTEwJTk8JdmFyY2hhcgk2NAkxOTIJTlVMTAlOVUxMCU5V TEwJdXRmOAl1dGY4X2Jpbgl2YXJjaGFyKDY0KQlQUkkJCXNlbGVjdCxpbnNlcnQsdXBkYXRlLHJl ZmVyZW5jZXMJCiBkZWYJbXlzcWwJaW5ub2RiX3RhYmxlX3N0YXRzCWxhc3RfdXBkYXRlCTMJQ1VS UkVOVF9USU1FU1RBTVAJTk8JdGltZXN0YW1wCU5VTEwJTlVMTAlOVUxMCU5VTEwJMAlOVUxMCU5V TEwJdGltZXN0YW1wCQlvbiB1cGRhdGUgQ1VSUkVOVF9USU1FU1RBTVAJc2VsZWN0LGluc2VydCx1 cGRhdGUscmVmZXJlbmNlcwkKIGRlZglteXNxbAlpbm5vZGJfdGFibGVfc3RhdHMJbl9yb3dzCTQJ TlVMTAlOTwliaWdpbnQJTlVMTAlOVUxMCTIwCTAJTlVMTAlOVUxMCU5VTEwJYmlnaW50KDIwKSB1 bnNpZ25lZAkJCXNlbGVjdCxpbnNlcnQsdXBkYXRlLHJlZmVyZW5jZXMJCiBkZWYJbXlzcWwJaW5u b2RiX3RhYmxlX3N0YXRzCXN1bV9vZl9vdGhlcl9pbmRleF9zaXplcwk2CU5VTEwJTk8JYmlnaW50 CU5VTEwJTlVMTAkyMAkwCU5VTEwJTlVMTAlOVUxMCWJpZ2ludCgyMCkgdW5zaWduZWQJCQlzZWxl Y3QsaW5zZXJ0LHVwZGF0ZSxyZWZlcmVuY2VzCQotZGVmCW15c3FsCWlubm9kYl90YWJsZV9zdGF0 cwl0YWJsZV9uYW1lCTIJTlVMTAlOTwl2YXJjaGFyCTY0CTE5MglOVUxMCU5VTEwJTlVMTAl1dGY4 CXV0ZjhfZ2VuZXJhbF9jaQl2YXJjaGFyKDY0KQlQUkkJCXNlbGVjdCxpbnNlcnQsdXBkYXRlLHJl ZmVyZW5jZXMJCitkZWYJbXlzcWwJaW5ub2RiX3RhYmxlX3N0YXRzCXRhYmxlX25hbWUJMglOVUxM CU5PCXZhcmNoYXIJNjQJMTkyCU5VTEwJTlVMTAlOVUxMCXV0ZjgJdXRmOF9iaW4JdmFyY2hhcig2 NCkJUFJJCQlzZWxlY3QsaW5zZXJ0LHVwZGF0ZSxyZWZlcmVuY2VzCQogZGVmCW15c3FsCW5kYl9i aW5sb2dfaW5kZXgJZGVsZXRlcwk2CU5VTEwJTk8JYmlnaW50CU5VTEwJTlVMTAkyMAkwCU5VTEwJ TlVMTAlOVUxMCWJpZ2ludCgyMCkgdW5zaWduZWQJCQlzZWxlY3QsaW5zZXJ0LHVwZGF0ZSxyZWZl cmVuY2VzCQogZGVmCW15c3FsCW5kYl9iaW5sb2dfaW5kZXgJZXBvY2gJMwlOVUxMCU5PCWJpZ2lu dAlOVUxMCU5VTEwJMjAJMAlOVUxMCU5VTEwJTlVMTAliaWdpbnQoMjApIHVuc2lnbmVkCVBSSQkJ c2VsZWN0LGluc2VydCx1cGRhdGUscmVmZXJlbmNlcwkKIGRlZglteXNxbAluZGJfYmlubG9nX2lu ZGV4CUZpbGUJMglOVUxMCU5PCXZhcmNoYXIJMjU1CTI1NQlOVUxMCU5VTEwJTlVMTAlsYXRpbjEJ bGF0aW4xX3N3ZWRpc2hfY2kJdmFyY2hhcigyNTUpCQkJc2VsZWN0LGluc2VydCx1cGRhdGUscmVm ZXJlbmNlcwkKQEAgLTMxNyw2ICszMTcsNyBAQCBPUkRFUiBCWSBDSEFSQUNURVJfU0VUX05BTUUs IENPTExBVElPTl9OCiBDT0xfQ01MCURBVEFfVFlQRQlDSEFSQUNURVJfU0VUX05BTUUJQ09MTEFU SU9OX05BTUUKIDMuMDAwMAljaGFyCXV0ZjgJdXRmOF9iaW4KIDMuMDAwMAllbnVtCXV0ZjgJdXRm OF9iaW4KKzMuMDAwMAl2YXJjaGFyCXV0ZjgJdXRmOF9iaW4KIDMuMDAwMAljaGFyCXV0ZjgJdXRm OF9nZW5lcmFsX2NpCiAzLjAwMDAJZW51bQl1dGY4CXV0ZjhfZ2VuZXJhbF9jaQogMy4wMDAwCXNl dAl1dGY4CXV0ZjhfZ2VuZXJhbF9jaQpAQCAtNDUwLDE2ICs0NTEsMTYgQEAgTlVMTAlteXNxbAlo ZWxwX3RvcGljCWhlbHBfY2F0ZWdvcnlfaWQJcwogMy4wMDAwCW15c3FsCWhvc3QJQWx0ZXJfcm91 dGluZV9wcml2CWVudW0JMQkzCXV0ZjgJdXRmOF9nZW5lcmFsX2NpCWVudW0oJ04nLCdZJykKIDMu MDAwMAlteXNxbAlob3N0CUV4ZWN1dGVfcHJpdgllbnVtCTEJMwl1dGY4CXV0ZjhfZ2VuZXJhbF9j aQllbnVtKCdOJywnWScpCiAzLjAwMDAJbXlzcWwJaG9zdAlUcmlnZ2VyX3ByaXYJZW51bQkxCTMJ dXRmOAl1dGY4X2dlbmVyYWxfY2kJZW51bSgnTicsJ1knKQotMy4wMDAwCW15c3FsCWlubm9kYl9p bmRleF9zdGF0cwlkYXRhYmFzZV9uYW1lCXZhcmNoYXIJNjQJMTkyCXV0ZjgJdXRmOF9nZW5lcmFs X2NpCXZhcmNoYXIoNjQpCi0zLjAwMDAJbXlzcWwJaW5ub2RiX2luZGV4X3N0YXRzCXRhYmxlX25h bWUJdmFyY2hhcgk2NAkxOTIJdXRmOAl1dGY4X2dlbmVyYWxfY2kJdmFyY2hhcig2NCkKLTMuMDAw MAlteXNxbAlpbm5vZGJfaW5kZXhfc3RhdHMJaW5kZXhfbmFtZQl2YXJjaGFyCTY0CTE5Mgl1dGY4 CXV0ZjhfZ2VuZXJhbF9jaQl2YXJjaGFyKDY0KQorMy4wMDAwCW15c3FsCWlubm9kYl9pbmRleF9z dGF0cwlkYXRhYmFzZV9uYW1lCXZhcmNoYXIJNjQJMTkyCXV0ZjgJdXRmOF9iaW4JdmFyY2hhcig2 NCkKKzMuMDAwMAlteXNxbAlpbm5vZGJfaW5kZXhfc3RhdHMJdGFibGVfbmFtZQl2YXJjaGFyCTY0 CTE5Mgl1dGY4CXV0ZjhfYmluCXZhcmNoYXIoNjQpCiszLjAwMDAJbXlzcWwJaW5ub2RiX2luZGV4 X3N0YXRzCWluZGV4X25hbWUJdmFyY2hhcgk2NAkxOTIJdXRmOAl1dGY4X2Jpbgl2YXJjaGFyKDY0 KQogTlVMTAlteXNxbAlpbm5vZGJfaW5kZXhfc3RhdHMJbGFzdF91cGRhdGUJdGltZXN0YW1wCU5V TEwJTlVMTAlOVUxMCU5VTEwJdGltZXN0YW1wCi0zLjAwMDAJbXlzcWwJaW5ub2RiX2luZGV4X3N0 YXRzCXN0YXRfbmFtZQl2YXJjaGFyCTY0CTE5Mgl1dGY4CXV0ZjhfZ2VuZXJhbF9jaQl2YXJjaGFy KDY0KQorMy4wMDAwCW15c3FsCWlubm9kYl9pbmRleF9zdGF0cwlzdGF0X25hbWUJdmFyY2hhcgk2 NAkxOTIJdXRmOAl1dGY4X2Jpbgl2YXJjaGFyKDY0KQogTlVMTAlteXNxbAlpbm5vZGJfaW5kZXhf c3RhdHMJc3RhdF92YWx1ZQliaWdpbnQJTlVMTAlOVUxMCU5VTEwJTlVMTAliaWdpbnQoMjApIHVu c2lnbmVkCiBOVUxMCW15c3FsCWlubm9kYl9pbmRleF9zdGF0cwlzYW1wbGVfc2l6ZQliaWdpbnQJ TlVMTAlOVUxMCU5VTEwJTlVMTAliaWdpbnQoMjApIHVuc2lnbmVkCi0zLjAwMDAJbXlzcWwJaW5u b2RiX2luZGV4X3N0YXRzCXN0YXRfZGVzY3JpcHRpb24JdmFyY2hhcgkxMDI0CTMwNzIJdXRmOAl1 dGY4X2dlbmVyYWxfY2kJdmFyY2hhcigxMDI0KQotMy4wMDAwCW15c3FsCWlubm9kYl90YWJsZV9z dGF0cwlkYXRhYmFzZV9uYW1lCXZhcmNoYXIJNjQJMTkyCXV0ZjgJdXRmOF9nZW5lcmFsX2NpCXZh cmNoYXIoNjQpCi0zLjAwMDAJbXlzcWwJaW5ub2RiX3RhYmxlX3N0YXRzCXRhYmxlX25hbWUJdmFy Y2hhcgk2NAkxOTIJdXRmOAl1dGY4X2dlbmVyYWxfY2kJdmFyY2hhcig2NCkKKzMuMDAwMAlteXNx bAlpbm5vZGJfaW5kZXhfc3RhdHMJc3RhdF9kZXNjcmlwdGlvbgl2YXJjaGFyCTEwMjQJMzA3Mgl1 dGY4CXV0ZjhfYmluCXZhcmNoYXIoMTAyNCkKKzMuMDAwMAlteXNxbAlpbm5vZGJfdGFibGVfc3Rh dHMJZGF0YWJhc2VfbmFtZQl2YXJjaGFyCTY0CTE5Mgl1dGY4CXV0ZjhfYmluCXZhcmNoYXIoNjQp CiszLjAwMDAJbXlzcWwJaW5ub2RiX3RhYmxlX3N0YXRzCXRhYmxlX25hbWUJdmFyY2hhcgk2NAkx OTIJdXRmOAl1dGY4X2Jpbgl2YXJjaGFyKDY0KQogTlVMTAlteXNxbAlpbm5vZGJfdGFibGVfc3Rh dHMJbGFzdF91cGRhdGUJdGltZXN0YW1wCU5VTEwJTlVMTAlOVUxMCU5VTEwJdGltZXN0YW1wCiBO VUxMCW15c3FsCWlubm9kYl90YWJsZV9zdGF0cwluX3Jvd3MJYmlnaW50CU5VTEwJTlVMTAlOVUxM CU5VTEwJYmlnaW50KDIwKSB1bnNpZ25lZAogTlVMTAlteXNxbAlpbm5vZGJfdGFibGVfc3RhdHMJ Y2x1c3RlcmVkX2luZGV4X3NpemUJYmlnaW50CU5VTEwJTlVMTAlOVUxMCU5VTEwJYmlnaW50KDIw KSB1bnNpZ25lZAoKPT09IG1vZGlmaWVkIGZpbGUgJ215c3FsLXRlc3Qvc3VpdGUvZnVuY3NfMS9y L2lzX2NvbHVtbnNfbXlzcWxfZW1iZWRkZWQucmVzdWx0JwotLS0gYS9teXNxbC10ZXN0L3N1aXRl L2Z1bmNzXzEvci9pc19jb2x1bW5zX215c3FsX2VtYmVkZGVkLnJlc3VsdAkyMDExLTEyLTA2IDA5 OjE4OjU1ICswMDAwCisrKyBiL215c3FsLXRlc3Qvc3VpdGUvZnVuY3NfMS9yL2lzX2NvbHVtbnNf bXlzcWxfZW1iZWRkZWQucmVzdWx0CTIwMTItMDEtMTcgMTM6MTg6MDggKzAwMDAKQEAgLTk3LDIw ICs5NywyMCBAQCBkZWYJbXlzcWwJaG9zdAlTZWxlY3RfcHJpdgkzCU4JTk8JZW51bQkxCiBkZWYJ bXlzcWwJaG9zdAlTaG93X3ZpZXdfcHJpdgkxNglOCU5PCWVudW0JMQkzCU5VTEwJTlVMTAlOVUxM CXV0ZjgJdXRmOF9nZW5lcmFsX2NpCWVudW0oJ04nLCdZJykJCQkJCiBkZWYJbXlzcWwJaG9zdAlU cmlnZ2VyX3ByaXYJMjAJTglOTwllbnVtCTEJMwlOVUxMCU5VTEwJTlVMTAl1dGY4CXV0ZjhfZ2Vu ZXJhbF9jaQllbnVtKCdOJywnWScpCQkJCQogZGVmCW15c3FsCWhvc3QJVXBkYXRlX3ByaXYJNQlO CU5PCWVudW0JMQkzCU5VTEwJTlVMTAlOVUxMCXV0ZjgJdXRmOF9nZW5lcmFsX2NpCWVudW0oJ04n LCdZJykJCQkJCi1kZWYJbXlzcWwJaW5ub2RiX2luZGV4X3N0YXRzCWRhdGFiYXNlX25hbWUJMQlO VUxMCU5PCXZhcmNoYXIJNjQJMTkyCU5VTEwJTlVMTAlOVUxMCXV0ZjgJdXRmOF9nZW5lcmFsX2Np CXZhcmNoYXIoNjQpCVBSSQkJCQotZGVmCW15c3FsCWlubm9kYl9pbmRleF9zdGF0cwlpbmRleF9u YW1lCTMJTlVMTAlOTwl2YXJjaGFyCTY0CTE5MglOVUxMCU5VTEwJTlVMTAl1dGY4CXV0ZjhfZ2Vu ZXJhbF9jaQl2YXJjaGFyKDY0KQlQUkkJCQkKK2RlZglteXNxbAlpbm5vZGJfaW5kZXhfc3RhdHMJ ZGF0YWJhc2VfbmFtZQkxCU5VTEwJTk8JdmFyY2hhcgk2NAkxOTIJTlVMTAlOVUxMCU5VTEwJdXRm OAl1dGY4X2Jpbgl2YXJjaGFyKDY0KQlQUkkJCQkKK2RlZglteXNxbAlpbm5vZGJfaW5kZXhfc3Rh dHMJaW5kZXhfbmFtZQkzCU5VTEwJTk8JdmFyY2hhcgk2NAkxOTIJTlVMTAlOVUxMCU5VTEwJdXRm OAl1dGY4X2Jpbgl2YXJjaGFyKDY0KQlQUkkJCQkKIGRlZglteXNxbAlpbm5vZGJfaW5kZXhfc3Rh dHMJbGFzdF91cGRhdGUJNAlDVVJSRU5UX1RJTUVTVEFNUAlOTwl0aW1lc3RhbXAJTlVMTAlOVUxM CU5VTEwJTlVMTAkwCU5VTEwJTlVMTAl0aW1lc3RhbXAJCW9uIHVwZGF0ZSBDVVJSRU5UX1RJTUVT VEFNUAkJCiBkZWYJbXlzcWwJaW5ub2RiX2luZGV4X3N0YXRzCXNhbXBsZV9zaXplCTcJTlVMTAlZ RVMJYmlnaW50CU5VTEwJTlVMTAkyMAkwCU5VTEwJTlVMTAlOVUxMCWJpZ2ludCgyMCkgdW5zaWdu ZWQJCQkJCi1kZWYJbXlzcWwJaW5ub2RiX2luZGV4X3N0YXRzCXN0YXRfZGVzY3JpcHRpb24JOAlO VUxMCU5PCXZhcmNoYXIJMTAyNAkzMDcyCU5VTEwJTlVMTAlOVUxMCXV0ZjgJdXRmOF9nZW5lcmFs X2NpCXZhcmNoYXIoMTAyNCkJCQkJCi1kZWYJbXlzcWwJaW5ub2RiX2luZGV4X3N0YXRzCXN0YXRf bmFtZQk1CU5VTEwJTk8JdmFyY2hhcgk2NAkxOTIJTlVMTAlOVUxMCU5VTEwJdXRmOAl1dGY4X2dl bmVyYWxfY2kJdmFyY2hhcig2NCkJUFJJCQkJCitkZWYJbXlzcWwJaW5ub2RiX2luZGV4X3N0YXRz CXN0YXRfZGVzY3JpcHRpb24JOAlOVUxMCU5PCXZhcmNoYXIJMTAyNAkzMDcyCU5VTEwJTlVMTAlO VUxMCXV0ZjgJdXRmOF9iaW4JdmFyY2hhcigxMDI0KQkJCQkKK2RlZglteXNxbAlpbm5vZGJfaW5k ZXhfc3RhdHMJc3RhdF9uYW1lCTUJTlVMTAlOTwl2YXJjaGFyCTY0CTE5MglOVUxMCU5VTEwJTlVM TAl1dGY4CXV0ZjhfYmluCXZhcmNoYXIoNjQpCVBSSQkJCQogZGVmCW15c3FsCWlubm9kYl9pbmRl eF9zdGF0cwlzdGF0X3ZhbHVlCTYJTlVMTAlOTwliaWdpbnQJTlVMTAlOVUxMCTIwCTAJTlVMTAlO VUxMCU5VTEwJYmlnaW50KDIwKSB1bnNpZ25lZAkJCQkKLWRlZglteXNxbAlpbm5vZGJfaW5kZXhf c3RhdHMJdGFibGVfbmFtZQkyCU5VTEwJTk8JdmFyY2hhcgk2NAkxOTIJTlVMTAlOVUxMCU5VTEwJ dXRmOAl1dGY4X2dlbmVyYWxfY2kJdmFyY2hhcig2NCkJUFJJCQkJCitkZWYJbXlzcWwJaW5ub2Ri X2luZGV4X3N0YXRzCXRhYmxlX25hbWUJMglOVUxMCU5PCXZhcmNoYXIJNjQJMTkyCU5VTEwJTlVM TAlOVUxMCXV0ZjgJdXRmOF9iaW4JdmFyY2hhcig2NCkJUFJJCQkJCiBkZWYJbXlzcWwJaW5ub2Ri X3RhYmxlX3N0YXRzCWNsdXN0ZXJlZF9pbmRleF9zaXplCTUJTlVMTAlOTwliaWdpbnQJTlVMTAlO VUxMCTIwCTAJTlVMTAlOVUxMCU5VTEwJYmlnaW50KDIwKSB1bnNpZ25lZAkJCQkKLWRlZglteXNx bAlpbm5vZGJfdGFibGVfc3RhdHMJZGF0YWJhc2VfbmFtZQkxCU5VTEwJTk8JdmFyY2hhcgk2NAkx OTIJTlVMTAlOVUxMCU5VTEwJdXRmOAl1dGY4X2dlbmVyYWxfY2kJdmFyY2hhcig2NCkJUFJJCQkJ CitkZWYJbXlzcWwJaW5ub2RiX3RhYmxlX3N0YXRzCWRhdGFiYXNlX25hbWUJMQlOVUxMCU5PCXZh cmNoYXIJNjQJMTkyCU5VTEwJTlVMTAlOVUxMCXV0ZjgJdXRmOF9iaW4JdmFyY2hhcig2NCkJUFJJ CQkJCiBkZWYJbXlzcWwJaW5ub2RiX3RhYmxlX3N0YXRzCWxhc3RfdXBkYXRlCTMJQ1VSUkVOVF9U SU1FU1RBTVAJTk8JdGltZXN0YW1wCU5VTEwJTlVMTAlOVUxMCU5VTEwJMAlOVUxMCU5VTEwJdGlt ZXN0YW1wCQlvbiB1cGRhdGUgQ1VSUkVOVF9USU1FU1RBTVAJCQogZGVmCW15c3FsCWlubm9kYl90 YWJsZV9zdGF0cwluX3Jvd3MJNAlOVUxMCU5PCWJpZ2ludAlOVUxMCU5VTEwJMjAJMAlOVUxMCU5V TEwJTlVMTAliaWdpbnQoMjApIHVuc2lnbmVkCQkJCQogZGVmCW15c3FsCWlubm9kYl90YWJsZV9z dGF0cwlzdW1fb2Zfb3RoZXJfaW5kZXhfc2l6ZXMJNglOVUxMCU5PCWJpZ2ludAlOVUxMCU5VTEwJ MjAJMAlOVUxMCU5VTEwJTlVMTAliaWdpbnQoMjApIHVuc2lnbmVkCQkJCQotZGVmCW15c3FsCWlu bm9kYl90YWJsZV9zdGF0cwl0YWJsZV9uYW1lCTIJTlVMTAlOTwl2YXJjaGFyCTY0CTE5MglOVUxM CU5VTEwJTlVMTAl1dGY4CXV0ZjhfZ2VuZXJhbF9jaQl2YXJjaGFyKDY0KQlQUkkJCQkKK2RlZglt eXNxbAlpbm5vZGJfdGFibGVfc3RhdHMJdGFibGVfbmFtZQkyCU5VTEwJTk8JdmFyY2hhcgk2NAkx OTIJTlVMTAlOVUxMCU5VTEwJdXRmOAl1dGY4X2Jpbgl2YXJjaGFyKDY0KQlQUkkJCQkKIGRlZglt eXNxbAluZGJfYmlubG9nX2luZGV4CWRlbGV0ZXMJNglOVUxMCU5PCWJpZ2ludAlOVUxMCU5VTEwJ MjAJMAlOVUxMCU5VTEwJTlVMTAliaWdpbnQoMjApIHVuc2lnbmVkCQkJCQogZGVmCW15c3FsCW5k Yl9iaW5sb2dfaW5kZXgJZXBvY2gJMwlOVUxMCU5PCWJpZ2ludAlOVUxMCU5VTEwJMjAJMAlOVUxM CU5VTEwJTlVMTAliaWdpbnQoMjApIHVuc2lnbmVkCVBSSQkJCQogZGVmCW15c3FsCW5kYl9iaW5s b2dfaW5kZXgJRmlsZQkyCU5VTEwJTk8JdmFyY2hhcgkyNTUJMjU1CU5VTEwJTlVMTAlOVUxMCWxh dGluMQlsYXRpbjFfc3dlZGlzaF9jaQl2YXJjaGFyKDI1NSkJCQkJCkBAIC0zMTcsNiArMzE3LDcg QEAgT1JERVIgQlkgQ0hBUkFDVEVSX1NFVF9OQU1FLCBDT0xMQVRJT05fTgogQ09MX0NNTAlEQVRB X1RZUEUJQ0hBUkFDVEVSX1NFVF9OQU1FCUNPTExBVElPTl9OQU1FCiAzLjAwMDAJY2hhcgl1dGY4 CXV0ZjhfYmluCiAzLjAwMDAJZW51bQl1dGY4CXV0ZjhfYmluCiszLjAwMDAJdmFyY2hhcgl1dGY4 CXV0ZjhfYmluCiAzLjAwMDAJY2hhcgl1dGY4CXV0ZjhfZ2VuZXJhbF9jaQogMy4wMDAwCWVudW0J dXRmOAl1dGY4X2dlbmVyYWxfY2kKIDMuMDAwMAlzZXQJdXRmOAl1dGY4X2dlbmVyYWxfY2kKQEAg LTQ1MCwxNiArNDUxLDE2IEBAIE5VTEwJbXlzcWwJaGVscF90b3BpYwloZWxwX2NhdGVnb3J5X2lk CXMKIDMuMDAwMAlteXNxbAlob3N0CUFsdGVyX3JvdXRpbmVfcHJpdgllbnVtCTEJMwl1dGY4CXV0 ZjhfZ2VuZXJhbF9jaQllbnVtKCdOJywnWScpCiAzLjAwMDAJbXlzcWwJaG9zdAlFeGVjdXRlX3By aXYJZW51bQkxCTMJdXRmOAl1dGY4X2dlbmVyYWxfY2kJZW51bSgnTicsJ1knKQogMy4wMDAwCW15 c3FsCWhvc3QJVHJpZ2dlcl9wcml2CWVudW0JMQkzCXV0ZjgJdXRmOF9nZW5lcmFsX2NpCWVudW0o J04nLCdZJykKLTMuMDAwMAlteXNxbAlpbm5vZGJfaW5kZXhfc3RhdHMJZGF0YWJhc2VfbmFtZQl2 YXJjaGFyCTY0CTE5Mgl1dGY4CXV0ZjhfZ2VuZXJhbF9jaQl2YXJjaGFyKDY0KQotMy4wMDAwCW15 c3FsCWlubm9kYl9pbmRleF9zdGF0cwl0YWJsZV9uYW1lCXZhcmNoYXIJNjQJMTkyCXV0ZjgJdXRm OF9nZW5lcmFsX2NpCXZhcmNoYXIoNjQpCi0zLjAwMDAJbXlzcWwJaW5ub2RiX2luZGV4X3N0YXRz CWluZGV4X25hbWUJdmFyY2hhcgk2NAkxOTIJdXRmOAl1dGY4X2dlbmVyYWxfY2kJdmFyY2hhcig2 NCkKKzMuMDAwMAlteXNxbAlpbm5vZGJfaW5kZXhfc3RhdHMJZGF0YWJhc2VfbmFtZQl2YXJjaGFy CTY0CTE5Mgl1dGY4CXV0ZjhfYmluCXZhcmNoYXIoNjQpCiszLjAwMDAJbXlzcWwJaW5ub2RiX2lu ZGV4X3N0YXRzCXRhYmxlX25hbWUJdmFyY2hhcgk2NAkxOTIJdXRmOAl1dGY4X2Jpbgl2YXJjaGFy KDY0KQorMy4wMDAwCW15c3FsCWlubm9kYl9pbmRleF9zdGF0cwlpbmRleF9uYW1lCXZhcmNoYXIJ NjQJMTkyCXV0ZjgJdXRmOF9iaW4JdmFyY2hhcig2NCkKIE5VTEwJbXlzcWwJaW5ub2RiX2luZGV4 X3N0YXRzCWxhc3RfdXBkYXRlCXRpbWVzdGFtcAlOVUxMCU5VTEwJTlVMTAlOVUxMCXRpbWVzdGFt cAotMy4wMDAwCW15c3FsCWlubm9kYl9pbmRleF9zdGF0cwlzdGF0X25hbWUJdmFyY2hhcgk2NAkx OTIJdXRmOAl1dGY4X2dlbmVyYWxfY2kJdmFyY2hhcig2NCkKKzMuMDAwMAlteXNxbAlpbm5vZGJf aW5kZXhfc3RhdHMJc3RhdF9uYW1lCXZhcmNoYXIJNjQJMTkyCXV0ZjgJdXRmOF9iaW4JdmFyY2hh cig2NCkKIE5VTEwJbXlzcWwJaW5ub2RiX2luZGV4X3N0YXRzCXN0YXRfdmFsdWUJYmlnaW50CU5V TEwJTlVMTAlOVUxMCU5VTEwJYmlnaW50KDIwKSB1bnNpZ25lZAogTlVMTAlteXNxbAlpbm5vZGJf aW5kZXhfc3RhdHMJc2FtcGxlX3NpemUJYmlnaW50CU5VTEwJTlVMTAlOVUxMCU5VTEwJYmlnaW50 KDIwKSB1bnNpZ25lZAotMy4wMDAwCW15c3FsCWlubm9kYl9pbmRleF9zdGF0cwlzdGF0X2Rlc2Ny aXB0aW9uCXZhcmNoYXIJMTAyNAkzMDcyCXV0ZjgJdXRmOF9nZW5lcmFsX2NpCXZhcmNoYXIoMTAy NCkKLTMuMDAwMAlteXNxbAlpbm5vZGJfdGFibGVfc3RhdHMJZGF0YWJhc2VfbmFtZQl2YXJjaGFy CTY0CTE5Mgl1dGY4CXV0ZjhfZ2VuZXJhbF9jaQl2YXJjaGFyKDY0KQotMy4wMDAwCW15c3FsCWlu bm9kYl90YWJsZV9zdGF0cwl0YWJsZV9uYW1lCXZhcmNoYXIJNjQJMTkyCXV0ZjgJdXRmOF9nZW5l cmFsX2NpCXZhcmNoYXIoNjQpCiszLjAwMDAJbXlzcWwJaW5ub2RiX2luZGV4X3N0YXRzCXN0YXRf ZGVzY3JpcHRpb24JdmFyY2hhcgkxMDI0CTMwNzIJdXRmOAl1dGY4X2Jpbgl2YXJjaGFyKDEwMjQp CiszLjAwMDAJbXlzcWwJaW5ub2RiX3RhYmxlX3N0YXRzCWRhdGFiYXNlX25hbWUJdmFyY2hhcgk2 NAkxOTIJdXRmOAl1dGY4X2Jpbgl2YXJjaGFyKDY0KQorMy4wMDAwCW15c3FsCWlubm9kYl90YWJs ZV9zdGF0cwl0YWJsZV9uYW1lCXZhcmNoYXIJNjQJMTkyCXV0ZjgJdXRmOF9iaW4JdmFyY2hhcig2 NCkKIE5VTEwJbXlzcWwJaW5ub2RiX3RhYmxlX3N0YXRzCWxhc3RfdXBkYXRlCXRpbWVzdGFtcAlO VUxMCU5VTEwJTlVMTAlOVUxMCXRpbWVzdGFtcAogTlVMTAlteXNxbAlpbm5vZGJfdGFibGVfc3Rh dHMJbl9yb3dzCWJpZ2ludAlOVUxMCU5VTEwJTlVMTAlOVUxMCWJpZ2ludCgyMCkgdW5zaWduZWQK IE5VTEwJbXlzcWwJaW5ub2RiX3RhYmxlX3N0YXRzCWNsdXN0ZXJlZF9pbmRleF9zaXplCWJpZ2lu dAlOVUxMCU5VTEwJTlVMTAlOVUxMCWJpZ2ludCgyMCkgdW5zaWduZWQKCj09PSBtb2RpZmllZCBm aWxlICdteXNxbC10ZXN0L3N1aXRlL2Z1bmNzXzEvci9pc190YWJsZXNfbXlzcWwucmVzdWx0Jwot LS0gYS9teXNxbC10ZXN0L3N1aXRlL2Z1bmNzXzEvci9pc190YWJsZXNfbXlzcWwucmVzdWx0CTIw MTEtMDgtMTkgMTM6MDQ6MjggKzAwMDAKKysrIGIvbXlzcWwtdGVzdC9zdWl0ZS9mdW5jc18xL3Iv aXNfdGFibGVzX215c3FsLnJlc3VsdAkyMDEyLTAxLTE3IDEzOjE4OjA4ICswMDAwCkBAIC0yNTks NyArMjU5LDcgQEAgQVVUT19JTkNSRU1FTlQJTlVMTAogQ1JFQVRFX1RJTUUJI0NSVCMKIFVQREFU RV9USU1FCSNVVCMKIENIRUNLX1RJTUUJI0NUIwotVEFCTEVfQ09MTEFUSU9OCXV0ZjhfZ2VuZXJh bF9jaQorVEFCTEVfQ09MTEFUSU9OCXV0ZjhfYmluCiBDSEVDS1NVTQlOVUxMCiBDUkVBVEVfT1BU SU9OUwkjQ08jCiBUQUJMRV9DT01NRU5UCSNUQyMKQEAgLTI4Miw3ICsyODIsNyBAQCBBVVRPX0lO Q1JFTUVOVAlOVUxMCiBDUkVBVEVfVElNRQkjQ1JUIwogVVBEQVRFX1RJTUUJI1VUIwogQ0hFQ0tf VElNRQkjQ1QjCi1UQUJMRV9DT0xMQVRJT04JdXRmOF9nZW5lcmFsX2NpCitUQUJMRV9DT0xMQVRJ T04JdXRmOF9iaW4KIENIRUNLU1VNCU5VTEwKIENSRUFURV9PUFRJT05TCSNDTyMKIFRBQkxFX0NP TU1FTlQJI1RDIwoKPT09IG1vZGlmaWVkIGZpbGUgJ215c3FsLXRlc3Qvc3VpdGUvZnVuY3NfMS9y L2lzX3RhYmxlc19teXNxbF9lbWJlZGRlZC5yZXN1bHQnCi0tLSBhL215c3FsLXRlc3Qvc3VpdGUv ZnVuY3NfMS9yL2lzX3RhYmxlc19teXNxbF9lbWJlZGRlZC5yZXN1bHQJMjAxMS0wOC0xOSAxMzow NDoyOCArMDAwMAorKysgYi9teXNxbC10ZXN0L3N1aXRlL2Z1bmNzXzEvci9pc190YWJsZXNfbXlz cWxfZW1iZWRkZWQucmVzdWx0CTIwMTItMDEtMTcgMTM6MTg6MDggKzAwMDAKQEAgLTI1OSw3ICsy NTksNyBAQCBBVVRPX0lOQ1JFTUVOVAlOVUxMCiBDUkVBVEVfVElNRQkjQ1JUIwogVVBEQVRFX1RJ TUUJI1VUIwogQ0hFQ0tfVElNRQkjQ1QjCi1UQUJMRV9DT0xMQVRJT04JdXRmOF9nZW5lcmFsX2Np CitUQUJMRV9DT0xMQVRJT04JdXRmOF9iaW4KIENIRUNLU1VNCU5VTEwKIENSRUFURV9PUFRJT05T CSNDTyMKIFRBQkxFX0NPTU1FTlQJI1RDIwpAQCAtMjgyLDcgKzI4Miw3IEBAIEFVVE9fSU5DUkVN RU5UCU5VTEwKIENSRUFURV9USU1FCSNDUlQjCiBVUERBVEVfVElNRQkjVVQjCiBDSEVDS19USU1F CSNDVCMKLVRBQkxFX0NPTExBVElPTgl1dGY4X2dlbmVyYWxfY2kKK1RBQkxFX0NPTExBVElPTgl1 dGY4X2JpbgogQ0hFQ0tTVU0JTlVMTAogQ1JFQVRFX09QVElPTlMJI0NPIwogVEFCTEVfQ09NTUVO VAkjVEMjCkBAIC05NDIsNyArOTQyLDcgQEAgQVVUT19JTkNSRU1FTlQJTlVMTAogQ1JFQVRFX1RJ TUUJI0NSVCMKIFVQREFURV9USU1FCSNVVCMKIENIRUNLX1RJTUUJI0NUIwotVEFCTEVfQ09MTEFU SU9OCXV0ZjhfZ2VuZXJhbF9jaQorVEFCTEVfQ09MTEFUSU9OCXV0ZjhfYmluCiBDSEVDS1NVTQlO VUxMCiBDUkVBVEVfT1BUSU9OUwkjQ08jCiBUQUJMRV9DT01NRU5UCSNUQyMKQEAgLTk2NSw3ICs5 NjUsNyBAQCBBVVRPX0lOQ1JFTUVOVAlOVUxMCiBDUkVBVEVfVElNRQkjQ1JUIwogVVBEQVRFX1RJ TUUJI1VUIwogQ0hFQ0tfVElNRQkjQ1QjCi1UQUJMRV9DT0xMQVRJT04JdXRmOF9nZW5lcmFsX2Np CitUQUJMRV9DT0xMQVRJT04JdXRmOF9iaW4KIENIRUNLU1VNCU5VTEwKIENSRUFURV9PUFRJT05T CSNDTyMKIFRBQkxFX0NPTU1FTlQJI1RDIwoKPT09IG1vZGlmaWVkIGZpbGUgJ215c3FsLXRlc3Qv c3VpdGUvcnBsL3IvcnBsX2xvZ19wb3MucmVzdWx0JwotLS0gYS9teXNxbC10ZXN0L3N1aXRlL3Jw bC9yL3JwbF9sb2dfcG9zLnJlc3VsdAkyMDEyLTAxLTA0IDE1OjQ4OjAwICswMDAwCisrKyBiL215 c3FsLXRlc3Qvc3VpdGUvcnBsL3IvcnBsX2xvZ19wb3MucmVzdWx0CTIwMTItMDEtMTcgMjI6MzI6 MjkgKzAwMDAKQEAgLTEyLDcgKzEyLDcgQEAgY2hhbmdlIG1hc3RlciB0byBtYXN0ZXJfbG9nX3Bv cz1NQVNURVJfTAogUmVhZF9NYXN0ZXJfTG9nX1BvcyA9ICc3NScKIHN0YXJ0IHNsYXZlOwogaW5j bHVkZS93YWl0X2Zvcl9zbGF2ZV9pb19lcnJvci5pbmMgW2Vycm5vPTEyMzZdCi1MYXN0X0lPX0Vy cm9yID0gJ0dvdCBmYXRhbCBlcnJvciAxMjM2IGZyb20gbWFzdGVyIHdoZW4gcmVhZGluZyBkYXRh IGZyb20gYmluYXJ5IGxvZzogJ2xvZyBldmVudCBlbnRyeSBleGNlZWRlZCBtYXhfYWxsb3dlZF9w YWNrZXQ7IEluY3JlYXNlIG1heF9hbGxvd2VkX3BhY2tldCBvbiBtYXN0ZXI7IHRoZSBsYXN0IGV2 ZW50IHdhcyByZWFkIGZyb20gJ21hc3Rlci1iaW4uMDAwMDAxJyBhdCBYWFgsIHRoZSBsYXN0IGJ5 dGUgcmVhZCB3YXMgcmVhZCBmcm9tICdtYXN0ZXItYmluLjAwMDAwMScgYXQgWFhYLicnCitMYXN0 X0lPX0Vycm9yID0gJ0dvdCBmYXRhbCBlcnJvciAxMjM2IGZyb20gbWFzdGVyIHdoZW4gcmVhZGlu ZyBkYXRhIGZyb20gYmluYXJ5IGxvZzogJ2xvZyBldmVudCBlbnRyeSBleGNlZWRlZCBtYXhfYWxs b3dlZF9wYWNrZXQ7IEluY3JlYXNlIG1heF9hbGxvd2VkX3BhY2tldCBvbiBtYXN0ZXI7IHRoZSBz dGFydCBldmVudCBwb3NpdGlvbiBmcm9tICdtYXN0ZXItYmluLjAwMDAwMScgYXQgWFhYLCB0aGUg bGFzdCBldmVudCB3YXMgcmVhZCBmcm9tICdtYXN0ZXItYmluLjAwMDAwMScgYXQgWFhYLCB0aGUg bGFzdCBieXRlIHJlYWQgd2FzIHJlYWQgZnJvbSAnbWFzdGVyLWJpbi4wMDAwMDEnIGF0IFhYWC4n JwogaW5jbHVkZS9zdG9wX3NsYXZlX3NxbC5pbmMKIHNob3cgbWFzdGVyIHN0YXR1czsKIEZpbGUJ UG9zaXRpb24JQmlubG9nX0RvX0RCCUJpbmxvZ19JZ25vcmVfREIKCj09PSBtb2RpZmllZCBmaWxl ICdteXNxbC10ZXN0L3N1aXRlL3JwbC9yL3JwbF9tYW51YWxfY2hhbmdlX2luZGV4X2ZpbGUucmVz dWx0JwotLS0gYS9teXNxbC10ZXN0L3N1aXRlL3JwbC9yL3JwbF9tYW51YWxfY2hhbmdlX2luZGV4 X2ZpbGUucmVzdWx0CTIwMTItMDEtMDQgMTU6NDg6MDAgKzAwMDAKKysrIGIvbXlzcWwtdGVzdC9z dWl0ZS9ycGwvci9ycGxfbWFudWFsX2NoYW5nZV9pbmRleF9maWxlLnJlc3VsdAkyMDEyLTAxLTE3 IDIyOjMyOjI5ICswMDAwCkBAIC04LDcgKzgsNyBAQCBDUkVBVEUgVEFCTEUgdDEoYzEgSU5UKTsK IEZMVVNIIExPR1M7CiBjYWxsIG10ci5hZGRfc3VwcHJlc3Npb24oJ0dvdCBmYXRhbCBlcnJvciAx MjM2IGZyb20gbWFzdGVyIHdoZW4gcmVhZGluZyBkYXRhIGZyb20gYmluYXJ5IGxvZzogLipjb3Vs ZCBub3QgZmluZCBuZXh0IGxvZycpOwogaW5jbHVkZS93YWl0X2Zvcl9zbGF2ZV9pb19lcnJvci5p bmMgW2Vycm5vPTEyMzZdCi1MYXN0X0lPX0Vycm9yID0gJ0dvdCBmYXRhbCBlcnJvciAxMjM2IGZy b20gbWFzdGVyIHdoZW4gcmVhZGluZyBkYXRhIGZyb20gYmluYXJ5IGxvZzogJ2NvdWxkIG5vdCBm aW5kIG5leHQgbG9nOyB0aGUgbGFzdCBldmVudCB3YXMgcmVhZCBmcm9tICdtYXN0ZXItYmluLjAw MDAwMicgYXQgWFhYLCB0aGUgbGFzdCBieXRlIHJlYWQgd2FzIHJlYWQgZnJvbSAnbWFzdGVyLWJp bi4wMDAwMDInIGF0IFhYWC4nJworTGFzdF9JT19FcnJvciA9ICdHb3QgZmF0YWwgZXJyb3IgMTIz NiBmcm9tIG1hc3RlciB3aGVuIHJlYWRpbmcgZGF0YSBmcm9tIGJpbmFyeSBsb2c6ICdjb3VsZCBu b3QgZmluZCBuZXh0IGxvZzsgdGhlIHN0YXJ0IGV2ZW50IHBvc2l0aW9uIGZyb20gJ21hc3Rlci1i aW4uMDAwMDAxJyBhdCBYWFgsIHRoZSBsYXN0IGV2ZW50IHdhcyByZWFkIGZyb20gJ21hc3Rlci1i aW4uMDAwMDAyJyBhdCBYWFgsIHRoZSBsYXN0IGJ5dGUgcmVhZCB3YXMgcmVhZCBmcm9tICdtYXN0 ZXItYmluLjAwMDAwMicgYXQgWFhYLicnCiBDUkVBVEUgVEFCTEUgdDIoYzEgSU5UKTsKIEZMVVNI IExPR1M7CiBDUkVBVEUgVEFCTEUgdDMoYzEgSU5UKTsKCj09PSBtb2RpZmllZCBmaWxlICdteXNx bC10ZXN0L3N1aXRlL3JwbC9yL3JwbF9wYWNrZXQucmVzdWx0JwotLS0gYS9teXNxbC10ZXN0L3N1 aXRlL3JwbC9yL3JwbF9wYWNrZXQucmVzdWx0CTIwMTItMDEtMDQgMTU6NDg6MDAgKzAwMDAKKysr IGIvbXlzcWwtdGVzdC9zdWl0ZS9ycGwvci9ycGxfcGFja2V0LnJlc3VsdAkyMDEyLTAxLTE3IDIy OjMyOjI5ICswMDAwCkBAIC00MCw3ICs0MCw3IEBAIERST1AgVEFCTEUgdDE7CiBDUkVBVEUgVEFC TEUgdDEgKGYxIGludCBQUklNQVJZIEtFWSwgZjIgTE9OR1RFWFQsIGYzIExPTkdURVhUKSBFTkdJ TkU9TXlJU0FNOwogSU5TRVJUIElOVE8gdDEoZjEsIGYyLCBmMykgVkFMVUVTKDEsIFJFUEVBVCgn YScsIEBAZ2xvYmFsLm1heF9hbGxvd2VkX3BhY2tldCksIFJFUEVBVCgnYicsIEBAZ2xvYmFsLm1h eF9hbGxvd2VkX3BhY2tldCkpOwogaW5jbHVkZS93YWl0X2Zvcl9zbGF2ZV9pb19lcnJvci5pbmMg W2Vycm5vPTEyMzZdCi1MYXN0X0lPX0Vycm9yID0gJ0dvdCBmYXRhbCBlcnJvciAxMjM2IGZyb20g bWFzdGVyIHdoZW4gcmVhZGluZyBkYXRhIGZyb20gYmluYXJ5IGxvZzogJ2xvZyBldmVudCBlbnRy eSBleGNlZWRlZCBtYXhfYWxsb3dlZF9wYWNrZXQ7IEluY3JlYXNlIG1heF9hbGxvd2VkX3BhY2tl dCBvbiBtYXN0ZXI7IHRoZSBsYXN0IGV2ZW50IHdhcyByZWFkIGZyb20gJ21hc3Rlci1iaW4uMDAw MDAxJyBhdCBYWFgsIHRoZSBsYXN0IGJ5dGUgcmVhZCB3YXMgcmVhZCBmcm9tICdtYXN0ZXItYmlu LjAwMDAwMScgYXQgWFhYLicnCitMYXN0X0lPX0Vycm9yID0gJ0dvdCBmYXRhbCBlcnJvciAxMjM2 IGZyb20gbWFzdGVyIHdoZW4gcmVhZGluZyBkYXRhIGZyb20gYmluYXJ5IGxvZzogJ2xvZyBldmVu dCBlbnRyeSBleGNlZWRlZCBtYXhfYWxsb3dlZF9wYWNrZXQ7IEluY3JlYXNlIG1heF9hbGxvd2Vk X3BhY2tldCBvbiBtYXN0ZXI7IHRoZSBzdGFydCBldmVudCBwb3NpdGlvbiBmcm9tICcnIGF0IFhY WCwgdGhlIGxhc3QgZXZlbnQgd2FzIHJlYWQgZnJvbSAnbWFzdGVyLWJpbi4wMDAwMDEnIGF0IFhY WCwgdGhlIGxhc3QgYnl0ZSByZWFkIHdhcyByZWFkIGZyb20gJ21hc3Rlci1iaW4uMDAwMDAxJyBh dCBYWFguJycKIFNUT1AgU0xBVkU7CiBSRVNFVCBTTEFWRTsKIFJFU0VUIE1BU1RFUjsKCj09PSBt b2RpZmllZCBmaWxlICdteXNxbC10ZXN0L3N1aXRlL3JwbC9yL3JwbF9zdG1fc3RhcnRfc3RvcF9z bGF2ZS5yZXN1bHQnCi0tLSBhL215c3FsLXRlc3Qvc3VpdGUvcnBsL3IvcnBsX3N0bV9zdGFydF9z dG9wX3NsYXZlLnJlc3VsdAkyMDExLTExLTE5IDA4OjA4OjAzICswMDAwCisrKyBiL215c3FsLXRl c3Qvc3VpdGUvcnBsL3IvcnBsX3N0bV9zdGFydF9zdG9wX3NsYXZlLnJlc3VsdAkyMDEyLTAxLTE3 IDIyOjMyOjI5ICswMDAwCkBAIC03Miw2ICs3MiwxNiBAQCBpbmNsdWRlL3dhaXRfZm9yX3NsYXZl X3RvX3N0b3AuaW5jCiBpbmNsdWRlL3N0YXJ0X3NsYXZlLmluYwogIyBDbGVhbiB1cAogRFJPUCBU QUJMRSB0MTsKK1JFU0VUIE1BU1RFUjsKK2luY2x1ZGUvc3RvcF9zbGF2ZS5pbmMKK0NIQU5HRSBN QVNURVIgVE8gbWFzdGVyX2xvZ19wb3M9TUFTVEVSX1BPUzsKK1NUQVJUIFNMQVZFOworaW5jbHVk ZS93YWl0X2Zvcl9zbGF2ZV9wYXJhbS5pbmMgW0xhc3RfSU9fRXJybm9dCitMYXN0X0lPX0Vycm5v ID0gJzEyMzYnCitMYXN0X0lPX0Vycm9yID0gJ0dvdCBmYXRhbCBlcnJvciAxMjM2IGZyb20gbWFz dGVyIHdoZW4gcmVhZGluZyBkYXRhIGZyb20gYmluYXJ5IGxvZzogJ0NsaWVudCByZXF1ZXN0ZWQg bWFzdGVyIHRvIHN0YXJ0IHJlcGxpY2F0aW9uIGZyb20gaW1wb3NzaWJsZSBwb3NpdGlvbjsgdGhl IHN0YXJ0IGV2ZW50IHBvc2l0aW9uIGZyb20gJ21hc3Rlci1iaW4uMDAwMDAxJyBhdCBYWFgsIHRo ZSBsYXN0IGV2ZW50IHdhcyByZWFkIGZyb20gJ21hc3Rlci1iaW4uMDAwMDAxJyBhdCBYWFgsIHRo ZSBsYXN0IGJ5dGUgcmVhZCB3YXMgcmVhZCBmcm9tICdtYXN0ZXItYmluLjAwMDAwMScgYXQgWFhY LicnCitpbmNsdWRlL3N0b3Bfc2xhdmUuaW5jCitSRVNFVCBTTEFWRTsKK1JFU0VUIE1BU1RFUjsK IFNFVCBAQGdsb2JhbC5pbm5vZGJfZmx1c2hfbG9nX2F0X3RyeF9jb21taXQ9IEBvbGRfaW5ub2Ri X2ZsdXNoX2xvZ19hdF90cnhfY29tbWl0OwogY2FsbCBtdHIuYWRkX3N1cHByZXNzaW9uKCJTbGF2 ZSBTUUwuKlJlcXVlc3QgdG8gc3RvcCBzbGF2ZSBTUUwgVGhyZWFkIHJlY2VpdmVkIHdoaWxlIGFw cGx5aW5nIGEgZ3JvdXAgdGhhdCBoYXMgbm9uLXRyYW5zYWN0aW9uYWwgY2hhbmdlczsgd2FpdGlu ZyBmb3IgY29tcGxldGlvbiBvZiB0aGUgZ3JvdXAiKTsKIFNFVCBAQGdsb2JhbC5pbm5vZGJfZmx1 c2hfbG9nX2F0X3RyeF9jb21taXQ9IEBvbGRfaW5ub2RiX2ZsdXNoX2xvZ19hdF90cnhfY29tbWl0 OwoKPT09IG1vZGlmaWVkIGZpbGUgJ215c3FsLXRlc3Qvc3VpdGUvcnBsL3QvcnBsX3N0bV9zdGFy dF9zdG9wX3NsYXZlLnRlc3QnCi0tLSBhL215c3FsLXRlc3Qvc3VpdGUvcnBsL3QvcnBsX3N0bV9z dGFydF9zdG9wX3NsYXZlLnRlc3QJMjAxMS0wMy0xNyAxMzoyMDozNiArMDAwMAorKysgYi9teXNx bC10ZXN0L3N1aXRlL3JwbC90L3JwbF9zdG1fc3RhcnRfc3RvcF9zbGF2ZS50ZXN0CTIwMTItMDEt MTcgMjI6MzI6MjkgKzAwMDAKQEAgLTIyLDUgKzIyLDUgQEAgU0VUIEBAZ2xvYmFsLmlubm9kYl9m bHVzaF9sb2dfYXRfdHJ4X2NvbQogY2FsbCBtdHIuYWRkX3N1cHByZXNzaW9uKCJTbGF2ZSBTUUwu KlJlcXVlc3QgdG8gc3RvcCBzbGF2ZSBTUUwgVGhyZWFkIHJlY2VpdmVkIHdoaWxlIGFwcGx5aW5n IGEgZ3JvdXAgdGhhdCBoYXMgbm9uLXRyYW5zYWN0aW9uYWwgY2hhbmdlczsgd2FpdGluZyBmb3Ig Y29tcGxldGlvbiBvZiB0aGUgZ3JvdXAiKTsKIC0tY29ubmVjdGlvbiBtYXN0ZXIKIFNFVCBAQGds b2JhbC5pbm5vZGJfZmx1c2hfbG9nX2F0X3RyeF9jb21taXQ9IEBvbGRfaW5ub2RiX2ZsdXNoX2xv Z19hdF90cnhfY29tbWl0OwotCistLWxldCAkcnBsX29ubHlfcnVubmluZ190aHJlYWRzPSAxCiAt LXNvdXJjZSBpbmNsdWRlL3JwbF9lbmQuaW5jCgo9PT0gbW9kaWZpZWQgZmlsZSAnbXlzcWwtdGVz dC9zdWl0ZS9zeXNfdmFycy9yL2FsbF92YXJzLnJlc3VsdCcKLS0tIGEvbXlzcWwtdGVzdC9zdWl0 ZS9zeXNfdmFycy9yL2FsbF92YXJzLnJlc3VsdAkyMDEyLTAxLTEwIDA1OjI2OjI5ICswMDAwCisr KyBiL215c3FsLXRlc3Qvc3VpdGUvc3lzX3ZhcnMvci9hbGxfdmFycy5yZXN1bHQJMjAxMi0wMS0x NiAxNToxMTozOSArMDAwMApAQCAtMywxMCArMyw2IEBAIGNyZWF0ZSB0YWJsZSB0MiAodmFyaWFi bGVfbmFtZSB0ZXh0KTsKIGxvYWQgZGF0YSBpbmZpbGUgIk1ZU1FMVEVTVF9WQVJESVIvdG1wL3N5 c192YXJzLmFsbF92YXJzLnR4dCIgaW50byB0YWJsZSB0MTsKIGluc2VydCBpbnRvIHQyIHNlbGVj dCB2YXJpYWJsZV9uYW1lIGZyb20gaW5mb3JtYXRpb25fc2NoZW1hLmdsb2JhbF92YXJpYWJsZXM7 CiBpbnNlcnQgaW50byB0MiBzZWxlY3QgdmFyaWFibGVfbmFtZSBmcm9tIGluZm9ybWF0aW9uX3Nj aGVtYS5zZXNzaW9uX3ZhcmlhYmxlczsKLWRlbGV0ZSBmcm9tIHQyIHdoZXJlIHZhcmlhYmxlX25h bWU9J2lubm9kYl9jaGFuZ2VfYnVmZmVyaW5nX2RlYnVnJzsKLWRlbGV0ZSBmcm9tIHQyIHdoZXJl IHZhcmlhYmxlX25hbWU9J2lubm9kYl9wYWdlX2hhc2hfbG9ja3MnOwotZGVsZXRlIGZyb20gdDIg d2hlcmUgdmFyaWFibGVfbmFtZT0naW5ub2RiX2RvdWJsZXdyaXRlX2JhdGNoX3NpemUnOwotZGVs ZXRlIGZyb20gdDIgd2hlcmUgdmFyaWFibGVfbmFtZT0naW5ub2RiX3RyeF9yc2VnX25fc2xvdHNf ZGVidWcnOwogdXBkYXRlIHQyIHNldCB2YXJpYWJsZV9uYW1lPSByZXBsYWNlKHZhcmlhYmxlX25h bWUsICJQRVJGT1JNQU5DRV9TQ0hFTUFfIiwgIlBGU18iKTsKIHNlbGVjdCB2YXJpYWJsZV9uYW1l IGFzIGBUaGVyZSBzaG91bGQgYmUgKm5vKiBsb25nIHRlc3QgbmFtZSBsaXN0ZWQgYmVsb3c6YCBm cm9tIHQyCiB3aGVyZSBsZW5ndGgodmFyaWFibGVfbmFtZSkgPiA1MDsKCj09PSBtb2RpZmllZCBm aWxlICdteXNxbC10ZXN0L3N1aXRlL3N5c192YXJzL3IvY2hhcmFjdGVyX3NldHNfZGlyX2Jhc2lj LnJlc3VsdCcKLS0tIGEvbXlzcWwtdGVzdC9zdWl0ZS9zeXNfdmFycy9yL2NoYXJhY3Rlcl9zZXRz X2Rpcl9iYXNpYy5yZXN1bHQJMjAxMC0wMi0xNyAwMzoxNDowOSArMDAwMAorKysgYi9teXNxbC10 ZXN0L3N1aXRlL3N5c192YXJzL3IvY2hhcmFjdGVyX3NldHNfZGlyX2Jhc2ljLnJlc3VsdAkyMDEy LTAxLTE2IDEwOjA0OjI4ICswMDAwCkBAIC0xLDIwICsxLDIwIEBACiBzZWxlY3QgQEBnbG9iYWwu Y2hhcmFjdGVyX3NldHNfZGlyOwogQEBnbG9iYWwuY2hhcmFjdGVyX3NldHNfZGlyCi1NWVNRTF9D SEFSU0VUU0RJUi8KK01ZU1FMX0NIQVJTRVRTRElSCiBzZWxlY3QgQEBzZXNzaW9uLmNoYXJhY3Rl cl9zZXRzX2RpcjsKIEVSUk9SIEhZMDAwOiBWYXJpYWJsZSAnY2hhcmFjdGVyX3NldHNfZGlyJyBp cyBhIEdMT0JBTCB2YXJpYWJsZQogc2hvdyBnbG9iYWwgdmFyaWFibGVzIGxpa2UgJ2NoYXJhY3Rl cl9zZXRzX2Rpcic7CiBWYXJpYWJsZV9uYW1lCVZhbHVlCi1jaGFyYWN0ZXJfc2V0c19kaXIJTVlT UUxfQ0hBUlNFVFNESVIvCitjaGFyYWN0ZXJfc2V0c19kaXIJTVlTUUxfQ0hBUlNFVFNESVIKIHNo b3cgc2Vzc2lvbiB2YXJpYWJsZXMgbGlrZSAnY2hhcmFjdGVyX3NldHNfZGlyJzsKIFZhcmlhYmxl X25hbWUJVmFsdWUKLWNoYXJhY3Rlcl9zZXRzX2RpcglNWVNRTF9DSEFSU0VUU0RJUi8KK2NoYXJh Y3Rlcl9zZXRzX2RpcglNWVNRTF9DSEFSU0VUU0RJUgogc2VsZWN0ICogZnJvbSBpbmZvcm1hdGlv bl9zY2hlbWEuZ2xvYmFsX3ZhcmlhYmxlcyB3aGVyZSB2YXJpYWJsZV9uYW1lPSdjaGFyYWN0ZXJf c2V0c19kaXInOwogVkFSSUFCTEVfTkFNRQlWQVJJQUJMRV9WQUxVRQotQ0hBUkFDVEVSX1NFVFNf RElSCU1ZU1FMX0NIQVJTRVRTRElSLworQ0hBUkFDVEVSX1NFVFNfRElSCU1ZU1FMX0NIQVJTRVRT RElSCiBzZWxlY3QgKiBmcm9tIGluZm9ybWF0aW9uX3NjaGVtYS5zZXNzaW9uX3ZhcmlhYmxlcyB3 aGVyZSB2YXJpYWJsZV9uYW1lPSdjaGFyYWN0ZXJfc2V0c19kaXInOwogVkFSSUFCTEVfTkFNRQlW QVJJQUJMRV9WQUxVRQotQ0hBUkFDVEVSX1NFVFNfRElSCU1ZU1FMX0NIQVJTRVRTRElSLworQ0hB UkFDVEVSX1NFVFNfRElSCU1ZU1FMX0NIQVJTRVRTRElSCiBzZXQgZ2xvYmFsIGNoYXJhY3Rlcl9z ZXRzX2Rpcj0iZm9vIjsKIEVSUk9SIEhZMDAwOiBWYXJpYWJsZSAnY2hhcmFjdGVyX3NldHNfZGly JyBpcyBhIHJlYWQgb25seSB2YXJpYWJsZQogc2V0IHNlc3Npb24gY2hhcmFjdGVyX3NldHNfZGly PSJmb28iOwoKPT09IGFkZGVkIGZpbGUgJ215c3FsLXRlc3Qvc3VpdGUvc3lzX3ZhcnMvci9pbm5v ZGJfY2hhbmdlX2J1ZmZlcmluZ19kZWJ1Z19iYXNpYy5yZXN1bHQnCi0tLSBhL215c3FsLXRlc3Qv c3VpdGUvc3lzX3ZhcnMvci9pbm5vZGJfY2hhbmdlX2J1ZmZlcmluZ19kZWJ1Z19iYXNpYy5yZXN1 bHQJMTk3MC0wMS0wMSAwMDowMDowMCArMDAwMAorKysgYi9teXNxbC10ZXN0L3N1aXRlL3N5c192 YXJzL3IvaW5ub2RiX2NoYW5nZV9idWZmZXJpbmdfZGVidWdfYmFzaWMucmVzdWx0CTIwMTItMDEt MTYgMTQ6Mzk6MDUgKzAwMDAKQEAgLTAsMCArMSw2NCBAQAorU0VUIEBzdGFydF9nbG9iYWxfdmFs dWUgPSBAQGdsb2JhbC5pbm5vZGJfY2hhbmdlX2J1ZmZlcmluZ19kZWJ1ZzsKK1NFTEVDVCBAc3Rh cnRfZ2xvYmFsX3ZhbHVlOworQHN0YXJ0X2dsb2JhbF92YWx1ZQorMAorc2VsZWN0IEBAZ2xvYmFs Lmlubm9kYl9jaGFuZ2VfYnVmZmVyaW5nX2RlYnVnIGluICgwLCAxKTsKK0BAZ2xvYmFsLmlubm9k Yl9jaGFuZ2VfYnVmZmVyaW5nX2RlYnVnIGluICgwLCAxKQorMQorc2VsZWN0IEBAZ2xvYmFsLmlu bm9kYl9jaGFuZ2VfYnVmZmVyaW5nX2RlYnVnOworQEBnbG9iYWwuaW5ub2RiX2NoYW5nZV9idWZm ZXJpbmdfZGVidWcKKzAKK3NlbGVjdCBAQHNlc3Npb24uaW5ub2RiX2NoYW5nZV9idWZmZXJpbmdf ZGVidWc7CitFUlJPUiBIWTAwMDogVmFyaWFibGUgJ2lubm9kYl9jaGFuZ2VfYnVmZmVyaW5nX2Rl YnVnJyBpcyBhIEdMT0JBTCB2YXJpYWJsZQorc2hvdyBnbG9iYWwgdmFyaWFibGVzIGxpa2UgJ2lu bm9kYl9jaGFuZ2VfYnVmZmVyaW5nX2RlYnVnJzsKK1ZhcmlhYmxlX25hbWUJVmFsdWUKK2lubm9k Yl9jaGFuZ2VfYnVmZmVyaW5nX2RlYnVnCTAKK3Nob3cgc2Vzc2lvbiB2YXJpYWJsZXMgbGlrZSAn aW5ub2RiX2NoYW5nZV9idWZmZXJpbmdfZGVidWcnOworVmFyaWFibGVfbmFtZQlWYWx1ZQoraW5u b2RiX2NoYW5nZV9idWZmZXJpbmdfZGVidWcJMAorc2VsZWN0ICogZnJvbSBpbmZvcm1hdGlvbl9z Y2hlbWEuZ2xvYmFsX3ZhcmlhYmxlcyB3aGVyZSB2YXJpYWJsZV9uYW1lPSdpbm5vZGJfY2hhbmdl X2J1ZmZlcmluZ19kZWJ1Zyc7CitWQVJJQUJMRV9OQU1FCVZBUklBQkxFX1ZBTFVFCitJTk5PREJf Q0hBTkdFX0JVRkZFUklOR19ERUJVRwkwCitzZWxlY3QgKiBmcm9tIGluZm9ybWF0aW9uX3NjaGVt YS5zZXNzaW9uX3ZhcmlhYmxlcyB3aGVyZSB2YXJpYWJsZV9uYW1lPSdpbm5vZGJfY2hhbmdlX2J1 ZmZlcmluZ19kZWJ1Zyc7CitWQVJJQUJMRV9OQU1FCVZBUklBQkxFX1ZBTFVFCitJTk5PREJfQ0hB TkdFX0JVRkZFUklOR19ERUJVRwkwCitzZXQgZ2xvYmFsIGlubm9kYl9jaGFuZ2VfYnVmZmVyaW5n X2RlYnVnPTE7CitzZWxlY3QgQEBnbG9iYWwuaW5ub2RiX2NoYW5nZV9idWZmZXJpbmdfZGVidWc7 CitAQGdsb2JhbC5pbm5vZGJfY2hhbmdlX2J1ZmZlcmluZ19kZWJ1ZworMQorc2VsZWN0ICogZnJv bSBpbmZvcm1hdGlvbl9zY2hlbWEuZ2xvYmFsX3ZhcmlhYmxlcyB3aGVyZSB2YXJpYWJsZV9uYW1l PSdpbm5vZGJfY2hhbmdlX2J1ZmZlcmluZ19kZWJ1Zyc7CitWQVJJQUJMRV9OQU1FCVZBUklBQkxF X1ZBTFVFCitJTk5PREJfQ0hBTkdFX0JVRkZFUklOR19ERUJVRwkxCitzZWxlY3QgKiBmcm9tIGlu Zm9ybWF0aW9uX3NjaGVtYS5zZXNzaW9uX3ZhcmlhYmxlcyB3aGVyZSB2YXJpYWJsZV9uYW1lPSdp bm5vZGJfY2hhbmdlX2J1ZmZlcmluZ19kZWJ1Zyc7CitWQVJJQUJMRV9OQU1FCVZBUklBQkxFX1ZB TFVFCitJTk5PREJfQ0hBTkdFX0JVRkZFUklOR19ERUJVRwkxCitzZXQgQEBnbG9iYWwuaW5ub2Ri X2NoYW5nZV9idWZmZXJpbmdfZGVidWc9MDsKK3NlbGVjdCBAQGdsb2JhbC5pbm5vZGJfY2hhbmdl X2J1ZmZlcmluZ19kZWJ1ZzsKK0BAZ2xvYmFsLmlubm9kYl9jaGFuZ2VfYnVmZmVyaW5nX2RlYnVn CiswCitzZWxlY3QgKiBmcm9tIGluZm9ybWF0aW9uX3NjaGVtYS5nbG9iYWxfdmFyaWFibGVzIHdo ZXJlIHZhcmlhYmxlX25hbWU9J2lubm9kYl9jaGFuZ2VfYnVmZmVyaW5nX2RlYnVnJzsKK1ZBUklB QkxFX05BTUUJVkFSSUFCTEVfVkFMVUUKK0lOTk9EQl9DSEFOR0VfQlVGRkVSSU5HX0RFQlVHCTAK K3NlbGVjdCAqIGZyb20gaW5mb3JtYXRpb25fc2NoZW1hLnNlc3Npb25fdmFyaWFibGVzIHdoZXJl IHZhcmlhYmxlX25hbWU9J2lubm9kYl9jaGFuZ2VfYnVmZmVyaW5nX2RlYnVnJzsKK1ZBUklBQkxF X05BTUUJVkFSSUFCTEVfVkFMVUUKK0lOTk9EQl9DSEFOR0VfQlVGRkVSSU5HX0RFQlVHCTAKK3Nl dCBzZXNzaW9uIGlubm9kYl9jaGFuZ2VfYnVmZmVyaW5nX2RlYnVnPSdzb21lJzsKK0VSUk9SIEhZ MDAwOiBWYXJpYWJsZSAnaW5ub2RiX2NoYW5nZV9idWZmZXJpbmdfZGVidWcnIGlzIGEgR0xPQkFM IHZhcmlhYmxlIGFuZCBzaG91bGQgYmUgc2V0IHdpdGggU0VUIEdMT0JBTAorc2V0IEBAc2Vzc2lv bi5pbm5vZGJfY2hhbmdlX2J1ZmZlcmluZ19kZWJ1Zz0nc29tZSc7CitFUlJPUiBIWTAwMDogVmFy aWFibGUgJ2lubm9kYl9jaGFuZ2VfYnVmZmVyaW5nX2RlYnVnJyBpcyBhIEdMT0JBTCB2YXJpYWJs ZSBhbmQgc2hvdWxkIGJlIHNldCB3aXRoIFNFVCBHTE9CQUwKK3NldCBnbG9iYWwgaW5ub2RiX2No YW5nZV9idWZmZXJpbmdfZGVidWc9MS4xOworRVJST1IgNDIwMDA6IEluY29ycmVjdCBhcmd1bWVu dCB0eXBlIHRvIHZhcmlhYmxlICdpbm5vZGJfY2hhbmdlX2J1ZmZlcmluZ19kZWJ1ZycKK3NldCBn bG9iYWwgaW5ub2RiX2NoYW5nZV9idWZmZXJpbmdfZGVidWc9J2Zvbyc7CitFUlJPUiA0MjAwMDog SW5jb3JyZWN0IGFyZ3VtZW50IHR5cGUgdG8gdmFyaWFibGUgJ2lubm9kYl9jaGFuZ2VfYnVmZmVy aW5nX2RlYnVnJworc2V0IGdsb2JhbCBpbm5vZGJfY2hhbmdlX2J1ZmZlcmluZ19kZWJ1Zz0tMjsK K1dhcm5pbmdzOgorV2FybmluZwkxMjkyCVRydW5jYXRlZCBpbmNvcnJlY3QgaW5ub2RiX2NoYW5n ZV9idWZmZXJpbmdfZGVidWcgdmFsdWU6ICctMicKK3NldCBnbG9iYWwgaW5ub2RiX2NoYW5nZV9i dWZmZXJpbmdfZGVidWc9MWUxOworRVJST1IgNDIwMDA6IEluY29ycmVjdCBhcmd1bWVudCB0eXBl IHRvIHZhcmlhYmxlICdpbm5vZGJfY2hhbmdlX2J1ZmZlcmluZ19kZWJ1ZycKK3NldCBnbG9iYWwg aW5ub2RiX2NoYW5nZV9idWZmZXJpbmdfZGVidWc9MjsKK1dhcm5pbmdzOgorV2FybmluZwkxMjky CVRydW5jYXRlZCBpbmNvcnJlY3QgaW5ub2RiX2NoYW5nZV9idWZmZXJpbmdfZGVidWcgdmFsdWU6 ICcyJworU0VUIEBAZ2xvYmFsLmlubm9kYl9jaGFuZ2VfYnVmZmVyaW5nX2RlYnVnID0gQHN0YXJ0 X2dsb2JhbF92YWx1ZTsKK1NFTEVDVCBAQGdsb2JhbC5pbm5vZGJfY2hhbmdlX2J1ZmZlcmluZ19k ZWJ1ZzsKK0BAZ2xvYmFsLmlubm9kYl9jaGFuZ2VfYnVmZmVyaW5nX2RlYnVnCiswCgo9PT0gYWRk ZWQgZmlsZSAnbXlzcWwtdGVzdC9zdWl0ZS9zeXNfdmFycy9yL2lubm9kYl9kb3VibGV3cml0ZV9i YXRjaF9zaXplX2Jhc2ljLnJlc3VsdCcKLS0tIGEvbXlzcWwtdGVzdC9zdWl0ZS9zeXNfdmFycy9y L2lubm9kYl9kb3VibGV3cml0ZV9iYXRjaF9zaXplX2Jhc2ljLnJlc3VsdAkxOTcwLTAxLTAxIDAw OjAwOjAwICswMDAwCisrKyBiL215c3FsLXRlc3Qvc3VpdGUvc3lzX3ZhcnMvci9pbm5vZGJfZG91 Ymxld3JpdGVfYmF0Y2hfc2l6ZV9iYXNpYy5yZXN1bHQJMjAxMi0wMS0xNiAxNToxMTozOSArMDAw MApAQCAtMCwwICsxLDI0IEBACitzZWxlY3QgQEBnbG9iYWwuaW5ub2RiX2RvdWJsZXdyaXRlX2Jh dGNoX3NpemUgYmV0d2VlbiAxIGFuZCAxMjc7CitAQGdsb2JhbC5pbm5vZGJfZG91Ymxld3JpdGVf YmF0Y2hfc2l6ZSBiZXR3ZWVuIDEgYW5kIDEyNworMQorc2VsZWN0IEBAZ2xvYmFsLmlubm9kYl9k b3VibGV3cml0ZV9iYXRjaF9zaXplOworQEBnbG9iYWwuaW5ub2RiX2RvdWJsZXdyaXRlX2JhdGNo X3NpemUKKzEyMAorc2VsZWN0IEBAc2Vzc2lvbi5pbm5vZGJfZG91Ymxld3JpdGVfYmF0Y2hfc2l6 ZTsKK0VSUk9SIEhZMDAwOiBWYXJpYWJsZSAnaW5ub2RiX2RvdWJsZXdyaXRlX2JhdGNoX3NpemUn IGlzIGEgR0xPQkFMIHZhcmlhYmxlCitzaG93IGdsb2JhbCB2YXJpYWJsZXMgbGlrZSAnaW5ub2Ri X2RvdWJsZXdyaXRlX2JhdGNoX3NpemUnOworVmFyaWFibGVfbmFtZQlWYWx1ZQoraW5ub2RiX2Rv dWJsZXdyaXRlX2JhdGNoX3NpemUJMTIwCitzaG93IHNlc3Npb24gdmFyaWFibGVzIGxpa2UgJ2lu bm9kYl9kb3VibGV3cml0ZV9iYXRjaF9zaXplJzsKK1ZhcmlhYmxlX25hbWUJVmFsdWUKK2lubm9k Yl9kb3VibGV3cml0ZV9iYXRjaF9zaXplCTEyMAorc2VsZWN0ICogZnJvbSBpbmZvcm1hdGlvbl9z Y2hlbWEuZ2xvYmFsX3ZhcmlhYmxlcyB3aGVyZSB2YXJpYWJsZV9uYW1lPSdpbm5vZGJfZG91Ymxl d3JpdGVfYmF0Y2hfc2l6ZSc7CitWQVJJQUJMRV9OQU1FCVZBUklBQkxFX1ZBTFVFCitJTk5PREJf RE9VQkxFV1JJVEVfQkFUQ0hfU0laRQkxMjAKK3NlbGVjdCAqIGZyb20gaW5mb3JtYXRpb25fc2No ZW1hLnNlc3Npb25fdmFyaWFibGVzIHdoZXJlIHZhcmlhYmxlX25hbWU9J2lubm9kYl9kb3VibGV3 cml0ZV9iYXRjaF9zaXplJzsKK1ZBUklBQkxFX05BTUUJVkFSSUFCTEVfVkFMVUUKK0lOTk9EQl9E T1VCTEVXUklURV9CQVRDSF9TSVpFCTEyMAorc2V0IGdsb2JhbCBpbm5vZGJfZG91Ymxld3JpdGVf YmF0Y2hfc2l6ZT0xOworRVJST1IgSFkwMDA6IFZhcmlhYmxlICdpbm5vZGJfZG91Ymxld3JpdGVf YmF0Y2hfc2l6ZScgaXMgYSByZWFkIG9ubHkgdmFyaWFibGUKK3NldCBAQHNlc3Npb24uaW5ub2Ri X2RvdWJsZXdyaXRlX2JhdGNoX3NpemU9J3NvbWUnOworRVJST1IgSFkwMDA6IFZhcmlhYmxlICdp bm5vZGJfZG91Ymxld3JpdGVfYmF0Y2hfc2l6ZScgaXMgYSByZWFkIG9ubHkgdmFyaWFibGUKCj09 PSBhZGRlZCBmaWxlICdteXNxbC10ZXN0L3N1aXRlL3N5c192YXJzL3IvaW5ub2RiX3BhZ2VfaGFz aF9sb2Nrc19iYXNpYy5yZXN1bHQnCi0tLSBhL215c3FsLXRlc3Qvc3VpdGUvc3lzX3ZhcnMvci9p bm5vZGJfcGFnZV9oYXNoX2xvY2tzX2Jhc2ljLnJlc3VsdAkxOTcwLTAxLTAxIDAwOjAwOjAwICsw MDAwCisrKyBiL215c3FsLXRlc3Qvc3VpdGUvc3lzX3ZhcnMvci9pbm5vZGJfcGFnZV9oYXNoX2xv Y2tzX2Jhc2ljLnJlc3VsdAkyMDEyLTAxLTE2IDE1OjExOjM5ICswMDAwCkBAIC0wLDAgKzEsMjQg QEAKK3NlbGVjdCBAQGdsb2JhbC5pbm5vZGJfcGFnZV9oYXNoX2xvY2tzIGJldHdlZW4gMSBhbmQg MTAyNDsKK0BAZ2xvYmFsLmlubm9kYl9wYWdlX2hhc2hfbG9ja3MgYmV0d2VlbiAxIGFuZCAxMDI0 CisxCitzZWxlY3QgQEBnbG9iYWwuaW5ub2RiX3BhZ2VfaGFzaF9sb2NrczsKK0BAZ2xvYmFsLmlu bm9kYl9wYWdlX2hhc2hfbG9ja3MKKzE2CitzZWxlY3QgQEBzZXNzaW9uLmlubm9kYl9wYWdlX2hh c2hfbG9ja3M7CitFUlJPUiBIWTAwMDogVmFyaWFibGUgJ2lubm9kYl9wYWdlX2hhc2hfbG9ja3Mn IGlzIGEgR0xPQkFMIHZhcmlhYmxlCitzaG93IGdsb2JhbCB2YXJpYWJsZXMgbGlrZSAnaW5ub2Ri X3BhZ2VfaGFzaF9sb2Nrcyc7CitWYXJpYWJsZV9uYW1lCVZhbHVlCitpbm5vZGJfcGFnZV9oYXNo X2xvY2tzCTE2CitzaG93IHNlc3Npb24gdmFyaWFibGVzIGxpa2UgJ2lubm9kYl9wYWdlX2hhc2hf bG9ja3MnOworVmFyaWFibGVfbmFtZQlWYWx1ZQoraW5ub2RiX3BhZ2VfaGFzaF9sb2NrcwkxNgor c2VsZWN0ICogZnJvbSBpbmZvcm1hdGlvbl9zY2hlbWEuZ2xvYmFsX3ZhcmlhYmxlcyB3aGVyZSB2 YXJpYWJsZV9uYW1lPSdpbm5vZGJfcGFnZV9oYXNoX2xvY2tzJzsKK1ZBUklBQkxFX05BTUUJVkFS SUFCTEVfVkFMVUUKK0lOTk9EQl9QQUdFX0hBU0hfTE9DS1MJMTYKK3NlbGVjdCAqIGZyb20gaW5m b3JtYXRpb25fc2NoZW1hLnNlc3Npb25fdmFyaWFibGVzIHdoZXJlIHZhcmlhYmxlX25hbWU9J2lu bm9kYl9wYWdlX2hhc2hfbG9ja3MnOworVkFSSUFCTEVfTkFNRQlWQVJJQUJMRV9WQUxVRQorSU5O T0RCX1BBR0VfSEFTSF9MT0NLUwkxNgorc2V0IGdsb2JhbCBpbm5vZGJfcGFnZV9oYXNoX2xvY2tz PTE7CitFUlJPUiBIWTAwMDogVmFyaWFibGUgJ2lubm9kYl9wYWdlX2hhc2hfbG9ja3MnIGlzIGEg cmVhZCBvbmx5IHZhcmlhYmxlCitzZXQgQEBzZXNzaW9uLmlubm9kYl9wYWdlX2hhc2hfbG9ja3M9 J3NvbWUnOworRVJST1IgSFkwMDA6IFZhcmlhYmxlICdpbm5vZGJfcGFnZV9oYXNoX2xvY2tzJyBp cyBhIHJlYWQgb25seSB2YXJpYWJsZQoKPT09IGFkZGVkIGZpbGUgJ215c3FsLXRlc3Qvc3VpdGUv c3lzX3ZhcnMvci9pbm5vZGJfdHJ4X3JzZWdfbl9zbG90c19kZWJ1Z19iYXNpYy5yZXN1bHQnCi0t LSBhL215c3FsLXRlc3Qvc3VpdGUvc3lzX3ZhcnMvci9pbm5vZGJfdHJ4X3JzZWdfbl9zbG90c19k ZWJ1Z19iYXNpYy5yZXN1bHQJMTk3MC0wMS0wMSAwMDowMDowMCArMDAwMAorKysgYi9teXNxbC10 ZXN0L3N1aXRlL3N5c192YXJzL3IvaW5ub2RiX3RyeF9yc2VnX25fc2xvdHNfZGVidWdfYmFzaWMu cmVzdWx0CTIwMTItMDEtMTYgMTQ6Mzk6MDUgKzAwMDAKQEAgLTAsMCArMSw2NSBAQAorU0VUIEBz dGFydF9nbG9iYWxfdmFsdWUgPSBAQGdsb2JhbC5pbm5vZGJfdHJ4X3JzZWdfbl9zbG90c19kZWJ1 ZzsKK1NFTEVDVCBAc3RhcnRfZ2xvYmFsX3ZhbHVlOworQHN0YXJ0X2dsb2JhbF92YWx1ZQorMAor c2VsZWN0IEBAZ2xvYmFsLmlubm9kYl90cnhfcnNlZ19uX3Nsb3RzX2RlYnVnIGJldHdlZW4gMCBh bmQgMTAyNDsKK0BAZ2xvYmFsLmlubm9kYl90cnhfcnNlZ19uX3Nsb3RzX2RlYnVnIGJldHdlZW4g MCBhbmQgMTAyNAorMQorc2VsZWN0IEBAZ2xvYmFsLmlubm9kYl90cnhfcnNlZ19uX3Nsb3RzX2Rl YnVnOworQEBnbG9iYWwuaW5ub2RiX3RyeF9yc2VnX25fc2xvdHNfZGVidWcKKzAKK3NlbGVjdCBA QHNlc3Npb24uaW5ub2RiX3RyeF9yc2VnX25fc2xvdHNfZGVidWc7CitFUlJPUiBIWTAwMDogVmFy aWFibGUgJ2lubm9kYl90cnhfcnNlZ19uX3Nsb3RzX2RlYnVnJyBpcyBhIEdMT0JBTCB2YXJpYWJs ZQorc2hvdyBnbG9iYWwgdmFyaWFibGVzIGxpa2UgJ2lubm9kYl90cnhfcnNlZ19uX3Nsb3RzX2Rl YnVnJzsKK1ZhcmlhYmxlX25hbWUJVmFsdWUKK2lubm9kYl90cnhfcnNlZ19uX3Nsb3RzX2RlYnVn CTAKK3Nob3cgc2Vzc2lvbiB2YXJpYWJsZXMgbGlrZSAnaW5ub2RiX3RyeF9yc2VnX25fc2xvdHNf ZGVidWcnOworVmFyaWFibGVfbmFtZQlWYWx1ZQoraW5ub2RiX3RyeF9yc2VnX25fc2xvdHNfZGVi dWcJMAorc2VsZWN0ICogZnJvbSBpbmZvcm1hdGlvbl9zY2hlbWEuZ2xvYmFsX3ZhcmlhYmxlcyB3 aGVyZSB2YXJpYWJsZV9uYW1lPSdpbm5vZGJfdHJ4X3JzZWdfbl9zbG90c19kZWJ1Zyc7CitWQVJJ QUJMRV9OQU1FCVZBUklBQkxFX1ZBTFVFCitJTk5PREJfVFJYX1JTRUdfTl9TTE9UU19ERUJVRwkw CitzZWxlY3QgKiBmcm9tIGluZm9ybWF0aW9uX3NjaGVtYS5zZXNzaW9uX3ZhcmlhYmxlcyB3aGVy ZSB2YXJpYWJsZV9uYW1lPSdpbm5vZGJfdHJ4X3JzZWdfbl9zbG90c19kZWJ1Zyc7CitWQVJJQUJM RV9OQU1FCVZBUklBQkxFX1ZBTFVFCitJTk5PREJfVFJYX1JTRUdfTl9TTE9UU19ERUJVRwkwCitz ZXQgZ2xvYmFsIGlubm9kYl90cnhfcnNlZ19uX3Nsb3RzX2RlYnVnPTE7CitzZWxlY3QgQEBnbG9i YWwuaW5ub2RiX3RyeF9yc2VnX25fc2xvdHNfZGVidWc7CitAQGdsb2JhbC5pbm5vZGJfdHJ4X3Jz ZWdfbl9zbG90c19kZWJ1ZworMQorc2VsZWN0ICogZnJvbSBpbmZvcm1hdGlvbl9zY2hlbWEuZ2xv YmFsX3ZhcmlhYmxlcyB3aGVyZSB2YXJpYWJsZV9uYW1lPSdpbm5vZGJfdHJ4X3JzZWdfbl9zbG90 c19kZWJ1Zyc7CitWQVJJQUJMRV9OQU1FCVZBUklBQkxFX1ZBTFVFCitJTk5PREJfVFJYX1JTRUdf Tl9TTE9UU19ERUJVRwkxCitzZWxlY3QgKiBmcm9tIGluZm9ybWF0aW9uX3NjaGVtYS5zZXNzaW9u X3ZhcmlhYmxlcyB3aGVyZSB2YXJpYWJsZV9uYW1lPSdpbm5vZGJfdHJ4X3JzZWdfbl9zbG90c19k ZWJ1Zyc7CitWQVJJQUJMRV9OQU1FCVZBUklBQkxFX1ZBTFVFCitJTk5PREJfVFJYX1JTRUdfTl9T TE9UU19ERUJVRwkxCitzZXQgQEBnbG9iYWwuaW5ub2RiX3RyeF9yc2VnX25fc2xvdHNfZGVidWc9 MDsKK3NlbGVjdCBAQGdsb2JhbC5pbm5vZGJfdHJ4X3JzZWdfbl9zbG90c19kZWJ1ZzsKK0BAZ2xv YmFsLmlubm9kYl90cnhfcnNlZ19uX3Nsb3RzX2RlYnVnCiswCitzZWxlY3QgKiBmcm9tIGluZm9y bWF0aW9uX3NjaGVtYS5nbG9iYWxfdmFyaWFibGVzIHdoZXJlIHZhcmlhYmxlX25hbWU9J2lubm9k Yl90cnhfcnNlZ19uX3Nsb3RzX2RlYnVnJzsKK1ZBUklBQkxFX05BTUUJVkFSSUFCTEVfVkFMVUUK K0lOTk9EQl9UUlhfUlNFR19OX1NMT1RTX0RFQlVHCTAKK3NlbGVjdCAqIGZyb20gaW5mb3JtYXRp b25fc2NoZW1hLnNlc3Npb25fdmFyaWFibGVzIHdoZXJlIHZhcmlhYmxlX25hbWU9J2lubm9kYl90 cnhfcnNlZ19uX3Nsb3RzX2RlYnVnJzsKK1ZBUklBQkxFX05BTUUJVkFSSUFCTEVfVkFMVUUKK0lO Tk9EQl9UUlhfUlNFR19OX1NMT1RTX0RFQlVHCTAKK3NldCBzZXNzaW9uIGlubm9kYl90cnhfcnNl Z19uX3Nsb3RzX2RlYnVnPSdzb21lJzsKK0VSUk9SIEhZMDAwOiBWYXJpYWJsZSAnaW5ub2RiX3Ry eF9yc2VnX25fc2xvdHNfZGVidWcnIGlzIGEgR0xPQkFMIHZhcmlhYmxlIGFuZCBzaG91bGQgYmUg c2V0IHdpdGggU0VUIEdMT0JBTAorc2V0IEBAc2Vzc2lvbi5pbm5vZGJfdHJ4X3JzZWdfbl9zbG90 c19kZWJ1Zz0nc29tZSc7CitFUlJPUiBIWTAwMDogVmFyaWFibGUgJ2lubm9kYl90cnhfcnNlZ19u X3Nsb3RzX2RlYnVnJyBpcyBhIEdMT0JBTCB2YXJpYWJsZSBhbmQgc2hvdWxkIGJlIHNldCB3aXRo IFNFVCBHTE9CQUwKK3NldCBnbG9iYWwgaW5ub2RiX3RyeF9yc2VnX25fc2xvdHNfZGVidWc9MS4x OworRVJST1IgNDIwMDA6IEluY29ycmVjdCBhcmd1bWVudCB0eXBlIHRvIHZhcmlhYmxlICdpbm5v ZGJfdHJ4X3JzZWdfbl9zbG90c19kZWJ1ZycKK3NldCBnbG9iYWwgaW5ub2RiX3RyeF9yc2VnX25f c2xvdHNfZGVidWc9J2Zvbyc7CitFUlJPUiA0MjAwMDogSW5jb3JyZWN0IGFyZ3VtZW50IHR5cGUg dG8gdmFyaWFibGUgJ2lubm9kYl90cnhfcnNlZ19uX3Nsb3RzX2RlYnVnJworc2V0IGdsb2JhbCBp bm5vZGJfdHJ4X3JzZWdfbl9zbG90c19kZWJ1Zz0tMjsKK1dhcm5pbmdzOgorV2FybmluZwkxMjky CVRydW5jYXRlZCBpbmNvcnJlY3QgaW5ub2RiX3RyeF9yc2VnX25fc2xvdHNfZGVidWcgdmFsdWU6 ICctMicKK3NldCBnbG9iYWwgaW5ub2RiX3RyeF9yc2VnX25fc2xvdHNfZGVidWc9MWUxOworRVJS T1IgNDIwMDA6IEluY29ycmVjdCBhcmd1bWVudCB0eXBlIHRvIHZhcmlhYmxlICdpbm5vZGJfdHJ4 X3JzZWdfbl9zbG90c19kZWJ1ZycKK3NldCBnbG9iYWwgaW5ub2RiX3RyeF9yc2VnX25fc2xvdHNf ZGVidWc9MTAyNDsKK3NldCBnbG9iYWwgaW5ub2RiX3RyeF9yc2VnX25fc2xvdHNfZGVidWc9MTAy NTsKK1dhcm5pbmdzOgorV2FybmluZwkxMjkyCVRydW5jYXRlZCBpbmNvcnJlY3QgaW5ub2RiX3Ry eF9yc2VnX25fc2xvdHNfZGVidWcgdmFsdWU6ICcxMDI1JworU0VUIEBAZ2xvYmFsLmlubm9kYl90 cnhfcnNlZ19uX3Nsb3RzX2RlYnVnID0gQHN0YXJ0X2dsb2JhbF92YWx1ZTsKK1NFTEVDVCBAQGds b2JhbC5pbm5vZGJfdHJ4X3JzZWdfbl9zbG90c19kZWJ1ZzsKK0BAZ2xvYmFsLmlubm9kYl90cnhf cnNlZ19uX3Nsb3RzX2RlYnVnCiswCgo9PT0gbW9kaWZpZWQgZmlsZSAnbXlzcWwtdGVzdC9zdWl0 ZS9zeXNfdmFycy9yL3BsdWdpbl9kaXJfYmFzaWMucmVzdWx0JwotLS0gYS9teXNxbC10ZXN0L3N1 aXRlL3N5c192YXJzL3IvcGx1Z2luX2Rpcl9iYXNpYy5yZXN1bHQJMjAxMS0wOC0xNiAwOTowODox MCArMDAwMAorKysgYi9teXNxbC10ZXN0L3N1aXRlL3N5c192YXJzL3IvcGx1Z2luX2Rpcl9iYXNp Yy5yZXN1bHQJMjAxMi0wMS0xNiAxMDowNDoyOCArMDAwMApAQCAtMSwyMCArMSwyMCBAQAogc2Vs ZWN0IEBAZ2xvYmFsLnBsdWdpbl9kaXI7CiBAQGdsb2JhbC5wbHVnaW5fZGlyCi1NWVNRTF9UTVBf RElSCitNWVNRTF9UTVBfRElSLwogc2VsZWN0IEBAc2Vzc2lvbi5wbHVnaW5fZGlyOwogRVJST1Ig SFkwMDA6IFZhcmlhYmxlICdwbHVnaW5fZGlyJyBpcyBhIEdMT0JBTCB2YXJpYWJsZQogc2hvdyBn bG9iYWwgdmFyaWFibGVzIGxpa2UgJ3BsdWdpbl9kaXInOwogVmFyaWFibGVfbmFtZQlWYWx1ZQot cGx1Z2luX2RpcglNWVNRTF9UTVBfRElSCitwbHVnaW5fZGlyCU1ZU1FMX1RNUF9ESVIvCiBzaG93 IHNlc3Npb24gdmFyaWFibGVzIGxpa2UgJ3BsdWdpbl9kaXInOwogVmFyaWFibGVfbmFtZQlWYWx1 ZQotcGx1Z2luX2RpcglNWVNRTF9UTVBfRElSCitwbHVnaW5fZGlyCU1ZU1FMX1RNUF9ESVIvCiBz ZWxlY3QgKiBmcm9tIGluZm9ybWF0aW9uX3NjaGVtYS5nbG9iYWxfdmFyaWFibGVzIHdoZXJlIHZh cmlhYmxlX25hbWU9J3BsdWdpbl9kaXInOwogVkFSSUFCTEVfTkFNRQlWQVJJQUJMRV9WQUxVRQot UExVR0lOX0RJUglNWVNRTF9UTVBfRElSCitQTFVHSU5fRElSCU1ZU1FMX1RNUF9ESVIvCiBzZWxl Y3QgKiBmcm9tIGluZm9ybWF0aW9uX3NjaGVtYS5zZXNzaW9uX3ZhcmlhYmxlcyB3aGVyZSB2YXJp YWJsZV9uYW1lPSdwbHVnaW5fZGlyJzsKIFZBUklBQkxFX05BTUUJVkFSSUFCTEVfVkFMVUUKLVBM VUdJTl9ESVIJTVlTUUxfVE1QX0RJUgorUExVR0lOX0RJUglNWVNRTF9UTVBfRElSLwogc2V0IGds b2JhbCBwbHVnaW5fZGlyPTE7CiBFUlJPUiBIWTAwMDogVmFyaWFibGUgJ3BsdWdpbl9kaXInIGlz IGEgcmVhZCBvbmx5IHZhcmlhYmxlCiBzZXQgc2Vzc2lvbiBwbHVnaW5fZGlyPTE7Cgo9PT0gbW9k aWZpZWQgZmlsZSAnbXlzcWwtdGVzdC9zdWl0ZS9zeXNfdmFycy90L2FsbF92YXJzLnRlc3QnCi0t LSBhL215c3FsLXRlc3Qvc3VpdGUvc3lzX3ZhcnMvdC9hbGxfdmFycy50ZXN0CTIwMTItMDEtMTAg MDU6MjY6MjkgKzAwMDAKKysrIGIvbXlzcWwtdGVzdC9zdWl0ZS9zeXNfdmFycy90L2FsbF92YXJz LnRlc3QJMjAxMi0wMS0xNiAxNToxMTozOSArMDAwMApAQCAtNTIsMTIgKzUyLDYgQEAgZXZhbCBs b2FkIGRhdGEgaW5maWxlICIkTVlTUUxURVNUX1ZBUkRJUgogaW5zZXJ0IGludG8gdDIgc2VsZWN0 IHZhcmlhYmxlX25hbWUgZnJvbSBpbmZvcm1hdGlvbl9zY2hlbWEuZ2xvYmFsX3ZhcmlhYmxlczsK IGluc2VydCBpbnRvIHQyIHNlbGVjdCB2YXJpYWJsZV9uYW1lIGZyb20gaW5mb3JtYXRpb25fc2No ZW1hLnNlc3Npb25fdmFyaWFibGVzOwogCi0jIFRoZXNlIGFyZSBvbmx5IHByZXNlbnQgaW4gZGVi dWcgYnVpbGRzLgotZGVsZXRlIGZyb20gdDIgd2hlcmUgdmFyaWFibGVfbmFtZT0naW5ub2RiX2No YW5nZV9idWZmZXJpbmdfZGVidWcnOwotZGVsZXRlIGZyb20gdDIgd2hlcmUgdmFyaWFibGVfbmFt ZT0naW5ub2RiX3BhZ2VfaGFzaF9sb2Nrcyc7Ci1kZWxldGUgZnJvbSB0MiB3aGVyZSB2YXJpYWJs ZV9uYW1lPSdpbm5vZGJfZG91Ymxld3JpdGVfYmF0Y2hfc2l6ZSc7Ci1kZWxldGUgZnJvbSB0MiB3 aGVyZSB2YXJpYWJsZV9uYW1lPSdpbm5vZGJfdHJ4X3JzZWdfbl9zbG90c19kZWJ1Zyc7Ci0KICMg UGVyZm9ybWFuY2Ugc2NoZW1hIHZhcmlhYmxlcyBhcmUgdG9vIGxvbmcgZm9yIGZpbGVzIG5hbWVk CiAjICdteXNxbC10ZXN0L3N1aXRlL3N5c192YXJzL3QvJyAuLi4KICMgLi4uICdwZXJmb3JtYW5j ZV9zY2hlbWFfZXZlbnRzX3dhaXRzX2hpc3RvcnlfbG9uZ19zaXplX2Jhc2ljLW1hc3Rlci5vcHQn Cgo9PT0gbW9kaWZpZWQgZmlsZSAnbXlzcWwtdGVzdC9zdWl0ZS9zeXNfdmFycy90L2NoYXJhY3Rl cl9zZXRzX2Rpcl9iYXNpYy50ZXN0JwotLS0gYS9teXNxbC10ZXN0L3N1aXRlL3N5c192YXJzL3Qv Y2hhcmFjdGVyX3NldHNfZGlyX2Jhc2ljLnRlc3QJMjAxMC0wMi0xNyAwMzoxNDowOSArMDAwMAor KysgYi9teXNxbC10ZXN0L3N1aXRlL3N5c192YXJzL3QvY2hhcmFjdGVyX3NldHNfZGlyX2Jhc2lj LnRlc3QJMjAxMi0wMS0xNiAxMDowNDoyOCArMDAwMApAQCAtMSwxNyArMSwyNiBAQAogIwogIyBz aG93IHRoZSBnbG9iYWwgYW5kIHNlc3Npb24gdmFsdWVzOwogIwotLS1yZXBsYWNlX3Jlc3VsdCAk TVlTUUxfQ0hBUlNFVFNESVIgTVlTUUxfQ0hBUlNFVFNESVIKKworIyB3b3JrYXJvdW5kIHRvIGFk anVzdCBmb3IgdGhlIGRpcmVjdG9yeSBzZXBhcmF0b3JzIGJlaW5nIGRpZmZlcmVudCBpbiAKKyMg ZGlmZmVyZW50IE9TZXMgOiBzbGFzaCBvbiB1bml4ZXMgYW5kIGJhY2tzbGFzaCBvciBzbGFzaCBv biB3aW5kb3dzLgorIyBUT0RPOiBmaXggd2l0aCBhIHByb3BlciBjb21wYXJpc29uIGluIG15c3Fs dGVzdAorbGV0ICRyY2Q9IGBTRUxFQ1QgUkVQTEFDRSgnJE1ZU1FMX0NIQVJTRVRTRElSJywgJ1xc XFxcJywgJy4nKWA7CitsZXQgJHJjZD0gYFNFTEVDVCBSRVBMQUNFKCckcmNkJywgJy8nLCAnLicp YDsKK2xldCAkcmVnZXhfY2hhcnNldGRpcj0gYFNFTEVDVCAnLyRyY2RbXFxcXFwvXFxcXFxdL01Z U1FMX0NIQVJTRVRTRElSLydgOworCistLXJlcGxhY2VfcmVnZXggJHJlZ2V4X2NoYXJzZXRkaXIK IHNlbGVjdCBAQGdsb2JhbC5jaGFyYWN0ZXJfc2V0c19kaXI7CisKIC0tZXJyb3IgRVJfSU5DT1JS RUNUX0dMT0JBTF9MT0NBTF9WQVIKIHNlbGVjdCBAQHNlc3Npb24uY2hhcmFjdGVyX3NldHNfZGly OwotLS1yZXBsYWNlX3Jlc3VsdCAkTVlTUUxfQ0hBUlNFVFNESVIgTVlTUUxfQ0hBUlNFVFNESVIK Ky0tcmVwbGFjZV9yZWdleCAkcmVnZXhfY2hhcnNldGRpcgogc2hvdyBnbG9iYWwgdmFyaWFibGVz IGxpa2UgJ2NoYXJhY3Rlcl9zZXRzX2Rpcic7Ci0tLXJlcGxhY2VfcmVzdWx0ICRNWVNRTF9DSEFS U0VUU0RJUiBNWVNRTF9DSEFSU0VUU0RJUgorLS1yZXBsYWNlX3JlZ2V4ICRyZWdleF9jaGFyc2V0 ZGlyCiBzaG93IHNlc3Npb24gdmFyaWFibGVzIGxpa2UgJ2NoYXJhY3Rlcl9zZXRzX2Rpcic7Ci0t LXJlcGxhY2VfcmVzdWx0ICRNWVNRTF9DSEFSU0VUU0RJUiBNWVNRTF9DSEFSU0VUU0RJUgorLS1y ZXBsYWNlX3JlZ2V4ICRyZWdleF9jaGFyc2V0ZGlyCiBzZWxlY3QgKiBmcm9tIGluZm9ybWF0aW9u X3NjaGVtYS5nbG9iYWxfdmFyaWFibGVzIHdoZXJlIHZhcmlhYmxlX25hbWU9J2NoYXJhY3Rlcl9z ZXRzX2Rpcic7Ci0tLXJlcGxhY2VfcmVzdWx0ICRNWVNRTF9DSEFSU0VUU0RJUiBNWVNRTF9DSEFS U0VUU0RJUgorLS1yZXBsYWNlX3JlZ2V4ICRyZWdleF9jaGFyc2V0ZGlyCiBzZWxlY3QgKiBmcm9t IGluZm9ybWF0aW9uX3NjaGVtYS5zZXNzaW9uX3ZhcmlhYmxlcyB3aGVyZSB2YXJpYWJsZV9uYW1l PSdjaGFyYWN0ZXJfc2V0c19kaXInOwogCiAjCgo9PT0gYWRkZWQgZmlsZSAnbXlzcWwtdGVzdC9z dWl0ZS9zeXNfdmFycy90L2lubm9kYl9jaGFuZ2VfYnVmZmVyaW5nX2RlYnVnX2Jhc2ljLnRlc3Qn Ci0tLSBhL215c3FsLXRlc3Qvc3VpdGUvc3lzX3ZhcnMvdC9pbm5vZGJfY2hhbmdlX2J1ZmZlcmlu Z19kZWJ1Z19iYXNpYy50ZXN0CTE5NzAtMDEtMDEgMDA6MDA6MDAgKzAwMDAKKysrIGIvbXlzcWwt dGVzdC9zdWl0ZS9zeXNfdmFycy90L2lubm9kYl9jaGFuZ2VfYnVmZmVyaW5nX2RlYnVnX2Jhc2lj LnRlc3QJMjAxMi0wMS0xNiAxNDozOTowNSArMDAwMApAQCAtMCwwICsxLDUyIEBACistLXNvdXJj ZSBpbmNsdWRlL2hhdmVfaW5ub2RiLmluYworLS1zb3VyY2UgaW5jbHVkZS9oYXZlX2RlYnVnLmlu YworCitTRVQgQHN0YXJ0X2dsb2JhbF92YWx1ZSA9IEBAZ2xvYmFsLmlubm9kYl9jaGFuZ2VfYnVm ZmVyaW5nX2RlYnVnOworU0VMRUNUIEBzdGFydF9nbG9iYWxfdmFsdWU7CisKKyMKKyMgZXhpc3Rz IGFzIGdsb2JhbCBvbmx5CisjCitzZWxlY3QgQEBnbG9iYWwuaW5ub2RiX2NoYW5nZV9idWZmZXJp bmdfZGVidWcgaW4gKDAsIDEpOworc2VsZWN0IEBAZ2xvYmFsLmlubm9kYl9jaGFuZ2VfYnVmZmVy aW5nX2RlYnVnOworLS1lcnJvciBFUl9JTkNPUlJFQ1RfR0xPQkFMX0xPQ0FMX1ZBUgorc2VsZWN0 IEBAc2Vzc2lvbi5pbm5vZGJfY2hhbmdlX2J1ZmZlcmluZ19kZWJ1ZzsKK3Nob3cgZ2xvYmFsIHZh cmlhYmxlcyBsaWtlICdpbm5vZGJfY2hhbmdlX2J1ZmZlcmluZ19kZWJ1Zyc7CitzaG93IHNlc3Np b24gdmFyaWFibGVzIGxpa2UgJ2lubm9kYl9jaGFuZ2VfYnVmZmVyaW5nX2RlYnVnJzsKK3NlbGVj dCAqIGZyb20gaW5mb3JtYXRpb25fc2NoZW1hLmdsb2JhbF92YXJpYWJsZXMgd2hlcmUgdmFyaWFi bGVfbmFtZT0naW5ub2RiX2NoYW5nZV9idWZmZXJpbmdfZGVidWcnOworc2VsZWN0ICogZnJvbSBp bmZvcm1hdGlvbl9zY2hlbWEuc2Vzc2lvbl92YXJpYWJsZXMgd2hlcmUgdmFyaWFibGVfbmFtZT0n aW5ub2RiX2NoYW5nZV9idWZmZXJpbmdfZGVidWcnOworCisjCisjIHNob3cgdGhhdCBpdCdzIHdy aXRhYmxlCisjCitzZXQgZ2xvYmFsIGlubm9kYl9jaGFuZ2VfYnVmZmVyaW5nX2RlYnVnPTE7Citz ZWxlY3QgQEBnbG9iYWwuaW5ub2RiX2NoYW5nZV9idWZmZXJpbmdfZGVidWc7CitzZWxlY3QgKiBm cm9tIGluZm9ybWF0aW9uX3NjaGVtYS5nbG9iYWxfdmFyaWFibGVzIHdoZXJlIHZhcmlhYmxlX25h bWU9J2lubm9kYl9jaGFuZ2VfYnVmZmVyaW5nX2RlYnVnJzsKK3NlbGVjdCAqIGZyb20gaW5mb3Jt YXRpb25fc2NoZW1hLnNlc3Npb25fdmFyaWFibGVzIHdoZXJlIHZhcmlhYmxlX25hbWU9J2lubm9k Yl9jaGFuZ2VfYnVmZmVyaW5nX2RlYnVnJzsKK3NldCBAQGdsb2JhbC5pbm5vZGJfY2hhbmdlX2J1 ZmZlcmluZ19kZWJ1Zz0wOworc2VsZWN0IEBAZ2xvYmFsLmlubm9kYl9jaGFuZ2VfYnVmZmVyaW5n X2RlYnVnOworc2VsZWN0ICogZnJvbSBpbmZvcm1hdGlvbl9zY2hlbWEuZ2xvYmFsX3ZhcmlhYmxl cyB3aGVyZSB2YXJpYWJsZV9uYW1lPSdpbm5vZGJfY2hhbmdlX2J1ZmZlcmluZ19kZWJ1Zyc7Citz ZWxlY3QgKiBmcm9tIGluZm9ybWF0aW9uX3NjaGVtYS5zZXNzaW9uX3ZhcmlhYmxlcyB3aGVyZSB2 YXJpYWJsZV9uYW1lPSdpbm5vZGJfY2hhbmdlX2J1ZmZlcmluZ19kZWJ1Zyc7CistLWVycm9yIEVS X0dMT0JBTF9WQVJJQUJMRQorc2V0IHNlc3Npb24gaW5ub2RiX2NoYW5nZV9idWZmZXJpbmdfZGVi dWc9J3NvbWUnOworLS1lcnJvciBFUl9HTE9CQUxfVkFSSUFCTEUKK3NldCBAQHNlc3Npb24uaW5u b2RiX2NoYW5nZV9idWZmZXJpbmdfZGVidWc9J3NvbWUnOworCisjCisjIGluY29ycmVjdCB0eXBl cworIworLS1lcnJvciBFUl9XUk9OR19UWVBFX0ZPUl9WQVIKK3NldCBnbG9iYWwgaW5ub2RiX2No YW5nZV9idWZmZXJpbmdfZGVidWc9MS4xOworLS1lcnJvciBFUl9XUk9OR19UWVBFX0ZPUl9WQVIK K3NldCBnbG9iYWwgaW5ub2RiX2NoYW5nZV9idWZmZXJpbmdfZGVidWc9J2Zvbyc7CitzZXQgZ2xv YmFsIGlubm9kYl9jaGFuZ2VfYnVmZmVyaW5nX2RlYnVnPS0yOworLS1lcnJvciBFUl9XUk9OR19U WVBFX0ZPUl9WQVIKK3NldCBnbG9iYWwgaW5ub2RiX2NoYW5nZV9idWZmZXJpbmdfZGVidWc9MWUx Oworc2V0IGdsb2JhbCBpbm5vZGJfY2hhbmdlX2J1ZmZlcmluZ19kZWJ1Zz0yOworCisjCisjIENs ZWFudXAKKyMKKworU0VUIEBAZ2xvYmFsLmlubm9kYl9jaGFuZ2VfYnVmZmVyaW5nX2RlYnVnID0g QHN0YXJ0X2dsb2JhbF92YWx1ZTsKK1NFTEVDVCBAQGdsb2JhbC5pbm5vZGJfY2hhbmdlX2J1ZmZl cmluZ19kZWJ1ZzsKCj09PSBhZGRlZCBmaWxlICdteXNxbC10ZXN0L3N1aXRlL3N5c192YXJzL3Qv aW5ub2RiX2RvdWJsZXdyaXRlX2JhdGNoX3NpemVfYmFzaWMudGVzdCcKLS0tIGEvbXlzcWwtdGVz dC9zdWl0ZS9zeXNfdmFycy90L2lubm9kYl9kb3VibGV3cml0ZV9iYXRjaF9zaXplX2Jhc2ljLnRl c3QJMTk3MC0wMS0wMSAwMDowMDowMCArMDAwMAorKysgYi9teXNxbC10ZXN0L3N1aXRlL3N5c192 YXJzL3QvaW5ub2RiX2RvdWJsZXdyaXRlX2JhdGNoX3NpemVfYmFzaWMudGVzdAkyMDEyLTAxLTE2 IDE1OjExOjM5ICswMDAwCkBAIC0wLDAgKzEsMjIgQEAKKy0tc291cmNlIGluY2x1ZGUvaGF2ZV9p bm5vZGIuaW5jCistLXNvdXJjZSBpbmNsdWRlL2hhdmVfZGVidWcuaW5jCisKKyMKKyMgZXhpc3Rz IGFzIGdsb2JhbCBvbmx5CisjCitzZWxlY3QgQEBnbG9iYWwuaW5ub2RiX2RvdWJsZXdyaXRlX2Jh dGNoX3NpemUgYmV0d2VlbiAxIGFuZCAxMjc7CitzZWxlY3QgQEBnbG9iYWwuaW5ub2RiX2RvdWJs ZXdyaXRlX2JhdGNoX3NpemU7CistLWVycm9yIEVSX0lOQ09SUkVDVF9HTE9CQUxfTE9DQUxfVkFS CitzZWxlY3QgQEBzZXNzaW9uLmlubm9kYl9kb3VibGV3cml0ZV9iYXRjaF9zaXplOworc2hvdyBn bG9iYWwgdmFyaWFibGVzIGxpa2UgJ2lubm9kYl9kb3VibGV3cml0ZV9iYXRjaF9zaXplJzsKK3No b3cgc2Vzc2lvbiB2YXJpYWJsZXMgbGlrZSAnaW5ub2RiX2RvdWJsZXdyaXRlX2JhdGNoX3NpemUn Oworc2VsZWN0ICogZnJvbSBpbmZvcm1hdGlvbl9zY2hlbWEuZ2xvYmFsX3ZhcmlhYmxlcyB3aGVy ZSB2YXJpYWJsZV9uYW1lPSdpbm5vZGJfZG91Ymxld3JpdGVfYmF0Y2hfc2l6ZSc7CitzZWxlY3Qg KiBmcm9tIGluZm9ybWF0aW9uX3NjaGVtYS5zZXNzaW9uX3ZhcmlhYmxlcyB3aGVyZSB2YXJpYWJs ZV9uYW1lPSdpbm5vZGJfZG91Ymxld3JpdGVfYmF0Y2hfc2l6ZSc7CisKKyMKKyMgc2hvdyB0aGF0 IGl0J3MgcmVhZC1vbmx5CisjCistLWVycm9yIEVSX0lOQ09SUkVDVF9HTE9CQUxfTE9DQUxfVkFS CitzZXQgZ2xvYmFsIGlubm9kYl9kb3VibGV3cml0ZV9iYXRjaF9zaXplPTE7CistLWVycm9yIEVS X0lOQ09SUkVDVF9HTE9CQUxfTE9DQUxfVkFSCitzZXQgQEBzZXNzaW9uLmlubm9kYl9kb3VibGV3 cml0ZV9iYXRjaF9zaXplPSdzb21lJzsKCj09PSBhZGRlZCBmaWxlICdteXNxbC10ZXN0L3N1aXRl L3N5c192YXJzL3QvaW5ub2RiX3BhZ2VfaGFzaF9sb2Nrc19iYXNpYy50ZXN0JwotLS0gYS9teXNx bC10ZXN0L3N1aXRlL3N5c192YXJzL3QvaW5ub2RiX3BhZ2VfaGFzaF9sb2Nrc19iYXNpYy50ZXN0 CTE5NzAtMDEtMDEgMDA6MDA6MDAgKzAwMDAKKysrIGIvbXlzcWwtdGVzdC9zdWl0ZS9zeXNfdmFy cy90L2lubm9kYl9wYWdlX2hhc2hfbG9ja3NfYmFzaWMudGVzdAkyMDEyLTAxLTE2IDE1OjExOjM5 ICswMDAwCkBAIC0wLDAgKzEsMjIgQEAKKy0tc291cmNlIGluY2x1ZGUvaGF2ZV9pbm5vZGIuaW5j CistLXNvdXJjZSBpbmNsdWRlL2hhdmVfZGVidWcuaW5jCisKKyMKKyMgZXhpc3RzIGFzIGdsb2Jh bCBvbmx5CisjCitzZWxlY3QgQEBnbG9iYWwuaW5ub2RiX3BhZ2VfaGFzaF9sb2NrcyBiZXR3ZWVu IDEgYW5kIDEwMjQ7CitzZWxlY3QgQEBnbG9iYWwuaW5ub2RiX3BhZ2VfaGFzaF9sb2NrczsKKy0t ZXJyb3IgRVJfSU5DT1JSRUNUX0dMT0JBTF9MT0NBTF9WQVIKK3NlbGVjdCBAQHNlc3Npb24uaW5u b2RiX3BhZ2VfaGFzaF9sb2NrczsKK3Nob3cgZ2xvYmFsIHZhcmlhYmxlcyBsaWtlICdpbm5vZGJf cGFnZV9oYXNoX2xvY2tzJzsKK3Nob3cgc2Vzc2lvbiB2YXJpYWJsZXMgbGlrZSAnaW5ub2RiX3Bh Z2VfaGFzaF9sb2Nrcyc7CitzZWxlY3QgKiBmcm9tIGluZm9ybWF0aW9uX3NjaGVtYS5nbG9iYWxf dmFyaWFibGVzIHdoZXJlIHZhcmlhYmxlX25hbWU9J2lubm9kYl9wYWdlX2hhc2hfbG9ja3MnOwor c2VsZWN0ICogZnJvbSBpbmZvcm1hdGlvbl9zY2hlbWEuc2Vzc2lvbl92YXJpYWJsZXMgd2hlcmUg dmFyaWFibGVfbmFtZT0naW5ub2RiX3BhZ2VfaGFzaF9sb2Nrcyc7CisKKyMKKyMgc2hvdyB0aGF0 IGl0J3MgcmVhZC1vbmx5CisjCistLWVycm9yIEVSX0lOQ09SUkVDVF9HTE9CQUxfTE9DQUxfVkFS CitzZXQgZ2xvYmFsIGlubm9kYl9wYWdlX2hhc2hfbG9ja3M9MTsKKy0tZXJyb3IgRVJfSU5DT1JS RUNUX0dMT0JBTF9MT0NBTF9WQVIKK3NldCBAQHNlc3Npb24uaW5ub2RiX3BhZ2VfaGFzaF9sb2Nr cz0nc29tZSc7Cgo9PT0gYWRkZWQgZmlsZSAnbXlzcWwtdGVzdC9zdWl0ZS9zeXNfdmFycy90L2lu bm9kYl90cnhfcnNlZ19uX3Nsb3RzX2RlYnVnX2Jhc2ljLnRlc3QnCi0tLSBhL215c3FsLXRlc3Qv c3VpdGUvc3lzX3ZhcnMvdC9pbm5vZGJfdHJ4X3JzZWdfbl9zbG90c19kZWJ1Z19iYXNpYy50ZXN0 CTE5NzAtMDEtMDEgMDA6MDA6MDAgKzAwMDAKKysrIGIvbXlzcWwtdGVzdC9zdWl0ZS9zeXNfdmFy cy90L2lubm9kYl90cnhfcnNlZ19uX3Nsb3RzX2RlYnVnX2Jhc2ljLnRlc3QJMjAxMi0wMS0xNiAx NDozOTowNSArMDAwMApAQCAtMCwwICsxLDUzIEBACistLXNvdXJjZSBpbmNsdWRlL2hhdmVfaW5u b2RiLmluYworLS1zb3VyY2UgaW5jbHVkZS9oYXZlX2RlYnVnLmluYworCitTRVQgQHN0YXJ0X2ds b2JhbF92YWx1ZSA9IEBAZ2xvYmFsLmlubm9kYl90cnhfcnNlZ19uX3Nsb3RzX2RlYnVnOworU0VM RUNUIEBzdGFydF9nbG9iYWxfdmFsdWU7CisKKyMKKyMgZXhpc3RzIGFzIGdsb2JhbCBvbmx5Cisj CitzZWxlY3QgQEBnbG9iYWwuaW5ub2RiX3RyeF9yc2VnX25fc2xvdHNfZGVidWcgYmV0d2VlbiAw IGFuZCAxMDI0Oworc2VsZWN0IEBAZ2xvYmFsLmlubm9kYl90cnhfcnNlZ19uX3Nsb3RzX2RlYnVn OworLS1lcnJvciBFUl9JTkNPUlJFQ1RfR0xPQkFMX0xPQ0FMX1ZBUgorc2VsZWN0IEBAc2Vzc2lv bi5pbm5vZGJfdHJ4X3JzZWdfbl9zbG90c19kZWJ1ZzsKK3Nob3cgZ2xvYmFsIHZhcmlhYmxlcyBs aWtlICdpbm5vZGJfdHJ4X3JzZWdfbl9zbG90c19kZWJ1Zyc7CitzaG93IHNlc3Npb24gdmFyaWFi bGVzIGxpa2UgJ2lubm9kYl90cnhfcnNlZ19uX3Nsb3RzX2RlYnVnJzsKK3NlbGVjdCAqIGZyb20g aW5mb3JtYXRpb25fc2NoZW1hLmdsb2JhbF92YXJpYWJsZXMgd2hlcmUgdmFyaWFibGVfbmFtZT0n aW5ub2RiX3RyeF9yc2VnX25fc2xvdHNfZGVidWcnOworc2VsZWN0ICogZnJvbSBpbmZvcm1hdGlv bl9zY2hlbWEuc2Vzc2lvbl92YXJpYWJsZXMgd2hlcmUgdmFyaWFibGVfbmFtZT0naW5ub2RiX3Ry eF9yc2VnX25fc2xvdHNfZGVidWcnOworCisjCisjIHNob3cgdGhhdCBpdCdzIHdyaXRhYmxlCisj CitzZXQgZ2xvYmFsIGlubm9kYl90cnhfcnNlZ19uX3Nsb3RzX2RlYnVnPTE7CitzZWxlY3QgQEBn bG9iYWwuaW5ub2RiX3RyeF9yc2VnX25fc2xvdHNfZGVidWc7CitzZWxlY3QgKiBmcm9tIGluZm9y bWF0aW9uX3NjaGVtYS5nbG9iYWxfdmFyaWFibGVzIHdoZXJlIHZhcmlhYmxlX25hbWU9J2lubm9k Yl90cnhfcnNlZ19uX3Nsb3RzX2RlYnVnJzsKK3NlbGVjdCAqIGZyb20gaW5mb3JtYXRpb25fc2No ZW1hLnNlc3Npb25fdmFyaWFibGVzIHdoZXJlIHZhcmlhYmxlX25hbWU9J2lubm9kYl90cnhfcnNl Z19uX3Nsb3RzX2RlYnVnJzsKK3NldCBAQGdsb2JhbC5pbm5vZGJfdHJ4X3JzZWdfbl9zbG90c19k ZWJ1Zz0wOworc2VsZWN0IEBAZ2xvYmFsLmlubm9kYl90cnhfcnNlZ19uX3Nsb3RzX2RlYnVnOwor c2VsZWN0ICogZnJvbSBpbmZvcm1hdGlvbl9zY2hlbWEuZ2xvYmFsX3ZhcmlhYmxlcyB3aGVyZSB2 YXJpYWJsZV9uYW1lPSdpbm5vZGJfdHJ4X3JzZWdfbl9zbG90c19kZWJ1Zyc7CitzZWxlY3QgKiBm cm9tIGluZm9ybWF0aW9uX3NjaGVtYS5zZXNzaW9uX3ZhcmlhYmxlcyB3aGVyZSB2YXJpYWJsZV9u YW1lPSdpbm5vZGJfdHJ4X3JzZWdfbl9zbG90c19kZWJ1Zyc7CistLWVycm9yIEVSX0dMT0JBTF9W QVJJQUJMRQorc2V0IHNlc3Npb24gaW5ub2RiX3RyeF9yc2VnX25fc2xvdHNfZGVidWc9J3NvbWUn OworLS1lcnJvciBFUl9HTE9CQUxfVkFSSUFCTEUKK3NldCBAQHNlc3Npb24uaW5ub2RiX3RyeF9y c2VnX25fc2xvdHNfZGVidWc9J3NvbWUnOworCisjCisjIGluY29ycmVjdCB0eXBlcworIworLS1l cnJvciBFUl9XUk9OR19UWVBFX0ZPUl9WQVIKK3NldCBnbG9iYWwgaW5ub2RiX3RyeF9yc2VnX25f c2xvdHNfZGVidWc9MS4xOworLS1lcnJvciBFUl9XUk9OR19UWVBFX0ZPUl9WQVIKK3NldCBnbG9i YWwgaW5ub2RiX3RyeF9yc2VnX25fc2xvdHNfZGVidWc9J2Zvbyc7CitzZXQgZ2xvYmFsIGlubm9k Yl90cnhfcnNlZ19uX3Nsb3RzX2RlYnVnPS0yOworLS1lcnJvciBFUl9XUk9OR19UWVBFX0ZPUl9W QVIKK3NldCBnbG9iYWwgaW5ub2RiX3RyeF9yc2VnX25fc2xvdHNfZGVidWc9MWUxOworc2V0IGds b2JhbCBpbm5vZGJfdHJ4X3JzZWdfbl9zbG90c19kZWJ1Zz0xMDI0Oworc2V0IGdsb2JhbCBpbm5v ZGJfdHJ4X3JzZWdfbl9zbG90c19kZWJ1Zz0xMDI1OworCisjCisjIENsZWFudXAKKyMKKworU0VU IEBAZ2xvYmFsLmlubm9kYl90cnhfcnNlZ19uX3Nsb3RzX2RlYnVnID0gQHN0YXJ0X2dsb2JhbF92 YWx1ZTsKK1NFTEVDVCBAQGdsb2JhbC5pbm5vZGJfdHJ4X3JzZWdfbl9zbG90c19kZWJ1ZzsKCj09 PSBtb2RpZmllZCBmaWxlICdteXNxbC10ZXN0L3QvY3R5cGVfbWFueS50ZXN0JwotLS0gYS9teXNx bC10ZXN0L3QvY3R5cGVfbWFueS50ZXN0CTIwMTEtMDEtMTcgMTI6MjY6MTMgKzAwMDAKKysrIGIv bXlzcWwtdGVzdC90L2N0eXBlX21hbnkudGVzdAkyMDEyLTAxLTE2IDA5OjAxOjUzICswMDAwCkBA IC0zMTksMyArMzE5LDE1IEBAIERST1AgVEFCTEUgdDI7CiAtLWVjaG8gIwogLS1lY2hvICMgRW5k IG9mIDUuNSB0ZXN0cwogLS1lY2hvICMKKworLS1lY2hvICMKKy0tZWNobyAjIEJ1ZyMxMTc2NjE0 MyA1OTE4NTogQVNTRVJUSU9OIEZBSUxFRDogKEZJWEVEID09IDEpLCBGSUxFCistLWVjaG8gIyBJ VEVNX1NUUkZVTkMuQ0MsIExJTkUgMjc2MAorLS1lY2hvICMKK0NSRUFURSBUQUJMRSB0MSAoYSBD SEFSKDEpIENIQVJTRVQgVVRGOCk7CitJTlNFUlQgSU5UTyB0MSBWQUxVRVMgKCdhJyksICgnYicp OworQ1JFQVRFIFRBQkxFIHQyIChhIEJJTkFSWSgxKSk7CistLWVycm9yIEVSX1NVQlFVRVJZX05P XzFfUk9XCitTRUxFQ1QgKiBGUk9NIHQyIFdIRVJFIGE9KFNFTEVDVCBhIEZST00gdDEpIEFORCBh PV9MQVRJTjEneCc7CitEUk9QIFRBQkxFIHQyOworRFJPUCBUQUJMRSB0MTsKCj09PSBtb2RpZmll ZCBmaWxlICdteXNxbC10ZXN0L3QvZnVuY190aW1lLnRlc3QnCi0tLSBhL215c3FsLXRlc3QvdC9m dW5jX3RpbWUudGVzdAkyMDEyLTAxLTEzIDA4OjM2OjQzICswMDAwCisrKyBiL215c3FsLXRlc3Qv dC9mdW5jX3RpbWUudGVzdAkyMDEyLTAxLTE3IDA4OjIzOjU3ICswMDAwCkBAIC0xMDA1LDYgKzEw MDUsMjcgQEAgZHJvcCB0YWJsZSB0MTsKIC0tZWNobyAjCiAKIC0tZWNobyAjCistLWVjaG8gIyBC VUcjMTM1NDUyMzYgLSBBU1NFUlQgSU4gU0VDX1NJTkNFX0VQT0NICistLWVjaG8gIworQ1JFQVRF IFRBQkxFIHQxIChhIFRJTUUgTk9UIE5VTEwpOworSU5TRVJUIElOVE8gdDEgVkFMVUVTICgnMDQ6 Mzk6MjQnKTsKK0lOU0VSVCBJTlRPIHQxIFZBTFVFUyAoJzAwOjIwOjA5Jyk7CitTRUxFQ1QgYSBG Uk9NIHQxCitXSEVSRSBDT05WRVJUX1RaKFRJTUVTVEFNUEFERChZRUFSICwgYSwgVElNRVNUQU1Q KCcwMDAwLTAwLTAwJykpLAorICAgICAgICAgICAgICAgICAnKzAwOjAwJywnKzAwOjAwJyk7CitT RUxFQ1QgYSBGUk9NIHQxCitXSEVSRSBDT05WRVJUX1RaKFRJTUVTVEFNUEFERChZRUFSLCBhLCBE QVRFKCcwMDAwLTAwLTAwJykpLAorICAgICAgICAgICAgICAgICAnKzAwOjAwJywnKzAwOjAwJyk7 CitEUk9QIFRBQkxFIHQxOworQ1JFQVRFIFRBQkxFIHQxIChhIFRJTUUpOworSU5TRVJUIElOVE8g dDEgVkFMVUVTICgnMDA6MDA6MDAnKTsKK1NFTEVDVCAqIEZST00gdDEgV0hFUkUgVElNRVNUQU1Q RElGRihNT05USCwgYSwgVElNRVNUQU1QKCcwMDAwLTAwLTAxJykpIElTIE5VTEw7CitTRUxFQ1Qg KiBGUk9NIHQxIFdIRVJFIFRJTUVTVEFNUERJRkYoTU9OVEgsIGEsIFRJTUVTVEFNUCcwMDAwLTAw LTAxIDAwOjAwOjAwJykgSVMgTlVMTDsKK1NFTEVDVCAqIEZST00gdDEgV0hFUkUgVElNRVNUQU1Q RElGRihNT05USCwgYSwgREFURSgnMDAwMC0wMC0wMScpKSBJUyBOVUxMOworU0VMRUNUICogRlJP TSB0MSBXSEVSRSBUSU1FU1RBTVBESUZGKE1PTlRILCBhLCBEQVRFJzAwMDAtMDAtMDEnKSBJUyBO VUxMOworRFJPUCBUQUJMRSB0MTsKKworLS1lY2hvICMKIC0tZWNobyAjIEJVRyMxMzM1NDM4NyAt IENSQVNIIElOIElOIE1ZX0RFQ0lNQUw6Ok9QRVJBVE9SIEZPUiBWSUVXIEFORCBGVU5DVElPTiBV TklYX1RJTUVTVEFNUCAKIC0tZWNobyAjIFBhcnQyICg1LjYpCiBDUkVBVEUgVEFCTEUgdDEgKGEg VkFSQ0hBUigzMikgTk9UIE5VTEwpOwoKPT09IG1vZGlmaWVkIGZpbGUgJ215c3FsLXRlc3QvdC9w YXJ0aXRpb24udGVzdCcKLS0tIGEvbXlzcWwtdGVzdC90L3BhcnRpdGlvbi50ZXN0CTIwMTEtMTAt MDYgMDk6NTA6NDAgKzAwMDAKKysrIGIvbXlzcWwtdGVzdC90L3BhcnRpdGlvbi50ZXN0CTIwMTIt MDEtMTggMTM6MDM6MTAgKzAwMDAKQEAgLTI0MzMsMyArMjQzMywyNyBAQCBTRUxFQ1QgMSBGUk9N IHQxIEFTIHQxXzAgSk9JTiB0MSBPTiB0MV8wCiBTRUxFQ1QgKiBGUk9NIHZ0bXA7CiBEUk9QIFZJ RVcgdnRtcDsKIERST1AgVEFCTEUgdDE7CisKKy0tZWNobyAjCistLWVjaG8gIyBCdWcjMTM1ODA3 NzUgQVNTRVJUSU9OIEZBSUxFRDogUkVDT1JEX0xFTkdUSCA9PSBNX1JFQ09SRF9MRU5HVEgsCist LWVjaG8gIyBGSUxFIEZJTEVTT1JUX1VUSUxTLkNDCistLWVjaG8gIworCitDUkVBVEUgVEFCTEUg dDEgKAorICBhIElOVCBQUklNQVJZIEtFWSwKKyAgYiBJTlQsCisgIGMgQ0hBUigxKSwKKyAgZCBJ TlQsCisgIEtFWSAoYyxkKQorKSBQQVJUSVRJT04gQlkgS0VZICgpIFBBUlRJVElPTlMgMTsKKwor SU5TRVJUIElOVE8gdDEgVkFMVUVTICgxLDEsJ2EnLDEpLCAoMiwyLCdhJywxKTsKKworU0VMRUNU IDEgRlJPTSB0MSBXSEVSRSAxIElOCisoU0VMRUNUICBncm91cF9jb25jYXQoYikKKyBGUk9NIHQx CisgV0hFUkUgYyA+IGdlb21mcm9tdGV4dCgncG9pbnQoMSAxKScpCisgR1JPVVAgQlkgYgorKTsK KworRFJPUCBUQUJMRSB0MTsKCj09PSBtb2RpZmllZCBmaWxlICdteXNxbC10ZXN0L3QvdXNlcl92 YXIudGVzdCcKLS0tIGEvbXlzcWwtdGVzdC90L3VzZXJfdmFyLnRlc3QJMjAxMS0xMC0yNyAwODow ODo0NiArMDAwMAorKysgYi9teXNxbC10ZXN0L3QvdXNlcl92YXIudGVzdAkyMDEyLTAxLTE3IDE0 OjQ0OjQ5ICswMDAwCkBAIC00MTUsMyArNDE1LDI0IEBAIElOU0VSVCBJTlRPIHQxIFZBTFVFUyAo MSksICgyKTsKIFNFTEVDVCBESVNUSU5DVCBAYTo9TUlOKHQxLmEpIEZST00gdDEsIHQxIEFTIHQy CiBHUk9VUCBCWSBAYjo9KFNFTEVDVCBDT1VOVCgqKSA+IHQyLmEpOwogRFJPUCBUQUJMRSB0MTsK KworIworIyBCdWcgIzExNzY0MzcxIDU3MTk2OiBNT1JFIEZVTiBXSVRIIEFTU0VSVElPTjogIVRB QkxFLT5GSUxFIHx8CisjIFRBQkxFLT5GSUxFLT5JTklURUQgPT0gSEFORExFUjo6CisjCisKK0NS RUFURSBUQUJMRSB0MShhIElOVCkgRU5HSU5FPUlubm9EQjsKK0lOU0VSVCBJTlRPIHQxIFZBTFVF UyAoMCk7CitTRUxFQ1QgRElTVElOQ1QgUE9XKENPVU5UKCopLCBAYTo9KFNFTEVDVCAxIEZST00g dDEgTEVGVCBKT0lOIHQxIEFTIHQyIE9OIEBhKSkKK0FTIGIgRlJPTSB0MSBHUk9VUCBCWSBhOwor U0VMRUNUIEBhOworRFJPUCBUQUJMRSB0MTsKK0NSRUFURSBUQUJMRSB0MShmMSBJTlQsIGYyIElO VCk7CitJTlNFUlQgSU5UTyB0MSBWQUxVRVMgKDEsMiksKDIsMyksKDMsMSk7CitDUkVBVEUgVEFC TEUgdDIoYSBJTlQpOworSU5TRVJUIElOVE8gdDIgVkFMVUVTICgxKTsKK1NFVCBAdmFyPU5VTEw7 CitTRUxFQ1QgQHZhcjo9KFNFTEVDVCBmMiBGUk9NIHQyIFdIRVJFIEB2YXIpIEZST00gdDEgR1JP VVAgQlkgZjEgT1JERVIgQlkgZjIgREVTQworTElNSVQgMTsKK1NFTEVDVCBAdmFyOworRFJPUCBU QUJMRSB0MSwgdDI7Cgo9PT0gbW9kaWZpZWQgZmlsZSAnc2NyaXB0cy9teXNxbF9zeXN0ZW1fdGFi bGVzLnNxbCcKLS0tIGEvc2NyaXB0cy9teXNxbF9zeXN0ZW1fdGFibGVzLnNxbAkyMDExLTEyLTE0 IDA4OjI0OjExICswMDAwCisrKyBiL3NjcmlwdHMvbXlzcWxfc3lzdGVtX3RhYmxlcy5zcWwJMjAx Mi0wMS0xNyAwOTowNDoxOSArMDAwMApAQCAtMTE3LDcgKzExNyw3IEBAIENSRUFURSBUQUJMRSBJ RiBOT1QgRVhJU1RTIGlubm9kYl90YWJsZV8KIAljbHVzdGVyZWRfaW5kZXhfc2l6ZQkJQklHSU5U IFVOU0lHTkVEIE5PVCBOVUxMLAogCXN1bV9vZl9vdGhlcl9pbmRleF9zaXplcwlCSUdJTlQgVU5T SUdORUQgTk9UIE5VTEwsCiAJUFJJTUFSWSBLRVkgKGRhdGFiYXNlX25hbWUsIHRhYmxlX25hbWUp Ci0pIEVOR0lORT1JTk5PREIgREVGQVVMVCBDSEFSU0VUPXV0Zjg7CispIEVOR0lORT1JTk5PREIg REVGQVVMVCBDSEFSU0VUPXV0ZjggQ09MTEFURT11dGY4X2JpbjsKIAogQ1JFQVRFIFRBQkxFIElG IE5PVCBFWElTVFMgaW5ub2RiX2luZGV4X3N0YXRzICgKIAlkYXRhYmFzZV9uYW1lCQkJVkFSQ0hB Uig2NCkgTk9UIE5VTEwsCkBAIC0xMzUsNyArMTM1LDcgQEAgQ1JFQVRFIFRBQkxFIElGIE5PVCBF WElTVFMgaW5ub2RiX2luZGV4XwogCVBSSU1BUlkgS0VZIChkYXRhYmFzZV9uYW1lLCB0YWJsZV9u YW1lLCBpbmRleF9uYW1lLCBzdGF0X25hbWUpLAogCUZPUkVJR04gS0VZIChkYXRhYmFzZV9uYW1l LCB0YWJsZV9uYW1lKQogCSAgUkVGRVJFTkNFUyBpbm5vZGJfdGFibGVfc3RhdHMgKGRhdGFiYXNl X25hbWUsIHRhYmxlX25hbWUpCi0pIEVOR0lORT1JTk5PREIgREVGQVVMVCBDSEFSU0VUPXV0Zjg7 CispIEVOR0lORT1JTk5PREIgREVGQVVMVCBDSEFSU0VUPXV0ZjggQ09MTEFURT11dGY4X2JpbjsK IAogU0VUIFNFU1NJT04gc3FsX21vZGU9QHNxbF9tb2RlX29yaWc7CiAKCj09PSBtb2RpZmllZCBm aWxlICdzY3JpcHRzL215c3FsZF9zYWZlLnNoJwotLS0gYS9zY3JpcHRzL215c3FsZF9zYWZlLnNo CTIwMTEtMTEtMTggMTI6NDg6NTIgKzAwMDAKKysrIGIvc2NyaXB0cy9teXNxbGRfc2FmZS5zaAky MDEyLTAxLTE3IDA5OjM5OjU0ICswMDAwCkBAIC03NDEsMTcgKzc0MSw1NSBAQCBjbWQ9IiRjbWQg JGFyZ3MiCiB0ZXN0IC1uICIkTk9IVVBfTklDRU5FU1MiICYmIGNtZD0iJGNtZCA8IC9kZXYvbnVs bCIKIAogbG9nX25vdGljZSAiU3RhcnRpbmcgJE1ZU1FMRCBkYWVtb24gd2l0aCBkYXRhYmFzZXMg ZnJvbSAkREFUQURJUiIKKworIyB2YXJpYWJsZSB0byB0cmFjayB0aGUgY3VycmVudCBudW1iZXIg b2YgImZhc3QiIChhLmsuYS4gc3Vic2Vjb25kKSByZXN0YXJ0cworZmFzdF9yZXN0YXJ0PTAKKyMg bWF4aW11bSBudW1iZXIgb2YgcmVzdGFydHMgYmVmb3JlIHRyb3R0bGluZyBraWNrcyBpbgorbWF4 X2Zhc3RfcmVzdGFydHM9NQorIyBmbGFnIHdoZXRoZXIgYSB1c2FibGUgc2xlZXAgY29tbWFuZCBl eGlzdHMKK2hhdmVfc2xlZXA9MQorCiB3aGlsZSB0cnVlCiBkbwogICBybSAtZiAkc2FmZV9teXNx bF91bml4X3BvcnQgIiRwaWRfZmlsZSIJIyBTb21lIGV4dHJhIHNhZmV0eQogCisgIHN0YXJ0X3Rp bWU9YGRhdGUgKyVNJVNgCisKICAgZXZhbF9sb2dfZXJyb3IgIiRjbWQiCiAKKyAgZW5kX3RpbWU9 YGRhdGUgKyVNJVNgCisKICAgaWYgdGVzdCAhIC1mICIkcGlkX2ZpbGUiCQkjIFRoaXMgaXMgcmVt b3ZlZCBpZiBub3JtYWwgc2h1dGRvd24KICAgdGhlbgogICAgIGJyZWFrCiAgIGZpCiAKKworICAj IHNhbml0eSBjaGVjayBpZiB0aW1lIHJlYWRpbmcgaXMgc2FuZSBhbmQgdGhlcmUncyBzbGVlcAor ICBpZiB0ZXN0ICRlbmRfdGltZSAtZ3QgMCAtYSAkaGF2ZV9zbGVlcCAtZ3QgMAorICB0aGVuCisg ICAgIyB0aHJvdHRsZSBkb3duIHRoZSBmYXN0IHJlc3RhcnRzCisgICAgaWYgdGVzdCAkZW5kX3Rp bWUgLWVxICRzdGFydF90aW1lCisgICAgdGhlbgorICAgICAgZmFzdF9yZXN0YXJ0PWBleHByICRm YXN0X3Jlc3RhcnQgKyAxYAorICAgICAgaWYgdGVzdCAkZmFzdF9yZXN0YXJ0IC1nZSAkbWF4X2Zh c3RfcmVzdGFydHMKKyAgICAgIHRoZW4KKyAgICAgICAgbG9nX25vdGljZSAiVGhlIHNlcnZlciBp cyByZXNwYXduaW5nIHRvbyBmYXN0LiBTbGVlcGluZyBmb3IgMSBzZWNvbmQuIgorICAgICAgICBz bGVlcCAxCisgICAgICAgIHNsZWVwX3N0YXRlPSQ/CisgICAgICAgIGlmIHRlc3QgJHNsZWVwX3N0 YXRlIC1ndCAwCisgICAgICAgIHRoZW4KKyAgICAgICAgICBsb2dfbm90aWNlICJUaGUgc2VydmVy IGlzIHJlc3Bhd25pbmcgdG9vIGZhc3QgYW5kIG5vIHdvcmtpbmcgc2xlZXAgY29tbWFuZC4gVHVy bmluZyBvZmYgdHJvdHRsaW5nLiIKKyAgICAgICAgICBoYXZlX3NsZWVwPTAKKyAgICAgICAgZmkK KworICAgICAgICBmYXN0X3Jlc3RhcnQ9MAorICAgICAgZmkKKyAgICBlbHNlCisgICAgICBmYXN0 X3Jlc3RhcnQ9MAorICAgIGZpCisgIGZpCisKICAgaWYgQFRBUkdFVF9MSU5VWEAgJiYgdGVzdCAk S0lMTF9NWVNRTEQgLWVxIDEKICAgdGhlbgogICAgICMgVGVzdCBpZiBvbmUgcHJvY2VzcyB3YXMg aGFuZ2luZy4KCj09PSBtb2RpZmllZCBmaWxlICdzY3JpcHRzL215c3FsaG90Y29weS5zaCcKLS0t IGEvc2NyaXB0cy9teXNxbGhvdGNvcHkuc2gJMjAxMS0wNi0zMCAxNTo0Njo1MyArMDAwMAorKysg Yi9zY3JpcHRzL215c3FsaG90Y29weS5zaAkyMDEyLTAxLTE3IDAzOjI1OjU3ICswMDAwCkBAIC0y NzIsMjMgKzI3MiwyOCBAQCBpZiAoIGRlZmluZWQgJG9wdHtyZWdleHB9ICkgewogICAgIH0KIH0K IAotIyAtLS0gZ2V0IGxpc3Qgb2YgdGFibGVzIHRvIGhvdGNvcHkgLS0tCisjIC0tLSBnZXQgbGlz dCBvZiB0YWJsZXMgYW5kIHZpZXdzIHRvIGhvdGNvcHkgLS0tCiAKIG15ICRoY19sb2NrcyA9ICIi OwogbXkgJGhjX3RhYmxlcyA9ICIiOworbXkgJGhjX2Jhc2VfdGFibGVzID0gIiI7CitteSAkaGNf dmlld3MgPSAiIjsKK215ICRudW1fYmFzZV90YWJsZXMgPSAwOworbXkgJG51bV92aWV3cyA9IDA7 CiBteSAkbnVtX3RhYmxlcyA9IDA7CiBteSAkbnVtX2ZpbGVzID0gMDsKIAogZm9yZWFjaCBteSAk cmRiICggQGRiX2Rlc2MgKSB7CiAgICAgbXkgJGRiID0gJHJkYi0+e3NyY307Ci0gICAgbXkgQGRi aF90YWJsZXMgPSBnZXRfbGlzdF9vZl90YWJsZXMoICRkYiApOworICAgIG15IEBkYmhfYmFzZV90 YWJsZXMgPSBnZXRfbGlzdF9vZl90YWJsZXMoICRkYiApOworICAgIG15IEBkYmhfdmlld3MgPSBn ZXRfbGlzdF9vZl92aWV3cyggJGRiICk7CiAKICAgICAjIyBmaWx0ZXIgb3V0IGNlcnRhaW4gc3lz dGVtIG5vbi1sb2NrYWJsZSB0YWJsZXMuIAogICAgICMjIGtlZXAgaW4gc3luYyB3aXRoIG15c3Fs ZHVtcC4KICAgICBpZiAoJGRiID1+IG0vXm15c3FsJC9pKQogICAgIHsKLSAgICAgIEBkYmhfdGFi bGVzID0gZ3JlcCAKLSAgICAgICAgeyAhL14oYXBwbHlfc3RhdHVzfHNjaGVtYXxnZW5lcmFsX2xv Z3xzbG93X2xvZykkLyB9IEBkYmhfdGFibGVzCisgICAgICBAZGJoX2Jhc2VfdGFibGVzID0gZ3Jl cCAKKyAgICAgICAgeyAhL14oYXBwbHlfc3RhdHVzfHNjaGVtYXxnZW5lcmFsX2xvZ3xzbG93X2xv ZykkLyB9IEBkYmhfYmFzZV90YWJsZXMKICAgICB9CiAKICAgICAjIyBnZW5lcmF0ZSByZWdleCBm b3IgdGFibGVzL2ZpbGVzCkBAIC0zMDMsMTEgKzMwOCwyMCBAQCBmb3JlYWNoIG15ICRyZGIgKCBA ZGJfZGVzYyApIHsKIAogICAgICAgICAjIyBmaWx0ZXIgKG91dCkgdGFibGVzIHNwZWNpZmllZCBp biB0X3JlZ2V4CiAgICAgICAgIHByaW50ICJGaWx0ZXJpbmcgdGFibGVzIHdpdGggJyR0X3JlZ2V4 J1xuIiBpZiAkb3B0e2RlYnVnfTsKLSAgICAgICAgQGRiaF90YWJsZXMgPSAoICRuZWdhdGVkIAot ICAgICAgICAgICAgICAgICAgICAgICAgPyBncmVwIHsgJF8gIX4gJHRfcmVnZXggfSBAZGJoX3Rh YmxlcwotICAgICAgICAgICAgICAgICAgICAgICAgOiBncmVwIHsgJF8gPX4gJHRfcmVnZXggfSBA ZGJoX3RhYmxlcyApOworICAgICAgICBAZGJoX2Jhc2VfdGFibGVzID0gKCAkbmVnYXRlZCAKKyAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgPyBncmVwIHsgJF8gIX4gJHRfcmVnZXggfSBAZGJo X2Jhc2VfdGFibGVzCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogZ3JlcCB7ICRfID1+ ICR0X3JlZ2V4IH0gQGRiaF9iYXNlX3RhYmxlcyApOworCisgICAgICAgICMjIGZpbHRlciAob3V0 KSB2aWV3cyBzcGVjaWZpZWQgaW4gdF9yZWdleAorICAgICAgICBwcmludCAiRmlsdGVyaW5nIHRh YmxlcyB3aXRoICckdF9yZWdleCdcbiIgaWYgJG9wdHtkZWJ1Z307CisgICAgICAgIEBkYmhfdmll d3MgPSAoICRuZWdhdGVkIAorICAgICAgICAgICAgICAgICAgICAgICA/IGdyZXAgeyAkXyAhfiAk dF9yZWdleCB9IEBkYmhfdmlld3MKKyAgICAgICAgICAgICAgICAgICAgICAgOiBncmVwIHsgJF8g PX4gJHRfcmVnZXggfSBAZGJoX3ZpZXdzICk7CiAgICAgfQogCisgICAgIyMgTm93IGNvbmNhdGVu YXRlIHRoZSBiYXNlIHRhYmxlIGFuZCB2aWV3IGFycmF5cy4KKyAgICBteSBAZGJoX3RhYmxlcyA9 IChAZGJoX2Jhc2VfdGFibGVzLCBAZGJoX3ZpZXdzKTsKKwogICAgICMjIGdldCBsaXN0IG9mIGZp bGVzIHRvIGNvcHkKICAgICBteSAkZGJfZGlyID0gIiRkYXRhZGlyLyRkYiI7CiAgICAgb3BlbmRp cihEQkRJUiwgJGRiX2RpciApIApAQCAtMzQ3LDE1ICszNjEsMjUgQEAgZm9yZWFjaCBteSAkcmRi ICggQGRiX2Rlc2MgKSB7CiAKICAgICAkcmRiLT57ZmlsZXN9ICA9IFsgQGRiX2ZpbGVzIF07CiAg ICAgJHJkYi0+e2luZGV4fSAgPSBbIEBpbmRleF9maWxlcyBdOwotICAgIG15IEBoY190YWJsZXMg PSBtYXAgeyBxdW90ZV9uYW1lcygiJGRiLiRfIikgfSBAZGJoX3RhYmxlczsKKyAgICBteSBAaGNf YmFzZV90YWJsZXMgPSBtYXAgeyBxdW90ZV9uYW1lcygiJGRiLiRfIikgfSBAZGJoX2Jhc2VfdGFi bGVzOworICAgIG15IEBoY192aWV3cyA9IG1hcCB7IHF1b3RlX25hbWVzKCIkZGIuJF8iKSB9IEBk Ymhfdmlld3M7CisgICAgCisgICAgbXkgQGhjX3RhYmxlcyA9IChAaGNfYmFzZV90YWJsZXMsIEBo Y192aWV3cyk7CiAgICAgJHJkYi0+e3RhYmxlc30gPSBbIEBoY190YWJsZXMgXTsKIAogICAgICRo Y19sb2NrcyAuPSAiLCAiICBpZiAoIGxlbmd0aCAkaGNfbG9ja3MgJiYgQGhjX3RhYmxlcyApOwog ICAgICRoY19sb2NrcyAuPSBqb2luICIsICIsIG1hcCB7ICIkXyBSRUFEIiB9IEBoY190YWJsZXM7 Ci0gICAgJGhjX3RhYmxlcyAuPSAiLCAiICBpZiAoIGxlbmd0aCAkaGNfdGFibGVzICYmIEBoY190 YWJsZXMgKTsKLSAgICAkaGNfdGFibGVzIC49IGpvaW4gIiwgIiwgQGhjX3RhYmxlczsKIAotICAg ICRudW1fdGFibGVzICs9IHNjYWxhciBAaGNfdGFibGVzOworICAgICRoY19iYXNlX3RhYmxlcyAu PSAiLCAiICBpZiAoIGxlbmd0aCAkaGNfYmFzZV90YWJsZXMgJiYgQGhjX2Jhc2VfdGFibGVzICk7 CisgICAgJGhjX2Jhc2VfdGFibGVzIC49IGpvaW4gIiwgIiwgQGhjX2Jhc2VfdGFibGVzOworICAg ICRoY192aWV3cyAuPSAiLCAiICBpZiAoIGxlbmd0aCAkaGNfdmlld3MgJiYgQGhjX3ZpZXdzICk7 CisgICAgJGhjX3ZpZXdzIC49IGpvaW4gIiwgIiwgQGhjX3ZpZXdzOworCisgICAgQGhjX3RhYmxl cyA9IChAaGNfYmFzZV90YWJsZXMsIEBoY192aWV3cyk7CisKKyAgICAkbnVtX2Jhc2VfdGFibGVz ICs9IHNjYWxhciBAaGNfYmFzZV90YWJsZXM7CisgICAgJG51bV92aWV3cyArPSBzY2FsYXIgQGhj X3ZpZXdzOworICAgICRudW1fdGFibGVzICs9ICRudW1fYmFzZV90YWJsZXMgKyAkbnVtX3ZpZXdz OwogICAgICRudW1fZmlsZXMgICs9IHNjYWxhciBAeyRyZGItPntmaWxlc319OwogfQogCkBAIC00 NjcsNyArNDkxLDEwIEBAIGlmICggJG9wdHtkcnlydW59ICkgewogICAgICAgICBwcmludCAiRkxV U0ggVEFCTEVTIC8qITMyMzIzICRoY190YWJsZXMgKi9cbiI7CiAgICAgfQogICAgIGVsc2Ugewot ICAgICAgICBwcmludCAiRkxVU0ggVEFCTEVTICRoY190YWJsZXMgV0lUSCBSRUFEIExPQ0tcbiI7 CisgICAgICAgICMgTG9jayBiYXNlIHRhYmxlcyBhbmQgdmlld3Mgc2VwYXJhdGVseS4KKyAgICAg ICAgcHJpbnQgIkZMVVNIIFRBQkxFUyAkaGNfYmFzZV90YWJsZXMgV0lUSCBSRUFEIExPQ0tcbiIK KyAgICAgICAgICBpZiAoICRoY19iYXNlX3RhYmxlcyApOworICAgICAgICBwcmludCAiTE9DSyBU QUJMRVMgJGhjX3ZpZXdzIFJFQURcbiIgaWYgKCAkaGNfdmlld3MgKTsKICAgICB9CiAgICAgCiAg ICAgcHJpbnQgIkZMVVNIIExPR1NcbiIgaWYgKCAkb3B0e2ZsdXNobG9nfSApOwpAQCAtNDg0LDE2 ICs1MTEsMjQgQEAgZWxzZSB7CiAgICAgICAgICMgZmx1c2ggdGFibGVzIHRvIG1ha2Ugb24tZGlz ayBjb3B5IHVwIHRvIGRhdGUKICAgICAgICAgJHN0YXJ0ID0gdGltZTsKICAgICAgICAgJGRiaC0+ ZG8oIkZMVVNIIFRBQkxFUyAvKiEzMjMyMyAkaGNfdGFibGVzICovIik7CisgICAgICAgIHByaW50 ZiAiRmx1c2hlZCB0YWJsZXMgKCRoY190YWJsZXMpIGluICVkIHNlY29uZHMuXG4iLCB0aW1lLSRz dGFydCB1bmxlc3MgJG9wdHtxdWlldH07CiAgICAgfQogICAgIGVsc2UgewotICAgICAgICAkZGJo LT5kbygiRkxVU0ggVEFCTEVTICRoY190YWJsZXMgV0lUSCBSRUFEIExPQ0siKTsKLSAgICAgICAg cHJpbnRmICJMb2NrZWQgJG51bV90YWJsZXMgdGFibGVzIGluICVkIHNlY29uZHMuXG4iLCB0aW1l LSRzdGFydCB1bmxlc3MgJG9wdHtxdWlldH07Ci0gICAgICAgICRoY19zdGFydGVkID0gdGltZTsJ IyBjb3VudCBmcm9tIHRpbWUgbG9jayBpcyBncmFudGVkCisgICAgICAgICMgTG9jayBiYXNlIHRh YmxlcyBhbmQgdmlld3Mgc2VwYXJhdGVseSwgYXMgJ0ZMVVNIIFRBQkxFUyA8dGJsX25hbWU+Cisg ICAgICAgICMgLi4uIFdJVEggUkVBRCBMT0NLJyAoaW50cm9kdWNlZCBpbiA1LjUpIHdvdWxkIGZh aWwgZm9yIHZpZXdzLgorICAgICAgICAjIEFsc28sIGZsdXNoIHRhYmxlcyB0byBtYWtlIG9uLWRp c2sgY29weSB1cCB0byBkYXRlCisgICAgICAgICRkYmgtPmRvKCJGTFVTSCBUQUJMRVMgJGhjX2Jh c2VfdGFibGVzIFdJVEggUkVBRCBMT0NLIikKKyAgICAgICAgICBpZiAoICRoY19iYXNlX3RhYmxl cyApOworICAgICAgICBwcmludGYgIkZsdXNoZWQgJG51bV9iYXNlX3RhYmxlcyB0YWJsZXMgd2l0 aCByZWFkIGxvY2sgKCRoY19iYXNlX3RhYmxlcykgaW4gJWQgc2Vjb25kcy5cbiIsCisgICAgICAg ICAgICAgICB0aW1lLSRzdGFydCB1bmxlc3MgJG9wdHtxdWlldH07CiAKLSAgICAgICAgIyBmbHVz aCB0YWJsZXMgdG8gbWFrZSBvbi1kaXNrIGNvcHkgdXAgdG8gZGF0ZQogICAgICAgICAkc3RhcnQg PSB0aW1lOworICAgICAgICAkZGJoLT5kbygiTE9DSyBUQUJMRVMgJGhjX3ZpZXdzIFJFQUQiKSBp ZiAoICRoY192aWV3cyApOworICAgICAgICBwcmludGYgIkxvY2tlZCAkbnVtX3ZpZXdzIHZpZXdz ICgkaGNfdmlld3MpIGluICVkIHNlY29uZHMuXG4iLAorICAgICAgICAgICAgICAgdGltZS0kc3Rh cnQgdW5sZXNzICRvcHR7cXVpZXR9OworCisgICAgICAgICRoY19zdGFydGVkID0gdGltZTsJIyBj b3VudCBmcm9tIHRpbWUgbG9jayBpcyBncmFudGVkCiAgICAgfQotICAgIHByaW50ZiAiRmx1c2hl ZCB0YWJsZXMgKCRoY190YWJsZXMpIGluICVkIHNlY29uZHMuXG4iLCB0aW1lLSRzdGFydCB1bmxl c3MgJG9wdHtxdWlldH07CiAgICAgJGRiaC0+ZG8oICJGTFVTSCBMT0dTIiApIGlmICggJG9wdHtm bHVzaGxvZ30gKTsKICAgICAkZGJoLT5kbyggIlJFU0VUIE1BU1RFUiIgKSBpZiAoICRvcHR7cmVz ZXRtYXN0ZXJ9ICk7CiAgICAgJGRiaC0+ZG8oICJSRVNFVCBTTEFWRSIgKSBpZiAoICRvcHR7cmVz ZXRzbGF2ZX0gKTsKQEAgLTgwMiwxNCArODM3LDI5IEBAIHN1YiBnZXRfbGlzdF9vZl90YWJsZXMg ewogCiAgICAgbXkgJHRhYmxlcyA9CiAgICAgICAgIGV2YWwgewotICAgICAgICAgICAgJGRiaC0+ c2VsZWN0YWxsX2FycmF5cmVmKCdTSE9XIFRBQkxFUyBGUk9NICcgLgotICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICRkYmgtPnF1b3RlX2lkZW50aWZpZXIoJGRiKSkKKyAgICAg ICAgICAgICRkYmgtPnNlbGVjdGFsbF9hcnJheXJlZignU0hPVyBGVUxMIFRBQkxFUyBGUk9NICcg LgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRkYmgtPnF1b3RlX2lkZW50 aWZpZXIoJGRiKSAuCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJyBXSEVS RSBUYWJsZV90eXBlID0gXCdCQVNFIFRBQkxFXCcnKQogICAgICAgICB9IHx8IFtdOwogICAgIHdh cm4gIlVuYWJsZSB0byByZXRyaWV2ZSBsaXN0IG9mIHRhYmxlcyBpbiAkZGI6ICRAIiBpZiAkQDsK IAogICAgIHJldHVybiAobWFwIHsgJF8tPlswXSB9IEAkdGFibGVzKTsKIH0KIAorc3ViIGdldF9s aXN0X29mX3ZpZXdzIHsKKyAgICBteSAoICRkYiApID0gQF87CisKKyAgICBteSAkdmlld3MgPQor ICAgICAgICBldmFsIHsKKyAgICAgICAgICAgICRkYmgtPnNlbGVjdGFsbF9hcnJheXJlZignU0hP VyBGVUxMIFRBQkxFUyBGUk9NICcgLgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICRkYmgtPnF1b3RlX2lkZW50aWZpZXIoJGRiKSAuCisgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgJyBXSEVSRSBUYWJsZV90eXBlID0gXCdWSUVXXCcnKQorICAgICAgICB9 IHx8IFtdOworICAgIHdhcm4gIlVuYWJsZSB0byByZXRyaWV2ZSBsaXN0IG9mIHZpZXdzIGluICRk YjogJEAiIGlmICRAOworCisgICAgcmV0dXJuIChtYXAgeyAkXy0+WzBdIH0gQCR2aWV3cyk7Cit9 CisKIHN1YiBxdW90ZV9uYW1lcyB7CiAgIG15ICggJG5hbWUgKSA9IEBfOwogICAjIGdpdmVuIGEg ZGIudGFibGUgbmFtZSwgYWRkIHF1b3RlcwoKPT09IG1vZGlmaWVkIGZpbGUgJ3NxbC9maWxlc29y dC5jYycKLS0tIGEvc3FsL2ZpbGVzb3J0LmNjCTIwMTItMDEtMTIgMTQ6NTM6NTEgKzAwMDAKKysr IGIvc3FsL2ZpbGVzb3J0LmNjCTIwMTItMDEtMTggMTM6MDM6MTAgKzAwMDAKQEAgLTM4LDYgKzM4 LDcgQEAKICNpbmNsdWRlICJvcHRfdHJhY2UuaCIKIAogI2luY2x1ZGUgPGFsZ29yaXRobT4KKyNp bmNsdWRlIDx1dGlsaXR5PgogdXNpbmcgc3RkOjptYXg7CiB1c2luZyBzdGQ6Om1pbjsKIApAQCAt Mjg0LDYgKzI4NSwxOSBAQCBoYV9yb3dzIGZpbGVzb3J0KFRIRCAqdGhkLCBUQUJMRSAqdGFibGUs CiAgICAgewogICAgICAgaGFfcm93cyBrZXlzPSBtZW1vcnlfYXZhaWxhYmxlIC8gKHBhcmFtLnJl Y19sZW5ndGggKyBzaXplb2YoY2hhciopKTsKICAgICAgIHBhcmFtLm1heF9rZXlzX3Blcl9idWZm ZXI9ICh1aW50KSBtaW4obnVtX3Jvd3MsIGtleXMpOworICAgICAgaWYgKHRhYmxlX3NvcnQuZ2V0 X3NvcnRfa2V5cygpKQorICAgICAgeworICAgICAgICAvLyBJZiB3ZSBoYXZlIGFscmVhZHkgYWxs b2NhdGVkIGEgYnVmZmVyLCBpdCBiZXR0ZXIgaGF2ZSBzYW1lIHNpemUhCisgICAgICAgIGlmIChz dGQ6Om1ha2VfcGFpcihwYXJhbS5tYXhfa2V5c19wZXJfYnVmZmVyLCBwYXJhbS5yZWNfbGVuZ3Ro KSAhPQorICAgICAgICAgICAgdGFibGVfc29ydC5zb3J0X2J1ZmZlcl9wcm9wZXJ0aWVzKCkpCisg ICAgICAgIHsKKyAgICAgICAgICAvKgorICAgICAgICAgICB0YWJsZS0+c29ydCB3aWxsIHN0aWxs IGhhdmUgYSBwb2ludGVyIHRvIHRoZSBzYW1lIGJ1ZmZlciwKKyAgICAgICAgICAgYnV0IHRoYXQg d2lsbCBiZSBvdmVyd3JpdHRlbiBieSB0aGUgYXNzaWdubWVudCBiZWxvdy4KKyAgICAgICAgICAq LworICAgICAgICAgIHRhYmxlX3NvcnQuZnJlZV9zb3J0X2J1ZmZlcigpOworICAgICAgICB9Cisg ICAgICB9CiAgICAgICB0YWJsZV9zb3J0LmFsbG9jX3NvcnRfYnVmZmVyKHBhcmFtLm1heF9rZXlz X3Blcl9idWZmZXIsIHBhcmFtLnJlY19sZW5ndGgpOwogICAgICAgaWYgKHRhYmxlX3NvcnQuZ2V0 X3NvcnRfa2V5cygpKQogICAgICAgICBicmVhazsKQEAgLTQ0NCw3ICs0NTgsMTAgQEAgaGFfcm93 cyBmaWxlc29ydChUSEQgKnRoZCwgVEFCTEUgKnRhYmxlLAogI2lmZGVmIFNLSVBfREJVR19JTl9G SUxFU09SVAogICBEQlVHX1BPUCgpOwkJCS8qIE9rIHRvIERCVUcgKi8KICNlbmRpZgorCisgIC8v IEFzc2lnbiB0aGUgY29weSBiYWNrIQogICB0YWJsZS0+c29ydD0gdGFibGVfc29ydDsKKwogICBE QlVHX1BSSU5UKCJleGl0IiwKICAgICAgICAgICAgICAoIm51bV9yb3dzOiAlbGQgZXhhbWluZWRf cm93czogJWxkIGZvdW5kX3Jvd3M6ICVsZCIsCiAgICAgICAgICAgICAgIChsb25nKSBudW1fcm93 cywgKGxvbmcpICpleGFtaW5lZF9yb3dzLCAobG9uZykgKmZvdW5kX3Jvd3MpKTsKCj09PSBtb2Rp ZmllZCBmaWxlICdzcWwvZmlsZXNvcnRfdXRpbHMuaCcKLS0tIGEvc3FsL2ZpbGVzb3J0X3V0aWxz LmgJMjAxMS0xMS0wNyAxNTozMjozNiArMDAwMAorKysgYi9zcWwvZmlsZXNvcnRfdXRpbHMuaAky MDEyLTAxLTE4IDEzOjAzOjEwICswMDAwCkBAIC0yMCw2ICsyMCw4IEBACiAjaW5jbHVkZSAibXlf YmFzZS5oIgogI2luY2x1ZGUgInNxbF9hcnJheS5oIgogCisjaW5jbHVkZSA8dXRpbGl0eT4KKwog LyoKICAgQ2FsY3VsYXRlIGNvc3Qgb2YgbWVyZ2Ugc29ydAogCkBAIC04Niw2ICs4OCwxMCBAQCBw dWJsaWM6CiAgIC8vLyBBbGxvY2F0ZXMgdGhlIGJ1ZmZlciwgYnV0IGRvZXMgKm5vdCogaW5pdGlh bGl6ZSBwb2ludGVycy4KICAgdWNoYXIgKiphbGxvY19zb3J0X2J1ZmZlcih1aW50IG51bV9yZWNv cmRzLCB1aW50IHJlY29yZF9sZW5ndGgpOwogCisgIC8vLyBXaGF0IGlzIHRoZSA8bnVtX3JlY29y ZHMsIHJlY29yZF9sZW5ndGg+IGZvciB0aGUgYnVmZmVyPworICBzdGQ6OnBhaXI8dWludCwgdWlu dD4gc29ydF9idWZmZXJfcHJvcGVydGllcygpCisgIHsgcmV0dXJuIHN0ZDo6bWFrZV9wYWlyKG1f aWR4X2FycmF5LnNpemUoKSwgbV9yZWNvcmRfbGVuZ3RoKTsgfQorCiAgIC8vLyBGcmVlcyB0aGUg YnVmZmVyLgogICB2b2lkIGZyZWVfc29ydF9idWZmZXIoKTsKIAoKPT09IG1vZGlmaWVkIGZpbGUg J3NxbC9pdGVtLmNjJwotLS0gYS9zcWwvaXRlbS5jYwkyMDEyLTAxLTE3IDA5OjI3OjM0ICswMDAw CisrKyBiL3NxbC9pdGVtLmNjCTIwMTItMDEtMTggMTM6NTM6NDcgKzAwMDAKQEAgLTg1MDcsMTIg Kzg1MDcsMTggQEAgYm9vbCBJdGVtX2NhY2hlX2RhdGV0aW1lOjpnZXRfZGF0ZShNWVNRTAogICAg ICAgcmV0dXJuIGZhbHNlOwogICAgIH0KICAgY2FzZSBNWVNRTF9UWVBFX0RBVEU6Ci0gICAgVElN RV9mcm9tX2xvbmdsb25nX2RhdGVfcGFja2VkKGx0aW1lLCBpbnRfdmFsdWUpOwotICAgIHJldHVy biBmYWxzZTsKKyAgICB7CisgICAgICBpbnQgd2FybmluZ3M9IDA7CisgICAgICBUSU1FX2Zyb21f bG9uZ2xvbmdfZGF0ZV9wYWNrZWQobHRpbWUsIGludF92YWx1ZSk7CisgICAgICByZXR1cm4gY2hl Y2tfZGF0ZShsdGltZSwgbm9uX3plcm9fZGF0ZShsdGltZSksIGZ1enp5ZGF0ZSwgJndhcm5pbmdz KTsKKyAgICB9CiAgIGNhc2UgTVlTUUxfVFlQRV9EQVRFVElNRToKICAgY2FzZSBNWVNRTF9UWVBF X1RJTUVTVEFNUDoKLSAgICBUSU1FX2Zyb21fbG9uZ2xvbmdfZGF0ZXRpbWVfcGFja2VkKGx0aW1l LCBpbnRfdmFsdWUpOwotICAgIHJldHVybiBmYWxzZTsKKyAgICB7CisgICAgICBpbnQgd2Fybmlu Z3M9IDA7CisgICAgICBUSU1FX2Zyb21fbG9uZ2xvbmdfZGF0ZXRpbWVfcGFja2VkKGx0aW1lLCBp bnRfdmFsdWUpOworICAgICAgcmV0dXJuIGNoZWNrX2RhdGUobHRpbWUsIG5vbl96ZXJvX2RhdGUo bHRpbWUpLCBmdXp6eWRhdGUsICZ3YXJuaW5ncyk7CisgICAgfQogICBkZWZhdWx0OgogICAgIERC VUdfQVNTRVJUKDApOwogICB9Cgo9PT0gbW9kaWZpZWQgZmlsZSAnc3FsL2l0ZW1fY21wZnVuYy5j YycKLS0tIGEvc3FsL2l0ZW1fY21wZnVuYy5jYwkyMDEyLTAxLTEyIDEzOjIyOjUyICswMDAwCisr KyBiL3NxbC9pdGVtX2NtcGZ1bmMuY2MJMjAxMi0wMS0xNiAwOTowMTo1MyArMDAwMApAQCAtNTk4 Nyw3ICs1OTg3LDggQEAgdm9pZCBJdGVtX2VxdWFsOjpjb21wYXJlX2NvbnN0KEl0ZW0gKmMpCiAg IGVsc2UKICAgewogICAgIEl0ZW1fZnVuY19lcSAqZnVuYz0gbmV3IEl0ZW1fZnVuY19lcShjLCBj b25zdF9pdGVtKTsKLSAgICBmdW5jLT5zZXRfY21wX2Z1bmMoKTsKKyAgICBpZihmdW5jLT5zZXRf Y21wX2Z1bmMoKSkKKyAgICAgIHJldHVybjsKICAgICBmdW5jLT5xdWlja19maXhfZmllbGQoKTsK ICAgICBjb25kX2ZhbHNlPSAhZnVuYy0+dmFsX2ludCgpOwogICB9Cgo9PT0gbW9kaWZpZWQgZmls ZSAnc3FsL2l0ZW1fY21wZnVuYy5oJwotLS0gYS9zcWwvaXRlbV9jbXBmdW5jLmgJMjAxMS0xMS0y OCAwOTozNjo0NSArMDAwMAorKysgYi9zcWwvaXRlbV9jbXBmdW5jLmgJMjAxMi0wMS0xNiAwOTow MTo1MyArMDAwMApAQCAtMzcwLDkgKzM3MCw5IEBAIHB1YmxpYzoKICAgSXRlbV9ib29sX2Z1bmMy KEl0ZW0gKmEsSXRlbSAqYikKICAgICA6SXRlbV9pbnRfZnVuYyhhLGIpLCBjbXAodG1wX2FyZywg dG1wX2FyZysxKSwgYWJvcnRfb25fbnVsbChGQUxTRSkge30KICAgdm9pZCBmaXhfbGVuZ3RoX2Fu ZF9kZWMoKTsKLSAgdm9pZCBzZXRfY21wX2Z1bmMoKQorICBpbnQgc2V0X2NtcF9mdW5jKCkKICAg ewotICAgIGNtcC5zZXRfY21wX2Z1bmModGhpcywgdG1wX2FyZywgdG1wX2FyZysxLCBUUlVFKTsK KyAgICByZXR1cm4gY21wLnNldF9jbXBfZnVuYyh0aGlzLCB0bXBfYXJnLCB0bXBfYXJnKzEsIFRS VUUpOwogICB9CiAgIG9wdGltaXplX3R5cGUgc2VsZWN0X29wdGltaXplKCkgY29uc3QgeyByZXR1 cm4gT1BUSU1JWkVfT1A7IH0KICAgdmlydHVhbCBlbnVtIEZ1bmN0eXBlIHJldl9mdW5jdHlwZSgp IGNvbnN0IHsgcmV0dXJuIFVOS05PV05fRlVOQzsgfQoKPT09IG1vZGlmaWVkIGZpbGUgJ3NxbC9p dGVtX2Z1bmMuaCcKLS0tIGEvc3FsL2l0ZW1fZnVuYy5oCTIwMTEtMTEtMTcgMTM6NDE6MjggKzAw MDAKKysrIGIvc3FsL2l0ZW1fZnVuYy5oCTIwMTItMDEtMTcgMTQ6NDQ6NDkgKzAwMDAKQEAgLTE1 NTUsNiArMTU1NSw3IEBAIGNsYXNzIEl0ZW1fdmFyX2Z1bmMgOnB1YmxpYyBJdGVtX2Z1bmMKIHsK IHB1YmxpYzoKICAgSXRlbV92YXJfZnVuYygpIDpJdGVtX2Z1bmMoKSB7IH0KKyAgSXRlbV92YXJf ZnVuYyhUSEQgKnRoZCwgSXRlbV92YXJfZnVuYyAqaXRlbSkgOkl0ZW1fZnVuYyh0aGQsIGl0ZW0p IHsgfQogICBJdGVtX3Zhcl9mdW5jKEl0ZW0gKmEpIDpJdGVtX2Z1bmMoYSkgeyB9CiAgIGJvb2wg Z2V0X2RhdGUoTVlTUUxfVElNRSAqbHRpbWUsIHVpbnQgZnV6enlkYXRlKQogICB7CkBAIC0xNjA0 LDYgKzE2MDUsMTIgQEAgcHVibGljOgogICAgIDpJdGVtX3Zhcl9mdW5jKGIpLCBjYWNoZWRfcmVz dWx0X3R5cGUoSU5UX1JFU1VMVCksCiAgICAgIGVudHJ5KE5VTEwpLCBlbnRyeV90aHJlYWRfaWQo MCksIG5hbWUoYSkKICAge30KKyAgSXRlbV9mdW5jX3NldF91c2VyX3ZhcihUSEQgKnRoZCwgSXRl bV9mdW5jX3NldF91c2VyX3ZhciAqaXRlbSkKKyAgICA6SXRlbV92YXJfZnVuYyh0aGQsIGl0ZW0p LCBjYWNoZWRfcmVzdWx0X3R5cGUoaXRlbS0+Y2FjaGVkX3Jlc3VsdF90eXBlKSwKKyAgICAgZW50 cnkoaXRlbS0+ZW50cnkpLCBlbnRyeV90aHJlYWRfaWQoaXRlbS0+ZW50cnlfdGhyZWFkX2lkKSwK KyAgICAgdmFsdWUoaXRlbS0+dmFsdWUpLCBkZWNpbWFsX2J1ZmYoaXRlbS0+ZGVjaW1hbF9idWZm KSwKKyAgICAgbnVsbF9pdGVtKGl0ZW0tPm51bGxfaXRlbSksIHNhdmVfcmVzdWx0KGl0ZW0tPnNh dmVfcmVzdWx0KSwgbmFtZShpdGVtLT5uYW1lKQorICB7fQogICBlbnVtIEZ1bmN0eXBlIGZ1bmN0 eXBlKCkgY29uc3QgeyByZXR1cm4gU1VTRVJWQVJfRlVOQzsgfQogICBkb3VibGUgdmFsX3JlYWwo KTsKICAgbG9uZ2xvbmcgdmFsX2ludCgpOwoKPT09IG1vZGlmaWVkIGZpbGUgJ3NxbC9teXNxbGQu Y2MnCi0tLSBhL3NxbC9teXNxbGQuY2MJMjAxMS0xMi0xNiAxNTo1MzoxNiArMDAwMAorKysgYi9z cWwvbXlzcWxkLmNjCTIwMTItMDEtMTcgMDk6Mzk6NTQgKzAwMDAKQEAgLTgxNTMsOCArODE1Mywx MCBAQCBzdGF0aWMgaW50IGZpeF9wYXRocyh2b2lkKQogICAodm9pZCkgbXlfbG9hZF9wYXRoKG15 c3FsX2hvbWUsbXlzcWxfaG9tZSwiIik7IC8vIFJlc29sdmUgY3VycmVudCBkaXIKICAgKHZvaWQp IG15X2xvYWRfcGF0aChteXNxbF9yZWFsX2RhdGFfaG9tZSxteXNxbF9yZWFsX2RhdGFfaG9tZSxt eXNxbF9ob21lKTsKICAgKHZvaWQpIG15X2xvYWRfcGF0aChwaWRmaWxlX25hbWUsIHBpZGZpbGVf bmFtZV9wdHIsIG15c3FsX3JlYWxfZGF0YV9ob21lKTsKLSAgKHZvaWQpIG15X2xvYWRfcGF0aChv cHRfcGx1Z2luX2Rpciwgb3B0X3BsdWdpbl9kaXJfcHRyID8gb3B0X3BsdWdpbl9kaXJfcHRyIDoK LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZ2V0X3JlbGF0aXZlX3BhdGgo UExVR0lORElSKSwgbXlzcWxfaG9tZSk7CisKKyAgY29udmVydF9kaXJuYW1lKG9wdF9wbHVnaW5f ZGlyLCBvcHRfcGx1Z2luX2Rpcl9wdHIgPyBvcHRfcGx1Z2luX2Rpcl9wdHIgOiAKKyAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICBnZXRfcmVsYXRpdmVfcGF0aChQTFVHSU5ESVIpLCBO dWxsUyk7CisgICh2b2lkKSBteV9sb2FkX3BhdGgob3B0X3BsdWdpbl9kaXIsIG9wdF9wbHVnaW5f ZGlyLCBteXNxbF9ob21lKTsKICAgb3B0X3BsdWdpbl9kaXJfcHRyPSBvcHRfcGx1Z2luX2RpcjsK IAogICBteV9yZWFscGF0aChteXNxbF91bnBhY2tlZF9yZWFsX2RhdGFfaG9tZSwgbXlzcWxfcmVh bF9kYXRhX2hvbWUsIE1ZRigwKSk7Cgo9PT0gbW9kaWZpZWQgZmlsZSAnc3FsL3JwbF9tYXN0ZXIu Y2MnCi0tLSBhL3NxbC9ycGxfbWFzdGVyLmNjCTIwMTEtMTEtMTggMTI6NDg6NTIgKzAwMDAKKysr IGIvc3FsL3JwbF9tYXN0ZXIuY2MJMjAxMi0wMS0xNyAyMjozMjoyOSArMDAwMApAQCAtNjI5LDgg KzYyOSw3IEBAIHZvaWQgbXlzcWxfYmlubG9nX3NlbmQoVEhEKiB0aGQsIGNoYXIqIGwKICAgU3Ry aW5nKiBwYWNrZXQgPSAmdGhkLT5wYWNrZXQ7CiAgIGludCBlcnJvcjsKICAgY29uc3QgY2hhciAq ZXJybXNnID0gIlVua25vd24gZXJyb3IiOwotICBjb25zdCBjaGFyICpmbXQ9ICIlczsgdGhlIGxh c3QgZXZlbnQgd2FzIHJlYWQgZnJvbSAnJXMnIGF0ICVzLCB0aGUgbGFzdCBieXRlIHJlYWQgd2Fz IHJlYWQgZnJvbSAnJXMnIGF0ICVzLiI7Ci0gIGNoYXIgbGxidWZmMVsyMl0sIGxsYnVmZjJbMjJd OworICBjaGFyIGxsYnVmZjBbMjJdLCBsbGJ1ZmYxWzIyXSwgbGxidWZmMlsyMl07CiAgIGNoYXIg ZXJyb3JfdGV4dFtNQVhfU0xBVkVfRVJSTVNHXTsgLy8gdG8gYmUgc2VuZCB0byBzbGF2ZSB2aWEg bXlfbWVzc2FnZSgpCiAgIE5FVCogbmV0ID0gJnRoZC0+bmV0OwogICBteXNxbF9tdXRleF90ICps b2dfbG9jazsKQEAgLTY2NCwxNiArNjYzLDE1IEBAIHZvaWQgbXlzcWxfYmlubG9nX3NlbmQoVEhE KiB0aGQsIGNoYXIqIGwKICAgKi8KICAgdWxvbmdsb25nIGhlYXJ0YmVhdF9wZXJpb2Q9IGdldF9o ZWFydGJlYXRfcGVyaW9kKHRoZCk7CiAgIHN0cnVjdCB0aW1lc3BlYyBoZWFydGJlYXRfYnVmOwot ICBzdHJ1Y3QgZXZlbnRfY29vcmRpbmF0ZXMgY29vcmRfYnVmOwogICBzdHJ1Y3QgdGltZXNwZWMg KmhlYXJ0YmVhdF90cz0gTlVMTDsKLSAgc3RydWN0IGV2ZW50X2Nvb3JkaW5hdGVzICpjb29yZD0g TlVMTDsKKyAgY29uc3QgTE9HX1BPU19DT09SRCBzdGFydF9jb29yZD0geyBsb2dfaWRlbnQsIHBv cyB9LAorICAgICpwX3N0YXJ0X2Nvb3JkPSAmc3RhcnRfY29vcmQ7CisgIExPR19QT1NfQ09PUkQg Y29vcmRfYnVmPSB7IGxvZ19maWxlX25hbWUsIEJJTl9MT0dfSEVBREVSX1NJWkUgfSwKKyAgICAq cF9jb29yZD0gJmNvb3JkX2J1ZjsKICAgaWYgKGhlYXJ0YmVhdF9wZXJpb2QgIT0gTEwoMCkpCiAg IHsKICAgICBoZWFydGJlYXRfdHM9ICZoZWFydGJlYXRfYnVmOwogICAgIHNldF90aW1lc3BlY19u c2VjKCpoZWFydGJlYXRfdHMsIDApOwotICAgIGNvb3JkPSAmY29vcmRfYnVmOwotICAgIGNvb3Jk LT5maWxlX25hbWU9IGxvZ19maWxlX25hbWU7IC8vIGluaXRpYWxpemF0aW9uIGJhc2luZyBvbiB3 aGF0IHNsYXZlIHJlbWVtYmVycwotICAgIGNvb3JkLT5wb3M9IHBvczsKICAgfQogICBzcWxfcHJp bnRfaW5mb3JtYXRpb24oIlN0YXJ0IGJpbmxvZ19kdW1wIHRvIHNsYXZlX3NlcnZlciglZCksIHBv cyglcywgJWx1KSIsCiAgICAgICAgICAgICAgICAgICAgICAgICB0aGQtPnNlcnZlcl9pZCwgbG9n X2lkZW50LCAodWxvbmcpcG9zKTsKQEAgLTc5NCw2ICs3OTIsNyBAQCBpbXBvc3NpYmxlIHBvc2l0 aW9uIjsKICAgICBteXNxbF9iaW5fbG9nLCBhbmQgaXQncyBhbHJlYWR5IGluaXRlZCwgYW5kIGl0 IHdpbGwgYmUgZGVzdHJveWVkCiAgICAgb25seSBhdCBzaHV0ZG93bikuCiAgICovCisgIHBfY29v cmQtPnBvcz0gcG9zOyAvLyB0aGUgZmlyc3QgaGIgbWF0Y2hlcyB0aGUgc2xhdmUncyBsYXN0IHNl ZW4gdmFsdWUKICAgbG9nX2xvY2s9IG15c3FsX2Jpbl9sb2cuZ2V0X2xvZ19sb2NrKCk7CiAgIGxv Z19jb25kPSBteXNxbF9iaW5fbG9nLmdldF9sb2dfY29uZCgpOwogICBpZiAocG9zID4gQklOX0xP R19IRUFERVJfU0laRSkKQEAgLTkxNSw4ICs5MTQsNyBAQCBpbXBvc3NpYmxlIHBvc2l0aW9uIjsK ICAgICAgIC8qCiAgICAgICAgIGxvZydzIGZpbGVuYW1lIGRvZXMgbm90IGNoYW5nZSB3aGlsZSBp dCdzIGFjdGl2ZQogICAgICAgKi8KLSAgICAgIGlmIChjb29yZCkKLSAgICAgICAgY29vcmQtPnBv cz0gdWludDRrb3JyKHBhY2tldC0+cHRyKCkgKyBldl9vZmZzZXQgKyBMT0dfUE9TX09GRlNFVCk7 CisgICAgICBwX2Nvb3JkLT5wb3M9IHVpbnQ0a29ycihwYWNrZXQtPnB0cigpICsgZXZfb2Zmc2V0 ICsgTE9HX1BPU19PRkZTRVQpOwogCiAgICAgICBldmVudF90eXBlPSAoTG9nX2V2ZW50X3R5cGUp KCgqcGFja2V0KVtMT0dfRVZFTlRfT0ZGU0VUK2V2X29mZnNldF0pOwogICAgICAgREJVR19FWEVD VVRFX0lGKCJkdW1wX3RocmVhZF93YWl0X2JlZm9yZV9zZW5kX3hpZCIsCkBAIC0xMDkwLDggKzEw ODgsNyBAQCBpbXBvc3NpYmxlIHBvc2l0aW9uIjsKIAkgIC8qIHdlIHJlYWQgc3VjY2Vzc2Z1bGx5 LCBzbyB3ZSdsbCBuZWVkIHRvIHNlbmQgaXQgdG8gdGhlIHNsYXZlICovCiAgICAgICAgICAgbXlz cWxfbXV0ZXhfdW5sb2NrKGxvZ19sb2NrKTsKIAkgIHJlYWRfcGFja2V0ID0gMTsKLSAgICAgICAg ICBpZiAoY29vcmQpCi0gICAgICAgICAgICBjb29yZC0+cG9zPSB1aW50NGtvcnIocGFja2V0LT5w dHIoKSArIGV2X29mZnNldCArIExPR19QT1NfT0ZGU0VUKTsKKyAgICAgICAgICBwX2Nvb3JkLT5w b3M9IHVpbnQ0a29ycihwYWNrZXQtPnB0cigpICsgZXZfb2Zmc2V0ICsgTE9HX1BPU19PRkZTRVQp OwogICAgICAgICAgIGV2ZW50X3R5cGU9IChMb2dfZXZlbnRfdHlwZSkoKCpwYWNrZXQpW0xPR19F VkVOVF9PRkZTRVQrZXZfb2Zmc2V0XSk7CiAgICAgICAgICAgREJVR19BU1NFUlQoZXZlbnRfdHlw ZSAhPSBGT1JNQVRfREVTQ1JJUFRJT05fRVZFTlQpOwogCSAgYnJlYWs7CkBAIC0xMTE0LDE2ICsx MTExLDE2IEBAIGltcG9zc2libGUgcG9zaXRpb24iOwogICAgICAgICAgIHNpZ25hbF9jbnQ9IG15 c3FsX2Jpbl9sb2cuc2lnbmFsX2NudDsKICAgICAgICAgICBkbyAKICAgICAgICAgICB7Ci0gICAg ICAgICAgICBpZiAoY29vcmQpCisgICAgICAgICAgICBpZiAoaGVhcnRiZWF0X3BlcmlvZCAhPSAw KQogICAgICAgICAgICAgewotICAgICAgICAgICAgICBEQlVHX0FTU0VSVChoZWFydGJlYXRfdHMg JiYgaGVhcnRiZWF0X3BlcmlvZCAhPSAwKTsKKyAgICAgICAgICAgICAgREJVR19BU1NFUlQoaGVh cnRiZWF0X3RzKTsKICAgICAgICAgICAgICAgc2V0X3RpbWVzcGVjX25zZWMoKmhlYXJ0YmVhdF90 cywgaGVhcnRiZWF0X3BlcmlvZCk7CiAgICAgICAgICAgICB9CiAgICAgICAgICAgICB0aGQtPkVO VEVSX0NPTkQobG9nX2NvbmQsIGxvZ19sb2NrLAogICAgICAgICAgICAgICAgICAgICAgICAgICAg ICZzdGFnZV9tYXN0ZXJfaGFzX3NlbnRfYWxsX2JpbmxvZ190b19zbGF2ZSwKICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAmb2xkX3N0YWdlKTsKICAgICAgICAgICAgIHJldD0gbXlzcWxfYmlu X2xvZy53YWl0X2Zvcl91cGRhdGVfYmluX2xvZyh0aGQsIGhlYXJ0YmVhdF90cyk7Ci0gICAgICAg ICAgICBEQlVHX0FTU0VSVChyZXQgPT0gMCB8fCAoaGVhcnRiZWF0X3BlcmlvZCAhPSAwICYmIGNv b3JkICE9IE5VTEwpKTsKKyAgICAgICAgICAgIERCVUdfQVNTRVJUKHJldCA9PSAwIHx8IChoZWFy dGJlYXRfcGVyaW9kICE9IDApKTsKICAgICAgICAgICAgIGlmIChyZXQgPT0gRVRJTUVET1VUIHx8 IHJldCA9PSBFVElNRSkKICAgICAgICAgICAgIHsKICNpZm5kZWYgREJVR19PRkYKQEAgLTExNDEs NyArMTEzOCw3IEBAIGltcG9zc2libGUgcG9zaXRpb24iOwogICAgICAgICAgICAgICAgIHRoZC0+ RVhJVF9DT05EKCZvbGRfc3RhZ2UpOwogICAgICAgICAgICAgICAgIGdvdG8gZXJyOwogICAgICAg ICAgICAgICB9Ci0gICAgICAgICAgICAgIGlmIChzZW5kX2hlYXJ0YmVhdF9ldmVudChuZXQsIHBh Y2tldCwgY29vcmQsIGN1cnJlbnRfY2hlY2tzdW1fYWxnKSkKKyAgICAgICAgICAgICAgaWYgKHNl bmRfaGVhcnRiZWF0X2V2ZW50KG5ldCwgcGFja2V0LCBwX2Nvb3JkLCBjdXJyZW50X2NoZWNrc3Vt X2FsZykpCiAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICBlcnJtc2cgPSAiRmFpbGVk IG9uIG15X25ldF93cml0ZSgpIjsKICAgICAgICAgICAgICAgICBteV9lcnJubz0gRVJfVU5LTk9X Tl9FUlJPUjsKQEAgLTEyNTIsOCArMTI0OSw3IEBAIGltcG9zc2libGUgcG9zaXRpb24iOwogCWdv dG8gZXJyOwogICAgICAgfQogCi0gICAgICBpZiAoY29vcmQpCi0gICAgICAgIGNvb3JkLT5maWxl X25hbWU9IGxvZ19maWxlX25hbWU7IC8vIHJlc2V0IHRvIHRoZSBuZXh0CisgICAgICBwX2Nvb3Jk LT5maWxlX25hbWU9IGxvZ19maWxlX25hbWU7IC8vIHJlc2V0IHRvIHRoZSBuZXh0CiAgICAgfQog ICB9CiAKQEAgLTEyNzksOSArMTI3NSwxMiBAQCBlcnI6CiAgICAgICAgZGV0YWlsaW5nIHRoZSBm YXRhbCBlcnJvciBtZXNzYWdlIHdpdGggY29vcmRpbmF0ZXMgCiAgICAgICAgb2YgdGhlIGxhc3Qg cG9zaXRpb24gcmVhZC4KICAgICAqLworICAgIGNvbnN0IGNoYXIgKmZtdD0gIiVzOyB0aGUgc3Rh cnQgZXZlbnQgcG9zaXRpb24gZnJvbSAnJXMnIGF0ICVzLCB0aGUgbGFzdCBldmVudCB3YXMgcmVh ZCBmcm9tICclcycgYXQgJXMsIHRoZSBsYXN0IGJ5dGUgcmVhZCB3YXMgcmVhZCBmcm9tICclcycg YXQgJXMuIjsKICAgICBteV9zbnByaW50ZihlcnJvcl90ZXh0LCBzaXplb2YoZXJyb3JfdGV4dCks IGZtdCwgZXJybXNnLAotICAgICAgICAgICAgICAgIGNvb3JkLT5maWxlX25hbWUsIChsbHN0cihj b29yZC0+cG9zLCBsbGJ1ZmYxKSwgbGxidWZmMSksCi0gICAgICAgICAgICAgICAgbG9nX2ZpbGVf bmFtZSwgKGxsc3RyKG15X2JfdGVsbCgmbG9nKSwgbGxidWZmMiksIGxsYnVmZjIpKTsKKyAgICAg ICAgICAgICAgICBwX3N0YXJ0X2Nvb3JkLT5maWxlX25hbWUsCisgICAgICAgICAgICAgICAgKGxs c3RyKHBfc3RhcnRfY29vcmQtPnBvcywgbGxidWZmMCksIGxsYnVmZjApLAorICAgICAgICAgICAg ICAgIHBfY29vcmQtPmZpbGVfbmFtZSwgKGxsc3RyKHBfY29vcmQtPnBvcywgbGxidWZmMSksIGxs YnVmZjEpLAorICAgICAgICAgICAgICAgIGxvZ19maWxlX25hbWUsICAgIChsbHN0cihteV9iX3Rl bGwoJmxvZyksIGxsYnVmZjIpLCBsbGJ1ZmYyKSk7CiAgIH0KICAgZWxzZQogICAgIHN0cmNweShl cnJvcl90ZXh0LCBlcnJtc2cpOwoKPT09IG1vZGlmaWVkIGZpbGUgJ3NxbC9zaGFyZS9lcnJtc2ct dXRmOC50eHQnCi0tLSBhL3NxbC9zaGFyZS9lcnJtc2ctdXRmOC50eHQJMjAxMS0xMS0yOCAwNzo0 MjoxOCArMDAwMAorKysgYi9zcWwvc2hhcmUvZXJybXNnLXV0ZjgudHh0CTIwMTItMDEtMTcgMjI6 MzI6MjkgKzAwMDAKQEAgLTQ3MDEsMTQgKzQ3MDEsMTQgQEAgRVJfTk9UX1NVUFBPUlRFRF9ZRVQg NDIwMDAgCiAgICAgICAgIHNwYSAiRXN0YSB2ZXJzacOzbiBkZSBNeVNRTCBubyBzb3BvcnRhIHRv ZGF2aWEgJyVzJyIKICAgICAgICAgc3dlICJEZW5uYSB2ZXJzaW9uIGF2IE15U1FMIGthbiDDpG5u dSBpbnRlIHV0ZsO2cmEgJyVzJyIKIEVSX01BU1RFUl9GQVRBTF9FUlJPUl9SRUFESU5HX0JJTkxP RyAgCi0gICAgICAgIG5sYSAiS3JlZWcgZmF0YWxlIGZvdXQgJWQ6ICclLS4yNTZzJyB2YW4gbWFz dGVyIHRpamRlbnMgbGV6ZW4gdmFuIGRhdGEgdWl0IGJpbmFpcmUgbG9nIgotICAgICAgICBlbmcg IkdvdCBmYXRhbCBlcnJvciAlZCBmcm9tIG1hc3RlciB3aGVuIHJlYWRpbmcgZGF0YSBmcm9tIGJp bmFyeSBsb2c6ICclLS4yNTZzJyIKLSAgICAgICAgZ2VyICJTY2h3ZXJlciBGZWhsZXIgJWQ6ICcl LS4yNTZzIHZvbSBNYXN0ZXIgYmVpbSBMZXNlbiBkZXMgYmluw6RyZW4gTG9ncyIKLSAgICAgICAg aXRhICJFcnJvcmUgZmF0YWxlICVkOiAnJS0uMjU2cycgZGFsIG1hc3RlciBsZWdnZW5kbyBpIGRh dGkgZGFsIGxvZyBiaW5hcmlvIgotICAgICAgICBwb3IgIk9idGV2ZSBmYXRhbCBlcnJvICVkOiAn JS0uMjU2cycgZG8gbWFzdGVyIHF1YW5kbyBsZW5kbyBkYWRvcyBkbyBiaW5hcnkgbG9nIgotICAg ICAgICBydXMgItCf0L7Qu9GD0YfQtdC90LAg0L3QtdC40YHQv9GA0LDQstC40LzQsNGPINC+0YjQ uNCx0LrQsCAlZDogJyUtLjI1NnMnINC+0YIg0LPQvtC70L7QstC90L7Qs9C+INGB0LXRgNCy0LXR gNCwINCyINC/0YDQvtGG0LXRgdGB0LUg0LLRi9Cx0L7RgNC60Lgg0LTQsNC90L3Ri9GFINC40Lcg 0LTQstC+0LjRh9C90L7Qs9C+INC20YPRgNC90LDQu9CwIgotICAgICAgICBzcGEgIlJlY2liacOz IGZhdGFsIGVycm9yICVkOiAnJS0uMjU2cycgZGVsIG1hc3RlciBjdWFuZG8gbGV5ZW5kbyBkYXRv cyBkZWwgYmluYXJ5IGxvZyIKLSAgICAgICAgc3dlICJGaWNrIGZhdGFsdCBmZWwgJWQ6ICclLS4y NTZzJyBmcsOlbiBtYXN0ZXIgdmlkIGzDpHNuaW5nIGF2IGJpbsOkcmxvZ2dlbiIKKyAgICAgICAg bmxhICJLcmVlZyBmYXRhbGUgZm91dCAlZDogJyUtLjUxMnMnIHZhbiBtYXN0ZXIgdGlqZGVucyBs ZXplbiB2YW4gZGF0YSB1aXQgYmluYWlyZSBsb2ciCisgICAgICAgIGVuZyAiR290IGZhdGFsIGVy cm9yICVkIGZyb20gbWFzdGVyIHdoZW4gcmVhZGluZyBkYXRhIGZyb20gYmluYXJ5IGxvZzogJyUt LjUxMnMnIgorICAgICAgICBnZXIgIlNjaHdlcmVyIEZlaGxlciAlZDogJyUtLjUxMnMgdm9tIE1h c3RlciBiZWltIExlc2VuIGRlcyBiaW7DpHJlbiBMb2dzIgorICAgICAgICBpdGEgIkVycm9yZSBm YXRhbGUgJWQ6ICclLS41MTJzJyBkYWwgbWFzdGVyIGxlZ2dlbmRvIGkgZGF0aSBkYWwgbG9nIGJp bmFyaW8iCisgICAgICAgIHBvciAiT2J0ZXZlIGZhdGFsIGVycm8gJWQ6ICclLS41MTJzJyBkbyBt YXN0ZXIgcXVhbmRvIGxlbmRvIGRhZG9zIGRvIGJpbmFyeSBsb2ciCisgICAgICAgIHJ1cyAi0J/Q vtC70YPRh9C10L3QsCDQvdC10LjRgdC/0YDQsNCy0LjQvNCw0Y8g0L7RiNC40LHQutCwICVkOiAn JS0uNTEycycg0L7RgiDQs9C+0LvQvtCy0L3QvtCz0L4g0YHQtdGA0LLQtdGA0LAg0LIg0L/RgNC+ 0YbQtdGB0YHQtSDQstGL0LHQvtGA0LrQuCDQtNCw0L3QvdGL0YUg0LjQtyDQtNCy0L7QuNGH0L3Q vtCz0L4g0LbRg9GA0L3QsNC70LAiCisgICAgICAgIHNwYSAiUmVjaWJpw7MgZmF0YWwgZXJyb3Ig JWQ6ICclLS41MTJzJyBkZWwgbWFzdGVyIGN1YW5kbyBsZXllbmRvIGRhdG9zIGRlbCBiaW5hcnkg bG9nIgorICAgICAgICBzd2UgIkZpY2sgZmF0YWx0IGZlbCAlZDogJyUtLjUxMnMnIGZyw6VuIG1h c3RlciB2aWQgbMOkc25pbmcgYXYgYmluw6RybG9nZ2VuIgogRVJfU0xBVkVfSUdOT1JFRF9UQUJM RSAgCiAgICAgICAgIGVuZyAiU2xhdmUgU1FMIHRocmVhZCBpZ25vcmVkIHRoZSBxdWVyeSBiZWNh dXNlIG9mIHJlcGxpY2F0ZS0qLXRhYmxlIHJ1bGVzIgogICAgICAgICBnZXIgIlNsYXZlLVNRTC1U aHJlYWQgaGF0IGRpZSBBYmZyYWdlIGF1ZmdydW5kIHZvbiByZXBsaWNhdGUtKi10YWJsZS1SZWdl bG4gaWdub3JpZXJ0IgoKPT09IG1vZGlmaWVkIGZpbGUgJ3NxbC9zcWxfZXhlY3V0b3IuY2MnCi0t LSBhL3NxbC9zcWxfZXhlY3V0b3IuY2MJMjAxMi0wMS0xNyAwOToyNzozNCArMDAwMAorKysgYi9z cWwvc3FsX2V4ZWN1dG9yLmNjCTIwMTItMDEtMTggMTM6NTM6NDcgKzAwMDAKQEAgLTQ2ODAsNjQg KzQ2ODAsODggQEAgY2hhbmdlX3RvX3VzZV90bXBfZmllbGRzKFRIRCAqdGhkLCBSZWZfcAogICBy ZXNfc2VsZWN0ZWRfZmllbGRzLmVtcHR5KCk7CiAgIHJlc19hbGxfZmllbGRzLmVtcHR5KCk7CiAK LSAgdWludCBpLCBib3JkZXI9IGFsbF9maWVsZHMuZWxlbWVudHMgLSBlbGVtZW50czsKLSAgZm9y IChpPSAwOyAoaXRlbT0gaXQrKyk7IGkrKykKKyAgdWludCBib3JkZXI9IGFsbF9maWVsZHMuZWxl bWVudHMgLSBlbGVtZW50czsKKyAgZm9yICh1aW50IGk9IDA7IChpdGVtPSBpdCsrKTsgaSsrKQog ICB7CiAgICAgRmllbGQgKmZpZWxkOwotCi0gICAgaWYgKChpdGVtLT53aXRoX3N1bV9mdW5jICYm IGl0ZW0tPnR5cGUoKSAhPSBJdGVtOjpTVU1fRlVOQ19JVEVNKSB8fAotICAgICAgICAoaXRlbS0+ dHlwZSgpID09IEl0ZW06OkZVTkNfSVRFTSAmJgotICAgICAgICAgKChJdGVtX2Z1bmMqKWl0ZW0p LT5mdW5jdHlwZSgpID09IEl0ZW1fZnVuYzo6U1VTRVJWQVJfRlVOQykpCisgICAgaWYgKGl0ZW0t PndpdGhfc3VtX2Z1bmMgJiYgaXRlbS0+dHlwZSgpICE9IEl0ZW06OlNVTV9GVU5DX0lURU0pCiAg ICAgICBpdGVtX2ZpZWxkPSBpdGVtOwotICAgIGVsc2UKKyAgICBlbHNlIGlmIChpdGVtLT50eXBl KCkgPT0gSXRlbTo6RklFTERfSVRFTSkKKyAgICAgIGl0ZW1fZmllbGQ9IGl0ZW0tPmdldF90bXBf dGFibGVfaXRlbSh0aGQpOworICAgIGVsc2UgaWYgKGl0ZW0tPnR5cGUoKSA9PSBJdGVtOjpGVU5D X0lURU0gJiYKKyAgICAgICAgICAgICAoKEl0ZW1fZnVuYyopaXRlbSktPmZ1bmN0eXBlKCkgPT0g SXRlbV9mdW5jOjpTVVNFUlZBUl9GVU5DKQogICAgIHsKLSAgICAgIGlmIChpdGVtLT50eXBlKCkg PT0gSXRlbTo6RklFTERfSVRFTSkKKyAgICAgIGZpZWxkPSBpdGVtLT5nZXRfdG1wX3RhYmxlX2Zp ZWxkKCk7CisgICAgICBpZiAoZmllbGQgIT0gTlVMTCkKICAgICAgIHsKLQlpdGVtX2ZpZWxkPSBp dGVtLT5nZXRfdG1wX3RhYmxlX2l0ZW0odGhkKTsKKyAgICAgICAgLyoKKyAgICAgICAgICBSZXBs YWNlICJAOj08ZXhwcmVzc2lvbj4iIHdpdGggIkA6PTx0bXAgdGFibGUgY29sdW1uPiIuIE90aGVy d2lzZSwgd2UKKyAgICAgICAgICB3b3VsZCByZS1ldmFsdWF0ZSA8ZXhwcmVzc2lvbj4sIGFuZCBp ZiBleHByZXNzaW9uIHdlcmUgYSBzdWJxdWVyeSwgdGhpcworICAgICAgICAgIHdvdWxkIGFjY2Vz cyBhbHJlYWR5LXVubG9ja2VkIHRhYmxlcy4KKyAgICAgICAgKi8KKyAgICAgICAgSXRlbV9mdW5j X3NldF91c2VyX3Zhciogc3V2PQorICAgICAgICAgIG5ldyBJdGVtX2Z1bmNfc2V0X3VzZXJfdmFy KHRoZCwgKEl0ZW1fZnVuY19zZXRfdXNlcl92YXIqKSBpdGVtKTsKKyAgICAgICAgSXRlbV9maWVs ZCAqbmV3X2ZpZWxkPSBuZXcgSXRlbV9maWVsZChmaWVsZCk7CisgICAgICAgIGlmICghc3V2IHx8 ICFuZXdfZmllbGQpCisgICAgICAgICAgREJVR19SRVRVUk4odHJ1ZSk7ICAgICAgICAgICAgICAg ICAgLy8gRmF0YWwgZXJyb3IKKyAgICAgICAgLyoKKyAgICAgICAgICBXZSBhcmUgcmVwbGFjaW5n IHRoZSBhcmd1bWVudCBvZiBJdGVtX2Z1bmNfc2V0X3VzZXJfdmFyIGFmdGVyIGl0cyB2YWx1ZQor ICAgICAgICAgIGhhcyBiZWVuIHJlYWQuIFRoZSBhcmd1bWVudCdzIG51bGxfdmFsdWUgc2hvdWxk IGJlIHNldCBieSBub3csIHNvIHdlCisgICAgICAgICAgbXVzdCBzZXQgaXQgZXhwbGljaXRseSBm b3IgdGhlIHJlcGxhY2VtZW50IGFyZ3VtZW50IHNpbmNlIHRoZQorICAgICAgICAgIG51bGxfdmFs dWUgbWF5IGJlIHJlYWQgd2l0aG91dCBhbnkgcHJlY2VlZGluZyBjYWxsIHRvIHZhbF8qKCkuCisg ICAgICAgICovCisgICAgICAgIG5ld19maWVsZC0+dXBkYXRlX251bGxfdmFsdWUoKTsKKyAgICAg ICAgTGlzdDxJdGVtPiBsaXN0OworICAgICAgICBsaXN0LnB1c2hfYmFjayhuZXdfZmllbGQpOwor ICAgICAgICBzdXYtPnNldF9hcmd1bWVudHMobGlzdCk7CisgICAgICAgIGl0ZW1fZmllbGQ9IHN1 djsKICAgICAgIH0KLSAgICAgIGVsc2UgaWYgKChmaWVsZD0gaXRlbS0+Z2V0X3RtcF90YWJsZV9m aWVsZCgpKSkKKyAgICAgIGVsc2UKKyAgICAgICAgaXRlbV9maWVsZD0gaXRlbTsKKyAgICB9Cisg ICAgZWxzZSBpZiAoKGZpZWxkPSBpdGVtLT5nZXRfdG1wX3RhYmxlX2ZpZWxkKCkpKQorICAgIHsK KyAgICAgIGlmIChpdGVtLT50eXBlKCkgPT0gSXRlbTo6U1VNX0ZVTkNfSVRFTSAmJiBmaWVsZC0+ dGFibGUtPmdyb3VwKQorICAgICAgICBpdGVtX2ZpZWxkPSAoKEl0ZW1fc3VtKikgaXRlbSktPnJl c3VsdF9pdGVtKGZpZWxkKTsKKyAgICAgIGVsc2UKKyAgICAgICAgaXRlbV9maWVsZD0gKEl0ZW0q KSBuZXcgSXRlbV9maWVsZChmaWVsZCk7CisgICAgICBpZiAoIWl0ZW1fZmllbGQpCisgICAgICAg IERCVUdfUkVUVVJOKHRydWUpOyAgICAgICAgICAgICAgICAgICAgLy8gRmF0YWwgZXJyb3IKKwor ICAgICAgaWYgKGl0ZW0tPnJlYWxfaXRlbSgpLT50eXBlKCkgIT0gSXRlbTo6RklFTERfSVRFTSkK KyAgICAgICAgZmllbGQtPm9yaWdfdGFibGU9IDA7CisgICAgICBpdGVtX2ZpZWxkLT5uYW1lPSBp dGVtLT5uYW1lOworICAgICAgaWYgKGl0ZW0tPnR5cGUoKSA9PSBJdGVtOjpSRUZfSVRFTSkKICAg ICAgIHsKLQlpZiAoaXRlbS0+dHlwZSgpID09IEl0ZW06OlNVTV9GVU5DX0lURU0gJiYgZmllbGQt PnRhYmxlLT5ncm91cCkKLQkgIGl0ZW1fZmllbGQ9ICgoSXRlbV9zdW0qKSBpdGVtKS0+cmVzdWx0 X2l0ZW0oZmllbGQpOwotCWVsc2UKLQkgIGl0ZW1fZmllbGQ9IChJdGVtKikgbmV3IEl0ZW1fZmll bGQoZmllbGQpOwotCWlmICghaXRlbV9maWVsZCkKLQkgIERCVUdfUkVUVVJOKFRSVUUpOyAgICAg ICAgICAgICAgICAgICAgLy8gRmF0YWwgZXJyb3IKLQotICAgICAgICBpZiAoaXRlbS0+cmVhbF9p dGVtKCktPnR5cGUoKSAhPSBJdGVtOjpGSUVMRF9JVEVNKQotICAgICAgICAgIGZpZWxkLT5vcmln X3RhYmxlPSAwOwotCWl0ZW1fZmllbGQtPm5hbWU9IGl0ZW0tPm5hbWU7Ci0gICAgICAgIGlmIChp dGVtLT50eXBlKCkgPT0gSXRlbTo6UkVGX0lURU0pCi0gICAgICAgIHsKLSAgICAgICAgICBJdGVt X2ZpZWxkICppZmllbGQ9IChJdGVtX2ZpZWxkICopIGl0ZW1fZmllbGQ7Ci0gICAgICAgICAgSXRl bV9yZWYgKmlyZWY9IChJdGVtX3JlZiAqKSBpdGVtOwotICAgICAgICAgIGlmaWVsZC0+dGFibGVf bmFtZT0gaXJlZi0+dGFibGVfbmFtZTsKLSAgICAgICAgICBpZmllbGQtPmRiX25hbWU9IGlyZWYt PmRiX25hbWU7Ci0gICAgICAgIH0KKyAgICAgICAgSXRlbV9maWVsZCAqaWZpZWxkPSAoSXRlbV9m aWVsZCAqKSBpdGVtX2ZpZWxkOworICAgICAgICBJdGVtX3JlZiAqaXJlZj0gKEl0ZW1fcmVmICop IGl0ZW07CisgICAgICAgIGlmaWVsZC0+dGFibGVfbmFtZT0gaXJlZi0+dGFibGVfbmFtZTsKKyAg ICAgICAgaWZpZWxkLT5kYl9uYW1lPSBpcmVmLT5kYl9uYW1lOworICAgICAgfQogI2lmbmRlZiBE QlVHX09GRgotCWlmICghaXRlbV9maWVsZC0+bmFtZSkKLQl7Ci0JICBjaGFyIGJ1ZmZbMjU2XTsK LQkgIFN0cmluZyBzdHIoYnVmZixzaXplb2YoYnVmZiksJm15X2NoYXJzZXRfYmluKTsKLQkgIHN0 ci5sZW5ndGgoMCk7Ci0JICBpdGVtLT5wcmludCgmc3RyLCBRVF9PUkRJTkFSWSk7Ci0JICBpdGVt X2ZpZWxkLT5uYW1lPSBzcWxfc3RybWFrZShzdHIucHRyKCksc3RyLmxlbmd0aCgpKTsKLQl9Ci0j ZW5kaWYKKyAgICAgIGlmICghaXRlbV9maWVsZC0+bmFtZSkKKyAgICAgIHsKKyAgICAgICAgY2hh ciBidWZmWzI1Nl07CisgICAgICAgIFN0cmluZyBzdHIoYnVmZixzaXplb2YoYnVmZiksJm15X2No YXJzZXRfYmluKTsKKyAgICAgICAgc3RyLmxlbmd0aCgwKTsKKyAgICAgICAgaXRlbS0+cHJpbnQo JnN0ciwgUVRfT1JESU5BUlkpOworICAgICAgICBpdGVtX2ZpZWxkLT5uYW1lPSBzcWxfc3RybWFr ZShzdHIucHRyKCksc3RyLmxlbmd0aCgpKTsKICAgICAgIH0KLSAgICAgIGVsc2UKLQlpdGVtX2Zp ZWxkPSBpdGVtOworI2VuZGlmCiAgICAgfQorICAgIGVsc2UKKyAgICAgIGl0ZW1fZmllbGQ9IGl0 ZW07CisKICAgICByZXNfYWxsX2ZpZWxkcy5wdXNoX2JhY2soaXRlbV9maWVsZCk7CiAgICAgcmVm X3BvaW50ZXJfYXJyYXlbKChpIDwgYm9yZGVyKT8gYWxsX2ZpZWxkcy5lbGVtZW50cy1pLTEgOiBp LWJvcmRlcildPQogICAgICAgaXRlbV9maWVsZDsKICAgfQogCiAgIExpc3RfaXRlcmF0b3JfZmFz dDxJdGVtPiBpdHIocmVzX2FsbF9maWVsZHMpOwotICBmb3IgKGk9IDA7IGkgPCBib3JkZXI7IGkr KykKKyAgZm9yICh1aW50IGk9IDA7IGkgPCBib3JkZXI7IGkrKykKICAgICBpdHIrKzsKICAgaXRy LnN1Ymxpc3QocmVzX3NlbGVjdGVkX2ZpZWxkcywgZWxlbWVudHMpOwotICBEQlVHX1JFVFVSTihG QUxTRSk7CisgIERCVUdfUkVUVVJOKGZhbHNlKTsKIH0KIAogCgo9PT0gbW9kaWZpZWQgZmlsZSAn c3FsL3NxbF9vcHRpbWl6ZXIuY2MnCi0tLSBhL3NxbC9zcWxfb3B0aW1pemVyLmNjCTIwMTItMDEt MTYgMTQ6MDA6MjggKzAwMDAKKysrIGIvc3FsL3NxbF9vcHRpbWl6ZXIuY2MJMjAxMi0wMS0xOCAx Mzo1Mzo0NyArMDAwMApAQCAtNDI0LDYgKzQyNCwxMiBAQCBKT0lOOjpvcHRpbWl6ZSgpCiAgIGlm IChjb25kcykKICAgewogICAgIGNvbmRzPSBzdWJzdGl0dXRlX2Zvcl9iZXN0X2VxdWFsX2ZpZWxk KGNvbmRzLCBjb25kX2VxdWFsLCBtYXAydGFibGUpOworICAgIGlmICh0aGQtPmlzX2Vycm9yKCkp CisgICAgeworICAgICAgZXJyb3I9IDE7CisgICAgICBEQlVHX1BSSU5UKCJlcnJvciIsKCJFcnJv ciBmcm9tIHN1YnN0aXR1dGVfZm9yX2Jlc3RfZXF1YWwiKSk7CisgICAgICBEQlVHX1JFVFVSTigx KTsKKyAgICB9CiAgICAgY29uZHMtPnVwZGF0ZV91c2VkX3RhYmxlcygpOwogICAgIERCVUdfRVhF Q1VURSgid2hlcmUiLAogICAgICAgICAgICAgICAgICBwcmludF93aGVyZShjb25kcywKQEAgLTQ0 Miw2ICs0NDgsMTIgQEAgSk9JTjo6b3B0aW1pemUoKQogICAgICAgKnRhYi0+b25fZXhwcl9yZWY9 IHN1YnN0aXR1dGVfZm9yX2Jlc3RfZXF1YWxfZmllbGQoKnRhYi0+b25fZXhwcl9yZWYsCiAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0YWIt PmNvbmRfZXF1YWwsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBtYXAydGFibGUpOworICAgICAgaWYgKHRoZC0+aXNfZXJyb3IoKSkKKyAg ICAgIHsKKyAgICAgICAgZXJyb3I9IDE7CisgICAgICAgIERCVUdfUFJJTlQoImVycm9yIiwoIkVy cm9yIGZyb20gc3Vic3RpdHV0ZV9mb3JfYmVzdF9lcXVhbCIpKTsKKyAgICAgICAgREJVR19SRVRV Uk4oMSk7CisgICAgICB9CiAgICAgICAoKnRhYi0+b25fZXhwcl9yZWYpLT51cGRhdGVfdXNlZF90 YWJsZXMoKTsKICAgICB9CiAgIH0KQEAgLTExODMsOSArMTE5NSw5IEBAIHN0YXRpYyBib29sIGNo ZWNrX3NpbXBsZV9lcXVhbGl0eShJdGVtICoKICAgICAgICAgaWYgKCFpdGVtKQogICAgICAgICB7 CiAgICAgICAgICAgSXRlbV9mdW5jX2VxICplcV9pdGVtOwotICAgICAgICAgIGlmICgoZXFfaXRl bT0gbmV3IEl0ZW1fZnVuY19lcShsZWZ0X2l0ZW0sIHJpZ2h0X2l0ZW0pKSkKKyAgICAgICAgICBp ZiAoIShlcV9pdGVtPSBuZXcgSXRlbV9mdW5jX2VxKGxlZnRfaXRlbSwgcmlnaHRfaXRlbSkpIHx8 CisgICAgICAgICAgICAgIGVxX2l0ZW0tPnNldF9jbXBfZnVuYygpKQogICAgICAgICAgICAgcmV0 dXJuIEZBTFNFOwotICAgICAgICAgIGVxX2l0ZW0tPnNldF9jbXBfZnVuYygpOwogICAgICAgICAg IGVxX2l0ZW0tPnF1aWNrX2ZpeF9maWVsZCgpOwogICAgICAgICAgIGl0ZW09IGVxX2l0ZW07CiAg ICAgICAgIH0gIApAQCAtMTI3Niw5ICsxMjg4LDkgQEAgc3RhdGljIGJvb2wgY2hlY2tfcm93X2Vx dWFsaXR5KFRIRCAqdGhkLAogICAgIGlmICghaXNfY29udmVydGVkKQogICAgIHsKICAgICAgIEl0 ZW1fZnVuY19lcSAqZXFfaXRlbTsKLSAgICAgIGlmICghKGVxX2l0ZW09IG5ldyBJdGVtX2Z1bmNf ZXEobGVmdF9pdGVtLCByaWdodF9pdGVtKSkpCisgICAgICBpZiAoIShlcV9pdGVtPSBuZXcgSXRl bV9mdW5jX2VxKGxlZnRfaXRlbSwgcmlnaHRfaXRlbSkpIHx8CisgICAgICAgICAgZXFfaXRlbS0+ c2V0X2NtcF9mdW5jKCkpCiAgICAgICAgIHJldHVybiBGQUxTRTsKLSAgICAgIGVxX2l0ZW0tPnNl dF9jbXBfZnVuYygpOwogICAgICAgZXFfaXRlbS0+cXVpY2tfZml4X2ZpZWxkKCk7CiAgICAgICBl cV9saXN0LT5wdXNoX2JhY2soZXFfaXRlbSk7CiAgICAgfQpAQCAtMTg1MiwxMCArMTg2NCw4IEBA IHN0YXRpYyBJdGVtICplbGltaW5hdGVfaXRlbV9lcXVhbChJdGVtICoKICAgICAgICAgaGVhZD0g aXRlbV9lcXVhbC0+Z2V0X2ZpcnN0KCk7CiAKICAgICAgIGVxX2l0ZW09IG5ldyBJdGVtX2Z1bmNf ZXEoaXRlbV9maWVsZCwgaGVhZCk7Ci0gICAgICBpZiAoIWVxX2l0ZW0pCisgICAgICBpZiAoIWVx X2l0ZW0gfHwgZXFfaXRlbS0+c2V0X2NtcF9mdW5jKCkpCiAgICAgICAgIHJldHVybiBOVUxMOwot Ci0gICAgICBlcV9pdGVtLT5zZXRfY21wX2Z1bmMoKTsKICAgICAgIGVxX2l0ZW0tPnF1aWNrX2Zp eF9maWVsZCgpOwogICAgIH0KICAgfQpAQCAtMTkxMSw3ICsxOTIxLDcgQEAgc3RhdGljIEl0ZW0g KmVsaW1pbmF0ZV9pdGVtX2VxdWFsKEl0ZW0gKgogICAgIHRoZSBvcmRlciBpbiB0aGVtIHRvIGNv bXBseSB3aXRoIHRoZSBvcmRlciBvZiB1cHBlciBsZXZlbHMuCiAKICAgQHJldHVybgotICAgIFRo ZSB0cmFuc2Zvcm1lZCBjb25kaXRpb24KKyAgICBUaGUgdHJhbnNmb3JtZWQgY29uZGl0aW9uLCBv ciBOVUxMIGluIGNhc2Ugb2YgZXJyb3IKICovCiAKIHN0YXRpYyBJdGVtKiBzdWJzdGl0dXRlX2Zv cl9iZXN0X2VxdWFsX2ZpZWxkKEl0ZW0gKmNvbmQsCkBAIC0xOTU4LDYgKzE5NjgsOCBAQCBzdGF0 aWMgSXRlbSogc3Vic3RpdHV0ZV9mb3JfYmVzdF9lcXVhbF9mCiAgICAgICB3aGlsZSAoKGl0ZW1f ZXF1YWw9IGl0KyspKQogICAgICAgewogICAgICAgICBjb25kPSBlbGltaW5hdGVfaXRlbV9lcXVh bChjb25kLCBjb25kX2VxdWFsLT51cHBlcl9sZXZlbHMsIGl0ZW1fZXF1YWwpOworICAgICAgICBp ZiAoY29uZCA9PSBOVUxMKQorICAgICAgICAgIHJldHVybiBOVUxMOwogICAgICAgICAvLyBUaGlz IG9jY3VycyB3aGVuIGVsaW1pbmF0ZV9pdGVtX2VxdWFsKCkgZm91bmRzIHRoYXQgY29uZCBpcwog ICAgICAgICAvLyBhbHdheXMgZmFsc2UgYW5kIHN1YnN0aXR1dGVzIGl0IHdpdGggSXRlbV9pbnQg MC4KICAgICAgICAgLy8gRHVlIHRvIHRoaXMsIHZhbHVlIG9mIGl0ZW1fZXF1YWwgd2lsbCBiZSAw LCBzbyBqdXN0IHJldHVybiBpdC4KCj09PSBtb2RpZmllZCBmaWxlICdzcWwvc3FsX3BsdWdpbi5j YycKLS0tIGEvc3FsL3NxbF9wbHVnaW4uY2MJMjAxMS0xMS0xMCAwOTo1NToyMCArMDAwMAorKysg Yi9zcWwvc3FsX3BsdWdpbi5jYwkyMDEyLTAxLTE3IDA5OjM5OjU0ICswMDAwCkBAIC00NjksMTgg KzQ2OSwyMiBAQCBzdGF0aWMgc3RfcGx1Z2luX2RsICpwbHVnaW5fZGxfYWRkKGNvbnN0CiAgIGRs cGF0aGxlbj0KICAgICBzdHJ4bm1vdihkbHBhdGgsIHNpemVvZihkbHBhdGgpIC0gMSwgb3B0X3Bs dWdpbl9kaXIsICIvIiwgZGwtPnN0ciwgTnVsbFMpIC0KICAgICBkbHBhdGg7CisgICh2b2lkKSB1 bnBhY2tfZmlsZW5hbWUoZGxwYXRoLCBkbHBhdGgpOwogICBwbHVnaW5fZGwucmVmX2NvdW50PSAx OwogICAvKiBPcGVuIG5ldyBkbGwgaGFuZGxlICovCiAgIGlmICghKHBsdWdpbl9kbC5oYW5kbGU9 IGRsb3BlbihkbHBhdGgsIFJUTERfTk9XKSkpCiAgIHsKLSAgICBjb25zdCBjaGFyICplcnJtc2c9 ZGxlcnJvcigpOworICAgIGNvbnN0IGNoYXIgKmVycm1zZzsKKyAgICBpbnQgZXJyb3JfbnVtYmVy PSBkbG9wZW5fZXJybm87CisgICAgRExFUlJPUl9HRU5FUkFURShlcnJtc2csIGVycm9yX251bWJl cik7CisKICAgICBpZiAoIXN0cm5jbXAoZGxwYXRoLCBlcnJtc2csIGRscGF0aGxlbikpCiAgICAg eyAvLyBpZiBlcnJtc2cgc3RhcnRzIGZyb20gZGxwYXRoLCB0cmltIHRoaXMgcHJlZml4LgogICAg ICAgZXJybXNnKz1kbHBhdGhsZW47CiAgICAgICBpZiAoKmVycm1zZyA9PSAnOicpIGVycm1zZysr OwogICAgICAgaWYgKCplcnJtc2cgPT0gJyAnKSBlcnJtc2crKzsKICAgICB9Ci0gICAgcmVwb3J0 X2Vycm9yKHJlcG9ydCwgRVJfQ0FOVF9PUEVOX0xJQlJBUlksIGRscGF0aCwgZXJybm8sIGVycm1z Zyk7CisgICAgcmVwb3J0X2Vycm9yKHJlcG9ydCwgRVJfQ0FOVF9PUEVOX0xJQlJBUlksIGRscGF0 aCwgZXJyb3JfbnVtYmVyLCBlcnJtc2cpOwogICAgIERCVUdfUkVUVVJOKDApOwogICB9CiAgIC8q IERldGVybWluZSBpbnRlcmZhY2UgdmVyc2lvbiAqLwoKPT09IG1vZGlmaWVkIGZpbGUgJ3NxbC9z cWxfdGFibGUuY2MnCi0tLSBhL3NxbC9zcWxfdGFibGUuY2MJMjAxMi0wMS0xNyAwOToyNzozNCAr MDAwMAorKysgYi9zcWwvc3FsX3RhYmxlLmNjCTIwMTItMDEtMTggMDQ6MzM6MDggKzAwMDAKQEAg LTI0NTEsNiArMjQ1MSwxNCBAQCBpbnQgbXlzcWxfcm1fdGFibGVfbm9fbG9ja3MoVEhEICp0aGQs IFRBCiAgICAgfQogICAgIGlmIChlcnJvcikKICAgICB7CisgICAgICBpZiAoZXJyb3IgPT0gSEFf RVJSX1RPT19NQU5ZX0NPTkNVUlJFTlRfVFJYUykKKyAgICAgIHsKKyAgICAgICAgbXlfZXJyb3Io SEFfRVJSX1RPT19NQU5ZX0NPTkNVUlJFTlRfVFJYUywgTVlGKDApKTsKKyAgICAgICAgd3Jvbmdf dGFibGVzLmZyZWUoKTsKKyAgICAgICAgZXJyb3I9IDE7CisgICAgICAgIGdvdG8gZXJyOworICAg ICAgfQorCiAgICAgICBpZiAod3JvbmdfdGFibGVzLmxlbmd0aCgpKQogICAgICAgICB3cm9uZ190 YWJsZXMuYXBwZW5kKCcsJyk7CiAKCj09PSBtb2RpZmllZCBmaWxlICdzcWwvc3FsX3VkZi5jYycK LS0tIGEvc3FsL3NxbF91ZGYuY2MJMjAxMS0xMS0yOCAwNzo0MjoxOCArMDAwMAorKysgYi9zcWwv c3FsX3VkZi5jYwkyMDEyLTAxLTE3IDA5OjM5OjU0ICswMDAwCkBAIC0yMTQsMTAgKzIxNCwxNSBA QCB2b2lkIHVkZl9pbml0KCkKICAgICAgIGNoYXIgZGxwYXRoW0ZOX1JFRkxFTl07CiAgICAgICBz dHJ4bm1vdihkbHBhdGgsIHNpemVvZihkbHBhdGgpIC0gMSwgb3B0X3BsdWdpbl9kaXIsICIvIiwg dG1wLT5kbCwKICAgICAgICAgICAgICAgIE51bGxTKTsKKyAgICAgICh2b2lkKSB1bnBhY2tfZmls ZW5hbWUoZGxwYXRoLCBkbHBhdGgpOwogICAgICAgaWYgKCEoZGw9IGRsb3BlbihkbHBhdGgsIFJU TERfTk9XKSkpCiAgICAgICB7CisJY29uc3QgY2hhciAqZXJybXNnOworCWludCBlcnJvcl9udW1i ZXI9IGRsb3Blbl9lcnJubzsKKwlETEVSUk9SX0dFTkVSQVRFKGVycm1zZywgZXJyb3JfbnVtYmVy KTsKKwogCS8qIFByaW50IHdhcm5pbmcgdG8gbG9nICovCi0gICAgICAgIHNxbF9wcmludF9lcnJv cihFUihFUl9DQU5UX09QRU5fTElCUkFSWSksIHRtcC0+ZGwsIGVycm5vLCBkbGVycm9yKCkpOwor ICAgICAgICBzcWxfcHJpbnRfZXJyb3IoRVIoRVJfQ0FOVF9PUEVOX0xJQlJBUlkpLCB0bXAtPmRs LCBlcnJvcl9udW1iZXIsIGVycm1zZyk7CiAJLyogS2VlcCB0aGUgdWRmIGluIHRoZSBoYXNoIHNv IHRoYXQgd2UgY2FuIHJlbW92ZSBpdCBsYXRlciAqLwogCWNvbnRpbnVlOwogICAgICAgfQpAQCAt NDY2LDEyICs0NzEsMTggQEAgaW50IG15c3FsX2NyZWF0ZV9mdW5jdGlvbihUSEQgKnRoZCx1ZGZf ZgogICB7CiAgICAgY2hhciBkbHBhdGhbRk5fUkVGTEVOXTsKICAgICBzdHJ4bm1vdihkbHBhdGgs IHNpemVvZihkbHBhdGgpIC0gMSwgb3B0X3BsdWdpbl9kaXIsICIvIiwgdWRmLT5kbCwgTnVsbFMp OworICAgICh2b2lkKSB1bnBhY2tfZmlsZW5hbWUoZGxwYXRoLCBkbHBhdGgpOworCiAgICAgaWYg KCEoZGwgPSBkbG9wZW4oZGxwYXRoLCBSVExEX05PVykpKQogICAgIHsKKyAgICAgIGNvbnN0IGNo YXIgKmVycm1zZzsKKyAgICAgIGludCBlcnJvcl9udW1iZXI9IGRsb3Blbl9lcnJubzsKKyAgICAg IERMRVJST1JfR0VORVJBVEUoZXJybXNnLCBlcnJvcl9udW1iZXIpOworCiAgICAgICBEQlVHX1BS SU5UKCJlcnJvciIsKCJkbG9wZW4gb2YgJXMgZmFpbGVkLCBlcnJvcjogJWQgKCVzKSIsCi0gICAg ICAgICAgICAgICAgICAgICAgICAgIHVkZi0+ZGwsIGVycm5vLCBkbGVycm9yKCkpKTsKKyAgICAg ICAgICAgICAgICAgICAgICAgICAgdWRmLT5kbCwgZXJyb3JfbnVtYmVyLCBlcnJtc2cpKTsKICAg ICAgIG15X2Vycm9yKEVSX0NBTlRfT1BFTl9MSUJSQVJZLCBNWUYoMCksCi0gICAgICAgICAgICAg ICB1ZGYtPmRsLCBlcnJubywgZGxlcnJvcigpKTsKKyAgICAgICAgICAgICAgIHVkZi0+ZGwsIGVy cm9yX251bWJlciwgZXJybXNnKTsKICAgICAgIGdvdG8gZXJyOwogICAgIH0KICAgICBuZXdfZGw9 MTsKCj09PSBtb2RpZmllZCBmaWxlICdzcWwvdGFibGUuaCcKLS0tIGEvc3FsL3RhYmxlLmgJMjAx Mi0wMS0xMyAwOTozMzoxMyArMDAwMAorKysgYi9zcWwvdGFibGUuaAkyMDEyLTAxLTE4IDEzOjAz OjEwICswMDAwCkBAIC0zMzcsNiArMzM3LDkgQEAgcHVibGljOgogICB1Y2hhciAqKmFsbG9jX3Nv cnRfYnVmZmVyKHVpbnQgbnVtX3JlY29yZHMsIHVpbnQgcmVjb3JkX2xlbmd0aCkKICAgeyByZXR1 cm4gZmlsZXNvcnRfYnVmZmVyLmFsbG9jX3NvcnRfYnVmZmVyKG51bV9yZWNvcmRzLCByZWNvcmRf bGVuZ3RoKTsgfQogCisgIHN0ZDo6cGFpcjx1aW50LCB1aW50PiBzb3J0X2J1ZmZlcl9wcm9wZXJ0 aWVzKCkKKyAgeyByZXR1cm4gZmlsZXNvcnRfYnVmZmVyLnNvcnRfYnVmZmVyX3Byb3BlcnRpZXMo KTsgfQorCiAgIHZvaWQgZnJlZV9zb3J0X2J1ZmZlcigpCiAgIHsgZmlsZXNvcnRfYnVmZmVyLmZy ZWVfc29ydF9idWZmZXIoKTsgfQogCgo9PT0gbW9kaWZpZWQgZmlsZSAnc3RvcmFnZS9pbm5vYmFz ZS9idWYvYnVmMGJ1Zi5jYycKLS0tIGEvc3RvcmFnZS9pbm5vYmFzZS9idWYvYnVmMGJ1Zi5jYwky MDExLTEyLTI4IDEwOjQwOjU1ICswMDAwCisrKyBiL3N0b3JhZ2UvaW5ub2Jhc2UvYnVmL2J1ZjBi dWYuY2MJMjAxMi0wMS0xNiAwODoxNToyMCArMDAwMApAQCAtMzA3NSw5ICszMDc1LDE4IEBAIGJ1 Zl9wYWdlX2dldF9rbm93bl9ub3dhaXQoCiAJdXRfYShidWZfYmxvY2tfZ2V0X3N0YXRlKGJsb2Nr KSA9PSBCVUZfQkxPQ0tfRklMRV9QQUdFKTsKICNlbmRpZiAvKiBVTklWX0RFQlVHIHx8IFVOSVZf QlVGX0RFQlVHICovCiAjaWYgZGVmaW5lZCBVTklWX0RFQlVHX0ZJTEVfQUNDRVNTRVMgfHwgZGVm aW5lZCBVTklWX0RFQlVHCi0JbXV0ZXhfZW50ZXIoJmJsb2NrLT5tdXRleCk7Ci0JdXRfYSghYmxv Y2stPnBhZ2UuZmlsZV9wYWdlX3dhc19mcmVlZCk7Ci0JbXV0ZXhfZXhpdCgmYmxvY2stPm11dGV4 KTsKKwlpZiAobW9kZSAhPSBCVUZfS0VFUF9PTEQpIHsKKwkJLyogSWYgbW9kZSA9PSBCVUZfS0VF UF9PTEQsIHdlIGFyZSBleGVjdXRpbmcgYW4gSS9PCisJCWNvbXBsZXRpb24gcm91dGluZS4gIEF2 b2lkIGEgYm9ndXMgYXNzZXJ0aW9uIGZhaWx1cmUKKwkJd2hlbiBpYnVmX21lcmdlX29yX2RlbGV0 ZV9mb3JfcGFnZSgpIGlzIHByb2Nlc3NpbmcgYQorCQlwYWdlIHRoYXQgd2FzIGp1c3QgZnJlZWQg ZHVlIHRvIERST1AgSU5ERVgsIG9yCisJCWRlbGV0aW5nIGEgcmVjb3JkIGZyb20gU1lTX0lOREVY RVMuIFRoaXMgY2hlY2sgd2lsbCBiZQorCQlza2lwcGVkIGluIHJlY3ZfcmVjb3Zlcl9wYWdlKCkg YXMgd2VsbC4gKi8KKworCQltdXRleF9lbnRlcigmYmxvY2stPm11dGV4KTsKKwkJdXRfYSghYmxv Y2stPnBhZ2UuZmlsZV9wYWdlX3dhc19mcmVlZCk7CisJCW11dGV4X2V4aXQoJmJsb2NrLT5tdXRl eCk7CisJfQogI2VuZGlmCiAKICNpZmRlZiBVTklWX0lCVUZfQ09VTlRfREVCVUcKCj09PSBtb2Rp ZmllZCBmaWxlICdzdG9yYWdlL2lubm9iYXNlL2RpY3QvZGljdDBzdGF0cy5jYycKLS0tIGEvc3Rv cmFnZS9pbm5vYmFzZS9kaWN0L2RpY3Qwc3RhdHMuY2MJMjAxMS0xMi0xNiAxNDozNDoxNCArMDAw MAorKysgYi9zdG9yYWdlL2lubm9iYXNlL2RpY3QvZGljdDBzdGF0cy5jYwkyMDEyLTAxLTE3IDA5 OjA0OjE5ICswMDAwCkBAIC0xOTEwLDEwICsxOTEwLDggQEAgZGljdF9zdGF0c19mZXRjaF9pbmRl eF9zdGF0c19zdGVwKAogCQkJICAgICBpbmRleCAhPSBOVUxMOwogCQkJICAgICBpbmRleCA9IGRp Y3RfdGFibGVfZ2V0X25leHRfaW5kZXgoaW5kZXgpKSB7CiAKLQkJCQkvLyBGSVhNRTogQ2FuIHdl IHVzZSBhIGJldHRlciBjYXN0IG9wZXJhdG9yCi0JCQkJaWYgKHN0cm5jYXNlY21wKGluZGV4LT5u YW1lLAotCQkJCQkJKGNvbnN0IGNoYXIqKSBkYXRhLAotCQkJCQkJbGVuKSA9PSAwKSB7CisJCQkJ aWYgKHN0cmxlbihpbmRleC0+bmFtZSkgPT0gbGVuCisJCQkJICAgICYmIG1lbWNtcChpbmRleC0+ bmFtZSwgZGF0YSwgbGVuKSA9PSAwKSB7CiAJCQkJCS8qIHRoZSBjb3JyZXNwb25kaW5nIGluZGV4 IHdhcyBmb3VuZCAqLwogCQkJCQlicmVhazsKIAkJCQl9CkBAIC0xOTk5LDI2ICsxOTk3LDI5IEBA IGRpY3Rfc3RhdHNfZmV0Y2hfaW5kZXhfc3RhdHNfc3RlcCgKIAkvKiBzYW1wbGVfc2l6ZSBjb3Vs ZCBiZSBVSU5UNjRfVU5ERUZJTkVEIGhlcmUsIGlmIGl0IGlzIE5VTEwgKi8KIAogI2RlZmluZSBQ RlgJIm5fZGlmZl9wZngiCisjZGVmaW5lIFBGWF9MRU4JMTAKIAotCWlmIChzdHJuY2FzZWNtcCgi c2l6ZSIsIHN0YXRfbmFtZSwgc3RhdF9uYW1lX2xlbikgPT0gMCkgeworCWlmIChzdGF0X25hbWVf bGVuID09IDQgLyogc3RybGVuKCJzaXplIikgKi8KKwkgICAgJiYgc3RybmNhc2VjbXAoInNpemUi LCBzdGF0X25hbWUsIHN0YXRfbmFtZV9sZW4pID09IDApIHsKIAkJaW5kZXgtPnN0YXRfaW5kZXhf c2l6ZSA9ICh1bGludCkgc3RhdF92YWx1ZTsKIAkJYXJnLT5zdGF0c193ZXJlX21vZGlmaWVkID0g VFJVRTsKLQl9IGVsc2UgaWYgKHN0cm5jYXNlY21wKCJuX2xlYWZfcGFnZXMiLCBzdGF0X25hbWUs IHN0YXRfbmFtZV9sZW4pCisJfSBlbHNlIGlmIChzdGF0X25hbWVfbGVuID09IDEyIC8qIHN0cmxl bigibl9sZWFmX3BhZ2VzIikgKi8KKwkJICAgJiYgc3RybmNhc2VjbXAoIm5fbGVhZl9wYWdlcyIs IHN0YXRfbmFtZSwgc3RhdF9uYW1lX2xlbikKIAkJICAgPT0gMCkgewogCQlpbmRleC0+c3RhdF9u X2xlYWZfcGFnZXMgPSAodWxpbnQpIHN0YXRfdmFsdWU7CiAJCWFyZy0+c3RhdHNfd2VyZV9tb2Rp ZmllZCA9IFRSVUU7Ci0JfSBlbHNlIGlmIChzdHJuY2FzZWNtcChQRlgsIHN0YXRfbmFtZSwKLQkJ CSAgICAgICB1dF9taW4oc3RybGVuKFBGWCksIHN0YXRfbmFtZV9sZW4pKSA9PSAwKSB7CisJfSBl bHNlIGlmIChzdGF0X25hbWVfbGVuID4gUEZYX0xFTiAvKiBlLmcuIHN0YXRfbmFtZT09Im5fZGlm Zl9wZngwMSIgKi8KKwkJICAgJiYgc3RybmNhc2VjbXAoUEZYLCBzdGF0X25hbWUsIFBGWF9MRU4p ID09IDApIHsKIAogCQljb25zdCBjaGFyKgludW1fcHRyOwogCQl1bnNpZ25lZCBsb25nCW5fcGZ4 OwogCiAJCS8qIHBvaW50IG51bV9wdHIgaW50byAiMSIgZnJvbSAibl9kaWZmX3BmeDEyLi4uIiAq LwotCQludW1fcHRyID0gc3RhdF9uYW1lICsgc3RybGVuKFBGWCk7CisJCW51bV9wdHIgPSBzdGF0 X25hbWUgKyBQRlhfTEVOOwogCiAJCS8qIHN0YXRfbmFtZSBzaG91bGQgaGF2ZSBleGFjdGx5IDIg Y2hhcnMgYXBwZW5kZWQgdG8gUEZYCiAJCWFuZCB0aGV5IHNob3VsZCBiZSBkaWdpdHMgKi8KLQkJ aWYgKHN0YXRfbmFtZV9sZW4gIT0gc3RybGVuKFBGWCkgKyAyCisJCWlmIChzdGF0X25hbWVfbGVu ICE9IFBGWF9MRU4gKyAyCiAJCSAgICB8fCBudW1fcHRyWzBdIDwgJzAnIHx8IG51bV9wdHJbMF0g PiAnOScKIAkJICAgIHx8IG51bV9wdHJbMV0gPCAnMCcgfHwgbnVtX3B0clsxXSA+ICc5Jykgewog Cgo9PT0gbW9kaWZpZWQgZmlsZSAnc3RvcmFnZS9pbm5vYmFzZS9pYnVmL2lidWYwaWJ1Zi5jYycK LS0tIGEvc3RvcmFnZS9pbm5vYmFzZS9pYnVmL2lidWYwaWJ1Zi5jYwkyMDExLTEyLTIzIDEzOjE3 OjM2ICswMDAwCisrKyBiL3N0b3JhZ2UvaW5ub2Jhc2UvaWJ1Zi9pYnVmMGlidWYuY2MJMjAxMi0w MS0xNiAxMjozMDo1OCArMDAwMApAQCAtMSw2ICsxLDYgQEAKIC8qKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KgogCi1Db3B5cmlnaHQgKGMpIDE5OTcsIDIwMTEsIE9yYWNsZSBhbmQvb3IgaXRzIGFmZmlsaWF0 ZXMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCitDb3B5cmlnaHQgKGMpIDE5OTcsIDIwMTIsIE9yYWNs ZSBhbmQvb3IgaXRzIGFmZmlsaWF0ZXMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCiAKIFRoaXMgcHJv Z3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9k aWZ5IGl0IHVuZGVyCiB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNl IGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZQpAQCAtMjQxNSw3ICsyNDE1LDE1IEBA IGlidWZfZ2V0X21lcmdlX3BhZ2Vfbm9zX2Z1bmMoCiAJCX0gZWxzZSB7CiAJCQlyZWNfcGFnZV9u byA9IGlidWZfcmVjX2dldF9wYWdlX25vKG10ciwgcmVjKTsKIAkJCXJlY19zcGFjZV9pZCA9IGli dWZfcmVjX2dldF9zcGFjZShtdHIsIHJlYyk7Ci0JCQl1dF9hZChyZWNfcGFnZV9ubyA+IElCVUZf VFJFRV9ST09UX1BBR0VfTk8pOworCQkJLyogSW4gdGhlIHN5c3RlbSB0YWJsZXNwYWNlLCB0aGUg c21hbGxlc3QKKwkJCXBvc3NpYmxlIHNlY29uZGFyeSBpbmRleCBsZWFmIHBhZ2UgbnVtYmVyIGlz CisJCQliaWdnZXIgdGhhbiBJQlVGX1RSRUVfUk9PVF9QQUdFX05PICg0KS4gSW4KKwkJCW90aGVy IHRhYmxlc3BhY2VzLCB0aGUgY2x1c3RlcmVkIGluZGV4IHRyZWUgaXMKKwkJCWNyZWF0ZWQgYXQg cGFnZSAzLCB3aGljaCBtYWtlcyBwYWdlIDQgdGhlCisJCQlzbWFsbGVzdCBwb3NzaWJsZSBzZWNv bmRhcnkgaW5kZXggbGVhZiBwYWdlCisJCQkoYW5kIHRoYXQgb25seSBhZnRlciBEUk9QIElOREVY KS4gKi8KKwkJCXV0X2FkKHJlY19wYWdlX25vCisJCQkgICAgICA+IElCVUZfVFJFRV9ST09UX1BB R0VfTk8gLSAocmVjX3NwYWNlX2lkICE9IDApKTsKIAkJfQogCiAjaWZkZWYgVU5JVl9JQlVGX0RF QlVHCgo9PT0gbW9kaWZpZWQgZmlsZSAndW5pdHRlc3QvZ3VuaXQvZmlsZXNvcnRfYnVmZmVyLXQu Y2MnCi0tLSBhL3VuaXR0ZXN0L2d1bml0L2ZpbGVzb3J0X2J1ZmZlci10LmNjCTIwMTEtMTItMjAg MDk6NTE6MDUgKzAwMDAKKysrIGIvdW5pdHRlc3QvZ3VuaXQvZmlsZXNvcnRfYnVmZmVyLXQuY2MJ MjAxMi0wMS0xOCAxMzowMzoxMCArMDAwMApAQCAtMTYsMTEgKzE2LDExIEBACiAvLyBGaXJzdCBp bmNsdWRlICh0aGUgZ2VuZXJhdGVkKSBteV9jb25maWcuaCwgdG8gZ2V0IGNvcnJlY3QgcGxhdGZv cm0gZGVmaW5lcy4KICNpbmNsdWRlICJteV9jb25maWcuaCIKICNpbmNsdWRlIDxndGVzdC9ndGVz dC5oPgorI2luY2x1ZGUgPHV0aWxpdHk+CiAKICNpbmNsdWRlICJmaWxlc29ydF91dGlscy5oIgog I2luY2x1ZGUgInRhYmxlLmgiCiAKLQogbmFtZXNwYWNlIHsKIAogY2xhc3MgRmlsZVNvcnRCdWZm ZXJUZXN0IDogcHVibGljIDo6dGVzdGluZzo6VGVzdApAQCAtMzgsNyArMzgsMTUgQEAgcHJvdGVj dGVkOgogVEVTVF9GKEZpbGVTb3J0QnVmZmVyVGVzdCwgRmlsZVNvcnRCdWZmZXIpCiB7CiAgIGNv bnN0IGNoYXIgbGV0dGVyc1sxMF09ICJhYmNkZWZnaGkiOworICBzdGQ6OnBhaXI8dWludCwgdWlu dD4gYnVmZmVyX3Byb3BlcnRpZXM9IGZzX2luZm8uc29ydF9idWZmZXJfcHJvcGVydGllcygpOwor ICBFWFBFQ1RfRVEoMFUsIGJ1ZmZlcl9wcm9wZXJ0aWVzLmZpcnN0KTsKKyAgRVhQRUNUX0VRKDBV LCBidWZmZXJfcHJvcGVydGllcy5zZWNvbmQpOworCiAgIHVjaGFyICoqc29ydF9rZXlzPSBmc19p bmZvLmFsbG9jX3NvcnRfYnVmZmVyKDEwLCBzaXplb2YoY2hhcikpOworICBidWZmZXJfcHJvcGVy dGllcz0gZnNfaW5mby5zb3J0X2J1ZmZlcl9wcm9wZXJ0aWVzKCk7CisgIEVYUEVDVF9FUSgxMFUs IGJ1ZmZlcl9wcm9wZXJ0aWVzLmZpcnN0KTsKKyAgRVhQRUNUX0VRKHNpemVvZihjaGFyKSwgYnVm ZmVyX3Byb3BlcnRpZXMuc2Vjb25kKTsKKwogICB1Y2hhciAqKm51bGxfc29ydF9rZXlzPSBOVUxM OwogICBFWFBFQ1RfTkUobnVsbF9zb3J0X2tleXMsIHNvcnRfa2V5cyk7CiAgIGZvciAodWludCBp eD0gMDsgaXggPCAxMDsgKytpeCkKCk5vIGJ1bmRsZSAocmVhc29uOiB1c2VsZXNzIGZvciBwdXNo IGVtYWlscyku