ZGlmZiAtLWdpdCBhL0luY2x1ZGUvc3RtMzJmMTAweGIuaCBiL0luY2x1ZGUvc3RtMzJmMTAweGIuaAppbmRleCBlOThlNGM0Li5mM2RhNTVjIDEwMDY0NAotLS0gYS9JbmNsdWRlL3N0bTMyZjEwMHhiLmgKKysrIGIvSW5jbHVkZS9zdG0zMmYxMDB4Yi5oCkBAIC05LDE4ICs5LDE3IEBACiAgICogICAgICAgICAgVGhpcyBmaWxlIGNvbnRhaW5zOgogICAqICAgICAgICAgICAtIERhdGEgc3RydWN0dXJlcyBhbmQgdGhlIGFkZHJlc3MgbWFwcGluZyBmb3IgYWxsIHBlcmlwaGVyYWxzCiAgICogICAgICAgICAgIC0gUGVyaXBoZXJhbCdzIHJlZ2lzdGVycyBkZWNsYXJhdGlvbnMgYW5kIGJpdHMgZGVmaW5pdGlvbgotICAqICAgICAgICAgICAtIE1hY3JvcyB0byBhY2Nlc3MgcGVyaXBoZXJhbJJzIHJlZ2lzdGVycyBoYXJkd2FyZQorICAqICAgICAgICAgICAtIE1hY3JvcyB0byBhY2Nlc3MgcGVyaXBoZXJhbCdzIHJlZ2lzdGVycyBoYXJkd2FyZQogICAqICAKICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiAgICogQGF0dGVudGlvbgogICAqCi0gICogPGgyPjxjZW50ZXI+JmNvcHk7IENvcHlyaWdodCAoYykgMjAxNyBTVE1pY3JvZWxlY3Ryb25pY3MuCi0gICogQWxsIHJpZ2h0cyByZXNlcnZlZC48L2NlbnRlcj48L2gyPgorICAqIENvcHlyaWdodCAoYykgMjAxNy0yMDIxIFNUTWljcm9lbGVjdHJvbmljcy4KKyAgKiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICAqCi0gICogVGhpcyBzb2Z0d2FyZSBjb21wb25lbnQgaXMgbGljZW5zZWQgYnkgU1QgdW5kZXIgQlNEIDMtQ2xhdXNlIGxpY2Vuc2UsCi0gICogdGhlICJMaWNlbnNlIjsgWW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZQotICAqIExpY2Vuc2UuIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdDoKLSAgKiAgICAgICAgICAgICAgICAgICAgICAgIG9wZW5zb3VyY2Uub3JnL2xpY2Vuc2VzL0JTRC0zLUNsYXVzZQorICAqIFRoaXMgc29mdHdhcmUgaXMgbGljZW5zZWQgdW5kZXIgdGVybXMgdGhhdCBjYW4gYmUgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZQorICAqIGluIHRoZSByb290IGRpcmVjdG9yeSBvZiB0aGlzIHNvZnR3YXJlIGNvbXBvbmVudC4KKyAgKiBJZiBubyBMSUNFTlNFIGZpbGUgY29tZXMgd2l0aCB0aGlzIHNvZnR3YXJlLCBpdCBpcyBwcm92aWRlZCBBUy1JUy4KICAgKgogICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKICAgKi8KQEAgLTEzNTAsNyArMTM0OSw3IEBACiAjZGVmaW5lIFJDQ19CRENSX1JUQ1NFTF8wICAgICAgICAgICAgICAgICAgICAoMHgxVUwgPDwgUkNDX0JEQ1JfUlRDU0VMX1BvcykgICAgIC8qITwgMHgwMDAwMDEwMCAqLwogI2RlZmluZSBSQ0NfQkRDUl9SVENTRUxfMSAgICAgICAgICAgICAgICAgICAgKDB4MlVMIDw8IFJDQ19CRENSX1JUQ1NFTF9Qb3MpICAgICAvKiE8IDB4MDAwMDAyMDAgKi8KIAotLyohPCBSVEMgY29uZ2lndXJhdGlvbiAqLworLyohPCBSVEMgY29uZmlndXJhdGlvbiAqLwogI2RlZmluZSBSQ0NfQkRDUl9SVENTRUxfTk9DTE9DSyAgICAgICAgICAgICAgMHgwMDAwMDAwMFUgICAgICAgICAgICAgICAgICAgICAgIC8qITwgTm8gY2xvY2sgKi8KICNkZWZpbmUgUkNDX0JEQ1JfUlRDU0VMX0xTRSAgICAgICAgICAgICAgICAgIDB4MDAwMDAxMDBVICAgICAgICAgICAgICAgICAgICAgICAvKiE8IExTRSBvc2NpbGxhdG9yIGNsb2NrIHVzZWQgYXMgUlRDIGNsb2NrICovCiAjZGVmaW5lIFJDQ19CRENSX1JUQ1NFTF9MU0kgICAgICAgICAgICAgICAgICAweDAwMDAwMjAwVSAgICAgICAgICAgICAgICAgICAgICAgLyohPCBMU0kgb3NjaWxsYXRvciBjbG9jayB1c2VkIGFzIFJUQyBjbG9jayAqLwpAQCAtMzM4MCw3ICszMzc5LDcgQEAKICNkZWZpbmUgQURDX0NSMl9ETUEgICAgICAgICAgICAgICAgICAgICAgICAgQURDX0NSMl9ETUFfTXNrICAgICAgICAgICAgICAgICAgICAvKiE8IEFEQyBETUEgdHJhbnNmZXIgZW5hYmxlICovCiAjZGVmaW5lIEFEQ19DUjJfQUxJR05fUG9zICAgICAgICAgICAgICAgICAgICgxMVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAjZGVmaW5lIEFEQ19DUjJfQUxJR05fTXNrICAgICAgICAgICAgICAgICAgICgweDFVTCA8PCBBRENfQ1IyX0FMSUdOX1BvcykgICAgICAgIC8qITwgMHgwMDAwMDgwMCAqLwotI2RlZmluZSBBRENfQ1IyX0FMSUdOICAgICAgICAgICAgICAgICAgICAgICBBRENfQ1IyX0FMSUdOX01zayAgICAgICAgICAgICAgICAgIC8qITwgQURDIGRhdGEgYWxpZ25lbWVudCAqLworI2RlZmluZSBBRENfQ1IyX0FMSUdOICAgICAgICAgICAgICAgICAgICAgICBBRENfQ1IyX0FMSUdOX01zayAgICAgICAgICAgICAgICAgIC8qITwgQURDIGRhdGEgYWxpZ25tZW50ICovCiAKICNkZWZpbmUgQURDX0NSMl9KRVhUU0VMX1BvcyAgICAgICAgICAgICAgICAgKDEyVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICNkZWZpbmUgQURDX0NSMl9KRVhUU0VMX01zayAgICAgICAgICAgICAgICAgKDB4N1VMIDw8IEFEQ19DUjJfSkVYVFNFTF9Qb3MpICAgICAgLyohPCAweDAwMDA3MDAwICovCkBAIC01OTI3LDE0ICs1OTI2LDE0IEBACiAjZGVmaW5lIFVTQldha2VVcF9JUlFuICAgICAgICAgIENFQ19JUlFuCiAjZGVmaW5lIE9UR19GU19XS1VQX0lSUW4gICAgICAgIENFQ19JUlFuCiAjZGVmaW5lIFRJTTFfQlJLX1RJTTlfSVJRbiAgICAgIFRJTTFfQlJLX1RJTTE1X0lSUW4KLSNkZWZpbmUgVElNMV9CUktfSVJRbiAgICAgICAgICAgVElNMV9CUktfVElNMTVfSVJRbgogI2RlZmluZSBUSU05X0lSUW4gICAgICAgICAgICAgICBUSU0xX0JSS19USU0xNV9JUlFuCi0jZGVmaW5lIFRJTTFfVFJHX0NPTV9JUlFuICAgICAgIFRJTTFfVFJHX0NPTV9USU0xN19JUlFuCisjZGVmaW5lIFRJTTFfQlJLX0lSUW4gICAgICAgICAgIFRJTTFfQlJLX1RJTTE1X0lSUW4KICNkZWZpbmUgVElNMTFfSVJRbiAgICAgICAgICAgICAgVElNMV9UUkdfQ09NX1RJTTE3X0lSUW4KKyNkZWZpbmUgVElNMV9UUkdfQ09NX0lSUW4gICAgICAgVElNMV9UUkdfQ09NX1RJTTE3X0lSUW4KICNkZWZpbmUgVElNMV9UUkdfQ09NX1RJTTExX0lSUW4gVElNMV9UUkdfQ09NX1RJTTE3X0lSUW4KICNkZWZpbmUgVElNMV9VUF9JUlFuICAgICAgICAgICAgVElNMV9VUF9USU0xNl9JUlFuCi0jZGVmaW5lIFRJTTFfVVBfVElNMTBfSVJRbiAgICAgIFRJTTFfVVBfVElNMTZfSVJRbgogI2RlZmluZSBUSU0xMF9JUlFuICAgICAgICAgICAgICBUSU0xX1VQX1RJTTE2X0lSUW4KKyNkZWZpbmUgVElNMV9VUF9USU0xMF9JUlFuICAgICAgVElNMV9VUF9USU0xNl9JUlFuCiAjZGVmaW5lIFRJTTZfSVJRbiAgICAgICAgICAgICAgIFRJTTZfREFDX0lSUW4KIAogCkBAIC01OTQzLDE0ICs1OTQyLDE0IEBACiAjZGVmaW5lIFVTQldha2VVcF9JUlFIYW5kbGVyICAgICAgICAgIENFQ19JUlFIYW5kbGVyCiAjZGVmaW5lIE9UR19GU19XS1VQX0lSUUhhbmRsZXIgICAgICAgIENFQ19JUlFIYW5kbGVyCiAjZGVmaW5lIFRJTTFfQlJLX1RJTTlfSVJRSGFuZGxlciAgICAgIFRJTTFfQlJLX1RJTTE1X0lSUUhhbmRsZXIKLSNkZWZpbmUgVElNMV9CUktfSVJRSGFuZGxlciAgICAgICAgICAgVElNMV9CUktfVElNMTVfSVJRSGFuZGxlcgogI2RlZmluZSBUSU05X0lSUUhhbmRsZXIgICAgICAgICAgICAgICBUSU0xX0JSS19USU0xNV9JUlFIYW5kbGVyCi0jZGVmaW5lIFRJTTFfVFJHX0NPTV9JUlFIYW5kbGVyICAgICAgIFRJTTFfVFJHX0NPTV9USU0xN19JUlFIYW5kbGVyCisjZGVmaW5lIFRJTTFfQlJLX0lSUUhhbmRsZXIgICAgICAgICAgIFRJTTFfQlJLX1RJTTE1X0lSUUhhbmRsZXIKICNkZWZpbmUgVElNMTFfSVJRSGFuZGxlciAgICAgICAgICAgICAgVElNMV9UUkdfQ09NX1RJTTE3X0lSUUhhbmRsZXIKKyNkZWZpbmUgVElNMV9UUkdfQ09NX0lSUUhhbmRsZXIgICAgICAgVElNMV9UUkdfQ09NX1RJTTE3X0lSUUhhbmRsZXIKICNkZWZpbmUgVElNMV9UUkdfQ09NX1RJTTExX0lSUUhhbmRsZXIgVElNMV9UUkdfQ09NX1RJTTE3X0lSUUhhbmRsZXIKICNkZWZpbmUgVElNMV9VUF9JUlFIYW5kbGVyICAgICAgICAgICAgVElNMV9VUF9USU0xNl9JUlFIYW5kbGVyCi0jZGVmaW5lIFRJTTFfVVBfVElNMTBfSVJRSGFuZGxlciAgICAgIFRJTTFfVVBfVElNMTZfSVJRSGFuZGxlcgogI2RlZmluZSBUSU0xMF9JUlFIYW5kbGVyICAgICAgICAgICAgICBUSU0xX1VQX1RJTTE2X0lSUUhhbmRsZXIKKyNkZWZpbmUgVElNMV9VUF9USU0xMF9JUlFIYW5kbGVyICAgICAgVElNMV9VUF9USU0xNl9JUlFIYW5kbGVyCiAjZGVmaW5lIFRJTTZfSVJRSGFuZGxlciAgICAgICAgICAgICAgIFRJTTZfREFDX0lSUUhhbmRsZXIKIAogCkBAIC01OTcwLDUgKzU5NjksNCBAQAogI2VuZGlmIC8qIF9fU1RNMzJGMTAweEJfSCAqLwogICAKICAgCi0gIAotICAvKioqKioqKioqKioqKioqKioqKioqKioqIChDKSBDT1BZUklHSFQgU1RNaWNyb2VsZWN0cm9uaWNzICoqKioqRU5EIE9GIEZJTEUqKioqLworCmRpZmYgLS1naXQgYS9JbmNsdWRlL3N0bTMyZjEwMHhlLmggYi9JbmNsdWRlL3N0bTMyZjEwMHhlLmgKaW5kZXggYWJlNzFlZS4uYTg3NThiZiAxMDA2NDQKLS0tIGEvSW5jbHVkZS9zdG0zMmYxMDB4ZS5oCisrKyBiL0luY2x1ZGUvc3RtMzJmMTAweGUuaApAQCAtOSwxOCArOSwxNyBAQAogICAqICAgICAgICAgIFRoaXMgZmlsZSBjb250YWluczoKICAgKiAgICAgICAgICAgLSBEYXRhIHN0cnVjdHVyZXMgYW5kIHRoZSBhZGRyZXNzIG1hcHBpbmcgZm9yIGFsbCBwZXJpcGhlcmFscwogICAqICAgICAgICAgICAtIFBlcmlwaGVyYWwncyByZWdpc3RlcnMgZGVjbGFyYXRpb25zIGFuZCBiaXRzIGRlZmluaXRpb24KLSAgKiAgICAgICAgICAgLSBNYWNyb3MgdG8gYWNjZXNzIHBlcmlwaGVyYWyScyByZWdpc3RlcnMgaGFyZHdhcmUKKyAgKiAgICAgICAgICAgLSBNYWNyb3MgdG8gYWNjZXNzIHBlcmlwaGVyYWwncyByZWdpc3RlcnMgaGFyZHdhcmUKICAgKiAgCiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogICAqIEBhdHRlbnRpb24KICAgKgotICAqIDxoMj48Y2VudGVyPiZjb3B5OyBDb3B5cmlnaHQgKGMpIDIwMTcgU1RNaWNyb2VsZWN0cm9uaWNzLgotICAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuPC9jZW50ZXI+PC9oMj4KKyAgKiBDb3B5cmlnaHQgKGMpIDIwMTctMjAyMSBTVE1pY3JvZWxlY3Ryb25pY3MuCisgICogQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAgKgotICAqIFRoaXMgc29mdHdhcmUgY29tcG9uZW50IGlzIGxpY2Vuc2VkIGJ5IFNUIHVuZGVyIEJTRCAzLUNsYXVzZSBsaWNlbnNlLAotICAqIHRoZSAiTGljZW5zZSI7IFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUKLSAgKiBMaWNlbnNlLiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXQ6Ci0gICogICAgICAgICAgICAgICAgICAgICAgICBvcGVuc291cmNlLm9yZy9saWNlbnNlcy9CU0QtMy1DbGF1c2UKKyAgKiBUaGlzIHNvZnR3YXJlIGlzIGxpY2Vuc2VkIHVuZGVyIHRlcm1zIHRoYXQgY2FuIGJlIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUKKyAgKiBpbiB0aGUgcm9vdCBkaXJlY3Rvcnkgb2YgdGhpcyBzb2Z0d2FyZSBjb21wb25lbnQuCisgICogSWYgbm8gTElDRU5TRSBmaWxlIGNvbWVzIHdpdGggdGhpcyBzb2Z0d2FyZSwgaXQgaXMgcHJvdmlkZWQgQVMtSVMuCiAgICoKICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiAgICovCkBAIC0xNjc5LDcgKzE2NzgsNyBAQAogI2RlZmluZSBSQ0NfQkRDUl9SVENTRUxfMCAgICAgICAgICAgICAgICAgICAgKDB4MVVMIDw8IFJDQ19CRENSX1JUQ1NFTF9Qb3MpICAgICAvKiE8IDB4MDAwMDAxMDAgKi8KICNkZWZpbmUgUkNDX0JEQ1JfUlRDU0VMXzEgICAgICAgICAgICAgICAgICAgICgweDJVTCA8PCBSQ0NfQkRDUl9SVENTRUxfUG9zKSAgICAgLyohPCAweDAwMDAwMjAwICovCiAKLS8qITwgUlRDIGNvbmdpZ3VyYXRpb24gKi8KKy8qITwgUlRDIGNvbmZpZ3VyYXRpb24gKi8KICNkZWZpbmUgUkNDX0JEQ1JfUlRDU0VMX05PQ0xPQ0sgICAgICAgICAgICAgIDB4MDAwMDAwMDBVICAgICAgICAgICAgICAgICAgICAgICAvKiE8IE5vIGNsb2NrICovCiAjZGVmaW5lIFJDQ19CRENSX1JUQ1NFTF9MU0UgICAgICAgICAgICAgICAgICAweDAwMDAwMTAwVSAgICAgICAgICAgICAgICAgICAgICAgLyohPCBMU0Ugb3NjaWxsYXRvciBjbG9jayB1c2VkIGFzIFJUQyBjbG9jayAqLwogI2RlZmluZSBSQ0NfQkRDUl9SVENTRUxfTFNJICAgICAgICAgICAgICAgICAgMHgwMDAwMDIwMFUgICAgICAgICAgICAgICAgICAgICAgIC8qITwgTFNJIG9zY2lsbGF0b3IgY2xvY2sgdXNlZCBhcyBSVEMgY2xvY2sgKi8KQEAgLTM3MjcsNyArMzcyNiw3IEBACiAjZGVmaW5lIEFEQ19DUjJfRE1BICAgICAgICAgICAgICAgICAgICAgICAgIEFEQ19DUjJfRE1BX01zayAgICAgICAgICAgICAgICAgICAgLyohPCBBREMgRE1BIHRyYW5zZmVyIGVuYWJsZSAqLwogI2RlZmluZSBBRENfQ1IyX0FMSUdOX1BvcyAgICAgICAgICAgICAgICAgICAoMTFVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogI2RlZmluZSBBRENfQ1IyX0FMSUdOX01zayAgICAgICAgICAgICAgICAgICAoMHgxVUwgPDwgQURDX0NSMl9BTElHTl9Qb3MpICAgICAgICAvKiE8IDB4MDAwMDA4MDAgKi8KLSNkZWZpbmUgQURDX0NSMl9BTElHTiAgICAgICAgICAgICAgICAgICAgICAgQURDX0NSMl9BTElHTl9Nc2sgICAgICAgICAgICAgICAgICAvKiE8IEFEQyBkYXRhIGFsaWduZW1lbnQgKi8KKyNkZWZpbmUgQURDX0NSMl9BTElHTiAgICAgICAgICAgICAgICAgICAgICAgQURDX0NSMl9BTElHTl9Nc2sgICAgICAgICAgICAgICAgICAvKiE8IEFEQyBkYXRhIGFsaWdubWVudCAqLwogCiAjZGVmaW5lIEFEQ19DUjJfSkVYVFNFTF9Qb3MgICAgICAgICAgICAgICAgICgxMlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAjZGVmaW5lIEFEQ19DUjJfSkVYVFNFTF9Nc2sgICAgICAgICAgICAgICAgICgweDdVTCA8PCBBRENfQ1IyX0pFWFRTRUxfUG9zKSAgICAgIC8qITwgMHgwMDAwNzAwMCAqLwpAQCAtNjUyOSwyMCArNjUyOCwyMCBAQAogI2RlZmluZSBBREMxXzJfSVJRbiAgICAgICAgICAgICBBREMxX0lSUW4KICNkZWZpbmUgT1RHX0ZTX1dLVVBfSVJRbiAgICAgICAgQ0VDX0lSUW4KICNkZWZpbmUgVVNCV2FrZVVwX0lSUW4gICAgICAgICAgQ0VDX0lSUW4KLSNkZWZpbmUgVElNOF9CUktfSVJRbiAgICAgICAgICAgVElNMTJfSVJRbgogI2RlZmluZSBUSU04X0JSS19USU0xMl9JUlFuICAgICBUSU0xMl9JUlFuCisjZGVmaW5lIFRJTThfQlJLX0lSUW4gICAgICAgICAgIFRJTTEyX0lSUW4KICNkZWZpbmUgVElNOF9VUF9JUlFuICAgICAgICAgICAgVElNMTNfSVJRbgogI2RlZmluZSBUSU04X1VQX1RJTTEzX0lSUW4gICAgICBUSU0xM19JUlFuCiAjZGVmaW5lIFRJTThfVFJHX0NPTV9USU0xNF9JUlFuIFRJTTE0X0lSUW4KICNkZWZpbmUgVElNOF9UUkdfQ09NX0lSUW4gICAgICAgVElNMTRfSVJRbgotI2RlZmluZSBUSU05X0lSUW4gICAgICAgICAgICAgICBUSU0xX0JSS19USU0xNV9JUlFuCiAjZGVmaW5lIFRJTTFfQlJLX0lSUW4gICAgICAgICAgIFRJTTFfQlJLX1RJTTE1X0lSUW4KICNkZWZpbmUgVElNMV9CUktfVElNOV9JUlFuICAgICAgVElNMV9CUktfVElNMTVfSVJRbgotI2RlZmluZSBUSU0xX1RSR19DT01fVElNMTFfSVJRbiBUSU0xX1RSR19DT01fVElNMTdfSVJRbgorI2RlZmluZSBUSU05X0lSUW4gICAgICAgICAgICAgICBUSU0xX0JSS19USU0xNV9JUlFuCiAjZGVmaW5lIFRJTTFfVFJHX0NPTV9JUlFuICAgICAgIFRJTTFfVFJHX0NPTV9USU0xN19JUlFuCisjZGVmaW5lIFRJTTFfVFJHX0NPTV9USU0xMV9JUlFuIFRJTTFfVFJHX0NPTV9USU0xN19JUlFuCiAjZGVmaW5lIFRJTTExX0lSUW4gICAgICAgICAgICAgIFRJTTFfVFJHX0NPTV9USU0xN19JUlFuCi0jZGVmaW5lIFRJTTEwX0lSUW4gICAgICAgICAgICAgIFRJTTFfVVBfVElNMTZfSVJRbgogI2RlZmluZSBUSU0xX1VQX1RJTTEwX0lSUW4gICAgICBUSU0xX1VQX1RJTTE2X0lSUW4KKyNkZWZpbmUgVElNMTBfSVJRbiAgICAgICAgICAgICAgVElNMV9VUF9USU0xNl9JUlFuCiAjZGVmaW5lIFRJTTFfVVBfSVJRbiAgICAgICAgICAgIFRJTTFfVVBfVElNMTZfSVJRbgogI2RlZmluZSBUSU02X0lSUW4gICAgICAgICAgICAgICBUSU02X0RBQ19JUlFuCiAKQEAgLTY1NTEsMjAgKzY1NTAsMjAgQEAKICNkZWZpbmUgQURDMV8yX0lSUUhhbmRsZXIgICAgICAgICAgICAgQURDMV9JUlFIYW5kbGVyCiAjZGVmaW5lIE9UR19GU19XS1VQX0lSUUhhbmRsZXIgICAgICAgIENFQ19JUlFIYW5kbGVyCiAjZGVmaW5lIFVTQldha2VVcF9JUlFIYW5kbGVyICAgICAgICAgIENFQ19JUlFIYW5kbGVyCi0jZGVmaW5lIFRJTThfQlJLX0lSUUhhbmRsZXIgICAgICAgICAgIFRJTTEyX0lSUUhhbmRsZXIKICNkZWZpbmUgVElNOF9CUktfVElNMTJfSVJRSGFuZGxlciAgICAgVElNMTJfSVJRSGFuZGxlcgorI2RlZmluZSBUSU04X0JSS19JUlFIYW5kbGVyICAgICAgICAgICBUSU0xMl9JUlFIYW5kbGVyCiAjZGVmaW5lIFRJTThfVVBfSVJRSGFuZGxlciAgICAgICAgICAgIFRJTTEzX0lSUUhhbmRsZXIKICNkZWZpbmUgVElNOF9VUF9USU0xM19JUlFIYW5kbGVyICAgICAgVElNMTNfSVJRSGFuZGxlcgogI2RlZmluZSBUSU04X1RSR19DT01fVElNMTRfSVJRSGFuZGxlciBUSU0xNF9JUlFIYW5kbGVyCiAjZGVmaW5lIFRJTThfVFJHX0NPTV9JUlFIYW5kbGVyICAgICAgIFRJTTE0X0lSUUhhbmRsZXIKLSNkZWZpbmUgVElNOV9JUlFIYW5kbGVyICAgICAgICAgICAgICAgVElNMV9CUktfVElNMTVfSVJRSGFuZGxlcgogI2RlZmluZSBUSU0xX0JSS19JUlFIYW5kbGVyICAgICAgICAgICBUSU0xX0JSS19USU0xNV9JUlFIYW5kbGVyCiAjZGVmaW5lIFRJTTFfQlJLX1RJTTlfSVJRSGFuZGxlciAgICAgIFRJTTFfQlJLX1RJTTE1X0lSUUhhbmRsZXIKLSNkZWZpbmUgVElNMV9UUkdfQ09NX1RJTTExX0lSUUhhbmRsZXIgVElNMV9UUkdfQ09NX1RJTTE3X0lSUUhhbmRsZXIKKyNkZWZpbmUgVElNOV9JUlFIYW5kbGVyICAgICAgICAgICAgICAgVElNMV9CUktfVElNMTVfSVJRSGFuZGxlcgogI2RlZmluZSBUSU0xX1RSR19DT01fSVJRSGFuZGxlciAgICAgICBUSU0xX1RSR19DT01fVElNMTdfSVJRSGFuZGxlcgorI2RlZmluZSBUSU0xX1RSR19DT01fVElNMTFfSVJRSGFuZGxlciBUSU0xX1RSR19DT01fVElNMTdfSVJRSGFuZGxlcgogI2RlZmluZSBUSU0xMV9JUlFIYW5kbGVyICAgICAgICAgICAgICBUSU0xX1RSR19DT01fVElNMTdfSVJRSGFuZGxlcgotI2RlZmluZSBUSU0xMF9JUlFIYW5kbGVyICAgICAgICAgICAgICBUSU0xX1VQX1RJTTE2X0lSUUhhbmRsZXIKICNkZWZpbmUgVElNMV9VUF9USU0xMF9JUlFIYW5kbGVyICAgICAgVElNMV9VUF9USU0xNl9JUlFIYW5kbGVyCisjZGVmaW5lIFRJTTEwX0lSUUhhbmRsZXIgICAgICAgICAgICAgIFRJTTFfVVBfVElNMTZfSVJRSGFuZGxlcgogI2RlZmluZSBUSU0xX1VQX0lSUUhhbmRsZXIgICAgICAgICAgICBUSU0xX1VQX1RJTTE2X0lSUUhhbmRsZXIKICNkZWZpbmUgVElNNl9JUlFIYW5kbGVyICAgICAgICAgICAgICAgVElNNl9EQUNfSVJRSGFuZGxlcgogCkBAIC02NTg1LDUgKzY1ODQsNCBAQAogI2VuZGlmIC8qIF9fU1RNMzJGMTAweEVfSCAqLwogICAKICAgCi0gIAotICAvKioqKioqKioqKioqKioqKioqKioqKioqIChDKSBDT1BZUklHSFQgU1RNaWNyb2VsZWN0cm9uaWNzICoqKioqRU5EIE9GIEZJTEUqKioqLworCmRpZmYgLS1naXQgYS9JbmNsdWRlL3N0bTMyZjEwMXg2LmggYi9JbmNsdWRlL3N0bTMyZjEwMXg2LmgKaW5kZXggZGQ4MDcyOC4uODMxOTljMyAxMDA2NDQKLS0tIGEvSW5jbHVkZS9zdG0zMmYxMDF4Ni5oCisrKyBiL0luY2x1ZGUvc3RtMzJmMTAxeDYuaApAQCAtOSwxOCArOSwxNyBAQAogICAqICAgICAgICAgIFRoaXMgZmlsZSBjb250YWluczoKICAgKiAgICAgICAgICAgLSBEYXRhIHN0cnVjdHVyZXMgYW5kIHRoZSBhZGRyZXNzIG1hcHBpbmcgZm9yIGFsbCBwZXJpcGhlcmFscwogICAqICAgICAgICAgICAtIFBlcmlwaGVyYWwncyByZWdpc3RlcnMgZGVjbGFyYXRpb25zIGFuZCBiaXRzIGRlZmluaXRpb24KLSAgKiAgICAgICAgICAgLSBNYWNyb3MgdG8gYWNjZXNzIHBlcmlwaGVyYWyScyByZWdpc3RlcnMgaGFyZHdhcmUKKyAgKiAgICAgICAgICAgLSBNYWNyb3MgdG8gYWNjZXNzIHBlcmlwaGVyYWwncyByZWdpc3RlcnMgaGFyZHdhcmUKICAgKiAgCiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogICAqIEBhdHRlbnRpb24KICAgKgotICAqIDxoMj48Y2VudGVyPiZjb3B5OyBDb3B5cmlnaHQgKGMpIDIwMTcgU1RNaWNyb2VsZWN0cm9uaWNzLgotICAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuPC9jZW50ZXI+PC9oMj4KKyAgKiBDb3B5cmlnaHQgKGMpIDIwMTctMjAyMSBTVE1pY3JvZWxlY3Ryb25pY3MuCisgICogQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAgKgotICAqIFRoaXMgc29mdHdhcmUgY29tcG9uZW50IGlzIGxpY2Vuc2VkIGJ5IFNUIHVuZGVyIEJTRCAzLUNsYXVzZSBsaWNlbnNlLAotICAqIHRoZSAiTGljZW5zZSI7IFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUKLSAgKiBMaWNlbnNlLiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXQ6Ci0gICogICAgICAgICAgICAgICAgICAgICAgICBvcGVuc291cmNlLm9yZy9saWNlbnNlcy9CU0QtMy1DbGF1c2UKKyAgKiBUaGlzIHNvZnR3YXJlIGlzIGxpY2Vuc2VkIHVuZGVyIHRlcm1zIHRoYXQgY2FuIGJlIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUKKyAgKiBpbiB0aGUgcm9vdCBkaXJlY3Rvcnkgb2YgdGhpcyBzb2Z0d2FyZSBjb21wb25lbnQuCisgICogSWYgbm8gTElDRU5TRSBmaWxlIGNvbWVzIHdpdGggdGhpcyBzb2Z0d2FyZSwgaXQgaXMgcHJvdmlkZWQgQVMtSVMuCiAgICoKICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiAgICovCkBAIC0xMjAzLDcgKzEyMDIsNyBAQAogI2RlZmluZSBSQ0NfQkRDUl9SVENTRUxfMCAgICAgICAgICAgICAgICAgICAgKDB4MVVMIDw8IFJDQ19CRENSX1JUQ1NFTF9Qb3MpICAgICAvKiE8IDB4MDAwMDAxMDAgKi8KICNkZWZpbmUgUkNDX0JEQ1JfUlRDU0VMXzEgICAgICAgICAgICAgICAgICAgICgweDJVTCA8PCBSQ0NfQkRDUl9SVENTRUxfUG9zKSAgICAgLyohPCAweDAwMDAwMjAwICovCiAKLS8qITwgUlRDIGNvbmdpZ3VyYXRpb24gKi8KKy8qITwgUlRDIGNvbmZpZ3VyYXRpb24gKi8KICNkZWZpbmUgUkNDX0JEQ1JfUlRDU0VMX05PQ0xPQ0sgICAgICAgICAgICAgIDB4MDAwMDAwMDBVICAgICAgICAgICAgICAgICAgICAgICAvKiE8IE5vIGNsb2NrICovCiAjZGVmaW5lIFJDQ19CRENSX1JUQ1NFTF9MU0UgICAgICAgICAgICAgICAgICAweDAwMDAwMTAwVSAgICAgICAgICAgICAgICAgICAgICAgLyohPCBMU0Ugb3NjaWxsYXRvciBjbG9jayB1c2VkIGFzIFJUQyBjbG9jayAqLwogI2RlZmluZSBSQ0NfQkRDUl9SVENTRUxfTFNJICAgICAgICAgICAgICAgICAgMHgwMDAwMDIwMFUgICAgICAgICAgICAgICAgICAgICAgIC8qITwgTFNJIG9zY2lsbGF0b3IgY2xvY2sgdXNlZCBhcyBSVEMgY2xvY2sgKi8KQEAgLTMxNjYsNyArMzE2NSw3IEBACiAjZGVmaW5lIEFEQ19DUjJfRE1BICAgICAgICAgICAgICAgICAgICAgICAgIEFEQ19DUjJfRE1BX01zayAgICAgICAgICAgICAgICAgICAgLyohPCBBREMgRE1BIHRyYW5zZmVyIGVuYWJsZSAqLwogI2RlZmluZSBBRENfQ1IyX0FMSUdOX1BvcyAgICAgICAgICAgICAgICAgICAoMTFVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogI2RlZmluZSBBRENfQ1IyX0FMSUdOX01zayAgICAgICAgICAgICAgICAgICAoMHgxVUwgPDwgQURDX0NSMl9BTElHTl9Qb3MpICAgICAgICAvKiE8IDB4MDAwMDA4MDAgKi8KLSNkZWZpbmUgQURDX0NSMl9BTElHTiAgICAgICAgICAgICAgICAgICAgICAgQURDX0NSMl9BTElHTl9Nc2sgICAgICAgICAgICAgICAgICAvKiE8IEFEQyBkYXRhIGFsaWduZW1lbnQgKi8KKyNkZWZpbmUgQURDX0NSMl9BTElHTiAgICAgICAgICAgICAgICAgICAgICAgQURDX0NSMl9BTElHTl9Nc2sgICAgICAgICAgICAgICAgICAvKiE8IEFEQyBkYXRhIGFsaWdubWVudCAqLwogCiAjZGVmaW5lIEFEQ19DUjJfSkVYVFNFTF9Qb3MgICAgICAgICAgICAgICAgICgxMlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAjZGVmaW5lIEFEQ19DUjJfSkVYVFNFTF9Nc2sgICAgICAgICAgICAgICAgICgweDdVTCA8PCBBRENfQ1IyX0pFWFRTRUxfUG9zKSAgICAgIC8qITwgMHgwMDAwNzAwMCAqLwpAQCAtNTMxMyw1ICs1MzEyLDQgQEAKICNlbmRpZiAvKiBfX1NUTTMyRjEwMXg2X0ggKi8KICAgCiAgIAotICAKLSAgLyoqKioqKioqKioqKioqKioqKioqKioqKiAoQykgQ09QWVJJR0hUIFNUTWljcm9lbGVjdHJvbmljcyAqKioqKkVORCBPRiBGSUxFKioqKi8KKwpkaWZmIC0tZ2l0IGEvSW5jbHVkZS9zdG0zMmYxMDF4Yi5oIGIvSW5jbHVkZS9zdG0zMmYxMDF4Yi5oCmluZGV4IGM5MTI4ZjAuLjc2ZWZkMDkgMTAwNjQ0Ci0tLSBhL0luY2x1ZGUvc3RtMzJmMTAxeGIuaAorKysgYi9JbmNsdWRlL3N0bTMyZjEwMXhiLmgKQEAgLTksMTggKzksMTcgQEAKICAgKiAgICAgICAgICBUaGlzIGZpbGUgY29udGFpbnM6CiAgICogICAgICAgICAgIC0gRGF0YSBzdHJ1Y3R1cmVzIGFuZCB0aGUgYWRkcmVzcyBtYXBwaW5nIGZvciBhbGwgcGVyaXBoZXJhbHMKICAgKiAgICAgICAgICAgLSBQZXJpcGhlcmFsJ3MgcmVnaXN0ZXJzIGRlY2xhcmF0aW9ucyBhbmQgYml0cyBkZWZpbml0aW9uCi0gICogICAgICAgICAgIC0gTWFjcm9zIHRvIGFjY2VzcyBwZXJpcGhlcmFsknMgcmVnaXN0ZXJzIGhhcmR3YXJlCisgICogICAgICAgICAgIC0gTWFjcm9zIHRvIGFjY2VzcyBwZXJpcGhlcmFsJ3MgcmVnaXN0ZXJzIGhhcmR3YXJlCiAgICogIAogICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKICAgKiBAYXR0ZW50aW9uCiAgICoKLSAgKiA8aDI+PGNlbnRlcj4mY29weTsgQ29weXJpZ2h0IChjKSAyMDE3IFNUTWljcm9lbGVjdHJvbmljcy4KLSAgKiBBbGwgcmlnaHRzIHJlc2VydmVkLjwvY2VudGVyPjwvaDI+CisgICogQ29weXJpZ2h0IChjKSAyMDE3LTIwMjEgU1RNaWNyb2VsZWN0cm9uaWNzLgorICAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgICoKLSAgKiBUaGlzIHNvZnR3YXJlIGNvbXBvbmVudCBpcyBsaWNlbnNlZCBieSBTVCB1bmRlciBCU0QgMy1DbGF1c2UgbGljZW5zZSwKLSAgKiB0aGUgIkxpY2Vuc2UiOyBZb3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlCi0gICogTGljZW5zZS4gWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0OgotICAqICAgICAgICAgICAgICAgICAgICAgICAgb3BlbnNvdXJjZS5vcmcvbGljZW5zZXMvQlNELTMtQ2xhdXNlCisgICogVGhpcyBzb2Z0d2FyZSBpcyBsaWNlbnNlZCB1bmRlciB0ZXJtcyB0aGF0IGNhbiBiZSBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlCisgICogaW4gdGhlIHJvb3QgZGlyZWN0b3J5IG9mIHRoaXMgc29mdHdhcmUgY29tcG9uZW50LgorICAqIElmIG5vIExJQ0VOU0UgZmlsZSBjb21lcyB3aXRoIHRoaXMgc29mdHdhcmUsIGl0IGlzIHByb3ZpZGVkIEFTLUlTLgogICAqCiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogICAqLwpAQCAtMTI0OCw3ICsxMjQ3LDcgQEAKICNkZWZpbmUgUkNDX0JEQ1JfUlRDU0VMXzAgICAgICAgICAgICAgICAgICAgICgweDFVTCA8PCBSQ0NfQkRDUl9SVENTRUxfUG9zKSAgICAgLyohPCAweDAwMDAwMTAwICovCiAjZGVmaW5lIFJDQ19CRENSX1JUQ1NFTF8xICAgICAgICAgICAgICAgICAgICAoMHgyVUwgPDwgUkNDX0JEQ1JfUlRDU0VMX1BvcykgICAgIC8qITwgMHgwMDAwMDIwMCAqLwogCi0vKiE8IFJUQyBjb25naWd1cmF0aW9uICovCisvKiE8IFJUQyBjb25maWd1cmF0aW9uICovCiAjZGVmaW5lIFJDQ19CRENSX1JUQ1NFTF9OT0NMT0NLICAgICAgICAgICAgICAweDAwMDAwMDAwVSAgICAgICAgICAgICAgICAgICAgICAgLyohPCBObyBjbG9jayAqLwogI2RlZmluZSBSQ0NfQkRDUl9SVENTRUxfTFNFICAgICAgICAgICAgICAgICAgMHgwMDAwMDEwMFUgICAgICAgICAgICAgICAgICAgICAgIC8qITwgTFNFIG9zY2lsbGF0b3IgY2xvY2sgdXNlZCBhcyBSVEMgY2xvY2sgKi8KICNkZWZpbmUgUkNDX0JEQ1JfUlRDU0VMX0xTSSAgICAgICAgICAgICAgICAgIDB4MDAwMDAyMDBVICAgICAgICAgICAgICAgICAgICAgICAvKiE8IExTSSBvc2NpbGxhdG9yIGNsb2NrIHVzZWQgYXMgUlRDIGNsb2NrICovCkBAIC0zMjI4LDcgKzMyMjcsNyBAQAogI2RlZmluZSBBRENfQ1IyX0RNQSAgICAgICAgICAgICAgICAgICAgICAgICBBRENfQ1IyX0RNQV9Nc2sgICAgICAgICAgICAgICAgICAgIC8qITwgQURDIERNQSB0cmFuc2ZlciBlbmFibGUgKi8KICNkZWZpbmUgQURDX0NSMl9BTElHTl9Qb3MgICAgICAgICAgICAgICAgICAgKDExVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICNkZWZpbmUgQURDX0NSMl9BTElHTl9Nc2sgICAgICAgICAgICAgICAgICAgKDB4MVVMIDw8IEFEQ19DUjJfQUxJR05fUG9zKSAgICAgICAgLyohPCAweDAwMDAwODAwICovCi0jZGVmaW5lIEFEQ19DUjJfQUxJR04gICAgICAgICAgICAgICAgICAgICAgIEFEQ19DUjJfQUxJR05fTXNrICAgICAgICAgICAgICAgICAgLyohPCBBREMgZGF0YSBhbGlnbmVtZW50ICovCisjZGVmaW5lIEFEQ19DUjJfQUxJR04gICAgICAgICAgICAgICAgICAgICAgIEFEQ19DUjJfQUxJR05fTXNrICAgICAgICAgICAgICAgICAgLyohPCBBREMgZGF0YSBhbGlnbm1lbnQgKi8KIAogI2RlZmluZSBBRENfQ1IyX0pFWFRTRUxfUG9zICAgICAgICAgICAgICAgICAoMTJVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogI2RlZmluZSBBRENfQ1IyX0pFWFRTRUxfTXNrICAgICAgICAgICAgICAgICAoMHg3VUwgPDwgQURDX0NSMl9KRVhUU0VMX1BvcykgICAgICAvKiE8IDB4MDAwMDcwMDAgKi8KQEAgLTU0NDQsNSArNTQ0Myw0IEBACiAjZW5kaWYgLyogX19TVE0zMkYxMDF4Ql9IICovCiAgIAogICAKLSAgCi0gIC8qKioqKioqKioqKioqKioqKioqKioqKiogKEMpIENPUFlSSUdIVCBTVE1pY3JvZWxlY3Ryb25pY3MgKioqKipFTkQgT0YgRklMRSoqKiovCisKZGlmZiAtLWdpdCBhL0luY2x1ZGUvc3RtMzJmMTAxeGUuaCBiL0luY2x1ZGUvc3RtMzJmMTAxeGUuaAppbmRleCAzZTljMmY2Li40MThmZWM3IDEwMDY0NAotLS0gYS9JbmNsdWRlL3N0bTMyZjEwMXhlLmgKKysrIGIvSW5jbHVkZS9zdG0zMmYxMDF4ZS5oCkBAIC05LDE4ICs5LDE3IEBACiAgICogICAgICAgICAgVGhpcyBmaWxlIGNvbnRhaW5zOgogICAqICAgICAgICAgICAtIERhdGEgc3RydWN0dXJlcyBhbmQgdGhlIGFkZHJlc3MgbWFwcGluZyBmb3IgYWxsIHBlcmlwaGVyYWxzCiAgICogICAgICAgICAgIC0gUGVyaXBoZXJhbCdzIHJlZ2lzdGVycyBkZWNsYXJhdGlvbnMgYW5kIGJpdHMgZGVmaW5pdGlvbgotICAqICAgICAgICAgICAtIE1hY3JvcyB0byBhY2Nlc3MgcGVyaXBoZXJhbJJzIHJlZ2lzdGVycyBoYXJkd2FyZQorICAqICAgICAgICAgICAtIE1hY3JvcyB0byBhY2Nlc3MgcGVyaXBoZXJhbCdzIHJlZ2lzdGVycyBoYXJkd2FyZQogICAqICAKICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiAgICogQGF0dGVudGlvbgogICAqCi0gICogPGgyPjxjZW50ZXI+JmNvcHk7IENvcHlyaWdodCAoYykgMjAxNyBTVE1pY3JvZWxlY3Ryb25pY3MuCi0gICogQWxsIHJpZ2h0cyByZXNlcnZlZC48L2NlbnRlcj48L2gyPgorICAqIENvcHlyaWdodCAoYykgMjAxNy0yMDIxIFNUTWljcm9lbGVjdHJvbmljcy4KKyAgKiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICAqCi0gICogVGhpcyBzb2Z0d2FyZSBjb21wb25lbnQgaXMgbGljZW5zZWQgYnkgU1QgdW5kZXIgQlNEIDMtQ2xhdXNlIGxpY2Vuc2UsCi0gICogdGhlICJMaWNlbnNlIjsgWW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZQotICAqIExpY2Vuc2UuIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdDoKLSAgKiAgICAgICAgICAgICAgICAgICAgICAgIG9wZW5zb3VyY2Uub3JnL2xpY2Vuc2VzL0JTRC0zLUNsYXVzZQorICAqIFRoaXMgc29mdHdhcmUgaXMgbGljZW5zZWQgdW5kZXIgdGVybXMgdGhhdCBjYW4gYmUgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZQorICAqIGluIHRoZSByb290IGRpcmVjdG9yeSBvZiB0aGlzIHNvZnR3YXJlIGNvbXBvbmVudC4KKyAgKiBJZiBubyBMSUNFTlNFIGZpbGUgY29tZXMgd2l0aCB0aGlzIHNvZnR3YXJlLCBpdCBpcyBwcm92aWRlZCBBUy1JUy4KICAgKgogICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKICAgKi8KQEAgLTE2MzcsNyArMTYzNiw3IEBACiAjZGVmaW5lIFJDQ19CRENSX1JUQ1NFTF8wICAgICAgICAgICAgICAgICAgICAoMHgxVUwgPDwgUkNDX0JEQ1JfUlRDU0VMX1BvcykgICAgIC8qITwgMHgwMDAwMDEwMCAqLwogI2RlZmluZSBSQ0NfQkRDUl9SVENTRUxfMSAgICAgICAgICAgICAgICAgICAgKDB4MlVMIDw8IFJDQ19CRENSX1JUQ1NFTF9Qb3MpICAgICAvKiE8IDB4MDAwMDAyMDAgKi8KIAotLyohPCBSVEMgY29uZ2lndXJhdGlvbiAqLworLyohPCBSVEMgY29uZmlndXJhdGlvbiAqLwogI2RlZmluZSBSQ0NfQkRDUl9SVENTRUxfTk9DTE9DSyAgICAgICAgICAgICAgMHgwMDAwMDAwMFUgICAgICAgICAgICAgICAgICAgICAgIC8qITwgTm8gY2xvY2sgKi8KICNkZWZpbmUgUkNDX0JEQ1JfUlRDU0VMX0xTRSAgICAgICAgICAgICAgICAgIDB4MDAwMDAxMDBVICAgICAgICAgICAgICAgICAgICAgICAvKiE8IExTRSBvc2NpbGxhdG9yIGNsb2NrIHVzZWQgYXMgUlRDIGNsb2NrICovCiAjZGVmaW5lIFJDQ19CRENSX1JUQ1NFTF9MU0kgICAgICAgICAgICAgICAgICAweDAwMDAwMjAwVSAgICAgICAgICAgICAgICAgICAgICAgLyohPCBMU0kgb3NjaWxsYXRvciBjbG9jayB1c2VkIGFzIFJUQyBjbG9jayAqLwpAQCAtMzYyMyw3ICszNjIyLDcgQEAKICNkZWZpbmUgQURDX0NSMl9ETUEgICAgICAgICAgICAgICAgICAgICAgICAgQURDX0NSMl9ETUFfTXNrICAgICAgICAgICAgICAgICAgICAvKiE8IEFEQyBETUEgdHJhbnNmZXIgZW5hYmxlICovCiAjZGVmaW5lIEFEQ19DUjJfQUxJR05fUG9zICAgICAgICAgICAgICAgICAgICgxMVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAjZGVmaW5lIEFEQ19DUjJfQUxJR05fTXNrICAgICAgICAgICAgICAgICAgICgweDFVTCA8PCBBRENfQ1IyX0FMSUdOX1BvcykgICAgICAgIC8qITwgMHgwMDAwMDgwMCAqLwotI2RlZmluZSBBRENfQ1IyX0FMSUdOICAgICAgICAgICAgICAgICAgICAgICBBRENfQ1IyX0FMSUdOX01zayAgICAgICAgICAgICAgICAgIC8qITwgQURDIGRhdGEgYWxpZ25lbWVudCAqLworI2RlZmluZSBBRENfQ1IyX0FMSUdOICAgICAgICAgICAgICAgICAgICAgICBBRENfQ1IyX0FMSUdOX01zayAgICAgICAgICAgICAgICAgIC8qITwgQURDIGRhdGEgYWxpZ25tZW50ICovCiAKICNkZWZpbmUgQURDX0NSMl9KRVhUU0VMX1BvcyAgICAgICAgICAgICAgICAgKDEyVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICNkZWZpbmUgQURDX0NSMl9KRVhUU0VMX01zayAgICAgICAgICAgICAgICAgKDB4N1VMIDw8IEFEQ19DUjJfSkVYVFNFTF9Qb3MpICAgICAgLyohPCAweDAwMDA3MDAwICovCkBAIC01MjkzLDcgKzUyOTIsNyBAQAogLyogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKi8KIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCiAvKgotICogQGJyaWVmIFNwZWNpZmljIGRldmljZSBmZWF0dXJlIGRlZmluaXRpb25zIChub3QgcHJlc2VudCBvbiBhbGwgZGV2aWNlcyBpbiB0aGUgU1RNMzJGMSBzZXJpZSkKKyAqIEBicmllZiBTcGVjaWZpYyBkZXZpY2UgZmVhdHVyZSBkZWZpbml0aW9ucyAobm90IHByZXNlbnQgb24gYWxsIGRldmljZXMgaW4gdGhlIFNUTTMyRjEgc2VyaWVzKQogICovCiAjZGVmaW5lIFNQSV9JMlNfU1VQUE9SVCAgICAgICAvKiE8IEkyUyBzdXBwb3J0ICovCiAjZGVmaW5lIFNQSV9DUkNfRVJST1JfV09SS0FST1VORF9GRUFUVVJFCkBAIC02NTAxLDUgKzY1MDAsNCBAQAogI2VuZGlmIC8qIF9fU1RNMzJGMTAxeEVfSCAqLwogICAKICAgCi0gIAotICAvKioqKioqKioqKioqKioqKioqKioqKioqIChDKSBDT1BZUklHSFQgU1RNaWNyb2VsZWN0cm9uaWNzICoqKioqRU5EIE9GIEZJTEUqKioqLworCmRpZmYgLS1naXQgYS9JbmNsdWRlL3N0bTMyZjEwMXhnLmggYi9JbmNsdWRlL3N0bTMyZjEwMXhnLmgKaW5kZXggYTBiZmRhMS4uNTQ3MWE2MSAxMDA2NDQKLS0tIGEvSW5jbHVkZS9zdG0zMmYxMDF4Zy5oCisrKyBiL0luY2x1ZGUvc3RtMzJmMTAxeGcuaApAQCAtOSwxOCArOSwxNyBAQAogICAqICAgICAgICAgIFRoaXMgZmlsZSBjb250YWluczoKICAgKiAgICAgICAgICAgLSBEYXRhIHN0cnVjdHVyZXMgYW5kIHRoZSBhZGRyZXNzIG1hcHBpbmcgZm9yIGFsbCBwZXJpcGhlcmFscwogICAqICAgICAgICAgICAtIFBlcmlwaGVyYWwncyByZWdpc3RlcnMgZGVjbGFyYXRpb25zIGFuZCBiaXRzIGRlZmluaXRpb24KLSAgKiAgICAgICAgICAgLSBNYWNyb3MgdG8gYWNjZXNzIHBlcmlwaGVyYWyScyByZWdpc3RlcnMgaGFyZHdhcmUKKyAgKiAgICAgICAgICAgLSBNYWNyb3MgdG8gYWNjZXNzIHBlcmlwaGVyYWwncyByZWdpc3RlcnMgaGFyZHdhcmUKICAgKiAgCiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogICAqIEBhdHRlbnRpb24KICAgKgotICAqIDxoMj48Y2VudGVyPiZjb3B5OyBDb3B5cmlnaHQgKGMpIDIwMTcgU1RNaWNyb2VsZWN0cm9uaWNzLgotICAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuPC9jZW50ZXI+PC9oMj4KKyAgKiBDb3B5cmlnaHQgKGMpIDIwMTctMjAyMSBTVE1pY3JvZWxlY3Ryb25pY3MuCisgICogQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAgKgotICAqIFRoaXMgc29mdHdhcmUgY29tcG9uZW50IGlzIGxpY2Vuc2VkIGJ5IFNUIHVuZGVyIEJTRCAzLUNsYXVzZSBsaWNlbnNlLAotICAqIHRoZSAiTGljZW5zZSI7IFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUKLSAgKiBMaWNlbnNlLiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXQ6Ci0gICogICAgICAgICAgICAgICAgICAgICAgICBvcGVuc291cmNlLm9yZy9saWNlbnNlcy9CU0QtMy1DbGF1c2UKKyAgKiBUaGlzIHNvZnR3YXJlIGlzIGxpY2Vuc2VkIHVuZGVyIHRlcm1zIHRoYXQgY2FuIGJlIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUKKyAgKiBpbiB0aGUgcm9vdCBkaXJlY3Rvcnkgb2YgdGhpcyBzb2Z0d2FyZSBjb21wb25lbnQuCisgICogSWYgbm8gTElDRU5TRSBmaWxlIGNvbWVzIHdpdGggdGhpcyBzb2Z0d2FyZSwgaXQgaXMgcHJvdmlkZWQgQVMtSVMuCiAgICoKICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiAgICovCkBAIC0xNjk4LDcgKzE2OTcsNyBAQAogI2RlZmluZSBSQ0NfQkRDUl9SVENTRUxfMCAgICAgICAgICAgICAgICAgICAgKDB4MVVMIDw8IFJDQ19CRENSX1JUQ1NFTF9Qb3MpICAgICAvKiE8IDB4MDAwMDAxMDAgKi8KICNkZWZpbmUgUkNDX0JEQ1JfUlRDU0VMXzEgICAgICAgICAgICAgICAgICAgICgweDJVTCA8PCBSQ0NfQkRDUl9SVENTRUxfUG9zKSAgICAgLyohPCAweDAwMDAwMjAwICovCiAKLS8qITwgUlRDIGNvbmdpZ3VyYXRpb24gKi8KKy8qITwgUlRDIGNvbmZpZ3VyYXRpb24gKi8KICNkZWZpbmUgUkNDX0JEQ1JfUlRDU0VMX05PQ0xPQ0sgICAgICAgICAgICAgIDB4MDAwMDAwMDBVICAgICAgICAgICAgICAgICAgICAgICAvKiE8IE5vIGNsb2NrICovCiAjZGVmaW5lIFJDQ19CRENSX1JUQ1NFTF9MU0UgICAgICAgICAgICAgICAgICAweDAwMDAwMTAwVSAgICAgICAgICAgICAgICAgICAgICAgLyohPCBMU0Ugb3NjaWxsYXRvciBjbG9jayB1c2VkIGFzIFJUQyBjbG9jayAqLwogI2RlZmluZSBSQ0NfQkRDUl9SVENTRUxfTFNJICAgICAgICAgICAgICAgICAgMHgwMDAwMDIwMFUgICAgICAgICAgICAgICAgICAgICAgIC8qITwgTFNJIG9zY2lsbGF0b3IgY2xvY2sgdXNlZCBhcyBSVEMgY2xvY2sgKi8KQEAgLTM2OTgsNyArMzY5Nyw3IEBACiAjZGVmaW5lIEFEQ19DUjJfRE1BICAgICAgICAgICAgICAgICAgICAgICAgIEFEQ19DUjJfRE1BX01zayAgICAgICAgICAgICAgICAgICAgLyohPCBBREMgRE1BIHRyYW5zZmVyIGVuYWJsZSAqLwogI2RlZmluZSBBRENfQ1IyX0FMSUdOX1BvcyAgICAgICAgICAgICAgICAgICAoMTFVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogI2RlZmluZSBBRENfQ1IyX0FMSUdOX01zayAgICAgICAgICAgICAgICAgICAoMHgxVUwgPDwgQURDX0NSMl9BTElHTl9Qb3MpICAgICAgICAvKiE8IDB4MDAwMDA4MDAgKi8KLSNkZWZpbmUgQURDX0NSMl9BTElHTiAgICAgICAgICAgICAgICAgICAgICAgQURDX0NSMl9BTElHTl9Nc2sgICAgICAgICAgICAgICAgICAvKiE8IEFEQyBkYXRhIGFsaWduZW1lbnQgKi8KKyNkZWZpbmUgQURDX0NSMl9BTElHTiAgICAgICAgICAgICAgICAgICAgICAgQURDX0NSMl9BTElHTl9Nc2sgICAgICAgICAgICAgICAgICAvKiE8IEFEQyBkYXRhIGFsaWdubWVudCAqLwogCiAjZGVmaW5lIEFEQ19DUjJfSkVYVFNFTF9Qb3MgICAgICAgICAgICAgICAgICgxMlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAjZGVmaW5lIEFEQ19DUjJfSkVYVFNFTF9Nc2sgICAgICAgICAgICAgICAgICgweDdVTCA8PCBBRENfQ1IyX0pFWFRTRUxfUG9zKSAgICAgIC8qITwgMHgwMDAwNzAwMCAqLwpAQCAtNTM2OCw3ICs1MzY3LDcgQEAKIC8qICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICovCiAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLwogLyoKLSAqIEBicmllZiBTcGVjaWZpYyBkZXZpY2UgZmVhdHVyZSBkZWZpbml0aW9ucyAobm90IHByZXNlbnQgb24gYWxsIGRldmljZXMgaW4gdGhlIFNUTTMyRjEgc2VyaWUpCisgKiBAYnJpZWYgU3BlY2lmaWMgZGV2aWNlIGZlYXR1cmUgZGVmaW5pdGlvbnMgKG5vdCBwcmVzZW50IG9uIGFsbCBkZXZpY2VzIGluIHRoZSBTVE0zMkYxIHNlcmllcykKICAqLwogI2RlZmluZSBTUElfSTJTX1NVUFBPUlQgICAgICAgLyohPCBJMlMgc3VwcG9ydCAqLwogCkBAIC02NjU3LDQyICs2NjU2LDQyIEBACiAjZGVmaW5lIEFEQzFfMl9JUlFuICAgICAgICAgICAgIEFEQzFfSVJRbgogI2RlZmluZSBETUEyX0NoYW5uZWw0X0lSUW4gICAgICBETUEyX0NoYW5uZWw0XzVfSVJRbgogI2RlZmluZSBUSU0xX1VQX1RJTTE2X0lSUW4gICAgICBUSU0xMF9JUlFuCi0jZGVmaW5lIFRJTTFfVVBfSVJRbiAgICAgICAgICAgIFRJTTEwX0lSUW4KICNkZWZpbmUgVElNMV9VUF9USU0xMF9JUlFuICAgICAgVElNMTBfSVJRbgorI2RlZmluZSBUSU0xX1VQX0lSUW4gICAgICAgICAgICBUSU0xMF9JUlFuCiAjZGVmaW5lIFRJTTFfVFJHX0NPTV9JUlFuICAgICAgIFRJTTExX0lSUW4KLSNkZWZpbmUgVElNMV9UUkdfQ09NX1RJTTE3X0lSUW4gVElNMTFfSVJRbgogI2RlZmluZSBUSU0xX1RSR19DT01fVElNMTFfSVJRbiBUSU0xMV9JUlFuCisjZGVmaW5lIFRJTTFfVFJHX0NPTV9USU0xN19JUlFuIFRJTTExX0lSUW4KICNkZWZpbmUgVElNOF9CUktfSVJRbiAgICAgICAgICAgVElNMTJfSVJRbgogI2RlZmluZSBUSU04X0JSS19USU0xMl9JUlFuICAgICBUSU0xMl9JUlFuCi0jZGVmaW5lIFRJTThfVVBfVElNMTNfSVJRbiAgICAgIFRJTTEzX0lSUW4KICNkZWZpbmUgVElNOF9VUF9JUlFuICAgICAgICAgICAgVElNMTNfSVJRbgorI2RlZmluZSBUSU04X1VQX1RJTTEzX0lSUW4gICAgICBUSU0xM19JUlFuCiAjZGVmaW5lIFRJTThfVFJHX0NPTV9JUlFuICAgICAgIFRJTTE0X0lSUW4KICNkZWZpbmUgVElNOF9UUkdfQ09NX1RJTTE0X0lSUW4gVElNMTRfSVJRbgogI2RlZmluZSBUSU02X0RBQ19JUlFuICAgICAgICAgICBUSU02X0lSUW4KICNkZWZpbmUgVElNMV9CUktfVElNMTVfSVJRbiAgICAgVElNOV9JUlFuCi0jZGVmaW5lIFRJTTFfQlJLX0lSUW4gICAgICAgICAgIFRJTTlfSVJRbgogI2RlZmluZSBUSU0xX0JSS19USU05X0lSUW4gICAgICBUSU05X0lSUW4KKyNkZWZpbmUgVElNMV9CUktfSVJRbiAgICAgICAgICAgVElNOV9JUlFuCiAKIAogLyogQWxpYXNlcyBmb3IgX19JUlFIYW5kbGVyICovCiAjZGVmaW5lIEFEQzFfMl9JUlFIYW5kbGVyICAgICAgICAgICAgIEFEQzFfSVJRSGFuZGxlcgogI2RlZmluZSBETUEyX0NoYW5uZWw0X0lSUUhhbmRsZXIgICAgICBETUEyX0NoYW5uZWw0XzVfSVJRSGFuZGxlcgogI2RlZmluZSBUSU0xX1VQX1RJTTE2X0lSUUhhbmRsZXIgICAgICBUSU0xMF9JUlFIYW5kbGVyCi0jZGVmaW5lIFRJTTFfVVBfSVJRSGFuZGxlciAgICAgICAgICAgIFRJTTEwX0lSUUhhbmRsZXIKICNkZWZpbmUgVElNMV9VUF9USU0xMF9JUlFIYW5kbGVyICAgICAgVElNMTBfSVJRSGFuZGxlcgorI2RlZmluZSBUSU0xX1VQX0lSUUhhbmRsZXIgICAgICAgICAgICBUSU0xMF9JUlFIYW5kbGVyCiAjZGVmaW5lIFRJTTFfVFJHX0NPTV9JUlFIYW5kbGVyICAgICAgIFRJTTExX0lSUUhhbmRsZXIKLSNkZWZpbmUgVElNMV9UUkdfQ09NX1RJTTE3X0lSUUhhbmRsZXIgVElNMTFfSVJRSGFuZGxlcgogI2RlZmluZSBUSU0xX1RSR19DT01fVElNMTFfSVJRSGFuZGxlciBUSU0xMV9JUlFIYW5kbGVyCisjZGVmaW5lIFRJTTFfVFJHX0NPTV9USU0xN19JUlFIYW5kbGVyIFRJTTExX0lSUUhhbmRsZXIKICNkZWZpbmUgVElNOF9CUktfSVJRSGFuZGxlciAgICAgICAgICAgVElNMTJfSVJRSGFuZGxlcgogI2RlZmluZSBUSU04X0JSS19USU0xMl9JUlFIYW5kbGVyICAgICBUSU0xMl9JUlFIYW5kbGVyCi0jZGVmaW5lIFRJTThfVVBfVElNMTNfSVJRSGFuZGxlciAgICAgIFRJTTEzX0lSUUhhbmRsZXIKICNkZWZpbmUgVElNOF9VUF9JUlFIYW5kbGVyICAgICAgICAgICAgVElNMTNfSVJRSGFuZGxlcgorI2RlZmluZSBUSU04X1VQX1RJTTEzX0lSUUhhbmRsZXIgICAgICBUSU0xM19JUlFIYW5kbGVyCiAjZGVmaW5lIFRJTThfVFJHX0NPTV9JUlFIYW5kbGVyICAgICAgIFRJTTE0X0lSUUhhbmRsZXIKICNkZWZpbmUgVElNOF9UUkdfQ09NX1RJTTE0X0lSUUhhbmRsZXIgVElNMTRfSVJRSGFuZGxlcgogI2RlZmluZSBUSU02X0RBQ19JUlFIYW5kbGVyICAgICAgICAgICBUSU02X0lSUUhhbmRsZXIKICNkZWZpbmUgVElNMV9CUktfVElNMTVfSVJRSGFuZGxlciAgICAgVElNOV9JUlFIYW5kbGVyCi0jZGVmaW5lIFRJTTFfQlJLX0lSUUhhbmRsZXIgICAgICAgICAgIFRJTTlfSVJRSGFuZGxlcgogI2RlZmluZSBUSU0xX0JSS19USU05X0lSUUhhbmRsZXIgICAgICBUSU05X0lSUUhhbmRsZXIKKyNkZWZpbmUgVElNMV9CUktfSVJRSGFuZGxlciAgICAgICAgICAgVElNOV9JUlFIYW5kbGVyCiAKIAogLyoqCkBAIC02NzExLDUgKzY3MTAsNCBAQAogI2VuZGlmIC8qIF9fU1RNMzJGMTAxeEdfSCAqLwogICAKICAgCi0gIAotICAvKioqKioqKioqKioqKioqKioqKioqKioqIChDKSBDT1BZUklHSFQgU1RNaWNyb2VsZWN0cm9uaWNzICoqKioqRU5EIE9GIEZJTEUqKioqLworCmRpZmYgLS1naXQgYS9JbmNsdWRlL3N0bTMyZjEwMng2LmggYi9JbmNsdWRlL3N0bTMyZjEwMng2LmgKaW5kZXggYmQ1YWNlYi4uYzE3OTNmYSAxMDA2NDQKLS0tIGEvSW5jbHVkZS9zdG0zMmYxMDJ4Ni5oCisrKyBiL0luY2x1ZGUvc3RtMzJmMTAyeDYuaApAQCAtOSwxOCArOSwxNyBAQAogICAqICAgICAgICAgIFRoaXMgZmlsZSBjb250YWluczoKICAgKiAgICAgICAgICAgLSBEYXRhIHN0cnVjdHVyZXMgYW5kIHRoZSBhZGRyZXNzIG1hcHBpbmcgZm9yIGFsbCBwZXJpcGhlcmFscwogICAqICAgICAgICAgICAtIFBlcmlwaGVyYWwncyByZWdpc3RlcnMgZGVjbGFyYXRpb25zIGFuZCBiaXRzIGRlZmluaXRpb24KLSAgKiAgICAgICAgICAgLSBNYWNyb3MgdG8gYWNjZXNzIHBlcmlwaGVyYWyScyByZWdpc3RlcnMgaGFyZHdhcmUKKyAgKiAgICAgICAgICAgLSBNYWNyb3MgdG8gYWNjZXNzIHBlcmlwaGVyYWwncyByZWdpc3RlcnMgaGFyZHdhcmUKICAgKiAgCiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogICAqIEBhdHRlbnRpb24KICAgKgotICAqIDxoMj48Y2VudGVyPiZjb3B5OyBDb3B5cmlnaHQgKGMpIDIwMTcgU1RNaWNyb2VsZWN0cm9uaWNzLgotICAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuPC9jZW50ZXI+PC9oMj4KKyAgKiBDb3B5cmlnaHQgKGMpIDIwMTctMjAyMSBTVE1pY3JvZWxlY3Ryb25pY3MuCisgICogQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAgKgotICAqIFRoaXMgc29mdHdhcmUgY29tcG9uZW50IGlzIGxpY2Vuc2VkIGJ5IFNUIHVuZGVyIEJTRCAzLUNsYXVzZSBsaWNlbnNlLAotICAqIHRoZSAiTGljZW5zZSI7IFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUKLSAgKiBMaWNlbnNlLiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXQ6Ci0gICogICAgICAgICAgICAgICAgICAgICAgICBvcGVuc291cmNlLm9yZy9saWNlbnNlcy9CU0QtMy1DbGF1c2UKKyAgKiBUaGlzIHNvZnR3YXJlIGlzIGxpY2Vuc2VkIHVuZGVyIHRlcm1zIHRoYXQgY2FuIGJlIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUKKyAgKiBpbiB0aGUgcm9vdCBkaXJlY3Rvcnkgb2YgdGhpcyBzb2Z0d2FyZSBjb21wb25lbnQuCisgICogSWYgbm8gTElDRU5TRSBmaWxlIGNvbWVzIHdpdGggdGhpcyBzb2Z0d2FyZSwgaXQgaXMgcHJvdmlkZWQgQVMtSVMuCiAgICoKICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiAgICovCkBAIC0xMjUyLDcgKzEyNTEsNyBAQAogI2RlZmluZSBSQ0NfQkRDUl9SVENTRUxfMCAgICAgICAgICAgICAgICAgICAgKDB4MVVMIDw8IFJDQ19CRENSX1JUQ1NFTF9Qb3MpICAgICAvKiE8IDB4MDAwMDAxMDAgKi8KICNkZWZpbmUgUkNDX0JEQ1JfUlRDU0VMXzEgICAgICAgICAgICAgICAgICAgICgweDJVTCA8PCBSQ0NfQkRDUl9SVENTRUxfUG9zKSAgICAgLyohPCAweDAwMDAwMjAwICovCiAKLS8qITwgUlRDIGNvbmdpZ3VyYXRpb24gKi8KKy8qITwgUlRDIGNvbmZpZ3VyYXRpb24gKi8KICNkZWZpbmUgUkNDX0JEQ1JfUlRDU0VMX05PQ0xPQ0sgICAgICAgICAgICAgIDB4MDAwMDAwMDBVICAgICAgICAgICAgICAgICAgICAgICAvKiE8IE5vIGNsb2NrICovCiAjZGVmaW5lIFJDQ19CRENSX1JUQ1NFTF9MU0UgICAgICAgICAgICAgICAgICAweDAwMDAwMTAwVSAgICAgICAgICAgICAgICAgICAgICAgLyohPCBMU0Ugb3NjaWxsYXRvciBjbG9jayB1c2VkIGFzIFJUQyBjbG9jayAqLwogI2RlZmluZSBSQ0NfQkRDUl9SVENTRUxfTFNJICAgICAgICAgICAgICAgICAgMHgwMDAwMDIwMFUgICAgICAgICAgICAgICAgICAgICAgIC8qITwgTFNJIG9zY2lsbGF0b3IgY2xvY2sgdXNlZCBhcyBSVEMgY2xvY2sgKi8KQEAgLTMyMTUsNyArMzIxNCw3IEBACiAjZGVmaW5lIEFEQ19DUjJfRE1BICAgICAgICAgICAgICAgICAgICAgICAgIEFEQ19DUjJfRE1BX01zayAgICAgICAgICAgICAgICAgICAgLyohPCBBREMgRE1BIHRyYW5zZmVyIGVuYWJsZSAqLwogI2RlZmluZSBBRENfQ1IyX0FMSUdOX1BvcyAgICAgICAgICAgICAgICAgICAoMTFVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogI2RlZmluZSBBRENfQ1IyX0FMSUdOX01zayAgICAgICAgICAgICAgICAgICAoMHgxVUwgPDwgQURDX0NSMl9BTElHTl9Qb3MpICAgICAgICAvKiE8IDB4MDAwMDA4MDAgKi8KLSNkZWZpbmUgQURDX0NSMl9BTElHTiAgICAgICAgICAgICAgICAgICAgICAgQURDX0NSMl9BTElHTl9Nc2sgICAgICAgICAgICAgICAgICAvKiE8IEFEQyBkYXRhIGFsaWduZW1lbnQgKi8KKyNkZWZpbmUgQURDX0NSMl9BTElHTiAgICAgICAgICAgICAgICAgICAgICAgQURDX0NSMl9BTElHTl9Nc2sgICAgICAgICAgICAgICAgICAvKiE8IEFEQyBkYXRhIGFsaWdubWVudCAqLwogCiAjZGVmaW5lIEFEQ19DUjJfSkVYVFNFTF9Qb3MgICAgICAgICAgICAgICAgICgxMlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAjZGVmaW5lIEFEQ19DUjJfSkVYVFNFTF9Nc2sgICAgICAgICAgICAgICAgICgweDdVTCA8PCBBRENfQ1IyX0pFWFRTRUxfUG9zKSAgICAgIC8qITwgMHgwMDAwNzAwMCAqLwpAQCAtNjQxNCw4ICs2NDEzLDggQEAKICNkZWZpbmUgQURDMV8yX0lSUW4gICAgICAgICAgQURDMV9JUlFuCiAjZGVmaW5lIENFQ19JUlFuICAgICAgICAgICAgIFVTQldha2VVcF9JUlFuCiAjZGVmaW5lIE9UR19GU19XS1VQX0lSUW4gICAgIFVTQldha2VVcF9JUlFuCi0jZGVmaW5lIFVTQl9IUF9DQU4xX1RYX0lSUW4gIFVTQl9IUF9JUlFuCiAjZGVmaW5lIENBTjFfVFhfSVJRbiAgICAgICAgIFVTQl9IUF9JUlFuCisjZGVmaW5lIFVTQl9IUF9DQU4xX1RYX0lSUW4gIFVTQl9IUF9JUlFuCiAjZGVmaW5lIENBTjFfUlgwX0lSUW4gICAgICAgIFVTQl9MUF9JUlFuCiAjZGVmaW5lIFVTQl9MUF9DQU4xX1JYMF9JUlFuIFVTQl9MUF9JUlFuCiAKQEAgLTY0MjQsOCArNjQyMyw4IEBACiAjZGVmaW5lIEFEQzFfMl9JUlFIYW5kbGVyICAgICAgICAgIEFEQzFfSVJRSGFuZGxlcgogI2RlZmluZSBDRUNfSVJRSGFuZGxlciAgICAgICAgICAgICBVU0JXYWtlVXBfSVJRSGFuZGxlcgogI2RlZmluZSBPVEdfRlNfV0tVUF9JUlFIYW5kbGVyICAgICBVU0JXYWtlVXBfSVJRSGFuZGxlcgotI2RlZmluZSBVU0JfSFBfQ0FOMV9UWF9JUlFIYW5kbGVyICBVU0JfSFBfSVJRSGFuZGxlcgogI2RlZmluZSBDQU4xX1RYX0lSUUhhbmRsZXIgICAgICAgICBVU0JfSFBfSVJRSGFuZGxlcgorI2RlZmluZSBVU0JfSFBfQ0FOMV9UWF9JUlFIYW5kbGVyICBVU0JfSFBfSVJRSGFuZGxlcgogI2RlZmluZSBDQU4xX1JYMF9JUlFIYW5kbGVyICAgICAgICBVU0JfTFBfSVJRSGFuZGxlcgogI2RlZmluZSBVU0JfTFBfQ0FOMV9SWDBfSVJRSGFuZGxlciBVU0JfTFBfSVJRSGFuZGxlcgogCkBAIC02NDQ2LDUgKzY0NDUsNCBAQAogI2VuZGlmIC8qIF9fU1RNMzJGMTAyeDZfSCAqLwogICAKICAgCi0gIAotICAvKioqKioqKioqKioqKioqKioqKioqKioqIChDKSBDT1BZUklHSFQgU1RNaWNyb2VsZWN0cm9uaWNzICoqKioqRU5EIE9GIEZJTEUqKioqLworCmRpZmYgLS1naXQgYS9JbmNsdWRlL3N0bTMyZjEwMnhiLmggYi9JbmNsdWRlL3N0bTMyZjEwMnhiLmgKaW5kZXggZDQzZWJlNy4uZGNiYjM2MSAxMDA2NDQKLS0tIGEvSW5jbHVkZS9zdG0zMmYxMDJ4Yi5oCisrKyBiL0luY2x1ZGUvc3RtMzJmMTAyeGIuaApAQCAtOSwxOCArOSwxNyBAQAogICAqICAgICAgICAgIFRoaXMgZmlsZSBjb250YWluczoKICAgKiAgICAgICAgICAgLSBEYXRhIHN0cnVjdHVyZXMgYW5kIHRoZSBhZGRyZXNzIG1hcHBpbmcgZm9yIGFsbCBwZXJpcGhlcmFscwogICAqICAgICAgICAgICAtIFBlcmlwaGVyYWwncyByZWdpc3RlcnMgZGVjbGFyYXRpb25zIGFuZCBiaXRzIGRlZmluaXRpb24KLSAgKiAgICAgICAgICAgLSBNYWNyb3MgdG8gYWNjZXNzIHBlcmlwaGVyYWyScyByZWdpc3RlcnMgaGFyZHdhcmUKKyAgKiAgICAgICAgICAgLSBNYWNyb3MgdG8gYWNjZXNzIHBlcmlwaGVyYWwncyByZWdpc3RlcnMgaGFyZHdhcmUKICAgKiAgCiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogICAqIEBhdHRlbnRpb24KICAgKgotICAqIDxoMj48Y2VudGVyPiZjb3B5OyBDb3B5cmlnaHQgKGMpIDIwMTcgU1RNaWNyb2VsZWN0cm9uaWNzLgotICAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuPC9jZW50ZXI+PC9oMj4KKyAgKiBDb3B5cmlnaHQgKGMpIDIwMTctMjAyMSBTVE1pY3JvZWxlY3Ryb25pY3MuCisgICogQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAgKgotICAqIFRoaXMgc29mdHdhcmUgY29tcG9uZW50IGlzIGxpY2Vuc2VkIGJ5IFNUIHVuZGVyIEJTRCAzLUNsYXVzZSBsaWNlbnNlLAotICAqIHRoZSAiTGljZW5zZSI7IFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUKLSAgKiBMaWNlbnNlLiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXQ6Ci0gICogICAgICAgICAgICAgICAgICAgICAgICBvcGVuc291cmNlLm9yZy9saWNlbnNlcy9CU0QtMy1DbGF1c2UKKyAgKiBUaGlzIHNvZnR3YXJlIGlzIGxpY2Vuc2VkIHVuZGVyIHRlcm1zIHRoYXQgY2FuIGJlIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUKKyAgKiBpbiB0aGUgcm9vdCBkaXJlY3Rvcnkgb2YgdGhpcyBzb2Z0d2FyZSBjb21wb25lbnQuCisgICogSWYgbm8gTElDRU5TRSBmaWxlIGNvbWVzIHdpdGggdGhpcyBzb2Z0d2FyZSwgaXQgaXMgcHJvdmlkZWQgQVMtSVMuCiAgICoKICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiAgICovCkBAIC0xMjg5LDcgKzEyODgsNyBAQAogI2RlZmluZSBSQ0NfQkRDUl9SVENTRUxfMCAgICAgICAgICAgICAgICAgICAgKDB4MVVMIDw8IFJDQ19CRENSX1JUQ1NFTF9Qb3MpICAgICAvKiE8IDB4MDAwMDAxMDAgKi8KICNkZWZpbmUgUkNDX0JEQ1JfUlRDU0VMXzEgICAgICAgICAgICAgICAgICAgICgweDJVTCA8PCBSQ0NfQkRDUl9SVENTRUxfUG9zKSAgICAgLyohPCAweDAwMDAwMjAwICovCiAKLS8qITwgUlRDIGNvbmdpZ3VyYXRpb24gKi8KKy8qITwgUlRDIGNvbmZpZ3VyYXRpb24gKi8KICNkZWZpbmUgUkNDX0JEQ1JfUlRDU0VMX05PQ0xPQ0sgICAgICAgICAgICAgIDB4MDAwMDAwMDBVICAgICAgICAgICAgICAgICAgICAgICAvKiE8IE5vIGNsb2NrICovCiAjZGVmaW5lIFJDQ19CRENSX1JUQ1NFTF9MU0UgICAgICAgICAgICAgICAgICAweDAwMDAwMTAwVSAgICAgICAgICAgICAgICAgICAgICAgLyohPCBMU0Ugb3NjaWxsYXRvciBjbG9jayB1c2VkIGFzIFJUQyBjbG9jayAqLwogI2RlZmluZSBSQ0NfQkRDUl9SVENTRUxfTFNJICAgICAgICAgICAgICAgICAgMHgwMDAwMDIwMFUgICAgICAgICAgICAgICAgICAgICAgIC8qITwgTFNJIG9zY2lsbGF0b3IgY2xvY2sgdXNlZCBhcyBSVEMgY2xvY2sgKi8KQEAgLTMyNjksNyArMzI2OCw3IEBACiAjZGVmaW5lIEFEQ19DUjJfRE1BICAgICAgICAgICAgICAgICAgICAgICAgIEFEQ19DUjJfRE1BX01zayAgICAgICAgICAgICAgICAgICAgLyohPCBBREMgRE1BIHRyYW5zZmVyIGVuYWJsZSAqLwogI2RlZmluZSBBRENfQ1IyX0FMSUdOX1BvcyAgICAgICAgICAgICAgICAgICAoMTFVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogI2RlZmluZSBBRENfQ1IyX0FMSUdOX01zayAgICAgICAgICAgICAgICAgICAoMHgxVUwgPDwgQURDX0NSMl9BTElHTl9Qb3MpICAgICAgICAvKiE8IDB4MDAwMDA4MDAgKi8KLSNkZWZpbmUgQURDX0NSMl9BTElHTiAgICAgICAgICAgICAgICAgICAgICAgQURDX0NSMl9BTElHTl9Nc2sgICAgICAgICAgICAgICAgICAvKiE8IEFEQyBkYXRhIGFsaWduZW1lbnQgKi8KKyNkZWZpbmUgQURDX0NSMl9BTElHTiAgICAgICAgICAgICAgICAgICAgICAgQURDX0NSMl9BTElHTl9Nc2sgICAgICAgICAgICAgICAgICAvKiE8IEFEQyBkYXRhIGFsaWdubWVudCAqLwogCiAjZGVmaW5lIEFEQ19DUjJfSkVYVFNFTF9Qb3MgICAgICAgICAgICAgICAgICgxMlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAjZGVmaW5lIEFEQ19DUjJfSkVYVFNFTF9Nc2sgICAgICAgICAgICAgICAgICgweDdVTCA8PCBBRENfQ1IyX0pFWFRTRUxfUG9zKSAgICAgIC8qITwgMHgwMDAwNzAwMCAqLwpAQCAtNjU2OCw1ICs2NTY3LDQgQEAKICNlbmRpZiAvKiBfX1NUTTMyRjEwMnhCX0ggKi8KICAgCiAgIAotICAKLSAgLyoqKioqKioqKioqKioqKioqKioqKioqKiAoQykgQ09QWVJJR0hUIFNUTWljcm9lbGVjdHJvbmljcyAqKioqKkVORCBPRiBGSUxFKioqKi8KKwpkaWZmIC0tZ2l0IGEvSW5jbHVkZS9zdG0zMmYxMDN4Ni5oIGIvSW5jbHVkZS9zdG0zMmYxMDN4Ni5oCmluZGV4IGQ4ODA2OGEuLjEzNjk0YjcgMTAwNjQ0Ci0tLSBhL0luY2x1ZGUvc3RtMzJmMTAzeDYuaAorKysgYi9JbmNsdWRlL3N0bTMyZjEwM3g2LmgKQEAgLTksMTggKzksMTcgQEAKICAgKiAgICAgICAgICBUaGlzIGZpbGUgY29udGFpbnM6CiAgICogICAgICAgICAgIC0gRGF0YSBzdHJ1Y3R1cmVzIGFuZCB0aGUgYWRkcmVzcyBtYXBwaW5nIGZvciBhbGwgcGVyaXBoZXJhbHMKICAgKiAgICAgICAgICAgLSBQZXJpcGhlcmFsJ3MgcmVnaXN0ZXJzIGRlY2xhcmF0aW9ucyBhbmQgYml0cyBkZWZpbml0aW9uCi0gICogICAgICAgICAgIC0gTWFjcm9zIHRvIGFjY2VzcyBwZXJpcGhlcmFsknMgcmVnaXN0ZXJzIGhhcmR3YXJlCisgICogICAgICAgICAgIC0gTWFjcm9zIHRvIGFjY2VzcyBwZXJpcGhlcmFsJ3MgcmVnaXN0ZXJzIGhhcmR3YXJlCiAgICogIAogICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKICAgKiBAYXR0ZW50aW9uCiAgICoKLSAgKiA8aDI+PGNlbnRlcj4mY29weTsgQ29weXJpZ2h0IChjKSAyMDE3IFNUTWljcm9lbGVjdHJvbmljcy4KLSAgKiBBbGwgcmlnaHRzIHJlc2VydmVkLjwvY2VudGVyPjwvaDI+CisgICogQ29weXJpZ2h0IChjKSAyMDE3LTIwMjEgU1RNaWNyb2VsZWN0cm9uaWNzLgorICAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgICoKLSAgKiBUaGlzIHNvZnR3YXJlIGNvbXBvbmVudCBpcyBsaWNlbnNlZCBieSBTVCB1bmRlciBCU0QgMy1DbGF1c2UgbGljZW5zZSwKLSAgKiB0aGUgIkxpY2Vuc2UiOyBZb3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlCi0gICogTGljZW5zZS4gWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0OgotICAqICAgICAgICAgICAgICAgICAgICAgICAgb3BlbnNvdXJjZS5vcmcvbGljZW5zZXMvQlNELTMtQ2xhdXNlCisgICogVGhpcyBzb2Z0d2FyZSBpcyBsaWNlbnNlZCB1bmRlciB0ZXJtcyB0aGF0IGNhbiBiZSBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlCisgICogaW4gdGhlIHJvb3QgZGlyZWN0b3J5IG9mIHRoaXMgc29mdHdhcmUgY29tcG9uZW50LgorICAqIElmIG5vIExJQ0VOU0UgZmlsZSBjb21lcyB3aXRoIHRoaXMgc29mdHdhcmUsIGl0IGlzIHByb3ZpZGVkIEFTLUlTLgogICAqCiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogICAqLwpAQCAtMTMzOSw3ICsxMzM4LDcgQEAKICNkZWZpbmUgUkNDX0JEQ1JfUlRDU0VMXzAgICAgICAgICAgICAgICAgICAgICgweDFVTCA8PCBSQ0NfQkRDUl9SVENTRUxfUG9zKSAgICAgLyohPCAweDAwMDAwMTAwICovCiAjZGVmaW5lIFJDQ19CRENSX1JUQ1NFTF8xICAgICAgICAgICAgICAgICAgICAoMHgyVUwgPDwgUkNDX0JEQ1JfUlRDU0VMX1BvcykgICAgIC8qITwgMHgwMDAwMDIwMCAqLwogCi0vKiE8IFJUQyBjb25naWd1cmF0aW9uICovCisvKiE8IFJUQyBjb25maWd1cmF0aW9uICovCiAjZGVmaW5lIFJDQ19CRENSX1JUQ1NFTF9OT0NMT0NLICAgICAgICAgICAgICAweDAwMDAwMDAwVSAgICAgICAgICAgICAgICAgICAgICAgLyohPCBObyBjbG9jayAqLwogI2RlZmluZSBSQ0NfQkRDUl9SVENTRUxfTFNFICAgICAgICAgICAgICAgICAgMHgwMDAwMDEwMFUgICAgICAgICAgICAgICAgICAgICAgIC8qITwgTFNFIG9zY2lsbGF0b3IgY2xvY2sgdXNlZCBhcyBSVEMgY2xvY2sgKi8KICNkZWZpbmUgUkNDX0JEQ1JfUlRDU0VMX0xTSSAgICAgICAgICAgICAgICAgIDB4MDAwMDAyMDBVICAgICAgICAgICAgICAgICAgICAgICAvKiE8IExTSSBvc2NpbGxhdG9yIGNsb2NrIHVzZWQgYXMgUlRDIGNsb2NrICovCkBAIC0zMzI0LDcgKzMzMjMsNyBAQAogI2RlZmluZSBBRENfQ1IyX0RNQSAgICAgICAgICAgICAgICAgICAgICAgICBBRENfQ1IyX0RNQV9Nc2sgICAgICAgICAgICAgICAgICAgIC8qITwgQURDIERNQSB0cmFuc2ZlciBlbmFibGUgKi8KICNkZWZpbmUgQURDX0NSMl9BTElHTl9Qb3MgICAgICAgICAgICAgICAgICAgKDExVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICNkZWZpbmUgQURDX0NSMl9BTElHTl9Nc2sgICAgICAgICAgICAgICAgICAgKDB4MVVMIDw8IEFEQ19DUjJfQUxJR05fUG9zKSAgICAgICAgLyohPCAweDAwMDAwODAwICovCi0jZGVmaW5lIEFEQ19DUjJfQUxJR04gICAgICAgICAgICAgICAgICAgICAgIEFEQ19DUjJfQUxJR05fTXNrICAgICAgICAgICAgICAgICAgLyohPCBBREMgZGF0YSBhbGlnbmVtZW50ICovCisjZGVmaW5lIEFEQ19DUjJfQUxJR04gICAgICAgICAgICAgICAgICAgICAgIEFEQ19DUjJfQUxJR05fTXNrICAgICAgICAgICAgICAgICAgLyohPCBBREMgZGF0YSBhbGlnbm1lbnQgKi8KIAogI2RlZmluZSBBRENfQ1IyX0pFWFRTRUxfUG9zICAgICAgICAgICAgICAgICAoMTJVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogI2RlZmluZSBBRENfQ1IyX0pFWFRTRUxfTXNrICAgICAgICAgICAgICAgICAoMHg3VUwgPDwgQURDX0NSMl9KRVhUU0VMX1BvcykgICAgICAvKiE8IDB4MDAwMDcwMDAgKi8KQEAgLTEwMDU4LDE0ICsxMDA1NywxNCBAQAogI2RlZmluZSBUSU0xX0JSS19USU05X0lSUW4gICAgICBUSU0xX0JSS19JUlFuCiAjZGVmaW5lIFRJTTFfQlJLX1RJTTE1X0lSUW4gICAgIFRJTTFfQlJLX0lSUW4KICNkZWZpbmUgVElNOV9JUlFuICAgICAgICAgICAgICAgVElNMV9CUktfSVJRbgotI2RlZmluZSBUSU0xMV9JUlFuICAgICAgICAgICAgICBUSU0xX1RSR19DT01fSVJRbgotI2RlZmluZSBUSU0xX1RSR19DT01fVElNMTdfSVJRbiBUSU0xX1RSR19DT01fSVJRbgogI2RlZmluZSBUSU0xX1RSR19DT01fVElNMTFfSVJRbiBUSU0xX1RSR19DT01fSVJRbgotI2RlZmluZSBUSU0xX1VQX1RJTTE2X0lSUW4gICAgICBUSU0xX1VQX0lSUW4KKyNkZWZpbmUgVElNMV9UUkdfQ09NX1RJTTE3X0lSUW4gVElNMV9UUkdfQ09NX0lSUW4KKyNkZWZpbmUgVElNMTFfSVJRbiAgICAgICAgICAgICAgVElNMV9UUkdfQ09NX0lSUW4KICNkZWZpbmUgVElNMV9VUF9USU0xMF9JUlFuICAgICAgVElNMV9VUF9JUlFuCiAjZGVmaW5lIFRJTTEwX0lSUW4gICAgICAgICAgICAgIFRJTTFfVVBfSVJRbgotI2RlZmluZSBPVEdfRlNfV0tVUF9JUlFuICAgICAgICBVU0JXYWtlVXBfSVJRbgorI2RlZmluZSBUSU0xX1VQX1RJTTE2X0lSUW4gICAgICBUSU0xX1VQX0lSUW4KICNkZWZpbmUgQ0VDX0lSUW4gICAgICAgICAgICAgICAgVVNCV2FrZVVwX0lSUW4KKyNkZWZpbmUgT1RHX0ZTX1dLVVBfSVJRbiAgICAgICAgVVNCV2FrZVVwX0lSUW4KICNkZWZpbmUgVVNCX0hQX0lSUW4gICAgICAgICAgICAgVVNCX0hQX0NBTjFfVFhfSVJRbgogI2RlZmluZSBDQU4xX1RYX0lSUW4gICAgICAgICAgICBVU0JfSFBfQ0FOMV9UWF9JUlFuCiAjZGVmaW5lIFVTQl9MUF9JUlFuICAgICAgICAgICAgIFVTQl9MUF9DQU4xX1JYMF9JUlFuCkBAIC0xMDA3NywxNCArMTAwNzYsMTQgQEAKICNkZWZpbmUgVElNMV9CUktfVElNOV9JUlFIYW5kbGVyICAgICAgVElNMV9CUktfSVJRSGFuZGxlcgogI2RlZmluZSBUSU0xX0JSS19USU0xNV9JUlFIYW5kbGVyICAgICBUSU0xX0JSS19JUlFIYW5kbGVyCiAjZGVmaW5lIFRJTTlfSVJRSGFuZGxlciAgICAgICAgICAgICAgIFRJTTFfQlJLX0lSUUhhbmRsZXIKLSNkZWZpbmUgVElNMTFfSVJRSGFuZGxlciAgICAgICAgICAgICAgVElNMV9UUkdfQ09NX0lSUUhhbmRsZXIKLSNkZWZpbmUgVElNMV9UUkdfQ09NX1RJTTE3X0lSUUhhbmRsZXIgVElNMV9UUkdfQ09NX0lSUUhhbmRsZXIKICNkZWZpbmUgVElNMV9UUkdfQ09NX1RJTTExX0lSUUhhbmRsZXIgVElNMV9UUkdfQ09NX0lSUUhhbmRsZXIKLSNkZWZpbmUgVElNMV9VUF9USU0xNl9JUlFIYW5kbGVyICAgICAgVElNMV9VUF9JUlFIYW5kbGVyCisjZGVmaW5lIFRJTTFfVFJHX0NPTV9USU0xN19JUlFIYW5kbGVyIFRJTTFfVFJHX0NPTV9JUlFIYW5kbGVyCisjZGVmaW5lIFRJTTExX0lSUUhhbmRsZXIgICAgICAgICAgICAgIFRJTTFfVFJHX0NPTV9JUlFIYW5kbGVyCiAjZGVmaW5lIFRJTTFfVVBfVElNMTBfSVJRSGFuZGxlciAgICAgIFRJTTFfVVBfSVJRSGFuZGxlcgogI2RlZmluZSBUSU0xMF9JUlFIYW5kbGVyICAgICAgICAgICAgICBUSU0xX1VQX0lSUUhhbmRsZXIKLSNkZWZpbmUgT1RHX0ZTX1dLVVBfSVJRSGFuZGxlciAgICAgICAgVVNCV2FrZVVwX0lSUUhhbmRsZXIKKyNkZWZpbmUgVElNMV9VUF9USU0xNl9JUlFIYW5kbGVyICAgICAgVElNMV9VUF9JUlFIYW5kbGVyCiAjZGVmaW5lIENFQ19JUlFIYW5kbGVyICAgICAgICAgICAgICAgIFVTQldha2VVcF9JUlFIYW5kbGVyCisjZGVmaW5lIE9UR19GU19XS1VQX0lSUUhhbmRsZXIgICAgICAgIFVTQldha2VVcF9JUlFIYW5kbGVyCiAjZGVmaW5lIFVTQl9IUF9JUlFIYW5kbGVyICAgICAgICAgICAgIFVTQl9IUF9DQU4xX1RYX0lSUUhhbmRsZXIKICNkZWZpbmUgQ0FOMV9UWF9JUlFIYW5kbGVyICAgICAgICAgICAgVVNCX0hQX0NBTjFfVFhfSVJRSGFuZGxlcgogI2RlZmluZSBVU0JfTFBfSVJRSGFuZGxlciAgICAgICAgICAgICBVU0JfTFBfQ0FOMV9SWDBfSVJRSGFuZGxlcgpAQCAtMTAxMDcsNSArMTAxMDYsNCBAQAogI2VuZGlmIC8qIF9fU1RNMzJGMTAzeDZfSCAqLwogICAKICAgCi0gIAotICAvKioqKioqKioqKioqKioqKioqKioqKioqIChDKSBDT1BZUklHSFQgU1RNaWNyb2VsZWN0cm9uaWNzICoqKioqRU5EIE9GIEZJTEUqKioqLworCmRpZmYgLS1naXQgYS9JbmNsdWRlL3N0bTMyZjEwM3hiLmggYi9JbmNsdWRlL3N0bTMyZjEwM3hiLmgKaW5kZXggODE3MTg0OS4uODJkZjRiMCAxMDA2NDQKLS0tIGEvSW5jbHVkZS9zdG0zMmYxMDN4Yi5oCisrKyBiL0luY2x1ZGUvc3RtMzJmMTAzeGIuaApAQCAtOSwxOCArOSwxNyBAQAogICAqICAgICAgICAgIFRoaXMgZmlsZSBjb250YWluczoKICAgKiAgICAgICAgICAgLSBEYXRhIHN0cnVjdHVyZXMgYW5kIHRoZSBhZGRyZXNzIG1hcHBpbmcgZm9yIGFsbCBwZXJpcGhlcmFscwogICAqICAgICAgICAgICAtIFBlcmlwaGVyYWwncyByZWdpc3RlcnMgZGVjbGFyYXRpb25zIGFuZCBiaXRzIGRlZmluaXRpb24KLSAgKiAgICAgICAgICAgLSBNYWNyb3MgdG8gYWNjZXNzIHBlcmlwaGVyYWyScyByZWdpc3RlcnMgaGFyZHdhcmUKKyAgKiAgICAgICAgICAgLSBNYWNyb3MgdG8gYWNjZXNzIHBlcmlwaGVyYWwncyByZWdpc3RlcnMgaGFyZHdhcmUKICAgKiAgCiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogICAqIEBhdHRlbnRpb24KICAgKgotICAqIDxoMj48Y2VudGVyPiZjb3B5OyBDb3B5cmlnaHQgKGMpIDIwMTcgU1RNaWNyb2VsZWN0cm9uaWNzLgotICAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuPC9jZW50ZXI+PC9oMj4KKyAgKiBDb3B5cmlnaHQgKGMpIDIwMTctMjAyMSBTVE1pY3JvZWxlY3Ryb25pY3MuCisgICogQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAgKgotICAqIFRoaXMgc29mdHdhcmUgY29tcG9uZW50IGlzIGxpY2Vuc2VkIGJ5IFNUIHVuZGVyIEJTRCAzLUNsYXVzZSBsaWNlbnNlLAotICAqIHRoZSAiTGljZW5zZSI7IFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUKLSAgKiBMaWNlbnNlLiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXQ6Ci0gICogICAgICAgICAgICAgICAgICAgICAgICBvcGVuc291cmNlLm9yZy9saWNlbnNlcy9CU0QtMy1DbGF1c2UKKyAgKiBUaGlzIHNvZnR3YXJlIGlzIGxpY2Vuc2VkIHVuZGVyIHRlcm1zIHRoYXQgY2FuIGJlIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUKKyAgKiBpbiB0aGUgcm9vdCBkaXJlY3Rvcnkgb2YgdGhpcyBzb2Z0d2FyZSBjb21wb25lbnQuCisgICogSWYgbm8gTElDRU5TRSBmaWxlIGNvbWVzIHdpdGggdGhpcyBzb2Z0d2FyZSwgaXQgaXMgcHJvdmlkZWQgQVMtSVMuCiAgICoKICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiAgICovCkBAIC0xMzg0LDcgKzEzODMsNyBAQAogI2RlZmluZSBSQ0NfQkRDUl9SVENTRUxfMCAgICAgICAgICAgICAgICAgICAgKDB4MVVMIDw8IFJDQ19CRENSX1JUQ1NFTF9Qb3MpICAgICAvKiE8IDB4MDAwMDAxMDAgKi8KICNkZWZpbmUgUkNDX0JEQ1JfUlRDU0VMXzEgICAgICAgICAgICAgICAgICAgICgweDJVTCA8PCBSQ0NfQkRDUl9SVENTRUxfUG9zKSAgICAgLyohPCAweDAwMDAwMjAwICovCiAKLS8qITwgUlRDIGNvbmdpZ3VyYXRpb24gKi8KKy8qITwgUlRDIGNvbmZpZ3VyYXRpb24gKi8KICNkZWZpbmUgUkNDX0JEQ1JfUlRDU0VMX05PQ0xPQ0sgICAgICAgICAgICAgIDB4MDAwMDAwMDBVICAgICAgICAgICAgICAgICAgICAgICAvKiE8IE5vIGNsb2NrICovCiAjZGVmaW5lIFJDQ19CRENSX1JUQ1NFTF9MU0UgICAgICAgICAgICAgICAgICAweDAwMDAwMTAwVSAgICAgICAgICAgICAgICAgICAgICAgLyohPCBMU0Ugb3NjaWxsYXRvciBjbG9jayB1c2VkIGFzIFJUQyBjbG9jayAqLwogI2RlZmluZSBSQ0NfQkRDUl9SVENTRUxfTFNJICAgICAgICAgICAgICAgICAgMHgwMDAwMDIwMFUgICAgICAgICAgICAgICAgICAgICAgIC8qITwgTFNJIG9zY2lsbGF0b3IgY2xvY2sgdXNlZCBhcyBSVEMgY2xvY2sgKi8KQEAgLTMzODYsNyArMzM4NSw3IEBACiAjZGVmaW5lIEFEQ19DUjJfRE1BICAgICAgICAgICAgICAgICAgICAgICAgIEFEQ19DUjJfRE1BX01zayAgICAgICAgICAgICAgICAgICAgLyohPCBBREMgRE1BIHRyYW5zZmVyIGVuYWJsZSAqLwogI2RlZmluZSBBRENfQ1IyX0FMSUdOX1BvcyAgICAgICAgICAgICAgICAgICAoMTFVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogI2RlZmluZSBBRENfQ1IyX0FMSUdOX01zayAgICAgICAgICAgICAgICAgICAoMHgxVUwgPDwgQURDX0NSMl9BTElHTl9Qb3MpICAgICAgICAvKiE8IDB4MDAwMDA4MDAgKi8KLSNkZWZpbmUgQURDX0NSMl9BTElHTiAgICAgICAgICAgICAgICAgICAgICAgQURDX0NSMl9BTElHTl9Nc2sgICAgICAgICAgICAgICAgICAvKiE8IEFEQyBkYXRhIGFsaWduZW1lbnQgKi8KKyNkZWZpbmUgQURDX0NSMl9BTElHTiAgICAgICAgICAgICAgICAgICAgICAgQURDX0NSMl9BTElHTl9Nc2sgICAgICAgICAgICAgICAgICAvKiE8IEFEQyBkYXRhIGFsaWdubWVudCAqLwogCiAjZGVmaW5lIEFEQ19DUjJfSkVYVFNFTF9Qb3MgICAgICAgICAgICAgICAgICgxMlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAjZGVmaW5lIEFEQ19DUjJfSkVYVFNFTF9Nc2sgICAgICAgICAgICAgICAgICgweDdVTCA8PCBBRENfQ1IyX0pFWFRTRUxfUG9zKSAgICAgIC8qITwgMHgwMDAwNzAwMCAqLwpAQCAtMTAxODYsMzggKzEwMTg1LDM4IEBACiAKIC8qIEFsaWFzZXMgZm9yIF9fSVJRbiAqLwogI2RlZmluZSBBREMxX0lSUW4gICAgICAgICAgICAgICBBREMxXzJfSVJRbgotI2RlZmluZSBUSU0xX0JSS19USU0xNV9JUlFuICAgICBUSU0xX0JSS19JUlFuCiAjZGVmaW5lIFRJTTlfSVJRbiAgICAgICAgICAgICAgIFRJTTFfQlJLX0lSUW4KICNkZWZpbmUgVElNMV9CUktfVElNOV9JUlFuICAgICAgVElNMV9CUktfSVJRbgorI2RlZmluZSBUSU0xX0JSS19USU0xNV9JUlFuICAgICBUSU0xX0JSS19JUlFuCiAjZGVmaW5lIFRJTTFfVFJHX0NPTV9USU0xN19JUlFuIFRJTTFfVFJHX0NPTV9JUlFuCiAjZGVmaW5lIFRJTTFfVFJHX0NPTV9USU0xMV9JUlFuIFRJTTFfVFJHX0NPTV9JUlFuCiAjZGVmaW5lIFRJTTExX0lSUW4gICAgICAgICAgICAgIFRJTTFfVFJHX0NPTV9JUlFuCiAjZGVmaW5lIFRJTTEwX0lSUW4gICAgICAgICAgICAgIFRJTTFfVVBfSVJRbgotI2RlZmluZSBUSU0xX1VQX1RJTTE2X0lSUW4gICAgICBUSU0xX1VQX0lSUW4KICNkZWZpbmUgVElNMV9VUF9USU0xMF9JUlFuICAgICAgVElNMV9VUF9JUlFuCisjZGVmaW5lIFRJTTFfVVBfVElNMTZfSVJRbiAgICAgIFRJTTFfVVBfSVJRbgogI2RlZmluZSBPVEdfRlNfV0tVUF9JUlFuICAgICAgICBVU0JXYWtlVXBfSVJRbgogI2RlZmluZSBDRUNfSVJRbiAgICAgICAgICAgICAgICBVU0JXYWtlVXBfSVJRbgotI2RlZmluZSBDQU4xX1RYX0lSUW4gICAgICAgICAgICBVU0JfSFBfQ0FOMV9UWF9JUlFuCiAjZGVmaW5lIFVTQl9IUF9JUlFuICAgICAgICAgICAgIFVTQl9IUF9DQU4xX1RYX0lSUW4KKyNkZWZpbmUgQ0FOMV9UWF9JUlFuICAgICAgICAgICAgVVNCX0hQX0NBTjFfVFhfSVJRbgogI2RlZmluZSBDQU4xX1JYMF9JUlFuICAgICAgICAgICBVU0JfTFBfQ0FOMV9SWDBfSVJRbgogI2RlZmluZSBVU0JfTFBfSVJRbiAgICAgICAgICAgICBVU0JfTFBfQ0FOMV9SWDBfSVJRbgogCiAKIC8qIEFsaWFzZXMgZm9yIF9fSVJRSGFuZGxlciAqLwogI2RlZmluZSBBREMxX0lSUUhhbmRsZXIgICAgICAgICAgICAgICBBREMxXzJfSVJRSGFuZGxlcgotI2RlZmluZSBUSU0xX0JSS19USU0xNV9JUlFIYW5kbGVyICAgICBUSU0xX0JSS19JUlFIYW5kbGVyCiAjZGVmaW5lIFRJTTlfSVJRSGFuZGxlciAgICAgICAgICAgICAgIFRJTTFfQlJLX0lSUUhhbmRsZXIKICNkZWZpbmUgVElNMV9CUktfVElNOV9JUlFIYW5kbGVyICAgICAgVElNMV9CUktfSVJRSGFuZGxlcgorI2RlZmluZSBUSU0xX0JSS19USU0xNV9JUlFIYW5kbGVyICAgICBUSU0xX0JSS19JUlFIYW5kbGVyCiAjZGVmaW5lIFRJTTFfVFJHX0NPTV9USU0xN19JUlFIYW5kbGVyIFRJTTFfVFJHX0NPTV9JUlFIYW5kbGVyCiAjZGVmaW5lIFRJTTFfVFJHX0NPTV9USU0xMV9JUlFIYW5kbGVyIFRJTTFfVFJHX0NPTV9JUlFIYW5kbGVyCiAjZGVmaW5lIFRJTTExX0lSUUhhbmRsZXIgICAgICAgICAgICAgIFRJTTFfVFJHX0NPTV9JUlFIYW5kbGVyCiAjZGVmaW5lIFRJTTEwX0lSUUhhbmRsZXIgICAgICAgICAgICAgIFRJTTFfVVBfSVJRSGFuZGxlcgotI2RlZmluZSBUSU0xX1VQX1RJTTE2X0lSUUhhbmRsZXIgICAgICBUSU0xX1VQX0lSUUhhbmRsZXIKICNkZWZpbmUgVElNMV9VUF9USU0xMF9JUlFIYW5kbGVyICAgICAgVElNMV9VUF9JUlFIYW5kbGVyCisjZGVmaW5lIFRJTTFfVVBfVElNMTZfSVJRSGFuZGxlciAgICAgIFRJTTFfVVBfSVJRSGFuZGxlcgogI2RlZmluZSBPVEdfRlNfV0tVUF9JUlFIYW5kbGVyICAgICAgICBVU0JXYWtlVXBfSVJRSGFuZGxlcgogI2RlZmluZSBDRUNfSVJRSGFuZGxlciAgICAgICAgICAgICAgICBVU0JXYWtlVXBfSVJRSGFuZGxlcgotI2RlZmluZSBDQU4xX1RYX0lSUUhhbmRsZXIgICAgICAgICAgICBVU0JfSFBfQ0FOMV9UWF9JUlFIYW5kbGVyCiAjZGVmaW5lIFVTQl9IUF9JUlFIYW5kbGVyICAgICAgICAgICAgIFVTQl9IUF9DQU4xX1RYX0lSUUhhbmRsZXIKKyNkZWZpbmUgQ0FOMV9UWF9JUlFIYW5kbGVyICAgICAgICAgICAgVVNCX0hQX0NBTjFfVFhfSVJRSGFuZGxlcgogI2RlZmluZSBDQU4xX1JYMF9JUlFIYW5kbGVyICAgICAgICAgICBVU0JfTFBfQ0FOMV9SWDBfSVJRSGFuZGxlcgogI2RlZmluZSBVU0JfTFBfSVJRSGFuZGxlciAgICAgICAgICAgICBVU0JfTFBfQ0FOMV9SWDBfSVJRSGFuZGxlcgogCkBAIC0xMDIzOCw1ICsxMDIzNyw0IEBACiAjZW5kaWYgLyogX19TVE0zMkYxMDN4Ql9IICovCiAgIAogICAKLSAgCi0gIC8qKioqKioqKioqKioqKioqKioqKioqKiogKEMpIENPUFlSSUdIVCBTVE1pY3JvZWxlY3Ryb25pY3MgKioqKipFTkQgT0YgRklMRSoqKiovCisKZGlmZiAtLWdpdCBhL0luY2x1ZGUvc3RtMzJmMTAzeGUuaCBiL0luY2x1ZGUvc3RtMzJmMTAzeGUuaAppbmRleCA5NzI1ZDc4Li44ZjRmZWRjIDEwMDY0NAotLS0gYS9JbmNsdWRlL3N0bTMyZjEwM3hlLmgKKysrIGIvSW5jbHVkZS9zdG0zMmYxMDN4ZS5oCkBAIC05LDE4ICs5LDE3IEBACiAgICogICAgICAgICAgVGhpcyBmaWxlIGNvbnRhaW5zOgogICAqICAgICAgICAgICAtIERhdGEgc3RydWN0dXJlcyBhbmQgdGhlIGFkZHJlc3MgbWFwcGluZyBmb3IgYWxsIHBlcmlwaGVyYWxzCiAgICogICAgICAgICAgIC0gUGVyaXBoZXJhbCdzIHJlZ2lzdGVycyBkZWNsYXJhdGlvbnMgYW5kIGJpdHMgZGVmaW5pdGlvbgotICAqICAgICAgICAgICAtIE1hY3JvcyB0byBhY2Nlc3MgcGVyaXBoZXJhbJJzIHJlZ2lzdGVycyBoYXJkd2FyZQorICAqICAgICAgICAgICAtIE1hY3JvcyB0byBhY2Nlc3MgcGVyaXBoZXJhbCdzIHJlZ2lzdGVycyBoYXJkd2FyZQogICAqICAKICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiAgICogQGF0dGVudGlvbgogICAqCi0gICogPGgyPjxjZW50ZXI+JmNvcHk7IENvcHlyaWdodCAoYykgMjAxNyBTVE1pY3JvZWxlY3Ryb25pY3MuCi0gICogQWxsIHJpZ2h0cyByZXNlcnZlZC48L2NlbnRlcj48L2gyPgorICAqIENvcHlyaWdodCAoYykgMjAxNy0yMDIxIFNUTWljcm9lbGVjdHJvbmljcy4KKyAgKiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICAqCi0gICogVGhpcyBzb2Z0d2FyZSBjb21wb25lbnQgaXMgbGljZW5zZWQgYnkgU1QgdW5kZXIgQlNEIDMtQ2xhdXNlIGxpY2Vuc2UsCi0gICogdGhlICJMaWNlbnNlIjsgWW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZQotICAqIExpY2Vuc2UuIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdDoKLSAgKiAgICAgICAgICAgICAgICAgICAgICAgIG9wZW5zb3VyY2Uub3JnL2xpY2Vuc2VzL0JTRC0zLUNsYXVzZQorICAqIFRoaXMgc29mdHdhcmUgaXMgbGljZW5zZWQgdW5kZXIgdGVybXMgdGhhdCBjYW4gYmUgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZQorICAqIGluIHRoZSByb290IGRpcmVjdG9yeSBvZiB0aGlzIHNvZnR3YXJlIGNvbXBvbmVudC4KKyAgKiBJZiBubyBMSUNFTlNFIGZpbGUgY29tZXMgd2l0aCB0aGlzIHNvZnR3YXJlLCBpdCBpcyBwcm92aWRlZCBBUy1JUy4KICAgKgogICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKICAgKi8KQEAgLTE4MjgsNyArMTgyNyw3IEBACiAjZGVmaW5lIFJDQ19CRENSX1JUQ1NFTF8wICAgICAgICAgICAgICAgICAgICAoMHgxVUwgPDwgUkNDX0JEQ1JfUlRDU0VMX1BvcykgICAgIC8qITwgMHgwMDAwMDEwMCAqLwogI2RlZmluZSBSQ0NfQkRDUl9SVENTRUxfMSAgICAgICAgICAgICAgICAgICAgKDB4MlVMIDw8IFJDQ19CRENSX1JUQ1NFTF9Qb3MpICAgICAvKiE8IDB4MDAwMDAyMDAgKi8KIAotLyohPCBSVEMgY29uZ2lndXJhdGlvbiAqLworLyohPCBSVEMgY29uZmlndXJhdGlvbiAqLwogI2RlZmluZSBSQ0NfQkRDUl9SVENTRUxfTk9DTE9DSyAgICAgICAgICAgICAgMHgwMDAwMDAwMFUgICAgICAgICAgICAgICAgICAgICAgIC8qITwgTm8gY2xvY2sgKi8KICNkZWZpbmUgUkNDX0JEQ1JfUlRDU0VMX0xTRSAgICAgICAgICAgICAgICAgIDB4MDAwMDAxMDBVICAgICAgICAgICAgICAgICAgICAgICAvKiE8IExTRSBvc2NpbGxhdG9yIGNsb2NrIHVzZWQgYXMgUlRDIGNsb2NrICovCiAjZGVmaW5lIFJDQ19CRENSX1JUQ1NFTF9MU0kgICAgICAgICAgICAgICAgICAweDAwMDAwMjAwVSAgICAgICAgICAgICAgICAgICAgICAgLyohPCBMU0kgb3NjaWxsYXRvciBjbG9jayB1c2VkIGFzIFJUQyBjbG9jayAqLwpAQCAtMzg0OCw3ICszODQ3LDcgQEAKICNkZWZpbmUgQURDX0NSMl9ETUEgICAgICAgICAgICAgICAgICAgICAgICAgQURDX0NSMl9ETUFfTXNrICAgICAgICAgICAgICAgICAgICAvKiE8IEFEQyBETUEgdHJhbnNmZXIgZW5hYmxlICovCiAjZGVmaW5lIEFEQ19DUjJfQUxJR05fUG9zICAgICAgICAgICAgICAgICAgICgxMVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAjZGVmaW5lIEFEQ19DUjJfQUxJR05fTXNrICAgICAgICAgICAgICAgICAgICgweDFVTCA8PCBBRENfQ1IyX0FMSUdOX1BvcykgICAgICAgIC8qITwgMHgwMDAwMDgwMCAqLwotI2RlZmluZSBBRENfQ1IyX0FMSUdOICAgICAgICAgICAgICAgICAgICAgICBBRENfQ1IyX0FMSUdOX01zayAgICAgICAgICAgICAgICAgIC8qITwgQURDIGRhdGEgYWxpZ25lbWVudCAqLworI2RlZmluZSBBRENfQ1IyX0FMSUdOICAgICAgICAgICAgICAgICAgICAgICBBRENfQ1IyX0FMSUdOX01zayAgICAgICAgICAgICAgICAgIC8qITwgQURDIGRhdGEgYWxpZ25tZW50ICovCiAKICNkZWZpbmUgQURDX0NSMl9KRVhUU0VMX1BvcyAgICAgICAgICAgICAgICAgKDEyVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICNkZWZpbmUgQURDX0NSMl9KRVhUU0VMX01zayAgICAgICAgICAgICAgICAgKDB4N1VMIDw8IEFEQ19DUjJfSkVYVFNFTF9Qb3MpICAgICAgLyohPCAweDAwMDA3MDAwICovCkBAIC0xMDQzNCw3ICsxMDQzMyw3IEBACiAvKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqLwogLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KIC8qCi0gKiBAYnJpZWYgU3BlY2lmaWMgZGV2aWNlIGZlYXR1cmUgZGVmaW5pdGlvbnMgKG5vdCBwcmVzZW50IG9uIGFsbCBkZXZpY2VzIGluIHRoZSBTVE0zMkYxIHNlcmllKQorICogQGJyaWVmIFNwZWNpZmljIGRldmljZSBmZWF0dXJlIGRlZmluaXRpb25zIChub3QgcHJlc2VudCBvbiBhbGwgZGV2aWNlcyBpbiB0aGUgU1RNMzJGMSBzZXJpZXMpCiAgKi8KICNkZWZpbmUgU1BJX0kyU19TVVBQT1JUICAgICAgIC8qITwgSTJTIHN1cHBvcnQgKi8KICNkZWZpbmUgU1BJX0NSQ19FUlJPUl9XT1JLQVJPVU5EX0ZFQVRVUkUKQEAgLTExNzAyLDIyICsxMTcwMSwyMiBAQAogI2RlZmluZSBUSU05X0lSUW4gICAgICAgICAgICAgICBUSU0xX0JSS19JUlFuCiAjZGVmaW5lIFRJTTFfQlJLX1RJTTE1X0lSUW4gICAgIFRJTTFfQlJLX0lSUW4KICNkZWZpbmUgVElNMTFfSVJRbiAgICAgICAgICAgICAgVElNMV9UUkdfQ09NX0lSUW4KLSNkZWZpbmUgVElNMV9UUkdfQ09NX1RJTTExX0lSUW4gVElNMV9UUkdfQ09NX0lSUW4KICNkZWZpbmUgVElNMV9UUkdfQ09NX1RJTTE3X0lSUW4gVElNMV9UUkdfQ09NX0lSUW4KLSNkZWZpbmUgVElNMV9VUF9USU0xMF9JUlFuICAgICAgVElNMV9VUF9JUlFuCisjZGVmaW5lIFRJTTFfVFJHX0NPTV9USU0xMV9JUlFuIFRJTTFfVFJHX0NPTV9JUlFuCiAjZGVmaW5lIFRJTTFfVVBfVElNMTZfSVJRbiAgICAgIFRJTTFfVVBfSVJRbgorI2RlZmluZSBUSU0xX1VQX1RJTTEwX0lSUW4gICAgICBUSU0xX1VQX0lSUW4KICNkZWZpbmUgVElNMTBfSVJRbiAgICAgICAgICAgICAgVElNMV9VUF9JUlFuCiAjZGVmaW5lIFRJTTZfREFDX0lSUW4gICAgICAgICAgIFRJTTZfSVJRbgotI2RlZmluZSBUSU04X0JSS19USU0xMl9JUlFuICAgICBUSU04X0JSS19JUlFuCiAjZGVmaW5lIFRJTTEyX0lSUW4gICAgICAgICAgICAgIFRJTThfQlJLX0lSUW4KLSNkZWZpbmUgVElNMTRfSVJRbiAgICAgICAgICAgICAgVElNOF9UUkdfQ09NX0lSUW4KKyNkZWZpbmUgVElNOF9CUktfVElNMTJfSVJRbiAgICAgVElNOF9CUktfSVJRbgogI2RlZmluZSBUSU04X1RSR19DT01fVElNMTRfSVJRbiBUSU04X1RSR19DT01fSVJRbgorI2RlZmluZSBUSU0xNF9JUlFuICAgICAgICAgICAgICBUSU04X1RSR19DT01fSVJRbgogI2RlZmluZSBUSU04X1VQX1RJTTEzX0lSUW4gICAgICBUSU04X1VQX0lSUW4KICNkZWZpbmUgVElNMTNfSVJRbiAgICAgICAgICAgICAgVElNOF9VUF9JUlFuCiAjZGVmaW5lIENFQ19JUlFuICAgICAgICAgICAgICAgIFVTQldha2VVcF9JUlFuCiAjZGVmaW5lIE9UR19GU19XS1VQX0lSUW4gICAgICAgIFVTQldha2VVcF9JUlFuCi0jZGVmaW5lIFVTQl9IUF9JUlFuICAgICAgICAgICAgIFVTQl9IUF9DQU4xX1RYX0lSUW4KICNkZWZpbmUgQ0FOMV9UWF9JUlFuICAgICAgICAgICAgVVNCX0hQX0NBTjFfVFhfSVJRbgorI2RlZmluZSBVU0JfSFBfSVJRbiAgICAgICAgICAgICBVU0JfSFBfQ0FOMV9UWF9JUlFuCiAjZGVmaW5lIFVTQl9MUF9JUlFuICAgICAgICAgICAgIFVTQl9MUF9DQU4xX1JYMF9JUlFuCiAjZGVmaW5lIENBTjFfUlgwX0lSUW4gICAgICAgICAgIFVTQl9MUF9DQU4xX1JYMF9JUlFuCiAKQEAgLTExNzI5LDIyICsxMTcyOCwyMiBAQAogI2RlZmluZSBUSU05X0lSUUhhbmRsZXIgICAgICAgICAgICAgICBUSU0xX0JSS19JUlFIYW5kbGVyCiAjZGVmaW5lIFRJTTFfQlJLX1RJTTE1X0lSUUhhbmRsZXIgICAgIFRJTTFfQlJLX0lSUUhhbmRsZXIKICNkZWZpbmUgVElNMTFfSVJRSGFuZGxlciAgICAgICAgICAgICAgVElNMV9UUkdfQ09NX0lSUUhhbmRsZXIKLSNkZWZpbmUgVElNMV9UUkdfQ09NX1RJTTExX0lSUUhhbmRsZXIgVElNMV9UUkdfQ09NX0lSUUhhbmRsZXIKICNkZWZpbmUgVElNMV9UUkdfQ09NX1RJTTE3X0lSUUhhbmRsZXIgVElNMV9UUkdfQ09NX0lSUUhhbmRsZXIKLSNkZWZpbmUgVElNMV9VUF9USU0xMF9JUlFIYW5kbGVyICAgICAgVElNMV9VUF9JUlFIYW5kbGVyCisjZGVmaW5lIFRJTTFfVFJHX0NPTV9USU0xMV9JUlFIYW5kbGVyIFRJTTFfVFJHX0NPTV9JUlFIYW5kbGVyCiAjZGVmaW5lIFRJTTFfVVBfVElNMTZfSVJRSGFuZGxlciAgICAgIFRJTTFfVVBfSVJRSGFuZGxlcgorI2RlZmluZSBUSU0xX1VQX1RJTTEwX0lSUUhhbmRsZXIgICAgICBUSU0xX1VQX0lSUUhhbmRsZXIKICNkZWZpbmUgVElNMTBfSVJRSGFuZGxlciAgICAgICAgICAgICAgVElNMV9VUF9JUlFIYW5kbGVyCiAjZGVmaW5lIFRJTTZfREFDX0lSUUhhbmRsZXIgICAgICAgICAgIFRJTTZfSVJRSGFuZGxlcgotI2RlZmluZSBUSU04X0JSS19USU0xMl9JUlFIYW5kbGVyICAgICBUSU04X0JSS19JUlFIYW5kbGVyCiAjZGVmaW5lIFRJTTEyX0lSUUhhbmRsZXIgICAgICAgICAgICAgIFRJTThfQlJLX0lSUUhhbmRsZXIKLSNkZWZpbmUgVElNMTRfSVJRSGFuZGxlciAgICAgICAgICAgICAgVElNOF9UUkdfQ09NX0lSUUhhbmRsZXIKKyNkZWZpbmUgVElNOF9CUktfVElNMTJfSVJRSGFuZGxlciAgICAgVElNOF9CUktfSVJRSGFuZGxlcgogI2RlZmluZSBUSU04X1RSR19DT01fVElNMTRfSVJRSGFuZGxlciBUSU04X1RSR19DT01fSVJRSGFuZGxlcgorI2RlZmluZSBUSU0xNF9JUlFIYW5kbGVyICAgICAgICAgICAgICBUSU04X1RSR19DT01fSVJRSGFuZGxlcgogI2RlZmluZSBUSU04X1VQX1RJTTEzX0lSUUhhbmRsZXIgICAgICBUSU04X1VQX0lSUUhhbmRsZXIKICNkZWZpbmUgVElNMTNfSVJRSGFuZGxlciAgICAgICAgICAgICAgVElNOF9VUF9JUlFIYW5kbGVyCiAjZGVmaW5lIENFQ19JUlFIYW5kbGVyICAgICAgICAgICAgICAgIFVTQldha2VVcF9JUlFIYW5kbGVyCiAjZGVmaW5lIE9UR19GU19XS1VQX0lSUUhhbmRsZXIgICAgICAgIFVTQldha2VVcF9JUlFIYW5kbGVyCi0jZGVmaW5lIFVTQl9IUF9JUlFIYW5kbGVyICAgICAgICAgICAgIFVTQl9IUF9DQU4xX1RYX0lSUUhhbmRsZXIKICNkZWZpbmUgQ0FOMV9UWF9JUlFIYW5kbGVyICAgICAgICAgICAgVVNCX0hQX0NBTjFfVFhfSVJRSGFuZGxlcgorI2RlZmluZSBVU0JfSFBfSVJRSGFuZGxlciAgICAgICAgICAgICBVU0JfSFBfQ0FOMV9UWF9JUlFIYW5kbGVyCiAjZGVmaW5lIFVTQl9MUF9JUlFIYW5kbGVyICAgICAgICAgICAgIFVTQl9MUF9DQU4xX1JYMF9JUlFIYW5kbGVyCiAjZGVmaW5lIENBTjFfUlgwX0lSUUhhbmRsZXIgICAgICAgICAgIFVTQl9MUF9DQU4xX1JYMF9JUlFIYW5kbGVyCiAKQEAgLTExNzY1LDUgKzExNzY0LDQgQEAKICNlbmRpZiAvKiBfX1NUTTMyRjEwM3hFX0ggKi8KICAgCiAgIAotICAKLSAgLyoqKioqKioqKioqKioqKioqKioqKioqKiAoQykgQ09QWVJJR0hUIFNUTWljcm9lbGVjdHJvbmljcyAqKioqKkVORCBPRiBGSUxFKioqKi8KKwpkaWZmIC0tZ2l0IGEvSW5jbHVkZS9zdG0zMmYxMDN4Zy5oIGIvSW5jbHVkZS9zdG0zMmYxMDN4Zy5oCmluZGV4IDZlNmM3ZjAuLjk5YjkzZjUgMTAwNjQ0Ci0tLSBhL0luY2x1ZGUvc3RtMzJmMTAzeGcuaAorKysgYi9JbmNsdWRlL3N0bTMyZjEwM3hnLmgKQEAgLTksMTggKzksMTcgQEAKICAgKiAgICAgICAgICBUaGlzIGZpbGUgY29udGFpbnM6CiAgICogICAgICAgICAgIC0gRGF0YSBzdHJ1Y3R1cmVzIGFuZCB0aGUgYWRkcmVzcyBtYXBwaW5nIGZvciBhbGwgcGVyaXBoZXJhbHMKICAgKiAgICAgICAgICAgLSBQZXJpcGhlcmFsJ3MgcmVnaXN0ZXJzIGRlY2xhcmF0aW9ucyBhbmQgYml0cyBkZWZpbml0aW9uCi0gICogICAgICAgICAgIC0gTWFjcm9zIHRvIGFjY2VzcyBwZXJpcGhlcmFsknMgcmVnaXN0ZXJzIGhhcmR3YXJlCisgICogICAgICAgICAgIC0gTWFjcm9zIHRvIGFjY2VzcyBwZXJpcGhlcmFsJ3MgcmVnaXN0ZXJzIGhhcmR3YXJlCiAgICogIAogICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKICAgKiBAYXR0ZW50aW9uCiAgICoKLSAgKiA8aDI+PGNlbnRlcj4mY29weTsgQ29weXJpZ2h0IChjKSAyMDE3IFNUTWljcm9lbGVjdHJvbmljcy4KLSAgKiBBbGwgcmlnaHRzIHJlc2VydmVkLjwvY2VudGVyPjwvaDI+CisgICogQ29weXJpZ2h0IChjKSAyMDE3LTIwMjEgU1RNaWNyb2VsZWN0cm9uaWNzLgorICAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgICoKLSAgKiBUaGlzIHNvZnR3YXJlIGNvbXBvbmVudCBpcyBsaWNlbnNlZCBieSBTVCB1bmRlciBCU0QgMy1DbGF1c2UgbGljZW5zZSwKLSAgKiB0aGUgIkxpY2Vuc2UiOyBZb3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlCi0gICogTGljZW5zZS4gWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0OgotICAqICAgICAgICAgICAgICAgICAgICAgICAgb3BlbnNvdXJjZS5vcmcvbGljZW5zZXMvQlNELTMtQ2xhdXNlCisgICogVGhpcyBzb2Z0d2FyZSBpcyBsaWNlbnNlZCB1bmRlciB0ZXJtcyB0aGF0IGNhbiBiZSBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlCisgICogaW4gdGhlIHJvb3QgZGlyZWN0b3J5IG9mIHRoaXMgc29mdHdhcmUgY29tcG9uZW50LgorICAqIElmIG5vIExJQ0VOU0UgZmlsZSBjb21lcyB3aXRoIHRoaXMgc29mdHdhcmUsIGl0IGlzIHByb3ZpZGVkIEFTLUlTLgogICAqCiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogICAqLwpAQCAtMTg4Myw3ICsxODgyLDcgQEAKICNkZWZpbmUgUkNDX0JEQ1JfUlRDU0VMXzAgICAgICAgICAgICAgICAgICAgICgweDFVTCA8PCBSQ0NfQkRDUl9SVENTRUxfUG9zKSAgICAgLyohPCAweDAwMDAwMTAwICovCiAjZGVmaW5lIFJDQ19CRENSX1JUQ1NFTF8xICAgICAgICAgICAgICAgICAgICAoMHgyVUwgPDwgUkNDX0JEQ1JfUlRDU0VMX1BvcykgICAgIC8qITwgMHgwMDAwMDIwMCAqLwogCi0vKiE8IFJUQyBjb25naWd1cmF0aW9uICovCisvKiE8IFJUQyBjb25maWd1cmF0aW9uICovCiAjZGVmaW5lIFJDQ19CRENSX1JUQ1NFTF9OT0NMT0NLICAgICAgICAgICAgICAweDAwMDAwMDAwVSAgICAgICAgICAgICAgICAgICAgICAgLyohPCBObyBjbG9jayAqLwogI2RlZmluZSBSQ0NfQkRDUl9SVENTRUxfTFNFICAgICAgICAgICAgICAgICAgMHgwMDAwMDEwMFUgICAgICAgICAgICAgICAgICAgICAgIC8qITwgTFNFIG9zY2lsbGF0b3IgY2xvY2sgdXNlZCBhcyBSVEMgY2xvY2sgKi8KICNkZWZpbmUgUkNDX0JEQ1JfUlRDU0VMX0xTSSAgICAgICAgICAgICAgICAgIDB4MDAwMDAyMDBVICAgICAgICAgICAgICAgICAgICAgICAvKiE8IExTSSBvc2NpbGxhdG9yIGNsb2NrIHVzZWQgYXMgUlRDIGNsb2NrICovCkBAIC0zOTE4LDcgKzM5MTcsNyBAQAogI2RlZmluZSBBRENfQ1IyX0RNQSAgICAgICAgICAgICAgICAgICAgICAgICBBRENfQ1IyX0RNQV9Nc2sgICAgICAgICAgICAgICAgICAgIC8qITwgQURDIERNQSB0cmFuc2ZlciBlbmFibGUgKi8KICNkZWZpbmUgQURDX0NSMl9BTElHTl9Qb3MgICAgICAgICAgICAgICAgICAgKDExVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICNkZWZpbmUgQURDX0NSMl9BTElHTl9Nc2sgICAgICAgICAgICAgICAgICAgKDB4MVVMIDw8IEFEQ19DUjJfQUxJR05fUG9zKSAgICAgICAgLyohPCAweDAwMDAwODAwICovCi0jZGVmaW5lIEFEQ19DUjJfQUxJR04gICAgICAgICAgICAgICAgICAgICAgIEFEQ19DUjJfQUxJR05fTXNrICAgICAgICAgICAgICAgICAgLyohPCBBREMgZGF0YSBhbGlnbmVtZW50ICovCisjZGVmaW5lIEFEQ19DUjJfQUxJR04gICAgICAgICAgICAgICAgICAgICAgIEFEQ19DUjJfQUxJR05fTXNrICAgICAgICAgICAgICAgICAgLyohPCBBREMgZGF0YSBhbGlnbm1lbnQgKi8KIAogI2RlZmluZSBBRENfQ1IyX0pFWFRTRUxfUG9zICAgICAgICAgICAgICAgICAoMTJVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogI2RlZmluZSBBRENfQ1IyX0pFWFRTRUxfTXNrICAgICAgICAgICAgICAgICAoMHg3VUwgPDwgQURDX0NSMl9KRVhUU0VMX1BvcykgICAgICAvKiE8IDB4MDAwMDcwMDAgKi8KQEAgLTEwNTA0LDcgKzEwNTAzLDcgQEAKIC8qICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICovCiAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLwogLyoKLSAqIEBicmllZiBTcGVjaWZpYyBkZXZpY2UgZmVhdHVyZSBkZWZpbml0aW9ucyAobm90IHByZXNlbnQgb24gYWxsIGRldmljZXMgaW4gdGhlIFNUTTMyRjEgc2VyaWUpCisgKiBAYnJpZWYgU3BlY2lmaWMgZGV2aWNlIGZlYXR1cmUgZGVmaW5pdGlvbnMgKG5vdCBwcmVzZW50IG9uIGFsbCBkZXZpY2VzIGluIHRoZSBTVE0zMkYxIHNlcmllcykKICAqLwogI2RlZmluZSBTUElfSTJTX1NVUFBPUlQgICAgICAgLyohPCBJMlMgc3VwcG9ydCAqLwogCkBAIC0xMTg4Miw1NSArMTE4ODEsNTUgQEAKIC8qIEFsaWFzZXMgZm9yIF9fSVJRbiAqLwogI2RlZmluZSBBREMxX0lSUW4gICAgICAgICAgICAgICBBREMxXzJfSVJRbgogI2RlZmluZSBETUEyX0NoYW5uZWw0X0lSUW4gICAgICBETUEyX0NoYW5uZWw0XzVfSVJRbgotI2RlZmluZSBUSU05X0lSUW4gICAgICAgICAgICAgICBUSU0xX0JSS19USU05X0lSUW4KICNkZWZpbmUgVElNMV9CUktfSVJRbiAgICAgICAgICAgVElNMV9CUktfVElNOV9JUlFuCiAjZGVmaW5lIFRJTTFfQlJLX1RJTTE1X0lSUW4gICAgIFRJTTFfQlJLX1RJTTlfSVJRbgorI2RlZmluZSBUSU05X0lSUW4gICAgICAgICAgICAgICBUSU0xX0JSS19USU05X0lSUW4KICNkZWZpbmUgVElNMV9UUkdfQ09NX1RJTTE3X0lSUW4gVElNMV9UUkdfQ09NX1RJTTExX0lSUW4KLSNkZWZpbmUgVElNMV9UUkdfQ09NX0lSUW4gICAgICAgVElNMV9UUkdfQ09NX1RJTTExX0lSUW4KICNkZWZpbmUgVElNMTFfSVJRbiAgICAgICAgICAgICAgVElNMV9UUkdfQ09NX1RJTTExX0lSUW4KLSNkZWZpbmUgVElNMTBfSVJRbiAgICAgICAgICAgICAgVElNMV9VUF9USU0xMF9JUlFuCisjZGVmaW5lIFRJTTFfVFJHX0NPTV9JUlFuICAgICAgIFRJTTFfVFJHX0NPTV9USU0xMV9JUlFuCiAjZGVmaW5lIFRJTTFfVVBfSVJRbiAgICAgICAgICAgIFRJTTFfVVBfVElNMTBfSVJRbgorI2RlZmluZSBUSU0xMF9JUlFuICAgICAgICAgICAgICBUSU0xX1VQX1RJTTEwX0lSUW4KICNkZWZpbmUgVElNMV9VUF9USU0xNl9JUlFuICAgICAgVElNMV9VUF9USU0xMF9JUlFuCiAjZGVmaW5lIFRJTTZfREFDX0lSUW4gICAgICAgICAgIFRJTTZfSVJRbgotI2RlZmluZSBUSU0xMl9JUlFuICAgICAgICAgICAgICBUSU04X0JSS19USU0xMl9JUlFuCiAjZGVmaW5lIFRJTThfQlJLX0lSUW4gICAgICAgICAgIFRJTThfQlJLX1RJTTEyX0lSUW4KLSNkZWZpbmUgVElNMTRfSVJRbiAgICAgICAgICAgICAgVElNOF9UUkdfQ09NX1RJTTE0X0lSUW4KKyNkZWZpbmUgVElNMTJfSVJRbiAgICAgICAgICAgICAgVElNOF9CUktfVElNMTJfSVJRbgogI2RlZmluZSBUSU04X1RSR19DT01fSVJRbiAgICAgICBUSU04X1RSR19DT01fVElNMTRfSVJRbgotI2RlZmluZSBUSU0xM19JUlFuICAgICAgICAgICAgICBUSU04X1VQX1RJTTEzX0lSUW4KKyNkZWZpbmUgVElNMTRfSVJRbiAgICAgICAgICAgICAgVElNOF9UUkdfQ09NX1RJTTE0X0lSUW4KICNkZWZpbmUgVElNOF9VUF9JUlFuICAgICAgICAgICAgVElNOF9VUF9USU0xM19JUlFuCisjZGVmaW5lIFRJTTEzX0lSUW4gICAgICAgICAgICAgIFRJTThfVVBfVElNMTNfSVJRbgogI2RlZmluZSBDRUNfSVJRbiAgICAgICAgICAgICAgICBVU0JXYWtlVXBfSVJRbgogI2RlZmluZSBPVEdfRlNfV0tVUF9JUlFuICAgICAgICBVU0JXYWtlVXBfSVJRbgotI2RlZmluZSBDQU4xX1RYX0lSUW4gICAgICAgICAgICBVU0JfSFBfQ0FOMV9UWF9JUlFuCiAjZGVmaW5lIFVTQl9IUF9JUlFuICAgICAgICAgICAgIFVTQl9IUF9DQU4xX1RYX0lSUW4KLSNkZWZpbmUgQ0FOMV9SWDBfSVJRbiAgICAgICAgICAgVVNCX0xQX0NBTjFfUlgwX0lSUW4KKyNkZWZpbmUgQ0FOMV9UWF9JUlFuICAgICAgICAgICAgVVNCX0hQX0NBTjFfVFhfSVJRbgogI2RlZmluZSBVU0JfTFBfSVJRbiAgICAgICAgICAgICBVU0JfTFBfQ0FOMV9SWDBfSVJRbgorI2RlZmluZSBDQU4xX1JYMF9JUlFuICAgICAgICAgICBVU0JfTFBfQ0FOMV9SWDBfSVJRbgogCiAKIC8qIEFsaWFzZXMgZm9yIF9fSVJRSGFuZGxlciAqLwogI2RlZmluZSBBREMxX0lSUUhhbmRsZXIgICAgICAgICAgICAgICBBREMxXzJfSVJRSGFuZGxlcgogI2RlZmluZSBETUEyX0NoYW5uZWw0X0lSUUhhbmRsZXIgICAgICBETUEyX0NoYW5uZWw0XzVfSVJRSGFuZGxlcgotI2RlZmluZSBUSU05X0lSUUhhbmRsZXIgICAgICAgICAgICAgICBUSU0xX0JSS19USU05X0lSUUhhbmRsZXIKICNkZWZpbmUgVElNMV9CUktfSVJRSGFuZGxlciAgICAgICAgICAgVElNMV9CUktfVElNOV9JUlFIYW5kbGVyCiAjZGVmaW5lIFRJTTFfQlJLX1RJTTE1X0lSUUhhbmRsZXIgICAgIFRJTTFfQlJLX1RJTTlfSVJRSGFuZGxlcgorI2RlZmluZSBUSU05X0lSUUhhbmRsZXIgICAgICAgICAgICAgICBUSU0xX0JSS19USU05X0lSUUhhbmRsZXIKICNkZWZpbmUgVElNMV9UUkdfQ09NX1RJTTE3X0lSUUhhbmRsZXIgVElNMV9UUkdfQ09NX1RJTTExX0lSUUhhbmRsZXIKLSNkZWZpbmUgVElNMV9UUkdfQ09NX0lSUUhhbmRsZXIgICAgICAgVElNMV9UUkdfQ09NX1RJTTExX0lSUUhhbmRsZXIKICNkZWZpbmUgVElNMTFfSVJRSGFuZGxlciAgICAgICAgICAgICAgVElNMV9UUkdfQ09NX1RJTTExX0lSUUhhbmRsZXIKLSNkZWZpbmUgVElNMTBfSVJRSGFuZGxlciAgICAgICAgICAgICAgVElNMV9VUF9USU0xMF9JUlFIYW5kbGVyCisjZGVmaW5lIFRJTTFfVFJHX0NPTV9JUlFIYW5kbGVyICAgICAgIFRJTTFfVFJHX0NPTV9USU0xMV9JUlFIYW5kbGVyCiAjZGVmaW5lIFRJTTFfVVBfSVJRSGFuZGxlciAgICAgICAgICAgIFRJTTFfVVBfVElNMTBfSVJRSGFuZGxlcgorI2RlZmluZSBUSU0xMF9JUlFIYW5kbGVyICAgICAgICAgICAgICBUSU0xX1VQX1RJTTEwX0lSUUhhbmRsZXIKICNkZWZpbmUgVElNMV9VUF9USU0xNl9JUlFIYW5kbGVyICAgICAgVElNMV9VUF9USU0xMF9JUlFIYW5kbGVyCiAjZGVmaW5lIFRJTTZfREFDX0lSUUhhbmRsZXIgICAgICAgICAgIFRJTTZfSVJRSGFuZGxlcgotI2RlZmluZSBUSU0xMl9JUlFIYW5kbGVyICAgICAgICAgICAgICBUSU04X0JSS19USU0xMl9JUlFIYW5kbGVyCiAjZGVmaW5lIFRJTThfQlJLX0lSUUhhbmRsZXIgICAgICAgICAgIFRJTThfQlJLX1RJTTEyX0lSUUhhbmRsZXIKLSNkZWZpbmUgVElNMTRfSVJRSGFuZGxlciAgICAgICAgICAgICAgVElNOF9UUkdfQ09NX1RJTTE0X0lSUUhhbmRsZXIKKyNkZWZpbmUgVElNMTJfSVJRSGFuZGxlciAgICAgICAgICAgICAgVElNOF9CUktfVElNMTJfSVJRSGFuZGxlcgogI2RlZmluZSBUSU04X1RSR19DT01fSVJRSGFuZGxlciAgICAgICBUSU04X1RSR19DT01fVElNMTRfSVJRSGFuZGxlcgotI2RlZmluZSBUSU0xM19JUlFIYW5kbGVyICAgICAgICAgICAgICBUSU04X1VQX1RJTTEzX0lSUUhhbmRsZXIKKyNkZWZpbmUgVElNMTRfSVJRSGFuZGxlciAgICAgICAgICAgICAgVElNOF9UUkdfQ09NX1RJTTE0X0lSUUhhbmRsZXIKICNkZWZpbmUgVElNOF9VUF9JUlFIYW5kbGVyICAgICAgICAgICAgVElNOF9VUF9USU0xM19JUlFIYW5kbGVyCisjZGVmaW5lIFRJTTEzX0lSUUhhbmRsZXIgICAgICAgICAgICAgIFRJTThfVVBfVElNMTNfSVJRSGFuZGxlcgogI2RlZmluZSBDRUNfSVJRSGFuZGxlciAgICAgICAgICAgICAgICBVU0JXYWtlVXBfSVJRSGFuZGxlcgogI2RlZmluZSBPVEdfRlNfV0tVUF9JUlFIYW5kbGVyICAgICAgICBVU0JXYWtlVXBfSVJRSGFuZGxlcgotI2RlZmluZSBDQU4xX1RYX0lSUUhhbmRsZXIgICAgICAgICAgICBVU0JfSFBfQ0FOMV9UWF9JUlFIYW5kbGVyCiAjZGVmaW5lIFVTQl9IUF9JUlFIYW5kbGVyICAgICAgICAgICAgIFVTQl9IUF9DQU4xX1RYX0lSUUhhbmRsZXIKLSNkZWZpbmUgQ0FOMV9SWDBfSVJRSGFuZGxlciAgICAgICAgICAgVVNCX0xQX0NBTjFfUlgwX0lSUUhhbmRsZXIKKyNkZWZpbmUgQ0FOMV9UWF9JUlFIYW5kbGVyICAgICAgICAgICAgVVNCX0hQX0NBTjFfVFhfSVJRSGFuZGxlcgogI2RlZmluZSBVU0JfTFBfSVJRSGFuZGxlciAgICAgICAgICAgICBVU0JfTFBfQ0FOMV9SWDBfSVJRSGFuZGxlcgorI2RlZmluZSBDQU4xX1JYMF9JUlFIYW5kbGVyICAgICAgICAgICBVU0JfTFBfQ0FOMV9SWDBfSVJRSGFuZGxlcgogCiAKIC8qKgpAQCAtMTE5NDksNSArMTE5NDgsNCBAQAogI2VuZGlmIC8qIF9fU1RNMzJGMTAzeEdfSCAqLwogICAKICAgCi0gIAotICAvKioqKioqKioqKioqKioqKioqKioqKioqIChDKSBDT1BZUklHSFQgU1RNaWNyb2VsZWN0cm9uaWNzICoqKioqRU5EIE9GIEZJTEUqKioqLworCmRpZmYgLS1naXQgYS9JbmNsdWRlL3N0bTMyZjEwNXhjLmggYi9JbmNsdWRlL3N0bTMyZjEwNXhjLmgKaW5kZXggZmZlMDYyZC4uODg5ZGI4MCAxMDA2NDQKLS0tIGEvSW5jbHVkZS9zdG0zMmYxMDV4Yy5oCisrKyBiL0luY2x1ZGUvc3RtMzJmMTA1eGMuaApAQCAtOSwxOCArOSwxNyBAQAogICAqICAgICAgICAgIFRoaXMgZmlsZSBjb250YWluczoKICAgKiAgICAgICAgICAgLSBEYXRhIHN0cnVjdHVyZXMgYW5kIHRoZSBhZGRyZXNzIG1hcHBpbmcgZm9yIGFsbCBwZXJpcGhlcmFscwogICAqICAgICAgICAgICAtIFBlcmlwaGVyYWwncyByZWdpc3RlcnMgZGVjbGFyYXRpb25zIGFuZCBiaXRzIGRlZmluaXRpb24KLSAgKiAgICAgICAgICAgLSBNYWNyb3MgdG8gYWNjZXNzIHBlcmlwaGVyYWyScyByZWdpc3RlcnMgaGFyZHdhcmUKKyAgKiAgICAgICAgICAgLSBNYWNyb3MgdG8gYWNjZXNzIHBlcmlwaGVyYWwncyByZWdpc3RlcnMgaGFyZHdhcmUKICAgKiAgCiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogICAqIEBhdHRlbnRpb24KICAgKgotICAqIDxoMj48Y2VudGVyPiZjb3B5OyBDb3B5cmlnaHQgKGMpIDIwMTcgU1RNaWNyb2VsZWN0cm9uaWNzLgotICAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuPC9jZW50ZXI+PC9oMj4KKyAgKiBDb3B5cmlnaHQgKGMpIDIwMTctMjAyMSBTVE1pY3JvZWxlY3Ryb25pY3MuCisgICogQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAgKgotICAqIFRoaXMgc29mdHdhcmUgY29tcG9uZW50IGlzIGxpY2Vuc2VkIGJ5IFNUIHVuZGVyIEJTRCAzLUNsYXVzZSBsaWNlbnNlLAotICAqIHRoZSAiTGljZW5zZSI7IFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUKLSAgKiBMaWNlbnNlLiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXQ6Ci0gICogICAgICAgICAgICAgICAgICAgICAgICBvcGVuc291cmNlLm9yZy9saWNlbnNlcy9CU0QtMy1DbGF1c2UKKyAgKiBUaGlzIHNvZnR3YXJlIGlzIGxpY2Vuc2VkIHVuZGVyIHRlcm1zIHRoYXQgY2FuIGJlIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUKKyAgKiBpbiB0aGUgcm9vdCBkaXJlY3Rvcnkgb2YgdGhpcyBzb2Z0d2FyZSBjb21wb25lbnQuCisgICogSWYgbm8gTElDRU5TRSBmaWxlIGNvbWVzIHdpdGggdGhpcyBzb2Z0d2FyZSwgaXQgaXMgcHJvdmlkZWQgQVMtSVMuCiAgICoKICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiAgICovCkBAIC0xMjU5LDcgKzEyNTgsNyBAQAogLyogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKi8KIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCiAvKgotICogQGJyaWVmIFNwZWNpZmljIGRldmljZSBmZWF0dXJlIGRlZmluaXRpb25zIChub3QgcHJlc2VudCBvbiBhbGwgZGV2aWNlcyBpbiB0aGUgU1RNMzJGMSBzZXJpZSkKKyAqIEBicmllZiBTcGVjaWZpYyBkZXZpY2UgZmVhdHVyZSBkZWZpbml0aW9ucyAobm90IHByZXNlbnQgb24gYWxsIGRldmljZXMgaW4gdGhlIFNUTTMyRjEgc2VyaWVzKQogICovCiAjZGVmaW5lIFJDQ19QTEwyX1NVUFBPUlQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBTdXBwb3J0IFBMTDIgKi8KICNkZWZpbmUgUkNDX1BMTEkyU19TVVBQT1JUIApAQCAtMTgwOSw3ICsxODA4LDcgQEAKICNkZWZpbmUgUkNDX0JEQ1JfUlRDU0VMXzAgICAgICAgICAgICAgICAgICAgICgweDFVTCA8PCBSQ0NfQkRDUl9SVENTRUxfUG9zKSAgICAgLyohPCAweDAwMDAwMTAwICovCiAjZGVmaW5lIFJDQ19CRENSX1JUQ1NFTF8xICAgICAgICAgICAgICAgICAgICAoMHgyVUwgPDwgUkNDX0JEQ1JfUlRDU0VMX1BvcykgICAgIC8qITwgMHgwMDAwMDIwMCAqLwogCi0vKiE8IFJUQyBjb25naWd1cmF0aW9uICovCisvKiE8IFJUQyBjb25maWd1cmF0aW9uICovCiAjZGVmaW5lIFJDQ19CRENSX1JUQ1NFTF9OT0NMT0NLICAgICAgICAgICAgICAweDAwMDAwMDAwVSAgICAgICAgICAgICAgICAgICAgICAgLyohPCBObyBjbG9jayAqLwogI2RlZmluZSBSQ0NfQkRDUl9SVENTRUxfTFNFICAgICAgICAgICAgICAgICAgMHgwMDAwMDEwMFUgICAgICAgICAgICAgICAgICAgICAgIC8qITwgTFNFIG9zY2lsbGF0b3IgY2xvY2sgdXNlZCBhcyBSVEMgY2xvY2sgKi8KICNkZWZpbmUgUkNDX0JEQ1JfUlRDU0VMX0xTSSAgICAgICAgICAgICAgICAgIDB4MDAwMDAyMDBVICAgICAgICAgICAgICAgICAgICAgICAvKiE8IExTSSBvc2NpbGxhdG9yIGNsb2NrIHVzZWQgYXMgUlRDIGNsb2NrICovCkBAIC00MDcyLDcgKzQwNzEsNyBAQAogI2RlZmluZSBBRENfQ1IyX0RNQSAgICAgICAgICAgICAgICAgICAgICAgICBBRENfQ1IyX0RNQV9Nc2sgICAgICAgICAgICAgICAgICAgIC8qITwgQURDIERNQSB0cmFuc2ZlciBlbmFibGUgKi8KICNkZWZpbmUgQURDX0NSMl9BTElHTl9Qb3MgICAgICAgICAgICAgICAgICAgKDExVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICNkZWZpbmUgQURDX0NSMl9BTElHTl9Nc2sgICAgICAgICAgICAgICAgICAgKDB4MVVMIDw8IEFEQ19DUjJfQUxJR05fUG9zKSAgICAgICAgLyohPCAweDAwMDAwODAwICovCi0jZGVmaW5lIEFEQ19DUjJfQUxJR04gICAgICAgICAgICAgICAgICAgICAgIEFEQ19DUjJfQUxJR05fTXNrICAgICAgICAgICAgICAgICAgLyohPCBBREMgZGF0YSBhbGlnbmVtZW50ICovCisjZGVmaW5lIEFEQ19DUjJfQUxJR04gICAgICAgICAgICAgICAgICAgICAgIEFEQ19DUjJfQUxJR05fTXNrICAgICAgICAgICAgICAgICAgLyohPCBBREMgZGF0YSBhbGlnbm1lbnQgKi8KIAogI2RlZmluZSBBRENfQ1IyX0pFWFRTRUxfUG9zICAgICAgICAgICAgICAgICAoMTJVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogI2RlZmluZSBBRENfQ1IyX0pFWFRTRUxfTXNrICAgICAgICAgICAgICAgICAoMHg3VUwgPDwgQURDX0NSMl9KRVhUU0VMX1BvcykgICAgICAvKiE8IDB4MDAwMDcwMDAgKi8KQEAgLTExNzYwLDcgKzExNzU5LDcgQEAKIC8qICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICovCiAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLwogLyoKLSAqIEBicmllZiBTcGVjaWZpYyBkZXZpY2UgZmVhdHVyZSBkZWZpbml0aW9ucyAobm90IHByZXNlbnQgb24gYWxsIGRldmljZXMgaW4gdGhlIFNUTTMyRjEgc2VyaWUpCisgKiBAYnJpZWYgU3BlY2lmaWMgZGV2aWNlIGZlYXR1cmUgZGVmaW5pdGlvbnMgKG5vdCBwcmVzZW50IG9uIGFsbCBkZXZpY2VzIGluIHRoZSBTVE0zMkYxIHNlcmllcykKICAqLwogI2RlZmluZSBTUElfSTJTX1NVUFBPUlQgICAgICAgLyohPCBJMlMgc3VwcG9ydCAqLwogI2RlZmluZSBJMlMyX0kyUzNfQ0xPQ0tfRkVBVFVSRQpAQCAtMTQyODksMTUgKzE0Mjg4LDE1IEBACiAjZGVmaW5lIERNQTJfQ2hhbm5lbDRfNV9JUlFuICAgIERNQTJfQ2hhbm5lbDRfSVJRbgogI2RlZmluZSBVU0JXYWtlVXBfSVJRbiAgICAgICAgICBPVEdfRlNfV0tVUF9JUlFuCiAjZGVmaW5lIENFQ19JUlFuICAgICAgICAgICAgICAgIE9UR19GU19XS1VQX0lSUW4KLSNkZWZpbmUgVElNMV9CUktfVElNOV9JUlFuICAgICAgVElNMV9CUktfSVJRbgogI2RlZmluZSBUSU0xX0JSS19USU0xNV9JUlFuICAgICBUSU0xX0JSS19JUlFuCisjZGVmaW5lIFRJTTFfQlJLX1RJTTlfSVJRbiAgICAgIFRJTTFfQlJLX0lSUW4KICNkZWZpbmUgVElNOV9JUlFuICAgICAgICAgICAgICAgVElNMV9CUktfSVJRbgotI2RlZmluZSBUSU0xMV9JUlFuICAgICAgICAgICAgICBUSU0xX1RSR19DT01fSVJRbgogI2RlZmluZSBUSU0xX1RSR19DT01fVElNMTdfSVJRbiBUSU0xX1RSR19DT01fSVJRbgogI2RlZmluZSBUSU0xX1RSR19DT01fVElNMTFfSVJRbiBUSU0xX1RSR19DT01fSVJRbgotI2RlZmluZSBUSU0xX1VQX1RJTTE2X0lSUW4gICAgICBUSU0xX1VQX0lSUW4KLSNkZWZpbmUgVElNMV9VUF9USU0xMF9JUlFuICAgICAgVElNMV9VUF9JUlFuCisjZGVmaW5lIFRJTTExX0lSUW4gICAgICAgICAgICAgIFRJTTFfVFJHX0NPTV9JUlFuCiAjZGVmaW5lIFRJTTEwX0lSUW4gICAgICAgICAgICAgIFRJTTFfVVBfSVJRbgorI2RlZmluZSBUSU0xX1VQX1RJTTEwX0lSUW4gICAgICBUSU0xX1VQX0lSUW4KKyNkZWZpbmUgVElNMV9VUF9USU0xNl9JUlFuICAgICAgVElNMV9VUF9JUlFuCiAjZGVmaW5lIFRJTTZfREFDX0lSUW4gICAgICAgICAgIFRJTTZfSVJRbgogCiAKQEAgLTE0MzEwLDE1ICsxNDMwOSwxNSBAQAogI2RlZmluZSBETUEyX0NoYW5uZWw0XzVfSVJRSGFuZGxlciAgICBETUEyX0NoYW5uZWw0X0lSUUhhbmRsZXIKICNkZWZpbmUgVVNCV2FrZVVwX0lSUUhhbmRsZXIgICAgICAgICAgT1RHX0ZTX1dLVVBfSVJRSGFuZGxlcgogI2RlZmluZSBDRUNfSVJRSGFuZGxlciAgICAgICAgICAgICAgICBPVEdfRlNfV0tVUF9JUlFIYW5kbGVyCi0jZGVmaW5lIFRJTTFfQlJLX1RJTTlfSVJRSGFuZGxlciAgICAgIFRJTTFfQlJLX0lSUUhhbmRsZXIKICNkZWZpbmUgVElNMV9CUktfVElNMTVfSVJRSGFuZGxlciAgICAgVElNMV9CUktfSVJRSGFuZGxlcgorI2RlZmluZSBUSU0xX0JSS19USU05X0lSUUhhbmRsZXIgICAgICBUSU0xX0JSS19JUlFIYW5kbGVyCiAjZGVmaW5lIFRJTTlfSVJRSGFuZGxlciAgICAgICAgICAgICAgIFRJTTFfQlJLX0lSUUhhbmRsZXIKLSNkZWZpbmUgVElNMTFfSVJRSGFuZGxlciAgICAgICAgICAgICAgVElNMV9UUkdfQ09NX0lSUUhhbmRsZXIKICNkZWZpbmUgVElNMV9UUkdfQ09NX1RJTTE3X0lSUUhhbmRsZXIgVElNMV9UUkdfQ09NX0lSUUhhbmRsZXIKICNkZWZpbmUgVElNMV9UUkdfQ09NX1RJTTExX0lSUUhhbmRsZXIgVElNMV9UUkdfQ09NX0lSUUhhbmRsZXIKLSNkZWZpbmUgVElNMV9VUF9USU0xNl9JUlFIYW5kbGVyICAgICAgVElNMV9VUF9JUlFIYW5kbGVyCi0jZGVmaW5lIFRJTTFfVVBfVElNMTBfSVJRSGFuZGxlciAgICAgIFRJTTFfVVBfSVJRSGFuZGxlcgorI2RlZmluZSBUSU0xMV9JUlFIYW5kbGVyICAgICAgICAgICAgICBUSU0xX1RSR19DT01fSVJRSGFuZGxlcgogI2RlZmluZSBUSU0xMF9JUlFIYW5kbGVyICAgICAgICAgICAgICBUSU0xX1VQX0lSUUhhbmRsZXIKKyNkZWZpbmUgVElNMV9VUF9USU0xMF9JUlFIYW5kbGVyICAgICAgVElNMV9VUF9JUlFIYW5kbGVyCisjZGVmaW5lIFRJTTFfVVBfVElNMTZfSVJRSGFuZGxlciAgICAgIFRJTTFfVVBfSVJRSGFuZGxlcgogI2RlZmluZSBUSU02X0RBQ19JUlFIYW5kbGVyICAgICAgICAgICBUSU02X0lSUUhhbmRsZXIKIAogCkBAIC0xNDMzOCw1ICsxNDMzNyw0IEBACiAjZW5kaWYgLyogX19TVE0zMkYxMDV4Q19IICovCiAgIAogICAKLSAgCi0gIC8qKioqKioqKioqKioqKioqKioqKioqKiogKEMpIENPUFlSSUdIVCBTVE1pY3JvZWxlY3Ryb25pY3MgKioqKipFTkQgT0YgRklMRSoqKiovCisKZGlmZiAtLWdpdCBhL0luY2x1ZGUvc3RtMzJmMTA3eGMuaCBiL0luY2x1ZGUvc3RtMzJmMTA3eGMuaAppbmRleCBjODBkNmExLi42ZWZkZjcyIDEwMDY0NAotLS0gYS9JbmNsdWRlL3N0bTMyZjEwN3hjLmgKKysrIGIvSW5jbHVkZS9zdG0zMmYxMDd4Yy5oCkBAIC05LDE4ICs5LDE3IEBACiAgICogICAgICAgICAgVGhpcyBmaWxlIGNvbnRhaW5zOgogICAqICAgICAgICAgICAtIERhdGEgc3RydWN0dXJlcyBhbmQgdGhlIGFkZHJlc3MgbWFwcGluZyBmb3IgYWxsIHBlcmlwaGVyYWxzCiAgICogICAgICAgICAgIC0gUGVyaXBoZXJhbCdzIHJlZ2lzdGVycyBkZWNsYXJhdGlvbnMgYW5kIGJpdHMgZGVmaW5pdGlvbgotICAqICAgICAgICAgICAtIE1hY3JvcyB0byBhY2Nlc3MgcGVyaXBoZXJhbJJzIHJlZ2lzdGVycyBoYXJkd2FyZQorICAqICAgICAgICAgICAtIE1hY3JvcyB0byBhY2Nlc3MgcGVyaXBoZXJhbCdzIHJlZ2lzdGVycyBoYXJkd2FyZQogICAqICAKICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiAgICogQGF0dGVudGlvbgogICAqCi0gICogPGgyPjxjZW50ZXI+JmNvcHk7IENvcHlyaWdodCAoYykgMjAxNyBTVE1pY3JvZWxlY3Ryb25pY3MuCi0gICogQWxsIHJpZ2h0cyByZXNlcnZlZC48L2NlbnRlcj48L2gyPgorICAqIENvcHlyaWdodCAoYykgMjAxNy0yMDIxIFNUTWljcm9lbGVjdHJvbmljcy4KKyAgKiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICAqCi0gICogVGhpcyBzb2Z0d2FyZSBjb21wb25lbnQgaXMgbGljZW5zZWQgYnkgU1QgdW5kZXIgQlNEIDMtQ2xhdXNlIGxpY2Vuc2UsCi0gICogdGhlICJMaWNlbnNlIjsgWW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZQotICAqIExpY2Vuc2UuIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdDoKLSAgKiAgICAgICAgICAgICAgICAgICAgICAgIG9wZW5zb3VyY2Uub3JnL2xpY2Vuc2VzL0JTRC0zLUNsYXVzZQorICAqIFRoaXMgc29mdHdhcmUgaXMgbGljZW5zZWQgdW5kZXIgdGVybXMgdGhhdCBjYW4gYmUgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZQorICAqIGluIHRoZSByb290IGRpcmVjdG9yeSBvZiB0aGlzIHNvZnR3YXJlIGNvbXBvbmVudC4KKyAgKiBJZiBubyBMSUNFTlNFIGZpbGUgY29tZXMgd2l0aCB0aGlzIHNvZnR3YXJlLCBpdCBpcyBwcm92aWRlZCBBUy1JUy4KICAgKgogICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKICAgKi8KQEAgLTEzMzksNyArMTMzOCw3IEBACiAvKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqLwogLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KIC8qCi0gKiBAYnJpZWYgU3BlY2lmaWMgZGV2aWNlIGZlYXR1cmUgZGVmaW5pdGlvbnMgKG5vdCBwcmVzZW50IG9uIGFsbCBkZXZpY2VzIGluIHRoZSBTVE0zMkYxIHNlcmllKQorICogQGJyaWVmIFNwZWNpZmljIGRldmljZSBmZWF0dXJlIGRlZmluaXRpb25zIChub3QgcHJlc2VudCBvbiBhbGwgZGV2aWNlcyBpbiB0aGUgU1RNMzJGMSBzZXJpZXMpCiAgKi8KICNkZWZpbmUgUkNDX1BMTDJfU1VQUE9SVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFN1cHBvcnQgUExMMiAqLwogI2RlZmluZSBSQ0NfUExMSTJTX1NVUFBPUlQgCkBAIC0xODk4LDcgKzE4OTcsNyBAQAogI2RlZmluZSBSQ0NfQkRDUl9SVENTRUxfMCAgICAgICAgICAgICAgICAgICAgKDB4MVVMIDw8IFJDQ19CRENSX1JUQ1NFTF9Qb3MpICAgICAvKiE8IDB4MDAwMDAxMDAgKi8KICNkZWZpbmUgUkNDX0JEQ1JfUlRDU0VMXzEgICAgICAgICAgICAgICAgICAgICgweDJVTCA8PCBSQ0NfQkRDUl9SVENTRUxfUG9zKSAgICAgLyohPCAweDAwMDAwMjAwICovCiAKLS8qITwgUlRDIGNvbmdpZ3VyYXRpb24gKi8KKy8qITwgUlRDIGNvbmZpZ3VyYXRpb24gKi8KICNkZWZpbmUgUkNDX0JEQ1JfUlRDU0VMX05PQ0xPQ0sgICAgICAgICAgICAgIDB4MDAwMDAwMDBVICAgICAgICAgICAgICAgICAgICAgICAvKiE8IE5vIGNsb2NrICovCiAjZGVmaW5lIFJDQ19CRENSX1JUQ1NFTF9MU0UgICAgICAgICAgICAgICAgICAweDAwMDAwMTAwVSAgICAgICAgICAgICAgICAgICAgICAgLyohPCBMU0Ugb3NjaWxsYXRvciBjbG9jayB1c2VkIGFzIFJUQyBjbG9jayAqLwogI2RlZmluZSBSQ0NfQkRDUl9SVENTRUxfTFNJICAgICAgICAgICAgICAgICAgMHgwMDAwMDIwMFUgICAgICAgICAgICAgICAgICAgICAgIC8qITwgTFNJIG9zY2lsbGF0b3IgY2xvY2sgdXNlZCBhcyBSVEMgY2xvY2sgKi8KQEAgLTQxNjQsNyArNDE2Myw3IEBACiAjZGVmaW5lIEFEQ19DUjJfRE1BICAgICAgICAgICAgICAgICAgICAgICAgIEFEQ19DUjJfRE1BX01zayAgICAgICAgICAgICAgICAgICAgLyohPCBBREMgRE1BIHRyYW5zZmVyIGVuYWJsZSAqLwogI2RlZmluZSBBRENfQ1IyX0FMSUdOX1BvcyAgICAgICAgICAgICAgICAgICAoMTFVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogI2RlZmluZSBBRENfQ1IyX0FMSUdOX01zayAgICAgICAgICAgICAgICAgICAoMHgxVUwgPDwgQURDX0NSMl9BTElHTl9Qb3MpICAgICAgICAvKiE8IDB4MDAwMDA4MDAgKi8KLSNkZWZpbmUgQURDX0NSMl9BTElHTiAgICAgICAgICAgICAgICAgICAgICAgQURDX0NSMl9BTElHTl9Nc2sgICAgICAgICAgICAgICAgICAvKiE8IEFEQyBkYXRhIGFsaWduZW1lbnQgKi8KKyNkZWZpbmUgQURDX0NSMl9BTElHTiAgICAgICAgICAgICAgICAgICAgICAgQURDX0NSMl9BTElHTl9Nc2sgICAgICAgICAgICAgICAgICAvKiE8IEFEQyBkYXRhIGFsaWdubWVudCAqLwogCiAjZGVmaW5lIEFEQ19DUjJfSkVYVFNFTF9Qb3MgICAgICAgICAgICAgICAgICgxMlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAjZGVmaW5lIEFEQ19DUjJfSkVYVFNFTF9Nc2sgICAgICAgICAgICAgICAgICgweDdVTCA8PCBBRENfQ1IyX0pFWFRTRUxfUG9zKSAgICAgIC8qITwgMHgwMDAwNzAwMCAqLwpAQCAtMTE4NTIsNyArMTE4NTEsNyBAQAogLyogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKi8KIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCiAvKgotICogQGJyaWVmIFNwZWNpZmljIGRldmljZSBmZWF0dXJlIGRlZmluaXRpb25zIChub3QgcHJlc2VudCBvbiBhbGwgZGV2aWNlcyBpbiB0aGUgU1RNMzJGMSBzZXJpZSkKKyAqIEBicmllZiBTcGVjaWZpYyBkZXZpY2UgZmVhdHVyZSBkZWZpbml0aW9ucyAobm90IHByZXNlbnQgb24gYWxsIGRldmljZXMgaW4gdGhlIFNUTTMyRjEgc2VyaWVzKQogICovCiAjZGVmaW5lIFNQSV9JMlNfU1VQUE9SVCAgICAgICAvKiE8IEkyUyBzdXBwb3J0ICovCiAjZGVmaW5lIEkyUzJfSTJTM19DTE9DS19GRUFUVVJFCkBAIC0xMzA1MCw3ICsxMzA0OSw3IEBACiAvKiAgICAgICAgICAgICAgICBFdGhlcm5ldCBNTUMgUmVnaXN0ZXJzIGJpdHMgZGVmaW5pdGlvbiAgICAgICAgICAgICAgICAgICAgICAqLwogLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KIAotLyogQml0IGRlZmluaXRpb24gZm9yIEV0aGVybmV0IE1NQyBDb250b2wgUmVnaXN0ZXIgKi8KKy8qIEJpdCBkZWZpbml0aW9uIGZvciBFdGhlcm5ldCBNTUMgQ29udHJvbCBSZWdpc3RlciAqLwogI2RlZmluZSBFVEhfTU1DQ1JfTUNGX1BvcyAgICAgICAgICAgICAgICAgICAgICAoM1UpICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogI2RlZmluZSBFVEhfTU1DQ1JfTUNGX01zayAgICAgICAgICAgICAgICAgICAgICAoMHgxVUwgPDwgRVRIX01NQ0NSX01DRl9Qb3MpICAgICAvKiE8IDB4MDAwMDAwMDggKi8KICNkZWZpbmUgRVRIX01NQ0NSX01DRiAgICAgICAgICAgICAgICAgICAgICAgICAgRVRIX01NQ0NSX01DRl9Nc2sgICAgICAgICAgICAgICAvKiBNTUMgQ291bnRlciBGcmVlemUgKi8KQEAgLTEzMTI4LDcgKzEzMTI3LDcgQEAKICNkZWZpbmUgRVRIX01NQ1JGQ0VDUl9SRkNFQ19Nc2sgICAgICAgICAgICAgICAgKDB4RkZGRkZGRkZVTCA8PCBFVEhfTU1DUkZDRUNSX1JGQ0VDX1BvcykgLyohPCAweEZGRkZGRkZGICovCiAjZGVmaW5lIEVUSF9NTUNSRkNFQ1JfUkZDRUMgICAgICAgICAgICAgICAgICAgIEVUSF9NTUNSRkNFQ1JfUkZDRUNfTXNrICAgICAgICAgLyogTnVtYmVyIG9mIGZyYW1lcyByZWNlaXZlZCB3aXRoIENSQyBlcnJvci4gKi8KIAotLyogQml0IGRlZmluaXRpb24gZm9yIEV0aGVybmV0IE1NQyBSZWNlaXZlZCBGcmFtZXMgd2l0aCBBbGlnbmVtZW50IEVycm9yIENvdW50ZXIgUmVnaXN0ZXIgKi8KKy8qIEJpdCBkZWZpbml0aW9uIGZvciBFdGhlcm5ldCBNTUMgUmVjZWl2ZWQgRnJhbWVzIHdpdGggQWxpZ25tZW50IEVycm9yIENvdW50ZXIgUmVnaXN0ZXIgKi8KICNkZWZpbmUgRVRIX01NQ1JGQUVDUl9SRkFFQ19Qb3MgICAgICAgICAgICAgICAgKDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICNkZWZpbmUgRVRIX01NQ1JGQUVDUl9SRkFFQ19Nc2sgICAgICAgICAgICAgICAgKDB4RkZGRkZGRkZVTCA8PCBFVEhfTU1DUkZBRUNSX1JGQUVDX1BvcykgLyohPCAweEZGRkZGRkZGICovCiAjZGVmaW5lIEVUSF9NTUNSRkFFQ1JfUkZBRUMgICAgICAgICAgICAgICAgICAgIEVUSF9NTUNSRkFFQ1JfUkZBRUNfTXNrICAgICAgICAgLyogTnVtYmVyIG9mIGZyYW1lcyByZWNlaXZlZCB3aXRoIGFsaWdubWVudCAoZHJpYmJsZSkgZXJyb3IgKi8KQEAgLTEzMTQyLDcgKzEzMTQxLDcgQEAKIC8qICAgICAgICAgICAgICAgRXRoZXJuZXQgUFRQIFJlZ2lzdGVycyBiaXRzIGRlZmluaXRpb24gICAgICAgICAgICAgICAgICAgICAgICovCiAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLwogCi0vKiBCaXQgZGVmaW5pdGlvbiBmb3IgRXRoZXJuZXQgUFRQIFRpbWUgU3RhbXAgQ29udG9sIFJlZ2lzdGVyICovCisvKiBCaXQgZGVmaW5pdGlvbiBmb3IgRXRoZXJuZXQgUFRQIFRpbWUgU3RhbXAgQ29udHJvbCBSZWdpc3RlciAqLwogI2RlZmluZSBFVEhfUFRQVFNDUl9UU0FSVV9Qb3MgICAgICAgICAgICAgICAgICAoNVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogI2RlZmluZSBFVEhfUFRQVFNDUl9UU0FSVV9Nc2sgICAgICAgICAgICAgICAgICAoMHgxVUwgPDwgRVRIX1BUUFRTQ1JfVFNBUlVfUG9zKSAvKiE8IDB4MDAwMDAwMjAgKi8KICNkZWZpbmUgRVRIX1BUUFRTQ1JfVFNBUlUgICAgICAgICAgICAgICAgICAgICAgRVRIX1BUUFRTQ1JfVFNBUlVfTXNrICAgICAgICAgICAvKiBBZGRlbmQgcmVnaXN0ZXIgdXBkYXRlICovCkBAIC0xMzM1Miw3ICsxMzM1MSw3IEBACiAjZGVmaW5lIEVUSF9ETUFTUl9SUFNfQ2xvc2luZyAgICAgICAgICAgICAgICAgIEVUSF9ETUFTUl9SUFNfQ2xvc2luZ19Nc2sgICAgICAgLyogUnVubmluZyAtIGNsb3NpbmcgZGVzY3JpcHRvciAqLwogI2RlZmluZSBFVEhfRE1BU1JfUlBTX1F1ZXVpbmdfUG9zICAgICAgICAgICAgICAoMTdVKSAgICAgICAgICAgICAgICAgICAgICAgICAgIAogI2RlZmluZSBFVEhfRE1BU1JfUlBTX1F1ZXVpbmdfTXNrICAgICAgICAgICAgICAoMHg3VUwgPDwgRVRIX0RNQVNSX1JQU19RdWV1aW5nX1BvcykgLyohPCAweDAwMEUwMDAwICovCi0jZGVmaW5lIEVUSF9ETUFTUl9SUFNfUXVldWluZyAgICAgICAgICAgICAgICAgIEVUSF9ETUFTUl9SUFNfUXVldWluZ19Nc2sgICAgICAgLyogUnVubmluZyAtIHF1ZXVpbmcgdGhlIHJlY2lldmUgZnJhbWUgaW50byBob3N0IG1lbW9yeSAqLworI2RlZmluZSBFVEhfRE1BU1JfUlBTX1F1ZXVpbmcgICAgICAgICAgICAgICAgICBFVEhfRE1BU1JfUlBTX1F1ZXVpbmdfTXNrICAgICAgIC8qIFJ1bm5pbmcgLSBxdWV1aW5nIHRoZSByZWNlaXZlIGZyYW1lIGludG8gaG9zdCBtZW1vcnkgKi8KICNkZWZpbmUgRVRIX0RNQVNSX05JU19Qb3MgICAgICAgICAgICAgICAgICAgICAgKDE2VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAKICNkZWZpbmUgRVRIX0RNQVNSX05JU19Nc2sgICAgICAgICAgICAgICAgICAgICAgKDB4MVVMIDw8IEVUSF9ETUFTUl9OSVNfUG9zKSAgICAgLyohPCAweDAwMDEwMDAwICovCiAjZGVmaW5lIEVUSF9ETUFTUl9OSVMgICAgICAgICAgICAgICAgICAgICAgICAgIEVUSF9ETUFTUl9OSVNfTXNrICAgICAgICAgICAgICAgLyogTm9ybWFsIGludGVycnVwdCBzdW1tYXJ5ICovCkBAIC0xNTE5NywyMCArMTUxOTYsMjAgQEAKICNkZWZpbmUgQURDMV9JUlFuICAgICAgICAgICAgICAgQURDMV8yX0lSUW4KICNkZWZpbmUgVVNCX0xQX0lSUW4gICAgICAgICAgICAgQ0FOMV9SWDBfSVJRbgogI2RlZmluZSBVU0JfTFBfQ0FOMV9SWDBfSVJRbiAgICBDQU4xX1JYMF9JUlFuCi0jZGVmaW5lIFVTQl9IUF9JUlFuICAgICAgICAgICAgIENBTjFfVFhfSVJRbgogI2RlZmluZSBVU0JfSFBfQ0FOMV9UWF9JUlFuICAgICBDQU4xX1RYX0lSUW4KKyNkZWZpbmUgVVNCX0hQX0lSUW4gICAgICAgICAgICAgQ0FOMV9UWF9JUlFuCiAjZGVmaW5lIERNQTJfQ2hhbm5lbDRfNV9JUlFuICAgIERNQTJfQ2hhbm5lbDRfSVJRbgogI2RlZmluZSBVU0JXYWtlVXBfSVJRbiAgICAgICAgICBPVEdfRlNfV0tVUF9JUlFuCiAjZGVmaW5lIENFQ19JUlFuICAgICAgICAgICAgICAgIE9UR19GU19XS1VQX0lSUW4KKyNkZWZpbmUgVElNOV9JUlFuICAgICAgICAgICAgICAgVElNMV9CUktfSVJRbgogI2RlZmluZSBUSU0xX0JSS19USU05X0lSUW4gICAgICBUSU0xX0JSS19JUlFuCiAjZGVmaW5lIFRJTTFfQlJLX1RJTTE1X0lSUW4gICAgIFRJTTFfQlJLX0lSUW4KLSNkZWZpbmUgVElNOV9JUlFuICAgICAgICAgICAgICAgVElNMV9CUktfSVJRbgotI2RlZmluZSBUSU0xMV9JUlFuICAgICAgICAgICAgICBUSU0xX1RSR19DT01fSVJRbgotI2RlZmluZSBUSU0xX1RSR19DT01fVElNMTdfSVJRbiBUSU0xX1RSR19DT01fSVJRbgogI2RlZmluZSBUSU0xX1RSR19DT01fVElNMTFfSVJRbiBUSU0xX1RSR19DT01fSVJRbgotI2RlZmluZSBUSU0xX1VQX1RJTTE2X0lSUW4gICAgICBUSU0xX1VQX0lSUW4KLSNkZWZpbmUgVElNMV9VUF9USU0xMF9JUlFuICAgICAgVElNMV9VUF9JUlFuCisjZGVmaW5lIFRJTTFfVFJHX0NPTV9USU0xN19JUlFuIFRJTTFfVFJHX0NPTV9JUlFuCisjZGVmaW5lIFRJTTExX0lSUW4gICAgICAgICAgICAgIFRJTTFfVFJHX0NPTV9JUlFuCiAjZGVmaW5lIFRJTTEwX0lSUW4gICAgICAgICAgICAgIFRJTTFfVVBfSVJRbgorI2RlZmluZSBUSU0xX1VQX1RJTTEwX0lSUW4gICAgICBUSU0xX1VQX0lSUW4KKyNkZWZpbmUgVElNMV9VUF9USU0xNl9JUlFuICAgICAgVElNMV9VUF9JUlFuCiAjZGVmaW5lIFRJTTZfREFDX0lSUW4gICAgICAgICAgIFRJTTZfSVJRbgogCiAKQEAgLTE1MjE4LDIwICsxNTIxNywyMCBAQAogI2RlZmluZSBBREMxX0lSUUhhbmRsZXIgICAgICAgICAgICAgICBBREMxXzJfSVJRSGFuZGxlcgogI2RlZmluZSBVU0JfTFBfSVJRSGFuZGxlciAgICAgICAgICAgICBDQU4xX1JYMF9JUlFIYW5kbGVyCiAjZGVmaW5lIFVTQl9MUF9DQU4xX1JYMF9JUlFIYW5kbGVyICAgIENBTjFfUlgwX0lSUUhhbmRsZXIKLSNkZWZpbmUgVVNCX0hQX0lSUUhhbmRsZXIgICAgICAgICAgICAgQ0FOMV9UWF9JUlFIYW5kbGVyCiAjZGVmaW5lIFVTQl9IUF9DQU4xX1RYX0lSUUhhbmRsZXIgICAgIENBTjFfVFhfSVJRSGFuZGxlcgorI2RlZmluZSBVU0JfSFBfSVJRSGFuZGxlciAgICAgICAgICAgICBDQU4xX1RYX0lSUUhhbmRsZXIKICNkZWZpbmUgRE1BMl9DaGFubmVsNF81X0lSUUhhbmRsZXIgICAgRE1BMl9DaGFubmVsNF9JUlFIYW5kbGVyCiAjZGVmaW5lIFVTQldha2VVcF9JUlFIYW5kbGVyICAgICAgICAgIE9UR19GU19XS1VQX0lSUUhhbmRsZXIKICNkZWZpbmUgQ0VDX0lSUUhhbmRsZXIgICAgICAgICAgICAgICAgT1RHX0ZTX1dLVVBfSVJRSGFuZGxlcgorI2RlZmluZSBUSU05X0lSUUhhbmRsZXIgICAgICAgICAgICAgICBUSU0xX0JSS19JUlFIYW5kbGVyCiAjZGVmaW5lIFRJTTFfQlJLX1RJTTlfSVJRSGFuZGxlciAgICAgIFRJTTFfQlJLX0lSUUhhbmRsZXIKICNkZWZpbmUgVElNMV9CUktfVElNMTVfSVJRSGFuZGxlciAgICAgVElNMV9CUktfSVJRSGFuZGxlcgotI2RlZmluZSBUSU05X0lSUUhhbmRsZXIgICAgICAgICAgICAgICBUSU0xX0JSS19JUlFIYW5kbGVyCi0jZGVmaW5lIFRJTTExX0lSUUhhbmRsZXIgICAgICAgICAgICAgIFRJTTFfVFJHX0NPTV9JUlFIYW5kbGVyCi0jZGVmaW5lIFRJTTFfVFJHX0NPTV9USU0xN19JUlFIYW5kbGVyIFRJTTFfVFJHX0NPTV9JUlFIYW5kbGVyCiAjZGVmaW5lIFRJTTFfVFJHX0NPTV9USU0xMV9JUlFIYW5kbGVyIFRJTTFfVFJHX0NPTV9JUlFIYW5kbGVyCi0jZGVmaW5lIFRJTTFfVVBfVElNMTZfSVJRSGFuZGxlciAgICAgIFRJTTFfVVBfSVJRSGFuZGxlcgotI2RlZmluZSBUSU0xX1VQX1RJTTEwX0lSUUhhbmRsZXIgICAgICBUSU0xX1VQX0lSUUhhbmRsZXIKKyNkZWZpbmUgVElNMV9UUkdfQ09NX1RJTTE3X0lSUUhhbmRsZXIgVElNMV9UUkdfQ09NX0lSUUhhbmRsZXIKKyNkZWZpbmUgVElNMTFfSVJRSGFuZGxlciAgICAgICAgICAgICAgVElNMV9UUkdfQ09NX0lSUUhhbmRsZXIKICNkZWZpbmUgVElNMTBfSVJRSGFuZGxlciAgICAgICAgICAgICAgVElNMV9VUF9JUlFIYW5kbGVyCisjZGVmaW5lIFRJTTFfVVBfVElNMTBfSVJRSGFuZGxlciAgICAgIFRJTTFfVVBfSVJRSGFuZGxlcgorI2RlZmluZSBUSU0xX1VQX1RJTTE2X0lSUUhhbmRsZXIgICAgICBUSU0xX1VQX0lSUUhhbmRsZXIKICNkZWZpbmUgVElNNl9EQUNfSVJRSGFuZGxlciAgICAgICAgICAgVElNNl9JUlFIYW5kbGVyCiAKIApAQCAtMTUyNTEsNSArMTUyNTAsNCBAQAogI2VuZGlmIC8qIF9fU1RNMzJGMTA3eENfSCAqLwogICAKICAgCi0gIAotICAvKioqKioqKioqKioqKioqKioqKioqKioqIChDKSBDT1BZUklHSFQgU1RNaWNyb2VsZWN0cm9uaWNzICoqKioqRU5EIE9GIEZJTEUqKioqLworCmRpZmYgLS1naXQgYS9JbmNsdWRlL3N0bTMyZjF4eC5oIGIvSW5jbHVkZS9zdG0zMmYxeHguaAppbmRleCA2ODE3ZjUyLi5iYzFjODliIDEwMDY0NAotLS0gYS9JbmNsdWRlL3N0bTMyZjF4eC5oCisrKyBiL0luY2x1ZGUvc3RtMzJmMXh4LmgKQEAgLTgsMjEgKzgsMjAgQEAKICAgKiAgICAgICAgICBpcyB1c2luZyBpbiB0aGUgQyBzb3VyY2UgY29kZSwgdXN1YWxseSBpbiBtYWluLmMuIFRoaXMgZmlsZSBjb250YWluczoKICAgKiAgICAgICAgICAgIC0gQ29uZmlndXJhdGlvbiBzZWN0aW9uIHRoYXQgYWxsb3dzIHRvIHNlbGVjdDoKICAgKiAgICAgICAgICAgICAgLSBUaGUgU1RNMzJGMXh4IGRldmljZSB1c2VkIGluIHRoZSB0YXJnZXQgYXBwbGljYXRpb24KLSAgKiAgICAgICAgICAgICAgLSBUbyB1c2Ugb3Igbm90IHRoZSBwZXJpcGhlcmFsknMgZHJpdmVycyBpbiBhcHBsaWNhdGlvbiBjb2RlKGkuZS4gCi0gICogICAgICAgICAgICAgICAgY29kZSB3aWxsIGJlIGJhc2VkIG9uIGRpcmVjdCBhY2Nlc3MgdG8gcGVyaXBoZXJhbJJzIHJlZ2lzdGVycyAKKyAgKiAgICAgICAgICAgICAgLSBUbyB1c2Ugb3Igbm90IHRoZSBwZXJpcGhlcmFsJ3MgZHJpdmVycyBpbiBhcHBsaWNhdGlvbiBjb2RlKGkuZS4gCisgICogICAgICAgICAgICAgICAgY29kZSB3aWxsIGJlIGJhc2VkIG9uIGRpcmVjdCBhY2Nlc3MgdG8gcGVyaXBoZXJhbCdzIHJlZ2lzdGVycyAKICAgKiAgICAgICAgICAgICAgICByYXRoZXIgdGhhbiBkcml2ZXJzIEFQSSksIHRoaXMgb3B0aW9uIGlzIGNvbnRyb2xsZWQgYnkgCiAgICogICAgICAgICAgICAgICAgIiNkZWZpbmUgVVNFX0hBTF9EUklWRVIiCiAgICogIAogICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKICAgKiBAYXR0ZW50aW9uCiAgICoKLSAgKiA8aDI+PGNlbnRlcj4mY29weTsgQ29weXJpZ2h0IChjKSAyMDE3IFNUTWljcm9lbGVjdHJvbmljcy4KLSAgKiBBbGwgcmlnaHRzIHJlc2VydmVkLjwvY2VudGVyPjwvaDI+CisgICogQ29weXJpZ2h0IChjKSAyMDE3LTIwMjEgU1RNaWNyb2VsZWN0cm9uaWNzLgorICAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgICoKLSAgKiBUaGlzIHNvZnR3YXJlIGNvbXBvbmVudCBpcyBsaWNlbnNlZCBieSBTVCB1bmRlciBCU0QgMy1DbGF1c2UgbGljZW5zZSwKLSAgKiB0aGUgIkxpY2Vuc2UiOyBZb3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlCi0gICogTGljZW5zZS4gWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0OgotICAqICAgICAgICAgICAgICAgICAgICAgICAgb3BlbnNvdXJjZS5vcmcvbGljZW5zZXMvQlNELTMtQ2xhdXNlCisgICogVGhpcyBzb2Z0d2FyZSBpcyBsaWNlbnNlZCB1bmRlciB0ZXJtcyB0aGF0IGNhbiBiZSBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlCisgICogaW4gdGhlIHJvb3QgZGlyZWN0b3J5IG9mIHRoaXMgc29mdHdhcmUgY29tcG9uZW50LgorICAqIElmIG5vIExJQ0VOU0UgZmlsZSBjb21lcyB3aXRoIHRoaXMgc29mdHdhcmUsIGl0IGlzIHByb3ZpZGVkIEFTLUlTLgogICAqCiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogICAqLwpAQCAtOTAsMTEgKzg5LDExIEBACiAjZW5kaWYgLyogVVNFX0hBTF9EUklWRVIgKi8KIAogLyoqCi0gICogQGJyaWVmIENNU0lTIERldmljZSB2ZXJzaW9uIG51bWJlciBWNC4zLjMKKyAgKiBAYnJpZWYgQ01TSVMgRGV2aWNlIHZlcnNpb24gbnVtYmVyCiAgICovCiAjZGVmaW5lIF9fU1RNMzJGMV9DTVNJU19WRVJTSU9OX01BSU4gICAoMHgwNCkgLyohPCBbMzE6MjRdIG1haW4gdmVyc2lvbiAqLwogI2RlZmluZSBfX1NUTTMyRjFfQ01TSVNfVkVSU0lPTl9TVUIxICAgKDB4MDMpIC8qITwgWzIzOjE2XSBzdWIxIHZlcnNpb24gKi8KLSNkZWZpbmUgX19TVE0zMkYxX0NNU0lTX1ZFUlNJT05fU1VCMiAgICgweDAzKSAvKiE8IFsxNTo4XSAgc3ViMiB2ZXJzaW9uICovCisjZGVmaW5lIF9fU1RNMzJGMV9DTVNJU19WRVJTSU9OX1NVQjIgICAoMHgwNCkgLyohPCBbMTU6OF0gIHN1YjIgdmVyc2lvbiAqLwogI2RlZmluZSBfX1NUTTMyRjFfQ01TSVNfVkVSU0lPTl9SQyAgICAgKDB4MDApIC8qITwgWzc6MF0gIHJlbGVhc2UgY2FuZGlkYXRlICovIAogI2RlZmluZSBfX1NUTTMyRjFfQ01TSVNfVkVSU0lPTiAgICAgICAgKChfX1NUTTMyRjFfQ01TSVNfVkVSU0lPTl9NQUlOIDw8IDI0KVwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwoX19TVE0zMkYxX0NNU0lTX1ZFUlNJT05fU1VCMSA8PCAxNilcCkBAIC0yNzIsNCArMjcxLDMgQEAKIAogCiAKLS8qKioqKioqKioqKioqKioqKioqKioqKiogKEMpIENPUFlSSUdIVCBTVE1pY3JvZWxlY3Ryb25pY3MgKioqKipFTkQgT0YgRklMRSoqKiovCmRpZmYgLS1naXQgYS9JbmNsdWRlL3N5c3RlbV9zdG0zMmYxeHguaCBiL0luY2x1ZGUvc3lzdGVtX3N0bTMyZjF4eC5oCmluZGV4IDE4N2ZkZGUuLmY4YzUzMDQgMTAwNjQ0Ci0tLSBhL0luY2x1ZGUvc3lzdGVtX3N0bTMyZjF4eC5oCisrKyBiL0luY2x1ZGUvc3lzdGVtX3N0bTMyZjF4eC5oCkBAIC0xLDE4ICsxLDE3IEBACiAvKioKICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCi0gICogQGZpbGUgICAgc3lzdGVtX3N0bTMyZjEweC5oCisgICogQGZpbGUgICAgc3lzdGVtX3N0bTMyZjF4eC5oCiAgICogQGF1dGhvciAgTUNEIEFwcGxpY2F0aW9uIFRlYW0KICAgKiBAYnJpZWYgICBDTVNJUyBDb3J0ZXgtTTMgRGV2aWNlIFBlcmlwaGVyYWwgQWNjZXNzIExheWVyIFN5c3RlbSBIZWFkZXIgRmlsZS4KICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiAgICogQGF0dGVudGlvbgogICAqCi0gICogPGgyPjxjZW50ZXI+JmNvcHk7IENvcHlyaWdodCAoYykgMjAxNyBTVE1pY3JvZWxlY3Ryb25pY3MuCi0gICogQWxsIHJpZ2h0cyByZXNlcnZlZC48L2NlbnRlcj48L2gyPgorICAqIENvcHlyaWdodCAoYykgMjAxNy0yMDIxIFNUTWljcm9lbGVjdHJvbmljcy4KKyAgKiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICAqCi0gICogVGhpcyBzb2Z0d2FyZSBjb21wb25lbnQgaXMgbGljZW5zZWQgYnkgU1QgdW5kZXIgQlNEIDMtQ2xhdXNlIGxpY2Vuc2UsCi0gICogdGhlICJMaWNlbnNlIjsgWW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZQotICAqIExpY2Vuc2UuIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdDoKLSAgKiAgICAgICAgICAgICAgICAgICAgICAgIG9wZW5zb3VyY2Uub3JnL2xpY2Vuc2VzL0JTRC0zLUNsYXVzZQorICAqIFRoaXMgc29mdHdhcmUgaXMgbGljZW5zZWQgdW5kZXIgdGVybXMgdGhhdCBjYW4gYmUgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZQorICAqIGluIHRoZSByb290IGRpcmVjdG9yeSBvZiB0aGlzIHNvZnR3YXJlIGNvbXBvbmVudC4KKyAgKiBJZiBubyBMSUNFTlNFIGZpbGUgY29tZXMgd2l0aCB0aGlzIHNvZnR3YXJlLCBpdCBpcyBwcm92aWRlZCBBUy1JUy4KICAgKgogICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKICAgKi8KQEAgLTk0LDUgKzkzLDQgQEAKICAgCiAvKioKICAgKiBAfQotICAqLyAgCi0vKioqKioqKioqKioqKioqKioqKioqKioqIChDKSBDT1BZUklHSFQgU1RNaWNyb2VsZWN0cm9uaWNzICoqKioqRU5EIE9GIEZJTEUqKioqLworICAqLwpkaWZmIC0tZ2l0IGEvTGljZW5zZS5tZCBiL0xpY2Vuc2UubWQKaW5kZXggNzJmYmY3OS4uNzczM2E0OSAxMDA2NDQKLS0tIGEvTGljZW5zZS5tZAorKysgYi9MaWNlbnNlLm1kCkBAIC0xLDgzICsxLDIwMSBAQAotQXBhY2hlIExpY2Vuc2UKLSBWZXJzaW9uIDIuMCwgSmFudWFyeSAyMDA0Ci0gaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzLworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQXBhY2hlIExpY2Vuc2UKKyAgICAgICAgICAgICAgICAgICAgICAgICAgIFZlcnNpb24gMi4wLCBKYW51YXJ5IDIwMDQKKyAgICAgICAgICAgICAgICAgICAgICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy8KIAotVEVSTVMgQU5EIENPTkRJVElPTlMgRk9SIFVTRSwgUkVQUk9EVUNUSU9OLCBBTkQgRElTVFJJQlVUSU9OCisgICBURVJNUyBBTkQgQ09ORElUSU9OUyBGT1IgVVNFLCBSRVBST0RVQ1RJT04sIEFORCBESVNUUklCVVRJT04KIAotMS4gRGVmaW5pdGlvbnMuCisgICAxLiBEZWZpbml0aW9ucy4KIAotIkxpY2Vuc2UiIHNoYWxsIG1lYW4gdGhlIHRlcm1zIGFuZCBjb25kaXRpb25zIGZvciB1c2UsIHJlcHJvZHVjdGlvbiwgYW5kIGRpc3RyaWJ1dGlvbiBhcyBkZWZpbmVkIGJ5IFNlY3Rpb25zIDEgdGhyb3VnaCA5IG9mIHRoaXMgZG9jdW1lbnQuCisgICAgICAiTGljZW5zZSIgc2hhbGwgbWVhbiB0aGUgdGVybXMgYW5kIGNvbmRpdGlvbnMgZm9yIHVzZSwgcmVwcm9kdWN0aW9uLAorICAgICAgYW5kIGRpc3RyaWJ1dGlvbiBhcyBkZWZpbmVkIGJ5IFNlY3Rpb25zIDEgdGhyb3VnaCA5IG9mIHRoaXMgZG9jdW1lbnQuCiAKLSJMaWNlbnNvciIgc2hhbGwgbWVhbiB0aGUgY29weXJpZ2h0IG93bmVyIG9yIGVudGl0eSBhdXRob3JpemVkIGJ5IHRoZSBjb3B5cmlnaHQgb3duZXIgdGhhdCBpcyBncmFudGluZyB0aGUgTGljZW5zZS4KKyAgICAgICJMaWNlbnNvciIgc2hhbGwgbWVhbiB0aGUgY29weXJpZ2h0IG93bmVyIG9yIGVudGl0eSBhdXRob3JpemVkIGJ5CisgICAgICB0aGUgY29weXJpZ2h0IG93bmVyIHRoYXQgaXMgZ3JhbnRpbmcgdGhlIExpY2Vuc2UuCiAKLSJMZWdhbCBFbnRpdHkiIHNoYWxsIG1lYW4gdGhlIHVuaW9uIG9mIHRoZSBhY3RpbmcgZW50aXR5IGFuZCBhbGwgb3RoZXIgZW50aXRpZXMgdGhhdCBjb250cm9sLCBhcmUgY29udHJvbGxlZCBieSwgb3IgYXJlIHVuZGVyIGNvbW1vbiBjb250cm9sIHdpdGggdGhhdCBlbnRpdHkuIEZvciB0aGUgcHVycG9zZXMgb2YgdGhpcyBkZWZpbml0aW9uLCAiY29udHJvbCIgbWVhbnMgKGkpIHRoZSBwb3dlciwgZGlyZWN0IG9yIGluZGlyZWN0LCB0byBjYXVzZSB0aGUgZGlyZWN0aW9uIG9yIG1hbmFnZW1lbnQgb2Ygc3VjaCBlbnRpdHksIHdoZXRoZXIgYnkgY29udHJhY3Qgb3Igb3RoZXJ3aXNlLCBvciAoaWkpIG93bmVyc2hpcCBvZiBmaWZ0eSBwZXJjZW50ICg1MCUpIG9yIG1vcmUgb2YgdGhlIG91dHN0YW5kaW5nIHNoYXJlcywgb3IgKGlpaSkgYmVuZWZpY2lhbCBvd25lcnNoaXAgb2Ygc3VjaCBlbnRpdHkuCisgICAgICAiTGVnYWwgRW50aXR5IiBzaGFsbCBtZWFuIHRoZSB1bmlvbiBvZiB0aGUgYWN0aW5nIGVudGl0eSBhbmQgYWxsCisgICAgICBvdGhlciBlbnRpdGllcyB0aGF0IGNvbnRyb2wsIGFyZSBjb250cm9sbGVkIGJ5LCBvciBhcmUgdW5kZXIgY29tbW9uCisgICAgICBjb250cm9sIHdpdGggdGhhdCBlbnRpdHkuIEZvciB0aGUgcHVycG9zZXMgb2YgdGhpcyBkZWZpbml0aW9uLAorICAgICAgImNvbnRyb2wiIG1lYW5zIChpKSB0aGUgcG93ZXIsIGRpcmVjdCBvciBpbmRpcmVjdCwgdG8gY2F1c2UgdGhlCisgICAgICBkaXJlY3Rpb24gb3IgbWFuYWdlbWVudCBvZiBzdWNoIGVudGl0eSwgd2hldGhlciBieSBjb250cmFjdCBvcgorICAgICAgb3RoZXJ3aXNlLCBvciAoaWkpIG93bmVyc2hpcCBvZiBmaWZ0eSBwZXJjZW50ICg1MCUpIG9yIG1vcmUgb2YgdGhlCisgICAgICBvdXRzdGFuZGluZyBzaGFyZXMsIG9yIChpaWkpIGJlbmVmaWNpYWwgb3duZXJzaGlwIG9mIHN1Y2ggZW50aXR5LgogCi0iWW91IiAob3IgIllvdXIiKSBzaGFsbCBtZWFuIGFuIGluZGl2aWR1YWwgb3IgTGVnYWwgRW50aXR5IGV4ZXJjaXNpbmcgcGVybWlzc2lvbnMgZ3JhbnRlZCBieSB0aGlzIExpY2Vuc2UuCisgICAgICAiWW91IiAob3IgIllvdXIiKSBzaGFsbCBtZWFuIGFuIGluZGl2aWR1YWwgb3IgTGVnYWwgRW50aXR5CisgICAgICBleGVyY2lzaW5nIHBlcm1pc3Npb25zIGdyYW50ZWQgYnkgdGhpcyBMaWNlbnNlLgogCi0iU291cmNlIiBmb3JtIHNoYWxsIG1lYW4gdGhlIHByZWZlcnJlZCBmb3JtIGZvciBtYWtpbmcgbW9kaWZpY2F0aW9ucywgaW5jbHVkaW5nIGJ1dCBub3QgbGltaXRlZCB0byBzb2Z0d2FyZSBzb3VyY2UgY29kZSwgZG9jdW1lbnRhdGlvbiBzb3VyY2UsIGFuZCBjb25maWd1cmF0aW9uIGZpbGVzLgorICAgICAgIlNvdXJjZSIgZm9ybSBzaGFsbCBtZWFuIHRoZSBwcmVmZXJyZWQgZm9ybSBmb3IgbWFraW5nIG1vZGlmaWNhdGlvbnMsCisgICAgICBpbmNsdWRpbmcgYnV0IG5vdCBsaW1pdGVkIHRvIHNvZnR3YXJlIHNvdXJjZSBjb2RlLCBkb2N1bWVudGF0aW9uCisgICAgICBzb3VyY2UsIGFuZCBjb25maWd1cmF0aW9uIGZpbGVzLgogCi0iT2JqZWN0IiBmb3JtIHNoYWxsIG1lYW4gYW55IGZvcm0gcmVzdWx0aW5nIGZyb20gbWVjaGFuaWNhbCB0cmFuc2Zvcm1hdGlvbiBvciB0cmFuc2xhdGlvbiBvZiBhIFNvdXJjZSBmb3JtLCBpbmNsdWRpbmcgYnV0IG5vdCBsaW1pdGVkIHRvIGNvbXBpbGVkIG9iamVjdCBjb2RlLCBnZW5lcmF0ZWQgZG9jdW1lbnRhdGlvbiwgYW5kIGNvbnZlcnNpb25zIHRvIG90aGVyIG1lZGlhIHR5cGVzLgorICAgICAgIk9iamVjdCIgZm9ybSBzaGFsbCBtZWFuIGFueSBmb3JtIHJlc3VsdGluZyBmcm9tIG1lY2hhbmljYWwKKyAgICAgIHRyYW5zZm9ybWF0aW9uIG9yIHRyYW5zbGF0aW9uIG9mIGEgU291cmNlIGZvcm0sIGluY2x1ZGluZyBidXQKKyAgICAgIG5vdCBsaW1pdGVkIHRvIGNvbXBpbGVkIG9iamVjdCBjb2RlLCBnZW5lcmF0ZWQgZG9jdW1lbnRhdGlvbiwKKyAgICAgIGFuZCBjb252ZXJzaW9ucyB0byBvdGhlciBtZWRpYSB0eXBlcy4KIAotIldvcmsiIHNoYWxsIG1lYW4gdGhlIHdvcmsgb2YgYXV0aG9yc2hpcCwgd2hldGhlciBpbiBTb3VyY2Ugb3IgT2JqZWN0IGZvcm0sIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZSBMaWNlbnNlLCBhcyBpbmRpY2F0ZWQgYnkgYSBjb3B5cmlnaHQgbm90aWNlIHRoYXQgaXMgaW5jbHVkZWQgaW4gb3IgYXR0YWNoZWQgdG8gdGhlIHdvcmsgKGFuIGV4YW1wbGUgaXMgcHJvdmlkZWQgaW4gdGhlIEFwcGVuZGl4IGJlbG93KS4KKyAgICAgICJXb3JrIiBzaGFsbCBtZWFuIHRoZSB3b3JrIG9mIGF1dGhvcnNoaXAsIHdoZXRoZXIgaW4gU291cmNlIG9yCisgICAgICBPYmplY3QgZm9ybSwgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlIExpY2Vuc2UsIGFzIGluZGljYXRlZCBieSBhCisgICAgICBjb3B5cmlnaHQgbm90aWNlIHRoYXQgaXMgaW5jbHVkZWQgaW4gb3IgYXR0YWNoZWQgdG8gdGhlIHdvcmsKKyAgICAgIChhbiBleGFtcGxlIGlzIHByb3ZpZGVkIGluIHRoZSBBcHBlbmRpeCBiZWxvdykuCiAKLSJEZXJpdmF0aXZlIFdvcmtzIiBzaGFsbCBtZWFuIGFueSB3b3JrLCB3aGV0aGVyIGluIFNvdXJjZSBvciBPYmplY3QgZm9ybSwgdGhhdCBpcyBiYXNlZCBvbiAob3IgZGVyaXZlZCBmcm9tKSB0aGUgV29yayBhbmQgZm9yIHdoaWNoIHRoZSBlZGl0b3JpYWwgcmV2aXNpb25zLCBhbm5vdGF0aW9ucywgZWxhYm9yYXRpb25zLCBvciBvdGhlciBtb2RpZmljYXRpb25zIHJlcHJlc2VudCwgYXMgYSB3aG9sZSwgYW4gb3JpZ2luYWwgd29yayBvZiBhdXRob3JzaGlwLiBGb3IgdGhlIHB1cnBvc2VzIG9mIHRoaXMgTGljZW5zZSwgRGVyaXZhdGl2ZSBXb3JrcyBzaGFsbCBub3QgaW5jbHVkZSB3b3JrcyB0aGF0IHJlbWFpbiBzZXBhcmFibGUgZnJvbSwgb3IgbWVyZWx5IGxpbmsgKG9yIGJpbmQgYnkgbmFtZSkgdG8gdGhlIGludGVyZmFjZXMgb2YsIHRoZSBXb3JrIGFuZCBEZXJpdmF0aXZlIFdvcmtzIHRoZXJlb2YuCisgICAgICAiRGVyaXZhdGl2ZSBXb3JrcyIgc2hhbGwgbWVhbiBhbnkgd29yaywgd2hldGhlciBpbiBTb3VyY2Ugb3IgT2JqZWN0CisgICAgICBmb3JtLCB0aGF0IGlzIGJhc2VkIG9uIChvciBkZXJpdmVkIGZyb20pIHRoZSBXb3JrIGFuZCBmb3Igd2hpY2ggdGhlCisgICAgICBlZGl0b3JpYWwgcmV2aXNpb25zLCBhbm5vdGF0aW9ucywgZWxhYm9yYXRpb25zLCBvciBvdGhlciBtb2RpZmljYXRpb25zCisgICAgICByZXByZXNlbnQsIGFzIGEgd2hvbGUsIGFuIG9yaWdpbmFsIHdvcmsgb2YgYXV0aG9yc2hpcC4gRm9yIHRoZSBwdXJwb3NlcworICAgICAgb2YgdGhpcyBMaWNlbnNlLCBEZXJpdmF0aXZlIFdvcmtzIHNoYWxsIG5vdCBpbmNsdWRlIHdvcmtzIHRoYXQgcmVtYWluCisgICAgICBzZXBhcmFibGUgZnJvbSwgb3IgbWVyZWx5IGxpbmsgKG9yIGJpbmQgYnkgbmFtZSkgdG8gdGhlIGludGVyZmFjZXMgb2YsCisgICAgICB0aGUgV29yayBhbmQgRGVyaXZhdGl2ZSBXb3JrcyB0aGVyZW9mLgogCi0iQ29udHJpYnV0aW9uIiBzaGFsbCBtZWFuIGFueSB3b3JrIG9mIGF1dGhvcnNoaXAsIGluY2x1ZGluZyB0aGUgb3JpZ2luYWwgdmVyc2lvbiBvZiB0aGUgV29yayBhbmQgYW55IG1vZGlmaWNhdGlvbnMgb3IgYWRkaXRpb25zIHRvIHRoYXQgV29yayBvciBEZXJpdmF0aXZlIFdvcmtzIHRoZXJlb2YsIHRoYXQgaXMgaW50ZW50aW9uYWxseSBzdWJtaXR0ZWQgdG8gTGljZW5zb3IgZm9yIGluY2x1c2lvbiBpbiB0aGUgV29yayBieSB0aGUgY29weXJpZ2h0IG93bmVyIG9yIGJ5IGFuIGluZGl2aWR1YWwgb3IgTGVnYWwgRW50aXR5IGF1dGhvcml6ZWQgdG8gc3VibWl0IG9uIGJlaGFsZiBvZiB0aGUgY29weXJpZ2h0IG93bmVyLiBGb3IgdGhlIHB1cnBvc2VzIG9mIHRoaXMgZGVmaW5pdGlvbiwgInN1Ym1pdHRlZCIgbWVhbnMgYW55IGZvcm0gb2YgZWxlY3Ryb25pYywgdmVyYmFsLCBvciB3cml0dGVuIGNvbW11bmljYXRpb24gc2VudCB0byB0aGUgTGljZW5zb3Igb3IgaXRzIHJlcHJlc2VudGF0aXZlcywgaW5jbHVkaW5nIGJ1dCBub3QgbGltaXRlZCB0byBjb21tdW5pY2F0aW9uIG9uIGVsZWN0cm9uaWMgbWFpbGluZyBsaXN0cywgc291cmNlIGNvZGUgY29udHJvbCBzeXN0ZW1zLCBhbmQgaXNzdWUgdHJhY2tpbmcgc3lzdGVtcyB0aGF0IGFyZSBtYW5hZ2VkIGJ5LCBvciBvbiBiZWhhbGYgb2YsIHRoZSBMaWNlbnNvciBmb3IgdGhlIHB1cnBvc2Ugb2YgZGlzY3Vzc2luZyBhbmQgaW1wcm92aW5nIHRoZSBXb3JrLCBidXQgZXhjbHVkaW5nIGNvbW11bmljYXRpb24gdGhhdCBpcyBjb25zcGljdW91c2x5IG1hcmtlZCBvciBvdGhlcndpc2UgZGVzaWduYXRlZCBpbiB3cml0aW5nIGJ5IHRoZSBjb3B5cmlnaHQgb3duZXIgYXMgIk5vdCBhIENvbnRyaWJ1dGlvbi4iCisgICAgICAiQ29udHJpYnV0aW9uIiBzaGFsbCBtZWFuIGFueSB3b3JrIG9mIGF1dGhvcnNoaXAsIGluY2x1ZGluZworICAgICAgdGhlIG9yaWdpbmFsIHZlcnNpb24gb2YgdGhlIFdvcmsgYW5kIGFueSBtb2RpZmljYXRpb25zIG9yIGFkZGl0aW9ucworICAgICAgdG8gdGhhdCBXb3JrIG9yIERlcml2YXRpdmUgV29ya3MgdGhlcmVvZiwgdGhhdCBpcyBpbnRlbnRpb25hbGx5CisgICAgICBzdWJtaXR0ZWQgdG8gTGljZW5zb3IgZm9yIGluY2x1c2lvbiBpbiB0aGUgV29yayBieSB0aGUgY29weXJpZ2h0IG93bmVyCisgICAgICBvciBieSBhbiBpbmRpdmlkdWFsIG9yIExlZ2FsIEVudGl0eSBhdXRob3JpemVkIHRvIHN1Ym1pdCBvbiBiZWhhbGYgb2YKKyAgICAgIHRoZSBjb3B5cmlnaHQgb3duZXIuIEZvciB0aGUgcHVycG9zZXMgb2YgdGhpcyBkZWZpbml0aW9uLCAic3VibWl0dGVkIgorICAgICAgbWVhbnMgYW55IGZvcm0gb2YgZWxlY3Ryb25pYywgdmVyYmFsLCBvciB3cml0dGVuIGNvbW11bmljYXRpb24gc2VudAorICAgICAgdG8gdGhlIExpY2Vuc29yIG9yIGl0cyByZXByZXNlbnRhdGl2ZXMsIGluY2x1ZGluZyBidXQgbm90IGxpbWl0ZWQgdG8KKyAgICAgIGNvbW11bmljYXRpb24gb24gZWxlY3Ryb25pYyBtYWlsaW5nIGxpc3RzLCBzb3VyY2UgY29kZSBjb250cm9sIHN5c3RlbXMsCisgICAgICBhbmQgaXNzdWUgdHJhY2tpbmcgc3lzdGVtcyB0aGF0IGFyZSBtYW5hZ2VkIGJ5LCBvciBvbiBiZWhhbGYgb2YsIHRoZQorICAgICAgTGljZW5zb3IgZm9yIHRoZSBwdXJwb3NlIG9mIGRpc2N1c3NpbmcgYW5kIGltcHJvdmluZyB0aGUgV29yaywgYnV0CisgICAgICBleGNsdWRpbmcgY29tbXVuaWNhdGlvbiB0aGF0IGlzIGNvbnNwaWN1b3VzbHkgbWFya2VkIG9yIG90aGVyd2lzZQorICAgICAgZGVzaWduYXRlZCBpbiB3cml0aW5nIGJ5IHRoZSBjb3B5cmlnaHQgb3duZXIgYXMgIk5vdCBhIENvbnRyaWJ1dGlvbi4iCiAKLSJDb250cmlidXRvciIgc2hhbGwgbWVhbiBMaWNlbnNvciBhbmQgYW55IGluZGl2aWR1YWwgb3IgTGVnYWwgRW50aXR5IG9uIGJlaGFsZiBvZiB3aG9tIGEgQ29udHJpYnV0aW9uIGhhcyBiZWVuIHJlY2VpdmVkIGJ5IExpY2Vuc29yIGFuZCBzdWJzZXF1ZW50bHkgaW5jb3Jwb3JhdGVkIHdpdGhpbiB0aGUgV29yay4KKyAgICAgICJDb250cmlidXRvciIgc2hhbGwgbWVhbiBMaWNlbnNvciBhbmQgYW55IGluZGl2aWR1YWwgb3IgTGVnYWwgRW50aXR5CisgICAgICBvbiBiZWhhbGYgb2Ygd2hvbSBhIENvbnRyaWJ1dGlvbiBoYXMgYmVlbiByZWNlaXZlZCBieSBMaWNlbnNvciBhbmQKKyAgICAgIHN1YnNlcXVlbnRseSBpbmNvcnBvcmF0ZWQgd2l0aGluIHRoZSBXb3JrLgogCi0yLiBHcmFudCBvZiBDb3B5cmlnaHQgTGljZW5zZS4KKyAgIDIuIEdyYW50IG9mIENvcHlyaWdodCBMaWNlbnNlLiBTdWJqZWN0IHRvIHRoZSB0ZXJtcyBhbmQgY29uZGl0aW9ucyBvZgorICAgICAgdGhpcyBMaWNlbnNlLCBlYWNoIENvbnRyaWJ1dG9yIGhlcmVieSBncmFudHMgdG8gWW91IGEgcGVycGV0dWFsLAorICAgICAgd29ybGR3aWRlLCBub24tZXhjbHVzaXZlLCBuby1jaGFyZ2UsIHJveWFsdHktZnJlZSwgaXJyZXZvY2FibGUKKyAgICAgIGNvcHlyaWdodCBsaWNlbnNlIHRvIHJlcHJvZHVjZSwgcHJlcGFyZSBEZXJpdmF0aXZlIFdvcmtzIG9mLAorICAgICAgcHVibGljbHkgZGlzcGxheSwgcHVibGljbHkgcGVyZm9ybSwgc3VibGljZW5zZSwgYW5kIGRpc3RyaWJ1dGUgdGhlCisgICAgICBXb3JrIGFuZCBzdWNoIERlcml2YXRpdmUgV29ya3MgaW4gU291cmNlIG9yIE9iamVjdCBmb3JtLgogCi1TdWJqZWN0IHRvIHRoZSB0ZXJtcyBhbmQgY29uZGl0aW9ucyBvZiB0aGlzIExpY2Vuc2UsIGVhY2ggQ29udHJpYnV0b3IgaGVyZWJ5IGdyYW50cyB0byBZb3UgYSBwZXJwZXR1YWwsIHdvcmxkd2lkZSwgbm9uLWV4Y2x1c2l2ZSwgbm8tY2hhcmdlLCByb3lhbHR5LWZyZWUsIGlycmV2b2NhYmxlIGNvcHlyaWdodCBsaWNlbnNlIHRvIHJlcHJvZHVjZSwgcHJlcGFyZSBEZXJpdmF0aXZlIFdvcmtzIG9mLCBwdWJsaWNseSBkaXNwbGF5LCBwdWJsaWNseSBwZXJmb3JtLCBzdWJsaWNlbnNlLCBhbmQgZGlzdHJpYnV0ZSB0aGUgV29yayBhbmQgc3VjaCBEZXJpdmF0aXZlIFdvcmtzIGluIFNvdXJjZSBvciBPYmplY3QgZm9ybS4KKyAgIDMuIEdyYW50IG9mIFBhdGVudCBMaWNlbnNlLiBTdWJqZWN0IHRvIHRoZSB0ZXJtcyBhbmQgY29uZGl0aW9ucyBvZgorICAgICAgdGhpcyBMaWNlbnNlLCBlYWNoIENvbnRyaWJ1dG9yIGhlcmVieSBncmFudHMgdG8gWW91IGEgcGVycGV0dWFsLAorICAgICAgd29ybGR3aWRlLCBub24tZXhjbHVzaXZlLCBuby1jaGFyZ2UsIHJveWFsdHktZnJlZSwgaXJyZXZvY2FibGUKKyAgICAgIChleGNlcHQgYXMgc3RhdGVkIGluIHRoaXMgc2VjdGlvbikgcGF0ZW50IGxpY2Vuc2UgdG8gbWFrZSwgaGF2ZSBtYWRlLAorICAgICAgdXNlLCBvZmZlciB0byBzZWxsLCBzZWxsLCBpbXBvcnQsIGFuZCBvdGhlcndpc2UgdHJhbnNmZXIgdGhlIFdvcmssCisgICAgICB3aGVyZSBzdWNoIGxpY2Vuc2UgYXBwbGllcyBvbmx5IHRvIHRob3NlIHBhdGVudCBjbGFpbXMgbGljZW5zYWJsZQorICAgICAgYnkgc3VjaCBDb250cmlidXRvciB0aGF0IGFyZSBuZWNlc3NhcmlseSBpbmZyaW5nZWQgYnkgdGhlaXIKKyAgICAgIENvbnRyaWJ1dGlvbihzKSBhbG9uZSBvciBieSBjb21iaW5hdGlvbiBvZiB0aGVpciBDb250cmlidXRpb24ocykKKyAgICAgIHdpdGggdGhlIFdvcmsgdG8gd2hpY2ggc3VjaCBDb250cmlidXRpb24ocykgd2FzIHN1Ym1pdHRlZC4gSWYgWW91CisgICAgICBpbnN0aXR1dGUgcGF0ZW50IGxpdGlnYXRpb24gYWdhaW5zdCBhbnkgZW50aXR5IChpbmNsdWRpbmcgYQorICAgICAgY3Jvc3MtY2xhaW0gb3IgY291bnRlcmNsYWltIGluIGEgbGF3c3VpdCkgYWxsZWdpbmcgdGhhdCB0aGUgV29yaworICAgICAgb3IgYSBDb250cmlidXRpb24gaW5jb3Jwb3JhdGVkIHdpdGhpbiB0aGUgV29yayBjb25zdGl0dXRlcyBkaXJlY3QKKyAgICAgIG9yIGNvbnRyaWJ1dG9yeSBwYXRlbnQgaW5mcmluZ2VtZW50LCB0aGVuIGFueSBwYXRlbnQgbGljZW5zZXMKKyAgICAgIGdyYW50ZWQgdG8gWW91IHVuZGVyIHRoaXMgTGljZW5zZSBmb3IgdGhhdCBXb3JrIHNoYWxsIHRlcm1pbmF0ZQorICAgICAgYXMgb2YgdGhlIGRhdGUgc3VjaCBsaXRpZ2F0aW9uIGlzIGZpbGVkLgogCi0zLiBHcmFudCBvZiBQYXRlbnQgTGljZW5zZS4KKyAgIDQuIFJlZGlzdHJpYnV0aW9uLiBZb3UgbWF5IHJlcHJvZHVjZSBhbmQgZGlzdHJpYnV0ZSBjb3BpZXMgb2YgdGhlCisgICAgICBXb3JrIG9yIERlcml2YXRpdmUgV29ya3MgdGhlcmVvZiBpbiBhbnkgbWVkaXVtLCB3aXRoIG9yIHdpdGhvdXQKKyAgICAgIG1vZGlmaWNhdGlvbnMsIGFuZCBpbiBTb3VyY2Ugb3IgT2JqZWN0IGZvcm0sIHByb3ZpZGVkIHRoYXQgWW91CisgICAgICBtZWV0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9uczoKIAotU3ViamVjdCB0byB0aGUgdGVybXMgYW5kIGNvbmRpdGlvbnMgb2YgdGhpcyBMaWNlbnNlLCBlYWNoIENvbnRyaWJ1dG9yIGhlcmVieSBncmFudHMgdG8gWW91IGEgcGVycGV0dWFsLCB3b3JsZHdpZGUsIG5vbi1leGNsdXNpdmUsIG5vLWNoYXJnZSwgcm95YWx0eS1mcmVlLCBpcnJldm9jYWJsZSAoZXhjZXB0IGFzIHN0YXRlZCBpbiB0aGlzIHNlY3Rpb24pIHBhdGVudCBsaWNlbnNlIHRvIG1ha2UsIGhhdmUgbWFkZSwgdXNlLCBvZmZlciB0byBzZWxsLCBzZWxsLCBpbXBvcnQsIGFuZCBvdGhlcndpc2UgdHJhbnNmZXIgdGhlIFdvcmssIHdoZXJlIHN1Y2ggbGljZW5zZSBhcHBsaWVzIG9ubHkgdG8gdGhvc2UgcGF0ZW50IGNsYWltcyBsaWNlbnNhYmxlIGJ5IHN1Y2ggQ29udHJpYnV0b3IgdGhhdCBhcmUgbmVjZXNzYXJpbHkgaW5mcmluZ2VkIGJ5IHRoZWlyIENvbnRyaWJ1dGlvbihzKSBhbG9uZSBvciBieSBjb21iaW5hdGlvbiBvZiB0aGVpciBDb250cmlidXRpb24ocykgd2l0aCB0aGUgV29yayB0byB3aGljaCBzdWNoIENvbnRyaWJ1dGlvbihzKSB3YXMgc3VibWl0dGVkLiBJZiBZb3UgaW5zdGl0dXRlIHBhdGVudCBsaXRpZ2F0aW9uIGFnYWluc3QgYW55IGVudGl0eSAoaW5jbHVkaW5nIGEgY3Jvc3MtY2xhaW0gb3IgY291bnRlcmNsYWltIGluIGEgbGF3c3VpdCkgYWxsZWdpbmcgdGhhdCB0aGUgV29yayBvciBhIENvbnRyaWJ1dGlvbiBpbmNvcnBvcmF0ZWQgd2l0aGluIHRoZSBXb3JrIGNvbnN0aXR1dGVzIGRpcmVjdCBvciBjb250cmlidXRvcnkgcGF0ZW50IGluZnJpbmdlbWVudCwgdGhlbiBhbnkgcGF0ZW50IGxpY2Vuc2VzIGdyYW50ZWQgdG8gWW91IHVuZGVyIHRoaXMgTGljZW5zZSBmb3IgdGhhdCBXb3JrIHNoYWxsIHRlcm1pbmF0ZSBhcyBvZiB0aGUgZGF0ZSBzdWNoIGxpdGlnYXRpb24gaXMgZmlsZWQuCisgICAgICAoYSkgWW91IG11c3QgZ2l2ZSBhbnkgb3RoZXIgcmVjaXBpZW50cyBvZiB0aGUgV29yayBvcgorICAgICAgICAgIERlcml2YXRpdmUgV29ya3MgYSBjb3B5IG9mIHRoaXMgTGljZW5zZTsgYW5kCiAKLTQuIFJlZGlzdHJpYnV0aW9uLgorICAgICAgKGIpIFlvdSBtdXN0IGNhdXNlIGFueSBtb2RpZmllZCBmaWxlcyB0byBjYXJyeSBwcm9taW5lbnQgbm90aWNlcworICAgICAgICAgIHN0YXRpbmcgdGhhdCBZb3UgY2hhbmdlZCB0aGUgZmlsZXM7IGFuZAogCi1Zb3UgbWF5IHJlcHJvZHVjZSBhbmQgZGlzdHJpYnV0ZSBjb3BpZXMgb2YgdGhlIFdvcmsgb3IgRGVyaXZhdGl2ZSBXb3JrcyB0aGVyZW9mIGluIGFueSBtZWRpdW0sIHdpdGggb3Igd2l0aG91dCBtb2RpZmljYXRpb25zLCBhbmQgaW4gU291cmNlIG9yIE9iamVjdCBmb3JtLCBwcm92aWRlZCB0aGF0IFlvdSBtZWV0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9uczoKLTEuWW91IG11c3QgZ2l2ZSBhbnkgb3RoZXIgcmVjaXBpZW50cyBvZiB0aGUgV29yayBvciBEZXJpdmF0aXZlIFdvcmtzIGEgY29weSBvZiB0aGlzIExpY2Vuc2U7IGFuZAotMi5Zb3UgbXVzdCBjYXVzZSBhbnkgbW9kaWZpZWQgZmlsZXMgdG8gY2FycnkgcHJvbWluZW50IG5vdGljZXMgc3RhdGluZyB0aGF0IFlvdSBjaGFuZ2VkIHRoZSBmaWxlczsgYW5kCi0zLllvdSBtdXN0IHJldGFpbiwgaW4gdGhlIFNvdXJjZSBmb3JtIG9mIGFueSBEZXJpdmF0aXZlIFdvcmtzIHRoYXQgWW91IGRpc3RyaWJ1dGUsIGFsbCBjb3B5cmlnaHQsIHBhdGVudCwgdHJhZGVtYXJrLCBhbmQgYXR0cmlidXRpb24gbm90aWNlcyBmcm9tIHRoZSBTb3VyY2UgZm9ybSBvZiB0aGUgV29yaywgZXhjbHVkaW5nIHRob3NlIG5vdGljZXMgdGhhdCBkbyBub3QgcGVydGFpbiB0byBhbnkgcGFydCBvZiB0aGUgRGVyaXZhdGl2ZSBXb3JrczsgYW5kCi00LklmIHRoZSBXb3JrIGluY2x1ZGVzIGEgIk5PVElDRSIgdGV4dCBmaWxlIGFzIHBhcnQgb2YgaXRzIGRpc3RyaWJ1dGlvbiwgdGhlbiBhbnkgRGVyaXZhdGl2ZSBXb3JrcyB0aGF0IFlvdSBkaXN0cmlidXRlIG11c3QgaW5jbHVkZSBhIHJlYWRhYmxlIGNvcHkgb2YgdGhlIGF0dHJpYnV0aW9uIG5vdGljZXMgY29udGFpbmVkIHdpdGhpbiBzdWNoIE5PVElDRSBmaWxlLCBleGNsdWRpbmcgdGhvc2Ugbm90aWNlcyB0aGF0IGRvIG5vdCBwZXJ0YWluIHRvIGFueSBwYXJ0IG9mIHRoZSBEZXJpdmF0aXZlIFdvcmtzLCBpbiBhdCBsZWFzdCBvbmUgb2YgdGhlIGZvbGxvd2luZyBwbGFjZXM6IHdpdGhpbiBhIE5PVElDRSB0ZXh0IGZpbGUgZGlzdHJpYnV0ZWQgYXMgcGFydCBvZiB0aGUgRGVyaXZhdGl2ZSBXb3Jrczsgd2l0aGluIHRoZSBTb3VyY2UgZm9ybSBvciBkb2N1bWVudGF0aW9uLCBpZiBwcm92aWRlZCBhbG9uZyB3aXRoIHRoZSBEZXJpdmF0aXZlIFdvcmtzOyBvciwgd2l0aGluIGEgZGlzcGxheSBnZW5lcmF0ZWQgYnkgdGhlIERlcml2YXRpdmUgV29ya3MsIGlmIGFuZCB3aGVyZXZlciBzdWNoIHRoaXJkLXBhcnR5IG5vdGljZXMgbm9ybWFsbHkgYXBwZWFyLiBUaGUgY29udGVudHMgb2YgdGhlIE5PVElDRSBmaWxlIGFyZSBmb3IgaW5mb3JtYXRpb25hbCBwdXJwb3NlcyBvbmx5IGFuZCBkbyBub3QgbW9kaWZ5IHRoZSBMaWNlbnNlLiBZb3UgbWF5IGFkZCBZb3VyIG93biBhdHRyaWJ1dGlvbiBub3RpY2VzIHdpdGhpbiBEZXJpdmF0aXZlIFdvcmtzIHRoYXQgWW91IGRpc3RyaWJ1dGUsIGFsb25nc2lkZSBvciBhcyBhbiBhZGRlbmR1bSB0byB0aGUgTk9USUNFIHRleHQgZnJvbSB0aGUgV29yaywgcHJvdmlkZWQgdGhhdCBzdWNoIGFkZGl0aW9uYWwgYXR0cmlidXRpb24gbm90aWNlcyBjYW5ub3QgYmUgY29uc3RydWVkIGFzIG1vZGlmeWluZyB0aGUgTGljZW5zZS4KKyAgICAgIChjKSBZb3UgbXVzdCByZXRhaW4sIGluIHRoZSBTb3VyY2UgZm9ybSBvZiBhbnkgRGVyaXZhdGl2ZSBXb3JrcworICAgICAgICAgIHRoYXQgWW91IGRpc3RyaWJ1dGUsIGFsbCBjb3B5cmlnaHQsIHBhdGVudCwgdHJhZGVtYXJrLCBhbmQKKyAgICAgICAgICBhdHRyaWJ1dGlvbiBub3RpY2VzIGZyb20gdGhlIFNvdXJjZSBmb3JtIG9mIHRoZSBXb3JrLAorICAgICAgICAgIGV4Y2x1ZGluZyB0aG9zZSBub3RpY2VzIHRoYXQgZG8gbm90IHBlcnRhaW4gdG8gYW55IHBhcnQgb2YKKyAgICAgICAgICB0aGUgRGVyaXZhdGl2ZSBXb3JrczsgYW5kCiAKLVlvdSBtYXkgYWRkIFlvdXIgb3duIGNvcHlyaWdodCBzdGF0ZW1lbnQgdG8gWW91ciBtb2RpZmljYXRpb25zIGFuZCBtYXkgcHJvdmlkZSBhZGRpdGlvbmFsIG9yIGRpZmZlcmVudCBsaWNlbnNlIHRlcm1zIGFuZCBjb25kaXRpb25zIGZvciB1c2UsIHJlcHJvZHVjdGlvbiwgb3IgZGlzdHJpYnV0aW9uIG9mIFlvdXIgbW9kaWZpY2F0aW9ucywgb3IgZm9yIGFueSBzdWNoIERlcml2YXRpdmUgV29ya3MgYXMgYSB3aG9sZSwgcHJvdmlkZWQgWW91ciB1c2UsIHJlcHJvZHVjdGlvbiwgYW5kIGRpc3RyaWJ1dGlvbiBvZiB0aGUgV29yayBvdGhlcndpc2UgY29tcGxpZXMgd2l0aCB0aGUgY29uZGl0aW9ucyBzdGF0ZWQgaW4gdGhpcyBMaWNlbnNlLgorICAgICAgKGQpIElmIHRoZSBXb3JrIGluY2x1ZGVzIGEgIk5PVElDRSIgdGV4dCBmaWxlIGFzIHBhcnQgb2YgaXRzCisgICAgICAgICAgZGlzdHJpYnV0aW9uLCB0aGVuIGFueSBEZXJpdmF0aXZlIFdvcmtzIHRoYXQgWW91IGRpc3RyaWJ1dGUgbXVzdAorICAgICAgICAgIGluY2x1ZGUgYSByZWFkYWJsZSBjb3B5IG9mIHRoZSBhdHRyaWJ1dGlvbiBub3RpY2VzIGNvbnRhaW5lZAorICAgICAgICAgIHdpdGhpbiBzdWNoIE5PVElDRSBmaWxlLCBleGNsdWRpbmcgdGhvc2Ugbm90aWNlcyB0aGF0IGRvIG5vdAorICAgICAgICAgIHBlcnRhaW4gdG8gYW55IHBhcnQgb2YgdGhlIERlcml2YXRpdmUgV29ya3MsIGluIGF0IGxlYXN0IG9uZQorICAgICAgICAgIG9mIHRoZSBmb2xsb3dpbmcgcGxhY2VzOiB3aXRoaW4gYSBOT1RJQ0UgdGV4dCBmaWxlIGRpc3RyaWJ1dGVkCisgICAgICAgICAgYXMgcGFydCBvZiB0aGUgRGVyaXZhdGl2ZSBXb3Jrczsgd2l0aGluIHRoZSBTb3VyY2UgZm9ybSBvcgorICAgICAgICAgIGRvY3VtZW50YXRpb24sIGlmIHByb3ZpZGVkIGFsb25nIHdpdGggdGhlIERlcml2YXRpdmUgV29ya3M7IG9yLAorICAgICAgICAgIHdpdGhpbiBhIGRpc3BsYXkgZ2VuZXJhdGVkIGJ5IHRoZSBEZXJpdmF0aXZlIFdvcmtzLCBpZiBhbmQKKyAgICAgICAgICB3aGVyZXZlciBzdWNoIHRoaXJkLXBhcnR5IG5vdGljZXMgbm9ybWFsbHkgYXBwZWFyLiBUaGUgY29udGVudHMKKyAgICAgICAgICBvZiB0aGUgTk9USUNFIGZpbGUgYXJlIGZvciBpbmZvcm1hdGlvbmFsIHB1cnBvc2VzIG9ubHkgYW5kCisgICAgICAgICAgZG8gbm90IG1vZGlmeSB0aGUgTGljZW5zZS4gWW91IG1heSBhZGQgWW91ciBvd24gYXR0cmlidXRpb24KKyAgICAgICAgICBub3RpY2VzIHdpdGhpbiBEZXJpdmF0aXZlIFdvcmtzIHRoYXQgWW91IGRpc3RyaWJ1dGUsIGFsb25nc2lkZQorICAgICAgICAgIG9yIGFzIGFuIGFkZGVuZHVtIHRvIHRoZSBOT1RJQ0UgdGV4dCBmcm9tIHRoZSBXb3JrLCBwcm92aWRlZAorICAgICAgICAgIHRoYXQgc3VjaCBhZGRpdGlvbmFsIGF0dHJpYnV0aW9uIG5vdGljZXMgY2Fubm90IGJlIGNvbnN0cnVlZAorICAgICAgICAgIGFzIG1vZGlmeWluZyB0aGUgTGljZW5zZS4KIAotNS4gU3VibWlzc2lvbiBvZiBDb250cmlidXRpb25zLgorICAgICAgWW91IG1heSBhZGQgWW91ciBvd24gY29weXJpZ2h0IHN0YXRlbWVudCB0byBZb3VyIG1vZGlmaWNhdGlvbnMgYW5kCisgICAgICBtYXkgcHJvdmlkZSBhZGRpdGlvbmFsIG9yIGRpZmZlcmVudCBsaWNlbnNlIHRlcm1zIGFuZCBjb25kaXRpb25zCisgICAgICBmb3IgdXNlLCByZXByb2R1Y3Rpb24sIG9yIGRpc3RyaWJ1dGlvbiBvZiBZb3VyIG1vZGlmaWNhdGlvbnMsIG9yCisgICAgICBmb3IgYW55IHN1Y2ggRGVyaXZhdGl2ZSBXb3JrcyBhcyBhIHdob2xlLCBwcm92aWRlZCBZb3VyIHVzZSwKKyAgICAgIHJlcHJvZHVjdGlvbiwgYW5kIGRpc3RyaWJ1dGlvbiBvZiB0aGUgV29yayBvdGhlcndpc2UgY29tcGxpZXMgd2l0aAorICAgICAgdGhlIGNvbmRpdGlvbnMgc3RhdGVkIGluIHRoaXMgTGljZW5zZS4KIAotVW5sZXNzIFlvdSBleHBsaWNpdGx5IHN0YXRlIG90aGVyd2lzZSwgYW55IENvbnRyaWJ1dGlvbiBpbnRlbnRpb25hbGx5IHN1Ym1pdHRlZCBmb3IgaW5jbHVzaW9uIGluIHRoZSBXb3JrIGJ5IFlvdSB0byB0aGUgTGljZW5zb3Igc2hhbGwgYmUgdW5kZXIgdGhlIHRlcm1zIGFuZCBjb25kaXRpb25zIG9mIHRoaXMgTGljZW5zZSwgd2l0aG91dCBhbnkgYWRkaXRpb25hbCB0ZXJtcyBvciBjb25kaXRpb25zLiBOb3R3aXRoc3RhbmRpbmcgdGhlIGFib3ZlLCBub3RoaW5nIGhlcmVpbiBzaGFsbCBzdXBlcnNlZGUgb3IgbW9kaWZ5IHRoZSB0ZXJtcyBvZiBhbnkgc2VwYXJhdGUgbGljZW5zZSBhZ3JlZW1lbnQgeW91IG1heSBoYXZlIGV4ZWN1dGVkIHdpdGggTGljZW5zb3IgcmVnYXJkaW5nIHN1Y2ggQ29udHJpYnV0aW9ucy4KKyAgIDUuIFN1Ym1pc3Npb24gb2YgQ29udHJpYnV0aW9ucy4gVW5sZXNzIFlvdSBleHBsaWNpdGx5IHN0YXRlIG90aGVyd2lzZSwKKyAgICAgIGFueSBDb250cmlidXRpb24gaW50ZW50aW9uYWxseSBzdWJtaXR0ZWQgZm9yIGluY2x1c2lvbiBpbiB0aGUgV29yaworICAgICAgYnkgWW91IHRvIHRoZSBMaWNlbnNvciBzaGFsbCBiZSB1bmRlciB0aGUgdGVybXMgYW5kIGNvbmRpdGlvbnMgb2YKKyAgICAgIHRoaXMgTGljZW5zZSwgd2l0aG91dCBhbnkgYWRkaXRpb25hbCB0ZXJtcyBvciBjb25kaXRpb25zLgorICAgICAgTm90d2l0aHN0YW5kaW5nIHRoZSBhYm92ZSwgbm90aGluZyBoZXJlaW4gc2hhbGwgc3VwZXJzZWRlIG9yIG1vZGlmeQorICAgICAgdGhlIHRlcm1zIG9mIGFueSBzZXBhcmF0ZSBsaWNlbnNlIGFncmVlbWVudCB5b3UgbWF5IGhhdmUgZXhlY3V0ZWQKKyAgICAgIHdpdGggTGljZW5zb3IgcmVnYXJkaW5nIHN1Y2ggQ29udHJpYnV0aW9ucy4KIAotNi4gVHJhZGVtYXJrcy4KKyAgIDYuIFRyYWRlbWFya3MuIFRoaXMgTGljZW5zZSBkb2VzIG5vdCBncmFudCBwZXJtaXNzaW9uIHRvIHVzZSB0aGUgdHJhZGUKKyAgICAgIG5hbWVzLCB0cmFkZW1hcmtzLCBzZXJ2aWNlIG1hcmtzLCBvciBwcm9kdWN0IG5hbWVzIG9mIHRoZSBMaWNlbnNvciwKKyAgICAgIGV4Y2VwdCBhcyByZXF1aXJlZCBmb3IgcmVhc29uYWJsZSBhbmQgY3VzdG9tYXJ5IHVzZSBpbiBkZXNjcmliaW5nIHRoZQorICAgICAgb3JpZ2luIG9mIHRoZSBXb3JrIGFuZCByZXByb2R1Y2luZyB0aGUgY29udGVudCBvZiB0aGUgTk9USUNFIGZpbGUuCiAKLVRoaXMgTGljZW5zZSBkb2VzIG5vdCBncmFudCBwZXJtaXNzaW9uIHRvIHVzZSB0aGUgdHJhZGUgbmFtZXMsIHRyYWRlbWFya3MsIHNlcnZpY2UgbWFya3MsIG9yIHByb2R1Y3QgbmFtZXMgb2YgdGhlIExpY2Vuc29yLCBleGNlcHQgYXMgcmVxdWlyZWQgZm9yIHJlYXNvbmFibGUgYW5kIGN1c3RvbWFyeSB1c2UgaW4gZGVzY3JpYmluZyB0aGUgb3JpZ2luIG9mIHRoZSBXb3JrIGFuZCByZXByb2R1Y2luZyB0aGUgY29udGVudCBvZiB0aGUgTk9USUNFIGZpbGUuCisgICA3LiBEaXNjbGFpbWVyIG9mIFdhcnJhbnR5LiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IKKyAgICAgIGFncmVlZCB0byBpbiB3cml0aW5nLCBMaWNlbnNvciBwcm92aWRlcyB0aGUgV29yayAoYW5kIGVhY2gKKyAgICAgIENvbnRyaWJ1dG9yIHByb3ZpZGVzIGl0cyBDb250cmlidXRpb25zKSBvbiBhbiAiQVMgSVMiIEJBU0lTLAorICAgICAgV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yCisgICAgICBpbXBsaWVkLCBpbmNsdWRpbmcsIHdpdGhvdXQgbGltaXRhdGlvbiwgYW55IHdhcnJhbnRpZXMgb3IgY29uZGl0aW9ucworICAgICAgb2YgVElUTEUsIE5PTi1JTkZSSU5HRU1FTlQsIE1FUkNIQU5UQUJJTElUWSwgb3IgRklUTkVTUyBGT1IgQQorICAgICAgUEFSVElDVUxBUiBQVVJQT1NFLiBZb3UgYXJlIHNvbGVseSByZXNwb25zaWJsZSBmb3IgZGV0ZXJtaW5pbmcgdGhlCisgICAgICBhcHByb3ByaWF0ZW5lc3Mgb2YgdXNpbmcgb3IgcmVkaXN0cmlidXRpbmcgdGhlIFdvcmsgYW5kIGFzc3VtZSBhbnkKKyAgICAgIHJpc2tzIGFzc29jaWF0ZWQgd2l0aCBZb3VyIGV4ZXJjaXNlIG9mIHBlcm1pc3Npb25zIHVuZGVyIHRoaXMgTGljZW5zZS4KIAotNy4gRGlzY2xhaW1lciBvZiBXYXJyYW50eS4KKyAgIDguIExpbWl0YXRpb24gb2YgTGlhYmlsaXR5LiBJbiBubyBldmVudCBhbmQgdW5kZXIgbm8gbGVnYWwgdGhlb3J5LAorICAgICAgd2hldGhlciBpbiB0b3J0IChpbmNsdWRpbmcgbmVnbGlnZW5jZSksIGNvbnRyYWN0LCBvciBvdGhlcndpc2UsCisgICAgICB1bmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgKHN1Y2ggYXMgZGVsaWJlcmF0ZSBhbmQgZ3Jvc3NseQorICAgICAgbmVnbGlnZW50IGFjdHMpIG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzaGFsbCBhbnkgQ29udHJpYnV0b3IgYmUKKyAgICAgIGxpYWJsZSB0byBZb3UgZm9yIGRhbWFnZXMsIGluY2x1ZGluZyBhbnkgZGlyZWN0LCBpbmRpcmVjdCwgc3BlY2lhbCwKKyAgICAgIGluY2lkZW50YWwsIG9yIGNvbnNlcXVlbnRpYWwgZGFtYWdlcyBvZiBhbnkgY2hhcmFjdGVyIGFyaXNpbmcgYXMgYQorICAgICAgcmVzdWx0IG9mIHRoaXMgTGljZW5zZSBvciBvdXQgb2YgdGhlIHVzZSBvciBpbmFiaWxpdHkgdG8gdXNlIHRoZQorICAgICAgV29yayAoaW5jbHVkaW5nIGJ1dCBub3QgbGltaXRlZCB0byBkYW1hZ2VzIGZvciBsb3NzIG9mIGdvb2R3aWxsLAorICAgICAgd29yayBzdG9wcGFnZSwgY29tcHV0ZXIgZmFpbHVyZSBvciBtYWxmdW5jdGlvbiwgb3IgYW55IGFuZCBhbGwKKyAgICAgIG90aGVyIGNvbW1lcmNpYWwgZGFtYWdlcyBvciBsb3NzZXMpLCBldmVuIGlmIHN1Y2ggQ29udHJpYnV0b3IKKyAgICAgIGhhcyBiZWVuIGFkdmlzZWQgb2YgdGhlIHBvc3NpYmlsaXR5IG9mIHN1Y2ggZGFtYWdlcy4KIAotVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBMaWNlbnNvciBwcm92aWRlcyB0aGUgV29yayAoYW5kIGVhY2ggQ29udHJpYnV0b3IgcHJvdmlkZXMgaXRzIENvbnRyaWJ1dGlvbnMpIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLCBpbmNsdWRpbmcsIHdpdGhvdXQgbGltaXRhdGlvbiwgYW55IHdhcnJhbnRpZXMgb3IgY29uZGl0aW9ucyBvZiBUSVRMRSwgTk9OLUlORlJJTkdFTUVOVCwgTUVSQ0hBTlRBQklMSVRZLCBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gWW91IGFyZSBzb2xlbHkgcmVzcG9uc2libGUgZm9yIGRldGVybWluaW5nIHRoZSBhcHByb3ByaWF0ZW5lc3Mgb2YgdXNpbmcgb3IgcmVkaXN0cmlidXRpbmcgdGhlIFdvcmsgYW5kIGFzc3VtZSBhbnkgcmlza3MgYXNzb2NpYXRlZCB3aXRoIFlvdXIgZXhlcmNpc2Ugb2YgcGVybWlzc2lvbnMgdW5kZXIgdGhpcyBMaWNlbnNlLgorICAgOS4gQWNjZXB0aW5nIFdhcnJhbnR5IG9yIEFkZGl0aW9uYWwgTGlhYmlsaXR5LiBXaGlsZSByZWRpc3RyaWJ1dGluZworICAgICAgdGhlIFdvcmsgb3IgRGVyaXZhdGl2ZSBXb3JrcyB0aGVyZW9mLCBZb3UgbWF5IGNob29zZSB0byBvZmZlciwKKyAgICAgIGFuZCBjaGFyZ2UgYSBmZWUgZm9yLCBhY2NlcHRhbmNlIG9mIHN1cHBvcnQsIHdhcnJhbnR5LCBpbmRlbW5pdHksCisgICAgICBvciBvdGhlciBsaWFiaWxpdHkgb2JsaWdhdGlvbnMgYW5kL29yIHJpZ2h0cyBjb25zaXN0ZW50IHdpdGggdGhpcworICAgICAgTGljZW5zZS4gSG93ZXZlciwgaW4gYWNjZXB0aW5nIHN1Y2ggb2JsaWdhdGlvbnMsIFlvdSBtYXkgYWN0IG9ubHkKKyAgICAgIG9uIFlvdXIgb3duIGJlaGFsZiBhbmQgb24gWW91ciBzb2xlIHJlc3BvbnNpYmlsaXR5LCBub3Qgb24gYmVoYWxmCisgICAgICBvZiBhbnkgb3RoZXIgQ29udHJpYnV0b3IsIGFuZCBvbmx5IGlmIFlvdSBhZ3JlZSB0byBpbmRlbW5pZnksCisgICAgICBkZWZlbmQsIGFuZCBob2xkIGVhY2ggQ29udHJpYnV0b3IgaGFybWxlc3MgZm9yIGFueSBsaWFiaWxpdHkKKyAgICAgIGluY3VycmVkIGJ5LCBvciBjbGFpbXMgYXNzZXJ0ZWQgYWdhaW5zdCwgc3VjaCBDb250cmlidXRvciBieSByZWFzb24KKyAgICAgIG9mIHlvdXIgYWNjZXB0aW5nIGFueSBzdWNoIHdhcnJhbnR5IG9yIGFkZGl0aW9uYWwgbGlhYmlsaXR5LgogCi04LiBMaW1pdGF0aW9uIG9mIExpYWJpbGl0eS4KKyAgIEVORCBPRiBURVJNUyBBTkQgQ09ORElUSU9OUwogCi1JbiBubyBldmVudCBhbmQgdW5kZXIgbm8gbGVnYWwgdGhlb3J5LCB3aGV0aGVyIGluIHRvcnQgKGluY2x1ZGluZyBuZWdsaWdlbmNlKSwgY29udHJhY3QsIG9yIG90aGVyd2lzZSwgdW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IChzdWNoIGFzIGRlbGliZXJhdGUgYW5kIGdyb3NzbHkgbmVnbGlnZW50IGFjdHMpIG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzaGFsbCBhbnkgQ29udHJpYnV0b3IgYmUgbGlhYmxlIHRvIFlvdSBmb3IgZGFtYWdlcywgaW5jbHVkaW5nIGFueSBkaXJlY3QsIGluZGlyZWN0LCBzcGVjaWFsLCBpbmNpZGVudGFsLCBvciBjb25zZXF1ZW50aWFsIGRhbWFnZXMgb2YgYW55IGNoYXJhY3RlciBhcmlzaW5nIGFzIGEgcmVzdWx0IG9mIHRoaXMgTGljZW5zZSBvciBvdXQgb2YgdGhlIHVzZSBvciBpbmFiaWxpdHkgdG8gdXNlIHRoZSBXb3JrIChpbmNsdWRpbmcgYnV0IG5vdCBsaW1pdGVkIHRvIGRhbWFnZXMgZm9yIGxvc3Mgb2YgZ29vZHdpbGwsIHdvcmsgc3RvcHBhZ2UsIGNvbXB1dGVyIGZhaWx1cmUgb3IgbWFsZnVuY3Rpb24sIG9yIGFueSBhbmQgYWxsIG90aGVyIGNvbW1lcmNpYWwgZGFtYWdlcyBvciBsb3NzZXMpLCBldmVuIGlmIHN1Y2ggQ29udHJpYnV0b3IgaGFzIGJlZW4gYWR2aXNlZCBvZiB0aGUgcG9zc2liaWxpdHkgb2Ygc3VjaCBkYW1hZ2VzLgorICAgQVBQRU5ESVg6IEhvdyB0byBhcHBseSB0aGUgQXBhY2hlIExpY2Vuc2UgdG8geW91ciB3b3JrLgogCi05LiBBY2NlcHRpbmcgV2FycmFudHkgb3IgQWRkaXRpb25hbCBMaWFiaWxpdHkuCisgICAgICBUbyBhcHBseSB0aGUgQXBhY2hlIExpY2Vuc2UgdG8geW91ciB3b3JrLCBhdHRhY2ggdGhlIGZvbGxvd2luZworICAgICAgYm9pbGVycGxhdGUgbm90aWNlLCB3aXRoIHRoZSBmaWVsZHMgZW5jbG9zZWQgYnkgYnJhY2tldHMgIltdIgorICAgICAgcmVwbGFjZWQgd2l0aCB5b3VyIG93biBpZGVudGlmeWluZyBpbmZvcm1hdGlvbi4gKERvbid0IGluY2x1ZGUKKyAgICAgIHRoZSBicmFja2V0cyEpICBUaGUgdGV4dCBzaG91bGQgYmUgZW5jbG9zZWQgaW4gdGhlIGFwcHJvcHJpYXRlCisgICAgICBjb21tZW50IHN5bnRheCBmb3IgdGhlIGZpbGUgZm9ybWF0LiBXZSBhbHNvIHJlY29tbWVuZCB0aGF0IGEKKyAgICAgIGZpbGUgb3IgY2xhc3MgbmFtZSBhbmQgZGVzY3JpcHRpb24gb2YgcHVycG9zZSBiZSBpbmNsdWRlZCBvbiB0aGUKKyAgICAgIHNhbWUgInByaW50ZWQgcGFnZSIgYXMgdGhlIGNvcHlyaWdodCBub3RpY2UgZm9yIGVhc2llcgorICAgICAgaWRlbnRpZmljYXRpb24gd2l0aGluIHRoaXJkLXBhcnR5IGFyY2hpdmVzLgogCi1XaGlsZSByZWRpc3RyaWJ1dGluZyB0aGUgV29yayBvciBEZXJpdmF0aXZlIFdvcmtzIHRoZXJlb2YsIFlvdSBtYXkgY2hvb3NlIHRvIG9mZmVyLCBhbmQgY2hhcmdlIGEgZmVlIGZvciwgYWNjZXB0YW5jZSBvZiBzdXBwb3J0LCB3YXJyYW50eSwgaW5kZW1uaXR5LCBvciBvdGhlciBsaWFiaWxpdHkgb2JsaWdhdGlvbnMgYW5kL29yIHJpZ2h0cyBjb25zaXN0ZW50IHdpdGggdGhpcyBMaWNlbnNlLiBIb3dldmVyLCBpbiBhY2NlcHRpbmcgc3VjaCBvYmxpZ2F0aW9ucywgWW91IG1heSBhY3Qgb25seSBvbiBZb3VyIG93biBiZWhhbGYgYW5kIG9uIFlvdXIgc29sZSByZXNwb25zaWJpbGl0eSwgbm90IG9uIGJlaGFsZiBvZiBhbnkgb3RoZXIgQ29udHJpYnV0b3IsIGFuZCBvbmx5IGlmIFlvdSBhZ3JlZSB0byBpbmRlbW5pZnksIGRlZmVuZCwgYW5kIGhvbGQgZWFjaCBDb250cmlidXRvciBoYXJtbGVzcyBmb3IgYW55IGxpYWJpbGl0eSBpbmN1cnJlZCBieSwgb3IgY2xhaW1zIGFzc2VydGVkIGFnYWluc3QsIHN1Y2ggQ29udHJpYnV0b3IgYnkgcmVhc29uIG9mIHlvdXIgYWNjZXB0aW5nIGFueSBzdWNoIHdhcnJhbnR5IG9yIGFkZGl0aW9uYWwgbGlhYmlsaXR5LgotCi1FTkQgT0YgVEVSTVMgQU5EIENPTkRJVElPTlMKLQotQVBQRU5ESVg6Ci0KLSAgIENvcHlyaWdodCBbMjAxOV0gW1NUTWljcm9lbGVjdHJvbmljc10KKyAgIENvcHlyaWdodCBbMjAxOV0gW25hbWUgb2YgY29weXJpZ2h0IG93bmVyXQogCiAgICBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgIkxpY2Vuc2UiKTsKICAgIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICAgIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdAogCi0gICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMAorICAgICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMAogCiAgICBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlCiAgICBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiAiQVMgSVMiIEJBU0lTLAogICAgV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuCiAgICBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kCi0gICBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCisgICBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS4KZGlmZiAtLWdpdCBhL1JlbGVhc2VfTm90ZXMuaHRtbCBiL1JlbGVhc2VfTm90ZXMuaHRtbAppbmRleCAwNmQ2MWRiLi5kYWQwNDAwIDEwMDY0NAotLS0gYS9SZWxlYXNlX05vdGVzLmh0bWwKKysrIGIvUmVsZWFzZV9Ob3Rlcy5odG1sCkBAIC0xMSwzNyArMTEsNDAgQEAKICAgICAgIHNwYW4udW5kZXJsaW5le3RleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO30KICAgICAgIGRpdi5jb2x1bW57ZGlzcGxheTogaW5saW5lLWJsb2NrOyB2ZXJ0aWNhbC1hbGlnbjogdG9wOyB3aWR0aDogNTAlO30KICAgPC9zdHlsZT4KLSAgPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSJfaHRtcmVzYy9taW5pLXN0LmNzcyIgLz4KKyAgPHN0eWxlIHR5cGU9InRleHQvY3NzIj5AY2hhcnNldCAiVVRGLTgiOzpyb290IHstLWZvcmUtY29sb3I6ICMwMzIzNGI7LS1zZWNvbmRhcnktZm9yZS1jb2xvcjogIzAzMjM0YjstLWJhY2stY29sb3I6ICNmZmZmZmY7LS1zZWNvbmRhcnktYmFjay1jb2xvcjogI2ZmZmZmZjstLWJsb2NrcXVvdGUtY29sb3I6ICNlNjAwN2U7LS1wcmUtY29sb3I6ICNlNjAwN2U7LS1ib3JkZXItY29sb3I6ICMzY2I0ZTY7LS1zZWNvbmRhcnktYm9yZGVyLWNvbG9yOiAjM2NiNGU2Oy0taGVhZGluZy1yYXRpbzogMS4yOy0tdW5pdmVyc2FsLW1hcmdpbjogMC41cmVtOy0tdW5pdmVyc2FsLXBhZGRpbmc6IDAuMjVyZW07LS11bml2ZXJzYWwtYm9yZGVyLXJhZGl1czogMC4wNzVyZW07LS1iYWNrZ3JvdW5kLW1hcmdpbjogMS41JTstLWEtbGluay1jb2xvcjogIzNjYjRlNjstLWEtdmlzaXRlZC1jb2xvcjogIzhjMDA3ODsgfWh0bWwge2ZvbnQtc2l6ZTogMTMuNXB4OyB9YSwgYiwgZGVsLCBlbSwgaSwgaW5zLCBxLCBzcGFuLCBzdHJvbmcsIHUge2ZvbnQtc2l6ZTogMWVtOyB9aHRtbCwgKiB7Zm9udC1mYW1pbHk6IC1hcHBsZS1zeXN0ZW0sIEJsaW5rTWFjU3lzdGVtRm9udCwgSGVsdmV0aWNhLCBhcmlhbCwgc2Fucy1zZXJpZjtsaW5lLWhlaWdodDogMS4yNTstd2Via2l0LXRleHQtc2l6ZS1hZGp1c3Q6IDEwMCU7IH0qIHtmb250LXNpemU6IDFyZW07IH1ib2R5IHttYXJnaW46IDA7Y29sb3I6IHZhcigtLWZvcmUtY29sb3IpO0BiYWNrZ3JvdW5kOiB2YXIoLS1iYWNrLWNvbG9yKTtiYWNrZ3JvdW5kOiB2YXIoLS1iYWNrLWNvbG9yKSBsaW5lYXItZ3JhZGllbnQoI2ZmZDIwMCwgI2ZmZDIwMCkgcmVwZWF0LXkgbGVmdCB0b3A7YmFja2dyb3VuZC1zaXplOiB2YXIoLS1iYWNrZ3JvdW5kLW1hcmdpbik7fWRldGFpbHMge2Rpc3BsYXk6IGJsb2NrOyB9c3VtbWFyeSB7ZGlzcGxheTogbGlzdC1pdGVtOyB9YWJiclt0aXRsZV0ge2JvcmRlci1ib3R0b206IG5vbmU7dGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmUgZG90dGVkOyB9aW5wdXQge292ZXJmbG93OiB2aXNpYmxlOyB9aW1nIHttYXgtd2lkdGg6IDEwMCU7aGVpZ2h0OiBhdXRvOyB9aDEsIGgyLCBoMywgaDQsIGg1LCBoNiB7bGluZS1oZWlnaHQ6IDEuMjU7bWFyZ2luOiBjYWxjKDEuNSAqIHZhcigtLXVuaXZlcnNhbC1tYXJnaW4pKSB2YXIoLS11bml2ZXJzYWwtbWFyZ2luKTtmb250LXdlaWdodDogNDAwOyB9aDEgc21hbGwsIGgyIHNtYWxsLCBoMyBzbWFsbCwgaDQgc21hbGwsIGg1IHNtYWxsLCBoNiBzbWFsbCB7Y29sb3I6IHZhcigtLXNlY29uZGFyeS1mb3JlLWNvbG9yKTtkaXNwbGF5OiBibG9jazttYXJnaW4tdG9wOiAtMC4yNXJlbTsgfWgxIHtmb250LXNpemU6IGNhbGMoMXJlbSAqIHZhcigtLWhlYWRpbmctcmF0aW8pICogdmFyKC0taGVhZGluZy1yYXRpbykgKiB2YXIoLS1oZWFkaW5nLXJhdGlvKSk7IH1oMiB7Zm9udC1zaXplOiBjYWxjKDFyZW0gKiB2YXIoLS1oZWFkaW5nLXJhdGlvKSAqIHZhcigtLWhlYWRpbmctcmF0aW8pICk7Ym9yZGVyLXN0eWxlOiBub25lIG5vbmUgc29saWQgbm9uZSA7IGJvcmRlci13aWR0aDogdGhpbjtib3JkZXItY29sb3I6IHZhcigtLWJvcmRlci1jb2xvcik7IH1oMyB7Zm9udC1zaXplOiBjYWxjKDFyZW0gKiB2YXIoLS1oZWFkaW5nLXJhdGlvKSApOyB9aDQge2ZvbnQtc2l6ZTogY2FsYygxcmVtICogdmFyKC0taGVhZGluZy1yYXRpbykpOyB9aDUge2ZvbnQtc2l6ZTogMXJlbTsgfWg2IHtmb250LXNpemU6IGNhbGMoMXJlbSAvIHZhcigtLWhlYWRpbmctcmF0aW8pKTsgfXAge21hcmdpbjogdmFyKC0tdW5pdmVyc2FsLW1hcmdpbik7IH1vbCwgdWwge21hcmdpbjogdmFyKC0tdW5pdmVyc2FsLW1hcmdpbik7cGFkZGluZy1sZWZ0OiBjYWxjKDMgKiB2YXIoLS11bml2ZXJzYWwtbWFyZ2luKSk7IH1iLCBzdHJvbmcge2ZvbnQtd2VpZ2h0OiA3MDA7IH1ociB7Ym94LXNpemluZzogY29udGVudC1ib3g7Ym9yZGVyOiAwO2xpbmUtaGVpZ2h0OiAxLjI1ZW07bWFyZ2luOiB2YXIoLS11bml2ZXJzYWwtbWFyZ2luKTtoZWlnaHQ6IDAuMDcxNDI4NTcxNHJlbTtiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodG8gcmlnaHQsIHRyYW5zcGFyZW50LCB2YXIoLS1ib3JkZXItY29sb3IpIDIwJSwgdmFyKC0tYm9yZGVyLWNvbG9yKSA4MCUsIHRyYW5zcGFyZW50KTsgfWJsb2NrcXVvdGUge2Rpc3BsYXk6IGJsb2NrO3Bvc2l0aW9uOiByZWxhdGl2ZTtmb250LXN0eWxlOiBpdGFsaWM7Y29sb3I6IHZhcigtLXNlY29uZGFyeS1mb3JlLWNvbG9yKTttYXJnaW46IHZhcigtLXVuaXZlcnNhbC1tYXJnaW4pO3BhZGRpbmc6IGNhbGMoMyAqIHZhcigtLXVuaXZlcnNhbC1wYWRkaW5nKSk7Ym9yZGVyOiAwLjA3MTQyODU3MTRyZW0gc29saWQgdmFyKC0tc2Vjb25kYXJ5LWJvcmRlci1jb2xvcik7Ym9yZGVyLWxlZnQ6IDAuM3JlbSBzb2xpZCB2YXIoLS1ibG9ja3F1b3RlLWNvbG9yKTtib3JkZXItcmFkaXVzOiAwIHZhcigtLXVuaXZlcnNhbC1ib3JkZXItcmFkaXVzKSB2YXIoLS11bml2ZXJzYWwtYm9yZGVyLXJhZGl1cykgMDsgfWJsb2NrcXVvdGU6YmVmb3JlIHtwb3NpdGlvbjogYWJzb2x1dGU7dG9wOiBjYWxjKDByZW0gLSB2YXIoLS11bml2ZXJzYWwtcGFkZGluZykpO2xlZnQ6IDA7Zm9udC1mYW1pbHk6IHNhbnMtc2VyaWY7Zm9udC1zaXplOiAycmVtO2ZvbnQtd2VpZ2h0OiA4MDA7Y29udGVudDogIlwyMDFjIjtjb2xvcjogdmFyKC0tYmxvY2txdW90ZS1jb2xvcik7IH1ibG9ja3F1b3RlW2NpdGVdOmFmdGVyIHtmb250LXN0eWxlOiBub3JtYWw7Zm9udC1zaXplOiAwLjc1ZW07Zm9udC13ZWlnaHQ6IDcwMDtjb250ZW50OiAiXGHigJQgIiBhdHRyKGNpdGUpO3doaXRlLXNwYWNlOiBwcmU7IH1jb2RlLCBrYmQsIHByZSwgc2FtcCB7Zm9udC1mYW1pbHk6IE1lbmxvLCBDb25zb2xhcywgbW9ub3NwYWNlO2ZvbnQtc2l6ZTogMC44NWVtOyB9Y29kZSB7YmFja2dyb3VuZDogdmFyKC0tc2Vjb25kYXJ5LWJhY2stY29sb3IpO2JvcmRlci1yYWRpdXM6IHZhcigtLXVuaXZlcnNhbC1ib3JkZXItcmFkaXVzKTtwYWRkaW5nOiBjYWxjKHZhcigtLXVuaXZlcnNhbC1wYWRkaW5nKSAvIDQpIGNhbGModmFyKC0tdW5pdmVyc2FsLXBhZGRpbmcpIC8gMik7IH1rYmQge2JhY2tncm91bmQ6IHZhcigtLWZvcmUtY29sb3IpO2NvbG9yOiB2YXIoLS1iYWNrLWNvbG9yKTtib3JkZXItcmFkaXVzOiB2YXIoLS11bml2ZXJzYWwtYm9yZGVyLXJhZGl1cyk7cGFkZGluZzogY2FsYyh2YXIoLS11bml2ZXJzYWwtcGFkZGluZykgLyA0KSBjYWxjKHZhcigtLXVuaXZlcnNhbC1wYWRkaW5nKSAvIDIpOyB9cHJlIHtvdmVyZmxvdzogYXV0bztiYWNrZ3JvdW5kOiB2YXIoLS1zZWNvbmRhcnktYmFjay1jb2xvcik7cGFkZGluZzogY2FsYygxLjUgKiB2YXIoLS11bml2ZXJzYWwtcGFkZGluZykpO21hcmdpbjogdmFyKC0tdW5pdmVyc2FsLW1hcmdpbik7Ym9yZGVyOiAwLjA3MTQyODU3MTRyZW0gc29saWQgdmFyKC0tc2Vjb25kYXJ5LWJvcmRlci1jb2xvcik7Ym9yZGVyLWxlZnQ6IDAuMjg1NzE0Mjg1N3JlbSBzb2xpZCB2YXIoLS1wcmUtY29sb3IpO2JvcmRlci1yYWRpdXM6IDAgdmFyKC0tdW5pdmVyc2FsLWJvcmRlci1yYWRpdXMpIHZhcigtLXVuaXZlcnNhbC1ib3JkZXItcmFkaXVzKSAwOyB9c3VwLCBzdWIsIGNvZGUsIGtiZCB7bGluZS1oZWlnaHQ6IDA7cG9zaXRpb246IHJlbGF0aXZlO3ZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTsgfXNtYWxsLCBzdXAsIHN1YiwgZmlnY2FwdGlvbiB7Zm9udC1zaXplOiAwLjc1ZW07IH1zdXAge3RvcDogLTAuNWVtOyB9c3ViIHtib3R0b206IC0wLjI1ZW07IH1maWd1cmUge21hcmdpbjogdmFyKC0tdW5pdmVyc2FsLW1hcmdpbik7IH1maWdjYXB0aW9uIHtjb2xvcjogdmFyKC0tc2Vjb25kYXJ5LWZvcmUtY29sb3IpOyB9YSB7dGV4dC1kZWNvcmF0aW9uOiBub25lOyB9YTpsaW5rIHtjb2xvcjogdmFyKC0tYS1saW5rLWNvbG9yKTsgfWE6dmlzaXRlZCB7Y29sb3I6IHZhcigtLWEtdmlzaXRlZC1jb2xvcik7IH1hOmhvdmVyLCBhOmZvY3VzIHt0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsgfS5jb250YWluZXIge21hcmdpbjogMCBhdXRvO3BhZGRpbmc6IDAgY2FsYygxLjUgKiB2YXIoLS11bml2ZXJzYWwtcGFkZGluZykpOyB9LnJvdyB7Ym94LXNpemluZzogYm9yZGVyLWJveDtkaXNwbGF5OiBmbGV4O2ZsZXg6IDAgMSBhdXRvO2ZsZXgtZmxvdzogcm93IHdyYXA7bWFyZ2luOiAwIDAgMCB2YXIoLS1iYWNrZ3JvdW5kLW1hcmdpbik7IH0uY29sLXNtLFtjbGFzc149J2NvbC1zbS0nXSxbY2xhc3NePSdjb2wtc20tb2Zmc2V0LSddLC5yb3dbY2xhc3MqPSdjb2xzLXNtLSddID4gKiB7Ym94LXNpemluZzogYm9yZGVyLWJveDtmbGV4OiAwIDAgYXV0bztwYWRkaW5nOiAwIGNhbGModmFyKC0tdW5pdmVyc2FsLXBhZGRpbmcpIC8gMik7IH0uY29sLXNtLC5yb3cuY29scy1zbSA+ICoge21heC13aWR0aDogMTAwJTtmbGV4LWdyb3c6IDE7ZmxleC1iYXNpczogMDsgfS5jb2wtc20tMSwucm93LmNvbHMtc20tMSA+ICoge21heC13aWR0aDogOC4zMzMzMzMzMzMzJTtmbGV4LWJhc2lzOiA4LjMzMzMzMzMzMzMlOyB9LmNvbC1zbS1vZmZzZXQtMCB7bWFyZ2luLWxlZnQ6IDA7IH0uY29sLXNtLTIsLnJvdy5jb2xzLXNtLTIgPiAqIHttYXgtd2lkdGg6IDE2LjY2NjY2NjY2NjclO2ZsZXgtYmFzaXM6IDE2LjY2NjY2NjY2NjclOyB9LmNvbC1zbS1vZmZzZXQtMSB7bWFyZ2luLWxlZnQ6IDguMzMzMzMzMzMzMyU7IH0uY29sLXNtLTMsLnJvdy5jb2xzLXNtLTMgPiAqIHttYXgtd2lkdGg6IDI1JTtmbGV4LWJhc2lzOiAyNSU7IH0uY29sLXNtLW9mZnNldC0yIHttYXJnaW4tbGVmdDogMTYuNjY2NjY2NjY2NyU7IH0uY29sLXNtLTQsLnJvdy5jb2xzLXNtLTQgPiAqIHttYXgtd2lkdGg6IDMzLjMzMzMzMzMzMzMlO2ZsZXgtYmFzaXM6IDMzLjMzMzMzMzMzMzMlOyB9LmNvbC1zbS1vZmZzZXQtMyB7bWFyZ2luLWxlZnQ6IDI1JTsgfS5jb2wtc20tNSwucm93LmNvbHMtc20tNSA+ICoge21heC13aWR0aDogNDEuNjY2NjY2NjY2NyU7ZmxleC1iYXNpczogNDEuNjY2NjY2NjY2NyU7IH0uY29sLXNtLW9mZnNldC00IHttYXJnaW4tbGVmdDogMzMuMzMzMzMzMzMzMyU7IH0uY29sLXNtLTYsLnJvdy5jb2xzLXNtLTYgPiAqIHttYXgtd2lkdGg6IDUwJTtmbGV4LWJhc2lzOiA1MCU7IH0uY29sLXNtLW9mZnNldC01IHttYXJnaW4tbGVmdDogNDEuNjY2NjY2NjY2NyU7IH0uY29sLXNtLTcsLnJvdy5jb2xzLXNtLTcgPiAqIHttYXgtd2lkdGg6IDU4LjMzMzMzMzMzMzMlO2ZsZXgtYmFzaXM6IDU4LjMzMzMzMzMzMzMlOyB9LmNvbC1zbS1vZmZzZXQtNiB7bWFyZ2luLWxlZnQ6IDUwJTsgfS5jb2wtc20tOCwucm93LmNvbHMtc20tOCA+ICoge21heC13aWR0aDogNjYuNjY2NjY2NjY2NyU7ZmxleC1iYXNpczogNjYuNjY2NjY2NjY2NyU7IH0uY29sLXNtLW9mZnNldC03IHttYXJnaW4tbGVmdDogNTguMzMzMzMzMzMzMyU7IH0uY29sLXNtLTksLnJvdy5jb2xzLXNtLTkgPiAqIHttYXgtd2lkdGg6IDc1JTtmbGV4LWJhc2lzOiA3NSU7IH0uY29sLXNtLW9mZnNldC04IHttYXJnaW4tbGVmdDogNjYuNjY2NjY2NjY2NyU7IH0uY29sLXNtLTEwLC5yb3cuY29scy1zbS0xMCA+ICoge21heC13aWR0aDogODMuMzMzMzMzMzMzMyU7ZmxleC1iYXNpczogODMuMzMzMzMzMzMzMyU7IH0uY29sLXNtLW9mZnNldC05IHttYXJnaW4tbGVmdDogNzUlOyB9LmNvbC1zbS0xMSwucm93LmNvbHMtc20tMTEgPiAqIHttYXgtd2lkdGg6IDkxLjY2NjY2NjY2NjclO2ZsZXgtYmFzaXM6IDkxLjY2NjY2NjY2NjclOyB9LmNvbC1zbS1vZmZzZXQtMTAge21hcmdpbi1sZWZ0OiA4My4zMzMzMzMzMzMzJTsgfS5jb2wtc20tMTIsLnJvdy5jb2xzLXNtLTEyID4gKiB7bWF4LXdpZHRoOiAxMDAlO2ZsZXgtYmFzaXM6IDEwMCU7IH0uY29sLXNtLW9mZnNldC0xMSB7bWFyZ2luLWxlZnQ6IDkxLjY2NjY2NjY2NjclOyB9LmNvbC1zbS1ub3JtYWwge29yZGVyOiBpbml0aWFsOyB9LmNvbC1zbS1maXJzdCB7b3JkZXI6IC05OTk7IH0uY29sLXNtLWxhc3Qge29yZGVyOiA5OTk7IH1AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA1MDBweCkgey5jb2wtbWQsW2NsYXNzXj0nY29sLW1kLSddLFtjbGFzc149J2NvbC1tZC1vZmZzZXQtJ10sLnJvd1tjbGFzcyo9J2NvbHMtbWQtJ10gPiAqIHtib3gtc2l6aW5nOiBib3JkZXItYm94O2ZsZXg6IDAgMCBhdXRvO3BhZGRpbmc6IDAgY2FsYyh2YXIoLS11bml2ZXJzYWwtcGFkZGluZykgLyAyKTsgfS5jb2wtbWQsLnJvdy5jb2xzLW1kID4gKiB7bWF4LXdpZHRoOiAxMDAlO2ZsZXgtZ3JvdzogMTtmbGV4LWJhc2lzOiAwOyB9LmNvbC1tZC0xLC5yb3cuY29scy1tZC0xID4gKiB7bWF4LXdpZHRoOiA4LjMzMzMzMzMzMzMlO2ZsZXgtYmFzaXM6IDguMzMzMzMzMzMzMyU7IH0uY29sLW1kLW9mZnNldC0wIHttYXJnaW4tbGVmdDogMDsgfS5jb2wtbWQtMiwucm93LmNvbHMtbWQtMiA+ICoge21heC13aWR0aDogMTYuNjY2NjY2NjY2NyU7ZmxleC1iYXNpczogMTYuNjY2NjY2NjY2NyU7IH0uY29sLW1kLW9mZnNldC0xIHttYXJnaW4tbGVmdDogOC4zMzMzMzMzMzMzJTsgfS5jb2wtbWQtMywucm93LmNvbHMtbWQtMyA+ICoge21heC13aWR0aDogMjUlO2ZsZXgtYmFzaXM6IDI1JTsgfS5jb2wtbWQtb2Zmc2V0LTIge21hcmdpbi1sZWZ0OiAxNi42NjY2NjY2NjY3JTsgfS5jb2wtbWQtNCwucm93LmNvbHMtbWQtNCA+ICoge21heC13aWR0aDogMzMuMzMzMzMzMzMzMyU7ZmxleC1iYXNpczogMzMuMzMzMzMzMzMzMyU7IH0uY29sLW1kLW9mZnNldC0zIHttYXJnaW4tbGVmdDogMjUlOyB9LmNvbC1tZC01LC5yb3cuY29scy1tZC01ID4gKiB7bWF4LXdpZHRoOiA0MS42NjY2NjY2NjY3JTtmbGV4LWJhc2lzOiA0MS42NjY2NjY2NjY3JTsgfS5jb2wtbWQtb2Zmc2V0LTQge21hcmdpbi1sZWZ0OiAzMy4zMzMzMzMzMzMzJTsgfS5jb2wtbWQtNiwucm93LmNvbHMtbWQtNiA+ICoge21heC13aWR0aDogNTAlO2ZsZXgtYmFzaXM6IDUwJTsgfS5jb2wtbWQtb2Zmc2V0LTUge21hcmdpbi1sZWZ0OiA0MS42NjY2NjY2NjY3JTsgfS5jb2wtbWQtNywucm93LmNvbHMtbWQtNyA+ICoge21heC13aWR0aDogNTguMzMzMzMzMzMzMyU7ZmxleC1iYXNpczogNTguMzMzMzMzMzMzMyU7IH0uY29sLW1kLW9mZnNldC02IHttYXJnaW4tbGVmdDogNTAlOyB9LmNvbC1tZC04LC5yb3cuY29scy1tZC04ID4gKiB7bWF4LXdpZHRoOiA2Ni42NjY2NjY2NjY3JTtmbGV4LWJhc2lzOiA2Ni42NjY2NjY2NjY3JTsgfS5jb2wtbWQtb2Zmc2V0LTcge21hcmdpbi1sZWZ0OiA1OC4zMzMzMzMzMzMzJTsgfS5jb2wtbWQtOSwucm93LmNvbHMtbWQtOSA+ICoge21heC13aWR0aDogNzUlO2ZsZXgtYmFzaXM6IDc1JTsgfS5jb2wtbWQtb2Zmc2V0LTgge21hcmdpbi1sZWZ0OiA2Ni42NjY2NjY2NjY3JTsgfS5jb2wtbWQtMTAsLnJvdy5jb2xzLW1kLTEwID4gKiB7bWF4LXdpZHRoOiA4My4zMzMzMzMzMzMzJTtmbGV4LWJhc2lzOiA4My4zMzMzMzMzMzMzJTsgfS5jb2wtbWQtb2Zmc2V0LTkge21hcmdpbi1sZWZ0OiA3NSU7IH0uY29sLW1kLTExLC5yb3cuY29scy1tZC0xMSA+ICoge21heC13aWR0aDogOTEuNjY2NjY2NjY2NyU7ZmxleC1iYXNpczogOTEuNjY2NjY2NjY2NyU7IH0uY29sLW1kLW9mZnNldC0xMCB7bWFyZ2luLWxlZnQ6IDgzLjMzMzMzMzMzMzMlOyB9LmNvbC1tZC0xMiwucm93LmNvbHMtbWQtMTIgPiAqIHttYXgtd2lkdGg6IDEwMCU7ZmxleC1iYXNpczogMTAwJTsgfS5jb2wtbWQtb2Zmc2V0LTExIHttYXJnaW4tbGVmdDogOTEuNjY2NjY2NjY2NyU7IH0uY29sLW1kLW5vcm1hbCB7b3JkZXI6IGluaXRpYWw7IH0uY29sLW1kLWZpcnN0IHtvcmRlcjogLTk5OTsgfS5jb2wtbWQtbGFzdCB7b3JkZXI6IDk5OTsgfSB9QG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTI4MHB4KSB7LmNvbC1sZyxbY2xhc3NePSdjb2wtbGctJ10sW2NsYXNzXj0nY29sLWxnLW9mZnNldC0nXSwucm93W2NsYXNzKj0nY29scy1sZy0nXSA+ICoge2JveC1zaXppbmc6IGJvcmRlci1ib3g7ZmxleDogMCAwIGF1dG87cGFkZGluZzogMCBjYWxjKHZhcigtLXVuaXZlcnNhbC1wYWRkaW5nKSAvIDIpOyB9LmNvbC1sZywucm93LmNvbHMtbGcgPiAqIHttYXgtd2lkdGg6IDEwMCU7ZmxleC1ncm93OiAxO2ZsZXgtYmFzaXM6IDA7IH0uY29sLWxnLTEsLnJvdy5jb2xzLWxnLTEgPiAqIHttYXgtd2lkdGg6IDguMzMzMzMzMzMzMyU7ZmxleC1iYXNpczogOC4zMzMzMzMzMzMzJTsgfS5jb2wtbGctb2Zmc2V0LTAge21hcmdpbi1sZWZ0OiAwOyB9LmNvbC1sZy0yLC5yb3cuY29scy1sZy0yID4gKiB7bWF4LXdpZHRoOiAxNi42NjY2NjY2NjY3JTtmbGV4LWJhc2lzOiAxNi42NjY2NjY2NjY3JTsgfS5jb2wtbGctb2Zmc2V0LTEge21hcmdpbi1sZWZ0OiA4LjMzMzMzMzMzMzMlOyB9LmNvbC1sZy0zLC5yb3cuY29scy1sZy0zID4gKiB7bWF4LXdpZHRoOiAyNSU7ZmxleC1iYXNpczogMjUlOyB9LmNvbC1sZy1vZmZzZXQtMiB7bWFyZ2luLWxlZnQ6IDE2LjY2NjY2NjY2NjclOyB9LmNvbC1sZy00LC5yb3cuY29scy1sZy00ID4gKiB7bWF4LXdpZHRoOiAzMy4zMzMzMzMzMzMzJTtmbGV4LWJhc2lzOiAzMy4zMzMzMzMzMzMzJTsgfS5jb2wtbGctb2Zmc2V0LTMge21hcmdpbi1sZWZ0OiAyNSU7IH0uY29sLWxnLTUsLnJvdy5jb2xzLWxnLTUgPiAqIHttYXgtd2lkdGg6IDQxLjY2NjY2NjY2NjclO2ZsZXgtYmFzaXM6IDQxLjY2NjY2NjY2NjclOyB9LmNvbC1sZy1vZmZzZXQtNCB7bWFyZ2luLWxlZnQ6IDMzLjMzMzMzMzMzMzMlOyB9LmNvbC1sZy02LC5yb3cuY29scy1sZy02ID4gKiB7bWF4LXdpZHRoOiA1MCU7ZmxleC1iYXNpczogNTAlOyB9LmNvbC1sZy1vZmZzZXQtNSB7bWFyZ2luLWxlZnQ6IDQxLjY2NjY2NjY2NjclOyB9LmNvbC1sZy03LC5yb3cuY29scy1sZy03ID4gKiB7bWF4LXdpZHRoOiA1OC4zMzMzMzMzMzMzJTtmbGV4LWJhc2lzOiA1OC4zMzMzMzMzMzMzJTsgfS5jb2wtbGctb2Zmc2V0LTYge21hcmdpbi1sZWZ0OiA1MCU7IH0uY29sLWxnLTgsLnJvdy5jb2xzLWxnLTggPiAqIHttYXgtd2lkdGg6IDY2LjY2NjY2NjY2NjclO2ZsZXgtYmFzaXM6IDY2LjY2NjY2NjY2NjclOyB9LmNvbC1sZy1vZmZzZXQtNyB7bWFyZ2luLWxlZnQ6IDU4LjMzMzMzMzMzMzMlOyB9LmNvbC1sZy05LC5yb3cuY29scy1sZy05ID4gKiB7bWF4LXdpZHRoOiA3NSU7ZmxleC1iYXNpczogNzUlOyB9LmNvbC1sZy1vZmZzZXQtOCB7bWFyZ2luLWxlZnQ6IDY2LjY2NjY2NjY2NjclOyB9LmNvbC1sZy0xMCwucm93LmNvbHMtbGctMTAgPiAqIHttYXgtd2lkdGg6IDgzLjMzMzMzMzMzMzMlO2ZsZXgtYmFzaXM6IDgzLjMzMzMzMzMzMzMlOyB9LmNvbC1sZy1vZmZzZXQtOSB7bWFyZ2luLWxlZnQ6IDc1JTsgfS5jb2wtbGctMTEsLnJvdy5jb2xzLWxnLTExID4gKiB7bWF4LXdpZHRoOiA5MS42NjY2NjY2NjY3JTtmbGV4LWJhc2lzOiA5MS42NjY2NjY2NjY3JTsgfS5jb2wtbGctb2Zmc2V0LTEwIHttYXJnaW4tbGVmdDogODMuMzMzMzMzMzMzMyU7IH0uY29sLWxnLTEyLC5yb3cuY29scy1sZy0xMiA+ICoge21heC13aWR0aDogMTAwJTtmbGV4LWJhc2lzOiAxMDAlOyB9LmNvbC1sZy1vZmZzZXQtMTEge21hcmdpbi1sZWZ0OiA5MS42NjY2NjY2NjY3JTsgfS5jb2wtbGctbm9ybWFsIHtvcmRlcjogaW5pdGlhbDsgfS5jb2wtbGctZmlyc3Qge29yZGVyOiAtOTk5OyB9LmNvbC1sZy1sYXN0IHtvcmRlcjogOTk5OyB9IH06cm9vdCB7LS1jYXJkLWJhY2stY29sb3I6ICMzY2I0ZTY7LS1jYXJkLWZvcmUtY29sb3I6ICMwMzIzNGI7LS1jYXJkLWJvcmRlci1jb2xvcjogIzAzMjM0YjsgfS5jYXJkIHtkaXNwbGF5OiBmbGV4O2ZsZXgtZGlyZWN0aW9uOiBjb2x1bW47anVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO2FsaWduLXNlbGY6IGNlbnRlcjtwb3NpdGlvbjogcmVsYXRpdmU7d2lkdGg6IDEwMCU7YmFja2dyb3VuZDogdmFyKC0tY2FyZC1iYWNrLWNvbG9yKTtjb2xvcjogdmFyKC0tY2FyZC1mb3JlLWNvbG9yKTtib3JkZXI6IDAuMDcxNDI4NTcxNHJlbSBzb2xpZCB2YXIoLS1jYXJkLWJvcmRlci1jb2xvcik7Ym9yZGVyLXJhZGl1czogdmFyKC0tdW5pdmVyc2FsLWJvcmRlci1yYWRpdXMpO21hcmdpbjogdmFyKC0tdW5pdmVyc2FsLW1hcmdpbik7b3ZlcmZsb3c6IGhpZGRlbjsgfUBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDMyMHB4KSB7LmNhcmQge21heC13aWR0aDogMzIwcHg7IH0gfS5jYXJkID4gLnNlY3Rpb25lIHtiYWNrZ3JvdW5kOiB2YXIoLS1jYXJkLWJhY2stY29sb3IpO2NvbG9yOiB2YXIoLS1jYXJkLWZvcmUtY29sb3IpO2JveC1zaXppbmc6IGJvcmRlci1ib3g7bWFyZ2luOiAwO2JvcmRlcjogMDtib3JkZXItcmFkaXVzOiAwO2JvcmRlci1ib3R0b206IDAuMDcxNDI4NTcxNHJlbSBzb2xpZCB2YXIoLS1jYXJkLWJvcmRlci1jb2xvcik7cGFkZGluZzogdmFyKC0tdW5pdmVyc2FsLXBhZGRpbmcpO3dpZHRoOiAxMDAlOyB9LmNhcmQgPiAuc2VjdGlvbmUubWVkaWEge2hlaWdodDogMjAwcHg7cGFkZGluZzogMDstby1vYmplY3QtZml0OiBjb3ZlcjtvYmplY3QtZml0OiBjb3ZlcjsgfS5jYXJkID4gLnNlY3Rpb25lOmxhc3QtY2hpbGQge2JvcmRlci1ib3R0b206IDA7IH1AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAyNDBweCkgey5jYXJkLnNtYWxsIHttYXgtd2lkdGg6IDI0MHB4OyB9IH1AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0ODBweCkgey5jYXJkLmxhcmdlIHttYXgtd2lkdGg6IDQ4MHB4OyB9IH0uY2FyZC5mbHVpZCB7bWF4LXdpZHRoOiAxMDAlO3dpZHRoOiBhdXRvOyB9LmNhcmQud2FybmluZyB7LS1jYXJkLWJhY2stY29sb3I6ICNlNWI4Yjc7LS1jYXJkLWZvcmUtY29sb3I6ICMzYjIzNGI7LS1jYXJkLWJvcmRlci1jb2xvcjogIzhjMDA3ODsgfS5jYXJkLmVycm9yIHstLWNhcmQtYmFjay1jb2xvcjogIzQ2NDY1MDstLWNhcmQtZm9yZS1jb2xvcjogI2ZmZmZmZjstLWNhcmQtYm9yZGVyLWNvbG9yOiAjOGMwMDc4OyB9LmNhcmQgPiAuc2VjdGlvbmUuZGFyayB7LS1jYXJkLWJhY2stY29sb3I6ICMzYjIzNGI7LS1jYXJkLWZvcmUtY29sb3I6ICNmZmZmZmY7IH0uY2FyZCA+IC5zZWN0aW9uZS5kb3VibGUtcGFkZGVkIHtwYWRkaW5nOiBjYWxjKDEuNSAqIHZhcigtLXVuaXZlcnNhbC1wYWRkaW5nKSk7IH06cm9vdCB7LS1mb3JtLWJhY2stY29sb3I6ICNmZmU5N2Y7LS1mb3JtLWZvcmUtY29sb3I6ICMwMzIzNGI7LS1mb3JtLWJvcmRlci1jb2xvcjogIzNjYjRlNjstLWlucHV0LWJhY2stY29sb3I6ICNmZmZmZmY7LS1pbnB1dC1mb3JlLWNvbG9yOiAjMDMyMzRiOy0taW5wdXQtYm9yZGVyLWNvbG9yOiAjM2NiNGU2Oy0taW5wdXQtZm9jdXMtY29sb3I6ICMwMjg4ZDE7LS1pbnB1dC1pbnZhbGlkLWNvbG9yOiAjZDMyZjJmOy0tYnV0dG9uLWJhY2stY29sb3I6ICNlMmUyZTI7LS1idXR0b24taG92ZXItYmFjay1jb2xvcjogI2RjZGNkYzstLWJ1dHRvbi1mb3JlLWNvbG9yOiAjMjEyMTIxOy0tYnV0dG9uLWJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7LS1idXR0b24taG92ZXItYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDstLWJ1dHRvbi1ncm91cC1ib3JkZXItY29sb3I6IHJnYmEoMTI0LCAxMjQsIDEyNCwgMC41NCk7IH1mb3JtIHtiYWNrZ3JvdW5kOiB2YXIoLS1mb3JtLWJhY2stY29sb3IpO2NvbG9yOiB2YXIoLS1mb3JtLWZvcmUtY29sb3IpO2JvcmRlcjogMC4wNzE0Mjg1NzE0cmVtIHNvbGlkIHZhcigtLWZvcm0tYm9yZGVyLWNvbG9yKTtib3JkZXItcmFkaXVzOiB2YXIoLS11bml2ZXJzYWwtYm9yZGVyLXJhZGl1cyk7bWFyZ2luOiB2YXIoLS11bml2ZXJzYWwtbWFyZ2luKTtwYWRkaW5nOiBjYWxjKDIgKiB2YXIoLS11bml2ZXJzYWwtcGFkZGluZykpIHZhcigtLXVuaXZlcnNhbC1wYWRkaW5nKTsgfWZpZWxkc2V0IHtib3JkZXI6IDAuMDcxNDI4NTcxNHJlbSBzb2xpZCB2YXIoLS1mb3JtLWJvcmRlci1jb2xvcik7Ym9yZGVyLXJhZGl1czogdmFyKC0tdW5pdmVyc2FsLWJvcmRlci1yYWRpdXMpO21hcmdpbjogY2FsYyh2YXIoLS11bml2ZXJzYWwtbWFyZ2luKSAvIDQpO3BhZGRpbmc6IHZhcigtLXVuaXZlcnNhbC1wYWRkaW5nKTsgfWxlZ2VuZCB7Ym94LXNpemluZzogYm9yZGVyLWJveDtkaXNwbGF5OiB0YWJsZTttYXgtd2lkdGg6IDEwMCU7d2hpdGUtc3BhY2U6IG5vcm1hbDtmb250LXdlaWdodDogNTAwO3BhZGRpbmc6IGNhbGModmFyKC0tdW5pdmVyc2FsLXBhZGRpbmcpIC8gMik7IH1sYWJlbCB7cGFkZGluZzogY2FsYyh2YXIoLS11bml2ZXJzYWwtcGFkZGluZykgLyAyKSB2YXIoLS11bml2ZXJzYWwtcGFkZGluZyk7IH0uaW5wdXQtZ3JvdXAge2Rpc3BsYXk6IGlubGluZS1ibG9jazsgfS5pbnB1dC1ncm91cC5mbHVpZCB7ZGlzcGxheTogZmxleDthbGlnbi1pdGVtczogY2VudGVyO2p1c3RpZnktY29udGVudDogY2VudGVyOyB9LmlucHV0LWdyb3VwLmZsdWlkID4gaW5wdXQge21heC13aWR0aDogMTAwJTtmbGV4LWdyb3c6IDE7ZmxleC1iYXNpczogMHB4OyB9QG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDk5cHgpIHsuaW5wdXQtZ3JvdXAuZmx1aWQge2FsaWduLWl0ZW1zOiBzdHJldGNoO2ZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IH0gfS5pbnB1dC1ncm91cC52ZXJ0aWNhbCB7ZGlzcGxheTogZmxleDthbGlnbi1pdGVtczogc3RyZXRjaDtmbGV4LWRpcmVjdGlvbjogY29sdW1uOyB9LmlucHV0LWdyb3VwLnZlcnRpY2FsID4gaW5wdXQge21heC13aWR0aDogMTAwJTtmbGV4LWdyb3c6IDE7ZmxleC1iYXNpczogMHB4OyB9W3R5cGU9Im51bWJlciJdOjotd2Via2l0LWlubmVyLXNwaW4tYnV0dG9uLCBbdHlwZT0ibnVtYmVyIl06Oi13ZWJraXQtb3V0ZXItc3Bpbi1idXR0b24ge2hlaWdodDogYXV0bzsgfVt0eXBlPSJzZWFyY2giXSB7LXdlYmtpdC1hcHBlYXJhbmNlOiB0ZXh0ZmllbGQ7b3V0bGluZS1vZmZzZXQ6IC0ycHg7IH1bdHlwZT0ic2VhcmNoIl06Oi13ZWJraXQtc2VhcmNoLWNhbmNlbC1idXR0b24sW3R5cGU9InNlYXJjaCJdOjotd2Via2l0LXNlYXJjaC1kZWNvcmF0aW9uIHstd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7IH1pbnB1dDpub3QoW3R5cGVdKSwgW3R5cGU9InRleHQiXSwgW3R5cGU9ImVtYWlsIl0sIFt0eXBlPSJudW1iZXIiXSwgW3R5cGU9InNlYXJjaCJdLFt0eXBlPSJwYXNzd29yZCJdLCBbdHlwZT0idXJsIl0sIFt0eXBlPSJ0ZWwiXSwgW3R5cGU9ImNoZWNrYm94Il0sIFt0eXBlPSJyYWRpbyJdLCB0ZXh0YXJlYSwgc2VsZWN0IHtib3gtc2l6aW5nOiBib3JkZXItYm94O2JhY2tncm91bmQ6IHZhcigtLWlucHV0LWJhY2stY29sb3IpO2NvbG9yOiB2YXIoLS1pbnB1dC1mb3JlLWNvbG9yKTtib3JkZXI6IDAuMDcxNDI4NTcxNHJlbSBzb2xpZCB2YXIoLS1pbnB1dC1ib3JkZXItY29sb3IpO2JvcmRlci1yYWRpdXM6IHZhcigtLXVuaXZlcnNhbC1ib3JkZXItcmFkaXVzKTttYXJnaW46IGNhbGModmFyKC0tdW5pdmVyc2FsLW1hcmdpbikgLyAyKTtwYWRkaW5nOiB2YXIoLS11bml2ZXJzYWwtcGFkZGluZykgY2FsYygxLjUgKiB2YXIoLS11bml2ZXJzYWwtcGFkZGluZykpOyB9aW5wdXQ6bm90KFt0eXBlPSJidXR0b24iXSk6bm90KFt0eXBlPSJzdWJtaXQiXSk6bm90KFt0eXBlPSJyZXNldCJdKTpob3ZlciwgaW5wdXQ6bm90KFt0eXBlPSJidXR0b24iXSk6bm90KFt0eXBlPSJzdWJtaXQiXSk6bm90KFt0eXBlPSJyZXNldCJdKTpmb2N1cywgdGV4dGFyZWE6aG92ZXIsIHRleHRhcmVhOmZvY3VzLCBzZWxlY3Q6aG92ZXIsIHNlbGVjdDpmb2N1cyB7Ym9yZGVyLWNvbG9yOiB2YXIoLS1pbnB1dC1mb2N1cy1jb2xvcik7Ym94LXNoYWRvdzogbm9uZTsgfWlucHV0Om5vdChbdHlwZT0iYnV0dG9uIl0pOm5vdChbdHlwZT0ic3VibWl0Il0pOm5vdChbdHlwZT0icmVzZXQiXSk6aW52YWxpZCwgaW5wdXQ6bm90KFt0eXBlPSJidXR0b24iXSk6bm90KFt0eXBlPSJzdWJtaXQiXSk6bm90KFt0eXBlPSJyZXNldCJdKTpmb2N1czppbnZhbGlkLCB0ZXh0YXJlYTppbnZhbGlkLCB0ZXh0YXJlYTpmb2N1czppbnZhbGlkLCBzZWxlY3Q6aW52YWxpZCwgc2VsZWN0OmZvY3VzOmludmFsaWQge2JvcmRlci1jb2xvcjogdmFyKC0taW5wdXQtaW52YWxpZC1jb2xvcik7Ym94LXNoYWRvdzogbm9uZTsgfWlucHV0Om5vdChbdHlwZT0iYnV0dG9uIl0pOm5vdChbdHlwZT0ic3VibWl0Il0pOm5vdChbdHlwZT0icmVzZXQiXSlbcmVhZG9ubHldLCB0ZXh0YXJlYVtyZWFkb25seV0sIHNlbGVjdFtyZWFkb25seV0ge2JhY2tncm91bmQ6IHZhcigtLXNlY29uZGFyeS1iYWNrLWNvbG9yKTsgfXNlbGVjdCB7bWF4LXdpZHRoOiAxMDAlOyB9b3B0aW9uIHtvdmVyZmxvdzogaGlkZGVuO3RleHQtb3ZlcmZsb3c6IGVsbGlwc2lzOyB9W3R5cGU9ImNoZWNrYm94Il0sIFt0eXBlPSJyYWRpbyJdIHstd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7LW1vei1hcHBlYXJhbmNlOiBub25lO2FwcGVhcmFuY2U6IG5vbmU7cG9zaXRpb246IHJlbGF0aXZlO2hlaWdodDogY2FsYygxcmVtICsgdmFyKC0tdW5pdmVyc2FsLXBhZGRpbmcpIC8gMik7d2lkdGg6IGNhbGMoMXJlbSArIHZhcigtLXVuaXZlcnNhbC1wYWRkaW5nKSAvIDIpO3ZlcnRpY2FsLWFsaWduOiB0ZXh0LWJvdHRvbTtwYWRkaW5nOiAwO2ZsZXgtYmFzaXM6IGNhbGMoMXJlbSArIHZhcigtLXVuaXZlcnNhbC1wYWRkaW5nKSAvIDIpICFpbXBvcnRhbnQ7ZmxleC1ncm93OiAwICFpbXBvcnRhbnQ7IH1bdHlwZT0iY2hlY2tib3giXTpjaGVja2VkOmJlZm9yZSwgW3R5cGU9InJhZGlvIl06Y2hlY2tlZDpiZWZvcmUge3Bvc2l0aW9uOiBhYnNvbHV0ZTsgfVt0eXBlPSJjaGVja2JveCJdOmNoZWNrZWQ6YmVmb3JlIHtjb250ZW50OiAnXDI3MTMnO2ZvbnQtZmFtaWx5OiBzYW5zLXNlcmlmO2ZvbnQtc2l6ZTogY2FsYygxcmVtICsgdmFyKC0tdW5pdmVyc2FsLXBhZGRpbmcpIC8gMik7dG9wOiBjYWxjKDByZW0gLSB2YXIoLS11bml2ZXJzYWwtcGFkZGluZykpO2xlZnQ6IGNhbGModmFyKC0tdW5pdmVyc2FsLXBhZGRpbmcpIC8gNCk7IH1bdHlwZT0icmFkaW8iXSB7Ym9yZGVyLXJhZGl1czogMTAwJTsgfVt0eXBlPSJyYWRpbyJdOmNoZWNrZWQ6YmVmb3JlIHtib3JkZXItcmFkaXVzOiAxMDAlO2NvbnRlbnQ6ICcnO3RvcDogY2FsYygwLjA3MTQyODU3MTRyZW0gKyB2YXIoLS11bml2ZXJzYWwtcGFkZGluZykgLyAyKTtsZWZ0OiBjYWxjKDAuMDcxNDI4NTcxNHJlbSArIHZhcigtLXVuaXZlcnNhbC1wYWRkaW5nKSAvIDIpO2JhY2tncm91bmQ6IHZhcigtLWlucHV0LWZvcmUtY29sb3IpO3dpZHRoOiAwLjVyZW07aGVpZ2h0OiAwLjVyZW07IH06cGxhY2Vob2xkZXItc2hvd24ge2NvbG9yOiB2YXIoLS1pbnB1dC1mb3JlLWNvbG9yKTsgfTo6LW1zLXBsYWNlaG9sZGVyIHtjb2xvcjogdmFyKC0taW5wdXQtZm9yZS1jb2xvcik7b3BhY2l0eTogMC41NDsgfWJ1dHRvbjo6LW1vei1mb2N1cy1pbm5lciwgW3R5cGU9ImJ1dHRvbiJdOjotbW96LWZvY3VzLWlubmVyLCBbdHlwZT0icmVzZXQiXTo6LW1vei1mb2N1cy1pbm5lciwgW3R5cGU9InN1Ym1pdCJdOjotbW96LWZvY3VzLWlubmVyIHtib3JkZXItc3R5bGU6IG5vbmU7cGFkZGluZzogMDsgfWJ1dHRvbiwgaHRtbCBbdHlwZT0iYnV0dG9uIl0sIFt0eXBlPSJyZXNldCJdLCBbdHlwZT0ic3VibWl0Il0gey13ZWJraXQtYXBwZWFyYW5jZTogYnV0dG9uOyB9YnV0dG9uIHtvdmVyZmxvdzogdmlzaWJsZTt0ZXh0LXRyYW5zZm9ybTogbm9uZTsgfWJ1dHRvbiwgW3R5cGU9ImJ1dHRvbiJdLCBbdHlwZT0ic3VibWl0Il0sIFt0eXBlPSJyZXNldCJdLGEuYnV0dG9uLCBsYWJlbC5idXR0b24sIC5idXR0b24sYVtyb2xlPSJidXR0b24iXSwgbGFiZWxbcm9sZT0iYnV0dG9uIl0sIFtyb2xlPSJidXR0b24iXSB7ZGlzcGxheTogaW5saW5lLWJsb2NrO2JhY2tncm91bmQ6IHZhcigtLWJ1dHRvbi1iYWNrLWNvbG9yKTtjb2xvcjogdmFyKC0tYnV0dG9uLWZvcmUtY29sb3IpO2JvcmRlcjogMC4wNzE0Mjg1NzE0cmVtIHNvbGlkIHZhcigtLWJ1dHRvbi1ib3JkZXItY29sb3IpO2JvcmRlci1yYWRpdXM6IHZhcigtLXVuaXZlcnNhbC1ib3JkZXItcmFkaXVzKTtwYWRkaW5nOiB2YXIoLS11bml2ZXJzYWwtcGFkZGluZykgY2FsYygxLjUgKiB2YXIoLS11bml2ZXJzYWwtcGFkZGluZykpO21hcmdpbjogdmFyKC0tdW5pdmVyc2FsLW1hcmdpbik7dGV4dC1kZWNvcmF0aW9uOiBub25lO2N1cnNvcjogcG9pbnRlcjt0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kIDAuM3M7IH1idXR0b246aG92ZXIsIGJ1dHRvbjpmb2N1cywgW3R5cGU9ImJ1dHRvbiJdOmhvdmVyLCBbdHlwZT0iYnV0dG9uIl06Zm9jdXMsIFt0eXBlPSJzdWJtaXQiXTpob3ZlciwgW3R5cGU9InN1Ym1pdCJdOmZvY3VzLCBbdHlwZT0icmVzZXQiXTpob3ZlciwgW3R5cGU9InJlc2V0Il06Zm9jdXMsYS5idXR0b246aG92ZXIsYS5idXR0b246Zm9jdXMsIGxhYmVsLmJ1dHRvbjpob3ZlciwgbGFiZWwuYnV0dG9uOmZvY3VzLCAuYnV0dG9uOmhvdmVyLCAuYnV0dG9uOmZvY3VzLGFbcm9sZT0iYnV0dG9uIl06aG92ZXIsYVtyb2xlPSJidXR0b24iXTpmb2N1cywgbGFiZWxbcm9sZT0iYnV0dG9uIl06aG92ZXIsIGxhYmVsW3JvbGU9ImJ1dHRvbiJdOmZvY3VzLCBbcm9sZT0iYnV0dG9uIl06aG92ZXIsIFtyb2xlPSJidXR0b24iXTpmb2N1cyB7YmFja2dyb3VuZDogdmFyKC0tYnV0dG9uLWhvdmVyLWJhY2stY29sb3IpO2JvcmRlci1jb2xvcjogdmFyKC0tYnV0dG9uLWhvdmVyLWJvcmRlci1jb2xvcik7IH1pbnB1dDpkaXNhYmxlZCwgaW5wdXRbZGlzYWJsZWRdLCB0ZXh0YXJlYTpkaXNhYmxlZCwgdGV4dGFyZWFbZGlzYWJsZWRdLCBzZWxlY3Q6ZGlzYWJsZWQsIHNlbGVjdFtkaXNhYmxlZF0sIGJ1dHRvbjpkaXNhYmxlZCwgYnV0dG9uW2Rpc2FibGVkXSwgLmJ1dHRvbjpkaXNhYmxlZCwgLmJ1dHRvbltkaXNhYmxlZF0sIFtyb2xlPSJidXR0b24iXTpkaXNhYmxlZCwgW3JvbGU9ImJ1dHRvbiJdW2Rpc2FibGVkXSB7Y3Vyc29yOiBub3QtYWxsb3dlZDtvcGFjaXR5OiAwLjc1OyB9LmJ1dHRvbi1ncm91cCB7ZGlzcGxheTogZmxleDtib3JkZXI6IDAuMDcxNDI4NTcxNHJlbSBzb2xpZCB2YXIoLS1idXR0b24tZ3JvdXAtYm9yZGVyLWNvbG9yKTtib3JkZXItcmFkaXVzOiB2YXIoLS11bml2ZXJzYWwtYm9yZGVyLXJhZGl1cyk7bWFyZ2luOiB2YXIoLS11bml2ZXJzYWwtbWFyZ2luKTsgfS5idXR0b24tZ3JvdXAgPiBidXR0b24sIC5idXR0b24tZ3JvdXAgW3R5cGU9ImJ1dHRvbiJdLCAuYnV0dG9uLWdyb3VwID4gW3R5cGU9InN1Ym1pdCJdLCAuYnV0dG9uLWdyb3VwID4gW3R5cGU9InJlc2V0Il0sIC5idXR0b24tZ3JvdXAgPiAuYnV0dG9uLCAuYnV0dG9uLWdyb3VwID4gW3JvbGU9ImJ1dHRvbiJdIHttYXJnaW46IDA7bWF4LXdpZHRoOiAxMDAlO2ZsZXg6IDEgMSBhdXRvO3RleHQtYWxpZ246IGNlbnRlcjtib3JkZXI6IDA7Ym9yZGVyLXJhZGl1czogMDtib3gtc2hhZG93OiBub25lOyB9LmJ1dHRvbi1ncm91cCA+IDpub3QoOmZpcnN0LWNoaWxkKSB7Ym9yZGVyLWxlZnQ6IDAuMDcxNDI4NTcxNHJlbSBzb2xpZCB2YXIoLS1idXR0b24tZ3JvdXAtYm9yZGVyLWNvbG9yKTsgfUBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ5OXB4KSB7LmJ1dHRvbi1ncm91cCB7ZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgfS5idXR0b24tZ3JvdXAgPiA6bm90KDpmaXJzdC1jaGlsZCkge2JvcmRlcjogMDtib3JkZXItdG9wOiAwLjA3MTQyODU3MTRyZW0gc29saWQgdmFyKC0tYnV0dG9uLWdyb3VwLWJvcmRlci1jb2xvcik7IH0gfWJ1dHRvbi5wcmltYXJ5LCBbdHlwZT0iYnV0dG9uIl0ucHJpbWFyeSwgW3R5cGU9InN1Ym1pdCJdLnByaW1hcnksIFt0eXBlPSJyZXNldCJdLnByaW1hcnksIC5idXR0b24ucHJpbWFyeSwgW3JvbGU9ImJ1dHRvbiJdLnByaW1hcnkgey0tYnV0dG9uLWJhY2stY29sb3I6ICMxOTc2ZDI7LS1idXR0b24tZm9yZS1jb2xvcjogI2Y4ZjhmODsgfWJ1dHRvbi5wcmltYXJ5OmhvdmVyLCBidXR0b24ucHJpbWFyeTpmb2N1cywgW3R5cGU9ImJ1dHRvbiJdLnByaW1hcnk6aG92ZXIsIFt0eXBlPSJidXR0b24iXS5wcmltYXJ5OmZvY3VzLCBbdHlwZT0ic3VibWl0Il0ucHJpbWFyeTpob3ZlciwgW3R5cGU9InN1Ym1pdCJdLnByaW1hcnk6Zm9jdXMsIFt0eXBlPSJyZXNldCJdLnByaW1hcnk6aG92ZXIsIFt0eXBlPSJyZXNldCJdLnByaW1hcnk6Zm9jdXMsIC5idXR0b24ucHJpbWFyeTpob3ZlciwgLmJ1dHRvbi5wcmltYXJ5OmZvY3VzLCBbcm9sZT0iYnV0dG9uIl0ucHJpbWFyeTpob3ZlciwgW3JvbGU9ImJ1dHRvbiJdLnByaW1hcnk6Zm9jdXMgey0tYnV0dG9uLWhvdmVyLWJhY2stY29sb3I6ICMxNTY1YzA7IH1idXR0b24uc2Vjb25kYXJ5LCBbdHlwZT0iYnV0dG9uIl0uc2Vjb25kYXJ5LCBbdHlwZT0ic3VibWl0Il0uc2Vjb25kYXJ5LCBbdHlwZT0icmVzZXQiXS5zZWNvbmRhcnksIC5idXR0b24uc2Vjb25kYXJ5LCBbcm9sZT0iYnV0dG9uIl0uc2Vjb25kYXJ5IHstLWJ1dHRvbi1iYWNrLWNvbG9yOiAjZDMyZjJmOy0tYnV0dG9uLWZvcmUtY29sb3I6ICNmOGY4Zjg7IH1idXR0b24uc2Vjb25kYXJ5OmhvdmVyLCBidXR0b24uc2Vjb25kYXJ5OmZvY3VzLCBbdHlwZT0iYnV0dG9uIl0uc2Vjb25kYXJ5OmhvdmVyLCBbdHlwZT0iYnV0dG9uIl0uc2Vjb25kYXJ5OmZvY3VzLCBbdHlwZT0ic3VibWl0Il0uc2Vjb25kYXJ5OmhvdmVyLCBbdHlwZT0ic3VibWl0Il0uc2Vjb25kYXJ5OmZvY3VzLCBbdHlwZT0icmVzZXQiXS5zZWNvbmRhcnk6aG92ZXIsIFt0eXBlPSJyZXNldCJdLnNlY29uZGFyeTpmb2N1cywgLmJ1dHRvbi5zZWNvbmRhcnk6aG92ZXIsIC5idXR0b24uc2Vjb25kYXJ5OmZvY3VzLCBbcm9sZT0iYnV0dG9uIl0uc2Vjb25kYXJ5OmhvdmVyLCBbcm9sZT0iYnV0dG9uIl0uc2Vjb25kYXJ5OmZvY3VzIHstLWJ1dHRvbi1ob3Zlci1iYWNrLWNvbG9yOiAjYzYyODI4OyB9YnV0dG9uLnRlcnRpYXJ5LCBbdHlwZT0iYnV0dG9uIl0udGVydGlhcnksIFt0eXBlPSJzdWJtaXQiXS50ZXJ0aWFyeSwgW3R5cGU9InJlc2V0Il0udGVydGlhcnksIC5idXR0b24udGVydGlhcnksIFtyb2xlPSJidXR0b24iXS50ZXJ0aWFyeSB7LS1idXR0b24tYmFjay1jb2xvcjogIzMwODczMjstLWJ1dHRvbi1mb3JlLWNvbG9yOiAjZjhmOGY4OyB9YnV0dG9uLnRlcnRpYXJ5OmhvdmVyLCBidXR0b24udGVydGlhcnk6Zm9jdXMsIFt0eXBlPSJidXR0b24iXS50ZXJ0aWFyeTpob3ZlciwgW3R5cGU9ImJ1dHRvbiJdLnRlcnRpYXJ5OmZvY3VzLCBbdHlwZT0ic3VibWl0Il0udGVydGlhcnk6aG92ZXIsIFt0eXBlPSJzdWJtaXQiXS50ZXJ0aWFyeTpmb2N1cywgW3R5cGU9InJlc2V0Il0udGVydGlhcnk6aG92ZXIsIFt0eXBlPSJyZXNldCJdLnRlcnRpYXJ5OmZvY3VzLCAuYnV0dG9uLnRlcnRpYXJ5OmhvdmVyLCAuYnV0dG9uLnRlcnRpYXJ5OmZvY3VzLCBbcm9sZT0iYnV0dG9uIl0udGVydGlhcnk6aG92ZXIsIFtyb2xlPSJidXR0b24iXS50ZXJ0aWFyeTpmb2N1cyB7LS1idXR0b24taG92ZXItYmFjay1jb2xvcjogIzI3NzUyOTsgfWJ1dHRvbi5pbnZlcnNlLCBbdHlwZT0iYnV0dG9uIl0uaW52ZXJzZSwgW3R5cGU9InN1Ym1pdCJdLmludmVyc2UsIFt0eXBlPSJyZXNldCJdLmludmVyc2UsIC5idXR0b24uaW52ZXJzZSwgW3JvbGU9ImJ1dHRvbiJdLmludmVyc2Ugey0tYnV0dG9uLWJhY2stY29sb3I6ICMyMTIxMjE7LS1idXR0b24tZm9yZS1jb2xvcjogI2Y4ZjhmODsgfWJ1dHRvbi5pbnZlcnNlOmhvdmVyLCBidXR0b24uaW52ZXJzZTpmb2N1cywgW3R5cGU9ImJ1dHRvbiJdLmludmVyc2U6aG92ZXIsIFt0eXBlPSJidXR0b24iXS5pbnZlcnNlOmZvY3VzLCBbdHlwZT0ic3VibWl0Il0uaW52ZXJzZTpob3ZlciwgW3R5cGU9InN1Ym1pdCJdLmludmVyc2U6Zm9jdXMsIFt0eXBlPSJyZXNldCJdLmludmVyc2U6aG92ZXIsIFt0eXBlPSJyZXNldCJdLmludmVyc2U6Zm9jdXMsIC5idXR0b24uaW52ZXJzZTpob3ZlciwgLmJ1dHRvbi5pbnZlcnNlOmZvY3VzLCBbcm9sZT0iYnV0dG9uIl0uaW52ZXJzZTpob3ZlciwgW3JvbGU9ImJ1dHRvbiJdLmludmVyc2U6Zm9jdXMgey0tYnV0dG9uLWhvdmVyLWJhY2stY29sb3I6ICMxMTE7IH1idXR0b24uc21hbGwsIFt0eXBlPSJidXR0b24iXS5zbWFsbCwgW3R5cGU9InN1Ym1pdCJdLnNtYWxsLCBbdHlwZT0icmVzZXQiXS5zbWFsbCwgLmJ1dHRvbi5zbWFsbCwgW3JvbGU9ImJ1dHRvbiJdLnNtYWxsIHtwYWRkaW5nOiBjYWxjKDAuNSAqIHZhcigtLXVuaXZlcnNhbC1wYWRkaW5nKSkgY2FsYygwLjc1ICogdmFyKC0tdW5pdmVyc2FsLXBhZGRpbmcpKTttYXJnaW46IHZhcigtLXVuaXZlcnNhbC1tYXJnaW4pOyB9YnV0dG9uLmxhcmdlLCBbdHlwZT0iYnV0dG9uIl0ubGFyZ2UsIFt0eXBlPSJzdWJtaXQiXS5sYXJnZSwgW3R5cGU9InJlc2V0Il0ubGFyZ2UsIC5idXR0b24ubGFyZ2UsIFtyb2xlPSJidXR0b24iXS5sYXJnZSB7cGFkZGluZzogY2FsYygxLjUgKiB2YXIoLS11bml2ZXJzYWwtcGFkZGluZykpIGNhbGMoMiAqIHZhcigtLXVuaXZlcnNhbC1wYWRkaW5nKSk7bWFyZ2luOiB2YXIoLS11bml2ZXJzYWwtbWFyZ2luKTsgfTpyb290IHstLWhlYWRlci1iYWNrLWNvbG9yOiAjMDMyMzRiOy0taGVhZGVyLWhvdmVyLWJhY2stY29sb3I6ICNmZmQyMDA7LS1oZWFkZXItZm9yZS1jb2xvcjogI2ZmZmZmZjstLWhlYWRlci1ib3JkZXItY29sb3I6ICMzY2I0ZTY7LS1uYXYtYmFjay1jb2xvcjogI2ZmZmZmZjstLW5hdi1ob3Zlci1iYWNrLWNvbG9yOiAjZmZlOTdmOy0tbmF2LWZvcmUtY29sb3I6ICNlNjAwN2U7LS1uYXYtYm9yZGVyLWNvbG9yOiAjM2NiNGU2Oy0tbmF2LWxpbmstY29sb3I6ICMzY2I0ZTY7LS1mb290ZXItZm9yZS1jb2xvcjogI2ZmZmZmZjstLWZvb3Rlci1iYWNrLWNvbG9yOiAjMDMyMzRiOy0tZm9vdGVyLWJvcmRlci1jb2xvcjogIzNjYjRlNjstLWZvb3Rlci1saW5rLWNvbG9yOiAjM2NiNGU2Oy0tZHJhd2VyLWJhY2stY29sb3I6ICNmZmZmZmY7LS1kcmF3ZXItaG92ZXItYmFjay1jb2xvcjogI2ZmZTk3ZjstLWRyYXdlci1ib3JkZXItY29sb3I6ICMzY2I0ZTY7LS1kcmF3ZXItY2xvc2UtY29sb3I6ICNlNjAwN2U7IH1oZWFkZXIge2hlaWdodDogMi43NXJlbTtiYWNrZ3JvdW5kOiB2YXIoLS1oZWFkZXItYmFjay1jb2xvcik7Y29sb3I6IHZhcigtLWhlYWRlci1mb3JlLWNvbG9yKTtib3JkZXItYm90dG9tOiAwLjA3MTQyODU3MTRyZW0gc29saWQgdmFyKC0taGVhZGVyLWJvcmRlci1jb2xvcik7cGFkZGluZzogY2FsYyh2YXIoLS11bml2ZXJzYWwtcGFkZGluZykgLyA0KSAwO3doaXRlLXNwYWNlOiBub3dyYXA7b3ZlcmZsb3cteDogYXV0bztvdmVyZmxvdy15OiBoaWRkZW47IH1oZWFkZXIucm93IHtib3gtc2l6aW5nOiBjb250ZW50LWJveDsgfWhlYWRlciAubG9nbyB7Y29sb3I6IHZhcigtLWhlYWRlci1mb3JlLWNvbG9yKTtmb250LXNpemU6IDEuNzVyZW07cGFkZGluZzogdmFyKC0tdW5pdmVyc2FsLXBhZGRpbmcpIGNhbGMoMiAqIHZhcigtLXVuaXZlcnNhbC1wYWRkaW5nKSk7dGV4dC1kZWNvcmF0aW9uOiBub25lOyB9aGVhZGVyIGJ1dHRvbiwgaGVhZGVyIFt0eXBlPSJidXR0b24iXSwgaGVhZGVyIC5idXR0b24sIGhlYWRlciBbcm9sZT0iYnV0dG9uIl0ge2JveC1zaXppbmc6IGJvcmRlci1ib3g7cG9zaXRpb246IHJlbGF0aXZlO3RvcDogY2FsYygwcmVtIC0gdmFyKC0tdW5pdmVyc2FsLXBhZGRpbmcpIC8gNCk7aGVpZ2h0OiBjYWxjKDMuMTg3NXJlbSArIHZhcigtLXVuaXZlcnNhbC1wYWRkaW5nKSAvIDIpO2JhY2tncm91bmQ6IHZhcigtLWhlYWRlci1iYWNrLWNvbG9yKTtsaW5lLWhlaWdodDogY2FsYygzLjE4NzVyZW0gLSB2YXIoLS11bml2ZXJzYWwtcGFkZGluZykgKiAxLjUpO3RleHQtYWxpZ246IGNlbnRlcjtjb2xvcjogdmFyKC0taGVhZGVyLWZvcmUtY29sb3IpO2JvcmRlcjogMDtib3JkZXItcmFkaXVzOiAwO21hcmdpbjogMDt0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyB9aGVhZGVyIGJ1dHRvbjpob3ZlciwgaGVhZGVyIGJ1dHRvbjpmb2N1cywgaGVhZGVyIFt0eXBlPSJidXR0b24iXTpob3ZlciwgaGVhZGVyIFt0eXBlPSJidXR0b24iXTpmb2N1cywgaGVhZGVyIC5idXR0b246aG92ZXIsIGhlYWRlciAuYnV0dG9uOmZvY3VzLCBoZWFkZXIgW3JvbGU9ImJ1dHRvbiJdOmhvdmVyLCBoZWFkZXIgW3JvbGU9ImJ1dHRvbiJdOmZvY3VzIHtiYWNrZ3JvdW5kOiB2YXIoLS1oZWFkZXItaG92ZXItYmFjay1jb2xvcik7IH1uYXYge2JhY2tncm91bmQ6IHZhcigtLW5hdi1iYWNrLWNvbG9yKTtjb2xvcjogdmFyKC0tbmF2LWZvcmUtY29sb3IpO2JvcmRlcjogMC4wNzE0Mjg1NzE0cmVtIHNvbGlkIHZhcigtLW5hdi1ib3JkZXItY29sb3IpO2JvcmRlci1yYWRpdXM6IHZhcigtLXVuaXZlcnNhbC1ib3JkZXItcmFkaXVzKTttYXJnaW46IHZhcigtLXVuaXZlcnNhbC1tYXJnaW4pOyB9bmF2ICoge3BhZGRpbmc6IHZhcigtLXVuaXZlcnNhbC1wYWRkaW5nKSBjYWxjKDEuNSAqIHZhcigtLXVuaXZlcnNhbC1wYWRkaW5nKSk7IH1uYXYgYSwgbmF2IGE6dmlzaXRlZCB7ZGlzcGxheTogYmxvY2s7Y29sb3I6IHZhcigtLW5hdi1saW5rLWNvbG9yKTtib3JkZXItcmFkaXVzOiB2YXIoLS11bml2ZXJzYWwtYm9yZGVyLXJhZGl1cyk7dHJhbnNpdGlvbjogYmFja2dyb3VuZCAwLjNzOyB9bmF2IGE6aG92ZXIsIG5hdiBhOmZvY3VzLCBuYXYgYTp2aXNpdGVkOmhvdmVyLCBuYXYgYTp2aXNpdGVkOmZvY3VzIHt0ZXh0LWRlY29yYXRpb246IG5vbmU7YmFja2dyb3VuZDogdmFyKC0tbmF2LWhvdmVyLWJhY2stY29sb3IpOyB9bmF2IC5zdWJsaW5rLTEge3Bvc2l0aW9uOiByZWxhdGl2ZTttYXJnaW4tbGVmdDogY2FsYygyICogdmFyKC0tdW5pdmVyc2FsLXBhZGRpbmcpKTsgfW5hdiAuc3VibGluay0xOmJlZm9yZSB7cG9zaXRpb246IGFic29sdXRlO2xlZnQ6IGNhbGModmFyKC0tdW5pdmVyc2FsLXBhZGRpbmcpIC0gMSAqIHZhcigtLXVuaXZlcnNhbC1wYWRkaW5nKSk7dG9wOiAtMC4wNzE0Mjg1NzE0cmVtO2NvbnRlbnQ6ICcnO2hlaWdodDogMTAwJTtib3JkZXI6IDAuMDcxNDI4NTcxNHJlbSBzb2xpZCB2YXIoLS1uYXYtYm9yZGVyLWNvbG9yKTtib3JkZXItbGVmdDogMDsgfW5hdiAuc3VibGluay0yIHtwb3NpdGlvbjogcmVsYXRpdmU7bWFyZ2luLWxlZnQ6IGNhbGMoNCAqIHZhcigtLXVuaXZlcnNhbC1wYWRkaW5nKSk7IH1uYXYgLnN1YmxpbmstMjpiZWZvcmUge3Bvc2l0aW9uOiBhYnNvbHV0ZTtsZWZ0OiBjYWxjKHZhcigtLXVuaXZlcnNhbC1wYWRkaW5nKSAtIDMgKiB2YXIoLS11bml2ZXJzYWwtcGFkZGluZykpO3RvcDogLTAuMDcxNDI4NTcxNHJlbTtjb250ZW50OiAnJztoZWlnaHQ6IDEwMCU7Ym9yZGVyOiAwLjA3MTQyODU3MTRyZW0gc29saWQgdmFyKC0tbmF2LWJvcmRlci1jb2xvcik7Ym9yZGVyLWxlZnQ6IDA7IH1mb290ZXIge2JhY2tncm91bmQ6IHZhcigtLWZvb3Rlci1iYWNrLWNvbG9yKTtjb2xvcjogdmFyKC0tZm9vdGVyLWZvcmUtY29sb3IpO2JvcmRlci10b3A6IDAuMDcxNDI4NTcxNHJlbSBzb2xpZCB2YXIoLS1mb290ZXItYm9yZGVyLWNvbG9yKTtwYWRkaW5nOiBjYWxjKDIgKiB2YXIoLS11bml2ZXJzYWwtcGFkZGluZykpIHZhcigtLXVuaXZlcnNhbC1wYWRkaW5nKTtmb250LXNpemU6IDAuODc1cmVtOyB9Zm9vdGVyIGEsIGZvb3RlciBhOnZpc2l0ZWQge2NvbG9yOiB2YXIoLS1mb290ZXItbGluay1jb2xvcik7IH1oZWFkZXIuc3RpY2t5IHtwb3NpdGlvbjogLXdlYmtpdC1zdGlja3k7cG9zaXRpb246IHN0aWNreTt6LWluZGV4OiAxMTAxO3RvcDogMDsgfWZvb3Rlci5zdGlja3kge3Bvc2l0aW9uOiAtd2Via2l0LXN0aWNreTtwb3NpdGlvbjogc3RpY2t5O3otaW5kZXg6IDExMDE7Ym90dG9tOiAwOyB9LmRyYXdlci10b2dnbGU6YmVmb3JlIHtkaXNwbGF5OiBpbmxpbmUtYmxvY2s7cG9zaXRpb246IHJlbGF0aXZlO3ZlcnRpY2FsLWFsaWduOiBib3R0b207Y29udGVudDogJ1wwMGEwXDIyNjFcMDBhMCc7Zm9udC1mYW1pbHk6IHNhbnMtc2VyaWY7Zm9udC1zaXplOiAxLjVlbTsgfUBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDUwMHB4KSB7LmRyYXdlci10b2dnbGU6bm90KC5wZXJzaXN0ZW50KSB7ZGlzcGxheTogbm9uZTsgfSB9W3R5cGU9ImNoZWNrYm94Il0uZHJhd2VyIHtoZWlnaHQ6IDFweDt3aWR0aDogMXB4O21hcmdpbjogLTFweDtvdmVyZmxvdzogaGlkZGVuO3Bvc2l0aW9uOiBhYnNvbHV0ZTtjbGlwOiByZWN0KDAgMCAwIDApOy13ZWJraXQtY2xpcC1wYXRoOiBpbnNldCgxMDAlKTtjbGlwLXBhdGg6IGluc2V0KDEwMCUpOyB9W3R5cGU9ImNoZWNrYm94Il0uZHJhd2VyICsgKiB7ZGlzcGxheTogYmxvY2s7Ym94LXNpemluZzogYm9yZGVyLWJveDtwb3NpdGlvbjogZml4ZWQ7dG9wOiAwO3dpZHRoOiAzMjBweDtoZWlnaHQ6IDEwMHZoO292ZXJmbG93LXk6IGF1dG87YmFja2dyb3VuZDogdmFyKC0tZHJhd2VyLWJhY2stY29sb3IpO2JvcmRlcjogMC4wNzE0Mjg1NzE0cmVtIHNvbGlkIHZhcigtLWRyYXdlci1ib3JkZXItY29sb3IpO2JvcmRlci1yYWRpdXM6IDA7bWFyZ2luOiAwO3otaW5kZXg6IDExMTA7cmlnaHQ6IC0zMjBweDt0cmFuc2l0aW9uOiByaWdodCAwLjNzOyB9W3R5cGU9ImNoZWNrYm94Il0uZHJhd2VyICsgKiAuZHJhd2VyLWNsb3NlIHtwb3NpdGlvbjogYWJzb2x1dGU7dG9wOiB2YXIoLS11bml2ZXJzYWwtbWFyZ2luKTtyaWdodDogdmFyKC0tdW5pdmVyc2FsLW1hcmdpbik7ei1pbmRleDogMTExMTt3aWR0aDogMnJlbTtoZWlnaHQ6IDJyZW07Ym9yZGVyLXJhZGl1czogdmFyKC0tdW5pdmVyc2FsLWJvcmRlci1yYWRpdXMpO3BhZGRpbmc6IHZhcigtLXVuaXZlcnNhbC1wYWRkaW5nKTttYXJnaW46IDA7Y3Vyc29yOiBwb2ludGVyO3RyYW5zaXRpb246IGJhY2tncm91bmQgMC4zczsgfVt0eXBlPSJjaGVja2JveCJdLmRyYXdlciArICogLmRyYXdlci1jbG9zZTpiZWZvcmUge2Rpc3BsYXk6IGJsb2NrO2NvbnRlbnQ6ICdcMDBENyc7Y29sb3I6IHZhcigtLWRyYXdlci1jbG9zZS1jb2xvcik7cG9zaXRpb246IHJlbGF0aXZlO2ZvbnQtZmFtaWx5OiBzYW5zLXNlcmlmO2ZvbnQtc2l6ZTogMnJlbTtsaW5lLWhlaWdodDogMTt0ZXh0LWFsaWduOiBjZW50ZXI7IH1bdHlwZT0iY2hlY2tib3giXS5kcmF3ZXIgKyAqIC5kcmF3ZXItY2xvc2U6aG92ZXIsIFt0eXBlPSJjaGVja2JveCJdLmRyYXdlciArICogLmRyYXdlci1jbG9zZTpmb2N1cyB7YmFja2dyb3VuZDogdmFyKC0tZHJhd2VyLWhvdmVyLWJhY2stY29sb3IpOyB9QG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzIwcHgpIHtbdHlwZT0iY2hlY2tib3giXS5kcmF3ZXIgKyAqIHt3aWR0aDogMTAwJTsgfSB9W3R5cGU9ImNoZWNrYm94Il0uZHJhd2VyOmNoZWNrZWQgKyAqIHtyaWdodDogMDsgfUBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDUwMHB4KSB7W3R5cGU9ImNoZWNrYm94Il0uZHJhd2VyOm5vdCgucGVyc2lzdGVudCkgKyAqIHtwb3NpdGlvbjogc3RhdGljO2hlaWdodDogMTAwJTt6LWluZGV4OiAxMTAwOyB9W3R5cGU9ImNoZWNrYm94Il0uZHJhd2VyOm5vdCgucGVyc2lzdGVudCkgKyAqIC5kcmF3ZXItY2xvc2Uge2Rpc3BsYXk6IG5vbmU7IH0gfTpyb290IHstLXRhYmxlLWJvcmRlci1jb2xvcjogIzAzMjM0YjstLXRhYmxlLWJvcmRlci1zZXBhcmF0b3ItY29sb3I6ICMwMzIzNGI7LS10YWJsZS1oZWFkLWJhY2stY29sb3I6ICMwMzIzNGI7LS10YWJsZS1oZWFkLWZvcmUtY29sb3I6ICNmZmZmZmY7LS10YWJsZS1ib2R5LWJhY2stY29sb3I6ICNmZmZmZmY7LS10YWJsZS1ib2R5LWZvcmUtY29sb3I6ICMwMzIzNGI7LS10YWJsZS1ib2R5LWFsdC1iYWNrLWNvbG9yOiAjZjRmNGY0OyB9dGFibGUge2JvcmRlci1jb2xsYXBzZTogc2VwYXJhdGU7Ym9yZGVyLXNwYWNpbmc6IDA7bWFyZ2luOiAwO2Rpc3BsYXk6IGZsZXg7ZmxleDogMCAxIGF1dG87ZmxleC1mbG93OiByb3cgd3JhcDtwYWRkaW5nOiB2YXIoLS11bml2ZXJzYWwtcGFkZGluZyk7cGFkZGluZy10b3A6IDA7IH10YWJsZSBjYXB0aW9uIHtmb250LXNpemU6IDFyZW07bWFyZ2luOiBjYWxjKDIgKiB2YXIoLS11bml2ZXJzYWwtbWFyZ2luKSkgMDttYXgtd2lkdGg6IDEwMCU7ZmxleDogMCAwIDEwMCU7IH10YWJsZSB0aGVhZCwgdGFibGUgdGJvZHkge2Rpc3BsYXk6IGZsZXg7ZmxleC1mbG93OiByb3cgd3JhcDtib3JkZXI6IDAuMDcxNDI4NTcxNHJlbSBzb2xpZCB2YXIoLS10YWJsZS1ib3JkZXItY29sb3IpOyB9dGFibGUgdGhlYWQge3otaW5kZXg6IDk5OTtib3JkZXItcmFkaXVzOiB2YXIoLS11bml2ZXJzYWwtYm9yZGVyLXJhZGl1cykgdmFyKC0tdW5pdmVyc2FsLWJvcmRlci1yYWRpdXMpIDAgMDtib3JkZXItYm90dG9tOiAwLjA3MTQyODU3MTRyZW0gc29saWQgdmFyKC0tdGFibGUtYm9yZGVyLXNlcGFyYXRvci1jb2xvcik7IH10YWJsZSB0Ym9keSB7Ym9yZGVyLXRvcDogMDttYXJnaW4tdG9wOiBjYWxjKDAgLSB2YXIoLS11bml2ZXJzYWwtbWFyZ2luKSk7Ym9yZGVyLXJhZGl1czogMCAwIHZhcigtLXVuaXZlcnNhbC1ib3JkZXItcmFkaXVzKSB2YXIoLS11bml2ZXJzYWwtYm9yZGVyLXJhZGl1cyk7IH10YWJsZSB0ciB7ZGlzcGxheTogZmxleDtwYWRkaW5nOiAwOyB9dGFibGUgdGgsIHRhYmxlIHRkIHtwYWRkaW5nOiBjYWxjKDAuNSAqIHZhcigtLXVuaXZlcnNhbC1wYWRkaW5nKSk7Zm9udC1zaXplOiAwLjlyZW07IH10YWJsZSB0aCB7dGV4dC1hbGlnbjogbGVmdDtiYWNrZ3JvdW5kOiB2YXIoLS10YWJsZS1oZWFkLWJhY2stY29sb3IpO2NvbG9yOiB2YXIoLS10YWJsZS1oZWFkLWZvcmUtY29sb3IpOyB9dGFibGUgdGQge2JhY2tncm91bmQ6IHZhcigtLXRhYmxlLWJvZHktYmFjay1jb2xvcik7Y29sb3I6IHZhcigtLXRhYmxlLWJvZHktZm9yZS1jb2xvcik7Ym9yZGVyLXRvcDogMC4wNzE0Mjg1NzE0cmVtIHNvbGlkIHZhcigtLXRhYmxlLWJvcmRlci1jb2xvcik7IH10YWJsZTpub3QoLmhvcml6b250YWwpIHtvdmVyZmxvdzogYXV0bzttYXgtaGVpZ2h0OiAxMDAlOyB9dGFibGU6bm90KC5ob3Jpem9udGFsKSB0aGVhZCwgdGFibGU6bm90KC5ob3Jpem9udGFsKSB0Ym9keSB7bWF4LXdpZHRoOiAxMDAlO2ZsZXg6IDAgMCAxMDAlOyB9dGFibGU6bm90KC5ob3Jpem9udGFsKSB0ciB7ZmxleC1mbG93OiByb3cgd3JhcDtmbGV4OiAwIDAgMTAwJTsgfXRhYmxlOm5vdCguaG9yaXpvbnRhbCkgdGgsIHRhYmxlOm5vdCguaG9yaXpvbnRhbCkgdGQge2ZsZXg6IDEgMCAwJTtvdmVyZmxvdzogaGlkZGVuO3RleHQtb3ZlcmZsb3c6IGVsbGlwc2lzOyB9dGFibGU6bm90KC5ob3Jpem9udGFsKSB0aGVhZCB7cG9zaXRpb246IHN0aWNreTt0b3A6IDA7IH10YWJsZTpub3QoLmhvcml6b250YWwpIHRib2R5IHRyOmZpcnN0LWNoaWxkIHRkIHtib3JkZXItdG9wOiAwOyB9dGFibGUuaG9yaXpvbnRhbCB7Ym9yZGVyOiAwOyB9dGFibGUuaG9yaXpvbnRhbCB0aGVhZCwgdGFibGUuaG9yaXpvbnRhbCB0Ym9keSB7Ym9yZGVyOiAwO2ZsZXg6IC4yIDAgMDtmbGV4LWZsb3c6IHJvdyBub3dyYXA7IH10YWJsZS5ob3Jpem9udGFsIHRib2R5IHtvdmVyZmxvdzogYXV0bztqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47ZmxleDogLjggMCAwO21hcmdpbi1sZWZ0OiAwO3BhZGRpbmctYm90dG9tOiBjYWxjKHZhcigtLXVuaXZlcnNhbC1wYWRkaW5nKSAvIDQpOyB9dGFibGUuaG9yaXpvbnRhbCB0ciB7ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtmbGV4OiAxIDAgYXV0bzsgfXRhYmxlLmhvcml6b250YWwgdGgsIHRhYmxlLmhvcml6b250YWwgdGQge3dpZHRoOiBhdXRvO2JvcmRlcjogMDtib3JkZXItYm90dG9tOiAwLjA3MTQyODU3MTRyZW0gc29saWQgdmFyKC0tdGFibGUtYm9yZGVyLWNvbG9yKTsgfXRhYmxlLmhvcml6b250YWwgdGg6bm90KDpmaXJzdC1jaGlsZCksIHRhYmxlLmhvcml6b250YWwgdGQ6bm90KDpmaXJzdC1jaGlsZCkge2JvcmRlci10b3A6IDA7IH10YWJsZS5ob3Jpem9udGFsIHRoIHt0ZXh0LWFsaWduOiByaWdodDtib3JkZXItbGVmdDogMC4wNzE0Mjg1NzE0cmVtIHNvbGlkIHZhcigtLXRhYmxlLWJvcmRlci1jb2xvcik7Ym9yZGVyLXJpZ2h0OiAwLjA3MTQyODU3MTRyZW0gc29saWQgdmFyKC0tdGFibGUtYm9yZGVyLXNlcGFyYXRvci1jb2xvcik7IH10YWJsZS5ob3Jpem9udGFsIHRoZWFkIHRyOmZpcnN0LWNoaWxkIHtwYWRkaW5nLWxlZnQ6IDA7IH10YWJsZS5ob3Jpem9udGFsIHRoOmZpcnN0LWNoaWxkLCB0YWJsZS5ob3Jpem9udGFsIHRkOmZpcnN0LWNoaWxkIHtib3JkZXItdG9wOiAwLjA3MTQyODU3MTRyZW0gc29saWQgdmFyKC0tdGFibGUtYm9yZGVyLWNvbG9yKTsgfXRhYmxlLmhvcml6b250YWwgdGJvZHkgdHI6bGFzdC1jaGlsZCB0ZCB7Ym9yZGVyLXJpZ2h0OiAwLjA3MTQyODU3MTRyZW0gc29saWQgdmFyKC0tdGFibGUtYm9yZGVyLWNvbG9yKTsgfXRhYmxlLmhvcml6b250YWwgdGJvZHkgdHI6bGFzdC1jaGlsZCB0ZDpmaXJzdC1jaGlsZCB7Ym9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDAuMjVyZW07IH10YWJsZS5ob3Jpem9udGFsIHRib2R5IHRyOmxhc3QtY2hpbGQgdGQ6bGFzdC1jaGlsZCB7Ym9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDAuMjVyZW07IH10YWJsZS5ob3Jpem9udGFsIHRoZWFkIHRyOmZpcnN0LWNoaWxkIHRoOmZpcnN0LWNoaWxkIHtib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAwLjI1cmVtOyB9dGFibGUuaG9yaXpvbnRhbCB0aGVhZCB0cjpmaXJzdC1jaGlsZCB0aDpsYXN0LWNoaWxkIHtib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAwLjI1cmVtOyB9QG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDk5cHgpIHt0YWJsZSwgdGFibGUuaG9yaXpvbnRhbCB7Ym9yZGVyLWNvbGxhcHNlOiBjb2xsYXBzZTtib3JkZXI6IDA7d2lkdGg6IDEwMCU7ZGlzcGxheTogdGFibGU7IH10YWJsZSB0aGVhZCwgdGFibGUgdGgsIHRhYmxlLmhvcml6b250YWwgdGhlYWQsIHRhYmxlLmhvcml6b250YWwgdGgge2JvcmRlcjogMDtoZWlnaHQ6IDFweDt3aWR0aDogMXB4O21hcmdpbjogLTFweDtvdmVyZmxvdzogaGlkZGVuO3BhZGRpbmc6IDA7cG9zaXRpb246IGFic29sdXRlO2NsaXA6IHJlY3QoMCAwIDAgMCk7LXdlYmtpdC1jbGlwLXBhdGg6IGluc2V0KDEwMCUpO2NsaXAtcGF0aDogaW5zZXQoMTAwJSk7IH10YWJsZSB0Ym9keSwgdGFibGUuaG9yaXpvbnRhbCB0Ym9keSB7Ym9yZGVyOiAwO2Rpc3BsYXk6IHRhYmxlLXJvdy1ncm91cDsgfXRhYmxlIHRyLCB0YWJsZS5ob3Jpem9udGFsIHRyIHtkaXNwbGF5OiBibG9jaztib3JkZXI6IDAuMDcxNDI4NTcxNHJlbSBzb2xpZCB2YXIoLS10YWJsZS1ib3JkZXItY29sb3IpO2JvcmRlci1yYWRpdXM6IHZhcigtLXVuaXZlcnNhbC1ib3JkZXItcmFkaXVzKTtiYWNrZ3JvdW5kOiAjZmZmZmZmO3BhZGRpbmc6IHZhcigtLXVuaXZlcnNhbC1wYWRkaW5nKTttYXJnaW46IHZhcigtLXVuaXZlcnNhbC1tYXJnaW4pO21hcmdpbi1ib3R0b206IGNhbGMoMSAqIHZhcigtLXVuaXZlcnNhbC1tYXJnaW4pKTsgfXRhYmxlIHRoLCB0YWJsZSB0ZCwgdGFibGUuaG9yaXpvbnRhbCB0aCwgdGFibGUuaG9yaXpvbnRhbCB0ZCB7d2lkdGg6IGF1dG87IH10YWJsZSB0ZCwgdGFibGUuaG9yaXpvbnRhbCB0ZCB7ZGlzcGxheTogYmxvY2s7Ym9yZGVyOiAwO3RleHQtYWxpZ246IHJpZ2h0OyB9dGFibGUgdGQ6YmVmb3JlLCB0YWJsZS5ob3Jpem9udGFsIHRkOmJlZm9yZSB7Y29udGVudDogYXR0cihkYXRhLWxhYmVsKTtmbG9hdDogbGVmdDtmb250LXdlaWdodDogNjAwOyB9dGFibGUgdGg6Zmlyc3QtY2hpbGQsIHRhYmxlIHRkOmZpcnN0LWNoaWxkLCB0YWJsZS5ob3Jpem9udGFsIHRoOmZpcnN0LWNoaWxkLCB0YWJsZS5ob3Jpem9udGFsIHRkOmZpcnN0LWNoaWxkIHtib3JkZXItdG9wOiAwOyB9dGFibGUgdGJvZHkgdHI6bGFzdC1jaGlsZCB0ZCwgdGFibGUuaG9yaXpvbnRhbCB0Ym9keSB0cjpsYXN0LWNoaWxkIHRkIHtib3JkZXItcmlnaHQ6IDA7IH0gfXRhYmxlIHRyOm50aC1vZi10eXBlKDJuKSA+IHRkIHtiYWNrZ3JvdW5kOiB2YXIoLS10YWJsZS1ib2R5LWFsdC1iYWNrLWNvbG9yKTsgfUBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDUwMHB4KSB7dGFibGUgdHI6bnRoLW9mLXR5cGUoMm4pIHtiYWNrZ3JvdW5kOiB2YXIoLS10YWJsZS1ib2R5LWFsdC1iYWNrLWNvbG9yKTsgfSB9OnJvb3Qgey0tdGFibGUtYm9keS1ob3Zlci1iYWNrLWNvbG9yOiAjOTBjYWY5OyB9dGFibGUuaG92ZXJhYmxlIHRyOmhvdmVyLCB0YWJsZS5ob3ZlcmFibGUgdHI6aG92ZXIgPiB0ZCwgdGFibGUuaG92ZXJhYmxlIHRyOmZvY3VzLCB0YWJsZS5ob3ZlcmFibGUgdHI6Zm9jdXMgPiB0ZCB7YmFja2dyb3VuZDogdmFyKC0tdGFibGUtYm9keS1ob3Zlci1iYWNrLWNvbG9yKTsgfUBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDUwMHB4KSB7dGFibGUuaG92ZXJhYmxlIHRyOmhvdmVyLCB0YWJsZS5ob3ZlcmFibGUgdHI6aG92ZXIgPiB0ZCwgdGFibGUuaG92ZXJhYmxlIHRyOmZvY3VzLCB0YWJsZS5ob3ZlcmFibGUgdHI6Zm9jdXMgPiB0ZCB7YmFja2dyb3VuZDogdmFyKC0tdGFibGUtYm9keS1ob3Zlci1iYWNrLWNvbG9yKTsgfSB9OnJvb3Qgey0tbWFyay1iYWNrLWNvbG9yOiAjM2NiNGU2Oy0tbWFyay1mb3JlLWNvbG9yOiAjZmZmZmZmOyB9bWFyayB7YmFja2dyb3VuZDogdmFyKC0tbWFyay1iYWNrLWNvbG9yKTtjb2xvcjogdmFyKC0tbWFyay1mb3JlLWNvbG9yKTtmb250LXNpemU6IDAuOTVlbTtsaW5lLWhlaWdodDogMWVtO2JvcmRlci1yYWRpdXM6IHZhcigtLXVuaXZlcnNhbC1ib3JkZXItcmFkaXVzKTtwYWRkaW5nOiBjYWxjKHZhcigtLXVuaXZlcnNhbC1wYWRkaW5nKSAvIDQpIHZhcigtLXVuaXZlcnNhbC1wYWRkaW5nKTsgfW1hcmsuaW5saW5lLWJsb2NrIHtkaXNwbGF5OiBpbmxpbmUtYmxvY2s7Zm9udC1zaXplOiAxZW07bGluZS1oZWlnaHQ6IDEuNDtwYWRkaW5nOiBjYWxjKHZhcigtLXVuaXZlcnNhbC1wYWRkaW5nKSAvIDIpIHZhcigtLXVuaXZlcnNhbC1wYWRkaW5nKTsgfTpyb290IHstLXRvYXN0LWJhY2stY29sb3I6ICM0MjQyNDI7LS10b2FzdC1mb3JlLWNvbG9yOiAjZmFmYWZhOyB9LnRvYXN0IHtwb3NpdGlvbjogZml4ZWQ7Ym90dG9tOiBjYWxjKHZhcigtLXVuaXZlcnNhbC1tYXJnaW4pICogMyk7bGVmdDogNTAlO3RyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO3otaW5kZXg6IDExMTE7Y29sb3I6IHZhcigtLXRvYXN0LWZvcmUtY29sb3IpO2JhY2tncm91bmQ6IHZhcigtLXRvYXN0LWJhY2stY29sb3IpO2JvcmRlci1yYWRpdXM6IGNhbGModmFyKC0tdW5pdmVyc2FsLWJvcmRlci1yYWRpdXMpICogMTYpO3BhZGRpbmc6IHZhcigtLXVuaXZlcnNhbC1wYWRkaW5nKSBjYWxjKHZhcigtLXVuaXZlcnNhbC1wYWRkaW5nKSAqIDMpOyB9OnJvb3Qgey0tdG9vbHRpcC1iYWNrLWNvbG9yOiAjMjEyMTIxOy0tdG9vbHRpcC1mb3JlLWNvbG9yOiAjZmFmYWZhOyB9LnRvb2x0aXAge3Bvc2l0aW9uOiByZWxhdGl2ZTtkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IH0udG9vbHRpcDpiZWZvcmUsIC50b29sdGlwOmFmdGVyIHtwb3NpdGlvbjogYWJzb2x1dGU7b3BhY2l0eTogMDtjbGlwOiByZWN0KDAgMCAwIDApOy13ZWJraXQtY2xpcC1wYXRoOiBpbnNldCgxMDAlKTtjbGlwLXBhdGg6IGluc2V0KDEwMCUpO3RyYW5zaXRpb246IGFsbCAwLjNzO3otaW5kZXg6IDEwMTA7bGVmdDogNTAlOyB9LnRvb2x0aXA6bm90KC5ib3R0b20pOmJlZm9yZSwgLnRvb2x0aXA6bm90KC5ib3R0b20pOmFmdGVyIHtib3R0b206IDc1JTsgfS50b29sdGlwLmJvdHRvbTpiZWZvcmUsIC50b29sdGlwLmJvdHRvbTphZnRlciB7dG9wOiA3NSU7IH0udG9vbHRpcDpob3ZlcjpiZWZvcmUsIC50b29sdGlwOmhvdmVyOmFmdGVyLCAudG9vbHRpcDpmb2N1czpiZWZvcmUsIC50b29sdGlwOmZvY3VzOmFmdGVyIHtvcGFjaXR5OiAxO2NsaXA6IGF1dG87LXdlYmtpdC1jbGlwLXBhdGg6IGluc2V0KDAlKTtjbGlwLXBhdGg6IGluc2V0KDAlKTsgfS50b29sdGlwOmJlZm9yZSB7Y29udGVudDogJyc7YmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7Ym9yZGVyOiB2YXIoLS11bml2ZXJzYWwtbWFyZ2luKSBzb2xpZCB0cmFuc3BhcmVudDtsZWZ0OiBjYWxjKDUwJSAtIHZhcigtLXVuaXZlcnNhbC1tYXJnaW4pKTsgfS50b29sdGlwOm5vdCguYm90dG9tKTpiZWZvcmUge2JvcmRlci10b3AtY29sb3I6ICMyMTIxMjE7IH0udG9vbHRpcC5ib3R0b206YmVmb3JlIHtib3JkZXItYm90dG9tLWNvbG9yOiAjMjEyMTIxOyB9LnRvb2x0aXA6YWZ0ZXIge2NvbnRlbnQ6IGF0dHIoYXJpYS1sYWJlbCk7Y29sb3I6IHZhcigtLXRvb2x0aXAtZm9yZS1jb2xvcik7YmFja2dyb3VuZDogdmFyKC0tdG9vbHRpcC1iYWNrLWNvbG9yKTtib3JkZXItcmFkaXVzOiB2YXIoLS11bml2ZXJzYWwtYm9yZGVyLXJhZGl1cyk7cGFkZGluZzogdmFyKC0tdW5pdmVyc2FsLXBhZGRpbmcpO3doaXRlLXNwYWNlOiBub3dyYXA7dHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpOyB9LnRvb2x0aXA6bm90KC5ib3R0b20pOmFmdGVyIHttYXJnaW4tYm90dG9tOiBjYWxjKDIgKiB2YXIoLS11bml2ZXJzYWwtbWFyZ2luKSk7IH0udG9vbHRpcC5ib3R0b206YWZ0ZXIge21hcmdpbi10b3A6IGNhbGMoMiAqIHZhcigtLXVuaXZlcnNhbC1tYXJnaW4pKTsgfTpyb290IHstLW1vZGFsLW92ZXJsYXktY29sb3I6IHJnYmEoMCwgMCwgMCwgMC40NSk7LS1tb2RhbC1jbG9zZS1jb2xvcjogI2U2MDA3ZTstLW1vZGFsLWNsb3NlLWhvdmVyLWNvbG9yOiAjZmZlOTdmOyB9W3R5cGU9ImNoZWNrYm94Il0ubW9kYWwge2hlaWdodDogMXB4O3dpZHRoOiAxcHg7bWFyZ2luOiAtMXB4O292ZXJmbG93OiBoaWRkZW47cG9zaXRpb246IGFic29sdXRlO2NsaXA6IHJlY3QoMCAwIDAgMCk7LXdlYmtpdC1jbGlwLXBhdGg6IGluc2V0KDEwMCUpO2NsaXAtcGF0aDogaW5zZXQoMTAwJSk7IH1bdHlwZT0iY2hlY2tib3giXS5tb2RhbCArIGRpdiB7cG9zaXRpb246IGZpeGVkO3RvcDogMDtsZWZ0OiAwO2Rpc3BsYXk6IG5vbmU7d2lkdGg6IDEwMHZ3O2hlaWdodDogMTAwdmg7YmFja2dyb3VuZDogdmFyKC0tbW9kYWwtb3ZlcmxheS1jb2xvcik7IH1bdHlwZT0iY2hlY2tib3giXS5tb2RhbCArIGRpdiAuY2FyZCB7bWFyZ2luOiAwIGF1dG87bWF4LWhlaWdodDogNTB2aDtvdmVyZmxvdzogYXV0bzsgfVt0eXBlPSJjaGVja2JveCJdLm1vZGFsICsgZGl2IC5jYXJkIC5tb2RhbC1jbG9zZSB7cG9zaXRpb246IGFic29sdXRlO3RvcDogMDtyaWdodDogMDt3aWR0aDogMS43NXJlbTtoZWlnaHQ6IDEuNzVyZW07Ym9yZGVyLXJhZGl1czogdmFyKC0tdW5pdmVyc2FsLWJvcmRlci1yYWRpdXMpO3BhZGRpbmc6IHZhcigtLXVuaXZlcnNhbC1wYWRkaW5nKTttYXJnaW46IDA7Y3Vyc29yOiBwb2ludGVyO3RyYW5zaXRpb246IGJhY2tncm91bmQgMC4zczsgfVt0eXBlPSJjaGVja2JveCJdLm1vZGFsICsgZGl2IC5jYXJkIC5tb2RhbC1jbG9zZTpiZWZvcmUge2Rpc3BsYXk6IGJsb2NrO2NvbnRlbnQ6ICdcMDBENyc7Y29sb3I6IHZhcigtLW1vZGFsLWNsb3NlLWNvbG9yKTtwb3NpdGlvbjogcmVsYXRpdmU7Zm9udC1mYW1pbHk6IHNhbnMtc2VyaWY7Zm9udC1zaXplOiAxLjc1cmVtO2xpbmUtaGVpZ2h0OiAxO3RleHQtYWxpZ246IGNlbnRlcjsgfVt0eXBlPSJjaGVja2JveCJdLm1vZGFsICsgZGl2IC5jYXJkIC5tb2RhbC1jbG9zZTpob3ZlciwgW3R5cGU9ImNoZWNrYm94Il0ubW9kYWwgKyBkaXYgLmNhcmQgLm1vZGFsLWNsb3NlOmZvY3VzIHtiYWNrZ3JvdW5kOiB2YXIoLS1tb2RhbC1jbG9zZS1ob3Zlci1jb2xvcik7IH1bdHlwZT0iY2hlY2tib3giXS5tb2RhbDpjaGVja2VkICsgZGl2IHtkaXNwbGF5OiBmbGV4O2ZsZXg6IDAgMSBhdXRvO3otaW5kZXg6IDEyMDA7IH1bdHlwZT0iY2hlY2tib3giXS5tb2RhbDpjaGVja2VkICsgZGl2IC5jYXJkIC5tb2RhbC1jbG9zZSB7ei1pbmRleDogMTIxMTsgfTpyb290IHstLWNvbGxhcHNlLWxhYmVsLWJhY2stY29sb3I6ICMwMzIzNGI7LS1jb2xsYXBzZS1sYWJlbC1mb3JlLWNvbG9yOiAjZmZmZmZmOy0tY29sbGFwc2UtbGFiZWwtaG92ZXItYmFjay1jb2xvcjogIzNjYjRlNjstLWNvbGxhcHNlLXNlbGVjdGVkLWxhYmVsLWJhY2stY29sb3I6ICMzY2I0ZTY7LS1jb2xsYXBzZS1ib3JkZXItY29sb3I6IHZhcigtLWNvbGxhcHNlLWxhYmVsLWJhY2stY29sb3IpOy0tY29sbGFwc2Utc2VsZWN0ZWQtYm9yZGVyLWNvbG9yOiAjY2VlY2Y4Oy0tY29sbGFwc2UtY29udGVudC1iYWNrLWNvbG9yOiAjZmZmZmZmOy0tY29sbGFwc2Utc2VsZWN0ZWQtbGFiZWwtYm9yZGVyLWNvbG9yOiAjM2NiNGU2OyB9LmNvbGxhcHNlIHt3aWR0aDogY2FsYygxMDAlIC0gMiAqIHZhcigtLXVuaXZlcnNhbC1tYXJnaW4pKTtvcGFjaXR5OiAxO2Rpc3BsYXk6IGZsZXg7ZmxleC1kaXJlY3Rpb246IGNvbHVtbjttYXJnaW46IHZhcigtLXVuaXZlcnNhbC1tYXJnaW4pO2JvcmRlci1yYWRpdXM6IHZhcigtLXVuaXZlcnNhbC1ib3JkZXItcmFkaXVzKTsgfS5jb2xsYXBzZSA+IFt0eXBlPSJyYWRpbyJdLCAuY29sbGFwc2UgPiBbdHlwZT0iY2hlY2tib3giXSB7aGVpZ2h0OiAxcHg7d2lkdGg6IDFweDttYXJnaW46IC0xcHg7b3ZlcmZsb3c6IGhpZGRlbjtwb3NpdGlvbjogYWJzb2x1dGU7Y2xpcDogcmVjdCgwIDAgMCAwKTstd2Via2l0LWNsaXAtcGF0aDogaW5zZXQoMTAwJSk7Y2xpcC1wYXRoOiBpbnNldCgxMDAlKTsgfS5jb2xsYXBzZSA+IGxhYmVsIHtmbGV4LWdyb3c6IDE7ZGlzcGxheTogaW5saW5lLWJsb2NrO2hlaWdodDogMS4yNXJlbTtjdXJzb3I6IHBvaW50ZXI7dHJhbnNpdGlvbjogYmFja2dyb3VuZCAwLjJzO2NvbG9yOiB2YXIoLS1jb2xsYXBzZS1sYWJlbC1mb3JlLWNvbG9yKTtiYWNrZ3JvdW5kOiB2YXIoLS1jb2xsYXBzZS1sYWJlbC1iYWNrLWNvbG9yKTtib3JkZXI6IDAuMDcxNDI4NTcxNHJlbSBzb2xpZCB2YXIoLS1jb2xsYXBzZS1zZWxlY3RlZC1ib3JkZXItY29sb3IpO3BhZGRpbmc6IGNhbGMoMS4yNSAqIHZhcigtLXVuaXZlcnNhbC1wYWRkaW5nKSk7IH0uY29sbGFwc2UgPiBsYWJlbDpob3ZlciwgLmNvbGxhcHNlID4gbGFiZWw6Zm9jdXMge2JhY2tncm91bmQ6IHZhcigtLWNvbGxhcHNlLWxhYmVsLWhvdmVyLWJhY2stY29sb3IpOyB9LmNvbGxhcHNlID4gbGFiZWwgKyBkaXYge2ZsZXgtYmFzaXM6IGF1dG87aGVpZ2h0OiAxcHg7d2lkdGg6IDFweDttYXJnaW46IC0xcHg7b3ZlcmZsb3c6IGhpZGRlbjtwb3NpdGlvbjogYWJzb2x1dGU7Y2xpcDogcmVjdCgwIDAgMCAwKTstd2Via2l0LWNsaXAtcGF0aDogaW5zZXQoMTAwJSk7Y2xpcC1wYXRoOiBpbnNldCgxMDAlKTt0cmFuc2l0aW9uOiBtYXgtaGVpZ2h0IDAuM3M7bWF4LWhlaWdodDogMXB4OyB9LmNvbGxhcHNlID4gOmNoZWNrZWQgKyBsYWJlbCB7YmFja2dyb3VuZDogdmFyKC0tY29sbGFwc2Utc2VsZWN0ZWQtbGFiZWwtYmFjay1jb2xvcik7Ym9yZGVyLWNvbG9yOiB2YXIoLS1jb2xsYXBzZS1zZWxlY3RlZC1sYWJlbC1ib3JkZXItY29sb3IpOyB9LmNvbGxhcHNlID4gOmNoZWNrZWQgKyBsYWJlbCArIGRpdiB7Ym94LXNpemluZzogYm9yZGVyLWJveDtwb3NpdGlvbjogcmVsYXRpdmU7d2lkdGg6IDEwMCU7aGVpZ2h0OiBhdXRvO292ZXJmbG93OiBhdXRvO21hcmdpbjogMDtiYWNrZ3JvdW5kOiB2YXIoLS1jb2xsYXBzZS1jb250ZW50LWJhY2stY29sb3IpO2JvcmRlcjogMC4wNzE0Mjg1NzE0cmVtIHNvbGlkIHZhcigtLWNvbGxhcHNlLXNlbGVjdGVkLWJvcmRlci1jb2xvcik7Ym9yZGVyLXRvcDogMDtwYWRkaW5nOiB2YXIoLS11bml2ZXJzYWwtcGFkZGluZyk7Y2xpcDogYXV0bzstd2Via2l0LWNsaXAtcGF0aDogaW5zZXQoMCUpO2NsaXAtcGF0aDogaW5zZXQoMCUpO21heC1oZWlnaHQ6IDEwMCU7IH0uY29sbGFwc2UgPiBsYWJlbDpub3QoOmZpcnN0LW9mLXR5cGUpIHtib3JkZXItdG9wOiAwOyB9LmNvbGxhcHNlID4gbGFiZWw6Zmlyc3Qtb2YtdHlwZSB7Ym9yZGVyLXJhZGl1czogdmFyKC0tdW5pdmVyc2FsLWJvcmRlci1yYWRpdXMpIHZhcigtLXVuaXZlcnNhbC1ib3JkZXItcmFkaXVzKSAwIDA7IH0uY29sbGFwc2UgPiBsYWJlbDpsYXN0LW9mLXR5cGU6bm90KDpmaXJzdC1vZi10eXBlKSB7Ym9yZGVyLXJhZGl1czogMCAwIHZhcigtLXVuaXZlcnNhbC1ib3JkZXItcmFkaXVzKSB2YXIoLS11bml2ZXJzYWwtYm9yZGVyLXJhZGl1cyk7IH0uY29sbGFwc2UgPiBsYWJlbDpsYXN0LW9mLXR5cGU6Zmlyc3Qtb2YtdHlwZSB7Ym9yZGVyLXJhZGl1czogdmFyKC0tdW5pdmVyc2FsLWJvcmRlci1yYWRpdXMpOyB9LmNvbGxhcHNlID4gOmNoZWNrZWQ6bGFzdC1vZi10eXBlOm5vdCg6Zmlyc3Qtb2YtdHlwZSkgKyBsYWJlbCB7Ym9yZGVyLXJhZGl1czogMDsgfS5jb2xsYXBzZSA+IDpjaGVja2VkOmxhc3Qtb2YtdHlwZSArIGxhYmVsICsgZGl2IHtib3JkZXItcmFkaXVzOiAwIDAgdmFyKC0tdW5pdmVyc2FsLWJvcmRlci1yYWRpdXMpIHZhcigtLXVuaXZlcnNhbC1ib3JkZXItcmFkaXVzKTsgfW1hcmsudGVydGlhcnkgey0tbWFyay1iYWNrLWNvbG9yOiAjM2NiNGU2OyB9bWFyay50YWcge3BhZGRpbmc6IGNhbGModmFyKC0tdW5pdmVyc2FsLXBhZGRpbmcpLzIpIHZhcigtLXVuaXZlcnNhbC1wYWRkaW5nKTtib3JkZXItcmFkaXVzOiAxZW07IH06cm9vdCB7LS1wcm9ncmVzcy1iYWNrLWNvbG9yOiAjM2NiNGU2Oy0tcHJvZ3Jlc3MtZm9yZS1jb2xvcjogIzU1NTsgfXByb2dyZXNzIHtkaXNwbGF5OiBibG9jazt2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7LXdlYmtpdC1hcHBlYXJhbmNlOiBub25lOy1tb3otYXBwZWFyYW5jZTogbm9uZTthcHBlYXJhbmNlOiBub25lO2hlaWdodDogMC43NXJlbTt3aWR0aDogY2FsYygxMDAlIC0gMiAqIHZhcigtLXVuaXZlcnNhbC1tYXJnaW4pKTttYXJnaW46IHZhcigtLXVuaXZlcnNhbC1tYXJnaW4pO2JvcmRlcjogMDtib3JkZXItcmFkaXVzOiBjYWxjKDIgKiB2YXIoLS11bml2ZXJzYWwtYm9yZGVyLXJhZGl1cykpO2JhY2tncm91bmQ6IHZhcigtLXByb2dyZXNzLWJhY2stY29sb3IpO2NvbG9yOiB2YXIoLS1wcm9ncmVzcy1mb3JlLWNvbG9yKTsgfXByb2dyZXNzOjotd2Via2l0LXByb2dyZXNzLXZhbHVlIHtiYWNrZ3JvdW5kOiB2YXIoLS1wcm9ncmVzcy1mb3JlLWNvbG9yKTtib3JkZXItdG9wLWxlZnQtcmFkaXVzOiBjYWxjKDIgKiB2YXIoLS11bml2ZXJzYWwtYm9yZGVyLXJhZGl1cykpO2JvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IGNhbGMoMiAqIHZhcigtLXVuaXZlcnNhbC1ib3JkZXItcmFkaXVzKSk7IH1wcm9ncmVzczo6LXdlYmtpdC1wcm9ncmVzcy1iYXIge2JhY2tncm91bmQ6IHZhcigtLXByb2dyZXNzLWJhY2stY29sb3IpOyB9cHJvZ3Jlc3M6Oi1tb3otcHJvZ3Jlc3MtYmFyIHtiYWNrZ3JvdW5kOiB2YXIoLS1wcm9ncmVzcy1mb3JlLWNvbG9yKTtib3JkZXItdG9wLWxlZnQtcmFkaXVzOiBjYWxjKDIgKiB2YXIoLS11bml2ZXJzYWwtYm9yZGVyLXJhZGl1cykpO2JvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IGNhbGMoMiAqIHZhcigtLXVuaXZlcnNhbC1ib3JkZXItcmFkaXVzKSk7IH1wcm9ncmVzc1t2YWx1ZT0iMTAwMCJdOjotd2Via2l0LXByb2dyZXNzLXZhbHVlIHtib3JkZXItcmFkaXVzOiBjYWxjKDIgKiB2YXIoLS11bml2ZXJzYWwtYm9yZGVyLXJhZGl1cykpOyB9cHJvZ3Jlc3NbdmFsdWU9IjEwMDAiXTo6LW1vei1wcm9ncmVzcy1iYXIge2JvcmRlci1yYWRpdXM6IGNhbGMoMiAqIHZhcigtLXVuaXZlcnNhbC1ib3JkZXItcmFkaXVzKSk7IH1wcm9ncmVzcy5pbmxpbmUge2Rpc3BsYXk6IGlubGluZS1ibG9jazt2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO3dpZHRoOiA2MCU7IH06cm9vdCB7LS1zcGlubmVyLWJhY2stY29sb3I6ICNkZGQ7LS1zcGlubmVyLWZvcmUtY29sb3I6ICM1NTU7IH1Aa2V5ZnJhbWVzIHNwaW5uZXItZG9udXQtYW5pbSB7MCUge3RyYW5zZm9ybTogcm90YXRlKDBkZWcpOyB9MTAwJSB7dHJhbnNmb3JtOiByb3RhdGUoMzYwZGVnKTsgfSB9LnNwaW5uZXIge2Rpc3BsYXk6IGlubGluZS1ibG9jazttYXJnaW46IHZhcigtLXVuaXZlcnNhbC1tYXJnaW4pO2JvcmRlcjogMC4yNXJlbSBzb2xpZCB2YXIoLS1zcGlubmVyLWJhY2stY29sb3IpO2JvcmRlci1sZWZ0OiAwLjI1cmVtIHNvbGlkIHZhcigtLXNwaW5uZXItZm9yZS1jb2xvcik7Ym9yZGVyLXJhZGl1czogNTAlO3dpZHRoOiAxLjI1cmVtO2hlaWdodDogMS4yNXJlbTthbmltYXRpb246IHNwaW5uZXItZG9udXQtYW5pbSAxLjJzIGxpbmVhciBpbmZpbml0ZTsgfXByb2dyZXNzLnByaW1hcnkgey0tcHJvZ3Jlc3MtZm9yZS1jb2xvcjogIzE5NzZkMjsgfXByb2dyZXNzLnNlY29uZGFyeSB7LS1wcm9ncmVzcy1mb3JlLWNvbG9yOiAjZDMyZjJmOyB9cHJvZ3Jlc3MudGVydGlhcnkgey0tcHJvZ3Jlc3MtZm9yZS1jb2xvcjogIzMwODczMjsgfS5zcGlubmVyLnByaW1hcnkgey0tc3Bpbm5lci1mb3JlLWNvbG9yOiAjMTk3NmQyOyB9LnNwaW5uZXIuc2Vjb25kYXJ5IHstLXNwaW5uZXItZm9yZS1jb2xvcjogI2QzMmYyZjsgfS5zcGlubmVyLnRlcnRpYXJ5IHstLXNwaW5uZXItZm9yZS1jb2xvcjogIzMwODczMjsgfXNwYW5bY2xhc3NePSdpY29uLSddIHtkaXNwbGF5OiBpbmxpbmUtYmxvY2s7aGVpZ2h0OiAxZW07d2lkdGg6IDFlbTt2ZXJ0aWNhbC1hbGlnbjogLTAuMTI1ZW07YmFja2dyb3VuZC1zaXplOiBjb250YWluO21hcmdpbjogMCBjYWxjKHZhcigtLXVuaXZlcnNhbC1tYXJnaW4pIC8gNCk7IH1zcGFuW2NsYXNzXj0naWNvbi0nXS5zZWNvbmRhcnkgey13ZWJraXQtZmlsdGVyOiBpbnZlcnQoMjUlKTtmaWx0ZXI6IGludmVydCgyNSUpOyB9c3BhbltjbGFzc149J2ljb24tJ10uaW52ZXJzZSB7LXdlYmtpdC1maWx0ZXI6IGludmVydCgxMDAlKTtmaWx0ZXI6IGludmVydCgxMDAlKTsgfXNwYW4uaWNvbi1hbGVydCB7YmFja2dyb3VuZC1pbWFnZTogdXJsKCJkYXRhOmltYWdlL3N2Zyt4bWwsJTNDc3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgd2lkdGg9JzI0JyBoZWlnaHQ9JzI0JyB2aWV3Qm94PScwIDAgMjQgMjQnIGZpbGw9J25vbmUnIHN0cm9rZT0nJTIzMDMyMzRiJyBzdHJva2Utd2lkdGg9JzInIHN0cm9rZS1saW5lY2FwPSdyb3VuZCcgc3Ryb2tlLWxpbmVqb2luPSdyb3VuZCclM0UlM0NjaXJjbGUgY3g9JzEyJyBjeT0nMTInIHI9JzEwJyUzRSUzQy9jaXJjbGUlM0UlM0NsaW5lIHgxPScxMicgeTE9JzgnIHgyPScxMicgeTI9JzEyJyUzRSUzQy9saW5lJTNFJTNDbGluZSB4MT0nMTInIHkxPScxNicgeDI9JzEyJyB5Mj0nMTYnJTNFJTNDL2xpbmUlM0UlM0Mvc3ZnJTNFIik7IH1zcGFuLmljb24tYm9va21hcmsge2JhY2tncm91bmQtaW1hZ2U6IHVybCgiZGF0YTppbWFnZS9zdmcreG1sLCUzQ3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHdpZHRoPScyNCcgaGVpZ2h0PScyNCcgdmlld0JveD0nMCAwIDI0IDI0JyBmaWxsPSdub25lJyBzdHJva2U9JyUyMzAzMjM0Yicgc3Ryb2tlLXdpZHRoPScyJyBzdHJva2UtbGluZWNhcD0ncm91bmQnIHN0cm9rZS1saW5lam9pbj0ncm91bmQnJTNFJTNDcGF0aCBkPSdNMTkgMjFsLTctNS03IDVWNWEyIDIgMCAwIDEgMi0yaDEwYTIgMiAwIDAgMSAyIDJ6JyUzRSUzQy9wYXRoJTNFJTNDL3N2ZyUzRSIpOyB9c3Bhbi5pY29uLWNhbGVuZGFyIHtiYWNrZ3JvdW5kLWltYWdlOiB1cmwoImRhdGE6aW1hZ2Uvc3ZnK3htbCwlM0NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB3aWR0aD0nMjQnIGhlaWdodD0nMjQnIHZpZXdCb3g9JzAgMCAyNCAyNCcgZmlsbD0nbm9uZScgc3Ryb2tlPSclMjMwMzIzNGInIHN0cm9rZS13aWR0aD0nMicgc3Ryb2tlLWxpbmVjYXA9J3JvdW5kJyBzdHJva2UtbGluZWpvaW49J3JvdW5kJyUzRSUzQ3JlY3QgeD0nMycgeT0nNCcgd2lkdGg9JzE4JyBoZWlnaHQ9JzE4JyByeD0nMicgcnk9JzInJTNFJTNDL3JlY3QlM0UlM0NsaW5lIHgxPScxNicgeTE9JzInIHgyPScxNicgeTI9JzYnJTNFJTNDL2xpbmUlM0UlM0NsaW5lIHgxPSc4JyB5MT0nMicgeDI9JzgnIHkyPSc2JyUzRSUzQy9saW5lJTNFJTNDbGluZSB4MT0nMycgeTE9JzEwJyB4Mj0nMjEnIHkyPScxMCclM0UlM0MvbGluZSUzRSUzQy9zdmclM0UiKTsgfXNwYW4uaWNvbi1jcmVkaXQge2JhY2tncm91bmQtaW1hZ2U6IHVybCgiZGF0YTppbWFnZS9zdmcreG1sLCUzQ3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHdpZHRoPScyNCcgaGVpZ2h0PScyNCcgdmlld0JveD0nMCAwIDI0IDI0JyBmaWxsPSdub25lJyBzdHJva2U9JyUyMzAzMjM0Yicgc3Ryb2tlLXdpZHRoPScyJyBzdHJva2UtbGluZWNhcD0ncm91bmQnIHN0cm9rZS1saW5lam9pbj0ncm91bmQnJTNFJTNDcmVjdCB4PScxJyB5PSc0JyB3aWR0aD0nMjInIGhlaWdodD0nMTYnIHJ4PScyJyByeT0nMiclM0UlM0MvcmVjdCUzRSUzQ2xpbmUgeDE9JzEnIHkxPScxMCcgeDI9JzIzJyB5Mj0nMTAnJTNFJTNDL2xpbmUlM0UlM0Mvc3ZnJTNFIik7IH1zcGFuLmljb24tZWRpdCB7YmFja2dyb3VuZC1pbWFnZTogdXJsKCJkYXRhOmltYWdlL3N2Zyt4bWwsJTNDc3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgd2lkdGg9JzI0JyBoZWlnaHQ9JzI0JyB2aWV3Qm94PScwIDAgMjQgMjQnIGZpbGw9J25vbmUnIHN0cm9rZT0nJTIzMDMyMzRiJyBzdHJva2Utd2lkdGg9JzInIHN0cm9rZS1saW5lY2FwPSdyb3VuZCcgc3Ryb2tlLWxpbmVqb2luPSdyb3VuZCclM0UlM0NwYXRoIGQ9J00yMCAxNC42NlYyMGEyIDIgMCAwIDEtMiAySDRhMiAyIDAgMCAxLTItMlY2YTIgMiAwIDAgMSAyLTJoNS4zNCclM0UlM0MvcGF0aCUzRSUzQ3BvbHlnb24gcG9pbnRzPScxOCAyIDIyIDYgMTIgMTYgOCAxNiA4IDEyIDE4IDInJTNFJTNDL3BvbHlnb24lM0UlM0Mvc3ZnJTNFIik7IH1zcGFuLmljb24tbGluayB7YmFja2dyb3VuZC1pbWFnZTogdXJsKCJkYXRhOmltYWdlL3N2Zyt4bWwsJTNDc3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgd2lkdGg9JzI0JyBoZWlnaHQ9JzI0JyB2aWV3Qm94PScwIDAgMjQgMjQnIGZpbGw9J25vbmUnIHN0cm9rZT0nJTIzMDMyMzRiJyBzdHJva2Utd2lkdGg9JzInIHN0cm9rZS1saW5lY2FwPSdyb3VuZCcgc3Ryb2tlLWxpbmVqb2luPSdyb3VuZCclM0UlM0NwYXRoIGQ9J00xOCAxM3Y2YTIgMiAwIDAgMS0yIDJINWEyIDIgMCAwIDEtMi0yVjhhMiAyIDAgMCAxIDItMmg2JyUzRSUzQy9wYXRoJTNFJTNDcG9seWxpbmUgcG9pbnRzPScxNSAzIDIxIDMgMjEgOSclM0UlM0MvcG9seWxpbmUlM0UlM0NsaW5lIHgxPScxMCcgeTE9JzE0JyB4Mj0nMjEnIHkyPSczJyUzRSUzQy9saW5lJTNFJTNDL3N2ZyUzRSIpOyB9c3Bhbi5pY29uLWhlbHAge2JhY2tncm91bmQtaW1hZ2U6IHVybCgiZGF0YTppbWFnZS9zdmcreG1sLCUzQ3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHdpZHRoPScyNCcgaGVpZ2h0PScyNCcgdmlld0JveD0nMCAwIDI0IDI0JyBmaWxsPSdub25lJyBzdHJva2U9JyUyMzAzMjM0Yicgc3Ryb2tlLXdpZHRoPScyJyBzdHJva2UtbGluZWNhcD0ncm91bmQnIHN0cm9rZS1saW5lam9pbj0ncm91bmQnJTNFJTNDcGF0aCBkPSdNOS4wOSA5YTMgMyAwIDAgMSA1LjgzIDFjMCAyLTMgMy0zIDMnJTNFJTNDL3BhdGglM0UlM0NjaXJjbGUgY3g9JzEyJyBjeT0nMTInIHI9JzEwJyUzRSUzQy9jaXJjbGUlM0UlM0NsaW5lIHgxPScxMicgeTE9JzE3JyB4Mj0nMTInIHkyPScxNyclM0UlM0MvbGluZSUzRSUzQy9zdmclM0UiKTsgfXNwYW4uaWNvbi1ob21lIHtiYWNrZ3JvdW5kLWltYWdlOiB1cmwoImRhdGE6aW1hZ2Uvc3ZnK3htbCwlM0NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB3aWR0aD0nMjQnIGhlaWdodD0nMjQnIHZpZXdCb3g9JzAgMCAyNCAyNCcgZmlsbD0nbm9uZScgc3Ryb2tlPSclMjMwMzIzNGInIHN0cm9rZS13aWR0aD0nMicgc3Ryb2tlLWxpbmVjYXA9J3JvdW5kJyBzdHJva2UtbGluZWpvaW49J3JvdW5kJyUzRSUzQ3BhdGggZD0nTTMgOWw5LTcgOSA3djExYTIgMiAwIDAgMS0yIDJINWEyIDIgMCAwIDEtMi0yeiclM0UlM0MvcGF0aCUzRSUzQ3BvbHlsaW5lIHBvaW50cz0nOSAyMiA5IDEyIDE1IDEyIDE1IDIyJyUzRSUzQy9wb2x5bGluZSUzRSUzQy9zdmclM0UiKTsgfXNwYW4uaWNvbi1pbmZvIHtiYWNrZ3JvdW5kLWltYWdlOiB1cmwoImRhdGE6aW1hZ2Uvc3ZnK3htbCwlM0NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB3aWR0aD0nMjQnIGhlaWdodD0nMjQnIHZpZXdCb3g9JzAgMCAyNCAyNCcgZmlsbD0nbm9uZScgc3Ryb2tlPSclMjMwMzIzNGInIHN0cm9rZS13aWR0aD0nMicgc3Ryb2tlLWxpbmVjYXA9J3JvdW5kJyBzdHJva2UtbGluZWpvaW49J3JvdW5kJyUzRSUzQ2NpcmNsZSBjeD0nMTInIGN5PScxMicgcj0nMTAnJTNFJTNDL2NpcmNsZSUzRSUzQ2xpbmUgeDE9JzEyJyB5MT0nMTYnIHgyPScxMicgeTI9JzEyJyUzRSUzQy9saW5lJTNFJTNDbGluZSB4MT0nMTInIHkxPSc4JyB4Mj0nMTInIHkyPSc4JyUzRSUzQy9saW5lJTNFJTNDL3N2ZyUzRSIpOyB9c3Bhbi5pY29uLWxvY2sge2JhY2tncm91bmQtaW1hZ2U6IHVybCgiZGF0YTppbWFnZS9zdmcreG1sLCUzQ3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHdpZHRoPScyNCcgaGVpZ2h0PScyNCcgdmlld0JveD0nMCAwIDI0IDI0JyBmaWxsPSdub25lJyBzdHJva2U9JyUyMzAzMjM0Yicgc3Ryb2tlLXdpZHRoPScyJyBzdHJva2UtbGluZWNhcD0ncm91bmQnIHN0cm9rZS1saW5lam9pbj0ncm91bmQnJTNFJTNDcmVjdCB4PSczJyB5PScxMScgd2lkdGg9JzE4JyBoZWlnaHQ9JzExJyByeD0nMicgcnk9JzInJTNFJTNDL3JlY3QlM0UlM0NwYXRoIGQ9J003IDExVjdhNSA1IDAgMCAxIDEwIDB2NCclM0UlM0MvcGF0aCUzRSUzQy9zdmclM0UiKTsgfXNwYW4uaWNvbi1tYWlsIHtiYWNrZ3JvdW5kLWltYWdlOiB1cmwoImRhdGE6aW1hZ2Uvc3ZnK3htbCwlM0NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB3aWR0aD0nMjQnIGhlaWdodD0nMjQnIHZpZXdCb3g9JzAgMCAyNCAyNCcgZmlsbD0nbm9uZScgc3Ryb2tlPSclMjMwMzIzNGInIHN0cm9rZS13aWR0aD0nMicgc3Ryb2tlLWxpbmVjYXA9J3JvdW5kJyBzdHJva2UtbGluZWpvaW49J3JvdW5kJyUzRSUzQ3BhdGggZD0nTTQgNGgxNmMxLjEgMCAyIC45IDIgMnYxMmMwIDEuMS0uOSAyLTIgMkg0Yy0xLjEgMC0yLS45LTItMlY2YzAtMS4xLjktMiAyLTJ6JyUzRSUzQy9wYXRoJTNFJTNDcG9seWxpbmUgcG9pbnRzPScyMiw2IDEyLDEzIDIsNiclM0UlM0MvcG9seWxpbmUlM0UlM0Mvc3ZnJTNFIik7IH1zcGFuLmljb24tbG9jYXRpb24ge2JhY2tncm91bmQtaW1hZ2U6IHVybCgiZGF0YTppbWFnZS9zdmcreG1sLCUzQ3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHdpZHRoPScyNCcgaGVpZ2h0PScyNCcgdmlld0JveD0nMCAwIDI0IDI0JyBmaWxsPSdub25lJyBzdHJva2U9JyUyMzAzMjM0Yicgc3Ryb2tlLXdpZHRoPScyJyBzdHJva2UtbGluZWNhcD0ncm91bmQnIHN0cm9rZS1saW5lam9pbj0ncm91bmQnJTNFJTNDcGF0aCBkPSdNMjEgMTBjMCA3LTkgMTMtOSAxM3MtOS02LTktMTNhOSA5IDAgMCAxIDE4IDB6JyUzRSUzQy9wYXRoJTNFJTNDY2lyY2xlIGN4PScxMicgY3k9JzEwJyByPSczJyUzRSUzQy9jaXJjbGUlM0UlM0Mvc3ZnJTNFIik7IH1zcGFuLmljb24tcGhvbmUge2JhY2tncm91bmQtaW1hZ2U6IHVybCgiZGF0YTppbWFnZS9zdmcreG1sLCUzQ3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHdpZHRoPScyNCcgaGVpZ2h0PScyNCcgdmlld0JveD0nMCAwIDI0IDI0JyBmaWxsPSdub25lJyBzdHJva2U9JyUyMzAzMjM0Yicgc3Ryb2tlLXdpZHRoPScyJyBzdHJva2UtbGluZWNhcD0ncm91bmQnIHN0cm9rZS1saW5lam9pbj0ncm91bmQnJTNFJTNDcGF0aCBkPSdNMjIgMTYuOTJ2M2EyIDIgMCAwIDEtMi4xOCAyIDE5Ljc5IDE5Ljc5IDAgMCAxLTguNjMtMy4wNyAxOS41IDE5LjUgMCAwIDEtNi02IDE5Ljc5IDE5Ljc5IDAgMCAxLTMuMDctOC42N0EyIDIgMCAwIDEgNC4xMSAyaDNhMiAyIDAgMCAxIDIgMS43MiAxMi44NCAxMi44NCAwIDAgMCAuNyAyLjgxIDIgMiAwIDAgMS0uNDUgMi4xMUw4LjA5IDkuOTFhMTYgMTYgMCAwIDAgNiA2bDEuMjctMS4yN2EyIDIgMCAwIDEgMi4xMS0uNDUgMTIuODQgMTIuODQgMCAwIDAgMi44MS43QTIgMiAwIDAgMSAyMiAxNi45MnonJTNFJTNDL3BhdGglM0UlM0Mvc3ZnJTNFIik7IH1zcGFuLmljb24tcnNzIHtiYWNrZ3JvdW5kLWltYWdlOiB1cmwoImRhdGE6aW1hZ2Uvc3ZnK3htbCwlM0NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB3aWR0aD0nMjQnIGhlaWdodD0nMjQnIHZpZXdCb3g9JzAgMCAyNCAyNCcgZmlsbD0nbm9uZScgc3Ryb2tlPSclMjMwMzIzNGInIHN0cm9rZS13aWR0aD0nMicgc3Ryb2tlLWxpbmVjYXA9J3JvdW5kJyBzdHJva2UtbGluZWpvaW49J3JvdW5kJyUzRSUzQ3BhdGggZD0nTTQgMTFhOSA5IDAgMCAxIDkgOSclM0UlM0MvcGF0aCUzRSUzQ3BhdGggZD0nTTQgNGExNiAxNiAwIDAgMSAxNiAxNiclM0UlM0MvcGF0aCUzRSUzQ2NpcmNsZSBjeD0nNScgY3k9JzE5JyByPScxJyUzRSUzQy9jaXJjbGUlM0UlM0Mvc3ZnJTNFIik7IH1zcGFuLmljb24tc2VhcmNoIHtiYWNrZ3JvdW5kLWltYWdlOiB1cmwoImRhdGE6aW1hZ2Uvc3ZnK3htbCwlM0NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB3aWR0aD0nMjQnIGhlaWdodD0nMjQnIHZpZXdCb3g9JzAgMCAyNCAyNCcgZmlsbD0nbm9uZScgc3Ryb2tlPSclMjMwMzIzNGInIHN0cm9rZS13aWR0aD0nMicgc3Ryb2tlLWxpbmVjYXA9J3JvdW5kJyBzdHJva2UtbGluZWpvaW49J3JvdW5kJyUzRSUzQ2NpcmNsZSBjeD0nMTEnIGN5PScxMScgcj0nOCclM0UlM0MvY2lyY2xlJTNFJTNDbGluZSB4MT0nMjEnIHkxPScyMScgeDI9JzE2LjY1JyB5Mj0nMTYuNjUnJTNFJTNDL2xpbmUlM0UlM0Mvc3ZnJTNFIik7IH1zcGFuLmljb24tc2V0dGluZ3Mge2JhY2tncm91bmQtaW1hZ2U6IHVybCgiZGF0YTppbWFnZS9zdmcreG1sLCUzQ3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHdpZHRoPScyNCcgaGVpZ2h0PScyNCcgdmlld0JveD0nMCAwIDI0IDI0JyBmaWxsPSdub25lJyBzdHJva2U9JyUyMzAzMjM0Yicgc3Ryb2tlLXdpZHRoPScyJyBzdHJva2UtbGluZWNhcD0ncm91bmQnIHN0cm9rZS1saW5lam9pbj0ncm91bmQnJTNFJTNDY2lyY2xlIGN4PScxMicgY3k9JzEyJyByPSczJyUzRSUzQy9jaXJjbGUlM0UlM0NwYXRoIGQ9J00xOS40IDE1YTEuNjUgMS42NSAwIDAgMCAuMzMgMS44MmwuMDYuMDZhMiAyIDAgMCAxIDAgMi44MyAyIDIgMCAwIDEtMi44MyAwbC0uMDYtLjA2YTEuNjUgMS42NSAwIDAgMC0xLjgyLS4zMyAxLjY1IDEuNjUgMCAwIDAtMSAxLjUxVjIxYTIgMiAwIDAgMS0yIDIgMiAyIDAgMCAxLTItMnYtLjA5QTEuNjUgMS42NSAwIDAgMCA5IDE5LjRhMS42NSAxLjY1IDAgMCAwLTEuODIuMzNsLS4wNi4wNmEyIDIgMCAwIDEtMi44MyAwIDIgMiAwIDAgMSAwLTIuODNsLjA2LS4wNmExLjY1IDEuNjUgMCAwIDAgLjMzLTEuODIgMS42NSAxLjY1IDAgMCAwLTEuNTEtMUgzYTIgMiAwIDAgMS0yLTIgMiAyIDAgMCAxIDItMmguMDlBMS42NSAxLjY1IDAgMCAwIDQuNiA5YTEuNjUgMS42NSAwIDAgMC0uMzMtMS44MmwtLjA2LS4wNmEyIDIgMCAwIDEgMC0yLjgzIDIgMiAwIDAgMSAyLjgzIDBsLjA2LjA2YTEuNjUgMS42NSAwIDAgMCAxLjgyLjMzSDlhMS42NSAxLjY1IDAgMCAwIDEtMS41MVYzYTIgMiAwIDAgMSAyLTIgMiAyIDAgMCAxIDIgMnYuMDlhMS42NSAxLjY1IDAgMCAwIDEgMS41MSAxLjY1IDEuNjUgMCAwIDAgMS44Mi0uMzNsLjA2LS4wNmEyIDIgMCAwIDEgMi44MyAwIDIgMiAwIDAgMSAwIDIuODNsLS4wNi4wNmExLjY1IDEuNjUgMCAwIDAtLjMzIDEuODJWOWExLjY1IDEuNjUgMCAwIDAgMS41MSAxSDIxYTIgMiAwIDAgMSAyIDIgMiAyIDAgMCAxLTIgMmgtLjA5YTEuNjUgMS42NSAwIDAgMC0xLjUxIDF6JyUzRSUzQy9wYXRoJTNFJTNDL3N2ZyUzRSIpOyB9c3Bhbi5pY29uLXNoYXJlIHtiYWNrZ3JvdW5kLWltYWdlOiB1cmwoImRhdGE6aW1hZ2Uvc3ZnK3htbCwlM0NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB3aWR0aD0nMjQnIGhlaWdodD0nMjQnIHZpZXdCb3g9JzAgMCAyNCAyNCcgZmlsbD0nbm9uZScgc3Ryb2tlPSclMjMwMzIzNGInIHN0cm9rZS13aWR0aD0nMicgc3Ryb2tlLWxpbmVjYXA9J3JvdW5kJyBzdHJva2UtbGluZWpvaW49J3JvdW5kJyUzRSUzQ2NpcmNsZSBjeD0nMTgnIGN5PSc1JyByPSczJyUzRSUzQy9jaXJjbGUlM0UlM0NjaXJjbGUgY3g9JzYnIGN5PScxMicgcj0nMyclM0UlM0MvY2lyY2xlJTNFJTNDY2lyY2xlIGN4PScxOCcgY3k9JzE5JyByPSczJyUzRSUzQy9jaXJjbGUlM0UlM0NsaW5lIHgxPSc4LjU5JyB5MT0nMTMuNTEnIHgyPScxNS40MicgeTI9JzE3LjQ5JyUzRSUzQy9saW5lJTNFJTNDbGluZSB4MT0nMTUuNDEnIHkxPSc2LjUxJyB4Mj0nOC41OScgeTI9JzEwLjQ5JyUzRSUzQy9saW5lJTNFJTNDL3N2ZyUzRSIpOyB9c3Bhbi5pY29uLWNhcnQge2JhY2tncm91bmQtaW1hZ2U6IHVybCgiZGF0YTppbWFnZS9zdmcreG1sLCUzQ3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHdpZHRoPScyNCcgaGVpZ2h0PScyNCcgdmlld0JveD0nMCAwIDI0IDI0JyBmaWxsPSdub25lJyBzdHJva2U9JyUyMzAzMjM0Yicgc3Ryb2tlLXdpZHRoPScyJyBzdHJva2UtbGluZWNhcD0ncm91bmQnIHN0cm9rZS1saW5lam9pbj0ncm91bmQnJTNFJTNDY2lyY2xlIGN4PSc5JyBjeT0nMjEnIHI9JzEnJTNFJTNDL2NpcmNsZSUzRSUzQ2NpcmNsZSBjeD0nMjAnIGN5PScyMScgcj0nMSclM0UlM0MvY2lyY2xlJTNFJTNDcGF0aCBkPSdNMSAxaDRsMi42OCAxMy4zOWEyIDIgMCAwIDAgMiAxLjYxaDkuNzJhMiAyIDAgMCAwIDItMS42MUwyMyA2SDYnJTNFJTNDL3BhdGglM0UlM0Mvc3ZnJTNFIik7IH1zcGFuLmljb24tdXBsb2FkIHtiYWNrZ3JvdW5kLWltYWdlOiB1cmwoImRhdGE6aW1hZ2Uvc3ZnK3htbCwlM0NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB3aWR0aD0nMjQnIGhlaWdodD0nMjQnIHZpZXdCb3g9JzAgMCAyNCAyNCcgZmlsbD0nbm9uZScgc3Ryb2tlPSclMjMwMzIzNGInIHN0cm9rZS13aWR0aD0nMicgc3Ryb2tlLWxpbmVjYXA9J3JvdW5kJyBzdHJva2UtbGluZWpvaW49J3JvdW5kJyUzRSUzQ3BhdGggZD0nTTIxIDE1djRhMiAyIDAgMCAxLTIgMkg1YTIgMiAwIDAgMS0yLTJ2LTQnJTNFJTNDL3BhdGglM0UlM0Nwb2x5bGluZSBwb2ludHM9JzE3IDggMTIgMyA3IDgnJTNFJTNDL3BvbHlsaW5lJTNFJTNDbGluZSB4MT0nMTInIHkxPSczJyB4Mj0nMTInIHkyPScxNSclM0UlM0MvbGluZSUzRSUzQy9zdmclM0UiKTsgfXNwYW4uaWNvbi11c2VyIHtiYWNrZ3JvdW5kLWltYWdlOiB1cmwoImRhdGE6aW1hZ2Uvc3ZnK3htbCwlM0NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB3aWR0aD0nMjQnIGhlaWdodD0nMjQnIHZpZXdCb3g9JzAgMCAyNCAyNCcgZmlsbD0nbm9uZScgc3Ryb2tlPSclMjMwMzIzNGInIHN0cm9rZS13aWR0aD0nMicgc3Ryb2tlLWxpbmVjYXA9J3JvdW5kJyBzdHJva2UtbGluZWpvaW49J3JvdW5kJyUzRSUzQ3BhdGggZD0nTTIwIDIxdi0yYTQgNCAwIDAgMC00LTRIOGE0IDQgMCAwIDAtNCA0djInJTNFJTNDL3BhdGglM0UlM0NjaXJjbGUgY3g9JzEyJyBjeT0nNycgcj0nNCclM0UlM0MvY2lyY2xlJTNFJTNDL3N2ZyUzRSIpOyB9OnJvb3Qgey0tZ2VuZXJpYy1ib3JkZXItY29sb3I6IHJnYmEoMCwgMCwgMCwgMC4zKTstLWdlbmVyaWMtYm94LXNoYWRvdzogMCAwLjI4NTcxNDI4NTdyZW0gMC4yODU3MTQyODU3cmVtIDAgcmdiYSgwLCAwLCAwLCAwLjEyNSksIDAgMC4xNDI4NTcxNDI5cmVtIDAuMTQyODU3MTQyOXJlbSAtMC4xNDI4NTcxNDI5cmVtIHJnYmEoMCwgMCwgMCwgMC4xMjUpOyB9LmhpZGRlbiB7ZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9LnZpc3VhbGx5LWhpZGRlbiB7cG9zaXRpb246IGFic29sdXRlICFpbXBvcnRhbnQ7d2lkdGg6IDFweCAhaW1wb3J0YW50O2hlaWdodDogMXB4ICFpbXBvcnRhbnQ7bWFyZ2luOiAtMXB4ICFpbXBvcnRhbnQ7Ym9yZGVyOiAwICFpbXBvcnRhbnQ7cGFkZGluZzogMCAhaW1wb3J0YW50O2NsaXA6IHJlY3QoMCAwIDAgMCkgIWltcG9ydGFudDstd2Via2l0LWNsaXAtcGF0aDogaW5zZXQoMTAwJSkgIWltcG9ydGFudDtjbGlwLXBhdGg6IGluc2V0KDEwMCUpICFpbXBvcnRhbnQ7b3ZlcmZsb3c6IGhpZGRlbiAhaW1wb3J0YW50OyB9LmJvcmRlcmVkIHtib3JkZXI6IDAuMDcxNDI4NTcxNHJlbSBzb2xpZCB2YXIoLS1nZW5lcmljLWJvcmRlci1jb2xvcikgIWltcG9ydGFudDsgfS5yb3VuZGVkIHtib3JkZXItcmFkaXVzOiB2YXIoLS11bml2ZXJzYWwtYm9yZGVyLXJhZGl1cykgIWltcG9ydGFudDsgfS5jaXJjdWxhciB7Ym9yZGVyLXJhZGl1czogNTAlICFpbXBvcnRhbnQ7IH0uc2hhZG93ZWQge2JveC1zaGFkb3c6IHZhcigtLWdlbmVyaWMtYm94LXNoYWRvdykgIWltcG9ydGFudDsgfS5yZXNwb25zaXZlLW1hcmdpbiB7bWFyZ2luOiBjYWxjKHZhcigtLXVuaXZlcnNhbC1tYXJnaW4pIC8gNCkgIWltcG9ydGFudDsgfUBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDUwMHB4KSB7LnJlc3BvbnNpdmUtbWFyZ2luIHttYXJnaW46IGNhbGModmFyKC0tdW5pdmVyc2FsLW1hcmdpbikgLyAyKSAhaW1wb3J0YW50OyB9IH1AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMjgwcHgpIHsucmVzcG9uc2l2ZS1tYXJnaW4ge21hcmdpbjogdmFyKC0tdW5pdmVyc2FsLW1hcmdpbikgIWltcG9ydGFudDsgfSB9LnJlc3BvbnNpdmUtcGFkZGluZyB7cGFkZGluZzogY2FsYyh2YXIoLS11bml2ZXJzYWwtcGFkZGluZykgLyA0KSAhaW1wb3J0YW50OyB9QG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNTAwcHgpIHsucmVzcG9uc2l2ZS1wYWRkaW5nIHtwYWRkaW5nOiBjYWxjKHZhcigtLXVuaXZlcnNhbC1wYWRkaW5nKSAvIDIpICFpbXBvcnRhbnQ7IH0gfUBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEyODBweCkgey5yZXNwb25zaXZlLXBhZGRpbmcge3BhZGRpbmc6IHZhcigtLXVuaXZlcnNhbC1wYWRkaW5nKSAhaW1wb3J0YW50OyB9IH1AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0OTlweCkgey5oaWRkZW4tc20ge2Rpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfSB9QG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNTAwcHgpIGFuZCAobWF4LXdpZHRoOiAxMjc5cHgpIHsuaGlkZGVuLW1kIHtkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH0gfUBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEyODBweCkgey5oaWRkZW4tbGcge2Rpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfSB9QG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDk5cHgpIHsudmlzdWFsbHktaGlkZGVuLXNtIHtwb3NpdGlvbjogYWJzb2x1dGUgIWltcG9ydGFudDt3aWR0aDogMXB4ICFpbXBvcnRhbnQ7aGVpZ2h0OiAxcHggIWltcG9ydGFudDttYXJnaW46IC0xcHggIWltcG9ydGFudDtib3JkZXI6IDAgIWltcG9ydGFudDtwYWRkaW5nOiAwICFpbXBvcnRhbnQ7Y2xpcDogcmVjdCgwIDAgMCAwKSAhaW1wb3J0YW50Oy13ZWJraXQtY2xpcC1wYXRoOiBpbnNldCgxMDAlKSAhaW1wb3J0YW50O2NsaXAtcGF0aDogaW5zZXQoMTAwJSkgIWltcG9ydGFudDtvdmVyZmxvdzogaGlkZGVuICFpbXBvcnRhbnQ7IH0gfUBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDUwMHB4KSBhbmQgKG1heC13aWR0aDogMTI3OXB4KSB7LnZpc3VhbGx5LWhpZGRlbi1tZCB7cG9zaXRpb246IGFic29sdXRlICFpbXBvcnRhbnQ7d2lkdGg6IDFweCAhaW1wb3J0YW50O2hlaWdodDogMXB4ICFpbXBvcnRhbnQ7bWFyZ2luOiAtMXB4ICFpbXBvcnRhbnQ7Ym9yZGVyOiAwICFpbXBvcnRhbnQ7cGFkZGluZzogMCAhaW1wb3J0YW50O2NsaXA6IHJlY3QoMCAwIDAgMCkgIWltcG9ydGFudDstd2Via2l0LWNsaXAtcGF0aDogaW5zZXQoMTAwJSkgIWltcG9ydGFudDtjbGlwLXBhdGg6IGluc2V0KDEwMCUpICFpbXBvcnRhbnQ7b3ZlcmZsb3c6IGhpZGRlbiAhaW1wb3J0YW50OyB9IH1AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMjgwcHgpIHsudmlzdWFsbHktaGlkZGVuLWxnIHtwb3NpdGlvbjogYWJzb2x1dGUgIWltcG9ydGFudDt3aWR0aDogMXB4ICFpbXBvcnRhbnQ7aGVpZ2h0OiAxcHggIWltcG9ydGFudDttYXJnaW46IC0xcHggIWltcG9ydGFudDtib3JkZXI6IDAgIWltcG9ydGFudDtwYWRkaW5nOiAwICFpbXBvcnRhbnQ7Y2xpcDogcmVjdCgwIDAgMCAwKSAhaW1wb3J0YW50Oy13ZWJraXQtY2xpcC1wYXRoOiBpbnNldCgxMDAlKSAhaW1wb3J0YW50O2NsaXAtcGF0aDogaW5zZXQoMTAwJSkgIWltcG9ydGFudDtvdmVyZmxvdzogaGlkZGVuICFpbXBvcnRhbnQ7IH0gfWltZ1thbHQ9IlNUIGxvZ28iXSB7IGRpc3BsYXk6IGJsb2NrOyBtYXJnaW46IGF1dG87IHdpZHRoOiA3NSU7IG1heC13aWR0aDogMjUwcHg7IG1pbi13aWR0aDogNzFweDsgfWltZ1thbHQ9IkN1YmUgbG9nbyJdIHsgZmxvYXQ6IHJpZ2h0OyB3aWR0aDogMzAlOyBtYXgtd2lkdGg6IDEwcmVtOyBtaW4td2lkdGg6IDhyZW07IHBhZGRpbmctcmlnaHQ6IDFyZW07fS5maWd1cmUge2Rpc3BsYXk6IGJsb2NrO21hcmdpbi1sZWZ0OiBhdXRvO21hcmdpbi1yaWdodDogYXV0bzt0ZXh0LWFsaWduOiBjZW50ZXI7fTwvc3R5bGU+CiAgIDwhLS1baWYgbHQgSUUgOV0+CiAgICAgPHNjcmlwdCBzcmM9Ii8vY2RuanMuY2xvdWRmbGFyZS5jb20vYWpheC9saWJzL2h0bWw1c2hpdi8zLjcuMy9odG1sNXNoaXYtcHJpbnRzaGl2Lm1pbi5qcyI+PC9zY3JpcHQ+CiAgIDwhW2VuZGlmXS0tPgorICA8bGluayBocmVmPSJkYXRhOmltYWdlL3BuZztiYXNlNjQsaVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQUNBQUFBQWdDQU1BQUFCRXBJckdBQUFBR1hSRldIUlRiMlowZDJGeVpRQkJaRzlpWlNCSmJXRm5aVkpsWVdSNWNjbGxQQUFBQUROUVRGUkZnWkdsRXpGVzcvSDBZbmFQb0t5NzBOYmQzK1BvTWt4dGtKNndVbWlEd01qU0l6OWlzTHJIY29TYVFscDRBeU5MLy8vL2VUNk1nZ0FBQUJGMFVrNVQvLy8vLy8vLy8vLy8vLy8vLy8vLy93QWxyWmxpQUFBQXdrbEVRVlI0MnR5VDNSYUVJQWlFRWMyMEgrWDluM1ladEsxek50djd1Qm5MVHhqSVNQNEV2UW1JbE10OU5DRFVVVGdEbHVGK0pRTXlWdFBZUTlUOThHUnlyM1YrN01KcEFaRjBxYXo4QkMwR29JVmRaTHRhRS9IUVpFRFIxY29LdWkvQXdsMFZzRnpWYTZucElId3Y2TTJEN3kvNUpCYVJ0YXNRSDhkbTdzNWdjZW1xd0drZWhLVUxiWFJ0TnJTZTNuTXI3ZGhHQndWd2lVMGZtelVJV3YrOUQ4Z1hiWFRWeFJ2QXQrbGhkQzdjM0NqQ0RkR3Z1cFdjNGh2L2kzRjhCQmdBWW5nNlp2czR0aTRBQUFBQVNVVk9SSzVDWUlJcUFBQjRtYkk4dVNRNVJZRmJDQzF4QjFkWExoNG96a2tYS3hRMllRSmhta0F1d25tWkdUS0JOQS9nODh3QUFLQ1JGUkhnZy9QOWVNNE9yczdPTm82MkRsOHQ2cjhHL3lKaVl1UCs1YytyY0VBQUFPRjBmdEgrTEMrekdvQTdCb0J0L3FJbDdnUm9YZ3VnZGZlTFpySVBRTFVBb09uYVYvTncrSDQ4UEVXaGtMbloyZVhrNU5oS3hFSmJZY3BYZmY1bndsL0FWLzFzK1g0OC9QZjE0TDdpSklFeVhZRkhCUGpnd3N6MFRLVWN6NUlKaEdMYzVvOUgvTGNMLy93ZDB5TEVTV0s1V0NvVTQxRVNjWTVFbW96ek1xVWlpVUtTS2NVbDB2OWs0dDhzK3dNKzN6VUFzR28rQVh1UkxhaGRZd1AyU3ljUVdIVEE0dmNBQVBLN2I4SFVLQWdEZ0dpRDRjOTMvKzgvL1VlZ0pRQ0Faa21TY1FBQVhrUWtMbFRLc3ovSENBQUFSS0NCS3JCQkcvVEJHQ3pBQmh6QkJkekJDL3hnTm9SQ0pNVENRaEJDQ21TQUhISmdLYXlDUWlpR3piQWRLbUF2MUVBZE5NQlJhSWFUY0E0dXdsVzREajF3RC9waENKN0JLTHlCQ1FSQnlBZ1RZU0hhaUFGaWlsZ2pqZ2dYbVlYNEljRklCQktMSkNESmlCUlJJa3VSTlVneFVvcFVJRlZJSGZJOWNnSTVoMXhHdXBFN3lBQXlndnlHdkVjeGxJR3lVVDNVRExWRHVhZzNHb1JHb2d2UVpIUXhtbzhXb0p2UWNyUWFQWXcyb2VmUXEyZ1AybzgrUThjd3dPZ1lCelBFYkRBdXhzTkNzVGdzQ1pOank3RWlyQXlyeGhxd1Zxd0R1NG4xWTgreGR3UVNnVVhBQ1RZRWQwSWdZUjVCU0ZoTVdFN1lTS2dnSENRMEVkb0pOd2tEaEZIQ0p5S1RxRXUwSnJvUitjUVlZakl4aDFoSUxDUFdFbzhUTHhCN2lFUEVOeVFTaVVNeUo3bVFBa214cEZUU0V0SkcwbTVTSStrc3FaczBTQm9qazhuYVpHdXlCem1VTENBcnlJWGtuZVRENURQa0crUWg4bHNLbldKQWNhVDRVK0lvVXNwcVNobmxFT1UwNVFabG1ESkJWYU9hVXQyb29WUVJOWTlhUXEyaHRsS3ZVWWVvRXpSMW1qbk5neFpKUzZXdG9wWFRHbWdYYVBkcHIraDB1aEhkbFI1T2w5Qlgwc3ZwUitpWDZBUDBkd3dOaGhXRHg0aG5LQm1iR0FjWVp4bDNHSytZVEtZWjA0c1p4MVF3TnpIcm1PZVpENWx2VlZncXRpcDhGWkhLQ3BWS2xTYVZHeW92VkttcXBxcmVxZ3RWODFYTFZJK3BYbE45cmtaVk0xUGpxUW5VbHF0VnFwMVE2MU1iVTJlcE82aUhxbWVvYjFRL3BINVovWWtHV2NOTXcwOURwRkdnc1YvanZNWWdDMk1aczNnc0lXc05xNFoxZ1RYRUpySE4yWHgyS3J1WS9SMjdpejJxcWFFNVF6TktNMWV6VXZPVVpqOEg0NWh4K0p4MFRnbm5LS2VYODM2SzNoVHZLZUlwRzZZMFRMa3haVnhycXBhWGxsaXJTS3RScTBmcnZUYXU3YWVkcHIxRnUxbjdnUTVCeDBvblhDZEhaNC9PQlozblU5bFQzYWNLcHhaTlBUcjFyaTZxYTZVYm9idEVkNzl1cCs2WW5yNWVnSjVNYjZmZWViM24raHg5TC8xVS9XMzZwL1ZIREZnR3N3d2tCdHNNemhnOHhUVnhiendkTDhmYjhWRkRYY05BUTZWaGxXR1g0WVNSdWRFOG85VkdqVVlQakduR1hPTWs0MjNHYmNhakpnWW1JU1pMVGVwTjdwcFNUYm1tS2FZN1REdE14ODNNemFMTjFwazFtejB4MXpMbm0rZWIxNXZmdDJCYWVGb3N0cWkydUdWSnN1UmFwbG51dHJ4dWhWbzVXYVZZVlZwZHMwYXRuYTBsMXJ1dHU2Y1JwN2xPazA2cm50Wm53N0R4dHNtMnFiY1pzT1hZQnR1dXRtMjJmV0ZuWWhkbnQ4V3V3KzZUdlpOOXVuMk4vVDBIRFlmWkRxc2RXaDErYzdSeUZEcFdPdDZhenB6dVAzM0Y5SmJwTDJkWXp4RFAyRFBqdGhQTEtjUnBuVk9iMDBkbkYyZTVjNFB6aUl1SlM0TExMcGMrTHBzYnh0M0l2ZVJLZFBWeFhlRjYwdldkbTdPYnd1Mm8yNi91TnU1cDdvZmNuOHcwbnltZVdUTnowTVBJUStCUjVkRS9DNStWTUd2ZnJINVBRMCtCWjdYbkl5OWpMNUZYcmRld3Q2VjNxdmRoN3hjKzlqNXluK00rNHp3MzNqTGVXVi9NTjhDM3lMZkxUOE52bmwrRjMwTi9JLzlrLzNyLzBRQ25nQ1VCWndPSmdVR0JXd0w3K0hwOEliK09QenJiWmZheTJlMUJqS0M1UVJWQmo0S3RndVhCclNGb3lPeVFyU0gzNTVqT2tjNXBEb1ZRZnVqVzBBZGg1bUdMdzM0TUo0V0hoVmVHUDQ1d2lGZ2EwVEdYTlhmUjNFTnozMFQ2UkpaRTNwdG5NVTg1cnkxS05TbytxaTVxUE5vM3VqUzZQOFl1WmxuTTFWaWRXRWxzU3h3NUxpcXVObTVzdnQvODdmT0g0cDNpQytON0Y1Z3Z5RjF3ZWFIT3d2U0ZweGFwTGhJc09wWkFUSWhPT0pUd1FSQXFxQmFNSmZJVGR5V09Dbm5DSGNKbklpL1JOdEdJMkVOY0toNU84a2dxVFhxUzdKRzhOWGtreFRPbExPVzVoQ2Vwa0x4TURVemRtenFlRnBwMklHMHlQVHE5TVlPU2taQnhRcW9oVFpPMlorcG41bVoyeTZ4bGhiTCt4VzZMdHk4ZWxRZkphN09RckFWWkxRcTJRcWJvVkZvbzF5b0hzbWRsVjJhL3pZbktPWmFybml2TjdjeXp5dHVRTjV6dm4vL3RFc0lTNFpLMnBZWkxWeTBkV09hOXJHbzVzanh4ZWRzSzR4VUZLNFpXQnF3OHVJcTJLbTNWVDZ2dFY1ZXVmcjBtZWsxcmdWN0J5b0xCdFFGcjZ3dFZDdVdGZmV2YzErMWRUMWd2V2QrMVlmcUduUnMrRlltS3JoVGJGNWNWZjlnbzNIamxHNGR2eXIrWjNKUzBxYXZFdVdUUFp0Sm02ZWJlTFo1YkRwYXFsK2FYRG00TjJkcTBEZDlXdE8zMTlrWGJMNWZOS051N2c3WkR1YU8vUExpOFphZkp6czA3UDFTa1ZQUlUrbFEyN3RMZHRXSFgrRzdSN2h0N3ZQWTA3TlhiVzd6My9UN0p2dHRWQVZWTjFXYlZaZnRKKzdQM1A2NkpxdW40bHZ0dFhhMU9iWEh0eHdQU0EvMEhJdzYyMTduVTFSM1NQVlJTajlZcjYwY094eCsrL3AzdmR5ME5OZzFWalp6RzRpTndSSG5rNmZjSjMvY2VEVHJhZG94N3JPRUgweDkySFdjZEwycENtdkthUnB0VG12dGJZbHU2VDh3KzBkYnEzbnI4UjlzZkQ1dzBQRmw1U3ZOVXlXbmE2WUxUazJmeXo0eWRsWjE5Zmk3NTNHRGJvclo3NTJQTzMyb1BiKys2RUhUaDBrWC9pK2M3dkR2T1hQSzRkUEt5MitVVFY3aFhtcTg2WDIzcWRPbzgvcFBUVDhlN25MdWFycmxjYTdudWVyMjFlMmIzNlJ1ZU44N2Q5TDE1OFJiLzF0V2VPVDNkdmZONmIvZkY5L1hmRnQxK2NpZjl6c3U3MlhjbjdxMjhUN3hmOUVEdFFkbEQzWWZWUDF2KzNOanYzSDlxd0hlZzg5SGNSL2NHaFlQUC9wSDFqdzlEQlkrWmo4dUdEWWJybmpnK09UbmlQM0w5NmZ5blE4OWt6eWFlRi82aS9zdXVGeFl2ZnZqVjY5Zk8wWmpSb1pmeWw1Ty9iWHlsL2VyQTZ4bXYyOGJDeGg2K3lYZ3pNVjcwVnZ2dHdYZmNkeDN2bzk4UFQrUjhJSDhvLzJqNXNmVlQwS2Y3a3htVGsvOEVBNWp6L0dNekxkc0FBQUFnWTBoU1RRQUFlaVVBQUlDREFBRDUvd0FBZ09rQUFIVXdBQURxWUFBQU9wZ0FBQmR2a2wvRlJnQUFCVWxKUkVGVWVOcnNsMXVNVmRVWngzL2ZXbXVmZmM2Wk9RTXpnakRnQ0U2UWNTQllpNENRZ21QUlVpOW9VdHNRUXlLSmw4aUxWUjZhOEtER1MzeWdUVnFycVVhVDJrSkRqRUVscllhV2tlZ0lXTFZUeEZIQmthc3dnNXk1NEZ6T21UbTN2ZmRhZmRnVGlvRnBmQ0R4b2JPU25iV1NMM3V0My9ldGIvMi90Y1E1eC9mWkZOOXptd0NZQUpnQU1QL0xtQjNJM2QzYWNYeDkxK0RvYkpRUnBiVkRhYlFTakFoYUs3UUlXZ3RhQktVQUJHdkI0b2dzV0JmM2tRTm5MYmlJY2lWUUMyZFA2VjU5elJYWGpRdlEzbmw4MDhZdHV6Wm1DdzVNa2dBRm5vOTRTWHlqU0hzSzM5UDRuaVpwaEtTblNHaUZjNDVTYU9NdmNKUURTeW1JS0lhV01BaXhRWWxpZnBnWDcyMzVZTndJakJaTFAzcnlMNjBiKy9NaENTOUJmVVpZMUhncG1XUUNKd29SVUJKN0xTb2VLd0dGZ0lCMXNlZU9lT3djV01iNktDVGx6WEEzTGJqaWhYRUIyajQ3ZHQveHZod21sZUxIemZVOHRxYUZLYldUTHViV2R3QzdMd2pnb09HdDlrTS9pNktJeSt0cWVIcmR6V1JTaVl1ZGV5ODc1eUlST1IvZ1VIWjRUWHZuaWNsS1lNbTh4ck9MLy92SUtkcSs2TVpQSkZCYWc5SW9wUkdseGhKUUVCRUNhMWs1ZHpwTjArT0l2ZjNKVWZaM0RaQktKWWtjTEc2ODlNeUtLNmUvUHQ0cDhGcy9Qcnh1TkpkRGVRa21WNmZPR281MG5lYVpOM1l6dVc0cXhrOGl4a004SHpFZVJpczhKU2lsMEpWUmJteXNCV0J3T01kdld6L25WSkRFMkloU1lZUUZNMnEyQTcwaWNqNUFLYlFyMjlvL3ZkcFhGb2ZseXhQWnM3YTFOeTRtak9BM08vYmpTNEtFRWRBTzBRNjBRaWxGTVlpNGZrYWF1VE9ueHJuMFJUZGZGNFRhS2tXbFhLRnhpb2xXekszLzg3aEN0UFBURS9jZE9IU01wTkdrUE1XK0E0Zlp2THR6ekNxc1c3V0VKKzVxSVlnaXlxVWlSQlZjVU1FRlpXd1FFSlNMM0xHa0NjYTgyL25sQUNtdGNFR1p2c0ZCcnA4ejVjT2s3N2RmVUlnaXg1Vy8yNzdybHV6UUFHVW1rL0tUR09QWTlNcmZHU2tXZWZEbWhRRDhZbGt6TlRVMVBMVnREMEdwaE9lN1dGeWlNczMxZFN4cmFvaTNyQy9IbnBQOURKZEw1SU1BRlJhNWRYSHp5OFFuOHZ3SS9QUEEwWFg3MnR2VFNVOHhXaTV6cGxDZ3AxQ2dieVRIcjdhOHlZYk5PNGhzQk1DcStUTjU2UGJyNkJvdGNtb2tUOWRJbnNQRE9WWmZPd3ZmeEZQKzhWOUhPZFRiVDMreHdPaHdqdFVMcitwcXVtemEzOGFUNHN5ZmRyeTN0cGpQWTZRR29qSFpqQ3hvRHpFZXovNTFMd05ET1Y1WWZ5ZlZLWitiNWplUThJWHVvUndZdzZTcU5DMU45UUQwNUFwczN2c1pXaUowSlNDWlVHeFllZlUyWVBDQ0FMMURJN2NkN081dm5ET25FYU1Ob2hST2FVUnJuR2hRQ2l1YVBaMm42RG96eEx5R2FkVDZtbWtxNEhSWUlTeVZ1R04rUFEyVDBnQnMyN3Vmdm15V3FxbzBoV0tSWlF1YUtvc3V2MlRMQll1UmM0NjY2dFFET3pjOWpGYUtiMTFSdjNWaGRTZ1JhdEpKQUk3MURuQ3lkd0RmT3JSMTNMOXlVWnhMa2VXMWp6cnhzT2hLQ1RlU1o4MFBaN2NxNGNDNVV6LzA2RXM4OS9SNmpMVjJxV2YwRFpkazB0OVp4a3FWa0NlMy9vTytuajR3aHBZZnpHWHBWYk1BMk5WeGhQYy9QNFkybWx3dTRPZExtNys1Wi9uOHg4LzkvNWVQdk1nZmZyOHRCdEJhTHdkR2dQQzdMQjVGbHEzdjdxTzc1eHQrc3FpWm9CeXk0ZllWR0IwbjM1SFQvU3lmTTBPbTF0YUVQMTNZMUw3K2xtV1BBWjhFUWNqem0zZnd3VWNIZWUyTk5waFVGUi91N0dpUW1aNDJkWEVad0FGeUViUmVnQUE0M2RxMm4xOC84eW85QThOMEh2d0tyRU5WcCtMcStQV2JtTFU3czhYTE11WWtRR2dkOCtwOFpsWWJicGlaWmxaYWVPdWRqK25zUEFGYWtjbWs4Uk1lZzRONUVFRWtKcmIydjdtaUpLNEpEc2V1M1IyOHU3ZURLRitBaEVHcVVpamczTWVRVEx5TUpnRCs3d0grTXdBR1BEVXdyYkJtOGdBQUFBQkpSVTVFcmtKZ2dnPT0iIHJlbD0iaWNvbiIgdHlwZT0iaW1hZ2UveC1pY29uIiAvPgogPC9oZWFkPgogPGJvZHk+CiA8ZGl2IGNsYXNzPSJyb3ciPgogPGRpdiBjbGFzcz0iY29sLXNtLTEyIGNvbC1sZy00Ij4KLTxkaXYgY2xhc3M9ImNhcmQgZmx1aWQiPgotPGRpdiBjbGFzcz0ic2VjdGlvbmUgZGFyayI+CiA8Y2VudGVyPgotPGgxIGlkPSJyZWxlYXNlLW5vdGVzLWZvci1zdG0zMmYxeHgtY21zaXMiPjxzdHJvbmc+UmVsZWFzZSBOb3RlcyBmb3IgU1RNMzJGMXh4IENNU0lTPC9zdHJvbmc+PC9oMT4KKzxoMSBpZD0icmVsZWFzZS1ub3Rlcy1mb3Itc3RtMzJmMXh4LWNtc2lzIj48c21hbGw+UmVsZWFzZSBOb3RlcyBmb3I8L3NtYWxsPiA8bWFyaz5TVE0zMkYxeHggQ01TSVM8L21hcms+PC9oMT4KIDxwPkNvcHlyaWdodCDCqSAyMDE2IFNUTWljcm9lbGVjdHJvbmljczxiciAvPgogPC9wPgotPGEgaHJlZj0iaHR0cHM6Ly93d3cuc3QuY29tIiBjbGFzcz0ibG9nbyI+PGltZyBzcmM9Ii4vX2h0bXJlc2Mvc3RfbG9nby5wbmciIGFsdD0iU1QgbG9nbyIgLz48L2E+Ci08L2NlbnRlcj4KLTwvZGl2PgotPC9kaXY+Ci08aDEgaWQ9ImxpY2Vuc2UiPjxzdHJvbmc+TGljZW5zZTwvc3Ryb25nPjwvaDE+Ci1UaGlzIHNvZnR3YXJlIGNvbXBvbmVudCBpcyBsaWNlbnNlZCBieSBTVCB1bmRlciBCU0QgMy1DbGF1c2UgbGljZW5zZSwgdGhlIOKAnExpY2Vuc2XigJ07IFlvdSBtYXkgbm90IHVzZSB0aGlzIGNvbXBvbmVudCBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXQ6Ci08Y2VudGVyPgotPGEgaHJlZj0iaHR0cHM6Ly9vcGVuc291cmNlLm9yZy9saWNlbnNlcy9CU0QtMy1DbGF1c2UiPmh0dHBzOi8vb3BlbnNvdXJjZS5vcmcvbGljZW5zZXMvQlNELTMtQ2xhdXNlPC9hPgorPGEgaHJlZj0iaHR0cHM6Ly93d3cuc3QuY29tIiBjbGFzcz0ibG9nbyI+PGltZyBzcmM9ImRhdGE6aW1hZ2UvcG5nO2Jhc2U2NCxpVkJPUncwS0dnb0FBQUFOU1VoRVVnQUFBVVFBQUFENUNBWUFBQUVvem54UEFBQUFDWEJJV1hNQUFBc1NBQUFMRWdIUzNYNzhBQUFkRWtsRVFWUjRuTzJkM1ZVak9kUEhOZXU5ZjB3RUM2Y0RlQ0NDZ1d0ZkxFUXdFTUZDQkVBRU1CSEFSQUI3NFd1OEVlQU53QWRuZ044QWZPWTk0aWt4UXFpNzlmM1IvZitkTTJkbTdIYTNXbDFka3FwS1ZRd0FNRkMrdU43V3BKbjlETjBsMjlWYzI1N2ZiVTgwYVdaM2pMSFRJSzB5eExxUmFnUGI3ajRrVmhlUUgzR0t4Z2wrYy96ZEpueFQybkY1M0x3WGQ4Uy9UVjhndWVmVjMvUTlGZU9lN0dqTWtlazU2RHlIeWtlOVQ4VllydnJ1dnF0SGZYcVJtZmFrcmdFdUYzUEY5Y1Z4YXFqcmpmVTJjdExNam0wdXJCS2loMDE2OHFIdkFKTTNmTkxNbnBXUExneXUvVVp3T1dwVCtENHk3Q1dUSGh6WS9OUkptZXNnL2Zja2ZmWCtPSE1OcDZBSU5FTmpKelpqOXhYLzAvSDlJZjA5VmQva1NUTjdFcDlKeHozSm56czFVanFwT05FZmpMRkw2ZnRYNlpnUGYyczRWRitZN1dwK0pEN252OVBvVVFBQUFBQVVqdE5zZU5MTXpobGpONEZ2N1hxN21uK2FUVmszTUlhQmxIVXNIWnhOZThUWmRqVy85MnhiSjg2THJGU0xKWnNaOTd2bE51Vkt6cVlINzlRUHFOR2ZQdGNoYm9yUDBobGpVK21RVGpIeFd1eWJ5cC9TNDFQbHU4NXpPSnZ4V2k0ZUhLY2V0TFRQYUMwU3BqZG5ZcjU3OVdua2RqVy83YnRHRnlZOU9HMzdncGFTKzMyTlpERU5vQWEwcm5WRHlHZXZtZ2x4a1VrejIzWDliVkNiWW9kWjdrVStMb3ZSMDNBU2NRWjc0bWhwTS8xMXlxQXNWMlEvRkNhNEIvWkxEeDZxeDhxL2wreUVoOHAzUnZaREU5dWhPTUdsc1BOdFYvTVQ2Zk03UHRxSTd6U25Xbklib2ViemZkbDIyTlZJQUFBQUFBQUFRRGlTckZySm9sTk5nSUR0YWo1Nko5YTJTbkl4aDBUdHhMWU9ISnJkSnRyTjZEcHdxRWF2S0RjMXBnNWtJVU02QlRZNmtJZmFNY2EwZmhCSEZoVHhadFVtM3djY1ZEckl0dGdhMjkzVzJGQ2RxVHQvaWxqeVlKMW8yaEcya2Z1bXVIUWdZMnhudTVwN2I4MEo2Zkl4a2lTeWNIYzZnbTJsbzZVRFd5TjNpVVdJRG1TaEpORnpMdGdxRFpObXhnTjV6cnQrM0tFaW9yL0dnaENlejFDVGFXMHdScy81OTdhcitkcTJUYUZuQ3I0N2xmcGVHUnMrZFVZUDZ4STZrS1ZhTzd2U05kcm5Hb2wxRk51SnRsRklQUjBZWkJRR1lHQW9rUkRhZjVlSXpYWXkyd0hUZW5UdWlPVVRjYVR2NFNXMGlsRWJLTDQvVjdlamlYOVBtdG1MNW5qeDk3T0lPOVI4dDgrM0ZOTTVubG5MdzVWKy95RDk3clR0K0Q1aWJIeDlTeDdBUTJBb2hFVWt1bmhyck9oc0pZQlNsUkk1Nm00aGY3RmR6US9rQkFYRUFYMjNGRnVlK1hIMDNRZURCTzhzOFhzSzArSEhQNHM1Nm1Dc1RSVGNOR1VWV3NZQkFBQUFBQUFBQUFBQUFBQUFSQ2FwS2J3V0s3V3RpeUI0a0tlT29adjRzWHRBd2NWUkZUWE43VmljVEVsZTV4YVdrbHV6YXBKdXdTQk90cXY1NHhBNlQ1QlVFb2U2RFNPS1RoVGhHUXEyUVp6VkVHdGcrUlNZdVYzTjk0YlJaWjhKM29tNklLYWhFME1uR20vcWlUQUZjZ21lOTliVnVjb2hSS0dsQS90U1RIcG5HUTJkLzgxcWExbWkwYnF6ZHRWMk5UL3p2VUJvU2JUV2g2RTZNdWYwS1dTaXY4NG5uaU1uYWFvdEdTRWxzVGU5YlZlaENNOGJ5anA5U2oydzdIZnBUZXBJNi8wbUxUdXJYdlJIditPdEN3VkJPdEZ5cXZLcEpvc014VlBiakpqTGxzODdzNjJHelAyZGJZclQwNUZucGhLcHN3VEpTWUZUNE4ySkJ2T3dydC8yU2FRcm5UbDRpdHBsU25qVkVPMVJCWjFHaTFLc1FrV3NXRHJ5NTFpUHVnYjZPZmhJSHJReW8rZTVyS3FROFhJWUx0ZlJqZVMrRkxOMjNxN21DNFBENU9NLzdiK2oyaVZkdEkza1hwUythVHprbnVkb09yUktLNDVqWjBUYk5GNXNKOXBhaEF5azBHZksxRW1SblVoenp6YUxrRlZGYVpaZ0twVFQ3NnpGUUtJK0RVQnRtN3hSR2dJQUFDcWdKVEVGdHhFK2xkeDYweVdxeTFJMjFPajhPdWFSTUxUTGRGK3NYN3RTcWNqZjYzTHJTSDlmaVlwRGFzb1ZxUXJSdVREQ2FuNi95MU84S0cxb3ZaNHJvU2ZiejJUK3YrcXpzblRrUGJ5UzByNWNTY2ZmSzc5ZjBIVjRqc1ViVWlkcStwZTFTUEVpc1JIbG5JUzlzcmdJQ0g3amRQUHZOeTJaNjZmU1oyMVprS3g5SHp3Wkx5WGtOVEdQVGFYalJkb1lyeFNHVGpxUkxpcHE4Qi9SWjJvZExPNG51YWNuemwrOUw4cjNJaUhRaDlwWlhIcklVMmRVMWsvNS9iVXFqVDNIaS9YMGVuQ2gwV3JhcXZ3dEFnQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFHTUd0MmxIQ3E0SFlZbGE1cjY0ZmVJdTBPWjhyN3hHb0pPem1FTElhaGRFMnRGWDlIN1dBWEFmTXFkZkc5VU96UmlDazdDSm1mdEdwa3FOT0dsbU40NUNlTEJkemFQa0J3TitWS2NSSFlianFKTnNFSVlhTmFLcEVFTDdWVVJWR3RFMG53Q3lxdFZITlZrN0xaSmFuRVJ1Q29oQUZackROcHVMeFhsZlhjckZwTVQwZnFnTW1GVzJXSVZrSzJRZHhXdEVTbGxrSklTVzUzMFlpaEFTUGtJWU5VV3hDVVVMSWlVVHV6UTQxSnJ0YW40U3NvSk5oUGJaYUhhdlhGd2x6S2xMMTRpZDlWTjBrSTNSQ080eG9JZFFXaWxrNDV6aEFSTENGWEh2eGM0UlBUdll5WFFUWUo0VmdudlR1b3NCdkV1MzI5WDhJdG1kZFZDa0lBWksrK2hWOUQxVDZrbmpCUU5sMG5XdUFzYlRhNVpVRkxvNFFiUlpJUnZpSzVESlZ0WUpWOGpGMlZxTGFveVMxRGMwWHVZSnFyVWFyWERpMkJZbktzVTBpQ2RnWjR6MTFXa05ncytESUxOUDZLVEt4djd3SVFvaEs4elhuRVFJMmNlSGFSMFFRV2Fma0hQSUV3c2g5RjFJV1Zmd1NrWFJ4VW9UOEVwbE5LeUgzRUNhaGErUUgwME83Q2tSWjNvdHF6S2NLY211cGdzcmpIQm1FNDNzR1NGdXMwSSsxcFE4aVhLdFhHUVZ4TmdMQUZkU0xCekd2RUxXa1cxb3BrcFZ4UWxoQ2hMN2tLc0liRUhjbmdmME1obTdGSW5ScjVCMVZGbEZ2Q0JzaGRCNFcyYUFGWEl4WGhNVEJyR3ZPUWNPMnVyUmRDSGt1MEt1TVVJZFE3TWxyZ1p0aThXSnowcTgybjA2MElpRytLendMVFdVclJCZXl4Vnhhd1Vhc1FkUkg5b0ZGd055eC9VMjJKVUlBQUFBQUFCQVlIUTJOOXB2b1g3MmsyeG93QkcrMkFrZFNFTFBKZXJLUEl2NVJ1MG94WFoyT21sbVA4U0tVeE13eXowVGV4WWVDdDNXQXg2Sjhpck1LdFNlSTNXVnEzN2VzbG5wL1Z4dE5rRDZUaFdPRDVFK0xlN0M5Mk9rYzI4VVkvZjdaaXY1R3VMZjBqMSs2Z2ZWck5UU2ZxTXdOVit5Q0tMNllPaEJ2MzBtZHc0ZGM2THBzQnUrZWFncnRJbGlESjkxTmp4YnJTc2lZRnJPcFJVODVaaWZxbytadE14MHU1cmZTZ0wvU1REVVBsSHZtZCtMT0VaK0dTUUIvUEIvNWJmY2piamd3YjdVaHV1VzQ2S0g2dFZnMFA1cjBzeiswbnplWjFQamUxL1d1aSs0QnFGZGNLYWNkeHgzWWhJaDA2TEJaYzEyMkdKRHZPNDU5WStldE0xdi9kQXl0SDVYMnBqTk1GNjZJTjV5SVZDMHBCaXFUNlRQM25mYWlXUEZXODYvazdWSXkvQnpTNS9KMTNuZjNNOGZFSDhaTkJyYmQwdW5mUDFMbW5Lc2xmdnNFOFJPdHF2NUVXbTB2NVIrZU1zN0x0M1BrVzZLRWlENFlsejBlVUJvZU8ybDdUd2sxTHZxdVdpYVVGS1VlU2VtMnlKY3RrLzRBQmVmQlMwQkQ0UHc5UUl3ZWdBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQURFSUZNWFU0N3JCMDFORk9CSTdHTGtnNnJYTEdxckZOQ1VvV0ZVWE1tSHdRaGlTNFVwRUlhRDJQMDRpS0c1cHZJU05SSjdXT2I4Vm5zblFRaWo0MVZ3eUpTcU5TS0VNRDRwdENHcldTT2luRzRTdExVTVkxRHowR3hUMUJHNEVYMlJJcWh5MWF3clRXc0pMOEw0dDFxZkdlU2pWdk9OaTZINnZjQTJLSS9xQk5HeXpqSm4wMVZnSEpSQmpYTkVtMFhLUFlTd0Rxb1NSTk9heThRamh1SjZxRTBqR3Z1UmVRWDd1RTBCSWFsTkVJMTh5YW1Nc0NBYzFRamlwSm5kR0I2NmpOd1VFSUZxTkllcE93L2FzRTZxMElnVVp3Z0dUQzFEcytraUJjTnlwUXdxUXB1NzdVd1ByQ0dhMjJhYU1XbG0vRjZjUjQ3Y1U1cmlOZUtrbVQxWUhHN2pPeDdhbG9LcXB5ODFETTNIQmJRaEI3ZW0xd3dRQkpJaytMV0xvZ1hSd2E5c1EvUU5RVDVzVi9NTGk1OTc3VmJjcnVaWDBXN0VrTkkxb20zd3EvRURLZHdIYlJ5UUd1QmxUUmI4MmtXeGdtanBWeGI4WlhNd1RkQkwxSXhIRnNmNlJxb25DMzd0b21TTjZMS1lzQlplMG94RkNlTjJOVGZTVXBObTVyMTlkcnVhRjNIdkpRdWlVeWRQbXBuMWZJbUVzUlFicEUzRWtPOGlwWmpvcENJRmNkTE1mQ2JQVGc5bnU1b2ZXSnAvb3JCZHplOHR6dXVsRVMydkZaVlNOZUtsejQ4bnpjeko1TE5kemZuY0xPZkRNWDRSTElKQTJuajAvSDFRaWdzUW9IblBTNEJUN2JqT2Z5Yk43Snd4NXZ1Z3JiSDBwSGp0NlM0dE9LUkVqUmpLNC9IcXVQTG1EK20ycFBtVHloQ0RRRW9VUkNmaGFjRkhHTzhUbXpac0lzcDlYOVlpVERZeVJRbGlwT3dOcjY0YVpMdWFMMU05dE8xcW5tek9SdmRWRktWcHhGZ3V2V2RQWVl6dGhURmVJRmtHZ2VndzltR25wSmdKSzYxMGZUdTVqek5Ya3dVTjhhOHhHalhtUllxZ0pJMFlXd2c1ZDY2K1diNENqL1FRalZmMlEvRXI2eWhDRUYwWEZJN2NlYzVGOXdLM3gyWU82anVIdHZGaEo2VVVqZWpycXJMbDFGVVl5UThjekFOajRWZjJmbGxOcjVXRFVnUXhoMTNzbE1McnJTRVBUQWhzQWxKOVRUWkZaNzNJTG9pZWZtVmY5aWtKdkF2ZXJrRExnTlRCK0pWMWxLQVJ2ZnpLQWRpZE5EUHIxWENBdkRvMndhKytMMnZ4ZVNDekNtS0llTHBBVERQazQ3WlpwSGk5ckFHbkV0SElyUkdMMmtubklJek9IZ3JUZ0l5Q1h0YW81QmJFbEdZYkl5eDN4TGtPZVRiRHV1L0xXcncyWkRrRnNlQ3FBRFlSM3YvbmNnSExoWVBYeTFwTG52Q2NHckhVcWdBMnRyYXZEdWMzRG00SThMSVd2VktXcWI3eVZHQVcyOVhjeG5QaXNqL0dKdHpMNjJXdEtXTnV0dHczSTAwZlorTlg5czF3VVhRQ0FSVm9SRWNjWFc0MkN3ZmZJSkRpZ2wrN2dDQzZZeTBvS1FOU1MvWXI2NEFndW1NN1AweVpWS202a2g0UVJBZGNnaVVTSmxWNkxDVjdndzBRUkV0b3k0RnR0RkNxcEVxYldzdDZRQkR0Y2ZGMHBBaCtyYnJVR3dUUkF0ZkFpQVIrNWVwTHZRMHRoM1lVUFBOdHgwNnE1SnpSb2lSUWs2U0hsRW5TTFRUdUkrMUlyRjRBQmRDSUhkQlFhYlBhL1lCRHdNRmVXeVEyaXB3REFBQUFBQUFBQUFBQUFBQkFSTGluUVB5UnI4TGo3WFRaQytqejFCdmRCd1gxdDFkdFBwVVV6eVJxMEFPNXQzVGg4VXMxTklyQ253NUh1cGRsOUdSeDhiVUVpWDZySVVjTGlFTnlRYVF3K0xlaFEyZy9XZlh6Zjh0YVVUNmV1RGJOb3RVU05iT2tJSWEzODlBdzlxUnFZdlh6bHZvdmoxUlBXcHpycDNSK0FkOGk4SzhTWi9ncGRwQVNRVTNianFGejM2dGJUS1gyWFVrNWN2Z1VoLzk5eEgzVTRsNlV0dCtxQ29FeW82bSs3aVRoWmNuakVTa2gwSkh5MlJmU2hndEZDSC9TUTkyaHozbFF3S1ZKcUQ0SkRqL3VndjlXL0hHSnBLRWRleThrY1BLNWRGcys5Nlh2K1VNOEp5RThrRDZmeXVudzZEN1h5cmszbXJrWkY4STk2WmlsT0lhL0NGTGZIZEV4QzNvWnVSQ2VxTzJTcTFmUmVhWktHNjVqNVExWEtibE03dHViejdXQ0NIZmlPOU9FTUJsczUzeWhnTkVQbTVZYzU2Q3Y5Sko4ME1RdDV6cVR2dCtJdWJDeWcrOUFhQjZ4YUtOYWdQSzU5OWl2S2xpQ2UzbDNudnFiRnA3cEJYcVVmcmVSWHBMM1FwcXFscWI3VFRKZEtqa01qTCt0aTViY2dHdnF4TTRodWlQVGdVc2NuK2xlRUhWL3lscjlqQXNsRFoyTWh0TjF5ODY5RFgwdlhxWWZ1Z3R5UWVvSkUvdmF0ak9RTk9abFcyWXpQb0tsV0RXWExJalRqaXlwL01IK3grUGNKb0w0NGRxUmcxRDUvZnlqK1Z6M21RdHQ1L2xINm91c1FiWWxDeUtmbUIvcmtreXFHb0RTYzN6VlRMNnZXaFkyc3BDMWJYci9Vem5YVTZTRWwyOExrSmI3L09rVG1DdXhVYWNvb200TUxiSyt0eVVNU0pXMXJkZzVJZzJyVTdVamFLR2lEak1QTlBtV08vT0FGamFIeXU4L1RMNkZwbE1tN2xObEljTG5hNGZLZkMySW9WZE1IOVFGbVBpL0trQU84Q25GamR3UFV2R2lCWlBLcjZsOVF5OTRrcXh0VVRXaXppeGoraG45ZDRkcTZjbWQwVlY0NTEveEQ1cUhuVWltRE1GYWszUHdnTXFreVlKMkt5YnpmSUV3YVdiaUdMbDhybXFxY1VMMGl5cllJWXo3WE1nbXpleE0wdytQOGg1b2FzT3I1dVhhQzFTMmVCejBiY1UwM2FxcHE5bkh0WlB5c2t5bGYvOE1tVjQ0dEh2T3NRMkRLOE03R0VqZ1BzeWpXalFJY0FDNytNd1Iwd1JaOEdMVjV3TUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBSitJSk9ycGRKTXp0a2pQRS9mekRHZHFVL0FPUmd6Umc3MnE3bTYxcDcvL2NDMmdCNklNWDNqVEYyaXI0Q0JiTkxBL1I5clE4SkNyRkFKczFzeWhpN1pJeWRqNzB2UUZYY2JsZnphcFVodzVLNUxDYk5qTThBNzhiZUQ2QktGdHZWL0tqMlJ3ZUZXQUNUWm5hSDVUQ29tUFYyTmQ4YndnUEVramtqazJiR2w4UTNvKzBBTUJTcW54a0tvQkF6UURiQ0Y4YllkSFEzRDRaRzFWNWxsZC9LYXM3d0lZL3hLNVFoR0FBWDI5VjhNYVFIQ1J0aVFrZ1pQaFhXckExamJGbEFPMEJkL0tqZG82d0RDakVSazJhMlM4dmtsSEJGOTUwOGdJTloxZ0FRQ3lqRUJDUzBHZkxseXhtVUh3QnV3S21TaHFlSXlwRFBBaytnQkFId0J3b3hNaFJqdUIvaEt2ZmIxZnlzcUpzRm9IS2dFQ015YVdaWEVRS3VseFRxc0NucVpnRVlBTEFoUm1MU3pJNFpZdytCejM2OVhjMnZpcmxKQUFZR0ZHSUVJbm1VajRZVzh3VkFhU0F3T3c3UGdjOTZCbVVJUUh5Z0VBTXphV2JQZ1QzSzkwTU1nQVdnUktBUUF4TEpvM3lSOWFZQUdCSHdNZ2VDTXRlRTlpamZ4L0ltVTdBNHo3UnpqSDNWVGtSemNHVitObngvOG0zaWF4WURab2dCSUk5eWpEUmVmMGRvNjNUU3pGNG93Y1FwbEtFemY4WTRLWVZxNVh3Mlh6TmNzeGlnRUQwaGozTG84QnBCak5uaERVTWhLbDgyTVhJQVVzYjB5K1IzOHd1ZTZQVWs0L1d6QTRYb1QyaVBjbXorcmF5OUpYSVEycFF4YVdiN0JaU1BHRXlpVjFlZ0VEMllOTE9ZZTVSWmpDMS9aQi9DbGo5M2dpZlBJSnRoN3JSd2cwcjA2Z29Vb2lQa1VUNk1mSmtvZGlvZXhyTmR6YjlBTVZwekhTa0VLblNvbGkyRFMvVHFDbmFxT0pDNEZncGZua1ZONEVyTHRkaXozZHFKa2t5amdBSmpTQklpQVlWb1NZYXMxOGtxbWtsMnJCalplV29teWpNZ2ozSk9KOG9nU29lR0JBclJna3hacjFucVVWeXlhVUV4L3MranZCZkJpUklqK1ljTm0rMXF2cFB4K2tVQ2hXZ0J4ZS9sQ2xuSk1wcWpablI0azBYR2dWVm1EMDZVejBBaEdrSWU1ZGhPbEQ0MjlJSW1GK1NSS3NhejBFNlVRa3JROGd6cmp4bXZYeXp3TWh1UXlLTnN3dHZMUk1vNUtYekpQakxQZEN5UGNtN24xUVdVWVR1WUlmWkF1d2R5Qjh5MmtTMTdOdG5BN2dicW1YNk1zV01ESHVYeWdVTHNvTkE2eWpxeUZab2FZTWhPTEk5eXlsQXRIY3Z0YW42UThmcFZBSVhZUWlHR2IxczJOR05NWG5oK1FKN3BuU0Y2bEdONHlvY0lGR0lMbVQzS3ZteklWcFE4c1d6bGloRWU1WkVEaGFpaEVJOXlLSUo3U2sycHpETWRwWjhtemV3Vkh1VjZnSmRaWWRMTWJnYWtERGwzazJiMms1UlRVc2lBdjBNMnpwSzVqYVFNYzl0V3I2RU03Y0FNVWFKd2ozSW9zbmdhQys3YktBSHY4Q2pYQ1JRaVVaRkhPUlRKUTNZS2RGVEY4aWpuVnY3SjlyOFBEU2pFWDQ2QTF3S2Frb09raXJHd3ZvN2hVYzQ5c01LajdBRnNpUCtqdHF6WEllSGU0RmR1L0tlWXdxalFpMXBDUEZ6d1FZQm13TGxYR2NHemVZK0owU3ZFU1RON1FJMlJOL2pNN1RtRllxVFFscHlWM1dJVi9zK3RESU5uOHg0Ym8xNHlrMGY1dklDbWxFclVrQjN1L2M1dzM3RVN2ZVlPMVlwV0ZuVk1qRlloanNTakhJcWpHRE9xREVva2xrYzU5OEFhWmUvMUdCbmxrcm1RQ21jMThVVDJzZEQ4azdBUE5wR1U0V2xtWlRqNjBxRWhHWjFDSkMvbm1KMG9ydFJ1WnczdXlDbGtZRVhDaG9DTWNZYVljNU45clp4RWNrSjhUZFFmd1V0c0ZqS3d3cU1jbU44SGRUY0c4R1VUamV5b01OZk5PcWJIa3A1QkN2dGhyQktidVpYaFdZNnNSa05uZEFxUi9RcjdBSGxKVVczdW5ncnpCNldBVUswb2U2OEJkcXFBRENUeThFZEppRnBBNlZEc1VZNElGQ0pJQ2kyVll5ODNvNVRZTENCVUM4b3dNcVBmcVFMU1FmdDhVOWplaHVoUnZvQXlqQThVSWtnQzFSUkpzYlV0ZUcwWktRdDREcGFVaENMblZzZlJNRXFuQ2toSDRwSUNzUktpUG1lSVNzaFdIMmZNUUNHQ2FDUk9rbm9mWXk4djNVTktqM0syQ29vQVRoVVFHSm9SY2lWeW5MQnZhL2NvYnlpdUVPbitNNE1aSWdnQzJRZ3ZjeTB0UTUrVVNvZkdVb2E4elR5TzhEdG1nbVVCaFFpY3lWdzNaRU0ydzFqT0J0OHRjUnRhL2k0cGljVUMyK3dBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFoa3ZWVy9jb25kUUh1dExGVTdsSW5tVGdoMm5HWVNuVi9RWlppa0ZxYUN1a1NJeXhMRFc0VzNvWG81YWVpRTN0TzFWMEtabTZsTHhRYnAzbEx6VVpXc1JXS3dCU3N5L0pPZCtpR0tNK1RBaEVHNjhaWTlVV3pLOWFJVzVYOHpmbFI2TlRiNzQ2aTdxOGR5U0lmTFRiODI0b0FLQUtSckdYbVZLL2YwamhwS2FLb2tMc1lsL3V2dlM1T082K2F5bEF2ejlXa2hzc1UreGhwZnY3azJhLzR2b2JtazM4TFpiNjByMHNaTk9DY3UrZDkybHpQQTFVZjJuYTlVaG1pMFZidTlScjBEbStTWlg2MW5SL1B6VDNja25IaVdlK3BHT05raW5RQ2tIdVU4RmJmOUk5YTUrcHB0Mk0rdUJZYXM5R2FzK25HUi8xbTdqdUg5SlgzeFF6a2JidkpYbVFNdzVaOVlIbVhQSXoxUGI5RUJoTGNvZi9rcEtUN1RIcXRINHExUW1lYWo3N2xKcUpoT1ZHZWRtWDBtOHY2VGhHbngrRlVvNlVqVVd1TWMyRjlMdTBwQklLNUppU01DeVZKSzJ5SU85S21WMFdkSzR1V284bm0rdVQ4dkxja3lKaDBvdDZTdjJ5MENnZHRVM3l0YzdvbkgrUzRoSG5lWlFVZ0RCeC9DTTlRNTZONTV5T1BXcFJSR3F5Q243T0M2bnZ2dEx6dnFIelhHdHlNT3JhTFFZQllhcjVTbTA5cHZPb3RWSjJOYkxJcUEzeXdQNHVrNXA2TDB1cDdlSjhwMUlmTE5wV1RKcHpDZGtTc3YxVmVZYURTV0k3aUh5SThwSlpMS005ajN1aWw3UkxhRjVJMEhvekd5c0NwbnVKYk8vM1NWSWkycGU3NC9xZjJxQ1lIRXpPcHoxZVVTZ1hmWmxvS0dYWWphNWR5alc2bm9OcUxqbHJjMzZSVSsyYy9uc2duaG5ONmtSVzdONkJTeXBTTDU3L25qaGVhYytHcnRNMmcrYS9mNkgvUG01WDg1T2UrMnRUNU0ra0xJMnliRk1aVlRGNEhDa3piRm0yRGd6TzFmb01hd1ExVlJ5UTZ2SnlyOTlPbjlEUUN5cXF3RjJTZ25LOTlwVWtzSHNtU3hhNmZ2QUVxa3E3amlWbGVHYVNsb3VPK2FRRU5GeDNuR01oelNyWFhaRUEyOVg4UXZxdnZKeDhFTXFRSjVydG04WHo3OG0ydktiZlBiUWNldEcxUEtYdlJKdU9hWFp0aFJRNXdVZ2VlbWRycEhoRlA3MFBKblF1SVZ1OWNzM3NubUVWSUIraUcrSmwycDgwczU4T1ovam00YlVXUzZtRmpTMklDL2VrbWFuTDA1RHNTOWN5dmplZUpacVdYU0Z3RGZjUWJYZDlubTE5YXRJZVdlbTRKTmVWbGVpclMxL3lXU2dOTE9KY1ZuYnZ3TTh3SzFDSWJxeHBocGlqVHU0LzlBSWU4aVdYcVZLazVabUpNalI1S1hYbmtlMkl4NmJwOEdsbW1adTFOT09QT3BPT2dQejhkenh0MUV0SnRxYW01M0taMlpZS2xzeHVpQ1hDS2RuTk91SEN4VzJPZlBaQnRzZFA4S1V3ZlMvLzBRV2VYMGxMeEJjVFlhUmp0TmRsdjVhZDRzVzZhVHVPZmZUaXF1ZTRsMmE5RHlabUFUcW1iYm1aRW1HZjVEUEVaN0lSZHJWN1NzZnhaL1JLZlpJRkdwREZzek9WaHp1ZGpKRkp3ZlpjcVdwdEo2SHFHYUlVcnZHSDVyT0ZKcXhEZDl5YjNVa0pseEFDdnFzTHU2SGw1dzdaWDA3cHhWWTljVXp5aElvWHJNdmdyS3ZmY2FrTHhPVU9Cc2xSOGl4NWEzOUlBcjJyaEtsc2VtWi9CNlEwZDJuWnVLRDdFYk9FL2I2YUtmemxuRFN6SDZUazdpVHY5ZytwWDlSMnFkN3Y1TkJ6L1NJNUo3aVMyeWplOGFua3FSVjlrR09GOEFsdXo1UWNSa0llUk52RjgvdFRDZjNST28vb1hLcHNQZEs1WEdXckdtcGZNbitWL3IxUVBsc2JIdmNmK251cS9IYXRIUGRoQ1VpQzlMYThvbEh5bTBaaHJDMktDUjJRSWhFQ3UrZ3lWb3NabVJRejkwM3hKRE1wOU9JdGJvNDhpR3JmeVBlelErYzdwL09wczdkSHljRWhacEx2TDVRMDJ6aWlRVU8wUzUxMUxvUTNXUEdpeW9QSlJucFdmVXUzcGZKM0YrOE9HRTBmcU0velZQSktNeWw4NXJyamVkcTAyK1I0by9QUjdPNkNCbllSOXlqUDBqZFN2M2M2NGhUWk9pZGxxcE90TXluR3RWVzJhZ0psU0VFd2xQQ2UxbEFaZ1JLemlGMUJJRHRRaUNBb0xmdkErYXpxWDhsby8xOGw3S1dJcFNjQVVJZ2dHalFERkxZbWRaZk0zeFNNakxyRUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQWdBcGo3UDhCN3JsamJ3K0ZLckVBQUFBQVNVVk9SSzVDWUlJPSIgYWx0PSJTVCBsb2dvIiAvPjwvYT4KIDwvY2VudGVyPgogPC9kaXY+CiA8ZGl2IGNsYXNzPSJjb2wtc20tMTIgY29sLWxnLTgiPgogPGgxIGlkPSJ1cGRhdGUtaGlzdG9yeSI+PHN0cm9uZz5VcGRhdGUgSGlzdG9yeTwvc3Ryb25nPjwvaDE+CiA8ZGl2IGNsYXNzPSJjb2xsYXBzZSI+Ci08aW5wdXQgdHlwZT0iY2hlY2tib3giIGlkPSJjb2xsYXBzZS1zZWN0aW9uNF8zXzMiIGNoZWNrZWQgYXJpYS1oaWRkZW49InRydWUiPiA8bGFiZWwgZm9yPSJjb2xsYXBzZS1zZWN0aW9uNF8zXzMiIGFyaWEtaGlkZGVuPSJ0cnVlIj48c3Ryb25nPlY0LjMuMyAvIDIxLU1heS0yMDIxPC9zdHJvbmc+PC9sYWJlbD4KKzxpbnB1dCB0eXBlPSJjaGVja2JveCIgaWQ9ImNvbGxhcHNlLXNlY3Rpb240XzNfNCIgY2hlY2tlZCBhcmlhLWhpZGRlbj0idHJ1ZSI+IDxsYWJlbCBmb3I9ImNvbGxhcHNlLXNlY3Rpb240XzNfNCIgYXJpYS1oaWRkZW49InRydWUiPjxzdHJvbmc+VjQuMy40IC8gMDctQXByaWwtMjAyMzwvc3Ryb25nPjwvbGFiZWw+CiA8ZGl2PgogPGgyIGlkPSJtYWluLWNoYW5nZXMiPk1haW4gQ2hhbmdlczwvaDI+CiA8dWw+Cis8bGk+RGVmaW5lIFNQSTJfSVJRSGFuZGxlciB3ZWFrIGFsaWFzIGluc3RlYWQgb2YgYSBkdXBsaWNhdGlvbiBvZiB0aGUgZGVmaW5pdGlvbiBvZiBTUEkxX0lSUUhhbmRsZXIgd2VhayBhbGlhcy48L2xpPgorPGxpPlVwZGF0ZSB0aGUgR0NDIHN0YXJ0dXAgZmlsZSB0byBiZSBhbGlnbmVkIHRvIElBUi9LZWlsIElERS48L2xpPgorPGxpPkFsbCBzb3VyY2UgZmlsZXM6IHVwZGF0ZSBkaXNjbGFpbWVyIHRvIGFkZCByZWZlcmVuY2UgdG8gdGhlIG5ldyBsaWNlbnNlIGFncmVlbWVudC48L2xpPgorPC91bD4KKzwvZGl2PgorPC9kaXY+Cis8ZGl2IGNsYXNzPSJjb2xsYXBzZSI+Cis8aW5wdXQgdHlwZT0iY2hlY2tib3giIGlkPSJjb2xsYXBzZS1zZWN0aW9uNF8zXzMiIGFyaWEtaGlkZGVuPSJ0cnVlIj4gPGxhYmVsIGZvcj0iY29sbGFwc2Utc2VjdGlvbjRfM18zIiBhcmlhLWhpZGRlbj0idHJ1ZSI+PHN0cm9uZz5WNC4zLjMgLyAyMS1NYXktMjAyMTwvc3Ryb25nPjwvbGFiZWw+Cis8ZGl2PgorPGgyIGlkPSJtYWluLWNoYW5nZXMtMSI+TWFpbiBDaGFuZ2VzPC9oMj4KKzx1bD4KIDxsaT5JbXByb3ZlIEdDQyBzdGFydHVwIGZpbGVzIHJvYnVzdG5lc3MuPC9saT4KIDxsaT5BZGQgTFNJIG1heGltdW0gc3RhcnR1cCB0aW1lIGRhdGFzaGVldCB2YWx1ZTogTFNJX1NUQVJUVVBfVElNRS48L2xpPgogPGxpPkFkZCBhdG9taWMgcmVnaXN0ZXIgYWNjZXNzIG1hY3Jvcy48L2xpPgpAQCAtNTIsNyArNTUsNyBAQAogPGRpdiBjbGFzcz0iY29sbGFwc2UiPgogPGlucHV0IHR5cGU9ImNoZWNrYm94IiBpZD0iY29sbGFwc2Utc2VjdGlvbjRfM18yIiBhcmlhLWhpZGRlbj0idHJ1ZSI+IDxsYWJlbCBmb3I9ImNvbGxhcHNlLXNlY3Rpb240XzNfMiIgYXJpYS1oaWRkZW49InRydWUiPjxzdHJvbmc+VjQuMy4yIC8gMDctU2VwdGVtYmVyLTIwMjA8L3N0cm9uZz48L2xhYmVsPgogPGRpdj4KLTxoMiBpZD0ibWFpbi1jaGFuZ2VzLTEiPk1haW4gQ2hhbmdlczwvaDI+Cis8aDIgaWQ9Im1haW4tY2hhbmdlcy0yIj5NYWluIENoYW5nZXM8L2gyPgogPHVsPgogPGxpPlByb3RlY3QgVmVjdG9yIHRhYmxlIG1vZGlmaWNhdGlvbiBmb2xsb3dpbmcgU1JBTSBvciBGTEFTSCBwcmVwcm9jZXNzb3IgZGlyZWN0aXZlIGJ5IGEgZ2VuZXJpYyBwcmVwcm9jZXNzb3IgZGlyZWN0aXZlIDogVVNFUl9WRUNUX1RBQl9BRERSRVNTPC9saT4KIDxsaT5TeXN0ZW1Jbml0KCk6IHVwZGF0ZSB0byBkb27igJl0IHJlc2V0IFJDQyByZWdpc3RlcnMgdG8gaXRzIHJlc2V0IHZhbHVlcy48L2xpPgpAQCAtNjIsNyArNjUsNyBAQAogPC91bD48L2xpPgogPGxpPkkyUzoKIDx1bD4KLTxsaT5BZGQgbWlzc2luZyBJMlNDRkcgYW5kIEkyU1BSIGJpdHMgZGlmaW5pdGlvbnMgZm9yIFNUTTMyRjEwMXhFIGFuZCBTVE0zMkYxMDF4RzwvbGk+Cis8bGk+QWRkIG1pc3NpbmcgSTJTQ0ZHIGFuZCBJMlNQUiBiaXRzIGRlZmluaXRpb25zIGZvciBTVE0zMkYxMDF4RSBhbmQgU1RNMzJGMTAxeEc8L2xpPgogPC91bD48L2xpPgogPC91bD4KIDwvZGl2PgpAQCAtNzAsNyArNzMsNyBAQAogPGRpdiBjbGFzcz0iY29sbGFwc2UiPgogPGlucHV0IHR5cGU9ImNoZWNrYm94IiBpZD0iY29sbGFwc2Utc2VjdGlvbjRfM18xIiBhcmlhLWhpZGRlbj0idHJ1ZSI+IDxsYWJlbCBmb3I9ImNvbGxhcHNlLXNlY3Rpb240XzNfMSIgYXJpYS1oaWRkZW49InRydWUiPjxzdHJvbmc+VjQuMy4xIC8gMjYtSnVuZS0yMDE5PC9zdHJvbmc+PC9sYWJlbD4KIDxkaXY+Ci08aDIgaWQ9Im1haW4tY2hhbmdlcy0yIj5NYWluIENoYW5nZXM8L2gyPgorPGgyIGlkPSJtYWluLWNoYW5nZXMtMyI+TWFpbiBDaGFuZ2VzPC9oMj4KIDx1bD4KIDxsaT5GaXggTUlTUkEgQyAyMDEyIENvbXBpbGF0aW9uIGVycm9yczogdXBkYXRlIHRvIHVzZSDigJxVTOKAnSBwb3N0Zml4IGZvciBiaXRzIG1hc2sgZGVmaW5pdGlvbnMoX01zaykgYW5kIG1lbW9yeS9wZXJpcGhlcmFsIGJhc2UgYWRkcmVzc2VzPC9saT4KIDxsaT5GaXggd3JvbmcgaW5pdGlhbGl6YXRpb24gdmFsdWUgZm9yIOKAnFN5c3RlbUNvcmVDbG9ja+KAnSBpbiBTeXN0ZW1fc3RtMzJmMXh4LmMgZmlsZTwvbGk+CkBAIC0xMDUsNyArMTA4LDcgQEAKIDxkaXYgY2xhc3M9ImNvbGxhcHNlIj4KIDxpbnB1dCB0eXBlPSJjaGVja2JveCIgaWQ9ImNvbGxhcHNlLXNlY3Rpb240XzNfMCIgYXJpYS1oaWRkZW49InRydWUiPiA8bGFiZWwgZm9yPSJjb2xsYXBzZS1zZWN0aW9uNF8zXzAiIGFyaWEtaGlkZGVuPSJ0cnVlIj48c3Ryb25nPlY0LjMuMCAvIDA5LU9jdG9iZXItMjAxODwvc3Ryb25nPjwvbGFiZWw+CiA8ZGl2PgotPGgyIGlkPSJtYWluLWNoYW5nZXMtMyI+TWFpbiBDaGFuZ2VzPC9oMj4KKzxoMiBpZD0ibWFpbi1jaGFuZ2VzLTQiPk1haW4gQ2hhbmdlczwvaDI+CiA8dWw+CiA8bGk+QWRkIG1pc3NpbmcgSVNfVElNX1NZTkNIUk9fSU5TVEFOQ0UgbWFjcm8gZGVmaW5pdGlvbiB0byBjaGVjayBUSU0gU1lOQ0hSTyBmZWF0dXJlIGluc3RhbmNlIHN1cHBvcnQuPC9saT4KIDwvdWw+CkBAIC0xMTQsNyArMTE3LDcgQEAKIDxkaXYgY2xhc3M9ImNvbGxhcHNlIj4KIDxpbnB1dCB0eXBlPSJjaGVja2JveCIgaWQ9ImNvbGxhcHNlLXNlY3Rpb240XzJfMCIgYXJpYS1oaWRkZW49InRydWUiPiA8bGFiZWwgZm9yPSJjb2xsYXBzZS1zZWN0aW9uNF8yXzAiIGFyaWEtaGlkZGVuPSJ0cnVlIj48c3Ryb25nPlY0LjIuMCAvIDMxLU1hcmNoLTIwMTc8L3N0cm9uZz48L2xhYmVsPgogPGRpdj4KLTxoMiBpZD0ibWFpbi1jaGFuZ2VzLTQiPk1haW4gQ2hhbmdlczwvaDI+Cis8aDIgaWQ9Im1haW4tY2hhbmdlcy01Ij5NYWluIENoYW5nZXM8L2gyPgogPHVsPgogPGxpPlVzZSBfUG9zIGFuZCBfTWFzayBtYWNyb3MgZm9yIGFsbCBCaXQgRGVmaW5pdGlvbnM8L2xpPgogPGxpPlJlbW92ZSBDb3JlLUNNMyBiaXQgZGVmaW5pdGlvbnMgZnJvbSBDTVNJUyBkZXZpY2VzIGRyaXZlcnM6IGR1cGxpY2F0ZWQgd2l0aCBiaXQgZGVmaW5pdGlvbnMgaW4gY29yZV9jbTMuaC48L2xpPgpAQCAtMTU0LDcgKzE1Nyw3IEBACiA8ZGl2IGNsYXNzPSJjb2xsYXBzZSI+CiA8aW5wdXQgdHlwZT0iY2hlY2tib3giIGlkPSJjb2xsYXBzZS1zZWN0aW9uNF8xXzAiIGFyaWEtaGlkZGVuPSJ0cnVlIj4gPGxhYmVsIGZvcj0iY29sbGFwc2Utc2VjdGlvbjRfMV8wIiBhcmlhLWhpZGRlbj0idHJ1ZSI+PHN0cm9uZz5WNC4xLjAgLyAyOS1BcHJpbC0yMDE2PC9zdHJvbmc+PC9sYWJlbD4KIDxkaXY+Ci08aDIgaWQ9Im1haW4tY2hhbmdlcy01Ij5NYWluIENoYW5nZXM8L2gyPgorPGgyIGlkPSJtYWluLWNoYW5nZXMtNiI+TWFpbiBDaGFuZ2VzPC9oMj4KIDx1bD4KIDxsaT5BZGQgX1BvcyBhbmQgX01zayBkZWZpbmVzIHRvIGJlIHVzZWQgd2l0aCBfVkFMMkZMRChmaWVsZCwgdmFsdWUpIGFuZCBfRkxEMlZBTChmaWVsZCwgdmFsdWUpLgogPHVsPgpAQCAtMTYyLDggKzE2NSw4IEBACiA8L3VsPjwvbGk+CiA8bGk+UkNDOiBBZGQgZGVmaW5lIFJDQ19DRkdSX01DT1NFTCBmb3IgY29tcGF0aWJpbGl0eSBhY3Jvc3MgYWxsIFNUTTMyIHNlcmllcy48L2xpPgogPGxpPkFEQzogQWRkIGRlZmluZSBBRENfTVVMVElNT0RFX1NVUFBPUlQgZm9yIGRldmljZXMgc3VwcG9ydGluZyB0aGUgQURDIG11bHRpbW9kZSBmZWF0dXJlLjwvbGk+Ci08bGk+QURDOiBBZGQgZGVmaW5lIEFEQ19TUl9FT1MgYW5kIEFEQ19TUl9KRU9TIGZvciBjb21wYXRpYmlsaXR5IGFjY3Jvc3MgYWxsIFNUTTMyIHNlcmllcy48L2xpPgotPGxpPnN0bTMyZjF4eC5oOiBSZXBsYWNlIF9fU1RNMzJGMXh4X0NNU0lTX0RFVklDRV9WRVJTSU9OX01BSU4gYnkgX19TVE0zMkYxX0NNU0lTX1ZFUlNJT05fTUFJTiBmb3IgTUlTUkEgY29tcGxpYW5jeSBvbiBkZWZpbmUgbGVuZ3RoIG5hbWUuPC9saT4KKzxsaT5BREM6IEFkZCBkZWZpbmUgQURDX1NSX0VPUyBhbmQgQURDX1NSX0pFT1MgZm9yIGNvbXBhdGliaWxpdHkgYWNyb3NzIGFsbCBTVE0zMiBzZXJpZXMuPC9saT4KKzxsaT5zdG0zMmYxeHguaDogUmVwbGFjZSBfX1NUTTMyRjF4eF9DTVNJU19ERVZJQ0VfVkVSU0lPTl9NQUlOIGJ5IF9fU1RNMzJGMV9DTVNJU19WRVJTSU9OX01BSU4gZm9yIE1JU1JBIGNvbXBsaWFuY2Ugb24gZGVmaW5lIGxlbmd0aCBuYW1lLjwvbGk+CiA8bGk+QWRkIEFQQlByZXNjVGFibGUgY29uc3RhbnQgdG8gbGlzdCBBUEIgcHJlc2NhbGVycyB2YWx1ZXMuPC9saT4KIDxsaT5BZGQgRkxBU0hTSVpFX0JBU0UgZm9yIHRoZSBGTEFTSCBTaXplIHJlZ2lzdGVyIGJhc2UgYWRkcmVzcy48L2xpPgogPGxpPkFkZCBVSURfQkFTRSBmb3IgdGhlIHVuaXF1ZSBkZXZpY2UgSUQgcmVnaXN0ZXIgYmFzZSBhZGRyZXNzLjwvbGk+CkBAIC0xNzMsNyArMTc2LDcgQEAKIDxkaXYgY2xhc3M9ImNvbGxhcHNlIj4KIDxpbnB1dCB0eXBlPSJjaGVja2JveCIgaWQ9ImNvbGxhcHNlLXNlY3Rpb240XzBfMiIgYXJpYS1oaWRkZW49InRydWUiPiA8bGFiZWwgZm9yPSJjb2xsYXBzZS1zZWN0aW9uNF8wXzIiIGFyaWEtaGlkZGVuPSJ0cnVlIj48c3Ryb25nPlY0LjAuMiAvIDE4LURlY2VtYmVyLTIwMTY8L3N0cm9uZz48L2xhYmVsPgogPGRpdj4KLTxoMiBpZD0ibWFpbi1jaGFuZ2VzLTYiPk1haW4gQ2hhbmdlczwvaDI+Cis8aDIgaWQ9Im1haW4tY2hhbmdlcy03Ij5NYWluIENoYW5nZXM8L2gyPgogPHVsPgogPGxpPkZMQVNIOiBBZGQgRkxBU0hfT0JSX0RBVEEwIGFuZCBGTEFTSF9PQlJfREFUQTEgZm9yIEZMQVNIX09CUiByZWdpc3Rlci48L2xpPgogPGxpPldXREc6IEFsaWduIGJpdCBuYW1lIGFjcm9zcyBhbGwgU1RNMzIgZmFtaWxpZXMuCkBAIC0yMDMsNyArMjA2LDcgQEAKIDxkaXYgY2xhc3M9ImNvbGxhcHNlIj4KIDxpbnB1dCB0eXBlPSJjaGVja2JveCIgaWQ9ImNvbGxhcHNlLXNlY3Rpb240XzBfMSIgYXJpYS1oaWRkZW49InRydWUiPiA8bGFiZWwgZm9yPSJjb2xsYXBzZS1zZWN0aW9uNF8wXzEiIGFyaWEtaGlkZGVuPSJ0cnVlIj48c3Ryb25nPlY0LjAuMSAvIDMxLUp1bHktMjAxNTwvc3Ryb25nPjwvbGFiZWw+CiA8ZGl2PgotPGgyIGlkPSJtYWluLWNoYW5nZXMtNyI+TWFpbiBDaGFuZ2VzPC9oMj4KKzxoMiBpZD0ibWFpbi1jaGFuZ2VzLTgiPk1haW4gQ2hhbmdlczwvaDI+CiA8dWw+CiA8bGk+UmVtb3ZlIF9fSU8gb3IgX19JIG9uIGNvbnN0YW50IHRhYmxlIGRlY2xhcmF0aW9uIChBSEJQcmVzY1RhYmxlIGluIHN5c3RlbV9zdG0zMmYxeHguYykgZHVlIHRvIGlzc3VlIHdpdGggbWJlZCBDKysgY29kZS4gVGhlIHRhYmxlIGNvbnRlbnQgd2FzIGZpbGxlZCB3aXRoIHJhbmRvbSB2YWx1ZSBhdCBpbml0aWFsaXphdGlvbiBwaGFzZS48L2xpPgogPGxpPnVpbnQ4X3QgYWxpZ25tZW50IGRvbmUgb24gQ01TSVMgQ1JDIHJlZ2lzdGVycyBzdHJ1Y3R1cmUuPC9saT4KQEAgLTIxNCw3ICsyMTcsNyBAQAogPGRpdiBjbGFzcz0iY29sbGFwc2UiPgogPGlucHV0IHR5cGU9ImNoZWNrYm94IiBpZD0iY29sbGFwc2Utc2VjdGlvbjRfMF8wIiBhcmlhLWhpZGRlbj0idHJ1ZSI+IDxsYWJlbCBmb3I9ImNvbGxhcHNlLXNlY3Rpb240XzBfMCIgYXJpYS1oaWRkZW49InRydWUiPjxzdHJvbmc+VjQuMC4wIC8gMTYtRGVjZW1iZXItMjAxNDwvc3Ryb25nPjwvbGFiZWw+CiA8ZGl2PgotPGgyIGlkPSJtYWluLWNoYW5nZXMtOCI+TWFpbiBDaGFuZ2VzPC9oMj4KKzxoMiBpZD0ibWFpbi1jaGFuZ2VzLTkiPk1haW4gQ2hhbmdlczwvaDI+CiA8dWw+CiA8bGk+VXBkYXRlIGJhc2VkIG9uIFNUTTMyQ3ViZSBzcGVjaWZpY2F0aW9uPC9saT4KIDxsaT48c3Ryb25nPlRoaXMgdmVyc2lvbiBoYXMgdG8gYmUgdXNlZCBvbmx5IHdpdGggU1RNMzJDdWJlRjEgYmFzZWQgZGV2ZWxvcG1lbnQ8L3N0cm9uZz48L2xpPgpAQCAtMjI0LDcgKzIyNyw3IEBACiA8ZGl2IGNsYXNzPSJjb2xsYXBzZSI+CiA8aW5wdXQgdHlwZT0iY2hlY2tib3giIGlkPSJjb2xsYXBzZS1zZWN0aW9uM182XzMiIGFyaWEtaGlkZGVuPSJ0cnVlIj4gPGxhYmVsIGZvcj0iY29sbGFwc2Utc2VjdGlvbjNfNl8zIiBhcmlhLWhpZGRlbj0idHJ1ZSI+PHN0cm9uZz5WMy42LjMgLyAxMC1BcHJpbC0yMDE0PC9zdHJvbmc+PC9sYWJlbD4KIDxkaXY+Ci08aDIgaWQ9Im1haW4tY2hhbmdlcy05Ij5NYWluIENoYW5nZXM8L2gyPgorPGgyIGlkPSJtYWluLWNoYW5nZXMtMTAiPk1haW4gQ2hhbmdlczwvaDI+CiA8dWw+CiA8bGk+VXBkYXRlIHN0YXJ0dXAgZmlsZXMgZm9yIEVXQVJNIHRvb2xjaGFpbiB0byBjb3BlIHdpdGggY29tcGlsZXIgZW5oYW5jZW1lbnQgb2YgdGhlIFY3LjEwIHZlcnNpb24uPC9saT4KIDwvdWw+CkBAIC0yMzMsNyArMjM2LDcgQEAKIDxkaXYgY2xhc3M9ImNvbGxhcHNlIj4KIDxpbnB1dCB0eXBlPSJjaGVja2JveCIgaWQ9ImNvbGxhcHNlLXNlY3Rpb24zXzZfMiIgYXJpYS1oaWRkZW49InRydWUiPiA8bGFiZWwgZm9yPSJjb2xsYXBzZS1zZWN0aW9uM182XzIiIGFyaWEtaGlkZGVuPSJ0cnVlIj48c3Ryb25nPlYzLjYuMiAvIDI4LUZlYnJ1YXJ5LTIwMTM8L3N0cm9uZz48L2xhYmVsPgogPGRpdj4KLTxoMiBpZD0ibWFpbi1jaGFuZ2VzLTEwIj5NYWluIENoYW5nZXM8L2gyPgorPGgyIGlkPSJtYWluLWNoYW5nZXMtMTEiPk1haW4gQ2hhbmdlczwvaDI+CiA8dWw+CiA8bGk+c3RtMzJmMTB4LmgKIDx1bD4KQEAgLTI0Niw3ICsyNDksNyBAQAogPGRpdiBjbGFzcz0iY29sbGFwc2UiPgogPGlucHV0IHR5cGU9ImNoZWNrYm94IiBpZD0iY29sbGFwc2Utc2VjdGlvbjNfNl8xIiBhcmlhLWhpZGRlbj0idHJ1ZSI+IDxsYWJlbCBmb3I9ImNvbGxhcHNlLXNlY3Rpb24zXzZfMSIgYXJpYS1oaWRkZW49InRydWUiPjxzdHJvbmc+VjMuNi4xIC8gMDktTWFyY2gtMjAxMjwvc3Ryb25nPjwvbGFiZWw+CiA8ZGl2PgotPGgyIGlkPSJtYWluLWNoYW5nZXMtMTEiPk1haW4gQ2hhbmdlczwvaDI+Cis8aDIgaWQ9Im1haW4tY2hhbmdlcy0xMiI+TWFpbiBDaGFuZ2VzPC9oMj4KIDx1bD4KIDxsaT5BbGwgc291cmNlIGZpbGVzOiBsaWNlbnNlIGRpc2NsYWltZXIgdGV4dCB1cGRhdGUgYW5kIGFkZCBsaW5rIHRvIHRoZSBMaWNlbnNlIGZpbGUgb24gU1QgSW50ZXJuZXQuPC9saT4KIDwvdWw+CkBAIC0yNTUsNyArMjU4LDcgQEAKIDxkaXYgY2xhc3M9ImNvbGxhcHNlIj4KIDxpbnB1dCB0eXBlPSJjaGVja2JveCIgaWQ9ImNvbGxhcHNlLXNlY3Rpb24zXzZfMCIgYXJpYS1oaWRkZW49InRydWUiPiA8bGFiZWwgZm9yPSJjb2xsYXBzZS1zZWN0aW9uM182XzAiIGFyaWEtaGlkZGVuPSJ0cnVlIj48c3Ryb25nPlYzLjYuMCAvIDI3LUphbnVhcnktMjAxMjwvc3Ryb25nPjwvbGFiZWw+CiA8ZGl2PgotPGgyIGlkPSJtYWluLWNoYW5nZXMtMTIiPk1haW4gQ2hhbmdlczwvaDI+Cis8aDIgaWQ9Im1haW4tY2hhbmdlcy0xMyI+TWFpbiBDaGFuZ2VzPC9oMj4KIDx1bD4KIDxsaT5VcGRhdGUgZGlyZWN0b3J5IHN0cnVjdHVyZSB0byBiZSBjb21wbGlhbnQgd2l0aCBDTVNJUyBWMi4xPC9saT4KIDxsaT5BbGwgc291cmNlIGZpbGVzOiB1cGRhdGUgZGlzY2xhaW1lciB0byBhZGQgcmVmZXJlbmNlIHRvIHRoZSBuZXcgbGljZW5zZSBhZ3JlZW1lbnQ8L2xpPgpAQCAtMjg0LDcgKzI4Nyw3IEBACiA8ZGl2IGNsYXNzPSJjb2xsYXBzZSI+CiA8aW5wdXQgdHlwZT0iY2hlY2tib3giIGlkPSJjb2xsYXBzZS1zZWN0aW9uM181XzAiIGFyaWEtaGlkZGVuPSJ0cnVlIj4gPGxhYmVsIGZvcj0iY29sbGFwc2Utc2VjdGlvbjNfNV8wIiBhcmlhLWhpZGRlbj0idHJ1ZSI+PHN0cm9uZz5WMy41LjAgLyAxMS1NYXJjaC0yMDExPC9zdHJvbmc+PC9sYWJlbD4KIDxkaXY+Ci08aDIgaWQ9Im1haW4tY2hhbmdlcy0xMyI+TWFpbiBDaGFuZ2VzPC9oMj4KKzxoMiBpZD0ibWFpbi1jaGFuZ2VzLTE0Ij5NYWluIENoYW5nZXM8L2gyPgogPHVsPgogPGxpPjxlbT5zdG0zMmYxMHguaDwvZW0+IGFuZCA8ZW0+c3RhcnR1cF9zdG0zMmYxMHhfaGRfdmwuczwvZW0+IGZpbGVzOiByZW1vdmUgdGhlIEZTTUMgaW50ZXJydXB0IGRlZmluaXRpb24gZm9yIFNUTTMyRjEweCBIaWdoLWRlbnNpdHkgVmFsdWUgbGluZSBkZXZpY2VzLjwvbGk+CiA8bGk+c3lzdGVtX3N0bTMyZjEweC5jIGZpbGUgcHJvdmlkZWQgd2l0aGluIHRoZSBDTVNJUyBmb2xkZXIuPC9saT4KQEAgLTI5NCw3ICsyOTcsNyBAQAogPGRpdiBjbGFzcz0iY29sbGFwc2UiPgogPGlucHV0IHR5cGU9ImNoZWNrYm94IiBpZD0iY29sbGFwc2Utc2VjdGlvbjNfNF8wIiBhcmlhLWhpZGRlbj0idHJ1ZSI+IDxsYWJlbCBmb3I9ImNvbGxhcHNlLXNlY3Rpb24zXzRfMCIgYXJpYS1oaWRkZW49InRydWUiPjxzdHJvbmc+VjMuNC4wIC8gMTUtT2N0b2Jlci0yMDEwPC9zdHJvbmc+PC9sYWJlbD4KIDxkaXY+Ci08aDIgaWQ9Im1haW4tY2hhbmdlcy0xNCI+TWFpbiBDaGFuZ2VzPC9oMj4KKzxoMiBpZD0ibWFpbi1jaGFuZ2VzLTE1Ij5NYWluIENoYW5nZXM8L2gyPgogPHVsPgogPGxpPkdlbmVyYWwKIDx1bD4KQEAgLTMzMCw3ICszMzMsNyBAQAogPGRpdiBjbGFzcz0iY29sbGFwc2UiPgogPGlucHV0IHR5cGU9ImNoZWNrYm94IiBpZD0iY29sbGFwc2Utc2VjdGlvbjNfM18wIiBhcmlhLWhpZGRlbj0idHJ1ZSI+IDxsYWJlbCBmb3I9ImNvbGxhcHNlLXNlY3Rpb24zXzNfMCIgYXJpYS1oaWRkZW49InRydWUiPjxzdHJvbmc+VjMuMy4wIC8gMTYtQXByaWwtMjAxMDwvc3Ryb25nPjwvbGFiZWw+CiA8ZGl2PgotPGgyIGlkPSJtYWluLWNoYW5nZXMtMTUiPk1haW4gQ2hhbmdlczwvaDI+Cis8aDIgaWQ9Im1haW4tY2hhbmdlcy0xNiI+TWFpbiBDaGFuZ2VzPC9oMj4KIDx1bD4KIDxsaT5HZW5lcmFsCiA8dWw+CkBAIC0zNjksNyArMzcyLDcgQEAKIDxkaXYgY2xhc3M9ImNvbGxhcHNlIj4KIDxpbnB1dCB0eXBlPSJjaGVja2JveCIgaWQ9ImNvbGxhcHNlLXNlY3Rpb24zXzJfMCIgYXJpYS1oaWRkZW49InRydWUiPiA8bGFiZWwgZm9yPSJjb2xsYXBzZS1zZWN0aW9uM18yXzAiIGFyaWEtaGlkZGVuPSJ0cnVlIj48c3Ryb25nPlYzLjIuMCAvIDAxLU1hcmNoLTIwMTA8L3N0cm9uZz48L2xhYmVsPgogPGRpdj4KLTxoMiBpZD0ibWFpbi1jaGFuZ2VzLTE2Ij5NYWluIENoYW5nZXM8L2gyPgorPGgyIGlkPSJtYWluLWNoYW5nZXMtMTciPk1haW4gQ2hhbmdlczwvaDI+CiA8dWw+CiA8bGk+R2VuZXJhbAogPHVsPgpkaWZmIC0tZ2l0IGEvU291cmNlL1RlbXBsYXRlcy9hcm0vc3RhcnR1cF9zdG0zMmYxMDB4Yi5zIGIvU291cmNlL1RlbXBsYXRlcy9hcm0vc3RhcnR1cF9zdG0zMmYxMDB4Yi5zCmluZGV4IDY0ZDdmMDkuLjc0MTAzMGMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9UZW1wbGF0ZXMvYXJtL3N0YXJ0dXBfc3RtMzJmMTAweGIucworKysgYi9Tb3VyY2UvVGVtcGxhdGVzL2FybS9zdGFydHVwX3N0bTMyZjEwMHhiLnMKQEAgLTE0LDEzICsxNCwxMiBAQAogOyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogOyogQGF0dGVudGlvbgogOyoKLTsqIENvcHlyaWdodCAoYykgMjAxNyBTVE1pY3JvZWxlY3Ryb25pY3MuCis7KiBDb3B5cmlnaHQgKGMpIDIwMTctMjAyMSBTVE1pY3JvZWxlY3Ryb25pY3MuCiA7KiBBbGwgcmlnaHRzIHJlc2VydmVkLgogOyoKLTsqIFRoaXMgc29mdHdhcmUgY29tcG9uZW50IGlzIGxpY2Vuc2VkIGJ5IFNUIHVuZGVyIEJTRCAzLUNsYXVzZSBsaWNlbnNlLAotOyogdGhlICJMaWNlbnNlIjsgWW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZQotOyogTGljZW5zZS4gWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0OgotOyogICAgICAgICAgICAgICAgICAgICAgICBvcGVuc291cmNlLm9yZy9saWNlbnNlcy9CU0QtMy1DbGF1c2UKKzsqIFRoaXMgc29mdHdhcmUgaXMgbGljZW5zZWQgdW5kZXIgdGVybXMgdGhhdCBjYW4gYmUgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZQorOyogaW4gdGhlIHJvb3QgZGlyZWN0b3J5IG9mIHRoaXMgc29mdHdhcmUgY29tcG9uZW50LgorOyogSWYgbm8gTElDRU5TRSBmaWxlIGNvbWVzIHdpdGggdGhpcyBzb2Z0d2FyZSwgaXQgaXMgcHJvdmlkZWQgQVMtSVMuCiA7KgogOyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogCkBAIC0zMTIsNCArMzExLDMgQEAKIAogICAgICAgICAgICAgICAgICBFTkQKIAotOyoqKioqKioqKioqKioqKioqKioqKioqKiAoQykgQ09QWVJJR0hUIFNUTWljcm9lbGVjdHJvbmljcyAqKioqKkVORCBPRiBGSUxFKioqKioKZGlmZiAtLWdpdCBhL1NvdXJjZS9UZW1wbGF0ZXMvYXJtL3N0YXJ0dXBfc3RtMzJmMTAweGUucyBiL1NvdXJjZS9UZW1wbGF0ZXMvYXJtL3N0YXJ0dXBfc3RtMzJmMTAweGUucwppbmRleCA0YTg5ZGIyLi5jOGFhNzQ1IDEwMDY0NAotLS0gYS9Tb3VyY2UvVGVtcGxhdGVzL2FybS9zdGFydHVwX3N0bTMyZjEwMHhlLnMKKysrIGIvU291cmNlL1RlbXBsYXRlcy9hcm0vc3RhcnR1cF9zdG0zMmYxMDB4ZS5zCkBAIC0xNiwxMyArMTYsMTIgQEAKIDsqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKIDsqIEBhdHRlbnRpb24KIDsqCi07KiBDb3B5cmlnaHQgKGMpIDIwMTcgU1RNaWNyb2VsZWN0cm9uaWNzLgorOyogQ29weXJpZ2h0IChjKSAyMDE3LTIwMjEgU1RNaWNyb2VsZWN0cm9uaWNzLgogOyogQWxsIHJpZ2h0cyByZXNlcnZlZC4KIDsqCi07KiBUaGlzIHNvZnR3YXJlIGNvbXBvbmVudCBpcyBsaWNlbnNlZCBieSBTVCB1bmRlciBCU0QgMy1DbGF1c2UgbGljZW5zZSwKLTsqIHRoZSAiTGljZW5zZSI7IFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUKLTsqIExpY2Vuc2UuIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdDoKLTsqICAgICAgICAgICAgICAgICAgICAgICAgb3BlbnNvdXJjZS5vcmcvbGljZW5zZXMvQlNELTMtQ2xhdXNlCis7KiBUaGlzIHNvZnR3YXJlIGlzIGxpY2Vuc2VkIHVuZGVyIHRlcm1zIHRoYXQgY2FuIGJlIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUKKzsqIGluIHRoZSByb290IGRpcmVjdG9yeSBvZiB0aGlzIHNvZnR3YXJlIGNvbXBvbmVudC4KKzsqIElmIG5vIExJQ0VOU0UgZmlsZSBjb21lcyB3aXRoIHRoaXMgc29mdHdhcmUsIGl0IGlzIHByb3ZpZGVkIEFTLUlTLgogOyoKIDsqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKIApAQCAtMzQzLDQgKzM0MiwzIEBACiAKICAgICAgICAgICAgICAgICAgRU5ECiAKLTsqKioqKioqKioqKioqKioqKioqKioqKiogKEMpIENPUFlSSUdIVCBTVE1pY3JvZWxlY3Ryb25pY3MgKioqKipFTkQgT0YgRklMRSoqKioqCmRpZmYgLS1naXQgYS9Tb3VyY2UvVGVtcGxhdGVzL2FybS9zdGFydHVwX3N0bTMyZjEwMXg2LnMgYi9Tb3VyY2UvVGVtcGxhdGVzL2FybS9zdGFydHVwX3N0bTMyZjEwMXg2LnMKaW5kZXggMjkxNWE2Yy4uN2RmZTU3MSAxMDA2NDQKLS0tIGEvU291cmNlL1RlbXBsYXRlcy9hcm0vc3RhcnR1cF9zdG0zMmYxMDF4Ni5zCisrKyBiL1NvdXJjZS9UZW1wbGF0ZXMvYXJtL3N0YXJ0dXBfc3RtMzJmMTAxeDYucwpAQCAtMTQsMTMgKzE0LDEyIEBACiA7KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiA7KiBAYXR0ZW50aW9uCiA7KgotOyogQ29weXJpZ2h0IChjKSAyMDE3IFNUTWljcm9lbGVjdHJvbmljcy4KKzsqIENvcHlyaWdodCAoYykgMjAxNy0yMDIxIFNUTWljcm9lbGVjdHJvbmljcy4KIDsqIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiA7KgotOyogVGhpcyBzb2Z0d2FyZSBjb21wb25lbnQgaXMgbGljZW5zZWQgYnkgU1QgdW5kZXIgQlNEIDMtQ2xhdXNlIGxpY2Vuc2UsCi07KiB0aGUgIkxpY2Vuc2UiOyBZb3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlCi07KiBMaWNlbnNlLiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXQ6Ci07KiAgICAgICAgICAgICAgICAgICAgICAgIG9wZW5zb3VyY2Uub3JnL2xpY2Vuc2VzL0JTRC0zLUNsYXVzZQorOyogVGhpcyBzb2Z0d2FyZSBpcyBsaWNlbnNlZCB1bmRlciB0ZXJtcyB0aGF0IGNhbiBiZSBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlCis7KiBpbiB0aGUgcm9vdCBkaXJlY3Rvcnkgb2YgdGhpcyBzb2Z0d2FyZSBjb21wb25lbnQuCis7KiBJZiBubyBMSUNFTlNFIGZpbGUgY29tZXMgd2l0aCB0aGlzIHNvZnR3YXJlLCBpdCBpcyBwcm92aWRlZCBBUy1JUy4KIDsqCiA7KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiAKQEAgLTI3NSw0ICsyNzQsMyBAQAogCiAgICAgICAgICAgICAgICAgIEVORAogCi07KioqKioqKioqKioqKioqKioqKioqKioqIChDKSBDT1BZUklHSFQgU1RNaWNyb2VsZWN0cm9uaWNzICoqKioqRU5EIE9GIEZJTEUqKioqKgpkaWZmIC0tZ2l0IGEvU291cmNlL1RlbXBsYXRlcy9hcm0vc3RhcnR1cF9zdG0zMmYxMDF4Yi5zIGIvU291cmNlL1RlbXBsYXRlcy9hcm0vc3RhcnR1cF9zdG0zMmYxMDF4Yi5zCmluZGV4IDhmNDYzODkuLjlhZGU4YTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9UZW1wbGF0ZXMvYXJtL3N0YXJ0dXBfc3RtMzJmMTAxeGIucworKysgYi9Tb3VyY2UvVGVtcGxhdGVzL2FybS9zdGFydHVwX3N0bTMyZjEwMXhiLnMKQEAgLTE0LDEzICsxNCwxMiBAQAogOyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogOyogQGF0dGVudGlvbgogOyoKLTsqIENvcHlyaWdodCAoYykgMjAxNyBTVE1pY3JvZWxlY3Ryb25pY3MuCis7KiBDb3B5cmlnaHQgKGMpIDIwMTctMjAyMSBTVE1pY3JvZWxlY3Ryb25pY3MuCiA7KiBBbGwgcmlnaHRzIHJlc2VydmVkLgogOyoKLTsqIFRoaXMgc29mdHdhcmUgY29tcG9uZW50IGlzIGxpY2Vuc2VkIGJ5IFNUIHVuZGVyIEJTRCAzLUNsYXVzZSBsaWNlbnNlLAotOyogdGhlICJMaWNlbnNlIjsgWW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZQotOyogTGljZW5zZS4gWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0OgotOyogICAgICAgICAgICAgICAgICAgICAgICBvcGVuc291cmNlLm9yZy9saWNlbnNlcy9CU0QtMy1DbGF1c2UKKzsqIFRoaXMgc29mdHdhcmUgaXMgbGljZW5zZWQgdW5kZXIgdGVybXMgdGhhdCBjYW4gYmUgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZQorOyogaW4gdGhlIHJvb3QgZGlyZWN0b3J5IG9mIHRoaXMgc29mdHdhcmUgY29tcG9uZW50LgorOyogSWYgbm8gTElDRU5TRSBmaWxlIGNvbWVzIHdpdGggdGhpcyBzb2Z0d2FyZSwgaXQgaXMgcHJvdmlkZWQgQVMtSVMuCiA7KgogOyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogCkBAIC0yODUsNCArMjg0LDMgQEAKIAogICAgICAgICAgICAgICAgICBFTkQKIAotOyoqKioqKioqKioqKioqKioqKioqKioqKiAoQykgQ09QWVJJR0hUIFNUTWljcm9lbGVjdHJvbmljcyAqKioqKkVORCBPRiBGSUxFKioqKioKZGlmZiAtLWdpdCBhL1NvdXJjZS9UZW1wbGF0ZXMvYXJtL3N0YXJ0dXBfc3RtMzJmMTAxeGUucyBiL1NvdXJjZS9UZW1wbGF0ZXMvYXJtL3N0YXJ0dXBfc3RtMzJmMTAxeGUucwppbmRleCA3NmZlMjc4Li5kZTIwNGE5IDEwMDY0NAotLS0gYS9Tb3VyY2UvVGVtcGxhdGVzL2FybS9zdGFydHVwX3N0bTMyZjEwMXhlLnMKKysrIGIvU291cmNlL1RlbXBsYXRlcy9hcm0vc3RhcnR1cF9zdG0zMmYxMDF4ZS5zCkBAIC0xNCwxMyArMTQsMTIgQEAKIDsqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKIDsqIEBhdHRlbnRpb24KIDsqCi07KiBDb3B5cmlnaHQgKGMpIDIwMTcgU1RNaWNyb2VsZWN0cm9uaWNzLgorOyogQ29weXJpZ2h0IChjKSAyMDE3LTIwMjEgU1RNaWNyb2VsZWN0cm9uaWNzLgogOyogQWxsIHJpZ2h0cyByZXNlcnZlZC4KIDsqCi07KiBUaGlzIHNvZnR3YXJlIGNvbXBvbmVudCBpcyBsaWNlbnNlZCBieSBTVCB1bmRlciBCU0QgMy1DbGF1c2UgbGljZW5zZSwKLTsqIHRoZSAiTGljZW5zZSI7IFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUKLTsqIExpY2Vuc2UuIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdDoKLTsqICAgICAgICAgICAgICAgICAgICAgICAgb3BlbnNvdXJjZS5vcmcvbGljZW5zZXMvQlNELTMtQ2xhdXNlCis7KiBUaGlzIHNvZnR3YXJlIGlzIGxpY2Vuc2VkIHVuZGVyIHRlcm1zIHRoYXQgY2FuIGJlIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUKKzsqIGluIHRoZSByb290IGRpcmVjdG9yeSBvZiB0aGlzIHNvZnR3YXJlIGNvbXBvbmVudC4KKzsqIElmIG5vIExJQ0VOU0UgZmlsZSBjb21lcyB3aXRoIHRoaXMgc29mdHdhcmUsIGl0IGlzIHByb3ZpZGVkIEFTLUlTLgogOyoKIDsqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKIApAQCAtMzIzLDQgKzMyMiwzIEBACiAKICAgICAgICAgICAgICAgICAgRU5ECiAKLTsqKioqKioqKioqKioqKioqKioqKioqKiogKEMpIENPUFlSSUdIVCBTVE1pY3JvZWxlY3Ryb25pY3MgKioqKipFTkQgT0YgRklMRSoqKioqCmRpZmYgLS1naXQgYS9Tb3VyY2UvVGVtcGxhdGVzL2FybS9zdGFydHVwX3N0bTMyZjEwMXhnLnMgYi9Tb3VyY2UvVGVtcGxhdGVzL2FybS9zdGFydHVwX3N0bTMyZjEwMXhnLnMKaW5kZXggMzA5YWMwZS4uY2U3M2ZkOSAxMDA2NDQKLS0tIGEvU291cmNlL1RlbXBsYXRlcy9hcm0vc3RhcnR1cF9zdG0zMmYxMDF4Zy5zCisrKyBiL1NvdXJjZS9UZW1wbGF0ZXMvYXJtL3N0YXJ0dXBfc3RtMzJmMTAxeGcucwpAQCAtMTQsMTMgKzE0LDEyIEBACiA7KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiA7KiBAYXR0ZW50aW9uCiA7KgotOyogQ29weXJpZ2h0IChjKSAyMDE3IFNUTWljcm9lbGVjdHJvbmljcy4KKzsqIENvcHlyaWdodCAoYykgMjAxNy0yMDIxIFNUTWljcm9lbGVjdHJvbmljcy4KIDsqIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiA7KgotOyogVGhpcyBzb2Z0d2FyZSBjb21wb25lbnQgaXMgbGljZW5zZWQgYnkgU1QgdW5kZXIgQlNEIDMtQ2xhdXNlIGxpY2Vuc2UsCi07KiB0aGUgIkxpY2Vuc2UiOyBZb3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlCi07KiBMaWNlbnNlLiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXQ6Ci07KiAgICAgICAgICAgICAgICAgICAgICAgIG9wZW5zb3VyY2Uub3JnL2xpY2Vuc2VzL0JTRC0zLUNsYXVzZQorOyogVGhpcyBzb2Z0d2FyZSBpcyBsaWNlbnNlZCB1bmRlciB0ZXJtcyB0aGF0IGNhbiBiZSBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlCis7KiBpbiB0aGUgcm9vdCBkaXJlY3Rvcnkgb2YgdGhpcyBzb2Z0d2FyZSBjb21wb25lbnQuCis7KiBJZiBubyBMSUNFTlNFIGZpbGUgY29tZXMgd2l0aCB0aGlzIHNvZnR3YXJlLCBpdCBpcyBwcm92aWRlZCBBUy1JUy4KIDsqCiA7KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiAKQEAgLTMzNSw0ICszMzQsMyBAQAogCiAgICAgICAgICAgICAgICAgIEVORAogCi07KioqKioqKioqKioqKioqKioqKioqKioqIChDKSBDT1BZUklHSFQgU1RNaWNyb2VsZWN0cm9uaWNzICoqKioqRU5EIE9GIEZJTEUqKioqKgpkaWZmIC0tZ2l0IGEvU291cmNlL1RlbXBsYXRlcy9hcm0vc3RhcnR1cF9zdG0zMmYxMDJ4Ni5zIGIvU291cmNlL1RlbXBsYXRlcy9hcm0vc3RhcnR1cF9zdG0zMmYxMDJ4Ni5zCmluZGV4IGViN2MxZjAuLmE5Y2ZiNzUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9UZW1wbGF0ZXMvYXJtL3N0YXJ0dXBfc3RtMzJmMTAyeDYucworKysgYi9Tb3VyY2UvVGVtcGxhdGVzL2FybS9zdGFydHVwX3N0bTMyZjEwMng2LnMKQEAgLTE0LDEzICsxNCwxMiBAQAogOyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogOyogQGF0dGVudGlvbgogOyoKLTsqIENvcHlyaWdodCAoYykgMjAxNyBTVE1pY3JvZWxlY3Ryb25pY3MuCis7KiBDb3B5cmlnaHQgKGMpIDIwMTctMjAyMSBTVE1pY3JvZWxlY3Ryb25pY3MuCiA7KiBBbGwgcmlnaHRzIHJlc2VydmVkLgogOyoKLTsqIFRoaXMgc29mdHdhcmUgY29tcG9uZW50IGlzIGxpY2Vuc2VkIGJ5IFNUIHVuZGVyIEJTRCAzLUNsYXVzZSBsaWNlbnNlLAotOyogdGhlICJMaWNlbnNlIjsgWW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZQotOyogTGljZW5zZS4gWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0OgotOyogICAgICAgICAgICAgICAgICAgICAgICBvcGVuc291cmNlLm9yZy9saWNlbnNlcy9CU0QtMy1DbGF1c2UKKzsqIFRoaXMgc29mdHdhcmUgaXMgbGljZW5zZWQgdW5kZXIgdGVybXMgdGhhdCBjYW4gYmUgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZQorOyogaW4gdGhlIHJvb3QgZGlyZWN0b3J5IG9mIHRoaXMgc29mdHdhcmUgY29tcG9uZW50LgorOyogSWYgbm8gTElDRU5TRSBmaWxlIGNvbWVzIHdpdGggdGhpcyBzb2Z0d2FyZSwgaXQgaXMgcHJvdmlkZWQgQVMtSVMuCiA7KgogOyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogCkBAIC0yODIsNCArMjgxLDMgQEAKIAogICAgICAgICAgICAgICAgICBFTkQKIAotOyoqKioqKioqKioqKioqKioqKioqKioqKiAoQykgQ09QWVJJR0hUIFNUTWljcm9lbGVjdHJvbmljcyAqKioqKkVORCBPRiBGSUxFKioqKioKZGlmZiAtLWdpdCBhL1NvdXJjZS9UZW1wbGF0ZXMvYXJtL3N0YXJ0dXBfc3RtMzJmMTAyeGIucyBiL1NvdXJjZS9UZW1wbGF0ZXMvYXJtL3N0YXJ0dXBfc3RtMzJmMTAyeGIucwppbmRleCA4NTgyOWU0Li4yMzFjYTdjIDEwMDY0NAotLS0gYS9Tb3VyY2UvVGVtcGxhdGVzL2FybS9zdGFydHVwX3N0bTMyZjEwMnhiLnMKKysrIGIvU291cmNlL1RlbXBsYXRlcy9hcm0vc3RhcnR1cF9zdG0zMmYxMDJ4Yi5zCkBAIC0xNCwxMyArMTQsMTIgQEAKIDsqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKIDsqIEBhdHRlbnRpb24KIDsqCi07KiBDb3B5cmlnaHQgKGMpIDIwMTcgU1RNaWNyb2VsZWN0cm9uaWNzLgorOyogQ29weXJpZ2h0IChjKSAyMDE3LTIwMjEgU1RNaWNyb2VsZWN0cm9uaWNzLgogOyogQWxsIHJpZ2h0cyByZXNlcnZlZC4KIDsqCi07KiBUaGlzIHNvZnR3YXJlIGNvbXBvbmVudCBpcyBsaWNlbnNlZCBieSBTVCB1bmRlciBCU0QgMy1DbGF1c2UgbGljZW5zZSwKLTsqIHRoZSAiTGljZW5zZSI7IFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUKLTsqIExpY2Vuc2UuIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdDoKLTsqICAgICAgICAgICAgICAgICAgICAgICAgb3BlbnNvdXJjZS5vcmcvbGljZW5zZXMvQlNELTMtQ2xhdXNlCis7KiBUaGlzIHNvZnR3YXJlIGlzIGxpY2Vuc2VkIHVuZGVyIHRlcm1zIHRoYXQgY2FuIGJlIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUKKzsqIGluIHRoZSByb290IGRpcmVjdG9yeSBvZiB0aGlzIHNvZnR3YXJlIGNvbXBvbmVudC4KKzsqIElmIG5vIExJQ0VOU0UgZmlsZSBjb21lcyB3aXRoIHRoaXMgc29mdHdhcmUsIGl0IGlzIHByb3ZpZGVkIEFTLUlTLgogOyoKIDsqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKIApAQCAtMjkyLDQgKzI5MSwzIEBACiAKICAgICAgICAgICAgICAgICAgRU5ECiAKLTsqKioqKioqKioqKioqKioqKioqKioqKiogKEMpIENPUFlSSUdIVCBTVE1pY3JvZWxlY3Ryb25pY3MgKioqKipFTkQgT0YgRklMRSoqKioqCmRpZmYgLS1naXQgYS9Tb3VyY2UvVGVtcGxhdGVzL2FybS9zdGFydHVwX3N0bTMyZjEwM3g2LnMgYi9Tb3VyY2UvVGVtcGxhdGVzL2FybS9zdGFydHVwX3N0bTMyZjEwM3g2LnMKaW5kZXggZjk5ZmM2MS4uYmVlZGRkZSAxMDA2NDQKLS0tIGEvU291cmNlL1RlbXBsYXRlcy9hcm0vc3RhcnR1cF9zdG0zMmYxMDN4Ni5zCisrKyBiL1NvdXJjZS9UZW1wbGF0ZXMvYXJtL3N0YXJ0dXBfc3RtMzJmMTAzeDYucwpAQCAtMTQsMTMgKzE0LDEyIEBACiA7KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiA7KiBAYXR0ZW50aW9uCiA7KgotOyogQ29weXJpZ2h0IChjKSAyMDE3IFNUTWljcm9lbGVjdHJvbmljcy4KKzsqIENvcHlyaWdodCAoYykgMjAxNy0yMDIxIFNUTWljcm9lbGVjdHJvbmljcy4KIDsqIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiA7KgotOyogVGhpcyBzb2Z0d2FyZSBjb21wb25lbnQgaXMgbGljZW5zZWQgYnkgU1QgdW5kZXIgQlNEIDMtQ2xhdXNlIGxpY2Vuc2UsCi07KiB0aGUgIkxpY2Vuc2UiOyBZb3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlCi07KiBMaWNlbnNlLiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXQ6Ci07KiAgICAgICAgICAgICAgICAgICAgICAgIG9wZW5zb3VyY2Uub3JnL2xpY2Vuc2VzL0JTRC0zLUNsYXVzZQorOyogVGhpcyBzb2Z0d2FyZSBpcyBsaWNlbnNlZCB1bmRlciB0ZXJtcyB0aGF0IGNhbiBiZSBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlCis7KiBpbiB0aGUgcm9vdCBkaXJlY3Rvcnkgb2YgdGhpcyBzb2Z0d2FyZSBjb21wb25lbnQuCis7KiBJZiBubyBMSUNFTlNFIGZpbGUgY29tZXMgd2l0aCB0aGlzIHNvZnR3YXJlLCBpdCBpcyBwcm92aWRlZCBBUy1JUy4KIDsqCiA7KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiAKQEAgLTI5NCw0ICsyOTMsMyBAQAogCiAgICAgICAgICAgICAgICAgIEVORAogCi07KioqKioqKioqKioqKioqKioqKioqKioqIChDKSBDT1BZUklHSFQgU1RNaWNyb2VsZWN0cm9uaWNzICoqKioqRU5EIE9GIEZJTEUqKioqKgpkaWZmIC0tZ2l0IGEvU291cmNlL1RlbXBsYXRlcy9hcm0vc3RhcnR1cF9zdG0zMmYxMDN4Yi5zIGIvU291cmNlL1RlbXBsYXRlcy9hcm0vc3RhcnR1cF9zdG0zMmYxMDN4Yi5zCmluZGV4IDdmNzQ2YmYuLjA5MTVhYjAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9UZW1wbGF0ZXMvYXJtL3N0YXJ0dXBfc3RtMzJmMTAzeGIucworKysgYi9Tb3VyY2UvVGVtcGxhdGVzL2FybS9zdGFydHVwX3N0bTMyZjEwM3hiLnMKQEAgLTE0LDEzICsxNCwxMiBAQAogOyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogOyogQGF0dGVudGlvbgogOyoKLTsqIENvcHlyaWdodCAoYykgMjAxNyBTVE1pY3JvZWxlY3Ryb25pY3MuCis7KiBDb3B5cmlnaHQgKGMpIDIwMTctMjAyMSBTVE1pY3JvZWxlY3Ryb25pY3MuCiA7KiBBbGwgcmlnaHRzIHJlc2VydmVkLgogOyoKLTsqIFRoaXMgc29mdHdhcmUgY29tcG9uZW50IGlzIGxpY2Vuc2VkIGJ5IFNUIHVuZGVyIEJTRCAzLUNsYXVzZSBsaWNlbnNlLAotOyogdGhlICJMaWNlbnNlIjsgWW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZQotOyogTGljZW5zZS4gWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0OgotOyogICAgICAgICAgICAgICAgICAgICAgICBvcGVuc291cmNlLm9yZy9saWNlbnNlcy9CU0QtMy1DbGF1c2UKKzsqIFRoaXMgc29mdHdhcmUgaXMgbGljZW5zZWQgdW5kZXIgdGVybXMgdGhhdCBjYW4gYmUgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZQorOyogaW4gdGhlIHJvb3QgZGlyZWN0b3J5IG9mIHRoaXMgc29mdHdhcmUgY29tcG9uZW50LgorOyogSWYgbm8gTElDRU5TRSBmaWxlIGNvbWVzIHdpdGggdGhpcyBzb2Z0d2FyZSwgaXQgaXMgcHJvdmlkZWQgQVMtSVMuCiA7KgogOyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogCkBAIC0zMDQsNCArMzAzLDMgQEAKIAogICAgICAgICAgICAgICAgICBFTkQKIAotOyoqKioqKioqKioqKioqKioqKioqKioqKiAoQykgQ09QWVJJR0hUIFNUTWljcm9lbGVjdHJvbmljcyAqKioqKkVORCBPRiBGSUxFKioqKioKZGlmZiAtLWdpdCBhL1NvdXJjZS9UZW1wbGF0ZXMvYXJtL3N0YXJ0dXBfc3RtMzJmMTAzeGUucyBiL1NvdXJjZS9UZW1wbGF0ZXMvYXJtL3N0YXJ0dXBfc3RtMzJmMTAzeGUucwppbmRleCA2ZTllYmExLi4xZDZiYWIwIDEwMDY0NAotLS0gYS9Tb3VyY2UvVGVtcGxhdGVzL2FybS9zdGFydHVwX3N0bTMyZjEwM3hlLnMKKysrIGIvU291cmNlL1RlbXBsYXRlcy9hcm0vc3RhcnR1cF9zdG0zMmYxMDN4ZS5zCkBAIC0xNCwxMyArMTQsMTIgQEAKIDsqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKIDsqIEBhdHRlbnRpb24KIDsqCi07KiBDb3B5cmlnaHQgKGMpIDIwMTcgU1RNaWNyb2VsZWN0cm9uaWNzLgorOyogQ29weXJpZ2h0IChjKSAyMDE3LTIwMjEgU1RNaWNyb2VsZWN0cm9uaWNzLgogOyogQWxsIHJpZ2h0cyByZXNlcnZlZC4KIDsqCi07KiBUaGlzIHNvZnR3YXJlIGNvbXBvbmVudCBpcyBsaWNlbnNlZCBieSBTVCB1bmRlciBCU0QgMy1DbGF1c2UgbGljZW5zZSwKLTsqIHRoZSAiTGljZW5zZSI7IFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUKLTsqIExpY2Vuc2UuIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdDoKLTsqICAgICAgICAgICAgICAgICAgICAgICAgb3BlbnNvdXJjZS5vcmcvbGljZW5zZXMvQlNELTMtQ2xhdXNlCis7KiBUaGlzIHNvZnR3YXJlIGlzIGxpY2Vuc2VkIHVuZGVyIHRlcm1zIHRoYXQgY2FuIGJlIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUKKzsqIGluIHRoZSByb290IGRpcmVjdG9yeSBvZiB0aGlzIHNvZnR3YXJlIGNvbXBvbmVudC4KKzsqIElmIG5vIExJQ0VOU0UgZmlsZSBjb21lcyB3aXRoIHRoaXMgc29mdHdhcmUsIGl0IGlzIHByb3ZpZGVkIEFTLUlTLgogOyoKIDsqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKIApAQCAtMzUzLDQgKzM1MiwzIEBACiAKICAgICAgICAgICAgICAgICAgRU5ECiAKLTsqKioqKioqKioqKioqKioqKioqKioqKiogKEMpIENPUFlSSUdIVCBTVE1pY3JvZWxlY3Ryb25pY3MgKioqKipFTkQgT0YgRklMRSoqKioqCmRpZmYgLS1naXQgYS9Tb3VyY2UvVGVtcGxhdGVzL2FybS9zdGFydHVwX3N0bTMyZjEwM3hnLnMgYi9Tb3VyY2UvVGVtcGxhdGVzL2FybS9zdGFydHVwX3N0bTMyZjEwM3hnLnMKaW5kZXggZTZhZDVhNC4uNWY2Y2FhMCAxMDA2NDQKLS0tIGEvU291cmNlL1RlbXBsYXRlcy9hcm0vc3RhcnR1cF9zdG0zMmYxMDN4Zy5zCisrKyBiL1NvdXJjZS9UZW1wbGF0ZXMvYXJtL3N0YXJ0dXBfc3RtMzJmMTAzeGcucwpAQCAtMTQsMTMgKzE0LDEyIEBACiA7KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiA7KiBAYXR0ZW50aW9uCiA7KgotOyogQ29weXJpZ2h0IChjKSAyMDE3IFNUTWljcm9lbGVjdHJvbmljcy4KKzsqIENvcHlyaWdodCAoYykgMjAxNy0yMDIxIFNUTWljcm9lbGVjdHJvbmljcy4KIDsqIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiA7KgotOyogVGhpcyBzb2Z0d2FyZSBjb21wb25lbnQgaXMgbGljZW5zZWQgYnkgU1QgdW5kZXIgQlNEIDMtQ2xhdXNlIGxpY2Vuc2UsCi07KiB0aGUgIkxpY2Vuc2UiOyBZb3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlCi07KiBMaWNlbnNlLiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXQ6Ci07KiAgICAgICAgICAgICAgICAgICAgICAgIG9wZW5zb3VyY2Uub3JnL2xpY2Vuc2VzL0JTRC0zLUNsYXVzZQorOyogVGhpcyBzb2Z0d2FyZSBpcyBsaWNlbnNlZCB1bmRlciB0ZXJtcyB0aGF0IGNhbiBiZSBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlCis7KiBpbiB0aGUgcm9vdCBkaXJlY3Rvcnkgb2YgdGhpcyBzb2Z0d2FyZSBjb21wb25lbnQuCis7KiBJZiBubyBMSUNFTlNFIGZpbGUgY29tZXMgd2l0aCB0aGlzIHNvZnR3YXJlLCBpdCBpcyBwcm92aWRlZCBBUy1JUy4KIDsqCiA7KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiAKQEAgLTM1Myw0ICszNTIsMyBAQAogCiAgICAgICAgICAgICAgICAgIEVORAogCi07KioqKioqKioqKioqKioqKioqKioqKioqIChDKSBDT1BZUklHSFQgU1RNaWNyb2VsZWN0cm9uaWNzICoqKioqRU5EIE9GIEZJTEUqKioqKgpkaWZmIC0tZ2l0IGEvU291cmNlL1RlbXBsYXRlcy9hcm0vc3RhcnR1cF9zdG0zMmYxMDV4Yy5zIGIvU291cmNlL1RlbXBsYXRlcy9hcm0vc3RhcnR1cF9zdG0zMmYxMDV4Yy5zCmluZGV4IGUwNzIzN2IuLjljZGI5MWUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9UZW1wbGF0ZXMvYXJtL3N0YXJ0dXBfc3RtMzJmMTA1eGMucworKysgYi9Tb3VyY2UvVGVtcGxhdGVzL2FybS9zdGFydHVwX3N0bTMyZjEwNXhjLnMKQEAgLTE0LDEzICsxNCwxMiBAQAogOyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogOyogQGF0dGVudGlvbgogOyoKLTsqIENvcHlyaWdodCAoYykgMjAxNyBTVE1pY3JvZWxlY3Ryb25pY3MuCis7KiBDb3B5cmlnaHQgKGMpIDIwMTctMjAyMSBTVE1pY3JvZWxlY3Ryb25pY3MuCiA7KiBBbGwgcmlnaHRzIHJlc2VydmVkLgogOyoKLTsqIFRoaXMgc29mdHdhcmUgY29tcG9uZW50IGlzIGxpY2Vuc2VkIGJ5IFNUIHVuZGVyIEJTRCAzLUNsYXVzZSBsaWNlbnNlLAotOyogdGhlICJMaWNlbnNlIjsgWW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZQotOyogTGljZW5zZS4gWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0OgotOyogICAgICAgICAgICAgICAgICAgICAgICBvcGVuc291cmNlLm9yZy9saWNlbnNlcy9CU0QtMy1DbGF1c2UKKzsqIFRoaXMgc29mdHdhcmUgaXMgbGljZW5zZWQgdW5kZXIgdGVybXMgdGhhdCBjYW4gYmUgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZQorOyogaW4gdGhlIHJvb3QgZGlyZWN0b3J5IG9mIHRoaXMgc29mdHdhcmUgY29tcG9uZW50LgorOyogSWYgbm8gTElDRU5TRSBmaWxlIGNvbWVzIHdpdGggdGhpcyBzb2Z0d2FyZSwgaXQgaXMgcHJvdmlkZWQgQVMtSVMuCiA7KgogOyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogCkBAIC0zNjEsNCArMzYwLDMgQEAKIAogICAgICAgICAgICAgICAgICBFTkQKIAotOyoqKioqKioqKioqKioqKioqKioqKioqKiAoQykgQ09QWVJJR0hUIFNUTWljcm9lbGVjdHJvbmljcyAqKioqKkVORCBPRiBGSUxFKioqKioKZGlmZiAtLWdpdCBhL1NvdXJjZS9UZW1wbGF0ZXMvYXJtL3N0YXJ0dXBfc3RtMzJmMTA3eGMucyBiL1NvdXJjZS9UZW1wbGF0ZXMvYXJtL3N0YXJ0dXBfc3RtMzJmMTA3eGMucwppbmRleCAzYWVhMTZlLi44YTZjZmJiIDEwMDY0NAotLS0gYS9Tb3VyY2UvVGVtcGxhdGVzL2FybS9zdGFydHVwX3N0bTMyZjEwN3hjLnMKKysrIGIvU291cmNlL1RlbXBsYXRlcy9hcm0vc3RhcnR1cF9zdG0zMmYxMDd4Yy5zCkBAIC0xNCwxMyArMTQsMTIgQEAKIDsqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKIDsqIEBhdHRlbnRpb24KIDsqCi07KiBDb3B5cmlnaHQgKGMpIDIwMTcgU1RNaWNyb2VsZWN0cm9uaWNzLgorOyogQ29weXJpZ2h0IChjKSAyMDE3LTIwMjEgU1RNaWNyb2VsZWN0cm9uaWNzLgogOyogQWxsIHJpZ2h0cyByZXNlcnZlZC4KIDsqCi07KiBUaGlzIHNvZnR3YXJlIGNvbXBvbmVudCBpcyBsaWNlbnNlZCBieSBTVCB1bmRlciBCU0QgMy1DbGF1c2UgbGljZW5zZSwKLTsqIHRoZSAiTGljZW5zZSI7IFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUKLTsqIExpY2Vuc2UuIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdDoKLTsqICAgICAgICAgICAgICAgICAgICAgICAgb3BlbnNvdXJjZS5vcmcvbGljZW5zZXMvQlNELTMtQ2xhdXNlCis7KiBUaGlzIHNvZnR3YXJlIGlzIGxpY2Vuc2VkIHVuZGVyIHRlcm1zIHRoYXQgY2FuIGJlIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUKKzsqIGluIHRoZSByb290IGRpcmVjdG9yeSBvZiB0aGlzIHNvZnR3YXJlIGNvbXBvbmVudC4KKzsqIElmIG5vIExJQ0VOU0UgZmlsZSBjb21lcyB3aXRoIHRoaXMgc29mdHdhcmUsIGl0IGlzIHByb3ZpZGVkIEFTLUlTLgogOyoKIDsqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKIApAQCAtMzY1LDQgKzM2NCwzIEBACiAKICAgICAgICAgICAgICAgICAgRU5ECiAKLTsqKioqKioqKioqKioqKioqKioqKioqKiogKEMpIENPUFlSSUdIVCBTVE1pY3JvZWxlY3Ryb25pY3MgKioqKipFTkQgT0YgRklMRSoqKioqCmRpZmYgLS1naXQgYS9Tb3VyY2UvVGVtcGxhdGVzL2djYy9saW5rZXIvU1RNMzJGMTAwWEJfRkxBU0gubGQgYi9Tb3VyY2UvVGVtcGxhdGVzL2djYy9saW5rZXIvU1RNMzJGMTAwWEJfRkxBU0gubGQKaW5kZXggNmIxMTMzNy4uOGZlYTcyMiAxMDA2NDQKLS0tIGEvU291cmNlL1RlbXBsYXRlcy9nY2MvbGlua2VyL1NUTTMyRjEwMFhCX0ZMQVNILmxkCisrKyBiL1NvdXJjZS9UZW1wbGF0ZXMvZ2NjL2xpbmtlci9TVE0zMkYxMDBYQl9GTEFTSC5sZApAQCAtMTMwLDcgKzEzMCw3IEBACiAgIC4gPSBBTElHTig0KTsKICAgLmJzcyA6CiAgIHsKLSAgICAvKiBUaGlzIGlzIHVzZWQgYnkgdGhlIHN0YXJ0dXAgaW4gb3JkZXIgdG8gaW5pdGlhbGl6ZSB0aGUgLmJzcyBzZWNpb24gKi8KKyAgICAvKiBUaGlzIGlzIHVzZWQgYnkgdGhlIHN0YXJ0dXAgaW4gb3JkZXIgdG8gaW5pdGlhbGl6ZSB0aGUgLmJzcyBzZWN0aW9uICovCiAgICAgX3Nic3MgPSAuOyAgICAgICAgIC8qIGRlZmluZSBhIGdsb2JhbCBzeW1ib2wgYXQgYnNzIHN0YXJ0ICovCiAgICAgX19ic3Nfc3RhcnRfXyA9IF9zYnNzOwogICAgICooLmJzcykKZGlmZiAtLWdpdCBhL1NvdXJjZS9UZW1wbGF0ZXMvZ2NjL2xpbmtlci9TVE0zMkYxMDBYRV9GTEFTSC5sZCBiL1NvdXJjZS9UZW1wbGF0ZXMvZ2NjL2xpbmtlci9TVE0zMkYxMDBYRV9GTEFTSC5sZAppbmRleCBjNzNmOTdhLi5lNzY4MzI5IDEwMDY0NAotLS0gYS9Tb3VyY2UvVGVtcGxhdGVzL2djYy9saW5rZXIvU1RNMzJGMTAwWEVfRkxBU0gubGQKKysrIGIvU291cmNlL1RlbXBsYXRlcy9nY2MvbGlua2VyL1NUTTMyRjEwMFhFX0ZMQVNILmxkCkBAIC0xMzAsNyArMTMwLDcgQEAKICAgLiA9IEFMSUdOKDQpOwogICAuYnNzIDoKICAgewotICAgIC8qIFRoaXMgaXMgdXNlZCBieSB0aGUgc3RhcnR1cCBpbiBvcmRlciB0byBpbml0aWFsaXplIHRoZSAuYnNzIHNlY2lvbiAqLworICAgIC8qIFRoaXMgaXMgdXNlZCBieSB0aGUgc3RhcnR1cCBpbiBvcmRlciB0byBpbml0aWFsaXplIHRoZSAuYnNzIHNlY3Rpb24gKi8KICAgICBfc2JzcyA9IC47ICAgICAgICAgLyogZGVmaW5lIGEgZ2xvYmFsIHN5bWJvbCBhdCBic3Mgc3RhcnQgKi8KICAgICBfX2Jzc19zdGFydF9fID0gX3Nic3M7CiAgICAgKiguYnNzKQpkaWZmIC0tZ2l0IGEvU291cmNlL1RlbXBsYXRlcy9nY2MvbGlua2VyL1NUTTMyRjEwMVg2X0ZMQVNILmxkIGIvU291cmNlL1RlbXBsYXRlcy9nY2MvbGlua2VyL1NUTTMyRjEwMVg2X0ZMQVNILmxkCmluZGV4IDcwZjFhYTYuLmQyMjI3OTYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9UZW1wbGF0ZXMvZ2NjL2xpbmtlci9TVE0zMkYxMDFYNl9GTEFTSC5sZAorKysgYi9Tb3VyY2UvVGVtcGxhdGVzL2djYy9saW5rZXIvU1RNMzJGMTAxWDZfRkxBU0gubGQKQEAgLTEzMCw3ICsxMzAsNyBAQAogICAuID0gQUxJR04oNCk7CiAgIC5ic3MgOgogICB7Ci0gICAgLyogVGhpcyBpcyB1c2VkIGJ5IHRoZSBzdGFydHVwIGluIG9yZGVyIHRvIGluaXRpYWxpemUgdGhlIC5ic3Mgc2VjaW9uICovCisgICAgLyogVGhpcyBpcyB1c2VkIGJ5IHRoZSBzdGFydHVwIGluIG9yZGVyIHRvIGluaXRpYWxpemUgdGhlIC5ic3Mgc2VjdGlvbiAqLwogICAgIF9zYnNzID0gLjsgICAgICAgICAvKiBkZWZpbmUgYSBnbG9iYWwgc3ltYm9sIGF0IGJzcyBzdGFydCAqLwogICAgIF9fYnNzX3N0YXJ0X18gPSBfc2JzczsKICAgICAqKC5ic3MpCmRpZmYgLS1naXQgYS9Tb3VyY2UvVGVtcGxhdGVzL2djYy9saW5rZXIvU1RNMzJGMTAxWEJfRkxBU0gubGQgYi9Tb3VyY2UvVGVtcGxhdGVzL2djYy9saW5rZXIvU1RNMzJGMTAxWEJfRkxBU0gubGQKaW5kZXggMWUwZWFhNS4uN2I4ZjRiMyAxMDA2NDQKLS0tIGEvU291cmNlL1RlbXBsYXRlcy9nY2MvbGlua2VyL1NUTTMyRjEwMVhCX0ZMQVNILmxkCisrKyBiL1NvdXJjZS9UZW1wbGF0ZXMvZ2NjL2xpbmtlci9TVE0zMkYxMDFYQl9GTEFTSC5sZApAQCAtMTMwLDcgKzEzMCw3IEBACiAgIC4gPSBBTElHTig0KTsKICAgLmJzcyA6CiAgIHsKLSAgICAvKiBUaGlzIGlzIHVzZWQgYnkgdGhlIHN0YXJ0dXAgaW4gb3JkZXIgdG8gaW5pdGlhbGl6ZSB0aGUgLmJzcyBzZWNpb24gKi8KKyAgICAvKiBUaGlzIGlzIHVzZWQgYnkgdGhlIHN0YXJ0dXAgaW4gb3JkZXIgdG8gaW5pdGlhbGl6ZSB0aGUgLmJzcyBzZWN0aW9uICovCiAgICAgX3Nic3MgPSAuOyAgICAgICAgIC8qIGRlZmluZSBhIGdsb2JhbCBzeW1ib2wgYXQgYnNzIHN0YXJ0ICovCiAgICAgX19ic3Nfc3RhcnRfXyA9IF9zYnNzOwogICAgICooLmJzcykKZGlmZiAtLWdpdCBhL1NvdXJjZS9UZW1wbGF0ZXMvZ2NjL2xpbmtlci9TVE0zMkYxMDFYRV9GTEFTSC5sZCBiL1NvdXJjZS9UZW1wbGF0ZXMvZ2NjL2xpbmtlci9TVE0zMkYxMDFYRV9GTEFTSC5sZAppbmRleCA0OGQ5ZThhLi4yMWRlNWUwIDEwMDY0NAotLS0gYS9Tb3VyY2UvVGVtcGxhdGVzL2djYy9saW5rZXIvU1RNMzJGMTAxWEVfRkxBU0gubGQKKysrIGIvU291cmNlL1RlbXBsYXRlcy9nY2MvbGlua2VyL1NUTTMyRjEwMVhFX0ZMQVNILmxkCkBAIC0xMzAsNyArMTMwLDcgQEAKICAgLiA9IEFMSUdOKDQpOwogICAuYnNzIDoKICAgewotICAgIC8qIFRoaXMgaXMgdXNlZCBieSB0aGUgc3RhcnR1cCBpbiBvcmRlciB0byBpbml0aWFsaXplIHRoZSAuYnNzIHNlY2lvbiAqLworICAgIC8qIFRoaXMgaXMgdXNlZCBieSB0aGUgc3RhcnR1cCBpbiBvcmRlciB0byBpbml0aWFsaXplIHRoZSAuYnNzIHNlY3Rpb24gKi8KICAgICBfc2JzcyA9IC47ICAgICAgICAgLyogZGVmaW5lIGEgZ2xvYmFsIHN5bWJvbCBhdCBic3Mgc3RhcnQgKi8KICAgICBfX2Jzc19zdGFydF9fID0gX3Nic3M7CiAgICAgKiguYnNzKQpkaWZmIC0tZ2l0IGEvU291cmNlL1RlbXBsYXRlcy9nY2MvbGlua2VyL1NUTTMyRjEwMVhHX0ZMQVNILmxkIGIvU291cmNlL1RlbXBsYXRlcy9nY2MvbGlua2VyL1NUTTMyRjEwMVhHX0ZMQVNILmxkCmluZGV4IDQ3OTdiYWUuLjVkMDI3YTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9UZW1wbGF0ZXMvZ2NjL2xpbmtlci9TVE0zMkYxMDFYR19GTEFTSC5sZAorKysgYi9Tb3VyY2UvVGVtcGxhdGVzL2djYy9saW5rZXIvU1RNMzJGMTAxWEdfRkxBU0gubGQKQEAgLTEzMCw3ICsxMzAsNyBAQAogICAuID0gQUxJR04oNCk7CiAgIC5ic3MgOgogICB7Ci0gICAgLyogVGhpcyBpcyB1c2VkIGJ5IHRoZSBzdGFydHVwIGluIG9yZGVyIHRvIGluaXRpYWxpemUgdGhlIC5ic3Mgc2VjaW9uICovCisgICAgLyogVGhpcyBpcyB1c2VkIGJ5IHRoZSBzdGFydHVwIGluIG9yZGVyIHRvIGluaXRpYWxpemUgdGhlIC5ic3Mgc2VjdGlvbiAqLwogICAgIF9zYnNzID0gLjsgICAgICAgICAvKiBkZWZpbmUgYSBnbG9iYWwgc3ltYm9sIGF0IGJzcyBzdGFydCAqLwogICAgIF9fYnNzX3N0YXJ0X18gPSBfc2JzczsKICAgICAqKC5ic3MpCmRpZmYgLS1naXQgYS9Tb3VyY2UvVGVtcGxhdGVzL2djYy9saW5rZXIvU1RNMzJGMTAyWDZfRkxBU0gubGQgYi9Tb3VyY2UvVGVtcGxhdGVzL2djYy9saW5rZXIvU1RNMzJGMTAyWDZfRkxBU0gubGQKaW5kZXggMWQ3ZTg2My4uMjY5MjAyZSAxMDA2NDQKLS0tIGEvU291cmNlL1RlbXBsYXRlcy9nY2MvbGlua2VyL1NUTTMyRjEwMlg2X0ZMQVNILmxkCisrKyBiL1NvdXJjZS9UZW1wbGF0ZXMvZ2NjL2xpbmtlci9TVE0zMkYxMDJYNl9GTEFTSC5sZApAQCAtMTMwLDcgKzEzMCw3IEBACiAgIC4gPSBBTElHTig0KTsKICAgLmJzcyA6CiAgIHsKLSAgICAvKiBUaGlzIGlzIHVzZWQgYnkgdGhlIHN0YXJ0dXAgaW4gb3JkZXIgdG8gaW5pdGlhbGl6ZSB0aGUgLmJzcyBzZWNpb24gKi8KKyAgICAvKiBUaGlzIGlzIHVzZWQgYnkgdGhlIHN0YXJ0dXAgaW4gb3JkZXIgdG8gaW5pdGlhbGl6ZSB0aGUgLmJzcyBzZWN0aW9uICovCiAgICAgX3Nic3MgPSAuOyAgICAgICAgIC8qIGRlZmluZSBhIGdsb2JhbCBzeW1ib2wgYXQgYnNzIHN0YXJ0ICovCiAgICAgX19ic3Nfc3RhcnRfXyA9IF9zYnNzOwogICAgICooLmJzcykKZGlmZiAtLWdpdCBhL1NvdXJjZS9UZW1wbGF0ZXMvZ2NjL2xpbmtlci9TVE0zMkYxMDJYQl9GTEFTSC5sZCBiL1NvdXJjZS9UZW1wbGF0ZXMvZ2NjL2xpbmtlci9TVE0zMkYxMDJYQl9GTEFTSC5sZAppbmRleCBlZmQ1OGM2Li5jMDUyY2VhIDEwMDY0NAotLS0gYS9Tb3VyY2UvVGVtcGxhdGVzL2djYy9saW5rZXIvU1RNMzJGMTAyWEJfRkxBU0gubGQKKysrIGIvU291cmNlL1RlbXBsYXRlcy9nY2MvbGlua2VyL1NUTTMyRjEwMlhCX0ZMQVNILmxkCkBAIC0xMzAsNyArMTMwLDcgQEAKICAgLiA9IEFMSUdOKDQpOwogICAuYnNzIDoKICAgewotICAgIC8qIFRoaXMgaXMgdXNlZCBieSB0aGUgc3RhcnR1cCBpbiBvcmRlciB0byBpbml0aWFsaXplIHRoZSAuYnNzIHNlY2lvbiAqLworICAgIC8qIFRoaXMgaXMgdXNlZCBieSB0aGUgc3RhcnR1cCBpbiBvcmRlciB0byBpbml0aWFsaXplIHRoZSAuYnNzIHNlY3Rpb24gKi8KICAgICBfc2JzcyA9IC47ICAgICAgICAgLyogZGVmaW5lIGEgZ2xvYmFsIHN5bWJvbCBhdCBic3Mgc3RhcnQgKi8KICAgICBfX2Jzc19zdGFydF9fID0gX3Nic3M7CiAgICAgKiguYnNzKQpkaWZmIC0tZ2l0IGEvU291cmNlL1RlbXBsYXRlcy9nY2MvbGlua2VyL1NUTTMyRjEwM1g2X0ZMQVNILmxkIGIvU291cmNlL1RlbXBsYXRlcy9nY2MvbGlua2VyL1NUTTMyRjEwM1g2X0ZMQVNILmxkCmluZGV4IDg1YmIwNjUuLjljYzI0MDMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9UZW1wbGF0ZXMvZ2NjL2xpbmtlci9TVE0zMkYxMDNYNl9GTEFTSC5sZAorKysgYi9Tb3VyY2UvVGVtcGxhdGVzL2djYy9saW5rZXIvU1RNMzJGMTAzWDZfRkxBU0gubGQKQEAgLTEzMCw3ICsxMzAsNyBAQAogICAuID0gQUxJR04oNCk7CiAgIC5ic3MgOgogICB7Ci0gICAgLyogVGhpcyBpcyB1c2VkIGJ5IHRoZSBzdGFydHVwIGluIG9yZGVyIHRvIGluaXRpYWxpemUgdGhlIC5ic3Mgc2VjaW9uICovCisgICAgLyogVGhpcyBpcyB1c2VkIGJ5IHRoZSBzdGFydHVwIGluIG9yZGVyIHRvIGluaXRpYWxpemUgdGhlIC5ic3Mgc2VjdGlvbiAqLwogICAgIF9zYnNzID0gLjsgICAgICAgICAvKiBkZWZpbmUgYSBnbG9iYWwgc3ltYm9sIGF0IGJzcyBzdGFydCAqLwogICAgIF9fYnNzX3N0YXJ0X18gPSBfc2JzczsKICAgICAqKC5ic3MpCmRpZmYgLS1naXQgYS9Tb3VyY2UvVGVtcGxhdGVzL2djYy9saW5rZXIvU1RNMzJGMTAzWEJfRkxBU0gubGQgYi9Tb3VyY2UvVGVtcGxhdGVzL2djYy9saW5rZXIvU1RNMzJGMTAzWEJfRkxBU0gubGQKaW5kZXggNGJlOWRmNi4uN2JkNzVkYSAxMDA2NDQKLS0tIGEvU291cmNlL1RlbXBsYXRlcy9nY2MvbGlua2VyL1NUTTMyRjEwM1hCX0ZMQVNILmxkCisrKyBiL1NvdXJjZS9UZW1wbGF0ZXMvZ2NjL2xpbmtlci9TVE0zMkYxMDNYQl9GTEFTSC5sZApAQCAtMTMwLDcgKzEzMCw3IEBACiAgIC4gPSBBTElHTig0KTsKICAgLmJzcyA6CiAgIHsKLSAgICAvKiBUaGlzIGlzIHVzZWQgYnkgdGhlIHN0YXJ0dXAgaW4gb3JkZXIgdG8gaW5pdGlhbGl6ZSB0aGUgLmJzcyBzZWNpb24gKi8KKyAgICAvKiBUaGlzIGlzIHVzZWQgYnkgdGhlIHN0YXJ0dXAgaW4gb3JkZXIgdG8gaW5pdGlhbGl6ZSB0aGUgLmJzcyBzZWN0aW9uICovCiAgICAgX3Nic3MgPSAuOyAgICAgICAgIC8qIGRlZmluZSBhIGdsb2JhbCBzeW1ib2wgYXQgYnNzIHN0YXJ0ICovCiAgICAgX19ic3Nfc3RhcnRfXyA9IF9zYnNzOwogICAgICooLmJzcykKZGlmZiAtLWdpdCBhL1NvdXJjZS9UZW1wbGF0ZXMvZ2NjL2xpbmtlci9TVE0zMkYxMDNYRV9GTEFTSC5sZCBiL1NvdXJjZS9UZW1wbGF0ZXMvZ2NjL2xpbmtlci9TVE0zMkYxMDNYRV9GTEFTSC5sZAppbmRleCBlOWM1ZjY2Li43NWRkOGY5IDEwMDY0NAotLS0gYS9Tb3VyY2UvVGVtcGxhdGVzL2djYy9saW5rZXIvU1RNMzJGMTAzWEVfRkxBU0gubGQKKysrIGIvU291cmNlL1RlbXBsYXRlcy9nY2MvbGlua2VyL1NUTTMyRjEwM1hFX0ZMQVNILmxkCkBAIC0xMzAsNyArMTMwLDcgQEAKICAgLiA9IEFMSUdOKDQpOwogICAuYnNzIDoKICAgewotICAgIC8qIFRoaXMgaXMgdXNlZCBieSB0aGUgc3RhcnR1cCBpbiBvcmRlciB0byBpbml0aWFsaXplIHRoZSAuYnNzIHNlY2lvbiAqLworICAgIC8qIFRoaXMgaXMgdXNlZCBieSB0aGUgc3RhcnR1cCBpbiBvcmRlciB0byBpbml0aWFsaXplIHRoZSAuYnNzIHNlY3Rpb24gKi8KICAgICBfc2JzcyA9IC47ICAgICAgICAgLyogZGVmaW5lIGEgZ2xvYmFsIHN5bWJvbCBhdCBic3Mgc3RhcnQgKi8KICAgICBfX2Jzc19zdGFydF9fID0gX3Nic3M7CiAgICAgKiguYnNzKQpkaWZmIC0tZ2l0IGEvU291cmNlL1RlbXBsYXRlcy9nY2MvbGlua2VyL1NUTTMyRjEwM1hHX0ZMQVNILmxkIGIvU291cmNlL1RlbXBsYXRlcy9nY2MvbGlua2VyL1NUTTMyRjEwM1hHX0ZMQVNILmxkCmluZGV4IGVlMmY5YTEuLjhmMWZjOWYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9UZW1wbGF0ZXMvZ2NjL2xpbmtlci9TVE0zMkYxMDNYR19GTEFTSC5sZAorKysgYi9Tb3VyY2UvVGVtcGxhdGVzL2djYy9saW5rZXIvU1RNMzJGMTAzWEdfRkxBU0gubGQKQEAgLTEzMCw3ICsxMzAsNyBAQAogICAuID0gQUxJR04oNCk7CiAgIC5ic3MgOgogICB7Ci0gICAgLyogVGhpcyBpcyB1c2VkIGJ5IHRoZSBzdGFydHVwIGluIG9yZGVyIHRvIGluaXRpYWxpemUgdGhlIC5ic3Mgc2VjaW9uICovCisgICAgLyogVGhpcyBpcyB1c2VkIGJ5IHRoZSBzdGFydHVwIGluIG9yZGVyIHRvIGluaXRpYWxpemUgdGhlIC5ic3Mgc2VjdGlvbiAqLwogICAgIF9zYnNzID0gLjsgICAgICAgICAvKiBkZWZpbmUgYSBnbG9iYWwgc3ltYm9sIGF0IGJzcyBzdGFydCAqLwogICAgIF9fYnNzX3N0YXJ0X18gPSBfc2JzczsKICAgICAqKC5ic3MpCmRpZmYgLS1naXQgYS9Tb3VyY2UvVGVtcGxhdGVzL2djYy9saW5rZXIvU1RNMzJGMTA1WENfRkxBU0gubGQgYi9Tb3VyY2UvVGVtcGxhdGVzL2djYy9saW5rZXIvU1RNMzJGMTA1WENfRkxBU0gubGQKaW5kZXggMTEzNjY2OC4uNjk0YTFjOSAxMDA2NDQKLS0tIGEvU291cmNlL1RlbXBsYXRlcy9nY2MvbGlua2VyL1NUTTMyRjEwNVhDX0ZMQVNILmxkCisrKyBiL1NvdXJjZS9UZW1wbGF0ZXMvZ2NjL2xpbmtlci9TVE0zMkYxMDVYQ19GTEFTSC5sZApAQCAtMTMwLDcgKzEzMCw3IEBACiAgIC4gPSBBTElHTig0KTsKICAgLmJzcyA6CiAgIHsKLSAgICAvKiBUaGlzIGlzIHVzZWQgYnkgdGhlIHN0YXJ0dXAgaW4gb3JkZXIgdG8gaW5pdGlhbGl6ZSB0aGUgLmJzcyBzZWNpb24gKi8KKyAgICAvKiBUaGlzIGlzIHVzZWQgYnkgdGhlIHN0YXJ0dXAgaW4gb3JkZXIgdG8gaW5pdGlhbGl6ZSB0aGUgLmJzcyBzZWN0aW9uICovCiAgICAgX3Nic3MgPSAuOyAgICAgICAgIC8qIGRlZmluZSBhIGdsb2JhbCBzeW1ib2wgYXQgYnNzIHN0YXJ0ICovCiAgICAgX19ic3Nfc3RhcnRfXyA9IF9zYnNzOwogICAgICooLmJzcykKZGlmZiAtLWdpdCBhL1NvdXJjZS9UZW1wbGF0ZXMvZ2NjL2xpbmtlci9TVE0zMkYxMDdYQ19GTEFTSC5sZCBiL1NvdXJjZS9UZW1wbGF0ZXMvZ2NjL2xpbmtlci9TVE0zMkYxMDdYQ19GTEFTSC5sZAppbmRleCBjM2U2ZDNmLi4xMDE0MWIzIDEwMDY0NAotLS0gYS9Tb3VyY2UvVGVtcGxhdGVzL2djYy9saW5rZXIvU1RNMzJGMTA3WENfRkxBU0gubGQKKysrIGIvU291cmNlL1RlbXBsYXRlcy9nY2MvbGlua2VyL1NUTTMyRjEwN1hDX0ZMQVNILmxkCkBAIC0xMzAsNyArMTMwLDcgQEAKICAgLiA9IEFMSUdOKDQpOwogICAuYnNzIDoKICAgewotICAgIC8qIFRoaXMgaXMgdXNlZCBieSB0aGUgc3RhcnR1cCBpbiBvcmRlciB0byBpbml0aWFsaXplIHRoZSAuYnNzIHNlY2lvbiAqLworICAgIC8qIFRoaXMgaXMgdXNlZCBieSB0aGUgc3RhcnR1cCBpbiBvcmRlciB0byBpbml0aWFsaXplIHRoZSAuYnNzIHNlY3Rpb24gKi8KICAgICBfc2JzcyA9IC47ICAgICAgICAgLyogZGVmaW5lIGEgZ2xvYmFsIHN5bWJvbCBhdCBic3Mgc3RhcnQgKi8KICAgICBfX2Jzc19zdGFydF9fID0gX3Nic3M7CiAgICAgKiguYnNzKQpkaWZmIC0tZ2l0IGEvU291cmNlL1RlbXBsYXRlcy9nY2Mvc3RhcnR1cF9zdG0zMmYxMDB4Yi5zIGIvU291cmNlL1RlbXBsYXRlcy9nY2Mvc3RhcnR1cF9zdG0zMmYxMDB4Yi5zCmluZGV4IDBkODU3NWIuLjJhNjQ0M2EgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9UZW1wbGF0ZXMvZ2NjL3N0YXJ0dXBfc3RtMzJmMTAweGIucworKysgYi9Tb3VyY2UvVGVtcGxhdGVzL2djYy9zdGFydHVwX3N0bTMyZjEwMHhiLnMKQEAgLTE1LDEzICsxNSwxMiBAQAogICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKICAgKiBAYXR0ZW50aW9uCiAgICoKLSAgKiA8aDI+PGNlbnRlcj4mY29weTsgQ29weXJpZ2h0IChjKSAyMDE3IFNUTWljcm9lbGVjdHJvbmljcy4KLSAgKiBBbGwgcmlnaHRzIHJlc2VydmVkLjwvY2VudGVyPjwvaDI+CisgICogQ29weXJpZ2h0IChjKSAyMDE3LTIwMjEgU1RNaWNyb2VsZWN0cm9uaWNzLgorICAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgICoKLSAgKiBUaGlzIHNvZnR3YXJlIGNvbXBvbmVudCBpcyBsaWNlbnNlZCBieSBTVCB1bmRlciBCU0QgMy1DbGF1c2UgbGljZW5zZSwKLSAgKiB0aGUgIkxpY2Vuc2UiOyBZb3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlCi0gICogTGljZW5zZS4gWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0OgotICAqICAgICAgICAgICAgICAgICAgICAgICAgb3BlbnNvdXJjZS5vcmcvbGljZW5zZXMvQlNELTMtQ2xhdXNlCisgICogVGhpcyBzb2Z0d2FyZSBpcyBsaWNlbnNlZCB1bmRlciB0ZXJtcyB0aGF0IGNhbiBiZSBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlCisgICogaW4gdGhlIHJvb3QgZGlyZWN0b3J5IG9mIHRoaXMgc29mdHdhcmUgY29tcG9uZW50LgorICAqIElmIG5vIExJQ0VOU0UgZmlsZSBjb21lcyB3aXRoIHRoaXMgc29mdHdhcmUsIGl0IGlzIHByb3ZpZGVkIEFTLUlTLgogICAqCiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogICAqLwpAQCAtNjEsNiArNjAsOSBAQAogICAudHlwZSBSZXNldF9IYW5kbGVyLCAlZnVuY3Rpb24KIFJlc2V0X0hhbmRsZXI6CiAKKy8qIENhbGwgdGhlIGNsb2NrIHN5c3RlbSBpbml0aWFsaXphdGlvbiBmdW5jdGlvbi4qLworICAgIGJsICBTeXN0ZW1Jbml0CisKIC8qIENvcHkgdGhlIGRhdGEgc2VnbWVudCBpbml0aWFsaXplcnMgZnJvbSBmbGFzaCB0byBTUkFNICovCiAgIGxkciByMCwgPV9zZGF0YQogICBsZHIgcjEsID1fZWRhdGEKQEAgLTkyLDggKzk0LDYgQEAKICAgY21wIHIyLCByNAogICBiY2MgRmlsbFplcm9ic3MKIAotLyogQ2FsbCB0aGUgY2xvY2sgc3lzdGVtIGludGl0aWFsaXphdGlvbiBmdW5jdGlvbi4qLwotICAgIGJsICBTeXN0ZW1Jbml0CiAvKiBDYWxsIHN0YXRpYyBjb25zdHJ1Y3RvcnMgKi8KICAgICBibCBfX2xpYmNfaW5pdF9hcnJheQogLyogQ2FsbCB0aGUgYXBwbGljYXRpb24ncyBlbnRyeSBwb2ludC4qLwpAQCAtMzc3LDcgKzM3Nyw3IEBACiAgIC53ZWFrICBTUEkxX0lSUUhhbmRsZXIKICAgLnRodW1iX3NldCBTUEkxX0lSUUhhbmRsZXIsRGVmYXVsdF9IYW5kbGVyCiAgIAotICAud2VhayAgU1BJMV9JUlFIYW5kbGVyCisgIC53ZWFrICBTUEkyX0lSUUhhbmRsZXIKICAgLnRodW1iX3NldCBTUEkyX0lSUUhhbmRsZXIsRGVmYXVsdF9IYW5kbGVyCiAKICAgLndlYWsgIFVTQVJUMV9JUlFIYW5kbGVyCkBAIC00MDQsNSArNDA0LDQgQEAKICAgLndlYWsgIFRJTTdfSVJRSGFuZGxlcgogICAudGh1bWJfc2V0IFRJTTdfSVJRSGFuZGxlcixEZWZhdWx0X0hhbmRsZXIgIAogCi0vKioqKioqKioqKioqKioqKioqKioqKioqIChDKSBDT1BZUklHSFQgU1RNaWNyb2VsZWN0cm9uaWNzICoqKioqRU5EIE9GIEZJTEUqKioqLwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvVGVtcGxhdGVzL2djYy9zdGFydHVwX3N0bTMyZjEwMHhlLnMgYi9Tb3VyY2UvVGVtcGxhdGVzL2djYy9zdGFydHVwX3N0bTMyZjEwMHhlLnMKaW5kZXggYTQzMGRhNC4uYjAwZWE0ZSAxMDA2NDQKLS0tIGEvU291cmNlL1RlbXBsYXRlcy9nY2Mvc3RhcnR1cF9zdG0zMmYxMDB4ZS5zCisrKyBiL1NvdXJjZS9UZW1wbGF0ZXMvZ2NjL3N0YXJ0dXBfc3RtMzJmMTAweGUucwpAQCAtMTUsMTMgKzE1LDEyIEBACiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogICAqIEBhdHRlbnRpb24KICAgKgotICAqIDxoMj48Y2VudGVyPiZjb3B5OyBDb3B5cmlnaHQgKGMpIDIwMTcgU1RNaWNyb2VsZWN0cm9uaWNzLgotICAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuPC9jZW50ZXI+PC9oMj4KKyAgKiBDb3B5cmlnaHQgKGMpIDIwMTctMjAyMSBTVE1pY3JvZWxlY3Ryb25pY3MuCisgICogQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAgKgotICAqIFRoaXMgc29mdHdhcmUgY29tcG9uZW50IGlzIGxpY2Vuc2VkIGJ5IFNUIHVuZGVyIEJTRCAzLUNsYXVzZSBsaWNlbnNlLAotICAqIHRoZSAiTGljZW5zZSI7IFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUKLSAgKiBMaWNlbnNlLiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXQ6Ci0gICogICAgICAgICAgICAgICAgICAgICAgICBvcGVuc291cmNlLm9yZy9saWNlbnNlcy9CU0QtMy1DbGF1c2UKKyAgKiBUaGlzIHNvZnR3YXJlIGlzIGxpY2Vuc2VkIHVuZGVyIHRlcm1zIHRoYXQgY2FuIGJlIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUKKyAgKiBpbiB0aGUgcm9vdCBkaXJlY3Rvcnkgb2YgdGhpcyBzb2Z0d2FyZSBjb21wb25lbnQuCisgICogSWYgbm8gTElDRU5TRSBmaWxlIGNvbWVzIHdpdGggdGhpcyBzb2Z0d2FyZSwgaXQgaXMgcHJvdmlkZWQgQVMtSVMuCiAgICoKICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiAgICovCkBAIC02MSw2ICs2MCw5IEBACiAgIC50eXBlIFJlc2V0X0hhbmRsZXIsICVmdW5jdGlvbgogUmVzZXRfSGFuZGxlcjoKIAorLyogQ2FsbCB0aGUgY2xvY2sgc3lzdGVtIGluaXRpYWxpemF0aW9uIGZ1bmN0aW9uLiovCisgICAgYmwgIFN5c3RlbUluaXQKKwogLyogQ29weSB0aGUgZGF0YSBzZWdtZW50IGluaXRpYWxpemVycyBmcm9tIGZsYXNoIHRvIFNSQU0gKi8KICAgbGRyIHIwLCA9X3NkYXRhCiAgIGxkciByMSwgPV9lZGF0YQpAQCAtOTIsOCArOTQsNiBAQAogICBjbXAgcjIsIHI0CiAgIGJjYyBGaWxsWmVyb2JzcwogCi0vKiBDYWxsIHRoZSBjbG9jayBzeXN0ZW0gaW50aXRpYWxpemF0aW9uIGZ1bmN0aW9uLiovCi0gICAgYmwgIFN5c3RlbUluaXQKIC8qIENhbGwgc3RhdGljIGNvbnN0cnVjdG9ycyAqLwogICAgIGJsIF9fbGliY19pbml0X2FycmF5CiAvKiBDYWxsIHRoZSBhcHBsaWNhdGlvbidzIGVudHJ5IHBvaW50LiovCkBAIC00NDUsNiArNDQ1LDUgQEAKIAogICAud2VhayAgRE1BMl9DaGFubmVsNV9JUlFIYW5kbGVyCiAgIC50aHVtYl9zZXQgRE1BMl9DaGFubmVsNV9JUlFIYW5kbGVyLERlZmF1bHRfSGFuZGxlcgotICAKLS8qKioqKioqKioqKioqKioqKioqKioqKiogKEMpIENPUFlSSUdIVCBTVE1pY3JvZWxlY3Ryb25pY3MgKioqKipFTkQgT0YgRklMRSoqKiovCisKIApkaWZmIC0tZ2l0IGEvU291cmNlL1RlbXBsYXRlcy9nY2Mvc3RhcnR1cF9zdG0zMmYxMDF4Ni5zIGIvU291cmNlL1RlbXBsYXRlcy9nY2Mvc3RhcnR1cF9zdG0zMmYxMDF4Ni5zCmluZGV4IDJmM2RmMDguLjBlYmJkMmYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9UZW1wbGF0ZXMvZ2NjL3N0YXJ0dXBfc3RtMzJmMTAxeDYucworKysgYi9Tb3VyY2UvVGVtcGxhdGVzL2djYy9zdGFydHVwX3N0bTMyZjEwMXg2LnMKQEAgLTE1LDEzICsxNSwxMiBAQAogICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKICAgKiBAYXR0ZW50aW9uCiAgICoKLSAgKiA8aDI+PGNlbnRlcj4mY29weTsgQ29weXJpZ2h0IChjKSAyMDE3IFNUTWljcm9lbGVjdHJvbmljcy4KLSAgKiBBbGwgcmlnaHRzIHJlc2VydmVkLjwvY2VudGVyPjwvaDI+CisgICogQ29weXJpZ2h0IChjKSAyMDE3LTIwMjEgU1RNaWNyb2VsZWN0cm9uaWNzLgorICAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgICoKLSAgKiBUaGlzIHNvZnR3YXJlIGNvbXBvbmVudCBpcyBsaWNlbnNlZCBieSBTVCB1bmRlciBCU0QgMy1DbGF1c2UgbGljZW5zZSwKLSAgKiB0aGUgIkxpY2Vuc2UiOyBZb3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlCi0gICogTGljZW5zZS4gWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0OgotICAqICAgICAgICAgICAgICAgICAgICAgICAgb3BlbnNvdXJjZS5vcmcvbGljZW5zZXMvQlNELTMtQ2xhdXNlCisgICogVGhpcyBzb2Z0d2FyZSBpcyBsaWNlbnNlZCB1bmRlciB0ZXJtcyB0aGF0IGNhbiBiZSBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlCisgICogaW4gdGhlIHJvb3QgZGlyZWN0b3J5IG9mIHRoaXMgc29mdHdhcmUgY29tcG9uZW50LgorICAqIElmIG5vIExJQ0VOU0UgZmlsZSBjb21lcyB3aXRoIHRoaXMgc29mdHdhcmUsIGl0IGlzIHByb3ZpZGVkIEFTLUlTLgogICAqCiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogICAqLwpAQCAtNjEsNiArNjAsOSBAQAogICAudHlwZSBSZXNldF9IYW5kbGVyLCAlZnVuY3Rpb24KIFJlc2V0X0hhbmRsZXI6CiAKKy8qIENhbGwgdGhlIGNsb2NrIHN5c3RlbSBpbml0aWFsaXphdGlvbiBmdW5jdGlvbi4qLworICAgIGJsICBTeXN0ZW1Jbml0CisKIC8qIENvcHkgdGhlIGRhdGEgc2VnbWVudCBpbml0aWFsaXplcnMgZnJvbSBmbGFzaCB0byBTUkFNICovCiAgIGxkciByMCwgPV9zZGF0YQogICBsZHIgcjEsID1fZWRhdGEKQEAgLTkyLDggKzk0LDYgQEAKICAgY21wIHIyLCByNAogICBiY2MgRmlsbFplcm9ic3MKIAotLyogQ2FsbCB0aGUgY2xvY2sgc3lzdGVtIGludGl0aWFsaXphdGlvbiBmdW5jdGlvbi4qLwotICAgIGJsICBTeXN0ZW1Jbml0CiAvKiBDYWxsIHN0YXRpYyBjb25zdHJ1Y3RvcnMgKi8KICAgICBibCBfX2xpYmNfaW5pdF9hcnJheQogLyogQ2FsbCB0aGUgYXBwbGljYXRpb24ncyBlbnRyeSBwb2ludC4qLwpAQCAtMzIwLDQgKzMyMCwzIEBACiAgIC53ZWFrICBSVENfQWxhcm1fSVJRSGFuZGxlcgogICAudGh1bWJfc2V0IFJUQ19BbGFybV9JUlFIYW5kbGVyLERlZmF1bHRfSGFuZGxlcgogCi0vKioqKioqKioqKioqKioqKioqKioqKioqIChDKSBDT1BZUklHSFQgU1RNaWNyb2VsZWN0cm9uaWNzICoqKioqRU5EIE9GIEZJTEUqKioqLwpkaWZmIC0tZ2l0IGEvU291cmNlL1RlbXBsYXRlcy9nY2Mvc3RhcnR1cF9zdG0zMmYxMDF4Yi5zIGIvU291cmNlL1RlbXBsYXRlcy9nY2Mvc3RhcnR1cF9zdG0zMmYxMDF4Yi5zCmluZGV4IGFiZWMxZTQuLmE2N2I4ODAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9UZW1wbGF0ZXMvZ2NjL3N0YXJ0dXBfc3RtMzJmMTAxeGIucworKysgYi9Tb3VyY2UvVGVtcGxhdGVzL2djYy9zdGFydHVwX3N0bTMyZjEwMXhiLnMKQEAgLTE1LDEzICsxNSwxMiBAQAogICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKICAgKiBAYXR0ZW50aW9uCiAgICoKLSAgKiA8aDI+PGNlbnRlcj4mY29weTsgQ29weXJpZ2h0IChjKSAyMDE3IFNUTWljcm9lbGVjdHJvbmljcy4KLSAgKiBBbGwgcmlnaHRzIHJlc2VydmVkLjwvY2VudGVyPjwvaDI+CisgICogQ29weXJpZ2h0IChjKSAyMDE3LTIwMjEgU1RNaWNyb2VsZWN0cm9uaWNzLgorICAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgICoKLSAgKiBUaGlzIHNvZnR3YXJlIGNvbXBvbmVudCBpcyBsaWNlbnNlZCBieSBTVCB1bmRlciBCU0QgMy1DbGF1c2UgbGljZW5zZSwKLSAgKiB0aGUgIkxpY2Vuc2UiOyBZb3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlCi0gICogTGljZW5zZS4gWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0OgotICAqICAgICAgICAgICAgICAgICAgICAgICAgb3BlbnNvdXJjZS5vcmcvbGljZW5zZXMvQlNELTMtQ2xhdXNlCisgICogVGhpcyBzb2Z0d2FyZSBpcyBsaWNlbnNlZCB1bmRlciB0ZXJtcyB0aGF0IGNhbiBiZSBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlCisgICogaW4gdGhlIHJvb3QgZGlyZWN0b3J5IG9mIHRoaXMgc29mdHdhcmUgY29tcG9uZW50LgorICAqIElmIG5vIExJQ0VOU0UgZmlsZSBjb21lcyB3aXRoIHRoaXMgc29mdHdhcmUsIGl0IGlzIHByb3ZpZGVkIEFTLUlTLgogICAqCiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogICAqLwpAQCAtNjEsNiArNjAsOSBAQAogICAudHlwZSBSZXNldF9IYW5kbGVyLCAlZnVuY3Rpb24KIFJlc2V0X0hhbmRsZXI6CiAKKy8qIENhbGwgdGhlIGNsb2NrIHN5c3RlbSBpbml0aWFsaXphdGlvbiBmdW5jdGlvbi4qLworICAgIGJsICBTeXN0ZW1Jbml0CisKIC8qIENvcHkgdGhlIGRhdGEgc2VnbWVudCBpbml0aWFsaXplcnMgZnJvbSBmbGFzaCB0byBTUkFNICovCiAgIGxkciByMCwgPV9zZGF0YQogICBsZHIgcjEsID1fZWRhdGEKQEAgLTkyLDggKzk0LDYgQEAKICAgY21wIHIyLCByNAogICBiY2MgRmlsbFplcm9ic3MKIAotLyogQ2FsbCB0aGUgY2xvY2sgc3lzdGVtIGludGl0aWFsaXphdGlvbiBmdW5jdGlvbi4qLwotICAgIGJsICBTeXN0ZW1Jbml0CiAvKiBDYWxsIHN0YXRpYyBjb25zdHJ1Y3RvcnMgKi8KICAgICBibCBfX2xpYmNfaW5pdF9hcnJheQogLyogQ2FsbCB0aGUgYXBwbGljYXRpb24ncyBlbnRyeSBwb2ludC4qLwpAQCAtMzM1LDUgKzMzNSw0IEBACiAgIC50aHVtYl9zZXQgUlRDX0FsYXJtX0lSUUhhbmRsZXIsRGVmYXVsdF9IYW5kbGVyCiAKIAotLyoqKioqKioqKioqKioqKioqKioqKioqKiAoQykgQ09QWVJJR0hUIFNUTWljcm9lbGVjdHJvbmljcyAqKioqKkVORCBPRiBGSUxFKioqKi8KIApkaWZmIC0tZ2l0IGEvU291cmNlL1RlbXBsYXRlcy9nY2Mvc3RhcnR1cF9zdG0zMmYxMDF4ZS5zIGIvU291cmNlL1RlbXBsYXRlcy9nY2Mvc3RhcnR1cF9zdG0zMmYxMDF4ZS5zCmluZGV4IDBhZjJmMjAuLjliOTQ1ZTUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9UZW1wbGF0ZXMvZ2NjL3N0YXJ0dXBfc3RtMzJmMTAxeGUucworKysgYi9Tb3VyY2UvVGVtcGxhdGVzL2djYy9zdGFydHVwX3N0bTMyZjEwMXhlLnMKQEAgLTE1LDEzICsxNSwxMiBAQAogICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKICAgKiBAYXR0ZW50aW9uCiAgICoKLSAgKiA8aDI+PGNlbnRlcj4mY29weTsgQ29weXJpZ2h0IChjKSAyMDE3IFNUTWljcm9lbGVjdHJvbmljcy4KLSAgKiBBbGwgcmlnaHRzIHJlc2VydmVkLjwvY2VudGVyPjwvaDI+CisgICogQ29weXJpZ2h0IChjKSAyMDE3LTIwMjEgU1RNaWNyb2VsZWN0cm9uaWNzLgorICAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgICoKLSAgKiBUaGlzIHNvZnR3YXJlIGNvbXBvbmVudCBpcyBsaWNlbnNlZCBieSBTVCB1bmRlciBCU0QgMy1DbGF1c2UgbGljZW5zZSwKLSAgKiB0aGUgIkxpY2Vuc2UiOyBZb3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlCi0gICogTGljZW5zZS4gWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0OgotICAqICAgICAgICAgICAgICAgICAgICAgICAgb3BlbnNvdXJjZS5vcmcvbGljZW5zZXMvQlNELTMtQ2xhdXNlCisgICogVGhpcyBzb2Z0d2FyZSBpcyBsaWNlbnNlZCB1bmRlciB0ZXJtcyB0aGF0IGNhbiBiZSBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlCisgICogaW4gdGhlIHJvb3QgZGlyZWN0b3J5IG9mIHRoaXMgc29mdHdhcmUgY29tcG9uZW50LgorICAqIElmIG5vIExJQ0VOU0UgZmlsZSBjb21lcyB3aXRoIHRoaXMgc29mdHdhcmUsIGl0IGlzIHByb3ZpZGVkIEFTLUlTLgogICAqCiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogICAqLwpAQCAtNjEsNiArNjAsOSBAQAogICAudHlwZSBSZXNldF9IYW5kbGVyLCAlZnVuY3Rpb24KIFJlc2V0X0hhbmRsZXI6CiAKKy8qIENhbGwgdGhlIGNsb2NrIHN5c3RlbSBpbml0aWFsaXphdGlvbiBmdW5jdGlvbi4qLworICAgIGJsICBTeXN0ZW1Jbml0CisKIC8qIENvcHkgdGhlIGRhdGEgc2VnbWVudCBpbml0aWFsaXplcnMgZnJvbSBmbGFzaCB0byBTUkFNICovCiAgIGxkciByMCwgPV9zZGF0YQogICBsZHIgcjEsID1fZWRhdGEKQEAgLTkyLDggKzk0LDYgQEAKICAgY21wIHIyLCByNAogICBiY2MgRmlsbFplcm9ic3MKIAotLyogQ2FsbCB0aGUgY2xvY2sgc3lzdGVtIGludGl0aWFsaXphdGlvbiBmdW5jdGlvbi4qLwotICAgIGJsICBTeXN0ZW1Jbml0CiAvKiBDYWxsIHN0YXRpYyBjb25zdHJ1Y3RvcnMgKi8KICAgICBibCBfX2xpYmNfaW5pdF9hcnJheQogLyogQ2FsbCB0aGUgYXBwbGljYXRpb24ncyBlbnRyeSBwb2ludC4qLwpAQCAtNDIxLDQgKzQyMSwzIEBACiAgIC53ZWFrIERNQTJfQ2hhbm5lbDRfNV9JUlFIYW5kbGVyCiAgIC50aHVtYl9zZXQgRE1BMl9DaGFubmVsNF81X0lSUUhhbmRsZXIsRGVmYXVsdF9IYW5kbGVyCiAKLS8qKioqKioqKioqKioqKioqKioqKioqKiogKEMpIENPUFlSSUdIVCBTVE1pY3JvZWxlY3Ryb25pY3MgKioqKipFTkQgT0YgRklMRSoqKiovCmRpZmYgLS1naXQgYS9Tb3VyY2UvVGVtcGxhdGVzL2djYy9zdGFydHVwX3N0bTMyZjEwMXhnLnMgYi9Tb3VyY2UvVGVtcGxhdGVzL2djYy9zdGFydHVwX3N0bTMyZjEwMXhnLnMKaW5kZXggNGU4YTk1Zi4uMGUzYzM3ZiAxMDA2NDQKLS0tIGEvU291cmNlL1RlbXBsYXRlcy9nY2Mvc3RhcnR1cF9zdG0zMmYxMDF4Zy5zCisrKyBiL1NvdXJjZS9UZW1wbGF0ZXMvZ2NjL3N0YXJ0dXBfc3RtMzJmMTAxeGcucwpAQCAtMTUsMTMgKzE1LDEyIEBACiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogICAqIEBhdHRlbnRpb24KICAgKgotICAqIDxoMj48Y2VudGVyPiZjb3B5OyBDb3B5cmlnaHQgKGMpIDIwMTcgU1RNaWNyb2VsZWN0cm9uaWNzLgotICAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuPC9jZW50ZXI+PC9oMj4KKyAgKiBDb3B5cmlnaHQgKGMpIDIwMTctMjAyMSBTVE1pY3JvZWxlY3Ryb25pY3MuCisgICogQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAgKgotICAqIFRoaXMgc29mdHdhcmUgY29tcG9uZW50IGlzIGxpY2Vuc2VkIGJ5IFNUIHVuZGVyIEJTRCAzLUNsYXVzZSBsaWNlbnNlLAotICAqIHRoZSAiTGljZW5zZSI7IFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUKLSAgKiBMaWNlbnNlLiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXQ6Ci0gICogICAgICAgICAgICAgICAgICAgICAgICBvcGVuc291cmNlLm9yZy9saWNlbnNlcy9CU0QtMy1DbGF1c2UKKyAgKiBUaGlzIHNvZnR3YXJlIGlzIGxpY2Vuc2VkIHVuZGVyIHRlcm1zIHRoYXQgY2FuIGJlIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUKKyAgKiBpbiB0aGUgcm9vdCBkaXJlY3Rvcnkgb2YgdGhpcyBzb2Z0d2FyZSBjb21wb25lbnQuCisgICogSWYgbm8gTElDRU5TRSBmaWxlIGNvbWVzIHdpdGggdGhpcyBzb2Z0d2FyZSwgaXQgaXMgcHJvdmlkZWQgQVMtSVMuCiAgICoKICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiAgICovCkBAIC02MSw2ICs2MCw5IEBACiAgIC50eXBlIFJlc2V0X0hhbmRsZXIsICVmdW5jdGlvbgogUmVzZXRfSGFuZGxlcjoKIAorLyogQ2FsbCB0aGUgY2xvY2sgc3lzdGVtIGluaXRpYWxpemF0aW9uIGZ1bmN0aW9uLiovCisgICAgYmwgIFN5c3RlbUluaXQKKwogLyogQ29weSB0aGUgZGF0YSBzZWdtZW50IGluaXRpYWxpemVycyBmcm9tIGZsYXNoIHRvIFNSQU0gKi8KICAgbGRyIHIwLCA9X3NkYXRhCiAgIGxkciByMSwgPV9lZGF0YQpAQCAtOTIsOCArOTQsNiBAQAogICBjbXAgcjIsIHI0CiAgIGJjYyBGaWxsWmVyb2JzcwogCi0vKiBDYWxsIHRoZSBjbG9jayBzeXN0ZW0gaW50aXRpYWxpemF0aW9uIGZ1bmN0aW9uLiovCi0gICAgYmwgIFN5c3RlbUluaXQKIC8qIENhbGwgc3RhdGljIGNvbnN0cnVjdG9ycyAqLwogICAgIGJsIF9fbGliY19pbml0X2FycmF5CiAvKiBDYWxsIHRoZSBhcHBsaWNhdGlvbidzIGVudHJ5IHBvaW50LiovCkBAIC00MzcsNCArNDM3LDMgQEAKICAgLndlYWsgIERNQTJfQ2hhbm5lbDRfNV9JUlFIYW5kbGVyCiAgIC50aHVtYl9zZXQgRE1BMl9DaGFubmVsNF81X0lSUUhhbmRsZXIsRGVmYXVsdF9IYW5kbGVyCiAKLS8qKioqKioqKioqKioqKioqKioqKioqKiogKEMpIENPUFlSSUdIVCBTVE1pY3JvZWxlY3Ryb25pY3MgKioqKipFTkQgT0YgRklMRSoqKiovCmRpZmYgLS1naXQgYS9Tb3VyY2UvVGVtcGxhdGVzL2djYy9zdGFydHVwX3N0bTMyZjEwMng2LnMgYi9Tb3VyY2UvVGVtcGxhdGVzL2djYy9zdGFydHVwX3N0bTMyZjEwMng2LnMKaW5kZXggOTc0MzdhMS4uMDMwMWVhOSAxMDA2NDQKLS0tIGEvU291cmNlL1RlbXBsYXRlcy9nY2Mvc3RhcnR1cF9zdG0zMmYxMDJ4Ni5zCisrKyBiL1NvdXJjZS9UZW1wbGF0ZXMvZ2NjL3N0YXJ0dXBfc3RtMzJmMTAyeDYucwpAQCAtMTUsMTMgKzE1LDEyIEBACiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogICAqIEBhdHRlbnRpb24KICAgKgotICAqIDxoMj48Y2VudGVyPiZjb3B5OyBDb3B5cmlnaHQgKGMpIDIwMTcgU1RNaWNyb2VsZWN0cm9uaWNzLgotICAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuPC9jZW50ZXI+PC9oMj4KKyAgKiBDb3B5cmlnaHQgKGMpIDIwMTctMjAyMSBTVE1pY3JvZWxlY3Ryb25pY3MuCisgICogQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAgKgotICAqIFRoaXMgc29mdHdhcmUgY29tcG9uZW50IGlzIGxpY2Vuc2VkIGJ5IFNUIHVuZGVyIEJTRCAzLUNsYXVzZSBsaWNlbnNlLAotICAqIHRoZSAiTGljZW5zZSI7IFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUKLSAgKiBMaWNlbnNlLiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXQ6Ci0gICogICAgICAgICAgICAgICAgICAgICAgICBvcGVuc291cmNlLm9yZy9saWNlbnNlcy9CU0QtMy1DbGF1c2UKKyAgKiBUaGlzIHNvZnR3YXJlIGlzIGxpY2Vuc2VkIHVuZGVyIHRlcm1zIHRoYXQgY2FuIGJlIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUKKyAgKiBpbiB0aGUgcm9vdCBkaXJlY3Rvcnkgb2YgdGhpcyBzb2Z0d2FyZSBjb21wb25lbnQuCisgICogSWYgbm8gTElDRU5TRSBmaWxlIGNvbWVzIHdpdGggdGhpcyBzb2Z0d2FyZSwgaXQgaXMgcHJvdmlkZWQgQVMtSVMuCiAgICoKICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiAgICovCkBAIC02MSw2ICs2MCw5IEBACiAgIC50eXBlIFJlc2V0X0hhbmRsZXIsICVmdW5jdGlvbgogUmVzZXRfSGFuZGxlcjoKIAorLyogQ2FsbCB0aGUgY2xvY2sgc3lzdGVtIGluaXRpYWxpemF0aW9uIGZ1bmN0aW9uLiovCisgICAgYmwgIFN5c3RlbUluaXQKKwogLyogQ29weSB0aGUgZGF0YSBzZWdtZW50IGluaXRpYWxpemVycyBmcm9tIGZsYXNoIHRvIFNSQU0gKi8KICAgbGRyIHIwLCA9X3NkYXRhCiAgIGxkciByMSwgPV9lZGF0YQpAQCAtOTIsOCArOTQsNiBAQAogICBjbXAgcjIsIHI0CiAgIGJjYyBGaWxsWmVyb2JzcwogCi0vKiBDYWxsIHRoZSBjbG9jayBzeXN0ZW0gaW50aXRpYWxpemF0aW9uIGZ1bmN0aW9uLiovCi0gICAgYmwgIFN5c3RlbUluaXQKIC8qIENhbGwgc3RhdGljIGNvbnN0cnVjdG9ycyAqLwogICAgIGJsIF9fbGliY19pbml0X2FycmF5CiAvKiBDYWxsIHRoZSBhcHBsaWNhdGlvbidzIGVudHJ5IHBvaW50LiovCkBAIC0zMjgsNCArMzI4LDMgQEAKICAgLndlYWsgVVNCV2FrZVVwX0lSUUhhbmRsZXIKICAgLnRodW1iX3NldCBVU0JXYWtlVXBfSVJRSGFuZGxlcixEZWZhdWx0X0hhbmRsZXIKIAotLyoqKioqKioqKioqKioqKioqKioqKioqKiAoQykgQ09QWVJJR0hUIFNUTWljcm9lbGVjdHJvbmljcyAqKioqKkVORCBPRiBGSUxFKioqKi8KZGlmZiAtLWdpdCBhL1NvdXJjZS9UZW1wbGF0ZXMvZ2NjL3N0YXJ0dXBfc3RtMzJmMTAyeGIucyBiL1NvdXJjZS9UZW1wbGF0ZXMvZ2NjL3N0YXJ0dXBfc3RtMzJmMTAyeGIucwppbmRleCA5MTRjYzMxLi5mMmU0Y2M4IDEwMDY0NAotLS0gYS9Tb3VyY2UvVGVtcGxhdGVzL2djYy9zdGFydHVwX3N0bTMyZjEwMnhiLnMKKysrIGIvU291cmNlL1RlbXBsYXRlcy9nY2Mvc3RhcnR1cF9zdG0zMmYxMDJ4Yi5zCkBAIC0xNSwxMyArMTUsMTIgQEAKICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiAgICogQGF0dGVudGlvbgogICAqCi0gICogPGgyPjxjZW50ZXI+JmNvcHk7IENvcHlyaWdodCAoYykgMjAxNyBTVE1pY3JvZWxlY3Ryb25pY3MuCi0gICogQWxsIHJpZ2h0cyByZXNlcnZlZC48L2NlbnRlcj48L2gyPgorICAqIENvcHlyaWdodCAoYykgMjAxNy0yMDIxIFNUTWljcm9lbGVjdHJvbmljcy4KKyAgKiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICAqCi0gICogVGhpcyBzb2Z0d2FyZSBjb21wb25lbnQgaXMgbGljZW5zZWQgYnkgU1QgdW5kZXIgQlNEIDMtQ2xhdXNlIGxpY2Vuc2UsCi0gICogdGhlICJMaWNlbnNlIjsgWW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZQotICAqIExpY2Vuc2UuIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdDoKLSAgKiAgICAgICAgICAgICAgICAgICAgICAgIG9wZW5zb3VyY2Uub3JnL2xpY2Vuc2VzL0JTRC0zLUNsYXVzZQorICAqIFRoaXMgc29mdHdhcmUgaXMgbGljZW5zZWQgdW5kZXIgdGVybXMgdGhhdCBjYW4gYmUgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZQorICAqIGluIHRoZSByb290IGRpcmVjdG9yeSBvZiB0aGlzIHNvZnR3YXJlIGNvbXBvbmVudC4KKyAgKiBJZiBubyBMSUNFTlNFIGZpbGUgY29tZXMgd2l0aCB0aGlzIHNvZnR3YXJlLCBpdCBpcyBwcm92aWRlZCBBUy1JUy4KICAgKgogICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKICAgKi8KQEAgLTYxLDYgKzYwLDkgQEAKICAgLnR5cGUgUmVzZXRfSGFuZGxlciwgJWZ1bmN0aW9uCiBSZXNldF9IYW5kbGVyOgogCisvKiBDYWxsIHRoZSBjbG9jayBzeXN0ZW0gaW5pdGlhbGl6YXRpb24gZnVuY3Rpb24uKi8KKyAgICBibCAgU3lzdGVtSW5pdAorCiAvKiBDb3B5IHRoZSBkYXRhIHNlZ21lbnQgaW5pdGlhbGl6ZXJzIGZyb20gZmxhc2ggdG8gU1JBTSAqLwogICBsZHIgcjAsID1fc2RhdGEKICAgbGRyIHIxLCA9X2VkYXRhCkBAIC05Miw4ICs5NCw2IEBACiAgIGNtcCByMiwgcjQKICAgYmNjIEZpbGxaZXJvYnNzCiAKLS8qIENhbGwgdGhlIGNsb2NrIHN5c3RlbSBpbnRpdGlhbGl6YXRpb24gZnVuY3Rpb24uKi8KLSAgICBibCAgU3lzdGVtSW5pdAogLyogQ2FsbCBzdGF0aWMgY29uc3RydWN0b3JzICovCiAgICAgYmwgX19saWJjX2luaXRfYXJyYXkKIC8qIENhbGwgdGhlIGFwcGxpY2F0aW9uJ3MgZW50cnkgcG9pbnQuKi8KQEAgLTM0Myw1ICszNDMsNCBAQAogICAud2VhayBVU0JXYWtlVXBfSVJRSGFuZGxlcgogICAudGh1bWJfc2V0IFVTQldha2VVcF9JUlFIYW5kbGVyLERlZmF1bHRfSGFuZGxlcgogCi0vKioqKioqKioqKioqKioqKioqKioqKioqIChDKSBDT1BZUklHSFQgU1RNaWNyb2VsZWN0cm9uaWNzICoqKioqRU5EIE9GIEZJTEUqKioqLwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvVGVtcGxhdGVzL2djYy9zdGFydHVwX3N0bTMyZjEwM3g2LnMgYi9Tb3VyY2UvVGVtcGxhdGVzL2djYy9zdGFydHVwX3N0bTMyZjEwM3g2LnMKaW5kZXggYWM1Y2I4MS4uODdjYTljYSAxMDA2NDQKLS0tIGEvU291cmNlL1RlbXBsYXRlcy9nY2Mvc3RhcnR1cF9zdG0zMmYxMDN4Ni5zCisrKyBiL1NvdXJjZS9UZW1wbGF0ZXMvZ2NjL3N0YXJ0dXBfc3RtMzJmMTAzeDYucwpAQCAtMTUsMTMgKzE1LDEyIEBACiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogICAqIEBhdHRlbnRpb24KICAgKgotICAqIDxoMj48Y2VudGVyPiZjb3B5OyBDb3B5cmlnaHQgKGMpIDIwMTcgU1RNaWNyb2VsZWN0cm9uaWNzLgotICAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuPC9jZW50ZXI+PC9oMj4KKyAgKiBDb3B5cmlnaHQgKGMpIDIwMTctMjAyMSBTVE1pY3JvZWxlY3Ryb25pY3MuCisgICogQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAgKgotICAqIFRoaXMgc29mdHdhcmUgY29tcG9uZW50IGlzIGxpY2Vuc2VkIGJ5IFNUIHVuZGVyIEJTRCAzLUNsYXVzZSBsaWNlbnNlLAotICAqIHRoZSAiTGljZW5zZSI7IFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUKLSAgKiBMaWNlbnNlLiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXQ6Ci0gICogICAgICAgICAgICAgICAgICAgICAgICBvcGVuc291cmNlLm9yZy9saWNlbnNlcy9CU0QtMy1DbGF1c2UKKyAgKiBUaGlzIHNvZnR3YXJlIGlzIGxpY2Vuc2VkIHVuZGVyIHRlcm1zIHRoYXQgY2FuIGJlIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUKKyAgKiBpbiB0aGUgcm9vdCBkaXJlY3Rvcnkgb2YgdGhpcyBzb2Z0d2FyZSBjb21wb25lbnQuCisgICogSWYgbm8gTElDRU5TRSBmaWxlIGNvbWVzIHdpdGggdGhpcyBzb2Z0d2FyZSwgaXQgaXMgcHJvdmlkZWQgQVMtSVMuCiAgICoKICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiAgICovCkBAIC02MSw2ICs2MCw5IEBACiAgIC50eXBlIFJlc2V0X0hhbmRsZXIsICVmdW5jdGlvbgogUmVzZXRfSGFuZGxlcjoKIAorLyogQ2FsbCB0aGUgY2xvY2sgc3lzdGVtIGluaXRpYWxpemF0aW9uIGZ1bmN0aW9uLiovCisgICAgYmwgIFN5c3RlbUluaXQKKwogLyogQ29weSB0aGUgZGF0YSBzZWdtZW50IGluaXRpYWxpemVycyBmcm9tIGZsYXNoIHRvIFNSQU0gKi8KICAgbGRyIHIwLCA9X3NkYXRhCiAgIGxkciByMSwgPV9lZGF0YQpAQCAtOTIsOCArOTQsNiBAQAogICBjbXAgcjIsIHI0CiAgIGJjYyBGaWxsWmVyb2JzcwogCi0vKiBDYWxsIHRoZSBjbG9jayBzeXN0ZW0gaW50aXRpYWxpemF0aW9uIGZ1bmN0aW9uLiovCi0gICAgYmwgIFN5c3RlbUluaXQKIC8qIENhbGwgc3RhdGljIGNvbnN0cnVjdG9ycyAqLwogICAgIGJsIF9fbGliY19pbml0X2FycmF5CiAvKiBDYWxsIHRoZSBhcHBsaWNhdGlvbidzIGVudHJ5IHBvaW50LiovCkBAIC0zNDYsNCArMzQ2LDMgQEAKICAgLndlYWsgVVNCV2FrZVVwX0lSUUhhbmRsZXIKICAgLnRodW1iX3NldCBVU0JXYWtlVXBfSVJRSGFuZGxlcixEZWZhdWx0X0hhbmRsZXIKIAotLyoqKioqKioqKioqKioqKioqKioqKioqKiAoQykgQ09QWVJJR0hUIFNUTWljcm9lbGVjdHJvbmljcyAqKioqKkVORCBPRiBGSUxFKioqKi8KZGlmZiAtLWdpdCBhL1NvdXJjZS9UZW1wbGF0ZXMvZ2NjL3N0YXJ0dXBfc3RtMzJmMTAzeGIucyBiL1NvdXJjZS9UZW1wbGF0ZXMvZ2NjL3N0YXJ0dXBfc3RtMzJmMTAzeGIucwppbmRleCBmMmI3ZmJlLi43NjE0Mjg1IDEwMDY0NAotLS0gYS9Tb3VyY2UvVGVtcGxhdGVzL2djYy9zdGFydHVwX3N0bTMyZjEwM3hiLnMKKysrIGIvU291cmNlL1RlbXBsYXRlcy9nY2Mvc3RhcnR1cF9zdG0zMmYxMDN4Yi5zCkBAIC0xNSwxMyArMTUsMTIgQEAKICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiAgICogQGF0dGVudGlvbgogICAqCi0gICogPGgyPjxjZW50ZXI+JmNvcHk7IENvcHlyaWdodCAoYykgMjAxNyBTVE1pY3JvZWxlY3Ryb25pY3MuCi0gICogQWxsIHJpZ2h0cyByZXNlcnZlZC48L2NlbnRlcj48L2gyPgorICAqIENvcHlyaWdodCAoYykgMjAxNy0yMDIxIFNUTWljcm9lbGVjdHJvbmljcy4KKyAgKiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICAqCi0gICogVGhpcyBzb2Z0d2FyZSBjb21wb25lbnQgaXMgbGljZW5zZWQgYnkgU1QgdW5kZXIgQlNEIDMtQ2xhdXNlIGxpY2Vuc2UsCi0gICogdGhlICJMaWNlbnNlIjsgWW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZQotICAqIExpY2Vuc2UuIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdDoKLSAgKiAgICAgICAgICAgICAgICAgICAgICAgIG9wZW5zb3VyY2Uub3JnL2xpY2Vuc2VzL0JTRC0zLUNsYXVzZQorICAqIFRoaXMgc29mdHdhcmUgaXMgbGljZW5zZWQgdW5kZXIgdGVybXMgdGhhdCBjYW4gYmUgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZQorICAqIGluIHRoZSByb290IGRpcmVjdG9yeSBvZiB0aGlzIHNvZnR3YXJlIGNvbXBvbmVudC4KKyAgKiBJZiBubyBMSUNFTlNFIGZpbGUgY29tZXMgd2l0aCB0aGlzIHNvZnR3YXJlLCBpdCBpcyBwcm92aWRlZCBBUy1JUy4KICAgKgogICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKICAgKi8KQEAgLTYxLDYgKzYwLDkgQEAKICAgLnR5cGUgUmVzZXRfSGFuZGxlciwgJWZ1bmN0aW9uCiBSZXNldF9IYW5kbGVyOgogCisvKiBDYWxsIHRoZSBjbG9jayBzeXN0ZW0gaW5pdGlhbGl6YXRpb24gZnVuY3Rpb24uKi8KKyAgICBibCAgU3lzdGVtSW5pdAorCiAvKiBDb3B5IHRoZSBkYXRhIHNlZ21lbnQgaW5pdGlhbGl6ZXJzIGZyb20gZmxhc2ggdG8gU1JBTSAqLwogICBsZHIgcjAsID1fc2RhdGEKICAgbGRyIHIxLCA9X2VkYXRhCkBAIC05Miw4ICs5NCw2IEBACiAgIGNtcCByMiwgcjQKICAgYmNjIEZpbGxaZXJvYnNzCiAKLS8qIENhbGwgdGhlIGNsb2NrIHN5c3RlbSBpbnRpdGlhbGl6YXRpb24gZnVuY3Rpb24uKi8KLSAgICBibCAgU3lzdGVtSW5pdAogLyogQ2FsbCBzdGF0aWMgY29uc3RydWN0b3JzICovCiAgICAgYmwgX19saWJjX2luaXRfYXJyYXkKIC8qIENhbGwgdGhlIGFwcGxpY2F0aW9uJ3MgZW50cnkgcG9pbnQuKi8KQEAgLTM2MSw1ICszNjEsNCBAQAogICAud2VhayBVU0JXYWtlVXBfSVJRSGFuZGxlcgogICAudGh1bWJfc2V0IFVTQldha2VVcF9JUlFIYW5kbGVyLERlZmF1bHRfSGFuZGxlcgogCi0vKioqKioqKioqKioqKioqKioqKioqKioqIChDKSBDT1BZUklHSFQgU1RNaWNyb2VsZWN0cm9uaWNzICoqKioqRU5EIE9GIEZJTEUqKioqLwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvVGVtcGxhdGVzL2djYy9zdGFydHVwX3N0bTMyZjEwM3hlLnMgYi9Tb3VyY2UvVGVtcGxhdGVzL2djYy9zdGFydHVwX3N0bTMyZjEwM3hlLnMKaW5kZXggZWYyM2NlZS4uNzcxYWE4YSAxMDA2NDQKLS0tIGEvU291cmNlL1RlbXBsYXRlcy9nY2Mvc3RhcnR1cF9zdG0zMmYxMDN4ZS5zCisrKyBiL1NvdXJjZS9UZW1wbGF0ZXMvZ2NjL3N0YXJ0dXBfc3RtMzJmMTAzeGUucwpAQCAtMTcsMTMgKzE3LDEyIEBACiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogICAqIEBhdHRlbnRpb24KICAgKgotICAqIDxoMj48Y2VudGVyPiZjb3B5OyBDb3B5cmlnaHQgKGMpIDIwMTcgU1RNaWNyb2VsZWN0cm9uaWNzLgotICAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuPC9jZW50ZXI+PC9oMj4KKyAgKiBDb3B5cmlnaHQgKGMpIDIwMTctMjAyMSBTVE1pY3JvZWxlY3Ryb25pY3MuCisgICogQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAgKgotICAqIFRoaXMgc29mdHdhcmUgY29tcG9uZW50IGlzIGxpY2Vuc2VkIGJ5IFNUIHVuZGVyIEJTRCAzLUNsYXVzZSBsaWNlbnNlLAotICAqIHRoZSAiTGljZW5zZSI7IFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUKLSAgKiBMaWNlbnNlLiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXQ6Ci0gICogICAgICAgICAgICAgICAgICAgICAgICBvcGVuc291cmNlLm9yZy9saWNlbnNlcy9CU0QtMy1DbGF1c2UKKyAgKiBUaGlzIHNvZnR3YXJlIGlzIGxpY2Vuc2VkIHVuZGVyIHRlcm1zIHRoYXQgY2FuIGJlIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUKKyAgKiBpbiB0aGUgcm9vdCBkaXJlY3Rvcnkgb2YgdGhpcyBzb2Z0d2FyZSBjb21wb25lbnQuCisgICogSWYgbm8gTElDRU5TRSBmaWxlIGNvbWVzIHdpdGggdGhpcyBzb2Z0d2FyZSwgaXQgaXMgcHJvdmlkZWQgQVMtSVMuCiAgICoKICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiAgICovCkBAIC02Myw2ICs2Miw5IEBACiAgIC50eXBlIFJlc2V0X0hhbmRsZXIsICVmdW5jdGlvbgogUmVzZXRfSGFuZGxlcjoKIAorLyogQ2FsbCB0aGUgY2xvY2sgc3lzdGVtIGluaXRpYWxpemF0aW9uIGZ1bmN0aW9uLiovCisgICAgYmwgIFN5c3RlbUluaXQKKwogLyogQ29weSB0aGUgZGF0YSBzZWdtZW50IGluaXRpYWxpemVycyBmcm9tIGZsYXNoIHRvIFNSQU0gKi8KICAgbGRyIHIwLCA9X3NkYXRhCiAgIGxkciByMSwgPV9lZGF0YQpAQCAtOTQsOCArOTYsNiBAQAogICBjbXAgcjIsIHI0CiAgIGJjYyBGaWxsWmVyb2JzcwogCi0vKiBDYWxsIHRoZSBjbG9jayBzeXN0ZW0gaW50aXRpYWxpemF0aW9uIGZ1bmN0aW9uLiovCi0gICAgYmwgIFN5c3RlbUluaXQKIC8qIENhbGwgc3RhdGljIGNvbnN0cnVjdG9ycyAqLwogICAgIGJsIF9fbGliY19pbml0X2FycmF5CiAvKiBDYWxsIHRoZSBhcHBsaWNhdGlvbidzIGVudHJ5IHBvaW50LiovCkBAIC00NjgsNCArNDY4LDMgQEAKICAgLndlYWsgRE1BMl9DaGFubmVsNF81X0lSUUhhbmRsZXIKICAgLnRodW1iX3NldCBETUEyX0NoYW5uZWw0XzVfSVJRSGFuZGxlcixEZWZhdWx0X0hhbmRsZXIKIAotLyoqKioqKioqKioqKioqKioqKioqKioqKiAoQykgQ09QWVJJR0hUIFNUTWljcm9lbGVjdHJvbmljcyAqKioqKkVORCBPRiBGSUxFKioqKi8KZGlmZiAtLWdpdCBhL1NvdXJjZS9UZW1wbGF0ZXMvZ2NjL3N0YXJ0dXBfc3RtMzJmMTAzeGcucyBiL1NvdXJjZS9UZW1wbGF0ZXMvZ2NjL3N0YXJ0dXBfc3RtMzJmMTAzeGcucwppbmRleCA1MTRiMmEzLi5kN2RjNjIyIDEwMDY0NAotLS0gYS9Tb3VyY2UvVGVtcGxhdGVzL2djYy9zdGFydHVwX3N0bTMyZjEwM3hnLnMKKysrIGIvU291cmNlL1RlbXBsYXRlcy9nY2Mvc3RhcnR1cF9zdG0zMmYxMDN4Zy5zCkBAIC0xNSwxMyArMTUsMTIgQEAKICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiAgICogQGF0dGVudGlvbgogICAqCi0gICogPGgyPjxjZW50ZXI+JmNvcHk7IENvcHlyaWdodCAoYykgMjAxNyBTVE1pY3JvZWxlY3Ryb25pY3MuCi0gICogQWxsIHJpZ2h0cyByZXNlcnZlZC48L2NlbnRlcj48L2gyPgorICAqIENvcHlyaWdodCAoYykgMjAxNy0yMDIxIFNUTWljcm9lbGVjdHJvbmljcy4KKyAgKiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICAqCi0gICogVGhpcyBzb2Z0d2FyZSBjb21wb25lbnQgaXMgbGljZW5zZWQgYnkgU1QgdW5kZXIgQlNEIDMtQ2xhdXNlIGxpY2Vuc2UsCi0gICogdGhlICJMaWNlbnNlIjsgWW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZQotICAqIExpY2Vuc2UuIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdDoKLSAgKiAgICAgICAgICAgICAgICAgICAgICAgIG9wZW5zb3VyY2Uub3JnL2xpY2Vuc2VzL0JTRC0zLUNsYXVzZQorICAqIFRoaXMgc29mdHdhcmUgaXMgbGljZW5zZWQgdW5kZXIgdGVybXMgdGhhdCBjYW4gYmUgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZQorICAqIGluIHRoZSByb290IGRpcmVjdG9yeSBvZiB0aGlzIHNvZnR3YXJlIGNvbXBvbmVudC4KKyAgKiBJZiBubyBMSUNFTlNFIGZpbGUgY29tZXMgd2l0aCB0aGlzIHNvZnR3YXJlLCBpdCBpcyBwcm92aWRlZCBBUy1JUy4KICAgKgogICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKICAgKi8KQEAgLTYxLDYgKzYwLDkgQEAKICAgLnR5cGUgUmVzZXRfSGFuZGxlciwgJWZ1bmN0aW9uCiBSZXNldF9IYW5kbGVyOgogCisvKiBDYWxsIHRoZSBjbG9jayBzeXN0ZW0gaW5pdGlhbGl6YXRpb24gZnVuY3Rpb24uKi8KKyAgICBibCAgU3lzdGVtSW5pdAorCiAvKiBDb3B5IHRoZSBkYXRhIHNlZ21lbnQgaW5pdGlhbGl6ZXJzIGZyb20gZmxhc2ggdG8gU1JBTSAqLwogICBsZHIgcjAsID1fc2RhdGEKICAgbGRyIHIxLCA9X2VkYXRhCkBAIC05Miw4ICs5NCw2IEBACiAgIGNtcCByMiwgcjQKICAgYmNjIEZpbGxaZXJvYnNzCiAKLS8qIENhbGwgdGhlIGNsb2NrIHN5c3RlbSBpbnRpdGlhbGl6YXRpb24gZnVuY3Rpb24uKi8KLSAgICBibCAgU3lzdGVtSW5pdAogLyogQ2FsbCBzdGF0aWMgY29uc3RydWN0b3JzICovCiAgICAgYmwgX19saWJjX2luaXRfYXJyYXkKIC8qIENhbGwgdGhlIGFwcGxpY2F0aW9uJ3MgZW50cnkgcG9pbnQuKi8KQEAgLTQ2NCw0ICs0NjQsMyBAQAogICAud2VhayAgRE1BMl9DaGFubmVsNF81X0lSUUhhbmRsZXIKICAgLnRodW1iX3NldCBETUEyX0NoYW5uZWw0XzVfSVJRSGFuZGxlcixEZWZhdWx0X0hhbmRsZXIKIAotLyoqKioqKioqKioqKioqKioqKioqKioqKiAoQykgQ09QWVJJR0hUIFNUTWljcm9lbGVjdHJvbmljcyAqKioqKkVORCBPRiBGSUxFKioqKi8KZGlmZiAtLWdpdCBhL1NvdXJjZS9UZW1wbGF0ZXMvZ2NjL3N0YXJ0dXBfc3RtMzJmMTA1eGMucyBiL1NvdXJjZS9UZW1wbGF0ZXMvZ2NjL3N0YXJ0dXBfc3RtMzJmMTA1eGMucwppbmRleCA5Y2E1OTFhLi5iNDBhN2IwIDEwMDY0NAotLS0gYS9Tb3VyY2UvVGVtcGxhdGVzL2djYy9zdGFydHVwX3N0bTMyZjEwNXhjLnMKKysrIGIvU291cmNlL1RlbXBsYXRlcy9nY2Mvc3RhcnR1cF9zdG0zMmYxMDV4Yy5zCkBAIC0xNSwxMyArMTUsMTIgQEAKICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiAgICogQGF0dGVudGlvbgogICAqCi0gICogPGgyPjxjZW50ZXI+JmNvcHk7IENvcHlyaWdodCAoYykgMjAxNyBTVE1pY3JvZWxlY3Ryb25pY3MuCi0gICogQWxsIHJpZ2h0cyByZXNlcnZlZC48L2NlbnRlcj48L2gyPgorICAqIENvcHlyaWdodCAoYykgMjAxNy0yMDIxIFNUTWljcm9lbGVjdHJvbmljcy4KKyAgKiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICAqCi0gICogVGhpcyBzb2Z0d2FyZSBjb21wb25lbnQgaXMgbGljZW5zZWQgYnkgU1QgdW5kZXIgQlNEIDMtQ2xhdXNlIGxpY2Vuc2UsCi0gICogdGhlICJMaWNlbnNlIjsgWW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZQotICAqIExpY2Vuc2UuIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdDoKLSAgKiAgICAgICAgICAgICAgICAgICAgICAgIG9wZW5zb3VyY2Uub3JnL2xpY2Vuc2VzL0JTRC0zLUNsYXVzZQorICAqIFRoaXMgc29mdHdhcmUgaXMgbGljZW5zZWQgdW5kZXIgdGVybXMgdGhhdCBjYW4gYmUgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZQorICAqIGluIHRoZSByb290IGRpcmVjdG9yeSBvZiB0aGlzIHNvZnR3YXJlIGNvbXBvbmVudC4KKyAgKiBJZiBubyBMSUNFTlNFIGZpbGUgY29tZXMgd2l0aCB0aGlzIHNvZnR3YXJlLCBpdCBpcyBwcm92aWRlZCBBUy1JUy4KICAgKgogICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKICAgKi8KQEAgLTYxLDYgKzYwLDkgQEAKICAgLnR5cGUgUmVzZXRfSGFuZGxlciwgJWZ1bmN0aW9uCiBSZXNldF9IYW5kbGVyOgogCisvKiBDYWxsIHRoZSBjbG9jayBzeXN0ZW0gaW5pdGlhbGl6YXRpb24gZnVuY3Rpb24uKi8KKyAgICBibCAgU3lzdGVtSW5pdAorCiAvKiBDb3B5IHRoZSBkYXRhIHNlZ21lbnQgaW5pdGlhbGl6ZXJzIGZyb20gZmxhc2ggdG8gU1JBTSAqLwogICBsZHIgcjAsID1fc2RhdGEKICAgbGRyIHIxLCA9X2VkYXRhCkBAIC05MSw4ICs5Myw3IEBACiBMb29wRmlsbFplcm9ic3M6CiAgIGNtcCByMiwgcjQKICAgYmNjIEZpbGxaZXJvYnNzCi0vKiBDYWxsIHRoZSBjbG9jayBzeXN0ZW0gaW50aXRpYWxpemF0aW9uIGZ1bmN0aW9uLiovCi0gICAgYmwgIFN5c3RlbUluaXQKKwogLyogQ2FsbCBzdGF0aWMgY29uc3RydWN0b3JzICovCiAgIGJsIF9fbGliY19pbml0X2FycmF5CiAvKiBDYWxsIHRoZSBhcHBsaWNhdGlvbidzIGVudHJ5IHBvaW50LiovCkBAIC00NjAsNCArNDYxLDMgQEAKICAgLndlYWsgT1RHX0ZTX0lSUUhhbmRsZXIKICAgLnRodW1iX3NldCBPVEdfRlNfSVJRSGFuZGxlciAsRGVmYXVsdF9IYW5kbGVyCiAKLS8qKioqKioqKioqKioqKioqKioqKioqKiogKEMpIENPUFlSSUdIVCBTVE1pY3JvZWxlY3Ryb25pY3MgKioqKipFTkQgT0YgRklMRSoqKiovCmRpZmYgLS1naXQgYS9Tb3VyY2UvVGVtcGxhdGVzL2djYy9zdGFydHVwX3N0bTMyZjEwN3hjLnMgYi9Tb3VyY2UvVGVtcGxhdGVzL2djYy9zdGFydHVwX3N0bTMyZjEwN3hjLnMKaW5kZXggZDI4YjNmZC4uMmQxYjc0OCAxMDA2NDQKLS0tIGEvU291cmNlL1RlbXBsYXRlcy9nY2Mvc3RhcnR1cF9zdG0zMmYxMDd4Yy5zCisrKyBiL1NvdXJjZS9UZW1wbGF0ZXMvZ2NjL3N0YXJ0dXBfc3RtMzJmMTA3eGMucwpAQCAtMTUsMTMgKzE1LDEyIEBACiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogICAqIEBhdHRlbnRpb24KICAgKgotICAqIDxoMj48Y2VudGVyPiZjb3B5OyBDb3B5cmlnaHQgKGMpIDIwMTcgU1RNaWNyb2VsZWN0cm9uaWNzLgotICAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuPC9jZW50ZXI+PC9oMj4KKyAgKiBDb3B5cmlnaHQgKGMpIDIwMTctMjAyMSBTVE1pY3JvZWxlY3Ryb25pY3MuCisgICogQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAgKgotICAqIFRoaXMgc29mdHdhcmUgY29tcG9uZW50IGlzIGxpY2Vuc2VkIGJ5IFNUIHVuZGVyIEJTRCAzLUNsYXVzZSBsaWNlbnNlLAotICAqIHRoZSAiTGljZW5zZSI7IFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUKLSAgKiBMaWNlbnNlLiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXQ6Ci0gICogICAgICAgICAgICAgICAgICAgICAgICBvcGVuc291cmNlLm9yZy9saWNlbnNlcy9CU0QtMy1DbGF1c2UKKyAgKiBUaGlzIHNvZnR3YXJlIGlzIGxpY2Vuc2VkIHVuZGVyIHRlcm1zIHRoYXQgY2FuIGJlIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUKKyAgKiBpbiB0aGUgcm9vdCBkaXJlY3Rvcnkgb2YgdGhpcyBzb2Z0d2FyZSBjb21wb25lbnQuCisgICogSWYgbm8gTElDRU5TRSBmaWxlIGNvbWVzIHdpdGggdGhpcyBzb2Z0d2FyZSwgaXQgaXMgcHJvdmlkZWQgQVMtSVMuCiAgICoKICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiAgICovCkBAIC02MSw2ICs2MCw5IEBACiAgIC50eXBlIFJlc2V0X0hhbmRsZXIsICVmdW5jdGlvbgogUmVzZXRfSGFuZGxlcjoKIAorLyogQ2FsbCB0aGUgY2xvY2sgc3lzdGVtIGluaXRpYWxpemF0aW9uIGZ1bmN0aW9uLiovCisgICAgYmwgIFN5c3RlbUluaXQKKwogLyogQ29weSB0aGUgZGF0YSBzZWdtZW50IGluaXRpYWxpemVycyBmcm9tIGZsYXNoIHRvIFNSQU0gKi8KICAgbGRyIHIwLCA9X3NkYXRhCiAgIGxkciByMSwgPV9lZGF0YQpAQCAtOTIsOCArOTQsNyBAQAogICBjbXAgcjIsIHI0CiAgIGJjYyBGaWxsWmVyb2JzcwogCi0vKiBDYWxsIHRoZSBjbG9jayBzeXN0ZW0gaW50aXRpYWxpemF0aW9uIGZ1bmN0aW9uLiovCi0gICAgYmwgIFN5c3RlbUluaXQKKwogLyogQ2FsbCBzdGF0aWMgY29uc3RydWN0b3JzICovCiAgICAgYmwgX19saWJjX2luaXRfYXJyYXkKIC8qIENhbGwgdGhlIGFwcGxpY2F0aW9uJ3MgZW50cnkgcG9pbnQuKi8KQEAgLTQ2OSw0ICs0NzAsMyBAQAogICAud2VhayAgT1RHX0ZTX0lSUUhhbmRsZXIKICAgLnRodW1iX3NldCBPVEdfRlNfSVJRSGFuZGxlciAsRGVmYXVsdF9IYW5kbGVyCiAKLS8qKioqKioqKioqKioqKioqKioqKioqKiogKEMpIENPUFlSSUdIVCBTVE1pY3JvZWxlY3Ryb25pY3MgKioqKipFTkQgT0YgRklMRSoqKiovCmRpZmYgLS1naXQgYS9Tb3VyY2UvVGVtcGxhdGVzL2lhci9zdGFydHVwX3N0bTMyZjEwMHhiLnMgYi9Tb3VyY2UvVGVtcGxhdGVzL2lhci9zdGFydHVwX3N0bTMyZjEwMHhiLnMKaW5kZXggMTQ1ODQyMS4uZjA0ZTljMCAxMDA2NDQKLS0tIGEvU291cmNlL1RlbXBsYXRlcy9pYXIvc3RhcnR1cF9zdG0zMmYxMDB4Yi5zCisrKyBiL1NvdXJjZS9UZW1wbGF0ZXMvaWFyL3N0YXJ0dXBfc3RtMzJmMTAweGIucwpAQCAtMTEsMTcgKzExLDE1IEBACiA7KiAgICAgICAgICAgICAgICAgICAgICAgIGFkZHJlc3MuCiA7KiAgICAgICAgICAgICAgICAgICAgICBBZnRlciBSZXNldCB0aGUgQ29ydGV4LU0zIHByb2Nlc3NvciBpcyBpbiBUaHJlYWQgbW9kZSwKIDsqICAgICAgICAgICAgICAgICAgICAgIHByaW9yaXR5IGlzIFByaXZpbGVnZWQsIGFuZCB0aGUgU3RhY2sgaXMgc2V0IHRvIE1haW4uCi07KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgotOyogQGF0dGVudGlvbgorOyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiA7KgotOyogPGgyPjxjZW50ZXI+JmNvcHk7IENvcHlyaWdodCAoYykgMjAxNyBTVE1pY3JvZWxlY3Ryb25pY3MuCi07KiBBbGwgcmlnaHRzIHJlc2VydmVkLjwvY2VudGVyPjwvaDI+Cis7KiBDb3B5cmlnaHQgKGMpIDIwMTctMjAyMSBTVE1pY3JvZWxlY3Ryb25pY3MuCis7KiBBbGwgcmlnaHRzIHJlc2VydmVkLgogOyoKLTsqIFRoaXMgc29mdHdhcmUgY29tcG9uZW50IGlzIGxpY2Vuc2VkIGJ5IFNUIHVuZGVyIEJTRCAzLUNsYXVzZSBsaWNlbnNlLAotOyogdGhlICJMaWNlbnNlIjsgWW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZQotOyogTGljZW5zZS4gWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0OgotOyogICAgICAgICAgICAgICAgICAgICAgICBvcGVuc291cmNlLm9yZy9saWNlbnNlcy9CU0QtMy1DbGF1c2UKLTsqCis7KiBUaGlzIHNvZnR3YXJlIGlzIGxpY2Vuc2VkIHVuZGVyIHRlcm1zIHRoYXQgY2FuIGJlIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUKKzsqIGluIHRoZSByb290IGRpcmVjdG9yeSBvZiB0aGlzIHNvZnR3YXJlIGNvbXBvbmVudC4KKzsqIElmIG5vIExJQ0VOU0UgZmlsZSBjb21lcyB3aXRoIHRoaXMgc29mdHdhcmUsIGl0IGlzIHByb3ZpZGVkIEFTLUlTLgorOwogOyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKIDsKIDsKQEAgLTM5Myw0ICszOTEsMyBAQAogICAgICAgICBCIFRJTTdfSVJRSGFuZGxlciAgICAgICAgICAgICAgICAKIAogICAgICAgICBFTkQKLS8qKioqKioqKioqKioqKioqKioqKioqKiogKEMpIENPUFlSSUdIVCBTVE1pY3JvZWxlY3Ryb25pY3MgKioqKipFTkQgT0YgRklMRSoqKiovCmRpZmYgLS1naXQgYS9Tb3VyY2UvVGVtcGxhdGVzL2lhci9zdGFydHVwX3N0bTMyZjEwMHhlLnMgYi9Tb3VyY2UvVGVtcGxhdGVzL2lhci9zdGFydHVwX3N0bTMyZjEwMHhlLnMKaW5kZXggOTNjMjZiZi4uMzkxOWZkMiAxMDA2NDQKLS0tIGEvU291cmNlL1RlbXBsYXRlcy9pYXIvc3RhcnR1cF9zdG0zMmYxMDB4ZS5zCisrKyBiL1NvdXJjZS9UZW1wbGF0ZXMvaWFyL3N0YXJ0dXBfc3RtMzJmMTAweGUucwpAQCAtMTAsMTcgKzEwLDE1IEBACiA7KiAgICAgICAgICAgICAgICAgICAgICAgIGFkZHJlc3MuCiA7KiAgICAgICAgICAgICAgICAgICAgICBBZnRlciBSZXNldCB0aGUgQ29ydGV4LU0zIHByb2Nlc3NvciBpcyBpbiBUaHJlYWQgbW9kZSwKIDsqICAgICAgICAgICAgICAgICAgICAgIHByaW9yaXR5IGlzIFByaXZpbGVnZWQsIGFuZCB0aGUgU3RhY2sgaXMgc2V0IHRvIE1haW4uCi07KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgotOyogQGF0dGVudGlvbgorOyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiA7KgotOyogPGgyPjxjZW50ZXI+JmNvcHk7IENvcHlyaWdodCAoYykgMjAxNyBTVE1pY3JvZWxlY3Ryb25pY3MuCi07KiBBbGwgcmlnaHRzIHJlc2VydmVkLjwvY2VudGVyPjwvaDI+Cis7KiBDb3B5cmlnaHQgKGMpIDIwMTctMjAyMSBTVE1pY3JvZWxlY3Ryb25pY3MuCis7KiBBbGwgcmlnaHRzIHJlc2VydmVkLgogOyoKLTsqIFRoaXMgc29mdHdhcmUgY29tcG9uZW50IGlzIGxpY2Vuc2VkIGJ5IFNUIHVuZGVyIEJTRCAzLUNsYXVzZSBsaWNlbnNlLAotOyogdGhlICJMaWNlbnNlIjsgWW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZQotOyogTGljZW5zZS4gWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0OgotOyogICAgICAgICAgICAgICAgICAgICAgICBvcGVuc291cmNlLm9yZy9saWNlbnNlcy9CU0QtMy1DbGF1c2UKLTsqCis7KiBUaGlzIHNvZnR3YXJlIGlzIGxpY2Vuc2VkIHVuZGVyIHRlcm1zIHRoYXQgY2FuIGJlIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUKKzsqIGluIHRoZSByb290IGRpcmVjdG9yeSBvZiB0aGlzIHNvZnR3YXJlIGNvbXBvbmVudC4KKzsqIElmIG5vIExJQ0VOU0UgZmlsZSBjb21lcyB3aXRoIHRoaXMgc29mdHdhcmUsIGl0IGlzIHByb3ZpZGVkIEFTLUlTLgorOwogOyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKIDsKIDsKQEAgLTQ1OSw0ICs0NTcsMyBAQAogICAgICAgICBCIERNQTJfQ2hhbm5lbDVfSVJRSGFuZGxlcgogICAgICAgICAgICAgICAgIAogICAgICAgICBFTkQKLS8qKioqKioqKioqKioqKioqKioqKioqKiogKEMpIENPUFlSSUdIVCBTVE1pY3JvZWxlY3Ryb25pY3MgKioqKipFTkQgT0YgRklMRSoqKiovCmRpZmYgLS1naXQgYS9Tb3VyY2UvVGVtcGxhdGVzL2lhci9zdGFydHVwX3N0bTMyZjEwMXg2LnMgYi9Tb3VyY2UvVGVtcGxhdGVzL2lhci9zdGFydHVwX3N0bTMyZjEwMXg2LnMKaW5kZXggMTY3ZTQyMC4uOWQyZGI4OSAxMDA2NDQKLS0tIGEvU291cmNlL1RlbXBsYXRlcy9pYXIvc3RhcnR1cF9zdG0zMmYxMDF4Ni5zCisrKyBiL1NvdXJjZS9UZW1wbGF0ZXMvaWFyL3N0YXJ0dXBfc3RtMzJmMTAxeDYucwpAQCAtMTEsMTcgKzExLDE1IEBACiA7KiAgICAgICAgICAgICAgICAgICAgICAgIGFkZHJlc3MuCiA7KiAgICAgICAgICAgICAgICAgICAgICBBZnRlciBSZXNldCB0aGUgQ29ydGV4LU0zIHByb2Nlc3NvciBpcyBpbiBUaHJlYWQgbW9kZSwKIDsqICAgICAgICAgICAgICAgICAgICAgIHByaW9yaXR5IGlzIFByaXZpbGVnZWQsIGFuZCB0aGUgU3RhY2sgaXMgc2V0IHRvIE1haW4uCi07KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgotOyogQGF0dGVudGlvbgorOyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiA7KgotOyogPGgyPjxjZW50ZXI+JmNvcHk7IENvcHlyaWdodCAoYykgMjAxNyBTVE1pY3JvZWxlY3Ryb25pY3MuCi07KiBBbGwgcmlnaHRzIHJlc2VydmVkLjwvY2VudGVyPjwvaDI+Cis7KiBDb3B5cmlnaHQgKGMpIDIwMTctMjAyMSBTVE1pY3JvZWxlY3Ryb25pY3MuCis7KiBBbGwgcmlnaHRzIHJlc2VydmVkLgogOyoKLTsqIFRoaXMgc29mdHdhcmUgY29tcG9uZW50IGlzIGxpY2Vuc2VkIGJ5IFNUIHVuZGVyIEJTRCAzLUNsYXVzZSBsaWNlbnNlLAotOyogdGhlICJMaWNlbnNlIjsgWW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZQotOyogTGljZW5zZS4gWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0OgotOyogICAgICAgICAgICAgICAgICAgICAgICBvcGVuc291cmNlLm9yZy9saWNlbnNlcy9CU0QtMy1DbGF1c2UKLTsqCis7KiBUaGlzIHNvZnR3YXJlIGlzIGxpY2Vuc2VkIHVuZGVyIHRlcm1zIHRoYXQgY2FuIGJlIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUKKzsqIGluIHRoZSByb290IGRpcmVjdG9yeSBvZiB0aGlzIHNvZnR3YXJlIGNvbXBvbmVudC4KKzsqIElmIG5vIExJQ0VOU0UgZmlsZSBjb21lcyB3aXRoIHRoaXMgc29mdHdhcmUsIGl0IGlzIHByb3ZpZGVkIEFTLUlTLgorOwogOyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKIDsKIDsKQEAgLTMyMCw0ICszMTgsMyBAQAogICAgICAgICBCIFJUQ19BbGFybV9JUlFIYW5kbGVyCiAKICAgICAgICAgRU5ECi0vKioqKioqKioqKioqKioqKioqKioqKioqIChDKSBDT1BZUklHSFQgU1RNaWNyb2VsZWN0cm9uaWNzICoqKioqRU5EIE9GIEZJTEUqKioqLwpkaWZmIC0tZ2l0IGEvU291cmNlL1RlbXBsYXRlcy9pYXIvc3RhcnR1cF9zdG0zMmYxMDF4Yi5zIGIvU291cmNlL1RlbXBsYXRlcy9pYXIvc3RhcnR1cF9zdG0zMmYxMDF4Yi5zCmluZGV4IGJjODA3NDQuLjhlN2ZiMWQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9UZW1wbGF0ZXMvaWFyL3N0YXJ0dXBfc3RtMzJmMTAxeGIucworKysgYi9Tb3VyY2UvVGVtcGxhdGVzL2lhci9zdGFydHVwX3N0bTMyZjEwMXhiLnMKQEAgLTExLDE3ICsxMSwxNSBAQAogOyogICAgICAgICAgICAgICAgICAgICAgICBhZGRyZXNzLgogOyogICAgICAgICAgICAgICAgICAgICAgQWZ0ZXIgUmVzZXQgdGhlIENvcnRleC1NMyBwcm9jZXNzb3IgaXMgaW4gVGhyZWFkIG1vZGUsCiA7KiAgICAgICAgICAgICAgICAgICAgICBwcmlvcml0eSBpcyBQcml2aWxlZ2VkLCBhbmQgdGhlIFN0YWNrIGlzIHNldCB0byBNYWluLgotOyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKLTsqIEBhdHRlbnRpb24KKzsqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogOyoKLTsqIDxoMj48Y2VudGVyPiZjb3B5OyBDb3B5cmlnaHQgKGMpIDIwMTcgU1RNaWNyb2VsZWN0cm9uaWNzLgotOyogQWxsIHJpZ2h0cyByZXNlcnZlZC48L2NlbnRlcj48L2gyPgorOyogQ29weXJpZ2h0IChjKSAyMDE3LTIwMjEgU1RNaWNyb2VsZWN0cm9uaWNzLgorOyogQWxsIHJpZ2h0cyByZXNlcnZlZC4KIDsqCi07KiBUaGlzIHNvZnR3YXJlIGNvbXBvbmVudCBpcyBsaWNlbnNlZCBieSBTVCB1bmRlciBCU0QgMy1DbGF1c2UgbGljZW5zZSwKLTsqIHRoZSAiTGljZW5zZSI7IFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUKLTsqIExpY2Vuc2UuIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdDoKLTsqICAgICAgICAgICAgICAgICAgICAgICAgb3BlbnNvdXJjZS5vcmcvbGljZW5zZXMvQlNELTMtQ2xhdXNlCi07KgorOyogVGhpcyBzb2Z0d2FyZSBpcyBsaWNlbnNlZCB1bmRlciB0ZXJtcyB0aGF0IGNhbiBiZSBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlCis7KiBpbiB0aGUgcm9vdCBkaXJlY3Rvcnkgb2YgdGhpcyBzb2Z0d2FyZSBjb21wb25lbnQuCis7KiBJZiBubyBMSUNFTlNFIGZpbGUgY29tZXMgd2l0aCB0aGlzIHNvZnR3YXJlLCBpdCBpcyBwcm92aWRlZCBBUy1JUy4KKzsKIDsqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiA7CiA7CkBAIC0zNDUsNCArMzQzLDMgQEAKICAgICAgICAgQiBSVENfQWxhcm1fSVJRSGFuZGxlcgogCiAgICAgICAgIEVORAotLyoqKioqKioqKioqKioqKioqKioqKioqKiAoQykgQ09QWVJJR0hUIFNUTWljcm9lbGVjdHJvbmljcyAqKioqKkVORCBPRiBGSUxFKioqKi8KZGlmZiAtLWdpdCBhL1NvdXJjZS9UZW1wbGF0ZXMvaWFyL3N0YXJ0dXBfc3RtMzJmMTAxeGUucyBiL1NvdXJjZS9UZW1wbGF0ZXMvaWFyL3N0YXJ0dXBfc3RtMzJmMTAxeGUucwppbmRleCA1MWY5YWUwLi5iYjZlYzVkIDEwMDY0NAotLS0gYS9Tb3VyY2UvVGVtcGxhdGVzL2lhci9zdGFydHVwX3N0bTMyZjEwMXhlLnMKKysrIGIvU291cmNlL1RlbXBsYXRlcy9pYXIvc3RhcnR1cF9zdG0zMmYxMDF4ZS5zCkBAIC0xMiwxNyArMTIsMTUgQEAKIDsqICAgICAgICAgICAgICAgICAgICAgICAgY2FsbHMgbWFpbigpKS4KIDsqICAgICAgICAgICAgICAgICAgICAgIEFmdGVyIFJlc2V0IHRoZSBDb3J0ZXgtTTMgcHJvY2Vzc29yIGlzIGluIFRocmVhZCBtb2RlLAogOyogICAgICAgICAgICAgICAgICAgICAgcHJpb3JpdHkgaXMgUHJpdmlsZWdlZCwgYW5kIHRoZSBTdGFjayBpcyBzZXQgdG8gTWFpbi4KLTsqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCi07KiBAYXR0ZW50aW9uCis7KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKIDsqCi07KiA8aDI+PGNlbnRlcj4mY29weTsgQ29weXJpZ2h0IChjKSAyMDE3IFNUTWljcm9lbGVjdHJvbmljcy4KLTsqIEFsbCByaWdodHMgcmVzZXJ2ZWQuPC9jZW50ZXI+PC9oMj4KKzsqIENvcHlyaWdodCAoYykgMjAxNy0yMDIxIFNUTWljcm9lbGVjdHJvbmljcy4KKzsqIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiA7KgotOyogVGhpcyBzb2Z0d2FyZSBjb21wb25lbnQgaXMgbGljZW5zZWQgYnkgU1QgdW5kZXIgQlNEIDMtQ2xhdXNlIGxpY2Vuc2UsCi07KiB0aGUgIkxpY2Vuc2UiOyBZb3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlCi07KiBMaWNlbnNlLiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXQ6Ci07KiAgICAgICAgICAgICAgICAgICAgICAgIG9wZW5zb3VyY2Uub3JnL2xpY2Vuc2VzL0JTRC0zLUNsYXVzZQotOyoKKzsqIFRoaXMgc29mdHdhcmUgaXMgbGljZW5zZWQgdW5kZXIgdGVybXMgdGhhdCBjYW4gYmUgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZQorOyogaW4gdGhlIHJvb3QgZGlyZWN0b3J5IG9mIHRoaXMgc29mdHdhcmUgY29tcG9uZW50LgorOyogSWYgbm8gTElDRU5TRSBmaWxlIGNvbWVzIHdpdGggdGhpcyBzb2Z0d2FyZSwgaXQgaXMgcHJvdmlkZWQgQVMtSVMuCis7CiA7KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogOwogOwpAQCAtNDI1LDQgKzQyMywzIEBACiAgICAgICAgIAogICAgICAgICBFTkQKIAotLyoqKioqKioqKioqKioqKioqKioqKioqKiAoQykgQ09QWVJJR0hUIFNUTWljcm9lbGVjdHJvbmljcyAqKioqKkVORCBPRiBGSUxFKioqKi8KZGlmZiAtLWdpdCBhL1NvdXJjZS9UZW1wbGF0ZXMvaWFyL3N0YXJ0dXBfc3RtMzJmMTAxeGcucyBiL1NvdXJjZS9UZW1wbGF0ZXMvaWFyL3N0YXJ0dXBfc3RtMzJmMTAxeGcucwppbmRleCAyMWFiNDU2Li44YTc1YTA3IDEwMDY0NAotLS0gYS9Tb3VyY2UvVGVtcGxhdGVzL2lhci9zdGFydHVwX3N0bTMyZjEwMXhnLnMKKysrIGIvU291cmNlL1RlbXBsYXRlcy9pYXIvc3RhcnR1cF9zdG0zMmYxMDF4Zy5zCkBAIC0xMywxNyArMTMsMTUgQEAKIDsqICAgICAgICAgICAgICAgICAgICAgICAgY2FsbHMgbWFpbigpKS4KIDsqICAgICAgICAgICAgICAgICAgICAgIEFmdGVyIFJlc2V0IHRoZSBDb3J0ZXgtTTMgcHJvY2Vzc29yIGlzIGluIFRocmVhZCBtb2RlLAogOyogICAgICAgICAgICAgICAgICAgICAgcHJpb3JpdHkgaXMgUHJpdmlsZWdlZCwgYW5kIHRoZSBTdGFjayBpcyBzZXQgdG8gTWFpbi4KLTsqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCi07KiBAYXR0ZW50aW9uCis7KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKIDsqCi07KiA8aDI+PGNlbnRlcj4mY29weTsgQ29weXJpZ2h0IChjKSAyMDE3IFNUTWljcm9lbGVjdHJvbmljcy4KLTsqIEFsbCByaWdodHMgcmVzZXJ2ZWQuPC9jZW50ZXI+PC9oMj4KKzsqIENvcHlyaWdodCAoYykgMjAxNy0yMDIxIFNUTWljcm9lbGVjdHJvbmljcy4KKzsqIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiA7KgotOyogVGhpcyBzb2Z0d2FyZSBjb21wb25lbnQgaXMgbGljZW5zZWQgYnkgU1QgdW5kZXIgQlNEIDMtQ2xhdXNlIGxpY2Vuc2UsCi07KiB0aGUgIkxpY2Vuc2UiOyBZb3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlCi07KiBMaWNlbnNlLiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXQ6Ci07KiAgICAgICAgICAgICAgICAgICAgICAgIG9wZW5zb3VyY2Uub3JnL2xpY2Vuc2VzL0JTRC0zLUNsYXVzZQotOyoKKzsqIFRoaXMgc29mdHdhcmUgaXMgbGljZW5zZWQgdW5kZXIgdGVybXMgdGhhdCBjYW4gYmUgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZQorOyogaW4gdGhlIHJvb3QgZGlyZWN0b3J5IG9mIHRoaXMgc29mdHdhcmUgY29tcG9uZW50LgorOyogSWYgbm8gTElDRU5TRSBmaWxlIGNvbWVzIHdpdGggdGhpcyBzb2Z0d2FyZSwgaXQgaXMgcHJvdmlkZWQgQVMtSVMuCis7CiA7KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogOwogOwpAQCAtNDU2LDQgKzQ1NCwzIEBACiAgICAgICAgIAogICAgICAgICBFTkQKIAotLyoqKioqKioqKioqKioqKioqKioqKioqKiAoQykgQ09QWVJJR0hUIFNUTWljcm9lbGVjdHJvbmljcyAqKioqKkVORCBPRiBGSUxFKioqKi8KZGlmZiAtLWdpdCBhL1NvdXJjZS9UZW1wbGF0ZXMvaWFyL3N0YXJ0dXBfc3RtMzJmMTAyeDYucyBiL1NvdXJjZS9UZW1wbGF0ZXMvaWFyL3N0YXJ0dXBfc3RtMzJmMTAyeDYucwppbmRleCA3M2YwOTRhLi4zMmYyMDk2IDEwMDY0NAotLS0gYS9Tb3VyY2UvVGVtcGxhdGVzL2lhci9zdGFydHVwX3N0bTMyZjEwMng2LnMKKysrIGIvU291cmNlL1RlbXBsYXRlcy9pYXIvc3RhcnR1cF9zdG0zMmYxMDJ4Ni5zCkBAIC0xMSwxNyArMTEsMTUgQEAKIDsqICAgICAgICAgICAgICAgICAgICAgICAgYWRkcmVzcy4KIDsqICAgICAgICAgICAgICAgICAgICAgIEFmdGVyIFJlc2V0IHRoZSBDb3J0ZXgtTTMgcHJvY2Vzc29yIGlzIGluIFRocmVhZCBtb2RlLAogOyogICAgICAgICAgICAgICAgICAgICAgcHJpb3JpdHkgaXMgUHJpdmlsZWdlZCwgYW5kIHRoZSBTdGFjayBpcyBzZXQgdG8gTWFpbi4KLTsqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCi07KiBAYXR0ZW50aW9uCis7KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKIDsqCi07KiA8aDI+PGNlbnRlcj4mY29weTsgQ29weXJpZ2h0IChjKSAyMDE3IFNUTWljcm9lbGVjdHJvbmljcy4KLTsqIEFsbCByaWdodHMgcmVzZXJ2ZWQuPC9jZW50ZXI+PC9oMj4KKzsqIENvcHlyaWdodCAoYykgMjAxNy0yMDIxIFNUTWljcm9lbGVjdHJvbmljcy4KKzsqIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiA7KgotOyogVGhpcyBzb2Z0d2FyZSBjb21wb25lbnQgaXMgbGljZW5zZWQgYnkgU1QgdW5kZXIgQlNEIDMtQ2xhdXNlIGxpY2Vuc2UsCi07KiB0aGUgIkxpY2Vuc2UiOyBZb3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlCi07KiBMaWNlbnNlLiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXQ6Ci07KiAgICAgICAgICAgICAgICAgICAgICAgIG9wZW5zb3VyY2Uub3JnL2xpY2Vuc2VzL0JTRC0zLUNsYXVzZQotOyoKKzsqIFRoaXMgc29mdHdhcmUgaXMgbGljZW5zZWQgdW5kZXIgdGVybXMgdGhhdCBjYW4gYmUgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZQorOyogaW4gdGhlIHJvb3QgZGlyZWN0b3J5IG9mIHRoaXMgc29mdHdhcmUgY29tcG9uZW50LgorOyogSWYgbm8gTElDRU5TRSBmaWxlIGNvbWVzIHdpdGggdGhpcyBzb2Z0d2FyZSwgaXQgaXMgcHJvdmlkZWQgQVMtSVMuCis7CiA7KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogOwogOwpAQCAtMzM1LDQgKzMzMywzIEBACiAgICAgICAgIEIgVVNCV2FrZVVwX0lSUUhhbmRsZXIKIAogICAgICAgICBFTkQKLS8qKioqKioqKioqKioqKioqKioqKioqKiogKEMpIENPUFlSSUdIVCBTVE1pY3JvZWxlY3Ryb25pY3MgKioqKipFTkQgT0YgRklMRSoqKiovCmRpZmYgLS1naXQgYS9Tb3VyY2UvVGVtcGxhdGVzL2lhci9zdGFydHVwX3N0bTMyZjEwMnhiLnMgYi9Tb3VyY2UvVGVtcGxhdGVzL2lhci9zdGFydHVwX3N0bTMyZjEwMnhiLnMKaW5kZXggOThhZDJhYi4uOWI1NDY0NCAxMDA2NDQKLS0tIGEvU291cmNlL1RlbXBsYXRlcy9pYXIvc3RhcnR1cF9zdG0zMmYxMDJ4Yi5zCisrKyBiL1NvdXJjZS9UZW1wbGF0ZXMvaWFyL3N0YXJ0dXBfc3RtMzJmMTAyeGIucwpAQCAtMTEsMTcgKzExLDE1IEBACiA7KiAgICAgICAgICAgICAgICAgICAgICAgIGFkZHJlc3MuCiA7KiAgICAgICAgICAgICAgICAgICAgICBBZnRlciBSZXNldCB0aGUgQ29ydGV4LU0zIHByb2Nlc3NvciBpcyBpbiBUaHJlYWQgbW9kZSwKIDsqICAgICAgICAgICAgICAgICAgICAgIHByaW9yaXR5IGlzIFByaXZpbGVnZWQsIGFuZCB0aGUgU3RhY2sgaXMgc2V0IHRvIE1haW4uCi07KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgotOyogQGF0dGVudGlvbgorOyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiA7KgotOyogPGgyPjxjZW50ZXI+JmNvcHk7IENvcHlyaWdodCAoYykgMjAxNyBTVE1pY3JvZWxlY3Ryb25pY3MuCi07KiBBbGwgcmlnaHRzIHJlc2VydmVkLjwvY2VudGVyPjwvaDI+Cis7KiBDb3B5cmlnaHQgKGMpIDIwMTctMjAyMSBTVE1pY3JvZWxlY3Ryb25pY3MuCis7KiBBbGwgcmlnaHRzIHJlc2VydmVkLgogOyoKLTsqIFRoaXMgc29mdHdhcmUgY29tcG9uZW50IGlzIGxpY2Vuc2VkIGJ5IFNUIHVuZGVyIEJTRCAzLUNsYXVzZSBsaWNlbnNlLAotOyogdGhlICJMaWNlbnNlIjsgWW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZQotOyogTGljZW5zZS4gWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0OgotOyogICAgICAgICAgICAgICAgICAgICAgICBvcGVuc291cmNlLm9yZy9saWNlbnNlcy9CU0QtMy1DbGF1c2UKLTsqCis7KiBUaGlzIHNvZnR3YXJlIGlzIGxpY2Vuc2VkIHVuZGVyIHRlcm1zIHRoYXQgY2FuIGJlIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUKKzsqIGluIHRoZSByb290IGRpcmVjdG9yeSBvZiB0aGlzIHNvZnR3YXJlIGNvbXBvbmVudC4KKzsqIElmIG5vIExJQ0VOU0UgZmlsZSBjb21lcyB3aXRoIHRoaXMgc29mdHdhcmUsIGl0IGlzIHByb3ZpZGVkIEFTLUlTLgorOwogOyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKIDsKIDsKQEAgLTM2MCw0ICszNTgsMyBAQAogICAgICAgICBCIFVTQldha2VVcF9JUlFIYW5kbGVyCiAKICAgICAgICAgRU5ECi0vKioqKioqKioqKioqKioqKioqKioqKioqIChDKSBDT1BZUklHSFQgU1RNaWNyb2VsZWN0cm9uaWNzICoqKioqRU5EIE9GIEZJTEUqKioqLwpkaWZmIC0tZ2l0IGEvU291cmNlL1RlbXBsYXRlcy9pYXIvc3RhcnR1cF9zdG0zMmYxMDN4Ni5zIGIvU291cmNlL1RlbXBsYXRlcy9pYXIvc3RhcnR1cF9zdG0zMmYxMDN4Ni5zCmluZGV4IGFmOTIyOTMuLmI2ZDlkMmEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9UZW1wbGF0ZXMvaWFyL3N0YXJ0dXBfc3RtMzJmMTAzeDYucworKysgYi9Tb3VyY2UvVGVtcGxhdGVzL2lhci9zdGFydHVwX3N0bTMyZjEwM3g2LnMKQEAgLTExLDE3ICsxMSwxNSBAQAogOyogICAgICAgICAgICAgICAgICAgICAgICBhZGRyZXNzLgogOyogICAgICAgICAgICAgICAgICAgICAgQWZ0ZXIgUmVzZXQgdGhlIENvcnRleC1NMyBwcm9jZXNzb3IgaXMgaW4gVGhyZWFkIG1vZGUsCiA7KiAgICAgICAgICAgICAgICAgICAgICBwcmlvcml0eSBpcyBQcml2aWxlZ2VkLCBhbmQgdGhlIFN0YWNrIGlzIHNldCB0byBNYWluLgotOyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKLTsqIEBhdHRlbnRpb24KKzsqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogOyoKLTsqIDxoMj48Y2VudGVyPiZjb3B5OyBDb3B5cmlnaHQgKGMpIDIwMTcgU1RNaWNyb2VsZWN0cm9uaWNzLgotOyogQWxsIHJpZ2h0cyByZXNlcnZlZC48L2NlbnRlcj48L2gyPgorOyogQ29weXJpZ2h0IChjKSAyMDE3LTIwMjEgU1RNaWNyb2VsZWN0cm9uaWNzLgorOyogQWxsIHJpZ2h0cyByZXNlcnZlZC4KIDsqCi07KiBUaGlzIHNvZnR3YXJlIGNvbXBvbmVudCBpcyBsaWNlbnNlZCBieSBTVCB1bmRlciBCU0QgMy1DbGF1c2UgbGljZW5zZSwKLTsqIHRoZSAiTGljZW5zZSI7IFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUKLTsqIExpY2Vuc2UuIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdDoKLTsqICAgICAgICAgICAgICAgICAgICAgICAgb3BlbnNvdXJjZS5vcmcvbGljZW5zZXMvQlNELTMtQ2xhdXNlCi07KgorOyogVGhpcyBzb2Z0d2FyZSBpcyBsaWNlbnNlZCB1bmRlciB0ZXJtcyB0aGF0IGNhbiBiZSBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlCis7KiBpbiB0aGUgcm9vdCBkaXJlY3Rvcnkgb2YgdGhpcyBzb2Z0d2FyZSBjb21wb25lbnQuCis7KiBJZiBubyBMSUNFTlNFIGZpbGUgY29tZXMgd2l0aCB0aGlzIHNvZnR3YXJlLCBpdCBpcyBwcm92aWRlZCBBUy1JUy4KKzsKIDsqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiA7CiA7CkBAIC0zNjUsNCArMzYzLDMgQEAKICAgICAgICAgQiBVU0JXYWtlVXBfSVJRSGFuZGxlcgogCiAgICAgICAgIEVORAotLyoqKioqKioqKioqKioqKioqKioqKioqKiAoQykgQ09QWVJJR0hUIFNUTWljcm9lbGVjdHJvbmljcyAqKioqKkVORCBPRiBGSUxFKioqKi8KZGlmZiAtLWdpdCBhL1NvdXJjZS9UZW1wbGF0ZXMvaWFyL3N0YXJ0dXBfc3RtMzJmMTAzeGIucyBiL1NvdXJjZS9UZW1wbGF0ZXMvaWFyL3N0YXJ0dXBfc3RtMzJmMTAzeGIucwppbmRleCA4NzY4Yjg0Li45MWJjY2YxIDEwMDY0NAotLS0gYS9Tb3VyY2UvVGVtcGxhdGVzL2lhci9zdGFydHVwX3N0bTMyZjEwM3hiLnMKKysrIGIvU291cmNlL1RlbXBsYXRlcy9pYXIvc3RhcnR1cF9zdG0zMmYxMDN4Yi5zCkBAIC0xMSwxNyArMTEsMTUgQEAKIDsqICAgICAgICAgICAgICAgICAgICAgICAgYWRkcmVzcy4KIDsqICAgICAgICAgICAgICAgICAgICAgIEFmdGVyIFJlc2V0IHRoZSBDb3J0ZXgtTTMgcHJvY2Vzc29yIGlzIGluIFRocmVhZCBtb2RlLAogOyogICAgICAgICAgICAgICAgICAgICAgcHJpb3JpdHkgaXMgUHJpdmlsZWdlZCwgYW5kIHRoZSBTdGFjayBpcyBzZXQgdG8gTWFpbi4KLTsqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCi07KiBAYXR0ZW50aW9uCis7KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKIDsqCi07KiA8aDI+PGNlbnRlcj4mY29weTsgQ29weXJpZ2h0IChjKSAyMDE3IFNUTWljcm9lbGVjdHJvbmljcy4KLTsqIEFsbCByaWdodHMgcmVzZXJ2ZWQuPC9jZW50ZXI+PC9oMj4KKzsqIENvcHlyaWdodCAoYykgMjAxNy0yMDIxIFNUTWljcm9lbGVjdHJvbmljcy4KKzsqIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiA7KgotOyogVGhpcyBzb2Z0d2FyZSBjb21wb25lbnQgaXMgbGljZW5zZWQgYnkgU1QgdW5kZXIgQlNEIDMtQ2xhdXNlIGxpY2Vuc2UsCi07KiB0aGUgIkxpY2Vuc2UiOyBZb3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlCi07KiBMaWNlbnNlLiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXQ6Ci07KiAgICAgICAgICAgICAgICAgICAgICAgIG9wZW5zb3VyY2Uub3JnL2xpY2Vuc2VzL0JTRC0zLUNsYXVzZQotOyoKKzsqIFRoaXMgc29mdHdhcmUgaXMgbGljZW5zZWQgdW5kZXIgdGVybXMgdGhhdCBjYW4gYmUgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZQorOyogaW4gdGhlIHJvb3QgZGlyZWN0b3J5IG9mIHRoaXMgc29mdHdhcmUgY29tcG9uZW50LgorOyogSWYgbm8gTElDRU5TRSBmaWxlIGNvbWVzIHdpdGggdGhpcyBzb2Z0d2FyZSwgaXQgaXMgcHJvdmlkZWQgQVMtSVMuCis7CiA7KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogOwogOwpAQCAtMzkwLDQgKzM4OCwzIEBACiAgICAgICAgIEIgVVNCV2FrZVVwX0lSUUhhbmRsZXIKIAogICAgICAgICBFTkQKLS8qKioqKioqKioqKioqKioqKioqKioqKiogKEMpIENPUFlSSUdIVCBTVE1pY3JvZWxlY3Ryb25pY3MgKioqKipFTkQgT0YgRklMRSoqKiovCmRpZmYgLS1naXQgYS9Tb3VyY2UvVGVtcGxhdGVzL2lhci9zdGFydHVwX3N0bTMyZjEwM3hlLnMgYi9Tb3VyY2UvVGVtcGxhdGVzL2lhci9zdGFydHVwX3N0bTMyZjEwM3hlLnMKaW5kZXggMWNjYTNkYi4uYzI1YTMxNiAxMDA2NDQKLS0tIGEvU291cmNlL1RlbXBsYXRlcy9pYXIvc3RhcnR1cF9zdG0zMmYxMDN4ZS5zCisrKyBiL1NvdXJjZS9UZW1wbGF0ZXMvaWFyL3N0YXJ0dXBfc3RtMzJmMTAzeGUucwpAQCAtMTIsMTcgKzEyLDE1IEBACiA7KiAgICAgICAgICAgICAgICAgICAgICAgIGNhbGxzIG1haW4oKSkuCiA7KiAgICAgICAgICAgICAgICAgICAgICBBZnRlciBSZXNldCB0aGUgQ29ydGV4LU0zIHByb2Nlc3NvciBpcyBpbiBUaHJlYWQgbW9kZSwKIDsqICAgICAgICAgICAgICAgICAgICAgIHByaW9yaXR5IGlzIFByaXZpbGVnZWQsIGFuZCB0aGUgU3RhY2sgaXMgc2V0IHRvIE1haW4uCi07KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgotOyogQGF0dGVudGlvbgorOyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiA7KgotOyogPGgyPjxjZW50ZXI+JmNvcHk7IENvcHlyaWdodCAoYykgMjAxNyBTVE1pY3JvZWxlY3Ryb25pY3MuCi07KiBBbGwgcmlnaHRzIHJlc2VydmVkLjwvY2VudGVyPjwvaDI+Cis7KiBDb3B5cmlnaHQgKGMpIDIwMTctMjAyMSBTVE1pY3JvZWxlY3Ryb25pY3MuCis7KiBBbGwgcmlnaHRzIHJlc2VydmVkLgogOyoKLTsqIFRoaXMgc29mdHdhcmUgY29tcG9uZW50IGlzIGxpY2Vuc2VkIGJ5IFNUIHVuZGVyIEJTRCAzLUNsYXVzZSBsaWNlbnNlLAotOyogdGhlICJMaWNlbnNlIjsgWW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZQotOyogTGljZW5zZS4gWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0OgotOyogICAgICAgICAgICAgICAgICAgICAgICBvcGVuc291cmNlLm9yZy9saWNlbnNlcy9CU0QtMy1DbGF1c2UKLTsqCis7KiBUaGlzIHNvZnR3YXJlIGlzIGxpY2Vuc2VkIHVuZGVyIHRlcm1zIHRoYXQgY2FuIGJlIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUKKzsqIGluIHRoZSByb290IGRpcmVjdG9yeSBvZiB0aGlzIHNvZnR3YXJlIGNvbXBvbmVudC4KKzsqIElmIG5vIExJQ0VOU0UgZmlsZSBjb21lcyB3aXRoIHRoaXMgc29mdHdhcmUsIGl0IGlzIHByb3ZpZGVkIEFTLUlTLgorOwogOyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKIDsKIDsKQEAgLTQ5NSw0ICs0OTMsMyBAQAogICAgICAgICAKICAgICAgICAgRU5ECiAKLS8qKioqKioqKioqKioqKioqKioqKioqKiogKEMpIENPUFlSSUdIVCBTVE1pY3JvZWxlY3Ryb25pY3MgKioqKipFTkQgT0YgRklMRSoqKiovCmRpZmYgLS1naXQgYS9Tb3VyY2UvVGVtcGxhdGVzL2lhci9zdGFydHVwX3N0bTMyZjEwM3hnLnMgYi9Tb3VyY2UvVGVtcGxhdGVzL2lhci9zdGFydHVwX3N0bTMyZjEwM3hnLnMKaW5kZXggM2ExNmI5My4uYjFmZWJlNCAxMDA2NDQKLS0tIGEvU291cmNlL1RlbXBsYXRlcy9pYXIvc3RhcnR1cF9zdG0zMmYxMDN4Zy5zCisrKyBiL1NvdXJjZS9UZW1wbGF0ZXMvaWFyL3N0YXJ0dXBfc3RtMzJmMTAzeGcucwpAQCAtOSwxNyArOSwxNSBAQAogOyogICAgICAgICAgICAgICAgICAgICAgLSBTZXQgdGhlIHZlY3RvciB0YWJsZSBlbnRyaWVzIHdpdGggdGhlIGV4Y2VwdGlvbnMgSVNSIGFkZHJlc3MsCiA7KiAgICAgICAgICAgICAgICAgICAgICBBZnRlciBSZXNldCB0aGUgQ29ydGV4LU0zIHByb2Nlc3NvciBpcyBpbiBUaHJlYWQgbW9kZSwKIDsqICAgICAgICAgICAgICAgICAgICAgIHByaW9yaXR5IGlzIFByaXZpbGVnZWQsIGFuZCB0aGUgU3RhY2sgaXMgc2V0IHRvIE1haW4uCi07KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgotOyogQGF0dGVudGlvbgorOyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiA7KgotOyogPGgyPjxjZW50ZXI+JmNvcHk7IENvcHlyaWdodCAoYykgMjAxNyBTVE1pY3JvZWxlY3Ryb25pY3MuCi07KiBBbGwgcmlnaHRzIHJlc2VydmVkLjwvY2VudGVyPjwvaDI+Cis7KiBDb3B5cmlnaHQgKGMpIDIwMTctMjAyMSBTVE1pY3JvZWxlY3Ryb25pY3MuCis7KiBBbGwgcmlnaHRzIHJlc2VydmVkLgogOyoKLTsqIFRoaXMgc29mdHdhcmUgY29tcG9uZW50IGlzIGxpY2Vuc2VkIGJ5IFNUIHVuZGVyIEJTRCAzLUNsYXVzZSBsaWNlbnNlLAotOyogdGhlICJMaWNlbnNlIjsgWW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZQotOyogTGljZW5zZS4gWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0OgotOyogICAgICAgICAgICAgICAgICAgICAgICBvcGVuc291cmNlLm9yZy9saWNlbnNlcy9CU0QtMy1DbGF1c2UKLTsqCis7KiBUaGlzIHNvZnR3YXJlIGlzIGxpY2Vuc2VkIHVuZGVyIHRlcm1zIHRoYXQgY2FuIGJlIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUKKzsqIGluIHRoZSByb290IGRpcmVjdG9yeSBvZiB0aGlzIHNvZnR3YXJlIGNvbXBvbmVudC4KKzsqIElmIG5vIExJQ0VOU0UgZmlsZSBjb21lcyB3aXRoIHRoaXMgc29mdHdhcmUsIGl0IGlzIHByb3ZpZGVkIEFTLUlTLgorOwogOyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKIDsKIDsKQEAgLTQ5Miw0ICs0OTAsMyBAQAogICAgICAgICAKICAgICAgICAgRU5ECiAKLS8qKioqKioqKioqKioqKioqKioqKioqKiogKEMpIENPUFlSSUdIVCBTVE1pY3JvZWxlY3Ryb25pY3MgKioqKipFTkQgT0YgRklMRSoqKiovCmRpZmYgLS1naXQgYS9Tb3VyY2UvVGVtcGxhdGVzL2lhci9zdGFydHVwX3N0bTMyZjEwNXhjLnMgYi9Tb3VyY2UvVGVtcGxhdGVzL2lhci9zdGFydHVwX3N0bTMyZjEwNXhjLnMKaW5kZXggZGM4MDY3My4uOTViNjY3ZSAxMDA2NDQKLS0tIGEvU291cmNlL1RlbXBsYXRlcy9pYXIvc3RhcnR1cF9zdG0zMmYxMDV4Yy5zCisrKyBiL1NvdXJjZS9UZW1wbGF0ZXMvaWFyL3N0YXJ0dXBfc3RtMzJmMTA1eGMucwpAQCAtMTEsMTcgKzExLDE1IEBACiA7KiAgICAgICAgICAgICAgICAgICAgICAgIGFkZHJlc3MuCiA7KiAgICAgICAgICAgICAgICAgICAgICBBZnRlciBSZXNldCB0aGUgQ29ydGV4LU0zIHByb2Nlc3NvciBpcyBpbiBUaHJlYWQgbW9kZSwKIDsqICAgICAgICAgICAgICAgICAgICAgIHByaW9yaXR5IGlzIFByaXZpbGVnZWQsIGFuZCB0aGUgU3RhY2sgaXMgc2V0IHRvIE1haW4uCi07KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgotOyogQGF0dGVudGlvbgorOyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiA7KgotOyogPGgyPjxjZW50ZXI+JmNvcHk7IENvcHlyaWdodCAoYykgMjAxNyBTVE1pY3JvZWxlY3Ryb25pY3MuCi07KiBBbGwgcmlnaHRzIHJlc2VydmVkLjwvY2VudGVyPjwvaDI+Cis7KiBDb3B5cmlnaHQgKGMpIDIwMTctMjAyMSBTVE1pY3JvZWxlY3Ryb25pY3MuCis7KiBBbGwgcmlnaHRzIHJlc2VydmVkLgogOyoKLTsqIFRoaXMgc29mdHdhcmUgY29tcG9uZW50IGlzIGxpY2Vuc2VkIGJ5IFNUIHVuZGVyIEJTRCAzLUNsYXVzZSBsaWNlbnNlLAotOyogdGhlICJMaWNlbnNlIjsgWW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZQotOyogTGljZW5zZS4gWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0OgotOyogICAgICAgICAgICAgICAgICAgICAgICBvcGVuc291cmNlLm9yZy9saWNlbnNlcy9CU0QtMy1DbGF1c2UKLTsqCis7KiBUaGlzIHNvZnR3YXJlIGlzIGxpY2Vuc2VkIHVuZGVyIHRlcm1zIHRoYXQgY2FuIGJlIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUKKzsqIGluIHRoZSByb290IGRpcmVjdG9yeSBvZiB0aGlzIHNvZnR3YXJlIGNvbXBvbmVudC4KKzsqIElmIG5vIExJQ0VOU0UgZmlsZSBjb21lcyB3aXRoIHRoaXMgc29mdHdhcmUsIGl0IGlzIHByb3ZpZGVkIEFTLUlTLgorOwogOyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKIDsKIDsKQEAgLTUwNiw0ICs1MDQsMyBAQAogICAgICAgICBCIE9UR19GU19JUlFIYW5kbGVyCiAKICAgICAgICAgRU5ECi0vKioqKioqKioqKioqKioqKioqKioqKioqIChDKSBDT1BZUklHSFQgU1RNaWNyb2VsZWN0cm9uaWNzICoqKioqRU5EIE9GIEZJTEUqKioqLwpkaWZmIC0tZ2l0IGEvU291cmNlL1RlbXBsYXRlcy9pYXIvc3RhcnR1cF9zdG0zMmYxMDd4Yy5zIGIvU291cmNlL1RlbXBsYXRlcy9pYXIvc3RhcnR1cF9zdG0zMmYxMDd4Yy5zCmluZGV4IDc4NGNmNTQuLmIxNDFlNjkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9UZW1wbGF0ZXMvaWFyL3N0YXJ0dXBfc3RtMzJmMTA3eGMucworKysgYi9Tb3VyY2UvVGVtcGxhdGVzL2lhci9zdGFydHVwX3N0bTMyZjEwN3hjLnMKQEAgLTExLDE3ICsxMSwxNSBAQAogOyogICAgICAgICAgICAgICAgICAgICAgICBhZGRyZXNzLgogOyogICAgICAgICAgICAgICAgICAgICAgQWZ0ZXIgUmVzZXQgdGhlIENvcnRleC1NMyBwcm9jZXNzb3IgaXMgaW4gVGhyZWFkIG1vZGUsCiA7KiAgICAgICAgICAgICAgICAgICAgICBwcmlvcml0eSBpcyBQcml2aWxlZ2VkLCBhbmQgdGhlIFN0YWNrIGlzIHNldCB0byBNYWluLgotOyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKLTsqIEBhdHRlbnRpb24KKzsqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogOyoKLTsqIDxoMj48Y2VudGVyPiZjb3B5OyBDb3B5cmlnaHQgKGMpIDIwMTcgU1RNaWNyb2VsZWN0cm9uaWNzLgotOyogQWxsIHJpZ2h0cyByZXNlcnZlZC48L2NlbnRlcj48L2gyPgorOyogQ29weXJpZ2h0IChjKSAyMDE3LTIwMjEgU1RNaWNyb2VsZWN0cm9uaWNzLgorOyogQWxsIHJpZ2h0cyByZXNlcnZlZC4KIDsqCi07KiBUaGlzIHNvZnR3YXJlIGNvbXBvbmVudCBpcyBsaWNlbnNlZCBieSBTVCB1bmRlciBCU0QgMy1DbGF1c2UgbGljZW5zZSwKLTsqIHRoZSAiTGljZW5zZSI7IFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUKLTsqIExpY2Vuc2UuIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdDoKLTsqICAgICAgICAgICAgICAgICAgICAgICAgb3BlbnNvdXJjZS5vcmcvbGljZW5zZXMvQlNELTMtQ2xhdXNlCi07KgorOyogVGhpcyBzb2Z0d2FyZSBpcyBsaWNlbnNlZCB1bmRlciB0ZXJtcyB0aGF0IGNhbiBiZSBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlCis7KiBpbiB0aGUgcm9vdCBkaXJlY3Rvcnkgb2YgdGhpcyBzb2Z0d2FyZSBjb21wb25lbnQuCis7KiBJZiBubyBMSUNFTlNFIGZpbGUgY29tZXMgd2l0aCB0aGlzIHNvZnR3YXJlLCBpdCBpcyBwcm92aWRlZCBBUy1JUy4KKzsKIDsqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiA7CiA7CkBAIC01MDYsNCArNTA0LDMgQEAKICAgICAgICAgQiBPVEdfRlNfSVJRSGFuZGxlcgogCiAgICAgICAgIEVORAotLyoqKioqKioqKioqKioqKioqKioqKioqKiAoQykgQ09QWVJJR0hUIFNUTWljcm9lbGVjdHJvbmljcyAqKioqKkVORCBPRiBGSUxFKioqKi8KZGlmZiAtLWdpdCBhL1NvdXJjZS9UZW1wbGF0ZXMvc3lzdGVtX3N0bTMyZjF4eC5jIGIvU291cmNlL1RlbXBsYXRlcy9zeXN0ZW1fc3RtMzJmMXh4LmMKaW5kZXggYmM5NmFhZS4uM2UyNzdlNiAxMDA2NDQKLS0tIGEvU291cmNlL1RlbXBsYXRlcy9zeXN0ZW1fc3RtMzJmMXh4LmMKKysrIGIvU291cmNlL1RlbXBsYXRlcy9zeXN0ZW1fc3RtMzJmMXh4LmMKQEAgLTMzLDEzICszMywxMiBAQAogICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKICAgKiBAYXR0ZW50aW9uCiAgICoKLSAgKiA8aDI+PGNlbnRlcj4mY29weTsgQ29weXJpZ2h0IChjKSAyMDE3IFNUTWljcm9lbGVjdHJvbmljcy4KLSAgKiBBbGwgcmlnaHRzIHJlc2VydmVkLjwvY2VudGVyPjwvaDI+CisgICogQ29weXJpZ2h0IChjKSAyMDE3LTIwMjEgU1RNaWNyb2VsZWN0cm9uaWNzLgorICAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgICoKLSAgKiBUaGlzIHNvZnR3YXJlIGNvbXBvbmVudCBpcyBsaWNlbnNlZCBieSBTVCB1bmRlciBCU0QgMy1DbGF1c2UgbGljZW5zZSwKLSAgKiB0aGUgIkxpY2Vuc2UiOyBZb3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlCi0gICogTGljZW5zZS4gWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0OgotICAqICAgICAgICAgICAgICAgICAgICAgICAgb3BlbnNvdXJjZS5vcmcvbGljZW5zZXMvQlNELTMtQ2xhdXNlCisgICogVGhpcyBzb2Z0d2FyZSBpcyBsaWNlbnNlZCB1bmRlciB0ZXJtcyB0aGF0IGNhbiBiZSBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlCisgICogaW4gdGhlIHJvb3QgZGlyZWN0b3J5IG9mIHRoaXMgc29mdHdhcmUgY29tcG9uZW50LgorICAqIElmIG5vIExJQ0VOU0UgZmlsZSBjb21lcyB3aXRoIHRoaXMgc29mdHdhcmUsIGl0IGlzIHByb3ZpZGVkIEFTLUlTLgogICAqCiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogICAqLwpAQCAtNDA0LDUgKzQwMyw0IEBACiAgIAogLyoqCiAgICogQH0KLSAgKi8gICAgCi0vKioqKioqKioqKioqKioqKioqKioqKioqIChDKSBDT1BZUklHSFQgU1RNaWNyb2VsZWN0cm9uaWNzICoqKioqRU5EIE9GIEZJTEUqKioqLworICAqLwpkaWZmIC0tZ2l0IGEvX2h0bXJlc2MvZmF2aWNvbi5wbmcgYi9faHRtcmVzYy9mYXZpY29uLnBuZwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4wNjcxM2VlCi0tLSAvZGV2L251bGwKKysrIGIvX2h0bXJlc2MvZmF2aWNvbi5wbmcKQmluYXJ5IGZpbGVzIGRpZmZlcgpkaWZmIC0tZ2l0IGEvX2h0bXJlc2MvbWluaS1zdC5jc3MgYi9faHRtcmVzYy9taW5pLXN0XzIwMjAuY3NzCnNpbWlsYXJpdHkgaW5kZXggNzclCnJlbmFtZSBmcm9tIF9odG1yZXNjL21pbmktc3QuY3NzCnJlbmFtZSB0byBfaHRtcmVzYy9taW5pLXN0XzIwMjAuY3NzCmluZGV4IDcxZmJjMTQuLjNkOWU4MWEgMTAwNjQ0Ci0tLSBhL19odG1yZXNjL21pbmktc3QuY3NzCisrKyBiL19odG1yZXNjL21pbmktc3RfMjAyMC5jc3MKQEAgLTEsMzkgKzEsMzkgQEAKIEBjaGFyc2V0ICJVVEYtOCI7CiAvKgotICBGbGF2b3IgbmFtZTogRGVmYXVsdCAobWluaS1kZWZhdWx0KQotICBBdXRob3I6IEFuZ2Vsb3MgQ2hhbGFyaXMgKGNoYWxhcmFuZ2Vsb0BnbWFpbC5jb20pCi0gIE1haW50YWluZXJzOiBBbmdlbG9zIENoYWxhcmlzCi0gIG1pbmkuY3NzIHZlcnNpb246IHYzLjAuMC1hbHBoYS4zCisgIEZsYXZvciBuYW1lOiBDdXN0b20gKG1pbmktY3VzdG9tKQorICBHZW5lcmF0ZWQgb25saW5lIC0gaHR0cHM6Ly9taW5pY3NzLm9yZy9mbGF2b3JzCisgIG1pbmkuY3NzIHZlcnNpb246IHYzLjAuMQogKi8KIC8qCiAgIEJyb3dzZXJzIHJlc2V0cyBhbmQgYmFzZSB0eXBvZ3JhcGh5LgogKi8KIC8qIENvcmUgbW9kdWxlIENTUyB2YXJpYWJsZSBkZWZpbml0aW9ucyAqLwogOnJvb3QgewotICAtLWZvcmUtY29sb3I6ICMxMTE7Ci0gIC0tc2Vjb25kYXJ5LWZvcmUtY29sb3I6ICM0NDQ7Ci0gIC0tYmFjay1jb2xvcjogI2Y4ZjhmODsKLSAgLS1zZWNvbmRhcnktYmFjay1jb2xvcjogI2YwZjBmMDsKLSAgLS1ibG9ja3F1b3RlLWNvbG9yOiAjZjU3YzAwOwotICAtLXByZS1jb2xvcjogIzE1NjVjMDsKLSAgLS1ib3JkZXItY29sb3I6ICNhYWE7Ci0gIC0tc2Vjb25kYXJ5LWJvcmRlci1jb2xvcjogI2RkZDsKLSAgLS1oZWFkaW5nLXJhdGlvOiAxLjE5OworICAtLWZvcmUtY29sb3I6ICMwMzIzNGI7CisgIC0tc2Vjb25kYXJ5LWZvcmUtY29sb3I6ICMwMzIzNGI7CisgIC0tYmFjay1jb2xvcjogI2ZmZmZmZjsKKyAgLS1zZWNvbmRhcnktYmFjay1jb2xvcjogI2ZmZmZmZjsKKyAgLS1ibG9ja3F1b3RlLWNvbG9yOiAjZTYwMDdlOworICAtLXByZS1jb2xvcjogI2U2MDA3ZTsKKyAgLS1ib3JkZXItY29sb3I6ICMzY2I0ZTY7CisgIC0tc2Vjb25kYXJ5LWJvcmRlci1jb2xvcjogIzNjYjRlNjsKKyAgLS1oZWFkaW5nLXJhdGlvOiAxLjI7CiAgIC0tdW5pdmVyc2FsLW1hcmdpbjogMC41cmVtOwotICAtLXVuaXZlcnNhbC1wYWRkaW5nOiAwLjEyNXJlbTsKLSAgLS11bml2ZXJzYWwtYm9yZGVyLXJhZGl1czogMC4xMjVyZW07Ci0gIC0tYS1saW5rLWNvbG9yOiAjMDI3N2JkOwotICAtLWEtdmlzaXRlZC1jb2xvcjogIzAxNTc5YjsgfQorICAtLXVuaXZlcnNhbC1wYWRkaW5nOiAwLjI1cmVtOworICAtLXVuaXZlcnNhbC1ib3JkZXItcmFkaXVzOiAwLjA3NXJlbTsKKyAgLS1iYWNrZ3JvdW5kLW1hcmdpbjogMS41JTsKKyAgLS1hLWxpbmstY29sb3I6ICMzY2I0ZTY7CisgIC0tYS12aXNpdGVkLWNvbG9yOiAjOGMwMDc4OyB9CiAKIGh0bWwgewotICBmb250LXNpemU6IDE0cHg7IH0KKyAgZm9udC1zaXplOiAxMy41cHg7IH0KIAogYSwgYiwgZGVsLCBlbSwgaSwgaW5zLCBxLCBzcGFuLCBzdHJvbmcsIHUgewogICBmb250LXNpemU6IDFlbTsgfQogCiBodG1sLCAqIHsKLSAgZm9udC1mYW1pbHk6IC1hcHBsZS1zeXN0ZW0sIEJsaW5rTWFjU3lzdGVtRm9udCwgIlNlZ29lIFVJIiwgUm9ib3RvLCBVYnVudHUsICJIZWx2ZXRpY2EgTmV1ZSIsIEhlbHZldGljYSwgc2Fucy1zZXJpZjsKLSAgbGluZS1oZWlnaHQ6IDEuNDsKKyAgZm9udC1mYW1pbHk6IC1hcHBsZS1zeXN0ZW0sIEJsaW5rTWFjU3lzdGVtRm9udCwgSGVsdmV0aWNhLCBhcmlhbCwgc2Fucy1zZXJpZjsKKyAgbGluZS1oZWlnaHQ6IDEuMjU7CiAgIC13ZWJraXQtdGV4dC1zaXplLWFkanVzdDogMTAwJTsgfQogCiAqIHsKQEAgLTQyLDcgKzQyLDEwIEBACiBib2R5IHsKICAgbWFyZ2luOiAwOwogICBjb2xvcjogdmFyKC0tZm9yZS1jb2xvcik7Ci0gIGJhY2tncm91bmQ6IHZhcigtLWJhY2stY29sb3IpOyB9CisgIEBiYWNrZ3JvdW5kOiB2YXIoLS1iYWNrLWNvbG9yKTsKKyAgYmFja2dyb3VuZDogdmFyKC0tYmFjay1jb2xvcikgbGluZWFyLWdyYWRpZW50KCNmZmQyMDAsICNmZmQyMDApIHJlcGVhdC15IGxlZnQgdG9wOworICBiYWNrZ3JvdW5kLXNpemU6IHZhcigtLWJhY2tncm91bmQtbWFyZ2luKTsKKyAgfQogCiBkZXRhaWxzIHsKICAgZGlzcGxheTogYmxvY2s7IH0KQEAgLTYyLDkgKzY1LDkgQEAKICAgaGVpZ2h0OiBhdXRvOyB9CiAKIGgxLCBoMiwgaDMsIGg0LCBoNSwgaDYgewotICBsaW5lLWhlaWdodDogMS4yOworICBsaW5lLWhlaWdodDogMS4yNTsKICAgbWFyZ2luOiBjYWxjKDEuNSAqIHZhcigtLXVuaXZlcnNhbC1tYXJnaW4pKSB2YXIoLS11bml2ZXJzYWwtbWFyZ2luKTsKLSAgZm9udC13ZWlnaHQ6IDUwMDsgfQorICBmb250LXdlaWdodDogNDAwOyB9CiAgIGgxIHNtYWxsLCBoMiBzbWFsbCwgaDMgc21hbGwsIGg0IHNtYWxsLCBoNSBzbWFsbCwgaDYgc21hbGwgewogICAgIGNvbG9yOiB2YXIoLS1zZWNvbmRhcnktZm9yZS1jb2xvcik7CiAgICAgZGlzcGxheTogYmxvY2s7CkBAIC03NCwyMSArNzcsMTUgQEAKICAgZm9udC1zaXplOiBjYWxjKDFyZW0gKiB2YXIoLS1oZWFkaW5nLXJhdGlvKSAqIHZhcigtLWhlYWRpbmctcmF0aW8pICogdmFyKC0taGVhZGluZy1yYXRpbykpOyB9CiAKIGgyIHsKLSAgZm9udC1zaXplOiBjYWxjKDFyZW0gKiB2YXIoLS1oZWFkaW5nLXJhdGlvKSAqIHZhcigtLWhlYWRpbmctcmF0aW8pOyApOwotICBiYWNrZ3JvdW5kOiB2YXIoLS1tYXJrLWJhY2stY29sb3IpOwotICBmb250LXdlaWdodDogNjAwOwotICBwYWRkaW5nOiAwLjFlbSAwLjVlbSAwLjJlbSAwLjVlbTsKLSAgY29sb3I6IHZhcigtLW1hcmstZm9yZS1jb2xvcik7IH0KLQorICBmb250LXNpemU6IGNhbGMoMXJlbSAqIHZhcigtLWhlYWRpbmctcmF0aW8pICogdmFyKC0taGVhZGluZy1yYXRpbykgKTsKKyAgYm9yZGVyLXN0eWxlOiBub25lIG5vbmUgc29saWQgbm9uZSA7IAorICBib3JkZXItd2lkdGg6IHRoaW47CisgIGJvcmRlci1jb2xvcjogdmFyKC0tYm9yZGVyLWNvbG9yKTsgfQogaDMgewotICBmb250LXNpemU6IGNhbGMoMXJlbSAqIHZhcigtLWhlYWRpbmctcmF0aW8pKTsKLSAgcGFkZGluZy1sZWZ0OiBjYWxjKDIgKiB2YXIoLS11bml2ZXJzYWwtbWFyZ2luKSk7IAotICAvKiBiYWNrZ3JvdW5kOiB2YXIoLS1ib3JkZXItY29sb3IpOyAqLwotICAgIH0KKyAgZm9udC1zaXplOiBjYWxjKDFyZW0gKiB2YXIoLS1oZWFkaW5nLXJhdGlvKSApOyB9CiAKIGg0IHsKLSAgZm9udC1zaXplOiAxcmVtOyk7Ci0gIHBhZGRpbmctbGVmdDogY2FsYyg0ICogdmFyKC0tdW5pdmVyc2FsLW1hcmdpbikpOyAgfQorICBmb250LXNpemU6IGNhbGMoMXJlbSAqIHZhcigtLWhlYWRpbmctcmF0aW8pKTsgfQogCiBoNSB7CiAgIGZvbnQtc2l6ZTogMXJlbTsgfQpAQCAtMTAxLDcgKzk4LDcgQEAKIAogb2wsIHVsIHsKICAgbWFyZ2luOiB2YXIoLS11bml2ZXJzYWwtbWFyZ2luKTsKLSAgcGFkZGluZy1sZWZ0OiBjYWxjKDYgKiB2YXIoLS11bml2ZXJzYWwtbWFyZ2luKSk7IH0KKyAgcGFkZGluZy1sZWZ0OiBjYWxjKDMgKiB2YXIoLS11bml2ZXJzYWwtbWFyZ2luKSk7IH0KIAogYiwgc3Ryb25nIHsKICAgZm9udC13ZWlnaHQ6IDcwMDsgfQpAQCAtMTExLDcgKzEwOCw3IEBACiAgIGJvcmRlcjogMDsKICAgbGluZS1oZWlnaHQ6IDEuMjVlbTsKICAgbWFyZ2luOiB2YXIoLS11bml2ZXJzYWwtbWFyZ2luKTsKLSAgaGVpZ2h0OiAwLjA2MjVyZW07CisgIGhlaWdodDogMC4wNzE0Mjg1NzE0cmVtOwogICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodG8gcmlnaHQsIHRyYW5zcGFyZW50LCB2YXIoLS1ib3JkZXItY29sb3IpIDIwJSwgdmFyKC0tYm9yZGVyLWNvbG9yKSA4MCUsIHRyYW5zcGFyZW50KTsgfQogCiBibG9ja3F1b3RlIHsKQEAgLTEyMSwxNiArMTE4LDE2IEBACiAgIGNvbG9yOiB2YXIoLS1zZWNvbmRhcnktZm9yZS1jb2xvcik7CiAgIG1hcmdpbjogdmFyKC0tdW5pdmVyc2FsLW1hcmdpbik7CiAgIHBhZGRpbmc6IGNhbGMoMyAqIHZhcigtLXVuaXZlcnNhbC1wYWRkaW5nKSk7Ci0gIGJvcmRlcjogMC4wNjI1cmVtIHNvbGlkIHZhcigtLXNlY29uZGFyeS1ib3JkZXItY29sb3IpOwotICBib3JkZXItbGVmdDogMC4zNzVyZW0gc29saWQgdmFyKC0tYmxvY2txdW90ZS1jb2xvcik7CisgIGJvcmRlcjogMC4wNzE0Mjg1NzE0cmVtIHNvbGlkIHZhcigtLXNlY29uZGFyeS1ib3JkZXItY29sb3IpOworICBib3JkZXItbGVmdDogMC4zcmVtIHNvbGlkIHZhcigtLWJsb2NrcXVvdGUtY29sb3IpOwogICBib3JkZXItcmFkaXVzOiAwIHZhcigtLXVuaXZlcnNhbC1ib3JkZXItcmFkaXVzKSB2YXIoLS11bml2ZXJzYWwtYm9yZGVyLXJhZGl1cykgMDsgfQogICBibG9ja3F1b3RlOmJlZm9yZSB7CiAgICAgcG9zaXRpb246IGFic29sdXRlOwogICAgIHRvcDogY2FsYygwcmVtIC0gdmFyKC0tdW5pdmVyc2FsLXBhZGRpbmcpKTsKICAgICBsZWZ0OiAwOwogICAgIGZvbnQtZmFtaWx5OiBzYW5zLXNlcmlmOwotICAgIGZvbnQtc2l6ZTogM3JlbTsKLSAgICBmb250LXdlaWdodDogNzAwOworICAgIGZvbnQtc2l6ZTogMnJlbTsKKyAgICBmb250LXdlaWdodDogODAwOwogICAgIGNvbnRlbnQ6ICJcMjAxYyI7CiAgICAgY29sb3I6IHZhcigtLWJsb2NrcXVvdGUtY29sb3IpOyB9CiAgIGJsb2NrcXVvdGVbY2l0ZV06YWZ0ZXIgewpAQCAtMTYwLDggKzE1Nyw4IEBACiAgIGJhY2tncm91bmQ6IHZhcigtLXNlY29uZGFyeS1iYWNrLWNvbG9yKTsKICAgcGFkZGluZzogY2FsYygxLjUgKiB2YXIoLS11bml2ZXJzYWwtcGFkZGluZykpOwogICBtYXJnaW46IHZhcigtLXVuaXZlcnNhbC1tYXJnaW4pOwotICBib3JkZXI6IDAuMDYyNXJlbSBzb2xpZCB2YXIoLS1zZWNvbmRhcnktYm9yZGVyLWNvbG9yKTsKLSAgYm9yZGVyLWxlZnQ6IDAuMjVyZW0gc29saWQgdmFyKC0tcHJlLWNvbG9yKTsKKyAgYm9yZGVyOiAwLjA3MTQyODU3MTRyZW0gc29saWQgdmFyKC0tc2Vjb25kYXJ5LWJvcmRlci1jb2xvcik7CisgIGJvcmRlci1sZWZ0OiAwLjI4NTcxNDI4NTdyZW0gc29saWQgdmFyKC0tcHJlLWNvbG9yKTsKICAgYm9yZGVyLXJhZGl1czogMCB2YXIoLS11bml2ZXJzYWwtYm9yZGVyLXJhZGl1cykgdmFyKC0tdW5pdmVyc2FsLWJvcmRlci1yYWRpdXMpIDA7IH0KIAogc3VwLCBzdWIsIGNvZGUsIGtiZCB7CkBAIC0yMDQsNyArMjAxLDggQEAKICAgYm94LXNpemluZzogYm9yZGVyLWJveDsKICAgZGlzcGxheTogZmxleDsKICAgZmxleDogMCAxIGF1dG87Ci0gIGZsZXgtZmxvdzogcm93IHdyYXA7IH0KKyAgZmxleC1mbG93OiByb3cgd3JhcDsKKyAgbWFyZ2luOiAwIDAgMCB2YXIoLS1iYWNrZ3JvdW5kLW1hcmdpbik7IH0KIAogLmNvbC1zbSwKIFtjbGFzc149J2NvbC1zbS0nXSwKQEAgLTU2NSw5ICs1NjMsOSBAQAogICAgIG9yZGVyOiA5OTk7IH0gfQogLyogQ2FyZCBjb21wb25lbnQgQ1NTIHZhcmlhYmxlIGRlZmluaXRpb25zICovCiA6cm9vdCB7Ci0gIC0tY2FyZC1iYWNrLWNvbG9yOiAjZjhmOGY4OwotICAtLWNhcmQtZm9yZS1jb2xvcjogIzExMTsKLSAgLS1jYXJkLWJvcmRlci1jb2xvcjogI2RkZDsgfQorICAtLWNhcmQtYmFjay1jb2xvcjogIzNjYjRlNjsKKyAgLS1jYXJkLWZvcmUtY29sb3I6ICMwMzIzNGI7CisgIC0tY2FyZC1ib3JkZXItY29sb3I6ICMwMzIzNGI7IH0KIAogLmNhcmQgewogICBkaXNwbGF5OiBmbGV4OwpAQCAtNTc4LDcgKzU3Niw3IEBACiAgIHdpZHRoOiAxMDAlOwogICBiYWNrZ3JvdW5kOiB2YXIoLS1jYXJkLWJhY2stY29sb3IpOwogICBjb2xvcjogdmFyKC0tY2FyZC1mb3JlLWNvbG9yKTsKLSAgYm9yZGVyOiAwLjA2MjVyZW0gc29saWQgdmFyKC0tY2FyZC1ib3JkZXItY29sb3IpOworICBib3JkZXI6IDAuMDcxNDI4NTcxNHJlbSBzb2xpZCB2YXIoLS1jYXJkLWJvcmRlci1jb2xvcik7CiAgIGJvcmRlci1yYWRpdXM6IHZhcigtLXVuaXZlcnNhbC1ib3JkZXItcmFkaXVzKTsKICAgbWFyZ2luOiB2YXIoLS11bml2ZXJzYWwtbWFyZ2luKTsKICAgb3ZlcmZsb3c6IGhpZGRlbjsgfQpAQCAtNTkyLDcgKzU5MCw3IEBACiAgICAgbWFyZ2luOiAwOwogICAgIGJvcmRlcjogMDsKICAgICBib3JkZXItcmFkaXVzOiAwOwotICAgIGJvcmRlci1ib3R0b206IDAuMDYyNXJlbSBzb2xpZCB2YXIoLS1jYXJkLWJvcmRlci1jb2xvcik7CisgICAgYm9yZGVyLWJvdHRvbTogMC4wNzE0Mjg1NzE0cmVtIHNvbGlkIHZhcigtLWNhcmQtYm9yZGVyLWNvbG9yKTsKICAgICBwYWRkaW5nOiB2YXIoLS11bml2ZXJzYWwtcGFkZGluZyk7CiAgICAgd2lkdGg6IDEwMCU7IH0KICAgICAuY2FyZCA+IC5zZWN0aW9uZS5tZWRpYSB7CkBAIC02MTcsMTcgKzYxNSwxOCBAQAogICB3aWR0aDogYXV0bzsgfQogCiAuY2FyZC53YXJuaW5nIHsKLS8qICAtLWNhcmQtYmFjay1jb2xvcjogI2ZmY2EyODsgKi8KICAgLS1jYXJkLWJhY2stY29sb3I6ICNlNWI4Yjc7Ci0gIC0tY2FyZC1ib3JkZXItY29sb3I6ICNlOGI4MjU7IH0KKyAgLS1jYXJkLWZvcmUtY29sb3I6ICMzYjIzNGI7CisgIC0tY2FyZC1ib3JkZXItY29sb3I6ICM4YzAwNzg7IH0KIAogLmNhcmQuZXJyb3IgewotICAtLWNhcmQtYmFjay1jb2xvcjogI2I3MWMxYzsKLSAgLS1jYXJkLWZvcmUtY29sb3I6ICNmOGY4Zjg7Ci0gIC0tY2FyZC1ib3JkZXItY29sb3I6ICNhNzFhMWE7IH0KKyAgLS1jYXJkLWJhY2stY29sb3I6ICM0NjQ2NTA7CisgIC0tY2FyZC1mb3JlLWNvbG9yOiAjZmZmZmZmOworICAtLWNhcmQtYm9yZGVyLWNvbG9yOiAjOGMwMDc4OyB9CiAKIC5jYXJkID4gLnNlY3Rpb25lLmRhcmsgewotICAtLWNhcmQtYmFjay1jb2xvcjogI2UwZTBlMDsgfQorICAtLWNhcmQtYmFjay1jb2xvcjogIzNiMjM0YjsKKyAgLS1jYXJkLWZvcmUtY29sb3I6ICNmZmZmZmY7IH0KIAogLmNhcmQgPiAuc2VjdGlvbmUuZG91YmxlLXBhZGRlZCB7CiAgIHBhZGRpbmc6IGNhbGMoMS41ICogdmFyKC0tdW5pdmVyc2FsLXBhZGRpbmcpKTsgfQpAQCAtNjM3LDEyICs2MzYsMTIgQEAKICovCiAvKiBJbnB1dF9jb250cm9sIG1vZHVsZSBDU1MgdmFyaWFibGUgZGVmaW5pdGlvbnMgKi8KIDpyb290IHsKLSAgLS1mb3JtLWJhY2stY29sb3I6ICNmMGYwZjA7Ci0gIC0tZm9ybS1mb3JlLWNvbG9yOiAjMTExOwotICAtLWZvcm0tYm9yZGVyLWNvbG9yOiAjZGRkOwotICAtLWlucHV0LWJhY2stY29sb3I6ICNmOGY4Zjg7Ci0gIC0taW5wdXQtZm9yZS1jb2xvcjogIzExMTsKLSAgLS1pbnB1dC1ib3JkZXItY29sb3I6ICNkZGQ7CisgIC0tZm9ybS1iYWNrLWNvbG9yOiAjZmZlOTdmOworICAtLWZvcm0tZm9yZS1jb2xvcjogIzAzMjM0YjsKKyAgLS1mb3JtLWJvcmRlci1jb2xvcjogIzNjYjRlNjsKKyAgLS1pbnB1dC1iYWNrLWNvbG9yOiAjZmZmZmZmOworICAtLWlucHV0LWZvcmUtY29sb3I6ICMwMzIzNGI7CisgIC0taW5wdXQtYm9yZGVyLWNvbG9yOiAjM2NiNGU2OwogICAtLWlucHV0LWZvY3VzLWNvbG9yOiAjMDI4OGQxOwogICAtLWlucHV0LWludmFsaWQtY29sb3I6ICNkMzJmMmY7CiAgIC0tYnV0dG9uLWJhY2stY29sb3I6ICNlMmUyZTI7CkBAIC02NTUsMTMgKzY1NCwxMyBAQAogZm9ybSB7CiAgIGJhY2tncm91bmQ6IHZhcigtLWZvcm0tYmFjay1jb2xvcik7CiAgIGNvbG9yOiB2YXIoLS1mb3JtLWZvcmUtY29sb3IpOwotICBib3JkZXI6IDAuMDYyNXJlbSBzb2xpZCB2YXIoLS1mb3JtLWJvcmRlci1jb2xvcik7CisgIGJvcmRlcjogMC4wNzE0Mjg1NzE0cmVtIHNvbGlkIHZhcigtLWZvcm0tYm9yZGVyLWNvbG9yKTsKICAgYm9yZGVyLXJhZGl1czogdmFyKC0tdW5pdmVyc2FsLWJvcmRlci1yYWRpdXMpOwogICBtYXJnaW46IHZhcigtLXVuaXZlcnNhbC1tYXJnaW4pOwogICBwYWRkaW5nOiBjYWxjKDIgKiB2YXIoLS11bml2ZXJzYWwtcGFkZGluZykpIHZhcigtLXVuaXZlcnNhbC1wYWRkaW5nKTsgfQogCiBmaWVsZHNldCB7Ci0gIGJvcmRlcjogMC4wNjI1cmVtIHNvbGlkIHZhcigtLWZvcm0tYm9yZGVyLWNvbG9yKTsKKyAgYm9yZGVyOiAwLjA3MTQyODU3MTRyZW0gc29saWQgdmFyKC0tZm9ybS1ib3JkZXItY29sb3IpOwogICBib3JkZXItcmFkaXVzOiB2YXIoLS11bml2ZXJzYWwtYm9yZGVyLXJhZGl1cyk7CiAgIG1hcmdpbjogY2FsYyh2YXIoLS11bml2ZXJzYWwtbWFyZ2luKSAvIDQpOwogICBwYWRkaW5nOiB2YXIoLS11bml2ZXJzYWwtcGFkZGluZyk7IH0KQEAgLTY3MSw3ICs2NzAsNyBAQAogICBkaXNwbGF5OiB0YWJsZTsKICAgbWF4LXdpZHRoOiAxMDAlOwogICB3aGl0ZS1zcGFjZTogbm9ybWFsOwotICBmb250LXdlaWdodDogNzAwOworICBmb250LXdlaWdodDogNTAwOwogICBwYWRkaW5nOiBjYWxjKHZhcigtLXVuaXZlcnNhbC1wYWRkaW5nKSAvIDIpOyB9CiAKIGxhYmVsIHsKQEAgLTcxNiw3ICs3MTUsNyBAQAogICBib3gtc2l6aW5nOiBib3JkZXItYm94OwogICBiYWNrZ3JvdW5kOiB2YXIoLS1pbnB1dC1iYWNrLWNvbG9yKTsKICAgY29sb3I6IHZhcigtLWlucHV0LWZvcmUtY29sb3IpOwotICBib3JkZXI6IDAuMDYyNXJlbSBzb2xpZCB2YXIoLS1pbnB1dC1ib3JkZXItY29sb3IpOworICBib3JkZXI6IDAuMDcxNDI4NTcxNHJlbSBzb2xpZCB2YXIoLS1pbnB1dC1ib3JkZXItY29sb3IpOwogICBib3JkZXItcmFkaXVzOiB2YXIoLS11bml2ZXJzYWwtYm9yZGVyLXJhZGl1cyk7CiAgIG1hcmdpbjogY2FsYyh2YXIoLS11bml2ZXJzYWwtbWFyZ2luKSAvIDIpOwogICBwYWRkaW5nOiB2YXIoLS11bml2ZXJzYWwtcGFkZGluZykgY2FsYygxLjUgKiB2YXIoLS11bml2ZXJzYWwtcGFkZGluZykpOyB9CkBAIC03NjMsOCArNzYyLDggQEAKICAgW3R5cGU9InJhZGlvIl06Y2hlY2tlZDpiZWZvcmUgewogICAgIGJvcmRlci1yYWRpdXM6IDEwMCU7CiAgICAgY29udGVudDogJyc7Ci0gICAgdG9wOiBjYWxjKDAuMDYyNXJlbSArIHZhcigtLXVuaXZlcnNhbC1wYWRkaW5nKSAvIDIpOwotICAgIGxlZnQ6IGNhbGMoMC4wNjI1cmVtICsgdmFyKC0tdW5pdmVyc2FsLXBhZGRpbmcpIC8gMik7CisgICAgdG9wOiBjYWxjKDAuMDcxNDI4NTcxNHJlbSArIHZhcigtLXVuaXZlcnNhbC1wYWRkaW5nKSAvIDIpOworICAgIGxlZnQ6IGNhbGMoMC4wNzE0Mjg1NzE0cmVtICsgdmFyKC0tdW5pdmVyc2FsLXBhZGRpbmcpIC8gMik7CiAgICAgYmFja2dyb3VuZDogdmFyKC0taW5wdXQtZm9yZS1jb2xvcik7CiAgICAgd2lkdGg6IDAuNXJlbTsKICAgICBoZWlnaHQ6IDAuNXJlbTsgfQpAQCAtNzkzLDcgKzc5Miw3IEBACiAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsKICAgYmFja2dyb3VuZDogdmFyKC0tYnV0dG9uLWJhY2stY29sb3IpOwogICBjb2xvcjogdmFyKC0tYnV0dG9uLWZvcmUtY29sb3IpOwotICBib3JkZXI6IDAuMDYyNXJlbSBzb2xpZCB2YXIoLS1idXR0b24tYm9yZGVyLWNvbG9yKTsKKyAgYm9yZGVyOiAwLjA3MTQyODU3MTRyZW0gc29saWQgdmFyKC0tYnV0dG9uLWJvcmRlci1jb2xvcik7CiAgIGJvcmRlci1yYWRpdXM6IHZhcigtLXVuaXZlcnNhbC1ib3JkZXItcmFkaXVzKTsKICAgcGFkZGluZzogdmFyKC0tdW5pdmVyc2FsLXBhZGRpbmcpIGNhbGMoMS41ICogdmFyKC0tdW5pdmVyc2FsLXBhZGRpbmcpKTsKICAgbWFyZ2luOiB2YXIoLS11bml2ZXJzYWwtbWFyZ2luKTsKQEAgLTgxNCw3ICs4MTMsNyBAQAogCiAuYnV0dG9uLWdyb3VwIHsKICAgZGlzcGxheTogZmxleDsKLSAgYm9yZGVyOiAwLjA2MjVyZW0gc29saWQgdmFyKC0tYnV0dG9uLWdyb3VwLWJvcmRlci1jb2xvcik7CisgIGJvcmRlcjogMC4wNzE0Mjg1NzE0cmVtIHNvbGlkIHZhcigtLWJ1dHRvbi1ncm91cC1ib3JkZXItY29sb3IpOwogICBib3JkZXItcmFkaXVzOiB2YXIoLS11bml2ZXJzYWwtYm9yZGVyLXJhZGl1cyk7CiAgIG1hcmdpbjogdmFyKC0tdW5pdmVyc2FsLW1hcmdpbik7IH0KICAgLmJ1dHRvbi1ncm91cCA+IGJ1dHRvbiwgLmJ1dHRvbi1ncm91cCBbdHlwZT0iYnV0dG9uIl0sIC5idXR0b24tZ3JvdXAgPiBbdHlwZT0ic3VibWl0Il0sIC5idXR0b24tZ3JvdXAgPiBbdHlwZT0icmVzZXQiXSwgLmJ1dHRvbi1ncm91cCA+IC5idXR0b24sIC5idXR0b24tZ3JvdXAgPiBbcm9sZT0iYnV0dG9uIl0gewpAQCAtODI2LDEzICs4MjUsMTMgQEAKICAgICBib3JkZXItcmFkaXVzOiAwOwogICAgIGJveC1zaGFkb3c6IG5vbmU7IH0KICAgLmJ1dHRvbi1ncm91cCA+IDpub3QoOmZpcnN0LWNoaWxkKSB7Ci0gICAgYm9yZGVyLWxlZnQ6IDAuMDYyNXJlbSBzb2xpZCB2YXIoLS1idXR0b24tZ3JvdXAtYm9yZGVyLWNvbG9yKTsgfQorICAgIGJvcmRlci1sZWZ0OiAwLjA3MTQyODU3MTRyZW0gc29saWQgdmFyKC0tYnV0dG9uLWdyb3VwLWJvcmRlci1jb2xvcik7IH0KICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDk5cHgpIHsKICAgICAuYnV0dG9uLWdyb3VwIHsKICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IH0KICAgICAgIC5idXR0b24tZ3JvdXAgPiA6bm90KDpmaXJzdC1jaGlsZCkgewogICAgICAgICBib3JkZXI6IDA7Ci0gICAgICAgIGJvcmRlci10b3A6IDAuMDYyNXJlbSBzb2xpZCB2YXIoLS1idXR0b24tZ3JvdXAtYm9yZGVyLWNvbG9yKTsgfSB9CisgICAgICAgIGJvcmRlci10b3A6IDAuMDcxNDI4NTcxNHJlbSBzb2xpZCB2YXIoLS1idXR0b24tZ3JvdXAtYm9yZGVyLWNvbG9yKTsgfSB9CiAKIC8qCiAgIEN1c3RvbSBlbGVtZW50cyBmb3IgZm9ybXMgYW5kIGlucHV0IGVsZW1lbnRzLgpAQCAtODc0LDI5ICs4NzMsMjkgQEAKICovCiAvKiBOYXZpZ2F0aW9uIG1vZHVsZSBDU1MgdmFyaWFibGUgZGVmaW5pdGlvbnMgKi8KIDpyb290IHsKLSAgLS1oZWFkZXItYmFjay1jb2xvcjogI2Y4ZjhmODsKLSAgLS1oZWFkZXItaG92ZXItYmFjay1jb2xvcjogI2YwZjBmMDsKLSAgLS1oZWFkZXItZm9yZS1jb2xvcjogIzQ0NDsKLSAgLS1oZWFkZXItYm9yZGVyLWNvbG9yOiAjZGRkOwotICAtLW5hdi1iYWNrLWNvbG9yOiAjZjhmOGY4OwotICAtLW5hdi1ob3Zlci1iYWNrLWNvbG9yOiAjZjBmMGYwOwotICAtLW5hdi1mb3JlLWNvbG9yOiAjNDQ0OwotICAtLW5hdi1ib3JkZXItY29sb3I6ICNkZGQ7Ci0gIC0tbmF2LWxpbmstY29sb3I6ICMwMjc3YmQ7Ci0gIC0tZm9vdGVyLWZvcmUtY29sb3I6ICM0NDQ7Ci0gIC0tZm9vdGVyLWJhY2stY29sb3I6ICNmOGY4Zjg7Ci0gIC0tZm9vdGVyLWJvcmRlci1jb2xvcjogI2RkZDsKLSAgLS1mb290ZXItbGluay1jb2xvcjogIzAyNzdiZDsKLSAgLS1kcmF3ZXItYmFjay1jb2xvcjogI2Y4ZjhmODsKLSAgLS1kcmF3ZXItaG92ZXItYmFjay1jb2xvcjogI2YwZjBmMDsKLSAgLS1kcmF3ZXItYm9yZGVyLWNvbG9yOiAjZGRkOwotICAtLWRyYXdlci1jbG9zZS1jb2xvcjogIzQ0NDsgfQorICAtLWhlYWRlci1iYWNrLWNvbG9yOiAjMDMyMzRiOworICAtLWhlYWRlci1ob3Zlci1iYWNrLWNvbG9yOiAjZmZkMjAwOworICAtLWhlYWRlci1mb3JlLWNvbG9yOiAjZmZmZmZmOworICAtLWhlYWRlci1ib3JkZXItY29sb3I6ICMzY2I0ZTY7CisgIC0tbmF2LWJhY2stY29sb3I6ICNmZmZmZmY7CisgIC0tbmF2LWhvdmVyLWJhY2stY29sb3I6ICNmZmU5N2Y7CisgIC0tbmF2LWZvcmUtY29sb3I6ICNlNjAwN2U7CisgIC0tbmF2LWJvcmRlci1jb2xvcjogIzNjYjRlNjsKKyAgLS1uYXYtbGluay1jb2xvcjogIzNjYjRlNjsKKyAgLS1mb290ZXItZm9yZS1jb2xvcjogI2ZmZmZmZjsKKyAgLS1mb290ZXItYmFjay1jb2xvcjogIzAzMjM0YjsKKyAgLS1mb290ZXItYm9yZGVyLWNvbG9yOiAjM2NiNGU2OworICAtLWZvb3Rlci1saW5rLWNvbG9yOiAjM2NiNGU2OworICAtLWRyYXdlci1iYWNrLWNvbG9yOiAjZmZmZmZmOworICAtLWRyYXdlci1ob3Zlci1iYWNrLWNvbG9yOiAjZmZlOTdmOworICAtLWRyYXdlci1ib3JkZXItY29sb3I6ICMzY2I0ZTY7CisgIC0tZHJhd2VyLWNsb3NlLWNvbG9yOiAjZTYwMDdlOyB9CiAKIGhlYWRlciB7Ci0gIGhlaWdodDogMy4xODc1cmVtOworICBoZWlnaHQ6IDIuNzVyZW07CiAgIGJhY2tncm91bmQ6IHZhcigtLWhlYWRlci1iYWNrLWNvbG9yKTsKICAgY29sb3I6IHZhcigtLWhlYWRlci1mb3JlLWNvbG9yKTsKLSAgYm9yZGVyLWJvdHRvbTogMC4wNjI1cmVtIHNvbGlkIHZhcigtLWhlYWRlci1ib3JkZXItY29sb3IpOworICBib3JkZXItYm90dG9tOiAwLjA3MTQyODU3MTRyZW0gc29saWQgdmFyKC0taGVhZGVyLWJvcmRlci1jb2xvcik7CiAgIHBhZGRpbmc6IGNhbGModmFyKC0tdW5pdmVyc2FsLXBhZGRpbmcpIC8gNCkgMDsKICAgd2hpdGUtc3BhY2U6IG5vd3JhcDsKICAgb3ZlcmZsb3cteDogYXV0bzsKQEAgLTkyNyw3ICs5MjYsNyBAQAogbmF2IHsKICAgYmFja2dyb3VuZDogdmFyKC0tbmF2LWJhY2stY29sb3IpOwogICBjb2xvcjogdmFyKC0tbmF2LWZvcmUtY29sb3IpOwotICBib3JkZXI6IDAuMDYyNXJlbSBzb2xpZCB2YXIoLS1uYXYtYm9yZGVyLWNvbG9yKTsKKyAgYm9yZGVyOiAwLjA3MTQyODU3MTRyZW0gc29saWQgdmFyKC0tbmF2LWJvcmRlci1jb2xvcik7CiAgIGJvcmRlci1yYWRpdXM6IHZhcigtLXVuaXZlcnNhbC1ib3JkZXItcmFkaXVzKTsKICAgbWFyZ2luOiB2YXIoLS11bml2ZXJzYWwtbWFyZ2luKTsgfQogICBuYXYgKiB7CkBAIC05NDYsMTAgKzk0NSwxMCBAQAogICAgIG5hdiAuc3VibGluay0xOmJlZm9yZSB7CiAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICAgICBsZWZ0OiBjYWxjKHZhcigtLXVuaXZlcnNhbC1wYWRkaW5nKSAtIDEgKiB2YXIoLS11bml2ZXJzYWwtcGFkZGluZykpOwotICAgICAgdG9wOiAtMC4wNjI1cmVtOworICAgICAgdG9wOiAtMC4wNzE0Mjg1NzE0cmVtOwogICAgICAgY29udGVudDogJyc7CiAgICAgICBoZWlnaHQ6IDEwMCU7Ci0gICAgICBib3JkZXI6IDAuMDYyNXJlbSBzb2xpZCB2YXIoLS1uYXYtYm9yZGVyLWNvbG9yKTsKKyAgICAgIGJvcmRlcjogMC4wNzE0Mjg1NzE0cmVtIHNvbGlkIHZhcigtLW5hdi1ib3JkZXItY29sb3IpOwogICAgICAgYm9yZGVyLWxlZnQ6IDA7IH0KICAgbmF2IC5zdWJsaW5rLTIgewogICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKQEAgLTk1NywxNiArOTU2LDE2IEBACiAgICAgbmF2IC5zdWJsaW5rLTI6YmVmb3JlIHsKICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgICAgIGxlZnQ6IGNhbGModmFyKC0tdW5pdmVyc2FsLXBhZGRpbmcpIC0gMyAqIHZhcigtLXVuaXZlcnNhbC1wYWRkaW5nKSk7Ci0gICAgICB0b3A6IC0wLjA2MjVyZW07CisgICAgICB0b3A6IC0wLjA3MTQyODU3MTRyZW07CiAgICAgICBjb250ZW50OiAnJzsKICAgICAgIGhlaWdodDogMTAwJTsKLSAgICAgIGJvcmRlcjogMC4wNjI1cmVtIHNvbGlkIHZhcigtLW5hdi1ib3JkZXItY29sb3IpOworICAgICAgYm9yZGVyOiAwLjA3MTQyODU3MTRyZW0gc29saWQgdmFyKC0tbmF2LWJvcmRlci1jb2xvcik7CiAgICAgICBib3JkZXItbGVmdDogMDsgfQogCiBmb290ZXIgewogICBiYWNrZ3JvdW5kOiB2YXIoLS1mb290ZXItYmFjay1jb2xvcik7CiAgIGNvbG9yOiB2YXIoLS1mb290ZXItZm9yZS1jb2xvcik7Ci0gIGJvcmRlci10b3A6IDAuMDYyNXJlbSBzb2xpZCB2YXIoLS1mb290ZXItYm9yZGVyLWNvbG9yKTsKKyAgYm9yZGVyLXRvcDogMC4wNzE0Mjg1NzE0cmVtIHNvbGlkIHZhcigtLWZvb3Rlci1ib3JkZXItY29sb3IpOwogICBwYWRkaW5nOiBjYWxjKDIgKiB2YXIoLS11bml2ZXJzYWwtcGFkZGluZykpIHZhcigtLXVuaXZlcnNhbC1wYWRkaW5nKTsKICAgZm9udC1zaXplOiAwLjg3NXJlbTsgfQogICBmb290ZXIgYSwgZm9vdGVyIGE6dmlzaXRlZCB7CkBAIC0xMDEzLDcgKzEwMTIsNyBAQAogICAgIGhlaWdodDogMTAwdmg7CiAgICAgb3ZlcmZsb3cteTogYXV0bzsKICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1kcmF3ZXItYmFjay1jb2xvcik7Ci0gICAgYm9yZGVyOiAwLjA2MjVyZW0gc29saWQgdmFyKC0tZHJhd2VyLWJvcmRlci1jb2xvcik7CisgICAgYm9yZGVyOiAwLjA3MTQyODU3MTRyZW0gc29saWQgdmFyKC0tZHJhd2VyLWJvcmRlci1jb2xvcik7CiAgICAgYm9yZGVyLXJhZGl1czogMDsKICAgICBtYXJnaW46IDA7CiAgICAgei1pbmRleDogMTExMDsKQEAgLTEwNjAsMzggKzEwNTksMzYgQEAKICovCiAvKiBUYWJsZSBtb2R1bGUgQ1NTIHZhcmlhYmxlIGRlZmluaXRpb25zLiAqLwogOnJvb3QgewotICAtLXRhYmxlLWJvcmRlci1jb2xvcjogI2FhYTsKLSAgLS10YWJsZS1ib3JkZXItc2VwYXJhdG9yLWNvbG9yOiAjNjY2OwotICAtLXRhYmxlLWhlYWQtYmFjay1jb2xvcjogI2U2ZTZlNjsKLSAgLS10YWJsZS1oZWFkLWZvcmUtY29sb3I6ICMxMTE7Ci0gIC0tdGFibGUtYm9keS1iYWNrLWNvbG9yOiAjZjhmOGY4OwotICAtLXRhYmxlLWJvZHktZm9yZS1jb2xvcjogIzExMTsKLSAgLS10YWJsZS1ib2R5LWFsdC1iYWNrLWNvbG9yOiAjZWVlOyB9CisgIC0tdGFibGUtYm9yZGVyLWNvbG9yOiAjMDMyMzRiOworICAtLXRhYmxlLWJvcmRlci1zZXBhcmF0b3ItY29sb3I6ICMwMzIzNGI7CisgIC0tdGFibGUtaGVhZC1iYWNrLWNvbG9yOiAjMDMyMzRiOworICAtLXRhYmxlLWhlYWQtZm9yZS1jb2xvcjogI2ZmZmZmZjsKKyAgLS10YWJsZS1ib2R5LWJhY2stY29sb3I6ICNmZmZmZmY7CisgIC0tdGFibGUtYm9keS1mb3JlLWNvbG9yOiAjMDMyMzRiOworICAtLXRhYmxlLWJvZHktYWx0LWJhY2stY29sb3I6ICNmNGY0ZjQ7IH0KIAogdGFibGUgewogICBib3JkZXItY29sbGFwc2U6IHNlcGFyYXRlOwogICBib3JkZXItc3BhY2luZzogMDsKLSAgOiBtYXJnaW46IGNhbGMoMS41ICogdmFyKC0tdW5pdmVyc2FsLW1hcmdpbikpIHZhcigtLXVuaXZlcnNhbC1tYXJnaW4pOworICBtYXJnaW46IDA7CiAgIGRpc3BsYXk6IGZsZXg7CiAgIGZsZXg6IDAgMSBhdXRvOwogICBmbGV4LWZsb3c6IHJvdyB3cmFwOwogICBwYWRkaW5nOiB2YXIoLS11bml2ZXJzYWwtcGFkZGluZyk7Ci0gIHBhZGRpbmctdG9wOiAwOwotCW1hcmdpbjogY2FsYygxLjUgKiB2YXIoLS11bml2ZXJzYWwtbWFyZ2luKSkgdmFyKC0tdW5pdmVyc2FsLW1hcmdpbik7CX0KKyAgcGFkZGluZy10b3A6IDA7IH0KICAgdGFibGUgY2FwdGlvbiB7Ci0gICAgZm9udC1zaXplOiAxLjI1ICogcmVtOworICAgIGZvbnQtc2l6ZTogMXJlbTsKICAgICBtYXJnaW46IGNhbGMoMiAqIHZhcigtLXVuaXZlcnNhbC1tYXJnaW4pKSAwOwogICAgIG1heC13aWR0aDogMTAwJTsKLSAgICBmbGV4OiAwIDAgMTAwJTsKLQkJdGV4dC1hbGlnbjogbGVmdDt9CisgICAgZmxleDogMCAwIDEwMCU7IH0KICAgdGFibGUgdGhlYWQsIHRhYmxlIHRib2R5IHsKICAgICBkaXNwbGF5OiBmbGV4OwogICAgIGZsZXgtZmxvdzogcm93IHdyYXA7Ci0gICAgYm9yZGVyOiAwLjA2MjVyZW0gc29saWQgdmFyKC0tdGFibGUtYm9yZGVyLWNvbG9yKTsgfQorICAgIGJvcmRlcjogMC4wNzE0Mjg1NzE0cmVtIHNvbGlkIHZhcigtLXRhYmxlLWJvcmRlci1jb2xvcik7IH0KICAgdGFibGUgdGhlYWQgewogICAgIHotaW5kZXg6IDk5OTsKICAgICBib3JkZXItcmFkaXVzOiB2YXIoLS11bml2ZXJzYWwtYm9yZGVyLXJhZGl1cykgdmFyKC0tdW5pdmVyc2FsLWJvcmRlci1yYWRpdXMpIDAgMDsKLSAgICBib3JkZXItYm90dG9tOiAwLjA2MjVyZW0gc29saWQgdmFyKC0tdGFibGUtYm9yZGVyLXNlcGFyYXRvci1jb2xvcik7IH0KKyAgICBib3JkZXItYm90dG9tOiAwLjA3MTQyODU3MTRyZW0gc29saWQgdmFyKC0tdGFibGUtYm9yZGVyLXNlcGFyYXRvci1jb2xvcik7IH0KICAgdGFibGUgdGJvZHkgewogICAgIGJvcmRlci10b3A6IDA7CiAgICAgbWFyZ2luLXRvcDogY2FsYygwIC0gdmFyKC0tdW5pdmVyc2FsLW1hcmdpbikpOwpAQCAtMTEwOSwxMSArMTEwNiwxMSBAQAogICB0YWJsZSB0ZCB7CiAgICAgYmFja2dyb3VuZDogdmFyKC0tdGFibGUtYm9keS1iYWNrLWNvbG9yKTsKICAgICBjb2xvcjogdmFyKC0tdGFibGUtYm9keS1mb3JlLWNvbG9yKTsKLSAgICBib3JkZXItdG9wOiAwLjA2MjVyZW0gc29saWQgdmFyKC0tdGFibGUtYm9yZGVyLWNvbG9yKTsgfQorICAgIGJvcmRlci10b3A6IDAuMDcxNDI4NTcxNHJlbSBzb2xpZCB2YXIoLS10YWJsZS1ib3JkZXItY29sb3IpOyB9CiAKIHRhYmxlOm5vdCguaG9yaXpvbnRhbCkgewogICBvdmVyZmxvdzogYXV0bzsKLSAgbWF4LWhlaWdodDogODUwcHg7IH0KKyAgbWF4LWhlaWdodDogMTAwJTsgfQogICB0YWJsZTpub3QoLmhvcml6b250YWwpIHRoZWFkLCB0YWJsZTpub3QoLmhvcml6b250YWwpIHRib2R5IHsKICAgICBtYXgtd2lkdGg6IDEwMCU7CiAgICAgZmxleDogMCAwIDEwMCU7IH0KQEAgLTExMzQsMzIgKzExMzEsMzMgQEAKICAgYm9yZGVyOiAwOyB9CiAgIHRhYmxlLmhvcml6b250YWwgdGhlYWQsIHRhYmxlLmhvcml6b250YWwgdGJvZHkgewogICAgIGJvcmRlcjogMDsKKyAgICBmbGV4OiAuMiAwIDA7CiAgICAgZmxleC1mbG93OiByb3cgbm93cmFwOyB9CiAgIHRhYmxlLmhvcml6b250YWwgdGJvZHkgewogICAgIG92ZXJmbG93OiBhdXRvOwogICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjsKLSAgICBmbGV4OiAxIDAgMDsKLSAgICBtYXJnaW4tbGVmdDogY2FsYyggNCAqIHZhcigtLXVuaXZlcnNhbC1tYXJnaW4pKTsKKyAgICBmbGV4OiAuOCAwIDA7CisgICAgbWFyZ2luLWxlZnQ6IDA7CiAgICAgcGFkZGluZy1ib3R0b206IGNhbGModmFyKC0tdW5pdmVyc2FsLXBhZGRpbmcpIC8gNCk7IH0KICAgdGFibGUuaG9yaXpvbnRhbCB0ciB7CiAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsKICAgICBmbGV4OiAxIDAgYXV0bzsgfQogICB0YWJsZS5ob3Jpem9udGFsIHRoLCB0YWJsZS5ob3Jpem9udGFsIHRkIHsKLSAgICB3aWR0aDogMTAwJTsKKyAgICB3aWR0aDogYXV0bzsKICAgICBib3JkZXI6IDA7Ci0gICAgYm9yZGVyLWJvdHRvbTogMC4wNjI1cmVtIHNvbGlkIHZhcigtLXRhYmxlLWJvcmRlci1jb2xvcik7IH0KKyAgICBib3JkZXItYm90dG9tOiAwLjA3MTQyODU3MTRyZW0gc29saWQgdmFyKC0tdGFibGUtYm9yZGVyLWNvbG9yKTsgfQogICAgIHRhYmxlLmhvcml6b250YWwgdGg6bm90KDpmaXJzdC1jaGlsZCksIHRhYmxlLmhvcml6b250YWwgdGQ6bm90KDpmaXJzdC1jaGlsZCkgewogICAgICAgYm9yZGVyLXRvcDogMDsgfQogICB0YWJsZS5ob3Jpem9udGFsIHRoIHsKICAgICB0ZXh0LWFsaWduOiByaWdodDsKLSAgICBib3JkZXItbGVmdDogMC4wNjI1cmVtIHNvbGlkIHZhcigtLXRhYmxlLWJvcmRlci1jb2xvcik7Ci0gICAgYm9yZGVyLXJpZ2h0OiAwLjA2MjVyZW0gc29saWQgdmFyKC0tdGFibGUtYm9yZGVyLXNlcGFyYXRvci1jb2xvcik7IH0KKyAgICBib3JkZXItbGVmdDogMC4wNzE0Mjg1NzE0cmVtIHNvbGlkIHZhcigtLXRhYmxlLWJvcmRlci1jb2xvcik7CisgICAgYm9yZGVyLXJpZ2h0OiAwLjA3MTQyODU3MTRyZW0gc29saWQgdmFyKC0tdGFibGUtYm9yZGVyLXNlcGFyYXRvci1jb2xvcik7IH0KICAgdGFibGUuaG9yaXpvbnRhbCB0aGVhZCB0cjpmaXJzdC1jaGlsZCB7CiAgICAgcGFkZGluZy1sZWZ0OiAwOyB9CiAgIHRhYmxlLmhvcml6b250YWwgdGg6Zmlyc3QtY2hpbGQsIHRhYmxlLmhvcml6b250YWwgdGQ6Zmlyc3QtY2hpbGQgewotICAgIGJvcmRlci10b3A6IDAuMDYyNXJlbSBzb2xpZCB2YXIoLS10YWJsZS1ib3JkZXItY29sb3IpOyB9CisgICAgYm9yZGVyLXRvcDogMC4wNzE0Mjg1NzE0cmVtIHNvbGlkIHZhcigtLXRhYmxlLWJvcmRlci1jb2xvcik7IH0KICAgdGFibGUuaG9yaXpvbnRhbCB0Ym9keSB0cjpsYXN0LWNoaWxkIHRkIHsKLSAgICBib3JkZXItcmlnaHQ6IDAuMDYyNXJlbSBzb2xpZCB2YXIoLS10YWJsZS1ib3JkZXItY29sb3IpOyB9CisgICAgYm9yZGVyLXJpZ2h0OiAwLjA3MTQyODU3MTRyZW0gc29saWQgdmFyKC0tdGFibGUtYm9yZGVyLWNvbG9yKTsgfQogICAgIHRhYmxlLmhvcml6b250YWwgdGJvZHkgdHI6bGFzdC1jaGlsZCB0ZDpmaXJzdC1jaGlsZCB7CiAgICAgICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogMC4yNXJlbTsgfQogICAgIHRhYmxlLmhvcml6b250YWwgdGJvZHkgdHI6bGFzdC1jaGlsZCB0ZDpsYXN0LWNoaWxkIHsKQEAgLTExOTEsMTIgKzExODksMTIgQEAKICAgICAgIGRpc3BsYXk6IHRhYmxlLXJvdy1ncm91cDsgfQogICAgIHRhYmxlIHRyLCB0YWJsZS5ob3Jpem9udGFsIHRyIHsKICAgICAgIGRpc3BsYXk6IGJsb2NrOwotICAgICAgYm9yZGVyOiAwLjA2MjVyZW0gc29saWQgdmFyKC0tdGFibGUtYm9yZGVyLWNvbG9yKTsKKyAgICAgIGJvcmRlcjogMC4wNzE0Mjg1NzE0cmVtIHNvbGlkIHZhcigtLXRhYmxlLWJvcmRlci1jb2xvcik7CiAgICAgICBib3JkZXItcmFkaXVzOiB2YXIoLS11bml2ZXJzYWwtYm9yZGVyLXJhZGl1cyk7Ci0gICAgICBiYWNrZ3JvdW5kOiAjZmFmYWZhOworICAgICAgYmFja2dyb3VuZDogI2ZmZmZmZjsKICAgICAgIHBhZGRpbmc6IHZhcigtLXVuaXZlcnNhbC1wYWRkaW5nKTsKICAgICAgIG1hcmdpbjogdmFyKC0tdW5pdmVyc2FsLW1hcmdpbik7Ci0gICAgICBtYXJnaW4tYm90dG9tOiBjYWxjKDIgKiB2YXIoLS11bml2ZXJzYWwtbWFyZ2luKSk7IH0KKyAgICAgIG1hcmdpbi1ib3R0b206IGNhbGMoMSAqIHZhcigtLXVuaXZlcnNhbC1tYXJnaW4pKTsgfQogICAgIHRhYmxlIHRoLCB0YWJsZSB0ZCwgdGFibGUuaG9yaXpvbnRhbCB0aCwgdGFibGUuaG9yaXpvbnRhbCB0ZCB7CiAgICAgICB3aWR0aDogYXV0bzsgfQogICAgIHRhYmxlIHRkLCB0YWJsZS5ob3Jpem9udGFsIHRkIHsKQEAgLTEyMTEsOSArMTIwOSw2IEBACiAgICAgICBib3JkZXItdG9wOiAwOyB9CiAgICAgdGFibGUgdGJvZHkgdHI6bGFzdC1jaGlsZCB0ZCwgdGFibGUuaG9yaXpvbnRhbCB0Ym9keSB0cjpsYXN0LWNoaWxkIHRkIHsKICAgICAgIGJvcmRlci1yaWdodDogMDsgfSB9Ci06cm9vdCB7Ci0gIC0tdGFibGUtYm9keS1hbHQtYmFjay1jb2xvcjogI2VlZTsgfQotCiB0YWJsZSB0cjpudGgtb2YtdHlwZSgybikgPiB0ZCB7CiAgIGJhY2tncm91bmQ6IHZhcigtLXRhYmxlLWJvZHktYWx0LWJhY2stY29sb3IpOyB9CiAKQEAgLTEyMzQsOCArMTIyOSw4IEBACiAqLwogLyogQ29udGV4dHVhbCBtb2R1bGUgQ1NTIHZhcmlhYmxlIGRlZmluaXRpb25zICovCiA6cm9vdCB7Ci0gIC0tbWFyay1iYWNrLWNvbG9yOiAjMDI3N2JkOwotICAtLW1hcmstZm9yZS1jb2xvcjogI2ZhZmFmYTsgfQorICAtLW1hcmstYmFjay1jb2xvcjogIzNjYjRlNjsKKyAgLS1tYXJrLWZvcmUtY29sb3I6ICNmZmZmZmY7IH0KIAogbWFyayB7CiAgIGJhY2tncm91bmQ6IHZhcigtLW1hcmstYmFjay1jb2xvcik7CkBAIC0xMjQzLDExICsxMjM4LDExIEBACiAgIGZvbnQtc2l6ZTogMC45NWVtOwogICBsaW5lLWhlaWdodDogMWVtOwogICBib3JkZXItcmFkaXVzOiB2YXIoLS11bml2ZXJzYWwtYm9yZGVyLXJhZGl1cyk7Ci0gIHBhZGRpbmc6IGNhbGModmFyKC0tdW5pdmVyc2FsLXBhZGRpbmcpIC8gNCkgY2FsYyh2YXIoLS11bml2ZXJzYWwtcGFkZGluZykgLyAyKTsgfQorICBwYWRkaW5nOiBjYWxjKHZhcigtLXVuaXZlcnNhbC1wYWRkaW5nKSAvIDQpIHZhcigtLXVuaXZlcnNhbC1wYWRkaW5nKTsgfQogICBtYXJrLmlubGluZS1ibG9jayB7CiAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrOwogICAgIGZvbnQtc2l6ZTogMWVtOwotICAgIGxpbmUtaGVpZ2h0OiAxLjU7CisgICAgbGluZS1oZWlnaHQ6IDEuNDsKICAgICBwYWRkaW5nOiBjYWxjKHZhcigtLXVuaXZlcnNhbC1wYWRkaW5nKSAvIDIpIHZhcigtLXVuaXZlcnNhbC1wYWRkaW5nKTsgfQogCiA6cm9vdCB7CkBAIC0xMzE0LDggKzEzMDksOCBAQAogCiA6cm9vdCB7CiAgIC0tbW9kYWwtb3ZlcmxheS1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjQ1KTsKLSAgLS1tb2RhbC1jbG9zZS1jb2xvcjogIzQ0NDsKLSAgLS1tb2RhbC1jbG9zZS1ob3Zlci1jb2xvcjogI2YwZjBmMDsgfQorICAtLW1vZGFsLWNsb3NlLWNvbG9yOiAjZTYwMDdlOworICAtLW1vZGFsLWNsb3NlLWhvdmVyLWNvbG9yOiAjZmZlOTdmOyB9CiAKIFt0eXBlPSJjaGVja2JveCJdLm1vZGFsIHsKICAgaGVpZ2h0OiAxcHg7CkBAIC0xMzY4LDEzICsxMzYzLDE0IEBACiAgICAgICB6LWluZGV4OiAxMjExOyB9CiAKIDpyb290IHsKLSAgLS1jb2xsYXBzZS1sYWJlbC1iYWNrLWNvbG9yOiAjZThlOGU4OwotICAtLWNvbGxhcHNlLWxhYmVsLWZvcmUtY29sb3I6ICMyMTIxMjE7Ci0gIC0tY29sbGFwc2UtbGFiZWwtaG92ZXItYmFjay1jb2xvcjogI2YwZjBmMDsKLSAgLS1jb2xsYXBzZS1zZWxlY3RlZC1sYWJlbC1iYWNrLWNvbG9yOiAjZWNlY2VjOwotICAtLWNvbGxhcHNlLWJvcmRlci1jb2xvcjogI2RkZDsKLSAgLS1jb2xsYXBzZS1jb250ZW50LWJhY2stY29sb3I6ICNmYWZhZmE7Ci0gIC0tY29sbGFwc2Utc2VsZWN0ZWQtbGFiZWwtYm9yZGVyLWNvbG9yOiAjMDI3N2JkOyB9CisgIC0tY29sbGFwc2UtbGFiZWwtYmFjay1jb2xvcjogIzAzMjM0YjsKKyAgLS1jb2xsYXBzZS1sYWJlbC1mb3JlLWNvbG9yOiAjZmZmZmZmOworICAtLWNvbGxhcHNlLWxhYmVsLWhvdmVyLWJhY2stY29sb3I6ICMzY2I0ZTY7CisgIC0tY29sbGFwc2Utc2VsZWN0ZWQtbGFiZWwtYmFjay1jb2xvcjogIzNjYjRlNjsKKyAgLS1jb2xsYXBzZS1ib3JkZXItY29sb3I6IHZhcigtLWNvbGxhcHNlLWxhYmVsLWJhY2stY29sb3IpOworICAtLWNvbGxhcHNlLXNlbGVjdGVkLWJvcmRlci1jb2xvcjogI2NlZWNmODsKKyAgLS1jb2xsYXBzZS1jb250ZW50LWJhY2stY29sb3I6ICNmZmZmZmY7CisgIC0tY29sbGFwc2Utc2VsZWN0ZWQtbGFiZWwtYm9yZGVyLWNvbG9yOiAjM2NiNGU2OyB9CiAKIC5jb2xsYXBzZSB7CiAgIHdpZHRoOiBjYWxjKDEwMCUgLSAyICogdmFyKC0tdW5pdmVyc2FsLW1hcmdpbikpOwpAQCAtMTM5NSwxMyArMTM5MSwxMyBAQAogICAuY29sbGFwc2UgPiBsYWJlbCB7CiAgICAgZmxleC1ncm93OiAxOwogICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsKLSAgICBoZWlnaHQ6IDEuNXJlbTsKKyAgICBoZWlnaHQ6IDEuMjVyZW07CiAgICAgY3Vyc29yOiBwb2ludGVyOwotICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQgMC4zczsKKyAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kIDAuMnM7CiAgICAgY29sb3I6IHZhcigtLWNvbGxhcHNlLWxhYmVsLWZvcmUtY29sb3IpOwogICAgIGJhY2tncm91bmQ6IHZhcigtLWNvbGxhcHNlLWxhYmVsLWJhY2stY29sb3IpOwotICAgIGJvcmRlcjogMC4wNjI1cmVtIHNvbGlkIHZhcigtLWNvbGxhcHNlLWJvcmRlci1jb2xvcik7Ci0gICAgcGFkZGluZzogY2FsYygxLjUgKiB2YXIoLS11bml2ZXJzYWwtcGFkZGluZykpOyB9CisgICAgYm9yZGVyOiAwLjA3MTQyODU3MTRyZW0gc29saWQgdmFyKC0tY29sbGFwc2Utc2VsZWN0ZWQtYm9yZGVyLWNvbG9yKTsKKyAgICBwYWRkaW5nOiBjYWxjKDEuMjUgKiB2YXIoLS11bml2ZXJzYWwtcGFkZGluZykpOyB9CiAgICAgLmNvbGxhcHNlID4gbGFiZWw6aG92ZXIsIC5jb2xsYXBzZSA+IGxhYmVsOmZvY3VzIHsKICAgICAgIGJhY2tncm91bmQ6IHZhcigtLWNvbGxhcHNlLWxhYmVsLWhvdmVyLWJhY2stY29sb3IpOyB9CiAgICAgLmNvbGxhcHNlID4gbGFiZWwgKyBkaXYgewpAQCAtMTQxOCw3ICsxNDE0LDcgQEAKICAgICAgIG1heC1oZWlnaHQ6IDFweDsgfQogICAuY29sbGFwc2UgPiA6Y2hlY2tlZCArIGxhYmVsIHsKICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xsYXBzZS1zZWxlY3RlZC1sYWJlbC1iYWNrLWNvbG9yKTsKLSAgICBib3JkZXItYm90dG9tLWNvbG9yOiB2YXIoLS1jb2xsYXBzZS1zZWxlY3RlZC1sYWJlbC1ib3JkZXItY29sb3IpOyB9CisgICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1jb2xsYXBzZS1zZWxlY3RlZC1sYWJlbC1ib3JkZXItY29sb3IpOyB9CiAgICAgLmNvbGxhcHNlID4gOmNoZWNrZWQgKyBsYWJlbCArIGRpdiB7CiAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94OwogICAgICAgcG9zaXRpb246IHJlbGF0aXZlOwpAQCAtMTQyNywxMyArMTQyMywxMyBAQAogICAgICAgb3ZlcmZsb3c6IGF1dG87CiAgICAgICBtYXJnaW46IDA7CiAgICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xsYXBzZS1jb250ZW50LWJhY2stY29sb3IpOwotICAgICAgYm9yZGVyOiAwLjA2MjVyZW0gc29saWQgdmFyKC0tY29sbGFwc2UtYm9yZGVyLWNvbG9yKTsKKyAgICAgIGJvcmRlcjogMC4wNzE0Mjg1NzE0cmVtIHNvbGlkIHZhcigtLWNvbGxhcHNlLXNlbGVjdGVkLWJvcmRlci1jb2xvcik7CiAgICAgICBib3JkZXItdG9wOiAwOwogICAgICAgcGFkZGluZzogdmFyKC0tdW5pdmVyc2FsLXBhZGRpbmcpOwogICAgICAgY2xpcDogYXV0bzsKICAgICAgIC13ZWJraXQtY2xpcC1wYXRoOiBpbnNldCgwJSk7CiAgICAgICBjbGlwLXBhdGg6IGluc2V0KDAlKTsKLSAgICAgIG1heC1oZWlnaHQ6IDg1MHB4OyB9CisgICAgICBtYXgtaGVpZ2h0OiAxMDAlOyB9CiAgIC5jb2xsYXBzZSA+IGxhYmVsOm5vdCg6Zmlyc3Qtb2YtdHlwZSkgewogICAgIGJvcmRlci10b3A6IDA7IH0KICAgLmNvbGxhcHNlID4gbGFiZWw6Zmlyc3Qtb2YtdHlwZSB7CkBAIC0xNDUwLDExICsxNDQ2LDggQEAKIC8qCiAgIEN1c3RvbSBlbGVtZW50cyBmb3IgY29udGV4dHVhbCBiYWNrZ3JvdW5kIGVsZW1lbnRzLCB0b2FzdHMgYW5kIHRvb2x0aXBzLgogKi8KLW1hcmsuc2Vjb25kYXJ5IHsKLSAgLS1tYXJrLWJhY2stY29sb3I6ICNkMzJmMmY7IH0KLQogbWFyay50ZXJ0aWFyeSB7Ci0gIC0tbWFyay1iYWNrLWNvbG9yOiAjMzA4NzMyOyB9CisgIC0tbWFyay1iYWNrLWNvbG9yOiAjM2NiNGU2OyB9CiAKIG1hcmsudGFnIHsKICAgcGFkZGluZzogY2FsYyh2YXIoLS11bml2ZXJzYWwtcGFkZGluZykvMikgdmFyKC0tdW5pdmVyc2FsLXBhZGRpbmcpOwpAQCAtMTQ2Myw5ICsxNDU2LDkgQEAKIC8qCiAgIERlZmluaXRpb25zIGZvciBwcm9ncmVzcyBlbGVtZW50cyBhbmQgc3Bpbm5lcnMuCiAqLwotLyogUHJvZ2VzcyBtb2R1bGUgQ1NTIHZhcmlhYmxlIGRlZmluaXRpb25zICovCisvKiBQcm9ncmVzcyBtb2R1bGUgQ1NTIHZhcmlhYmxlIGRlZmluaXRpb25zICovCiA6cm9vdCB7Ci0gIC0tcHJvZ3Jlc3MtYmFjay1jb2xvcjogI2RkZDsKKyAgLS1wcm9ncmVzcy1iYWNrLWNvbG9yOiAjM2NiNGU2OwogICAtLXByb2dyZXNzLWZvcmUtY29sb3I6ICM1NTU7IH0KIAogcHJvZ3Jlc3MgewpAQCAtMTU1OCw0NSArMTU1MSw0NSBAQAogICAgIGZpbHRlcjogaW52ZXJ0KDEwMCUpOyB9CiAKIHNwYW4uaWNvbi1hbGVydCB7Ci0gIGJhY2tncm91bmQtaW1hZ2U6IHVybCgiZGF0YTppbWFnZS9zdmcreG1sLCUzQ3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHdpZHRoPScyNCcgaGVpZ2h0PScyNCcgdmlld0JveD0nMCAwIDI0IDI0JyBmaWxsPSdub25lJyBzdHJva2U9JyUyMzExMScgc3Ryb2tlLXdpZHRoPScyJyBzdHJva2UtbGluZWNhcD0ncm91bmQnIHN0cm9rZS1saW5lam9pbj0ncm91bmQnJTNFJTNDY2lyY2xlIGN4PScxMicgY3k9JzEyJyByPScxMCclM0UlM0MvY2lyY2xlJTNFJTNDbGluZSB4MT0nMTInIHkxPSc4JyB4Mj0nMTInIHkyPScxMiclM0UlM0MvbGluZSUzRSUzQ2xpbmUgeDE9JzEyJyB5MT0nMTYnIHgyPScxMicgeTI9JzE2JyUzRSUzQy9saW5lJTNFJTNDL3N2ZyUzRSIpOyB9CisgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgiZGF0YTppbWFnZS9zdmcreG1sLCUzQ3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHdpZHRoPScyNCcgaGVpZ2h0PScyNCcgdmlld0JveD0nMCAwIDI0IDI0JyBmaWxsPSdub25lJyBzdHJva2U9JyUyMzAzMjM0Yicgc3Ryb2tlLXdpZHRoPScyJyBzdHJva2UtbGluZWNhcD0ncm91bmQnIHN0cm9rZS1saW5lam9pbj0ncm91bmQnJTNFJTNDY2lyY2xlIGN4PScxMicgY3k9JzEyJyByPScxMCclM0UlM0MvY2lyY2xlJTNFJTNDbGluZSB4MT0nMTInIHkxPSc4JyB4Mj0nMTInIHkyPScxMiclM0UlM0MvbGluZSUzRSUzQ2xpbmUgeDE9JzEyJyB5MT0nMTYnIHgyPScxMicgeTI9JzE2JyUzRSUzQy9saW5lJTNFJTNDL3N2ZyUzRSIpOyB9CiBzcGFuLmljb24tYm9va21hcmsgewotICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoImRhdGE6aW1hZ2Uvc3ZnK3htbCwlM0NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB3aWR0aD0nMjQnIGhlaWdodD0nMjQnIHZpZXdCb3g9JzAgMCAyNCAyNCcgZmlsbD0nbm9uZScgc3Ryb2tlPSclMjMxMTEnIHN0cm9rZS13aWR0aD0nMicgc3Ryb2tlLWxpbmVjYXA9J3JvdW5kJyBzdHJva2UtbGluZWpvaW49J3JvdW5kJyUzRSUzQ3BhdGggZD0nTTE5IDIxbC03LTUtNyA1VjVhMiAyIDAgMCAxIDItMmgxMGEyIDIgMCAwIDEgMiAyeiclM0UlM0MvcGF0aCUzRSUzQy9zdmclM0UiKTsgfQorICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoImRhdGE6aW1hZ2Uvc3ZnK3htbCwlM0NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB3aWR0aD0nMjQnIGhlaWdodD0nMjQnIHZpZXdCb3g9JzAgMCAyNCAyNCcgZmlsbD0nbm9uZScgc3Ryb2tlPSclMjMwMzIzNGInIHN0cm9rZS13aWR0aD0nMicgc3Ryb2tlLWxpbmVjYXA9J3JvdW5kJyBzdHJva2UtbGluZWpvaW49J3JvdW5kJyUzRSUzQ3BhdGggZD0nTTE5IDIxbC03LTUtNyA1VjVhMiAyIDAgMCAxIDItMmgxMGEyIDIgMCAwIDEgMiAyeiclM0UlM0MvcGF0aCUzRSUzQy9zdmclM0UiKTsgfQogc3Bhbi5pY29uLWNhbGVuZGFyIHsKLSAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCJkYXRhOmltYWdlL3N2Zyt4bWwsJTNDc3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgd2lkdGg9JzI0JyBoZWlnaHQ9JzI0JyB2aWV3Qm94PScwIDAgMjQgMjQnIGZpbGw9J25vbmUnIHN0cm9rZT0nJTIzMTExJyBzdHJva2Utd2lkdGg9JzInIHN0cm9rZS1saW5lY2FwPSdyb3VuZCcgc3Ryb2tlLWxpbmVqb2luPSdyb3VuZCclM0UlM0NyZWN0IHg9JzMnIHk9JzQnIHdpZHRoPScxOCcgaGVpZ2h0PScxOCcgcng9JzInIHJ5PScyJyUzRSUzQy9yZWN0JTNFJTNDbGluZSB4MT0nMTYnIHkxPScyJyB4Mj0nMTYnIHkyPSc2JyUzRSUzQy9saW5lJTNFJTNDbGluZSB4MT0nOCcgeTE9JzInIHgyPSc4JyB5Mj0nNiclM0UlM0MvbGluZSUzRSUzQ2xpbmUgeDE9JzMnIHkxPScxMCcgeDI9JzIxJyB5Mj0nMTAnJTNFJTNDL2xpbmUlM0UlM0Mvc3ZnJTNFIik7IH0KKyAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCJkYXRhOmltYWdlL3N2Zyt4bWwsJTNDc3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgd2lkdGg9JzI0JyBoZWlnaHQ9JzI0JyB2aWV3Qm94PScwIDAgMjQgMjQnIGZpbGw9J25vbmUnIHN0cm9rZT0nJTIzMDMyMzRiJyBzdHJva2Utd2lkdGg9JzInIHN0cm9rZS1saW5lY2FwPSdyb3VuZCcgc3Ryb2tlLWxpbmVqb2luPSdyb3VuZCclM0UlM0NyZWN0IHg9JzMnIHk9JzQnIHdpZHRoPScxOCcgaGVpZ2h0PScxOCcgcng9JzInIHJ5PScyJyUzRSUzQy9yZWN0JTNFJTNDbGluZSB4MT0nMTYnIHkxPScyJyB4Mj0nMTYnIHkyPSc2JyUzRSUzQy9saW5lJTNFJTNDbGluZSB4MT0nOCcgeTE9JzInIHgyPSc4JyB5Mj0nNiclM0UlM0MvbGluZSUzRSUzQ2xpbmUgeDE9JzMnIHkxPScxMCcgeDI9JzIxJyB5Mj0nMTAnJTNFJTNDL2xpbmUlM0UlM0Mvc3ZnJTNFIik7IH0KIHNwYW4uaWNvbi1jcmVkaXQgewotICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoImRhdGE6aW1hZ2Uvc3ZnK3htbCwlM0NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB3aWR0aD0nMjQnIGhlaWdodD0nMjQnIHZpZXdCb3g9JzAgMCAyNCAyNCcgZmlsbD0nbm9uZScgc3Ryb2tlPSclMjMxMTEnIHN0cm9rZS13aWR0aD0nMicgc3Ryb2tlLWxpbmVjYXA9J3JvdW5kJyBzdHJva2UtbGluZWpvaW49J3JvdW5kJyUzRSUzQ3JlY3QgeD0nMScgeT0nNCcgd2lkdGg9JzIyJyBoZWlnaHQ9JzE2JyByeD0nMicgcnk9JzInJTNFJTNDL3JlY3QlM0UlM0NsaW5lIHgxPScxJyB5MT0nMTAnIHgyPScyMycgeTI9JzEwJyUzRSUzQy9saW5lJTNFJTNDL3N2ZyUzRSIpOyB9CisgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgiZGF0YTppbWFnZS9zdmcreG1sLCUzQ3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHdpZHRoPScyNCcgaGVpZ2h0PScyNCcgdmlld0JveD0nMCAwIDI0IDI0JyBmaWxsPSdub25lJyBzdHJva2U9JyUyMzAzMjM0Yicgc3Ryb2tlLXdpZHRoPScyJyBzdHJva2UtbGluZWNhcD0ncm91bmQnIHN0cm9rZS1saW5lam9pbj0ncm91bmQnJTNFJTNDcmVjdCB4PScxJyB5PSc0JyB3aWR0aD0nMjInIGhlaWdodD0nMTYnIHJ4PScyJyByeT0nMiclM0UlM0MvcmVjdCUzRSUzQ2xpbmUgeDE9JzEnIHkxPScxMCcgeDI9JzIzJyB5Mj0nMTAnJTNFJTNDL2xpbmUlM0UlM0Mvc3ZnJTNFIik7IH0KIHNwYW4uaWNvbi1lZGl0IHsKLSAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCJkYXRhOmltYWdlL3N2Zyt4bWwsJTNDc3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgd2lkdGg9JzI0JyBoZWlnaHQ9JzI0JyB2aWV3Qm94PScwIDAgMjQgMjQnIGZpbGw9J25vbmUnIHN0cm9rZT0nJTIzMTExJyBzdHJva2Utd2lkdGg9JzInIHN0cm9rZS1saW5lY2FwPSdyb3VuZCcgc3Ryb2tlLWxpbmVqb2luPSdyb3VuZCclM0UlM0NwYXRoIGQ9J00yMCAxNC42NlYyMGEyIDIgMCAwIDEtMiAySDRhMiAyIDAgMCAxLTItMlY2YTIgMiAwIDAgMSAyLTJoNS4zNCclM0UlM0MvcGF0aCUzRSUzQ3BvbHlnb24gcG9pbnRzPScxOCAyIDIyIDYgMTIgMTYgOCAxNiA4IDEyIDE4IDInJTNFJTNDL3BvbHlnb24lM0UlM0Mvc3ZnJTNFIik7IH0KKyAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCJkYXRhOmltYWdlL3N2Zyt4bWwsJTNDc3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgd2lkdGg9JzI0JyBoZWlnaHQ9JzI0JyB2aWV3Qm94PScwIDAgMjQgMjQnIGZpbGw9J25vbmUnIHN0cm9rZT0nJTIzMDMyMzRiJyBzdHJva2Utd2lkdGg9JzInIHN0cm9rZS1saW5lY2FwPSdyb3VuZCcgc3Ryb2tlLWxpbmVqb2luPSdyb3VuZCclM0UlM0NwYXRoIGQ9J00yMCAxNC42NlYyMGEyIDIgMCAwIDEtMiAySDRhMiAyIDAgMCAxLTItMlY2YTIgMiAwIDAgMSAyLTJoNS4zNCclM0UlM0MvcGF0aCUzRSUzQ3BvbHlnb24gcG9pbnRzPScxOCAyIDIyIDYgMTIgMTYgOCAxNiA4IDEyIDE4IDInJTNFJTNDL3BvbHlnb24lM0UlM0Mvc3ZnJTNFIik7IH0KIHNwYW4uaWNvbi1saW5rIHsKLSAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCJkYXRhOmltYWdlL3N2Zyt4bWwsJTNDc3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgd2lkdGg9JzI0JyBoZWlnaHQ9JzI0JyB2aWV3Qm94PScwIDAgMjQgMjQnIGZpbGw9J25vbmUnIHN0cm9rZT0nJTIzMTExJyBzdHJva2Utd2lkdGg9JzInIHN0cm9rZS1saW5lY2FwPSdyb3VuZCcgc3Ryb2tlLWxpbmVqb2luPSdyb3VuZCclM0UlM0NwYXRoIGQ9J00xOCAxM3Y2YTIgMiAwIDAgMS0yIDJINWEyIDIgMCAwIDEtMi0yVjhhMiAyIDAgMCAxIDItMmg2JyUzRSUzQy9wYXRoJTNFJTNDcG9seWxpbmUgcG9pbnRzPScxNSAzIDIxIDMgMjEgOSclM0UlM0MvcG9seWxpbmUlM0UlM0NsaW5lIHgxPScxMCcgeTE9JzE0JyB4Mj0nMjEnIHkyPSczJyUzRSUzQy9saW5lJTNFJTNDL3N2ZyUzRSIpOyB9CisgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgiZGF0YTppbWFnZS9zdmcreG1sLCUzQ3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHdpZHRoPScyNCcgaGVpZ2h0PScyNCcgdmlld0JveD0nMCAwIDI0IDI0JyBmaWxsPSdub25lJyBzdHJva2U9JyUyMzAzMjM0Yicgc3Ryb2tlLXdpZHRoPScyJyBzdHJva2UtbGluZWNhcD0ncm91bmQnIHN0cm9rZS1saW5lam9pbj0ncm91bmQnJTNFJTNDcGF0aCBkPSdNMTggMTN2NmEyIDIgMCAwIDEtMiAySDVhMiAyIDAgMCAxLTItMlY4YTIgMiAwIDAgMSAyLTJoNiclM0UlM0MvcGF0aCUzRSUzQ3BvbHlsaW5lIHBvaW50cz0nMTUgMyAyMSAzIDIxIDknJTNFJTNDL3BvbHlsaW5lJTNFJTNDbGluZSB4MT0nMTAnIHkxPScxNCcgeDI9JzIxJyB5Mj0nMyclM0UlM0MvbGluZSUzRSUzQy9zdmclM0UiKTsgfQogc3Bhbi5pY29uLWhlbHAgewotICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoImRhdGE6aW1hZ2Uvc3ZnK3htbCwlM0NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB3aWR0aD0nMjQnIGhlaWdodD0nMjQnIHZpZXdCb3g9JzAgMCAyNCAyNCcgZmlsbD0nbm9uZScgc3Ryb2tlPSclMjMxMTEnIHN0cm9rZS13aWR0aD0nMicgc3Ryb2tlLWxpbmVjYXA9J3JvdW5kJyBzdHJva2UtbGluZWpvaW49J3JvdW5kJyUzRSUzQ3BhdGggZD0nTTkuMDkgOWEzIDMgMCAwIDEgNS44MyAxYzAgMi0zIDMtMyAzJyUzRSUzQy9wYXRoJTNFJTNDY2lyY2xlIGN4PScxMicgY3k9JzEyJyByPScxMCclM0UlM0MvY2lyY2xlJTNFJTNDbGluZSB4MT0nMTInIHkxPScxNycgeDI9JzEyJyB5Mj0nMTcnJTNFJTNDL2xpbmUlM0UlM0Mvc3ZnJTNFIik7IH0KKyAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCJkYXRhOmltYWdlL3N2Zyt4bWwsJTNDc3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgd2lkdGg9JzI0JyBoZWlnaHQ9JzI0JyB2aWV3Qm94PScwIDAgMjQgMjQnIGZpbGw9J25vbmUnIHN0cm9rZT0nJTIzMDMyMzRiJyBzdHJva2Utd2lkdGg9JzInIHN0cm9rZS1saW5lY2FwPSdyb3VuZCcgc3Ryb2tlLWxpbmVqb2luPSdyb3VuZCclM0UlM0NwYXRoIGQ9J005LjA5IDlhMyAzIDAgMCAxIDUuODMgMWMwIDItMyAzLTMgMyclM0UlM0MvcGF0aCUzRSUzQ2NpcmNsZSBjeD0nMTInIGN5PScxMicgcj0nMTAnJTNFJTNDL2NpcmNsZSUzRSUzQ2xpbmUgeDE9JzEyJyB5MT0nMTcnIHgyPScxMicgeTI9JzE3JyUzRSUzQy9saW5lJTNFJTNDL3N2ZyUzRSIpOyB9CiBzcGFuLmljb24taG9tZSB7Ci0gIGJhY2tncm91bmQtaW1hZ2U6IHVybCgiZGF0YTppbWFnZS9zdmcreG1sLCUzQ3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHdpZHRoPScyNCcgaGVpZ2h0PScyNCcgdmlld0JveD0nMCAwIDI0IDI0JyBmaWxsPSdub25lJyBzdHJva2U9JyUyMzExMScgc3Ryb2tlLXdpZHRoPScyJyBzdHJva2UtbGluZWNhcD0ncm91bmQnIHN0cm9rZS1saW5lam9pbj0ncm91bmQnJTNFJTNDcGF0aCBkPSdNMyA5bDktNyA5IDd2MTFhMiAyIDAgMCAxLTIgMkg1YTIgMiAwIDAgMS0yLTJ6JyUzRSUzQy9wYXRoJTNFJTNDcG9seWxpbmUgcG9pbnRzPSc5IDIyIDkgMTIgMTUgMTIgMTUgMjInJTNFJTNDL3BvbHlsaW5lJTNFJTNDL3N2ZyUzRSIpOyB9CisgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgiZGF0YTppbWFnZS9zdmcreG1sLCUzQ3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHdpZHRoPScyNCcgaGVpZ2h0PScyNCcgdmlld0JveD0nMCAwIDI0IDI0JyBmaWxsPSdub25lJyBzdHJva2U9JyUyMzAzMjM0Yicgc3Ryb2tlLXdpZHRoPScyJyBzdHJva2UtbGluZWNhcD0ncm91bmQnIHN0cm9rZS1saW5lam9pbj0ncm91bmQnJTNFJTNDcGF0aCBkPSdNMyA5bDktNyA5IDd2MTFhMiAyIDAgMCAxLTIgMkg1YTIgMiAwIDAgMS0yLTJ6JyUzRSUzQy9wYXRoJTNFJTNDcG9seWxpbmUgcG9pbnRzPSc5IDIyIDkgMTIgMTUgMTIgMTUgMjInJTNFJTNDL3BvbHlsaW5lJTNFJTNDL3N2ZyUzRSIpOyB9CiBzcGFuLmljb24taW5mbyB7Ci0gIGJhY2tncm91bmQtaW1hZ2U6IHVybCgiZGF0YTppbWFnZS9zdmcreG1sLCUzQ3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHdpZHRoPScyNCcgaGVpZ2h0PScyNCcgdmlld0JveD0nMCAwIDI0IDI0JyBmaWxsPSdub25lJyBzdHJva2U9JyUyMzExMScgc3Ryb2tlLXdpZHRoPScyJyBzdHJva2UtbGluZWNhcD0ncm91bmQnIHN0cm9rZS1saW5lam9pbj0ncm91bmQnJTNFJTNDY2lyY2xlIGN4PScxMicgY3k9JzEyJyByPScxMCclM0UlM0MvY2lyY2xlJTNFJTNDbGluZSB4MT0nMTInIHkxPScxNicgeDI9JzEyJyB5Mj0nMTInJTNFJTNDL2xpbmUlM0UlM0NsaW5lIHgxPScxMicgeTE9JzgnIHgyPScxMicgeTI9JzgnJTNFJTNDL2xpbmUlM0UlM0Mvc3ZnJTNFIik7IH0KKyAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCJkYXRhOmltYWdlL3N2Zyt4bWwsJTNDc3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgd2lkdGg9JzI0JyBoZWlnaHQ9JzI0JyB2aWV3Qm94PScwIDAgMjQgMjQnIGZpbGw9J25vbmUnIHN0cm9rZT0nJTIzMDMyMzRiJyBzdHJva2Utd2lkdGg9JzInIHN0cm9rZS1saW5lY2FwPSdyb3VuZCcgc3Ryb2tlLWxpbmVqb2luPSdyb3VuZCclM0UlM0NjaXJjbGUgY3g9JzEyJyBjeT0nMTInIHI9JzEwJyUzRSUzQy9jaXJjbGUlM0UlM0NsaW5lIHgxPScxMicgeTE9JzE2JyB4Mj0nMTInIHkyPScxMiclM0UlM0MvbGluZSUzRSUzQ2xpbmUgeDE9JzEyJyB5MT0nOCcgeDI9JzEyJyB5Mj0nOCclM0UlM0MvbGluZSUzRSUzQy9zdmclM0UiKTsgfQogc3Bhbi5pY29uLWxvY2sgewotICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoImRhdGE6aW1hZ2Uvc3ZnK3htbCwlM0NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB3aWR0aD0nMjQnIGhlaWdodD0nMjQnIHZpZXdCb3g9JzAgMCAyNCAyNCcgZmlsbD0nbm9uZScgc3Ryb2tlPSclMjMxMTEnIHN0cm9rZS13aWR0aD0nMicgc3Ryb2tlLWxpbmVjYXA9J3JvdW5kJyBzdHJva2UtbGluZWpvaW49J3JvdW5kJyUzRSUzQ3JlY3QgeD0nMycgeT0nMTEnIHdpZHRoPScxOCcgaGVpZ2h0PScxMScgcng9JzInIHJ5PScyJyUzRSUzQy9yZWN0JTNFJTNDcGF0aCBkPSdNNyAxMVY3YTUgNSAwIDAgMSAxMCAwdjQnJTNFJTNDL3BhdGglM0UlM0Mvc3ZnJTNFIik7IH0KKyAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCJkYXRhOmltYWdlL3N2Zyt4bWwsJTNDc3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgd2lkdGg9JzI0JyBoZWlnaHQ9JzI0JyB2aWV3Qm94PScwIDAgMjQgMjQnIGZpbGw9J25vbmUnIHN0cm9rZT0nJTIzMDMyMzRiJyBzdHJva2Utd2lkdGg9JzInIHN0cm9rZS1saW5lY2FwPSdyb3VuZCcgc3Ryb2tlLWxpbmVqb2luPSdyb3VuZCclM0UlM0NyZWN0IHg9JzMnIHk9JzExJyB3aWR0aD0nMTgnIGhlaWdodD0nMTEnIHJ4PScyJyByeT0nMiclM0UlM0MvcmVjdCUzRSUzQ3BhdGggZD0nTTcgMTFWN2E1IDUgMCAwIDEgMTAgMHY0JyUzRSUzQy9wYXRoJTNFJTNDL3N2ZyUzRSIpOyB9CiBzcGFuLmljb24tbWFpbCB7Ci0gIGJhY2tncm91bmQtaW1hZ2U6IHVybCgiZGF0YTppbWFnZS9zdmcreG1sLCUzQ3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHdpZHRoPScyNCcgaGVpZ2h0PScyNCcgdmlld0JveD0nMCAwIDI0IDI0JyBmaWxsPSdub25lJyBzdHJva2U9JyUyMzExMScgc3Ryb2tlLXdpZHRoPScyJyBzdHJva2UtbGluZWNhcD0ncm91bmQnIHN0cm9rZS1saW5lam9pbj0ncm91bmQnJTNFJTNDcGF0aCBkPSdNNCA0aDE2YzEuMSAwIDIgLjkgMiAydjEyYzAgMS4xLS45IDItMiAySDRjLTEuMSAwLTItLjktMi0yVjZjMC0xLjEuOS0yIDItMnonJTNFJTNDL3BhdGglM0UlM0Nwb2x5bGluZSBwb2ludHM9JzIyLDYgMTIsMTMgMiw2JyUzRSUzQy9wb2x5bGluZSUzRSUzQy9zdmclM0UiKTsgfQorICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoImRhdGE6aW1hZ2Uvc3ZnK3htbCwlM0NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB3aWR0aD0nMjQnIGhlaWdodD0nMjQnIHZpZXdCb3g9JzAgMCAyNCAyNCcgZmlsbD0nbm9uZScgc3Ryb2tlPSclMjMwMzIzNGInIHN0cm9rZS13aWR0aD0nMicgc3Ryb2tlLWxpbmVjYXA9J3JvdW5kJyBzdHJva2UtbGluZWpvaW49J3JvdW5kJyUzRSUzQ3BhdGggZD0nTTQgNGgxNmMxLjEgMCAyIC45IDIgMnYxMmMwIDEuMS0uOSAyLTIgMkg0Yy0xLjEgMC0yLS45LTItMlY2YzAtMS4xLjktMiAyLTJ6JyUzRSUzQy9wYXRoJTNFJTNDcG9seWxpbmUgcG9pbnRzPScyMiw2IDEyLDEzIDIsNiclM0UlM0MvcG9seWxpbmUlM0UlM0Mvc3ZnJTNFIik7IH0KIHNwYW4uaWNvbi1sb2NhdGlvbiB7Ci0gIGJhY2tncm91bmQtaW1hZ2U6IHVybCgiZGF0YTppbWFnZS9zdmcreG1sLCUzQ3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHdpZHRoPScyNCcgaGVpZ2h0PScyNCcgdmlld0JveD0nMCAwIDI0IDI0JyBmaWxsPSdub25lJyBzdHJva2U9JyUyMzExMScgc3Ryb2tlLXdpZHRoPScyJyBzdHJva2UtbGluZWNhcD0ncm91bmQnIHN0cm9rZS1saW5lam9pbj0ncm91bmQnJTNFJTNDcGF0aCBkPSdNMjEgMTBjMCA3LTkgMTMtOSAxM3MtOS02LTktMTNhOSA5IDAgMCAxIDE4IDB6JyUzRSUzQy9wYXRoJTNFJTNDY2lyY2xlIGN4PScxMicgY3k9JzEwJyByPSczJyUzRSUzQy9jaXJjbGUlM0UlM0Mvc3ZnJTNFIik7IH0KKyAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCJkYXRhOmltYWdlL3N2Zyt4bWwsJTNDc3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgd2lkdGg9JzI0JyBoZWlnaHQ9JzI0JyB2aWV3Qm94PScwIDAgMjQgMjQnIGZpbGw9J25vbmUnIHN0cm9rZT0nJTIzMDMyMzRiJyBzdHJva2Utd2lkdGg9JzInIHN0cm9rZS1saW5lY2FwPSdyb3VuZCcgc3Ryb2tlLWxpbmVqb2luPSdyb3VuZCclM0UlM0NwYXRoIGQ9J00yMSAxMGMwIDctOSAxMy05IDEzcy05LTYtOS0xM2E5IDkgMCAwIDEgMTggMHonJTNFJTNDL3BhdGglM0UlM0NjaXJjbGUgY3g9JzEyJyBjeT0nMTAnIHI9JzMnJTNFJTNDL2NpcmNsZSUzRSUzQy9zdmclM0UiKTsgfQogc3Bhbi5pY29uLXBob25lIHsKLSAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCJkYXRhOmltYWdlL3N2Zyt4bWwsJTNDc3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgd2lkdGg9JzI0JyBoZWlnaHQ9JzI0JyB2aWV3Qm94PScwIDAgMjQgMjQnIGZpbGw9J25vbmUnIHN0cm9rZT0nJTIzMTExJyBzdHJva2Utd2lkdGg9JzInIHN0cm9rZS1saW5lY2FwPSdyb3VuZCcgc3Ryb2tlLWxpbmVqb2luPSdyb3VuZCclM0UlM0NwYXRoIGQ9J00yMiAxNi45MnYzYTIgMiAwIDAgMS0yLjE4IDIgMTkuNzkgMTkuNzkgMCAwIDEtOC42My0zLjA3IDE5LjUgMTkuNSAwIDAgMS02LTYgMTkuNzkgMTkuNzkgMCAwIDEtMy4wNy04LjY3QTIgMiAwIDAgMSA0LjExIDJoM2EyIDIgMCAwIDEgMiAxLjcyIDEyLjg0IDEyLjg0IDAgMCAwIC43IDIuODEgMiAyIDAgMCAxLS40NSAyLjExTDguMDkgOS45MWExNiAxNiAwIDAgMCA2IDZsMS4yNy0xLjI3YTIgMiAwIDAgMSAyLjExLS40NSAxMi44NCAxMi44NCAwIDAgMCAyLjgxLjdBMiAyIDAgMCAxIDIyIDE2LjkyeiclM0UlM0MvcGF0aCUzRSUzQy9zdmclM0UiKTsgfQorICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoImRhdGE6aW1hZ2Uvc3ZnK3htbCwlM0NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB3aWR0aD0nMjQnIGhlaWdodD0nMjQnIHZpZXdCb3g9JzAgMCAyNCAyNCcgZmlsbD0nbm9uZScgc3Ryb2tlPSclMjMwMzIzNGInIHN0cm9rZS13aWR0aD0nMicgc3Ryb2tlLWxpbmVjYXA9J3JvdW5kJyBzdHJva2UtbGluZWpvaW49J3JvdW5kJyUzRSUzQ3BhdGggZD0nTTIyIDE2LjkydjNhMiAyIDAgMCAxLTIuMTggMiAxOS43OSAxOS43OSAwIDAgMS04LjYzLTMuMDcgMTkuNSAxOS41IDAgMCAxLTYtNiAxOS43OSAxOS43OSAwIDAgMS0zLjA3LTguNjdBMiAyIDAgMCAxIDQuMTEgMmgzYTIgMiAwIDAgMSAyIDEuNzIgMTIuODQgMTIuODQgMCAwIDAgLjcgMi44MSAyIDIgMCAwIDEtLjQ1IDIuMTFMOC4wOSA5LjkxYTE2IDE2IDAgMCAwIDYgNmwxLjI3LTEuMjdhMiAyIDAgMCAxIDIuMTEtLjQ1IDEyLjg0IDEyLjg0IDAgMCAwIDIuODEuN0EyIDIgMCAwIDEgMjIgMTYuOTJ6JyUzRSUzQy9wYXRoJTNFJTNDL3N2ZyUzRSIpOyB9CiBzcGFuLmljb24tcnNzIHsKLSAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCJkYXRhOmltYWdlL3N2Zyt4bWwsJTNDc3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgd2lkdGg9JzI0JyBoZWlnaHQ9JzI0JyB2aWV3Qm94PScwIDAgMjQgMjQnIGZpbGw9J25vbmUnIHN0cm9rZT0nJTIzMTExJyBzdHJva2Utd2lkdGg9JzInIHN0cm9rZS1saW5lY2FwPSdyb3VuZCcgc3Ryb2tlLWxpbmVqb2luPSdyb3VuZCclM0UlM0NwYXRoIGQ9J000IDExYTkgOSAwIDAgMSA5IDknJTNFJTNDL3BhdGglM0UlM0NwYXRoIGQ9J000IDRhMTYgMTYgMCAwIDEgMTYgMTYnJTNFJTNDL3BhdGglM0UlM0NjaXJjbGUgY3g9JzUnIGN5PScxOScgcj0nMSclM0UlM0MvY2lyY2xlJTNFJTNDL3N2ZyUzRSIpOyB9CisgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgiZGF0YTppbWFnZS9zdmcreG1sLCUzQ3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHdpZHRoPScyNCcgaGVpZ2h0PScyNCcgdmlld0JveD0nMCAwIDI0IDI0JyBmaWxsPSdub25lJyBzdHJva2U9JyUyMzAzMjM0Yicgc3Ryb2tlLXdpZHRoPScyJyBzdHJva2UtbGluZWNhcD0ncm91bmQnIHN0cm9rZS1saW5lam9pbj0ncm91bmQnJTNFJTNDcGF0aCBkPSdNNCAxMWE5IDkgMCAwIDEgOSA5JyUzRSUzQy9wYXRoJTNFJTNDcGF0aCBkPSdNNCA0YTE2IDE2IDAgMCAxIDE2IDE2JyUzRSUzQy9wYXRoJTNFJTNDY2lyY2xlIGN4PSc1JyBjeT0nMTknIHI9JzEnJTNFJTNDL2NpcmNsZSUzRSUzQy9zdmclM0UiKTsgfQogc3Bhbi5pY29uLXNlYXJjaCB7Ci0gIGJhY2tncm91bmQtaW1hZ2U6IHVybCgiZGF0YTppbWFnZS9zdmcreG1sLCUzQ3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHdpZHRoPScyNCcgaGVpZ2h0PScyNCcgdmlld0JveD0nMCAwIDI0IDI0JyBmaWxsPSdub25lJyBzdHJva2U9JyUyMzExMScgc3Ryb2tlLXdpZHRoPScyJyBzdHJva2UtbGluZWNhcD0ncm91bmQnIHN0cm9rZS1saW5lam9pbj0ncm91bmQnJTNFJTNDY2lyY2xlIGN4PScxMScgY3k9JzExJyByPSc4JyUzRSUzQy9jaXJjbGUlM0UlM0NsaW5lIHgxPScyMScgeTE9JzIxJyB4Mj0nMTYuNjUnIHkyPScxNi42NSclM0UlM0MvbGluZSUzRSUzQy9zdmclM0UiKTsgfQorICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoImRhdGE6aW1hZ2Uvc3ZnK3htbCwlM0NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB3aWR0aD0nMjQnIGhlaWdodD0nMjQnIHZpZXdCb3g9JzAgMCAyNCAyNCcgZmlsbD0nbm9uZScgc3Ryb2tlPSclMjMwMzIzNGInIHN0cm9rZS13aWR0aD0nMicgc3Ryb2tlLWxpbmVjYXA9J3JvdW5kJyBzdHJva2UtbGluZWpvaW49J3JvdW5kJyUzRSUzQ2NpcmNsZSBjeD0nMTEnIGN5PScxMScgcj0nOCclM0UlM0MvY2lyY2xlJTNFJTNDbGluZSB4MT0nMjEnIHkxPScyMScgeDI9JzE2LjY1JyB5Mj0nMTYuNjUnJTNFJTNDL2xpbmUlM0UlM0Mvc3ZnJTNFIik7IH0KIHNwYW4uaWNvbi1zZXR0aW5ncyB7Ci0gIGJhY2tncm91bmQtaW1hZ2U6IHVybCgiZGF0YTppbWFnZS9zdmcreG1sLCUzQ3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHdpZHRoPScyNCcgaGVpZ2h0PScyNCcgdmlld0JveD0nMCAwIDI0IDI0JyBmaWxsPSdub25lJyBzdHJva2U9JyUyMzExMScgc3Ryb2tlLXdpZHRoPScyJyBzdHJva2UtbGluZWNhcD0ncm91bmQnIHN0cm9rZS1saW5lam9pbj0ncm91bmQnJTNFJTNDY2lyY2xlIGN4PScxMicgY3k9JzEyJyByPSczJyUzRSUzQy9jaXJjbGUlM0UlM0NwYXRoIGQ9J00xOS40IDE1YTEuNjUgMS42NSAwIDAgMCAuMzMgMS44MmwuMDYuMDZhMiAyIDAgMCAxIDAgMi44MyAyIDIgMCAwIDEtMi44MyAwbC0uMDYtLjA2YTEuNjUgMS42NSAwIDAgMC0xLjgyLS4zMyAxLjY1IDEuNjUgMCAwIDAtMSAxLjUxVjIxYTIgMiAwIDAgMS0yIDIgMiAyIDAgMCAxLTItMnYtLjA5QTEuNjUgMS42NSAwIDAgMCA5IDE5LjRhMS42NSAxLjY1IDAgMCAwLTEuODIuMzNsLS4wNi4wNmEyIDIgMCAwIDEtMi44MyAwIDIgMiAwIDAgMSAwLTIuODNsLjA2LS4wNmExLjY1IDEuNjUgMCAwIDAgLjMzLTEuODIgMS42NSAxLjY1IDAgMCAwLTEuNTEtMUgzYTIgMiAwIDAgMS0yLTIgMiAyIDAgMCAxIDItMmguMDlBMS42NSAxLjY1IDAgMCAwIDQuNiA5YTEuNjUgMS42NSAwIDAgMC0uMzMtMS44MmwtLjA2LS4wNmEyIDIgMCAwIDEgMC0yLjgzIDIgMiAwIDAgMSAyLjgzIDBsLjA2LjA2YTEuNjUgMS42NSAwIDAgMCAxLjgyLjMzSDlhMS42NSAxLjY1IDAgMCAwIDEtMS41MVYzYTIgMiAwIDAgMSAyLTIgMiAyIDAgMCAxIDIgMnYuMDlhMS42NSAxLjY1IDAgMCAwIDEgMS41MSAxLjY1IDEuNjUgMCAwIDAgMS44Mi0uMzNsLjA2LS4wNmEyIDIgMCAwIDEgMi44MyAwIDIgMiAwIDAgMSAwIDIuODNsLS4wNi4wNmExLjY1IDEuNjUgMCAwIDAtLjMzIDEuODJWOWExLjY1IDEuNjUgMCAwIDAgMS41MSAxSDIxYTIgMiAwIDAgMSAyIDIgMiAyIDAgMCAxLTIgMmgtLjA5YTEuNjUgMS42NSAwIDAgMC0xLjUxIDF6JyUzRSUzQy9wYXRoJTNFJTNDL3N2ZyUzRSIpOyB9CisgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgiZGF0YTppbWFnZS9zdmcreG1sLCUzQ3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHdpZHRoPScyNCcgaGVpZ2h0PScyNCcgdmlld0JveD0nMCAwIDI0IDI0JyBmaWxsPSdub25lJyBzdHJva2U9JyUyMzAzMjM0Yicgc3Ryb2tlLXdpZHRoPScyJyBzdHJva2UtbGluZWNhcD0ncm91bmQnIHN0cm9rZS1saW5lam9pbj0ncm91bmQnJTNFJTNDY2lyY2xlIGN4PScxMicgY3k9JzEyJyByPSczJyUzRSUzQy9jaXJjbGUlM0UlM0NwYXRoIGQ9J00xOS40IDE1YTEuNjUgMS42NSAwIDAgMCAuMzMgMS44MmwuMDYuMDZhMiAyIDAgMCAxIDAgMi44MyAyIDIgMCAwIDEtMi44MyAwbC0uMDYtLjA2YTEuNjUgMS42NSAwIDAgMC0xLjgyLS4zMyAxLjY1IDEuNjUgMCAwIDAtMSAxLjUxVjIxYTIgMiAwIDAgMS0yIDIgMiAyIDAgMCAxLTItMnYtLjA5QTEuNjUgMS42NSAwIDAgMCA5IDE5LjRhMS42NSAxLjY1IDAgMCAwLTEuODIuMzNsLS4wNi4wNmEyIDIgMCAwIDEtMi44MyAwIDIgMiAwIDAgMSAwLTIuODNsLjA2LS4wNmExLjY1IDEuNjUgMCAwIDAgLjMzLTEuODIgMS42NSAxLjY1IDAgMCAwLTEuNTEtMUgzYTIgMiAwIDAgMS0yLTIgMiAyIDAgMCAxIDItMmguMDlBMS42NSAxLjY1IDAgMCAwIDQuNiA5YTEuNjUgMS42NSAwIDAgMC0uMzMtMS44MmwtLjA2LS4wNmEyIDIgMCAwIDEgMC0yLjgzIDIgMiAwIDAgMSAyLjgzIDBsLjA2LjA2YTEuNjUgMS42NSAwIDAgMCAxLjgyLjMzSDlhMS42NSAxLjY1IDAgMCAwIDEtMS41MVYzYTIgMiAwIDAgMSAyLTIgMiAyIDAgMCAxIDIgMnYuMDlhMS42NSAxLjY1IDAgMCAwIDEgMS41MSAxLjY1IDEuNjUgMCAwIDAgMS44Mi0uMzNsLjA2LS4wNmEyIDIgMCAwIDEgMi44MyAwIDIgMiAwIDAgMSAwIDIuODNsLS4wNi4wNmExLjY1IDEuNjUgMCAwIDAtLjMzIDEuODJWOWExLjY1IDEuNjUgMCAwIDAgMS41MSAxSDIxYTIgMiAwIDAgMSAyIDIgMiAyIDAgMCAxLTIgMmgtLjA5YTEuNjUgMS42NSAwIDAgMC0xLjUxIDF6JyUzRSUzQy9wYXRoJTNFJTNDL3N2ZyUzRSIpOyB9CiBzcGFuLmljb24tc2hhcmUgewotICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoImRhdGE6aW1hZ2Uvc3ZnK3htbCwlM0NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB3aWR0aD0nMjQnIGhlaWdodD0nMjQnIHZpZXdCb3g9JzAgMCAyNCAyNCcgZmlsbD0nbm9uZScgc3Ryb2tlPSclMjMxMTEnIHN0cm9rZS13aWR0aD0nMicgc3Ryb2tlLWxpbmVjYXA9J3JvdW5kJyBzdHJva2UtbGluZWpvaW49J3JvdW5kJyUzRSUzQ2NpcmNsZSBjeD0nMTgnIGN5PSc1JyByPSczJyUzRSUzQy9jaXJjbGUlM0UlM0NjaXJjbGUgY3g9JzYnIGN5PScxMicgcj0nMyclM0UlM0MvY2lyY2xlJTNFJTNDY2lyY2xlIGN4PScxOCcgY3k9JzE5JyByPSczJyUzRSUzQy9jaXJjbGUlM0UlM0NsaW5lIHgxPSc4LjU5JyB5MT0nMTMuNTEnIHgyPScxNS40MicgeTI9JzE3LjQ5JyUzRSUzQy9saW5lJTNFJTNDbGluZSB4MT0nMTUuNDEnIHkxPSc2LjUxJyB4Mj0nOC41OScgeTI9JzEwLjQ5JyUzRSUzQy9saW5lJTNFJTNDL3N2ZyUzRSIpOyB9CisgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgiZGF0YTppbWFnZS9zdmcreG1sLCUzQ3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHdpZHRoPScyNCcgaGVpZ2h0PScyNCcgdmlld0JveD0nMCAwIDI0IDI0JyBmaWxsPSdub25lJyBzdHJva2U9JyUyMzAzMjM0Yicgc3Ryb2tlLXdpZHRoPScyJyBzdHJva2UtbGluZWNhcD0ncm91bmQnIHN0cm9rZS1saW5lam9pbj0ncm91bmQnJTNFJTNDY2lyY2xlIGN4PScxOCcgY3k9JzUnIHI9JzMnJTNFJTNDL2NpcmNsZSUzRSUzQ2NpcmNsZSBjeD0nNicgY3k9JzEyJyByPSczJyUzRSUzQy9jaXJjbGUlM0UlM0NjaXJjbGUgY3g9JzE4JyBjeT0nMTknIHI9JzMnJTNFJTNDL2NpcmNsZSUzRSUzQ2xpbmUgeDE9JzguNTknIHkxPScxMy41MScgeDI9JzE1LjQyJyB5Mj0nMTcuNDknJTNFJTNDL2xpbmUlM0UlM0NsaW5lIHgxPScxNS40MScgeTE9JzYuNTEnIHgyPSc4LjU5JyB5Mj0nMTAuNDknJTNFJTNDL2xpbmUlM0UlM0Mvc3ZnJTNFIik7IH0KIHNwYW4uaWNvbi1jYXJ0IHsKLSAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCJkYXRhOmltYWdlL3N2Zyt4bWwsJTNDc3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgd2lkdGg9JzI0JyBoZWlnaHQ9JzI0JyB2aWV3Qm94PScwIDAgMjQgMjQnIGZpbGw9J25vbmUnIHN0cm9rZT0nJTIzMTExJyBzdHJva2Utd2lkdGg9JzInIHN0cm9rZS1saW5lY2FwPSdyb3VuZCcgc3Ryb2tlLWxpbmVqb2luPSdyb3VuZCclM0UlM0NjaXJjbGUgY3g9JzknIGN5PScyMScgcj0nMSclM0UlM0MvY2lyY2xlJTNFJTNDY2lyY2xlIGN4PScyMCcgY3k9JzIxJyByPScxJyUzRSUzQy9jaXJjbGUlM0UlM0NwYXRoIGQ9J00xIDFoNGwyLjY4IDEzLjM5YTIgMiAwIDAgMCAyIDEuNjFoOS43MmEyIDIgMCAwIDAgMi0xLjYxTDIzIDZINiclM0UlM0MvcGF0aCUzRSUzQy9zdmclM0UiKTsgfQorICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoImRhdGE6aW1hZ2Uvc3ZnK3htbCwlM0NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB3aWR0aD0nMjQnIGhlaWdodD0nMjQnIHZpZXdCb3g9JzAgMCAyNCAyNCcgZmlsbD0nbm9uZScgc3Ryb2tlPSclMjMwMzIzNGInIHN0cm9rZS13aWR0aD0nMicgc3Ryb2tlLWxpbmVjYXA9J3JvdW5kJyBzdHJva2UtbGluZWpvaW49J3JvdW5kJyUzRSUzQ2NpcmNsZSBjeD0nOScgY3k9JzIxJyByPScxJyUzRSUzQy9jaXJjbGUlM0UlM0NjaXJjbGUgY3g9JzIwJyBjeT0nMjEnIHI9JzEnJTNFJTNDL2NpcmNsZSUzRSUzQ3BhdGggZD0nTTEgMWg0bDIuNjggMTMuMzlhMiAyIDAgMCAwIDIgMS42MWg5LjcyYTIgMiAwIDAgMCAyLTEuNjFMMjMgNkg2JyUzRSUzQy9wYXRoJTNFJTNDL3N2ZyUzRSIpOyB9CiBzcGFuLmljb24tdXBsb2FkIHsKLSAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCJkYXRhOmltYWdlL3N2Zyt4bWwsJTNDc3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgd2lkdGg9JzI0JyBoZWlnaHQ9JzI0JyB2aWV3Qm94PScwIDAgMjQgMjQnIGZpbGw9J25vbmUnIHN0cm9rZT0nJTIzMTExJyBzdHJva2Utd2lkdGg9JzInIHN0cm9rZS1saW5lY2FwPSdyb3VuZCcgc3Ryb2tlLWxpbmVqb2luPSdyb3VuZCclM0UlM0NwYXRoIGQ9J00yMSAxNXY0YTIgMiAwIDAgMS0yIDJINWEyIDIgMCAwIDEtMi0ydi00JyUzRSUzQy9wYXRoJTNFJTNDcG9seWxpbmUgcG9pbnRzPScxNyA4IDEyIDMgNyA4JyUzRSUzQy9wb2x5bGluZSUzRSUzQ2xpbmUgeDE9JzEyJyB5MT0nMycgeDI9JzEyJyB5Mj0nMTUnJTNFJTNDL2xpbmUlM0UlM0Mvc3ZnJTNFIik7IH0KKyAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCJkYXRhOmltYWdlL3N2Zyt4bWwsJTNDc3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgd2lkdGg9JzI0JyBoZWlnaHQ9JzI0JyB2aWV3Qm94PScwIDAgMjQgMjQnIGZpbGw9J25vbmUnIHN0cm9rZT0nJTIzMDMyMzRiJyBzdHJva2Utd2lkdGg9JzInIHN0cm9rZS1saW5lY2FwPSdyb3VuZCcgc3Ryb2tlLWxpbmVqb2luPSdyb3VuZCclM0UlM0NwYXRoIGQ9J00yMSAxNXY0YTIgMiAwIDAgMS0yIDJINWEyIDIgMCAwIDEtMi0ydi00JyUzRSUzQy9wYXRoJTNFJTNDcG9seWxpbmUgcG9pbnRzPScxNyA4IDEyIDMgNyA4JyUzRSUzQy9wb2x5bGluZSUzRSUzQ2xpbmUgeDE9JzEyJyB5MT0nMycgeDI9JzEyJyB5Mj0nMTUnJTNFJTNDL2xpbmUlM0UlM0Mvc3ZnJTNFIik7IH0KIHNwYW4uaWNvbi11c2VyIHsKLSAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCJkYXRhOmltYWdlL3N2Zyt4bWwsJTNDc3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgd2lkdGg9JzI0JyBoZWlnaHQ9JzI0JyB2aWV3Qm94PScwIDAgMjQgMjQnIGZpbGw9J25vbmUnIHN0cm9rZT0nJTIzMTExJyBzdHJva2Utd2lkdGg9JzInIHN0cm9rZS1saW5lY2FwPSdyb3VuZCcgc3Ryb2tlLWxpbmVqb2luPSdyb3VuZCclM0UlM0NwYXRoIGQ9J00yMCAyMXYtMmE0IDQgMCAwIDAtNC00SDhhNCA0IDAgMCAwLTQgNHYyJyUzRSUzQy9wYXRoJTNFJTNDY2lyY2xlIGN4PScxMicgY3k9JzcnIHI9JzQnJTNFJTNDL2NpcmNsZSUzRSUzQy9zdmclM0UiKTsgfQorICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoImRhdGE6aW1hZ2Uvc3ZnK3htbCwlM0NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB3aWR0aD0nMjQnIGhlaWdodD0nMjQnIHZpZXdCb3g9JzAgMCAyNCAyNCcgZmlsbD0nbm9uZScgc3Ryb2tlPSclMjMwMzIzNGInIHN0cm9rZS13aWR0aD0nMicgc3Ryb2tlLWxpbmVjYXA9J3JvdW5kJyBzdHJva2UtbGluZWpvaW49J3JvdW5kJyUzRSUzQ3BhdGggZD0nTTIwIDIxdi0yYTQgNCAwIDAgMC00LTRIOGE0IDQgMCAwIDAtNCA0djInJTNFJTNDL3BhdGglM0UlM0NjaXJjbGUgY3g9JzEyJyBjeT0nNycgcj0nNCclM0UlM0MvY2lyY2xlJTNFJTNDL3N2ZyUzRSIpOyB9CiAKIC8qCiAgIERlZmluaXRpb25zIGZvciB1dGlsaXRpZXMgYW5kIGhlbHBlciBjbGFzc2VzLgpAQCAtMTYwNCw3ICsxNTk3LDcgQEAKIC8qIFV0aWxpdHkgbW9kdWxlIENTUyB2YXJpYWJsZSBkZWZpbml0aW9ucyAqLwogOnJvb3QgewogICAtLWdlbmVyaWMtYm9yZGVyLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuMyk7Ci0gIC0tZ2VuZXJpYy1ib3gtc2hhZG93OiAwIDAuMjVyZW0gMC4yNXJlbSAwIHJnYmEoMCwgMCwgMCwgMC4xMjUpLCAwIDAuMTI1cmVtIDAuMTI1cmVtIC0wLjEyNXJlbSByZ2JhKDAsIDAsIDAsIDAuMjUpOyB9CisgIC0tZ2VuZXJpYy1ib3gtc2hhZG93OiAwIDAuMjg1NzE0Mjg1N3JlbSAwLjI4NTcxNDI4NTdyZW0gMCByZ2JhKDAsIDAsIDAsIDAuMTI1KSwgMCAwLjE0Mjg1NzE0MjlyZW0gMC4xNDI4NTcxNDI5cmVtIC0wLjE0Mjg1NzE0MjlyZW0gcmdiYSgwLCAwLCAwLCAwLjEyNSk7IH0KIAogLmhpZGRlbiB7CiAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfQpAQCAtMTYyMiw3ICsxNjE1LDcgQEAKICAgb3ZlcmZsb3c6IGhpZGRlbiAhaW1wb3J0YW50OyB9CiAKIC5ib3JkZXJlZCB7Ci0gIGJvcmRlcjogMC4wNjI1cmVtIHNvbGlkIHZhcigtLWdlbmVyaWMtYm9yZGVyLWNvbG9yKSAhaW1wb3J0YW50OyB9CisgIGJvcmRlcjogMC4wNzE0Mjg1NzE0cmVtIHNvbGlkIHZhcigtLWdlbmVyaWMtYm9yZGVyLWNvbG9yKSAhaW1wb3J0YW50OyB9CiAKIC5yb3VuZGVkIHsKICAgYm9yZGVyLXJhZGl1czogdmFyKC0tdW5pdmVyc2FsLWJvcmRlci1yYWRpdXMpICFpbXBvcnRhbnQ7IH0KQEAgLTE2OTcsNCArMTY5MCwxNCBAQAogICAgIGNsaXAtcGF0aDogaW5zZXQoMTAwJSkgIWltcG9ydGFudDsKICAgICBvdmVyZmxvdzogaGlkZGVuICFpbXBvcnRhbnQ7IH0gfQogCi0vKiMgc291cmNlTWFwcGluZ1VSTD1taW5pLWRlZmF1bHQuY3NzLm1hcCAqLworLyojIHNvdXJjZU1hcHBpbmdVUkw9bWluaS1jdXN0b20uY3NzLm1hcCAqLworCitpbWdbYWx0PSJTVCBsb2dvIl0geyBkaXNwbGF5OiBibG9jazsgbWFyZ2luOiBhdXRvOyB3aWR0aDogNzUlOyBtYXgtd2lkdGg6IDI1MHB4OyBtaW4td2lkdGg6IDcxcHg7IH0KK2ltZ1thbHQ9IkN1YmUgbG9nbyJdIHsgZmxvYXQ6IHJpZ2h0OyB3aWR0aDogMzAlOyBtYXgtd2lkdGg6IDEwcmVtOyBtaW4td2lkdGg6IDhyZW07IHBhZGRpbmctcmlnaHQ6IDFyZW07fQorCisuZmlndXJlIHsKKyAgZGlzcGxheTogYmxvY2s7CisgIG1hcmdpbi1sZWZ0OiBhdXRvOworICBtYXJnaW4tcmlnaHQ6IGF1dG87CisgIHRleHQtYWxpZ246IGNlbnRlcjsKK30KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9faHRtcmVzYy9zdF9sb2dvLnBuZyBiL19odG1yZXNjL3N0X2xvZ28ucG5nCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA4YjgwMDU3Li4wMDAwMDAwCi0tLSBhL19odG1yZXNjL3N0X2xvZ28ucG5nCisrKyAvZGV2L251bGwKQmluYXJ5IGZpbGVzIGRpZmZlcgpkaWZmIC0tZ2l0IGEvX2h0bXJlc2Mvc3RfbG9nb18yMDIwLnBuZyBiL19odG1yZXNjL3N0X2xvZ29fMjAyMC5wbmcKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZDZjZWJiNQotLS0gL2Rldi9udWxsCisrKyBiL19odG1yZXNjL3N0X2xvZ29fMjAyMC5wbmcKQmluYXJ5IGZpbGVzIGRpZmZlcgo=