ZGlmZiAtLWdpdCBhLy5naXRodWIvd29ya2Zsb3dzL2NpLnltbCBiLy5naXRodWIvd29ya2Zsb3dzL2NpLnltbAppbmRleCAxMTEwNjY1Li40NmVkYThkIDEwMDY0NAotLS0gYS8uZ2l0aHViL3dvcmtmbG93cy9jaS55bWwKKysrIGIvLmdpdGh1Yi93b3JrZmxvd3MvY2kueW1sCkBAIC00MzQsNiArNDM0LDkgQEAKICAgICAgICMgU09ESVVNX01JTkdXX1VSTDogaHR0cHM6Ly9kb3dubG9hZC5saWJzb2RpdW0ub3JnL2xpYnNvZGl1bS9yZWxlYXNlcy9saWJzb2RpdW0tJVNPRElVTV9WRVIlLXN0YWJsZS1taW5ndy50YXIuZ3oKICAgICAgIFNPRElVTV9NSU5HV19VUkw6IGh0dHBzOi8vZ2l0aHViLmNvbS9qZWRpc2N0MS9saWJzb2RpdW0vcmVsZWFzZXMvZG93bmxvYWQvJVNPRElVTV9WRVIlLVJFTEVBU0UvbGlic29kaXVtLSVTT0RJVU1fVkVSJS1taW5ndy50YXIuZ3oKICAgICAgIFNPRElVTV9NSU5HV19WRVI6IDI2CisgICAgICAjIEdldHRleHQtdG9vbHMsIGljb252IGFuZCBsaWJyYXJpZXMKKyAgICAgIEdFVFRFWFQzMl9VUkw6IGh0dHBzOi8vZ2l0aHViLmNvbS9tbG9jYXRpL2dldHRleHQtaWNvbnYtd2luZG93cy9yZWxlYXNlcy9kb3dubG9hZC92MC4yMS12MS4xNi9nZXR0ZXh0MC4yMS1pY29udjEuMTYtc2hhcmVkLTMyLnppcAorICAgICAgR0VUVEVYVDY0X1VSTDogaHR0cHM6Ly9naXRodWIuY29tL21sb2NhdGkvZ2V0dGV4dC1pY29udi13aW5kb3dzL3JlbGVhc2VzL2Rvd25sb2FkL3YwLjIxLXYxLjE2L2dldHRleHQwLjIxLWljb252MS4xNi1zaGFyZWQtNjQuemlwCiAgICAgICAjIEVzY2FwZSBzZXF1ZW5jZXMKICAgICAgIENPTF9SRUQ6ICJceDFiWzMxbSIKICAgICAgIENPTF9HUkVFTjogIlx4MWJbMzJtIgpAQCAtNTAxLDYgKzUwNCw3IEBACiAgICAgICAgICAgICBlY2hvICJTT0RJVU1fRElSX1NMQVNIPSR7U09ESVVNX0RJUl9TTEFTSH0iID4+ICRHSVRIVUJfRU5WCiAgICAgICAgICAgZmkKICAgICAgICAgICBlY2hvICJTT0RJVU1fRElSPSR7U09ESVVNX0RJUn0iID4+ICRHSVRIVUJfRU5WCisgICAgICAgICAgZWNobyAiR0VUVEVYVF9QQVRIPUQ6XGdldHRleHQke3sgbWF0cml4LmFyY2ggPT0gJ3g2NCcgJiYgJzY0JyB8fCAnMzInIH19IiA+PiAkR0lUSFVCX0VOVgogCiAgICAgICAtIHVzZXM6IG1zeXMyL3NldHVwLW1zeXMyQHYyCiAgICAgICAgIGlmOiBtYXRyaXgudG9vbGNoYWluID09ICdtaW5ndycKQEAgLTUyMiw2ICs1MjYsOCBAQAogICAgICAgICAgIGVjaG8gJUxVQV9SRUxFQVNFJT4+IHVybHMudHh0CiAgICAgICAgICAgZWNobyAlV0lOUFRZX1VSTCU+PiB1cmxzLnR4dAogICAgICAgICAgIGVjaG8gJVNPRElVTV9WRVIlPj4gdXJscy50eHQKKyAgICAgICAgICBlY2hvICVHRVRURVhUMzJfVVJMJT4+IHVybHMudHh0CisgICAgICAgICAgZWNobyAlR0VUVEVYVDY0X1VSTCU+PiB1cmxzLnR4dAogCiAgICAgICAtIG5hbWU6IENhY2hlIGRvd25sb2FkZWQgZmlsZXMKICAgICAgICAgdXNlczogYWN0aW9ucy9jYWNoZUB2NApAQCAtNTU1LDYgKzU2MSwxMiBAQAogICAgICAgICAgICAgbWtsaW5rICVTT0RJVU1fTElCJVxsaWJzb2RpdW0uZGxsICVTT0RJVU1fTElCJVxsaWJzb2RpdW0tJVNPRElVTV9NSU5HV19WRVIlLmRsbAogICAgICAgICAgICkKIAorICAgICAgICAgIGVjaG8gJUNPTF9HUkVFTiVEb3dubG9hZCBHZXR0ZXh0JUNPTF9SRVNFVCUKKyAgICAgICAgICBjYWxsIDpkb3dubG9hZGZpbGUgJUdFVFRFWFQke3sgZW52LkJJVFMgfX1fVVJMJSBkb3dubG9hZHNcZ2V0dGV4dCR7eyBlbnYuQklUUyB9fS56aXAKKyAgICAgICAgICA3eiBlIC15IGRvd25sb2Fkc1xnZXR0ZXh0JHt7IGVudi5CSVRTIH19LnppcCAtb0Q6XGdldHRleHQke3sgZW52LkJJVFMgfX0gPiBudWwgfHwgZXhpdCAxCisgICAgICAgICAgY29weSAveSBEOlxnZXR0ZXh0JHt7IGVudi5CSVRTIH19XGxpYmludGwtOC5kbGwgc3JjXCB8fCBleGl0IDEKKyAgICAgICAgICBjb3B5IC95IEQ6XGdldHRleHQke3sgZW52LkJJVFMgfX1cbGliaWNvbnYtMi5kbGwgc3JjXCB8fCBleGl0IDEKKwogICAgICAgICAgIGdvdG8gOmVvZgogCiAgICAgICAgICAgOmRvd25sb2FkZmlsZQpkaWZmIC0tZ2l0IGEvY2kvYXBwdmV5b3IuYmF0IGIvY2kvYXBwdmV5b3IuYmF0CmluZGV4IDU0OTg3NjkuLmM3N2NlZTEgMTAwNjQ0Ci0tLSBhL2NpL2FwcHZleW9yLmJhdAorKysgYi9jaS9hcHB2ZXlvci5iYXQKQEAgLTEsMTUgKzEsMjAgQEAKIEBlY2hvIG9mZgogOjogQmF0Y2ggZmlsZSBmb3IgYnVpbGRpbmcvdGVzdGluZyBWaW0gb24gQXBwVmV5b3IKIHNldCB0YXJnZXQ9JTEKK3NldCAiR0VUVEVYVF9QQVRIPWM6XGdldHRleHQ2NFxiaW4iCiAKIHNldGxvY2FsIEVOQUJMRURFTEFZRURFWFBBTlNJT04KIGNkICVBUFBWRVlPUl9CVUlMRF9GT0xERVIlCiAKIDo6IFB5dGhvbjMKLXNldCBQWVRIT04zX1ZFUj0zMTEKLXNldCBQWVRIT04zX1JFTEVBU0U9My4xMS4xCi1zZXQgUFlUSE9OM19VUkw9aHR0cHM6Ly93d3cucHl0aG9uLm9yZy9mdHAvcHl0aG9uLyVQWVRIT04zX1JFTEVBU0UlL3B5dGhvbi0lUFlUSE9OM19SRUxFQVNFJS1hbWQ2NC5leGUKLXNldCBQWVRIT04zX0RJUj1DOlxweXRob24lUFlUSE9OM19WRVIlLXg2NAorc2V0ICJQWVRIT04zX1ZFUj0zMTEiCitzZXQgIlBZVEhPTjNfUkVMRUFTRT0zLjExLjEiCitzZXQgIlBZVEhPTjNfVVJMPWh0dHBzOi8vd3d3LnB5dGhvbi5vcmcvZnRwL3B5dGhvbi8lUFlUSE9OM19SRUxFQVNFJS9weXRob24tJVBZVEhPTjNfUkVMRUFTRSUtYW1kNjQuZXhlIgorc2V0ICJQWVRIT04zX0RJUj1DOlxweXRob24lUFlUSE9OM19WRVIlLXg2NCIKKworOjogR2V0dGV4dC10b29scywgaWNvbnYgYW5kIGxpYnJhcmllcworc2V0ICJHRVRURVhUNjRfVVJMPWh0dHBzOi8vZ2l0aHViLmNvbS9tbG9jYXRpL2dldHRleHQtaWNvbnYtd2luZG93cy9yZWxlYXNlcy9kb3dubG9hZC92MC4yMS12MS4xNi9nZXR0ZXh0MC4yMS1pY29udjEuMTYtc2hhcmVkLTY0LnppcCIKK3NldCAiR0VUVEVYVDY0X0RJUj1jOlxnZXR0ZXh0NjQiCiAKIHNldCAiVlNXSEVSRT0lUHJvZ3JhbUZpbGVzKHg4NiklXE1pY3Jvc29mdCBWaXN1YWwgU3R1ZGlvXEluc3RhbGxlclx2c3doZXJlLmV4ZSIKIApAQCAtNDMsNiArNDgsMTggQEAKICAgICAgIEFzc29jaWF0ZUZpbGVzPTAgU2hvcnRjdXRzPTAgSW5jbHVkZV9kb2M9MCBJbmNsdWRlX2xhdW5jaGVyPTAgXgogICAgICAgSW5zdGFsbExhdW5jaGVyQWxsVXNlcnM9MAogKQorOjogR0VUVEVYVAoraWYgbm90IGV4aXN0ICVHRVRURVhUNjRfRElSJSAoCisgIG1rZGlyICVHRVRURVhUNjRfRElSJQorICBjYWxsIDpkb3dubG9hZGZpbGUgJUdFVFRFWFQ2NF9VUkwlIGRvd25sb2Fkc1xnZXR0ZXh0NjQuemlwCisgIGNtZCAvYyBwb3dlcnNoZWxsLmV4ZSAtTm9Mb2dvIC1Ob1Byb2ZpbGUgLUNvbW1hbmQgXgorICAgIEFkZC1UeXBlIC1Bc3NlbWJseU5hbWUgJ1N5c3RlbS5JTy5Db21wcmVzc2lvbi5GaWxlU3lzdGVtJzsgXgorICAgIFtTeXN0ZW0uSU8uQ29tcHJlc3Npb24uWmlwRmlsZV06OkV4dHJhY3RUb0RpcmVjdG9yeV4oJ2Rvd25sb2Fkc1xnZXR0ZXh0NjQuemlwJywgXgorICAgICclR0VUVEVYVDY0X0RJUiUnXikKKyAgICBjb3B5IC95ICVHRVRURVhUNjRfRElSJVxiaW5cbGliaW50bC04LmRsbCBDOlxwcm9qZWN0c1x2aW1cc3JjXCB8fCBleGl0IDEKKyAgICBjb3B5IC95ICVHRVRURVhUNjRfRElSJVxiaW5cbGliaWNvbnYtMi5kbGwgQzpccHJvamVjdHNcdmltXHNyY1wgfHwgZXhpdCAxCispCisKIEBlY2hvIG9mZgogZ290byA6ZW9mCiAKQEAgLTkyLDcgKzEwOSw3IEBACiBAZWNobyBvbgogY2Qgc3JjL3Rlc3RkaXIKIDo6IFRlc3Rpbmcgd2l0aCBNU1ZDIGd2aW0KLXBhdGggJVBZVEhPTjNfRElSJTslUEFUSCUKK3BhdGggJVBZVEhPTjNfRElSJTslR0VUVEVYVF9QQVRIJTslUEFUSCUKIG5tYWtlIC1mIE1ha2VfbXZjLm1hayBWSU1QUk9HPS4uXGd2aW0KIG5tYWtlIC1mIE1ha2VfbXZjLm1hayBjbGVhbgogOjogVGVzdGluZyB3aXRoIE1TVkMgY29uc29sZSB2ZXJzaW9uCmRpZmYgLS1naXQgYS9ydW50aW1lL2RvYy9idWlsdGluLnR4dCBiL3J1bnRpbWUvZG9jL2J1aWx0aW4udHh0CmluZGV4IDljM2Q3YTkuLmYzYmFmMjQgMTAwNjQ0Ci0tLSBhL3J1bnRpbWUvZG9jL2J1aWx0aW4udHh0CisrKyBiL3J1bnRpbWUvZG9jL2J1aWx0aW4udHh0CkBAIC0xLDQgKzEsNCBAQAotKmJ1aWx0aW4udHh0KglGb3IgVmltIHZlcnNpb24gOS4xLiAgTGFzdCBjaGFuZ2U6IDIwMjQgSnVsIDA5CisqYnVpbHRpbi50eHQqCUZvciBWaW0gdmVyc2lvbiA5LjEuICBMYXN0IGNoYW5nZTogMjAyNCBKdWwgMTEKIAogCiAJCSAgVklNIFJFRkVSRU5DRSBNQU5VQUwJICBieSBCcmFtIE1vb2xlbmFhcgpAQCAtMTIyNiw3ICsxMjI2LDcgQEAKIAkJQmluZCBhIHNwZWNpZmljIHtwYWNrYWdlfSB0byBhIHtwYXRofSBzbyB0aGF0IHRoZQogCQl8Z2V0dGV4dCgpfCBmdW5jdGlvbiBjYW4gYmUgdXNlZCB0byBnZXQgbGFuZ3VhZ2Utc3BlY2lmaWMKIAkJdHJhbnNsYXRpb25zIGZvciBhIHBhY2thZ2UuICB7cGF0aH0gaXMgdGhlIGRpcmVjdG9yeSBuYW1lCi0JCWZvciB0aGUgdHJhbnNsYXRpb25zLiBTZWUgfHBhY2thZ2UtY3JlYXRlfC4KKwkJZm9yIHRoZSB0cmFuc2xhdGlvbnMuIFNlZSB8cGFja2FnZS10cmFuc2xhdGlvbnwuCiAKIAkJUmV0dXJuIHR5cGU6IG5vbmUKIApAQCAtNTAwNSwxNyArNTAwNSwxOCBAQAogCiBnZXR0ZXh0KHt0ZXh0fSBbLCB7cGFja2FnZX1dKQkJCQkqZ2V0dGV4dCgpKgogCQlUcmFuc2xhdGUgU3RyaW5nIHt0ZXh0fSBpZiBwb3NzaWJsZS4KLQkJVGhpcyBpcyBtYWlubHkgZm9yIHVzZSBpbiB0aGUgZGlzdHJpYnV0ZWQgVmltIHNjcmlwdHMuICBXaGVuCi0JCWdlbmVyYXRpbmcgbWVzc2FnZSB0cmFuc2xhdGlvbnMgdGhlIHt0ZXh0fSBpcyBleHRyYWN0ZWQgYnkKLQkJeGdldHRleHQsIHRoZSB0cmFuc2xhdG9yIGNhbiBhZGQgdGhlIHRyYW5zbGF0ZWQgbWVzc2FnZSBpbiB0aGUKLQkJLnBvIGZpbGUgYW5kIFZpbSB3aWxsIGxvb2t1cCB0aGUgdHJhbnNsYXRpb24gd2hlbiBnZXR0ZXh0KCkgaXMKLQkJY2FsbGVkLgorCQlUaGlzIGlzIGludGVuZGVkIGZvciB1c2UgaW4gVmltIHNjcmlwdHMuICBXaGVuIGdlbmVyYXRpbmcKKwkJbWVzc2FnZSB0cmFuc2xhdGlvbnMgdGhlIHt0ZXh0fSBpcyBleHRyYWN0ZWQgYnkgYHhnZXR0ZXh0YCwKKwkJdGhlIHRyYW5zbGF0b3IgY2FuIGFkZCB0cmFuc2xhdGVkIG1lc3NhZ2VzIGludG8gdGhlIC5wbyBmaWxlCisJCWFuZCBWaW0gd2lsbCBsb29rdXAgdGhlIHRyYW5zbGF0aW9uIHdoZW4gZ2V0dGV4dCgpIGlzIGNhbGxlZC4KIAkJRm9yIHt0ZXh0fSBkb3VibGUgcXVvdGVkIHN0cmluZ3MgYXJlIHByZWZlcnJlZCwgYmVjYXVzZQotCQl4Z2V0dGV4dCBkb2VzIG5vdCB1bmRlcnN0YW5kIGVzY2FwaW5nIGluIHNpbmdsZSBxdW90ZWQKLQkJc3RyaW5ncy4KKwkJYHhnZXR0ZXh0YCBkb2VzIG5vdCBzdXBwb3J0IHNpbmdsZSBxdW90ZWQgZXNjYXBlZCB0ZXh0LgorCiAJCVdoZW4gdGhlIHtwYWNrYWdlfSBpcyBzcGVjaWZpZWQsIHRoZSB0cmFuc2xhdGlvbiBpcyBsb29rZWQgdXAKLQkJZm9yIHRoYXQgc3BlY2lmaWMgcGFja2FnZS4gWW91IG5lZWQgdG8gc3BlY2lmeSB0aGUgcGF0aCB0bwotCQlsb29rIGZvciB0cmFuc2xhdGlvbnMgd2l0aCB0aGUgfGJpbmR0ZXh0ZG9tYWluKCl8IGZ1bmN0aW9uLgorCQlmb3IgdGhhdCBzcGVjaWZpYyBwYWNrYWdlLiAgVGhpcyBpcyBtYWlubHkgcmVxdWlyZWQgZm9yCisJCXRoaXJkLXBhcnR5IFZpbSBzY3JpcHRzLiAgWW91IG5lZWQgdG8gc3BlY2lmeSBhIHBhdGggdG8gdGhlCisJCXRyYW5zbGF0aW9ucyB3aXRoIHRoZSB8YmluZHRleHRkb21haW4oKXwgZnVuY3Rpb24gYmVmb3JlCisJCXVzaW5nIHRoZSBnZXR0ZXh0KCkgZnVuY3Rpb24uCiAKIAkJUmV0dXJuIHR5cGU6IHxTdHJpbmd8CiAKZGlmZiAtLWdpdCBhL3J1bnRpbWUvZG9jL21sYW5nLnR4dCBiL3J1bnRpbWUvZG9jL21sYW5nLnR4dAppbmRleCA4MmM5NzcyLi45YTE1YmRmIDEwMDY0NAotLS0gYS9ydW50aW1lL2RvYy9tbGFuZy50eHQKKysrIGIvcnVudGltZS9kb2MvbWxhbmcudHh0CkBAIC0xLDQgKzEsNCBAQAotKm1sYW5nLnR4dCogICAgIEZvciBWaW0gdmVyc2lvbiA5LjEuICBMYXN0IGNoYW5nZTogMjAyMiBTZXAgMTcKKyptbGFuZy50eHQqICAgICBGb3IgVmltIHZlcnNpb24gOS4xLiAgTGFzdCBjaGFuZ2U6IDIwMjQgSnVsIDExCiAKIAogCQkgIFZJTSBSRUZFUkVOQ0UgTUFOVUFMICAgIGJ5IEJyYW0gTW9vbGVuYWFyCkBAIC01OSw3ICs1OSw5IEBACiA6bGFuW2d1YWdlXSB0aW1bZV0ge25hbWV9CiA6bGFuW2d1YWdlXSBjb2xbbGF0ZV0ge25hbWV9CiAJCQlTZXQgdGhlIGN1cnJlbnQgbGFuZ3VhZ2UgKGFrYSBsb2NhbGUpIHRvIHtuYW1lfS4KLQkJCVRoZSBsb2NhbGUge25hbWV9IG11c3QgYmUgYSB2YWxpZCBsb2NhbGUgb24geW91cgorCQkJVGhlIFBPU0lYIGZvcm1hdCBvZiB7bmFtZX0gaXM6ID4KKwkJCQlsYW5ndWFnZVtfdGVycml0b3J5XVsuZW5jb2RpbmddCis8CQkJVGhlIGxvY2FsZSB7bmFtZX0gbXVzdCBiZSBhIHZhbGlkIGxvY2FsZSBvbiB5b3VyCiAJCQlzeXN0ZW0uICBTb21lIHN5c3RlbXMgYWNjZXB0IGFsaWFzZXMgbGlrZSAiZW4iIG9yCiAJCQkiZW5fVVMiLCBidXQgc29tZSBvbmx5IGFjY2VwdCB0aGUgZnVsbCBzcGVjaWZpY2F0aW9uCiAJCQlsaWtlICJlbl9VUy5JU09fODg1OS0xIi4gIE9uIFVuaXggc3lzdGVtcyB5b3UgY2FuIHVzZQpkaWZmIC0tZ2l0IGEvcnVudGltZS9kb2Mvb3B0aW9ucy50eHQgYi9ydW50aW1lL2RvYy9vcHRpb25zLnR4dAppbmRleCBlMjhmMTg1Li4yZGMwOGUyIDEwMDY0NAotLS0gYS9ydW50aW1lL2RvYy9vcHRpb25zLnR4dAorKysgYi9ydW50aW1lL2RvYy9vcHRpb25zLnR4dApAQCAtMSw0ICsxLDQgQEAKLSpvcHRpb25zLnR4dCoJRm9yIFZpbSB2ZXJzaW9uIDkuMS4gIExhc3QgY2hhbmdlOiAyMDI0IEp1bCAwOQorKm9wdGlvbnMudHh0KglGb3IgVmltIHZlcnNpb24gOS4xLiAgTGFzdCBjaGFuZ2U6IDIwMjQgSnVsIDExCiAKIAogCQkgIFZJTSBSRUZFUkVOQ0UgTUFOVUFMCSAgYnkgQnJhbSBNb29sZW5hYXIKQEAgLTY3NTMsNyArNjc1Myw3IEBACiAJICBpbXBvcnQvCWZpbGVzIHRoYXQgYXJlIGZvdW5kIGJ5IGA6aW1wb3J0YAogCSAgaW5kZW50LwlpbmRlbnQgc2NyaXB0cyB8aW5kZW50LWV4cHJlc3Npb258CiAJICBrZXltYXAvCWtleSBtYXBwaW5nIGZpbGVzIHxtYnl0ZS1rZXltYXB8Ci0JICBsYW5nLwkJbWVudSB0cmFuc2xhdGlvbnMgfDptZW51dHJhbnN8CisJICBsYW5nLwkJbWVzc2FnZSB0cmFuc2xhdGlvbnMgfDptZW51dHJhbnN8IGFuZCB8bXVsdGktbGFuZ3wKIAkgIG1lbnUudmltCUdVSSBtZW51cyB8bWVudS52aW18CiAJICBwYWNrLwkJcGFja2FnZXMgfDpwYWNrYWRkfAogCSAgcGx1Z2luLwlwbHVnaW4gc2NyaXB0cyB8d3JpdGUtcGx1Z2lufApkaWZmIC0tZ2l0IGEvcnVudGltZS9kb2MvcmVwZWF0LnR4dCBiL3J1bnRpbWUvZG9jL3JlcGVhdC50eHQKaW5kZXggMGJmYjExNy4uZjJiYTAzZiAxMDA2NDQKLS0tIGEvcnVudGltZS9kb2MvcmVwZWF0LnR4dAorKysgYi9ydW50aW1lL2RvYy9yZXBlYXQudHh0CkBAIC0xLDQgKzEsNCBAQAotKnJlcGVhdC50eHQqICAgIEZvciBWaW0gdmVyc2lvbiA5LjEuICBMYXN0IGNoYW5nZTogMjAyNCBKdW4gMjAKKypyZXBlYXQudHh0KiAgICBGb3IgVmltIHZlcnNpb24gOS4xLiAgTGFzdCBjaGFuZ2U6IDIwMjQgSnVsIDExCiAKIAogCQkgIFZJTSBSRUZFUkVOQ0UgTUFOVUFMICAgIGJ5IEJyYW0gTW9vbGVuYWFyCkBAIC03MzUsNyArNzM1LDcgQEAKICAgIHN0YXJ0L2Zvb2Jhci9hdXRvbG9hZC9mb28udmltCSIgbG9hZGVkIHdoZW4gZm9vIGNvbW1hbmQgdXNlZAogICAgc3RhcnQvZm9vYmFyL2RvYy9mb28udHh0CQkiIGhlbHAgZm9yIGZvby52aW0KICAgIHN0YXJ0L2Zvb2Jhci9kb2MvdGFncwkJIiBoZWxwIHRhZ3MKLSAgIHN0YXJ0L2Zvb2Jhci9sYW5nLzxsYW5nX2lkPi9MQ19NRVNTQUdFUy9mb28ucG8KKyAgIHN0YXJ0L2Zvb2Jhci9sYW5nLzxsYW5nX2lkPi9MQ19NRVNTQUdFUy9mb29iYXIubW8KIAkJCQkJIiBtZXNzYWdlcyBmb3IgdGhlIHBsdWdpbiBpbiB0aGUKIAkJCQkJIiA8bGFuZ19pZD4gbGFuZ3VhZ2UuICBUaGVzZSBmaWxlcyBhcmUKIAkJCQkJIiBvcHRpb25hbC4KQEAgLTc0OCw1MyArNzQ4LDM0NSBAQAogCW1rZGlyIH4vLnZpbS9wYWNrCiAJY2Qgfi8udmltL3BhY2sKIAlnaXQgY2xvbmUgaHR0cHM6Ly9naXRodWIuY29tL3lvdS9mb29iYXIuZ2l0IG15Zm9vYmFyCi0KKzwKIEhlcmUgIm15Zm9vYmFyIiBpcyBhIG5hbWUgdGhhdCB0aGUgdXNlciBjYW4gY2hvb3NlLCB0aGUgb25seSBjb25kaXRpb24gaXMgdGhhdAogaXQgZGlmZmVycyBmcm9tIG90aGVyIHBhY2thZ2VzLgogCiBJbiB5b3VyIGRvY3VtZW50YXRpb24geW91IGV4cGxhaW4gd2hhdCB0aGUgcGx1Z2lucyBkbywgYW5kIHRlbGwgdGhlIHVzZXIgaG93CiB0byBsb2FkIHRoZSBvcHRpb25hbCBwbHVnaW46ID4KIAk6cGFja2FkZCEgZm9vZXh0cmEKLQorPAogWW91IGNvdWxkIGFkZCB0aGlzIHBhY2thZGQgY29tbWFuZCBpbiBvbmUgb2YgeW91ciBwbHVnaW5zLCB0byBiZSBleGVjdXRlZCB3aGVuCiB0aGUgb3B0aW9uYWwgcGx1Z2luIGlzIG5lZWRlZC4KIAorCQkJCQkqcGFja2FnZS1kb2MqICpwYWNrYWdlLWRvY3VtZW50YXRpb24qCiBSdW4gdGhlIGA6aGVscHRhZ3NgIGNvbW1hbmQgdG8gZ2VuZXJhdGUgdGhlIGRvYy90YWdzIGZpbGUuICBJbmNsdWRpbmcgdGhpcwogZ2VuZXJhdGVkIGZpbGUgaW4gdGhlIHBhY2thZ2UgbWVhbnMgdGhhdCB0aGUgdXNlciBjYW4gZHJvcCB0aGUgcGFja2FnZSBpbiB0aGUKIHBhY2sgZGlyZWN0b3J5IGFuZCB0aGUgaGVscCBjb21tYW5kIHdvcmtzIHJpZ2h0IGF3YXkuICBEb24ndCBmb3JnZXQgdG8gcmUtcnVuCiB0aGUgY29tbWFuZCBhZnRlciBjaGFuZ2luZyB0aGUgcGx1Z2luIGhlbHA6ID4KIAk6aGVscHRhZ3MgcGF0aC9zdGFydC9mb29iYXIvZG9jCiAJOmhlbHB0YWdzIHBhdGgvb3B0L2Zvb2V4dHJhL2RvYwotCi1UaGUgbWVzc2FnZXMgdGhhdCBhcmUgaW4gdGhlIGxhbmcvPGxhbmdfaWQ+L0xDX01FU1NBR0VTL2Zvby5wbyBmaWxlIG5lZWQgdG8gYmUKLXRyYW5zbGF0ZWQgdG8gYSBmb3JtYXQgdGhhdCB0aGUgfGdldHRleHQoKXwgZnVuY3Rpb24gdW5kZXJzdGFuZHMgYnkgcnVubmluZyB0aGUKLW1zZ2ZtdCBwcm9ncmFtLiBUaGlzIHdpbGwgcmVzdWx0IGluIGEgbGFuZy88bGFuZ19pZD4vTENfTUVTU0FHRVMvZm9vLm1vCi1maWxlLiBTZWUgfG11bHRpbGFuZ3wgb24gaG93IHRvIHNwZWNpZnkgbGFuZ3VhZ2VzLgotCi1JbiB5b3VyIHBsdWdpbiwgeW91IG5lZWQgdG8gY2FsbCB0aGUgfGJpbmR0ZXh0ZG9tYWluKCl8IGZ1bmN0aW9uIGFzIGZvbGxvd3MuCi1UaGlzIGFzc3VtZXMgdGhhdCB0aGUgZGlyZWN0b3J5IHN0cnVjdHVyZSBpcyBhcyBhYm92ZTogPgotCTpjYWxsIGJpbmR0ZXh0ZG9tYWluKCJmb28iLCBmbmFtZW1vZGlmeShleHBhbmQoIjxzY3JpcHQ+IiksICc6cDpoJykKLQkgLi4gJy8uLi9sYW5nLycpCiA8Ci1Zb3Ugb25seSBuZWVkIHRvIGRvIHRoaXMgb25jZS4gQWZ0ZXIgdGhpcyBjYWxsLCB5b3UgY2FuIHVzZTogPgotCTplY2hvIGdldHRleHQoIkhlbGxvIiwgImZvbyIpCisJCQkJCQkJKnBhY2thZ2UtdHJhbnNsYXRpb24qCitJbiBvcmRlciBmb3IgYSBwbHVnaW4gdG8gZGlzcGxheSB0cmFuc2xhdGVkIG1lc3NhZ2VzLCBhIGZldyBzdGVwcyBhcmUKK3JlcXVpcmVkLgorVGhlIGF1dGhvciBvZiB0aGUgcGx1Z2luIHdobyBsaWtlcyB0byB0cmFuc2xhdGUgbWVzc2FnZXMgbXVzdCBkZWZpbmUgdGhlIG5hbWUKK29mIHRoZSBwYWNrYWdlIGFuZCB0aGUgbG9jYXRpb24gb2YgdGhlIGRpcmVjdG9yeSB3aGVyZSB0aGUgdHJhbnNsYXRpb25zIGNhbiBiZQorZm91bmQgdXNpbmcgdGhlIHxiaW5kdGV4dGRvbWFpbigpfCBmdW5jdGlvbjogPgorCTpjYWxsIGJpbmR0ZXh0ZG9tYWluKCJmb29iYXIiLAorCVwgZm5hbWVtb2RpZnkoZXhwYW5kKCI8c2NyaXB0PiIpLCAnOnA6aCcpIC4uICcvLi4vbGFuZy8nKQogPAotdG8gZ2V0IHRoZSB0ZXh0ICJIZWxsbyIgdHJhbnNsYXRlZCB0byB0aGUgdXNlcidzIHByZWZlcnJlZCBsYW5ndWFnZSAoaWYgdGhlCi1wbHVnaW4gbWVzc2FnZXMgaGF2ZSBiZWVuIHRyYW5zbGF0ZWQgdG8gdGhpcyBsYW5ndWFnZSkuCitXaGVyZToKKyAgImZvb2JhciIJaXMgdGhlIHVuaXF1ZSBwYWNrYWdlIGlkZW50aWZpZXIgYnkgd2hpY2ggdGhlIHxnZXR0ZXh0KCl8CisJCWZ1bmN0aW9uIHdpbGwgbGF0ZXIgc2VhcmNoIGZvciB0cmFuc2xhdGlvbiBzdHJpbmdzIGZvciB0aGlzCisJCXBsdWdpbi4KKyAgImxhbmcvIglpcyB0aGUgcmVsYXRpdmUgb3IgYWJzb2x1dGUgcGF0aCB0byB0aGUgZGlyZWN0b3J5IHN0cnVjdHVyZQorCQl3aGVyZSB0aGUgdHJhbnNsYXRpb24gZmlsZSBpcyBsb2NhdGVkLgogCi1UbyBjcmVhdGUgdGhlIGZvby5wbyBmaWxlLCB5b3UgbmVlZCB0byBjcmVhdGUgYSBmb28ucG90IGZpbGUgZmlyc3QuIFRoZQotZW50cmllcyBpbiB0aGlzIGZpbGUgbmVlZCB0byBiZSB0cmFuc2xhdGVkIHRvIHRoZSBsYW5ndWFnZShzKSB5b3Ugd2FudCB0byBiZQotc3VwcG9ydGVkIGJ5IHlvdXIgcGx1Z2luLgotCi1UbyBjcmVhdGUgdGhlIGZvby5wb3QgZmlsZSwgcnVuIHRoZSBmb2xsb3dpbmcgY29tbWFuZDogPgotCWNkIH4vLnZpbS9wYWNrL3N0YXJ0L2Zvb2JhcgotCW1ha2UgLWYgfi9zcmMvdmltL3NyYy9wby9NYWtlZmlsZSBQQUNLQUdFPWZvbyBcCi0JUE9fQkFTRURJUj1+L3NyYy92aW0vc3JjL3BvIFBPX0lOUFVUTElTVD0gXAotCVBPX1ZJTV9KU0xJU1Q9InBsdWdpbl9fZm9vLmpzIHBsdWdpbl9fYmFyLmpzIFwKLQlhdXRvbG9hZF9fZm9vLmpzIiBcCi0JUE9fVklNX0lOUFVUTElTVD0icGx1Z2luL2Zvby52aW0gcGx1Z2luL2Jhci52aW0gYXV0b2xvYWQvZm9vLnZpbSIgXAotCWZvby5wb3QKK1RoZSBkaXJlY3Rvcnkgc3RydWN0dXJlIHdoZXJlIHRoZSBtZXNzYWdlIHRyYW5zbGF0aW9uIGZpbGVzIHNob3VsZCBiZSBwbGFjZWQKK2lzIChmcm9tIHRoZSB0b3AtbGV2ZWwgZGlyZWN0b3J5IG9mIHRoZSBwYWNrYWdlKToKKyJsYW5nLzxsYW5nX2lkPi9MQ19NRVNTQUdFUyIuIEZvciB0aGUgZm9ybWF0IG9mIDxsYW5nX2lkPiBzZWUgfG11bHRpLWxhbmd8LgorVGhpcyBmdW5jdGlvbiBuZWVkcyB0byBiZSBjYWxsZWQgb25seSBvbmNlIGR1cmluZyB0aGUgaW5pdGlhbGl6YXRpb24gb2YgdGhlCitwbHVnaW4uCitPbmNlIHRoaXMgaXMgZG9uZSwgdGhlIHxnZXR0ZXh0KCl8IGZ1bmN0aW9uIGNhbiBiZSB1c2VkIHRvIHJldHJpZXZlIHRyYW5zbGF0ZWQKK21lc3NhZ2VzOiA+CisJOmVjaG8gZ2V0dGV4dCgiSGVsbG8iLCAiZm9vYmFyIikKIDwKK1doZXJlOgorICAiSGVsbG8iCXRoZSBtZXNzYWdlICJIZWxsbyIgdG8gYmUgdHJhbnNsYXRlZCBpbnRvIHRoZSB1c2VyJ3MgbGFuZ3VhZ2UgfDpsYW5nfAorICAiZm9vYmFyIgl0aGUgcGFja2FnZSBpZGVudGlmaWVyLCB3aGljaCB3YXMgcHJldmlvdXNseSBkZWZpbmVkIHVzaW5nIHRoZQorCQl8YmluZHRleHRkb21haW4oKXwgZnVuY3Rpb24uCisKK0FmdGVyIHRoYXQgeW91IG5lZWQgdG8gY3JlYXRlIGEgdGVtcGxhdGUgZmlsZSBmb3IgdHJhbnNsYXRpb24gLSBQT1QtZmlsZS4KK1RvIGRvIHRoaXMsIGV4ZWN1dGUgdGhlIGZvbGxvd2luZyBjb21tYW5kcyAodXNpbmcgdGhlIFZpbSByZXBvc2l0b3J5KTogPgorCWNkIH4vZm9ya3ZpbS9zcmMvcG8KKwltYWtlIC1mIE1ha2VmaWxlICJQTFVHUEFDS0FHRT17cGFja2FnZX0iIFwKKwkiUE9fUExVR19JTlBVVExJU1Q9e3BhdGgvdG8vc2NyaXB0cy10aGF0LW5lZWQtdHJhbnNsYXRpb25zLnZpbX0iIFwKKwlbIlBPVF9QTFVHUEFDS0FHRV9QQVRIPXtwYXRoL3doZXJlL3RvL3dyaXRlL3twYWNrYWdlfS5wb3R9IiBcXQorCVsiVklNUFJPRz17cGF0aC90by92aW19IFxdCisJe3BhY2thZ2V9LnBvdAorPAorV2hlcmU6CitQTFVHUEFDS0FHRQkJQSB2YXJpYWJsZSBjb250YWluaW5nIHRoZSBuYW1lIG9mIHRoZSBwYWNrYWdlIHRoYXQgd2UKKwkJCXNwZWNpZmllZCBpbiB0aGUgfGJpbmR0ZXh0ZG9tYWluKCl8IGFuZAorCQkJfGdldHRleHQoKXwgZnVuY3Rpb25zLCBmb3IgZXhhbXBsZSwgImZvb2JhciIuCitQT19QTFVHX0lOUFVUTElTVAlBIHZhcmlhYmxlIGNvbnRhaW5pbmcgc2NyaXB0cyB0aGF0IGhhdmUgc3RyaW5ncworCQkJdG8gdHJhbnNsYXRlLCBpLmUuIHdoZXJlIHdlIHNwZWNpZmllZCB0aGUgfGdldHRleHQoKXwKKwkJCWZ1bmN0aW9uLiBTY3JpcHRzIGFyZSBzcGVjaWZpZWQgd2l0aCBhbiBhYnNvbHV0ZQorCQkJb3IgcmVsYXRpdmUgcGF0aC4gRXhhbXBsZTogc3RhcnQvZm9vYmFyL3BsdWdpbi9iYXIudmltCisJCQl1c2UgYmxhbmtzIHRvIHNlcGFyYXRlIHNjcmlwdHMuCitQT1RfUExVR1BBQ0tBR0VfUEFUSAlBIHZhcmlhYmxlIGNvbnRhaW5pbmcgdGhlIGRpcmVjdG9yeSB3aGVyZSB0aGUgcHJlcGFyZWQKKwkJCVBPVCBmaWxlIHdpbGwgYmUgc2F2ZWQuIFRoaXMgaXMgbm90IGEgcmVxdWlyZWQgdmFyaWFibGUsCisJCQlpZiBubyBkaXJlY3RvcnkgaXMgc3BlY2lmaWVkLCB0aGVuIHRoZSBQT1QgZmlsZSB3aWxsCisJCQliZSBwbGFjZWQgaW4gdGhlICJzcmMvcG8iIGRpcmVjdG9yeS4KK1ZJTVBST0cJCQlBIHZhcmlhYmxlIGNvbnRhaW5pbmcgYSBkaXJlY3Rvcnkgd2l0aCBhIHdvcmtpbmcgVmltLgorCQkJSWYgdGhlIFZpbSBlZGl0b3IgaXMgYWxyZWFkeSBidWlsdCBhbmQgaW5zdGFsbGVkLCBhbmQKKwkJCWlzIGNvbnRhaW5lZCBpbiB0aGUgJFBBVEggZW52aXJvbm1lbnQgdmFyaWFibGUsCisJCQl0aGVuIHlvdSBjYW4gc3BlY2lmeSBqdXN0IHRoZSBuYW1lIG9mIHRoZSB2aW0KKwkJCWV4ZWN1dGFibGUuCit7cGFja2FnZX0ucG90CQlUaGlzIGlzIHRoZSBUYXJnZXQuIEl0IGlzIHNwZWNpZmllZCBhcyB0aGUgbmFtZSBvZgorCQkJdGhlIHBhY2thZ2UsIGZvciBleGFtcGxlLCAiZm9vYmFyIiB3aXRoIHRoZSBhZGRpdGlvbgorCQkJb2YgdGhlIC5wb3QgZXh0ZW5zaW9uLgorT25jZSBhIFBPVCBmaWxlIGlzIGNyZWF0ZWQsIGl0cyBjb250ZW50cyBhcmUgY29waWVkIGludG8gc2VwYXJhdGUgUE8gZmlsZXMgZm9yCitlYWNoIGxhbmd1YWdlIGZvciB3aGljaCB0aGUgdHJhbnNsYXRpb24gd2lsbCBiZSBwcmVwYXJlZC4KKworV2hlbiB0aGUgdHJhbnNsYXRpb24gaXMgZmluaXNoZWQsIGl0IGlzIG5lY2Vzc2FyeSB0byBjb252ZXJ0IHRoZSBQTyBmaWxlcyBpbnRvCitiaW5hcnkgTU8tZmlsZXMgZm9ybWF0IGFuZCBwbGFjZSB0aGVzZSBNTy1maWxlcyBpbnRvIHRoZSAibGFuZy8iIGRpcmVjdG9yeSwgdGhlCitzdHJ1Y3R1cmUgb2Ygd2hpY2ggd2UgY3JlYXRlZCBlYXJsaWVyLgorVG8gZG8gdGhpcywgcnVuIHRoZSBmb2xsb3dpbmcgY29tbWFuZHM6Cis+CisJY2Qgfi9mb3JrdmltL3NyYy9wbworCW1ha2UgLWYgTWFrZWZpbGUgIlBMVUdQQUNLQUdFPXtwYWNrYWdlfSIgXAorCSJQT19QTFVHUEFDS0FHRT17cGF0aC90by97bGFuZ30ucG99IiBcCisJWyJNT19QTFVHUEFDS0FHRV9QQVRIPXtwYXRoL3RvL2xhbmcvPGxhbmdfaWQ+L0xDX01FU1NBR0VTfSIgXF0KKwl7cGFja2FnZX0ubW8KKzwKK1doZXJlOgorUExVR1BBQ0tBR0UJCUEgdmFyaWFibGUgY29udGFpbmluZyB0aGUgbmFtZSBvZiB0aGUgcGFja2FnZSB0aGF0IHdlCisJCQlzcGVjaWZpZWQgaW4gdGhlIHxiaW5kdGV4dGRvbWFpbigpfCBhbmQgfGdldHRleHQoKXwKKwkJCWZ1bmN0aW9ucywgZm9yIGV4YW1wbGUsICJmb29iYXIiLgorUE9fUExVR1BBQ0tBR0UJCUEgdmFyaWFibGUgY29udGFpbmluZyBhIFBPIGZpbGUuIFRoZSBmaWxlIGlzIHNwZWNpZmllZAorCQkJd2l0aCBhbiBhYnNvbHV0ZSBvciByZWxhdGl2ZSBwYXRoLiBGb3IgZXhhbXBsZSwKKwkJCSJ+L215cHJvamVjdC90cmFuc2xhdGUvZW4ucG8iCitNT19QTFVHUEFDS0FHRV9QQVRICUEgdmFyaWFibGUgY29udGFpbmluZyB0aGUgc3RydWN0dXJlIG9mIHRoZSAibGFuZy8iCisJCQlkaXJlY3RvcnksIHdoZXJlIHRoZSBmaWxlIHdpdGggdHJhbnNsYXRpb25zIHdpbGwgYmUKKwkJCXBsYWNlZCwgZm9yIGV4YW1wbGUsICJmb29iYXIubW8iLiBUaGlzIGlzIG5vdAorCQkJYSByZXF1aXJlZCB2YXJpYWJsZSwgaWYgdGhlIGRpcmVjdG9yeSBpcyBub3Qgc3BlY2lmaWVkLAorCQkJdGhlIE1PIGZpbGUgd2lsbCBiZSBzYXZlZCBpbiB0aGUgInNyYy9wbyIgZGlyZWN0b3J5Lgore3BhY2thZ2V9Lm1vCQlUaGlzIGlzIHRoZSBUYXJnZXQuIEl0IGlzIHNwZWNpZmllZCBhcyB0aGUgbmFtZSBvZgorCQkJdGhlIHBhY2thZ2UsIGZvciBleGFtcGxlLCAiZm9vYmFyIiB3aXRoIHRoZSBhZGRpdGlvbgorCQkJb2YgdGhlIC5tbyBleHRlbnNpb24uCisKKwkJCQkJCSpwYWNrYWdlLXRyYW5zbGF0ZV9leGFtcGxlKgorTGV0J3Mgc2hvdyBpdCBhbGwgb24gc29tZSBjb25jcmV0ZSBleGFtcGxlIGFuZCB0cmFuc2xhdGUgdGhlCisiZnRwbHVnaW4vYWFwLnZpbSIgZmlsZSBpbnRvIFJ1c3NpYW4gYW5kIEdlcm1hbi4KKworRmlyc3QsIGxldCdzIHByZXBhcmUgdGhlICJhYXAudmltIiBmaWxlLCBzcGVjaWZ5aW5nIHxiaW5kdGV4dGRvbWFpbigpfCBhbmQKK3xnZXR0ZXh0KCl8IGZ1bmN0aW9uIGNhbGxzIGluIGl0LgorPgorICIgT25seSBkbyB0aGlzIHdoZW4gbm90IGRvbmUgeWV0IGZvciB0aGlzIGJ1ZmZlcgorIGlmIGV4aXN0cygiYjpkaWRfZnRwbHVnaW4iKQorICAgICBmaW5pc2gKKyBlbmRpZgorCisgIiBEb24ndCBsb2FkIGFub3RoZXIgcGx1Z2luIGZvciB0aGlzIGJ1ZmZlcgorIGxldCBiOmRpZF9mdHBsdWdpbiA9IDEKKyBjYWxsIGJpbmR0ZXh0ZG9tYWluKCJhYXAiLCBmbmFtZW1vZGlmeShleHBhbmQoIjxzY3JpcHQ+IiksICc6cDpoJykgLi4gJy8uLi9sYW5nLycpCisKKyAiIFJlc2V0ICdmb3JtYXRvcHRpb25zJywgJ2NvbW1lbnRzJywgJ2NvbW1lbnRzdHJpbmcnIGFuZCAnZXhwYW5kdGFiJyB0byB1bmRvCisgIiB0aGlzIHBsdWdpbi4KKyBsZXQgYjp1bmRvX2Z0cGx1Z2luID0gInNldGwgZm88IGNvbTwgY21zPCBldDwiCisKKyAiIFNldCAnZm9ybWF0b3B0aW9ucycgdG8gYnJlYWsgY29tbWVudCBsaW5lcyBidXQgbm90IG90aGVyIGxpbmVzLAorICIgYW5kIGluc2VydCB0aGUgY29tbWVudCBsZWFkZXIgd2hlbiBoaXR0aW5nIDxDUj4gb3IgdXNpbmcgIm8iLgorIHNldGxvY2FsIGZvLT10IGZvKz1jcm9xbAorCisgIiBTZXQgJ2NvbW1lbnRzJyB0byBmb3JtYXQgZGFzaGVkIGxpc3RzIGluIGNvbW1lbnRzLgorIHNldGxvY2FsIGNvbW1lbnRzPXM6I1wgLSxtOiNcIFwgLGU6IyxuOiMsZmI6LQorIHNldGxvY2FsIGNvbW1lbnRzdHJpbmc9I1wgJXMKKworICIgRXhwYW5kIHRhYnMgdG8gc3BhY2VzIHRvIGF2b2lkIHRyb3VibGUuCisgc2V0bG9jYWwgZXhwYW5kdGFiCisKKyBpZiAoaGFzKCJndWlfd2luMzIiKSB8fCBoYXMoImd1aV9ndGsiKSkgJiYgIWV4aXN0cygiYjpicm93c2VmaWx0ZXIiKQorIGxldCBiOmJyb3dzZWZpbHRlciA9IGdldHRleHQoIkFhcCBSZWNpcGUgRmlsZXMgKCouYWFwKVx0Ki5hYXBcbiIsICJhYXAiKQorIGlmIGhhcygid2luMzIiKQorICAgICBsZXQgYjpicm93c2VmaWx0ZXIgLi49IGdldHRleHQoIkFsbCBGaWxlcyAoKi4qKVx0KlxuIiwgImFhcCIpCisgZWxzZQorICAgICBsZXQgYjpicm93c2VmaWx0ZXIgLi49IGdldHRleHQoIkFsbCBGaWxlcyAoKilcdCpcbiIsICJhYXAiKQorIGVuZGlmCisgbGV0IGI6dW5kb19mdHBsdWdpbiAuLj0gIiB8IHVubGV0ISBiOmJyb3dzZWZpbHRlciIKKyBlbmRpZgorPAorTm93IGxldCdzIGNyZWF0ZSBhIFBPVCBmaWxlIGZvciBpdCAoZXhhbXBsZSB1c2VzIFdpbmRvd3MgcGF0aHMpOgorPgorCWNkIC9kIGY6XGZvcmt2aW1cc3JjXHBvCisgKHRoZSBmb2xsb3dpbmcgY29tbWFuZCBtdXN0IGJlIGVudGVyZWQgaW4gb25lIGxpbmUsIGhlcmUgaXQgaXMgc2VwYXJhdGVkIGZvciBleGFtcGxlKQorCW5tYWtlLmV4ZSAtZiBNYWtlX212Yy5tYWsgIlBMVUdQQUNLQUdFPWFhcCIKKwkJICAgICJQT19QTFVHX0lOUFVUTElTVD1kOlxQcm9ncmFtc1x2aW1cdmltOTFcZnRwbHVnaW5cYWFwLnZpbSIKKwkJICAgICJQT1RfUExVR1BBQ0tBR0VfUEFUSD1lOlxwcm9qZWN0XHRyYW5zbGF0ZVxwbHVnaW5zIgorCQkgICAgIlZJTVBST0c9ZDpcUHJvZ3JhbXNcdmltXHZpbTkxXHZpbS5leGUiCisJCSAgICBhYXAucG90Cis8CitBZnRlciB0aGUgUE9UIGZpbGUgb2Ygb3VyIHBhY2thZ2UgaXMgY3JlYXRlZCwgZ28gdG8gdGhlIGRpcmVjdG9yeSB3aGVyZSB3ZQorc2F2ZWQgaXQgYW5kIHBlcmZvcm0gdGhlIHRyYW5zbGF0aW9uLgorPgorCWNkIC9kIGU6XHByb2plY3RcdHJhbnNsYXRlXHBsdWdpbnMKKwljb3B5IGFhcC5wb3QgcnUucG8KKwljb3B5IGFhcC5wb3QgZGUucG8KKzwKK1dlIGhhdmUgcHJlcGFyZWQgYSBQTyBmaWxlIHdpdGggYSB0cmFuc2xhdGlvbiBpbnRvIFJ1c3NpYW46CisgICAgIyBUZXN0IHBsdWdpbnMgdHJhbnNsYXRlIH4KKyAgICAjIH4KKyAgICBtc2dpZCAiIiB+CisgICAgbXNnc3RyICIiIH4KKyAgICAiUHJvamVjdC1JZC1WZXJzaW9uOiBhYXBcbiIgfgorICAgICJSZXBvcnQtTXNnaWQtQnVncy1UbzogXG4iIH4KKyAgICAiUE9ULUNyZWF0aW9uLURhdGU6IDIwMjQtMDYtMjMgMTQ6NTgrMDMwMFxuIiB+CisgICAgIlBPLVJldmlzaW9uLURhdGU6IDIwMjQtMDYtMjMgMTQ6NTgrMDMwMFxuIiB+CisgICAgIkxhc3QtVHJhbnNsYXRvcjogUmVzdG9yZXJcbiIgfgorICAgICJMYW5ndWFnZS1UZWFtOiBSdVZpbVxuIiB+CisgICAgIkxhbmd1YWdlOiBydVxuIiB+CisgICAgIk1JTUUtVmVyc2lvbjogMS4wXG4iIH4KKyAgICAiQ29udGVudC1UeXBlOiB0ZXh0L3BsYWluOyBjaGFyc2V0PVVURi04XG4iIH4KKyAgICAiQ29udGVudC1UcmFuc2Zlci1FbmNvZGluZzogOGJpdFxuIiB+CisKKyAgICAjOiAuLi8uLi9ydW50aW1lL2Z0cGx1Z2luL2FhcC52aW06MzIgfgorICAgIG1zZ2lkICJBYXAgUmVjaXBlIEZpbGVzICgqLmFhcClcdCouYWFwXG4iIH4KKyAgICBtc2dzdHIgItCk0LDQudC70Ysg0LjQvdGB0YLRgNGD0LrRhtC40LkgQWFwICgqLmFhcClcdCouYWFwXG4iIH4KKworICAgICM6IC4uLy4uL3J1bnRpbWUvZnRwbHVnaW4vYWFwLnZpbTozNCB+CisgICAgbXNnaWQgIkFsbCBGaWxlcyAoKi4qKVx0KlxuIiB+CisgICAgbXNnc3RyICLQktGB0LUg0YTQsNC50LvRiyAoKi4qKVx0KlxuIiB+CisKKyAgICAjOiAuLi8uLi9ydW50aW1lL2Z0cGx1Z2luL2FhcC52aW06MzYgfgorICAgIG1zZ2lkICJBbGwgRmlsZXMgKCopXHQqXG4iIH4KKyAgICBtc2dzdHIgItCS0YHQtSDRhNCw0LnQu9GLICgqKVx0KlxuIiB+CisKK0FuZCB0aGUgUE8gZmlsZSBpbiBHZXJtYW46CisgICAgIyBUZXN0IHBsdWdpbnMgdHJhbnNsYXRlfgorICAgICN+CisgICAgbXNnaWQgIiJ+CisgICAgbXNnc3RyICIifgorICAgICJQcm9qZWN0LUlkLVZlcnNpb246IGFhcFxuIn4KKyAgICAiUmVwb3J0LU1zZ2lkLUJ1Z3MtVG86IFxuIn4KKyAgICAiUE9ULUNyZWF0aW9uLURhdGU6IDIwMjQtMDYtMjMgMTQ6NTgrMDMwMFxuIn4KKyAgICAiUE8tUmV2aXNpb24tRGF0ZTogMjAyNC0wNi0yNCAxMzoxMSswMzAwXG4ifgorICAgICJMYXN0LVRyYW5zbGF0b3I6IFJlc3RvcmVyXG4ifgorICAgICJMYW5ndWFnZS1UZWFtOiBHZXJtYW5cbiJ+CisgICAgIkxhbmd1YWdlOiBkZVxuIn4KKyAgICAiTUlNRS1WZXJzaW9uOiAxLjBcbiJ+CisgICAgIkNvbnRlbnQtVHlwZTogdGV4dC9wbGFpbjsgY2hhcnNldD1VVEYtOFxuIn4KKyAgICAiQ29udGVudC1UcmFuc2Zlci1FbmNvZGluZzogOGJpdFxuIn4KKworICAgICM6IC4uLy4uL3J1bnRpbWUvZnRwbHVnaW4vYWFwLnZpbTozMn4KKyAgICBtc2dpZCAiQWFwIFJlY2lwZSBGaWxlcyAoKi5hYXApXHQqLmFhcFxuIn4KKyAgICBtc2dzdHIgIkFhcC1SZXplcHRkYXRlaWVuICgqLmFhcClcdCouYWFwXG4ifgorCisgICAgIzogLi4vLi4vcnVudGltZS9mdHBsdWdpbi9hYXAudmltOjM0fgorICAgIG1zZ2lkICJBbGwgRmlsZXMgKCouKilcdCpcbiJ+CisgICAgbXNnc3RyICJBbGxlIERhdGVpZW4gKCouKilcdCouKlxuIn4KKworICAgICM6IC4uLy4uL3J1bnRpbWUvZnRwbHVnaW4vYWFwLnZpbTozNn4KKyAgICBtc2dpZCAiQWxsIEZpbGVzICgqKVx0KlxuIn4KKyAgICBtc2dzdHIgIkFsbGUgRGF0ZWllbiAoKilcdCpcbiJ+CisKK05vdyBjb252ZXJ0IHRoZXNlIGZpbGVzIGludG8gTU8gZmlsZXMgc28gdGhhdCB8Z2V0dGV4dCgpfCBjYW4gZGlzcGxheSBtZXNzYWdlCit0cmFuc2xhdGlvbnMuIE5vdGUgdGhhdCBzaW5jZSB0aGlzIGlzIG5vdCBhIHNwZWNpYWxpemVkIHBsdWdpbiBwYWNrYWdlLCB3ZQord2lsbCBwdXQgdGhlIE1PIGZpbGVzIGluIHRoZSAibGFuZy8iIGRpcmVjdG9yeSBvZiB0aGUgVmltIGVkaXRvci4KK1R5cGUgdGhlIGZvbGxvd2luZyBjb21tYW5kczoKKz4KKwljZCAvZCBmOlxmb3JrdmltXHNyY1xwbworICh0aGUgZm9sbG93aW5nIGNvbW1hbmQgbXVzdCBiZSBlbnRlcmVkIGluIG9uZSBsaW5lLCBoZXJlIGl0IGlzIHNlcGFyYXRlZCBmb3IgZXhhbXBsZSkKKyBGb3IgUnVzc2lhbjoKKwlubWFrZS5leGUgLWYgTWFrZV9tdmMubWFrICJQTFVHUEFDS0FHRT1hYXAiCisJIlBPX1BMVUdQQUNLQUdFPWU6XHByb2plY3RcdHJhbnNsYXRlXHBsdWdpbnNccnUucG8iCisJIk1PX1BMVUdQQUNLQUdFX1BBVEg9ZDpcUHJvZ3JhbXNcdmltXHZpbTkxXGxhbmdccnVcTENfTUVTU0FHRVMiCisJYWFwLm1vCisgRm9yIEdlcm1hbjoKKwlubWFrZS5leGUgLWYgTWFrZV9tdmMubWFrICJQTFVHUEFDS0FHRT1hYXAiCisJIlBPX1BMVUdQQUNLQUdFPWU6XHByb2plY3RcdHJhbnNsYXRlXHBsdWdpbnNcZGUucG8iCisJIk1PX1BMVUdQQUNLQUdFX1BBVEg9ZDpcUHJvZ3JhbXNcdmltXHZpbTkxXGxhbmdcZGVcTENfTUVTU0FHRVMiCisJYWFwLm1vCis8CitUaGF0J3MgaXQsIHRoZSB0cmFuc2xhdGlvbnMgYXJlIHJlYWR5IGFuZCB5b3UgY2FuIHNlZSB0aGUgcGx1Z2luJ3MgbWVzc2FnZXMKK2luIHlvdXIgbmF0aXZlIGxhbmd1YWdlLgorCitMZXQncyBhbHNvIHRyeSB0byB0cmFuc2xhdGUgYSBwbHVnaW4gcGFja2FnZS4gRm9yIGV4YW1wbGUsIHdoZW4gYSBwYWNrYWdlCitjb250YWlucyBzZXZlcmFsIHNjcmlwdHMgY29udGFpbmluZyBzdHJpbmdzIHRoYXQgbmVlZCB0byBiZSB0cmFuc2xhdGVkLgorRm9yIGV4YW1wbGUsIGxldCdzIHRyYW5zbGF0ZSB0aGUgIm5ldHJ3IiBwYWNrYWdlIGludG8gSmFwYW5lc2UuCitGb3IgdGhpcyBleGFtcGxlLCB3ZSB3aWxsIHRyYW5zbGF0ZSBvbmx5IGEgZmV3IGxpbmVzIGZyb20gdGhpcyBwYWNrYWdlLgorTGV0J3MgcHJlcGFyZSB0aGUgc2NyaXB0cyB3aGVyZSB3ZSBuZWVkIHRvIHRyYW5zbGF0ZSB0aGUgbWVzc2FnZSBzdHJpbmdzLgorCitUaGUgZmlsZSAiYXV0b2xvYWRcbmV0cncudmltIjoKKz4KKyAiIExvYWQgT25jZToKKyBpZiAmY3AgfHwgZXhpc3RzKCJnOmxvYWRlZF9uZXRydyIpCisgICBmaW5pc2gKKyBlbmRpZgorIGNhbGwgYmluZHRleHRkb21haW4oIm5ldHJ3IiwgZm5hbWVtb2RpZnkoZXhwYW5kKCI8c2NyaXB0PiIpLCAnOnA6aCcpIC4uICcvLi4vbGFuZy8nKQorCisgIiBDaGVjayB0aGF0IHZpbSBoYXMgcGF0Y2hlcyB0aGF0IG5ldHJ3IHJlcXVpcmVzLgorICIgUGF0Y2hlcyBuZWVkZWQgZm9yIHY3LjQ6IDE1NTcsIGFuZCAyMTMuCisgIiAobmV0cncgd2lsbCBiZW5lZml0IGZyb20gdmltJ3MgaGF2aW5nIHBhdGNoIzY1NiwgdG9vKQorIGxldCBzOm5lZWRzcGF0Y2hlcz1bMTU1NywyMTNdCisgaWYgZXhpc3RzKCJzOm5lZWRzcGF0Y2hlcyIpCisgIGZvciBwdGNoIGluIHM6bmVlZHNwYXRjaGVzCisgICBpZiB2OnZlcnNpb24gPCA3MDQgfHwgKHY6dmVyc2lvbiA9PSA3MDQgJiYgIWhhcygicGF0Y2giLnB0Y2gpKQorICAgIGlmICFleGlzdHMoInM6bmVlZHBhdGNoe3B0Y2h9IikKKyAgICAgdW5zaWxlbnQgZWNob21zZyBnZXR0ZXh0KCIqKipzb3JyeSoqKiB0aGlzIHZlcnNpb24gb2YgbmV0cncgcmVxdWlyZXMgdmltIHY3LjQgd2l0aCBwYXRjaCMiLCAibmV0cnciKSAuLiBwdGNoCisgICAgZW5kaWYKKyAgICBsZXQgczpuZWVkcGF0Y2h7cHRjaH09IDEKKyAgICBmaW5pc2gKKyAgIGVuZGlmCisgIGVuZGZvcgorIGVuZGlmCis8CitUaGUgZmlsZSAiYXV0b2xvYWRcbmV0cndTZXR0aW5ncy52aW0iOgorPgorICIgTG9hZCBPbmNlOgorIGlmIGV4aXN0cygiZzpsb2FkZWRfbmV0cndTZXR0aW5ncyIpIHx8ICZjcAorICAgZmluaXNoCisgZW5kaWYKKyBjYWxsIGJpbmR0ZXh0ZG9tYWluKCJuZXRydyIsIGZuYW1lbW9kaWZ5KGV4cGFuZCgiPHNjcmlwdD4iKSwgJzpwOmgnKSAuLiAnLy4uL2xhbmcvJykKKyBsZXQgZzpsb2FkZWRfbmV0cndTZXR0aW5ncyA9ICJ2MTgiCisgaWYgdjp2ZXJzaW9uIDwgNzAwCisgIGVjaG9obCBXYXJuaW5nTXNnCisgIGVjaG8gZ2V0dGV4dCgiKioqd2FybmluZyoqKiB0aGlzIHZlcnNpb24gb2YgbmV0cndTZXR0aW5ncyBuZWVkcyB2aW0gNy4wIiwgIm5ldHJ3IikKKyAgZWNob2hsIE5vcm1hbAorICBmaW5pc2gKKyBlbmRpZgorPAorTm93IHdlIHdpbGwgcHJlcGFyZSBhIFBPVCBmaWxlIGZvciBmdXJ0aGVyIHRyYW5zbGF0aW9uIG9mIG1lc3NhZ2VzLgorRXhlY3V0ZSB0aGUgZm9sbG93aW5nIGNvbW1hbmRzOgorPgorCWNkIH4vZm9ya3ZpbS9zcmMvcG8KKwltYWtlIC1mIE1ha2VmaWxlICJWSU1QUk9HPS91c3IvbG9jYWwvYmluL3ZpbSIgIlBMVUdQQUNLQUdFPW5ldHJ3IiBcCisJIlBPVF9QTFVHUEFDS0FHRV9QQVRIPX4vcHJvamVjdC90cmFuc2xhdGUvcGx1Z2lucyIgXAorCSJQT19QTFVHX0lOUFVUTElTVD0uLi8uLi9ydW50aW1lL2F1dG9sb2FkL25ldHJ3LnZpbQorCS4uLy4uL3J1bnRpbWUvYXV0b2xvYWQvbmV0cndTZXR0aW5ncy52aW0iIFwKKwluZXRydy5wb3QKKzwKK0dvIHRvIHRoZSBkaXJlY3Rvcnkgd2l0aCB0aGUgUE9UIGZpbGUgYW5kIG1ha2UgdGhlIHRyYW5zbGF0aW9uOgorPgorCWNkIH4vcHJvamVjdC90cmFuc2xhdGUvcGx1Z2lucworCWNwIC4vbmV0cncucG90IGphLnBvCis8CitXaGVuIHdlIGhhdmUgdGhlIHRyYW5zbGF0aW9uIHJlYWR5IGluIHRoZSAiamEucG8iIGZpbGU6CisgICAgIyBUZXN0IHBsdWdpbnMgdHJhbnNsYXRlIH4KKyAgICAjIH4KKyAgICBtc2dpZCAiIiB+CisgICAgbXNnc3RyICIiIH4KKyAgICAiUHJvamVjdC1JZC1WZXJzaW9uOiBuZXRyd1xuIiB+CisgICAgIlJlcG9ydC1Nc2dpZC1CdWdzLVRvOiBcbiIgfgorICAgICJQT1QtQ3JlYXRpb24tRGF0ZTogMjAyNC0wNi0yMyAxNzoxNCswMzAwXG4iIH4KKyAgICAiUE8tUmV2aXNpb24tRGF0ZTogMjAyNC0wNi0yMyAxNzoxNCswMzAwXG4iIH4KKyAgICAiTGFzdC1UcmFuc2xhdG9yOiBSZXN0b3JlclxuIiB+CisgICAgIkxhbmd1YWdlLVRlYW06IEphcGFuZXNlXG4iIH4KKyAgICAiTGFuZ3VhZ2U6IGphXG4iIH4KKyAgICAiTUlNRS1WZXJzaW9uOiAxLjBcbiIgfgorICAgICJDb250ZW50LVR5cGU6IHRleHQvcGxhaW47IGNoYXJzZXQ9VVRGLThcbiIgfgorICAgICJDb250ZW50LVRyYW5zZmVyLUVuY29kaW5nOiA4Yml0XG4iIH4KKworICAgICM6IC4uLy4uL3J1bnRpbWUvYXV0b2xvYWQvbmV0cncudmltOjUxIH4KKyAgICBtc2dpZCAiKioqc29ycnkqKiogdGhpcyB2ZXJzaW9uIG9mIG5ldHJ3IHJlcXVpcmVzIHZpbSB2Ny40IHdpdGggcGF0Y2gjIiB+CisgICAgbXNnc3RyICIiIH4KKyAgICAiKioq55Sz44GX6Kiz44GC44KK44G+44Gb44KTKioq44GT44Gu44OQ44O844K444On44Oz44GubmV0cnfjgavjga/jgIHjg5Hjg4Pjg4Hku5jjgY3jga52aW0gdjcuNOOBjOW/heimgeOBp+OBmSMiIH4KKworICAgICM6IC4uLy4uL3J1bnRpbWUvYXV0b2xvYWQvbmV0cndTZXR0aW5ncy52aW06MjggfgorICAgIG1zZ2lkICIqKip3YXJuaW5nKioqIHRoaXMgdmVyc2lvbiBvZiBuZXRyd1NldHRpbmdzIG5lZWRzIHZpbSA3LjAiIH4KKyAgICBtc2dzdHIgIioqKuitpuWRiioqKuOBk+OBruODkOODvOOCuOODp+ODs+OBrm5ldHJ3U2V0dGluZ3Pjgavjga92aW03LjDjgYzlv4XopoHjgafjgZkiIH4KKworQ29udmVydCBqYS5wbyB0byBhIE1PIGZpbGU6Cis+CisJY2Qgfi9mb3JrdmltL3NyYy9wbworCW1ha2UgLWYgTWFrZWZpbGUgIlBMVUdQQUNLQUdFPW5ldHJ3IiBcCisJIlBPX1BMVUdQQUNLQUdFPX4vcHJvamVjdC90cmFuc2xhdGUvcGx1Z2lucy9qYS5wbyIgXAorCSJNT19QTFVHUEFDS0FHRV9QQVRIPS91c3IvbG9jYWwvc2hhcmUvdmltL3ZpbTkxL2xhbmcvamEvTENfTUVTU0FHRVMiIFwKKwluZXRydy5tbworPAorRXhlY3V0aW5nIHRob3NlIHN0ZXBzIHdpbGwgYWxsb3cgeW91IHRvIGdldCB0cmFuc2xhdGlvbiBvZiBhbnkgdGhpcmQtcGFydHkKK3BsdWctaW4gcGFja2FnZXMuCiAKIERlcGVuZGVuY2llcyBiZXR3ZWVuIHBsdWdpbnMgfgogCQkJCQkJCSpwYWNrbG9hZC10d28tc3RlcHMqCmRpZmYgLS1naXQgYS9ydW50aW1lL2RvYy90YWdzIGIvcnVudGltZS9kb2MvdGFncwppbmRleCBhZGJjMTQ1Li4xMjM4YTljIDEwMDY0NAotLS0gYS9ydW50aW1lL2RvYy90YWdzCisrKyBiL3J1bnRpbWUvZG9jL3RhZ3MKQEAgLTkzMDgsNiArOTMwOCwxMCBAQAogcAljaGFuZ2UudHh0CS8qcCoKIHBhY2stYWRkCXJlcGVhdC50eHQJLypwYWNrLWFkZCoKIHBhY2thZ2UtY3JlYXRlCXJlcGVhdC50eHQJLypwYWNrYWdlLWNyZWF0ZSoKK3BhY2thZ2UtZG9jCXJlcGVhdC50eHQJLypwYWNrYWdlLWRvYyoKK3BhY2thZ2UtZG9jdW1lbnRhdGlvbglyZXBlYXQudHh0CS8qcGFja2FnZS1kb2N1bWVudGF0aW9uKgorcGFja2FnZS10cmFuc2xhdGVfZXhhbXBsZQlyZXBlYXQudHh0CS8qcGFja2FnZS10cmFuc2xhdGVfZXhhbXBsZSoKK3BhY2thZ2UtdHJhbnNsYXRpb24JcmVwZWF0LnR4dAkvKnBhY2thZ2UtdHJhbnNsYXRpb24qCiBwYWNrYWdlcwlyZXBlYXQudHh0CS8qcGFja2FnZXMqCiBwYWNrbG9hZC10d28tc3RlcHMJcmVwZWF0LnR4dAkvKnBhY2tsb2FkLXR3by1zdGVwcyoKIHBhZ2UtZG93bglpbnRyby50eHQJLypwYWdlLWRvd24qCmRpZmYgLS1naXQgYS9zcmMvcG8vTWFrZV9hbGwubWFrIGIvc3JjL3BvL01ha2VfYWxsLm1hawppbmRleCBjM2U2NDU5Li5hYzExMjI4IDEwMDY0NAotLS0gYS9zcmMvcG8vTWFrZV9hbGwubWFrCisrKyBiL3NyYy9wby9NYWtlX2FsbC5tYWsKQEAgLTE4OSw4ICsxODksOCBAQAogCS4uLy4uL3J1bnRpbWUvZGVmYXVsdHMudmltCiAKIFBPX1ZJTV9KU0xJU1QgPSBcCi0JX19fX19fX19ydW50aW1lX19vcHR3aW4uanMgXAotCV9fX19fX19fcnVudGltZV9fZGVmYXVsdHMuanMKKwlvcHR3aW4uanMgXAorCWRlZmF1bHRzLmpzCiAKICMgQXJndW1lbnRzIGZvciB4Z2V0dGV4dCB0byBwaWNrIHVwIG1lc3NhZ2VzIHRvIHRyYW5zbGF0ZSBmcm9tIHRoZSBzb3VyY2UgY29kZS4KIFhHRVRURVhUX0tFWVdPUkRTID0gLS1rZXl3b3JkPV8gLS1rZXl3b3JkPU5fIC0ta2V5d29yZD1OR0VUVEVYVDoxLDIgLS1rZXl3b3JkPVBMVVJBTF9NU0c6Miw0CmRpZmYgLS1naXQgYS9zcmMvcG8vTWFrZV9tdmMubWFrIGIvc3JjL3BvL01ha2VfbXZjLm1hawppbmRleCBkNTZhZGIwLi4xNzQ5MDhhIDEwMDY0NAotLS0gYS9zcmMvcG8vTWFrZV9tdmMubWFrCisrKyBiL3NyYy9wby9NYWtlX212Yy5tYWsKQEAgLTQwLDcgKzQwLDkgQEAKIFBBQ0tBR0UgPSB2aW0KICMgQ29ycmVjdCB0aGUgZm9sbG93aW5nIGxpbmUgZm9yIHRoZSB3aGVyZSBleGVjdXRlYWJsZSBmaWxlIHZpbSBpcwogIyBpbnN0YWxsZWQuICBQbGVhc2UgZG8gbm90IHB1dCB0aGUgcGF0aCBpbiBxdW90ZXMuCishSUZOREVGIFZJTVBST0cKIFZJTVBST0cgPSAuLlx2aW0uZXhlCishRU5ESUYKIAogIyBDb3JyZWN0IHRoZSBmb2xsb3dpbmcgbGluZSBmb3IgdGhlIGRpcmVjdG9yeSB3aGVyZSBnZXR0ZXh0IGV0IGFsIGlzCiAjIGluc3RhbGxlZC4gIFBsZWFzZSBkbyBub3QgcHV0IHRoZSBwYXRoIGluIHF1b3Rlcy4KQEAgLTQ5OCwyNSArNTAwLDI2IEBACiBmaXJzdF90aW1lOiBmaWxlcwogCSIkKFZJTVBST0cpIiAtdSBOT05FIC0tbm90LWEtdGVybSAtUyB0b2phdmFzY3JpcHQudmltICQoTEFOR1VBR0UpLnBvIFwKIAkJJChQT19WSU1fSU5QVVRMSVNUKQorCUAgY29weSAvYSAuXGZpbGVzKy5cdmltX3RvX2pzIC5cYWxsZmlsZXMKIAlzZXQgT0xEX1BPX0ZJTEVfSU5QVVQ9eWVzCiAJc2V0IE9MRF9QT19GSUxFX09VVFBVVD15ZXMKIAkkKFhHRVRURVhUKSAtLWRlZmF1bHQtZG9tYWluPSQoTEFOR1VBR0UpIC0tYWRkLWNvbW1lbnRzICQoWEdFVFRFWFRfS0VZV09SRFMpIFwKLQkJLS1maWxlcy1mcm9tPS5cZmlsZXMgJChQT19WSU1fSlNMSVNUKQorCQktLWZpbGVzLWZyb209LlxhbGxmaWxlcwogCSIkKFZJTVBST0cpIiAtdSBOT05FIC0tbm90LWEtdGVybSAtUyBmaXhmaWxlbmFtZXMudmltICQoTEFOR1VBR0UpLnBvIFwKIAkJJChQT19WSU1fSU5QVVRMSVNUKQotCSQoUk0pICouanMKKwkkKFJNKSAqLmpzIC5cdmltX3RvX2pzCiAKICQoUEFDS0FHRSkucG90OiBmaWxlcwogCSIkKFZJTVBST0cpIiAtdSBOT05FIC0tbm90LWEtdGVybSAtUyB0b2phdmFzY3JpcHQudmltICQoUEFDS0FHRSkucG90IFwKIAkJJChQT19WSU1fSU5QVVRMSVNUKQorCUAgY29weSAvYSAuXGZpbGVzKy5cdmltX3RvX2pzIC5cYWxsZmlsZXMKIAlzZXQgT0xEX1BPX0ZJTEVfSU5QVVQ9eWVzCiAJc2V0IE9MRF9QT19GSUxFX09VVFBVVD15ZXMKLQkkKFhHRVRURVhUKSAtLWRlZmF1bHQtZG9tYWluPSQoUEFDS0FHRSkgLS1hZGQtY29tbWVudHMgJChYR0VUVEVYVF9LRVlXT1JEUykgXAotCQktLWZpbGVzLWZyb209LlxmaWxlcyAkKFBPX1ZJTV9KU0xJU1QpCi0JJChNVikgJChQQUNLQUdFKS5wbyAkKFBBQ0tBR0UpLnBvdAorCSQoWEdFVFRFWFQpIC0tZGVmYXVsdC1kb21haW49JChQQUNLQUdFKSAtLW91dHB1dD0kKFBBQ0tBR0UpLnBvdCBcCisJCS0tYWRkLWNvbW1lbnRzICQoWEdFVFRFWFRfS0VZV09SRFMpIC0tZmlsZXMtZnJvbT0uXGFsbGZpbGVzCiAJIiQoVklNUFJPRykiIC11IE5PTkUgLS1ub3QtYS10ZXJtIC1TIGZpeGZpbGVuYW1lcy52aW0gJChQQUNLQUdFKS5wb3QgXAogCQkkKFBPX1ZJTV9JTlBVVExJU1QpCi0JJChSTSkgKi5qcworCSQoUk0pICouanMgLlx2aW1fdG9fanMKIAogIyBPbmx5IG9yaWdpbmFsIHRyYW5zbGF0aW9ucyB3aXRoIGRlZmF1bHQgZW5jb2Rpbmcgc2hvdWxkIGJlIHVwZGF0ZWQuCiAjIFRoZSBmaWxlcyB0aGF0IGFyZSBjb252ZXJ0ZWQgdG8gYSBkaWZmZXJlbnQgZW5jb2RpbmcgY2xlYXJseSBzdGF0ZSAiRE8gTk9UIEVESVQiLgpAQCAtNTQ2LDExICs1NDksMzQgQEAKIGNsZWFudXAtcG8tYWxsOiAkKFBPRklMRVMpCiAJISIkKFZJTVBST0cpIiAtdSBOT05FIC1lIC1YIC1TIGNsZWFudXAudmltIC1jIHdxICQqKgogCisjIyMjIyMjCisjIEZvciB0cmFuc2xhdGlvbnMgb2YgcGx1Zy1pbnMKKyMjIyMjIyMKKworIyBQcmVwYXJpbmcgdGhlIFBPVCBmaWxlIG9mIHRoZSBwbHVnLWluIHBhY2thZ2UKK1BPVF9QTFVHUEFDS0FHRV9QQVRIID0gJChNQUtFRElSKQorJChQTFVHUEFDS0FHRSkucG90IDogJChQT19QTFVHX0lOUFVUTElTVCkKKwkiJChWSU1QUk9HKSIgLXUgTk9ORSAtLW5vdC1hLXRlcm0gLVMgdG9qYXZhc2NyaXB0LnZpbSBcCisJCSQoUExVR1BBQ0tBR0UpLnBvdCAkKioKKwkkKFhHRVRURVhUKSAtLWZyb20tY29kZT1VVEYtOCAtLWRlZmF1bHQtZG9tYWluPSQoUExVR1BBQ0tBR0UpIFwKKwkJLS1wYWNrYWdlLW5hbWU9JChQTFVHUEFDS0FHRSkgXAorCQktLW91dHB1dC1kaXI9IiQoUE9UX1BMVUdQQUNLQUdFX1BBVEgpIiBcCisJCS0tb3V0cHV0PSQoUExVR1BBQ0tBR0UpLnBvdCAtLWZpbGVzLWZyb209Llx2aW1fdG9fanMKKwkiJChWSU1QUk9HKSIgLXUgTk9ORSAtLW5vdC1hLXRlcm0gLVMgZml4ZmlsZW5hbWVzLnZpbSBcCisJCSIkKFBPVF9QTFVHUEFDS0FHRV9QQVRIKVwkKFBMVUdQQUNLQUdFKS5wb3QiICQqKgorCSQoUk0pICouanMgLlx2aW1fdG9fanMKKworIyBDb252ZXJ0aW5nIHRoZSBQTyBmaWxlIG9mIHRoZSBwbHVnLWluIHBhY2thZ2UgdG8gdGhlIGJpbmFyeSBmb3JtYXQgb2YgdGhlIE1PIGZpbGUKK01PX1BMVUdQQUNLQUdFX1BBVEggPSAkKE1BS0VESVIpCiskKFBMVUdQQUNLQUdFKS5tbyA6ICQoUE9fUExVR1BBQ0tBR0UpCisJJChNU0dGTVQpIC1vICQoTU9fUExVR1BBQ0tBR0VfUEFUSClcJEAgJD8KKworCiBjbGVhbjogY2hlY2tjbGVhbgogCSQoUk0pICoubW8KIAkkKFJNKSAqLnBvdAogCSQoUk0pICoub3JpZwotCSQoUk0pIGZpbGVzCisJJChSTSkgZmlsZXMgYWxsZmlsZXMKIAkkKFJNKSBzamlzY29yci5vYmogc2ppc2NvcnIuZXhlCiAjCSQoUk0pIGJpZzVjb3JyLm9iaiBiaWc1Y29yci5leGUKIApkaWZmIC0tZ2l0IGEvc3JjL3BvL01ha2VmaWxlIGIvc3JjL3BvL01ha2VmaWxlCmluZGV4IGVlYmI3ZWQuLjBmN2Y4NWQgMTAwNjQ0Ci0tLSBhL3NyYy9wby9NYWtlZmlsZQorKysgYi9zcmMvcG8vTWFrZWZpbGUKQEAgLTEsMTggKzEsMTcgQEAKICMgTWFrZWZpbGUgZm9yIHRoZSBWaW0gbWVzc2FnZSB0cmFuc2xhdGlvbnMuCi1QT19CQVNFRElSID0gLgogCiAjIEluY2x1ZGUgc3R1ZmYgZm91bmQgYnkgY29uZmlndXJlLgotaW5jbHVkZSAkKFBPX0JBU0VESVIpLy4uL2F1dG8vY29uZmlnLm1rCitpbmNsdWRlIC4uL2F1dG8vY29uZmlnLm1rCiAKICMgR2V0IExBTkdVQUdFUywgTU9GSUxFUywgTU9DT05WRVJURUQgYW5kIG90aGVycy4KLWluY2x1ZGUgJChQT19CQVNFRElSKS9NYWtlX2FsbC5tYWsKK2luY2x1ZGUgTWFrZV9hbGwubWFrCiAKICMgTm90ZTogamEuc2ppcywgKi5jcDEyNTAgYW5kIHpoX0NOLmNwOTM2IGFyZSBvbmx5IGZvciBNUy1XaW5kb3dzLCB0aGV5IGFyZQogIyBub3QgaW5zdGFsbGVkIG9uIFVuaXguCiAKIFBBQ0tBR0UgPSB2aW0KIFNIRUxMID0gL2Jpbi9zaAotVklNUFJPRyA9ICQoUE9fQkFTRURJUikvLi4vdmltCitWSU1QUk9HID0gLi4vdmltCiAKICMgTWFjT1Mgc2VkIGlzIGxvY2FsZSBhd2FyZSwgc2V0ICRMQU5HIHRvIGF2b2lkIHByb2JsZW1zLgogU0VEID0gTEFORz1DIHNlZApAQCAtNDEsOCArNDAsOCBAQAogCSQoTVNHRk1UQ01EKSAtbyAkQCAkPAogCiAucG8uY2s6Ci0JJChWSU1QUk9HKSAtdSBOT05FIC0tbm9wbHVnaW5zIC1lIC1zIC1YIC0tY21kICJzZXQgZW5jPXV0Zi04IiAtUyBjaGVjay52aW0gXAotCQktYyAiaWYgZXJyb3IgPT0gMCB8IHEgfCBlbHNlIHwgbnVtIDIgfCBjcSB8IGVuZGlmIiAkPAorCSQoVklNUFJPRykgLXUgTk9ORSAtLW5vcGx1Z2lucyAtZSAtcyAtWCAtLWNtZCAic2V0IGVuYz11dGYtOCIgXAorCQktUyBjaGVjay52aW0gLWMgImlmIGVycm9yID09IDAgfCBxIHwgZWxzZSB8IG51bSAyIHwgY3EgfCBlbmRpZiIgJDwKIAl0b3VjaCAkQAogCiBjaGVjazogJChDSEVDS0ZJTEVTKQpAQCAtMjQyLDYgKzI0MSw3IEBACiBjbGVhbjogY2hlY2tjbGVhbgogCXJtIC1mIGNvcmUgY29yZS4qICoub2xkLnBvICoubW8gKi5wb3Qgc2ppc2NvcnIKIAlybSAtZiBMSU5HVUFTIHZpbS5kZXNrdG9wIGd2aW0uZGVza3RvcCB0bXBfKmRlc2t0b3AKKwlybSAtZiAuL2FsbGZpbGVzCiAjCXJtIC1mIGJpZzVjb3JyCiAKIGRpc3RjbGVhbjogY2xlYW4KQEAgLTI2MiwyMSArMjYyLDI1IEBACiAKICQoUEFDS0FHRSkucG90OiAkKFBPX0lOUFVUTElTVCkgJChQT19WSU1fSU5QVVRMSVNUKQogCSMgQ29udmVydCB0aGUgVmltIHNjcmlwdHMgdG8gKHdoYXQgbG9va3MgbGlrZSkgSmF2YXNjcmlwdC4KLQkkKFZJTVBST0cpIC11IE5PTkUgLS1ub3QtYS10ZXJtIC1TICQoUE9fQkFTRURJUikvdG9qYXZhc2NyaXB0LnZpbSAkKFBBQ0tBR0UpLnBvdCAkKFBPX1ZJTV9JTlBVVExJU1QpCisJJChWSU1QUk9HKSAtdSBOT05FIC0tbm90LWEtdGVybSAtUyB0b2phdmFzY3JpcHQudmltICQoUEFDS0FHRSkucG90IFwKKwkJJChQT19WSU1fSU5QVVRMSVNUKQorCUAgZWNobyAke1BPX0lOUFVUTElTVH0gfCB0ciAnICcgJ1xuJyA+IC4vYWxsZmlsZXMKKwlAIGNhdCAuL3ZpbV90b19qcyA+PiAuL2FsbGZpbGVzCiAJIyBDcmVhdGUgdmltLnBvdC4KLQkkKFhHRVRURVhUKSAtLWRlZmF1bHQtZG9tYWluPSQoUEFDS0FHRSkgLS1hZGQtY29tbWVudHMgXAotCQkkKFhHRVRURVhUX0tFWVdPUkRTKSAkKFBPX0lOUFVUTElTVCkgJChQT19WSU1fSlNMSVNUKQotCW12IC1mICQoUEFDS0FHRSkucG8gJChQQUNLQUdFKS5wb3QKKwkkKFhHRVRURVhUKSAtLWRlZmF1bHQtZG9tYWluPSQoUEFDS0FHRSkgLS1vdXRwdXQ9JChQQUNLQUdFKS5wb3QgXAorCQktLWFkZC1jb21tZW50cyAkKFhHRVRURVhUX0tFWVdPUkRTKSAtLWZpbGVzLWZyb209Li9hbGxmaWxlcwogCSMgRml4IFZpbSBzY3JpcHRzIG5hbWVzLCBzbyB0aGF0ICJnZiIgd29ya3MuCi0JJChWSU1QUk9HKSAtdSBOT05FIC0tbm90LWEtdGVybSAtUyAkKFBPX0JBU0VESVIpL2ZpeGZpbGVuYW1lcy52aW0gJChQQUNLQUdFKS5wb3QgJChQT19WSU1fSU5QVVRMSVNUKQorCSQoVklNUFJPRykgLXUgTk9ORSAtLW5vdC1hLXRlcm0gLVMgZml4ZmlsZW5hbWVzLnZpbSAkKFBBQ0tBR0UpLnBvdCBcCisJCSQoUE9fVklNX0lOUFVUTElTVCkKIAkjIERlbGV0ZSB0aGUgdGVtcG9yYXJ5IGZpbGVzLgotCXJtICouanMKKwlybSAtZiAqLmpzIC4vdmltX3RvX2pzCiAKIHZpbS5kZXNrdG9wOiB2aW0uZGVza3RvcC5pbiAkKFBPRklMRVMpCiAJZWNobyAkKExBTkdVQUdFUykgfCB0ciAiICIgIlxuIiB8JChTRUQpIC1lICcvXC4vZCcgfCBzb3J0ID4gTElOR1VBUwogCSQoTVNHRk1UKSAtLWRlc2t0b3AgLWQgLiAtLXRlbXBsYXRlIHZpbS5kZXNrdG9wLmluIC1vIHRtcF92aW0uZGVza3RvcAogCXJtIC1mIExJTkdVQVMKLQlpZiBjb21tYW5kIC12IGRlc2t0b3AtZmlsZS12YWxpZGF0ZTsgdGhlbiBkZXNrdG9wLWZpbGUtdmFsaWRhdGUgdG1wX3ZpbS5kZXNrdG9wOyBmaQorCWlmIGNvbW1hbmQgLXYgZGVza3RvcC1maWxlLXZhbGlkYXRlOyBcCisJCXRoZW4gZGVza3RvcC1maWxlLXZhbGlkYXRlIHRtcF92aW0uZGVza3RvcDsgZmkKIAltdiB0bXBfdmltLmRlc2t0b3AgdmltLmRlc2t0b3AKIAogIyBUaGUgZGVwZW5kZW5jeSBvbiB2aW0uZGVza3RvcCBpcyBvbmx5IHRvIGF2b2lkIHRoZSB0d28gdGFyZ2V0cyBhcmUgYnVpbGQgYXQKQEAgLTI4NSw3ICsyODksOCBAQAogCWVjaG8gJChMQU5HVUFHRVMpIHwgdHIgIiAiICJcbiIgfCQoU0VEKSAtZSAnL1wuL2QnIHwgc29ydCA+IExJTkdVQVMKIAkkKE1TR0ZNVCkgLS1kZXNrdG9wIC1kIC4gLS10ZW1wbGF0ZSBndmltLmRlc2t0b3AuaW4gLW8gdG1wX2d2aW0uZGVza3RvcAogCXJtIC1mIExJTkdVQVMKLQlpZiBjb21tYW5kIC12IGRlc2t0b3AtZmlsZS12YWxpZGF0ZTsgdGhlbiBkZXNrdG9wLWZpbGUtdmFsaWRhdGUgdG1wX2d2aW0uZGVza3RvcDsgZmkKKwlpZiBjb21tYW5kIC12IGRlc2t0b3AtZmlsZS12YWxpZGF0ZTsgXAorCQl0aGVuIGRlc2t0b3AtZmlsZS12YWxpZGF0ZSB0bXBfZ3ZpbS5kZXNrdG9wOyBmaQogCW12IHRtcF9ndmltLmRlc2t0b3AgZ3ZpbS5kZXNrdG9wCiAKICMgT25seSBvcmlnaW5hbCB0cmFuc2xhdGlvbnMgd2l0aCBkZWZhdWx0IGVuY29kaW5nIHNob3VsZCBiZSB1cGRhdGVkLgpAQCAtMzAyLDMgKzMwNywyOCBAQAogCWVsc2UgXAogCSAgICBlY2hvICJtc2dtZXJnZSBmb3IgJEAucG8gZmFpbGVkISI7IG12ICRALnBvLm9sZCAkQC5wbzsgXAogCWZpCisKKworIyMjIyMjIworIyBGb3IgdHJhbnNsYXRpb25zIG9mIHBsdWctaW5zCisjIyMjIyMjCisKKyMgUHJlcGFyaW5nIHRoZSBQT1QgZmlsZSBvZiB0aGUgcGx1Zy1pbiBwYWNrYWdlCitQT1RfUExVR1BBQ0tBR0VfUEFUSCAhPSBwd2QKKyQoUExVR1BBQ0tBR0UpLnBvdDogJChQT19QTFVHX0lOUFVUTElTVCkKKwkkKFZJTVBST0cpIC11IE5PTkUgLS1ub3QtYS10ZXJtIC1TIHRvamF2YXNjcmlwdC52aW0gXAorCQkkKFBMVUdQQUNLQUdFKS5wb3QgJD8KKwkkKFhHRVRURVhUKSAtLWZyb20tY29kZT1VVEYtOCAtLWRlZmF1bHQtZG9tYWluPSQoUExVR1BBQ0tBR0UpIFwKKwkJLS1wYWNrYWdlLW5hbWU9JChQTFVHUEFDS0FHRSkgXAorCQktLW91dHB1dC1kaXI9JChQT1RfUExVR1BBQ0tBR0VfUEFUSCkgXAorCQktLW91dHB1dD0kKFBMVUdQQUNLQUdFKS5wb3QgLS1maWxlcy1mcm9tPS4vdmltX3RvX2pzCisJJChWSU1QUk9HKSAtdSBOT05FIC0tbm90LWEtdGVybSAtUyBmaXhmaWxlbmFtZXMudmltIFwKKwkJJChQT1RfUExVR1BBQ0tBR0VfUEFUSCkvJChQTFVHUEFDS0FHRSkucG90ICQ/CisJcm0gLWYgKi5qcyAuL3ZpbV90b19qcworCisjIENvbnZlcnRpbmcgdGhlIFBPIGZpbGUgb2YgdGhlIHBsdWctaW4gcGFja2FnZSB0byB0aGUgYmluYXJ5IGZvcm1hdCBvZiB0aGUgTU8KK01PX1BMVUdQQUNLQUdFX1BBVEggIT0gcHdkCiskKFBMVUdQQUNLQUdFKS5tbzogJChQT19QTFVHUEFDS0FHRSkKKwkkKE1TR0ZNVENNRCkgLW8gJChNT19QTFVHUEFDS0FHRV9QQVRIKS8kQCAkPAorCisjIHZpbTogc2V0IG5vZXQgc3c9OCB0cz04IHN0cz0wIHdtPTAgdHc9MCBmdD1tYWtlOgpkaWZmIC0tZ2l0IGEvc3JjL3BvL1JFQURNRS50eHQgYi9zcmMvcG8vUkVBRE1FLnR4dAppbmRleCA1MGFmZjZhLi44MDFmNWU1IDEwMDY0NAotLS0gYS9zcmMvcG8vUkVBRE1FLnR4dAorKysgYi9zcmMvcG8vUkVBRE1FLnR4dApAQCAtMTYwLDMgKzE2MCwyMCBAQAogCSJDb250ZW50LVR5cGU6IHRleHQvcGxhaW47IGNoYXJzZXQ9RVVDLUpQXG4iCiAKIFRoZXJlIGFyZSBleGFtcGxlcyBpbiB0aGUgTWFrZWZpbGUgZm9yIHRoZSBjb252ZXJzaW9ucyBhbHJlYWR5IHN1cHBvcnRlZC4KKworCitUUkFOU0xBVElPTiBPRiBWSU0gVEhFIEVESVRPUiBQTFVHLUlOUworCitWaW0gc3VwcG9ydHMgZGlzcGxheWluZyBwbHVnaW4gbWVzc2FnZXMgZm9yIHZhcmlvdXMgbmF0aXZlIGxhbmd1YWdlcy4KK1RyYW5zbGF0aW9uIGlzIGF2YWlsYWJsZSBib3RoIGZvciBwbHVnaW5zIHRoYXQgYXJlIHN1cHBsaWVkIGFzIHBhcnQgb2YgdGhlIFZpbQorZWRpdG9yIChlLmcuICJvcHR3aW4udmltIikgYW5kIGZvciB0aGlyZC1wYXJ0eSBwbHVnaW4gcGFja2FnZXMuCisKK1RvIHRyYW5zbGF0ZSB0aGUgcGx1Z2lucyBzdXBwbGllZCB3aXRoIHRoZSBWaW0gZWRpdG9yLCB5b3UgbXVzdCBzcGVjaWZ5IGEKK2dldHRleHQoKSBmdW5jdGlvbiBjYWxsIGZvciB0aGUgc3RyaW5ncyB5b3Ugd2FudCB0byB0cmFuc2xhdGUuCitUaGUgdHJhbnNsYXRpb24gb2YgdGhlc2Ugc3RyaW5ncyB3aWxsIGJlIHJldHJpZXZlZCBieSBnZXR0ZXh0KCkgZnJvbSB0aGUgTU8KK2ZpbGUgInZpbS5tbyIuCisKK0ZvciB0aGlyZC1wYXJ0eSBwbHVnaW5zLCBpdCBpcyBuZWNlc3NhcnkgdG8gc3BlY2lmeSBhIG9uZS10aW1lIGNhbGwgdG8gdGhlCitiaW5kdGV4dGRvbWFpbigpIGZ1bmN0aW9uIGluIHNjcmlwdHMgY29udGFpbmluZyB0cmFuc2xhdGlvbiBzdHJpbmdzIGFuZCBmb3IKK2FsbCBtZXNzYWdlIHN0cmluZ3MgdG8gYWRkIGEge3BhY2thZ2V9IGFyZ3VtZW50IHRvIHRoZSBnZXR0ZXh0KCkgZnVuY3Rpb24uIEZvcgorbW9yZSBpbmZvcm1hdGlvbiwgc2VlICI6aGVscCBwYWNrYWdlLXRyYW5zbGF0aW9uIi4KZGlmZiAtLWdpdCBhL3NyYy9wby9SRUFETUVfbXZjLnR4dCBiL3NyYy9wby9SRUFETUVfbXZjLnR4dAppbmRleCBhZTlmYTJiLi5lNWZkODVlIDEwMDY0NAotLS0gYS9zcmMvcG8vUkVBRE1FX212Yy50eHQKKysrIGIvc3JjL3BvL1JFQURNRV9tdmMudHh0CkBAIC0xMzcsNCArMTM3LDIyIEBACiAKIAlubWFrZS5leGUgLWYgTWFrZV9tdmMubWFrIGNsZWFuCiAKKworVFJBTlNMQVRJT04gT0YgVklNIFRIRSBFRElUT1IgUExVRy1JTlMKKworVmltIHN1cHBvcnRzIGRpc3BsYXlpbmcgcGx1Z2luIG1lc3NhZ2VzIGZvciB2YXJpb3VzIG5hdGl2ZSBsYW5ndWFnZXMuCitUcmFuc2xhdGlvbiBpcyBhdmFpbGFibGUgYm90aCBmb3IgcGx1Z2lucyB0aGF0IGFyZSBzdXBwbGllZCBhcyBwYXJ0IG9mIHRoZSBWaW0KK2VkaXRvciAoZS5nLiAib3B0d2luLnZpbSIpIGFuZCBmb3IgdGhpcmQtcGFydHkgcGx1Z2luIHBhY2thZ2VzLgorCitUbyB0cmFuc2xhdGUgdGhlIHBsdWdpbnMgc3VwcGxpZWQgd2l0aCB0aGUgVmltIGVkaXRvciwgeW91IG11c3Qgc3BlY2lmeSBhCitnZXR0ZXh0KCkgZnVuY3Rpb24gY2FsbCBmb3IgdGhlIHN0cmluZ3MgeW91IHdhbnQgdG8gdHJhbnNsYXRlLgorVGhlIHRyYW5zbGF0aW9uIG9mIHRoZXNlIHN0cmluZ3Mgd2lsbCBiZSByZXRyaWV2ZWQgYnkgZ2V0dGV4dCgpIGZyb20gdGhlIE1PCitmaWxlICJ2aW0ubW8iLgorCitGb3IgdGhpcmQtcGFydHkgcGx1Z2lucywgaXQgaXMgbmVjZXNzYXJ5IHRvIHNwZWNpZnkgYSBvbmUtdGltZSBjYWxsIHRvIHRoZQorYmluZHRleHRkb21haW4oKSBmdW5jdGlvbiBpbiBzY3JpcHRzIGNvbnRhaW5pbmcgdHJhbnNsYXRpb24gc3RyaW5ncyBhbmQgZm9yCithbGwgbWVzc2FnZSBzdHJpbmdzIHRvIGFkZCBhIHtwYWNrYWdlfSBhcmd1bWVudCB0byB0aGUgZ2V0dGV4dCgpIGZ1bmN0aW9uLiBGb3IKK21vcmUgaW5mb3JtYXRpb24sIHNlZSAiOmhlbHAgcGFja2FnZS10cmFuc2xhdGlvbiIuCisKKwogdmltOnR3PTc4OgpkaWZmIC0tZ2l0IGEvc3JjL3BvL2ZpeGZpbGVuYW1lcy52aW0gYi9zcmMvcG8vZml4ZmlsZW5hbWVzLnZpbQppbmRleCBjOTI4MzllLi4yMzQ0YjNiIDEwMDY0NAotLS0gYS9zcmMvcG8vZml4ZmlsZW5hbWVzLnZpbQorKysgYi9zcmMvcG8vZml4ZmlsZW5hbWVzLnZpbQpAQCAtMyw5ICszLDExIEBACiAKIHNldCBzaG9ydG1lc3MrPUEKIAotZm9yIG5hbWUgaW4gYXJndigpWzE6XQotICBsZXQganNuYW1lID0gZm5hbWVtb2RpZnkobmFtZSwgIjpyOmdzP1xcfj9fPzpncz9cXC4/Xz86Z3M/Lz9fXz86Z3M/XFw/X18/IikgLi4gIi5qcyIKLSAgZXhlICIlcysiIC4uIGpzbmFtZSAuLiAiKyIgLi4gc3Vic3RpdHV0ZShuYW1lLCAnXFwnLCAnLycsICdnJykgLi4gIisiCitsZXQgczpuYW1lbnVtID0gMAorZm9yIHM6bmFtZSBpbiBhcmd2KClbMTpdCisgIGxldCBzOmpzbmFtZSA9IGZuYW1lbW9kaWZ5KHM6bmFtZSwgIjp0OnIiKSAuLiBzOm5hbWVudW0gLi4gIi5qcyIKKyAgZXhlICIlcysiIC4uIHM6anNuYW1lIC4uICIrIiAuLiBzdWJzdGl0dXRlKHM6bmFtZSwgJ1xcJywgJy8nLCAnZycpIC4uICIrZ2UiCisgIGxldCBzOm5hbWVudW0gKz0xCiBlbmRmb3IKIAogd3JpdGUKZGlmZiAtLWdpdCBhL3NyYy9wby90b2phdmFzY3JpcHQudmltIGIvc3JjL3BvL3RvamF2YXNjcmlwdC52aW0KaW5kZXggMzJlZWE5Yi4uNDY3MWE0NyAxMDA2NDQKLS0tIGEvc3JjL3BvL3RvamF2YXNjcmlwdC52aW0KKysrIGIvc3JjL3BvL3RvamF2YXNjcmlwdC52aW0KQEAgLTUsMTUgKzUsMjAgQEAKIAogc2V0IHNob3J0bWVzcys9QQogCi1mb3IgbmFtZSBpbiBhcmd2KClbMTpdCi0gIGV4ZSAnZWRpdCAnIC4uIGZuYW1lZXNjYXBlKG5hbWUpCitsZXQgczpuYW1lbnVtID0gMAorbGV0IHM6ZmxzID0gW10KK2ZvciBzOm5hbWUgaW4gYXJndigpWzE6XQorICBleGUgJ2VkaXQgJyAuLiBmbmFtZWVzY2FwZShzOm5hbWUpCiAKICAgIiBTdHJpcCBjb21tZW50cywgYWxzbyBhZnRlciA6c2V0IGNvbW1hbmRzLgogICBnL15ccyoiL3MvLiovLwogICBnL15ccypzZXQgLioiL3MvLiovLwogCiAgICIgV3JpdGUgYXMgLmpzIGZpbGUsIHhnZXR0ZXh0IHJlY29nbml6ZXMgdGhlbQotICBleGUgJ3chICcgLi4gZm5hbWVtb2RpZnkobmFtZSwgIjpyOmdzP1xcfj9fPzpncz9cXC4/Xz86Z3M/Lz9fXz86Z3M/XFw/X18/IikgLi4gIi5qcyIKKyAgbGV0IHM6ZmwgPSBmbmFtZW1vZGlmeShzOm5hbWUsICI6dDpyIikgLi4gczpuYW1lbnVtIC4uICIuanMiCisgIGV4ZSAndyEgJyAuLiBzOmZsCisgIGNhbGwgYWRkKHM6ZmxzLCBzOmZsKQorICBsZXQgczpuYW1lbnVtICs9IDEKIGVuZGZvcgotCitjYWxsIHdyaXRlZmlsZShzOmZscywgInZpbV90b19qcyIpCiBxdWl0CmRpZmYgLS1naXQgYS9zcmMvdGVzdGRpci9NYWtlX2FsbC5tYWsgYi9zcmMvdGVzdGRpci9NYWtlX2FsbC5tYWsKaW5kZXggZjE5OWZlYy4uNzZkNDQyOSAxMDA2NDQKLS0tIGEvc3JjL3Rlc3RkaXIvTWFrZV9hbGwubWFrCisrKyBiL3NyYy90ZXN0ZGlyL01ha2VfYWxsLm1hawpAQCAtMTY2LDYgKzE2Niw3IEBACiAJdGVzdF9nZXR0ZXh0IFwKIAl0ZXN0X2dldHRleHRfY3AxMjUxIFwKIAl0ZXN0X2dldHRleHRfdXRmOCBcCisJdGVzdF9nZXR0ZXh0X21ha2UgXAogCXRlc3RfZ2V0dmFyIFwKIAl0ZXN0X2dmIFwKIAl0ZXN0X2dsb2IycmVncGF0IFwKQEAgLTQyOCw2ICs0MjksNyBAQAogCXRlc3RfZ2V0dGV4dC5yZXMgXAogCXRlc3RfZ2V0dGV4dF9jcDEyNTEucmVzIFwKIAl0ZXN0X2dldHRleHRfdXRmOC5yZXMgXAorCXRlc3RfZ2V0dGV4dF9tYWtlLnJlcyBcCiAJdGVzdF9nZXR2YXIucmVzIFwKIAl0ZXN0X2dmLnJlcyBcCiAJdGVzdF9nbi5yZXMgXApkaWZmIC0tZ2l0IGEvc3JjL3Rlc3RkaXIvTWFrZV9tdmMubWFrIGIvc3JjL3Rlc3RkaXIvTWFrZV9tdmMubWFrCmluZGV4IGJkNmQxYTIuLjFiZjllYWUgMTAwNjQ0Ci0tLSBhL3NyYy90ZXN0ZGlyL01ha2VfbXZjLm1haworKysgYi9zcmMvdGVzdGRpci9NYWtlX212Yy5tYWsKQEAgLTQyLDcgKzQyLDcgQEAKIAkJZWxzZSAoIGVjaG8gTm8gZmFpbHVyZXMgcmVwb3J0ZWQgPiB0ZXN0X3Jlc3VsdC5sb2cgKQogCSQoVklNUFJPRykgLXUgTk9ORSAkKENPTU1PTl9BUkdTKSAtUyBzdW1tYXJpemUudmltIG1lc3NhZ2VzCiAJLWlmIGV4aXN0IHN0YXJ0dGltZSBkZWwgc3RhcnR0aW1lCi0JQGVjaG8uCisJQGVjaG86CiAJQGVjaG8gVGVzdCByZXN1bHRzOgogCUBjbWQgL2MgdHlwZSB0ZXN0X3Jlc3VsdC5sb2cKIAlAaWYgZXhpc3QgdGVzdC5sb2cgKCBlY2hvIFRFU1QgRkFJTFVSRSAmIGV4aXQgL2IgMSApIFwKQEAgLTU2LDcgKzU2LDcgQEAKIAktaWYgZXhpc3QgdGVzdC5sb2cgZGVsIHRlc3QubG9nCiAJLWlmIGV4aXN0IG1lc3NhZ2VzIGRlbCBtZXNzYWdlcwogCS1pZiBleGlzdCBzdGFydHRpbWUgZGVsIHN0YXJ0dGltZQotCUAkKE1BS0UpIC1ub2xvZ28gLWYgTWFrZV9tdmMubWFrICRALnJlcyBWSU1QUk9HPSQoVklNUFJPRykKKwlAJChNQUtFKSAtbm9sb2dvIC1mIE1ha2VfbXZjLm1hayBWSU1QUk9HPSQoVklNUFJPRykgJEAucmVzCiAJQHR5cGUgbWVzc2FnZXMKIAlAaWYgZXhpc3QgdGVzdC5sb2cgZXhpdCAxCiAKZGlmZiAtLWdpdCBhL3NyYy90ZXN0ZGlyL3Rlc3RfZ2V0dGV4dF9jcDEyNTEudmltIGIvc3JjL3Rlc3RkaXIvdGVzdF9nZXR0ZXh0X2NwMTI1MS52aW0KaW5kZXggYzZmMDRiYi4uYzkxZjc4NCAxMDA2NDQKLS0tIGEvc3JjL3Rlc3RkaXIvdGVzdF9nZXR0ZXh0X2NwMTI1MS52aW0KKysrIGIvc3JjL3Rlc3RkaXIvdGVzdF9nZXR0ZXh0X2NwMTI1MS52aW0KQEAgLTEsMjAgKzEsMjAgQEAKIHNvdXJjZSBjaGVjay52aW0KLSIgVE9ETzogV2h5IGRvZXMgdGhpcyBmYWlsIG9uIE1hY09TIDE0IGFuZCBXaW5kb3dzIE1TVkMgKEdpdGh1YiBDSSk/CisiIFRoaXMgZmFpbCBvbiBDSSBNYWNPUyAxNCBiZWNhdXNlIGJpbmR0ZXh0ZG9tYWluKCkgaXMgbm90IGF2YWlsYWJsZSB0aGVyZQorIiAobWlzc2luZyBsaWJyYXJ5PykKIENoZWNrTm90TWFjCi1DaGVja05vdE1TV2luZG93cwogCiAiIFRlc3QgZm9yIGdldHRleHQoKQogZnVuYyBUZXN0X2dldHRleHQoKQogICBzZXQgZW5jb2Rpbmc9Y3AxMjUxCiAgIGNhbGwgYmluZHRleHRkb21haW4oIl9fUEFDS0FHRV9fIiwgZ2V0Y3dkKCkpCiAgIHRyeQotICAgIGxhbmd1YWdlIHJ1X1JVCisgICAgbGFuZ3VhZ2UgbWVzc2FnZXMgcnVfUlUKICAgICBjYWxsIGFzc2VydF9lcXVhbCgnztjIwcrAOiAnLCBnZXR0ZXh0KCJFUlJPUjogIiwgIl9fUEFDS0FHRV9fIikpCiAgIGNhdGNoIC9eVmltXCUoKFxhXCspXClcPTpFMTk3Oi8KICAgICB0aHJvdyAiU2tpcHBlZDogbm90IHBvc3NpYmxlIHRvIHNldCBsb2NhbGUgdG8gcnUgKG1pc3Npbmc/KSIKICAgZW5kdHJ5CiAgIHRyeQotICAgIGxhbmd1YWdlIGVuX0dCLlVURi04CisgICAgbGFuZ3VhZ2UgbWVzc2FnZXMgZW5fR0IuVVRGLTgKICAgICBjYWxsIGFzc2VydF9lcXVhbCgnRVJST1I6ICcsIGdldHRleHQoIkVSUk9SOiAiLCAiX19QQUNLQUdFX18iKSkKICAgY2F0Y2ggL15WaW1cJSgoXGFcKylcKVw9OkUxOTc6LwogICAgIHRocm93ICJTa2lwcGVkOiBub3QgcG9zc2libGUgdG8gc2V0IGxvY2FsZSB0byBlbiAobWlzc2luZz8pIgpkaWZmIC0tZ2l0IGEvc3JjL3Rlc3RkaXIvdGVzdF9nZXR0ZXh0X21ha2UudmltIGIvc3JjL3Rlc3RkaXIvdGVzdF9nZXR0ZXh0X21ha2UudmltCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjQ4MGUyZWUKLS0tIC9kZXYvbnVsbAorKysgYi9zcmMvdGVzdGRpci90ZXN0X2dldHRleHRfbWFrZS52aW0KQEAgLTAsMCArMSw2NSBAQAorc291cmNlIGNoZWNrLnZpbQorIkNoZWNrTm90TVNXaW5kb3dzCitDaGVja05vdE1hYworCisiIFRlc3QgZm9yIHBhY2thZ2UgdHJhbnNsYXRpb24gTWFrZWZpbGUKK2Z1bmMgVGVzdF9nZXR0ZXh0X21ha2VmaWxlKCkKKyAgY2QgLi4vcG8KKyAgaWYgaGFzKCd3aW4zMicpCisgICAgY2FsbCBzeXN0ZW0oJ25tYWtlLmV4ZSAtZiBNYWtlX212Yy5tYWsgIlZJTVBST0c9JyAuLiBnZXRlbnYoJ1ZJTVBST0cnKSAuLgorICAgICAgICAgIFwgJyIgIkdFVFRFWFRfUEFUSD0nIC4uIGdldGVudignR0VUVEVYVF9QQVRIJykgLi4KKyAgICAgICAgICBcICciIFBMVUdQQUNLQUdFPXRlc3RfZ2V0dGV4dAorICAgICAgICAgIFwgIlBPX1BMVUdfSU5QVVRMSVNUPS4uXHRlc3RkaXJcdGVzdF9nZXR0ZXh0X21ha2VmaWxlX2luMS52aW0KKyAgICAgICAgICBcIC4uXHRlc3RkaXJcdGVzdF9nZXR0ZXh0X21ha2VmaWxlX2luMi52aW0KKyAgICAgICAgICBcIC4uXHRlc3RkaXJcdGVzdF9nZXR0ZXh0X21ha2VmaWxlX2luMy52aW0KKyAgICAgICAgICBcIC4uXHRlc3RkaXJcdGVzdF9nZXR0ZXh0X21ha2VmaWxlX2luNC52aW0iIHRlc3RfZ2V0dGV4dC5wb3QnKQorICBlbHNlCisiIFdpbGwgaXQgd29yayBvbiBtYWNPUz8KKyAgICBjYWxsIHN5c3RlbSgibWFrZSAtZiBNYWtlZmlsZSBQTFVHUEFDS0FHRT10ZXN0X2dldHRleHQKKyAgICAgICAgICBcIFBPX1BMVUdfSU5QVVRMSVNUPVwiLi4vdGVzdGRpci90ZXN0X2dldHRleHRfbWFrZWZpbGVfaW4xLnZpbQorICAgICAgICAgIFwgLi4vdGVzdGRpci90ZXN0X2dldHRleHRfbWFrZWZpbGVfaW4yLnZpbQorICAgICAgICAgIFwgLi4vdGVzdGRpci90ZXN0X2dldHRleHRfbWFrZWZpbGVfaW4zLnZpbQorICAgICAgICAgIFwgLi4vdGVzdGRpci90ZXN0X2dldHRleHRfbWFrZWZpbGVfaW40LnZpbVwiIHRlc3RfZ2V0dGV4dC5wb3QiKQorICBlbmRpZgorICBsZXQgZXhwZWN0ZWQgPSBbCisgICAgICAgICAgXCAgJyMgU09NRSBERVNDUklQVElWRSBUSVRMRS4nLAorICAgICAgICAgIFwgICcjIENvcHlyaWdodCAoQykgWUVBUiBUSEUgUEFDS0FHRScnUyBDT1BZUklHSFQgSE9MREVSJywKKyAgICAgICAgICBcICAnIyBUaGlzIGZpbGUgaXMgZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIHNhbWUgbGljZW5zZSBhcyB0aGUgdGVzdF9nZXR0ZXh0IHBhY2thZ2UuJywKKyAgICAgICAgICBcICAnIyBGSVJTVCBBVVRIT1IgPEVNQUlMQEFERFJFU1M+LCBZRUFSLicsCisgICAgICAgICAgXCAgJyMnLAorICAgICAgICAgIFwgICcjLCBmdXp6eScsCisgICAgICAgICAgXCAgJ21zZ2lkICIiJywKKyAgICAgICAgICBcICAnbXNnc3RyICIiJywKKyAgICAgICAgICBcICAnIlByb2plY3QtSWQtVmVyc2lvbjogdGVzdF9nZXR0ZXh0XG4iJywKKyAgICAgICAgICBcICAnIlJlcG9ydC1Nc2dpZC1CdWdzLVRvOiBcbiInLAorICAgICAgICAgIFwgICciUE8tUmV2aXNpb24tRGF0ZTogWUVBUi1NTy1EQSBITzpNSStaT05FXG4iJywKKyAgICAgICAgICBcICAnIkxhc3QtVHJhbnNsYXRvcjogRlVMTCBOQU1FIDxFTUFJTEBBRERSRVNTPlxuIicsCisgICAgICAgICAgXCAgJyJMYW5ndWFnZS1UZWFtOiBMQU5HVUFHRSA8TExAbGkub3JnPlxuIicsCisgICAgICAgICAgXCAgJyJMYW5ndWFnZTogXG4iJywKKyAgICAgICAgICBcICAnIk1JTUUtVmVyc2lvbjogMS4wXG4iJywKKyAgICAgICAgICBcICAnIkNvbnRlbnQtVHlwZTogdGV4dC9wbGFpbjsgY2hhcnNldD1DSEFSU0VUXG4iJywKKyAgICAgICAgICBcICAnIkNvbnRlbnQtVHJhbnNmZXItRW5jb2Rpbmc6IDhiaXRcbiInLAorICAgICAgICAgIFwgICcnLAorICAgICAgICAgIFwgICcjOiAuLi90ZXN0ZGlyL3Rlc3RfZ2V0dGV4dF9tYWtlZmlsZV9pbjEudmltOjQgLi4vdGVzdGRpci90ZXN0X2dldHRleHRfbWFrZWZpbGVfaW4xLnZpbTo2JywKKyAgICAgICAgICBcICAnIzogLi4vdGVzdGRpci90ZXN0X2dldHRleHRfbWFrZWZpbGVfaW4yLnZpbTo1IC4uL3Rlc3RkaXIvdGVzdF9nZXR0ZXh0X21ha2VmaWxlX2luNC52aW06NCcsCisgICAgICAgICAgXCAgJ21zZ2lkICJUaGlzIGlzIGEgdGVzdCInLAorICAgICAgICAgIFwgICdtc2dzdHIgIiInLAorICAgICAgICAgIFwgICcnLAorICAgICAgICAgIFwgICcjOiAuLi90ZXN0ZGlyL3Rlc3RfZ2V0dGV4dF9tYWtlZmlsZV9pbjEudmltOjUnLAorICAgICAgICAgIFwgICdtc2dpZCAiVGhpcyBpcyBhbm90aGVyIHRlc3QiJywKKyAgICAgICAgICBcICAnbXNnc3RyICIiJywKKyAgICAgICAgICBcICAnJywKKyAgICAgICAgICBcICAnIzogLi4vdGVzdGRpci90ZXN0X2dldHRleHRfbWFrZWZpbGVfaW4yLnZpbTo0JywKKyAgICAgICAgICBcICAnbXNnaWQgIlRoaXMgaXMgYSB0ZXN0IGZyb20gdGhlIHNlY29uZCBmaWxlIicsCisgICAgICAgICAgXCAgJ21zZ3N0ciAiIicsCisgICAgICAgICAgXCAgJycsCisgICAgICAgICAgXCAgJyM6IC4uL3Rlc3RkaXIvdGVzdF9nZXR0ZXh0X21ha2VmaWxlX2luNC52aW06NScsCisgICAgICAgICAgXCAgJ21zZ2lkICJUaGlzIGlzIGEgZm91cnRoIHRlc3QiJywKKyAgICAgICAgICBcICAnbXNnc3RyICIiJ10KKyAgbGV0IHBvdGZpbGUgPSBmaWx0ZXIocmVhZGZpbGUoInRlc3RfZ2V0dGV4dC5wb3QiKSwgJ3Y6dmFsICF+ICJQT1QtQ3JlYXRpb24tRGF0ZSInKQorICBjYWxsIGFzc2VydF9lcXVhbChleHBlY3RlZCwgcG90ZmlsZSkKKyAgY2FsbCBkZWxldGUoJ3Rlc3RfZ2V0dGV4dC5wb3QnKQorICBjZCAtCitlbmRmdW5jCisKKyIgdmltOiBzaGlmdHdpZHRoPTIgc3RzPTIgZXhwYW5kdGFiCmRpZmYgLS1naXQgYS9zcmMvdGVzdGRpci90ZXN0X2dldHRleHRfbWFrZWZpbGVfaW4xLnZpbSBiL3NyYy90ZXN0ZGlyL3Rlc3RfZ2V0dGV4dF9tYWtlZmlsZV9pbjEudmltCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmNiZTExNTkKLS0tIC9kZXYvbnVsbAorKysgYi9zcmMvdGVzdGRpci90ZXN0X2dldHRleHRfbWFrZWZpbGVfaW4xLnZpbQpAQCAtMCwwICsxLDcgQEAKKyIgVGVzdCBmaWxlIGZvciBnZXR0ZXh0KCkgcGFja2FnZSBtYWtlZmlsZQorIiBMYXN0IENoYW5nZToJMjAyNCBKdW4gMDEKKworZWNobyBnZXR0ZXh0KCJUaGlzIGlzIGEgdGVzdCIsICJ0ZXN0X2dldHRleHQiKQorZWNobyBnZXR0ZXh0KCJUaGlzIGlzIGFub3RoZXIgdGVzdCIsICJ0ZXN0X2dldHRleHQiKQorZWNobyBnZXR0ZXh0KCJUaGlzIGlzIGEgdGVzdCIsICJ0ZXN0X2dldHRleHQiKQorIiB2aW06IHRzPTgKZGlmZiAtLWdpdCBhL3NyYy90ZXN0ZGlyL3Rlc3RfZ2V0dGV4dF9tYWtlZmlsZV9pbjIudmltIGIvc3JjL3Rlc3RkaXIvdGVzdF9nZXR0ZXh0X21ha2VmaWxlX2luMi52aW0KbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uODZkM2RkOQotLS0gL2Rldi9udWxsCisrKyBiL3NyYy90ZXN0ZGlyL3Rlc3RfZ2V0dGV4dF9tYWtlZmlsZV9pbjIudmltCkBAIC0wLDAgKzEsNiBAQAorIiBUZXN0IGZpbGUgZm9yIGdldHRleHQoKSBwYWNrYWdlIG1ha2VmaWxlCisiIExhc3QgQ2hhbmdlOgkyMDI0IEp1biAwMQorCitlY2hvIGdldHRleHQoIlRoaXMgaXMgYSB0ZXN0IGZyb20gdGhlIHNlY29uZCBmaWxlIiwgInRlc3RfZ2V0dGV4dCIpCitlY2hvIGdldHRleHQoIlRoaXMgaXMgYSB0ZXN0IiwgInRlc3RfZ2V0dGV4dCIpCisiIHZpbTogdHM9OApkaWZmIC0tZ2l0IGEvc3JjL3Rlc3RkaXIvdGVzdF9nZXR0ZXh0X21ha2VmaWxlX2luMy52aW0gYi9zcmMvdGVzdGRpci90ZXN0X2dldHRleHRfbWFrZWZpbGVfaW4zLnZpbQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5mNGNmOTNkCi0tLSAvZGV2L251bGwKKysrIGIvc3JjL3Rlc3RkaXIvdGVzdF9nZXR0ZXh0X21ha2VmaWxlX2luMy52aW0KQEAgLTAsMCArMSw0IEBACisiIFRlc3QgZmlsZSBmb3IgZ2V0dGV4dCgpIHBhY2thZ2UgbWFrZWZpbGUKKyIgTGFzdCBDaGFuZ2U6CTIwMjQgSnVuIDAxCisKKyIgdmltOiB0cz04CmRpZmYgLS1naXQgYS9zcmMvdGVzdGRpci90ZXN0X2dldHRleHRfbWFrZWZpbGVfaW40LnZpbSBiL3NyYy90ZXN0ZGlyL3Rlc3RfZ2V0dGV4dF9tYWtlZmlsZV9pbjQudmltCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjdmOWYzZjcKLS0tIC9kZXYvbnVsbAorKysgYi9zcmMvdGVzdGRpci90ZXN0X2dldHRleHRfbWFrZWZpbGVfaW40LnZpbQpAQCAtMCwwICsxLDYgQEAKKyIgVGVzdCBmaWxlIGZvciBnZXR0ZXh0KCkgcGFja2FnZSBtYWtlZmlsZQorIiBMYXN0IENoYW5nZToJMjAyNCBKdW4gMDEKKworZWNobyBnZXR0ZXh0KCJUaGlzIGlzIGEgdGVzdCIsICJ0ZXN0X2dldHRleHQiKQorZWNobyBnZXR0ZXh0KCJUaGlzIGlzIGEgZm91cnRoIHRlc3QiLCAidGVzdF9nZXR0ZXh0IikKKyIgdmltOiB0cz04CmRpZmYgLS1naXQgYS9zcmMvdGVzdGRpci90ZXN0X2dldHRleHRfdXRmOC52aW0gYi9zcmMvdGVzdGRpci90ZXN0X2dldHRleHRfdXRmOC52aW0KaW5kZXggYmI0NmNhMC4uNzg2MmUzOSAxMDA2NDQKLS0tIGEvc3JjL3Rlc3RkaXIvdGVzdF9nZXR0ZXh0X3V0ZjgudmltCisrKyBiL3NyYy90ZXN0ZGlyL3Rlc3RfZ2V0dGV4dF91dGY4LnZpbQpAQCAtMSwyMCArMSwyMCBAQAogc291cmNlIGNoZWNrLnZpbQotIiBUT0RPOiBXaHkgZG9lcyB0aGlzIGZhaWwgb24gTWFjT1MgMTQgYW5kIFdpbmRvd3MgTVNWQyAoR2l0aHViIENJKT8KKyIgVGhpcyBmYWlsIG9uIENJIE1hY09TIDE0IGJlY2F1c2UgYmluZHRleHRkb21haW4oKSBpcyBub3QgYXZhaWxhYmxlIHRoZXJlCisiIChtaXNzaW5nIGxpYnJhcnk/KQogQ2hlY2tOb3RNYWMKLUNoZWNrTm90TVNXaW5kb3dzCiAKICIgVGVzdCBmb3IgZ2V0dGV4dCgpCiBmdW5jIFRlc3RfZ2V0dGV4dCgpCiAgIHNldCBlbmNvZGluZz11dGYtOAogICBjYWxsIGJpbmR0ZXh0ZG9tYWluKCJfX1BBQ0tBR0VfXyIsIGdldGN3ZCgpKQogICB0cnkKLSAgICBsYW5ndWFnZSBydV9SVQorICAgIGxhbmd1YWdlIG1lc3NhZ2VzIHJ1X1JVCiAgICAgY2FsbCBhc3NlcnRfZXF1YWwoJ9Ce0KjQmNCR0JrQkDogJywgZ2V0dGV4dCgiRVJST1I6ICIsICJfX1BBQ0tBR0VfXyIpKQogICBjYXRjaCAvXlZpbVwlKChcYVwrKVwpXD06RTE5NzovCiAgICAgdGhyb3cgIlNraXBwZWQ6IG5vdCBwb3NzaWJsZSB0byBzZXQgbG9jYWxlIHRvIHJ1IChtaXNzaW5nPykiCiAgIGVuZHRyeQogICB0cnkKLSAgICBsYW5ndWFnZSBlbl9HQi5VVEYtOAorICAgIGxhbmd1YWdlIG1lc3NhZ2VzIGVuX0dCLlVURi04CiAgICAgY2FsbCBhc3NlcnRfZXF1YWwoJ0VSUk9SOiAnLCBnZXR0ZXh0KCJFUlJPUjogIiwgIl9fUEFDS0FHRV9fIikpCiAgIGNhdGNoIC9eVmltXCUoKFxhXCspXClcPTpFMTk3Oi8KICAgICB0aHJvdyAiU2tpcHBlZDogbm90IHBvc3NpYmxlIHRvIHNldCBsb2NhbGUgdG8gZW4gKG1pc3Npbmc/KSIKZGlmZiAtLWdpdCBhL3NyYy92ZXJzaW9uLmMgYi9zcmMvdmVyc2lvbi5jCmluZGV4IGFhZWY4NWYuLmNjMjcxM2EgMTAwNjQ0Ci0tLSBhL3NyYy92ZXJzaW9uLmMKKysrIGIvc3JjL3ZlcnNpb24uYwpAQCAtNzA1LDYgKzcwNSw4IEBACiBzdGF0aWMgaW50IGluY2x1ZGVkX3BhdGNoZXNbXSA9CiB7ICAgLyogQWRkIG5ldyBwYXRjaCBudW1iZXIgYmVsb3cgdGhpcyBsaW5lICovCiAvKiovCisgICAgNTU5LAorLyoqLwogICAgIDU1OCwKIC8qKi8KICAgICA1NTcsCg==