ZGlmZiAtLWdpdCBhL3NyYy9HdmltRXh0L0d2aW1FeHQucmVnIGIvc3JjL0d2aW1FeHQvR3ZpbUV4dC5yZWcKaW5kZXggMzgzNjI4NC4uMzg4Nzk0NiAxMDA2NDQKLS0tIGEvc3JjL0d2aW1FeHQvR3ZpbUV4dC5yZWcKKysrIGIvc3JjL0d2aW1FeHQvR3ZpbUV4dC5yZWcKQEAgLTE1LDYgKzE1LDYgQEAKIFtIS0VZX0xPQ0FMX01BQ0hJTkVcU29mdHdhcmVcVmltXEd2aW1dCiAgICAicGF0aCI9Imd2aW0uZXhlIgogCi1bSEtFWV9MT0NBTF9NQUNISU5FXFNvZnR3YXJlXE1pY3Jvc29mdFxXaW5kb3dzXEN1cnJlbnRWZXJzaW9uXFVuaW5zdGFsbFxWaW0gNy4yXQotICAgIkRpc3BsYXlOYW1lIj0iVmltIDcuMjogRWRpdCB3aXRoIFZpbSBwb3B1cCBtZW51IGVudHJ5IgorW0hLRVlfTE9DQUxfTUFDSElORVxTb2Z0d2FyZVxNaWNyb3NvZnRcV2luZG93c1xDdXJyZW50VmVyc2lvblxVbmluc3RhbGxcVmltIDcuM2FdCisgICAiRGlzcGxheU5hbWUiPSJWaW0gNy4zYTogRWRpdCB3aXRoIFZpbSBwb3B1cCBtZW51IGVudHJ5IgogICAgIlVuaW5zdGFsbFN0cmluZyI9InVuaW5zdGFsLmV4ZSIKZGlmZiAtLWdpdCBhL3NyYy9JTlNUQUxMeC50eHQgYi9zcmMvSU5TVEFMTHgudHh0CmluZGV4IGIzZTkxMjIuLmUwM2Y1NGQgMTAwNjQ0Ci0tLSBhL3NyYy9JTlNUQUxMeC50eHQKKysrIGIvc3JjL0lOU1RBTEx4LnR4dApAQCAtNTAsNyArNTAsNyBAQAogCS0taG9zdC4KIAogLS13aXRoLXRsaWI9Li4uIDoKLQlXaGljaCB0ZXJtaW5hbCBsaWJyYXJ5IHRvLgorCVdoaWNoIHRlcm1pbmFsIGxpYnJhcnkgdG8gdXNlLgogCUZvciBleGFtcGxlLCAibmN1cnNlcyIuCiAKIApAQCAtNjgsMjYgKzY4LDI2IEBACiAJbWFjaGluZXMuCiAKIHZpX2N2X3BhdGhfcHl0aG9uX2NvbmY6Ci0JSWYgUHl0aG9uIHN1cHBvcnQgaXMgZW5hYmxlZCwgc2V0IHRoaXMgdmFyaWFibGVzIHRvIHRoZSBwYXRoIGZvcgorCUlmIFB5dGhvbiBzdXBwb3J0IGlzIGVuYWJsZWQsIHNldCB0aGlzIHZhcmlhYmxlIHRvIHRoZSBwYXRoIGZvcgogCVB5dGhvbidzIGxpYnJhcnkgaW1wbGVtZW50YXRpb24uIFRoaXMgaXMgYSBwYXRoIGxpa2UKIAkiL3Vzci9saWIvcHl0aG9uWC5ZL2NvbmZpZyIgKHRoZSBkaXJlY3RvcnkgY29udGFpbnMgYSBmaWxlCiAJImNvbmZpZy5jIikuCiAKIHZpX2N2X3Zhcl9weXRob25fZXBmeDoKLQlJZiBQeXRob24gc3VwcG9ydCBpcyBlbmFibGVkLCBzZXQgdGhpcyB2YXJpYWJsZXMgdG8gdGhlIGV4ZWN1dGlvbgorCUlmIFB5dGhvbiBzdXBwb3J0IGlzIGVuYWJsZWQsIHNldCB0aGlzIHZhcmlhYmxlIHRvIHRoZSBleGVjdXRpb24KIAlwcmVmaXggb2YgeW91ciBQeXRob24gaW50ZXJwcmV0ZXIgKHRoYXQgaXMsIHdoZXJlIGl0IHRoaW5rcyBpdCBpcwogCXJ1bm5pbmcpLgogCVRoaXMgaXMgdGhlIG91dHB1dCBvZiB0aGUgZm9sbG93aW5nIFB5dGhvbiBzY3JpcHQ6CiAJCWltcG9ydCBzeXM7IHByaW50IHN5cy5leGVjX3ByZWZpeAogCiB2aV9jdl92YXJfcHl0aG9uX3BmeDoKLQlJZiBQeXRob24gc3VwcG9ydCBpcyBlbmFibGVkLCBzZXQgdGhpcyB2YXJpYWJsZXMgdG8gdGhlIHByZWZpeCBvZiB5b3VyCi0JUHl0aG9uIGludGVycHJldGVyICh0aGF0IGlzLCB3aGVyZSB3YXMgaW5zdGFsbGVkKS4KKwlJZiBQeXRob24gc3VwcG9ydCBpcyBlbmFibGVkLCBzZXQgdGhpcyB2YXJpYWJsZSB0byB0aGUgcHJlZml4IG9mIHlvdXIKKwlQeXRob24gaW50ZXJwcmV0ZXIgKHRoYXQgaXMsIHdoZXJlIGl0IHdhcyBpbnN0YWxsZWQpLgogCVRoaXMgaXMgdGhlIG91dHB1dCBvZiB0aGUgZm9sbG93aW5nIFB5dGhvbiBzY3JpcHQ6CiAJCWltcG9ydCBzeXM7IHByaW50IHN5cy5wcmVmaXgKIAogdmlfY3ZfdmFyX3B5dGhvbl92ZXJzaW9uOgotCUlmIFB5dGhvbiBzdXBwb3J0IGlzIGVuYWJsZWQsIHNldCB0aGlzIHZhcmlhYmxlcyB0byB0aGUgdmVyc2lvbiBvZiB0aGUKKwlJZiBQeXRob24gc3VwcG9ydCBpcyBlbmFibGVkLCBzZXQgdGhpcyB2YXJpYWJsZSB0byB0aGUgdmVyc2lvbiBvZiB0aGUKIAlQeXRob24gaW50ZXJwcmV0ZXIgdGhhdCB3aWxsIGJlIHVzZWQuCiAJVGhpcyBpcyB0aGUgb3V0cHV0IG9mIHRoZSBmb2xsb3dpbmcgUHl0aG9uIHNjcmlwdDoKIAkJaW1wb3J0IHN5czsgcHJpbnQgc3lzLnZlcnNpb25bOjNdCkBAIC0xMzMsMTEgKzEzMywxMSBAQAogCiB2aW1fY3ZfdHR5X2dyb3VwOgogCVRoZSBkZWZhdWx0IGdyb3VwIG9mIHBzZXVkbyB0ZXJtaW5hbHMuIEVpdGhlciBzZXQgdG8gdGhlIG51bWVyaWMgdmFsdWUKLQlvZiB0aGUgeW91ciB0dHkgZ3JvdXAgb3IgdG8gIndvcmxkIiBpZiB0aGV5IGFyZSB3b3JsZCBhY2Nlc3NhYmxlLgorCW9mIHlvdXIgdHR5IGdyb3VwIG9yIHRvICJ3b3JsZCIgaWYgdGhleSBhcmUgd29ybGQgYWNjZXNzaWJsZS4KIAogdmltX2N2X3R0eV9tb2RlOgotCVRoZSBkZWZhdWx0IG1vZGUgb2YgcHNldWRvIHRlcm1pbmFscyBpZiB0aGV5IGFyZSBub3Qgd29ybGQgYWNjZXNzYWJsZS4KLQlNb3N0IHByb3BhYmx5IHRoZSB2YWx1ZSAiMDYyMCIuCisJVGhlIGRlZmF1bHQgbW9kZSBvZiBwc2V1ZG8gdGVybWluYWxzIGlmIHRoZXkgYXJlIG5vdCB3b3JsZCBhY2Nlc3NpYmxlLgorCU1vc3QgcHJvYmFibHkgdGhlIHZhbHVlICIwNjIwIi4KIAogCiA0LiBFWEFNUExFOgpkaWZmIC0tZ2l0IGEvc3JjL01ha2VmaWxlIGIvc3JjL01ha2VmaWxlCmluZGV4IDkyOGRlNTcuLmY2YjZlNmYgMTAwNjQ0Ci0tLSBhL3NyYy9NYWtlZmlsZQorKysgYi9zcmMvTWFrZWZpbGUKQEAgLTUzNiw3ICs1MzYsNyBAQAogI0NGTEFHUyA9IC1nIC1PMiAnLURTVEFSVFVQVElNRT0idmltc3RhcnR1cCInIC1mbm8tc3RyZW5ndGgtcmVkdWNlIC1XYWxsIC1XbWlzc2luZy1wcm90b3R5cGVzCiAKICMgVXNlIHRoaXMgd2l0aCBHQ0MgdG8gY2hlY2sgZm9yIG1pc3Rha2VzLCB1bnVzZWQgYXJndW1lbnRzLCBldGMuCi0jQ0ZMQUdTID0gLWcgLVdhbGwgLVdleHRyYSAtV21pc3NpbmctcHJvdG90eXBlcyAtV3VucmVhY2hhYmxlLWNvZGUKKyNDRkxBR1MgPSAtZyAtV2FsbCAtV2V4dHJhIC1XbWlzc2luZy1wcm90b3R5cGVzIC1XdW5yZWFjaGFibGUtY29kZSAtRF9GT1JUSUZZX1NPVVJDRT0xCiAjUFlUSE9OX0NGTEFHU19FWFRSQSA9IC1Xbm8tbWlzc2luZy1maWVsZC1pbml0aWFsaXplcnMKICNNWlNDSEVNRV9DRkxBR1NfRVhUUkEgPSAtV25vLXVucmVhY2hhYmxlLWNvZGUgLVduby11bnVzZWQtcGFyYW1ldGVyCiAKQEAgLTkxNCw3ICs5MTQsNyBAQAogCiAjIyMgVmltIHZlcnNpb24gKGFkanVzdGVkIGJ5IGEgc2NyaXB0KQogVklNTUFKT1IgPSA3Ci1WSU1NSU5PUiA9IDIKK1ZJTU1JTk9SID0gM2EKIAogIyMjIExvY2F0aW9uIG9mIFZpbSBmaWxlcyAoc2hvdWxkIG5vdCBuZWVkIHRvIGJlIGNoYW5nZWQsIGFuZCAge3t7MQogIyMjIHNvbWUgdGhpbmdzIG1pZ2h0IG5vdCB3b3JrIHdoZW4gdGhleSBhcmUgY2hhbmdlZCEpCmRpZmYgLS1naXQgYS9zcmMvUkVBRE1FLnR4dCBiL3NyYy9SRUFETUUudHh0CmluZGV4IGJkOTM2NTIuLjJmYWZkNGYgMTAwNjQ0Ci0tLSBhL3NyYy9SRUFETUUudHh0CisrKyBiL3NyYy9SRUFETUUudHh0CkBAIC0yNCw3ICsyNCw3IEBACiAJZm9sZC5jCQlmb2xkaW5nCiAJZ2V0Y2hhci5jCWdldHRpbmcgY2hhcmFjdGVycyBhbmQga2V5IG1hcHBpbmcKIAltYXJrLmMJCW1hcmtzCi0JbWJ5dGUuYwkJbXVsdHktYnl0ZSBjaGFyYWN0ZXIgaGFuZGxpbmcKKwltYnl0ZS5jCQltdWx0aS1ieXRlIGNoYXJhY3RlciBoYW5kbGluZwogCW1lbWZpbGUuYwlzdG9yaW5nIGxpbmVzIGZvciBidWZmZXJzIGluIGEgc3dhcGZpbGUKIAltZW1saW5lLmMJc3RvcmluZyBsaW5lcyBmb3IgYnVmZmVycyBpbiBtZW1vcnkKIAltZW51LmMJCW1lbnVzCmRpZmYgLS1naXQgYS9zcmMvZG9zaW5zdC5jIGIvc3JjL2Rvc2luc3QuYwppbmRleCBjNGVkN2Y2Li4zNWZhMjdlIDEwMDY0NAotLS0gYS9zcmMvZG9zaW5zdC5jCisrKyBiL3NyYy9kb3NpbnN0LmMKQEAgLTYzLDcgKzYzLDcgQEAKIHsKICAgICAiXG5DaG9vc2UgdGhlIGRlZmF1bHQgd2F5IHRvIHJ1biBWaW06IiwKICAgICAiVmkgY29tcGF0aWJsZSIsCi0gICAgIndpdGggc29tZSBWaW0gZWhhbmNlbWVudHMiLAorICAgICJ3aXRoIHNvbWUgVmltIGVuaGFuY2VtZW50cyIsCiAgICAgIndpdGggc3ludGF4IGhpZ2hsaWdodGluZyBhbmQgb3RoZXIgZmVhdHVyZXMgc3dpdGNoZWQgb24iLAogfTsKIGludAljb21wYXRfY2hvaWNlID0gKGludCljb21wYXRfYWxsX2VuaGFuY2VtZW50czsKQEAgLTU1NCw3ICs1NTQsNyBAQAogCQkJfQogCQkJcnVuX2NvbW1hbmQodGVtcF9zdHJpbmdfYnVmZmVyKTsKIAotCQkJLyogQ2hlY2sgaWYgYW4gdW5pc3RhbGwgcmVnIGtleSB3YXMgZGVsZXRlZC4KKwkJCS8qIENoZWNrIGlmIGFuIHVuaW5zdGFsbCByZWcga2V5IHdhcyBkZWxldGVkLgogCQkJICogaWYgaXQgd2FzLCB3ZSB3YW50IHRvIGRlY3JlbWVudCBrZXlfaW5kZXguCiAJCQkgKiBpZiB3ZSBkb24ndCBkbyB0aGlzLCB3ZSB3aWxsIHNraXAgdGhlIGtleQogCQkJICogaW1tZWRpYXRlbHkgYWZ0ZXIgYW55IGtleSB0aGF0IHdlIGRlbGV0ZS4gICovCkBAIC0xMTMxLDcgKzExMzEsNiBAQAogLyoKICAqIEluc3RhbGwgdGhlIHZpbXJjIGZpbGUuCiAgKi8KLS8qQVJHU1VTRUQqLwogICAgIHN0YXRpYyB2b2lkCiBpbnN0YWxsX3ZpbXJjKGludCBpZHgpCiB7CmRpZmYgLS1naXQgYS9zcmMvZ2xvYmFscy5oIGIvc3JjL2dsb2JhbHMuaAppbmRleCBiZmU0OGNhLi5kMmI4OThjIDEwMDY0NAotLS0gYS9zcmMvZ2xvYmFscy5oCisrKyBiL3NyYy9nbG9iYWxzLmgKQEAgLTUwLDYgKzUwLDcgQEAKICAqIFNjcmVlbkxpbmVzVUNbXSBjb250YWlucyB0aGUgVW5pY29kZSBmb3IgdGhlIGNoYXJhY3RlciBhdCB0aGlzIHBvc2l0aW9uLCBvcgogICogTlVMIHdoZW4gdGhlIGNoYXJhY3RlciBpbiBTY3JlZW5MaW5lc1tdIGlzIHRvIGJlIHVzZWQgKEFTQ0lJIGNoYXIpLgogICogVGhlIGNvbXBvc2luZyBjaGFyYWN0ZXJzIGFyZSB0byBiZSBkcmF3biBvbiB0b3Agb2YgdGhlIG9yaWdpbmFsIGNoYXJhY3Rlci4KKyAqIFNjcmVlbkxpbmVzQ1swXVtvZmZdIGlzIG9ubHkgdG8gYmUgdXNlZCB3aGVuIFNjcmVlbkxpbmVzVUNbb2ZmXSAhPSAwLgogICogTm90ZTogVGhlc2UgdGhyZWUgYXJlIG9ubHkgYWxsb2NhdGVkIHdoZW4gZW5jX3V0ZjggaXMgc2V0IQogICovCiBFWFRFUk4gdThjaGFyX1QJKlNjcmVlbkxpbmVzVUMgSU5JVCg9IE5VTEwpOwkvKiBkZWNvZGVkIFVURi04IGNoYXJhY3RlcnMgKi8KZGlmZiAtLWdpdCBhL3NyYy9ndWlfZ3RrX3gxMS5jIGIvc3JjL2d1aV9ndGtfeDExLmMKaW5kZXggZjkwNWVhZi4uNzRiNmRlOSAxMDA2NDQKLS0tIGEvc3JjL2d1aV9ndGtfeDExLmMKKysrIGIvc3JjL2d1aV9ndGtfeDExLmMKQEAgLTQ0MjgsNyArNDQyOCw3IEBACiAgICAgLyogdGhpcyB3aWxsIGNhdXNlIHRoZSBwcm9wZXIgcmVzaXplbWVudCB0byBoYXBwZW4gdG9vICovCiAgICAgdXBkYXRlX3dpbmRvd19tYW5hZ2VyX2hpbnRzKDAsIDApOwogCi0jZWxzZSAgLyogSEFWRV9HVEsyICovCisjZWxzZQogICAgIC8qIHRoaXMgd2lsbCBjYXVzZSB0aGUgcHJvcGVyIHJlc2l6ZW1lbnQgdG8gaGFwcGVuIHRvbyAqLwogICAgIGlmIChndGtfc29ja2V0X2lkID09IDApCiAJdXBkYXRlX3dpbmRvd19tYW5hZ2VyX2hpbnRzKDAsIDApOwpAQCAtNDQ0NCwxNCArNDQ0NCwxNCBAQAogICAgIGVsc2UKIAl1cGRhdGVfd2luZG93X21hbmFnZXJfaGludHMod2lkdGgsIGhlaWdodCk7CiAKLSNpZiAwCisjIGlmIDAKICAgICBpZiAoIXJlc2l6ZV9pZGxlX2luc3RhbGxlZCkKICAgICB7CiAJZ19pZGxlX2FkZF9mdWxsKEdES19QUklPUklUWV9FVkVOVFMgKyAxMCwKIAkJCSZmb3JjZV9zaGVsbF9yZXNpemVfaWRsZSwgTlVMTCwgTlVMTCk7CiAJcmVzaXplX2lkbGVfaW5zdGFsbGVkID0gVFJVRTsKICAgICB9Ci0jZW5kaWYKKyMgZW5kaWYKICAgICAvKgogICAgICAqIFdhaXQgdW50aWwgYWxsIGV2ZW50cyBhcmUgcHJvY2Vzc2VkIHRvIHByZXZlbnQgYSBjcmFzaCBiZWNhdXNlIHRoZQogICAgICAqIHJlYWwgc2l6ZSBvZiB0aGUgZHJhd2luZyBhcmVhIGRvZXNuJ3QgcmVmbGVjdCBWaW0ncyBpbnRlcm5hbCBpZGVhcy4KZGlmZiAtLWdpdCBhL3NyYy9pZl9zbmlmZi5jIGIvc3JjL2lmX3NuaWZmLmMKaW5kZXggY2YzOGU1My4uZDgyZjRlNSAxMDA2NDQKLS0tIGEvc3JjL2lmX3NuaWZmLmMKKysrIGIvc3JjL2lmX3NuaWZmLmMKQEAgLTk2OSwyMCArOTY5LDIwIEBACiAjaWZkZWYgSEFWRV9TRUxFQ1QKIAkgICAgaWYgKHNlbGVjdChmZCArIDEsICZyZmRzLCBOVUxMLCBOVUxMLCAmdHZhbCkgPiAwKQogI2Vsc2UKLQkJaWYgKHBvbGwoJmZkcywgMSwgMCkgPiAwKQorCSAgICBpZiAocG9sbCgmZmRzLCAxLCAwKSA+IDApCiAjZW5kaWYKLQkJewotCQkgICAgcG9zID0gMDsKLQkJICAgIGJ5dGVzID0gcmVhZChmZCwgaW5idWYsIHNpemVvZihpbmJ1ZikpOwotCQkgICAgaWYgKGJ5dGVzIDw9IDApCi0JCQlyZXR1cm4gYnl0ZXM7Ci0JCX0KLQkJZWxzZQotCQl7Ci0JCSAgICBwb3MgPSBwb3MtbGVuOwotCQkgICAgYnVmWzBdID0gJ1wwJzsKLQkJICAgIHJldHVybiAwOwotCQl9CisJICAgIHsKKwkJcG9zID0gMDsKKwkJYnl0ZXMgPSByZWFkKGZkLCBpbmJ1Ziwgc2l6ZW9mKGluYnVmKSk7CisJCWlmIChieXRlcyA8PSAwKQorCQkgICAgcmV0dXJuIGJ5dGVzOworCSAgICB9CisJICAgIGVsc2UKKwkgICAgeworCQlwb3MgPSBwb3MtbGVuOworCQlidWZbMF0gPSAnXDAnOworCQlyZXR1cm4gMDsKKwkgICAgfQogCX0KIAlpZiAoKGJ1ZltsZW5dID0gaW5idWZbcG9zKytdKSA9PSdcbicpCiAJICAgIGJyZWFrOwpkaWZmIC0tZ2l0IGEvc3JjL2lmX3NuaWZmLmggYi9zcmMvaWZfc25pZmYuaAppbmRleCA5MDFiMDZhLi4xNmNjZTQxIDEwMDY0NAotLS0gYS9zcmMvaWZfc25pZmYuaAorKysgYi9zcmMvaWZfc25pZmYuaApAQCAtMSw3ICsxLDUgQEAKIC8qCiAgKiBpZl9zbmlmZi5oIEludGVyZmFjZSBiZXR3ZWVuIFZpbSBhbmQgU05pRkYrCi0gKgotICogJElkJAogICovCiAKICNpZm5kZWYgX19pZl9zbmlmZl9oX18KZGlmZiAtLWdpdCBhL3NyYy9pbnRlZ3JhdGlvbi5oIGIvc3JjL2ludGVncmF0aW9uLmgKaW5kZXggZDZjNjg3ZC4uZTk4NGY1NiAxMDA2NDQKLS0tIGEvc3JjL2ludGVncmF0aW9uLmgKKysrIGIvc3JjL2ludGVncmF0aW9uLmgKQEAgLTI4MywyMyArMjgzLDI2IEBACiB2b2lkIHdvcmtzaG9wX2ZpbGVfc2F2ZWQoY2hhciAqZmlsZW5hbWUpOwogCiAKKyNpZiAwCiAvKiBBIGZpbGUgaGFzIGJlZW4gY2xvc2VkICovCiB2b2lkIHdvcmtzaG9wX2ZpbGVfY2xvc2VkKGNoYXIgKmZpbGVuYW1lKTsKKyNlbmRpZgogCiAvKiBMaWtlIHdvcmtzaG9wX2ZpbGVfY2xvc2VkLCBidXQgYWxzbyBpbmZvcm0gZXNlcnZlIHdoYXQgbGluZSB0aGUKICAgIGN1cnNvciB3YXMgb24gd2hlbiB5b3UgbGVmdCB0aGUgZmlsZS4gVGhhdCB3YXkgZXNlcnZlIGNhbiBwdXQgeW91CiAgICBiYWNrIHdoZXJlIHlvdSBsZWZ0IG9mZiB3aGVuIHlvdSByZXR1cm4gdG8gdGhpcyBmaWxlLiAqLwogdm9pZCB3b3Jrc2hvcF9maWxlX2Nsb3NlZF9saW5lbm8oY2hhciAqZmlsZW5hbWUsIGludCBsaW5lKTsKIAorI2lmIDAKIC8qIEEgZmlsZSBoYXMgYmVlbiBtb2RpZmllZCAqLwogdm9pZCB3b3Jrc2hvcF9maWxlX21vZGlmaWVkKGNoYXIgKmZpbGVuYW1lKTsKIAotCiAvKgogICogQSBtYXJrIGhhcyBiZWVuIG1vdmVkLiBPbmx5IGNhbGwgdGhpcyBhcyBhIHJlc3BvbnNlIHRvCiAgKiBhIHdvcmtzaG9wX21vdmVkX21hcmtzIHJlcXVlc3QgY2FsbC4KICAqLwogdm9pZCB3b3Jrc2hvcF9tb3ZlX21hcmsoY2hhciAqZmlsZW5hbWUsIGludCBtYXJrSWQsIGludCBuZXdMaW5lbm8pOworI2VuZGlmCiAKIC8qIFRlbGwgdGhlIGludGVncmF0aW9uIGxpYnJhcnkgYWJvdXQgYSBuZXcgZnJhbWUgYmVpbmcgYWRkZWQuCiAgKiBTdXBwbHkgYSBmb3JtIGZvciB0aGUgdG9vbGJhciwgYSBsYWJlbCBmb3IgdGhlIGZvb3RlciwgYW5kIGFuCkBAIC0zNzcsNyArMzgwLDkgQEAKICAqLwogdm9pZCB3b3Jrc2hvcF9mcmFtZV9tb3ZlZChpbnQgbmV3X3gsIGludCBuZXdfeSwgaW50IG5ld193LCBpbnQgbmV3X2gpOwogQm9vbGVhbiB3b3Jrc2hvcF9nZXRfd2lkdGhfaGVpZ2h0KGludCAqLCBpbnQgKik7CisjaWYgMAogQm9vbGVhbiB3b3Jrc2hvcF9nZXRfcm93c19jb2xzKGludCAqLCBpbnQgKik7CisjZW5kaWYKIAogLyogVGhpcyBmdW5jdGlvbiBzaG91bGQgYmUgaW52b2tlZCB3aGVuIHlvdSBwcmVzcyBhIGhvdGtleQogICogc2V0IHVwIGJ5IHdvcmtzaG9wX3JlZ2lzdGVyX2hvdGtleS4gUGFzcyB0aGUgY2xpZW50RGF0YQpAQCAtMzk2LDIwICs0MDEsMjMgQEAKICAqCiAgKi8KIAorI2lmIDAKIC8qIFdlcmUgd2UgaW52b2tlZCBieSBXb3JrU2hvcD8gVGhpcyBmdW5jdGlvbiBjYW4gYmUgdXNlZCBlYXJseSBkdXJpbmcgc3RhcnR1cAogICogaWYgeW91IHdhbnQgdG8gZG8gdGhpbmdzIGRpZmZlcmVudGx5IGlmIHRoZSBlZGl0b3IgaXMgc3RhcnRlZCBzdGFuZGFsb25lCiAgKiBvciBpbiBXb3JrU2hvcCBtb2RlLiBGb3IgZXhhbXBsZSwgaW4gc3RhbmRhbG9uZSBtb2RlIHlvdSBtYXkgbm90IHdhbnQgdG8KICAqIGFkZCBhIGZvb3Rlci9tZXNzYWdlIGFyZWEgb3IgYSBzaWduIGd1dHRlci4KICAqLwogaW50IHdvcmtzaG9wX2ludm9rZWQodm9pZCk7CisjZW5kaWYKIAorI2lmIDAKIC8qCiAgKlNldCB0aGUgZGVza3RvcCBpY29uIG9mIHRoZSBjdXJyZW50IHNoZWxsIHRvIHRoZSBnaXZlbiB4cG0gaWNvbi4KICAqIFN0YW5kYXJkIFdvcmtTaG9wIGRlc2t0b3AgaWNvbnMgc2hvdWxkIGJlIDQ4eDQ4LgogICovCi0KIHZvaWQgd29ya3Nob3Bfc2V0X2ljb24oRGlzcGxheSAqZGlzcGxheSwgV2lkZ2V0IHNoZWxsLCBjaGFyICoqeHBtZGF0YSwKIAkJICAgICAgIGludCB3aWR0aCwgaW50IGhlaWdodCk7CisjZW5kaWYKIAogCiAvKiBNaW5pbWl6ZSAoaWNvbmlmeSkgdGhlIGdpdmVuIHNoZWxsICovCmRpZmYgLS1naXQgYS9zcmMvbWFpbi5hYXAgYi9zcmMvbWFpbi5hYXAKaW5kZXggMjFiNjE3NC4uYjM2ZmMzNiAxMDA2NDQKLS0tIGEvc3JjL21haW4uYWFwCisrKyBiL3NyYy9tYWluLmFhcApAQCAtMjY3LDcgKzI2Nyw4IEBACiAjIG1lc3NhZ2VzLiAgRG9uJ3Qgd29ycnkgYWJvdXQgdGhhdC4KICMgSWYgdGhlcmUgaXMgYSByZWFsIGVycm9yLCB0aGVyZSB3aWxsIGJlIGEgZGlmZmVyZW5jZSBiZXR3ZWVuICJ0ZXN0Lm91dCIgYW5kCiAjIGEgInRlc3Q5OS5vayIgZmlsZS4KLSMgSWYgZXZlcnl0aGluZyBpcyBhbHJpZ2h0LCB0aGUgZmluYWwgbWVzc2FnZSB3aWxsIGJlICJBTEwgRE9ORSIuCisjIElmIGV2ZXJ5dGhpbmcgaXMgYWxyaWdodCwgdGhlIGZpbmFsIG1lc3NhZ2Ugd2lsbCBiZSAiQUxMIERPTkUiLiAgSWYgbm90IHlvdQorIyBnZXQgIlRFU1QgRkFJTFVSRSIuCiAjCiB0ZXN0IGNoZWNrOgogICAgIFZpbVByb2cgPSAuLi8kVGFyZ2V0CmRpZmYgLS1naXQgYS9zcmMvbWJ5dGUuYyBiL3NyYy9tYnl0ZS5jCmluZGV4IDdhM2EyN2UuLmNmNzBmODYgMTAwNjQ0Ci0tLSBhL3NyYy9tYnl0ZS5jCisrKyBiL3NyYy9tYnl0ZS5jCkBAIC0xODU1LDYgKzE4NTUsNyBAQAogICogQ29udmVydCB0aGUgY2hhcmFjdGVyIGF0IHNjcmVlbiBwb3NpdGlvbiAib2ZmIiB0byBhIHNlcXVlbmNlIG9mIGJ5dGVzLgogICogSW5jbHVkZXMgdGhlIGNvbXBvc2luZyBjaGFyYWN0ZXJzLgogICogImJ1ZiIgbXVzdCBhdCBsZWFzdCBoYXZlIHRoZSBsZW5ndGggTUJfTUFYQllURVMuCisgKiBPbmx5IHRvIGJlIHVzZWQgd2hlbiBTY3JlZW5MaW5lc1VDW29mZl0gIT0gMC4KICAqIFJldHVybnMgdGhlIHByb2R1Y2VkIG51bWJlciBvZiBieXRlcy4KICAqLwogICAgIGludApkaWZmIC0tZ2l0IGEvc3JjL21vdmUuYyBiL3NyYy9tb3ZlLmMKaW5kZXggYjQ4MThmZi4uZGUxYTllNCAxMDA2NDQKLS0tIGEvc3JjL21vdmUuYworKysgYi9zcmMvbW92ZS5jCkBAIC02OTYsNyArNjk2LDcgQEAKIAogLyoKICAqIENvbXB1dGUgd3AtPndfY2xpbmVfcm93IGFuZCB3cC0+d19jbGluZV9oZWlnaHQsIGJhc2VkIG9uIHRoZSBjdXJyZW50IHZhbHVlCi0gKiBvZiB3cC0+d190b3BpbmUuCisgKiBvZiB3cC0+d190b3BsaW5lLgogICoKICAqIFJldHVybnMgT0sgd2hlbiBjdXJzb3IgaXMgaW4gdGhlIHdpbmRvdywgRkFJTCB3aGVuIGl0IGlzbid0LgogICovCmRpZmYgLS1naXQgYS9zcmMvcG8vZ2EucG8gYi9zcmMvcG8vZ2EucG8KaW5kZXggYTg4NjhhZi4uZWEzNTc3MCAxMDA2NDQKLS0tIGEvc3JjL3BvL2dhLnBvCisrKyBiL3NyYy9wby9nYS5wbwpAQCAtMSwxMyArMSwxMyBAQAogIyBJcmlzaCB0cmFuc2xhdGlvbnMgZm9yIHZpbS4KICMgVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBzYW1lIGxpY2Vuc2UgYXMgdGhlIHZpbSBwYWNrYWdlLgotIyBLZXZpbiBQYXRyaWNrIFNjYW5uZWxsIDxzY2FubmVsbEBTTFUuRURVPiwgMjAwNSwgMjAwNiwgMjAwOC4KKyMgS2V2aW4gUGF0cmljayBTY2FubmVsbCA8a3NjYW5uZUBnbWFpbC5jb20+LCAyMDA1LCAyMDA2LCAyMDA4LCAyMDEwLgogIwogbXNnaWQgIiIKIG1zZ3N0ciAiIgogIlByb2plY3QtSWQtVmVyc2lvbjogdmltIDcuMFxuIgogIlJlcG9ydC1Nc2dpZC1CdWdzLVRvOiBcbiIKLSJQT1QtQ3JlYXRpb24tRGF0ZTogMjAwOC0wNS0yNCAxMjozMS0wNTAwXG4iCi0iUE8tUmV2aXNpb24tRGF0ZTogMjAwOC0wNS0yNCAxMjo0OS0wNTAwXG4iCisiUE9ULUNyZWF0aW9uLURhdGU6IDIwMTAtMDQtMTQgMDk6NDQtMDUwMFxuIgorIlBPLVJldmlzaW9uLURhdGU6IDIwMTAtMDQtMTQgMTA6MDEtMDUwMFxuIgogIkxhc3QtVHJhbnNsYXRvcjogS2V2aW4gUGF0cmljayBTY2FubmVsbCA8a3NjYW5uZUBnbWFpbC5jb20+XG4iCiAiTGFuZ3VhZ2UtVGVhbTogSXJpc2ggPGdhZWlsZ2UtZ251bGludXhAbGlzdHMuc291cmNlZm9yZ2UubmV0PlxuIgogIk1JTUUtVmVyc2lvbjogMS4wXG4iCkBAIC0zMCwyMSArMzAsMjEgQEAKIG1zZ3N0ciAiRTUxNzogTu0gcmFpYmggYW9uIG1oYW9s4W4gYuFuYWl0aGUiCiAKIG1zZ2lkICIxIGJ1ZmZlciB1bmxvYWRlZCIKLW1zZ3N0ciAiQmjtIDEgbWFvbOFuIGTtbHVjaHRhaXRoZSIKK21zZ3N0ciAiQmjtIG1hb2zhbiBhbWjhaW4gZO1sdWNodGFpdGhlIgogCiAjLCBjLWZvcm1hdAogbXNnaWQgIiVkIGJ1ZmZlcnMgdW5sb2FkZWQiCiBtc2dzdHIgIiVkIG1hb2zhbiBmb2xtaGFpdGhlIgogCiBtc2dpZCAiMSBidWZmZXIgZGVsZXRlZCIKLW1zZ3N0ciAiQmjtIDEgbWFvbOFuIHNjcmlvc3RhIgorbXNnc3RyICJCaO0gbWFvbOFuIGFtaOFpbiBzY3Jpb3N0YSIKIAogIywgYy1mb3JtYXQKIG1zZ2lkICIlZCBidWZmZXJzIGRlbGV0ZWQiCiBtc2dzdHIgIiVkIG1hb2zhbiBzY3Jpb3N0YSIKIAogbXNnaWQgIjEgYnVmZmVyIHdpcGVkIG91dCIKLW1zZ3N0ciAiQmjtIDEgbWFvbOFuIGLhbmFpdGhlIgorbXNnc3RyICJCaO0gbWFvbOFuIGFtaOFpbiBi4W5haXRoZSIKIAogIywgYy1mb3JtYXQKIG1zZ2lkICIlZCBidWZmZXJzIHdpcGVkIG91dCIKQEAgLTE2MSw2ICsxNjEsOSBAQAogbXNnaWQgIltRdWlja2ZpeCBMaXN0XSIKIG1zZ3N0ciAiW0xpb3N0YSBDZWFydPpjaOFuIFRhcGFdIgogCittc2dpZCAiW1NjcmF0Y2hdIgorbXNnc3RyICJbU2VhbGFkYWNoXSIKKwogbXNnaWQgIiIKICJcbiIKICItLS0gU2lnbnMgLS0tIgpAQCAtMTgwLDE0ICsxODMsMjAgQEAKIG1zZ2lkICJFOTY6IENhbiBub3QgZGlmZiBtb3JlIHRoYW4gJWxkIGJ1ZmZlcnMiCiBtc2dzdHIgIkU5NjogTu0gZulpZGlyIGRpZmYgYSBkaOlhbmFtaCBhciBu7W9zIG3zIG7hICVsZCBtYW9s4W4iCiAKK21zZ2lkICJFODEwOiBDYW5ub3QgcmVhZCBvciB3cml0ZSB0ZW1wIGZpbGVzIgorbXNnc3RyICJFODEwOiBO7SBm6WlkaXIgY29taGFpZCBzaGVhbGFkYWNoYSBhIGzpYW1oIG7zIGEgc2Ny7W9iaCIKKwogbXNnaWQgIkU5NzogQ2Fubm90IGNyZWF0ZSBkaWZmcyIKIG1zZ3N0ciAiRTk3OiBO7SBm6WlkaXIgZGlmZmVhbm5hIGEgY2hydXRo+iIKIAogbXNnaWQgIlBhdGNoIGZpbGUiCiBtc2dzdHIgIkNvbWhhZCBwYWlzdGUiCiAKK21zZ2lkICJFODE2OiBDYW5ub3QgcmVhZCBwYXRjaCBvdXRwdXQiCittc2dzdHIgIkU4MTY6IE7tIGbpaWRpciBhc2NodXIg8yAncGF0Y2gnIGEgbOlhbWgiCisKIG1zZ2lkICJFOTg6IENhbm5vdCByZWFkIGRpZmYgb3V0cHV0IgotbXNnc3RyICJFOTg6IE7tIGbpaWRpciBhbiB0LWFzY2h1ciBkaWZmIGEgbOlhbWgiCittc2dzdHIgIkU5ODogTu0gZulpZGlyIGFzY2h1ciDzICdkaWZmJyBhIGzpYW1oIgogCiBtc2dpZCAiRTk5OiBDdXJyZW50IGJ1ZmZlciBpcyBub3QgaW4gZGlmZiBtb2RlIgogbXNnc3RyICJFOTk6IE7tbCBhbiBtYW9s4W4gcmVhdGhhIHNhIG1o82QgZGlmZiIKQEAgLTI5Miw3ICszMDEsNiBAQAogbXNnaWQgIlNjYW5uaW5nOiAlcyIKIG1zZ3N0ciAiJXMg4SBzY2FuYWRoIgogCi0jLCBjLWZvcm1hdAogbXNnaWQgIlNjYW5uaW5nIHRhZ3MuIgogbXNnc3RyICJDbGliZWFubmEg4SBzY2FuYWRoLiIKIApAQCAtNDIwLDcgKzQyOCw3IEBACiAKICMsIGMtZm9ybWF0CiBtc2dpZCAiRTEwNzogTWlzc2luZyBwYXJlbnRoZXNlczogJXMiCi1tc2dzdHIgIkUxMDc6IEz6aWLtbu0gc2xhYmhyYWNoYSBhciBpYXJyYWlkaDogJXMiCittc2dzdHIgIkUxMDc6IEz6aWLtbu0gYXIgaWFycmFpZGg6ICVzIgogCiAjLCBjLWZvcm1hdAogbXNnaWQgIkUxMDg6IE5vIHN1Y2ggdmFyaWFibGU6IFwiJXNcIiIKQEAgLTQ1MCw2ICs0NTgsOSBAQAogbXNnaWQgIkU2OTQ6IEludmFsaWQgb3BlcmF0aW9uIGZvciBGdW5jcmVmcyIKIG1zZ3N0ciAiRTY5NDogT2licu1vY2h0IG5lYW1oYmhhaWztIGFyIEZ1bmNyZWYiCiAKK21zZ2lkICJFODA0OiBDYW5ub3QgdXNlICclJyB3aXRoIEZsb2F0IgorbXNnc3RyICJFODA0OiBO7SBm6WlkaXIgJyUnIGEg+nPhaWQgbGUgU27hbWhwaG9pbnRlIgorCiBtc2dpZCAiRTExMDogTWlzc2luZyAnKSciCiBtc2dzdHIgIkUxMTA6ICcpJyBhciBpYXJyYWlkaCIKIApAQCAtNTAwLDYgKzUxMSwxNCBAQAogbXNnc3RyICJFNzI0OiBhdGhy82cgbmVhZGFpdGhlIHLzZGhvbWhhaW4gY2h1biDtIGEgdGhhaXNwZeFpbnQiCiAKICMsIGMtZm9ybWF0Cittc2dpZCAiRTc0MDogVG9vIG1hbnkgYXJndW1lbnRzIGZvciBmdW5jdGlvbiAlcyIKK21zZ3N0ciAiRTc0MDogQW4gaW9tYXJjYSBhcmfzaW507SBkJ2ZoZWlkaG0gJXMiCisKKyMsIGMtZm9ybWF0Cittc2dpZCAiRTExNjogSW52YWxpZCBhcmd1bWVudHMgZm9yIGZ1bmN0aW9uICVzIgorbXNnc3RyICJFMTE2OiBBcmfzaW507SBuZWFtaGJoYWls7SBkJ2ZoZWlkaG0gJXMiCisKKyMsIGMtZm9ybWF0CiBtc2dpZCAiRTExNzogVW5rbm93biBmdW5jdGlvbjogJXMiCiBtc2dzdHIgIkUxMTc6IEZlaWRobSBhbmFpdGhuaWQ6ICVzIgogCkBAIC01MTUsNiArNTM0LDkgQEAKIG1zZ2lkICJFNzI1OiBDYWxsaW5nIGRpY3QgZnVuY3Rpb24gd2l0aG91dCBEaWN0aW9uYXJ5OiAlcyIKIG1zZ3N0ciAiRTcyNTogRmVpZGhtICdkaWN0JyDhIGdobGFvIGdhbiBGb2Ns82lyOiAlcyIKIAorbXNnaWQgIkU4MDg6IE51bWJlciBvciBGbG9hdCByZXF1aXJlZCIKK21zZ3N0ciAiRTgwODogVWltaGlyIG7zIFNu4W1ocGhvaW50ZSBkZSBkaO10aCIKKwogbXNnaWQgIkU2OTk6IFRvbyBtYW55IGFyZ3VtZW50cyIKIG1zZ3N0ciAiRTY5OTogQW4gaW9tYXJjYSBhcmfzaW507SIKIApAQCAtNTkxLDE0ICs2MTMsMTcgQEAKIG1zZ2lkICJFNjc3OiBFcnJvciB3cml0aW5nIHRlbXAgZmlsZSIKIG1zZ3N0ciAiRTY3NzogRWFycuFpZCBhZ3VzIGNvbWhhZCBzZWFsYWRhY2gg4SBzY3Ltb2JoIgogCittc2dpZCAiRTgwNTogVXNpbmcgYSBGbG9hdCBhcyBhIE51bWJlciIKK21zZ3N0ciAiRTgwNTogU27hbWhwaG9pbnRlIOEg+nPhaWQgbWFyIFVpbWhpciIKKwogbXNnaWQgIkU3MDM6IFVzaW5nIGEgRnVuY3JlZiBhcyBhIE51bWJlciIKLW1zZ3N0ciAiRTcwMzogRnVuY3JlZiDhIPpz4WlkIG1hciB1aW1oaXIiCittc2dzdHIgIkU3MDM6IEZ1bmNyZWYg4SD6c+FpZCBtYXIgVWltaGlyIgogCiBtc2dpZCAiRTc0NTogVXNpbmcgYSBMaXN0IGFzIGEgTnVtYmVyIgotbXNnc3RyICJFNzQ1OiBMaW9zdGEg4SD6c+FpZCBtYXIgdWltaGlyIgorbXNnc3RyICJFNzQ1OiBMaW9zdGEg4SD6c+FpZCBtYXIgVWltaGlyIgogCiBtc2dpZCAiRTcyODogVXNpbmcgYSBEaWN0aW9uYXJ5IGFzIGEgTnVtYmVyIgotbXNnc3RyICJFNzI4OiBGb2Ns82lyIOEg+nPhaWQgbWFyIHVpbWhpciIKK21zZ3N0ciAiRTcyODogRm9jbPNpciDhIPpz4WlkIG1hciBVaW1oaXIiCiAKIG1zZ2lkICJFNzI5OiB1c2luZyBGdW5jcmVmIGFzIGEgU3RyaW5nIgogbXNnc3RyICJFNzI5OiBGdW5jcmVmIOEg+nPhaWQgbWFyIFRoZWFnaHLhbiIKQEAgLTYwOSw2ICs2MzQsOSBAQAogbXNnaWQgIkU3MzE6IHVzaW5nIERpY3Rpb25hcnkgYXMgYSBTdHJpbmciCiBtc2dzdHIgIkU3MzE6IEZvY2zzaXIg4SD6c+FpZCBtYXIgVGhlYWdocuFuIgogCittc2dpZCAiRTgwNjogdXNpbmcgRmxvYXQgYXMgYSBTdHJpbmciCittc2dzdHIgIkU4MDY6IFNu4W1ocGhvaW50ZSDhIPpz4WlkIG1hciBUaGVhZ2hy4W4iCisKICMsIGMtZm9ybWF0CiBtc2dpZCAiRTcwNDogRnVuY3JlZiB2YXJpYWJsZSBuYW1lIG11c3Qgc3RhcnQgd2l0aCBhIGNhcGl0YWw6ICVzIgogbXNnc3RyICJFNzA0OiBDYWl0aGZpZGggY2Vhbm5saXRpciBhIGJoZWl0aCBhciBkdPpzIGFpbm0gRnVuY3JlZjogJXMiCkBAIC02NDAsNiArNjY4LDEwIEBACiBtc2dzdHIgIkU2OTg6IGF0aHLzZyBuZWFkYWl0aGUgcvNkaG9taGFpbiBjaHVuIO0gYSBjaPNpcGXhaWwiCiAKICMsIGMtZm9ybWF0Cittc2dpZCAiRTEyMzogVW5kZWZpbmVkIGZ1bmN0aW9uOiAlcyIKK21zZ3N0ciAiRTEyMzogRmVpZGhtIGdhbiBzYWlubWjtbmn6OiAlcyIKKworIywgYy1mb3JtYXQKIG1zZ2lkICJFMTI0OiBNaXNzaW5nICcoJzogJXMiCiBtc2dzdHIgIkUxMjQ6ICcoJyBhciBpYXJyYWlkaDogJXMiCiAKQEAgLTY1MSw2ICs2ODMsMTQgQEAKIG1zZ3N0ciAiRTEyNjogOmVuZGZ1bmN0aW9uIGFyIGlhcnJhaWRoIgogCiAjLCBjLWZvcm1hdAorbXNnaWQgIkU3MDc6IEZ1bmN0aW9uIG5hbWUgY29uZmxpY3RzIHdpdGggdmFyaWFibGU6ICVzIgorbXNnc3RyICJFNzA3OiBUYWdhbm4gYWlubSBuYSBmZWlkaG1lIHNhbGFjaCBhciBhdGhy82c6ICVzIgorCisjLCBjLWZvcm1hdAorbXNnaWQgIkUxMjc6IENhbm5vdCByZWRlZmluZSBmdW5jdGlvbiAlczogSXQgaXMgaW4gdXNlIgorbXNnc3RyICJFMTI3OiBO7SBm6WlkaXIgc2Fpbm1o7W5p+iBudWEgYSBkaOlhbmFtaCBhciBmaGVpZGhtICVzOiBJbiD6c+FpZCBjaGVhbmEiCisKKyMsIGMtZm9ybWF0CiBtc2dpZCAiRTc0NjogRnVuY3Rpb24gbmFtZSBkb2VzIG5vdCBtYXRjaCBzY3JpcHQgZmlsZSBuYW1lOiAlcyIKIG1zZ3N0ciAiIgogIkU3NDY6IE7tbCBhaW5tIG5hIGZlaWRobWUgY29taG9pcmn6bmFjaCBsZSBoYWlubSBjb21oYWlkIG5hIHNjcmlwdGU6ICVzIgpAQCAtNzA5LDYgKzc0OSw5IEBACiAiXG4iCiAiXHRTb2NyYWl0aGUgaXMgZOlhbmHtIPMgIgogCittc2dpZCAiTm8gb2xkIGZpbGVzIgorbXNnc3RyICJHYW4gc2VhbmNob21oYWlkIgorCiAjLCBjLWZvcm1hdAogbXNnaWQgIjwlcz4lcyVzICAlZCwgIEhleCAlMDJ4LCAgT2N0YWwgJTAzbyIKIG1zZ3N0ciAiPCVzPiVzJXMgICVkLCAgSGVpY3MgJTAyeCwgIE9jaHQgJTAzbyIKQEAgLTcyNSw3ICs3NjgsNyBAQAogbXNnc3RyICJFMTM0OiBCb2cgbO1udGUgaXN0ZWFjaCBpb250dSBm6WluIgogCiBtc2dpZCAiMSBsaW5lIG1vdmVkIgotbXNnc3RyICJCb2dhZGggMSBs7W5lIgorbXNnc3RyICJCb2dhZGggbO1uZSBhbWjhaW4iCiAKICMsIGMtZm9ybWF0CiBtc2dpZCAiJWxkIGxpbmVzIG1vdmVkIgpAQCAtNzYwLDYgKzgwMyw5IEBACiBtc2dpZCAiIG1hcmtzIgogbXNnc3RyICIgbWFyY2FubmEiCiAKK21zZ2lkICIgb2xkZmlsZXMiCittc2dzdHIgIiBzZWFuY2hvbWhhZCIKKwogbXNnaWQgIiBGQUlMRUQiCiBtc2dzdHIgIiBURUlQVEhFIgogCkBAIC04ODUsNyArOTMxLDcgQEAKIG1zZ3N0ciAiJWxkIGlvbmFkYe1vY2h0IgogCiBtc2dpZCAiIG9uIDEgbGluZSIKLW1zZ3N0ciAiIGFyIDEgbO1uZSIKK21zZ3N0ciAiIGFyIGztbmUgYW1o4WluIgogCiAjLCBjLWZvcm1hdAogbXNnaWQgIiBvbiAlbGQgbGluZXMiCkBAIC0xMDExLDggKzEwNTcsOCBAQAogbXNnaWQgIiUzZCAgJXMgJXMgIGxpbmUgJWxkIgogbXNnc3RyICIlM2QgICVzICVzICBs7W5lICVsZCIKIAotbXNnaWQgIkU3NTA6IEZpcnN0IHVzZSA6cHJvZmlsZSBzdGFydCA8Zm5hbWU+IgotbXNnc3RyICJFNzUwOiDac+FpZCA6cHJvZmlsZSBzdGFydCA8YWlubT4gYXIgZHT6cyIKK21zZ2lkICJFNzUwOiBGaXJzdCB1c2UgXCI6cHJvZmlsZSBzdGFydCB7Zm5hbWV9XCIiCittc2dzdHIgIkU3NTA6INpz4WlkIFwiOnByb2ZpbGUgc3RhcnQge2Fpbm19XCIgYXIgZHT6cyIKIAogIywgYy1mb3JtYXQKIG1zZ2lkICJTYXZlIGNoYW5nZXMgdG8gXCIlc1wiPyIKQEAgLTExNjIsNyArMTIwOCw3IEBACiBtc2dzdHIgIiVkIGNvbWhhZCBsZSBjdXIgaW4gZWFnYXIgZvNzLiAgU2NvaXIgbWFyIHNpbiBm6WluPyIKIAogbXNnaWQgIkUxNzM6IDEgbW9yZSBmaWxlIHRvIGVkaXQiCi1tc2dzdHIgIkUxNzM6IDEgY29taGFkIGxlIGhlYWdy+iIKK21zZ3N0ciAiRTE3MzogMSBjaG9taGFkIGxlIGhlYWdy+iBm83MiCiAKICMsIGMtZm9ybWF0CiBtc2dpZCAiRTE3MzogJWxkIG1vcmUgZmlsZXMgdG8gZWRpdCIKQEAgLTEzMDQsNiArMTM1MCw5IEBACiBtc2dpZCAiRTE5MjogUmVjdXJzaXZlIHVzZSBvZiA6bm9ybWFsIHRvbyBkZWVwIgogbXNnc3RyICJFMTkyOiBhdGhjaPpyc+FpbCA6bm9ybWFsIHLzZGhvbWhhaW4iCiAKK21zZ2lkICJFODA5OiAjPCBpcyBub3QgYXZhaWxhYmxlIHdpdGhvdXQgdGhlICtldmFsIGZlYXR1cmUiCittc2dzdHIgIkU4MDk6IG7tbCAjPCBhciBm4WlsIGdhbiBnaG7pICtldmFsIgorCiBtc2dpZCAiRTE5NDogTm8gYWx0ZXJuYXRlIGZpbGUgbmFtZSB0byBzdWJzdGl0dXRlIGZvciAnIyciCiBtc2dzdHIgIkUxOTQ6IE7tbCBhb24gYWlubSBjb21oYWlkIGEgY2h1ciBpbiBpb25hZCAnIyciCiAKQEAgLTE0NDUsNiArMTQ5NCw5IEBACiBtc2dpZCAiRTc4ODogTm90IGFsbG93ZWQgdG8gZWRpdCBhbm90aGVyIGJ1ZmZlciBub3ciCiBtc2dzdHIgIkU3ODg6IE7tbCBjZWFkIGFnYXQgbWFvbOFuIGVpbGUgYSBjaHVyIGluIGVhZ2FyIGFub2lzIgogCittc2dpZCAiRTgxMTogTm90IGFsbG93ZWQgdG8gY2hhbmdlIGJ1ZmZlciBpbmZvcm1hdGlvbiBub3ciCittc2dzdHIgIkU4MTE6IE7tbCBjZWFkIGFnYXQgZmFpc27paXMgYW4gbWhhb2zhaW4gYSBhdGhy+iBhbm9pcyIKKwogbXNnaWQgInRhZ25hbWUiCiBtc2dzdHIgImNsaWJhaW5tIgogCkBAIC0xNDgyLDYgKzE1MzQsMTAgQEAKIG1zZ2lkICJFMTk5OiBBY3RpdmUgd2luZG93IG9yIGJ1ZmZlciBkZWxldGVkIgogbXNnc3RyICJFMTk5OiBTY3Jpb3NhZGggYW4gZmh1aW5uZW9nIHJlYXRoYSBu8yBhbiBtYW9s4W4gcmVhdGhhIgogCittc2dpZCAiRTgxMjogQXV0b2NvbW1hbmRzIGNoYW5nZWQgYnVmZmVyIG9yIGJ1ZmZlciBuYW1lIgorbXNnc3RyICIiCisiRTgxMjogQmjtIG1hb2zhbiBu8yBhaW5tIG1hb2zhaW4gYXRocmFpdGhlIGFnIG9yZHVpdGhlIHVhdGhvaWJy7W9jaGEiCisKIG1zZ2lkICJJbGxlZ2FsIGZpbGUgbmFtZSIKIG1zZ3N0ciAiQWlubSBjb21oYWlkIG5lYW1oY2hlYWRhaXRoZSIKIApAQCAtMTU0MSw5ICsxNTk3LDYgQEAKIG1zZ2lkICJbQ1IgbWlzc2luZ10iCiBtc2dzdHIgIltDUiBhciBpYXJyYWlkaF0iCiAKLW1zZ2lkICJbTkwgZm91bmRdIgotbXNnc3RyICJbTkwgYWltc2l0aGVdIgotCiBtc2dpZCAiW2xvbmcgbGluZXMgc3BsaXRdIgogbXNnc3RyICJbbO1udGUgZmFkYSBkZWlnaGlsdGVdIgogCkBAIC0xNjQ2LDEyICsxNjk5LDI0IEBACiAiRTUxMzogZWFycuFpZCBsZSBsaW5uIHNjcu1vYmgsIHRoZWlwIGFyIHRoaW9udPogKPpz4WlkICdmZW5jJyBmb2xhbWggY2h1biAiCiAic+Fy+ikiCiAKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIkU1MTM6IHdyaXRlIGVycm9yLCBjb252ZXJzaW9uIGZhaWxlZCBpbiBsaW5lICVsZCAobWFrZSAnZmVuYycgZW1wdHkgdG8gIgorIm92ZXJyaWRlKSIKK21zZ3N0ciAiIgorIkU1MTM6IGVhcnLhaWQgbGUgbGlubiBzY3Ltb2ZhLCB0aGVpcCBhciB0aGlvbnT6IGFyIGztbmUgJWxkICj6c+FpZCAnZmVuYycgZm9sYW1oIGxlICIKKyJz4XL6KSIKKwogbXNnaWQgIkU1MTQ6IHdyaXRlIGVycm9yIChmaWxlIHN5c3RlbSBmdWxsPykiCiBtc2dzdHIgIkU1MTQ6IGVhcnLhaWQgbGUgbGlubiBzY3Ltb2ZhIChhbiBiaGZ1aWwgYW4gY/NyYXMgY29taGFpZCBs4W4/KSIKIAogbXNnaWQgIiBDT05WRVJTSU9OIEVSUk9SIgogbXNnc3RyICIgRUFSUsFJRCBUSU9OVEFJVEhFIgogCisjLCBjLWZvcm1hdAorbXNnaWQgIiBpbiBsaW5lICVsZDsiCittc2dzdHIgIiBhciBs7W5lICVsZDsiCisKIG1zZ2lkICJbRGV2aWNlXSIKIG1zZ3N0ciAiW0ds6WFzXSIKIApAQCAtMjAzOSw5ICsyMTA0LDYgQEAKIG1zZ2lkICJGb250IFNlbGVjdGlvbiIKIG1zZ3N0ciAiUm9naG76IENs8yIKIAotbXNnaWQgIlVzZWQgQ1VUX0JVRkZFUjAgaW5zdGVhZCBvZiBlbXB0eSBzZWxlY3Rpb24iCi1tc2dzdHIgItpz4WlkZWFkaCBDVVRfQlVGRkVSMCBpbiBpb25hZCByb2dobvpjaOFpbiBmb2xhaW1oIgotCiBtc2dpZCAiJkZpbHRlciIKIG1zZ3N0ciAiJlNjYWdhaXJlIgogCkBAIC0yMzg1LDggKzI0NDcsMjkgQEAKIG1zZ3N0ciAiT3JkdWl0aGUgY3Njb3BlOlxuIgogCiAjLCBjLWZvcm1hdAotbXNnaWQgIiUtNXM6ICUtMzBzIChVc2FnZTogJXMpIgotbXNnc3RyICIlLTVzOiAlLTMwcyAo2nPhaWQ6ICVzKSIKK21zZ2lkICIlLTVzOiAlcyUqcyAoVXNhZ2U6ICVzKSIKK21zZ3N0ciAiJS01czogJXMlKnMgKNpz4WlkOiAlcykiCisKK21zZ2lkICIiCisiXG4iCisiICAgICAgIGM6IEZpbmQgZnVuY3Rpb25zIGNhbGxpbmcgdGhpcyBmdW5jdGlvblxuIgorIiAgICAgICBkOiBGaW5kIGZ1bmN0aW9ucyBjYWxsZWQgYnkgdGhpcyBmdW5jdGlvblxuIgorIiAgICAgICBlOiBGaW5kIHRoaXMgZWdyZXAgcGF0dGVyblxuIgorIiAgICAgICBmOiBGaW5kIHRoaXMgZmlsZVxuIgorIiAgICAgICBnOiBGaW5kIHRoaXMgZGVmaW5pdGlvblxuIgorIiAgICAgICBpOiBGaW5kIGZpbGVzICNpbmNsdWRpbmcgdGhpcyBmaWxlXG4iCisiICAgICAgIHM6IEZpbmQgdGhpcyBDIHN5bWJvbFxuIgorIiAgICAgICB0OiBGaW5kIGFzc2lnbm1lbnRzIHRvXG4iCittc2dzdHIgIiIKKyJcbiIKKyIgICAgICAgYzogQWltc2lnaCBmZWlkaG1lYW5uYSBhIGNodWlyZWFubiBnbGFvY2ggYXIgYW4gYmhmZWlkaG0gc2VvXG4iCisiICAgICAgIGQ6IEFpbXNpZ2ggZmVpZGhtZWFubmEgYSBnY3VpcmVhbm4gYW4gZmhlaWRobSBzZW8gZ2xhb2NoIG9ydGh1XG4iCisiICAgICAgIGU6IEFpbXNpZ2ggYW4gcGF0cvpuIGVncmVwIHNlb1xuIgorIiAgICAgICBmOiBBaW1zaWdoIGFuIGNvbWhhZCBzZW9cbiIKKyIgICAgICAgZzogQWltc2lnaCBhbiBzYWlubWjtbmn6IHNlb1xuIgorIiAgICAgICBpOiBBaW1zaWdoIGNvbWhhaWQgYSAjaW5jbHVkZS3haWwgYW4gY29taGFkIHNlb1xuIgorIiAgICAgICBzOiBBaW1zaWdoIGFuIHRzaW9tYmFpbCBDIHNlb1xuIgorIiAgICAgICB0OiBBaW1zaWdoIHNhbm50Ye0gZG9cbiIKIAogIywgYy1mb3JtYXQKIG1zZ2lkICJFNjI1OiBjYW5ub3Qgb3BlbiBjc2NvcGUgZGF0YWJhc2U6ICVzIgpAQCAtMjM5OCw5ICsyNDgxLDYgQEAKIG1zZ2lkICJFNTY4OiBkdXBsaWNhdGUgY3Njb3BlIGRhdGFiYXNlIG5vdCBhZGRlZCIKIG1zZ3N0ciAiRTU2ODogbu1vciBjdWlyZWFkaCBidW5hY2hhciBzb25yYe0gZPpibGFjaCBjc2NvcGUgbGVpcyIKIAotbXNnaWQgIkU1Njk6IG1heGltdW0gbnVtYmVyIG9mIGNzY29wZSBjb25uZWN0aW9ucyByZWFjaGVkIgotbXNnc3RyICJFNTY5OiBu7SBjaGVhZGHtdGVhciBu7W9zIG3zIG7hIGFuIGztb24gdWFzdGEgbmFzYyBjc2NvcGUiCi0KICMsIGMtZm9ybWF0CiBtc2dpZCAiRTI2MTogY3Njb3BlIGNvbm5lY3Rpb24gJXMgbm90IGZvdW5kIgogbXNnc3RyICJFMjYxOiBuYXNjIGNzY29wZSAlcyBnYW4gYWltc2n6IgpAQCAtMjQ0MSwxMCArMjUyMSwxMCBAQAogbXNnc3RyICIgIyBwaWQgICAgYWlubSBidW5hY2hhaXIgICAgICAgICAgICAgICAgICAgICAgIGNvbmFpciB0aG9zYWlnaFxuIgogCiBtc2dpZCAiIgotIj8/PzogU29ycnksIHRoaXMgY29tbWFuZCBpcyBkaXNhYmxlZCwgdGhlIE16U2NoZW1lIGxpYnJhcnkgY291bGQgbm90IGJlICIKKyJFODE1OiBTb3JyeSwgdGhpcyBjb21tYW5kIGlzIGRpc2FibGVkLCB0aGUgTXpTY2hlbWUgbGlicmFyaWVzIGNvdWxkIG5vdCBiZSAiCiAibG9hZGVkLiIKIG1zZ3N0ciAiIgotIj8/PzogVOEgYnLzbiBvcm0sIG7tbCBhbiB0LW9yZPogc2VvIGxlIGbhaWwsIG7tb3JiaCBmaOlpZGlyIGFuIGxlYWJoYXJsYW5uICIKKyJFODE1OiBU4SBicvNuIG9ybSwgYmjtIGFuIHQtb3Jk+iBzZW8gZO1jaHVtYXNhaXRoZSwgbu1vcmJoIGZo6WlkaXIgbGVhYmhhcmxhbm5hICIKICJNelNjaGVtZSBhIGx1Y2h0+i4iCiAKIG1zZ2lkICJpbnZhbGlkIGV4cHJlc3Npb24iCkBAIC0yNTMwLDggKzI2MTAsOCBAQAogbXNnc3RyICJs7W5lLXVpbWhpciBhcyByYW9uIgogCiAjLCBjLWZvcm1hdAotbXNnaWQgIjxidWZmZXIgb2JqZWN0IChkZWxldGVkKSBhdCAlOGxYPiIKLW1zZ3N0ciAiPG1hb2zhbiAoc2NyaW9zdGEpIGFnICU4bFg+IgorbXNnaWQgIjxidWZmZXIgb2JqZWN0IChkZWxldGVkKSBhdCAlcD4iCittc2dzdHIgIjxy6WFkIG1hb2zhaW4gKHNjcmlvc3RhKSBhZyAlcD4iCiAKIG1zZ2lkICJpbnZhbGlkIG1hcmsgbmFtZSIKIG1zZ3N0ciAiYWlubSBuZWFtaGJoYWls7SBtYWlyYyIKQEAgLTI1NDksMTIgKzI2MjksMTIgQEAKIG1zZ3N0ciAiY/pyc/NpciB0YW9iaCBhbXVpZ2ggZGVuIG1oYW9s4W4iCiAKICMsIGMtZm9ybWF0Ci1tc2dpZCAiPHdpbmRvdyBvYmplY3QgKGRlbGV0ZWQpIGF0ICUuOGxYPiIKLW1zZ3N0ciAiPGZ1aW5uZW9nIChzY3Jpb3N0YSkgYWcgJS44bFg+IgorbXNnaWQgIjx3aW5kb3cgb2JqZWN0IChkZWxldGVkKSBhdCAlcD4iCittc2dzdHIgIjxy6WFkIGZ1aW5uZW9pZ2UgKHNjcmlvc3RhKSBhZyAlcD4iCiAKICMsIGMtZm9ybWF0Ci1tc2dpZCAiPHdpbmRvdyBvYmplY3QgKHVua25vd24pIGF0ICUuOGxYPiIKLW1zZ3N0ciAiPGZ1aW5uZW9nIChhbmFpdGhuaWQpIGFnICUuOGxYPiIKK21zZ2lkICI8d2luZG93IG9iamVjdCAodW5rbm93bikgYXQgJXA+IgorbXNnc3RyICI8culhZCBmdWlubmVvaWdlIChhbmFpdGhuaWQpIGFnICVwPiIKIAogIywgYy1mb3JtYXQKIG1zZ2lkICI8d2luZG93ICVkPiIKQEAgLTI3OTIsNiArMjg3Miw5IEBACiBtc2dpZCAiVGhpcyBWaW0gd2FzIG5vdCBjb21waWxlZCB3aXRoIHRoZSBkaWZmIGZlYXR1cmUuIgogbXNnc3RyICJO7W9yIHRpb21zYe1vZGggYW4gbGVhZ2FuIFZpbSBzZW8gbGUgYGRpZmYnIGFyIGbhaWwuIgogCittc2dpZCAiJy1uYicgY2Fubm90IGJlIHVzZWQ6IG5vdCBlbmFibGVkIGF0IGNvbXBpbGUgdGltZVxuIgorbXNnc3RyICJO7SBm6WlkaXIgJy1uYicgYSD6c+FpZDogbu1vciBjdW1hc2Htb2RoIOkgYWcgYW0gdGlvbXNhaXRoZVxuIgorCiBtc2dpZCAiQXR0ZW1wdCB0byBvcGVuIHNjcmlwdCBmaWxlIGFnYWluOiBcIiIKIG1zZ3N0ciAiROlhbiBpYXJyYWNodCBhciBvc2NhaWx0IG5hIHNjcmlwdGUgYXLtczogXCIiCiAKQEAgLTMwNjIsNiArMzE0NSw5IEBACiBtc2dpZCAiLS1zZXJ2ZXJuYW1lIDxuYW1lPlx0U2VuZCB0by9iZWNvbWUgdGhlIFZpbSBzZXJ2ZXIgPG5hbWU+IgogbXNnc3RyICItLXNlcnZlcm5hbWUgPGFpbm0+XHRTZW9sIGNodWlnL1TpaWdoIGkgZG8gZmhyZWFzdGFsYe0gVmltIDxhaW5tPiIKIAorbXNnaWQgIi0tc3RhcnR1cHRpbWUgPGZpbGU+XHRXcml0ZSBzdGFydHVwIHRpbWluZyBtZXNzYWdlcyB0byA8ZmlsZT4iCittc2dzdHIgIi0tc3RhcnR1cHRpbWUgPGNvbWhhZD5cdFNjcu1vYmggZmFpc27paXMgbWFpZGlyIGxlIHRy6WltaHNlIHRvc2FpdGhlIGkgPGNvbWhhZD4iCisKIG1zZ2lkICItaSA8dmltaW5mbz5cdFx0VXNlIDx2aW1pbmZvPiBpbnN0ZWFkIG9mIC52aW1pbmZvIgogbXNnc3RyICItaSA8dmltaW5mbz5cdFx02nPhaWQgPHZpbWluZm8+IGluIGlvbmFkIC52aW1pbmZvIgogCkBAIC0zODQzLDE3ICszOTI5LDIyIEBACiBtc2dpZCAiRTc2NjogSW5zdWZmaWNpZW50IGFyZ3VtZW50cyBmb3IgcHJpbnRmKCkiCiBtc2dzdHIgIkU3NjY6IEVhc3BhIGFyZ/NpbnTtIGQnZmhlaWRobSBwcmludGYoKSIKIAorbXNnaWQgIkU4MDc6IEV4cGVjdGVkIEZsb2F0IGFyZ3VtZW50IGZvciBwcmludGYoKSIKK21zZ3N0ciAiRTgwNzogQmjtb3RoYXMgYWcgc/ppbCBsZSBoYXJn82ludCBTbuFtaHBob2ludGUgZCdmaGVpZGhtIHByaW50ZigpIgorCiBtc2dpZCAiRTc2NzogVG9vIG1hbnkgYXJndW1lbnRzIHRvIHByaW50ZigpIgogbXNnc3RyICJFNzY3OiBBbiBpb21hcmNhIGFyZ/NpbnTtIGQnZmhlaWRobSBwcmludGYoKSIKIAogbXNnaWQgIlcxMDogV2FybmluZzogQ2hhbmdpbmcgYSByZWFkb25seSBmaWxlIgogbXNnc3RyICJXMTA6IFJhYmhhZGg6IENvbWhhZCBpbmzpaXRlIGFtaOFpbiDhIGF0aHL6IgogCi1tc2dpZCAiVHlwZSBudW1iZXIgb3IgY2xpY2sgd2l0aCBtb3VzZSAoPEVudGVyPiBjYW5jZWxzKTogIgotbXNnc3RyICJDbPNzY3Ltb2JoIHVpbWhpciBu8yBjbGljZeFpbCBsZSBkbyBsdWNoICg8RW50ZXI+ID0gY2VhbPopOiAiCittc2dpZCAiVHlwZSBudW1iZXIgYW5kIDxFbnRlcj4gb3IgY2xpY2sgd2l0aCBtb3VzZSAoZW1wdHkgY2FuY2Vscyk6ICIKK21zZ3N0ciAiIgorIkNs83Njcu1vYmggdWltaGlyIGFndXMgPEVudGVyPiBu8yBjbGljZeFpbCBsZWlzIGFuIGx1Y2ggKGbhZyBmb2xhbWggbGUgIgorImNlYWz6KTogIgogCi1tc2dpZCAiQ2hvaWNlIG51bWJlciAoPEVudGVyPiBjYW5jZWxzKTogIgotbXNnc3RyICJVaW1oaXIgZG8gcm9naGEgKDxFbnRlcj4gPSBjZWFs+ik6ICIKK21zZ2lkICJUeXBlIG51bWJlciBhbmQgPEVudGVyPiAoZW1wdHkgY2FuY2Vscyk6ICIKK21zZ3N0ciAiQ2zzc2Ny7W9iaCB1aW1oaXIgYWd1cyA8RW50ZXI+IChm4WcgZm9sYW1oIGxlIGNlYWz6KTogIgogCiBtc2dpZCAiMSBtb3JlIGxpbmUiCiBtc2dzdHIgIjEgbO1uZSBlaWxlIgpAQCAtMzk2NSw3ICs0MDU2LDYgQEAKIG1zZ2lkICJFMzQ3OiBObyBtb3JlIGZpbGUgXCIlc1wiIGZvdW5kIGluIHBhdGgiCiBtc2dzdHIgIkUzNDc6IE7tbCBjb21oYWQgXCIlc1wiIHNhIGNob25haXIgYSB0aHVpbGxlYWRoIgogCi0jLiBHZXQgaGVyZSB3aGVuIHRoZSBzZXJ2ZXIgY2FuJ3QgYmUgZm91bmQuCiBtc2dpZCAiQ2Fubm90IGNvbm5lY3QgdG8gTmV0YmVhbnMgIzIiCiBtc2dzdHIgIk7tIGbpaWRpciBuYXNjYWRoIGxlIE5ldGJlYW5zICMyIgogCkBAIC0zOTg2LDYgKzQwNzYsOSBAQAogbXNnaWQgIkU1MDU6ICIKIG1zZ3N0ciAiRTUwNTogIgogCittc2dpZCAiRTM0OTogTm8gaWRlbnRpZmllciB1bmRlciBjdXJzb3IiCittc2dzdHIgIkUzNDk6IE7tbCBhaXRoZWFudPNpciBmYW9pbiBjaPpyc/NpciIKKwogbXNnaWQgIkU3NzQ6ICdvcGVyYXRvcmZ1bmMnIGlzIGVtcHR5IgogbXNnc3RyICJFNzc0OiAnb3BlcmF0b3JmdW5jJyBmb2xhbWgiCiAKQEAgLTM5OTgsOSArNDA5MSw2IEBACiBtc2dpZCAiRTM0ODogTm8gc3RyaW5nIHVuZGVyIGN1cnNvciIKIG1zZ3N0ciAiRTM0ODogTu1sIHRlYWdocuFuIGZhb2luIGNo+nJz82lyIgogCi1tc2dpZCAiRTM0OTogTm8gaWRlbnRpZmllciB1bmRlciBjdXJzb3IiCi1tc2dzdHIgIkUzNDk6IE7tbCBhaXRoZWFudPNpciBmYW9pbiBjaPpyc/NpciIKLQogbXNnaWQgIkUzNTI6IENhbm5vdCBlcmFzZSBmb2xkcyB3aXRoIGN1cnJlbnQgJ2ZvbGRtZXRob2QnIgogbXNnc3RyICJFMzUyOiBO7SBm6WlkaXIgZmlsbHRlYWNoYSBhIGzpaXJzY3Jpb3NhZGggbGVpcyBhbiAnZm9sZG1ldGhvZCcgcmVhdGhhIgogCkBAIC00MDQxLDcgKzQxMzEsNyBAQAogbXNnc3RyICIlbGQgbO1uZSBsZSBoZWFuZ/ouLi4gIgogCiBtc2dpZCAiMSBsaW5lIGluZGVudGVkICIKLW1zZ3N0ciAiZWFuZ2Htb2RoIDEgbO1uZSAiCittc2dzdHIgImVhbmdh7W9kaCBs7W5lIGFtaOFpbiAiCiAKICMsIGMtZm9ybWF0CiBtc2dpZCAiJWxkIGxpbmVzIGluZGVudGVkICIKQEAgLTQwNTUsNyArNDE0NSw3IEBACiBtc2dzdHIgIm7tIGbpaWRpciBhIHNyYWNhZGg7IHNjcmlvcyBtYXIgc2luIGbpaW4iCiAKIG1zZ2lkICIxIGxpbmUgY2hhbmdlZCIKLW1zZ3N0ciAiYXRocmHtb2RoIDEgbO1uZSIKK21zZ3N0ciAiYXRocmHtb2RoIGztbmUgYW1o4WluIgogCiAjLCBjLWZvcm1hdAogbXNnaWQgIiVsZCBsaW5lcyBjaGFuZ2VkIgpAQCAtNDA2NiwxMCArNDE1NiwxMCBAQAogbXNnc3RyICIlbGQgbO1uZSDhIHNhb3JhZGgiCiAKIG1zZ2lkICJibG9jayBvZiAxIGxpbmUgeWFua2VkIgotbXNnc3RyICJzcmFjYWRoIGJsb2MgZGUgMSBs7W5lIgorbXNnc3RyICJzcmFjYWRoIGJsb2MgZGUgbO1uZSBhbWjhaW4iCiAKIG1zZ2lkICIxIGxpbmUgeWFua2VkIgotbXNnc3RyICJzcmFjYWRoIDEgbO1uZSIKK21zZ3N0ciAic3JhY2FkaCBs7W5lIGFtaOFpbiIKIAogIywgYy1mb3JtYXQKIG1zZ2lkICJibG9jayBvZiAlbGQgbGluZXMgeWFua2VkIgpAQCAtNDgwOCw2ICs0ODk4LDkgQEAKIG1zZ2lkICJFMzg5OiBDb3VsZG4ndCBmaW5kIHBhdHRlcm4iCiBtc2dzdHIgIkUzODk6IFBhdHL6biBnYW4gYWltc2n6IgogCittc2dpZCAiU3Vic3RpdHV0ZSAiCittc2dzdHIgIklvbmFk+iAiCisKICMgaW4gLnZpbWluZm8KICMsIGMtZm9ybWF0CiBtc2dpZCAiIgpAQCAtNDkxMSw2ICs1MDA0LDEwIEBACiAidGFyIOlpcyBt7XJlIFBGWCBpICVzIGztbmUgJWQiCiAKICMsIGMtZm9ybWF0Cittc2dpZCAiV3JvbmcgQ09NUE9VTkRSVUxFUyB2YWx1ZSBpbiAlcyBsaW5lICVkOiAlcyIKK21zZ3N0ciAiTHVhY2ggbe1jaGVhcnQgYXIgQ09NUE9VTkRSVUxFUyBpICVzIGztbmUgJWQ6ICVzIgorCisjLCBjLWZvcm1hdAogbXNnaWQgIldyb25nIENPTVBPVU5EV09SRE1BWCB2YWx1ZSBpbiAlcyBsaW5lICVkOiAlcyIKIG1zZ3N0ciAiTHVhY2ggbe1jaGVhcnQgYXIgQ09NUE9VTkRXT1JETUFYIGkgJXMgbO1uZSAlZDogJXMiCiAKQEAgLTU0NDksNiArNTU0Niw5IEBACiBtc2dpZCAiRTQzMzogTm8gdGFncyBmaWxlIgogbXNnc3RyICJFNDMzOiBO7WwgYW9uIGNob21oYWQgY2xpYmVhbm5hIgogCittc2dpZCAiSWdub3JpbmcgbG9uZyBsaW5lIGluIHRhZ3MgZmlsZSIKK21zZ3N0ciAiQWcgZOlhbmFtaCBuZWFtaGFpcmQgZGUgbO1uZSBmaGFkYSBzYSBjaG9taGFkIGNsaWJlYW5uYSIKKwogbXNnaWQgIkU0MzQ6IENhbid0IGZpbmQgdGFnIHBhdHRlcm4iCiBtc2dzdHIgIkU0MzQ6IFBhdHL6biBjbGliZSBnYW4gYWltc2n6IgogCkBAIC01NDkxLDYgKzU1OTEsOSBAQAogbXNnaWQgIlZpbTogRXJyb3IgcmVhZGluZyBpbnB1dCwgZXhpdGluZy4uLlxuIgogbXNnc3RyICJWaW06IEVhcnLhaWQgYWd1cyBhbiB0LWluY2hvbWhhZCDhIGzpYW1oOyBhZyBzY29yLi4uXG4iCiAKK21zZ2lkICJVc2VkIENVVF9CVUZGRVIwIGluc3RlYWQgb2YgZW1wdHkgc2VsZWN0aW9uIgorbXNnc3RyICLac+FpZGVhZGggQ1VUX0JVRkZFUjAgaW4gaW9uYWQgcm9naG76Y2jhaW4gZm9sYWltaCIKKwogIy4gbXVzdCBkaXNwbGF5IHRoZSBwcm9tcHQKIG1zZ2lkICJObyB1bmRvIHBvc3NpYmxlOyBjb250aW51ZSBhbnl3YXkiCiBtc2dzdHIgIk7tIGbpaWRpciBhIGNoZWFs+jsgbGVhbiBhciBhZ2hhaWRoIG1hciBzaW4gZulpbiIKQEAgLTU1ODYsNiArNTY4OSwxMyBAQAogCiBtc2dpZCAiIgogIlxuIgorIk1TLVdpbmRvd3MgNjQtYml0IGNvbnNvbGUgdmVyc2lvbiIKK21zZ3N0ciAiIgorIlxuIgorIkxlYWdhbiBjb25z82lsIDY0IGdpb3ThbiBNUy1XaW5kb3dzIgorCittc2dpZCAiIgorIlxuIgogIk1TLVdpbmRvd3MgMzItYml0IGNvbnNvbGUgdmVyc2lvbiIKIG1zZ3N0ciAiIgogIlxuIgpAQCAtNTY0MiwxMSArNTc1MiwyNSBAQAogCiBtc2dpZCAiIgogIlxuIgorIk9wZW5WTVMgdmVyc2lvbiIKK21zZ3N0ciAiIgorIlxuIgorIkxlYWdhbiBPcGVuVk1TIgorCittc2dpZCAiIgorIlxuIgogIkluY2x1ZGVkIHBhdGNoZXM6ICIKIG1zZ3N0ciAiIgogIlxuIgogIlBhaXN07SBzYW4g4WlyZWFtaDogIgogCittc2dpZCAiIgorIlxuIgorIkV4dHJhIHBhdGNoZXM6ICIKK21zZ3N0ciAiIgorIlxuIgorIlBhaXN07SBzYSBiaHJlaXM6ICIKKwogbXNnaWQgIk1vZGlmaWVkIGJ5ICIKIG1zZ3N0ciAiTWlvbmF0aHJhaXRoZSBhZyAiCiAKQEAgLTU3OTksNyArNTkyMyw3IEBACiBtc2dzdHIgImxlIEJyYW0gTW9vbGVuYWFyIGV0IGFsLiIKIAogbXNnaWQgIlZpbSBpcyBvcGVuIHNvdXJjZSBhbmQgZnJlZWx5IGRpc3RyaWJ1dGFibGUiCi1tc2dzdHIgIklzIHNhb3JiaG9nZWFycmHtIFZpbSIKK21zZ3N0ciAiSXMgc2FvcmJob2dlYXJyYSDpIFZpbSIKIAogbXNnaWQgIkhlbHAgcG9vciBjaGlsZHJlbiBpbiBVZ2FuZGEhIgogbXNnc3RyICJUYWJoYWlyIGNhYmhhaXIgZG8gcGjhaXN07SBib2NodGEgaW4gVWdhbmRhISIKQEAgLTU4ODQsNiArNjAwOCwxMiBAQAogbXNnaWQgIkU0NDQ6IENhbm5vdCBjbG9zZSBsYXN0IHdpbmRvdyIKIG1zZ3N0ciAiRTQ0NDogTu0gZulpZGlyIGFuIGZodWlubmVvZyBkaGVpcmlkaCBhIGRo+m5hZGgiCiAKK21zZ2lkICJFODEzOiBDYW5ub3QgY2xvc2UgYXV0b2NtZCB3aW5kb3ciCittc2dzdHIgIkU4MTM6IE7tIGbpaWRpciBmdWlubmVvZyBhdXRvY21kIGEgZGj6bmFkaCIKKworbXNnaWQgIkU4MTQ6IENhbm5vdCBjbG9zZSB3aW5kb3csIG9ubHkgYXV0b2NtZCB3aW5kb3cgd291bGQgcmVtYWluIgorbXNnc3RyICJFODE0OiBO7SBm6WlkaXIgYW4gZmh1aW5uZW9nIGEgZGj6bmFkaCwgbu0gYmhlYWRoIGFjaCBmdWlubmVvZyBhdXRvY21kIGbhZ3RoYSIKKwogbXNnaWQgIkU0NDU6IE90aGVyIHdpbmRvdyBjb250YWlucyBjaGFuZ2VzIgogbXNnc3RyICJFNDQ1OiBU4SBhdGhydWl0aGUgYW5uIHNhbiBmaHVpbm5lb2cgZWlsZSIKIApAQCAtNjA1OCwxOSArNjE4OCwxOSBAQAogbXNnc3RyICJFNDc3OiBO7SBjaGVhZGHtdGVhciAhIgogCiBtc2dpZCAiRTI1OiBHVUkgY2Fubm90IGJlIHVzZWQ6IE5vdCBlbmFibGVkIGF0IGNvbXBpbGUgdGltZSIKLW1zZ3N0ciAiRTI1OiBO7SBm6WlkaXIgYW4gR1VJIGEg+nPhaWQ6IE7tb3IgY3VtYXNh7W9kaCDpIGFndXMgVmltIOEgdGhpb21z+iIKK21zZ3N0ciAiRTI1OiBO7SBm6WlkaXIgYW4gR1VJIGEg+nPhaWQ6IE7tb3IgY3VtYXNh7W9kaCDpIGFnIGFtIHRpb21zYWl0aGUiCiAKIG1zZ2lkICJFMjY6IEhlYnJldyBjYW5ub3QgYmUgdXNlZDogTm90IGVuYWJsZWQgYXQgY29tcGlsZSB0aW1lXG4iCiBtc2dzdHIgIiIKLSJFMjY6IE7tbCB0YWNh7W9jaHQgRWFiaHJhaXNlIGFyIGbhaWw6IE7tb3IgY3VtYXNh7W9kaCDpIGFndXMgVmltIOEgdGhpb21z+lxuIgorIkUyNjogTu1sIHRhY2Htb2NodCBFYWJocmFpc2UgYXIgZuFpbDogTu1vciBjdW1hc2Htb2RoIOkgYWcgYW0gdGlvbXNhaXRoZVxuIgogCiBtc2dpZCAiRTI3OiBGYXJzaSBjYW5ub3QgYmUgdXNlZDogTm90IGVuYWJsZWQgYXQgY29tcGlsZSB0aW1lXG4iCiBtc2dzdHIgIiIKLSJFMjc6IE7tbCB0YWNh7W9jaHQgUGhlaXJzaXNlIGFyIGbhaWw6IE7tb3IgY3VtYXNh7W9kaCDpIGFndXMgVmltIOEgdGhpb21z+lxuIgorIkUyNzogTu1sIHRhY2Htb2NodCBQaGVpcnNpc2UgYXIgZuFpbDogTu1vciBjdW1hc2Htb2RoIOkgYWcgYW0gdGlvbXNhaXRoZVxuIgogCiBtc2dpZCAiRTgwMDogQXJhYmljIGNhbm5vdCBiZSB1c2VkOiBOb3QgZW5hYmxlZCBhdCBjb21waWxlIHRpbWVcbiIKIG1zZ3N0ciAiIgotIkU4MDA6IE7tbCB0YWNh7W9jaHQgQXJhaWJpc2UgYXIgZuFpbDogTu1vciBjdW1hc2Htb2RoIOkgYWd1cyBWaW0g4SB0aGlvbXP6XG4iCisiRTgwMDogTu1sIHRhY2Htb2NodCBBcmFpYmlzZSBhciBm4WlsOiBO7W9yIGN1bWFzYe1vZGgg6SBhZyBhbSB0aW9tc2FpdGhlXG4iCiAKICMsIGMtZm9ybWF0CiBtc2dpZCAiRTI4OiBObyBzdWNoIGhpZ2hsaWdodCBncm91cCBuYW1lOiAlcyIKQEAgLTYyODIsNiArNjQxMiwxMiBAQAogbXNnaWQgInNlYXJjaCBoaXQgQk9UVE9NLCBjb250aW51aW5nIGF0IFRPUCIKIG1zZ3N0ciAiQnVhaWxlYWRoIGFuIEJVTiBsZSBsaW5uIGFuIGNodWFyZGFpZ2gsIGFnIGxlYW76aW50IGFnIGFuIEJIQVJSIgogCisjfiBtc2dpZCAiRTU2OTogbWF4aW11bSBudW1iZXIgb2YgY3Njb3BlIGNvbm5lY3Rpb25zIHJlYWNoZWQiCisjfiBtc2dzdHIgIkU1Njk6IG7tIGNoZWFkYe10ZWFyIG7tb3MgbfMgbuEgYW4gbO1vbiB1YXN0YSBuYXNjIGNzY29wZSIKKworI34gbXNnaWQgIltOTCBmb3VuZF0iCisjfiBtc2dzdHIgIltOTCBhaW1zaXRoZV0iCisKICN+IG1zZ2lkICItVltOXVx0XHRWZXJib3NlIGxldmVsIgogI34gbXNnc3RyICItVltOXVx0XHRGb2NsYWNoYXMiCiAKQEAgLTYzNTQsOSArNjQ5MCw2IEBACiAjfiBtc2dpZCAiRHVwbGljYXRlIFVQUCBpbiAlcyBsaW5lICVkIgogI34gbXNnc3RyICJVUFAgZPpibGFjaCBpICVzIGztbmUgJWQiCiAKLSN+IG1zZ2lkICJFMTMwOiBVbmRlZmluZWQgZnVuY3Rpb246ICVzIgotI34gbXNnc3RyICJFMTMwOiBGZWlkaG0gZ2FuIHNhaW5taO1uafo6ICVzIgotCiAjfiBtc2dpZCAiW3N0cmluZyB0b28gbG9uZ10iCiAjfiBtc2dzdHIgIlt0ZWFnaHLhbiBy82ZoYWRhXSIKIApkaWZmIC0tZ2l0IGEvc3JjL3B0eS5jIGIvc3JjL3B0eS5jCmluZGV4IGQyM2NiMmUuLmM0YzY0ZDQgMTAwNjQ0Ci0tLSBhL3NyYy9wdHkuYworKysgYi9zcmMvcHR5LmMKQEAgLTM3LDggKzM3LDYgQEAKICAqIDU5IFRlbXBsZSBQbGFjZSAtIFN1aXRlIDMzMCwgQm9zdG9uLCBNQSAgMDIxMTEtMTMwNywgVVNBCiAgKi8KIAotLyogUkNTX0lEKCIkSWQkIEZBVSIpICovCi0KICNpbmNsdWRlICJ2aW0uaCIKIAogI2luY2x1ZGUgPHNpZ25hbC5oPgpAQCAtMTM0LDcgKzEzMiw3IEBACiAKICAgICBzdGF0aWMgdm9pZAogaW5pdG1hc3RlcihmKQotICAgIGludCBmOworICAgIGludCBmIFVOVVNFRDsKIHsKICNpZm5kZWYgVk1TCiAjIGlmZGVmIFBPU0lYCmRpZmYgLS1naXQgYS9zcmMvdW5kby5jIGIvc3JjL3VuZG8uYwppbmRleCA4NTJlZDZiLi5jMDQyZDA0IDEwMDY0NAotLS0gYS9zcmMvdW5kby5jCisrKyBiL3NyYy91bmRvLmMKQEAgLTI0Miw3ICsyNDIsNyBAQAogfQogCiAvKgotICogc2F2ZSB0aGUgbGluZSAibG51bSIgKHVzZWQgYnkgIjpzIiBhbmQgIn4iIGNvbW1hbmQpCisgKiBTYXZlIHRoZSBsaW5lICJsbnVtIiAodXNlZCBieSAiOnMiIGFuZCAifiIgY29tbWFuZCkuCiAgKiBUaGUgbGluZSBpcyByZXBsYWNlZCwgc28gdGhlIG5ldyBib3R0b20gbGluZSBpcyBsbnVtICsgMS4KICAqLwogICAgIGludApAQCAtMjU2LDcgKzI1Niw3IEBACiB9CiAKIC8qCi0gKiBhIG5ldyBsaW5lIGlzIGluc2VydGVkIGJlZm9yZSBsaW5lICJsbnVtIiAodXNlZCBieSA6cyBjb21tYW5kKQorICogQSBuZXcgbGluZSBpcyBpbnNlcnRlZCBiZWZvcmUgbGluZSAibG51bSIgKHVzZWQgYnkgOnMgY29tbWFuZCkuCiAgKiBUaGUgbGluZSBpcyBpbnNlcnRlZCwgc28gdGhlIG5ldyBib3R0b20gbGluZSBpcyBsbnVtICsgMS4KICAqLwogICAgIGludApAQCAtMjcwLDcgKzI3MCw3IEBACiB9CiAKIC8qCi0gKiBzYXZlIHRoZSBsaW5lcyAibG51bSIgLSAibG51bSIgKyBubGluZXMgKHVzZWQgYnkgZGVsZXRlIGNvbW1hbmQpCisgKiBTYXZlIHRoZSBsaW5lcyAibG51bSIgLSAibG51bSIgKyBubGluZXMgKHVzZWQgYnkgZGVsZXRlIGNvbW1hbmQpLgogICogVGhlIGxpbmVzIGFyZSBkZWxldGVkLCBzbyB0aGUgbmV3IGJvdHRvbSBsaW5lIGlzIGxudW0sIHVubGVzcyB0aGUgYnVmZmVyCiAgKiBiZWNvbWVzIGVtcHR5LgogICovCkBAIC0xNDA2LDEwICsxNDA2LDkgQEAKIC8qCiAgKiAiOnVuZG9saXN0IjogTGlzdCB0aGUgbGVhZnMgb2YgdGhlIHVuZG8gdHJlZQogICovCi0vKkFSR1NVU0VEKi8KICAgICB2b2lkCiBleF91bmRvbGlzdChlYXApCi0gICAgZXhhcmdfVCAqZWFwOworICAgIGV4YXJnX1QgKmVhcCBVTlVTRUQ7CiB7CiAgICAgZ2FycmF5X1QJZ2E7CiAgICAgdV9oZWFkZXJfVAkqdWhwOwpAQCAtMTUyOSwxMCArMTUyOCw5IEBACiAvKgogICogIjp1bmRvam9pbiI6IGNvbnRpbnVlIGFkZGluZyB0byB0aGUgbGFzdCBlbnRyeSBsaXN0CiAgKi8KLS8qQVJHU1VTRUQqLwogICAgIHZvaWQKIGV4X3VuZG9qb2luKGVhcCkKLSAgICBleGFyZ19UICplYXA7CisgICAgZXhhcmdfVCAqZWFwIFVOVVNFRDsKIHsKICAgICBpZiAoY3VyYnVmLT5iX3VfbmV3aGVhZCA9PSBOVUxMKQogCXJldHVybjsJCSAgICAvKiBub3RoaW5nIGNoYW5nZWQgYmVmb3JlICovCmRpZmYgLS1naXQgYS9zcmMvdmVyc2lvbi5jIGIvc3JjL3ZlcnNpb24uYwppbmRleCBmYzYzNTAyLi5mZTgyOTg3IDEwMDY0NAotLS0gYS9zcmMvdmVyc2lvbi5jCisrKyBiL3NyYy92ZXJzaW9uLmMKQEAgLTY4Miw4NzIgKzY4Miw2IEBACiBzdGF0aWMgaW50IGluY2x1ZGVkX3BhdGNoZXNbXSA9CiB7ICAgLyogQWRkIG5ldyBwYXRjaCBudW1iZXIgYmVsb3cgdGhpcyBsaW5lICovCiAvKiovCi0gICAgNDMzLAotLyoqLwotICAgIDQzMiwKLS8qKi8KLSAgICA0MzEsCi0vKiovCi0gICAgNDMwLAotLyoqLwotICAgIDQyOSwKLS8qKi8KLSAgICA0MjgsCi0vKiovCi0gICAgNDI3LAotLyoqLwotICAgIDQyNiwKLS8qKi8KLSAgICA0MjUsCi0vKiovCi0gICAgNDI0LAotLyoqLwotICAgIDQyMywKLS8qKi8KLSAgICA0MjIsCi0vKiovCi0gICAgNDIxLAotLyoqLwotICAgIDQyMCwKLS8qKi8KLSAgICA0MTksCi0vKiovCi0gICAgNDE4LAotLyoqLwotICAgIDQxNywKLS8qKi8KLSAgICA0MTYsCi0vKiovCi0gICAgNDE1LAotLyoqLwotICAgIDQxNCwKLS8qKi8KLSAgICA0MTMsCi0vKiovCi0gICAgNDEyLAotLyoqLwotICAgIDQxMSwKLS8qKi8KLSAgICA0MTAsCi0vKiovCi0gICAgNDA5LAotLyoqLwotICAgIDQwOCwKLS8qKi8KLSAgICA0MDcsCi0vKiovCi0gICAgNDA2LAotLyoqLwotICAgIDQwNSwKLS8qKi8KLSAgICA0MDQsCi0vKiovCi0gICAgNDAzLAotLyoqLwotICAgIDQwMiwKLS8qKi8KLSAgICA0MDEsCi0vKiovCi0gICAgNDAwLAotLyoqLwotICAgIDM5OSwKLS8qKi8KLSAgICAzOTgsCi0vKiovCi0gICAgMzk3LAotLyoqLwotICAgIDM5NiwKLS8qKi8KLSAgICAzOTUsCi0vKiovCi0gICAgMzk0LAotLyoqLwotICAgIDM5MywKLS8qKi8KLSAgICAzOTIsCi0vKiovCi0gICAgMzkxLAotLyoqLwotICAgIDM5MCwKLS8qKi8KLSAgICAzODksCi0vKiovCi0gICAgMzg4LAotLyoqLwotICAgIDM4NywKLS8qKi8KLSAgICAzODYsCi0vKiovCi0gICAgMzg1LAotLyoqLwotICAgIDM4NCwKLS8qKi8KLSAgICAzODMsCi0vKiovCi0gICAgMzgyLAotLyoqLwotICAgIDM4MSwKLS8qKi8KLSAgICAzODAsCi0vKiovCi0gICAgMzc5LAotLyoqLwotICAgIDM3OCwKLS8qKi8KLSAgICAzNzcsCi0vKiovCi0gICAgMzc2LAotLyoqLwotICAgIDM3NSwKLS8qKi8KLSAgICAzNzQsCi0vKiovCi0gICAgMzczLAotLyoqLwotICAgIDM3MiwKLS8qKi8KLSAgICAzNzEsCi0vKiovCi0gICAgMzcwLAotLyoqLwotICAgIDM2OSwKLS8qKi8KLSAgICAzNjgsCi0vKiovCi0gICAgMzY3LAotLyoqLwotICAgIDM2NiwKLS8qKi8KLSAgICAzNjUsCi0vKiovCi0gICAgMzY0LAotLyoqLwotICAgIDM2MywKLS8qKi8KLSAgICAzNjIsCi0vKiovCi0gICAgMzYxLAotLyoqLwotICAgIDM2MCwKLS8qKi8KLSAgICAzNTksCi0vKiovCi0gICAgMzU4LAotLyoqLwotICAgIDM1NywKLS8qKi8KLSAgICAzNTYsCi0vKiovCi0gICAgMzU1LAotLyoqLwotICAgIDM1NCwKLS8qKi8KLSAgICAzNTMsCi0vKiovCi0gICAgMzUyLAotLyoqLwotICAgIDM1MSwKLS8qKi8KLSAgICAzNTAsCi0vKiovCi0gICAgMzQ5LAotLyoqLwotICAgIDM0OCwKLS8qKi8KLSAgICAzNDcsCi0vKiovCi0gICAgMzQ2LAotLyoqLwotICAgIDM0NSwKLS8qKi8KLSAgICAzNDQsCi0vKiovCi0gICAgMzQzLAotLyoqLwotICAgIDM0MiwKLS8qKi8KLSAgICAzNDEsCi0vKiovCi0gICAgMzQwLAotLyoqLwotICAgIDMzOSwKLS8qKi8KLSAgICAzMzgsCi0vKiovCi0gICAgMzM3LAotLyoqLwotICAgIDMzNiwKLS8qKi8KLSAgICAzMzUsCi0vKiovCi0gICAgMzM0LAotLyoqLwotICAgIDMzMywKLS8qKi8KLSAgICAzMzIsCi0vKiovCi0gICAgMzMxLAotLyoqLwotICAgIDMzMCwKLS8qKi8KLSAgICAzMjksCi0vKiovCi0gICAgMzI4LAotLyoqLwotICAgIDMyNywKLS8qKi8KLSAgICAzMjYsCi0vKiovCi0gICAgMzI1LAotLyoqLwotICAgIDMyNCwKLS8qKi8KLSAgICAzMjMsCi0vKiovCi0gICAgMzIyLAotLyoqLwotICAgIDMyMSwKLS8qKi8KLSAgICAzMjAsCi0vKiovCi0gICAgMzE5LAotLyoqLwotICAgIDMxOCwKLS8qKi8KLSAgICAzMTcsCi0vKiovCi0gICAgMzE2LAotLyoqLwotICAgIDMxNSwKLS8qKi8KLSAgICAzMTQsCi0vKiovCi0gICAgMzEzLAotLyoqLwotICAgIDMxMiwKLS8qKi8KLSAgICAzMTEsCi0vKiovCi0gICAgMzEwLAotLyoqLwotICAgIDMwOSwKLS8qKi8KLSAgICAzMDgsCi0vKiovCi0gICAgMzA3LAotLyoqLwotICAgIDMwNiwKLS8qKi8KLSAgICAzMDUsCi0vKiovCi0gICAgMzA0LAotLyoqLwotICAgIDMwMywKLS8qKi8KLSAgICAzMDIsCi0vKiovCi0gICAgMzAxLAotLyoqLwotICAgIDMwMCwKLS8qKi8KLSAgICAyOTksCi0vKiovCi0gICAgMjk4LAotLyoqLwotICAgIDI5NywKLS8qKi8KLSAgICAyOTYsCi0vKiovCi0gICAgMjk1LAotLyoqLwotICAgIDI5NCwKLS8qKi8KLSAgICAyOTMsCi0vKiovCi0gICAgMjkyLAotLyoqLwotICAgIDI5MSwKLS8qKi8KLSAgICAyOTAsCi0vKiovCi0gICAgMjg5LAotLyoqLwotICAgIDI4OCwKLS8qKi8KLSAgICAyODcsCi0vKiovCi0gICAgMjg2LAotLyoqLwotICAgIDI4NSwKLS8qKi8KLSAgICAyODQsCi0vKiovCi0gICAgMjgzLAotLyoqLwotICAgIDI4MiwKLS8qKi8KLSAgICAyODEsCi0vKiovCi0gICAgMjgwLAotLyoqLwotICAgIDI3OSwKLS8qKi8KLSAgICAyNzgsCi0vKiovCi0gICAgMjc3LAotLyoqLwotICAgIDI3NiwKLS8qKi8KLSAgICAyNzUsCi0vKiovCi0gICAgMjc0LAotLyoqLwotICAgIDI3MywKLS8qKi8KLSAgICAyNzIsCi0vKiovCi0gICAgMjcxLAotLyoqLwotICAgIDI3MCwKLS8qKi8KLSAgICAyNjksCi0vKiovCi0gICAgMjY4LAotLyoqLwotICAgIDI2NywKLS8qKi8KLSAgICAyNjYsCi0vKiovCi0gICAgMjY1LAotLyoqLwotICAgIDI2NCwKLS8qKi8KLSAgICAyNjMsCi0vKiovCi0gICAgMjYyLAotLyoqLwotICAgIDI2MSwKLS8qKi8KLSAgICAyNjAsCi0vKiovCi0gICAgMjU5LAotLyoqLwotICAgIDI1OCwKLS8qKi8KLSAgICAyNTcsCi0vKiovCi0gICAgMjU2LAotLyoqLwotICAgIDI1NSwKLS8qKi8KLSAgICAyNTQsCi0vKiovCi0gICAgMjUzLAotLyoqLwotICAgIDI1MiwKLS8qKi8KLSAgICAyNTEsCi0vKiovCi0gICAgMjUwLAotLyoqLwotICAgIDI0OSwKLS8qKi8KLSAgICAyNDgsCi0vKiovCi0gICAgMjQ3LAotLyoqLwotICAgIDI0NiwKLS8qKi8KLSAgICAyNDUsCi0vKiovCi0gICAgMjQ0LAotLyoqLwotICAgIDI0MywKLS8qKi8KLSAgICAyNDIsCi0vKiovCi0gICAgMjQxLAotLyoqLwotICAgIDI0MCwKLS8qKi8KLSAgICAyMzksCi0vKiovCi0gICAgMjM4LAotLyoqLwotICAgIDIzNywKLS8qKi8KLSAgICAyMzYsCi0vKiovCi0gICAgMjM1LAotLyoqLwotICAgIDIzNCwKLS8qKi8KLSAgICAyMzMsCi0vKiovCi0gICAgMjMyLAotLyoqLwotICAgIDIzMSwKLS8qKi8KLSAgICAyMzAsCi0vKiovCi0gICAgMjI5LAotLyoqLwotICAgIDIyOCwKLS8qKi8KLSAgICAyMjcsCi0vKiovCi0gICAgMjI2LAotLyoqLwotICAgIDIyNSwKLS8qKi8KLSAgICAyMjQsCi0vKiovCi0gICAgMjIzLAotLyoqLwotICAgIDIyMiwKLS8qKi8KLSAgICAyMjEsCi0vKiovCi0gICAgMjIwLAotLyoqLwotICAgIDIxOSwKLS8qKi8KLSAgICAyMTgsCi0vKiovCi0gICAgMjE3LAotLyoqLwotICAgIDIxNiwKLS8qKi8KLSAgICAyMTUsCi0vKiovCi0gICAgMjE0LAotLyoqLwotICAgIDIxMywKLS8qKi8KLSAgICAyMTIsCi0vKiovCi0gICAgMjExLAotLyoqLwotICAgIDIxMCwKLS8qKi8KLSAgICAyMDksCi0vKiovCi0gICAgMjA4LAotLyoqLwotICAgIDIwNywKLS8qKi8KLSAgICAyMDYsCi0vKiovCi0gICAgMjA1LAotLyoqLwotICAgIDIwNCwKLS8qKi8KLSAgICAyMDMsCi0vKiovCi0gICAgMjAyLAotLyoqLwotICAgIDIwMSwKLS8qKi8KLSAgICAyMDAsCi0vKiovCi0gICAgMTk5LAotLyoqLwotICAgIDE5OCwKLS8qKi8KLSAgICAxOTcsCi0vKiovCi0gICAgMTk2LAotLyoqLwotICAgIDE5NSwKLS8qKi8KLSAgICAxOTQsCi0vKiovCi0gICAgMTkzLAotLyoqLwotICAgIDE5MiwKLS8qKi8KLSAgICAxOTEsCi0vKiovCi0gICAgMTkwLAotLyoqLwotICAgIDE4OSwKLS8qKi8KLSAgICAxODgsCi0vKiovCi0gICAgMTg3LAotLyoqLwotICAgIDE4NiwKLS8qKi8KLSAgICAxODUsCi0vKiovCi0gICAgMTg0LAotLyoqLwotICAgIDE4MywKLS8qKi8KLSAgICAxODIsCi0vKiovCi0gICAgMTgxLAotLyoqLwotICAgIDE4MCwKLS8qKi8KLSAgICAxNzksCi0vKiovCi0gICAgMTc4LAotLyoqLwotICAgIDE3NywKLS8qKi8KLSAgICAxNzYsCi0vKiovCi0gICAgMTc1LAotLyoqLwotICAgIDE3NCwKLS8qKi8KLSAgICAxNzMsCi0vKiovCi0gICAgMTcyLAotLyoqLwotICAgIDE3MSwKLS8qKi8KLSAgICAxNzAsCi0vKiovCi0gICAgMTY5LAotLyoqLwotICAgIDE2OCwKLS8qKi8KLSAgICAxNjcsCi0vKiovCi0gICAgMTY2LAotLyoqLwotICAgIDE2NSwKLS8qKi8KLSAgICAxNjQsCi0vKiovCi0gICAgMTYzLAotLyoqLwotICAgIDE2MiwKLS8qKi8KLSAgICAxNjEsCi0vKiovCi0gICAgMTYwLAotLyoqLwotICAgIDE1OSwKLS8qKi8KLSAgICAxNTgsCi0vKiovCi0gICAgMTU3LAotLyoqLwotICAgIDE1NiwKLS8qKi8KLSAgICAxNTUsCi0vKiovCi0gICAgMTU0LAotLyoqLwotICAgIDE1MywKLS8qKi8KLSAgICAxNTIsCi0vKiovCi0gICAgMTUxLAotLyoqLwotICAgIDE1MCwKLS8qKi8KLSAgICAxNDksCi0vKiovCi0gICAgMTQ4LAotLyoqLwotICAgIDE0NywKLS8qKi8KLSAgICAxNDYsCi0vKiovCi0gICAgMTQ1LAotLyoqLwotICAgIDE0NCwKLS8qKi8KLSAgICAxNDMsCi0vKiovCi0gICAgMTQyLAotLyoqLwotICAgIDE0MSwKLS8qKi8KLSAgICAxNDAsCi0vKiovCi0gICAgMTM5LAotLyoqLwotICAgIDEzOCwKLS8qKi8KLSAgICAxMzcsCi0vKiovCi0gICAgMTM2LAotLyoqLwotICAgIDEzNSwKLS8qKi8KLSAgICAxMzQsCi0vKiovCi0gICAgMTMzLAotLyoqLwotICAgIDEzMiwKLS8qKi8KLSAgICAxMzEsCi0vKiovCi0gICAgMTMwLAotLyoqLwotICAgIDEyOSwKLS8qKi8KLSAgICAxMjgsCi0vKiovCi0gICAgMTI3LAotLyoqLwotICAgIDEyNiwKLS8qKi8KLSAgICAxMjUsCi0vKiovCi0gICAgMTI0LAotLyoqLwotICAgIDEyMywKLS8qKi8KLSAgICAxMjIsCi0vKiovCi0gICAgMTIxLAotLyoqLwotICAgIDEyMCwKLS8qKi8KLSAgICAxMTksCi0vKiovCi0gICAgMTE4LAotLyoqLwotICAgIDExNywKLS8qKi8KLSAgICAxMTYsCi0vKiovCi0gICAgMTE1LAotLyoqLwotICAgIDExNCwKLS8qKi8KLSAgICAxMTMsCi0vKiovCi0gICAgMTEyLAotLyoqLwotICAgIDExMSwKLS8qKi8KLSAgICAxMTAsCi0vKiovCi0gICAgMTA5LAotLyoqLwotICAgIDEwOCwKLS8qKi8KLSAgICAxMDcsCi0vKiovCi0gICAgMTA2LAotLyoqLwotICAgIDEwNSwKLS8qKi8KLSAgICAxMDQsCi0vKiovCi0gICAgMTAzLAotLyoqLwotICAgIDEwMiwKLS8qKi8KLSAgICAxMDEsCi0vKiovCi0gICAgMTAwLAotLyoqLwotICAgIDk5LAotLyoqLwotICAgIDk4LAotLyoqLwotICAgIDk3LAotLyoqLwotICAgIDk2LAotLyoqLwotICAgIDk1LAotLyoqLwotICAgIDk0LAotLyoqLwotICAgIDkzLAotLyoqLwotICAgIDkyLAotLyoqLwotICAgIDkxLAotLyoqLwotICAgIDkwLAotLyoqLwotICAgIDg5LAotLyoqLwotICAgIDg4LAotLyoqLwotICAgIDg3LAotLyoqLwotICAgIDg2LAotLyoqLwotICAgIDg1LAotLyoqLwotICAgIDg0LAotLyoqLwotICAgIDgzLAotLyoqLwotICAgIDgyLAotLyoqLwotICAgIDgxLAotLyoqLwotICAgIDgwLAotLyoqLwotICAgIDc5LAotLyoqLwotICAgIDc4LAotLyoqLwotICAgIDc3LAotLyoqLwotICAgIDc2LAotLyoqLwotICAgIDc1LAotLyoqLwotICAgIDc0LAotLyoqLwotICAgIDczLAotLyoqLwotICAgIDcyLAotLyoqLwotICAgIDcxLAotLyoqLwotICAgIDcwLAotLyoqLwotICAgIDY5LAotLyoqLwotICAgIDY4LAotLyoqLwotICAgIDY3LAotLyoqLwotICAgIDY2LAotLyoqLwotICAgIDY1LAotLyoqLwotICAgIDY0LAotLyoqLwotICAgIDYzLAotLyoqLwotICAgIDYyLAotLyoqLwotICAgIDYxLAotLyoqLwotICAgIDYwLAotLyoqLwotICAgIDU5LAotLyoqLwotICAgIDU4LAotLyoqLwotICAgIDU3LAotLyoqLwotICAgIDU2LAotLyoqLwotICAgIDU1LAotLyoqLwotICAgIDU0LAotLyoqLwotICAgIDUzLAotLyoqLwotICAgIDUyLAotLyoqLwotICAgIDUxLAotLyoqLwotICAgIDUwLAotLyoqLwotICAgIDQ5LAotLyoqLwotICAgIDQ4LAotLyoqLwotICAgIDQ3LAotLyoqLwotICAgIDQ2LAotLyoqLwotICAgIDQ1LAotLyoqLwotICAgIDQ0LAotLyoqLwotICAgIDQzLAotLyoqLwotICAgIDQyLAotLyoqLwotICAgIDQxLAotLyoqLwotICAgIDQwLAotLyoqLwotICAgIDM5LAotLyoqLwotICAgIDM4LAotLyoqLwotICAgIDM3LAotLyoqLwotICAgIDM2LAotLyoqLwotICAgIDM1LAotLyoqLwotICAgIDM0LAotLyoqLwotICAgIDMzLAotLyoqLwotICAgIDMyLAotLyoqLwotICAgIDMxLAotLyoqLwotICAgIDMwLAotLyoqLwotICAgIDI5LAotLyoqLwotICAgIDI4LAotLyoqLwotICAgIDI3LAotLyoqLwotICAgIDI2LAotLyoqLwotICAgIDI1LAotLyoqLwotICAgIDI0LAotLyoqLwotICAgIDIzLAotLyoqLwotICAgIDIyLAotLyoqLwotICAgIDIxLAotLyoqLwotICAgIDIwLAotLyoqLwotICAgIDE5LAotLyoqLwotICAgIDE4LAotLyoqLwotICAgIDE3LAotLyoqLwotICAgIDE2LAotLyoqLwotICAgIDE1LAotLyoqLwotICAgIDE0LAotLyoqLwotICAgIDEzLAotLyoqLwotICAgIDEyLAotLyoqLwotICAgIDExLAotLyoqLwotICAgIDEwLAotLyoqLwotICAgIDksCi0vKiovCi0gICAgOCwKLS8qKi8KLSAgICA3LAotLyoqLwotICAgIDYsCi0vKiovCi0gICAgNSwKLS8qKi8KLSAgICA0LAotLyoqLwotICAgIDMsCi0vKiovCi0gICAgMiwKLS8qKi8KLSAgICAxLAotLyoqLwogICAgIDAKIH07CiAKZGlmZiAtLWdpdCBhL3NyYy92ZXJzaW9uLmggYi9zcmMvdmVyc2lvbi5oCmluZGV4IGQ0ZjEzNDQuLjMwN2I3MDQgMTAwNjQ0Ci0tLSBhL3NyYy92ZXJzaW9uLmgKKysrIGIvc3JjL3ZlcnNpb24uaApAQCAtMTUsMTcgKzE1LDE3IEBACiAKICNkZWZpbmUgVklNX1ZFUlNJT05fTUFKT1IJCSA3CiAjZGVmaW5lIFZJTV9WRVJTSU9OX01BSk9SX1NUUgkJIjciCi0jZGVmaW5lIFZJTV9WRVJTSU9OX01JTk9SCQkgMgotI2RlZmluZSBWSU1fVkVSU0lPTl9NSU5PUl9TVFIJCSIyIgorI2RlZmluZSBWSU1fVkVSU0lPTl9NSU5PUgkJIDMKKyNkZWZpbmUgVklNX1ZFUlNJT05fTUlOT1JfU1RSCQkiMyIKICNkZWZpbmUgVklNX1ZFUlNJT05fMTAwCSAgICAoVklNX1ZFUlNJT05fTUFKT1IgKiAxMDAgKyBWSU1fVkVSU0lPTl9NSU5PUikKIAotI2RlZmluZSBWSU1fVkVSU0lPTl9CVUlMRAkJIDI2OQotI2RlZmluZSBWSU1fVkVSU0lPTl9CVUlMRF9CQ0QJCTB4MTBkCi0jZGVmaW5lIFZJTV9WRVJTSU9OX0JVSUxEX1NUUgkJIjI2OSIKKyNkZWZpbmUgVklNX1ZFUlNJT05fQlVJTEQJCSAyNzAKKyNkZWZpbmUgVklNX1ZFUlNJT05fQlVJTERfQkNECQkweDEwZQorI2RlZmluZSBWSU1fVkVSU0lPTl9CVUlMRF9TVFIJCSIyNzAiCiAjZGVmaW5lIFZJTV9WRVJTSU9OX1BBVENITEVWRUwJCSAwCiAjZGVmaW5lIFZJTV9WRVJTSU9OX1BBVENITEVWRUxfU1RSCSIwIgogLyogVXNlZCBieSBNYWNPUyBwb3J0IHNob3VsZCBiZSBvbmUgb2Y6IGRldmVsb3BtZW50LCBhbHBoYSwgYmV0YSwgZmluYWwgKi8KLSNkZWZpbmUgVklNX1ZFUlNJT05fUkVMRUFTRQkJZmluYWwKKyNkZWZpbmUgVklNX1ZFUlNJT05fUkVMRUFTRQkJYmV0YQogCiAvKgogICogVklNX1ZFUlNJT05fTk9ET1QgaXMgdXNlZCBmb3IgdGhlIHJ1bnRpbWUgZGlyZWN0b3J5IG5hbWUuCkBAIC0zMyw4ICszMyw4IEBACiAgKiBWSU1fVkVSU0lPTl9NRURJVU0gaXMgdXNlZCBmb3IgdGhlIHN0YXJ0dXAtc2NyZWVuLgogICogVklNX1ZFUlNJT05fTE9ORyBpcyB1c2VkIGZvciB0aGUgIjp2ZXJzaW9uIiBjb21tYW5kIGFuZCAiVmltIC1oIi4KICAqLwotI2RlZmluZSBWSU1fVkVSU0lPTl9OT0RPVAkidmltNzIiCi0jZGVmaW5lIFZJTV9WRVJTSU9OX1NIT1JUCSI3LjIiCi0jZGVmaW5lIFZJTV9WRVJTSU9OX01FRElVTQkiNy4yIgotI2RlZmluZSBWSU1fVkVSU0lPTl9MT05HCSJWSU0gLSBWaSBJTXByb3ZlZCA3LjIgKDIwMDggQXVnIDkpIgotI2RlZmluZSBWSU1fVkVSU0lPTl9MT05HX0RBVEUJIlZJTSAtIFZpIElNcHJvdmVkIDcuMiAoMjAwOCBBdWcgOSwgY29tcGlsZWQgIgorI2RlZmluZSBWSU1fVkVSU0lPTl9OT0RPVAkidmltNzNhIgorI2RlZmluZSBWSU1fVkVSU0lPTl9TSE9SVAkiNy4zYSIKKyNkZWZpbmUgVklNX1ZFUlNJT05fTUVESVVNCSI3LjNhIEJFVEEiCisjZGVmaW5lIFZJTV9WRVJTSU9OX0xPTkcJIlZJTSAtIFZpIElNcHJvdmVkIDcuMyBCRVRBICgyMDEwIE1heSAxNSkiCisjZGVmaW5lIFZJTV9WRVJTSU9OX0xPTkdfREFURQkiVklNIC0gVmkgSU1wcm92ZWQgNy4zIEJFVEEgKDIwMDggTWF5IDE1LCBjb21waWxlZCAiCmRpZmYgLS1naXQgYS9zcmMvdmltLmRlZiBiL3NyYy92aW0uZGVmCmluZGV4IDU3NzU2OWIuLjNiZTRlNjcgMTAwNjQ0Ci0tLSBhL3NyYy92aW0uZGVmCisrKyBiL3NyYy92aW0uZGVmCkBAIC0xLDQgKzEsNCBAQAogQ09ERSBQUkVMT0FEIEVYRUNVVEVPTkxZCiBEQVRBIE1VTFRJUExFIFNIQVJFRAotREVTQ1JJUFRJT04gJ1ZpbSA3LjInCitERVNDUklQVElPTiAnVmltIDcuM2EnCiBIRUFQU0laRSAwLDAKZGlmZiAtLWdpdCBhL3NyYy92aW0xNi5kZWYgYi9zcmMvdmltMTYuZGVmCmluZGV4IDdiNDE1NTEuLmEyNGFkYmYgMTAwNjQ0Ci0tLSBhL3NyYy92aW0xNi5kZWYKKysrIGIvc3JjL3ZpbTE2LmRlZgpAQCAtMSw1ICsxLDUgQEAKIENPREUgUFJFTE9BRCBFWEVDVVRFT05MWQogREFUQSBNVUxUSVBMRSBTSEFSRUQKLURFU0NSSVBUSU9OICdWaW0gNy4yJworREVTQ1JJUFRJT04gJ1ZpbSA3LjNhJwogU1RBQ0tTSVpFIDE2MDAwCiBIRUFQU0laRSAxMDAwMAo=