ZGlmZiAtLWdpdCBhL0NIQU5HRVMgYi9DSEFOR0VTCmluZGV4IGRlNDRjMTYuLjVlZTBjYzYgMTAwNjQ0Ci0tLSBhL0NIQU5HRVMKKysrIGIvQ0hBTkdFUwpAQCAtNiw2ICs2LDIxMTUgQEAKIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIENoYW5nZWxvZwogCitWZXJzaW9uIDcuNzEuMSAoMzAgSnVuIDIwMjApCisKK0RhbmllbCBTdGVuYmVyZyAoMzAgSnVuIDIwMjApCistIFJFTEVBU0UtTk9URVM6IGN1cmwgNy43MS4xCisKKy0gVEhBTktTOiBhZGQgY29udHJpYnV0b3JzIHRvIDcuNzEuMQorCistIHNjcmlwdHMvY29weXJpZ2h0LnBsOiBza2lwIC5kY2lnbm9yZQorCistIFJldmVydCAibXVsdGk6IGltcGxlbWVudCB3YWl0IHVzaW5nIHdpbnNvY2sgZXZlbnRzIgorICAKKyAgVGhpcyByZXZlcnRzIGNvbW1pdCA4YmMyNWM1OTBlNTMwZGU4NzU5NWQxYmIzNTc3ZjY5OWViMTMwOWI5LgorICAKKyAgVGhhdCBjb21taXQgKGZyb20gIzUzOTcpIGludHJvZHVjZWQgYSByZWdyZXNzaW9uIGluIDcuNzEuMC4KKyAgCisgIFJlcG9ydGVkLWJ5OiB0bWtrIG9uIGdpdGh1YgorICBGaXhlcyAjNTYzMQorICBDbG9zZXMgIzU2MzIKKworLSBUT0RPOiBBZGQgZmxhZyB0byBzcGVjaWZ5IGRvd25sb2FkIGRpcmVjdG9yeQorCistIFRPRE86IHJldHVybiBjb2RlIHRvIENVUkxNT1BUX1BVU0hGVU5DVElPTiB0byBmYWlsIGNvbm5lY3Rpb24KKworLSBjaXJydXMtY2k6IGRpc2FibGUgRnJlZUJTRCAxMyAoYWdhaW4pCisgIAorICBJdCBoYXMgYmVlbiBmYWlsaW5nIGZvciBhIGdvb2Qgd2hpbGUgYWdhaW4uIFRoaXMgdGltZSB3ZSBiZXR0ZXIgbGVhdmUgaXQKKyAgZGlzYWJsZWQgdW50aWwgd2UgaGF2ZSBtb3JlIHJlYXNvbiB0byBiZWxpZXZlIGl0IGJlaGF2ZXMuCisgIAorICBDbG9zZXMgIzU2MjgKKworLSBuZ3RjcDI6IHN5bmMgd2l0aCBjdXJyZW50IG1hc3RlcgorICAKKyAgbmd0Y3AyIGFkZGVkIHR3byBuZXcgY2FsbGJhY2tzCisgIAorICBSZXBvcnRlZC1ieTogTHVjaWVuIFrDvHJjaGVyCisgIEZpeGVzICM1NjI0CisgIENsb3NlcyAjNTYyNworCistIGV4YW1wbGVzL211bHRpdGhyZWFkLmM6IGNhbGwgY3VybF9nbG9iYWxfY2xlYW51cCgpCisgIAorICBSZXBvcnRlZC1ieTogcWlhbmR1MjAwNiBvbiBnaXRodWIKKyAgRml4ZXMgIzU2MjIKKyAgQ2xvc2VzICM1NjIzCisKKy0gdnRsczogY29tcGFyZSBjZXJ0IGJsb2Igd2hlbiBmaW5kaW5nIGEgY29ubmVjdGlvbiB0byByZXVzZQorICAKKyAgUmVwb3J0ZWQtYnk6IEdlcmdlbHkgTmFneQorICBGaXhlcyAjNTYxNworICBDbG9zZXMgIzU2MTkKKworLSBSRUxFQVNFLU5PVEVTOiBzeW5jZWQKKworLSB0ZXJtaW5vbG9neTogY2FsbCB0aGVtIG51bGwtdGVybWluYXRlZCBzdHJpbmdzCisgIAorICBVcGRhdGVkIHRlcm1pbm9sb2d5IGluIGRvY3MsIGNvbW1lbnRzIGFuZCBwaHJhc2VzIHRvIHJlZmVyIHRvIEMgc3RyaW5ncworICBhcyAibnVsbC10ZXJtaW5hdGVkIi4gRG9uZSB0byB1bmlmeSB3aXRoIGhvdyBtb3N0IG90aGVyIEMgb3JpZW50ZWQgZG9jcworICByZWZlciBvZiB0aGVtIGFuZCB3aGF0IHVzZXJzIGluIGdlbmVyYWwgc2VlbSB0byBwcmVmZXIgKGJhc2VkIG9uIGEKKyAgc2luZ2xlIGhpZ2hseSB1bnNjaWVudGlmaWMgcG9sbCBvbiB0d2l0dGVyKS4KKyAgCisgIFJlcG9ydGVkLWJ5OiBjb2luaHVicyBvbiBnaXRodWIKKyAgRml4ZXMgIzU1OTgKKyAgQ2xvc2VzICM1NjA4CisKKy0gaHR0cDogZml4IHByb3h5IGF1dGggd2l0aCBibGFuayBwYXNzd29yZAorICAKKyAgUmVncmVzc2lvbiBpbiA3LjcxLjAKKyAgCisgIEFkZGVkIHRlc3QgY2FzZSAzNDYgdG8gdmVyaWZ5LgorICAKKyAgUmVwb3J0ZWQtYnk6IEtyaXN0b2ZmZXIgR2xlZGl0c2NoCisgIEZpeGVzICM1NjEzCisgIENsb3NlcyAjNTYxNgorCistIC5kY2lnbm9yZTogaWdub3JlIHRlc3RzIGFuZCBkb2NzIGRpcmVjdG9yaWVzCisgIAorICBUaGlzIGlzIGEgY29uZmlnIGZpbGUgZm9yIGRlZXBjb2RlLmFpLCBhIHN0YXRpYyBjb2RlIGFuYWx5emVyLgorCitKYXkgU2F0aXJvICgyNiBKdW4gMjAyMCkKKy0gdG9vbF9jYl9oZHI6IEZpeCBldGFnIHdhcm5pbmcgb3V0cHV0IGFuZCByZXR1cm4gY29kZQorICAKKyAgLSBSZXR1cm4gJ2ZhaWx1cmUnIG9uIGZhaWx1cmUsIHRvIGZvbGxvdyB0aGUgZXhpc3Rpbmcgc3R5bGUuCisgIAorICAtIFB1dCBXYXJuaW5nOiBhbmQgdGhlIHdhcm5pbmcgbWVzc2FnZSBvbiB0aGUgc2FtZSBsaW5lLgorICAKKyAgUmVmOiBodHRwczovL2dpdGh1Yi5jb20vY3VybC9jdXJsL2lzc3Vlcy81NjEwCisgIAorICBDbG9zZXMgaHR0cHM6Ly9naXRodWIuY29tL2N1cmwvY3VybC9wdWxsLzU2MTIKKworRGFuaWVsIFN0ZW5iZXJnICgyNiBKdW4gMjAyMCkKKy0gQ1VSTE9QVF9SRUFERlVOQ1RJT04uMzogcHJvdmlkZSB0aGUgdXBsb2FkIGRhdGEgc2l6ZSB1cCBmcm9udAorICAKKyAgQXNzaXN0ZWQtYnk6IEpheSBTYXRpcm8KKyAgQ2xvc2VzICM1NjA3CisKKy0gdGVzdDE1Mzk6IGRvIGEgSFRUUCAxLjAgUE9TVCB3aXRob3V0IGEgc2V0IHNpemUgKGZhaWxzKQorICAKKyAgQXR0ZW1wdCB0byByZXByb2R1Y2UgIzU1OTMuIFRlc3QgY2FzZSAxNTE0IGlzIHZlcnkgc2ltaWxhciBidXQgdXNlcworICBIVFRQLzEuMSBhbmQgdGh1cyBzd2l0Y2hlcyB0byBjaHVua2VkLgorICAKKyAgQ2xvc2VzICM1NTk1CisKKy0gW0JhcnVjaCBTaWFjaCBicm91Z2h0IHRoaXMgY2hhbmdlXQorCisgIG1iZWR0bHM6IGZpeCBidWlsZCB3aXRoIGRpc2FibGVkIHByb3h5IHN1cHBvcnQKKyAgCisgIERvbid0IHJlZmVyZW5jZSBmaWVsZHMgdGhhdCBkbyBub3QgZXhpc3QuIEZpeGVzIGJ1aWxkIGZhaWx1cmU6CisgIAorICB2dGxzL21iZWR0bHMuYzogSW4gZnVuY3Rpb24gJ21iZWRfY29ubmVjdF9zdGVwMSc6CisgIHZ0bHMvbWJlZHRscy5jOjI0OTo1NDogZXJyb3I6ICdzdHJ1Y3QgY29ubmVjdGRhdGEnIGhhcyBubyBtZW1iZXIgbmFtZWQgJ2h0dHBfcHJveHknCisgIAorICBDbG9zZXMgIzU2MTUKKworLSBjb2RlcWwtYW5hbHlzaXMueW1sOiBmaXggdGhlICdsYW5ndWFnZXMnIHNldHRpbmcKKyAgCisgIEl0IG5lZWRzIGEgJ3dpdGg6JyBpbiBmcm9udCBvZiBpdC4KKworR2l0SHViICgyNiBKdW4gMjAyMCkKKy0gW0RhbmllbCBTdGVuYmVyZyBicm91Z2h0IHRoaXMgY2hhbmdlXQorCisgIGd0aWh1YjogY29kZXFsLWFuYWx5c2lzLnltbAorICAKKyAgZW5hYmxlcyBjb2RlIHNlY3VyaXR5IHNjYW5uaW5nIHdpdGggZ2l0aHViIGFjdGlvbnMKKworRGFuaWVsIFN0ZW5iZXJnICgyNSBKdW4gMjAyMCkKKy0gdGVzdHM6IHZlcmlmeSBuZXdsaW5lIGluIHVzZXJuYW1lIGFuZCBwYXNzd29yZCBmb3IgSFRUUAorICAKKyAgdGVzdCAxMjk2IGlzIGEgc2ltcGx5IGNvbW1hbmQgbGluZSB0ZXN0CisgIAorICB0ZXN0IDE5MTAgaXMgYSBsaWJjdXJsIHRlc3QgaW5jbHVkaW5nIGEgcmVkaXJlY3QKKworLSB1cmw6IGFsbG93IHVzZXIgKyBwYXNzd29yZCB0byBjb250YWluICJjb250cm9sIGNvZGVzIiBmb3IgSFRUUChTKQorICAKKyAgUmVwb3J0ZWQtYnk6IEpvbiBKb2huc29uIEpyCisgIEZpeGVzICM1NTgyCisgIENsb3NlcyAjNTU5MgorCistIGVzY2FwZTogbWFrZSB0aGUgVVJMIGRlY29kZSBhYmxlIHRvIHJlamVjdCBvbmx5ICUwMCBieXRlcworICAKKyAgLi4uIG9yIGFsbCAiY29udHJvbCBjb2RlcyIgb3Igbm90aGluZy4KKyAgCisgIEFzc2lzdGVkLWJ5OiBOaWNvbGFzIFN0ZXJjaGVsZQorCistIGh0dHAyOiBzZXQgdGhlIGNvcnJlY3QgVVJMIGluIHB1c2hlZCB0cmFuc2ZlcnMKKyAgCisgIC4uLnByZXZpb3VzbHkgQ1VSTElORk9fRUZGRUNUSVZFX1VSTCB3b3VsZCByZXBvcnQgdGhlIFVSTCBvZiB0aGUKKyAgb3JpZ2luYWwgIm1vdGhlciB0cmFuc2ZlciIsIG5vdCB0aGUgYWN0dWFsbHkgcHVzaGVkIHJlc291cmNlLgorICAKKyAgUmVwb3J0ZWQtYnk6IEpvbmF0aGFuIENhcmRvc28gTWFjaGFkbworICBGaXhlcyAjNTU4OQorICBDbG9zZXMgIzU1OTEKKworSmF5IFNhdGlybyAoMjUgSnVuIDIwMjApCistIFtKYXZpZXIgQmxhenF1ZXogYnJvdWdodCB0aGlzIGNoYW5nZV0KKworICBvcGVuc3NsOiBGaXggY29tcGlsYXRpb24gb24gV2luZG93cyB3aGVuIG5ndGNwMiBpcyBlbmFibGVkCisgIAorICAtIEluY2x1ZGUgd2luY3J5cHQgYmVmb3JlIE9wZW5TU0wgaW5jbHVkZXMgc28gdGhhdCB0aGUgbGF0dGVyIGNhbgorICAgIHByb3Blcmx5IGhhbmRsZSBhbnkgY29uZmxpY3RzIGJldHdlZW4gdGhlIHR3by4KKyAgCisgIENsb3NlcyBodHRwczovL2dpdGh1Yi5jb20vY3VybC9jdXJsL3B1bGwvNTYwNgorCitEYW5pZWwgU3RlbmJlcmcgKDI1IEp1biAyMDIwKQorLSB0ZXN0NTQzOiBleHRlbmRlZCB0byB2ZXJpZnkgemVybyBsZW5ndGggaW5wdXQKKyAgCisgIEFzIHdhcyByZXBvcnRlZCBpbiAjNTYwMQorCistIGVzY2FwZTogemVybyBsZW5ndGggaW5wdXQgc2hvdWxkIHJldHVybiBhIHplcm8gbGVuZ3RoIG91dHB1dAorICAKKyAgUmVncmVzc2lvbiBhZGRlZCBpbiA3LjcxLjAuCisgIAorICBGaXhlcyAjNTYwMQorICBSZXBvcnRlZC1ieTogS3Jpc3RvZmZlciBHbGVkaXRzY2gKKyAgQ2xvc2VzICM1NjAyCisKKy0gQ3VybF9pbmV0X250b3A6IGFsd2F5cyBjaGVjayB0aGUgcmV0dXJuIGNvZGUKKyAgCisgIFJlcG9ydGVkLWJ5OiBTaXZhIFNpdmFyYW1hbgorICBGaXhlcyAjNTQxMgorICBDbG9zZXMgIzU1OTcKKworLSBzZW5kZjogaW1wcm92ZSB0aGUgbWVzc2FnZSBvbiBjbGllbnQgd3JpdGUgZXJyb3JzCisgIAorICBSZXBsYWNlICJGYWlsZWQgd3JpdGluZyBib2R5IChYICE9IFkpIiB3aXRoCisgICJGYWlsdXJlIHdyaXRpbmcgb3V0cHV0IHRvIGRlc3RpbmF0aW9uIi4gUG9zc2libHkgc2xpZ2h0bHkgbGVzcyBjcnlwdGljLgorICAKKyAgUmVwb3J0ZWQtYnk6IGNvaW5odWJzIG9uIGdpdGh1YgorICBGaXhlcyAjNTU5NAorICBDbG9zZXMgIzU1OTYKKworLSBSRUxFQVNFLU5PVEVTOiBzeW5jZWQKKworLSBjdXJsdmVyOiBzdGFydCB3b3JraW5nIG9uIDcuNzEuMQorCistIFtEZW5pcyBCYXJ1xI1pxIcgYnJvdWdodCB0aGlzIGNoYW5nZV0KKworICBEWU5CVUYubWQ6IGZpeCBhIHR5cG86IHRyYWlsID0+IHRhaWwKKyAgCisgIENsb3NlcyAjNTU5OQorCitWZXJzaW9uIDcuNzEuMCAoMjMgSnVuIDIwMjApCisKK0RhbmllbCBTdGVuYmVyZyAoMjMgSnVuIDIwMjApCistIFJFTEVBU0UtTk9URVM6IGN1cmwgNy43MS4wIHJlbGVhc2UKKworLSBUSEFOS1M6IGN1cmwgNy43MS4wIGFkZGl0aW9ucworCistIHVybDogbWFrZSBzdXJlIHB1c2hlZCBzdHJlYW1zIGdldCBhbiBhbGxvY2F0ZWQgZG93bmxvYWQgYnVmZmVyCisgIAorICBGb2xsb3ctdXAgdG8gYzRlNjk2ODEyN2U4NzZiMAorICAKKyAgV2hlbiBhIG5ldyB0cmFuc2ZlciBpcyBjcmVhdGVkLCBhcyBhIHJlc3VseSBvZiBhbiBhY2tub3dsZWRnZWQgcHVzaCwKKyAgdGhhdCB0cmFuc2ZlciBuZWVkcyBhIGRvd25sb2FkIGJ1ZmZlciBhbGxvY2F0ZWQuCisgIAorICBDbG9zZXMgIzU1OTAKKworSmF5IFNhdGlybyAoMjIgSnVuIDIwMjApCistIG9wZW5zc2w6IERvbid0IGlnbm9yZSBDQSBwYXRocyB3aGVuIHVzaW5nIFdpbmRvd3MgQ0Egc3RvcmUKKyAgCisgIFRoaXMgY29tbWl0IGNoYW5nZXMgdGhlIGJlaGF2aW9yIG9mIENVUkxTU0xPUFRfTkFUSVZFX0NBIHNvIHRoYXQgaXQgZG9lcworICBub3Qgb3ZlcnJpZGUgQ1VSTE9QVF9DQUlORk8gLyBDVVJMT1BUX0NBUEFUSCwgb3IgdGhlIGhhcmRjb2RlZCBkZWZhdWx0CisgIGxvY2F0aW9ucy4gSW5zdGVhZCB0aGUgQ0Egc3RvcmUgY2FuIG5vdyBiZSB1c2VkIGF0IHRoZSBzYW1lIHRpbWUuCisgIAorICBUaGUgY2hhbmdlIGlzIGR1ZSB0byB0aGUgaW1wZW5kaW5nIHJlbGVhc2UuIFRoZSBpc3N1ZSBpcyBzdGlsbCBiZWluZworICBkaXNjdXNzZWQuIFRoZSBiZWhhdmlvciBvZiBDVVJMU1NMT1BUX05BVElWRV9DQSBpcyBzdWJqZWN0IHRvIGNoYW5nZSBhbmQKKyAgaXMgbm93IGRvY3VtZW50ZWQgYXMgZXhwZXJpbWVudGFsLgorICAKKyAgUmVmOiBiYzA1MmNjIChwYXJlbnQgY29tbWl0KQorICBSZWY6IGh0dHBzOi8vZ2l0aHViLmNvbS9jdXJsL2N1cmwvaXNzdWVzLzU1ODUKKworLSB0b29sX29wZXJhdGU6IERvbid0IHVzZSBXaW5kb3dzIENBIHN0b3JlIGFzIGEgZmFsbGJhY2sKKyAgCisgIEJhY2tncm91bmQ6CisgIAorICAxNDg1MzRkIGFkZGVkIENVUkxTU0xPUFRfTkFUSVZFX0NBIHRvIHVzZSB0aGUgV2luZG93cyBPUyBjZXJ0aWZpY2F0ZQorICBzdG9yZSBpbiBsaWJjdXJsIHcvIE9wZW5TU0wgb24gV2luZG93cy4gQ1VSTFNTTE9QVF9OQVRJVkVfQ0Egb3ZlcnJpZGVzCisgIENVUkxPUFRfQ0FJTkZPIGlmIGJvdGggYXJlIHNldC4gVGhlIGN1cmwgdG9vbCB3aWxsIGZhbGwgYmFjayB0bworICBDVVJMU1NMT1BUX05BVElWRV9DQSBpZiBpdCBjb3VsZCBub3QgZmluZCBhIGNlcnRpZmljYXRlIGJ1bmRsZSB0byBzZXQKKyAgdmlhIENVUkxPUFRfQ0FJTkZPLgorICAKKyAgUHJvYmxlbToKKyAgCisgIGxpYmN1cmwgbWF5IGJlIGJ1aWx0IHdpdGggaGFyZGNvZGVkIHBhdGhzIHRvIGEgY2VydGlmaWNhdGUgYnVuZGxlIG9yCisgIGRpcmVjdG9yeSwgYW5kIGlmIENVUkxTU0xPUFRfTkFUSVZFX0NBIGlzIHVzZWQgdGhlbiB0aG9zZSBwYXRocyBhcmUKKyAgaWdub3JlZC4KKyAgCisgIFNvbHV0aW9uOgorICAKKyAgQSBzb2x1dGlvbiBpcyBzdGlsbCBiZWluZyBkaXNjdXNzZWQgYnV0IHNpbmNlIHRoZXJlJ3MgYW4gaW1wZW5kaW5nCisgIHJlbGVhc2UgdGhpcyBjb21taXQgcmVtb3ZlcyB1c2luZyBDVVJMU1NMT1BUX05BVElWRV9DQSBpbiB0aGUgY3VybCB0b29sLgorICAKKyAgUmVmOiBodHRwczovL2dpdGh1Yi5jb20vY3VybC9jdXJsL2lzc3Vlcy81NTg1CisKKy0gb3BlbnNzbDogRml4IENBIGZhbGxiYWNrIGxvZ2ljIGZvciBPcGVuU1NMIDMuMCBidWlsZAorICAKKyAgUHJpb3IgdG8gdGhpcyBjaGFuZ2UgSSBhc3N1bWUgYSBidWlsZCBlcnJvciB3b3VsZCBvY2N1ciB3aGVuCisgIENVUkxfQ0FfRkFMTEJBQ0sgd2FzIHVzZWQuCisgIAorICBDbG9zZXMgaHR0cHM6Ly9naXRodWIuY29tL2N1cmwvY3VybC9wdWxsLzU1ODcKKworRGFuaWVsIFN0ZW5iZXJnICgyMiBKdW4gMjAyMCkKKy0gY29weXJpZ2h0OiB1cGRhdGUgbWlzbWF0Y2hlZCBjb3B5cmlnaHQgeWVhcnMKKworLSB0ZXN0MTQ2MDogdmVyaWZ5IHRoYXQgLUppIGlzIG5vdCBvaworCistIHRvb2xfZ2V0cGFyYW06IC1pIGlzIG5vdCBPSyBpZiAtSiBpcyB1c2VkCisgIAorICBSZXBvcnRlZC1ieTogc24gb24gaGFja2Vyb25lCisgIEJ1ZzogaHR0cHM6Ly9jdXJsLmhheHguc2UvZG9jcy9DVkUtMjAyMC04MTc3Lmh0bWwKKworLSBbUGV0ZXIgV3UgYnJvdWdodCB0aGlzIGNoYW5nZV0KKworICBDTWFrZTogaWdub3JlIElOVEVSRkFDRV9MSUJSQVJZIHRhcmdldHMgZm9yIHBrZy1jb25maWcgZmlsZQorICAKKyAgUmV2aWV3ZWQtYnk6IE1hcmNlbCBSYWFkCisgIEZpeGVzICM1NTEyCisgIENsb3NlcyAjNTUxNworCistIFtWYWxlbnR5biBLb3JuaWllbmtvIGJyb3VnaHQgdGhpcyBjaGFuZ2VdCisKKyAgbXVsdGlieXRlOiBGaXhlZCBhY2Nlc3MtPiB3YWNjZXNzIHRvIGZpbGUgZm9yIFdpbmRvd3MgUGxhcmZvcm0KKyAgCisgIFJldmlld2VkLWJ5OiBNYXJjZWwgUmFhZAorICBDbG9zZXMgIzU1ODAKKworLSBhbHRzdmM6IGJ1bXAgdG8gaDMtMjkKKyAgCisgIENsb3NlcyAjNTU4NAorCistIHVybGdsb2I6IHRyZWF0IGxpdGVyYWwgSVB2NiBhZGRyZXNzZXMgd2l0aCB6b25lIElEcyBhcyBhIGhvc3QgbmFtZQorICAKKyAgLi4uIGFuZCBub3QgYXMgYSAiZ2xvYiIuIE5vdyBkb25lIGJ5IHBhc3NpbmcgdGhlIHN1cHBvc2VkIGhvc3QgdG8gdGhlCisgIFVSTCBwYXJzZXIgd2hpY2ggc3VwcG9zZWRseSB3aWxsIGRvIGEgYmV0dGVyIGpvYiBhdCBpZGVudGlmeWluZyAicmVhbCIKKyAgbnVtZXJpY2FsIElQdjYgYWRkcmVzc2VzLgorICAKKyAgUmVwb3J0ZWQtYnk6IHB1Y2tpcGVkaWEgb24gZ2l0aHViCisgIEZpeGVzICM1NTc2CisgIENsb3NlcyAjNTU3OQorCistIHRlc3QxMTc5OiB2ZXJpZnkgZXJyb3IgbWVzc2FnZSBmb3Igbm9uLWV4aXN0aW5nIGNtZGxpbmUgb3B0aW9uCisKKy0gdG9vbF9nZXRwYXJhbTogcmVwYWlyIHRoZSBlcnJvciBtZXNzYWdlIGZvciB1bmtub3duIGZsYWcKKyAgCisgIEZvbGxvdy11cCB0byA5ZTU2NjlmMzg4MDY3NAorICBEZXRlY3RlZCBieSBDb3Zlcml0eSBDSUQgMTQ2NDU4MiAoIkxvZ2ljYWxseSBkZWFkIGNvZGUiKQorICAKKyAgQ2xvc2VzICM1NTc3CisKKy0gRklMRUZPUk1BVDogZGVzY3JpYmUgdmVyaWZ5L3N0ZGVycgorCistIGNvbm5lY3Q6IGltcHJvdmUgaGFwcHkgZXllYmFsbHMgaGFuZGxpbmcKKyAgCisgIEZvciBRVUlDIGJ1dCBhbHNvIGZvciByZWd1bGFyIFRDUCB3aGVuIHRoZSBzZWNvbmQgZmFtaWx5IHJ1bnMgb3V0IG9mIElQcworICB3aXRoIGEgZmFpbHVyZSB3aGlsZSB0aGUgZmlyc3QgZmFtaWx5IGlzIHN0aWxsIHRyeWluZyB0byBjb25uZWN0LgorICAKKyAgU2VwYXJhdGVkIHRoZSB0aW1lb3V0IGhhbmRsaW5nIGZvciBJUHY0IGFuZCBJUHY2IGNvbm5lY3Rpb25zIHdoZW4gdGhleQorICBib3RoIGhhdmUgYSBudW1iZXIgb2YgYWRkcmVzc2VzIHRvIGl0ZXJhdGUgb3Zlci4KKworLSBuZ3RjcDI6IG5ldmVyIGNhbGwgZnByaW50ZigpIGluIGxpYiBjb2RlIGluIHJlbGVhc2UgdmVyc2lvbgorCistIG5ndGNwMjogZml4IGhhcHB5IGV5ZWJhbGxzIHF1aWMgY29ubmVjdCBjcmFzaAorICAKKyAgUmVwb3J0ZWQtYnk6IFBldGVyIFd1CisgIEZpeGVzICM1NTY1CisgIENsb3NlcyAjNTU2OAorCistIHNlbGVjdDogcmVtb3ZlIHRoZSB1bnVzZWQgRUxBUFNFRF9NUygpIG1hY3JvCisgIAorICBDbG9zZXMgIzU1NzMKKworTWFyYyBIb2Vyc2tlbiAoMTcgSnVuIDIwMjApCistIFtyY29tYnMgYnJvdWdodCB0aGlzIGNoYW5nZV0KKworICBtdWx0aTogaW1wbGVtZW50IHdhaXQgdXNpbmcgd2luc29jayBldmVudHMKKyAgCisgIFRoaXMgYXZvaWRzIHVzaW5nIGEgcGFpciBvZiBUQ1AgcG9ydHMgdG8gcHJvdmlkZSB3YWtldXAgZnVuY3Rpb25hbGl0eQorICBmb3IgZXZlcnkgbXVsdGkgaW5zdGFuY2Ugb24gV2luZG93cywgd2hlcmUgc29ja2V0cGFpcigpIGlzIGVtdWxhdGVkCisgIHVzaW5nIGEgVENQIHNvY2tldCBvbiBsb29wYmFjayB3aGljaCBjb3VsZCBpbiB0dXJuIGxlYWQgdG8gc29ja2V0CisgIHJlc291cmNlIGV4aGF1c3Rpb24uCisgIAorICBSZXZpZXdlZC1ieTogR2VyZ2VseSBOYWd5CisgIFJldmlld2VkLWJ5OiBNYXJjIEjDtnJza2VuCisgIAorICBDbG9zZXMgIzUzOTcKKworRGFuaWVsIFN0ZW5iZXJnICgxNyBKdW4gMjAyMCkKKy0gbWFucGFnZTogYWRkIHRocmVlIG1pc3NpbmcgZW52aXJvbm1lbnQgdmFyaWFibGVzCisgIAorICBDVVJMX1NTTF9CQUNLRU5ELCBRTE9HRElSIGFuZCBTU0xLRVlMT0dGSUxFCisgIAorICBDbG9zZXMgIzU1NzEKKworLSBSRUxFQVNFLU5PVEVTOiBzeW5jZWQKKworLSBjb25maWd1cmU6IGZvciB3b2xmU1NMLCBjaGVjayBmb3IgdGhlIERFUyBmdW5jIG5lZWRlZCBmb3IgTlRMTQorICAKKyAgQWxzbyBhZGRzIHBrZy1jb25maWcgc3VwcG9ydCBmb3IgdGhlIHdvbGZTU0wgZGV0ZWN0aW9uLgorCistIFtSdXVyZCBCZWVyc3RyYSBicm91Z2h0IHRoaXMgY2hhbmdlXQorCisgIG50bG06IGVuYWJsZSBOVExNIHN1cHBvcnQgd2l0aCB3b2xmU1NMCisgIAorICBXaGVuIHdvbGZTU0wgaXMgYnVpbHQgd2l0aCBpdHMgT3BlblNTTCBBUEkgbGF5ZXIsIGl0IGZldHVyZXMgdGhlIHNhbWUgREVTKgorICBmdW5jdGlvbnMgdGhhdCBPcGVuU1NMIGhhcy4gVGhpcyBjaGFuZ2UgdGFrZSBhZHZhbnRhZ2Ugb2YgdGhhdC4KKyAgCisgIENvLWF1dGhvcmVkLWJ5OiBEYW5pZWwgU3RlbmJlcmcKKyAgQ2xvc2VzICM1NTU2CisgIEZpeGVzICM1NTQ4CisKKy0gaHR0cDogbW92ZSBoZWFkZXIgc3RvcmFnZSB0byBDdXJsX2Vhc3kgZnJvbSBjb25uZWN0ZGF0YQorICAKKyAgU2luY2UgdGhlIGNvbm5lY3Rpb24gY2FuIGJlIHVzZWQgYnkgbWFueSBpbmRlcGVuZGVudCByZXF1ZXN0cyAodXNpbmcKKyAgSFRUUC8yIG9yIEhUVFAvMyksIHRoaW5ncyBsaWtlIHVzZXItYWdlbnQgYW5kIG90aGVyIHRyYW5zZmVyLXNwZWNpZmljCisgIGRhdGEgTVVTVCBOT1QgYmUga2VwdCBjb25uZWN0aW9uIG9yaWVudGVkIGFzIGl0IGNvdWxkIGxlYWQgdG8gcmVxdWVzdHMKKyAgZ2V0dGluZyB0aGUgd3Jvbmcgc3RyaW5nIGZvciB0aGVpciByZXF1ZXN0cy4gVGhpcyBzdHJ1Y3QgZGF0YSB3YXMKKyAgbGluZ2VyaW5nIGxpa2UgdGhpcyBkdWUgdG8gb2xkIEhUVFAxIGxlZ2FjeSB0aGlua2luZyB3aGVyZSBpdCBkaWRuJ3QKKyAgbWF0dGVyZWQuLgorICAKKyAgRml4ZXMgIzU1NjYKKyAgQ2xvc2VzICM1NTY3CisKKy0gQ09ERV9SRVZJRVcubWQ6IGhvdyB0byBkbyBjb2RlIHJldmlld3MgaW4gY3VybAorICAKKyAgQXNzaXN0ZWQtYnk6IERhbmllbCBHdXN0YWZzc29uCisgIEFzc2lzdGVkLWJ5OiBSaWNoIFNhbHoKKyAgQXNzaXN0ZWQtYnk6IEh1Z28gdmFuIEtlbWVuYWRlCisgIEFzc2lzdGVkLWJ5OiBKYW1lcyBGdWxsZXIKKyAgQXNzaXN0ZWQtYnk6IE1hcmMgSMO2cnNrZW4KKyAgQXNzaXN0ZWQtYnk6IEpheSBTYXRpcm8KKyAgCisgIENsb3NlcyAjNTU1NQorCistIGFsdHN2YzogcmVtb3ZlIHRoZSBudW0gZmllbGQgZnJvbSB0aGUgYWx0c3ZjIHN0cnVjdAorICAKKyAgSXQgd2FzIHN1cGVyZmx1b3VzIHNpbmNlIHdlIGhhdmUgdGhlIGxpc3Quc2l6ZSBhbHJlZHkKKyAgCisgIFJlcG9ydGVkLWJ5OiBKYXkgU2F0aXJvCisgIEZpeGVzICM1NTUzCisgIENsb3NlcyAjNTU2MworCistIHZlcnNpb24uZDogZXhwYW5kZWQgYW5kIGFscGhhLXNvcnRlZAorICAKKyAgQWRkZWQgYSBmZXcgbWlzc2luZyBmZWF0dXJlcyBub3QgcHJldmlvdXNseSBtZW50aW9uZWQuIE9yZGVyZWQgdGhlbQorICBhbHBoYWJldGljYWxseS4KKyAgCisgIENsb3NlcyAjNTU1OAorCistIEFCSS5tZDogcmVuYW1lIHRvIC5tZCBhbmQgcG9saXNoIHRoZSBtYXJrZG93bgorICAKKyAgQ2xvc2VzICM1NTYyCisKKy0gSEVMUC1VUzogYWRkIGEgc2VjdGlvbiBmb3IgInNtYWxsZXIgdGFza3MiCisgIAorICBUaGUgcG9pbnQgb2YgdGhpcyBzZWN0aW9uIGlzIHRvIG1lZXQgdGhlIENJSSBCZXN0IFByYWN0aWNlcyBnb2xkIGxldmVsCisgIGNyaXRlcmE6CisgIAorICAgIlRoZSBwcm9qZWN0IE1VU1QgY2xlYXJseSBpZGVudGlmeSBzbWFsbCB0YXNrcyB0aGF0IGNhbiBiZSBwZXJmb3JtZWQgYnkKKyAgICBuZXcgb3IgY2FzdWFsIGNvbnRyaWJ1dG9ycyIKKyAgCisgIENsb3NlcyAjNTU2MAorCistIFRPRE86IHJldHJ5IG9uIHRoZSByZWRpcmVjdGVkLXRvIFVSTAorICAKKyAgQ2xvc2VzICM1NDYyCisKKy0gbWFpbG1hcDogTmljb2xhcyBTdGVyY2hlbGUKKworLSBbTmljb2xhcyBTdGVyY2hlbGUgYnJvdWdodCB0aGlzIGNoYW5nZV0KKworICBUT0RPOiByZW1vdmUgMTkuMyBzZWN0aW9uIHRpdGxlCisgIAorICBGb2xsb3ctdXAgdG8gYWQ2NDE2OTg2NzU1ZTQxN2M2NmUyYzYsIHdoaWNoIGNhdXNlZCB3cm9uZyBmb3JtYXR0aW5nIG9uCisgIGN1cmwgZG9jdW1lbnRhdGlvbiB3ZWJzaXRlCisgIAorICBDbG9zZXMgIzU1NjEKKworLSBbTWFydGluIFYgYnJvdWdodCB0aGlzIGNoYW5nZV0KKworICB0ZXN0MTU2MDogYXZvaWQgcG9zc2libHkgbmVnYXRpdmUgYXNzb2NpYXRpb24gaW4gd29yZGluZworICAKKyAgQ2xvc2VzICM1NTQ5CisKKy0gc2hhcmU6IGRvbid0IHNldCB0aGUgc2hhcmUgZmxhZyBpdCBzb21ldGhpbmcgZmFpbHMKKyAgCisgIFdoZW4gYXNraW5nIGZvciBhIHNwZWNpZmljIGZlYXR1cmUgdG8gYmUgc2hhcmVkIGluIHRoZSBzaGFyZSBvYmplY3QsCisgIHRoYXQgYml0IHdhcyBwcmV2aW91c2x5IHNldCB1bmNvbmRpdGlvbmFsbHkgZXZlbiBpZiB0aGUgc2hhcmVkIGZlYXR1cmUKKyAgZmFpbGVkIG9yIG90aGVyd2lzZSB3b3VsZG4ndCB3b3JrLgorICAKKyAgQ2xvc2VzICM1NTU0CisKKy0gYnVpbGRjb25mOiByZW1vdmUgLXByaW50IGZyb20gdGhlIGZpbmQgY29tbWFuZCB0aGF0IHJlbW92ZXMgZmlsZXMKKyAgCisgIEl0J3MganVzdCB0b28gYW5ub3lpbmcgYW5kIHVubmVjZXNzYXJ5IHRvIGdldCBhIGxvbmcgbGlzdCBvZiBmaWxlcyBzaG93bgorCistIFJFTEVBU0UtTk9URVM6IHN5bmNlZAorCistIHdvcmRpbmc6IGF2b2lkIGJsYWNrbGlzdC93aGl0ZWxpc3Qgc3RlcmVvdHlwZXMKKyAgCisgIEluc3RlYWQgb2YgZGlzY3Vzc2luZyBpZiB0aGVyZSdzIHZhbHVlIG9yIG1lYW5pbmcgKGltcGxpZWQgb3Igbm90KSBpbgorICB0aGUgY29sb3JzLCBsZXQncyB1c2Ugd29yZHMgd2l0aG91dCB0aGUgc2FtZSBwb3NzaWJseSBuZWdhdGl2ZQorICBhc3NvY2lhdGlvbnMuCisgIAorICBDbG9zZXMgIzU1NDYKKworSmF5IFNhdGlybyAoOSBKdW4gMjAyMCkKKy0gdG9vbF9nZXRwYXJhbTogZml4IG1lbW9yeSBsZWFrIGluIHBhcnNlX2FyZ3MKKyAgCisgIFByaW9yIHRvIHRoaXMgY2hhbmdlIGluIFdpbmRvd3MgVW5pY29kZSBidWlsZHMgbW9zdCBwYXJzZWQgb3B0aW9ucyB3b3VsZAorICBub3QgYmUgZnJlZWQuCisgIAorICBGb3VuZCB1c2luZyBfQ3J0RHVtcE1lbW9yeUxlYWtzKCkuCisgIAorICBSZWY6IGh0dHBzOi8vZ2l0aHViLmNvbS9jdXJsL2N1cmwvaXNzdWVzLzU1NDUKKworRGFuaWVsIFN0ZW5iZXJnICg4IEp1biAyMDIwKQorLSBzb2NrczogZGV0ZWN0IGNvbm5lY3Rpb24gY2xvc2UgZHVyaW5nIGhhbmRzaGFrZQorICAKKyAgVGhlIFNPQ0tTNC81IHN0YXRlIG1hY2hpbmVzIHdlcmVuJ3QgcHJvcGVybHkgdGVybWluYXRlZCB3aGVuIHRoZSBwcm94eQorICBjb25uZWN0aW9uIGdvdCBjbG9zZWQsIGxlYWRpbmcgdG8gYSBidXN5LWxvb3AuCisgIAorICBSZXBvcnRlZC1CeTogemxvaS11c2VyIG9uIGdpdGh1YgorICBGaXhlcyAjNTUzMgorICBDbG9zZXMgIzU1NDIKKworLSBbSmFtZXMgRnVsbGVyIGJyb3VnaHQgdGhpcyBjaGFuZ2VdCisKKyAgbXVsdGk6IGFkZCBkZWZlbnNpdmUgY2hlY2sgb24gZGF0YS0+bXVsdGktPm51bV9hbGl2ZQorICAKKyAgQ2xvc2VzICM1NTQwCisKKy0gQ3VybF9hZGRyaW5mbzogdXNlIG9uZSBtYWxsb2MgaW5zdGVhZCBvZiB0aHJlZQorICAKKyAgVG8gcmVkdWNlIHRoZSBhbW91bnQgb2YgYWxsb2NhdGlvbnMgbmVlZGVkIGZvciBjcmVhdGluZyBhIEN1cmxfYWRkcmluZm8KKyAgc3RydWN0LCBtYWtlIGEgc2luZ2xlIGxhcmdlciBtYWxsb2MgaW5zdGVhZCBvZiB0aHJlZSBzZXBhcmF0ZSBzbWFsbGVyCisgIG9uZXMuCisgIAorICBDbG9zZXMgIzU1MzMKKworLSBbQWxlc3NhbmRybyBHaGVkaW5pIGJyb3VnaHQgdGhpcyBjaGFuZ2VdCisKKyAgcXVpY2hlOiB1cGRhdGUgU1NMS0VZTE9HRklMRSBzdXBwb3J0CisgIAorICBxdWljaGUgbm93IHJlcXVpcmVzIHRoZSBhcHBsaWNhdGlvbiB0byBleHBsaWNpdGx5IHNldCB0aGUga2V5bG9nIHBhdGgKKyAgZm9yIGVhY2ggY29ubmVjdGlvbiwgcmF0aGVyIHRoYW4gcmVhZGluZyB0aGUgZW52aXJvbm1lbnQgdmFyaWFibGUKKyAgaXRzZWxmLgorICAKKyAgQ2xvc2VzICM1NTQxCisKKy0gdGVzdHM6IGFkZCB0d28gc2ltcGxlIHRlc3RzIGZvciAtLWxvZ2luLW9wdGlvbnMKKyAgCisgIFRlc3QgODk1IGFuZCA4OTYgLSBhcyBhIGZvbGxvdy11cCB0byBhM2U5NzIzMTNiCisgIAorICBDbG9zZXMgIzU1MzkKKworLSBuZ3RjcDI6IHVwZGF0ZSB3aXRoIHJlY2VudCBBUEkgY2hhbmdlcworICAKKyAgU3luY3Mgd2l0aCBuZ3RjcDIgY29tbWl0IDdlOWE5MTdkMzg2ZDk4IG1lcmdlZCBKdW5lIDcgMjAyMC4KKyAgCisgIEFzc2lzdGVkLWJ5OiBUYXRzdWhpcm8gVHN1amlrYXdhCisgIENsb3NlcyAjNTUzOAorCistIFtKYW1lcyBGdWxsZXIgYnJvdWdodCB0aGlzIGNoYW5nZV0KKworICBzb2NrczogcmVtb3ZlIHVucmVhY2hhYmxlIGJyZWFrcyBpbiBzb2Nrcy5jIGFuZCBtaW1lLmMKKyAgCisgIENsb3NlcyAjNTUzNworCistIHRvb2xfY2ZnYWJsZTogZnJlZSBsb2dpbl9vcHRpb25zIGF0IGV4aXQKKyAgCisgIE1lbW9yeSBsZWFrCisgIFJlcG9ydGVkLWJ5OiBHZWVrbmlrIExhYnMKKyAgRml4ZXMgIzU1MzUKKyAgQ2xvc2VzICM1NTM2CisKKy0gbGlic3NoMjoga2VlcCBzZnRwIGVycm9ycyBhcyAndW5zaWduZWQgbG9uZycKKyAgCisgIFJlbW92ZSB3ZWlyZCB3b3JrLWFyb3VuZCBmb3Igc3RvcmluZyB0aGUgU0ZUUCBlcnJvcnMgYXMgaW50IGluc3RlYWQgb2YKKyAgdGhlICJ1bnNpZ25lZCBsb25nIiB0aGF0IGxpYnNzaDIgYWN0dWFsbHkgcmV0dXJucyBmb3IgU0ZUUCBlcnJvcnMuCisgIAorICBDbG9zZXMgIzU1MzQKKworTWFyYyBIb2Vyc2tlbiAoNiBKdW4gMjAyMCkKKy0gdGltZW91dHM6IG1vdmUgbXMgdGltZW91dHMgdG8gdGltZWRpZmZfdCBmcm9tIGludCBhbmQgbG9uZworICAKKyAgTm93IHRoYXQgYWxsIGZ1bmN0aW9ucyBpbiBzZWxlY3QuW2NoXSB0YWtlIHRpbWVkaWZmX3QgaW5zdGVhZAorICBvZiB0aGUgbGltaXRlZCBpbnQgb3IgbG9uZywgd2UgY2FuIHJlbW92ZSB0eXBlIGNvbnZlcnNpb25zCisgIGFuZCByZWxhdGVkIHByZXByb2Nlc3NvciBjaGVja3MgdG8gc2lsZW5jZSBjb21waWxlciB3YXJuaW5ncy4KKyAgCisgIEF2b2lkaW5nIGNvbnZlcnNpb25zIGZyb20gdGltZV90IHdhcyBhbHJlYWR5IGRvbmUgaW4gODQyZjczZGUuCisgIAorICBCYXNlZCB1cG9uICM1MjYyCisgIFN1cGVyc2VkZXMgIzUyMTQsICM1MjIwIGFuZCAjNTIyMQorICBGb2xsb3cgdXAgdG8gIzUzNDMgYW5kICM1NDc5CisgIENsb3NlcyAjNTQ5MAorCitEYW5pZWwgU3RlbmJlcmcgKDYgSnVuIDIwMjApCistIFtGcmFuw6dvaXMgUmlnYXVsdCBicm91Z2h0IHRoaXMgY2hhbmdlXQorCisgIG9wZW5zc2w6IHNldCBGTEFHX1RSVVNURURfRklSU1QgdW5jb25kaXRpb25hbGx5CisgIAorICBPbiBzb21lIHN5c3RlbXMsIG9wZW5zc2wgMS4wLnggaXMgc3RpbGwgdGhlIGRlZmF1bHQsIGJ1dCBpdCBoYXMgYmVlbgorICBwYXRjaGVkIHRvIGNvbnRhaW4gYWxsIHRoZSByZWNlbnQgc2VjdXJpdHkgZml4ZXMuIEFzIGEgcmVzdWx0IG9mIHRoaXMKKyAgcGF0Y2hpbmcsIGl0IGlzIHBvc3NpYmxlIGZvciBtYWNybyBYNTA5X1ZfRkxBR19OT19BTFRfQ0hBSU5TIHRvIGJlCisgIGRlZmluZWQsIHdoaWxlIHRoZSBwcmV2aW91cyBiZWhhdmlvciBvZiBvcGVuc3NsIHRvIG5vdCBsb29rIGF0IHRydXN0ZWQKKyAgY2hhaW5zIGZpcnN0LCByZW1haW5zLgorICAKKyAgRml4IGl0OiBlbnN1cmUgWDUwOV9WX0ZMQUdfVFJVU1RFRF9GSVJTVCBpcyBhbHdheXMgc2V0LCBkbyBub3QgdHJ5IHRvCisgIHByb2JlIGZvciB0aGUgYmVoYXZpb3Igb2Ygb3BlbnNzbCBiYXNlZCBvbiB0aGUgZXhpc3RlbmNlIG9mbWFjcm9zLgorICAKKyAgQ2xvc2VzICM1NTMwCisKKy0gc2VydmVyL3V0aWw6IGZpeCBsb2dtc2cgZm9ybWF0IHVzaW5nIGN1cmxfb2ZmX3QgYXJndW1lbnQKKyAgCisgIC4uLiB0aGlzIGNhdXNlZCBzZWdmYXVsdHMgb24gYXJtdjcuCisgIAorICBSZWdyZXNzaW9uIGFkZGVkIGluIGRkMDM2NWQ1NjBhZWE1YSAoNy43MC4wKQorICAKKyAgUmV2aWV3ZWQtYnk6IEpheSBTYXRpcm8KKyAgQ2xvc2VzICM1NTI5CisKKy0gUkVMRUFTRS1OT1RFUzogc3luY2VkCisKKy0gW0NoZXJpc2g5OCBicm91Z2h0IHRoaXMgY2hhbmdlXQorCisgIHNvY2tzOiBmaXggZXhwZWN0ZWQgbGVuZ3RoIG9mIFNPQ0tTNSByZXBseQorICAKKyAgQ29tbWl0IDRhNGI2M2QgZm9yZ290IHRvIHNldCB0aGUgZXhwZWN0ZWQgU09DS1M1IHJlcGx5IGxlbmd0aCB3aGVuIHRoZQorICByZXBseSBBVFlQIGlzIFgnMDEnLiBUaGlzIHJlc3VsdGVkIGluIGVycm9uZW91c2x5IGV4cGVjdGluZyBtb3JlIGJ5dGVzCisgIHdoZW4gdGhlIHJlcXVlc3QgbGVuZ3RoIGlzIGdyZWF0ZXIgdGhhbiB0aGUgcmVwbHkgbGVuZ3RoIChlLmcuLCB3aGVuCisgIHJlbW90ZWx5IHJlc29sdmluZyB0aGUgaG9zdG5hbWUpLgorICAKKyAgQ2xvc2VzICM1NTI3CisKK01hcmMgSG9lcnNrZW4gKDUgSnVuIDIwMjApCistIC5naXRpZ25vcmU6IGFkZCBkaXJlY3RvcnkgY29udGFpbmluZyB0aGUgc3RhdHMgcmVwbworICAKKyAgU2luY2UgdGhlIG5ldyBjdXJsL3N0YXRzIHJlcG9zaXRvcnkgaXMgZGVzaWduZWQgdG8gYmUKKyAgY2hlY2tlZCBvdXQgaW50byB0aGUgY3VybCByZXBvc2l0b3J5IHdvcmtpbmcgdHJlZSBhcyBzdGF0cy8KKyAgaXQgc2hvdWxkIGJlIG9uIHRoZSBpZ25vcmUgbGlzdCB0byBhaWQgaW4gY29tbWl0IHN0YWdpbmcuCisKK0RhbmllbCBTdGVuYmVyZyAoNSBKdW4gMjAyMCkKKy0gW0FkbmFuIEtoYW4gYnJvdWdodCB0aGlzIGNoYW5nZV0KKworICBIVFRQMy5tZDogY2xhcmlmeSBjYXJnbyBidWlsZCBkaXJlY3RvcnkKKyAgCisgIENhcmdvIG5lZWRzIHRvIGJlIGNhbGxlZCBmcm9tIHdpdGhpbiB0aGUgJ3F1aWNoZScgZGlyZWN0b3J5LgorICAKKyAgQ2xvc2VzICM1NTIyCisKKy0gdXNlci1hZ2VudC5kOiBzcGVsbCBvdXQgd2hhdCBoYXBwZW5zIGdpdmVuIGEgYmxhbmsgYXJndW1lbnQKKyAgCisgIENsb3NlcyAjNTUyNQorCistIHRyYWlsZXJzOiBzd2l0Y2ggaDEtdHJhaWxlciBsb2dpYyB0byB1c2UgZHluYnVmCisgIAorICBJbiB0aGUgY29udGludWVkIGVmZm9ydCB0byByZW1vdmUgIm1hbnVhbCIgcmVhbGxvYyBzY2hlbWVzLgorICAKKyAgQ2xvc2VzICM1NTI0CisKKy0gQ1VSTElORk9fQUNUSVZFU09DS0VULjM6IGNsYXJpZnkgdGhlIGRlc2NyaXB0aW9uCisgIAorICBSZXBvcnRlZC1ieTogSmF5IFNhdGlybworICBGaXhlcyAjNTI5OQorICBDbG9zZXMgIzU1MjAKKworLSBtYWlsbWFwOiBEb24gSiBPbG1zdGVhZAorCistIGNvbmZpZ3VyZTogb25seSBzdHJpcCBmaXJzdCAtTCBmcm9tIExERkxBR1MKKyAgCisgIEluIHRoZSBsb2dpYyB0aGF0IHdvcmtzIG91dCBpZiBhIGdpdmVuIE9wZW5TU0wgcGF0aCB3b3JrcywgaXQgc3RyaXBwZWQKKyAgb2ZmIGEgcG9zc2libHkgbGVhZGluZyAtTCBmbGFnIHVzaW5nIGFuIGluY29ycmVjdCBzZWQgcGF0dGVybiB3aGljaAorICB3b3VsZCByZW1vdmUgYWxsIGluc3RhbmNlcyBvZiAtTCBpbiB0aGUgc3RyaW5nLCBpbmNsdWRpbmcgaWYgdGhlIHBhdGgKKyAgaXRzZWxmIGNvbnRhaW5lZCB0aGF0IHR3by1sZXR0ZXIgc2VxdWVuY2UhCisgIAorICBUaGUgc2FtZSBwYXR0ZXJuIHdhcyB1c2VkIGFuZCBpcyBub3cgdXBkYXRlZCBpbiBtdWx0aXBsZSBwbGFjZXMuIE5vdyBpdAorICBvbmx5IHJlbW92ZXMgLUwgaWYgaXQgc3RhcnRzIHRoZSBzdHJpbmdzLgorICAKKyAgUmVwb3J0ZWQtYnk6IE1vaGFtZWQgT3NhbWEKKyAgRml4ZXMgIzU1MTkKKyAgQ2xvc2VzICM1NTIxCisKK1BldGVyIFd1ICg0IEp1biAyMDIwKQorLSBxdWljaGU6IGFkdmVydGlzZSBkcmFmdCAyOCBzdXBwb3J0CisgIAorICBGaXggdGhlIHZlcmJvc2UgbWVzc2FnZSB3aGlsZSBhdCBpdCwgcXVpY2hlIGN1cnJlbnRseSBzdXBwb3J0cyBkcmFmdAorICAyNyBhbmQgZHJhZnQgMjggc2ltdWx0YW5lb3VzbHkuCisgIAorICBDbG9zZXMgIzU1MTgKKworRGFuaWVsIFN0ZW5iZXJnICg0IEp1biAyMDIwKQorLSBLTk9XTl9CVUdTOiBSVFNQIGF1dGhlbnRpY2F0aW9uIGJyZWFrcyB3aXRob3V0IHJlZGlyZWN0IHN1cHBvcnQKKyAgCisgIENsb3NlcyAjNDc1MAorCitKYXkgU2F0aXJvICg0IEp1biAyMDIwKQorLSBwcm9qZWN0czogQWRkIGNyeXB0MzIubGliIHRvIGRlcGVuZGVuY2llcyBmb3IgYWxsIE9wZW5TU0wgY29uZmlncworICAKKyAgV2luZG93cyBwcm9qZWN0IGNvbmZpZ3VyYXRpb25zIHRoYXQgdXNlIE9wZW5TU0wgd2l0aCBVU0VfV0lOMzJfQ1JZUFRPCisgIG5lZWQgY3J5cHQzMi4KKyAgCisgIEZvbGxvdy11cCB0byAxNDg1MzRkIHdoaWNoIGFkZGVkIENVUkxTU0xPUFRfTkFUSVZFX0NBIGZvciA3LjcxLjAuCisgIAorICBUaGUgY2hhbmdlcyB0aGF0IGFyZSBpbiB0aGlzIGNvbW1pdCB3ZXJlIG1hZGUgYnkgc2NyaXB0LgorICAKKyAgUmVmOiBodHRwczovL2dpc3QuZ2l0aHViLmNvbS9qYXkvYTE4NjFiNTBlY2NlMmIzMjkzMTIzNzE4MGY4NTZlMjgKKyAgCisgIENsb3NlcyBodHRwczovL2dpdGh1Yi5jb20vY3VybC9jdXJsL3B1bGwvNTUxNgorCitNYXJjIEhvZXJza2VuICgzIEp1biAyMDIwKQorLSBDSS9tYWNvczogZml4ICdpcyBhbHJlYWR5IGluc3RhbGxlZCcgZXJyb3JzIGJ5IHVzaW5nIGJ1bmRsZQorICAKKyAgQXZvaWQgZmFpbGluZyBDSSBidWlsZHMgZHVlIHRvIG5naHR0cDIgYmVpbmcgYWxyZWFkeSBpbnN0YWxsZWQuCisgIAorICBDbG9zZXMgIzU1MTMKKworRGFuaWVsIFN0ZW5iZXJnICgzIEp1biAyMDIwKQorLSBhbHRzdmM6IGZpeCAnZHN0aG9zdCcgbWF5IGJlIHVzZWQgdW5pbml0aWFsaXplZCBpbiB0aGlzIGZ1bmN0aW9uCisKKy0gUkVMRUFTRS1OT1RFUzogc3luY2VkCisKKy0gdXJsZGF0YTogbGV0IHRoZSBIVFRQIG1ldGhvZCBiZSBpbiB0aGUgc2V0Liogc3RydWN0CisgIAorICBXaGVuIHRoZSBtZXRob2QgaXMgdXBkYXRlZCBpbnNpZGUgbGliY3VybCB3ZSBtdXN0IHN0aWxsIG5vdCBjaGFuZ2UgdGhlCisgIG1ldGhvZCBhcyBzZXQgYnkgdGhlIHVzZXIgYXMgdGhlbiByZXBlYXRlZCB0cmFuc2ZlcnMgd2l0aCB0aGF0IHNhbWUKKyAgaGFuZGxlIG1pZ2h0IG5vdCBleGVjdXRlIHRoZSBzYW1lIG9wZXJhdGlvbiBhbnltb3JlIQorICAKKyAgVGhpcyBmaXhlcyB0aGUgbGliY3VybCBwYXJ0IG9mICM1NDYyCisgIAorICBUZXN0IDE2MzMgYWRkZWQgdG8gdmVyaWZ5LgorICAKKyAgQ2xvc2VzICM1NDk5CisKKy0gaG9zdGlwOiBmaXggdGhlIG1lbW9yeS1sZWFrIGludHJvZHVjZWQgaW4gNjdkMjgwMgorICAKKyAgRml4ZXMgIzU1MDMKKyAgQ2xvc2VzICM1NTA0CisKKy0gdGVzdDk3MDogbWFrZSBpdCByZXF1aXJlIHByb3h5IHN1cHBvcnQKKyAgCisgIFRoaXMgdGVzdCB2ZXJpZmllcyB0aGUgLXcgJWpzb24gb3V0cHV0IGFuZCB0aGUgdGVzdCBjYXNlIGluY2x1ZGVzIGEgZnVsbAorICBnZW5lcmF0ZWQgImJsb2IiLiBJZiB0aGVyZSdzIG5vIHByb3h5IHN1cHBvcnQgYnVpbHQgaW50byBsaWJjdXJsLCBpdAorICB3aWxsIHJldHVybiBhbiBlcnJvciBmb3IgcHJveHkgcmVsYXRlZCBpbmZvIHZhcmlhYmxlcyBhbmQgdGhleSB3aWxsIG5vdAorICBiZSBpbmNsdWRlZCBpbiB0aGUganNvbiwgdGh1cyBjYXVzaW5nIGEgbWlzbWF0Y2ggYW5kIHRoaXMgdGVzdCBmYWlscy4KKyAgCisgIFJlcG9ydGVkLWJ5OiBNYXJjIEjDtnJza2VuCisgIEZpeGVzICM1NTAxCisgIENsb3NlcyAjNTUwMgorCistIFtSYWRvc2xhdiBHZW9yZ2lldiBicm91Z2h0IHRoaXMgY2hhbmdlXQorCisgIGV4YW1wbGVzL2h0dHAyLWRvd24vdXBsb2FkOiBhZGQgZXJyb3IgY2hlY2tzCisgIAorICBJZiBgaW5kZXguaHRtbGAgZG9lcyBub3QgZXhpc3QgaW4gdGhlIGRpcmVjdG9yeSBmcm9tIHdoaWNoIHRoZSBleGFtcGxlCisgIGlzIGludm9rZWQsIHRoZSBmb3Blbih1cGxvYWQsICJyYiIpIGludm9jYXRpb24gaW4gYHNldHVwYCB3b3VsZCBmYWlsLAorICByZXR1cm5pbmcgTlVMTC4gIFRoaXMgdmFsdWUgaXMgc3Vic2VxdWVudGx5IHBhc3NlZCBhcyB0aGUgRklMRSogYXJndW1lbnQKKyAgb2YgdGhlIGBmcmVhZGAgaW52b2NhdGlvbiBpbiB0aGUgYHJlYWRfY2FsbGJhY2tgIGZ1bmN0aW9uLCB3aGljaCBpcyB0aGUKKyAgYWN0dWFsIGNhdXNlIG9mIHRoZSBjcmFzaCAoYXBwYXJlbnRseSBgZnJlYWRgIGFzc3VtZXMgdGhhdCBhcmd1bWVudCB0bworICBiZSBub24tbnVsbCkuCisgIAorICBJbiBhZGRpdGlvbiwgbWl0aWdhdGUgc29tZSBwb3NzaWJsZSBjcmFzaGVzIG9mIHNpbWlsYXIgb3JpZ2luLgorICAKKyAgQ2xvc2VzICM1NDYzCisKKy0gW2tvdG9yaeOBruOBreOBkyBicm91Z2h0IHRoaXMgY2hhbmdlXQorCisgIGV4YW1wbGVzL2VwaGlwZXJmaWZvOiB0dXJuIG9mZiBpbnRlcnZhbCB3aGVuIHNldHRpbmcgdGltZXJmZAorICAKKyAgUmVwb3J0ZWQtYnk6IHRoZXJlYWxoaXJ1ZG8gb24gZ2l0aHViCisgIEZpeGVzICM1NDg1CisgIENsb3NlcyAjNTQ5NworCistIFtTYWxlZW0gQWJkdWxyYXNvb2wgYnJvdWdodCB0aGlzIGNoYW5nZV0KKworICB2dGxzOiByZXBhaXIgdGhlIGJ1aWxkIHdpdGggYENVUkxfRElTQUJMRV9QUk9YWWAKKyAgCisgIGBodHRwX3Byb3h5YCB3aWxsIG5vdCBiZSBhdmFpbGFibGUgaW4gYGNvbm5kYXRhYCBpZiBgQ1VSTF9ESVNBQkxFX1BST1hZYAorICBpcyBlbmFibGVkLiAgUmVwYWlyIHRoZSBidWlsZCB3aXRoIHRoYXQgY29uZmlndXJhdGlvbi4KKyAgCisgIEZvbGxvdy11cCB0byBmM2Q1MDFkYzY3CisgIAorICBDbG9zZXMgIzU0OTgKKworLSB0cmFuc2ZlcjogcmVtb3ZlIGstPnN0ciBOVUxMIGNoZWNrCisgIAorICAiTnVsbC1jaGVja2luZyBrLT5zdHIgc3VnZ2VzdHMgdGhhdCBpdCBtYXkgYmUgbnVsbCwgYnV0IGl0IGhhcyBhbHJlYWR5CisgIGJlZW4gZGVyZWZlcmVuY2VkIG9uIGFsbCBwYXRocyBsZWFkaW5nIHRvIHRoZSBjaGVjayIgLSBhbmQgaXQgY2FuJ3QKKyAgbGVnYWxseSBiZSBOVUxMIGF0IHRoaXMgcG9pbnQuIFJlbW92ZSBjaGVjay4KKyAgCisgIERldGVjdGVkIGJ5IENvdmVyaXR5IENJRCAxNDYzODg0CisgIAorICBDbG9zZXMgIzU0OTUKKworTWFyYyBIb2Vyc2tlbiAoMSBKdW4gMjAyMCkKKy0gc2VsZWN0OiBhbHdheXMgdXNlIFNsZWVwIGluIEN1cmxfd2FpdF9tcyBvbiBXaW4zMgorICAKKyAgU2luY2UgV2luMzIgYWxtb3N0IGFsd2F5cyB3aWxsIGFsc28gaGF2ZSBVU0VfV0lOU09DSywKKyAgd2UgY2FuIHJlZHVjZSBjb21wbGV4aXR5IGFuZCBhbHdheXMgdXNlIFNsZWVwIHRoZXJlLgorICAKKyAgQXNzaXN0ZWQtYnk6IEpheSBTYXRpcm8KKyAgUmV2aWV3ZWQtYnk6IERhbmllbCBTdGVuYmVyZworICAKKyAgRm9sbG93IHVwIHRvICM1MzQzCisgIENsb3NlcyAjNTQ4OQorCitEYW5pZWwgU3RlbmJlcmcgKDMxIE1heSAyMDIwKQorLSBjb25uY2FjaGU6IGRvd25sb2FkIGJ1ZmZlciBuZWVkcyArMSBzaXplIGZvciB0cmFpbGluZyB6ZXJvCisgIAorICBGb2xsb3ctdXAgdG8gYzRlNjk2ODEyN2UKKyAgRGV0ZWN0ZWQgYnkgT1NTLUZ1eno6IGh0dHBzOi8vb3NzLWZ1enouY29tL3Rlc3RjYXNlLWRldGFpbC81NzI3Nzk5Nzc5NTI0NjA4CisKK01hcmMgSG9lcnNrZW4gKDMxIE1heSAyMDIwKQorLSBhenVyZTogdXNlIG1hdHJpeCBzdHJhdGVneSB0byBhdm9pZCBjb25maWd1cmF0aW9uIHJlZHVuZGFuY3kKKyAgCisgIFRoaXMgYWxzbyBpbmNsdWRlcyB0aGUgZm9sbG93aW5nIGNoYW5nZXM6CisgIAorICAtIFVzZSB0aGUgc2FtZSB0aW1lb3V0IGZvciBhbGwgam9icyBvbiBMaW51eCAoNjAgbWludXRlcykKKyAgICBhbmQgV2luZG93cyAoOTAgbWludXRlcykKKyAgLSBVc2UgQ0xJIHN0YWJsZSBhcHQtZ2V0IGluc3RhbGwgLXkgaW5zdGVhZCBvZiBhcHQgaW5zdGFsbAorICAgIHdoaWNoIHdhcm5zIGFib3V0IHRoYXQgYW5kIHJ1biBhcHQtZ2V0IHVwZGF0ZSBmaXJzdAorICAtIEVuYWJsZSBNUVRUIGZvciBXaW5kb3dzIG1zeXMyIGJ1aWxkcyBpbnN0ZWFkIG9mCisgICAgbGVnYWN5IG1zeXMxIGJ1aWxkcworICAtIEFkZCAuL2NvbmZpZ3VyZSAtLXByZWZpeCBwYXJhbWV0ZXIgdG8gdGhlIG1zeXMyIGJ1aWxkcworICAtIFRoZSBNU1lTVEVNIGVudmlyb25tZW50IHZhcmlhYmxlIGlzIG5vdyBwcmVzZXQgaW5zaWRlCisgICAgdGhlIGNvbnRhaW5lciBpbWFnZXMgZm9yIHRoZSBtc3lzMiBidWlsZHMKKyAgCisgIE5vdGU6IG9uIEF6dXJlIFBpcGVsaW5lcyB0aGUgbWF0cml4IHN0cmF0ZWd5IGlzIGJhc2ljYWxseQorICBqdXN0IGEgc2ltcGxlIGxpc3Qgb2Ygam9iIGNvcGllcyBhbmQgbm90IHJlYWxseSBhIG1hdHJpeC4KKyAgCisgIENsb3NlcyAjNTQ2OAorCitEYW5pZWwgU3RlbmJlcmcgKDMwIE1heSAyMDIwKQorLSBidWlsZDogZGlzYWJsZSBtb3JlIGNvZGUvZGF0YSB3aGVuIGJ1aWx0IHdpdGhvdXQgcHJveHkgc3VwcG9ydAorICAKKyAgQWRkZWQgYnVpbGQgdG8gdHJhdmlzIHRvIHZlcmlmeQorICAKKyAgQ2xvc2VzICM1NDY2CisKKy0gdXJsOiBhbGxvYyB0aGUgZG93bmxvYWQgYnVmZmVyIGF0IHRyYW5zZmVyIHN0YXJ0CisgIAorICAuLi4gYW5kIGZyZWUgaXQgYXMgc29vbiBhcyB0aGUgdHJhbnNmZXIgaXMgZG9uZS4gSXQgcmVtb3ZlcyB0aGUgZXh0cmEKKyAgYWxsb2Mgd2hlbiBhIG5ldyBzaXplIGlzIHNldCB3aXRoIHNldG9wdCgpIGFuZCByZWR1Y2VzIG1lbW9yeSBmb3IgdW51c2VkCisgIGVhc3kgaGFuZGxlcy4KKyAgCisgIEluIGFkZGl0aW9uOiB0aGUgY2xvc3VyZV9oYW5kbGUgbm93IGRvZXNuJ3QgdXNlIGFuIGFsbG9jYXRlZCBidWZmZXIgYXQKKyAgYWxsIGJ1dCB0aGUgc21hbGxlc3Qgc3VwcG9ydGVkIHNpemUgYXMgYSBzdGFjayBiYXNlZCBvbmUuCisgIAorICBDbG9zZXMgIzU0NzIKKworLSB0aW1lb3V0czogY2hhbmdlIG1pbGxpc2Vjb25kIHRpbWVvdXRzIHRvIHRpbWVkaWZmX3QgZnJvbSB0aW1lX3QKKyAgCisgIEZvciBtaWxsaXNlY29uZCB0aW1lcnMgd2UgbGlrZSB0aW1lZGlmZl90IGJldHRlci4gQWxzbywgdGltZV90IGNhbiBiZQorICB1bnNpZ25lZCBzbyByZXR1cm5pbmcgYSBuZWdhdGl2ZSB2YWx1ZSBkb2Vzbid0IHdvcmsgdGhlbi4KKyAgCisgIENsb3NlcyAjNTQ3OQorCitNYXJjIEhvZXJza2VuICgzMCBNYXkgMjAyMCkKKy0gc2VsZWN0OiBhZGQgb3ZlcmZsb3cgY2hlY2tzIGZvciB0aW1ldmFsIGNvbnZlcnNpb25zCisgIAorICBVc2luZyB0aW1lX3QgYW5kIHN1c2Vjb25kc190IGlmIHN1c2Vjb25kc190IGlzIGF2YWlsYWJsZSwKKyAgbG9uZyBvbiBXaW5kb3dzIChtYXliZSBvdGhlcnMgaW4gdGhlIGZ1dHVyZSkgYW5kIGludCBlbHNld2hlcmUuCisgIAorICBBbHNvIGhhbmRsZSBjYXNlIG9mIFVMT05HX01BWCBiZWluZyBncmVhdGVyIG9yIGVxdWFsIHRvIElORklOSVRFLgorICAKKyAgQXNzaXN0ZWQtYnk6IEpheSBTYXRpcm8KKyAgUmV2aWV3ZWQtYnk6IERhbmllbCBTdGVuYmVyZworICAKKyAgUGFydCBvZiAjNTM0MworCistIHNlbGVjdDogdXNlIHRpbWVkaWZmX3QgaW5zdGVhZCBvZiB0aW1lX3QgYW5kIGludCBmb3IgdGltZW91dF9tcworICAKKyAgTWFrZSBhbGwgZnVuY3Rpb25zIGluIHNlbGVjdC5bY2hdIHRha2UgdGltZW91dF9tcyBhcyB0aW1lZGlmZl90CisgIHdoaWNoIHNob3VsZCBhbHdheXMgYmUgbGFyZ2UgZW5vdWdoIGFuZCBzaWduZWQgb24gYWxsIHBsYXRmb3JtcworICB0byB0YWtlIGFsbCBwb3NzaWJsZSB0aW1lb3V0IHZhbHVlcyBhbmQgYXZvaWQgdHlwZSBjb252ZXJzaW9ucy4KKyAgCisgIFJldmlld2VkLWJ5OiBKYXkgU2F0aXJvCisgIFJldmlld2VkLWJ5OiBEYW5pZWwgU3RlbmJlcmcKKyAgCisgIFJlcGxhY2VzICM1MTA3IGFuZCBwYXJ0aWFsbHkgIzUyNjIKKyAgUmVsYXRlZCB0byAjNTI0MCBhbmQgIzUyODYKKyAgQ2xvc2VzICM1MzQzCisKKy0gdW5pdDE2MDQuYzogZml4IGltcGxpY2l0IGNvbnYgZnJvbSAnU0FOSVRJWkVjb2RlJyB0byAnQ1VSTGNvZGUnCisgIAorICBHQ0MgMTAgd2FybnMgYWJvdXQgdGhpcyB3aXRoIHdhcm5pbmc6IGltcGxpY2l0IGNvbnZlcnNpb24KKyAgICBmcm9tICdTQU5JVElaRWNvZGUnIHRvICdDVVJMY29kZScgWy1XZW51bS1jb252ZXJzaW9uXQorICAKKyAgU2luY2UgJ2V4cGVjdGVkX3Jlc3VsdCcgaXMgbm90IHJlYWxseSBvZiB0eXBlICdDVVJMY29kZScgYW5kCisgIGl0IGlzIG5vdCBleHBvc2VkIGluIGFueSB3YXksIHdlIGNhbiBqdXN0IHVzZSAnU0FOSVRJWkVjb2RlJy4KKyAgCisgIFJldmlld2VkLWJ5OiBEYW5pZWwgU3RlbmJlcmcKKyAgUmV2aWV3ZWQtYnk6IE1hcmNlbCBSYWFkCisgIAorICBDbG9zZXMgIzU0NzYKKworLSB0ZXN0cy9saWJ0ZXN0OiBmaXggdW5kZWZpbmVkIHJlZmVyZW5jZSB0byAnY3VybHhfd2luMzJfZm9wZW4nCisgIAorICBTaW5jZSBjdXJsX3NldHVwLmggbm93IG1ha2VzIHVzZSBvZiBjdXJseF93aW4zMl9mb3BlbiBmb3IgV2luMzIKKyAgYnVpbGRzIHdpdGggVVNFX1dJTjMyX0xBUkdFX0ZJTEVTIG9yIFVTRV9XSU4zMl9TTUFMTF9GSUxFUyBkZWZpbmVkLAorICB3ZSBuZWVkIHRvIGluY2x1ZGUgdGhlIHJlbGV2YW50IGZpbGVzIGZvciB0ZXN0cyB1c2luZyBmb3BlbiwKKyAgYmVjYXVzZSB0aGUgbGlidGVzdCBzb3VyY2VzIGFyZSBhbHNvIGluY2x1ZGluZyBjdXJsX3NldHVwLmgKKyAgCisgIFJldmlld2VkLWJ5OiBNYXJjZWwgUmFhZAorICBSZXZpZXdlZC1ieTogRGFuaWVsIFN0ZW5iZXJnCisgIAorICBGb2xsb3cgdXAgdG8gIzM3ODQgKGZmZGRkYjQ1ZDkpCisgIENsb3NlcyAjNTQ3NQorCistIGFwcHZleW9yOiBhZGQgbm9uLWRlYnVnIHBsYWluIGF1dG90b29scy1iYXNlZCBidWlsZAorICAKKyAgVGhpcyBzaG91bGQgZW5hYmxlIHVzIHRvIGNhdGNoIGxpbmtpbmcgaXNzdWVzIHdpdGggdGhlCisgIHRlc3RzdWl0ZSBlYXJseSwgbGlrZSB0aGUgb25lIGRlc2NyaWJlZC9maXhlZCBpbiAjNTQ3NS4KKyAgCisgIFJldmlld2VkLWJ5OiBEYW5pZWwgU3RlbmJlcmcKKyAgUmV2aWV3ZWQtYnk6IE1hcmNlbCBSYWFkCisgIAorICBDbG9zZXMgIzU0NzcKKworRGFuaWVsIFN0ZW5iZXJnICgyOSBNYXkgMjAyMCkKKy0gUkVMRUFTRS1OT1RFUzogc3luY2VkCisKKy0gUmV2ZXJ0ICJidWlsZGNvbmY6IHVzZSBmaW5kIC1leGVjZGlyIgorICAKKyAgVGhpcyBwYXJ0aWFsbHkgcmV2ZXJ0cyBjb21taXQgYzcxMjAwOTgzOGY0NDIxMTk1ODg1NGRlNDMxMzE1NTg2OTk1YmM2MS4KKyAgCisgIEtlZXAgdGhlIGFyZXNfIGZpbGVzIHJlbW92ZWQgYnV0IGJyaW5nIGJhY2sgdGhlIG9sZGVyIHdheSB0byBydW4gZmluZCwKKyAgdG8gbWFrZSBpdCB3b3JrIHdpdGggYnVzeWJveCdzIGZpbmQsIGFzIGFwcGFyZW50bHkgdGhhdCdzIGJlaW5nIHVzZWQuCisgIAorICBSZXBvcnRlZC1ieTogTWF4IFBlYWwKKyAgRml4ZXMgIzU0ODMKKyAgQ2xvc2VzICM1NDg0CisKKy0gc2VydmVyL3N3czogZml4IGFzYW4gd2FybmluZyBvbiB1c2Ugb2YgdW5pbml0aWFsaXplZCB2YXJpYWJsZQorCistIGxpYnNzaDI6IGltcHJvdmVkIGVycm9yIG91dHB1dCBmb3Igd3JvbmcgcXVvdGUgc3ludGF4CisgIAorICBSZXBvcnRlZC1ieTogV2VybmVyIFN0b2x6CisgIAorICBDbG9zZXMgIzU0NzQKKworLSBtay1saWIxNTIxOiBnZW5lcmF0ZSBjb2RlIGZvciB0ZXN0aW5nIEJMT0Igb3B0aW9ucyBhcyB3ZWxsCisgIAorICBGb2xsb3ctdXAgdG8gY2FjNTM3NDI5OGIzCisgIAorICBDbG9zZXMgIzU0NzgKKworLSBjb25maWd1cmU6IHJlcGFpciB0aGUgY2hlY2sgaWYgYXJndiBjYW4gYmUgd3JpdHRlbiB0bworICAKKyAgRHVlIHRvIGJhZCBlc2NhcGluZyBvZiB0aGUgdGVzdCBjb2RlLCB0aGUgdGVzdCB3b3VsZG4ndCBidWlsZCBhbmQgdGh1cworICByZXN1bHQgaW4gYSBuZWdhdGl2ZSB0ZXN0IHJlc3VsdCwgd2hpY2ggd291bGQgbGVhZCB0byB0aGUgdW5jb25kaXRpb25hbAorICBhc3N1bXB0aW9uIHRoYXQgb3ZlcndyaXRpbmcgdGhlIGFyZ3VtZW50cyBkb2Vzbid0IHdvcmsgYW5kIHRodXMgY3VybAorICB3b3VsZCBuZXZlciBoaWRlIGNyZWRlbnRpYWxzIGdpdmVuIGluIHRoZSBjb21tYW5kIGxpbmUsIGV2ZW4gd2hlbiBpdAorICB3b3VsZCBvdGhlcndpc2UgYmUgcG9zc2libGUuCisgIAorICBSZWdyZXNzaW9uIGZyb20gY29tbWl0IDJkNGMyMTUyYyAoNy42MC4wKQorICAKKyAgUmVwb3J0ZWQtYnk6IGh1enVuaGFvIG9uIGdpdGh1YgorICBGaXhlcyAjNTQ3MAorICBDbG9zZXMgIzU0NzEKKworUGV0ZXIgV3UgKDI4IE1heSAyMDIwKQorLSBDTWFrZTogcmVidWlsZCBNYWtlZmlsZS5pbmMuY21ha2Ugd2hlbiBNYWtlZmlsZS5pbmMgY2hhbmdlcworICAKKyAgT3RoZXJ3aXNlIHRoZSBidWlsZCBtaWdodCBmYWlsIGR1ZSB0byBtaXNzaW5nIHNvdXJjZSBmaWxlcywgYXMKKyAgZGVtb25zdHJhdGVkIGJ5IHRoZSByZWNlbnQga2V5bG9nLmMgYWRkaXRpb24gb24gYW4gZXhpc3RpbmcgYnVpbGQgZGlyLgorICAKKyAgQ2xvc2VzICM1NDY5CisKK0RhbmllbCBTdGVuYmVyZyAoMjggTWF5IDIwMjApCistIHVybGRhdGE6IGZpeCBjb21tZW50czogQ3VybF9kb25lKCkgaXMgY2FsbGVkIG11bHRpX2RvbmUoKSBub3cKKyAgCisgIC4uLiBzaW5jZSA1NzVlODg1ZGIKKworUGV0ZXIgV3UgKDI3IE1heSAyMDIwKQorLSBuZ3RjcDI6IHVzZSBjb21tb24ga2V5IGxvZyByb3V0aW5lIGZvciBiZXR0ZXIgdGhyZWFkLXNhZmV0eQorICAKKyAgVGVzdGVkIHdpdGggbmd0Y3AyIGJ1aWx0IGFnYWluc3QgdGhlIE9wZW5TU0wgbGlicmFyeS4gQWRkaXRpb25hbGx5CisgIHRlc3RlZCB3aXRoIE11bHRpU1NMIChOU1MgZm9yIFRMUyBhbmQgbmd0Y3AyK09wZW5TU0wgZm9yIFFVSUMpLgorICAKKyAgVGhlIFRMUyBiYWNrZW5kIChpbmRlcGVuZGVudCBvZiBRVUlDKSBtYXkgb3IgbWF5IG5vdCBhbHJlYWR5IGhhdmUgb3BlbmVkCisgIHRoZSBrZXlsb2cgZmlsZSBiZWZvcmUuIFRoZXJlZm9yZSBDdXJsX3Rsc19rZXlsb2dfb3BlbiBpcyBhbHdheXMgY2FsbGVkCisgIHRvIGVuc3VyZSB0aGUgZmlsZSBpcyBvcGVuLgorCistIHdvbGZzc2w6IGFkZCBTU0xLRVlMT0dGSUxFIHN1cHBvcnQKKyAgCisgIFRlc3RlZCBmb2xsb3dpbmcgdGhlIHNhbWUgY3VybCBhbmQgdHNoYXJrIGNvbW1hbmRzIGFzIGluIGNvbW1pdAorICAidnRsczogRXh0cmFjdCBhbmQgc2ltcGxpZnkga2V5IGxvZyBmaWxlIGhhbmRsaW5nIGZyb20gT3BlblNTTCIgdXNpbmcKKyAgV29sZlNTTCB2NC40LjAtc3RhYmxlLTEyOC1nNTE3OTUwM2U4IGZyb20gZ2l0IG1hc3RlciBidWlsdCB3aXRoCisgIGAuL2NvbmZpZ3VyZSAtLWVuYWJsZS1hbGwgLS1lbmFibGUtZGVidWcgQ0ZMQUdTPS1ESEFWRV9TRUNSRVRfQ0FMTEJBQ0tgLgorICAKKyAgRnVsbCBzdXBwb3J0IGZvciB0aGlzIGZlYXR1cmUgcmVxdWlyZXMgY2VydGFpbiB3b2xmU1NMIGJ1aWxkIG9wdGlvbnMsCisgIHNlZSAiQXZhaWxhYmlsaXR5IG5vdGUiIGluIGxpYi92dGxzL3dvbGZzc2wuYyBmb3IgZGV0YWlscy4KKyAgCisgIENsb3NlcyAjNTMyNworCistIHZ0bHM6IEV4dHJhY3QgYW5kIHNpbXBsaWZ5IGtleSBsb2cgZmlsZSBoYW5kbGluZyBmcm9tIE9wZW5TU0wKKyAgCisgIENyZWF0ZSBhIHNldCBvZiByb3V0aW5lcyBmb3IgVExTIGtleSBsb2cgZmlsZSBoYW5kbGluZyB0byBlbmFibGUgcmV1c2UKKyAgd2l0aCBvdGhlciBUTFMgYmFja2VuZHMuIFNpbXBsaWZ5IHRoZSBPcGVuU1NMIGJhY2tlbmQgYXMgZm9sbG93czoKKyAgCisgICAtIERyb3AgdGhlIEVOQUJMRV9TU0xLRVlMT0dGSUxFIG1hY3JvIGFzIGl0IGlzIHVuY29uZGl0aW9uYWxseSBlbmFibGVkLgorICAgLSBEbyBub3QgcGVyZm9ybSBkeW5hbWljIG1lbW9yeSBhbGxvY2F0aW9uIHdoZW4gcHJlcGFyaW5nIGEgbG9nIGVudHJ5LgorICAgICBVbmxlc3MgdGhlIFRMUyBzcGVjaWZpY2F0aW9ucyBjaGFuZ2Ugd2UgY2FuIHN1ZmZpY2Ugd2l0aCBhIHJlYXNvbmFibGUKKyAgICAgZml4ZWQtc2l6ZSBidWZmZXIuCisgICAtIFNpbXBsaWZ5IHN0YXRlIHRyYWNraW5nIHdoZW4gU1NMX0NUWF9zZXRfa2V5bG9nX2NhbGxiYWNrIGlzCisgICAgIHVuYXZhaWxhYmxlLiBNeSBvcmlnaW5hbCBzc2xrZXlsb2cuYyBjb2RlIGluY2x1ZGVkIHRoaXMgdHJhY2tpbmcgaW4KKyAgICAgb3JkZXIgdG8gaGFuZGxlIG11bHRpcGxlIGNhbGxzIHRvIFNTTF9jb25uZWN0IGFuZCBkZXRlY3QgbmV3IGtleXMKKyAgICAgYWZ0ZXIgcmVuZWdvdGlhdGlvbiAodmlhIFNTTF9yZWFkL1NTTF93cml0ZSkuIEZvciBjdXJsIGhvd2V2ZXIgd2UgY2FuCisgICAgIGJlIHN1cmUgdGhhdCBhIHNpbmdsZSBtYXN0ZXIgc2VjcmV0IGV2ZW50dWFsbHkgYmVjb21lcyBhdmFpbGFibGUKKyAgICAgYWZ0ZXIgU1NMX2Nvbm5lY3QsIHNvIGEgc2ltcGxlIGZsYWcgaXMgc3VmZmljaWVudC4gQW4gYWx0ZXJuYXRpdmUgdG8KKyAgICAgdGhlIGZsYWcgaXMgZXhhbWluaW5nIFNTTF9zdGF0ZSgpLCBidXQgdGhpcyBzZWVtcyBtb3JlIGNvbXBsZXggYW5kIGlzCisgICAgIG5vdCBwdXJzdWVkLiBDYXB0dXJpbmcga2V5cyBhZnRlciBzZXJ2ZXIgcmVuZWdvdGlhdGlvbiB3YXMgYWxyZWFkeQorICAgICB1bnN1cHBvcnRlZCBpbiBjdXJsIGFuZCByZW1haW5zIHVuc3VwcG9ydGVkLgorICAKKyAgVGVzdGVkIHdpdGggY3VybCBidWlsdCBhZ2FpbnN0IE9wZW5TU0wgMC45Ljh6aCwgMS4wLjJ1LCBhbmQgMS4xLjFmCisgIChgU1NMS0VZTE9HRklMRT1rZXlzLnR4dCBjdXJsIC12a3NvIC9kZXYvbnVsbCBodHRwczovL2xvY2FsaG9zdDo0NDMzYCkKKyAgYWdhaW5zdCBhbiBPcGVuU1NMIDEuMS4xZiBzZXJ2ZXIgY29uZmlndXJlZCB3aXRoOgorICAKKyAgICAgICMgRm9yY2Ugbm9uLVRMU3YxLjMsIHVzZSBUTFN2MS4wIHNpbmNlIDAuOS44IGZhaWxzIHdpdGggMS4xIG9yIDEuMgorICAgICAgb3BlbnNzbCBzX3NlcnZlciAtd3d3IC10bHMxCisgICAgICAjIExpa2V3aXNlLCBidXQgZmFpbCB0aGUgc2VydmVyIGhhbmRzaGFrZS4KKyAgICAgIG9wZW5zc2wgc19zZXJ2ZXIgLXd3dyAtdGxzMSAtVmVyaWZ5IDIKKyAgICAgICMgVExTIDEuMyB0ZXN0LiBObyBuZWVkIHRvIHRlc3QgdGhlIGZhaWxpbmcgc2VydmVyIGhhbmRzaGFrZS4KKyAgICAgIG9wZW5zc2wgc19zZXJ2ZXIgLXd3dyAtdGxzMV8zCisgIAorICBWZXJpZnkgdGhhdCBhbGwgc2VjcmV0cyAoMSBmb3IgVExTIDEuMCwgNCBmb3IgVExTIDEuMykgYXJlIGNvcnJlY3RseQorICB3cml0dGVuIHVzaW5nIFdpcmVzaGFyay4gRm9yIHRoZSBmaXJzdCBhbmQgdGhpcmQgY2FzZSwgZXhwZWN0IGZvdXIKKyAgbWF0Y2hlcyBwZXIgY29ubmVjdGlvbiAoZGVjcnlwdGVkIFNlcnZlciBGaW5pc2hlZCwgQ2xpZW50IEZpbmlzaGVkLCBIVFRQCisgIFJlcXVlc3QsIEhUVFAgUmVzcG9uc2UpLiBGb3IgdGhlIHNlY29uZCBjYXNlIHdoZXJlIHRoZSBoYW5kc2hha2UgZmFpbHMsCisgIGV4cGVjdCBhIGRlY3J5cHRlZCBTZXJ2ZXIgRmluaXNoZWQgb25seS4KKyAgCisgICAgICB0c2hhcmsgLWkgbG8gLXBmIHRjcCAtb3Rscy5rZXlsb2dfZmlsZTprZXlzLnR4dCAtVGZpZWxkcyBcCisgICAgICAgICAgLWVmcmFtZS5udW1iZXIgLWVmcmFtZS50aW1lIC1ldGNwLnN0cmVhbSAtZV93cy5jb2wuSW5mbyBcCisgICAgICAgICAgLWR0bHMucG9ydD09NDQzMyxodHRwIC1vaHR0cC5kZXNlZ21lbnRfYm9keTpGQUxTRSBcCisgICAgICAgICAgLVkgJ3Rscy5oYW5kc2hha2UudmVyaWZ5X2RhdGEgb3IgaHR0cCcKKyAgCisgIEEgc2luZ2xlIGNvbm5lY3Rpb24gY2FuIGVhc2lseSBiZSBpZGVudGlmaWVkIHZpYSB0aGUgYHRjcC5zdHJlYW1gIGZpZWxkLgorCitEYW5pZWwgU3RlbmJlcmcgKDI3IE1heSAyMDIwKQorLSBGSUxFRk9STUFUOiBhZGQgbW9yZSBmZWF0dXJlcyB0aGF0IHRlc3RzIGNhbiBkZXBlbmQgb24KKworLSBbTWljaGFlbCBLYXVmbWFubiBicm91Z2h0IHRoaXMgY2hhbmdlXQorCisgIHRyYW5zZmVyOiBjbG9zZSBjb25uZWN0aW9uIGFmdGVyIGV4Y2VzcyBkYXRhIGhhcyBiZWVuIHJlYWQKKyAgCisgIEZvciBIVFRQIDEueCwgaXQncyBhIHByb3RvY29sIGVycm9yIHdoZW4gdGhlIHNlcnZlciBzZW5kcyBtb3JlIGJ5dGVzCisgIHRoYW4gYW5ub3VuY2VkLiBJZiB0aGlzIGhhcHBlbnMsIGRvbid0IHJldXNlIHRoZSBjb25uZWN0aW9uLCBiZWNhdXNlIHRoZQorICBzdGFydCBwb3NpdGlvbiBvZiB0aGUgbmV4dCByZXNwb25zZSBpcyB1bmRlZmluZWQuCisgIAorICBDbG9zZXMgIzU0NDAKKworLSBbRXN0YW5pc2xhdSBBdWfDqS1QdWphZGFzIGJyb3VnaHQgdGhpcyBjaGFuZ2VdCisKKyAgUmV2ZXJ0ICJzc2g6IGlnbm9yZSB0aW1lb3V0cyBkdXJpbmcgZGlzY29ubmVjdCIKKyAgCisgIFRoaXMgcmV2ZXJ0cyBjb21taXQgZjMxNzYwZTYzYjRlOWVmMWViMjVmOGYyMTEzOTBmODIzOTM4ODUxNS4gU2hpcHBlZCBpbgorICBjdXJsIDcuNTQuMS4KKyAgCisgIEJ1ZzogaHR0cHM6Ly9jdXJsLmhheHguc2UvbWFpbC9saWItMjAyMC0wNS8wMDY4Lmh0bWwKKyAgQ2xvc2VzICM1NDY1CisKKy0gdXJsZGF0YTogY29ubmVjdCByZWxhdGVkIGJvb2xlYW5zIGxpdmUgaW4gc3RydWN0IENvbm5lY3RCaXRzCisgIAorICBBbmQgcmVtb3ZlIGEgZmV3IHVudXNlZCBib29sZWFucyEKKyAgCisgIENsb3NlcyAjNTQ2MQorCistIGhvc3RpcDogb24gbWFjT1MgYXZvaWQgRG9IIHdoZW4gZ2l2ZW4gYSBudW1lcmljYWwgSVAgYWRkcmVzcworICAKKyAgV2hlbiBVU0VfUkVTT0xWRV9PTl9JUFMgaXMgc2V0IChkZWZpbmVkIG9uIG1hY09TKSwgaXQgbWVhbnMgdGhhdAorICBudW1lcmljYWwgSVAgYWRkcmVzc2VzIHN0aWxsIG5lZWQgdG8gZ2V0ICJyZXNvbHZlZCIgLSBidXQgbm90IHdpdGggRG9ILgorICAKKyAgUmVwb3J0ZWQtYnk6IFZpa3RvciBTemFrYXRzCisgIEZpeGVzICM1NDU0CisgIENsb3NlcyAjNTQ1OQorCistIG5ndGNwMjogY2xlYW51cCBtZW1vcnkgd2hlbiBmYWlsaW5nIHRvIGNvbm5lY3QKKyAgCisgIFJlcG9ydGVkLWJ5OiBQZXRlciBXdQorICBGaXhlcyAjNTQ0NyAodGhlIG5ndGNwMiBzaWRlIG9mIGl0KQorICBDbG9zZXMgIzU0NTEKKworLSBxdWljaGU6IGNsZWFuIHVwIG1lbW9yeSBwcm9wZXJseSB3aGVuIGZhaWxpbmcgdG8gY29ubmVjdAorICAKKyAgQWRkcmVzc2VzIHRoZSBxdWljaGUgc2lkZSBvZiAjNTQ0NworICBSZXBvcnRlZC1ieTogUGV0ZXIgV3UKKyAgQ2xvc2VzICM1NDUwCisKKy0gY2xlYW51cDogdXNlIGEgc2luZ2xlIHNwYWNlIGFmdGVyIGVxdWFscyBzaWduIGluIGFzc2lnbm1lbnRzCisKKy0gdXJsOiBhY2NlcHQgImFueSBsZW5ndGgiIGNyZWRlbnRpYWxzIGZvciBwcm94eSBhdXRoCisgIAorICBUaGV5J3JlIG9ubHkgbGltaXRlZCB0byB0aGUgbWF4aW11bSBzdHJpbmcgaW5wdXQgcmVzdHJpY3Rpb25zLCBub3QgdG8KKyAgMjU2IGJ5dGVzLgorICAKKyAgQWRkZWQgdGVzdCAxMTc4IHRvIHZlcmlmeQorICAKKyAgUmVwb3J0ZWQtYnk6IFdpbGwgUm9iZXJ0cworICBGaXhlcyAjNTQ0OAorICBDbG9zZXMgIzU0NDkKKworLSBbTWFrc2ltIFN0c2VwYW5lbmthIGJyb3VnaHQgdGhpcyBjaGFuZ2VdCisKKyAgdGVzdDExNjc6IGZpeGVzIGluIGJhZHN5bWJvbHMucGwKKyAgCisgIENsb3NlcyAjNTQ0MgorCistIGFsdHN2YzogZml4IHBhcnNlciBmb3IgbGluZXMgZW5kaW5nIHdpdGggQ1JMRgorICAKKyAgRml4ZWQgdGhlIGFsdC1zdmMgcGFyc2VyIHRvIHRyZWF0IGEgbmV3bGluZSBhcyBlbmQgb2YgbGluZS4KKyAgCisgIFRoZSB1bml0IHRlc3RzIGluIHRlc3QgMTY1NCB3ZXJlIGRvbmUgd2l0aG91dCBDUkxGIGFuZCB0aHVzIGRpZG4ndCBxdWl0ZQorICBtYXRjaCB0aGUgcmVhbCB3b3JsZC4gTm93IHRoZXkgdXNlIENSTEYgYXMgd2VsbC4KKyAgCisgIFJlcG9ydGVkLWJ5OiBQZXRlciBXdQorICBBc3Npc3RlZC1ieTogUGV0ZXIgV3UKKyAgQXNzaXN0ZWQtYnk6IEpheSBTYXRpcm8KKyAgRml4ZXMgIzU0NDUKKyAgQ2xvc2VzICM1NDQ2CisKK1Zpa3RvciBTemFrYXRzICgyNSBNYXkgMjAyMCkKKy0gYWxsOiBmaXggY29kZXNwZWxsIGVycm9ycworICAKKyAgUmV2aWV3ZWQtYnk6IEpheSBTYXRpcm8KKyAgUmV2aWV3ZWQtYnk6IERhbmllbCBTdGVuYmVyZworICBDbG9zZXMgaHR0cHM6Ly9naXRodWIuY29tL2N1cmwvY3VybC9wdWxsLzU0NTIKKworUGV0ZXIgV3UgKDI1IE1heSAyMDIwKQorLSBuZ3RjcDI6IGZpeCBidWlsZCB3aXRoIGN1cnJlbnQgbmd0Y3AyIG1hc3RlciBpbXBsZW1lbnRpbmcgZHJhZnQgMjgKKyAgCisgIEJhc2VkIG9uIGNsaWVudC5jYyBjaGFuZ2VzIGZyb20gbmd0Y3AyLiBUZXN0ZWQgd2l0aCBjdXJyZW50IGdpdCBtYXN0ZXIsCisgIG5ndGNwMiBjb21taXQgYzc3ZDU3MzFjZTkyLCBuZ2h0dHAzIGNvbW1pdCA2NWZmNDc5ZDQzODAuCisgIAorICBGaXhlcyAjNTQ0NAorICBDbG9zZXMgIzU0NDMKKworRGFuaWVsIFN0ZW5iZXJnICgyNSBNYXkgMjAyMCkKKy0gUkVMRUFTRS1OT1RFUzogc3luY2VkCisgIAorICBtb3ZlZCB0aGUgbmV3IHNldG9wdHMgdXAgdG8gYSAiY2hhbmdlIgorCistIFJFTEVBU0UtTk9URVM6IHN5bmNlZAorCistIGNvcHlyaWdodDogdXBkYXRlZCB5ZWFyIHJhbmdlcyBvdXQgb2Ygc3luYworICAKKyAgLi4uIGFuZCB3aGl0ZWxpc3RlZCBhIGZldyBtb3JlIGZpbGVzIGluIHRoZSB0aGUgY29weXJpZ2h0LnBsIHNjcmlwdC4KKworLSBbR2lsbGVzIFZvbGxhbnQgYnJvdWdodCB0aGlzIGNoYW5nZV0KKworICBzZXRvcHQ6IGFkZCBDVVJMT1BUX1BST1hZX0lTU1VFUkNFUlQoX0JMT0IpIGZvciBjb2hlcmVuY3kKKyAgCisgIENsb3NlcyAjNTQzMQorCistIGN1cmw6IHJlbW92ZSAtSiAiaW5mb3JtYXRpb25hbCIgd3JpdHRlbiBvbiBzdGRvdXQKKyAgCisgIGN1cmwgd291bGQgcHJldmlvdXNseSBzaG93ICJjdXJsOiBTYXZlZCB0byBmaWxlbmFtZSAnbmFtZSBmcm9tIGhlYWRlciciCisgIGlmIC1KIHdhcyB1c2VkIGFuZCBhIG5hbWUgd2FzIHBpY2tlZCBmcm9tIHRoZSBDb250ZW50LURpc3Bvc2l0aW9uCisgIGhlYWRlci4gVGhhdCBvdXRwdXQgY291bGQgaW50ZXJmZXIgd2l0aCBvdGhlciBzdGRvdXQgb3V0cHV0LCBzdWNoIGFzIC13LgorICAKKyAgVGhpcyBjb21taXQgcmVtb3ZlcyB0aGF0IG91dHB1dCBsaW5lLgorICBCdWc6IGh0dHBzOi8vY3VybC5oYXh4LnNlL21haWwvYXJjaGl2ZS0yMDIwLTA1LzAwNDQuaHRtbAorICBSZXBvcnRlZC1ieTog0JrQvtCy0LDQu9C10L3QutC+INCQ0L3QsNGC0L7Qu9C40Lkg0JLQuNC60YLQvtGA0L7QstC40YcKKyAgQ2xvc2VzICM1NDM1CisKK1BldGVyIFd1ICgyMiBNYXkgMjAyMCkKKy0gdHJhdmlzOiBzaW1wbGlmeSBxdWljaGUgYnVpbGQgaW5zdHJ1Y3Rpb25zIHdydCBib3Jpbmdzc2wKKyAgCisgIHF1aWNoZSBidWlsZHMgYm9yaW5nc3NsIGFzIHN0YXRpYyBsaWJyYXJ5LCByZXVzZSB0aGF0IGluc3RlYWQgb2YKKyAgYnVpbGRpbmcgYW5vdGhlciBzaGFyZWQgbGlicmFyeS4KKyAgCisgIENsb3NlcyAjNTQzOAorCistIGNvbmZpZ3VyZTogZml4IHB0aHJlYWQgY2hlY2sgd2l0aCBzdGF0aWMgYm9yaW5nc3NsCisgIAorICBBIHNoYXJlZCBib3Jpbmdzc2wvT3BlblNTTCBsaWJyYXJ5IHJlcXVpcmVzIC1sY3J5cHRvIG9ubHkgZm9yIGxpbmtpbmcuCisgIEEgc3RhdGljIGJ1aWxkIGFkZGl0aW9uYWxseSByZXF1aXJlcyBgLWxkbCAtbHB0aHJlYWRgLiBJbiB0aGUgbGF0dGVyCisgIGNhc2UgYC1scHRocmVhZGAgaXMgYWRkZWQgdG8gTElCUyB3aGljaCBwcmV2ZW50ZWQgYC1wdGhyZWFkYCBmcm9tIGJlaW5nCisgIGFkZGVkIHRvIENGTEFHUy4gQ2xlYXIgTElCUyB0byBmaXggbGlua2luZyBmYWlsdXJlcyBmb3IgbGlidGVzdCB0ZXN0cy4KKworRGFuaWVsIFN0ZW5iZXJnICgyMiBNYXkgMjAyMCkKKy0gUmV2ZXJ0ICJzZW5kZjogbWFrZSBmYWlsZigpIHVzZSB0aGUgbXZzbnByaW50ZigpIHJldHVybiBjb2RlIgorICAKKyAgVGhpcyByZXZlcnRzIGNvbW1pdCA3NDYyMzU1MWYzMDY5OTBlNzBjN2M1NTE1Yjg4OTcyMDA1NjA0YTc0LgorICAKKyAgSW5zdGVhZCBtYXJrIHRoZSBmdW5jdGlvbiBjYWxsIHdpdGggKHZvaWQpLiBHZXR0aW5nIHRoZSByZXR1cm4gY29kZSBhbmQKKyAgdXNpbmcgaXQgaW5zdGVhZCB0cmlnZ2VyZWQgQ292ZXJpdHkgd2FybmluZyBDSUQgMTQ2MzU5NiBiZWNhdXNlCisgIHNucHJpbnRmKCkgY2FuIHJldHVybiBhIG5lZ2F0aXZlIHZhbHVlLi4uCisgIAorICBDbG9zZXMgIzU0NDEKKworLSB0eXBlY2hlY2stZ2NjLmg6IENVUkxJTkZPX1BSSVZBVEUgZG9lcyBub3QgbmVlZCBhICdjaGFyIConCisgIAorICBSZXBvcnRlZC1ieTogQmlsbHl6b3UwNzQxMzI2IG9uIGdpdGh1YgorICBGaXhlcyAjNTQzMgorICBDbG9zZXMgIzU0MzYKKworLSB0ZXN0cy9zZXJ2ZXIvdXRpbC5oOiBhZGQgZXh0ZXJuIHRvIHNpbGVuY2UgY29tcGlsZXIgd2FybmluZworICAKKyAgRm9sbG93LXVwIGZyb20gYTNiMDY5OWQ1YzEKKworLSB0eXBlY2hlY2stZ2NjLmg6IGZpeCB0aGUgT0ZGX1QgY2hlY2sKKyAgCisgIFRoZSBvcHRpb24gbnVtYmVyIGFsc28gbmVlZHMgdG8gYmUgbGVzcyB0aGFuIENVUkxPUFRUWVBFX0JMT0IuCisgIAorICBGb2xsb3ctdXAgdG8gY2FjNTM3NDI5OAorICBSZXBvcnRlZC1ieTogSmVyb2VuIE9vbXMKKyAgQnVnOiBodHRwczovL2dpdGh1Yi5jb20vY3VybC9jdXJsL3B1bGwvNTM2NSNpc3N1ZWNvbW1lbnQtNjMxMDg0MTE0CisKKy0gVE9ETzogLS1kcnktcnVuCisgIAorICBDbG9zZXMgIzU0MjYKKworLSBUT0RPOiBSYXRlbGltaXQgb3Igd2FpdCBiZXR3ZWVuIHNlcmlhbCByZXF1ZXN0cworICAKKyAgQ2xvc2VzICM1NDA2CisKKy0gdG9vbF9wYXJhbWhscDogZml4dXAgQzg5IG1pc3Rha2UKKyAgCisgIEZvbGxvdy11cCB0byBjNWYwYTlkYjIyLgorCistIFtTaXZhIFNpdmFyYW1hbiBicm91Z2h0IHRoaXMgY2hhbmdlXQorCisgIHRvb2xfcGFyYW1obHA6IGZpeGVkIHBvdGVudGlhbGx5IHVuaW5pdGlhbGl6ZWQgc3RydG9sKCkgdmFyaWFibGUKKyAgCisgIFNlZW1zIGhpZ2hseSB1bmxpa2VseSB0byBhY3R1YWxseSBiZSBwb3NzaWJsZSwgYnV0IGJldHRlciBzYWZlIHRoYW4KKyAgc29ycnkuCisgIAorICBDbG9zZXMgIzU0MTcKKworLSBbU2l2YSBTaXZhcmFtYW4gYnJvdWdodCB0aGlzIGNoYW5nZV0KKworICB0b29sX29wZXJhdGU6IGZpeGVkIHBvdGVudGlhbGx5IHVuaW5pdGlhbGl6ZWQgdmFyaWFibGVzCisgIAorICAuLi4gaW4gY3VybF9lYXN5X2dldGluZm8oKSBjYWxscy4gVGhleSdyZSBoYXJtbGVzcyBidXQgY2xlYXJpbmcgdGhlCisgIHZhcmlhYmxlcyBtYWtlcyB0aGUgY29kZSBzYWZlciBhbmQgY29tZm9ydHMgdGhlIHJlYWRlci4KKyAgCisgIENsb3NlcyAjNTQxNgorCistIHNoYTI1NjogbW92ZSBhc3NpZ24gdG8gdGhlIGRlY2xhcmF0aW9uIGxpbmUKKyAgCisgIEZvbGxvdy11cCB0byBmYWUzMDY1Ni4gU2hvdWxkJ3ZlIGJlZW4gc3F1YXNoZWQgd2l0aCB0aGF0IGNvbW1pdC4uLgorCistIFtTaXZhIFNpdmFyYW1hbiBicm91Z2h0IHRoaXMgY2hhbmdlXQorCisgIHNoYTI1NjogZml4ZWQgcG90ZW50aWFsbHkgdW5pbml0aWFsaXplZCB2YXJpYWJsZQorICAKKyAgQ2xvc2VzICM1NDE0CisKKy0gc2VuZGY6IG1ha2UgZmFpbGYoKSB1c2UgdGhlIG12c25wcmludGYoKSByZXR1cm4gY29kZQorICAKKyAgLi4uIGFuZCBhdm9pZCBhIHN0cmxlbigpIGNhbGwuIEZpeGVzIGEgTW9ub2NsZUFJIHdhcm5pbmcuCisgIAorICBSZXBvcnRlZC1ieTogTW9ub2NsZUFJCisgIEZpeGVzICM1NDEzCisgIENsb3NlcyAjNTQyMAorCistIGhvc3RpcDogbWFrZSBDdXJsX3ByaW50YWJsZV9hZGRyZXNzIG5vdCByZXR1cm4gYW55dGhpbmcKKyAgCisgIEl0IHdhcyBub3QgdXNlZCBtdWNoIGFueXdheSBhbmQgaW5zdGVhZCB3ZSBsZXQgaXQgc3RvcmUgYSBibGFuayBidWZmZXIKKyAgaW4gY2FzZSBvZiBmYWlsdXJlLgorICAKKyAgUmVwb3J0ZWQtYnk6IE1vbm9jbGVBSQorICBGaXhlcyAjNTQxMQorICBDbG9zZXMgIzU0MTgKKworLSBmdHA6IG1hcmsgcmV0dXJuLWlnbm9yaW5nIGNhbGxzIHRvIEN1cmxfR2V0RlRQUmVzcG9uc2Ugd2l0aCAodm9pZCkKKyAgCisgIFRoZXkncmUgZG9uZSBvbiBwdXJwb3NlLCBtYWtlIHRoYXQgdmlzaWJsZSBpbiB0aGUgY29kZS4KKyAgUmVwb3J0ZWQtYnk6IE1vbm9jbGVBSQorICBGaXhlcyAjNTQxMgorICBDbG9zZXMgIzU0OQorCistIFRPRE86IGZvcmJpZCBUTFMgcG9zdC1oYW5kc2hha2UgYXV0aCBhbmQgZG8gVExTIHJlY29yZCBwYWRkaW5nCisgIAorICBDbG9zZXMgIzUzOTYKKyAgQ2xvc2VzICM1Mzk4CisKKy0gUkVMRUFTRS1OT1RFUzogc3luY2VkCisKKy0gZHluYnVmOiByZXR1cm4gTlVMTCB3aGVuIHRoZXJlJ3Mgbm8gYnVmZmVyIGxlbmd0aAorICAKKyAgLi4uIGFzIHJldHVybmluZyBhICIiIGlzIG5vdCBhIGdvb2QgaWRlYSBhcyB0aGUgc3RyaW5nIGlzIHN1cHBvc2VkIHRvIGJlCisgIGFsbG9jYXRlZCBhbmQgcmV0dXJuaW5nIGEgY29uc3Qgc3RyaW5nIHdpbGwgY2F1c2UgaXNzdWVzLgorICAKKyAgUmVwb3J0ZWQtYnk6IEJyaWFuIENhcnBlbnRlcgorICBGb2xsb3ctdXAgdG8gZWQzNWQ2NTkwZTcyYworICBDbG9zZXMgIzU0MDUKKworUGV0ZXIgV3UgKDE2IE1heSAyMDIwKQorLSB0cmF2aXM6IHVwZ3JhZGUgdG8gYmlvbmljLCBjbGFuZy05LCBpbXByb3ZlIHJlYWRhYmlsaXR5CisgIAorICBDaGFuZ2VzLCBwYXJ0aWFsbHkgdG8gcmVkdWNlIGJ1aWxkIGZhaWx1cmVzIGZyb20gZXh0ZXJuYWwgZGVwZW5kZW5jaWVzOgorICAgLSBVcGdyYWRlIFVidW50dSBhbmQgZHJvcCB1bm5lY2Vzc2FyeSB0aGlyZC1wYXJ0eSByZXBvcy4KKyAgIC0gUHJvcGVybHkgY2xvbmUgYXB0IGNvbmZpZyB0byBlbnN1cmUgcmV0cmllcy4KKyAgIC0gVXBncmFkZSB0byBjbGFuZy05IGZyb20gdGhlIHN0YW5kYXJkIHJlcG9zLgorICAgLSBVc2UgVWJ1bnR1IDIwLjA0IGZvY2FsIGZvciB0aGUgbGlic3NoIGJ1aWxkLCB1c2Ugb2Ygc3NoX2dldF9wdWJsaWNrZXkKKyAgICAgZmFpbHMgb24gLVdlcnJvcj1kZXByZWNhdGVkLWRlY2xhcmF0aW9ucyBpbiBVYnVudHUgMTguMDQuIERvIG5vdCB1c2UKKyAgICAgZm9jYWwgZXZlcnl3aGVyZSB5ZXQgc2luY2UgVHJhdmlzIENJIGhhcyBub3QgZG9jdW1lbnRlZCB0aGlzIG9wdGlvbi4KKyAgICAgSW4gZm9jYWwsIHB5dGhvbi1pbXBhY2tldCAoUHkyLjcpIGhhcyBiZWVuIHJlbW92ZWQsIGxlYXZpbmcgb25seQorICAgICBweXRob24zLWltcGFja2V0LiBTaW5jZSBpdCBpcyBvbmx5IG5lZWRlZCBmb3IgU01CIHRlc3RzIGFuZCBub3QgU1NILAorICAgICBza2lwIGl0IGZvciB0aGUgbGlic3NoIGpvYiBzaW5jZSBpdCBtaWdodCBuZWVkIG1vcmUgd29yay4KKyAgIC0gYXB0OiBSZW1vdmUgZ2NjLTggYW5kIGxpYnN0ZGMrKy04LWRldiwgYWxyZWFkeSBpbnN0YWxsZWQgdmlhIGcrKy04LgorICAKKyAgTm9uLWZ1bmN0aW9uYWwgY2xlYW51cHM6CisgICAtIFNpbXBsaWZ5IHRlc3QgbWF0cml4LCBkcm9wIHJlZHVuZGFudCBvcyBhbmQgY29tcGlsZXIga2V5cy4KKyAgIC0gRGVwcmVjYXRpb24gZml4ZXM6IHJlbW92ZSBzdWRvLCByZW5hbWUgbWF0cml4IC0+IGpvYnMuCisgICAtIEV2ZXJ5IGpvYiBoYXMgYW4gJ2Vudicga2V5LCBwdXQgdGhpcyBrZXkgZmlyc3QgaW4gYSBsaXN0IGl0ZW0uCisgIAorICBDbG9zZXMgIzUzNzAKKworLSB0cmF2aXM6IHdoaXRlc3BhY2Utb25seSBjaGFuZ2VzIGZvciBjb25zaXN0ZW5jeQorICAKKyAgQXV0b21hdGljYWxseSBhcHBseSBhIGNvbnNpc3RlbnQgaW5kZW50YXRpb24gd2l0aDoKKyAgCisgICAgICBweXRob24zIC1jICdmcm9tIHJ1YW1lbC55YW1sIGltcG9ydCBZQU1MO3k9WUFNTCgpO2Q9eS5sb2FkKG9wZW4oIi50cmF2aXMueW1sIikpO3kud2lkdGg9NTAwO3kuZHVtcChkLG9wZW4oIi50cmF2aXMueW1sLm5ldyIsInciKSknCisgIAorICBmb2xsb3dlZCBieSBtYW51YWxseSByZS1pbmRlbnRpbmcgdGhyZWUgY29tbWVudHMuCisgIAorICBDbG9zZXMgIzUzNzAKKworLSBDTWFrZTogYWRkIGxpYnNzaCBidWlsZCBzdXBwb3J0CisgIAorICBDbG9zZXMgIzUzNzIKKworRGFuaWVsIFN0ZW5iZXJnICgxNSBNYXkgMjAyMCkKKy0gS05PV05fQlVHUzogd29sZnNzaDogcHVibGlja2V5IGF1dGggZG9lc24ndCB3b3JrCisgIAorICBDbG9zZXMgIzQ4MjAKKworLSBLTk9XTl9CVUdTOiBPUzQwMCBwb3J0IHJlcXVpcmVzIGRlcHJlY2F0ZWQgSUJNIGxpYnJhcnkKKyAgCisgIENsb3NlcyAjNTE3NgorCistIFtWeXJvbiBUc2luZ2FyYXMgYnJvdWdodCB0aGlzIGNoYW5nZV0KKworICBodHRwMjoga2VlcCB0cnlpbmcgdG8gc2VuZCBwZW5kaW5nIGZyYW1lcyBhZnRlciByZXEudXBsb2FkX2RvbmUKKyAgCisgIEZpeGVzICMxNDEwCisgIENsb3NlcyAjNTQwMQorCistIFtHaWxsZXMgVm9sbGFudCBicm91Z2h0IHRoaXMgY2hhbmdlXQorCisgIHNldG9wdDogc3VwcG9ydCBjZXJ0aWZpY2F0ZSBvcHRpb25zIGluIG1lbW9yeSB3aXRoIHN0cnVjdCBjdXJsX2Jsb2IKKyAgCisgIFRoaXMgY2hhbmdlIGludHJvZHVjZXMgYSBnZW5lcmljIHdheSB0byBwcm92aWRlIGJpbmFyeSBkYXRhIGluIHNldG9wdAorICBvcHRpb25zLCBjYWxsZWQgQkxPQnMuCisgIAorICBUaGlzIGNoYW5nZSBpbnRyb2R1Y2VzIHRoZXNlIG5ldyBzZXRvcHRzOgorICAKKyAgQ1VSTE9QVF9JU1NVRVJDRVJUX0JMT0IsIENVUkxPUFRfUFJPWFlfU1NMQ0VSVF9CTE9CLAorICBDVVJMT1BUX1BST1hZX1NTTEtFWV9CTE9CLCBDVVJMT1BUX1NTTENFUlRfQkxPQiBhbmQgQ1VSTE9QVF9TU0xLRVlfQkxPQi4KKyAgCisgIFJldmlld2VkLWJ5OiBEYW5pZWwgU3RlbmJlcmcKKyAgQ2xvc2VzICM1MzU3CisKKy0gc291cmNlIGNsZWFudXA6IHJlbW92ZSBhbGwgY3VzdG9tIHR5cGVkZWYgc3RydWN0cworICAKKyAgIC0gU3RpY2sgdG8gYSBzaW5nbGUgdW5pZmllZCB3YXkgdG8gdXNlIHN0cnVjdHMKKyAgIC0gTWFrZSBjaGVja3NyYyBjb21wbGFpbiBvbiAndHlwZWRlZiBzdHJ1Y3QgeycKKyAgIC0gQWxsb3cgdGhlbSBpbiB0ZXN0cywgcHVibGljIGhlYWRlcnMgYW5kIGV4YW1wbGVzCisgIAorICAgLSBMZXQgTUQ0X0NUWCwgTUQ1X0NUWCwgYW5kIFNIQTI1Nl9DVFggdHlwZWRlZnMgcmVtYWluIGFzIHRoZXkgYWN0dWFsbHkKKyAgICAgdHlwZWRlZiBkaWZmZXJlbnQgdHlwZXMvc3RydWN0cyBkZXBlbmRpbmcgb24gYnVpbGQgY29uZGl0aW9ucy4KKyAgCisgIENsb3NlcyAjNTMzOAorCistIHRyYXZpczogcmVtb3ZlIHRoZSAuY2hlY2tzcmMgZmlkZGxpbmcKKworLSBmdHA6IG1ha2UgZG9tb3JlX2dldHNvY2soKSByZXR1cm4gdGhlIHNlY29uZGFyeSBzb2NrZXQgcHJvcGVybHkKKyAgCisgIFByZXZpb3VzbHksIGFmdGVyIFBBU1YgYW5kIGltbWVkaWF0ZWx5IGFmdGVyIHRoZSBkYXRhIGNvbm5lY3Rpb24gaGFzCisgIGNvbm5lY3RlZCwgdGhlIGZ1bmN0aW9uIHdvdWxkIG9ubHkgcmV0dXJuIHRoZSBjb250cm9sIHNvY2tldCB0byB3YWl0IGZvcgorICB3aGljaCB0aGVuIG1hZGUgdGhlIGRhdGEgY29ubmVjdGlvbiBzaW1wbHkgdGltZW91dCBhbmQgbm90IGdldCBwb2xsZWQKKyAgY29ycmVjdGx5LiBUaGlzIGJlY29tZSBvYnZpb3VzIHdoZW4gcnVubmluZyB0ZXN0IDE2MzEgYW5kIDE2MzIgZXZlbnQtCisgIGJhc2VkLgorCistIHRlc3QxNjMyOiB2ZXJpZnkgRlRQIHRocm91Z2ggSFRUUFMtcHJveHkgd2l0aCBjb25uZWN0aW9uIHJlLXVzZQorCistIHRlc3QxNjMxOiB2ZXJpZnkgRlRQIGRvd25sb2FkIHRocm91Z2ggSFRUUFMtcHJveHkKKworLSBzd3M6IGFzIGxhc3QgcmVzb3J0LCBnZXQgdGVzdCBudW1iZXIgZnJvbSBzZXJ2ZXIgY21kIGZpbGUKKyAgCisgIElmIGl0IGNhbid0IGJlIGZvdW5kIGluIHRoZSByZXF1ZXN0LiBBbHNvIHN1cHBvcnQgLS1jbWRmaWxlIHRvIHNldCBpdCB0bworICBhIGN1c3RvbSBmaWxlIG5hbWUuCisgIAorICBydW50ZXN0cy5wbCBhbHdheXMgd3JpdGVzIHRoaXMgZmlsZSB3aXRoIHRoZSB0ZXN0IG51bWJlciBpbiBpdCBzaW5jZSBhCisgIHdoaWxlIGJhY2suCisKKy0gZnRwOiBzaHV0IGRvd24gdGhlIHNlY29uZGFyeSBjb25uZWN0aW9uIHByb3Blcmx5IHdoZW4gU1NMIGlzIHVzZWQKKyAgCisgIFJlcG9ydGVkLWJ5OiBOZWFsIFBvb2xlCisgIEZpeGVzICM1MzQwCisgIENsb3NlcyAjNTM4NQorCitNYXJjZWwgUmFhZCAoMTQgTWF5IDIwMjApCistIEtOT1dOX0JVR1M6IGFkYXB0IDUuNSB0byByZWNlbnQgY2hhbmdlcworICAKKyAgSXQgb25seSBhcHBsaWVzIHRvIG5vbi1Vbmljb2RlIGJ1aWxkcyBub3cuCisgIEFsc28gbWVyZ2UgNS4xMCBpbnRvIGl0IGFzIGl0J3MgZWZmZWN0aXZlbHkgYSBkdXBsaWNhdGUuCisgIAorICBDbG9zZXMgaHR0cHM6Ly9naXRodWIuY29tL2N1cmwvY3VybC9wdWxsLzM3ODQKKworLSBjdXJsX3NldHVwOiBzdXBwb3J0IFVuaWNvZGUgZnVuY3Rpb25zIHRvIG9wZW4gZmlsZXMgb24gV2luZG93cworICAKKyAgVXNlIHRoZW0gb25seSBpZiBgX1VOSUNPREVgIGlzIGRlZmluZWQsIGluIHdoaWNoIGNhc2UgY29tbWFuZC1saW5lCisgIGFyZ3VtZW50cyBoYXZlIGJlZW4gY29udmVydGVkIHRvIFVURi04LgorICAKKyAgQ2xvc2VzIGh0dHBzOi8vZ2l0aHViLmNvbS9jdXJsL2N1cmwvcHVsbC8zNzg0CisKKy0gdG9vbDogc3VwcG9ydCBVVEYtMTYgY29tbWFuZCBsaW5lIG9uIFdpbmRvd3MKKyAgCisgIC0gdXNlIGB3bWFpbmAgaW5zdGVhZCBvZiBgbWFpbmAgd2hlbiBgX1VOSUNPREVgIGlzIGRlZmluZWQgWzBdCisgIC0gZGVmaW5lIGBhcmd2X2l0ZW1fdGAgYXMgYHdjaGFyX3QgKmAgaW4gdGhpcyBjYXNlCisgIC0gdXNlIHRoZSBjdXJsX211bHRpYnl0ZSBnZWFyIHRvIGNvbnZlcnQgdGhlIGNvbW1hbmQtbGluZSBhcmd1bWVudHMgdG8KKyAgICBVVEYtOAorICAKKyAgVGhpcyBtYWtlcyBpdCBwb3NzaWJsZSB0byBwYXNzIHBhcmFtZXRlcnMgd2l0aCBjaGFyYWN0ZXJzIG91dHNpZGUgb2YKKyAgdGhlIGN1cnJlbnQgbG9jYWxlIG9uIFdpbmRvd3MsIHdoaWNoIGlzIHJlcXVpcmVkIGZvciBzb21lIHRlc3RzLCBlLmcuCisgIHRoZSBJRE4gdGVzdHMuIE91dCBvZiB0aGUgYm94LCB0aGlzIGN1cnJlbnRseSBvbmx5IHdvcmtzIHdpdGggdGhlCisgIFZpc3VhbCBTdHVkaW8gcHJvamVjdCBmaWxlcywgd2hpY2ggZGVmYXVsdCB0byBVbmljb2RlLCBhbmQgd2luYnVpbGQKKyAgd2l0aCB0aGUgYEVOQUJMRV9VTklDT0RFYCBvcHRpb24uCisgIAorICBbMF0gaHR0cHM6Ly9kZXZibG9ncy5taWNyb3NvZnQuY29tL29sZG5ld3RoaW5nLz9wPTQwNjQzCisgIAorICBSZWY6IGh0dHBzOi8vZ2l0aHViLmNvbS9jdXJsL2N1cmwvaXNzdWVzLzM3NDcKKyAgQ2xvc2VzIGh0dHBzOi8vZ2l0aHViLmNvbS9jdXJsL2N1cmwvcHVsbC8zNzg0CisKKy0gY3VybF9tdWx0aWJ5dGU6IGFkZCB0byBjdXJseAorICAKKyAgVGhpcyB3aWxsIGFsc28gYmUgbmVlZGVkIGluIHRoZSB0b29sIGFuZCB0ZXN0cy4KKyAgCisgIFJlZjogaHR0cHM6Ly9naXRodWIuY29tL2N1cmwvY3VybC9wdWxsLzM3NTgjaXNzdWVjb21tZW50LTQ4MjE5NzUxMgorICBDbG9zZXMgaHR0cHM6Ly9naXRodWIuY29tL2N1cmwvY3VybC9wdWxsLzM3ODQKKworRGFuaWVsIFN0ZW5iZXJnICgxNCBNYXkgMjAyMCkKKy0gdXJsOiBtYWtlIHRoZSB1cGRhdGVkIGNyZWRlbnRpYWxzIFVSTC1lbmNvZGVkIGluIHRoZSBVUkwKKyAgCisgIEZvdW5kLWJ5OiBHcmVnb3J5IEplZmZlcmlzCisgIFJlcG9ydGVkLWJ5OiBKZXJvZW4gT29tcworICBBZGRlZCB0ZXN0IDExNjggdG8gdmVyaWZ5LiBCdWcgc3BvdHRlZCB3aGVuIGRvaW5nIGEgcmVkaXJlY3QuCisgIEJ1ZzogaHR0cHM6Ly9naXRodWIuY29tL2plcm9lbi9jdXJsL2lzc3Vlcy8yMjQKKyAgQ2xvc2VzICM1NDAwCisKKy0gdGVzdHM6IGFkZCBodHRwcy1wcm94eSBzdXBwb3J0IHRvIHRoZSB0ZXN0IHN1aXRlCisgIAorICBJbml0aWFsIHRlc3QgMTYzMCBhZGRlZCB3aXRoIGJhc2ljIEhUVFBTLXByb3h5IHVzZS4gSFRUUFMtcHJveHkgaXMgbGlrZQorICBIVFRQIHByb3h5IGJ1dCB3aXRoIGEgZnVsbCBUTFMgY29ubmVjdGlvbiB0byB0aGUgcHJveHkuCisgIAorICBDbG9zZXMgIzUzOTkKKworLSBtYWlsbWFwOiBKYW1lcyBGdWxsZXIKKworLSBbTWFqb3JfVG9tIGJyb3VnaHQgdGhpcyBjaGFuZ2VdCisKKyAgdmF1dGgvY2xlYXJ0ZXh0OiBmaXggdGhlb3JldGljYWwgaW50ZWdlciBvdmVyZmxvdworICAKKyAgRml4IHRoZW9yZXRpY2FsIGludGVnZXIgb3ZlcmZsb3cgaW4gQ3VybF9hdXRoX2NyZWF0ZV9wbGFpbl9tZXNzYWdlLgorICAKKyAgVGhlIHNlY3VyaXR5IGltcGFjdCBvZiB0aGUgb3ZlcmZsb3cgd2FzIGRpc2N1c3NlZCBvbiBoYWNrZXJvbmUuIFdlCisgIGFncmVlZCB0aGlzIGlzIG1vcmUgb2YgYSB0aGVvcmV0aWNhbCB2dWxuZXJhYmlsaXR5LCBhcyB0aGUgaW50ZWdlcgorICBvdmVyZmxvdyB3b3VsZCBvbmx5IGJlIHRyaWdnZXJhYmxlIG9uIHN5c3RlbXMgdXNpbmcgMzItYml0cyBzaXplX3Qgd2l0aAorICBvdmVyIDRHQiBvZiBhdmFpbGFibGUgbWVtb3J5IHNwYWNlIGZvciB0aGUgcHJvY2Vzcy4KKyAgCisgIENsb3NlcyAjNTM5MQorCitKYXkgU2F0aXJvICgxMyBNYXkgMjAyMCkKKy0gY3VybC4xOiBRdW90ZSBnbG9iYmVkIFVSTHMKKyAgCisgIC0gUXVvdGUgdGhlIGdsb2JiaW5nIGV4YW1wbGUgVVJMcyB0aGF0IGNvbnRhaW4gY2hhcmFjdGVycyBbXSB7fSBzaW5jZQorICAgIG90aGVyd2lzZSB0aGV5IG1heSBiZSBpbnRlcnByZXRlZCBhcyBzaGVsbCBtZXRhY2hhcmFjdGVycy4KKyAgCisgIEJ1ZzogaHR0cHM6Ly9naXRodWIuY29tL2N1cmwvY3VybC9pc3N1ZXMvNTM4OAorICBSZXBvcnRlZC1ieTogSm9obiBTaW1wc29uCisgIAorICBDbG9zZXMgaHR0cHM6Ly9naXRodWIuY29tL2N1cmwvY3VybC9wdWxsLzUzOTQKKworRGFuaWVsIFN0ZW5iZXJnICgxNCBNYXkgMjAyMCkKKy0gY2hlY2tzcmM6IGVuaGFuY2UgdGhlIEFTVEVSSVNLU1BBQ0UgYW5kIHVwZGF0ZSBjb2RlIGFjY29yZGluZ2x5CisgIAorICBGaW5lOiAic3RydWN0IGhlbGxvICp3b3JsZCIKKyAgCisgIE5vdCBmaW5lOiAic3RydWN0IGhlbGxvKiB3b3JsZCIgKGFuZCB2YXJpYXRpb25zKQorICAKKyAgQ2xvc2VzICM1Mzg2CisKKy0gZG9jcy9vcHRpb25zLWluLXZlcnNpb25zOiB3aGljaCB2ZXJzaW9uIGFkZGVkIGVhY2ggY21kbGluZSBvcHRpb24KKyAgCisgIEFkZGVkIHRlc3QgOTcxIHRvIHZlcmlmeSB0aGF0IHRoZSBsaXN0IGlzIGluIHN5bmMgd2l0aCB0aGUgZmlsZXMgaW4KKyAgY21kbGluZS1vcHRzLiBUaGUgY2hlY2sgYWxzbyB2ZXJpZmllcyB0aGF0IC5kLWZpbGVzIHRoYXQgdXNlcyBBZGRlZDoKKyAgc3BlY2lmeSB0aGUgc2FtZSB2ZXJzaW9uIG51bWJlciBhcyB0aGUgb3B0aW9ucy1pbi12ZXJzaW9ucyBmaWxlIGRvZXMuCisgIAorICBDbG9zZXMgIzUzODEKKworLSBkb2NzOiB1bmlmeSBwcm90b2NvbCBsaXN0cworICAKKyAgV2UgYm9hc3Qgc3VwcG9ydCBmb3IgMjUgdHJhbnNmZXIgcHJvdG9jb2xzLiBNYWtlIHN1cmUgdGhlIGxpc3RzIGFyZQorICBjb25zaXN0ZW50CisgIAorICBDbG9zZXMgIzUzODQKKworLSBPcGVuU1NMOiBoYXZlIENVUkxPUFRfQ1JMRklMRSBpbXBseSBDVVJMU1NMT1BUX05PX1BBUlRJQUxDSEFJTgorICAKKyAgLi4uIHRvIGF2b2lkIGFuIE9wZW5TU0wgYnVnIHRoYXQgb3RoZXJ3aXNlIG1ha2VzIHRoZSBDUkwgY2hlY2sgdG8gZmFpbC4KKyAgCisgIFJlcG9ydGVkLWJ5OiBNaWNoYWVsIEthdWZtYW5uCisgIEZpeGVzICM1Mzc0CisgIENsb3NlcyAjNTM3NgorCistIHRsczEzLWNpcGhlcnMuZDogc2hvcnRlbiB0aGUgQXJnCisKKy0gc2FzbC1hdXRoemlkLmQ6IGFkZCBBcmc6IGFuZCBzaG9ydGVuIHRoZSBkZXNjCisKKy0gY2VydC10eXBlLmQ6IG1lbnRpb24gdGhlIGF2YWlsYWJsZSB0eXBlcyBpbiB0aGUgZGVzYworCistIHRvb2w6IHNob3J0ZW4gMyAtLWhlbHAgZGVzY3JpcHRpb25zCisgIAorICAtLWhhcHB5LWV5ZWJhbGxzLXRpbWVvdXQtbXMsIC0tcmVzb2x2ZSBhbmQgLS1zc2wtcmV2b2tlLWJlc3QtZWZmb3J0CisgIAorICBnZW4ucGwgYWxyZWFkeSB3YXJuZWQgYWJvdXQgdGhlc2UgbGluZXMgYnV0IHdlIGRpZG4ndCBsaXN0ZW4KKyAgCisgIENsb3NlcyAjNTM3OQorCistIGNvbmZpZ3VyZTogdGhlIHdvbGZzc2ggYmFja2VuZCBkb2VzIG5vdCBwcm92aWRlIFNDUAorICAKKyAgQ2xvc2VzICM1Mzg3CisKKy0gUkVMRUFTRS1OT1RFUzogc3luY2VkCisKKy0gdXJsOiByZWplY3QgdG9vIGxvbmcgaW5wdXQgd2hlbiBwYXJzaW5nIGNyZWRlbnRpYWxzCisgIAorICBTaW5jZSBpbnB1dCBwYXNzZWQgdG8gbGliY3VybCB3aXRoIENVUkxPUFRfVVNFUlBXRCBhbmQKKyAgQ1VSTE9QVF9QUk9YWVVTRVJQV0QgY2lyY3VtdmVudHMgdGhlIHJlZ3VsYXIgc3RyaW5nIGxlbmd0aCBjaGVjayB3ZSBoYXZlCisgIGluIEN1cmxfc2V0c3Ryb3B0KCksIHRoZSBpbnB1dCBsZW5ndGggbGltaXQgaXMgZW5mb3JjZWQgaW4KKyAgQ3VybF9wYXJzZV9sb2dpbl9kZXRhaWxzIHRvbywgc2VwYXJhdGVseS4KKyAgCisgIFJlcG9ydGVkLWJ5OiBUaG9tYXMgQm91emVyYXIKKyAgQ2xvc2VzICM1MzgzCisKKy0gbGlzdC1vbmx5LmQ6IHRoaXMgb3B0aW9uIGV4aXN0ZWQgYWxyZWFkeSBpbiA0LjAKKworSmF5IFNhdGlybyAoMTIgTWF5IDIwMjApCistIHJldHJ5LWFsbC1lcnJvcnMuZDogU2hvcnRlbiB0aGUgc3VtbWFyeSBsaW5lCisgIAorICBGb2xsb3ctdXAgdG8gYjk5NWJiNSBmcm9tIGEgZmV3IG1vbWVudHMgYWdvLgorICAKKyAgUmVwb3J0ZWQtYnk6IERhbmllbCBTdGVuYmVyZworICAKKyAgUmVmOiBodHRwczovL2dpdGh1Yi5jb20vY3VybC9jdXJsL2NvbW1pdC9iOTk1YmI1I3IzOTEwODkyOQorCistIFtkZW56b3IgYnJvdWdodCB0aGlzIGNoYW5nZV0KKworICBlYXN5OiBmaXggZGFuZ2xpbmcgcG9pbnRlciBvbiBlYXN5X3BlcmZvcm0gZmFpbAorICAKKyAgQ2xvc2VzIGh0dHBzOi8vZ2l0aHViLmNvbS9jdXJsL2N1cmwvcHVsbC81MzYzCisKKy0gdG9vbDogQWRkIG9wdGlvbiAtLXJldHJ5LWFsbC1lcnJvcnMgdG8gcmV0cnkgb24gYW55IGVycm9yCisgIAorICBUaGUgInNsZWRnZWhhbW1lciIgb2YgcmV0cnlpbmcuCisgIAorICBDbG9zZXMgaHR0cHM6Ly9naXRodWIuY29tL2N1cmwvY3VybC9wdWxsLzUxODUKKworRGFuaWVsIFN0ZW5iZXJnICgxMiBNYXkgMjAyMCkKKy0gW0phbWVzIExlIEN1aXJvdCBicm91Z2h0IHRoaXMgY2hhbmdlXQorCisgIGxpYmN1cmwucGM6IE1lcmdlIExpYnMucHJpdmF0ZSBpbnRvIExpYnMgZm9yIHN0YXRpYy1vbmx5IGJ1aWxkcworICAKKyAgQSBwcm9qZWN0IGJlaW5nIGJ1aWx0IGVudGlyZWx5IHN0YXRpY2FsbHkgd2lsbCBjYWxsIHBrZy1jb25maWcgd2l0aAorICAtLXN0YXRpYywgd2hpY2ggdXRpbGlzZXMgdGhlIExpYnMucHJpdmF0ZSBmaWVsZC4gQ29udmVyc2VseSBpdCB3aWxsCisgIG5vdCB1c2UgLS1zdGF0aWMgd2hlbiBub3QgYmVpbmcgYnVpbHQgZW50aXJlbHkgc3RhdGljYWxseSwgZXZlbiBpZgorICB0aGVyZSBpcyBvbmx5IGEgc3RhdGljIGJ1aWxkIG9mIGxpYmN1cmwgYXZhaWxhYmxlLiBUaGlzIHdpbGwgbW9zdAorICBsaWtlbHkgY2F1c2UgdGhlIGJ1aWxkIHRvIGZhaWwgZHVlIHRvIHVuZGVybGlua2luZyB1bmxlc3Mgd2UgbWVyZ2UgdGhlCisgIExpYnMgZmllbGRzLgorICAKKyAgQ29uc2lkZXIgdGhhdCB0aGlzIGlzIHdoYXQgdGhlIE1lc29uIGJ1aWxkIHN5c3RlbSBkb2VzIHdoZW4gaXQKKyAgZ2VuZXJhdGVzIHBrZy1jb25maWcgZmlsZXMuCisgIAorICBJIGhhdmUgYWxzbyByZWZsZWN0ZWQgdGhpcyBpbiB0aGUgLS1saWJzIGFyZ3VtZW50IG9mIGN1cmwtY29uZmlnIGV2ZW4KKyAgdGhvdWdoIFJFUVVJUkVfTElCX0RFUFMgYWx3YXlzIHNlZW1zIHRvIGJlICJ5ZXMiIGFueXdheS4KKyAgCisgIENsb3NlcyAjNTM3MworCistIFtQZXRlciBXdSBicm91Z2h0IHRoaXMgY2hhbmdlXQorCisgIENNYWtlOiBmaXggcnVudGVzdHMucGwgd2l0aCBDTWFrZSwgYWRkIG5ldyB0ZXN0IHRhcmdldHMKKyAgCisgICAgKiBydW50ZXN0cy5wbDoKKyAgICAgIC0gRml4IG91dC1vZi10cmVlIGJ1aWxkIHVuZGVyIENNYWtlIHdoZW4gc3JjZGlyIGlzIG5vdCBzZXQuIERlZmF1bHQKKyAgICAgICAgc3JjZGlyIHRvIHRoZSBsb2NhdGlvbiBvZiBydW50ZXN0cy5wbC4KKyAgICAgIC0gQWRkIGEgaGFjayB0byBhbGxvdyBDTWFrZSB0byB1c2UgdGhlIFRGTEFHUyBvcHRpb24gYXMgZG9jdW1lbnRlZAorICAgICAgICBpbiB0ZXN0cy9SRUFETUUgYW5kIHVzZWQgaW4gc2NyaXB0cy90cmF2aXMvc2NyaXB0LnNoLgorICAgICogQnVtcCBDTWFrZSB2ZXJzaW9uIHRvIDMuMiBmb3IgVVNFU19URVJNSU5BTCwgZHJvcHBpbmcgRGViaWFuIEplc3NpZQorICAgICAgc3VwcG9ydCAobm8gb25lIHNob3VsZCBjYXJlLCBpdCBpcyBhbHJlYWR5IEVPTC4pLgorICAgICogUmVtb3ZlIENUZXN0IHNpbmNlIGl0IGRlZmluZXMgaXRzIG93biAndGVzdCcgdGFyZ2V0IHdpdGggbm8gdGVzdHMKKyAgICAgIHNpbmNlIGFsbCB1bml0dGVzdHMgYXJlIGFscmVhZHkgYnJva2VuIGFuZCBub3QgYnVpbHQgYnkgZGVmYXVsdC4KKyAgICAqIEFkZCBuZXcgdGVzdCB0YXJnZXRzIGJhc2VkIG9uIHRoZSBvcHRpb25zIGZyb20gTWFrZWZpbGUuYW0uIFNpbmNlCisgICAgICBuZXcgdGVzdCB0YXJnZXRzIGFyZSByYXJlbHkgYWRkZWQsIEkgb3B0ZWQgZm9yIGR1cGxpY2F0aW5nIHRoZQorICAgICAgcnVudGVzdHMucGwgb3B0aW9ucyBhcyBvcHBvc2VkIHRvIGNyZWF0aW5nIGEgbmV3IE1ha2VmaWxlLmluYyBmaWxlLgorICAgICAgVXNlIHRvcC1sZXZlbCB0YXJnZXQgbmFtZXMgKHRlc3QteCkgaW5zdGVhZCBvZiB4LXRlc3Qgc2luY2UgdGhhdCBpcworICAgICAgdXNlZCBieSBDSSBhbmQgb3RoZXJzLgorICAKKyAgQ2xvc2VzICM1MzU4CisKKy0gW1BldGVyIFd1IGJyb3VnaHQgdGhpcyBjaGFuZ2VdCisKKyAgQ01ha2U6IGRvIG5vdCBidWlsZCB0ZXN0IHByb2dyYW1zIGJ5IGRlZmF1bHQKKyAgCisgIFRoZSBkZWZhdWx0IHRhcmdldCBzaG91bGQgb25seSBidWlsZCBsaWJjdXJsIGFuZCBjdXJsLiBBZGQgYSBkZWRpY2F0ZWQKKyAgJ3Rlc3RkZXBzJyB0YXJnZXQgd2hpY2ggd2lsbCBiZSB1c2VkIGxhdGVyIHdoZW4gcnVubmluZyB0ZXN0cy4gTm90ZSB0aGF0CisgIHVuaXR0ZXN0cyBhcmUgY3VycmVudGx5IGJyb2tlbiBpbiBDTWFrZSBhbmQgYWxyZWFkeSBleGNsdWRlZC4KKyAgCisgIENsb3NlcyAjNTM2OAorCistIEZJTEVGT1JNQVQ6IG1vdmVkIHVwIHRoZSB2YXJpYWJsZXMgc2VjdGlvbiBhbmQgZnVydGhlciBwb2xpc2hlZAorCistIHJ1bnRlc3RzOiByZW1vdmUgZnRwMiBzdXBwb3J0LCBub3QgdXNlZAorICAKKyAgV2Ugb25jZSBzdXBwb3J0ZWQgdHdvIHNlcGFyYXRlIGZ0cCBpbnN0YW5jZXMgaW4gdGhlIHRlc3Qgc3VpdGUuIEhhcyBub3QKKyAgYmVlbiB1c2VkIHRoZSBsYXN0IGRlY2FkZS4KKyAgCisgIENsb3NlcyAjNTM3NQorCistIHVybDogc29ydCB0aGUgcHJvdG9jb2wgc2NoZW1lcyBpbiByb3VnaCBwb3B1bGFyaXR5IG9yZGVyCisgIAorICBXaGVuIGxvb2tpbmcgZm9yIGEgcHJvdG9jb2wgbWF0Y2ggYW1vbmcgc3VwcG9ydGVkIHNjaGVtZXMsIGNoZWNrIHRoZQorICBtb3N0ICJwb3B1bGFyIiBzY2hlbWVzIGZpcnN0LiBJdCBoYXMgemVybyBmdW5jdGlvbmFsaXR5IGRpZmZlcmVuY2UgYW5kCisgIGZvciBhbGwgcHJhY3RpY2FsIHB1cnBvc2VzIGEgc3BlZWQgZGlmZmVyZW5jZSB3aWxsIG5vdCBiZSBtZWFzdXJlYWJsZQorICBidXQgaXQgc3RpbGwgdGhpbmsgaXQgbWFrZXMgc2Vuc2UgdG8gcHV0IHRoZSBsZWFzdCBsaWtlbHkgbWF0Y2hlcyBsYXN0LgorICAKKyAgIlBvcHVsYXJpdHkiIGJhc2VkIG9uIHRoZSAyMDE5IHVzZXIgc3VydmV5LgorICAKKyAgQ2xvc2VzICM1Mzc3CisKK01hcmMgSG9lcnNrZW4gKDExIE1heSAyMDIwKQorLSB0ZXN0MTIzODogYXZvaWQgdGZ0cGQgYmVpbmcgYnVzeSBmb3IgdGVzdHMgc2hvcnRseSBmb2xsb3dpbmcKKyAgCisgIFRoZSB0ZnRwZCBzZXJ2ZXIgbWF5IHN0aWxsIGJlIGJ1c3kgaWYgdGhlIHRvdGFsIHRpbWVvdXQgb2YKKyAgMjUgc2Vjb25kcyBoYXMgbm90IGJlZW4gcmVhY2hlZCBvciBubyBzcmVhZCBlcnJvciB3YXMgcmVjZWl2ZWQKKyAgZHVyaW5nIG9yIGFmdGVyIHRoZSBleGVjdXRpb24gb2YgdGhlIHRpbWVvdXQgdGVzdCAxMjM4LgorICAKKyAgT25jZSB0aGUgbmV4dCBURlRQIHRlc3QgY29tZXMgYXJvdW5kIChlZy4gMTI0MiBvciAxMjQzKSwKKyAgdGhvc2Ugd2lsbCBmYWlsIGJlY2F1c2UgdGhlIHRmdHBkIHNlcnZlciBpcyBzdGlsbCB3YWl0aW5nCisgIG9uIGRhdGEgZnJvbSBjdXJsIGR1ZSB0byB0aGUgVURQIHByb3RvY29sIGJlaW5nIHN0YXRlbGVzcworICBhbmQgaGF2aW5nIG5vIGNvbm5lY3Rpb24gY2xvc2UuIE9uIExpbnV4IHRoaXMgZXJyb3IgbWF5IG5vdAorICBoYXBwZW4sIGJlY2F1c2UgSUNNUCBlcnJvcnMgZ2VuZXJhdGVkIGR1ZSB0byBhIHN3cml0ZSBlcnJvcgorICBjYW4gYWxzbyBiZSByZXR1cm5lZCBhc3luYyBvbiB0aGUgbmV4dCBzcmVhZCBjYWxsIGluc3RlYWQuCisgIAorICBUaGVyZWZvcmUgd2Ugd2lsbCBub3cganVzdCBraWxsIHRoZSB0ZnRwZCBzZXJ2ZXIgYWZ0ZXIgdGVzdAorICAxMjM4IHRvIG1ha2Ugc3VyZSB0aGF0IHRoZSBmb2xsb3dpbmcgdGVzdHMgYXJlIG5vdCBhZmZlY3RlZC4KKyAgCisgIFRoaXMgZW5hYmxlcyB1cyB0byBubyBsb25nZXIgaWdub3JlIHRlc3RzIDEyNDIsIDEyNDMsIDIwMDIKKyAgYW5kIDIwMDMgb24gdGhlIENJIHBsYXRmb3JtcyBDaXJydXNDSSBhbmQgQXBwVmV5b3IuCisgIAorICBBc3Npc3RlZC1ieTogUGV0ZXIgV3UKKyAgQ2xvc2VzICM1MzY0CisKK0RhbmllbCBTdGVuYmVyZyAoMTEgTWF5IDIwMjApCistIHdyaXRlLW91dC5kOiBhZGRlZCAicmVzcG9uc2VfY29kZSIKKworLSBLTk9XTl9CVUdTOiBCdWlsZCB3aXRoIHN0YXRpY2x5IGJ1aWx0IGRlcGVuZGVuY3kKKyAgCisgIEkgcmV3cm90ZSB0aGUgaXRlbSA1LjQgdG8gYmUgbW9yZSBnZW5lcmljIGFib3V0IHN0YXRpYyBkZXBlbmRlbmNpZXMuCisKKy0gUk9BRE1BUDogcmVtb3ZlIG9sZCBlbnRyaWVzCisgIAorICBNUVRUIC0gdGhlIHN0YXJ0IGhhcyBhbHJlYWR5IGxhbmRlZAorICAKKyAgdGlueS1jdXJsIC0gYWxzbyBtb3N0bHkgbGFuZGVkIGFuZCBpcyBhIGNvbnRpbnVvdXMgd29yaworICAKKyAgbWFrZSBtZW51Y29uZmlnIC0gYmFzaWNhbGx5IG5vIGludGVyZXN0IGZyb20gdXNlcnMsIG5vdCBwdXNoaW5nIHRoZXJlCisKKy0gW1BldGVyIFd1IGJyb3VnaHQgdGhpcyBjaGFuZ2VdCisKKyAgdHJhdmlzOiBBZGQgbmd0Y3AyIGFuZCBxdWljaGUgdGVzdHMgZm9yIENNYWtlCisgIAorICBUbyBhdm9pZCBhbiBleHBsb3Npb24gb2Ygam9icywgZXh0ZW5kIHRoZSBleGlzdGluZyBDTWFrZSB0ZXN0cyB3aXRoCisgIG5ndGNwMiBhbmQgcXVpY2hlIHN1cHBvcnQuIG1hY09TIHdhcyBwcmV2aW91c2x5IG1vdmVkIHRvIEdpdEh1YiBhY3Rpb25zLAorICBzbyB0aGUgbm9uLUxpbnV4IGNhc2UgY2FuIGJlIGRyb3BwZWQuCisKKy0gW1BldGVyIFd1IGJyb3VnaHQgdGhpcyBjaGFuZ2VdCisKKyAgQ01ha2U6IGFkZCBFTkFCTEVfQUxUX1NWQyBvcHRpb24KKyAgCisgIFRlc3RlZCBhbHQtc3ZjIHdpdGggcXVpY2hlLiBXaGlsZSBhdCBpdCwgYWRkIG1pc3NpbmcgTXVsdGlTU0wgcmVwb3J0aW5nCisgIChub3QgdGVzdGVkKS4KKworLSBbUGV0ZXIgV3UgYnJvdWdodCB0aGlzIGNoYW5nZV0KKworICBDTWFrZTogYWRkIEhUVFAvMyBzdXBwb3J0IChuZ3RjcDIrbmdodHRwMywgcXVpY2hlKQorICAKKyAgQWRkIHRocmVlIG5ldyBDTWFrZSBGaW5kIG1vZHVsZXMgKHVzaW5nIHRoZSBjdXJsIGxpY2Vuc2UsIGJ1dCBJIGdyYW50CisgIG90aGVycyB0aGUgcmlnaHQgdG8gYXBwbHkgdGhlIENNYWtlIEJTRCBsaWNlbnNlIGluc3RlYWQpLgorICAKKyAgVGhpcyBDTWFrZSBjb25maWcgaXMgc2ltcGxlciB0aGFuIHRoZSBhdXRvdG9vbHMgb25lIGJlY2F1c2UgaXQgYXNzdW1lcworICBuZ3RjcDIgYW5kIG5naHR0cDMgdG8gYmUgdXNlZCB0b2dldGhlci4gQW5vdGhlciBkaWZmZXJlbmNlIGlzIHRoYXQgdGhpcworICBDTWFrZSBjb25maWcgY2hlY2tzIHdoZXRoZXIgUVVJQyBpcyBhY3R1YWxseSBzdXBwb3J0ZWQgYnkgdGhlIFRMUworICBsaWJyYXJ5IChwYXRjaGVkIE9wZW5TU0wgb3IgYm9yaW5nc3NsKSBzaW5jZSB0aGlzIGNhbiBiZSBhIGNvbW1vbgorICBjb25maWd1cmF0aW9uIG1pc3Rha2UgdGhhdCBjb3VsZCByZXN1bHQgaW4gYnVpbGQgZXJyb3JzIGxhdGVyLgorICAKKyAgVW5saWtlIGF1dG90b29scywgQ01ha2UgZG9lcyBub3Qgd2FybiB5b3UgdGhhdCB0aGUgZmVhdHVyZXMgYXJlCisgIGV4cGVyaW1lbnRhbC4gVGhlIHVzZXIgaXMgc3VwcG9zZWQgdG8gYWxyZWFkeSBrbm93IHRoYXQgYW5kIHJlYWQgdGhlCisgIGRvY3VtZW50YXRpb24uIEl0IHJlcXVpcmVzIGEgdmVyeSBzcGVjaWFsIGJ1aWxkIGVudmlyb25tZW50IGFueXdheS4KKyAgCisgIFRlc3RlZCB3aXRoIG5ndGNwMitPcGVuU1NMK25naHR0cDMgYW5kIHF1aWNoZStib3Jpbmdzc2wsIGJvdGggYnVpbHQgZnJvbQorICBjdXJyZW50IGdpdCBtYXN0ZXIuIFVzZSBgTERfREVCVUc9ZmlsZXMgc3JjL2N1cmwgfCYgZ3JlcCBuZWVkYCB0byBmaWd1cmUKKyAgb3V0IHdoaWNoIGZlYXR1cmVzIChsaWJsZGFwLTIuNCwgbGlic3NoMikgdG8gZGlzYWJsZSBkdWUgdG8gY29uZmxpY3RzCisgIHdpdGggYm9yaW5nc3NsLgorICAKKyAgQ2xvc2VzICM1MzU5CisKK01hcmMgSG9lcnNrZW4gKDEwIE1heSAyMDIwKQorLSB0ZXN0cy9zZXJ2ZXIvdGZ0cGQuYzogZml4IGluY2x1ZGUgYW5kIGVuaGFuY2UgZGVidWcgbG9nZ2luZworICAKKyAgc2V0am1wLmggc2hvdWxkIG9ubHkgYmUgaW5jbHVkZWQgaWYgSEFWRV9TRVRKTVBfSCBpcyBkZWZpbmVkLgorICAKKyAgQWRkIGFkZGl0aW9uYWwgbG9nIHN0YXRlbWVudHMgdG8gc2VlIHdldGhlciByZWFkcyBhbmQgd3JpdGVzCisgIGFyZSBibG9ja2luZyBvciBmaW5pc2hpbmcgYmVmb3JlIGFuIGFsYXJtIHNpZ25hbCBpcyByZWNlaXZlZC4KKyAgCisgIEFzc2lzdGVkLWJ5OiBQZXRlciBXdQorICBQYXJ0IG9mICM1MzY0CisKK0RhbmllbCBTdGVuYmVyZyAoMTAgTWF5IDIwMjApCistIHRvb2xfb3BlcmF0ZTogb25seSBzZXQgQ1VSTE9QVF9TU0xfT1BUSU9OUyBpZiBTU0wgc3VwcG9ydCBpcyBwcmVzZW50CisgIAorICBSZXBvcnRlZC1ieTogTWFyY2VsIFJhYWQKKyAgRm9sbG93LXVwIHRvIDE0ODUzNGRiNQorICBGaXhlcyAjNTM2NworICBDbG9zZXMgIzUzNjkKKworTWFyYyBIb2Vyc2tlbiAoOSBNYXkgMjAyMCkKKy0gYXBwdmV5b3I6IHVwZGF0ZSBjb21tZW50cyB0byBiZSBjbGVhciBhYm91dCB0b29sY2hhaW4KKyAgCisgIC0gQ01ha2UtYmFzZWQgTVNZUyBidWlsZHMgdXNlIG1pbmd3LXc2NCB0byBjcm9zcy1jb21waWxlLgorICAtIGF1dG90b29scy1iYXNlZCBidWlsZHMgYXJlIGNvbXBpbGVkIHVzaW5nIG1zeXMyLWRldmVsLgorICAKKyAgVGhlIGRpZmZlcmVuY2UgaXMgdGhhdCB0aGUgbGF0ZXIgb25lcyBhcmUgbm90IGNyb3NzLWNvbXBpbGVkCisgIHRvIFdpbmRvd3MgYW5kIGluc3RlYWQgcmVxdWlyZSB0aGUgbXN5czIgcnVudGltZSB0byBiZSBwcmVzZW50LgorICAKKyAgQXQgdGhlIG1vbWVudCBvbmx5IHRoZSBBenVyZSBQaXBlbGluZXMgQ0kgYnVpbGRzIGFjdHVhbGx5CisgIHJ1biBhdXRvdG9vbHMtYmFzZWQgY3Jvc3MtY29tcGlsYXRpb24gYnVpbGRzIGZvciBXaW5kb3dzLgorCistIFRPRE86IHVwZGF0ZSByZWdhcmRpbmcgbWlzc2luZyBTY2hhbm5lbCBmZWF0dXJlcworICAKKyAgU29tZSBhc3BlY3RzIGhhdmUgYWxyZWFkeSBiZWVuIGltcGxlbWVudGVkIG92ZXIgdGhlIHllYXJzLgorICAKKyAgMTUuMSBDbGllbnQgY2VydGlmaWNhdGVzIGFyZSBub3cgc3VwcG9ydGVkOgorICAKKyAgLSBTeXN0ZW0gc3RvcmVzIHZpYSBlMzViMDI1NmViMzRmMWZlNTYyZTNlMmEyNjE1YmViNTBhMzkxYzUyCisgIC0gUEtDUyMxMiBmaWxlcyB2aWEgMGZkZjk2NTEyNjEzNTc0NTkxZjUwMWQ2M2ZlNDk0OTViYTQwZTFkNQorICAKKyAgMTUuMiBDaXBoZXJzIGNhbiBub3cgYmUgc3BlY2lmaWVkIHRocm91Z2g6CisgIAorICAtIEFsZ29yaXRobXMgdmlhIDlhZWZiZmYzMGQyODBjNjBmYzlkOGNjM2UwYjJmMTlmYzcwYTJmMjgKKyAgCisgIFJldmlld2VkLWJ5OiBEYW5pZWwgU3RlbmJlcmcgYW5kIE1hcmNlbCBSYWFkCisgIENsb3NlcyAjNTM1OAorCitEYW5pZWwgU3RlbmJlcmcgKDggTWF5IDIwMjApCistIGNoZWNrc3JjOiBjbG9zZSB0aGUgLmNoZWNrc3JjIGZpbGUgaGFuZGxlIHdoZW4gZG9uZSByZWFkaW5nCisKKy0gUkVMRUFTRS1OT1RFUzogc3luY2VkCisgIAorICBBbmQgYnVtcGVkIG5leHQgdmVyc2lvbiB0byA3LjcxLjAKKworLSBbR2lsbGVzIFZvbGxhbnQgYnJvdWdodCB0aGlzIGNoYW5nZV0KKworICBDVVJMT1BUX1NTTF9PUFRJT05TOiBhZGQgKl9OQVRJVkVfQ0EgdG8gdXNlIFdpbmRvd3MgQ0Egc3RvcmUgKHdpdGggb3BlbnNzbCkKKyAgCisgIENsb3NlcyAjNDM0NgorCistIFRPRE86IG5hdGl2ZSBJRE4gc3VwcG9ydCBvbiBtYWNPUworCistIHVybGFwaTogYWNjZXB0IDo6IGFzIGEgdmFsaWQgSVB2NiBhZGRyZXNzCisgIAorICBUZXh0IDE1NjAgaXMgZXh0ZW5kZWQgdG8gdmVyaWZ5LgorICAKKyAgUmVwb3J0ZWQtYnk6IFBhdmVsIFZvbGdhcmV2CisgIEZpeGVzICM1MzQ0CisgIENsb3NlcyAjNTM1MQorCistIFRIQU5LUy1maWx0ZXI6IFBldGVyIFdhbmcKKworLSBbUGV0ZXIgV2FuZyBicm91Z2h0IHRoaXMgY2hhbmdlXQorCisgICpfc3NwaTogZml4IGJhZCB1c2VzIG9mIENVUkxFX05PVF9CVUlMVF9JTgorICAKKyAgUmV0dXJuIENVUkxFX0FVVEhfRVJST1IgaW5zdGVhZCBvZiBDVVJMRV9OT1RfQlVJTFRfSU4gZm9yIG90aGVyCisgIGluc3RhbmNlcyBvZiBRdWVyeVNlY3VyaXR5UGFja2FnZUluZm8gZmFpbGluZywgYXMgaW4KKyAgY29tbWl0IDJhODE0Mzk1NTMyODZmMTJjZDA0YTRiZGNkZjY2ZDhlMDI2ZDgyMDEuCisgIAorICBDbG9zZXMgIzUzNTUKKworLSBkb2NzL0hUVFAzOiBhZGQgcWxvZyB0byB0aGUgcXVpY2hlIGJ1aWxkIGluc3RydWN0aW9uCisKKy0gbmd0Y3AyOiBpbnRyb2R1Y2UgcWxvZyBzdXBwb3J0CisgIAorICBJZiB0aGUgUUxPR0RJUiBlbnZpcm9ubWVudCB2YXJpYWJsZSBpcyBzZXQsIGVuYWJsZSBxbG9nZ2luZy4KKyAgCisgIC4uLiBhbmQgY3JlYXRlIEN1cmxfcWxvZ2RpcigpIGluIHRoZSBuZXcgZ2VuZXJpYyB2cXVpYy92cXVpYy5jIGZpbGUgZm9yCisgIFFVSUMgZnVuY3Rpb25zIHRoYXQgYXJlIGJhY2tlbmQgaW5kZXBlbmRlbnQuCisgIAorICBDbG9zZXMgIzUzNTMKKworLSBudGxtX3NzcGk6IGZpeCBiYWQgdXNlIG9mIENVUkxFX05PVF9CVUlMVF9JTgorICAKKyAgVGhhdCByZXR1cm4gY29kZSBpcyByZXNlcnZlZCBmb3IgYnVpbGQtdGltZSBjb25kaXRpb25hbCBjb2RlIG5vdCBiZWluZworICBwcmVzZW50IHdoaWxlIHRoaXMgd2FzIGEgcmVndWxhciBydW4tdGltZSBlcnJvciBmcm9tIGEgV2luZG93cyBBUEkuCisgIAorICBSZXBvcnRlZC1ieTogd2FuZ3Agb24gZ2l0aHViCisgIEZpeGVzICM1MzQ5CisgIENsb3NlcyAjNTM1MAorCistIHJ1bnRlc3RzOiBzaG93IGVsYXBzZWQgdGVzdCB0aW1lIHdpdGggaGlnaGVyIHByZWNpc2lvbiAobXMpCisKKy0gUkVMRUFTRS1OT1RFUzogc3luY2VkCisKKy0gaHR0cDI6IHNpbXBsaWZ5IGFuZCBjbGVhbiB1cCB0cmFpbGVyIGhhbmRsaW5nCisgIAorICBUcmlnZ2VyZWQgYnkgYSBjcmFzaCBkZXRlY3RlZCBieSBPU1MtRnV6eiBhZnRlciB0aGUgZHluYnVmIGludHJvZHVjdGlvbiBpbgorICBlZDM1ZDY1OTBlNzIuIFRoaXMgc2hvdWxkIG1ha2UgdGhlIHRyYWlsZXIgaGFuZGxpbmcgbW9yZSBzdHJhaWdodCBmb3J3YXJkIGFuZAorICBob3BlZnVsbHkgbGVzcyBlcnJvci1wcm9uZS4KKyAgCisgIERlbGl2ZXIgdGhlIHRyYWlsZXIgaGVhZGVyIHRvIHRoZSBjYWxsYmFjayBhbHJlYWR5IGF0IHJlY2VpdmUtdGltZS4gTm8KKyAgbG9uZ2VyIGNhY2hlcyB0aGUgdHJhaWxlcnMgdG8gZ2V0IGRlbGl2ZXJlZCBhdCBlbmQgb2Ygc3RyZWFtLgorICAKKyAgQnVnOiBodHRwczovL2J1Z3MuY2hyb21pdW0ub3JnL3Avb3NzLWZ1enovaXNzdWVzL2RldGFpbD9pZD0yMjAzMAorICBDbG9zZXMgIzUzNDgKKworTWFyYyBIb2Vyc2tlbiAoNyBNYXkgMjAyMCkKKy0gYXBwdmV5b3I6IGRpc2FibGUgdGVzdCAxMTM5IGluc3RlYWQgb2YgaWdub3JpbmcgaXQKKyAgCisgIFNwZW5kaW5nIHRpbWUgb24gbWFucGFnZSBjaGVja2luZyBtYWtlcyBubyBzZW5zZQorICBmb3IgdGhlc2UgYnVpbGRzIGR1ZSB0byBsYWNraW5nIG1hbnBhZ2Ugc3VwcG9ydC4KKworLSBhcHB2ZXlvcjogZGlzYWJsZSBmbGFreSB0ZXN0IDE1MDEgYW5kIGlnbm9yZSBicm9rZW4gMTA1NgorICAKKyAgVGVzdCAxNTAxIGlzIGZsYWt5IG9uIFdpbmRvd3MgQ0kgZHVlIHRvIGJlaW5nIHRpbWUgc2Vuc2l0aXZlCisgIGFuZCB0aGUgdGVzdHN1aXRlIHJlbHlpbmcgb24gdGFza2tpbGwuZXhlIHRvIGNoZWNrIGZvciB0aGUKKyAgZXhpc3RhbmNlIG9mIHByb2Nlc3NlcyB3aGljaCBjYW4gdGFrZSB0byBtdWNoIHRpbWUgaXRzZWxmLgorICAKKyAgVGVzdCAxMDU2IGlzIGJyb2tlbiBpbiBhdXRvdG9vbHMtYmFzZWQgV2luZG93cyBidWlsZHMgZHVlCisgIHRvIHNjb3BlIElEIHN1cHBvcnQgbWlzc2luZyBpbiB0aGVzZSBidWlsZHMgYXQgdGhlIG1vbWVudC4KKworLSB0ZXN0NjEzLnBsOiBtYWtlIHRlc3RzIDYxMyBhbmQgNjE0IHdvcmsgd2l0aCBPcGVuU1NIIGZvciBXaW5kb3dzCisgIAorICBPcGVuU1NIIGZvciBXaW5kb3dzIHNob3dzIGdyb3VwIGFuZCBvdGhlci93b3JsZCBwZXJtaXNzaW9ucyBhcyAqLAorICBiZWNhdXNlIHRob3NlIGNvbmNlcHRzIGRvIG5vdCBleGlzdCBvbiBXaW5kb3dzLiBJdCBhbHNvIGRvZXMgbm90CisgIHNob3cgdGhlIGN1cnJlbnQgb3IgcGFyZW50IGRpcmVjdG9yeSwgc28gd2UganVzdCBpZ25vcmUgdGhvc2UuCisgIAorICBSZXZpZXdlZC1ieTogRGFuaWVsIFN0ZW5iZXJnCisgIENsb3NlcyAjNTMyOAorCitEYW5pZWwgU3RlbmJlcmcgKDYgTWF5IDIwMjApCistIHJ1bnRlc3RzOiBzZXQgK3ggbW9kZSBhZ2FpbgorCistIGxpYnNzaDI6IGNvbnZlcnQgb3ZlciB0byB1c2UgZHluYnVmCisgIAorICBJbiBteSB2ZXJ5IGJhc2ljIHRlc3QgdGhhdCBsaXN0cyBzZnRwOi8vMTI3LjAuMC4xL3RtcC8sIHRoaXMgcGF0Y2hlZAorICBjb2RlIG1ha2VzIDE2MSBhbGxvY2F0aW9ucyBjb21wYXJlZCB0byAxOTQgaW4gZ2l0IG1hc3Rlci4gQSAxNyUKKyAgcmVkdWN0aW9uLgorICAKKyAgQ2xvc2VzICM1MzM2CisKKy0gdHJhdmlzOiBhZGQgInFsb2ciIGFzIGZlYXR1cmUgaW4gdGhlIHF1aWNoZSBidWlsZAorCistIHF1aWNoZTogZW5hYmxlIHFsb2cgb3V0cHV0CisgIAorICBxdWljaGUgaGFzIHRoZSBwb3RlbnRpYWwgdG8gbG9nIHFsb2cgZmlsZXMuIFRvIGVuYWJsZSB0aGlzLCB5b3UgbXVzdAorICBidWlsZCBxdWljaGUgd2l0aCB0aGUgcWxvZyBmZWF0dXJlIGVuYWJsZWQgYGNhcmdvIGJ1aWxkIC0tZmVhdHVyZXMKKyAgcWxvZ2AuIGN1cmwgdGhlbiBwYXNzZXMgYSBmaWxlIGRlc2NyaXB0b3IgdG8gcXVpY2hlLCB3aGljaCB0YWtlcworICBvd25lcnNoaXAgb2YgdGhlIGZpbGUuIFRoZSBGRCB0cmFuc2ZlciBvbmx5IHdvcmtzIG9uIFVOSVguCisgIAorICBUaGUgY29udmVudGlvbiBpcyB0byBlbmFibGUgbG9nZ2luZyB3aGVuIHRoZSBRTE9HRElSIGVudmlyb25tZW50IGlzCisgIHNldC4gVGhpcyBzaG91bGQgYmUgYSBwYXRoIHRvIGEgZm9sZGVyIHdoZXJlIGZpbGVzIGFyZSB3cml0dGVuIHdpdGggdGhlCisgIG5hbWluZyB0ZW1wbGF0ZSA8U0NJRD4ucWxvZy4KKyAgCisgIENvLWF1dGhvcmVkLWJ5OiBMdWNhcyBQYXJkdWUKKyAgUmVwbGFjZXMgIzUzMzcKKyAgQ2xvc2VzICM1MzQxCisKKy0gdXJsZGF0YS5oOiByZW1vdmUgI2RlZmluZSBIRUFERVJTSVpFLCBub3QgdXNlZCBhbnltb3JlCisgIAorICBGb2xsb3ctdXAgdG8gZWQzNWQ2NTkwZTcyYworCistIG5ndGNwMjogY29udmVydCB0byBkeW5idWYKKyAgCisgIENsb3NlcyAjNTMzNQorCistIGNvbm5lY3Q6IG1ha2UgaGFwcHkgZXllYmFsbHMgd29yayBmb3IgUVVJQyAoYWdhaW4pCisgIAorICBGb2xsb3ctdXAgZnJvbSBkYmQxNmMzZTI1NmM2YyAocmVncmVzc2lvbiBpbiA3LjcwLjApCisgIAorICBDbG9zZXMgIzUzMzQKKworLSBjb25uZWN0OiBhZGQgdHdvIGFzc2VydHMgdG8gY2x1ZSBjb2RlIGFuYWx5emVycyBpbiBhIGxpdHRsZQorCistIGh0dHBfcHJveHk6IHBvcnRlZCB0byB1c2UgZHluYnVmIGluc3RlYWQgb2YgYSBzdGF0aWMgc2l6ZSBidWZmZXIKKyAgCisgIFJlbW92ZXMgYSAxNksgc3RhdGljIGJ1ZmZlciBmcm9tIHRoZSBlYXN5IGhhbmRsZS4gU2ltcGxpZmllcyB0aGUgY29kZS4KKworLSBkeW5idWY6IGludHJvZHVjZSBpbnRlcm5hbCBnZW5lcmljIGR5bmFtaWMgYnVmZmVyIGZ1bmN0aW9ucworICAKKyAgQSBjb21tb24gc2V0IG9mIGZ1bmN0aW9ucyBpbnN0ZWFkIG9mIG1hbnkgc2VwYXJhdGUgaW1wbGVtZW50YXRpb25zIGZvcgorICBjcmVhdGluZyBidWZmZXJzIHRoYXQgY2FuIGdyb3cgd2hlbiBhcHBlbmRpbmcgZGF0YSB0byB0aGVtLiBFeGlzdGluZworICBmdW5jdGlvbmFsaXR5IGhhcyBiZWVuIHBvcnRlZCBvdmVyLgorICAKKyAgSW4gbXkgZWFybHkgYmFzaWMgdGVzdGluZywgdGhlIHRvdGFsIG51bWJlciBvZiBhbGxvY2F0aW9ucyBzZWVtIGF0CisgIHJvdWdobHkgdGhlIHNhbWUgYW1vdW50IGFzIGJlZm9yZSwgcG9zc2libHkgYSBmZXcgbGVzcy4KKyAgCisgIFNlZSBkb2NzL0RZTkJVRi5tZCBmb3IgYSBkZXNjcmlwdGlvbiBvZiB0aGUgQVBJLgorICAKKyAgQ2xvc2VzICM1MzAwCisKKy0gcnVudGVzdHM6IHJlbW92ZSBzbGVlcCBjYWxscworICAKKyAgUmVtb3ZlIG1hbnkgb25lIHNlY29uZCBzbGVlcHMgdGhhdCB3ZXJlIGRvbmUgKmFmdGVyKiBlYWNoIG5ld2x5IHN0YXJ0ZWQKKyAgdGVzdCBzZXJ2ZXIgYWxyZWFkeSBoYXMgYmVlbiB2ZXJpZmllZC4gVGhleSBzaG91bGQgbm90IGhhdmUgYW55IHB1cnBvc2UKKyAgdGhlcmUuCisgIAorICBDbG9zZXMgIzUzMjMKKworLSBhc3luLSo6IHJlbW92ZSBzdXBwb3J0IGZvciBuZXZlci11c2VkIE5VTEwgZW50cnkgcG9pbnRlcnMKKyAgCisgIC4uLiBhbmQgaW5zdGVhZCBjb252ZXJ0IHRob3NlIHRvIGFzc2VydHMgdG8gbWFrZSBzdXJlIHRoZXkgYXJlIHRydWx5CisgIG5ldmVyIE5VTEwuCisgIAorICBDbG9zZXMgIzUzMjQKKworLSBbRW1pbCBFbmdsZXIgYnJvdWdodCB0aGlzIGNoYW5nZV0KKworICBkb2M6IFJlbmFtZSBWRVJTSU9OUyB0byBWRVJTSU9OUy5tZCBhcyBpdCBhbHJlYWR5IGhhcyBNYXJrZG93biBzeW50YXgKKyAgCisgIENsb3NlcyAjNTMyNQorCitKYXkgU2F0aXJvICgyIE1heSAyMDIwKQorLSBhc3luLXRocmVhZDogZml4IGNwcGNoZWNrIHdhcm5pbmcKKyAgCisgIC0gQ2hlY2sgZm9yIE5VTEwgZW50cnkgcGFyYW1ldGVyIGJlZm9yZSBhdHRlbXB0aW5nIHRvIGRlcmVmIGVudHJ5IGluCisgICAgQ3VybF9yZXNvbHZlcl9pc19yZXNvbHZlZCwgbGlrZSBpcyBhbHJlYWR5IGRvbmUgaW4gYXN5bi1hcmVzLgorICAKKyAgVGhpcyBpcyB0byBzaWxlbmNlIGNwcGNoZWNrIHdoaWNoIGRvZXMgbm90IHNlZW0gdG8gdW5kZXJzdGFuZCB0aGF0CisgIGFzeW4tYXJlcyBhbmQgYXN5bi10aHJlYWQgaGF2ZSBzZXBhcmF0ZSBDdXJsX3Jlc29sdmVyX2lzX3Jlc29sdmVkCisgIGFuZCB0aG9zZSB1bml0cyBhcmUgbXV0dWFsbHkgZXhjbHVzaXZlLiBQcmlvciB0byB0aGlzIGNoYW5nZSBpdCB3YXJuZWQKKyAgb2YgYSBzY2VuYXJpbyB3aGVyZSBhc3luLXRocmVhZCdzIEN1cmxfcmVzb2x2ZXJfaXNfcmVzb2x2ZWQgaXMgY2FsbGVkCisgIHdpdGggYSBOVUxMIGVudHJ5IGZyb20gYXN5bi1hcmVzLCBidXQgdGhhdCBjb3VsZG4ndCBoYXBwZW4uCisgIAorICBSZXBvcnRlZC1ieTogcmwxOTg3QHVzZXJzLm5vcmVwbHkuZ2l0aHViLmNvbQorICAKKyAgRml4ZXMgaHR0cHM6Ly9naXRodWIuY29tL2N1cmwvY3VybC9pc3N1ZXMvNTMyNgorCistIHNlbGVjdDogZml4IG92ZXJmbG93IHByb3RlY3Rpb24gaW4gQ3VybF9zb2NrZXRfY2hlY2sKKyAgCisgIEZvbGxvdy11cCB0byBhOTZjNzUyIHdoaWNoIGNoYW5nZWQgdGhlIHRpbWVvdXRfbXMgdHlwZSBmcm9tIHRpbWVfdCB0bworICB0aW1lZGlmZl90LgorICAKKyAgUmVmOiBodHRwczovL2dpdGh1Yi5jb20vY3VybC9jdXJsL3B1bGwvNTI0MAorICAKKyAgQ2xvc2VzIGh0dHBzOi8vZ2l0aHViLmNvbS9jdXJsL2N1cmwvcHVsbC81Mjg2CisKK01hcmMgSG9lcnNrZW4gKDIgTWF5IDIwMjApCistIHNvY2tmaWx0OiBtYWtlIHNlbGVjdF93cyBzdG9wIHdhaXRpbmcgb24gZXhpdCBzaWduYWwgZXZlbnQKKyAgCisgIFRoaXMgbWFrZXMgc3VyZSB0aGF0IHNlbGVjdF93cyBiZWhhdmVzIHNpbWlsYXIgdG8gcmVhbCBzZWxlY3QKKyAgd2hpY2ggc3RvcHMgd2FpdGluZyBvbiBhIHNpZ25hbCBoYW5kbGVyIGJlaW5nIHRyaWdnZXJlZC4KKyAgCisgIFRoaXMgbWFrZXMgaXQgcG9zc2libGUgdG8gZ3JhY2VmdWxseSBzdG9wIHNvY2tmaWx0LmV4ZSBvbgorICBXaW5kb3dzIHdpdGggdGFza2tpbGwgL0lNIHNvY2tmaWx0LmV4ZSAod2l0aG91dCAvRiBmb3JjZSBmbGFnKS4KKyAgCisgIFJldmlld2VkLWJ5OiBKYXkgU2F0aXJvCisgIFBhcnQgb2YgIzUyNjAKKworLSB0ZXN0cy9zZXJ2ZXIvdXRpbC5bY2hdOiBhZGQgZXhpdCBldmVudCB0byBzdG9wIHdhaXRpbmcgb24gV2luZG93cworICAKKyAgVGhpcyBjb21taXQgYWRkcyBhIGdsb2JhbCBleGl0IGV2ZW50IHRvIHRoZSB0ZXN0IHNlcnZlcnMgdGhhdAorICBXaW5kb3dzLXNwZWNpZmljIHdhaXQgcm91dGluZXMgY2FuIHVzZSB0byBnZXQgdHJpZ2dlcmVkIGlmIHRoZQorICBwcm9ncmFtIHdhcyBzaWduYWxlZCB0byBiZSB0ZXJtaW5hdGVkLCBlZy4gc2VsZWN0X3dzIGluIHNvY2tmaWx0LmMKKyAgCisgIFRoZSBleGl0IGV2ZW50IHdpbGwgYmUgbWFuYWdlZCBieSB0aGUgc2lnbmFsIGhhbmRsaW5nIGNvZGUgYW5kIGlzCisgIHNldCB0byBub3QgcmVzZXQgYXV0b21hdGljYWxseSB0byBzdXBwb3J0IG11bHRpcGxlIHdhaXQgcm91dGluZXMuCisgIAorICBSZXZpZXdlZC1ieTogSmF5IFNhdGlybworICBDbG9zZXMgIzUyNjAKKworLSB0ZXN0cy9zZXJ2ZXIvdXRpbC5jOiBmaXggdGhyZWFkIGhhbmRsZSBub3QgYmVpbmcgY2xvc2VkCisgIAorICBSZXZpZXdlZC1ieTogSmF5IFNhdGlybworICBQYXJ0IG9mICM1MjYwCisKKy0gdGVzdHMvc2VydmVyL3V0aWwuYzogdXNlIHJhaXNlIGluc3RlYWQgb2YgY2FsbGluZyBzaWduYWwgaGFuZGxlcgorICAKKyAgVXNlIHJhaXNlIHRvIHRyaWdnZXIgc2lnbmFsIGhhbmRsZXIgaW5zdGVhZCBvZiBjYWxsaW5nIGl0CisgIGRpcmVjdGx5IGFuZCBjYXVzaW5nIHBvdGVudGlhbCB1bmV4cGVjdGVkIGNvbnRyb2wgZmxvdy4KKyAgCisgIFJldmlld2VkLWJ5OiBKYXkgU2F0aXJvCisgIFBhcnQgb2YgIzUyNjAKKworLSB0ZXN0czogYWRkIHN1cHBvcnQgZm9yIFNTSCBzZXJ2ZXIgdmFyaWFudCBzcGVjaWZpYyB0cmFuc2ZlciBwYXRocworICAKKyAgT3BlblNTSCBmb3IgV2luZG93cyByZXF1aXJlcyBwYXRocyBpbiB0aGUgZm9ybWF0IG9mIC9DOi8KKyAgaW5zdGVhZCBvZiB0aGUgcHNldWRvLVBPU0lYIHBhdGhzIC9jeWdkcml2ZS9jLyBvciBqdXN0IC9jLworICAKKyAgUmV2aWV3ZWQtYnk6IERhbmllbCBTdGVuYmVyZworICBDbG9zZXMgIzUyOTgKKworRGFuaWVsIFN0ZW5iZXJnICgyIE1heSAyMDIwKQorLSBSRUxFQVNFLU5PVEVTOiBzeW5jZWQKKworLSBsaWJzc2gyOiBzZXQgdGhlIGV4cGVjdGVkIHRvdGFsIHNpemUgaW4gU0NQIHVwbG9hZCBpbml0CisgIAorICAuLi4gYXMgb3RoZXJ3aXNlIHRoZSBwcm9ncmVzcyBjYWxsYmFjayBnZXRzIGNhbGxlZCB3aXRob3V0IHRoYXQKKyAgaW5mb3JtYXRpb24sIG1ha2luZyB0aGUgcHJvZ3Jlc3MgbWV0ZXIgaGF2ZSBsZXNzIGluZm8uCisgIAorICBSZXBvcnRlZC1ieTogTXVydWdhbiBCYWxyYWoKKyAgQnVnOiBodHRwczovL2N1cmwuaGF4eC5zZS9tYWlsL2FyY2hpdmUtMjAyMC0wNS8wMDAwLmh0bWwKKyAgQ2xvc2VzICM1MzE3CisKKy0gcnVudGVzdHM6IG1ha2UgdGhlIGxvZ21zZyBmcm9tIHRoZSBzc2ggc2VydmVyIG9ubHkgc2hvdyBpbiB2ZXJib3NlCisKKy0gdGVzdHM6IG1ha2UgdGVzdCAxMjQ4ICsgMTI0OSB1c2UgJU5PTElTVEVOUE9SVAorICAKKyAgLi4uIGluc3RlYWQgb2YgYSBwb3J0IG9mIGEgbm9uLXJ1bm5pbmcgc2VydmVyIHNvIHRoYXQgaXQgd29ya3MKKyAgc3RhbmQtYWxvbmUuCisgIAorICBDbG9zZXMgIzUzMTgKKworLSBleGFtcGxlczogcmVtb3ZlIGFzaW9oaXBlci5jcHAKKyAgCisgIFRoaXMgZXhhbXBsZSBoYXMgcmVwZWF0ZWRseSBiZWVuIHJlcG9ydGVkIHRvIGNvbnRhaW4gYnVncywgYW5kIGFzIHVzZXJzCisgIGNvcHkgYW5kIHBhc3RlIGNvZGUgZnJvbSB0aGlzIGludG8gcHJvZHVjdGlvbiwgSSBub3cgZGVlbSBpdCBiZXR0ZXIgdG8KKyAgbm90IHByb3ZpZGUgdGhlIGV4YW1wbGUgYXQgYWxsLgorICAKKyAgQ2xvc2VzICM1MDkwCisgIENsb3NlcyAjNTMyMgorCistIFtFbWlsIEVuZ2xlciBicm91Z2h0IHRoaXMgY2hhbmdlXQorCisgIGRvYzogYWRkIG1pc3NpbmcgY2xvc2luZyBwYXJlbnRoZXNpcyBpbiBDVVJMSU5GT19TU0xfVkVSSUZZUkVTVUxULjMKKyAgCisgIENsb3NlcyAjNTMyMAorCistIFtFbWlsIEVuZ2xlciBicm91Z2h0IHRoaXMgY2hhbmdlXQorCisgIEtOT1dOX0JVR1M6IFJlbW92ZSAiY3VybCAtLXVwbG9hZC1maWxlIC4gaGFuZyBpZiBkZWxheSBpbiBTVERJTiIKKyAgCisgIEl0IHdhcyBmaXhlZCBpbiA5YTJjYmYzCisgIAorICBDbG9zZXMgIzUzMTkKKworLSBjaXJydXM6IGRpc2FibGUgU0ZUUCBhbmQgU0NQIHRlc3RzCisgIAorICAuLi4gYXMgd2UgY2FuJ3Qgc2VlbSB0byBzdGFydCB0aGUgc3NoZCBzZXJ2ZXIgb24gaXQuIFRob3NlIHByb2JsZW1zCisgIGV4aXN0ZWQgYmVmb3JlIGQxMjM5YjUwYmVjZWNkIChydW5uaW5nIHRoZSBTU0ggc2VydmVyIG9uIGEgcmFuZG9tIHBvcnQpLAorICBidXQgdGhleSdyZSBtb3JlIG5vdGljYWJsZSBub3cgc2luY2UgdGhlcmUgYXJlIG1vcmUgZmFpbGVkIGF0dGVtcHRzIGluCisgIHRoZSBsb2dzLgorICAKKyAgQ2xvc2VzICM1MzE1CisKKy0gW0VtaWwgRW5nbGVyIGJyb3VnaHQgdGhpcyBjaGFuZ2VdCisKKyAgcnVudGVzdHM6IGZpeCB0eXBvIGluIHRoZSBleGlzdGVuY2Ugb2YgZGlzYWJsZWQgdGVzdHMgY2hlY2tlcgorICAKKyAgQ2xvc2VzICM1MzE2CisKK0RhbiBGYW5kcmljaCAoMzAgQXByIDIwMjApCistIHRlc3Q3NTogUmVtb3ZlIHByZWNoZWNrIHRlc3QKKyAgCisgIFRoaXMgaGFzIG5vdCBiZWVuIG5lZWRlZCBzaW5jZSBjb21taXQgOWZhNDJiZWQgYW5kIG9mdGVuIHByZXZlbnRzIGl0CisgIGZyb20gcnVubmluZyBhdCBhbGwgd2l0aCBkeW5hbWljIHRlc3QgcG9ydHMuCisKKy0gdGVzdHM6IFN0b3AgcmVmZXJyaW5nIHRvIHNlcnZlciBwb3J0cyB3aGVuIHRoZXkncmUgbm90IHVzZWQKKyAgCisgIFNldmVyYWwgdGVzdHMgcmVmZXJyZWQgdG8gc3BlY2lmaWMgc2VydmVyIHBvcnRzIGV2ZW4gd2hlbiB0aGUgdGVzdAorICBkaWRuJ3QgYWN0dWFsbHkgdXNlIHRoYXQgc2VydmVyIG9yIHNwZWNpZnkgdGhhdCBpdCdzIG5lZWRlZC4gSW4gc3VjaAorICBjYXNlcywgdGhlIHRlc3QgaGFybmVzcyBzdWJzdGl0dXRlcyB0aGUgdGV4dCAiW25vdCBydW5uaW5nXSIgYXMgdGhlIHBvcnQKKyAgbnVtYmVyIHdoaWNoIGNhdXNlcyBtYW55IHN1Y2ggdGVzdHMgdG8gZmFpbCBkdWUgdG8gdGhlIGluYWJpbGl0eSB0bworICBwYXJzZSB0aGUgVVJMLiAgVGhlc2UgdGVzdHMgYXJlIGNoYW5nZWQgdG8gdXNlICVOT0xJU1RFTlBPUlQgd2hpY2ggd2lsbAorICBhbHdheXMgYmUgc3Vic3RpdHV0ZWQgY29ycmVjdGx5LgorCitEYW5pZWwgU3RlbmJlcmcgKDMwIEFwciAyMDIwKQorLSBbRW1pbCBFbmdsZXIgYnJvdWdodCB0aGlzIGNoYW5nZV0KKworICBHbnVUTFM6IEJhY2tlbmQgc3VwcG9ydCBmb3IgQ1VSTElORk9fU1NMX1ZFUklGWVJFU1VMVAorICAKKyAgQ2xvc2VzICM1Mjg3CisKKy0gY29ubmNhY2hlOiB2YXJpb3VzIGNvbmNlcHQgY2xlYW51cHMKKyAgCisgIE1vcmUgY29ubmVjdGlvbiBjYWNoZSBhY2Nlc3NlcyBhcmUgcHJvdGVjdGVkIGJ5IGxvY2tzLgorICAKKyAgQ09OTkNBQ0hFXyogaXMgYSBiZXRlciBwcmVmaXggZm9yIHRoZSBjb25uZWN0aW9uIGNhY2hlIGxvY2sgbWFjcm9zLgorICAKKyAgQ3VybF9hdHRhY2hfY29ubm5lY3Rpb246IG5vdyBjYWxsZWQgYXMgc29vbiBhcyB0aGVyZSdzIGEgY29ubmVjdGlvbgorICBzdHJ1Y3QgYXZhaWxhYmxlIGFuZCBiZWZvcmUgdGhlIGNvbm5lY3Rpb24gaXMgYWRkZWQgdG8gdGhlIGNvbm5lY3Rpb24KKyAgY2FjaGUuCisgIAorICBDdXJsX2Rpc2Nvbm5lY3Q6IG5vdyBhc3N1bWVzIHRoYXQgdGhlIGNvbm5lY3Rpb24gaXMgYWxyZWFkeSByZW1vdmVkIGZyb20KKyAgdGhlIGNvbm5lY3Rpb24gY2FjaGUuCisgIAorICBSZWY6ICM0OTE1CisgIENsb3NlcyAjNTAwOQorCistIHRlc3RzOiB0ZXN0czogcnVuIHN0dW5uZWwgZm9yIEhUVFBTIGFuZCBGVFBTIG9uIGR5bmFtaWMgcG9ydHMKKyAgCisgIEFzIHN0dW5uZWwgaXMgYW4gZXh0ZXJuYWwgdG9vbCBhbmQgaXQgaGFzIG5vIHNwZWNpZmljIG9wdGlvbiB0byBleHBvcnQKKyAgdGhlIGFjdHVhbGx5IHVzZWQgcG9ydCBudW1iZXIgd2hlbiBhc2tlZCB0byBsaXN0ZW4gdG8gMCwgcnVudGVzdHMKKyAgaW5zdGVhZCBpdGVyYXRlcyBvdmVyIHRlbiByYW5kb21seSBwaWNrZWQgaGlnaCBudW1iZXIgcG9ydHMgYW5kIHN0aWNrcworICB0byB0aGUgZmlyc3Qgb25lIHN0dW5uZWwgY2FuIGxpc3RlbiB0by4KKyAgCisgIENsb3NlcyAjNTI2NworCistIHRlc3RzOiBwaWNrIGEgcmFuZG9tIHBvcnQgbnVtYmVyIGZvciBTU0gKKyAgCisgIFNpbmNlIHNzaGQgZG9lc24ndCBoYXZlIHN1Y2ggYW4gb3B0aW9uIGJ5IGl0c2VsZiwgd2UgaXRlcmF0ZSBvdmVyIGEKKyAgc2VyaWVzIG9mIHJhbmRvbSBwb3J0cyB1bnRpbCBvbmUgd29ya3MuCisgIAorICBDbG9zZXMgIzUyNzMKKworLSBbUmlrYXJkIEZhbGtlYm9ybiBicm91Z2h0IHRoaXMgY2hhbmdlXQorCisgIGxpYnRlc3QvY21ha2U6IFJlbW92ZSBjb21tZW50ZWQgY29kZQorICAKKyAgVGhlc2Ugd2VyZSBjb21tZW50ZWQgb3V0IGluIGU5ZGQwOTk4NzA2YSB3aGVuIE1ha2VmaWxlLmluYyB3YXMgaW5jbHVkZWQKKyAgaW5zdGVhZC4gMTEgeWVhcnMgaGF2ZSBwYXNzZWQgc2luY2UgdGhlbiBhbmQgdGhlIGNvbW1lbnRlZCBjb2RlIGlzIG9mCisgIGNvdXJzZSB2ZXJ5IG91dGRhdGVkLiBSZW1vdmUgaXQgdG8gYXZvaWQgY29uZnVzaW9uLgorICAKKyAgQ2xvc2VzICM1MzExCisKKy0gc2NoYW5uZWw6IHNvdXJjZSBjb2RlIHJlaW5kZW50CisgIAorICBXaGl0ZSBzcGFjZSBlZGl0cyBvbmx5LiBDb25mb3JtIGJldHRlciB0byBzdGFuZGFyZCBjdXJsIHNvdXJjZSBjb2RlCisgIGluZGVudGluZyBzdHlsZS4KKyAgCisgIENsb3NlcyAjNTMwNQorCitLYW1pbCBEdWRrYSAoMjkgQXByIDIwMjApCistIHRlc3QxMTc3OiBsb29rIGZvciBjdXJsLmggaW4gc291cmNlIGRpcmVjdG9yeQorICAKKyAgSWYgd2UgdXNlIGEgc2VwYXJhdGUgYnVpbGQgZGlyZWN0b3J5LCB0aGVyZSBpcyBubyBjb3B5IG9mIHRoZSBoZWFkZXIuCisgIAorICBDbG9zZXMgIzUzMTAKKworLSB0ZXN0czogbG9vayBmb3IgcHJlcHJvY2Vzc2VkIHRlc3RzIGluIGJ1aWxkIGRpcmVjdG9yeQorICAKKyAgLi4uIHdoaWNoIGlzIG5vdCBhbHdheXMgdGhlIHNhbWUgZGlyZWN0b3J5IGFzIHNvdXJjZSBkaXJlY3RvcnkKKyAgCisgIENsb3NlcyAjNTMxMAorCitEYW5pZWwgU3RlbmJlcmcgKDI5IEFwciAyMDIwKQorLSBSRUxFQVNFLU5PVEVTOiBzeW5jZWQKKyAgCisgIC4uLiBhbmQgYnVtcGVkIGN1cmx2ZXIuaCB0byA3LjcwLjEKKwogVmVyc2lvbiA3LjcwLjAgKDI5IEFwciAyMDIwKQogCiBEYW5pZWwgU3RlbmJlcmcgKDI5IEFwciAyMDIwKQpAQCAtMjk0LDEzICsyNDAzLDkgQEAKIC0gcmVsZWFzZS1ub3Rlcy5wbDogZml4IHBhcnNpbmcgdHlwbwogCiBKYW1lcyBGdWxsZXIgKDIwIEFwciAyMDIwKQotLSBbeHF1ZXJ5IGJyb3VnaHQgdGhpcyBjaGFuZ2VdCistIGVuc3VyZSBhbGwgcmVmZXJlbmNlcyB0byBwb3J0cyBhcmUgcmVwbGFjZWQgYnkgdmFycwogCi0gIGVuc3VyZSBhbGwgcmVmZXJlbmNlcyB0byBwb3J0cyBhcmUgcmVwbGFjZWQgYnkgdmFycwotCi0tIFt4cXVlcnkgYnJvdWdodCB0aGlzIGNoYW5nZV0KLQotICBhZGQgbW9yZSBhbHQtc3ZjIHRlc3QgY292ZXJhZ2UKKy0gYWRkIG1vcmUgYWx0LXN2YyB0ZXN0IGNvdmVyYWdlCiAKIERhbmllbCBTdGVuYmVyZyAoMjAgQXByIDIwMjApCiAtIHRlc3QxMjQ3OiB1c2UgaHR0cCBzZXJ2ZXIgdG8gZ2V0IHRoZSBwb3J0IG51bWJlciBzZXQKQEAgLTE4NTEsNyArMzk1Niw3IEBACiAtIHJ1bnRlc3RzOiBsb2cgbWluaW1hbCBhbmQgbWF4aW1hbCB1c2VkIHBvcnQgbnVtYmVycwogCiBEYW5pZWwgU3RlbmJlcmcgKDkgTWFyIDIwMjApCi0tIFtKaW0gRnVsbGVyIGJyb3VnaHQgdGhpcyBjaGFuZ2VdCistIFtKYW1lcyBGdWxsZXIgYnJvdWdodCB0aGlzIGNoYW5nZV0KIAogICBzZnRwOiBmaXggc2VnZmF1bHQgcmVncmVzc2lvbiBpbnRyb2R1Y2VkIGJ5ICM0NzQ3CiAgIApAQCAtNTM1NSwxODY1ICs3NDYwLDMgQEAKIC0gVE9ETzogUnVuIHdlYi1wbGF0Zm9ybS10ZXN0cyB1cmwgdGVzdHMKICAgCiAgIENsb3NlcyAjNDQ3NwotCi0tIFRPRE86IDEuNCBhbHQtc3ZjIHNoYXJpbmcKLSAgCi0gIENsb3NlcyAjNDQ3NgotCi0tIHRlc3QxNTYwOiByZXF1aXJlIElQdjYgZm9yIElQdjYgYXdhcmUgVVJMIHBhcnNpbmcKLSAgCi0gIFRoZSBVUkwgcGFyc2VyIGZ1bmN0aW9uIGNhbid0IHJlamVjdCBhIGJhZCBJUHY2IGFkZHJlc3MgcHJvcGVybHkgd2hlbgotICBjdXJsIHdhcyBidWlsdCB3aXRob3V0IElQdjYgc3VwcG9ydC4KLSAgCi0gIFJlcG9ydGVkLWJ5OiBNYXJjZWwgUmFhZAotICBGaXhlcyAjNDU1NgotICBDbG9zZXMgIzQ1NzIKLQotLSBjaGVja3NyYzogcmVwYWlyIHRoZSBjb3B5cmlnaHR5ZWFyIGNoZWNrCi0gIAotICAtIENvbnNpZGVyIGEgbW9kaWZpZWQgZmlsZSB0byBiZSBjb21taXR0ZWQgdGhpcyB5ZWFyLgotICAKLSAgLSBNYWtlIHRoZSB0cmF2aXMgQ0hFQ0tTUkMgYWxzbyBkbyBDT1BZUklHSFRZRUFSIHNjYW4gaW4gZXhhbXBsZXMgYW5kCi0gICAgaW5jbHVkZXMKLSAgCi0gIC0gSWdub3JlIDAgcGFyZW50cyB3aGVuIGdldHRpbmcgbGF0ZXN0IGNvbW1pdCBkYXRlIG9mIGZpbGUuCi0gIAotICBzaW5jZSBpbiB0aGUgQ0kgd2UncmUgZGVhbGluZyB3aXRoIGEgdHJ1bmNhdGVkIHJlcG8gb2YgbGFzdCA1MCBjb21taXRzLAotICB0aGUgZmlsZSdzIG1vc3QgcmVjZW50IGNvbW1pdCBtYXkgbm90IGJlIGF2YWlsYWJsZS4gd2hlbiB0aGlzIGhhcHBlbnMKLSAgZ2l0IGxvZyBhbmQgcmV2LWxpc3Qgc2hvdyB0aGUgaW5pdGlhbCBjb21taXQgKGllIGZpcnN0IGNvbW1pdCBub3QgdG8gYmUKLSAgdHJ1bmNhdGVkKSBidXQgdGhhdCdzIGluY29ycmVjdCBzbyBpZ25vcmUgaXQuCi0gIAotICBSZWY6IGh0dHBzOi8vZ2l0aHViLmNvbS9jdXJsL2N1cmwvcHVsbC80NTQ3Ci0gIAotICBDbG9zZXMgaHR0cHM6Ly9naXRodWIuY29tL2N1cmwvY3VybC9wdWxsLzQ1NDkKLSAgCi0gIENvLWF1dGhvcmVkLWJ5OiBKYXkgU2F0aXJvCi0KLS0gY29weXJpZ2h0czogZml4IGNvcHlyaWdodCB5ZWFyIHJhbmdlCi0gIAotICAuLiBiZWNhdXNlIGNoZWNrc3JjJ3MgY29weXJpZ2h0IHllYXIgY2hlY2sgc3RvcHBlZCB3b3JraW5nLgotICAKLSAgUmVmOiBodHRwczovL2dpdGh1Yi5jb20vY3VybC9jdXJsL3B1bGwvNDU0NwotICAKLSAgQ2xvc2VzIGh0dHBzOi8vZ2l0aHViLmNvbS9jdXJsL2N1cmwvcHVsbC80NTQ5Ci0KLS0gUkVMRUFTRS1OT1RFUzogc3luY2VkCi0KLS0gY3VybHZlcjogYnVtcCB0byA3LjY3LjEKLQotLSBtYWlsbWFwOiBmaXh1cCBNYXNzaW1pbGlhbm8gRmFudHV6emkKLQotLSBzY3JpcHRzL2NvbnRyaWJ1dG9yczogbWFrZSBjb21taXR0ZXJzIGdldCBpbmNsdWRlZCB0b28KLSAgCi0gIGluIGFkZGl0aW9uIHRvIGF1dGhvcnMKLQotSmF5IFNhdGlybyAoOCBOb3YgMjAxOSkKLS0gW01hc3NpbWlsaWFubyBGYW50dXp6aSBicm91Z2h0IHRoaXMgY2hhbmdlXQotCi0gIGNvbmZpZ3VyZTogZml4IHR5cG8gaW4gaGVscCB0ZXh0Ci0gIAotICBDbG9zZXMgaHR0cHM6Ly9naXRodWIuY29tL2N1cmwvY3VybC9wdWxsLzQ1NzAKLQotRGFuaWVsIFN0ZW5iZXJnICg3IE5vdiAyMDE5KQotLSBbQ2hyaXN0aWFuIFNjaG1pdHogYnJvdWdodCB0aGlzIGNoYW5nZV0KLQotICBudGxtOiBVU0VfV0lOMzJfQ1JZUFRPIGNoZWNrIHJlbW92ZWQgdG8gZ2V0IFVTRV9OVExNMlNFU1NJT04gc2V0Ci0gIAotICBDbG9zZXMgIzM3MDQKLQotSmF5IFNhdGlybyAoNiBOb3YgMjAxOSkKLS0gW1d5YXR0IE8nRGF5IGJyb3VnaHQgdGhpcyBjaGFuZ2VdCi0KLSAgYnVpbGQ6IGZpeCBmb3IgQ1VSTF9ESVNBQkxFX0RPSAotICAKLSAgRml4ZXMgaHR0cHM6Ly9naXRodWIuY29tL2N1cmwvY3VybC9pc3N1ZXMvNDU2NQotICBDbG9zZXMgaHR0cHM6Ly9naXRodWIuY29tL2N1cmwvY3VybC9wdWxsLzQ1NjYKLQotLSBbTGVvbmFyZG8gVGFjY2FyaSBicm91Z2h0IHRoaXMgY2hhbmdlXQotCi0gIGNvbmZpZ3VyZTogYXZvaWQgdW5wb3J0YWJsZSBgPT0nIHRlc3QoMSkgb3BlcmF0b3IKLSAgCi0gIENsb3NlcyBodHRwczovL2dpdGh1Yi5jb20vY3VybC9jdXJsL3B1bGwvNDU2NwotCi1WZXJzaW9uIDcuNjcuMCAoNSBOb3YgMjAxOSkKLQotRGFuaWVsIFN0ZW5iZXJnICg1IE5vdiAyMDE5KQotLSBSRUxFQVNFLU5PVEVTOiBzeW5jZWQKLSAgCi0gIFRoZSA3LjY3LjAgcmVsZWFzZQotCi0tIFRIQU5LUzogYWRkIG5ldyBuYW1lcyBmcm9tIDcuNjcuMAotCi0tIGNvbmZpZ3VyZTogb25seSBzYXkgaXB2NiBlbmFibGVkIHdoZW4gdGhlIHZhcmlhYmxlIGlzIHNldAotICAKLSAgUHJldmlvdXNseSBpdCBjb3VsZCBzYXkgIklQdjY6IGVuYWJsZWQiIGF0IHRoZSBlbmQgb2YgdGhlIGNvbmZpZ3VyZSBydW4KLSAgYnV0IHRoZSBkZWZpbmUgd2Fzbid0IHNldCBiZWNhdXNlIG9mIGEgbWlzc2luZyBnZXRhZGRyaW5mbygpLgotICAKLSAgUmVwb3J0ZWQtYnk6IE1hcmNlbCBSYWFkCi0gIEZpeGVzICM0NTU1Ci0gIENsb3NlcyAjNDU2MAotCi1NYXJjZWwgUmFhZCAoMiBOb3YgMjAxOSkKLS0gY2VydHMvU2VydmVyLWxvY2FsaG9zdC1sYXN0U0FOLXN2OiByZWdlbmVyYXRlIHdpdGggc2hhMjU2Ci0gIAotICBBbGwgb3RoZXIgY2VydGlmaWNhdGVzIHdlcmUgcmVnZW5lcmF0ZWQgaW4gY29tbWl0IGJhNzgyYmFhYzMwLCBidXQKLSAgdGhpcyBvbmUgd2FzIG1pc3NlZC4KLSAgRml4ZXMgdGVzdDMwMDEgb24gbW9kZXJuIHN5c3RlbXMuCi0gIAotICBDbG9zZXMgaHR0cHM6Ly9naXRodWIuY29tL2N1cmwvY3VybC9wdWxsLzQ1NTEKLQotRGFuaWVsIFN0ZW5iZXJnICgyIE5vdiAyMDE5KQotLSBbVmlsaGVsbSBQcnl0eiBicm91Z2h0IHRoaXMgY2hhbmdlXQotCi0gIGNvcHlyaWdodHM6IHVwZGF0ZSBhbGwgY29weXJpZ2h0IG5vdGljZXMgdG8gMjAxOSBvbiBmaWxlcyBjaGFuZ2VkIHRoaXMgeWVhcgotICAKLSAgQ2xvc2VzICM0NTQ3Ci0KLS0gW0Jhc3RpZW4gQm91Y2xldCBicm91Z2h0IHRoaXMgY2hhbmdlXQotCi0gIG1iZWR0bHM6IGFkZCBlcnJvciBtZXNzYWdlIGZvciBjZXJ0IHZhbGlkaXR5IHN0YXJ0aW5nIGluIHRoZSBmdXR1cmUKLSAgCi0gIENsb3NlcyAjNDU1MgotCi1KYXkgU2F0aXJvICgxIE5vdiAyMDE5KQotLSBzY2hhbm5lbF92ZXJpZnk6IEZpeCBjb25jdXJyZW50IG9wZW5pbmdzIG9mIENBIGZpbGUKLSAgCi0gIC0gT3BlbiB0aGUgQ0EgZmlsZSB1c2luZyBGSUxFX1NIQVJFX1JFQUQgbW9kZSBzbyB0aGF0IG90aGVycyBjYW4gcmVhZAotICAgIGZyb20gaXQgYXMgd2VsbC4KLSAgCi0gIFByaW9yIHRvIHRoaXMgY2hhbmdlIG91ciBzY2hhbm5lbCBjb2RlIG9wZW5lZCB0aGUgQ0EgZmlsZSB3aXRob3V0Ci0gIHNoYXJpbmcgd2hpY2ggbWVhbnQgY29uY3VycmVudCBvcGVuaW5ncyAoZWcgYW4gYXR0ZW1wdCBmcm9tIGFub3RoZXIKLSAgdGhyZWFkIG9yIHByb2Nlc3MpIHdvdWxkIGZhaWwgZHVyaW5nIHRoZSB0aW1lIGl0IHdhcyBvcGVuIHdpdGhvdXQKLSAgc2hhcmluZywgd2hpY2ggaW4gY3VybCdzIGNhc2Ugd291bGQgY2F1c2UgZXJyb3I6Ci0gICJzY2hhbm5lbDogZmFpbGVkIHRvIG9wZW4gQ0EgZmlsZSIuCi0gIAotICBCdWc6IGh0dHBzOi8vY3VybC5oYXh4LnNlL21haWwvbGliLTIwMTktMTAvMDEwNC5odG1sCi0gIFJlcG9ydGVkLWJ5OiBSaWNoYXJkIEFsY29jawotCi1EYW5pZWwgU3RlbmJlcmcgKDMxIE9jdCAyMDE5KQotLSBndGxzOiBtYWtlIGdudXRsc19ieWUoKSBub3Qgd2FpdCBmb3IgcmVzcG9uc2Ugb24gc2h1dGRvd24KLSAgCi0gIC4uLiBhcyBpdCBjYW4gbWFrZSBpdCB3YWl0IHRoZXJlIGZvciBhIGxvbmcgdGltZSBmb3Igbm8gZ29vZCBwdXJwb3NlLgotICAKLSAgUGF0Y2hlZC1ieTogSmF5IFNhdGlybwotICBSZXBvcnRlZC1ieTogQnlsb24yIG9uIGdpdGh1YgotICBBZHZpY2VkLWJ5OiBOaWtvcyBNYXZyb2dpYW5ub3BvdWxvcwotICAKLSAgRml4ZXMgIzQ0ODcKLSAgQ2xvc2VzICM0NTQxCi0KLS0gW01pY2hhxYIgSmFuaXN6ZXdza2kgYnJvdWdodCB0aGlzIGNoYW5nZV0KLQotICBhcHB2ZXlvcjogcHVibGlzaCBhcnRpZmFjdHMgb24gYXBwdmV5b3IKLSAgCi0gIFRoaXMgYWxsb3dzIG9idGFpbmluZyB1cHN0cmVhbSBidWlsZHMgb2YgY3VybCBkaXJlY3RseSBmcm9tIGFwcHZleW9yIGZvcgotICBhbGwgdGhlIGF2YWlsYWJsZSBjb25maWd1cmF0aW9ucwotICAKLSAgQ2xvc2VzICM0NTA5Ci0KLS0gdXJsOiBtYWtlIEN1cmxfY2xvc2UoKSBOVUxMaWZ5IHRoZSBwb2ludGVyIHRvbwotICAKLSAgVGhpcyBpcyB0aGUgY29tbW9uIHBhdHRlcm4gdXNlZCBpbiB0aGUgY29kZSBhbmQgYnkgYSB1bmlmaWVkIGFwcHJvYWNoIHdlCi0gIGF2b2lkIG1pc3Rha2VzLgotICAKLSAgQ2xvc2VzICM0NTM0Ci0KLS0gW1RyaXZpa3JhbSBLYW1hdCBicm91Z2h0IHRoaXMgY2hhbmdlXQotCi0gIElOU1RBTEw6IGFkZCBtaXNzaW5nIHNwYWNlIGZvciBjb25maWd1cmUgY29tbWFuZHMKLSAgCi0gIENsb3NlcyAjNDUzOQotCi0tIHVybDogQ3VybF9mcmVlX3JlcXVlc3Rfc3RhdGUoKSBzaG91bGQgYWxzbyBmcmVlIGRvaCBoYW5kbGVzCi0gIAotICAuLi4gb3IgcmlzayBEb0ggbWVtb3J5IGxlYWtzLgotICAKLSAgUmVwb3J0ZWQtYnk6IFBhdWwgRHJlaWsKLSAgRml4ZXMgIzQ0NjMKLSAgQ2xvc2VzICM0NTI3Ci0KLS0gZXhhbXBsZXM6IHJlbW92ZSB0aGUgInRoaXMgZXhhY3QgY29kZSBoYXMgbm90IGJlZW4gdmVyaWZpZWQiCi0gIAotICAuLi4gYXMgcmVhbGx5IGNvbmZ1c2VzIHRoZSByZWFkZXIgdG8gbm90IGtub3cgd2hhdCB0byBiZWxpZXZlIQotCi0tIFtUcml2aWtyYW0gS2FtYXQgYnJvdWdodCB0aGlzIGNoYW5nZV0KLQotICBIVFRQMzogZml4IHR5cG8gc29tZWhlcmUxID4gc29tZXdoZXJlMQotICAKLSAgQ2xvc2VzICM0NTM1Ci0KLUpheSBTYXRpcm8gKDI4IE9jdCAyMDE5KQotLSBbSmF2aWVyIEJsYXpxdWV6IGJyb3VnaHQgdGhpcyBjaGFuZ2VdCi0KLSAgSFRUUDM6IGZpeCBpbnZhbGlkIHVzZSBvZiBzZW5kdG8gZm9yIGNvbm5lY3RlZCBVRFAgc29ja2V0Ci0gIAotICBPbiBtYWNPUy9CU0QsIHRyeWluZyB0byBjYWxsIHNlbmR0byBvbiBhIGNvbm5lY3RlZCBVRFAgc29ja2V0IGZhaWxzCi0gIHdpdGggYSBFSVNDT05OIGVycm9yLiBCZWNhdXNlIHRoZSBzaW5nbGVpcGNvbm5lY3QgaGFzIGFscmVhZHkgY2FsbGVkCi0gIGNvbm5lY3Qgb24gdGhlIHNvY2tldCB3aGVuIHdlJ3JlIHRyeWluZyB0byB1c2UgaXQgZm9yIFFVSUMgdHJhbnNmZXJzCi0gIHdlIG5lZWQgdG8gdXNlIHBsYWluIHNlbmQgaW5zdGVhZC4KLSAgCi0gIEZpeGVzICM0NTI5Ci0gIENsb3NlcyBodHRwczovL2dpdGh1Yi5jb20vY3VybC9jdXJsL3B1bGwvNDUzMwotCi1EYW5pZWwgU3RlbmJlcmcgKDI4IE9jdCAyMDE5KQotLSBSRUxFQVNFLU5PVEVTOiBzeW5jZWQKLQotLSBbSmF2aWVyIEJsYXpxdWV6IGJyb3VnaHQgdGhpcyBjaGFuZ2VdCi0KLSAgSFRUUDM6IGZpeCBXaW5kb3dzIGJ1aWxkCi0gIAotICBUaGUgbmd0Y3AyIFFVSUMgYmFja2VuZCB3YXMgdXNpbmcgdGhlIE1TR19ET05UV0FJVCBmbGFnIGZvciBzZW5kL3JlY3YKLSAgaW4gb3JkZXIgdG8gcGVyZm9ybSBub25ibG9ja2luZyBvcGVyYXRpb25zLiBPbiBXaW5kb3dzIHRoaXMgZmxhZyBkb2VzCi0gIG5vdCBleGlzdC4gSW5zdGVhZCwgdGhlIHNvY2tldCBtdXN0IGJlIHNldCB0byBub25ibG9ja2luZyBtb2RlIHZpYQotICBpb2N0bHNvY2tldC4KLSAgCi0gIFRoaXMgY2hhbmdlIHNldHMgdGhlIG5vbmJsb2NraW5nIGZsYWcgb24gVURQIHNvY2tldHMgdXNlZCBmb3IgUVVJQyBvbgotICBhbGwgcGxhdGZvcm1zIHNvIHRoZSB1c2Ugb2YgTVNHX0RPTlRXQUlUIGlzIG5vdCBuZWVkZWQuCi0gIAotICBGaXhlcyAjNDUzMQotICBDbG9zZXMgIzQ1MzIKLQotTWFyY2VsIFJhYWQgKDI3IE9jdCAyMDE5KQotLSBhcHB2ZXlvcjogYWRkIC0tZGlzYWJsZS1wcm94eSBhdXRvdG9vbHMgYnVpbGQKLSAgCi0gIFRoaXMgd291bGQgaGF2ZSBjYXVnaHQgaXNzdWUgIzM5MjYuCi0gIAotICBBbHNvIG1ha2UgZm9ybWF0dGluZyBtb3JlIGNvbnNpc3RlbnQuCi0gIAotICBDbG9zZXMgaHR0cHM6Ly9naXRodWIuY29tL2N1cmwvY3VybC9wdWxsLzQ1MjYKLQotRGFuaWVsIFN0ZW5iZXJnICgyNSBPY3QgMjAxOSkKLS0gYXBwdmV5b3I6IG1ha2Ugd2luYnVpbGRzIHdpdGggREVCVUc9bm8veWVzIGFuZCBWUyAyMDE1LzIwMTcKLSAgCi0gIC4uLiBhbmQgaW52b2tlICJjdXJsIC1WIiBvbmNlIGRvbmUKLSAgCi0gIENvLUF1dGhvcmVkLUJ5OiBKYXkgU2F0aXJvCi0gIAotICBDbG9zZXMgIzQ1MjMKLQotLSBbRnJhbmNvaXMgUml2YXJkIGJyb3VnaHQgdGhpcyBjaGFuZ2VdCi0KLSAgc2NoYW5uZWw6IHJldmVyc2UgdGhlIG9yZGVyIG9mIGNlcnRpbmZvIGluc2VydGlvbnMKLSAgCi0gIEZpeGVzICM0NTE4Ci0gIENsb3NlcyAjNDUxOQotCi1NYXJjZWwgUmFhZCAoMjQgT2N0IDIwMTkpCi0tIHRlc3QxNTkxOiBmaXggc3BlbGxpbmcgb2YgaHR0cCBmZWF0dXJlCi0gIAotICBUaGUgdGVzdCBuZXZlciBnb3QgcnVuIGJlY2F1c2UgdGhlIGZlYXR1cmUgbmFtZSBpcyBgaHR0cGAgaW4gbG93ZXJjYXNlLgotICAKLSAgQ2xvc2VzIGh0dHBzOi8vZ2l0aHViLmNvbS9jdXJsL2N1cmwvcHVsbC80NTIwCi0KLURhbmllbCBTdGVuYmVyZyAoMjMgT2N0IDIwMTkpCi0tIFtNaWNoYcWCIEphbmlzemV3c2tpIGJyb3VnaHQgdGhpcyBjaGFuZ2VdCi0KLSAgYXBwdmV5b3I6IFVzZSB0d28gcGFyYWxsZWwgY29tcGlsYXRpb24gb24gYXBwdmV5b3Igd2l0aCBDTWFrZQotICAKLSAgQXBwdmV5b3IgcHJvdmlkZXMgMiBDUFVzIGZvciBlYWNoIGJ1aWxkZXJbMV0sIG1ha2Ugc3VyZSB0byB1c2UgcGFyYWxsZWwKLSAgY29tcGlsYXRpb24sIHdoZW4gcnVubmluZyB3aXRoIENNYWtlLiBDTWFrZSBsZWFybmVkIHRoaXMgbmV3IG9wdGlvbiBpbgotICB2ZXJzaW9uIDMuMTJbMl0gYW5kIHRoZSB2ZXJzaW9uIHByb3ZpZGVkIGJ5IGFwcHZleW9yIGlzIGZyZXNoIGVub3VnaC4KLSAgCi0gIEN1cmwgZG9lc24ndCByZWFsbHkgdGFrZSB0aGF0IGxvbmcgdG8gYnVpbGQgYW5kIGl0IGlzIHVzaW5nIHRoZSBzbG93ZXN0Ci0gIGJ1aWxkZXIgYXZhaWxhYmxlLCBtc2J1aWxkLCBzbyBleHBlY3Qgb25seSBhIG1vZGVyYXRlIGltcHJvdmVtZW50IGluCi0gIGJ1aWxkIHRpbWVzLgotICAKLSAgWzFdIGh0dHBzOi8vd3d3LmFwcHZleW9yLmNvbS9kb2NzL2J1aWxkLWVudmlyb25tZW50LwotICBbMl0gaHR0cHM6Ly9jbWFrZS5vcmcvY21ha2UvaGVscC92My4xMi9yZWxlYXNlLzMuMTIuaHRtbAotICAKLSAgQ2xvc2VzICM0NTA4Ci0KLS0gY29ubi1yZXVzZTogcmVxdWVzdHMgd2FudGluZyBOVExNIGNhbiByZXVzZSBub24tTlRMTSBjb25uZWN0aW9ucwotICAKLSAgQWRkZWQgdGVzdCBjYXNlIDMzOCB0byB2ZXJpZnkuCi0gIAotICBSZXBvcnRlZC1ieTogRGFuaWVsIFNpbHZlcnN0b25lCi0gIEZpeGVzICM0NDk5Ci0gIENsb3NlcyAjNDUxNAotCi1NYXJjZWwgUmFhZCAoMjMgT2N0IDIwMTkpCi0tIHRlc3RzOiBhZGQgbWlzc2luZyBwcm94eSBmZWF0dXJlcwotCi1EYW5pZWwgU3RlbmJlcmcgKDIyIE9jdCAyMDE5KQotLSBSRUxFQVNFLU5PVEVTOiBzeW5jZWQKLQotTWFyY2VsIFJhYWQgKDIxIE9jdCAyMDE5KQotLSB0ZXN0czogdXNlICVGSUxFX1BXRCBmb3IgZmlsZTovLyBVUkxzCi0gIAotICBUaGlzIHdheSwgd2UgYWx3YXlzIGhhdmUgZXhhY3RseSBvbmUgc2xhc2ggYWZ0ZXIgdGhlIGhvc3QgbmFtZSwgbWFraW5nCi0gIHRoZSB0ZXN0cyBwYXNzIHdoZW4gY3VybCBpcyBjb21waWxlZCB3aXRoIHRoZSBNU1lTIEdDQy4KLSAgCi0gIENsb3NlcyBodHRwczovL2dpdGh1Yi5jb20vY3VybC9jdXJsL3B1bGwvNDUxMgotCi0tIHRlc3RzOiBhZGQgYGNvbm5lY3QgdG8gbm9uLWxpc3RlbmAga2V5d29yZHMKLSAgCi0gIFRoZXNlIHRlc3RzIHRyeSB0byBjb25uZWN0IHRvIHBvcnRzIG5vdGhpbmcgaXMgbGlzdGVuaW5nIG9uLgotICAKLSAgQ2xvc2VzIGh0dHBzOi8vZ2l0aHViLmNvbS9jdXJsL2N1cmwvcHVsbC80NTExCi0KLS0gcnVudGVzdHM6IGdldCB0ZXh0YXdhcmUgaW5mbyBmcm9tIGN1cmwgaW5zdGVhZCBvZiBwZXJsCi0gIAotICBUaGUgTVNZUyBzeXN0ZW0gb24gV2luZG93cyBjYW4gcnVuIHRoZSB0ZXN0IHN1aXRlIGZvciBjdXJsIGJ1aWx0IHdpdGgKLSAgYW55IHRvb2xzZXQuIFdoZW4gYnVpbHQgd2l0aCB0aGUgTVNZUyBHQ0MsIGN1cmwgdXNlcyBVbml4IGxpbmUgZW5kaW5ncywKLSAgd2hpbGUgaXQgdXNlcyBXaW5kb3dzIGxpbmUgZW5kaW5ncyB3aGVuIGJ1aWx0IHdpdGggdGhlIE1pbkdXIEdDQywgYW5kCi0gIGBeT2AgcmVwb3J0cyAnbXN5cycgaW4gYm90aCBjYXNlcy4gVXNlIHRoZSBjdXJsIGV4ZWN1dGFibGUgaXRzZWxmIHRvCi0gIGRldGVybWluZSB0aGUgbGluZSBlbmRpbmdzIGluc3RlYWQsIHdoaWNoIHJlcG9ydHMgJ3g4Nl82NC1wYy1tc3lzJyB3aGVuCi0gIGJ1aWx0IHdpdGggdGhlIE1TWVMgR0NDLgotICAKLSAgQ2xvc2VzIGh0dHBzOi8vZ2l0aHViLmNvbS9jdXJsL2N1cmwvcHVsbC80NTA2Ci0KLURhbmllbCBTdGVuYmVyZyAoMjAgT2N0IDIwMTkpCi0tIFtNaWNoYcWCIEphbmlzemV3c2tpIGJyb3VnaHQgdGhpcyBjaGFuZ2VdCi0KLSAgYXBwdmV5b3I6IEFkZCBNU1ZDIEFSTTY0IGJ1aWxkCi0gIAotICBDbG9zZXMgIzQ1MDcKLQotLSBodHRwMl9yZWN2OiBhIGNsb3NlZCBzdHJlYW0gdHJ1bXBzIHBhdXNlIHN0YXRlCi0gIAotICAuLi4gYW5kIHRodXMgc2hvdWxkIHJldHVybiAwLCBub3QgRUFHQUlOLgotICAKLSAgUmVwb3J0ZWQtYnk6IFRvbSB2YW4gZGVyIFdvZXJkdAotICBGaXhlcyAjNDQ5NgotICBDbG9zZXMgIzQ1MDUKLQotLSBodHRwMjogZXhwaXJlIGEgdGltZW91dCBhdCBlbmQgb2Ygc3RyZWFtCi0gIAotICBUbyBtYWtlIHN1cmUgdGhhdCB0cmFuc2ZlciBpcyBiZWluZyBkZWFsdCB3aXRoLiBTdHJlYW1zIHdpdGhvdXQKLSAgQ29udGVudC1MZW5ndGggbmVlZCBhIGZpbmFsIHJlYWQgdG8gbm90aWNlIHRoZSBlbmQtb2Ytc3RyZWFtIHN0YXRlLgotICAKLSAgUmVwb3J0ZWQtYnk6IFRvbSB2YW4gZGVyIFdvZXJkdAotICBGaXhlcyAjNDQ5NgotCi1EYW4gRmFuZHJpY2ggKDE4IE9jdCAyMDE5KQotLSB0cmF2aXM6IEFkZCBhbiBBUk02NCBidWlsZAotICAKLSAgVGVzdCAzMjMgaXMgZmFpbGluZyBmb3Igc29tZSByZWFzb24sIHNvIGRpc2FibGUgaXQgdGhlcmUgZm9yIG5vdy4KLQotTWFyY2VsIFJhYWQgKDE4IE9jdCAyMDE5KQotLSBleGFtcGxlcy9zc2xiYWNrZW5kOiBmaXggLVdjaGFyLXN1YnNjcmlwdHMgd2FybmluZwotICAKLSAgV2l0aCB0aGUgYGlzZGlnaXRgIGltcGxlbWVudGF0aW9uIHRoYXQgY29tZXMgd2l0aCBNU1lTMiwgdGhlIGFyZ3VtZW50Ci0gIGlzIHVzZWQgYXMgYW4gYXJyYXkgc3Vic2NyaXB0LCByZXN1bHRpbmcgaW4gYSAtV2NoYXItc3Vic2NyaXB0cwotICB3YXJuaW5nLiBgaXNkaWdpdGAncyBiZWhhdmlvciBpcyB1bmRlZmluZWQgaWYgdGhlIGFyZ3VtZW50IGlzIG5lZ2F0aXZlCi0gIGFuZCBub3QgRU9GIFswXS4gQXMgZG9uZSBpbiBsaWIvY3VybF9jdHlwZS5oLCBjYXN0IHRoZSBgY2hhcmAgdmFyaWFibGUKLSAgdG8gYHVuc2lnbmVkIGNoYXJgIHRvIGF2b2lkIHRoYXQuCi0gIAotICBbMF0gaHR0cHM6Ly9lbi5jcHByZWZlcmVuY2UuY29tL3cvYy9zdHJpbmcvYnl0ZS9pc2RpZ2l0Ci0gIAotICBDbG9zZXMgaHR0cHM6Ly9naXRodWIuY29tL2N1cmwvY3VybC9wdWxsLzQ1MDMKLQotRGFuaWVsIFN0ZW5iZXJnICgxOCBPY3QgMjAxOSkKLS0gY29uZmlndXJlOiByZW1vdmUgYWxsIGN5YXNzbCByZWZlcmVuY2VzCi0gIAotICBJbiBwYXJ0aWN1bGFyLCB0aGlzIHJlbW92ZXMgdGhlIGNhc2Ugd2hlcmUgY29uZmlndXJlIHdvdWxkIGZpbmQgYW4gb2xkCi0gIGN5YWxsIGluc3RhbGxhdGlvbiByYXRoZXIgdGhhbiBhIHdvbGZzc2wgb25lIGlmIHByZXNlbnQuIFRoZSBsaWJyYXJ5IGlzCi0gIG5hbWVkIHdvbGZzc2wgaW4gbW9kZXJuIGRheXMgc28gdGhlcmUncyBubyByZWFsIG5lZWQgdG8ga2VlcCBzdXBwb3J0IGZvcgotICB0aGUgZm9ybWVyLgotICAKLSAgUmVwb3J0ZWQtYnk6IEphY29iIEJhcnRoZWxtZWgKLSAgQ2xvc2VzICM0NTAyCi0KLU1hcmNlbCBSYWFkICgxNyBPY3QgMjAxOSkKLS0gdGVzdDExNjI6IGRpc2FibGUgTVNZUzIncyBQT1NJWCBwYXRoIGNvbnZlcnNpb24KLSAgCi0gIFRoaXMgYXZvaWRzIE1TWVMyIGNvbnZlcnRpbmcgdGhlIGJhY2tzbGFzYiBpbiB0aGUgVVJMIHRvIGEgc2xhc2gsCi0gIGNhdXNpbmcgdGhlIHRlc3QgdG8gZmFpbC4KLQotRGFuaWVsIFN0ZW5iZXJnICgxNyBPY3QgMjAxOSkKLS0gUkVMRUFTRS1OT1RFUzogc3luY2VkCi0KLUpheSBTYXRpcm8gKDE2IE9jdCAyMDE5KQotLSBDVVJMT1BUX1RJTUVPVVQuMzogQ2xhcmlmeSB0cmFuc2ZlciB0aW1lb3V0IHRpbWUgaW5jbHVkZXMgcXVldWUgdGltZQotICAKLSAgUHJpb3IgdG8gdGhpcyBjaGFuZ2Ugc29tZSB1c2VycyBkaWQgbm90IHVuZGVyc3RhbmQgdGhhdCB0aGUgInJlcXVlc3QiCi0gIHN0YXJ0cyB3aGVuIHRoZSBoYW5kbGUgaXMgYWRkZWQgdG8gdGhlIG11bHRpIGhhbmRsZSwgb3IgcHJvYmFibHkgdGhleQotICBkaWQgbm90IHVuZGVyc3RhbmQgdGhhdCBzb21lIG9mIHRob3NlIHRyYW5zZmVycyBtYXkgYmUgcXVldWVkIGFuZCB0aGF0Ci0gIHRpbWUgaXMgaW5jbHVkZWQgaW4gdGltZW91dC4KLSAgCi0gIFJlcG9ydGVkLWJ5OiBKZXJvZW4gT29tcwotICAKLSAgRml4ZXMgaHR0cHM6Ly9naXRodWIuY29tL2N1cmwvY3VybC9pc3N1ZXMvNDQ4NgotICBDbG9zZXMgaHR0cHM6Ly9naXRodWIuY29tL2N1cmwvY3VybC9wdWxsLzQ0ODkKLQotLSBbU3RpYW4gU29pbGFuZC1SZXllcyBicm91Z2h0IHRoaXMgY2hhbmdlXQotCi0gIHRvb2xfb3BlcmF0ZTogRml4IHJldHJ5IHNsZWVwIHRpbWUgc2hvd24gdG8gdXNlciB3aGVuIFJldHJ5LUFmdGVyCi0gIAotICAtIElmIHNlcnZlciBoZWFkZXIgUmV0cnktQWZ0ZXIgaXMgYmVpbmcgdXNlZCBmb3IgcmV0cnkgc2xlZXAgdGltZSB0aGVuCi0gICAgc2hvdyB0aGF0IHZhbHVlIHRvIHRoZSB1c2VyIGluc3RlYWQgb2YgdGhlIG5vcm1hbCByZXRyeSBzbGVlcCB0aW1lLgotICAKLSAgVGhpcyBpcyBhIGZvbGxvdy11cCB0byA2NDBiOTczICg3LjY2LjApIHdoaWNoIGNoYW5nZWQgY3VybCB0b29sIHNvIHRoYXQKLSAgdGhlIHZhbHVlIGZyb20gUmV0cnktQWZ0ZXIgaGVhZGVyIG92ZXJyaWRlcyBvdGhlciByZXRyeSB0aW1pbmcgb3B0aW9ucy4KLSAgCi0gIENsb3NlcyBodHRwczovL2dpdGh1Yi5jb20vY3VybC9jdXJsL3B1bGwvNDQ5OAotCi1EYW5pZWwgU3RlbmJlcmcgKDE2IE9jdCAyMDE5KQotLSB1cmw6IG5vcm1hbGl6ZSBDVVJMSU5GT19FRkZFQ1RJVkVfVVJMCi0gIAotICBUaGUgVVJMIGV4dHJhY3RlZCB3aXRoIENVUkxJTkZPX0VGRkVDVElWRV9VUkwgd2FzIHJldHVybmVkIGFzIGdpdmVuIGFzCi0gIGlucHV0IGluIG1vc3QgY2FzZXMsIHdoaWNoIG1hZGUgaXQgbm90IGdldCBhIHNjaGVtZSBwcmVmaXhlZCBsaWtlIGJlZm9yZQotICBpZiB0aGUgVVJMIHdhcyBnaXZlbiB3aXRob3V0IG9uZSwgYW5kIGl0IGRpZG4ndCByZW1vdmUgZG90ZG90IHNlcXVlbmNlcwotICBldGMuCi0gIAotICBBZGRlZCB0ZXN0IGNhc2UgMTkwNyB0byB2ZXJpZnkgdGhhdCB0aGlzIG5vdyB3b3JrcyBhcyBpbnRlbmRlZCBhbmQgYXMKLSAgYmVmb3JlIDcuNjIuMC4KLSAgCi0gIFJlZ3Jlc3Npb24gaW50cm9kdWNlZCBpbiA3LjYyLjAKLSAgCi0gIFJlcG9ydGVkLWJ5OiBDaHJpc3RvcGhlIERlcnZpZXV4Ci0gIEZpeGVzICM0NDkxCi0gIENsb3NlcyAjNDQ5MwotCi1NYXJjZWwgUmFhZCAoMTYgT2N0IDIwMTkpCi0tIHRlc3RzOiBsaW5lIGVuZGluZyBmaXhlcyBmb3IgV2luZG93cwotICAKLSAgTWFyayBzb21lIGZpbGVzIGFzIHRleHQuCi0gIAotICBDbG9zZXMgaHR0cHM6Ly9naXRodWIuY29tL2N1cmwvY3VybC9wdWxsLzQ0OTAKLQotLSB0ZXN0czogdXNlIHByb3h5IGZlYXR1cmUKLSAgCi0gIFRoaXMgbWFrZXMgdGhlIHRlc3RzIHN1Y2NlZWQgd2hlbiB1c2luZyAtLWRpc2FibGUtcHJveHkuCi0gIAotICBDbG9zZXMgaHR0cHM6Ly9naXRodWIuY29tL2N1cmwvY3VybC9wdWxsLzQ0ODgKLQotLSBzbWJzZXJ2ZXI6IGZpeCBQeXRob24gMyBjb21wYXRpYmlsaXR5Ci0gIAotICBQeXRob24gMidzIGBDb25maWdQYXJzZXJgIG1vZHVsZSBpcyBzcGVsbGVkIGBjb25maWdwYXJzZXJgIGluIFB5dGhvbiAzLgotICAKLSAgQ2xvc2VzIGh0dHBzOi8vZ2l0aHViLmNvbS9jdXJsL2N1cmwvcHVsbC80NDg0Ci0KLS0gc2VjdXJpdHk6IHNpbGVuY2UgY29udmVyc2lvbiB3YXJuaW5nCi0gIAotICBXaXRoIE1pbkdXLXc2NCwgYGN1cmxfc29ja2V0X3RgIGlzIGlzIGEgMzIgb3IgNjQgYml0IHVuc2lnbmVkIGludGVnZXIsCi0gIHdoaWxlIGByZWFkYCBleHBlY3RzIGEgMzIgYml0IHNpZ25lZCBpbnRlZ2VyLgotICBVc2UgYHNyZWFkYCBpbnN0ZWFkIG9mIGByZWFkYCB0byB1c2UgdGhlIGNvcnJlY3QgcGFyYW1ldGVyIHR5cGUuCi0gIAotICBDbG9zZXMgaHR0cHM6Ly9naXRodWIuY29tL2N1cmwvY3VybC9wdWxsLzQ0ODMKLQotLSBjb25uZWN0OiBzaWxlbmNlIHNpZ24tY29tcGFyZSB3YXJuaW5nCi0gIAotICBXaXRoIE1pbkdXLXc2NCB1c2luZyBXaW5Tb2NrLCBgY3VybF9zb2NrbGVuX3RgIGlzIHNpZ25lZCwgd2hpbGUgdGhlCi0gIHJlc3VsdCBvZiBgc2l6ZW9mYCBpcyB1bnNpZ25lZC4KLSAgCi0gIENsb3NlcyBodHRwczovL2dpdGh1Yi5jb20vY3VybC9jdXJsL3B1bGwvNDQ4MwotCi1EYW5pZWwgU3RlbmJlcmcgKDEzIE9jdCAyMDE5KQotLSBUT0RPOiBIYW5kbGUgZ3Jvd2luZyBTRlRQIGZpbGVzCi0gIAotICBDbG9zZXMgIzQzNDQKLQotLSBLTk9XTl9CVUdTOiByZW1vdmUgIkNVUkxGT1JNX0NPTlRFTlRMRU4gaW4gYW4gYXJyYXkiCi0gIAotICBUaGUgY3VybF9mb3JtYWRkKCkgZnVuY3Rpb24gaXMgZGVwcmVjYXRlZCBhbmQgc2hvdWxkbid0IGJlIHVzZWQgc28gdGhlCi0gIHJlYWwgZml4IGZvciBhcHBsaWNhdGlvbnMgaXMgdG8gc3dpdGNoIHRvIHRoZSBjdXJsX21pbWVfKiBBUEkuCi0KLS0gS05PV05fQlVHUzogIkxEQVAgb24gV2luZG93cyBkb2VzIGF1dGhlbnRpY2F0aW9uIHdyb25nIgotICAKLSAgQ2xvc2VzICMzMTE2Ci0KLS0gYXBwdmV5b3I6IGFkZCBhIHdpbmJ1aWxkIHRoYXQgdXNlcyBWUzIwMTcKLSAgCi0gIENsb3NlcyAjNDQ4MgotCi0tIFtIYXJyeSBTaW50b25lbiBicm91Z2h0IHRoaXMgY2hhbmdlXQotCi0gIHNvY2tldHBhaXI6IGZpeCBpbmNsdWRlIGFuZCBkZWZpbmUgZm9yIG9sZGVyIFRDUCBoZWFkZXIgc3lzdGVtcwotICAKLSAgZml4ZWQgYnVpbGQgZm9yIHN5c3RlbXMgdGhhdCBuZWVkIG5ldGluZXQvaW4uaCBmb3IgSVBQUk9UT19UQ1AgYW5kIGFyZQotICBtaXNzaW5nIElOQUREUl9MT09QQkFDSwotICAKLSAgQ2xvc2VzICM0NDgwCi0KLS0gc29ja2V0cGFpcjogZml4IGRvdWJsZS1jbG9zZSBpbiBlcnJvciBjYXNlCi0gIAotICBGb2xsb3ctdXAgdG8gYmMyZGJlZjBhZmMwOAotCi0tIGdza2l0OiB1c2UgdGhlIGdlbmVyaWMgQ3VybF9zb2NrZXRwYWlyCi0KLS0gYXN5bi10aHJlYWQ6IG1ha2UgdXNlIG9mIEN1cmxfc29ja2V0cGFpcigpIHdoZXJlIGF2YWlsYWJsZQotCi0tIHNvY2tldHBhaXI6IGFuIGltcGxlbWVudGlvbiBmb3IgV2luZG93cyBhbmQgbW9yZQotICAKLSAgQ3VybF9zb2NrZXRwYWlyKCkgaXMgZGVzaWduZWQgdG8gYmUgdXNlZCBhbmQgd29yayBldmVyeXdoZXJlIGlmIHRoZXJlJ3MKLSAgbm8gbmF0aXZlIHZlcnNpb24gb3IgdGhlIG5hdGl2ZSB2ZXJzaW9uIGlzbid0IGdvb2QgZW5vdWdoLgotICAKLSAgQ2xvc2VzICM0NDY2Ci0KLS0gUkVMRUFTRS1OT1RFUzogc3luY2VkCi0KLS0gY29ubmVjdDogcmV0dXJuIENVUkxFX09QRVJBVElPTl9USU1FRE9VVCBmb3IgZXJybm8gPT0gRVRJTUVET1VUCi0gIAotICBQcmV2aW9zbHkgYWxsIGNvbm5lY3QoKSBmYWlsdXJlcyB3b3VsZCByZXR1cm4gQ1VSTEVfQ09VTEROVF9DT05ORUNULCBubwotICBtYXR0ZXIgd2hhdCBlcnJubyBzYWlkLgotICAKLSAgVGhpcyBtYWtlcyBmb3IgZXhhbXBsZSAtLXJldHJ5IHdvcmsgb24gdGhlc2UgdHJhbnNmZXIgZmFpbHVyZXMuCi0gIAotICBSZXBvcnRlZC1ieTogTmF0aGFuaWVsIEouIFNtaXRoCi0gIEZpeGVzICM0NDYxCi0gIENsc29lcyAjNDQ2MgotCi0tIGNpcnJ1czogc3dpdGNoIG9mZiBibGFja2hvbGUgc3RhdHVzIG9uIHRoZSBmcmVlYnNkIENJIG1hY2hpbmVzCi0KLS0gdGVzdHM6IHVzZSBwb3J0IDIgaW5zdGVhZCBvZiA2MDAwMCBmb3IgYSBzYWZlciBub24tbGlzdGVuaW5nIHBvcnQKLSAgCi0gIC4uLiB3aGVuIHRoZSB0ZXN0cyB3YW50ICJjb25uZWN0aW9uIHJlZnVzZWQiLgotCi0tIEtOT1dOX0JVR1M6IElETiB0ZXN0cyBmYWlsaW5nIG9uIFdpbmRvd3MKLSAgCi0gIENsb3NlcyAjMzc0NwotCi1EYW4gRmFuZHJpY2ggKDkgT2N0IDIwMTkpCi0tIGNpcnJ1czogSW5jcmVhc2UgdGhlIGdpdCBjbG9uZSBkZXB0aC4KLSAgCi0gIElmIG1vcmUgY29tbWl0cyBhcmUgc3VibWl0dGVkIHRvIG1hc3RlciBiZXR3ZWVuIHRoZSB0aW1lIG9mIHRyaWdnZXJpbmcKLSAgdGhlIGZpcnN0IENpcnJ1cyBidWlsZCBhbmQgdGhlIHRpbWUgdGhlIGZpbmFsIGJ1aWxkIGdldHMgc3RhcnRlZCwgdGhlCi0gIGRlc2lyZWQgY29tbWl0IGlzIG5vIGxvbmdlciBhdCBIRUFEIGFuZCB0aGUgYnVpbGQgd2lsbCBlcnJvciBvdXQuCi0gIFtza2lwIGNpXQotCi1EYW5pZWwgU3RlbmJlcmcgKDkgT2N0IDIwMTkpCi0tIGRvY3M6IG1ha2Ugc3VyZSB0aGUgLS1uby1wcm9ncmVzcy1tZXRlciBkb2NzIGZpbGUgaXMgaW4gZGlzdCB0b28KLQotLSBkb2NzOiBkb2N1bWVudCBpdCBhcyAtLW5vLXByb2dyZXNzLW1ldGVyIGluc3RlYWQgb2YgdGhlIHJldmVyc2UKLSAgCi0gIEZvbGxvdy11cCB0byA5MzM3M2E5NjBjM2JiNAotICAKLSAgUmVwb3J0ZWQtYnk6IGluZmlubm92YXRpb24tZGV2IG9uIGdpdGh1YgotICBGaXhlcyAjNDQ3NAotICBDbG9zZXMgIzQ0NzUKLQotRGFuIEZhbmRyaWNoICg5IE9jdCAyMDE5KQotLSBjaXJydXM6IFN3aXRjaCB0aGUgRnJlZUJTRCAxMS54IGJ1aWxkIHRvIDExLjMgYW5kIGFkZCBhIDEzLjAgYnVpbGQuCi0gIAotICBBbHNvLCBzZWxlY3QgdGhlIGltYWdlcyB1c2luZyBpbWFnZV9mYW1pbHkgdG8gZ2V0IHRoZSBsYXRlc3Qgc25hcHNob3RzCi0gIGF1dG9tYXRpY2FsbHkuCi0gIFtza2lwIGNpXQotCi1EYW5pZWwgU3RlbmJlcmcgKDggT2N0IDIwMTkpCi0tIGN1cmw6IC0tbm8tcHJvZ3Jlc3MtbWV0ZXIKLSAgCi0gIE5ldyBvcHRpb24gdGhhdCBhbGxvd3MgYSB1c2VyIHRvIE9OTFkgc3dpdGNoIG9mZiBjdXJsJ3MgcHJvZ3Jlc3MgbWV0ZXIKLSAgYW5kIGxlYXZlIGV2ZXJ5dGhpbmcgZWxzZSBpbiAidGFsa2F0aXZlIiBtb2RlLgotICAKLSAgUmVwb3J0ZWQtYnk6IFBpb3RyIEtvbWJvcnNraQotICBGaXhlcyAjNDQyMgotICBDbG9zZXMgIzQ0NzAKLQotLSBUT0RPOiBDb25zdWx0ICVBUFBEQVRBJSBhbHNvIGZvciAubmV0cmMKLSAgCi0gIENsb3NlcyAjNDAxNgotCi0tIENVUkxPUFRfVElNRU9VVC4zOiByZW1vdmUgdGhlIG1lbnRpb24gb2YgIm1pbnV0ZXMiCi0gIAotICAuLi4ganVzdCBzYXkgdGhhdCBsaW1pdGluZyBvcGVyYXRpb25zIHJpc2sgYWJvcnRpbmcgb3RoZXJ3aXNlIGZpbmUKLSAgd29ya2luZyB0cmFuc2ZlcnMuIElmIHRoYXQgbWVhbnMgc2Vjb25kcywgbWludXRlcyBvciBob3Vycywgd2UgbGVhdmUgdG8KLSAgdGhlIHVzZXIuCi0gIAotICBSZXBvcnRlZC1ieTogTWFydGluIEdhcnRuZXIKLSAgQ2xvc2VzICM0NDY5Ci0KLS0gW0FuZHJlaSBWYWxlcml1IEJJQ0EgYnJvdWdodCB0aGlzIGNoYW5nZV0KLQotICBkb2NzOiBhZGRlZCBtdWx0aS1ldmVudC5jIGV4YW1wbGUKLSAgCi0gIFNpbWlsYXIgdG8gbXVsdGktdXYuYyBidXQgdXNpbmcgbGliZXZlbnQgMi4gVGhpcyBpcyBhIHNpbXBsZXIgbGliZXZlbnQKLSAgaW50ZWdyYXRpb24gZXhhbXBsZSB0aGVuIGhpcGVyZmlmby5jLgotICAKLSAgQ2xvc2VzICM0NDcxCi0KLUpheSBTYXRpcm8gKDUgT2N0IDIwMTkpCi0tIFtOaWNvbGFzIGJyb3VnaHQgdGhpcyBjaGFuZ2VdCi0KLSAgbGRhcDogZml4IE9PTSBlcnJvciBvbiBtaXNzaW5nIHF1ZXJ5IHN0cmluZwotICAKLSAgLSBBbGxvdyBtaXNzaW5nIHF1ZXJpZXMsIGRvbid0IHJldHVybiBOT19NRU1PUlkgZXJyb3IgaW4gc3VjaCBhIGNhc2UuCi0gIAotICBJdCBpcyBhY2NlcHRhYmxlIGZvciB0aGVyZSB0byBiZSBubyBzcGVjaWZpZWQgcXVlcnkgc3RyaW5nLCBmb3IgZXhhbXBsZToKLSAgCi0gIGN1cmwgbGRhcDovL2xkYXAuZm9ydW1zeXMuY29tCi0gIAotICBBIHJlZ3Jlc3Npb24gYnVnIGluIDFiNDQzYTcgY2F1c2VkIHRoaXMgaXNzdWUuCi0gIAotICBUaGlzIGlzIGEgcGFydGlhbCBmaXggZm9yICM0MjYxLgotICAKLSAgQnVnOiBodHRwczovL2dpdGh1Yi5jb20vY3VybC9jdXJsL2lzc3Vlcy80MjYxI2lzc3VlY29tbWVudC01MjU1NDMwNzcKLSAgUmVwb3J0ZWQtYnk6IEpvam9qb3ZAdXNlcnMubm9yZXBseS5naXRodWIuY29tCi0gIEFuYWx5emVkLWJ5OiBTYW11ZWwgU3VydGVlcwotICAKLSAgQ2xvc2VzIGh0dHBzOi8vZ2l0aHViLmNvbS9jdXJsL2N1cmwvcHVsbC80NDY3Ci0KLS0gW1BhdWwgQi4gT210YSBicm91Z2h0IHRoaXMgY2hhbmdlXQotCi0gIGJ1aWxkOiBSZW1vdmUgdW51c2VkIEhBVkVfTElCU1NMIGFuZCBIQVZFX0xJQkNSWVBUTyBkZWZpbmVzCi0gIAotICBDbG9zZXMgaHR0cHM6Ly9naXRodWIuY29tL2N1cmwvY3VybC9wdWxsLzQ0NjAKLQotRGFuaWVsIFN0ZW5iZXJnICg1IE9jdCAyMDE5KQotLSBSRUxFQVNFLU5PVEVTOiBzeW5jZWQKLQotLSBbU3RpYW4gU29pbGFuZC1SZXllcyBicm91Z2h0IHRoaXMgY2hhbmdlXQotCi0gIGN1cmw6IGVuc3VyZSBIVFRQIDQyOSB0cmlnZ2VycyAtLXJldHJ5Ci0gIAotICBUaGlzIGNvbXBsZXRlcyAjMzc5NC4KLSAgCi0gIEFsc28gbWFrZSBzdXJlIHRoZSBuZXcgdGVzdHMgZnJvbSAjNDE5NSBhcmUgZW5hYmxlZAotICAKLSAgQ2xvc2VzICM0NDY1Ci0KLU1hcmNlbCBSYWFkICg0IE9jdCAyMDE5KQotLSBbYXBpcXVlIGJyb3VnaHQgdGhpcyBjaGFuZ2VdCi0KLSAgd2luYnVpbGQ6IGFkZCBFTkFCTEVfVU5JQ09ERSBvcHRpb24KLSAgCi0gIEZpeGVzIGh0dHBzOi8vZ2l0aHViLmNvbS9jdXJsL2N1cmwvaXNzdWVzLzQzMDgKLSAgQ2xvc2VzIGh0dHBzOi8vZ2l0aHViLmNvbS9jdXJsL2N1cmwvcHVsbC80MzA5Ci0KLURhbmllbCBTdGVuYmVyZyAoNCBPY3QgMjAxOSkKLS0gbmd0Y3AyOiBhZGFwdCB0byBBUEkgY2hhbmdlCi0gIAotICBDbG9zZXMgIzQ0NTcKLQotLSBjb29raWVzOiBjaGFuZ2UgYXJndW1lbnQgdHlwZSBmb3IgQ3VybF9mbHVzaF9jb29raWVzCi0gIAotICBUaGUgc2Vjb25kIGFyZ3VtZW50IGlzIHJlYWxseSBhICdib29sJyBzbyB1c2UgdGhhdCBhbmQgcGFzcyBpbiBUUlVFL0ZBTFNFCi0gIHRvIG1ha2UgaXQgY2xlYXIuCi0gIAotICBDbG9zZXMgIzQ0NTUKLQotLSBodHRwMjogbW92ZSBzdGF0ZS1pbml0IGZyb20gY3JlYXRpb24gdG8gcHJlLXRyYW5zZmVyCi0gIAotICBUbyBtYWtlIHN1cmUgdGhhdCB0aGUgSFRUUC8yIHN0YXRlIGlzIGluaXRpYWxpemVkIGNvcnJlY3RseSBmb3IKLSAgZHVwbGljYXRlZCBoYW5kbGVzLiBJdCB3b3VsZCBvdGhlcndpc2UgZWFzaWx5IGdlbmVyYXRlICJzcHVyaW91cyIKLSAgUFJJT1JJVFkgZnJhbWVzIHRvIGdldCBzZW50IG92ZXIgSFRUUC8yIGNvbm5lY3Rpb25zIHdoZW4gZHVwbGljYXRlZCBlYXN5Ci0gIGhhbmRsZXMgd2VyZSB1c2VkLgotICAKLSAgUmVwb3J0ZWQtYnk6IERhbmllbCBTaWx2ZXJzdG9uZQotICBGaXhlcyAjNDMwMwotICBDbG9zZXMgIzQ0NDIKLQotLSB1cmxhcGk6IGZpeCB1c2UtYWZ0ZXItZnJlZSBidWcKLSAgCi0gIEZvbGxvdy11cCBmcm9tIDJjMjAxMDlhOWI1ZDA0Ci0gIAotICBBZGRlZCB0ZXN0IDY2MyB0byB2ZXJpZnkuCi0gIAotICBSZXBvcnRlZCBieSBPU1MtRnV6egotICBCdWc6IGh0dHBzOi8vY3JidWcuY29tL29zcy1mdXp6LzE3OTU0Ci0gIAotICBDbG9zZXMgIzQ0NTMKLQotLSBbUGF1bCBEcmVpayBicm91Z2h0IHRoaXMgY2hhbmdlXQotCi0gIGNvb2tpZTogYXZvaWQgaGFybWxlc3MgdXNlIGFmdGVyIGZyZWUKLSAgCi0gIFRoaXMgZml4IHJlbW92ZXMgYSB1c2UgYWZ0ZXIgZnJlZSB3aGljaCBjYW4gYmUgdHJpZ2dlcmVkIGJ5Ci0gIHRoZSBpbnRlcm5hbCBjb29raWUgZnV6emVyLCBidXQgb3RoZXJ3aXNlIGlzIHByb2JhYmx5Ci0gIGltcG9zc2libGUgdG8gdHJpZ2dlciBmcm9tIGFuIG9yZGluYXJ5IGFwcGxpY2F0aW9uLgotICAKLSAgVGhlIGZvbGxvd2luZyBwcm9ncmFtIHJlcHJvZHVjZXMgaXQ6Ci0gIAotICAgICAgICAgIGN1cmxfZ2xvYmFsX2luaXQoQ1VSTF9HTE9CQUxfREVGQVVMVCk7Ci0gICAgICAgICAgQ1VSTCogIGhhbmRsZT1jdXJsX2Vhc3lfaW5pdCgpOwotICAgICAgICAgIENvb2tpZUluZm8qIGluZm89Q3VybF9jb29raWVfaW5pdChoYW5kbGUsTlVMTCxOVUxMLGZhbHNlKTsKLSAgICAgICAgICBjdXJsX2Vhc3lfc2V0b3B0KGhhbmRsZSwgQ1VSTE9QVF9DT09LSUVKQVIsICIvZGV2L251bGwiKTsKLSAgICAgICAgICBDdXJsX2ZsdXNoX2Nvb2tpZXMoaGFuZGxlLCB0cnVlKTsKLSAgICAgICAgICBDdXJsX2Nvb2tpZV9jbGVhbnVwKGluZm8pOwotICAgICAgICAgIGN1cmxfZWFzeV9jbGVhbnVwKGhhbmRsZSk7Ci0gICAgICAgICAgY3VybF9nbG9iYWxfY2xlYW51cCgpOwotICAKLSAgVGhpcyB3YXMgZm91bmQgdGhyb3VnaCBmdXp6aW5nLgotICAKLSAgQ2xvc2VzICM0NDU0Ci0KLS0gW0RlbmlzIENoYXBseWdpbiBicm91Z2h0IHRoaXMgY2hhbmdlXQotCi0gIGRvY3M6IGFkZCBub3RlIG9uIGZhaWxlZCBoYW5kbGVzIG5vdCBiZWluZyBjb3VudGVkIGJ5IGN1cmxfbXVsdGlfcGVyZm9ybQotICAKLSAgQ2xvc2VzICM0NDQ2Ci0KLS0gQ1VSTE1PUFRfTUFYX0NPTkNVUlJFTlRfU1RSRUFNUy4zOiBmaXggU0VFIEFMU08gdHlwbwotCi0tIFtOaWFsbCBPJ1JlaWxseSBicm91Z2h0IHRoaXMgY2hhbmdlXQotCi0gIEVTTkk6IGluaXRpYWwgYnVpbGQvc2V0dXAKLSAgCi0gIENsb3NlcyAjNDAxMQotCi0tIFJFTEVBU0UtTk9URVM6IHN5bmNlZAotCi0tIHJlZGlyZWN0OiB3aGVuIGZvbGxvd2luZyByZWRpcmVjdHMgdG8gYW4gYWJzb2x1dGUgVVJMLCBVUkwgZW5jb2RlIGl0Ci0gIAotICAuLi4gdG8gbWFrZSBpdCBoYW5kbGUgZm9yIGV4YW1wbGUgKFJGQyB2aW9sYXRpbmcpIGVtYmVkZWQgc3BhY2VzLgotICAKLSAgUmVwb3J0ZWQtYnk6IG1vbWFsYTQ1NCBvbiBnaXRodWIKLSAgRml4ZXMgIzQ0NDUKLSAgQ2xvc2VzICM0NDQ3Ci0KLS0gdXJsYXBpOiBmaXggVVJMIGVuY29kaW5nIHdoZW4gc2V0dGluZyBhIGZ1bGwgVVJMCi0KLS0gdG9vbF9vcGVyYXRlOiByZW5hbWUgZnVuY3Rpb25zIHRvIG1ha2UgbW9yZSBzZW5zZQotCi0tIGN1cmw6IGNyZWF0ZSBlYXN5IGhhbmRsZXMgb24tZGVtYW5kIGFuZCBub3QgYWhlYWQgb2YgdGltZQotICAKLSAgVGhpcyBzaG91bGQgYWdhaW4gZW5hYmxlIGNyYXp5LWxhcmdlIGRvd25sb2FkIHJhbmdlcyBvZiB0aGUgc3R5bGUKLSAgWzEtMTAwMDAwMDBdIHRoYXQgb3RoZXJ3aXNlIGVhc2lseSByYW4gb3V0IG9mIG1lbW9yeSBzdGFydGluZyBpbiA3LjY2LjAKLSAgd2hlbiB0aGlzIG5ldyBoYW5kbGUgYWxsb2NhdGluZyBzY2hlbWUgd2FzIGludHJvZHVjZWQuCi0gIAotICBSZXBvcnRlZC1ieTogUGV0ZXIgU3VtYXRyYQotICBGaXhlcyAjNDM5MwotICBDbG9zZXMgIzQ0MzgKLQotLSBbS3VuYWwgRWthd2RlIGJyb3VnaHQgdGhpcyBjaGFuZ2VdCi0KLSAgQ1VSTE1PUFRfTUFYX0NPTkNVUlJFTlRfU1RSRUFNUzogbmV3IHNldG9wdAotICAKLSAgQ2xvc2VzICM0NDEwCi0KLS0gY2h1bmtlZC1lbmNvZGluZzogc3RvcCBoaWRpbmcgdGhlIENVUkxFX0JBRF9DT05URU5UX0VOQ09ESU5HIGVycm9yCi0gIAotICBVbmtub3duIGNvbnRlbnQtZW5jb2Rpbmcgd291bGQgZ2V0IHJldHVybmVkIGFzIENVUkxFX1dSSVRFX0VSUk9SIGlmIHRoZQotICByZXNwb25zZSBpcyBjaHVua2VkLWVuY29kZWQuCi0gIAotICBSZXBvcnRlZC1ieTogSWx5YSBLb3NhcmV2Ci0gIEZpeGVzICM0MzEwCi0gIENsb3NlcyAjNDQ0OQotCi1NYXJjZWwgUmFhZCAoMSBPY3QgMjAxOSkKLS0gY2hlY2tzcmM6IGZpeCB1bmluaXRpYWxpemVkIHZhcmlhYmxlIHdhcm5pbmcKLSAgCi0gIFRoZSBsb29wIGRvZXNuJ3QgbmVlZCB0byBiZSBleGVjdXRlZCB3aXRob3V0IGEgZmlsZSBhcmd1bWVudC4KLSAgCi0gIENsb3NlcyBodHRwczovL2dpdGh1Yi5jb20vY3VybC9jdXJsL3B1bGwvNDQ0NAotCi0tIHVybGFwaTogZml4IHVudXNlZCB2YXJpYWJsZSB3YXJuaW5nCi0gIAotICBgZGVzdGAgaXMgb25seSB1c2VkIHdpdGggYEVOQUJMRV9JUFY2YC4KLSAgCi0gIENsb3NlcyBodHRwczovL2dpdGh1Yi5jb20vY3VybC9jdXJsL3B1bGwvNDQ0NAotCi0tIGxpYjogc2lsZW5jZSBjb252ZXJzaW9uIHdhcm5pbmdzCi0gIAotICBDbG9zZXMgaHR0cHM6Ly9naXRodWIuY29tL2N1cmwvY3VybC9wdWxsLzQ0NDQKLQotLSBBcHBWZXlvcjogYWRkIDMyLWJpdCBNaW5HVy13NjQgYnVpbGQKLSAgCi0gIFdpdGggV2luU1NMIGFuZCB0ZXN0aW5nIGVuYWJsZWQgc28gdGhhdCBpdCB3b3VsZCBoYXZlIGRldGVjdGVkIG1vc3Qgb2YKLSAgdGhlIHdhcm5pbmdzIGZpeGVkIGluIFswXSBhbmQgWzFdLgotICAKLSAgWzBdIGh0dHBzOi8vZ2l0aHViLmNvbS9jdXJsL2N1cmwvcHVsbC80Mzk4Ci0gIFsxXSBodHRwczovL2dpdGh1Yi5jb20vY3VybC9jdXJsL3B1bGwvNDQxNQotICAKLSAgQ2xvc2VzIGh0dHBzOi8vZ2l0aHViLmNvbS9jdXJsL2N1cmwvcHVsbC80NDMzCi0KLS0gQXBwVmV5b3I6IHJlbW92ZSBNU1lTMl9BUkdfQ09OVl9FWENMIGZvciB3aW5idWlsZAotICAKLSAgSXQncyBvbmx5IHVzZWQgZm9yIE1TWVMyIHdpdGggTWluR1cuCi0gIAotICBDbG9zZXMKLQotRGFuaWVsIFN0ZW5iZXJnICgzMCBTZXAgMjAxOSkKLS0gW0VtaWwgRW5nbGVyIGJyb3VnaHQgdGhpcyBjaGFuZ2VdCi0KLSAgZ2l0OiBhZGQgdGVzdHMvc2VydmVyL2Rpc2FibGVkIHRvIC5naXRpZ25vcmUKLSAgCi0gIENsb3NlcyAjNDQ0MQotCi0tIGFsdHN2YzogYWNjZXB0IHF1b3RlZCBtYSBhbmQgcGVyc2lzdCB2YWx1ZXMKLSAgCi0gIEFzIG1hbmRhdGVkIGJ5IHRoZSBzcGVjLiBUZXN0IDE2NTQgaXMgZXh0ZW5kZWQgdG8gdmVyaWZ5LgotICAKLSAgQ2xvc2VzICM0NDQzCi0KLS0gbWFpbG1hcDogYSBMdWNhcyBmaXgKLQotQWxlc3NhbmRybyBHaGVkaW5pICgyOSBTZXAgMjAxOSkKLS0gW0x1Y2FzIFBhcmR1ZSBicm91Z2h0IHRoaXMgY2hhbmdlXQotCi0gIHF1aWNoZTogdXBkYXRlIEhUVFAvMyBjb25maWcgY3JlYXRpb24gdG8gbmV3IEFQSQotCi1EYW5pZWwgU3RlbmJlcmcgKDI5IFNlcCAyMDE5KQotLSBCSU5ESU5HUzogUHVyZUJhc2ljLCBOZXQ6OkN1cmwgZm9yIHBlcmwgYW5kIE5pbQotCi0tIEJJTkRJTkdTOiBLYXBpdG8gaXMgYW4gRXJsYW5nIGxpYnJhcnksIGJhc2ljYWxseSBhIGJpbmRpbmcKLQotLSBCSU5ESU5HUzogYWRkZWQgY2xqLWN1cmwKLSAgCi0gIFJlcG9ydGVkLWJ5OiBMdWNhcyBTZXZlcm8KLQotLSBbSmF5IFNhdGlybyBicm91Z2h0IHRoaXMgY2hhbmdlXQotCi0gIGRvY3M6IGRpc2FtYmlndWF0ZSBDVVJMVVBBUlRfSE9TVCBpcyBmb3IgaG9zdCBuYW1lIChpZSBubyBwb3J0KQotICAKLSAgQ2xvc2VzICM0NDI0Ci0KLS0gY29va2llczogdXNpbmcgYSBzaGFyZSB3aXRoIGNvb2tpZXMgc2hvdWxkbid0IGVuYWJsZSB0aGUgY29va2llIGVuZ2luZQotICAKLSAgVGhlICdzaGFyZSBvYmplY3QnIG9ubHkgc2V0cyB0aGUgc3RvcmFnZSBhcmVhIGZvciBjb29raWVzLiBUaGUgImNvb2tpZQotICBlbmdpbmUiIHN0aWxsIG5lZWRzIHRvIGJlIGVuYWJsZWQgb3IgYWN0aXZhdGVkIHVzaW5nIHRoZSBub3JtYWwgY29va2llCi0gIG9wdGlvbnMuCi0gIAotICBUaGlzIGNhdXNlZCB0aGUgY3VybCBjb21tYW5kIGxpbmUgdG9vbCB0byBhY2NpZGVudGFsbHkgdXNlIGNvb2tpZXMKLSAgd2l0aG91dCBoYXZpbmcgYmVlbiB0b2xkIHRvLCBzaW5jZSBjdXJsIHN3aXRjaGVkIHRvIHVzaW5nIHNoYXJlZCBjb29raWVzCi0gIGluIDcuNjYuMC4KLSAgCi0gIFRlc3QgMTE2NiB2ZXJpZmllcwotICAKLSAgVXBkYXRlZCB0ZXN0IDUwNgotICAKLSAgRml4ZXMgIzQ0MjkKLSAgQ2xvc2VzICM0NDM0Ci0KLS0gc2V0b3B0OiBoYW5kbGUgQUxUU1ZDIHNldCB0byBOVUxMCi0KLS0gUkVMRUFTRS1OT1RFUzogc3luY2VkCi0KLS0gW2dyZG93bnMgYnJvdWdodCB0aGlzIGNoYW5nZV0KLQotICBJTlNUQUxMOiBhZGQgdmNwa2cgaW5zdGFsbGF0aW9uIGluc3RydWN0aW9ucwotICAKLSAgQ2xvc2VzICM0NDM1Ci0KLS0gW1plbmp1IGJyb3VnaHQgdGhpcyBjaGFuZ2VdCi0KLSAgRlRQOiBhZGQgdGVzdCBmb3IgRlRQRklMRV9OT0NXRDogQXZvaWQgcmVkdW5kYW50IENXRHMKLSAgCi0gIEFkZCBsaWJ0ZXN0IDY2MQotICAKLSAgQ2xvc2VzICM0NDE3Ci0KLS0gW1plbmp1IGJyb3VnaHQgdGhpcyBjaGFuZ2VdCi0KLSAgRlRQOiB1cmwtZGVjb2RlIHBhdGggYmVmb3JlIGV2YWx1YXRpb24KLSAgCi0gIENsb3NlcyAjNDQyOAotCi1NYXJjZWwgUmFhZCAoMjcgU2VwIDIwMTkpCi0tIHRlc3RzOiBmaXggbmFycm93aW5nIGNvbnZlcnNpb24gd2FybmluZ3MKLSAgCi0gIGB0aW1lZGlmZl90YCBpcyA2NCBiaXRzIHdpZGUgYWxzbyBvbiAzMi1iaXQgc3lzdGVtcyBzaW5jZQotICBjb21taXQgYjE2MTZkYWQ4ZjAuCi0gIAotICBDbG9zZXMgaHR0cHM6Ly9naXRodWIuY29tL2N1cmwvY3VybC9wdWxsLzQ0MTUKLQotSmF5IFNhdGlybyAoMjcgU2VwIDIwMTkpCi0tIFtKdWxpYW4gWiBicm91Z2h0IHRoaXMgY2hhbmdlXQotCi0gIHZ0bHM6IEZpeCBjb21tZW50IHR5cG8gYWJvdXQgbWFjb3N4LXZlcnNpb24tbWluIGNvbXBpbGVyIGZsYWcKLSAgCi0gIENsb3NlcyBodHRwczovL2dpdGh1Yi5jb20vY3VybC9jdXJsL3B1bGwvNDQyNQotCi1EYW5pZWwgU3RlbmJlcmcgKDI2IFNlcCAyMDE5KQotLSBbWWVjaGllbCBLYWxtZW5zb24gYnJvdWdodCB0aGlzIGNoYW5nZV0KLQotICBSRUFETUU6IG1pbm9yIGdyYW1tYXIgZml4Ci0gIAotICBDbG9zZXMgIzQ0MzEKLQotLSBbU3BlemlmYW50IGJyb3VnaHQgdGhpcyBjaGFuZ2VdCi0KLSAgSFRUUDM6IGZpeCBwcmVmaXggcGFyYW1ldGVyIGZvciBuZ3RjcDIgYnVpbGQKLSAgCi0gIENsb3NlcyAjNDQzMAotCi0tIHF1aWNoZTogZG9uJ3QgY2xvc2UgY29ubmVjdGlvbiBhdCBlbmQgb2Ygc3RyZWFtIQotCi0tIHF1aWNoZTogc2V0ICdkcmFpbicgd2hlbiByZXR1cm5pbmcgd2l0aG91dCBoYXZpbmcgZHJhaW5lZCB0aGUgcXVldWVzCi0KLS0gUmV2ZXJ0ICJGVFA6IHVybC1kZWNvZGUgcGF0aCBiZWZvcmUgZXZhbHVhdGlvbiIKLSAgCi0gIFRoaXMgcmV2ZXJ0cyBjb21taXQgMmYwMzZhNzJkNTQzZTk2MTI4YmQ3NWNiMGZlZGQ4ODgxNWZkNDJlMi4KLQotLSBIVFRQMzogbWVyZ2VkIGFuZCBzaW1wbGlmaWVkIHRoZSB0d28gJ3J1bm5pbmcnIHNlY3Rpb25zCi0KLS0gSFRUUDM6IHNob3cgYW4gLS1hbHQtc3ZjIHVzaW5nIGV4YW1wbGUgdG9vCi0KLS0gW1plbmp1IGJyb3VnaHQgdGhpcyBjaGFuZ2VdCi0KLSAgRlRQOiB1cmwtZGVjb2RlIHBhdGggYmVmb3JlIGV2YWx1YXRpb24KLSAgCi0gIENsb3NlcyAjNDQyMwotCi0tIG9wZW5zc2w6IHVzZSBzdHJlcnJvciBvbiBTU0xfRVJST1JfU1lTQ0FMTAotICAKLSAgSW5zdGVhZCBvZiBzaG93aW5nIHRoZSBzb21ld2hhdCBub25zZW5zaWNhbCBlcnJubyBudW1iZXIsIHVzZSBzdHJlcnJvcigpCi0gIHRvIHByb3ZpZGUgYSBtb3JlIHJlbGF0YWJsZSBlcnJvciBtZXNzYWdlLgotICAKLSAgQ2xvc2VzICM0NDExCi0KLS0gSFRUUDM6IHVwZGF0ZSBxdWljLmFpb3J0Yy5vcmcgKyBhZGQgbGluayB0byBzZXJ2ZXIgbGlzdAotICAKLSAgUmVwb3J0ZWQtYnk6IEplcmVteSBMYWluw6kKLQotSmF5IFNhdGlybyAoMjYgU2VwIDIwMTkpCi0tIHVybDogZG9uJ3Qgc2V0IGFwcGNvbm5lY3QgdGltZSBmb3Igbm9uLXNzbC9ub24tc3NoIGNvbm5lY3Rpb25zCi0gIAotICBQcmlvciB0byB0aGlzIGNoYW5nZSBub24tc3NsL25vbi1zc2ggY29ubmVjdGlvbnMgdGhhdCB3ZXJlIHJldXNlZCBzZXQKLSAgVElNRVJfQVBQQ09OTkVDVCBbMV0uIEFyZ3VhYmx5IHRoYXQgd2FzIGluY29ycmVjdCBzaW5jZSBubyBTU0wvU1NICi0gIGhhbmRzaGFrZSB0b29rIHBsYWNlLgotICAKLSAgWzFdOiBUSU1FUl9BUFBDT05ORUNUIGlzIHB1YmxpY2x5IGtub3duIGFzIENVUkxJTkZPX0FQUENPTk5FQ1RfVElNRSBpbgotICBsaWJjdXJsIGFuZCAle3RpbWVfYXBwY29ubmVjdH0gaW4gdGhlIGN1cmwgdG9vbC4gSXQgaXMgZG9jdW1lbnRlZCBhcwotICAidGhlIHRpbWUgdW50aWwgdGhlIFNTTC9TU0ggaGFuZHNoYWtlIGlzIGNvbXBsZXRlZCIuCi0gIAotICBSZXBvcnRlZC1ieTogTWFyY2VsIEhlcm5hbmRlegotICAKLSAgUmVmOiBodHRwczovL2dpdGh1Yi5jb20vY3VybC9jdXJsL2lzc3Vlcy8zNzYwCi0gIAotICBDbG9zZXMgaHR0cHM6Ly9naXRodWIuY29tL2N1cmwvY3VybC9wdWxsLzM3NzMKLQotRGFuaWVsIFN0ZW5iZXJnICgyNSBTZXAgMjAxOSkKLS0gbmd0Y3AyOiByZW1vdmUgZnByaW50ZigpIGNhbGxzCi0gIAotICAtIGNvbnZlcnQgc29tZSBvZiB0aGVtIHRvIEgzQlVGKCkgY2FsbHMgdG8gaW5mb2YoKQotICAtIHJlbW92ZSBzb21lIG9mIHRoZW0gY29tcGxldGVseQotICAtIG1hZGUgREVCVUdfSFRUUDMgZGVmaW5lZCBvbmx5IGlmIENVUkxERUJVRyBpcyBzZXQgZm9yIG5vdwotICAKLSAgQ2xvc2VzICM0NDIxCi0KLS0gW0pheSBTYXRpcm8gYnJvdWdodCB0aGlzIGNoYW5nZV0KLQotICB1cmw6IGZpeCB0aGUgTlVMTCBob3N0bmFtZSBjb21waWxlciB3YXJuaW5nIGNhc2UKLSAgCi0gIENsb3NlcyAjNDQwMwotCi0tIFtKYXkgU2F0aXJvIGJyb3VnaHQgdGhpcyBjaGFuZ2VdCi0KLSAgdHJhdmlzOiBtb3ZlIHRoZSBnbyBpbnN0YWxsIHRvIGxpbnV4LW9ubHkKLSAgCi0gIC4uLiB0byByZXBhaXIgdGhlIGJ1aWxkIGFnYWluCi0gIENsb3NlcyAjNDQwMwotCi0tIGFsdHN2YzogY29ycmVjdCB0aGUgI2lmZGVmIGZvciB0aGUgbmd0Y3AyIGJhY2tlbmQKLQotLSBhbHRzdmM6IHNhdmUgaDMgYXMgaDMtMjMKLSAgCi0gIEZvbGxvdy11cCB0byBkMTc2YTJjN2U1Ci0KLS0gdXJsYXBpOiBxdWVzdGlvbiBtYXJrIHdpdGhpbiBmcmFnbWVudCBpcyBzdGlsbCBmcmFnbWVudAotICAKLSAgVGhlIHBhcnNlciB3b3VsZCBjaGVjayBmb3IgYSBxdWVyeSBwYXJ0IGJlZm9yZSBmcmFnbWVudCwgd2hpY2ggY2F1c2VkIGl0Ci0gIHRvIGRvIHdyb25nIHdoZW4gdGhlIGZyYWdtZW50IGNvbnRhaW5zIGEgcXVlc3Rpb24gbWFyay4KLSAgCi0gIEV4dGVuZGVkIHRlc3QgMTU2MCB0byB2ZXJpZnkuCi0gIAotICBSZXBvcnRlZC1ieTogQWxleCBLb25ldgotICBGaXhlcyAjNDQxMgotICBDbG9zZXMgIzQ0MTMKLQotLSBbQWxleCBTYW1vcnVrb3YgYnJvdWdodCB0aGlzIGNoYW5nZV0KLQotICBIVFRQMy5tZDogbW92ZSAtcCBmb3IgbWtkaXIsIHJlbW92ZSAtaiBmb3IgbWFrZQotICAKLSAgLSBta2RpciBvbiBPU1gvRGFyd2luIHJlcXVpcmVzIGAtcGAgYXJndW1lbnQgYmVmb3JlIGRpcgotICAKLSAgLSBwb3J0YWJibHkgZmlndXJpbmcgb3V0IG51bWJlciBvZiBjb3JlcyBpcyBhbiBleGVyY2lzZSBmb3Igc29tZXdoZXJlCi0gICAgZWxzZQotICAKLSAgQ2xvc2VzICM0NDA3Ci0KLVBhdHJpY2sgTW9ubmVyYXQgKDI0IFNlcCAyMDE5KQotLSBvczQwMDogZ2V0cGVlcm5hbWUoKSBhbmQgZ2V0c29ja25hbWUoKSByZXR1cm4gZWJjZGljIEFGX1VOSVggc29ja2FkZHIsCi0gIAotICBBcyBsaWJjdXJsIG5vdyB1c2VzIHRoZXNlIDIgc3lzdGVtIGZ1bmN0aW9ucywgd3JhcHBlcnMgYXJlIG5lZWRlZCBvbiBvczQwMAotICB0byBjb252ZXJ0IHJldHVybmVkIEFGX1VOSVggc29ja2FkZHJzIHRvIGFzY2lpLgotICAKLSAgVGhpcyBpcyBhIGZvbGxvdy11cCB0byBjb21taXQgN2ZiNTRlZi4KLSAgU2VlIGFsc28gIzQwMzcuCi0gIENsb3NlcyAjNDIxNAotCi1KYXkgU2F0aXJvICgyNCBTZXAgMjAxOSkKLS0gW0x1Y2FzIFBhcmR1ZSBicm91Z2h0IHRoaXMgY2hhbmdlXQotCi0gIHN0cmNhc2U6IGZpeCByYXcgbG93ZXJjYXNpbmcgdGhlIGxldHRlciBYCi0gIAotICBDYXNpbmcgbWlzdGFrZSBpbiBDdXJsX3Jhd190b2xvd2VyICdYJyB3YXNuJ3QgbG93ZXJjYXNlZCBhcyAneCcgcHJpb3IgdG8KLSAgdGhpcyBjaGFuZ2UuCi0gIAotICBGb2xsb3ctdXAgdG8gMDAyM2ZjZSB3aGljaCBhZGRlZCB0aGUgZnVuY3Rpb24gc2V2ZXJhbCBkYXlzIGFnby4KLSAgCi0gIFJlZjogaHR0cHM6Ly9naXRodWIuY29tL2N1cmwvY3VybC9wdWxsLzQ0MDEjZGlzY3Vzc2lvbl9yMzI3Mzk2NTQ2Ci0gIAotICBDbG9zZXMgaHR0cHM6Ly9naXRodWIuY29tL2N1cmwvY3VybC9wdWxsLzQ0MDgKLQotRGFuaWVsIFN0ZW5iZXJnICgyMyBTZXAgMjAxOSkKLS0gaHR0cDI6IEV4cHJlc3Npb24gJ3N0cmVhbS0+c3RyZWFtX2lkICE9IC0gMScgaXMgYWx3YXlzIHRydWUKLSAgCi0gIFBWUy1TdHVkaW8gd2FybmluZwotICBGaXhlcyAjNDQwMgotCi0tIGh0dHAyOiBBIHZhbHVlIGlzIGJlaW5nIHN1YnRyYWN0ZWQgZnJvbSB0aGUgdW5zaWduZWQgdmFyaWFibGUKLSAgCi0gIFBWUy1TdHVkaW8gd2FybmluZwotICBGaXhlcyAjNDQwMgotCi0tIGxpYnNzaDogcGFydCBvZiBjb25kaXRpb25hbCBleHByZXNzaW9uIGlzIGFsd2F5cyB0cnVlOiAhcmVzdWx0Ci0gIAotICBQVlMtU3R1ZGlvIHdhcm5pbmcKLSAgRml4ZWQgIzQ0MDIKLQotLSBsaWJzc2g6IHBhcnQgb2YgY29uZGl0aW9uYWwgZXhwcmVzc2lvbiBpcyBhbHdheXMgdHJ1ZQotICAKLSAgUFZTLVN0dWRpbyB3YXJuaW5nCi0gIEZpeGVzICM0NDAyCi0KLS0gbGlic3NoOiBUaGUgZXhwcmVzc2lvbiBpcyBleGNlc3NpdmUgb3IgY29udGFpbnMgYSBtaXNwcmludAotICAKLSAgUFZTLVN0dWRpbyB3YXJuaW5nCi0gIEZpeGVzICM0NDAyCi0KLS0gcXVpY2hlOiBUaGUgZXhwcmVzc2lvbiBtdXN0IGJlIHN1cnJvdW5kZWQgYnkgcGFyZW50aGVzZXMKLSAgCi0gIFBWUy1TdHVkaW8gd2FybmluZwotICBGaXhlcyAjNDQwMgotCi0tIHZhdXRoOiBUaGUgcGFyYW1ldGVyICdzdGF0dXMnIG11c3QgYmUgc3Vycm91bmRlZCBieSBwYXJlbnRoZXNlcwotICAKLSAgUFZTLVN0dWRpbyB3YXJuaW5nCi0gIEZpeGVzICM0NDAyCi0KLS0gW1BhdWwgRHJlaWsgYnJvdWdodCB0aGlzIGNoYW5nZV0KLQotICBkb2g6IGFsbG93IG9ubHkgaHR0cCBhbmQgaHR0cHMgaW4gZGVidWcgbW9kZQotICAKLSAgT3RoZXJ3aXNlIGN1cmwgbWF5IGJlIHRvbGQgdG8gdXNlIGZvciBpbnN0YW5jZSBwb3AzIHRvCi0gIGNvbW11bmljYXRlIHdpdGggdGhlIGRvaCBzZXJ2ZXIsIHdoaWNoIG1vc3QgbGlrZWx5Ci0gIGlzIG5vdCB3aGF0IHlvdSB3YW50LgotICAKLSAgRm91bmQgdGhyb3VnaCBmdXp6aW5nLgotICAKLSAgQ2xvc2VzICM0NDA2Ci0KLS0gW1BhdWwgRHJlaWsgYnJvdWdodCB0aGlzIGNoYW5nZV0KLQotICBkb2g6IHJldHVybiBlYXJseSBpZiB0aGVyZSBpcyBubyB0aW1lIGxlZnQKLSAgCi0gIENsb3NlcyAjNDQwNgotCi0tIFtCYXJyeSBQb2xsYXJkIGJyb3VnaHQgdGhpcyBjaGFuZ2VdCi0KLSAgaHR0cDogbG93ZXJjYXNlIGhlYWRlcm5hbWVzIGZvciBIVFRQLzIgYW5kIEhUVFAvMwotICAKLSAgQ2xvc2VzICM0NDAxCi0gIEZpeGVzICM0NDAwCi0KLU1hcmNlbCBSYWFkICgyMyBTZXAgMjAxOSkKLS0gdnRsczogZml4IG5hcnJvd2luZyBjb252ZXJzaW9uIHdhcm5pbmdzCi0gIAotICBDdXJsX3RpbWVsZWZ0IHJldHVybnMgYHRpbWVkaWZmX3RgLCB3aGljaCBpcyA2NCBiaXRzIHdpZGUgYWxzbyBvbgotICAzMi1iaXQgc3lzdGVtcyBzaW5jZSBjb21taXQgYjE2MTZkYWQ4ZjAuCi0gIAotICBDbG9zZXMgaHR0cHM6Ly9naXRodWIuY29tL2N1cmwvY3VybC9wdWxsLzQzOTgKLQotRGFuaWVsIFN0ZW5iZXJnICgyMyBTZXAgMjAxOSkKLS0gW0pvZWwgRGVwb290ZXIgYnJvdWdodCB0aGlzIGNoYW5nZV0KLQotICB3aW5idWlsZDogQWRkIG1hbmlmZXN0IHRvIGN1cmwuZXhlIGZvciBwcm9wZXIgT1MgdmVyc2lvbiBkZXRlY3Rpb24KLSAgCi0gIFRoaXMgaXMgYSBzbWFsbCBmaXggdG8gY29tbWl0IGViZDIxMzI3MGEwMTdhNjgzMDkyOGVlMmUxZjRhOWNhYmM3OTk4OTgKLSAgaW4gcHVsbCByZXF1ZXN0ICMxMjIxLiBUaGF0IGNvbW1pdCBhZGRlZCB0aGUgQ1VSTF9FTUJFRF9NQU5JRkVTVCBmbGFnIHRvCi0gIENVUkxfUkNfRkxBR1MuIEhvd2V2ZXIsIGxhdGVyIGluIHRoZSBmaWxlIENVUkxfUkNfRkxBR1MgaXMKLSAgb3ZlcndyaXR0ZW4uIFRoZSBmaXggaXMgdG8gYXBwZW5kIHZhbHVlcyB0byBDVVJMX1JDX0ZMQUdTIGluc3RlYWQgb2YKLSAgb3ZlcndyaXRpbmcKLSAgCi0gIENsb3NlcyAjNDM5OQotCi0tIFJFTEVBU0UtTk9URVM6IHN5bmNlZAotCi1NYXJjZWwgUmFhZCAoMjIgU2VwIDIwMTkpCi0tIG9wZW5zc2w6IGZpeCBjb21waWxlciB3YXJuaW5nIHdpdGggTGlicmVTU0wKLSAgCi0gIEl0IHdhcyBhbHJlYWR5IGZpeGVkIGZvciBCb3JpbmdTU0wgaW4gY29tbWl0IGEwZjhmY2NiMWUwLgotICBMaWJyZVNTTCBoYXMgaGFkIHRoZSBzZWNvbmQgYXJndW1lbnQgdG8gU1NMX0NUWF9zZXRfbWluX3Byb3RvX3ZlcnNpb24KLSAgYXMgdWludDE2X3QgZXZlciBzaW5jZSB0aGUgZnVuY3Rpb24gd2FzIGFkZGVkIGluIFswXS4KLSAgCi0gIFswXSBodHRwczovL2dpdGh1Yi5jb20vbGlicmVzc2wtcG9ydGFibGUvb3BlbmJzZC9jb21taXQvNTZmMTA3MjAxYmFlZmI1NTMzNDg2ZDY2NWE1OGQ4ZjU3ZmQzYWVkYQotICAKLSAgQ2xvc2VzIGh0dHBzOi8vZ2l0aHViLmNvbS9jdXJsL2N1cmwvcHVsbC80Mzk3Ci0KLURhbmllbCBTdGVuYmVyZyAoMjIgU2VwIDIwMTkpCi0tIGN1cmw6IGV4aXQgdGhlIGNyZWF0ZV90cmFuc2ZlcnMgbG9vcCBvbiBlcnJvcnMKLSAgCi0gIFdoZW4gbG9vcGluZyBhcm91bmQgdGhlIHJhbmdlcyBhbmQgZ2l2ZW4gVVJMcyB0byBjcmVhdGUgdHJhbnNmZXJzLCBhbGwKLSAgZXJyb3JzIHNob3VsZCBleGl0IHRoZSBsb29wIGFuZCByZXR1cm4uIFByZXZpb3VzbHkgaXQgd291bGQga2VlcAotICBsb29waW5nLgotICAKLSAgUmVwb3J0ZWQtYnk6IFN1bWF0cmFQZXRlciBvbiBnaXRodWIKLSAgQnVnOiAjNDM5MwotICBDbG9zZXMgIzQzOTYKLQotSmF5IFNhdGlybyAoMjEgU2VwIDIwMTkpCi0tIHNvY2tzOiBGaXggZGVzdGluYXRpb24gaG9zdCBzaG93biBvbiBTT0NLUzUgZXJyb3IKLSAgCi0gIFByaW9yIHRvIHRoaXMgY2hhbmdlIHdoZW4gYSBzZXJ2ZXIgcmV0dXJuZWQgYSBzb2NrczUgY29ubmVjdCBlcnJvciB0aGVuCi0gIGN1cmwgd291bGQgcGFyc2UgdGhlIGRlc3RpbmF0aW9uIGFkZHJlc3M6cG9ydCBmcm9tIHRoYXQgZGF0YSBhbmQgc2hvdyBpdAotICB0byB0aGUgdXNlciBhcyB0aGUgZGVzdGluYXRpb246Ci0gIAotICBjdXJsZCAtdiAtLXNvY2tzNSAxMC4wLjMuMToxMDgwIGh0dHA6Ly9nb29nbGUuY29tOjk5Ci0gICogU09DS1M1IGNvbW11bmljYXRpb24gdG8gZ29vZ2xlLmNvbTo5OQotICAqIFNPQ0tTNSBjb25uZWN0IHRvIElQdjQgMTcyLjIxNy4xMi4yMDYgKGxvY2FsbHkgcmVzb2x2ZWQpCi0gICogQ2FuJ3QgY29tcGxldGUgU09DS1M1IGNvbm5lY3Rpb24gdG8gMjUzLjEyNy4wLjA6MjY2NzMuICgxKQotICBjdXJsOiAoNykgQ2FuJ3QgY29tcGxldGUgU09DS1M1IGNvbm5lY3Rpb24gdG8gMjUzLjEyNy4wLjA6MjY2NzMuICgxKQotICAKLSAgVGhhdCdzIGluY29ycmVjdCBiZWNhdXNlIHRoZSBhZGRyZXNzOnBvcnQgaW5jbHVkZWQgaW4gdGhlIGNvbm5lY3QgZXJyb3IKLSAgaXMgYWN0dWFsbHkgYSBiaW5kIGFkZHJlc3M6cG9ydCAodHlwaWNhbGx5IHVudXNlZCkgYW5kIG5vdCB0aGUKLSAgZGVzdGluYXRpb24gYWRkcmVzczpwb3J0LiBUaGlzIGZpeCBjaGFuZ2VzIGN1cmwgdG8gc2hvdyB0aGUgZGVzdGluYXRpb24KLSAgaW5mb3JtYXRpb24gdGhhdCBjdXJsIHNlbnQgdG8gdGhlIHNlcnZlciBpbnN0ZWFkOgotICAKLSAgY3VybGQgLXYgLS1zb2NrczUgMTAuMC4zLjE6MTA4MCBodHRwOi8vZ29vZ2xlLmNvbTo5OQotICAqIFNPQ0tTNSBjb21tdW5pY2F0aW9uIHRvIGdvb2dsZS5jb206OTkKLSAgKiBTT0NLUzUgY29ubmVjdCB0byBJUHY0IDE3Mi4yMTcuNy4xNDo5OSAobG9jYWxseSByZXNvbHZlZCkKLSAgKiBDYW4ndCBjb21wbGV0ZSBTT0NLUzUgY29ubmVjdGlvbiB0byAxNzIuMjE3LjcuMTQ6OTkuICgxKQotICBjdXJsOiAoNykgQ2FuJ3QgY29tcGxldGUgU09DS1M1IGNvbm5lY3Rpb24gdG8gMTcyLjIxNy43LjE0Ojk5LiAoMSkKLSAgCi0gIGN1cmxkIC12IC0tc29ja3M1LWhvc3RuYW1lIDEwLjAuMy4xOjEwODAgaHR0cDovL2dvb2dsZS5jb206OTkKLSAgKiBTT0NLUzUgY29tbXVuaWNhdGlvbiB0byBnb29nbGUuY29tOjk5Ci0gICogU09DS1M1IGNvbm5lY3QgdG8gZ29vZ2xlLmNvbTo5OSAocmVtb3RlbHkgcmVzb2x2ZWQpCi0gICogQ2FuJ3QgY29tcGxldGUgU09DS1M1IGNvbm5lY3Rpb24gdG8gZ29vZ2xlLmNvbTo5OS4gKDEpCi0gIGN1cmw6ICg3KSBDYW4ndCBjb21wbGV0ZSBTT0NLUzUgY29ubmVjdGlvbiB0byBnb29nbGUuY29tOjk5LiAoMSkKLSAgCi0gIFJlZjogaHR0cHM6Ly90b29scy5pZXRmLm9yZy9odG1sL3JmYzE5Mjgjc2VjdGlvbi02Ci0gIAotICBDbG9zZXMgaHR0cHM6Ly9naXRodWIuY29tL2N1cmwvY3VybC9wdWxsLzQzOTQKLQotRGFuaWVsIFN0ZW5iZXJnICgyMSBTZXAgMjAxOSkKLS0gdHJhdmlzOiBlbmFibGUgbmd0Y3AyIGgzLTIzIGJ1aWxkcwotCi0tIGFsdHN2YzogYm90aCBiYWNrZW5kcyBydW4gaDMtMjMgbm93Ci0gIAotICBDbG9zZXMgIzQzOTUKLQotLSBodHRwOiBmaXggd2FybmluZyBvbiBjb252ZXJzaW9uIGZyb20gaW50IHRvIGJpdAotICAKLSAgRm9sbG93LXVwIGZyb20gMDNlYmU2NmQ3MAotCi0tIHVybGRhdGE6IHVzZSAnYm9vbCcgZm9yIHRoZSBiaXQgdHlwZSBvbiBNU1ZDIGNvbXBpbGVycwotICAKLSAgQ2xvc2VzICM0Mzg3Ci0gIEZpeGVzICM0Mzc5Ci0KLS0gYXBwdmV5b3I6IHVwZ3JhZGUgVlMyMDE3IHRvIFZTMjAxOQotICAKLSAgQ2xvc2VzICM0MzgzCi0KLS0gW1plbmp1IGJyb3VnaHQgdGhpcyBjaGFuZ2VdCi0KLSAgRlRQOiBGVFBGSUxFX05PQ1dEOiBhdm9pZCByZWR1bmRhbnQgQ1dEcwotICAKLSAgQ2xvc2VzICM0MzgyCi0KLS0gY29va2llOiBwYXNzIGluIHRoZSBjb3JyZWN0IGNvb2tpZSBhbW91bnQgdG8gcXNvcnQoKQotICAKLSAgQXMgdGhlIGxvb3AgZGlzY2FyZHMgY29va2llcyB3aXRob3V0IGRvbWFpbiBzZXQuIFRoaXMgYnVnIHdvdWxkIGxlYWQgdG8KLSAgcXNvcnQoKSB0cnlpbmcgdG8gc29ydCB1bmluaXRpYWxpemVkIHBvaW50ZXJzLiBXZSBoYXZlIGhvd2V2ZXIgbm90IGZvdW5kCi0gIGl0IGEgc2VjdXJpdHkgcHJvYmxlbS4KLSAgCi0gIFJlcG9ydGVkLWJ5OiBQYXVsIERyZWlrCi0gIENsb3NlcyAjNDM4NgotCi0tIFtQYXVsIERyZWlrIGJyb3VnaHQgdGhpcyBjaGFuZ2VdCi0KLSAgdXJsYXBpOiBhdm9pZCBpbmRleCB1bmRlcmZsb3cgZm9yIHNob3J0IGlwdjYgaG9zdG5hbWVzCi0gIAotICBJZiB0aGUgaW5wdXQgaG9zdG5hbWUgaXMgIlsiLCBobGVuIHdpbGwgdW5kZXJmbG93IHRvIG1heCBvZiBzaXplX3Qgd2hlbgotICBpdCBpcyBzdWJ0cmFjdGVkIHdpdGggMi4KLSAgCi0gIGhvc3RuYW1lW2hsZW5dIHdpbGwgdGhlbiBjYXVzZSBhIHdhcm5pbmcgYnkgdWJzYW5pdGl6ZXI6Ci0gIAotICBydW50aW1lIGVycm9yOiBhZGRpdGlvbiBvZiB1bnNpZ25lZCBvZmZzZXQgdG8gMHg8c25pcD4gb3ZlcmZsb3dlZCB0bwotICAweDxzbmlwPgotICAKLSAgSSB0aGluayB0aGF0IGluIHByYWN0aWNlLCB0aGUgZ2VuZXJhdGVkIGNvZGUgd2lsbCB3b3JrLCBhbmQgdGhlIG91dHB1dAotICBvZiBob3N0bmFtZVtobGVuXSB3aWxsIGJlIHRoZSBmaXJzdCBjaGFyYWN0ZXIgIlsiLgotICAKLSAgVGhpcyBjYW4gYmUgZGVtb25zdHJhdGVkIGJ5IHRoZSBmb2xsb3dpbmcgcHJvZ3JhbSAodGVzdGVkIGluIGJvdGggY2xhbmcKLSAgYW5kIGdjYywgd2l0aCAtTzMpCi0gIAotICBpbnQgbWFpbigpIHsKLSAgICBjaGFyKiBob3N0bmFtZT1zdHJkdXAoIlsiKTsKLSAgICBzaXplX3QgaGxlbiA9IHN0cmxlbihob3N0bmFtZSk7Ci0gIAotICAgIGhsZW4tPTI7Ci0gICAgaG9zdG5hbWUrKzsKLSAgICBwcmludGYoImNoYXJhY3RlciBpcyAlZFxuIiwraG9zdG5hbWVbaGxlbl0pOwotICAgIGZyZWUoaG9zdG5hbWUtMSk7Ci0gIH0KLSAgCi0gIEkgZm91bmQgdGhpcyB0aHJvdWdoIGZ1enppbmcsIGFuZCBldmVuIGlmIGl0IHNlZW1zIGhhcm1sZXNzLCB0aGUgcHJvcGVyCi0gIHRoaW5nIGlzIHRvIHJldHVybiBlYXJseSB3aXRoIGFuIGVycm9yLgotICAKLSAgQ2xvc2VzICM0Mzg5Ci0KLS0gW1RhdHN1aGlybyBUc3VqaWthd2EgYnJvdWdodCB0aGlzIGNoYW5nZV0KLQotICBuZ3RjcDI6IGNvbXBpbGUgd2l0aCBsYXRlc3Qgbmd0Y3AyICsgbmdodHRwMyBkcmFmdC0yMwotICAKLSAgQ2xvc2VzICM0MzkyCi0KLS0gVEhBTktTLWZpbHRlcjogZGVhbCB3aXRoIG15IHR5cG9zICdKYXQnID0+ICdKYXknCi0KLS0gdHJhdmlzOiB1c2UgZ28gbWFzdGVyCi0gIAotICAuLi4gYXMgdGhlIGJvcmluZ3NzbCBidWlsZHMgbmVlZHMgYSB2ZXJ5IHJlY2VudCB2ZXJzaW9uCi0gIAotICBDby1hdXRob3JlZC1ieTogSmF0IFNhdGlybwotICBDbG9zZXMgIzQzNjEKLQotLSB0b29sX29wZXJhdGU6IHJlbW92ZWQgdW51c2VkIHZhcmlhYmxlICdkb25lJwotICAKLSAgRml4ZXMgd2FybmluZyBkZXRlY3RlZCBieSBQVlMtU3R1ZGlvCi0gIEZpeGVzICM0Mzc0Ci0KLS0gdG9vbF9vcGVyYXRlOiBFeHByZXNzaW9uICdjb25maWctPnJlc3VtZV9mcm9tJyBpcyBhbHdheXMgdHJ1ZQotICAKLSAgRml4ZXMgd2FybmluZyBkZXRlY3RlZCBieSBQVlMtU3R1ZGlvCi0gIEZpeGVzICM0Mzc0Ci0KLS0gdG9vbF9nZXRwYXJhbTogcmVtb3ZlIGR1cGxpY2F0ZSBzd2l0Y2ggY2FzZQotICAKLSAgRml4ZXMgd2FybmluZyBkZXRlY3RlZCBieSBQVlMtU3R1ZGlvCi0gIEZpeGVzICM0Mzc0Ci0KLS0gbGlic3NoMjogcGFydCBvZiBjb25kaXRpb25hbCBleHByZXNzaW9uIGlzIGFsd2F5cyB0cnVlOiAhcmVzdWx0Ci0gIAotICBGaXhlcyB3YXJuaW5nIGRldGVjdGVkIGJ5IFBWUy1TdHVkaW8KLSAgRml4ZXMgIzQzNzQKLQotLSB1cmxhcGk6IEV4cHJlc3Npb24gJ3N0b3JlcCcgaXMgYWx3YXlzIHRydWUKLSAgCi0gIEZpeGVzIHdhcm5pbmcgZGV0ZWN0ZWQgYnkgUFZTLVN0dWRpbwotICBGaXhlcyAjNDM3NAotCi0tIHVybGFwaTogJ3NjaGVtZScgaXMgYWx3YXlzIHRydWUKLSAgCi0gIEZpeGVzIHdhcm5pbmcgZGV0ZWN0ZWQgYnkgUFZTLVN0dWRpbwotICBGaXhlcyAjNDM3NAotCi0tIHVybGFwaTogcGFydCBvZiBjb25kaXRpb25hbCBleHByZXNzaW9uIGlzIGFsd2F5cyB0cnVlOiAocmVsdXJsWzBdID09ICcvJykKLSAgCi0gIEZpeGVzIHdhcm5pbmcgZGV0ZWN0ZWQgYnkgUFZTLVN0dWRpbwotICBGaXhlcyAjNDM3NAotCi0tIHNldG9wdDogc3RvcmUgQ1VSTE9QVF9SVFNQX1NFUlZFUl9DU0VRIGNvcnJlY3RseQotICAKLSAgRml4ZXMgYnVnIGRldGVjdGVkIGJ5IFBWUy1TdHVkaW8KLSAgRml4ZXMgIzQzNzQKLQotLSBtaW1lOiBtYWtlIEN1cmxfbWltZV9kdXBwYXJ0KCkgYXNzZXJ0IGlmIGNhbGxlZCB3aXRob3V0IHZhbGlkIGRzdAotICAKLSAgRml4ZXMgd2FybmluZyBkZXRlY3RlZCBieSBQVlMtU3R1ZGlvCi0gIEZpeGVzICM0Mzc0Ci0KLS0gaHR0cF9wcm94eTogcGFydCBvZiBjb25kaXRpb25hbCBleHByZXNzaW9uIGlzIGFsd2F5cyB0cnVlOiAhZXJyb3IKLSAgCi0gIEZpeGVzIHdhcm5pbmcgZGV0ZWN0ZWQgYnkgUFZTLVN0dWRpbwotICBGaXhlcyAjNDM3NAotCi0tIGltYXA6IG1lcmdlZCB0d28gY2FzZS1icmFuY2hlcyBwZXJmb3JtaW5nIHRoZSBzYW1lIGFjdGlvbgotICAKLSAgRml4ZXMgd2FybmluZyBkZXRlY3RlZCBieSBQVlMtU3R1ZGlvCi0gIEZpeGVzICM0Mzc0Ci0KLS0gbXVsdGk6IHZhbHVlICcyTCcgaXMgYXNzaWduZWQgdG8gYSBib29sZWFuCi0gIAotICBGaXhlcyB3YXJuaW5nIGRldGVjdGVkIGJ5IFBWUy1TdHVkaW8KLSAgRml4ZXMgIzQzNzQKLQotLSBlYXN5OiBwYXJ0IG9mIGNvbmRpdGlvbmFsIGV4cHJlc3Npb24gaXMgYWx3YXlzIHRydWU6ICFyZXN1bHQKLSAgCi0gIEZpeGVzIHdhcm5pbmcgZGV0ZWN0ZWQgYnkgUFZTLVN0dWRpbwotICBGaXhlcyAjNDM3NAotCi0tIG5ldHJjOiBwYXJ0IG9mIGNvbmRpdGlvbmFsIGV4cHJlc3Npb24gaXMgYWx3YXlzIHRydWU6ICFkb25lCi0gIAotICBGaXhlcyB3YXJuaW5nIGRldGVjdGVkIGJ5IFBWUy1TdHVkaW8KLSAgRml4ZXMgIzQzNzQKLQotLSB2ZXJzaW9uOiBFeHByZXNzaW9uICdsZWZ0ID4gMScgaXMgYWx3YXlzIHRydWUKLSAgCi0gIEZpeGVzIHdhcm5pbmcgZGV0ZWN0ZWQgYnkgUFZTLVN0dWRpbwotICBGaXhlcyAjNDM3NAotCi0tIHVybDogcmVtb3ZlIGRlYWQgY29kZQotICAKLSAgRml4ZXMgd2FybmluZyBkZXRlY3RlZCBieSBQVlMtU3R1ZGlvCi0gIEZpeGVzICM0Mzc0Ci0KLS0gdXJsOiBwYXJ0IG9mIGV4cHJlc3Npb24gaXMgYWx3YXlzIHRydWU6IChidW5kbGUtPm11bHRpdXNlID09IDApCi0gIAotICBGaXhlcyB3YXJuaW5nIGRldGVjdGVkIGJ5IFBWUy1TdHVkaW8KLSAgRml4ZXMgIzQzNzQKLQotLSBmdHA6IHRoZSBjb25kaXRpb25hbCBleHByZXNzaW9uIGlzIGFsd2F5cyB0cnVlCi0gIAotICAuLi4gYm90aCAhcmVzdWx0IGFuZCAoZnRwLT50cmFuc2ZlciAhPSBGVFBUUkFOU0ZFUl9CT0RZKSEKLSAgCi0gIEZpeGVzIHdhcm5pbmcgZGV0ZWN0ZWQgYnkgUFZTLVN0dWRpbwotICBGaXhlcyAjNDM3NAotCi0tIGZ0cDogRXhwcmVzc2lvbiAnZnRwYy0+d2FpdF9kYXRhX2Nvbm4nIGlzIGFsd2F5cyBmYWxzZQotICAKLSAgRml4ZXMgd2FybmluZyBkZXRlY3RlZCBieSBQVlMtU3R1ZGlvCi0gIEZpeGVzICM0Mzc0Ci0KLS0gZnRwOiBFeHByZXNzaW9uICdmdHBjLT53YWl0X2RhdGFfY29ubicgaXMgYWx3YXlzIHRydWUKLSAgCi0gIEZpeGVzIHdhcm5pbmcgZGV0ZWN0ZWQgYnkgUFZTLVN0dWRpbwotICBGaXhlcyAjNDM3NAotCi0tIGZ0cDogcGFydCBvZiBjb25kaXRpb25hbCBleHByZXNzaW9uIGlzIGFsd2F5cyB0cnVlOiAhcmVzdWx0Ci0gIAotICBGaXhlcyB3YXJuaW5nIGRldGVjdGVkIGJ5IFBWUy1TdHVkaW8KLSAgRml4ZXMgIzQzNzQKLQotLSBodHRwOiBmaXggRXhwcmVzc2lvbiAnaHR0cC0+cG9zdGRhdGEnIGlzIGFsd2F5cyBmYWxzZQotICAKLSAgRml4ZXMgd2FybmluZyBkZXRlY3RlZCBieSBQVlMtU3R1ZGlvCi0gIEZpeGVzICM0Mzc0Ci0gIFJlcG9ydGVkLWJ5OiBWYWxlcmlpIFphcG9kb3ZuaWtvdgotCi0tIFtOaWFsbCBPJ1JlaWxseSBicm91Z2h0IHRoaXMgY2hhbmdlXQotCi0gIGRvaDogYXZvaWQgdHJ1bmNhdGluZyBETlMgUVRZUEUgdG8gbG93ZXIgb2N0ZXQKLSAgCi0gIENsb3NlcyAjNDM4MQotCi0tIFtKZW5zIEZpbmtoYWV1c2VyIGJyb3VnaHQgdGhpcyBjaGFuZ2VdCi0KLSAgdXJsYXBpOiBDVVJMVV9OT19BVVRIT1JJVFkgYWxsb3dzIGVtcHR5IGF1dGhvcml0eS9ob3N0IHBhcnQKLSAgCi0gIENVUkxVX05PX0FVVEhPUklUWSBpcyBpbnRlbmRlZCBmb3IgdXNlIHdpdGggdW5rbm93biBzY2hlbWVzIChpLmUuIG5vdAotICAiZmlsZTovLy8iKSB0byBvdmVycmlkZSBjVVJMJ3MgZGVmYXVsdCBkZW1hbmQgdGhhdCBhbiBhdXRob3JpdHkgZXhpc3RzLgotICAKLSAgQ2xvc2VzICM0MzQ5Ci0KLS0gdmVyc2lvbjogbmV4dCByZWxlYXNlIHdpbGwgYmUgNy42Ny4wCi0KLS0gUkVMRUFTRS1OT1RFUzogc3luY2VkCi0KLS0gdXJsOiBvbmx5IHJldXNlIFRMUyBjb25uZWN0aW9ucyB3aXRoIG1hdGNoaW5nIHBpbm5pbmcKLSAgCi0gIElmIHRoZSByZXF1ZXN0cyBoYXZlIGRpZmZlcmVudCBDVVJMT1BUX1BJTk5FRFBVQkxJQ0tFWSBzdHJpbmdzIHNldCwgdGhlCi0gIGNvbm5lY3Rpb24gc2hvdWxkIG5vdCBiZSByZXVzZWQuCi0gIAotICBCdWc6IGh0dHBzOi8vY3VybC5oYXh4LnNlL21haWwvbGliLTIwMTktMDkvMDA2MS5odG1sCi0gIFJlcG9ydGVkLWJ5OiBTZWJhc3RpYW4gSGFnbHVuZAotICAKLSAgQ2xvc2VzICM0MzQ3Ci0KLS0gUkVBRE1FOiBhZGQgT1NTLUZ1enogYmFkZ2UgW3NraXAgY2ldCi0gIAotICBDbG9zZXMgIzQzODAKLQotTWljaGFlbCBLYXVmbWFubiAoMTggU2VwIDIwMTkpCi0tIGh0dHA6IG1lcmdlIHR3byAiY2FzZSIgc3RhdGVtZW50cwotCi1EYW5pZWwgU3RlbmJlcmcgKDE4IFNlcCAyMDE5KQotLSBbWmVuanUgYnJvdWdodCB0aGlzIGNoYW5nZV0KLQotICBGVFA6IHJlbW92ZSB0cmFpbGluZyBzbGFzaCBmcm9tIHBhdGggZm9yIExJU1QvTUxTRAotICAKLSAgQ2xvc2VzICM0MzQ4Ci0KLS0gbWltZTogd2hlbiBkaXNhYmxlZCwgYXZvaWQgQzk5IG1hY3JvCi0gIAotICBDbG9zZXMgIzQzNjgKLQotLSB1cmw6IGNsZWFudXAgZGFuZ2xpbmcgRE9IIHJlcXVlc3QgaGVhZGVycyB0b28KLSAgCi0gIEZvbGxvdy11cCB0byA5YmM0NGZmNjRkOTA4MQotICAKLSAgQ3JlZGl0IHRvIE9TUy1GdXp6Ci0gIEJ1ZzogaHR0cHM6Ly9jcmJ1Zy5jb20vb3NzLWZ1enovMTcyNjkKLSAgCi0gIENsb3NlcyAjNDM3MgotCi0tIFtDaHJpc3RvcGggTS4gQmVja2VyIGJyb3VnaHQgdGhpcyBjaGFuZ2VdCi0KLSAgaHR0cDI6IHJlbGF4IHZlcmlmaWNhdGlvbiBvZiA6YXV0aG9yaXR5IGluIHB1c2ggcHJvbWlzZSByZXF1ZXN0cwotICAKLSAgSWYgdGhlIDphdXRob3JpdHkgcHNldWRvIGhlYWRlciBmaWVsZCBkb2Vzbid0IGNvbnRhaW4gYW4gZXhwbGljaXQgcG9ydCwKLSAgd2UgYXNzdW1lIGl0IGlzIHZhbGlkIGZvciB0aGUgZGVmYXVsdCBwb3J0LCBpbnN0ZWFkIG9mIHJlamVjdGluZyB0aGUKLSAgcmVxdWVzdCBmb3IgYWxsIHBvcnRzLgotICAKLSAgUmVmOiBodHRwczovL2N1cmwuaGF4eC5zZS9tYWlsL2xpYi0yMDE5LTA5LzAwNDEuaHRtbAotICAKLSAgQ2xvc2VzICM0MzY1Ci0KLS0gZG9oOiBjbGVhbiB1cCBkYW5nbGluZyBET0ggaGFuZGxlcyBhbmQgbWVtb3J5IG9uIGVhc3kgY2xvc2UKLSAgCi0gIElmIHlvdSBzZXQgdGhlIHNhbWUgVVJMIGZvciB0YXJnZXQgYXMgZm9yIERvSCAoYW5kIGl0IGlzbid0IGEgRG9ICi0gIHNlcnZlciksIGxpa2UgImh0dHBzOi8vZXhhbXBsZS5jb20iIGluIGJvdGgsIHRoZSBlYXN5IGhhbmRsZXMgdXNlZCBmb3IKLSAgdGhlIERvSCByZXF1ZXN0cyBjb3VsZCBiZSBsZWZ0ICJkYW5nbGluZyIgYW5kIGVuZCB1cCBub3QgZ2V0dGluZyBmcmVlZC4KLSAgCi0gIFJlcG9ydGVkLWJ5OiBQYXVsIERyZWlrCi0gIENsb3NlcyAjNDM2NgotCi0tIHVuaXQxNjU1OiBtYWtlIGl0IEM5MCBjb21wbGlhbnQKLSAgCi0gIFVuY2xlYXIgd2h5IHRoaXMgd2FzIG5vdCBkZXRlY3RlZCBpbiB0aGUgQ0kuCi0gIAotICBGb2xsb3ctdXAgdG8gYjc2NjYwMjcyOTZhCi0KLS0gc21iOiBjaGVjayBmb3IgZnVsbCBzaXplIG1lc3NhZ2UgYmVmb3JlIHJlYWRpbmcgbWVzc2FnZSBkZXRhaWxzCi0gIAotICBUbyBhdm9pZCByZWFkaW5nIG9mIHVuaW5pdGlhbGl6ZWQgZGF0YS4KLSAgCi0gIEFzc2lzdGVkLWJ5OiBNYXggRHltb25kCi0gIEJ1ZzogaHR0cHM6Ly9jcmJ1Zy5jb20vb3NzLWZ1enovMTY5MDcKLSAgQ2xvc2VzICM0MzYzCi0KLS0gcXVpY2hlOiBwZXJzaXN0IGNvbm5lY3Rpb24gZGV0YWlscwotICAKLSAgLi4uIGxpa2Ugd2UgZG8gZm9yIG90aGVyIHByb3RvY29scyBhdCBjb25uZWN0IHRpbWUuIFRoaXMgbWFrZXMgImN1cmwgLUkiCi0gIGFuZCBvdGhlciB0aGluZ3Mgd29yay4KLSAgCi0gIFJlcG9ydGVkLWJ5OiBHZW9yZ2UgTGl1Ci0gIEZpeGVzICM0MzU4Ci0gIENsb3NlcyAjNDM2MAotCi0tIG9wZW5zc2w6IGZpeCB3YXJuaW5nIHdpdGggYm9yaW5nc3NsIGFuZCBTU0xfQ1RYX3NldF9taW5fcHJvdG9fdmVyc2lvbgotICAKLSAgRm9sbG93LXVwIHRvIGZmZTM0YjdiNTkKLSAgQ2xvc2VzICM0MzU5Ci0KLS0gW1BhdWwgRHJlaWsgYnJvdWdodCB0aGlzIGNoYW5nZV0KLQotICBkb2g6IGZpeCB1bmRlZmluZWQgYmVoYXZpb3VyIGFuZCBvcGVuIHVwIGZvciBnY2MgYW5kIGNsYW5nIG9wdGltaXphdGlvbgotICAKLSAgVGhlIHVuZGVmaW5lZCBiZWhhdmlvdXIgaXMgYW5ub3lpbmcgd2hlbiBydW5uaW5nIGZ1enppbmcgd2l0aAotICBzYW5pdGl6ZXJzLiBUaGUgY29kZWdlbiBpcyB0aGUgc2FtZSwgYnV0IHRoZSBtZWFuaW5nIGlzIG5vdyBub3QgdXAgZm9yCi0gIGRpc3B1dGUuIFNlZSBodHRwczovL2NwcGluc2lnaHRzLmlvL3MvNTE2YTJmZjQKLSAgCi0gIEJ5IGluY3JlbWVudGluZyB0aGUgcG9pbnRlciBmaXJzdCwgYm90aCBnY2MgYW5kIGNsYW5nIHJlY29nbml6ZSB0aGlzIGFzCi0gIGEgYnN3YXAgYW5kIG9wdGltaXplcyBpdCB0byBhIHNpbmdsZSBpbnN0cnVjdGlvbi4gIFNlZQotICBodHRwczovL2dvZGJvbHQub3JnL3ovOTk0WnB4Ci0gIAotICBDbG9zZXMgIzQzNTAKLQotLSBbUGF1bCBEcmVpayBicm91Z2h0IHRoaXMgY2hhbmdlXQotCi0gIGRvaDogZml4IChoYXJtbGVzcykgYnVmZmVyIG92ZXJydW4KLSAgCi0gIEFkZGVkIHVuaXQgdGVzdCBjYXNlIDE2NTUgdG8gdmVyaWZ5LgotICBDbG9zZSAjNDM1MgotICAKLSAgdGhlIGNvZGUgY29ycmVjdGx5IGZpbmRzIHRoZSBmbGF3cyBpbiB0aGUgb2xkIGNvZGUsCi0gIGlmIG9uZSB0ZW1wb3JhcmlseSByZXN0b3JlcyBkb2guYyB0byB0aGUgb2xkIHZlcnNpb24uCi0KLUFsZXNzYW5kcm8gR2hlZGluaSAoMTUgU2VwIDIwMTkpCi0tIGRvY3M6IHJlbW92ZSB0cmFpbGluZyAnOicgZnJvbSBzZWN0aW9uIG5hbWVzIGluIENVUkxPUFRfVFJBSUxFUiogbWFuCi0KLS0gZG9jczogZml4IHR5cG8gaW4gQ1VSTE9QVF9IVFRQX1ZFUlNJT04gbWFuCi0KLUdpdEh1YiAoMTQgU2VwIDIwMTkpCi0tIFtEYW5pZWwgU3RlbmJlcmcgYnJvdWdodCB0aGlzIGNoYW5nZV0KLQotICBDSTogaW5pbnRpYWwgZ2l0aHViIGFjdGlvbiBqb2IKLSAgCi0gIEZpcnN0IHNob3QgYXQgYSBDSSBidWlsZCBvbiBnaXRodWIgYWN0aW9ucwotCi1EYW5pZWwgU3RlbmJlcmcgKDEzIFNlcCAyMDE5KQotLSBhcHB2ZXlvcjogYWRkIGEgd2luYnVpbGQKLSAgCi0gIEFzc2lzdGVkLWJ5OiBNYXJjZWwgUmFhZAotICBBc3Npc3RlZC1ieTogSmF5IFNhdGlybwotICAKLSAgQ2xvc2VzICM0MzI0Ci0KLS0gRlRQOiBhbGxvdyAicnViYmlzaCIgcHJlcGVuZGVkIHRvIHRoZSBTSVpFIHJlc3BvbnNlCi0gIAotICBUaGlzIGlzIGEgcHJvdG9jb2wgdmlvbGF0aW9uIGJ1dCBhcHBhcmVudGx5IHRoZXJlIGFyZSBsZWdhY3kgcHJvcHJpZXRhcnkKLSAgc2VydmVycyBkb2luZyB0aGlzLgotICAKLSAgQWRkZWQgdGVzdCAzMzYgYW5kIDMzNyB0byB2ZXJpZnkuCi0gIAotICBSZXBvcnRlZC1ieTogUGhpbGlwcGUgTWFyZ3VpbmF1ZAotICBDbG9zZXMgIzQzMzkKLQotLSBbWmVuanUgYnJvdWdodCB0aGlzIGNoYW5nZV0KLQotICBGVFA6IHNraXAgQ1dEIHRvIGVudHJ5IGRpciB3aGVuIHRhcmdldCBpcyBhYnNvbHV0ZQotICAKLSAgQ2xvc2VzICM0MzMyCi0KLUthbWlsIER1ZGthICgxMyBTZXAgMjAxOSkKLS0gY3VybDogZml4IG1lbW9yeSBsZWFrZWQgYnkgcGFyc2VfbWV0YWxpbmsoKQotICAKLSAgVGhpcyBjb21taXQgZml4ZXMgYSByZWdyZXNzaW9uIGludHJvZHVjZWQgYnkgY3VybC03XzY1XzMtNS1nYjg4OTQwODUwLgotICBEZXRlY3RlZCBieSB0ZXN0cyAyMDA1LCAyMDA4LCAyMDA5LCAyMDEwLCAyMDExLCBhbmQgMjAxMiB3aXRoIHZhbGdyaW5kCi0gIGFuZCBsaWJtZXRhbGluayBlbmFibGVkLgotICAKLSAgQ2xvc2VzICM0MzI2Ci0KLURhbmllbCBTdGVuYmVyZyAoMTMgU2VwIDIwMTkpCi0tIHBhcnNlZGF0ZTogc3RpbGwgcHJvdmlkZSB0aGUgbmFtZSBhcnJheXMgd2hlbiBkaXNhYmxlZAotICAKLSAgSWYgRklMRSBvciBGVFAgYXJlIGVuYWJsZWQsIHNpbmNlIHRoZXkgYWxzbyB1c2UgdGhlbSEKLSAgCi0gIFJlcG9ydGVkLWJ5OiBSb2xhbmQgSGllYmVyCi0gIEZpeGVzICM0MzI1Ci0gIENsb3NlcyAjNDM0MwotCi0tIFtHaWxsZXMgVm9sbGFudCBicm91Z2h0IHRoaXMgY2hhbmdlXQotCi0gIGN1cmw6ZmlsZTJzdHJpbmc6IGxvYWQgbGFyZ2UgZmlsZXMgbXVjaCBmYXN0ZXIKLSAgCi0gIC4uLiBieSB1c2luZyBhIG1vcmUgZWZmaWNpZW50IHJlYWxsb2Mgc2NoZW1lLgotICAKLSAgQnVnOiBodHRwczovL2N1cmwuaGF4eC5zZS9tYWlsL2xpYi0yMDE5LTA5LzAwNDUuaHRtbAotICBDbG9zZXMgIzQzMzYKLQotLSBvcGVuc3NsOiBjbG9zZV9ub3RpZnkgb24gdGhlIEZUUCBkYXRhIGNvbm5lY3Rpb24gZG9lc24ndCBtZWFuIGNsb3N1cmUKLSAgCi0gIEZvciBGVFBTIHRyYW5zZmVycywgY3VybCBnZXRzIGNsb3NlX25vdGlmeSBvbiB0aGUgZGF0YSBjb25uZWN0aW9uCi0gIHdpdGhvdXQgdGhhdCBiZWluZyBhIHNpZ25hbCB0byBjbG9zZSB0aGUgY29udHJvbCBjb25uZWN0aW9uIQotICAKLSAgUmVncmVzc2lvbiBzaW5jZSAzZjVkYTRlNTlhNTU2ZmMgKDcuNjUuMCkKLSAgCi0gIFJlcG9ydGVkLWJ5OiBaZW5qdSBvbiBnaXRodWIKLSAgUmV2aWV3ZWQtYnk6IEpheSBTYXRpcm8KLSAgRml4ZXMgIzQzMjkKLSAgQ2xvc2VzICM0MzQwCi0KLS0gW0ppbW15IEdhdXNzZW4gYnJvdWdodCB0aGlzIGNoYW5nZV0KLQotICBkb2NzL0hUVFAzOiBmaXggYC0td2l0aC1zc2xgIG5ndGNwMiBjb25maWd1cmUgZmxhZwotICAKLSAgQ2xvc2VzICM0MzM4Ci0KLS0gUkVMRUFTRS1OT1RFUzogc3luY2VkCi0KLS0gY3VybHZlcjogYnVtcCB0byA3LjY2LjEKLQotLSBbWmVuanUgYnJvdWdodCB0aGlzIGNoYW5nZV0KLQotICBzZXRvcHQ6IG1ha2UgaXQgZWFzaWVyIHRvIGFkZCBuZXcgZW51bSB2YWx1ZXMKLSAgCi0gIC4uLiBieSB1c2luZyB0aGUgKl9MQVNUIGRlZmluZSBuYW1lcyBiZXR0ZXIuCi0gIAotICBDbG9zZXMgIzQzMjEKLQotLSBhc3luLXRocmVhZDogcy9BRl9MT0NBTC9BRl9VTklYIGZvciBTb2xhcmlzCi0gIAotICBSZXBvcnRlZC1ieTogRGFnb2JlcnQgTWljaGVsc2VuCi0gIEZpeGVzICM0MzI4Ci0gIENsb3NlcyAjNDMzMwotCi0tIFtCZXJuaGFyZCBXYWxsZSBicm91Z2h0IHRoaXMgY2hhbmdlXQotCi0gIHdpbmJ1aWxkL01ha2VmaWxlQnVpbGQudmM6IEFkZCB2c3NoCi0gIAotICBXaXRob3V0IHRoYXQgbW9kaWZpY2F0aW9uLCB0aGUgV2luZG93cyBidWlsZCB1c2luZyB0aGUgbWFrZWZpbGVzIGRvZXNuJ3QKLSAgd29yay4KLSAgCi0gIFNpZ25lZC1vZmYtYnk6IEJlcm5oYXJkIFdhbGxlIDxiZXJuaGFyZC53YWxsZUBwb3N0ZW8uZXU+Ci0gIAotICBGaXhlcyAjNDMyMgotICBDbG9zZXMgIzQzMjMKLQotQmVybmhhcmQgV2FsbGUgKDExIFNlcCAyMDE5KQotLSB3aW5idWlsZC9NYWtlZmlsZUJ1aWxkLnZjOiBGaXggbGluZSBlbmRpbmdzCi0gIAotICBUaGUgZmlsZSBoYWQgbWl4ZWQgbGluZSBlbmRpbmdzLgotICAKLSAgU2lnbmVkLW9mZi1ieTogQmVybmhhcmQgV2FsbGUgPGJlcm5oYXJkLndhbGxlQHBvc3Rlby5ldT4KLQotSmF5IFNhdGlybyAoMTEgU2VwIDIwMTkpCi0tIGxkYXA6IFN0b3AgdXNpbmcgd2lkZSBjaGFyIHZlcnNpb24gb2YgbGRhcHBfZXJyMnN0cmluZwotICAKLSAgRGVzcGl0ZSBsZGFwcF9lcnIyc3RyaW5nIGJlaW5nIGRvY3VtZW50ZWQgYnkgTVMgYXMgcmV0dXJuaW5nIGEKLSAgUENIQVIgKGNoYXIgKiksIHdoZW4gVU5JQ09ERSBpdCBpcyBtYXBwZWQgdG8gbGRhcF9lcnIyc3RyaW5nVyBhbmQKLSAgcmV0dXJucyBQV0NIQVIgKHdjaGFyX3QgKikuCi0gIAotICBXZSBoYXZlIGxvdHMgb2YgY29kZSB0aGF0IGV4cGVjdHMgbGRhcF9lcnIyc3RyaW5nIHRvIHJldHVybiBjaGFyICosCi0gIG1vc3Qgb2YgaXQgZmFpbGYgdXNlZCBsaWtlIHRoaXM6Ci0gIAotICBmYWlsZihkYXRhLCAiTERBUCBsb2NhbDogU29tZSBlcnJvcjogJXMiLCBsZGFwX2VycjJzdHJpbmcocmMpKTsKLSAgCi0gIENsb3NlcyBodHRwczovL2dpdGh1Yi5jb20vY3VybC9jdXJsL3B1bGwvNDI3MgotCi1WZXJzaW9uIDcuNjYuMCAoMTAgU2VwIDIwMTkpCi0KLURhbmllbCBTdGVuYmVyZyAoMTAgU2VwIDIwMTkpCi0tIFJFTEVBU0UtTk9URVM6IGN1cmwgNy42Ni4wCi0KLS0gVEhBTktTOiBmcm9tIHRoZSA3LjY2LjAgcmVsZWFzZQotCi0tIGN1cmw6IG1ha2Ugc3VyZSB0aGUgcGFyYWxsZWwgdHJhbnNmZXJzIGRvIHRoZW0gYWxsCi0gIAotICBUaGUgbG9naWMgY291bGQgZXJyb25lb3VzbHkgYnJlYWsgdGhlIGxvb3AgdG9vIGVhcmx5IGJlZm9yZSBhbGwKLSAgdHJhbnNmZXJzIGhhZCBiZWVuIHRyYW5zZmVycmVkLgotICAKLSAgUmVwb3J0ZWQtYnk6IFRvbSB2YW4gZGVyIFdvZXJkdAotICBGaXhlcyAjNDMxNgotICBDbG9zZXMgIzQzMTcKLQotLSB1cmxhcGk6IG9uZSBjb2xvbiBpcyBlbm91Z2ggZm9yIHRoZSBzdHJzcG4oKSBpbnB1dCAodHlwbykKLQotLSB1cmxhcGk6IHZlcmlmeSB0aGUgSVB2NiBudW1lcmljYWwgYWRkcmVzcwotICAKLSAgSXQgbmVlZHMgdG8gcGFyc2UgY29ycmVjdGx5LiBPdGhlcndpc2UgaXQgY291bGQgYmUgdHJpY2tlZCBpbnRvIGxldHRpbmcKLSAgdGhyb3VnaCBhLWYgdXNpbmcgaG9zdCBuYW1lcyB0aGF0IGxpYmN1cmwgd291bGQgdGhlbiByZXNvbHZlLiBMaWtlCi0gICdbYWIuYmVdJy4KLSAgCi0gIFJlcG9ydGVkLWJ5OiBUaG9tYXMgVmVnYXMKLSAgQ2xvc2VzICM0MzE1Ci0KLS0gW0Nsw6ltZW50IE5vdGluIGJyb3VnaHQgdGhpcyBjaGFuZ2VdCi0KLSAgb3BlbnNzbDogdXNlIFNTTF9DVFhfc2V0XzxtaW58bWF4Pl9wcm90b192ZXJzaW9uKCkgd2hlbiBhdmFpbGFibGUKLSAgCi0gIE9wZW5TU0wgMS4xLjAgYWRkcyBTU0xfQ1RYX3NldF88bWlufG1heD5fcHJvdG9fdmVyc2lvbigpIHRoYXQgd2Ugbm93IHVzZQotICB3aGVuIGF2YWlsYWJsZS4gIEV4aXN0aW5nIGNvZGUgaXMgcHJlc2VydmVkIGZvciBvbGRlciB2ZXJzaW9ucyBvZgotICBPcGVuU1NMLgotICAKLSAgQ2xvc2VzICM0MzA0Ci0KLS0gW0Nsw6ltZW50IE5vdGluIGJyb3VnaHQgdGhpcyBjaGFuZ2VdCi0KLSAgb3BlbnNzbDogaW5kZW50LCByZS1vcmdhbml6ZSBhbmQgYWRkIGNvbW1lbnRzCi0KLS0gW21pZ3VlbGpjcnVtIGJyb3VnaHQgdGhpcyBjaGFuZ2VdCi0KLSAgc3NwaTogZml4IG1lbW9yeSBsZWFrcwotICAKLSAgQ2xvc2VzICM0Mjk5Ci0KLS0gdHJhdmlzOiBkaXNhYmxlIG5ndGNwMiBidWlsZHMgKGFnYWluKQotCi0tIEN1cmxfZmlsbHJlYWRidWZmZXI6IGF2b2lkIGRvdWJsZS1mcmVlIHRyYWlsZXIgYnVmIG9uIGVycm9yCi0gIAotICBSZXZpZXdlZC1ieTogSmF5IFNhdGlybwotICBSZXBvcnRlZC1ieTogVGhvbWFzIFZlZ2FzCi0gIAotICBDbG9zZXMgIzQzMDcKLQotLSB0b29sX3NldG9wdDogaGFuZGxlIGEgbGliY3VybCBidWlsZCB3aXRob3V0IG5ldHJjIHN1cHBvcnQKLSAgCi0gIFJlcG9ydGVkLWJ5OiBjb2Rlc25pZmZlcjEzIG9uIGdpdGh1YgotICBGaXhlcyAjNDMwMgotICBDbG9zZXMgIzQzMDUKLQotLSBzZWN1cml0eTpyZWFkX2RhdGEgZml4IGJhZCByZWFsbG9jKCkKLSAgCi0gIC4uLiB0aGF0IGNvdWxkIGVuZCB1cCBhIGRvdWJsZS1mcmVlCi0gIAotICBDVkUtMjAxOS01NDgxCi0gIEJ1ZzogaHR0cHM6Ly9jdXJsLmhheHguc2UvZG9jcy9DVkUtMjAxOS01NDgxLmh0bWwKLQotLSBbVGhvbWFzIFZlZ2FzIGJyb3VnaHQgdGhpcyBjaGFuZ2VdCi0KLSAgdGZ0cDogQWxsb2MgbWF4aW11bSBibGtzaXplLCBhbmQgdXNlIGRlZmF1bHQgdW5sZXNzIE9BQ0sgaXMgcmVjZWl2ZWQKLSAgCi0gIEZpeGVzIHBvdGVudGlhbCBidWZmZXIgb3ZlcmZsb3cgZnJvbSAncmVjdmZyb20oKScsIHNob3VsZCB0aGUgc2VydmVyCi0gIHJldHVybiBhbiBPQUNLIHdpdGhvdXQgYmxrc2l6ZS4KLSAgCi0gIEJ1ZzogaHR0cHM6Ly9jdXJsLmhheHguc2UvZG9jcy9DVkUtMjAxOS01NDgyLmh0bWwKLSAgQ1ZFLTIwMTktNTQ4MgotCi0tIFtUaG9tYXMgVmVnYXMgYnJvdWdodCB0aGlzIGNoYW5nZV0KLQotICB0ZnRwOiByZXR1cm4gZXJyb3Igd2hlbiBwYWNrZXQgaXMgdG9vIHNtYWxsIGZvciBvcHRpb25zCi0KLS0gS05PV05fQlVHUy9UT0RPOiBjbGVhbnVwIGFuZCByZW1vdmUgb3V0ZGF0ZWQgaXNzdWVzCi0KLS0gUkVMRUFTRS1OT1RFUzogc3luY2VkCi0KLS0gbmV0cmM6IGZyZWUgJ2hvbWUnIG9uIGVycm9yCi0gIAotICBGb2xsb3ctdXAgdG8gZjljN2JhOTA5NmVjMgotICAKLSAgQ292ZXJpdHkgQ0lEIDE0NTM0NzQKLSAgCi0gIENsb3NlcyAjNDI5MQotCi0tIHVybGRhdGE6IGF2b2lkICdnZW5lcmljJywgdXNlIGRlZGljYXRlZCBwb2ludGVycwotICAKLSAgRm9yIHRoZSAncHJvdG8nIHVuaW9uIHdpdGhpbiB0aGUgY29ubmVjdGRhdGEgc3RydWN0LgotICAKLSAgQ2xvc2VzICM0MjkwCi0KLS0gY2xlYW51cDogbW92ZSBmdW5jdGlvbnMgb3V0IG9mIHVybC5jIGFuZCBtYWtlIHRoZW0gc3RhdGljCi0gIAotICBDbG9zZXMgIzQyODkKLQotLSBzbXRwOiBjaGVjayBmb3IgYW5kIGJhaWwgb3V0IG9uIHRvbyBzaG9ydCBFSExPIHJlc3BvbnNlCi0gIAotICBPdGhlcndpc2UsIGEgdGhyZWUgYnl0ZSByZXNwb25zZSB3b3VsZCBtYWtlIHRoZSBzbXRwX3N0YXRlX2VobG9fcmVzcCgpCi0gIGZ1bmN0aW9uIG1pc2JlaGF2ZS4KLSAgCi0gIENyZWRpdCB0byBPU1MtRnV6egotICBCdWc6IGh0dHBzOi8vY3JidWcuY29tL29zcy1mdXp6LzE2OTE4Ci0gIAotICBBc3Npc3RlZC1ieTogTWF4IER5bW9uZAotICAKLSAgQ2xvc2VzICM0Mjg3Ci0KLS0gc21iOiBpbml0ICptc2cgdG8gTlVMTCBpbiBzbWJfc2VuZF9hbmRfcmVjdigpCi0gIAotICAuLi4gaXQgbWlnaHQgb3RoZXJ3aXNlIHJldHVybiBPSyBmcm9tIHRoaXMgZnVuY3Rpb24gbGVhdmluZyB0aGF0IHBvaW50ZXIKLSAgdW5pbml0aWFsaXplZC4KLSAgCi0gIEJ1ZzogaHR0cHM6Ly9jcmJ1Zy5jb20vb3NzLWZ1enovMTY5MDcKLSAgCi0gIENsb3NlcyAjNDI4NgotCi0tIFJPQURNQVA6IHVwZGF0ZWQgYWZ0ZXIgcmVjZW50IHVzZXIgcG9sbAotICAKLSAgSW4gcm91Z2ggcHJpbyBvcmRlcgotCi0tIFRIQU5LUzogcmVtb3ZlIGR1cGxpY2F0ZQotCi0tIEN1cmxfYWRkcjJzdHJpbmc6IHRha2UgYW4gYWRkcmxlbiBhcmd1bWVudCB0b28KLSAgCi0gIFRoaXMgYWxsb3dzIHRoZSBmdW5jdGlvbiB0byBmaWd1cmUgb3V0IGlmIGEgdW5peCBkb21haW4gc29ja2V0IGhhcyBhCi0gIGZpbGUgbmFtZSBvciBub3QgYXNzb2NpYXRlZCB3aXRoIGl0ISBXaGVuIGEgc29ja2V0IGlzIGNyZWF0ZWQgd2l0aAotICBzb2NrZXRwYWlyKCksIGFzIGRvbmUgaW4gdGhlIGZ1enplciB0ZXN0aW5nLCB0aGUgcGF0aCBzdHJ1Y3QgbWVtYmVyIGlzCi0gIHVuaW5pdGlhbGl6ZWQgYW5kIG11c3Qgbm90IGJlIGFjY2Vzc2VkLgotICAKLSAgQnVnOiBodHRwczovL2NyYnVnLmNvbS9vc3MtZnV6ei8xNjY5OQotICAKLSAgQ2xvc2VzICM0MjgzCi0KLS0gW1JvbGYgRWlrZSBCZWVyIGJyb3VnaHQgdGhpcyBjaGFuZ2VdCi0KLSAgQ01ha2U6IHJlbW92ZSBuZWVkbGVzcyBuZXdsaW5lcyBhdCBlbmQgb2YgZ3NzIHZhcmlhYmxlcwotCi0tIFtSb2xmIEVpa2UgQmVlciBicm91Z2h0IHRoaXMgY2hhbmdlXQotCi0gIENJOiByZW1vdmUgZHVwbGljYXRlIGNvbmZpZ3VyZSBmbGFnIGZvciBMR1RNLmNvbQotCi0tIFtSb2xmIEVpa2UgQmVlciBicm91Z2h0IHRoaXMgY2hhbmdlXQotCi0gIENNYWtlOiB1c2UgcGxhdGZvcm0gZGVwZW5kZW50IG5hbWUgZm9yIGRsb3BlbigpIGxpYnJhcnkKLSAgCi0gIENsb3NlcyAjNDI3OQotCi0tIHF1aWNoZTogZXhwaXJlIHdoZW4gcG9sbCByZXR1cm5lZCBkYXRhCi0gIAotICAuLi4gdG8gbWFrZSBzdXJlIHdlIGNvbnRpbnVlIGRyYWluaW5nIHRoZSBxdWV1ZSB1bnRpbCBlbXB0eQotICAKLSAgQ2xvc2VzICM0MjgxCi0KLS0gcXVpY2hlOiBkZWNyZWFzZSBhdmFpbGFibGUgYnVmZmVyIHNpemUsIGRvbid0IGFzc2lnbiBpdCEKLSAgCi0gIEZvdW5kLWJ5OiBKZXJlbXkgTGFpbsOpCi0KLS0gUkVMRUFTRS1OT1RFUzogc3luY2VkCi0KLS0gW0t5b2hlaSBLYWRvdGEgYnJvdWdodCB0aGlzIGNoYW5nZV0KLQotICBjdXJsOiBmaXggaW5jbHVkZSBjb25kaXRpb25zCi0KLS0gW0t5b2hlaSBLYWRvdGEgYnJvdWdodCB0aGlzIGNoYW5nZV0KLQotICBwbGFuOTogZml4IGluc3RhbGxhdGlvbiBpbnN0cnVjdGlvbnMKLSAgCi0gIENsb3NlcyAjNDI3NgotCi0tIG5ndGNwMjogb24gaDMgc3RyZWFtIGNsb3NlLCBjYWxsIGV4cGlyZQotICAKLSAgLi4uIHRvIHRyaWdnZXIgYSBuZXcgcmVhZCB0byBkZXRlY3QgdGhlIHN0cmVhbSBjbG9zZSEKLSAgCi0gIENsb3NlcyAjNDI3NQotCi0tIFtUYXRzdWhpcm8gVHN1amlrYXdhIGJyb3VnaHQgdGhpcyBjaGFuZ2VdCi0KLSAgbmd0Y3AyOiBidWlsZCBsYXRlc3Qgbmd0Y3AyIGFuZCBuZ3RjcDJfY3J5cHRvX29wZW5zc2wKLSAgCi0gIENsb3NlcyAjNDI3OAotCi0tIG5ndGNwMjogc2V0IGZsb3cgY29udHJvbCB3aW5kb3cgdG8gc3RyZWFtIGJ1ZmZlciBzaXplCi0gIAotICBDbG9zZXMgIzQyNzQKLQotLSBbQ2hyaXN0b3BoZXIgSGVhZCBicm91Z2h0IHRoaXMgY2hhbmdlXQotCi0gIENVUkxPUFRfSEVBREVSRlVOQ1RJT04uMzogY2xhcmlmeQotICAKLSAgQ2xvc2VzICM0MjczCi0KLS0gQ1VSTElORk8gZG9jczogbWVudGlvbiB0aGF0IGluIHJlZGlyZWN0cyB0aW1lcyBhcmUgYWRkZWQKLSAgCi0gIFN1Z2dlc3RlZC1ieTogQnJhbmRvbiBEb25nCi0gIEZpeGVzICM0MjUwCi0gIENsb3NlcyAjNDI2OQotCi0tIHRyYXZpczogZW5hYmxlIG5ndGNwMiBidWlsZHMgYWdhaW4KLSAgCi0gIFN3aXRjaGVkIHRvIHRoZSBvcGVuc3NsLXF1aWMtZHJhZnQtMjIgb3BlbnNzbCBicmFuY2guCi0gIAotICBDbG9zZXMgIzQyNzEKLQotLSBIVFRQMzogc3dpdGNoZWQgb3BlbnNzbCBicmFuY2ggdG8gdXNlCi0KLS0gW1RhdHN1aGlybyBUc3VqaWthd2EgYnJvdWdodCB0aGlzIGNoYW5nZV0KLQotICBuZ3RjcDI6IEJ1aWxkIHdpdGggbGF0ZXN0IG5ndGNwMiBhbmQgbmd0Y3AyX2NyeXB0b19vcGVuc3NsCi0gIAotICBDbG9zZXMgIzQyNzAKLQotLSBodHRwMjogd2hlbiBtYXJrZWQgZm9yIGNsb3N1cmUgYW5kIHdhbnRlZCB0byBjbG9zZSA9PSBPSwotICAKLSAgSXQgY291bGQgb3RoZXJ3aXNlIHJldHVybiBhbiBlcnJvciBldmVuIHdoZW4gY2xvc2VkIGNvcnJlY3RseSBpZiBHT0FXQVkKLSAgaGFkIGJlZW4gcmVjZWl2ZWQgcHJldmlvdXNseS4KLSAgCi0gIFJlcG9ydGVkLWJ5OiBUb20gdmFuIGRlciBXb2VyZHQKLSAgRml4ZXMgIzQyNjcKLSAgQ2xvc2VzICM0MjY4Ci0KLS0gUkVMRUFTRS1OT1RFUzogc3luY2VkCi0KLS0gYnVpbGQtb3BlbnNzbDogZml4IGJ1aWxkIHdpdGggVmlzdWFsIFN0dWRpbyAyMDE5Ci0gIAotICBSZXZpZXdlZC1ieTogTWFyY2VsIFJhYWQKLSAgQ29udHJpYnV0ZWQtYnk6IG9zYWJjIG9uIGdpdGh1YgotICBGaXhlcyAjNDE4OAotICBDbG9zZXMgIzQyNjYKLQotS2FtaWwgRHVka2EgKDI2IEF1ZyAyMDE5KQotLSB2YXV0aDogcmV0dXJuIENVUkxFX0FVVEhfRVJST1Igb24gZ3NzX2luaXRfc2VjX2NvbnRleHQoKSBmYWlsdXJlCi0gIAotICBUaGlzIGlzIGEgZm9sbG93LXVwIHRvIGh0dHBzOi8vZ2l0aHViLmNvbS9jdXJsL2N1cmwvcHVsbC8zODY0IC4KLSAgCi0gIENsb3NlcyAjNDIyNAotCi1EYW5pZWwgU3RlbmJlcmcgKDI2IEF1ZyAyMDE5KQotLSBLTk9XTl9CVUdTOiBVU0VfVU5JWF9TT0NLRVRTIG9uIFdpbmRvd3MKLSAgCi0gIENsb3NlcyAjNDA0MAotCi0tIHF1aWNoZTogc2VuZCB0aGUgSFRUUCBib2R5IGNvcnJlY3RseSBvbiBjYWxsYmFjayB1cGxvYWRzCi0gIAotICBDbG9zZXMgIzQyNjUKLQotLSB0cmF2aXM6IGRpc2FibGUgbmd0Y3AyIGJ1aWxkcyAodGVtcG9yYXJpbHkpCi0gIAotICBKdXN0IHRvbyBtYW55IEFQSSBjaGFuZ2VzIHJpZ2h0IG5vdwotICAKLSAgQ2xvc2VzICM0MjY0Ci0KLS0gbmd0Y3AyOiBhZGQgc3VwcG9ydCBmb3IgU1NMS0VZTE9HRklMRQotICAKLSAgQ2xvc2VzICM0MjYwCi0KLS0gbmd0Y3AyOiBpbXByb3ZlIGgzIHJlc3BvbnNlIHJlY2VpdmluZwotICAKLSAgQ2xvc2VzICM0MjU5Ci0KLS0gbmd0Y3AyOiB1c2UgbmdodHRwM192ZXJzaW9uKCkKLQotLSBuZ3RjcDI6IHN5bmMgd2l0aCB1cHN0cmVhbSBBUEkgY2hhbmdlcwotICAKLSAgQXNzaXN0ZWQtYnk6IFRhdHN1aGlybyBUc3VqaWthd2EKLQotLSBbS3lsZSBBYnJhbW93aXR6IGJyb3VnaHQgdGhpcyBjaGFuZ2VdCi0KLSAgc2NwOiBmaXggZGlyZWN0b3J5IG5hbWUgbGVuZ3RoIHVzZWQgaW4gbWVtY3B5Ci0gIAotICBGaXggcmVhZCBvZmYgZW5kIG9mIGFycmF5IGR1ZSB0byBiYWQgcG9pbnRlciBtYXRoIGluIGdldHdvcmtpbmdwYXRoIGZvcgotICBTQ1AgaG9tZSBkaXJlY3RvcnkgY2FzZS4KLSAgCi0gIENsb3NlcyAjNDI1OApkaWZmIC0tZ2l0IGEvQ01ha2UvRmluZE5HSFRUUDMuY21ha2UgYi9DTWFrZS9GaW5kTkdIVFRQMy5jbWFrZQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43M2NlOWUxCi0tLSAvZGV2L251bGwKKysrIGIvQ01ha2UvRmluZE5HSFRUUDMuY21ha2UKQEAgLTAsMCArMSw3NiBAQAorIyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorIyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBfICAgXyBfX19fICBfCisjICBQcm9qZWN0ICAgICAgICAgICAgICAgICAgICAgX19ffCB8IHwgfCAgXyBcfCB8CisjICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvIF9ffCB8IHwgfCB8XykgfCB8CisjICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgKF9ffCB8X3wgfCAgXyA8fCB8X19fCisjICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcX19ffFxfX18vfF98IFxfXF9fX19ffAorIworIyBDb3B5cmlnaHQgKEMpIDE5OTggLSAyMDIwLCBEYW5pZWwgU3RlbmJlcmcsIDxkYW5pZWxAaGF4eC5zZT4sIGV0IGFsLgorIworIyBUaGlzIHNvZnR3YXJlIGlzIGxpY2Vuc2VkIGFzIGRlc2NyaWJlZCBpbiB0aGUgZmlsZSBDT1BZSU5HLCB3aGljaAorIyB5b3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYXMgcGFydCBvZiB0aGlzIGRpc3RyaWJ1dGlvbi4gVGhlIHRlcm1zCisjIGFyZSBhbHNvIGF2YWlsYWJsZSBhdCBodHRwczovL2N1cmwuaGF4eC5zZS9kb2NzL2NvcHlyaWdodC5odG1sLgorIworIyBZb3UgbWF5IG9wdCB0byB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsIGRpc3RyaWJ1dGUgYW5kL29yIHNlbGwKKyMgY29waWVzIG9mIHRoZSBTb2Z0d2FyZSwgYW5kIHBlcm1pdCBwZXJzb25zIHRvIHdob20gdGhlIFNvZnR3YXJlIGlzCisjIGZ1cm5pc2hlZCB0byBkbyBzbywgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBDT1BZSU5HIGZpbGUuCisjCisjIFRoaXMgc29mdHdhcmUgaXMgZGlzdHJpYnV0ZWQgb24gYW4gIkFTIElTIiBiYXNpcywgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkKKyMgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC4KKyMKKyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIworCisjWz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Wy5yc3Q6CitGaW5kTkdIVFRQMworLS0tLS0tLS0tLQorCitGaW5kIHRoZSBuZ2h0dHAzIGxpYnJhcnkKKworUmVzdWx0IFZhcmlhYmxlcworXl5eXl5eXl5eXl5eXl5eXgorCitgYE5HSFRUUDNfRk9VTkRgYAorICBTeXN0ZW0gaGFzIG5naHR0cDMKK2BgTkdIVFRQM19JTkNMVURFX0RJUlNgYAorICBUaGUgbmdodHRwMyBpbmNsdWRlIGRpcmVjdG9yaWVzLgorYGBOR0hUVFAzX0xJQlJBUklFU2BgCisgIFRoZSBsaWJyYXJpZXMgbmVlZGVkIHRvIHVzZSBuZ2h0dHAzCitgYE5HSFRUUDNfVkVSU0lPTmBgCisgIHZlcnNpb24gb2YgbmdodHRwMy4KKyNdPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1dCisKK2lmKFVOSVgpCisgIGZpbmRfcGFja2FnZShQa2dDb25maWcgUVVJRVQpCisgIHBrZ19zZWFyY2hfbW9kdWxlKFBDX05HSFRUUDMgbGlibmdodHRwMykKK2VuZGlmKCkKKworZmluZF9wYXRoKE5HSFRUUDNfSU5DTFVERV9ESVIgbmdodHRwMy9uZ2h0dHAzLmgKKyAgSElOVFMKKyAgICAke1BDX05HSFRUUDNfSU5DTFVERURJUn0KKyAgICAke1BDX05HSFRUUDNfSU5DTFVERV9ESVJTfQorKQorCitmaW5kX2xpYnJhcnkoTkdIVFRQM19MSUJSQVJZIE5BTUVTIG5naHR0cDMKKyAgSElOVFMKKyAgICAke1BDX05HSFRUUDNfTElCRElSfQorICAgICR7UENfTkdIVFRQM19MSUJSQVJZX0RJUlN9CispCisKK2lmKFBDX05HSFRUUDNfVkVSU0lPTikKKyAgc2V0KE5HSFRUUDNfVkVSU0lPTiAke1BDX05HSFRUUDNfVkVSU0lPTn0pCitlbmRpZigpCisKK2luY2x1ZGUoRmluZFBhY2thZ2VIYW5kbGVTdGFuZGFyZEFyZ3MpCitmaW5kX3BhY2thZ2VfaGFuZGxlX3N0YW5kYXJkX2FyZ3MoTkdIVFRQMworICBSRVFVSVJFRF9WQVJTCisgICAgTkdIVFRQM19MSUJSQVJZCisgICAgTkdIVFRQM19JTkNMVURFX0RJUgorICBWRVJTSU9OX1ZBUiBOR0hUVFAzX1ZFUlNJT04KKykKKworaWYoTkdIVFRQM19GT1VORCkKKyAgc2V0KE5HSFRUUDNfTElCUkFSSUVTICAgICR7TkdIVFRQM19MSUJSQVJZfSkKKyAgc2V0KE5HSFRUUDNfSU5DTFVERV9ESVJTICR7TkdIVFRQM19JTkNMVURFX0RJUn0pCitlbmRpZigpCisKK21hcmtfYXNfYWR2YW5jZWQoTkdIVFRQM19JTkNMVURFX0RJUlMgTkdIVFRQM19MSUJSQVJJRVMpCmRpZmYgLS1naXQgYS9DTWFrZS9GaW5kTkdUQ1AyLmNtYWtlIGIvQ01ha2UvRmluZE5HVENQMi5jbWFrZQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5hMWVkOGNkCi0tLSAvZGV2L251bGwKKysrIGIvQ01ha2UvRmluZE5HVENQMi5jbWFrZQpAQCAtMCwwICsxLDExMyBAQAorIyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorIyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBfICAgXyBfX19fICBfCisjICBQcm9qZWN0ICAgICAgICAgICAgICAgICAgICAgX19ffCB8IHwgfCAgXyBcfCB8CisjICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvIF9ffCB8IHwgfCB8XykgfCB8CisjICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgKF9ffCB8X3wgfCAgXyA8fCB8X19fCisjICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcX19ffFxfX18vfF98IFxfXF9fX19ffAorIworIyBDb3B5cmlnaHQgKEMpIDE5OTggLSAyMDIwLCBEYW5pZWwgU3RlbmJlcmcsIDxkYW5pZWxAaGF4eC5zZT4sIGV0IGFsLgorIworIyBUaGlzIHNvZnR3YXJlIGlzIGxpY2Vuc2VkIGFzIGRlc2NyaWJlZCBpbiB0aGUgZmlsZSBDT1BZSU5HLCB3aGljaAorIyB5b3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYXMgcGFydCBvZiB0aGlzIGRpc3RyaWJ1dGlvbi4gVGhlIHRlcm1zCisjIGFyZSBhbHNvIGF2YWlsYWJsZSBhdCBodHRwczovL2N1cmwuaGF4eC5zZS9kb2NzL2NvcHlyaWdodC5odG1sLgorIworIyBZb3UgbWF5IG9wdCB0byB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsIGRpc3RyaWJ1dGUgYW5kL29yIHNlbGwKKyMgY29waWVzIG9mIHRoZSBTb2Z0d2FyZSwgYW5kIHBlcm1pdCBwZXJzb25zIHRvIHdob20gdGhlIFNvZnR3YXJlIGlzCisjIGZ1cm5pc2hlZCB0byBkbyBzbywgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBDT1BZSU5HIGZpbGUuCisjCisjIFRoaXMgc29mdHdhcmUgaXMgZGlzdHJpYnV0ZWQgb24gYW4gIkFTIElTIiBiYXNpcywgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkKKyMgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC4KKyMKKyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIworCisjWz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Wy5yc3Q6CitGaW5kTkdUQ1AyCistLS0tLS0tLS0tCisKK0ZpbmQgdGhlIG5ndGNwMiBsaWJyYXJ5CisKK1RoaXMgbW9kdWxlIGFjY2VwdHMgb3B0aW9uYWwgQ09NUE9ORU5UUyB0byBjb250cm9sIHRoZSBjcnlwdG8gbGlicmFyeSAodGhlc2UgYXJlCittdXR1YWxseSBleGNsdXNpdmUpOjoKKworICBPcGVuU1NMOiAgVXNlIGxpYm5ndGNwMl9jcnlwdG9fb3BlbnNzbAorICBHbnVUTFM6ICAgVXNlIGxpYm5ndGNwMl9jcnlwdG9fZ251dGxzCisKK1Jlc3VsdCBWYXJpYWJsZXMKK15eXl5eXl5eXl5eXl5eXl4KKworYGBOR1RDUDJfRk9VTkRgYAorICBTeXN0ZW0gaGFzIG5ndGNwMgorYGBOR1RDUDJfSU5DTFVERV9ESVJTYGAKKyAgVGhlIG5ndGNwMiBpbmNsdWRlIGRpcmVjdG9yaWVzLgorYGBOR1RDUDJfTElCUkFSSUVTYGAKKyAgVGhlIGxpYnJhcmllcyBuZWVkZWQgdG8gdXNlIG5ndGNwMgorYGBOR1RDUDJfVkVSU0lPTmBgCisgIHZlcnNpb24gb2Ygbmd0Y3AyLgorI109PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PV0KKworaWYoVU5JWCkKKyAgZmluZF9wYWNrYWdlKFBrZ0NvbmZpZyBRVUlFVCkKKyAgcGtnX3NlYXJjaF9tb2R1bGUoUENfTkdUQ1AyIGxpYm5ndGNwMikKK2VuZGlmKCkKKworZmluZF9wYXRoKE5HVENQMl9JTkNMVURFX0RJUiBuZ3RjcDIvbmd0Y3AyLmgKKyAgSElOVFMKKyAgICAke1BDX05HVENQMl9JTkNMVURFRElSfQorICAgICR7UENfTkdUQ1AyX0lOQ0xVREVfRElSU30KKykKKworZmluZF9saWJyYXJ5KE5HVENQMl9MSUJSQVJZIE5BTUVTIG5ndGNwMgorICBISU5UUworICAgICR7UENfTkdUQ1AyX0xJQkRJUn0KKyAgICAke1BDX05HVENQMl9MSUJSQVJZX0RJUlN9CispCisKK2lmKFBDX05HVENQMl9WRVJTSU9OKQorICBzZXQoTkdUQ1AyX1ZFUlNJT04gJHtQQ19OR1RDUDJfVkVSU0lPTn0pCitlbmRpZigpCisKK2lmKE5HVENQMl9GSU5EX0NPTVBPTkVOVFMpCisgIHNldChOR1RDUDJfQ1JZUFRPX0JBQ0tFTkQgIiIpCisgIGZvcmVhY2goY29tcG9uZW50IElOIExJU1RTIE5HVENQMl9GSU5EX0NPTVBPTkVOVFMpCisgICAgaWYoY29tcG9uZW50IE1BVENIRVMgIl4oT3BlblNTTHxHbnVUTFMpIikKKyAgICAgIGlmKE5HVENQMl9DUllQVE9fQkFDS0VORCkKKyAgICAgICAgbWVzc2FnZShGQVRBTF9FUlJPUiAiTkdUQ1AyOiBPbmx5IG9uZSBjcnlwdG8gbGlicmFyeSBjYW4gYmUgc2VsZWN0ZWQiKQorICAgICAgZW5kaWYoKQorICAgICAgc2V0KE5HVENQMl9DUllQVE9fQkFDS0VORCAke2NvbXBvbmVudH0pCisgICAgZW5kaWYoKQorICBlbmRmb3JlYWNoKCkKKworICBpZihOR1RDUDJfQ1JZUFRPX0JBQ0tFTkQpCisgICAgc3RyaW5nKFRPTE9XRVIgIm5ndGNwMl9jcnlwdG9fJHtOR1RDUDJfQ1JZUFRPX0JBQ0tFTkR9IiBfY3J5cHRvX2xpYnJhcnkpCisgICAgaWYoVU5JWCkKKyAgICAgIHBrZ19zZWFyY2hfbW9kdWxlKFBDXyR7X2NyeXB0b19saWJyYXJ5fSBsaWIke19jcnlwdG9fbGlicmFyeX0pCisgICAgZW5kaWYoKQorICAgIGZpbmRfbGlicmFyeSgke19jcnlwdG9fbGlicmFyeX1fTElCUkFSWQorICAgICAgTkFNRVMKKyAgICAgICAgJHtfY3J5cHRvX2xpYnJhcnl9CisgICAgICBISU5UUworICAgICAgICAke1BDXyR7X2NyeXB0b19saWJyYXJ5fV9MSUJESVJ9CisgICAgICAgICR7UENfJHtfY3J5cHRvX2xpYnJhcnl9X0xJQlJBUllfRElSU30KKyAgICApCisgICAgaWYoJHtfY3J5cHRvX2xpYnJhcnl9X0xJQlJBUlkpCisgICAgICBzZXQoTkdUQ1AyXyR7TkdUQ1AyX0NSWVBUT19CQUNLRU5EfV9GT1VORCBUUlVFKQorICAgICAgc2V0KE5HVENQMl9DUllQVE9fTElCUkFSWSAkeyR7X2NyeXB0b19saWJyYXJ5fV9MSUJSQVJZfSkKKyAgICBlbmRpZigpCisgIGVuZGlmKCkKK2VuZGlmKCkKKworaW5jbHVkZShGaW5kUGFja2FnZUhhbmRsZVN0YW5kYXJkQXJncykKK2ZpbmRfcGFja2FnZV9oYW5kbGVfc3RhbmRhcmRfYXJncyhOR1RDUDIKKyAgUkVRVUlSRURfVkFSUworICAgIE5HVENQMl9MSUJSQVJZCisgICAgTkdUQ1AyX0lOQ0xVREVfRElSCisgIFZFUlNJT05fVkFSIE5HVENQMl9WRVJTSU9OCisgIEhBTkRMRV9DT01QT05FTlRTCispCisKK2lmKE5HVENQMl9GT1VORCkKKyAgc2V0KE5HVENQMl9MSUJSQVJJRVMgICAgJHtOR1RDUDJfTElCUkFSWX0gJHtOR1RDUDJfQ1JZUFRPX0xJQlJBUll9KQorICBzZXQoTkdUQ1AyX0lOQ0xVREVfRElSUyAke05HVENQMl9JTkNMVURFX0RJUn0pCitlbmRpZigpCisKK21hcmtfYXNfYWR2YW5jZWQoTkdUQ1AyX0lOQ0xVREVfRElSUyBOR1RDUDJfTElCUkFSSUVTKQpkaWZmIC0tZ2l0IGEvQ01ha2UvRmluZFFVSUNIRS5jbWFrZSBiL0NNYWtlL0ZpbmRRVUlDSEUuY21ha2UKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMDFkMTc1OAotLS0gL2Rldi9udWxsCisrKyBiL0NNYWtlL0ZpbmRRVUlDSEUuY21ha2UKQEAgLTAsMCArMSw2OCBAQAorIyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorIyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBfICAgXyBfX19fICBfCisjICBQcm9qZWN0ICAgICAgICAgICAgICAgICAgICAgX19ffCB8IHwgfCAgXyBcfCB8CisjICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvIF9ffCB8IHwgfCB8XykgfCB8CisjICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgKF9ffCB8X3wgfCAgXyA8fCB8X19fCisjICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcX19ffFxfX18vfF98IFxfXF9fX19ffAorIworIyBDb3B5cmlnaHQgKEMpIDE5OTggLSAyMDIwLCBEYW5pZWwgU3RlbmJlcmcsIDxkYW5pZWxAaGF4eC5zZT4sIGV0IGFsLgorIworIyBUaGlzIHNvZnR3YXJlIGlzIGxpY2Vuc2VkIGFzIGRlc2NyaWJlZCBpbiB0aGUgZmlsZSBDT1BZSU5HLCB3aGljaAorIyB5b3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYXMgcGFydCBvZiB0aGlzIGRpc3RyaWJ1dGlvbi4gVGhlIHRlcm1zCisjIGFyZSBhbHNvIGF2YWlsYWJsZSBhdCBodHRwczovL2N1cmwuaGF4eC5zZS9kb2NzL2NvcHlyaWdodC5odG1sLgorIworIyBZb3UgbWF5IG9wdCB0byB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsIGRpc3RyaWJ1dGUgYW5kL29yIHNlbGwKKyMgY29waWVzIG9mIHRoZSBTb2Z0d2FyZSwgYW5kIHBlcm1pdCBwZXJzb25zIHRvIHdob20gdGhlIFNvZnR3YXJlIGlzCisjIGZ1cm5pc2hlZCB0byBkbyBzbywgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBDT1BZSU5HIGZpbGUuCisjCisjIFRoaXMgc29mdHdhcmUgaXMgZGlzdHJpYnV0ZWQgb24gYW4gIkFTIElTIiBiYXNpcywgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkKKyMgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC4KKyMKKyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIworCisjWz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Wy5yc3Q6CitGaW5kUVVJQ0hFCistLS0tLS0tLS0tCisKK0ZpbmQgdGhlIHF1aWNoZSBsaWJyYXJ5CisKK1Jlc3VsdCBWYXJpYWJsZXMKK15eXl5eXl5eXl5eXl5eXl4KKworYGBRVUlDSEVfRk9VTkRgYAorICBTeXN0ZW0gaGFzIHF1aWNoZQorYGBRVUlDSEVfSU5DTFVERV9ESVJTYGAKKyAgVGhlIHF1aWNoZSBpbmNsdWRlIGRpcmVjdG9yaWVzLgorYGBRVUlDSEVfTElCUkFSSUVTYGAKKyAgVGhlIGxpYnJhcmllcyBuZWVkZWQgdG8gdXNlIHF1aWNoZQorI109PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PV0KK2lmKFVOSVgpCisgIGZpbmRfcGFja2FnZShQa2dDb25maWcgUVVJRVQpCisgIHBrZ19zZWFyY2hfbW9kdWxlKFBDX1FVSUNIRSBxdWljaGUpCitlbmRpZigpCisKK2ZpbmRfcGF0aChRVUlDSEVfSU5DTFVERV9ESVIgcXVpY2hlLmgKKyAgSElOVFMKKyAgICAke1BDX1FVSUNIRV9JTkNMVURFRElSfQorICAgICR7UENfUVVJQ0hFX0lOQ0xVREVfRElSU30KKykKKworZmluZF9saWJyYXJ5KFFVSUNIRV9MSUJSQVJZIE5BTUVTIHF1aWNoZQorICBISU5UUworICAgICR7UENfUVVJQ0hFX0xJQkRJUn0KKyAgICAke1BDX1FVSUNIRV9MSUJSQVJZX0RJUlN9CispCisKK2luY2x1ZGUoRmluZFBhY2thZ2VIYW5kbGVTdGFuZGFyZEFyZ3MpCitmaW5kX3BhY2thZ2VfaGFuZGxlX3N0YW5kYXJkX2FyZ3MoUVVJQ0hFCisgIFJFUVVJUkVEX1ZBUlMKKyAgICBRVUlDSEVfTElCUkFSWQorICAgIFFVSUNIRV9JTkNMVURFX0RJUgorKQorCitpZihRVUlDSEVfRk9VTkQpCisgIHNldChRVUlDSEVfTElCUkFSSUVTICAgICR7UVVJQ0hFX0xJQlJBUll9KQorICBzZXQoUVVJQ0hFX0lOQ0xVREVfRElSUyAke1FVSUNIRV9JTkNMVURFX0RJUn0pCitlbmRpZigpCisKK21hcmtfYXNfYWR2YW5jZWQoUVVJQ0hFX0lOQ0xVREVfRElSUyBRVUlDSEVfTElCUkFSSUVTKQpkaWZmIC0tZ2l0IGEvQ01ha2VMaXN0cy50eHQgYi9DTWFrZUxpc3RzLnR4dAppbmRleCBiODA2MWQxLi41YTEzMzMzIDEwMDY0NAotLS0gYS9DTWFrZUxpc3RzLnR4dAorKysgYi9DTWFrZUxpc3RzLnR4dApAQCAtMjYsNyArMjYsNiBAQAogIyBUaGUgb3V0cHV0IC5zbyBmaWxlIGxhY2tzIHRoZSBzb25hbWUgbnVtYmVyIHdoaWNoIHdlIGN1cnJlbnRseSBoYXZlIHdpdGhpbiB0aGUgbGliL01ha2VmaWxlLmFtIGZpbGUKICMgQWRkIGZ1bGwgKDQgb3IgNSBsaWJzKSBTU0wgc3VwcG9ydAogIyBBZGQgSU5TVEFMTCB0YXJnZXQgKEVYVFJBX0RJU1QgdmFyaWFibGVzIGluIE1ha2VmaWxlLmFtIG1heSBiZSBtb3ZlZCB0byBNYWtlZmlsZS5pbmMgc28gdGhhdCBDTWFrZS9DUGFjayBpcyBhd2FyZSBvZiB3aGF0J3MgdG8gaW5jbHVkZSkuCi0jIEFkZCBDVGVzdHMoPykKICMgQ2hlY2sgb24gYWxsIHBvc3NpYmxlIHBsYXRmb3JtcwogIyBUZXN0IHdpdGggYXMgbWFueSBjb25maWd1cmF0aW9ucyBwb3NzaWJsZSAoV2l0aCBvciB3aXRob3V0IGFueSBvcHRpb24pCiAjIENyZWF0ZSBzY3JpcHRzIHRoYXQgaGVscCBrZWVwaW5nIHRoZSBDTWFrZSBidWlsZCBzeXN0ZW0gdXAgdG8gZGF0ZSAodG8gcmVkdWNlIG1haW50ZW5hbmNlKS4gQWNjb3JkaW5nIHRvIFRldGV0ZXN0OgpAQCAtMzgsNyArMzcsNyBAQAogIyBUbyBjaGVjazoKICMgKEZyb20gRGFuaWVsIFN0ZW5iZXJnKSBUaGUgY21ha2UgYnVpbGQgc2VsZWN0ZWQgdG8gcnVuIGdjYyB3aXRoIC1mUElDIG9uIG15IGJveCB3aGlsZSB0aGUgcGxhaW4gY29uZmlndXJlIHNjcmlwdCBkaWQgbm90LgogIyAoRnJvbSBEYW5pZWwgU3RlbmJlcmcpIFRoZSBnY2MgY29tbWFuZCBsaW5lIHVzZSBuZWl0aGVyIC1nIG5vciBhbnkgLU8gb3B0aW9ucy4gQXMgYSBkZXZlbG9wZXIsIEkgYWxzbyB0cmVhc3VyZSBvdXIgY29uZmlndXJlIHNjcmlwdHMncyAtLWVuYWJsZS1kZWJ1ZyBvcHRpb24gdGhhdCBzZXRzIGEgbG9uZyByYW5nZSBvZiAicGlja3kiIGNvbXBpbGVyIG9wdGlvbnMuCi1jbWFrZV9taW5pbXVtX3JlcXVpcmVkKFZFUlNJT04gMy4wLi4uMy4xNiBGQVRBTF9FUlJPUikKK2NtYWtlX21pbmltdW1fcmVxdWlyZWQoVkVSU0lPTiAzLjIuLi4zLjE2IEZBVEFMX0VSUk9SKQogCiBzZXQoQ01BS0VfTU9EVUxFX1BBVEggIiR7Q01BS0VfQ1VSUkVOVF9TT1VSQ0VfRElSfS9DTWFrZTske0NNQUtFX01PRFVMRV9QQVRIfSIpCiBpbmNsdWRlKFV0aWxpdGllcykKQEAgLTIyMSwxMCArMjIwLDYgQEAKICAgICBPTiAiTlJPRkZfVVNFRlVMO1BFUkxfRk9VTkQiCiAgICAgT0ZGKQogCi1pZihOT1QgUEVSTF9GT1VORCkKLSAgbWVzc2FnZShTVEFUVVMgIlBlcmwgbm90IGZvdW5kLCB0ZXN0aW5nIGRpc2FibGVkLiIpCi0gIHNldChCVUlMRF9URVNUSU5HIE9GRikKLWVuZGlmKCkKIGlmKEVOQUJMRV9NQU5VQUwpCiAgIHNldChVU0VfTUFOVUFMIE9OKQogZW5kaWYoKQpAQCAtNDM4LDYgKzQzMyw1NiBAQAogICBsaXN0KEFQUEVORCBDVVJMX0xJQlMgJHtOR0hUVFAyX0xJQlJBUklFU30pCiBlbmRpZigpCiAKK2Z1bmN0aW9uKENoZWNrUXVpY1N1cHBvcnRJbk9wZW5TU0wpCisgICMgQmUgc3VyZSB0aGF0IHRoZSBPcGVuU1NMIGxpYnJhcnkgYWN0dWFsbHkgc3VwcG9ydHMgUVVJQy4KKyAgY21ha2VfcHVzaF9jaGVja19zdGF0ZSgpCisgIHNldChDTUFLRV9SRVFVSVJFRF9JTkNMVURFUyAgICIke09QRU5TU0xfSU5DTFVERV9ESVJ9IikKKyAgc2V0KENNQUtFX1JFUVVJUkVEX0xJQlJBUklFUyAgIiR7T1BFTlNTTF9MSUJSQVJJRVN9IikKKyAgY2hlY2tfc3ltYm9sX2V4aXN0cyhTU0xfQ1RYX3NldF9xdWljX21ldGhvZCAib3BlbnNzbC9zc2wuaCIgSEFWRV9TU0xfQ1RYX1NFVF9RVUlDX01FVEhPRCkKKyAgaWYoTk9UIEhBVkVfU1NMX0NUWF9TRVRfUVVJQ19NRVRIT0QpCisgICAgbWVzc2FnZShGQVRBTF9FUlJPUiAiUVVJQyBzdXBwb3J0IGlzIG1pc3NpbmcgaW4gT3BlblNTTC9ib3Jpbmdzc2wuIFRyeSBzZXR0aW5nIC1ET1BFTlNTTF9ST09UX0RJUiIpCisgIGVuZGlmKCkKKyAgY21ha2VfcG9wX2NoZWNrX3N0YXRlKCkKK2VuZGZ1bmN0aW9uKCkKKworb3B0aW9uKFVTRV9OR1RDUDIgIlVzZSBuZ3RjcDIgYW5kIG5naHR0cDMgbGlicmFyaWVzIGZvciBIVFRQLzMgc3VwcG9ydCIgT0ZGKQoraWYoVVNFX05HVENQMikKKyAgaWYoVVNFX09QRU5TU0wpCisgICAgZmluZF9wYWNrYWdlKE5HVENQMiBSRVFVSVJFRCBPcGVuU1NMKQorICAgIENoZWNrUXVpY1N1cHBvcnRJbk9wZW5TU0woKQorICBlbHNlaWYoVVNFX0dOVVRMUykKKyAgICAjIFRPRE8gYWRkIEdudVRMUyBzdXBwb3J0IGFzIHZ0bHMgbGlicmFyeS4KKyAgICBmaW5kX3BhY2thZ2UoTkdUQ1AyIFJFUVVJUkVEIEdudVRMUykKKyAgZWxzZSgpCisgICAgbWVzc2FnZShGQVRBTF9FUlJPUiAibmd0Y3AyIHJlcXVpcmVzIE9wZW5TU0wgb3IgR251VExTIikKKyAgZW5kaWYoKQorICBzZXQoVVNFX05HVENQMiBPTikKKyAgaW5jbHVkZV9kaXJlY3Rvcmllcygke05HVENQMl9JTkNMVURFX0RJUlN9KQorICBsaXN0KEFQUEVORCBDVVJMX0xJQlMgJHtOR1RDUDJfTElCUkFSSUVTfSkKKworICBmaW5kX3BhY2thZ2UoTkdIVFRQMyBSRVFVSVJFRCkKKyAgc2V0KFVTRV9OR0hUVFAzIE9OKQorICBpbmNsdWRlX2RpcmVjdG9yaWVzKCR7TkdIVFRQM19JTkNMVURFX0RJUlN9KQorICBsaXN0KEFQUEVORCBDVVJMX0xJQlMgJHtOR0hUVFAzX0xJQlJBUklFU30pCitlbmRpZigpCisKK29wdGlvbihVU0VfUVVJQ0hFICJVc2UgcXVpY2hlIGxpYnJhcnkgZm9yIEhUVFAvMyBzdXBwb3J0IiBPRkYpCitpZihVU0VfUVVJQ0hFKQorICBpZihVU0VfTkdUQ1AyKQorICAgIG1lc3NhZ2UoRkFUQUxfRVJST1IgIk9ubHkgb25lIEhUVFAvMyBiYWNrZW5kIGNhbiBiZSBzZWxlY3RlZCEiKQorICBlbmRpZigpCisgIGZpbmRfcGFja2FnZShRVUlDSEUgUkVRVUlSRUQpCisgIENoZWNrUXVpY1N1cHBvcnRJbk9wZW5TU0woKQorICBzZXQoVVNFX1FVSUNIRSBPTikKKyAgaW5jbHVkZV9kaXJlY3Rvcmllcygke1FVSUNIRV9JTkNMVURFX0RJUlN9KQorICBsaXN0KEFQUEVORCBDVVJMX0xJQlMgJHtRVUlDSEVfTElCUkFSSUVTfSkKKyAgY21ha2VfcHVzaF9jaGVja19zdGF0ZSgpCisgIHNldChDTUFLRV9SRVFVSVJFRF9JTkNMVURFUyAgICIke1FVSUNIRV9JTkNMVURFX0RJUlN9IikKKyAgc2V0KENNQUtFX1JFUVVJUkVEX0xJQlJBUklFUyAgIiR7UVVJQ0hFX0xJQlJBUklFU30iKQorICBjaGVja19zeW1ib2xfZXhpc3RzKHF1aWNoZV9jb25uX3NldF9xbG9nX2ZkICJxdWljaGUuaCIgSEFWRV9RVUlDSEVfQ09OTl9TRVRfUUxPR19GRCkKKyAgY21ha2VfcG9wX2NoZWNrX3N0YXRlKCkKK2VuZGlmKCkKKwogaWYoV0lOMzIpCiAgIHNldChVU0VfV0lOMzJfQ1JZUFRPIE9OKQogZW5kaWYoKQpAQCAtNjI3LDYgKzY3MiwyMCBAQAogICBlbmRpZigpCiBlbmRpZigpCiAKKyMgbGlic3NoCitvcHRpb24oQ01BS0VfVVNFX0xJQlNTSCAiVXNlIGxpYlNTSCIgT0ZGKQorbWFya19hc19hZHZhbmNlZChDTUFLRV9VU0VfTElCU1NIKQoraWYoTk9UIEhBVkVfTElCU1NIMiBBTkQgQ01BS0VfVVNFX0xJQlNTSCkKKyAgZmluZF9wYWNrYWdlKGxpYnNzaCBDT05GSUcpCisgIGlmKGxpYnNzaF9GT1VORCkKKyAgICBtZXNzYWdlKFNUQVRVUyAiRm91bmQgbGlic3NoICR7bGlic3NoX1ZFUlNJT059IikKKyAgICAjIFVzZSBpbXBvcnRlZCB0YXJnZXQgZm9yIGluY2x1ZGUgYW5kIGxpYnJhcnkgcGF0aHMuCisgICAgbGlzdChBUFBFTkQgQ1VSTF9MSUJTIHNzaCkKKyAgICBzZXQoVVNFX0xJQlNTSCBPTikKKyAgICBzZXQoSEFWRV9MSUJTU0hfTElCU1NIX0ggMSkKKyAgZW5kaWYoKQorZW5kaWYoKQorCiBvcHRpb24oQ01BS0VfVVNFX0dTU0FQSSAiVXNlIEdTU0FQSSBpbXBsZW1lbnRhdGlvbiAocmlnaHQgbm93IG9ubHkgSGVpbWRhbCBpcyBzdXBwb3J0ZWQgd2l0aCBDTWFrZSBidWlsZCkiIE9GRikKIG1hcmtfYXNfYWR2YW5jZWQoQ01BS0VfVVNFX0dTU0FQSSkKIApAQCAtNjk1LDYgKzc1NCw5IEBACiAgIHVuc2V0KFVTRV9VTklYX1NPQ0tFVFMgQ0FDSEUpCiBlbmRpZigpCiAKK29wdGlvbihFTkFCTEVfQUxUX1NWQyAiRW5hYmxlIGFsdC1zdmMgc3VwcG9ydCIgT0ZGKQorc2V0KFVTRV9BTFRTVkMgJHtFTkFCTEVfQUxUX1NWQ30pCisKICMKICMgQ0EgaGFuZGxpbmcKICMKQEAgLTEyMDYsNyArMTI2OCw3IEBACiAgIHN0cmluZyhSRUdFWCBSRVBMQUNFICJcXCRcXCgoW2EtekEtWl9dW2EtekEtWjAtOV9dKilcXCkiICJcJHtcXDF9IiBNQUtFRklMRV9JTkNfVEVYVCAke01BS0VGSUxFX0lOQ19URVhUfSkgICAgIyBSZXBsYWNlICQoKSB3aXRoICR7fQogICBzdHJpbmcoUkVHRVggUkVQTEFDRSAiQChbYS16QS1aX11bYS16QS1aMC05X10qKUAiICJcJHtcXDF9IiBNQUtFRklMRV9JTkNfVEVYVCAke01BS0VGSUxFX0lOQ19URVhUfSkgICAgIyBSZXBsYWNlIEBAIHdpdGggJHt9LCBldmVuIGlmIHRoYXQgbWF5IG5vdCBiZSByZWFkIGJ5IENNYWtlIHNjcmlwdHMuCiAgIGZpbGUoV1JJVEUgJHtPVVRQVVRfRklMRX0gJHtNQUtFRklMRV9JTkNfVEVYVH0pCi0KKyAgc2V0X3Byb3BlcnR5KERJUkVDVE9SWSBBUFBFTkQgUFJPUEVSVFkgQ01BS0VfQ09ORklHVVJFX0RFUEVORFMgIiR7SU5QVVRfRklMRX0iKQogZW5kZnVuY3Rpb24oKQogCiBpbmNsdWRlKEdOVUluc3RhbGxEaXJzKQpAQCAtMTIyNyw4ICsxMjg5LDEwIEBACiAgIGFkZF9zdWJkaXJlY3Rvcnkoc3JjKQogZW5kaWYoKQogCi1pbmNsdWRlKENUZXN0KQotaWYoQlVJTERfVEVTVElORykKK29wdGlvbihCVUlMRF9URVNUSU5HICJCdWlsZCB0ZXN0cyIgIiR7UEVSTF9GT1VORH0iKQoraWYoTk9UIFBFUkxfRk9VTkQpCisgIG1lc3NhZ2UoU1RBVFVTICJQZXJsIG5vdCBmb3VuZCwgdGVzdGluZyBkaXNhYmxlZC4iKQorZWxzZWlmKEJVSUxEX1RFU1RJTkcpCiAgIGFkZF9zdWJkaXJlY3RvcnkodGVzdHMpCiBlbmRpZigpCiAKQEAgLTEyNjIsNiArMTMyNiw3IEBACiAjIFRPRE8gU1NQMSAoV2luU1NMKSBjaGVjayBpcyBtaXNzaW5nCiBfYWRkX2lmKCJTU1BJIiAgICAgICAgICBVU0VfV0lORE9XU19TU1BJKQogX2FkZF9pZigiR1NTLUFQSSIgICAgICAgSEFWRV9HU1NBUEkpCitfYWRkX2lmKCJhbHQtc3ZjIiAgICAgICBFTkFCTEVfQUxUX1NWQykKICMgVE9ETyBTU1AxIG1pc3NpbmcgZm9yIFNQTkVHTwogX2FkZF9pZigiU1BORUdPIiAgICAgICAgTk9UIENVUkxfRElTQUJMRV9DUllQVE9fQVVUSCBBTkQKICAgICAgICAgICAgICAgICAgICAgICAgIChIQVZFX0dTU0FQSSBPUiBVU0VfV0lORE9XU19TU1BJKSkKQEAgLTEyNzYsNiArMTM0MSw4IEBACiBfYWRkX2lmKCJUTFMtU1JQIiAgICAgICBVU0VfVExTX1NSUCkKICMgVE9ETyBvcHRpb24gLS13aXRoLW5naHR0cDIgdGVzdHMgZm9yIG5naHR0cDIgbGliIGFuZCBuZ2h0dHAyL25naHR0cDIuaCBoZWFkZXIKIF9hZGRfaWYoIkhUVFAyIiAgICAgICAgIFVTRV9OR0hUVFAyKQorX2FkZF9pZigiSFRUUDMiICAgICAgICAgVVNFX05HVENQMiBPUiBVU0VfUVVJQ0hFKQorX2FkZF9pZigiTXVsdGlTU0wiICAgICAgQ1VSTF9XSVRIX01VTFRJX1NTTCkKIF9hZGRfaWYoIkhUVFBTLXByb3h5IiAgIFNTTF9FTkFCTEVEIEFORCAoVVNFX09QRU5TU0wgT1IgVVNFX0dOVVRMUyBPUiBVU0VfTlNTKSkKIHN0cmluZyhSRVBMQUNFICI7IiAiICIgU1VQUE9SVF9GRUFUVVJFUyAiJHtfaXRlbXN9IikKIG1lc3NhZ2UoU1RBVFVTICJFbmFibGVkIGZlYXR1cmVzOiAke1NVUFBPUlRfRkVBVFVSRVN9IikKQEAgLTEzMDUsOCArMTM3Miw4IEBACiBfYWRkX2lmKCJTTUJTIiAgICAgICAgICBOT1QgQ1VSTF9ESVNBQkxFX1NNQiBBTkQgU1NMX0VOQUJMRUQgQU5EIHVzZV9udGxtKQogX2FkZF9pZigiU01UUCIgICAgICAgICAgTk9UIENVUkxfRElTQUJMRV9TTVRQKQogX2FkZF9pZigiU01UUFMiICAgICAgICAgTk9UIENVUkxfRElTQUJMRV9TTVRQIEFORCBTU0xfRU5BQkxFRCkKLV9hZGRfaWYoIlNDUCIgICAgICAgICAgIFVTRV9MSUJTU0gyKQotX2FkZF9pZigiU0ZUUCIgICAgICAgICAgVVNFX0xJQlNTSDIpCitfYWRkX2lmKCJTQ1AiICAgICAgICAgICBVU0VfTElCU1NIMiBPUiBVU0VfTElCU1NIKQorX2FkZF9pZigiU0ZUUCIgICAgICAgICAgVVNFX0xJQlNTSDIgT1IgVVNFX0xJQlNTSCkKIF9hZGRfaWYoIlJUU1AiICAgICAgICAgIE5PVCBDVVJMX0RJU0FCTEVfUlRTUCkKIF9hZGRfaWYoIlJUTVAiICAgICAgICAgIFVTRV9MSUJSVE1QKQogX2FkZF9pZigiTVFUVCIgICAgICAgICAgQ1VSTF9FTkFCTEVfTVFUVCkKQEAgLTEzMzgsMjUgKzE0MDUsNDMgQEAKICMgVE9ETyB3aGVuIHRvIHNldCAiLURDVVJMX1NUQVRJQ0xJQiIgZm9yIENQUEZMQUdfQ1VSTF9TVEFUSUNMSUI/CiBzZXQoQ1BQRkxBR19DVVJMX1NUQVRJQ0xJQiAgIiIpCiBzZXQoQ1VSTFZFUlNJT04gICAgICAgICAgICAgIiR7Q1VSTF9WRVJTSU9OfSIpCi1pZihCVUlMRF9TSEFSRURfTElCUykKLSAgc2V0KEVOQUJMRV9TSEFSRUQgICAgICAgICAieWVzIikKLSAgc2V0KEVOQUJMRV9TVEFUSUMgICAgICAgICAibm8iKQotZWxzZSgpCi0gIHNldChFTkFCTEVfU0hBUkVEICAgICAgICAgIm5vIikKLSAgc2V0KEVOQUJMRV9TVEFUSUMgICAgICAgICAieWVzIikKLWVuZGlmKCkKIHNldChleGVjX3ByZWZpeCAgICAgICAgICAgICAiXCR7cHJlZml4fSIpCiBzZXQoaW5jbHVkZWRpciAgICAgICAgICAgICAgIlwke3ByZWZpeH0vaW5jbHVkZSIpCiBzZXQoTERGTEFHUyAgICAgICAgICAgICAgICAgIiR7Q01BS0VfU0hBUkVEX0xJTktFUl9GTEFHU30iKQogc2V0KExJQkNVUkxfTElCUyAgICAgICAgICAgICIiKQogc2V0KGxpYmRpciAgICAgICAgICAgICAgICAgICIke0NNQUtFX0lOU1RBTExfUFJFRklYfS9saWIiKQogZm9yZWFjaChfbGliICR7Q01BS0VfQ19JTVBMSUNJVF9MSU5LX0xJQlJBUklFU30gJHtDVVJMX0xJQlN9KQorICBpZihUQVJHRVQgIiR7X2xpYn0iKQorICAgIHNldChfbGlibmFtZSAiJHtfbGlifSIpCisgICAgZ2V0X3RhcmdldF9wcm9wZXJ0eShfbGlidHlwZSAiJHtfbGlibmFtZX0iIFRZUEUpCisgICAgaWYoX2xpYnR5cGUgU1RSRVFVQUwgSU5URVJGQUNFX0xJQlJBUlkpCisgICAgICAjIEludGVyZmFjZSBsaWJyYXJpZXMgY2FuIG9jY3VyIHdoZW4gYW4gZXh0ZXJuYWwgcHJvamVjdCBlbWJlZHMgY3VybCBhbmQKKyAgICAgICMgZGVmaW5lZCB0YXJnZXRzIHN1Y2ggYXMgWkxJQjo6WkxJQiBieSB0aGVtc2VsdmVzLiBJZ25vcmUgdGhlc2UgYXMKKyAgICAgICMgcmVhZGluZyB0aGUgTE9DQVRJT04gcHJvcGVydHkgd2lsbCBlcnJvciBvdXQuIEFzc3VtZSB0aGUgdXNlciB3b24ndCBuZWVkCisgICAgICAjIHRoaXMgaW5mb3JtYXRpb24gaW4gdGhlIC5wYyBmaWxlLgorICAgICAgY29udGludWUoKQorICAgIGVuZGlmKCkKKyAgICBnZXRfdGFyZ2V0X3Byb3BlcnR5KF9saWIgIiR7X2xpYm5hbWV9IiBMT0NBVElPTikKKyAgICBpZihOT1QgX2xpYikKKyAgICAgIG1lc3NhZ2UoV0FSTklORyAiQmFkIGxpYiBpbiBsaWJyYXJ5IGxpc3Q6ICR7X2xpYm5hbWV9IikKKyAgICAgIGNvbnRpbnVlKCkKKyAgICBlbmRpZigpCisgIGVuZGlmKCkKICAgaWYoX2xpYiBNQVRDSEVTICIuKi8uKiIgT1IgX2xpYiBNQVRDSEVTICJeLSIpCiAgICAgc2V0KExJQkNVUkxfTElCUyAgICAgICAgICAiJHtMSUJDVVJMX0xJQlN9ICR7X2xpYn0iKQogICBlbHNlKCkKICAgICBzZXQoTElCQ1VSTF9MSUJTICAgICAgICAgICIke0xJQkNVUkxfTElCU30gLWwke19saWJ9IikKICAgZW5kaWYoKQogZW5kZm9yZWFjaCgpCitpZihCVUlMRF9TSEFSRURfTElCUykKKyAgc2V0KEVOQUJMRV9TSEFSRUQgICAgICAgICAieWVzIikKKyAgc2V0KEVOQUJMRV9TVEFUSUMgICAgICAgICAibm8iKQorICBzZXQoTElCQ1VSTF9OT19TSEFSRUQgICAgICIiKQorZWxzZSgpCisgIHNldChFTkFCTEVfU0hBUkVEICAgICAgICAgIm5vIikKKyAgc2V0KEVOQUJMRV9TVEFUSUMgICAgICAgICAieWVzIikKKyAgc2V0KExJQkNVUkxfTk9fU0hBUkVEICAgICAiJHtMSUJDVVJMX0xJQlN9IikKK2VuZGlmKCkKICMgImEiIChMaW51eCkgb3IgImxpYiIgKFdpbmRvd3MpCiBzdHJpbmcoUkVQTEFDRSAiLiIgIiIgbGliZXh0ICIke0NNQUtFX1NUQVRJQ19MSUJSQVJZX1NVRkZJWH0iKQogc2V0KHByZWZpeCAgICAgICAgICAgICAgICAgICIke0NNQUtFX0lOU1RBTExfUFJFRklYfSIpCmRpZmYgLS1naXQgYS9NRVRBREFUQSBiL01FVEFEQVRBCmluZGV4IDliOTQxMjguLjJmYTAzMmMgMTAwNjQ0Ci0tLSBhL01FVEFEQVRBCisrKyBiL01FVEFEQVRBCkBAIC03LDEzICs3LDEzIEBACiAgIH0KICAgdXJsIHsKICAgICB0eXBlOiBBUkNISVZFCi0gICAgdmFsdWU6ICJodHRwczovL2dpdGh1Yi5jb20vY3VybC9jdXJsL3JlbGVhc2VzL2Rvd25sb2FkL2N1cmwtN183MF8wL2N1cmwtNy43MC4wLnRhci54eiIKKyAgICB2YWx1ZTogImh0dHBzOi8vZ2l0aHViLmNvbS9jdXJsL2N1cmwvcmVsZWFzZXMvZG93bmxvYWQvY3VybC03XzcxXzEvY3VybC03LjcxLjEudGFyLnh6IgogICB9Ci0gIHZlcnNpb246ICJjdXJsLTdfNzBfMCIKKyAgdmVyc2lvbjogImN1cmwtN183MV8xIgogICBsaWNlbnNlX3R5cGU6IE5PVElDRQogICBsYXN0X3VwZ3JhZGVfZGF0ZSB7CiAgICAgeWVhcjogMjAyMAotICAgIG1vbnRoOiA0Ci0gICAgZGF5OiAyOQorICAgIG1vbnRoOiA3CisgICAgZGF5OiAxMAogICB9CiB9CmRpZmYgLS1naXQgYS9NYWtlZmlsZS5hbSBiL01ha2VmaWxlLmFtCmluZGV4IDJmNzA5ODAuLmI5NjMyNzcgMTAwNjQ0Ci0tLSBhL01ha2VmaWxlLmFtCisrKyBiL01ha2VmaWxlLmFtCkBAIC0zNiw2ICszNiw5IEBACiAgQ01ha2UvRmluZExpYlNTSDIuY21ha2UgICAgICAgICAgICAgICAgICAgICAgICBcCiAgQ01ha2UvRmluZE1iZWRUTFMuY21ha2UgICAgICAgICAgICAgICAgICAgICAgICBcCiAgQ01ha2UvRmluZE5HSFRUUDIuY21ha2UgICAgICAgICAgICAgICAgICAgICAgICBcCisgQ01ha2UvRmluZE5HSFRUUDMuY21ha2UgICAgICAgICAgICAgICAgICAgICAgICBcCisgQ01ha2UvRmluZE5HVENQMi5jbWFrZSAgICAgICAgICAgICAgICAgICAgICAgICBcCisgQ01ha2UvRmluZFFVSUNIRS5jbWFrZSAgICAgICAgICAgICAgICAgICAgICAgICBcCiAgQ01ha2UvRmluZFdvbGZTU0wuY21ha2UgICAgICAgICAgICAgICAgICAgICAgICBcCiAgQ01ha2UvTWFjcm9zLmNtYWtlICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCiAgQ01ha2UvT3RoZXJUZXN0cy5jbWFrZSAgICAgICAgICAgICAgICAgICAgICAgICBcCmRpZmYgLS1naXQgYS9SRUxFQVNFLU5PVEVTIGIvUkVMRUFTRS1OT1RFUwppbmRleCA2ODgwMzE4Li4wNGFhMThiIDEwMDY0NAotLS0gYS9SRUxFQVNFLU5PVEVTCisrKyBiL1JFTEVBU0UtTk9URVMKQEAgLTEsMTU1ICsxLDMxIEBACi1jdXJsIGFuZCBsaWJjdXJsIDcuNzAuMAorY3VybCBhbmQgbGliY3VybCA3LjcxLjEKIAotIFB1YmxpYyBjdXJsIHJlbGVhc2VzOiAgICAgICAgIDE5MQotIENvbW1hbmQgbGluZSBvcHRpb25zOiAgICAgICAgIDIzMQotIGN1cmxfZWFzeV9zZXRvcHQoKSBvcHRpb25zOiAgIDI3MAorIFB1YmxpYyBjdXJsIHJlbGVhc2VzOiAgICAgICAgIDE5MworIENvbW1hbmQgbGluZSBvcHRpb25zOiAgICAgICAgIDIzMgorIGN1cmxfZWFzeV9zZXRvcHQoKSBvcHRpb25zOiAgIDI3NwogIFB1YmxpYyBmdW5jdGlvbnMgaW4gbGliY3VybDogIDgyCi0gQ29udHJpYnV0b3JzOiAgICAgICAgICAgICAgICAgMjE2OQotCi1UaGlzIHJlbGVhc2UgaW5jbHVkZXMgdGhlIGZvbGxvd2luZyBjaGFuZ2VzOgotCi0gbyBjdXJsOiBhZGQgLS1zc2wtcmV2b2tlLWJlc3QtZWZmb3J0IHRvIGFsbG93IGEgImJlc3QgZWZmb3J0IiByZXZvY2F0aW9uIGNoZWNrIFs1XQotIG8gbXF0dDogYWRkIG5ldyBleHBlcmltZW50YWwgcHJvdG9jb2wgWzU3XQotIG8gc2NoYW5uZWw6IGFkZCAiYmVzdCBlZmZvcnQiIHJldm9jYXRpb24gY2hlY2sgb3B0aW9uOiBDVVJMU1NMT1BUX1JFVk9LRV9CRVNUX0VGRk9SVCBbNV0KLSBvIHdyaXRlb3V0OiBzdXBwb3J0IHRvIGdlbmVyYXRlIEpTT04gb3V0cHV0IHdpdGggJyV7anNvbn0nIFs4XQorIENvbnRyaWJ1dG9yczogICAgICAgICAgICAgICAgIDIyMTAKIAogVGhpcyByZWxlYXNlIGluY2x1ZGVzIHRoZSBmb2xsb3dpbmcgYnVnZml4ZXM6CiAKLSBvIGFwcHZleW9yOiBhZGQgVW5pY29kZSB3aW5idWlsZCBqb2JzIFs4OF0KLSBvIGFwcHZleW9yOiBjb21wbGV0ZWx5IGRpc2FibGUgdGVzdHMgdGhhdCBmYWlsIHRvIHRpbWVvdXQgZWFybHkKLSBvIGFwcHZleW9yOiBzaG93IGZhaWxlZCB0ZXN0cyBpbiBsb2cgZXZlbiBpZiB0ZXN0IGlzIGlnbm9yZWQKLSBvIGFwcHZleW9yOiBzb3J0IGJ1aWxkcyBieSB0eXBlIGFuZCBhZGQgdHdvIG5ldyB2YXJpYW50cwotIG8gYXBwdmV5b3I6IHR1cm4gZGlzYWJsZWQgdGVzdHMgaW50byBpZ25vcmVkIHJlc3VsdCB0ZXN0cwotIG8gYXBwdmV5b3I6IHVzZSByYW5kb20gdGVzdCBzZXJ2ZXIgcG9ydHMgYmFzZWQgdXBvbiBBUFBWRVlPUl9BUElfVVJMIFs1Ml0KLSBvIGJ1aWxkOiBmaXhlZCBidWlsZCBmb3Igc3lzdGVtcyB3aXRoIHNlbGVjdCgpIGluIHVuaXN0ZC5oIFs0M10KLSBvIGJ1aWxkY29uZjogYXZvaWQgdXNpbmcgdGVtcGZpbGUgd2hlbiByZW1vdmluZyBmaWxlcyBbOTBdCi0gbyBjaGVja3NyYzogd2FybiBvbiBvYnZpb3VzIGNvbmRpdGlvbmFsIGJsb2NrcyBvbiB0aGUgc2FtZSBsaW5lIGFzIGlmKCkgWzQ0XQotIG8gQ0ktZnV6ejogaW5jcmVhc2UgZnV6eiB0aW1lIHRvIDQwIG1pbnV0ZXMgWzU5XQotIG8gY2kvdGVzdHM6IGZpeCBBenVyZSBQaXBlbGluZXMgbm90IHJ1bm5pbmcgV2luZG93cyBjb250YWluZXJzIFsyNV0KLSBvIENJOiBhZGQgYnVpbGQgd2l0aCBuZ3RjcDIgKyBnbnV0bHMgb24gVHJhdmlzIENJCi0gbyBDSTogYnJpbmcgR2l0SHViIEFjdGlvbnMgZnV6emluZyBqb2IgaW4gbGluZSB3aXRoIG1hY09TIGpvYnMKLSBvIENJOiBtaWdyYXRlIG1hY09TIGpvYnMgZnJvbSBBenVyZSBhbmQgVHJhdmlzIENJIHRvIEdpdEh1YiBBY3Rpb25zIFszNl0KLSBvIENJOiByZW1vdmUgZGVmYXVsdCBVYnVudHUgYnVpbGQgZnJvbSBHaXRIdWIgQWN0aW9ucwotIG8gY2lycnVzOiBubyBsb25nZXIgaWdub3JlIHRlc3QgNTA0IHdoaWNoIGlzIHdvcmtpbmcgYWdhaW4KLSBvIGNpcnJ1czogcmUtZW5hYmxlIHRoZSBGcmVlQlNEIDEzIENJIGJ1aWxkcyBbMjldCi0gbyBjbGVhbnVwOiBpbnNlcnQgbmV3bGluZSBhZnRlciBpZigpIGNvbmRpdGlvbnMKLSBvIGNtYWtlOiBhZGQgYWxpYXNlcyBzbyBleHBvcnRlZCB0YXJnZXQgbmFtZXMgYXJlIGF2YWlsYWJsZSBpbiB0cmVlIFs3M10KLSBvIGNtYWtlOiBhZGQgQ01BS0VfTVNWQ19SVU5USU1FX0xJQlJBUlkgWzQ1XQotIG8gY21ha2U6IGFkZCBzdXBwb3J0IGZvciBidWlsZGluZyB3aXRoIHdvbGZTU0wgWzldCi0gbyBjbWFrZTogQXZvaWQgTVNWQyBDNDI3MyB3YXJuaW5ncyBpbiBzZW5kL3JlY3YgY2hlY2tzIFs5Ml0KLSBvIGNtZGxpbmU6IGZpeCBoYW5kbGluZyBvZiBPcGVyYXRpb25Db25maWcgbGlua2VkIGxpc3QgKC0tbmV4dCkgWzI0XQotIG8gY29tcHJlc3NlZC5kOiBzdHJlc3MgdGhhdCB0aGUgaGVhZGVycyBhcmUgbm90IG1vZGlmaWVkIFs4MF0KLSBvIGNvbmZpZzogcmVtb3ZlIGFsbCBkZWZpbmVzIG9mIEhBVkVfREVTX0ggWzM3XQotIG8gY29uZmlndXJlOiBjb252ZXJ0IC1JIHRvIC1pc3lzdGVtIGFzIGEgbGFzdCBzdGVwIFsyXQotIG8gY29uZmlndXJlOiBkb2N1bWVudCAnY29tcGlsZXJfbnVtJyBmb3IgZ2NjIFs0XQotIG8gY29uZmlndXJlOiBkb24ndCBjaGVjayBmb3IgU2VjdXJpdHkuZnJhbWV3b3JrIHdoZW4gY3Jvc3MtY29tcGlsaW5nIFs0N10KLSBvIGNvbmZpZ3VyZTogZml4IC1wZWRhbnRpYy1lcnJvcnMgZm9yIEdDQyA1IGFuZCBsYXRlciBbM10KLSBvIGNvbmZpZ3VyZTogcmVtb3ZlIHVzZSBvZiAtdmVjLXJlcG9ydDAgZnJvbSBDRkxBR1Mgd2l0aCBpY2MgWzcxXQotIG8gY29ubmVjdDogaGFwcHkgZXllYmFsbHMgY2xlYW51cCBbMTVdCi0gbyBjb25uZWN0OiBzdG9yZSBjb25uZWN0aW9uIGluZm8gZm9yIFFVSUMgY29ubmVjdGlvbnMgWzY4XQotIG8gY29weXJpZ2h0OiBmaXggb3V0LW9mLWRhdGUgY29weXJpZ2h0IHJhbmdlcyBhbmQgbWlzc2luZyBoZWFkZXJzIFszOF0KLSBvIGN1cmwtZnVuY3Rpb25zLm00OiByZW1vdmUgaW5hcHByb3ByaWF0ZSBBQ19SRVFVSVJFIFsyNl0KLSBvIGN1cmwuaDogcmVtbm92ZSBDVVJMX1ZFUlNJT05fRVNOSS4gTmV2ZXIgc3VwcG9ydGVkIG5vciBkb2N1bWVudGVkIFs0OV0KLSBvIGN1cmwuaDogdXBkYXRlIGNvbW1lbnQgdHlwbyBbNjFdCi0gbyBjdXJsOiBhbGxvdyBib3RoIC0tZXRhZy1jb21wYXJlIGFuZCAtLWV0YWctc2F2ZSB3aXRoIHNhbWUgZmlsZSBuYW1lIFs1Nl0KLSBvIGN1cmxfc2V0dXA6IGRlZmluZSBfV0lOMzJfV0lOTlRfW09TXSBzeW1ib2xzIFsyN10KLSBvIENVUkxJTkZPX0NPTkRJVElPTl9VTk1FVDogcmV0dXJuIHRydWUgZm9yIDMwNCBodHRwIHN0YXR1cyBjb2RlIFs1NF0KLSBvIENVUkxJTkZPX05VTV9DT05ORUNUUzogaW1wcm92ZSBhY2N1cmFjeSBbMjhdCi0gbyBDVVJMT1BUX1dSSVRFRlVOQ1RJT04uMzogYWRkIGlubGluZSBleGFtcGxlIGFuZCBuZXcgc2VlLWFsc28gWzcwXQotIG8gZGlzdDogYWRkIG1haWwtcmNwdC1hbGxvd2ZhaWxzLmQgdG8gdGhlIHRhcmJhbGwgWzM1XQotIG8gZG9jcy9tYWtlOiBnZW5lcmF0ZSBjdXJsLjEgZnJvbSBsaXN0ZWQgZmlsZXMgb25seSBbMzNdCi0gbyBkb2NzOiBhZGQgd2FybmluZ3MgYWJvdXQgRklMRTogVVJMcyBvbiBXaW5kb3dzIFsxOV0KLSBvIGVhc3k6IGZpeCBjdXJsX2Vhc3lfZHVwaGFuZGxlIGZvciBidWlsZHMgbWlzc2luZyBJUHY2IHRoYXQgdXNlIGMtYXJlcyBbMThdCi0gbyBleGFtcGxlcy9zZXNzaW9uaW5mby5jOiBhZGQgaW5jbHVkZSB0byBmaXggY29tcGlsZXIgd2FybmluZyBbNDJdCi0gbyBnaXRodWIgYWN0aW9uczogcnVuIHdoZW4gcHVzaGVkIHRvIG1hc3RlciBvciAqL2NpICsgUFJzIFs2NF0KLSBvIGdudXRsczogYnVtcCBsb3dlc3Qgc3VwcG9ydGVkIHZlcnNpb24gdG8gMy4xLjEwIFs4OV0KLSBvIGdudXRsczogRG9uJ3Qgc2tpcCByZWFsbHkgbG9uZyBjZXJ0aWZpY2F0ZSBmaWVsZHMgWzg2XQotIG8gZ251dGxzOiBlbnN1cmUgVExTIDEuMyB3aGVuIFNSUCBpc24ndCByZXF1ZXN0ZWQgWzc5XQotIG8gZ29waGVyOiBjaGVjayByZW1haW5pbmcgdGltZSBsZWZ0IGR1cmluZyB3cml0ZSBidXN5IGxvb3AgWzc4XQotIG8gZ3NraXQ6IHVzZSBvdXIgaW50ZXJuYWwgc2VsZWN0IHdyYXBwZXIgZm9yIHBvcnRhYmlsaXR5IFsxMl0KLSBvIGh0dHAyOiBGaXggZXJyb25lb3VzIGRlYnVnIG1lc3NhZ2UgdGhhdCBoMiBjb25uZWN0aW9uIGNsb3NlZCBbMjFdCi0gbyBodHRwOiBkb24ndCBjb25zaWRlciB1cGxvYWQgZG9uZSBpZiB0aGUgcmVxdWVzdCBpc24ndCBjb21wbGV0ZWx5IHNlbnQgb2ZmIFs2N10KLSBvIGh0dHA6IGZyZWUgbWVtb3J5IHdoZW4gQWx0LVVzZWQgaGVhZGVyIGNyZWF0aW9uIGZhaWxzIGR1ZSB0byBPT00gWzk4XQotIG8gbGliL21rLWNhLWJ1bmRsZTogc2tpcCBlbXB0eSBjZXJ0cyBbMTEyXQotIG8gbGliNjcwOiB1c2UgdGhlIHNhbWUgV2luMzIgQVBJIGNoZWNrIGFzIGFsbCBvdGhlciBsaWIgdGVzdHMKLSBvIGxpYjogZml4IHR5cG9zIGluIGNvbW1lbnRzIGFuZCBlcnJvcm1lc3NhZ2VzCi0gbyBsaWI6IG5ldmVyIGRlZmluZSBDVVJMX0NBX0JVTkRMRSB3aXRoIGEgZ2V0ZW52IFs1MV0KLSBvIGxpYmN1cmwtbXVsdGkuMzogYWRkZWQgbWlzc2luZyBmdWxsIHN0b3AgWzExMF0KLSBvIGxpYnNzaDogYXZvaWQgb3B0aW9ucyBvdmVycmlkZSBieSBjb25maWd1cmF0aW9uIGZpbGVzIFsxMDRdCi0gbyBsaWJzc2g6IFVzZSBuZXcgRUNEU0Ega2V5IHR5cGVzIHRvIGNoZWNrIGtub3duIGhvc3RzIFs4N10KLSBvIG1haWxtYXA6IGZpeHVwIGEgZmV3IGF1dGhvciBuYW1lcy9maWVsZHMKLSBvIE1ha2VmaWxlLm0zMjogSW1wcm92ZSB3aW5kcmVzIHBhcmFtZXRlciBjb21wYXRpYmlsaXR5IFsxN10KLSBvIE1ha2VmaWxlOiBydW4gdGhlIGNkIGNvbW1hbmRzIGluIGEgc3Vic2hlbGwgWzFdCi0gbyBtZW1kZWJ1ZzogZG9uJ3QgbG9nIGZyZWUoTlVMTCkKLSBvIG1pbWU6IHByb3Blcmx5IGNoZWNrIENvbnRlbnQtVHlwZSBldmVuIGlmIGl0IGhhcyBwYXJhbWV0ZXJzIFs4M10KLSBvIG11bHRpLXNzbDogcmVzZXQgdGhlIFNTTCBiYWNrZW5kIG9uIGBDdXJsX2dsb2JhbF9jbGVhbnVwKClgIFsxMDBdCi0gbyBtdWx0aTogaW1wcm92ZSBwYXJhbWV0ZXIgY2hlY2sgZm9yIGN1cmxfbXVsdGlfcmVtb3ZlX2hhbmRsZSBbNl0KLSBvIG5naHR0cDI6IDEuMTIuMCByZXF1aXJlZCBbNDBdCi0gbyBuZ3RjcDI6IHVwZGF0ZSB0byBnaXQgbWFzdGVyIGZvciB0aGUga2V5IGluc3RhbGxhdGlvbiBBUEkgY2hhbmdlIFs0Nl0KLSBvIG5zczogY2hlY2sgZm9yIFBLMTFfQ3JlYXRlRGlnZXN0Q29udGV4dCgpIHJldHVybmluZyBOVUxMIFs5Nl0KLSBvIG9wZW5zc2w6IGFkYXB0IHRvIGZ1bmN0aW9ucyBtYXJrZWQgYXMgZGVwcmVjYXRlZCBzaW5jZSB2ZXJzaW9uIDMgWzM0XQotIG8gT1M0MDA6IHVwZGF0ZSBzdHJpbmdzIGZvciBjY3NpZC1pZmllciAoZml4ZXMgdGhlIGJ1aWxkKSBbMzBdCi0gbyBvdXRwdXQuZDogcXVvdGUgdGhlIFVSTCB3aGVuIGdsb2JiaW5nIFs0OF0KLSBvIHBhY2thZ2VzOiBhZGQgT1M0MDAvY2hrc3RyaW5ncy5jIHRvIHRoZSBkaXN0IFszOV0KLSBvIFJFTEVBU0UtUFJPQ0VEVVJFLm1kOiBydW4gdGhlIGNvcHlyaWdodC5wbCBzY3JpcHQhCi0gbyBSZXZlcnQgImZpbGU6IG9uIFdpbmRvd3MsIHJlZnVzZSBwYXRocyB0aGF0IHN0YXJ0IHdpdGggXFwiIFs1MF0KLSBvIHJ1bnRlc3RzOiBhbHdheXMgcHV0IHRlc3QgbnVtYmVyIGluIHNlcnZlcmNtZCBmaWxlCi0gbyBydW50ZXN0czogcHJvdmlkZSBuaWNlciBlcnJvcm1zZyB3aGVuIHByb3RvY29sICJkdW1wIiBmaWxlIGlzIGVtcHR5Ci0gbyBzY2hhbm5lbDogRml4IGJsb2NraW5nIHRpbWVvdXQgbG9naWMgWzc2XQotIG8gc2NoYW5uZWw6IHN1cHBvcnQgLlAxMiBvciAuUEZYIGNsaWVudCBjZXJ0aWZpY2F0ZXMgWzY1XQotIG8gc2NyaXB0cy9yZWxlYXNlLW5vdGVzLnBsOiBhZGQgaGVscGVyIHNjcmlwdCBmb3IgUkVMRUFTRS1OT1RFUyBtYWludGVuYW5jZQotIG8gc2VsZWN0OiBtYWtlIEN1cmxfc29ja2V0X2NoZWNrIHRha2UgdGltZWRpZmZfdCB0aW1lb3V0IFsxMDldCi0gbyBzZWxlY3Q6IG1vdmUgZHVwbGljYXRlIHNlbGVjdCBwcmVwYXJhdGlvbiBjb2RlIGludG8gQ3VybF9zZWxlY3QgWzE0XQotIG8gc2VsZWN0OiByZW1vdmUgdHlwZWNhc3QgZnJvbSBTT0NLRVRfV1JJVEFCTEUvUkVBREFCTEUgbWFjcm9zIFs2OV0KLSBvIHNlcnZlci9nZXRwYXJ0OiBtYWtlIHRoZSAiWE1MLXBhcnNlciIgc3RyaWN0ZXIgWzIwXQotIG8gc2VydmVyL3Jlc29sdmU6IHJlbW92ZSBBSV9DQU5PTk5BTUUgdG8gbWFrZSBtYWNvcyB0ZWxsIHRoZSB0cnV0aCBbNjNdCi0gbyBzbXRwOiBzZXQgYXV0aCBjb3JyZWN0bHkgWzEwM10KLSBvIHNvY2tmaWx0OiBhZGQgbG9nbXNnIG91dHB1dCB0byBzZWxlY3Rfd3Nfd2FpdF90aHJlYWQgb24gV2luZG93cyBbMzJdCi0gbyBzb2NrZmlsdDogZml4IGJyb2tlbiBwaXBlIG9uIFdpbmRvd3MgdG8gYmUgcmVhZHkgaW4gc2VsZWN0X3dzIFs5NV0KLSBvIHNvY2tmaWx0OiBmaXggaGFuZGxpbmcgb2YgcmVhZHkgY2xvc2VkIHNvY2tldHMgb24gV2luZG93cwotIG8gc29ja2ZpbHQ6IGZpeCByYWNlLWNvbmRpdGlvbiBvZiB3YWl0aW5nIHRocmVhZHMgYW5kIGV2ZW50IGhhbmRsaW5nIFs1OF0KLSBvIHNvY2tzOiBGaXggYmxvY2tpbmcgdGltZW91dCBsb2dpYyBbNzddCi0gbyBzcmM6IFJlbW92ZSBDOTkgY29uc3RydWN0cyB0byBlbnN1cmUgQzg5IGNvbXBsaWFuY2UgWzgyXQotIG8gU1NMQ0VSVFMubWQ6IEZpeCBleGFtcGxlIGNvZGUgZm9yIHNldHRpbmcgQ0EgY2VydCBmaWxlIFszMV0KLSBvIHRlc3QxMTQ4OiB0b2xlcmF0ZSBwcm9ncmVzcyB1cGRhdGVzIGJldHRlciAoYWdhaW4pIFs2MF0KLSBvIHRlc3QxMTU0OiBzZXQgYSBwcm9wZXIgbmFtZQotIG8gdGVzdDExNzc6IHZlcmlmeSB0aGF0IGFsbCB0aGUgQ1VSTF9WRVJTSU9OXyBiaXRzIGFyZSBkb2N1bWVudGVkCi0gbyB0ZXN0MTU2NjogdmVyaWZ5IC0tZXRhZy1jb21wYXJlIHRoYXQgZ2V0cyBhIDMwNCBiYWNrIFs1M10KLSBvIHRlc3QxOTA4OiBhdm9pZCB1c2luZyBmaXhlZCBwb3J0IG51bWJlciBpbiB0ZXN0IGRhdGEgWzc1XQotIG8gdGVzdDIwNDM6IHVzZSByZXZva2VkLmJhZHNzbC5jb20gaW5zdGVhZCBvZiByZXZva2VkLmdyYy5jb20gWzk0XQotIG8gdGVzdDIxMDA6IGZpeCBzdGF0aWMgcG9ydCBpbnN0ZWFkIG9mIGR5bmFtaWMgdmFsdWUgYmVpbmcgdXNlZAotIG8gdGVzdHMvZGF0YTogZml4IHNvbWUgWE1MIGZvcm1hdHRpbmcgaXNzdWVzIGluIHRlc3QgY2FzZXMKLSBvIHRlc3RzL0ZJTEVGT1JNQVQ6IGNvbnZlcnRlZCB0byBtYXJrZG93biBhbmQgZXh0ZW5kZWQgWzg0XQotIG8gdGVzdHMvc2VydmVyL3V0aWwuYzogdXNlIGN1cmxfb2ZmX3QgaW5zdGVhZCBvZiBsb25nIGZvciBwaWQKLSBvIHRlc3RzOiBhZGQgJU5PTElTVEVOUE9SVCBhbmQgdXNlIGl0IFs5M10KLSBvIHRlc3RzOiBhZGQgV2luZG93cyBjb21wYXRpYmxlIHBpZHdhaXQgbGlrZSBwaWRraWxsIGFuZCBwaWR0ZXJtCi0gbyB0ZXN0czogZml4IGNvbmZsaWN0IGJldHdlZW4gQ3lnd2luL21zeXMgYW5kIFdpbmRvd3MgUElEcyBbODFdCi0gbyB0ZXN0czogaW50cm9kdWNlIHByZXByb2Nlc3NlZCB0ZXN0IGNhc2VzCi0gbyB0ZXN0czogbWFrZSBQeXRob24tYmFzZWQgc2VydmVycyBjb21wYXRpYmxlIHdpdGggUHl0aG9uIDIgYW5kIDMgWzIyXQotIG8gdGVzdHM6IG1ha2UgcnVudGVzdHMgY2hlY2sgdGhhdCBkaXNhYmxlZCB0ZXN0cyBleGlzdHMgWzEwOF0KLSBvIHRlc3RzOiBtb3ZlIHBpbmdwb25nIHNlcnZlciB0byBkeW5hbWljIGxpc3RlbmluZyBwb3J0Ci0gbyB0ZXN0czogcmVtb3ZlIHB5dGhvbl9kZXBlbmRlbmNpZXMgZm9yIHNtYnNlcnZlciBmcm9tIG91ciB0cmVlIFsxNl0KLSBvIHRlc3RzOiBydW4gdGhlIFJUU1AgdGVzdCBzZXJ2ZXIgb24gYSBkeW5hbWljIHBvcnQgbnVtYmVyIFs5MV0KLSBvIHRlc3RzOiBydW4gdGhlIFNPQ0tTIHRlc3Qgc2VydmVyIG9uIGEgZHluYW1pYyBwb3J0IG51bWJlciBbOTldCi0gbyB0ZXN0czogcnVuIHRoZSBzd3Mgc2VydmVyIG9uICJhbnkgcG9ydCIgWzg1XQotIG8gdGVzdHM6IHJ1biB0aGUgVEZUUCB0ZXN0IHNlcnZlciBvbiBhIGR5bmFtaWMgcG9ydCBudW1iZXIgWzEwMV0KLSBvIHRlc3RzOiB1c2UgQ3lnd2luL21zeXMgUElEcyBmb3Igc3R1bm5lbCBhbmQgc3NoZCBvbiBXaW5kb3dzCi0gbyB0bHM6IHJlbW92ZSB0aGUgQkFDS0VORCBkZWZpbmUga2x1ZGdlIGZyb20gbW9zdCBiYWNrZW5kcyBbMjNdCi0gbyB0b29sOiBkbyBub3QgZGVjbGFyZSBmdW5jdGlvbnMgd2l0aCBDdXJsXyBwcmVmaXggWzY2XQotIG8gdG9vbF9vcGVyYXRlOiBmaXggYWRkX3BhcmFsbGVsX3RyYW5zZmVycyB3aGVuIG1vcmUgYXJlIGluIHF1ZXVlIFsxMF0KLSBvIHRyYW5zZmVyOiBjYXAgcmV0cmllcyBvZiAiZGVhZCBjb25uZWN0aW9ucyIgdG8gNSBbMTNdCi0gbyB0cmFuc2ZlcjogU3dpdGNoIFBVVCB0byBHRVQvSEVBRCBvbiAzMDMgcmVkaXJlY3QgWzExMV0KLSBvIHRyYXZpczogYnVtcCB0aGUgd29sZnNzbCBDSSBidWlsZCB0byB1c2UgNC40LjAgWzk3XQotIG8gdHJhdmlzOiB1cGRhdGUgdGhlIG5ndGNwMiBidWlsZCB0byB1c2UgdGhlIGxhdGVzdCBPcGVuU1NMIHBhdGNoCi0gbyB1cmw6IGFsbG93IG5vbi1IVFRQUyBhbHRzdmMtbWF0Y2hpbmcgZm9yIGRlYnVnIGJ1aWxkcyBbNjJdCi0gbyB2ZXJzaW9uOiBhZGQgJ2NhaW5mbycgYW5kICdjYXBhdGgnIHRvIHZlcnNpb24gaW5mbyBzdHJ1Y3QgWzU1XQotIG8gdmVyc2lvbjogaW5jcmVhc2UgYnVmZmVyIHNwYWNlIGZvciBzc2wgdmVyc2lvbiBvdXRwdXQgWzc0XQotIG8gdmVyc2lvbjogc2tpcCBpZG4yX2NoZWNrX3ZlcnNpb24oKSBjaGVjayBhbmQgYWRkIHByZWNhdXRpb24gWzExM10KLSBvIHZxdWljOiBhZGQgc3VwcG9ydCBmb3IgR251VExTIGJhY2tlbmQgb2Ygbmd0Y3AyIFs0MV0KLSBvIHZ0bHM6IGZpeCBzc2xfY29uZmlnIG1lbW9yeS1sZWFrIG9uIG91dC1vZi1tZW1vcnkgWzExXQotIG8gd2Fybmxlc3M6IHJlbW92ZSBjb2RlIGJsb2NrIGZvciBpY2MgdGhhdCBkaWRuJ3Qgd29yayBbNzJdCi0gbyB3aW5kb3dzOiBlbmFibGUgVW5peFNvY2tldHMgd2l0aCBhbGwgYnVpbGQgdG9vbGNoYWlucwotIG8gd2luZG93czogc3VwcHJlc3MgVUkgaW4gYWxsIENyeXB0QWNxdWlyZUNvbnRleHQoKSBjYWxscyBbN10KKyBvIGNpcnJ1cy1jaTogZGlzYWJsZSBGcmVlQlNEIDEzIChhZ2FpbikgWzE0XQorIG8gQ3VybF9pbmV0X250b3A6IGFsd2F5cyBjaGVjayB0aGUgcmV0dXJuIGNvZGUgWzEyXQorIG8gQ1VSTE9QVF9SRUFERlVOQ1RJT04uMzogcHJvdmlkZSB0aGUgdXBsb2FkIGRhdGEgc2l6ZSB1cCBmcm9udCBbNV0KKyBvIERZTkJVRi5tZDogZml4IGEgdHlwbzogdHJhaWwgPT4gdGFpbCBbMl0KKyBvIGVzY2FwZTogbWFrZSB0aGUgVVJMIGRlY29kZSBhYmxlIHRvIHJlamVjdCBvbmx5ICUwMC1ieXRlcworIG8gZXNjYXBlOiB6ZXJvIGxlbmd0aCBpbnB1dCBzaG91bGQgcmV0dXJuIGEgemVybyBsZW5ndGggb3V0cHV0IFsxMV0KKyBvIGV4YW1wbGVzL211bHRpdGhyZWFkLmM6IGNhbGwgY3VybF9nbG9iYWxfY2xlYW51cCgpIFsxNl0KKyBvIGh0dHAyOiBzZXQgdGhlIGNvcnJlY3QgVVJMIGluIHB1c2hlZCB0cmFuc2ZlcnMgWzldCisgbyBodHRwOiBmaXggcHJveHkgYXV0aCB3aXRoIGJsYW5rIHBhc3N3b3JkIFszXQorIG8gbWJlZHRsczogZml4IGJ1aWxkIHdpdGggZGlzYWJsZWQgcHJveHkgc3VwcG9ydCBbN10KKyBvIG5ndGNwMjogc3luYyB3aXRoIGN1cnJlbnQgbWFzdGVyIFsxNV0KKyBvIG9wZW5zc2w6IEZpeCBjb21waWxhdGlvbiBvbiBXaW5kb3dzIHdoZW4gbmd0Y3AyIGlzIGVuYWJsZWQgWzEwXQorIG8gUmV2ZXJ0ICJtdWx0aTogaW1wbGVtZW50IHdhaXQgdXNpbmcgd2luc29jayBldmVudHMiIFs2XQorIG8gc2VuZGY6IGltcHJvdmUgdGhlIG1lc3NhZ2Ugb24gY2xpZW50IHdyaXRlIGVycm9ycyBbMTNdCisgbyB0ZXJtaW5vbG9neTogY2FsbCB0aGVtIG51bGwtdGVybWluYXRlZCBzdHJpbmdzIFsxXQorIG8gdG9vbF9jYl9oZHI6IEZpeCBldGFnIHdhcm5pbmcgb3V0cHV0IGFuZCByZXR1cm4gY29kZSBbNF0KKyBvIHVybDogYWxsb3cgdXNlciArIHBhc3N3b3JkIHRvIGNvbnRhaW4gImNvbnRyb2wgY29kZXMiIGZvciBIVFRQKFMpIFs4XQorIG8gdnRsczogY29tcGFyZSBjZXJ0IGJsb2Igd2hlbiBmaW5kaW5nIGEgY29ubmVjdGlvbiB0byByZXVzZSBbMTddCiAKIFRoaXMgcmVsZWFzZSBpbmNsdWRlcyB0aGUgZm9sbG93aW5nIGtub3duIGJ1Z3M6CiAKQEAgLTE1OCwxMzMgKzM0LDMwIEBACiBUaGlzIHJlbGVhc2Ugd291bGQgbm90IGhhdmUgbG9va2VkIGxpa2UgdGhpcyB3aXRob3V0IGhlbHAsIGNvZGUsIHJlcG9ydHMgYW5kCiBhZHZpY2UgZnJvbSBmcmllbmRzIGxpa2UgdGhlc2U6CiAKLSAgQWxhaW4gTWluaXVzc2ksIEFsZXhhbmRlciBWLiBUaWtob25vdiwgQWxleCBHYXlub3IsCi0gIEFuZGVyc29uIFRvc2hpeXVraSBTYXNha2ksIEFuZHJldyBLdXJ1c2hpbiwgQXNod2luIE1ldHBhbGxpLCBCasO2cm4gU3RlbmJlcmcsCi0gIEJyYWQgS2luZywgQnJpYW4gQmVyZ2Vyb24sIENhbHZpbiBCdWNrbGV5LCBDaHJpcyBSb2JlcnRzLCBDaHJpc3RvcGggS3JleSwKLSAgQ2zDqW1lbnQgTm90aW4sIERhaWtpIFVlbm8sIERhbiBGYW5kcmljaCwgRGFuaWVsIEd1c3RhZnNzb24sIERhbmllbCBTdGVuYmVyZywKLSAgZGF2aWRlZGVjIG9uIGdpdGh1YiwgRGVubmlzIEZlbHNpbmcsIERpbWEgVGlzbmVrLCBEaXJramFuIEJ1c3NpbmssCi0gIEVtaWwgRW5nbGVyLCBFcmljIFNhdXZhZ2VhdSwgRXlsZW0gVWd1cmVsLCBGcmFuayBHZXZhZXJ0cywKLSAgRnVjY0R1Y2Mgb24gZ2l0aHViLCBHYXZpbiBXb25nLCBHaWxsZXMgVm9sbGFudCwgR2lzbGUgVmFuZW0sIEhhbyBXdSwKLSAgSGFycnkgU2ludG9uZW4sIGh5ZHJhMzMzMyBvbiBnaXRodWIsIEphbWVzIEZ1bGxlciwgSm9oYW5uZXMgU2NoaW5kZWxpbiwKLSAgSm9uIFJ1bXNleSwgSlAgTWVucywgS2FtaWwgRHVka2EsIEthcmwgQ2hlbiwgS3dvbi1Zb3VuZyBDaG9pLCBMZW8gTmVhdCwKLSAgTWFrc2ltIFN0c2VwYW5lbmthLCBNYXJjZWwgUmFhZCwgTWFyYyBIw7Zyc2tlbiwgTWFya3VzIE9sc3NvbiwgTWF0aGlhcyBHdW16LAotICBNaWNoYWVsIEthdWZtYW5uLCBNaWNoYWVsIE9zaXBvdiwgTXVoYW1tYWQgSGVyZGlhbnN5YWgsIE5hdGhhbmllbCBSLiBMZXdpcywKLSAgUGF0cmljayBNb25uZXJhdCwgUGF1bCBWaXhpZSwgUmF5IFNhdGlybywgUmljaSBMYWtlLCBSaWthcmQgRmFsa2Vib3JuLAotICBSb2dlciBPcnIsIFJvc3MgQnVydG9uLCBTaW1vbiBDaGFsaWZvdXgsIFN0ZXBhbiBFZnJlbW92LCBTdGV2ZW4gUGVubnksCi0gIHRoYW5oY2h1bmdidGMgb24gZ2l0aHViLCBUaW1vdGhlIExpdHQsIFRpbSBTZWRsbWV5ZXIsIFRvbW15IFBldHR5LAotICBWaWt0b3IgU3pha2F0cywgWXVyaSBTbG9ib2R5YW55dWssCi0gICg2NSBjb250cmlidXRvcnMpCisgIEFsZXhhbmRyZSBQaW9uLCBCYXJ1Y2ggU2lhY2gsIGNvaW5odWJzIG9uIGdpdGh1YiwgRGFuaWVsIFN0ZW5iZXJnLAorICBEZW5pcyBCYXJ1xI1pxIcsIEdlcmdlbHkgTmFneSwgSmF2aWVyIEJsYXpxdWV6LCBKb25hdGhhbiBDYXJkb3NvIE1hY2hhZG8sCisgIEpvbiBKb2huc29uIEpyLCBLcmlzdG9mZmVyIEdsZWRpdHNjaCwgTHVjaWVuIFrDvHJjaGVyLCBOaWNvbGFzIFN0ZXJjaGVsZSwKKyAgcWlhbmR1MjAwNiBvbiBnaXRodWIsIFJheSBTYXRpcm8sIFNpdmEgU2l2YXJhbWFuLCB0bWtrIG9uIGdpdGh1YiwKKyAgKDE2IGNvbnRyaWJ1dG9ycykKIAogICAgICAgICBUaGFua3MhIChhbmQgc29ycnkgaWYgSSBmb3Jnb3QgdG8gbWVudGlvbiBzb21lb25lKQogCiBSZWZlcmVuY2VzIHRvIGJ1ZyByZXBvcnRzIGFuZCBkaXNjdXNzaW9ucyBvbiBpc3N1ZXM6CiAKLSBbMV0gPSBodHRwczovL2N1cmwuaGF4eC5zZS9idWcvP2k9NTA3MwotIFsyXSA9IGh0dHBzOi8vY3VybC5oYXh4LnNlL2J1Zy8/aT01MDYwCi0gWzNdID0gaHR0cHM6Ly9jdXJsLmhheHguc2UvYnVnLz9pPTUwNjcKLSBbNF0gPSBodHRwczovL2N1cmwuaGF4eC5zZS9idWcvP2k9NTA2OQotIFs1XSA9IGh0dHBzOi8vY3VybC5oYXh4LnNlL2J1Zy8/aT00OTgxCi0gWzZdID0gaHR0cHM6Ly9jdXJsLmhheHguc2UvYnVnLz9pPTUxMTYKLSBbN10gPSBodHRwczovL2N1cmwuaGF4eC5zZS9idWcvP2k9NTA4OAotIFs4XSA9IGh0dHBzOi8vY3VybC5oYXh4LnNlL2J1Zy8/aT00ODcwCi0gWzldID0gaHR0cHM6Ly9jdXJsLmhheHguc2UvYnVnLz9pPTUwOTUKLSBbMTBdID0gaHR0cHM6Ly9jdXJsLmhheHguc2UvYnVnLz9pPTQ5MzcKLSBbMTFdID0gaHR0cHM6Ly9jdXJsLmhheHguc2UvYnVnLz9pPTUxMDgKLSBbMTJdID0gaHR0cHM6Ly9jdXJsLmhheHguc2UvYnVnLz9pPTUxMDYKLSBbMTNdID0gaHR0cHM6Ly9jdXJsLmhheHguc2UvbWFpbC9saWItMjAyMC0wMy8wMDQ0Lmh0bWwKLSBbMTRdID0gaHR0cHM6Ly9jdXJsLmhheHguc2UvYnVnLz9pPTUwNzgKLSBbMTVdID0gaHR0cHM6Ly9jdXJsLmhheHguc2UvYnVnLz9pPTQ5NTQKLSBbMTZdID0gaHR0cHM6Ly9jdXJsLmhheHguc2UvYnVnLz9pPTUwOTQKLSBbMTddID0gaHR0cHM6Ly9jdXJsLmhheHguc2UvYnVnLz9pPTUwOTkKLSBbMThdID0gaHR0cHM6Ly9jdXJsLmhheHguc2UvYnVnLz9pPTUwOTcKLSBbMTldID0gaHR0cHM6Ly9jdXJsLmhheHguc2UvYnVnLz9pPTUwNjYKLSBbMjBdID0gaHR0cHM6Ly9jdXJsLmhheHguc2UvYnVnLz9pPTUwNzEKLSBbMjFdID0gaHR0cHM6Ly9jdXJsLmhheHguc2UvYnVnLz9pPTUxMTgKLSBbMjJdID0gaHR0cHM6Ly9jdXJsLmhheHguc2UvYnVnLz9pPTUxMDQKLSBbMjNdID0gaHR0cHM6Ly9jdXJsLmhheHguc2UvYnVnLz9pPTUxMjIKLSBbMjRdID0gaHR0cHM6Ly9jdXJsLmhheHguc2UvYnVnLz9pPTUxMjAKLSBbMjVdID0gaHR0cHM6Ly9jdXJsLmhheHguc2UvYnVnLz9pPTUxMTcKLSBbMjZdID0gaHR0cHM6Ly9jdXJsLmhheHguc2UvYnVnLz9pPTUxMjYKLSBbMjddID0gaHR0cHM6Ly9jdXJsLmhheHguc2UvYnVnLz9pPTQ5OTUKLSBbMjhdID0gaHR0cHM6Ly9jdXJsLmhheHguc2UvYnVnLz9pPTUxMzUKLSBbMjldID0gaHR0cHM6Ly9jdXJsLmhheHguc2UvYnVnLz9pPTUwOTEKLSBbMzBdID0gaHR0cHM6Ly9jdXJsLmhheHguc2UvYnVnLz9pPTUxMzIKLSBbMzFdID0gaHR0cHM6Ly9jdXJsLmhheHguc2UvbWFpbC9saWItMjAyMC0wMy8wMTIxLmh0bWwKLSBbMzJdID0gaHR0cHM6Ly9jdXJsLmhheHguc2UvYnVnLz9pPTUwODYKLSBbMzNdID0gaHR0cHM6Ly9jdXJsLmhheHguc2UvYnVnLz9pPTUxNDkKLSBbMzRdID0gaHR0cHM6Ly9jdXJsLmhheHguc2UvYnVnLz9pPTUxMzkKLSBbMzVdID0gaHR0cHM6Ly9jdXJsLmhheHguc2UvYnVnLz9pPTUxNDYKLSBbMzZdID0gaHR0cHM6Ly9jdXJsLmhheHguc2UvYnVnLz9pPTUxMjQKLSBbMzddID0gaHR0cHM6Ly9jdXJsLmhheHguc2UvYnVnLz9pPTUxNDQKLSBbMzhdID0gaHR0cHM6Ly9jdXJsLmhheHguc2UvYnVnLz9pPTUxNDEKLSBbMzldID0gaHR0cHM6Ly9jdXJsLmhheHguc2UvYnVnLz9pPTUxNDIKLSBbNDBdID0gaHR0cHM6Ly9jdXJsLmhheHguc2UvYnVnLz9pPTUxNDAKLSBbNDFdID0gaHR0cHM6Ly9jdXJsLmhheHguc2UvYnVnLz9pPTUxNDgKLSBbNDJdID0gaHR0cHM6Ly9jdXJsLmhheHguc2UvYnVnLz9pPTUxNzEKLSBbNDNdID0gaHR0cHM6Ly9jdXJsLmhheHguc2UvYnVnLz9pPTUxNjkKLSBbNDRdID0gaHR0cHM6Ly9jdXJsLmhheHguc2UvYnVnLz9pPTUxNjQKLSBbNDVdID0gaHR0cHM6Ly9jdXJsLmhheHguc2UvYnVnLz9pPTUxNjUKLSBbNDZdID0gaHR0cHM6Ly9jdXJsLmhheHguc2UvYnVnLz9pPTUxNjYKLSBbNDddID0gaHR0cHM6Ly9jdXJsLmhheHguc2UvYnVnLz9pPTUxODkKLSBbNDhdID0gaHR0cHM6Ly9jdXJsLmhheHguc2UvYnVnLz9pPTUxNjAKLSBbNDldID0gaHR0cHM6Ly9jdXJsLmhheHguc2UvYnVnLz9pPTUxNTcKLSBbNTBdID0gaHR0cHM6Ly9jdXJsLmhheHguc2UvbWFpbC9hcmNoaXZlLTIwMjAtMDQvMDAxMy5odG1sCi0gWzUxXSA9IGh0dHBzOi8vZ2l0aHViLmNvbS9jdXJsL2N1cmwvY29tbWl0LzZkZTc1NmMjcjM4MTI3MDMwCi0gWzUyXSA9IGh0dHBzOi8vY3VybC5oYXh4LnNlL2J1Zy8/aT01MDM0Ci0gWzUzXSA9IGh0dHBzOi8vY3VybC5oYXh4LnNlL2J1Zy8/aT01MTg2Ci0gWzU0XSA9IGh0dHBzOi8vY3VybC5oYXh4LnNlL2J1Zy8/aT01MTgxCi0gWzU1XSA9IGh0dHBzOi8vY3VybC5oYXh4LnNlL2J1Zy8/aT01MTUwCi0gWzU2XSA9IGh0dHBzOi8vY3VybC5oYXh4LnNlL2J1Zy8/aT01MTc5Ci0gWzU3XSA9IGh0dHBzOi8vY3VybC5oYXh4LnNlL2J1Zy8/aT01MTczCi0gWzU4XSA9IGh0dHBzOi8vY3VybC5oYXh4LnNlL2J1Zy8/aT01MTU2Ci0gWzU5XSA9IGh0dHBzOi8vY3VybC5oYXh4LnNlL2J1Zy8/aT01MTc0Ci0gWzYwXSA9IGh0dHBzOi8vY3VybC5oYXh4LnNlL2J1Zy8/aT01MTk0Ci0gWzYxXSA9IGh0dHBzOi8vY3VybC5oYXh4LnNlL2J1Zy8/aT01Mjc5Ci0gWzYyXSA9IGh0dHBzOi8vY3VybC5oYXh4LnNlL2J1Zy8/aT01MjA1Ci0gWzYzXSA9IGh0dHBzOi8vY3VybC5oYXh4LnNlL2J1Zy8/aT01MjAyCi0gWzY0XSA9IGh0dHBzOi8vY3VybC5oYXh4LnNlL2J1Zy8/aT01MjAxCi0gWzY1XSA9IGh0dHBzOi8vY3VybC5oYXh4LnNlL2J1Zy8/aT01MTkzCi0gWzY2XSA9IGh0dHBzOi8vY3VybC5oYXh4LnNlL2J1Zy8/aT01MjE5Ci0gWzY3XSA9IGh0dHBzOi8vY3VybC5oYXh4LnNlL2J1Zy8/aT00OTE5Ci0gWzY4XSA9IGh0dHBzOi8vY3VybC5oYXh4LnNlL2J1Zy8/aT01MTk2Ci0gWzY5XSA9IGh0dHBzOi8vY3VybC5oYXh4LnNlL2J1Zy8/aT01MTkwCi0gWzcwXSA9IGh0dHBzOi8vY3VybC5oYXh4LnNlL2J1Zy8/aT01MTkyCi0gWzcxXSA9IGh0dHBzOi8vY3VybC5oYXh4LnNlL2J1Zy8/aT01MDk2Ci0gWzcyXSA9IGh0dHBzOi8vY3VybC5oYXh4LnNlL2J1Zy8/aT01MDk2Ci0gWzczXSA9IGh0dHBzOi8vY3VybC5oYXh4LnNlL2J1Zy8/aT01MjA2Ci0gWzc0XSA9IGh0dHBzOi8vY3VybC5oYXh4LnNlL2J1Zy8/aT01MjIyCi0gWzc1XSA9IGh0dHBzOi8vY3VybC5oYXh4LnNlL2J1Zy8/aT01MjI1Ci0gWzc2XSA9IGh0dHBzOi8vY3VybC5oYXh4LnNlL2J1Zy8/aT01MTc3Ci0gWzc3XSA9IGh0dHBzOi8vY3VybC5oYXh4LnNlL2J1Zy8/aT01MjIwCi0gWzc4XSA9IGh0dHBzOi8vY3VybC5oYXh4LnNlL2J1Zy8/aT01MjE0Ci0gWzc5XSA9IGh0dHBzOi8vY3VybC5oYXh4LnNlL2J1Zy8/aT01MjIzCi0gWzgwXSA9IGh0dHBzOi8vZ2l0aHViLmNvbS9jdXJsL2N1cmwvaXNzdWVzLzUxODIjaXNzdWVjb21tZW50LTYxMTYzODAwOAotIFs4MV0gPSBodHRwczovL2N1cmwuaGF4eC5zZS9idWcvP2k9NTE4OAotIFs4Ml0gPSBodHRwczovL2N1cmwuaGF4eC5zZS9idWcvP2k9NTI1NAotIFs4M10gPSBodHRwczovL2N1cmwuaGF4eC5zZS9idWcvP2k9NTI1NgotIFs4NF0gPSBodHRwczovL2N1cmwuaGF4eC5zZS9idWcvP2k9NTI2MQotIFs4NV0gPSBodHRwczovL2N1cmwuaGF4eC5zZS9idWcvP2k9NTI0NwotIFs4Nl0gPSBodHRwczovL2N1cmwuaGF4eC5zZS9idWcvP2k9NTI3MQotIFs4N10gPSBodHRwczovL2N1cmwuaGF4eC5zZS9idWcvP2k9NTI1MgotIFs4OF0gPSBodHRwczovL2N1cmwuaGF4eC5zZS9idWcvP2k9NTA2MwotIFs4OV0gPSBodHRwczovL2N1cmwuaGF4eC5zZS9idWcvP2k9NTI3NgotIFs5MF0gPSBodHRwczovL2N1cmwuaGF4eC5zZS9idWcvP2k9NTIxMwotIFs5MV0gPSBodHRwczovL2N1cmwuaGF4eC5zZS9idWcvP2k9NTI3MgotIFs5Ml0gPSBodHRwczovL2N1cmwuaGF4eC5zZS9idWcvP2k9NDc2NAotIFs5M10gPSBodHRwczovL2N1cmwuaGF4eC5zZS9idWcvP2k9NTI3MAotIFs5NF0gPSBodHRwczovL2N1cmwuaGF4eC5zZS9idWcvP2k9NTIzMwotIFs5NV0gPSBodHRwczovL2N1cmwuaGF4eC5zZS9idWcvP2k9NTIyOAotIFs5Nl0gPSBodHRwczovL2N1cmwuaGF4eC5zZS9idWcvP2k9NTMwMgotIFs5N10gPSBodHRwczovL2N1cmwuaGF4eC5zZS9idWcvP2k9NTMwMQotIFs5OF0gPSBodHRwczovL2N1cmwuaGF4eC5zZS9idWcvP2k9NTI2OAotIFs5OV0gPSBodHRwczovL2N1cmwuaGF4eC5zZS9idWcvP2k9NTI2NgotIFsxMDBdID0gaHR0cHM6Ly9jdXJsLmhheHguc2UvYnVnLz9pPTUyNTUKLSBbMTAxXSA9IGh0dHBzOi8vY3VybC5oYXh4LnNlL2J1Zy8/aT01MjY1Ci0gWzEwM10gPSBodHRwczovL2N1cmwuaGF4eC5zZS9idWcvP2k9NTI5NAotIFsxMDRdID0gaHR0cHM6Ly9jdXJsLmhheHguc2UvYnVnLz9pPTQ5NzIKLSBbMTA4XSA9IGh0dHBzOi8vY3VybC5oYXh4LnNlL2J1Zy8/aT01Mjg4Ci0gWzEwOV0gPSBodHRwczovL2N1cmwuaGF4eC5zZS9idWcvP2k9NTI0MAotIFsxMTBdID0gaHR0cHM6Ly9jdXJsLmhheHguc2UvYnVnLz9pPTUyODUKLSBbMTExXSA9IGh0dHBzOi8vY3VybC5oYXh4LnNlL2J1Zy8/aT01MjM3Ci0gWzExMl0gPSBodHRwczovL2N1cmwuaGF4eC5zZS9idWcvP2k9NTI3OAotIFsxMTNdID0gaHR0cHM6Ly9jdXJsLmhheHguc2UvYnVnLz9pPTUyODEKKyBbMV0gPSBodHRwczovL2N1cmwuaGF4eC5zZS9idWcvP2k9NTU5OAorIFsyXSA9IGh0dHBzOi8vY3VybC5oYXh4LnNlL2J1Zy8/aT01NTk5CisgWzNdID0gaHR0cHM6Ly9jdXJsLmhheHguc2UvYnVnLz9pPTU2MTMKKyBbNF0gPSBodHRwczovL2N1cmwuaGF4eC5zZS9idWcvP2k9NTYxMgorIFs1XSA9IGh0dHBzOi8vY3VybC5oYXh4LnNlL2J1Zy8/aT01NjA3CisgWzZdID0gaHR0cHM6Ly9jdXJsLmhheHguc2UvYnVnLz9pPTU2MzEKKyBbN10gPSBodHRwczovL2N1cmwuaGF4eC5zZS9idWcvP2k9NTYxNQorIFs4XSA9IGh0dHBzOi8vY3VybC5oYXh4LnNlL2J1Zy8/aT01NTgyCisgWzldID0gaHR0cHM6Ly9jdXJsLmhheHguc2UvYnVnLz9pPTU1ODkKKyBbMTBdID0gaHR0cHM6Ly9jdXJsLmhheHguc2UvYnVnLz9pPTU2MDYKKyBbMTFdID0gaHR0cHM6Ly9jdXJsLmhheHguc2UvYnVnLz9pPTU2MDEKKyBbMTJdID0gaHR0cHM6Ly9jdXJsLmhheHguc2UvYnVnLz9pPTU0MTIKKyBbMTNdID0gaHR0cHM6Ly9jdXJsLmhheHguc2UvYnVnLz9pPTU1OTQKKyBbMTRdID0gaHR0cHM6Ly9jdXJsLmhheHguc2UvYnVnLz9pPTU2MjgKKyBbMTVdID0gaHR0cHM6Ly9jdXJsLmhheHguc2UvYnVnLz9pPTU2MjQKKyBbMTZdID0gaHR0cHM6Ly9jdXJsLmhheHguc2UvYnVnLz9pPTU2MjIKKyBbMTddID0gaHR0cHM6Ly9jdXJsLmhheHguc2UvYnVnLz9pPTU2MTcKZGlmZiAtLWdpdCBhL2FjbG9jYWwubTQgYi9hY2xvY2FsLm00CmluZGV4IGMyODdkMzEuLmVkYjE3ZTQgMTAwNjQ0Ci0tLSBhL2FjbG9jYWwubTQKKysrIGIvYWNsb2NhbC5tNApAQCAtMSw2ICsxLDYgQEAKLSMgZ2VuZXJhdGVkIGF1dG9tYXRpY2FsbHkgYnkgYWNsb2NhbCAxLjE2LjIgLSotIEF1dG9jb25mIC0qLQorIyBnZW5lcmF0ZWQgYXV0b21hdGljYWxseSBieSBhY2xvY2FsIDEuMTYuMSAtKi0gQXV0b2NvbmYgLSotCiAKLSMgQ29weXJpZ2h0IChDKSAxOTk2LTIwMjAgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuCisjIENvcHlyaWdodCAoQykgMTk5Ni0yMDE4IEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLgogCiAjIFRoaXMgZmlsZSBpcyBmcmVlIHNvZnR3YXJlOyB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uCiAjIGdpdmVzIHVubGltaXRlZCBwZXJtaXNzaW9uIHRvIGNvcHkgYW5kL29yIGRpc3RyaWJ1dGUgaXQsCkBAIC0yMCw3ICsyMCw3IEBACiBJZiB5b3UgaGF2ZSBwcm9ibGVtcywgeW91IG1heSBuZWVkIHRvIHJlZ2VuZXJhdGUgdGhlIGJ1aWxkIHN5c3RlbSBlbnRpcmVseS4KIFRvIGRvIHNvLCB1c2UgdGhlIHByb2NlZHVyZSBkb2N1bWVudGVkIGJ5IHRoZSBwYWNrYWdlLCB0eXBpY2FsbHkgJ2F1dG9yZWNvbmYnLl0pXSkKIAotIyBDb3B5cmlnaHQgKEMpIDIwMDItMjAyMCBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4KKyMgQ29weXJpZ2h0IChDKSAyMDAyLTIwMTggRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuCiAjCiAjIFRoaXMgZmlsZSBpcyBmcmVlIHNvZnR3YXJlOyB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uCiAjIGdpdmVzIHVubGltaXRlZCBwZXJtaXNzaW9uIHRvIGNvcHkgYW5kL29yIGRpc3RyaWJ1dGUgaXQsCkBAIC0zNSw3ICszNSw3IEBACiBbYW1fX2FwaV92ZXJzaW9uPScxLjE2JwogZG5sIFNvbWUgdXNlcnMgZmluZCBBTV9BVVRPTUFLRV9WRVJTSU9OIGFuZCBtaXN0YWtlIGl0IGZvciBhIHdheSB0bwogZG5sIHJlcXVpcmUgc29tZSBtaW5pbXVtIHZlcnNpb24uICBQb2ludCB0aGVtIHRvIHRoZSByaWdodCBtYWNyby4KLW00X2lmKFskMV0sIFsxLjE2LjJdLCBbXSwKK200X2lmKFskMV0sIFsxLjE2LjFdLCBbXSwKICAgICAgIFtBQ19GQVRBTChbRG8gbm90IGNhbGwgJDAsIHVzZSBBTV9JTklUX0FVVE9NQUtFKFskMV0pLl0pXSlkbmwKIF0pCiAKQEAgLTUxLDE0ICs1MSwxNCBAQAogIyBDYWxsIEFNX0FVVE9NQUtFX1ZFUlNJT04gYW5kIEFNX0FVVE9NQUtFX1ZFUlNJT04gc28gdGhleSBjYW4gYmUgdHJhY2VkLgogIyBUaGlzIGZ1bmN0aW9uIGlzIEFDX1JFUVVJUkVkIGJ5IEFNX0lOSVRfQVVUT01BS0UuCiBBQ19ERUZVTihbQU1fU0VUX0NVUlJFTlRfQVVUT01BS0VfVkVSU0lPTl0sCi1bQU1fQVVUT01BS0VfVkVSU0lPTihbMS4xNi4yXSlkbmwKK1tBTV9BVVRPTUFLRV9WRVJTSU9OKFsxLjE2LjFdKWRubAogbTRfaWZuZGVmKFtBQ19BVVRPQ09ORl9WRVJTSU9OXSwKICAgW200X2NvcHkoW200X1BBQ0tBR0VfVkVSU0lPTl0sIFtBQ19BVVRPQ09ORl9WRVJTSU9OXSldKWRubAogX0FNX0FVVE9DT05GX1ZFUlNJT04obTRfZGVmbihbQUNfQVVUT0NPTkZfVkVSU0lPTl0pKV0pCiAKICMgQU1fQVVYX0RJUl9FWFBBTkQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0qLSBBdXRvY29uZiAtKi0KIAotIyBDb3B5cmlnaHQgKEMpIDIwMDEtMjAyMCBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4KKyMgQ29weXJpZ2h0IChDKSAyMDAxLTIwMTggRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuCiAjCiAjIFRoaXMgZmlsZSBpcyBmcmVlIHNvZnR3YXJlOyB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uCiAjIGdpdmVzIHVubGltaXRlZCBwZXJtaXNzaW9uIHRvIGNvcHkgYW5kL29yIGRpc3RyaWJ1dGUgaXQsCkBAIC0xMTAsNyArMTEwLDcgQEAKIAogIyBBTV9DT05ESVRJT05BTCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLSotIEF1dG9jb25mIC0qLQogCi0jIENvcHlyaWdodCAoQykgMTk5Ny0yMDIwIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLgorIyBDb3B5cmlnaHQgKEMpIDE5OTctMjAxOCBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4KICMKICMgVGhpcyBmaWxlIGlzIGZyZWUgc29mdHdhcmU7IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24KICMgZ2l2ZXMgdW5saW1pdGVkIHBlcm1pc3Npb24gdG8gY29weSBhbmQvb3IgZGlzdHJpYnV0ZSBpdCwKQEAgLTE0MSw3ICsxNDEsNyBAQAogVXN1YWxseSB0aGlzIG1lYW5zIHRoZSBtYWNybyB3YXMgb25seSBpbnZva2VkIGNvbmRpdGlvbmFsbHkuXV0pCiBmaV0pXSkKIAotIyBDb3B5cmlnaHQgKEMpIDE5OTktMjAyMCBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4KKyMgQ29weXJpZ2h0IChDKSAxOTk5LTIwMTggRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuCiAjCiAjIFRoaXMgZmlsZSBpcyBmcmVlIHNvZnR3YXJlOyB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uCiAjIGdpdmVzIHVubGltaXRlZCBwZXJtaXNzaW9uIHRvIGNvcHkgYW5kL29yIGRpc3RyaWJ1dGUgaXQsCkBAIC0zMzIsNyArMzMyLDcgQEAKIAogIyBHZW5lcmF0ZSBjb2RlIHRvIHNldCB1cCBkZXBlbmRlbmN5IHRyYWNraW5nLiAgICAgICAgICAgICAgLSotIEF1dG9jb25mIC0qLQogCi0jIENvcHlyaWdodCAoQykgMTk5OS0yMDIwIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLgorIyBDb3B5cmlnaHQgKEMpIDE5OTktMjAxOCBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4KICMKICMgVGhpcyBmaWxlIGlzIGZyZWUgc29mdHdhcmU7IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24KICMgZ2l2ZXMgdW5saW1pdGVkIHBlcm1pc3Npb24gdG8gY29weSBhbmQvb3IgZGlzdHJpYnV0ZSBpdCwKQEAgLTM3MSw5ICszNzEsNyBAQAogICBkb25lCiAgIGlmIHRlc3QgJGFtX3JjIC1uZSAwOyB0aGVuCiAgICAgQUNfTVNHX0ZBSUxVUkUoW1NvbWV0aGluZyB3ZW50IHdyb25nIGJvb3RzdHJhcHBpbmcgbWFrZWZpbGUgZnJhZ21lbnRzCi0gICAgZm9yIGF1dG9tYXRpYyBkZXBlbmRlbmN5IHRyYWNraW5nLiAgSWYgR05VIG1ha2Ugd2FzIG5vdCB1c2VkLCBjb25zaWRlcgotICAgIHJlLXJ1bm5pbmcgdGhlIGNvbmZpZ3VyZSBzY3JpcHQgd2l0aCBNQUtFPSJnbWFrZSIgKG9yIHdoYXRldmVyIGlzCi0gICAgbmVjZXNzYXJ5KS4gIFlvdSBjYW4gYWxzbyB0cnkgcmUtcnVubmluZyBjb25maWd1cmUgd2l0aCB0aGUKKyAgICBmb3IgYXV0b21hdGljIGRlcGVuZGVuY3kgdHJhY2tpbmcuICBUcnkgcmUtcnVubmluZyBjb25maWd1cmUgd2l0aCB0aGUKICAgICAnLS1kaXNhYmxlLWRlcGVuZGVuY3ktdHJhY2tpbmcnIG9wdGlvbiB0byBhdCBsZWFzdCBiZSBhYmxlIHRvIGJ1aWxkCiAgICAgdGhlIHBhY2thZ2UgKGFsYmVpdCB3aXRob3V0IHN1cHBvcnQgZm9yIGF1dG9tYXRpYyBkZXBlbmRlbmN5IHRyYWNraW5nKS5dKQogICBmaQpAQCAtNDAwLDcgKzM5OCw3IEBACiAKICMgRG8gYWxsIHRoZSB3b3JrIGZvciBBdXRvbWFrZS4gICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0qLSBBdXRvY29uZiAtKi0KIAotIyBDb3B5cmlnaHQgKEMpIDE5OTYtMjAyMCBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4KKyMgQ29weXJpZ2h0IChDKSAxOTk2LTIwMTggRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuCiAjCiAjIFRoaXMgZmlsZSBpcyBmcmVlIHNvZnR3YXJlOyB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uCiAjIGdpdmVzIHVubGltaXRlZCBwZXJtaXNzaW9uIHRvIGNvcHkgYW5kL29yIGRpc3RyaWJ1dGUgaXQsCkBAIC01OTcsNyArNTk1LDcgQEAKIGRvbmUKIGVjaG8gInRpbWVzdGFtcCBmb3IgJF9hbV9hcmciID5gQVNfRElSTkFNRShbIiRfYW1fYXJnIl0pYC9zdGFtcC1oW10kX2FtX3N0YW1wX2NvdW50XSkKIAotIyBDb3B5cmlnaHQgKEMpIDIwMDEtMjAyMCBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4KKyMgQ29weXJpZ2h0IChDKSAyMDAxLTIwMTggRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuCiAjCiAjIFRoaXMgZmlsZSBpcyBmcmVlIHNvZnR3YXJlOyB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uCiAjIGdpdmVzIHVubGltaXRlZCBwZXJtaXNzaW9uIHRvIGNvcHkgYW5kL29yIGRpc3RyaWJ1dGUgaXQsCkBAIC02MTgsNyArNjE2LDcgQEAKIGZpCiBBQ19TVUJTVChbaW5zdGFsbF9zaF0pXSkKIAotIyBDb3B5cmlnaHQgKEMpIDIwMDMtMjAyMCBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4KKyMgQ29weXJpZ2h0IChDKSAyMDAzLTIwMTggRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuCiAjCiAjIFRoaXMgZmlsZSBpcyBmcmVlIHNvZnR3YXJlOyB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uCiAjIGdpdmVzIHVubGltaXRlZCBwZXJtaXNzaW9uIHRvIGNvcHkgYW5kL29yIGRpc3RyaWJ1dGUgaXQsCkBAIC02NDAsNyArNjM4LDcgQEAKICMgQWRkIC0tZW5hYmxlLW1haW50YWluZXItbW9kZSBvcHRpb24gdG8gY29uZmlndXJlLiAgICAgICAgIC0qLSBBdXRvY29uZiAtKi0KICMgRnJvbSBKaW0gTWV5ZXJpbmcKIAotIyBDb3B5cmlnaHQgKEMpIDE5OTYtMjAyMCBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4KKyMgQ29weXJpZ2h0IChDKSAxOTk2LTIwMTggRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuCiAjCiAjIFRoaXMgZmlsZSBpcyBmcmVlIHNvZnR3YXJlOyB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uCiAjIGdpdmVzIHVubGltaXRlZCBwZXJtaXNzaW9uIHRvIGNvcHkgYW5kL29yIGRpc3RyaWJ1dGUgaXQsCkBAIC02NzUsNyArNjczLDcgQEAKIAogIyBDaGVjayB0byBzZWUgaG93ICdtYWtlJyB0cmVhdHMgaW5jbHVkZXMuCSAgICAgICAgICAgIC0qLSBBdXRvY29uZiAtKi0KIAotIyBDb3B5cmlnaHQgKEMpIDIwMDEtMjAyMCBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4KKyMgQ29weXJpZ2h0IChDKSAyMDAxLTIwMTggRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuCiAjCiAjIFRoaXMgZmlsZSBpcyBmcmVlIHNvZnR3YXJlOyB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uCiAjIGdpdmVzIHVubGltaXRlZCBwZXJtaXNzaW9uIHRvIGNvcHkgYW5kL29yIGRpc3RyaWJ1dGUgaXQsCkBAIC03MTgsNyArNzE2LDcgQEAKIAogIyBGYWtlIHRoZSBleGlzdGVuY2Ugb2YgcHJvZ3JhbXMgdGhhdCBHTlUgbWFpbnRhaW5lcnMgdXNlLiAgLSotIEF1dG9jb25mIC0qLQogCi0jIENvcHlyaWdodCAoQykgMTk5Ny0yMDIwIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLgorIyBDb3B5cmlnaHQgKEMpIDE5OTctMjAxOCBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4KICMKICMgVGhpcyBmaWxlIGlzIGZyZWUgc29mdHdhcmU7IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24KICMgZ2l2ZXMgdW5saW1pdGVkIHBlcm1pc3Npb24gdG8gY29weSBhbmQvb3IgZGlzdHJpYnV0ZSBpdCwKQEAgLTc1Nyw3ICs3NTUsNyBAQAogCiAjIEhlbHBlciBmdW5jdGlvbnMgZm9yIG9wdGlvbiBoYW5kbGluZy4gICAgICAgICAgICAgICAgICAgICAtKi0gQXV0b2NvbmYgLSotCiAKLSMgQ29weXJpZ2h0IChDKSAyMDAxLTIwMjAgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuCisjIENvcHlyaWdodCAoQykgMjAwMS0yMDE4IEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLgogIwogIyBUaGlzIGZpbGUgaXMgZnJlZSBzb2Z0d2FyZTsgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbgogIyBnaXZlcyB1bmxpbWl0ZWQgcGVybWlzc2lvbiB0byBjb3B5IGFuZC9vciBkaXN0cmlidXRlIGl0LApAQCAtNzg2LDcgKzc4NCw3IEBACiBBQ19ERUZVTihbX0FNX0lGX09QVElPTl0sCiBbbTRfaWZzZXQoX0FNX01BTkdMRV9PUFRJT04oWyQxXSksIFskMl0sIFskM10pXSkKIAotIyBDb3B5cmlnaHQgKEMpIDE5OTktMjAyMCBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4KKyMgQ29weXJpZ2h0IChDKSAxOTk5LTIwMTggRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuCiAjCiAjIFRoaXMgZmlsZSBpcyBmcmVlIHNvZnR3YXJlOyB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uCiAjIGdpdmVzIHVubGltaXRlZCBwZXJtaXNzaW9uIHRvIGNvcHkgYW5kL29yIGRpc3RyaWJ1dGUgaXQsCkBAIC04MzMsNyArODMxLDcgQEAKICMgRm9yIGJhY2t3YXJkIGNvbXBhdGliaWxpdHkuCiBBQ19ERUZVTl9PTkNFKFtBTV9QUk9HX0NDX0NfT10sIFtBQ19SRVFVSVJFKFtBQ19QUk9HX0NDXSldKQogCi0jIENvcHlyaWdodCAoQykgMjAwMS0yMDIwIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLgorIyBDb3B5cmlnaHQgKEMpIDIwMDEtMjAxOCBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4KICMKICMgVGhpcyBmaWxlIGlzIGZyZWUgc29mdHdhcmU7IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24KICMgZ2l2ZXMgdW5saW1pdGVkIHBlcm1pc3Npb24gdG8gY29weSBhbmQvb3IgZGlzdHJpYnV0ZSBpdCwKQEAgLTg1Miw3ICs4NTAsNyBAQAogCiAjIENoZWNrIHRvIG1ha2Ugc3VyZSB0aGF0IHRoZSBidWlsZCBlbnZpcm9ubWVudCBpcyBzYW5lLiAgICAtKi0gQXV0b2NvbmYgLSotCiAKLSMgQ29weXJpZ2h0IChDKSAxOTk2LTIwMjAgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuCisjIENvcHlyaWdodCAoQykgMTk5Ni0yMDE4IEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLgogIwogIyBUaGlzIGZpbGUgaXMgZnJlZSBzb2Z0d2FyZTsgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbgogIyBnaXZlcyB1bmxpbWl0ZWQgcGVybWlzc2lvbiB0byBjb3B5IGFuZC9vciBkaXN0cmlidXRlIGl0LApAQCAtOTMzLDcgKzkzMSw3IEBACiBybSAtZiBjb25mdGVzdC5maWxlCiBdKQogCi0jIENvcHlyaWdodCAoQykgMjAwOS0yMDIwIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLgorIyBDb3B5cmlnaHQgKEMpIDIwMDktMjAxOCBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4KICMKICMgVGhpcyBmaWxlIGlzIGZyZWUgc29mdHdhcmU7IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24KICMgZ2l2ZXMgdW5saW1pdGVkIHBlcm1pc3Npb24gdG8gY29weSBhbmQvb3IgZGlzdHJpYnV0ZSBpdCwKQEAgLTk5Myw3ICs5OTEsNyBAQAogX0FNX1NVQlNUX05PVE1BS0UoW0FNX0JBQ0tTTEFTSF0pZG5sCiBdKQogCi0jIENvcHlyaWdodCAoQykgMjAwMS0yMDIwIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLgorIyBDb3B5cmlnaHQgKEMpIDIwMDEtMjAxOCBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4KICMKICMgVGhpcyBmaWxlIGlzIGZyZWUgc29mdHdhcmU7IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24KICMgZ2l2ZXMgdW5saW1pdGVkIHBlcm1pc3Npb24gdG8gY29weSBhbmQvb3IgZGlzdHJpYnV0ZSBpdCwKQEAgLTEwMjEsNyArMTAxOSw3IEBACiBJTlNUQUxMX1NUUklQX1BST0dSQU09IlwkKGluc3RhbGxfc2gpIC1jIC1zIgogQUNfU1VCU1QoW0lOU1RBTExfU1RSSVBfUFJPR1JBTV0pXSkKIAotIyBDb3B5cmlnaHQgKEMpIDIwMDYtMjAyMCBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4KKyMgQ29weXJpZ2h0IChDKSAyMDA2LTIwMTggRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuCiAjCiAjIFRoaXMgZmlsZSBpcyBmcmVlIHNvZnR3YXJlOyB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uCiAjIGdpdmVzIHVubGltaXRlZCBwZXJtaXNzaW9uIHRvIGNvcHkgYW5kL29yIGRpc3RyaWJ1dGUgaXQsCkBAIC0xMDQwLDcgKzEwMzgsNyBAQAogCiAjIENoZWNrIGhvdyB0byBjcmVhdGUgYSB0YXJiYWxsLiAgICAgICAgICAgICAgICAgICAgICAgICAgICAtKi0gQXV0b2NvbmYgLSotCiAKLSMgQ29weXJpZ2h0IChDKSAyMDA0LTIwMjAgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuCisjIENvcHlyaWdodCAoQykgMjAwNC0yMDE4IEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLgogIwogIyBUaGlzIGZpbGUgaXMgZnJlZSBzb2Z0d2FyZTsgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbgogIyBnaXZlcyB1bmxpbWl0ZWQgcGVybWlzc2lvbiB0byBjb3B5IGFuZC9vciBkaXN0cmlidXRlIGl0LApkaWZmIC0tZ2l0IGEvYW5kcm9pZGNvbmZpZ3VyZSBiL2FuZHJvaWRjb25maWd1cmUKaW5kZXggMmFkOWYwMC4uMGFmNThmNiAxMDA3NTUKLS0tIGEvYW5kcm9pZGNvbmZpZ3VyZQorKysgYi9hbmRyb2lkY29uZmlndXJlCkBAIC0xMyw4ICsxMyw4IEBACiAKIEhPU1Q9ImFybS1saW51eC1hbmRyb2lkZWFiaSIKIFQ9IiR7QU5EUk9JRF9CVUlMRF9UT1B9IgotZXhwb3J0IENDPSIke1R9L3ByZWJ1aWx0cy9jbGFuZy9ob3N0L2xpbnV4LXg4Ni9jbGFuZy1yMzc3NzgyYi9iaW4vY2xhbmciCi1leHBvcnQgTEQ9IiR7VH0vcHJlYnVpbHRzL2NsYW5nL2hvc3QvbGludXgteDg2L2NsYW5nLXIzNzc3ODJiL2Jpbi9sbGQiCitleHBvcnQgQ0M9IiR7VH0vcHJlYnVpbHRzL2NsYW5nL2hvc3QvbGludXgteDg2L2NsYW5nLXIzODM5MDJjL2Jpbi9jbGFuZyIKK2V4cG9ydCBMRD0iJHtUfS9wcmVidWlsdHMvY2xhbmcvaG9zdC9saW51eC14ODYvY2xhbmctcjM4MzkwMmMvYmluL2xsZCIKIAogQ0ZMQUdTPSgKICAgIi1pc3lzdGVtICR7VH0vZXh0ZXJuYWwvbGliY3h4L2luY2x1ZGUiCmRpZmYgLS1naXQgYS9idWlsZGNvbmYgYi9idWlsZGNvbmYKaW5kZXggNmY3ZjBiMy4uM2RhMGY3YiAxMDA3NTUKLS0tIGEvYnVpbGRjb25mCisrKyBiL2J1aWxkY29uZgpAQCAtNjQsNyArNjQsNyBAQAogIwogcmVtb3ZldGhpcygpewogICBpZiB0ZXN0ICIkIyIgPSAiMSI7IHRoZW4KLSAgICBmaW5kIC4gLWRlcHRoIC1uYW1lICQxIC1leGVjZGlyIHJtIC1yZiB7fSBcOworICAgIGZpbmQgLiAtZGVwdGggLW5hbWUgJDEgLWV4ZWMgcm0gLXJmIHt9IFw7CiAgIGZpCiB9CiAKZGlmZiAtLWdpdCBhL2NvbXBpbGUgYi9jb21waWxlCmluZGV4IDIzZmNiYTAuLjk5ZTUwNTIgMTAwNzU1Ci0tLSBhL2NvbXBpbGUKKysrIGIvY29tcGlsZQpAQCAtMyw3ICszLDcgQEAKIAogc2NyaXB0dmVyc2lvbj0yMDE4LTAzLTA3LjAzOyAjIFVUQwogCi0jIENvcHlyaWdodCAoQykgMTk5OS0yMDIwIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLgorIyBDb3B5cmlnaHQgKEMpIDE5OTktMjAxOCBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4KICMgV3JpdHRlbiBieSBUb20gVHJvbWV5IDx0cm9tZXlAY3lnbnVzLmNvbT4uCiAjCiAjIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CkBAIC01Myw3ICs1Myw3IEBACiAJICBNSU5HVyopCiAJICAgIGZpbGVfY29udj1taW5ndwogCSAgICA7OwotCSAgQ1lHV0lOKiB8IE1TWVMqKQorCSAgQ1lHV0lOKikKIAkgICAgZmlsZV9jb252PWN5Z3dpbgogCSAgICA7OwogCSAgKikKQEAgLTY3LDcgKzY3LDcgQEAKIAltaW5ndy8qKQogCSAgZmlsZT1gY21kIC8vQyBlY2hvICIkZmlsZSAiIHwgc2VkIC1lICdzLyJcKC4qXCkgIiAqJC9cMS8nYAogCSAgOzsKLQljeWd3aW4vKiB8IG1zeXMvKikKKwljeWd3aW4vKikKIAkgIGZpbGU9YGN5Z3BhdGggLW0gIiRmaWxlIiB8fCBlY2hvICIkZmlsZSJgCiAJICA7OwogCXdpbmUvKikKZGlmZiAtLWdpdCBhL2NvbmZpZ3VyZSBiL2NvbmZpZ3VyZQppbmRleCAwZjIzZjU5Li40MTE4ZTY0IDEwMDc1NQotLS0gYS9jb25maWd1cmUKKysrIGIvY29uZmlndXJlCkBAIC04NzksNiArODc5LDcgQEAKIFNTTF9CQUNLRU5EUwogU1VQUE9SVF9QUk9UT0NPTFMKIFNVUFBPUlRfRkVBVFVSRVMKK0xJQkNVUkxfTk9fU0hBUkVECiBFTkFCTEVfU1RBVElDCiBFTkFCTEVfU0hBUkVECiBDUk9TU0NPTVBJTElOR19GQUxTRQpAQCAtMjEwNDcsNyArMjEwNDgsNyBAQAogICAgICAgTERfQlJPVExJPWAkUEtHQ09ORklHIC0tbGlicy1vbmx5LUwgbGliYnJvdGxpZGVjYAogICAgICAgQ1BQX0JST1RMST1gJFBLR0NPTkZJRyAtLWNmbGFncy1vbmx5LUkgbGliYnJvdGxpZGVjYAogICAgICAgdmVyc2lvbj1gJFBLR0NPTkZJRyAtLW1vZHZlcnNpb24gbGliYnJvdGxpZGVjYAotICAgICAgRElSX0JST1RMST1gZWNobyAkTERfQlJPVExJIHwgJFNFRCAtZSAncy8tTC8vJ2AKKyAgICAgIERJUl9CUk9UTEk9YGVjaG8gJExEX0JST1RMSSB8ICRTRUQgLWUgJ3MvXi1MLy8nYAogICAgIGZpCiAKICAgICA7OwpAQCAtMjE5MDcsOSArMjE5MDgsMTEgQEAKICAgY2F0IGNvbmZkZWZzLmggLSA8PF9BQ0VPRiA+Y29uZnRlc3QuJGFjX2V4dAogLyogZW5kIGNvbmZkZWZzLmguICAqLwogCi1pbnQgbWFpbihpbnQgYXJnYywgY2hhciAqKiBhcmd2KSB7Ci0gICAgYXJndjAwID0gJyAnOwotICAgIHJldHVybiAoYXJndjAwID09ICcgJyk/MDoxOworaW50IG1haW4oaW50IGFyZ2MsIGNoYXIgKiphcmd2KQoreworICAodm9pZClhcmdjOworICBhcmd2WzBdWzBdID0gJyAnOworICByZXR1cm4gKGFyZ3ZbMF1bMF0gPT0gJyAnKT8wOjE7CiB9CiAKIF9BQ0VPRgpAQCAtMjI1ODcsNyArMjI1OTAsNyBAQAogICAgICAgeyAkYXNfZWNobyAiJGFzX21lOiR7YXNfbGluZW5vLSRMSU5FTk99OiBwa2ctY29uZmlnOiBTU0xfQ1BQRkxBR1M6IFwiJFNTTF9DUFBGTEFHU1wiIiA+JjUKICRhc19lY2hvICIkYXNfbWU6IHBrZy1jb25maWc6IFNTTF9DUFBGTEFHUzogXCIkU1NMX0NQUEZMQUdTXCIiID4mNjt9CiAKLSAgICAgIExJQl9PUEVOU1NMPWBlY2hvICRTU0xfTERGTEFHUyB8IHNlZCAtZSAncy8tTC8vZydgCisgICAgICBMSUJfT1BFTlNTTD1gZWNobyAkU1NMX0xERkxBR1MgfCBzZWQgLWUgJ3MvXi1MLy8nYAogCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBMSUJTPSIkU1NMX0xJQlMgJExJQlMiCiAgICAgZmkKQEAgLTIyNjQxLDYgKzIyNjQ0LDggQEAKICAgICAgICAjIG9ubHkgc2V0IHRoaXMgaWYgcGtnLWNvbmZpZyB3YXNuJ3QgdXNlZAogICAgICAgIENQUEZMQUdTPSIkQ0xFQU5DUFBGTEFHUyAtSSRQUkVGSVhfT1BFTlNTTC9pbmNsdWRlL29wZW5zc2wgLUkkUFJFRklYX09QRU5TU0wvaW5jbHVkZSIKICAgICAgZmkKKyAgICAgIyBMaW5raW5nIHByZXZpb3VzbHkgZmFpbGVkLCB0cnkgZXh0cmEgcGF0aHMgZnJvbSAtLXdpdGgtc3NsIG9yIHBrZy1jb25maWcuCisgICAgICMgVXNlIGEgZGlmZmVyZW50IGZ1bmN0aW9uIG5hbWUgdG8gYXZvaWQgcmV1c2luZyB0aGUgZWFybGllciBjYWNoZWQgcmVzdWx0LgogICAgICB7ICRhc19lY2hvICIkYXNfbWU6JHthc19saW5lbm8tJExJTkVOT306IGNoZWNraW5nIGZvciBITUFDX0luaXRfZXggaW4gLWxjcnlwdG8iID4mNQogJGFzX2VjaG9fbiAiY2hlY2tpbmcgZm9yIEhNQUNfSW5pdF9leCBpbiAtbGNyeXB0by4uLiAiID4mNjsgfQogaWYgJHthY19jdl9saWJfY3J5cHRvX0hNQUNfSW5pdF9leCs6fSBmYWxzZTsgdGhlbiA6CkBAIC0yNDAxMiw3ICsyNDAxNyw3IEBACiAgICAgICAgIGFkZGxkPWAkUEtHQ09ORklHIC0tbGlicy1vbmx5LUwgZ251dGxzYAogICAgICAgICBhZGRjZmxhZ3M9YCRQS0dDT05GSUcgLS1jZmxhZ3Mtb25seS1JIGdudXRsc2AKICAgICAgICAgdmVyc2lvbj1gJFBLR0NPTkZJRyAtLW1vZHZlcnNpb24gZ251dGxzYAotICAgICAgICBndGxzbGliPWBlY2hvICRhZGRsZCB8ICRTRUQgLWUgJ3MvLUwvLydgCisgICAgICAgIGd0bHNsaWI9YGVjaG8gJGFkZGxkIHwgJFNFRCAtZSAncy9eLUwvLydgCiAgICAgICBlbHNlCiAgICAgICAgICAgICAgICAgICAgICAgICBjaGVjaz1gbGliZ251dGxzLWNvbmZpZyAtLXZlcnNpb24gMj4vZGV2L251bGxgCiAgICAgICAgIGlmIHRlc3QgLW4gIiRjaGVjayI7IHRoZW4KQEAgLTI0NTIzLDYgKzI0NTI4LDE1IEBACiBmaQogCiAKK2Nhc2UgIiRPUFRfV09MRlNTTCIgaW4KKyAgeWVzfG5vKQorICAgIHdvbGZwa2c9IiIKKyAgICA7OworICAqKQorICAgIHdvbGZwa2c9IiR3aXRodmFsL2xpYi9wa2djb25maWciCisgICAgOzsKK2VzYWMKKwogaWYgdGVzdCAteiAiJHNzbF9iYWNrZW5kcyIgLW8gIngkT1BUX1dPTEZTU0wiICE9IHhubzsgdGhlbgogICBzc2xfbXNnPQogCkBAIC0yNDUzMiwyMiArMjQ1NDYsMTkwIEBACiAgICAgICBPUFRfV09MRlNTTD0iIgogICAgIGZpCiAKKworICAgIGlmIHRlc3QgLW4gIiRQS0dfQ09ORklHIjsgdGhlbgorICAgICAgUEtHQ09ORklHPSIkUEtHX0NPTkZJRyIKKyAgICBlbHNlCisgICAgICBpZiB0ZXN0IC1uICIkYWNfdG9vbF9wcmVmaXgiOyB0aGVuCisgICMgRXh0cmFjdCB0aGUgZmlyc3Qgd29yZCBvZiAiJHthY190b29sX3ByZWZpeH1wa2ctY29uZmlnIiwgc28gaXQgY2FuIGJlIGEgcHJvZ3JhbSBuYW1lIHdpdGggYXJncy4KK3NldCBkdW1teSAke2FjX3Rvb2xfcHJlZml4fXBrZy1jb25maWc7IGFjX3dvcmQ9JDIKK3sgJGFzX2VjaG8gIiRhc19tZToke2FzX2xpbmVuby0kTElORU5PfTogY2hlY2tpbmcgZm9yICRhY193b3JkIiA+JjUKKyRhc19lY2hvX24gImNoZWNraW5nIGZvciAkYWNfd29yZC4uLiAiID4mNjsgfQoraWYgJHthY19jdl9wYXRoX1BLR0NPTkZJRys6fSBmYWxzZTsgdGhlbiA6CisgICRhc19lY2hvX24gIihjYWNoZWQpICIgPiY2CitlbHNlCisgIGNhc2UgJFBLR0NPTkZJRyBpbgorICBbXFwvXSogfCA/OltcXC9dKikKKyAgYWNfY3ZfcGF0aF9QS0dDT05GSUc9IiRQS0dDT05GSUciICMgTGV0IHRoZSB1c2VyIG92ZXJyaWRlIHRoZSB0ZXN0IHdpdGggYSBwYXRoLgorICA7OworICAqKQorICBhc19zYXZlX0lGUz0kSUZTOyBJRlM9JFBBVEhfU0VQQVJBVE9SCithc19kdW1teT0iJFBBVEg6L3Vzci9iaW46L3Vzci9sb2NhbC9iaW4iCitmb3IgYXNfZGlyIGluICRhc19kdW1teQorZG8KKyAgSUZTPSRhc19zYXZlX0lGUworICB0ZXN0IC16ICIkYXNfZGlyIiAmJiBhc19kaXI9LgorICAgIGZvciBhY19leGVjX2V4dCBpbiAnJyAkYWNfZXhlY3V0YWJsZV9leHRlbnNpb25zOyBkbworICBpZiBhc19mbl9leGVjdXRhYmxlX3AgIiRhc19kaXIvJGFjX3dvcmQkYWNfZXhlY19leHQiOyB0aGVuCisgICAgYWNfY3ZfcGF0aF9QS0dDT05GSUc9IiRhc19kaXIvJGFjX3dvcmQkYWNfZXhlY19leHQiCisgICAgJGFzX2VjaG8gIiRhc19tZToke2FzX2xpbmVuby0kTElORU5PfTogZm91bmQgJGFzX2Rpci8kYWNfd29yZCRhY19leGVjX2V4dCIgPiY1CisgICAgYnJlYWsgMgorICBmaQorZG9uZQorICBkb25lCitJRlM9JGFzX3NhdmVfSUZTCisKKyAgOzsKK2VzYWMKK2ZpCitQS0dDT05GSUc9JGFjX2N2X3BhdGhfUEtHQ09ORklHCitpZiB0ZXN0IC1uICIkUEtHQ09ORklHIjsgdGhlbgorICB7ICRhc19lY2hvICIkYXNfbWU6JHthc19saW5lbm8tJExJTkVOT306IHJlc3VsdDogJFBLR0NPTkZJRyIgPiY1CiskYXNfZWNobyAiJFBLR0NPTkZJRyIgPiY2OyB9CitlbHNlCisgIHsgJGFzX2VjaG8gIiRhc19tZToke2FzX2xpbmVuby0kTElORU5PfTogcmVzdWx0OiBubyIgPiY1CiskYXNfZWNobyAibm8iID4mNjsgfQorZmkKKworCitmaQoraWYgdGVzdCAteiAiJGFjX2N2X3BhdGhfUEtHQ09ORklHIjsgdGhlbgorICBhY19wdF9QS0dDT05GSUc9JFBLR0NPTkZJRworICAjIEV4dHJhY3QgdGhlIGZpcnN0IHdvcmQgb2YgInBrZy1jb25maWciLCBzbyBpdCBjYW4gYmUgYSBwcm9ncmFtIG5hbWUgd2l0aCBhcmdzLgorc2V0IGR1bW15IHBrZy1jb25maWc7IGFjX3dvcmQ9JDIKK3sgJGFzX2VjaG8gIiRhc19tZToke2FzX2xpbmVuby0kTElORU5PfTogY2hlY2tpbmcgZm9yICRhY193b3JkIiA+JjUKKyRhc19lY2hvX24gImNoZWNraW5nIGZvciAkYWNfd29yZC4uLiAiID4mNjsgfQoraWYgJHthY19jdl9wYXRoX2FjX3B0X1BLR0NPTkZJRys6fSBmYWxzZTsgdGhlbiA6CisgICRhc19lY2hvX24gIihjYWNoZWQpICIgPiY2CitlbHNlCisgIGNhc2UgJGFjX3B0X1BLR0NPTkZJRyBpbgorICBbXFwvXSogfCA/OltcXC9dKikKKyAgYWNfY3ZfcGF0aF9hY19wdF9QS0dDT05GSUc9IiRhY19wdF9QS0dDT05GSUciICMgTGV0IHRoZSB1c2VyIG92ZXJyaWRlIHRoZSB0ZXN0IHdpdGggYSBwYXRoLgorICA7OworICAqKQorICBhc19zYXZlX0lGUz0kSUZTOyBJRlM9JFBBVEhfU0VQQVJBVE9SCithc19kdW1teT0iJFBBVEg6L3Vzci9iaW46L3Vzci9sb2NhbC9iaW4iCitmb3IgYXNfZGlyIGluICRhc19kdW1teQorZG8KKyAgSUZTPSRhc19zYXZlX0lGUworICB0ZXN0IC16ICIkYXNfZGlyIiAmJiBhc19kaXI9LgorICAgIGZvciBhY19leGVjX2V4dCBpbiAnJyAkYWNfZXhlY3V0YWJsZV9leHRlbnNpb25zOyBkbworICBpZiBhc19mbl9leGVjdXRhYmxlX3AgIiRhc19kaXIvJGFjX3dvcmQkYWNfZXhlY19leHQiOyB0aGVuCisgICAgYWNfY3ZfcGF0aF9hY19wdF9QS0dDT05GSUc9IiRhc19kaXIvJGFjX3dvcmQkYWNfZXhlY19leHQiCisgICAgJGFzX2VjaG8gIiRhc19tZToke2FzX2xpbmVuby0kTElORU5PfTogZm91bmQgJGFzX2Rpci8kYWNfd29yZCRhY19leGVjX2V4dCIgPiY1CisgICAgYnJlYWsgMgorICBmaQorZG9uZQorICBkb25lCitJRlM9JGFzX3NhdmVfSUZTCisKKyAgOzsKK2VzYWMKK2ZpCithY19wdF9QS0dDT05GSUc9JGFjX2N2X3BhdGhfYWNfcHRfUEtHQ09ORklHCitpZiB0ZXN0IC1uICIkYWNfcHRfUEtHQ09ORklHIjsgdGhlbgorICB7ICRhc19lY2hvICIkYXNfbWU6JHthc19saW5lbm8tJExJTkVOT306IHJlc3VsdDogJGFjX3B0X1BLR0NPTkZJRyIgPiY1CiskYXNfZWNobyAiJGFjX3B0X1BLR0NPTkZJRyIgPiY2OyB9CitlbHNlCisgIHsgJGFzX2VjaG8gIiRhc19tZToke2FzX2xpbmVuby0kTElORU5PfTogcmVzdWx0OiBubyIgPiY1CiskYXNfZWNobyAibm8iID4mNjsgfQorZmkKKworICBpZiB0ZXN0ICJ4JGFjX3B0X1BLR0NPTkZJRyIgPSB4OyB0aGVuCisgICAgUEtHQ09ORklHPSJubyIKKyAgZWxzZQorICAgIGNhc2UgJGNyb3NzX2NvbXBpbGluZzokYWNfdG9vbF93YXJuZWQgaW4KK3llczopCit7ICRhc19lY2hvICIkYXNfbWU6JHthc19saW5lbm8tJExJTkVOT306IFdBUk5JTkc6IHVzaW5nIGNyb3NzIHRvb2xzIG5vdCBwcmVmaXhlZCB3aXRoIGhvc3QgdHJpcGxldCIgPiY1CiskYXNfZWNobyAiJGFzX21lOiBXQVJOSU5HOiB1c2luZyBjcm9zcyB0b29scyBub3QgcHJlZml4ZWQgd2l0aCBob3N0IHRyaXBsZXQiID4mMjt9CithY190b29sX3dhcm5lZD15ZXMgOzsKK2VzYWMKKyAgICBQS0dDT05GSUc9JGFjX3B0X1BLR0NPTkZJRworICBmaQorZWxzZQorICBQS0dDT05GSUc9IiRhY19jdl9wYXRoX1BLR0NPTkZJRyIKK2ZpCisKKyAgICBmaQorCisgICAgaWYgdGVzdCAieCRQS0dDT05GSUciICE9ICJ4bm8iOyB0aGVuCisgICAgICB7ICRhc19lY2hvICIkYXNfbWU6JHthc19saW5lbm8tJExJTkVOT306IGNoZWNraW5nIGZvciB3b2xmc3NsIG9wdGlvbnMgd2l0aCBwa2ctY29uZmlnIiA+JjUKKyRhc19lY2hvX24gImNoZWNraW5nIGZvciB3b2xmc3NsIG9wdGlvbnMgd2l0aCBwa2ctY29uZmlnLi4uICIgPiY2OyB9CisgICAgICAgICAgICBpdGV4aXN0cz1gCisgICAgaWYgdGVzdCAtbiAiJHdvbGZwa2ciOyB0aGVuCisgICAgICBQS0dfQ09ORklHX0xJQkRJUj0iJHdvbGZwa2ciCisgICAgICBleHBvcnQgUEtHX0NPTkZJR19MSUJESVIKKyAgICBmaQorICAgICAgICAgJFBLR0NPTkZJRyAtLWV4aXN0cyB3b2xmc3NsID4vZGV2L251bGwgMj4mMSAmJiBlY2hvIDFgCisKKyAgICAgIGlmIHRlc3QgLXogIiRpdGV4aXN0cyI7IHRoZW4KKyAgICAgICAgICAgICAgICAgICAgICAgIFBLR0NPTkZJRz0ibm8iCisgICAgICAgIHsgJGFzX2VjaG8gIiRhc19tZToke2FzX2xpbmVuby0kTElORU5PfTogcmVzdWx0OiBubyIgPiY1CiskYXNfZWNobyAibm8iID4mNjsgfQorICAgICAgZWxzZQorICAgICAgICB7ICRhc19lY2hvICIkYXNfbWU6JHthc19saW5lbm8tJExJTkVOT306IHJlc3VsdDogZm91bmQiID4mNQorJGFzX2VjaG8gImZvdW5kIiA+JjY7IH0KKyAgICAgIGZpCisgICAgZmkKKworICAgIHsgJGFzX2VjaG8gIiRhc19tZToke2FzX2xpbmVuby0kTElORU5PfTogQ2hlY2sgZGlyICR3b2xmcGtnIiA+JjUKKyRhc19lY2hvICIkYXNfbWU6IENoZWNrIGRpciAkd29sZnBrZyIgPiY2O30KKwogICAgIGFkZGxkPSIiCiAgICAgYWRkbGliPSIiCiAgICAgYWRkY2ZsYWdzPSIiCisgICAgaWYgdGVzdCAiJFBLR0NPTkZJRyIgIT0gIm5vIiA7IHRoZW4KKyAgICAgIGFkZGxpYj1gCisgICAgaWYgdGVzdCAtbiAiJHdvbGZwa2ciOyB0aGVuCisgICAgICBQS0dfQ09ORklHX0xJQkRJUj0iJHdvbGZwa2ciCisgICAgICBleHBvcnQgUEtHX0NPTkZJR19MSUJESVIKKyAgICBmaQogCi0gICAgaWYgdGVzdCAieCRVU0VfV09MRlNTTCIgIT0gInh5ZXMiOyB0aGVuCisgICAgICAgICRQS0dDT05GSUcgLS1saWJzLW9ubHktbCB3b2xmc3NsYAorICAgICAgYWRkbGQ9YAorICAgIGlmIHRlc3QgLW4gIiR3b2xmcGtnIjsgdGhlbgorICAgICAgUEtHX0NPTkZJR19MSUJESVI9IiR3b2xmcGtnIgorICAgICAgZXhwb3J0IFBLR19DT05GSUdfTElCRElSCisgICAgZmkKKworICAgICAgICAkUEtHQ09ORklHIC0tbGlicy1vbmx5LUwgd29sZnNzbGAKKyAgICAgIGFkZGNmbGFncz1gCisgICAgaWYgdGVzdCAtbiAiJHdvbGZwa2ciOyB0aGVuCisgICAgICBQS0dfQ09ORklHX0xJQkRJUj0iJHdvbGZwa2ciCisgICAgICBleHBvcnQgUEtHX0NPTkZJR19MSUJESVIKKyAgICBmaQorCisgICAgICAgICRQS0dDT05GSUcgLS1jZmxhZ3Mtb25seS1JIHdvbGZzc2xgCisgICAgICB2ZXJzaW9uPWAKKyAgICBpZiB0ZXN0IC1uICIkd29sZnBrZyI7IHRoZW4KKyAgICAgIFBLR19DT05GSUdfTElCRElSPSIkd29sZnBrZyIKKyAgICAgIGV4cG9ydCBQS0dfQ09ORklHX0xJQkRJUgorICAgIGZpCisKKyAgICAgICAgJFBLR0NPTkZJRyAtLW1vZHZlcnNpb24gd29sZnNzbGAKKyAgICAgIHdvbGZzc2xsaWJwYXRoPWBlY2hvICRhZGRsZCB8ICRTRUQgLWUgJ3MvXi1MLy8nYAorICAgIGVsc2UKKyAgICAgIGFkZGxpYj0tbHdvbGZzc2wKICAgICAgIGFkZGxkPS1MJE9QVF9XT0xGU1NML2xpYiRsaWJzdWZmCiAgICAgICBhZGRjZmxhZ3M9LUkkT1BUX1dPTEZTU0wvaW5jbHVkZQogICAgICAgd29sZnNzbGxpYnBhdGg9JE9QVF9XT0xGU1NML2xpYiRsaWJzdWZmCisgICAgZmkKKworICAgIGlmIHRlc3QgIngkVVNFX1dPTEZTU0wiICE9ICJ4eWVzIjsgdGhlbgogCiAgICAgICBMREZMQUdTPSIkTERGTEFHUyAkYWRkbGQiCisgICAgICB7ICRhc19lY2hvICIkYXNfbWU6JHthc19saW5lbm8tJExJTkVOT306IEFkZCAkYWRkbGQgdG8gTERGTEFHUyIgPiY1CiskYXNfZWNobyAiJGFzX21lOiBBZGQgJGFkZGxkIHRvIExERkxBR1MiID4mNjt9CiAgICAgICBpZiB0ZXN0ICIkYWRkY2ZsYWdzIiAhPSAiLUkvdXNyL2luY2x1ZGUiOyB0aGVuCiAgICAgICAgICBDUFBGTEFHUz0iJENQUEZMQUdTICRhZGRjZmxhZ3MiCisgICAgICAgICB7ICRhc19lY2hvICIkYXNfbWU6JHthc19saW5lbm8tJExJTkVOT306IEFkZCAkYWRkY2ZsYWdzIHRvIENQUEZMQUdTIiA+JjUKKyRhc19lY2hvICIkYXNfbWU6IEFkZCAkYWRkY2ZsYWdzIHRvIENQUEZMQUdTIiA+JjY7fQogICAgICAgZmkKIAogICAgICAgbXlfYWNfc2F2ZV9MSUJTPSIkTElCUyIKLSAgICAgIExJQlM9Ii1sd29sZnNzbCAtbG0gJExJQlMiCisgICAgICBMSUJTPSIkYWRkbGliICRMSUJTIgorICAgICAgeyAkYXNfZWNobyAiJGFzX21lOiR7YXNfbGluZW5vLSRMSU5FTk99OiBBZGQgJGFkZGxpYiB0byBMSUJTIiA+JjUKKyRhc19lY2hvICIkYXNfbWU6IEFkZCAkYWRkbGliIHRvIExJQlMiID4mNjt9CiAKICAgICAgIHsgJGFzX2VjaG8gIiRhc19tZToke2FzX2xpbmVuby0kTElORU5PfTogY2hlY2tpbmcgZm9yIHdvbGZTU0xfSW5pdCBpbiAtbHdvbGZzc2wiID4mNQogJGFzX2VjaG9fbiAiY2hlY2tpbmcgZm9yIHdvbGZTU0xfSW5pdCBpbiAtbHdvbGZzc2wuLi4gIiA+JjY7IH0KQEAgLTI0NjQ2LDcgKzI0ODI4LDcgQEAKIAogICAgICAgTElCUz0iLWx3b2xmc3NsIC1sbSAkTElCUyIKIAotICAgICAgICAgICAgICAgICAgZm9yIGFjX2Z1bmMgaW4gd29sZlNTTHYzX2NsaWVudF9tZXRob2QgXAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9yIGFjX2Z1bmMgaW4gd29sZlNTTHYzX2NsaWVudF9tZXRob2QgXAogICAgICAgICAgICAgICAgICAgICAgd29sZlNTTF9nZXRfcGVlcl9jZXJ0aWZpY2F0ZSBcCiAgICAgICAgICAgICAgICAgICAgICB3b2xmU1NMX1VzZUFMUE4KIGRvIDoKQEAgLTI0NjYxLDYgKzI0ODQzLDIxIEBACiBkb25lCiAKIAorICAgICAgICAgICAgICAgICAgYWNfZm5fY19jaGVja19mdW5jICIkTElORU5PIiAid29sZlNTTF9ERVNfc2V0X29kZF9wYXJpdHkiICJhY19jdl9mdW5jX3dvbGZTU0xfREVTX3NldF9vZGRfcGFyaXR5IgoraWYgdGVzdCAieCRhY19jdl9mdW5jX3dvbGZTU0xfREVTX3NldF9vZGRfcGFyaXR5IiA9IHh5ZXM7IHRoZW4gOgorCisKKyRhc19lY2hvICIjZGVmaW5lIEhBVkVfV09MRlNTTF9ERVNfU0VUX09ERF9QQVJJVFkgMSIgPj5jb25mZGVmcy5oCisKKyAgICAgICAgICAgIENQUEZMQUdTPSIkYWRkY2ZsYWdzL3dvbGZzc2wgJENQUEZMQUdTIgorICAgICAgICAgICAgeyAkYXNfZWNobyAiJGFzX21lOiR7YXNfbGluZW5vLSRMSU5FTk99OiBBZGQgJGFkZGNmbGFncy93b2xmc3NsIHRvIENQUEZMQUdTIiA+JjUKKyRhc19lY2hvICIkYXNfbWU6IEFkZCAkYWRkY2ZsYWdzL3dvbGZzc2wgdG8gQ1BQRkxBR1MiID4mNjt9CisgICAgICAgICAgICBXT0xGU1NMX05UTE09MQorCisKK2ZpCisKKwogICAgICAgaWYgdGVzdCAtbiAiJHdvbGZzc2xsaWJwYXRoIjsgdGhlbgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIHRlc3QgIngkY3Jvc3NfY29tcGlsaW5nIiAhPSAieHllcyI7IHRoZW4KICAgICAgICAgICBDVVJMX0xJQlJBUllfUEFUSD0iJENVUkxfTElCUkFSWV9QQVRIOiR3b2xmc3NsbGlicGF0aCIKQEAgLTI2MDM5LDcgKzI2MjM2LDcgQEAKICAgICAgIGV4cG9ydCBQS0dfQ09ORklHX0xJQkRJUgogICAgIGZpCiAgICAgICAgJFBLR0NPTkZJRyAtLW1vZHZlcnNpb24gbGlibWV0YWxpbmtgCi0gICAgbGlibWV0YWxpbmtsaWI9YGVjaG8gJGFkZGxkIHwgJFNFRCAtZSAncy8tTC8vJ2AKKyAgICBsaWJtZXRhbGlua2xpYj1gZWNobyAkYWRkbGQgfCAkU0VEIC1lICdzL14tTC8vJ2AKICAgZmkKICAgaWYgdGVzdCAtbiAiJGFkZGxpYiI7IHRoZW4KIApAQCAtMjYyODIsNyArMjY0NzksNyBAQAogICAgICAgTERfU1NIMj1gJFBLR0NPTkZJRyAtLWxpYnMtb25seS1MIGxpYnNzaDJgCiAgICAgICBDUFBfU1NIMj1gJFBLR0NPTkZJRyAtLWNmbGFncy1vbmx5LUkgbGlic3NoMmAKICAgICAgIHZlcnNpb249YCRQS0dDT05GSUcgLS1tb2R2ZXJzaW9uIGxpYnNzaDJgCi0gICAgICBESVJfU1NIMj1gZWNobyAkTERfU1NIMiB8ICRTRUQgLWUgJ3MvLUwvLydgCisgICAgICBESVJfU1NIMj1gZWNobyAkTERfU1NIMiB8ICRTRUQgLWUgJ3MvXi1MLy8nYAogICAgIGZpCiAKICAgICA7OwpAQCAtMjY1MjYsNyArMjY3MjMsNyBAQAogICAgICAgTERfU1NIPWAkUEtHQ09ORklHIC0tbGlicy1vbmx5LUwgbGlic3NoYAogICAgICAgQ1BQX1NTSD1gJFBLR0NPTkZJRyAtLWNmbGFncy1vbmx5LUkgbGlic3NoYAogICAgICAgdmVyc2lvbj1gJFBLR0NPTkZJRyAtLW1vZHZlcnNpb24gbGlic3NoYAotICAgICAgRElSX1NTSD1gZWNobyAkTERfU1NIIHwgJFNFRCAtZSAncy8tTC8vJ2AKKyAgICAgIERJUl9TU0g9YGVjaG8gJExEX1NTSCB8ICRTRUQgLWUgJ3MvXi1MLy8nYAogICAgIGZpCiAKICAgICA7OwpAQCAtMjY4NTYsNyArMjcwNTMsNyBAQAogICAgICAgTERfUlRNUD1gJFBLR0NPTkZJRyAtLWxpYnMtb25seS1MIGxpYnJ0bXBgCiAgICAgICBDUFBfUlRNUD1gJFBLR0NPTkZJRyAtLWNmbGFncy1vbmx5LUkgbGlicnRtcGAKICAgICAgIHZlcnNpb249YCRQS0dDT05GSUcgLS1tb2R2ZXJzaW9uIGxpYnJ0bXBgCi0gICAgICBESVJfUlRNUD1gZWNobyAkTERfUlRNUCB8ICRTRUQgLWUgJ3MvLUwvLydgCisgICAgICBESVJfUlRNUD1gZWNobyAkTERfUlRNUCB8ICRTRUQgLWUgJ3MvXi1MLy8nYAogICAgIGVsc2UKICAgICAgICAgICAgICAgICAgIGFzX2ZuX2Vycm9yICQ/ICItLWxpYnJ0bXAgd2FzIHNwZWNpZmllZCBidXQgY291bGQgbm90IGZpbmQgbGlicnRtcCBwa2djb25maWcgZmlsZS4iICIkTElORU5PIiA1CiAgICAgZmkKQEAgLTI3MzA2LDcgKzI3NTAzLDcgQEAKICAgICAgIGV4cG9ydCBQS0dfQ09ORklHX0xJQkRJUgogICAgIGZpCiAgICAgICAgICAkUEtHQ09ORklHIC0tY2ZsYWdzLW9ubHktSSBsaWJpZG4yIDI+L2Rldi9udWxsYAotICAgICAgSUROX0RJUj1gZWNobyAkSUROX0xERkxBR1MgfCAkU0VEIC1lICdzLy1MLy8nYAorICAgICAgSUROX0RJUj1gZWNobyAkSUROX0xERkxBR1MgfCAkU0VEIC1lICdzL14tTC8vJ2AKICAgICBlbHNlCiAgICAgICAgICAgICBJRE5fTElCUz0iLWxpZG4yIgogICAgICAgSUROX0xERkxBR1M9Ii1MJHdhbnRfaWRuX3BhdGgvbGliJGxpYnN1ZmYiCkBAIC0yNzQ0NCw3ICsyNzY0MSw3IEBACiAgICAgICBJRE5fTElCUz1gJFBLR0NPTkZJRyAtLWxpYnMtb25seS1sIGxpYmlkbjIgMj4vZGV2L251bGxgCiAgICAgICBJRE5fTERGTEFHUz1gJFBLR0NPTkZJRyAtLWxpYnMtb25seS1MIGxpYmlkbjIgMj4vZGV2L251bGxgCiAgICAgICBJRE5fQ1BQRkxBR1M9YCRQS0dDT05GSUcgLS1jZmxhZ3Mtb25seS1JIGxpYmlkbjIgMj4vZGV2L251bGxgCi0gICAgICBJRE5fRElSPWBlY2hvICRJRE5fTERGTEFHUyB8ICRTRUQgLWUgJ3MvLUwvLydgCisgICAgICBJRE5fRElSPWBlY2hvICRJRE5fTERGTEFHUyB8ICRTRUQgLWUgJ3MvXi1MLy8nYAogICAgIGVsc2UKICAgICAgICAgICAgIElETl9MSUJTPSItbGlkbjIiCiAgICAgZmkKQEAgLTI4MDI0LDcgKzI4MjIxLDcgQEAKICAgICBMSUJTPSIkTElCX1RDUDIgJExJQlMiCiAKICAgICBpZiB0ZXN0ICJ4JGNyb3NzX2NvbXBpbGluZyIgIT0gInh5ZXMiOyB0aGVuCi0gICAgICBESVJfVENQMj1gZWNobyAkTERfVENQMiB8ICRTRUQgLWUgJ3MvLUwvLydgCisgICAgICBESVJfVENQMj1gZWNobyAkTERfVENQMiB8ICRTRUQgLWUgJ3MvXi1MLy8nYAogICAgIGZpCiAgICAgeyAkYXNfZWNobyAiJGFzX21lOiR7YXNfbGluZW5vLSRMSU5FTk99OiBjaGVja2luZyBmb3Igbmd0Y3AyX2Nvbm5fY2xpZW50X25ldyBpbiAtbG5ndGNwMiIgPiY1CiAkYXNfZWNob19uICJjaGVja2luZyBmb3Igbmd0Y3AyX2Nvbm5fY2xpZW50X25ldyBpbiAtbG5ndGNwMi4uLiAiID4mNjsgfQpAQCAtMjgyNjcsNyArMjg0NjQsNyBAQAogICAgIExJQlM9IiRMSUJfTkdUQ1AyX0NSWVBUT19PUEVOU1NMICRMSUJTIgogCiAgICAgaWYgdGVzdCAieCRjcm9zc19jb21waWxpbmciICE9ICJ4eWVzIjsgdGhlbgotICAgICAgRElSX05HVENQMl9DUllQVE9fT1BFTlNTTD1gZWNobyAkTERfTkdUQ1AyX0NSWVBUT19PUEVOU1NMIHwgJFNFRCAtZSAncy8tTC8vJ2AKKyAgICAgIERJUl9OR1RDUDJfQ1JZUFRPX09QRU5TU0w9YGVjaG8gJExEX05HVENQMl9DUllQVE9fT1BFTlNTTCB8ICRTRUQgLWUgJ3MvXi1MLy8nYAogICAgIGZpCiAgICAgeyAkYXNfZWNobyAiJGFzX21lOiR7YXNfbGluZW5vLSRMSU5FTk99OiBjaGVja2luZyBmb3Igbmd0Y3AyX2NyeXB0b19jdHhfaW5pdGlhbCBpbiAtbG5ndGNwMl9jcnlwdG9fb3BlbnNzbCIgPiY1CiAkYXNfZWNob19uICJjaGVja2luZyBmb3Igbmd0Y3AyX2NyeXB0b19jdHhfaW5pdGlhbCBpbiAtbG5ndGNwMl9jcnlwdG9fb3BlbnNzbC4uLiAiID4mNjsgfQpAQCAtMjg1MDksNyArMjg3MDYsNyBAQAogICAgIExJQlM9IiRMSUJfTkdUQ1AyX0NSWVBUT19HTlVUTFMgJExJQlMiCiAKICAgICBpZiB0ZXN0ICJ4JGNyb3NzX2NvbXBpbGluZyIgIT0gInh5ZXMiOyB0aGVuCi0gICAgICBESVJfTkdUQ1AyX0NSWVBUT19HTlVUTFM9YGVjaG8gJExEX05HVENQMl9DUllQVE9fR05VVExTIHwgJFNFRCAtZSAncy8tTC8vJ2AKKyAgICAgIERJUl9OR1RDUDJfQ1JZUFRPX0dOVVRMUz1gZWNobyAkTERfTkdUQ1AyX0NSWVBUT19HTlVUTFMgfCAkU0VEIC1lICdzL14tTC8vJ2AKICAgICBmaQogICAgIHsgJGFzX2VjaG8gIiRhc19tZToke2FzX2xpbmVuby0kTElORU5PfTogY2hlY2tpbmcgZm9yIG5ndGNwMl9jcnlwdG9fY3R4X2luaXRpYWwgaW4gLWxuZ3RjcDJfY3J5cHRvX2dudXRscyIgPiY1CiAkYXNfZWNob19uICJjaGVja2luZyBmb3Igbmd0Y3AyX2NyeXB0b19jdHhfaW5pdGlhbCBpbiAtbG5ndGNwMl9jcnlwdG9fZ251dGxzLi4uICIgPiY2OyB9CkBAIC0yODc4MCw3ICsyODk3Nyw3IEBACiAgICAgTElCUz0iJExJQl9OR0hUVFAzICRMSUJTIgogCiAgICAgaWYgdGVzdCAieCRjcm9zc19jb21waWxpbmciICE9ICJ4eWVzIjsgdGhlbgotICAgICAgRElSX05HSFRUUDM9YGVjaG8gJExEX05HSFRUUDMgfCAkU0VEIC1lICdzLy1MLy8nYAorICAgICAgRElSX05HSFRUUDM9YGVjaG8gJExEX05HSFRUUDMgfCAkU0VEIC1lICdzL14tTC8vJ2AKICAgICBmaQogICAgIHsgJGFzX2VjaG8gIiRhc19tZToke2FzX2xpbmVuby0kTElORU5PfTogY2hlY2tpbmcgZm9yIG5naHR0cDNfY29ubl9jbGllbnRfbmV3IGluIC1sbmdodHRwMyIgPiY1CiAkYXNfZWNob19uICJjaGVja2luZyBmb3IgbmdodHRwM19jb25uX2NsaWVudF9uZXcgaW4gLWxuZ2h0dHAzLi4uICIgPiY2OyB9CkBAIC0yOTA1Myw3ICsyOTI1MCw3IEBACiAgICAgTElCUz0iJExJQl9RVUlDSEUgJExJQlMiCiAKICAgICBpZiB0ZXN0ICJ4JGNyb3NzX2NvbXBpbGluZyIgIT0gInh5ZXMiOyB0aGVuCi0gICAgICBESVJfUVVJQ0hFPWBlY2hvICRMRF9RVUlDSEUgfCAkU0VEIC1lICdzLy1MLy8nYAorICAgICAgRElSX1FVSUNIRT1gZWNobyAkTERfUVVJQ0hFIHwgJFNFRCAtZSAncy9eLUwvLydgCiAgICAgZmkKICAgICB7ICRhc19lY2hvICIkYXNfbWU6JHthc19saW5lbm8tJExJTkVOT306IGNoZWNraW5nIGZvciBxdWljaGVfY29ubmVjdCBpbiAtbHF1aWNoZSIgPiY1CiAkYXNfZWNob19uICJjaGVja2luZyBmb3IgcXVpY2hlX2Nvbm5lY3QgaW4gLWxxdWljaGUuLi4gIiA+JjY7IH0KQEAgLTI5MTA3LDYgKzI5MzA0LDE3IEBACiAKICAgICAgICAgICBVU0VfUVVJQ0hFPTEKIAorICAgICAgICAgIGZvciBhY19mdW5jIGluIHF1aWNoZV9jb25uX3NldF9xbG9nX2ZkCitkbyA6CisgIGFjX2ZuX2NfY2hlY2tfZnVuYyAiJExJTkVOTyIgInF1aWNoZV9jb25uX3NldF9xbG9nX2ZkIiAiYWNfY3ZfZnVuY19xdWljaGVfY29ubl9zZXRfcWxvZ19mZCIKK2lmIHRlc3QgIngkYWNfY3ZfZnVuY19xdWljaGVfY29ubl9zZXRfcWxvZ19mZCIgPSB4eWVzOyB0aGVuIDoKKyAgY2F0ID4+Y29uZmRlZnMuaCA8PF9BQ0VPRgorI2RlZmluZSBIQVZFX1FVSUNIRV9DT05OX1NFVF9RTE9HX0ZEIDEKK19BQ0VPRgorCitmaQorZG9uZQorCiAgICAgICAgICAgQ1VSTF9MSUJSQVJZX1BBVEg9IiRDVVJMX0xJQlJBUllfUEFUSDokRElSX1FVSUNIRSIKICAgICAgICAgICBleHBvcnQgQ1VSTF9MSUJSQVJZX1BBVEgKICAgICAgICAgICB7ICRhc19lY2hvICIkYXNfbWU6JHthc19saW5lbm8tJExJTkVOT306IEFkZGVkICRESVJfUVVJQ0hFIHRvIENVUkxfTElCUkFSWV9QQVRIIiA+JjUKQEAgLTMwNDMyLDYgKzMwNjQwLDI1IEBACiBmaQogCiAKKyMgY2hlY2sgZm9yIHN1c2Vjb25kc190CithY19mbl9jX2NoZWNrX3R5cGUgIiRMSU5FTk8iICJzdXNlY29uZHNfdCIgImFjX2N2X3R5cGVfc3VzZWNvbmRzX3QiICIKKyNpZmRlZiBIQVZFX1NZU19UWVBFU19ICisjaW5jbHVkZSA8c3lzL3R5cGVzLmg+CisjZW5kaWYKKyNpZmRlZiBIQVZFX1NZU19USU1FX0gKKyNpbmNsdWRlIDxzeXMvdGltZS5oPgorI2VuZGlmCisKKyIKK2lmIHRlc3QgIngkYWNfY3ZfdHlwZV9zdXNlY29uZHNfdCIgPSB4eWVzOyB0aGVuIDoKKworCiskYXNfZWNobyAiI2RlZmluZSBIQVZFX1NVU0VDT05EU19UIDEiID4+Y29uZmRlZnMuaAorCisKK2ZpCisKKwogeyAkYXNfZWNobyAiJGFzX21lOiR7YXNfbGluZW5vLSRMSU5FTk99OiBjaGVja2luZyBpZiB0aW1lX3QgaXMgdW5zaWduZWQiID4mNQogJGFzX2VjaG9fbiAiY2hlY2tpbmcgaWYgdGltZV90IGlzIHVuc2lnbmVkLi4uICIgPiY2OyB9CiAKQEAgLTQyNTE0LDEyICs0Mjc0MSwxNSBAQAogJGFzX2VjaG8gIiNkZWZpbmUgSEFWRV9QVEhSRUFEX0ggMSIgPj5jb25mZGVmcy5oCiAKICAgICAgIHNhdmVfQ0ZMQUdTPSIkQ0ZMQUdTIgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2F2ZV9MSUJTPSIkTElCUyIKIAorICAgICAgTElCUz0KICAgICAgICAgICAgIGFjX2ZuX2NfY2hlY2tfZnVuYyAiJExJTkVOTyIgInB0aHJlYWRfY3JlYXRlIiAiYWNfY3ZfZnVuY19wdGhyZWFkX2NyZWF0ZSIKIGlmIHRlc3QgIngkYWNfY3ZfZnVuY19wdGhyZWFkX2NyZWF0ZSIgPSB4eWVzOyB0aGVuIDoKICAgVVNFX1RIUkVBRFNfUE9TSVg9MQogZmkKIAorICAgICAgTElCUz0iJHNhdmVfTElCUyIKIAogICAgICAgICAgICAgY2FzZSAkaG9zdCBpbgogICAgICAgKi1ocC1ocHV4KikKQEAgLTQzMTY4LDYgKzQzMzk4LDEyIEBACiBFTkFCTEVfU1RBVElDPSIkZW5hYmxlX3N0YXRpYyIKIAogCitpZiB0ZXN0ICJ4JGVuYWJsZV9zaGFyZWQiID0gInhubyI7IHRoZW4KKyAgTElCQ1VSTF9OT19TSEFSRUQ9JExJQkNVUkxfTElCUworZWxzZQorICBMSUJDVVJMX05PX1NIQVJFRD0KK2ZpCisKIAogCiBpZiB0ZXN0ICJ4JE9QRU5TU0xfRU5BQkxFRCIgPSAieDEiOyB0aGVuCkBAIC00MzIyMyw3ICs0MzQ1OSw4IEBACiBpZiB0ZXN0ICJ4JENVUkxfRElTQUJMRV9DUllQVE9fQVVUSCIgIT0gIngxIjsgdGhlbgogICBpZiB0ZXN0ICJ4JE9QRU5TU0xfRU5BQkxFRCIgPSAieDEiIC1vICJ4JFVTRV9XSU5ET1dTX1NTUEkiID0gIngxIiBcCiAgICAgICAtbyAieCRHTlVUTFNfRU5BQkxFRCIgPSAieDEiIC1vICJ4JE1CRURUTFNfRU5BQkxFRCIgPSAieDEiIFwKLSAgICAgIC1vICJ4JE5TU19FTkFCTEVEIiA9ICJ4MSIgLW8gIngkU0VDVVJFVFJBTlNQT1JUX0VOQUJMRUQiID0gIngxIjsgdGhlbgorICAgICAgLW8gIngkTlNTX0VOQUJMRUQiID0gIngxIiAtbyAieCRTRUNVUkVUUkFOU1BPUlRfRU5BQkxFRCIgPSAieDEiIFwKKyAgICAgIC1vICJ4JFdPTEZTU0xfTlRMTSIgPSAieDEiOyB0aGVuCiAgICAgU1VQUE9SVF9GRUFUVVJFUz0iJFNVUFBPUlRfRkVBVFVSRVMgTlRMTSIKIAogICAgIGlmIHRlc3QgIngkQ1VSTF9ESVNBQkxFX0hUVFAiICE9ICJ4MSIgLWEgXApAQCAtNDMzMTUsNyArNDM1NTIsOCBAQAogICAgIC1hICJ4JENVUkxfRElTQUJMRV9DUllQVE9fQVVUSCIgIT0gIngxIiBcCiAgICAgLWEgXCggIngkT1BFTlNTTF9FTkFCTEVEIiA9ICJ4MSIgLW8gIngkVVNFX1dJTkRPV1NfU1NQSSIgPSAieDEiIFwKICAgICAgIC1vICJ4JEdOVVRMU19FTkFCTEVEIiA9ICJ4MSIgLW8gIngkTUJFRFRMU19FTkFCTEVEIiA9ICJ4MSIgXAotICAgICAgLW8gIngkTlNTX0VOQUJMRUQiID0gIngxIiAtbyAieCRTRUNVUkVUUkFOU1BPUlRfRU5BQkxFRCIgPSAieDEiIFwpOyB0aGVuCisgICAgICAtbyAieCROU1NfRU5BQkxFRCIgPSAieDEiIC1vICJ4JFNFQ1VSRVRSQU5TUE9SVF9FTkFCTEVEIiA9ICJ4MSIgXAorICAgICAgLW8gIngkV09MRlNTTF9OVExNIiA9ICJ4MSIgXCk7IHRoZW4KICAgU1VQUE9SVF9QUk9UT0NPTFM9IiRTVVBQT1JUX1BST1RPQ09MUyBTTUIiCiAgIGlmIHRlc3QgIngkU1NMX0VOQUJMRUQiID0gIngxIjsgdGhlbgogICAgIFNVUFBPUlRfUFJPVE9DT0xTPSIkU1VQUE9SVF9QUk9UT0NPTFMgU01CUyIKQEAgLTQzMzM2LDcgKzQzNTc0LDYgQEAKICAgU1VQUE9SVF9QUk9UT0NPTFM9IiRTVVBQT1JUX1BST1RPQ09MUyBTRlRQIgogZmkKIGlmIHRlc3QgIngkVVNFX1dPTEZTU0giID0gIngxIjsgdGhlbgotICBTVVBQT1JUX1BST1RPQ09MUz0iJFNVUFBPUlRfUFJPVE9DT0xTIFNDUCIKICAgU1VQUE9SVF9QUk9UT0NPTFM9IiRTVVBQT1JUX1BST1RPQ09MUyBTRlRQIgogZmkKIGlmIHRlc3QgIngkQ1VSTF9ESVNBQkxFX1JUU1AiICE9ICJ4MSI7IHRoZW4KQEAgLTQ1MzE5LDkgKzQ1NTU2LDcgQEAKICAgICB7IHsgJGFzX2VjaG8gIiRhc19tZToke2FzX2xpbmVuby0kTElORU5PfTogZXJyb3I6IGluIFxgJGFjX3B3ZCc6IiA+JjUKICRhc19lY2hvICIkYXNfbWU6IGVycm9yOiBpbiBcYCRhY19wd2QnOiIgPiYyO30KIGFzX2ZuX2Vycm9yICQ/ICJTb21ldGhpbmcgd2VudCB3cm9uZyBib290c3RyYXBwaW5nIG1ha2VmaWxlIGZyYWdtZW50cwotICAgIGZvciBhdXRvbWF0aWMgZGVwZW5kZW5jeSB0cmFja2luZy4gIElmIEdOVSBtYWtlIHdhcyBub3QgdXNlZCwgY29uc2lkZXIKLSAgICByZS1ydW5uaW5nIHRoZSBjb25maWd1cmUgc2NyaXB0IHdpdGggTUFLRT1cImdtYWtlXCIgKG9yIHdoYXRldmVyIGlzCi0gICAgbmVjZXNzYXJ5KS4gIFlvdSBjYW4gYWxzbyB0cnkgcmUtcnVubmluZyBjb25maWd1cmUgd2l0aCB0aGUKKyAgICBmb3IgYXV0b21hdGljIGRlcGVuZGVuY3kgdHJhY2tpbmcuICBUcnkgcmUtcnVubmluZyBjb25maWd1cmUgd2l0aCB0aGUKICAgICAnLS1kaXNhYmxlLWRlcGVuZGVuY3ktdHJhY2tpbmcnIG9wdGlvbiB0byBhdCBsZWFzdCBiZSBhYmxlIHRvIGJ1aWxkCiAgICAgdGhlIHBhY2thZ2UgKGFsYmVpdCB3aXRob3V0IHN1cHBvcnQgZm9yIGF1dG9tYXRpYyBkZXBlbmRlbmN5IHRyYWNraW5nKS4KIFNlZSBcYGNvbmZpZy5sb2cnIGZvciBtb3JlIGRldGFpbHMiICIkTElORU5PIiA1OyB9CmRpZmYgLS1naXQgYS9jb25maWd1cmUuYWMgYi9jb25maWd1cmUuYWMKaW5kZXggNzY4ZjUyZi4uZjBmYmNiMCAxMDA3NTUKLS0tIGEvY29uZmlndXJlLmFjCisrKyBiL2NvbmZpZ3VyZS5hYwpAQCAtMTA1Niw3ICsxMDU2LDcgQEAKICAgICAgIExEX0JST1RMST1gJFBLR0NPTkZJRyAtLWxpYnMtb25seS1MIGxpYmJyb3RsaWRlY2AKICAgICAgIENQUF9CUk9UTEk9YCRQS0dDT05GSUcgLS1jZmxhZ3Mtb25seS1JIGxpYmJyb3RsaWRlY2AKICAgICAgIHZlcnNpb249YCRQS0dDT05GSUcgLS1tb2R2ZXJzaW9uIGxpYmJyb3RsaWRlY2AKLSAgICAgIERJUl9CUk9UTEk9YGVjaG8gJExEX0JST1RMSSB8ICRTRUQgLWUgJ3MvLUwvLydgCisgICAgICBESVJfQlJPVExJPWBlY2hvICRMRF9CUk9UTEkgfCAkU0VEIC1lICdzL14tTC8vJ2AKICAgICBmaQogCiAgICAgOzsKQEAgLTEyODIsMTIgKzEyODIsMTQgQEAKIGRubCAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiAKIEFDX01TR19DSEVDS0lORyhbaWYgYXJndiBjYW4gYmUgd3JpdHRlbiB0b10pCi1DVVJMX1JVTl9JRkVMU0UoWwotaW50IG1haW4oaW50IGFyZ2MsIGNoYXIgKiogYXJndikgewotICAgIGFyZ3ZbMF1bMF0gPSAnICc7Ci0gICAgcmV0dXJuIChhcmd2WzBdWzBdID09ICcgJyk/MDoxOworQ1VSTF9SVU5fSUZFTFNFKFtbCitpbnQgbWFpbihpbnQgYXJnYywgY2hhciAqKmFyZ3YpCit7CisgICh2b2lkKWFyZ2M7CisgIGFyZ3ZbMF1bMF0gPSAnICc7CisgIHJldHVybiAoYXJndlswXVswXSA9PSAnICcpPzA6MTsKIH0KLV0sWworXV0sWwogICBjdXJsX2N2X3dyaXRhYmxlX2FyZ3Y9eWVzCiBdLFsKICAgY3VybF9jdl93cml0YWJsZV9hcmd2PW5vCkBAIC0xNzE5LDcgKzE3MjEsNyBAQAogICAgICAgQUNfTVNHX05PVElDRShbcGtnLWNvbmZpZzogU1NMX0xERkxBR1M6ICIkU1NMX0xERkxBR1MiXSkKICAgICAgIEFDX01TR19OT1RJQ0UoW3BrZy1jb25maWc6IFNTTF9DUFBGTEFHUzogIiRTU0xfQ1BQRkxBR1MiXSkKIAotICAgICAgTElCX09QRU5TU0w9YGVjaG8gJFNTTF9MREZMQUdTIHwgc2VkIC1lICdzLy1MLy9nJ2AKKyAgICAgIExJQl9PUEVOU1NMPWBlY2hvICRTU0xfTERGTEFHUyB8IHNlZCAtZSAncy9eLUwvLydgCiAKICAgICAgIGRubCB1c2UgdGhlIHZhbHVlcyBwa2ctY29uZmlnIHJlcG9ydGVkLiAgVGhpcyBpcyBoZXJlCiAgICAgICBkbmwgaW5zdGVhZCBvZiBiZWxvdyB3aXRoIENQUEZMQUdTIGFuZCBMREZMQUdTIGJlY2F1c2Ugd2Ugb25seQpAQCAtMTc0NCw2ICsxNzQ2LDggQEAKICAgICAgICAjIG9ubHkgc2V0IHRoaXMgaWYgcGtnLWNvbmZpZyB3YXNuJ3QgdXNlZAogICAgICAgIENQUEZMQUdTPSIkQ0xFQU5DUFBGTEFHUyAtSSRQUkVGSVhfT1BFTlNTTC9pbmNsdWRlL29wZW5zc2wgLUkkUFJFRklYX09QRU5TU0wvaW5jbHVkZSIKICAgICAgZmkKKyAgICAgIyBMaW5raW5nIHByZXZpb3VzbHkgZmFpbGVkLCB0cnkgZXh0cmEgcGF0aHMgZnJvbSAtLXdpdGgtc3NsIG9yIHBrZy1jb25maWcuCisgICAgICMgVXNlIGEgZGlmZmVyZW50IGZ1bmN0aW9uIG5hbWUgdG8gYXZvaWQgcmV1c2luZyB0aGUgZWFybGllciBjYWNoZWQgcmVzdWx0LgogICAgICBBQ19DSEVDS19MSUIoY3J5cHRvLCBITUFDX0luaXRfZXgsWwogICAgICAgIEhBVkVDUllQVE89InllcyIKICAgICAgICBMSUJTPSItbGNyeXB0byAkTElCUyJdLCBbCkBAIC0xNzY1LDYgKzE3NjksNyBAQAogICAgICAgIFsKICAgICAgICAgIEFDX01TR19SRVNVTFQobm8pCiAgICAgICAgICBkbmwgb2ssIHNvIHdoYXQgYWJvdXQgYm90aCAtbGRsIGFuZCAtbHB0aHJlYWQ/CisgICAgICAgICBkbmwgVGhpcyBtYXkgYmUgbmVjZXNzYXJ5IGZvciBzdGF0aWMgbGlicmFyaWVzLgogCiAgICAgICAgICBBQ19NU0dfQ0hFQ0tJTkcoW09wZW5TU0wgbGlua2luZyB3aXRoIC1sZGwgYW5kIC1scHRocmVhZF0pCiAgICAgICAgICBMSUJTPSIkQ0xFQU5MSUJTIC1sY3J5cHRvIC1sZGwgLWxwdGhyZWFkIgpAQCAtMjAzNSw3ICsyMDQwLDcgQEAKICAgICAgICAgYWRkbGQ9YCRQS0dDT05GSUcgLS1saWJzLW9ubHktTCBnbnV0bHNgCiAgICAgICAgIGFkZGNmbGFncz1gJFBLR0NPTkZJRyAtLWNmbGFncy1vbmx5LUkgZ251dGxzYAogICAgICAgICB2ZXJzaW9uPWAkUEtHQ09ORklHIC0tbW9kdmVyc2lvbiBnbnV0bHNgCi0gICAgICAgIGd0bHNsaWI9YGVjaG8gJGFkZGxkIHwgJFNFRCAtZSAncy8tTC8vJ2AKKyAgICAgICAgZ3Rsc2xpYj1gZWNobyAkYWRkbGQgfCAkU0VEIC1lICdzL14tTC8vJ2AKICAgICAgIGVsc2UKICAgICAgICAgZG5sIHdpdGhvdXQgcGtnLWNvbmZpZywgd2UgdHJ5IGxpYmdudXRscy1jb25maWcgYXMgdGhhdCB3YXMgaG93IGl0CiAgICAgICAgIGRubCB1c2VkIHRvIGJlIGRvbmUKQEAgLTIyNzAsNiArMjI3NSwxNSBAQAogQUNfSEVMUF9TVFJJTkcoWy0td2l0aG91dC13b2xmc3NsXSwgW2Rpc2FibGUgV29sZlNTTCBkZXRlY3Rpb25dKSwKICAgT1BUX1dPTEZTU0w9JHdpdGh2YWwpCiAKK2Nhc2UgIiRPUFRfV09MRlNTTCIgaW4KKyAgeWVzfG5vKQorICAgIHdvbGZwa2c9IiIKKyAgICA7OworICAqKQorICAgIHdvbGZwa2c9IiR3aXRodmFsL2xpYi9wa2djb25maWciCisgICAgOzsKK2VzYWMKKwogaWYgdGVzdCAteiAiJHNzbF9iYWNrZW5kcyIgLW8gIngkT1BUX1dPTEZTU0wiICE9IHhubzsgdGhlbgogICBzc2xfbXNnPQogCkBAIC0yMjc5LDIyICsyMjkzLDQxIEBACiAgICAgICBPUFRfV09MRlNTTD0iIgogICAgIGZpCiAKKyAgICBDVVJMX0NIRUNLX1BLR0NPTkZJRyh3b2xmc3NsLCBbJHdvbGZwa2ddKQorICAgIEFDX01TR19OT1RJQ0UoW0NoZWNrIGRpciAkd29sZnBrZ10pCisKICAgICBhZGRsZD0iIgogICAgIGFkZGxpYj0iIgogICAgIGFkZGNmbGFncz0iIgotCi0gICAgaWYgdGVzdCAieCRVU0VfV09MRlNTTCIgIT0gInh5ZXMiOyB0aGVuCisgICAgaWYgdGVzdCAiJFBLR0NPTkZJRyIgIT0gIm5vIiA7IHRoZW4KKyAgICAgIGFkZGxpYj1gQ1VSTF9FWFBPUlRfUENESVIoWyR3b2xmcGtnXSkKKyAgICAgICAgJFBLR0NPTkZJRyAtLWxpYnMtb25seS1sIHdvbGZzc2xgCisgICAgICBhZGRsZD1gQ1VSTF9FWFBPUlRfUENESVIoWyR3b2xmcGtnXSkKKyAgICAgICAgJFBLR0NPTkZJRyAtLWxpYnMtb25seS1MIHdvbGZzc2xgCisgICAgICBhZGRjZmxhZ3M9YENVUkxfRVhQT1JUX1BDRElSKFskd29sZnBrZ10pCisgICAgICAgICRQS0dDT05GSUcgLS1jZmxhZ3Mtb25seS1JIHdvbGZzc2xgCisgICAgICB2ZXJzaW9uPWBDVVJMX0VYUE9SVF9QQ0RJUihbJHdvbGZwa2ddKQorICAgICAgICAkUEtHQ09ORklHIC0tbW9kdmVyc2lvbiB3b2xmc3NsYAorICAgICAgd29sZnNzbGxpYnBhdGg9YGVjaG8gJGFkZGxkIHwgJFNFRCAtZSAncy9eLUwvLydgCisgICAgZWxzZQorICAgICAgYWRkbGliPS1sd29sZnNzbAogICAgICAgYWRkbGQ9LUwkT1BUX1dPTEZTU0wvbGliJGxpYnN1ZmYKICAgICAgIGFkZGNmbGFncz0tSSRPUFRfV09MRlNTTC9pbmNsdWRlCiAgICAgICB3b2xmc3NsbGlicGF0aD0kT1BUX1dPTEZTU0wvbGliJGxpYnN1ZmYKKyAgICBmaQorCisgICAgaWYgdGVzdCAieCRVU0VfV09MRlNTTCIgIT0gInh5ZXMiOyB0aGVuCiAKICAgICAgIExERkxBR1M9IiRMREZMQUdTICRhZGRsZCIKKyAgICAgIEFDX01TR19OT1RJQ0UoW0FkZCAkYWRkbGQgdG8gTERGTEFHU10pCiAgICAgICBpZiB0ZXN0ICIkYWRkY2ZsYWdzIiAhPSAiLUkvdXNyL2luY2x1ZGUiOyB0aGVuCiAgICAgICAgICBDUFBGTEFHUz0iJENQUEZMQUdTICRhZGRjZmxhZ3MiCisgICAgICAgICBBQ19NU0dfTk9USUNFKFtBZGQgJGFkZGNmbGFncyB0byBDUFBGTEFHU10pCiAgICAgICBmaQogCiAgICAgICBteV9hY19zYXZlX0xJQlM9IiRMSUJTIgotICAgICAgTElCUz0iLWx3b2xmc3NsIC1sbSAkTElCUyIKKyAgICAgIExJQlM9IiRhZGRsaWIgJExJQlMiCisgICAgICBBQ19NU0dfTk9USUNFKFtBZGQgJGFkZGxpYiB0byBMSUJTXSkKIAogICAgICAgQUNfTVNHX0NIRUNLSU5HKFtmb3Igd29sZlNTTF9Jbml0IGluIC1sd29sZnNzbF0pCiAgICAgICBBQ19MSU5LX0lGRUxTRShbCkBAIC0yMzM2LDkgKzIzNjksMjMgQEAKIAogICAgICAgZG5sIFJlY2VudCBXb2xmU1NMIHZlcnNpb25zIGJ1aWxkIHdpdGhvdXQgU1NMdjMgYnkgZGVmYXVsdAogICAgICAgZG5sIFdvbGZTU0wgbmVlZHMgY29uZmlndXJlIC0tZW5hYmxlLW9wZW5zc2xleHRyYSB0byBoYXZlICpnZXRfcGVlcioKKyAgICAgIGRubCBERVMqIGlzIG5lZWRlZCBmb3IgTlRMTSBzdXBwb3J0IGFuZCBsaXZlcyBpbiB0aGUgT3BlblNTTCBjb21wYXRpYmlsaXR5CisgICAgICBkbmwgbGF5ZXIKICAgICAgIEFDX0NIRUNLX0ZVTkNTKHdvbGZTU0x2M19jbGllbnRfbWV0aG9kIFwKICAgICAgICAgICAgICAgICAgICAgIHdvbGZTU0xfZ2V0X3BlZXJfY2VydGlmaWNhdGUgXAotICAgICAgICAgICAgICAgICAgICAgd29sZlNTTF9Vc2VBTFBOKQorICAgICAgICAgICAgICAgICAgICAgd29sZlNTTF9Vc2VBTFBOICkKKworICAgICAgZG5sIGlmIHRoaXMgc3ltYm9sIGlzIHByZXNlbnQsIHdlIHdhbnQgdGhlIGluY2x1ZGUgcGF0aCB0byBpbmNsdWRlIHRoZQorICAgICAgZG5sIE9wZW5TU0wgQVBJIHJvb3QgYXMgd2VsbAorICAgICAgQUNfQ0hFQ0tfRlVOQyh3b2xmU1NMX0RFU19zZXRfb2RkX3Bhcml0eSwKKyAgICAgICAgWworICAgICAgICAgICAgQUNfREVGSU5FKEhBVkVfV09MRlNTTF9ERVNfU0VUX09ERF9QQVJJVFksIDEsCisgICAgICAgICAgICAgICAgICAgICAgW2lmIHlvdSBoYXZlIHdvbGZTU0xfREVTX3NldF9vZGRfcGFyaXR5XSkKKyAgICAgICAgICAgIENQUEZMQUdTPSIkYWRkY2ZsYWdzL3dvbGZzc2wgJENQUEZMQUdTIgorICAgICAgICAgICAgQUNfTVNHX05PVElDRShbQWRkICRhZGRjZmxhZ3Mvd29sZnNzbCB0byBDUFBGTEFHU10pCisgICAgICAgICAgICBXT0xGU1NMX05UTE09MQorICAgICAgICBdCisgICAgICAgICkKIAogICAgICAgaWYgdGVzdCAtbiAiJHdvbGZzc2xsaWJwYXRoIjsgdGhlbgogICAgICAgICBkbmwgd2hlbiBzaGFyZWQgbGlicyB3ZXJlIGZvdW5kIGluIGEgcGF0aCB0aGF0IHRoZSBydW4tdGltZQpAQCAtMjc4NSw3ICsyODMyLDcgQEAKICAgICAgICRQS0dDT05GSUcgLS1jZmxhZ3Mtb25seS1JIGxpYm1ldGFsaW5rYAogICAgIHZlcnNpb249YENVUkxfRVhQT1JUX1BDRElSKFskTElCTUVUQUxJTktfUENESVJdKSBkbmwKICAgICAgICRQS0dDT05GSUcgLS1tb2R2ZXJzaW9uIGxpYm1ldGFsaW5rYAotICAgIGxpYm1ldGFsaW5rbGliPWBlY2hvICRhZGRsZCB8ICRTRUQgLWUgJ3MvLUwvLydgCisgICAgbGlibWV0YWxpbmtsaWI9YGVjaG8gJGFkZGxkIHwgJFNFRCAtZSAncy9eLUwvLydgCiAgIGZpCiAgIGlmIHRlc3QgLW4gIiRhZGRsaWIiOyB0aGVuCiAKQEAgLTI4NzUsNyArMjkyMiw3IEBACiAgICAgICBMRF9TU0gyPWAkUEtHQ09ORklHIC0tbGlicy1vbmx5LUwgbGlic3NoMmAKICAgICAgIENQUF9TU0gyPWAkUEtHQ09ORklHIC0tY2ZsYWdzLW9ubHktSSBsaWJzc2gyYAogICAgICAgdmVyc2lvbj1gJFBLR0NPTkZJRyAtLW1vZHZlcnNpb24gbGlic3NoMmAKLSAgICAgIERJUl9TU0gyPWBlY2hvICRMRF9TU0gyIHwgJFNFRCAtZSAncy8tTC8vJ2AKKyAgICAgIERJUl9TU0gyPWBlY2hvICRMRF9TU0gyIHwgJFNFRCAtZSAncy9eLUwvLydgCiAgICAgZmkKIAogICAgIDs7CkBAIC0yOTQ4LDcgKzI5OTUsNyBAQAogICAgICAgTERfU1NIPWAkUEtHQ09ORklHIC0tbGlicy1vbmx5LUwgbGlic3NoYAogICAgICAgQ1BQX1NTSD1gJFBLR0NPTkZJRyAtLWNmbGFncy1vbmx5LUkgbGlic3NoYAogICAgICAgdmVyc2lvbj1gJFBLR0NPTkZJRyAtLW1vZHZlcnNpb24gbGlic3NoYAotICAgICAgRElSX1NTSD1gZWNobyAkTERfU1NIIHwgJFNFRCAtZSAncy8tTC8vJ2AKKyAgICAgIERJUl9TU0g9YGVjaG8gJExEX1NTSCB8ICRTRUQgLWUgJ3MvXi1MLy8nYAogICAgIGZpCiAKICAgICA7OwpAQCAtMzA1Niw3ICszMTAzLDcgQEAKICAgICAgIExEX1JUTVA9YCRQS0dDT05GSUcgLS1saWJzLW9ubHktTCBsaWJydG1wYAogICAgICAgQ1BQX1JUTVA9YCRQS0dDT05GSUcgLS1jZmxhZ3Mtb25seS1JIGxpYnJ0bXBgCiAgICAgICB2ZXJzaW9uPWAkUEtHQ09ORklHIC0tbW9kdmVyc2lvbiBsaWJydG1wYAotICAgICAgRElSX1JUTVA9YGVjaG8gJExEX1JUTVAgfCAkU0VEIC1lICdzLy1MLy8nYAorICAgICAgRElSX1JUTVA9YGVjaG8gJExEX1JUTVAgfCAkU0VEIC1lICdzL14tTC8vJ2AKICAgICBlbHNlCiAgICAgICBkbmwgVG8gYXZvaWQgbGluayBlcnJvcnMsIHdlIGRvIG5vdCBhbGxvdyAtLWxpYnJ0bXAgd2l0aG91dAogICAgICAgZG5sIGEgcGtnY29uZmlnIGZpbGUKQEAgLTMyOTIsNyArMzMzOSw3IEBACiAgICAgICAgICRQS0dDT05GSUcgLS1saWJzLW9ubHktTCBsaWJpZG4yIDI+L2Rldi9udWxsYAogICAgICAgSUROX0NQUEZMQUdTPWBDVVJMX0VYUE9SVF9QQ0RJUihbJElETl9QQ0RJUl0pIGRubAogICAgICAgICAkUEtHQ09ORklHIC0tY2ZsYWdzLW9ubHktSSBsaWJpZG4yIDI+L2Rldi9udWxsYAotICAgICAgSUROX0RJUj1gZWNobyAkSUROX0xERkxBR1MgfCAkU0VEIC1lICdzLy1MLy8nYAorICAgICAgSUROX0RJUj1gZWNobyAkSUROX0xERkxBR1MgfCAkU0VEIC1lICdzL14tTC8vJ2AKICAgICBlbHNlCiAgICAgICBkbmwgcGtnLWNvbmZpZyBub3QgYXZhaWxhYmxlIG9yIHByb3ZpZGVzIG5vIGluZm8KICAgICAgIElETl9MSUJTPSItbGlkbjIiCkBAIC0zMzA3LDcgKzMzNTQsNyBAQAogICAgICAgSUROX0xJQlM9YCRQS0dDT05GSUcgLS1saWJzLW9ubHktbCBsaWJpZG4yIDI+L2Rldi9udWxsYAogICAgICAgSUROX0xERkxBR1M9YCRQS0dDT05GSUcgLS1saWJzLW9ubHktTCBsaWJpZG4yIDI+L2Rldi9udWxsYAogICAgICAgSUROX0NQUEZMQUdTPWAkUEtHQ09ORklHIC0tY2ZsYWdzLW9ubHktSSBsaWJpZG4yIDI+L2Rldi9udWxsYAotICAgICAgSUROX0RJUj1gZWNobyAkSUROX0xERkxBR1MgfCAkU0VEIC1lICdzLy1MLy8nYAorICAgICAgSUROX0RJUj1gZWNobyAkSUROX0xERkxBR1MgfCAkU0VEIC1lICdzL14tTC8vJ2AKICAgICBlbHNlCiAgICAgICBkbmwgcGtnLWNvbmZpZyBub3QgYXZhaWxhYmxlIG9yIHByb3ZpZGVzIG5vIGluZm8KICAgICAgIElETl9MSUJTPSItbGlkbjIiCkBAIC0zNTE0LDcgKzM1NjEsNyBAQAogICAgIExJQlM9IiRMSUJfVENQMiAkTElCUyIKIAogICAgIGlmIHRlc3QgIngkY3Jvc3NfY29tcGlsaW5nIiAhPSAieHllcyI7IHRoZW4KLSAgICAgIERJUl9UQ1AyPWBlY2hvICRMRF9UQ1AyIHwgJFNFRCAtZSAncy8tTC8vJ2AKKyAgICAgIERJUl9UQ1AyPWBlY2hvICRMRF9UQ1AyIHwgJFNFRCAtZSAncy9eLUwvLydgCiAgICAgZmkKICAgICBBQ19DSEVDS19MSUIobmd0Y3AyLCBuZ3RjcDJfY29ubl9jbGllbnRfbmV3LAogICAgICAgWwpAQCAtMzU3MCw3ICszNjE3LDcgQEAKICAgICBMSUJTPSIkTElCX05HVENQMl9DUllQVE9fT1BFTlNTTCAkTElCUyIKIAogICAgIGlmIHRlc3QgIngkY3Jvc3NfY29tcGlsaW5nIiAhPSAieHllcyI7IHRoZW4KLSAgICAgIERJUl9OR1RDUDJfQ1JZUFRPX09QRU5TU0w9YGVjaG8gJExEX05HVENQMl9DUllQVE9fT1BFTlNTTCB8ICRTRUQgLWUgJ3MvLUwvLydgCisgICAgICBESVJfTkdUQ1AyX0NSWVBUT19PUEVOU1NMPWBlY2hvICRMRF9OR1RDUDJfQ1JZUFRPX09QRU5TU0wgfCAkU0VEIC1lICdzL14tTC8vJ2AKICAgICBmaQogICAgIEFDX0NIRUNLX0xJQihuZ3RjcDJfY3J5cHRvX29wZW5zc2wsIG5ndGNwMl9jcnlwdG9fY3R4X2luaXRpYWwsCiAgICAgICBbCkBAIC0zNjI1LDcgKzM2NzIsNyBAQAogICAgIExJQlM9IiRMSUJfTkdUQ1AyX0NSWVBUT19HTlVUTFMgJExJQlMiCiAKICAgICBpZiB0ZXN0ICJ4JGNyb3NzX2NvbXBpbGluZyIgIT0gInh5ZXMiOyB0aGVuCi0gICAgICBESVJfTkdUQ1AyX0NSWVBUT19HTlVUTFM9YGVjaG8gJExEX05HVENQMl9DUllQVE9fR05VVExTIHwgJFNFRCAtZSAncy8tTC8vJ2AKKyAgICAgIERJUl9OR1RDUDJfQ1JZUFRPX0dOVVRMUz1gZWNobyAkTERfTkdUQ1AyX0NSWVBUT19HTlVUTFMgfCAkU0VEIC1lICdzL14tTC8vJ2AKICAgICBmaQogICAgIEFDX0NIRUNLX0xJQihuZ3RjcDJfY3J5cHRvX2dudXRscywgbmd0Y3AyX2NyeXB0b19jdHhfaW5pdGlhbCwKICAgICAgIFsKQEAgLTM3MTMsNyArMzc2MCw3IEBACiAgICAgTElCUz0iJExJQl9OR0hUVFAzICRMSUJTIgogCiAgICAgaWYgdGVzdCAieCRjcm9zc19jb21waWxpbmciICE9ICJ4eWVzIjsgdGhlbgotICAgICAgRElSX05HSFRUUDM9YGVjaG8gJExEX05HSFRUUDMgfCAkU0VEIC1lICdzLy1MLy8nYAorICAgICAgRElSX05HSFRUUDM9YGVjaG8gJExEX05HSFRUUDMgfCAkU0VEIC1lICdzL14tTC8vJ2AKICAgICBmaQogICAgIEFDX0NIRUNLX0xJQihuZ2h0dHAzLCBuZ2h0dHAzX2Nvbm5fY2xpZW50X25ldywKICAgICAgIFsKQEAgLTM4MDMsNyArMzg1MCw3IEBACiAgICAgTElCUz0iJExJQl9RVUlDSEUgJExJQlMiCiAKICAgICBpZiB0ZXN0ICJ4JGNyb3NzX2NvbXBpbGluZyIgIT0gInh5ZXMiOyB0aGVuCi0gICAgICBESVJfUVVJQ0hFPWBlY2hvICRMRF9RVUlDSEUgfCAkU0VEIC1lICdzLy1MLy8nYAorICAgICAgRElSX1FVSUNIRT1gZWNobyAkTERfUVVJQ0hFIHwgJFNFRCAtZSAncy9eLUwvLydgCiAgICAgZmkKICAgICBBQ19DSEVDS19MSUIocXVpY2hlLCBxdWljaGVfY29ubmVjdCwKICAgICAgIFsKQEAgLTM4MTQsNiArMzg2MSw3IEBACiAgICAgICAgICAgUVVJQ0hFX0VOQUJMRUQ9MQogICAgICAgICAgIEFDX0RFRklORShVU0VfUVVJQ0hFLCAxLCBbaWYgcXVpY2hlIGlzIGluIHVzZV0pCiAgICAgICAgICAgQUNfU1VCU1QoVVNFX1FVSUNIRSwgWzFdKQorICAgICAgICAgIEFDX0NIRUNLX0ZVTkNTKFtxdWljaGVfY29ubl9zZXRfcWxvZ19mZF0pCiAgICAgICAgICAgQ1VSTF9MSUJSQVJZX1BBVEg9IiRDVVJMX0xJQlJBUllfUEFUSDokRElSX1FVSUNIRSIKICAgICAgICAgICBleHBvcnQgQ1VSTF9MSUJSQVJZX1BBVEgKICAgICAgICAgICBBQ19NU0dfTk9USUNFKFtBZGRlZCAkRElSX1FVSUNIRSB0byBDVVJMX0xJQlJBUllfUEFUSF0pLApAQCAtNDA1OCw2ICs0MTA2LDE5IEBACiAjZW5kaWYKIF0pCiAKKyMgY2hlY2sgZm9yIHN1c2Vjb25kc190CitBQ19DSEVDS19UWVBFKFtzdXNlY29uZHNfdF0sWworICBBQ19ERUZJTkUoSEFWRV9TVVNFQ09ORFNfVCwgMSwKKyAgICBbRGVmaW5lIHRvIDEgaWYgc3VzZWNvbmRzX3QgaXMgYW4gYXZhaWxhYmxlIHR5cGUuXSkKK10sICxbCisjaWZkZWYgSEFWRV9TWVNfVFlQRVNfSAorI2luY2x1ZGUgPHN5cy90eXBlcy5oPgorI2VuZGlmCisjaWZkZWYgSEFWRV9TWVNfVElNRV9ICisjaW5jbHVkZSA8c3lzL3RpbWUuaD4KKyNlbmRpZgorXSkKKwogQUNfTVNHX0NIRUNLSU5HKFtpZiB0aW1lX3QgaXMgdW5zaWduZWRdKQogQ1VSTF9SVU5fSUZFTFNFKAogICBbCkBAIC00MzExLDkgKzQzNzIsMTcgQEAKICAgQUNfQ0hFQ0tfSEVBREVSKHB0aHJlYWQuaCwKICAgICBbIEFDX0RFRklORShIQVZFX1BUSFJFQURfSCwgMSwgW2lmIHlvdSBoYXZlIDxwdGhyZWFkLmg+XSkKICAgICAgIHNhdmVfQ0ZMQUdTPSIkQ0ZMQUdTIgorICAgICAgZG5sIFdoZW4gc3RhdGljYWxseSBsaW5raW5nIGFnYWluc3QgYm9yaW5nc3NsLCAtbHB0aHJlYWQgaXMgYWRkZWQgdG8gTElCUy4KKyAgICAgIGRubCBNYWtlIHN1cmUgdG8gdGhhdCB0aGlzIGRvZXMgbm90IHBhc3MgdGhlIGNoZWNrIGJlbG93LCB3ZSByZWFsbHkgd2FudAorICAgICAgZG5sIC1wdGhyZWFkIGluIENGTEFHUyBhcyByZWNvbW1lbmRlZCBmb3IgR0NDLiBUaGlzIGFsc28gZW5zdXJlcyB0aGF0CisgICAgICBkbmwgbGliMTU0MSBhbmQgbGliMTU2NSB0ZXN0cyBhcmUgYnVpbHQgd2l0aCB0aGVzZSBvcHRpb25zLiBPdGhlcndpc2UKKyAgICAgIGRubCB0aGV5IGZhaWwgdGhlIGJ1aWxkIHNpbmNlIHRlc3RzL2xpYnRlc3QvTWFrZWZpbGUuYW0gY2xlYXJzIExJQlMuCisgICAgICBzYXZlX0xJQlM9IiRMSUJTIgogCi0gICAgICBkbmwgZmlyc3QgY2hlY2sgZm9yIGZ1bmN0aW9uIHdpdGhvdXQgbGliCisgICAgICBMSUJTPQorICAgICAgZG5sIENoZWNrIGZvciBsaWJjIHZhcmlhbnRzIHdpdGhvdXQgYSBzZXBhcmF0ZSBwdGhyZWFkIGxpYiBsaWtlIGJpb25pYwogICAgICAgQUNfQ0hFQ0tfRlVOQyhwdGhyZWFkX2NyZWF0ZSwgW1VTRV9USFJFQURTX1BPU0lYPTFdICkKKyAgICAgIExJQlM9IiRzYXZlX0xJQlMiCiAKICAgICAgIGRubCBvbiBIUFVYLCBsaWZlIGlzIG1vcmUgY29tcGxpY2F0ZWQuLi4KICAgICAgIGNhc2UgJGhvc3QgaW4KQEAgLTQ3MjYsNiArNDc5NSwxMyBAQAogRU5BQkxFX1NUQVRJQz0iJGVuYWJsZV9zdGF0aWMiCiBBQ19TVUJTVChFTkFCTEVfU1RBVElDKQogCitkbmwgbWVyZ2UgdGhlIHBrZy1jb25maWcgTGlicy5wcml2YXRlIGZpZWxkIGludG8gTGlicyB3aGVuIHN0YXRpYy1vbmx5CitpZiB0ZXN0ICJ4JGVuYWJsZV9zaGFyZWQiID0gInhubyI7IHRoZW4KKyAgTElCQ1VSTF9OT19TSEFSRUQ9JExJQkNVUkxfTElCUworZWxzZQorICBMSUJDVVJMX05PX1NIQVJFRD0KK2ZpCitBQ19TVUJTVChMSUJDVVJMX05PX1NIQVJFRCkKIAogZG5sCiBkbmwgRm9yIGtlZXBpbmcgc3VwcG9ydGVkIGZlYXR1cmVzIGFuZCBwcm90b2NvbHMgYWxzbyBpbiBwa2ctY29uZmlnIGZpbGUKQEAgLTQ3ODUsNyArNDg2MSw4IEBACiBpZiB0ZXN0ICJ4JENVUkxfRElTQUJMRV9DUllQVE9fQVVUSCIgIT0gIngxIjsgdGhlbgogICBpZiB0ZXN0ICJ4JE9QRU5TU0xfRU5BQkxFRCIgPSAieDEiIC1vICJ4JFVTRV9XSU5ET1dTX1NTUEkiID0gIngxIiBcCiAgICAgICAtbyAieCRHTlVUTFNfRU5BQkxFRCIgPSAieDEiIC1vICJ4JE1CRURUTFNfRU5BQkxFRCIgPSAieDEiIFwKLSAgICAgIC1vICJ4JE5TU19FTkFCTEVEIiA9ICJ4MSIgLW8gIngkU0VDVVJFVFJBTlNQT1JUX0VOQUJMRUQiID0gIngxIjsgdGhlbgorICAgICAgLW8gIngkTlNTX0VOQUJMRUQiID0gIngxIiAtbyAieCRTRUNVUkVUUkFOU1BPUlRfRU5BQkxFRCIgPSAieDEiIFwKKyAgICAgIC1vICJ4JFdPTEZTU0xfTlRMTSIgPSAieDEiOyB0aGVuCiAgICAgU1VQUE9SVF9GRUFUVVJFUz0iJFNVUFBPUlRfRkVBVFVSRVMgTlRMTSIKIAogICAgIGlmIHRlc3QgIngkQ1VSTF9ESVNBQkxFX0hUVFAiICE9ICJ4MSIgLWEgXApAQCAtNDg3OCw3ICs0OTU1LDggQEAKICAgICAtYSAieCRDVVJMX0RJU0FCTEVfQ1JZUFRPX0FVVEgiICE9ICJ4MSIgXAogICAgIC1hIFwoICJ4JE9QRU5TU0xfRU5BQkxFRCIgPSAieDEiIC1vICJ4JFVTRV9XSU5ET1dTX1NTUEkiID0gIngxIiBcCiAgICAgICAtbyAieCRHTlVUTFNfRU5BQkxFRCIgPSAieDEiIC1vICJ4JE1CRURUTFNfRU5BQkxFRCIgPSAieDEiIFwKLSAgICAgIC1vICJ4JE5TU19FTkFCTEVEIiA9ICJ4MSIgLW8gIngkU0VDVVJFVFJBTlNQT1JUX0VOQUJMRUQiID0gIngxIiBcKTsgdGhlbgorICAgICAgLW8gIngkTlNTX0VOQUJMRUQiID0gIngxIiAtbyAieCRTRUNVUkVUUkFOU1BPUlRfRU5BQkxFRCIgPSAieDEiIFwKKyAgICAgIC1vICJ4JFdPTEZTU0xfTlRMTSIgPSAieDEiIFwpOyB0aGVuCiAgIFNVUFBPUlRfUFJPVE9DT0xTPSIkU1VQUE9SVF9QUk9UT0NPTFMgU01CIgogICBpZiB0ZXN0ICJ4JFNTTF9FTkFCTEVEIiA9ICJ4MSI7IHRoZW4KICAgICBTVVBQT1JUX1BST1RPQ09MUz0iJFNVUFBPUlRfUFJPVE9DT0xTIFNNQlMiCkBAIC00ODk5LDcgKzQ5NzcsNiBAQAogICBTVVBQT1JUX1BST1RPQ09MUz0iJFNVUFBPUlRfUFJPVE9DT0xTIFNGVFAiCiBmaQogaWYgdGVzdCAieCRVU0VfV09MRlNTSCIgPSAieDEiOyB0aGVuCi0gIFNVUFBPUlRfUFJPVE9DT0xTPSIkU1VQUE9SVF9QUk9UT0NPTFMgU0NQIgogICBTVVBQT1JUX1BST1RPQ09MUz0iJFNVUFBPUlRfUFJPVE9DT0xTIFNGVFAiCiBmaQogaWYgdGVzdCAieCRDVVJMX0RJU0FCTEVfUlRTUCIgIT0gIngxIjsgdGhlbgpkaWZmIC0tZ2l0IGEvY3VybC1jb25maWcuaW4gYi9jdXJsLWNvbmZpZy5pbgppbmRleCAwYTdlMDM1Li4yNWNlOGJhIDEwMDY0NAotLS0gYS9jdXJsLWNvbmZpZy5pbgorKysgYi9jdXJsLWNvbmZpZy5pbgpAQCAtNiw3ICs2LDcgQEAKICMgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAoX198IHxffCB8ICBfIDx8IHxfX18KICMgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxfX198XF9fXy98X3wgXF9cX19fX198CiAjCi0jIENvcHlyaWdodCAoQykgMjAwMSAtIDIwMTgsIERhbmllbCBTdGVuYmVyZywgPGRhbmllbEBoYXh4LnNlPiwgZXQgYWwuCisjIENvcHlyaWdodCAoQykgMjAwMSAtIDIwMjAsIERhbmllbCBTdGVuYmVyZywgPGRhbmllbEBoYXh4LnNlPiwgZXQgYWwuCiAjCiAjIFRoaXMgc29mdHdhcmUgaXMgbGljZW5zZWQgYXMgZGVzY3JpYmVkIGluIHRoZSBmaWxlIENPUFlJTkcsIHdoaWNoCiAjIHlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhcyBwYXJ0IG9mIHRoaXMgZGlzdHJpYnV0aW9uLiBUaGUgdGVybXMKQEAgLTE2MCw3ICsxNjAsNyBAQAogICAgICAgICBlbHNlCiAgICAgICAgICAgIENVUkxMSUJESVI9IiIKICAgICAgICAgZmkKLSAgICAgICAgaWYgdGVzdCAiWEBSRVFVSVJFX0xJQl9ERVBTQCIgPSAiWHllcyI7IHRoZW4KKyAgICAgICAgaWYgdGVzdCAiWEBFTkFCTEVfU0hBUkVEQCIgPSAiWG5vIiAtbyAiWEBSRVFVSVJFX0xJQl9ERVBTQCIgPSAiWHllcyI7IHRoZW4KICAgICAgICAgICBlY2hvICR7Q1VSTExJQkRJUn0tbGN1cmwgQExJQkNVUkxfTElCU0AKICAgICAgICAgZWxzZQogICAgICAgICAgIGVjaG8gJHtDVVJMTElCRElSfS1sY3VybApkaWZmIC0tZ2l0IGEvZGVwY29tcCBiL2RlcGNvbXAKaW5kZXggNmIzOTE2Mi4uNjVjYmY3MCAxMDA3NTUKLS0tIGEvZGVwY29tcAorKysgYi9kZXBjb21wCkBAIC0zLDcgKzMsNyBAQAogCiBzY3JpcHR2ZXJzaW9uPTIwMTgtMDMtMDcuMDM7ICMgVVRDCiAKLSMgQ29weXJpZ2h0IChDKSAxOTk5LTIwMjAgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuCisjIENvcHlyaWdodCAoQykgMTk5OS0yMDE4IEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLgogCiAjIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CiAjIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CmRpZmYgLS1naXQgYS9kb2NzL0NIRUNLU1JDLm1kIGIvZG9jcy9DSEVDS1NSQy5tZAppbmRleCAxMGUyZjRkLi45NjE1MDkyIDEwMDY0NAotLS0gYS9kb2NzL0NIRUNLU1JDLm1kCisrKyBiL2RvY3MvQ0hFQ0tTUkMubWQKQEAgLTksNyArOSw3IEBACiAKICMjIENvbW1hbmQgbGluZSBvcHRpb25zCiAKLWAtV1tmaWxlXWAgd2hpdGVsaXN0cyB0aGF0IGZpbGUgYW5kIGV4Y2x1ZGVzIGl0IGZyb20gYmVpbmcgY2hlY2tlZC4gSGVscGZ1bAorYC1XW2ZpbGVdYCBza2lwIHRoYXQgZmlsZSBhbmQgZXhjbHVkZXMgaXQgZnJvbSBiZWluZyBjaGVja2VkLiBIZWxwZnVsCiB3aGVuLCBmb3IgZXhhbXBsZSwgb25lIG9mIHRoZSBmaWxlcyBpcyBnZW5lcmF0ZWQuCiAKIGAtRFtkaXJdYCBkaXJlY3RvcnkgbmFtZSB0byBwcmVwZW5kIHRvIGZpbGUgbmFtZXMgd2hlbiBhY2Nlc3NpbmcgdGhlbS4KQEAgLTE1OCw1ICsxNTgsNSBAQAogVGhpcyBpcyBhIG1ldGhvZCB3ZSd2ZSB0cmFuc2l0aW9uZWQgYXdheSBmcm9tLiBVc2UgaW5saW5lIGlnbm9yZXMgYXMgZmFyIGFzCiBwb3NzaWJsZS4KIAotTWFrZSBhIGBjaGVja3NyYy53aGl0ZWxpc3RgIGZpbGUgaW4gdGhlIGRpcmVjdG9yeSBvZiB0aGUgc291cmNlIGNvZGUgd2l0aCB0aGUKK01ha2UgYSBgY2hlY2tzcmMuc2tpcGAgZmlsZSBpbiB0aGUgZGlyZWN0b3J5IG9mIHRoZSBzb3VyY2UgY29kZSB3aXRoIHRoZQogZmFsc2UgcG9zaXRpdmUsIGFuZCBpbmNsdWRlIHRoZSBmdWxsIG9mZmVuZGluZyBsaW5lIGludG8gdGhpcyBmaWxlLgpkaWZmIC0tZ2l0IGEvZG9jcy9DT0RFX1JFVklFVy5tZCBiL2RvY3MvQ09ERV9SRVZJRVcubWQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZjU1Y2IwOQotLS0gL2Rldi9udWxsCisrKyBiL2RvY3MvQ09ERV9SRVZJRVcubWQKQEAgLTAsMCArMSwxNjggQEAKKyMgSG93IHRvIGRvIGNvZGUgcmV2aWV3cyBmb3IgY3VybAorCitBbnlvbmUgYW5kIGV2ZXJ5b25lIGlzIGVuY291cmFnZWQgYW5kIHdlbGNvbWUgdG8gcmV2aWV3IGNvZGUgc3VibWlzc2lvbnMgaW4KK2N1cmwuIFRoaXMgaXMgYSBndWlkZSBvbiB3aGF0IHRvIGNoZWNrIGZvciBhbmQgaG93IHRvIHBlcmZvcm0gYSBzdWNjZXNzZnVsCitjb2RlIHJldmlldy4KKworIyMgQWxsIHN1Ym1pc3Npb25zIHNob3VsZCBnZXQgcmV2aWV3ZWQKKworQWxsIHB1bGwgcmVxdWVzdHMgYW5kIHBhdGNoZXMgc3VibWl0dGVkIHRvIHRoZSBwcm9qZWN0IHNob3VsZCBiZSByZXZpZXdlZCBieQorYXQgbGVhc3Qgb25lIGV4cGVyaWVuY2VkIGN1cmwgbWFpbnRhaW5lciBiZWZvcmUgdGhhdCBjb2RlIGlzIGFjY2VwdGVkIGFuZAorbWVyZ2VkLgorCisjIyBMZXQgdGhlIHRvb2xzIGFuZCB0ZXN0cyB0YWtlIHRoZSBmaXJzdCByb3VuZHMKKworT24gaW5pdGlhbCBwdWxsIHJlcXVlc3RzLCBsZXQgdGhlIHRvb2xzIGFuZCB0ZXN0cyBkbyB0aGVpciBqb2IgZmlyc3QgYW5kIHRoZW4KK3N0YXJ0IG91dCBieSBoZWxwaW5nIHRoZSBzdWJtaXR0ZXIgdW5kZXJzdGFuZCB0aGUgdGVzdCBmYWlsdXJlcyBhbmQgdG9vbAorYWxlcnRzLgorCisjIyBIb3cgdG8gcHJvdmlkZSBmZWVkYmFjayB0byBhdXRob3IKKworQmUgbmljZS4gQXNrIHF1ZXN0aW9ucy4gUHJvdmlkZSBleGFtcGxlcyBvciBzdWdnZXN0aW9ucyBvZiBpbXByb3ZlbWVudHMuCitBc3N1bWUgYmVzdCBpbnRlbnRpb25zLiBSZW1lbWJlciBsYW5ndWFnZSBiYXJyaWVycy4KKworQWxsIGZpcnN0LXRpbWUgY29udHJpYnV0b3JzIGNhbiBiZWNvbWUgcmVndWxhcnMuIExldCdzIGhlbHAgdGhlbSBnbyB0aGVyZS4KKworIyMgSXMgdGhpcyBhIGNoYW5nZSB3ZSB3YW50PworCitJZiB0aGlzIGlzIG5vdCBhIGNoYW5nZSB0aGF0IHNlZW1zIHRvIGJlIGFsaWduZWQgd2l0aCB0aGUgcHJvamVjdCdzIHBhdGgKK2ZvcndhcmQgYW5kIGFzIHN1Y2ggY2Fubm90IGJlIGFjY2VwdGVkLCBpbmZvcm0gdGhlIGF1dGhvciBhYm91dCB0aGlzIHNvb25lcgorcmF0aGVyIHRoYW4gbGF0ZXIuIERvIGl0IGdlbnRseSBhbmQgZXhwbGFpbiB3aHkgYW5kIHBvc3NpYmx5IHdoYXQgY291bGQgYmUKK2RvbmUgdG8gbWFrZSBpdCBtb3JlIGFjY2VwdGFibGUuCisKKyMjIEFQSS9BQkkgc3RhYmlsaXR5IG9yIGNoYW5nZWQgYmVoYXZpb3IKKworQ2hhbmdpbmcgdGhlIEFQSSBhbmQgdGhlIEFCSSBtYXkgYmUgZmluZSBpbiBhIGNoYW5nZSBidXQgaXQgbmVlZHMgdG8gYmUgZG9uZQorZGVsaWJlcmF0ZWx5IGFuZCBjYXJlZnVsbHkuIElmIG5vdCwgYSByZXZpZXdlciBtdXN0IGhlbHAgdGhlIGF1dGhvciB0byByZWFsaXplCit0aGUgbWlzdGFrZS4KKworY3VybCBhbmQgbGliY3VybCBhcmUgc2ltaWxhcmx5IHZlcnkgc3RyaWN0IG9uIG5vdCBtb2RpZnlpbmcgZXhpc3RpbmcKK2JlaGF2aW9yLiBBUEkgYW5kIEFCSSBzdGFiaWxpdHkgaXMgbm90IGVub3VnaCwgdGhlIGJlaGF2aW9yIHNob3VsZCBhbHNvIHJlbWFpbgoraW50YWN0IGFzIGZhciBhcyBwb3NzaWJsZS4KKworIyMgQ29kZSBzdHlsZQorCitNb3N0IGNvZGUgc3R5bGUgbml0cyBhcmUgZGV0ZWN0ZWQgYnkgY2hlY2tzcmMgYnV0IG5vdCBhbGwuIE9ubHkgbGVhdmUgcmVtYXJrcworb24gc3R5bGUgZGV2aWF0aW9uIG9uY2UgY2hlY2tzcmMgZG9lc24ndCBmaW5kIGFueSBtb3JlLgorCitNaW5vciBuaXRzIGZyb20gZnJlc2ggc3VibWl0dGVycyBjYW4gYWxzbyBiZSBoYW5kbGVkIGJ5IHRoZSBtYWludGFpbmVyIHdoZW4KK21lcmdpbmcsIGluIGNhc2UgaXQgc2VlbXMgbGlrZSB0aGUgc3VibWl0dGVyIGlzbid0IGNsZWFyIG9uIHdoYXQgdG8gZG8uIFdlCit3YW50IHRvIG1ha2UgdGhlIHByb2Nlc3MgZnVuIGFuZCBleGNpdGluZyBmb3IgbmV3IGNvbnRyaWJ1dG9ycy4KKworIyMgRW5jb3VyYWdlIGNvbnNpc3RlbmN5CisKK01ha2Ugc3VyZSBuZXcgY29kZSBpcyB3cml0dGVuIGluIGEgc2ltaWxhciBzdHlsZSBhcyBleGlzdGluZyBjb2RlLiBOYW1pbmcsCitsb2dpYywgY29uZGl0aW9ucywgZXRjLgorCisjIyBBcmUgcG9pbnRlcnMgYWx3YXlzIG5vbi1OVUxMPworCitJZiBhIGZ1bmN0aW9uIG9yIGNvZGUgcmVseSBvbiBwb2ludGVycyBiZWluZyBub24tTlVMTCwgdGFrZSBhbiBleHRyYSBsb29rIGlmCit0aGF0IHNlZW1zIHRvIGJlIGEgZmFpciBhc3Nlc3NtZW50LgorCisjIyBBc3NlcnRzCisKK0NvbmRpdGlvbnMgdGhhdCBzaG91bGQgbmV2ZXIgYmUgZmFsc2UgY2FuIGJlIHZlcmlmaWVkIHdpdGggYERFQlVHQVNTRVJUKClgCitjYWxscyB0byBnZXQgY2F1Z2h0IGluIHRlc3RzIGFuZCBkZWJ1Z2dpbmcgZWFzaWVyLCB3aGlsZSBub3QgaGF2aW5nIGFuIGltcGFjdAorb24gZmluYWwgb3IgcmVsZWFzZSBidWlsZHMuCisKKyMjIE1lbW9yeSBhbGxvY2F0aW9uCisKK0NhbiB0aGUgbWFsbG9jcyBiZSBhdm9pZGVkPyBEbyBub3QgaW50cm9kdWNlIG1hbGxvY3MgaW4gYW55IGhvdCBwYXRocy4gSWYKK3RoZXJlIGFyZSAobmV3KSBtYWxsb2NzLCBjYW4gdGhleSBiZSBjb21iaW5lZCBpbnRvIGZld2VyIGNhbGxzPworCitBcmUgYWxsIGFsbG9jYXRpb25zIGhhbmRsZWQgaW4gZXJyb3JwYXRocyB0byBhdm9pZCBsZWFrcyBhbmQgY3Jhc2hlcz8KKworIyMgVGhyZWFkLXNhZmV0eQorCitXZSBkbyBub3QgbGlrZSBzdGF0aWMgdmFyaWFibGVzIGFzIHRoZXkgYnJlYWsgdGhyZWFkLXNhZmV0eSBhbmQgcHJldmVudAorZnVuY3Rpb25zIGZyb20gYmVpbmcgcmVlbnRyYW50LgorCisjIyBTaG91bGQgZmVhdHVyZXMgYmUgYCNpZmRlZmBlZD8KKworRmVhdHVyZXMgYW5kIGZ1bmN0aW9uYWxpdHkgbWF5IG5vdCBiZSBwcmVzZW50IGV2ZXJ5d2hlcmUgYW5kIHNob3VsZCB0aGVyZWZvcmUKK2JlIGAjaWZkZWZgZWQuIEFkZGl0aW9uYWxseSwgc29tZSBmZWF0dXJlcyBzaG91bGQgYmUgcG9zc2libGUgdG8gc3dpdGNoIG9uL29mZgoraW4gdGhlIGJ1aWxkLgorCitXcml0ZSBgI2lmZGVmYHMgdG8gYmUgYXMgbGl0dGxlIG9mIGEgIm1hemUiIGFzIHBvc3NpYmxlLgorCisjIyBEb2VzIGl0IGxvb2sgcG9ydGFibGUgZW5vdWdoPworCitjdXJsIHJ1bnMgImV2ZXJ5d2hlcmUiLiBEb2VzIHRoZSBjb2RlIHRha2UgYSByZWFzb25hYmxlIHN0YW5jZSBhbmQgZW5vdWdoCitwcmVjYXV0aW9ucyB0byBiZSBwb3NzaWJsZSB0byBidWlsZCBhbmQgcnVuIG9uIG1vc3QgcGxhdGZvcm1zPworCitSZW1lbWJlciB0aGF0IHdlIGxpdmUgYnkgQzg5IHJlc3RyaWN0aW9ucy4KKworIyMgVGVzdHMgYW5kIHRlc3RhYmlsaXR5CisKK05ldyBmZWF0dXJlcyBzaG91bGQgYmUgYWRkZWQgaW4gY29uanVuY3Rpb24gd2l0aCBvbmUgb3IgbW9yZSB0ZXN0IGNhc2VzLgorSWRlYWxseSwgZnVuY3Rpb25zIHNob3VsZCBhbHNvIGJlIHdyaXR0ZW4gc28gdGhhdCB1bml0IHRlc3RzIGNhbiBiZSBkb25lIHRvCit0ZXN0IGluZGl2aWR1YWwgZnVuY3Rpb25zLgorCisjIyBEb2N1bWVudGF0aW9uCisKK05ldyBmZWF0dXJlcyBvciBjaGFuZ2VzIHRvIGV4aXN0aW5nIGZ1bmN0aW9uYWxpdHkgKiptdXN0KiogYmUgYWNjb21wYW5pZWQgd2l0aAordXBkYXRlZCBkb2N1bWVudGF0aW9uLiBTdWJtaXR0aW5nIHRoYXQgaW4gYSBzZXBhcmF0ZSBmb2xsb3ctdXAgcHVsbCByZXF1ZXN0IGlzCitub3QgT0suIEEgY29kZSByZXZpZXcgbXVzdCBhbHNvIHZlcmlmeSB0aGF0IHRoZSBzdWJtaXR0ZWQgZG9jdW1lbnRhdGlvbiB1cGRhdGUKK21hdGNoZXMgdGhlIGNvZGUgc3VibWlzc2lvbi4KKworRW5nbGlzaCBpc24ndCBldmVyeW9uZSdzIGZpcnN0IGxhbmd1YWdlLCBiZSBtaW5kZnVsIG9mIHRoaXMgYW5kIGhlbHAgdGhlCitzdWJtaXR0ZXIgaW1wcm92ZSB0aGUgdGV4dCBpZiBpdCBuZWVkcyBhIHJld3JpdGUgdG8gcmVhZCBiZXR0ZXIuCisKKyMjIENvZGUgc2hvdWxkbid0IGJlIGhhcmQgdG8gdW5kZXJzdGFuZAorCitTb3VyY2UgY29kZSBzaG91bGQgYmUgd3JpdHRlbiB0byBtYXhpbWl6ZSByZWFkYWJpbGl0eSBhbmQgYmUgZWFzeSB0bwordW5kZXJzdGFuZC4KKworIyMgRnVuY3Rpb25zIHNob3VsZG4ndCBiZSBsYXJnZQorCitBIHNpbmdsZSBmdW5jdGlvbiBzaG91bGQgbmV2ZXIgYmUgbGFyZ2UgYXMgdGhhdCBtYWtlcyBpdCBoYXJkIHRvIGZvbGxvdyBhbmQKK3VuZGVyc3RhbmQgYWxsIHRoZSBleGl0IHBvaW50cyBhbmQgc3RhdGUgY2hhbmdlcy4gU29tZSBleGlzdGluZyBmdW5jdGlvbnMgaW4KK2N1cmwgY2VydGFpbmx5IHZpb2xhdGUgdGhpcyBncm91bmQgcnVsZSBidXQgd2hlbiByZXZpZXdpbmcgbmV3IGNvZGUgd2Ugc2hvdWxkCitwcm9wb3NlIHNwbGl0dGluZyBpbnRvIHNtYWxsZXIgZnVuY3Rpb25zLgorCisjIyBEdXBsaWNhdGlvbiBpcyBldmlsCisKK0FueXRoaW5nIHRoYXQgbG9va3MgbGlrZSBkdXBsaWNhdGVkIGNvZGUgaXMgYSByZWQgZmxhZy4gQW55dGhpbmcgdGhhdCBzZWVtcyB0bworaW50cm9kdWNlIGNvZGUgdGhhdCB3ZSAqc2hvdWxkKiBhbHJlYWR5IGhhdmUgb3IgcHJvdmlkZSBuZWVkcyBhIGNsb3NlciBjaGVjay4KKworIyMgU2Vuc2l0aXZlIGRhdGEKKworV2hlbiBjcmVkZW50aWFscyBhcmUgaW52b2x2ZWQsIHRha2UgYW4gZXh0cmEgbG9vayBhdCB3aGF0IGhhcHBlbnMgd2l0aCB0aGlzCitkYXRhLiBXaGVyZSBpdCBjb21lcyBmcm9tIGFuZCB3aGVyZSBpdCBnb2VzLgorCisjIyBWYXJpYWJsZSB0eXBlcyBkaWZmZXIKKworYHNpemVfdGAgaXMgbm90IGEgZml4ZWQgc2l6ZS4gYHRpbWVfdGAgY2FuIGJlIHNpZ25lZCBvciB1bnNpZ25lZCBhbmQgaGF2ZQorZGlmZmVyZW50IHNpemVzLiBSZWx5aW5nIG9uIHZhcmlhYmxlIHNpemVzIGlzIGEgcmVkIGZsYWcuCisKK0Fsc28gcmVtZW1iZXIgdGhhdCBlbmRpYW5uZXNzIGFuZCA+PSAzMiBiaXQgYWNjZXNzZXMgdG8gdW5hbGlnbmVkIGFkZHJlc3NlcworYXJlIHByb2JsZW1hdGljIGFyZWFzLgorCisjIyBJbnRlZ2VyIG92ZXJmbG93cworCitCZSBjYXJlZnVsIGFib3V0IGludGVnZXIgb3ZlcmZsb3dzLiBTb21lIHZhcmlhYmxlIHR5cGVzIGNhbiBiZSBlaXRoZXIgMzIgYml0CitvciA2NCBiaXQuIEludGVnZXIgb3ZlcmZsb3dzIG11c3QgYmUgZGV0ZWN0ZWQgYW5kIGFjdGVkIG9uICpiZWZvcmUqIHRoZXkKK2hhcHBlbi4KKworIyMgRGFuZ2Vyb3VzIHVzZSBvZiBmdW5jdGlvbnMKKworTWF5YmUgdXNlIG9mIGByZWFsbG9jKClgIHNob3VsZCByYXRoZXIgdXNlIHRoZSBkeW5idWYgZnVuY3Rpb25zPworCitEbyBub3QgYWxsb3cgbmV3IGNvZGUgdGhhdCBncm93cyBidWZmZXJzIHdpdGhvdXQgdXNpbmcgZHluYnVmLgorCitVc2Ugb2YgQyBmdW5jdGlvbnMgdGhhdCByZWx5IG9uIGEgdGVybWluYXRpbmcgemVybyBtdXN0IG9ubHkgYmUgdXNlZCBvbiBkYXRhCit0aGF0IHJlYWxseSBkbyBoYXZlIGEgemVybyB0ZXJtaW5hdGluZyB6ZXJvLgorCisjIyBEYW5nZXJvdXMgImRhdGEgc3R5bGVzIgorCitNYWtlIGV4dHJhIHByZWNhdXRpb25zIGFuZCB2ZXJpZnkgdGhhdCBtZW1vcnkgYnVmZmVycyB0aGF0IG5lZWQgYSB0ZXJtaW5hdGluZworemVybyBhbHdheXMgaGF2ZSBleGFjdGx5IHRoYXQuIEJ1ZmZlcnMgKndpdGhvdXQqIGEgemVybyB0ZXJtaW5hdG9yIG11c3Qgbm90IGJlCit1c2VkIGFzIGlucHV0IHRvIHN0cmluZyBmdW5jdGlvbnMuCisKKyMgQ29tbWl0IG1lc3NhZ2VzCisKK1RpZ2h0bHkgY291cGxlZCB3aXRoIGEgY29kZSByZXZpZXcgaXMgbWFraW5nIHN1cmUgdGhhdCB0aGUgY29tbWl0IG1lc3NhZ2UgaXMKK2dvb2QuIEl0IGlzIHRoZSByZXNwb25zaWJpbGl0aXkgb2YgdGhlIHBlcnNvbiB3aG8gbWVyZ2VzIHRoZSBjb2RlIHRvIG1ha2Ugc3VyZQordGhhdCB0aGUgY29tbWl0IG1lc3NhZ2UgZm9sbG93cyBvdXIgc3RhbmRhcmQgKGRldGFpbGVkIGluIHRoZQorW0NPTlRSSUJVVEUubWRdKENPTlRSSUJVVEUubWQpIGRvY3VtZW50KS4gVGhpcyBpbmNsdWRlcyBtYWtpbmcgc3VyZSB0aGUgUFIKK2lkZW50aWZpZXMgcmVsYXRlZCBpc3N1ZXMgYW5kIGdpdmluZyBjcmVkaXQgdG8gcmVwb3J0ZXJzIGFuZCBoZWxwZXJzLgpkaWZmIC0tZ2l0IGEvZG9jcy9DT0RFX1NUWUxFLm1kIGIvZG9jcy9DT0RFX1NUWUxFLm1kCmluZGV4IDBjZWI1YjkuLjU2MTM0MzcgMTAwNjQ0Ci0tLSBhL2RvY3MvQ09ERV9TVFlMRS5tZAorKysgYi9kb2NzL0NPREVfU1RZTEUubWQKQEAgLTI0NCwzICsyNDQsMjIgQEAKICAgICAjZW5kaWYKIAogICAgIGludCBjb250ZW50ID0gbWFnaWMoMyk7CisKKyMjIE5vIHR5cGVkZWZlZCBzdHJ1Y3RzCisKK1VzZSBzdHJ1Y3RzIGJ5IGFsbCBtZWFucywgYnV0IGRvIG5vdCB0eXBlZGVmIHRoZW0uIFVzZSB0aGUgYHN0cnVjdCBuYW1lYCB3YXkKK29mIGlkZW50aWZ5aW5nIHRoZW06CisKKyAgICBzdHJ1Y3Qgc29tZXRoaW5nIHsKKyAgICAgICB2b2lkICp2YWxpZDsKKyAgICAgICBzaXplX3Qgd2F5X3RvX3dyaXRlOworICAgIH07CisgICAgc3RydWN0IHNvbWV0aGluZyBpbnN0YW5jZTsKKworKipOb3Qgb2theSoqOgorCisgICAgdHlwZWRlZiBzdHJ1Y3QgeworICAgICAgIHZvaWQgKndyb25nOworICAgICAgIHNpemVfdCB3YXlfdG9fd3JpdGU7CisgICAgfSBzb21ldGhpbmc7CisgICAgc29tZXRoaW5nIGluc3RhbmNlOwpkaWZmIC0tZ2l0IGEvZG9jcy9EWU5CVUYubWQgYi9kb2NzL0RZTkJVRi5tZApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4zODJjMTM2Ci0tLSAvZGV2L251bGwKKysrIGIvZG9jcy9EWU5CVUYubWQKQEAgLTAsMCArMSw4MCBAQAorIyBkeW5idWYKKworVGhpcyBpcyB0aGUgaW50ZXJuYWwgbW9kdWxlIGZvciBjcmVhdGluZyBhbmQgaGFuZGxpbmcgImR5bmFtaWMgYnVmZmVycyIuIFRoaXMKK21lYW5zIGJ1ZmZlcnMgdGhhdCBjYW4gYmUgYXBwZW5kZWQgdG8sIGR5bmFtaWNhbGx5IGFuZCBncm93IGluIHNpemUgdG8gYWRhcHQuCisKK1RoZXJlIHdpbGwgYWx3YXlzIGJlIGEgdGVybWluYXRpbmcgemVybyBwdXQgYXQgdGhlIGVuZCBvZiB0aGUgZHluYW1pYyBidWZmZXIuCisKK1RoZSBgc3RydWN0IGR5bmJ1ZmAgaXMgdXNlZCB0byBob2xkIGRhdGEgZm9yIGVhY2ggaW5zdGFuY2Ugb2YgYSBkeW5hbWljCitidWZmZXIuIFRoZSBtZW1iZXJzIG9mIHRoYXQgc3RydWN0ICoqTVVTVCBOT1QqKiBiZSBhY2Nlc3NlZCBvciBtb2RpZmllZAord2l0aG91dCB1c2luZyB0aGUgZGVkaWNhdGVkIGR5bmJ1ZiBBUEkuCisKKyMjIGluaXQKKworICAgIHZvaWQgQ3VybF9keW5faW5pdChzdHJ1Y3QgZHluYnVmICpzLCBzaXplX3QgdG9vYmlnKTsKKworVGhpcyBpbml0cyBhIHN0cnVjdCB0byB1c2UgZm9yIGR5bmJ1ZiBhbmQgaXQgY2FuJ3QgZmFpbC4gVGhlIGB0b29iaWdgIHZhbHVlCisqKm11c3QqKiBiZSBzZXQgdG8gdGhlIG1heGltdW0gc2l6ZSB3ZSBhbGxvdyB0aGlzIGJ1ZmZlciBpbnN0YW5jZSB0byBncm93IHRvLgorVGhlIGZ1bmN0aW9ucyBiZWxvdyB3aWxsIHJldHVybiBgQ1VSTEVfT1VUX09GX01FTU9SWWAgd2hlbiBoaXR0aW5nIHRoaXMgbGltaXQuCisKKyMjIGZyZWUKKworICAgIHZvaWQgQ3VybF9keW5fZnJlZShzdHJ1Y3QgZHluYnVmICpzKTsKKworRnJlZSB0aGUgYXNzb2NpYXRlZCBtZW1vcnkgYW5kIGNsZWFuIHVwLiBBZnRlciBhIGZyZWUsIHRoZSBgZHluYnVmYCBzdHJ1Y3QgY2FuCitiZSByZS11c2VkIHRvIHN0YXJ0IGFwcGVuZGluZyBuZXcgZGF0YSB0by4KKworIyMgYWRkbgorCisgICAgQ1VSTGNvZGUgQ3VybF9keW5fYWRkbihzdHJ1Y3QgZHluYnVmICpzLCBjb25zdCB2b2lkICptZW0sIHNpemVfdCBsZW4pOworCitBcHBlbmQgYXJiaXRyYXJ5IGRhdGEgb2YgYSBnaXZlbiBsZW5ndGggdG8gdGhlIGVuZCBvZiB0aGUgYnVmZmVyLgorCisjIyBhZGQKKworICAgIENVUkxjb2RlIEN1cmxfZHluX2FkZChzdHJ1Y3QgZHluYnVmICpzLCBjb25zdCBjaGFyICpzdHIpOworCitBcHBlbmQgYSBDIHN0cmluZyB0byB0aGUgZW5kIG9mIHRoZSBidWZmZXIuCisKKyMjIGFkZGYKKworICAgIENVUkxjb2RlIEN1cmxfZHluX2FkZGYoc3RydWN0IGR5bmJ1ZiAqcywgY29uc3QgY2hhciAqZm10LCAuLi4pOworCitBcHBlbmQgYSBgcHJpbnRmKClgLXN0eWxlIHN0cmluZyB0byB0aGUgZW5kIG9mIHRoZSBidWZmZXIuCisKKyMjIHJlc2V0CisKKyAgICB2b2lkIEN1cmxfZHluX3Jlc2V0KHN0cnVjdCBkeW5idWYgKnMpOworCitSZXNldCB0aGUgYnVmZmVyIGxlbmd0aCwgYnV0IGxlYXZlIHRoZSBhbGxvY2F0aW9uLgorCisjIyB0YWlsCisKKyAgICBDVVJMY29kZSBDdXJsX2R5bl90YWlsKHN0cnVjdCBkeW5idWYgKnMsIHNpemVfdCBsZW5ndGgpCisKK0tlZXAgYGxlbmd0aGAgYnl0ZXMgb2YgdGhlIGJ1ZmZlciB0YWlsICh0aGUgbGFzdCBgbGVuZ3RoYCBieXRlcyBvZiB0aGUKK2J1ZmZlcikuIFRoZSByZXN0IG9mIHRoZSBidWZmZXIgaXMgZHJvcHBlZC4gVGhlIHNwZWNpZmllZCBgbGVuZ3RoYCBtdXN0IG5vdCBiZQorbGFyZ2VyIHRoYW4gdGhlIGJ1ZmZlciBsZW5ndGguCisKKyMjIHB0cgorCisgICAgY2hhciAqQ3VybF9keW5fcHRyKGNvbnN0IHN0cnVjdCBkeW5idWYgKnMpOworCitSZXR1cm5zIGEgYGNoYXIgKmAgdG8gdGhlIGJ1ZmZlciBpZiBpdCBoYXMgYSBsZW5ndGgsIG90aGVyd2lzZSBhIE5VTEwuIFNpbmNlCit0aGUgYnVmZmVyIG1heSBiZSByZWFsbG9jYXRlZCwgdGhpcyBwb2ludGVyIHNob3VsZCBub3QgYmUgdHJ1c3RlZCBvciB1c2VkCithbnltb3JlIGFmdGVyIHRoZSBuZXh0IGJ1ZmZlciBtYW5pcHVsYXRpb24gY2FsbC4KKworIyMgdXB0cgorCisgICAgdW5zaWduZWQgY2hhciAqQ3VybF9keW5fdXB0cihjb25zdCBzdHJ1Y3QgZHluYnVmICpzKTsKKworUmV0dXJucyBhbiBgdW5zaWduZWQgY2hhciAqYCB0byB0aGUgYnVmZmVyIGlmIGl0IGhhcyBhIGxlbmd0aCwgb3RoZXJ3aXNlIGEKK05VTEwuIFNpbmNlIHRoZSBidWZmZXIgbWF5IGJlIHJlYWxsb2NhdGVkLCB0aGlzIHBvaW50ZXIgc2hvdWxkIG5vdCBiZSB0cnVzdGVkCitvciB1c2VkIGFueW1vcmUgYWZ0ZXIgdGhlIG5leHQgYnVmZmVyIG1hbmlwdWxhdGlvbiBjYWxsLgorCisjIyBsZW4KKworICAgIHNpemVfdCBDdXJsX2R5bl9sZW4oY29uc3Qgc3RydWN0IGR5bmJ1ZiAqcyk7CisKK1JldHVybnMgdGhlIGxlbmd0aCBvZiB0aGUgYnVmZmVyIGluIGJ5dGVzLiBEb2VzIG5vdCBpbmNsdWRlIHRoZSB0ZXJtaW5hdGluZworemVybyBieXRlLgpkaWZmIC0tZ2l0IGEvZG9jcy9FWFBFUklNRU5UQUwubWQgYi9kb2NzL0VYUEVSSU1FTlRBTC5tZAppbmRleCAzNDk3NGZiLi5iY2EyYmQ5IDEwMDY0NAotLS0gYS9kb2NzL0VYUEVSSU1FTlRBTC5tZAorKysgYi9kb2NzL0VYUEVSSU1FTlRBTC5tZApAQCAtMjEsMyArMjEsNCBAQAogIC0gSFRUUC8zIHN1cHBvcnQgYW5kIG9wdGlvbnMKICAtIGFsdC1zdmMgc3VwcG9ydCBhbmQgb3B0aW9ucwogIC0gTVFUVAorIC0gQ1VSTFNTTE9QVF9OQVRJVkVfQ0EgKE5vIGNvbmZpZ3VyZSBvcHRpb24sIGZlYXR1cmUgYnVpbHQgaW4gd2hlbiBzdXBwb3J0ZWQpCmRpZmYgLS1naXQgYS9kb2NzL0ZBUSBiL2RvY3MvRkFRCmluZGV4IDUzZjFjOWUuLjdiZDEyMWMgMTAwNjQ0Ci0tLSBhL2RvY3MvRkFRCisrKyBiL2RvY3MvRkFRCkBAIC0xMzYsOCArMTM2LDkgQEAKICAgbGliY3VybAogCiAgICAgQSBmcmVlIGFuZCBlYXN5LXRvLXVzZSBjbGllbnQtc2lkZSBVUkwgdHJhbnNmZXIgbGlicmFyeSwgc3VwcG9ydGluZyBESUNULAotICAgIEZJTEUsIEZUUCwgRlRQUywgR09QSEVSLCBIVFRQLCBIVFRQUywgSU1BUCwgSU1BUFMsIExEQVAsIExEQVBTLCBQT1AzLAotICAgIFBPUDNTLCBSVE1QLCBSVFNQLCBTQ1AsIFNGVFAsIFNNQiwgU01CUywgU01UUCwgU01UUFMsIFRFTE5FVCBhbmQgVEZUUC4KKyAgICBGSUxFLCBGVFAsIEZUUFMsIEdPUEhFUiwgSFRUUCwgSFRUUFMsIElNQVAsIElNQVBTLCBMREFQLCBMREFQUywgTVFUVCwKKyAgICBQT1AzLCBQT1AzUywgUlRNUCwgUlRNUFMsIFJUU1AsIFNDUCwgU0ZUUCwgU01CLCBTTUJTLCBTTVRQLCBTTVRQUywgVEVMTkVUCisgICAgYW5kIFRGVFAuCiAKICAgICBsaWJjdXJsIHN1cHBvcnRzIEhUVFBTIGNlcnRpZmljYXRlcywgSFRUUCBQT1NULCBIVFRQIFBVVCwgRlRQIHVwbG9hZGluZywKICAgICBLZXJiZXJvcywgU1BORUdPLCBIVFRQIGZvcm0gYmFzZWQgdXBsb2FkLCBwcm94aWVzLCBjb29raWVzLCB1c2VyK3Bhc3N3b3JkCmRpZmYgLS1naXQgYS9kb2NzL0dPVkVSTkFOQ0UubWQgYi9kb2NzL0dPVkVSTkFOQ0UubWQKaW5kZXggODE3NDcxNy4uMzBkZjE1NSAxMDA2NDQKLS0tIGEvZG9jcy9HT1ZFUk5BTkNFLm1kCisrKyBiL2RvY3MvR09WRVJOQU5DRS5tZApAQCAtNDksNyArNDksNyBAQAogc2VydmljZXMgYW5kIHBheWluZyBmb3IgcGVvcGxlIHRvIHdvcmsgb24gY3VybCByZWxhdGVkIGNvZGUgZXRjLiBVc3VhbGx5LCBzdWNoCiBkb25hdGlvbnMgYXJlIHNlcnZpY2VzIHBhaWQgZm9yIGRpcmVjdGx5IGJ5IHRoZSBzcG9uc29ycy4KIAotV2UgZ3JhZGUgc3BvbnNvcnMgaW4gYSBmZXcgZGlmZmVyZW50IGxldmVscyBhbmQgaWYgdGhleSBtZWV0IHRoZSBjcml0ZXJpYXMsCitXZSBncmFkZSBzcG9uc29ycyBpbiBhIGZldyBkaWZmZXJlbnQgbGV2ZWxzIGFuZCBpZiB0aGV5IG1lZXQgdGhlIGNyaXRlcmlhLAogdGhleSBjYW4gYmUgbWVudGlvbmVkIG9uIHRoZSBTcG9uc29ycyBwYWdlIG9uIHRoZSBjdXJsIHdlYiBzaXRlLgogCiAjIyBDb21tZXJjaWFsIFN1cHBvcnQKZGlmZiAtLWdpdCBhL2RvY3MvSEVMUC1VUy5tZCBiL2RvY3MvSEVMUC1VUy5tZAppbmRleCBhYWUyYjlmLi41NDc0NDM0IDEwMDY0NAotLS0gYS9kb2NzL0hFTFAtVVMubWQKKysrIGIvZG9jcy9IRUxQLVVTLm1kCkBAIC0xNSw2ICsxNSwyMyBAQAogZXJyb3IgaW4gYW4gZXJyb3IgdGV4dCBvciBhIHdlaXJkbHkgcGhyYXNlZCBzZWN0aW9uIGluIGEgbWFuIHBhZ2UuIEh1bnQgaXQKIGRvd24gYW5kIHJlcG9ydCB0aGUgYnVnLiBPciBtYWtlIHlvdXIgZmlyc3QgcHVsbCByZXF1ZXN0IHdpdGggYSBmaXggZm9yIHRoYXQuCiAKKyMjIFNtYWxsZXIgdGFza3MKKworU29tZSBwcm9qZWN0cyBtYXJrIHNtYWxsIGlzc3VlcyBhcyAiYmVnaW5uZXIgZnJpZW5kbHkiLCAiYml0ZS1zaXplZCIgb3IKK3NpbWlsYXIuIFdlIGRvbid0IGRvIHRoYXQgaW4gY3VybCBzaW5jZSBzdWNoIGlzc3VlcyBuZXZlciBsaW5nZXIgYXJvdW5kIGxvbmcKK2Vub3VnaC4gU2ltcGxlIGlzc3VlcyBnZXQgaGFuZGxlZCB2ZXJ5IGZhc3QuCisKK0lmIHlvdSdyZSBsb29raW5nIGZvciBhIHNtYWxsZXIgb3Igc2ltcGxlciB0YXNrIGluIHRoZSBwcm9qZWN0IHRvIGhlbHAgb3V0Cit3aXRoIGFzIGFuIGVudHJ5LXBvaW50IGludG8gdGhlIHByb2plY3QsIHBlcmhhcHMgYmVjYXVzZSB5b3UgYXJlIGEgbmV3Y29tZXIgb3IKK2V2ZW4gbWF5YmUgbm90IGEgdGVycmlibHkgZXhwZXJpZW5jZWQgZGV2ZWxvcGVyLCBoZXJlJ3Mgb3VyIGFkdmljZToKKworIC0gUmVhZCB0aHJvdWdoIHRoaXMgZG9jdW1lbnQgdG8gZ2V0IGEgZ3Jhc3Agb24gYSBnZW5lcmFsIGFwcHJvYWNoIHRvIHVzZQorIC0gQ29uc2lkZXIgYWRkaW5nIGEgdGVzdCBjYXNlIGZvciBzb21ldGhpbmcgbm90IGN1cnJlbnRsZWQgdGVzdGVkIChjb3JyZWN0bHkpCisgLSBDb25zaWRlciB1cGRhdGluZyBvciBhZGRpbmcgZG9jdW1lbnRhdGlvbgorIC0gT25lIHdheSB0byBnZXQgeW91ciBmZWV0IHdldCBnZW50bHkgaW4gdGhlIHByb2plY3QsIGlzIHRvIHBhcnRpY2lwYXRlIGluIGFuCisgICBleGlzdGluZyBpc3N1ZS9QUiBhbmQgaGVscCBvdXQgYnkgcmVwcm9kdWNpbmcgdGhlIGlzc3VlLCByZXZpZXcgdGhlIGNvZGUgaW4KKyAgIHRoZSBQUiBldGMuCisKICMjIEhlbHAgd2FudGVkCiAKIEluIHRoZSBpc3N1ZSB0cmFja2VyIHdlIG9jY2FzaW9uYWxseSBtYXJrIGJ1Z3Mgd2l0aCBbaGVscApkaWZmIC0tZ2l0IGEvZG9jcy9IVFRQMy5tZCBiL2RvY3MvSFRUUDMubWQKaW5kZXggMjc2OTQzOS4uZTU0ZTVkMCAxMDA2NDQKLS0tIGEvZG9jcy9IVFRQMy5tZAorKysgYi9kb2NzL0hUVFAzLm1kCkBAIC0xMTIsMjYgKzExMiwxMyBAQAogCiAjIyBidWlsZAogCi1DbG9uZSBxdWljaGUgYW5kIEJvcmluZ1NTTDoKK0J1aWxkIHF1aWNoZSBhbmQgQm9yaW5nU1NMOgogCiAgICAgICUgZ2l0IGNsb25lIC0tcmVjdXJzaXZlIGh0dHBzOi8vZ2l0aHViLmNvbS9jbG91ZGZsYXJlL3F1aWNoZQotCi1CdWlsZCBCb3JpbmdTU0wgKGl0IG5lZWRzIHRvIGJlIGJ1aWx0IG1hbnVhbGx5IHNvIGl0IGNhbiBiZSByZXVzZWQgd2l0aCBjdXJsKToKLQotICAgICAlIGNkIHF1aWNoZS9kZXBzL2JvcmluZ3NzbAotICAgICAlIG1rZGlyIGJ1aWxkCi0gICAgICUgY2QgYnVpbGQKLSAgICAgJSBjbWFrZSAtRENNQUtFX1BPU0lUSU9OX0lOREVQRU5ERU5UX0NPREU9b24gLi4KLSAgICAgJSBtYWtlCi0gICAgICUgY2QgLi4KLSAgICAgJSBta2RpciAtcCAub3BlbnNzbC9saWIKLSAgICAgJSBjcCBidWlsZC9jcnlwdG8vbGliY3J5cHRvLmEgYnVpbGQvc3NsL2xpYnNzbC5hIC5vcGVuc3NsL2xpYgotICAgICAlIGxuIC1zICRQV0QvaW5jbHVkZSAub3BlbnNzbAotCi1CdWlsZCBxdWljaGU6Ci0KLSAgICAgJSBjZCAuLi8uLgotICAgICAlIFFVSUNIRV9CU1NMX1BBVEg9JFBXRC9kZXBzL2JvcmluZ3NzbCBjYXJnbyBidWlsZCAtLXJlbGVhc2UgLS1mZWF0dXJlcyBwa2ctY29uZmlnLW1ldGEKKyAgICAgJSBjZCBxdWljaGUKKyAgICAgJSBjYXJnbyBidWlsZCAtLXJlbGVhc2UgLS1mZWF0dXJlcyBwa2ctY29uZmlnLW1ldGEscWxvZworICAgICAlIG1rZGlyIGRlcHMvYm9yaW5nc3NsL2xpYgorICAgICAlIGxuIC12bmYgJChmaW5kIHRhcmdldC9yZWxlYXNlIC1uYW1lIGxpYmNyeXB0by5hIC1vIC1uYW1lIGxpYnNzbC5hKSBkZXBzL2JvcmluZ3NzbC9saWIvCiAKIEJ1aWxkIGN1cmw6CiAKQEAgLTEzOSw3ICsxMjYsNyBAQAogICAgICAlIGdpdCBjbG9uZSBodHRwczovL2dpdGh1Yi5jb20vY3VybC9jdXJsCiAgICAgICUgY2QgY3VybAogICAgICAlIC4vYnVpbGRjb25mCi0gICAgICUgLi9jb25maWd1cmUgTERGTEFHUz0iLVdsLC1ycGF0aCwkUFdELy4uL3F1aWNoZS90YXJnZXQvcmVsZWFzZSIgLS13aXRoLXNzbD0kUFdELy4uL3F1aWNoZS9kZXBzL2JvcmluZ3NzbC8ub3BlbnNzbCAtLXdpdGgtcXVpY2hlPSRQV0QvLi4vcXVpY2hlL3RhcmdldC9yZWxlYXNlIC0tZW5hYmxlLWFsdC1zdmMKKyAgICAgJSAuL2NvbmZpZ3VyZSBMREZMQUdTPSItV2wsLXJwYXRoLCRQV0QvLi4vcXVpY2hlL3RhcmdldC9yZWxlYXNlIiAtLXdpdGgtc3NsPSRQV0QvLi4vcXVpY2hlL2RlcHMvYm9yaW5nc3NsIC0td2l0aC1xdWljaGU9JFBXRC8uLi9xdWljaGUvdGFyZ2V0L3JlbGVhc2UgLS1lbmFibGUtYWx0LXN2YwogICAgICAlIG1ha2UKIAogIyMgUnVuCmRpZmYgLS1naXQgYS9kb2NzL0lOU1RBTEwuY21ha2UgYi9kb2NzL0lOU1RBTEwuY21ha2UKaW5kZXggMDMzMjhjYi4uYzk2N2IwOCAxMDA2NDQKLS0tIGEvZG9jcy9JTlNUQUxMLmNtYWtlCisrKyBiL2RvY3MvSU5TVEFMTC5jbWFrZQpAQCAtMjUsOCArMjUsNyBAQAogCiAgICAtIEJ1aWxkcyBsaWJjdXJsIHdpdGhvdXQgbGFyZ2UgZmlsZSBzdXBwb3J0CiAgICAtIERvZXMgbm90IHN1cHBvcnQgYWxsIFNTTCBsaWJyYXJpZXMgKG9ubHkgT3BlblNTTCwgV2luU1NMLCBEYXJ3aW5TU0wsIGFuZAotICAgICBtYmVkIFRMUykKLSAgIC0gRG9lc24ndCBidWlsZCB3aXRoIFNDUCBhbmQgU0ZUUCBzdXBwb3J0IChsaWJzc2gyKSAoc2VlIGlzc3VlICMxMTU1KQorICAgICBtYmVkIFRMUywgTlNTLCBXb2xmU1NMKQogICAgLSBEb2Vzbid0IGFsbG93IGRpZmZlcmVudCByZXNvbHZlciBiYWNrZW5kcyAobm8gYy1hcmVzIGJ1aWxkIHN1cHBvcnQpCiAgICAtIE5vIFJUTVAgc3VwcG9ydCBidWlsdAogICAgLSBEb2Vzbid0IGFsbG93IGJ1aWxkIGN1cmwgYW5kIGxpYmN1cmwgZGVidWcgZW5hYmxlZApkaWZmIC0tZ2l0IGEvZG9jcy9LTk9XTl9CVUdTIGIvZG9jcy9LTk9XTl9CVUdTCmluZGV4IDkzY2IzNjkuLjYwNjk4M2IgMTAwNjQ0Ci0tLSBhL2RvY3MvS05PV05fQlVHUworKysgYi9kb2NzL0tOT1dOX0JVR1MKQEAgLTQzLDE5ICs0MywxOCBAQAogIDQuMSAtSiBhbmQgLU8gd2l0aCAlLWVuY29kZWQgZmlsZSBuYW1lcwogIDQuMiAtSiB3aXRoIC1DIC0gZmFpbHMKICA0LjMgLS1yZXRyeSBhbmQgdHJhbnNmZXIgdGltZW91dHMKLSA0LjQgLS11cGxvYWQtZmlsZSAuIGhhbmcgaWYgZGVsYXkgaW4gU1RESU4KLSA0LjUgSW1wcm92ZSAtLWRhdGEtdXJsZW5jb2RlIHNwYWNlIGVuY29kaW5nCisgNC40IEltcHJvdmUgLS1kYXRhLXVybGVuY29kZSBzcGFjZSBlbmNvZGluZwogCiAgNS4gQnVpbGQgYW5kIHBvcnRhYmlsaXR5IGlzc3VlcworIDUuMSBPUzQwMCBwb3J0IHJlcXVpcmVzIGRlcHJlY2F0ZWQgSUJNIGxpYnJhcnkKICA1LjIgY3VybC1jb25maWcgLS1saWJzIGNvbnRhaW5zIHByaXZhdGUgZGV0YWlscwogIDUuMyBjdXJsIGNvbXBpbGVkIG9uIE9TWCAxMC4xMyBmYWlsZWQgdG8gcnVuIG9uIE9TWCAxMC4xMAotIDUuNCBDYW5ub3QgY29tcGlsZSBhZ2FpbnN0IGEgc3RhdGljIGJ1aWxkIG9mIE9wZW5MREFQCi0gNS41IGNhbid0IGhhbmRsZSBVbmljb2RlIGFyZ3VtZW50cyBpbiBXaW5kb3dzCisgNS40IEJ1aWxkIHdpdGggc3RhdGljYWxseSBidWlsdCBkZXBlbmRlbmN5CisgNS41IGNhbid0IGhhbmRsZSBVbmljb2RlIGFyZ3VtZW50cyBpbiBub24tVW5pY29kZSBidWlsZHMgb24gV2luZG93cwogIDUuNiBjbWFrZSBzdXBwb3J0IGdhcHMKICA1LjcgVmlzdWFsIFN0dWRpbyBwcm9qZWN0IGdhcHMKICA1LjggY29uZmlndXJlIGZpbmRpbmcgbGlicyBpbiB3cm9uZyBkaXJlY3RvcnkKICA1LjkgVXRpbGl6ZSBSZXF1aXJlcy5wcml2YXRlIGRpcmVjdGl2ZXMgaW4gbGliY3VybC5wYwotIDUuMTAgSUROIHRlc3RzIGZhaWxpbmcgb24gV2luZG93cyAvIE1TWVMyCiAgNS4xMSBjb25maWd1cmUgLS13aXRoLWdzc2FwaSB3aXRoIEhlaW1kYWwgaXMgaWdub3JlZCBvbiBtYWNPUwogCiAgNi4gQXV0aGVudGljYXRpb24KQEAgLTY2LDYgKzY1LDcgQEAKICA2LjUgTlRMTSBkb2Vzbid0IHN1cHBvcnQgcGFzc3dvcmQgd2l0aCDCpyBjaGFyYWN0ZXIKICA2LjYgbGliY3VybCBjYW4gZmFpbCB0byB0cnkgYWx0ZXJuYXRpdmVzIHdpdGggLS1wcm94eS1hbnkKICA2LjcgRG9uJ3QgY2xlYXIgZGlnZXN0IGZvciBzaW5nbGUgcmVhbG0KKyA2LjggUlRTUCBhdXRoZW50aWNhdGlvbiBicmVha3Mgd2l0aG91dCByZWRpcmVjdCBzdXBwb3J0CiAKICA3LiBGVFAKICA3LjEgRlRQIHdpdGhvdXQgb3Igc2xvdyAyMjAgcmVzcG9uc2UKQEAgLTg1LDYgKzg1LDcgQEAKIAogIDkuIFNGVFAgYW5kIFNDUAogIDkuMSBTRlRQIGRvZXNuJ3QgZG8gQ1VSTE9QVF9QT1NUUVVPVEUgY29ycmVjdAorIDkuMiB3b2xmc3NoOiBwdWJsaWNrZXkgYXV0aCBkb2Vzbid0IHdvcmsKIAogIDEwLiBTT0NLUwogIDEwLjMgRlRQUyBvdmVyIFNPQ0tTCkBAIC0yMDAsOCArMjAxLDggQEAKIAogMi4xIENVUkxJTkZPX1NTTF9WRVJJRllSRVNVTFQgaGFzIGxpbWl0ZWQgc3VwcG9ydAogCi0gQ1VSTElORk9fU1NMX1ZFUklGWVJFU1VMVCBpcyBvbmx5IGltcGxlbWVudGVkIGZvciB0aGUgT3BlblNTTCBhbmQgTlNTCi0gYmFja2VuZHMsIHNvIHJlbHlpbmcgb24gdGhpcyBpbmZvcm1hdGlvbiBpbiBhIGdlbmVyaWMgYXBwIGlzIGZsYWt5LgorIENVUkxJTkZPX1NTTF9WRVJJRllSRVNVTFQgaXMgb25seSBpbXBsZW1lbnRlZCBmb3IgdGhlIE9wZW5TU0wsIE5TUyBhbmQKKyBHbnVUTFMgYmFja2VuZHMsIHNvIHJlbHlpbmcgb24gdGhpcyBpbmZvcm1hdGlvbiBpbiBhIGdlbmVyaWMgYXBwIGlzIGZsYWt5LgogCiAyLjIgREVSIGluIGtleWNoYWluCiAKQEAgLTMzNywxNSArMzM4LDcgQEAKICBodHRwczovL2N1cmwuaGF4eC5zZS9tYWlsL2xpYi0yMDA4LTAxLzAwODAuaHRtbCBhbmQgTWFuZHJpdmEgYnVnIHJlcG9ydAogIGh0dHBzOi8vcWEubWFuZHJpdmEuY29tL3Nob3dfYnVnLmNnaT9pZD0yMjU2NQogCi00LjQgLS11cGxvYWQtZmlsZSAuIGhhbmdzIGlmIGRlbGF5IGluIFNURElOCi0KLSAiKGVjaG8gc3RhcnQ7IHNsZWVwIDE7IGVjaG8gZW5kKSB8IGN1cmwgLS11cGxvYWQtZmlsZSAuIGh0dHA6Ly9teXdlYnNpdGUgLXZ2IgotCi0gLi4uIGNhdXNlcyBhIGhhbmcgd2hlbiBpdCBzaG91bGRuJ3QuCi0KLSBTZWUgaHR0cHM6Ly9naXRodWIuY29tL2N1cmwvY3VybC9pc3N1ZXMvMjA1MQotCi00LjUgSW1wcm92ZSAtLWRhdGEtdXJsZW5jb2RlIHNwYWNlIGVuY29kaW5nCis0LjQgSW1wcm92ZSAtLWRhdGEtdXJsZW5jb2RlIHNwYWNlIGVuY29kaW5nCiAKICBBU0NJSSBzcGFjZSBjaGFyYWN0ZXJzIGluIC0tZGF0YS11cmxlbmNvZGUgYXJlIGN1cnJlbnRseSBlbmNvZGVkIGFzICUyMAogIHJhdGhlciB0aGFuICssIHdoaWNoIFJGQyAxODY2IHNheXMgc2hvdWxkIGJlIHVzZWQuCkBAIC0zNTQsNiArMzQ3LDE0IEBACiAKIDUuIEJ1aWxkIGFuZCBwb3J0YWJpbGl0eSBpc3N1ZXMKIAorNS4xIE9TNDAwIHBvcnQgcmVxdWlyZXMgZGVwcmVjYXRlZCBJQk0gbGlicmFyeQorCisgY3VybCBmb3IgT1M0MDAgcmVxdWlyZXMgUUFEUlQgdG8gYnVpbGQsIHdoaWNoIHByb3ZpZGVzIEFTQ0lJIHdyYXBwZXJzIGZvcgorIGxpYmMvUE9TSVggZnVuY3Rpb25zIGluIHRoZSBJTEUsIGJ1dCBJQk0gbm8gbG9uZ2VyIHN1cHBvcnRzIG9yIGV2ZW4gb2ZmZXJzCisgdGhpcyBsaWJyYXJ5IHRvIGRvd25sb2FkLgorCisgU2VlIGh0dHBzOi8vZ2l0aHViLmNvbS9jdXJsL2N1cmwvaXNzdWVzLzUxNzYKKwogNS4yIGN1cmwtY29uZmlnIC0tbGlicyBjb250YWlucyBwcml2YXRlIGRldGFpbHMKIAogICJjdXJsLWNvbmZpZyAtLWxpYnMiIHdpbGwgaW5jbHVkZSBkZXRhaWxzIHNldCBpbiBMREZMQUdTIHdoZW4gY29uZmlndXJlIGlzCkBAIC0zNjQsMjAgKzM2NSw0MCBAQAogCiAgU2VlIGh0dHBzOi8vZ2l0aHViLmNvbS9jdXJsL2N1cmwvaXNzdWVzLzI5MDUKIAotNS40IENhbm5vdCBjb21waWxlIGFnYWluc3QgYSBzdGF0aWMgYnVpbGQgb2YgT3BlbkxEQVAKKzUuNCBCdWlsZCB3aXRoIHN0YXRpY2FsbHkgYnVpbHQgZGVwZW5kZW5jeQogCi0gU2VlIGh0dHBzOi8vZ2l0aHViLmNvbS9jdXJsL2N1cmwvaXNzdWVzLzIzNjcKKyBUaGUgYnVpbGQgc2NyaXB0cyBpbiBjdXJsIChhdXRvdG9vbHMsIGNtYWtlIGFuZCBvdGhlcnMpIGFyZSBwcmltYXJpbHkgZG9uZSB0bworIHdvcmsgd2l0aCBzaGFyZWQvZHluYW1pYyB0aGlyZCBwYXJ0eSBkZXBlbmRlbmNpZXMuIFdoZW4gbGlua2luZyB3aXRoIHNoYXJlZAorIGxpYnJhcmllcywgdGhlIGRlcGVuZGVuY3kgImNoYWluIiBpcyBoYW5kbGVkIGF1dG9tYXRpY2FsbHkgYnkgdGhlIGxpYnJhcnkKKyBsb2FkZXIgLSBvbiBhbGwgbW9kZXJuIHN5c3RlbXMuCiAKLTUuNSBjYW4ndCBoYW5kbGUgVW5pY29kZSBhcmd1bWVudHMgaW4gV2luZG93cworIElmIHlvdSBpbnN0ZWFkIGxpbmsgd2l0aCBhIHN0YXRpYyBsaWJyYXJ5LCB3ZSBuZWVkIHRvIHByb3ZpZGUgYWxsIHRoZQorIGRlcGVuZGVuY3kgbGlicmFyaWVzIGFscmVhZHkgYXQgdGhlIGxpbmsgY29tbWFuZCBsaW5lLgorCisgRmlndXJpbmcgb3V0IGFsbCB0aGUgZGVwZW5kZW5jeSBsaWJyYXJpZXMgZm9yIGEgZ2l2ZW4gbGlicmFyeSBpcyBoYXJkLCBhcyBpdAorIG1pZ2h0IGFsc28gaW52b2x2ZSBmaWd1cmluZyBvdXQgdGhlIGRlcGVuZGVuY2llcyBvZiB0aGUgZGVwZW5kZW5jaWVzIGFuZCB0aGV5CisgbWF5IHZhcnkgYmV0d2VlbiBwbGF0Zm9ybXMgYW5kIGV2ZW4gY2hhbmdlIGJldHdlZW4gdmVyc2lvbnMuCisKKyBXaGVuIHVzaW5nIHN0YXRpYyBkZXBlbmRlbmNpZXMsIHRoZSBidWlsZCBzY3JpcHRzIHdpbGwgbW9zdGx5IGFzc3VtZSB0aGF0CisgeW91LCB0aGUgdXNlciwgd2lsbCBwcm92aWRlIGFsbCB0aGUgbmVjZXNzYXJ5IGFkZGl0aW9uYWwgZGVwZW5kZW5jeSBsaWJyYXJpZXMKKyBhcyBhZGRpdGlvbmFsIGFyZ3VtZW50cyBpbiB0aGUgYnVpbGQuIFdpdGggY29uZmlndXJlLCBieSBzZXR0aW5nIExJQlMvTERGTEFHUworIG9uIHRoZSBjb21tYW5kIGxpbmUuCisKKyBXZSB3ZWxjb21lIGhlbHAgdG8gaW1wcm92ZSBjdXJsJ3MgYWJpbGl0eSB0byBsaW5rIHdpdGggc3RhdGljIGxpYnJhcmllcywgYnV0CisgaXQgaXMgbGlrZWx5IGEgdGFzayB0aGF0IHdlIGNhbiBuZXZlciBmdWxseSBzdXBwb3J0LgorCis1LjUgY2FuJ3QgaGFuZGxlIFVuaWNvZGUgYXJndW1lbnRzIGluIG5vbi1Vbmljb2RlIGJ1aWxkcyBvbiBXaW5kb3dzCiAKICBJZiBhIFVSTCBvciBmaWxlbmFtZSBjYW4ndCBiZSBlbmNvZGVkIHVzaW5nIHRoZSB1c2VyJ3MgY3VycmVudCBjb2RlcGFnZSB0aGVuCiAgaXQgY2FuIG9ubHkgYmUgZW5jb2RlZCBwcm9wZXJseSBpbiB0aGUgVW5pY29kZSBjaGFyYWN0ZXIgc2V0LiBXaW5kb3dzIHVzZXMKICBVVEYtMTYgZW5jb2RpbmcgZm9yIFVuaWNvZGUgYW5kIHN0b3JlcyBpdCBpbiB3aWRlIGNoYXJhY3RlcnMsIGhvd2V2ZXIgY3VybAotIGFuZCBsaWJjdXJsIGFyZSBub3QgZXF1aXBwZWQgZm9yIHRoYXQgYXQgdGhlIG1vbWVudC4gQW5kLCBleGNlcHQgZm9yIEN5Z3dpbiwKLSBXaW5kb3dzIGNhbid0IHVzZSBVVEYtOCBhcyBhIGxvY2FsZS4KKyBhbmQgbGliY3VybCBhcmUgbm90IGVxdWlwcGVkIGZvciB0aGF0IGF0IHRoZSBtb21lbnQgZXhjZXB0IHdoZW4gYnVpbHQgd2l0aAorIF9VTklDT0RFIGFuZCBVTklDT0RFIGRlZmluZWQuIEFuZCwgZXhjZXB0IGZvciBDeWd3aW4sIFdpbmRvd3MgY2FuJ3QgdXNlIFVURi04CisgYXMgYSBsb2NhbGUuCiAKICAgaHR0cHM6Ly9jdXJsLmhheHguc2UvYnVnLz9pPTM0NQogICBodHRwczovL2N1cmwuaGF4eC5zZS9idWcvP2k9NzMxCisgIGh0dHBzOi8vY3VybC5oYXh4LnNlL2J1Zy8/aT0zNzQ3CiAKIDUuNiBjbWFrZSBzdXBwb3J0IGdhcHMKIApAQCAtNDMwLDEzICs0NTEsNiBAQAogCiAgaHR0cHM6Ly9naXRodWIuY29tL2N1cmwvY3VybC9pc3N1ZXMvODY0CiAKLTUuMTAgSUROIHRlc3RzIGZhaWxpbmcgb24gV2luZG93cyAvIE1TWVMyCi0KLSBJdCBzZWVtcyBsaWtlIE1TWVMyIGRvZXMgc29tZSBVVEYtOC10by1zb21ldGhpbmctZWxzZSBjb252ZXJzaW9uIGZvciBXaW5kb3dzCi0gY29tcGF0aWJpbGl0eS4KLQotIGh0dHBzOi8vZ2l0aHViLmNvbS9jdXJsL2N1cmwvaXNzdWVzLzM3NDcKLQogNS4xMSBjb25maWd1cmUgLS13aXRoLWdzc2FwaSB3aXRoIEhlaW1kYWwgaXMgaWdub3JlZCBvbiBtYWNPUwogCiAgLi4uIHVubGVzcyB5b3UgYWxzbyBwYXNzIC0td2l0aC1nc3NhcGktbGlicwpAQCAtNDk5LDYgKzUxMywxNSBAQAogCiAgaHR0cHM6Ly9naXRodWIuY29tL2N1cmwvY3VybC9pc3N1ZXMvMzI2NwogCis2LjggUlRTUCBhdXRoZW50aWNhdGlvbiBicmVha3Mgd2l0aG91dCByZWRpcmVjdCBzdXBwb3J0CisKKyBSVFNQIGF1dGhlbnRpY2F0aW9uIGJyb2tlIGluIDcuNjYuMC4gQSB3b3JrLWFyb3VuZCBpcyB0byBlbmFibGUgUlRTUCBpbgorIENVUkxPUFRfUkVESVJfUFJPVE9DT0xTLiBBdXRoZW50aWNhdGlvbiBzaG91bGQgaG93ZXZlciBub3QgYmUgY29uc2lkZXJlZCBhbgorIGFjdHVhbCByZWRpcmVjdCBzbyBhICJwcm9wZXIiIGZpeCBuZWVkcyB0byBiZSBkaWZmZXJlbnQgYW5kIG5vdCByZXF1aXJlIHVzZXJzCisgdG8gYWxsb3cgcmVkaXJlY3RzIHRvIFJUU1AgdG8gd29yay4KKworIFNlZSBodHRwczovL2dpdGh1Yi5jb20vY3VybC9jdXJsL3B1bGwvNDc1MAorCiA3LiBGVFAKIAogNy4xIEZUUCB3aXRob3V0IG9yIHNsb3cgMjIwIHJlc3BvbnNlCkBAIC02MjAsNiArNjQzLDEzIEBACiAgcmVwb3J0IGJ1dCBpdCBjYW5ub3QgYmUgYWNjZXB0ZWQgYXMtaXMuIFNlZQogIGh0dHBzOi8vY3VybC5oYXh4LnNlL2J1Zy92aWV3LmNnaT9pZD03NDgKIAorOS4yIHdvbGZzc2g6IHB1YmxpY2tleSBhdXRoIGRvZXNuJ3Qgd29yaworCisgV2hlbiBidWlsZGluZyBjdXJsIHRvIHVzZSB0aGUgd29sZlNTSCBiYWNrZW5kIGZvciBTRlRQLCB0aGUgcHVibGlja2V5CisgYXV0aGVudGljYXRpb24gZG9lc24ndCB3b3JrLiBUaGlzIGlzIHNpbXBseSBmdW5jdGlvbmFsaXR5IG5vdCB3cml0dGVuIGZvciBjdXJsCisgeWV0LCB0aGUgbmVjZXNzYXJ5IEFQSSBmb3IgbWFrZSB0aGlzIHdvcmsgaXMgcHJvdmlkZWQgYnkgd29sZlNTSC4KKworIFNlZSBodHRwczovL2dpdGh1Yi5jb20vY3VybC9jdXJsL2lzc3Vlcy80ODIwCiAKIDEwLiBTT0NLUwogCmRpZmYgLS1naXQgYS9kb2NzL01ha2VmaWxlLmFtIGIvZG9jcy9NYWtlZmlsZS5hbQppbmRleCA2ZWFkMjdiLi41OWFkZTRhIDEwMDY0NAotLS0gYS9kb2NzL01ha2VmaWxlLmFtCisrKyBiL2RvY3MvTWFrZWZpbGUuYW0KQEAgLTUwLDEwICs1MCwxMiBAQAogIENJUEhFUlMubWQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAogIENNYWtlTGlzdHMudHh0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAogIENPREVfT0ZfQ09ORFVDVC5tZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorIENPREVfUkVWSUVXLm1kICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAogIENPREVfU1RZTEUubWQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAogIENPTlRSSUJVVEUubWQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAogIENVUkwtRElTQUJMRS5tZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAogIERFUFJFQ0FURS5tZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorIERZTkJVRi5tZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAogIEVTTkkubWQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAogIEVYUEVSSU1FTlRBTC5tZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAogIEZBUSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXApAQCAtNzIsNiArNzQsNyBAQAogIExJQ0VOU0UtTUlYSU5HLm1kICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAogIE1BSUwtRVRJUVVFVFRFICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAogIE1RVFQubWQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorIG9wdGlvbnMtaW4tdmVyc2lvbnMgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAogIFBBUkFMTEVMLVRSQU5TRkVSUy5tZCAgICAgICAgICAgICAgICAgICAgICAgICAgXAogIFJFQURNRS5tZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAogIFJFTEVBU0UtUFJPQ0VEVVJFLm1kICAgICAgICAgICAgICAgICAgICAgICAgICAgXApAQCAtODMsNyArODYsNyBAQAogIFRIQU5LUyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAogIFRPRE8gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAogIFRoZUFydE9mSHR0cFNjcmlwdGluZyAgICAgICAgICAgICAgICAgICAgICAgICAgXAotIFZFUlNJT05TCisgVkVSU0lPTlMubWQKIAogTUFOMkhUTUw9IHJvZmZpdCAkPCA+JEAKIApkaWZmIC0tZ2l0IGEvZG9jcy9ST0FETUFQLm1kIGIvZG9jcy9ST0FETUFQLm1kCmluZGV4IDdiZDA3MTkuLmRhZTcyYTkgMTAwNjQ0Ci0tLSBhL2RvY3MvUk9BRE1BUC5tZAorKysgYi9kb2NzL1JPQURNQVAubWQKQEAgLTM0LDE5ICszNCw2IEBACiAgaXQgY2FuIGJlIHRocmVhZC1zYWZlIGlmIGJ1aWx0IHdpdGggdGhyZWFkLXNhZmUgM3JkIHBhcnR5IGxpYnJhcmllcy4KICAocHJvYmFibHkgY2FuJ3QgaW5jbHVkZSBgY3VybF9nbG9iYWxfaW5pdF9tZW0oKWAgZm9yIG9idmlvdXMgcmVhc29ucykKIAotdGlueS1jdXJsCi0tLS0tLS0tLS0KLQotIFRoZXJlJ3Mgbm8gaW1tZWRpYXRlIGFjdGlvbiBmb3IgdGhpcyBidXQgdXNlcnMgc2VlbSBrZWVuIG9uIGJlaW5nIGFibGUgdG8KLSBidWlsZGluZyBjdXN0b20gbWluaW1pemVkIHZlcnNpb25zIG9mIGxpYmN1cmwgZm9yIHRoZWlyIHByb2R1Y3RzLiBNYWtlIHN1cmUKLSBuZXcgZmVhdHVyZXMgdGhhdCBhcmUgIm5pY2hlIiBjYW4gc3RpbGwgYmUgZGlzYWJsZWQgYXQgYnVpbGQtdGltZS4KLQotTVFUVAotLS0tLQotCi0gU3VwcG9ydCByZWNlaXZpbmcgYW5kIHNlbmRpbmcgTVFUVCBtZXNzYWdlcy4gSW5pdGlhbCB3b3JrIGV4aXN0cyBpbgotIGh0dHBzOi8vZ2l0aHViLmNvbS9jdXJsL2N1cmwvcHVsbC8zNTE0Ci0KIEhhcmRjb2RlIOKAnGxvY2FsaG9zdOKAnQogLS0tLS0tLS0tLS0tLS0tLS0tLS0KIApAQCAtNTQsMTAgKzQxLDMgQEAKICBhbmQgYWN0dWFsbHkgcmVzcG9uZHMgd2l0aCBzb21ldGhpbmcgZWxzZSB0aGFuIGEgbG9jYWwgYWRkcmVzcy4gU29tZQogIG9wZXJhdGluZyBzeXN0ZW1zIGFscmVhZHkgZG8gdGhpcy4gQWxzbzoKICBodHRwczovL3Rvb2xzLmlldGYub3JnL2h0bWwvZHJhZnQtaWV0Zi1kbnNvcC1sZXQtbG9jYWxob3N0LWJlLWxvY2FsaG9zdC0wMgotCi0ibWVudSBjb25maWciLXN0eWxlIGJ1aWxkIGZlYXR1cmUgc2VsZWN0aW9uCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCi0KLSBBbGxvdyBlYXNpZXIgYnVpbGRpbmcgb2YgY3VzdG9tIGxpYmN1cmwgdmVyc2lvbnMgd2l0aCBvbmx5IGEgc2VsZWN0ZWQgZmVhdHVyZQotIHdoZXJlIHRoZSBhdmFpbGFibGUgZmVhdHVyZXMgYXJlIGVhc2lseSBicm93c2FibGUgYW5kIHRvZ2dsZS1hYmxlIE9OL09GRiBvcgotIHNpbWlsYXIuCmRpZmYgLS1naXQgYS9kb2NzL1NTTC1QUk9CTEVNUy5tZCBiL2RvY3MvU1NMLVBST0JMRU1TLm1kCmluZGV4IGFhZjdiZGIuLjM1MDAwY2YgMTAwNjQ0Ci0tLSBhL2RvY3MvU1NMLVBST0JMRU1TLm1kCisrKyBiL2RvY3MvU1NMLVBST0JMRU1TLm1kCkBAIC03OCw3ICs3OCw3IEBACiAgIGRlcGVuZGluZyBvbiB0aGUgT1Mgb3IgYnVpbGQgY29uZmlndXJhdGlvbi4gVGhlIC0tc3NsLW5vLXJldm9rZSBvcHRpb24gd2FzCiAgIGludHJvZHVjZWQgaW4gNy40NC4wIHRvIGRpc2FibGUgcmV2b2NhdGlvbiBjaGVja2luZyBidXQgY3VycmVudGx5IGlzIG9ubHkKICAgc3VwcG9ydGVkIGZvciBTY2hhbm5lbCAodGhlIG5hdGl2ZSBXaW5kb3dzIFNTTCBsaWJyYXJ5KSwgd2l0aCBhbiBleGNlcHRpb24KLSAgaW4gdGhlIGNhc2Ugb2YgV2luZG93cycgVW50cnVzdGVkIFB1Ymxpc2hlcnMgYmxhY2tsaXN0IHdoaWNoIGl0IHNlZW1zIGNhbid0CisgIGluIHRoZSBjYXNlIG9mIFdpbmRvd3MnIFVudHJ1c3RlZCBQdWJsaXNoZXJzIGJsb2NrIGxpc3Qgd2hpY2ggaXQgc2VlbXMgY2FuJ3QKICAgYmUgYnlwYXNzZWQuIFRoaXMgb3B0aW9uIG1heSBoYXZlIGJyb2FkZXIgc3VwcG9ydCB0byBhY2NvbW1vZGF0ZSBvdGhlciBTU0wKICAgYmFja2VuZHMgaW4gdGhlIGZ1dHVyZS4KIApkaWZmIC0tZ2l0IGEvZG9jcy9USEFOS1MgYi9kb2NzL1RIQU5LUwppbmRleCBkMzlkZWZmLi43NjU4N2JkIDEwMDY0NAotLS0gYS9kb2NzL1RIQU5LUworKysgYi9kb2NzL1RIQU5LUwpAQCAtMjQsNiArMjQsNyBAQAogQWRhbSBQaWdnb3R0CiBBZGFtIFNhbXBzb24KIEFkYW0gVGthYworQWRuYW4gS2hhbgogYWRubiBvbiBnaXRodWIKIEFkcmlhbiBCdXJjZWEKIEFkcmlhbiBQZW5pYWsKQEAgLTgyLDYgKzgzLDcgQEAKIEFsZXhhbmRlciBUcmF1ZAogQWxleGFuZGVyIFYuIFRpa2hvbm92CiBBbGV4YW5kZXIgWmh1cmF2bGV2CitBbGV4YW5kcmUgUGlvbgogQWxleGV5IEJvcnpvdgogQWxleGV5IEVyZW1pa2hpbgogQWxleGV5IE1lbG5pY2h1awpAQCAtMjAzLDYgKzIwNSw3IEBACiBCYXJyeSBBYnJhaGFtc29uCiBCYXJyeSBQb2xsYXJkCiBCYXJ0IFdoaXRlbGV5CitCYXJ1Y2ggU2lhY2gKIEJhcyBNZXZpc3NlbgogQmFzIHZhbiBTY2hhaWsKIEJhc3RpZW4gQm91Y2xldApAQCAtMjQzLDYgKzI0Niw3IEBACiBCaWxsIE1pZGRsZWNhbXAKIEJpbGwgTmFnZWwKIEJpbGwgUHluZQorQmlsbHl6b3UwNzQxMzI2IG9uIGdpdGh1YgogQmphcm5pIEluZ2kgR2lzbGFzb24KIEJqb2VybiBGcmFua2UKIEJqb2VybiBTaWtvcmEKQEAgLTMxOCw2ICszMjIsNyBAQAogQ2hhcmxlcyBLZXJyCiBDaGFybGVzIFJvbWVzdGFudAogQ2hlbiBQcm9nCitDaGVyaXNoOTggb24gZ2l0aHViCiBDaGVzdGVyIExpdQogQ2hpaC1DaHVuZyBDaGFuZwogQ2hpaC1Ic3VhbiBZZW4KQEAgLTM3Miw2ICszNzcsNyBAQAogY29kZXNuaWZmZXIxMyBvbiBnaXRodWIKIENvZHkgSm9uZXMKIENvZHkgTWFjaworY29pbmh1YnMgb24gZ2l0aHViCiBDb2xieSBSYW5nZXIKIENvbGluIEJsYWlyCiBDb2xpbiBIb2diZW4KQEAgLTQ5OCw2ICs1MDQsNyBAQAogZGF2aWRlZGVjIG9uIGdpdGh1YgogZGJyb3duZGFuIG9uIGdpdGh1YgogRGVuZ21pbndlbgorRGVuaXMgQmFydcSNacSHCiBEZW5pcyBDaGFwbHlnaW4KIERlbmlzIEZla2x1c2hraW4KIERlbmlzIE9sbGllcgpAQCAtNjMzLDYgKzY0MCw3IEBACiBFcm5zdCBTasO2c3RyYW5kCiBFcndhbiBMZWdyYW5kCiBFcndpbiBBdXRocmllZAorRXN0YW5pc2xhdSBBdWfDqS1QdWphZGFzCiBFdGhhbiBHbGFzc2VyIENhbXAKIEV0aWVubmUgU2ltYXJkCiBFdWdlbmUgS290bHlhcm92CkBAIC02ODQsNiArNjkyLDcgQEAKIEZyYW5rIFZhbiBVZmZlbGVuCiBGcmFudGnFoWVrIEt1xI1lcmEKIEZyYW7Dp29pcyBDaGFybGllcgorRnJhbsOnb2lzIFJpZ2F1bHQKIEZyZWQgTWFjaGFkbwogRnJlZCBOZXcKIEZyZWQgTm96CkBAIC03NDQsNiArNzUzLDcgQEAKIEdyZWcgUHJhdHQKIEdyZWcgUm93ZQogR3JlZyBaYXZlcnRuaWsKK0dyZWdvcnkgSmVmZmVyaXMKIEdyZWdvcnkgTmljaG9sbHMKIEdyZWdvcnkgU3pvcmMKIEdyaWZmaW4gRG93bnMKQEAgLTgwMiw3ICs4MTIsOSBAQAogSG93YXJkIENodQogaHNpYW8geWkKIEh1YmVydCBLYXJpbworSHVnbyB2YW4gS2VtZW5hZGUKIEh1emFpZmEgU2lkaHB1cndhbGEKK2h1enVuaGFvIG9uIGdpdGh1YgogaHlkcmEzMzMzIG9uIGdpdGh1YgogSHpoaWp1bgogSWFuIEQgQWxsZW4KQEAgLTg2NSw2ICs4NzcsNyBAQAogSmFtZXMgR3JpZmZpdGhzCiBKYW1lcyBIb3VzbGV5CiBKYW1lcyBLbmlnaHQKK0phbWVzIExlIEN1aXJvdAogSmFtZXMgTWFjTWlsbGFuCiBKYW1lcyBTbGF1Z2h0ZXIKIEphbWllIExva2llcgpAQCAtOTkzLDYgKzEwMDYsNyBAQAogSm9obiBNY0dvd2FuCiBKb2huIFAuIE1jQ2Fza2V5CiBKb2huIFNjaHJvZWRlcgorSm9obiBTaW1wc29uCiBKb2huIFN0YXJrcwogSm9obiBTdXByb2NrCiBKb2huIFYuIENob3cKQEAgLTEwMDQsNiArMTAxOCw3IEBACiBKb2pvam92IG9uIGdpdGh1YgogSm9uIERlVnJlZQogSm9uIEdydWJicworSm9uIEpvaG5zb24gSnIKIEpvbiBOZWxzb24KIEpvbiBSdW1zZXkKIEpvbiBTYXJnZWFudApAQCAtMTA3OCw2ICsxMDkzLDcgQEAKIEthaS1Vd2UgUm9tbWVsCiBLYWxsZSBWYWhsbWFuCiBLYW1pbCBEdWRrYQorS2FuZSBZb3JrCiBLYW5nIExpbgogS2FuZy1KaW4gTGVlCiBLYXJsIENoZW4KQEAgLTExMTksNiArMTEzNSw3IEBACiBLb2VuIERlcmdlbnQKIEtvbnN0YW50aW4gSXNha292CiBLb25zdGFudGluIEt1c2huaXIKK2tvdG9yaeOBruOBreOBkwoga291emh1ZG9uZyBvbiBnaXRodWIKIGtyZXNoYW5vIG9uIGdpdGh1YgogS3JpcyBLZW5uYXdheQpAQCAtMTE5OSw2ICsxMjE2LDcgQEAKIEx1Y2FzIEFkYW1za2kKIEx1Y2FzIFBhcmR1ZQogTHVjYXMgU2V2ZXJvCitMdWNpZW4gWsO8cmNoZXIKIEx1ZGVrIEZpbnN0cmxlCiBMdWRvdmljbyBDYXZlZG9uCiBMdWR3aWcgTnVzc2VsCkBAIC0xMjk2LDYgKzEzMTQsNyBAQAogTWFydGluIFNraW5uZXIKIE1hcnRpbiBTdGFhZWwKIE1hcnRpbiBTdG9yc2rDtgorTWFydGluIFYKIE1hcnRpbiBWZWpuw6FyCiBNYXJ0eSBLdWhydAogTWFydWtvCkBAIC0xMzMzLDYgKzEzNTIsNyBAQAogTWF4IEthdHNldgogTWF4IEtlbGxlcm1hbm4KIE1heCBLaG9uCitNYXggUGVhbAogTWF4IFNhdmVua292CiBNYXhpbSBJdmFub3YKIE1heGltIFBlcmVuZXNlbmtvCkBAIC0xNDE4LDYgKzE0MzgsNyBAQAogTWl0eiBXYXJrCiBta3plcm8gb24gZ2l0aHViCiBNb2hhbWVkIExyaGF6aQorTW9oYW1lZCBPc2FtYQogTW9oYW1tYWQgQWxTYWxlaAogTW9oYW1tYWQgSGFzYmluaQogTW9odW4gQmlzd2FzCkBAIC0xNDI4LDYgKzE0NDksNyBAQAogTXJkVWtrIG9uIGdpdGh1YgogTXJTb3JjdXMgb24gZ2l0aHViCiBNdWhhbW1hZCBIZXJkaWFuc3lhaAorTXVydWdhbiBCYWxyYWoKIE11eiBEaW1hCiBNeWsgVGF5bG9yCiBOYWNoIE0uIFMuCkBAIC0xNDcxLDYgKzE0OTMsNyBAQAogTmljb2xhcyBHcmVrYXMKIE5pY29sYXMgR3VpbGxpZXIKIE5pY29sYXMgTW9yZXktQ2hhaXNlbWFydGluCitOaWNvbGFzIFN0ZXJjaGVsZQogTmllbHMgdmFuIFRvbmdlcmVuCiBOaWtpdGEgU2NobWlkdAogTmlraXRpbnNraXQgRG1pdHJpeQpAQCAtMTY0MiwxMSArMTY2NSwxNCBAQAogUHJpeWFua2EgU2hhaAogUHJ6ZW15c8WCYXcgVG9tYXN6ZXdza2kKIHBzemVtdXMgb24gZ2l0aHViCitwdWNraXBlZGlhIG9uIGdpdGh1YgogUHVuZWV0IFBhd2FpYQorcWlhbmR1MjAwNiBvbiBnaXRodWIKIFF1YWdtaXJlCiBRdWFuYWggR2lic29uLU1vdW50CiBRdWlubiBTbGFjawogUi4gRGVubmlzIFN0ZWVkCitSYWRvc2xhdiBHZW9yZ2lldgogUmFkdSBTaW1pb25lc2N1CiBSYWZhIE11eW8KIFJhZmFlbCBBbnRvbmlvCkBAIC0xNjk1LDYgKzE3MjEsNyBAQAogUmljaCBHcmF5CiBSaWNoIE1pcmNoCiBSaWNoIFJhdWVuemFobgorUmljaCBTYWx6CiBSaWNoIFR1cm5lcgogUmljaGFyZCBBZGFtcwogUmljaGFyZCBBbGNvY2sKQEAgLTE3MjUsNiArMTc1Miw3IEBACiBSaWNreS1UaWdnIG9uIGdpdGh1YgogUmlkZXIgTGluZGVuCiBSaWthcmQgRmFsa2Vib3JuCitybDE5ODcgb24gZ2l0aHViCiBSb2IgQ290cm9uZQogUm9iIENyaXR0ZW5kZW4KIFJvYiBEYXZpZXMKQEAgLTE3OTIsNiArMTgyMCw3IEBACiBSw6lteSBMw6lvbmUKIFMuIE1vb25lc2FteQogU2FsYWgtRWRkaW4gU2hhYmFuCitTYWxlZW0gQWJkdWxyYXNvb2wKIFNhbHZhZG9yIETDoXZpbGEKIFNhbHZhdG9yZSBTb3JyZW50aW5vCiBTYW0gRGVhbmUKQEAgLTE4MDEsNiArMTgzMCw3IEBACiBTYW1wbyBLZWxsb21ha2kKIFNhbXVlbCBEw61heiBHYXJjw61hCiBTYW11ZWwgTGlzdG9wYWQKK1NhbXVlbCBNYXJrcwogU2FtdWVsIFN1cnRlZXMKIFNhbXVlbCBUaGliYXVsdAogU2FuZGVyIEdhdGVzCkBAIC0xODY4LDggKzE4OTgsMTAgQEAKIFNpbW9uIExlZ25lcgogU2ltb24gTGl1CiBTaW1vbiBXYXJ0YQorU2l2YSBTaXZhcmFtYW4KIFNMRGlnZ2llIG9uIGdpdGh1Ygogc211ZWxsZXJERCBvbiBnaXRodWIKK3NuIG9uIGhhY2tlcm9uZQogU29tbmF0aCBLdW5kdQogU29uZyBNYQogU29uaWEgU3VicmFtYW5pYW4KQEAgLTE5NjAsNyArMTk5Miw5IEBACiBUaGUgSW5maW5ub3ZhdGlvbiB0ZWFtCiBUaGVBc3Nhc3NpbiBvbiBnaXRodWIKIFRoZW9kb3JlIER1Ym9pcwordGhlcmVhbGhpcnVkbyBvbiBnaXRodWIKIHRob2xpbiBvbiBnaXRodWIKK1Rob21hcyBCb3V6ZXJhcgogVGhvbWFzIEJyYXVuCiBUaG9tYXMgR2FtcGVyCiBUaG9tYXMgR2xhbnptYW5uCkBAIC0xOTk5LDYgKzIwMzMsNyBAQAogVGltb3RoeSBQb2xpY2gKIFRpbnVzIHZhbiBkZW4gQmVyZwogVEogU2F1bmRlcnMKK3Rta2sgb24gZ2l0aHViCiBUb2JpYXMgQmxvbWJlcmcKIFRvYmlhcyBIaWV0YQogVG9iaWFzIEhpbnR6ZQpAQCAtMjA2Nyw2ICsyMTAyLDcgQEAKIFVscmljaCBUZWxsZQogVWxyaWNoIFphZG93CiBWYWxlbnRpbiBEYXZpZAorVmFsZW50eW4gS29ybmlpZW5rbwogVmFsZXJpaSBaYXBvZG92bmlrb3YKIHZhbmlsbGFqb25hdGhhbiBvbiBnaXRodWIKIFZhc2lsaXkgRmFyb25vdgpAQCAtMjEwMiw2ICsyMTM4LDcgQEAKIFZvbGtlciBTY2htaWQKIFZzZXZvbG9kIE5vdmlrb3YKIHZzaG11ayBvbiBoYWNrZXJvbmUKK1Z5cm9uIFRzaW5nYXJhcwogVy4gTWFyayBLdWJhY2tpCiBXYWxkZWsgS296YmEKIFdhbHRlciBKLiBNYWNrCkBAIC0yMTExLDYgKzIxNDgsNyBAQAogV2VuY2hhbyBMaQogV2VueGlhbmcgUWlhbgogV2VybmVyIEtvY2gKK1dlcm5lciBTdG9segogd2VzaW5hdG9yIG9uIGdpdGh1YgogV2VzbGV5IExheHRvbgogV2VzbGV5IE1pYXcKQEAgLTIxMTgsNiArMjE1Niw3IEBACiBXaGFtIEJhbmcKIFdpbGZyZWRvIFNhbmNoZXoKIFdpbGwgRGlldHoKK1dpbGwgUm9iZXJ0cwogV2lsbGVtIFNwYXJyZWJvb20KIFdpbGxpYW0gQS4gUm93ZSBKcgogV2lsbGlhbSBBaGVybgpAQCAtMjE2NSwxMSArMjIwNCwxMyBAQAogWmhhb3lhbmcgV3UKIFpoaWJpYW8gV3UKIFpob3V5aWhhaSBEaW5nCit6bG9pLXVzZXIgb24gZ2l0aHViCiBabWV5IFBldHJvZmYKIFp2aSBIYXInRWwKIHp6cTEwMTUgb24gZ2l0aHViCiDEsHNtYWlsIETDtm5tZXoKIMWBdWthc3ogRG9tZXJhZHpraQogxaB0ZWZhbiBLcmVtZcWICivQmtC+0LLQsNC70LXQvdC60L4g0JDQvdCw0YLQvtC70LjQuSDQktC40LrRgtC+0YDQvtCy0LjRhwog0J3QuNC60LjRgtCwINCU0L7RgNC+0YXQuNC9CiDliqDol6Tpg4HkuYsKZGlmZiAtLWdpdCBhL2RvY3MvVE9ETyBiL2RvY3MvVE9ETwppbmRleCBkZmMzNmI4Li4xMWUwMWUwIDEwMDY0NAotLS0gYS9kb2NzL1RPRE8KKysrIGIvZG9jcy9UT0RPCkBAIC0yMiw2ICsyMiw3IEBACiAgMS4zIHN0cnVjdCBsaWZyZXEKICAxLjQgYWx0LXN2YyBzaGFyaW5nCiAgMS41IGdldCByaWQgb2YgUEFUSF9NQVgKKyAxLjYgbmF0aXZlIElETiBzdXBwb3J0IG9uIG1hY09TCiAgMS43IFN1cHBvcnQgSFRUUC8yIGZvciBIVFRQKFMpIHByb3hpZXMKICAxLjggQ1VSTE9QVF9SRVNPTFZFIGZvciBhbnkgcG9ydCBudW1iZXIKICAxLjkgQ2FjaGUgbmVnYXRpdmUgbmFtZSByZXNvbHZlcwpAQCAtMzUsNiArMzYsNyBAQAogIDEuMTcgQWRkIHN1cHBvcnQgZm9yIElSSXMKICAxLjE4IHRyeSBuZXh0IHByb3h5IGlmIG9uZSBkb2Vzbid0IHdvcmsKICAxLjIwIFNSViBhbmQgVVJJIEROUyByZWNvcmRzCisgMS4yMSBBZGQgcmV0dXJuIGNvZGUgdG8gQ1VSTE1PUFRfUFVTSEZVTkNUSU9OIHRvIGZhaWwgdGhlIGNvbm5lY3Rpb24KICAxLjIyIENVUkxJTkZPX1BBVVNFX1NUQVRFCiAgMS4yMyBPZmZlciBBUEkgdG8gZmx1c2ggdGhlIGNvbm5lY3Rpb24gcG9vbAogIDEuMjQgVENQIEZhc3QgT3BlbiBmb3Igd2luZG93cwpAQCAtMTA4LDE4ICsxMTAsMjAgQEAKICAxMy42IFByb3ZpZGUgY2FsbGJhY2sgZm9yIGNlcnQgdmVyaWZpY2F0aW9uCiAgMTMuNyBpbXByb3ZlIGNvbmZpZ3VyZSAtLXdpdGgtc3NsCiAgMTMuOCBTdXBwb3J0IERBTkUKKyAxMy45IFRMUyByZWNvcmQgcGFkZGluZwogIDEzLjEwIFN1cHBvcnQgQXV0aG9yaXR5IEluZm9ybWF0aW9uIEFjY2VzcyBjZXJ0aWZpY2F0ZSBleHRlbnNpb24gKEFJQSkKICAxMy4xMSBTdXBwb3J0IGludGVybWVkaWF0ZSAmIHJvb3QgcGlubmluZyBmb3IgUElOTkVEUFVCTElDS0VZCiAgMTMuMTIgU3VwcG9ydCBIU1RTCisgMTMuMTMgTWFrZSBzdXJlIHdlIGZvcmJpZCBUTFMgMS4zIHBvc3QtaGFuZHNoYWtlIGF1dGhlbnRpY2F0aW9uCiAgMTMuMTQgU3VwcG9ydCB0aGUgY2xpZW50aGVsbG8gZXh0ZW5zaW9uCiAKICAxNC4gR251VExTCiAgMTQuMiBjaGVjayBjb25uZWN0aW9uCiAKLSAxNS4gV2luU1NML1NDaGFubmVsCi0gMTUuMSBBZGQgc3VwcG9ydCBmb3IgY2xpZW50IGNlcnRpZmljYXRlIGF1dGhlbnRpY2F0aW9uCi0gMTUuMyBBZGQgc3VwcG9ydCBmb3IgdGhlIC0tY2lwaGVycyBvcHRpb24KLSAxNS40IEFkZCBvcHRpb24gdG8gZGlzYWJsZSBjbGllbnQgY2VydGlmaWNhdGUgYXV0by1zZW5kCisgMTUuIFNjaGFubmVsCisgMTUuMSBFeHRlbmQgc3VwcG9ydCBmb3IgY2xpZW50IGNlcnRpZmljYXRlIGF1dGhlbnRpY2F0aW9uCisgMTUuMiBFeHRlbmQgc3VwcG9ydCBmb3IgdGhlIC0tY2lwaGVycyBvcHRpb24KKyAxNS4zIEFkZCBvcHRpb24gdG8gZGlzYWJsZSBjbGllbnQgY2VydGlmaWNhdGUgYXV0by1zZW5kCiAKICAxNi4gU0FTTAogIDE2LjEgT3RoZXIgYXV0aGVudGljYXRpb24gbWVjaGFuaXNtcwpAQCAtMTQ1LDE3ICsxNDksMjAgQEAKICAxOC4xMCBpbXByb3ZlIGhvdyBjdXJsIHdvcmtzIGluIGEgd2luZG93cyBjb25zb2xlIHdpbmRvdwogIDE4LjExIFdpbmRvd3M6IHNldCBhdHRyaWJ1dGUgJ2FyY2hpdmUnIGZvciBjb21wbGV0ZWQgZG93bmxvYWRzCiAgMTguMTIga2VlcCBydW5uaW5nLCByZWFkIGluc3RydWN0aW9ucyBmcm9tIHBpcGUvc29ja2V0CisgMTguMTMgUmF0ZWxpbWl0IG9yIHdhaXQgYmV0d2VlbiBzZXJpYWwgcmVxdWVzdHMKKyAxOC4xNCAtLWRyeS1ydW4KICAxOC4xNSAtLXJldHJ5IHNob3VsZCByZXN1bWUKICAxOC4xNiBzZW5kIG9ubHkgcGFydCBvZiAtLWRhdGEKICAxOC4xNyBjb25zaWRlciBmaWxlIG5hbWUgZnJvbSB0aGUgcmVkaXJlY3RlZCBVUkwgd2l0aCAtTyA/CiAgMTguMTggcmV0cnkgb24gbmV0d29yayBpcyB1bnJlYWNoYWJsZQogIDE4LjE5IGV4cGFuZCB+LyBpbiBjb25maWcgZmlsZXMKICAxOC4yMCBob3N0IG5hbWUgc2VjdGlvbnMgaW4gY29uZmlnIGZpbGVzCisgMTguMjEgcmV0cnkgb24gdGhlIHJlZGlyZWN0ZWQtdG8gVVJMCisgMTguMjIgQWRkIGZsYWcgdG8gc3BlY2lmeSBkb3dubG9hZCBkaXJlY3RvcnkKIAogIDE5LiBCdWlsZAogIDE5LjEgcm9mZml0CiAgMTkuMiBFbmFibGUgUElFIGFuZCBSRUxSTyBieSBkZWZhdWx0Ci0gMTkuMyBjbWFrZSB0ZXN0IHN1aXRlIGltcHJvdmVtZW50cwogCiAgMjAuIFRlc3Qgc3VpdGUKICAyMC4xIFNTTCB0dW5uZWwKQEAgLTIyMSw2ICsyMjgsMTQgQEAKICB0aGVyZSB3ZSBuZWVkIGxpYnNzaDIgdG8gcHJvcGVybHkgdGVsbCB1cyB3aGVuIHdlIHBhc3MgaW4gYSB0b28gc21hbGwgYnVmZmVyCiAgYW5kIGl0cyBjdXJyZW50IEFQSSAoYXMgb2YgbGlic3NoMiAxLjIuNykgZG9lc24ndC4KIAorMS42IG5hdGl2ZSBJRE4gc3VwcG9ydCBvbiBtYWNPUworCisgT24gcmVjZW50IG1hY09TIHZlcnNpb25zLCB0aGUgZ2V0YWRkcmluZm8oKSBmdW5jdGlvbiBpdHNlbGYgaGFzIGJ1aWx0LWluIElETgorIHN1cHBvcnQuIEJ5IHNldHRpbmcgdGhlIEFJX0NBTk9OTkFNRSBmbGFnLCB0aGUgZnVuY3Rpb24gd2lsbCByZXR1cm4gdGhlCisgZW5jb2RlZCBuYW1lIGluIHRoZSBhaV9jYW5vbm5hbWUgc3RydWN0IGZpZWxkIGluIHRoZSByZXR1cm5lZCBpbmZvcm1hdGlvbi4KKyBUaGlzIGNvdWxkIGJlIHVzZWQgYnkgY3VybCBvbiBtYWNPUyB3aGVuIGJ1aWx0IHdpdGhvdXQgYSBzZXBhcmF0ZSBJRE4gbGlicmFyeQorIGFuZCBhbiBJRE4gaG9zdCBuYW1lIGlzIHVzZWQgaW4gYSBVUkwuCisKIDEuNyBTdXBwb3J0IEhUVFAvMiBmb3IgSFRUUChTKSBwcm94aWVzCiAKICBTdXBwb3J0IGZvciBkb2luZyBIVFRQLzIgdG8gSFRUUCBhbmQgSFRUUFMgcHJveGllcyBpcyBzdGlsbCBtaXNzaW5nLgpAQCAtMzQzLDYgKzM1OCwxMyBAQAogIE9mZmVyIHN1cHBvcnQgZm9yIHJlc29sdmluZyBTUlYgYW5kIFVSSSBETlMgcmVjb3JkcyBmb3IgbGliY3VybCB0byBrbm93IHdoaWNoCiAgc2VydmVyIHRvIGNvbm5lY3QgdG8gZm9yIHZhcmlvdXMgcHJvdG9jb2xzIChpbmNsdWRpbmcgSFRUUCEpLgogCisxLjIxIEFkZCByZXR1cm4gY29kZSB0byBDVVJMTU9QVF9QVVNIRlVOQ1RJT04gdG8gZmFpbCB0aGUgY29ubmVjdGlvbgorCisgQWxsb3cgdGhlIGNhbGxiYWNrIHRvIHJldHVybiBhIHZhbHVlIHRoYXQgd291bGQgc3RvcCB0aGUgZW50aXJlIG9wZXJhdGlvbiwKKyBsaWtlIGl0IGNhbiBiZSBkb25lIGZyb20gbW9zdCBvdGhlciBjYWxsYmFja3MuCisKKyBTZWUgaHR0cHM6Ly9jdXJsLmhheHguc2UvbWFpbC9saWItMjAyMC0wNi8wMDk5Lmh0bWwKKwogMS4yMiBDVVJMSU5GT19QQVVTRV9TVEFURQogCiAgUmV0dXJuIGluZm9ybWF0aW9uIGFib3V0IHRoZSB0cmFuc2ZlcidzIGN1cnJlbnQgcGF1c2Ugc3RhdGUsIGluIGJvdGgKQEAgLTQyMiw3ICs0NDQsNyBAQAogIC0gR1NTQVBJIGF1dGhlbnRpY2F0aW9uIGZvciBGVFAgdHJhbnNmZXJzCiAKICAtIFRoZSAiRE9ORSIgb3BlcmF0aW9uIChwb3N0IHRyYW5zZmVyIHByb3RvY29sLXNwZWNpZmljIGFjdGlvbnMpIGZvciB0aGUKLSBwcm90b2NvbHMgU0ZUUCwgU01UUCwgRlRQLiBGaXhpbmcgQ3VybF9kb25lKCkgZm9yIHRoaXMgaXMgYSB3b3J0aHkgdGFzay4KKyBwcm90b2NvbHMgU0ZUUCwgU01UUCwgRlRQLiBGaXhpbmcgbXVsdGlfZG9uZSgpIGZvciB0aGlzIGlzIGEgd29ydGh5IHRhc2suCiAKICAtIGN1cmxfbXVsdGlfcmVtb3ZlX2hhbmRsZSBmb3IgYW55IG9mIHRoZSBhYm92ZS4gU2VlIHNlY3Rpb24gMi4zLgogCkBAIC03MzUsNiArNzU3LDE0IEBACiAgQmrDtnJuIFN0ZW5iZXJnIHdyb3RlIGEgc2VwYXJhdGUgaW5pdGlhbCB0YWtlIG9uIERBTkUgdGhhdCB3YXMgbmV2ZXIKICBjb21wbGV0ZWQuCiAKKzEzLjkgVExTIHJlY29yZCBwYWRkaW5nCisKKyBUTFMgKDEuMykgb2ZmZXJzIG9wdGlvbmFsIHJlY29yZCBwYWRkaW5nIGFuZCBPcGVuU1NMIHByb3ZpZGVzIGFuIEFQSSBmb3IgaXQuCisgSSBjb3VsZCBtYWtlIHNlbnNlIGZvciBsaWJjdXJsIHRvIG9mZmVyIHRoaXMgYWJpbGl0eSB0byBhcHBsaWNhdGlvbnMgdG8gbWFrZQorIHRyYWZmaWMgcGF0dGVybnMgaGFyZGVyIHRvIGZpZ3VyZSBvdXQgYnkgbmV0d29yayB0cmFmZmljIG9ic2VydmVycy4KKworIFNlZSBodHRwczovL2dpdGh1Yi5jb20vY3VybC9jdXJsL2lzc3Vlcy81Mzk4CisKIDEzLjEwIFN1cHBvcnQgQXV0aG9yaXR5IEluZm9ybWF0aW9uIEFjY2VzcyBjZXJ0aWZpY2F0ZSBleHRlbnNpb24gKEFJQSkKIAogIEFJQSBjYW4gcHJvdmlkZSB2YXJpb3VzIHRoaW5ncyBsaWtlIENSTHMgYnV0IG1vcmUgaW1wb3J0YW50bHkgaW5mb3JtYXRpb24KQEAgLTc1MCwyMyArNzgwLDMwIEBACiAKICBDVVJMT1BUX1BJTk5FRFBVQkxJQ0tFWSBkb2VzIG5vdCBjb25zaWRlciB0aGUgaGFzaGVzIG9mIGludGVybWVkaWF0ZSAmIHJvb3QKICBjZXJ0aWZpY2F0ZXMgd2hlbiBjb21wYXJpbmcgdGhlIHBpbm5lZCBrZXlzLiBUaGVyZWZvcmUgaXQgaXMgbm90IGNvbXBhdGlibGUKLSB3aXRoICJIVFRQIFB1YmxpYyBLZXkgUGlubmluZyIgYXMgdGhlcmUgYWxzbyBpbnRlcm1lZGlhdGUgYW5kIHJvb3QgY2VydGlmaWNhdGVzCi0gY2FuIGJlIHBpbm5lZC4gVGhpcyBpcyB2ZXJ5IHVzZWZ1bCBhcyBpdCBwcmV2ZW50cyB3ZWJhZG1pbnMgZnJvbSAibG9ja2luZwotIHRoZW1zZWxmIG91dCBvZiB0aGVpciBzZXJ2ZXJzIi4KKyB3aXRoICJIVFRQIFB1YmxpYyBLZXkgUGlubmluZyIgYXMgdGhlcmUgYWxzbyBpbnRlcm1lZGlhdGUgYW5kIHJvb3QKKyBjZXJ0aWZpY2F0ZXMgY2FuIGJlIHBpbm5lZC4gVGhpcyBpcyB2ZXJ5IHVzZWZ1bCBhcyBpdCBwcmV2ZW50cyB3ZWJhZG1pbnMgZnJvbQorICJsb2NraW5nIHRoZW1zZWxmIG91dCBvZiB0aGVpciBzZXJ2ZXJzIi4KIAotIEFkZGluZyB0aGlzIGZlYXR1cmUgd291bGQgbWFrZSBjdXJscyBwaW5uaW5nIDEwMCUgY29tcGF0aWJsZSB0byBIUEtQIGFuZCBhbGxvdwotIG1vcmUgZmxleGlibGUgcGlubmluZy4KKyBBZGRpbmcgdGhpcyBmZWF0dXJlIHdvdWxkIG1ha2UgY3VybHMgcGlubmluZyAxMDAlIGNvbXBhdGlibGUgdG8gSFBLUCBhbmQKKyBhbGxvdyBtb3JlIGZsZXhpYmxlIHBpbm5pbmcuCiAKIDEzLjEyIFN1cHBvcnQgSFNUUwogCiAgIkhUVFAgU3RyaWN0IFRyYW5zcG9ydCBTZWN1cml0eSIgaXMgVE9GVSAodHJ1c3Qgb24gZmlyc3QgdXNlKSwgdGltZS1iYXNlZAogIGZlYXR1cmVzIGluZGljYXRlZCBieSBhIEhUVFAgaGVhZGVyIHNlbmQgYnkgdGhlIHdlYnNlcnZlci4gSXQgaXMgd2lkZWx5IHVzZWQKLSBpbiBicm93c2VycyBhbmQgaXQncyBwdXJwb3NlIGlzIHRvIHByZXZlbnQgaW5zZWN1cmUgSFRUUCBjb25uZWN0aW9ucyBhZnRlcgotIGEgcHJldmlvdXMgSFRUUFMgY29ubmVjdGlvbi4gSXQgcHJvdGVjdHMgYWdhaW5zdCBTU0xTdHJpcHBpbmcgYXR0YWNrcy4KKyBpbiBicm93c2VycyBhbmQgaXQncyBwdXJwb3NlIGlzIHRvIHByZXZlbnQgaW5zZWN1cmUgSFRUUCBjb25uZWN0aW9ucyBhZnRlciBhCisgcHJldmlvdXMgSFRUUFMgY29ubmVjdGlvbi4gSXQgcHJvdGVjdHMgYWdhaW5zdCBTU0xTdHJpcHBpbmcgYXR0YWNrcy4KIAogIERvYzogaHR0cHM6Ly9kZXZlbG9wZXIubW96aWxsYS5vcmcvZW4tVVMvZG9jcy9XZWIvU2VjdXJpdHkvSFRUUF9zdHJpY3RfdHJhbnNwb3J0X3NlY3VyaXR5CiAgUkZDIDY3OTc6IGh0dHBzOi8vdG9vbHMuaWV0Zi5vcmcvaHRtbC9yZmM2Nzk3CiAKKzEzLjEzIE1ha2Ugc3VyZSB3ZSBmb3JiaWQgVExTIDEuMyBwb3N0LWhhbmRzaGFrZSBhdXRoZW50aWNhdGlvbgorCisgUkZDIDg3NDAgZXhwbGFpbnMgaG93IHVzaW5nIEhUVFAvMiBtdXN0IGZvcmJpZCB0aGUgdXNlIG9mIFRMUyAxLjMKKyBwb3N0LWhhbmRzaGFrZSBhdXRoZW50aWNhdGlvbi4gV2Ugc2hvdWxkIG1ha2Ugc3VyZSB0byBsaXZlIHVwIHRvIHRoYXQuCisKKyBTZWUgaHR0cHM6Ly9naXRodWIuY29tL2N1cmwvY3VybC9pc3N1ZXMvNTM5NgorCiAxMy4xNCBTdXBwb3J0IHRoZSBjbGllbnRoZWxsbyBleHRlbnNpb24KIAogIENlcnRhaW4gc3R1cGlkIG5ldHdvcmtzIGFuZCBtaWRkbGUgYm94ZXMgaGF2ZSBhIHByb2JsZW0gd2l0aCBTU0wgaGFuZHNoYWtlCkBAIC03ODQsMzEgKzgyMSwyMyBAQAogIEFkZCBhIHdheSB0byBjaGVjayBpZiB0aGUgY29ubmVjdGlvbiBzZWVtcyB0byBiZSBhbGl2ZSwgdG8gY29ycmVzcG9uZCB0byB0aGUKICBTU0xfcGVhaygpIHdheSB3ZSB1c2Ugd2l0aCBPcGVuU1NMLgogCi0xNS4gV2luU1NML1NDaGFubmVsCisxNS4gU2NoYW5uZWwKIAotMTUuMSBBZGQgc3VwcG9ydCBmb3IgY2xpZW50IGNlcnRpZmljYXRlIGF1dGhlbnRpY2F0aW9uCisxNS4xIEV4dGVuZCBzdXBwb3J0IGZvciBjbGllbnQgY2VydGlmaWNhdGUgYXV0aGVudGljYXRpb24KIAotIFdpblNTTC9TQ2hhbm5lbCBjdXJyZW50bHkgbWFrZXMgdXNlIG9mIHRoZSBPUy1sZXZlbCBzeXN0ZW0gYW5kIHVzZXIKLSBjZXJ0aWZpY2F0ZSBhbmQgcHJpdmF0ZSBrZXkgc3RvcmVzLiBUaGlzIGRvZXMgbm90IGFsbG93IHRoZSBhcHBsaWNhdGlvbgotIG9yIHRoZSB1c2VyIHRvIHN1cHBseSBhIGN1c3RvbSBjbGllbnQgY2VydGlmaWNhdGUgdXNpbmcgY3VybCBvciBsaWJjdXJsLgotCi0gVGhlcmVmb3JlIHN1cHBvcnQgZm9yIHRoZSBleGlzdGluZyAtRS8tLWNlcnQgYW5kIC0ta2V5IG9wdGlvbnMgc2hvdWxkIGJlCi0gaW1wbGVtZW50ZWQgYnkgc3VwcGx5aW5nIGEgY3VzdG9tIGNlcnRpZmljYXRlIHRvIHRoZSBTQ2hhbm5lbCBBUElzLCBzZWU6CisgVGhlIGV4aXN0aW5nIHN1cHBvcnQgZm9yIHRoZSAtRS8tLWNlcnQgYW5kIC0ta2V5IG9wdGlvbnMgY291bGQgYmUKKyBleHRlbmRlZCBieSBzdXBwbHlpbmcgYSBjdXN0b20gY2VydGlmaWNhdGUgYW5kIGtleSBpbiBQRU0gZm9ybWF0LCBzZWU6CiAgLSBHZXR0aW5nIGEgQ2VydGlmaWNhdGUgZm9yIFNjaGFubmVsCiAgICBodHRwczovL21zZG4ubWljcm9zb2Z0LmNvbS9lbi11cy9saWJyYXJ5L3dpbmRvd3MvZGVza3RvcC9hYTM3NTQ0Ny5hc3B4CiAKLTE1LjMgQWRkIHN1cHBvcnQgZm9yIHRoZSAtLWNpcGhlcnMgb3B0aW9uCisxNS4yIEV4dGVuZCBzdXBwb3J0IGZvciB0aGUgLS1jaXBoZXJzIG9wdGlvbgogCi0gVGhlIGNpcGhlciBzdWl0ZXMgdXNlZCBieSBXaW5TU0wvU0NoYW5uZWwgYXJlIGNvbmZpZ3VyZWQgb24gYW4gT1MtbGV2ZWwKLSBpbnN0ZWFkIG9mIGFuIGFwcGxpY2F0aW9uLWxldmVsLiBUaGlzIGRvZXMgbm90IGFsbG93IHRoZSBhcHBsaWNhdGlvbiBvcgotIHRoZSB1c2VyIHRvIGN1c3RvbWl6ZSB0aGUgY29uZmlndXJlZCBjaXBoZXIgc3VpdGVzIHVzaW5nIGN1cmwgb3IgbGliY3VybC4KLQotIFRoZXJlZm9yZSBzdXBwb3J0IGZvciB0aGUgZXhpc3RpbmcgLS1jaXBoZXJzIG9wdGlvbiBzaG91bGQgYmUgaW1wbGVtZW50ZWQKLSBieSBtYXBwaW5nIHRoZSBPcGVuU1NML0dudVRMUyBjaXBoZXIgc3VpdGVzIHRvIHRoZSBTQ2hhbm5lbCBBUElzLCBzZWUKKyBUaGUgZXhpc3Rpbmcgc3VwcG9ydCBmb3IgdGhlIC0tY2lwaGVycyBvcHRpb24gY291bGQgYmUgZXh0ZW5kZWQKKyBieSBtYXBwaW5nIHRoZSBPcGVuU1NML0dudVRMUyBjaXBoZXIgc3VpdGVzIHRvIHRoZSBTY2hhbm5lbCBBUElzLCBzZWUKICAtIFNwZWNpZnlpbmcgU2NoYW5uZWwgQ2lwaGVycyBhbmQgQ2lwaGVyIFN0cmVuZ3RocwogICAgaHR0cHM6Ly9tc2RuLm1pY3Jvc29mdC5jb20vZW4tdXMvbGlicmFyeS93aW5kb3dzL2Rlc2t0b3AvYWEzODAxNjEuYXNweAogCi0xNS40IEFkZCBvcHRpb24gdG8gZGlzYWJsZSBjbGllbnQgY2VydGlmaWNhdGUgYXV0by1zZW5kCisxNS4zIEFkZCBvcHRpb24gdG8gZGlzYWJsZSBjbGllbnQgY2VydGlmaWNhdGUgYXV0by1zZW5kCiAKICBNaWNyb3NvZnQgc2F5cyAiQnkgZGVmYXVsdCwgU2NoYW5uZWwgd2lsbCwgd2l0aCBubyBub3RpZmljYXRpb24gdG8gdGhlIGNsaWVudCwKICBhdHRlbXB0IHRvIGxvY2F0ZSBhIGNsaWVudCBjZXJ0aWZpY2F0ZSBhbmQgc2VuZCBpdCB0byB0aGUgc2VydmVyLiIgVGhhdCBjb3VsZApAQCAtOTg4LDYgKzEwMTcsMjMgQEAKICBpbnZva2UgY2FuIHRhbGsgdG8gdGhlIHN0aWxsIHJ1bm5pbmcgaW5zdGFuY2UgYW5kIGFzayBmb3IgdHJhbnNmZXJzIHRvIGdldAogIGRvbmUsIGFuZCB0aHVzIG1haW50YWluIGl0cyBjb25uZWN0aW9uIHBvb2wsIEROUyBjYWNoZSBhbmQgbW9yZS4KIAorMTguMTMgUmF0ZWxpbWl0IG9yIHdhaXQgYmV0d2VlbiBzZXJpYWwgcmVxdWVzdHMKKworIENvbnNpZGVyIGEgY29tbWFuZCBsaW5lIG9wdGlvbiB0aGF0IGNhbiBtYWtlIGN1cmwgZG8gbXVsdGlwbGUgc2VyaWFsIHJlcXVlc3RzCisgc2xvdywgcG90ZW50aWFsbHkgd2l0aCBhIChyYW5kb20pIHdhaXQgYmV0d2VlbiB0cmFuc2ZlcnMuIFRoZXJlJ3MgYWxzbyBhCisgcHJvcHNlZCBzZXQgb2Ygc3RhbmRhcmQgSFRUUCBoZWFkZXJzIHRvIGxldCBzZXJ2ZXJzIGxldCB0aGUgY2xpZW50IGFkYXB0IHRvCisgaXRzIHJhdGUgbGltaXRzOgorIGh0dHBzOi8vd3d3LmlldGYub3JnL2lkL2RyYWZ0LXBvbGxpLXJhdGVsaW1pdC1oZWFkZXJzLTAyLmh0bWwKKworIFNlZSBodHRwczovL2dpdGh1Yi5jb20vY3VybC9jdXJsL2lzc3Vlcy81NDA2CisKKzE4LjE0IC0tZHJ5LXJ1bgorCisgQSBjb21tYW5kIGxpbmUgb3B0aW9uIHRoYXQgbWFrZXMgY3VybCBzaG93IGV4YWN0bHkgd2hhdCBpdCB3b3VsZCBkbyBhbmQgc2VuZAorIGlmIGl0IHdvdWxkIHJ1biBmb3IgcmVhbC4KKworIFNlZSBodHRwczovL2dpdGh1Yi5jb20vY3VybC9jdXJsL2lzc3Vlcy81NDI2CisKIDE4LjE1IC0tcmV0cnkgc2hvdWxkIHJlc3VtZQogCiAgV2hlbiAtLXJldHJ5IGlzIHVzZWQgYW5kIGN1cmwgYWN0dWFsbHkgcmV0cmllcyB0cmFuc2ZlciwgaXQgc2hvdWxkIHVzZSB0aGUKQEAgLTEwNTAsNiArMTA5NiwyMyBAQAogIGRlZmF1bHQgLmN1cmxyYyBjb3VsZCBhIHNwZWNpZmljIHVzZXItYWdlbnQgb25seSB3aGVuIGRvaW5nIHJlcXVlc3RzIGFnYWluc3QKICBhIGNlcnRhaW4gc2l0ZS4KIAorMTguMjEgcmV0cnkgb24gdGhlIHJlZGlyZWN0ZWQtdG8gVVJMCisKKyBXaGVuIGN1cmwgaXMgdG9sZCB0byAtLXJldHJ5IGEgZmFpbGVkIHRyYW5zZmVyIGFuZCBmb2xsb3dzIHJlZGlyZWN0cywgaXQKKyBtaWdodCBnZXQgYSBIVFRQIDQyOSByZXNwb25zZSBmcm9tIHRoZSByZWRpcmVjdGVkLXRvIFVSTCBhbmQgbm90IHRoZSBvcmlnaW5hbAorIG9uZSwgd2hpY2ggdGhlbiBjb3VsZCBtYWtlIGN1cmwgZGVjaWRlIHRvIHJhdGhlciByZXRyeSB0aGUgdHJhbnNmZXIgb24gdGhhdAorIFVSTCBvbmx5IGluc3RlYWQgb2YgdGhlIG9yaWdpbmFsIG9wZXJhdGlvbiB0byB0aGUgb3JpZ2luYWwgVVJMLgorCisgUGVyaGFwcyBleHRyYSBlbXBoYXNpemVkIGlmIHRoZSBvcmlnaW5hbCB0cmFuc2ZlciBpcyBhIGxhcmdlIFBPU1QgdGhhdAorIHJlZGlyZWN0cyB0byBhIHNlcGFyYXRlIEdFVCwgYW5kIHRoYXQgR0VUIGlzIHdoYXQgZ2V0cyB0aGUgNTI5CisKKyBTZWUgaHR0cHM6Ly9naXRodWIuY29tL2N1cmwvY3VybC9pc3N1ZXMvNTQ2MgorCisxOC4yMiBBZGQgZmxhZyB0byBzcGVjaWZ5IGRvd25sb2FkIGRpcmVjdG9yeQorCisgQSBkaXJlY3RvcnkgbmFtZSB0byBiYXNpY2FsbHkgcHJlcGVuZCB0byB0aGUgZmlsZSBuYW1lIC1PIGFuZCAtbyB1c2UuIFNhdmVzCisgdXNlciBmcm9tIGhhdmluZyB0byBtYW51YWxseSAiY2QiIHRvIHRoZSBkaXJlY3RvcnkuIEVzcGVjaWFsbHkgdXNlZnVsIGZvcgorIGNvbW1hbmQgbGluZXMgd2l0aCBtdWx0aXBsZSAtTyBhbmQgZGlmZmVyZW50IGRvd25sb2FkIGRpcmVjdG9yaWVzLgogCiAxOS4gQnVpbGQKIApAQCAtMTA3MCwxMyArMTEzMyw2IEBACiAgdG8gbm8gaW1wYWN0LCBuZWl0aGVyIG9uIHRoZSBwZXJmb3JtYW5jZSBub3Igb24gdGhlIGdlbmVyYWwgZnVuY3Rpb25hbGl0eSBvZgogIGN1cmwuCiAKLTE5LjMgY21ha2UgdGVzdCBzdWl0ZSBpbXByb3ZlbWVudHMKLQotIFRoZSBjbWFrZSBidWlsZCBkb2Vzbid0IHN1cHBvcnQgJ21ha2Ugc2hvdycgc28gaXQgZG9lc24ndCBrbm93IHdoaWNoIHRlc3RzCi0gYXJlIGluIHRoZSBtYWtlZmlsZSBvciBub3QgKG1ha2luZyBhcHB2ZXlvciBidWlsZHMgZG8gbWFueSBmYWxzZSB3YXJuaW5ncwotIGFib3V0IGl0KSBub3IgZG9lcyBpdCBzdXBwb3J0IHJ1bm5pbmcgdGhlIHRlc3Qgc3VpdGUgaWYgYnVpbGRpbmcgb3V0LW9mLXRyZWUuCi0KLSBTZWUgaHR0cHM6Ly9naXRodWIuY29tL2N1cmwvY3VybC9pc3N1ZXMvMzEwOQogCiAyMC4gVGVzdCBzdWl0ZQogCmRpZmYgLS1naXQgYS9kb2NzL1ZFUlNJT05TIGIvZG9jcy9WRVJTSU9OUy5tZApzaW1pbGFyaXR5IGluZGV4IDEwMCUKcmVuYW1lIGZyb20gZG9jcy9WRVJTSU9OUwpyZW5hbWUgdG8gZG9jcy9WRVJTSU9OUy5tZApkaWZmIC0tZ2l0IGEvZG9jcy9jbWRsaW5lLW9wdHMvTWFrZWZpbGUuaW5jIGIvZG9jcy9jbWRsaW5lLW9wdHMvTWFrZWZpbGUuaW5jCmluZGV4IDViNzQzOWUuLjZhN2I5NTMgMTAwNjQ0Ci0tLSBhL2RvY3MvY21kbGluZS1vcHRzL01ha2VmaWxlLmluYworKysgYi9kb2NzL2NtZGxpbmUtb3B0cy9NYWtlZmlsZS5pbmMKQEAgLTE4MCw2ICsxODAsNyBAQAogICByZXF1ZXN0LXRhcmdldC5kCQkJCVwKICAgcmVxdWVzdC5kCQkJCQlcCiAgIHJlc29sdmUuZAkJCQkJXAorICByZXRyeS1hbGwtZXJyb3JzLmQJCQkJXAogICByZXRyeS1jb25ucmVmdXNlZC5kCQkJCVwKICAgcmV0cnktZGVsYXkuZAkJCQkJXAogICByZXRyeS1tYXgtdGltZS5kCQkJCVwKZGlmZiAtLWdpdCBhL2RvY3MvY21kbGluZS1vcHRzL2NlcnQtdHlwZS5kIGIvZG9jcy9jbWRsaW5lLW9wdHMvY2VydC10eXBlLmQKaW5kZXggNTVkODAzMy4uMTIzMmVjMSAxMDA2NDQKLS0tIGEvZG9jcy9jbWRsaW5lLW9wdHMvY2VydC10eXBlLmQKKysrIGIvZG9jcy9jbWRsaW5lLW9wdHMvY2VydC10eXBlLmQKQEAgLTEsNyArMSw3IEBACiBMb25nOiBjZXJ0LXR5cGUKIFByb3RvY29sczogVExTCiBBcmc6IDx0eXBlPgotSGVscDogQ2VydGlmaWNhdGUgZmlsZSB0eXBlCitIZWxwOiBDZXJ0aWZpY2F0ZSB0eXBlIChERVIvUEVNL0VORykKIFNlZS1hbHNvOiBjZXJ0IGtleSBrZXktdHlwZQogLS0tCiBUZWxscyBjdXJsIHdoYXQgdHlwZSB0aGUgcHJvdmlkZWQgY2xpZW50IGNlcnRpZmljYXRlIGlzIHVzaW5nLiBQRU0sIERFUiwgRU5HCmRpZmYgLS1naXQgYS9kb2NzL2NtZGxpbmUtb3B0cy9oYXBweS1leWViYWxscy10aW1lb3V0LW1zLmQgYi9kb2NzL2NtZGxpbmUtb3B0cy9oYXBweS1leWViYWxscy10aW1lb3V0LW1zLmQKaW5kZXggZWM5YThjMi4uNjExYThmMSAxMDA2NDQKLS0tIGEvZG9jcy9jbWRsaW5lLW9wdHMvaGFwcHktZXllYmFsbHMtdGltZW91dC1tcy5kCisrKyBiL2RvY3MvY21kbGluZS1vcHRzL2hhcHB5LWV5ZWJhbGxzLXRpbWVvdXQtbXMuZApAQCAtMSw2ICsxLDYgQEAKIExvbmc6IGhhcHB5LWV5ZWJhbGxzLXRpbWVvdXQtbXMKIEFyZzogPG1pbGxpc2Vjb25kcz4KLUhlbHA6IEhvdyBsb25nIHRvIHdhaXQgaW4gbWlsbGlzZWNvbmRzIGZvciBJUHY2IGJlZm9yZSB0cnlpbmcgSVB2NAorSGVscDogVGltZSBmb3IgSVB2NiBiZWZvcmUgdHJ5aW5nIElQdjQKIEFkZGVkOiA3LjU5LjAKIC0tLQogSGFwcHkgZXllYmFsbHMgaXMgYW4gYWxnb3JpdGhtIHRoYXQgYXR0ZW1wdHMgdG8gY29ubmVjdCB0byBib3RoIElQdjQgYW5kIElQdjYKZGlmZiAtLWdpdCBhL2RvY3MvY21kbGluZS1vcHRzL2xpc3Qtb25seS5kIGIvZG9jcy9jbWRsaW5lLW9wdHMvbGlzdC1vbmx5LmQKaW5kZXggNGM1NjMwNC4uNjNiMjg1MSAxMDA2NDQKLS0tIGEvZG9jcy9jbWRsaW5lLW9wdHMvbGlzdC1vbmx5LmQKKysrIGIvZG9jcy9jbWRsaW5lLW9wdHMvbGlzdC1vbmx5LmQKQEAgLTIsNyArMiw3IEBACiBTaG9ydDogbAogUHJvdG9jb2xzOiBGVFAgUE9QMwogSGVscDogTGlzdCBvbmx5IG1vZGUKLUFkZGVkOiA3LjIxLjUKK0FkZGVkOiA0LjAKIC0tLQogKEZUUCkKIFdoZW4gbGlzdGluZyBhbiBGVFAgZGlyZWN0b3J5LCB0aGlzIHN3aXRjaCBmb3JjZXMgYSBuYW1lLW9ubHkgdmlldy4gVGhpcyBpcwpkaWZmIC0tZ2l0IGEvZG9jcy9jbWRsaW5lLW9wdHMvcGFnZS1mb290ZXIgYi9kb2NzL2NtZGxpbmUtb3B0cy9wYWdlLWZvb3RlcgppbmRleCBkZWZlN2U4Li5lNzZlN2QyIDEwMDY0NAotLS0gYS9kb2NzL2NtZGxpbmUtb3B0cy9wYWdlLWZvb3RlcgorKysgYi9kb2NzL2NtZGxpbmUtb3B0cy9wYWdlLWZvb3RlcgpAQCAtMzYsNyArMzYsMjMgQEAKIAogVGhlIGxpc3Qgb2YgaG9zdCBuYW1lcyBjYW4gYWxzbyBiZSBpbmNsdWRlIG51bWVyaWNhbCBJUCBhZGRyZXNzZXMsIGFuZCBJUHY2CiB2ZXJzaW9ucyBzaG91bGQgdGhlbiBiZSBnaXZlbiB3aXRob3V0IGVuY2xvc2luZyBicmFja2V0cy4KLQorLklQICJDVVJMX1NTTF9CQUNLRU5EIDxUTFMgYmFja2VuZD4iCitJZiBjdXJsIHdhcyBidWlsdCB3aXRoIHN1cHBvcnQgZm9yICJNdWx0aVNTTCIsIG1lYW5pbmcgdGhhdCBpdCBoYXMgYnVpbHQtaW4KK3N1cHBvcnQgZm9yIG1vcmUgdGhhbiBvbmUgVExTIGJhY2tlbmQsIHRoaXMgZW52aXJvbm1lbnQgdmFyaWFibGUgY2FuIGJlIHNldCB0bwordGhlIGNhc2UgaW5zZW5zaXRpdmUgbmFtZSBvZiB0aGUgcGFydGljdWxhciBiYWNrZW5kIHRvIHVzZSB3aGVuIGN1cmwgaXMKK2ludm9rdmVkLiBTZXR0aW5nIGEgbmFtZSB0aGF0IGlzbid0IGEgYnVpbHQtaW4gYWx0ZXJuYXRpdmUsIHdpbGwgbWFrZSBjdXJsCitzdGF5IHdpdGggdGhlIGRlZmF1bHQuCisuSVAgIlFMT0dESVIgPGRpcmVjdG9yeSBuYW1lPiIKK0lmIGN1cmwgd2FzIGJ1aWx0IHdpdGggSFRUUC8zIHN1cHBvcnQsIHNldHRpbmcgdGhpcyBlbnZpcm9ubWVudCB2YXJpYWJsZSB0byBhCitsb2NhbCBkaXJlY3Rvcnkgd2lsbCBtYWtlIGN1cmwgcHJvZHVjZSBxbG9ncyBpbiB0aGF0IGRpcmVjdG9yeSwgdXNpbmcgZmlsZQorbmFtZXMgbmFtZWQgYWZ0ZXIgdGhlIGRlc3RpbmF0aW9uIGNvbm5lY3Rpb24gaWQgKGluIGhleCkuIERvIG5vdGUgdGhhdCB0aGVzZQorZmlsZXMgY2FuIGJlY29tZSByYXRoZXIgbGFyZ2UuIFdvcmtzIHdpdGggYm90aCBRVUlDIGJhY2tlbmRzLgorLklQICJTU0xLRVlMT0dGSUxFIDxmaWxlIG5hbWU+IgorSWYgeW91IHNldCB0aGlzIGVudmlyb25tZW50IHZhcmlhYmxlIHRvIGEgZmlsZSBuYW1lLCBjdXJsIHdpbGwgc3RvcmUgVExTCitzZWNyZXRzIGZyb20gaXRzIGNvbm5lY3Rpb25zIGluIHRoYXQgZmlsZSB3aGVuIGludm9rZWQgdG8gZW5hYmxlIHlvdSB0bworYW5hbHl6ZSB0aGUgVExTIHRyYWZmaWMgaW4gcmVhbCB0aW1lIHVzaW5nIG5ldHdvcmsgYW5hbHl6aW5nIHRvb2xzIHN1Y2ggYXMKK1dpcmVzaGFyay4gVGhpcyB3b3JrcyB3aXRoIHRoZSBmb2xsb3dpbmcgVExTIGJhY2tlbmRzOiBPcGVuU1NMLCBsaWJyZXNzbCwKK0JvcmluZ1NTTCwgR251VExTLCBOU1MgYW5kIHdvbGZTU0wuCiAuU0ggIlBST1hZIFBST1RPQ09MIFBSRUZJWEVTIgogU2luY2UgY3VybCB2ZXJzaW9uIDcuMjEuNywgdGhlIHByb3h5IHN0cmluZyBtYXkgYmUgc3BlY2lmaWVkIHdpdGggYQogcHJvdG9jb2w6Ly8gcHJlZml4IHRvIHNwZWNpZnkgYWx0ZXJuYXRpdmUgcHJveHkgcHJvdG9jb2xzLgpkaWZmIC0tZ2l0IGEvZG9jcy9jbWRsaW5lLW9wdHMvcGFnZS1oZWFkZXIgYi9kb2NzL2NtZGxpbmUtb3B0cy9wYWdlLWhlYWRlcgppbmRleCA2MGMzYjA3Li5jMzg2OThjIDEwMDY0NAotLS0gYS9kb2NzL2NtZGxpbmUtb3B0cy9wYWdlLWhlYWRlcgorKysgYi9kb2NzL2NtZGxpbmUtb3B0cy9wYWdlLWhlYWRlcgpAQCAtMzEsOCArMzEsOSBAQAogLkIgY3VybAogaXMgYSB0b29sIHRvIHRyYW5zZmVyIGRhdGEgZnJvbSBvciB0byBhIHNlcnZlciwgdXNpbmcgb25lIG9mIHRoZSBzdXBwb3J0ZWQKIHByb3RvY29scyAoRElDVCwgRklMRSwgRlRQLCBGVFBTLCBHT1BIRVIsIEhUVFAsIEhUVFBTLCBJTUFQLCBJTUFQUywgTERBUCwKLUxEQVBTLCBNUVRULCBQT1AzLCBQT1AzUywgUlRNUCwgUlRTUCwgU0NQLCBTRlRQLCBTTUIsIFNNQlMsIFNNVFAsIFNNVFBTLAotVEVMTkVUIGFuZCBURlRQKS4gVGhlIGNvbW1hbmQgaXMgZGVzaWduZWQgdG8gd29yayB3aXRob3V0IHVzZXIgaW50ZXJhY3Rpb24uCitMREFQUywgTVFUVCwgUE9QMywgUE9QM1MsIFJUTVAsIFJUTVBTLCBSVFNQLCBTQ1AsIFNGVFAsIFNNQiwgU01CUywgU01UUCwKK1NNVFBTLCBURUxORVQgYW5kIFRGVFApLiBUaGUgY29tbWFuZCBpcyBkZXNpZ25lZCB0byB3b3JrIHdpdGhvdXQgdXNlcgoraW50ZXJhY3Rpb24uCiAKIGN1cmwgb2ZmZXJzIGEgYnVzbG9hZCBvZiB1c2VmdWwgdHJpY2tzIGxpa2UgcHJveHkgc3VwcG9ydCwgdXNlcgogYXV0aGVudGljYXRpb24sIEZUUCB1cGxvYWQsIEhUVFAgcG9zdCwgU1NMIGNvbm5lY3Rpb25zLCBjb29raWVzLCBmaWxlIHRyYW5zZmVyCkBAIC01MiwxNiArNTMsMTYgQEAKIAogb3IgeW91IGNhbiBnZXQgc2VxdWVuY2VzIG9mIGFscGhhbnVtZXJpYyBzZXJpZXMgYnkgdXNpbmcgW10gYXMgaW46CiAKLSAgZnRwOi8vZnRwLmV4YW1wbGUuY29tL2ZpbGVbMS0xMDBdLnR4dAorICAiZnRwOi8vZnRwLmV4YW1wbGUuY29tL2ZpbGVbMS0xMDBdLnR4dCIKIAotICBmdHA6Ly9mdHAuZXhhbXBsZS5jb20vZmlsZVswMDEtMTAwXS50eHQgICAgKHdpdGggbGVhZGluZyB6ZXJvcykKKyAgImZ0cDovL2Z0cC5leGFtcGxlLmNvbS9maWxlWzAwMS0xMDBdLnR4dCIgICAgKHdpdGggbGVhZGluZyB6ZXJvcykKIAotICBmdHA6Ly9mdHAuZXhhbXBsZS5jb20vZmlsZVthLXpdLnR4dAorICAiZnRwOi8vZnRwLmV4YW1wbGUuY29tL2ZpbGVbYS16XS50eHQiCiAKIE5lc3RlZCBzZXF1ZW5jZXMgYXJlIG5vdCBzdXBwb3J0ZWQsIGJ1dCB5b3UgY2FuIHVzZSBzZXZlcmFsIG9uZXMgbmV4dCB0byBlYWNoCiBvdGhlcjoKIAotICBodHRwOi8vZXhhbXBsZS5jb20vYXJjaGl2ZVsxOTk2LTE5OTldL3ZvbFsxLTRdL3BhcnR7YSxiLGN9Lmh0bWwKKyAgImh0dHA6Ly9leGFtcGxlLmNvbS9hcmNoaXZlWzE5OTYtMTk5OV0vdm9sWzEtNF0vcGFydHthLGIsY30uaHRtbCIKIAogWW91IGNhbiBzcGVjaWZ5IGFueSBhbW91bnQgb2YgVVJMcyBvbiB0aGUgY29tbWFuZCBsaW5lLiBUaGV5IHdpbGwgYmUgZmV0Y2hlZAogaW4gYSBzZXF1ZW50aWFsIG1hbm5lciBpbiB0aGUgc3BlY2lmaWVkIG9yZGVyLiBZb3UgY2FuIHNwZWNpZnkgY29tbWFuZCBsaW5lCkBAIC03MCw5ICs3MSw5IEBACiBZb3UgY2FuIHNwZWNpZnkgYSBzdGVwIGNvdW50ZXIgZm9yIHRoZSByYW5nZXMgdG8gZ2V0IGV2ZXJ5IE50aCBudW1iZXIgb3IKIGxldHRlcjoKIAotICBodHRwOi8vZXhhbXBsZS5jb20vZmlsZVsxLTEwMDoxMF0udHh0CisgICJodHRwOi8vZXhhbXBsZS5jb20vZmlsZVsxLTEwMDoxMF0udHh0IgogCi0gIGh0dHA6Ly9leGFtcGxlLmNvbS9maWxlW2EtejoyXS50eHQKKyAgImh0dHA6Ly9leGFtcGxlLmNvbS9maWxlW2EtejoyXS50eHQiCiAKIFdoZW4gdXNpbmcgW10gb3Ige30gc2VxdWVuY2VzIHdoZW4gaW52b2tlZCBmcm9tIGEgY29tbWFuZCBsaW5lIHByb21wdCwgeW91CiBwcm9iYWJseSBoYXZlIHRvIHB1dCB0aGUgZnVsbCBVUkwgd2l0aGluIGRvdWJsZSBxdW90ZXMgdG8gYXZvaWQgdGhlIHNoZWxsIGZyb20KQEAgLTgyLDcgKzgzLDcgQEAKIFByb3ZpZGUgdGhlIElQdjYgem9uZSBpbmRleCBpbiB0aGUgVVJMIHdpdGggYW4gZXNjYXBlZCBwZXJjZW50YWdlIHNpZ24gYW5kIHRoZQogaW50ZXJmYWNlIG5hbWUuIExpa2UgaW4KIAotICBodHRwOi8vW2ZlODA6OjMlMjVldGgwXS8KKyAgImh0dHA6Ly9bZmU4MDo6MyUyNWV0aDBdLyIKIAogSWYgeW91IHNwZWNpZnkgVVJMIHdpdGhvdXQgcHJvdG9jb2w6Ly8gcHJlZml4LCBjdXJsIHdpbGwgYXR0ZW1wdCB0byBndWVzcyB3aGF0CiBwcm90b2NvbCB5b3UgbWlnaHQgd2FudC4gSXQgd2lsbCB0aGVuIGRlZmF1bHQgdG8gSFRUUCBidXQgdHJ5IG90aGVyIHByb3RvY29scwpkaWZmIC0tZ2l0IGEvZG9jcy9jbWRsaW5lLW9wdHMvcmVzb2x2ZS5kIGIvZG9jcy9jbWRsaW5lLW9wdHMvcmVzb2x2ZS5kCmluZGV4IDljMzc1MjUuLmMxNjkyZjAgMTAwNjQ0Ci0tLSBhL2RvY3MvY21kbGluZS1vcHRzL3Jlc29sdmUuZAorKysgYi9kb2NzL2NtZGxpbmUtb3B0cy9yZXNvbHZlLmQKQEAgLTEsNSArMSw1IEBACiBMb25nOiByZXNvbHZlCi1Bcmc6IDxob3N0OnBvcnQ6YWRkcmVzc1ssYWRkcmVzc10uLi4+CitBcmc6IDxob3N0OnBvcnQ6YWRkclssYWRkcl0uLi4+CiBIZWxwOiBSZXNvbHZlIHRoZSBob3N0K3BvcnQgdG8gdGhpcyBhZGRyZXNzCiBBZGRlZDogNy4yMS4zCiAtLS0KZGlmZiAtLWdpdCBhL2RvY3MvY21kbGluZS1vcHRzL3JldHJ5LWFsbC1lcnJvcnMuZCBiL2RvY3MvY21kbGluZS1vcHRzL3JldHJ5LWFsbC1lcnJvcnMuZApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi40NTU0ZjU5Ci0tLSAvZGV2L251bGwKKysrIGIvZG9jcy9jbWRsaW5lLW9wdHMvcmV0cnktYWxsLWVycm9ycy5kCkBAIC0wLDAgKzEsMTkgQEAKK0xvbmc6IHJldHJ5LWFsbC1lcnJvcnMKK0hlbHA6IFJldHJ5IGFsbCBlcnJvcnMgKHVzZSB3aXRoIC0tcmV0cnkpCitBZGRlZDogNy43MS4wCistLS0KK1JldHJ5IG9uIGFueSBlcnJvci4gVGhpcyBvcHRpb24gaXMgdXNlZCB0b2dldGhlciB3aXRoIC0tcmV0cnkuCisKK1RoaXMgb3B0aW9uIGlzIHRoZSAic2xlZGdlaGFtbWVyIiBvZiByZXRyeWluZy4gRG8gbm90IHVzZSB0aGlzIG9wdGlvbiBieQorZGVmYXVsdCAoZWcgaW4gY3VybHJjKSwgdGhlcmUgbWF5IGJlIHVuaW50ZW5kZWQgY29uc2VxdWVuY2VzIHN1Y2ggYXMgc2VuZGluZyBvcgorcmVjZWl2aW5nIGR1cGxpY2F0ZSBkYXRhLiBEbyBub3QgdXNlIHdpdGggcmVkaXJlY3RlZCBpbnB1dCBvciBvdXRwdXQuIFlvdSdkIGJlCittdWNoIGJldHRlciBvZmYgaGFuZGxpbmcgeW91ciB1bmlxdWUgcHJvYmxlbXMgaW4gc2hlbGwgc2NyaXB0LiBQbGVhc2UgcmVhZCB0aGUKK2V4YW1wbGUgYmVsb3cuCisKK1dhcm5pbmc6IEZvciBzZXJ2ZXIgY29tcGF0aWJpbGl0eSBjdXJsIGF0dGVtcHRzIHRvIHJldHJ5IGZhaWxlZCBmbGFreSB0cmFuc2ZlcnMKK2FzIGNsb3NlIGFzIHBvc3NpYmxlIHRvIGhvdyB0aGV5IHdlcmUgc3RhcnRlZCwgYnV0IHRoaXMgaXMgbm90IHBvc3NpYmxlIHdpdGgKK3JlZGlyZWN0ZWQgaW5wdXQgb3Igb3V0cHV0LiBGb3IgZXhhbXBsZSwgYmVmb3JlIHJldHJ5aW5nIGl0IHJlbW92ZXMgb3V0cHV0IGRhdGEKK2Zyb20gYSBmYWlsZWQgcGFydGlhbCB0cmFuc2ZlciB0aGF0IHdhcyB3cml0dGVuIHRvIGFuIG91dHB1dCBmaWxlLiBIb3dldmVyIHRoaXMKK2lzIG5vdCB0cnVlIG9mIGRhdGEgcmVkaXJlY3RlZCB0byBhIHwgcGlwZSBvciA+IGZpbGUsIHdoaWNoIGFyZSBub3QgcmVzZXQuIFdlCitzdHJvbmdseSBzdWdnZXN0IGRvbid0IHBhcnNlIG9yIHJlY29yZCBvdXRwdXQgdmlhIHJlZGlyZWN0IGluIGNvbWJpbmF0aW9uIHdpdGgKK3RoaXMgb3B0aW9uLCBzaW5jZSB5b3UgbWF5IHJlY2VpdmUgZHVwbGljYXRlIGRhdGEuCmRpZmYgLS1naXQgYS9kb2NzL2NtZGxpbmUtb3B0cy9zYXNsLWF1dGh6aWQuZCBiL2RvY3MvY21kbGluZS1vcHRzL3Nhc2wtYXV0aHppZC5kCmluZGV4IGIzNGRiOTcuLmEzYmQ0NmUgMTAwNjQ0Ci0tLSBhL2RvY3MvY21kbGluZS1vcHRzL3Nhc2wtYXV0aHppZC5kCisrKyBiL2RvY3MvY21kbGluZS1vcHRzL3Nhc2wtYXV0aHppZC5kCkBAIC0xLDUgKzEsNiBAQAogTG9uZzogc2FzbC1hdXRoemlkCi1IZWxwOiBVc2UgdGhpcyBpZGVudGl0eSB0byBhY3QgYXMgZHVyaW5nIFNBU0wgUExBSU4gYXV0aGVudGljYXRpb24KK0FyZzogPGlkZW50aXR5PgorSGVscDogSWRlbnRpdHkgZm9yIFNBU0wgUExBSU4gYXV0aGVudGljYXRpb24KIEFkZGVkOiA3LjY2LjAKIC0tLQogVXNlIHRoaXMgYXV0aG9yaXNhdGlvbiBpZGVudGl0eSAoYXV0aHppZCksIGR1cmluZyBTQVNMIFBMQUlOIGF1dGhlbnRpY2F0aW9uLApkaWZmIC0tZ2l0IGEvZG9jcy9jbWRsaW5lLW9wdHMvc3NsLXJldm9rZS1iZXN0LWVmZm9ydC5kIGIvZG9jcy9jbWRsaW5lLW9wdHMvc3NsLXJldm9rZS1iZXN0LWVmZm9ydC5kCmluZGV4IDliNTU2OTkuLmUzMzliOGEgMTAwNjQ0Ci0tLSBhL2RvY3MvY21kbGluZS1vcHRzL3NzbC1yZXZva2UtYmVzdC1lZmZvcnQuZAorKysgYi9kb2NzL2NtZGxpbmUtb3B0cy9zc2wtcmV2b2tlLWJlc3QtZWZmb3J0LmQKQEAgLTEsNSArMSw1IEBACiBMb25nOiBzc2wtcmV2b2tlLWJlc3QtZWZmb3J0Ci1IZWxwOiBJZ25vcmUgbWlzc2luZy9vZmZsaW5lIGNlcnQgQ1JMIGRpc3RyaWJ1dGlvbiBwb2ludHMgKFNjaGFubmVsKQorSGVscDogSWdub3JlIG1pc3Npbmcvb2ZmbGluZSBjZXJ0IENSTCBkaXN0IHBvaW50cwogQWRkZWQ6IDcuNzAuMAogLS0tCiAoU2NoYW5uZWwpIFRoaXMgb3B0aW9uIHRlbGxzIGN1cmwgdG8gaWdub3JlIGNlcnRpZmljYXRlIHJldm9jYXRpb24gY2hlY2tzIHdoZW4KZGlmZiAtLWdpdCBhL2RvY3MvY21kbGluZS1vcHRzL3RsczEzLWNpcGhlcnMuZCBiL2RvY3MvY21kbGluZS1vcHRzL3RsczEzLWNpcGhlcnMuZAppbmRleCA2NTRhMjViLi5kYjgwMzM1IDEwMDY0NAotLS0gYS9kb2NzL2NtZGxpbmUtb3B0cy90bHMxMy1jaXBoZXJzLmQKKysrIGIvZG9jcy9jbWRsaW5lLW9wdHMvdGxzMTMtY2lwaGVycy5kCkBAIC0xLDUgKzEsNSBAQAogTG9uZzogdGxzMTMtY2lwaGVycwotQXJnOiA8bGlzdCBvZiBUTFMgMS4zIGNpcGhlcnN1aXRlcz4KK0FyZzogPGNpcGhlcnN1aXRlIGxpc3Q+CiBoZWxwOiBUTFMgMS4zIGNpcGhlciBzdWl0ZXMgdG8gdXNlCiBQcm90b2NvbHM6IFRMUwogLS0tCmRpZmYgLS1naXQgYS9kb2NzL2NtZGxpbmUtb3B0cy91c2VyLWFnZW50LmQgYi9kb2NzL2NtZGxpbmUtb3B0cy91c2VyLWFnZW50LmQKaW5kZXggZGU3M2Y3Mi4uYzZkZDJlNSAxMDA2NDQKLS0tIGEvZG9jcy9jbWRsaW5lLW9wdHMvdXNlci1hZ2VudC5kCisrKyBiL2RvY3MvY21kbGluZS1vcHRzL3VzZXItYWdlbnQuZApAQCAtOSw0ICs5LDggQEAKIHRoZSBzdHJpbmcsIHN1cnJvdW5kIHRoZSBzdHJpbmcgd2l0aCBzaW5nbGUgcXVvdGUgbWFya3MuIFRoaXMgaGVhZGVyIGNhbiBhbHNvCiBiZSBzZXQgd2l0aCB0aGUgLS1oZWFkZXIgb3IgdGhlIC0tcHJveHktaGVhZGVyIG9wdGlvbnMuCiAKK0lmIHlvdSBnaXZlIGFuIGVtcHR5IGFyZ3VtZW50IHRvIC0tdXNlci1hZ2VudCAoIiIpLCBpdCB3aWxsIHJlbW92ZSB0aGUgaGVhZGVyCitjb21wbGV0ZWx5IGZyb20gdGhlIHJlcXVlc3QuIElmIHlvdSBwcmVmZXIgYSBibGFuayBoZWFkZXIsIHlvdSBjYW4gc2V0IGl0IHRvIGEKK3NpbmdsZSBzcGFjZSAoIiAiKS4KKwogSWYgdGhpcyBvcHRpb24gaXMgdXNlZCBzZXZlcmFsIHRpbWVzLCB0aGUgbGFzdCBvbmUgd2lsbCBiZSB1c2VkLgpkaWZmIC0tZ2l0IGEvZG9jcy9jbWRsaW5lLW9wdHMvdmVyc2lvbi5kIGIvZG9jcy9jbWRsaW5lLW9wdHMvdmVyc2lvbi5kCmluZGV4IGNkMzVmMjcuLjE2YzE4NDMgMTAwNjQ0Ci0tLSBhL2RvY3MvY21kbGluZS1vcHRzL3ZlcnNpb24uZAorKysgYi9kb2NzL2NtZGxpbmUtb3B0cy92ZXJzaW9uLmQKQEAgLTEzLDQ4ICsxMyw1NiBAQAogVGhlIHRoaXJkIGxpbmUgKHN0YXJ0cyB3aXRoICJGZWF0dXJlczoiKSBzaG93cyBzcGVjaWZpYyBmZWF0dXJlcyBsaWJjdXJsCiByZXBvcnRzIHRvIG9mZmVyLiBBdmFpbGFibGUgZmVhdHVyZXMgaW5jbHVkZToKIC5SUworLklQICJhbHQtc3ZjIgorU3VwcG9ydCBmb3IgdGhlIEFsdC1TdmM6IGhlYWRlciBpcyBwcm92aWRlZC4KKy5JUCAiQXN5bmNoRE5TIgorVGhpcyBjdXJsIHVzZXMgYXN5bmNocm9ub3VzIG5hbWUgcmVzb2x2ZXMuIEFzeW5jaHJvbm91cyBuYW1lIHJlc29sdmVzIGNhbiBiZQorZG9uZSB1c2luZyBlaXRoZXIgdGhlIGMtYXJlcyBvciB0aGUgdGhyZWFkZWQgcmVzb2x2ZXIgYmFja2VuZHMuCisuSVAgImJyb3RsaSIKK1N1cHBvcnQgZm9yIGF1dG9tYXRpYyBicm90bGkgY29tcHJlc3Npb24gb3ZlciBIVFRQKFMpLgorLklQICJDaGFyQ29udiIKK2N1cmwgd2FzIGJ1aWx0IHdpdGggc3VwcG9ydCBmb3IgY2hhcmFjdGVyIHNldCBjb252ZXJzaW9ucyAobGlrZSBFQkNESUMpCisuSVAgIkRlYnVnIgorVGhpcyBjdXJsIHVzZXMgYSBsaWJjdXJsIGJ1aWx0IHdpdGggRGVidWcuIFRoaXMgZW5hYmxlcyBtb3JlIGVycm9yLXRyYWNraW5nCithbmQgbWVtb3J5IGRlYnVnZ2luZyBldGMuIEZvciBjdXJsLWRldmVsb3BlcnMgb25seSEKKy5JUCAiR1NTLUFQSSIKK0dTUy1BUEkgaXMgc3VwcG9ydGVkLgorLklQICJIVFRQMiIKK0hUVFAvMiBzdXBwb3J0IGhhcyBiZWVuIGJ1aWx0LWluLgorLklQICJIVFRQMyIKK0hUVFAvMyBzdXBwb3J0IGhhcyBiZWVuIGJ1aWx0LWluLgorLklQICJIVFRQUy1wcm94eSIKK1RoaXMgY3VybCBpcyBidWlsdCB0byBzdXBwb3J0IEhUVFBTIHByb3h5LgorLklQICJJRE4iCitUaGlzIGN1cmwgc3VwcG9ydHMgSUROIC0gaW50ZXJuYXRpb25hbCBkb21haW4gbmFtZXMuCiAuSVAgIklQdjYiCiBZb3UgY2FuIHVzZSBJUHY2IHdpdGggdGhpcy4KIC5JUCAia3JiNCIKIEtyYjQgZm9yIEZUUCBpcyBzdXBwb3J0ZWQuCisuSVAgIkxhcmdlZmlsZSIKK1RoaXMgY3VybCBzdXBwb3J0cyB0cmFuc2ZlcnMgb2YgbGFyZ2UgZmlsZXMsIGZpbGVzIGxhcmdlciB0aGFuIDJHQi4KKy5JUCAibGlieiIKK0F1dG9tYXRpYyBkZWNvbXByZXNzaW9uIG9mIGNvbXByZXNzZWQgZmlsZXMgb3ZlciBIVFRQIGlzIHN1cHBvcnRlZC4KKy5JUCAiTWV0YWxpbmsiCitUaGlzIGN1cmwgc3VwcG9ydHMgTWV0YWxpbmsKKy5JUCAiTXVsdGlTU0wiCitUaGlzIGN1cmwgc3VwcG9ydHMgbXVsdGlwbGUgVExTIGJhY2tlbmRzLgorLklQICJOVExNIgorTlRMTSBhdXRoZW50aWNhdGlvbiBpcyBzdXBwb3J0ZWQuCisuSVAgIk5UTE0iCitOVExNIGF1dGhlbnRpY2F0aW9uIGlzIHN1cHBvcnRlZC4KKy5JUCAiUFNMIgorUFNMIGlzIHNob3J0IGZvciBQdWJsaWMgU3VmZml4IExpc3QgYW5kIG1lYW5zIHRoYXQgdGhpcyBjdXJsIGhhcyBiZWVuIGJ1aWx0Cit3aXRoIGtub3dsZWRnZSBhYm91dCAicHVibGljIHN1ZmZpeGVzIi4KKy5JUCAiU1BORUdPIgorU1BORUdPIGF1dGhlbnRpY2F0aW9uIGlzIHN1cHBvcnRlZC4KIC5JUCAiU1NMIgogU1NMIHZlcnNpb25zIG9mIHZhcmlvdXMgcHJvdG9jb2xzIGFyZSBzdXBwb3J0ZWQsIHN1Y2ggYXMgSFRUUFMsIEZUUFMsIFBPUDNTCiBhbmQgc28gb24uCi0uSVAgImxpYnoiCi1BdXRvbWF0aWMgZGVjb21wcmVzc2lvbiBvZiBjb21wcmVzc2VkIGZpbGVzIG92ZXIgSFRUUCBpcyBzdXBwb3J0ZWQuCi0uSVAgIk5UTE0iCi1OVExNIGF1dGhlbnRpY2F0aW9uIGlzIHN1cHBvcnRlZC4KLS5JUCAiRGVidWciCi1UaGlzIGN1cmwgdXNlcyBhIGxpYmN1cmwgYnVpbHQgd2l0aCBEZWJ1Zy4gVGhpcyBlbmFibGVzIG1vcmUgZXJyb3ItdHJhY2tpbmcKLWFuZCBtZW1vcnkgZGVidWdnaW5nIGV0Yy4gRm9yIGN1cmwtZGV2ZWxvcGVycyBvbmx5IQotLklQICJBc3luY2hETlMiCi1UaGlzIGN1cmwgdXNlcyBhc3luY2hyb25vdXMgbmFtZSByZXNvbHZlcy4gQXN5bmNocm9ub3VzIG5hbWUgcmVzb2x2ZXMgY2FuIGJlCi1kb25lIHVzaW5nIGVpdGhlciB0aGUgYy1hcmVzIG9yIHRoZSB0aHJlYWRlZCByZXNvbHZlciBiYWNrZW5kcy4KLS5JUCAiU1BORUdPIgotU1BORUdPIGF1dGhlbnRpY2F0aW9uIGlzIHN1cHBvcnRlZC4KLS5JUCAiTGFyZ2VmaWxlIgotVGhpcyBjdXJsIHN1cHBvcnRzIHRyYW5zZmVycyBvZiBsYXJnZSBmaWxlcywgZmlsZXMgbGFyZ2VyIHRoYW4gMkdCLgotLklQICJJRE4iCi1UaGlzIGN1cmwgc3VwcG9ydHMgSUROIC0gaW50ZXJuYXRpb25hbCBkb21haW4gbmFtZXMuCi0uSVAgIkdTUy1BUEkiCi1HU1MtQVBJIGlzIHN1cHBvcnRlZC4KIC5JUCAiU1NQSSIKIFNTUEkgaXMgc3VwcG9ydGVkLgogLklQICJUTFMtU1JQIgogU1JQIChTZWN1cmUgUmVtb3RlIFBhc3N3b3JkKSBhdXRoZW50aWNhdGlvbiBpcyBzdXBwb3J0ZWQgZm9yIFRMUy4KLS5JUCAiSFRUUDIiCi1IVFRQLzIgc3VwcG9ydCBoYXMgYmVlbiBidWlsdC1pbi4KIC5JUCAiVW5peFNvY2tldHMiCiBVbml4IHNvY2tldHMgc3VwcG9ydCBpcyBwcm92aWRlZC4KLS5JUCAiSFRUUFMtcHJveHkiCi1UaGlzIGN1cmwgaXMgYnVpbHQgdG8gc3VwcG9ydCBIVFRQUyBwcm94eS4KLS5JUCAiTWV0YWxpbmsiCi1UaGlzIGN1cmwgc3VwcG9ydHMgTWV0YWxpbmsgKGJvdGggdmVyc2lvbiAzIGFuZCA0IChSRkMgNTg1NCkpLCB3aGljaAotZGVzY3JpYmVzIG1pcnJvcnMgYW5kIGhhc2hlcy4gIGN1cmwgd2lsbCB1c2UgbWlycm9ycyBmb3IgZmFpbG92ZXIgaWYKLXRoZXJlIGFyZSBlcnJvcnMgKHN1Y2ggYXMgdGhlIGZpbGUgb3Igc2VydmVyIG5vdCBiZWluZyBhdmFpbGFibGUpLgotLklQICJQU0wiCi1QU0wgaXMgc2hvcnQgZm9yIFB1YmxpYyBTdWZmaXggTGlzdCBhbmQgbWVhbnMgdGhhdCB0aGlzIGN1cmwgaGFzIGJlZW4gYnVpbHQKLXdpdGgga25vd2xlZGdlIGFib3V0ICJwdWJsaWMgc3VmZml4ZXMiLgotLklQICJNdWx0aVNTTCIKLVRoaXMgY3VybCBzdXBwb3J0cyBtdWx0aXBsZSBUTFMgYmFja2VuZHMuCiAuUkUKZGlmZiAtLWdpdCBhL2RvY3MvY21kbGluZS1vcHRzL3dyaXRlLW91dC5kIGIvZG9jcy9jbWRsaW5lLW9wdHMvd3JpdGUtb3V0LmQKaW5kZXggOTAyNGQzMi4uOTc4NmE5YSAxMDA2NDQKLS0tIGEvZG9jcy9jbWRsaW5lLW9wdHMvd3JpdGUtb3V0LmQKKysrIGIvZG9jcy9jbWRsaW5lLW9wdHMvd3JpdGUtb3V0LmQKQEAgLTgyLDYgKzgyLDEwIEBACiAuQiByZW1vdGVfcG9ydAogVGhlIHJlbW90ZSBwb3J0IG51bWJlciBvZiB0aGUgbW9zdCByZWNlbnRseSBkb25lIGNvbm5lY3Rpb24gKEFkZGVkIGluIDcuMjkuMCkKIC5UUAorLkIgcmVzcG9uc2VfY29kZQorVGhlIG51bWVyaWNhbCByZXNwb25zZSBjb2RlIHRoYXQgd2FzIGZvdW5kIGluIHRoZSBsYXN0IHRyYW5zZmVyIChmb3JtZXJseQora25vd24gYXMgImh0dHBfY29kZSIpLiAoQWRkZWQgaW4gNy4xOC4yKQorLlRQCiAuQiBzY2hlbWUKIFRoZSBVUkwgc2NoZW1lIChzb21ldGltZXMgY2FsbGVkIHByb3RvY29sKSB0aGF0IHdhcyBlZmZlY3RpdmVseSB1c2VkIChBZGRlZCBpbiA3LjUyLjApCiAuVFAKZGlmZiAtLWdpdCBhL2RvY3MvY3VybC1jb25maWcuMSBiL2RvY3MvY3VybC1jb25maWcuMQppbmRleCBhMzIwMGIyLi5kYTQ2OWU1IDEwMDY0NAotLS0gYS9kb2NzL2N1cmwtY29uZmlnLjEKKysrIGIvZG9jcy9jdXJsLWNvbmZpZy4xCkBAIC0yMCw3ICsyMCw3IEBACiAuXCIgKgogLlwiICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiAuXCIKLS5USCBjdXJsLWNvbmZpZyAxICJBcHJpbCAyNiwgMjAyMCIgIkN1cmwgNy43MC4wIiAiY3VybC1jb25maWcgbWFudWFsIgorLlRIIGN1cmwtY29uZmlnIDEgIkFwcmlsIDI2LCAyMDIwIiAiQ3VybCA3LjcxLjEiICJjdXJsLWNvbmZpZyBtYW51YWwiCiAKIC5TSCBOQU1FCiBjdXJsLWNvbmZpZyBcLSBHZXQgaW5mb3JtYXRpb24gYWJvdXQgYSBsaWJjdXJsIGluc3RhbGxhdGlvbgpkaWZmIC0tZ2l0IGEvZG9jcy9jdXJsLjEgYi9kb2NzL2N1cmwuMQppbmRleCA5OTE0Mzg0Li40ZDc5NWZiIDEwMDY0NAotLS0gYS9kb2NzL2N1cmwuMQorKysgYi9kb2NzL2N1cmwuMQpAQCAtMjIsNyArMjIsNyBAQAogLlwiCiAuXCIgRE8gTk9UIEVESVQuIEdlbmVyYXRlZCBieSB0aGUgY3VybCBwcm9qZWN0IGdlbi5wbCBtYW4gcGFnZSBnZW5lcmF0b3IuCiAuXCIKLS5USCBjdXJsIDEgIk5vdmVtYmVyIDE2LCAyMDE2IiAiQ3VybCA3LjcwLjAiICJDdXJsIE1hbnVhbCIKKy5USCBjdXJsIDEgIk5vdmVtYmVyIDE2LCAyMDE2IiAiQ3VybCA3LjcxLjEiICJDdXJsIE1hbnVhbCIKIAogLlNIIE5BTUUKIGN1cmwgXC0gdHJhbnNmZXIgYSBVUkwKQEAgLTMyLDggKzMyLDkgQEAKIC5CIGN1cmwKIGlzIGEgdG9vbCB0byB0cmFuc2ZlciBkYXRhIGZyb20gb3IgdG8gYSBzZXJ2ZXIsIHVzaW5nIG9uZSBvZiB0aGUgc3VwcG9ydGVkCiBwcm90b2NvbHMgKERJQ1QsIEZJTEUsIEZUUCwgRlRQUywgR09QSEVSLCBIVFRQLCBIVFRQUywgSU1BUCwgSU1BUFMsIExEQVAsCi1MREFQUywgTVFUVCwgUE9QMywgUE9QM1MsIFJUTVAsIFJUU1AsIFNDUCwgU0ZUUCwgU01CLCBTTUJTLCBTTVRQLCBTTVRQUywKLVRFTE5FVCBhbmQgVEZUUCkuIFRoZSBjb21tYW5kIGlzIGRlc2lnbmVkIHRvIHdvcmsgd2l0aG91dCB1c2VyIGludGVyYWN0aW9uLgorTERBUFMsIE1RVFQsIFBPUDMsIFBPUDNTLCBSVE1QLCBSVE1QUywgUlRTUCwgU0NQLCBTRlRQLCBTTUIsIFNNQlMsIFNNVFAsCitTTVRQUywgVEVMTkVUIGFuZCBURlRQKS4gVGhlIGNvbW1hbmQgaXMgZGVzaWduZWQgdG8gd29yayB3aXRob3V0IHVzZXIKK2ludGVyYWN0aW9uLgogCiBjdXJsIG9mZmVycyBhIGJ1c2xvYWQgb2YgdXNlZnVsIHRyaWNrcyBsaWtlIHByb3h5IHN1cHBvcnQsIHVzZXIKIGF1dGhlbnRpY2F0aW9uLCBGVFAgdXBsb2FkLCBIVFRQIHBvc3QsIFNTTCBjb25uZWN0aW9ucywgY29va2llcywgZmlsZSB0cmFuc2ZlcgpAQCAtNTMsMTYgKzU0LDE2IEBACiAKIG9yIHlvdSBjYW4gZ2V0IHNlcXVlbmNlcyBvZiBhbHBoYW51bWVyaWMgc2VyaWVzIGJ5IHVzaW5nIFtdIGFzIGluOgogCi0gIGZ0cDovL2Z0cC5leGFtcGxlLmNvbS9maWxlWzEtMTAwXS50eHQKKyAgImZ0cDovL2Z0cC5leGFtcGxlLmNvbS9maWxlWzEtMTAwXS50eHQiCiAKLSAgZnRwOi8vZnRwLmV4YW1wbGUuY29tL2ZpbGVbMDAxLTEwMF0udHh0ICAgICh3aXRoIGxlYWRpbmcgemVyb3MpCisgICJmdHA6Ly9mdHAuZXhhbXBsZS5jb20vZmlsZVswMDEtMTAwXS50eHQiICAgICh3aXRoIGxlYWRpbmcgemVyb3MpCiAKLSAgZnRwOi8vZnRwLmV4YW1wbGUuY29tL2ZpbGVbYS16XS50eHQKKyAgImZ0cDovL2Z0cC5leGFtcGxlLmNvbS9maWxlW2Etel0udHh0IgogCiBOZXN0ZWQgc2VxdWVuY2VzIGFyZSBub3Qgc3VwcG9ydGVkLCBidXQgeW91IGNhbiB1c2Ugc2V2ZXJhbCBvbmVzIG5leHQgdG8gZWFjaAogb3RoZXI6CiAKLSAgaHR0cDovL2V4YW1wbGUuY29tL2FyY2hpdmVbMTk5Ni0xOTk5XS92b2xbMS00XS9wYXJ0e2EsYixjfS5odG1sCisgICJodHRwOi8vZXhhbXBsZS5jb20vYXJjaGl2ZVsxOTk2LTE5OTldL3ZvbFsxLTRdL3BhcnR7YSxiLGN9Lmh0bWwiCiAKIFlvdSBjYW4gc3BlY2lmeSBhbnkgYW1vdW50IG9mIFVSTHMgb24gdGhlIGNvbW1hbmQgbGluZS4gVGhleSB3aWxsIGJlIGZldGNoZWQKIGluIGEgc2VxdWVudGlhbCBtYW5uZXIgaW4gdGhlIHNwZWNpZmllZCBvcmRlci4gWW91IGNhbiBzcGVjaWZ5IGNvbW1hbmQgbGluZQpAQCAtNzEsOSArNzIsOSBAQAogWW91IGNhbiBzcGVjaWZ5IGEgc3RlcCBjb3VudGVyIGZvciB0aGUgcmFuZ2VzIHRvIGdldCBldmVyeSBOdGggbnVtYmVyIG9yCiBsZXR0ZXI6CiAKLSAgaHR0cDovL2V4YW1wbGUuY29tL2ZpbGVbMS0xMDA6MTBdLnR4dAorICAiaHR0cDovL2V4YW1wbGUuY29tL2ZpbGVbMS0xMDA6MTBdLnR4dCIKIAotICBodHRwOi8vZXhhbXBsZS5jb20vZmlsZVthLXo6Ml0udHh0CisgICJodHRwOi8vZXhhbXBsZS5jb20vZmlsZVthLXo6Ml0udHh0IgogCiBXaGVuIHVzaW5nIFtdIG9yIHt9IHNlcXVlbmNlcyB3aGVuIGludm9rZWQgZnJvbSBhIGNvbW1hbmQgbGluZSBwcm9tcHQsIHlvdQogcHJvYmFibHkgaGF2ZSB0byBwdXQgdGhlIGZ1bGwgVVJMIHdpdGhpbiBkb3VibGUgcXVvdGVzIHRvIGF2b2lkIHRoZSBzaGVsbCBmcm9tCkBAIC04Myw3ICs4NCw3IEBACiBQcm92aWRlIHRoZSBJUHY2IHpvbmUgaW5kZXggaW4gdGhlIFVSTCB3aXRoIGFuIGVzY2FwZWQgcGVyY2VudGFnZSBzaWduIGFuZCB0aGUKIGludGVyZmFjZSBuYW1lLiBMaWtlIGluCiAKLSAgaHR0cDovL1tmZTgwOjozJTI1ZXRoMF0vCisgICJodHRwOi8vW2ZlODA6OjMlMjVldGgwXS8iCiAKIElmIHlvdSBzcGVjaWZ5IFVSTCB3aXRob3V0IHByb3RvY29sOi8vIHByZWZpeCwgY3VybCB3aWxsIGF0dGVtcHQgdG8gZ3Vlc3Mgd2hhdAogcHJvdG9jb2wgeW91IG1pZ2h0IHdhbnQuIEl0IHdpbGwgdGhlbiBkZWZhdWx0IHRvIEhUVFAgYnV0IHRyeSBvdGhlciBwcm90b2NvbHMKQEAgLTEyNjcsNyArMTI2OCw3IEBACiBjb21tYW5kIGluc3RlYWQsIHNvIHRoZSB1c2VyIG1heSB1c2UgdGhlIGVtYWlsJ3MgdW5pcXVlIGlkZW50aWZpZXIgcmF0aGVyIHRoYW4KIGl0J3MgbWVzc2FnZSBpZCB0byBtYWtlIHRoZSByZXF1ZXN0LgogCi1BZGRlZCBpbiA3LjIxLjUuCitBZGRlZCBpbiA0LjAuCiAuSVAgIi0tbG9jYWwtcG9ydCA8bnVtL3JhbmdlPiIKIFNldCBhIHByZWZlcnJlZCBzaW5nbGUgbnVtYmVyIG9yIHJhbmdlIChGUk9NLVRPKSBvZiBsb2NhbCBwb3J0IG51bWJlcnMgdG8gdXNlCiBmb3IgdGhlIGNvbm5lY3Rpb24ocykuICBOb3RlIHRoYXQgcG9ydCBudW1iZXJzIGJ5IG5hdHVyZSBhcmUgYSBzY2FyY2UgcmVzb3VyY2UKQEAgLTIxNjEsNyArMjE2Miw3IEBACiBTcGVjaWZpZXMgYSBjdXN0b20gU01UUCBjb21tYW5kIHRvIHVzZSBpbnN0ZWFkIG9mIEhFTFAgb3IgVlJGWS4gKEFkZGVkIGluIDcuMzQuMCkKIAogSWYgdGhpcyBvcHRpb24gaXMgdXNlZCBzZXZlcmFsIHRpbWVzLCB0aGUgbGFzdCBvbmUgd2lsbCBiZSB1c2VkLgotLklQICItLXJlc29sdmUgPGhvc3Q6cG9ydDphZGRyZXNzWyxhZGRyZXNzXS4uLj4iCisuSVAgIi0tcmVzb2x2ZSA8aG9zdDpwb3J0OmFkZHJbLGFkZHJdLi4uPiIKIFByb3ZpZGUgYSBjdXN0b20gYWRkcmVzcyBmb3IgYSBzcGVjaWZpYyBob3N0IGFuZCBwb3J0IHBhaXIuIFVzaW5nIHRoaXMsIHlvdQogY2FuIG1ha2UgdGhlIGN1cmwgcmVxdWVzdHMocykgdXNlIGEgc3BlY2lmaWVkIGFkZHJlc3MgYW5kIHByZXZlbnQgdGhlCiBvdGhlcndpc2Ugbm9ybWFsbHkgcmVzb2x2ZWQgYWRkcmVzcyB0byBiZSB1c2VkLiBDb25zaWRlciBpdCBhIHNvcnQgb2YKQEAgLTIxODYsNiArMjE4NywyNCBAQAogVGhpcyBvcHRpb24gY2FuIGJlIHVzZWQgbWFueSB0aW1lcyB0byBhZGQgbWFueSBob3N0IG5hbWVzIHRvIHJlc29sdmUuCiAKIEFkZGVkIGluIDcuMjEuMy4KKy5JUCAiLS1yZXRyeS1hbGwtZXJyb3JzIgorUmV0cnkgb24gYW55IGVycm9yLiBUaGlzIG9wdGlvbiBpcyB1c2VkIHRvZ2V0aGVyIHdpdGggXGZJLS1yZXRyeVxmUC4KKworVGhpcyBvcHRpb24gaXMgdGhlICJzbGVkZ2VoYW1tZXIiIG9mIHJldHJ5aW5nLiBEbyBub3QgdXNlIHRoaXMgb3B0aW9uIGJ5CitkZWZhdWx0IChlZyBpbiBjdXJscmMpLCB0aGVyZSBtYXkgYmUgdW5pbnRlbmRlZCBjb25zZXF1ZW5jZXMgc3VjaCBhcyBzZW5kaW5nIG9yCityZWNlaXZpbmcgZHVwbGljYXRlIGRhdGEuIERvIG5vdCB1c2Ugd2l0aCByZWRpcmVjdGVkIGlucHV0IG9yIG91dHB1dC4gWW91J2QgYmUKK211Y2ggYmV0dGVyIG9mZiBoYW5kbGluZyB5b3VyIHVuaXF1ZSBwcm9ibGVtcyBpbiBzaGVsbCBzY3JpcHQuIFBsZWFzZSByZWFkIHRoZQorZXhhbXBsZSBiZWxvdy4KKworV2FybmluZzogRm9yIHNlcnZlciBjb21wYXRpYmlsaXR5IGN1cmwgYXR0ZW1wdHMgdG8gcmV0cnkgZmFpbGVkIGZsYWt5IHRyYW5zZmVycworYXMgY2xvc2UgYXMgcG9zc2libGUgdG8gaG93IHRoZXkgd2VyZSBzdGFydGVkLCBidXQgdGhpcyBpcyBub3QgcG9zc2libGUgd2l0aAorcmVkaXJlY3RlZCBpbnB1dCBvciBvdXRwdXQuIEZvciBleGFtcGxlLCBiZWZvcmUgcmV0cnlpbmcgaXQgcmVtb3ZlcyBvdXRwdXQgZGF0YQorZnJvbSBhIGZhaWxlZCBwYXJ0aWFsIHRyYW5zZmVyIHRoYXQgd2FzIHdyaXR0ZW4gdG8gYW4gb3V0cHV0IGZpbGUuIEhvd2V2ZXIgdGhpcworaXMgbm90IHRydWUgb2YgZGF0YSByZWRpcmVjdGVkIHRvIGEgfCBwaXBlIG9yID4gZmlsZSwgd2hpY2ggYXJlIG5vdCByZXNldC4gV2UKK3N0cm9uZ2x5IHN1Z2dlc3QgZG9uJ3QgcGFyc2Ugb3IgcmVjb3JkIG91dHB1dCB2aWEgcmVkaXJlY3QgaW4gY29tYmluYXRpb24gd2l0aAordGhpcyBvcHRpb24sIHNpbmNlIHlvdSBtYXkgcmVjZWl2ZSBkdXBsaWNhdGUgZGF0YS4KKworQWRkZWQgaW4gNy43MS4wLgogLklQICItLXJldHJ5LWNvbm5yZWZ1c2VkIgogSW4gYWRkaXRpb24gdG8gdGhlIG90aGVyIGNvbmRpdGlvbnMsIGNvbnNpZGVyIEVDT05OUkVGVVNFRCBhcyBhIHRyYW5zaWVudAogZXJyb3IgdG9vIGZvciBcZkktLXJldHJ5XGZQLiBUaGlzIG9wdGlvbiBpcyB1c2VkIHRvZ2V0aGVyIHdpdGggLS1yZXRyeS4KQEAgLTIyMjksNyArMjI0OCw3IEBACiBJZiB0aGlzIG9wdGlvbiBpcyB1c2VkIHNldmVyYWwgdGltZXMsIHRoZSBsYXN0IG9uZSB3aWxsIGJlIHVzZWQuCiAKIEFkZGVkIGluIDcuMTIuMy4KLS5JUCAiLS1zYXNsLWF1dGh6aWQiCisuSVAgIi0tc2FzbC1hdXRoemlkIDxpZGVudGl0eT4iCiBVc2UgdGhpcyBhdXRob3Jpc2F0aW9uIGlkZW50aXR5IChhdXRoemlkKSwgZHVyaW5nIFNBU0wgUExBSU4gYXV0aGVudGljYXRpb24sCiBpbiBhZGRpdGlvbiB0byB0aGUgYXV0aGVudGljYXRpb24gaWRlbnRpdHkgKGF1dGhjaWQpIGFzIHNwZWNpZmllZCBieSBcZkktdSwgLS11c2VyXGZQLgogCkBAIC0yNTA5LDcgKzI1MjgsNyBAQAogLlJFCiAKIFNlZSBhbHNvIFxmSS0tdGxzdjEuMFxmUCBhbmQgXGZJLS10bHN2MS4xXGZQIGFuZCBcZkktLXRsc3YxLjJcZlAgYW5kIFxmSS0tdGxzdjEuM1xmUC4gXGZJLS10bHMtbWF4XGZQIHJlcXVpcmVzIHRoYXQgdGhlIHVuZGVybHlpbmcgbGliY3VybCB3YXMgYnVpbHQgdG8gc3VwcG9ydCBUTFMuIEFkZGVkIGluIDcuNTQuMC4KLS5JUCAiLS10bHMxMy1jaXBoZXJzIDxsaXN0IG9mIFRMUyAxLjMgY2lwaGVyc3VpdGVzPiIKKy5JUCAiLS10bHMxMy1jaXBoZXJzIDxjaXBoZXJzdWl0ZSBsaXN0PiIKIChUTFMpIFNwZWNpZmllcyB3aGljaCBjaXBoZXIgc3VpdGVzIHRvIHVzZSBpbiB0aGUgY29ubmVjdGlvbiBpZiBpdCBuZWdvdGlhdGVzIFRMUwogMS4zLiBUaGUgbGlzdCBvZiBjaXBoZXJzIHN1aXRlcyBtdXN0IHNwZWNpZnkgdmFsaWQgY2lwaGVycy4gUmVhZCB1cCBvbiBUTFMgMS4zCiBjaXBoZXIgc3VpdGUgZGV0YWlscyBvbiB0aGlzIFVSTDoKQEAgLTI2NjgsNiArMjY4NywxMCBAQAogdGhlIHN0cmluZywgc3Vycm91bmQgdGhlIHN0cmluZyB3aXRoIHNpbmdsZSBxdW90ZSBtYXJrcy4gVGhpcyBoZWFkZXIgY2FuIGFsc28KIGJlIHNldCB3aXRoIHRoZSBcZkktSCwgLS1oZWFkZXJcZlAgb3IgdGhlIFxmSS0tcHJveHktaGVhZGVyXGZQIG9wdGlvbnMuCiAKK0lmIHlvdSBnaXZlIGFuIGVtcHR5IGFyZ3VtZW50IHRvIFxmSS1BLCAtLXVzZXItYWdlbnRcZlAgKCIiKSwgaXQgd2lsbCByZW1vdmUgdGhlIGhlYWRlcgorY29tcGxldGVseSBmcm9tIHRoZSByZXF1ZXN0LiBJZiB5b3UgcHJlZmVyIGEgYmxhbmsgaGVhZGVyLCB5b3UgY2FuIHNldCBpdCB0byBhCitzaW5nbGUgc3BhY2UgKCIgIikuCisKIElmIHRoaXMgb3B0aW9uIGlzIHVzZWQgc2V2ZXJhbCB0aW1lcywgdGhlIGxhc3Qgb25lIHdpbGwgYmUgdXNlZC4KIC5JUCAiLXUsIC0tdXNlciA8dXNlcjpwYXNzd29yZD4iCiBTcGVjaWZ5IHRoZSB1c2VyIG5hbWUgYW5kIHBhc3N3b3JkIHRvIHVzZSBmb3Igc2VydmVyIGF1dGhlbnRpY2F0aW9uLiBPdmVycmlkZXMKQEAgLTI3MzIsNTAgKzI3NTUsNTggQEAKIFRoZSB0aGlyZCBsaW5lIChzdGFydHMgd2l0aCAiRmVhdHVyZXM6Iikgc2hvd3Mgc3BlY2lmaWMgZmVhdHVyZXMgbGliY3VybAogcmVwb3J0cyB0byBvZmZlci4gQXZhaWxhYmxlIGZlYXR1cmVzIGluY2x1ZGU6CiAuUlMKKy5JUCAiYWx0LXN2YyIKK1N1cHBvcnQgZm9yIHRoZSBBbHQtU3ZjOiBoZWFkZXIgaXMgcHJvdmlkZWQuCisuSVAgIkFzeW5jaEROUyIKK1RoaXMgY3VybCB1c2VzIGFzeW5jaHJvbm91cyBuYW1lIHJlc29sdmVzLiBBc3luY2hyb25vdXMgbmFtZSByZXNvbHZlcyBjYW4gYmUKK2RvbmUgdXNpbmcgZWl0aGVyIHRoZSBjLWFyZXMgb3IgdGhlIHRocmVhZGVkIHJlc29sdmVyIGJhY2tlbmRzLgorLklQICJicm90bGkiCitTdXBwb3J0IGZvciBhdXRvbWF0aWMgYnJvdGxpIGNvbXByZXNzaW9uIG92ZXIgSFRUUChTKS4KKy5JUCAiQ2hhckNvbnYiCitjdXJsIHdhcyBidWlsdCB3aXRoIHN1cHBvcnQgZm9yIGNoYXJhY3RlciBzZXQgY29udmVyc2lvbnMgKGxpa2UgRUJDRElDKQorLklQICJEZWJ1ZyIKK1RoaXMgY3VybCB1c2VzIGEgbGliY3VybCBidWlsdCB3aXRoIERlYnVnLiBUaGlzIGVuYWJsZXMgbW9yZSBlcnJvci10cmFja2luZworYW5kIG1lbW9yeSBkZWJ1Z2dpbmcgZXRjLiBGb3IgY3VybC1kZXZlbG9wZXJzIG9ubHkhCisuSVAgIkdTUy1BUEkiCitHU1MtQVBJIGlzIHN1cHBvcnRlZC4KKy5JUCAiSFRUUDIiCitIVFRQLzIgc3VwcG9ydCBoYXMgYmVlbiBidWlsdC1pbi4KKy5JUCAiSFRUUDMiCitIVFRQLzMgc3VwcG9ydCBoYXMgYmVlbiBidWlsdC1pbi4KKy5JUCAiSFRUUFMtcHJveHkiCitUaGlzIGN1cmwgaXMgYnVpbHQgdG8gc3VwcG9ydCBIVFRQUyBwcm94eS4KKy5JUCAiSUROIgorVGhpcyBjdXJsIHN1cHBvcnRzIElETiAtIGludGVybmF0aW9uYWwgZG9tYWluIG5hbWVzLgogLklQICJJUHY2IgogWW91IGNhbiB1c2UgSVB2NiB3aXRoIHRoaXMuCiAuSVAgImtyYjQiCiBLcmI0IGZvciBGVFAgaXMgc3VwcG9ydGVkLgorLklQICJMYXJnZWZpbGUiCitUaGlzIGN1cmwgc3VwcG9ydHMgdHJhbnNmZXJzIG9mIGxhcmdlIGZpbGVzLCBmaWxlcyBsYXJnZXIgdGhhbiAyR0IuCisuSVAgImxpYnoiCitBdXRvbWF0aWMgZGVjb21wcmVzc2lvbiBvZiBjb21wcmVzc2VkIGZpbGVzIG92ZXIgSFRUUCBpcyBzdXBwb3J0ZWQuCisuSVAgIk1ldGFsaW5rIgorVGhpcyBjdXJsIHN1cHBvcnRzIE1ldGFsaW5rCisuSVAgIk11bHRpU1NMIgorVGhpcyBjdXJsIHN1cHBvcnRzIG11bHRpcGxlIFRMUyBiYWNrZW5kcy4KKy5JUCAiTlRMTSIKK05UTE0gYXV0aGVudGljYXRpb24gaXMgc3VwcG9ydGVkLgorLklQICJOVExNIgorTlRMTSBhdXRoZW50aWNhdGlvbiBpcyBzdXBwb3J0ZWQuCisuSVAgIlBTTCIKK1BTTCBpcyBzaG9ydCBmb3IgUHVibGljIFN1ZmZpeCBMaXN0IGFuZCBtZWFucyB0aGF0IHRoaXMgY3VybCBoYXMgYmVlbiBidWlsdAord2l0aCBrbm93bGVkZ2UgYWJvdXQgInB1YmxpYyBzdWZmaXhlcyIuCisuSVAgIlNQTkVHTyIKK1NQTkVHTyBhdXRoZW50aWNhdGlvbiBpcyBzdXBwb3J0ZWQuCiAuSVAgIlNTTCIKIFNTTCB2ZXJzaW9ucyBvZiB2YXJpb3VzIHByb3RvY29scyBhcmUgc3VwcG9ydGVkLCBzdWNoIGFzIEhUVFBTLCBGVFBTLCBQT1AzUwogYW5kIHNvIG9uLgotLklQICJsaWJ6IgotQXV0b21hdGljIGRlY29tcHJlc3Npb24gb2YgY29tcHJlc3NlZCBmaWxlcyBvdmVyIEhUVFAgaXMgc3VwcG9ydGVkLgotLklQICJOVExNIgotTlRMTSBhdXRoZW50aWNhdGlvbiBpcyBzdXBwb3J0ZWQuCi0uSVAgIkRlYnVnIgotVGhpcyBjdXJsIHVzZXMgYSBsaWJjdXJsIGJ1aWx0IHdpdGggRGVidWcuIFRoaXMgZW5hYmxlcyBtb3JlIGVycm9yLXRyYWNraW5nCi1hbmQgbWVtb3J5IGRlYnVnZ2luZyBldGMuIEZvciBjdXJsLWRldmVsb3BlcnMgb25seSEKLS5JUCAiQXN5bmNoRE5TIgotVGhpcyBjdXJsIHVzZXMgYXN5bmNocm9ub3VzIG5hbWUgcmVzb2x2ZXMuIEFzeW5jaHJvbm91cyBuYW1lIHJlc29sdmVzIGNhbiBiZQotZG9uZSB1c2luZyBlaXRoZXIgdGhlIGMtYXJlcyBvciB0aGUgdGhyZWFkZWQgcmVzb2x2ZXIgYmFja2VuZHMuCi0uSVAgIlNQTkVHTyIKLVNQTkVHTyBhdXRoZW50aWNhdGlvbiBpcyBzdXBwb3J0ZWQuCi0uSVAgIkxhcmdlZmlsZSIKLVRoaXMgY3VybCBzdXBwb3J0cyB0cmFuc2ZlcnMgb2YgbGFyZ2UgZmlsZXMsIGZpbGVzIGxhcmdlciB0aGFuIDJHQi4KLS5JUCAiSUROIgotVGhpcyBjdXJsIHN1cHBvcnRzIElETiAtIGludGVybmF0aW9uYWwgZG9tYWluIG5hbWVzLgotLklQICJHU1MtQVBJIgotR1NTLUFQSSBpcyBzdXBwb3J0ZWQuCiAuSVAgIlNTUEkiCiBTU1BJIGlzIHN1cHBvcnRlZC4KIC5JUCAiVExTLVNSUCIKIFNSUCAoU2VjdXJlIFJlbW90ZSBQYXNzd29yZCkgYXV0aGVudGljYXRpb24gaXMgc3VwcG9ydGVkIGZvciBUTFMuCi0uSVAgIkhUVFAyIgotSFRUUC8yIHN1cHBvcnQgaGFzIGJlZW4gYnVpbHQtaW4uCiAuSVAgIlVuaXhTb2NrZXRzIgogVW5peCBzb2NrZXRzIHN1cHBvcnQgaXMgcHJvdmlkZWQuCi0uSVAgIkhUVFBTLXByb3h5IgotVGhpcyBjdXJsIGlzIGJ1aWx0IHRvIHN1cHBvcnQgSFRUUFMgcHJveHkuCi0uSVAgIk1ldGFsaW5rIgotVGhpcyBjdXJsIHN1cHBvcnRzIE1ldGFsaW5rIChib3RoIHZlcnNpb24gMyBhbmQgNCAoUkZDIDU4NTQpKSwgd2hpY2gKLWRlc2NyaWJlcyBtaXJyb3JzIGFuZCBoYXNoZXMuICBjdXJsIHdpbGwgdXNlIG1pcnJvcnMgZm9yIGZhaWxvdmVyIGlmCi10aGVyZSBhcmUgZXJyb3JzIChzdWNoIGFzIHRoZSBmaWxlIG9yIHNlcnZlciBub3QgYmVpbmcgYXZhaWxhYmxlKS4KLS5JUCAiUFNMIgotUFNMIGlzIHNob3J0IGZvciBQdWJsaWMgU3VmZml4IExpc3QgYW5kIG1lYW5zIHRoYXQgdGhpcyBjdXJsIGhhcyBiZWVuIGJ1aWx0Ci13aXRoIGtub3dsZWRnZSBhYm91dCAicHVibGljIHN1ZmZpeGVzIi4KLS5JUCAiTXVsdGlTU0wiCi1UaGlzIGN1cmwgc3VwcG9ydHMgbXVsdGlwbGUgVExTIGJhY2tlbmRzLgogLlJFCiAuSVAgIi13LCAtLXdyaXRlLW91dCA8Zm9ybWF0PiIKIE1ha2UgY3VybCBkaXNwbGF5IGluZm9ybWF0aW9uIG9uIHN0ZG91dCBhZnRlciBhIGNvbXBsZXRlZCB0cmFuc2Zlci4gVGhlIGZvcm1hdApAQCAtMjg1Nyw2ICsyODg4LDEwIEBACiAuQiByZW1vdGVfcG9ydAogVGhlIHJlbW90ZSBwb3J0IG51bWJlciBvZiB0aGUgbW9zdCByZWNlbnRseSBkb25lIGNvbm5lY3Rpb24gKEFkZGVkIGluIDcuMjkuMCkKIC5UUAorLkIgcmVzcG9uc2VfY29kZQorVGhlIG51bWVyaWNhbCByZXNwb25zZSBjb2RlIHRoYXQgd2FzIGZvdW5kIGluIHRoZSBsYXN0IHRyYW5zZmVyIChmb3JtZXJseQora25vd24gYXMgImh0dHBfY29kZSIpLiAoQWRkZWQgaW4gNy4xOC4yKQorLlRQCiAuQiBzY2hlbWUKIFRoZSBVUkwgc2NoZW1lIChzb21ldGltZXMgY2FsbGVkIHByb3RvY29sKSB0aGF0IHdhcyBlZmZlY3RpdmVseSB1c2VkIChBZGRlZCBpbiA3LjUyLjApCiAuVFAKQEAgLTI5NzQsNyArMzAwOSwyMyBAQAogCiBUaGUgbGlzdCBvZiBob3N0IG5hbWVzIGNhbiBhbHNvIGJlIGluY2x1ZGUgbnVtZXJpY2FsIElQIGFkZHJlc3NlcywgYW5kIElQdjYKIHZlcnNpb25zIHNob3VsZCB0aGVuIGJlIGdpdmVuIHdpdGhvdXQgZW5jbG9zaW5nIGJyYWNrZXRzLgotCisuSVAgIkNVUkxfU1NMX0JBQ0tFTkQgPFRMUyBiYWNrZW5kPiIKK0lmIGN1cmwgd2FzIGJ1aWx0IHdpdGggc3VwcG9ydCBmb3IgIk11bHRpU1NMIiwgbWVhbmluZyB0aGF0IGl0IGhhcyBidWlsdC1pbgorc3VwcG9ydCBmb3IgbW9yZSB0aGFuIG9uZSBUTFMgYmFja2VuZCwgdGhpcyBlbnZpcm9ubWVudCB2YXJpYWJsZSBjYW4gYmUgc2V0IHRvCit0aGUgY2FzZSBpbnNlbnNpdGl2ZSBuYW1lIG9mIHRoZSBwYXJ0aWN1bGFyIGJhY2tlbmQgdG8gdXNlIHdoZW4gY3VybCBpcworaW52b2t2ZWQuIFNldHRpbmcgYSBuYW1lIHRoYXQgaXNuJ3QgYSBidWlsdC1pbiBhbHRlcm5hdGl2ZSwgd2lsbCBtYWtlIGN1cmwKK3N0YXkgd2l0aCB0aGUgZGVmYXVsdC4KKy5JUCAiUUxPR0RJUiA8ZGlyZWN0b3J5IG5hbWU+IgorSWYgY3VybCB3YXMgYnVpbHQgd2l0aCBIVFRQLzMgc3VwcG9ydCwgc2V0dGluZyB0aGlzIGVudmlyb25tZW50IHZhcmlhYmxlIHRvIGEKK2xvY2FsIGRpcmVjdG9yeSB3aWxsIG1ha2UgY3VybCBwcm9kdWNlIHFsb2dzIGluIHRoYXQgZGlyZWN0b3J5LCB1c2luZyBmaWxlCituYW1lcyBuYW1lZCBhZnRlciB0aGUgZGVzdGluYXRpb24gY29ubmVjdGlvbiBpZCAoaW4gaGV4KS4gRG8gbm90ZSB0aGF0IHRoZXNlCitmaWxlcyBjYW4gYmVjb21lIHJhdGhlciBsYXJnZS4gV29ya3Mgd2l0aCBib3RoIFFVSUMgYmFja2VuZHMuCisuSVAgIlNTTEtFWUxPR0ZJTEUgPGZpbGUgbmFtZT4iCitJZiB5b3Ugc2V0IHRoaXMgZW52aXJvbm1lbnQgdmFyaWFibGUgdG8gYSBmaWxlIG5hbWUsIGN1cmwgd2lsbCBzdG9yZSBUTFMKK3NlY3JldHMgZnJvbSBpdHMgY29ubmVjdGlvbnMgaW4gdGhhdCBmaWxlIHdoZW4gaW52b2tlZCB0byBlbmFibGUgeW91IHRvCithbmFseXplIHRoZSBUTFMgdHJhZmZpYyBpbiByZWFsIHRpbWUgdXNpbmcgbmV0d29yayBhbmFseXppbmcgdG9vbHMgc3VjaCBhcworV2lyZXNoYXJrLiBUaGlzIHdvcmtzIHdpdGggdGhlIGZvbGxvd2luZyBUTFMgYmFja2VuZHM6IE9wZW5TU0wsIGxpYnJlc3NsLAorQm9yaW5nU1NMLCBHbnVUTFMsIE5TUyBhbmQgd29sZlNTTC4KIC5TSCAiUFJPWFkgUFJPVE9DT0wgUFJFRklYRVMiCiBTaW5jZSBjdXJsIHZlcnNpb24gNy4yMS43LCB0aGUgcHJveHkgc3RyaW5nIG1heSBiZSBzcGVjaWZpZWQgd2l0aCBhCiBwcm90b2NvbDovLyBwcmVmaXggdG8gc3BlY2lmeSBhbHRlcm5hdGl2ZSBwcm94eSBwcm90b2NvbHMuCmRpZmYgLS1naXQgYS9kb2NzL2V4YW1wbGVzL01ha2VmaWxlLmFtIGIvZG9jcy9leGFtcGxlcy9NYWtlZmlsZS5hbQppbmRleCA1Mzg2N2NiLi5kYjRkMTIzIDEwMDY0NAotLS0gYS9kb2NzL2V4YW1wbGVzL01ha2VmaWxlLmFtCisrKyBiL2RvY3MvZXhhbXBsZXMvTWFrZWZpbGUuYW0KQEAgLTUsNyArNSw3IEBACiAjICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgKF9ffCB8X3wgfCAgXyA8fCB8X19fCiAjICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcX19ffFxfX18vfF98IFxfXF9fX19ffAogIwotIyBDb3B5cmlnaHQgKEMpIDE5OTggLSAyMDE5LCBEYW5pZWwgU3RlbmJlcmcsIDxkYW5pZWxAaGF4eC5zZT4sIGV0IGFsLgorIyBDb3B5cmlnaHQgKEMpIDE5OTggLSAyMDIwLCBEYW5pZWwgU3RlbmJlcmcsIDxkYW5pZWxAaGF4eC5zZT4sIGV0IGFsLgogIwogIyBUaGlzIHNvZnR3YXJlIGlzIGxpY2Vuc2VkIGFzIGRlc2NyaWJlZCBpbiB0aGUgZmlsZSBDT1BZSU5HLCB3aGljaAogIyB5b3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYXMgcGFydCBvZiB0aGlzIGRpc3RyaWJ1dGlvbi4gVGhlIHRlcm1zCkBAIC02Nyw0ICs2Nyw0IEBACiBDU18gPSAkKENTXzApCiAKIGNoZWNrc3JjOgotCSQoQ0hFQ0tTUkMpKEBQRVJMQCAkKHRvcF9zcmNkaXIpL2xpYi9jaGVja3NyYy5wbCAtQVNOUFJJTlRGICQoc3JjZGlyKS8qLmMpCisJJChDSEVDS1NSQykoQFBFUkxAICQodG9wX3NyY2RpcikvbGliL2NoZWNrc3JjLnBsICQoc3JjZGlyKS8qLmMpCmRpZmYgLS1naXQgYS9kb2NzL2V4YW1wbGVzL01ha2VmaWxlLmluYyBiL2RvY3MvZXhhbXBsZXMvTWFrZWZpbGUuaW5jCmluZGV4IGI1ODhiNWYuLjc5YzllNTAgMTAwNjQ0Ci0tLSBhL2RvY3MvZXhhbXBsZXMvTWFrZWZpbGUuaW5jCisrKyBiL2RvY3MvZXhhbXBsZXMvTWFrZWZpbGUuaW5jCkBAIC01LDcgKzUsNyBAQAogIyAgICAgICAgICAgICAgICAgICAgICAgICAgICB8IChfX3wgfF98IHwgIF8gPHwgfF9fXwogIyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXF9fX3xcX19fL3xffCBcX1xfX19fX3wKICMKLSMgQ29weXJpZ2h0IChDKSAxOTk4IC0gMjAxOSwgRGFuaWVsIFN0ZW5iZXJnLCA8ZGFuaWVsQGhheHguc2U+LCBldCBhbC4KKyMgQ29weXJpZ2h0IChDKSAxOTk4IC0gMjAyMCwgRGFuaWVsIFN0ZW5iZXJnLCA8ZGFuaWVsQGhheHguc2U+LCBldCBhbC4KICMKICMgVGhpcyBzb2Z0d2FyZSBpcyBsaWNlbnNlZCBhcyBkZXNjcmliZWQgaW4gdGhlIGZpbGUgQ09QWUlORywgd2hpY2gKICMgeW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGFzIHBhcnQgb2YgdGhpcyBkaXN0cmlidXRpb24uIFRoZSB0ZXJtcwpAQCAtNDMsNiArNDMsNiBAQAogQ09NUExJQ0FURURfRVhBTVBMRVMgPSBjdXJsZ3RrLmMgY3VybHguYyBodG1sdGl0bGUuY3BwIGNhY2VydGlubWVtLmMgXAogICBnaGlwZXIuYyBoaXBlcmZpZm8uYyBodG1sdGlkeS5jIG11bHRpdGhyZWFkLmMgb3BlbnNzbHRocmVhZGxvY2suYyBcCiAgIHNhbXBsZWNvbnYuYyBzeW5jdGltZS5jIHRocmVhZGVkLXNzbC5jIGV2aGlwZXJmaWZvLmMgXAotICBzbW9vdGgtZ3RrLXRocmVhZC5jIHZlcnNpb24tY2hlY2sucGwgaHJlZl9leHRyYWN0b3IuYyBhc2lvaGlwZXIuY3BwIFwKKyAgc21vb3RoLWd0ay10aHJlYWQuYyB2ZXJzaW9uLWNoZWNrLnBsIGhyZWZfZXh0cmFjdG9yLmMgXAogICBtdWx0aS11di5jIHhtbHN0cmVhbS5jIHVzZXJjZXJ0aW5tZW0uYyBzZXNzaW9uaW5mby5jIFwKICAgdGhyZWFkZWQtc2hhcmVkLWNvbm4uYyBjcmF3bGVyLmMgZXBoaXBlcmZpZm8uYyBtdWx0aS1ldmVudC5jCmRpZmYgLS1naXQgYS9kb2NzL2V4YW1wbGVzL2FueWF1dGhwdXQuYyBiL2RvY3MvZXhhbXBsZXMvYW55YXV0aHB1dC5jCmluZGV4IGE2ZWNiMzEuLjdmYWY5M2QgMTAwNjQ0Ci0tLSBhL2RvY3MvZXhhbXBsZXMvYW55YXV0aHB1dC5jCisrKyBiL2RvY3MvZXhhbXBsZXMvYW55YXV0aHB1dC5jCkBAIC01LDcgKzUsNyBAQAogICogICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAoX198IHxffCB8ICBfIDx8IHxfX18KICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcX19ffFxfX18vfF98IFxfXF9fX19ffAogICoKLSAqIENvcHlyaWdodCAoQykgMTk5OCAtIDIwMTksIERhbmllbCBTdGVuYmVyZywgPGRhbmllbEBoYXh4LnNlPiwgZXQgYWwuCisgKiBDb3B5cmlnaHQgKEMpIDE5OTggLSAyMDIwLCBEYW5pZWwgU3RlbmJlcmcsIDxkYW5pZWxAaGF4eC5zZT4sIGV0IGFsLgogICoKICAqIFRoaXMgc29mdHdhcmUgaXMgbGljZW5zZWQgYXMgZGVzY3JpYmVkIGluIHRoZSBmaWxlIENPUFlJTkcsIHdoaWNoCiAgKiB5b3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYXMgcGFydCBvZiB0aGlzIGRpc3RyaWJ1dGlvbi4gVGhlIHRlcm1zCkBAIC0yMCw3ICsyMCw3IEBACiAgKgogICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KIC8qIDxERVNDPgotICogSFRUUCBQVVQgdXBsb2FkIHdpdGggYXV0aGVudGljdGlvbiB1c2luZyAiYW55IiBtZXRob2QuIGxpYmN1cmwgcGlja3MgdGhlCisgKiBIVFRQIFBVVCB1cGxvYWQgd2l0aCBhdXRoZW50aWNhdGlvbiB1c2luZyAiYW55IiBtZXRob2QuIGxpYmN1cmwgcGlja3MgdGhlCiAgKiBvbmUgdGhlIHNlcnZlciBzdXBwb3J0cy93YW50cy4KICAqIDwvREVTQz4KICAqLwpAQCAtNDQsNyArNDQsNyBAQAogI2VuZGlmCiAKIC8qCi0gKiBUaGlzIGV4YW1wbGUgc2hvd3MgYSBIVFRQIFBVVCBvcGVyYXRpb24gd2l0aCBhdXRoZW50aWN0aW9uIHVzaW5nICJhbnkiCisgKiBUaGlzIGV4YW1wbGUgc2hvd3MgYSBIVFRQIFBVVCBvcGVyYXRpb24gd2l0aCBhdXRoZW50aWNhdGlvbiB1c2luZyAiYW55IgogICogdHlwZS4gSXQgUFVUcyBhIGZpbGUgZ2l2ZW4gYXMgYSBjb21tYW5kIGxpbmUgYXJndW1lbnQgdG8gdGhlIFVSTCBhbHNvIGdpdmVuCiAgKiBvbiB0aGUgY29tbWFuZCBsaW5lLgogICoKZGlmZiAtLWdpdCBhL2RvY3MvZXhhbXBsZXMvYXNpb2hpcGVyLmNwcCBiL2RvY3MvZXhhbXBsZXMvYXNpb2hpcGVyLmNwcApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZGUxNDgwNS4uMDAwMDAwMAotLS0gYS9kb2NzL2V4YW1wbGVzL2FzaW9oaXBlci5jcHAKKysrIC9kZXYvbnVsbApAQCAtMSw0OTYgKzAsMCBAQAotLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgotICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXyAgIF8gX19fXyAgXwotICogIFByb2plY3QgICAgICAgICAgICAgICAgICAgICBfX198IHwgfCB8ICBfIFx8IHwKLSAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvIF9ffCB8IHwgfCB8XykgfCB8Ci0gKiAgICAgICAgICAgICAgICAgICAgICAgICAgICB8IChfX3wgfF98IHwgIF8gPHwgfF9fXwotICogICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxfX198XF9fXy98X3wgXF9cX19fX198Ci0gKgotICogQ29weXJpZ2h0IChDKSAyMDEyIC0gMjAxOCwgRGFuaWVsIFN0ZW5iZXJnLCA8ZGFuaWVsQGhheHguc2U+LCBldCBhbC4KLSAqCi0gKiBUaGlzIHNvZnR3YXJlIGlzIGxpY2Vuc2VkIGFzIGRlc2NyaWJlZCBpbiB0aGUgZmlsZSBDT1BZSU5HLCB3aGljaAotICogeW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGFzIHBhcnQgb2YgdGhpcyBkaXN0cmlidXRpb24uIFRoZSB0ZXJtcwotICogYXJlIGFsc28gYXZhaWxhYmxlIGF0IGh0dHBzOi8vY3VybC5oYXh4LnNlL2RvY3MvY29weXJpZ2h0Lmh0bWwuCi0gKgotICogWW91IG1heSBvcHQgdG8gdXNlLCBjb3B5LCBtb2RpZnksIG1lcmdlLCBwdWJsaXNoLCBkaXN0cmlidXRlIGFuZC9vciBzZWxsCi0gKiBjb3BpZXMgb2YgdGhlIFNvZnR3YXJlLCBhbmQgcGVybWl0IHBlcnNvbnMgdG8gd2hvbSB0aGUgU29mdHdhcmUgaXMKLSAqIGZ1cm5pc2hlZCB0byBkbyBzbywgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBDT1BZSU5HIGZpbGUuCi0gKgotICogVGhpcyBzb2Z0d2FyZSBpcyBkaXN0cmlidXRlZCBvbiBhbiAiQVMgSVMiIGJhc2lzLCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFOWQotICogS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC4KLSAqCi0gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLwotCi0vKiA8REVTQz4KLSAqIGRlbW9uc3RyYXRlIHRoZSB1c2Ugb2YgbXVsdGkgc29ja2V0IGludGVyZmFjZSB3aXRoIGJvb3N0Ojphc2lvCi0gKiA8L0RFU0M+Ci0gKi8KLS8qCi0gKiBUaGlzIHByb2dyYW0gaXMgaW4gYysrIGFuZCB1c2VzIGJvb3N0Ojphc2lvIGluc3RlYWQgb2YgbGliZXZlbnQvbGliZXYuCi0gKiBSZXF1aXJlcyBib29zdDo6YXNpbywgYm9vc3Q6OmJpbmQgYW5kIGJvb3N0OjpzeXN0ZW0KLSAqCi0gKiBUaGlzIGlzIGFuIGFkYXB0YXRpb24gb2YgbGliY3VybCdzICJoaXBlcmZpZm8uYyIgYW5kICJldmhpcGVyZmlmby5jIgotICogc2FtcGxlIHByb2dyYW1zLiBUaGlzIGV4YW1wbGUgaW1wbGVtZW50cyBhIHN1YnNldCBvZiB0aGUgZnVuY3Rpb25hbGl0eSBmcm9tCi0gKiBoaXBlcmZpZm8uYywgZm9yIGZ1bGwgZnVuY3Rpb25hbGl0eSByZWZlciBoaXBlcmZpZm8uYyBvciBldmhpcGVyZmlmby5jCi0gKgotICogV3JpdHRlbiBieSBMaWpvIEFudG9ueSBiYXNlZCBvbiBoaXBlcmZpZm8uYyBieSBKZWZmIFBvaGxtZXllcgotICoKLSAqIFdoZW4gcnVubmluZywgdGhlIHByb2dyYW0gY3JlYXRlcyBhbiBlYXN5IGhhbmRsZSBmb3IgYSBVUkwgYW5kCi0gKiB1c2VzIHRoZSBjdXJsX211bHRpIEFQSSB0byBmZXRjaCBpdC4KLSAqCi0gKiBOb3RlOgotICogIEZvciB0aGUgc2FrZSBvZiBzaW1wbGljaXR5LCBVUkwgaXMgaGFyZCBjb2RlZCB0byAid3d3Lmdvb2dsZS5jb20iCi0gKgotICogVGhpcyBpcyBwdXJlbHkgYSBkZW1vIGFwcCwgYWxsIHJldHJpZXZlZCBkYXRhIGlzIHNpbXBseSBkaXNjYXJkZWQgYnkgdGhlCi0gKiB3cml0ZSBjYWxsYmFjay4KLSAqCi0gKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLSAqIFdBUk5JTkc6IFRoaXMgZXhhbXBsZSBwcm9ncmFtIGlzIGtub3duIHRvIGhhdmUgZmxhd3M6Ci0gKiBodHRwczovL2dpdGh1Yi5jb20vY3VybC9jdXJsL2lzc3Vlcy8yNDA3Ci0gKgotICogSXQgc3RpbGwga2VwdCBpbiB0aGUgZXhhbXBsZSByZXBvc2l0b3J5IHdpdGggdGhlIGhvcGUgdGhhdCBpdCBtaWdodCBiZQotICogdXNlZnVsLCBhbmQgbWF5YmUgc29tZSBkYXkgc29tZW9uZSB3aG8ga25vd3MgZW5vdWdoIGFib3V0IGJvb3N0Ojphc2lvIHdpbGwKLSAqIHJlYWQgdGhpcyB0ZXh0LCBhY2NlcHQgdGhlIGNoYWxsZW5nZSBhbmQgbWFrZSB0aGUgZXhhbXBsZSBjb2RlIHdvcmsKLSAqIGNvcnJlY3RseS4gVW50aWwgdGhlbjogZXhwZWN0IHRoaXMgZXhhbXBsZSBwcm9ncmFtIHRvIGZhaWwgb2NjYXNpb25hbGx5LgotICogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0gKi8KLQotCi0jaW5jbHVkZSA8Y3VybC9jdXJsLmg+Ci0jaW5jbHVkZSA8Ym9vc3QvYXNpby5ocHA+Ci0jaW5jbHVkZSA8Ym9vc3QvYmluZC5ocHA+Ci0jaW5jbHVkZSA8aW9zdHJlYW0+Ci0KLSNkZWZpbmUgTVNHX09VVCBzdGRvdXQgLyogU2VuZCBpbmZvIHRvIHN0ZG91dCwgY2hhbmdlIHRvIHN0ZGVyciBpZiB5b3Ugd2FudCAqLwotCi0vKiBib29zdDo6YXNpbyByZWxhdGVkIG9iamVjdHMKLSAqIHVzaW5nIGdsb2JhbCB2YXJpYWJsZXMgZm9yIHNpbXBsaWNpdHkKLSAqLwotYm9vc3Q6OmFzaW86OmlvX3NlcnZpY2UgaW9fc2VydmljZTsKLWJvb3N0Ojphc2lvOjpkZWFkbGluZV90aW1lciB0aW1lcihpb19zZXJ2aWNlKTsKLXN0ZDo6bWFwPGN1cmxfc29ja2V0X3QsIGJvb3N0Ojphc2lvOjppcDo6dGNwOjpzb2NrZXQgKj4gc29ja2V0X21hcDsKLQotLyogR2xvYmFsIGluZm9ybWF0aW9uLCBjb21tb24gdG8gYWxsIGNvbm5lY3Rpb25zICovCi10eXBlZGVmIHN0cnVjdCBfR2xvYmFsSW5mbwotewotICBDVVJMTSAqbXVsdGk7Ci0gIGludCBzdGlsbF9ydW5uaW5nOwotfSBHbG9iYWxJbmZvOwotCi0vKiBJbmZvcm1hdGlvbiBhc3NvY2lhdGVkIHdpdGggYSBzcGVjaWZpYyBlYXN5IGhhbmRsZSAqLwotdHlwZWRlZiBzdHJ1Y3QgX0Nvbm5JbmZvCi17Ci0gIENVUkwgKmVhc3k7Ci0gIGNoYXIgKnVybDsKLSAgR2xvYmFsSW5mbyAqZ2xvYmFsOwotICBjaGFyIGVycm9yW0NVUkxfRVJST1JfU0laRV07Ci19IENvbm5JbmZvOwotCi1zdGF0aWMgdm9pZCB0aW1lcl9jYihjb25zdCBib29zdDo6c3lzdGVtOjplcnJvcl9jb2RlICYgZXJyb3IsIEdsb2JhbEluZm8gKmcpOwotCi0vKiBVcGRhdGUgdGhlIGV2ZW50IHRpbWVyIGFmdGVyIGN1cmxfbXVsdGkgbGlicmFyeSBjYWxscyAqLwotc3RhdGljIGludCBtdWx0aV90aW1lcl9jYihDVVJMTSAqbXVsdGksIGxvbmcgdGltZW91dF9tcywgR2xvYmFsSW5mbyAqZykKLXsKLSAgZnByaW50ZihNU0dfT1VULCAiXG5tdWx0aV90aW1lcl9jYjogdGltZW91dF9tcyAlbGQiLCB0aW1lb3V0X21zKTsKLQotICAvKiBjYW5jZWwgcnVubmluZyB0aW1lciAqLwotICB0aW1lci5jYW5jZWwoKTsKLQotICBpZih0aW1lb3V0X21zID4gMCkgewotICAgIC8qIHVwZGF0ZSB0aW1lciAqLwotICAgIHRpbWVyLmV4cGlyZXNfZnJvbV9ub3coYm9vc3Q6OnBvc2l4X3RpbWU6Om1pbGxpc2VjKHRpbWVvdXRfbXMpKTsKLSAgICB0aW1lci5hc3luY193YWl0KGJvb3N0OjpiaW5kKCZ0aW1lcl9jYiwgXzEsIGcpKTsKLSAgfQotICBlbHNlIGlmKHRpbWVvdXRfbXMgPT0gMCkgewotICAgIC8qIGNhbGwgdGltZW91dCBmdW5jdGlvbiBpbW1lZGlhdGVseSAqLwotICAgIGJvb3N0OjpzeXN0ZW06OmVycm9yX2NvZGUgZXJyb3I7IC8qc3VjY2VzcyovCi0gICAgdGltZXJfY2IoZXJyb3IsIGcpOwotICB9Ci0KLSAgcmV0dXJuIDA7Ci19Ci0KLS8qIERpZSBpZiB3ZSBnZXQgYSBiYWQgQ1VSTE1jb2RlIHNvbWV3aGVyZSAqLwotc3RhdGljIHZvaWQgbWNvZGVfb3JfZGllKGNvbnN0IGNoYXIgKndoZXJlLCBDVVJMTWNvZGUgY29kZSkKLXsKLSAgaWYoQ1VSTE1fT0sgIT0gY29kZSkgewotICAgIGNvbnN0IGNoYXIgKnM7Ci0gICAgc3dpdGNoKGNvZGUpIHsKLSAgICBjYXNlIENVUkxNX0NBTExfTVVMVElfUEVSRk9STToKLSAgICAgIHMgPSAiQ1VSTE1fQ0FMTF9NVUxUSV9QRVJGT1JNIjsKLSAgICAgIGJyZWFrOwotICAgIGNhc2UgQ1VSTE1fQkFEX0hBTkRMRToKLSAgICAgIHMgPSAiQ1VSTE1fQkFEX0hBTkRMRSI7Ci0gICAgICBicmVhazsKLSAgICBjYXNlIENVUkxNX0JBRF9FQVNZX0hBTkRMRToKLSAgICAgIHMgPSAiQ1VSTE1fQkFEX0VBU1lfSEFORExFIjsKLSAgICAgIGJyZWFrOwotICAgIGNhc2UgQ1VSTE1fT1VUX09GX01FTU9SWToKLSAgICAgIHMgPSAiQ1VSTE1fT1VUX09GX01FTU9SWSI7Ci0gICAgICBicmVhazsKLSAgICBjYXNlIENVUkxNX0lOVEVSTkFMX0VSUk9SOgotICAgICAgcyA9ICJDVVJMTV9JTlRFUk5BTF9FUlJPUiI7Ci0gICAgICBicmVhazsKLSAgICBjYXNlIENVUkxNX1VOS05PV05fT1BUSU9OOgotICAgICAgcyA9ICJDVVJMTV9VTktOT1dOX09QVElPTiI7Ci0gICAgICBicmVhazsKLSAgICBjYXNlIENVUkxNX0xBU1Q6Ci0gICAgICBzID0gIkNVUkxNX0xBU1QiOwotICAgICAgYnJlYWs7Ci0gICAgZGVmYXVsdDoKLSAgICAgIHMgPSAiQ1VSTE1fdW5rbm93biI7Ci0gICAgICBicmVhazsKLSAgICBjYXNlIENVUkxNX0JBRF9TT0NLRVQ6Ci0gICAgICBzID0gIkNVUkxNX0JBRF9TT0NLRVQiOwotICAgICAgZnByaW50ZihNU0dfT1VULCAiXG5FUlJPUjogJXMgcmV0dXJucyAlcyIsIHdoZXJlLCBzKTsKLSAgICAgIC8qIGlnbm9yZSB0aGlzIGVycm9yICovCi0gICAgICByZXR1cm47Ci0gICAgfQotCi0gICAgZnByaW50ZihNU0dfT1VULCAiXG5FUlJPUjogJXMgcmV0dXJucyAlcyIsIHdoZXJlLCBzKTsKLQotICAgIGV4aXQoY29kZSk7Ci0gIH0KLX0KLQotLyogQ2hlY2sgZm9yIGNvbXBsZXRlZCB0cmFuc2ZlcnMsIGFuZCByZW1vdmUgdGhlaXIgZWFzeSBoYW5kbGVzICovCi1zdGF0aWMgdm9pZCBjaGVja19tdWx0aV9pbmZvKEdsb2JhbEluZm8gKmcpCi17Ci0gIGNoYXIgKmVmZl91cmw7Ci0gIENVUkxNc2cgKm1zZzsKLSAgaW50IG1zZ3NfbGVmdDsKLSAgQ29ubkluZm8gKmNvbm47Ci0gIENVUkwgKmVhc3k7Ci0gIENVUkxjb2RlIHJlczsKLQotICBmcHJpbnRmKE1TR19PVVQsICJcblJFTUFJTklORzogJWQiLCBnLT5zdGlsbF9ydW5uaW5nKTsKLQotICB3aGlsZSgobXNnID0gY3VybF9tdWx0aV9pbmZvX3JlYWQoZy0+bXVsdGksICZtc2dzX2xlZnQpKSkgewotICAgIGlmKG1zZy0+bXNnID09IENVUkxNU0dfRE9ORSkgewotICAgICAgZWFzeSA9IG1zZy0+ZWFzeV9oYW5kbGU7Ci0gICAgICByZXMgPSBtc2ctPmRhdGEucmVzdWx0OwotICAgICAgY3VybF9lYXN5X2dldGluZm8oZWFzeSwgQ1VSTElORk9fUFJJVkFURSwgJmNvbm4pOwotICAgICAgY3VybF9lYXN5X2dldGluZm8oZWFzeSwgQ1VSTElORk9fRUZGRUNUSVZFX1VSTCwgJmVmZl91cmwpOwotICAgICAgZnByaW50ZihNU0dfT1VULCAiXG5ET05FOiAlcyA9PiAoJWQpICVzIiwgZWZmX3VybCwgcmVzLCBjb25uLT5lcnJvcik7Ci0gICAgICBjdXJsX211bHRpX3JlbW92ZV9oYW5kbGUoZy0+bXVsdGksIGVhc3kpOwotICAgICAgZnJlZShjb25uLT51cmwpOwotICAgICAgY3VybF9lYXN5X2NsZWFudXAoZWFzeSk7Ci0gICAgICBmcmVlKGNvbm4pOwotICAgIH0KLSAgfQotfQotCi0vKiBDYWxsZWQgYnkgYXNpbyB3aGVuIHRoZXJlIGlzIGFuIGFjdGlvbiBvbiBhIHNvY2tldCAqLwotc3RhdGljIHZvaWQgZXZlbnRfY2IoR2xvYmFsSW5mbyAqZywgY3VybF9zb2NrZXRfdCBzLAotICAgICAgICAgICAgICAgICAgICAgaW50IGFjdGlvbiwgY29uc3QgYm9vc3Q6OnN5c3RlbTo6ZXJyb3JfY29kZSAmIGVycm9yLAotICAgICAgICAgICAgICAgICAgICAgaW50ICpmZHApCi17Ci0gIGZwcmludGYoTVNHX09VVCwgIlxuZXZlbnRfY2I6IGFjdGlvbj0lZCIsIGFjdGlvbik7Ci0KLSAgaWYoc29ja2V0X21hcC5maW5kKHMpID09IHNvY2tldF9tYXAuZW5kKCkpIHsKLSAgICBmcHJpbnRmKE1TR19PVVQsICJcbmV2ZW50X2NiOiBzb2NrZXQgYWxyZWFkeSBjbG9zZWQiKTsKLSAgICByZXR1cm47Ci0gIH0KLQotICAvKiBtYWtlIHN1cmUgdGhlIGV2ZW50IG1hdGNoZXMgd2hhdCBhcmUgd2FudGVkICovCi0gIGlmKCpmZHAgPT0gYWN0aW9uIHx8ICpmZHAgPT0gQ1VSTF9QT0xMX0lOT1VUKSB7Ci0gICAgQ1VSTE1jb2RlIHJjOwotICAgIGlmKGVycm9yKQotICAgICAgYWN0aW9uID0gQ1VSTF9DU0VMRUNUX0VSUjsKLSAgICByYyA9IGN1cmxfbXVsdGlfc29ja2V0X2FjdGlvbihnLT5tdWx0aSwgcywgYWN0aW9uLCAmZy0+c3RpbGxfcnVubmluZyk7Ci0KLSAgICBtY29kZV9vcl9kaWUoImV2ZW50X2NiOiBjdXJsX211bHRpX3NvY2tldF9hY3Rpb24iLCByYyk7Ci0gICAgY2hlY2tfbXVsdGlfaW5mbyhnKTsKLQotICAgIGlmKGctPnN0aWxsX3J1bm5pbmcgPD0gMCkgewotICAgICAgZnByaW50ZihNU0dfT1VULCAiXG5sYXN0IHRyYW5zZmVyIGRvbmUsIGtpbGwgdGltZW91dCIpOwotICAgICAgdGltZXIuY2FuY2VsKCk7Ci0gICAgfQotCi0gICAgLyoga2VlcCBvbiB3YXRjaGluZy4KLSAgICAgKiB0aGUgc29ja2V0IG1heSBoYXZlIGJlZW4gY2xvc2VkIGFuZC9vciBmZHAgbWF5IGhhdmUgYmVlbiBjaGFuZ2VkCi0gICAgICogaW4gY3VybF9tdWx0aV9zb2NrZXRfYWN0aW9uKCksIHNvIGNoZWNrIHRoZW0gYm90aCAqLwotICAgIGlmKCFlcnJvciAmJiBzb2NrZXRfbWFwLmZpbmQocykgIT0gc29ja2V0X21hcC5lbmQoKSAmJgotICAgICAgICgqZmRwID09IGFjdGlvbiB8fCAqZmRwID09IENVUkxfUE9MTF9JTk9VVCkpIHsKLSAgICAgIGJvb3N0Ojphc2lvOjppcDo6dGNwOjpzb2NrZXQgKnRjcF9zb2NrZXQgPSBzb2NrZXRfbWFwLmZpbmQocyktPnNlY29uZDsKLQotICAgICAgaWYoYWN0aW9uID09IENVUkxfUE9MTF9JTikgewotICAgICAgICB0Y3Bfc29ja2V0LT5hc3luY19yZWFkX3NvbWUoYm9vc3Q6OmFzaW86Om51bGxfYnVmZmVycygpLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYm9vc3Q6OmJpbmQoJmV2ZW50X2NiLCBnLCBzLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYWN0aW9uLCBfMSwgZmRwKSk7Ci0gICAgICB9Ci0gICAgICBpZihhY3Rpb24gPT0gQ1VSTF9QT0xMX09VVCkgewotICAgICAgICB0Y3Bfc29ja2V0LT5hc3luY193cml0ZV9zb21lKGJvb3N0Ojphc2lvOjpudWxsX2J1ZmZlcnMoKSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBib29zdDo6YmluZCgmZXZlbnRfY2IsIGcsIHMsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYWN0aW9uLCBfMSwgZmRwKSk7Ci0gICAgICB9Ci0gICAgfQotICB9Ci19Ci0KLS8qIENhbGxlZCBieSBhc2lvIHdoZW4gb3VyIHRpbWVvdXQgZXhwaXJlcyAqLwotc3RhdGljIHZvaWQgdGltZXJfY2IoY29uc3QgYm9vc3Q6OnN5c3RlbTo6ZXJyb3JfY29kZSAmIGVycm9yLCBHbG9iYWxJbmZvICpnKQotewotICBpZighZXJyb3IpIHsKLSAgICBmcHJpbnRmKE1TR19PVVQsICJcbnRpbWVyX2NiOiAiKTsKLQotICAgIENVUkxNY29kZSByYzsKLSAgICByYyA9IGN1cmxfbXVsdGlfc29ja2V0X2FjdGlvbihnLT5tdWx0aSwgQ1VSTF9TT0NLRVRfVElNRU9VVCwgMCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmZy0+c3RpbGxfcnVubmluZyk7Ci0KLSAgICBtY29kZV9vcl9kaWUoInRpbWVyX2NiOiBjdXJsX211bHRpX3NvY2tldF9hY3Rpb24iLCByYyk7Ci0gICAgY2hlY2tfbXVsdGlfaW5mbyhnKTsKLSAgfQotfQotCi0vKiBDbGVhbiB1cCBhbnkgZGF0YSAqLwotc3RhdGljIHZvaWQgcmVtc29jayhpbnQgKmYsIEdsb2JhbEluZm8gKmcpCi17Ci0gIGZwcmludGYoTVNHX09VVCwgIlxucmVtc29jazogIik7Ci0KLSAgaWYoZikgewotICAgIGZyZWUoZik7Ci0gIH0KLX0KLQotc3RhdGljIHZvaWQgc2V0c29jayhpbnQgKmZkcCwgY3VybF9zb2NrZXRfdCBzLCBDVVJMICplLCBpbnQgYWN0LCBpbnQgb2xkYWN0LAotICAgICAgICAgICAgICAgICAgICBHbG9iYWxJbmZvICpnKQotewotICBmcHJpbnRmKE1TR19PVVQsICJcbnNldHNvY2s6IHNvY2tldD0lZCwgYWN0PSVkLCBmZHA9JXAiLCBzLCBhY3QsIGZkcCk7Ci0KLSAgc3RkOjptYXA8Y3VybF9zb2NrZXRfdCwgYm9vc3Q6OmFzaW86OmlwOjp0Y3A6OnNvY2tldCAqPjo6aXRlcmF0b3IgaXQgPQotICAgIHNvY2tldF9tYXAuZmluZChzKTsKLQotICBpZihpdCA9PSBzb2NrZXRfbWFwLmVuZCgpKSB7Ci0gICAgZnByaW50ZihNU0dfT1VULCAiXG5zb2NrZXQgJWQgaXMgYSBjLWFyZXMgc29ja2V0LCBpZ25vcmluZyIsIHMpOwotICAgIHJldHVybjsKLSAgfQotCi0gIGJvb3N0Ojphc2lvOjppcDo6dGNwOjpzb2NrZXQgKiB0Y3Bfc29ja2V0ID0gaXQtPnNlY29uZDsKLQotICAqZmRwID0gYWN0OwotCi0gIGlmKGFjdCA9PSBDVVJMX1BPTExfSU4pIHsKLSAgICBmcHJpbnRmKE1TR19PVVQsICJcbndhdGNoaW5nIGZvciBzb2NrZXQgdG8gYmVjb21lIHJlYWRhYmxlIik7Ci0gICAgaWYob2xkYWN0ICE9IENVUkxfUE9MTF9JTiAmJiBvbGRhY3QgIT0gQ1VSTF9QT0xMX0lOT1VUKSB7Ci0gICAgICB0Y3Bfc29ja2V0LT5hc3luY19yZWFkX3NvbWUoYm9vc3Q6OmFzaW86Om51bGxfYnVmZmVycygpLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJvb3N0OjpiaW5kKCZldmVudF9jYiwgZywgcywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBDVVJMX1BPTExfSU4sIF8xLCBmZHApKTsKLSAgICB9Ci0gIH0KLSAgZWxzZSBpZihhY3QgPT0gQ1VSTF9QT0xMX09VVCkgewotICAgIGZwcmludGYoTVNHX09VVCwgIlxud2F0Y2hpbmcgZm9yIHNvY2tldCB0byBiZWNvbWUgd3JpdGFibGUiKTsKLSAgICBpZihvbGRhY3QgIT0gQ1VSTF9QT0xMX09VVCAmJiBvbGRhY3QgIT0gQ1VSTF9QT0xMX0lOT1VUKSB7Ci0gICAgICB0Y3Bfc29ja2V0LT5hc3luY193cml0ZV9zb21lKGJvb3N0Ojphc2lvOjpudWxsX2J1ZmZlcnMoKSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYm9vc3Q6OmJpbmQoJmV2ZW50X2NiLCBnLCBzLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBDVVJMX1BPTExfT1VULCBfMSwgZmRwKSk7Ci0gICAgfQotICB9Ci0gIGVsc2UgaWYoYWN0ID09IENVUkxfUE9MTF9JTk9VVCkgewotICAgIGZwcmludGYoTVNHX09VVCwgIlxud2F0Y2hpbmcgZm9yIHNvY2tldCB0byBiZWNvbWUgcmVhZGFibGUgJiB3cml0YWJsZSIpOwotICAgIGlmKG9sZGFjdCAhPSBDVVJMX1BPTExfSU4gJiYgb2xkYWN0ICE9IENVUkxfUE9MTF9JTk9VVCkgewotICAgICAgdGNwX3NvY2tldC0+YXN5bmNfcmVhZF9zb21lKGJvb3N0Ojphc2lvOjpudWxsX2J1ZmZlcnMoKSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBib29zdDo6YmluZCgmZXZlbnRfY2IsIGcsIHMsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQ1VSTF9QT0xMX0lOLCBfMSwgZmRwKSk7Ci0gICAgfQotICAgIGlmKG9sZGFjdCAhPSBDVVJMX1BPTExfT1VUICYmIG9sZGFjdCAhPSBDVVJMX1BPTExfSU5PVVQpIHsKLSAgICAgIHRjcF9zb2NrZXQtPmFzeW5jX3dyaXRlX3NvbWUoYm9vc3Q6OmFzaW86Om51bGxfYnVmZmVycygpLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBib29zdDo6YmluZCgmZXZlbnRfY2IsIGcsIHMsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIENVUkxfUE9MTF9PVVQsIF8xLCBmZHApKTsKLSAgICB9Ci0gIH0KLX0KLQotc3RhdGljIHZvaWQgYWRkc29jayhjdXJsX3NvY2tldF90IHMsIENVUkwgKmVhc3ksIGludCBhY3Rpb24sIEdsb2JhbEluZm8gKmcpCi17Ci0gIC8qIGZkcCBpcyB1c2VkIHRvIHN0b3JlIGN1cnJlbnQgYWN0aW9uICovCi0gIGludCAqZmRwID0gKGludCAqKSBjYWxsb2Moc2l6ZW9mKGludCksIDEpOwotCi0gIHNldHNvY2soZmRwLCBzLCBlYXN5LCBhY3Rpb24sIDAsIGcpOwotICBjdXJsX211bHRpX2Fzc2lnbihnLT5tdWx0aSwgcywgZmRwKTsKLX0KLQotLyogQ1VSTE1PUFRfU09DS0VURlVOQ1RJT04gKi8KLXN0YXRpYyBpbnQgc29ja19jYihDVVJMICplLCBjdXJsX3NvY2tldF90IHMsIGludCB3aGF0LCB2b2lkICpjYnAsIHZvaWQgKnNvY2twKQotewotICBmcHJpbnRmKE1TR19PVVQsICJcbnNvY2tfY2I6IHNvY2tldD0lZCwgd2hhdD0lZCwgc29ja3A9JXAiLCBzLCB3aGF0LCBzb2NrcCk7Ci0KLSAgR2xvYmFsSW5mbyAqZyA9IChHbG9iYWxJbmZvKikgY2JwOwotICBpbnQgKmFjdGlvbnAgPSAoaW50ICopIHNvY2twOwotICBjb25zdCBjaGFyICp3aGF0c3RyW10gPSB7ICJub25lIiwgIklOIiwgIk9VVCIsICJJTk9VVCIsICJSRU1PVkUifTsKLQotICBmcHJpbnRmKE1TR19PVVQsCi0gICAgICAgICAgIlxuc29ja2V0IGNhbGxiYWNrOiBzPSVkIGU9JXAgd2hhdD0lcyAiLCBzLCBlLCB3aGF0c3RyW3doYXRdKTsKLQotICBpZih3aGF0ID09IENVUkxfUE9MTF9SRU1PVkUpIHsKLSAgICBmcHJpbnRmKE1TR19PVVQsICJcbiIpOwotICAgIHJlbXNvY2soYWN0aW9ucCwgZyk7Ci0gIH0KLSAgZWxzZSB7Ci0gICAgaWYoIWFjdGlvbnApIHsKLSAgICAgIGZwcmludGYoTVNHX09VVCwgIlxuQWRkaW5nIGRhdGE6ICVzIiwgd2hhdHN0clt3aGF0XSk7Ci0gICAgICBhZGRzb2NrKHMsIGUsIHdoYXQsIGcpOwotICAgIH0KLSAgICBlbHNlIHsKLSAgICAgIGZwcmludGYoTVNHX09VVCwKLSAgICAgICAgICAgICAgIlxuQ2hhbmdpbmcgYWN0aW9uIGZyb20gJXMgdG8gJXMiLAotICAgICAgICAgICAgICB3aGF0c3RyWyphY3Rpb25wXSwgd2hhdHN0clt3aGF0XSk7Ci0gICAgICBzZXRzb2NrKGFjdGlvbnAsIHMsIGUsIHdoYXQsICphY3Rpb25wLCBnKTsKLSAgICB9Ci0gIH0KLQotICByZXR1cm4gMDsKLX0KLQotLyogQ1VSTE9QVF9XUklURUZVTkNUSU9OICovCi1zdGF0aWMgc2l6ZV90IHdyaXRlX2NiKHZvaWQgKnB0ciwgc2l6ZV90IHNpemUsIHNpemVfdCBubWVtYiwgdm9pZCAqZGF0YSkKLXsKLSAgc2l6ZV90IHdyaXR0ZW4gPSBzaXplICogbm1lbWI7Ci0gIGNoYXIgKnBCdWZmZXIgPSAoY2hhciAqKW1hbGxvYyh3cml0dGVuICsgMSk7Ci0KLSAgc3RybmNweShwQnVmZmVyLCAoY29uc3QgY2hhciAqKXB0ciwgd3JpdHRlbik7Ci0gIHBCdWZmZXJbd3JpdHRlbl0gPSAnXDAnOwotCi0gIGZwcmludGYoTVNHX09VVCwgIiVzIiwgcEJ1ZmZlcik7Ci0KLSAgZnJlZShwQnVmZmVyKTsKLQotICByZXR1cm4gd3JpdHRlbjsKLX0KLQotLyogQ1VSTE9QVF9QUk9HUkVTU0ZVTkNUSU9OICovCi1zdGF0aWMgaW50IHByb2dfY2Iodm9pZCAqcCwgZG91YmxlIGRsdG90YWwsIGRvdWJsZSBkbG5vdywgZG91YmxlIHVsdCwKLSAgICAgICAgICAgICAgICAgICBkb3VibGUgdWxuKQotewotICBDb25uSW5mbyAqY29ubiA9IChDb25uSW5mbyAqKXA7Ci0KLSAgKHZvaWQpdWx0OwotICAodm9pZCl1bG47Ci0KLSAgZnByaW50ZihNU0dfT1VULCAiXG5Qcm9ncmVzczogJXMgKCVnLyVnKSIsIGNvbm4tPnVybCwgZGxub3csIGRsdG90YWwpOwotICBmcHJpbnRmKE1TR19PVVQsICJcblByb2dyZXNzOiAlcyAoJWcpIiwgY29ubi0+dXJsLCB1bHQpOwotCi0gIHJldHVybiAwOwotfQotCi0vKiBDVVJMT1BUX09QRU5TT0NLRVRGVU5DVElPTiAqLwotc3RhdGljIGN1cmxfc29ja2V0X3Qgb3BlbnNvY2tldCh2b2lkICpjbGllbnRwLCBjdXJsc29ja3R5cGUgcHVycG9zZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RydWN0IGN1cmxfc29ja2FkZHIgKmFkZHJlc3MpCi17Ci0gIGZwcmludGYoTVNHX09VVCwgIlxub3BlbnNvY2tldCA6Iik7Ci0KLSAgY3VybF9zb2NrZXRfdCBzb2NrZmQgPSBDVVJMX1NPQ0tFVF9CQUQ7Ci0KLSAgLyogcmVzdHJpY3QgdG8gSVB2NCAqLwotICBpZihwdXJwb3NlID09IENVUkxTT0NLVFlQRV9JUENYTiAmJiBhZGRyZXNzLT5mYW1pbHkgPT0gQUZfSU5FVCkgewotICAgIC8qIGNyZWF0ZSBhIHRjcCBzb2NrZXQgb2JqZWN0ICovCi0gICAgYm9vc3Q6OmFzaW86OmlwOjp0Y3A6OnNvY2tldCAqdGNwX3NvY2tldCA9Ci0gICAgICBuZXcgYm9vc3Q6OmFzaW86OmlwOjp0Y3A6OnNvY2tldChpb19zZXJ2aWNlKTsKLQotICAgIC8qIG9wZW4gaXQgYW5kIGdldCB0aGUgbmF0aXZlIGhhbmRsZSovCi0gICAgYm9vc3Q6OnN5c3RlbTo6ZXJyb3JfY29kZSBlYzsKLSAgICB0Y3Bfc29ja2V0LT5vcGVuKGJvb3N0Ojphc2lvOjppcDo6dGNwOjp2NCgpLCBlYyk7Ci0KLSAgICBpZihlYykgewotICAgICAgLyogQW4gZXJyb3Igb2NjdXJyZWQgKi8KLSAgICAgIHN0ZDo6Y291dCA8PCBzdGQ6OmVuZGwgPDwgIkNvdWxkbid0IG9wZW4gc29ja2V0IFsiIDw8IGVjIDw8ICJdWyIgPDwKLSAgICAgICAgZWMubWVzc2FnZSgpIDw8ICJdIjsKLSAgICAgIGZwcmludGYoTVNHX09VVCwgIlxuRVJST1I6IFJldHVybmluZyBDVVJMX1NPQ0tFVF9CQUQgdG8gc2lnbmFsIGVycm9yIik7Ci0gICAgfQotICAgIGVsc2UgewotICAgICAgc29ja2ZkID0gdGNwX3NvY2tldC0+bmF0aXZlX2hhbmRsZSgpOwotICAgICAgZnByaW50ZihNU0dfT1VULCAiXG5PcGVuZWQgc29ja2V0ICVkIiwgc29ja2ZkKTsKLQotICAgICAgLyogc2F2ZSBpdCBmb3IgbW9uaXRvcmluZyAqLwotICAgICAgc29ja2V0X21hcC5pbnNlcnQoc3RkOjpwYWlyPGN1cmxfc29ja2V0X3QsCi0gICAgICAgICAgICAgICAgICAgICAgICBib29zdDo6YXNpbzo6aXA6OnRjcDo6c29ja2V0ICo+KHNvY2tmZCwgdGNwX3NvY2tldCkpOwotICAgIH0KLSAgfQotCi0gIHJldHVybiBzb2NrZmQ7Ci19Ci0KLS8qIENVUkxPUFRfQ0xPU0VTT0NLRVRGVU5DVElPTiAqLwotc3RhdGljIGludCBjbG9zZV9zb2NrZXQodm9pZCAqY2xpZW50cCwgY3VybF9zb2NrZXRfdCBpdGVtKQotewotICBmcHJpbnRmKE1TR19PVVQsICJcbmNsb3NlX3NvY2tldCA6ICVkIiwgaXRlbSk7Ci0KLSAgc3RkOjptYXA8Y3VybF9zb2NrZXRfdCwgYm9vc3Q6OmFzaW86OmlwOjp0Y3A6OnNvY2tldCAqPjo6aXRlcmF0b3IgaXQgPQotICAgIHNvY2tldF9tYXAuZmluZChpdGVtKTsKLQotICBpZihpdCAhPSBzb2NrZXRfbWFwLmVuZCgpKSB7Ci0gICAgZGVsZXRlIGl0LT5zZWNvbmQ7Ci0gICAgc29ja2V0X21hcC5lcmFzZShpdCk7Ci0gIH0KLQotICByZXR1cm4gMDsKLX0KLQotLyogQ3JlYXRlIGEgbmV3IGVhc3kgaGFuZGxlLCBhbmQgYWRkIGl0IHRvIHRoZSBnbG9iYWwgY3VybF9tdWx0aSAqLwotc3RhdGljIHZvaWQgbmV3X2Nvbm4oY2hhciAqdXJsLCBHbG9iYWxJbmZvICpnKQotewotICBDb25uSW5mbyAqY29ubjsKLSAgQ1VSTE1jb2RlIHJjOwotCi0gIGNvbm4gPSAoQ29ubkluZm8gKikgY2FsbG9jKDEsIHNpemVvZihDb25uSW5mbykpOwotCi0gIGNvbm4tPmVhc3kgPSBjdXJsX2Vhc3lfaW5pdCgpOwotICBpZighY29ubi0+ZWFzeSkgewotICAgIGZwcmludGYoTVNHX09VVCwgIlxuY3VybF9lYXN5X2luaXQoKSBmYWlsZWQsIGV4aXRpbmchIik7Ci0gICAgZXhpdCgyKTsKLSAgfQotCi0gIGNvbm4tPmdsb2JhbCA9IGc7Ci0gIGNvbm4tPnVybCA9IHN0cmR1cCh1cmwpOwotICBjdXJsX2Vhc3lfc2V0b3B0KGNvbm4tPmVhc3ksIENVUkxPUFRfVVJMLCBjb25uLT51cmwpOwotICBjdXJsX2Vhc3lfc2V0b3B0KGNvbm4tPmVhc3ksIENVUkxPUFRfV1JJVEVGVU5DVElPTiwgd3JpdGVfY2IpOwotICBjdXJsX2Vhc3lfc2V0b3B0KGNvbm4tPmVhc3ksIENVUkxPUFRfV1JJVEVEQVRBLCAmY29ubik7Ci0gIGN1cmxfZWFzeV9zZXRvcHQoY29ubi0+ZWFzeSwgQ1VSTE9QVF9WRVJCT1NFLCAxTCk7Ci0gIGN1cmxfZWFzeV9zZXRvcHQoY29ubi0+ZWFzeSwgQ1VSTE9QVF9FUlJPUkJVRkZFUiwgY29ubi0+ZXJyb3IpOwotICBjdXJsX2Vhc3lfc2V0b3B0KGNvbm4tPmVhc3ksIENVUkxPUFRfUFJJVkFURSwgY29ubik7Ci0gIGN1cmxfZWFzeV9zZXRvcHQoY29ubi0+ZWFzeSwgQ1VSTE9QVF9OT1BST0dSRVNTLCAxTCk7Ci0gIGN1cmxfZWFzeV9zZXRvcHQoY29ubi0+ZWFzeSwgQ1VSTE9QVF9QUk9HUkVTU0ZVTkNUSU9OLCBwcm9nX2NiKTsKLSAgY3VybF9lYXN5X3NldG9wdChjb25uLT5lYXN5LCBDVVJMT1BUX1BST0dSRVNTREFUQSwgY29ubik7Ci0gIGN1cmxfZWFzeV9zZXRvcHQoY29ubi0+ZWFzeSwgQ1VSTE9QVF9MT1dfU1BFRURfVElNRSwgM0wpOwotICBjdXJsX2Vhc3lfc2V0b3B0KGNvbm4tPmVhc3ksIENVUkxPUFRfTE9XX1NQRUVEX0xJTUlULCAxMEwpOwotCi0gIC8qIGNhbGwgdGhpcyBmdW5jdGlvbiB0byBnZXQgYSBzb2NrZXQgKi8KLSAgY3VybF9lYXN5X3NldG9wdChjb25uLT5lYXN5LCBDVVJMT1BUX09QRU5TT0NLRVRGVU5DVElPTiwgb3BlbnNvY2tldCk7Ci0KLSAgLyogY2FsbCB0aGlzIGZ1bmN0aW9uIHRvIGNsb3NlIGEgc29ja2V0ICovCi0gIGN1cmxfZWFzeV9zZXRvcHQoY29ubi0+ZWFzeSwgQ1VSTE9QVF9DTE9TRVNPQ0tFVEZVTkNUSU9OLCBjbG9zZV9zb2NrZXQpOwotCi0gIGZwcmludGYoTVNHX09VVCwKLSAgICAgICAgICAiXG5BZGRpbmcgZWFzeSAlcCB0byBtdWx0aSAlcCAoJXMpIiwgY29ubi0+ZWFzeSwgZy0+bXVsdGksIHVybCk7Ci0gIHJjID0gY3VybF9tdWx0aV9hZGRfaGFuZGxlKGctPm11bHRpLCBjb25uLT5lYXN5KTsKLSAgbWNvZGVfb3JfZGllKCJuZXdfY29ubjogY3VybF9tdWx0aV9hZGRfaGFuZGxlIiwgcmMpOwotCi0gIC8qIG5vdGUgdGhhdCB0aGUgYWRkX2hhbmRsZSgpIHdpbGwgc2V0IGEgdGltZS1vdXQgdG8gdHJpZ2dlciB2ZXJ5IHNvb24gc28KLSAgICAgdGhhdCB0aGUgbmVjZXNzYXJ5IHNvY2tldF9hY3Rpb24oKSBjYWxsIHdpbGwgYmUgY2FsbGVkIGJ5IHRoaXMgYXBwICovCi19Ci0KLWludCBtYWluKGludCBhcmdjLCBjaGFyICoqYXJndikKLXsKLSAgR2xvYmFsSW5mbyBnOwotCi0gICh2b2lkKWFyZ2M7Ci0gICh2b2lkKWFyZ3Y7Ci0KLSAgbWVtc2V0KCZnLCAwLCBzaXplb2YoR2xvYmFsSW5mbykpOwotICBnLm11bHRpID0gY3VybF9tdWx0aV9pbml0KCk7Ci0KLSAgY3VybF9tdWx0aV9zZXRvcHQoZy5tdWx0aSwgQ1VSTE1PUFRfU09DS0VURlVOQ1RJT04sIHNvY2tfY2IpOwotICBjdXJsX211bHRpX3NldG9wdChnLm11bHRpLCBDVVJMTU9QVF9TT0NLRVREQVRBLCAmZyk7Ci0gIGN1cmxfbXVsdGlfc2V0b3B0KGcubXVsdGksIENVUkxNT1BUX1RJTUVSRlVOQ1RJT04sIG11bHRpX3RpbWVyX2NiKTsKLSAgY3VybF9tdWx0aV9zZXRvcHQoZy5tdWx0aSwgQ1VSTE1PUFRfVElNRVJEQVRBLCAmZyk7Ci0KLSAgbmV3X2Nvbm4oKGNoYXIgKikid3d3Lmdvb2dsZS5jb20iLCAmZyk7ICAvKiBhZGQgYSBVUkwgKi8KLQotICAvKiBlbnRlciBpb19zZXJ2aWNlIHJ1biBsb29wICovCi0gIGlvX3NlcnZpY2UucnVuKCk7Ci0KLSAgY3VybF9tdWx0aV9jbGVhbnVwKGcubXVsdGkpOwotCi0gIGZwcmludGYoTVNHX09VVCwgIlxuZG9uZS5cbiIpOwotCi0gIHJldHVybiAwOwotfQpkaWZmIC0tZ2l0IGEvZG9jcy9leGFtcGxlcy9jdXJseC5jIGIvZG9jcy9leGFtcGxlcy9jdXJseC5jCmluZGV4IGUyMWE5ZmYuLjhiNDhjOTkgMTAwNjQ0Ci0tLSBhL2RvY3MvZXhhbXBsZXMvY3VybHguYworKysgYi9kb2NzL2V4YW1wbGVzL2N1cmx4LmMKQEAgLTE1LDcgKzE1LDcgQEAKICAqLwogCiAvKgotICogQ29weXJpZ2h0IChjKSAyMDAzIC0gMjAxOSBUaGUgT3BlbkV2aWRlbmNlIFByb2plY3QuICBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogQ29weXJpZ2h0IChjKSAyMDAzIC0gMjAyMCBUaGUgT3BlbkV2aWRlbmNlIFByb2plY3QuICBBbGwgcmlnaHRzIHJlc2VydmVkLgogICoKICAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAogICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCkBAIC00NTksNyArNDU5LDcgQEAKICAgICBpZighc2VydmVydXJsKSB7CiAgICAgICBpbnQgaiA9IDA7CiAgICAgICBCSU9fcHJpbnRmKHAuZXJyb3JiaW8sICJubyBzZXJ2aWNlIFVSTCBpbiB1c2VyIGNlcnQgIgotICAgICAgICAgICAgICAgICAiY2hlcmNoaW5nIGluIG90aGVycyBjZXJ0aWZpY2F0c1xuIik7CisgICAgICAgICAgICAgICAgICJzZWFyY2hpbmcgaW4gb3RoZXJzIGNlcnRpZmljYXRlc1xuIik7CiAgICAgICBmb3IoaiA9IDA7IGo8c2tfWDUwOV9udW0ocC5jYSk7IGorKykgewogICAgICAgICBzZXJ2ZXJ1cmwgPSBteV9nZXRfZXh0KHNrX1g1MDlfdmFsdWUocC5jYSwgaiksIHAuYWNjZXNzdHlwZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOSURfaW5mb19hY2Nlc3MpOwpAQCAtNDc0LDcgKzQ3NCw3IEBACiAgIH0KIAogICBpZighc2VydmVydXJsKSB7Ci0gICAgQklPX3ByaW50ZihwLmVycm9yYmlvLCAibm8gc2VydmljZSBVUkwgaW4gY2VydGlmaWNhdHMsIgorICAgIEJJT19wcmludGYocC5lcnJvcmJpbywgIm5vIHNlcnZpY2UgVVJMIGluIGNlcnRpZmljYXRlcywiCiAgICAgICAgICAgICAgICAiIGNoZWNrICctYWNjZXNzdHlwZSAoQURfRFZDUyB8IGFkX3RpbWVzdGFtcGluZyknIgogICAgICAgICAgICAgICAgIiBvciB1c2UgJy1jb25uZWN0J1xuIik7CiAgICAgZ290byBlcnI7CmRpZmYgLS1naXQgYS9kb2NzL2V4YW1wbGVzL2VwaGlwZXJmaWZvLmMgYi9kb2NzL2V4YW1wbGVzL2VwaGlwZXJmaWZvLmMKaW5kZXggYzA3NmE4NS4uYzI3ZDdjMSAxMDA2NDQKLS0tIGEvZG9jcy9leGFtcGxlcy9lcGhpcGVyZmlmby5jCisrKyBiL2RvY3MvZXhhbXBsZXMvZXBoaXBlcmZpZm8uYwpAQCAtNSw3ICs1LDcgQEAKICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgKF9ffCB8X3wgfCAgXyA8fCB8X19fCiAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXF9fX3xcX19fL3xffCBcX1xfX19fX3wKICAqCi0gKiBDb3B5cmlnaHQgKEMpIDE5OTggLSAyMDE5LCBEYW5pZWwgU3RlbmJlcmcsIDxkYW5pZWxAaGF4eC5zZT4sIGV0IGFsLgorICogQ29weXJpZ2h0IChDKSAxOTk4IC0gMjAyMCwgRGFuaWVsIFN0ZW5iZXJnLCA8ZGFuaWVsQGhheHguc2U+LCBldCBhbC4KICAqCiAgKiBUaGlzIHNvZnR3YXJlIGlzIGxpY2Vuc2VkIGFzIGRlc2NyaWJlZCBpbiB0aGUgZmlsZSBDT1BZSU5HLCB3aGljaAogICogeW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGFzIHBhcnQgb2YgdGhpcyBkaXN0cmlidXRpb24uIFRoZSB0ZXJtcwpAQCAtMTQ2LDcgKzE0Niw3IEBACiAgIGZwcmludGYoTVNHX09VVCwgIm11bHRpX3RpbWVyX2NiOiBTZXR0aW5nIHRpbWVvdXQgdG8gJWxkIG1zXG4iLCB0aW1lb3V0X21zKTsKIAogICBpZih0aW1lb3V0X21zID4gMCkgewotICAgIGl0cy5pdF9pbnRlcnZhbC50dl9zZWMgPSAxOworICAgIGl0cy5pdF9pbnRlcnZhbC50dl9zZWMgPSAwOwogICAgIGl0cy5pdF9pbnRlcnZhbC50dl9uc2VjID0gMDsKICAgICBpdHMuaXRfdmFsdWUudHZfc2VjID0gdGltZW91dF9tcyAvIDEwMDA7CiAgICAgaXRzLml0X3ZhbHVlLnR2X25zZWMgPSAodGltZW91dF9tcyAlIDEwMDApICogMTAwMCAqIDEwMDA7CkBAIC0xNTUsNyArMTU1LDcgQEAKICAgICAvKiBsaWJjdXJsIHdhbnRzIHVzIHRvIHRpbWVvdXQgbm93LCBob3dldmVyIHNldHRpbmcgYm90aCBmaWVsZHMgb2YKICAgICAgKiBuZXdfdmFsdWUuaXRfdmFsdWUgdG8gemVybyBkaXNhcm1zIHRoZSB0aW1lci4gVGhlIGNsb3Nlc3Qgd2UgY2FuCiAgICAgICogZG8gaXMgdG8gc2NoZWR1bGUgdGhlIHRpbWVyIHRvIGZpcmUgaW4gMSBucy4gKi8KLSAgICBpdHMuaXRfaW50ZXJ2YWwudHZfc2VjID0gMTsKKyAgICBpdHMuaXRfaW50ZXJ2YWwudHZfc2VjID0gMDsKICAgICBpdHMuaXRfaW50ZXJ2YWwudHZfbnNlYyA9IDA7CiAgICAgaXRzLml0X3ZhbHVlLnR2X3NlYyA9IDA7CiAgICAgaXRzLml0X3ZhbHVlLnR2X25zZWMgPSAxOwpAQCAtNDg4LDcgKzQ4OCw3IEBACiAgIH0KIAogICBtZW1zZXQoJml0cywgMCwgc2l6ZW9mKHN0cnVjdCBpdGltZXJzcGVjKSk7Ci0gIGl0cy5pdF9pbnRlcnZhbC50dl9zZWMgPSAxOworICBpdHMuaXRfaW50ZXJ2YWwudHZfc2VjID0gMDsKICAgaXRzLml0X3ZhbHVlLnR2X3NlYyA9IDE7CiAgIHRpbWVyZmRfc2V0dGltZShnLnRmZCwgMCwgJml0cywgTlVMTCk7CiAKZGlmZiAtLWdpdCBhL2RvY3MvZXhhbXBsZXMvaHR0cDItZG93bmxvYWQuYyBiL2RvY3MvZXhhbXBsZXMvaHR0cDItZG93bmxvYWQuYwppbmRleCAzMzNiN2RmLi5iYjg1NGNiIDEwMDY0NAotLS0gYS9kb2NzL2V4YW1wbGVzL2h0dHAyLWRvd25sb2FkLmMKKysrIGIvZG9jcy9leGFtcGxlcy9odHRwMi1kb3dubG9hZC5jCkBAIC01LDcgKzUsNyBAQAogICogICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAoX198IHxffCB8ICBfIDx8IHxfX18KICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcX19ffFxfX18vfF98IFxfXF9fX19ffAogICoKLSAqIENvcHlyaWdodCAoQykgMTk5OCAtIDIwMTksIERhbmllbCBTdGVuYmVyZywgPGRhbmllbEBoYXh4LnNlPiwgZXQgYWwuCisgKiBDb3B5cmlnaHQgKEMpIDE5OTggLSAyMDIwLCBEYW5pZWwgU3RlbmJlcmcsIDxkYW5pZWxAaGF4eC5zZT4sIGV0IGFsLgogICoKICAqIFRoaXMgc29mdHdhcmUgaXMgbGljZW5zZWQgYXMgZGVzY3JpYmVkIGluIHRoZSBmaWxlIENPUFlJTkcsIHdoaWNoCiAgKiB5b3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYXMgcGFydCBvZiB0aGlzIGRpc3RyaWJ1dGlvbi4gVGhlIHRlcm1zCkBAIC0yNiw2ICsyNiw3IEBACiAjaW5jbHVkZSA8c3RkaW8uaD4KICNpbmNsdWRlIDxzdGRsaWIuaD4KICNpbmNsdWRlIDxzdHJpbmcuaD4KKyNpbmNsdWRlIDxlcnJuby5oPgogCiAvKiBzb21ld2hhdCB1bml4LXNwZWNpZmljICovCiAjaW5jbHVkZSA8c3lzL3RpbWUuaD4KQEAgLTMzLDYgKzM0LDcgQEAKIAogLyogY3VybCBzdHVmZiAqLwogI2luY2x1ZGUgPGN1cmwvY3VybC5oPgorI2luY2x1ZGUgPGN1cmwvbXByaW50Zi5oPgogCiAjaWZuZGVmIENVUkxQSVBFX01VTFRJUExFWAogLyogVGhpcyBsaXR0bGUgdHJpY2sgd2lsbCBqdXN0IG1ha2Ugc3VyZSB0aGF0IHdlIGRvbid0IGVuYWJsZSBwaXBlbGluaW5nIGZvcgpAQCAtMTQ2LDkgKzE0OCwxNCBAQAogCiAgIGhuZCA9IHQtPmVhc3kgPSBjdXJsX2Vhc3lfaW5pdCgpOwogCi0gIHNucHJpbnRmKGZpbGVuYW1lLCAxMjgsICJkbC0lZCIsIG51bSk7CisgIGN1cmxfbXNucHJpbnRmKGZpbGVuYW1lLCAxMjgsICJkbC0lZCIsIG51bSk7CiAKICAgdC0+b3V0ID0gZm9wZW4oZmlsZW5hbWUsICJ3YiIpOworICBpZighdC0+b3V0KSB7CisgICAgZnByaW50ZihzdGRlcnIsICJlcnJvcjogY291bGQgbm90IG9wZW4gZmlsZSAlcyBmb3Igd3JpdGluZzogJXNcbiIsCisgICAgICAgICAgICBmaWxlbmFtZSwgc3RyZXJyb3IoZXJybm8pKTsKKyAgICBleGl0KDEpOworICB9CiAKICAgLyogd3JpdGUgdG8gdGhpcyBmaWxlICovCiAgIGN1cmxfZWFzeV9zZXRvcHQoaG5kLCBDVVJMT1BUX1dSSVRFREFUQSwgdC0+b3V0KTsKZGlmZiAtLWdpdCBhL2RvY3MvZXhhbXBsZXMvaHR0cDItdXBsb2FkLmMgYi9kb2NzL2V4YW1wbGVzL2h0dHAyLXVwbG9hZC5jCmluZGV4IDhmMWZkNGEuLmI4ZmMyNzcgMTAwNjQ0Ci0tLSBhL2RvY3MvZXhhbXBsZXMvaHR0cDItdXBsb2FkLmMKKysrIGIvZG9jcy9leGFtcGxlcy9odHRwMi11cGxvYWQuYwpAQCAtNSw3ICs1LDcgQEAKICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgKF9ffCB8X3wgfCAgXyA8fCB8X19fCiAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXF9fX3xcX19fL3xffCBcX1xfX19fX3wKICAqCi0gKiBDb3B5cmlnaHQgKEMpIDE5OTggLSAyMDE5LCBEYW5pZWwgU3RlbmJlcmcsIDxkYW5pZWxAaGF4eC5zZT4sIGV0IGFsLgorICogQ29weXJpZ2h0IChDKSAxOTk4IC0gMjAyMCwgRGFuaWVsIFN0ZW5iZXJnLCA8ZGFuaWVsQGhheHguc2U+LCBldCBhbC4KICAqCiAgKiBUaGlzIHNvZnR3YXJlIGlzIGxpY2Vuc2VkIGFzIGRlc2NyaWJlZCBpbiB0aGUgZmlsZSBDT1BZSU5HLCB3aGljaAogICogeW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGFzIHBhcnQgb2YgdGhpcyBkaXN0cmlidXRpb24uIFRoZSB0ZXJtcwpAQCAtMjgsNiArMjgsNyBAQAogI2luY2x1ZGUgPHN0cmluZy5oPgogI2luY2x1ZGUgPGZjbnRsLmg+CiAjaW5jbHVkZSA8c3lzL3N0YXQuaD4KKyNpbmNsdWRlIDxlcnJuby5oPgogCiAvKiBzb21ld2hhdCB1bml4LXNwZWNpZmljICovCiAjaW5jbHVkZSA8c3lzL3RpbWUuaD4KQEAgLTM1LDYgKzM2LDcgQEAKIAogLyogY3VybCBzdHVmZiAqLwogI2luY2x1ZGUgPGN1cmwvY3VybC5oPgorI2luY2x1ZGUgPGN1cmwvbXByaW50Zi5oPgogCiAjaWZuZGVmIENVUkxQSVBFX01VTFRJUExFWAogLyogVGhpcyBsaXR0bGUgdHJpY2sgd2lsbCBqdXN0IG1ha2Ugc3VyZSB0aGF0IHdlIGRvbid0IGVuYWJsZSBwaXBlbGluaW5nIGZvcgpAQCAtMTIzLDggKzEyNSw4IEBACiAgIH0KICAgc2VjcyA9IGVwb2NoX29mZnNldCArIHR2LnR2X3NlYzsKICAgbm93ID0gbG9jYWx0aW1lKCZzZWNzKTsgIC8qIG5vdCB0aHJlYWQgc2FmZSBidXQgd2UgZG9uJ3QgY2FyZSAqLwotICBzbnByaW50Zih0aW1lYnVmLCBzaXplb2YodGltZWJ1ZiksICIlMDJkOiUwMmQ6JTAyZC4lMDZsZCIsCi0gICAgICAgICAgIG5vdy0+dG1faG91ciwgbm93LT50bV9taW4sIG5vdy0+dG1fc2VjLCAobG9uZyl0di50dl91c2VjKTsKKyAgY3VybF9tc25wcmludGYodGltZWJ1Ziwgc2l6ZW9mKHRpbWVidWYpLCAiJTAyZDolMDJkOiUwMmQuJTA2bGQiLAorICAgICAgICAgICAgICAgICBub3ctPnRtX2hvdXIsIG5vdy0+dG1fbWluLCBub3ctPnRtX3NlYywgKGxvbmcpdHYudHZfdXNlYyk7CiAKICAgc3dpdGNoKHR5cGUpIHsKICAgY2FzZSBDVVJMSU5GT19URVhUOgpAQCAtMTc2LDE2ICsxNzgsMzEgQEAKIAogICBobmQgPSBpLT5obmQgPSBjdXJsX2Vhc3lfaW5pdCgpOwogICBpLT5udW0gPSBudW07Ci0gIHNucHJpbnRmKGZpbGVuYW1lLCAxMjgsICJkbC0lZCIsIG51bSk7CisgIGN1cmxfbXNucHJpbnRmKGZpbGVuYW1lLCAxMjgsICJkbC0lZCIsIG51bSk7CiAgIG91dCA9IGZvcGVuKGZpbGVuYW1lLCAid2IiKTsKKyAgaWYoIW91dCkgeworICAgIGZwcmludGYoc3RkZXJyLCAiZXJyb3I6IGNvdWxkIG5vdCBvcGVuIGZpbGUgJXMgZm9yIHdyaXRpbmc6ICVzXG4iLCB1cGxvYWQsCisgICAgICAgICAgICBzdHJlcnJvcihlcnJubykpOworICAgIGV4aXQoMSk7CisgIH0KIAotICBzbnByaW50Zih1cmwsIDI1NiwgImh0dHBzOi8vbG9jYWxob3N0Ojg0NDMvdXBsb2FkLSVkIiwgbnVtKTsKKyAgY3VybF9tc25wcmludGYodXJsLCAyNTYsICJodHRwczovL2xvY2FsaG9zdDo4NDQzL3VwbG9hZC0lZCIsIG51bSk7CiAKICAgLyogZ2V0IHRoZSBmaWxlIHNpemUgb2YgdGhlIGxvY2FsIGZpbGUgKi8KLSAgc3RhdCh1cGxvYWQsICZmaWxlX2luZm8pOworICBpZihzdGF0KHVwbG9hZCwgJmZpbGVfaW5mbykpIHsKKyAgICBmcHJpbnRmKHN0ZGVyciwgImVycm9yOiBjb3VsZCBub3Qgc3RhdCBmaWxlICVzOiAlc1xuIiwgdXBsb2FkLAorICAgICAgICAgICAgc3RyZXJyb3IoZXJybm8pKTsKKyAgICBleGl0KDEpOworICB9CisKICAgdXBsb2Fkc2l6ZSA9IGZpbGVfaW5mby5zdF9zaXplOwogCiAgIGktPmluID0gZm9wZW4odXBsb2FkLCAicmIiKTsKKyAgaWYoIWktPmluKSB7CisgICAgZnByaW50ZihzdGRlcnIsICJlcnJvcjogY291bGQgbm90IG9wZW4gZmlsZSAlcyBmb3IgcmVhZGluZzogJXNcbiIsIHVwbG9hZCwKKyAgICAgICAgICAgIHN0cmVycm9yKGVycm5vKSk7CisgICAgZXhpdCgxKTsKKyAgfQogCiAgIC8qIHdyaXRlIHRvIHRoaXMgZmlsZSAqLwogICBjdXJsX2Vhc3lfc2V0b3B0KGhuZCwgQ1VSTE9QVF9XUklURURBVEEsIG91dCk7CmRpZmYgLS1naXQgYS9kb2NzL2V4YW1wbGVzL211bHRpLWV2ZW50LmMgYi9kb2NzL2V4YW1wbGVzL211bHRpLWV2ZW50LmMKaW5kZXggNDgyZGU4ZS4uMzRiYjBkNiAxMDA2NDQKLS0tIGEvZG9jcy9leGFtcGxlcy9tdWx0aS1ldmVudC5jCisrKyBiL2RvY3MvZXhhbXBsZXMvbXVsdGktZXZlbnQuYwpAQCAtNSw3ICs1LDcgQEAKICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgKF9ffCB8X3wgfCAgXyA8fCB8X19fCiAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXF9fX3xcX19fL3xffCBcX1xfX19fX3wKICAqCi0gKiBDb3B5cmlnaHQgKEMpIDE5OTggLSAyMDE5LCBEYW5pZWwgU3RlbmJlcmcsIDxkYW5pZWxAaGF4eC5zZT4sIGV0IGFsLgorICogQ29weXJpZ2h0IChDKSAxOTk4IC0gMjAyMCwgRGFuaWVsIFN0ZW5iZXJnLCA8ZGFuaWVsQGhheHguc2U+LCBldCBhbC4KICAqCiAgKiBUaGlzIHNvZnR3YXJlIGlzIGxpY2Vuc2VkIGFzIGRlc2NyaWJlZCBpbiB0aGUgZmlsZSBDT1BZSU5HLCB3aGljaAogICogeW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGFzIHBhcnQgb2YgdGhpcyBkaXN0cmlidXRpb24uIFRoZSB0ZXJtcwpAQCAtNDEsNyArNDEsNyBAQAogCiBzdGF0aWMgdm9pZCBjdXJsX3BlcmZvcm0oaW50IGZkLCBzaG9ydCBldmVudCwgdm9pZCAqYXJnKTsKIAotc3RhdGljIGN1cmxfY29udGV4dF90KiBjcmVhdGVfY3VybF9jb250ZXh0KGN1cmxfc29ja2V0X3Qgc29ja2ZkKQorc3RhdGljIGN1cmxfY29udGV4dF90ICpjcmVhdGVfY3VybF9jb250ZXh0KGN1cmxfc29ja2V0X3Qgc29ja2ZkKQogewogICBjdXJsX2NvbnRleHRfdCAqY29udGV4dDsKIApkaWZmIC0tZ2l0IGEvZG9jcy9leGFtcGxlcy9tdWx0aS11di5jIGIvZG9jcy9leGFtcGxlcy9tdWx0aS11di5jCmluZGV4IDhjYTRiOTAuLjFiNGE3NTIgMTAwNjQ0Ci0tLSBhL2RvY3MvZXhhbXBsZXMvbXVsdGktdXYuYworKysgYi9kb2NzL2V4YW1wbGVzL211bHRpLXV2LmMKQEAgLTUsNyArNSw3IEBACiAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICB8IChfX3wgfF98IHwgIF8gPHwgfF9fXwogICogICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxfX198XF9fXy98X3wgXF9cX19fX198CiAgKgotICogQ29weXJpZ2h0IChDKSAxOTk4IC0gMjAxOCwgRGFuaWVsIFN0ZW5iZXJnLCA8ZGFuaWVsQGhheHguc2U+LCBldCBhbC4KKyAqIENvcHlyaWdodCAoQykgMTk5OCAtIDIwMjAsIERhbmllbCBTdGVuYmVyZywgPGRhbmllbEBoYXh4LnNlPiwgZXQgYWwuCiAgKgogICogVGhpcyBzb2Z0d2FyZSBpcyBsaWNlbnNlZCBhcyBkZXNjcmliZWQgaW4gdGhlIGZpbGUgQ09QWUlORywgd2hpY2gKICAqIHlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhcyBwYXJ0IG9mIHRoaXMgZGlzdHJpYnV0aW9uLiBUaGUgdGVybXMKQEAgLTQ2LDcgKzQ2LDcgQEAKICAgY3VybF9zb2NrZXRfdCBzb2NrZmQ7CiB9IGN1cmxfY29udGV4dF90OwogCi1zdGF0aWMgY3VybF9jb250ZXh0X3QqIGNyZWF0ZV9jdXJsX2NvbnRleHQoY3VybF9zb2NrZXRfdCBzb2NrZmQpCitzdGF0aWMgY3VybF9jb250ZXh0X3QgKmNyZWF0ZV9jdXJsX2NvbnRleHQoY3VybF9zb2NrZXRfdCBzb2NrZmQpCiB7CiAgIGN1cmxfY29udGV4dF90ICpjb250ZXh0OwogCmRpZmYgLS1naXQgYS9kb2NzL2V4YW1wbGVzL211bHRpdGhyZWFkLmMgYi9kb2NzL2V4YW1wbGVzL211bHRpdGhyZWFkLmMKaW5kZXggZGEwN2ExNi4uNTc3N2U1YyAxMDA2NDQKLS0tIGEvZG9jcy9leGFtcGxlcy9tdWx0aXRocmVhZC5jCisrKyBiL2RvY3MvZXhhbXBsZXMvbXVsdGl0aHJlYWQuYwpAQCAtNSw3ICs1LDcgQEAKICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgKF9ffCB8X3wgfCAgXyA8fCB8X19fCiAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXF9fX3xcX19fL3xffCBcX1xfX19fX3wKICAqCi0gKiBDb3B5cmlnaHQgKEMpIDE5OTggLSAyMDE5LCBEYW5pZWwgU3RlbmJlcmcsIDxkYW5pZWxAaGF4eC5zZT4sIGV0IGFsLgorICogQ29weXJpZ2h0IChDKSAxOTk4IC0gMjAyMCwgRGFuaWVsIFN0ZW5iZXJnLCA8ZGFuaWVsQGhheHguc2U+LCBldCBhbC4KICAqCiAgKiBUaGlzIHNvZnR3YXJlIGlzIGxpY2Vuc2VkIGFzIGRlc2NyaWJlZCBpbiB0aGUgZmlsZSBDT1BZSU5HLCB3aGljaAogICogeW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGFzIHBhcnQgb2YgdGhpcyBkaXN0cmlidXRpb24uIFRoZSB0ZXJtcwpAQCAtODksNiArODksNiBAQAogICAgIHB0aHJlYWRfam9pbih0aWRbaV0sIE5VTEwpOwogICAgIGZwcmludGYoc3RkZXJyLCAiVGhyZWFkICVkIHRlcm1pbmF0ZWRcbiIsIGkpOwogICB9Ci0KKyAgY3VybF9nbG9iYWxfY2xlYW51cCgpOwogICByZXR1cm4gMDsKIH0KZGlmZiAtLWdpdCBhL2RvY3MvbGliY3VybC9BQkkgYi9kb2NzL2xpYmN1cmwvQUJJLm1kCnNpbWlsYXJpdHkgaW5kZXggODMlCnJlbmFtZSBmcm9tIGRvY3MvbGliY3VybC9BQkkKcmVuYW1lIHRvIGRvY3MvbGliY3VybC9BQkkubWQKaW5kZXggYzdjOTE0Mi4uMzkxMzRhMSAxMDA2NDQKLS0tIGEvZG9jcy9saWJjdXJsL0FCSQorKysgYi9kb2NzL2xpYmN1cmwvQUJJLm1kCkBAIC03LDggKzcsNyBAQAogCiAgW1dpa2lwZWRpYSBoYXMgYSBsb25nZXIgZGVzY3JpcHRpb25dKGh0dHBzOi8vZW4ud2lraXBlZGlhLm9yZy93aWtpL0FwcGxpY2F0aW9uX2JpbmFyeV9pbnRlcmZhY2UpCiAKLVVwZ3JhZGVzCi0tLS0tLS0tLQorIyMgVXBncmFkZXMKIAogIEluIHRoZSB2YXN0IG1ham9yaXR5IG9mIGFsbCBjYXNlcywgYSB0eXBpY2FsIGxpYmN1cmwgdXBncmFkZSBkb2VzIG5vdCBicmVhawogIHRoZSBBQkkgYXQgYWxsLiBZb3VyIGFwcGxpY2F0aW9uIGNhbiByZW1haW4gdXNpbmcgbGliY3VybCBqdXN0IGFzIGJlZm9yZSwKQEAgLTE3LDE0ICsxNiwxMiBAQAogIHRvIHZlcmlmeSB0aGF0IHlvdXIgYXBwbGljYXRpb24gc3RpbGwgYnVpbGRzIGZpbmUgYW5kIHVzZXMgbGliY3VybCBhcyBpdCBub3cKICBpcyBkZWZpbmVkIHRvIHdvcmsuCiAKLVZlcnNpb24gTnVtYmVycwotLS0tLS0tLS0tLS0tLS0tCisjIyBWZXJzaW9uIE51bWJlcnMKIAogIEluIGxpYmN1cmwgbGFuZCwgeW91IHJlYWxseSBjYW4ndCB0ZWxsIGJ5IHRoZSBsaWJjdXJsIHZlcnNpb24gbnVtYmVyIGlmIHRoYXQKICBsaWJjdXJsIGlzIGJpbmFyeSBjb21wYXRpYmxlIG9yIG5vdCB3aXRoIGFub3RoZXIgbGliY3VybCB2ZXJzaW9uLgogCi1Tb25hbWUgQnVtcHMKLS0tLS0tLS0tLS0tLQorIyMgU29uYW1lIEJ1bXBzCiAKICBXaGVuZXZlciB0aGVyZSBhcmUgY2hhbmdlcyBkb25lIHRvIHRoZSBsaWJyYXJ5IHRoYXQgd2lsbCBjYXVzZSBhbiBBQkkKICBicmVha2FnZSwgdGhhdCBtYXkgcmVxdWlyZSB5b3VyIGFwcGxpY2F0aW9uIHRvIGdldCBhdHRlbnRpb24gb3IgcG9zc2libHkgYmUKQEAgLTQwLDggKzM3LDcgQEAKICBXZSBhcmUgZGV0ZXJtaW5lZCB0byBidW1wIHRoZSBTT05BTUUgYXMgcmFyZWx5IGFzIHBvc3NpYmxlLiAgSWRlYWxseSwgd2UKICBuZXZlciBkbyBpdCBhZ2Fpbi4KIAotRG93bmdyYWRlcwotLS0tLS0tLS0tLQorIyMgRG93bmdyYWRlcwogCiAgR29pbmcgdG8gYW4gb2xkZXIgbGliY3VybCB2ZXJzaW9uIGZyb20gb25lIHlvdSdyZSBjdXJyZW50bHkgdXNpbmcgY2FuIGJlIGEKICB0cmlja3kgdGhpbmcuIE1vc3RseSB3ZSBhZGQgZmVhdHVyZXMgYW5kIG9wdGlvbnMgdG8gbmV3ZXIgbGliY3VybHMgYXMgdGhhdApAQCAtNTEsMTggKzQ3LDE3IEBACiAgZG93bmdyYWRlIHNvIGZhciBzbyB5b3UgY3Jvc3MgYW4gQUJJIGJyZWFrIGJvcmRlciBhbmQgdGh1cyBhIGRpZmZlcmVudAogIHNvbmFtZSwgYW5kIHRoZW4geW91ciBhcHBsaWNhdGlvbiBtYXkgbmVlZCB0byBhZGFwdCB0byB0aGUgbW9kaWZpZWQgQUJJLgogCi1IaXN0b3J5Ci0tLS0tLS0tCisjIyBIaXN0b3J5CiAKLSAgVGhlIHByZXZpb3VzIG1ham9yIGxpYnJhcnkgc29uYW1lIG51bWJlciBidW1wcyAoYnJlYWtpbmcgYmFja3dhcmRzCi0gIGNvbXBhdGliaWxpdHkpIGhhdmUgaGFwcGVuZWQgdGhlIGZvbGxvd2luZyB0aW1lczoKKyBUaGUgcHJldmlvdXMgbWFqb3IgbGlicmFyeSBzb25hbWUgbnVtYmVyIGJ1bXBzIChicmVha2luZyBiYWNrd2FyZHMKKyBjb21wYXRpYmlsaXR5KSBoYXZlIGhhcHBlbmVkIHRoZSBmb2xsb3dpbmcgdGltZXM6CiAKLSAgMCAtIGxpYmN1cmwgNy4xLCAgIEF1Z3VzdCAyMDAwCisgMCAtIGxpYmN1cmwgNy4xLCAgIEF1Z3VzdCAyMDAwCiAKLSAgMSAtIGxpYmN1cmwgNy41ICAgIERlY2VtYmVyIDIwMDAKKyAxIC0gbGliY3VybCA3LjUgICAgRGVjZW1iZXIgMjAwMAogCi0gIDIgLSBsaWJjdXJsIDcuNyAgICBNYXJjaCAyMDAxCisgMiAtIGxpYmN1cmwgNy43ICAgIE1hcmNoIDIwMDEKIAotICAzIC0gbGliY3VybCA3LjEyLjAgSnVuZSAyMDA0CisgMyAtIGxpYmN1cmwgNy4xMi4wIEp1bmUgMjAwNAogCi0gIDQgLSBsaWJjdXJsIDcuMTYuMCBPY3RvYmVyIDIwMDYKKyA0IC0gbGliY3VybCA3LjE2LjAgT2N0b2JlciAyMDA2CmRpZmYgLS1naXQgYS9kb2NzL2xpYmN1cmwvTWFrZWZpbGUuYW0gYi9kb2NzL2xpYmN1cmwvTWFrZWZpbGUuYW0KaW5kZXggMDQxZjAyZS4uODY4MWRiZCAxMDA2NDQKLS0tIGEvZG9jcy9saWJjdXJsL01ha2VmaWxlLmFtCisrKyBiL2RvY3MvbGliY3VybC9NYWtlZmlsZS5hbQpAQCAtNSw3ICs1LDcgQEAKICMgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAoX198IHxffCB8ICBfIDx8IHxfX18KICMgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxfX198XF9fXy98X3wgXF9cX19fX198CiAjCi0jIENvcHlyaWdodCAoQykgMTk5OCAtIDIwMTgsIERhbmllbCBTdGVuYmVyZywgPGRhbmllbEBoYXh4LnNlPiwgZXQgYWwuCisjIENvcHlyaWdodCAoQykgMTk5OCAtIDIwMjAsIERhbmllbCBTdGVuYmVyZywgPGRhbmllbEBoYXh4LnNlPiwgZXQgYWwuCiAjCiAjIFRoaXMgc29mdHdhcmUgaXMgbGljZW5zZWQgYXMgZGVzY3JpYmVkIGluIHRoZSBmaWxlIENPUFlJTkcsIHdoaWNoCiAjIHlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhcyBwYXJ0IG9mIHRoaXMgZGlzdHJpYnV0aW9uLiBUaGUgdGVybXMKQEAgLTM4LDcgKzM4LDcgQEAKIENMRUFORklMRVMgPSAkKEhUTUxQQUdFUykgJChQREZQQUdFUykgJChURVNUUykgJChtYW5fRElTVE1BTlMpIFwKICAgbGliY3VybC1zeW1ib2xzLjMKIAotRVhUUkFfRElTVCA9ICQobWFuX01BTlMpIEFCSSBzeW1ib2xzLWluLXZlcnNpb25zIHN5bWJvbHMucGwgIFwKK0VYVFJBX0RJU1QgPSAkKG1hbl9NQU5TKSBBQkkubWQgc3ltYm9scy1pbi12ZXJzaW9ucyBzeW1ib2xzLnBsICBcCiAgIG1rc3ltYm9sc21hbnBhZ2UucGwgQ01ha2VMaXN0cy50eHQKIE1BTjJIVE1MPSByb2ZmaXQgLS1tYW5kaXI9LiAkPCA+JEAKIApkaWZmIC0tZ2l0IGEvZG9jcy9saWJjdXJsL2N1cmxfZWFzeV9jbGVhbnVwLjMgYi9kb2NzL2xpYmN1cmwvY3VybF9lYXN5X2NsZWFudXAuMwppbmRleCBhN2JmNDYxLi45OWE2OWQ2IDEwMDY0NAotLS0gYS9kb2NzL2xpYmN1cmwvY3VybF9lYXN5X2NsZWFudXAuMworKysgYi9kb2NzL2xpYmN1cmwvY3VybF9lYXN5X2NsZWFudXAuMwpAQCAtMjAsNyArMjAsNyBAQAogLlwiICoKIC5cIiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogLlwiCi0uVEggY3VybF9lYXN5X2NsZWFudXAgMyAiQXVndXN0IDA5LCAyMDE4IiAibGliY3VybCA3LjcwLjAiICJsaWJjdXJsIE1hbnVhbCIKKy5USCBjdXJsX2Vhc3lfY2xlYW51cCAzICJBdWd1c3QgMDksIDIwMTgiICJsaWJjdXJsIDcuNzEuMSIgImxpYmN1cmwgTWFudWFsIgogCiAuU0ggTkFNRQogY3VybF9lYXN5X2NsZWFudXAgLSBFbmQgYSBsaWJjdXJsIGVhc3kgaGFuZGxlCmRpZmYgLS1naXQgYS9kb2NzL2xpYmN1cmwvY3VybF9lYXN5X2R1cGhhbmRsZS4zIGIvZG9jcy9saWJjdXJsL2N1cmxfZWFzeV9kdXBoYW5kbGUuMwppbmRleCBkYjNkM2E2Li44NzNiNTA3IDEwMDY0NAotLS0gYS9kb2NzL2xpYmN1cmwvY3VybF9lYXN5X2R1cGhhbmRsZS4zCisrKyBiL2RvY3MvbGliY3VybC9jdXJsX2Vhc3lfZHVwaGFuZGxlLjMKQEAgLTE5LDcgKzE5LDcgQEAKIC5cIiAqIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuCiAuXCIgKgogLlwiICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCi0uVEggY3VybF9lYXN5X2R1cGhhbmRsZSAzICJNYXJjaCAwMSwgMjAxOSIgImxpYmN1cmwgNy43MC4wIiAibGliY3VybCBNYW51YWwiCisuVEggY3VybF9lYXN5X2R1cGhhbmRsZSAzICJNYXJjaCAwMSwgMjAxOSIgImxpYmN1cmwgNy43MS4xIiAibGliY3VybCBNYW51YWwiCiAKIC5TSCBOQU1FCiBjdXJsX2Vhc3lfZHVwaGFuZGxlIC0gQ2xvbmUgYSBsaWJjdXJsIHNlc3Npb24gaGFuZGxlCmRpZmYgLS1naXQgYS9kb2NzL2xpYmN1cmwvY3VybF9lYXN5X2VzY2FwZS4zIGIvZG9jcy9saWJjdXJsL2N1cmxfZWFzeV9lc2NhcGUuMwppbmRleCAxMjkzYjM2Li5mZjBhNWM2IDEwMDY0NAotLS0gYS9kb2NzL2xpYmN1cmwvY3VybF9lYXN5X2VzY2FwZS4zCisrKyBiL2RvY3MvbGliY3VybC9jdXJsX2Vhc3lfZXNjYXBlLjMKQEAgLTUsNyArNSw3IEBACiAuXCIgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICB8IChfX3wgfF98IHwgIF8gPHwgfF9fXwogLlwiICogICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxfX198XF9fXy98X3wgXF9cX19fX198CiAuXCIgKgotLlwiICogQ29weXJpZ2h0IChDKSAxOTk4IC0gMjAxNywgRGFuaWVsIFN0ZW5iZXJnLCA8ZGFuaWVsQGhheHguc2U+LCBldCBhbC4KKy5cIiAqIENvcHlyaWdodCAoQykgMTk5OCAtIDIwMjAsIERhbmllbCBTdGVuYmVyZywgPGRhbmllbEBoYXh4LnNlPiwgZXQgYWwuCiAuXCIgKgogLlwiICogVGhpcyBzb2Z0d2FyZSBpcyBsaWNlbnNlZCBhcyBkZXNjcmliZWQgaW4gdGhlIGZpbGUgQ09QWUlORywgd2hpY2gKIC5cIiAqIHlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhcyBwYXJ0IG9mIHRoaXMgZGlzdHJpYnV0aW9uLiBUaGUgdGVybXMKQEAgLTIwLDcgKzIwLDcgQEAKIC5cIiAqCiAuXCIgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKIC5cIgotLlRIIGN1cmxfZWFzeV9lc2NhcGUgMyAiQXVndXN0IDEyLCAyMDE3IiAibGliY3VybCA3LjcwLjAiICJsaWJjdXJsIE1hbnVhbCIKKy5USCBjdXJsX2Vhc3lfZXNjYXBlIDMgIkp1bmUgMjUsIDIwMjAiICJsaWJjdXJsIDcuNzEuMSIgImxpYmN1cmwgTWFudWFsIgogCiAuU0ggTkFNRQogY3VybF9lYXN5X2VzY2FwZSAtIFVSTCBlbmNvZGVzIHRoZSBnaXZlbiBzdHJpbmcKQEAgLTUyLDcgKzUyLDcgQEAKIC5TSCBBVkFJTEFCSUxJVFkKIEFkZGVkIGluIDcuMTUuNCBhbmQgcmVwbGFjZXMgdGhlIG9sZCBcZkljdXJsX2VzY2FwZSgzKVxmUCBmdW5jdGlvbi4KIC5TSCBSRVRVUk4gVkFMVUUKLUEgcG9pbnRlciB0byBhIHplcm8gdGVybWluYXRlZCBzdHJpbmcgb3IgTlVMTCBpZiBpdCBmYWlsZWQuCitBIHBvaW50ZXIgdG8gYSBudWxsLXRlcm1pbmF0ZWQgc3RyaW5nIG9yIE5VTEwgaWYgaXQgZmFpbGVkLgogLlNIIEVYQU1QTEUKIC5uZgogQ1VSTCAqY3VybCA9IGN1cmxfZWFzeV9pbml0KCk7CmRpZmYgLS1naXQgYS9kb2NzL2xpYmN1cmwvY3VybF9lYXN5X2dldGluZm8uMyBiL2RvY3MvbGliY3VybC9jdXJsX2Vhc3lfZ2V0aW5mby4zCmluZGV4IDlhYzdkMDUuLmQxNGRkYjUgMTAwNjQ0Ci0tLSBhL2RvY3MvbGliY3VybC9jdXJsX2Vhc3lfZ2V0aW5mby4zCisrKyBiL2RvY3MvbGliY3VybC9jdXJsX2Vhc3lfZ2V0aW5mby4zCkBAIC0yMCw3ICsyMCw3IEBACiAuXCIgKgogLlwiICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiAuXCIKLS5USCBjdXJsX2Vhc3lfZ2V0aW5mbyAzICJBcHJpbCAwNiwgMjAyMCIgImxpYmN1cmwgNy43MC4wIiAibGliY3VybCBNYW51YWwiCisuVEggY3VybF9lYXN5X2dldGluZm8gMyAiQXByaWwgMDYsIDIwMjAiICJsaWJjdXJsIDcuNzEuMSIgImxpYmN1cmwgTWFudWFsIgogCiAuU0ggTkFNRQogY3VybF9lYXN5X2dldGluZm8gLSBleHRyYWN0IGluZm9ybWF0aW9uIGZyb20gYSBjdXJsIGhhbmRsZQpkaWZmIC0tZ2l0IGEvZG9jcy9saWJjdXJsL2N1cmxfZWFzeV9pbml0LjMgYi9kb2NzL2xpYmN1cmwvY3VybF9lYXN5X2luaXQuMwppbmRleCBjNDEwNWU1Li43YTI3ZjA3IDEwMDY0NAotLS0gYS9kb2NzL2xpYmN1cmwvY3VybF9lYXN5X2luaXQuMworKysgYi9kb2NzL2xpYmN1cmwvY3VybF9lYXN5X2luaXQuMwpAQCAtMTksNyArMTksNyBAQAogLlwiICogS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC4KIC5cIiAqCiAuXCIgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKLS5USCBjdXJsX2Vhc3lfaW5pdCAzICJNYXJjaCAyMywgMjAyMCIgImxpYmN1cmwgNy43MC4wIiAibGliY3VybCBNYW51YWwiCisuVEggY3VybF9lYXN5X2luaXQgMyAiTWFyY2ggMjMsIDIwMjAiICJsaWJjdXJsIDcuNzEuMSIgImxpYmN1cmwgTWFudWFsIgogCiAuU0ggTkFNRQogY3VybF9lYXN5X2luaXQgLSBTdGFydCBhIGxpYmN1cmwgZWFzeSBzZXNzaW9uCmRpZmYgLS1naXQgYS9kb2NzL2xpYmN1cmwvY3VybF9lYXN5X3BhdXNlLjMgYi9kb2NzL2xpYmN1cmwvY3VybF9lYXN5X3BhdXNlLjMKaW5kZXggYTVhOTAyYS4uMDBmODg3YSAxMDA2NDQKLS0tIGEvZG9jcy9saWJjdXJsL2N1cmxfZWFzeV9wYXVzZS4zCisrKyBiL2RvY3MvbGliY3VybC9jdXJsX2Vhc3lfcGF1c2UuMwpAQCAtMTksNyArMTksNyBAQAogLlwiICogS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC4KIC5cIiAqCiAuXCIgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKLS5USCBjdXJsX2Vhc3lfcGF1c2UgMyAiTWF5IDAxLCAyMDE2IiAibGliY3VybCA3LjcwLjAiICJsaWJjdXJsIE1hbnVhbCIKKy5USCBjdXJsX2Vhc3lfcGF1c2UgMyAiTWF5IDAxLCAyMDE2IiAibGliY3VybCA3LjcxLjEiICJsaWJjdXJsIE1hbnVhbCIKIAogLlNIIE5BTUUKIGN1cmxfZWFzeV9wYXVzZSAtIHBhdXNlIGFuZCB1bnBhdXNlIGEgY29ubmVjdGlvbgpkaWZmIC0tZ2l0IGEvZG9jcy9saWJjdXJsL2N1cmxfZWFzeV9wZXJmb3JtLjMgYi9kb2NzL2xpYmN1cmwvY3VybF9lYXN5X3BlcmZvcm0uMwppbmRleCAyOWUyNGI2Li45ZTI3MGRiIDEwMDY0NAotLS0gYS9kb2NzL2xpYmN1cmwvY3VybF9lYXN5X3BlcmZvcm0uMworKysgYi9kb2NzL2xpYmN1cmwvY3VybF9lYXN5X3BlcmZvcm0uMwpAQCAtMTksNyArMTksNyBAQAogLlwiICogS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC4KIC5cIiAqCiAuXCIgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKLS5USCBjdXJsX2Vhc3lfcGVyZm9ybSAzICJNYXJjaCAyMywgMjAyMCIgImxpYmN1cmwgNy43MC4wIiAibGliY3VybCBNYW51YWwiCisuVEggY3VybF9lYXN5X3BlcmZvcm0gMyAiTWFyY2ggMjMsIDIwMjAiICJsaWJjdXJsIDcuNzEuMSIgImxpYmN1cmwgTWFudWFsIgogCiAuU0ggTkFNRQogY3VybF9lYXN5X3BlcmZvcm0gLSBwZXJmb3JtIGEgYmxvY2tpbmcgZmlsZSB0cmFuc2ZlcgpkaWZmIC0tZ2l0IGEvZG9jcy9saWJjdXJsL2N1cmxfZWFzeV9yZWN2LjMgYi9kb2NzL2xpYmN1cmwvY3VybF9lYXN5X3JlY3YuMwppbmRleCAzYzg2Nzc0Li4zMWYyNjc2IDEwMDY0NAotLS0gYS9kb2NzL2xpYmN1cmwvY3VybF9lYXN5X3JlY3YuMworKysgYi9kb2NzL2xpYmN1cmwvY3VybF9lYXN5X3JlY3YuMwpAQCAtMjAsNyArMjAsNyBAQAogLlwiICoKIC5cIiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogLlwiCi0uVEggY3VybF9lYXN5X3JlY3YgMyAiRGVjZW1iZXIgMTgsIDIwMTYiICJsaWJjdXJsIDcuNzAuMCIgImxpYmN1cmwgTWFudWFsIgorLlRIIGN1cmxfZWFzeV9yZWN2IDMgIkRlY2VtYmVyIDE4LCAyMDE2IiAibGliY3VybCA3LjcxLjEiICJsaWJjdXJsIE1hbnVhbCIKIAogLlNIIE5BTUUKIGN1cmxfZWFzeV9yZWN2IC0gcmVjZWl2ZXMgcmF3IGRhdGEgb24gYW4gImVhc3kiIGNvbm5lY3Rpb24KZGlmZiAtLWdpdCBhL2RvY3MvbGliY3VybC9jdXJsX2Vhc3lfcmVzZXQuMyBiL2RvY3MvbGliY3VybC9jdXJsX2Vhc3lfcmVzZXQuMwppbmRleCA1ZjgzNGIwLi5jNmM2NWRmIDEwMDY0NAotLS0gYS9kb2NzL2xpYmN1cmwvY3VybF9lYXN5X3Jlc2V0LjMKKysrIGIvZG9jcy9saWJjdXJsL2N1cmxfZWFzeV9yZXNldC4zCkBAIC0xOSw3ICsxOSw3IEBACiAuXCIgKiBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLgogLlwiICoKIC5cIiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgotLlRIIGN1cmxfZWFzeV9yZXNldCAzICJGZWJydWFyeSAwOSwgMjAyMCIgImxpYmN1cmwgNy43MC4wIiAibGliY3VybCBNYW51YWwiCisuVEggY3VybF9lYXN5X3Jlc2V0IDMgIkZlYnJ1YXJ5IDA5LCAyMDIwIiAibGliY3VybCA3LjcxLjEiICJsaWJjdXJsIE1hbnVhbCIKIAogLlNIIE5BTUUKIGN1cmxfZWFzeV9yZXNldCAtIHJlc2V0IGFsbCBvcHRpb25zIG9mIGEgbGliY3VybCBzZXNzaW9uIGhhbmRsZQpkaWZmIC0tZ2l0IGEvZG9jcy9saWJjdXJsL2N1cmxfZWFzeV9zZW5kLjMgYi9kb2NzL2xpYmN1cmwvY3VybF9lYXN5X3NlbmQuMwppbmRleCA3OWMzNjBhLi4zYTAzNGZjIDEwMDY0NAotLS0gYS9kb2NzL2xpYmN1cmwvY3VybF9lYXN5X3NlbmQuMworKysgYi9kb2NzL2xpYmN1cmwvY3VybF9lYXN5X3NlbmQuMwpAQCAtMjAsNyArMjAsNyBAQAogLlwiICoKIC5cIiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogLlwiCi0uVEggY3VybF9lYXN5X3NlbmQgMyAiRGVjZW1iZXIgMTgsIDIwMTYiICJsaWJjdXJsIDcuNzAuMCIgImxpYmN1cmwgTWFudWFsIgorLlRIIGN1cmxfZWFzeV9zZW5kIDMgIkRlY2VtYmVyIDE4LCAyMDE2IiAibGliY3VybCA3LjcxLjEiICJsaWJjdXJsIE1hbnVhbCIKIAogLlNIIE5BTUUKIGN1cmxfZWFzeV9zZW5kIC0gc2VuZHMgcmF3IGRhdGEgb3ZlciBhbiAiZWFzeSIgY29ubmVjdGlvbgpkaWZmIC0tZ2l0IGEvZG9jcy9saWJjdXJsL2N1cmxfZWFzeV9zZXRvcHQuMyBiL2RvY3MvbGliY3VybC9jdXJsX2Vhc3lfc2V0b3B0LjMKaW5kZXggMDJiNDUxYi4uY2E5NWVlNiAxMDA2NDQKLS0tIGEvZG9jcy9saWJjdXJsL2N1cmxfZWFzeV9zZXRvcHQuMworKysgYi9kb2NzL2xpYmN1cmwvY3VybF9lYXN5X3NldG9wdC4zCkBAIC0yMCw3ICsyMCw3IEBACiAuXCIgKgogLlwiICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiAuXCIKLS5USCBjdXJsX2Vhc3lfc2V0b3B0IDMgIkphbnVhcnkgMTQsIDIwMjAiICJsaWJjdXJsIDcuNzAuMCIgImxpYmN1cmwgTWFudWFsIgorLlRIIGN1cmxfZWFzeV9zZXRvcHQgMyAiTWF5IDE5LCAyMDIwIiAibGliY3VybCA3LjcxLjEiICJsaWJjdXJsIE1hbnVhbCIKIAogLlNIIE5BTUUKIGN1cmxfZWFzeV9zZXRvcHQgXC0gc2V0IG9wdGlvbnMgZm9yIGEgY3VybCBlYXN5IGhhbmRsZQpAQCAtNTA3LDE2ICs1MDcsMjQgQEAKIC5TSCBTU0wgYW5kIFNFQ1VSSVRZIE9QVElPTlMKIC5JUCBDVVJMT1BUX1NTTENFUlQKIENsaWVudCBjZXJ0LiBTZWUgXGZJQ1VSTE9QVF9TU0xDRVJUKDMpXGZQCisuSVAgQ1VSTE9QVF9TU0xDRVJUX0JMT0IKK0NsaWVudCBjZXJ0IG1lbW9yeSBidWZmZXIuIFNlZSBcZklDVVJMT1BUX1NTTENFUlRfQkxPQigzKVxmUAogLklQIENVUkxPUFRfUFJPWFlfU1NMQ0VSVAogUHJveHkgY2xpZW50IGNlcnQuIFNlZSBcZklDVVJMT1BUX1BST1hZX1NTTENFUlQoMylcZlAKKy5JUCBDVVJMT1BUX1BST1hZX1NTTENFUlRfQkxPQgorUHJveHkgY2xpZW50IGNlcnQgbWVtb3J5IGJ1ZmZlci4gU2VlIFxmSUNVUkxPUFRfUFJPWFlfU1NMQ0VSVF9CTE9CKDMpXGZQCiAuSVAgQ1VSTE9QVF9TU0xDRVJUVFlQRQogQ2xpZW50IGNlcnQgdHlwZS4gIFNlZSBcZklDVVJMT1BUX1NTTENFUlRUWVBFKDMpXGZQCiAuSVAgQ1VSTE9QVF9QUk9YWV9TU0xDRVJUVFlQRQogUHJveHkgY2xpZW50IGNlcnQgdHlwZS4gIFNlZSBcZklDVVJMT1BUX1BST1hZX1NTTENFUlRUWVBFKDMpXGZQCiAuSVAgQ1VSTE9QVF9TU0xLRVkKIENsaWVudCBrZXkuIFNlZSBcZklDVVJMT1BUX1NTTEtFWSgzKVxmUAorLklQIENVUkxPUFRfU1NMS0VZX0JMT0IKK0NsaWVudCBrZXkgbWVtb3J5IGJ1ZmZlci4gU2VlIFxmSUNVUkxPUFRfU1NMS0VZX0JMT0IoMylcZlAKIC5JUCBDVVJMT1BUX1BST1hZX1NTTEtFWQogUHJveHkgY2xpZW50IGtleS4gU2VlIFxmSUNVUkxPUFRfUFJPWFlfU1NMS0VZKDMpXGZQCisuSVAgQ1VSTE9QVF9QUk9YWV9TU0xLRVlfQkxPQgorUHJveHkgY2xpZW50IGtleS4gU2VlIFxmSUNVUkxPUFRfUFJPWFlfU1NMS0VZX0JMT0IoMylcZlAKIC5JUCBDVVJMT1BUX1NTTEtFWVRZUEUKIENsaWVudCBrZXkgdHlwZS4gU2VlIFxmSUNVUkxPUFRfU1NMS0VZVFlQRSgzKVxmUAogLklQIENVUkxPUFRfUFJPWFlfU1NMS0VZVFlQRQpAQCAtNTU1LDYgKzU2MywxMiBAQAogUHJveHkgQ0EgY2VydCBidW5kbGUuIFNlZSBcZklDVVJMT1BUX1BST1hZX0NBSU5GTygzKVxmUAogLklQIENVUkxPUFRfSVNTVUVSQ0VSVAogSXNzdWVyIGNlcnRpZmljYXRlLiBTZWUgXGZJQ1VSTE9QVF9JU1NVRVJDRVJUKDMpXGZQCisuSVAgQ1VSTE9QVF9JU1NVRVJDRVJUX0JMT0IKK0lzc3VlciBjZXJ0aWZpY2F0ZSBtZW1vcnkgYnVmZmVyLiBTZWUgXGZJQ1VSTE9QVF9JU1NVRVJDRVJUX0JMT0IoMylcZlAKKy5JUCBDVVJMT1BUX1BST1hZX0lTU1VFUkNFUlQKK1Byb3h5IGlzc3VlciBjZXJ0aWZpY2F0ZS4gU2VlIFxmSUNVUkxPUFRfUFJPWFlfSVNTVUVSQ0VSVCgzKVxmUAorLklQIENVUkxPUFRfUFJPWFlfSVNTVUVSQ0VSVF9CTE9CCitQcm94eSBpc3N1ZXIgY2VydGlmaWNhdGUgbWVtb3J5IGJ1ZmZlci4gU2VlIFxmSUNVUkxPUFRfUFJPWFlfSVNTVUVSQ0VSVF9CTE9CKDMpXGZQCiAuSVAgQ1VSTE9QVF9DQVBBVEgKIFBhdGggdG8gQ0EgY2VydCBidW5kbGUuIFNlZSBcZklDVVJMT1BUX0NBUEFUSCgzKVxmUAogLklQIENVUkxPUFRfUFJPWFlfQ0FQQVRICmRpZmYgLS1naXQgYS9kb2NzL2xpYmN1cmwvY3VybF9lYXN5X3N0cmVycm9yLjMgYi9kb2NzL2xpYmN1cmwvY3VybF9lYXN5X3N0cmVycm9yLjMKaW5kZXggZmJiYjhmMS4uYmEwNWZlZSAxMDA2NDQKLS0tIGEvZG9jcy9saWJjdXJsL2N1cmxfZWFzeV9zdHJlcnJvci4zCisrKyBiL2RvY3MvbGliY3VybC9jdXJsX2Vhc3lfc3RyZXJyb3IuMwpAQCAtMTksNyArMTksNyBAQAogLlwiICogS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC4KIC5cIiAqCiAuXCIgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKLS5USCBjdXJsX2Vhc3lfc3RyZXJyb3IgMyAiTWFyY2ggMjMsIDIwMjAiICJsaWJjdXJsIDcuNzAuMCIgImxpYmN1cmwgTWFudWFsIgorLlRIIGN1cmxfZWFzeV9zdHJlcnJvciAzICJKdW5lIDI1LCAyMDIwIiAibGliY3VybCA3LjcxLjEiICJsaWJjdXJsIE1hbnVhbCIKIAogLlNIIE5BTUUKIGN1cmxfZWFzeV9zdHJlcnJvciAtIHJldHVybiBzdHJpbmcgZGVzY3JpYmluZyBlcnJvciBjb2RlCkBAIC0zNiw2ICszNiw2IEBACiAuU0ggQVZBSUxBQklMSVRZCiBUaGlzIGZ1bmN0aW9uIHdhcyBhZGRlZCBpbiBsaWJjdXJsIDcuMTIuMAogLlNIIFJFVFVSTiBWQUxVRQotQSBwb2ludGVyIHRvIGEgemVybyB0ZXJtaW5hdGVkIHN0cmluZy4KK0EgcG9pbnRlciB0byBhIG51bGwtdGVybWluYXRlZCBzdHJpbmcuCiAuU0ggIlNFRSBBTFNPIgogLkJSIGxpYmN1cmwtZXJyb3JzICIoMyksICIgY3VybF9tdWx0aV9zdHJlcnJvciAiKDMpLCAiIGN1cmxfc2hhcmVfc3RyZXJyb3IgIigzKSIKZGlmZiAtLWdpdCBhL2RvY3MvbGliY3VybC9jdXJsX2Vhc3lfdW5lc2NhcGUuMyBiL2RvY3MvbGliY3VybC9jdXJsX2Vhc3lfdW5lc2NhcGUuMwppbmRleCA0NDlhMGRmLi5jYWYxYmE1IDEwMDY0NAotLS0gYS9kb2NzL2xpYmN1cmwvY3VybF9lYXN5X3VuZXNjYXBlLjMKKysrIGIvZG9jcy9saWJjdXJsL2N1cmxfZWFzeV91bmVzY2FwZS4zCkBAIC01LDcgKzUsNyBAQAogLlwiICogICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAoX198IHxffCB8ICBfIDx8IHxfX18KIC5cIiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcX19ffFxfX18vfF98IFxfXF9fX19ffAogLlwiICoKLS5cIiAqIENvcHlyaWdodCAoQykgMTk5OCAtIDIwMTYsIERhbmllbCBTdGVuYmVyZywgPGRhbmllbEBoYXh4LnNlPiwgZXQgYWwuCisuXCIgKiBDb3B5cmlnaHQgKEMpIDE5OTggLSAyMDIwLCBEYW5pZWwgU3RlbmJlcmcsIDxkYW5pZWxAaGF4eC5zZT4sIGV0IGFsLgogLlwiICoKIC5cIiAqIFRoaXMgc29mdHdhcmUgaXMgbGljZW5zZWQgYXMgZGVzY3JpYmVkIGluIHRoZSBmaWxlIENPUFlJTkcsIHdoaWNoCiAuXCIgKiB5b3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYXMgcGFydCBvZiB0aGlzIGRpc3RyaWJ1dGlvbi4gVGhlIHRlcm1zCkBAIC0yMCw3ICsyMCw3IEBACiAuXCIgKgogLlwiICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiAuXCIKLS5USCBjdXJsX2Vhc3lfdW5lc2NhcGUgMyAiT2N0b2JlciAwNCwgMjAxNiIgImxpYmN1cmwgNy43MC4wIiAibGliY3VybCBNYW51YWwiCisuVEggY3VybF9lYXN5X3VuZXNjYXBlIDMgIkp1bmUgMjUsIDIwMjAiICJsaWJjdXJsIDcuNzEuMSIgImxpYmN1cmwgTWFudWFsIgogCiAuU0ggTkFNRQogY3VybF9lYXN5X3VuZXNjYXBlIC0gVVJMIGRlY29kZXMgdGhlIGdpdmVuIHN0cmluZwpAQCAtNTAsNiArNTAsNiBAQAogLlNIIEFWQUlMQUJJTElUWQogQWRkZWQgaW4gNy4xNS40IGFuZCByZXBsYWNlcyB0aGUgb2xkIFxmSWN1cmxfdW5lc2NhcGUoMylcZlAgZnVuY3Rpb24uCiAuU0ggUkVUVVJOIFZBTFVFCi1BIHBvaW50ZXIgdG8gYSB6ZXJvIHRlcm1pbmF0ZWQgc3RyaW5nIG9yIE5VTEwgaWYgaXQgZmFpbGVkLgorQSBwb2ludGVyIHRvIGEgbnVsbC10ZXJtaW5hdGVkIHN0cmluZyBvciBOVUxMIGlmIGl0IGZhaWxlZC4KIC5TSCAiU0VFIEFMU08iCiAuQlIgY3VybF9lYXN5X2VzY2FwZSAiKDMpLCAiIGN1cmxfZnJlZSAiKDMpLCIgUkZDIDM5ODYKZGlmZiAtLWdpdCBhL2RvY3MvbGliY3VybC9jdXJsX2VzY2FwZS4zIGIvZG9jcy9saWJjdXJsL2N1cmxfZXNjYXBlLjMKaW5kZXggNWJkMDQ2OS4uZTI3NzY2YiAxMDA2NDQKLS0tIGEvZG9jcy9saWJjdXJsL2N1cmxfZXNjYXBlLjMKKysrIGIvZG9jcy9saWJjdXJsL2N1cmxfZXNjYXBlLjMKQEAgLTE5LDcgKzE5LDcgQEAKIC5cIiAqIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuCiAuXCIgKgogLlwiICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCi0uVEggY3VybF9lc2NhcGUgMyAiTWFyY2ggMjMsIDIwMjAiICJsaWJjdXJsIDcuNzAuMCIgImxpYmN1cmwgTWFudWFsIgorLlRIIGN1cmxfZXNjYXBlIDMgIkp1bmUgMjUsIDIwMjAiICJsaWJjdXJsIDcuNzEuMSIgImxpYmN1cmwgTWFudWFsIgogCiAuU0ggTkFNRQogY3VybF9lc2NhcGUgLSBVUkwgZW5jb2RlcyB0aGUgZ2l2ZW4gc3RyaW5nCkBAIC00NCw2ICs0NCw2IEBACiBTaW5jZSA3LjE1LjQsIFxmSWN1cmxfZWFzeV9lc2NhcGUoMylcZlAgc2hvdWxkIGJlIHVzZWQuIFRoaXMgZnVuY3Rpb24gd2lsbAogYmUgcmVtb3ZlZCBpbiBhIGZ1dHVyZSByZWxlYXNlLgogLlNIIFJFVFVSTiBWQUxVRQotQSBwb2ludGVyIHRvIGEgemVybyB0ZXJtaW5hdGVkIHN0cmluZyBvciBOVUxMIGlmIGl0IGZhaWxlZC4KK0EgcG9pbnRlciB0byBhIG51bGwtdGVybWluYXRlZCBzdHJpbmcgb3IgTlVMTCBpZiBpdCBmYWlsZWQuCiAuU0ggIlNFRSBBTFNPIgogLkJSIGN1cmxfdW5lc2NhcGUgIigzKSwgIiBjdXJsX2ZyZWUgIigzKSwgIiBSRkMgMjM5NgpkaWZmIC0tZ2l0IGEvZG9jcy9saWJjdXJsL2N1cmxfZm9ybWFkZC4zIGIvZG9jcy9saWJjdXJsL2N1cmxfZm9ybWFkZC4zCmluZGV4IGFjOTQ2NDYuLmYxY2NiZGUgMTAwNjQ0Ci0tLSBhL2RvY3MvbGliY3VybC9jdXJsX2Zvcm1hZGQuMworKysgYi9kb2NzL2xpYmN1cmwvY3VybF9mb3JtYWRkLjMKQEAgLTE5LDcgKzE5LDcgQEAKIC5cIiAqIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuCiAuXCIgKgogLlwiICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCi0uVEggY3VybF9mb3JtYWRkIDMgIk1hcmNoIDIzLCAyMDIwIiAibGliY3VybCA3LjcwLjAiICJsaWJjdXJsIE1hbnVhbCIKKy5USCBjdXJsX2Zvcm1hZGQgMyAiTWFyY2ggMjMsIDIwMjAiICJsaWJjdXJsIDcuNzEuMSIgImxpYmN1cmwgTWFudWFsIgogCiAuU0ggTkFNRQogY3VybF9mb3JtYWRkIC0gYWRkIGEgc2VjdGlvbiB0byBhIG11bHRpcGFydC9mb3JtZGF0YSBIVFRQIFBPU1QKZGlmZiAtLWdpdCBhL2RvY3MvbGliY3VybC9jdXJsX2Zvcm1mcmVlLjMgYi9kb2NzL2xpYmN1cmwvY3VybF9mb3JtZnJlZS4zCmluZGV4IGFiZGZkZDkuLjVkMjRjNmUgMTAwNjQ0Ci0tLSBhL2RvY3MvbGliY3VybC9jdXJsX2Zvcm1mcmVlLjMKKysrIGIvZG9jcy9saWJjdXJsL2N1cmxfZm9ybWZyZWUuMwpAQCAtMTksNyArMTksNyBAQAogLlwiICogS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC4KIC5cIiAqCiAuXCIgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKLS5USCBjdXJsX2Zvcm1mcmVlIDMgIkF1Z3VzdCAwOSwgMjAxOCIgImxpYmN1cmwgNy43MC4wIiAibGliY3VybCBNYW51YWwiCisuVEggY3VybF9mb3JtZnJlZSAzICJBdWd1c3QgMDksIDIwMTgiICJsaWJjdXJsIDcuNzEuMSIgImxpYmN1cmwgTWFudWFsIgogCiAuU0ggTkFNRQogY3VybF9mb3JtZnJlZSAtIGZyZWUgYSBwcmV2aW91c2x5IGJ1aWxkIG11bHRpcGFydC9mb3JtZGF0YSBIVFRQIFBPU1QgY2hhaW4KZGlmZiAtLWdpdCBhL2RvY3MvbGliY3VybC9jdXJsX2Zvcm1nZXQuMyBiL2RvY3MvbGliY3VybC9jdXJsX2Zvcm1nZXQuMwppbmRleCBlNjY4OWIzLi44NjM4Y2UyIDEwMDY0NAotLS0gYS9kb2NzL2xpYmN1cmwvY3VybF9mb3JtZ2V0LjMKKysrIGIvZG9jcy9saWJjdXJsL2N1cmxfZm9ybWdldC4zCkBAIC0xOSw3ICsxOSw3IEBACiAuXCIgKiBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLgogLlwiICoKIC5cIiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgotLlRIIGN1cmxfZm9ybWdldCAzICJTZXB0ZW1iZXIgMDIsIDIwMTciICJsaWJjdXJsIDcuNzAuMCIgImxpYmN1cmwgTWFudWFsIgorLlRIIGN1cmxfZm9ybWdldCAzICJTZXB0ZW1iZXIgMDIsIDIwMTciICJsaWJjdXJsIDcuNzEuMSIgImxpYmN1cmwgTWFudWFsIgogCiAuU0ggTkFNRQogY3VybF9mb3JtZ2V0IC0gc2VyaWFsaXplIGEgcHJldmlvdXNseSBidWlsdCBtdWx0aXBhcnQvZm9ybWRhdGEgSFRUUCBQT1NUIGNoYWluCmRpZmYgLS1naXQgYS9kb2NzL2xpYmN1cmwvY3VybF9mcmVlLjMgYi9kb2NzL2xpYmN1cmwvY3VybF9mcmVlLjMKaW5kZXggNWUyNGE5OS4uMWQ2NzkzZSAxMDA2NDQKLS0tIGEvZG9jcy9saWJjdXJsL2N1cmxfZnJlZS4zCisrKyBiL2RvY3MvbGliY3VybC9jdXJsX2ZyZWUuMwpAQCAtMTksNyArMTksNyBAQAogLlwiICogS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC4KIC5cIiAqCiAuXCIgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKLS5USCBjdXJsX2ZyZWUgMyAiQXVndXN0IDA5LCAyMDE4IiAibGliY3VybCA3LjcwLjAiICJsaWJjdXJsIE1hbnVhbCIKKy5USCBjdXJsX2ZyZWUgMyAiQXVndXN0IDA5LCAyMDE4IiAibGliY3VybCA3LjcxLjEiICJsaWJjdXJsIE1hbnVhbCIKIAogLlNIIE5BTUUKIGN1cmxfZnJlZSAtIHJlY2xhaW0gbWVtb3J5IHRoYXQgaGFzIGJlZW4gb2J0YWluZWQgdGhyb3VnaCBhIGxpYmN1cmwgY2FsbApkaWZmIC0tZ2l0IGEvZG9jcy9saWJjdXJsL2N1cmxfZ2V0ZGF0ZS4zIGIvZG9jcy9saWJjdXJsL2N1cmxfZ2V0ZGF0ZS4zCmluZGV4IDBkMzUwYjEuLjg1OWYzOGYgMTAwNjQ0Ci0tLSBhL2RvY3MvbGliY3VybC9jdXJsX2dldGRhdGUuMworKysgYi9kb2NzL2xpYmN1cmwvY3VybF9nZXRkYXRlLjMKQEAgLTE5LDcgKzE5LDcgQEAKIC5cIiAqIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuCiAuXCIgKgogLlwiICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCi0uVEggY3VybF9nZXRkYXRlIDMgIkphbnVhcnkgMTgsIDIwMTgiICJsaWJjdXJsIDcuNzAuMCIgImxpYmN1cmwgTWFudWFsIgorLlRIIGN1cmxfZ2V0ZGF0ZSAzICJKYW51YXJ5IDE4LCAyMDE4IiAibGliY3VybCA3LjcxLjEiICJsaWJjdXJsIE1hbnVhbCIKIAogLlNIIE5BTUUKIGN1cmxfZ2V0ZGF0ZSAtIENvbnZlcnQgYSBkYXRlIHN0cmluZyB0byBudW1iZXIgb2Ygc2Vjb25kcwpkaWZmIC0tZ2l0IGEvZG9jcy9saWJjdXJsL2N1cmxfZ2V0ZW52LjMgYi9kb2NzL2xpYmN1cmwvY3VybF9nZXRlbnYuMwppbmRleCAxNDliZjU1Li5iOWQwNzRiIDEwMDY0NAotLS0gYS9kb2NzL2xpYmN1cmwvY3VybF9nZXRlbnYuMworKysgYi9kb2NzL2xpYmN1cmwvY3VybF9nZXRlbnYuMwpAQCAtMTksNyArMTksNyBAQAogLlwiICogS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC4KIC5cIiAqCiAuXCIgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKLS5USCBjdXJsX2dldGVudiAzICJNYXJjaCAyMywgMjAyMCIgImxpYmN1cmwgNy43MC4wIiAibGliY3VybCBNYW51YWwiCisuVEggY3VybF9nZXRlbnYgMyAiSnVuZSAyNSwgMjAyMCIgImxpYmN1cmwgNy43MS4xIiAibGliY3VybCBNYW51YWwiCiAKIC5TSCBOQU1FCiBjdXJsX2dldGVudiAtIHJldHVybiB2YWx1ZSBmb3IgZW52aXJvbm1lbnQgbmFtZQpAQCAtMzksNyArMzksNyBAQAogd2lsbCBpbnN0ZWFkIGJlIG1hZGUgImF2YWlsYWJsZSIgYnkgc291cmNlIGNvZGUgYWNjZXNzIG9ubHksIGFuZCB0aGVuIGFzCiBjdXJseF9nZXRlbnYoKS4KIC5TSCBSRVRVUk4gVkFMVUUKLUEgcG9pbnRlciB0byBhIHplcm8gdGVybWluYXRlZCBzdHJpbmcgb3IgTlVMTCBpZiBpdCBmYWlsZWQgdG8gZmluZCB0aGUKK0EgcG9pbnRlciB0byBhIG51bGwtdGVybWluYXRlZCBzdHJpbmcgb3IgTlVMTCBpZiBpdCBmYWlsZWQgdG8gZmluZCB0aGUKIHNwZWNpZmllZCBuYW1lLgogLlNIIE5PVEUKIFVuZGVyIHVuaXggb3BlcmF0aW5nIHN5c3RlbXMsIHRoZXJlIGlzbid0IGFueSBwb2ludCBpbiByZXR1cm5pbmcgYW4gYWxsb2NhdGVkCmRpZmYgLS1naXQgYS9kb2NzL2xpYmN1cmwvY3VybF9nbG9iYWxfY2xlYW51cC4zIGIvZG9jcy9saWJjdXJsL2N1cmxfZ2xvYmFsX2NsZWFudXAuMwppbmRleCA3ZmFlM2I1Li5kMDk0Mzc5IDEwMDY0NAotLS0gYS9kb2NzL2xpYmN1cmwvY3VybF9nbG9iYWxfY2xlYW51cC4zCisrKyBiL2RvY3MvbGliY3VybC9jdXJsX2dsb2JhbF9jbGVhbnVwLjMKQEAgLTE5LDcgKzE5LDcgQEAKIC5cIiAqIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuCiAuXCIgKgogLlwiICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCi0uVEggY3VybF9nbG9iYWxfY2xlYW51cCAzICJTZXB0ZW1iZXIgMjAsIDIwMTYiICJsaWJjdXJsIDcuNzAuMCIgImxpYmN1cmwgTWFudWFsIgorLlRIIGN1cmxfZ2xvYmFsX2NsZWFudXAgMyAiU2VwdGVtYmVyIDIwLCAyMDE2IiAibGliY3VybCA3LjcxLjEiICJsaWJjdXJsIE1hbnVhbCIKIAogLlNIIE5BTUUKIGN1cmxfZ2xvYmFsX2NsZWFudXAgLSBnbG9iYWwgbGliY3VybCBjbGVhbnVwCmRpZmYgLS1naXQgYS9kb2NzL2xpYmN1cmwvY3VybF9nbG9iYWxfaW5pdC4zIGIvZG9jcy9saWJjdXJsL2N1cmxfZ2xvYmFsX2luaXQuMwppbmRleCBjNzI1MGQ0Li4yMWUwNWIyIDEwMDY0NAotLS0gYS9kb2NzL2xpYmN1cmwvY3VybF9nbG9iYWxfaW5pdC4zCisrKyBiL2RvY3MvbGliY3VybC9jdXJsX2dsb2JhbF9pbml0LjMKQEAgLTE5LDcgKzE5LDcgQEAKIC5cIiAqIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuCiAuXCIgKgogLlwiICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCi0uVEggY3VybF9nbG9iYWxfaW5pdCAzICJKYW51YXJ5IDIzLCAyMDIwIiAibGliY3VybCA3LjcwLjAiICJsaWJjdXJsIE1hbnVhbCIKKy5USCBjdXJsX2dsb2JhbF9pbml0IDMgIkphbnVhcnkgMjMsIDIwMjAiICJsaWJjdXJsIDcuNzEuMSIgImxpYmN1cmwgTWFudWFsIgogCiAuU0ggTkFNRQogY3VybF9nbG9iYWxfaW5pdCAtIEdsb2JhbCBsaWJjdXJsIGluaXRpYWxpc2F0aW9uCmRpZmYgLS1naXQgYS9kb2NzL2xpYmN1cmwvY3VybF9nbG9iYWxfaW5pdF9tZW0uMyBiL2RvY3MvbGliY3VybC9jdXJsX2dsb2JhbF9pbml0X21lbS4zCmluZGV4IGEyMmU0ZDAuLmQyZjIzYTQgMTAwNjQ0Ci0tLSBhL2RvY3MvbGliY3VybC9jdXJsX2dsb2JhbF9pbml0X21lbS4zCisrKyBiL2RvY3MvbGliY3VybC9jdXJsX2dsb2JhbF9pbml0X21lbS4zCkBAIC0xOSw3ICsxOSw3IEBACiAuXCIgKiBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLgogLlwiICoKIC5cIiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgotLlRIIGN1cmxfZ2xvYmFsX2luaXRfbWVtIDMgIkF1Z3VzdCAxMSwgMjAxOSIgImxpYmN1cmwgNy43MC4wIiAibGliY3VybCBNYW51YWwiCisuVEggY3VybF9nbG9iYWxfaW5pdF9tZW0gMyAiQXVndXN0IDExLCAyMDE5IiAibGliY3VybCA3LjcxLjEiICJsaWJjdXJsIE1hbnVhbCIKIAogLlNIIE5BTUUKIGN1cmxfZ2xvYmFsX2luaXRfbWVtIC0gR2xvYmFsIGxpYmN1cmwgaW5pdGlhbGlzYXRpb24gd2l0aCBtZW1vcnkgY2FsbGJhY2tzCmRpZmYgLS1naXQgYS9kb2NzL2xpYmN1cmwvY3VybF9nbG9iYWxfc3Nsc2V0LjMgYi9kb2NzL2xpYmN1cmwvY3VybF9nbG9iYWxfc3Nsc2V0LjMKaW5kZXggYmMwOWI4OS4uZGUyMmY3MSAxMDA2NDQKLS0tIGEvZG9jcy9saWJjdXJsL2N1cmxfZ2xvYmFsX3NzbHNldC4zCisrKyBiL2RvY3MvbGliY3VybC9jdXJsX2dsb2JhbF9zc2xzZXQuMwpAQCAtMTksNyArMTksNyBAQAogLlwiICogS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC4KIC5cIiAqCiAuXCIgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKLS5USCBjdXJsX2dsb2JhbF9zc2xzZXQgMyAiTWFyY2ggMDQsIDIwMjAiICJsaWJjdXJsIDcuNzAuMCIgImxpYmN1cmwgTWFudWFsIgorLlRIIGN1cmxfZ2xvYmFsX3NzbHNldCAzICJNYXJjaCAwNCwgMjAyMCIgImxpYmN1cmwgNy43MS4xIiAibGliY3VybCBNYW51YWwiCiAKIC5TSCBOQU1FCiBjdXJsX2dsb2JhbF9zc2xzZXQgLSBTZWxlY3QgU1NMIGJhY2tlbmQgdG8gdXNlIHdpdGggbGliY3VybApkaWZmIC0tZ2l0IGEvZG9jcy9saWJjdXJsL2N1cmxfbWltZV9hZGRwYXJ0LjMgYi9kb2NzL2xpYmN1cmwvY3VybF9taW1lX2FkZHBhcnQuMwppbmRleCBlYWMxZjNhLi5lNDJhODlmIDEwMDY0NAotLS0gYS9kb2NzL2xpYmN1cmwvY3VybF9taW1lX2FkZHBhcnQuMworKysgYi9kb2NzL2xpYmN1cmwvY3VybF9taW1lX2FkZHBhcnQuMwpAQCAtMTksNyArMTksNyBAQAogLlwiICogS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC4KIC5cIiAqCiAuXCIgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKLS5USCBjdXJsX21pbWVfYWRkcGFydCAzICJTZXB0ZW1iZXIgMjIsIDIwMTciICJsaWJjdXJsIDcuNzAuMCIgImxpYmN1cmwgTWFudWFsIgorLlRIIGN1cmxfbWltZV9hZGRwYXJ0IDMgIlNlcHRlbWJlciAyMiwgMjAxNyIgImxpYmN1cmwgNy43MS4xIiAibGliY3VybCBNYW51YWwiCiAKIC5TSCBOQU1FCiBjdXJsX21pbWVfYWRkcGFydCAtIGFwcGVuZCBhIG5ldyBlbXB0eSBwYXJ0IHRvIGEgbWltZSBzdHJ1Y3R1cmUKZGlmZiAtLWdpdCBhL2RvY3MvbGliY3VybC9jdXJsX21pbWVfZGF0YS4zIGIvZG9jcy9saWJjdXJsL2N1cmxfbWltZV9kYXRhLjMKaW5kZXggZTkyODAzZS4uYmYzZjMzMCAxMDA2NDQKLS0tIGEvZG9jcy9saWJjdXJsL2N1cmxfbWltZV9kYXRhLjMKKysrIGIvZG9jcy9saWJjdXJsL2N1cmxfbWltZV9kYXRhLjMKQEAgLTUsNyArNSw3IEBACiAuXCIgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICB8IChfX3wgfF98IHwgIF8gPHwgfF9fXwogLlwiICogICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxfX198XF9fXy98X3wgXF9cX19fX198CiAuXCIgKgotLlwiICogQ29weXJpZ2h0IChDKSAxOTk4IC0gMjAxNywgRGFuaWVsIFN0ZW5iZXJnLCA8ZGFuaWVsQGhheHguc2U+LCBldCBhbC4KKy5cIiAqIENvcHlyaWdodCAoQykgMTk5OCAtIDIwMjAsIERhbmllbCBTdGVuYmVyZywgPGRhbmllbEBoYXh4LnNlPiwgZXQgYWwuCiAuXCIgKgogLlwiICogVGhpcyBzb2Z0d2FyZSBpcyBsaWNlbnNlZCBhcyBkZXNjcmliZWQgaW4gdGhlIGZpbGUgQ09QWUlORywgd2hpY2gKIC5cIiAqIHlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhcyBwYXJ0IG9mIHRoaXMgZGlzdHJpYnV0aW9uLiBUaGUgdGVybXMKQEAgLTE5LDcgKzE5LDcgQEAKIC5cIiAqIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuCiAuXCIgKgogLlwiICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCi0uVEggY3VybF9taW1lX2RhdGEgMyAiU2VwdGVtYmVyIDIyLCAyMDE3IiAibGliY3VybCA3LjcwLjAiICJsaWJjdXJsIE1hbnVhbCIKKy5USCBjdXJsX21pbWVfZGF0YSAzICJKdW5lIDI1LCAyMDIwIiAibGliY3VybCA3LjcxLjEiICJsaWJjdXJsIE1hbnVhbCIKIAogLlNIIE5BTUUKIGN1cmxfbWltZV9kYXRhIC0gc2V0IGEgbWltZSBwYXJ0J3MgYm9keSBkYXRhIGZyb20gbWVtb3J5CkBAIC0zNSw3ICszNSw3IEBACiBcZklkYXRhXGZQIHBvaW50cyB0byB0aGUgZGF0YSBieXRlczogdGhvc2UgYXJlIGNvcGllZCB0byB0aGUgcGFydCBhbmQgdGhlaXIKIHN0b3JhZ2UgbWF5IHNhZmVseSBiZSByZXVzZWQgYWZ0ZXIgY2FsbC4KIFxmSWRhdGFzaXplXGZQIGlzIHRoZSBudW1iZXIgb2YgZGF0YSBieXRlczogaXQgY2FuIGJlIHNldCB0bwotXGZJQ1VSTF9aRVJPX1RFUk1JTkFURURcZlAgdG8gaW5kaWNhdGUgXGZJZGF0YVxmUCBpcyBhIG51bC10ZXJtaW5hdGVkCitcZklDVVJMX1pFUk9fVEVSTUlOQVRFRFxmUCB0byBpbmRpY2F0ZSBcZklkYXRhXGZQIGlzIGEgbnVsbC10ZXJtaW5hdGVkCiBjaGFyYWN0ZXIgc3RyaW5nLgogXGZJcGFydFxmUCBpcyB0aGUgcGFydCdzIHRvIGFzc2lnbiBjb250ZW50cyB0by4KIApkaWZmIC0tZ2l0IGEvZG9jcy9saWJjdXJsL2N1cmxfbWltZV9kYXRhX2NiLjMgYi9kb2NzL2xpYmN1cmwvY3VybF9taW1lX2RhdGFfY2IuMwppbmRleCBjNzUwNzU0Li5jNWRmYTZlIDEwMDY0NAotLS0gYS9kb2NzL2xpYmN1cmwvY3VybF9taW1lX2RhdGFfY2IuMworKysgYi9kb2NzL2xpYmN1cmwvY3VybF9taW1lX2RhdGFfY2IuMwpAQCAtMTksNyArMTksNyBAQAogLlwiICogS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC4KIC5cIiAqCiAuXCIgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKLS5USCBjdXJsX21pbWVfZGF0YV9jYiAzICJBcHJpbCAxNywgMjAxOCIgImxpYmN1cmwgNy43MC4wIiAibGliY3VybCBNYW51YWwiCisuVEggY3VybF9taW1lX2RhdGFfY2IgMyAiQXByaWwgMTcsIDIwMTgiICJsaWJjdXJsIDcuNzEuMSIgImxpYmN1cmwgTWFudWFsIgogCiAuU0ggTkFNRQogY3VybF9taW1lX2RhdGFfY2IgLSBzZXQgYSBjYWxsYmFjay1iYXNlZCBkYXRhIHNvdXJjZSBmb3IgYSBtaW1lIHBhcnQncyBib2R5CmRpZmYgLS1naXQgYS9kb2NzL2xpYmN1cmwvY3VybF9taW1lX2VuY29kZXIuMyBiL2RvY3MvbGliY3VybC9jdXJsX21pbWVfZW5jb2Rlci4zCmluZGV4IDVkY2VlZDMuLjk3ZTlmMDMgMTAwNjQ0Ci0tLSBhL2RvY3MvbGliY3VybC9jdXJsX21pbWVfZW5jb2Rlci4zCisrKyBiL2RvY3MvbGliY3VybC9jdXJsX21pbWVfZW5jb2Rlci4zCkBAIC01LDcgKzUsNyBAQAogLlwiICogICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAoX198IHxffCB8ICBfIDx8IHxfX18KIC5cIiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcX19ffFxfX18vfF98IFxfXF9fX19ffAogLlwiICoKLS5cIiAqIENvcHlyaWdodCAoQykgMTk5OCAtIDIwMTcsIERhbmllbCBTdGVuYmVyZywgPGRhbmllbEBoYXh4LnNlPiwgZXQgYWwuCisuXCIgKiBDb3B5cmlnaHQgKEMpIDE5OTggLSAyMDIwLCBEYW5pZWwgU3RlbmJlcmcsIDxkYW5pZWxAaGF4eC5zZT4sIGV0IGFsLgogLlwiICoKIC5cIiAqIFRoaXMgc29mdHdhcmUgaXMgbGljZW5zZWQgYXMgZGVzY3JpYmVkIGluIHRoZSBmaWxlIENPUFlJTkcsIHdoaWNoCiAuXCIgKiB5b3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYXMgcGFydCBvZiB0aGlzIGRpc3RyaWJ1dGlvbi4gVGhlIHRlcm1zCkBAIC0xOSw3ICsxOSw3IEBACiAuXCIgKiBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLgogLlwiICoKIC5cIiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgotLlRIIGN1cmxfbWltZV9lbmNvZGVyIDMgIlNlcHRlbWJlciAwNSwgMjAxNyIgImxpYmN1cmwgNy43MC4wIiAibGliY3VybCBNYW51YWwiCisuVEggY3VybF9taW1lX2VuY29kZXIgMyAiSnVuZSAyNSwgMjAyMCIgImxpYmN1cmwgNy43MS4xIiAibGliY3VybCBNYW51YWwiCiAKIC5TSCBOQU1FCiBjdXJsX21pbWVfZW5jb2RlciAtIHNldCBhIG1pbWUgcGFydCdzIGVuY29kZXIgYW5kIGNvbnRlbnQgdHJhbnNmZXIgZW5jb2RpbmcKQEAgLTM0LDcgKzM0LDcgQEAKIHRyYW5zbWl0dGVkLgogCiBcZklwYXJ0XGZQIGlzIHRoZSBwYXJ0J3MgaGFuZGxlIHRvIGFzc2lnbiBhbiBlbmNvZGVyLgotXGZJZW5jb2RpbmdcZlAgaXMgYSBwb2ludGVyIHRvIGEgemVyby10ZXJtaW5hdGVkIGVuY29kaW5nIHNjaGVtZS4gSXQgbWF5IGJlCitcZkllbmNvZGluZ1xmUCBpcyBhIHBvaW50ZXIgdG8gYSBudWxsLXRlcm1pbmF0ZWQgZW5jb2Rpbmcgc2NoZW1lLiBJdCBtYXkgYmUKIHNldCB0byBOVUxMIHRvIGRpc2FibGUgYW4gZW5jb2RlciBwcmV2aW91c2x5IGF0dGFjaGVkIHRvIHRoZSBwYXJ0LiBUaGUgZW5jb2RpbmcKIHNjaGVtZSBzdG9yYWdlIG1heSBzYWZlbHkgYmUgcmV1c2VkIGFmdGVyIHRoaXMgZnVuY3Rpb24gcmV0dXJucy4KIApkaWZmIC0tZ2l0IGEvZG9jcy9saWJjdXJsL2N1cmxfbWltZV9maWxlZGF0YS4zIGIvZG9jcy9saWJjdXJsL2N1cmxfbWltZV9maWxlZGF0YS4zCmluZGV4IGE3MTBmYmYuLjRhNTRkY2YgMTAwNjQ0Ci0tLSBhL2RvY3MvbGliY3VybC9jdXJsX21pbWVfZmlsZWRhdGEuMworKysgYi9kb2NzL2xpYmN1cmwvY3VybF9taW1lX2ZpbGVkYXRhLjMKQEAgLTUsNyArNSw3IEBACiAuXCIgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICB8IChfX3wgfF98IHwgIF8gPHwgfF9fXwogLlwiICogICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxfX198XF9fXy98X3wgXF9cX19fX198CiAuXCIgKgotLlwiICogQ29weXJpZ2h0IChDKSAxOTk4IC0gMjAxOCwgRGFuaWVsIFN0ZW5iZXJnLCA8ZGFuaWVsQGhheHguc2U+LCBldCBhbC4KKy5cIiAqIENvcHlyaWdodCAoQykgMTk5OCAtIDIwMjAsIERhbmllbCBTdGVuYmVyZywgPGRhbmllbEBoYXh4LnNlPiwgZXQgYWwuCiAuXCIgKgogLlwiICogVGhpcyBzb2Z0d2FyZSBpcyBsaWNlbnNlZCBhcyBkZXNjcmliZWQgaW4gdGhlIGZpbGUgQ09QWUlORywgd2hpY2gKIC5cIiAqIHlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhcyBwYXJ0IG9mIHRoaXMgZGlzdHJpYnV0aW9uLiBUaGUgdGVybXMKQEAgLTE5LDcgKzE5LDcgQEAKIC5cIiAqIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuCiAuXCIgKgogLlwiICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCi0uVEggY3VybF9taW1lX2ZpbGVkYXRhIDMgIkFwcmlsIDE3LCAyMDE4IiAibGliY3VybCA3LjcwLjAiICJsaWJjdXJsIE1hbnVhbCIKKy5USCBjdXJsX21pbWVfZmlsZWRhdGEgMyAiSnVuZSAyNSwgMjAyMCIgImxpYmN1cmwgNy43MS4xIiAibGliY3VybCBNYW51YWwiCiAKIC5TSCBOQU1FCiBjdXJsX21pbWVfZmlsZWRhdGEgLSBzZXQgYSBtaW1lIHBhcnQncyBib2R5IGRhdGEgZnJvbSBhIGZpbGUgY29udGVudHMKQEAgLTM2LDkgKzM2LDkgQEAKIAogXGZJcGFydFxmUCBpcyB0aGUgcGFydCdzIHRvIGFzc2lnbiBjb250ZW50cyB0by4KIAotXGZJZmlsZW5hbWVcZlAgcG9pbnRzIHRvIHRoZSBudWwtdGVybWluYXRlZCBmaWxlJ3MgcGF0aCBuYW1lLiBUaGUgcG9pbnRlciBjYW4KLWJlIE5VTEwgdG8gZGV0YWNoIHRoZSBwcmV2aW91cyBwYXJ0IGNvbnRlbnRzIHNldHRpbmdzLiAgRmlsZW5hbWUgc3RvcmFnZSBjYW4gYmUKLXNhZmVseSBiZSByZXVzZWQgYWZ0ZXIgdGhpcyBjYWxsLgorXGZJZmlsZW5hbWVcZlAgcG9pbnRzIHRvIHRoZSBudWxsLXRlcm1pbmF0ZWQgZmlsZSdzIHBhdGggbmFtZS4gVGhlIHBvaW50ZXIgY2FuCitiZSBOVUxMIHRvIGRldGFjaCB0aGUgcHJldmlvdXMgcGFydCBjb250ZW50cyBzZXR0aW5ncy4gIEZpbGVuYW1lIHN0b3JhZ2UgY2FuCitiZSBzYWZlbHkgYmUgcmV1c2VkIGFmdGVyIHRoaXMgY2FsbC4KIAogQXMgYSBzaWRlIGVmZmVjdCwgdGhlIHBhcnQncyByZW1vdGUgZmlsZSBuYW1lIGlzIHNldCB0byB0aGUgYmFzZSBuYW1lIG9mIHRoZQogZ2l2ZW4gXGZJZmlsZW5hbWVcZlAgaWYgaXQgaXMgYSB2YWxpZCBuYW1lZCBmaWxlLiBUaGlzIGNhbiBiZSB1bmRvbmUgb3IKZGlmZiAtLWdpdCBhL2RvY3MvbGliY3VybC9jdXJsX21pbWVfZmlsZW5hbWUuMyBiL2RvY3MvbGliY3VybC9jdXJsX21pbWVfZmlsZW5hbWUuMwppbmRleCA4MDNmZWYyLi5mZjk3NzUzIDEwMDY0NAotLS0gYS9kb2NzL2xpYmN1cmwvY3VybF9taW1lX2ZpbGVuYW1lLjMKKysrIGIvZG9jcy9saWJjdXJsL2N1cmxfbWltZV9maWxlbmFtZS4zCkBAIC01LDcgKzUsNyBAQAogLlwiICogICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAoX198IHxffCB8ICBfIDx8IHxfX18KIC5cIiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcX19ffFxfX18vfF98IFxfXF9fX19ffAogLlwiICoKLS5cIiAqIENvcHlyaWdodCAoQykgMTk5OCAtIDIwMTcsIERhbmllbCBTdGVuYmVyZywgPGRhbmllbEBoYXh4LnNlPiwgZXQgYWwuCisuXCIgKiBDb3B5cmlnaHQgKEMpIDE5OTggLSAyMDIwLCBEYW5pZWwgU3RlbmJlcmcsIDxkYW5pZWxAaGF4eC5zZT4sIGV0IGFsLgogLlwiICoKIC5cIiAqIFRoaXMgc29mdHdhcmUgaXMgbGljZW5zZWQgYXMgZGVzY3JpYmVkIGluIHRoZSBmaWxlIENPUFlJTkcsIHdoaWNoCiAuXCIgKiB5b3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYXMgcGFydCBvZiB0aGlzIGRpc3RyaWJ1dGlvbi4gVGhlIHRlcm1zCkBAIC0xOSw3ICsxOSw3IEBACiAuXCIgKiBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLgogLlwiICoKIC5cIiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgotLlRIIGN1cmxfbWltZV9maWxlbmFtZSAzICJTZXB0ZW1iZXIgMjIsIDIwMTciICJsaWJjdXJsIDcuNzAuMCIgImxpYmN1cmwgTWFudWFsIgorLlRIIGN1cmxfbWltZV9maWxlbmFtZSAzICJKdW5lIDI1LCAyMDIwIiAibGliY3VybCA3LjcxLjEiICJsaWJjdXJsIE1hbnVhbCIKIAogLlNIIE5BTUUKIGN1cmxfbWltZV9maWxlbmFtZSAtIHNldCBhIG1pbWUgcGFydCdzIHJlbW90ZSBmaWxlIG5hbWUKQEAgLTM3LDggKzM3LDggQEAKIAogXGZJcGFydFxmUCBpcyB0aGUgcGFydCdzIGhhbmRsZSB0byBhc3NpZ24gdGhlIHJlbW90ZSBmaWxlIG5hbWUgdG8uCiAKLVxmSWZpbGVuYW1lXGZQIHBvaW50cyB0byB0aGUgbnVsLXRlcm1pbmF0ZWQgZmlsZSBuYW1lIHN0cmluZzsgaXQgbWF5IGJlIHNldCB0bwotTlVMTCB0byByZW1vdmUgYSBwcmV2aW91c2x5IGF0dGFjaGVkIHJlbW90ZSBmaWxlIG5hbWUuCitcZklmaWxlbmFtZVxmUCBwb2ludHMgdG8gdGhlIG51bGwtdGVybWluYXRlZCBmaWxlIG5hbWUgc3RyaW5nOyBpdCBtYXkgYmUgc2V0Cit0byBOVUxMIHRvIHJlbW92ZSBhIHByZXZpb3VzbHkgYXR0YWNoZWQgcmVtb3RlIGZpbGUgbmFtZS4KIAogVGhlIHJlbW90ZSBmaWxlIG5hbWUgc3RyaW5nIGlzIGNvcGllZCBpbnRvIHRoZSBwYXJ0LCB0aHVzIHRoZSBhc3NvY2lhdGVkCiBzdG9yYWdlIG1heSBzYWZlbHkgYmUgcmVsZWFzZWQgb3IgcmV1c2VkIGFmdGVyIGNhbGwuIFNldHRpbmcgYSBwYXJ0J3MgZmlsZQpkaWZmIC0tZ2l0IGEvZG9jcy9saWJjdXJsL2N1cmxfbWltZV9mcmVlLjMgYi9kb2NzL2xpYmN1cmwvY3VybF9taW1lX2ZyZWUuMwppbmRleCA4YjJkZTRmLi5jMzkzOGNiIDEwMDY0NAotLS0gYS9kb2NzL2xpYmN1cmwvY3VybF9taW1lX2ZyZWUuMworKysgYi9kb2NzL2xpYmN1cmwvY3VybF9taW1lX2ZyZWUuMwpAQCAtMTksNyArMTksNyBAQAogLlwiICogS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC4KIC5cIiAqCiAuXCIgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKLS5USCBjdXJsX21pbWVfZnJlZSAzICJBdWd1c3QgMDksIDIwMTgiICJsaWJjdXJsIDcuNzAuMCIgImxpYmN1cmwgTWFudWFsIgorLlRIIGN1cmxfbWltZV9mcmVlIDMgIkF1Z3VzdCAwOSwgMjAxOCIgImxpYmN1cmwgNy43MS4xIiAibGliY3VybCBNYW51YWwiCiAKIC5TSCBOQU1FCiBjdXJsX21pbWVfZnJlZSAtIGZyZWUgYSBwcmV2aW91c2x5IGJ1aWx0IG1pbWUgc3RydWN0dXJlCmRpZmYgLS1naXQgYS9kb2NzL2xpYmN1cmwvY3VybF9taW1lX2hlYWRlcnMuMyBiL2RvY3MvbGliY3VybC9jdXJsX21pbWVfaGVhZGVycy4zCmluZGV4IDA1ZGRmYWYuLjNlNTZkYWUgMTAwNjQ0Ci0tLSBhL2RvY3MvbGliY3VybC9jdXJsX21pbWVfaGVhZGVycy4zCisrKyBiL2RvY3MvbGliY3VybC9jdXJsX21pbWVfaGVhZGVycy4zCkBAIC0xOSw3ICsxOSw3IEBACiAuXCIgKiBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLgogLlwiICoKIC5cIiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgotLlRIIGN1cmxfbWltZV9oZWFkZXJzIDMgIlNlcHRlbWJlciAyMiwgMjAxNyIgImxpYmN1cmwgNy43MC4wIiAibGliY3VybCBNYW51YWwiCisuVEggY3VybF9taW1lX2hlYWRlcnMgMyAiU2VwdGVtYmVyIDIyLCAyMDE3IiAibGliY3VybCA3LjcxLjEiICJsaWJjdXJsIE1hbnVhbCIKIAogLlNIIE5BTUUKIGN1cmxfbWltZV9oZWFkZXJzIC0gc2V0IGEgbWltZSBwYXJ0J3MgY3VzdG9tIGhlYWRlcnMKZGlmZiAtLWdpdCBhL2RvY3MvbGliY3VybC9jdXJsX21pbWVfaW5pdC4zIGIvZG9jcy9saWJjdXJsL2N1cmxfbWltZV9pbml0LjMKaW5kZXggZDkzMTQ4OS4uMWQzMjJjOSAxMDA2NDQKLS0tIGEvZG9jcy9saWJjdXJsL2N1cmxfbWltZV9pbml0LjMKKysrIGIvZG9jcy9saWJjdXJsL2N1cmxfbWltZV9pbml0LjMKQEAgLTE5LDcgKzE5LDcgQEAKIC5cIiAqIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuCiAuXCIgKgogLlwiICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCi0uVEggY3VybF9taW1lX2luaXQgMyAiU2VwdGVtYmVyIDIyLCAyMDE3IiAibGliY3VybCA3LjcwLjAiICJsaWJjdXJsIE1hbnVhbCIKKy5USCBjdXJsX21pbWVfaW5pdCAzICJTZXB0ZW1iZXIgMjIsIDIwMTciICJsaWJjdXJsIDcuNzEuMSIgImxpYmN1cmwgTWFudWFsIgogCiAuU0ggTkFNRQogY3VybF9taW1lX2luaXQgLSBjcmVhdGUgYSBtaW1lIGhhbmRsZQpkaWZmIC0tZ2l0IGEvZG9jcy9saWJjdXJsL2N1cmxfbWltZV9uYW1lLjMgYi9kb2NzL2xpYmN1cmwvY3VybF9taW1lX25hbWUuMwppbmRleCA5MmRmNzMyLi4yNjAzMGFhIDEwMDY0NAotLS0gYS9kb2NzL2xpYmN1cmwvY3VybF9taW1lX25hbWUuMworKysgYi9kb2NzL2xpYmN1cmwvY3VybF9taW1lX25hbWUuMwpAQCAtNSw3ICs1LDcgQEAKIC5cIiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgKF9ffCB8X3wgfCAgXyA8fCB8X19fCiAuXCIgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXF9fX3xcX19fL3xffCBcX1xfX19fX3wKIC5cIiAqCi0uXCIgKiBDb3B5cmlnaHQgKEMpIDE5OTggLSAyMDE3LCBEYW5pZWwgU3RlbmJlcmcsIDxkYW5pZWxAaGF4eC5zZT4sIGV0IGFsLgorLlwiICogQ29weXJpZ2h0IChDKSAxOTk4IC0gMjAyMCwgRGFuaWVsIFN0ZW5iZXJnLCA8ZGFuaWVsQGhheHguc2U+LCBldCBhbC4KIC5cIiAqCiAuXCIgKiBUaGlzIHNvZnR3YXJlIGlzIGxpY2Vuc2VkIGFzIGRlc2NyaWJlZCBpbiB0aGUgZmlsZSBDT1BZSU5HLCB3aGljaAogLlwiICogeW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGFzIHBhcnQgb2YgdGhpcyBkaXN0cmlidXRpb24uIFRoZSB0ZXJtcwpAQCAtMTksNyArMTksNyBAQAogLlwiICogS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC4KIC5cIiAqCiAuXCIgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKLS5USCBjdXJsX21pbWVfbmFtZSAzICJTZXB0ZW1iZXIgMjIsIDIwMTciICJsaWJjdXJsIDcuNzAuMCIgImxpYmN1cmwgTWFudWFsIgorLlRIIGN1cmxfbWltZV9uYW1lIDMgIkp1bmUgMjUsIDIwMjAiICJsaWJjdXJsIDcuNzEuMSIgImxpYmN1cmwgTWFudWFsIgogCiAuU0ggTkFNRQogY3VybF9taW1lX25hbWUgLSBzZXQgYSBtaW1lIHBhcnQncyBuYW1lCkBAIC0zNCw3ICszNCw3IEBACiAKIFxmSXBhcnRcZlAgaXMgdGhlIHBhcnQncyBoYW5kbGUgdG8gYXNzaWduIGEgbmFtZSB0by4KIAotXGZJbmFtZVxmUCBwb2ludHMgdG8gdGhlIHplcm8tdGVybWluYXRlZCBuYW1lIHN0cmluZy4KK1xmSW5hbWVcZlAgcG9pbnRzIHRvIHRoZSBudWxsLXRlcm1pbmF0ZWQgbmFtZSBzdHJpbmcuCiAKIFRoZSBuYW1lIHN0cmluZyBpcyBjb3BpZWQgaW50byB0aGUgcGFydCwgdGh1cyB0aGUgYXNzb2NpYXRlZCBzdG9yYWdlIG1heQogc2FmZWx5IGJlIHJlbGVhc2VkIG9yIHJldXNlZCBhZnRlciBjYWxsLiBTZXR0aW5nIGEgcGFydCdzIG5hbWUgdHdpY2UgaXMgdmFsaWQ6CmRpZmYgLS1naXQgYS9kb2NzL2xpYmN1cmwvY3VybF9taW1lX3N1YnBhcnRzLjMgYi9kb2NzL2xpYmN1cmwvY3VybF9taW1lX3N1YnBhcnRzLjMKaW5kZXggNzU2ZWYyMi4uMjUwN2JiMiAxMDA2NDQKLS0tIGEvZG9jcy9saWJjdXJsL2N1cmxfbWltZV9zdWJwYXJ0cy4zCisrKyBiL2RvY3MvbGliY3VybC9jdXJsX21pbWVfc3VicGFydHMuMwpAQCAtMTksNyArMTksNyBAQAogLlwiICogS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC4KIC5cIiAqCiAuXCIgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKLS5USCBjdXJsX21pbWVfc3VicGFydHMgMyAiU2VwdGVtYmVyIDA1LCAyMDE3IiAibGliY3VybCA3LjcwLjAiICJsaWJjdXJsIE1hbnVhbCIKKy5USCBjdXJsX21pbWVfc3VicGFydHMgMyAiU2VwdGVtYmVyIDA1LCAyMDE3IiAibGliY3VybCA3LjcxLjEiICJsaWJjdXJsIE1hbnVhbCIKIAogLlNIIE5BTUUKIGN1cmxfbWltZV9zdWJwYXJ0cyAtIHNldCBzdWJwYXJ0cyBvZiBhIG11bHRpcGFydCBtaW1lIHBhcnQKZGlmZiAtLWdpdCBhL2RvY3MvbGliY3VybC9jdXJsX21pbWVfdHlwZS4zIGIvZG9jcy9saWJjdXJsL2N1cmxfbWltZV90eXBlLjMKaW5kZXggZDU5YzFhOC4uNzM2Y2NiMSAxMDA2NDQKLS0tIGEvZG9jcy9saWJjdXJsL2N1cmxfbWltZV90eXBlLjMKKysrIGIvZG9jcy9saWJjdXJsL2N1cmxfbWltZV90eXBlLjMKQEAgLTE5LDcgKzE5LDcgQEAKIC5cIiAqIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuCiAuXCIgKgogLlwiICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCi0uVEggY3VybF9taW1lX3R5cGUgMyAiTWFyY2ggMjMsIDIwMjAiICJsaWJjdXJsIDcuNzAuMCIgImxpYmN1cmwgTWFudWFsIgorLlRIIGN1cmxfbWltZV90eXBlIDMgIkp1bmUgMjUsIDIwMjAiICJsaWJjdXJsIDcuNzEuMSIgImxpYmN1cmwgTWFudWFsIgogCiAuU0ggTkFNRQogY3VybF9taW1lX3R5cGUgLSBzZXQgYSBtaW1lIHBhcnQncyBjb250ZW50IHR5cGUKQEAgLTM0LDcgKzM0LDcgQEAKIAogXGZJcGFydFxmUCBpcyB0aGUgcGFydCdzIGhhbmRsZSB0byBhc3NpZ24gdGhlIGNvbnRlbnQgdHlwZSB0by4KIAotXGZJbWltZXR5cGVcZlAgcG9pbnRzIHRvIHRoZSBudWwtdGVybWluYXRlZCBmaWxlIG1pbWUgdHlwZSBzdHJpbmc7IGl0IG1heSBiZQorXGZJbWltZXR5cGVcZlAgcG9pbnRzIHRvIHRoZSBudWxsLXRlcm1pbmF0ZWQgZmlsZSBtaW1lIHR5cGUgc3RyaW5nOyBpdCBtYXkgYmUKIHNldCB0byBOVUxMIHRvIHJlbW92ZSBhIHByZXZpb3VzbHkgYXR0YWNoZWQgbWltZSB0eXBlLgogCiBUaGUgbWltZSB0eXBlIHN0cmluZyBpcyBjb3BpZWQgaW50byB0aGUgcGFydCwgdGh1cyB0aGUgYXNzb2NpYXRlZCBzdG9yYWdlIG1heQpkaWZmIC0tZ2l0IGEvZG9jcy9saWJjdXJsL2N1cmxfbXByaW50Zi4zIGIvZG9jcy9saWJjdXJsL2N1cmxfbXByaW50Zi4zCmluZGV4IGVkZjJmYzUuLjNhN2Y0OTYgMTAwNjQ0Ci0tLSBhL2RvY3MvbGliY3VybC9jdXJsX21wcmludGYuMworKysgYi9kb2NzL2xpYmN1cmwvY3VybF9tcHJpbnRmLjMKQEAgLTE5LDcgKzE5LDcgQEAKIC5cIiAqIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuCiAuXCIgKgogLlwiICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCi0uVEggY3VybF9wcmludGYgMyAiQXByaWwgMDEsIDIwMTYiICJsaWJjdXJsIDcuNzAuMCIgImxpYmN1cmwgTWFudWFsIgorLlRIIGN1cmxfcHJpbnRmIDMgIkFwcmlsIDAxLCAyMDE2IiAibGliY3VybCA3LjcxLjEiICJsaWJjdXJsIE1hbnVhbCIKIAogLlNIIE5BTUUKIGN1cmxfbWFwcmludGYsIGN1cmxfbWZwcmludGYsIGN1cmxfbXByaW50ZiwgY3VybF9tc25wcmludGYsIGN1cmxfbXNwcmludGYKZGlmZiAtLWdpdCBhL2RvY3MvbGliY3VybC9jdXJsX211bHRpX2FkZF9oYW5kbGUuMyBiL2RvY3MvbGliY3VybC9jdXJsX211bHRpX2FkZF9oYW5kbGUuMwppbmRleCA5NmMzZTVjLi45NWFhODFlIDEwMDY0NAotLS0gYS9kb2NzL2xpYmN1cmwvY3VybF9tdWx0aV9hZGRfaGFuZGxlLjMKKysrIGIvZG9jcy9saWJjdXJsL2N1cmxfbXVsdGlfYWRkX2hhbmRsZS4zCkBAIC0xOSw3ICsxOSw3IEBACiAuXCIgKiBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLgogLlwiICoKIC5cIiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgotLlRIIGN1cmxfbXVsdGlfYWRkX2hhbmRsZSAzICJKdW5lIDMwLCAyMDE4IiAibGliY3VybCA3LjcwLjAiICJsaWJjdXJsIE1hbnVhbCIKKy5USCBjdXJsX211bHRpX2FkZF9oYW5kbGUgMyAiSnVuZSAzMCwgMjAxOCIgImxpYmN1cmwgNy43MS4xIiAibGliY3VybCBNYW51YWwiCiAKIC5TSCBOQU1FCiBjdXJsX211bHRpX2FkZF9oYW5kbGUgLSBhZGQgYW4gZWFzeSBoYW5kbGUgdG8gYSBtdWx0aSBzZXNzaW9uCmRpZmYgLS1naXQgYS9kb2NzL2xpYmN1cmwvY3VybF9tdWx0aV9hc3NpZ24uMyBiL2RvY3MvbGliY3VybC9jdXJsX211bHRpX2Fzc2lnbi4zCmluZGV4IGEwNDg1NWIuLjk1ZjMxZWEgMTAwNjQ0Ci0tLSBhL2RvY3MvbGliY3VybC9jdXJsX211bHRpX2Fzc2lnbi4zCisrKyBiL2RvY3MvbGliY3VybC9jdXJsX211bHRpX2Fzc2lnbi4zCkBAIC0xOSw3ICsxOSw3IEBACiAuXCIgKiBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLgogLlwiICoKIC5cIiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgotLlRIIGN1cmxfbXVsdGlfYXNzaWduIDMgIk1hcmNoIDIzLCAyMDIwIiAibGliY3VybCA3LjcwLjAiICJsaWJjdXJsIE1hbnVhbCIKKy5USCBjdXJsX211bHRpX2Fzc2lnbiAzICJNYXJjaCAyMywgMjAyMCIgImxpYmN1cmwgNy43MS4xIiAibGliY3VybCBNYW51YWwiCiAKIC5TSCBOQU1FCiBjdXJsX211bHRpX2Fzc2lnbiBcLSBzZXQgZGF0YSB0byBhc3NvY2lhdGUgd2l0aCBhbiBpbnRlcm5hbCBzb2NrZXQKZGlmZiAtLWdpdCBhL2RvY3MvbGliY3VybC9jdXJsX211bHRpX2NsZWFudXAuMyBiL2RvY3MvbGliY3VybC9jdXJsX211bHRpX2NsZWFudXAuMwppbmRleCA3YTcyMjM1Li4yYTY1ZDgwIDEwMDY0NAotLS0gYS9kb2NzL2xpYmN1cmwvY3VybF9tdWx0aV9jbGVhbnVwLjMKKysrIGIvZG9jcy9saWJjdXJsL2N1cmxfbXVsdGlfY2xlYW51cC4zCkBAIC0xOSw3ICsxOSw3IEBACiAuXCIgKiBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLgogLlwiICoKIC5cIiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgotLlRIIGN1cmxfbXVsdGlfY2xlYW51cCAzICJBdWd1c3QgMDksIDIwMTgiICJsaWJjdXJsIDcuNzAuMCIgImxpYmN1cmwgTWFudWFsIgorLlRIIGN1cmxfbXVsdGlfY2xlYW51cCAzICJBdWd1c3QgMDksIDIwMTgiICJsaWJjdXJsIDcuNzEuMSIgImxpYmN1cmwgTWFudWFsIgogCiAuU0ggTkFNRQogY3VybF9tdWx0aV9jbGVhbnVwIC0gY2xvc2UgZG93biBhIG11bHRpIHNlc3Npb24KZGlmZiAtLWdpdCBhL2RvY3MvbGliY3VybC9jdXJsX211bHRpX2Zkc2V0LjMgYi9kb2NzL2xpYmN1cmwvY3VybF9tdWx0aV9mZHNldC4zCmluZGV4IDQ0MzQ2MzYuLjMwYjYyMTkgMTAwNjQ0Ci0tLSBhL2RvY3MvbGliY3VybC9jdXJsX211bHRpX2Zkc2V0LjMKKysrIGIvZG9jcy9saWJjdXJsL2N1cmxfbXVsdGlfZmRzZXQuMwpAQCAtMTksNyArMTksNyBAQAogLlwiICogS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC4KIC5cIiAqCiAuXCIgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKLS5USCBjdXJsX211bHRpX2Zkc2V0IDMgIk5vdmVtYmVyIDA5LCAyMDE3IiAibGliY3VybCA3LjcwLjAiICJsaWJjdXJsIE1hbnVhbCIKKy5USCBjdXJsX211bHRpX2Zkc2V0IDMgIk5vdmVtYmVyIDA5LCAyMDE3IiAibGliY3VybCA3LjcxLjEiICJsaWJjdXJsIE1hbnVhbCIKIAogLlNIIE5BTUUKIGN1cmxfbXVsdGlfZmRzZXQgLSBleHRyYWN0cyBmaWxlIGRlc2NyaXB0b3IgaW5mb3JtYXRpb24gZnJvbSBhIG11bHRpIGhhbmRsZQpkaWZmIC0tZ2l0IGEvZG9jcy9saWJjdXJsL2N1cmxfbXVsdGlfaW5mb19yZWFkLjMgYi9kb2NzL2xpYmN1cmwvY3VybF9tdWx0aV9pbmZvX3JlYWQuMwppbmRleCBlYmIxMmQyLi5mMTk0YTUzIDEwMDY0NAotLS0gYS9kb2NzL2xpYmN1cmwvY3VybF9tdWx0aV9pbmZvX3JlYWQuMworKysgYi9kb2NzL2xpYmN1cmwvY3VybF9tdWx0aV9pbmZvX3JlYWQuMwpAQCAtMTksNyArMTksNyBAQAogLlwiICogS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC4KIC5cIiAqCiAuXCIgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKLS5USCBjdXJsX211bHRpX2luZm9fcmVhZCAzICJNYXJjaCAyMywgMjAyMCIgImxpYmN1cmwgNy43MC4wIiAibGliY3VybCBNYW51YWwiCisuVEggY3VybF9tdWx0aV9pbmZvX3JlYWQgMyAiTWFyY2ggMjMsIDIwMjAiICJsaWJjdXJsIDcuNzEuMSIgImxpYmN1cmwgTWFudWFsIgogCiAuU0ggTkFNRQogY3VybF9tdWx0aV9pbmZvX3JlYWQgLSByZWFkIG11bHRpIHN0YWNrIGluZm9ybWF0aW9uYWxzCmRpZmYgLS1naXQgYS9kb2NzL2xpYmN1cmwvY3VybF9tdWx0aV9pbml0LjMgYi9kb2NzL2xpYmN1cmwvY3VybF9tdWx0aV9pbml0LjMKaW5kZXggOTMxMmMwOC4uNmVkN2JhYSAxMDA2NDQKLS0tIGEvZG9jcy9saWJjdXJsL2N1cmxfbXVsdGlfaW5pdC4zCisrKyBiL2RvY3MvbGliY3VybC9jdXJsX211bHRpX2luaXQuMwpAQCAtMTksNyArMTksNyBAQAogLlwiICogS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC4KIC5cIiAqCiAuXCIgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKLS5USCBjdXJsX211bHRpX2luaXQgMyAiTWFyY2ggMjMsIDIwMjAiICJsaWJjdXJsIDcuNzAuMCIgImxpYmN1cmwgTWFudWFsIgorLlRIIGN1cmxfbXVsdGlfaW5pdCAzICJNYXJjaCAyMywgMjAyMCIgImxpYmN1cmwgNy43MS4xIiAibGliY3VybCBNYW51YWwiCiAKIC5TSCBOQU1FCiBjdXJsX211bHRpX2luaXQgLSBjcmVhdGUgYSBtdWx0aSBoYW5kbGUKZGlmZiAtLWdpdCBhL2RvY3MvbGliY3VybC9jdXJsX211bHRpX3BlcmZvcm0uMyBiL2RvY3MvbGliY3VybC9jdXJsX211bHRpX3BlcmZvcm0uMwppbmRleCA1NzFjNGU2Li5jMDk2NmM3IDEwMDY0NAotLS0gYS9kb2NzL2xpYmN1cmwvY3VybF9tdWx0aV9wZXJmb3JtLjMKKysrIGIvZG9jcy9saWJjdXJsL2N1cmxfbXVsdGlfcGVyZm9ybS4zCkBAIC0xOSw3ICsxOSw3IEBACiAuXCIgKiBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLgogLlwiICoKIC5cIiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgotLlRIIGN1cmxfbXVsdGlfcGVyZm9ybSAzICJPY3RvYmVyIDMxLCAyMDE5IiAibGliY3VybCA3LjcwLjAiICJsaWJjdXJsIE1hbnVhbCIKKy5USCBjdXJsX211bHRpX3BlcmZvcm0gMyAiT2N0b2JlciAzMSwgMjAxOSIgImxpYmN1cmwgNy43MS4xIiAibGliY3VybCBNYW51YWwiCiAKIC5TSCBOQU1FCiBjdXJsX211bHRpX3BlcmZvcm0gLSByZWFkcy93cml0ZXMgYXZhaWxhYmxlIGRhdGEgZnJvbSBlYWNoIGVhc3kgaGFuZGxlCmRpZmYgLS1naXQgYS9kb2NzL2xpYmN1cmwvY3VybF9tdWx0aV9wb2xsLjMgYi9kb2NzL2xpYmN1cmwvY3VybF9tdWx0aV9wb2xsLjMKaW5kZXggYzMzYjM0My4uNTQ3MzJkZCAxMDA2NDQKLS0tIGEvZG9jcy9saWJjdXJsL2N1cmxfbXVsdGlfcG9sbC4zCisrKyBiL2RvY3MvbGliY3VybC9jdXJsX211bHRpX3BvbGwuMwpAQCAtMTksNyArMTksNyBAQAogLlwiICogS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC4KIC5cIiAqCiAuXCIgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKLS5USCBjdXJsX211bHRpX3BvbGwgMyAiTm92ZW1iZXIgMTcsIDIwMTkiICJsaWJjdXJsIDcuNzAuMCIgImxpYmN1cmwgTWFudWFsIgorLlRIIGN1cmxfbXVsdGlfcG9sbCAzICJOb3ZlbWJlciAxNywgMjAxOSIgImxpYmN1cmwgNy43MS4xIiAibGliY3VybCBNYW51YWwiCiAKIC5TSCBOQU1FCiBjdXJsX211bHRpX3BvbGwgLSBwb2xscyBvbiBhbGwgZWFzeSBoYW5kbGVzIGluIGEgbXVsdGkgaGFuZGxlCmRpZmYgLS1naXQgYS9kb2NzL2xpYmN1cmwvY3VybF9tdWx0aV9yZW1vdmVfaGFuZGxlLjMgYi9kb2NzL2xpYmN1cmwvY3VybF9tdWx0aV9yZW1vdmVfaGFuZGxlLjMKaW5kZXggOWQ5NWYzNi4uMmYyOGNiYSAxMDA2NDQKLS0tIGEvZG9jcy9saWJjdXJsL2N1cmxfbXVsdGlfcmVtb3ZlX2hhbmRsZS4zCisrKyBiL2RvY3MvbGliY3VybC9jdXJsX211bHRpX3JlbW92ZV9oYW5kbGUuMwpAQCAtMTksNyArMTksNyBAQAogLlwiICogS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC4KIC5cIiAqCiAuXCIgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKLS5USCBjdXJsX211bHRpX3JlbW92ZV9oYW5kbGUgMyAiRmVicnVhcnkgMTksIDIwMTkiICJsaWJjdXJsIDcuNzAuMCIgImxpYmN1cmwgTWFudWFsIgorLlRIIGN1cmxfbXVsdGlfcmVtb3ZlX2hhbmRsZSAzICJGZWJydWFyeSAxOSwgMjAxOSIgImxpYmN1cmwgNy43MS4xIiAibGliY3VybCBNYW51YWwiCiAKIC5TSCBOQU1FCiBjdXJsX211bHRpX3JlbW92ZV9oYW5kbGUgLSByZW1vdmUgYW4gZWFzeSBoYW5kbGUgZnJvbSBhIG11bHRpIHNlc3Npb24KZGlmZiAtLWdpdCBhL2RvY3MvbGliY3VybC9jdXJsX211bHRpX3NldG9wdC4zIGIvZG9jcy9saWJjdXJsL2N1cmxfbXVsdGlfc2V0b3B0LjMKaW5kZXggZGFlMDkxYi4uZjUyODhkNiAxMDA2NDQKLS0tIGEvZG9jcy9saWJjdXJsL2N1cmxfbXVsdGlfc2V0b3B0LjMKKysrIGIvZG9jcy9saWJjdXJsL2N1cmxfbXVsdGlfc2V0b3B0LjMKQEAgLTE5LDcgKzE5LDcgQEAKIC5cIiAqIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuCiAuXCIgKgogLlwiICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCi0uVEggY3VybF9tdWx0aV9zZXRvcHQgMyAiU2VwdGVtYmVyIDI0LCAyMDE5IiAibGliY3VybCA3LjcwLjAiICJsaWJjdXJsIE1hbnVhbCIKKy5USCBjdXJsX211bHRpX3NldG9wdCAzICJTZXB0ZW1iZXIgMjQsIDIwMTkiICJsaWJjdXJsIDcuNzEuMSIgImxpYmN1cmwgTWFudWFsIgogCiAuU0ggTkFNRQogY3VybF9tdWx0aV9zZXRvcHQgXC0gc2V0IG9wdGlvbnMgZm9yIGEgY3VybCBtdWx0aSBoYW5kbGUKZGlmZiAtLWdpdCBhL2RvY3MvbGliY3VybC9jdXJsX211bHRpX3NvY2tldC4zIGIvZG9jcy9saWJjdXJsL2N1cmxfbXVsdGlfc29ja2V0LjMKaW5kZXggMmNkZjVjMS4uZjkzZTgyYyAxMDA2NDQKLS0tIGEvZG9jcy9saWJjdXJsL2N1cmxfbXVsdGlfc29ja2V0LjMKKysrIGIvZG9jcy9saWJjdXJsL2N1cmxfbXVsdGlfc29ja2V0LjMKQEAgLTE5LDcgKzE5LDcgQEAKIC5cIiAqIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuCiAuXCIgKgogLlwiICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCi0uVEggY3VybF9tdWx0aV9zb2NrZXQgMyAiSnVuZSAzMCwgMjAxOCIgImxpYmN1cmwgNy43MC4wIiAibGliY3VybCBNYW51YWwiCisuVEggY3VybF9tdWx0aV9zb2NrZXQgMyAiSnVuZSAzMCwgMjAxOCIgImxpYmN1cmwgNy43MS4xIiAibGliY3VybCBNYW51YWwiCiAKIC5TSCBOQU1FCiBjdXJsX211bHRpX3NvY2tldCBcLSByZWFkcy93cml0ZXMgYXZhaWxhYmxlIGRhdGEKZGlmZiAtLWdpdCBhL2RvY3MvbGliY3VybC9jdXJsX211bHRpX3NvY2tldF9hY3Rpb24uMyBiL2RvY3MvbGliY3VybC9jdXJsX211bHRpX3NvY2tldF9hY3Rpb24uMwppbmRleCBhZWRhNWZjLi42NTJiMWY2IDEwMDY0NAotLS0gYS9kb2NzL2xpYmN1cmwvY3VybF9tdWx0aV9zb2NrZXRfYWN0aW9uLjMKKysrIGIvZG9jcy9saWJjdXJsL2N1cmxfbXVsdGlfc29ja2V0X2FjdGlvbi4zCkBAIC0xOSw3ICsxOSw3IEBACiAuXCIgKiBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLgogLlwiICoKIC5cIiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgotLlRIIGN1cmxfbXVsdGlfc29ja2V0X2FjdGlvbiAzICJKdW5lIDEwLCAyMDE5IiAibGliY3VybCA3LjcwLjAiICJsaWJjdXJsIE1hbnVhbCIKKy5USCBjdXJsX211bHRpX3NvY2tldF9hY3Rpb24gMyAiSnVuZSAxMCwgMjAxOSIgImxpYmN1cmwgNy43MS4xIiAibGliY3VybCBNYW51YWwiCiAKIC5TSCBOQU1FCiBjdXJsX211bHRpX3NvY2tldF9hY3Rpb24gXC0gcmVhZHMvd3JpdGVzIGF2YWlsYWJsZSBkYXRhIGdpdmVuIGFuIGFjdGlvbgpkaWZmIC0tZ2l0IGEvZG9jcy9saWJjdXJsL2N1cmxfbXVsdGlfc3RyZXJyb3IuMyBiL2RvY3MvbGliY3VybC9jdXJsX211bHRpX3N0cmVycm9yLjMKaW5kZXggNTQ3NzUxOC4uMGQ0NDNkZSAxMDA2NDQKLS0tIGEvZG9jcy9saWJjdXJsL2N1cmxfbXVsdGlfc3RyZXJyb3IuMworKysgYi9kb2NzL2xpYmN1cmwvY3VybF9tdWx0aV9zdHJlcnJvci4zCkBAIC0xOSw3ICsxOSw3IEBACiAuXCIgKiBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLgogLlwiICoKIC5cIiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgotLlRIIGN1cmxfbXVsdGlfc3RyZXJyb3IgMyAiTWFyY2ggMjMsIDIwMjAiICJsaWJjdXJsIDcuNzAuMCIgImxpYmN1cmwgTWFudWFsIgorLlRIIGN1cmxfbXVsdGlfc3RyZXJyb3IgMyAiSnVuZSAyNSwgMjAyMCIgImxpYmN1cmwgNy43MS4xIiAibGliY3VybCBNYW51YWwiCiAKIC5TSCBOQU1FCiBjdXJsX211bHRpX3N0cmVycm9yIC0gcmV0dXJuIHN0cmluZyBkZXNjcmliaW5nIGVycm9yIGNvZGUKQEAgLTMzLDYgKzMzLDYgQEAKIC5TSCBBVkFJTEFCSUxJVFkKIFRoaXMgZnVuY3Rpb24gd2FzIGFkZGVkIGluIGxpYmN1cmwgNy4xMi4wCiAuU0ggUkVUVVJOIFZBTFVFCi1BIHBvaW50ZXIgdG8gYSB6ZXJvIHRlcm1pbmF0ZWQgc3RyaW5nLgorQSBwb2ludGVyIHRvIGEgbnVsbC10ZXJtaW5hdGVkIHN0cmluZy4KIC5TSCAiU0VFIEFMU08iCiAuQlIgbGliY3VybC1lcnJvcnMgIigzKSwgIiBjdXJsX2Vhc3lfc3RyZXJyb3IgIigzKSwgIiBjdXJsX3NoYXJlX3N0cmVycm9yICIoMykiCmRpZmYgLS1naXQgYS9kb2NzL2xpYmN1cmwvY3VybF9tdWx0aV90aW1lb3V0LjMgYi9kb2NzL2xpYmN1cmwvY3VybF9tdWx0aV90aW1lb3V0LjMKaW5kZXggNGY1MzBkMi4uMDQxZDA3YiAxMDA2NDQKLS0tIGEvZG9jcy9saWJjdXJsL2N1cmxfbXVsdGlfdGltZW91dC4zCisrKyBiL2RvY3MvbGliY3VybC9jdXJsX211bHRpX3RpbWVvdXQuMwpAQCAtMTksNyArMTksNyBAQAogLlwiICogS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC4KIC5cIiAqCiAuXCIgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKLS5USCBjdXJsX211bHRpX3RpbWVvdXQgMyAiTWFyY2ggMjMsIDIwMjAiICJsaWJjdXJsIDcuNzAuMCIgImxpYmN1cmwgTWFudWFsIgorLlRIIGN1cmxfbXVsdGlfdGltZW91dCAzICJNYXJjaCAyMywgMjAyMCIgImxpYmN1cmwgNy43MS4xIiAibGliY3VybCBNYW51YWwiCiAKIC5TSCBOQU1FCiBjdXJsX211bHRpX3RpbWVvdXQgXC0gaG93IGxvbmcgdG8gd2FpdCBmb3IgYWN0aW9uIGJlZm9yZSBwcm9jZWVkaW5nCmRpZmYgLS1naXQgYS9kb2NzL2xpYmN1cmwvY3VybF9tdWx0aV93YWl0LjMgYi9kb2NzL2xpYmN1cmwvY3VybF9tdWx0aV93YWl0LjMKaW5kZXggYTBiZGFmNy4uMTA3MjUyNCAxMDA2NDQKLS0tIGEvZG9jcy9saWJjdXJsL2N1cmxfbXVsdGlfd2FpdC4zCisrKyBiL2RvY3MvbGliY3VybC9jdXJsX211bHRpX3dhaXQuMwpAQCAtMTksNyArMTksNyBAQAogLlwiICogS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC4KIC5cIiAqCiAuXCIgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKLS5USCBjdXJsX211bHRpX3dhaXQgMyAiTm92ZW1iZXIgMjgsIDIwMTkiICJsaWJjdXJsIDcuNzAuMCIgImxpYmN1cmwgTWFudWFsIgorLlRIIGN1cmxfbXVsdGlfd2FpdCAzICJOb3ZlbWJlciAyOCwgMjAxOSIgImxpYmN1cmwgNy43MS4xIiAibGliY3VybCBNYW51YWwiCiAKIC5TSCBOQU1FCiBjdXJsX211bHRpX3dhaXQgLSBwb2xscyBvbiBhbGwgZWFzeSBoYW5kbGVzIGluIGEgbXVsdGkgaGFuZGxlCmRpZmYgLS1naXQgYS9kb2NzL2xpYmN1cmwvY3VybF9tdWx0aV93YWtldXAuMyBiL2RvY3MvbGliY3VybC9jdXJsX211bHRpX3dha2V1cC4zCmluZGV4IDBiYWM4ZTEuLjZkMWZjOTMgMTAwNjQ0Ci0tLSBhL2RvY3MvbGliY3VybC9jdXJsX211bHRpX3dha2V1cC4zCisrKyBiL2RvY3MvbGliY3VybC9jdXJsX211bHRpX3dha2V1cC4zCkBAIC0xOSw3ICsxOSw3IEBACiAuXCIgKiBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLgogLlwiICoKIC5cIiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgotLlRIIGN1cmxfbXVsdGlfd2FrZXVwIDMgIk5vdmVtYmVyIDI1LCAyMDE5IiAibGliY3VybCA3LjcwLjAiICJsaWJjdXJsIE1hbnVhbCIKKy5USCBjdXJsX211bHRpX3dha2V1cCAzICJOb3ZlbWJlciAyNSwgMjAxOSIgImxpYmN1cmwgNy43MS4xIiAibGliY3VybCBNYW51YWwiCiAKIC5TSCBOQU1FCiBjdXJsX211bHRpX3dha2V1cCAtIHdha2VzIHVwIGEgc2xlZXBpbmcgY3VybF9tdWx0aV9wb2xsIGNhbGwKZGlmZiAtLWdpdCBhL2RvY3MvbGliY3VybC9jdXJsX3NoYXJlX2NsZWFudXAuMyBiL2RvY3MvbGliY3VybC9jdXJsX3NoYXJlX2NsZWFudXAuMwppbmRleCBmN2JiOTk1Li4yMmViODk2IDEwMDY0NAotLS0gYS9kb2NzL2xpYmN1cmwvY3VybF9zaGFyZV9jbGVhbnVwLjMKKysrIGIvZG9jcy9saWJjdXJsL2N1cmxfc2hhcmVfY2xlYW51cC4zCkBAIC0xOSw3ICsxOSw3IEBACiAuXCIgKiBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLgogLlwiICoKIC5cIiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgotLlRIIGN1cmxfc2hhcmVfY2xlYW51cCAzICJBdWd1c3QgMDksIDIwMTgiICJsaWJjdXJsIDcuNzAuMCIgImxpYmN1cmwgTWFudWFsIgorLlRIIGN1cmxfc2hhcmVfY2xlYW51cCAzICJBdWd1c3QgMDksIDIwMTgiICJsaWJjdXJsIDcuNzEuMSIgImxpYmN1cmwgTWFudWFsIgogCiAuU0ggTkFNRQogY3VybF9zaGFyZV9jbGVhbnVwIC0gQ2xlYW4gdXAgYSBzaGFyZWQgb2JqZWN0CmRpZmYgLS1naXQgYS9kb2NzL2xpYmN1cmwvY3VybF9zaGFyZV9pbml0LjMgYi9kb2NzL2xpYmN1cmwvY3VybF9zaGFyZV9pbml0LjMKaW5kZXggOThlYTQzYS4uNWM3ZjBmOCAxMDA2NDQKLS0tIGEvZG9jcy9saWJjdXJsL2N1cmxfc2hhcmVfaW5pdC4zCisrKyBiL2RvY3MvbGliY3VybC9jdXJsX3NoYXJlX2luaXQuMwpAQCAtMTksNyArMTksNyBAQAogLlwiICogS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC4KIC5cIiAqCiAuXCIgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKLS5USCBjdXJsX3NoYXJlX2luaXQgMyAiTWFyY2ggMjMsIDIwMjAiICJsaWJjdXJsIDcuNzAuMCIgImxpYmN1cmwgTWFudWFsIgorLlRIIGN1cmxfc2hhcmVfaW5pdCAzICJNYXJjaCAyMywgMjAyMCIgImxpYmN1cmwgNy43MS4xIiAibGliY3VybCBNYW51YWwiCiAKIC5TSCBOQU1FCiBjdXJsX3NoYXJlX2luaXQgLSBDcmVhdGUgYSBzaGFyZWQgb2JqZWN0CmRpZmYgLS1naXQgYS9kb2NzL2xpYmN1cmwvY3VybF9zaGFyZV9zZXRvcHQuMyBiL2RvY3MvbGliY3VybC9jdXJsX3NoYXJlX3NldG9wdC4zCmluZGV4IGNmNWQzZmUuLjM3NThkMTMgMTAwNjQ0Ci0tLSBhL2RvY3MvbGliY3VybC9jdXJsX3NoYXJlX3NldG9wdC4zCisrKyBiL2RvY3MvbGliY3VybC9jdXJsX3NoYXJlX3NldG9wdC4zCkBAIC0xOSw3ICsxOSw3IEBACiAuXCIgKiBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLgogLlwiICoKIC5cIiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgotLlRIIGN1cmxfc2hhcmVfc2V0b3B0IDMgIk1hcmNoIDIzLCAyMDIwIiAibGliY3VybCA3LjcwLjAiICJsaWJjdXJsIE1hbnVhbCIKKy5USCBjdXJsX3NoYXJlX3NldG9wdCAzICJNYXJjaCAyMywgMjAyMCIgImxpYmN1cmwgNy43MS4xIiAibGliY3VybCBNYW51YWwiCiAKIC5TSCBOQU1FCiBjdXJsX3NoYXJlX3NldG9wdCAtIFNldCBvcHRpb25zIGZvciBhIHNoYXJlZCBvYmplY3QKZGlmZiAtLWdpdCBhL2RvY3MvbGliY3VybC9jdXJsX3NoYXJlX3N0cmVycm9yLjMgYi9kb2NzL2xpYmN1cmwvY3VybF9zaGFyZV9zdHJlcnJvci4zCmluZGV4IDg0MTEwNDUuLjZjNGU3MTAgMTAwNjQ0Ci0tLSBhL2RvY3MvbGliY3VybC9jdXJsX3NoYXJlX3N0cmVycm9yLjMKKysrIGIvZG9jcy9saWJjdXJsL2N1cmxfc2hhcmVfc3RyZXJyb3IuMwpAQCAtMTksNyArMTksNyBAQAogLlwiICogS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC4KIC5cIiAqCiAuXCIgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKLS5USCBjdXJsX3NoYXJlX3N0cmVycm9yIDMgIk1hcmNoIDIzLCAyMDIwIiAibGliY3VybCA3LjcwLjAiICJsaWJjdXJsIE1hbnVhbCIKKy5USCBjdXJsX3NoYXJlX3N0cmVycm9yIDMgIkp1bmUgMjUsIDIwMjAiICJsaWJjdXJsIDcuNzEuMSIgImxpYmN1cmwgTWFudWFsIgogCiAuU0ggTkFNRQogY3VybF9zaGFyZV9zdHJlcnJvciAtIHJldHVybiBzdHJpbmcgZGVzY3JpYmluZyBlcnJvciBjb2RlCkBAIC0zMyw2ICszMyw2IEBACiAuU0ggQVZBSUxBQklMSVRZCiBUaGlzIGZ1bmN0aW9uIHdhcyBhZGRlZCBpbiBsaWJjdXJsIDcuMTIuMAogLlNIIFJFVFVSTiBWQUxVRQotQSBwb2ludGVyIHRvIGEgemVybyB0ZXJtaW5hdGVkIHN0cmluZy4KK0EgcG9pbnRlciB0byBhIG51bGwtdGVybWluYXRlZCBzdHJpbmcuCiAuU0ggIlNFRSBBTFNPIgogLkJSIGxpYmN1cmwtZXJyb3JzICIoMyksICIgY3VybF9tdWx0aV9zdHJlcnJvciAiKDMpLCAiIGN1cmxfZWFzeV9zdHJlcnJvciAiKDMpIgpkaWZmIC0tZ2l0IGEvZG9jcy9saWJjdXJsL2N1cmxfc2xpc3RfYXBwZW5kLjMgYi9kb2NzL2xpYmN1cmwvY3VybF9zbGlzdF9hcHBlbmQuMwppbmRleCBmMGE2M2Q2Li5mYTZmZTQ0IDEwMDY0NAotLS0gYS9kb2NzL2xpYmN1cmwvY3VybF9zbGlzdF9hcHBlbmQuMworKysgYi9kb2NzL2xpYmN1cmwvY3VybF9zbGlzdF9hcHBlbmQuMwpAQCAtMTksNyArMTksNyBAQAogLlwiICogS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC4KIC5cIiAqCiAuXCIgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKLS5USCBjdXJsX3NsaXN0X2FwcGVuZCAzICJKYW51YXJ5IDAyLCAyMDE5IiAibGliY3VybCA3LjcwLjAiICJsaWJjdXJsIE1hbnVhbCIKKy5USCBjdXJsX3NsaXN0X2FwcGVuZCAzICJKYW51YXJ5IDAyLCAyMDE5IiAibGliY3VybCA3LjcxLjEiICJsaWJjdXJsIE1hbnVhbCIKIAogLlNIIE5BTUUKIGN1cmxfc2xpc3RfYXBwZW5kIC0gYWRkIGEgc3RyaW5nIHRvIGFuIHNsaXN0CmRpZmYgLS1naXQgYS9kb2NzL2xpYmN1cmwvY3VybF9zbGlzdF9mcmVlX2FsbC4zIGIvZG9jcy9saWJjdXJsL2N1cmxfc2xpc3RfZnJlZV9hbGwuMwppbmRleCBkMmNjNDQzLi45OGY3ZDZkIDEwMDY0NAotLS0gYS9kb2NzL2xpYmN1cmwvY3VybF9zbGlzdF9mcmVlX2FsbC4zCisrKyBiL2RvY3MvbGliY3VybC9jdXJsX3NsaXN0X2ZyZWVfYWxsLjMKQEAgLTE5LDcgKzE5LDcgQEAKIC5cIiAqIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuCiAuXCIgKgogLlwiICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCi0uVEggY3VybF9zbGlzdF9mcmVlX2FsbCAzICJTZXB0ZW1iZXIgMjMsIDIwMTgiICJsaWJjdXJsIDcuNzAuMCIgImxpYmN1cmwgTWFudWFsIgorLlRIIGN1cmxfc2xpc3RfZnJlZV9hbGwgMyAiU2VwdGVtYmVyIDIzLCAyMDE4IiAibGliY3VybCA3LjcxLjEiICJsaWJjdXJsIE1hbnVhbCIKIAogLlNIIE5BTUUKIGN1cmxfc2xpc3RfZnJlZV9hbGwgLSBmcmVlIGFuIGVudGlyZSBjdXJsX3NsaXN0IGxpc3QKZGlmZiAtLWdpdCBhL2RvY3MvbGliY3VybC9jdXJsX3N0cmVxdWFsLjMgYi9kb2NzL2xpYmN1cmwvY3VybF9zdHJlcXVhbC4zCmluZGV4IGRmMGQ5MWEuLmY2M2RhMzggMTAwNjQ0Ci0tLSBhL2RvY3MvbGliY3VybC9jdXJsX3N0cmVxdWFsLjMKKysrIGIvZG9jcy9saWJjdXJsL2N1cmxfc3RyZXF1YWwuMwpAQCAtMTksNyArMTksNyBAQAogLlwiICogS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC4KIC5cIiAqCiAuXCIgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKLS5USCBjdXJsX3N0cmVxdWFsIDMgIkp1bmUgMjksIDIwMTciICJsaWJjdXJsIDcuNzAuMCIgImxpYmN1cmwgTWFudWFsIgorLlRIIGN1cmxfc3RyZXF1YWwgMyAiSnVuZSAyOSwgMjAxNyIgImxpYmN1cmwgNy43MS4xIiAibGliY3VybCBNYW51YWwiCiAKIC5TSCBOQU1FCiBjdXJsX3N0cmVxdWFsLCBjdXJsX3N0cm5lcXVhbCAtIGNhc2UgaW5zZW5zaXRpdmUgc3RyaW5nIGNvbXBhcmlzb25zCmRpZmYgLS1naXQgYS9kb2NzL2xpYmN1cmwvY3VybF91bmVzY2FwZS4zIGIvZG9jcy9saWJjdXJsL2N1cmxfdW5lc2NhcGUuMwppbmRleCAzNTdjYjc4Li44NTdkYzNlIDEwMDY0NAotLS0gYS9kb2NzL2xpYmN1cmwvY3VybF91bmVzY2FwZS4zCisrKyBiL2RvY3MvbGliY3VybC9jdXJsX3VuZXNjYXBlLjMKQEAgLTE5LDcgKzE5LDcgQEAKIC5cIiAqIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuCiAuXCIgKgogLlwiICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCi0uVEggY3VybF91bmVzY2FwZSAzICJNYXJjaCAyMywgMjAyMCIgImxpYmN1cmwgNy43MC4wIiAibGliY3VybCBNYW51YWwiCisuVEggY3VybF91bmVzY2FwZSAzICJKdW5lIDI1LCAyMDIwIiAibGliY3VybCA3LjcxLjEiICJsaWJjdXJsIE1hbnVhbCIKIAogLlNIIE5BTUUKIGN1cmxfdW5lc2NhcGUgLSBVUkwgZGVjb2RlcyB0aGUgZ2l2ZW4gc3RyaW5nCkBAIC00NCw2ICs0NCw2IEBACiBTaW5jZSA3LjE1LjQsIFxmSWN1cmxfZWFzeV91bmVzY2FwZSgzKVxmUCBzaG91bGQgYmUgdXNlZC4gVGhpcyBmdW5jdGlvbiB3aWxsCiBiZSByZW1vdmVkIGluIGEgZnV0dXJlIHJlbGVhc2UuCiAuU0ggUkVUVVJOIFZBTFVFCi1BIHBvaW50ZXIgdG8gYSB6ZXJvIHRlcm1pbmF0ZWQgc3RyaW5nIG9yIE5VTEwgaWYgaXQgZmFpbGVkLgorQSBwb2ludGVyIHRvIGEgbnVsbC10ZXJtaW5hdGVkIHN0cmluZyBvciBOVUxMIGlmIGl0IGZhaWxlZC4KIC5TSCAiU0VFIEFMU08iCiAuYnIgY3VybF9lYXN5X2VzY2FwZSAiKDMpLCIgY3VybF9lYXN5X3VuZXNjYXBlICIoMyksIiBjdXJsX2ZyZWUgIigzKSwiIFJGQyAyMzk2CmRpZmYgLS1naXQgYS9kb2NzL2xpYmN1cmwvY3VybF91cmwuMyBiL2RvY3MvbGliY3VybC9jdXJsX3VybC4zCmluZGV4IDQzN2VmM2MuLjliNmNlN2EgMTAwNjQ0Ci0tLSBhL2RvY3MvbGliY3VybC9jdXJsX3VybC4zCisrKyBiL2RvY3MvbGliY3VybC9jdXJsX3VybC4zCkBAIC0xOSw3ICsxOSw3IEBACiAuXCIgKiBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLgogLlwiICoKIC5cIiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgotLlRIIGN1cmxfdXJsIDMgIk1hcmNoIDIyLCAyMDE5IiAibGliY3VybCA3LjcwLjAiICJsaWJjdXJsIE1hbnVhbCIKKy5USCBjdXJsX3VybCAzICJNYXJjaCAyMiwgMjAxOSIgImxpYmN1cmwgNy43MS4xIiAibGliY3VybCBNYW51YWwiCiAKIC5TSCBOQU1FCiBjdXJsX3VybCAtIHJldHVybnMgYSBuZXcgQ1VSTFUgaGFuZGxlCmRpZmYgLS1naXQgYS9kb2NzL2xpYmN1cmwvY3VybF91cmxfY2xlYW51cC4zIGIvZG9jcy9saWJjdXJsL2N1cmxfdXJsX2NsZWFudXAuMwppbmRleCA3Y2Q1ZTJlLi4zMjBmMDA2IDEwMDY0NAotLS0gYS9kb2NzL2xpYmN1cmwvY3VybF91cmxfY2xlYW51cC4zCisrKyBiL2RvY3MvbGliY3VybC9jdXJsX3VybF9jbGVhbnVwLjMKQEAgLTE5LDcgKzE5LDcgQEAKIC5cIiAqIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuCiAuXCIgKgogLlwiICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCi0uVEggY3VybF91cmxfY2xlYW51cCAzICJTZXB0ZW1iZXIgMDgsIDIwMTgiICJsaWJjdXJsIDcuNzAuMCIgImxpYmN1cmwgTWFudWFsIgorLlRIIGN1cmxfdXJsX2NsZWFudXAgMyAiU2VwdGVtYmVyIDA4LCAyMDE4IiAibGliY3VybCA3LjcxLjEiICJsaWJjdXJsIE1hbnVhbCIKIAogLlNIIE5BTUUKIGN1cmxfdXJsX2NsZWFudXAgLSBmcmVlIGEgQ1VSTFUgaGFuZGxlCmRpZmYgLS1naXQgYS9kb2NzL2xpYmN1cmwvY3VybF91cmxfZHVwLjMgYi9kb2NzL2xpYmN1cmwvY3VybF91cmxfZHVwLjMKaW5kZXggNmRmZjdiNC4uOTRmMGVjYyAxMDA2NDQKLS0tIGEvZG9jcy9saWJjdXJsL2N1cmxfdXJsX2R1cC4zCisrKyBiL2RvY3MvbGliY3VybC9jdXJsX3VybF9kdXAuMwpAQCAtMTksNyArMTksNyBAQAogLlwiICogS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC4KIC5cIiAqCiAuXCIgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKLS5USCBjdXJsX3VybF9kdXAgMyAiU2VwdGVtYmVyIDA4LCAyMDE4IiAibGliY3VybCA3LjcwLjAiICJsaWJjdXJsIE1hbnVhbCIKKy5USCBjdXJsX3VybF9kdXAgMyAiU2VwdGVtYmVyIDA4LCAyMDE4IiAibGliY3VybCA3LjcxLjEiICJsaWJjdXJsIE1hbnVhbCIKIAogLlNIIE5BTUUKIGN1cmxfdXJsX2R1cCAtIGR1cGxpY2F0ZSBhIENVUkxVIGhhbmRsZQpkaWZmIC0tZ2l0IGEvZG9jcy9saWJjdXJsL2N1cmxfdXJsX2dldC4zIGIvZG9jcy9saWJjdXJsL2N1cmxfdXJsX2dldC4zCmluZGV4IDUwZGVhNzIuLmM2N2EwZDggMTAwNjQ0Ci0tLSBhL2RvY3MvbGliY3VybC9jdXJsX3VybF9nZXQuMworKysgYi9kb2NzL2xpYmN1cmwvY3VybF91cmxfZ2V0LjMKQEAgLTE5LDcgKzE5LDcgQEAKIC5cIiAqIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuCiAuXCIgKgogLlwiICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCi0uVEggY3VybF91cmxfZ2V0IDMgIlNlcHRlbWJlciAyNSwgMjAxOSIgImxpYmN1cmwgNy43MC4wIiAibGliY3VybCBNYW51YWwiCisuVEggY3VybF91cmxfZ2V0IDMgIlNlcHRlbWJlciAyNSwgMjAxOSIgImxpYmN1cmwgNy43MS4xIiAibGliY3VybCBNYW51YWwiCiAKIC5TSCBOQU1FCiBjdXJsX3VybF9nZXQgLSBleHRyYWN0IGEgcGFydCBmcm9tIGEgVVJMCmRpZmYgLS1naXQgYS9kb2NzL2xpYmN1cmwvY3VybF91cmxfc2V0LjMgYi9kb2NzL2xpYmN1cmwvY3VybF91cmxfc2V0LjMKaW5kZXggZDFlZjY3NS4uZDU5MmJhZCAxMDA2NDQKLS0tIGEvZG9jcy9saWJjdXJsL2N1cmxfdXJsX3NldC4zCisrKyBiL2RvY3MvbGliY3VybC9jdXJsX3VybF9zZXQuMwpAQCAtMTksNyArMTksNyBAQAogLlwiICogS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC4KIC5cIiAqCiAuXCIgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKLS5USCBjdXJsX3VybF9zZXQgMyAiSmFudWFyeSAwNSwgMjAyMCIgImxpYmN1cmwgNy43MC4wIiAibGliY3VybCBNYW51YWwiCisuVEggY3VybF91cmxfc2V0IDMgIkp1bmUgMjUsIDIwMjAiICJsaWJjdXJsIDcuNzEuMSIgImxpYmN1cmwgTWFudWFsIgogCiAuU0ggTkFNRQogY3VybF91cmxfc2V0IC0gc2V0IGEgVVJMIHBhcnQKQEAgLTM2LDcgKzM2LDcgQEAKIHVzZXIgc2V0L3VwZGF0ZSBpbmRpdmlkdWFsIHBpZWNlcyBvZiBpdC4KIAogVGhlIFxmSXBhcnRcZlAgYXJndW1lbnQgc2hvdWxkIGlkZW50aWZ5IHRoZSBwYXJ0aWN1bGFyIFVSTCBwYXJ0IChzZWUgbGlzdAotYmVsb3cpIHRvIHNldCBvciBjaGFuZ2UsIHdpdGggXGZJY29udGVudFxmUCBwb2ludGluZyB0byBhIHplcm8gdGVybWluYXRlZAorYmVsb3cpIHRvIHNldCBvciBjaGFuZ2UsIHdpdGggXGZJY29udGVudFxmUCBwb2ludGluZyB0byBhIG51bGwtdGVybWluYXRlZAogc3RyaW5nIHdpdGggdGhlIG5ldyBjb250ZW50cyBmb3IgdGhhdCBVUkwgcGFydC4gVGhlIGNvbnRlbnRzIHNob3VsZCBiZSBpbiB0aGUKIGZvcm0gYW5kIGVuY29kaW5nIHRoZXknZCB1c2UgaW4gYSBVUkw6IFVSTCBlbmNvZGVkLgogCkBAIC01Miw3ICs1Miw3IEBACiBXaGVuIHN1Y2Nlc3NmdWxseSBzZXR0aW5nIGEgbmV3IFVSTCwgcmVsYXRpdmUgb3IgYWJzb2x1dGUsIHRoZSBoYW5kbGUgY29udGVudHMKIHdpbGwgYmUgcmVwbGFjZWQgd2l0aCB0aGUgaW5mb3JtYXRpb24gb2YgdGhlIG5ld2x5IHNldCBVUkwuCiAKLVBhc3MgYSBwb2ludGVyIHRvIGEgemVybyB0ZXJtaW5hdGVkIHN0cmluZyB0byB0aGUgXGZJdXJsXGZQIHBhcmFtZXRlci4gVGhlCitQYXNzIGEgcG9pbnRlciB0byBhIG51bGwtdGVybWluYXRlZCBzdHJpbmcgdG8gdGhlIFxmSXVybFxmUCBwYXJhbWV0ZXIuIFRoZQogc3RyaW5nIG11c3QgcG9pbnQgdG8gYSBjb3JyZWN0bHkgZm9ybWF0dGVkICJSRkMgMzk4NisiIFVSTCBvciBiZSBhIE5VTEwKIHBvaW50ZXIuCiAuSVAgQ1VSTFVQQVJUX1NDSEVNRQpkaWZmIC0tZ2l0IGEvZG9jcy9saWJjdXJsL2N1cmxfdmVyc2lvbi4zIGIvZG9jcy9saWJjdXJsL2N1cmxfdmVyc2lvbi4zCmluZGV4IGYzZmI3ZTEuLjgxMjYxNzAgMTAwNjQ0Ci0tLSBhL2RvY3MvbGliY3VybC9jdXJsX3ZlcnNpb24uMworKysgYi9kb2NzL2xpYmN1cmwvY3VybF92ZXJzaW9uLjMKQEAgLTE5LDcgKzE5LDcgQEAKIC5cIiAqIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuCiAuXCIgKgogLlwiICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCi0uVEggY3VybF92ZXJzaW9uIDMgIk1hcmNoIDIzLCAyMDIwIiAibGliY3VybCA3LjcwLjAiICJsaWJjdXJsIE1hbnVhbCIKKy5USCBjdXJsX3ZlcnNpb24gMyAiSnVuZSAyNSwgMjAyMCIgImxpYmN1cmwgNy43MS4xIiAibGliY3VybCBNYW51YWwiCiAKIC5TSCBOQU1FCiBjdXJsX3ZlcnNpb24gLSByZXR1cm5zIHRoZSBsaWJjdXJsIHZlcnNpb24gc3RyaW5nCkBAIC0zNCw3ICszNCw3IEBACiAKIFdlIHJlY29tbWVuZCB1c2luZyBcZkljdXJsX3ZlcnNpb25faW5mbygzKVxmUCBpbnN0ZWFkIQogLlNIIFJFVFVSTiBWQUxVRQotQSBwb2ludGVyIHRvIGEgemVybyB0ZXJtaW5hdGVkIHN0cmluZy4gVGhlIHN0cmluZyByZXNpZGVzIGluIGEgc3RhdGljYWxseQorQSBwb2ludGVyIHRvIGEgbnVsbC10ZXJtaW5hdGVkIHN0cmluZy4gVGhlIHN0cmluZyByZXNpZGVzIGluIGEgc3RhdGljYWxseQogYWxsb2NhdGVkIGJ1ZmZlciBhbmQgbXVzdCBub3QgYmUgZnJlZWQgYnkgdGhlIGNhbGxlci4KIC5TSCAiU0VFIEFMU08iCiAuQlIgY3VybF92ZXJzaW9uX2luZm8gIigzKSIKZGlmZiAtLWdpdCBhL2RvY3MvbGliY3VybC9jdXJsX3ZlcnNpb25faW5mby4zIGIvZG9jcy9saWJjdXJsL2N1cmxfdmVyc2lvbl9pbmZvLjMKaW5kZXggYzEzMjQ0ZS4uMmQyMWRmYiAxMDA2NDQKLS0tIGEvZG9jcy9saWJjdXJsL2N1cmxfdmVyc2lvbl9pbmZvLjMKKysrIGIvZG9jcy9saWJjdXJsL2N1cmxfdmVyc2lvbl9pbmZvLjMKQEAgLTIwLDcgKzIwLDcgQEAKIC5cIiAqCiAuXCIgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKIC5cIgotLlRIIGN1cmxfdmVyc2lvbl9pbmZvIDMgIk1hcmNoIDI2LCAyMDIwIiAibGliY3VybCA3LjcwLjAiICJsaWJjdXJsIE1hbnVhbCIKKy5USCBjdXJsX3ZlcnNpb25faW5mbyAzICJNYXJjaCAyNiwgMjAyMCIgImxpYmN1cmwgNy43MS4xIiAibGliY3VybCBNYW51YWwiCiAKIC5TSCBOQU1FCiBjdXJsX3ZlcnNpb25faW5mbyAtIHJldHVybnMgcnVuLXRpbWUgbGliY3VybCB2ZXJzaW9uIGluZm8KZGlmZiAtLWdpdCBhL2RvY3MvbGliY3VybC9saWJjdXJsLWVhc3kuMyBiL2RvY3MvbGliY3VybC9saWJjdXJsLWVhc3kuMwppbmRleCA3YTExMzVkLi4wMGQ2ZjZhIDEwMDY0NAotLS0gYS9kb2NzL2xpYmN1cmwvbGliY3VybC1lYXN5LjMKKysrIGIvZG9jcy9saWJjdXJsL2xpYmN1cmwtZWFzeS4zCkBAIC0xOSw3ICsxOSw3IEBACiAuXCIgKiBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLgogLlwiICoKIC5cIiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgotLlRIIGxpYmN1cmwgMyAiTWFyY2ggMjMsIDIwMjAiICJsaWJjdXJsIDcuNzAuMCIgImxpYmN1cmwgZWFzeSBpbnRlcmZhY2UiCisuVEggbGliY3VybCAzICJNYXJjaCAyMywgMjAyMCIgImxpYmN1cmwgNy43MS4xIiAibGliY3VybCBlYXN5IGludGVyZmFjZSIKIAogLlNIIE5BTUUKIGxpYmN1cmwtZWFzeSBcLSBlYXN5IGludGVyZmFjZSBvdmVydmlldwpkaWZmIC0tZ2l0IGEvZG9jcy9saWJjdXJsL2xpYmN1cmwtZW52LjMgYi9kb2NzL2xpYmN1cmwvbGliY3VybC1lbnYuMwppbmRleCAyZDQzZTk4Li5mMTdhYWQ0IDEwMDY0NAotLS0gYS9kb2NzL2xpYmN1cmwvbGliY3VybC1lbnYuMworKysgYi9kb2NzL2xpYmN1cmwvbGliY3VybC1lbnYuMwpAQCAtMTksNyArMTksNyBAQAogLlwiICogS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC4KIC5cIiAqCiAuXCIgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKLS5USCBsaWJjdXJsLWVudiAzICJBcHJpbCAxNywgMjAxOCIgImxpYmN1cmwgNy43MC4wIiAibGliY3VybCBlbnZpcm9ubWVudCB2YXJpYWJsZXMiCisuVEggbGliY3VybC1lbnYgMyAiQXByaWwgMTcsIDIwMTgiICJsaWJjdXJsIDcuNzEuMSIgImxpYmN1cmwgZW52aXJvbm1lbnQgdmFyaWFibGVzIgogCiAuU0ggTkFNRQogbGliY3VybC1lbnYgXC0gZW52aXJvbm1lbnQgdmFyaWFibGVzIGxpYmN1cmwgdW5kZXJzdGFuZHMKZGlmZiAtLWdpdCBhL2RvY3MvbGliY3VybC9saWJjdXJsLWVycm9ycy4zIGIvZG9jcy9saWJjdXJsL2xpYmN1cmwtZXJyb3JzLjMKaW5kZXggNDJmMGUyMy4uOGJlOTZhMSAxMDA2NDQKLS0tIGEvZG9jcy9saWJjdXJsL2xpYmN1cmwtZXJyb3JzLjMKKysrIGIvZG9jcy9saWJjdXJsL2xpYmN1cmwtZXJyb3JzLjMKQEAgLTIwLDcgKzIwLDcgQEAKIC5cIiAqCiAuXCIgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKIC5cIgotLlRIIGxpYmN1cmwtZXJyb3JzIDMgIk1hcmNoIDIzLCAyMDIwIiAibGliY3VybCA3LjcwLjAiICJsaWJjdXJsIGVycm9ycyIKKy5USCBsaWJjdXJsLWVycm9ycyAzICJNYXJjaCAyMywgMjAyMCIgImxpYmN1cmwgNy43MS4xIiAibGliY3VybCBlcnJvcnMiCiAKIC5TSCBOQU1FCiBsaWJjdXJsLWVycm9ycyBcLSBlcnJvciBjb2RlcyBpbiBsaWJjdXJsCmRpZmYgLS1naXQgYS9kb2NzL2xpYmN1cmwvbGliY3VybC1tdWx0aS4zIGIvZG9jcy9saWJjdXJsL2xpYmN1cmwtbXVsdGkuMwppbmRleCAyYzhlMjc3Li5jNjhkOGYzIDEwMDY0NAotLS0gYS9kb2NzL2xpYmN1cmwvbGliY3VybC1tdWx0aS4zCisrKyBiL2RvY3MvbGliY3VybC9saWJjdXJsLW11bHRpLjMKQEAgLTIwLDcgKzIwLDcgQEAKIC5cIiAqCiAuXCIgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKIC5cIgotLlRIIGxpYmN1cmwtbXVsdGkgMyAiQXByaWwgMjYsIDIwMjAiICJsaWJjdXJsIDcuNzAuMCIgImxpYmN1cmwgbXVsdGkgaW50ZXJmYWNlIgorLlRIIGxpYmN1cmwtbXVsdGkgMyAiQXByaWwgMjYsIDIwMjAiICJsaWJjdXJsIDcuNzEuMSIgImxpYmN1cmwgbXVsdGkgaW50ZXJmYWNlIgogCiAuU0ggTkFNRQogbGliY3VybC1tdWx0aSBcLSBob3cgdG8gdXNlIHRoZSBtdWx0aSBpbnRlcmZhY2UKZGlmZiAtLWdpdCBhL2RvY3MvbGliY3VybC9saWJjdXJsLXNlY3VyaXR5LjMgYi9kb2NzL2xpYmN1cmwvbGliY3VybC1zZWN1cml0eS4zCmluZGV4IGJjNjlhNmMuLjk5ODE3ZjYgMTAwNjQ0Ci0tLSBhL2RvY3MvbGliY3VybC9saWJjdXJsLXNlY3VyaXR5LjMKKysrIGIvZG9jcy9saWJjdXJsL2xpYmN1cmwtc2VjdXJpdHkuMwpAQCAtMjAsNyArMjAsNyBAQAogLlwiICoKIC5cIiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogLlwiCi0uVEggbGliY3VybC1zZWN1cml0eSAzICJNYXJjaCAwOSwgMjAyMCIgImxpYmN1cmwgNy43MC4wIiAibGliY3VybCBzZWN1cml0eSIKKy5USCBsaWJjdXJsLXNlY3VyaXR5IDMgIk1hcmNoIDA5LCAyMDIwIiAibGliY3VybCA3LjcxLjEiICJsaWJjdXJsIHNlY3VyaXR5IgogCiAuU0ggTkFNRQogbGliY3VybC1zZWN1cml0eSBcLSBzZWN1cml0eSBjb25zaWRlcmF0aW9ucyB3aGVuIHVzaW5nIGxpYmN1cmwKZGlmZiAtLWdpdCBhL2RvY3MvbGliY3VybC9saWJjdXJsLXNoYXJlLjMgYi9kb2NzL2xpYmN1cmwvbGliY3VybC1zaGFyZS4zCmluZGV4IDE2NWQ4OWMuLjZmYTY5ZGMgMTAwNjQ0Ci0tLSBhL2RvY3MvbGliY3VybC9saWJjdXJsLXNoYXJlLjMKKysrIGIvZG9jcy9saWJjdXJsL2xpYmN1cmwtc2hhcmUuMwpAQCAtMTksNyArMTksNyBAQAogLlwiICogS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC4KIC5cIiAqCiAuXCIgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKLS5USCBsaWJjdXJsLXNoYXJlIDMgIk5vdmVtYmVyIDI3LCAyMDE3IiAibGliY3VybCA3LjcwLjAiICJsaWJjdXJsIHNoYXJlIGludGVyZmFjZSIKKy5USCBsaWJjdXJsLXNoYXJlIDMgIk5vdmVtYmVyIDI3LCAyMDE3IiAibGliY3VybCA3LjcxLjEiICJsaWJjdXJsIHNoYXJlIGludGVyZmFjZSIKIAogLlNIIE5BTUUKIGxpYmN1cmwtc2hhcmUgXC0gaG93IHRvIHVzZSB0aGUgc2hhcmUgaW50ZXJmYWNlCmRpZmYgLS1naXQgYS9kb2NzL2xpYmN1cmwvbGliY3VybC1zeW1ib2xzLjMgYi9kb2NzL2xpYmN1cmwvbGliY3VybC1zeW1ib2xzLjMKaW5kZXggMWI0NGY0ZC4uOTgzYjIwYiAxMDA2NDQKLS0tIGEvZG9jcy9saWJjdXJsL2xpYmN1cmwtc3ltYm9scy4zCisrKyBiL2RvY3MvbGliY3VybC9saWJjdXJsLXN5bWJvbHMuMwpAQCAtMTksNyArMTksNyBAQAogLlwiICogS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC4KIC5cIiAqCiAuXCIgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKLS5USCBsaWJjdXJsLXN5bWJvbHMgMyAiQXByIDI5LCAyMDIwIiAibGliY3VybCA3LjQxLjAiICJsaWJjdXJsIHN5bWJvbHMiCisuVEggbGliY3VybC1zeW1ib2xzIDMgIkp1bCAgMSwgMjAyMCIgImxpYmN1cmwgNy40MS4wIiAibGliY3VybCBzeW1ib2xzIgogLlNIIE5BTUUKIGxpYmN1cmwtc3ltYm9scyBcLSBsaWJjdXJsIHN5bWJvbCB2ZXJzaW9uIGluZm9ybWF0aW9uCiAuU0ggImxpYmN1cmwgc3ltYm9scyIKQEAgLTc2NSw2ICs3NjUsOCBAQAogSW50cm9kdWNlZCBpbiA3LjY4LjAKIC5JUCBDVVJMT1BUCiBJbnRyb2R1Y2VkIGluIDcuNjkuMAorLklQIENVUkxPUFRUWVBFX0JMT0IKK0ludHJvZHVjZWQgaW4gNy43MS4wCiAuSVAgQ1VSTE9QVFRZUEVfRlVOQ1RJT05QT0lOVAogSW50cm9kdWNlZCBpbiA3LjEKIC5JUCBDVVJMT1BUVFlQRV9MT05HCkBAIC0xMDAxLDYgKzEwMDMsOCBAQAogSW50cm9kdWNlZCBpbiA3LjEwLjgKIC5JUCBDVVJMT1BUX0lTU1VFUkNFUlQKIEludHJvZHVjZWQgaW4gNy4xOS4wCisuSVAgQ1VSTE9QVF9JU1NVRVJDRVJUX0JMT0IKK0ludHJvZHVjZWQgaW4gNy43MS4wCiAuSVAgQ1VSTE9QVF9LRUVQX1NFTkRJTkdfT05fRVJST1IKIEludHJvZHVjZWQgaW4gNy41MS4wCiAuSVAgQ1VSTE9QVF9LRVlQQVNTV0QKQEAgLTExMjQsNiArMTEyOCwxMCBAQAogSW50cm9kdWNlZCBpbiA3LjE5LjQKIC5JUCBDVVJMT1BUX1BST1hZCiBJbnRyb2R1Y2VkIGluIDcuMQorLklQIENVUkxPUFRfUFJPWFlfSVNTVUVSQ0VSVAorSW50cm9kdWNlZCBpbiA3LjcxLjAKKy5JUCBDVVJMT1BUX1BST1hZX0lTU1VFUkNFUlRfQkxPQgorSW50cm9kdWNlZCBpbiA3LjcxLjAKIC5JUCBDVVJMT1BUX1BST1hZQVVUSAogSW50cm9kdWNlZCBpbiA3LjEwLjcKIC5JUCBDVVJMT1BUX1BST1hZSEVBREVSCkBAIC0xMTUyLDEwICsxMTYwLDE0IEBACiBJbnRyb2R1Y2VkIGluIDcuNDMuMAogLklQIENVUkxPUFRfUFJPWFlfU1NMQ0VSVAogSW50cm9kdWNlZCBpbiA3LjUyLjAKKy5JUCBDVVJMT1BUX1BST1hZX1NTTENFUlRfQkxPQgorSW50cm9kdWNlZCBpbiA3LjcxLjAKIC5JUCBDVVJMT1BUX1BST1hZX1NTTENFUlRUWVBFCiBJbnRyb2R1Y2VkIGluIDcuNTIuMAogLklQIENVUkxPUFRfUFJPWFlfU1NMS0VZCiBJbnRyb2R1Y2VkIGluIDcuNTIuMAorLklQIENVUkxPUFRfUFJPWFlfU1NMS0VZX0JMT0IKK0ludHJvZHVjZWQgaW4gNy43MS4wCiAuSVAgQ1VSTE9QVF9QUk9YWV9TU0xLRVlUWVBFCiBJbnRyb2R1Y2VkIGluIDcuNTIuMAogLklQIENVUkxPUFRfUFJPWFlfU1NMVkVSU0lPTgpAQCAtMTI3OSw2ICsxMjkxLDggQEAKIEludHJvZHVjZWQgaW4gNy4xNi4xCiAuSVAgQ1VSTE9QVF9TU0xDRVJUCiBJbnRyb2R1Y2VkIGluIDcuMQorLklQIENVUkxPUFRfU1NMQ0VSVF9CTE9CCitJbnRyb2R1Y2VkIGluIDcuNzEuMAogLklQIENVUkxPUFRfU1NMQ0VSVFBBU1NXRAogSW50cm9kdWNlZCBpbiA3LjEuMQogRGVwcmVjYXRlZCBzaW5jZSA3LjE3LjAKQEAgLTEyOTAsNiArMTMwNCw4IEBACiBJbnRyb2R1Y2VkIGluIDcuOS4zCiAuSVAgQ1VSTE9QVF9TU0xLRVkKIEludHJvZHVjZWQgaW4gNy45LjMKKy5JUCBDVVJMT1BUX1NTTEtFWV9CTE9CCitJbnRyb2R1Y2VkIGluIDcuNzEuMAogLklQIENVUkxPUFRfU1NMS0VZUEFTU1dECiBJbnRyb2R1Y2VkIGluIDcuOS4zCiBEZXByZWNhdGVkIHNpbmNlIDcuMTcuMApAQCAtMTU4OCw2ICsxNjA0LDggQEAKIEludHJvZHVjZWQgaW4gNy40OS4wCiAuSVAgQ1VSTFNTTE9QVF9BTExPV19CRUFTVAogSW50cm9kdWNlZCBpbiA3LjI1LjAKKy5JUCBDVVJMU1NMT1BUX05BVElWRV9DQQorSW50cm9kdWNlZCBpbiA3LjcxLjAKIC5JUCBDVVJMU1NMT1BUX05PX1BBUlRJQUxDSEFJTgogSW50cm9kdWNlZCBpbiA3LjY4LjAKIC5JUCBDVVJMU1NMT1BUX05PX1JFVk9LRQpkaWZmIC0tZ2l0IGEvZG9jcy9saWJjdXJsL2xpYmN1cmwtdGhyZWFkLjMgYi9kb2NzL2xpYmN1cmwvbGliY3VybC10aHJlYWQuMwppbmRleCBjM2Y4NDg3Li5mOTZjMzMyIDEwMDY0NAotLS0gYS9kb2NzL2xpYmN1cmwvbGliY3VybC10aHJlYWQuMworKysgYi9kb2NzL2xpYmN1cmwvbGliY3VybC10aHJlYWQuMwpAQCAtMjAsNyArMjAsNyBAQAogLlwiICoKIC5cIiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogLlwiCi0uVEggbGliY3VybC10aHJlYWQgMyAiSnVuZSAzMCwgMjAxOSIgImxpYmN1cmwgNy43MC4wIiAibGliY3VybCB0aHJlYWQgc2FmZXR5IgorLlRIIGxpYmN1cmwtdGhyZWFkIDMgIkp1bmUgMzAsIDIwMTkiICJsaWJjdXJsIDcuNzEuMSIgImxpYmN1cmwgdGhyZWFkIHNhZmV0eSIKIAogLlNIIE5BTUUKIGxpYmN1cmwtdGhyZWFkIFwtIGxpYmN1cmwgdGhyZWFkIHNhZmV0eQpkaWZmIC0tZ2l0IGEvZG9jcy9saWJjdXJsL2xpYmN1cmwtdHV0b3JpYWwuMyBiL2RvY3MvbGliY3VybC9saWJjdXJsLXR1dG9yaWFsLjMKaW5kZXggNTJhMTQ1OC4uZDBkNjU3MSAxMDA2NDQKLS0tIGEvZG9jcy9saWJjdXJsL2xpYmN1cmwtdHV0b3JpYWwuMworKysgYi9kb2NzL2xpYmN1cmwvbGliY3VybC10dXRvcmlhbC4zCkBAIC0yMCw3ICsyMCw3IEBACiAuXCIgKgogLlwiICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiAuXCIKLS5USCBsaWJjdXJsLXR1dG9yaWFsIDMgIk9jdG9iZXIgMzEsIDIwMTkiICJsaWJjdXJsIDcuNzAuMCIgImxpYmN1cmwgcHJvZ3JhbW1pbmciCisuVEggbGliY3VybC10dXRvcmlhbCAzICJPY3RvYmVyIDMxLCAyMDE5IiAibGliY3VybCA3LjcxLjEiICJsaWJjdXJsIHByb2dyYW1taW5nIgogCiAuU0ggTkFNRQogbGliY3VybC10dXRvcmlhbCBcLSBsaWJjdXJsIHByb2dyYW1taW5nIHR1dG9yaWFsCmRpZmYgLS1naXQgYS9kb2NzL2xpYmN1cmwvbGliY3VybC11cmwuMyBiL2RvY3MvbGliY3VybC9saWJjdXJsLXVybC4zCmluZGV4IDgxMTQ0Y2YuLjU0NGMxMzQgMTAwNjQ0Ci0tLSBhL2RvY3MvbGliY3VybC9saWJjdXJsLXVybC4zCisrKyBiL2RvY3MvbGliY3VybC9saWJjdXJsLXVybC4zCkBAIC0xOSw3ICsxOSw3IEBACiAuXCIgKiBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLgogLlwiICoKIC5cIiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgotLlRIIGxpYmN1cmwgMyAiU2VwdGVtYmVyIDEwLCAyMDE4IiAibGliY3VybCA3LjcwLjAiICJsaWJjdXJsIHVybCBpbnRlcmZhY2UiCisuVEggbGliY3VybCAzICJTZXB0ZW1iZXIgMTAsIDIwMTgiICJsaWJjdXJsIDcuNzEuMSIgImxpYmN1cmwgdXJsIGludGVyZmFjZSIKIAogLlNIIE5BTUUKIGxpYmN1cmwtdXJsIFwtIFVSTCBpbnRlcmZhY2Ugb3ZlcnZpZXcKZGlmZiAtLWdpdCBhL2RvY3MvbGliY3VybC9saWJjdXJsLjMgYi9kb2NzL2xpYmN1cmwvbGliY3VybC4zCmluZGV4IGIwZjI3MTcuLjk2MTQzNDUgMTAwNjQ0Ci0tLSBhL2RvY3MvbGliY3VybC9saWJjdXJsLjMKKysrIGIvZG9jcy9saWJjdXJsL2xpYmN1cmwuMwpAQCAtMTksNyArMTksNyBAQAogLlwiICogS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC4KIC5cIiAqCiAuXCIgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKLS5USCBsaWJjdXJsIDMgIk1hcmNoIDIzLCAyMDIwIiAibGliY3VybCA3LjcwLjAiICJsaWJjdXJsIG92ZXJ2aWV3IgorLlRIIGxpYmN1cmwgMyAiTWFyY2ggMjMsIDIwMjAiICJsaWJjdXJsIDcuNzEuMSIgImxpYmN1cmwgb3ZlcnZpZXciCiAKIC5TSCBOQU1FCiBsaWJjdXJsIFwtIGNsaWVudC1zaWRlIFVSTCB0cmFuc2ZlcnMKZGlmZiAtLWdpdCBhL2RvY3MvbGliY3VybC9vcHRzL0NVUkxJTkZPX0FDVElWRVNPQ0tFVC4zIGIvZG9jcy9saWJjdXJsL29wdHMvQ1VSTElORk9fQUNUSVZFU09DS0VULjMKaW5kZXggMjkzMGMwMi4uM2YxZGNkNCAxMDA2NDQKLS0tIGEvZG9jcy9saWJjdXJsL29wdHMvQ1VSTElORk9fQUNUSVZFU09DS0VULjMKKysrIGIvZG9jcy9saWJjdXJsL29wdHMvQ1VSTElORk9fQUNUSVZFU09DS0VULjMKQEAgLTUsNyArNSw3IEBACiAuXCIgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICB8IChfX3wgfF98IHwgIF8gPHwgfF9fXwogLlwiICogICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxfX198XF9fXy98X3wgXF9cX19fX198CiAuXCIgKgotLlwiICogQ29weXJpZ2h0IChDKSAxOTk4IC0gMjAxNywgRGFuaWVsIFN0ZW5iZXJnLCA8ZGFuaWVsQGhheHguc2U+LCBldCBhbC4KKy5cIiAqIENvcHlyaWdodCAoQykgMTk5OCAtIDIwMjAsIERhbmllbCBTdGVuYmVyZywgPGRhbmllbEBoYXh4LnNlPiwgZXQgYWwuCiAuXCIgKgogLlwiICogVGhpcyBzb2Z0d2FyZSBpcyBsaWNlbnNlZCBhcyBkZXNjcmliZWQgaW4gdGhlIGZpbGUgQ09QWUlORywgd2hpY2gKIC5cIiAqIHlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhcyBwYXJ0IG9mIHRoaXMgZGlzdHJpYnV0aW9uLiBUaGUgdGVybXMKQEAgLTIwLDcgKzIwLDcgQEAKIC5cIiAqCiAuXCIgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKIC5cIgotLlRIIENVUkxJTkZPX0FDVElWRVNPQ0tFVCAzICJNYXkgMDYsIDIwMTciICJsaWJjdXJsIDcuNzAuMCIgImN1cmxfZWFzeV9nZXRpbmZvIG9wdGlvbnMiCisuVEggQ1VSTElORk9fQUNUSVZFU09DS0VUIDMgIkp1bmUgMDQsIDIwMjAiICJsaWJjdXJsIDcuNzEuMSIgImN1cmxfZWFzeV9nZXRpbmZvIG9wdGlvbnMiCiAKIC5TSCBOQU1FCiBDVVJMSU5GT19BQ1RJVkVTT0NLRVQgXC0gZ2V0IHRoZSBhY3RpdmUgc29ja2V0CkBAIC0zMCwxNSArMzAsMTcgQEAKIENVUkxjb2RlIGN1cmxfZWFzeV9nZXRpbmZvKENVUkwgKmhhbmRsZSwgQ1VSTElORk9fQUNUSVZFU09DS0VULAogICAgICAgICAgICAgICAgICAgICAgICAgICAgY3VybF9zb2NrZXRfdCAqc29ja2V0KTsKIC5TSCBERVNDUklQVElPTgotUGFzcyBhIHBvaW50ZXIgdG8gYSBjdXJsX3NvY2tldF90IHRvIHJlY2VpdmUgdGhlIGFjdGl2ZSBzb2NrZXQgdXNlZCBieSB0aGlzCi1jdXJsIHNlc3Npb24uIElmIHRoZSBzb2NrZXQgaXMgbm8gbG9uZ2VyIHZhbGlkLCBcZklDVVJMX1NPQ0tFVF9CQURcZlAgaXMKLXJldHVybmVkLiBXaGVuIHlvdSBmaW5pc2ggd29ya2luZyB3aXRoIHRoZSBzb2NrZXQsIHlvdSBtdXN0IGNhbGwKLVxmSWN1cmxfZWFzeV9jbGVhbnVwKDMpXGZQIGFzIHVzdWFsIG9uIHRoZSBlYXN5IGhhbmRsZSBhbmQgbGV0IGxpYmN1cmwgY2xvc2UKLXRoZSBzb2NrZXQgYW5kIGNsZWFudXAgb3RoZXIgcmVzb3VyY2VzIGFzc29jaWF0ZWQgd2l0aCB0aGUgaGFuZGxlLiBUaGlzIGlzCi10eXBpY2FsbHkgdXNlZCBpbiBjb21iaW5hdGlvbiB3aXRoIFxmSUNVUkxPUFRfQ09OTkVDVF9PTkxZKDMpXGZQLgorUGFzcyBhIHBvaW50ZXIgdG8gYSBjdXJsX3NvY2tldF90IHRvIHJlY2VpdmUgdGhlIG1vc3QgcmVjZW50bHkgYWN0aXZlIHNvY2tldAordXNlZCBmb3IgdGhlIHRyYW5zZmVyIGNvbm5lY3Rpb24gYnkgdGhpcyBjdXJsIHNlc3Npb24uIElmIHRoZSBzb2NrZXQgaXMgbm8KK2xvbmdlciB2YWxpZCwgXGZJQ1VSTF9TT0NLRVRfQkFEXGZQIGlzIHJldHVybmVkLiBXaGVuIHlvdSBhcmUgZmluaXNoZWQgd29ya2luZword2l0aCB0aGUgc29ja2V0LCB5b3UgbXVzdCBjYWxsIFxmSWN1cmxfZWFzeV9jbGVhbnVwKDMpXGZQIGFzIHVzdWFsIG9uIHRoZSBlYXN5CitoYW5kbGUgYW5kIGxldCBsaWJjdXJsIGNsb3NlIHRoZSBzb2NrZXQgYW5kIGNsZWFudXAgb3RoZXIgcmVzb3VyY2VzIGFzc29jaWF0ZWQKK3dpdGggdGhlIGhhbmRsZS4gVGhpcyBvcHRpb24gcmV0dXJucyB0aGUgYWN0aXZlIHNvY2tldCBvbmx5IGFmdGVyIHRoZSB0cmFuc2ZlcgoraXMgY29tcGxldGUsIGFuZCBpcyB0eXBpY2FsbHkgdXNlZCBpbiBjb21iaW5hdGlvbiB3aXRoCitcZklDVVJMT1BUX0NPTk5FQ1RfT05MWSgzKVxmUCwgd2hpY2ggc2tpcHMgdGhlIHRyYW5zZmVyIHBoYXNlLgogCi1UaGlzIG9wdGlvbiB3YXMgYWRkZWQgYXMgYSByZXBsYWNlbWVudCBmb3IgXGZJQ1VSTElORk9fTEFTVFNPQ0tFVCgzKVxmUCBzaW5jZQotdGhhdCBvbmUgaXNuJ3Qgd29ya2luZyBvbiBhbGwgcGxhdGZvcm1zLgorXGZJQ1VSTElORk9fQUNUSVZFU09DS0VUKDMpXGZQIHdhcyBhZGRlZCBhcyBhIHJlcGxhY2VtZW50IGZvcgorXGZJQ1VSTElORk9fTEFTVFNPQ0tFVCgzKVxmUCBzaW5jZSB0aGF0IG9uZSBpc24ndCB3b3JraW5nIG9uIGFsbCBwbGF0Zm9ybXMuCiAuU0ggUFJPVE9DT0xTCiBBbGwKIC5TSCBFWEFNUExFCmRpZmYgLS1naXQgYS9kb2NzL2xpYmN1cmwvb3B0cy9DVVJMSU5GT19BUFBDT05ORUNUX1RJTUUuMyBiL2RvY3MvbGliY3VybC9vcHRzL0NVUkxJTkZPX0FQUENPTk5FQ1RfVElNRS4zCmluZGV4IGQxOGYyYjYuLmVhMWRkOTUgMTAwNjQ0Ci0tLSBhL2RvY3MvbGliY3VybC9vcHRzL0NVUkxJTkZPX0FQUENPTk5FQ1RfVElNRS4zCisrKyBiL2RvY3MvbGliY3VybC9vcHRzL0NVUkxJTkZPX0FQUENPTk5FQ1RfVElNRS4zCkBAIC0yMCw3ICsyMCw3IEBACiAuXCIgKgogLlwiICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiAuXCIKLS5USCBDVVJMSU5GT19BUFBDT05ORUNUX1RJTUUgMyAiQXVndXN0IDI2LCAyMDE5IiAibGliY3VybCA3LjcwLjAiICJjdXJsX2Vhc3lfZ2V0aW5mbyBvcHRpb25zIgorLlRIIENVUkxJTkZPX0FQUENPTk5FQ1RfVElNRSAzICJBdWd1c3QgMjYsIDIwMTkiICJsaWJjdXJsIDcuNzEuMSIgImN1cmxfZWFzeV9nZXRpbmZvIG9wdGlvbnMiCiAKIC5TSCBOQU1FCiBDVVJMSU5GT19BUFBDT05ORUNUX1RJTUUgXC0gZ2V0IHRoZSB0aW1lIHVudGlsIHRoZSBTU0wvU1NIIGhhbmRzaGFrZSBpcyBjb21wbGV0ZWQKZGlmZiAtLWdpdCBhL2RvY3MvbGliY3VybC9vcHRzL0NVUkxJTkZPX0FQUENPTk5FQ1RfVElNRV9ULjMgYi9kb2NzL2xpYmN1cmwvb3B0cy9DVVJMSU5GT19BUFBDT05ORUNUX1RJTUVfVC4zCmluZGV4IDViZjViYTAuLmRiOTRhMzEgMTAwNjQ0Ci0tLSBhL2RvY3MvbGliY3VybC9vcHRzL0NVUkxJTkZPX0FQUENPTk5FQ1RfVElNRV9ULjMKKysrIGIvZG9jcy9saWJjdXJsL29wdHMvQ1VSTElORk9fQVBQQ09OTkVDVF9USU1FX1QuMwpAQCAtMjAsNyArMjAsNyBAQAogLlwiICoKIC5cIiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogLlwiCi0uVEggQ1VSTElORk9fQVBQQ09OTkVDVF9USU1FX1QgMyAiQXVndXN0IDI2LCAyMDE5IiAibGliY3VybCA3LjcwLjAiICJjdXJsX2Vhc3lfZ2V0aW5mbyBvcHRpb25zIgorLlRIIENVUkxJTkZPX0FQUENPTk5FQ1RfVElNRV9UIDMgIkF1Z3VzdCAyNiwgMjAxOSIgImxpYmN1cmwgNy43MS4xIiAiY3VybF9lYXN5X2dldGluZm8gb3B0aW9ucyIKIAogLlNIIE5BTUUKIENVUkxJTkZPX0FQUENPTk5FQ1RfVElNRV9UIFwtIGdldCB0aGUgdGltZSB1bnRpbCB0aGUgU1NML1NTSCBoYW5kc2hha2UgaXMgY29tcGxldGVkCmRpZmYgLS1naXQgYS9kb2NzL2xpYmN1cmwvb3B0cy9DVVJMSU5GT19DRVJUSU5GTy4zIGIvZG9jcy9saWJjdXJsL29wdHMvQ1VSTElORk9fQ0VSVElORk8uMwppbmRleCA1YWI1OTI1Li4zYTZlMThlIDEwMDY0NAotLS0gYS9kb2NzL2xpYmN1cmwvb3B0cy9DVVJMSU5GT19DRVJUSU5GTy4zCisrKyBiL2RvY3MvbGliY3VybC9vcHRzL0NVUkxJTkZPX0NFUlRJTkZPLjMKQEAgLTIwLDcgKzIwLDcgQEAKIC5cIiAqCiAuXCIgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKIC5cIgotLlRIIENVUkxJTkZPX0NFUlRJTkZPIDMgIk1hcmNoIDIzLCAyMDIwIiAibGliY3VybCA3LjcwLjAiICJjdXJsX2Vhc3lfZ2V0aW5mbyBvcHRpb25zIgorLlRIIENVUkxJTkZPX0NFUlRJTkZPIDMgIk1hcmNoIDIzLCAyMDIwIiAibGliY3VybCA3LjcxLjEiICJjdXJsX2Vhc3lfZ2V0aW5mbyBvcHRpb25zIgogCiAuU0ggTkFNRQogQ1VSTElORk9fQ0VSVElORk8gXC0gZ2V0IHRoZSBUTFMgY2VydGlmaWNhdGUgY2hhaW4KZGlmZiAtLWdpdCBhL2RvY3MvbGliY3VybC9vcHRzL0NVUkxJTkZPX0NPTkRJVElPTl9VTk1FVC4zIGIvZG9jcy9saWJjdXJsL29wdHMvQ1VSTElORk9fQ09ORElUSU9OX1VOTUVULjMKaW5kZXggZWUwNWRmNy4uYmRmMzhiNSAxMDA2NDQKLS0tIGEvZG9jcy9saWJjdXJsL29wdHMvQ1VSTElORk9fQ09ORElUSU9OX1VOTUVULjMKKysrIGIvZG9jcy9saWJjdXJsL29wdHMvQ1VSTElORk9fQ09ORElUSU9OX1VOTUVULjMKQEAgLTIwLDcgKzIwLDcgQEAKIC5cIiAqCiAuXCIgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKIC5cIgotLlRIIENVUkxJTkZPX0NPTkRJVElPTl9VTk1FVCAzICJBcHJpbCAwNCwgMjAyMCIgImxpYmN1cmwgNy43MC4wIiAiY3VybF9lYXN5X2dldGluZm8gb3B0aW9ucyIKKy5USCBDVVJMSU5GT19DT05ESVRJT05fVU5NRVQgMyAiQXByaWwgMDQsIDIwMjAiICJsaWJjdXJsIDcuNzEuMSIgImN1cmxfZWFzeV9nZXRpbmZvIG9wdGlvbnMiCiAKIC5TSCBOQU1FCiBDVVJMSU5GT19DT05ESVRJT05fVU5NRVQgXC0gZ2V0IGluZm8gb24gdW5tZXQgdGltZSBjb25kaXRpb25hbCBvciAzMDQgSFRUUCByZXNwb25zZS4KZGlmZiAtLWdpdCBhL2RvY3MvbGliY3VybC9vcHRzL0NVUkxJTkZPX0NPTk5FQ1RfVElNRS4zIGIvZG9jcy9saWJjdXJsL29wdHMvQ1VSTElORk9fQ09OTkVDVF9USU1FLjMKaW5kZXggMTUxMTMxNi4uMjNhODMyOCAxMDA2NDQKLS0tIGEvZG9jcy9saWJjdXJsL29wdHMvQ1VSTElORk9fQ09OTkVDVF9USU1FLjMKKysrIGIvZG9jcy9saWJjdXJsL29wdHMvQ1VSTElORk9fQ09OTkVDVF9USU1FLjMKQEAgLTIwLDcgKzIwLDcgQEAKIC5cIiAqCiAuXCIgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKIC5cIgotLlRIIENVUkxJTkZPX0NPTk5FQ1RfVElNRSAzICJBdWd1c3QgMjYsIDIwMTkiICJsaWJjdXJsIDcuNzAuMCIgImN1cmxfZWFzeV9nZXRpbmZvIG9wdGlvbnMiCisuVEggQ1VSTElORk9fQ09OTkVDVF9USU1FIDMgIkF1Z3VzdCAyNiwgMjAxOSIgImxpYmN1cmwgNy43MS4xIiAiY3VybF9lYXN5X2dldGluZm8gb3B0aW9ucyIKIAogLlNIIE5BTUUKIENVUkxJTkZPX0NPTk5FQ1RfVElNRSBcLSBnZXQgdGhlIHRpbWUgdW50aWwgY29ubmVjdApkaWZmIC0tZ2l0IGEvZG9jcy9saWJjdXJsL29wdHMvQ1VSTElORk9fQ09OTkVDVF9USU1FX1QuMyBiL2RvY3MvbGliY3VybC9vcHRzL0NVUkxJTkZPX0NPTk5FQ1RfVElNRV9ULjMKaW5kZXggYzA3MTczOC4uYjRjZGI2YiAxMDA2NDQKLS0tIGEvZG9jcy9saWJjdXJsL29wdHMvQ1VSTElORk9fQ09OTkVDVF9USU1FX1QuMworKysgYi9kb2NzL2xpYmN1cmwvb3B0cy9DVVJMSU5GT19DT05ORUNUX1RJTUVfVC4zCkBAIC0yMCw3ICsyMCw3IEBACiAuXCIgKgogLlwiICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiAuXCIKLS5USCBDVVJMSU5GT19DT05ORUNUX1RJTUVfVCAzICJBdWd1c3QgMjYsIDIwMTkiICJsaWJjdXJsIDcuNzAuMCIgImN1cmxfZWFzeV9nZXRpbmZvIG9wdGlvbnMiCisuVEggQ1VSTElORk9fQ09OTkVDVF9USU1FX1QgMyAiQXVndXN0IDI2LCAyMDE5IiAibGliY3VybCA3LjcxLjEiICJjdXJsX2Vhc3lfZ2V0aW5mbyBvcHRpb25zIgogCiAuU0ggTkFNRQogQ1VSTElORk9fQ09OTkVDVF9USU1FX1QgXC0gZ2V0IHRoZSB0aW1lIHVudGlsIGNvbm5lY3QKZGlmZiAtLWdpdCBhL2RvY3MvbGliY3VybC9vcHRzL0NVUkxJTkZPX0NPTlRFTlRfTEVOR1RIX0RPV05MT0FELjMgYi9kb2NzL2xpYmN1cmwvb3B0cy9DVVJMSU5GT19DT05URU5UX0xFTkdUSF9ET1dOTE9BRC4zCmluZGV4IGI2MWI2ZmEuLmJlNGM5OTUgMTAwNjQ0Ci0tLSBhL2RvY3MvbGliY3VybC9vcHRzL0NVUkxJTkZPX0NPTlRFTlRfTEVOR1RIX0RPV05MT0FELjMKKysrIGIvZG9jcy9saWJjdXJsL29wdHMvQ1VSTElORk9fQ09OVEVOVF9MRU5HVEhfRE9XTkxPQUQuMwpAQCAtMjAsNyArMjAsNyBAQAogLlwiICoKIC5cIiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogLlwiCi0uVEggQ1VSTElORk9fQ09OVEVOVF9MRU5HVEhfRE9XTkxPQUQgMyAiSnVuZSAxNSwgMjAxNyIgImxpYmN1cmwgNy43MC4wIiAiY3VybF9lYXN5X2dldGluZm8gb3B0aW9ucyIKKy5USCBDVVJMSU5GT19DT05URU5UX0xFTkdUSF9ET1dOTE9BRCAzICJKdW5lIDE1LCAyMDE3IiAibGliY3VybCA3LjcxLjEiICJjdXJsX2Vhc3lfZ2V0aW5mbyBvcHRpb25zIgogCiAuU0ggTkFNRQogQ1VSTElORk9fQ09OVEVOVF9MRU5HVEhfRE9XTkxPQUQgXC0gZ2V0IGNvbnRlbnQtbGVuZ3RoIG9mIGRvd25sb2FkCmRpZmYgLS1naXQgYS9kb2NzL2xpYmN1cmwvb3B0cy9DVVJMSU5GT19DT05URU5UX0xFTkdUSF9ET1dOTE9BRF9ULjMgYi9kb2NzL2xpYmN1cmwvb3B0cy9DVVJMSU5GT19DT05URU5UX0xFTkdUSF9ET1dOTE9BRF9ULjMKaW5kZXggNjUwZDQzNS4uYmM5NjM0MyAxMDA2NDQKLS0tIGEvZG9jcy9saWJjdXJsL29wdHMvQ1VSTElORk9fQ09OVEVOVF9MRU5HVEhfRE9XTkxPQURfVC4zCisrKyBiL2RvY3MvbGliY3VybC9vcHRzL0NVUkxJTkZPX0NPTlRFTlRfTEVOR1RIX0RPV05MT0FEX1QuMwpAQCAtMjAsNyArMjAsNyBAQAogLlwiICoKIC5cIiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogLlwiCi0uVEggQ1VSTElORk9fQ09OVEVOVF9MRU5HVEhfRE9XTkxPQURfVCAzICJNYXJjaCAyMywgMjAyMCIgImxpYmN1cmwgNy43MC4wIiAiY3VybF9lYXN5X2dldGluZm8gb3B0aW9ucyIKKy5USCBDVVJMSU5GT19DT05URU5UX0xFTkdUSF9ET1dOTE9BRF9UIDMgIk1hcmNoIDIzLCAyMDIwIiAibGliY3VybCA3LjcxLjEiICJjdXJsX2Vhc3lfZ2V0aW5mbyBvcHRpb25zIgogCiAuU0ggTkFNRQogQ1VSTElORk9fQ09OVEVOVF9MRU5HVEhfRE9XTkxPQURfVCBcLSBnZXQgY29udGVudC1sZW5ndGggb2YgZG93bmxvYWQKZGlmZiAtLWdpdCBhL2RvY3MvbGliY3VybC9vcHRzL0NVUkxJTkZPX0NPTlRFTlRfTEVOR1RIX1VQTE9BRC4zIGIvZG9jcy9saWJjdXJsL29wdHMvQ1VSTElORk9fQ09OVEVOVF9MRU5HVEhfVVBMT0FELjMKaW5kZXggYTUxZTMwNi4uZWEyZTUxNSAxMDA2NDQKLS0tIGEvZG9jcy9saWJjdXJsL29wdHMvQ1VSTElORk9fQ09OVEVOVF9MRU5HVEhfVVBMT0FELjMKKysrIGIvZG9jcy9saWJjdXJsL29wdHMvQ1VSTElORk9fQ09OVEVOVF9MRU5HVEhfVVBMT0FELjMKQEAgLTIwLDcgKzIwLDcgQEAKIC5cIiAqCiAuXCIgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKIC5cIgotLlRIIENVUkxJTkZPX0NPTlRFTlRfTEVOR1RIX1VQTE9BRCAzICJKdW5lIDE1LCAyMDE3IiAibGliY3VybCA3LjcwLjAiICJjdXJsX2Vhc3lfZ2V0aW5mbyBvcHRpb25zIgorLlRIIENVUkxJTkZPX0NPTlRFTlRfTEVOR1RIX1VQTE9BRCAzICJKdW5lIDE1LCAyMDE3IiAibGliY3VybCA3LjcxLjEiICJjdXJsX2Vhc3lfZ2V0aW5mbyBvcHRpb25zIgogCiAuU0ggTkFNRQogQ1VSTElORk9fQ09OVEVOVF9MRU5HVEhfVVBMT0FEIFwtIGdldCB0aGUgc3BlY2lmaWVkIHNpemUgb2YgdGhlIHVwbG9hZApkaWZmIC0tZ2l0IGEvZG9jcy9saWJjdXJsL29wdHMvQ1VSTElORk9fQ09OVEVOVF9MRU5HVEhfVVBMT0FEX1QuMyBiL2RvY3MvbGliY3VybC9vcHRzL0NVUkxJTkZPX0NPTlRFTlRfTEVOR1RIX1VQTE9BRF9ULjMKaW5kZXggZDkxNGVkNi4uMmZlYmY3OSAxMDA2NDQKLS0tIGEvZG9jcy9saWJjdXJsL29wdHMvQ1VSTElORk9fQ09OVEVOVF9MRU5HVEhfVVBMT0FEX1QuMworKysgYi9kb2NzL2xpYmN1cmwvb3B0cy9DVVJMSU5GT19DT05URU5UX0xFTkdUSF9VUExPQURfVC4zCkBAIC0yMCw3ICsyMCw3IEBACiAuXCIgKgogLlwiICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiAuXCIKLS5USCBDVVJMSU5GT19DT05URU5UX0xFTkdUSF9VUExPQURfVCAzICJNYXJjaCAyMywgMjAyMCIgImxpYmN1cmwgNy43MC4wIiAiY3VybF9lYXN5X2dldGluZm8gb3B0aW9ucyIKKy5USCBDVVJMSU5GT19DT05URU5UX0xFTkdUSF9VUExPQURfVCAzICJNYXJjaCAyMywgMjAyMCIgImxpYmN1cmwgNy43MS4xIiAiY3VybF9lYXN5X2dldGluZm8gb3B0aW9ucyIKIAogLlNIIE5BTUUKIENVUkxJTkZPX0NPTlRFTlRfTEVOR1RIX1VQTE9BRF9UIFwtIGdldCB0aGUgc3BlY2lmaWVkIHNpemUgb2YgdGhlIHVwbG9hZApkaWZmIC0tZ2l0IGEvZG9jcy9saWJjdXJsL29wdHMvQ1VSTElORk9fQ09OVEVOVF9UWVBFLjMgYi9kb2NzL2xpYmN1cmwvb3B0cy9DVVJMSU5GT19DT05URU5UX1RZUEUuMwppbmRleCBiZDNmOThkLi5jNjJkMjU1IDEwMDY0NAotLS0gYS9kb2NzL2xpYmN1cmwvb3B0cy9DVVJMSU5GT19DT05URU5UX1RZUEUuMworKysgYi9kb2NzL2xpYmN1cmwvb3B0cy9DVVJMSU5GT19DT05URU5UX1RZUEUuMwpAQCAtMjAsNyArMjAsNyBAQAogLlwiICoKIC5cIiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogLlwiCi0uVEggQ1VSTElORk9fQ09OVEVOVF9UWVBFIDMgIk1heSAwNiwgMjAxNyIgImxpYmN1cmwgNy43MC4wIiAiY3VybF9lYXN5X2dldGluZm8gb3B0aW9ucyIKKy5USCBDVVJMSU5GT19DT05URU5UX1RZUEUgMyAiTWF5IDA2LCAyMDE3IiAibGliY3VybCA3LjcxLjEiICJjdXJsX2Vhc3lfZ2V0aW5mbyBvcHRpb25zIgogCiAuU0ggTkFNRQogQ1VSTElORk9fQ09OVEVOVF9UWVBFIFwtIGdldCBDb250ZW50LVR5cGUKZGlmZiAtLWdpdCBhL2RvY3MvbGliY3VybC9vcHRzL0NVUkxJTkZPX0NPT0tJRUxJU1QuMyBiL2RvY3MvbGliY3VybC9vcHRzL0NVUkxJTkZPX0NPT0tJRUxJU1QuMwppbmRleCA2OTkwZjYyLi4yZDUyNThiIDEwMDY0NAotLS0gYS9kb2NzL2xpYmN1cmwvb3B0cy9DVVJMSU5GT19DT09LSUVMSVNULjMKKysrIGIvZG9jcy9saWJjdXJsL29wdHMvQ1VSTElORk9fQ09PS0lFTElTVC4zCkBAIC0yMCw3ICsyMCw3IEBACiAuXCIgKgogLlwiICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiAuXCIKLS5USCBDVVJMSU5GT19DT09LSUVMSVNUIDMgIk1hcmNoIDIzLCAyMDIwIiAibGliY3VybCA3LjcwLjAiICJjdXJsX2Vhc3lfZ2V0aW5mbyBvcHRpb25zIgorLlRIIENVUkxJTkZPX0NPT0tJRUxJU1QgMyAiTWFyY2ggMjMsIDIwMjAiICJsaWJjdXJsIDcuNzEuMSIgImN1cmxfZWFzeV9nZXRpbmZvIG9wdGlvbnMiCiAKIC5TSCBOQU1FCiBDVVJMSU5GT19DT09LSUVMSVNUIFwtIGdldCBhbGwga25vd24gY29va2llcwpkaWZmIC0tZ2l0IGEvZG9jcy9saWJjdXJsL29wdHMvQ1VSTElORk9fRUZGRUNUSVZFX1VSTC4zIGIvZG9jcy9saWJjdXJsL29wdHMvQ1VSTElORk9fRUZGRUNUSVZFX1VSTC4zCmluZGV4IGRhYWVlYjcuLjBkNTYzMTIgMTAwNjQ0Ci0tLSBhL2RvY3MvbGliY3VybC9vcHRzL0NVUkxJTkZPX0VGRkVDVElWRV9VUkwuMworKysgYi9kb2NzL2xpYmN1cmwvb3B0cy9DVVJMSU5GT19FRkZFQ1RJVkVfVVJMLjMKQEAgLTIwLDcgKzIwLDcgQEAKIC5cIiAqCiAuXCIgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKIC5cIgotLlRIIENVUkxJTkZPX0VGRkVDVElWRV9VUkwgMyAiTWF5IDA0LCAyMDE3IiAibGliY3VybCA3LjcwLjAiICJjdXJsX2Vhc3lfZ2V0aW5mbyBvcHRpb25zIgorLlRIIENVUkxJTkZPX0VGRkVDVElWRV9VUkwgMyAiTWF5IDA0LCAyMDE3IiAibGliY3VybCA3LjcxLjEiICJjdXJsX2Vhc3lfZ2V0aW5mbyBvcHRpb25zIgogCiAuU0ggTkFNRQogQ1VSTElORk9fRUZGRUNUSVZFX1VSTCBcLSBnZXQgdGhlIGxhc3QgdXNlZCBVUkwKZGlmZiAtLWdpdCBhL2RvY3MvbGliY3VybC9vcHRzL0NVUkxJTkZPX0ZJTEVUSU1FLjMgYi9kb2NzL2xpYmN1cmwvb3B0cy9DVVJMSU5GT19GSUxFVElNRS4zCmluZGV4IGUzYzhiMjIuLjg1ZjNhZGQgMTAwNjQ0Ci0tLSBhL2RvY3MvbGliY3VybC9vcHRzL0NVUkxJTkZPX0ZJTEVUSU1FLjMKKysrIGIvZG9jcy9saWJjdXJsL29wdHMvQ1VSTElORk9fRklMRVRJTUUuMwpAQCAtMjAsNyArMjAsNyBAQAogLlwiICoKIC5cIiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogLlwiCi0uVEggQ1VSTElORk9fRklMRVRJTUUgMyAiSmFudWFyeSAyNSwgMjAxOCIgImxpYmN1cmwgNy43MC4wIiAiY3VybF9lYXN5X2dldGluZm8gb3B0aW9ucyIKKy5USCBDVVJMSU5GT19GSUxFVElNRSAzICJKYW51YXJ5IDI1LCAyMDE4IiAibGliY3VybCA3LjcxLjEiICJjdXJsX2Vhc3lfZ2V0aW5mbyBvcHRpb25zIgogCiAuU0ggTkFNRQogQ1VSTElORk9fRklMRVRJTUUgXC0gZ2V0IHRoZSByZW1vdGUgdGltZSBvZiB0aGUgcmV0cmlldmVkIGRvY3VtZW50CmRpZmYgLS1naXQgYS9kb2NzL2xpYmN1cmwvb3B0cy9DVVJMSU5GT19GSUxFVElNRV9ULjMgYi9kb2NzL2xpYmN1cmwvb3B0cy9DVVJMSU5GT19GSUxFVElNRV9ULjMKaW5kZXggNWQzY2E2MS4uZGY4ODllNSAxMDA2NDQKLS0tIGEvZG9jcy9saWJjdXJsL29wdHMvQ1VSTElORk9fRklMRVRJTUVfVC4zCisrKyBiL2RvY3MvbGliY3VybC9vcHRzL0NVUkxJTkZPX0ZJTEVUSU1FX1QuMwpAQCAtMjAsNyArMjAsNyBAQAogLlwiICoKIC5cIiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogLlwiCi0uVEggQ1VSTElORk9fRklMRVRJTUUgMyAiSmFudWFyeSAyNSwgMjAxOCIgImxpYmN1cmwgNy43MC4wIiAiY3VybF9lYXN5X2dldGluZm8gb3B0aW9ucyIKKy5USCBDVVJMSU5GT19GSUxFVElNRSAzICJKYW51YXJ5IDI1LCAyMDE4IiAibGliY3VybCA3LjcxLjEiICJjdXJsX2Vhc3lfZ2V0aW5mbyBvcHRpb25zIgogCiAuU0ggTkFNRQogQ1VSTElORk9fRklMRVRJTUVfVCBcLSBnZXQgdGhlIHJlbW90ZSB0aW1lIG9mIHRoZSByZXRyaWV2ZWQgZG9jdW1lbnQKZGlmZiAtLWdpdCBhL2RvY3MvbGliY3VybC9vcHRzL0NVUkxJTkZPX0ZUUF9FTlRSWV9QQVRILjMgYi9kb2NzL2xpYmN1cmwvb3B0cy9DVVJMSU5GT19GVFBfRU5UUllfUEFUSC4zCmluZGV4IDNkZTViNDEuLjIwNmM1NDggMTAwNjQ0Ci0tLSBhL2RvY3MvbGliY3VybC9vcHRzL0NVUkxJTkZPX0ZUUF9FTlRSWV9QQVRILjMKKysrIGIvZG9jcy9saWJjdXJsL29wdHMvQ1VSTElORk9fRlRQX0VOVFJZX1BBVEguMwpAQCAtMjAsNyArMjAsNyBAQAogLlwiICoKIC5cIiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogLlwiCi0uVEggQ1VSTElORk9fRlRQX0VOVFJZX1BBVEggMyAiTWF5IDA2LCAyMDE3IiAibGliY3VybCA3LjcwLjAiICJjdXJsX2Vhc3lfZ2V0aW5mbyBvcHRpb25zIgorLlRIIENVUkxJTkZPX0ZUUF9FTlRSWV9QQVRIIDMgIk1heSAwNiwgMjAxNyIgImxpYmN1cmwgNy43MS4xIiAiY3VybF9lYXN5X2dldGluZm8gb3B0aW9ucyIKIAogLlNIIE5BTUUKIENVUkxJTkZPX0ZUUF9FTlRSWV9QQVRIIFwtIGdldCBlbnRyeSBwYXRoIGluIEZUUCBzZXJ2ZXIKZGlmZiAtLWdpdCBhL2RvY3MvbGliY3VybC9vcHRzL0NVUkxJTkZPX0hFQURFUl9TSVpFLjMgYi9kb2NzL2xpYmN1cmwvb3B0cy9DVVJMSU5GT19IRUFERVJfU0laRS4zCmluZGV4IDAzOGRlYjAuLjQ0NGM5MGEgMTAwNjQ0Ci0tLSBhL2RvY3MvbGliY3VybC9vcHRzL0NVUkxJTkZPX0hFQURFUl9TSVpFLjMKKysrIGIvZG9jcy9saWJjdXJsL29wdHMvQ1VSTElORk9fSEVBREVSX1NJWkUuMwpAQCAtMjAsNyArMjAsNyBAQAogLlwiICoKIC5cIiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogLlwiCi0uVEggQ1VSTElORk9fSEVBREVSX1NJWkUgMyAiTWF5IDA2LCAyMDE3IiAibGliY3VybCA3LjcwLjAiICJjdXJsX2Vhc3lfZ2V0aW5mbyBvcHRpb25zIgorLlRIIENVUkxJTkZPX0hFQURFUl9TSVpFIDMgIk1heSAwNiwgMjAxNyIgImxpYmN1cmwgNy43MS4xIiAiY3VybF9lYXN5X2dldGluZm8gb3B0aW9ucyIKIAogLlNIIE5BTUUKIENVUkxJTkZPX0hFQURFUl9TSVpFIFwtIGdldCBzaXplIG9mIHJldHJpZXZlZCBoZWFkZXJzCmRpZmYgLS1naXQgYS9kb2NzL2xpYmN1cmwvb3B0cy9DVVJMSU5GT19IVFRQQVVUSF9BVkFJTC4zIGIvZG9jcy9saWJjdXJsL29wdHMvQ1VSTElORk9fSFRUUEFVVEhfQVZBSUwuMwppbmRleCAyMmZkNTE1Li44YmIyNWFmIDEwMDY0NAotLS0gYS9kb2NzL2xpYmN1cmwvb3B0cy9DVVJMSU5GT19IVFRQQVVUSF9BVkFJTC4zCisrKyBiL2RvY3MvbGliY3VybC9vcHRzL0NVUkxJTkZPX0hUVFBBVVRIX0FWQUlMLjMKQEAgLTIwLDcgKzIwLDcgQEAKIC5cIiAqCiAuXCIgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKIC5cIgotLlRIIENVUkxJTkZPX0hUVFBBVVRIX0FWQUlMIDMgIk9jdG9iZXIgMDcsIDIwMTciICJsaWJjdXJsIDcuNzAuMCIgImN1cmxfZWFzeV9nZXRpbmZvIG9wdGlvbnMiCisuVEggQ1VSTElORk9fSFRUUEFVVEhfQVZBSUwgMyAiT2N0b2JlciAwNywgMjAxNyIgImxpYmN1cmwgNy43MS4xIiAiY3VybF9lYXN5X2dldGluZm8gb3B0aW9ucyIKIAogLlNIIE5BTUUKIENVUkxJTkZPX0hUVFBBVVRIX0FWQUlMIFwtIGdldCBhdmFpbGFibGUgSFRUUCBhdXRoZW50aWNhdGlvbiBtZXRob2RzCmRpZmYgLS1naXQgYS9kb2NzL2xpYmN1cmwvb3B0cy9DVVJMSU5GT19IVFRQX0NPTk5FQ1RDT0RFLjMgYi9kb2NzL2xpYmN1cmwvb3B0cy9DVVJMSU5GT19IVFRQX0NPTk5FQ1RDT0RFLjMKaW5kZXggMDljZDFlMi4uYzZmZDgzZSAxMDA2NDQKLS0tIGEvZG9jcy9saWJjdXJsL29wdHMvQ1VSTElORk9fSFRUUF9DT05ORUNUQ09ERS4zCisrKyBiL2RvY3MvbGliY3VybC9vcHRzL0NVUkxJTkZPX0hUVFBfQ09OTkVDVENPREUuMwpAQCAtMjAsNyArMjAsNyBAQAogLlwiICoKIC5cIiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogLlwiCi0uVEggQ1VSTElORk9fSFRUUF9DT05ORUNUQ09ERSAzICJNYXkgMDYsIDIwMTciICJsaWJjdXJsIDcuNzAuMCIgImN1cmxfZWFzeV9nZXRpbmZvIG9wdGlvbnMiCisuVEggQ1VSTElORk9fSFRUUF9DT05ORUNUQ09ERSAzICJNYXkgMDYsIDIwMTciICJsaWJjdXJsIDcuNzEuMSIgImN1cmxfZWFzeV9nZXRpbmZvIG9wdGlvbnMiCiAKIC5TSCBOQU1FCiBDVVJMSU5GT19IVFRQX0NPTk5FQ1RDT0RFIFwtIGdldCB0aGUgQ09OTkVDVCByZXNwb25zZSBjb2RlCmRpZmYgLS1naXQgYS9kb2NzL2xpYmN1cmwvb3B0cy9DVVJMSU5GT19IVFRQX1ZFUlNJT04uMyBiL2RvY3MvbGliY3VybC9vcHRzL0NVUkxJTkZPX0hUVFBfVkVSU0lPTi4zCmluZGV4IGZhNjFkOGMuLmNmMDY2MzEgMTAwNjQ0Ci0tLSBhL2RvY3MvbGliY3VybC9vcHRzL0NVUkxJTkZPX0hUVFBfVkVSU0lPTi4zCisrKyBiL2RvY3MvbGliY3VybC9vcHRzL0NVUkxJTkZPX0hUVFBfVkVSU0lPTi4zCkBAIC0yMCw3ICsyMCw3IEBACiAuXCIgKgogLlwiICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiAuXCIKLS5USCBDVVJMSU5GT19IVFRQX1ZFUlNJT04gMyAiQXVndXN0IDA3LCAyMDE5IiAibGliY3VybCA3LjcwLjAiICJjdXJsX2Vhc3lfZ2V0aW5mbyBvcHRpb25zIgorLlRIIENVUkxJTkZPX0hUVFBfVkVSU0lPTiAzICJBdWd1c3QgMDcsIDIwMTkiICJsaWJjdXJsIDcuNzEuMSIgImN1cmxfZWFzeV9nZXRpbmZvIG9wdGlvbnMiCiAKIC5TSCBOQU1FCiBDVVJMSU5GT19IVFRQX1ZFUlNJT04gXC0gZ2V0IHRoZSBodHRwIHZlcnNpb24gdXNlZCBpbiB0aGUgY29ubmVjdGlvbgpkaWZmIC0tZ2l0IGEvZG9jcy9saWJjdXJsL29wdHMvQ1VSTElORk9fTEFTVFNPQ0tFVC4zIGIvZG9jcy9saWJjdXJsL29wdHMvQ1VSTElORk9fTEFTVFNPQ0tFVC4zCmluZGV4IDFmMjRhOGQuLmVhYzhhYzIgMTAwNjQ0Ci0tLSBhL2RvY3MvbGliY3VybC9vcHRzL0NVUkxJTkZPX0xBU1RTT0NLRVQuMworKysgYi9kb2NzL2xpYmN1cmwvb3B0cy9DVVJMSU5GT19MQVNUU09DS0VULjMKQEAgLTIwLDcgKzIwLDcgQEAKIC5cIiAqCiAuXCIgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKIC5cIgotLlRIIENVUkxJTkZPX0xBU1RTT0NLRVQgMyAiTWF5IDA2LCAyMDE3IiAibGliY3VybCA3LjcwLjAiICJjdXJsX2Vhc3lfZ2V0aW5mbyBvcHRpb25zIgorLlRIIENVUkxJTkZPX0xBU1RTT0NLRVQgMyAiTWF5IDA2LCAyMDE3IiAibGliY3VybCA3LjcxLjEiICJjdXJsX2Vhc3lfZ2V0aW5mbyBvcHRpb25zIgogCiAuU0ggTkFNRQogQ1VSTElORk9fTEFTVFNPQ0tFVCBcLSBnZXQgdGhlIGxhc3Qgc29ja2V0IHVzZWQKZGlmZiAtLWdpdCBhL2RvY3MvbGliY3VybC9vcHRzL0NVUkxJTkZPX0xPQ0FMX0lQLjMgYi9kb2NzL2xpYmN1cmwvb3B0cy9DVVJMSU5GT19MT0NBTF9JUC4zCmluZGV4IGM0YmVmODAuLjc5MzdjNjEgMTAwNjQ0Ci0tLSBhL2RvY3MvbGliY3VybC9vcHRzL0NVUkxJTkZPX0xPQ0FMX0lQLjMKKysrIGIvZG9jcy9saWJjdXJsL29wdHMvQ1VSTElORk9fTE9DQUxfSVAuMwpAQCAtMjAsNyArMjAsNyBAQAogLlwiICoKIC5cIiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogLlwiCi0uVEggQ1VSTElORk9fTE9DQUxfSVAgMyAiTWF5IDA1LCAyMDE3IiAibGliY3VybCA3LjcwLjAiICJjdXJsX2Vhc3lfZ2V0aW5mbyBvcHRpb25zIgorLlRIIENVUkxJTkZPX0xPQ0FMX0lQIDMgIkp1bmUgMjUsIDIwMjAiICJsaWJjdXJsIDcuNzEuMSIgImN1cmxfZWFzeV9nZXRpbmZvIG9wdGlvbnMiCiAKIC5TSCBOQU1FCiBDVVJMSU5GT19MT0NBTF9JUCBcLSBnZXQgbG9jYWwgSVAgYWRkcmVzcyBvZiBsYXN0IGNvbm5lY3Rpb24KQEAgLTI5LDcgKzI5LDcgQEAKIAogQ1VSTGNvZGUgY3VybF9lYXN5X2dldGluZm8oQ1VSTCAqaGFuZGxlLCBDVVJMSU5GT19MT0NBTF9JUCwgY2hhciAqKmlwKTsKIC5TSCBERVNDUklQVElPTgotUGFzcyBhIHBvaW50ZXIgdG8gYSBjaGFyIHBvaW50ZXIgdG8gcmVjZWl2ZSB0aGUgcG9pbnRlciB0byBhIHplcm8tdGVybWluYXRlZAorUGFzcyBhIHBvaW50ZXIgdG8gYSBjaGFyIHBvaW50ZXIgdG8gcmVjZWl2ZSB0aGUgcG9pbnRlciB0byBhIG51bGwtdGVybWluYXRlZAogc3RyaW5nIGhvbGRpbmcgdGhlIElQIGFkZHJlc3Mgb2YgdGhlIGxvY2FsIGVuZCBvZiBtb3N0IHJlY2VudCBjb25uZWN0aW9uIGRvbmUKIHdpdGggdGhpcyBcZkJjdXJsXGZQIGhhbmRsZS4gVGhpcyBzdHJpbmcgbWF5IGJlIElQdjYgd2hlbiB0aGF0IGlzCiBlbmFibGVkLiBOb3RlIHRoYXQgeW91IGdldCBhIHBvaW50ZXIgdG8gYSBtZW1vcnkgYXJlYSB0aGF0IHdpbGwgYmUgcmUtdXNlZCBhdApkaWZmIC0tZ2l0IGEvZG9jcy9saWJjdXJsL29wdHMvQ1VSTElORk9fTE9DQUxfUE9SVC4zIGIvZG9jcy9saWJjdXJsL29wdHMvQ1VSTElORk9fTE9DQUxfUE9SVC4zCmluZGV4IDYyOGJhODAuLjVhYTczYzIgMTAwNjQ0Ci0tLSBhL2RvY3MvbGliY3VybC9vcHRzL0NVUkxJTkZPX0xPQ0FMX1BPUlQuMworKysgYi9kb2NzL2xpYmN1cmwvb3B0cy9DVVJMSU5GT19MT0NBTF9QT1JULjMKQEAgLTIwLDcgKzIwLDcgQEAKIC5cIiAqCiAuXCIgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKIC5cIgotLlRIIENVUkxJTkZPX0xPQ0FMX1BPUlQgMyAiTWFyY2ggMTYsIDIwMTciICJsaWJjdXJsIDcuNzAuMCIgImN1cmxfZWFzeV9nZXRpbmZvIG9wdGlvbnMiCisuVEggQ1VSTElORk9fTE9DQUxfUE9SVCAzICJNYXJjaCAxNiwgMjAxNyIgImxpYmN1cmwgNy43MS4xIiAiY3VybF9lYXN5X2dldGluZm8gb3B0aW9ucyIKIAogLlNIIE5BTUUKIENVUkxJTkZPX0xPQ0FMX1BPUlQgXC0gZ2V0IHRoZSBsYXRlc3QgbG9jYWwgcG9ydCBudW1iZXIKZGlmZiAtLWdpdCBhL2RvY3MvbGliY3VybC9vcHRzL0NVUkxJTkZPX05BTUVMT09LVVBfVElNRS4zIGIvZG9jcy9saWJjdXJsL29wdHMvQ1VSTElORk9fTkFNRUxPT0tVUF9USU1FLjMKaW5kZXggMzk1MzhiMi4uMTY2MmY3ZCAxMDA2NDQKLS0tIGEvZG9jcy9saWJjdXJsL29wdHMvQ1VSTElORk9fTkFNRUxPT0tVUF9USU1FLjMKKysrIGIvZG9jcy9saWJjdXJsL29wdHMvQ1VSTElORk9fTkFNRUxPT0tVUF9USU1FLjMKQEAgLTIwLDcgKzIwLDcgQEAKIC5cIiAqCiAuXCIgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKIC5cIgotLlRIIENVUkxJTkZPX05BTUVMT09LVVBfVElNRSAzICJBdWd1c3QgMjYsIDIwMTkiICJsaWJjdXJsIDcuNzAuMCIgImN1cmxfZWFzeV9nZXRpbmZvIG9wdGlvbnMiCisuVEggQ1VSTElORk9fTkFNRUxPT0tVUF9USU1FIDMgIkF1Z3VzdCAyNiwgMjAxOSIgImxpYmN1cmwgNy43MS4xIiAiY3VybF9lYXN5X2dldGluZm8gb3B0aW9ucyIKIAogLlNIIE5BTUUKIENVUkxJTkZPX05BTUVMT09LVVBfVElNRSBcLSBnZXQgdGhlIG5hbWUgbG9va3VwIHRpbWUKZGlmZiAtLWdpdCBhL2RvY3MvbGliY3VybC9vcHRzL0NVUkxJTkZPX05BTUVMT09LVVBfVElNRV9ULjMgYi9kb2NzL2xpYmN1cmwvb3B0cy9DVVJMSU5GT19OQU1FTE9PS1VQX1RJTUVfVC4zCmluZGV4IGM0ZjQxMzQuLjgyNTRlMjggMTAwNjQ0Ci0tLSBhL2RvY3MvbGliY3VybC9vcHRzL0NVUkxJTkZPX05BTUVMT09LVVBfVElNRV9ULjMKKysrIGIvZG9jcy9saWJjdXJsL29wdHMvQ1VSTElORk9fTkFNRUxPT0tVUF9USU1FX1QuMwpAQCAtMjAsNyArMjAsNyBAQAogLlwiICoKIC5cIiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogLlwiCi0uVEggQ1VSTElORk9fTkFNRUxPT0tVUF9USU1FX1QgMyAiQXVndXN0IDI2LCAyMDE5IiAibGliY3VybCA3LjcwLjAiICJjdXJsX2Vhc3lfZ2V0aW5mbyBvcHRpb25zIgorLlRIIENVUkxJTkZPX05BTUVMT09LVVBfVElNRV9UIDMgIkF1Z3VzdCAyNiwgMjAxOSIgImxpYmN1cmwgNy43MS4xIiAiY3VybF9lYXN5X2dldGluZm8gb3B0aW9ucyIKIAogLlNIIE5BTUUKIENVUkxJTkZPX05BTUVMT09LVVBfVElNRV9UIFwtIGdldCB0aGUgbmFtZSBsb29rdXAgdGltZSBpbiBtaWNyb3NlY29uZHMKZGlmZiAtLWdpdCBhL2RvY3MvbGliY3VybC9vcHRzL0NVUkxJTkZPX05VTV9DT05ORUNUUy4zIGIvZG9jcy9saWJjdXJsL29wdHMvQ1VSTElORk9fTlVNX0NPTk5FQ1RTLjMKaW5kZXggZGM2ZTM2Mi4uMWQzYzY0ZCAxMDA2NDQKLS0tIGEvZG9jcy9saWJjdXJsL29wdHMvQ1VSTElORk9fTlVNX0NPTk5FQ1RTLjMKKysrIGIvZG9jcy9saWJjdXJsL29wdHMvQ1VSTElORk9fTlVNX0NPTk5FQ1RTLjMKQEAgLTIwLDcgKzIwLDcgQEAKIC5cIiAqCiAuXCIgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKIC5cIgotLlRIIENVUkxJTkZPX05VTV9DT05ORUNUUyAzICJNYXkgMDYsIDIwMTciICJsaWJjdXJsIDcuNzAuMCIgImN1cmxfZWFzeV9nZXRpbmZvIG9wdGlvbnMiCisuVEggQ1VSTElORk9fTlVNX0NPTk5FQ1RTIDMgIk1heSAwNiwgMjAxNyIgImxpYmN1cmwgNy43MS4xIiAiY3VybF9lYXN5X2dldGluZm8gb3B0aW9ucyIKIAogLlNIIE5BTUUKIENVUkxJTkZPX05VTV9DT05ORUNUUyBcLSBnZXQgbnVtYmVyIG9mIGNyZWF0ZWQgY29ubmVjdGlvbnMKZGlmZiAtLWdpdCBhL2RvY3MvbGliY3VybC9vcHRzL0NVUkxJTkZPX09TX0VSUk5PLjMgYi9kb2NzL2xpYmN1cmwvb3B0cy9DVVJMSU5GT19PU19FUlJOTy4zCmluZGV4IGY4ZTVmMDguLjRjMGY5M2UgMTAwNjQ0Ci0tLSBhL2RvY3MvbGliY3VybC9vcHRzL0NVUkxJTkZPX09TX0VSUk5PLjMKKysrIGIvZG9jcy9saWJjdXJsL29wdHMvQ1VSTElORk9fT1NfRVJSTk8uMwpAQCAtMjAsNyArMjAsNyBAQAogLlwiICoKIC5cIiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogLlwiCi0uVEggQ1VSTElORk9fT1NfRVJSTk8gMyAiTWFyY2ggMjMsIDIwMjAiICJsaWJjdXJsIDcuNzAuMCIgImN1cmxfZWFzeV9nZXRpbmZvIG9wdGlvbnMiCisuVEggQ1VSTElORk9fT1NfRVJSTk8gMyAiTWFyY2ggMjMsIDIwMjAiICJsaWJjdXJsIDcuNzEuMSIgImN1cmxfZWFzeV9nZXRpbmZvIG9wdGlvbnMiCiAKIC5TSCBOQU1FCiBDVVJMSU5GT19PU19FUlJOTyBcLSBnZXQgZXJybm8gbnVtYmVyIGZyb20gbGFzdCBjb25uZWN0IGZhaWx1cmUKZGlmZiAtLWdpdCBhL2RvY3MvbGliY3VybC9vcHRzL0NVUkxJTkZPX1BSRVRSQU5TRkVSX1RJTUUuMyBiL2RvY3MvbGliY3VybC9vcHRzL0NVUkxJTkZPX1BSRVRSQU5TRkVSX1RJTUUuMwppbmRleCBlYmE1NTUwLi4yMTMyOWM5IDEwMDY0NAotLS0gYS9kb2NzL2xpYmN1cmwvb3B0cy9DVVJMSU5GT19QUkVUUkFOU0ZFUl9USU1FLjMKKysrIGIvZG9jcy9saWJjdXJsL29wdHMvQ1VSTElORk9fUFJFVFJBTlNGRVJfVElNRS4zCkBAIC0yMCw3ICsyMCw3IEBACiAuXCIgKgogLlwiICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiAuXCIKLS5USCBDVVJMSU5GT19QUkVUUkFOU0ZFUl9USU1FIDMgIkF1Z3VzdCAyNiwgMjAxOSIgImxpYmN1cmwgNy43MC4wIiAiY3VybF9lYXN5X2dldGluZm8gb3B0aW9ucyIKKy5USCBDVVJMSU5GT19QUkVUUkFOU0ZFUl9USU1FIDMgIkF1Z3VzdCAyNiwgMjAxOSIgImxpYmN1cmwgNy43MS4xIiAiY3VybF9lYXN5X2dldGluZm8gb3B0aW9ucyIKIAogLlNIIE5BTUUKIENVUkxJTkZPX1BSRVRSQU5TRkVSX1RJTUUgXC0gZ2V0IHRoZSB0aW1lIHVudGlsIHRoZSBmaWxlIHRyYW5zZmVyIHN0YXJ0CmRpZmYgLS1naXQgYS9kb2NzL2xpYmN1cmwvb3B0cy9DVVJMSU5GT19QUkVUUkFOU0ZFUl9USU1FX1QuMyBiL2RvY3MvbGliY3VybC9vcHRzL0NVUkxJTkZPX1BSRVRSQU5TRkVSX1RJTUVfVC4zCmluZGV4IGQxNjhmNzcuLmJiY2E1NTkgMTAwNjQ0Ci0tLSBhL2RvY3MvbGliY3VybC9vcHRzL0NVUkxJTkZPX1BSRVRSQU5TRkVSX1RJTUVfVC4zCisrKyBiL2RvY3MvbGliY3VybC9vcHRzL0NVUkxJTkZPX1BSRVRSQU5TRkVSX1RJTUVfVC4zCkBAIC0yMCw3ICsyMCw3IEBACiAuXCIgKgogLlwiICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiAuXCIKLS5USCBDVVJMSU5GT19QUkVUUkFOU0ZFUl9USU1FX1QgMyAiQXVndXN0IDI2LCAyMDE5IiAibGliY3VybCA3LjcwLjAiICJjdXJsX2Vhc3lfZ2V0aW5mbyBvcHRpb25zIgorLlRIIENVUkxJTkZPX1BSRVRSQU5TRkVSX1RJTUVfVCAzICJBdWd1c3QgMjYsIDIwMTkiICJsaWJjdXJsIDcuNzEuMSIgImN1cmxfZWFzeV9nZXRpbmZvIG9wdGlvbnMiCiAKIC5TSCBOQU1FCiBDVVJMSU5GT19QUkVUUkFOU0ZFUl9USU1FX1QgXC0gZ2V0IHRoZSB0aW1lIHVudGlsIHRoZSBmaWxlIHRyYW5zZmVyIHN0YXJ0CmRpZmYgLS1naXQgYS9kb2NzL2xpYmN1cmwvb3B0cy9DVVJMSU5GT19QUklNQVJZX0lQLjMgYi9kb2NzL2xpYmN1cmwvb3B0cy9DVVJMSU5GT19QUklNQVJZX0lQLjMKaW5kZXggMzRkZDg5Ni4uNzc4ODM1NSAxMDA2NDQKLS0tIGEvZG9jcy9saWJjdXJsL29wdHMvQ1VSTElORk9fUFJJTUFSWV9JUC4zCisrKyBiL2RvY3MvbGliY3VybC9vcHRzL0NVUkxJTkZPX1BSSU1BUllfSVAuMwpAQCAtMjAsNyArMjAsNyBAQAogLlwiICoKIC5cIiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogLlwiCi0uVEggQ1VSTElORk9fUFJJTUFSWV9JUCAzICJNYXJjaCAyMiwgMjAxNyIgImxpYmN1cmwgNy43MC4wIiAiY3VybF9lYXN5X2dldGluZm8gb3B0aW9ucyIKKy5USCBDVVJMSU5GT19QUklNQVJZX0lQIDMgIkp1bmUgMjUsIDIwMjAiICJsaWJjdXJsIDcuNzEuMSIgImN1cmxfZWFzeV9nZXRpbmZvIG9wdGlvbnMiCiAKIC5TSCBOQU1FCiBDVVJMSU5GT19QUklNQVJZX0lQIFwtIGdldCBJUCBhZGRyZXNzIG9mIGxhc3QgY29ubmVjdGlvbgpAQCAtMjksNyArMjksNyBAQAogCiBDVVJMY29kZSBjdXJsX2Vhc3lfZ2V0aW5mbyhDVVJMICpoYW5kbGUsIENVUkxJTkZPX1BSSU1BUllfSVAsIGNoYXIgKippcCk7CiAuU0ggREVTQ1JJUFRJT04KLVBhc3MgYSBwb2ludGVyIHRvIGEgY2hhciBwb2ludGVyIHRvIHJlY2VpdmUgdGhlIHBvaW50ZXIgdG8gYSB6ZXJvLXRlcm1pbmF0ZWQKK1Bhc3MgYSBwb2ludGVyIHRvIGEgY2hhciBwb2ludGVyIHRvIHJlY2VpdmUgdGhlIHBvaW50ZXIgdG8gYSBudWxsLXRlcm1pbmF0ZWQKIHN0cmluZyBob2xkaW5nIHRoZSBJUCBhZGRyZXNzIG9mIHRoZSBtb3N0IHJlY2VudCBjb25uZWN0aW9uIGRvbmUgd2l0aCB0aGlzCiBcZkJjdXJsXGZQIGhhbmRsZS4gVGhpcyBzdHJpbmcgbWF5IGJlIElQdjYgd2hlbiB0aGF0IGlzIGVuYWJsZWQuIE5vdGUgdGhhdCB5b3UKIGdldCBhIHBvaW50ZXIgdG8gYSBtZW1vcnkgYXJlYSB0aGF0IHdpbGwgYmUgcmUtdXNlZCBhdCBuZXh0IHJlcXVlc3Qgc28geW91CmRpZmYgLS1naXQgYS9kb2NzL2xpYmN1cmwvb3B0cy9DVVJMSU5GT19QUklNQVJZX1BPUlQuMyBiL2RvY3MvbGliY3VybC9vcHRzL0NVUkxJTkZPX1BSSU1BUllfUE9SVC4zCmluZGV4IGQ0MWEzNjEuLjdhYmIyOGMgMTAwNjQ0Ci0tLSBhL2RvY3MvbGliY3VybC9vcHRzL0NVUkxJTkZPX1BSSU1BUllfUE9SVC4zCisrKyBiL2RvY3MvbGliY3VybC9vcHRzL0NVUkxJTkZPX1BSSU1BUllfUE9SVC4zCkBAIC0yMCw3ICsyMCw3IEBACiAuXCIgKgogLlwiICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiAuXCIKLS5USCBDVVJMSU5GT19QUklNQVJZX1BPUlQgMyAiTWF5IDA2LCAyMDE3IiAibGliY3VybCA3LjcwLjAiICJjdXJsX2Vhc3lfZ2V0aW5mbyBvcHRpb25zIgorLlRIIENVUkxJTkZPX1BSSU1BUllfUE9SVCAzICJNYXkgMDYsIDIwMTciICJsaWJjdXJsIDcuNzEuMSIgImN1cmxfZWFzeV9nZXRpbmZvIG9wdGlvbnMiCiAKIC5TSCBOQU1FCiBDVVJMSU5GT19QUklNQVJZX1BPUlQgXC0gZ2V0IHRoZSBsYXRlc3QgZGVzdGluYXRpb24gcG9ydCBudW1iZXIKZGlmZiAtLWdpdCBhL2RvY3MvbGliY3VybC9vcHRzL0NVUkxJTkZPX1BSSVZBVEUuMyBiL2RvY3MvbGliY3VybC9vcHRzL0NVUkxJTkZPX1BSSVZBVEUuMwppbmRleCA3ZTA1OGFiLi4zYWQwZTRkIDEwMDY0NAotLS0gYS9kb2NzL2xpYmN1cmwvb3B0cy9DVVJMSU5GT19QUklWQVRFLjMKKysrIGIvZG9jcy9saWJjdXJsL29wdHMvQ1VSTElORk9fUFJJVkFURS4zCkBAIC0yMCw3ICsyMCw3IEBACiAuXCIgKgogLlwiICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiAuXCIKLS5USCBDVVJMSU5GT19QUklWQVRFIDMgIk1heSAwNSwgMjAxNyIgImxpYmN1cmwgNy43MC4wIiAiY3VybF9lYXN5X2dldGluZm8gb3B0aW9ucyIKKy5USCBDVVJMSU5GT19QUklWQVRFIDMgIk1heSAwNSwgMjAxNyIgImxpYmN1cmwgNy43MS4xIiAiY3VybF9lYXN5X2dldGluZm8gb3B0aW9ucyIKIAogLlNIIE5BTUUKIENVUkxJTkZPX1BSSVZBVEUgXC0gZ2V0IHRoZSBwcml2YXRlIHBvaW50ZXIKZGlmZiAtLWdpdCBhL2RvY3MvbGliY3VybC9vcHRzL0NVUkxJTkZPX1BST1RPQ09MLjMgYi9kb2NzL2xpYmN1cmwvb3B0cy9DVVJMSU5GT19QUk9UT0NPTC4zCmluZGV4IGQzYjg3YjMuLmE1MTE2ZWEgMTAwNjQ0Ci0tLSBhL2RvY3MvbGliY3VybC9vcHRzL0NVUkxJTkZPX1BST1RPQ09MLjMKKysrIGIvZG9jcy9saWJjdXJsL29wdHMvQ1VSTElORk9fUFJPVE9DT0wuMwpAQCAtMjAsNyArMjAsNyBAQAogLlwiICoKIC5cIiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogLlwiCi0uVEggQ1VSTElORk9fUFJPVE9DT0wgMyAiQXByaWwgMTQsIDIwMjAiICJsaWJjdXJsIDcuNzAuMCIgImN1cmxfZWFzeV9nZXRpbmZvIG9wdGlvbnMiCisuVEggQ1VSTElORk9fUFJPVE9DT0wgMyAiQXByaWwgMTQsIDIwMjAiICJsaWJjdXJsIDcuNzEuMSIgImN1cmxfZWFzeV9nZXRpbmZvIG9wdGlvbnMiCiAKIC5TSCBOQU1FCiBDVVJMSU5GT19QUk9UT0NPTCBcLSBnZXQgdGhlIHByb3RvY29sIHVzZWQgaW4gdGhlIGNvbm5lY3Rpb24KZGlmZiAtLWdpdCBhL2RvY3MvbGliY3VybC9vcHRzL0NVUkxJTkZPX1BST1hZQVVUSF9BVkFJTC4zIGIvZG9jcy9saWJjdXJsL29wdHMvQ1VSTElORk9fUFJPWFlBVVRIX0FWQUlMLjMKaW5kZXggMmFhNDk3MC4uOGM3YTc0NyAxMDA2NDQKLS0tIGEvZG9jcy9saWJjdXJsL29wdHMvQ1VSTElORk9fUFJPWFlBVVRIX0FWQUlMLjMKKysrIGIvZG9jcy9saWJjdXJsL29wdHMvQ1VSTElORk9fUFJPWFlBVVRIX0FWQUlMLjMKQEAgLTIwLDcgKzIwLDcgQEAKIC5cIiAqCiAuXCIgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKIC5cIgotLlRIIENVUkxJTkZPX1BST1hZQVVUSF9BVkFJTCAzICJPY3RvYmVyIDA3LCAyMDE3IiAibGliY3VybCA3LjcwLjAiICJjdXJsX2Vhc3lfZ2V0aW5mbyBvcHRpb25zIgorLlRIIENVUkxJTkZPX1BST1hZQVVUSF9BVkFJTCAzICJPY3RvYmVyIDA3LCAyMDE3IiAibGliY3VybCA3LjcxLjEiICJjdXJsX2Vhc3lfZ2V0aW5mbyBvcHRpb25zIgogCiAuU0ggTkFNRQogQ1VSTElORk9fUFJPWFlBVVRIX0FWQUlMIFwtIGdldCBhdmFpbGFibGUgSFRUUCBwcm94eSBhdXRoZW50aWNhdGlvbiBtZXRob2RzCmRpZmYgLS1naXQgYS9kb2NzL2xpYmN1cmwvb3B0cy9DVVJMSU5GT19QUk9YWV9TU0xfVkVSSUZZUkVTVUxULjMgYi9kb2NzL2xpYmN1cmwvb3B0cy9DVVJMSU5GT19QUk9YWV9TU0xfVkVSSUZZUkVTVUxULjMKaW5kZXggNzA0NjI2NC4uOTYwNjJmMSAxMDA2NDQKLS0tIGEvZG9jcy9saWJjdXJsL29wdHMvQ1VSTElORk9fUFJPWFlfU1NMX1ZFUklGWVJFU1VMVC4zCisrKyBiL2RvY3MvbGliY3VybC9vcHRzL0NVUkxJTkZPX1BST1hZX1NTTF9WRVJJRllSRVNVTFQuMwpAQCAtMjAsNyArMjAsNyBAQAogLlwiICoKIC5cIiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogLlwiCi0uVEggQ1VSTElORk9fUFJPWFlfU1NMX1ZFUklGWVJFU1VMVCAzICJNYXkgMzEsIDIwMTciICJsaWJjdXJsIDcuNzAuMCIgImN1cmxfZWFzeV9nZXRpbmZvIG9wdGlvbnMiCisuVEggQ1VSTElORk9fUFJPWFlfU1NMX1ZFUklGWVJFU1VMVCAzICJNYXkgMzEsIDIwMTciICJsaWJjdXJsIDcuNzEuMSIgImN1cmxfZWFzeV9nZXRpbmZvIG9wdGlvbnMiCiAKIC5TSCBOQU1FCiBDVVJMSU5GT19QUk9YWV9TU0xfVkVSSUZZUkVTVUxUIFwtIGdldCB0aGUgcmVzdWx0IG9mIHRoZSBwcm94eSBjZXJ0aWZpY2F0ZSB2ZXJpZmljYXRpb24KZGlmZiAtLWdpdCBhL2RvY3MvbGliY3VybC9vcHRzL0NVUkxJTkZPX1JFRElSRUNUX0NPVU5ULjMgYi9kb2NzL2xpYmN1cmwvb3B0cy9DVVJMSU5GT19SRURJUkVDVF9DT1VOVC4zCmluZGV4IGI3OWRkNTkuLjM3NDMxYmMgMTAwNjQ0Ci0tLSBhL2RvY3MvbGliY3VybC9vcHRzL0NVUkxJTkZPX1JFRElSRUNUX0NPVU5ULjMKKysrIGIvZG9jcy9saWJjdXJsL29wdHMvQ1VSTElORk9fUkVESVJFQ1RfQ09VTlQuMwpAQCAtMjAsNyArMjAsNyBAQAogLlwiICoKIC5cIiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogLlwiCi0uVEggQ1VSTElORk9fUkVESVJFQ1RfQ09VTlQgMyAiTWF5IDA1LCAyMDE3IiAibGliY3VybCA3LjcwLjAiICJjdXJsX2Vhc3lfZ2V0aW5mbyBvcHRpb25zIgorLlRIIENVUkxJTkZPX1JFRElSRUNUX0NPVU5UIDMgIk1heSAwNSwgMjAxNyIgImxpYmN1cmwgNy43MS4xIiAiY3VybF9lYXN5X2dldGluZm8gb3B0aW9ucyIKIAogLlNIIE5BTUUKIENVUkxJTkZPX1JFRElSRUNUX0NPVU5UIFwtIGdldCB0aGUgbnVtYmVyIG9mIHJlZGlyZWN0cwpkaWZmIC0tZ2l0IGEvZG9jcy9saWJjdXJsL29wdHMvQ1VSTElORk9fUkVESVJFQ1RfVElNRS4zIGIvZG9jcy9saWJjdXJsL29wdHMvQ1VSTElORk9fUkVESVJFQ1RfVElNRS4zCmluZGV4IDkwN2ZmODIuLjI3NzNhYjAgMTAwNjQ0Ci0tLSBhL2RvY3MvbGliY3VybC9vcHRzL0NVUkxJTkZPX1JFRElSRUNUX1RJTUUuMworKysgYi9kb2NzL2xpYmN1cmwvb3B0cy9DVVJMSU5GT19SRURJUkVDVF9USU1FLjMKQEAgLTIwLDcgKzIwLDcgQEAKIC5cIiAqCiAuXCIgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKIC5cIgotLlRIIENVUkxJTkZPX1JFRElSRUNUX1RJTUUgMyAiTWFyY2ggMjMsIDIwMjAiICJsaWJjdXJsIDcuNzAuMCIgImN1cmxfZWFzeV9nZXRpbmZvIG9wdGlvbnMiCisuVEggQ1VSTElORk9fUkVESVJFQ1RfVElNRSAzICJNYXJjaCAyMywgMjAyMCIgImxpYmN1cmwgNy43MS4xIiAiY3VybF9lYXN5X2dldGluZm8gb3B0aW9ucyIKIAogLlNIIE5BTUUKIENVUkxJTkZPX1JFRElSRUNUX1RJTUUgXC0gZ2V0IHRoZSB0aW1lIGZvciBhbGwgcmVkaXJlY3Rpb24gc3RlcHMKZGlmZiAtLWdpdCBhL2RvY3MvbGliY3VybC9vcHRzL0NVUkxJTkZPX1JFRElSRUNUX1RJTUVfVC4zIGIvZG9jcy9saWJjdXJsL29wdHMvQ1VSTElORk9fUkVESVJFQ1RfVElNRV9ULjMKaW5kZXggMDViYjdhZi4uMDZlODE5OSAxMDA2NDQKLS0tIGEvZG9jcy9saWJjdXJsL29wdHMvQ1VSTElORk9fUkVESVJFQ1RfVElNRV9ULjMKKysrIGIvZG9jcy9saWJjdXJsL29wdHMvQ1VSTElORk9fUkVESVJFQ1RfVElNRV9ULjMKQEAgLTIwLDcgKzIwLDcgQEAKIC5cIiAqCiAuXCIgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKIC5cIgotLlRIIENVUkxJTkZPX1JFRElSRUNUX1RJTUVfVCAzICJNYXkgMTcsIDIwMTgiICJsaWJjdXJsIDcuNzAuMCIgImN1cmxfZWFzeV9nZXRpbmZvIG9wdGlvbnMiCisuVEggQ1VSTElORk9fUkVESVJFQ1RfVElNRV9UIDMgIk1heSAxNywgMjAxOCIgImxpYmN1cmwgNy43MS4xIiAiY3VybF9lYXN5X2dldGluZm8gb3B0aW9ucyIKIAogLlNIIE5BTUUKIENVUkxJTkZPX1JFRElSRUNUX1RJTUVfVCBcLSBnZXQgdGhlIHRpbWUgZm9yIGFsbCByZWRpcmVjdGlvbiBzdGVwcwpkaWZmIC0tZ2l0IGEvZG9jcy9saWJjdXJsL29wdHMvQ1VSTElORk9fUkVESVJFQ1RfVVJMLjMgYi9kb2NzL2xpYmN1cmwvb3B0cy9DVVJMSU5GT19SRURJUkVDVF9VUkwuMwppbmRleCBkMzQyMDgxLi40MmY1ZWE4IDEwMDY0NAotLS0gYS9kb2NzL2xpYmN1cmwvb3B0cy9DVVJMSU5GT19SRURJUkVDVF9VUkwuMworKysgYi9kb2NzL2xpYmN1cmwvb3B0cy9DVVJMSU5GT19SRURJUkVDVF9VUkwuMwpAQCAtMjAsNyArMjAsNyBAQAogLlwiICoKIC5cIiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogLlwiCi0uVEggQ1VSTElORk9fUkVESVJFQ1RfVVJMIDMgIkp1bmUgMjQsIDIwMTciICJsaWJjdXJsIDcuNzAuMCIgImN1cmxfZWFzeV9nZXRpbmZvIG9wdGlvbnMiCisuVEggQ1VSTElORk9fUkVESVJFQ1RfVVJMIDMgIkp1bmUgMjQsIDIwMTciICJsaWJjdXJsIDcuNzEuMSIgImN1cmxfZWFzeV9nZXRpbmZvIG9wdGlvbnMiCiAKIC5TSCBOQU1FCiBDVVJMSU5GT19SRURJUkVDVF9VUkwgXC0gZ2V0IHRoZSBVUkwgYSByZWRpcmVjdCB3b3VsZCBnbyB0bwpkaWZmIC0tZ2l0IGEvZG9jcy9saWJjdXJsL29wdHMvQ1VSTElORk9fUkVRVUVTVF9TSVpFLjMgYi9kb2NzL2xpYmN1cmwvb3B0cy9DVVJMSU5GT19SRVFVRVNUX1NJWkUuMwppbmRleCA2NGRmYzM3Li5mNjY4ODNkIDEwMDY0NAotLS0gYS9kb2NzL2xpYmN1cmwvb3B0cy9DVVJMSU5GT19SRVFVRVNUX1NJWkUuMworKysgYi9kb2NzL2xpYmN1cmwvb3B0cy9DVVJMSU5GT19SRVFVRVNUX1NJWkUuMwpAQCAtMjAsNyArMjAsNyBAQAogLlwiICoKIC5cIiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogLlwiCi0uVEggQ1VSTElORk9fUkVRVUVTVF9TSVpFIDMgIk1heSAwNiwgMjAxNyIgImxpYmN1cmwgNy43MC4wIiAiY3VybF9lYXN5X2dldGluZm8gb3B0aW9ucyIKKy5USCBDVVJMSU5GT19SRVFVRVNUX1NJWkUgMyAiTWF5IDA2LCAyMDE3IiAibGliY3VybCA3LjcxLjEiICJjdXJsX2Vhc3lfZ2V0aW5mbyBvcHRpb25zIgogCiAuU0ggTkFNRQogQ1VSTElORk9fUkVRVUVTVF9TSVpFIFwtIGdldCBzaXplIG9mIHNlbnQgcmVxdWVzdApkaWZmIC0tZ2l0IGEvZG9jcy9saWJjdXJsL29wdHMvQ1VSTElORk9fUkVTUE9OU0VfQ09ERS4zIGIvZG9jcy9saWJjdXJsL29wdHMvQ1VSTElORk9fUkVTUE9OU0VfQ09ERS4zCmluZGV4IGMzMjI3YTYuLjg1OGM0OTcgMTAwNjQ0Ci0tLSBhL2RvY3MvbGliY3VybC9vcHRzL0NVUkxJTkZPX1JFU1BPTlNFX0NPREUuMworKysgYi9kb2NzL2xpYmN1cmwvb3B0cy9DVVJMSU5GT19SRVNQT05TRV9DT0RFLjMKQEAgLTIwLDcgKzIwLDcgQEAKIC5cIiAqCiAuXCIgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKIC5cIgotLlRIIENVUkxJTkZPX1JFU1BPTlNFX0NPREUgMyAiTWFyY2ggMjMsIDIwMjAiICJsaWJjdXJsIDcuNzAuMCIgImN1cmxfZWFzeV9nZXRpbmZvIG9wdGlvbnMiCisuVEggQ1VSTElORk9fUkVTUE9OU0VfQ09ERSAzICJNYXJjaCAyMywgMjAyMCIgImxpYmN1cmwgNy43MS4xIiAiY3VybF9lYXN5X2dldGluZm8gb3B0aW9ucyIKIAogLlNIIE5BTUUKIENVUkxJTkZPX1JFU1BPTlNFX0NPREUgXC0gZ2V0IHRoZSBsYXN0IHJlc3BvbnNlIGNvZGUKZGlmZiAtLWdpdCBhL2RvY3MvbGliY3VybC9vcHRzL0NVUkxJTkZPX1JFVFJZX0FGVEVSLjMgYi9kb2NzL2xpYmN1cmwvb3B0cy9DVVJMSU5GT19SRVRSWV9BRlRFUi4zCmluZGV4IGM0ZjgyNzMuLjE4ZTcxYzEgMTAwNjQ0Ci0tLSBhL2RvY3MvbGliY3VybC9vcHRzL0NVUkxJTkZPX1JFVFJZX0FGVEVSLjMKKysrIGIvZG9jcy9saWJjdXJsL29wdHMvQ1VSTElORk9fUkVUUllfQUZURVIuMwpAQCAtMjAsNyArMjAsNyBAQAogLlwiICoKIC5cIiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogLlwiCi0uVEggQ1VSTElORk9fUkVUUllfQUZURVIgMyAiTWFyY2ggMjMsIDIwMjAiICJsaWJjdXJsIDcuNzAuMCIgImN1cmxfZWFzeV9nZXRpbmZvIG9wdGlvbnMiCisuVEggQ1VSTElORk9fUkVUUllfQUZURVIgMyAiTWFyY2ggMjMsIDIwMjAiICJsaWJjdXJsIDcuNzEuMSIgImN1cmxfZWFzeV9nZXRpbmZvIG9wdGlvbnMiCiAKIC5TSCBOQU1FCiBDVVJMSU5GT19SRVRSWV9BRlRFUiBcLSByZXR1cm5zIHRoZSBSZXRyeS1BZnRlciByZXRyeSBkZWxheQpkaWZmIC0tZ2l0IGEvZG9jcy9saWJjdXJsL29wdHMvQ1VSTElORk9fUlRTUF9DTElFTlRfQ1NFUS4zIGIvZG9jcy9saWJjdXJsL29wdHMvQ1VSTElORk9fUlRTUF9DTElFTlRfQ1NFUS4zCmluZGV4IGJlZTRkZjQuLjczMjcwMGQgMTAwNjQ0Ci0tLSBhL2RvY3MvbGliY3VybC9vcHRzL0NVUkxJTkZPX1JUU1BfQ0xJRU5UX0NTRVEuMworKysgYi9kb2NzL2xpYmN1cmwvb3B0cy9DVVJMSU5GT19SVFNQX0NMSUVOVF9DU0VRLjMKQEAgLTIwLDcgKzIwLDcgQEAKIC5cIiAqCiAuXCIgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKIC5cIgotLlRIIENVUkxJTkZPX1JUU1BfQ0xJRU5UX0NTRVEgMyAiTWF5IDMxLCAyMDE3IiAibGliY3VybCA3LjcwLjAiICJjdXJsX2Vhc3lfZ2V0aW5mbyBvcHRpb25zIgorLlRIIENVUkxJTkZPX1JUU1BfQ0xJRU5UX0NTRVEgMyAiTWF5IDMxLCAyMDE3IiAibGliY3VybCA3LjcxLjEiICJjdXJsX2Vhc3lfZ2V0aW5mbyBvcHRpb25zIgogCiAuU0ggTkFNRQogQ1VSTElORk9fUlRTUF9DTElFTlRfQ1NFUSBcLSBnZXQgdGhlIG5leHQgUlRTUCBjbGllbnQgQ1NlcQpkaWZmIC0tZ2l0IGEvZG9jcy9saWJjdXJsL29wdHMvQ1VSTElORk9fUlRTUF9DU0VRX1JFQ1YuMyBiL2RvY3MvbGliY3VybC9vcHRzL0NVUkxJTkZPX1JUU1BfQ1NFUV9SRUNWLjMKaW5kZXggZmQwZjU2YS4uOWYxMTQzMSAxMDA2NDQKLS0tIGEvZG9jcy9saWJjdXJsL29wdHMvQ1VSTElORk9fUlRTUF9DU0VRX1JFQ1YuMworKysgYi9kb2NzL2xpYmN1cmwvb3B0cy9DVVJMSU5GT19SVFNQX0NTRVFfUkVDVi4zCkBAIC0yMCw3ICsyMCw3IEBACiAuXCIgKgogLlwiICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiAuXCIKLS5USCBDVVJMSU5GT19SVFNQX0NTRVFfUkVDViAzICJNYXkgMzEsIDIwMTciICJsaWJjdXJsIDcuNzAuMCIgImN1cmxfZWFzeV9nZXRpbmZvIG9wdGlvbnMiCisuVEggQ1VSTElORk9fUlRTUF9DU0VRX1JFQ1YgMyAiTWF5IDMxLCAyMDE3IiAibGliY3VybCA3LjcxLjEiICJjdXJsX2Vhc3lfZ2V0aW5mbyBvcHRpb25zIgogCiAuU0ggTkFNRQogQ1VSTElORk9fUlRTUF9DU0VRX1JFQ1YgXC0gZ2V0IHRoZSByZWNlbnRseSByZWNlaXZlZCBDU2VxCmRpZmYgLS1naXQgYS9kb2NzL2xpYmN1cmwvb3B0cy9DVVJMSU5GT19SVFNQX1NFUlZFUl9DU0VRLjMgYi9kb2NzL2xpYmN1cmwvb3B0cy9DVVJMSU5GT19SVFNQX1NFUlZFUl9DU0VRLjMKaW5kZXggMTY2OGZhMy4uNDUxNDU3MSAxMDA2NDQKLS0tIGEvZG9jcy9saWJjdXJsL29wdHMvQ1VSTElORk9fUlRTUF9TRVJWRVJfQ1NFUS4zCisrKyBiL2RvY3MvbGliY3VybC9vcHRzL0NVUkxJTkZPX1JUU1BfU0VSVkVSX0NTRVEuMwpAQCAtMjAsNyArMjAsNyBAQAogLlwiICoKIC5cIiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogLlwiCi0uVEggQ1VSTElORk9fUlRTUF9TRVJWRVJfQ1NFUSAzICJNYXkgMzEsIDIwMTciICJsaWJjdXJsIDcuNzAuMCIgImN1cmxfZWFzeV9nZXRpbmZvIG9wdGlvbnMiCisuVEggQ1VSTElORk9fUlRTUF9TRVJWRVJfQ1NFUSAzICJNYXkgMzEsIDIwMTciICJsaWJjdXJsIDcuNzEuMSIgImN1cmxfZWFzeV9nZXRpbmZvIG9wdGlvbnMiCiAKIC5TSCBOQU1FCiBDVVJMSU5GT19SVFNQX1NFUlZFUl9DU0VRIFwtIGdldCB0aGUgbmV4dCBSVFNQIHNlcnZlciBDU2VxCmRpZmYgLS1naXQgYS9kb2NzL2xpYmN1cmwvb3B0cy9DVVJMSU5GT19SVFNQX1NFU1NJT05fSUQuMyBiL2RvY3MvbGliY3VybC9vcHRzL0NVUkxJTkZPX1JUU1BfU0VTU0lPTl9JRC4zCmluZGV4IDAwNDgyZDYuLmRjNzgwZTMgMTAwNjQ0Ci0tLSBhL2RvY3MvbGliY3VybC9vcHRzL0NVUkxJTkZPX1JUU1BfU0VTU0lPTl9JRC4zCisrKyBiL2RvY3MvbGliY3VybC9vcHRzL0NVUkxJTkZPX1JUU1BfU0VTU0lPTl9JRC4zCkBAIC0yMCw3ICsyMCw3IEBACiAuXCIgKgogLlwiICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiAuXCIKLS5USCBDVVJMSU5GT19SVFNQX1NFU1NJT05fSUQgMyAiTWF5IDMxLCAyMDE3IiAibGliY3VybCA3LjcwLjAiICJjdXJsX2Vhc3lfZ2V0aW5mbyBvcHRpb25zIgorLlRIIENVUkxJTkZPX1JUU1BfU0VTU0lPTl9JRCAzICJNYXkgMzEsIDIwMTciICJsaWJjdXJsIDcuNzEuMSIgImN1cmxfZWFzeV9nZXRpbmZvIG9wdGlvbnMiCiAKIC5TSCBOQU1FCiBDVVJMSU5GT19SVFNQX1NFU1NJT05fSUQgXC0gZ2V0IFJUU1Agc2Vzc2lvbiBJRApkaWZmIC0tZ2l0IGEvZG9jcy9saWJjdXJsL29wdHMvQ1VSTElORk9fU0NIRU1FLjMgYi9kb2NzL2xpYmN1cmwvb3B0cy9DVVJMSU5GT19TQ0hFTUUuMwppbmRleCBhZDZkMDgwLi43YmQwNTA3IDEwMDY0NAotLS0gYS9kb2NzL2xpYmN1cmwvb3B0cy9DVVJMSU5GT19TQ0hFTUUuMworKysgYi9kb2NzL2xpYmN1cmwvb3B0cy9DVVJMSU5GT19TQ0hFTUUuMwpAQCAtMjAsNyArMjAsNyBAQAogLlwiICoKIC5cIiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogLlwiCi0uVEggQ1VSTElORk9fU0NIRU1FIDMgIk1hcmNoIDIzLCAyMDIwIiAibGliY3VybCA3LjcwLjAiICJjdXJsX2Vhc3lfZ2V0aW5mbyBvcHRpb25zIgorLlRIIENVUkxJTkZPX1NDSEVNRSAzICJKdW5lIDI1LCAyMDIwIiAibGliY3VybCA3LjcxLjEiICJjdXJsX2Vhc3lfZ2V0aW5mbyBvcHRpb25zIgogCiAuU0ggTkFNRQogQ1VSTElORk9fU0NIRU1FIFwtIGdldCB0aGUgVVJMIHNjaGVtZSAoc29tZXRpbWVzIGNhbGxlZCBwcm90b2NvbCkgdXNlZCBpbiB0aGUgY29ubmVjdGlvbgpAQCAtMjksNyArMjksNyBAQAogCiBDVVJMY29kZSBjdXJsX2Vhc3lfZ2V0aW5mbyhDVVJMICpoYW5kbGUsIENVUkxJTkZPX1NDSEVNRSwgY2hhciAqKnNjaGVtZSk7CiAuU0ggREVTQ1JJUFRJT04KLVBhc3MgYSBwb2ludGVyIHRvIGEgY2hhciBwb2ludGVyIHRvIHJlY2VpdmUgdGhlIHBvaW50ZXIgdG8gYSB6ZXJvLXRlcm1pbmF0ZWQKK1Bhc3MgYSBwb2ludGVyIHRvIGEgY2hhciBwb2ludGVyIHRvIHJlY2VpdmUgdGhlIHBvaW50ZXIgdG8gYSBudWxsLXRlcm1pbmF0ZWQKIHN0cmluZyBob2xkaW5nIHRoZSBVUkwgc2NoZW1lIHVzZWQgZm9yIHRoZSBtb3N0IHJlY2VudCBjb25uZWN0aW9uIGRvbmUgd2l0aAogdGhpcyBDVVJMIFxmQmhhbmRsZVxmUC4KIApkaWZmIC0tZ2l0IGEvZG9jcy9saWJjdXJsL29wdHMvQ1VSTElORk9fU0laRV9ET1dOTE9BRC4zIGIvZG9jcy9saWJjdXJsL29wdHMvQ1VSTElORk9fU0laRV9ET1dOTE9BRC4zCmluZGV4IDZlNzViYWIuLmNjMDE2NTEgMTAwNjQ0Ci0tLSBhL2RvY3MvbGliY3VybC9vcHRzL0NVUkxJTkZPX1NJWkVfRE9XTkxPQUQuMworKysgYi9kb2NzL2xpYmN1cmwvb3B0cy9DVVJMSU5GT19TSVpFX0RPV05MT0FELjMKQEAgLTIwLDcgKzIwLDcgQEAKIC5cIiAqCiAuXCIgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKIC5cIgotLlRIIENVUkxJTkZPX1NJWkVfRE9XTkxPQUQgMyAiSnVuZSAxNSwgMjAxNyIgImxpYmN1cmwgNy43MC4wIiAiY3VybF9lYXN5X2dldGluZm8gb3B0aW9ucyIKKy5USCBDVVJMSU5GT19TSVpFX0RPV05MT0FEIDMgIkp1bmUgMTUsIDIwMTciICJsaWJjdXJsIDcuNzEuMSIgImN1cmxfZWFzeV9nZXRpbmZvIG9wdGlvbnMiCiAKIC5TSCBOQU1FCiBDVVJMSU5GT19TSVpFX0RPV05MT0FEIFwtIGdldCB0aGUgbnVtYmVyIG9mIGRvd25sb2FkZWQgYnl0ZXMKZGlmZiAtLWdpdCBhL2RvY3MvbGliY3VybC9vcHRzL0NVUkxJTkZPX1NJWkVfRE9XTkxPQURfVC4zIGIvZG9jcy9saWJjdXJsL29wdHMvQ1VSTElORk9fU0laRV9ET1dOTE9BRF9ULjMKaW5kZXggZWM5NzlmYy4uZTkzY2MyOSAxMDA2NDQKLS0tIGEvZG9jcy9saWJjdXJsL29wdHMvQ1VSTElORk9fU0laRV9ET1dOTE9BRF9ULjMKKysrIGIvZG9jcy9saWJjdXJsL29wdHMvQ1VSTElORk9fU0laRV9ET1dOTE9BRF9ULjMKQEAgLTIwLDcgKzIwLDcgQEAKIC5cIiAqCiAuXCIgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKIC5cIgotLlRIIENVUkxJTkZPX1NJWkVfRE9XTkxPQURfVCAzICJNYXJjaCAyMywgMjAyMCIgImxpYmN1cmwgNy43MC4wIiAiY3VybF9lYXN5X2dldGluZm8gb3B0aW9ucyIKKy5USCBDVVJMSU5GT19TSVpFX0RPV05MT0FEX1QgMyAiTWFyY2ggMjMsIDIwMjAiICJsaWJjdXJsIDcuNzEuMSIgImN1cmxfZWFzeV9nZXRpbmZvIG9wdGlvbnMiCiAKIC5TSCBOQU1FCiBDVVJMSU5GT19TSVpFX0RPV05MT0FEX1QgXC0gZ2V0IHRoZSBudW1iZXIgb2YgZG93bmxvYWRlZCBieXRlcwpkaWZmIC0tZ2l0IGEvZG9jcy9saWJjdXJsL29wdHMvQ1VSTElORk9fU0laRV9VUExPQUQuMyBiL2RvY3MvbGliY3VybC9vcHRzL0NVUkxJTkZPX1NJWkVfVVBMT0FELjMKaW5kZXggMTQ1YTc3NC4uYjYwOGE1ZCAxMDA2NDQKLS0tIGEvZG9jcy9saWJjdXJsL29wdHMvQ1VSTElORk9fU0laRV9VUExPQUQuMworKysgYi9kb2NzL2xpYmN1cmwvb3B0cy9DVVJMSU5GT19TSVpFX1VQTE9BRC4zCkBAIC0yMCw3ICsyMCw3IEBACiAuXCIgKgogLlwiICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiAuXCIKLS5USCBDVVJMSU5GT19TSVpFX1VQTE9BRCAzICJKdW5lIDE1LCAyMDE3IiAibGliY3VybCA3LjcwLjAiICJjdXJsX2Vhc3lfZ2V0aW5mbyBvcHRpb25zIgorLlRIIENVUkxJTkZPX1NJWkVfVVBMT0FEIDMgIkp1bmUgMTUsIDIwMTciICJsaWJjdXJsIDcuNzEuMSIgImN1cmxfZWFzeV9nZXRpbmZvIG9wdGlvbnMiCiAKIC5TSCBOQU1FCiBDVVJMSU5GT19TSVpFX1VQTE9BRCBcLSBnZXQgdGhlIG51bWJlciBvZiB1cGxvYWRlZCBieXRlcwpkaWZmIC0tZ2l0IGEvZG9jcy9saWJjdXJsL29wdHMvQ1VSTElORk9fU0laRV9VUExPQURfVC4zIGIvZG9jcy9saWJjdXJsL29wdHMvQ1VSTElORk9fU0laRV9VUExPQURfVC4zCmluZGV4IDRkMzliY2MuLmM0MzM1NWMgMTAwNjQ0Ci0tLSBhL2RvY3MvbGliY3VybC9vcHRzL0NVUkxJTkZPX1NJWkVfVVBMT0FEX1QuMworKysgYi9kb2NzL2xpYmN1cmwvb3B0cy9DVVJMSU5GT19TSVpFX1VQTE9BRF9ULjMKQEAgLTIwLDcgKzIwLDcgQEAKIC5cIiAqCiAuXCIgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKIC5cIgotLlRIIENVUkxJTkZPX1NJWkVfVVBMT0FEX1QgMyAiTWFyY2ggMjMsIDIwMjAiICJsaWJjdXJsIDcuNzAuMCIgImN1cmxfZWFzeV9nZXRpbmZvIG9wdGlvbnMiCisuVEggQ1VSTElORk9fU0laRV9VUExPQURfVCAzICJNYXJjaCAyMywgMjAyMCIgImxpYmN1cmwgNy43MS4xIiAiY3VybF9lYXN5X2dldGluZm8gb3B0aW9ucyIKIAogLlNIIE5BTUUKIENVUkxJTkZPX1NJWkVfVVBMT0FEX1QgXC0gZ2V0IHRoZSBudW1iZXIgb2YgdXBsb2FkZWQgYnl0ZXMKZGlmZiAtLWdpdCBhL2RvY3MvbGliY3VybC9vcHRzL0NVUkxJTkZPX1NQRUVEX0RPV05MT0FELjMgYi9kb2NzL2xpYmN1cmwvb3B0cy9DVVJMSU5GT19TUEVFRF9ET1dOTE9BRC4zCmluZGV4IDg2YjM4ZDAuLmIxNTM3ZWEgMTAwNjQ0Ci0tLSBhL2RvY3MvbGliY3VybC9vcHRzL0NVUkxJTkZPX1NQRUVEX0RPV05MT0FELjMKKysrIGIvZG9jcy9saWJjdXJsL29wdHMvQ1VSTElORk9fU1BFRURfRE9XTkxPQUQuMwpAQCAtMjAsNyArMjAsNyBAQAogLlwiICoKIC5cIiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogLlwiCi0uVEggQ1VSTElORk9fU1BFRURfRE9XTkxPQUQgMyAiSnVuZSAxNSwgMjAxNyIgImxpYmN1cmwgNy43MC4wIiAiY3VybF9lYXN5X2dldGluZm8gb3B0aW9ucyIKKy5USCBDVVJMSU5GT19TUEVFRF9ET1dOTE9BRCAzICJKdW5lIDE1LCAyMDE3IiAibGliY3VybCA3LjcxLjEiICJjdXJsX2Vhc3lfZ2V0aW5mbyBvcHRpb25zIgogCiAuU0ggTkFNRQogQ1VSTElORk9fU1BFRURfRE9XTkxPQUQgXC0gZ2V0IGRvd25sb2FkIHNwZWVkCmRpZmYgLS1naXQgYS9kb2NzL2xpYmN1cmwvb3B0cy9DVVJMSU5GT19TUEVFRF9ET1dOTE9BRF9ULjMgYi9kb2NzL2xpYmN1cmwvb3B0cy9DVVJMSU5GT19TUEVFRF9ET1dOTE9BRF9ULjMKaW5kZXggZWZjM2EwZS4uMmZhOWZkMCAxMDA2NDQKLS0tIGEvZG9jcy9saWJjdXJsL29wdHMvQ1VSTElORk9fU1BFRURfRE9XTkxPQURfVC4zCisrKyBiL2RvY3MvbGliY3VybC9vcHRzL0NVUkxJTkZPX1NQRUVEX0RPV05MT0FEX1QuMwpAQCAtMjAsNyArMjAsNyBAQAogLlwiICoKIC5cIiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogLlwiCi0uVEggQ1VSTElORk9fU1BFRURfRE9XTkxPQURfVCAzICJNYXJjaCAyMywgMjAyMCIgImxpYmN1cmwgNy43MC4wIiAiY3VybF9lYXN5X2dldGluZm8gb3B0aW9ucyIKKy5USCBDVVJMSU5GT19TUEVFRF9ET1dOTE9BRF9UIDMgIk1hcmNoIDIzLCAyMDIwIiAibGliY3VybCA3LjcxLjEiICJjdXJsX2Vhc3lfZ2V0aW5mbyBvcHRpb25zIgogCiAuU0ggTkFNRQogQ1VSTElORk9fU1BFRURfRE9XTkxPQURfVCBcLSBnZXQgZG93bmxvYWQgc3BlZWQKZGlmZiAtLWdpdCBhL2RvY3MvbGliY3VybC9vcHRzL0NVUkxJTkZPX1NQRUVEX1VQTE9BRC4zIGIvZG9jcy9saWJjdXJsL29wdHMvQ1VSTElORk9fU1BFRURfVVBMT0FELjMKaW5kZXggOGY4ODI3My4uYmIxMDA5NCAxMDA2NDQKLS0tIGEvZG9jcy9saWJjdXJsL29wdHMvQ1VSTElORk9fU1BFRURfVVBMT0FELjMKKysrIGIvZG9jcy9saWJjdXJsL29wdHMvQ1VSTElORk9fU1BFRURfVVBMT0FELjMKQEAgLTIwLDcgKzIwLDcgQEAKIC5cIiAqCiAuXCIgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKIC5cIgotLlRIIENVUkxJTkZPX1NQRUVEX1VQTE9BRCAzICJKdW5lIDE1LCAyMDE3IiAibGliY3VybCA3LjcwLjAiICJjdXJsX2Vhc3lfZ2V0aW5mbyBvcHRpb25zIgorLlRIIENVUkxJTkZPX1NQRUVEX1VQTE9BRCAzICJKdW5lIDE1LCAyMDE3IiAibGliY3VybCA3LjcxLjEiICJjdXJsX2Vhc3lfZ2V0aW5mbyBvcHRpb25zIgogCiAuU0ggTkFNRQogQ1VSTElORk9fU1BFRURfVVBMT0FEIFwtIGdldCB1cGxvYWQgc3BlZWQKZGlmZiAtLWdpdCBhL2RvY3MvbGliY3VybC9vcHRzL0NVUkxJTkZPX1NQRUVEX1VQTE9BRF9ULjMgYi9kb2NzL2xpYmN1cmwvb3B0cy9DVVJMSU5GT19TUEVFRF9VUExPQURfVC4zCmluZGV4IDEwNTVmOWIuLmM0MWEzOGMgMTAwNjQ0Ci0tLSBhL2RvY3MvbGliY3VybC9vcHRzL0NVUkxJTkZPX1NQRUVEX1VQTE9BRF9ULjMKKysrIGIvZG9jcy9saWJjdXJsL29wdHMvQ1VSTElORk9fU1BFRURfVVBMT0FEX1QuMwpAQCAtMjAsNyArMjAsNyBAQAogLlwiICoKIC5cIiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogLlwiCi0uVEggQ1VSTElORk9fU1BFRURfVVBMT0FEX1QgMyAiTWFyY2ggMjMsIDIwMjAiICJsaWJjdXJsIDcuNzAuMCIgImN1cmxfZWFzeV9nZXRpbmZvIG9wdGlvbnMiCisuVEggQ1VSTElORk9fU1BFRURfVVBMT0FEX1QgMyAiTWFyY2ggMjMsIDIwMjAiICJsaWJjdXJsIDcuNzEuMSIgImN1cmxfZWFzeV9nZXRpbmZvIG9wdGlvbnMiCiAKIC5TSCBOQU1FCiBDVVJMSU5GT19TUEVFRF9VUExPQURfVCBcLSBnZXQgdXBsb2FkIHNwZWVkCmRpZmYgLS1naXQgYS9kb2NzL2xpYmN1cmwvb3B0cy9DVVJMSU5GT19TU0xfRU5HSU5FUy4zIGIvZG9jcy9saWJjdXJsL29wdHMvQ1VSTElORk9fU1NMX0VOR0lORVMuMwppbmRleCBlNWQ1OWE2Li43MTVhYmExIDEwMDY0NAotLS0gYS9kb2NzL2xpYmN1cmwvb3B0cy9DVVJMSU5GT19TU0xfRU5HSU5FUy4zCisrKyBiL2RvY3MvbGliY3VybC9vcHRzL0NVUkxJTkZPX1NTTF9FTkdJTkVTLjMKQEAgLTIwLDcgKzIwLDcgQEAKIC5cIiAqCiAuXCIgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKIC5cIgotLlRIIENVUkxJTkZPX1NTTF9FTkdJTkVTIDMgIk1heSAzMSwgMjAxNyIgImxpYmN1cmwgNy43MC4wIiAiY3VybF9lYXN5X2dldGluZm8gb3B0aW9ucyIKKy5USCBDVVJMSU5GT19TU0xfRU5HSU5FUyAzICJNYXkgMzEsIDIwMTciICJsaWJjdXJsIDcuNzEuMSIgImN1cmxfZWFzeV9nZXRpbmZvIG9wdGlvbnMiCiAKIC5TSCBOQU1FCiBDVVJMSU5GT19TU0xfRU5HSU5FUyBcLSBnZXQgYW4gc2xpc3Qgb2YgT3BlblNTTCBjcnlwdG8tZW5naW5lcwpkaWZmIC0tZ2l0IGEvZG9jcy9saWJjdXJsL29wdHMvQ1VSTElORk9fU1NMX1ZFUklGWVJFU1VMVC4zIGIvZG9jcy9saWJjdXJsL29wdHMvQ1VSTElORk9fU1NMX1ZFUklGWVJFU1VMVC4zCmluZGV4IDY5NjAyYjAuLjczZjk2OTIgMTAwNjQ0Ci0tLSBhL2RvY3MvbGliY3VybC9vcHRzL0NVUkxJTkZPX1NTTF9WRVJJRllSRVNVTFQuMworKysgYi9kb2NzL2xpYmN1cmwvb3B0cy9DVVJMSU5GT19TU0xfVkVSSUZZUkVTVUxULjMKQEAgLTIwLDcgKzIwLDcgQEAKIC5cIiAqCiAuXCIgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKIC5cIgotLlRIIENVUkxJTkZPX1NTTF9WRVJJRllSRVNVTFQgMyAiTWFyY2ggMjEsIDIwMTgiICJsaWJjdXJsIDcuNzAuMCIgImN1cmxfZWFzeV9nZXRpbmZvIG9wdGlvbnMiCisuVEggQ1VSTElORk9fU1NMX1ZFUklGWVJFU1VMVCAzICJNYXkgMDIsIDIwMjAiICJsaWJjdXJsIDcuNzEuMSIgImN1cmxfZWFzeV9nZXRpbmZvIG9wdGlvbnMiCiAKIC5TSCBOQU1FCiBDVVJMSU5GT19TU0xfVkVSSUZZUkVTVUxUIFwtIGdldCB0aGUgcmVzdWx0IG9mIHRoZSBjZXJ0aWZpY2F0ZSB2ZXJpZmljYXRpb24KQEAgLTMxLDcgKzMxLDcgQEAKIC5TSCBERVNDUklQVElPTgogUGFzcyBhIHBvaW50ZXIgdG8gYSBsb25nIHRvIHJlY2VpdmUgdGhlIHJlc3VsdCBvZiB0aGUgc2VydmVyIFNTTCBjZXJ0aWZpY2F0ZQogdmVyaWZpY2F0aW9uIHRoYXQgd2FzIHJlcXVlc3RlZCAodXNpbmcgdGhlIFxmSUNVUkxPUFRfU1NMX1ZFUklGWVBFRVIoMylcZlAKLW9wdGlvbi4KK29wdGlvbikuCiAKIDAgaXMgYSBwb3NpdGl2ZSByZXN1bHQuIE5vbi16ZXJvIGlzIGFuIGVycm9yLgogLlNIIFBST1RPQ09MUwpAQCAtNTEsNyArNTEsNyBAQAogfQogLmZpCiAuU0ggQVZBSUxBQklMSVRZCi1BZGRlZCBpbiA3LjUuIE9ubHkgc2V0IGJ5IHRoZSBPcGVuU1NML2xpYnJlc3NsL2JvcmluZ3NzbCBhbmQgTlNTIGJhY2tlbmRzLgorQWRkZWQgaW4gNy41LiBPbmx5IHNldCBieSB0aGUgT3BlblNTTC9saWJyZXNzbC9ib3Jpbmdzc2wsIE5TUyBhbmQgR251VExTIGJhY2tlbmRzLgogLlNIIFJFVFVSTiBWQUxVRQogUmV0dXJucyBDVVJMRV9PSyBpZiB0aGUgb3B0aW9uIGlzIHN1cHBvcnRlZCwgYW5kIENVUkxFX1VOS05PV05fT1BUSU9OIGlmIG5vdC4KIC5TSCAiU0VFIEFMU08iCmRpZmYgLS1naXQgYS9kb2NzL2xpYmN1cmwvb3B0cy9DVVJMSU5GT19TVEFSVFRSQU5TRkVSX1RJTUUuMyBiL2RvY3MvbGliY3VybC9vcHRzL0NVUkxJTkZPX1NUQVJUVFJBTlNGRVJfVElNRS4zCmluZGV4IDc5NWZmNzEuLmNjZGI2NzcgMTAwNjQ0Ci0tLSBhL2RvY3MvbGliY3VybC9vcHRzL0NVUkxJTkZPX1NUQVJUVFJBTlNGRVJfVElNRS4zCisrKyBiL2RvY3MvbGliY3VybC9vcHRzL0NVUkxJTkZPX1NUQVJUVFJBTlNGRVJfVElNRS4zCkBAIC0yMCw3ICsyMCw3IEBACiAuXCIgKgogLlwiICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiAuXCIKLS5USCBDVVJMSU5GT19TVEFSVFRSQU5TRkVSX1RJTUUgMyAiQXVndXN0IDI2LCAyMDE5IiAibGliY3VybCA3LjcwLjAiICJjdXJsX2Vhc3lfZ2V0aW5mbyBvcHRpb25zIgorLlRIIENVUkxJTkZPX1NUQVJUVFJBTlNGRVJfVElNRSAzICJBdWd1c3QgMjYsIDIwMTkiICJsaWJjdXJsIDcuNzEuMSIgImN1cmxfZWFzeV9nZXRpbmZvIG9wdGlvbnMiCiAKIC5TSCBOQU1FCiBDVVJMSU5GT19TVEFSVFRSQU5TRkVSX1RJTUUgXC0gZ2V0IHRoZSB0aW1lIHVudGlsIHRoZSBmaXJzdCBieXRlIGlzIHJlY2VpdmVkCmRpZmYgLS1naXQgYS9kb2NzL2xpYmN1cmwvb3B0cy9DVVJMSU5GT19TVEFSVFRSQU5TRkVSX1RJTUVfVC4zIGIvZG9jcy9saWJjdXJsL29wdHMvQ1VSTElORk9fU1RBUlRUUkFOU0ZFUl9USU1FX1QuMwppbmRleCAyZjkyOGViLi44YmE1OWFmIDEwMDY0NAotLS0gYS9kb2NzL2xpYmN1cmwvb3B0cy9DVVJMSU5GT19TVEFSVFRSQU5TRkVSX1RJTUVfVC4zCisrKyBiL2RvY3MvbGliY3VybC9vcHRzL0NVUkxJTkZPX1NUQVJUVFJBTlNGRVJfVElNRV9ULjMKQEAgLTIwLDcgKzIwLDcgQEAKIC5cIiAqCiAuXCIgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKIC5cIgotLlRIIENVUkxJTkZPX1NUQVJUVFJBTlNGRVJfVElNRV9UIDMgIkF1Z3VzdCAyNiwgMjAxOSIgImxpYmN1cmwgNy43MC4wIiAiY3VybF9lYXN5X2dldGluZm8gb3B0aW9ucyIKKy5USCBDVVJMSU5GT19TVEFSVFRSQU5TRkVSX1RJTUVfVCAzICJBdWd1c3QgMjYsIDIwMTkiICJsaWJjdXJsIDcuNzEuMSIgImN1cmxfZWFzeV9nZXRpbmZvIG9wdGlvbnMiCiAKIC5TSCBOQU1FCiBDVVJMSU5GT19TVEFSVFRSQU5TRkVSX1RJTUVfVCBcLSBnZXQgdGhlIHRpbWUgdW50aWwgdGhlIGZpcnN0IGJ5dGUgaXMgcmVjZWl2ZWQKZGlmZiAtLWdpdCBhL2RvY3MvbGliY3VybC9vcHRzL0NVUkxJTkZPX1RMU19TRVNTSU9OLjMgYi9kb2NzL2xpYmN1cmwvb3B0cy9DVVJMSU5GT19UTFNfU0VTU0lPTi4zCmluZGV4IDNkMGM2YWIuLjU2NmQ4OTQgMTAwNjQ0Ci0tLSBhL2RvY3MvbGliY3VybC9vcHRzL0NVUkxJTkZPX1RMU19TRVNTSU9OLjMKKysrIGIvZG9jcy9saWJjdXJsL29wdHMvQ1VSTElORk9fVExTX1NFU1NJT04uMwpAQCAtMjAsNyArMjAsNyBAQAogLlwiICoKIC5cIiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogLlwiCi0uVEggQ1VSTElORk9fVExTX1NFU1NJT04gMyAiTWF5IDMxLCAyMDE3IiAibGliY3VybCA3LjcwLjAiICJjdXJsX2Vhc3lfZ2V0aW5mbyBvcHRpb25zIgorLlRIIENVUkxJTkZPX1RMU19TRVNTSU9OIDMgIk1heSAzMSwgMjAxNyIgImxpYmN1cmwgNy43MS4xIiAiY3VybF9lYXN5X2dldGluZm8gb3B0aW9ucyIKIAogLlNIIE5BTUUKIENVUkxJTkZPX1RMU19TRVNTSU9OIFwtIGdldCBUTFMgc2Vzc2lvbiBpbmZvCmRpZmYgLS1naXQgYS9kb2NzL2xpYmN1cmwvb3B0cy9DVVJMSU5GT19UTFNfU1NMX1BUUi4zIGIvZG9jcy9saWJjdXJsL29wdHMvQ1VSTElORk9fVExTX1NTTF9QVFIuMwppbmRleCAwM2VmZmY5Li4zYmZjMDMwIDEwMDY0NAotLS0gYS9kb2NzL2xpYmN1cmwvb3B0cy9DVVJMSU5GT19UTFNfU1NMX1BUUi4zCisrKyBiL2RvY3MvbGliY3VybC9vcHRzL0NVUkxJTkZPX1RMU19TU0xfUFRSLjMKQEAgLTIwLDcgKzIwLDcgQEAKIC5cIiAqCiAuXCIgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKIC5cIgotLlRIIENVUkxJTkZPX1RMU19TU0xfUFRSIDMgIk1hcmNoIDA0LCAyMDIwIiAibGliY3VybCA3LjcwLjAiICJjdXJsX2Vhc3lfZ2V0aW5mbyBvcHRpb25zIgorLlRIIENVUkxJTkZPX1RMU19TU0xfUFRSIDMgIk1hcmNoIDA0LCAyMDIwIiAibGliY3VybCA3LjcxLjEiICJjdXJsX2Vhc3lfZ2V0aW5mbyBvcHRpb25zIgogCiAuU0ggTkFNRQogQ1VSTElORk9fVExTX1NFU1NJT04sIENVUkxJTkZPX1RMU19TU0xfUFRSIFwtIGdldCBUTFMgc2Vzc2lvbiBpbmZvCmRpZmYgLS1naXQgYS9kb2NzL2xpYmN1cmwvb3B0cy9DVVJMSU5GT19UT1RBTF9USU1FLjMgYi9kb2NzL2xpYmN1cmwvb3B0cy9DVVJMSU5GT19UT1RBTF9USU1FLjMKaW5kZXggMTAwN2MzZC4uODBmYzljZCAxMDA2NDQKLS0tIGEvZG9jcy9saWJjdXJsL29wdHMvQ1VSTElORk9fVE9UQUxfVElNRS4zCisrKyBiL2RvY3MvbGliY3VybC9vcHRzL0NVUkxJTkZPX1RPVEFMX1RJTUUuMwpAQCAtMjAsNyArMjAsNyBAQAogLlwiICoKIC5cIiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogLlwiCi0uVEggQ1VSTElORk9fVE9UQUxfVElNRSAzICJBdWd1c3QgMjYsIDIwMTkiICJsaWJjdXJsIDcuNzAuMCIgImN1cmxfZWFzeV9nZXRpbmZvIG9wdGlvbnMiCisuVEggQ1VSTElORk9fVE9UQUxfVElNRSAzICJBdWd1c3QgMjYsIDIwMTkiICJsaWJjdXJsIDcuNzEuMSIgImN1cmxfZWFzeV9nZXRpbmZvIG9wdGlvbnMiCiAKIC5TSCBOQU1FCiBDVVJMSU5GT19UT1RBTF9USU1FIFwtIGdldCB0b3RhbCB0aW1lIG9mIHByZXZpb3VzIHRyYW5zZmVyCmRpZmYgLS1naXQgYS9kb2NzL2xpYmN1cmwvb3B0cy9DVVJMSU5GT19UT1RBTF9USU1FX1QuMyBiL2RvY3MvbGliY3VybC9vcHRzL0NVUkxJTkZPX1RPVEFMX1RJTUVfVC4zCmluZGV4IDc4NDUwOWIuLmE0N2MwNzIgMTAwNjQ0Ci0tLSBhL2RvY3MvbGliY3VybC9vcHRzL0NVUkxJTkZPX1RPVEFMX1RJTUVfVC4zCisrKyBiL2RvY3MvbGliY3VybC9vcHRzL0NVUkxJTkZPX1RPVEFMX1RJTUVfVC4zCkBAIC0yMCw3ICsyMCw3IEBACiAuXCIgKgogLlwiICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiAuXCIKLS5USCBDVVJMSU5GT19UT1RBTF9USU1FX1QgMyAiQXVndXN0IDI2LCAyMDE5IiAibGliY3VybCA3LjcwLjAiICJjdXJsX2Vhc3lfZ2V0aW5mbyBvcHRpb25zIgorLlRIIENVUkxJTkZPX1RPVEFMX1RJTUVfVCAzICJBdWd1c3QgMjYsIDIwMTkiICJsaWJjdXJsIDcuNzEuMSIgImN1cmxfZWFzeV9nZXRpbmZvIG9wdGlvbnMiCiAKIC5TSCBOQU1FCiBDVVJMSU5GT19UT1RBTF9USU1FX1QgXC0gZ2V0IHRvdGFsIHRpbWUgb2YgcHJldmlvdXMgdHJhbnNmZXIgaW4gbWljcm9zZWNvbmRzCmRpZmYgLS1naXQgYS9kb2NzL2xpYmN1cmwvb3B0cy9DVVJMTU9QVF9DSFVOS19MRU5HVEhfUEVOQUxUWV9TSVpFLjMgYi9kb2NzL2xpYmN1cmwvb3B0cy9DVVJMTU9QVF9DSFVOS19MRU5HVEhfUEVOQUxUWV9TSVpFLjMKaW5kZXggMDhkMTE4MS4uN2Q1MDA3NSAxMDA2NDQKLS0tIGEvZG9jcy9saWJjdXJsL29wdHMvQ1VSTE1PUFRfQ0hVTktfTEVOR1RIX1BFTkFMVFlfU0laRS4zCisrKyBiL2RvY3MvbGliY3VybC9vcHRzL0NVUkxNT1BUX0NIVU5LX0xFTkdUSF9QRU5BTFRZX1NJWkUuMwpAQCAtMjAsNyArMjAsNyBAQAogLlwiICoKIC5cIiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogLlwiCi0uVEggQ1VSTE1PUFRfQ0hVTktfTEVOR1RIX1BFTkFMVFlfU0laRSAzICJBcHJpbCAwNSwgMjAxOSIgImxpYmN1cmwgNy43MC4wIiAiY3VybF9tdWx0aV9zZXRvcHQgb3B0aW9ucyIKKy5USCBDVVJMTU9QVF9DSFVOS19MRU5HVEhfUEVOQUxUWV9TSVpFIDMgIkFwcmlsIDA1LCAyMDE5IiAibGliY3VybCA3LjcxLjEiICJjdXJsX211bHRpX3NldG9wdCBvcHRpb25zIgogCiAuU0ggTkFNRQogQ1VSTE1PUFRfQ0hVTktfTEVOR1RIX1BFTkFMVFlfU0laRSBcLSBjaHVuayBsZW5ndGggdGhyZXNob2xkIGZvciBwaXBlbGluaW5nCmRpZmYgLS1naXQgYS9kb2NzL2xpYmN1cmwvb3B0cy9DVVJMTU9QVF9DT05URU5UX0xFTkdUSF9QRU5BTFRZX1NJWkUuMyBiL2RvY3MvbGliY3VybC9vcHRzL0NVUkxNT1BUX0NPTlRFTlRfTEVOR1RIX1BFTkFMVFlfU0laRS4zCmluZGV4IGIwY2FiMmUuLmNhMmQ0Y2UgMTAwNjQ0Ci0tLSBhL2RvY3MvbGliY3VybC9vcHRzL0NVUkxNT1BUX0NPTlRFTlRfTEVOR1RIX1BFTkFMVFlfU0laRS4zCisrKyBiL2RvY3MvbGliY3VybC9vcHRzL0NVUkxNT1BUX0NPTlRFTlRfTEVOR1RIX1BFTkFMVFlfU0laRS4zCkBAIC0yMCw3ICsyMCw3IEBACiAuXCIgKgogLlwiICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiAuXCIKLS5USCBDVVJMTU9QVF9DT05URU5UX0xFTkdUSF9QRU5BTFRZX1NJWkUgMyAiQXByaWwgMDUsIDIwMTkiICJsaWJjdXJsIDcuNzAuMCIgImN1cmxfbXVsdGlfc2V0b3B0IG9wdGlvbnMiCisuVEggQ1VSTE1PUFRfQ09OVEVOVF9MRU5HVEhfUEVOQUxUWV9TSVpFIDMgIkFwcmlsIDA1LCAyMDE5IiAibGliY3VybCA3LjcxLjEiICJjdXJsX211bHRpX3NldG9wdCBvcHRpb25zIgogCiAuU0ggTkFNRQogQ1VSTE1PUFRfQ09OVEVOVF9MRU5HVEhfUEVOQUxUWV9TSVpFIFwtIHNpemUgdGhyZXNob2xkIGZvciBwaXBlbGluaW5nIHBlbmFsdHkKZGlmZiAtLWdpdCBhL2RvY3MvbGliY3VybC9vcHRzL0NVUkxNT1BUX01BWENPTk5FQ1RTLjMgYi9kb2NzL2xpYmN1cmwvb3B0cy9DVVJMTU9QVF9NQVhDT05ORUNUUy4zCmluZGV4IDc5MmIzODIuLmVjZjFkYzYgMTAwNjQ0Ci0tLSBhL2RvY3MvbGliY3VybC9vcHRzL0NVUkxNT1BUX01BWENPTk5FQ1RTLjMKKysrIGIvZG9jcy9saWJjdXJsL29wdHMvQ1VSTE1PUFRfTUFYQ09OTkVDVFMuMwpAQCAtMjAsNyArMjAsNyBAQAogLlwiICoKIC5cIiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogLlwiCi0uVEggQ1VSTE1PUFRfTUFYQ09OTkVDVFMgMyAiTWFyY2ggMjMsIDIwMjAiICJsaWJjdXJsIDcuNzAuMCIgImN1cmxfbXVsdGlfc2V0b3B0IG9wdGlvbnMiCisuVEggQ1VSTE1PUFRfTUFYQ09OTkVDVFMgMyAiTWFyY2ggMjMsIDIwMjAiICJsaWJjdXJsIDcuNzEuMSIgImN1cmxfbXVsdGlfc2V0b3B0IG9wdGlvbnMiCiAKIC5TSCBOQU1FCiBDVVJMTU9QVF9NQVhDT05ORUNUUyBcLSBzZXQgc2l6ZSBvZiBjb25uZWN0aW9uIGNhY2hlCmRpZmYgLS1naXQgYS9kb2NzL2xpYmN1cmwvb3B0cy9DVVJMTU9QVF9NQVhfSE9TVF9DT05ORUNUSU9OUy4zIGIvZG9jcy9saWJjdXJsL29wdHMvQ1VSTE1PUFRfTUFYX0hPU1RfQ09OTkVDVElPTlMuMwppbmRleCAwYWRhM2ZiLi5hYjU1ZGMzIDEwMDY0NAotLS0gYS9kb2NzL2xpYmN1cmwvb3B0cy9DVVJMTU9QVF9NQVhfSE9TVF9DT05ORUNUSU9OUy4zCisrKyBiL2RvY3MvbGliY3VybC9vcHRzL0NVUkxNT1BUX01BWF9IT1NUX0NPTk5FQ1RJT05TLjMKQEAgLTIwLDcgKzIwLDcgQEAKIC5cIiAqCiAuXCIgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKIC5cIgotLlRIIENVUkxNT1BUX01BWF9IT1NUX0NPTk5FQ1RJT05TIDMgIk1heSAyNywgMjAxNyIgImxpYmN1cmwgNy43MC4wIiAiY3VybF9tdWx0aV9zZXRvcHQgb3B0aW9ucyIKKy5USCBDVVJMTU9QVF9NQVhfSE9TVF9DT05ORUNUSU9OUyAzICJNYXkgMjcsIDIwMTciICJsaWJjdXJsIDcuNzEuMSIgImN1cmxfbXVsdGlfc2V0b3B0IG9wdGlvbnMiCiAKIC5TSCBOQU1FCiBDVVJMTU9QVF9NQVhfSE9TVF9DT05ORUNUSU9OUyBcLSBzZXQgbWF4IG51bWJlciBvZiBjb25uZWN0aW9ucyB0byBhIHNpbmdsZSBob3N0CmRpZmYgLS1naXQgYS9kb2NzL2xpYmN1cmwvb3B0cy9DVVJMTU9QVF9NQVhfUElQRUxJTkVfTEVOR1RILjMgYi9kb2NzL2xpYmN1cmwvb3B0cy9DVVJMTU9QVF9NQVhfUElQRUxJTkVfTEVOR1RILjMKaW5kZXggMjc1YjFhMC4uYzE5NjgyMiAxMDA2NDQKLS0tIGEvZG9jcy9saWJjdXJsL29wdHMvQ1VSTE1PUFRfTUFYX1BJUEVMSU5FX0xFTkdUSC4zCisrKyBiL2RvY3MvbGliY3VybC9vcHRzL0NVUkxNT1BUX01BWF9QSVBFTElORV9MRU5HVEguMwpAQCAtMjAsNyArMjAsNyBAQAogLlwiICoKIC5cIiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogLlwiCi0uVEggQ1VSTE1PUFRfTUFYX1BJUEVMSU5FX0xFTkdUSCAzICJBcHJpbCAwNSwgMjAxOSIgImxpYmN1cmwgNy43MC4wIiAiY3VybF9tdWx0aV9zZXRvcHQgb3B0aW9ucyIKKy5USCBDVVJMTU9QVF9NQVhfUElQRUxJTkVfTEVOR1RIIDMgIkFwcmlsIDA1LCAyMDE5IiAibGliY3VybCA3LjcxLjEiICJjdXJsX211bHRpX3NldG9wdCBvcHRpb25zIgogCiAuU0ggTkFNRQogQ1VSTE1PUFRfTUFYX1BJUEVMSU5FX0xFTkdUSCBcLSBtYXhpbXVtIG51bWJlciBvZiByZXF1ZXN0cyBpbiBhIHBpcGVsaW5lCmRpZmYgLS1naXQgYS9kb2NzL2xpYmN1cmwvb3B0cy9DVVJMTU9QVF9NQVhfVE9UQUxfQ09OTkVDVElPTlMuMyBiL2RvY3MvbGliY3VybC9vcHRzL0NVUkxNT1BUX01BWF9UT1RBTF9DT05ORUNUSU9OUy4zCmluZGV4IDg2NzZlMDcuLmMyNzJlM2EgMTAwNjQ0Ci0tLSBhL2RvY3MvbGliY3VybC9vcHRzL0NVUkxNT1BUX01BWF9UT1RBTF9DT05ORUNUSU9OUy4zCisrKyBiL2RvY3MvbGliY3VybC9vcHRzL0NVUkxNT1BUX01BWF9UT1RBTF9DT05ORUNUSU9OUy4zCkBAIC0yMCw3ICsyMCw3IEBACiAuXCIgKgogLlwiICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiAuXCIKLS5USCBDVVJMTU9QVF9NQVhfVE9UQUxfQ09OTkVDVElPTlMgMyAiTWF5IDI3LCAyMDE3IiAibGliY3VybCA3LjcwLjAiICJjdXJsX211bHRpX3NldG9wdCBvcHRpb25zIgorLlRIIENVUkxNT1BUX01BWF9UT1RBTF9DT05ORUNUSU9OUyAzICJNYXkgMjcsIDIwMTciICJsaWJjdXJsIDcuNzEuMSIgImN1cmxfbXVsdGlfc2V0b3B0IG9wdGlvbnMiCiAKIC5TSCBOQU1FCiBDVVJMTU9QVF9NQVhfVE9UQUxfQ09OTkVDVElPTlMgXC0gbWF4IHNpbXVsdGFuZW91c2x5IG9wZW4gY29ubmVjdGlvbnMKZGlmZiAtLWdpdCBhL2RvY3MvbGliY3VybC9vcHRzL0NVUkxNT1BUX1BJUEVMSU5JTkcuMyBiL2RvY3MvbGliY3VybC9vcHRzL0NVUkxNT1BUX1BJUEVMSU5JTkcuMwppbmRleCA5ZDJlOThhLi5kNWQzZTc3IDEwMDY0NAotLS0gYS9kb2NzL2xpYmN1cmwvb3B0cy9DVVJMTU9QVF9QSVBFTElOSU5HLjMKKysrIGIvZG9jcy9saWJjdXJsL29wdHMvQ1VSTE1PUFRfUElQRUxJTklORy4zCkBAIC0yMCw3ICsyMCw3IEBACiAuXCIgKgogLlwiICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiAuXCIKLS5USCBDVVJMTU9QVF9QSVBFTElOSU5HIDMgIkFwcmlsIDA1LCAyMDE5IiAibGliY3VybCA3LjcwLjAiICJjdXJsX211bHRpX3NldG9wdCBvcHRpb25zIgorLlRIIENVUkxNT1BUX1BJUEVMSU5JTkcgMyAiQXByaWwgMDUsIDIwMTkiICJsaWJjdXJsIDcuNzEuMSIgImN1cmxfbXVsdGlfc2V0b3B0IG9wdGlvbnMiCiAKIC5TSCBOQU1FCiBDVVJMTU9QVF9QSVBFTElOSU5HIFwtIGVuYWJsZSBIVFRQIHBpcGVsaW5pbmcgYW5kIG11bHRpcGxleGluZwpkaWZmIC0tZ2l0IGEvZG9jcy9saWJjdXJsL29wdHMvQ1VSTE1PUFRfUElQRUxJTklOR19TRVJWRVJfQkwuMyBiL2RvY3MvbGliY3VybC9vcHRzL0NVUkxNT1BUX1BJUEVMSU5JTkdfU0VSVkVSX0JMLjMKaW5kZXggM2U2OWMzYi4uNDg5MTMyOCAxMDA2NDQKLS0tIGEvZG9jcy9saWJjdXJsL29wdHMvQ1VSTE1PUFRfUElQRUxJTklOR19TRVJWRVJfQkwuMworKysgYi9kb2NzL2xpYmN1cmwvb3B0cy9DVVJMTU9QVF9QSVBFTElOSU5HX1NFUlZFUl9CTC4zCkBAIC01LDcgKzUsNyBAQAogLlwiICogICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAoX198IHxffCB8ICBfIDx8IHxfX18KIC5cIiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcX19ffFxfX18vfF98IFxfXF9fX19ffAogLlwiICoKLS5cIiAqIENvcHlyaWdodCAoQykgMTk5OCAtIDIwMTksIERhbmllbCBTdGVuYmVyZywgPGRhbmllbEBoYXh4LnNlPiwgZXQgYWwuCisuXCIgKiBDb3B5cmlnaHQgKEMpIDE5OTggLSAyMDIwLCBEYW5pZWwgU3RlbmJlcmcsIDxkYW5pZWxAaGF4eC5zZT4sIGV0IGFsLgogLlwiICoKIC5cIiAqIFRoaXMgc29mdHdhcmUgaXMgbGljZW5zZWQgYXMgZGVzY3JpYmVkIGluIHRoZSBmaWxlIENPUFlJTkcsIHdoaWNoCiAuXCIgKiB5b3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYXMgcGFydCBvZiB0aGlzIGRpc3RyaWJ1dGlvbi4gVGhlIHRlcm1zCkBAIC0yMCwxMCArMjAsMTAgQEAKIC5cIiAqCiAuXCIgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKIC5cIgotLlRIIENVUkxNT1BUX1BJUEVMSU5JTkdfU0VSVkVSX0JMIDMgIkFwcmlsIDA1LCAyMDE5IiAibGliY3VybCA3LjcwLjAiICJjdXJsX211bHRpX3NldG9wdCBvcHRpb25zIgorLlRIIENVUkxNT1BUX1BJUEVMSU5JTkdfU0VSVkVSX0JMIDMgIkp1bmUgMDksIDIwMjAiICJsaWJjdXJsIDcuNzEuMSIgImN1cmxfbXVsdGlfc2V0b3B0IG9wdGlvbnMiCiAKIC5TSCBOQU1FCi1DVVJMTU9QVF9QSVBFTElOSU5HX1NFUlZFUl9CTCBcLSBwaXBlbGluaW5nIHNlcnZlciBibGFja2xpc3QKK0NVUkxNT1BUX1BJUEVMSU5JTkdfU0VSVkVSX0JMIFwtIHBpcGVsaW5pbmcgc2VydmVyIGJsb2NrIGxpc3QKIC5TSCBTWU5PUFNJUwogI2luY2x1ZGUgPGN1cmwvY3VybC5oPgogCkBAIC0zMiwyOCArMzIsMjggQEAKIE5vIGZ1bmN0aW9uIHNpbmNlIHBpcGVsaW5pbmcgd2FzIHJlbW92ZWQgaW4gNy42Mi4wLgogCiBQYXNzIGEgXGZCc2VydmVyc1xmUCBhcnJheSBvZiBjaGFyICosIGVuZGluZyB3aXRoIGEgTlVMTCBlbnRyeS4gVGhpcyBpcyBhIGxpc3QKLW9mIHNlcnZlciB0eXBlcyBwcmVmaXhlcyAoaW4gdGhlIFNlcnZlcjogSFRUUCBoZWFkZXIpIHRoYXQgYXJlIGJsYWNrbGlzdGVkCi1mcm9tIHBpcGVsaW5pbmcsIGkuZSBzZXJ2ZXIgdHlwZXMgdGhhdCBhcmUga25vd24gdG8gbm90IHN1cHBvcnQgSFRUUAorb2Ygc2VydmVyIHR5cGVzIHByZWZpeGVzIChpbiB0aGUgU2VydmVyOiBIVFRQIGhlYWRlcikgdGhhdCBhcmUgYmxvY2tlZCBmcm9tCitwaXBlbGluaW5nLCBpLmUgc2VydmVyIHR5cGVzIHRoYXQgYXJlIGtub3duIHRvIG5vdCBzdXBwb3J0IEhUVFAKIHBpcGVsaW5pbmcuIFRoZSBhcnJheSBpcyBjb3BpZWQgYnkgbGliY3VybC4KIAogTm90ZSB0aGF0IHRoZSBjb21wYXJpc29uIG1hdGNoZXMgaWYgdGhlIFNlcnZlcjogaGVhZGVyIGJlZ2lucyB3aXRoIHRoZSBzdHJpbmcKLWluIHRoZSBibGFja2xpc3QsIGkuZSAiU2VydmVyOiBOaW5qYSAxLjIuMyIgYW5kICJTZXJ2ZXI6IE5pbmphIDEuNC4wIiBjYW4KLWJvdGggYmUgYmxhY2tsaXN0ZWQgYnkgaGF2aW5nICJOaW5qYSIgaW4gdGhlIGJhY2tsaXN0LgoraW4gdGhlIGJsb2NrIGxpc3QsIGkuZSAiU2VydmVyOiBOaW5qYSAxLjIuMyIgYW5kICJTZXJ2ZXI6IE5pbmphIDEuNC4wIiBjYW4KK2JvdGggYmUgYmxvY2tlZCBieSBoYXZpbmcgIk5pbmphIiBpbiB0aGUgbGlzdC4KIAotUGFzcyBhIE5VTEwgcG9pbnRlciB0byBjbGVhciB0aGUgYmxhY2tsaXN0LgorUGFzcyBhIE5VTEwgcG9pbnRlciB0byBjbGVhciB0aGUgYmxvY2sgbGlzdC4KIC5TSCBERUZBVUxUCi1UaGUgZGVmYXVsdCB2YWx1ZSBpcyBOVUxMLCB3aGljaCBtZWFucyB0aGF0IHRoZXJlIGlzIG5vIGJsYWNrbGlzdC4KK1RoZSBkZWZhdWx0IHZhbHVlIGlzIE5VTEwsIHdoaWNoIG1lYW5zIHRoYXQgdGhlcmUgaXMgbm8gYmxvY2sgbGlzdC4KIC5TSCBQUk9UT0NPTFMKIC5TSCBFWEFNUExFCiAubmYKLSAgc2VydmVyX2JsYWNrbGlzdFtdID0KKyAgY2hhciAqc2VydmVyX2Jsb2NrX2xpc3RbXSA9CiAgIHsKICAgICAiTWljcm9zb2Z0LUlJUy82LjAiLAogICAgICJuZ2lueC8wLjguNTQiLAogICAgIE5VTEwKICAgfTsKIAotICBjdXJsX211bHRpX3NldG9wdChtLCBDVVJMTU9QVF9QSVBFTElOSU5HX1NFUlZFUl9CTCwgc2VydmVyX2JsYWNrbGlzdCk7CisgIGN1cmxfbXVsdGlfc2V0b3B0KG0sIENVUkxNT1BUX1BJUEVMSU5JTkdfU0VSVkVSX0JMLCBzZXJ2ZXJfYmxvY2tfbGlzdCk7CiAuZmkKIC5TSCBBVkFJTEFCSUxJVFkKIEFkZGVkIGluIDcuMzAuMApkaWZmIC0tZ2l0IGEvZG9jcy9saWJjdXJsL29wdHMvQ1VSTE1PUFRfUElQRUxJTklOR19TSVRFX0JMLjMgYi9kb2NzL2xpYmN1cmwvb3B0cy9DVVJMTU9QVF9QSVBFTElOSU5HX1NJVEVfQkwuMwppbmRleCAxNjljZGEzLi5jNzQwYjdjIDEwMDY0NAotLS0gYS9kb2NzL2xpYmN1cmwvb3B0cy9DVVJMTU9QVF9QSVBFTElOSU5HX1NJVEVfQkwuMworKysgYi9kb2NzL2xpYmN1cmwvb3B0cy9DVVJMTU9QVF9QSVBFTElOSU5HX1NJVEVfQkwuMwpAQCAtNSw3ICs1LDcgQEAKIC5cIiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgKF9ffCB8X3wgfCAgXyA8fCB8X19fCiAuXCIgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXF9fX3xcX19fL3xffCBcX1xfX19fX3wKIC5cIiAqCi0uXCIgKiBDb3B5cmlnaHQgKEMpIDE5OTggLSAyMDE5LCBEYW5pZWwgU3RlbmJlcmcsIDxkYW5pZWxAaGF4eC5zZT4sIGV0IGFsLgorLlwiICogQ29weXJpZ2h0IChDKSAxOTk4IC0gMjAyMCwgRGFuaWVsIFN0ZW5iZXJnLCA8ZGFuaWVsQGhheHguc2U+LCBldCBhbC4KIC5cIiAqCiAuXCIgKiBUaGlzIHNvZnR3YXJlIGlzIGxpY2Vuc2VkIGFzIGRlc2NyaWJlZCBpbiB0aGUgZmlsZSBDT1BZSU5HLCB3aGljaAogLlwiICogeW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGFzIHBhcnQgb2YgdGhpcyBkaXN0cmlidXRpb24uIFRoZSB0ZXJtcwpAQCAtMjAsMTAgKzIwLDEwIEBACiAuXCIgKgogLlwiICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiAuXCIKLS5USCBDVVJMTU9QVF9QSVBFTElOSU5HX1NJVEVfQkwgMyAiQXByaWwgMDUsIDIwMTkiICJsaWJjdXJsIDcuNzAuMCIgImN1cmxfbXVsdGlfc2V0b3B0IG9wdGlvbnMiCisuVEggQ1VSTE1PUFRfUElQRUxJTklOR19TSVRFX0JMIDMgIkp1bmUgMDksIDIwMjAiICJsaWJjdXJsIDcuNzEuMSIgImN1cmxfbXVsdGlfc2V0b3B0IG9wdGlvbnMiCiAKIC5TSCBOQU1FCi1DVVJMTU9QVF9QSVBFTElOSU5HX1NJVEVfQkwgXC0gcGlwZWxpbmluZyBob3N0IGJsYWNrbGlzdAorQ1VSTE1PUFRfUElQRUxJTklOR19TSVRFX0JMIFwtIHBpcGVsaW5pbmcgaG9zdCBibG9jayBsaXN0CiAuU0ggU1lOT1BTSVMKICNpbmNsdWRlIDxjdXJsL2N1cmwuaD4KIApAQCAtMzIsMjQgKzMyLDI0IEBACiBObyBmdW5jdGlvbiBzaW5jZSBwaXBlbGluaW5nIHdhcyByZW1vdmVkIGluIDcuNjIuMC4KIAogUGFzcyBhIFxmQmhvc3RzXGZQIGFycmF5IG9mIGNoYXIgKiwgZW5kaW5nIHdpdGggYSBOVUxMIGVudHJ5LiBUaGlzIGlzIGEgbGlzdAotb2Ygc2l0ZXMgdGhhdCBhcmUgYmxhY2tsaXN0ZWQgZnJvbSBwaXBlbGluaW5nLCBpLmUgc2l0ZXMgdGhhdCBhcmUga25vd24gdG8gbm90CitvZiBzaXRlcyB0aGF0IGFyZSBibG9ja2VkIGZyb20gcGlwZWxpbmluZywgaS5lIHNpdGVzIHRoYXQgYXJlIGtub3duIHRvIG5vdAogc3VwcG9ydCBIVFRQIHBpcGVsaW5pbmcuIFRoZSBhcnJheSBpcyBjb3BpZWQgYnkgbGliY3VybC4KIAotUGFzcyBhIE5VTEwgcG9pbnRlciB0byBjbGVhciB0aGUgYmxhY2tsaXN0LgorUGFzcyBhIE5VTEwgcG9pbnRlciB0byBjbGVhciB0aGUgYmxvY2sgbGlzdC4KIC5TSCBERUZBVUxUCi1UaGUgZGVmYXVsdCB2YWx1ZSBpcyBOVUxMLCB3aGljaCBtZWFucyB0aGF0IHRoZXJlIGlzIG5vIGJsYWNrbGlzdC4KK1RoZSBkZWZhdWx0IHZhbHVlIGlzIE5VTEwsIHdoaWNoIG1lYW5zIHRoYXQgdGhlcmUgaXMgbm8gYmxvY2sgbGlzdC4KIC5TSCBQUk9UT0NPTFMKIEhUVFAoUykKIC5TSCBFWEFNUExFCiAubmYKLSAgc2l0ZV9ibGFja2xpc3RbXSA9CisgIGNoYXIgKnNpdGVfYmxvY2tfbGlzdFtdID0KICAgewogICAgICJ3d3cuaGF4eC5zZSIsCiAgICAgInd3dy5leGFtcGxlLmNvbToxMjM0IiwKICAgICBOVUxMCiAgIH07CiAKLSAgY3VybF9tdWx0aV9zZXRvcHQobSwgQ1VSTE1PUFRfUElQRUxJTklOR19TSVRFX0JMLCBzaXRlX2JsYWNrbGlzdCk7CisgIGN1cmxfbXVsdGlfc2V0b3B0KG0sIENVUkxNT1BUX1BJUEVMSU5JTkdfU0lURV9CTCwgc2l0ZV9ibG9ja19saXN0KTsKIC5maQogLlNIIEFWQUlMQUJJTElUWQogQWRkZWQgaW4gNy4zMC4wCmRpZmYgLS1naXQgYS9kb2NzL2xpYmN1cmwvb3B0cy9DVVJMTU9QVF9QVVNIREFUQS4zIGIvZG9jcy9saWJjdXJsL29wdHMvQ1VSTE1PUFRfUFVTSERBVEEuMwppbmRleCBmOWQ1YjJiLi5lMjc5NTQxIDEwMDY0NAotLS0gYS9kb2NzL2xpYmN1cmwvb3B0cy9DVVJMTU9QVF9QVVNIREFUQS4zCisrKyBiL2RvY3MvbGliY3VybC9vcHRzL0NVUkxNT1BUX1BVU0hEQVRBLjMKQEAgLTIwLDcgKzIwLDcgQEAKIC5cIiAqCiAuXCIgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKIC5cIgotLlRIIENVUkxNT1BUX1BVU0hEQVRBIDMgIk1heSAyNywgMjAxNyIgImxpYmN1cmwgNy43MC4wIiAiY3VybF9tdWx0aV9zZXRvcHQgb3B0aW9ucyIKKy5USCBDVVJMTU9QVF9QVVNIREFUQSAzICJNYXkgMjcsIDIwMTciICJsaWJjdXJsIDcuNzEuMSIgImN1cmxfbXVsdGlfc2V0b3B0IG9wdGlvbnMiCiAKIC5TSCBOQU1FCiBDVVJMTU9QVF9QVVNIREFUQSBcLSBwb2ludGVyIHRvIHBhc3MgdG8gcHVzaCBjYWxsYmFjawpkaWZmIC0tZ2l0IGEvZG9jcy9saWJjdXJsL29wdHMvQ1VSTE1PUFRfUFVTSEZVTkNUSU9OLjMgYi9kb2NzL2xpYmN1cmwvb3B0cy9DVVJMTU9QVF9QVVNIRlVOQ1RJT04uMwppbmRleCBiOWU2MTkzLi40YmYyODAzIDEwMDY0NAotLS0gYS9kb2NzL2xpYmN1cmwvb3B0cy9DVVJMTU9QVF9QVVNIRlVOQ1RJT04uMworKysgYi9kb2NzL2xpYmN1cmwvb3B0cy9DVVJMTU9QVF9QVVNIRlVOQ1RJT04uMwpAQCAtMjAsNyArMjAsNyBAQAogLlwiICoKIC5cIiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogLlwiCi0uVEggQ1VSTE1PUFRfUFVTSEZVTkNUSU9OIDMgIk1hcmNoIDIzLCAyMDIwIiAibGliY3VybCA3LjcwLjAiICJjdXJsX211bHRpX3NldG9wdCBvcHRpb25zIgorLlRIIENVUkxNT1BUX1BVU0hGVU5DVElPTiAzICJNYXJjaCAyMywgMjAyMCIgImxpYmN1cmwgNy43MS4xIiAiY3VybF9tdWx0aV9zZXRvcHQgb3B0aW9ucyIKIAogLlNIIE5BTUUKIENVUkxNT1BUX1BVU0hGVU5DVElPTiBcLSBjYWxsYmFjayB0aGF0IGFwcHJvdmVzIG9yIGRlbmllcyBzZXJ2ZXIgcHVzaGVzCmRpZmYgLS1naXQgYS9kb2NzL2xpYmN1cmwvb3B0cy9DVVJMTU9QVF9TT0NLRVREQVRBLjMgYi9kb2NzL2xpYmN1cmwvb3B0cy9DVVJMTU9QVF9TT0NLRVREQVRBLjMKaW5kZXggYTIxMGU2ZC4uZGY2NmQ0NSAxMDA2NDQKLS0tIGEvZG9jcy9saWJjdXJsL29wdHMvQ1VSTE1PUFRfU09DS0VUREFUQS4zCisrKyBiL2RvY3MvbGliY3VybC9vcHRzL0NVUkxNT1BUX1NPQ0tFVERBVEEuMwpAQCAtMjAsNyArMjAsNyBAQAogLlwiICoKIC5cIiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogLlwiCi0uVEggQ1VSTE1PUFRfU09DS0VUREFUQSAzICJNYXkgMzEsIDIwMTciICJsaWJjdXJsIDcuNzAuMCIgImN1cmxfbXVsdGlfc2V0b3B0IG9wdGlvbnMiCisuVEggQ1VSTE1PUFRfU09DS0VUREFUQSAzICJNYXkgMzEsIDIwMTciICJsaWJjdXJsIDcuNzEuMSIgImN1cmxfbXVsdGlfc2V0b3B0IG9wdGlvbnMiCiAKIC5TSCBOQU1FCiBDVVJMTU9QVF9TT0NLRVREQVRBIFwtIGN1c3RvbSBwb2ludGVyIHBhc3NlZCB0byB0aGUgc29ja2V0IGNhbGxiYWNrCmRpZmYgLS1naXQgYS9kb2NzL2xpYmN1cmwvb3B0cy9DVVJMTU9QVF9TT0NLRVRGVU5DVElPTi4zIGIvZG9jcy9saWJjdXJsL29wdHMvQ1VSTE1PUFRfU09DS0VURlVOQ1RJT04uMwppbmRleCAyYTMwMjcwLi43NTY0ZjY1IDEwMDY0NAotLS0gYS9kb2NzL2xpYmN1cmwvb3B0cy9DVVJMTU9QVF9TT0NLRVRGVU5DVElPTi4zCisrKyBiL2RvY3MvbGliY3VybC9vcHRzL0NVUkxNT1BUX1NPQ0tFVEZVTkNUSU9OLjMKQEAgLTIwLDcgKzIwLDcgQEAKIC5cIiAqCiAuXCIgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKIC5cIgotLlRIIENVUkxNT1BUX1NPQ0tFVEZVTkNUSU9OIDMgIkp1bmUgMjQsIDIwMTkiICJsaWJjdXJsIDcuNzAuMCIgImN1cmxfbXVsdGlfc2V0b3B0IG9wdGlvbnMiCisuVEggQ1VSTE1PUFRfU09DS0VURlVOQ1RJT04gMyAiSnVuZSAyNCwgMjAxOSIgImxpYmN1cmwgNy43MS4xIiAiY3VybF9tdWx0aV9zZXRvcHQgb3B0aW9ucyIKIAogLlNIIE5BTUUKIENVUkxNT1BUX1NPQ0tFVEZVTkNUSU9OIFwtIGNhbGxiYWNrIGluZm9ybWVkIGFib3V0IHdoYXQgdG8gd2FpdCBmb3IKZGlmZiAtLWdpdCBhL2RvY3MvbGliY3VybC9vcHRzL0NVUkxNT1BUX1RJTUVSREFUQS4zIGIvZG9jcy9saWJjdXJsL29wdHMvQ1VSTE1PUFRfVElNRVJEQVRBLjMKaW5kZXggNTJhN2Y5MC4uMTUzMDdmOCAxMDA2NDQKLS0tIGEvZG9jcy9saWJjdXJsL29wdHMvQ1VSTE1PUFRfVElNRVJEQVRBLjMKKysrIGIvZG9jcy9saWJjdXJsL29wdHMvQ1VSTE1PUFRfVElNRVJEQVRBLjMKQEAgLTIwLDcgKzIwLDcgQEAKIC5cIiAqCiAuXCIgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKIC5cIgotLlRIIENVUkxNT1BUX1RJTUVSREFUQSAzICJNYXkgMjcsIDIwMTciICJsaWJjdXJsIDcuNzAuMCIgImN1cmxfbXVsdGlfc2V0b3B0IG9wdGlvbnMiCisuVEggQ1VSTE1PUFRfVElNRVJEQVRBIDMgIk1heSAyNywgMjAxNyIgImxpYmN1cmwgNy43MS4xIiAiY3VybF9tdWx0aV9zZXRvcHQgb3B0aW9ucyIKIAogLlNIIE5BTUUKIENVUkxNT1BUX1RJTUVSREFUQSBcLSBjdXN0b20gcG9pbnRlciB0byBwYXNzIHRvIHRpbWVyIGNhbGxiYWNrCmRpZmYgLS1naXQgYS9kb2NzL2xpYmN1cmwvb3B0cy9DVVJMTU9QVF9USU1FUkZVTkNUSU9OLjMgYi9kb2NzL2xpYmN1cmwvb3B0cy9DVVJMTU9QVF9USU1FUkZVTkNUSU9OLjMKaW5kZXggODQwMzc1Ny4uYjIwNWJhNSAxMDA2NDQKLS0tIGEvZG9jcy9saWJjdXJsL29wdHMvQ1VSTE1PUFRfVElNRVJGVU5DVElPTi4zCisrKyBiL2RvY3MvbGliY3VybC9vcHRzL0NVUkxNT1BUX1RJTUVSRlVOQ1RJT04uMwpAQCAtMjAsNyArMjAsNyBAQAogLlwiICoKIC5cIiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogLlwiCi0uVEggQ1VSTE1PUFRfVElNRVJGVU5DVElPTiAzICJNYXkgMDMsIDIwMTkiICJsaWJjdXJsIDcuNzAuMCIgImN1cmxfbXVsdGlfc2V0b3B0IG9wdGlvbnMiCisuVEggQ1VSTE1PUFRfVElNRVJGVU5DVElPTiAzICJNYXkgMDMsIDIwMTkiICJsaWJjdXJsIDcuNzEuMSIgImN1cmxfbXVsdGlfc2V0b3B0IG9wdGlvbnMiCiAKIC5TSCBOQU1FCiBDVVJMTU9QVF9USU1FUkZVTkNUSU9OIFwtIHNldCBjYWxsYmFjayB0byByZWNlaXZlIHRpbWVvdXQgdmFsdWVzCmRpZmYgLS1naXQgYS9kb2NzL2xpYmN1cmwvb3B0cy9DVVJMT1BUX0FCU1RSQUNUX1VOSVhfU09DS0VULjMgYi9kb2NzL2xpYmN1cmwvb3B0cy9DVVJMT1BUX0FCU1RSQUNUX1VOSVhfU09DS0VULjMKaW5kZXggODY2ZmUxYy4uODgxNWYxMiAxMDA2NDQKLS0tIGEvZG9jcy9saWJjdXJsL29wdHMvQ1VSTE9QVF9BQlNUUkFDVF9VTklYX1NPQ0tFVC4zCisrKyBiL2RvY3MvbGliY3VybC9vcHRzL0NVUkxPUFRfQUJTVFJBQ1RfVU5JWF9TT0NLRVQuMwpAQCAtMjAsNyArMjAsNyBAQAogLlwiICoKIC5cIiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogLlwiCi0uVEggQ1VSTE9QVF9BQlNUUkFDVF9VTklYX1NPQ0tFVCAzICJKYW51YXJ5IDA5LCAyMDE3IiAibGliY3VybCA3LjcwLjAiICJjdXJsX2Vhc3lfc2V0b3B0IG9wdGlvbnMiCisuVEggQ1VSTE9QVF9BQlNUUkFDVF9VTklYX1NPQ0tFVCAzICJKdW5lIDI1LCAyMDIwIiAibGliY3VybCA3LjcxLjEiICJjdXJsX2Vhc3lfc2V0b3B0IG9wdGlvbnMiCiAKIC5TSCBOQU1FCiBDVVJMT1BUX0FCU1RSQUNUX1VOSVhfU09DS0VUIFwtIHNldCBhbiBhYnN0cmFjdCBVbml4IGRvbWFpbiBzb2NrZXQKQEAgLTMwLDcgKzMwLDcgQEAKIENVUkxjb2RlIGN1cmxfZWFzeV9zZXRvcHQoQ1VSTCAqaGFuZGxlLCBDVVJMT1BUX0FCU1RSQUNUX1VOSVhfU09DS0VULCBjaGFyICpwYXRoKTsKIC5TSCBERVNDUklQVElPTgogRW5hYmxlcyB0aGUgdXNlIG9mIGFuIGFic3RyYWN0IFVuaXggZG9tYWluIHNvY2tldCBpbnN0ZWFkIG9mIGVzdGFibGlzaGluZyBhIFRDUAotY29ubmVjdGlvbiB0byBhIGhvc3QuIFRoZSBwYXJhbWV0ZXIgc2hvdWxkIGJlIGEgY2hhciAqIHRvIGEgemVybyB0ZXJtaW5hdGVkIHN0cmluZworY29ubmVjdGlvbiB0byBhIGhvc3QuIFRoZSBwYXJhbWV0ZXIgc2hvdWxkIGJlIGEgY2hhciAqIHRvIGEgbnVsbC10ZXJtaW5hdGVkIHN0cmluZwogaG9sZGluZyB0aGUgcGF0aCBvZiB0aGUgc29ja2V0LiBUaGUgcGF0aCB3aWxsIGJlIHNldCB0byBcZklwYXRoXGZQIHByZWZpeGVkIGJ5IGEKIE5VTEwgYnl0ZSAodGhpcyBpcyB0aGUgY29udmVudGlvbiBmb3IgYWJzdHJhY3Qgc29ja2V0cywgaG93ZXZlciBpdCBzaG91bGQgYmUgc3RyZXNzZWQKIHRoYXQgdGhlIHBhdGggcGFzc2VkIHRvIHRoaXMgZnVuY3Rpb24gc2hvdWxkIG5vdCBjb250YWluIGEgbGVhZGluZyBOVUxMKS4KZGlmZiAtLWdpdCBhL2RvY3MvbGliY3VybC9vcHRzL0NVUkxPUFRfQUNDRVBUVElNRU9VVF9NUy4zIGIvZG9jcy9saWJjdXJsL29wdHMvQ1VSTE9QVF9BQ0NFUFRUSU1FT1VUX01TLjMKaW5kZXggMTQ4YTI4Zi4uMGRjMTBmNCAxMDA2NDQKLS0tIGEvZG9jcy9saWJjdXJsL29wdHMvQ1VSTE9QVF9BQ0NFUFRUSU1FT1VUX01TLjMKKysrIGIvZG9jcy9saWJjdXJsL29wdHMvQ1VSTE9QVF9BQ0NFUFRUSU1FT1VUX01TLjMKQEAgLTIwLDcgKzIwLDcgQEAKIC5cIiAqCiAuXCIgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKIC5cIgotLlRIIENVUkxPUFRfQUNDRVBUVElNRU9VVF9NUyAzICJNYXJjaCAwNiwgMjAxNiIgImxpYmN1cmwgNy43MC4wIiAiY3VybF9lYXN5X3NldG9wdCBvcHRpb25zIgorLlRIIENVUkxPUFRfQUNDRVBUVElNRU9VVF9NUyAzICJNYXJjaCAwNiwgMjAxNiIgImxpYmN1cmwgNy43MS4xIiAiY3VybF9lYXN5X3NldG9wdCBvcHRpb25zIgogCiAuU0ggTkFNRQogQ1VSTE9QVF9BQ0NFUFRUSU1FT1VUX01TIFwtIHRpbWVvdXQgd2FpdGluZyBmb3IgRlRQIHNlcnZlciB0byBjb25uZWN0IGJhY2sKZGlmZiAtLWdpdCBhL2RvY3MvbGliY3VybC9vcHRzL0NVUkxPUFRfQUNDRVBUX0VOQ09ESU5HLjMgYi9kb2NzL2xpYmN1cmwvb3B0cy9DVVJMT1BUX0FDQ0VQVF9FTkNPRElORy4zCmluZGV4IGUzNWY5YzUuLjU4NWNiOGEgMTAwNjQ0Ci0tLSBhL2RvY3MvbGliY3VybC9vcHRzL0NVUkxPUFRfQUNDRVBUX0VOQ09ESU5HLjMKKysrIGIvZG9jcy9saWJjdXJsL29wdHMvQ1VSTE9QVF9BQ0NFUFRfRU5DT0RJTkcuMwpAQCAtMjAsNyArMjAsNyBAQAogLlwiICoKIC5cIiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogLlwiCi0uVEggQ1VSTE9QVF9BQ0NFUFRfRU5DT0RJTkcgMyAiQXVndXN0IDI3LCAyMDE4IiAibGliY3VybCA3LjcwLjAiICJjdXJsX2Vhc3lfc2V0b3B0IG9wdGlvbnMiCisuVEggQ1VSTE9QVF9BQ0NFUFRfRU5DT0RJTkcgMyAiQXVndXN0IDI3LCAyMDE4IiAibGliY3VybCA3LjcxLjEiICJjdXJsX2Vhc3lfc2V0b3B0IG9wdGlvbnMiCiAKIC5TSCBOQU1FCiBDVVJMT1BUX0FDQ0VQVF9FTkNPRElORyBcLSBlbmFibGVzIGF1dG9tYXRpYyBkZWNvbXByZXNzaW9uIG9mIEhUVFAgZG93bmxvYWRzCmRpZmYgLS1naXQgYS9kb2NzL2xpYmN1cmwvb3B0cy9DVVJMT1BUX0FERFJFU1NfU0NPUEUuMyBiL2RvY3MvbGliY3VybC9vcHRzL0NVUkxPUFRfQUREUkVTU19TQ09QRS4zCmluZGV4IDUzN2M5NmUuLmZlNzczYWEgMTAwNjQ0Ci0tLSBhL2RvY3MvbGliY3VybC9vcHRzL0NVUkxPUFRfQUREUkVTU19TQ09QRS4zCisrKyBiL2RvY3MvbGliY3VybC9vcHRzL0NVUkxPUFRfQUREUkVTU19TQ09QRS4zCkBAIC0yMCw3ICsyMCw3IEBACiAuXCIgKgogLlwiICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiAuXCIKLS5USCBDVVJMT1BUX0FERFJFU1NfU0NPUEUgMyAiTWFyY2ggMDcsIDIwMTkiICJsaWJjdXJsIDcuNzAuMCIgImN1cmxfZWFzeV9zZXRvcHQgb3B0aW9ucyIKKy5USCBDVVJMT1BUX0FERFJFU1NfU0NPUEUgMyAiTWFyY2ggMDcsIDIwMTkiICJsaWJjdXJsIDcuNzEuMSIgImN1cmxfZWFzeV9zZXRvcHQgb3B0aW9ucyIKIAogLlNIIE5BTUUKIENVUkxPUFRfQUREUkVTU19TQ09QRSBcLSBzZXQgc2NvcGUgaWQgZm9yIElQdjYgYWRkcmVzc2VzCmRpZmYgLS1naXQgYS9kb2NzL2xpYmN1cmwvb3B0cy9DVVJMT1BUX0FMVFNWQy4zIGIvZG9jcy9saWJjdXJsL29wdHMvQ1VSTE9QVF9BTFRTVkMuMwppbmRleCA4YmQ4ZjQ3Li4zMmVhY2NkIDEwMDY0NAotLS0gYS9kb2NzL2xpYmN1cmwvb3B0cy9DVVJMT1BUX0FMVFNWQy4zCisrKyBiL2RvY3MvbGliY3VybC9vcHRzL0NVUkxPUFRfQUxUU1ZDLjMKQEAgLTIwLDcgKzIwLDcgQEAKIC5cIiAqCiAuXCIgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKIC5cIgotLlRIIENVUkxPUFRfQUxUU1ZDIDMgIkF1Z3VzdCAxNCwgMjAxOSIgImxpYmN1cmwgNy43MC4wIiAiY3VybF9lYXN5X3NldG9wdCBvcHRpb25zIgorLlRIIENVUkxPUFRfQUxUU1ZDIDMgIkF1Z3VzdCAxNCwgMjAxOSIgImxpYmN1cmwgNy43MS4xIiAiY3VybF9lYXN5X3NldG9wdCBvcHRpb25zIgogCiAuU0ggTkFNRQogQ1VSTE9QVF9BTFRTVkMgXC0gc2V0IGFsdC1zdmMgY2FjaGUgZmlsZSBuYW1lCmRpZmYgLS1naXQgYS9kb2NzL2xpYmN1cmwvb3B0cy9DVVJMT1BUX0FMVFNWQ19DVFJMLjMgYi9kb2NzL2xpYmN1cmwvb3B0cy9DVVJMT1BUX0FMVFNWQ19DVFJMLjMKaW5kZXggNmYzMmQ0YS4uMDNhZDgyNiAxMDA2NDQKLS0tIGEvZG9jcy9saWJjdXJsL29wdHMvQ1VSTE9QVF9BTFRTVkNfQ1RSTC4zCisrKyBiL2RvY3MvbGliY3VybC9vcHRzL0NVUkxPUFRfQUxUU1ZDX0NUUkwuMwpAQCAtMjAsNyArMjAsNyBAQAogLlwiICoKIC5cIiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogLlwiCi0uVEggQ1VSTE9QVF9BTFRTVkNfQ1RSTCAzICJGZWJydWFyeSAxMSwgMjAyMCIgImxpYmN1cmwgNy43MC4wIiAiY3VybF9lYXN5X3NldG9wdCBvcHRpb25zIgorLlRIIENVUkxPUFRfQUxUU1ZDX0NUUkwgMyAiRmVicnVhcnkgMTEsIDIwMjAiICJsaWJjdXJsIDcuNzEuMSIgImN1cmxfZWFzeV9zZXRvcHQgb3B0aW9ucyIKIAogLlNIIE5BTUUKIENVUkxPUFRfQUxUU1ZDX0NUUkwgXC0gY29udHJvbCBhbHQtc3ZjIGJlaGF2aW9yCmRpZmYgLS1naXQgYS9kb2NzL2xpYmN1cmwvb3B0cy9DVVJMT1BUX0FQUEVORC4zIGIvZG9jcy9saWJjdXJsL29wdHMvQ1VSTE9QVF9BUFBFTkQuMwppbmRleCA4OWU1ZjdiLi5hZGExYzk3IDEwMDY0NAotLS0gYS9kb2NzL2xpYmN1cmwvb3B0cy9DVVJMT1BUX0FQUEVORC4zCisrKyBiL2RvY3MvbGliY3VybC9vcHRzL0NVUkxPUFRfQVBQRU5ELjMKQEAgLTIwLDcgKzIwLDcgQEAKIC5cIiAqCiAuXCIgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKIC5cIgotLlRIIENVUkxPUFRfQVBQRU5EIDMgIk1hcmNoIDA2LCAyMDE2IiAibGliY3VybCA3LjcwLjAiICJjdXJsX2Vhc3lfc2V0b3B0IG9wdGlvbnMiCisuVEggQ1VSTE9QVF9BUFBFTkQgMyAiTWFyY2ggMDYsIDIwMTYiICJsaWJjdXJsIDcuNzEuMSIgImN1cmxfZWFzeV9zZXRvcHQgb3B0aW9ucyIKIAogLlNIIE5BTUUKIENVUkxPUFRfQVBQRU5EIFwtIGVuYWJsZSBhcHBlbmRpbmcgdG8gdGhlIHJlbW90ZSBmaWxlCmRpZmYgLS1naXQgYS9kb2NzL2xpYmN1cmwvb3B0cy9DVVJMT1BUX0FVVE9SRUZFUkVSLjMgYi9kb2NzL2xpYmN1cmwvb3B0cy9DVVJMT1BUX0FVVE9SRUZFUkVSLjMKaW5kZXggYjM4ZGQ3Mi4uNGIwMWJkMSAxMDA2NDQKLS0tIGEvZG9jcy9saWJjdXJsL29wdHMvQ1VSTE9QVF9BVVRPUkVGRVJFUi4zCisrKyBiL2RvY3MvbGliY3VybC9vcHRzL0NVUkxPUFRfQVVUT1JFRkVSRVIuMwpAQCAtMjAsNyArMjAsNyBAQAogLlwiICoKIC5cIiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogLlwiCi0uVEggQ1VSTE9QVF9BVVRPUkVGRVJFUiAzICJNYXkgMDUsIDIwMTciICJsaWJjdXJsIDcuNzAuMCIgImN1cmxfZWFzeV9zZXRvcHQgb3B0aW9ucyIKKy5USCBDVVJMT1BUX0FVVE9SRUZFUkVSIDMgIk1heSAwNSwgMjAxNyIgImxpYmN1cmwgNy43MS4xIiAiY3VybF9lYXN5X3NldG9wdCBvcHRpb25zIgogCiAuU0ggTkFNRQogQ1VSTE9QVF9BVVRPUkVGRVJFUiBcLSBhdXRvbWF0aWNhbGx5IHVwZGF0ZSB0aGUgcmVmZXJlciBoZWFkZXIKZGlmZiAtLWdpdCBhL2RvY3MvbGliY3VybC9vcHRzL0NVUkxPUFRfQlVGRkVSU0laRS4zIGIvZG9jcy9saWJjdXJsL29wdHMvQ1VSTE9QVF9CVUZGRVJTSVpFLjMKaW5kZXggOTkzMzcyMi4uMDg0ZTFmOCAxMDA2NDQKLS0tIGEvZG9jcy9saWJjdXJsL29wdHMvQ1VSTE9QVF9CVUZGRVJTSVpFLjMKKysrIGIvZG9jcy9saWJjdXJsL29wdHMvQ1VSTE9QVF9CVUZGRVJTSVpFLjMKQEAgLTIwLDcgKzIwLDcgQEAKIC5cIiAqCiAuXCIgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKIC5cIgotLlRIIENVUkxPUFRfQlVGRkVSU0laRSAzICJNYXkgMTMsIDIwMTciICJsaWJjdXJsIDcuNzAuMCIgImN1cmxfZWFzeV9zZXRvcHQgb3B0aW9ucyIKKy5USCBDVVJMT1BUX0JVRkZFUlNJWkUgMyAiTWF5IDEzLCAyMDE3IiAibGliY3VybCA3LjcxLjEiICJjdXJsX2Vhc3lfc2V0b3B0IG9wdGlvbnMiCiAKIC5TSCBOQU1FCiBDVVJMT1BUX0JVRkZFUlNJWkUgXC0gc2V0IHByZWZlcnJlZCByZWNlaXZlIGJ1ZmZlciBzaXplCmRpZmYgLS1naXQgYS9kb2NzL2xpYmN1cmwvb3B0cy9DVVJMT1BUX0NBSU5GTy4zIGIvZG9jcy9saWJjdXJsL29wdHMvQ1VSTE9QVF9DQUlORk8uMwppbmRleCA4NzM1MjQ5Li4yZjNhNTNkIDEwMDY0NAotLS0gYS9kb2NzL2xpYmN1cmwvb3B0cy9DVVJMT1BUX0NBSU5GTy4zCisrKyBiL2RvY3MvbGliY3VybC9vcHRzL0NVUkxPUFRfQ0FJTkZPLjMKQEAgLTIwLDcgKzIwLDcgQEAKIC5cIiAqCiAuXCIgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKIC5cIgotLlRIIENVUkxPUFRfQ0FJTkZPIDMgIkp1bmUgMTAsIDIwMTkiICJsaWJjdXJsIDcuNzAuMCIgImN1cmxfZWFzeV9zZXRvcHQgb3B0aW9ucyIKKy5USCBDVVJMT1BUX0NBSU5GTyAzICJKdW5lIDI1LCAyMDIwIiAibGliY3VybCA3LjcxLjEiICJjdXJsX2Vhc3lfc2V0b3B0IG9wdGlvbnMiCiAKIC5TSCBOQU1FCiBDVVJMT1BUX0NBSU5GTyBcLSBwYXRoIHRvIENlcnRpZmljYXRlIEF1dGhvcml0eSAoQ0EpIGJ1bmRsZQpAQCAtMjksNyArMjksNyBAQAogCiBDVVJMY29kZSBjdXJsX2Vhc3lfc2V0b3B0KENVUkwgKmhhbmRsZSwgQ1VSTE9QVF9DQUlORk8sIGNoYXIgKnBhdGgpOwogLlNIIERFU0NSSVBUSU9OCi1QYXNzIGEgY2hhciAqIHRvIGEgemVybyB0ZXJtaW5hdGVkIHN0cmluZyBuYW1pbmcgYSBmaWxlIGhvbGRpbmcgb25lIG9yIG1vcmUKK1Bhc3MgYSBjaGFyICogdG8gYSBudWxsLXRlcm1pbmF0ZWQgc3RyaW5nIG5hbWluZyBhIGZpbGUgaG9sZGluZyBvbmUgb3IgbW9yZQogY2VydGlmaWNhdGVzIHRvIHZlcmlmeSB0aGUgcGVlciB3aXRoLgogCiBJZiBcZklDVVJMT1BUX1NTTF9WRVJJRllQRUVSKDMpXGZQIGlzIHplcm8gYW5kIHlvdSBhdm9pZCB2ZXJpZnlpbmcgdGhlCmRpZmYgLS1naXQgYS9kb2NzL2xpYmN1cmwvb3B0cy9DVVJMT1BUX0NBUEFUSC4zIGIvZG9jcy9saWJjdXJsL29wdHMvQ1VSTE9QVF9DQVBBVEguMwppbmRleCBkNWQ2MDU3Li5lOThhM2MyIDEwMDY0NAotLS0gYS9kb2NzL2xpYmN1cmwvb3B0cy9DVVJMT1BUX0NBUEFUSC4zCisrKyBiL2RvY3MvbGliY3VybC9vcHRzL0NVUkxPUFRfQ0FQQVRILjMKQEAgLTIwLDcgKzIwLDcgQEAKIC5cIiAqCiAuXCIgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKIC5cIgotLlRIIENVUkxPUFRfQ0FQQVRIIDMgIk1hcmNoIDA0LCAyMDIwIiAibGliY3VybCA3LjcwLjAiICJjdXJsX2Vhc3lfc2V0b3B0IG9wdGlvbnMiCisuVEggQ1VSTE9QVF9DQVBBVEggMyAiSnVuZSAyNSwgMjAyMCIgImxpYmN1cmwgNy43MS4xIiAiY3VybF9lYXN5X3NldG9wdCBvcHRpb25zIgogCiAuU0ggTkFNRQogQ1VSTE9QVF9DQVBBVEggXC0gc3BlY2lmeSBkaXJlY3RvcnkgaG9sZGluZyBDQSBjZXJ0aWZpY2F0ZXMKQEAgLTI5LDcgKzI5LDcgQEAKIAogQ1VSTGNvZGUgY3VybF9lYXN5X3NldG9wdChDVVJMICpoYW5kbGUsIENVUkxPUFRfQ0FQQVRILCBjaGFyICpjYXBhdGgpOwogLlNIIERFU0NSSVBUSU9OCi1QYXNzIGEgY2hhciAqIHRvIGEgemVybyB0ZXJtaW5hdGVkIHN0cmluZyBuYW1pbmcgYSBkaXJlY3RvcnkgaG9sZGluZyBtdWx0aXBsZQorUGFzcyBhIGNoYXIgKiB0byBhIG51bGwtdGVybWluYXRlZCBzdHJpbmcgbmFtaW5nIGEgZGlyZWN0b3J5IGhvbGRpbmcgbXVsdGlwbGUKIENBIGNlcnRpZmljYXRlcyB0byB2ZXJpZnkgdGhlIHBlZXIgd2l0aC4gSWYgbGliY3VybCBpcyBidWlsdCBhZ2FpbnN0IE9wZW5TU0wsCiB0aGUgY2VydGlmaWNhdGUgZGlyZWN0b3J5IG11c3QgYmUgcHJlcGFyZWQgdXNpbmcgdGhlIG9wZW5zc2wgY19yZWhhc2ggdXRpbGl0eS4KIFRoaXMgbWFrZXMgc2Vuc2Ugb25seSB3aGVuIHVzZWQgaW4gY29tYmluYXRpb24gd2l0aCB0aGUKZGlmZiAtLWdpdCBhL2RvY3MvbGliY3VybC9vcHRzL0NVUkxPUFRfQ0VSVElORk8uMyBiL2RvY3MvbGliY3VybC9vcHRzL0NVUkxPUFRfQ0VSVElORk8uMwppbmRleCAzZjFhMTRjLi5jM2Q2YmQ4IDEwMDY0NAotLS0gYS9kb2NzL2xpYmN1cmwvb3B0cy9DVVJMT1BUX0NFUlRJTkZPLjMKKysrIGIvZG9jcy9saWJjdXJsL29wdHMvQ1VSTE9QVF9DRVJUSU5GTy4zCkBAIC0yMCw3ICsyMCw3IEBACiAuXCIgKgogLlwiICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiAuXCIKLS5USCBDVVJMT1BUX0NFUlRJTkZPIDMgIkphbnVhcnkgMjksIDIwMTkiICJsaWJjdXJsIDcuNzAuMCIgImN1cmxfZWFzeV9zZXRvcHQgb3B0aW9ucyIKKy5USCBDVVJMT1BUX0NFUlRJTkZPIDMgIkphbnVhcnkgMjksIDIwMTkiICJsaWJjdXJsIDcuNzEuMSIgImN1cmxfZWFzeV9zZXRvcHQgb3B0aW9ucyIKIAogLlNIIE5BTUUKIENVUkxPUFRfQ0VSVElORk8gXC0gcmVxdWVzdCBTU0wgY2VydGlmaWNhdGUgaW5mb3JtYXRpb24KZGlmZiAtLWdpdCBhL2RvY3MvbGliY3VybC9vcHRzL0NVUkxPUFRfQ0hVTktfQkdOX0ZVTkNUSU9OLjMgYi9kb2NzL2xpYmN1cmwvb3B0cy9DVVJMT1BUX0NIVU5LX0JHTl9GVU5DVElPTi4zCmluZGV4IGE2MGJmNjQuLjQ1MzMxNDkgMTAwNjQ0Ci0tLSBhL2RvY3MvbGliY3VybC9vcHRzL0NVUkxPUFRfQ0hVTktfQkdOX0ZVTkNUSU9OLjMKKysrIGIvZG9jcy9saWJjdXJsL29wdHMvQ1VSTE9QVF9DSFVOS19CR05fRlVOQ1RJT04uMwpAQCAtMjAsNyArMjAsNyBAQAogLlwiICoKIC5cIiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogLlwiCi0uVEggQ1VSTE9QVF9DSFVOS19CR05fRlVOQ1RJT04gMyAiTWF5IDAzLCAyMDE5IiAibGliY3VybCA3LjcwLjAiICJjdXJsX2Vhc3lfc2V0b3B0IG9wdGlvbnMiCisuVEggQ1VSTE9QVF9DSFVOS19CR05fRlVOQ1RJT04gMyAiTWF5IDAzLCAyMDE5IiAibGliY3VybCA3LjcxLjEiICJjdXJsX2Vhc3lfc2V0b3B0IG9wdGlvbnMiCiAKIC5TSCBOQU1FCiBDVVJMT1BUX0NIVU5LX0JHTl9GVU5DVElPTiBcLSBjYWxsYmFjayBiZWZvcmUgYSB0cmFuc2ZlciB3aXRoIEZUUCB3aWxkY2FyZG1hdGNoCmRpZmYgLS1naXQgYS9kb2NzL2xpYmN1cmwvb3B0cy9DVVJMT1BUX0NIVU5LX0RBVEEuMyBiL2RvY3MvbGliY3VybC9vcHRzL0NVUkxPUFRfQ0hVTktfREFUQS4zCmluZGV4IDFjNmFiN2IuLmY2ZDNlNzYgMTAwNjQ0Ci0tLSBhL2RvY3MvbGliY3VybC9vcHRzL0NVUkxPUFRfQ0hVTktfREFUQS4zCisrKyBiL2RvY3MvbGliY3VybC9vcHRzL0NVUkxPUFRfQ0hVTktfREFUQS4zCkBAIC0yMCw3ICsyMCw3IEBACiAuXCIgKgogLlwiICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiAuXCIKLS5USCBDVVJMT1BUX0NIVU5LX0RBVEEgMyAiTWFyY2ggMjMsIDIwMjAiICJsaWJjdXJsIDcuNzAuMCIgImN1cmxfZWFzeV9zZXRvcHQgb3B0aW9ucyIKKy5USCBDVVJMT1BUX0NIVU5LX0RBVEEgMyAiTWFyY2ggMjMsIDIwMjAiICJsaWJjdXJsIDcuNzEuMSIgImN1cmxfZWFzeV9zZXRvcHQgb3B0aW9ucyIKIAogLlNIIE5BTUUKIENVUkxPUFRfQ0hVTktfREFUQSBcLSBjdXN0b20gcG9pbnRlciB0byB0aGUgRlRQIGNodW5rIGNhbGxiYWNrcwpkaWZmIC0tZ2l0IGEvZG9jcy9saWJjdXJsL29wdHMvQ1VSTE9QVF9DSFVOS19FTkRfRlVOQ1RJT04uMyBiL2RvY3MvbGliY3VybC9vcHRzL0NVUkxPUFRfQ0hVTktfRU5EX0ZVTkNUSU9OLjMKaW5kZXggZjA0YjBlNy4uZDk5OWY2ZiAxMDA2NDQKLS0tIGEvZG9jcy9saWJjdXJsL29wdHMvQ1VSTE9QVF9DSFVOS19FTkRfRlVOQ1RJT04uMworKysgYi9kb2NzL2xpYmN1cmwvb3B0cy9DVVJMT1BUX0NIVU5LX0VORF9GVU5DVElPTi4zCkBAIC0yMCw3ICsyMCw3IEBACiAuXCIgKgogLlwiICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiAuXCIKLS5USCBDVVJMT1BUX0NIVU5LX0VORF9GVU5DVElPTiAzICJNYXkgMzEsIDIwMTciICJsaWJjdXJsIDcuNzAuMCIgImN1cmxfZWFzeV9zZXRvcHQgb3B0aW9ucyIKKy5USCBDVVJMT1BUX0NIVU5LX0VORF9GVU5DVElPTiAzICJNYXkgMzEsIDIwMTciICJsaWJjdXJsIDcuNzEuMSIgImN1cmxfZWFzeV9zZXRvcHQgb3B0aW9ucyIKIAogLlNIIE5BTUUKIENVUkxPUFRfQ0hVTktfRU5EX0ZVTkNUSU9OIFwtIGNhbGxiYWNrIGFmdGVyIGEgdHJhbnNmZXIgd2l0aCBGVFAgd2lsZGNhcmRtYXRjaApkaWZmIC0tZ2l0IGEvZG9jcy9saWJjdXJsL29wdHMvQ1VSTE9QVF9DTE9TRVNPQ0tFVERBVEEuMyBiL2RvY3MvbGliY3VybC9vcHRzL0NVUkxPUFRfQ0xPU0VTT0NLRVREQVRBLjMKaW5kZXggMThkOTIwZi4uZmExY2JjZiAxMDA2NDQKLS0tIGEvZG9jcy9saWJjdXJsL29wdHMvQ1VSTE9QVF9DTE9TRVNPQ0tFVERBVEEuMworKysgYi9kb2NzL2xpYmN1cmwvb3B0cy9DVVJMT1BUX0NMT1NFU09DS0VUREFUQS4zCkBAIC0yMCw3ICsyMCw3IEBACiAuXCIgKgogLlwiICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiAuXCIKLS5USCBDVVJMT1BUX0NMT1NFU09DS0VUREFUQSAzICJNYXJjaCAyMywgMjAyMCIgImxpYmN1cmwgNy43MC4wIiAiY3VybF9lYXN5X3NldG9wdCBvcHRpb25zIgorLlRIIENVUkxPUFRfQ0xPU0VTT0NLRVREQVRBIDMgIk1hcmNoIDIzLCAyMDIwIiAibGliY3VybCA3LjcxLjEiICJjdXJsX2Vhc3lfc2V0b3B0IG9wdGlvbnMiCiAKIC5TSCBOQU1FCiBDVVJMT1BUX0NMT1NFU09DS0VUREFUQSBcLSBwb2ludGVyIHBhc3NlZCB0byB0aGUgc29ja2V0IGNsb3NlIGNhbGxiYWNrCmRpZmYgLS1naXQgYS9kb2NzL2xpYmN1cmwvb3B0cy9DVVJMT1BUX0NMT1NFU09DS0VURlVOQ1RJT04uMyBiL2RvY3MvbGliY3VybC9vcHRzL0NVUkxPUFRfQ0xPU0VTT0NLRVRGVU5DVElPTi4zCmluZGV4IGMxYmU1NzIuLmUyZDRkNWUgMTAwNjQ0Ci0tLSBhL2RvY3MvbGliY3VybC9vcHRzL0NVUkxPUFRfQ0xPU0VTT0NLRVRGVU5DVElPTi4zCisrKyBiL2RvY3MvbGliY3VybC9vcHRzL0NVUkxPUFRfQ0xPU0VTT0NLRVRGVU5DVElPTi4zCkBAIC0yMCw3ICsyMCw3IEBACiAuXCIgKgogLlwiICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiAuXCIKLS5USCBDVVJMT1BUX0NMT1NFU09DS0VURlVOQ1RJT04gMyAiTWFyY2ggMjMsIDIwMjAiICJsaWJjdXJsIDcuNzAuMCIgImN1cmxfZWFzeV9zZXRvcHQgb3B0aW9ucyIKKy5USCBDVVJMT1BUX0NMT1NFU09DS0VURlVOQ1RJT04gMyAiTWFyY2ggMjMsIDIwMjAiICJsaWJjdXJsIDcuNzEuMSIgImN1cmxfZWFzeV9zZXRvcHQgb3B0aW9ucyIKIAogLlNIIE5BTUUKIENVUkxPUFRfQ0xPU0VTT0NLRVRGVU5DVElPTiBcLSBjYWxsYmFjayB0byBzb2NrZXQgY2xvc2UgcmVwbGFjZW1lbnQgZnVuY3Rpb24KZGlmZiAtLWdpdCBhL2RvY3MvbGliY3VybC9vcHRzL0NVUkxPUFRfQ09OTkVDVFRJTUVPVVQuMyBiL2RvY3MvbGliY3VybC9vcHRzL0NVUkxPUFRfQ09OTkVDVFRJTUVPVVQuMwppbmRleCBmMmMyNzVjLi44ZTAzNmNiIDEwMDY0NAotLS0gYS9kb2NzL2xpYmN1cmwvb3B0cy9DVVJMT1BUX0NPTk5FQ1RUSU1FT1VULjMKKysrIGIvZG9jcy9saWJjdXJsL29wdHMvQ1VSTE9QVF9DT05ORUNUVElNRU9VVC4zCkBAIC0yMCw3ICsyMCw3IEBACiAuXCIgKgogLlwiICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiAuXCIKLS5USCBDVVJMT1BUX0NPTk5FQ1RUSU1FT1VUIDMgIk9jdG9iZXIgMDMsIDIwMTciICJsaWJjdXJsIDcuNzAuMCIgImN1cmxfZWFzeV9zZXRvcHQgb3B0aW9ucyIKKy5USCBDVVJMT1BUX0NPTk5FQ1RUSU1FT1VUIDMgIk9jdG9iZXIgMDMsIDIwMTciICJsaWJjdXJsIDcuNzEuMSIgImN1cmxfZWFzeV9zZXRvcHQgb3B0aW9ucyIKIAogLlNIIE5BTUUKIENVUkxPUFRfQ09OTkVDVFRJTUVPVVQgXC0gdGltZW91dCBmb3IgdGhlIGNvbm5lY3QgcGhhc2UKZGlmZiAtLWdpdCBhL2RvY3MvbGliY3VybC9vcHRzL0NVUkxPUFRfQ09OTkVDVFRJTUVPVVRfTVMuMyBiL2RvY3MvbGliY3VybC9vcHRzL0NVUkxPUFRfQ09OTkVDVFRJTUVPVVRfTVMuMwppbmRleCBkZTlmOWFmLi5hOThkMjNjIDEwMDY0NAotLS0gYS9kb2NzL2xpYmN1cmwvb3B0cy9DVVJMT1BUX0NPTk5FQ1RUSU1FT1VUX01TLjMKKysrIGIvZG9jcy9saWJjdXJsL29wdHMvQ1VSTE9QVF9DT05ORUNUVElNRU9VVF9NUy4zCkBAIC0yMCw3ICsyMCw3IEBACiAuXCIgKgogLlwiICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiAuXCIKLS5USCBDVVJMT1BUX0NPTk5FQ1RUSU1FT1VUX01TIDMgIk1hcmNoIDIzLCAyMDIwIiAibGliY3VybCA3LjcwLjAiICJjdXJsX2Vhc3lfc2V0b3B0IG9wdGlvbnMiCisuVEggQ1VSTE9QVF9DT05ORUNUVElNRU9VVF9NUyAzICJNYXJjaCAyMywgMjAyMCIgImxpYmN1cmwgNy43MS4xIiAiY3VybF9lYXN5X3NldG9wdCBvcHRpb25zIgogCiAuU0ggTkFNRQogQ1VSTE9QVF9DT05ORUNUVElNRU9VVF9NUyBcLSB0aW1lb3V0IGZvciB0aGUgY29ubmVjdCBwaGFzZQpkaWZmIC0tZ2l0IGEvZG9jcy9saWJjdXJsL29wdHMvQ1VSTE9QVF9DT05ORUNUX09OTFkuMyBiL2RvY3MvbGliY3VybC9vcHRzL0NVUkxPUFRfQ09OTkVDVF9PTkxZLjMKaW5kZXggYzdjYTBiZi4uYTY0NTljOSAxMDA2NDQKLS0tIGEvZG9jcy9saWJjdXJsL29wdHMvQ1VSTE9QVF9DT05ORUNUX09OTFkuMworKysgYi9kb2NzL2xpYmN1cmwvb3B0cy9DVVJMT1BUX0NPTk5FQ1RfT05MWS4zCkBAIC0yMCw3ICsyMCw3IEBACiAuXCIgKgogLlwiICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiAuXCIKLS5USCBDVVJMT1BUX0NPTk5FQ1RfT05MWSAzICJGZWJydWFyeSAxOCwgMjAxOSIgImxpYmN1cmwgNy43MC4wIiAiY3VybF9lYXN5X3NldG9wdCBvcHRpb25zIgorLlRIIENVUkxPUFRfQ09OTkVDVF9PTkxZIDMgIkZlYnJ1YXJ5IDE4LCAyMDE5IiAibGliY3VybCA3LjcxLjEiICJjdXJsX2Vhc3lfc2V0b3B0IG9wdGlvbnMiCiAKIC5TSCBOQU1FCiBDVVJMT1BUX0NPTk5FQ1RfT05MWSBcLSBzdG9wIHdoZW4gY29ubmVjdGVkIHRvIHRhcmdldCBzZXJ2ZXIKZGlmZiAtLWdpdCBhL2RvY3MvbGliY3VybC9vcHRzL0NVUkxPUFRfQ09OTkVDVF9UTy4zIGIvZG9jcy9saWJjdXJsL29wdHMvQ1VSTE9QVF9DT05ORUNUX1RPLjMKaW5kZXggMjVlYzlkZi4uYWQwYmZhZSAxMDA2NDQKLS0tIGEvZG9jcy9saWJjdXJsL29wdHMvQ1VSTE9QVF9DT05ORUNUX1RPLjMKKysrIGIvZG9jcy9saWJjdXJsL29wdHMvQ1VSTE9QVF9DT05ORUNUX1RPLjMKQEAgLTIwLDcgKzIwLDcgQEAKIC5cIiAqCiAuXCIgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKIC5cIgotLlRIIENVUkxPUFRfQ09OTkVDVF9UTyAzICJNYXJjaCAyMywgMjAyMCIgImxpYmN1cmwgNy43MC4wIiAiY3VybF9lYXN5X3NldG9wdCBvcHRpb25zIgorLlRIIENVUkxPUFRfQ09OTkVDVF9UTyAzICJNYXJjaCAyMywgMjAyMCIgImxpYmN1cmwgNy43MS4xIiAiY3VybF9lYXN5X3NldG9wdCBvcHRpb25zIgogCiAuU0ggTkFNRQogQ1VSTE9QVF9DT05ORUNUX1RPIFwtIENvbm5lY3QgdG8gYSBzcGVjaWZpYyBob3N0IGFuZCBwb3J0IGluc3RlYWQgb2YgdGhlIFVSTCdzIGhvc3QgYW5kIHBvcnQKZGlmZiAtLWdpdCBhL2RvY3MvbGliY3VybC9vcHRzL0NVUkxPUFRfQ09OVl9GUk9NX05FVFdPUktfRlVOQ1RJT04uMyBiL2RvY3MvbGliY3VybC9vcHRzL0NVUkxPUFRfQ09OVl9GUk9NX05FVFdPUktfRlVOQ1RJT04uMwppbmRleCA4NGYxMDJjLi45M2ZjNWFkIDEwMDY0NAotLS0gYS9kb2NzL2xpYmN1cmwvb3B0cy9DVVJMT1BUX0NPTlZfRlJPTV9ORVRXT1JLX0ZVTkNUSU9OLjMKKysrIGIvZG9jcy9saWJjdXJsL29wdHMvQ1VSTE9QVF9DT05WX0ZST01fTkVUV09SS19GVU5DVElPTi4zCkBAIC0yMCw3ICsyMCw3IEBACiAuXCIgKgogLlwiICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiAuXCIKLS5USCBDVVJMT1BUX0NPTlZfRlJPTV9ORVRXT1JLX0ZVTkNUSU9OIDMgIk1heSAzMSwgMjAxNyIgImxpYmN1cmwgNy43MC4wIiAiY3VybF9lYXN5X3NldG9wdCBvcHRpb25zIgorLlRIIENVUkxPUFRfQ09OVl9GUk9NX05FVFdPUktfRlVOQ1RJT04gMyAiTWF5IDMxLCAyMDE3IiAibGliY3VybCA3LjcxLjEiICJjdXJsX2Vhc3lfc2V0b3B0IG9wdGlvbnMiCiAKIC5TSCBOQU1FCiBDVVJMT1BUX0NPTlZfRlJPTV9ORVRXT1JLX0ZVTkNUSU9OIFwtIGNvbnZlcnQgZGF0YSBmcm9tIG5ldHdvcmsgdG8gaG9zdCBlbmNvZGluZwpkaWZmIC0tZ2l0IGEvZG9jcy9saWJjdXJsL29wdHMvQ1VSTE9QVF9DT05WX0ZST01fVVRGOF9GVU5DVElPTi4zIGIvZG9jcy9saWJjdXJsL29wdHMvQ1VSTE9QVF9DT05WX0ZST01fVVRGOF9GVU5DVElPTi4zCmluZGV4IGQ0YTM3NDMuLjZmZDE5YTMgMTAwNjQ0Ci0tLSBhL2RvY3MvbGliY3VybC9vcHRzL0NVUkxPUFRfQ09OVl9GUk9NX1VURjhfRlVOQ1RJT04uMworKysgYi9kb2NzL2xpYmN1cmwvb3B0cy9DVVJMT1BUX0NPTlZfRlJPTV9VVEY4X0ZVTkNUSU9OLjMKQEAgLTIwLDcgKzIwLDcgQEAKIC5cIiAqCiAuXCIgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKIC5cIgotLlRIIENVUkxPUFRfQ09OVl9GUk9NX1VURjhfRlVOQ1RJT04gMyAiTWF5IDMxLCAyMDE3IiAibGliY3VybCA3LjcwLjAiICJjdXJsX2Vhc3lfc2V0b3B0IG9wdGlvbnMiCisuVEggQ1VSTE9QVF9DT05WX0ZST01fVVRGOF9GVU5DVElPTiAzICJNYXkgMzEsIDIwMTciICJsaWJjdXJsIDcuNzEuMSIgImN1cmxfZWFzeV9zZXRvcHQgb3B0aW9ucyIKIAogLlNIIE5BTUUKIENVUkxPUFRfQ09OVl9GUk9NX1VURjhfRlVOQ1RJT04gXC0gY29udmVydCBkYXRhIGZyb20gVVRGOCB0byBob3N0IGVuY29kaW5nCmRpZmYgLS1naXQgYS9kb2NzL2xpYmN1cmwvb3B0cy9DVVJMT1BUX0NPTlZfVE9fTkVUV09SS19GVU5DVElPTi4zIGIvZG9jcy9saWJjdXJsL29wdHMvQ1VSTE9QVF9DT05WX1RPX05FVFdPUktfRlVOQ1RJT04uMwppbmRleCBhNzYwMjJmLi42NjE0Y2IzIDEwMDY0NAotLS0gYS9kb2NzL2xpYmN1cmwvb3B0cy9DVVJMT1BUX0NPTlZfVE9fTkVUV09SS19GVU5DVElPTi4zCisrKyBiL2RvY3MvbGliY3VybC9vcHRzL0NVUkxPUFRfQ09OVl9UT19ORVRXT1JLX0ZVTkNUSU9OLjMKQEAgLTIwLDcgKzIwLDcgQEAKIC5cIiAqCiAuXCIgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKIC5cIgotLlRIIENVUkxPUFRfQ09OVl9UT19ORVRXT1JLX0ZVTkNUSU9OIDMgIk1heSAzMSwgMjAxNyIgImxpYmN1cmwgNy43MC4wIiAiY3VybF9lYXN5X3NldG9wdCBvcHRpb25zIgorLlRIIENVUkxPUFRfQ09OVl9UT19ORVRXT1JLX0ZVTkNUSU9OIDMgIk1heSAzMSwgMjAxNyIgImxpYmN1cmwgNy43MS4xIiAiY3VybF9lYXN5X3NldG9wdCBvcHRpb25zIgogCiAuU0ggTkFNRQogQ1VSTE9QVF9DT05WX1RPX05FVFdPUktfRlVOQ1RJT04gXC0gY29udmVydCBkYXRhIHRvIG5ldHdvcmsgZnJvbSBob3N0IGVuY29kaW5nCmRpZmYgLS1naXQgYS9kb2NzL2xpYmN1cmwvb3B0cy9DVVJMT1BUX0NPT0tJRS4zIGIvZG9jcy9saWJjdXJsL29wdHMvQ1VSTE9QVF9DT09LSUUuMwppbmRleCBlODIwOWFmLi4wYWY4YTQ0IDEwMDY0NAotLS0gYS9kb2NzL2xpYmN1cmwvb3B0cy9DVVJMT1BUX0NPT0tJRS4zCisrKyBiL2RvY3MvbGliY3VybC9vcHRzL0NVUkxPUFRfQ09PS0lFLjMKQEAgLTIwLDcgKzIwLDcgQEAKIC5cIiAqCiAuXCIgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKIC5cIgotLlRIIENVUkxPUFRfQ09PS0lFIDMgIk1hcmNoIDIzLCAyMDIwIiAibGliY3VybCA3LjcwLjAiICJjdXJsX2Vhc3lfc2V0b3B0IG9wdGlvbnMiCisuVEggQ1VSTE9QVF9DT09LSUUgMyAiSnVuZSAyNSwgMjAyMCIgImxpYmN1cmwgNy43MS4xIiAiY3VybF9lYXN5X3NldG9wdCBvcHRpb25zIgogCiAuU0ggTkFNRQogQ1VSTE9QVF9DT09LSUUgXC0gc2V0IGNvbnRlbnRzIG9mIEhUVFAgQ29va2llIGhlYWRlcgpAQCAtMjksNyArMjksNyBAQAogCiBDVVJMY29kZSBjdXJsX2Vhc3lfc2V0b3B0KENVUkwgKmhhbmRsZSwgQ1VSTE9QVF9DT09LSUUsIGNoYXIgKmNvb2tpZSk7CiAuU0ggREVTQ1JJUFRJT04KLVBhc3MgYSBwb2ludGVyIHRvIGEgemVybyB0ZXJtaW5hdGVkIHN0cmluZyBhcyBwYXJhbWV0ZXIuIEl0IHdpbGwgYmUgdXNlZCB0bworUGFzcyBhIHBvaW50ZXIgdG8gYSBudWxsLXRlcm1pbmF0ZWQgc3RyaW5nIGFzIHBhcmFtZXRlci4gSXQgd2lsbCBiZSB1c2VkIHRvCiBzZXQgYSBjb29raWUgaW4gdGhlIEhUVFAgcmVxdWVzdC4gVGhlIGZvcm1hdCBvZiB0aGUgc3RyaW5nIHNob3VsZCBiZQogTkFNRT1DT05URU5UUywgd2hlcmUgTkFNRSBpcyB0aGUgY29va2llIG5hbWUgYW5kIENPTlRFTlRTIGlzIHdoYXQgdGhlIGNvb2tpZQogc2hvdWxkIGNvbnRhaW4uCmRpZmYgLS1naXQgYS9kb2NzL2xpYmN1cmwvb3B0cy9DVVJMT1BUX0NPT0tJRUZJTEUuMyBiL2RvY3MvbGliY3VybC9vcHRzL0NVUkxPUFRfQ09PS0lFRklMRS4zCmluZGV4IDFjZjkzZTAuLjk3NmExNDggMTAwNjQ0Ci0tLSBhL2RvY3MvbGliY3VybC9vcHRzL0NVUkxPUFRfQ09PS0lFRklMRS4zCisrKyBiL2RvY3MvbGliY3VybC9vcHRzL0NVUkxPUFRfQ09PS0lFRklMRS4zCkBAIC0yMCw3ICsyMCw3IEBACiAuXCIgKgogLlwiICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiAuXCIKLS5USCBDVVJMT1BUX0NPT0tJRUZJTEUgMyAiSmFudWFyeSAxMCwgMjAyMCIgImxpYmN1cmwgNy43MC4wIiAiY3VybF9lYXN5X3NldG9wdCBvcHRpb25zIgorLlRIIENVUkxPUFRfQ09PS0lFRklMRSAzICJKdW5lIDI1LCAyMDIwIiAibGliY3VybCA3LjcxLjEiICJjdXJsX2Vhc3lfc2V0b3B0IG9wdGlvbnMiCiAKIC5TSCBOQU1FCiBDVVJMT1BUX0NPT0tJRUZJTEUgXC0gZmlsZSBuYW1lIHRvIHJlYWQgY29va2llcyBmcm9tCkBAIC0yOSw3ICsyOSw3IEBACiAKIENVUkxjb2RlIGN1cmxfZWFzeV9zZXRvcHQoQ1VSTCAqaGFuZGxlLCBDVVJMT1BUX0NPT0tJRUZJTEUsIGNoYXIgKmZpbGVuYW1lKTsKIC5TSCBERVNDUklQVElPTgotUGFzcyBhIHBvaW50ZXIgdG8gYSB6ZXJvIHRlcm1pbmF0ZWQgc3RyaW5nIGFzIHBhcmFtZXRlci4gSXQgc2hvdWxkIHBvaW50IHRvCitQYXNzIGEgcG9pbnRlciB0byBhIG51bGwtdGVybWluYXRlZCBzdHJpbmcgYXMgcGFyYW1ldGVyLiBJdCBzaG91bGQgcG9pbnQgdG8KIHRoZSBmaWxlIG5hbWUgb2YgeW91ciBmaWxlIGhvbGRpbmcgY29va2llIGRhdGEgdG8gcmVhZC4gVGhlIGNvb2tpZSBkYXRhIGNhbiBiZQogaW4gZWl0aGVyIHRoZSBvbGQgTmV0c2NhcGUgLyBNb3ppbGxhIGNvb2tpZSBkYXRhIGZvcm1hdCBvciBqdXN0IHJlZ3VsYXIgSFRUUAogaGVhZGVycyAoU2V0LUNvb2tpZSBzdHlsZSkgZHVtcGVkIHRvIGEgZmlsZS4KZGlmZiAtLWdpdCBhL2RvY3MvbGliY3VybC9vcHRzL0NVUkxPUFRfQ09PS0lFSkFSLjMgYi9kb2NzL2xpYmN1cmwvb3B0cy9DVVJMT1BUX0NPT0tJRUpBUi4zCmluZGV4IGU3NTc5ZmUuLmQyYzU3YTggMTAwNjQ0Ci0tLSBhL2RvY3MvbGliY3VybC9vcHRzL0NVUkxPUFRfQ09PS0lFSkFSLjMKKysrIGIvZG9jcy9saWJjdXJsL29wdHMvQ1VSTE9QVF9DT09LSUVKQVIuMwpAQCAtMjAsNyArMjAsNyBAQAogLlwiICoKIC5cIiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogLlwiCi0uVEggQ1VSTE9QVF9DT09LSUVKQVIgMyAiTWF5IDA1LCAyMDE3IiAibGliY3VybCA3LjcwLjAiICJjdXJsX2Vhc3lfc2V0b3B0IG9wdGlvbnMiCisuVEggQ1VSTE9QVF9DT09LSUVKQVIgMyAiSnVuZSAyNSwgMjAyMCIgImxpYmN1cmwgNy43MS4xIiAiY3VybF9lYXN5X3NldG9wdCBvcHRpb25zIgogCiAuU0ggTkFNRQogQ1VSTE9QVF9DT09LSUVKQVIgXC0gZmlsZSBuYW1lIHRvIHN0b3JlIGNvb2tpZXMgdG8KQEAgLTI5LDcgKzI5LDcgQEAKIAogQ1VSTGNvZGUgY3VybF9lYXN5X3NldG9wdChDVVJMICpoYW5kbGUsIENVUkxPUFRfQ09PS0lFSkFSLCBjaGFyICpmaWxlbmFtZSk7CiAuU0ggREVTQ1JJUFRJT04KLVBhc3MgYSBcZklmaWxlbmFtZVxmUCBhcyBjaGFyICosIHplcm8gdGVybWluYXRlZC4gVGhpcyB3aWxsIG1ha2UgbGliY3VybCB3cml0ZQorUGFzcyBhIFxmSWZpbGVuYW1lXGZQIGFzIGNoYXIgKiwgbnVsbC10ZXJtaW5hdGVkLiBUaGlzIHdpbGwgbWFrZSBsaWJjdXJsIHdyaXRlCiBhbGwgaW50ZXJuYWxseSBrbm93biBjb29raWVzIHRvIHRoZSBzcGVjaWZpZWQgZmlsZSB3aGVuCiBcZkljdXJsX2Vhc3lfY2xlYW51cCgzKVxmUCBpcyBjYWxsZWQuIElmIG5vIGNvb2tpZXMgYXJlIGtub3duLCBubyBmaWxlIHdpbGwgYmUKIGNyZWF0ZWQuIFNwZWNpZnkgIi0iIGFzIGZpbGVuYW1lIHRvIGluc3RlYWQgaGF2ZSB0aGUgY29va2llcyB3cml0dGVuIHRvCmRpZmYgLS1naXQgYS9kb2NzL2xpYmN1cmwvb3B0cy9DVVJMT1BUX0NPT0tJRUxJU1QuMyBiL2RvY3MvbGliY3VybC9vcHRzL0NVUkxPUFRfQ09PS0lFTElTVC4zCmluZGV4IDdhYzk3NTIuLjE1ZmJiYTMgMTAwNjQ0Ci0tLSBhL2RvY3MvbGliY3VybC9vcHRzL0NVUkxPUFRfQ09PS0lFTElTVC4zCisrKyBiL2RvY3MvbGliY3VybC9vcHRzL0NVUkxPUFRfQ09PS0lFTElTVC4zCkBAIC0yMCw3ICsyMCw3IEBACiAuXCIgKgogLlwiICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiAuXCIKLS5USCBDVVJMT1BUX0NPT0tJRUxJU1QgMyAiSmFudWFyeSAxMCwgMjAyMCIgImxpYmN1cmwgNy43MC4wIiAiY3VybF9lYXN5X3NldG9wdCBvcHRpb25zIgorLlRIIENVUkxPUFRfQ09PS0lFTElTVCAzICJKYW51YXJ5IDEwLCAyMDIwIiAibGliY3VybCA3LjcxLjEiICJjdXJsX2Vhc3lfc2V0b3B0IG9wdGlvbnMiCiAKIC5TSCBOQU1FCiBDVVJMT1BUX0NPT0tJRUxJU1QgXC0gYWRkIHRvIG9yIG1hbmlwdWxhdGUgY29va2llcyBoZWxkIGluIG1lbW9yeQpkaWZmIC0tZ2l0IGEvZG9jcy9saWJjdXJsL29wdHMvQ1VSTE9QVF9DT09LSUVTRVNTSU9OLjMgYi9kb2NzL2xpYmN1cmwvb3B0cy9DVVJMT1BUX0NPT0tJRVNFU1NJT04uMwppbmRleCA3YzgyZmIzLi43OTUwYzc3IDEwMDY0NAotLS0gYS9kb2NzL2xpYmN1cmwvb3B0cy9DVVJMT1BUX0NPT0tJRVNFU1NJT04uMworKysgYi9kb2NzL2xpYmN1cmwvb3B0cy9DVVJMT1BUX0NPT0tJRVNFU1NJT04uMwpAQCAtMjAsNyArMjAsNyBAQAogLlwiICoKIC5cIiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogLlwiCi0uVEggQ1VSTE9QVF9DT09LSUVTRVNTSU9OIDMgIk1heSAwNSwgMjAxNyIgImxpYmN1cmwgNy43MC4wIiAiY3VybF9lYXN5X3NldG9wdCBvcHRpb25zIgorLlRIIENVUkxPUFRfQ09PS0lFU0VTU0lPTiAzICJNYXkgMDUsIDIwMTciICJsaWJjdXJsIDcuNzEuMSIgImN1cmxfZWFzeV9zZXRvcHQgb3B0aW9ucyIKIAogLlNIIE5BTUUKIENVUkxPUFRfQ09PS0lFU0VTU0lPTiBcLSBzdGFydCBhIG5ldyBjb29raWUgc2Vzc2lvbgpkaWZmIC0tZ2l0IGEvZG9jcy9saWJjdXJsL29wdHMvQ1VSTE9QVF9DT1BZUE9TVEZJRUxEUy4zIGIvZG9jcy9saWJjdXJsL29wdHMvQ1VSTE9QVF9DT1BZUE9TVEZJRUxEUy4zCmluZGV4IDhlYmMxZjYuLjI0YTljZDQgMTAwNjQ0Ci0tLSBhL2RvY3MvbGliY3VybC9vcHRzL0NVUkxPUFRfQ09QWVBPU1RGSUVMRFMuMworKysgYi9kb2NzL2xpYmN1cmwvb3B0cy9DVVJMT1BUX0NPUFlQT1NURklFTERTLjMKQEAgLTIwLDcgKzIwLDcgQEAKIC5cIiAqCiAuXCIgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKIC5cIgotLlRIIENVUkxPUFRfQ09QWVBPU1RGSUVMRFMgMyAiTWFyY2ggMjMsIDIwMjAiICJsaWJjdXJsIDcuNzAuMCIgImN1cmxfZWFzeV9zZXRvcHQgb3B0aW9ucyIKKy5USCBDVVJMT1BUX0NPUFlQT1NURklFTERTIDMgIkp1bmUgMjUsIDIwMjAiICJsaWJjdXJsIDcuNzEuMSIgImN1cmxfZWFzeV9zZXRvcHQgb3B0aW9ucyIKIAogLlNIIE5BTUUKIENVUkxPUFRfQ09QWVBPU1RGSUVMRFMgXC0gaGF2ZSBsaWJjdXJsIGNvcHkgZGF0YSB0byBQT1NUCkBAIC0zNyw3ICszNyw3IEBACiBCZWNhdXNlIGRhdGEgYXJlIGNvcGllZCwgY2FyZSBtdXN0IGJlIHRha2VuIHdoZW4gdXNpbmcgdGhpcyBvcHRpb24gaW4KIGNvbmp1bmN0aW9uIHdpdGggXGZJQ1VSTE9QVF9QT1NURklFTERTSVpFKDMpXGZQIG9yCiBcZklDVVJMT1BUX1BPU1RGSUVMRFNJWkVfTEFSR0UoMylcZlA6IElmIHRoZSBzaXplIGhhcyBub3QgYmVlbiBzZXQgcHJpb3IgdG8KLVxmSUNVUkxPUFRfQ09QWVBPU1RGSUVMRFMoMylcZlAsIHRoZSBkYXRhIGlzIGFzc3VtZWQgdG8gYmUgYSB6ZXJvIHRlcm1pbmF0ZWQKK1xmSUNVUkxPUFRfQ09QWVBPU1RGSUVMRFMoMylcZlAsIHRoZSBkYXRhIGlzIGFzc3VtZWQgdG8gYmUgYSBudWxsLXRlcm1pbmF0ZWQKIHN0cmluZzsgZWxzZSB0aGUgc3RvcmVkIHNpemUgaW5mb3JtcyB0aGUgbGlicmFyeSBhYm91dCB0aGUgYnl0ZSBjb3VudCB0bwogY29weS4gSW4gYW55IGNhc2UsIHRoZSBzaXplIG11c3Qgbm90IGJlIGNoYW5nZWQgYWZ0ZXIKIFxmSUNVUkxPUFRfQ09QWVBPU1RGSUVMRFMoMylcZlAsIHVubGVzcyBhbm90aGVyIFxmSUNVUkxPUFRfUE9TVEZJRUxEUygzKVxmUCBvcgpkaWZmIC0tZ2l0IGEvZG9jcy9saWJjdXJsL29wdHMvQ1VSTE9QVF9DUkxGLjMgYi9kb2NzL2xpYmN1cmwvb3B0cy9DVVJMT1BUX0NSTEYuMwppbmRleCBiYjdlYTNmLi4wMGI4MGIyIDEwMDY0NAotLS0gYS9kb2NzL2xpYmN1cmwvb3B0cy9DVVJMT1BUX0NSTEYuMworKysgYi9kb2NzL2xpYmN1cmwvb3B0cy9DVVJMT1BUX0NSTEYuMwpAQCAtMjAsNyArMjAsNyBAQAogLlwiICoKIC5cIiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogLlwiCi0uVEggQ1VSTE9QVF9DUkxGIDMgIk1heSAzMSwgMjAxNyIgImxpYmN1cmwgNy43MC4wIiAiY3VybF9lYXN5X3NldG9wdCBvcHRpb25zIgorLlRIIENVUkxPUFRfQ1JMRiAzICJNYXkgMzEsIDIwMTciICJsaWJjdXJsIDcuNzEuMSIgImN1cmxfZWFzeV9zZXRvcHQgb3B0aW9ucyIKIAogLlNIIE5BTUUKIENVUkxPUFRfQ1JMRiBcLSBlbmFibGUvZGlzYWJsZSBDUkxGIGNvbnZlcnNpb24KZGlmZiAtLWdpdCBhL2RvY3MvbGliY3VybC9vcHRzL0NVUkxPUFRfQ1JMRklMRS4zIGIvZG9jcy9saWJjdXJsL29wdHMvQ1VSTE9QVF9DUkxGSUxFLjMKaW5kZXggNTYzMDg2NS4uM2Q5OWI3YyAxMDA2NDQKLS0tIGEvZG9jcy9saWJjdXJsL29wdHMvQ1VSTE9QVF9DUkxGSUxFLjMKKysrIGIvZG9jcy9saWJjdXJsL29wdHMvQ1VSTE9QVF9DUkxGSUxFLjMKQEAgLTUsNyArNSw3IEBACiAuXCIgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICB8IChfX3wgfF98IHwgIF8gPHwgfF9fXwogLlwiICogICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxfX198XF9fXy98X3wgXF9cX19fX198CiAuXCIgKgotLlwiICogQ29weXJpZ2h0IChDKSAxOTk4IC0gMjAxNywgRGFuaWVsIFN0ZW5iZXJnLCA8ZGFuaWVsQGhheHguc2U+LCBldCBhbC4KKy5cIiAqIENvcHlyaWdodCAoQykgMTk5OCAtIDIwMjAsIERhbmllbCBTdGVuYmVyZywgPGRhbmllbEBoYXh4LnNlPiwgZXQgYWwuCiAuXCIgKgogLlwiICogVGhpcyBzb2Z0d2FyZSBpcyBsaWNlbnNlZCBhcyBkZXNjcmliZWQgaW4gdGhlIGZpbGUgQ09QWUlORywgd2hpY2gKIC5cIiAqIHlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhcyBwYXJ0IG9mIHRoaXMgZGlzdHJpYnV0aW9uLiBUaGUgdGVybXMKQEAgLTIwLDcgKzIwLDcgQEAKIC5cIiAqCiAuXCIgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKIC5cIgotLlRIIENVUkxPUFRfQ1JMRklMRSAzICJNYXkgMzEsIDIwMTciICJsaWJjdXJsIDcuNzAuMCIgImN1cmxfZWFzeV9zZXRvcHQgb3B0aW9ucyIKKy5USCBDVVJMT1BUX0NSTEZJTEUgMyAiSnVuZSAyNSwgMjAyMCIgImxpYmN1cmwgNy43MS4xIiAiY3VybF9lYXN5X3NldG9wdCBvcHRpb25zIgogCiAuU0ggTkFNRQogQ1VSTE9QVF9DUkxGSUxFIFwtIHNwZWNpZnkgYSBDZXJ0aWZpY2F0ZSBSZXZvY2F0aW9uIExpc3QgZmlsZQpAQCAtMjksMTUgKzI5LDE4IEBACiAKIENVUkxjb2RlIGN1cmxfZWFzeV9zZXRvcHQoQ1VSTCAqaGFuZGxlLCBDVVJMT1BUX0NSTEZJTEUsIGNoYXIgKmZpbGUpOwogLlNIIERFU0NSSVBUSU9OCi1QYXNzIGEgY2hhciAqIHRvIGEgemVybyB0ZXJtaW5hdGVkIHN0cmluZyBuYW1pbmcgYSBcZklmaWxlXGZQIHdpdGggdGhlCitQYXNzIGEgY2hhciAqIHRvIGEgbnVsbC10ZXJtaW5hdGVkIHN0cmluZyBuYW1pbmcgYSBcZklmaWxlXGZQIHdpdGggdGhlCiBjb25jYXRlbmF0aW9uIG9mIENSTCAoaW4gUEVNIGZvcm1hdCkgdG8gdXNlIGluIHRoZSBjZXJ0aWZpY2F0ZSB2YWxpZGF0aW9uIHRoYXQKIG9jY3VycyBkdXJpbmcgdGhlIFNTTCBleGNoYW5nZS4KIAogV2hlbiBjdXJsIGlzIGJ1aWx0IHRvIHVzZSBOU1Mgb3IgR251VExTLCB0aGVyZSBpcyBubyB3YXkgdG8gaW5mbHVlbmNlIHRoZSB1c2UKLW9mIENSTCBwYXNzZWQgdG8gaGVscCBpbiB0aGUgdmVyaWZpY2F0aW9uIHByb2Nlc3MuIFdoZW4gbGliY3VybCBpcyBidWlsdCB3aXRoCi1PcGVuU1NMIHN1cHBvcnQsIFg1MDlfVl9GTEFHX0NSTF9DSEVDSyBhbmQgWDUwOV9WX0ZMQUdfQ1JMX0NIRUNLX0FMTCBhcmUgYm90aAotc2V0LCByZXF1aXJpbmcgQ1JMIGNoZWNrIGFnYWluc3QgYWxsIHRoZSBlbGVtZW50cyBvZiB0aGUgY2VydGlmaWNhdGUgY2hhaW4gaWYKLWEgQ1JMIGZpbGUgaXMgcGFzc2VkLgorb2YgQ1JMIHBhc3NlZCB0byBoZWxwIGluIHRoZSB2ZXJpZmljYXRpb24gcHJvY2Vzcy4KKworV2hlbiBsaWJjdXJsIGlzIGJ1aWx0IHdpdGggT3BlblNTTCBzdXBwb3J0LCBYNTA5X1ZfRkxBR19DUkxfQ0hFQ0sgYW5kCitYNTA5X1ZfRkxBR19DUkxfQ0hFQ0tfQUxMIGFyZSBib3RoIHNldCwgcmVxdWlyaW5nIENSTCBjaGVjayBhZ2FpbnN0IGFsbCB0aGUKK2VsZW1lbnRzIG9mIHRoZSBjZXJ0aWZpY2F0ZSBjaGFpbiBpZiBhIENSTCBmaWxlIGlzIHBhc3NlZC4gQWxzbyBub3RlIHRoYXQKK1xmSUNVUkxPUFRfQ1JMRklMRSgzKVxmUCB3aWxsIGltcGx5IFxmQkNVUkxTU0xPUFRfTk9fUEFSVElBTENIQUlOXGZQIChzZWUKK1xmSUNVUkxPUFRfU1NMX09QVElPTlMoMylcZlApIHNpbmNlIGN1cmwgNy43MS4wIGR1ZSB0byBhbiBPcGVuU1NMIGJ1Zy4KIAogVGhpcyBvcHRpb24gbWFrZXMgc2Vuc2Ugb25seSB3aGVuIHVzZWQgaW4gY29tYmluYXRpb24gd2l0aCB0aGUKIFxmSUNVUkxPUFRfU1NMX1ZFUklGWVBFRVIoMylcZlAgb3B0aW9uLgpkaWZmIC0tZ2l0IGEvZG9jcy9saWJjdXJsL29wdHMvQ1VSTE9QVF9DVVJMVS4zIGIvZG9jcy9saWJjdXJsL29wdHMvQ1VSTE9QVF9DVVJMVS4zCmluZGV4IDFiYTViNDEuLjk4YmI1NjAgMTAwNjQ0Ci0tLSBhL2RvY3MvbGliY3VybC9vcHRzL0NVUkxPUFRfQ1VSTFUuMworKysgYi9kb2NzL2xpYmN1cmwvb3B0cy9DVVJMT1BUX0NVUkxVLjMKQEAgLTIwLDcgKzIwLDcgQEAKIC5cIiAqCiAuXCIgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKIC5cIgotLlRIIENVUkxPUFRfQ1VSTFUgMyAiT2N0b2JlciAzMSwgMjAxOSIgImxpYmN1cmwgNy43MC4wIiAiY3VybF9lYXN5X3NldG9wdCBvcHRpb25zIgorLlRIIENVUkxPUFRfQ1VSTFUgMyAiT2N0b2JlciAzMSwgMjAxOSIgImxpYmN1cmwgNy43MS4xIiAiY3VybF9lYXN5X3NldG9wdCBvcHRpb25zIgogCiAuU0ggTkFNRQogQ1VSTE9QVF9DVVJMVSBcLSBzZXQgVVJMIHdpdGggQ1VSTFUgKgpkaWZmIC0tZ2l0IGEvZG9jcy9saWJjdXJsL29wdHMvQ1VSTE9QVF9DVVNUT01SRVFVRVNULjMgYi9kb2NzL2xpYmN1cmwvb3B0cy9DVVJMT1BUX0NVU1RPTVJFUVVFU1QuMwppbmRleCBhNWZlYzI0Li44OTEwNmE5IDEwMDY0NAotLS0gYS9kb2NzL2xpYmN1cmwvb3B0cy9DVVJMT1BUX0NVU1RPTVJFUVVFU1QuMworKysgYi9kb2NzL2xpYmN1cmwvb3B0cy9DVVJMT1BUX0NVU1RPTVJFUVVFU1QuMwpAQCAtMjAsNyArMjAsNyBAQAogLlwiICoKIC5cIiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogLlwiCi0uVEggQ1VSTE9QVF9DVVNUT01SRVFVRVNUIDMgIk1hcmNoIDIzLCAyMDIwIiAibGliY3VybCA3LjcwLjAiICJjdXJsX2Vhc3lfc2V0b3B0IG9wdGlvbnMiCisuVEggQ1VSTE9QVF9DVVNUT01SRVFVRVNUIDMgIkp1bmUgMjUsIDIwMjAiICJsaWJjdXJsIDcuNzEuMSIgImN1cmxfZWFzeV9zZXRvcHQgb3B0aW9ucyIKIAogLlNIIE5BTUUKIENVUkxPUFRfQ1VTVE9NUkVRVUVTVCBcLSBjdXN0b20gc3RyaW5nIGZvciByZXF1ZXN0CkBAIC0yOSw3ICsyOSw3IEBACiAKIENVUkxjb2RlIGN1cmxfZWFzeV9zZXRvcHQoQ1VSTCAqaGFuZGxlLCBDVVJMT1BUX0NVU1RPTVJFUVVFU1QsIGNoYXIgKnJlcXVlc3QpOwogLlNIIERFU0NSSVBUSU9OCi1QYXNzIGEgcG9pbnRlciB0byBhIHplcm8gdGVybWluYXRlZCBzdHJpbmcgYXMgcGFyYW1ldGVyLgorUGFzcyBhIHBvaW50ZXIgdG8gYSBudWxsLXRlcm1pbmF0ZWQgc3RyaW5nIGFzIHBhcmFtZXRlci4KIAogV2hlbiB5b3UgY2hhbmdlIHRoZSByZXF1ZXN0IG1ldGhvZCBieSBzZXR0aW5nIFxmSUNVUkxPUFRfQ1VTVE9NUkVRVUVTVCgzKVxmUAogdG8gc29tZXRoaW5nLCB5b3UgZG9uJ3QgYWN0dWFsbHkgY2hhbmdlIGhvdyBsaWJjdXJsIGJlaGF2ZXMgb3IgYWN0cyBpbiByZWdhcmRzCmRpZmYgLS1naXQgYS9kb2NzL2xpYmN1cmwvb3B0cy9DVVJMT1BUX0RFQlVHREFUQS4zIGIvZG9jcy9saWJjdXJsL29wdHMvQ1VSTE9QVF9ERUJVR0RBVEEuMwppbmRleCAwOGI1ZWZiLi45ZDQxMzgyIDEwMDY0NAotLS0gYS9kb2NzL2xpYmN1cmwvb3B0cy9DVVJMT1BUX0RFQlVHREFUQS4zCisrKyBiL2RvY3MvbGliY3VybC9vcHRzL0NVUkxPUFRfREVCVUdEQVRBLjMKQEAgLTIwLDcgKzIwLDcgQEAKIC5cIiAqCiAuXCIgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKIC5cIgotLlRIIENVUkxPUFRfREVCVUdEQVRBIDMgIk1hcmNoIDIzLCAyMDIwIiAibGliY3VybCA3LjcwLjAiICJjdXJsX2Vhc3lfc2V0b3B0IG9wdGlvbnMiCisuVEggQ1VSTE9QVF9ERUJVR0RBVEEgMyAiTWFyY2ggMjMsIDIwMjAiICJsaWJjdXJsIDcuNzEuMSIgImN1cmxfZWFzeV9zZXRvcHQgb3B0aW9ucyIKIAogLlNIIE5BTUUKIENVUkxPUFRfREVCVUdEQVRBIFwtIGN1c3RvbSBwb2ludGVyIGZvciBkZWJ1ZyBjYWxsYmFjawpkaWZmIC0tZ2l0IGEvZG9jcy9saWJjdXJsL29wdHMvQ1VSTE9QVF9ERUJVR0ZVTkNUSU9OLjMgYi9kb2NzL2xpYmN1cmwvb3B0cy9DVVJMT1BUX0RFQlVHRlVOQ1RJT04uMwppbmRleCAxZmM2ZDdhLi4zMTlhNWQzIDEwMDY0NAotLS0gYS9kb2NzL2xpYmN1cmwvb3B0cy9DVVJMT1BUX0RFQlVHRlVOQ1RJT04uMworKysgYi9kb2NzL2xpYmN1cmwvb3B0cy9DVVJMT1BUX0RFQlVHRlVOQ1RJT04uMwpAQCAtMjAsNyArMjAsNyBAQAogLlwiICoKIC5cIiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogLlwiCi0uVEggQ1VSTE9QVF9ERUJVR0ZVTkNUSU9OIDMgIk1hcmNoIDIzLCAyMDIwIiAibGliY3VybCA3LjcwLjAiICJjdXJsX2Vhc3lfc2V0b3B0IG9wdGlvbnMiCisuVEggQ1VSTE9QVF9ERUJVR0ZVTkNUSU9OIDMgIkp1bmUgMjUsIDIwMjAiICJsaWJjdXJsIDcuNzEuMSIgImN1cmxfZWFzeV9zZXRvcHQgb3B0aW9ucyIKIAogLlNIIE5BTUUKIENVUkxPUFRfREVCVUdGVU5DVElPTiBcLSBkZWJ1ZyBjYWxsYmFjawpAQCAtNTUsNyArNTUsNyBAQAogXGZJQ1VSTE9QVF9WRVJCT1NFKDMpXGZQIGlzIGluIGVmZmVjdC4gVGhpcyBjYWxsYmFjayByZWNlaXZlcyBkZWJ1ZwogaW5mb3JtYXRpb24sIGFzIHNwZWNpZmllZCBpbiB0aGUgXGZJdHlwZVxmUCBhcmd1bWVudC4gVGhpcyBmdW5jdGlvbiBtdXN0CiByZXR1cm4gMC4gVGhlIFxmSWRhdGFcZlAgcG9pbnRlZCB0byBieSB0aGUgY2hhciAqIHBhc3NlZCB0byB0aGlzIGZ1bmN0aW9uIFdJTEwKLU5PVCBiZSB6ZXJvIHRlcm1pbmF0ZWQsIGJ1dCB3aWxsIGJlIGV4YWN0bHkgb2YgdGhlIFxmSXNpemVcZlAgYXMgdG9sZCBieSB0aGUKK05PVCBiZSBudWxsLXRlcm1pbmF0ZWQsIGJ1dCB3aWxsIGJlIGV4YWN0bHkgb2YgdGhlIFxmSXNpemVcZlAgYXMgdG9sZCBieSB0aGUKIFxmSXNpemVcZlAgYXJndW1lbnQuCiAKIFRoZSBcZkl1c2VycHRyXGZQIGFyZ3VtZW50IGlzIHRoZSBwb2ludGVyIHNldCB3aXRoIFxmSUNVUkxPUFRfREVCVUdEQVRBKDMpXGZQLgpkaWZmIC0tZ2l0IGEvZG9jcy9saWJjdXJsL29wdHMvQ1VSTE9QVF9ERUZBVUxUX1BST1RPQ09MLjMgYi9kb2NzL2xpYmN1cmwvb3B0cy9DVVJMT1BUX0RFRkFVTFRfUFJPVE9DT0wuMwppbmRleCA2YWIwNDZiLi5hZTZiZDA2IDEwMDY0NAotLS0gYS9kb2NzL2xpYmN1cmwvb3B0cy9DVVJMT1BUX0RFRkFVTFRfUFJPVE9DT0wuMworKysgYi9kb2NzL2xpYmN1cmwvb3B0cy9DVVJMT1BUX0RFRkFVTFRfUFJPVE9DT0wuMwpAQCAtMjAsNyArMjAsNyBAQAogLlwiICoKIC5cIiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogLlwiCi0uVEggQ1VSTE9QVF9ERUZBVUxUX1BST1RPQ09MIDMgIk1hcmNoIDIzLCAyMDIwIiAibGliY3VybCA3LjcwLjAiICJjdXJsX2Vhc3lfc2V0b3B0IG9wdGlvbnMiCisuVEggQ1VSTE9QVF9ERUZBVUxUX1BST1RPQ09MIDMgIk1hcmNoIDIzLCAyMDIwIiAibGliY3VybCA3LjcxLjEiICJjdXJsX2Vhc3lfc2V0b3B0IG9wdGlvbnMiCiAKIC5TSCBOQU1FCiBDVVJMT1BUX0RFRkFVTFRfUFJPVE9DT0wgXC0gZGVmYXVsdCBwcm90b2NvbCB0byB1c2UgaWYgdGhlIFVSTCBpcyBtaXNzaW5nIGEKZGlmZiAtLWdpdCBhL2RvY3MvbGliY3VybC9vcHRzL0NVUkxPUFRfRElSTElTVE9OTFkuMyBiL2RvY3MvbGliY3VybC9vcHRzL0NVUkxPUFRfRElSTElTVE9OTFkuMwppbmRleCAyZDczNzMwLi42Mzk2YWQyIDEwMDY0NAotLS0gYS9kb2NzL2xpYmN1cmwvb3B0cy9DVVJMT1BUX0RJUkxJU1RPTkxZLjMKKysrIGIvZG9jcy9saWJjdXJsL29wdHMvQ1VSTE9QVF9ESVJMSVNUT05MWS4zCkBAIC0yMCw3ICsyMCw3IEBACiAuXCIgKgogLlwiICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiAuXCIKLS5USCBDVVJMT1BUX0RJUkxJU1RPTkxZIDMgIk1heSAwNSwgMjAxNyIgImxpYmN1cmwgNy43MC4wIiAiY3VybF9lYXN5X3NldG9wdCBvcHRpb25zIgorLlRIIENVUkxPUFRfRElSTElTVE9OTFkgMyAiTWF5IDA1LCAyMDE3IiAibGliY3VybCA3LjcxLjEiICJjdXJsX2Vhc3lfc2V0b3B0IG9wdGlvbnMiCiAKIC5TSCBOQU1FCiBDVVJMT1BUX0RJUkxJU1RPTkxZIFwtIGFzayBmb3IgbmFtZXMgb25seSBpbiBhIGRpcmVjdG9yeSBsaXN0aW5nCmRpZmYgLS1naXQgYS9kb2NzL2xpYmN1cmwvb3B0cy9DVVJMT1BUX0RJU0FMTE9XX1VTRVJOQU1FX0lOX1VSTC4zIGIvZG9jcy9saWJjdXJsL29wdHMvQ1VSTE9QVF9ESVNBTExPV19VU0VSTkFNRV9JTl9VUkwuMwppbmRleCA1OTI4ZGRmLi4zOWJkOWJjIDEwMDY0NAotLS0gYS9kb2NzL2xpYmN1cmwvb3B0cy9DVVJMT1BUX0RJU0FMTE9XX1VTRVJOQU1FX0lOX1VSTC4zCisrKyBiL2RvY3MvbGliY3VybC9vcHRzL0NVUkxPUFRfRElTQUxMT1dfVVNFUk5BTUVfSU5fVVJMLjMKQEAgLTIwLDcgKzIwLDcgQEAKIC5cIiAqCiAuXCIgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKIC5cIgotLlRIIENVUkxPUFRfRElTQUxMT1dfVVNFUk5BTUVfSU5fVVJMIDMgIkZlYnJ1YXJ5IDI1LCAyMDE4IiAibGliY3VybCA3LjcwLjAiICJjdXJsX2Vhc3lfc2V0b3B0IG9wdGlvbnMiCisuVEggQ1VSTE9QVF9ESVNBTExPV19VU0VSTkFNRV9JTl9VUkwgMyAiRmVicnVhcnkgMjUsIDIwMTgiICJsaWJjdXJsIDcuNzEuMSIgImN1cmxfZWFzeV9zZXRvcHQgb3B0aW9ucyIKIAogLlNIIE5BTUUKIENVUkxPUFRfRElTQUxMT1dfVVNFUk5BTUVfSU5fVVJMIFwtIGRpc2FsbG93IHNwZWNpZnlpbmcgdXNlcm5hbWUgaW4gdGhlIHVybApkaWZmIC0tZ2l0IGEvZG9jcy9saWJjdXJsL29wdHMvQ1VSTE9QVF9ETlNfQ0FDSEVfVElNRU9VVC4zIGIvZG9jcy9saWJjdXJsL29wdHMvQ1VSTE9QVF9ETlNfQ0FDSEVfVElNRU9VVC4zCmluZGV4IDA3OTQxMmUuLmViMjQ5YzggMTAwNjQ0Ci0tLSBhL2RvY3MvbGliY3VybC9vcHRzL0NVUkxPUFRfRE5TX0NBQ0hFX1RJTUVPVVQuMworKysgYi9kb2NzL2xpYmN1cmwvb3B0cy9DVVJMT1BUX0ROU19DQUNIRV9USU1FT1VULjMKQEAgLTIwLDcgKzIwLDcgQEAKIC5cIiAqCiAuXCIgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKIC5cIgotLlRIIENVUkxPUFRfRE5TX0NBQ0hFX1RJTUVPVVQgMyAiRGVjZW1iZXIgMDksIDIwMTciICJsaWJjdXJsIDcuNzAuMCIgImN1cmxfZWFzeV9zZXRvcHQgb3B0aW9ucyIKKy5USCBDVVJMT1BUX0ROU19DQUNIRV9USU1FT1VUIDMgIkRlY2VtYmVyIDA5LCAyMDE3IiAibGliY3VybCA3LjcxLjEiICJjdXJsX2Vhc3lfc2V0b3B0IG9wdGlvbnMiCiAKIC5TSCBOQU1FCiBDVVJMT1BUX0ROU19DQUNIRV9USU1FT1VUIFwtIHNldCBsaWZlLXRpbWUgZm9yIEROUyBjYWNoZSBlbnRyaWVzCmRpZmYgLS1naXQgYS9kb2NzL2xpYmN1cmwvb3B0cy9DVVJMT1BUX0ROU19JTlRFUkZBQ0UuMyBiL2RvY3MvbGliY3VybC9vcHRzL0NVUkxPUFRfRE5TX0lOVEVSRkFDRS4zCmluZGV4IGMxYzRkNTMuLjUyZmFmZTQgMTAwNjQ0Ci0tLSBhL2RvY3MvbGliY3VybC9vcHRzL0NVUkxPUFRfRE5TX0lOVEVSRkFDRS4zCisrKyBiL2RvY3MvbGliY3VybC9vcHRzL0NVUkxPUFRfRE5TX0lOVEVSRkFDRS4zCkBAIC0yMCw3ICsyMCw3IEBACiAuXCIgKgogLlwiICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiAuXCIKLS5USCBDVVJMT1BUX0ROU19JTlRFUkZBQ0UgMyAiTWF5IDMxLCAyMDE3IiAibGliY3VybCA3LjcwLjAiICJjdXJsX2Vhc3lfc2V0b3B0IG9wdGlvbnMiCisuVEggQ1VSTE9QVF9ETlNfSU5URVJGQUNFIDMgIk1heSAzMSwgMjAxNyIgImxpYmN1cmwgNy43MS4xIiAiY3VybF9lYXN5X3NldG9wdCBvcHRpb25zIgogCiAuU0ggTkFNRQogQ1VSTE9QVF9ETlNfSU5URVJGQUNFIFwtIHNldCBpbnRlcmZhY2UgdG8gc3BlYWsgRE5TIG92ZXIKZGlmZiAtLWdpdCBhL2RvY3MvbGliY3VybC9vcHRzL0NVUkxPUFRfRE5TX0xPQ0FMX0lQNC4zIGIvZG9jcy9saWJjdXJsL29wdHMvQ1VSTE9QVF9ETlNfTE9DQUxfSVA0LjMKaW5kZXggMGVlOTIxNC4uY2Q4MDcyOSAxMDA2NDQKLS0tIGEvZG9jcy9saWJjdXJsL29wdHMvQ1VSTE9QVF9ETlNfTE9DQUxfSVA0LjMKKysrIGIvZG9jcy9saWJjdXJsL29wdHMvQ1VSTE9QVF9ETlNfTE9DQUxfSVA0LjMKQEAgLTIwLDcgKzIwLDcgQEAKIC5cIiAqCiAuXCIgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKIC5cIgotLlRIIENVUkxPUFRfRE5TX0xPQ0FMX0lQNCAzICJEZWNlbWJlciAxMCwgMjAxNyIgImxpYmN1cmwgNy43MC4wIiAiY3VybF9lYXN5X3NldG9wdCBvcHRpb25zIgorLlRIIENVUkxPUFRfRE5TX0xPQ0FMX0lQNCAzICJEZWNlbWJlciAxMCwgMjAxNyIgImxpYmN1cmwgNy43MS4xIiAiY3VybF9lYXN5X3NldG9wdCBvcHRpb25zIgogCiAuU0ggTkFNRQogQ1VSTE9QVF9ETlNfTE9DQUxfSVA0IFwtIElQdjQgYWRkcmVzcyB0byBiaW5kIEROUyByZXNvbHZlcyB0bwpkaWZmIC0tZ2l0IGEvZG9jcy9saWJjdXJsL29wdHMvQ1VSTE9QVF9ETlNfTE9DQUxfSVA2LjMgYi9kb2NzL2xpYmN1cmwvb3B0cy9DVVJMT1BUX0ROU19MT0NBTF9JUDYuMwppbmRleCA5M2U1MjY5Li40NTU1YjAyIDEwMDY0NAotLS0gYS9kb2NzL2xpYmN1cmwvb3B0cy9DVVJMT1BUX0ROU19MT0NBTF9JUDYuMworKysgYi9kb2NzL2xpYmN1cmwvb3B0cy9DVVJMT1BUX0ROU19MT0NBTF9JUDYuMwpAQCAtMjAsNyArMjAsNyBAQAogLlwiICoKIC5cIiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogLlwiCi0uVEggQ1VSTE9QVF9ETlNfTE9DQUxfSVA2IDMgIk1heSAzMSwgMjAxNyIgImxpYmN1cmwgNy43MC4wIiAiY3VybF9lYXN5X3NldG9wdCBvcHRpb25zIgorLlRIIENVUkxPUFRfRE5TX0xPQ0FMX0lQNiAzICJNYXkgMzEsIDIwMTciICJsaWJjdXJsIDcuNzEuMSIgImN1cmxfZWFzeV9zZXRvcHQgb3B0aW9ucyIKIAogLlNIIE5BTUUKIENVUkxPUFRfRE5TX0xPQ0FMX0lQNiBcLSBJUHY2IGFkZHJlc3MgdG8gYmluZCBETlMgcmVzb2x2ZXMgdG8KZGlmZiAtLWdpdCBhL2RvY3MvbGliY3VybC9vcHRzL0NVUkxPUFRfRE5TX1NFUlZFUlMuMyBiL2RvY3MvbGliY3VybC9vcHRzL0NVUkxPUFRfRE5TX1NFUlZFUlMuMwppbmRleCA0NWQ2NGJiLi4zMjAwZmQxIDEwMDY0NAotLS0gYS9kb2NzL2xpYmN1cmwvb3B0cy9DVVJMT1BUX0ROU19TRVJWRVJTLjMKKysrIGIvZG9jcy9saWJjdXJsL29wdHMvQ1VSTE9QVF9ETlNfU0VSVkVSUy4zCkBAIC0yMCw3ICsyMCw3IEBACiAuXCIgKgogLlwiICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiAuXCIKLS5USCBDVVJMT1BUX0ROU19TRVJWRVJTIDMgIk1heSAzMSwgMjAxNyIgImxpYmN1cmwgNy43MC4wIiAiY3VybF9lYXN5X3NldG9wdCBvcHRpb25zIgorLlRIIENVUkxPUFRfRE5TX1NFUlZFUlMgMyAiTWF5IDMxLCAyMDE3IiAibGliY3VybCA3LjcxLjEiICJjdXJsX2Vhc3lfc2V0b3B0IG9wdGlvbnMiCiAKIC5TSCBOQU1FCiBDVVJMT1BUX0ROU19TRVJWRVJTIFwtIHNldCBwcmVmZXJyZWQgRE5TIHNlcnZlcnMKZGlmZiAtLWdpdCBhL2RvY3MvbGliY3VybC9vcHRzL0NVUkxPUFRfRE5TX1NIVUZGTEVfQUREUkVTU0VTLjMgYi9kb2NzL2xpYmN1cmwvb3B0cy9DVVJMT1BUX0ROU19TSFVGRkxFX0FERFJFU1NFUy4zCmluZGV4IGVhMWRhNjEuLmE0NjFiOGEgMTAwNjQ0Ci0tLSBhL2RvY3MvbGliY3VybC9vcHRzL0NVUkxPUFRfRE5TX1NIVUZGTEVfQUREUkVTU0VTLjMKKysrIGIvZG9jcy9saWJjdXJsL29wdHMvQ1VSTE9QVF9ETlNfU0hVRkZMRV9BRERSRVNTRVMuMwpAQCAtMjAsNyArMjAsNyBAQAogLlwiICoKIC5cIiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogLlwiCi0uVEggQ1VSTE9QVF9ETlNfU0hVRkZMRV9BRERSRVNTRVMgMyAiTWFyY2ggMTcsIDIwMTgiICJsaWJjdXJsIDcuNzAuMCIgImN1cmxfZWFzeV9zZXRvcHQgb3B0aW9ucyIKKy5USCBDVVJMT1BUX0ROU19TSFVGRkxFX0FERFJFU1NFUyAzICJNYXJjaCAxNywgMjAxOCIgImxpYmN1cmwgNy43MS4xIiAiY3VybF9lYXN5X3NldG9wdCBvcHRpb25zIgogCiAuU0ggTkFNRQogQ1VSTE9QVF9ETlNfU0hVRkZMRV9BRERSRVNTRVMgXC0gU2h1ZmZsZSBhZGRyZXNzZXMgd2hlbiBhIGhvc3RuYW1lIHJldHVybnMgbW9yZSB0aGFuIG9uZQpkaWZmIC0tZ2l0IGEvZG9jcy9saWJjdXJsL29wdHMvQ1VSTE9QVF9ETlNfVVNFX0dMT0JBTF9DQUNIRS4zIGIvZG9jcy9saWJjdXJsL29wdHMvQ1VSTE9QVF9ETlNfVVNFX0dMT0JBTF9DQUNIRS4zCmluZGV4IDMyNzU3ZTEuLmI3ZWJkNDYgMTAwNjQ0Ci0tLSBhL2RvY3MvbGliY3VybC9vcHRzL0NVUkxPUFRfRE5TX1VTRV9HTE9CQUxfQ0FDSEUuMworKysgYi9kb2NzL2xpYmN1cmwvb3B0cy9DVVJMT1BUX0ROU19VU0VfR0xPQkFMX0NBQ0hFLjMKQEAgLTIwLDcgKzIwLDcgQEAKIC5cIiAqCiAuXCIgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKIC5cIgotLlRIIENVUkxPUFRfRE5TX1VTRV9HTE9CQUxfQ0FDSEUgMyAiTWFyY2ggMDcsIDIwMTkiICJsaWJjdXJsIDcuNzAuMCIgImN1cmxfZWFzeV9zZXRvcHQgb3B0aW9ucyIKKy5USCBDVVJMT1BUX0ROU19VU0VfR0xPQkFMX0NBQ0hFIDMgIk1hcmNoIDA3LCAyMDE5IiAibGliY3VybCA3LjcxLjEiICJjdXJsX2Vhc3lfc2V0b3B0IG9wdGlvbnMiCiAKIC5TSCBOQU1FCiBDVVJMT1BUX0ROU19VU0VfR0xPQkFMX0NBQ0hFIFwtIGVuYWJsZS9kaXNhYmxlIGdsb2JhbCBETlMgY2FjaGUKZGlmZiAtLWdpdCBhL2RvY3MvbGliY3VybC9vcHRzL0NVUkxPUFRfRE9IX1VSTC4zIGIvZG9jcy9saWJjdXJsL29wdHMvQ1VSTE9QVF9ET0hfVVJMLjMKaW5kZXggNzU2MTVhMC4uYzYzNDI3NyAxMDA2NDQKLS0tIGEvZG9jcy9saWJjdXJsL29wdHMvQ1VSTE9QVF9ET0hfVVJMLjMKKysrIGIvZG9jcy9saWJjdXJsL29wdHMvQ1VSTE9QVF9ET0hfVVJMLjMKQEAgLTIwLDcgKzIwLDcgQEAKIC5cIiAqCiAuXCIgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKIC5cIgotLlRIIENVUkxPUFRfRE9IX1VSTCAzICJTZXB0ZW1iZXIgMDYsIDIwMTgiICJsaWJjdXJsIDcuNzAuMCIgImN1cmxfZWFzeV9zZXRvcHQgb3B0aW9ucyIKKy5USCBDVVJMT1BUX0RPSF9VUkwgMyAiSnVuZSAyNSwgMjAyMCIgImxpYmN1cmwgNy43MS4xIiAiY3VybF9lYXN5X3NldG9wdCBvcHRpb25zIgogCiAuU0ggTkFNRQogQ1VSTE9QVF9ET0hfVVJMIFwtIHByb3ZpZGUgdGhlIEROUy1vdmVyLUhUVFBTIFVSTApAQCAtMzAsNyArMzAsNyBAQAogQ1VSTGNvZGUgY3VybF9lYXN5X3NldG9wdChDVVJMICpoYW5kbGUsIENVUkxPUFRfRE9IX1VSTCwgY2hhciAqVVJMKTsKIC5TSCBERVNDUklQVElPTgogUGFzcyBpbiBhIHBvaW50ZXIgdG8gYSBcZklVUkxcZlAgZm9yIHRoZSBET0ggc2VydmVyIHRvIHVzZSBmb3IgbmFtZQotcmVzb2x2aW5nLiBUaGUgcGFyYW1ldGVyIHNob3VsZCBiZSBhIGNoYXIgKiB0byBhIHplcm8gdGVybWluYXRlZCBzdHJpbmcgd2hpY2gKK3Jlc29sdmluZy4gVGhlIHBhcmFtZXRlciBzaG91bGQgYmUgYSBjaGFyICogdG8gYSBudWxsLXRlcm1pbmF0ZWQgc3RyaW5nIHdoaWNoCiBtdXN0IGJlIFVSTC1lbmNvZGVkIGluIHRoZSBmb2xsb3dpbmcgZm9ybWF0OiAiaHR0cHM6Ly9ob3N0OnBvcnQvcGF0aCIuIEl0IE1VU1QKIHNwZWNpZnkgYSBIVFRQUyBVUkwuCiAKZGlmZiAtLWdpdCBhL2RvY3MvbGliY3VybC9vcHRzL0NVUkxPUFRfRUdEU09DS0VULjMgYi9kb2NzL2xpYmN1cmwvb3B0cy9DVVJMT1BUX0VHRFNPQ0tFVC4zCmluZGV4IDM0OTI0ZmUuLjBiZWE4ZWMgMTAwNjQ0Ci0tLSBhL2RvY3MvbGliY3VybC9vcHRzL0NVUkxPUFRfRUdEU09DS0VULjMKKysrIGIvZG9jcy9saWJjdXJsL29wdHMvQ1VSTE9QVF9FR0RTT0NLRVQuMwpAQCAtMjAsNyArMjAsNyBAQAogLlwiICoKIC5cIiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogLlwiCi0uVEggQ1VSTE9QVF9FR0RTT0NLRVQgMyAiTWF5IDMxLCAyMDE3IiAibGliY3VybCA3LjcwLjAiICJjdXJsX2Vhc3lfc2V0b3B0IG9wdGlvbnMiCisuVEggQ1VSTE9QVF9FR0RTT0NLRVQgMyAiSnVuZSAyNSwgMjAyMCIgImxpYmN1cmwgNy43MS4xIiAiY3VybF9lYXN5X3NldG9wdCBvcHRpb25zIgogCiAuU0ggTkFNRQogQ1VSTE9QVF9FR0RTT0NLRVQgXC0gc2V0IEVHRCBzb2NrZXQgcGF0aApAQCAtMjksNyArMjksNyBAQAogCiBDVVJMY29kZSBjdXJsX2Vhc3lfc2V0b3B0KENVUkwgKmhhbmRsZSwgQ1VSTE9QVF9FR0RTT0NLRVQsIGNoYXIgKnBhdGgpOwogLlNIIERFU0NSSVBUSU9OCi1QYXNzIGEgY2hhciAqIHRvIHRoZSB6ZXJvIHRlcm1pbmF0ZWQgcGF0aCBuYW1lIHRvIHRoZSBFbnRyb3B5IEdhdGhlcmluZyBEYWVtb24KK1Bhc3MgYSBjaGFyICogdG8gdGhlIG51bGwtdGVybWluYXRlZCBwYXRoIG5hbWUgdG8gdGhlIEVudHJvcHkgR2F0aGVyaW5nIERhZW1vbgogc29ja2V0LiBJdCB3aWxsIGJlIHVzZWQgdG8gc2VlZCB0aGUgcmFuZG9tIGVuZ2luZSBmb3IgU1NMLgogCiBUaGUgYXBwbGljYXRpb24gZG9lcyBub3QgaGF2ZSB0byBrZWVwIHRoZSBzdHJpbmcgYXJvdW5kIGFmdGVyIHNldHRpbmcgdGhpcwpkaWZmIC0tZ2l0IGEvZG9jcy9saWJjdXJsL29wdHMvQ1VSTE9QVF9FUlJPUkJVRkZFUi4zIGIvZG9jcy9saWJjdXJsL29wdHMvQ1VSTE9QVF9FUlJPUkJVRkZFUi4zCmluZGV4IGMzNmUyYjAuLjZjODA3ZmUgMTAwNjQ0Ci0tLSBhL2RvY3MvbGliY3VybC9vcHRzL0NVUkxPUFRfRVJST1JCVUZGRVIuMworKysgYi9kb2NzL2xpYmN1cmwvb3B0cy9DVVJMT1BUX0VSUk9SQlVGRkVSLjMKQEAgLTIwLDcgKzIwLDcgQEAKIC5cIiAqCiAuXCIgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKIC5cIgotLlRIIENVUkxPUFRfRVJST1JCVUZGRVIgMyAiTWFyY2ggMjMsIDIwMjAiICJsaWJjdXJsIDcuNzAuMCIgImN1cmxfZWFzeV9zZXRvcHQgb3B0aW9ucyIKKy5USCBDVVJMT1BUX0VSUk9SQlVGRkVSIDMgIk1hcmNoIDIzLCAyMDIwIiAibGliY3VybCA3LjcxLjEiICJjdXJsX2Vhc3lfc2V0b3B0IG9wdGlvbnMiCiAKIC5TSCBOQU1FCiBDVVJMT1BUX0VSUk9SQlVGRkVSIFwtIHNldCBlcnJvciBidWZmZXIgZm9yIGVycm9yIG1lc3NhZ2VzCmRpZmYgLS1naXQgYS9kb2NzL2xpYmN1cmwvb3B0cy9DVVJMT1BUX0VYUEVDVF8xMDBfVElNRU9VVF9NUy4zIGIvZG9jcy9saWJjdXJsL29wdHMvQ1VSTE9QVF9FWFBFQ1RfMTAwX1RJTUVPVVRfTVMuMwppbmRleCA0NTBkMTU4Li40MGE1YWUyIDEwMDY0NAotLS0gYS9kb2NzL2xpYmN1cmwvb3B0cy9DVVJMT1BUX0VYUEVDVF8xMDBfVElNRU9VVF9NUy4zCisrKyBiL2RvY3MvbGliY3VybC9vcHRzL0NVUkxPUFRfRVhQRUNUXzEwMF9USU1FT1VUX01TLjMKQEAgLTIwLDcgKzIwLDcgQEAKIC5cIiAqCiAuXCIgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKIC5cIgotLlRIIENVUkxPUFRfRVhQRUNUXzEwMF9USU1FT1VUX01TIDMgIk1hcmNoIDIzLCAyMDIwIiAibGliY3VybCA3LjcwLjAiICJjdXJsX2Vhc3lfc2V0b3B0IG9wdGlvbnMiCisuVEggQ1VSTE9QVF9FWFBFQ1RfMTAwX1RJTUVPVVRfTVMgMyAiTWFyY2ggMjMsIDIwMjAiICJsaWJjdXJsIDcuNzEuMSIgImN1cmxfZWFzeV9zZXRvcHQgb3B0aW9ucyIKIAogLlNIIE5BTUUKIENVUkxPUFRfRVhQRUNUXzEwMF9USU1FT1VUX01TIFwtIHRpbWVvdXQgZm9yIEV4cGVjdDogMTAwLWNvbnRpbnVlIHJlc3BvbnNlCmRpZmYgLS1naXQgYS9kb2NzL2xpYmN1cmwvb3B0cy9DVVJMT1BUX0ZBSUxPTkVSUk9SLjMgYi9kb2NzL2xpYmN1cmwvb3B0cy9DVVJMT1BUX0ZBSUxPTkVSUk9SLjMKaW5kZXggY2FkNjM4MC4uNTEzMjVkZSAxMDA2NDQKLS0tIGEvZG9jcy9saWJjdXJsL29wdHMvQ1VSTE9QVF9GQUlMT05FUlJPUi4zCisrKyBiL2RvY3MvbGliY3VybC9vcHRzL0NVUkxPUFRfRkFJTE9ORVJST1IuMwpAQCAtMjAsNyArMjAsNyBAQAogLlwiICoKIC5cIiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogLlwiCi0uVEggQ1VSTE9QVF9GQUlMT05FUlJPUiAzICJNYXJjaCAyMywgMjAyMCIgImxpYmN1cmwgNy43MC4wIiAiY3VybF9lYXN5X3NldG9wdCBvcHRpb25zIgorLlRIIENVUkxPUFRfRkFJTE9ORVJST1IgMyAiTWFyY2ggMjMsIDIwMjAiICJsaWJjdXJsIDcuNzEuMSIgImN1cmxfZWFzeV9zZXRvcHQgb3B0aW9ucyIKIAogLlNIIE5BTUUKIENVUkxPUFRfRkFJTE9ORVJST1IgXC0gcmVxdWVzdCBmYWlsdXJlIG9uIEhUVFAgcmVzcG9uc2UgPj0gNDAwCmRpZmYgLS1naXQgYS9kb2NzL2xpYmN1cmwvb3B0cy9DVVJMT1BUX0ZJTEVUSU1FLjMgYi9kb2NzL2xpYmN1cmwvb3B0cy9DVVJMT1BUX0ZJTEVUSU1FLjMKaW5kZXggYTNjMDA3Ni4uYmY4YWJmNSAxMDA2NDQKLS0tIGEvZG9jcy9saWJjdXJsL29wdHMvQ1VSTE9QVF9GSUxFVElNRS4zCisrKyBiL2RvY3MvbGliY3VybC9vcHRzL0NVUkxPUFRfRklMRVRJTUUuMwpAQCAtMjAsNyArMjAsNyBAQAogLlwiICoKIC5cIiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogLlwiCi0uVEggQ1VSTE9QVF9GSUxFVElNRSAzICJBcHJpbCAwMywgMjAxNyIgImxpYmN1cmwgNy43MC4wIiAiY3VybF9lYXN5X3NldG9wdCBvcHRpb25zIgorLlRIIENVUkxPUFRfRklMRVRJTUUgMyAiQXByaWwgMDMsIDIwMTciICJsaWJjdXJsIDcuNzEuMSIgImN1cmxfZWFzeV9zZXRvcHQgb3B0aW9ucyIKIAogLlNIIE5BTUUKIENVUkxPUFRfRklMRVRJTUUgXC0gZ2V0IHRoZSBtb2RpZmljYXRpb24gdGltZSBvZiB0aGUgcmVtb3RlIHJlc291cmNlCmRpZmYgLS1naXQgYS9kb2NzL2xpYmN1cmwvb3B0cy9DVVJMT1BUX0ZOTUFUQ0hfREFUQS4zIGIvZG9jcy9saWJjdXJsL29wdHMvQ1VSTE9QVF9GTk1BVENIX0RBVEEuMwppbmRleCA1MzRhN2FjLi5kM2FkNjc4IDEwMDY0NAotLS0gYS9kb2NzL2xpYmN1cmwvb3B0cy9DVVJMT1BUX0ZOTUFUQ0hfREFUQS4zCisrKyBiL2RvY3MvbGliY3VybC9vcHRzL0NVUkxPUFRfRk5NQVRDSF9EQVRBLjMKQEAgLTIwLDcgKzIwLDcgQEAKIC5cIiAqCiAuXCIgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKIC5cIgotLlRIIENVUkxPUFRfRk5NQVRDSF9EQVRBIDMgIk1heSAzMSwgMjAxNyIgImxpYmN1cmwgNy43MC4wIiAiY3VybF9lYXN5X3NldG9wdCBvcHRpb25zIgorLlRIIENVUkxPUFRfRk5NQVRDSF9EQVRBIDMgIk1heSAzMSwgMjAxNyIgImxpYmN1cmwgNy43MS4xIiAiY3VybF9lYXN5X3NldG9wdCBvcHRpb25zIgogCiAuU0ggTkFNRQogQ1VSTE9QVF9GTk1BVENIX0RBVEEgXC0gY3VzdG9tIHBvaW50ZXIgdG8gZm5tYXRjaCBjYWxsYmFjawpkaWZmIC0tZ2l0IGEvZG9jcy9saWJjdXJsL29wdHMvQ1VSTE9QVF9GTk1BVENIX0ZVTkNUSU9OLjMgYi9kb2NzL2xpYmN1cmwvb3B0cy9DVVJMT1BUX0ZOTUFUQ0hfRlVOQ1RJT04uMwppbmRleCBjMjUxNDY4Li4yODlkNTZlIDEwMDY0NAotLS0gYS9kb2NzL2xpYmN1cmwvb3B0cy9DVVJMT1BUX0ZOTUFUQ0hfRlVOQ1RJT04uMworKysgYi9kb2NzL2xpYmN1cmwvb3B0cy9DVVJMT1BUX0ZOTUFUQ0hfRlVOQ1RJT04uMwpAQCAtMjAsNyArMjAsNyBAQAogLlwiICoKIC5cIiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogLlwiCi0uVEggQ1VSTE9QVF9GTk1BVENIX0ZVTkNUSU9OIDMgIk1heSAzMSwgMjAxNyIgImxpYmN1cmwgNy43MC4wIiAiY3VybF9lYXN5X3NldG9wdCBvcHRpb25zIgorLlRIIENVUkxPUFRfRk5NQVRDSF9GVU5DVElPTiAzICJNYXkgMzEsIDIwMTciICJsaWJjdXJsIDcuNzEuMSIgImN1cmxfZWFzeV9zZXRvcHQgb3B0aW9ucyIKIAogLlNIIE5BTUUKIENVUkxPUFRfRk5NQVRDSF9GVU5DVElPTiBcLSB3aWxkY2FyZCBtYXRjaGluZyBmdW5jdGlvbiBjYWxsYmFjawpkaWZmIC0tZ2l0IGEvZG9jcy9saWJjdXJsL29wdHMvQ1VSTE9QVF9GT0xMT1dMT0NBVElPTi4zIGIvZG9jcy9saWJjdXJsL29wdHMvQ1VSTE9QVF9GT0xMT1dMT0NBVElPTi4zCmluZGV4IDhhZjUyNjMuLmQ4MThlOGIgMTAwNjQ0Ci0tLSBhL2RvY3MvbGliY3VybC9vcHRzL0NVUkxPUFRfRk9MTE9XTE9DQVRJT04uMworKysgYi9kb2NzL2xpYmN1cmwvb3B0cy9DVVJMT1BUX0ZPTExPV0xPQ0FUSU9OLjMKQEAgLTIwLDcgKzIwLDcgQEAKIC5cIiAqCiAuXCIgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKIC5cIgotLlRIIENVUkxPUFRfRk9MTE9XTE9DQVRJT04gMyAiSmFudWFyeSAyOCwgMjAyMCIgImxpYmN1cmwgNy43MC4wIiAiY3VybF9lYXN5X3NldG9wdCBvcHRpb25zIgorLlRIIENVUkxPUFRfRk9MTE9XTE9DQVRJT04gMyAiSmFudWFyeSAyOCwgMjAyMCIgImxpYmN1cmwgNy43MS4xIiAiY3VybF9lYXN5X3NldG9wdCBvcHRpb25zIgogCiAuU0ggTkFNRQogQ1VSTE9QVF9GT0xMT1dMT0NBVElPTiBcLSBmb2xsb3cgSFRUUCAzeHggcmVkaXJlY3RzCmRpZmYgLS1naXQgYS9kb2NzL2xpYmN1cmwvb3B0cy9DVVJMT1BUX0ZPUkJJRF9SRVVTRS4zIGIvZG9jcy9saWJjdXJsL29wdHMvQ1VSTE9QVF9GT1JCSURfUkVVU0UuMwppbmRleCA4NTNjNzRhLi41M2E5ODNiIDEwMDY0NAotLS0gYS9kb2NzL2xpYmN1cmwvb3B0cy9DVVJMT1BUX0ZPUkJJRF9SRVVTRS4zCisrKyBiL2RvY3MvbGliY3VybC9vcHRzL0NVUkxPUFRfRk9SQklEX1JFVVNFLjMKQEAgLTIwLDcgKzIwLDcgQEAKIC5cIiAqCiAuXCIgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKIC5cIgotLlRIIENVUkxPUFRfRk9SQklEX1JFVVNFIDMgIk1heSAzMSwgMjAxNyIgImxpYmN1cmwgNy43MC4wIiAiY3VybF9lYXN5X3NldG9wdCBvcHRpb25zIgorLlRIIENVUkxPUFRfRk9SQklEX1JFVVNFIDMgIk1heSAzMSwgMjAxNyIgImxpYmN1cmwgNy43MS4xIiAiY3VybF9lYXN5X3NldG9wdCBvcHRpb25zIgogCiAuU0ggTkFNRQogQ1VSTE9QVF9GT1JCSURfUkVVU0UgXC0gbWFrZSBjb25uZWN0aW9uIGdldCBjbG9zZWQgYXQgb25jZSBhZnRlciB1c2UKZGlmZiAtLWdpdCBhL2RvY3MvbGliY3VybC9vcHRzL0NVUkxPUFRfRlJFU0hfQ09OTkVDVC4zIGIvZG9jcy9saWJjdXJsL29wdHMvQ1VSTE9QVF9GUkVTSF9DT05ORUNULjMKaW5kZXggYmM2NGI4NC4uMDQ5OGJlMSAxMDA2NDQKLS0tIGEvZG9jcy9saWJjdXJsL29wdHMvQ1VSTE9QVF9GUkVTSF9DT05ORUNULjMKKysrIGIvZG9jcy9saWJjdXJsL29wdHMvQ1VSTE9QVF9GUkVTSF9DT05ORUNULjMKQEAgLTIwLDcgKzIwLDcgQEAKIC5cIiAqCiAuXCIgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKIC5cIgotLlRIIENVUkxPUFRfRlJFU0hfQ09OTkVDVCAzICJNYXkgMzEsIDIwMTciICJsaWJjdXJsIDcuNzAuMCIgImN1cmxfZWFzeV9zZXRvcHQgb3B0aW9ucyIKKy5USCBDVVJMT1BUX0ZSRVNIX0NPTk5FQ1QgMyAiTWF5IDMxLCAyMDE3IiAibGliY3VybCA3LjcxLjEiICJjdXJsX2Vhc3lfc2V0b3B0IG9wdGlvbnMiCiAKIC5TSCBOQU1FCiBDVVJMT1BUX0ZSRVNIX0NPTk5FQ1QgXC0gZm9yY2UgYSBuZXcgY29ubmVjdGlvbiB0byBiZSB1c2VkCmRpZmYgLS1naXQgYS9kb2NzL2xpYmN1cmwvb3B0cy9DVVJMT1BUX0ZUUFBPUlQuMyBiL2RvY3MvbGliY3VybC9vcHRzL0NVUkxPUFRfRlRQUE9SVC4zCmluZGV4IDk4NzY4MTIuLjJhNjNlMmIgMTAwNjQ0Ci0tLSBhL2RvY3MvbGliY3VybC9vcHRzL0NVUkxPUFRfRlRQUE9SVC4zCisrKyBiL2RvY3MvbGliY3VybC9vcHRzL0NVUkxPUFRfRlRQUE9SVC4zCkBAIC0yMCw3ICsyMCw3IEBACiAuXCIgKgogLlwiICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiAuXCIKLS5USCBDVVJMT1BUX0ZUUFBPUlQgMyAiTWF5IDMwLCAyMDE3IiAibGliY3VybCA3LjcwLjAiICJjdXJsX2Vhc3lfc2V0b3B0IG9wdGlvbnMiCisuVEggQ1VSTE9QVF9GVFBQT1JUIDMgIkp1bmUgMjUsIDIwMjAiICJsaWJjdXJsIDcuNzEuMSIgImN1cmxfZWFzeV9zZXRvcHQgb3B0aW9ucyIKIAogLlNIIE5BTUUKIENVUkxPUFRfRlRQUE9SVCBcLSBtYWtlIEZUUCB0cmFuc2ZlciBhY3RpdmUKQEAgLTI5LDcgKzI5LDcgQEAKIAogQ1VSTGNvZGUgY3VybF9lYXN5X3NldG9wdChDVVJMICpoYW5kbGUsIENVUkxPUFRfRlRQUE9SVCwgY2hhciAqc3BlYyk7CiAuU0ggREVTQ1JJUFRJT04KLVBhc3MgYSBwb2ludGVyIHRvIGEgemVybyB0ZXJtaW5hdGVkIHN0cmluZyBhcyBwYXJhbWV0ZXIuIEl0IHNwZWNpZmllcyB0aGF0IHRoZQorUGFzcyBhIHBvaW50ZXIgdG8gYSBudWxsLXRlcm1pbmF0ZWQgc3RyaW5nIGFzIHBhcmFtZXRlci4gSXQgc3BlY2lmaWVzIHRoYXQgdGhlCiBGVFAgdHJhbnNmZXIgd2lsbCBiZSBtYWRlIGFjdGl2ZWx5IGFuZCB0aGUgZ2l2ZW4gc3RyaW5nIHdpbGwgYmUgdXNlZCB0byBnZXQKIHRoZSBJUCBhZGRyZXNzIHRvIHVzZSBmb3IgdGhlIEZUUCBQT1JUIGluc3RydWN0aW9uLgogCmRpZmYgLS1naXQgYS9kb2NzL2xpYmN1cmwvb3B0cy9DVVJMT1BUX0ZUUFNTTEFVVEguMyBiL2RvY3MvbGliY3VybC9vcHRzL0NVUkxPUFRfRlRQU1NMQVVUSC4zCmluZGV4IGNjMDM0YmEuLmRjYWJhNDcgMTAwNjQ0Ci0tLSBhL2RvY3MvbGliY3VybC9vcHRzL0NVUkxPUFRfRlRQU1NMQVVUSC4zCisrKyBiL2RvY3MvbGliY3VybC9vcHRzL0NVUkxPUFRfRlRQU1NMQVVUSC4zCkBAIC0yMCw3ICsyMCw3IEBACiAuXCIgKgogLlwiICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiAuXCIKLS5USCBDVVJMT1BUX0ZUUFNTTEFVVEggMyAiTWF5IDMxLCAyMDE3IiAibGliY3VybCA3LjcwLjAiICJjdXJsX2Vhc3lfc2V0b3B0IG9wdGlvbnMiCisuVEggQ1VSTE9QVF9GVFBTU0xBVVRIIDMgIk1heSAzMSwgMjAxNyIgImxpYmN1cmwgNy43MS4xIiAiY3VybF9lYXN5X3NldG9wdCBvcHRpb25zIgogCiAuU0ggTkFNRQogQ1VSTE9QVF9GVFBTU0xBVVRIIFwtIHNldCBvcmRlciBpbiB3aGljaCB0byBhdHRlbXB0IFRMUyB2cyBTU0wgd2hlbiB1c2luZyBGVFAKZGlmZiAtLWdpdCBhL2RvY3MvbGliY3VybC9vcHRzL0NVUkxPUFRfRlRQX0FDQ09VTlQuMyBiL2RvY3MvbGliY3VybC9vcHRzL0NVUkxPUFRfRlRQX0FDQ09VTlQuMwppbmRleCAxYzNiODlkLi4wZTliMTFiIDEwMDY0NAotLS0gYS9kb2NzL2xpYmN1cmwvb3B0cy9DVVJMT1BUX0ZUUF9BQ0NPVU5ULjMKKysrIGIvZG9jcy9saWJjdXJsL29wdHMvQ1VSTE9QVF9GVFBfQUNDT1VOVC4zCkBAIC0yMCw3ICsyMCw3IEBACiAuXCIgKgogLlwiICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiAuXCIKLS5USCBDVVJMT1BUX0ZUUF9BQ0NPVU5UIDMgIk1heSAwNSwgMjAxNyIgImxpYmN1cmwgNy43MC4wIiAiY3VybF9lYXN5X3NldG9wdCBvcHRpb25zIgorLlRIIENVUkxPUFRfRlRQX0FDQ09VTlQgMyAiSnVuZSAyNSwgMjAyMCIgImxpYmN1cmwgNy43MS4xIiAiY3VybF9lYXN5X3NldG9wdCBvcHRpb25zIgogCiAuU0ggTkFNRQogQ1VSTE9QVF9GVFBfQUNDT1VOVCBcLSBzZXQgYWNjb3VudCBpbmZvIGZvciBGVFAKQEAgLTI5LDcgKzI5LDcgQEAKIAogQ1VSTGNvZGUgY3VybF9lYXN5X3NldG9wdChDVVJMICpoYW5kbGUsIENVUkxPUFRfRlRQX0FDQ09VTlQsIGNoYXIgKmFjY291bnQpOwogLlNIIERFU0NSSVBUSU9OCi1QYXNzIGEgcG9pbnRlciB0byBhIHplcm8gdGVybWluYXRlZCBzdHJpbmcgKG9yIE5VTEwgdG8gZGlzYWJsZSkuIFdoZW4gYW4gRlRQCitQYXNzIGEgcG9pbnRlciB0byBhIG51bGwtdGVybWluYXRlZCBzdHJpbmcgKG9yIE5VTEwgdG8gZGlzYWJsZSkuIFdoZW4gYW4gRlRQCiBzZXJ2ZXIgYXNrcyBmb3IgImFjY291bnQgZGF0YSIgYWZ0ZXIgdXNlciBuYW1lIGFuZCBwYXNzd29yZCBoYXMgYmVlbiBwcm92aWRlZCwKIHRoaXMgZGF0YSBpcyBzZW50IG9mZiB1c2luZyB0aGUgQUNDVCBjb21tYW5kLgogCmRpZmYgLS1naXQgYS9kb2NzL2xpYmN1cmwvb3B0cy9DVVJMT1BUX0ZUUF9BTFRFUk5BVElWRV9UT19VU0VSLjMgYi9kb2NzL2xpYmN1cmwvb3B0cy9DVVJMT1BUX0ZUUF9BTFRFUk5BVElWRV9UT19VU0VSLjMKaW5kZXggNTM0MDdhYy4uMmViYTVmOSAxMDA2NDQKLS0tIGEvZG9jcy9saWJjdXJsL29wdHMvQ1VSTE9QVF9GVFBfQUxURVJOQVRJVkVfVE9fVVNFUi4zCisrKyBiL2RvY3MvbGliY3VybC9vcHRzL0NVUkxPUFRfRlRQX0FMVEVSTkFUSVZFX1RPX1VTRVIuMwpAQCAtMjAsNyArMjAsNyBAQAogLlwiICoKIC5cIiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogLlwiCi0uVEggQ1VSTE9QVF9GVFBfQUxURVJOQVRJVkVfVE9fVVNFUiAzICJNYXkgMDUsIDIwMTciICJsaWJjdXJsIDcuNzAuMCIgImN1cmxfZWFzeV9zZXRvcHQgb3B0aW9ucyIKKy5USCBDVVJMT1BUX0ZUUF9BTFRFUk5BVElWRV9UT19VU0VSIDMgIk1heSAwNSwgMjAxNyIgImxpYmN1cmwgNy43MS4xIiAiY3VybF9lYXN5X3NldG9wdCBvcHRpb25zIgogCiAuU0ggTkFNRQogQ1VSTE9QVF9GVFBfQUxURVJOQVRJVkVfVE9fVVNFUiBcLSBjb21tYW5kIHRvIHVzZSBpbnN0ZWFkIG9mIFVTRVIgd2l0aCBGVFAKZGlmZiAtLWdpdCBhL2RvY3MvbGliY3VybC9vcHRzL0NVUkxPUFRfRlRQX0NSRUFURV9NSVNTSU5HX0RJUlMuMyBiL2RvY3MvbGliY3VybC9vcHRzL0NVUkxPUFRfRlRQX0NSRUFURV9NSVNTSU5HX0RJUlMuMwppbmRleCBiMzk5YmU1Li5jMGEzMTAyIDEwMDY0NAotLS0gYS9kb2NzL2xpYmN1cmwvb3B0cy9DVVJMT1BUX0ZUUF9DUkVBVEVfTUlTU0lOR19ESVJTLjMKKysrIGIvZG9jcy9saWJjdXJsL29wdHMvQ1VSTE9QVF9GVFBfQ1JFQVRFX01JU1NJTkdfRElSUy4zCkBAIC0yMCw3ICsyMCw3IEBACiAuXCIgKgogLlwiICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiAuXCIKLS5USCBDVVJMT1BUX0ZUUF9DUkVBVEVfTUlTU0lOR19ESVJTIDMgIk1heSAwNSwgMjAxNyIgImxpYmN1cmwgNy43MC4wIiAiY3VybF9lYXN5X3NldG9wdCBvcHRpb25zIgorLlRIIENVUkxPUFRfRlRQX0NSRUFURV9NSVNTSU5HX0RJUlMgMyAiTWF5IDA1LCAyMDE3IiAibGliY3VybCA3LjcxLjEiICJjdXJsX2Vhc3lfc2V0b3B0IG9wdGlvbnMiCiAKIC5TSCBOQU1FCiBDVVJMT1BUX0ZUUF9DUkVBVEVfTUlTU0lOR19ESVJTIFwtIGNyZWF0ZSBtaXNzaW5nIGRpcnMgZm9yIEZUUCBhbmQgU0ZUUApkaWZmIC0tZ2l0IGEvZG9jcy9saWJjdXJsL29wdHMvQ1VSTE9QVF9GVFBfRklMRU1FVEhPRC4zIGIvZG9jcy9saWJjdXJsL29wdHMvQ1VSTE9QVF9GVFBfRklMRU1FVEhPRC4zCmluZGV4IDk5NjQ4YWIuLmVkODJhYjAgMTAwNjQ0Ci0tLSBhL2RvY3MvbGliY3VybC9vcHRzL0NVUkxPUFRfRlRQX0ZJTEVNRVRIT0QuMworKysgYi9kb2NzL2xpYmN1cmwvb3B0cy9DVVJMT1BUX0ZUUF9GSUxFTUVUSE9ELjMKQEAgLTIwLDcgKzIwLDcgQEAKIC5cIiAqCiAuXCIgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKIC5cIgotLlRIIENVUkxPUFRfRlRQX0ZJTEVNRVRIT0QgMyAiTWF5IDA1LCAyMDE3IiAibGliY3VybCA3LjcwLjAiICJjdXJsX2Vhc3lfc2V0b3B0IG9wdGlvbnMiCisuVEggQ1VSTE9QVF9GVFBfRklMRU1FVEhPRCAzICJNYXkgMDUsIDIwMTciICJsaWJjdXJsIDcuNzEuMSIgImN1cmxfZWFzeV9zZXRvcHQgb3B0aW9ucyIKIAogLlNIIE5BTUUKIENVUkxPUFRfRlRQX0ZJTEVNRVRIT0QgXC0gc2VsZWN0IGRpcmVjdG9yeSB0cmF2ZXJzaW5nIG1ldGhvZCBmb3IgRlRQCmRpZmYgLS1naXQgYS9kb2NzL2xpYmN1cmwvb3B0cy9DVVJMT1BUX0ZUUF9SRVNQT05TRV9USU1FT1VULjMgYi9kb2NzL2xpYmN1cmwvb3B0cy9DVVJMT1BUX0ZUUF9SRVNQT05TRV9USU1FT1VULjMKaW5kZXggNWNmZDM0OC4uOTE1YzA2MiAxMDA2NDQKLS0tIGEvZG9jcy9saWJjdXJsL29wdHMvQ1VSTE9QVF9GVFBfUkVTUE9OU0VfVElNRU9VVC4zCisrKyBiL2RvY3MvbGliY3VybC9vcHRzL0NVUkxPUFRfRlRQX1JFU1BPTlNFX1RJTUVPVVQuMwpAQCAtMjAsNyArMjAsNyBAQAogLlwiICoKIC5cIiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogLlwiCi0uVEggQ1VSTE9QVF9GVFBfUkVTUE9OU0VfVElNRU9VVCAzICJPY3RvYmVyIDAzLCAyMDE3IiAibGliY3VybCA3LjcwLjAiICJjdXJsX2Vhc3lfc2V0b3B0IG9wdGlvbnMiCisuVEggQ1VSTE9QVF9GVFBfUkVTUE9OU0VfVElNRU9VVCAzICJPY3RvYmVyIDAzLCAyMDE3IiAibGliY3VybCA3LjcxLjEiICJjdXJsX2Vhc3lfc2V0b3B0IG9wdGlvbnMiCiAKIC5TSCBOQU1FCiBDVVJMT1BUX0ZUUF9SRVNQT05TRV9USU1FT1VUIFwtIHRpbWUgYWxsb3dlZCB0byB3YWl0IGZvciBGVFAgcmVzcG9uc2UKZGlmZiAtLWdpdCBhL2RvY3MvbGliY3VybC9vcHRzL0NVUkxPUFRfRlRQX1NLSVBfUEFTVl9JUC4zIGIvZG9jcy9saWJjdXJsL29wdHMvQ1VSTE9QVF9GVFBfU0tJUF9QQVNWX0lQLjMKaW5kZXggOWM2YmU1OC4uZTY4ZDJlNyAxMDA2NDQKLS0tIGEvZG9jcy9saWJjdXJsL29wdHMvQ1VSTE9QVF9GVFBfU0tJUF9QQVNWX0lQLjMKKysrIGIvZG9jcy9saWJjdXJsL29wdHMvQ1VSTE9QVF9GVFBfU0tJUF9QQVNWX0lQLjMKQEAgLTIwLDcgKzIwLDcgQEAKIC5cIiAqCiAuXCIgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKIC5cIgotLlRIIENVUkxPUFRfRlRQX1NLSVBfUEFTVl9JUCAzICJNYXkgMDUsIDIwMTciICJsaWJjdXJsIDcuNzAuMCIgImN1cmxfZWFzeV9zZXRvcHQgb3B0aW9ucyIKKy5USCBDVVJMT1BUX0ZUUF9TS0lQX1BBU1ZfSVAgMyAiTWF5IDA1LCAyMDE3IiAibGliY3VybCA3LjcxLjEiICJjdXJsX2Vhc3lfc2V0b3B0IG9wdGlvbnMiCiAKIC5TSCBOQU1FCiBDVVJMT1BUX0ZUUF9TS0lQX1BBU1ZfSVAgXC0gaWdub3JlIHRoZSBJUCBhZGRyZXNzIGluIHRoZSBQQVNWIHJlc3BvbnNlCmRpZmYgLS1naXQgYS9kb2NzL2xpYmN1cmwvb3B0cy9DVVJMT1BUX0ZUUF9TU0xfQ0NDLjMgYi9kb2NzL2xpYmN1cmwvb3B0cy9DVVJMT1BUX0ZUUF9TU0xfQ0NDLjMKaW5kZXggYmQzY2FiNy4uZmYxYWUzYiAxMDA2NDQKLS0tIGEvZG9jcy9saWJjdXJsL29wdHMvQ1VSTE9QVF9GVFBfU1NMX0NDQy4zCisrKyBiL2RvY3MvbGliY3VybC9vcHRzL0NVUkxPUFRfRlRQX1NTTF9DQ0MuMwpAQCAtMjAsNyArMjAsNyBAQAogLlwiICoKIC5cIiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogLlwiCi0uVEggQ1VSTE9QVF9GVFBfU1NMX0NDQyAzICJNYXkgMzEsIDIwMTciICJsaWJjdXJsIDcuNzAuMCIgImN1cmxfZWFzeV9zZXRvcHQgb3B0aW9ucyIKKy5USCBDVVJMT1BUX0ZUUF9TU0xfQ0NDIDMgIk1heSAzMSwgMjAxNyIgImxpYmN1cmwgNy43MS4xIiAiY3VybF9lYXN5X3NldG9wdCBvcHRpb25zIgogCiAuU0ggTkFNRQogQ1VSTE9QVF9GVFBfU1NMX0NDQyBcLSBzd2l0Y2ggb2ZmIFNTTCBhZ2FpbiB3aXRoIEZUUCBhZnRlciBhdXRoCmRpZmYgLS1naXQgYS9kb2NzL2xpYmN1cmwvb3B0cy9DVVJMT1BUX0ZUUF9VU0VfRVBSVC4zIGIvZG9jcy9saWJjdXJsL29wdHMvQ1VSTE9QVF9GVFBfVVNFX0VQUlQuMwppbmRleCA4ZDkzZWZhLi5hMWUzMzhmIDEwMDY0NAotLS0gYS9kb2NzL2xpYmN1cmwvb3B0cy9DVVJMT1BUX0ZUUF9VU0VfRVBSVC4zCisrKyBiL2RvY3MvbGliY3VybC9vcHRzL0NVUkxPUFRfRlRQX1VTRV9FUFJULjMKQEAgLTIwLDcgKzIwLDcgQEAKIC5cIiAqCiAuXCIgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKIC5cIgotLlRIIENVUkxPUFRfRlRQX1VTRV9FUFJUIDMgIk1hcmNoIDIzLCAyMDIwIiAibGliY3VybCA3LjcwLjAiICJjdXJsX2Vhc3lfc2V0b3B0IG9wdGlvbnMiCisuVEggQ1VSTE9QVF9GVFBfVVNFX0VQUlQgMyAiTWFyY2ggMjMsIDIwMjAiICJsaWJjdXJsIDcuNzEuMSIgImN1cmxfZWFzeV9zZXRvcHQgb3B0aW9ucyIKIAogLlNIIE5BTUUKIENVUkxPUFRfRlRQX1VTRV9FUFJUIFwtIGVuYWJsZS9kaXNhYmxlIHVzZSBvZiBFUFJUIHdpdGggRlRQCmRpZmYgLS1naXQgYS9kb2NzL2xpYmN1cmwvb3B0cy9DVVJMT1BUX0ZUUF9VU0VfRVBTVi4zIGIvZG9jcy9saWJjdXJsL29wdHMvQ1VSTE9QVF9GVFBfVVNFX0VQU1YuMwppbmRleCA0OWZlYWI2Li5lYzQwYTEzIDEwMDY0NAotLS0gYS9kb2NzL2xpYmN1cmwvb3B0cy9DVVJMT1BUX0ZUUF9VU0VfRVBTVi4zCisrKyBiL2RvY3MvbGliY3VybC9vcHRzL0NVUkxPUFRfRlRQX1VTRV9FUFNWLjMKQEAgLTIwLDcgKzIwLDcgQEAKIC5cIiAqCiAuXCIgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKIC5cIgotLlRIIENVUkxPUFRfRlRQX1VTRV9FUFNWIDMgIk1heSAwNSwgMjAxNyIgImxpYmN1cmwgNy43MC4wIiAiY3VybF9lYXN5X3NldG9wdCBvcHRpb25zIgorLlRIIENVUkxPUFRfRlRQX1VTRV9FUFNWIDMgIk1heSAwNSwgMjAxNyIgImxpYmN1cmwgNy43MS4xIiAiY3VybF9lYXN5X3NldG9wdCBvcHRpb25zIgogCiAuU0ggTkFNRQogQ1VSTE9QVF9GVFBfVVNFX0VQU1YgXC0gZW5hYmxlL2Rpc2FibGUgdXNlIG9mIEVQU1YKZGlmZiAtLWdpdCBhL2RvY3MvbGliY3VybC9vcHRzL0NVUkxPUFRfRlRQX1VTRV9QUkVULjMgYi9kb2NzL2xpYmN1cmwvb3B0cy9DVVJMT1BUX0ZUUF9VU0VfUFJFVC4zCmluZGV4IDYwNDExZGQuLjY2OWFjNGYgMTAwNjQ0Ci0tLSBhL2RvY3MvbGliY3VybC9vcHRzL0NVUkxPUFRfRlRQX1VTRV9QUkVULjMKKysrIGIvZG9jcy9saWJjdXJsL29wdHMvQ1VSTE9QVF9GVFBfVVNFX1BSRVQuMwpAQCAtMjAsNyArMjAsNyBAQAogLlwiICoKIC5cIiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogLlwiCi0uVEggQ1VSTE9QVF9GVFBfVVNFX1BSRVQgMyAiTWF5IDA1LCAyMDE3IiAibGliY3VybCA3LjcwLjAiICJjdXJsX2Vhc3lfc2V0b3B0IG9wdGlvbnMiCisuVEggQ1VSTE9QVF9GVFBfVVNFX1BSRVQgMyAiTWF5IDA1LCAyMDE3IiAibGliY3VybCA3LjcxLjEiICJjdXJsX2Vhc3lfc2V0b3B0IG9wdGlvbnMiCiAKIC5TSCBOQU1FCiBDVVJMT1BUX0ZUUF9VU0VfUFJFVCBcLSBlbmFibGUgdGhlIFBSRVQgY29tbWFuZApkaWZmIC0tZ2l0IGEvZG9jcy9saWJjdXJsL29wdHMvQ1VSTE9QVF9HU1NBUElfREVMRUdBVElPTi4zIGIvZG9jcy9saWJjdXJsL29wdHMvQ1VSTE9QVF9HU1NBUElfREVMRUdBVElPTi4zCmluZGV4IGY5MDJlMzguLjdiODk4ZGMgMTAwNjQ0Ci0tLSBhL2RvY3MvbGliY3VybC9vcHRzL0NVUkxPUFRfR1NTQVBJX0RFTEVHQVRJT04uMworKysgYi9kb2NzL2xpYmN1cmwvb3B0cy9DVVJMT1BUX0dTU0FQSV9ERUxFR0FUSU9OLjMKQEAgLTIwLDcgKzIwLDcgQEAKIC5cIiAqCiAuXCIgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKIC5cIgotLlRIIENVUkxPUFRfR1NTQVBJX0RFTEVHQVRJT04gMyAiTWF5IDMxLCAyMDE3IiAibGliY3VybCA3LjcwLjAiICJjdXJsX2Vhc3lfc2V0b3B0IG9wdGlvbnMiCisuVEggQ1VSTE9QVF9HU1NBUElfREVMRUdBVElPTiAzICJNYXkgMzEsIDIwMTciICJsaWJjdXJsIDcuNzEuMSIgImN1cmxfZWFzeV9zZXRvcHQgb3B0aW9ucyIKIAogLlNIIE5BTUUKIENVUkxPUFRfR1NTQVBJX0RFTEVHQVRJT04gXC0gc2V0IGFsbG93ZWQgR1NTLUFQSSBkZWxlZ2F0aW9uCmRpZmYgLS1naXQgYS9kb2NzL2xpYmN1cmwvb3B0cy9DVVJMT1BUX0hBUFBZX0VZRUJBTExTX1RJTUVPVVRfTVMuMyBiL2RvY3MvbGliY3VybC9vcHRzL0NVUkxPUFRfSEFQUFlfRVlFQkFMTFNfVElNRU9VVF9NUy4zCmluZGV4IDgwNjg5NDguLmM2NmFjZDQgMTAwNjQ0Ci0tLSBhL2RvY3MvbGliY3VybC9vcHRzL0NVUkxPUFRfSEFQUFlfRVlFQkFMTFNfVElNRU9VVF9NUy4zCisrKyBiL2RvY3MvbGliY3VybC9vcHRzL0NVUkxPUFRfSEFQUFlfRVlFQkFMTFNfVElNRU9VVF9NUy4zCkBAIC0yMCw3ICsyMCw3IEBACiAuXCIgKgogLlwiICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiAuXCIKLS5USCBDVVJMT1BUX0hBUFBZX0VZRUJBTExTX1RJTUVPVVRfTVMgMyAiTWFyY2ggMjMsIDIwMjAiICJsaWJjdXJsIDcuNzAuMCIgImN1cmxfZWFzeV9zZXRvcHQgb3B0aW9ucyIKKy5USCBDVVJMT1BUX0hBUFBZX0VZRUJBTExTX1RJTUVPVVRfTVMgMyAiTWFyY2ggMjMsIDIwMjAiICJsaWJjdXJsIDcuNzEuMSIgImN1cmxfZWFzeV9zZXRvcHQgb3B0aW9ucyIKIAogLlNIIE5BTUUKIENVUkxPUFRfSEFQUFlfRVlFQkFMTFNfVElNRU9VVF9NUyBcLSBoZWFkIHN0YXJ0IGZvciBpcHY2IGZvciBoYXBweSBleWViYWxscwpkaWZmIC0tZ2l0IGEvZG9jcy9saWJjdXJsL29wdHMvQ1VSTE9QVF9IQVBST1hZUFJPVE9DT0wuMyBiL2RvY3MvbGliY3VybC9vcHRzL0NVUkxPUFRfSEFQUk9YWVBST1RPQ09MLjMKaW5kZXggNmJkZDljNi4uNjcyOGQ5OSAxMDA2NDQKLS0tIGEvZG9jcy9saWJjdXJsL29wdHMvQ1VSTE9QVF9IQVBST1hZUFJPVE9DT0wuMworKysgYi9kb2NzL2xpYmN1cmwvb3B0cy9DVVJMT1BUX0hBUFJPWFlQUk9UT0NPTC4zCkBAIC0yMCw3ICsyMCw3IEBACiAuXCIgKgogLlwiICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiAuXCIKLS5USCBDVVJMT1BUX0hBUFJPWFlQUk9UT0NPTCAzICJNYXkgMTgsIDIwMTgiICJsaWJjdXJsIDcuNzAuMCIgImN1cmxfZWFzeV9zZXRvcHQgb3B0aW9ucyIKKy5USCBDVVJMT1BUX0hBUFJPWFlQUk9UT0NPTCAzICJNYXkgMTgsIDIwMTgiICJsaWJjdXJsIDcuNzEuMSIgImN1cmxfZWFzeV9zZXRvcHQgb3B0aW9ucyIKIAogLlNIIE5BTUUKIENVUkxPUFRfSEFQUk9YWVBST1RPQ09MIFwtIHNlbmQgSEFQcm94eSBQUk9YWSBwcm90b2NvbCB2MSBoZWFkZXIKZGlmZiAtLWdpdCBhL2RvY3MvbGliY3VybC9vcHRzL0NVUkxPUFRfSEVBREVSLjMgYi9kb2NzL2xpYmN1cmwvb3B0cy9DVVJMT1BUX0hFQURFUi4zCmluZGV4IDYzYTczZDIuLjE5ZDljNmQgMTAwNjQ0Ci0tLSBhL2RvY3MvbGliY3VybC9vcHRzL0NVUkxPUFRfSEVBREVSLjMKKysrIGIvZG9jcy9saWJjdXJsL29wdHMvQ1VSTE9QVF9IRUFERVIuMwpAQCAtMjAsNyArMjAsNyBAQAogLlwiICoKIC5cIiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogLlwiCi0uVEggQ1VSTE9QVF9IRUFERVIgMyAiT2N0b2JlciAwMywgMjAxOCIgImxpYmN1cmwgNy43MC4wIiAiY3VybF9lYXN5X3NldG9wdCBvcHRpb25zIgorLlRIIENVUkxPUFRfSEVBREVSIDMgIk9jdG9iZXIgMDMsIDIwMTgiICJsaWJjdXJsIDcuNzEuMSIgImN1cmxfZWFzeV9zZXRvcHQgb3B0aW9ucyIKIAogLlNIIE5BTUUKIENVUkxPUFRfSEVBREVSIFwtIHBhc3MgaGVhZGVycyB0byB0aGUgZGF0YSBzdHJlYW0KZGlmZiAtLWdpdCBhL2RvY3MvbGliY3VybC9vcHRzL0NVUkxPUFRfSEVBREVSREFUQS4zIGIvZG9jcy9saWJjdXJsL29wdHMvQ1VSTE9QVF9IRUFERVJEQVRBLjMKaW5kZXggMmZiNzUyNi4uM2VlMmE5ZSAxMDA2NDQKLS0tIGEvZG9jcy9saWJjdXJsL29wdHMvQ1VSTE9QVF9IRUFERVJEQVRBLjMKKysrIGIvZG9jcy9saWJjdXJsL29wdHMvQ1VSTE9QVF9IRUFERVJEQVRBLjMKQEAgLTIwLDcgKzIwLDcgQEAKIC5cIiAqCiAuXCIgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKIC5cIgotLlRIIENVUkxPUFRfSEVBREVSREFUQSAzICJNYXkgMDUsIDIwMTciICJsaWJjdXJsIDcuNzAuMCIgImN1cmxfZWFzeV9zZXRvcHQgb3B0aW9ucyIKKy5USCBDVVJMT1BUX0hFQURFUkRBVEEgMyAiTWF5IDA1LCAyMDE3IiAibGliY3VybCA3LjcxLjEiICJjdXJsX2Vhc3lfc2V0b3B0IG9wdGlvbnMiCiAKIC5TSCBOQU1FCiBDVVJMT1BUX0hFQURFUkRBVEEgXC0gcG9pbnRlciB0byBwYXNzIHRvIGhlYWRlciBjYWxsYmFjawpkaWZmIC0tZ2l0IGEvZG9jcy9saWJjdXJsL29wdHMvQ1VSTE9QVF9IRUFERVJGVU5DVElPTi4zIGIvZG9jcy9saWJjdXJsL29wdHMvQ1VSTE9QVF9IRUFERVJGVU5DVElPTi4zCmluZGV4IGFiZmQyNTEuLjhkN2Y1Y2QgMTAwNjQ0Ci0tLSBhL2RvY3MvbGliY3VybC9vcHRzL0NVUkxPUFRfSEVBREVSRlVOQ1RJT04uMworKysgYi9kb2NzL2xpYmN1cmwvb3B0cy9DVVJMT1BUX0hFQURFUkZVTkNUSU9OLjMKQEAgLTIwLDcgKzIwLDcgQEAKIC5cIiAqCiAuXCIgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKIC5cIgotLlRIIENVUkxPUFRfSEVBREVSRlVOQ1RJT04gMyAiRGVjZW1iZXIgMjYsIDIwMTkiICJsaWJjdXJsIDcuNzAuMCIgImN1cmxfZWFzeV9zZXRvcHQgb3B0aW9ucyIKKy5USCBDVVJMT1BUX0hFQURFUkZVTkNUSU9OIDMgIkp1bmUgMjUsIDIwMjAiICJsaWJjdXJsIDcuNzEuMSIgImN1cmxfZWFzeV9zZXRvcHQgb3B0aW9ucyIKIAogLlNIIE5BTUUKIENVUkxPUFRfSEVBREVSRlVOQ1RJT04gXC0gY2FsbGJhY2sgdGhhdCByZWNlaXZlcyBoZWFkZXIgZGF0YQpAQCAtNDIsNyArNDIsNyBAQAogY29tcGxldGUgaGVhZGVyIGxpbmVzIGFyZSBwYXNzZWQgb24gdG8gdGhlIGNhbGxiYWNrLiBQYXJzaW5nIGhlYWRlcnMgaXMgdmVyeQogZWFzeSB1c2luZyB0aGlzLiBcZklidWZmZXJcZlAgcG9pbnRzIHRvIHRoZSBkZWxpdmVyZWQgZGF0YSwgYW5kIHRoZSBzaXplIG9mCiB0aGF0IGRhdGEgaXMgXGZJbml0ZW1zXGZQOyBcZklzaXplXGZQIGlzIGFsd2F5cyAxLiBEbyBub3QgYXNzdW1lIHRoYXQgdGhlCi1oZWFkZXIgbGluZSBpcyB6ZXJvIHRlcm1pbmF0ZWQhCitoZWFkZXIgbGluZSBpcyBudWxsLXRlcm1pbmF0ZWQhCiAKIFRoZSBwb2ludGVyIG5hbWVkIFxmSXVzZXJkYXRhXGZQIGlzIHRoZSBvbmUgeW91IHNldCB3aXRoIHRoZQogXGZJQ1VSTE9QVF9IRUFERVJEQVRBKDMpXGZQIG9wdGlvbi4KZGlmZiAtLWdpdCBhL2RvY3MvbGliY3VybC9vcHRzL0NVUkxPUFRfSEVBREVST1BULjMgYi9kb2NzL2xpYmN1cmwvb3B0cy9DVVJMT1BUX0hFQURFUk9QVC4zCmluZGV4IGM4YmUxNGQuLjk5MmJlY2YgMTAwNjQ0Ci0tLSBhL2RvY3MvbGliY3VybC9vcHRzL0NVUkxPUFRfSEVBREVST1BULjMKKysrIGIvZG9jcy9saWJjdXJsL29wdHMvQ1VSTE9QVF9IRUFERVJPUFQuMwpAQCAtMjAsNyArMjAsNyBAQAogLlwiICoKIC5cIiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogLlwiCi0uVEggQ1VSTE9QVF9IRUFERVJPUFQgMyAiT2N0b2JlciAzMSwgMjAxOSIgImxpYmN1cmwgNy43MC4wIiAiY3VybF9lYXN5X3NldG9wdCBvcHRpb25zIgorLlRIIENVUkxPUFRfSEVBREVST1BUIDMgIk9jdG9iZXIgMzEsIDIwMTkiICJsaWJjdXJsIDcuNzEuMSIgImN1cmxfZWFzeV9zZXRvcHQgb3B0aW9ucyIKIAogLlNIIE5BTUUKIENVUkxPUFRfSEVBREVST1BUIFwtIHNldCBob3cgdG8gc2VuZCBIVFRQIGhlYWRlcnMKZGlmZiAtLWdpdCBhL2RvY3MvbGliY3VybC9vcHRzL0NVUkxPUFRfSFRUUDA5X0FMTE9XRUQuMyBiL2RvY3MvbGliY3VybC9vcHRzL0NVUkxPUFRfSFRUUDA5X0FMTE9XRUQuMwppbmRleCAwMGNjMjRhLi5kYWEwODJmIDEwMDY0NAotLS0gYS9kb2NzL2xpYmN1cmwvb3B0cy9DVVJMT1BUX0hUVFAwOV9BTExPV0VELjMKKysrIGIvZG9jcy9saWJjdXJsL29wdHMvQ1VSTE9QVF9IVFRQMDlfQUxMT1dFRC4zCkBAIC0yMCw3ICsyMCw3IEBACiAuXCIgKgogLlwiICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiAuXCIKLS5USCBDVVJMT1BUX0hUVFAwOV9BTExPV0VEIDMgIkF1Z3VzdCAwNSwgMjAxOSIgImxpYmN1cmwgNy43MC4wIiAiY3VybF9lYXN5X3NldG9wdCBvcHRpb25zIgorLlRIIENVUkxPUFRfSFRUUDA5X0FMTE9XRUQgMyAiQXVndXN0IDA1LCAyMDE5IiAibGliY3VybCA3LjcxLjEiICJjdXJsX2Vhc3lfc2V0b3B0IG9wdGlvbnMiCiAKIC5TSCBOQU1FCiBDVVJMT1BUX0hUVFAwOSBcLSBhbGxvdyBIVFRQLzAuOSByZXNwb25zZQpkaWZmIC0tZ2l0IGEvZG9jcy9saWJjdXJsL29wdHMvQ1VSTE9QVF9IVFRQMjAwQUxJQVNFUy4zIGIvZG9jcy9saWJjdXJsL29wdHMvQ1VSTE9QVF9IVFRQMjAwQUxJQVNFUy4zCmluZGV4IDUyZjljNGIuLjJlMmI1NmYgMTAwNjQ0Ci0tLSBhL2RvY3MvbGliY3VybC9vcHRzL0NVUkxPUFRfSFRUUDIwMEFMSUFTRVMuMworKysgYi9kb2NzL2xpYmN1cmwvb3B0cy9DVVJMT1BUX0hUVFAyMDBBTElBU0VTLjMKQEAgLTIwLDcgKzIwLDcgQEAKIC5cIiAqCiAuXCIgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKIC5cIgotLlRIIENVUkxPUFRfSFRUUDIwMEFMSUFTRVMgMyAiTWF5IDMxLCAyMDE3IiAibGliY3VybCA3LjcwLjAiICJjdXJsX2Vhc3lfc2V0b3B0IG9wdGlvbnMiCisuVEggQ1VSTE9QVF9IVFRQMjAwQUxJQVNFUyAzICJNYXkgMzEsIDIwMTciICJsaWJjdXJsIDcuNzEuMSIgImN1cmxfZWFzeV9zZXRvcHQgb3B0aW9ucyIKIAogLlNIIE5BTUUKIENVUkxPUFRfSFRUUDIwMEFMSUFTRVMgXC0gc3BlY2lmeSBhbHRlcm5hdGl2ZSBtYXRjaGVzIGZvciBIVFRQIDIwMCBPSwpkaWZmIC0tZ2l0IGEvZG9jcy9saWJjdXJsL29wdHMvQ1VSTE9QVF9IVFRQQVVUSC4zIGIvZG9jcy9saWJjdXJsL29wdHMvQ1VSTE9QVF9IVFRQQVVUSC4zCmluZGV4IDFmZDI4NWUuLmQ0OGFkNzAgMTAwNjQ0Ci0tLSBhL2RvY3MvbGliY3VybC9vcHRzL0NVUkxPUFRfSFRUUEFVVEguMworKysgYi9kb2NzL2xpYmN1cmwvb3B0cy9DVVJMT1BUX0hUVFBBVVRILjMKQEAgLTIwLDcgKzIwLDcgQEAKIC5cIiAqCiAuXCIgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKIC5cIgotLlRIIENVUkxPUFRfSFRUUEFVVEggMyAiSnVuZSAxNSwgMjAxOCIgImxpYmN1cmwgNy43MC4wIiAiY3VybF9lYXN5X3NldG9wdCBvcHRpb25zIgorLlRIIENVUkxPUFRfSFRUUEFVVEggMyAiSnVuZSAxNSwgMjAxOCIgImxpYmN1cmwgNy43MS4xIiAiY3VybF9lYXN5X3NldG9wdCBvcHRpb25zIgogCiAuU0ggTkFNRQogQ1VSTE9QVF9IVFRQQVVUSCBcLSBzZXQgSFRUUCBzZXJ2ZXIgYXV0aGVudGljYXRpb24gbWV0aG9kcyB0byB0cnkKZGlmZiAtLWdpdCBhL2RvY3MvbGliY3VybC9vcHRzL0NVUkxPUFRfSFRUUEdFVC4zIGIvZG9jcy9saWJjdXJsL29wdHMvQ1VSTE9QVF9IVFRQR0VULjMKaW5kZXggZjljMzhhOC4uMGI0YjE3MyAxMDA2NDQKLS0tIGEvZG9jcy9saWJjdXJsL29wdHMvQ1VSTE9QVF9IVFRQR0VULjMKKysrIGIvZG9jcy9saWJjdXJsL29wdHMvQ1VSTE9QVF9IVFRQR0VULjMKQEAgLTIwLDcgKzIwLDcgQEAKIC5cIiAqCiAuXCIgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKIC5cIgotLlRIIENVUkxPUFRfSFRUUEdFVCAzICJNYXkgMjEsIDIwMTgiICJsaWJjdXJsIDcuNzAuMCIgImN1cmxfZWFzeV9zZXRvcHQgb3B0aW9ucyIKKy5USCBDVVJMT1BUX0hUVFBHRVQgMyAiTWF5IDIxLCAyMDE4IiAibGliY3VybCA3LjcxLjEiICJjdXJsX2Vhc3lfc2V0b3B0IG9wdGlvbnMiCiAKIC5TSCBOQU1FCiBDVVJMT1BUX0hUVFBHRVQgXC0gYXNrIGZvciBhbiBIVFRQIEdFVCByZXF1ZXN0CmRpZmYgLS1naXQgYS9kb2NzL2xpYmN1cmwvb3B0cy9DVVJMT1BUX0hUVFBIRUFERVIuMyBiL2RvY3MvbGliY3VybC9vcHRzL0NVUkxPUFRfSFRUUEhFQURFUi4zCmluZGV4IDA5MWM1NjMuLjBjMjY0OWEgMTAwNjQ0Ci0tLSBhL2RvY3MvbGliY3VybC9vcHRzL0NVUkxPUFRfSFRUUEhFQURFUi4zCisrKyBiL2RvY3MvbGliY3VybC9vcHRzL0NVUkxPUFRfSFRUUEhFQURFUi4zCkBAIC0yMCw3ICsyMCw3IEBACiAuXCIgKgogLlwiICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiAuXCIKLS5USCBDVVJMT1BUX0hUVFBIRUFERVIgMyAiTWFyY2ggMjMsIDIwMjAiICJsaWJjdXJsIDcuNzAuMCIgImN1cmxfZWFzeV9zZXRvcHQgb3B0aW9ucyIKKy5USCBDVVJMT1BUX0hUVFBIRUFERVIgMyAiTWFyY2ggMjMsIDIwMjAiICJsaWJjdXJsIDcuNzEuMSIgImN1cmxfZWFzeV9zZXRvcHQgb3B0aW9ucyIKIAogLlNIIE5BTUUKIENVUkxPUFRfSFRUUEhFQURFUiBcLSBzZXQgY3VzdG9tIEhUVFAgaGVhZGVycwpkaWZmIC0tZ2l0IGEvZG9jcy9saWJjdXJsL29wdHMvQ1VSTE9QVF9IVFRQUE9TVC4zIGIvZG9jcy9saWJjdXJsL29wdHMvQ1VSTE9QVF9IVFRQUE9TVC4zCmluZGV4IDE2ODNmNmIuLjU4NzFiOTUgMTAwNjQ0Ci0tLSBhL2RvY3MvbGliY3VybC9vcHRzL0NVUkxPUFRfSFRUUFBPU1QuMworKysgYi9kb2NzL2xpYmN1cmwvb3B0cy9DVVJMT1BUX0hUVFBQT1NULjMKQEAgLTIwLDcgKzIwLDcgQEAKIC5cIiAqCiAuXCIgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKIC5cIgotLlRIIENVUkxPUFRfSFRUUFBPU1QgMyAiU2VwdGVtYmVyIDAyLCAyMDE3IiAibGliY3VybCA3LjcwLjAiICJjdXJsX2Vhc3lfc2V0b3B0IG9wdGlvbnMiCisuVEggQ1VSTE9QVF9IVFRQUE9TVCAzICJTZXB0ZW1iZXIgMDIsIDIwMTciICJsaWJjdXJsIDcuNzEuMSIgImN1cmxfZWFzeV9zZXRvcHQgb3B0aW9ucyIKIAogLlNIIE5BTUUKIENVUkxPUFRfSFRUUFBPU1QgXC0gc3BlY2lmeSB0aGUgbXVsdGlwYXJ0IGZvcm1wb3N0IGNvbnRlbnQKZGlmZiAtLWdpdCBhL2RvY3MvbGliY3VybC9vcHRzL0NVUkxPUFRfSFRUUFBST1hZVFVOTkVMLjMgYi9kb2NzL2xpYmN1cmwvb3B0cy9DVVJMT1BUX0hUVFBQUk9YWVRVTk5FTC4zCmluZGV4IGFiODc1NzcuLmZlZDZhMzIgMTAwNjQ0Ci0tLSBhL2RvY3MvbGliY3VybC9vcHRzL0NVUkxPUFRfSFRUUFBST1hZVFVOTkVMLjMKKysrIGIvZG9jcy9saWJjdXJsL29wdHMvQ1VSTE9QVF9IVFRQUFJPWFlUVU5ORUwuMwpAQCAtMjAsNyArMjAsNyBAQAogLlwiICoKIC5cIiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogLlwiCi0uVEggQ1VSTE9QVF9IVFRQUFJPWFlUVU5ORUwgMyAiTWFyY2ggMjMsIDIwMjAiICJsaWJjdXJsIDcuNzAuMCIgImN1cmxfZWFzeV9zZXRvcHQgb3B0aW9ucyIKKy5USCBDVVJMT1BUX0hUVFBQUk9YWVRVTk5FTCAzICJNYXJjaCAyMywgMjAyMCIgImxpYmN1cmwgNy43MS4xIiAiY3VybF9lYXN5X3NldG9wdCBvcHRpb25zIgogCiAuU0ggTkFNRQogQ1VSTE9QVF9IVFRQUFJPWFlUVU5ORUwgXC0gdHVubmVsIHRocm91Z2ggSFRUUCBwcm94eQpkaWZmIC0tZ2l0IGEvZG9jcy9saWJjdXJsL29wdHMvQ1VSTE9QVF9IVFRQX0NPTlRFTlRfREVDT0RJTkcuMyBiL2RvY3MvbGliY3VybC9vcHRzL0NVUkxPUFRfSFRUUF9DT05URU5UX0RFQ09ESU5HLjMKaW5kZXggOWQyZTAzNi4uM2ZjYTAwYiAxMDA2NDQKLS0tIGEvZG9jcy9saWJjdXJsL29wdHMvQ1VSTE9QVF9IVFRQX0NPTlRFTlRfREVDT0RJTkcuMworKysgYi9kb2NzL2xpYmN1cmwvb3B0cy9DVVJMT1BUX0hUVFBfQ09OVEVOVF9ERUNPRElORy4zCkBAIC0yMCw3ICsyMCw3IEBACiAuXCIgKgogLlwiICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiAuXCIKLS5USCBDVVJMT1BUX0hUVFBfQ09OVEVOVF9ERUNPRElORyAzICJNYXkgMzEsIDIwMTciICJsaWJjdXJsIDcuNzAuMCIgImN1cmxfZWFzeV9zZXRvcHQgb3B0aW9ucyIKKy5USCBDVVJMT1BUX0hUVFBfQ09OVEVOVF9ERUNPRElORyAzICJNYXkgMzEsIDIwMTciICJsaWJjdXJsIDcuNzEuMSIgImN1cmxfZWFzeV9zZXRvcHQgb3B0aW9ucyIKIAogLlNIIE5BTUUKIENVUkxPUFRfSFRUUF9DT05URU5UX0RFQ09ESU5HIFwtIGVuYWJsZS9kaXNhYmxlIEhUVFAgY29udGVudCBkZWNvZGluZwpkaWZmIC0tZ2l0IGEvZG9jcy9saWJjdXJsL29wdHMvQ1VSTE9QVF9IVFRQX1RSQU5TRkVSX0RFQ09ESU5HLjMgYi9kb2NzL2xpYmN1cmwvb3B0cy9DVVJMT1BUX0hUVFBfVFJBTlNGRVJfREVDT0RJTkcuMwppbmRleCAwNjA3NjQ1Li5jZTZhYWVkIDEwMDY0NAotLS0gYS9kb2NzL2xpYmN1cmwvb3B0cy9DVVJMT1BUX0hUVFBfVFJBTlNGRVJfREVDT0RJTkcuMworKysgYi9kb2NzL2xpYmN1cmwvb3B0cy9DVVJMT1BUX0hUVFBfVFJBTlNGRVJfREVDT0RJTkcuMwpAQCAtMjAsNyArMjAsNyBAQAogLlwiICoKIC5cIiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogLlwiCi0uVEggQ1VSTE9QVF9IVFRQX1RSQU5TRkVSX0RFQ09ESU5HIDMgIk1heSAzMSwgMjAxNyIgImxpYmN1cmwgNy43MC4wIiAiY3VybF9lYXN5X3NldG9wdCBvcHRpb25zIgorLlRIIENVUkxPUFRfSFRUUF9UUkFOU0ZFUl9ERUNPRElORyAzICJNYXkgMzEsIDIwMTciICJsaWJjdXJsIDcuNzEuMSIgImN1cmxfZWFzeV9zZXRvcHQgb3B0aW9ucyIKIAogLlNIIE5BTUUKIENVUkxPUFRfSFRUUF9UUkFOU0ZFUl9ERUNPRElORyBcLSBlbmFibGUvZGlzYWJsZSBIVFRQIHRyYW5zZmVyIGRlY29kaW5nCmRpZmYgLS1naXQgYS9kb2NzL2xpYmN1cmwvb3B0cy9DVVJMT1BUX0hUVFBfVkVSU0lPTi4zIGIvZG9jcy9saWJjdXJsL29wdHMvQ1VSTE9QVF9IVFRQX1ZFUlNJT04uMwppbmRleCBiNmRhYjY2Li45OGRlOTA2IDEwMDY0NAotLS0gYS9kb2NzL2xpYmN1cmwvb3B0cy9DVVJMT1BUX0hUVFBfVkVSU0lPTi4zCisrKyBiL2RvY3MvbGliY3VybC9vcHRzL0NVUkxPUFRfSFRUUF9WRVJTSU9OLjMKQEAgLTIwLDcgKzIwLDcgQEAKIC5cIiAqCiAuXCIgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKIC5cIgotLlRIIENVUkxPUFRfSFRUUF9WRVJTSU9OIDMgIlNlcHRlbWJlciAxNCwgMjAxOSIgImxpYmN1cmwgNy43MC4wIiAiY3VybF9lYXN5X3NldG9wdCBvcHRpb25zIgorLlRIIENVUkxPUFRfSFRUUF9WRVJTSU9OIDMgIlNlcHRlbWJlciAxNCwgMjAxOSIgImxpYmN1cmwgNy43MS4xIiAiY3VybF9lYXN5X3NldG9wdCBvcHRpb25zIgogCiAuU0ggTkFNRQogQ1VSTE9QVF9IVFRQX1ZFUlNJT04gXC0gc3BlY2lmeSBIVFRQIHByb3RvY29sIHZlcnNpb24gdG8gdXNlCmRpZmYgLS1naXQgYS9kb2NzL2xpYmN1cmwvb3B0cy9DVVJMT1BUX0lHTk9SRV9DT05URU5UX0xFTkdUSC4zIGIvZG9jcy9saWJjdXJsL29wdHMvQ1VSTE9QVF9JR05PUkVfQ09OVEVOVF9MRU5HVEguMwppbmRleCA2NTFjNjE5Li5hYjFiZTI5IDEwMDY0NAotLS0gYS9kb2NzL2xpYmN1cmwvb3B0cy9DVVJMT1BUX0lHTk9SRV9DT05URU5UX0xFTkdUSC4zCisrKyBiL2RvY3MvbGliY3VybC9vcHRzL0NVUkxPUFRfSUdOT1JFX0NPTlRFTlRfTEVOR1RILjMKQEAgLTIwLDcgKzIwLDcgQEAKIC5cIiAqCiAuXCIgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKIC5cIgotLlRIIENVUkxPUFRfSUdOT1JFX0NPTlRFTlRfTEVOR1RIIDMgIk1hcmNoIDIzLCAyMDIwIiAibGliY3VybCA3LjcwLjAiICJjdXJsX2Vhc3lfc2V0b3B0IG9wdGlvbnMiCisuVEggQ1VSTE9QVF9JR05PUkVfQ09OVEVOVF9MRU5HVEggMyAiTWFyY2ggMjMsIDIwMjAiICJsaWJjdXJsIDcuNzEuMSIgImN1cmxfZWFzeV9zZXRvcHQgb3B0aW9ucyIKIAogLlNIIE5BTUUKIENVUkxPUFRfSUdOT1JFX0NPTlRFTlRfTEVOR1RIIFwtIGlnbm9yZSBjb250ZW50IGxlbmd0aApkaWZmIC0tZ2l0IGEvZG9jcy9saWJjdXJsL29wdHMvQ1VSTE9QVF9JTkZJTEVTSVpFLjMgYi9kb2NzL2xpYmN1cmwvb3B0cy9DVVJMT1BUX0lORklMRVNJWkUuMwppbmRleCBkYzc4M2M3Li5kNDNlYzBmIDEwMDY0NAotLS0gYS9kb2NzL2xpYmN1cmwvb3B0cy9DVVJMT1BUX0lORklMRVNJWkUuMworKysgYi9kb2NzL2xpYmN1cmwvb3B0cy9DVVJMT1BUX0lORklMRVNJWkUuMwpAQCAtMjAsNyArMjAsNyBAQAogLlwiICoKIC5cIiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogLlwiCi0uVEggQ1VSTE9QVF9JTkZJTEVTSVpFIDMgIk1hcmNoIDIzLCAyMDIwIiAibGliY3VybCA3LjcwLjAiICJjdXJsX2Vhc3lfc2V0b3B0IG9wdGlvbnMiCisuVEggQ1VSTE9QVF9JTkZJTEVTSVpFIDMgIk1hcmNoIDIzLCAyMDIwIiAibGliY3VybCA3LjcxLjEiICJjdXJsX2Vhc3lfc2V0b3B0IG9wdGlvbnMiCiAKIC5TSCBOQU1FCiBDVVJMT1BUX0lORklMRVNJWkUgXC0gc2V0IHNpemUgb2YgdGhlIGlucHV0IGZpbGUgdG8gc2VuZCBvZmYKZGlmZiAtLWdpdCBhL2RvY3MvbGliY3VybC9vcHRzL0NVUkxPUFRfSU5GSUxFU0laRV9MQVJHRS4zIGIvZG9jcy9saWJjdXJsL29wdHMvQ1VSTE9QVF9JTkZJTEVTSVpFX0xBUkdFLjMKaW5kZXggNGE2OWEzZS4uOTU3OTAzMyAxMDA2NDQKLS0tIGEvZG9jcy9saWJjdXJsL29wdHMvQ1VSTE9QVF9JTkZJTEVTSVpFX0xBUkdFLjMKKysrIGIvZG9jcy9saWJjdXJsL29wdHMvQ1VSTE9QVF9JTkZJTEVTSVpFX0xBUkdFLjMKQEAgLTIwLDcgKzIwLDcgQEAKIC5cIiAqCiAuXCIgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKIC5cIgotLlRIIENVUkxPUFRfSU5GSUxFU0laRV9MQVJHRSAzICJNYXJjaCAyMywgMjAyMCIgImxpYmN1cmwgNy43MC4wIiAiY3VybF9lYXN5X3NldG9wdCBvcHRpb25zIgorLlRIIENVUkxPUFRfSU5GSUxFU0laRV9MQVJHRSAzICJNYXJjaCAyMywgMjAyMCIgImxpYmN1cmwgNy43MS4xIiAiY3VybF9lYXN5X3NldG9wdCBvcHRpb25zIgogCiAuU0ggTkFNRQogQ1VSTE9QVF9JTkZJTEVTSVpFX0xBUkdFIFwtIHNldCBzaXplIG9mIHRoZSBpbnB1dCBmaWxlIHRvIHNlbmQgb2ZmCmRpZmYgLS1naXQgYS9kb2NzL2xpYmN1cmwvb3B0cy9DVVJMT1BUX0lOVEVSRkFDRS4zIGIvZG9jcy9saWJjdXJsL29wdHMvQ1VSTE9QVF9JTlRFUkZBQ0UuMwppbmRleCBjMjMwNGZlLi5lNjM1YjlhIDEwMDY0NAotLS0gYS9kb2NzL2xpYmN1cmwvb3B0cy9DVVJMT1BUX0lOVEVSRkFDRS4zCisrKyBiL2RvY3MvbGliY3VybC9vcHRzL0NVUkxPUFRfSU5URVJGQUNFLjMKQEAgLTIwLDcgKzIwLDcgQEAKIC5cIiAqCiAuXCIgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKIC5cIgotLlRIIENVUkxPUFRfSU5URVJGQUNFIDMgIkp1bmUgMTgsIDIwMTgiICJsaWJjdXJsIDcuNzAuMCIgImN1cmxfZWFzeV9zZXRvcHQgb3B0aW9ucyIKKy5USCBDVVJMT1BUX0lOVEVSRkFDRSAzICJKdW5lIDE4LCAyMDE4IiAibGliY3VybCA3LjcxLjEiICJjdXJsX2Vhc3lfc2V0b3B0IG9wdGlvbnMiCiAKIC5TSCBOQU1FCiBDVVJMT1BUX0lOVEVSRkFDRSBcLSBzb3VyY2UgaW50ZXJmYWNlIGZvciBvdXRnb2luZyB0cmFmZmljCmRpZmYgLS1naXQgYS9kb2NzL2xpYmN1cmwvb3B0cy9DVVJMT1BUX0lOVEVSTEVBVkVEQVRBLjMgYi9kb2NzL2xpYmN1cmwvb3B0cy9DVVJMT1BUX0lOVEVSTEVBVkVEQVRBLjMKaW5kZXggNGM4ZmZlNy4uOTQ3MTkxNCAxMDA2NDQKLS0tIGEvZG9jcy9saWJjdXJsL29wdHMvQ1VSTE9QVF9JTlRFUkxFQVZFREFUQS4zCisrKyBiL2RvY3MvbGliY3VybC9vcHRzL0NVUkxPUFRfSU5URVJMRUFWRURBVEEuMwpAQCAtMjAsNyArMjAsNyBAQAogLlwiICoKIC5cIiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogLlwiCi0uVEggQ1VSTE9QVF9JTlRFUkxFQVZFREFUQSAzICJTZXB0ZW1iZXIgMTUsIDIwMTciICJsaWJjdXJsIDcuNzAuMCIgImN1cmxfZWFzeV9zZXRvcHQgb3B0aW9ucyIKKy5USCBDVVJMT1BUX0lOVEVSTEVBVkVEQVRBIDMgIlNlcHRlbWJlciAxNSwgMjAxNyIgImxpYmN1cmwgNy43MS4xIiAiY3VybF9lYXN5X3NldG9wdCBvcHRpb25zIgogCiAuU0ggTkFNRQogQ1VSTE9QVF9JTlRFUkxFQVZFREFUQSBcLSBjdXN0b20gcG9pbnRlciBwYXNzZWQgdG8gUlRTUCBpbnRlcmxlYXZlIGNhbGxiYWNrCmRpZmYgLS1naXQgYS9kb2NzL2xpYmN1cmwvb3B0cy9DVVJMT1BUX0lOVEVSTEVBVkVGVU5DVElPTi4zIGIvZG9jcy9saWJjdXJsL29wdHMvQ1VSTE9QVF9JTlRFUkxFQVZFRlVOQ1RJT04uMwppbmRleCBjMjRjNTU0Li4xNTA0N2VjIDEwMDY0NAotLS0gYS9kb2NzL2xpYmN1cmwvb3B0cy9DVVJMT1BUX0lOVEVSTEVBVkVGVU5DVElPTi4zCisrKyBiL2RvY3MvbGliY3VybC9vcHRzL0NVUkxPUFRfSU5URVJMRUFWRUZVTkNUSU9OLjMKQEAgLTIwLDcgKzIwLDcgQEAKIC5cIiAqCiAuXCIgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKIC5cIgotLlRIIENVUkxPUFRfSU5URVJMRUFWRUZVTkNUSU9OIDMgIk1hcmNoIDIzLCAyMDIwIiAibGliY3VybCA3LjcwLjAiICJjdXJsX2Vhc3lfc2V0b3B0IG9wdGlvbnMiCisuVEggQ1VSTE9QVF9JTlRFUkxFQVZFRlVOQ1RJT04gMyAiTWFyY2ggMjMsIDIwMjAiICJsaWJjdXJsIDcuNzEuMSIgImN1cmxfZWFzeV9zZXRvcHQgb3B0aW9ucyIKIAogLlNIIE5BTUUKIENVUkxPUFRfSU5URVJMRUFWRUZVTkNUSU9OIFwtIGNhbGxiYWNrIGZ1bmN0aW9uIGZvciBSVFNQIGludGVybGVhdmVkIGRhdGEKZGlmZiAtLWdpdCBhL2RvY3MvbGliY3VybC9vcHRzL0NVUkxPUFRfSU9DVExEQVRBLjMgYi9kb2NzL2xpYmN1cmwvb3B0cy9DVVJMT1BUX0lPQ1RMREFUQS4zCmluZGV4IGU1NDkyNjQuLjE4MDY0OWQgMTAwNjQ0Ci0tLSBhL2RvY3MvbGliY3VybC9vcHRzL0NVUkxPUFRfSU9DVExEQVRBLjMKKysrIGIvZG9jcy9saWJjdXJsL29wdHMvQ1VSTE9QVF9JT0NUTERBVEEuMwpAQCAtMjAsNyArMjAsNyBAQAogLlwiICoKIC5cIiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogLlwiCi0uVEggQ1VSTE9QVF9JT0NUTERBVEEgMyAiTWF5IDMxLCAyMDE3IiAibGliY3VybCA3LjcwLjAiICJjdXJsX2Vhc3lfc2V0b3B0IG9wdGlvbnMiCisuVEggQ1VSTE9QVF9JT0NUTERBVEEgMyAiTWF5IDMxLCAyMDE3IiAibGliY3VybCA3LjcxLjEiICJjdXJsX2Vhc3lfc2V0b3B0IG9wdGlvbnMiCiAKIC5TSCBOQU1FCiBDVVJMT1BUX0lPQ1RMREFUQSBcLSBjdXN0b20gcG9pbnRlciBwYXNzZWQgdG8gSS9PIGNhbGxiYWNrCmRpZmYgLS1naXQgYS9kb2NzL2xpYmN1cmwvb3B0cy9DVVJMT1BUX0lPQ1RMRlVOQ1RJT04uMyBiL2RvY3MvbGliY3VybC9vcHRzL0NVUkxPUFRfSU9DVExGVU5DVElPTi4zCmluZGV4IGZiYjczMDkuLmEzNWRkZDMgMTAwNjQ0Ci0tLSBhL2RvY3MvbGliY3VybC9vcHRzL0NVUkxPUFRfSU9DVExGVU5DVElPTi4zCisrKyBiL2RvY3MvbGliY3VybC9vcHRzL0NVUkxPUFRfSU9DVExGVU5DVElPTi4zCkBAIC0yMCw3ICsyMCw3IEBACiAuXCIgKgogLlwiICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiAuXCIKLS5USCBDVVJMT1BUX0lPQ1RMRlVOQ1RJT04gMyAiTWFyY2ggMjMsIDIwMjAiICJsaWJjdXJsIDcuNzAuMCIgImN1cmxfZWFzeV9zZXRvcHQgb3B0aW9ucyIKKy5USCBDVVJMT1BUX0lPQ1RMRlVOQ1RJT04gMyAiTWFyY2ggMjMsIDIwMjAiICJsaWJjdXJsIDcuNzEuMSIgImN1cmxfZWFzeV9zZXRvcHQgb3B0aW9ucyIKIAogLlNIIE5BTUUKIENVUkxPUFRfSU9DVExGVU5DVElPTiBcLSBjYWxsYmFjayBmb3IgSS9PIG9wZXJhdGlvbnMKZGlmZiAtLWdpdCBhL2RvY3MvbGliY3VybC9vcHRzL0NVUkxPUFRfSVBSRVNPTFZFLjMgYi9kb2NzL2xpYmN1cmwvb3B0cy9DVVJMT1BUX0lQUkVTT0xWRS4zCmluZGV4IDFjNDEzZWYuLjJjZjRhZDIgMTAwNjQ0Ci0tLSBhL2RvY3MvbGliY3VybC9vcHRzL0NVUkxPUFRfSVBSRVNPTFZFLjMKKysrIGIvZG9jcy9saWJjdXJsL29wdHMvQ1VSTE9QVF9JUFJFU09MVkUuMwpAQCAtMjAsNyArMjAsNyBAQAogLlwiICoKIC5cIiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogLlwiCi0uVEggQ1VSTE9QVF9JUFJFU09MVkUgMyAiTWF5IDA1LCAyMDE3IiAibGliY3VybCA3LjcwLjAiICJjdXJsX2Vhc3lfc2V0b3B0IG9wdGlvbnMiCisuVEggQ1VSTE9QVF9JUFJFU09MVkUgMyAiTWF5IDA1LCAyMDE3IiAibGliY3VybCA3LjcxLjEiICJjdXJsX2Vhc3lfc2V0b3B0IG9wdGlvbnMiCiAKIC5TSCBOQU1FCiBDVVJMT1BUX0lQUkVTT0xWRSBcLSBzcGVjaWZ5IHdoaWNoIElQIHByb3RvY29sIHZlcnNpb24gdG8gdXNlCmRpZmYgLS1naXQgYS9kb2NzL2xpYmN1cmwvb3B0cy9DVVJMT1BUX0lTU1VFUkNFUlQuMyBiL2RvY3MvbGliY3VybC9vcHRzL0NVUkxPUFRfSVNTVUVSQ0VSVC4zCmluZGV4IDY0Njc1ZjIuLmNhNDcwMDYgMTAwNjQ0Ci0tLSBhL2RvY3MvbGliY3VybC9vcHRzL0NVUkxPUFRfSVNTVUVSQ0VSVC4zCisrKyBiL2RvY3MvbGliY3VybC9vcHRzL0NVUkxPUFRfSVNTVUVSQ0VSVC4zCkBAIC0yMCw3ICsyMCw3IEBACiAuXCIgKgogLlwiICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiAuXCIKLS5USCBDVVJMT1BUX0lTU1VFUkNFUlQgMyAiTWF5IDMxLCAyMDE3IiAibGliY3VybCA3LjcwLjAiICJjdXJsX2Vhc3lfc2V0b3B0IG9wdGlvbnMiCisuVEggQ1VSTE9QVF9JU1NVRVJDRVJUIDMgIkp1bmUgMjUsIDIwMjAiICJsaWJjdXJsIDcuNzEuMSIgImN1cmxfZWFzeV9zZXRvcHQgb3B0aW9ucyIKIAogLlNIIE5BTUUKIENVUkxPUFRfSVNTVUVSQ0VSVCBcLSBpc3N1ZXIgU1NMIGNlcnRpZmljYXRlIGZpbGVuYW1lCkBAIC0yOSw3ICsyOSw3IEBACiAKIENVUkxjb2RlIGN1cmxfZWFzeV9zZXRvcHQoQ1VSTCAqaGFuZGxlLCBDVVJMT1BUX0lTU1VFUkNFUlQsIGNoYXIgKmZpbGUpOwogLlNIIERFU0NSSVBUSU9OCi1QYXNzIGEgY2hhciAqIHRvIGEgemVybyB0ZXJtaW5hdGVkIHN0cmluZyBuYW1pbmcgYSBcZklmaWxlXGZQIGhvbGRpbmcgYSBDQQorUGFzcyBhIGNoYXIgKiB0byBhIG51bGwtdGVybWluYXRlZCBzdHJpbmcgbmFtaW5nIGEgXGZJZmlsZVxmUCBob2xkaW5nIGEgQ0EKIGNlcnRpZmljYXRlIGluIFBFTSBmb3JtYXQuIElmIHRoZSBvcHRpb24gaXMgc2V0LCBhbiBhZGRpdGlvbmFsIGNoZWNrIGFnYWluc3QKIHRoZSBwZWVyIGNlcnRpZmljYXRlIGlzIHBlcmZvcm1lZCB0byB2ZXJpZnkgdGhlIGlzc3VlciBpcyBpbmRlZWQgdGhlIG9uZQogYXNzb2NpYXRlZCB3aXRoIHRoZSBjZXJ0aWZpY2F0ZSBwcm92aWRlZCBieSB0aGUgb3B0aW9uLiBUaGlzIGFkZGl0aW9uYWwgY2hlY2sKZGlmZiAtLWdpdCBhL2RvY3MvbGliY3VybC9vcHRzL0NVUkxPUFRfSVNTVUVSQ0VSVF9CTE9CLjMgYi9kb2NzL2xpYmN1cmwvb3B0cy9DVVJMT1BUX0lTU1VFUkNFUlRfQkxPQi4zCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjVmYmY4NmQKLS0tIC9kZXYvbnVsbAorKysgYi9kb2NzL2xpYmN1cmwvb3B0cy9DVVJMT1BUX0lTU1VFUkNFUlRfQkxPQi4zCkBAIC0wLDAgKzEsNzkgQEAKKy5cIiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorLlwiICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXyAgIF8gX19fXyAgXworLlwiICogIFByb2plY3QgICAgICAgICAgICAgICAgICAgICBfX198IHwgfCB8ICBfIFx8IHwKKy5cIiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvIF9ffCB8IHwgfCB8XykgfCB8CisuXCIgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICB8IChfX3wgfF98IHwgIF8gPHwgfF9fXworLlwiICogICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxfX198XF9fXy98X3wgXF9cX19fX198CisuXCIgKgorLlwiICogQ29weXJpZ2h0IChDKSAxOTk4IC0gMjAyMCwgRGFuaWVsIFN0ZW5iZXJnLCA8ZGFuaWVsQGhheHguc2U+LCBldCBhbC4KKy5cIiAqCisuXCIgKiBUaGlzIHNvZnR3YXJlIGlzIGxpY2Vuc2VkIGFzIGRlc2NyaWJlZCBpbiB0aGUgZmlsZSBDT1BZSU5HLCB3aGljaAorLlwiICogeW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGFzIHBhcnQgb2YgdGhpcyBkaXN0cmlidXRpb24uIFRoZSB0ZXJtcworLlwiICogYXJlIGFsc28gYXZhaWxhYmxlIGF0IGh0dHBzOi8vY3VybC5oYXh4LnNlL2RvY3MvY29weXJpZ2h0Lmh0bWwuCisuXCIgKgorLlwiICogWW91IG1heSBvcHQgdG8gdXNlLCBjb3B5LCBtb2RpZnksIG1lcmdlLCBwdWJsaXNoLCBkaXN0cmlidXRlIGFuZC9vciBzZWxsCisuXCIgKiBjb3BpZXMgb2YgdGhlIFNvZnR3YXJlLCBhbmQgcGVybWl0IHBlcnNvbnMgdG8gd2hvbSB0aGUgU29mdHdhcmUgaXMKKy5cIiAqIGZ1cm5pc2hlZCB0byBkbyBzbywgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBDT1BZSU5HIGZpbGUuCisuXCIgKgorLlwiICogVGhpcyBzb2Z0d2FyZSBpcyBkaXN0cmlidXRlZCBvbiBhbiAiQVMgSVMiIGJhc2lzLCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFOWQorLlwiICogS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC4KKy5cIiAqCisuXCIgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKy5cIgorLlRIIENVUkxPUFRfSVNTVUVSQ0VSVF9CTE9CIDMgIjI0IEp1biAyMDIwIiAibGliY3VybCA3LjcxLjAiICJjdXJsX2Vhc3lfc2V0b3B0IG9wdGlvbnMiCisuU0ggTkFNRQorQ1VSTE9QVF9JU1NVRVJDRVJUX0JMT0IgXC0gaXNzdWVyIFNTTCBjZXJ0aWZpY2F0ZSBmcm9tIG1lbW9yeSBibG9iCisuU0ggU1lOT1BTSVMKKyNpbmNsdWRlIDxjdXJsL2N1cmwuaD4KKworQ1VSTGNvZGUgY3VybF9lYXN5X3NldG9wdChDVVJMICpoYW5kbGUsIENVUkxPUFRfSVNTVUVSQ0VSVF9CTE9CLCBzdHJ1Y3QgY3VybF9ibG9iICpzdGJsb2IpOworLlNIIERFU0NSSVBUSU9OCitQYXNzIGEgcG9pbnRlciB0byBhIGN1cmxfYmxvYiBzdHJ1Y3R1cmUsIHdoaWNoIGNvbnRhaW5zIGluZm9ybWF0aW9uIChwb2ludGVyCithbmQgc2l6ZSkgYWJvdXQgYSBtZW1vcnkgYmxvY2sgd2l0aCBiaW5hcnkgZGF0YSBvZiBhIENBIGNlcnRpZmljYXRlIGluIFBFTQorZm9ybWF0LiBJZiB0aGUgb3B0aW9uIGlzIHNldCwgYW4gYWRkaXRpb25hbCBjaGVjayBhZ2FpbnN0IHRoZSBwZWVyIGNlcnRpZmljYXRlCitpcyBwZXJmb3JtZWQgdG8gdmVyaWZ5IHRoZSBpc3N1ZXIgaXMgaW5kZWVkIHRoZSBvbmUgYXNzb2NpYXRlZCB3aXRoIHRoZQorY2VydGlmaWNhdGUgcHJvdmlkZWQgYnkgdGhlIG9wdGlvbi4gVGhpcyBhZGRpdGlvbmFsIGNoZWNrIGlzIHVzZWZ1bCBpbgorbXVsdGktbGV2ZWwgUEtJIHdoZXJlIG9uZSBuZWVkcyB0byBlbmZvcmNlIHRoYXQgdGhlIHBlZXIgY2VydGlmaWNhdGUgaXMgZnJvbSBhCitzcGVjaWZpYyBicmFuY2ggb2YgdGhlIHRyZWUuCisKK1RoaXMgb3B0aW9uIHNob3VsZCBiZSB1c2VkIGluIGNvbWJpbmF0aW9uIHdpdGggdGhlCitcZklDVVJMT1BUX1NTTF9WRVJJRllQRUVSKDMpXGZQIG9wdGlvbi4gT3RoZXJ3aXNlLCB0aGUgcmVzdWx0IG9mIHRoZSBjaGVjayBpcworbm90IGNvbnNpZGVyZWQgYXMgZmFpbHVyZS4KKworQSBzcGVjaWZpYyBlcnJvciBjb2RlIChDVVJMRV9TU0xfSVNTVUVSX0VSUk9SKSBpcyBkZWZpbmVkIHdpdGggdGhlIG9wdGlvbiwKK3doaWNoIGlzIHJldHVybmVkIGlmIHRoZSBzZXR1cCBvZiB0aGUgU1NML1RMUyBzZXNzaW9uIGhhcyBmYWlsZWQgZHVlIHRvIGEKK21pc21hdGNoIHdpdGggdGhlIGlzc3VlciBvZiBwZWVyIGNlcnRpZmljYXRlIChcZklDVVJMT1BUX1NTTF9WRVJJRllQRUVSKDMpXGZQCitoYXMgdG8gYmUgc2V0IHRvbyBmb3IgdGhlIGNoZWNrIHRvIGZhaWwpLgorCitJZiB0aGUgYmxvYiBpcyBpbml0aWFsaXplZCB3aXRoIHRoZSBmbGFncyBtZW1iZXIgb2Ygc3RydWN0IGN1cmxfYmxvYiBzZXQgdG8KK0NVUkxfQkxPQl9DT1BZLCB0aGUgYXBwbGljYXRpb24gZG9lcyBub3QgaGF2ZSB0byBrZWVwIHRoZSBidWZmZXIgYXJvdW5kIGFmdGVyCitzZXR0aW5nIHRoaXMuCisKK1RoaXMgb3B0aW9uIGlzIGFuIGFsdGVybmF0aXZlIHRvIFxmSUNVUkxPUFRfSVNTVUVSQ0VSVCgzKVxmUCB3aGljaCBpbnN0ZWFkCitleHBlY3RzIGEgZmlsZSBuYW1lIGFzIGlucHV0LgorLlNIIERFRkFVTFQKK05VTEwKKy5TSCBQUk9UT0NPTFMKK0FsbCBUTFMtYmFzZWQgcHJvdG9jb2xzCisuU0ggRVhBTVBMRQorLm5mCitDVVJMICpjdXJsID0gY3VybF9lYXN5X2luaXQoKTsKK2lmKGN1cmwpIHsKKyAgc3RydWN0IGN1cmxfYmxvYiBibG9iOworICBjdXJsX2Vhc3lfc2V0b3B0KGN1cmwsIENVUkxPUFRfVVJMLCAiaHR0cHM6Ly9leGFtcGxlLmNvbS8iKTsKKyAgYmxvYi5kYXRhID0gY2VydGlmaWNhdGVEYXRhOworICBibG9iLmxlbiA9IGZpbGVzaXplOworICBibG9iLmZsYWdzID0gQ1VSTF9CTE9CX0NPUFk7CisgIGN1cmxfZWFzeV9zZXRvcHQoY3VybCwgQ1VSTE9QVF9JU1NVRVJDRVJUX0JMT0IsICZibG9iKTsKKyAgcmV0ID0gY3VybF9lYXN5X3BlcmZvcm0oY3VybCk7CisgIGN1cmxfZWFzeV9jbGVhbnVwKGN1cmwpOworfQorLmZpCisuU0ggQVZBSUxBQklMSVRZCitBZGRlZCBpbiBsaWJjdXJsIDcuNzEuMC4gVGhpcyBvcHRpb24gaXMgc3VwcG9ydGVkIGJ5IHRoZSBPcGVuU1NMIGJhY2tlbmRzLgorLlNIIFJFVFVSTiBWQUxVRQorUmV0dXJucyBDVVJMRV9PSyBpZiB0aGUgb3B0aW9uIGlzIHN1cHBvcnRlZCwgQ1VSTEVfVU5LTk9XTl9PUFRJT04gaWYgbm90LCBvcgorQ1VSTEVfT1VUX09GX01FTU9SWSBpZiB0aGVyZSB3YXMgaW5zdWZmaWNpZW50IGhlYXAgc3BhY2UuCisuU0ggIlNFRSBBTFNPIgorLkJSIENVUkxPUFRfSVNTVUVSQ0VSVCAiKDMpLCIKKy5CUiBDVVJMT1BUX0NSTEZJTEUgIigzKSwgIiBDVVJMT1BUX1NTTF9WRVJJRllQRUVSICIoMyksICIKZGlmZiAtLWdpdCBhL2RvY3MvbGliY3VybC9vcHRzL0NVUkxPUFRfS0VFUF9TRU5ESU5HX09OX0VSUk9SLjMgYi9kb2NzL2xpYmN1cmwvb3B0cy9DVVJMT1BUX0tFRVBfU0VORElOR19PTl9FUlJPUi4zCmluZGV4IDJhNmJiNTIuLmFlMWU2MWEgMTAwNjQ0Ci0tLSBhL2RvY3MvbGliY3VybC9vcHRzL0NVUkxPUFRfS0VFUF9TRU5ESU5HX09OX0VSUk9SLjMKKysrIGIvZG9jcy9saWJjdXJsL29wdHMvQ1VSTE9QVF9LRUVQX1NFTkRJTkdfT05fRVJST1IuMwpAQCAtMjAsNyArMjAsNyBAQAogLlwiICoKIC5cIiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogLlwiCi0uVEggQ1VSTE9QVF9LRUVQX1NFTkRJTkdfT05fRVJST1IgMyAiTWF5IDMxLCAyMDE3IiAibGliY3VybCA3LjcwLjAiICJjdXJsX2Vhc3lfc2V0b3B0IG9wdGlvbnMiCisuVEggQ1VSTE9QVF9LRUVQX1NFTkRJTkdfT05fRVJST1IgMyAiTWF5IDMxLCAyMDE3IiAibGliY3VybCA3LjcxLjEiICJjdXJsX2Vhc3lfc2V0b3B0IG9wdGlvbnMiCiAKIC5TSCBOQU1FCiBDVVJMT1BUX0tFRVBfU0VORElOR19PTl9FUlJPUiBcLSBrZWVwIHNlbmRpbmcgb24gZWFybHkgSFRUUCByZXNwb25zZSA+PSAzMDAKZGlmZiAtLWdpdCBhL2RvY3MvbGliY3VybC9vcHRzL0NVUkxPUFRfS0VZUEFTU1dELjMgYi9kb2NzL2xpYmN1cmwvb3B0cy9DVVJMT1BUX0tFWVBBU1NXRC4zCmluZGV4IGRjZjdkMWQuLmM5NTRlYmMgMTAwNjQ0Ci0tLSBhL2RvY3MvbGliY3VybC9vcHRzL0NVUkxPUFRfS0VZUEFTU1dELjMKKysrIGIvZG9jcy9saWJjdXJsL29wdHMvQ1VSTE9QVF9LRVlQQVNTV0QuMwpAQCAtMjAsNyArMjAsNyBAQAogLlwiICoKIC5cIiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogLlwiCi0uVEggQ1VSTE9QVF9LRVlQQVNTV0QgMyAiTWF5IDMxLCAyMDE3IiAibGliY3VybCA3LjcwLjAiICJjdXJsX2Vhc3lfc2V0b3B0IG9wdGlvbnMiCisuVEggQ1VSTE9QVF9LRVlQQVNTV0QgMyAiSnVuZSAyNSwgMjAyMCIgImxpYmN1cmwgNy43MS4xIiAiY3VybF9lYXN5X3NldG9wdCBvcHRpb25zIgogCiAuU0ggTkFNRQogQ1VSTE9QVF9LRVlQQVNTV0QgXC0gc2V0IHBhc3NwaHJhc2UgdG8gcHJpdmF0ZSBrZXkKQEAgLTI5LDcgKzI5LDcgQEAKIAogQ1VSTGNvZGUgY3VybF9lYXN5X3NldG9wdChDVVJMICpoYW5kbGUsIENVUkxPUFRfS0VZUEFTU1dELCBjaGFyICpwd2QpOwogLlNIIERFU0NSSVBUSU9OCi1QYXNzIGEgcG9pbnRlciB0byBhIHplcm8gdGVybWluYXRlZCBzdHJpbmcgYXMgcGFyYW1ldGVyLiBJdCB3aWxsIGJlIHVzZWQgYXMKK1Bhc3MgYSBwb2ludGVyIHRvIGEgbnVsbC10ZXJtaW5hdGVkIHN0cmluZyBhcyBwYXJhbWV0ZXIuIEl0IHdpbGwgYmUgdXNlZCBhcwogdGhlIHBhc3N3b3JkIHJlcXVpcmVkIHRvIHVzZSB0aGUgXGZJQ1VSTE9QVF9TU0xLRVkoMylcZlAgb3IKIFxmSUNVUkxPUFRfU1NIX1BSSVZBVEVfS0VZRklMRSgzKVxmUCBwcml2YXRlIGtleS4gIFlvdSBuZXZlciBuZWVkZWQgYSBwYXNzCiBwaHJhc2UgdG8gbG9hZCBhIGNlcnRpZmljYXRlIGJ1dCB5b3UgbmVlZCBvbmUgdG8gbG9hZCB5b3VyIHByaXZhdGUga2V5LgpkaWZmIC0tZ2l0IGEvZG9jcy9saWJjdXJsL29wdHMvQ1VSTE9QVF9LUkJMRVZFTC4zIGIvZG9jcy9saWJjdXJsL29wdHMvQ1VSTE9QVF9LUkJMRVZFTC4zCmluZGV4IDMxNzY3MWIuLmQ1MjJkYTQgMTAwNjQ0Ci0tLSBhL2RvY3MvbGliY3VybC9vcHRzL0NVUkxPUFRfS1JCTEVWRUwuMworKysgYi9kb2NzL2xpYmN1cmwvb3B0cy9DVVJMT1BUX0tSQkxFVkVMLjMKQEAgLTIwLDcgKzIwLDcgQEAKIC5cIiAqCiAuXCIgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKIC5cIgotLlRIIENVUkxPUFRfS1JCTEVWRUwgMyAiTWF5IDMxLCAyMDE3IiAibGliY3VybCA3LjcwLjAiICJjdXJsX2Vhc3lfc2V0b3B0IG9wdGlvbnMiCisuVEggQ1VSTE9QVF9LUkJMRVZFTCAzICJNYXkgMzEsIDIwMTciICJsaWJjdXJsIDcuNzEuMSIgImN1cmxfZWFzeV9zZXRvcHQgb3B0aW9ucyIKIAogLlNIIE5BTUUKIENVUkxPUFRfS1JCTEVWRUwgXC0gc2V0IEZUUCBrZXJiZXJvcyBzZWN1cml0eSBsZXZlbApkaWZmIC0tZ2l0IGEvZG9jcy9saWJjdXJsL29wdHMvQ1VSTE9QVF9MT0NBTFBPUlQuMyBiL2RvY3MvbGliY3VybC9vcHRzL0NVUkxPUFRfTE9DQUxQT1JULjMKaW5kZXggNGI2Mzg4OS4uOTlkY2E4ZiAxMDA2NDQKLS0tIGEvZG9jcy9saWJjdXJsL29wdHMvQ1VSTE9QVF9MT0NBTFBPUlQuMworKysgYi9kb2NzL2xpYmN1cmwvb3B0cy9DVVJMT1BUX0xPQ0FMUE9SVC4zCkBAIC0yMCw3ICsyMCw3IEBACiAuXCIgKgogLlwiICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiAuXCIKLS5USCBDVVJMT1BUX0xPQ0FMUE9SVCAzICJPY3RvYmVyIDMxLCAyMDE5IiAibGliY3VybCA3LjcwLjAiICJjdXJsX2Vhc3lfc2V0b3B0IG9wdGlvbnMiCisuVEggQ1VSTE9QVF9MT0NBTFBPUlQgMyAiT2N0b2JlciAzMSwgMjAxOSIgImxpYmN1cmwgNy43MS4xIiAiY3VybF9lYXN5X3NldG9wdCBvcHRpb25zIgogCiAuU0ggTkFNRQogQ1VSTE9QVF9MT0NBTFBPUlQgXC0gc2V0IGxvY2FsIHBvcnQgbnVtYmVyIHRvIHVzZSBmb3Igc29ja2V0CmRpZmYgLS1naXQgYS9kb2NzL2xpYmN1cmwvb3B0cy9DVVJMT1BUX0xPQ0FMUE9SVFJBTkdFLjMgYi9kb2NzL2xpYmN1cmwvb3B0cy9DVVJMT1BUX0xPQ0FMUE9SVFJBTkdFLjMKaW5kZXggODUxNzc4Mi4uOGEyMGJkNSAxMDA2NDQKLS0tIGEvZG9jcy9saWJjdXJsL29wdHMvQ1VSTE9QVF9MT0NBTFBPUlRSQU5HRS4zCisrKyBiL2RvY3MvbGliY3VybC9vcHRzL0NVUkxPUFRfTE9DQUxQT1JUUkFOR0UuMwpAQCAtMjAsNyArMjAsNyBAQAogLlwiICoKIC5cIiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogLlwiCi0uVEggQ1VSTE9QVF9MT0NBTFBPUlRSQU5HRSAzICJPY3RvYmVyIDMxLCAyMDE5IiAibGliY3VybCA3LjcwLjAiICJjdXJsX2Vhc3lfc2V0b3B0IG9wdGlvbnMiCisuVEggQ1VSTE9QVF9MT0NBTFBPUlRSQU5HRSAzICJPY3RvYmVyIDMxLCAyMDE5IiAibGliY3VybCA3LjcxLjEiICJjdXJsX2Vhc3lfc2V0b3B0IG9wdGlvbnMiCiAKIC5TSCBOQU1FCiBDVVJMT1BUX0xPQ0FMUE9SVFJBTkdFIFwtIG51bWJlciBvZiBhZGRpdGlvbmFsIGxvY2FsIHBvcnRzIHRvIHRyeQpkaWZmIC0tZ2l0IGEvZG9jcy9saWJjdXJsL29wdHMvQ1VSTE9QVF9MT0dJTl9PUFRJT05TLjMgYi9kb2NzL2xpYmN1cmwvb3B0cy9DVVJMT1BUX0xPR0lOX09QVElPTlMuMwppbmRleCBiMDI0MDM0Li42MjNiNDE1IDEwMDY0NAotLS0gYS9kb2NzL2xpYmN1cmwvb3B0cy9DVVJMT1BUX0xPR0lOX09QVElPTlMuMworKysgYi9kb2NzL2xpYmN1cmwvb3B0cy9DVVJMT1BUX0xPR0lOX09QVElPTlMuMwpAQCAtMjAsNyArMjAsNyBAQAogLlwiICoKIC5cIiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogLlwiCi0uVEggQ1VSTE9QVF9MT0dJTl9PUFRJT05TIDMgIk1heSAzMSwgMjAxNyIgImxpYmN1cmwgNy43MC4wIiAiY3VybF9lYXN5X3NldG9wdCBvcHRpb25zIgorLlRIIENVUkxPUFRfTE9HSU5fT1BUSU9OUyAzICJKdW5lIDI1LCAyMDIwIiAibGliY3VybCA3LjcxLjEiICJjdXJsX2Vhc3lfc2V0b3B0IG9wdGlvbnMiCiAKIC5TSCBOQU1FCiBDVVJMT1BUX0xPR0lOX09QVElPTlMgXC0gc2V0IGxvZ2luIG9wdGlvbnMKQEAgLTI5LDcgKzI5LDcgQEAKIAogQ1VSTGNvZGUgY3VybF9lYXN5X3NldG9wdChDVVJMICpoYW5kbGUsIENVUkxPUFRfTE9HSU5fT1BUSU9OUywgY2hhciAqb3B0aW9ucyk7CiAuU0ggREVTQ1JJUFRJT04KLVBhc3MgYSBjaGFyICogYXMgcGFyYW1ldGVyLCB3aGljaCBzaG91bGQgYmUgcG9pbnRpbmcgdG8gdGhlIHplcm8gdGVybWluYXRlZAorUGFzcyBhIGNoYXIgKiBhcyBwYXJhbWV0ZXIsIHdoaWNoIHNob3VsZCBiZSBwb2ludGluZyB0byB0aGUgbnVsbC10ZXJtaW5hdGVkCiBcZklvcHRpb25zXGZQIHN0cmluZyB0byB1c2UgZm9yIHRoZSB0cmFuc2Zlci4KIAogRm9yIG1vcmUgaW5mb3JtYXRpb24gYWJvdXQgdGhlIGxvZ2luIG9wdGlvbnMgcGxlYXNlIHNlZSBSRkMyMzg0LCBSRkM1MDkyIGFuZApkaWZmIC0tZ2l0IGEvZG9jcy9saWJjdXJsL29wdHMvQ1VSTE9QVF9MT1dfU1BFRURfTElNSVQuMyBiL2RvY3MvbGliY3VybC9vcHRzL0NVUkxPUFRfTE9XX1NQRUVEX0xJTUlULjMKaW5kZXggOWQ4ZDExZi4uZTA0YmJmOCAxMDA2NDQKLS0tIGEvZG9jcy9saWJjdXJsL29wdHMvQ1VSTE9QVF9MT1dfU1BFRURfTElNSVQuMworKysgYi9kb2NzL2xpYmN1cmwvb3B0cy9DVVJMT1BUX0xPV19TUEVFRF9MSU1JVC4zCkBAIC0yMCw3ICsyMCw3IEBACiAuXCIgKgogLlwiICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiAuXCIKLS5USCBDVVJMT1BUX0xPV19TUEVFRF9MSU1JVCAzICJNYXkgMDYsIDIwMTciICJsaWJjdXJsIDcuNzAuMCIgImN1cmxfZWFzeV9zZXRvcHQgb3B0aW9ucyIKKy5USCBDVVJMT1BUX0xPV19TUEVFRF9MSU1JVCAzICJNYXkgMDYsIDIwMTciICJsaWJjdXJsIDcuNzEuMSIgImN1cmxfZWFzeV9zZXRvcHQgb3B0aW9ucyIKIAogLlNIIE5BTUUKIENVUkxPUFRfTE9XX1NQRUVEX0xJTUlUIFwtIHNldCBsb3cgc3BlZWQgbGltaXQgaW4gYnl0ZXMgcGVyIHNlY29uZApkaWZmIC0tZ2l0IGEvZG9jcy9saWJjdXJsL29wdHMvQ1VSTE9QVF9MT1dfU1BFRURfVElNRS4zIGIvZG9jcy9saWJjdXJsL29wdHMvQ1VSTE9QVF9MT1dfU1BFRURfVElNRS4zCmluZGV4IDMxOThiNWIuLjcyMTBiZmEgMTAwNjQ0Ci0tLSBhL2RvY3MvbGliY3VybC9vcHRzL0NVUkxPUFRfTE9XX1NQRUVEX1RJTUUuMworKysgYi9kb2NzL2xpYmN1cmwvb3B0cy9DVVJMT1BUX0xPV19TUEVFRF9USU1FLjMKQEAgLTIwLDcgKzIwLDcgQEAKIC5cIiAqCiAuXCIgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKIC5cIgotLlRIIENVUkxPUFRfTE9XX1NQRUVEX1RJTUUgMyAiTWF5IDA2LCAyMDE3IiAibGliY3VybCA3LjcwLjAiICJjdXJsX2Vhc3lfc2V0b3B0IG9wdGlvbnMiCisuVEggQ1VSTE9QVF9MT1dfU1BFRURfVElNRSAzICJNYXkgMDYsIDIwMTciICJsaWJjdXJsIDcuNzEuMSIgImN1cmxfZWFzeV9zZXRvcHQgb3B0aW9ucyIKIAogLlNIIE5BTUUKIENVUkxPUFRfTE9XX1NQRUVEX1RJTUUgXC0gc2V0IGxvdyBzcGVlZCBsaW1pdCB0aW1lIHBlcmlvZApkaWZmIC0tZ2l0IGEvZG9jcy9saWJjdXJsL29wdHMvQ1VSTE9QVF9NQUlMX0FVVEguMyBiL2RvY3MvbGliY3VybC9vcHRzL0NVUkxPUFRfTUFJTF9BVVRILjMKaW5kZXggYzZjZWZlMC4uNDA4NzFiMyAxMDA2NDQKLS0tIGEvZG9jcy9saWJjdXJsL29wdHMvQ1VSTE9QVF9NQUlMX0FVVEguMworKysgYi9kb2NzL2xpYmN1cmwvb3B0cy9DVVJMT1BUX01BSUxfQVVUSC4zCkBAIC0yMCw3ICsyMCw3IEBACiAuXCIgKgogLlwiICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiAuXCIKLS5USCBDVVJMT1BUX01BSUxfQVVUSCAzICJNYXkgMzEsIDIwMTciICJsaWJjdXJsIDcuNzAuMCIgImN1cmxfZWFzeV9zZXRvcHQgb3B0aW9ucyIKKy5USCBDVVJMT1BUX01BSUxfQVVUSCAzICJKdW5lIDI1LCAyMDIwIiAibGliY3VybCA3LjcxLjEiICJjdXJsX2Vhc3lfc2V0b3B0IG9wdGlvbnMiCiAKIC5TSCBOQU1FCiBDVVJMT1BUX01BSUxfQVVUSCBcLSBTTVRQIGF1dGhlbnRpY2F0aW9uIGFkZHJlc3MKQEAgLTI5LDcgKzI5LDcgQEAKIAogQ1VSTGNvZGUgY3VybF9lYXN5X3NldG9wdChDVVJMICpoYW5kbGUsIENVUkxPUFRfTUFJTF9BVVRILCBjaGFyICphdXRoKTsKIC5TSCBERVNDUklQVElPTgotUGFzcyBhIHBvaW50ZXIgdG8gYSB6ZXJvIHRlcm1pbmF0ZWQgc3RyaW5nIGFzIHBhcmFtZXRlci4gVGhpcyB3aWxsIGJlIHVzZWQgdG8KK1Bhc3MgYSBwb2ludGVyIHRvIGEgbnVsbC10ZXJtaW5hdGVkIHN0cmluZyBhcyBwYXJhbWV0ZXIuIFRoaXMgd2lsbCBiZSB1c2VkIHRvCiBzcGVjaWZ5IHRoZSBhdXRoZW50aWNhdGlvbiBhZGRyZXNzIChpZGVudGl0eSkgb2YgYSBzdWJtaXR0ZWQgbWVzc2FnZSB0aGF0IGlzCiBiZWluZyByZWxheWVkIHRvIGFub3RoZXIgc2VydmVyLgogCmRpZmYgLS1naXQgYS9kb2NzL2xpYmN1cmwvb3B0cy9DVVJMT1BUX01BSUxfRlJPTS4zIGIvZG9jcy9saWJjdXJsL29wdHMvQ1VSTE9QVF9NQUlMX0ZST00uMwppbmRleCA4MzA2YjlkLi5jYjNlOTViIDEwMDY0NAotLS0gYS9kb2NzL2xpYmN1cmwvb3B0cy9DVVJMT1BUX01BSUxfRlJPTS4zCisrKyBiL2RvY3MvbGliY3VybC9vcHRzL0NVUkxPUFRfTUFJTF9GUk9NLjMKQEAgLTIwLDcgKzIwLDcgQEAKIC5cIiAqCiAuXCIgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKIC5cIgotLlRIIENVUkxPUFRfTUFJTF9GUk9NIDMgIk1heSAzMSwgMjAxNyIgImxpYmN1cmwgNy43MC4wIiAiY3VybF9lYXN5X3NldG9wdCBvcHRpb25zIgorLlRIIENVUkxPUFRfTUFJTF9GUk9NIDMgIkp1bmUgMjUsIDIwMjAiICJsaWJjdXJsIDcuNzEuMSIgImN1cmxfZWFzeV9zZXRvcHQgb3B0aW9ucyIKIAogLlNIIE5BTUUKIENVUkxPUFRfTUFJTF9GUk9NIFwtIFNNVFAgc2VuZGVyIGFkZHJlc3MKQEAgLTI5LDcgKzI5LDcgQEAKIAogQ1VSTGNvZGUgY3VybF9lYXN5X3NldG9wdChDVVJMICpoYW5kbGUsIENVUkxPUFRfTUFJTF9GUk9NLCBjaGFyICpmcm9tKTsKIC5TSCBERVNDUklQVElPTgotUGFzcyBhIHBvaW50ZXIgdG8gYSB6ZXJvIHRlcm1pbmF0ZWQgc3RyaW5nIGFzIHBhcmFtZXRlci4gVGhpcyBzaG91bGQgYmUgdXNlZAorUGFzcyBhIHBvaW50ZXIgdG8gYSBudWxsLXRlcm1pbmF0ZWQgc3RyaW5nIGFzIHBhcmFtZXRlci4gVGhpcyBzaG91bGQgYmUgdXNlZAogdG8gc3BlY2lmeSB0aGUgc2VuZGVyJ3MgZW1haWwgYWRkcmVzcyB3aGVuIHNlbmRpbmcgU01UUCBtYWlsIHdpdGggbGliY3VybC4KIAogQW4gb3JpZ2luYXRvciBlbWFpbCBhZGRyZXNzIHNob3VsZCBiZSBzcGVjaWZpZWQgd2l0aCBhbmdsZWQgYnJhY2tldHMgKDw+KQpkaWZmIC0tZ2l0IGEvZG9jcy9saWJjdXJsL29wdHMvQ1VSTE9QVF9NQUlMX1JDUFQuMyBiL2RvY3MvbGliY3VybC9vcHRzL0NVUkxPUFRfTUFJTF9SQ1BULjMKaW5kZXggMzZjNmE5Zi4uMGFkODZlNyAxMDA2NDQKLS0tIGEvZG9jcy9saWJjdXJsL29wdHMvQ1VSTE9QVF9NQUlMX1JDUFQuMworKysgYi9kb2NzL2xpYmN1cmwvb3B0cy9DVVJMT1BUX01BSUxfUkNQVC4zCkBAIC0yMCw3ICsyMCw3IEBACiAuXCIgKgogLlwiICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiAuXCIKLS5USCBDVVJMT1BUX01BSUxfUkNQVCAzICJKdWx5IDE2LCAyMDE5IiAibGliY3VybCA3LjcwLjAiICJjdXJsX2Vhc3lfc2V0b3B0IG9wdGlvbnMiCisuVEggQ1VSTE9QVF9NQUlMX1JDUFQgMyAiSnVseSAxNiwgMjAxOSIgImxpYmN1cmwgNy43MS4xIiAiY3VybF9lYXN5X3NldG9wdCBvcHRpb25zIgogCiAuU0ggTkFNRQogQ1VSTE9QVF9NQUlMX1JDUFQgXC0gbGlzdCBvZiBTTVRQIG1haWwgcmVjaXBpZW50cwpkaWZmIC0tZ2l0IGEvZG9jcy9saWJjdXJsL29wdHMvQ1VSTE9QVF9NQUlMX1JDUFRfQUxMTE9XRkFJTFMuMyBiL2RvY3MvbGliY3VybC9vcHRzL0NVUkxPUFRfTUFJTF9SQ1BUX0FMTExPV0ZBSUxTLjMKaW5kZXggMTRkYTZmYi4uODA5YmIxNCAxMDA2NDQKLS0tIGEvZG9jcy9saWJjdXJsL29wdHMvQ1VSTE9QVF9NQUlMX1JDUFRfQUxMTE9XRkFJTFMuMworKysgYi9kb2NzL2xpYmN1cmwvb3B0cy9DVVJMT1BUX01BSUxfUkNQVF9BTExMT1dGQUlMUy4zCkBAIC0yMCw3ICsyMCw3IEBACiAuXCIgKgogLlwiICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiAuXCIKLS5USCBDVVJMT1BUX01BSUxfUkNQVF9BTExMT1dGQUlMUyAzICJKYW51YXJ5IDE0LCAyMDIwIiAibGliY3VybCA3LjcwLjAiICJjdXJsX2Vhc3lfc2V0b3B0IG9wdGlvbnMiCisuVEggQ1VSTE9QVF9NQUlMX1JDUFRfQUxMTE9XRkFJTFMgMyAiSmFudWFyeSAxNCwgMjAyMCIgImxpYmN1cmwgNy43MS4xIiAiY3VybF9lYXN5X3NldG9wdCBvcHRpb25zIgogCiAuU0ggTkFNRQogQ1VSTE9QVF9NQUlMX1JDUFRfQUxMTE9XRkFJTFMgXC0gYWxsb3cgUkNQVCBUTyBjb21tYW5kIHRvIGZhaWwgZm9yIHNvbWUgcmVjaXBpZW50cwpkaWZmIC0tZ2l0IGEvZG9jcy9saWJjdXJsL29wdHMvQ1VSTE9QVF9NQVhBR0VfQ09OTi4zIGIvZG9jcy9saWJjdXJsL29wdHMvQ1VSTE9QVF9NQVhBR0VfQ09OTi4zCmluZGV4IDI4M2IyNGYuLjUyMmJjZGEgMTAwNjQ0Ci0tLSBhL2RvY3MvbGliY3VybC9vcHRzL0NVUkxPUFRfTUFYQUdFX0NPTk4uMworKysgYi9kb2NzL2xpYmN1cmwvb3B0cy9DVVJMT1BUX01BWEFHRV9DT05OLjMKQEAgLTIwLDcgKzIwLDcgQEAKIC5cIiAqCiAuXCIgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKIC5cIgotLlRIIENVUkxPUFRfTUFYQUdFX0NPTk4gMyAiQXByaWwgMTQsIDIwMTkiICJsaWJjdXJsIDcuNzAuMCIgImN1cmxfZWFzeV9zZXRvcHQgb3B0aW9ucyIKKy5USCBDVVJMT1BUX01BWEFHRV9DT05OIDMgIkFwcmlsIDE0LCAyMDE5IiAibGliY3VybCA3LjcxLjEiICJjdXJsX2Vhc3lfc2V0b3B0IG9wdGlvbnMiCiAKIC5TSCBOQU1FCiBDVVJMT1BUX01BWEFHRV9DT05OIFwtIG1heCBpZGxlIHRpbWUgYWxsb3dlZCBmb3IgcmV1c2luZyBhIGNvbm5lY3Rpb24KZGlmZiAtLWdpdCBhL2RvY3MvbGliY3VybC9vcHRzL0NVUkxPUFRfTUFYQ09OTkVDVFMuMyBiL2RvY3MvbGliY3VybC9vcHRzL0NVUkxPUFRfTUFYQ09OTkVDVFMuMwppbmRleCA0MmJjODk1Li4yZTJhNTYyIDEwMDY0NAotLS0gYS9kb2NzL2xpYmN1cmwvb3B0cy9DVVJMT1BUX01BWENPTk5FQ1RTLjMKKysrIGIvZG9jcy9saWJjdXJsL29wdHMvQ1VSTE9QVF9NQVhDT05ORUNUUy4zCkBAIC0yMCw3ICsyMCw3IEBACiAuXCIgKgogLlwiICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiAuXCIKLS5USCBDVVJMT1BUX01BWENPTk5FQ1RTIDMgIk1heSAzMCwgMjAxNyIgImxpYmN1cmwgNy43MC4wIiAiY3VybF9lYXN5X3NldG9wdCBvcHRpb25zIgorLlRIIENVUkxPUFRfTUFYQ09OTkVDVFMgMyAiTWF5IDMwLCAyMDE3IiAibGliY3VybCA3LjcxLjEiICJjdXJsX2Vhc3lfc2V0b3B0IG9wdGlvbnMiCiAKIC5TSCBOQU1FCiBDVVJMT1BUX01BWENPTk5FQ1RTIFwtIG1heGltdW0gY29ubmVjdGlvbiBjYWNoZSBzaXplCmRpZmYgLS1naXQgYS9kb2NzL2xpYmN1cmwvb3B0cy9DVVJMT1BUX01BWEZJTEVTSVpFLjMgYi9kb2NzL2xpYmN1cmwvb3B0cy9DVVJMT1BUX01BWEZJTEVTSVpFLjMKaW5kZXggZDE5M2M3YS4uYTBjN2U5ZSAxMDA2NDQKLS0tIGEvZG9jcy9saWJjdXJsL29wdHMvQ1VSTE9QVF9NQVhGSUxFU0laRS4zCisrKyBiL2RvY3MvbGliY3VybC9vcHRzL0NVUkxPUFRfTUFYRklMRVNJWkUuMwpAQCAtMjAsNyArMjAsNyBAQAogLlwiICoKIC5cIiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogLlwiCi0uVEggQ1VSTE9QVF9NQVhGSUxFU0laRSAzICJNYXkgMzAsIDIwMTciICJsaWJjdXJsIDcuNzAuMCIgImN1cmxfZWFzeV9zZXRvcHQgb3B0aW9ucyIKKy5USCBDVVJMT1BUX01BWEZJTEVTSVpFIDMgIk1heSAzMCwgMjAxNyIgImxpYmN1cmwgNy43MS4xIiAiY3VybF9lYXN5X3NldG9wdCBvcHRpb25zIgogCiAuU0ggTkFNRQogQ1VSTE9QVF9NQVhGSUxFU0laRSBcLSBtYXhpbXVtIGZpbGUgc2l6ZSBhbGxvd2VkIHRvIGRvd25sb2FkCmRpZmYgLS1naXQgYS9kb2NzL2xpYmN1cmwvb3B0cy9DVVJMT1BUX01BWEZJTEVTSVpFX0xBUkdFLjMgYi9kb2NzL2xpYmN1cmwvb3B0cy9DVVJMT1BUX01BWEZJTEVTSVpFX0xBUkdFLjMKaW5kZXggNWJiNWMzMy4uMTI3MDAxMiAxMDA2NDQKLS0tIGEvZG9jcy9saWJjdXJsL29wdHMvQ1VSTE9QVF9NQVhGSUxFU0laRV9MQVJHRS4zCisrKyBiL2RvY3MvbGliY3VybC9vcHRzL0NVUkxPUFRfTUFYRklMRVNJWkVfTEFSR0UuMwpAQCAtMjAsNyArMjAsNyBAQAogLlwiICoKIC5cIiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogLlwiCi0uVEggQ1VSTE9QVF9NQVhGSUxFU0laRV9MQVJHRSAzICJNYXkgMzAsIDIwMTciICJsaWJjdXJsIDcuNzAuMCIgImN1cmxfZWFzeV9zZXRvcHQgb3B0aW9ucyIKKy5USCBDVVJMT1BUX01BWEZJTEVTSVpFX0xBUkdFIDMgIk1heSAzMCwgMjAxNyIgImxpYmN1cmwgNy43MS4xIiAiY3VybF9lYXN5X3NldG9wdCBvcHRpb25zIgogCiAuU0ggTkFNRQogQ1VSTE9QVF9NQVhGSUxFU0laRV9MQVJHRSBcLSBtYXhpbXVtIGZpbGUgc2l6ZSBhbGxvd2VkIHRvIGRvd25sb2FkCmRpZmYgLS1naXQgYS9kb2NzL2xpYmN1cmwvb3B0cy9DVVJMT1BUX01BWFJFRElSUy4zIGIvZG9jcy9saWJjdXJsL29wdHMvQ1VSTE9QVF9NQVhSRURJUlMuMwppbmRleCA1ZDE5MDRjLi41ZDk2NmUwIDEwMDY0NAotLS0gYS9kb2NzL2xpYmN1cmwvb3B0cy9DVVJMT1BUX01BWFJFRElSUy4zCisrKyBiL2RvY3MvbGliY3VybC9vcHRzL0NVUkxPUFRfTUFYUkVESVJTLjMKQEAgLTIwLDcgKzIwLDcgQEAKIC5cIiAqCiAuXCIgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKIC5cIgotLlRIIENVUkxPUFRfTUFYUkVESVJTIDMgIk1hcmNoIDIzLCAyMDIwIiAibGliY3VybCA3LjcwLjAiICJjdXJsX2Vhc3lfc2V0b3B0IG9wdGlvbnMiCisuVEggQ1VSTE9QVF9NQVhSRURJUlMgMyAiTWFyY2ggMjMsIDIwMjAiICJsaWJjdXJsIDcuNzEuMSIgImN1cmxfZWFzeV9zZXRvcHQgb3B0aW9ucyIKIAogLlNIIE5BTUUKIENVUkxPUFRfTUFYUkVESVJTIFwtIG1heGltdW0gbnVtYmVyIG9mIHJlZGlyZWN0cyBhbGxvd2VkCmRpZmYgLS1naXQgYS9kb2NzL2xpYmN1cmwvb3B0cy9DVVJMT1BUX01BWF9SRUNWX1NQRUVEX0xBUkdFLjMgYi9kb2NzL2xpYmN1cmwvb3B0cy9DVVJMT1BUX01BWF9SRUNWX1NQRUVEX0xBUkdFLjMKaW5kZXggZDcwMjQ3MS4uMjU4MWNmMiAxMDA2NDQKLS0tIGEvZG9jcy9saWJjdXJsL29wdHMvQ1VSTE9QVF9NQVhfUkVDVl9TUEVFRF9MQVJHRS4zCisrKyBiL2RvY3MvbGliY3VybC9vcHRzL0NVUkxPUFRfTUFYX1JFQ1ZfU1BFRURfTEFSR0UuMwpAQCAtMjAsNyArMjAsNyBAQAogLlwiICoKIC5cIiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogLlwiCi0uVEggQ1VSTE9QVF9NQVhfUkVDVl9TUEVFRF9MQVJHRSAzICJNYXkgMzAsIDIwMTciICJsaWJjdXJsIDcuNzAuMCIgImN1cmxfZWFzeV9zZXRvcHQgb3B0aW9ucyIKKy5USCBDVVJMT1BUX01BWF9SRUNWX1NQRUVEX0xBUkdFIDMgIk1heSAzMCwgMjAxNyIgImxpYmN1cmwgNy43MS4xIiAiY3VybF9lYXN5X3NldG9wdCBvcHRpb25zIgogCiAuU0ggTkFNRQogQ1VSTE9QVF9NQVhfUkVDVl9TUEVFRF9MQVJHRSBcLSByYXRlIGxpbWl0IGRhdGEgZG93bmxvYWQgc3BlZWQKZGlmZiAtLWdpdCBhL2RvY3MvbGliY3VybC9vcHRzL0NVUkxPUFRfTUFYX1NFTkRfU1BFRURfTEFSR0UuMyBiL2RvY3MvbGliY3VybC9vcHRzL0NVUkxPUFRfTUFYX1NFTkRfU1BFRURfTEFSR0UuMwppbmRleCA4YjY2MjI5Li4xMzA1ZjI1IDEwMDY0NAotLS0gYS9kb2NzL2xpYmN1cmwvb3B0cy9DVVJMT1BUX01BWF9TRU5EX1NQRUVEX0xBUkdFLjMKKysrIGIvZG9jcy9saWJjdXJsL29wdHMvQ1VSTE9QVF9NQVhfU0VORF9TUEVFRF9MQVJHRS4zCkBAIC0yMCw3ICsyMCw3IEBACiAuXCIgKgogLlwiICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiAuXCIKLS5USCBDVVJMT1BUX01BWF9TRU5EX1NQRUVEX0xBUkdFIDMgIk1heSAzMCwgMjAxNyIgImxpYmN1cmwgNy43MC4wIiAiY3VybF9lYXN5X3NldG9wdCBvcHRpb25zIgorLlRIIENVUkxPUFRfTUFYX1NFTkRfU1BFRURfTEFSR0UgMyAiTWF5IDMwLCAyMDE3IiAibGliY3VybCA3LjcxLjEiICJjdXJsX2Vhc3lfc2V0b3B0IG9wdGlvbnMiCiAKIC5TSCBOQU1FCiBDVVJMT1BUX01BWF9TRU5EX1NQRUVEX0xBUkdFIFwtIHJhdGUgbGltaXQgZGF0YSB1cGxvYWQgc3BlZWQKZGlmZiAtLWdpdCBhL2RvY3MvbGliY3VybC9vcHRzL0NVUkxPUFRfTUlNRVBPU1QuMyBiL2RvY3MvbGliY3VybC9vcHRzL0NVUkxPUFRfTUlNRVBPU1QuMwppbmRleCBiNTExYzYzLi41NGZhNDZlIDEwMDY0NAotLS0gYS9kb2NzL2xpYmN1cmwvb3B0cy9DVVJMT1BUX01JTUVQT1NULjMKKysrIGIvZG9jcy9saWJjdXJsL29wdHMvQ1VSTE9QVF9NSU1FUE9TVC4zCkBAIC0yMCw3ICsyMCw3IEBACiAuXCIgKgogLlwiICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiAuXCIKLS5USCBDVVJMT1BUX01JTUVQT1NUIDMgIlNlcHRlbWJlciAwNCwgMjAxNyIgImxpYmN1cmwgNy43MC4wIiAiY3VybF9lYXN5X3NldG9wdCBvcHRpb25zIgorLlRIIENVUkxPUFRfTUlNRVBPU1QgMyAiU2VwdGVtYmVyIDA0LCAyMDE3IiAibGliY3VybCA3LjcxLjEiICJjdXJsX2Vhc3lfc2V0b3B0IG9wdGlvbnMiCiAKIC5TSCBOQU1FCiBDVVJMT1BUX01JTUVQT1NUIFwtIHNldCBwb3N0L3NlbmQgZGF0YSBmcm9tIG1pbWUgc3RydWN0dXJlCmRpZmYgLS1naXQgYS9kb2NzL2xpYmN1cmwvb3B0cy9DVVJMT1BUX05FVFJDLjMgYi9kb2NzL2xpYmN1cmwvb3B0cy9DVVJMT1BUX05FVFJDLjMKaW5kZXggYjM3N2I4Zi4uNDkyYTI3NiAxMDA2NDQKLS0tIGEvZG9jcy9saWJjdXJsL29wdHMvQ1VSTE9QVF9ORVRSQy4zCisrKyBiL2RvY3MvbGliY3VybC9vcHRzL0NVUkxPUFRfTkVUUkMuMwpAQCAtMjAsNyArMjAsNyBAQAogLlwiICoKIC5cIiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogLlwiCi0uVEggQ1VSTE9QVF9ORVRSQyAzICJNYXJjaCAyMywgMjAyMCIgImxpYmN1cmwgNy43MC4wIiAiY3VybF9lYXN5X3NldG9wdCBvcHRpb25zIgorLlRIIENVUkxPUFRfTkVUUkMgMyAiTWFyY2ggMjMsIDIwMjAiICJsaWJjdXJsIDcuNzEuMSIgImN1cmxfZWFzeV9zZXRvcHQgb3B0aW9ucyIKIAogLlNIIE5BTUUKIENVUkxPUFRfTkVUUkMgXC0gcmVxdWVzdCB0aGF0IC5uZXRyYyBpcyB1c2VkCmRpZmYgLS1naXQgYS9kb2NzL2xpYmN1cmwvb3B0cy9DVVJMT1BUX05FVFJDX0ZJTEUuMyBiL2RvY3MvbGliY3VybC9vcHRzL0NVUkxPUFRfTkVUUkNfRklMRS4zCmluZGV4IDQ2MDE0ZjAuLmZkYTE0MGEgMTAwNjQ0Ci0tLSBhL2RvY3MvbGliY3VybC9vcHRzL0NVUkxPUFRfTkVUUkNfRklMRS4zCisrKyBiL2RvY3MvbGliY3VybC9vcHRzL0NVUkxPUFRfTkVUUkNfRklMRS4zCkBAIC0yMCw3ICsyMCw3IEBACiAuXCIgKgogLlwiICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiAuXCIKLS5USCBDVVJMT1BUX05FVFJDX0ZJTEUgMyAiTWF5IDMxLCAyMDE3IiAibGliY3VybCA3LjcwLjAiICJjdXJsX2Vhc3lfc2V0b3B0IG9wdGlvbnMiCisuVEggQ1VSTE9QVF9ORVRSQ19GSUxFIDMgIkp1bmUgMjUsIDIwMjAiICJsaWJjdXJsIDcuNzEuMSIgImN1cmxfZWFzeV9zZXRvcHQgb3B0aW9ucyIKIAogLlNIIE5BTUUKIENVUkxPUFRfTkVUUkNfRklMRSBcLSBmaWxlIG5hbWUgdG8gcmVhZCAubmV0cmMgaW5mbyBmcm9tCkBAIC0yOSw3ICsyOSw3IEBACiAKIENVUkxjb2RlIGN1cmxfZWFzeV9zZXRvcHQoQ1VSTCAqaGFuZGxlLCBDVVJMT1BUX05FVFJDX0ZJTEUsIGNoYXIgKmZpbGUpOwogLlNIIERFU0NSSVBUSU9OCi1QYXNzIGEgY2hhciAqIGFzIHBhcmFtZXRlciwgcG9pbnRpbmcgdG8gYSB6ZXJvIHRlcm1pbmF0ZWQgc3RyaW5nIGNvbnRhaW5pbmcKK1Bhc3MgYSBjaGFyICogYXMgcGFyYW1ldGVyLCBwb2ludGluZyB0byBhIG51bGwtdGVybWluYXRlZCBzdHJpbmcgY29udGFpbmluZwogdGhlIGZ1bGwgcGF0aCBuYW1lIHRvIHRoZSBcZklmaWxlXGZQIHlvdSB3YW50IGxpYmN1cmwgdG8gdXNlIGFzIC5uZXRyYwogZmlsZS4gSWYgdGhpcyBvcHRpb24gaXMgb21pdHRlZCwgYW5kIFxmSUNVUkxPUFRfTkVUUkMoMylcZlAgaXMgc2V0LCBsaWJjdXJsCiB3aWxsIGF0dGVtcHQgdG8gZmluZCBhIC5uZXRyYyBmaWxlIGluIHRoZSBjdXJyZW50IHVzZXIncyBob21lCmRpZmYgLS1naXQgYS9kb2NzL2xpYmN1cmwvb3B0cy9DVVJMT1BUX05FV19ESVJFQ1RPUllfUEVSTVMuMyBiL2RvY3MvbGliY3VybC9vcHRzL0NVUkxPUFRfTkVXX0RJUkVDVE9SWV9QRVJNUy4zCmluZGV4IGNjNDBmNjUuLjU0NjQ4NGEgMTAwNjQ0Ci0tLSBhL2RvY3MvbGliY3VybC9vcHRzL0NVUkxPUFRfTkVXX0RJUkVDVE9SWV9QRVJNUy4zCisrKyBiL2RvY3MvbGliY3VybC9vcHRzL0NVUkxPUFRfTkVXX0RJUkVDVE9SWV9QRVJNUy4zCkBAIC0yMCw3ICsyMCw3IEBACiAuXCIgKgogLlwiICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiAuXCIKLS5USCBDVVJMT1BUX05FV19ESVJFQ1RPUllfUEVSTVMgMyAiTWF5IDMxLCAyMDE3IiAibGliY3VybCA3LjcwLjAiICJjdXJsX2Vhc3lfc2V0b3B0IG9wdGlvbnMiCisuVEggQ1VSTE9QVF9ORVdfRElSRUNUT1JZX1BFUk1TIDMgIk1heSAzMSwgMjAxNyIgImxpYmN1cmwgNy43MS4xIiAiY3VybF9lYXN5X3NldG9wdCBvcHRpb25zIgogCiAuU0ggTkFNRQogQ1VSTE9QVF9ORVdfRElSRUNUT1JZX1BFUk1TIFwtIHBlcm1pc3Npb25zIGZvciByZW1vdGVseSBjcmVhdGVkIGRpcmVjdG9yaWVzCmRpZmYgLS1naXQgYS9kb2NzL2xpYmN1cmwvb3B0cy9DVVJMT1BUX05FV19GSUxFX1BFUk1TLjMgYi9kb2NzL2xpYmN1cmwvb3B0cy9DVVJMT1BUX05FV19GSUxFX1BFUk1TLjMKaW5kZXggMDFiODYzNi4uZWNmOTA5MSAxMDA2NDQKLS0tIGEvZG9jcy9saWJjdXJsL29wdHMvQ1VSTE9QVF9ORVdfRklMRV9QRVJNUy4zCisrKyBiL2RvY3MvbGliY3VybC9vcHRzL0NVUkxPUFRfTkVXX0ZJTEVfUEVSTVMuMwpAQCAtMjAsNyArMjAsNyBAQAogLlwiICoKIC5cIiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogLlwiCi0uVEggQ1VSTE9QVF9ORVdfRklMRV9QRVJNUyAzICJNYXkgMzEsIDIwMTciICJsaWJjdXJsIDcuNzAuMCIgImN1cmxfZWFzeV9zZXRvcHQgb3B0aW9ucyIKKy5USCBDVVJMT1BUX05FV19GSUxFX1BFUk1TIDMgIk1heSAzMSwgMjAxNyIgImxpYmN1cmwgNy43MS4xIiAiY3VybF9lYXN5X3NldG9wdCBvcHRpb25zIgogCiAuU0ggTkFNRQogQ1VSTE9QVF9ORVdfRklMRV9QRVJNUyBcLSBwZXJtaXNzaW9ucyBmb3IgcmVtb3RlbHkgY3JlYXRlZCBmaWxlcwpkaWZmIC0tZ2l0IGEvZG9jcy9saWJjdXJsL29wdHMvQ1VSTE9QVF9OT0JPRFkuMyBiL2RvY3MvbGliY3VybC9vcHRzL0NVUkxPUFRfTk9CT0RZLjMKaW5kZXggNWNmNTJhYi4uZjcyMGY0OSAxMDA2NDQKLS0tIGEvZG9jcy9saWJjdXJsL29wdHMvQ1VSTE9QVF9OT0JPRFkuMworKysgYi9kb2NzL2xpYmN1cmwvb3B0cy9DVVJMT1BUX05PQk9EWS4zCkBAIC0yMCw3ICsyMCw3IEBACiAuXCIgKgogLlwiICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiAuXCIKLS5USCBDVVJMT1BUX05PQk9EWSAzICJKdW5lIDIxLCAyMDE3IiAibGliY3VybCA3LjcwLjAiICJjdXJsX2Vhc3lfc2V0b3B0IG9wdGlvbnMiCisuVEggQ1VSTE9QVF9OT0JPRFkgMyAiSnVuZSAyMSwgMjAxNyIgImxpYmN1cmwgNy43MS4xIiAiY3VybF9lYXN5X3NldG9wdCBvcHRpb25zIgogCiAuU0ggTkFNRQogQ1VSTE9QVF9OT0JPRFkgXC0gZG8gdGhlIGRvd25sb2FkIHJlcXVlc3Qgd2l0aG91dCBnZXR0aW5nIHRoZSBib2R5CmRpZmYgLS1naXQgYS9kb2NzL2xpYmN1cmwvb3B0cy9DVVJMT1BUX05PUFJPR1JFU1MuMyBiL2RvY3MvbGliY3VybC9vcHRzL0NVUkxPUFRfTk9QUk9HUkVTUy4zCmluZGV4IGQ1OTJhYmMuLmUyMWJhYWMgMTAwNjQ0Ci0tLSBhL2RvY3MvbGliY3VybC9vcHRzL0NVUkxPUFRfTk9QUk9HUkVTUy4zCisrKyBiL2RvY3MvbGliY3VybC9vcHRzL0NVUkxPUFRfTk9QUk9HUkVTUy4zCkBAIC0yMCw3ICsyMCw3IEBACiAuXCIgKgogLlwiICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiAuXCIKLS5USCBDVVJMT1BUX05PUFJPR1JFU1MgMyAiT2N0b2JlciAwOSwgMjAxNyIgImxpYmN1cmwgNy43MC4wIiAiY3VybF9lYXN5X3NldG9wdCBvcHRpb25zIgorLlRIIENVUkxPUFRfTk9QUk9HUkVTUyAzICJPY3RvYmVyIDA5LCAyMDE3IiAibGliY3VybCA3LjcxLjEiICJjdXJsX2Vhc3lfc2V0b3B0IG9wdGlvbnMiCiAKIC5TSCBOQU1FCiBDVVJMT1BUX05PUFJPR1JFU1MgXC0gc3dpdGNoIG9mZiB0aGUgcHJvZ3Jlc3MgbWV0ZXIKZGlmZiAtLWdpdCBhL2RvY3MvbGliY3VybC9vcHRzL0NVUkxPUFRfTk9QUk9YWS4zIGIvZG9jcy9saWJjdXJsL29wdHMvQ1VSTE9QVF9OT1BST1hZLjMKaW5kZXggZDZiZGRkNC4uMGEzNGQ0ZiAxMDA2NDQKLS0tIGEvZG9jcy9saWJjdXJsL29wdHMvQ1VSTE9QVF9OT1BST1hZLjMKKysrIGIvZG9jcy9saWJjdXJsL29wdHMvQ1VSTE9QVF9OT1BST1hZLjMKQEAgLTIwLDcgKzIwLDcgQEAKIC5cIiAqCiAuXCIgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKIC5cIgotLlRIIENVUkxPUFRfTk9QUk9YWSAzICJBdWd1c3QgMjQsIDIwMTgiICJsaWJjdXJsIDcuNzAuMCIgImN1cmxfZWFzeV9zZXRvcHQgb3B0aW9ucyIKKy5USCBDVVJMT1BUX05PUFJPWFkgMyAiSnVuZSAyNSwgMjAyMCIgImxpYmN1cmwgNy43MS4xIiAiY3VybF9lYXN5X3NldG9wdCBvcHRpb25zIgogCiAuU0ggTkFNRQogQ1VSTE9QVF9OT1BST1hZIFwtIGRpc2FibGUgcHJveHkgdXNlIGZvciBzcGVjaWZpYyBob3N0cwpAQCAtMjksNyArMjksNyBAQAogCiBDVVJMY29kZSBjdXJsX2Vhc3lfc2V0b3B0KENVUkwgKmhhbmRsZSwgQ1VSTE9QVF9OT1BST1hZLCBjaGFyICpub3Byb3h5KTsKIC5TSCBERVNDUklQVElPTgotUGFzcyBhIHBvaW50ZXIgdG8gYSB6ZXJvIHRlcm1pbmF0ZWQgc3RyaW5nLiBUaGUgc3RyaW5nIGNvbnNpc3RzIG9mIGEgY29tbWEKK1Bhc3MgYSBwb2ludGVyIHRvIGEgbnVsbC10ZXJtaW5hdGVkIHN0cmluZy4gVGhlIHN0cmluZyBjb25zaXN0cyBvZiBhIGNvbW1hCiBzZXBhcmF0ZWQgbGlzdCBvZiBob3N0IG5hbWVzIHRoYXQgZG8gbm90IHJlcXVpcmUgYSBwcm94eSB0byBnZXQgcmVhY2hlZCwgZXZlbgogaWYgb25lIGlzIHNwZWNpZmllZC4gIFRoZSBvbmx5IHdpbGRjYXJkIGF2YWlsYWJsZSBpcyBhIHNpbmdsZSAqIGNoYXJhY3RlciwKIHdoaWNoIG1hdGNoZXMgYWxsIGhvc3RzLCBhbmQgZWZmZWN0aXZlbHkgZGlzYWJsZXMgdGhlIHByb3h5LiBFYWNoIG5hbWUgaW4gdGhpcwpkaWZmIC0tZ2l0IGEvZG9jcy9saWJjdXJsL29wdHMvQ1VSTE9QVF9OT1NJR05BTC4zIGIvZG9jcy9saWJjdXJsL29wdHMvQ1VSTE9QVF9OT1NJR05BTC4zCmluZGV4IDA1NWY0ZTIuLjhjYTViNGIgMTAwNjQ0Ci0tLSBhL2RvY3MvbGliY3VybC9vcHRzL0NVUkxPUFRfTk9TSUdOQUwuMworKysgYi9kb2NzL2xpYmN1cmwvb3B0cy9DVVJMT1BUX05PU0lHTkFMLjMKQEAgLTIwLDcgKzIwLDcgQEAKIC5cIiAqCiAuXCIgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKIC5cIgotLlRIIENVUkxPUFRfTk9TSUdOQUwgMyAiTWFyY2ggMjMsIDIwMjAiICJsaWJjdXJsIDcuNzAuMCIgImN1cmxfZWFzeV9zZXRvcHQgb3B0aW9ucyIKKy5USCBDVVJMT1BUX05PU0lHTkFMIDMgIk1hcmNoIDIzLCAyMDIwIiAibGliY3VybCA3LjcxLjEiICJjdXJsX2Vhc3lfc2V0b3B0IG9wdGlvbnMiCiAKIC5TSCBOQU1FCiBDVVJMT1BUX05PU0lHTkFMIFwtIHNraXAgYWxsIHNpZ25hbCBoYW5kbGluZwpkaWZmIC0tZ2l0IGEvZG9jcy9saWJjdXJsL29wdHMvQ1VSTE9QVF9PUEVOU09DS0VUREFUQS4zIGIvZG9jcy9saWJjdXJsL29wdHMvQ1VSTE9QVF9PUEVOU09DS0VUREFUQS4zCmluZGV4IGQyNTQwMTIuLmMwMjVmNjUgMTAwNjQ0Ci0tLSBhL2RvY3MvbGliY3VybC9vcHRzL0NVUkxPUFRfT1BFTlNPQ0tFVERBVEEuMworKysgYi9kb2NzL2xpYmN1cmwvb3B0cy9DVVJMT1BUX09QRU5TT0NLRVREQVRBLjMKQEAgLTIwLDcgKzIwLDcgQEAKIC5cIiAqCiAuXCIgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKIC5cIgotLlRIIENVUkxPUFRfT1BFTlNPQ0tFVERBVEEgMyAiTWF5IDE1LCAyMDE3IiAibGliY3VybCA3LjcwLjAiICJjdXJsX2Vhc3lfc2V0b3B0IG9wdGlvbnMiCisuVEggQ1VSTE9QVF9PUEVOU09DS0VUREFUQSAzICJNYXkgMTUsIDIwMTciICJsaWJjdXJsIDcuNzEuMSIgImN1cmxfZWFzeV9zZXRvcHQgb3B0aW9ucyIKIAogLlNIIE5BTUUKIENVUkxPUFRfT1BFTlNPQ0tFVERBVEEgXC0gY3VzdG9tIHBvaW50ZXIgcGFzc2VkIHRvIG9wZW4gc29ja2V0IGNhbGxiYWNrCmRpZmYgLS1naXQgYS9kb2NzL2xpYmN1cmwvb3B0cy9DVVJMT1BUX09QRU5TT0NLRVRGVU5DVElPTi4zIGIvZG9jcy9saWJjdXJsL29wdHMvQ1VSTE9QVF9PUEVOU09DS0VURlVOQ1RJT04uMwppbmRleCAxZmNkZTllLi5jZjZjODBmIDEwMDY0NAotLS0gYS9kb2NzL2xpYmN1cmwvb3B0cy9DVVJMT1BUX09QRU5TT0NLRVRGVU5DVElPTi4zCisrKyBiL2RvY3MvbGliY3VybC9vcHRzL0NVUkxPUFRfT1BFTlNPQ0tFVEZVTkNUSU9OLjMKQEAgLTUsNyArNSw3IEBACiAuXCIgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICB8IChfX3wgfF98IHwgIF8gPHwgfF9fXwogLlwiICogICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxfX198XF9fXy98X3wgXF9cX19fX198CiAuXCIgKgotLlwiICogQ29weXJpZ2h0IChDKSAxOTk4IC0gMjAxOSwgRGFuaWVsIFN0ZW5iZXJnLCA8ZGFuaWVsQGhheHguc2U+LCBldCBhbC4KKy5cIiAqIENvcHlyaWdodCAoQykgMTk5OCAtIDIwMjAsIERhbmllbCBTdGVuYmVyZywgPGRhbmllbEBoYXh4LnNlPiwgZXQgYWwuCiAuXCIgKgogLlwiICogVGhpcyBzb2Z0d2FyZSBpcyBsaWNlbnNlZCBhcyBkZXNjcmliZWQgaW4gdGhlIGZpbGUgQ09QWUlORywgd2hpY2gKIC5cIiAqIHlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhcyBwYXJ0IG9mIHRoaXMgZGlzdHJpYnV0aW9uLiBUaGUgdGVybXMKQEAgLTIwLDcgKzIwLDcgQEAKIC5cIiAqCiAuXCIgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKIC5cIgotLlRIIENVUkxPUFRfT1BFTlNPQ0tFVEZVTkNUSU9OIDMgIkRlY2VtYmVyIDAzLCAyMDE5IiAibGliY3VybCA3LjcwLjAiICJjdXJsX2Vhc3lfc2V0b3B0IG9wdGlvbnMiCisuVEggQ1VSTE9QVF9PUEVOU09DS0VURlVOQ1RJT04gMyAiSnVuZSAwOSwgMjAyMCIgImxpYmN1cmwgNy43MS4xIiAiY3VybF9lYXN5X3NldG9wdCBvcHRpb25zIgogCiAuU0ggTkFNRQogQ1VSTE9QVF9PUEVOU09DS0VURlVOQ1RJT04gXC0gc2V0IGNhbGxiYWNrIGZvciBvcGVuaW5nIHNvY2tldHMKQEAgLTY2LDcgKzY2LDcgQEAKIHRoZSB1c2VyJ3MgZGlzY3JldGlvbi4gIEEgXGZJQ1VSTF9TT0NLRVRfQkFEXGZQIHJldHVybiB2YWx1ZSBmcm9tIHRoZSBjYWxsYmFjawogZnVuY3Rpb24gd2lsbCBzaWduYWwgYW4gdW5yZWNvdmVyYWJsZSBlcnJvciB0byBsaWJjdXJsIGFuZCBpdCB3aWxsIHJldHVybgogXGZJQ1VSTEVfQ09VTEROVF9DT05ORUNUXGZQIGZyb20gdGhlIGZ1bmN0aW9uIHRoYXQgdHJpZ2dlcmVkIHRoaXMgY2FsbGJhY2suCi1UaGlzIHJldHVybiBjb2RlIGNhbiBiZSB1c2VkIGZvciBJUCBhZGRyZXNzIGJsYWNrbGlzdGluZy4KK1RoaXMgcmV0dXJuIGNvZGUgY2FuIGJlIHVzZWQgZm9yIElQIGFkZHJlc3MgYmxvY2sgbGlzdGluZy4KIAogSWYgeW91IHdhbnQgdG8gcGFzcyBpbiBhIHNvY2tldCB3aXRoIGFuIGFscmVhZHkgZXN0YWJsaXNoZWQgY29ubmVjdGlvbiwgcGFzcwogdGhlIHNvY2tldCBiYWNrIHdpdGggdGhpcyBjYWxsYmFjayBhbmQgdGhlbiB1c2UKZGlmZiAtLWdpdCBhL2RvY3MvbGliY3VybC9vcHRzL0NVUkxPUFRfUEFTU1dPUkQuMyBiL2RvY3MvbGliY3VybC9vcHRzL0NVUkxPUFRfUEFTU1dPUkQuMwppbmRleCBlNTM1NGU0Li5hMWVkYTAwIDEwMDY0NAotLS0gYS9kb2NzL2xpYmN1cmwvb3B0cy9DVVJMT1BUX1BBU1NXT1JELjMKKysrIGIvZG9jcy9saWJjdXJsL29wdHMvQ1VSTE9QVF9QQVNTV09SRC4zCkBAIC0yMCw3ICsyMCw3IEBACiAuXCIgKgogLlwiICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiAuXCIKLS5USCBDVVJMT1BUX1BBU1NXT1JEIDMgIk1hcmNoIDIzLCAyMDIwIiAibGliY3VybCA3LjcwLjAiICJjdXJsX2Vhc3lfc2V0b3B0IG9wdGlvbnMiCisuVEggQ1VSTE9QVF9QQVNTV09SRCAzICJKdW5lIDI1LCAyMDIwIiAibGliY3VybCA3LjcxLjEiICJjdXJsX2Vhc3lfc2V0b3B0IG9wdGlvbnMiCiAKIC5TSCBOQU1FCiBDVVJMT1BUX1BBU1NXT1JEIFwtIHBhc3N3b3JkIHRvIHVzZSBpbiBhdXRoZW50aWNhdGlvbgpAQCAtMjksNyArMjksNyBAQAogCiBDVVJMY29kZSBjdXJsX2Vhc3lfc2V0b3B0KENVUkwgKmhhbmRsZSwgQ1VSTE9QVF9QQVNTV09SRCwgY2hhciAqcHdkKTsKIC5TSCBERVNDUklQVElPTgotUGFzcyBhIGNoYXIgKiBhcyBwYXJhbWV0ZXIsIHdoaWNoIHNob3VsZCBiZSBwb2ludGluZyB0byB0aGUgemVybyB0ZXJtaW5hdGVkCitQYXNzIGEgY2hhciAqIGFzIHBhcmFtZXRlciwgd2hpY2ggc2hvdWxkIGJlIHBvaW50aW5nIHRvIHRoZSBudWxsLXRlcm1pbmF0ZWQKIHBhc3N3b3JkIHRvIHVzZSBmb3IgdGhlIHRyYW5zZmVyLgogCiBUaGUgXGZJQ1VSTE9QVF9QQVNTV09SRCgzKVxmUCBvcHRpb24gc2hvdWxkIGJlIHVzZWQgaW4gY29uanVuY3Rpb24gd2l0aCB0aGUKZGlmZiAtLWdpdCBhL2RvY3MvbGliY3VybC9vcHRzL0NVUkxPUFRfUEFUSF9BU19JUy4zIGIvZG9jcy9saWJjdXJsL29wdHMvQ1VSTE9QVF9QQVRIX0FTX0lTLjMKaW5kZXggY2YyOGJmNi4uYzlkMjM2ZSAxMDA2NDQKLS0tIGEvZG9jcy9saWJjdXJsL29wdHMvQ1VSTE9QVF9QQVRIX0FTX0lTLjMKKysrIGIvZG9jcy9saWJjdXJsL29wdHMvQ1VSTE9QVF9QQVRIX0FTX0lTLjMKQEAgLTIwLDcgKzIwLDcgQEAKIC5cIiAqCiAuXCIgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKIC5cIgotLlRIIENVUkxPUFRfUEFUSF9BU19JUyAzICJNYXJjaCAyMywgMjAyMCIgImxpYmN1cmwgNy43MC4wIiAiY3VybF9lYXN5X3NldG9wdCBvcHRpb25zIgorLlRIIENVUkxPUFRfUEFUSF9BU19JUyAzICJNYXJjaCAyMywgMjAyMCIgImxpYmN1cmwgNy43MS4xIiAiY3VybF9lYXN5X3NldG9wdCBvcHRpb25zIgogCiAuU0ggTkFNRQogQ1VSTE9QVF9QQVRIX0FTX0lTIFwtIGRvIG5vdCBoYW5kbGUgZG90IGRvdCBzZXF1ZW5jZXMKZGlmZiAtLWdpdCBhL2RvY3MvbGliY3VybC9vcHRzL0NVUkxPUFRfUElOTkVEUFVCTElDS0VZLjMgYi9kb2NzL2xpYmN1cmwvb3B0cy9DVVJMT1BUX1BJTk5FRFBVQkxJQ0tFWS4zCmluZGV4IDAzNzRlNmEuLjUzOWUwZDAgMTAwNjQ0Ci0tLSBhL2RvY3MvbGliY3VybC9vcHRzL0NVUkxPUFRfUElOTkVEUFVCTElDS0VZLjMKKysrIGIvZG9jcy9saWJjdXJsL29wdHMvQ1VSTE9QVF9QSU5ORURQVUJMSUNLRVkuMwpAQCAtMjAsNyArMjAsNyBAQAogLlwiICoKIC5cIiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogLlwiCi0uVEggQ1VSTE9QVF9QSU5ORURQVUJMSUNLRVkgMyAiSnVuZSAwMiwgMjAxOSIgImxpYmN1cmwgNy43MC4wIiAiY3VybF9lYXN5X3NldG9wdCBvcHRpb25zIgorLlRIIENVUkxPUFRfUElOTkVEUFVCTElDS0VZIDMgIkp1bmUgMjUsIDIwMjAiICJsaWJjdXJsIDcuNzEuMSIgImN1cmxfZWFzeV9zZXRvcHQgb3B0aW9ucyIKIAogLlNIIE5BTUUKIENVUkxPUFRfUElOTkVEUFVCTElDS0VZIFwtIHNldCBwaW5uZWQgcHVibGljIGtleQpAQCAtMjksNyArMjksNyBAQAogCiBDVVJMY29kZSBjdXJsX2Vhc3lfc2V0b3B0KENVUkwgKmhhbmRsZSwgQ1VSTE9QVF9QSU5ORURQVUJMSUNLRVksIGNoYXIgKnBpbm5lZHB1YmtleSk7CiAuU0ggREVTQ1JJUFRJT04KLVBhc3MgYSBwb2ludGVyIHRvIGEgemVybyB0ZXJtaW5hdGVkIHN0cmluZyBhcyBwYXJhbWV0ZXIuIFRoZSBzdHJpbmcgY2FuIGJlIHRoZQorUGFzcyBhIHBvaW50ZXIgdG8gYSBudWxsLXRlcm1pbmF0ZWQgc3RyaW5nIGFzIHBhcmFtZXRlci4gVGhlIHN0cmluZyBjYW4gYmUgdGhlCiBmaWxlIG5hbWUgb2YgeW91ciBwaW5uZWQgcHVibGljIGtleS4gVGhlIGZpbGUgZm9ybWF0IGV4cGVjdGVkIGlzICJQRU0iIG9yICJERVIiLgogVGhlIHN0cmluZyBjYW4gYWxzbyBiZSBhbnkgbnVtYmVyIG9mIGJhc2U2NCBlbmNvZGVkIHNoYTI1NiBoYXNoZXMgcHJlY2VkZWQgYnkKICJzaGEyNTYvLyIgYW5kIHNlcGFyYXRlZCBieSAiOyIKZGlmZiAtLWdpdCBhL2RvY3MvbGliY3VybC9vcHRzL0NVUkxPUFRfUElQRVdBSVQuMyBiL2RvY3MvbGliY3VybC9vcHRzL0NVUkxPUFRfUElQRVdBSVQuMwppbmRleCBkMjM4OGUzLi4wODNjOGZkIDEwMDY0NAotLS0gYS9kb2NzL2xpYmN1cmwvb3B0cy9DVVJMT1BUX1BJUEVXQUlULjMKKysrIGIvZG9jcy9saWJjdXJsL29wdHMvQ1VSTE9QVF9QSVBFV0FJVC4zCkBAIC0yMCw3ICsyMCw3IEBACiAuXCIgKgogLlwiICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiAuXCIKLS5USCBDVVJMT1BUX1BJUEVXQUlUIDMgIk1heSAwMSwgMjAxNiIgImxpYmN1cmwgNy43MC4wIiAiY3VybF9lYXN5X3NldG9wdCBvcHRpb25zIgorLlRIIENVUkxPUFRfUElQRVdBSVQgMyAiTWF5IDAxLCAyMDE2IiAibGliY3VybCA3LjcxLjEiICJjdXJsX2Vhc3lfc2V0b3B0IG9wdGlvbnMiCiAKIC5TSCBOQU1FCiBDVVJMT1BUX1BJUEVXQUlUIFwtIHdhaXQgZm9yIHBpcGVsaW5pbmcvbXVsdGlwbGV4aW5nCmRpZmYgLS1naXQgYS9kb2NzL2xpYmN1cmwvb3B0cy9DVVJMT1BUX1BPUlQuMyBiL2RvY3MvbGliY3VybC9vcHRzL0NVUkxPUFRfUE9SVC4zCmluZGV4IDIxYjY1OTUuLmI0MGVmYzggMTAwNjQ0Ci0tLSBhL2RvY3MvbGliY3VybC9vcHRzL0NVUkxPUFRfUE9SVC4zCisrKyBiL2RvY3MvbGliY3VybC9vcHRzL0NVUkxPUFRfUE9SVC4zCkBAIC0yMCw3ICsyMCw3IEBACiAuXCIgKgogLlwiICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiAuXCIKLS5USCBDVVJMT1BUX1BPUlQgMyAiTWF5IDMxLCAyMDE3IiAibGliY3VybCA3LjcwLjAiICJjdXJsX2Vhc3lfc2V0b3B0IG9wdGlvbnMiCisuVEggQ1VSTE9QVF9QT1JUIDMgIk1heSAzMSwgMjAxNyIgImxpYmN1cmwgNy43MS4xIiAiY3VybF9lYXN5X3NldG9wdCBvcHRpb25zIgogCiAuU0ggTkFNRQogQ1VSTE9QVF9QT1JUIFwtIHNldCByZW1vdGUgcG9ydCBudW1iZXIgdG8gd29yayB3aXRoCmRpZmYgLS1naXQgYS9kb2NzL2xpYmN1cmwvb3B0cy9DVVJMT1BUX1BPU1QuMyBiL2RvY3MvbGliY3VybC9vcHRzL0NVUkxPUFRfUE9TVC4zCmluZGV4IDJjY2JmNjcuLjc4NGM3NDUgMTAwNjQ0Ci0tLSBhL2RvY3MvbGliY3VybC9vcHRzL0NVUkxPUFRfUE9TVC4zCisrKyBiL2RvY3MvbGliY3VybC9vcHRzL0NVUkxPUFRfUE9TVC4zCkBAIC0yMCw3ICsyMCw3IEBACiAuXCIgKgogLlwiICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiAuXCIKLS5USCBDVVJMT1BUX1BPU1QgMyAiSnVseSAyMiwgMjAxOSIgImxpYmN1cmwgNy43MC4wIiAiY3VybF9lYXN5X3NldG9wdCBvcHRpb25zIgorLlRIIENVUkxPUFRfUE9TVCAzICJKdWx5IDIyLCAyMDE5IiAibGliY3VybCA3LjcxLjEiICJjdXJsX2Vhc3lfc2V0b3B0IG9wdGlvbnMiCiAKIC5TSCBOQU1FCiBDVVJMT1BUX1BPU1QgXC0gcmVxdWVzdCBhbiBIVFRQIFBPU1QKZGlmZiAtLWdpdCBhL2RvY3MvbGliY3VybC9vcHRzL0NVUkxPUFRfUE9TVEZJRUxEUy4zIGIvZG9jcy9saWJjdXJsL29wdHMvQ1VSTE9QVF9QT1NURklFTERTLjMKaW5kZXggZGVkYTRmOS4uOTJiNDBjZiAxMDA2NDQKLS0tIGEvZG9jcy9saWJjdXJsL29wdHMvQ1VSTE9QVF9QT1NURklFTERTLjMKKysrIGIvZG9jcy9saWJjdXJsL29wdHMvQ1VSTE9QVF9QT1NURklFTERTLjMKQEAgLTIwLDcgKzIwLDcgQEAKIC5cIiAqCiAuXCIgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKIC5cIgotLlRIIENVUkxPUFRfUE9TVEZJRUxEUyAzICJNYXJjaCAyMywgMjAyMCIgImxpYmN1cmwgNy43MC4wIiAiY3VybF9lYXN5X3NldG9wdCBvcHRpb25zIgorLlRIIENVUkxPUFRfUE9TVEZJRUxEUyAzICJNYXJjaCAyMywgMjAyMCIgImxpYmN1cmwgNy43MS4xIiAiY3VybF9lYXN5X3NldG9wdCBvcHRpb25zIgogCiAuU0ggTkFNRQogQ1VSTE9QVF9QT1NURklFTERTIFwtIHNwZWNpZnkgZGF0YSB0byBQT1NUIHRvIHNlcnZlcgpkaWZmIC0tZ2l0IGEvZG9jcy9saWJjdXJsL29wdHMvQ1VSTE9QVF9QT1NURklFTERTSVpFLjMgYi9kb2NzL2xpYmN1cmwvb3B0cy9DVVJMT1BUX1BPU1RGSUVMRFNJWkUuMwppbmRleCA4M2NkZjE2Li4zN2Q0N2NjIDEwMDY0NAotLS0gYS9kb2NzL2xpYmN1cmwvb3B0cy9DVVJMT1BUX1BPU1RGSUVMRFNJWkUuMworKysgYi9kb2NzL2xpYmN1cmwvb3B0cy9DVVJMT1BUX1BPU1RGSUVMRFNJWkUuMwpAQCAtMjAsNyArMjAsNyBAQAogLlwiICoKIC5cIiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogLlwiCi0uVEggQ1VSTE9QVF9QT1NURklFTERTSVpFIDMgIk1hcmNoIDIzLCAyMDIwIiAibGliY3VybCA3LjcwLjAiICJjdXJsX2Vhc3lfc2V0b3B0IG9wdGlvbnMiCisuVEggQ1VSTE9QVF9QT1NURklFTERTSVpFIDMgIk1hcmNoIDIzLCAyMDIwIiAibGliY3VybCA3LjcxLjEiICJjdXJsX2Vhc3lfc2V0b3B0IG9wdGlvbnMiCiAKIC5TSCBOQU1FCiBDVVJMT1BUX1BPU1RGSUVMRFNJWkUgXC0gc2l6ZSBvZiBQT1NUIGRhdGEgcG9pbnRlZCB0bwpkaWZmIC0tZ2l0IGEvZG9jcy9saWJjdXJsL29wdHMvQ1VSTE9QVF9QT1NURklFTERTSVpFX0xBUkdFLjMgYi9kb2NzL2xpYmN1cmwvb3B0cy9DVVJMT1BUX1BPU1RGSUVMRFNJWkVfTEFSR0UuMwppbmRleCAwZWRjMGY2Li41YTI5ZmRhIDEwMDY0NAotLS0gYS9kb2NzL2xpYmN1cmwvb3B0cy9DVVJMT1BUX1BPU1RGSUVMRFNJWkVfTEFSR0UuMworKysgYi9kb2NzL2xpYmN1cmwvb3B0cy9DVVJMT1BUX1BPU1RGSUVMRFNJWkVfTEFSR0UuMwpAQCAtMjAsNyArMjAsNyBAQAogLlwiICoKIC5cIiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogLlwiCi0uVEggQ1VSTE9QVF9QT1NURklFTERTSVpFX0xBUkdFIDMgIk1hcmNoIDIzLCAyMDIwIiAibGliY3VybCA3LjcwLjAiICJjdXJsX2Vhc3lfc2V0b3B0IG9wdGlvbnMiCisuVEggQ1VSTE9QVF9QT1NURklFTERTSVpFX0xBUkdFIDMgIk1hcmNoIDIzLCAyMDIwIiAibGliY3VybCA3LjcxLjEiICJjdXJsX2Vhc3lfc2V0b3B0IG9wdGlvbnMiCiAKIC5TSCBOQU1FCiBDVVJMT1BUX1BPU1RGSUVMRFNJWkVfTEFSR0UgXC0gc2l6ZSBvZiBQT1NUIGRhdGEgcG9pbnRlZCB0bwpkaWZmIC0tZ2l0IGEvZG9jcy9saWJjdXJsL29wdHMvQ1VSTE9QVF9QT1NUUVVPVEUuMyBiL2RvY3MvbGliY3VybC9vcHRzL0NVUkxPUFRfUE9TVFFVT1RFLjMKaW5kZXggNzk1NTlmNy4uNzdkZTQwNiAxMDA2NDQKLS0tIGEvZG9jcy9saWJjdXJsL29wdHMvQ1VSTE9QVF9QT1NUUVVPVEUuMworKysgYi9kb2NzL2xpYmN1cmwvb3B0cy9DVVJMT1BUX1BPU1RRVU9URS4zCkBAIC0yMCw3ICsyMCw3IEBACiAuXCIgKgogLlwiICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiAuXCIKLS5USCBDVVJMT1BUX1BPU1RRVU9URSAzICJNYXJjaCAyMywgMjAyMCIgImxpYmN1cmwgNy43MC4wIiAiY3VybF9lYXN5X3NldG9wdCBvcHRpb25zIgorLlRIIENVUkxPUFRfUE9TVFFVT1RFIDMgIk1hcmNoIDIzLCAyMDIwIiAibGliY3VybCA3LjcxLjEiICJjdXJsX2Vhc3lfc2V0b3B0IG9wdGlvbnMiCiAKIC5TSCBOQU1FCiBDVVJMT1BUX1BPU1RRVU9URSBcLSAoUylGVFAgY29tbWFuZHMgdG8gcnVuIGFmdGVyIHRoZSB0cmFuc2ZlcgpkaWZmIC0tZ2l0IGEvZG9jcy9saWJjdXJsL29wdHMvQ1VSTE9QVF9QT1NUUkVESVIuMyBiL2RvY3MvbGliY3VybC9vcHRzL0NVUkxPUFRfUE9TVFJFRElSLjMKaW5kZXggNzQ0NmY5Yy4uZGQ5YjgwOCAxMDA2NDQKLS0tIGEvZG9jcy9saWJjdXJsL29wdHMvQ1VSTE9QVF9QT1NUUkVESVIuMworKysgYi9kb2NzL2xpYmN1cmwvb3B0cy9DVVJMT1BUX1BPU1RSRURJUi4zCkBAIC0yMCw3ICsyMCw3IEBACiAuXCIgKgogLlwiICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiAuXCIKLS5USCBDVVJMT1BUX1BPU1RSRURJUiAzICJNYXJjaCAyMywgMjAyMCIgImxpYmN1cmwgNy43MC4wIiAiY3VybF9lYXN5X3NldG9wdCBvcHRpb25zIgorLlRIIENVUkxPUFRfUE9TVFJFRElSIDMgIk1hcmNoIDIzLCAyMDIwIiAibGliY3VybCA3LjcxLjEiICJjdXJsX2Vhc3lfc2V0b3B0IG9wdGlvbnMiCiAKIC5TSCBOQU1FCiBDVVJMT1BUX1BPU1RSRURJUiBcLSBob3cgdG8gYWN0IG9uIGFuIEhUVFAgUE9TVCByZWRpcmVjdApkaWZmIC0tZ2l0IGEvZG9jcy9saWJjdXJsL29wdHMvQ1VSTE9QVF9QUkVRVU9URS4zIGIvZG9jcy9saWJjdXJsL29wdHMvQ1VSTE9QVF9QUkVRVU9URS4zCmluZGV4IGU1Mjk5OWUuLjEyMjczY2UgMTAwNjQ0Ci0tLSBhL2RvY3MvbGliY3VybC9vcHRzL0NVUkxPUFRfUFJFUVVPVEUuMworKysgYi9kb2NzL2xpYmN1cmwvb3B0cy9DVVJMT1BUX1BSRVFVT1RFLjMKQEAgLTIwLDcgKzIwLDcgQEAKIC5cIiAqCiAuXCIgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKIC5cIgotLlRIIENVUkxPUFRfUFJFUVVPVEUgMyAiTWFyY2ggMjMsIDIwMjAiICJsaWJjdXJsIDcuNzAuMCIgImN1cmxfZWFzeV9zZXRvcHQgb3B0aW9ucyIKKy5USCBDVVJMT1BUX1BSRVFVT1RFIDMgIk1hcmNoIDIzLCAyMDIwIiAibGliY3VybCA3LjcxLjEiICJjdXJsX2Vhc3lfc2V0b3B0IG9wdGlvbnMiCiAKIC5TSCBOQU1FCiBDVVJMT1BUX1BSRVFVT1RFIFwtIGNvbW1hbmRzIHRvIHJ1biBiZWZvcmUgYW4gRlRQIHRyYW5zZmVyCmRpZmYgLS1naXQgYS9kb2NzL2xpYmN1cmwvb3B0cy9DVVJMT1BUX1BSRV9QUk9YWS4zIGIvZG9jcy9saWJjdXJsL29wdHMvQ1VSTE9QVF9QUkVfUFJPWFkuMwppbmRleCBmYzYxZWYxLi4yNmRhNmIwIDEwMDY0NAotLS0gYS9kb2NzL2xpYmN1cmwvb3B0cy9DVVJMT1BUX1BSRV9QUk9YWS4zCisrKyBiL2RvY3MvbGliY3VybC9vcHRzL0NVUkxPUFRfUFJFX1BST1hZLjMKQEAgLTIwLDcgKzIwLDcgQEAKIC5cIiAqCiAuXCIgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKIC5cIgotLlRIIENVUkxPUFRfUFJFX1BST1hZIDMgIk1hcmNoIDIzLCAyMDIwIiAibGliY3VybCA3LjcwLjAiICJjdXJsX2Vhc3lfc2V0b3B0IG9wdGlvbnMiCisuVEggQ1VSTE9QVF9QUkVfUFJPWFkgMyAiSnVuZSAyNSwgMjAyMCIgImxpYmN1cmwgNy43MS4xIiAiY3VybF9lYXN5X3NldG9wdCBvcHRpb25zIgogCiAuU0ggTkFNRQogQ1VSTE9QVF9QUkVfUFJPWFkgXC0gc2V0IHByZS1wcm94eSB0byB1c2UKQEAgLTMwLDcgKzMwLDcgQEAKIENVUkxjb2RlIGN1cmxfZWFzeV9zZXRvcHQoQ1VSTCAqaGFuZGxlLCBDVVJMT1BUX1BSRV9QUk9YWSwgY2hhciAqcHJlcHJveHkpOwogLlNIIERFU0NSSVBUSU9OCiBTZXQgdGhlIFxmSXByZXByb3h5XGZQIHRvIHVzZSBmb3IgdGhlIHVwY29taW5nIHJlcXVlc3QuIFRoZSBwYXJhbWV0ZXIKLXNob3VsZCBiZSBhIGNoYXIgKiB0byBhIHplcm8gdGVybWluYXRlZCBzdHJpbmcgaG9sZGluZyB0aGUgaG9zdCBuYW1lIG9yIGRvdHRlZAorc2hvdWxkIGJlIGEgY2hhciAqIHRvIGEgbnVsbC10ZXJtaW5hdGVkIHN0cmluZyBob2xkaW5nIHRoZSBob3N0IG5hbWUgb3IgZG90dGVkCiBudW1lcmljYWwgSVAgYWRkcmVzcy4gQSBudW1lcmljYWwgSVB2NiBhZGRyZXNzIG11c3QgYmUgd3JpdHRlbiB3aXRoaW4KIFticmFja2V0c10uCiAKZGlmZiAtLWdpdCBhL2RvY3MvbGliY3VybC9vcHRzL0NVUkxPUFRfUFJJVkFURS4zIGIvZG9jcy9saWJjdXJsL29wdHMvQ1VSTE9QVF9QUklWQVRFLjMKaW5kZXggOTAzMTZiOC4uOGU5YTIwMiAxMDA2NDQKLS0tIGEvZG9jcy9saWJjdXJsL29wdHMvQ1VSTE9QVF9QUklWQVRFLjMKKysrIGIvZG9jcy9saWJjdXJsL29wdHMvQ1VSTE9QVF9QUklWQVRFLjMKQEAgLTIwLDcgKzIwLDcgQEAKIC5cIiAqCiAuXCIgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKIC5cIgotLlRIIENVUkxPUFRfUFJJVkFURSAzICJNYXJjaCAyMywgMjAyMCIgImxpYmN1cmwgNy43MC4wIiAiY3VybF9lYXN5X3NldG9wdCBvcHRpb25zIgorLlRIIENVUkxPUFRfUFJJVkFURSAzICJNYXJjaCAyMywgMjAyMCIgImxpYmN1cmwgNy43MS4xIiAiY3VybF9lYXN5X3NldG9wdCBvcHRpb25zIgogCiAuU0ggTkFNRQogQ1VSTE9QVF9QUklWQVRFIFwtIHN0b3JlIGEgcHJpdmF0ZSBwb2ludGVyCmRpZmYgLS1naXQgYS9kb2NzL2xpYmN1cmwvb3B0cy9DVVJMT1BUX1BST0dSRVNTREFUQS4zIGIvZG9jcy9saWJjdXJsL29wdHMvQ1VSTE9QVF9QUk9HUkVTU0RBVEEuMwppbmRleCA3YWQ3NDA0Li5jYTg3ZWU1IDEwMDY0NAotLS0gYS9kb2NzL2xpYmN1cmwvb3B0cy9DVVJMT1BUX1BST0dSRVNTREFUQS4zCisrKyBiL2RvY3MvbGliY3VybC9vcHRzL0NVUkxPUFRfUFJPR1JFU1NEQVRBLjMKQEAgLTIwLDcgKzIwLDcgQEAKIC5cIiAqCiAuXCIgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKIC5cIgotLlRIIENVUkxPUFRfUFJPR1JFU1NEQVRBIDMgIk1hcmNoIDIzLCAyMDIwIiAibGliY3VybCA3LjcwLjAiICJjdXJsX2Vhc3lfc2V0b3B0IG9wdGlvbnMiCisuVEggQ1VSTE9QVF9QUk9HUkVTU0RBVEEgMyAiTWFyY2ggMjMsIDIwMjAiICJsaWJjdXJsIDcuNzEuMSIgImN1cmxfZWFzeV9zZXRvcHQgb3B0aW9ucyIKIAogLlNIIE5BTUUKIENVUkxPUFRfUFJPR1JFU1NEQVRBIFwtIGN1c3RvbSBwb2ludGVyIHBhc3NlZCB0byB0aGUgcHJvZ3Jlc3MgY2FsbGJhY2sKZGlmZiAtLWdpdCBhL2RvY3MvbGliY3VybC9vcHRzL0NVUkxPUFRfUFJPR1JFU1NGVU5DVElPTi4zIGIvZG9jcy9saWJjdXJsL29wdHMvQ1VSTE9QVF9QUk9HUkVTU0ZVTkNUSU9OLjMKaW5kZXggYzBkNDE3OC4uOTM5YTNiNiAxMDA2NDQKLS0tIGEvZG9jcy9saWJjdXJsL29wdHMvQ1VSTE9QVF9QUk9HUkVTU0ZVTkNUSU9OLjMKKysrIGIvZG9jcy9saWJjdXJsL29wdHMvQ1VSTE9QVF9QUk9HUkVTU0ZVTkNUSU9OLjMKQEAgLTIwLDcgKzIwLDcgQEAKIC5cIiAqCiAuXCIgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKIC5cIgotLlRIIENVUkxPUFRfUFJPR1JFU1NGVU5DVElPTiAzICJNYXJjaCAyMywgMjAyMCIgImxpYmN1cmwgNy43MC4wIiAiY3VybF9lYXN5X3NldG9wdCBvcHRpb25zIgorLlRIIENVUkxPUFRfUFJPR1JFU1NGVU5DVElPTiAzICJNYXJjaCAyMywgMjAyMCIgImxpYmN1cmwgNy43MS4xIiAiY3VybF9lYXN5X3NldG9wdCBvcHRpb25zIgogCiAuU0ggTkFNRQogQ1VSTE9QVF9QUk9HUkVTU0ZVTkNUSU9OIFwtIGNhbGxiYWNrIHRvIHByb2dyZXNzIG1ldGVyIGZ1bmN0aW9uCmRpZmYgLS1naXQgYS9kb2NzL2xpYmN1cmwvb3B0cy9DVVJMT1BUX1BST1RPQ09MUy4zIGIvZG9jcy9saWJjdXJsL29wdHMvQ1VSTE9QVF9QUk9UT0NPTFMuMwppbmRleCA2NzlmNTBiLi43NmVkNzVhIDEwMDY0NAotLS0gYS9kb2NzL2xpYmN1cmwvb3B0cy9DVVJMT1BUX1BST1RPQ09MUy4zCisrKyBiL2RvY3MvbGliY3VybC9vcHRzL0NVUkxPUFRfUFJPVE9DT0xTLjMKQEAgLTIwLDcgKzIwLDcgQEAKIC5cIiAqCiAuXCIgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKIC5cIgotLlRIIENVUkxPUFRfUFJPVE9DT0xTIDMgIk1hcmNoIDIzLCAyMDIwIiAibGliY3VybCA3LjcwLjAiICJjdXJsX2Vhc3lfc2V0b3B0IG9wdGlvbnMiCisuVEggQ1VSTE9QVF9QUk9UT0NPTFMgMyAiTWFyY2ggMjMsIDIwMjAiICJsaWJjdXJsIDcuNzEuMSIgImN1cmxfZWFzeV9zZXRvcHQgb3B0aW9ucyIKIAogLlNIIE5BTUUKIENVUkxPUFRfUFJPVE9DT0xTIFwtIHNldCBhbGxvd2VkIHByb3RvY29scwpkaWZmIC0tZ2l0IGEvZG9jcy9saWJjdXJsL29wdHMvQ1VSTE9QVF9QUk9YWS4zIGIvZG9jcy9saWJjdXJsL29wdHMvQ1VSTE9QVF9QUk9YWS4zCmluZGV4IGRmZGM5YzMuLjYwYzA5NjggMTAwNjQ0Ci0tLSBhL2RvY3MvbGliY3VybC9vcHRzL0NVUkxPUFRfUFJPWFkuMworKysgYi9kb2NzL2xpYmN1cmwvb3B0cy9DVVJMT1BUX1BST1hZLjMKQEAgLTIwLDcgKzIwLDcgQEAKIC5cIiAqCiAuXCIgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKIC5cIgotLlRIIENVUkxPUFRfUFJPWFkgMyAiQXVndXN0IDI0LCAyMDE4IiAibGliY3VybCA3LjcwLjAiICJjdXJsX2Vhc3lfc2V0b3B0IG9wdGlvbnMiCisuVEggQ1VSTE9QVF9QUk9YWSAzICJKdW5lIDI1LCAyMDIwIiAibGliY3VybCA3LjcxLjEiICJjdXJsX2Vhc3lfc2V0b3B0IG9wdGlvbnMiCiAKIC5TSCBOQU1FCiBDVVJMT1BUX1BST1hZIFwtIHNldCBwcm94eSB0byB1c2UKQEAgLTMwLDcgKzMwLDcgQEAKIENVUkxjb2RlIGN1cmxfZWFzeV9zZXRvcHQoQ1VSTCAqaGFuZGxlLCBDVVJMT1BUX1BST1hZLCBjaGFyICpwcm94eSk7CiAuU0ggREVTQ1JJUFRJT04KIFNldCB0aGUgXGZJcHJveHlcZlAgdG8gdXNlIGZvciB0aGUgdXBjb21pbmcgcmVxdWVzdC4gVGhlIHBhcmFtZXRlciBzaG91bGQgYmUgYQotY2hhciAqIHRvIGEgemVybyB0ZXJtaW5hdGVkIHN0cmluZyBob2xkaW5nIHRoZSBob3N0IG5hbWUgb3IgZG90dGVkIG51bWVyaWNhbAorY2hhciAqIHRvIGEgbnVsbC10ZXJtaW5hdGVkIHN0cmluZyBob2xkaW5nIHRoZSBob3N0IG5hbWUgb3IgZG90dGVkIG51bWVyaWNhbAogSVAgYWRkcmVzcy4gQSBudW1lcmljYWwgSVB2NiBhZGRyZXNzIG11c3QgYmUgd3JpdHRlbiB3aXRoaW4gW2JyYWNrZXRzXS4KIAogVG8gc3BlY2lmeSBwb3J0IG51bWJlciBpbiB0aGlzIHN0cmluZywgYXBwZW5kIDpbcG9ydF0gdG8gdGhlIGVuZCBvZiB0aGUgaG9zdApkaWZmIC0tZ2l0IGEvZG9jcy9saWJjdXJsL29wdHMvQ1VSTE9QVF9QUk9YWUFVVEguMyBiL2RvY3MvbGliY3VybC9vcHRzL0NVUkxPUFRfUFJPWFlBVVRILjMKaW5kZXggM2Q3Y2M4ZS4uNDgxMmE1NSAxMDA2NDQKLS0tIGEvZG9jcy9saWJjdXJsL29wdHMvQ1VSTE9QVF9QUk9YWUFVVEguMworKysgYi9kb2NzL2xpYmN1cmwvb3B0cy9DVVJMT1BUX1BST1hZQVVUSC4zCkBAIC0yMCw3ICsyMCw3IEBACiAuXCIgKgogLlwiICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiAuXCIKLS5USCBDVVJMT1BUX1BST1hZQVVUSCAzICJNYXkgMzAsIDIwMTciICJsaWJjdXJsIDcuNzAuMCIgImN1cmxfZWFzeV9zZXRvcHQgb3B0aW9ucyIKKy5USCBDVVJMT1BUX1BST1hZQVVUSCAzICJNYXkgMzAsIDIwMTciICJsaWJjdXJsIDcuNzEuMSIgImN1cmxfZWFzeV9zZXRvcHQgb3B0aW9ucyIKIAogLlNIIE5BTUUKIENVUkxPUFRfUFJPWFlBVVRIIFwtIHNldCBIVFRQIHByb3h5IGF1dGhlbnRpY2F0aW9uIG1ldGhvZHMgdG8gdHJ5CmRpZmYgLS1naXQgYS9kb2NzL2xpYmN1cmwvb3B0cy9DVVJMT1BUX1BST1hZSEVBREVSLjMgYi9kb2NzL2xpYmN1cmwvb3B0cy9DVVJMT1BUX1BST1hZSEVBREVSLjMKaW5kZXggMjhhNGQ0Yy4uNzk0ZmNjNyAxMDA2NDQKLS0tIGEvZG9jcy9saWJjdXJsL29wdHMvQ1VSTE9QVF9QUk9YWUhFQURFUi4zCisrKyBiL2RvY3MvbGliY3VybC9vcHRzL0NVUkxPUFRfUFJPWFlIRUFERVIuMwpAQCAtMjAsNyArMjAsNyBAQAogLlwiICoKIC5cIiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogLlwiCi0uVEggQ1VSTE9QVF9QUk9YWUhFQURFUiAzICJNYXkgMzAsIDIwMTciICJsaWJjdXJsIDcuNzAuMCIgImN1cmxfZWFzeV9zZXRvcHQgb3B0aW9ucyIKKy5USCBDVVJMT1BUX1BST1hZSEVBREVSIDMgIk1heSAzMCwgMjAxNyIgImxpYmN1cmwgNy43MS4xIiAiY3VybF9lYXN5X3NldG9wdCBvcHRpb25zIgogCiAuU0ggTkFNRQogQ1VSTE9QVF9QUk9YWUhFQURFUiBcLSBjdXN0b20gSFRUUCBoZWFkZXJzIHRvIHBhc3MgdG8gcHJveHkKZGlmZiAtLWdpdCBhL2RvY3MvbGliY3VybC9vcHRzL0NVUkxPUFRfUFJPWFlQQVNTV09SRC4zIGIvZG9jcy9saWJjdXJsL29wdHMvQ1VSTE9QVF9QUk9YWVBBU1NXT1JELjMKaW5kZXggMmVkY2NkNi4uYmVkZGJmOSAxMDA2NDQKLS0tIGEvZG9jcy9saWJjdXJsL29wdHMvQ1VSTE9QVF9QUk9YWVBBU1NXT1JELjMKKysrIGIvZG9jcy9saWJjdXJsL29wdHMvQ1VSTE9QVF9QUk9YWVBBU1NXT1JELjMKQEAgLTIwLDcgKzIwLDcgQEAKIC5cIiAqCiAuXCIgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKIC5cIgotLlRIIENVUkxPUFRfUFJPWFlQQVNTV09SRCAzICJNYXkgMzAsIDIwMTciICJsaWJjdXJsIDcuNzAuMCIgImN1cmxfZWFzeV9zZXRvcHQgb3B0aW9ucyIKKy5USCBDVVJMT1BUX1BST1hZUEFTU1dPUkQgMyAiSnVuZSAyNSwgMjAyMCIgImxpYmN1cmwgNy43MS4xIiAiY3VybF9lYXN5X3NldG9wdCBvcHRpb25zIgogCiAuU0ggTkFNRQogQ1VSTE9QVF9QUk9YWVBBU1NXT1JEIFwtIHBhc3N3b3JkIHRvIHVzZSB3aXRoIHByb3h5IGF1dGhlbnRpY2F0aW9uCkBAIC0yOSw3ICsyOSw3IEBACiAKIENVUkxjb2RlIGN1cmxfZWFzeV9zZXRvcHQoQ1VSTCAqaGFuZGxlLCBDVVJMT1BUX1BST1hZUEFTU1dPUkQsIGNoYXIgKnB3ZCk7CiAuU0ggREVTQ1JJUFRJT04KLVBhc3MgYSBjaGFyICogYXMgcGFyYW1ldGVyLCB3aGljaCBzaG91bGQgYmUgcG9pbnRpbmcgdG8gdGhlIHplcm8gdGVybWluYXRlZAorUGFzcyBhIGNoYXIgKiBhcyBwYXJhbWV0ZXIsIHdoaWNoIHNob3VsZCBiZSBwb2ludGluZyB0byB0aGUgbnVsbC10ZXJtaW5hdGVkCiBwYXNzd29yZCB0byB1c2UgZm9yIGF1dGhlbnRpY2F0aW9uIHdpdGggdGhlIHByb3h5LgogCiBUaGUgXGZJQ1VSTE9QVF9QUk9YWVBBU1NXT1JEKDMpXGZQIG9wdGlvbiBzaG91bGQgYmUgdXNlZCBpbiBjb25qdW5jdGlvbiB3aXRoCmRpZmYgLS1naXQgYS9kb2NzL2xpYmN1cmwvb3B0cy9DVVJMT1BUX1BST1hZUE9SVC4zIGIvZG9jcy9saWJjdXJsL29wdHMvQ1VSTE9QVF9QUk9YWVBPUlQuMwppbmRleCA2MGJjZTY2Li5jMzJiYmYxIDEwMDY0NAotLS0gYS9kb2NzL2xpYmN1cmwvb3B0cy9DVVJMT1BUX1BST1hZUE9SVC4zCisrKyBiL2RvY3MvbGliY3VybC9vcHRzL0NVUkxPUFRfUFJPWFlQT1JULjMKQEAgLTIwLDcgKzIwLDcgQEAKIC5cIiAqCiAuXCIgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKIC5cIgotLlRIIENVUkxPUFRfUFJPWFlQT1JUIDMgIk1heSAzMSwgMjAxNyIgImxpYmN1cmwgNy43MC4wIiAiY3VybF9lYXN5X3NldG9wdCBvcHRpb25zIgorLlRIIENVUkxPUFRfUFJPWFlQT1JUIDMgIk1heSAzMSwgMjAxNyIgImxpYmN1cmwgNy43MS4xIiAiY3VybF9lYXN5X3NldG9wdCBvcHRpb25zIgogCiAuU0ggTkFNRQogQ1VSTE9QVF9QUk9YWVBPUlQgXC0gcG9ydCBudW1iZXIgdGhlIHByb3h5IGxpc3RlbnMgb24KZGlmZiAtLWdpdCBhL2RvY3MvbGliY3VybC9vcHRzL0NVUkxPUFRfUFJPWFlUWVBFLjMgYi9kb2NzL2xpYmN1cmwvb3B0cy9DVVJMT1BUX1BST1hZVFlQRS4zCmluZGV4IDk0OTQxYTkuLmUzN2VhZjIgMTAwNjQ0Ci0tLSBhL2RvY3MvbGliY3VybC9vcHRzL0NVUkxPUFRfUFJPWFlUWVBFLjMKKysrIGIvZG9jcy9saWJjdXJsL29wdHMvQ1VSTE9QVF9QUk9YWVRZUEUuMwpAQCAtMjAsNyArMjAsNyBAQAogLlwiICoKIC5cIiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogLlwiCi0uVEggQ1VSTE9QVF9QUk9YWVRZUEUgMyAiTWF5IDMwLCAyMDE3IiAibGliY3VybCA3LjcwLjAiICJjdXJsX2Vhc3lfc2V0b3B0IG9wdGlvbnMiCisuVEggQ1VSTE9QVF9QUk9YWVRZUEUgMyAiTWF5IDMwLCAyMDE3IiAibGliY3VybCA3LjcxLjEiICJjdXJsX2Vhc3lfc2V0b3B0IG9wdGlvbnMiCiAKIC5TSCBOQU1FCiBDVVJMT1BUX1BST1hZVFlQRSBcLSBwcm94eSBwcm90b2NvbCB0eXBlCmRpZmYgLS1naXQgYS9kb2NzL2xpYmN1cmwvb3B0cy9DVVJMT1BUX1BST1hZVVNFUk5BTUUuMyBiL2RvY3MvbGliY3VybC9vcHRzL0NVUkxPUFRfUFJPWFlVU0VSTkFNRS4zCmluZGV4IDgyZmY2OGYuLjVlYzIwYzMgMTAwNjQ0Ci0tLSBhL2RvY3MvbGliY3VybC9vcHRzL0NVUkxPUFRfUFJPWFlVU0VSTkFNRS4zCisrKyBiL2RvY3MvbGliY3VybC9vcHRzL0NVUkxPUFRfUFJPWFlVU0VSTkFNRS4zCkBAIC0yMCw3ICsyMCw3IEBACiAuXCIgKgogLlwiICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiAuXCIKLS5USCBDVVJMT1BUX1BST1hZVVNFUk5BTUUgMyAiTWF5IDMwLCAyMDE3IiAibGliY3VybCA3LjcwLjAiICJjdXJsX2Vhc3lfc2V0b3B0IG9wdGlvbnMiCisuVEggQ1VSTE9QVF9QUk9YWVVTRVJOQU1FIDMgIkp1bmUgMjUsIDIwMjAiICJsaWJjdXJsIDcuNzEuMSIgImN1cmxfZWFzeV9zZXRvcHQgb3B0aW9ucyIKIAogLlNIIE5BTUUKIENVUkxPUFRfUFJPWFlVU0VSTkFNRSBcLSB1c2VyIG5hbWUgdG8gdXNlIGZvciBwcm94eSBhdXRoZW50aWNhdGlvbgpAQCAtMzEsNyArMzEsNyBAQAogQ1VSTGNvZGUgY3VybF9lYXN5X3NldG9wdChDVVJMICpoYW5kbGUsIENVUkxPUFRfUFJPWFlVU0VSTkFNRSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgY2hhciAqdXNlcm5hbWUpOwogLlNIIERFU0NSSVBUSU9OCi1QYXNzIGEgY2hhciAqIGFzIHBhcmFtZXRlciwgd2hpY2ggc2hvdWxkIGJlIHBvaW50aW5nIHRvIHRoZSB6ZXJvIHRlcm1pbmF0ZWQKK1Bhc3MgYSBjaGFyICogYXMgcGFyYW1ldGVyLCB3aGljaCBzaG91bGQgYmUgcG9pbnRpbmcgdG8gdGhlIG51bGwtdGVybWluYXRlZAogdXNlciBuYW1lIHRvIHVzZSBmb3IgdGhlIHRyYW5zZmVyLgogCiBcZklDVVJMT1BUX1BST1hZVVNFUk5BTUUoMylcZlAgc2V0cyB0aGUgdXNlciBuYW1lIHRvIGJlIHVzZWQgaW4gcHJvdG9jb2wKZGlmZiAtLWdpdCBhL2RvY3MvbGliY3VybC9vcHRzL0NVUkxPUFRfUFJPWFlVU0VSUFdELjMgYi9kb2NzL2xpYmN1cmwvb3B0cy9DVVJMT1BUX1BST1hZVVNFUlBXRC4zCmluZGV4IGZlY2ZjNTguLjVmMTg5OTYgMTAwNjQ0Ci0tLSBhL2RvY3MvbGliY3VybC9vcHRzL0NVUkxPUFRfUFJPWFlVU0VSUFdELjMKKysrIGIvZG9jcy9saWJjdXJsL29wdHMvQ1VSTE9QVF9QUk9YWVVTRVJQV0QuMwpAQCAtMjAsNyArMjAsNyBAQAogLlwiICoKIC5cIiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogLlwiCi0uVEggQ1VSTE9QVF9QUk9YWVVTRVJQV0QgMyAiTWF5IDMwLCAyMDE3IiAibGliY3VybCA3LjcwLjAiICJjdXJsX2Vhc3lfc2V0b3B0IG9wdGlvbnMiCisuVEggQ1VSTE9QVF9QUk9YWVVTRVJQV0QgMyAiTWF5IDMwLCAyMDE3IiAibGliY3VybCA3LjcxLjEiICJjdXJsX2Vhc3lfc2V0b3B0IG9wdGlvbnMiCiAKIC5TSCBOQU1FCiBDVVJMT1BUX1BST1hZVVNFUlBXRCBcLSB1c2VyIG5hbWUgYW5kIHBhc3N3b3JkIHRvIHVzZSBmb3IgcHJveHkgYXV0aGVudGljYXRpb24KZGlmZiAtLWdpdCBhL2RvY3MvbGliY3VybC9vcHRzL0NVUkxPUFRfUFJPWFlfQ0FJTkZPLjMgYi9kb2NzL2xpYmN1cmwvb3B0cy9DVVJMT1BUX1BST1hZX0NBSU5GTy4zCmluZGV4IGQwNzU5MTQuLjE1ZDYzM2MgMTAwNjQ0Ci0tLSBhL2RvY3MvbGliY3VybC9vcHRzL0NVUkxPUFRfUFJPWFlfQ0FJTkZPLjMKKysrIGIvZG9jcy9saWJjdXJsL29wdHMvQ1VSTE9QVF9QUk9YWV9DQUlORk8uMwpAQCAtMjAsNyArMjAsNyBAQAogLlwiICoKIC5cIiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogLlwiCi0uVEggQ1VSTE9QVF9QUk9YWV9DQUlORk8gMyAiTWFyY2ggMjMsIDIwMjAiICJsaWJjdXJsIDcuNzAuMCIgImN1cmxfZWFzeV9zZXRvcHQgb3B0aW9ucyIKKy5USCBDVVJMT1BUX1BST1hZX0NBSU5GTyAzICJKdW5lIDI1LCAyMDIwIiAibGliY3VybCA3LjcxLjEiICJjdXJsX2Vhc3lfc2V0b3B0IG9wdGlvbnMiCiAKIC5TSCBOQU1FCiBDVVJMT1BUX1BST1hZX0NBSU5GTyBcLSBwYXRoIHRvIHByb3h5IENlcnRpZmljYXRlIEF1dGhvcml0eSAoQ0EpIGJ1bmRsZQpAQCAtMzEsNyArMzEsNyBAQAogLlNIIERFU0NSSVBUSU9OCiBUaGlzIG9wdGlvbiBpcyBmb3IgY29ubmVjdGluZyB0byBhbiBIVFRQUyBwcm94eSwgbm90IGFuIEhUVFBTIHNlcnZlci4KIAotUGFzcyBhIGNoYXIgKiB0byBhIHplcm8gdGVybWluYXRlZCBzdHJpbmcgbmFtaW5nIGEgZmlsZSBob2xkaW5nIG9uZSBvciBtb3JlCitQYXNzIGEgY2hhciAqIHRvIGEgbnVsbC10ZXJtaW5hdGVkIHN0cmluZyBuYW1pbmcgYSBmaWxlIGhvbGRpbmcgb25lIG9yIG1vcmUKIGNlcnRpZmljYXRlcyB0byB2ZXJpZnkgdGhlIEhUVFBTIHByb3h5IHdpdGguCiAKIElmIFxmSUNVUkxPUFRfUFJPWFlfU1NMX1ZFUklGWVBFRVIoMylcZlAgaXMgemVybyBhbmQgeW91IGF2b2lkIHZlcmlmeWluZyB0aGUKZGlmZiAtLWdpdCBhL2RvY3MvbGliY3VybC9vcHRzL0NVUkxPUFRfUFJPWFlfQ0FQQVRILjMgYi9kb2NzL2xpYmN1cmwvb3B0cy9DVVJMT1BUX1BST1hZX0NBUEFUSC4zCmluZGV4IDg1NDE4YzkuLmYwYWU1ZGQgMTAwNjQ0Ci0tLSBhL2RvY3MvbGliY3VybC9vcHRzL0NVUkxPUFRfUFJPWFlfQ0FQQVRILjMKKysrIGIvZG9jcy9saWJjdXJsL29wdHMvQ1VSTE9QVF9QUk9YWV9DQVBBVEguMwpAQCAtMjAsNyArMjAsNyBAQAogLlwiICoKIC5cIiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogLlwiCi0uVEggQ1VSTE9QVF9QUk9YWV9DQVBBVEggMyAiTWF5IDE1LCAyMDE5IiAibGliY3VybCA3LjcwLjAiICJjdXJsX2Vhc3lfc2V0b3B0IG9wdGlvbnMiCisuVEggQ1VSTE9QVF9QUk9YWV9DQVBBVEggMyAiSnVuZSAyNSwgMjAyMCIgImxpYmN1cmwgNy43MS4xIiAiY3VybF9lYXN5X3NldG9wdCBvcHRpb25zIgogCiAuU0ggTkFNRQogQ1VSTE9QVF9QUk9YWV9DQVBBVEggXC0gc3BlY2lmeSBkaXJlY3RvcnkgaG9sZGluZyBwcm94eSBDQSBjZXJ0aWZpY2F0ZXMKQEAgLTI5LDcgKzI5LDcgQEAKIAogQ1VSTGNvZGUgY3VybF9lYXN5X3NldG9wdChDVVJMICpoYW5kbGUsIENVUkxPUFRfUFJPWFlfQ0FQQVRILCBjaGFyICpjYXBhdGgpOwogLlNIIERFU0NSSVBUSU9OCi1QYXNzIGEgY2hhciAqIHRvIGEgemVybyB0ZXJtaW5hdGVkIHN0cmluZyBuYW1pbmcgYSBkaXJlY3RvcnkgaG9sZGluZyBtdWx0aXBsZQorUGFzcyBhIGNoYXIgKiB0byBhIG51bGwtdGVybWluYXRlZCBzdHJpbmcgbmFtaW5nIGEgZGlyZWN0b3J5IGhvbGRpbmcgbXVsdGlwbGUKIENBIGNlcnRpZmljYXRlcyB0byB2ZXJpZnkgdGhlIEhUVFBTIHByb3h5IHdpdGguIElmIGxpYmN1cmwgaXMgYnVpbHQgYWdhaW5zdAogT3BlblNTTCwgdGhlIGNlcnRpZmljYXRlIGRpcmVjdG9yeSBtdXN0IGJlIHByZXBhcmVkIHVzaW5nIHRoZSBvcGVuc3NsIGNfcmVoYXNoCiB1dGlsaXR5LiBUaGlzIG1ha2VzIHNlbnNlIG9ubHkgd2hlbiBcZklDVVJMT1BUX1BST1hZX1NTTF9WRVJJRllQRUVSKDMpXGZQIGlzCmRpZmYgLS1naXQgYS9kb2NzL2xpYmN1cmwvb3B0cy9DVVJMT1BUX1BST1hZX0NSTEZJTEUuMyBiL2RvY3MvbGliY3VybC9vcHRzL0NVUkxPUFRfUFJPWFlfQ1JMRklMRS4zCmluZGV4IGJhMTUwZjIuLmFjYzFhMGYgMTAwNjQ0Ci0tLSBhL2RvY3MvbGliY3VybC9vcHRzL0NVUkxPUFRfUFJPWFlfQ1JMRklMRS4zCisrKyBiL2RvY3MvbGliY3VybC9vcHRzL0NVUkxPUFRfUFJPWFlfQ1JMRklMRS4zCkBAIC0yMCw3ICsyMCw3IEBACiAuXCIgKgogLlwiICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiAuXCIKLS5USCBDVVJMT1BUX1BST1hZX0NSTEZJTEUgMyAiTWFyY2ggMjMsIDIwMjAiICJsaWJjdXJsIDcuNzAuMCIgImN1cmxfZWFzeV9zZXRvcHQgb3B0aW9ucyIKKy5USCBDVVJMT1BUX1BST1hZX0NSTEZJTEUgMyAiSnVuZSAyNSwgMjAyMCIgImxpYmN1cmwgNy43MS4xIiAiY3VybF9lYXN5X3NldG9wdCBvcHRpb25zIgogCiAuU0ggTkFNRQogQ1VSTE9QVF9QUk9YWV9DUkxGSUxFIFwtIHNwZWNpZnkgYSBwcm94eSBDZXJ0aWZpY2F0ZSBSZXZvY2F0aW9uIExpc3QgZmlsZQpAQCAtMzEsNyArMzEsNyBAQAogLlNIIERFU0NSSVBUSU9OCiBUaGlzIG9wdGlvbiBpcyBmb3IgY29ubmVjdGluZyB0byBhbiBIVFRQUyBwcm94eSwgbm90IGFuIEhUVFBTIHNlcnZlci4KIAotUGFzcyBhIGNoYXIgKiB0byBhIHplcm8gdGVybWluYXRlZCBzdHJpbmcgbmFtaW5nIGEgXGZJZmlsZVxmUCB3aXRoIHRoZQorUGFzcyBhIGNoYXIgKiB0byBhIG51bGwtdGVybWluYXRlZCBzdHJpbmcgbmFtaW5nIGEgXGZJZmlsZVxmUCB3aXRoIHRoZQogY29uY2F0ZW5hdGlvbiBvZiBDUkwgKGluIFBFTSBmb3JtYXQpIHRvIHVzZSBpbiB0aGUgY2VydGlmaWNhdGUgdmFsaWRhdGlvbiB0aGF0CiBvY2N1cnMgZHVyaW5nIHRoZSBTU0wgZXhjaGFuZ2UuCiAKZGlmZiAtLWdpdCBhL2RvY3MvbGliY3VybC9vcHRzL0NVUkxPUFRfUFJPWFlfSVNTVUVSQ0VSVC4zIGIvZG9jcy9saWJjdXJsL29wdHMvQ1VSTE9QVF9QUk9YWV9JU1NVRVJDRVJULjMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uM2YyZDg4YwotLS0gL2Rldi9udWxsCisrKyBiL2RvY3MvbGliY3VybC9vcHRzL0NVUkxPUFRfUFJPWFlfSVNTVUVSQ0VSVC4zCkBAIC0wLDAgKzEsNzQgQEAKKy5cIiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorLlwiICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXyAgIF8gX19fXyAgXworLlwiICogIFByb2plY3QgICAgICAgICAgICAgICAgICAgICBfX198IHwgfCB8ICBfIFx8IHwKKy5cIiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvIF9ffCB8IHwgfCB8XykgfCB8CisuXCIgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICB8IChfX3wgfF98IHwgIF8gPHwgfF9fXworLlwiICogICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxfX198XF9fXy98X3wgXF9cX19fX198CisuXCIgKgorLlwiICogQ29weXJpZ2h0IChDKSAxOTk4IC0gMjAyMCwgRGFuaWVsIFN0ZW5iZXJnLCA8ZGFuaWVsQGhheHguc2U+LCBldCBhbC4KKy5cIiAqCisuXCIgKiBUaGlzIHNvZnR3YXJlIGlzIGxpY2Vuc2VkIGFzIGRlc2NyaWJlZCBpbiB0aGUgZmlsZSBDT1BZSU5HLCB3aGljaAorLlwiICogeW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGFzIHBhcnQgb2YgdGhpcyBkaXN0cmlidXRpb24uIFRoZSB0ZXJtcworLlwiICogYXJlIGFsc28gYXZhaWxhYmxlIGF0IGh0dHBzOi8vY3VybC5oYXh4LnNlL2RvY3MvY29weXJpZ2h0Lmh0bWwuCisuXCIgKgorLlwiICogWW91IG1heSBvcHQgdG8gdXNlLCBjb3B5LCBtb2RpZnksIG1lcmdlLCBwdWJsaXNoLCBkaXN0cmlidXRlIGFuZC9vciBzZWxsCisuXCIgKiBjb3BpZXMgb2YgdGhlIFNvZnR3YXJlLCBhbmQgcGVybWl0IHBlcnNvbnMgdG8gd2hvbSB0aGUgU29mdHdhcmUgaXMKKy5cIiAqIGZ1cm5pc2hlZCB0byBkbyBzbywgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBDT1BZSU5HIGZpbGUuCisuXCIgKgorLlwiICogVGhpcyBzb2Z0d2FyZSBpcyBkaXN0cmlidXRlZCBvbiBhbiAiQVMgSVMiIGJhc2lzLCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFOWQorLlwiICogS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC4KKy5cIiAqCisuXCIgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKy5cIgorLlRIIENVUkxPUFRfUFJPWFlfSVNTVUVSQ0VSVCAzICJKdW5lIDI1LCAyMDIwIiAibGliY3VybCA3LjcxLjEiICJjdXJsX2Vhc3lfc2V0b3B0IG9wdGlvbnMiCisKKy5TSCBOQU1FCitDVVJMT1BUX1BST1hZX0lTU1VFUkNFUlQgXC0gcHJveHkgaXNzdWVyIFNTTCBjZXJ0aWZpY2F0ZSBmaWxlbmFtZQorLlNIIFNZTk9QU0lTCisjaW5jbHVkZSA8Y3VybC9jdXJsLmg+CisKK0NVUkxjb2RlIGN1cmxfZWFzeV9zZXRvcHQoQ1VSTCAqaGFuZGxlLCBDVVJMT1BUX1BST1hZX0lTU1VFUkNFUlQsIGNoYXIgKmZpbGUpOworLlNIIERFU0NSSVBUSU9OCitQYXNzIGEgY2hhciAqIHRvIGEgbnVsbC10ZXJtaW5hdGVkIHN0cmluZyBuYW1pbmcgYSBcZklmaWxlXGZQIGhvbGRpbmcgYSBDQQorY2VydGlmaWNhdGUgaW4gUEVNIGZvcm1hdC4gSWYgdGhlIG9wdGlvbiBpcyBzZXQsIGFuIGFkZGl0aW9uYWwgY2hlY2sgYWdhaW5zdAordGhlIHBlZXIgY2VydGlmaWNhdGUgaXMgcGVyZm9ybWVkIHRvIHZlcmlmeSB0aGUgaXNzdWVyIG9mIHRoZSB0aGUgSFRUUFMgcHJveHkKK2lzIGluZGVlZCB0aGUgb25lIGFzc29jaWF0ZWQgd2l0aCB0aGUgY2VydGlmaWNhdGUgcHJvdmlkZWQgYnkgdGhlIG9wdGlvbi4KK1RoaXMgYWRkaXRpb25hbCBjaGVjayBpcyB1c2VmdWwgaW4gbXVsdGktbGV2ZWwgUEtJIHdoZXJlIG9uZSBuZWVkcyB0byBlbmZvcmNlCit0aGF0IHRoZSBwZWVyIGNlcnRpZmljYXRlIGlzIGZyb20gYSBzcGVjaWZpYyBicmFuY2ggb2YgdGhlIHRyZWUuCisKK1RoaXMgb3B0aW9uIG1ha2VzIHNlbnNlIG9ubHkgd2hlbiB1c2VkIGluIGNvbWJpbmF0aW9uIHdpdGggdGhlCitcZklDVVJMT1BUX1BST1hZX1NTTF9WRVJJRllQRUVSKDMpXGZQIG9wdGlvbi4gT3RoZXJ3aXNlLCB0aGUgcmVzdWx0IG9mIHRoZQorY2hlY2sgaXMgbm90IGNvbnNpZGVyZWQgYXMgZmFpbHVyZS4KKworQSBzcGVjaWZpYyBlcnJvciBjb2RlIChDVVJMRV9TU0xfSVNTVUVSX0VSUk9SKSBpcyBkZWZpbmVkIHdpdGggdGhlIG9wdGlvbiwKK3doaWNoIGlzIHJldHVybmVkIGlmIHRoZSBzZXR1cCBvZiB0aGUgU1NML1RMUyBzZXNzaW9uIGhhcyBmYWlsZWQgZHVlIHRvIGEKK21pc21hdGNoIHdpdGggdGhlIGlzc3VlciBvZiBwZWVyIGNlcnRpZmljYXRlCisoXGZJQ1VSTE9QVF9QUk9YWV9TU0xfVkVSSUZZUEVFUigzKVxmUCBoYXMgdG8gYmUgc2V0IHRvbyBmb3IgdGhlIGNoZWNrIHRvCitmYWlsKS4KKworVGhlIGFwcGxpY2F0aW9uIGRvZXMgbm90IGhhdmUgdG8ga2VlcCB0aGUgc3RyaW5nIGFyb3VuZCBhZnRlciBzZXR0aW5nIHRoaXMKK29wdGlvbi4KKy5TSCBERUZBVUxUCitOVUxMCisuU0ggUFJPVE9DT0xTCitBbGwgVExTLWJhc2VkIHByb3RvY29scworLlNIIEVYQU1QTEUKKy5uZgorQ1VSTCAqY3VybCA9IGN1cmxfZWFzeV9pbml0KCk7CitpZihjdXJsKSB7CisgIGN1cmxfZWFzeV9zZXRvcHQoY3VybCwgQ1VSTE9QVF9VUkwsICJodHRwczovL2V4YW1wbGUuY29tLyIpOworICAvKiB1c2luZyBhbiBIVFRQUyBwcm94eSAqLworICBjdXJsX2Vhc3lfc2V0b3B0KGN1cmwsIENVUkxPUFRfUFJPWFksICJodHRwczovL2xvY2FsaG9zdDo0NDMiKTsKKyAgY3VybF9lYXN5X3NldG9wdChjdXJsLCBDVVJMT1BUX1BST1hZX0lTU1VFUkNFUlQsICIvZXRjL2NlcnRzL2NhY2VydC5wZW0iKTsKKyAgcmV0ID0gY3VybF9lYXN5X3BlcmZvcm0oY3VybCk7CisgIGN1cmxfZWFzeV9jbGVhbnVwKGN1cmwpOworfQorLmZpCisuU0ggQVZBSUxBQklMSVRZCitBZGRlZCBpbiBsaWJjdXJsIDcuNzEuMC4gVGhpcyBvcHRpb24gaXMgc3VwcG9ydGVkIGJ5IHRoZSBPcGVuU1NMIGJhY2tlbmRzLgorLlNIIFJFVFVSTiBWQUxVRQorUmV0dXJucyBDVVJMRV9PSyBpZiB0aGUgb3B0aW9uIGlzIHN1cHBvcnRlZCwgQ1VSTEVfVU5LTk9XTl9PUFRJT04gaWYgbm90LCBvcgorQ1VSTEVfT1VUX09GX01FTU9SWSBpZiB0aGVyZSB3YXMgaW5zdWZmaWNpZW50IGhlYXAgc3BhY2UuCisuU0ggIlNFRSBBTFNPIgorLkJSIENVUkxPUFRfUFJPWFlfU1NMX1ZFUklGWVBFRVIgIigzKSwgIiBDVVJMT1BUX1BST1hZX1NTTF9WRVJJRllIT1NUICIoMyksICIKKy5CUiBDVVJMT1BUX1NTTF9WRVJJRllQRUVSICIoMyksICIgQ1VSTE9QVF9TU0xfVkVSSUZZSE9TVCAiKDMpLCAiCmRpZmYgLS1naXQgYS9kb2NzL2xpYmN1cmwvb3B0cy9DVVJMT1BUX1BST1hZX0lTU1VFUkNFUlRfQkxPQi4zIGIvZG9jcy9saWJjdXJsL29wdHMvQ1VSTE9QVF9QUk9YWV9JU1NVRVJDRVJUX0JMT0IuMwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi44NTdmZmZkCi0tLSAvZGV2L251bGwKKysrIGIvZG9jcy9saWJjdXJsL29wdHMvQ1VSTE9QVF9QUk9YWV9JU1NVRVJDRVJUX0JMT0IuMwpAQCAtMCwwICsxLDg1IEBACisuXCIgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKy5cIiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF8gICBfIF9fX18gIF8KKy5cIiAqICBQcm9qZWN0ICAgICAgICAgICAgICAgICAgICAgX19ffCB8IHwgfCAgXyBcfCB8CisuXCIgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyBfX3wgfCB8IHwgfF8pIHwgfAorLlwiICogICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAoX198IHxffCB8ICBfIDx8IHxfX18KKy5cIiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcX19ffFxfX18vfF98IFxfXF9fX19ffAorLlwiICoKKy5cIiAqIENvcHlyaWdodCAoQykgMTk5OCAtIDIwMjAsIERhbmllbCBTdGVuYmVyZywgPGRhbmllbEBoYXh4LnNlPiwgZXQgYWwuCisuXCIgKgorLlwiICogVGhpcyBzb2Z0d2FyZSBpcyBsaWNlbnNlZCBhcyBkZXNjcmliZWQgaW4gdGhlIGZpbGUgQ09QWUlORywgd2hpY2gKKy5cIiAqIHlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhcyBwYXJ0IG9mIHRoaXMgZGlzdHJpYnV0aW9uLiBUaGUgdGVybXMKKy5cIiAqIGFyZSBhbHNvIGF2YWlsYWJsZSBhdCBodHRwczovL2N1cmwuaGF4eC5zZS9kb2NzL2NvcHlyaWdodC5odG1sLgorLlwiICoKKy5cIiAqIFlvdSBtYXkgb3B0IHRvIHVzZSwgY29weSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlzaCwgZGlzdHJpYnV0ZSBhbmQvb3Igc2VsbAorLlwiICogY29waWVzIG9mIHRoZSBTb2Z0d2FyZSwgYW5kIHBlcm1pdCBwZXJzb25zIHRvIHdob20gdGhlIFNvZnR3YXJlIGlzCisuXCIgKiBmdXJuaXNoZWQgdG8gZG8gc28sIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgQ09QWUlORyBmaWxlLgorLlwiICoKKy5cIiAqIFRoaXMgc29mdHdhcmUgaXMgZGlzdHJpYnV0ZWQgb24gYW4gIkFTIElTIiBiYXNpcywgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkKKy5cIiAqIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuCisuXCIgKgorLlwiICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisuXCIKKy5USCBDVVJMT1BUX1BST1hZX0lTU1VFUkNFUlRfQkxPQiAzICIyNCBKdW4gMjAyMCIgImxpYmN1cmwgNy43MS4wIiAiY3VybF9lYXN5X3NldG9wdCBvcHRpb25zIgorLlNIIE5BTUUKK0NVUkxPUFRfSVNTVUVSQ0VSVF9CTE9CIFwtIHByb3h5IGlzc3VlciBTU0wgY2VydGlmaWNhdGUgZnJvbSBtZW1vcnkgYmxvYgorLlNIIFNZTk9QU0lTCisubmYKKyNpbmNsdWRlIDxjdXJsL2N1cmwuaD4KKworQ1VSTGNvZGUgY3VybF9lYXN5X3NldG9wdChDVVJMICpoYW5kbGUsIENVUkxPUFRfUFJPWFlfSVNTVUVSQ0VSVF9CTE9CLAorICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJ1Y3QgY3VybF9ibG9iICpibG9iKTsKKy5maQorLlNIIERFU0NSSVBUSU9OCitQYXNzIGEgcG9pbnRlciB0byBhIGN1cmxfYmxvYiBzdHJ1Y3QsIHdoaWNoIGNvbnRhaW5zIGluZm9ybWF0aW9uIChwb2ludGVyIGFuZAorc2l6ZSkgYWJvdXQgYSBtZW1vcnkgYmxvY2sgd2l0aCBiaW5hcnkgZGF0YSBvZiBhIENBIGNlcnRpZmljYXRlIGluIFBFTQorZm9ybWF0LiBJZiB0aGUgb3B0aW9uIGlzIHNldCwgYW4gYWRkaXRpb25hbCBjaGVjayBhZ2FpbnN0IHRoZSBwZWVyIGNlcnRpZmljYXRlCitpcyBwZXJmb3JtZWQgdG8gdmVyaWZ5IHRoZSBpc3N1ZXIgb2YgdGhlIHRoZSBIVFRQUyBwcm94eSBpcyBpbmRlZWQgdGhlIG9uZQorYXNzb2NpYXRlZCB3aXRoIHRoZSBjZXJ0aWZpY2F0ZSBwcm92aWRlZCBieSB0aGUgb3B0aW9uLiBUaGlzIGFkZGl0aW9uYWwgY2hlY2sKK2lzIHVzZWZ1bCBpbiBtdWx0aS1sZXZlbCBQS0kgd2hlcmUgb25lIG5lZWRzIHRvIGVuZm9yY2UgdGhhdCB0aGUgcGVlcgorY2VydGlmaWNhdGUgaXMgZnJvbSBhIHNwZWNpZmljIGJyYW5jaCBvZiB0aGUgdHJlZS4KKworVGhpcyBvcHRpb24gc2hvdWxkIGJlIHVzZWQgaW4gY29tYmluYXRpb24gd2l0aCB0aGUKK1xmSUNVUkxPUFRfUFJPWFlfU1NMX1ZFUklGWVBFRVIoMylcZlAgb3B0aW9uLiBPdGhlcndpc2UsIHRoZSByZXN1bHQgb2YgdGhlCitjaGVjayBpcyBub3QgY29uc2lkZXJlZCBhcyBmYWlsdXJlLgorCitBIHNwZWNpZmljIGVycm9yIGNvZGUgKENVUkxFX1NTTF9JU1NVRVJfRVJST1IpIGlzIGRlZmluZWQgd2l0aCB0aGUgb3B0aW9uLAord2hpY2ggaXMgcmV0dXJuZWQgaWYgdGhlIHNldHVwIG9mIHRoZSBTU0wvVExTIHNlc3Npb24gaGFzIGZhaWxlZCBkdWUgdG8gYQorbWlzbWF0Y2ggd2l0aCB0aGUgaXNzdWVyIG9mIHBlZXIgY2VydGlmaWNhdGUKKyhcZklDVVJMT1BUX1BST1hZX1NTTF9WRVJJRllQRUVSKDMpXGZQIGhhcyB0byBiZSBzZXQgdG9vIGZvciB0aGUgY2hlY2sgdG8KK2ZhaWwpLgorCitJZiB0aGUgYmxvYiBpcyBpbml0aWFsaXplZCB3aXRoIHRoZSBmbGFncyBtZW1iZXIgb2Ygc3RydWN0IGN1cmxfYmxvYiBzZXQgdG8KK0NVUkxfQkxPQl9DT1BZLCB0aGUgYXBwbGljYXRpb24gZG9lcyBub3QgaGF2ZSB0byBrZWVwIHRoZSBidWZmZXIgYXJvdW5kIGFmdGVyCitzZXR0aW5nIHRoaXMuCisKK1RoaXMgb3B0aW9uIGlzIGFuIGFsdGVybmF0aXZlIHRvIFxmSUNVUkxPUFRfUFJPWFlfSVNTVUVSQ0VSVCgzKVxmUCB3aGljaAoraW5zdGVhZCBleHBlY3RzIGEgZmlsZSBuYW1lIGFzIGlucHV0LgorLlNIIERFRkFVTFQKK05VTEwKKy5TSCBQUk9UT0NPTFMKK0FsbCBUTFMtYmFzZWQgcHJvdG9jb2xzCisuU0ggRVhBTVBMRQorLm5mCitDVVJMICpjdXJsID0gY3VybF9lYXN5X2luaXQoKTsKK2lmKGN1cmwpIHsKKyAgc3RydWN0IGN1cmxfYmxvYiBibG9iOworICBjdXJsX2Vhc3lfc2V0b3B0KGN1cmwsIENVUkxPUFRfVVJMLCAiaHR0cHM6Ly9leGFtcGxlLmNvbS8iKTsKKyAgLyogdXNpbmcgYW4gSFRUUFMgcHJveHkgKi8KKyAgY3VybF9lYXN5X3NldG9wdChjdXJsLCBDVVJMT1BUX1BST1hZLCAiaHR0cHM6Ly9sb2NhbGhvc3Q6NDQzIik7CisgIGJsb2IuZGF0YSA9IGNlcnRpZmljYXRlRGF0YTsKKyAgYmxvYi5sZW4gPSBmaWxlc2l6ZTsKKyAgYmxvYi5mbGFncyA9IENVUkxfQkxPQl9DT1BZOworICBjdXJsX2Vhc3lfc2V0b3B0KGN1cmwsIENVUkxPUFRfUFJPWFlfSVNTVUVSQ0VSVF9CTE9CLCAmYmxvYik7CisgIHJldCA9IGN1cmxfZWFzeV9wZXJmb3JtKGN1cmwpOworICBjdXJsX2Vhc3lfY2xlYW51cChjdXJsKTsKK30KKy5maQorLlNIIEFWQUlMQUJJTElUWQorQWRkZWQgaW4gbGliY3VybCA3LjcxLjAuIFRoaXMgb3B0aW9uIGlzIHN1cHBvcnRlZCBieSB0aGUgT3BlblNTTCBiYWNrZW5kcy4KKy5TSCBSRVRVUk4gVkFMVUUKK1JldHVybnMgQ1VSTEVfT0sgaWYgdGhlIG9wdGlvbiBpcyBzdXBwb3J0ZWQsIENVUkxFX1VOS05PV05fT1BUSU9OIGlmIG5vdCwgb3IKK0NVUkxFX09VVF9PRl9NRU1PUlkgaWYgdGhlcmUgd2FzIGluc3VmZmljaWVudCBoZWFwIHNwYWNlLgorLlNIICJTRUUgQUxTTyIKKy5CUiBDVVJMT1BUX1BST1hZX1NTTF9WRVJJRllQRUVSICIoMyksICIgQ1VSTE9QVF9QUk9YWV9TU0xfVkVSSUZZSE9TVCAiKDMpLCAiCisuQlIgQ1VSTE9QVF9TU0xfVkVSSUZZUEVFUiAiKDMpLCAiIENVUkxPUFRfU1NMX1ZFUklGWUhPU1QgIigzKSwgIgpkaWZmIC0tZ2l0IGEvZG9jcy9saWJjdXJsL29wdHMvQ1VSTE9QVF9QUk9YWV9LRVlQQVNTV0QuMyBiL2RvY3MvbGliY3VybC9vcHRzL0NVUkxPUFRfUFJPWFlfS0VZUEFTU1dELjMKaW5kZXggMTQ3ZmE1MC4uOTJkMzQwYyAxMDA2NDQKLS0tIGEvZG9jcy9saWJjdXJsL29wdHMvQ1VSTE9QVF9QUk9YWV9LRVlQQVNTV0QuMworKysgYi9kb2NzL2xpYmN1cmwvb3B0cy9DVVJMT1BUX1BST1hZX0tFWVBBU1NXRC4zCkBAIC0yMCw3ICsyMCw3IEBACiAuXCIgKgogLlwiICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiAuXCIKLS5USCBDVVJMT1BUX1BST1hZX0tFWVBBU1NXRCAzICJNYXJjaCAyMywgMjAyMCIgImxpYmN1cmwgNy43MC4wIiAiY3VybF9lYXN5X3NldG9wdCBvcHRpb25zIgorLlRIIENVUkxPUFRfUFJPWFlfS0VZUEFTU1dEIDMgIkp1bmUgMjUsIDIwMjAiICJsaWJjdXJsIDcuNzEuMSIgImN1cmxfZWFzeV9zZXRvcHQgb3B0aW9ucyIKIAogLlNIIE5BTUUKIENVUkxPUFRfUFJPWFlfS0VZUEFTU1dEIFwtIHNldCBwYXNzcGhyYXNlIHRvIHByb3h5IHByaXZhdGUga2V5CkBAIC0zMSw3ICszMSw3IEBACiAuU0ggREVTQ1JJUFRJT04KIFRoaXMgb3B0aW9uIGlzIGZvciBjb25uZWN0aW5nIHRvIGFuIEhUVFBTIHByb3h5LCBub3QgYW4gSFRUUFMgc2VydmVyLgogCi1QYXNzIGEgcG9pbnRlciB0byBhIHplcm8gdGVybWluYXRlZCBzdHJpbmcgYXMgcGFyYW1ldGVyLiBJdCB3aWxsIGJlIHVzZWQgYXMKK1Bhc3MgYSBwb2ludGVyIHRvIGEgbnVsbC10ZXJtaW5hdGVkIHN0cmluZyBhcyBwYXJhbWV0ZXIuIEl0IHdpbGwgYmUgdXNlZCBhcwogdGhlIHBhc3N3b3JkIHJlcXVpcmVkIHRvIHVzZSB0aGUgXGZJQ1VSTE9QVF9QUk9YWV9TU0xLRVkoMylcZlAgcHJpdmF0ZSBrZXkuCiBZb3UgbmV2ZXIgbmVlZGVkIGEgcGFzcyBwaHJhc2UgdG8gbG9hZCBhIGNlcnRpZmljYXRlIGJ1dCB5b3UgbmVlZCBvbmUgdG8gbG9hZAogeW91ciBwcml2YXRlIGtleS4KZGlmZiAtLWdpdCBhL2RvY3MvbGliY3VybC9vcHRzL0NVUkxPUFRfUFJPWFlfUElOTkVEUFVCTElDS0VZLjMgYi9kb2NzL2xpYmN1cmwvb3B0cy9DVVJMT1BUX1BST1hZX1BJTk5FRFBVQkxJQ0tFWS4zCmluZGV4IDk2NDdiNjguLjQ4MjEzM2MgMTAwNjQ0Ci0tLSBhL2RvY3MvbGliY3VybC9vcHRzL0NVUkxPUFRfUFJPWFlfUElOTkVEUFVCTElDS0VZLjMKKysrIGIvZG9jcy9saWJjdXJsL29wdHMvQ1VSTE9QVF9QUk9YWV9QSU5ORURQVUJMSUNLRVkuMwpAQCAtMjAsNyArMjAsNyBAQAogLlwiICoKIC5cIiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogLlwiCi0uVEggQ1VSTE9QVF9QUk9YWV9QSU5ORURQVUJMSUNLRVkgMyAiTWF5IDE1LCAyMDE5IiAibGliY3VybCA3LjcwLjAiICJjdXJsX2Vhc3lfc2V0b3B0IG9wdGlvbnMiCisuVEggQ1VSTE9QVF9QUk9YWV9QSU5ORURQVUJMSUNLRVkgMyAiSnVuZSAyNSwgMjAyMCIgImxpYmN1cmwgNy43MS4xIiAiY3VybF9lYXN5X3NldG9wdCBvcHRpb25zIgogCiAuU0ggTkFNRQogQ1VSTE9QVF9QUk9YWV9QSU5ORURQVUJMSUNLRVkgXC0gc2V0IHBpbm5lZCBwdWJsaWMga2V5IGZvciBodHRwcyBwcm94eQpAQCAtMjksNyArMjksNyBAQAogCiBDVVJMY29kZSBjdXJsX2Vhc3lfc2V0b3B0KENVUkwgKmhhbmRsZSwgQ1VSTE9QVF9QUk9YWV9QSU5ORURQVUJMSUNLRVksIGNoYXIgKnBpbm5lZHB1YmtleSk7CiAuU0ggREVTQ1JJUFRJT04KLVBhc3MgYSBwb2ludGVyIHRvIGEgemVybyB0ZXJtaW5hdGVkIHN0cmluZyBhcyBwYXJhbWV0ZXIuIFRoZSBzdHJpbmcgY2FuIGJlIHRoZQorUGFzcyBhIHBvaW50ZXIgdG8gYSBudWxsLXRlcm1pbmF0ZWQgc3RyaW5nIGFzIHBhcmFtZXRlci4gVGhlIHN0cmluZyBjYW4gYmUgdGhlCiBmaWxlIG5hbWUgb2YgeW91ciBwaW5uZWQgcHVibGljIGtleS4gVGhlIGZpbGUgZm9ybWF0IGV4cGVjdGVkIGlzICJQRU0iIG9yICJERVIiLgogVGhlIHN0cmluZyBjYW4gYWxzbyBiZSBhbnkgbnVtYmVyIG9mIGJhc2U2NCBlbmNvZGVkIHNoYTI1NiBoYXNoZXMgcHJlY2VkZWQgYnkKICJzaGEyNTYvLyIgYW5kIHNlcGFyYXRlZCBieSAiOyIKZGlmZiAtLWdpdCBhL2RvY3MvbGliY3VybC9vcHRzL0NVUkxPUFRfUFJPWFlfU0VSVklDRV9OQU1FLjMgYi9kb2NzL2xpYmN1cmwvb3B0cy9DVVJMT1BUX1BST1hZX1NFUlZJQ0VfTkFNRS4zCmluZGV4IDAxZGIzMzAuLmY4ZTZhMjEgMTAwNjQ0Ci0tLSBhL2RvY3MvbGliY3VybC9vcHRzL0NVUkxPUFRfUFJPWFlfU0VSVklDRV9OQU1FLjMKKysrIGIvZG9jcy9saWJjdXJsL29wdHMvQ1VSTE9QVF9QUk9YWV9TRVJWSUNFX05BTUUuMwpAQCAtMjAsNyArMjAsNyBAQAogLlwiICoKIC5cIiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogLlwiCi0uVEggQ1VSTE9QVF9QUk9YWV9TRVJWSUNFX05BTUUgMyAiTWF5IDMxLCAyMDE3IiAibGliY3VybCA3LjcwLjAiICJjdXJsX2Vhc3lfc2V0b3B0IG9wdGlvbnMiCisuVEggQ1VSTE9QVF9QUk9YWV9TRVJWSUNFX05BTUUgMyAiTWF5IDMxLCAyMDE3IiAibGliY3VybCA3LjcxLjEiICJjdXJsX2Vhc3lfc2V0b3B0IG9wdGlvbnMiCiAKIC5TSCBOQU1FCiBDVVJMT1BUX1BST1hZX1NFUlZJQ0VfTkFNRSBcLSBwcm94eSBhdXRoZW50aWNhdGlvbiBzZXJ2aWNlIG5hbWUKZGlmZiAtLWdpdCBhL2RvY3MvbGliY3VybC9vcHRzL0NVUkxPUFRfUFJPWFlfU1NMQ0VSVC4zIGIvZG9jcy9saWJjdXJsL29wdHMvQ1VSTE9QVF9QUk9YWV9TU0xDRVJULjMKaW5kZXggM2M2NjgyMS4uZDRjNjVmOCAxMDA2NDQKLS0tIGEvZG9jcy9saWJjdXJsL29wdHMvQ1VSTE9QVF9QUk9YWV9TU0xDRVJULjMKKysrIGIvZG9jcy9saWJjdXJsL29wdHMvQ1VSTE9QVF9QUk9YWV9TU0xDRVJULjMKQEAgLTIwLDcgKzIwLDcgQEAKIC5cIiAqCiAuXCIgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKIC5cIgotLlRIIENVUkxPUFRfUFJPWFlfU1NMQ0VSVCAzICJNYXJjaCAyMywgMjAyMCIgImxpYmN1cmwgNy43MC4wIiAiY3VybF9lYXN5X3NldG9wdCBvcHRpb25zIgorLlRIIENVUkxPUFRfUFJPWFlfU1NMQ0VSVCAzICJKdW5lIDI1LCAyMDIwIiAibGliY3VybCA3LjcxLjEiICJjdXJsX2Vhc3lfc2V0b3B0IG9wdGlvbnMiCiAKIC5TSCBOQU1FCiBDVVJMT1BUX1BST1hZX1NTTENFUlQgXC0gc2V0IFNTTCBwcm94eSBjbGllbnQgY2VydGlmaWNhdGUKQEAgLTMxLDcgKzMxLDcgQEAKIC5TSCBERVNDUklQVElPTgogVGhpcyBvcHRpb24gaXMgZm9yIGNvbm5lY3RpbmcgdG8gYW4gSFRUUFMgcHJveHksIG5vdCBhbiBIVFRQUyBzZXJ2ZXIuCiAKLVBhc3MgYSBwb2ludGVyIHRvIGEgemVybyB0ZXJtaW5hdGVkIHN0cmluZyBhcyBwYXJhbWV0ZXIuIFRoZSBzdHJpbmcgc2hvdWxkIGJlCitQYXNzIGEgcG9pbnRlciB0byBhIG51bGwtdGVybWluYXRlZCBzdHJpbmcgYXMgcGFyYW1ldGVyLiBUaGUgc3RyaW5nIHNob3VsZCBiZQogdGhlIGZpbGUgbmFtZSBvZiB5b3VyIGNsaWVudCBjZXJ0aWZpY2F0ZSB1c2VkIHRvIGNvbm5lY3QgdG8gdGhlIEhUVFBTIHByb3h5LgogVGhlIGRlZmF1bHQgZm9ybWF0IGlzICJQMTIiIG9uIFNlY3VyZSBUcmFuc3BvcnQgYW5kICJQRU0iIG9uIG90aGVyIGVuZ2luZXMsCiBhbmQgY2FuIGJlIGNoYW5nZWQgd2l0aCBcZklDVVJMT1BUX1BST1hZX1NTTENFUlRUWVBFKDMpXGZQLgpkaWZmIC0tZ2l0IGEvZG9jcy9saWJjdXJsL29wdHMvQ1VSTE9QVF9QUk9YWV9TU0xDRVJUVFlQRS4zIGIvZG9jcy9saWJjdXJsL29wdHMvQ1VSTE9QVF9QUk9YWV9TU0xDRVJUVFlQRS4zCmluZGV4IGMzMDI5NDEuLmEyM2ViNWYgMTAwNjQ0Ci0tLSBhL2RvY3MvbGliY3VybC9vcHRzL0NVUkxPUFRfUFJPWFlfU1NMQ0VSVFRZUEUuMworKysgYi9kb2NzL2xpYmN1cmwvb3B0cy9DVVJMT1BUX1BST1hZX1NTTENFUlRUWVBFLjMKQEAgLTIwLDcgKzIwLDcgQEAKIC5cIiAqCiAuXCIgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKIC5cIgotLlRIIENVUkxPUFRfUFJPWFlfU1NMQ0VSVFRZUEUgMyAiTWFyY2ggMjMsIDIwMjAiICJsaWJjdXJsIDcuNzAuMCIgImN1cmxfZWFzeV9zZXRvcHQgb3B0aW9ucyIKKy5USCBDVVJMT1BUX1BST1hZX1NTTENFUlRUWVBFIDMgIkp1bmUgMjUsIDIwMjAiICJsaWJjdXJsIDcuNzEuMSIgImN1cmxfZWFzeV9zZXRvcHQgb3B0aW9ucyIKIAogLlNIIE5BTUUKIENVUkxPUFRfUFJPWFlfU1NMQ0VSVFRZUEUgXC0gc3BlY2lmeSB0eXBlIG9mIHRoZSBwcm94eSBjbGllbnQgU1NMIGNlcnRpZmljYXRlCkBAIC0yOSw3ICsyOSw3IEBACiAKIENVUkxjb2RlIGN1cmxfZWFzeV9zZXRvcHQoQ1VSTCAqaGFuZGxlLCBDVVJMT1BUX1BST1hZX1NTTENFUlRUWVBFLCBjaGFyICp0eXBlKTsKIC5TSCBERVNDUklQVElPTgotUGFzcyBhIHBvaW50ZXIgdG8gYSB6ZXJvIHRlcm1pbmF0ZWQgc3RyaW5nIGFzIHBhcmFtZXRlci4gVGhlIHN0cmluZyBzaG91bGQgYmUKK1Bhc3MgYSBwb2ludGVyIHRvIGEgbnVsbC10ZXJtaW5hdGVkIHN0cmluZyBhcyBwYXJhbWV0ZXIuIFRoZSBzdHJpbmcgc2hvdWxkIGJlCiB0aGUgZm9ybWF0IG9mIHlvdXIgY2xpZW50IGNlcnRpZmljYXRlIHVzZWQgd2hlbiBjb25uZWN0aW5nIHRvIGFuIEhUVFBTIHByb3h5LgogCiBTdXBwb3J0ZWQgZm9ybWF0cyBhcmUgIlBFTSIgYW5kICJERVIiLCBleGNlcHQgd2l0aCBTZWN1cmUgVHJhbnNwb3J0LiBPcGVuU1NMCmRpZmYgLS1naXQgYS9kb2NzL2xpYmN1cmwvb3B0cy9DVVJMT1BUX1BST1hZX1NTTENFUlRfQkxPQi4zIGIvZG9jcy9saWJjdXJsL29wdHMvQ1VSTE9QVF9QUk9YWV9TU0xDRVJUX0JMT0IuMwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi44YjVhMTMzCi0tLSAvZGV2L251bGwKKysrIGIvZG9jcy9saWJjdXJsL29wdHMvQ1VSTE9QVF9QUk9YWV9TU0xDRVJUX0JMT0IuMwpAQCAtMCwwICsxLDcyIEBACisuXCIgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKy5cIiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF8gICBfIF9fX18gIF8KKy5cIiAqICBQcm9qZWN0ICAgICAgICAgICAgICAgICAgICAgX19ffCB8IHwgfCAgXyBcfCB8CisuXCIgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyBfX3wgfCB8IHwgfF8pIHwgfAorLlwiICogICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAoX198IHxffCB8ICBfIDx8IHxfX18KKy5cIiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcX19ffFxfX18vfF98IFxfXF9fX19ffAorLlwiICoKKy5cIiAqIENvcHlyaWdodCAoQykgMTk5OCAtIDIwMjAsIERhbmllbCBTdGVuYmVyZywgPGRhbmllbEBoYXh4LnNlPiwgZXQgYWwuCisuXCIgKgorLlwiICogVGhpcyBzb2Z0d2FyZSBpcyBsaWNlbnNlZCBhcyBkZXNjcmliZWQgaW4gdGhlIGZpbGUgQ09QWUlORywgd2hpY2gKKy5cIiAqIHlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhcyBwYXJ0IG9mIHRoaXMgZGlzdHJpYnV0aW9uLiBUaGUgdGVybXMKKy5cIiAqIGFyZSBhbHNvIGF2YWlsYWJsZSBhdCBodHRwczovL2N1cmwuaGF4eC5zZS9kb2NzL2NvcHlyaWdodC5odG1sLgorLlwiICoKKy5cIiAqIFlvdSBtYXkgb3B0IHRvIHVzZSwgY29weSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlzaCwgZGlzdHJpYnV0ZSBhbmQvb3Igc2VsbAorLlwiICogY29waWVzIG9mIHRoZSBTb2Z0d2FyZSwgYW5kIHBlcm1pdCBwZXJzb25zIHRvIHdob20gdGhlIFNvZnR3YXJlIGlzCisuXCIgKiBmdXJuaXNoZWQgdG8gZG8gc28sIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgQ09QWUlORyBmaWxlLgorLlwiICoKKy5cIiAqIFRoaXMgc29mdHdhcmUgaXMgZGlzdHJpYnV0ZWQgb24gYW4gIkFTIElTIiBiYXNpcywgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkKKy5cIiAqIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuCisuXCIgKgorLlwiICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisuXCIKKy5USCBDVVJMT1BUX1BST1hZX1NTTENFUlRfQkxPQiAzICIyNCBKdW4gMjAyMCIgImxpYmN1cmwgNy43MS4wIiAiY3VybF9lYXN5X3NldG9wdCBvcHRpb25zIgorLlNIIE5BTUUKK0NVUkxPUFRfUFJPWFlfU1NMQ0VSVF9CTE9CIFwtIFNTTCBwcm94eSBjbGllbnQgY2VydGlmaWNhdGUgZnJvbSBtZW1vcnkgYmxvYgorLlNIIFNZTk9QU0lTCisjaW5jbHVkZSA8Y3VybC9jdXJsLmg+CisKK0NVUkxjb2RlIGN1cmxfZWFzeV9zZXRvcHQoQ1VSTCAqaGFuZGxlLCBDVVJMT1BUX1BST1hZX1NTTENFUlRfQkxPQiwgc3RydWN0IGN1cmxfYmxvYiAqYmxvYik7CisuU0ggREVTQ1JJUFRJT04KK1Bhc3MgYSBwb2ludGVyIHRvIGEgY3VybF9ibG9iIHN0cnVjdHVyZSwgd2hpY2ggY29udGFpbnMgaW5mb3JtYXRpb24gKHBvaW50ZXIKK2FuZCBzaXplKSBhYm91dCBhIG1lbW9yeSBibG9jayB3aXRoIGJpbmFyeSBkYXRhIG9mIHRoZSBjZXJ0aWZpY2F0ZSB1c2VkIHRvCitjb25uZWN0IHRvIHRoZSBIVFRQUyBwcm94eS4gVGhlIGZvcm1hdCBtdXN0IGJlICJQMTIiIG9uIFNlY3VyZSBUcmFuc3BvcnQgb3IKK1NjaGFubmVsLiBUaGUgZm9ybWF0IG11c3QgYmUgIlAxMiIgb3IgIlBFTSIgb24gT3BlblNTTC4gIFRoZSBzdHJpbmcgIlAxMiIgb3IKKyJQRU0iIG11c3QgYmUgc3BlY2lmaWVkIHdpdGggXGZJQ1VSTE9QVF9QUk9YWV9TU0xDRVJUVFlQRSgzKVxmUC4KKworSWYgdGhlIGJsb2IgaXMgaW5pdGlhbGl6ZWQgd2l0aCB0aGUgZmxhZ3MgbWVtYmVyIG9mIHN0cnVjdCBjdXJsX2Jsb2Igc2V0IHRvCitDVVJMX0JMT0JfQ09QWSwgdGhlIGFwcGxpY2F0aW9uIGRvZXMgbm90IGhhdmUgdG8ga2VlcCB0aGUgYnVmZmVyIGFyb3VuZCBhZnRlcgorc2V0dGluZyB0aGlzLgorCitUaGlzIG9wdGlvbiBpcyBhbiBhbHRlcm5hdGl2ZSB0byBcZklDVVJMT1BUX1BST1hZX1NTTENFUlQoMylcZlAgd2hpY2ggaW5zdGVhZAorZXhwZWN0cyBhIGZpbGUgbmFtZSBhcyBpbnB1dC4KKy5TSCBERUZBVUxUCitOVUxMCisuU0ggUFJPVE9DT0xTCitBbGwgVExTIGJhc2VkIHByb3RvY29sczogSFRUUFMsIEZUUFMsIElNQVBTLCBQT1AzUywgU01UUFMgZXRjLgorLlNIIEVYQU1QTEUKKy5uZgorQ1VSTCAqY3VybCA9IGN1cmxfZWFzeV9pbml0KCk7CitpZihjdXJsKSB7CisgIHN0cnVjdCBjdXJsX2Jsb2IgYmxvYjsKKyAgYmxvYi5kYXRhID0gY2VydGlmaWNhdGVEYXRhOworICBibG9iLmxlbiA9IGZpbGVzaXplOworICBibG9iLmZsYWdzID0gQ1VSTF9CTE9CX0NPUFk7CisgIGN1cmxfZWFzeV9zZXRvcHQoY3VybCwgQ1VSTE9QVF9VUkwsICJodHRwczovL2V4YW1wbGUuY29tLyIpOworICBjdXJsX2Vhc3lfc2V0b3B0KGN1cmwsIENVUkxPUFRfUFJPWFksICJodHRwczovL3Byb3h5Iik7CisgIGN1cmxfZWFzeV9zZXRvcHQoY3VybCwgQ1VSTE9QVF9QUk9YWV9TU0xLRVksICJrZXkucGVtIik7CisgIGN1cmxfZWFzeV9zZXRvcHQoY3VybCwgQ1VSTE9QVF9QUk9YWV9LRVlQQVNTV0QsICJzM2NyZXQiKTsKKyAgY3VybF9lYXN5X3NldG9wdChjdXJsLCBDVVJMT1BUX1BST1hZX1NTTENFUlRfQkxPQiwgJmJsb2IpOworICByZXQgPSBjdXJsX2Vhc3lfcGVyZm9ybShjdXJsKTsKKyAgY3VybF9lYXN5X2NsZWFudXAoY3VybCk7Cit9CisuZmkKKy5TSCBBVkFJTEFCSUxJVFkKK0FkZGVkIGluIGxpYmN1cmwgNy43MS4wLiBUaGlzIG9wdGlvbiBpcyBzdXBwb3J0ZWQgYnkgdGhlIE9wZW5TU0wsIFNlY3VyZQorVHJhbnNwb3J0IGFuZCBTY2hhbm5lbCBiYWNrZW5kcy4KKy5TSCBSRVRVUk4gVkFMVUUKK1JldHVybnMgQ1VSTEVfT0sgaWYgVExTIGVuYWJsZWQsIENVUkxFX1VOS05PV05fT1BUSU9OIGlmIG5vdCwgb3IKK0NVUkxFX09VVF9PRl9NRU1PUlkgaWYgdGhlcmUgd2FzIGluc3VmZmljaWVudCBoZWFwIHNwYWNlLgorLlNIICJTRUUgQUxTTyIKKy5CUiBDVVJMT1BUX1BST1hZX1NTTENFUlRUWVBFICIoMyksICIgQ1VSTE9QVF9QUk9YWV9TU0xLRVkgIigzKSwgIgorLkJSIENVUkxPUFRfUFJPWFlfU1NMQ0VSVCAiKDMpLCAiCmRpZmYgLS1naXQgYS9kb2NzL2xpYmN1cmwvb3B0cy9DVVJMT1BUX1BST1hZX1NTTEtFWS4zIGIvZG9jcy9saWJjdXJsL29wdHMvQ1VSTE9QVF9QUk9YWV9TU0xLRVkuMwppbmRleCBhZDNhMDY2Li5iMTcyNzFlIDEwMDY0NAotLS0gYS9kb2NzL2xpYmN1cmwvb3B0cy9DVVJMT1BUX1BST1hZX1NTTEtFWS4zCisrKyBiL2RvY3MvbGliY3VybC9vcHRzL0NVUkxPUFRfUFJPWFlfU1NMS0VZLjMKQEAgLTIwLDcgKzIwLDcgQEAKIC5cIiAqCiAuXCIgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKIC5cIgotLlRIIENVUkxPUFRfUFJPWFlfU1NMS0VZIDMgIk1heSAzMSwgMjAxNyIgImxpYmN1cmwgNy43MC4wIiAiY3VybF9lYXN5X3NldG9wdCBvcHRpb25zIgorLlRIIENVUkxPUFRfUFJPWFlfU1NMS0VZIDMgIkp1bmUgMjUsIDIwMjAiICJsaWJjdXJsIDcuNzEuMSIgImN1cmxfZWFzeV9zZXRvcHQgb3B0aW9ucyIKIAogLlNIIE5BTUUKIENVUkxPUFRfUFJPWFlfU1NMS0VZIFwtIHNwZWNpZnkgcHJpdmF0ZSBrZXlmaWxlIGZvciBUTFMgYW5kIFNTTCBwcm94eSBjbGllbnQgY2VydApAQCAtMjksNyArMjksNyBAQAogCiBDVVJMY29kZSBjdXJsX2Vhc3lfc2V0b3B0KENVUkwgKmhhbmRsZSwgQ1VSTE9QVF9QUk9YWV9TU0xLRVksIGNoYXIgKmtleWZpbGUpOwogLlNIIERFU0NSSVBUSU9OCi1QYXNzIGEgcG9pbnRlciB0byBhIHplcm8gdGVybWluYXRlZCBzdHJpbmcgYXMgcGFyYW1ldGVyLiBUaGUgc3RyaW5nIHNob3VsZCBiZQorUGFzcyBhIHBvaW50ZXIgdG8gYSBudWxsLXRlcm1pbmF0ZWQgc3RyaW5nIGFzIHBhcmFtZXRlci4gVGhlIHN0cmluZyBzaG91bGQgYmUKIHRoZSBmaWxlIG5hbWUgb2YgeW91ciBwcml2YXRlIGtleSB1c2VkIGZvciBjb25uZWN0aW5nIHRvIHRoZSBIVFRQUyBwcm94eS4gVGhlCiBkZWZhdWx0IGZvcm1hdCBpcyAiUEVNIiBhbmQgY2FuIGJlIGNoYW5nZWQgd2l0aAogXGZJQ1VSTE9QVF9QUk9YWV9TU0xLRVlUWVBFKDMpXGZQLgpkaWZmIC0tZ2l0IGEvZG9jcy9saWJjdXJsL29wdHMvQ1VSTE9QVF9QUk9YWV9TU0xLRVlUWVBFLjMgYi9kb2NzL2xpYmN1cmwvb3B0cy9DVVJMT1BUX1BST1hZX1NTTEtFWVRZUEUuMwppbmRleCA3NTUwZjE5Li45MmUyZDFhIDEwMDY0NAotLS0gYS9kb2NzL2xpYmN1cmwvb3B0cy9DVVJMT1BUX1BST1hZX1NTTEtFWVRZUEUuMworKysgYi9kb2NzL2xpYmN1cmwvb3B0cy9DVVJMT1BUX1BST1hZX1NTTEtFWVRZUEUuMwpAQCAtMjAsNyArMjAsNyBAQAogLlwiICoKIC5cIiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogLlwiCi0uVEggQ1VSTE9QVF9QUk9YWV9TU0xLRVlUWVBFIDMgIk1hcmNoIDIzLCAyMDIwIiAibGliY3VybCA3LjcwLjAiICJjdXJsX2Vhc3lfc2V0b3B0IG9wdGlvbnMiCisuVEggQ1VSTE9QVF9QUk9YWV9TU0xLRVlUWVBFIDMgIkp1bmUgMjUsIDIwMjAiICJsaWJjdXJsIDcuNzEuMSIgImN1cmxfZWFzeV9zZXRvcHQgb3B0aW9ucyIKIAogLlNIIE5BTUUKIENVUkxPUFRfUFJPWFlfU1NMS0VZVFlQRSBcLSBzZXQgdHlwZSBvZiB0aGUgcHJveHkgcHJpdmF0ZSBrZXkgZmlsZQpAQCAtMzEsNyArMzEsNyBAQAogLlNIIERFU0NSSVBUSU9OCiBUaGlzIG9wdGlvbiBpcyBmb3IgY29ubmVjdGluZyB0byBhbiBIVFRQUyBwcm94eSwgbm90IGFuIEhUVFBTIHNlcnZlci4KIAotUGFzcyBhIHBvaW50ZXIgdG8gYSB6ZXJvIHRlcm1pbmF0ZWQgc3RyaW5nIGFzIHBhcmFtZXRlci4gVGhlIHN0cmluZyBzaG91bGQgYmUKK1Bhc3MgYSBwb2ludGVyIHRvIGEgbnVsbC10ZXJtaW5hdGVkIHN0cmluZyBhcyBwYXJhbWV0ZXIuIFRoZSBzdHJpbmcgc2hvdWxkIGJlCiB0aGUgZm9ybWF0IG9mIHlvdXIgcHJpdmF0ZSBrZXkuIFN1cHBvcnRlZCBmb3JtYXRzIGFyZSAiUEVNIiwgIkRFUiIgYW5kICJFTkciLgogCiBUaGUgYXBwbGljYXRpb24gZG9lcyBub3QgaGF2ZSB0byBrZWVwIHRoZSBzdHJpbmcgYXJvdW5kIGFmdGVyIHNldHRpbmcgdGhpcwpkaWZmIC0tZ2l0IGEvZG9jcy9saWJjdXJsL29wdHMvQ1VSTE9QVF9QUk9YWV9TU0xLRVlfQkxPQi4zIGIvZG9jcy9saWJjdXJsL29wdHMvQ1VSTE9QVF9QUk9YWV9TU0xLRVlfQkxPQi4zCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmRhYWZmMGQKLS0tIC9kZXYvbnVsbAorKysgYi9kb2NzL2xpYmN1cmwvb3B0cy9DVVJMT1BUX1BST1hZX1NTTEtFWV9CTE9CLjMKQEAgLTAsMCArMSw3MyBAQAorLlwiICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisuXCIgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBfICAgXyBfX19fICBfCisuXCIgKiAgUHJvamVjdCAgICAgICAgICAgICAgICAgICAgIF9fX3wgfCB8IHwgIF8gXHwgfAorLlwiICogICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8gX198IHwgfCB8IHxfKSB8IHwKKy5cIiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgKF9ffCB8X3wgfCAgXyA8fCB8X19fCisuXCIgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXF9fX3xcX19fL3xffCBcX1xfX19fX3wKKy5cIiAqCisuXCIgKiBDb3B5cmlnaHQgKEMpIDE5OTggLSAyMDIwLCBEYW5pZWwgU3RlbmJlcmcsIDxkYW5pZWxAaGF4eC5zZT4sIGV0IGFsLgorLlwiICoKKy5cIiAqIFRoaXMgc29mdHdhcmUgaXMgbGljZW5zZWQgYXMgZGVzY3JpYmVkIGluIHRoZSBmaWxlIENPUFlJTkcsIHdoaWNoCisuXCIgKiB5b3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYXMgcGFydCBvZiB0aGlzIGRpc3RyaWJ1dGlvbi4gVGhlIHRlcm1zCisuXCIgKiBhcmUgYWxzbyBhdmFpbGFibGUgYXQgaHR0cHM6Ly9jdXJsLmhheHguc2UvZG9jcy9jb3B5cmlnaHQuaHRtbC4KKy5cIiAqCisuXCIgKiBZb3UgbWF5IG9wdCB0byB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsIGRpc3RyaWJ1dGUgYW5kL29yIHNlbGwKKy5cIiAqIGNvcGllcyBvZiB0aGUgU29mdHdhcmUsIGFuZCBwZXJtaXQgcGVyc29ucyB0byB3aG9tIHRoZSBTb2Z0d2FyZSBpcworLlwiICogZnVybmlzaGVkIHRvIGRvIHNvLCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIENPUFlJTkcgZmlsZS4KKy5cIiAqCisuXCIgKiBUaGlzIHNvZnR3YXJlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuICJBUyBJUyIgYmFzaXMsIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZCisuXCIgKiBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLgorLlwiICoKKy5cIiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorLlwiCisuVEggQ1VSTE9QVF9QUk9YWV9TU0xLRVlfQkxPQiAzICIyNCBKdW4gMjAyMCIgImxpYmN1cmwgNy43MS4wIiAiY3VybF9lYXN5X3NldG9wdCBvcHRpb25zIgorLlNIIE5BTUUKK0NVUkxPUFRfUFJPWFlfU1NMS0VZX0JMT0IgXC0gcHJpdmF0ZSBrZXkgZm9yIHByb3h5IGNlcnQgZnJvbSBtZW1vcnkgYmxvYgorLlNIIFNZTk9QU0lTCisubmYKKyNpbmNsdWRlIDxjdXJsL2N1cmwuaD4KKworQ1VSTGNvZGUgY3VybF9lYXN5X3NldG9wdChDVVJMICpoYW5kbGUsIENVUkxPUFRfUFJPWFlfU1NMS0VZX0JMT0IsCisgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cnVjdCBjdXJsX2Jsb2IgKmJsb2IpOworLmZpCisuU0ggREVTQ1JJUFRJT04KK1Bhc3MgYSBwb2ludGVyIHRvIGEgY3VybF9ibG9iIHN0cnVjdHVyZSB0aGF0IGNvbnRhaW5zIGluZm9ybWF0aW9uIChwb2ludGVyIGFuZAorc2l6ZSkgYWJvdXQgdGhlIHByaXZhdGUga2V5IGZvciBjb25uZWN0aW5nIHRvIHRoZSBIVFRQUyBwcm94eS4gQ29tcGF0aWJsZSB3aXRoCitPcGVuU1NMLiBUaGUgZm9ybWF0IChsaWtlICJQRU0iKSBtdXN0IGJlIHNwZWNpZmllZCB3aXRoCitcZklDVVJMT1BUX1BST1hZX1NTTEtFWVRZUEUoMylcZlAuCisKK0lmIHRoZSBibG9iIGlzIGluaXRpYWxpemVkIHdpdGggdGhlIGZsYWdzIG1lbWJlciBvZiBzdHJ1Y3QgY3VybF9ibG9iIHNldCB0bworQ1VSTF9CTE9CX0NPUFksIHRoZSBhcHBsaWNhdGlvbiBkb2VzIG5vdCBoYXZlIHRvIGtlZXAgdGhlIGJ1ZmZlciBhcm91bmQgYWZ0ZXIKK3NldHRpbmcgdGhpcy4KKy5TSCBERUZBVUxUCitOVUxMCisuU0ggUFJPVE9DT0xTCitBbGwgVExTIGJhc2VkIHByb3RvY29sczogSFRUUFMsIEZUUFMsIElNQVBTLCBQT1AzUywgU01UUFMgZXRjLgorLlNIIEVYQU1QTEUKKy5uZgorQ1VSTCAqY3VybCA9IGN1cmxfZWFzeV9pbml0KCk7CitpZihjdXJsKSB7CisgIHN0cnVjdCBjdXJsX2Jsb2IgYmxvYjsKKyAgY3VybF9lYXN5X3NldG9wdChjdXJsLCBDVVJMT1BUX1VSTCwgImh0dHBzOi8vZXhhbXBsZS5jb20vIik7CisgIGN1cmxfZWFzeV9zZXRvcHQoY3VybCwgQ1VSTE9QVF9QUk9YWSwgImh0dHBzOi8vcHJveHkiKTsKKyAgYmxvYi5kYXRhID0gY2VydGlmaWNhdGVEYXRhOworICBibG9iLmxlbiA9IGZpbGVzaXplOworICBibG9iLmZsYWdzID0gQ1VSTF9CTE9CX0NPUFk7CisgIGN1cmxfZWFzeV9zZXRvcHQoY3VybCwgQ1VSTE9QVF9QUk9YWV9TU0xDRVJUX0JMT0IsICZibG9iKTsKKyAgY3VybF9lYXN5X3NldG9wdChjdXJsLCBDVVJMT1BUX1BST1hZX1NTTENFUlRUWVBFLCAiUEVNIik7CisKKyAgYmxvYi5kYXRhID0gcHJpdmF0ZUtleURhdGE7CisgIGJsb2IubGVuID0gcHJpdmF0ZUtleVNpemU7CisgIGN1cmxfZWFzeV9zZXRvcHQoY3VybCwgQ1VSTE9QVF9QUk9YWV9TU0xLRVlfQkxPQiwgJmJsb2IpOworICBjdXJsX2Vhc3lfc2V0b3B0KGN1cmwsIENVUkxPUFRfUFJPWFlfS0VZUEFTU1dELCAiczNjcmV0Iik7CisgIHJldCA9IGN1cmxfZWFzeV9wZXJmb3JtKGN1cmwpOworICBjdXJsX2Vhc3lfY2xlYW51cChjdXJsKTsKK30KKy5maQorLlNIIEFWQUlMQUJJTElUWQorQWRkZWQgaW4gbGliY3VybCA3LjcxLjAuIFRoaXMgb3B0aW9uIGlzIHN1cHBvcnRlZCBieSB0aGUgT3BlblNTTCBiYWNrZW5kcy4KKy5TSCBSRVRVUk4gVkFMVUUKK1JldHVybnMgQ1VSTEVfT0sgaWYgVExTIGVuYWJsZWQsIENVUkxFX1VOS05PV05fT1BUSU9OIGlmIG5vdCwgb3IKK0NVUkxFX09VVF9PRl9NRU1PUlkgaWYgdGhlcmUgd2FzIGluc3VmZmljaWVudCBoZWFwIHNwYWNlLgorLlNIICJTRUUgQUxTTyIKKy5CUiBDVVJMT1BUX1NTTEtFWVRZUEUgIigzKSwgIiBDVVJMT1BUX1NTTEtFWSAiKDMpLCAiCmRpZmYgLS1naXQgYS9kb2NzL2xpYmN1cmwvb3B0cy9DVVJMT1BUX1BST1hZX1NTTFZFUlNJT04uMyBiL2RvY3MvbGliY3VybC9vcHRzL0NVUkxPUFRfUFJPWFlfU1NMVkVSU0lPTi4zCmluZGV4IDE1ZjM4M2IuLjQ3ZTYzZjkgMTAwNjQ0Ci0tLSBhL2RvY3MvbGliY3VybC9vcHRzL0NVUkxPUFRfUFJPWFlfU1NMVkVSU0lPTi4zCisrKyBiL2RvY3MvbGliY3VybC9vcHRzL0NVUkxPUFRfUFJPWFlfU1NMVkVSU0lPTi4zCkBAIC0yMCw3ICsyMCw3IEBACiAuXCIgKgogLlwiICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiAuXCIKLS5USCBDVVJMT1BUX1BST1hZX1NTTFZFUlNJT04gMyAiT2N0b2JlciAzMSwgMjAxOSIgImxpYmN1cmwgNy43MC4wIiAiY3VybF9lYXN5X3NldG9wdCBvcHRpb25zIgorLlRIIENVUkxPUFRfUFJPWFlfU1NMVkVSU0lPTiAzICJPY3RvYmVyIDMxLCAyMDE5IiAibGliY3VybCA3LjcxLjEiICJjdXJsX2Vhc3lfc2V0b3B0IG9wdGlvbnMiCiAKIC5TSCBOQU1FCiBDVVJMT1BUX1BST1hZX1NTTFZFUlNJT04gXC0gc2V0IHByZWZlcnJlZCBwcm94eSBUTFMvU1NMIHZlcnNpb24KZGlmZiAtLWdpdCBhL2RvY3MvbGliY3VybC9vcHRzL0NVUkxPUFRfUFJPWFlfU1NMX0NJUEhFUl9MSVNULjMgYi9kb2NzL2xpYmN1cmwvb3B0cy9DVVJMT1BUX1BST1hZX1NTTF9DSVBIRVJfTElTVC4zCmluZGV4IDQ5ZGI5OTguLjQzMzdkNzkgMTAwNjQ0Ci0tLSBhL2RvY3MvbGliY3VybC9vcHRzL0NVUkxPUFRfUFJPWFlfU1NMX0NJUEhFUl9MSVNULjMKKysrIGIvZG9jcy9saWJjdXJsL29wdHMvQ1VSTE9QVF9QUk9YWV9TU0xfQ0lQSEVSX0xJU1QuMwpAQCAtMjAsNyArMjAsNyBAQAogLlwiICoKIC5cIiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogLlwiCi0uVEggQ1VSTE9QVF9QUk9YWV9TU0xfQ0lQSEVSX0xJU1QgMyAiTWFyY2ggMjMsIDIwMjAiICJsaWJjdXJsIDcuNzAuMCIgImN1cmxfZWFzeV9zZXRvcHQgb3B0aW9ucyIKKy5USCBDVVJMT1BUX1BST1hZX1NTTF9DSVBIRVJfTElTVCAzICJKdW5lIDI1LCAyMDIwIiAibGliY3VybCA3LjcxLjEiICJjdXJsX2Vhc3lfc2V0b3B0IG9wdGlvbnMiCiAKIC5TSCBOQU1FCiBDVVJMT1BUX1BST1hZX1NTTF9DSVBIRVJfTElTVCBcLSBzcGVjaWZ5IGNpcGhlcnMgdG8gdXNlIGZvciBwcm94eSBUTFMKQEAgLTI5LDcgKzI5LDcgQEAKIAogQ1VSTGNvZGUgY3VybF9lYXN5X3NldG9wdChDVVJMICpoYW5kbGUsIENVUkxPUFRfUFJPWFlfU1NMX0NJUEhFUl9MSVNULCBjaGFyICpsaXN0KTsKIC5TSCBERVNDUklQVElPTgotUGFzcyBhIGNoYXIgKiwgcG9pbnRpbmcgdG8gYSB6ZXJvIHRlcm1pbmF0ZWQgc3RyaW5nIGhvbGRpbmcgdGhlIGxpc3Qgb2YKK1Bhc3MgYSBjaGFyICosIHBvaW50aW5nIHRvIGEgbnVsbC10ZXJtaW5hdGVkIHN0cmluZyBob2xkaW5nIHRoZSBsaXN0IG9mCiBjaXBoZXJzIHRvIHVzZSBmb3IgdGhlIGNvbm5lY3Rpb24gdG8gdGhlIEhUVFBTIHByb3h5LiBUaGUgbGlzdCBtdXN0IGJlCiBzeW50YWN0aWNhbGx5IGNvcnJlY3QsIGl0IGNvbnNpc3RzIG9mIG9uZSBvciBtb3JlIGNpcGhlciBzdHJpbmdzIHNlcGFyYXRlZCBieQogY29sb25zLiBDb21tYXMgb3Igc3BhY2VzIGFyZSBhbHNvIGFjY2VwdGFibGUgc2VwYXJhdG9ycyBidXQgY29sb25zIGFyZQpkaWZmIC0tZ2l0IGEvZG9jcy9saWJjdXJsL29wdHMvQ1VSTE9QVF9QUk9YWV9TU0xfT1BUSU9OUy4zIGIvZG9jcy9saWJjdXJsL29wdHMvQ1VSTE9QVF9QUk9YWV9TU0xfT1BUSU9OUy4zCmluZGV4IDVkZWYwOGMuLjQxNDRiNWMgMTAwNjQ0Ci0tLSBhL2RvY3MvbGliY3VybC9vcHRzL0NVUkxPUFRfUFJPWFlfU1NMX09QVElPTlMuMworKysgYi9kb2NzL2xpYmN1cmwvb3B0cy9DVVJMT1BUX1BST1hZX1NTTF9PUFRJT05TLjMKQEAgLTIwLDcgKzIwLDcgQEAKIC5cIiAqCiAuXCIgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKIC5cIgotLlRIIENVUkxPUFRfUFJPWFlfU1NMX09QVElPTlMgMyAiTWFyY2ggMjMsIDIwMjAiICJsaWJjdXJsIDcuNzAuMCIgImN1cmxfZWFzeV9zZXRvcHQgb3B0aW9ucyIKKy5USCBDVVJMT1BUX1BST1hZX1NTTF9PUFRJT05TIDMgIkp1bmUgMDksIDIwMjAiICJsaWJjdXJsIDcuNzEuMSIgImN1cmxfZWFzeV9zZXRvcHQgb3B0aW9ucyIKIAogLlNIIE5BTUUKIENVUkxPUFRfUFJPWFlfU1NMX09QVElPTlMgXC0gc2V0IHByb3h5IFNTTCBiZWhhdmlvciBvcHRpb25zCkBAIC00Myw3ICs0Myw3IEBACiBUZWxscyBsaWJjdXJsIHRvIGRpc2FibGUgY2VydGlmaWNhdGUgcmV2b2NhdGlvbiBjaGVja3MgZm9yIHRob3NlIFNTTCBiYWNrZW5kcwogd2hlcmUgc3VjaCBiZWhhdmlvciBpcyBwcmVzZW50LiBUaGlzIG9wdGlvbiBpcyBvbmx5IHN1cHBvcnRlZCBmb3IgU2NoYW5uZWwKICh0aGUgbmF0aXZlIFdpbmRvd3MgU1NMIGxpYnJhcnkpLCB3aXRoIGFuIGV4Y2VwdGlvbiBpbiB0aGUgY2FzZSBvZiBXaW5kb3dzJwotVW50cnVzdGVkIFB1Ymxpc2hlcnMgYmxhY2tsaXN0IHdoaWNoIGl0IHNlZW1zIGNhbid0IGJlIGJ5cGFzc2VkLiAoQWRkZWQgaW4KK1VudHJ1c3RlZCBQdWJsaXNoZXJzIGJsb2NrIGxpc3Qgd2hpY2ggaXQgc2VlbXMgY2FuJ3QgYmUgYnlwYXNzZWQuIChBZGRlZCBpbgogNy40NC4wKQogLklQIENVUkxTU0xPUFRfTk9fUEFSVElBTENIQUlOCiBUZWxscyBsaWJjdXJsIHRvIG5vdCBhY2NlcHQgInBhcnRpYWwiIGNlcnRpZmljYXRlIGNoYWlucywgd2hpY2ggaXQgb3RoZXJ3aXNlCmRpZmYgLS1naXQgYS9kb2NzL2xpYmN1cmwvb3B0cy9DVVJMT1BUX1BST1hZX1NTTF9WRVJJRllIT1NULjMgYi9kb2NzL2xpYmN1cmwvb3B0cy9DVVJMT1BUX1BST1hZX1NTTF9WRVJJRllIT1NULjMKaW5kZXggZGUyOTYyYS4uZGI3NTE1ZCAxMDA2NDQKLS0tIGEvZG9jcy9saWJjdXJsL29wdHMvQ1VSTE9QVF9QUk9YWV9TU0xfVkVSSUZZSE9TVC4zCisrKyBiL2RvY3MvbGliY3VybC9vcHRzL0NVUkxPUFRfUFJPWFlfU1NMX1ZFUklGWUhPU1QuMwpAQCAtMjAsNyArMjAsNyBAQAogLlwiICoKIC5cIiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogLlwiCi0uVEggQ1VSTE9QVF9QUk9YWV9TU0xfVkVSSUZZSE9TVCAzICJBdWd1c3QgMjAsIDIwMTkiICJsaWJjdXJsIDcuNzAuMCIgImN1cmxfZWFzeV9zZXRvcHQgb3B0aW9ucyIKKy5USCBDVVJMT1BUX1BST1hZX1NTTF9WRVJJRllIT1NUIDMgIkF1Z3VzdCAyMCwgMjAxOSIgImxpYmN1cmwgNy43MS4xIiAiY3VybF9lYXN5X3NldG9wdCBvcHRpb25zIgogCiAuU0ggTkFNRQogQ1VSTE9QVF9QUk9YWV9TU0xfVkVSSUZZSE9TVCBcLSB2ZXJpZnkgdGhlIHByb3h5IGNlcnRpZmljYXRlJ3MgbmFtZSBhZ2FpbnN0IGhvc3QKZGlmZiAtLWdpdCBhL2RvY3MvbGliY3VybC9vcHRzL0NVUkxPUFRfUFJPWFlfU1NMX1ZFUklGWVBFRVIuMyBiL2RvY3MvbGliY3VybC9vcHRzL0NVUkxPUFRfUFJPWFlfU1NMX1ZFUklGWVBFRVIuMwppbmRleCAzZmEzYjFlLi5iOTA3ODM5IDEwMDY0NAotLS0gYS9kb2NzL2xpYmN1cmwvb3B0cy9DVVJMT1BUX1BST1hZX1NTTF9WRVJJRllQRUVSLjMKKysrIGIvZG9jcy9saWJjdXJsL29wdHMvQ1VSTE9QVF9QUk9YWV9TU0xfVkVSSUZZUEVFUi4zCkBAIC0yMCw3ICsyMCw3IEBACiAuXCIgKgogLlwiICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiAuXCIKLS5USCBDVVJMT1BUX1BST1hZX1NTTF9WRVJJRllQRUVSIDMgIkRlY2VtYmVyIDE2LCAyMDE2IiAibGliY3VybCA3LjcwLjAiICJjdXJsX2Vhc3lfc2V0b3B0IG9wdGlvbnMiCisuVEggQ1VSTE9QVF9QUk9YWV9TU0xfVkVSSUZZUEVFUiAzICJEZWNlbWJlciAxNiwgMjAxNiIgImxpYmN1cmwgNy43MS4xIiAiY3VybF9lYXN5X3NldG9wdCBvcHRpb25zIgogCiAuU0ggTkFNRQogQ1VSTE9QVF9QUk9YWV9TU0xfVkVSSUZZUEVFUiBcLSB2ZXJpZnkgdGhlIHByb3h5J3MgU1NMIGNlcnRpZmljYXRlCmRpZmYgLS1naXQgYS9kb2NzL2xpYmN1cmwvb3B0cy9DVVJMT1BUX1BST1hZX1RMUzEzX0NJUEhFUlMuMyBiL2RvY3MvbGliY3VybC9vcHRzL0NVUkxPUFRfUFJPWFlfVExTMTNfQ0lQSEVSUy4zCmluZGV4IGM2ODQwNWEuLjM3NzVhOWIgMTAwNjQ0Ci0tLSBhL2RvY3MvbGliY3VybC9vcHRzL0NVUkxPUFRfUFJPWFlfVExTMTNfQ0lQSEVSUy4zCisrKyBiL2RvY3MvbGliY3VybC9vcHRzL0NVUkxPUFRfUFJPWFlfVExTMTNfQ0lQSEVSUy4zCkBAIC0yMCw3ICsyMCw3IEBACiAuXCIgKgogLlwiICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiAuXCIKLS5USCBDVVJMT1BUX1BST1hZX1RMUzEzX0NJUEhFUlMgMyAiT2N0b2JlciAzMSwgMjAxOSIgImxpYmN1cmwgNy43MC4wIiAiY3VybF9lYXN5X3NldG9wdCBvcHRpb25zIgorLlRIIENVUkxPUFRfUFJPWFlfVExTMTNfQ0lQSEVSUyAzICJKdW5lIDI1LCAyMDIwIiAibGliY3VybCA3LjcxLjEiICJjdXJsX2Vhc3lfc2V0b3B0IG9wdGlvbnMiCiAKIC5TSCBOQU1FCiBDVVJMT1BUX1BST1hZX1RMUzEzX0NJUEhFUlMgXC0gY2lwaGVycyBzdWl0ZXMgZm9yIHByb3h5IFRMUyAxLjMKQEAgLTI5LDcgKzI5LDcgQEAKIAogQ1VSTGNvZGUgY3VybF9lYXN5X3NldG9wdChDVVJMICpoYW5kbGUsIENVUkxPUFRfUFJPWFlfVExTMTNfQ0lQSEVSUywgY2hhciAqbGlzdCk7CiAuU0ggREVTQ1JJUFRJT04KLVBhc3MgYSBjaGFyICosIHBvaW50aW5nIHRvIGEgemVybyB0ZXJtaW5hdGVkIHN0cmluZyBob2xkaW5nIHRoZSBsaXN0IG9mIGNpcGhlcgorUGFzcyBhIGNoYXIgKiwgcG9pbnRpbmcgdG8gYSBudWxsLXRlcm1pbmF0ZWQgc3RyaW5nIGhvbGRpbmcgdGhlIGxpc3Qgb2YgY2lwaGVyCiBzdWl0ZXMgdG8gdXNlIGZvciB0aGUgVExTIDEuMyBjb25uZWN0aW9uIHRvIGEgcHJveHkuIFRoZSBsaXN0IG11c3QgYmUKIHN5bnRhY3RpY2FsbHkgY29ycmVjdCwgaXQgY29uc2lzdHMgb2Ygb25lIG9yIG1vcmUgY2lwaGVyIHN1aXRlIHN0cmluZ3MKIHNlcGFyYXRlZCBieSBjb2xvbnMuCmRpZmYgLS1naXQgYS9kb2NzL2xpYmN1cmwvb3B0cy9DVVJMT1BUX1BST1hZX1RMU0FVVEhfUEFTU1dPUkQuMyBiL2RvY3MvbGliY3VybC9vcHRzL0NVUkxPUFRfUFJPWFlfVExTQVVUSF9QQVNTV09SRC4zCmluZGV4IDNjMDQ2MmQuLmM4NTcyMjkgMTAwNjQ0Ci0tLSBhL2RvY3MvbGliY3VybC9vcHRzL0NVUkxPUFRfUFJPWFlfVExTQVVUSF9QQVNTV09SRC4zCisrKyBiL2RvY3MvbGliY3VybC9vcHRzL0NVUkxPUFRfUFJPWFlfVExTQVVUSF9QQVNTV09SRC4zCkBAIC0yMCw3ICsyMCw3IEBACiAuXCIgKgogLlwiICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiAuXCIKLS5USCBDVVJMT1BUX1BST1hZX1RMU0FVVEhfUEFTU1dPUkQgMyAiTWF5IDMxLCAyMDE3IiAibGliY3VybCA3LjcwLjAiICJjdXJsX2Vhc3lfc2V0b3B0IG9wdGlvbnMiCisuVEggQ1VSTE9QVF9QUk9YWV9UTFNBVVRIX1BBU1NXT1JEIDMgIkp1bmUgMjUsIDIwMjAiICJsaWJjdXJsIDcuNzEuMSIgImN1cmxfZWFzeV9zZXRvcHQgb3B0aW9ucyIKIAogLlNIIE5BTUUKIENVUkxPUFRfUFJPWFlfVExTQVVUSF9QQVNTV09SRCBcLSBwYXNzd29yZCB0byB1c2UgZm9yIHByb3h5IFRMUyBhdXRoZW50aWNhdGlvbgpAQCAtMjksNyArMjksNyBAQAogCiBDVVJMY29kZSBjdXJsX2Vhc3lfc2V0b3B0KENVUkwgKmhhbmRsZSwgQ1VSTE9QVF9QUk9YWV9UTFNBVVRIX1BBU1NXT1JELCBjaGFyICpwd2QpOwogLlNIIERFU0NSSVBUSU9OCi1QYXNzIGEgY2hhciAqIGFzIHBhcmFtZXRlciwgd2hpY2ggc2hvdWxkIHBvaW50IHRvIHRoZSB6ZXJvIHRlcm1pbmF0ZWQgcGFzc3dvcmQKK1Bhc3MgYSBjaGFyICogYXMgcGFyYW1ldGVyLCB3aGljaCBzaG91bGQgcG9pbnQgdG8gdGhlIG51bGwtdGVybWluYXRlZCBwYXNzd29yZAogdG8gdXNlIGZvciB0aGUgVExTIGF1dGhlbnRpY2F0aW9uIG1ldGhvZCBzcGVjaWZpZWQgd2l0aCB0aGUKIFxmSUNVUkxPUFRfUFJPWFlfVExTQVVUSF9UWVBFKDMpXGZQIG9wdGlvbi4gUmVxdWlyZXMgdGhhdCB0aGUKIFxmSUNVUkxPUFRfUFJPWFlfVExTQVVUSF9VU0VSTkFNRSgzKVxmUCBvcHRpb24gYWxzbyBiZSBzZXQuCmRpZmYgLS1naXQgYS9kb2NzL2xpYmN1cmwvb3B0cy9DVVJMT1BUX1BST1hZX1RMU0FVVEhfVFlQRS4zIGIvZG9jcy9saWJjdXJsL29wdHMvQ1VSTE9QVF9QUk9YWV9UTFNBVVRIX1RZUEUuMwppbmRleCBiYTA4ZDRkLi44NDRiNmE1IDEwMDY0NAotLS0gYS9kb2NzL2xpYmN1cmwvb3B0cy9DVVJMT1BUX1BST1hZX1RMU0FVVEhfVFlQRS4zCisrKyBiL2RvY3MvbGliY3VybC9vcHRzL0NVUkxPUFRfUFJPWFlfVExTQVVUSF9UWVBFLjMKQEAgLTIwLDcgKzIwLDcgQEAKIC5cIiAqCiAuXCIgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKIC5cIgotLlRIIENVUkxPUFRfUFJPWFlfVExTQVVUSF9UWVBFIDMgIk1heSAzMSwgMjAxNyIgImxpYmN1cmwgNy43MC4wIiAiY3VybF9lYXN5X3NldG9wdCBvcHRpb25zIgorLlRIIENVUkxPUFRfUFJPWFlfVExTQVVUSF9UWVBFIDMgIkp1bmUgMjUsIDIwMjAiICJsaWJjdXJsIDcuNzEuMSIgImN1cmxfZWFzeV9zZXRvcHQgb3B0aW9ucyIKIAogLlNIIE5BTUUKIENVUkxPUFRfUFJPWFlfVExTQVVUSF9UWVBFIFwtIHNldCBwcm94eSBUTFMgYXV0aGVudGljYXRpb24gbWV0aG9kcwpAQCAtMjksNyArMjksNyBAQAogCiBDVVJMY29kZSBjdXJsX2Vhc3lfc2V0b3B0KENVUkwgKmhhbmRsZSwgQ1VSTE9QVF9QUk9YWV9UTFNBVVRIX1RZUEUsIGNoYXIgKnR5cGUpOwogLlNIIERFU0NSSVBUSU9OCi1QYXNzIGEgcG9pbnRlciB0byBhIHplcm8gdGVybWluYXRlZCBzdHJpbmcgYXMgcGFyYW1ldGVyLiBUaGUgc3RyaW5nIHNob3VsZCBiZQorUGFzcyBhIHBvaW50ZXIgdG8gYSBudWxsLXRlcm1pbmF0ZWQgc3RyaW5nIGFzIHBhcmFtZXRlci4gVGhlIHN0cmluZyBzaG91bGQgYmUKIHRoZSBtZXRob2Qgb2YgdGhlIFRMUyBhdXRoZW50aWNhdGlvbiB1c2VkIGZvciB0aGUgSFRUUFMgY29ubmVjdGlvbi4gU3VwcG9ydGVkCiBtZXRob2QgaXMgIlNSUCIuCiAKZGlmZiAtLWdpdCBhL2RvY3MvbGliY3VybC9vcHRzL0NVUkxPUFRfUFJPWFlfVExTQVVUSF9VU0VSTkFNRS4zIGIvZG9jcy9saWJjdXJsL29wdHMvQ1VSTE9QVF9QUk9YWV9UTFNBVVRIX1VTRVJOQU1FLjMKaW5kZXggN2VhNzFhZi4uZWI4MjJiOCAxMDA2NDQKLS0tIGEvZG9jcy9saWJjdXJsL29wdHMvQ1VSTE9QVF9QUk9YWV9UTFNBVVRIX1VTRVJOQU1FLjMKKysrIGIvZG9jcy9saWJjdXJsL29wdHMvQ1VSTE9QVF9QUk9YWV9UTFNBVVRIX1VTRVJOQU1FLjMKQEAgLTIwLDcgKzIwLDcgQEAKIC5cIiAqCiAuXCIgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKIC5cIgotLlRIIENVUkxPUFRfUFJPWFlfVExTQVVUSF9VU0VSTkFNRSAzICJNYXkgMzEsIDIwMTciICJsaWJjdXJsIDcuNzAuMCIgImN1cmxfZWFzeV9zZXRvcHQgb3B0aW9ucyIKKy5USCBDVVJMT1BUX1BST1hZX1RMU0FVVEhfVVNFUk5BTUUgMyAiSnVuZSAyNSwgMjAyMCIgImxpYmN1cmwgNy43MS4xIiAiY3VybF9lYXN5X3NldG9wdCBvcHRpb25zIgogCiAuU0ggTkFNRQogQ1VSTE9QVF9QUk9YWV9UTFNBVVRIX1VTRVJOQU1FIFwtIHVzZXIgbmFtZSB0byB1c2UgZm9yIHByb3h5IFRMUyBhdXRoZW50aWNhdGlvbgpAQCAtMjksNyArMjksNyBAQAogCiBDVVJMY29kZSBjdXJsX2Vhc3lfc2V0b3B0KENVUkwgKmhhbmRsZSwgQ1VSTE9QVF9QUk9YWV9UTFNBVVRIX1VTRVJOQU1FLCBjaGFyICp1c2VyKTsKIC5TSCBERVNDUklQVElPTgotUGFzcyBhIGNoYXIgKiBhcyBwYXJhbWV0ZXIsIHdoaWNoIHNob3VsZCBwb2ludCB0byB0aGUgemVybyB0ZXJtaW5hdGVkIHVzZXJuYW1lCitQYXNzIGEgY2hhciAqIGFzIHBhcmFtZXRlciwgd2hpY2ggc2hvdWxkIHBvaW50IHRvIHRoZSBudWxsLXRlcm1pbmF0ZWQgdXNlcm5hbWUKIHRvIHVzZSBmb3IgdGhlIEhUVFBTIHByb3h5IFRMUyBhdXRoZW50aWNhdGlvbiBtZXRob2Qgc3BlY2lmaWVkIHdpdGggdGhlCiBcZklDVVJMT1BUX1BST1hZX1RMU0FVVEhfVFlQRSgzKVxmUCBvcHRpb24uIFJlcXVpcmVzIHRoYXQgdGhlCiBcZklDVVJMT1BUX1BST1hZX1RMU0FVVEhfUEFTU1dPUkQoMylcZlAgb3B0aW9uIGFsc28gYmUgc2V0LgpkaWZmIC0tZ2l0IGEvZG9jcy9saWJjdXJsL29wdHMvQ1VSTE9QVF9QUk9YWV9UUkFOU0ZFUl9NT0RFLjMgYi9kb2NzL2xpYmN1cmwvb3B0cy9DVVJMT1BUX1BST1hZX1RSQU5TRkVSX01PREUuMwppbmRleCBiNGY4ZDEzLi43OTk5MDBiIDEwMDY0NAotLS0gYS9kb2NzL2xpYmN1cmwvb3B0cy9DVVJMT1BUX1BST1hZX1RSQU5TRkVSX01PREUuMworKysgYi9kb2NzL2xpYmN1cmwvb3B0cy9DVVJMT1BUX1BST1hZX1RSQU5TRkVSX01PREUuMwpAQCAtMjAsNyArMjAsNyBAQAogLlwiICoKIC5cIiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogLlwiCi0uVEggQ1VSTE9QVF9QUk9YWV9UUkFOU0ZFUl9NT0RFIDMgIk1hcmNoIDIzLCAyMDIwIiAibGliY3VybCA3LjcwLjAiICJjdXJsX2Vhc3lfc2V0b3B0IG9wdGlvbnMiCisuVEggQ1VSTE9QVF9QUk9YWV9UUkFOU0ZFUl9NT0RFIDMgIk1hcmNoIDIzLCAyMDIwIiAibGliY3VybCA3LjcxLjEiICJjdXJsX2Vhc3lfc2V0b3B0IG9wdGlvbnMiCiAKIC5TSCBOQU1FCiBDVVJMT1BUX1BST1hZX1RSQU5TRkVSX01PREUgXC0gYXBwZW5kIEZUUCB0cmFuc2ZlciBtb2RlIHRvIFVSTCBmb3IgcHJveHkKZGlmZiAtLWdpdCBhL2RvY3MvbGliY3VybC9vcHRzL0NVUkxPUFRfUFVULjMgYi9kb2NzL2xpYmN1cmwvb3B0cy9DVVJMT1BUX1BVVC4zCmluZGV4IGRlZTE4NDkuLjVkZjcyNjcgMTAwNjQ0Ci0tLSBhL2RvY3MvbGliY3VybC9vcHRzL0NVUkxPUFRfUFVULjMKKysrIGIvZG9jcy9saWJjdXJsL29wdHMvQ1VSTE9QVF9QVVQuMwpAQCAtMjAsNyArMjAsNyBAQAogLlwiICoKIC5cIiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogLlwiCi0uVEggQ1VSTE9QVF9QVVQgMyAiTWFyY2ggMjMsIDIwMjAiICJsaWJjdXJsIDcuNzAuMCIgImN1cmxfZWFzeV9zZXRvcHQgb3B0aW9ucyIKKy5USCBDVVJMT1BUX1BVVCAzICJNYXJjaCAyMywgMjAyMCIgImxpYmN1cmwgNy43MS4xIiAiY3VybF9lYXN5X3NldG9wdCBvcHRpb25zIgogCiAuU0ggTkFNRQogQ1VSTE9QVF9QVVQgXC0gbWFrZSBhbiBIVFRQIFBVVCByZXF1ZXN0CmRpZmYgLS1naXQgYS9kb2NzL2xpYmN1cmwvb3B0cy9DVVJMT1BUX1FVT1RFLjMgYi9kb2NzL2xpYmN1cmwvb3B0cy9DVVJMT1BUX1FVT1RFLjMKaW5kZXggN2RkMDc0NS4uMDAwOTA1ZiAxMDA2NDQKLS0tIGEvZG9jcy9saWJjdXJsL29wdHMvQ1VSTE9QVF9RVU9URS4zCisrKyBiL2RvY3MvbGliY3VybC9vcHRzL0NVUkxPUFRfUVVPVEUuMwpAQCAtMjAsNyArMjAsNyBAQAogLlwiICoKIC5cIiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogLlwiCi0uVEggQ1VSTE9QVF9RVU9URSAzICJNYXJjaCAyMywgMjAyMCIgImxpYmN1cmwgNy43MC4wIiAiY3VybF9lYXN5X3NldG9wdCBvcHRpb25zIgorLlRIIENVUkxPUFRfUVVPVEUgMyAiTWFyY2ggMjMsIDIwMjAiICJsaWJjdXJsIDcuNzEuMSIgImN1cmxfZWFzeV9zZXRvcHQgb3B0aW9ucyIKIAogLlNIIE5BTUUKIENVUkxPUFRfUVVPVEUgXC0gKFMpRlRQIGNvbW1hbmRzIHRvIHJ1biBiZWZvcmUgdHJhbnNmZXIKZGlmZiAtLWdpdCBhL2RvY3MvbGliY3VybC9vcHRzL0NVUkxPUFRfUkFORE9NX0ZJTEUuMyBiL2RvY3MvbGliY3VybC9vcHRzL0NVUkxPUFRfUkFORE9NX0ZJTEUuMwppbmRleCAyMGY5OWM3Li41M2MxOWMxIDEwMDY0NAotLS0gYS9kb2NzL2xpYmN1cmwvb3B0cy9DVVJMT1BUX1JBTkRPTV9GSUxFLjMKKysrIGIvZG9jcy9saWJjdXJsL29wdHMvQ1VSTE9QVF9SQU5ET01fRklMRS4zCkBAIC0yMCw3ICsyMCw3IEBACiAuXCIgKgogLlwiICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiAuXCIKLS5USCBDVVJMT1BUX1JBTkRPTV9GSUxFIDMgIk1heSAzMSwgMjAxNyIgImxpYmN1cmwgNy43MC4wIiAiY3VybF9lYXN5X3NldG9wdCBvcHRpb25zIgorLlRIIENVUkxPUFRfUkFORE9NX0ZJTEUgMyAiSnVuZSAyNSwgMjAyMCIgImxpYmN1cmwgNy43MS4xIiAiY3VybF9lYXN5X3NldG9wdCBvcHRpb25zIgogCiAuU0ggTkFNRQogQ1VSTE9QVF9SQU5ET01fRklMRSBcLSBzcGVjaWZ5IGEgc291cmNlIGZvciByYW5kb20gZGF0YQpAQCAtMjksNyArMjksNyBAQAogCiBDVVJMY29kZSBjdXJsX2Vhc3lfc2V0b3B0KENVUkwgKmhhbmRsZSwgQ1VSTE9QVF9SQU5ET01fRklMRSwgY2hhciAqcGF0aCk7CiAuU0ggREVTQ1JJUFRJT04KLVBhc3MgYSBjaGFyICogdG8gYSB6ZXJvIHRlcm1pbmF0ZWQgZmlsZSBuYW1lLiBUaGUgZmlsZSBtaWdodCBiZSB1c2VkIHRvIHJlYWQKK1Bhc3MgYSBjaGFyICogdG8gYSBudWxsLXRlcm1pbmF0ZWQgZmlsZSBuYW1lLiBUaGUgZmlsZSBtaWdodCBiZSB1c2VkIHRvIHJlYWQKIGZyb20gdG8gc2VlZCB0aGUgcmFuZG9tIGVuZ2luZSBmb3IgU1NMIGFuZCBtb3JlLgogCiBUaGUgYXBwbGljYXRpb24gZG9lcyBub3QgaGF2ZSB0byBrZWVwIHRoZSBzdHJpbmcgYXJvdW5kIGFmdGVyIHNldHRpbmcgdGhpcwpkaWZmIC0tZ2l0IGEvZG9jcy9saWJjdXJsL29wdHMvQ1VSTE9QVF9SQU5HRS4zIGIvZG9jcy9saWJjdXJsL29wdHMvQ1VSTE9QVF9SQU5HRS4zCmluZGV4IDZkYzYxZmYuLjcxNmZkY2QgMTAwNjQ0Ci0tLSBhL2RvY3MvbGliY3VybC9vcHRzL0NVUkxPUFRfUkFOR0UuMworKysgYi9kb2NzL2xpYmN1cmwvb3B0cy9DVVJMT1BUX1JBTkdFLjMKQEAgLTIwLDcgKzIwLDcgQEAKIC5cIiAqCiAuXCIgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKIC5cIgotLlRIIENVUkxPUFRfUkFOR0UgMyAiT2N0b2JlciAzMSwgMjAxOSIgImxpYmN1cmwgNy43MC4wIiAiY3VybF9lYXN5X3NldG9wdCBvcHRpb25zIgorLlRIIENVUkxPUFRfUkFOR0UgMyAiT2N0b2JlciAzMSwgMjAxOSIgImxpYmN1cmwgNy43MS4xIiAiY3VybF9lYXN5X3NldG9wdCBvcHRpb25zIgogCiAuU0ggTkFNRQogQ1VSTE9QVF9SQU5HRSBcLSBzZXQgYnl0ZSByYW5nZSB0byByZXF1ZXN0CmRpZmYgLS1naXQgYS9kb2NzL2xpYmN1cmwvb3B0cy9DVVJMT1BUX1JFQUREQVRBLjMgYi9kb2NzL2xpYmN1cmwvb3B0cy9DVVJMT1BUX1JFQUREQVRBLjMKaW5kZXggMzk1MThlZC4uZTU1OGVjYyAxMDA2NDQKLS0tIGEvZG9jcy9saWJjdXJsL29wdHMvQ1VSTE9QVF9SRUFEREFUQS4zCisrKyBiL2RvY3MvbGliY3VybC9vcHRzL0NVUkxPUFRfUkVBRERBVEEuMwpAQCAtMjAsNyArMjAsNyBAQAogLlwiICoKIC5cIiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogLlwiCi0uVEggQ1VSTE9QVF9SRUFEREFUQSAzICJNYXJjaCAyMywgMjAyMCIgImxpYmN1cmwgNy43MC4wIiAiY3VybF9lYXN5X3NldG9wdCBvcHRpb25zIgorLlRIIENVUkxPUFRfUkVBRERBVEEgMyAiTWFyY2ggMjMsIDIwMjAiICJsaWJjdXJsIDcuNzEuMSIgImN1cmxfZWFzeV9zZXRvcHQgb3B0aW9ucyIKIAogLlNIIE5BTUUKIENVUkxPUFRfUkVBRERBVEEgXC0gY3VzdG9tIHBvaW50ZXIgcGFzc2VkIHRvIHRoZSByZWFkIGNhbGxiYWNrCmRpZmYgLS1naXQgYS9kb2NzL2xpYmN1cmwvb3B0cy9DVVJMT1BUX1JFQURGVU5DVElPTi4zIGIvZG9jcy9saWJjdXJsL29wdHMvQ1VSTE9QVF9SRUFERlVOQ1RJT04uMwppbmRleCA4OWNjZGZlLi4wODIwMmMzIDEwMDY0NAotLS0gYS9kb2NzL2xpYmN1cmwvb3B0cy9DVVJMT1BUX1JFQURGVU5DVElPTi4zCisrKyBiL2RvY3MvbGliY3VybC9vcHRzL0NVUkxPUFRfUkVBREZVTkNUSU9OLjMKQEAgLTIwLDcgKzIwLDcgQEAKIC5cIiAqCiAuXCIgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKIC5cIgotLlRIIENVUkxPUFRfUkVBREZVTkNUSU9OIDMgIk1hcmNoIDIzLCAyMDIwIiAibGliY3VybCA3LjcwLjAiICJjdXJsX2Vhc3lfc2V0b3B0IG9wdGlvbnMiCisuVEggQ1VSTE9QVF9SRUFERlVOQ1RJT04gMyAiSnVuZSAyNSwgMjAyMCIgImxpYmN1cmwgNy43MS4xIiAiY3VybF9lYXN5X3NldG9wdCBvcHRpb25zIgogCiAuU0ggTkFNRQogQ1VSTE9QVF9SRUFERlVOQ1RJT04gXC0gcmVhZCBjYWxsYmFjayBmb3IgZGF0YSB1cGxvYWRzCkBAIC02NSw2ICs2NSwxMSBAQAogSWYgeW91IHNldCB0aGlzIGNhbGxiYWNrIHBvaW50ZXIgdG8gTlVMTCwgb3IgZG9uJ3Qgc2V0IGl0IGF0IGFsbCwgdGhlIGRlZmF1bHQKIGludGVybmFsIHJlYWQgZnVuY3Rpb24gd2lsbCBiZSB1c2VkLiBJdCBpcyBkb2luZyBhbiBmcmVhZCgpIG9uIHRoZSBGSUxFICoKIHVzZXJkYXRhIHNldCB3aXRoIFxmSUNVUkxPUFRfUkVBRERBVEEoMylcZlAuCisKK1lvdSBjYW4gc2V0IHRoZSB0b3RhbCBzaXplIG9mIHRoZSBkYXRhIHlvdSBhcmUgc2VuZGluZyBieSB1c2luZworXGZJQ1VSTE9QVF9JTkZJTEVTSVpFX0xBUkdFKDMpXGZQIG9yIFxmSUNVUkxPUFRfUE9TVEZJRUxEU0laRV9MQVJHRSgzKVxmUCwKK2RlcGVuZGluZyBvbiB0aGUgdHlwZSBvZiB0cmFuc2Zlci4gRm9yIHNvbWUgdHJhbnNmZXIgdHlwZXMgaXQgbWF5IGJlIHJlcXVpcmVkCithbmQgaXQgYWxsb3dzIGZvciBiZXR0ZXIgZXJyb3IgY2hlY2tpbmcuCiAuU0ggREVGQVVMVAogVGhlIGRlZmF1bHQgaW50ZXJuYWwgcmVhZCBjYWxsYmFjayBpcyBmcmVhZCgpLgogLlNIIFBST1RPQ09MUwpkaWZmIC0tZ2l0IGEvZG9jcy9saWJjdXJsL29wdHMvQ1VSTE9QVF9SRURJUl9QUk9UT0NPTFMuMyBiL2RvY3MvbGliY3VybC9vcHRzL0NVUkxPUFRfUkVESVJfUFJPVE9DT0xTLjMKaW5kZXggYTIzOTVjYi4uMzkwMTJmOCAxMDA2NDQKLS0tIGEvZG9jcy9saWJjdXJsL29wdHMvQ1VSTE9QVF9SRURJUl9QUk9UT0NPTFMuMworKysgYi9kb2NzL2xpYmN1cmwvb3B0cy9DVVJMT1BUX1JFRElSX1BST1RPQ09MUy4zCkBAIC0yMCw3ICsyMCw3IEBACiAuXCIgKgogLlwiICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiAuXCIKLS5USCBDVVJMT1BUX1JFRElSX1BST1RPQ09MUyAzICJGZWJydWFyeSAxOCwgMjAyMCIgImxpYmN1cmwgNy43MC4wIiAiY3VybF9lYXN5X3NldG9wdCBvcHRpb25zIgorLlRIIENVUkxPUFRfUkVESVJfUFJPVE9DT0xTIDMgIkZlYnJ1YXJ5IDE4LCAyMDIwIiAibGliY3VybCA3LjcxLjEiICJjdXJsX2Vhc3lfc2V0b3B0IG9wdGlvbnMiCiAKIC5TSCBOQU1FCiBDVVJMT1BUX1JFRElSX1BST1RPQ09MUyBcLSBzZXQgcHJvdG9jb2xzIGFsbG93ZWQgdG8gcmVkaXJlY3QgdG8KZGlmZiAtLWdpdCBhL2RvY3MvbGliY3VybC9vcHRzL0NVUkxPUFRfUkVGRVJFUi4zIGIvZG9jcy9saWJjdXJsL29wdHMvQ1VSTE9QVF9SRUZFUkVSLjMKaW5kZXggY2RjZTZiMy4uMGNiY2Y5ZiAxMDA2NDQKLS0tIGEvZG9jcy9saWJjdXJsL29wdHMvQ1VSTE9QVF9SRUZFUkVSLjMKKysrIGIvZG9jcy9saWJjdXJsL29wdHMvQ1VSTE9QVF9SRUZFUkVSLjMKQEAgLTIwLDcgKzIwLDcgQEAKIC5cIiAqCiAuXCIgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKIC5cIgotLlRIIENVUkxPUFRfUkVGRVJFUiAzICJNYXJjaCAyMywgMjAyMCIgImxpYmN1cmwgNy43MC4wIiAiY3VybF9lYXN5X3NldG9wdCBvcHRpb25zIgorLlRIIENVUkxPUFRfUkVGRVJFUiAzICJKdW5lIDI1LCAyMDIwIiAibGliY3VybCA3LjcxLjEiICJjdXJsX2Vhc3lfc2V0b3B0IG9wdGlvbnMiCiAKIC5TSCBOQU1FCiBDVVJMT1BUX1JFRkVSRVIgXC0gc2V0IHRoZSBIVFRQIHJlZmVyZXIgaGVhZGVyCkBAIC0yOSw3ICsyOSw3IEBACiAKIENVUkxjb2RlIGN1cmxfZWFzeV9zZXRvcHQoQ1VSTCAqaGFuZGxlLCBDVVJMT1BUX1JFRkVSRVIsIGNoYXIgKndoZXJlKTsKIC5TSCBERVNDUklQVElPTgotUGFzcyBhIHBvaW50ZXIgdG8gYSB6ZXJvIHRlcm1pbmF0ZWQgc3RyaW5nIGFzIHBhcmFtZXRlci4gSXQgd2lsbCBiZSB1c2VkIHRvCitQYXNzIGEgcG9pbnRlciB0byBhIG51bGwtdGVybWluYXRlZCBzdHJpbmcgYXMgcGFyYW1ldGVyLiBJdCB3aWxsIGJlIHVzZWQgdG8KIHNldCB0aGUgUmVmZXJlcjogaGVhZGVyIGluIHRoZSBodHRwIHJlcXVlc3Qgc2VudCB0byB0aGUgcmVtb3RlIHNlcnZlci4gVGhpcwogY2FuIGJlIHVzZWQgdG8gZm9vbCBzZXJ2ZXJzIG9yIHNjcmlwdHMuIFlvdSBjYW4gYWxzbyBzZXQgYW55IGN1c3RvbSBoZWFkZXIKIHdpdGggXGZJQ1VSTE9QVF9IVFRQSEVBREVSKDMpXGZQLgpkaWZmIC0tZ2l0IGEvZG9jcy9saWJjdXJsL29wdHMvQ1VSTE9QVF9SRVFVRVNUX1RBUkdFVC4zIGIvZG9jcy9saWJjdXJsL29wdHMvQ1VSTE9QVF9SRVFVRVNUX1RBUkdFVC4zCmluZGV4IDVkNjA3NmIuLjIzMDM0ZDYgMTAwNjQ0Ci0tLSBhL2RvY3MvbGliY3VybC9vcHRzL0NVUkxPUFRfUkVRVUVTVF9UQVJHRVQuMworKysgYi9kb2NzL2xpYmN1cmwvb3B0cy9DVVJMT1BUX1JFUVVFU1RfVEFSR0VULjMKQEAgLTIwLDcgKzIwLDcgQEAKIC5cIiAqCiAuXCIgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKIC5cIgotLlRIIENVUkxPUFRfUkVRVUVTVF9UQVJHRVQgMyAiSnVuZSAyMSwgMjAxNyIgImxpYmN1cmwgNy43MC4wIiAiY3VybF9lYXN5X3NldG9wdCBvcHRpb25zIgorLlRIIENVUkxPUFRfUkVRVUVTVF9UQVJHRVQgMyAiSnVuZSAyMSwgMjAxNyIgImxpYmN1cmwgNy43MS4xIiAiY3VybF9lYXN5X3NldG9wdCBvcHRpb25zIgogCiAuU0ggTkFNRQogQ1VSTE9QVF9SRVFVRVNUX1RBUkdFVCBcLSBzcGVjaWZ5IGFuIGFsdGVybmF0aXZlIHRhcmdldCBmb3IgdGhpcyByZXF1ZXN0CmRpZmYgLS1naXQgYS9kb2NzL2xpYmN1cmwvb3B0cy9DVVJMT1BUX1JFU09MVkUuMyBiL2RvY3MvbGliY3VybC9vcHRzL0NVUkxPUFRfUkVTT0xWRS4zCmluZGV4IDBmOTM5ZDMuLjBiNmUyN2QgMTAwNjQ0Ci0tLSBhL2RvY3MvbGliY3VybC9vcHRzL0NVUkxPUFRfUkVTT0xWRS4zCisrKyBiL2RvY3MvbGliY3VybC9vcHRzL0NVUkxPUFRfUkVTT0xWRS4zCkBAIC0yMCw3ICsyMCw3IEBACiAuXCIgKgogLlwiICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiAuXCIKLS5USCBDVVJMT1BUX1JFU09MVkUgMyAiTWFyY2ggMjMsIDIwMjAiICJsaWJjdXJsIDcuNzAuMCIgImN1cmxfZWFzeV9zZXRvcHQgb3B0aW9ucyIKKy5USCBDVVJMT1BUX1JFU09MVkUgMyAiTWFyY2ggMjMsIDIwMjAiICJsaWJjdXJsIDcuNzEuMSIgImN1cmxfZWFzeV9zZXRvcHQgb3B0aW9ucyIKIAogLlNIIE5BTUUKIENVUkxPUFRfUkVTT0xWRSBcLSBwcm92aWRlIGN1c3RvbSBob3N0IG5hbWUgdG8gSVAgYWRkcmVzcyByZXNvbHZlcwpkaWZmIC0tZ2l0IGEvZG9jcy9saWJjdXJsL29wdHMvQ1VSTE9QVF9SRVNPTFZFUl9TVEFSVF9EQVRBLjMgYi9kb2NzL2xpYmN1cmwvb3B0cy9DVVJMT1BUX1JFU09MVkVSX1NUQVJUX0RBVEEuMwppbmRleCAwNThjNzM3Li5kYzVjOTA5IDEwMDY0NAotLS0gYS9kb2NzL2xpYmN1cmwvb3B0cy9DVVJMT1BUX1JFU09MVkVSX1NUQVJUX0RBVEEuMworKysgYi9kb2NzL2xpYmN1cmwvb3B0cy9DVVJMT1BUX1JFU09MVkVSX1NUQVJUX0RBVEEuMwpAQCAtMjAsNyArMjAsNyBAQAogLlwiICoKIC5cIiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogLlwiCi0uVEggQ1VSTE9QVF9SRVNPTFZFUl9TVEFSVF9EQVRBIDMgIkZlYnJ1YXJ5IDE0LCAyMDE4IiAibGliY3VybCA3LjcwLjAiICJjdXJsX2Vhc3lfc2V0b3B0IG9wdGlvbnMiCisuVEggQ1VSTE9QVF9SRVNPTFZFUl9TVEFSVF9EQVRBIDMgIkZlYnJ1YXJ5IDE0LCAyMDE4IiAibGliY3VybCA3LjcxLjEiICJjdXJsX2Vhc3lfc2V0b3B0IG9wdGlvbnMiCiAKIC5TSCBOQU1FCiBDVVJMT1BUX1JFU09MVkVSX1NUQVJUX0RBVEEgXC0gY3VzdG9tIHBvaW50ZXIgcGFzc2VkIHRvIHRoZSByZXNvbHZlciBzdGFydCBjYWxsYmFjawpkaWZmIC0tZ2l0IGEvZG9jcy9saWJjdXJsL29wdHMvQ1VSTE9QVF9SRVNPTFZFUl9TVEFSVF9GVU5DVElPTi4zIGIvZG9jcy9saWJjdXJsL29wdHMvQ1VSTE9QVF9SRVNPTFZFUl9TVEFSVF9GVU5DVElPTi4zCmluZGV4IDQ3MmM3NmQuLjBiMzA0YzUgMTAwNjQ0Ci0tLSBhL2RvY3MvbGliY3VybC9vcHRzL0NVUkxPUFRfUkVTT0xWRVJfU1RBUlRfRlVOQ1RJT04uMworKysgYi9kb2NzL2xpYmN1cmwvb3B0cy9DVVJMT1BUX1JFU09MVkVSX1NUQVJUX0ZVTkNUSU9OLjMKQEAgLTIwLDcgKzIwLDcgQEAKIC5cIiAqCiAuXCIgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKIC5cIgotLlRIIENVUkxPUFRfUkVTT0xWRVJfU1RBUlRfRlVOQ1RJT04gMyAiRmVicnVhcnkgMTQsIDIwMTgiICJsaWJjdXJsIDcuNzAuMCIgImN1cmxfZWFzeV9zZXRvcHQgb3B0aW9ucyIKKy5USCBDVVJMT1BUX1JFU09MVkVSX1NUQVJUX0ZVTkNUSU9OIDMgIkZlYnJ1YXJ5IDE0LCAyMDE4IiAibGliY3VybCA3LjcxLjEiICJjdXJsX2Vhc3lfc2V0b3B0IG9wdGlvbnMiCiAKIC5TSCBOQU1FCiBDVVJMT1BUX1JFU09MVkVSX1NUQVJUX0ZVTkNUSU9OIFwtIHNldCBjYWxsYmFjayB0byBiZSBjYWxsZWQgYmVmb3JlIGEgbmV3IHJlc29sdmUgcmVxdWVzdCBpcyBzdGFydGVkCmRpZmYgLS1naXQgYS9kb2NzL2xpYmN1cmwvb3B0cy9DVVJMT1BUX1JFU1VNRV9GUk9NLjMgYi9kb2NzL2xpYmN1cmwvb3B0cy9DVVJMT1BUX1JFU1VNRV9GUk9NLjMKaW5kZXggNTVlMjI5OC4uYjZkNDJjZSAxMDA2NDQKLS0tIGEvZG9jcy9saWJjdXJsL29wdHMvQ1VSTE9QVF9SRVNVTUVfRlJPTS4zCisrKyBiL2RvY3MvbGliY3VybC9vcHRzL0NVUkxPUFRfUkVTVU1FX0ZST00uMwpAQCAtMjAsNyArMjAsNyBAQAogLlwiICoKIC5cIiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogLlwiCi0uVEggQ1VSTE9QVF9SRVNVTUVfRlJPTSAzICJNYXJjaCAyMywgMjAyMCIgImxpYmN1cmwgNy43MC4wIiAiY3VybF9lYXN5X3NldG9wdCBvcHRpb25zIgorLlRIIENVUkxPUFRfUkVTVU1FX0ZST00gMyAiTWFyY2ggMjMsIDIwMjAiICJsaWJjdXJsIDcuNzEuMSIgImN1cmxfZWFzeV9zZXRvcHQgb3B0aW9ucyIKIAogLlNIIE5BTUUKIENVUkxPUFRfUkVTVU1FX0ZST00gXC0gc2V0IGEgcG9pbnQgdG8gcmVzdW1lIHRyYW5zZmVyIGZyb20KZGlmZiAtLWdpdCBhL2RvY3MvbGliY3VybC9vcHRzL0NVUkxPUFRfUkVTVU1FX0ZST01fTEFSR0UuMyBiL2RvY3MvbGliY3VybC9vcHRzL0NVUkxPUFRfUkVTVU1FX0ZST01fTEFSR0UuMwppbmRleCA0ZDM1OWMxLi43N2U0MGRkIDEwMDY0NAotLS0gYS9kb2NzL2xpYmN1cmwvb3B0cy9DVVJMT1BUX1JFU1VNRV9GUk9NX0xBUkdFLjMKKysrIGIvZG9jcy9saWJjdXJsL29wdHMvQ1VSTE9QVF9SRVNVTUVfRlJPTV9MQVJHRS4zCkBAIC0yMCw3ICsyMCw3IEBACiAuXCIgKgogLlwiICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiAuXCIKLS5USCBDVVJMT1BUX1JFU1VNRV9GUk9NX0xBUkdFIDMgIk1hcmNoIDIzLCAyMDIwIiAibGliY3VybCA3LjcwLjAiICJjdXJsX2Vhc3lfc2V0b3B0IG9wdGlvbnMiCisuVEggQ1VSTE9QVF9SRVNVTUVfRlJPTV9MQVJHRSAzICJNYXJjaCAyMywgMjAyMCIgImxpYmN1cmwgNy43MS4xIiAiY3VybF9lYXN5X3NldG9wdCBvcHRpb25zIgogCiAuU0ggTkFNRQogQ1VSTE9QVF9SRVNVTUVfRlJPTV9MQVJHRSBcLSBzZXQgYSBwb2ludCB0byByZXN1bWUgdHJhbnNmZXIgZnJvbQpkaWZmIC0tZ2l0IGEvZG9jcy9saWJjdXJsL29wdHMvQ1VSTE9QVF9SVFNQX0NMSUVOVF9DU0VRLjMgYi9kb2NzL2xpYmN1cmwvb3B0cy9DVVJMT1BUX1JUU1BfQ0xJRU5UX0NTRVEuMwppbmRleCAzYWM2ODQ1Li4zNzgxZWRhIDEwMDY0NAotLS0gYS9kb2NzL2xpYmN1cmwvb3B0cy9DVVJMT1BUX1JUU1BfQ0xJRU5UX0NTRVEuMworKysgYi9kb2NzL2xpYmN1cmwvb3B0cy9DVVJMT1BUX1JUU1BfQ0xJRU5UX0NTRVEuMwpAQCAtMjAsNyArMjAsNyBAQAogLlwiICoKIC5cIiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogLlwiCi0uVEggQ1VSTE9QVF9SVFNQX0NMSUVOVF9DU0VRIDMgIk1hcmNoIDIzLCAyMDIwIiAibGliY3VybCA3LjcwLjAiICJjdXJsX2Vhc3lfc2V0b3B0IG9wdGlvbnMiCisuVEggQ1VSTE9QVF9SVFNQX0NMSUVOVF9DU0VRIDMgIk1hcmNoIDIzLCAyMDIwIiAibGliY3VybCA3LjcxLjEiICJjdXJsX2Vhc3lfc2V0b3B0IG9wdGlvbnMiCiAKIC5TSCBOQU1FCiBDVVJMT1BUX1JUU1BfQ0xJRU5UX0NTRVEgXC0gc2V0IHRoZSBSVFNQIGNsaWVudCBDU0VRIG51bWJlcgpkaWZmIC0tZ2l0IGEvZG9jcy9saWJjdXJsL29wdHMvQ1VSTE9QVF9SVFNQX1JFUVVFU1QuMyBiL2RvY3MvbGliY3VybC9vcHRzL0NVUkxPUFRfUlRTUF9SRVFVRVNULjMKaW5kZXggNzVkNjdhYi4uNjE5YTRlNCAxMDA2NDQKLS0tIGEvZG9jcy9saWJjdXJsL29wdHMvQ1VSTE9QVF9SVFNQX1JFUVVFU1QuMworKysgYi9kb2NzL2xpYmN1cmwvb3B0cy9DVVJMT1BUX1JUU1BfUkVRVUVTVC4zCkBAIC0yMCw3ICsyMCw3IEBACiAuXCIgKgogLlwiICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiAuXCIKLS5USCBDVVJMT1BUX1JUU1BfUkVRVUVTVCAzICJKdWx5IDE2LCAyMDE5IiAibGliY3VybCA3LjcwLjAiICJjdXJsX2Vhc3lfc2V0b3B0IG9wdGlvbnMiCisuVEggQ1VSTE9QVF9SVFNQX1JFUVVFU1QgMyAiSnVseSAxNiwgMjAxOSIgImxpYmN1cmwgNy43MS4xIiAiY3VybF9lYXN5X3NldG9wdCBvcHRpb25zIgogCiAuU0ggTkFNRQogQ1VSTE9QVF9SVFNQX1JFUVVFU1QgXC0gc3BlY2lmeSBSVFNQIHJlcXVlc3QKZGlmZiAtLWdpdCBhL2RvY3MvbGliY3VybC9vcHRzL0NVUkxPUFRfUlRTUF9TRVJWRVJfQ1NFUS4zIGIvZG9jcy9saWJjdXJsL29wdHMvQ1VSTE9QVF9SVFNQX1NFUlZFUl9DU0VRLjMKaW5kZXggNTE0Y2M2Zi4uMzExYzNmMCAxMDA2NDQKLS0tIGEvZG9jcy9saWJjdXJsL29wdHMvQ1VSTE9QVF9SVFNQX1NFUlZFUl9DU0VRLjMKKysrIGIvZG9jcy9saWJjdXJsL29wdHMvQ1VSTE9QVF9SVFNQX1NFUlZFUl9DU0VRLjMKQEAgLTIwLDcgKzIwLDcgQEAKIC5cIiAqCiAuXCIgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKIC5cIgotLlRIIENVUkxPUFRfUlRTUF9TRVJWRVJfQ1NFUSAzICJNYXkgMzEsIDIwMTciICJsaWJjdXJsIDcuNzAuMCIgImN1cmxfZWFzeV9zZXRvcHQgb3B0aW9ucyIKKy5USCBDVVJMT1BUX1JUU1BfU0VSVkVSX0NTRVEgMyAiTWF5IDMxLCAyMDE3IiAibGliY3VybCA3LjcxLjEiICJjdXJsX2Vhc3lfc2V0b3B0IG9wdGlvbnMiCiAKIC5TSCBOQU1FCiBDVVJMT1BUX1JUU1BfU0VSVkVSX0NTRVEgXC0gc2V0IHRoZSBSVFNQIHNlcnZlciBDU0VRIG51bWJlcgpkaWZmIC0tZ2l0IGEvZG9jcy9saWJjdXJsL29wdHMvQ1VSTE9QVF9SVFNQX1NFU1NJT05fSUQuMyBiL2RvY3MvbGliY3VybC9vcHRzL0NVUkxPUFRfUlRTUF9TRVNTSU9OX0lELjMKaW5kZXggNWJhN2U2YS4uNzNjYzM5OCAxMDA2NDQKLS0tIGEvZG9jcy9saWJjdXJsL29wdHMvQ1VSTE9QVF9SVFNQX1NFU1NJT05fSUQuMworKysgYi9kb2NzL2xpYmN1cmwvb3B0cy9DVVJMT1BUX1JUU1BfU0VTU0lPTl9JRC4zCkBAIC0yMCw3ICsyMCw3IEBACiAuXCIgKgogLlwiICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiAuXCIKLS5USCBDVVJMT1BUX1JUU1BfU0VTU0lPTl9JRCAzICJNYXkgMzEsIDIwMTciICJsaWJjdXJsIDcuNzAuMCIgImN1cmxfZWFzeV9zZXRvcHQgb3B0aW9ucyIKKy5USCBDVVJMT1BUX1JUU1BfU0VTU0lPTl9JRCAzICJNYXkgMzEsIDIwMTciICJsaWJjdXJsIDcuNzEuMSIgImN1cmxfZWFzeV9zZXRvcHQgb3B0aW9ucyIKIAogLlNIIE5BTUUKIENVUkxPUFRfUlRTUF9TRVNTSU9OX0lEIFwtIHNldCBSVFNQIHNlc3Npb24gSUQKZGlmZiAtLWdpdCBhL2RvY3MvbGliY3VybC9vcHRzL0NVUkxPUFRfUlRTUF9TVFJFQU1fVVJJLjMgYi9kb2NzL2xpYmN1cmwvb3B0cy9DVVJMT1BUX1JUU1BfU1RSRUFNX1VSSS4zCmluZGV4IDU4NmFjNWUuLmJkZmU2MGEgMTAwNjQ0Ci0tLSBhL2RvY3MvbGliY3VybC9vcHRzL0NVUkxPUFRfUlRTUF9TVFJFQU1fVVJJLjMKKysrIGIvZG9jcy9saWJjdXJsL29wdHMvQ1VSTE9QVF9SVFNQX1NUUkVBTV9VUkkuMwpAQCAtMjAsNyArMjAsNyBAQAogLlwiICoKIC5cIiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogLlwiCi0uVEggQ1VSTE9QVF9SVFNQX1NUUkVBTV9VUkkgMyAiSnVseSAxNiwgMjAxOSIgImxpYmN1cmwgNy43MC4wIiAiY3VybF9lYXN5X3NldG9wdCBvcHRpb25zIgorLlRIIENVUkxPUFRfUlRTUF9TVFJFQU1fVVJJIDMgIkp1bHkgMTYsIDIwMTkiICJsaWJjdXJsIDcuNzEuMSIgImN1cmxfZWFzeV9zZXRvcHQgb3B0aW9ucyIKIAogLlNIIE5BTUUKIENVUkxPUFRfUlRTUF9TVFJFQU1fVVJJIFwtIHNldCBSVFNQIHN0cmVhbSBVUkkKZGlmZiAtLWdpdCBhL2RvY3MvbGliY3VybC9vcHRzL0NVUkxPUFRfUlRTUF9UUkFOU1BPUlQuMyBiL2RvY3MvbGliY3VybC9vcHRzL0NVUkxPUFRfUlRTUF9UUkFOU1BPUlQuMwppbmRleCAyNmQ0M2E3Li42ZjNmYzkwIDEwMDY0NAotLS0gYS9kb2NzL2xpYmN1cmwvb3B0cy9DVVJMT1BUX1JUU1BfVFJBTlNQT1JULjMKKysrIGIvZG9jcy9saWJjdXJsL29wdHMvQ1VSTE9QVF9SVFNQX1RSQU5TUE9SVC4zCkBAIC0yMCw3ICsyMCw3IEBACiAuXCIgKgogLlwiICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiAuXCIKLS5USCBDVVJMT1BUX1JUU1BfVFJBTlNQT1JUIDMgIk1heSAzMSwgMjAxNyIgImxpYmN1cmwgNy43MC4wIiAiY3VybF9lYXN5X3NldG9wdCBvcHRpb25zIgorLlRIIENVUkxPUFRfUlRTUF9UUkFOU1BPUlQgMyAiTWF5IDMxLCAyMDE3IiAibGliY3VybCA3LjcxLjEiICJjdXJsX2Vhc3lfc2V0b3B0IG9wdGlvbnMiCiAKIC5TSCBOQU1FCiBDVVJMT1BUX1JUU1BfVFJBTlNQT1JUIFwtIHNldCBSVFNQIFRyYW5zcG9ydDogaGVhZGVyCmRpZmYgLS1naXQgYS9kb2NzL2xpYmN1cmwvb3B0cy9DVVJMT1BUX1NBU0xfQVVUSFpJRC4zIGIvZG9jcy9saWJjdXJsL29wdHMvQ1VSTE9QVF9TQVNMX0FVVEhaSUQuMwppbmRleCA2NTQ0NTQ3Li5kYjZlYmU4IDEwMDY0NAotLS0gYS9kb2NzL2xpYmN1cmwvb3B0cy9DVVJMT1BUX1NBU0xfQVVUSFpJRC4zCisrKyBiL2RvY3MvbGliY3VybC9vcHRzL0NVUkxPUFRfU0FTTF9BVVRIWklELjMKQEAgLTIwLDcgKzIwLDggQEAKIC5cIiAqCiAuXCIgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKIC5cIgotLlRIIENVUkxPUFRfU0FTTF9BVVRIWklEIDMgIjExIFNlcCAyMDE5IiAibGliY3VybCA3LjY2LjAiICJjdXJsX2Vhc3lfc2V0b3B0IG9wdGlvbnMiCisuVEggQ1VSTE9QVF9TQVNMX0FVVEhaSUQgMyAiSnVuZSAyNSwgMjAyMCIgImxpYmN1cmwgNy43MS4xIiAiY3VybF9lYXN5X3NldG9wdCBvcHRpb25zIgorCiAuU0ggTkFNRQogQ1VSTE9QVF9TQVNMX0FVVEhaSUQgXC0gYXV0aG9yaXNhdGlvbiBpZGVudGl0eSAoaWRlbnRpdHkgdG8gYWN0IGFzKQogLlNIIFNZTk9QU0lTCkBAIC0yOCw3ICsyOSw3IEBACiAKIENVUkxjb2RlIGN1cmxfZWFzeV9zZXRvcHQoQ1VSTCAqaGFuZGxlLCBDVVJMT1BUX1NBU0xfQVVUSFpJRCwgY2hhciAqYXV0aHppZCk7CiAuU0ggREVTQ1JJUFRJT04KLVBhc3MgYSBjaGFyICogYXMgcGFyYW1ldGVyLCB3aGljaCBzaG91bGQgYmUgcG9pbnRpbmcgdG8gdGhlIHplcm8gdGVybWluYXRlZAorUGFzcyBhIGNoYXIgKiBhcyBwYXJhbWV0ZXIsIHdoaWNoIHNob3VsZCBiZSBwb2ludGluZyB0byB0aGUgbnVsbC10ZXJtaW5hdGVkCiBhdXRob3Jpc2F0aW9uIGlkZW50aXR5IChhdXRoemlkKSBmb3IgdGhlIHRyYW5zZmVyLiBPbmx5IGFwcGxpY2FibGUgdG8gdGhlIFBMQUlOCiBTQVNMIGF1dGhlbnRpY2F0aW9uIG1lY2hhbmlzbSB3aGVyZSBpdCBpcyBvcHRpb25hbC4KIApkaWZmIC0tZ2l0IGEvZG9jcy9saWJjdXJsL29wdHMvQ1VSTE9QVF9TQVNMX0lSLjMgYi9kb2NzL2xpYmN1cmwvb3B0cy9DVVJMT1BUX1NBU0xfSVIuMwppbmRleCAzM2JiNTRkLi43OTgyZmIyIDEwMDY0NAotLS0gYS9kb2NzL2xpYmN1cmwvb3B0cy9DVVJMT1BUX1NBU0xfSVIuMworKysgYi9kb2NzL2xpYmN1cmwvb3B0cy9DVVJMT1BUX1NBU0xfSVIuMwpAQCAtMjAsNyArMjAsNyBAQAogLlwiICoKIC5cIiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogLlwiCi0uVEggQ1VSTE9QVF9TQVNMX0lSIDMgIk1heSAzMSwgMjAxNyIgImxpYmN1cmwgNy43MC4wIiAiY3VybF9lYXN5X3NldG9wdCBvcHRpb25zIgorLlRIIENVUkxPUFRfU0FTTF9JUiAzICJNYXkgMzEsIDIwMTciICJsaWJjdXJsIDcuNzEuMSIgImN1cmxfZWFzeV9zZXRvcHQgb3B0aW9ucyIKIAogLlNIIE5BTUUKIENVUkxPUFRfU0FTTF9JUiBcLSBlbmFibGUgc2VuZGluZyBpbml0aWFsIHJlc3BvbnNlIGluIGZpcnN0IHBhY2tldApkaWZmIC0tZ2l0IGEvZG9jcy9saWJjdXJsL29wdHMvQ1VSTE9QVF9TRUVLREFUQS4zIGIvZG9jcy9saWJjdXJsL29wdHMvQ1VSTE9QVF9TRUVLREFUQS4zCmluZGV4IDVlMWMzZjcuLjFhNTIyMWQgMTAwNjQ0Ci0tLSBhL2RvY3MvbGliY3VybC9vcHRzL0NVUkxPUFRfU0VFS0RBVEEuMworKysgYi9kb2NzL2xpYmN1cmwvb3B0cy9DVVJMT1BUX1NFRUtEQVRBLjMKQEAgLTIwLDcgKzIwLDcgQEAKIC5cIiAqCiAuXCIgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKIC5cIgotLlRIIENVUkxPUFRfU0VFS0RBVEEgMyAiT2N0b2JlciAzMSwgMjAxOSIgImxpYmN1cmwgNy43MC4wIiAiY3VybF9lYXN5X3NldG9wdCBvcHRpb25zIgorLlRIIENVUkxPUFRfU0VFS0RBVEEgMyAiT2N0b2JlciAzMSwgMjAxOSIgImxpYmN1cmwgNy43MS4xIiAiY3VybF9lYXN5X3NldG9wdCBvcHRpb25zIgogCiAuU0ggTkFNRQogQ1VSTE9QVF9TRUVLREFUQSBcLSBjdXN0b20gcG9pbnRlciBwYXNzZWQgdG8gdGhlIHNlZWsgY2FsbGJhY2sKZGlmZiAtLWdpdCBhL2RvY3MvbGliY3VybC9vcHRzL0NVUkxPUFRfU0VFS0ZVTkNUSU9OLjMgYi9kb2NzL2xpYmN1cmwvb3B0cy9DVVJMT1BUX1NFRUtGVU5DVElPTi4zCmluZGV4IDc5YTA1ODMuLjFiNWUyMGQgMTAwNjQ0Ci0tLSBhL2RvY3MvbGliY3VybC9vcHRzL0NVUkxPUFRfU0VFS0ZVTkNUSU9OLjMKKysrIGIvZG9jcy9saWJjdXJsL29wdHMvQ1VSTE9QVF9TRUVLRlVOQ1RJT04uMwpAQCAtMjAsNyArMjAsNyBAQAogLlwiICoKIC5cIiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogLlwiCi0uVEggQ1VSTE9QVF9TRUVLRlVOQ1RJT04gMyAiTWFyY2ggMjMsIDIwMjAiICJsaWJjdXJsIDcuNzAuMCIgImN1cmxfZWFzeV9zZXRvcHQgb3B0aW9ucyIKKy5USCBDVVJMT1BUX1NFRUtGVU5DVElPTiAzICJNYXJjaCAyMywgMjAyMCIgImxpYmN1cmwgNy43MS4xIiAiY3VybF9lYXN5X3NldG9wdCBvcHRpb25zIgogCiAuU0ggTkFNRQogQ1VSTE9QVF9TRUVLRlVOQ1RJT04gXC0gdXNlciBjYWxsYmFjayBmb3Igc2Vla2luZyBpbiBpbnB1dCBzdHJlYW0KZGlmZiAtLWdpdCBhL2RvY3MvbGliY3VybC9vcHRzL0NVUkxPUFRfU0VSVklDRV9OQU1FLjMgYi9kb2NzL2xpYmN1cmwvb3B0cy9DVVJMT1BUX1NFUlZJQ0VfTkFNRS4zCmluZGV4IDNhY2ViZDkuLmEzZWQ0YzkgMTAwNjQ0Ci0tLSBhL2RvY3MvbGliY3VybC9vcHRzL0NVUkxPUFRfU0VSVklDRV9OQU1FLjMKKysrIGIvZG9jcy9saWJjdXJsL29wdHMvQ1VSTE9QVF9TRVJWSUNFX05BTUUuMwpAQCAtMjAsNyArMjAsNyBAQAogLlwiICoKIC5cIiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogLlwiCi0uVEggQ1VSTE9QVF9TRVJWSUNFX05BTUUgMyAiTWF5IDMxLCAyMDE3IiAibGliY3VybCA3LjcwLjAiICJjdXJsX2Vhc3lfc2V0b3B0IG9wdGlvbnMiCisuVEggQ1VSTE9QVF9TRVJWSUNFX05BTUUgMyAiTWF5IDMxLCAyMDE3IiAibGliY3VybCA3LjcxLjEiICJjdXJsX2Vhc3lfc2V0b3B0IG9wdGlvbnMiCiAKIC5TSCBOQU1FCiBDVVJMT1BUX1NFUlZJQ0VfTkFNRSBcLSBhdXRoZW50aWNhdGlvbiBzZXJ2aWNlIG5hbWUKZGlmZiAtLWdpdCBhL2RvY3MvbGliY3VybC9vcHRzL0NVUkxPUFRfU0hBUkUuMyBiL2RvY3MvbGliY3VybC9vcHRzL0NVUkxPUFRfU0hBUkUuMwppbmRleCBiNTdhOGE3Li45MWE3YTc3IDEwMDY0NAotLS0gYS9kb2NzL2xpYmN1cmwvb3B0cy9DVVJMT1BUX1NIQVJFLjMKKysrIGIvZG9jcy9saWJjdXJsL29wdHMvQ1VSTE9QVF9TSEFSRS4zCkBAIC0yMCw3ICsyMCw3IEBACiAuXCIgKgogLlwiICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiAuXCIKLS5USCBDVVJMT1BUX1NIQVJFIDMgIk1heSAzMSwgMjAxNyIgImxpYmN1cmwgNy43MC4wIiAiY3VybF9lYXN5X3NldG9wdCBvcHRpb25zIgorLlRIIENVUkxPUFRfU0hBUkUgMyAiTWF5IDMxLCAyMDE3IiAibGliY3VybCA3LjcxLjEiICJjdXJsX2Vhc3lfc2V0b3B0IG9wdGlvbnMiCiAKIC5TSCBOQU1FCiBDVVJMT1BUX1NIQVJFIFwtIHNwZWNpZnkgc2hhcmUgaGFuZGxlIHRvIHVzZQpkaWZmIC0tZ2l0IGEvZG9jcy9saWJjdXJsL29wdHMvQ1VSTE9QVF9TT0NLT1BUREFUQS4zIGIvZG9jcy9saWJjdXJsL29wdHMvQ1VSTE9QVF9TT0NLT1BUREFUQS4zCmluZGV4IGE0YTI5NzUuLjU0Yzc0YTAgMTAwNjQ0Ci0tLSBhL2RvY3MvbGliY3VybC9vcHRzL0NVUkxPUFRfU09DS09QVERBVEEuMworKysgYi9kb2NzL2xpYmN1cmwvb3B0cy9DVVJMT1BUX1NPQ0tPUFREQVRBLjMKQEAgLTIwLDcgKzIwLDcgQEAKIC5cIiAqCiAuXCIgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKIC5cIgotLlRIIENVUkxPUFRfU09DS09QVERBVEEgMyAiTWF5IDE1LCAyMDE3IiAibGliY3VybCA3LjcwLjAiICJjdXJsX2Vhc3lfc2V0b3B0IG9wdGlvbnMiCisuVEggQ1VSTE9QVF9TT0NLT1BUREFUQSAzICJNYXkgMTUsIDIwMTciICJsaWJjdXJsIDcuNzEuMSIgImN1cmxfZWFzeV9zZXRvcHQgb3B0aW9ucyIKIAogLlNIIE5BTUUKIENVUkxPUFRfU09DS09QVERBVEEgXC0gY3VzdG9tIHBvaW50ZXIgdG8gcGFzcyB0byBzb2Nrb3B0IGNhbGxiYWNrCmRpZmYgLS1naXQgYS9kb2NzL2xpYmN1cmwvb3B0cy9DVVJMT1BUX1NPQ0tPUFRGVU5DVElPTi4zIGIvZG9jcy9saWJjdXJsL29wdHMvQ1VSTE9QVF9TT0NLT1BURlVOQ1RJT04uMwppbmRleCBkYTdhNGNlLi45MGY0OGY0IDEwMDY0NAotLS0gYS9kb2NzL2xpYmN1cmwvb3B0cy9DVVJMT1BUX1NPQ0tPUFRGVU5DVElPTi4zCisrKyBiL2RvY3MvbGliY3VybC9vcHRzL0NVUkxPUFRfU09DS09QVEZVTkNUSU9OLjMKQEAgLTIwLDcgKzIwLDcgQEAKIC5cIiAqCiAuXCIgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKIC5cIgotLlRIIENVUkxPUFRfU09DS09QVEZVTkNUSU9OIDMgIk1heSAxNSwgMjAxNyIgImxpYmN1cmwgNy43MC4wIiAiY3VybF9lYXN5X3NldG9wdCBvcHRpb25zIgorLlRIIENVUkxPUFRfU09DS09QVEZVTkNUSU9OIDMgIk1heSAxNSwgMjAxNyIgImxpYmN1cmwgNy43MS4xIiAiY3VybF9lYXN5X3NldG9wdCBvcHRpb25zIgogCiAuU0ggTkFNRQogQ1VSTE9QVF9TT0NLT1BURlVOQ1RJT04gXC0gc2V0IGNhbGxiYWNrIGZvciBzZXR0aW5nIHNvY2tldCBvcHRpb25zCmRpZmYgLS1naXQgYS9kb2NzL2xpYmN1cmwvb3B0cy9DVVJMT1BUX1NPQ0tTNV9BVVRILjMgYi9kb2NzL2xpYmN1cmwvb3B0cy9DVVJMT1BUX1NPQ0tTNV9BVVRILjMKaW5kZXggNzQyNWU1OC4uNWU2MmU0NyAxMDA2NDQKLS0tIGEvZG9jcy9saWJjdXJsL29wdHMvQ1VSTE9QVF9TT0NLUzVfQVVUSC4zCisrKyBiL2RvY3MvbGliY3VybC9vcHRzL0NVUkxPUFRfU09DS1M1X0FVVEguMwpAQCAtMjAsNyArMjAsNyBAQAogLlwiICoKIC5cIiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogLlwiCi0uVEggQ1VSTE9QVF9TT0NLUzVfQVVUSCAzICJBcHJpbCAyNywgMjAxNyIgImxpYmN1cmwgNy43MC4wIiAiY3VybF9lYXN5X3NldG9wdCBvcHRpb25zIgorLlRIIENVUkxPUFRfU09DS1M1X0FVVEggMyAiQXByaWwgMjcsIDIwMTciICJsaWJjdXJsIDcuNzEuMSIgImN1cmxfZWFzeV9zZXRvcHQgb3B0aW9ucyIKIAogLlNIIE5BTUUKIENVUkxPUFRfU09DS1M1X0FVVEggXC0gc2V0IGFsbG93ZWQgbWV0aG9kcyBmb3IgU09DS1M1IHByb3h5IGF1dGhlbnRpY2F0aW9uCmRpZmYgLS1naXQgYS9kb2NzL2xpYmN1cmwvb3B0cy9DVVJMT1BUX1NPQ0tTNV9HU1NBUElfTkVDLjMgYi9kb2NzL2xpYmN1cmwvb3B0cy9DVVJMT1BUX1NPQ0tTNV9HU1NBUElfTkVDLjMKaW5kZXggNGNlOGMzZS4uZTIzYmE2NSAxMDA2NDQKLS0tIGEvZG9jcy9saWJjdXJsL29wdHMvQ1VSTE9QVF9TT0NLUzVfR1NTQVBJX05FQy4zCisrKyBiL2RvY3MvbGliY3VybC9vcHRzL0NVUkxPUFRfU09DS1M1X0dTU0FQSV9ORUMuMwpAQCAtMjAsNyArMjAsNyBAQAogLlwiICoKIC5cIiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogLlwiCi0uVEggQ1VSTE9QVF9TT0NLUzVfR1NTQVBJX05FQyAzICJNYXkgMzEsIDIwMTciICJsaWJjdXJsIDcuNzAuMCIgImN1cmxfZWFzeV9zZXRvcHQgb3B0aW9ucyIKKy5USCBDVVJMT1BUX1NPQ0tTNV9HU1NBUElfTkVDIDMgIk1heSAzMSwgMjAxNyIgImxpYmN1cmwgNy43MS4xIiAiY3VybF9lYXN5X3NldG9wdCBvcHRpb25zIgogCiAuU0ggTkFNRQogQ1VSTE9QVF9TT0NLUzVfR1NTQVBJX05FQyBcLSBzZXQgc29ja3MgcHJveHkgZ3NzYXBpIG5lZ290aWF0aW9uIHByb3RlY3Rpb24KZGlmZiAtLWdpdCBhL2RvY3MvbGliY3VybC9vcHRzL0NVUkxPUFRfU09DS1M1X0dTU0FQSV9TRVJWSUNFLjMgYi9kb2NzL2xpYmN1cmwvb3B0cy9DVVJMT1BUX1NPQ0tTNV9HU1NBUElfU0VSVklDRS4zCmluZGV4IGRhNTljZjcuLjk0MTNkMGIgMTAwNjQ0Ci0tLSBhL2RvY3MvbGliY3VybC9vcHRzL0NVUkxPUFRfU09DS1M1X0dTU0FQSV9TRVJWSUNFLjMKKysrIGIvZG9jcy9saWJjdXJsL29wdHMvQ1VSTE9QVF9TT0NLUzVfR1NTQVBJX1NFUlZJQ0UuMwpAQCAtMjAsNyArMjAsNyBAQAogLlwiICoKIC5cIiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogLlwiCi0uVEggQ1VSTE9QVF9TT0NLUzVfR1NTQVBJX1NFUlZJQ0UgMyAiTWF5IDMxLCAyMDE3IiAibGliY3VybCA3LjcwLjAiICJjdXJsX2Vhc3lfc2V0b3B0IG9wdGlvbnMiCisuVEggQ1VSTE9QVF9TT0NLUzVfR1NTQVBJX1NFUlZJQ0UgMyAiTWF5IDMxLCAyMDE3IiAibGliY3VybCA3LjcxLjEiICJjdXJsX2Vhc3lfc2V0b3B0IG9wdGlvbnMiCiAKIC5TSCBOQU1FCiBDVVJMT1BUX1NPQ0tTNV9HU1NBUElfU0VSVklDRSBcLSBTT0NLUzUgcHJveHkgYXV0aGVudGljYXRpb24gc2VydmljZSBuYW1lCmRpZmYgLS1naXQgYS9kb2NzL2xpYmN1cmwvb3B0cy9DVVJMT1BUX1NTSF9BVVRIX1RZUEVTLjMgYi9kb2NzL2xpYmN1cmwvb3B0cy9DVVJMT1BUX1NTSF9BVVRIX1RZUEVTLjMKaW5kZXggYjhiNWRmMC4uOWVjZWE0YyAxMDA2NDQKLS0tIGEvZG9jcy9saWJjdXJsL29wdHMvQ1VSTE9QVF9TU0hfQVVUSF9UWVBFUy4zCisrKyBiL2RvY3MvbGliY3VybC9vcHRzL0NVUkxPUFRfU1NIX0FVVEhfVFlQRVMuMwpAQCAtMjAsNyArMjAsNyBAQAogLlwiICoKIC5cIiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogLlwiCi0uVEggQ1VSTE9QVF9TU0hfQVVUSF9UWVBFUyAzICJNYXkgMzEsIDIwMTciICJsaWJjdXJsIDcuNzAuMCIgImN1cmxfZWFzeV9zZXRvcHQgb3B0aW9ucyIKKy5USCBDVVJMT1BUX1NTSF9BVVRIX1RZUEVTIDMgIk1heSAzMSwgMjAxNyIgImxpYmN1cmwgNy43MS4xIiAiY3VybF9lYXN5X3NldG9wdCBvcHRpb25zIgogCiAuU0ggTkFNRQogQ1VSTE9QVF9TU0hfQVVUSF9UWVBFUyBcLSBzZXQgZGVzaXJlZCBhdXRoIHR5cGVzIGZvciBTRlRQIGFuZCBTQ1AKZGlmZiAtLWdpdCBhL2RvY3MvbGliY3VybC9vcHRzL0NVUkxPUFRfU1NIX0NPTVBSRVNTSU9OLjMgYi9kb2NzL2xpYmN1cmwvb3B0cy9DVVJMT1BUX1NTSF9DT01QUkVTU0lPTi4zCmluZGV4IDkxZWQ0NWQuLjJhZWJkMGMgMTAwNjQ0Ci0tLSBhL2RvY3MvbGliY3VybC9vcHRzL0NVUkxPUFRfU1NIX0NPTVBSRVNTSU9OLjMKKysrIGIvZG9jcy9saWJjdXJsL29wdHMvQ1VSTE9QVF9TU0hfQ09NUFJFU1NJT04uMwpAQCAtMjAsNyArMjAsNyBAQAogLlwiICoKIC5cIiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogLlwiCi0uVEggQ1VSTE9QVF9TU0hfQ09NUFJFU1NJT04gMyAiQXVndXN0IDEwLCAyMDE4IiAibGliY3VybCA3LjcwLjAiICJjdXJsX2Vhc3lfc2V0b3B0IG9wdGlvbnMiCisuVEggQ1VSTE9QVF9TU0hfQ09NUFJFU1NJT04gMyAiQXVndXN0IDEwLCAyMDE4IiAibGliY3VybCA3LjcxLjEiICJjdXJsX2Vhc3lfc2V0b3B0IG9wdGlvbnMiCiAKIC5TSCBOQU1FCiBDVVJMT1BUX1NTSF9DT01QUkVTU0lPTiBcLSBlbmFibGVzIGNvbXByZXNzaW9uIC8gZGVjb21wcmVzc2lvbiBvZiBTU0ggdHJhZmZpYwpkaWZmIC0tZ2l0IGEvZG9jcy9saWJjdXJsL29wdHMvQ1VSTE9QVF9TU0hfSE9TVF9QVUJMSUNfS0VZX01ENS4zIGIvZG9jcy9saWJjdXJsL29wdHMvQ1VSTE9QVF9TU0hfSE9TVF9QVUJMSUNfS0VZX01ENS4zCmluZGV4IDk4MDNjNTMuLmI0MGI1MzAgMTAwNjQ0Ci0tLSBhL2RvY3MvbGliY3VybC9vcHRzL0NVUkxPUFRfU1NIX0hPU1RfUFVCTElDX0tFWV9NRDUuMworKysgYi9kb2NzL2xpYmN1cmwvb3B0cy9DVVJMT1BUX1NTSF9IT1NUX1BVQkxJQ19LRVlfTUQ1LjMKQEAgLTIwLDcgKzIwLDcgQEAKIC5cIiAqCiAuXCIgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKIC5cIgotLlRIIENVUkxPUFRfU1NIX0hPU1RfUFVCTElDX0tFWV9NRDUgMyAiTWF5IDMxLCAyMDE3IiAibGliY3VybCA3LjcwLjAiICJjdXJsX2Vhc3lfc2V0b3B0IG9wdGlvbnMiCisuVEggQ1VSTE9QVF9TU0hfSE9TVF9QVUJMSUNfS0VZX01ENSAzICJNYXkgMzEsIDIwMTciICJsaWJjdXJsIDcuNzEuMSIgImN1cmxfZWFzeV9zZXRvcHQgb3B0aW9ucyIKIAogLlNIIE5BTUUKIENVUkxPUFRfU1NIX0hPU1RfUFVCTElDX0tFWV9NRDUgXC0gY2hlY2tzdW0gb2YgU1NIIHNlcnZlciBwdWJsaWMga2V5CmRpZmYgLS1naXQgYS9kb2NzL2xpYmN1cmwvb3B0cy9DVVJMT1BUX1NTSF9LRVlEQVRBLjMgYi9kb2NzL2xpYmN1cmwvb3B0cy9DVVJMT1BUX1NTSF9LRVlEQVRBLjMKaW5kZXggOTg4MGJmOS4uMDlhOTMyMCAxMDA2NDQKLS0tIGEvZG9jcy9saWJjdXJsL29wdHMvQ1VSTE9QVF9TU0hfS0VZREFUQS4zCisrKyBiL2RvY3MvbGliY3VybC9vcHRzL0NVUkxPUFRfU1NIX0tFWURBVEEuMwpAQCAtMjAsNyArMjAsNyBAQAogLlwiICoKIC5cIiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogLlwiCi0uVEggQ1VSTE9QVF9TU0hfS0VZREFUQSAzICJNYXkgMzEsIDIwMTciICJsaWJjdXJsIDcuNzAuMCIgImN1cmxfZWFzeV9zZXRvcHQgb3B0aW9ucyIKKy5USCBDVVJMT1BUX1NTSF9LRVlEQVRBIDMgIk1heSAzMSwgMjAxNyIgImxpYmN1cmwgNy43MS4xIiAiY3VybF9lYXN5X3NldG9wdCBvcHRpb25zIgogCiAuU0ggTkFNRQogQ1VSTE9QVF9TU0hfS0VZREFUQSBcLSBwb2ludGVyIHRvIHBhc3MgdG8gdGhlIFNTSCBrZXkgY2FsbGJhY2sKZGlmZiAtLWdpdCBhL2RvY3MvbGliY3VybC9vcHRzL0NVUkxPUFRfU1NIX0tFWUZVTkNUSU9OLjMgYi9kb2NzL2xpYmN1cmwvb3B0cy9DVVJMT1BUX1NTSF9LRVlGVU5DVElPTi4zCmluZGV4IDhkMzA4MmUuLmMwNmFjZDEgMTAwNjQ0Ci0tLSBhL2RvY3MvbGliY3VybC9vcHRzL0NVUkxPUFRfU1NIX0tFWUZVTkNUSU9OLjMKKysrIGIvZG9jcy9saWJjdXJsL29wdHMvQ1VSTE9QVF9TU0hfS0VZRlVOQ1RJT04uMwpAQCAtMjAsNyArMjAsNyBAQAogLlwiICoKIC5cIiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogLlwiCi0uVEggQ1VSTE9QVF9TU0hfS0VZRlVOQ1RJT04gMyAiTWF5IDMxLCAyMDE3IiAibGliY3VybCA3LjcwLjAiICJjdXJsX2Vhc3lfc2V0b3B0IG9wdGlvbnMiCisuVEggQ1VSTE9QVF9TU0hfS0VZRlVOQ1RJT04gMyAiSnVuZSAyNSwgMjAyMCIgImxpYmN1cmwgNy43MS4xIiAiY3VybF9lYXN5X3NldG9wdCBvcHRpb25zIgogCiAuU0ggTkFNRQogQ1VSTE9QVF9TU0hfS0VZRlVOQ1RJT04gXC0gY2FsbGJhY2sgZm9yIGtub3duIGhvc3QgbWF0Y2hpbmcgbG9naWMKQEAgLTQ1LDcgKzQ1LDcgQEAKIH07CiAKIHN0cnVjdCBjdXJsX2toa2V5IHsKLSAgY29uc3QgY2hhciAqa2V5OyAvKiBwb2ludHMgdG8gYSB6ZXJvLXRlcm1pbmF0ZWQgc3RyaW5nIGVuY29kZWQgd2l0aAorICBjb25zdCBjaGFyICprZXk7IC8qIHBvaW50cyB0byBhIG51bGwtdGVybWluYXRlZCBzdHJpbmcgZW5jb2RlZCB3aXRoCiAgICAgICAgICAgICAgICAgICAgICAgYmFzZTY0IGlmIGxlbiBpcyB6ZXJvLCBvdGhlcndpc2UgdG8gdGhlICJyYXciCiAgICAgICAgICAgICAgICAgICAgICAgZGF0YSAqLwogICBzaXplX3QgbGVuOwpkaWZmIC0tZ2l0IGEvZG9jcy9saWJjdXJsL29wdHMvQ1VSTE9QVF9TU0hfS05PV05IT1NUUy4zIGIvZG9jcy9saWJjdXJsL29wdHMvQ1VSTE9QVF9TU0hfS05PV05IT1NUUy4zCmluZGV4IGZiNTg2YmUuLmM4ZTZiY2IgMTAwNjQ0Ci0tLSBhL2RvY3MvbGliY3VybC9vcHRzL0NVUkxPUFRfU1NIX0tOT1dOSE9TVFMuMworKysgYi9kb2NzL2xpYmN1cmwvb3B0cy9DVVJMT1BUX1NTSF9LTk9XTkhPU1RTLjMKQEAgLTIwLDcgKzIwLDcgQEAKIC5cIiAqCiAuXCIgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKIC5cIgotLlRIIENVUkxPUFRfU1NIX0tOT1dOSE9TVFMgMyAiTWF5IDMxLCAyMDE3IiAibGliY3VybCA3LjcwLjAiICJjdXJsX2Vhc3lfc2V0b3B0IG9wdGlvbnMiCisuVEggQ1VSTE9QVF9TU0hfS05PV05IT1NUUyAzICJKdW5lIDI1LCAyMDIwIiAibGliY3VybCA3LjcxLjEiICJjdXJsX2Vhc3lfc2V0b3B0IG9wdGlvbnMiCiAKIC5TSCBOQU1FCiBDVVJMT1BUX1NTSF9LTk9XTkhPU1RTIFwtIGZpbGUgbmFtZSBob2xkaW5nIHRoZSBTU0gga25vd24gaG9zdHMKQEAgLTI5LDcgKzI5LDcgQEAKIAogQ1VSTGNvZGUgY3VybF9lYXN5X3NldG9wdChDVVJMICpoYW5kbGUsIENVUkxPUFRfU1NIX0tOT1dOSE9TVFMsIGNoYXIgKmZuYW1lKTsKIC5TSCBERVNDUklQVElPTgotUGFzcyBhIHBvaW50ZXIgdG8gYSB6ZXJvIHRlcm1pbmF0ZWQgc3RyaW5nIGhvbGRpbmcgdGhlIGZpbGUgbmFtZSBvZiB0aGUKK1Bhc3MgYSBwb2ludGVyIHRvIGEgbnVsbC10ZXJtaW5hdGVkIHN0cmluZyBob2xkaW5nIHRoZSBmaWxlIG5hbWUgb2YgdGhlCiBrbm93bl9ob3N0IGZpbGUgdG8gdXNlLiAgVGhlIGtub3duX2hvc3RzIGZpbGUgc2hvdWxkIHVzZSB0aGUgT3BlblNTSCBmaWxlCiBmb3JtYXQgYXMgc3VwcG9ydGVkIGJ5IGxpYnNzaDIuIElmIHRoaXMgZmlsZSBpcyBzcGVjaWZpZWQsIGxpYmN1cmwgd2lsbCBvbmx5CiBhY2NlcHQgY29ubmVjdGlvbnMgd2l0aCBob3N0cyB0aGF0IGFyZSBrbm93biBhbmQgcHJlc2VudCBpbiB0aGF0IGZpbGUsIHdpdGggYQpkaWZmIC0tZ2l0IGEvZG9jcy9saWJjdXJsL29wdHMvQ1VSTE9QVF9TU0hfUFJJVkFURV9LRVlGSUxFLjMgYi9kb2NzL2xpYmN1cmwvb3B0cy9DVVJMT1BUX1NTSF9QUklWQVRFX0tFWUZJTEUuMwppbmRleCA4MzhlNzEyLi5kZGJhMjk4IDEwMDY0NAotLS0gYS9kb2NzL2xpYmN1cmwvb3B0cy9DVVJMT1BUX1NTSF9QUklWQVRFX0tFWUZJTEUuMworKysgYi9kb2NzL2xpYmN1cmwvb3B0cy9DVVJMT1BUX1NTSF9QUklWQVRFX0tFWUZJTEUuMwpAQCAtMjAsNyArMjAsNyBAQAogLlwiICoKIC5cIiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogLlwiCi0uVEggQ1VSTE9QVF9TU0hfUFJJVkFURV9LRVlGSUxFIDMgIk1heSAzMSwgMjAxNyIgImxpYmN1cmwgNy43MC4wIiAiY3VybF9lYXN5X3NldG9wdCBvcHRpb25zIgorLlRIIENVUkxPUFRfU1NIX1BSSVZBVEVfS0VZRklMRSAzICJNYXkgMzEsIDIwMTciICJsaWJjdXJsIDcuNzEuMSIgImN1cmxfZWFzeV9zZXRvcHQgb3B0aW9ucyIKIAogLlNIIE5BTUUKIENVUkxPUFRfU1NIX1BSSVZBVEVfS0VZRklMRSBcLSBzZXQgcHJpdmF0ZSBrZXkgZmlsZSBmb3IgU1NIIGF1dGgKZGlmZiAtLWdpdCBhL2RvY3MvbGliY3VybC9vcHRzL0NVUkxPUFRfU1NIX1BVQkxJQ19LRVlGSUxFLjMgYi9kb2NzL2xpYmN1cmwvb3B0cy9DVVJMT1BUX1NTSF9QVUJMSUNfS0VZRklMRS4zCmluZGV4IDQ0NzkzODguLjk1NDUxNTMgMTAwNjQ0Ci0tLSBhL2RvY3MvbGliY3VybC9vcHRzL0NVUkxPUFRfU1NIX1BVQkxJQ19LRVlGSUxFLjMKKysrIGIvZG9jcy9saWJjdXJsL29wdHMvQ1VSTE9QVF9TU0hfUFVCTElDX0tFWUZJTEUuMwpAQCAtMjAsNyArMjAsNyBAQAogLlwiICoKIC5cIiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogLlwiCi0uVEggQ1VSTE9QVF9TU0hfUFVCTElDX0tFWUZJTEUgMyAiTWF5IDMxLCAyMDE3IiAibGliY3VybCA3LjcwLjAiICJjdXJsX2Vhc3lfc2V0b3B0IG9wdGlvbnMiCisuVEggQ1VSTE9QVF9TU0hfUFVCTElDX0tFWUZJTEUgMyAiTWF5IDMxLCAyMDE3IiAibGliY3VybCA3LjcxLjEiICJjdXJsX2Vhc3lfc2V0b3B0IG9wdGlvbnMiCiAKIC5TSCBOQU1FCiBDVVJMT1BUX1NTSF9QVUJMSUNfS0VZRklMRSBcLSBzZXQgcHVibGljIGtleSBmaWxlIGZvciBTU0ggYXV0aApkaWZmIC0tZ2l0IGEvZG9jcy9saWJjdXJsL29wdHMvQ1VSTE9QVF9TU0xDRVJULjMgYi9kb2NzL2xpYmN1cmwvb3B0cy9DVVJMT1BUX1NTTENFUlQuMwppbmRleCA1Y2I3NGY3Li5mYTQ5YTRjIDEwMDY0NAotLS0gYS9kb2NzL2xpYmN1cmwvb3B0cy9DVVJMT1BUX1NTTENFUlQuMworKysgYi9kb2NzL2xpYmN1cmwvb3B0cy9DVVJMT1BUX1NTTENFUlQuMwpAQCAtMjAsNyArMjAsNyBAQAogLlwiICoKIC5cIiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogLlwiCi0uVEggQ1VSTE9QVF9TU0xDRVJUIDMgIkphbnVhcnkgMjksIDIwMTkiICJsaWJjdXJsIDcuNzAuMCIgImN1cmxfZWFzeV9zZXRvcHQgb3B0aW9ucyIKKy5USCBDVVJMT1BUX1NTTENFUlQgMyAiSnVuZSAyNSwgMjAyMCIgImxpYmN1cmwgNy43MS4xIiAiY3VybF9lYXN5X3NldG9wdCBvcHRpb25zIgogCiAuU0ggTkFNRQogQ1VSTE9QVF9TU0xDRVJUIFwtIHNldCBTU0wgY2xpZW50IGNlcnRpZmljYXRlCkBAIC0yOSw3ICsyOSw3IEBACiAKIENVUkxjb2RlIGN1cmxfZWFzeV9zZXRvcHQoQ1VSTCAqaGFuZGxlLCBDVVJMT1BUX1NTTENFUlQsIGNoYXIgKmNlcnQpOwogLlNIIERFU0NSSVBUSU9OCi1QYXNzIGEgcG9pbnRlciB0byBhIHplcm8gdGVybWluYXRlZCBzdHJpbmcgYXMgcGFyYW1ldGVyLiBUaGUgc3RyaW5nIHNob3VsZCBiZQorUGFzcyBhIHBvaW50ZXIgdG8gYSBudWxsLXRlcm1pbmF0ZWQgc3RyaW5nIGFzIHBhcmFtZXRlci4gVGhlIHN0cmluZyBzaG91bGQgYmUKIHRoZSBmaWxlIG5hbWUgb2YgeW91ciBjbGllbnQgY2VydGlmaWNhdGUuIFRoZSBkZWZhdWx0IGZvcm1hdCBpcyAiUDEyIiBvbgogU2VjdXJlIFRyYW5zcG9ydCBhbmQgIlBFTSIgb24gb3RoZXIgZW5naW5lcywgYW5kIGNhbiBiZSBjaGFuZ2VkIHdpdGgKIFxmSUNVUkxPUFRfU1NMQ0VSVFRZUEUoMylcZlAuCkBAIC0zOSwxNSArMzksMTcgQEAKIHdhbnQgdG8gdXNlIGEgZmlsZSBmcm9tIHRoZSBjdXJyZW50IGRpcmVjdG9yeSwgcGxlYXNlIHByZWNlZGUgaXQgd2l0aCAiLi8iCiBwcmVmaXgsIGluIG9yZGVyIHRvIGF2b2lkIGNvbmZ1c2lvbiB3aXRoIGEgbmlja25hbWUuCiAKLShTY2hhbm5lbCBvbmx5KSBDbGllbnQgY2VydGlmaWNhdGVzIG11c3QgYmUgc3BlY2lmaWVkIGJ5IGEgcGF0aCBleHByZXNzaW9uIHRvCi1hIGNlcnRpZmljYXRlIHN0b3JlLiAoTG9hZGluZyBQRlggaXMgbm90IHN1cHBvcnRlZDsgeW91IGNhbiBpbXBvcnQgaXQgdG8gYQotc3RvcmUgZmlyc3QpLiBZb3UgY2FuIHVzZSAiPHN0b3JlIGxvY2F0aW9uPlxcPHN0b3JlIG5hbWU+XFw8dGh1bWJwcmludD4iIHRvCi1yZWZlciB0byBhIGNlcnRpZmljYXRlIGluIHRoZSBzeXN0ZW0gY2VydGlmaWNhdGVzIHN0b3JlLCBmb3IgZXhhbXBsZSwKKyhTY2hhbm5lbCBvbmx5KSBDbGllbnQgY2VydGlmaWNhdGVzIGNhbiBiZSBzcGVjaWZpZWQgYnkgYSBwYXRoIGV4cHJlc3Npb24gdG8KK2EgY2VydGlmaWNhdGUgc3RvcmUuIChZb3UgY2FuIGltcG9ydCBQRlggdG8gYSBzdG9yZSBmaXJzdCkuIFlvdSBjYW4gdXNlCisiPHN0b3JlIGxvY2F0aW9uPlxcPHN0b3JlIG5hbWU+XFw8dGh1bWJwcmludD4iIHRvIHJlZmVyIHRvIGEgY2VydGlmaWNhdGUKK2luIHRoZSBzeXN0ZW0gY2VydGlmaWNhdGVzIHN0b3JlLCBmb3IgZXhhbXBsZSwKICJDdXJyZW50VXNlclxcTVlcXDkzNGE3YWM2ZjhhNWQ1NzkyODVhNzRmYTYxZTE5ZjIzZGRmZThkN2EiLiBUaHVtYnByaW50IGlzCiB1c3VhbGx5IGEgU0hBLTEgaGV4IHN0cmluZyB3aGljaCB5b3UgY2FuIHNlZSBpbiBjZXJ0aWZpY2F0ZSBkZXRhaWxzLiBGb2xsb3dpbmcKIHN0b3JlIGxvY2F0aW9ucyBhcmUgc3VwcG9ydGVkOiBDdXJyZW50VXNlciwgTG9jYWxNYWNoaW5lLCBDdXJyZW50U2VydmljZSwKIFNlcnZpY2VzLCBDdXJyZW50VXNlckdyb3VwUG9saWN5LCBMb2NhbE1hY2hpbmVHcm91cFBvbGljeSwKIExvY2FsTWFjaGluZUVudGVycHJpc2UuCitTY2hhbm5lbCBhbHNvIHN1cHBvcnQgUDEyIGNlcnRpZmljYXRlIGZpbGUsIHdpdGggdGhlIHN0cmluZyAiUDEyIiBzcGVjaWZpZWQKK3dpdGggXGZJQ1VSTE9QVF9TU0xDRVJUVFlQRSgzKVxmUC4KIAogV2hlbiB1c2luZyBhIGNsaWVudCBjZXJ0aWZpY2F0ZSwgeW91IG1vc3QgbGlrZWx5IGFsc28gbmVlZCB0byBwcm92aWRlIGEKIHByaXZhdGUga2V5IHdpdGggXGZJQ1VSTE9QVF9TU0xLRVkoMylcZlAuCmRpZmYgLS1naXQgYS9kb2NzL2xpYmN1cmwvb3B0cy9DVVJMT1BUX1NTTENFUlRUWVBFLjMgYi9kb2NzL2xpYmN1cmwvb3B0cy9DVVJMT1BUX1NTTENFUlRUWVBFLjMKaW5kZXggNjgzNjFkYi4uMzVjYzEzYyAxMDA2NDQKLS0tIGEvZG9jcy9saWJjdXJsL29wdHMvQ1VSTE9QVF9TU0xDRVJUVFlQRS4zCisrKyBiL2RvY3MvbGliY3VybC9vcHRzL0NVUkxPUFRfU1NMQ0VSVFRZUEUuMwpAQCAtMjAsNyArMjAsNyBAQAogLlwiICoKIC5cIiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogLlwiCi0uVEggQ1VSTE9QVF9TU0xDRVJUVFlQRSAzICJNYXkgMzEsIDIwMTciICJsaWJjdXJsIDcuNzAuMCIgImN1cmxfZWFzeV9zZXRvcHQgb3B0aW9ucyIKKy5USCBDVVJMT1BUX1NTTENFUlRUWVBFIDMgIkp1bmUgMjUsIDIwMjAiICJsaWJjdXJsIDcuNzEuMSIgImN1cmxfZWFzeV9zZXRvcHQgb3B0aW9ucyIKIAogLlNIIE5BTUUKIENVUkxPUFRfU1NMQ0VSVFRZUEUgXC0gc3BlY2lmeSB0eXBlIG9mIHRoZSBjbGllbnQgU1NMIGNlcnRpZmljYXRlCkBAIC0yOSw3ICsyOSw3IEBACiAKIENVUkxjb2RlIGN1cmxfZWFzeV9zZXRvcHQoQ1VSTCAqaGFuZGxlLCBDVVJMT1BUX1NTTENFUlRUWVBFLCBjaGFyICp0eXBlKTsKIC5TSCBERVNDUklQVElPTgotUGFzcyBhIHBvaW50ZXIgdG8gYSB6ZXJvIHRlcm1pbmF0ZWQgc3RyaW5nIGFzIHBhcmFtZXRlci4gVGhlIHN0cmluZyBzaG91bGQgYmUKK1Bhc3MgYSBwb2ludGVyIHRvIGEgbnVsbC10ZXJtaW5hdGVkIHN0cmluZyBhcyBwYXJhbWV0ZXIuIFRoZSBzdHJpbmcgc2hvdWxkIGJlCiB0aGUgZm9ybWF0IG9mIHlvdXIgY2VydGlmaWNhdGUuIFN1cHBvcnRlZCBmb3JtYXRzIGFyZSAiUEVNIiBhbmQgIkRFUiIsIGV4Y2VwdAogd2l0aCBTZWN1cmUgVHJhbnNwb3J0LiBPcGVuU1NMICh2ZXJzaW9ucyAwLjkuMyBhbmQgbGF0ZXIpIGFuZCBTZWN1cmUgVHJhbnNwb3J0CiAob24gaU9TIDUgb3IgbGF0ZXIsIG9yIE9TIFggMTAuNyBvciBsYXRlcikgYWxzbyBzdXBwb3J0ICJQMTIiIGZvcgpkaWZmIC0tZ2l0IGEvZG9jcy9saWJjdXJsL29wdHMvQ1VSTE9QVF9TU0xDRVJUX0JMT0IuMyBiL2RvY3MvbGliY3VybC9vcHRzL0NVUkxPUFRfU1NMQ0VSVF9CTE9CLjMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZWQxM2Q2YwotLS0gL2Rldi9udWxsCisrKyBiL2RvY3MvbGliY3VybC9vcHRzL0NVUkxPUFRfU1NMQ0VSVF9CTE9CLjMKQEAgLTAsMCArMSw2OSBAQAorLlwiICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisuXCIgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBfICAgXyBfX19fICBfCisuXCIgKiAgUHJvamVjdCAgICAgICAgICAgICAgICAgICAgIF9fX3wgfCB8IHwgIF8gXHwgfAorLlwiICogICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8gX198IHwgfCB8IHxfKSB8IHwKKy5cIiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgKF9ffCB8X3wgfCAgXyA8fCB8X19fCisuXCIgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXF9fX3xcX19fL3xffCBcX1xfX19fX3wKKy5cIiAqCisuXCIgKiBDb3B5cmlnaHQgKEMpIDE5OTggLSAyMDIwLCBEYW5pZWwgU3RlbmJlcmcsIDxkYW5pZWxAaGF4eC5zZT4sIGV0IGFsLgorLlwiICoKKy5cIiAqIFRoaXMgc29mdHdhcmUgaXMgbGljZW5zZWQgYXMgZGVzY3JpYmVkIGluIHRoZSBmaWxlIENPUFlJTkcsIHdoaWNoCisuXCIgKiB5b3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYXMgcGFydCBvZiB0aGlzIGRpc3RyaWJ1dGlvbi4gVGhlIHRlcm1zCisuXCIgKiBhcmUgYWxzbyBhdmFpbGFibGUgYXQgaHR0cHM6Ly9jdXJsLmhheHguc2UvZG9jcy9jb3B5cmlnaHQuaHRtbC4KKy5cIiAqCisuXCIgKiBZb3UgbWF5IG9wdCB0byB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsIGRpc3RyaWJ1dGUgYW5kL29yIHNlbGwKKy5cIiAqIGNvcGllcyBvZiB0aGUgU29mdHdhcmUsIGFuZCBwZXJtaXQgcGVyc29ucyB0byB3aG9tIHRoZSBTb2Z0d2FyZSBpcworLlwiICogZnVybmlzaGVkIHRvIGRvIHNvLCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIENPUFlJTkcgZmlsZS4KKy5cIiAqCisuXCIgKiBUaGlzIHNvZnR3YXJlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuICJBUyBJUyIgYmFzaXMsIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZCisuXCIgKiBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLgorLlwiICoKKy5cIiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorLlwiCisuVEggQ1VSTE9QVF9TU0xDRVJUX0JMT0IgMyAiMjQgSnVuIDIwMjAiICJsaWJjdXJsIDcuNzEuMCIgImN1cmxfZWFzeV9zZXRvcHQgb3B0aW9ucyIKKy5TSCBOQU1FCitDVVJMT1BUX1NTTENFUlRfQkxPQiBcLSBTU0wgY2xpZW50IGNlcnRpZmljYXRlIGZyb20gbWVtb3J5IGJsb2IKKy5TSCBTWU5PUFNJUworI2luY2x1ZGUgPGN1cmwvY3VybC5oPgorCitDVVJMY29kZSBjdXJsX2Vhc3lfc2V0b3B0KENVUkwgKmhhbmRsZSwgQ1VSTE9QVF9TU0xDRVJUX0JMT0IsIHN0cnVjdCBjdXJsX2Jsb2IgKnN0YmxvYik7CisuU0ggREVTQ1JJUFRJT04KK1Bhc3MgYSBwb2ludGVyIHRvIGEgY3VybF9ibG9iIHN0cnVjdHVyZSwgd2hpY2ggY29udGFpbnMgKHBvaW50ZXIgYW5kIHNpemUpIGEKK2NsaWVudCBjZXJ0aWZpY2F0ZS4gVGhlIGZvcm1hdCBtdXN0IGJlICJQMTIiIG9uIFNlY3VyZSBUcmFuc3BvcnQgb3IKK1NjaGFubmVsLiBUaGUgZm9ybWF0IG11c3QgYmUgIlAxMiIgb3IgIlBFTSIgb24gT3BlblNTTC4gVGhlIHN0cmluZyAiUDEyIiBvcgorIlBFTSIgbXVzdCBiZSBzcGVjaWZpZWQgd2l0aCBcZklDVVJMT1BUX1NTTENFUlRUWVBFKDMpXGZQLgorCitJZiB0aGUgYmxvYiBpcyBpbml0aWFsaXplZCB3aXRoIHRoZSBmbGFncyBtZW1iZXIgb2Ygc3RydWN0IGN1cmxfYmxvYiBzZXQgdG8KK0NVUkxfQkxPQl9DT1BZLCB0aGUgYXBwbGljYXRpb24gZG9lcyBub3QgaGF2ZSB0byBrZWVwIHRoZSBidWZmZXIgYXJvdW5kIGFmdGVyCitzZXR0aW5nIHRoaXMuCisKK1RoaXMgb3B0aW9uIGlzIGFuIGFsdGVybmF0aXZlIHRvIFxmSUNVUkxPUFRfU1NMQ0VSVCgzKVxmUCB3aGljaCBpbnN0ZWFkCitleHBlY3RzIGEgZmlsZSBuYW1lIGFzIGlucHV0LgorLlNIIERFRkFVTFQKK05VTEwKKy5TSCBQUk9UT0NPTFMKK0FsbCBUTFMgYmFzZWQgcHJvdG9jb2xzOiBIVFRQUywgRlRQUywgSU1BUFMsIFBPUDNTLCBTTVRQUyBldGMuCisuU0ggRVhBTVBMRQorLm5mCitDVVJMICpjdXJsID0gY3VybF9lYXN5X2luaXQoKTsKK2lmKGN1cmwpIHsKKyAgc3RydWN0IGN1cmxfYmxvYiBzdGJsb2I7CisgIHN0YmxvYi5kYXRhID0gY2VydGlmaWNhdGVEYXRhOworICBzdGJsb2IubGVuID0gZmlsZXNpemU7CisgIHN0YmxvYi5mbGFncyA9IENVUkxfQkxPQl9DT1BZOworICBjdXJsX2Vhc3lfc2V0b3B0KGN1cmwsIENVUkxPUFRfVVJMLCAiaHR0cHM6Ly9leGFtcGxlLmNvbS8iKTsKKyAgY3VybF9lYXN5X3NldG9wdChjdXJsLCBDVVJMT1BUX1NTTENFUlRfQkxPQiwgJnN0YmxvYik7CisgIGN1cmxfZWFzeV9zZXRvcHQoY3VybCwgQ1VSTE9QVF9TU0xDRVJUVFlQRSwgIlAxMiIpOworICBjdXJsX2Vhc3lfc2V0b3B0KGN1cmwsIENVUkxPUFRfS0VZUEFTU1dELCAiczNjcmV0Iik7CisgIHJldCA9IGN1cmxfZWFzeV9wZXJmb3JtKGN1cmwpOworICBjdXJsX2Vhc3lfY2xlYW51cChjdXJsKTsKK30KKy5maQorLlNIIEFWQUlMQUJJTElUWQorQWRkZWQgaW4gbGliY3VybCA3LjcxLjAuIFRoaXMgb3B0aW9uIGlzIHN1cHBvcnRlZCBieSB0aGUgT3BlblNTTCwgU2VjdXJlCitUcmFuc3BvcnQgYW5kIFNjaGFubmVsIGJhY2tlbmRzLgorLlNIIFJFVFVSTiBWQUxVRQorUmV0dXJucyBDVVJMRV9PSyBpZiBUTFMgZW5hYmxlZCwgQ1VSTEVfVU5LTk9XTl9PUFRJT04gaWYgbm90LCBvcgorQ1VSTEVfT1VUX09GX01FTU9SWSBpZiB0aGVyZSB3YXMgaW5zdWZmaWNpZW50IGhlYXAgc3BhY2UuCisuU0ggIlNFRSBBTFNPIgorLkJSIENVUkxPUFRfU1NMQ0VSVFRZUEUgIigzKSwgIiBDVVJMT1BUX1NTTEtFWSAiKDMpLCAiCmRpZmYgLS1naXQgYS9kb2NzL2xpYmN1cmwvb3B0cy9DVVJMT1BUX1NTTEVOR0lORS4zIGIvZG9jcy9saWJjdXJsL29wdHMvQ1VSTE9QVF9TU0xFTkdJTkUuMwppbmRleCAyMDgxYzk2Li44YzdhZjhkIDEwMDY0NAotLS0gYS9kb2NzL2xpYmN1cmwvb3B0cy9DVVJMT1BUX1NTTEVOR0lORS4zCisrKyBiL2RvY3MvbGliY3VybC9vcHRzL0NVUkxPUFRfU1NMRU5HSU5FLjMKQEAgLTIwLDcgKzIwLDcgQEAKIC5cIiAqCiAuXCIgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKIC5cIgotLlRIIENVUkxPUFRfU1NMRU5HSU5FIDMgIk1heSAzMSwgMjAxNyIgImxpYmN1cmwgNy43MC4wIiAiY3VybF9lYXN5X3NldG9wdCBvcHRpb25zIgorLlRIIENVUkxPUFRfU1NMRU5HSU5FIDMgIkp1bmUgMjUsIDIwMjAiICJsaWJjdXJsIDcuNzEuMSIgImN1cmxfZWFzeV9zZXRvcHQgb3B0aW9ucyIKIAogLlNIIE5BTUUKIENVUkxPUFRfU1NMRU5HSU5FIFwtIHNldCBTU0wgZW5naW5lIGlkZW50aWZpZXIKQEAgLTI5LDcgKzI5LDcgQEAKIAogQ1VSTGNvZGUgY3VybF9lYXN5X3NldG9wdChDVVJMICpoYW5kbGUsIENVUkxPUFRfU1NMRU5HSU5FLCBjaGFyICppZCk7CiAuU0ggREVTQ1JJUFRJT04KLVBhc3MgYSBwb2ludGVyIHRvIGEgemVybyB0ZXJtaW5hdGVkIHN0cmluZyBhcyBwYXJhbWV0ZXIuIEl0IHdpbGwgYmUgdXNlZCBhcworUGFzcyBhIHBvaW50ZXIgdG8gYSBudWxsLXRlcm1pbmF0ZWQgc3RyaW5nIGFzIHBhcmFtZXRlci4gSXQgd2lsbCBiZSB1c2VkIGFzCiB0aGUgaWRlbnRpZmllciBmb3IgdGhlIGNyeXB0byBlbmdpbmUgeW91IHdhbnQgdG8gdXNlIGZvciB5b3VyIHByaXZhdGUga2V5LgogCiBUaGUgYXBwbGljYXRpb24gZG9lcyBub3QgaGF2ZSB0byBrZWVwIHRoZSBzdHJpbmcgYXJvdW5kIGFmdGVyIHNldHRpbmcgdGhpcwpkaWZmIC0tZ2l0IGEvZG9jcy9saWJjdXJsL29wdHMvQ1VSTE9QVF9TU0xFTkdJTkVfREVGQVVMVC4zIGIvZG9jcy9saWJjdXJsL29wdHMvQ1VSTE9QVF9TU0xFTkdJTkVfREVGQVVMVC4zCmluZGV4IDQ4MzNkMzkuLmE0ZmEwNDkgMTAwNjQ0Ci0tLSBhL2RvY3MvbGliY3VybC9vcHRzL0NVUkxPUFRfU1NMRU5HSU5FX0RFRkFVTFQuMworKysgYi9kb2NzL2xpYmN1cmwvb3B0cy9DVVJMT1BUX1NTTEVOR0lORV9ERUZBVUxULjMKQEAgLTIwLDcgKzIwLDcgQEAKIC5cIiAqCiAuXCIgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKIC5cIgotLlRIIENVUkxPUFRfU1NMRU5HSU5FX0RFRkFVTFQgMyAiTWF5IDMxLCAyMDE3IiAibGliY3VybCA3LjcwLjAiICJjdXJsX2Vhc3lfc2V0b3B0IG9wdGlvbnMiCisuVEggQ1VSTE9QVF9TU0xFTkdJTkVfREVGQVVMVCAzICJNYXkgMzEsIDIwMTciICJsaWJjdXJsIDcuNzEuMSIgImN1cmxfZWFzeV9zZXRvcHQgb3B0aW9ucyIKIAogLlNIIE5BTUUKIENVUkxPUFRfU1NMRU5HSU5FX0RFRkFVTFQgXC0gbWFrZSBTU0wgZW5naW5lIGRlZmF1bHQKZGlmZiAtLWdpdCBhL2RvY3MvbGliY3VybC9vcHRzL0NVUkxPUFRfU1NMS0VZLjMgYi9kb2NzL2xpYmN1cmwvb3B0cy9DVVJMT1BUX1NTTEtFWS4zCmluZGV4IGJiOGNkODAuLjNkMGE5NTUgMTAwNjQ0Ci0tLSBhL2RvY3MvbGliY3VybC9vcHRzL0NVUkxPUFRfU1NMS0VZLjMKKysrIGIvZG9jcy9saWJjdXJsL29wdHMvQ1VSTE9QVF9TU0xLRVkuMwpAQCAtMjAsNyArMjAsNyBAQAogLlwiICoKIC5cIiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogLlwiCi0uVEggQ1VSTE9QVF9TU0xLRVkgMyAiTWF5IDMxLCAyMDE3IiAibGliY3VybCA3LjcwLjAiICJjdXJsX2Vhc3lfc2V0b3B0IG9wdGlvbnMiCisuVEggQ1VSTE9QVF9TU0xLRVkgMyAiSnVuZSAyNSwgMjAyMCIgImxpYmN1cmwgNy43MS4xIiAiY3VybF9lYXN5X3NldG9wdCBvcHRpb25zIgogCiAuU0ggTkFNRQogQ1VSTE9QVF9TU0xLRVkgXC0gc3BlY2lmeSBwcml2YXRlIGtleWZpbGUgZm9yIFRMUyBhbmQgU1NMIGNsaWVudCBjZXJ0CkBAIC0yOSw3ICsyOSw3IEBACiAKIENVUkxjb2RlIGN1cmxfZWFzeV9zZXRvcHQoQ1VSTCAqaGFuZGxlLCBDVVJMT1BUX1NTTEtFWSwgY2hhciAqa2V5ZmlsZSk7CiAuU0ggREVTQ1JJUFRJT04KLVBhc3MgYSBwb2ludGVyIHRvIGEgemVybyB0ZXJtaW5hdGVkIHN0cmluZyBhcyBwYXJhbWV0ZXIuIFRoZSBzdHJpbmcgc2hvdWxkIGJlCitQYXNzIGEgcG9pbnRlciB0byBhIG51bGwtdGVybWluYXRlZCBzdHJpbmcgYXMgcGFyYW1ldGVyLiBUaGUgc3RyaW5nIHNob3VsZCBiZQogdGhlIGZpbGUgbmFtZSBvZiB5b3VyIHByaXZhdGUga2V5LiBUaGUgZGVmYXVsdCBmb3JtYXQgaXMgIlBFTSIgYW5kIGNhbiBiZQogY2hhbmdlZCB3aXRoIFxmSUNVUkxPUFRfU1NMS0VZVFlQRSgzKVxmUC4KIApkaWZmIC0tZ2l0IGEvZG9jcy9saWJjdXJsL29wdHMvQ1VSTE9QVF9TU0xLRVlUWVBFLjMgYi9kb2NzL2xpYmN1cmwvb3B0cy9DVVJMT1BUX1NTTEtFWVRZUEUuMwppbmRleCA0NGJiYjk1Li5hOTE1MWZjIDEwMDY0NAotLS0gYS9kb2NzL2xpYmN1cmwvb3B0cy9DVVJMT1BUX1NTTEtFWVRZUEUuMworKysgYi9kb2NzL2xpYmN1cmwvb3B0cy9DVVJMT1BUX1NTTEtFWVRZUEUuMwpAQCAtMjAsNyArMjAsNyBAQAogLlwiICoKIC5cIiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogLlwiCi0uVEggQ1VSTE9QVF9TU0xLRVlUWVBFIDMgIk1heSAzMSwgMjAxNyIgImxpYmN1cmwgNy43MC4wIiAiY3VybF9lYXN5X3NldG9wdCBvcHRpb25zIgorLlRIIENVUkxPUFRfU1NMS0VZVFlQRSAzICJKdW5lIDI1LCAyMDIwIiAibGliY3VybCA3LjcxLjEiICJjdXJsX2Vhc3lfc2V0b3B0IG9wdGlvbnMiCiAKIC5TSCBOQU1FCiBDVVJMT1BUX1NTTEtFWVRZUEUgXC0gc2V0IHR5cGUgb2YgdGhlIHByaXZhdGUga2V5IGZpbGUKQEAgLTI5LDcgKzI5LDcgQEAKIAogQ1VSTGNvZGUgY3VybF9lYXN5X3NldG9wdChDVVJMICpoYW5kbGUsIENVUkxPUFRfU1NMS0VZVFlQRSwgY2hhciAqdHlwZSk7CiAuU0ggREVTQ1JJUFRJT04KLVBhc3MgYSBwb2ludGVyIHRvIGEgemVybyB0ZXJtaW5hdGVkIHN0cmluZyBhcyBwYXJhbWV0ZXIuIFRoZSBzdHJpbmcgc2hvdWxkIGJlCitQYXNzIGEgcG9pbnRlciB0byBhIG51bGwtdGVybWluYXRlZCBzdHJpbmcgYXMgcGFyYW1ldGVyLiBUaGUgc3RyaW5nIHNob3VsZCBiZQogdGhlIGZvcm1hdCBvZiB5b3VyIHByaXZhdGUga2V5LiBTdXBwb3J0ZWQgZm9ybWF0cyBhcmUgIlBFTSIsICJERVIiIGFuZCAiRU5HIi4KIAogVGhlIGZvcm1hdCAiRU5HIiBlbmFibGVzIHlvdSB0byBsb2FkIHRoZSBwcml2YXRlIGtleSBmcm9tIGEgY3J5cHRvIGVuZ2luZS4gSW4KZGlmZiAtLWdpdCBhL2RvY3MvbGliY3VybC9vcHRzL0NVUkxPUFRfU1NMS0VZX0JMT0IuMyBiL2RvY3MvbGliY3VybC9vcHRzL0NVUkxPUFRfU1NMS0VZX0JMT0IuMwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4xZjY1N2M4Ci0tLSAvZGV2L251bGwKKysrIGIvZG9jcy9saWJjdXJsL29wdHMvQ1VSTE9QVF9TU0xLRVlfQkxPQi4zCkBAIC0wLDAgKzEsNzUgQEAKKy5cIiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorLlwiICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXyAgIF8gX19fXyAgXworLlwiICogIFByb2plY3QgICAgICAgICAgICAgICAgICAgICBfX198IHwgfCB8ICBfIFx8IHwKKy5cIiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvIF9ffCB8IHwgfCB8XykgfCB8CisuXCIgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICB8IChfX3wgfF98IHwgIF8gPHwgfF9fXworLlwiICogICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxfX198XF9fXy98X3wgXF9cX19fX198CisuXCIgKgorLlwiICogQ29weXJpZ2h0IChDKSAxOTk4IC0gMjAyMCwgRGFuaWVsIFN0ZW5iZXJnLCA8ZGFuaWVsQGhheHguc2U+LCBldCBhbC4KKy5cIiAqCisuXCIgKiBUaGlzIHNvZnR3YXJlIGlzIGxpY2Vuc2VkIGFzIGRlc2NyaWJlZCBpbiB0aGUgZmlsZSBDT1BZSU5HLCB3aGljaAorLlwiICogeW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGFzIHBhcnQgb2YgdGhpcyBkaXN0cmlidXRpb24uIFRoZSB0ZXJtcworLlwiICogYXJlIGFsc28gYXZhaWxhYmxlIGF0IGh0dHBzOi8vY3VybC5oYXh4LnNlL2RvY3MvY29weXJpZ2h0Lmh0bWwuCisuXCIgKgorLlwiICogWW91IG1heSBvcHQgdG8gdXNlLCBjb3B5LCBtb2RpZnksIG1lcmdlLCBwdWJsaXNoLCBkaXN0cmlidXRlIGFuZC9vciBzZWxsCisuXCIgKiBjb3BpZXMgb2YgdGhlIFNvZnR3YXJlLCBhbmQgcGVybWl0IHBlcnNvbnMgdG8gd2hvbSB0aGUgU29mdHdhcmUgaXMKKy5cIiAqIGZ1cm5pc2hlZCB0byBkbyBzbywgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBDT1BZSU5HIGZpbGUuCisuXCIgKgorLlwiICogVGhpcyBzb2Z0d2FyZSBpcyBkaXN0cmlidXRlZCBvbiBhbiAiQVMgSVMiIGJhc2lzLCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFOWQorLlwiICogS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC4KKy5cIiAqCisuXCIgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKy5cIgorLlRIIENVUkxPUFRfU1NMS0VZX0JMT0IgMyAiMjQgSnVuIDIwMjAiICJsaWJjdXJsIDcuNzEuMCIgImN1cmxfZWFzeV9zZXRvcHQgb3B0aW9ucyIKKy5TSCBOQU1FCitDVVJMT1BUX1NTTEtFWV9CTE9CIFwtIHByaXZhdGUga2V5IGZvciBjbGllbnQgY2VydCBmcm9tIG1lbW9yeSBibG9iCisuU0ggU1lOT1BTSVMKKy5uZgorI2luY2x1ZGUgPGN1cmwvY3VybC5oPgorCitDVVJMY29kZSBjdXJsX2Vhc3lfc2V0b3B0KENVUkwgKmhhbmRsZSwgQ1VSTE9QVF9TU0xLRVlfQkxPQiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgc3RydWN0IGN1cmxfYmxvYiAqYmxvYik7CisuZmkKKy5TSCBERVNDUklQVElPTgorUGFzcyBhIHBvaW50ZXIgdG8gYSBjdXJsX2Jsb2Igc3RydWN0dXJlLCB3aGljaCBjb250YWlucyBpbmZvcm1hdGlvbiAocG9pbnRlcgorYW5kIHNpemUpIGZvciBhIHByaXZhdGUga2V5LiBDb21wYXRpYmxlIHdpdGggT3BlblNTTC4gVGhlIGZvcm1hdCAobGlrZSAiUEVNIikKK211c3QgYmUgc3BlY2lmaWVkIHdpdGggXGZJQ1VSTE9QVF9TU0xLRVlUWVBFKDMpXGZQLgorCitJZiB0aGUgYmxvYiBpcyBpbml0aWFsaXplZCB3aXRoIHRoZSBmbGFncyBtZW1iZXIgb2Ygc3RydWN0IGN1cmxfYmxvYiBzZXQgdG8KK0NVUkxfQkxPQl9DT1BZLCB0aGUgYXBwbGljYXRpb24gZG9lcyBub3QgaGF2ZSB0byBrZWVwIHRoZSBidWZmZXIgYXJvdW5kIGFmdGVyCitzZXR0aW5nIHRoaXMuCisKK1RoaXMgb3B0aW9uIGlzIGFuIGFsdGVybmF0aXZlIHRvIFxmSUNVUkxPUFRfU1NMS0VZKDMpXGZQIHdoaWNoIGluc3RlYWQgZXhwZWN0cworYSBmaWxlIG5hbWUgYXMgaW5wdXQuCisuU0ggREVGQVVMVAorTlVMTAorLlNIIFBST1RPQ09MUworQWxsIFRMUyBiYXNlZCBwcm90b2NvbHM6IEhUVFBTLCBGVFBTLCBJTUFQUywgUE9QM1MsIFNNVFBTIGV0Yy4KKy5TSCBFWEFNUExFCisubmYKK0NVUkwgKmN1cmwgPSBjdXJsX2Vhc3lfaW5pdCgpOworaWYoY3VybCkgeworICBzdHJ1Y3QgY3VybF9ibG9iIGJsb2I7CisgIGN1cmxfZWFzeV9zZXRvcHQoY3VybCwgQ1VSTE9QVF9VUkwsICJodHRwczovL2V4YW1wbGUuY29tLyIpOworICBibG9iLmRhdGEgPSBjZXJ0aWZpY2F0ZURhdGE7CisgIGJsb2IubGVuID0gZmlsZXNpemU7CisgIGJsb2IuZmxhZ3MgPSBDVVJMX0JMT0JfQ09QWTsKKyAgY3VybF9lYXN5X3NldG9wdChjdXJsLCBDVVJMT1BUX1NTTENFUlRfQkxPQiwgJmJsb2IpOworICBjdXJsX2Vhc3lfc2V0b3B0KGN1cmwsIENVUkxPUFRfU1NMQ0VSVFRZUEUsICJQRU0iKTsKKworICBibG9iLmRhdGEgPSBwcml2YXRlS2V5RGF0YTsKKyAgYmxvYi5sZW4gPSBwcml2YXRlS2V5U2l6ZTsKKyAgY3VybF9lYXN5X3NldG9wdChjdXJsLCBDVVJMT1BUX1NTTEtFWV9CTE9CLCAmYmxvYik7CisgIGN1cmxfZWFzeV9zZXRvcHQoY3VybCwgQ1VSTE9QVF9LRVlQQVNTV0QsICJzM2NyZXQiKTsKKyAgY3VybF9lYXN5X3NldG9wdChjdXJsLCBDVVJMT1BUX1NTTEtFWVRZUEUsICJQRU0iKTsKKyAgcmV0ID0gY3VybF9lYXN5X3BlcmZvcm0oY3VybCk7CisgIGN1cmxfZWFzeV9jbGVhbnVwKGN1cmwpOworfQorLmZpCisuU0ggQVZBSUxBQklMSVRZCitBZGRlZCBpbiBsaWJjdXJsIDcuNzEuMC4gVGhpcyBvcHRpb24gaXMgc3VwcG9ydGVkIGJ5IHRoZSBPcGVuU1NMIGJhY2tlbmRzLgorLlNIIFJFVFVSTiBWQUxVRQorUmV0dXJucyBDVVJMRV9PSyBpZiBUTFMgZW5hYmxlZCwgQ1VSTEVfVU5LTk9XTl9PUFRJT04gaWYgbm90LCBvcgorQ1VSTEVfT1VUX09GX01FTU9SWSBpZiB0aGVyZSB3YXMgaW5zdWZmaWNpZW50IGhlYXAgc3BhY2UuCisuU0ggIlNFRSBBTFNPIgorLkJSIENVUkxPUFRfU1NMS0VZVFlQRSAiKDMpLCAiIENVUkxPUFRfU1NMS0VZICIoMyksICIKZGlmZiAtLWdpdCBhL2RvY3MvbGliY3VybC9vcHRzL0NVUkxPUFRfU1NMVkVSU0lPTi4zIGIvZG9jcy9saWJjdXJsL29wdHMvQ1VSTE9QVF9TU0xWRVJTSU9OLjMKaW5kZXggNTc4NjZjZC4uYjJhOGYyZSAxMDA2NDQKLS0tIGEvZG9jcy9saWJjdXJsL29wdHMvQ1VSTE9QVF9TU0xWRVJTSU9OLjMKKysrIGIvZG9jcy9saWJjdXJsL29wdHMvQ1VSTE9QVF9TU0xWRVJTSU9OLjMKQEAgLTIwLDcgKzIwLDcgQEAKIC5cIiAqCiAuXCIgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKIC5cIgotLlRIIENVUkxPUFRfU1NMVkVSU0lPTiAzICJPY3RvYmVyIDMxLCAyMDE5IiAibGliY3VybCA3LjcwLjAiICJjdXJsX2Vhc3lfc2V0b3B0IG9wdGlvbnMiCisuVEggQ1VSTE9QVF9TU0xWRVJTSU9OIDMgIk9jdG9iZXIgMzEsIDIwMTkiICJsaWJjdXJsIDcuNzEuMSIgImN1cmxfZWFzeV9zZXRvcHQgb3B0aW9ucyIKIAogLlNIIE5BTUUKIENVUkxPUFRfU1NMVkVSU0lPTiBcLSBzZXQgcHJlZmVycmVkIFRMUy9TU0wgdmVyc2lvbgpkaWZmIC0tZ2l0IGEvZG9jcy9saWJjdXJsL29wdHMvQ1VSTE9QVF9TU0xfQ0lQSEVSX0xJU1QuMyBiL2RvY3MvbGliY3VybC9vcHRzL0NVUkxPUFRfU1NMX0NJUEhFUl9MSVNULjMKaW5kZXggZjcyOGQ3ZS4uY2RjNmFhYiAxMDA2NDQKLS0tIGEvZG9jcy9saWJjdXJsL29wdHMvQ1VSTE9QVF9TU0xfQ0lQSEVSX0xJU1QuMworKysgYi9kb2NzL2xpYmN1cmwvb3B0cy9DVVJMT1BUX1NTTF9DSVBIRVJfTElTVC4zCkBAIC0yMCw3ICsyMCw3IEBACiAuXCIgKgogLlwiICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiAuXCIKLS5USCBDVVJMT1BUX1NTTF9DSVBIRVJfTElTVCAzICJNYXJjaCAyMywgMjAyMCIgImxpYmN1cmwgNy43MC4wIiAiY3VybF9lYXN5X3NldG9wdCBvcHRpb25zIgorLlRIIENVUkxPUFRfU1NMX0NJUEhFUl9MSVNUIDMgIkp1bmUgMjUsIDIwMjAiICJsaWJjdXJsIDcuNzEuMSIgImN1cmxfZWFzeV9zZXRvcHQgb3B0aW9ucyIKIAogLlNIIE5BTUUKIENVUkxPUFRfU1NMX0NJUEhFUl9MSVNUIFwtIHNwZWNpZnkgY2lwaGVycyB0byB1c2UgZm9yIFRMUwpAQCAtMjksNyArMjksNyBAQAogCiBDVVJMY29kZSBjdXJsX2Vhc3lfc2V0b3B0KENVUkwgKmhhbmRsZSwgQ1VSTE9QVF9TU0xfQ0lQSEVSX0xJU1QsIGNoYXIgKmxpc3QpOwogLlNIIERFU0NSSVBUSU9OCi1QYXNzIGEgY2hhciAqLCBwb2ludGluZyB0byBhIHplcm8gdGVybWluYXRlZCBzdHJpbmcgaG9sZGluZyB0aGUgbGlzdCBvZgorUGFzcyBhIGNoYXIgKiwgcG9pbnRpbmcgdG8gYSBudWxsLXRlcm1pbmF0ZWQgc3RyaW5nIGhvbGRpbmcgdGhlIGxpc3Qgb2YKIGNpcGhlcnMgdG8gdXNlIGZvciB0aGUgU1NMIGNvbm5lY3Rpb24uIFRoZSBsaXN0IG11c3QgYmUgc3ludGFjdGljYWxseSBjb3JyZWN0LAogaXQgY29uc2lzdHMgb2Ygb25lIG9yIG1vcmUgY2lwaGVyIHN0cmluZ3Mgc2VwYXJhdGVkIGJ5IGNvbG9ucy4gQ29tbWFzIG9yCiBzcGFjZXMgYXJlIGFsc28gYWNjZXB0YWJsZSBzZXBhcmF0b3JzIGJ1dCBjb2xvbnMgYXJlIG5vcm1hbGx5IHVzZWQsIFwmISwgXCYtCmRpZmYgLS1naXQgYS9kb2NzL2xpYmN1cmwvb3B0cy9DVVJMT1BUX1NTTF9DVFhfREFUQS4zIGIvZG9jcy9saWJjdXJsL29wdHMvQ1VSTE9QVF9TU0xfQ1RYX0RBVEEuMwppbmRleCA0NGU1NDRhLi4xYzZiODY3IDEwMDY0NAotLS0gYS9kb2NzL2xpYmN1cmwvb3B0cy9DVVJMT1BUX1NTTF9DVFhfREFUQS4zCisrKyBiL2RvY3MvbGliY3VybC9vcHRzL0NVUkxPUFRfU1NMX0NUWF9EQVRBLjMKQEAgLTIwLDcgKzIwLDcgQEAKIC5cIiAqCiAuXCIgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKIC5cIgotLlRIIENVUkxPUFRfU1NMX0NUWF9EQVRBIDMgIkp1bmUgMDIsIDIwMTkiICJsaWJjdXJsIDcuNzAuMCIgImN1cmxfZWFzeV9zZXRvcHQgb3B0aW9ucyIKKy5USCBDVVJMT1BUX1NTTF9DVFhfREFUQSAzICJKdW5lIDAyLCAyMDE5IiAibGliY3VybCA3LjcxLjEiICJjdXJsX2Vhc3lfc2V0b3B0IG9wdGlvbnMiCiAKIC5TSCBOQU1FCiBDVVJMT1BUX1NTTF9DVFhfREFUQSBcLSBjdXN0b20gcG9pbnRlciBwYXNzZWQgdG8gc3NsX2N0eCBjYWxsYmFjawpkaWZmIC0tZ2l0IGEvZG9jcy9saWJjdXJsL29wdHMvQ1VSTE9QVF9TU0xfQ1RYX0ZVTkNUSU9OLjMgYi9kb2NzL2xpYmN1cmwvb3B0cy9DVVJMT1BUX1NTTF9DVFhfRlVOQ1RJT04uMwppbmRleCAzYmM5OThkLi5hMmQyMjc1IDEwMDY0NAotLS0gYS9kb2NzL2xpYmN1cmwvb3B0cy9DVVJMT1BUX1NTTF9DVFhfRlVOQ1RJT04uMworKysgYi9kb2NzL2xpYmN1cmwvb3B0cy9DVVJMT1BUX1NTTF9DVFhfRlVOQ1RJT04uMwpAQCAtMjAsNyArMjAsNyBAQAogLlwiICoKIC5cIiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogLlwiCi0uVEggQ1VSTE9QVF9TU0xfQ1RYX0ZVTkNUSU9OIDMgIkp1bmUgMDIsIDIwMTkiICJsaWJjdXJsIDcuNzAuMCIgImN1cmxfZWFzeV9zZXRvcHQgb3B0aW9ucyIKKy5USCBDVVJMT1BUX1NTTF9DVFhfRlVOQ1RJT04gMyAiSnVuZSAwMiwgMjAxOSIgImxpYmN1cmwgNy43MS4xIiAiY3VybF9lYXN5X3NldG9wdCBvcHRpb25zIgogCiAuU0ggTkFNRQogQ1VSTE9QVF9TU0xfQ1RYX0ZVTkNUSU9OIFwtIFNTTCBjb250ZXh0IGNhbGxiYWNrIGZvciBPcGVuU1NMLCB3b2xmU1NMIG9yIG1iZWRUTFMKZGlmZiAtLWdpdCBhL2RvY3MvbGliY3VybC9vcHRzL0NVUkxPUFRfU1NMX0VOQUJMRV9BTFBOLjMgYi9kb2NzL2xpYmN1cmwvb3B0cy9DVVJMT1BUX1NTTF9FTkFCTEVfQUxQTi4zCmluZGV4IDFkYmQ3NDAuLmIzMmZjMzkgMTAwNjQ0Ci0tLSBhL2RvY3MvbGliY3VybC9vcHRzL0NVUkxPUFRfU1NMX0VOQUJMRV9BTFBOLjMKKysrIGIvZG9jcy9saWJjdXJsL29wdHMvQ1VSTE9QVF9TU0xfRU5BQkxFX0FMUE4uMwpAQCAtMjAsNyArMjAsNyBAQAogLlwiICoKIC5cIiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogLlwiCi0uVEggQ1VSTE9QVF9TU0xfRU5BQkxFX0FMUE4gMyAiTWF5IDMxLCAyMDE3IiAibGliY3VybCA3LjcwLjAiICJjdXJsX2Vhc3lfc2V0b3B0IG9wdGlvbnMiCisuVEggQ1VSTE9QVF9TU0xfRU5BQkxFX0FMUE4gMyAiTWF5IDMxLCAyMDE3IiAibGliY3VybCA3LjcxLjEiICJjdXJsX2Vhc3lfc2V0b3B0IG9wdGlvbnMiCiAKIC5TSCBOQU1FCiBDVVJMT1BUX1NTTF9FTkFCTEVfQUxQTiBcLSBlbmFibGUgQUxQTgpkaWZmIC0tZ2l0IGEvZG9jcy9saWJjdXJsL29wdHMvQ1VSTE9QVF9TU0xfRU5BQkxFX05QTi4zIGIvZG9jcy9saWJjdXJsL29wdHMvQ1VSTE9QVF9TU0xfRU5BQkxFX05QTi4zCmluZGV4IDQyMWM0YWIuLjVkNzViNmMgMTAwNjQ0Ci0tLSBhL2RvY3MvbGliY3VybC9vcHRzL0NVUkxPUFRfU1NMX0VOQUJMRV9OUE4uMworKysgYi9kb2NzL2xpYmN1cmwvb3B0cy9DVVJMT1BUX1NTTF9FTkFCTEVfTlBOLjMKQEAgLTIwLDcgKzIwLDcgQEAKIC5cIiAqCiAuXCIgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKIC5cIgotLlRIIENVUkxPUFRfU1NMX0VOQUJMRV9OUE4gMyAiTWF5IDMxLCAyMDE3IiAibGliY3VybCA3LjcwLjAiICJjdXJsX2Vhc3lfc2V0b3B0IG9wdGlvbnMiCisuVEggQ1VSTE9QVF9TU0xfRU5BQkxFX05QTiAzICJNYXkgMzEsIDIwMTciICJsaWJjdXJsIDcuNzEuMSIgImN1cmxfZWFzeV9zZXRvcHQgb3B0aW9ucyIKIAogLlNIIE5BTUUKIENVUkxPUFRfU1NMX0VOQUJMRV9OUE4gXC0gZW5hYmxlIE5QTgpkaWZmIC0tZ2l0IGEvZG9jcy9saWJjdXJsL29wdHMvQ1VSTE9QVF9TU0xfRkFMU0VTVEFSVC4zIGIvZG9jcy9saWJjdXJsL29wdHMvQ1VSTE9QVF9TU0xfRkFMU0VTVEFSVC4zCmluZGV4IDMwMjYwMTIuLmQzYTk4MTIgMTAwNjQ0Ci0tLSBhL2RvY3MvbGliY3VybC9vcHRzL0NVUkxPUFRfU1NMX0ZBTFNFU1RBUlQuMworKysgYi9kb2NzL2xpYmN1cmwvb3B0cy9DVVJMT1BUX1NTTF9GQUxTRVNUQVJULjMKQEAgLTIwLDcgKzIwLDcgQEAKIC5cIiAqCiAuXCIgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKIC5cIgotLlRIIENVUkxPUFRfU1NMX0ZBTFNFU1RBUlQgMyAiTWF5IDE1LCAyMDE3IiAibGliY3VybCA3LjcwLjAiICJjdXJsX2Vhc3lfc2V0b3B0IG9wdGlvbnMiCisuVEggQ1VSTE9QVF9TU0xfRkFMU0VTVEFSVCAzICJNYXkgMTUsIDIwMTciICJsaWJjdXJsIDcuNzEuMSIgImN1cmxfZWFzeV9zZXRvcHQgb3B0aW9ucyIKIAogLlNIIE5BTUUKIENVUkxPUFRfU1NMX0ZBTFNFU1RBUlQgXC0gZW5hYmxlIFRMUyBmYWxzZSBzdGFydApkaWZmIC0tZ2l0IGEvZG9jcy9saWJjdXJsL29wdHMvQ1VSTE9QVF9TU0xfT1BUSU9OUy4zIGIvZG9jcy9saWJjdXJsL29wdHMvQ1VSTE9QVF9TU0xfT1BUSU9OUy4zCmluZGV4IDM0ZDc2MjUuLmM1YzI1OGMgMTAwNjQ0Ci0tLSBhL2RvY3MvbGliY3VybC9vcHRzL0NVUkxPUFRfU1NMX09QVElPTlMuMworKysgYi9kb2NzL2xpYmN1cmwvb3B0cy9DVVJMT1BUX1NTTF9PUFRJT05TLjMKQEAgLTIwLDcgKzIwLDcgQEAKIC5cIiAqCiAuXCIgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKIC5cIgotLlRIIENVUkxPUFRfU1NMX09QVElPTlMgMyAiTWFyY2ggMjMsIDIwMjAiICJsaWJjdXJsIDcuNzAuMCIgImN1cmxfZWFzeV9zZXRvcHQgb3B0aW9ucyIKKy5USCBDVVJMT1BUX1NTTF9PUFRJT05TIDMgIkp1bmUgMjIsIDIwMjAiICJsaWJjdXJsIDcuNzEuMSIgImN1cmxfZWFzeV9zZXRvcHQgb3B0aW9ucyIKIAogLlNIIE5BTUUKIENVUkxPUFRfU1NMX09QVElPTlMgXC0gc2V0IFNTTCBiZWhhdmlvciBvcHRpb25zCkBAIC00Myw3ICs0Myw3IEBACiBUZWxscyBsaWJjdXJsIHRvIGRpc2FibGUgY2VydGlmaWNhdGUgcmV2b2NhdGlvbiBjaGVja3MgZm9yIHRob3NlIFNTTCBiYWNrZW5kcwogd2hlcmUgc3VjaCBiZWhhdmlvciBpcyBwcmVzZW50LiBUaGlzIG9wdGlvbiBpcyBvbmx5IHN1cHBvcnRlZCBmb3IgU2NoYW5uZWwKICh0aGUgbmF0aXZlIFdpbmRvd3MgU1NMIGxpYnJhcnkpLCB3aXRoIGFuIGV4Y2VwdGlvbiBpbiB0aGUgY2FzZSBvZiBXaW5kb3dzJwotVW50cnVzdGVkIFB1Ymxpc2hlcnMgYmxhY2tsaXN0IHdoaWNoIGl0IHNlZW1zIGNhbid0IGJlIGJ5cGFzc2VkLiAoQWRkZWQgaW4KK1VudHJ1c3RlZCBQdWJsaXNoZXJzIGJsb2NrIGxpc3Qgd2hpY2ggaXQgc2VlbXMgY2FuJ3QgYmUgYnlwYXNzZWQuIChBZGRlZCBpbgogNy40NC4wKQogLklQIENVUkxTU0xPUFRfTk9fUEFSVElBTENIQUlOCiBUZWxscyBsaWJjdXJsIHRvIG5vdCBhY2NlcHQgInBhcnRpYWwiIGNlcnRpZmljYXRlIGNoYWlucywgd2hpY2ggaXQgb3RoZXJ3aXNlCkBAIC01Niw2ICs1NiwxMSBAQAogcHJlc2VudC4gVGhpcyBvcHRpb24gaXMgb25seSBzdXBwb3J0ZWQgZm9yIFNjaGFubmVsICh0aGUgbmF0aXZlIFdpbmRvd3MgU1NMCiBsaWJyYXJ5KS4gSWYgY29tYmluZWQgd2l0aCBcZklDVVJMU1NMT1BUX05PX1JFVk9LRVxmUCwgdGhlIGxhdHRlciB0YWtlcwogcHJlY2VkZW5jZS4gKEFkZGVkIGluIDcuNzAuMCkKKy5JUCBDVVJMU1NMT1BUX05BVElWRV9DQQorVGVsbCBsaWJjdXJsIHRvIHVzZSB0aGUgb3BlcmF0aW5nIHN5c3RlbSdzIG5hdGl2ZSBDQSBzdG9yZSBmb3IgY2VydGlmaWNhdGUKK3ZlcmlmaWNhdGlvbi4gV29ya3Mgb25seSBvbiBXaW5kb3dzIHdoZW4gYnVpbHQgdG8gdXNlIE9wZW5TU0wuIFRoaXMgb3B0aW9uIGlzCitleHBlcmltZW50YWwgYW5kIGJlaGF2aW9yIGlzIHN1YmplY3QgdG8gY2hhbmdlLgorKEFkZGVkIGluIDcuNzEuMCkKIC5TSCBERUZBVUxUCiAwCiAuU0ggUFJPVE9DT0xTCmRpZmYgLS1naXQgYS9kb2NzL2xpYmN1cmwvb3B0cy9DVVJMT1BUX1NTTF9TRVNTSU9OSURfQ0FDSEUuMyBiL2RvY3MvbGliY3VybC9vcHRzL0NVUkxPUFRfU1NMX1NFU1NJT05JRF9DQUNIRS4zCmluZGV4IGIwMDRjMTguLjQwZDE2NDcgMTAwNjQ0Ci0tLSBhL2RvY3MvbGliY3VybC9vcHRzL0NVUkxPUFRfU1NMX1NFU1NJT05JRF9DQUNIRS4zCisrKyBiL2RvY3MvbGliY3VybC9vcHRzL0NVUkxPUFRfU1NMX1NFU1NJT05JRF9DQUNIRS4zCkBAIC0yMCw3ICsyMCw3IEBACiAuXCIgKgogLlwiICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiAuXCIKLS5USCBDVVJMT1BUX1NTTF9TRVNTSU9OSURfQ0FDSEUgMyAiTWF5IDMxLCAyMDE3IiAibGliY3VybCA3LjcwLjAiICJjdXJsX2Vhc3lfc2V0b3B0IG9wdGlvbnMiCisuVEggQ1VSTE9QVF9TU0xfU0VTU0lPTklEX0NBQ0hFIDMgIk1heSAzMSwgMjAxNyIgImxpYmN1cmwgNy43MS4xIiAiY3VybF9lYXN5X3NldG9wdCBvcHRpb25zIgogCiAuU0ggTkFNRQogQ1VSTE9QVF9TU0xfU0VTU0lPTklEX0NBQ0hFIFwtIGVuYWJsZS9kaXNhYmxlIHVzZSBvZiB0aGUgU1NMIHNlc3Npb24tSUQgY2FjaGUKZGlmZiAtLWdpdCBhL2RvY3MvbGliY3VybC9vcHRzL0NVUkxPUFRfU1NMX1ZFUklGWUhPU1QuMyBiL2RvY3MvbGliY3VybC9vcHRzL0NVUkxPUFRfU1NMX1ZFUklGWUhPU1QuMwppbmRleCA3Y2YwZjY1Li5mZDk2ZTY1IDEwMDY0NAotLS0gYS9kb2NzL2xpYmN1cmwvb3B0cy9DVVJMT1BUX1NTTF9WRVJJRllIT1NULjMKKysrIGIvZG9jcy9saWJjdXJsL29wdHMvQ1VSTE9QVF9TU0xfVkVSSUZZSE9TVC4zCkBAIC0yMCw3ICsyMCw3IEBACiAuXCIgKgogLlwiICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiAuXCIKLS5USCBDVVJMT1BUX1NTTF9WRVJJRllIT1NUIDMgIkF1Z3VzdCAyMCwgMjAxOSIgImxpYmN1cmwgNy43MC4wIiAiY3VybF9lYXN5X3NldG9wdCBvcHRpb25zIgorLlRIIENVUkxPUFRfU1NMX1ZFUklGWUhPU1QgMyAiQXVndXN0IDIwLCAyMDE5IiAibGliY3VybCA3LjcxLjEiICJjdXJsX2Vhc3lfc2V0b3B0IG9wdGlvbnMiCiAKIC5TSCBOQU1FCiBDVVJMT1BUX1NTTF9WRVJJRllIT1NUIFwtIHZlcmlmeSB0aGUgY2VydGlmaWNhdGUncyBuYW1lIGFnYWluc3QgaG9zdApkaWZmIC0tZ2l0IGEvZG9jcy9saWJjdXJsL29wdHMvQ1VSTE9QVF9TU0xfVkVSSUZZUEVFUi4zIGIvZG9jcy9saWJjdXJsL29wdHMvQ1VSTE9QVF9TU0xfVkVSSUZZUEVFUi4zCmluZGV4IDgyNTViYTUuLmE5ZjNhNjQgMTAwNjQ0Ci0tLSBhL2RvY3MvbGliY3VybC9vcHRzL0NVUkxPUFRfU1NMX1ZFUklGWVBFRVIuMworKysgYi9kb2NzL2xpYmN1cmwvb3B0cy9DVVJMT1BUX1NTTF9WRVJJRllQRUVSLjMKQEAgLTIwLDcgKzIwLDcgQEAKIC5cIiAqCiAuXCIgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKIC5cIgotLlRIIENVUkxPUFRfU1NMX1ZFUklGWVBFRVIgMyAiSnVuZSAyNCwgMjAxOCIgImxpYmN1cmwgNy43MC4wIiAiY3VybF9lYXN5X3NldG9wdCBvcHRpb25zIgorLlRIIENVUkxPUFRfU1NMX1ZFUklGWVBFRVIgMyAiSnVuZSAyNCwgMjAxOCIgImxpYmN1cmwgNy43MS4xIiAiY3VybF9lYXN5X3NldG9wdCBvcHRpb25zIgogCiAuU0ggTkFNRQogQ1VSTE9QVF9TU0xfVkVSSUZZUEVFUiBcLSB2ZXJpZnkgdGhlIHBlZXIncyBTU0wgY2VydGlmaWNhdGUKZGlmZiAtLWdpdCBhL2RvY3MvbGliY3VybC9vcHRzL0NVUkxPUFRfU1NMX1ZFUklGWVNUQVRVUy4zIGIvZG9jcy9saWJjdXJsL29wdHMvQ1VSTE9QVF9TU0xfVkVSSUZZU1RBVFVTLjMKaW5kZXggOTU4MzhmYy4uM2FiYmFkNSAxMDA2NDQKLS0tIGEvZG9jcy9saWJjdXJsL29wdHMvQ1VSTE9QVF9TU0xfVkVSSUZZU1RBVFVTLjMKKysrIGIvZG9jcy9saWJjdXJsL29wdHMvQ1VSTE9QVF9TU0xfVkVSSUZZU1RBVFVTLjMKQEAgLTIwLDcgKzIwLDcgQEAKIC5cIiAqCiAuXCIgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKIC5cIgotLlRIIENVUkxPUFRfU1NMX1ZFUklGWVNUQVRVUyAzICJPY3RvYmVyIDA5LCAyMDE4IiAibGliY3VybCA3LjcwLjAiICJjdXJsX2Vhc3lfc2V0b3B0IG9wdGlvbnMiCisuVEggQ1VSTE9QVF9TU0xfVkVSSUZZU1RBVFVTIDMgIk9jdG9iZXIgMDksIDIwMTgiICJsaWJjdXJsIDcuNzEuMSIgImN1cmxfZWFzeV9zZXRvcHQgb3B0aW9ucyIKIAogLlNIIE5BTUUKIENVUkxPUFRfU1NMX1ZFUklGWVNUQVRVUyBcLSB2ZXJpZnkgdGhlIGNlcnRpZmljYXRlJ3Mgc3RhdHVzCmRpZmYgLS1naXQgYS9kb2NzL2xpYmN1cmwvb3B0cy9DVVJMT1BUX1NUREVSUi4zIGIvZG9jcy9saWJjdXJsL29wdHMvQ1VSTE9QVF9TVERFUlIuMwppbmRleCAyZDYwMmMxLi4yNDQyNzgwIDEwMDY0NAotLS0gYS9kb2NzL2xpYmN1cmwvb3B0cy9DVVJMT1BUX1NUREVSUi4zCisrKyBiL2RvY3MvbGliY3VybC9vcHRzL0NVUkxPUFRfU1RERVJSLjMKQEAgLTIwLDcgKzIwLDcgQEAKIC5cIiAqCiAuXCIgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKIC5cIgotLlRIIENVUkxPUFRfU1RERVJSIDMgIk1hcmNoIDIzLCAyMDIwIiAibGliY3VybCA3LjcwLjAiICJjdXJsX2Vhc3lfc2V0b3B0IG9wdGlvbnMiCisuVEggQ1VSTE9QVF9TVERFUlIgMyAiTWFyY2ggMjMsIDIwMjAiICJsaWJjdXJsIDcuNzEuMSIgImN1cmxfZWFzeV9zZXRvcHQgb3B0aW9ucyIKIAogLlNIIE5BTUUKIENVUkxPUFRfU1RERVJSIFwtIHJlZGlyZWN0IHN0ZGVyciB0byBhbm90aGVyIHN0cmVhbQpkaWZmIC0tZ2l0IGEvZG9jcy9saWJjdXJsL29wdHMvQ1VSTE9QVF9TVFJFQU1fREVQRU5EUy4zIGIvZG9jcy9saWJjdXJsL29wdHMvQ1VSTE9QVF9TVFJFQU1fREVQRU5EUy4zCmluZGV4IDZjMTRmMTAuLjg5ZWRhOTMgMTAwNjQ0Ci0tLSBhL2RvY3MvbGliY3VybC9vcHRzL0NVUkxPUFRfU1RSRUFNX0RFUEVORFMuMworKysgYi9kb2NzL2xpYmN1cmwvb3B0cy9DVVJMT1BUX1NUUkVBTV9ERVBFTkRTLjMKQEAgLTIwLDcgKzIwLDcgQEAKIC5cIiAqCiAuXCIgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKIC5cIgotLlRIIENVUkxPUFRfU1RSRUFNX0RFUEVORFMgMyAiTWF5IDMxLCAyMDE3IiAibGliY3VybCA3LjcwLjAiICJjdXJsX2Vhc3lfc2V0b3B0IG9wdGlvbnMiCisuVEggQ1VSTE9QVF9TVFJFQU1fREVQRU5EUyAzICJNYXkgMzEsIDIwMTciICJsaWJjdXJsIDcuNzEuMSIgImN1cmxfZWFzeV9zZXRvcHQgb3B0aW9ucyIKIAogLlNIIE5BTUUKIENVUkxPUFRfU1RSRUFNX0RFUEVORFMgXC0gc2V0IHN0cmVhbSB0aGlzIHRyYW5zZmVyIGRlcGVuZHMgb24KZGlmZiAtLWdpdCBhL2RvY3MvbGliY3VybC9vcHRzL0NVUkxPUFRfU1RSRUFNX0RFUEVORFNfRS4zIGIvZG9jcy9saWJjdXJsL29wdHMvQ1VSTE9QVF9TVFJFQU1fREVQRU5EU19FLjMKaW5kZXggNzA1Mzc3NS4uYmU4OGE0NyAxMDA2NDQKLS0tIGEvZG9jcy9saWJjdXJsL29wdHMvQ1VSTE9QVF9TVFJFQU1fREVQRU5EU19FLjMKKysrIGIvZG9jcy9saWJjdXJsL29wdHMvQ1VSTE9QVF9TVFJFQU1fREVQRU5EU19FLjMKQEAgLTIwLDcgKzIwLDcgQEAKIC5cIiAqCiAuXCIgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKIC5cIgotLlRIIENVUkxPUFRfU1RSRUFNX0RFUEVORFNfRSAzICJNYXJjaCAyMywgMjAyMCIgImxpYmN1cmwgNy43MC4wIiAiY3VybF9lYXN5X3NldG9wdCBvcHRpb25zIgorLlRIIENVUkxPUFRfU1RSRUFNX0RFUEVORFNfRSAzICJNYXJjaCAyMywgMjAyMCIgImxpYmN1cmwgNy43MS4xIiAiY3VybF9lYXN5X3NldG9wdCBvcHRpb25zIgogCiAuU0ggTkFNRQogQ1VSTE9QVF9TVFJFQU1fREVQRU5EU19FIFwtIHNldCBzdHJlYW0gdGhpcyB0cmFuc2ZlciBkZXBlbmRzIG9uIGV4Y2x1c2l2ZWx5CmRpZmYgLS1naXQgYS9kb2NzL2xpYmN1cmwvb3B0cy9DVVJMT1BUX1NUUkVBTV9XRUlHSFQuMyBiL2RvY3MvbGliY3VybC9vcHRzL0NVUkxPUFRfU1RSRUFNX1dFSUdIVC4zCmluZGV4IGY0Mzk3ODcuLmIyMzQ4ZjQgMTAwNjQ0Ci0tLSBhL2RvY3MvbGliY3VybC9vcHRzL0NVUkxPUFRfU1RSRUFNX1dFSUdIVC4zCisrKyBiL2RvY3MvbGliY3VybC9vcHRzL0NVUkxPUFRfU1RSRUFNX1dFSUdIVC4zCkBAIC0yMCw3ICsyMCw3IEBACiAuXCIgKgogLlwiICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiAuXCIKLS5USCBDVVJMT1BUX1NUUkVBTV9XRUlHSFQgMyAiTWFyY2ggMjMsIDIwMjAiICJsaWJjdXJsIDcuNzAuMCIgImN1cmxfZWFzeV9zZXRvcHQgb3B0aW9ucyIKKy5USCBDVVJMT1BUX1NUUkVBTV9XRUlHSFQgMyAiTWFyY2ggMjMsIDIwMjAiICJsaWJjdXJsIDcuNzEuMSIgImN1cmxfZWFzeV9zZXRvcHQgb3B0aW9ucyIKIAogLlNIIE5BTUUKIENVUkxPUFRfU1RSRUFNX1dFSUdIVCBcLSBzZXQgbnVtZXJpY2FsIHN0cmVhbSB3ZWlnaHQKZGlmZiAtLWdpdCBhL2RvY3MvbGliY3VybC9vcHRzL0NVUkxPUFRfU1VQUFJFU1NfQ09OTkVDVF9IRUFERVJTLjMgYi9kb2NzL2xpYmN1cmwvb3B0cy9DVVJMT1BUX1NVUFBSRVNTX0NPTk5FQ1RfSEVBREVSUy4zCmluZGV4IDI3OWI3YzcuLmFiODJmZjggMTAwNjQ0Ci0tLSBhL2RvY3MvbGliY3VybC9vcHRzL0NVUkxPUFRfU1VQUFJFU1NfQ09OTkVDVF9IRUFERVJTLjMKKysrIGIvZG9jcy9saWJjdXJsL29wdHMvQ1VSTE9QVF9TVVBQUkVTU19DT05ORUNUX0hFQURFUlMuMwpAQCAtMjAsNyArMjAsNyBAQAogLlwiICoKIC5cIiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogLlwiCi0uVEggQ1VSTE9QVF9TVVBQUkVTU19DT05ORUNUX0hFQURFUlMgMyAiQXByaWwgMjgsIDIwMTYiICJsaWJjdXJsIDcuNzAuMCIgImN1cmxfZWFzeV9zZXRvcHQgb3B0aW9ucyIKKy5USCBDVVJMT1BUX1NVUFBSRVNTX0NPTk5FQ1RfSEVBREVSUyAzICJBcHJpbCAyOCwgMjAxNiIgImxpYmN1cmwgNy43MS4xIiAiY3VybF9lYXN5X3NldG9wdCBvcHRpb25zIgogCiAuU0ggTkFNRQogQ1VSTE9QVF9TVVBQUkVTU19DT05ORUNUX0hFQURFUlMgXC0gU3VwcHJlc3MgcHJveHkgQ09OTkVDVCByZXNwb25zZSBoZWFkZXJzIGZyb20gdXNlciBjYWxsYmFja3MKZGlmZiAtLWdpdCBhL2RvY3MvbGliY3VybC9vcHRzL0NVUkxPUFRfVENQX0ZBU1RPUEVOLjMgYi9kb2NzL2xpYmN1cmwvb3B0cy9DVVJMT1BUX1RDUF9GQVNUT1BFTi4zCmluZGV4IDc1YjRiZWIuLmI0MDFhNzMgMTAwNjQ0Ci0tLSBhL2RvY3MvbGliY3VybC9vcHRzL0NVUkxPUFRfVENQX0ZBU1RPUEVOLjMKKysrIGIvZG9jcy9saWJjdXJsL29wdHMvQ1VSTE9QVF9UQ1BfRkFTVE9QRU4uMwpAQCAtMjAsNyArMjAsNyBAQAogLlwiICoKIC5cIiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogLlwiCi0uVEggQ1VSTE9QVF9UQ1BfRkFTVE9QRU4gMyAiTWF5IDE1LCAyMDE3IiAibGliY3VybCA3LjcwLjAiICJjdXJsX2Vhc3lfc2V0b3B0IG9wdGlvbnMiCisuVEggQ1VSTE9QVF9UQ1BfRkFTVE9QRU4gMyAiTWF5IDE1LCAyMDE3IiAibGliY3VybCA3LjcxLjEiICJjdXJsX2Vhc3lfc2V0b3B0IG9wdGlvbnMiCiAKIC5TSCBOQU1FCiBDVVJMT1BUX1RDUF9GQVNUT1BFTiBcLSBlbmFibGUgVENQIEZhc3QgT3BlbgpkaWZmIC0tZ2l0IGEvZG9jcy9saWJjdXJsL29wdHMvQ1VSTE9QVF9UQ1BfS0VFUEFMSVZFLjMgYi9kb2NzL2xpYmN1cmwvb3B0cy9DVVJMT1BUX1RDUF9LRUVQQUxJVkUuMwppbmRleCBiZGFkY2E4Li4wNDA3MzJkIDEwMDY0NAotLS0gYS9kb2NzL2xpYmN1cmwvb3B0cy9DVVJMT1BUX1RDUF9LRUVQQUxJVkUuMworKysgYi9kb2NzL2xpYmN1cmwvb3B0cy9DVVJMT1BUX1RDUF9LRUVQQUxJVkUuMwpAQCAtMjAsNyArMjAsNyBAQAogLlwiICoKIC5cIiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogLlwiCi0uVEggQ1VSTE9QVF9UQ1BfS0VFUEFMSVZFIDMgIk1hcmNoIDIzLCAyMDIwIiAibGliY3VybCA3LjcwLjAiICJjdXJsX2Vhc3lfc2V0b3B0IG9wdGlvbnMiCisuVEggQ1VSTE9QVF9UQ1BfS0VFUEFMSVZFIDMgIk1hcmNoIDIzLCAyMDIwIiAibGliY3VybCA3LjcxLjEiICJjdXJsX2Vhc3lfc2V0b3B0IG9wdGlvbnMiCiAKIC5TSCBOQU1FCiBDVVJMT1BUX1RDUF9LRUVQQUxJVkUgXC0gZW5hYmxlIFRDUCBrZWVwLWFsaXZlIHByb2JpbmcKZGlmZiAtLWdpdCBhL2RvY3MvbGliY3VybC9vcHRzL0NVUkxPUFRfVENQX0tFRVBJRExFLjMgYi9kb2NzL2xpYmN1cmwvb3B0cy9DVVJMT1BUX1RDUF9LRUVQSURMRS4zCmluZGV4IDYzNGUwNDYuLjg1MzkyZmMgMTAwNjQ0Ci0tLSBhL2RvY3MvbGliY3VybC9vcHRzL0NVUkxPUFRfVENQX0tFRVBJRExFLjMKKysrIGIvZG9jcy9saWJjdXJsL29wdHMvQ1VSTE9QVF9UQ1BfS0VFUElETEUuMwpAQCAtMjAsNyArMjAsNyBAQAogLlwiICoKIC5cIiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogLlwiCi0uVEggQ1VSTE9QVF9UQ1BfS0VFUElETEUgMyAiTWFyY2ggMjMsIDIwMjAiICJsaWJjdXJsIDcuNzAuMCIgImN1cmxfZWFzeV9zZXRvcHQgb3B0aW9ucyIKKy5USCBDVVJMT1BUX1RDUF9LRUVQSURMRSAzICJNYXJjaCAyMywgMjAyMCIgImxpYmN1cmwgNy43MS4xIiAiY3VybF9lYXN5X3NldG9wdCBvcHRpb25zIgogCiAuU0ggTkFNRQogQ1VSTE9QVF9UQ1BfS0VFUElETEUgXC0gc2V0IFRDUCBrZWVwLWFsaXZlIGlkbGUgdGltZSB3YWl0CmRpZmYgLS1naXQgYS9kb2NzL2xpYmN1cmwvb3B0cy9DVVJMT1BUX1RDUF9LRUVQSU5UVkwuMyBiL2RvY3MvbGliY3VybC9vcHRzL0NVUkxPUFRfVENQX0tFRVBJTlRWTC4zCmluZGV4IDgxOWMwYjEuLjAxZGFmMDYgMTAwNjQ0Ci0tLSBhL2RvY3MvbGliY3VybC9vcHRzL0NVUkxPUFRfVENQX0tFRVBJTlRWTC4zCisrKyBiL2RvY3MvbGliY3VybC9vcHRzL0NVUkxPUFRfVENQX0tFRVBJTlRWTC4zCkBAIC0yMCw3ICsyMCw3IEBACiAuXCIgKgogLlwiICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiAuXCIKLS5USCBDVVJMT1BUX1RDUF9LRUVQSU5UVkwgMyAiTWFyY2ggMjMsIDIwMjAiICJsaWJjdXJsIDcuNzAuMCIgImN1cmxfZWFzeV9zZXRvcHQgb3B0aW9ucyIKKy5USCBDVVJMT1BUX1RDUF9LRUVQSU5UVkwgMyAiTWFyY2ggMjMsIDIwMjAiICJsaWJjdXJsIDcuNzEuMSIgImN1cmxfZWFzeV9zZXRvcHQgb3B0aW9ucyIKIAogLlNIIE5BTUUKIENVUkxPUFRfVENQX0tFRVBJTlRWTCBcLSBzZXQgVENQIGtlZXAtYWxpdmUgaW50ZXJ2YWwKZGlmZiAtLWdpdCBhL2RvY3MvbGliY3VybC9vcHRzL0NVUkxPUFRfVENQX05PREVMQVkuMyBiL2RvY3MvbGliY3VybC9vcHRzL0NVUkxPUFRfVENQX05PREVMQVkuMwppbmRleCBhZTZmZTgwLi44NGMyNTQyIDEwMDY0NAotLS0gYS9kb2NzL2xpYmN1cmwvb3B0cy9DVVJMT1BUX1RDUF9OT0RFTEFZLjMKKysrIGIvZG9jcy9saWJjdXJsL29wdHMvQ1VSTE9QVF9UQ1BfTk9ERUxBWS4zCkBAIC0yMCw3ICsyMCw3IEBACiAuXCIgKgogLlwiICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiAuXCIKLS5USCBDVVJMT1BUX1RDUF9OT0RFTEFZIDMgIk1hcmNoIDIzLCAyMDIwIiAibGliY3VybCA3LjcwLjAiICJjdXJsX2Vhc3lfc2V0b3B0IG9wdGlvbnMiCisuVEggQ1VSTE9QVF9UQ1BfTk9ERUxBWSAzICJNYXJjaCAyMywgMjAyMCIgImxpYmN1cmwgNy43MS4xIiAiY3VybF9lYXN5X3NldG9wdCBvcHRpb25zIgogCiAuU0ggTkFNRQogQ1VSTE9QVF9UQ1BfTk9ERUxBWSBcLSBzZXQgdGhlIFRDUF9OT0RFTEFZIG9wdGlvbgpkaWZmIC0tZ2l0IGEvZG9jcy9saWJjdXJsL29wdHMvQ1VSTE9QVF9URUxORVRPUFRJT05TLjMgYi9kb2NzL2xpYmN1cmwvb3B0cy9DVVJMT1BUX1RFTE5FVE9QVElPTlMuMwppbmRleCA2ZmE0YzIzLi5iMTRiNmFmIDEwMDY0NAotLS0gYS9kb2NzL2xpYmN1cmwvb3B0cy9DVVJMT1BUX1RFTE5FVE9QVElPTlMuMworKysgYi9kb2NzL2xpYmN1cmwvb3B0cy9DVVJMT1BUX1RFTE5FVE9QVElPTlMuMwpAQCAtMjAsNyArMjAsNyBAQAogLlwiICoKIC5cIiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogLlwiCi0uVEggQ1VSTE9QVF9URUxORVRPUFRJT05TIDMgIk1heSAzMSwgMjAxNyIgImxpYmN1cmwgNy43MC4wIiAiY3VybF9lYXN5X3NldG9wdCBvcHRpb25zIgorLlRIIENVUkxPUFRfVEVMTkVUT1BUSU9OUyAzICJNYXkgMzEsIDIwMTciICJsaWJjdXJsIDcuNzEuMSIgImN1cmxfZWFzeV9zZXRvcHQgb3B0aW9ucyIKIAogLlNIIE5BTUUKIENVUkxPUFRfVEVMTkVUT1BUSU9OUyBcLSBjdXN0b20gdGVsbmV0IG9wdGlvbnMKZGlmZiAtLWdpdCBhL2RvY3MvbGliY3VybC9vcHRzL0NVUkxPUFRfVEZUUF9CTEtTSVpFLjMgYi9kb2NzL2xpYmN1cmwvb3B0cy9DVVJMT1BUX1RGVFBfQkxLU0laRS4zCmluZGV4IGJhMzk5ZWUuLjI5YzFjNjYgMTAwNjQ0Ci0tLSBhL2RvY3MvbGliY3VybC9vcHRzL0NVUkxPUFRfVEZUUF9CTEtTSVpFLjMKKysrIGIvZG9jcy9saWJjdXJsL29wdHMvQ1VSTE9QVF9URlRQX0JMS1NJWkUuMwpAQCAtMjAsNyArMjAsNyBAQAogLlwiICoKIC5cIiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogLlwiCi0uVEggQ1VSTE9QVF9URlRQX0JMS1NJWkUgMyAiTWF5IDMxLCAyMDE3IiAibGliY3VybCA3LjcwLjAiICJjdXJsX2Vhc3lfc2V0b3B0IG9wdGlvbnMiCisuVEggQ1VSTE9QVF9URlRQX0JMS1NJWkUgMyAiTWF5IDMxLCAyMDE3IiAibGliY3VybCA3LjcxLjEiICJjdXJsX2Vhc3lfc2V0b3B0IG9wdGlvbnMiCiAKIC5TSCBOQU1FCiBDVVJMT1BUX1RGVFBfQkxLU0laRSBcLSBURlRQIGJsb2NrIHNpemUKZGlmZiAtLWdpdCBhL2RvY3MvbGliY3VybC9vcHRzL0NVUkxPUFRfVEZUUF9OT19PUFRJT05TLjMgYi9kb2NzL2xpYmN1cmwvb3B0cy9DVVJMT1BUX1RGVFBfTk9fT1BUSU9OUy4zCmluZGV4IDRjMGQ0MWUuLjgyY2FiOWIgMTAwNjQ0Ci0tLSBhL2RvY3MvbGliY3VybC9vcHRzL0NVUkxPUFRfVEZUUF9OT19PUFRJT05TLjMKKysrIGIvZG9jcy9saWJjdXJsL29wdHMvQ1VSTE9QVF9URlRQX05PX09QVElPTlMuMwpAQCAtMjAsNyArMjAsNyBAQAogLlwiICoKIC5cIiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogLlwiCi0uVEggQ1VSTE9QVF9URlRQX05PX09QVElPTlMgMyAiQXByaWwgMDYsIDIwMTYiICJsaWJjdXJsIDcuNzAuMCIgImN1cmxfZWFzeV9zZXRvcHQgb3B0aW9ucyIKKy5USCBDVVJMT1BUX1RGVFBfTk9fT1BUSU9OUyAzICJBcHJpbCAwNiwgMjAxNiIgImxpYmN1cmwgNy43MS4xIiAiY3VybF9lYXN5X3NldG9wdCBvcHRpb25zIgogCiAuU0ggTkFNRQogQ1VSTE9QVF9URlRQX05PX09QVElPTlMgXC0gRG8gbm90IHNlbmQgVEZUUCBvcHRpb25zIHJlcXVlc3RzLgpkaWZmIC0tZ2l0IGEvZG9jcy9saWJjdXJsL29wdHMvQ1VSTE9QVF9USU1FQ09ORElUSU9OLjMgYi9kb2NzL2xpYmN1cmwvb3B0cy9DVVJMT1BUX1RJTUVDT05ESVRJT04uMwppbmRleCA0YWZmZDZjLi5hMmI0Yzg4IDEwMDY0NAotLS0gYS9kb2NzL2xpYmN1cmwvb3B0cy9DVVJMT1BUX1RJTUVDT05ESVRJT04uMworKysgYi9kb2NzL2xpYmN1cmwvb3B0cy9DVVJMT1BUX1RJTUVDT05ESVRJT04uMwpAQCAtMjAsNyArMjAsNyBAQAogLlwiICoKIC5cIiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogLlwiCi0uVEggQ1VSTE9QVF9USU1FQ09ORElUSU9OIDMgIkFwcmlsIDAzLCAyMDE2IiAibGliY3VybCA3LjcwLjAiICJjdXJsX2Vhc3lfc2V0b3B0IG9wdGlvbnMiCisuVEggQ1VSTE9QVF9USU1FQ09ORElUSU9OIDMgIkFwcmlsIDAzLCAyMDE2IiAibGliY3VybCA3LjcxLjEiICJjdXJsX2Vhc3lfc2V0b3B0IG9wdGlvbnMiCiAKIC5TSCBOQU1FCiBDVVJMT1BUX1RJTUVDT05ESVRJT04gXC0gc2VsZWN0IGNvbmRpdGlvbiBmb3IgYSB0aW1lIHJlcXVlc3QKZGlmZiAtLWdpdCBhL2RvY3MvbGliY3VybC9vcHRzL0NVUkxPUFRfVElNRU9VVC4zIGIvZG9jcy9saWJjdXJsL29wdHMvQ1VSTE9QVF9USU1FT1VULjMKaW5kZXggZTk3OWNjYy4uODc2ZDk2MyAxMDA2NDQKLS0tIGEvZG9jcy9saWJjdXJsL29wdHMvQ1VSTE9QVF9USU1FT1VULjMKKysrIGIvZG9jcy9saWJjdXJsL29wdHMvQ1VSTE9QVF9USU1FT1VULjMKQEAgLTIwLDcgKzIwLDcgQEAKIC5cIiAqCiAuXCIgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKIC5cIgotLlRIIENVUkxPUFRfVElNRU9VVCAzICJPY3RvYmVyIDE1LCAyMDE5IiAibGliY3VybCA3LjcwLjAiICJjdXJsX2Vhc3lfc2V0b3B0IG9wdGlvbnMiCisuVEggQ1VSTE9QVF9USU1FT1VUIDMgIk9jdG9iZXIgMTUsIDIwMTkiICJsaWJjdXJsIDcuNzEuMSIgImN1cmxfZWFzeV9zZXRvcHQgb3B0aW9ucyIKIAogLlNIIE5BTUUKIENVUkxPUFRfVElNRU9VVCBcLSBzZXQgbWF4aW11bSB0aW1lIHRoZSByZXF1ZXN0IGlzIGFsbG93ZWQgdG8gdGFrZQpkaWZmIC0tZ2l0IGEvZG9jcy9saWJjdXJsL29wdHMvQ1VSTE9QVF9USU1FT1VUX01TLjMgYi9kb2NzL2xpYmN1cmwvb3B0cy9DVVJMT1BUX1RJTUVPVVRfTVMuMwppbmRleCA4NmViMTkyLi44NmQ5NDFhIDEwMDY0NAotLS0gYS9kb2NzL2xpYmN1cmwvb3B0cy9DVVJMT1BUX1RJTUVPVVRfTVMuMworKysgYi9kb2NzL2xpYmN1cmwvb3B0cy9DVVJMT1BUX1RJTUVPVVRfTVMuMwpAQCAtMjAsNyArMjAsNyBAQAogLlwiICoKIC5cIiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogLlwiCi0uVEggQ1VSTE9QVF9USU1FT1VUX01TIDMgIk1hcmNoIDIzLCAyMDIwIiAibGliY3VybCA3LjcwLjAiICJjdXJsX2Vhc3lfc2V0b3B0IG9wdGlvbnMiCisuVEggQ1VSTE9QVF9USU1FT1VUX01TIDMgIk1hcmNoIDIzLCAyMDIwIiAibGliY3VybCA3LjcxLjEiICJjdXJsX2Vhc3lfc2V0b3B0IG9wdGlvbnMiCiAKIC5TSCBOQU1FCiBDVVJMT1BUX1RJTUVPVVRfTVMgXC0gc2V0IG1heGltdW0gdGltZSB0aGUgcmVxdWVzdCBpcyBhbGxvd2VkIHRvIHRha2UKZGlmZiAtLWdpdCBhL2RvY3MvbGliY3VybC9vcHRzL0NVUkxPUFRfVElNRVZBTFVFLjMgYi9kb2NzL2xpYmN1cmwvb3B0cy9DVVJMT1BUX1RJTUVWQUxVRS4zCmluZGV4IDM0MmQ2YjAuLjc1MWM3ZjEgMTAwNjQ0Ci0tLSBhL2RvY3MvbGliY3VybC9vcHRzL0NVUkxPUFRfVElNRVZBTFVFLjMKKysrIGIvZG9jcy9saWJjdXJsL29wdHMvQ1VSTE9QVF9USU1FVkFMVUUuMwpAQCAtMjAsNyArMjAsNyBAQAogLlwiICoKIC5cIiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogLlwiCi0uVEggQ1VSTE9QVF9USU1FVkFMVUUgMyAiSmFudWFyeSAyNSwgMjAxOCIgImxpYmN1cmwgNy43MC4wIiAiY3VybF9lYXN5X3NldG9wdCBvcHRpb25zIgorLlRIIENVUkxPUFRfVElNRVZBTFVFIDMgIkphbnVhcnkgMjUsIDIwMTgiICJsaWJjdXJsIDcuNzEuMSIgImN1cmxfZWFzeV9zZXRvcHQgb3B0aW9ucyIKIAogLlNIIE5BTUUKIENVUkxPUFRfVElNRVZBTFVFIFwtIHNldCB0aW1lIHZhbHVlIGZvciBjb25kaXRpb25hbApkaWZmIC0tZ2l0IGEvZG9jcy9saWJjdXJsL29wdHMvQ1VSTE9QVF9USU1FVkFMVUVfTEFSR0UuMyBiL2RvY3MvbGliY3VybC9vcHRzL0NVUkxPUFRfVElNRVZBTFVFX0xBUkdFLjMKaW5kZXggYzkzYzYxOC4uYmMwNmJhMyAxMDA2NDQKLS0tIGEvZG9jcy9saWJjdXJsL29wdHMvQ1VSTE9QVF9USU1FVkFMVUVfTEFSR0UuMworKysgYi9kb2NzL2xpYmN1cmwvb3B0cy9DVVJMT1BUX1RJTUVWQUxVRV9MQVJHRS4zCkBAIC0yMCw3ICsyMCw3IEBACiAuXCIgKgogLlwiICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiAuXCIKLS5USCBDVVJMT1BUX1RJTUVWQUxVRV9MQVJHRSAzICJKYW51YXJ5IDI1LCAyMDE4IiAibGliY3VybCA3LjcwLjAiICJjdXJsX2Vhc3lfc2V0b3B0IG9wdGlvbnMiCisuVEggQ1VSTE9QVF9USU1FVkFMVUVfTEFSR0UgMyAiSmFudWFyeSAyNSwgMjAxOCIgImxpYmN1cmwgNy43MS4xIiAiY3VybF9lYXN5X3NldG9wdCBvcHRpb25zIgogCiAuU0ggTkFNRQogQ1VSTE9QVF9USU1FVkFMVUVfTEFSR0UgXC0gc2V0IHRpbWUgdmFsdWUgZm9yIGNvbmRpdGlvbmFsCmRpZmYgLS1naXQgYS9kb2NzL2xpYmN1cmwvb3B0cy9DVVJMT1BUX1RMUzEzX0NJUEhFUlMuMyBiL2RvY3MvbGliY3VybC9vcHRzL0NVUkxPUFRfVExTMTNfQ0lQSEVSUy4zCmluZGV4IGMyNmIzYmUuLjhkNDRhNDMgMTAwNjQ0Ci0tLSBhL2RvY3MvbGliY3VybC9vcHRzL0NVUkxPUFRfVExTMTNfQ0lQSEVSUy4zCisrKyBiL2RvY3MvbGliY3VybC9vcHRzL0NVUkxPUFRfVExTMTNfQ0lQSEVSUy4zCkBAIC0yMCw3ICsyMCw3IEBACiAuXCIgKgogLlwiICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiAuXCIKLS5USCBDVVJMT1BUX1RMUzEzX0NJUEhFUlMgMyAiT2N0b2JlciAzMSwgMjAxOSIgImxpYmN1cmwgNy43MC4wIiAiY3VybF9lYXN5X3NldG9wdCBvcHRpb25zIgorLlRIIENVUkxPUFRfVExTMTNfQ0lQSEVSUyAzICJKdW5lIDI1LCAyMDIwIiAibGliY3VybCA3LjcxLjEiICJjdXJsX2Vhc3lfc2V0b3B0IG9wdGlvbnMiCiAKIC5TSCBOQU1FCiBDVVJMT1BUX1RMUzEzX0NJUEhFUlMgXC0gc3BlY2lmeSBjaXBoZXJzIHN1aXRlcyB0byB1c2UgZm9yIFRMUyAxLjMKQEAgLTI5LDcgKzI5LDcgQEAKIAogQ1VSTGNvZGUgY3VybF9lYXN5X3NldG9wdChDVVJMICpoYW5kbGUsIENVUkxPUFRfVExTMTNfQ0lQSEVSUywgY2hhciAqbGlzdCk7CiAuU0ggREVTQ1JJUFRJT04KLVBhc3MgYSBjaGFyICosIHBvaW50aW5nIHRvIGEgemVybyB0ZXJtaW5hdGVkIHN0cmluZyBob2xkaW5nIHRoZSBsaXN0IG9mIGNpcGhlcgorUGFzcyBhIGNoYXIgKiwgcG9pbnRpbmcgdG8gYSBudWxsLXRlcm1pbmF0ZWQgc3RyaW5nIGhvbGRpbmcgdGhlIGxpc3Qgb2YgY2lwaGVyCiBzdWl0ZXMgdG8gdXNlIGZvciB0aGUgVExTIDEuMyBjb25uZWN0aW9uLiBUaGUgbGlzdCBtdXN0IGJlIHN5bnRhY3RpY2FsbHkKIGNvcnJlY3QsIGl0IGNvbnNpc3RzIG9mIG9uZSBvciBtb3JlIGNpcGhlciBzdWl0ZSBzdHJpbmdzIHNlcGFyYXRlZCBieSBjb2xvbnMuCiAKZGlmZiAtLWdpdCBhL2RvY3MvbGliY3VybC9vcHRzL0NVUkxPUFRfVExTQVVUSF9QQVNTV09SRC4zIGIvZG9jcy9saWJjdXJsL29wdHMvQ1VSTE9QVF9UTFNBVVRIX1BBU1NXT1JELjMKaW5kZXggMDk1ZmRmMC4uYzgxMTk1MyAxMDA2NDQKLS0tIGEvZG9jcy9saWJjdXJsL29wdHMvQ1VSTE9QVF9UTFNBVVRIX1BBU1NXT1JELjMKKysrIGIvZG9jcy9saWJjdXJsL29wdHMvQ1VSTE9QVF9UTFNBVVRIX1BBU1NXT1JELjMKQEAgLTIwLDcgKzIwLDcgQEAKIC5cIiAqCiAuXCIgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKIC5cIgotLlRIIENVUkxPUFRfVExTQVVUSF9QQVNTV09SRCAzICJEZWNlbWJlciAxNiwgMjAxOSIgImxpYmN1cmwgNy43MC4wIiAiY3VybF9lYXN5X3NldG9wdCBvcHRpb25zIgorLlRIIENVUkxPUFRfVExTQVVUSF9QQVNTV09SRCAzICJKdW5lIDI1LCAyMDIwIiAibGliY3VybCA3LjcxLjEiICJjdXJsX2Vhc3lfc2V0b3B0IG9wdGlvbnMiCiAKIC5TSCBOQU1FCiBDVVJMT1BUX1RMU0FVVEhfUEFTU1dPUkQgXC0gcGFzc3dvcmQgdG8gdXNlIGZvciBUTFMgYXV0aGVudGljYXRpb24KQEAgLTI5LDcgKzI5LDcgQEAKIAogQ1VSTGNvZGUgY3VybF9lYXN5X3NldG9wdChDVVJMICpoYW5kbGUsIENVUkxPUFRfVExTQVVUSF9QQVNTV09SRCwgY2hhciAqcHdkKTsKIC5TSCBERVNDUklQVElPTgotUGFzcyBhIGNoYXIgKiBhcyBwYXJhbWV0ZXIsIHdoaWNoIHNob3VsZCBwb2ludCB0byB0aGUgemVybyB0ZXJtaW5hdGVkIHBhc3N3b3JkCitQYXNzIGEgY2hhciAqIGFzIHBhcmFtZXRlciwgd2hpY2ggc2hvdWxkIHBvaW50IHRvIHRoZSBudWxsLXRlcm1pbmF0ZWQgcGFzc3dvcmQKIHRvIHVzZSBmb3IgdGhlIFRMUyBhdXRoZW50aWNhdGlvbiBtZXRob2Qgc3BlY2lmaWVkIHdpdGggdGhlCiBcZklDVVJMT1BUX1RMU0FVVEhfVFlQRSgzKVxmUCBvcHRpb24uIFJlcXVpcmVzIHRoYXQgdGhlCiBcZklDVVJMT1BUX1RMU0FVVEhfVVNFUk5BTUUoMylcZlAgb3B0aW9uIGFsc28gYmUgc2V0LgpkaWZmIC0tZ2l0IGEvZG9jcy9saWJjdXJsL29wdHMvQ1VSTE9QVF9UTFNBVVRIX1RZUEUuMyBiL2RvY3MvbGliY3VybC9vcHRzL0NVUkxPUFRfVExTQVVUSF9UWVBFLjMKaW5kZXggZjM3ZmExZC4uZDYzNTljYSAxMDA2NDQKLS0tIGEvZG9jcy9saWJjdXJsL29wdHMvQ1VSTE9QVF9UTFNBVVRIX1RZUEUuMworKysgYi9kb2NzL2xpYmN1cmwvb3B0cy9DVVJMT1BUX1RMU0FVVEhfVFlQRS4zCkBAIC0yMCw3ICsyMCw3IEBACiAuXCIgKgogLlwiICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiAuXCIKLS5USCBDVVJMT1BUX1RMU0FVVEhfVFlQRSAzICJEZWNlbWJlciAxNiwgMjAxOSIgImxpYmN1cmwgNy43MC4wIiAiY3VybF9lYXN5X3NldG9wdCBvcHRpb25zIgorLlRIIENVUkxPUFRfVExTQVVUSF9UWVBFIDMgIkp1bmUgMjUsIDIwMjAiICJsaWJjdXJsIDcuNzEuMSIgImN1cmxfZWFzeV9zZXRvcHQgb3B0aW9ucyIKIAogLlNIIE5BTUUKIENVUkxPUFRfVExTQVVUSF9UWVBFIFwtIHNldCBUTFMgYXV0aGVudGljYXRpb24gbWV0aG9kcwpAQCAtMjksNyArMjksNyBAQAogCiBDVVJMY29kZSBjdXJsX2Vhc3lfc2V0b3B0KENVUkwgKmhhbmRsZSwgQ1VSTE9QVF9UTFNBVVRIX1RZUEUsIGNoYXIgKnR5cGUpOwogLlNIIERFU0NSSVBUSU9OCi1QYXNzIGEgcG9pbnRlciB0byBhIHplcm8gdGVybWluYXRlZCBzdHJpbmcgYXMgcGFyYW1ldGVyLiBUaGUgc3RyaW5nIHNob3VsZCBiZQorUGFzcyBhIHBvaW50ZXIgdG8gYSBudWxsLXRlcm1pbmF0ZWQgc3RyaW5nIGFzIHBhcmFtZXRlci4gVGhlIHN0cmluZyBzaG91bGQgYmUKIHRoZSBtZXRob2Qgb2YgdGhlIFRMUyBhdXRoZW50aWNhdGlvbi4gU3VwcG9ydGVkIG1ldGhvZCBpcyAiU1JQIi4KIAogLklQIFNSUApkaWZmIC0tZ2l0IGEvZG9jcy9saWJjdXJsL29wdHMvQ1VSTE9QVF9UTFNBVVRIX1VTRVJOQU1FLjMgYi9kb2NzL2xpYmN1cmwvb3B0cy9DVVJMT1BUX1RMU0FVVEhfVVNFUk5BTUUuMwppbmRleCBmMDIxZDIzLi43NGEwZDM3IDEwMDY0NAotLS0gYS9kb2NzL2xpYmN1cmwvb3B0cy9DVVJMT1BUX1RMU0FVVEhfVVNFUk5BTUUuMworKysgYi9kb2NzL2xpYmN1cmwvb3B0cy9DVVJMT1BUX1RMU0FVVEhfVVNFUk5BTUUuMwpAQCAtMjAsNyArMjAsNyBAQAogLlwiICoKIC5cIiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogLlwiCi0uVEggQ1VSTE9QVF9UTFNBVVRIX1VTRVJOQU1FIDMgIkRlY2VtYmVyIDE2LCAyMDE5IiAibGliY3VybCA3LjcwLjAiICJjdXJsX2Vhc3lfc2V0b3B0IG9wdGlvbnMiCisuVEggQ1VSTE9QVF9UTFNBVVRIX1VTRVJOQU1FIDMgIkp1bmUgMjUsIDIwMjAiICJsaWJjdXJsIDcuNzEuMSIgImN1cmxfZWFzeV9zZXRvcHQgb3B0aW9ucyIKIAogLlNIIE5BTUUKIENVUkxPUFRfVExTQVVUSF9VU0VSTkFNRSBcLSB1c2VyIG5hbWUgdG8gdXNlIGZvciBUTFMgYXV0aGVudGljYXRpb24KQEAgLTI5LDcgKzI5LDcgQEAKIAogQ1VSTGNvZGUgY3VybF9lYXN5X3NldG9wdChDVVJMICpoYW5kbGUsIENVUkxPUFRfVExTQVVUSF9VU0VSTkFNRSwgY2hhciAqdXNlcik7CiAuU0ggREVTQ1JJUFRJT04KLVBhc3MgYSBjaGFyICogYXMgcGFyYW1ldGVyLCB3aGljaCBzaG91bGQgcG9pbnQgdG8gdGhlIHplcm8gdGVybWluYXRlZCB1c2VybmFtZQorUGFzcyBhIGNoYXIgKiBhcyBwYXJhbWV0ZXIsIHdoaWNoIHNob3VsZCBwb2ludCB0byB0aGUgbnVsbC10ZXJtaW5hdGVkIHVzZXJuYW1lCiB0byB1c2UgZm9yIHRoZSBUTFMgYXV0aGVudGljYXRpb24gbWV0aG9kIHNwZWNpZmllZCB3aXRoIHRoZQogXGZJQ1VSTE9QVF9UTFNBVVRIX1RZUEUoMylcZlAgb3B0aW9uLiBSZXF1aXJlcyB0aGF0IHRoZQogXGZJQ1VSTE9QVF9UTFNBVVRIX1BBU1NXT1JEKDMpXGZQIG9wdGlvbiBhbHNvIGJlIHNldC4KZGlmZiAtLWdpdCBhL2RvY3MvbGliY3VybC9vcHRzL0NVUkxPUFRfVFJBSUxFUkRBVEEuMyBiL2RvY3MvbGliY3VybC9vcHRzL0NVUkxPUFRfVFJBSUxFUkRBVEEuMwppbmRleCBiNTc3ZmVhLi44MjIxZTAxIDEwMDY0NAotLS0gYS9kb2NzL2xpYmN1cmwvb3B0cy9DVVJMT1BUX1RSQUlMRVJEQVRBLjMKKysrIGIvZG9jcy9saWJjdXJsL29wdHMvQ1VSTE9QVF9UUkFJTEVSREFUQS4zCkBAIC0yMCw3ICsyMCw3IEBACiAuXCIgKgogLlwiICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiAuXCIKLS5USCBDVVJMT1BUX1RSQUlMRVJEQVRBIDMgIk9jdG9iZXIgMzEsIDIwMTkiICJsaWJjdXJsIDcuNzAuMCIgImN1cmxfZWFzeV9zZXRvcHQgb3B0aW9ucyIKKy5USCBDVVJMT1BUX1RSQUlMRVJEQVRBIDMgIk9jdG9iZXIgMzEsIDIwMTkiICJsaWJjdXJsIDcuNzEuMSIgImN1cmxfZWFzeV9zZXRvcHQgb3B0aW9ucyIKIAogLlNIIE5BTUUKIENVUkxPUFRfVFJBSUxFUkRBVEEgXC0gQ3VzdG9tIHBvaW50ZXIgcGFzc2VkIHRvIHRoZSB0cmFpbGluZyBoZWFkZXJzIGNhbGxiYWNrCmRpZmYgLS1naXQgYS9kb2NzL2xpYmN1cmwvb3B0cy9DVVJMT1BUX1RSQUlMRVJGVU5DVElPTi4zIGIvZG9jcy9saWJjdXJsL29wdHMvQ1VSTE9QVF9UUkFJTEVSRlVOQ1RJT04uMwppbmRleCAzYjQxMWFmLi5iNGFkMmM3IDEwMDY0NAotLS0gYS9kb2NzL2xpYmN1cmwvb3B0cy9DVVJMT1BUX1RSQUlMRVJGVU5DVElPTi4zCisrKyBiL2RvY3MvbGliY3VybC9vcHRzL0NVUkxPUFRfVFJBSUxFUkZVTkNUSU9OLjMKQEAgLTIwLDcgKzIwLDcgQEAKIC5cIiAqCiAuXCIgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKIC5cIgotLlRIIENVUkxPUFRfVFJBSUxFUkZVTkNUSU9OIDMgIk9jdG9iZXIgMzEsIDIwMTkiICJsaWJjdXJsIDcuNzAuMCIgImN1cmxfZWFzeV9zZXRvcHQgb3B0aW9ucyIKKy5USCBDVVJMT1BUX1RSQUlMRVJGVU5DVElPTiAzICJPY3RvYmVyIDMxLCAyMDE5IiAibGliY3VybCA3LjcxLjEiICJjdXJsX2Vhc3lfc2V0b3B0IG9wdGlvbnMiCiAKIC5TSCBOQU1FCiBDVVJMT1BUX1RSQUlMRVJGVU5DVElPTiBcLSBTZXQgY2FsbGJhY2sgZm9yIHNlbmRpbmcgdHJhaWxpbmcgaGVhZGVycwpkaWZmIC0tZ2l0IGEvZG9jcy9saWJjdXJsL29wdHMvQ1VSTE9QVF9UUkFOU0ZFUlRFWFQuMyBiL2RvY3MvbGliY3VybC9vcHRzL0NVUkxPUFRfVFJBTlNGRVJURVhULjMKaW5kZXggM2QxOTBiMS4uOWM5YjEwMSAxMDA2NDQKLS0tIGEvZG9jcy9saWJjdXJsL29wdHMvQ1VSTE9QVF9UUkFOU0ZFUlRFWFQuMworKysgYi9kb2NzL2xpYmN1cmwvb3B0cy9DVVJMT1BUX1RSQU5TRkVSVEVYVC4zCkBAIC0yMCw3ICsyMCw3IEBACiAuXCIgKgogLlwiICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiAuXCIKLS5USCBDVVJMT1BUX1RSQU5TRkVSVEVYVCAzICJNYXkgMzEsIDIwMTciICJsaWJjdXJsIDcuNzAuMCIgImN1cmxfZWFzeV9zZXRvcHQgb3B0aW9ucyIKKy5USCBDVVJMT1BUX1RSQU5TRkVSVEVYVCAzICJNYXkgMzEsIDIwMTciICJsaWJjdXJsIDcuNzEuMSIgImN1cmxfZWFzeV9zZXRvcHQgb3B0aW9ucyIKIAogLlNIIE5BTUUKIENVUkxPUFRfVFJBTlNGRVJURVhUIFwtIHJlcXVlc3QgYSB0ZXh0IGJhc2VkIHRyYW5zZmVyIGZvciBGVFAKZGlmZiAtLWdpdCBhL2RvY3MvbGliY3VybC9vcHRzL0NVUkxPUFRfVFJBTlNGRVJfRU5DT0RJTkcuMyBiL2RvY3MvbGliY3VybC9vcHRzL0NVUkxPUFRfVFJBTlNGRVJfRU5DT0RJTkcuMwppbmRleCA4OTEzMjFlLi4xZjZlYWY3IDEwMDY0NAotLS0gYS9kb2NzL2xpYmN1cmwvb3B0cy9DVVJMT1BUX1RSQU5TRkVSX0VOQ09ESU5HLjMKKysrIGIvZG9jcy9saWJjdXJsL29wdHMvQ1VSTE9QVF9UUkFOU0ZFUl9FTkNPRElORy4zCkBAIC0yMCw3ICsyMCw3IEBACiAuXCIgKgogLlwiICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiAuXCIKLS5USCBDVVJMT1BUX1RSQU5TRkVSX0VOQ09ESU5HIDMgIk1heSAxNSwgMjAxNyIgImxpYmN1cmwgNy43MC4wIiAiY3VybF9lYXN5X3NldG9wdCBvcHRpb25zIgorLlRIIENVUkxPUFRfVFJBTlNGRVJfRU5DT0RJTkcgMyAiTWF5IDE1LCAyMDE3IiAibGliY3VybCA3LjcxLjEiICJjdXJsX2Vhc3lfc2V0b3B0IG9wdGlvbnMiCiAKIC5TSCBOQU1FCiBDVVJMT1BUX1RSQU5TRkVSX0VOQ09ESU5HIFwtIGFzayBmb3IgSFRUUCBUcmFuc2ZlciBFbmNvZGluZwpkaWZmIC0tZ2l0IGEvZG9jcy9saWJjdXJsL29wdHMvQ1VSTE9QVF9VTklYX1NPQ0tFVF9QQVRILjMgYi9kb2NzL2xpYmN1cmwvb3B0cy9DVVJMT1BUX1VOSVhfU09DS0VUX1BBVEguMwppbmRleCBjOGIyZmJkLi4xMTQ1Njg3IDEwMDY0NAotLS0gYS9kb2NzL2xpYmN1cmwvb3B0cy9DVVJMT1BUX1VOSVhfU09DS0VUX1BBVEguMworKysgYi9kb2NzL2xpYmN1cmwvb3B0cy9DVVJMT1BUX1VOSVhfU09DS0VUX1BBVEguMwpAQCAtMjAsNyArMjAsNyBAQAogLlwiICoKIC5cIiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogLlwiCi0uVEggQ1VSTE9QVF9VTklYX1NPQ0tFVF9QQVRIIDMgIk1hcmNoIDIzLCAyMDIwIiAibGliY3VybCA3LjcwLjAiICJjdXJsX2Vhc3lfc2V0b3B0IG9wdGlvbnMiCisuVEggQ1VSTE9QVF9VTklYX1NPQ0tFVF9QQVRIIDMgIk1hcmNoIDIzLCAyMDIwIiAibGliY3VybCA3LjcxLjEiICJjdXJsX2Vhc3lfc2V0b3B0IG9wdGlvbnMiCiAKIC5TSCBOQU1FCiBDVVJMT1BUX1VOSVhfU09DS0VUX1BBVEggXC0gc2V0IFVuaXggZG9tYWluIHNvY2tldApkaWZmIC0tZ2l0IGEvZG9jcy9saWJjdXJsL29wdHMvQ1VSTE9QVF9VTlJFU1RSSUNURURfQVVUSC4zIGIvZG9jcy9saWJjdXJsL29wdHMvQ1VSTE9QVF9VTlJFU1RSSUNURURfQVVUSC4zCmluZGV4IGViM2YyOTkuLmRlMTE5NGEgMTAwNjQ0Ci0tLSBhL2RvY3MvbGliY3VybC9vcHRzL0NVUkxPUFRfVU5SRVNUUklDVEVEX0FVVEguMworKysgYi9kb2NzL2xpYmN1cmwvb3B0cy9DVVJMT1BUX1VOUkVTVFJJQ1RFRF9BVVRILjMKQEAgLTIwLDcgKzIwLDcgQEAKIC5cIiAqCiAuXCIgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKIC5cIgotLlRIIENVUkxPUFRfVU5SRVNUUklDVEVEX0FVVEggMyAiTWF5IDE1LCAyMDE3IiAibGliY3VybCA3LjcwLjAiICJjdXJsX2Vhc3lfc2V0b3B0IG9wdGlvbnMiCisuVEggQ1VSTE9QVF9VTlJFU1RSSUNURURfQVVUSCAzICJNYXkgMTUsIDIwMTciICJsaWJjdXJsIDcuNzEuMSIgImN1cmxfZWFzeV9zZXRvcHQgb3B0aW9ucyIKIAogLlNIIE5BTUUKIENVUkxPUFRfVU5SRVNUUklDVEVEX0FVVEggXC0gc2VuZCBjcmVkZW50aWFscyB0byBvdGhlciBob3N0cyB0b28KZGlmZiAtLWdpdCBhL2RvY3MvbGliY3VybC9vcHRzL0NVUkxPUFRfVVBMT0FELjMgYi9kb2NzL2xpYmN1cmwvb3B0cy9DVVJMT1BUX1VQTE9BRC4zCmluZGV4IDdmNDU4ZTUuLmIxNWYwOGIgMTAwNjQ0Ci0tLSBhL2RvY3MvbGliY3VybC9vcHRzL0NVUkxPUFRfVVBMT0FELjMKKysrIGIvZG9jcy9saWJjdXJsL29wdHMvQ1VSTE9QVF9VUExPQUQuMwpAQCAtMjAsNyArMjAsNyBAQAogLlwiICoKIC5cIiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogLlwiCi0uVEggQ1VSTE9QVF9VUExPQUQgMyAiTWFyY2ggMjMsIDIwMjAiICJsaWJjdXJsIDcuNzAuMCIgImN1cmxfZWFzeV9zZXRvcHQgb3B0aW9ucyIKKy5USCBDVVJMT1BUX1VQTE9BRCAzICJNYXJjaCAyMywgMjAyMCIgImxpYmN1cmwgNy43MS4xIiAiY3VybF9lYXN5X3NldG9wdCBvcHRpb25zIgogCiAuU0ggTkFNRQogQ1VSTE9QVF9VUExPQUQgXC0gZW5hYmxlIGRhdGEgdXBsb2FkCmRpZmYgLS1naXQgYS9kb2NzL2xpYmN1cmwvb3B0cy9DVVJMT1BUX1VQTE9BRF9CVUZGRVJTSVpFLjMgYi9kb2NzL2xpYmN1cmwvb3B0cy9DVVJMT1BUX1VQTE9BRF9CVUZGRVJTSVpFLjMKaW5kZXggMTlkODczMS4uZmY3ZDAyZCAxMDA2NDQKLS0tIGEvZG9jcy9saWJjdXJsL29wdHMvQ1VSTE9QVF9VUExPQURfQlVGRkVSU0laRS4zCisrKyBiL2RvY3MvbGliY3VybC9vcHRzL0NVUkxPUFRfVVBMT0FEX0JVRkZFUlNJWkUuMwpAQCAtMjAsNyArMjAsNyBAQAogLlwiICoKIC5cIiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogLlwiCi0uVEggQ1VSTE9QVF9VUExPQURfQlVGRkVSU0laRSAzICJBdWd1c3QgMTgsIDIwMTgiICJsaWJjdXJsIDcuNzAuMCIgImN1cmxfZWFzeV9zZXRvcHQgb3B0aW9ucyIKKy5USCBDVVJMT1BUX1VQTE9BRF9CVUZGRVJTSVpFIDMgIkF1Z3VzdCAxOCwgMjAxOCIgImxpYmN1cmwgNy43MS4xIiAiY3VybF9lYXN5X3NldG9wdCBvcHRpb25zIgogCiAuU0ggTkFNRQogQ1VSTE9QVF9VUExPQURfQlVGRkVSU0laRSBcLSBzZXQgcHJlZmVycmVkIHVwbG9hZCBidWZmZXIgc2l6ZQpkaWZmIC0tZ2l0IGEvZG9jcy9saWJjdXJsL29wdHMvQ1VSTE9QVF9VUkwuMyBiL2RvY3MvbGliY3VybC9vcHRzL0NVUkxPUFRfVVJMLjMKaW5kZXggZjM4NWJiOC4uZDVhZDM1OSAxMDA2NDQKLS0tIGEvZG9jcy9saWJjdXJsL29wdHMvQ1VSTE9QVF9VUkwuMworKysgYi9kb2NzL2xpYmN1cmwvb3B0cy9DVVJMT1BUX1VSTC4zCkBAIC0yMCw3ICsyMCw3IEBACiAuXCIgKgogLlwiICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiAuXCIKLS5USCBDVVJMT1BUX1VSTCAzICJNYXJjaCAwOSwgMjAyMCIgImxpYmN1cmwgNy43MC4wIiAiY3VybF9lYXN5X3NldG9wdCBvcHRpb25zIgorLlRIIENVUkxPUFRfVVJMIDMgIkp1bmUgMjUsIDIwMjAiICJsaWJjdXJsIDcuNzEuMSIgImN1cmxfZWFzeV9zZXRvcHQgb3B0aW9ucyIKIAogLlNIIE5BTUUKIENVUkxPUFRfVVJMIFwtIHByb3ZpZGUgdGhlIFVSTCB0byB1c2UgaW4gdGhlIHJlcXVlc3QKQEAgLTMwLDcgKzMwLDcgQEAKIENVUkxjb2RlIGN1cmxfZWFzeV9zZXRvcHQoQ1VSTCAqaGFuZGxlLCBDVVJMT1BUX1VSTCwgY2hhciAqVVJMKTsKIC5TSCBERVNDUklQVElPTgogUGFzcyBpbiBhIHBvaW50ZXIgdG8gdGhlIFxmSVVSTFxmUCB0byB3b3JrIHdpdGguIFRoZSBwYXJhbWV0ZXIgc2hvdWxkIGJlIGEKLWNoYXIgKiB0byBhIHplcm8gdGVybWluYXRlZCBzdHJpbmcgd2hpY2ggbXVzdCBiZSBVUkwtZW5jb2RlZCBpbiB0aGUgZm9sbG93aW5nCitjaGFyICogdG8gYSBudWxsLXRlcm1pbmF0ZWQgc3RyaW5nIHdoaWNoIG11c3QgYmUgVVJMLWVuY29kZWQgaW4gdGhlIGZvbGxvd2luZwogZm9ybWF0OgogCiBzY2hlbWU6Ly9ob3N0OnBvcnQvcGF0aApkaWZmIC0tZ2l0IGEvZG9jcy9saWJjdXJsL29wdHMvQ1VSTE9QVF9VU0VSQUdFTlQuMyBiL2RvY3MvbGliY3VybC9vcHRzL0NVUkxPUFRfVVNFUkFHRU5ULjMKaW5kZXggZjVjOTI3Zi4uMTA2Y2M4MiAxMDA2NDQKLS0tIGEvZG9jcy9saWJjdXJsL29wdHMvQ1VSTE9QVF9VU0VSQUdFTlQuMworKysgYi9kb2NzL2xpYmN1cmwvb3B0cy9DVVJMT1BUX1VTRVJBR0VOVC4zCkBAIC0yMCw3ICsyMCw3IEBACiAuXCIgKgogLlwiICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiAuXCIKLS5USCBDVVJMT1BUX1VTRVJBR0VOVCAzICJNYXJjaCAyMywgMjAyMCIgImxpYmN1cmwgNy43MC4wIiAiY3VybF9lYXN5X3NldG9wdCBvcHRpb25zIgorLlRIIENVUkxPUFRfVVNFUkFHRU5UIDMgIkp1bmUgMjUsIDIwMjAiICJsaWJjdXJsIDcuNzEuMSIgImN1cmxfZWFzeV9zZXRvcHQgb3B0aW9ucyIKIAogLlNIIE5BTUUKIENVUkxPUFRfVVNFUkFHRU5UIFwtIHNldCBIVFRQIHVzZXItYWdlbnQgaGVhZGVyCkBAIC0yOSw3ICsyOSw3IEBACiAKIENVUkxjb2RlIGN1cmxfZWFzeV9zZXRvcHQoQ1VSTCAqaGFuZGxlLCBDVVJMT1BUX1VTRVJBR0VOVCwgY2hhciAqdWEpOwogLlNIIERFU0NSSVBUSU9OCi1QYXNzIGEgcG9pbnRlciB0byBhIHplcm8gdGVybWluYXRlZCBzdHJpbmcgYXMgcGFyYW1ldGVyLiBJdCB3aWxsIGJlIHVzZWQgdG8KK1Bhc3MgYSBwb2ludGVyIHRvIGEgbnVsbC10ZXJtaW5hdGVkIHN0cmluZyBhcyBwYXJhbWV0ZXIuIEl0IHdpbGwgYmUgdXNlZCB0bwogc2V0IHRoZSBVc2VyLUFnZW50OiBoZWFkZXIgaW4gdGhlIEhUVFAgcmVxdWVzdCBzZW50IHRvIHRoZSByZW1vdGUgc2VydmVyLiBUaGlzCiBjYW4gYmUgdXNlZCB0byBmb29sIHNlcnZlcnMgb3Igc2NyaXB0cy4gWW91IGNhbiBhbHNvIHNldCBhbnkgY3VzdG9tIGhlYWRlcgogd2l0aCBcZklDVVJMT1BUX0hUVFBIRUFERVIoMylcZlAuCmRpZmYgLS1naXQgYS9kb2NzL2xpYmN1cmwvb3B0cy9DVVJMT1BUX1VTRVJOQU1FLjMgYi9kb2NzL2xpYmN1cmwvb3B0cy9DVVJMT1BUX1VTRVJOQU1FLjMKaW5kZXggN2ExNzI5Yi4uYWI2OGU4NiAxMDA2NDQKLS0tIGEvZG9jcy9saWJjdXJsL29wdHMvQ1VSTE9QVF9VU0VSTkFNRS4zCisrKyBiL2RvY3MvbGliY3VybC9vcHRzL0NVUkxPUFRfVVNFUk5BTUUuMwpAQCAtMjAsNyArMjAsNyBAQAogLlwiICoKIC5cIiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogLlwiCi0uVEggQ1VSTE9QVF9VU0VSTkFNRSAzICJNYXkgMDUsIDIwMTciICJsaWJjdXJsIDcuNzAuMCIgImN1cmxfZWFzeV9zZXRvcHQgb3B0aW9ucyIKKy5USCBDVVJMT1BUX1VTRVJOQU1FIDMgIkp1bmUgMjUsIDIwMjAiICJsaWJjdXJsIDcuNzEuMSIgImN1cmxfZWFzeV9zZXRvcHQgb3B0aW9ucyIKIAogLlNIIE5BTUUKIENVUkxPUFRfVVNFUk5BTUUgXC0gdXNlciBuYW1lIHRvIHVzZSBpbiBhdXRoZW50aWNhdGlvbgpAQCAtMzEsNyArMzEsNyBAQAogQ1VSTGNvZGUgY3VybF9lYXN5X3NldG9wdChDVVJMICpoYW5kbGUsIENVUkxPUFRfVVNFUk5BTUUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgIGNoYXIgKnVzZXJuYW1lKTsKIC5TSCBERVNDUklQVElPTgotUGFzcyBhIGNoYXIgKiBhcyBwYXJhbWV0ZXIsIHdoaWNoIHNob3VsZCBiZSBwb2ludGluZyB0byB0aGUgemVybyB0ZXJtaW5hdGVkCitQYXNzIGEgY2hhciAqIGFzIHBhcmFtZXRlciwgd2hpY2ggc2hvdWxkIGJlIHBvaW50aW5nIHRvIHRoZSBudWxsLXRlcm1pbmF0ZWQKIHVzZXIgbmFtZSB0byB1c2UgZm9yIHRoZSB0cmFuc2Zlci4KIAogXGZJQ1VSTE9QVF9VU0VSTkFNRSgzKVxmUCBzZXRzIHRoZSB1c2VyIG5hbWUgdG8gYmUgdXNlZCBpbiBwcm90b2NvbApkaWZmIC0tZ2l0IGEvZG9jcy9saWJjdXJsL29wdHMvQ1VSTE9QVF9VU0VSUFdELjMgYi9kb2NzL2xpYmN1cmwvb3B0cy9DVVJMT1BUX1VTRVJQV0QuMwppbmRleCA2MjAxMDE2Li44ZjA3YWQ5IDEwMDY0NAotLS0gYS9kb2NzL2xpYmN1cmwvb3B0cy9DVVJMT1BUX1VTRVJQV0QuMworKysgYi9kb2NzL2xpYmN1cmwvb3B0cy9DVVJMT1BUX1VTRVJQV0QuMwpAQCAtMjAsNyArMjAsNyBAQAogLlwiICoKIC5cIiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogLlwiCi0uVEggQ1VSTE9QVF9VU0VSUFdEIDMgIkF1Z3VzdCAyNCwgMjAxNyIgImxpYmN1cmwgNy43MC4wIiAiY3VybF9lYXN5X3NldG9wdCBvcHRpb25zIgorLlRIIENVUkxPUFRfVVNFUlBXRCAzICJKdW5lIDI1LCAyMDIwIiAibGliY3VybCA3LjcxLjEiICJjdXJsX2Vhc3lfc2V0b3B0IG9wdGlvbnMiCiAKIC5TSCBOQU1FCiBDVVJMT1BUX1VTRVJQV0QgXC0gdXNlciBuYW1lIGFuZCBwYXNzd29yZCB0byB1c2UgaW4gYXV0aGVudGljYXRpb24KQEAgLTI5LDcgKzI5LDcgQEAKIAogQ1VSTGNvZGUgY3VybF9lYXN5X3NldG9wdChDVVJMICpoYW5kbGUsIENVUkxPUFRfVVNFUlBXRCwgY2hhciAqdXNlcnB3ZCk7CiAuU0ggREVTQ1JJUFRJT04KLVBhc3MgYSBjaGFyICogYXMgcGFyYW1ldGVyLCBwb2ludGluZyB0byBhIHplcm8gdGVybWluYXRlZCBsb2dpbiBkZXRhaWxzIHN0cmluZworUGFzcyBhIGNoYXIgKiBhcyBwYXJhbWV0ZXIsIHBvaW50aW5nIHRvIGEgbnVsbC10ZXJtaW5hdGVkIGxvZ2luIGRldGFpbHMgc3RyaW5nCiBmb3IgdGhlIGNvbm5lY3Rpb24uIFRoZSBmb3JtYXQgb2Ygd2hpY2ggaXM6IFt1c2VyIG5hbWVdOltwYXNzd29yZF0uCiAKIFdoZW4gdXNpbmcgS2VyYmVyb3MgVjUgYXV0aGVudGljYXRpb24gd2l0aCBhIFdpbmRvd3MgYmFzZWQgc2VydmVyLCB5b3Ugc2hvdWxkCmRpZmYgLS1naXQgYS9kb2NzL2xpYmN1cmwvb3B0cy9DVVJMT1BUX1VTRV9TU0wuMyBiL2RvY3MvbGliY3VybC9vcHRzL0NVUkxPUFRfVVNFX1NTTC4zCmluZGV4IDI4NGQwZjkuLjVlNjMwOGQgMTAwNjQ0Ci0tLSBhL2RvY3MvbGliY3VybC9vcHRzL0NVUkxPUFRfVVNFX1NTTC4zCisrKyBiL2RvY3MvbGliY3VybC9vcHRzL0NVUkxPUFRfVVNFX1NTTC4zCkBAIC0yMCw3ICsyMCw3IEBACiAuXCIgKgogLlwiICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiAuXCIKLS5USCBDVVJMT1BUX1VTRV9TU0wgMyAiTWFyY2ggMjMsIDIwMjAiICJsaWJjdXJsIDcuNzAuMCIgImN1cmxfZWFzeV9zZXRvcHQgb3B0aW9ucyIKKy5USCBDVVJMT1BUX1VTRV9TU0wgMyAiTWFyY2ggMjMsIDIwMjAiICJsaWJjdXJsIDcuNzEuMSIgImN1cmxfZWFzeV9zZXRvcHQgb3B0aW9ucyIKIAogLlNIIE5BTUUKIENVUkxPUFRfVVNFX1NTTCBcLSByZXF1ZXN0IHVzaW5nIFNTTCAvIFRMUyBmb3IgdGhlIHRyYW5zZmVyCmRpZmYgLS1naXQgYS9kb2NzL2xpYmN1cmwvb3B0cy9DVVJMT1BUX1ZFUkJPU0UuMyBiL2RvY3MvbGliY3VybC9vcHRzL0NVUkxPUFRfVkVSQk9TRS4zCmluZGV4IGIxYTU2ODQuLjNhOTEwMzggMTAwNjQ0Ci0tLSBhL2RvY3MvbGliY3VybC9vcHRzL0NVUkxPUFRfVkVSQk9TRS4zCisrKyBiL2RvY3MvbGliY3VybC9vcHRzL0NVUkxPUFRfVkVSQk9TRS4zCkBAIC0yMCw3ICsyMCw3IEBACiAuXCIgKgogLlwiICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiAuXCIKLS5USCBDVVJMT1BUX1ZFUkJPU0UgMyAiRGVjZW1iZXIgMDQsIDIwMTkiICJsaWJjdXJsIDcuNzAuMCIgImN1cmxfZWFzeV9zZXRvcHQgb3B0aW9ucyIKKy5USCBDVVJMT1BUX1ZFUkJPU0UgMyAiRGVjZW1iZXIgMDQsIDIwMTkiICJsaWJjdXJsIDcuNzEuMSIgImN1cmxfZWFzeV9zZXRvcHQgb3B0aW9ucyIKIAogLlNIIE5BTUUKIENVUkxPUFRfVkVSQk9TRSBcLSBzZXQgdmVyYm9zZSBtb2RlIG9uL29mZgpkaWZmIC0tZ2l0IGEvZG9jcy9saWJjdXJsL29wdHMvQ1VSTE9QVF9XSUxEQ0FSRE1BVENILjMgYi9kb2NzL2xpYmN1cmwvb3B0cy9DVVJMT1BUX1dJTERDQVJETUFUQ0guMwppbmRleCAyZjFhMGJlLi4zNDM5NjZmIDEwMDY0NAotLS0gYS9kb2NzL2xpYmN1cmwvb3B0cy9DVVJMT1BUX1dJTERDQVJETUFUQ0guMworKysgYi9kb2NzL2xpYmN1cmwvb3B0cy9DVVJMT1BUX1dJTERDQVJETUFUQ0guMwpAQCAtMjAsNyArMjAsNyBAQAogLlwiICoKIC5cIiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogLlwiCi0uVEggQ1VSTE9QVF9XSUxEQ0FSRE1BVENIIDMgIk1heSAxOCwgMjAxOCIgImxpYmN1cmwgNy43MC4wIiAiY3VybF9lYXN5X3NldG9wdCBvcHRpb25zIgorLlRIIENVUkxPUFRfV0lMRENBUkRNQVRDSCAzICJNYXkgMTgsIDIwMTgiICJsaWJjdXJsIDcuNzEuMSIgImN1cmxfZWFzeV9zZXRvcHQgb3B0aW9ucyIKIAogLlNIIE5BTUUKIENVUkxPUFRfV0lMRENBUkRNQVRDSCBcLSBlbmFibGUgZGlyZWN0b3J5IHdpbGRjYXJkIHRyYW5zZmVycwpkaWZmIC0tZ2l0IGEvZG9jcy9saWJjdXJsL29wdHMvQ1VSTE9QVF9XUklURURBVEEuMyBiL2RvY3MvbGliY3VybC9vcHRzL0NVUkxPUFRfV1JJVEVEQVRBLjMKaW5kZXggNTJlNGVhMC4uMjIxYjQyMCAxMDA2NDQKLS0tIGEvZG9jcy9saWJjdXJsL29wdHMvQ1VSTE9QVF9XUklURURBVEEuMworKysgYi9kb2NzL2xpYmN1cmwvb3B0cy9DVVJMT1BUX1dSSVRFREFUQS4zCkBAIC0yMCw3ICsyMCw3IEBACiAuXCIgKgogLlwiICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiAuXCIKLS5USCBDVVJMT1BUX1dSSVRFREFUQSAzICJNYXJjaCAyMywgMjAyMCIgImxpYmN1cmwgNy43MC4wIiAiY3VybF9lYXN5X3NldG9wdCBvcHRpb25zIgorLlRIIENVUkxPUFRfV1JJVEVEQVRBIDMgIk1hcmNoIDIzLCAyMDIwIiAibGliY3VybCA3LjcxLjEiICJjdXJsX2Vhc3lfc2V0b3B0IG9wdGlvbnMiCiAKIC5TSCBOQU1FCiBDVVJMT1BUX1dSSVRFREFUQSBcLSBjdXN0b20gcG9pbnRlciBwYXNzZWQgdG8gdGhlIHdyaXRlIGNhbGxiYWNrCmRpZmYgLS1naXQgYS9kb2NzL2xpYmN1cmwvb3B0cy9DVVJMT1BUX1dSSVRFRlVOQ1RJT04uMyBiL2RvY3MvbGliY3VybC9vcHRzL0NVUkxPUFRfV1JJVEVGVU5DVElPTi4zCmluZGV4IDI1MGNmNzMuLjMwN2JmOGIgMTAwNjQ0Ci0tLSBhL2RvY3MvbGliY3VybC9vcHRzL0NVUkxPUFRfV1JJVEVGVU5DVElPTi4zCisrKyBiL2RvY3MvbGliY3VybC9vcHRzL0NVUkxPUFRfV1JJVEVGVU5DVElPTi4zCkBAIC0yMCw3ICsyMCw3IEBACiAuXCIgKgogLlwiICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiAuXCIKLS5USCBDVVJMT1BUX1dSSVRFRlVOQ1RJT04gMyAiQXByaWwgMDYsIDIwMjAiICJsaWJjdXJsIDcuNzAuMCIgImN1cmxfZWFzeV9zZXRvcHQgb3B0aW9ucyIKKy5USCBDVVJMT1BUX1dSSVRFRlVOQ1RJT04gMyAiSnVuZSAyNSwgMjAyMCIgImxpYmN1cmwgNy43MS4xIiAiY3VybF9lYXN5X3NldG9wdCBvcHRpb25zIgogCiAuU0ggTkFNRQogQ1VSTE9QVF9XUklURUZVTkNUSU9OIFwtIHNldCBjYWxsYmFjayBmb3Igd3JpdGluZyByZWNlaXZlZCBkYXRhCkBAIC01Myw3ICs1Myw3IEBACiBUaGlzIGZ1bmN0aW9uIG1heSBiZSBjYWxsZWQgd2l0aCB6ZXJvIGJ5dGVzIGRhdGEgaWYgdGhlIHRyYW5zZmVycmVkIGZpbGUgaXMKIGVtcHR5LgogCi1UaGUgZGF0YSBwYXNzZWQgdG8gdGhpcyBmdW5jdGlvbiB3aWxsIG5vdCBiZSB6ZXJvIHRlcm1pbmF0ZWQhCitUaGUgZGF0YSBwYXNzZWQgdG8gdGhpcyBmdW5jdGlvbiB3aWxsIG5vdCBiZSBudWxsLXRlcm1pbmF0ZWQhCiAKIFNldCB0aGUgXGZJdXNlcmRhdGFcZlAgYXJndW1lbnQgd2l0aCB0aGUgXGZJQ1VSTE9QVF9XUklURURBVEEoMylcZlAgb3B0aW9uLgogCmRpZmYgLS1naXQgYS9kb2NzL2xpYmN1cmwvb3B0cy9DVVJMT1BUX1hGRVJJTkZPREFUQS4zIGIvZG9jcy9saWJjdXJsL29wdHMvQ1VSTE9QVF9YRkVSSU5GT0RBVEEuMwppbmRleCBkOWIyMDBiLi4wNzNkYmJiIDEwMDY0NAotLS0gYS9kb2NzL2xpYmN1cmwvb3B0cy9DVVJMT1BUX1hGRVJJTkZPREFUQS4zCisrKyBiL2RvY3MvbGliY3VybC9vcHRzL0NVUkxPUFRfWEZFUklORk9EQVRBLjMKQEAgLTIwLDcgKzIwLDcgQEAKIC5cIiAqCiAuXCIgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKIC5cIgotLlRIIENVUkxPUFRfWEZFUklORk9EQVRBIDMgIk9jdG9iZXIgMDksIDIwMTciICJsaWJjdXJsIDcuNzAuMCIgImN1cmxfZWFzeV9zZXRvcHQgb3B0aW9ucyIKKy5USCBDVVJMT1BUX1hGRVJJTkZPREFUQSAzICJPY3RvYmVyIDA5LCAyMDE3IiAibGliY3VybCA3LjcxLjEiICJjdXJsX2Vhc3lfc2V0b3B0IG9wdGlvbnMiCiAKIC5TSCBOQU1FCiBDVVJMT1BUX1hGRVJJTkZPREFUQSBcLSBjdXN0b20gcG9pbnRlciBwYXNzZWQgdG8gdGhlIHByb2dyZXNzIGNhbGxiYWNrCmRpZmYgLS1naXQgYS9kb2NzL2xpYmN1cmwvb3B0cy9DVVJMT1BUX1hGRVJJTkZPRlVOQ1RJT04uMyBiL2RvY3MvbGliY3VybC9vcHRzL0NVUkxPUFRfWEZFUklORk9GVU5DVElPTi4zCmluZGV4IDQzZWFlMWYuLjJhYzExYzcgMTAwNjQ0Ci0tLSBhL2RvY3MvbGliY3VybC9vcHRzL0NVUkxPUFRfWEZFUklORk9GVU5DVElPTi4zCisrKyBiL2RvY3MvbGliY3VybC9vcHRzL0NVUkxPUFRfWEZFUklORk9GVU5DVElPTi4zCkBAIC0yMCw3ICsyMCw3IEBACiAuXCIgKgogLlwiICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiAuXCIKLS5USCBDVVJMT1BUX1hGRVJJTkZPRlVOQ1RJT04gMyAiTWFyY2ggMjMsIDIwMjAiICJsaWJjdXJsIDcuNzAuMCIgImN1cmxfZWFzeV9zZXRvcHQgb3B0aW9ucyIKKy5USCBDVVJMT1BUX1hGRVJJTkZPRlVOQ1RJT04gMyAiTWFyY2ggMjMsIDIwMjAiICJsaWJjdXJsIDcuNzEuMSIgImN1cmxfZWFzeV9zZXRvcHQgb3B0aW9ucyIKIAogLlNIIE5BTUUKIENVUkxPUFRfWEZFUklORk9GVU5DVElPTiBcLSBjYWxsYmFjayB0byBwcm9ncmVzcyBtZXRlciBmdW5jdGlvbgpkaWZmIC0tZ2l0IGEvZG9jcy9saWJjdXJsL29wdHMvQ1VSTE9QVF9YT0FVVEgyX0JFQVJFUi4zIGIvZG9jcy9saWJjdXJsL29wdHMvQ1VSTE9QVF9YT0FVVEgyX0JFQVJFUi4zCmluZGV4IDYxMzI3MjguLjJhZmY3ZmMgMTAwNjQ0Ci0tLSBhL2RvY3MvbGliY3VybC9vcHRzL0NVUkxPUFRfWE9BVVRIMl9CRUFSRVIuMworKysgYi9kb2NzL2xpYmN1cmwvb3B0cy9DVVJMT1BUX1hPQVVUSDJfQkVBUkVSLjMKQEAgLTIwLDcgKzIwLDcgQEAKIC5cIiAqCiAuXCIgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKIC5cIgotLlRIIENVUkxPUFRfWE9BVVRIMl9CRUFSRVIgMyAiTWFyY2ggMjMsIDIwMjAiICJsaWJjdXJsIDcuNzAuMCIgImN1cmxfZWFzeV9zZXRvcHQgb3B0aW9ucyIKKy5USCBDVVJMT1BUX1hPQVVUSDJfQkVBUkVSIDMgIkp1bmUgMjUsIDIwMjAiICJsaWJjdXJsIDcuNzEuMSIgImN1cmxfZWFzeV9zZXRvcHQgb3B0aW9ucyIKIAogLlNIIE5BTUUKIENVUkxPUFRfWE9BVVRIMl9CRUFSRVIgXC0gc3BlY2lmeSBPQXV0aCAyLjAgYWNjZXNzIHRva2VuCkBAIC0yOSw3ICsyOSw3IEBACiAKIENVUkxjb2RlIGN1cmxfZWFzeV9zZXRvcHQoQ1VSTCAqaGFuZGxlLCBDVVJMT1BUX1hPQVVUSDJfQkVBUkVSLCBjaGFyICp0b2tlbik7CiAuU0ggREVTQ1JJUFRJT04KLVBhc3MgYSBjaGFyICogYXMgcGFyYW1ldGVyLCB3aGljaCBzaG91bGQgcG9pbnQgdG8gdGhlIHplcm8gdGVybWluYXRlZCBPQXV0aAorUGFzcyBhIGNoYXIgKiBhcyBwYXJhbWV0ZXIsIHdoaWNoIHNob3VsZCBwb2ludCB0byB0aGUgbnVsbC10ZXJtaW5hdGVkIE9BdXRoCiAyLjAgQmVhcmVyIEFjY2VzcyBUb2tlbiBmb3IgdXNlIHdpdGggSFRUUCwgSU1BUCwgUE9QMyBhbmQgU01UUCBzZXJ2ZXJzCiB0aGF0IHN1cHBvcnQgdGhlIE9BdXRoIDIuMCBBdXRob3JpemF0aW9uIEZyYW1ld29yay4KIApkaWZmIC0tZ2l0IGEvZG9jcy9saWJjdXJsL29wdHMvTWFrZWZpbGUuaW5jIGIvZG9jcy9saWJjdXJsL29wdHMvTWFrZWZpbGUuaW5jCmluZGV4IGY3YTNiNDMuLmM2MGI0ODYgMTAwNjQ0Ci0tLSBhL2RvY3MvbGliY3VybC9vcHRzL01ha2VmaWxlLmluYworKysgYi9kb2NzL2xpYmN1cmwvb3B0cy9NYWtlZmlsZS5pbmMKQEAgLTE5OCw2ICsxOTgsNyBAQAogICBDVVJMT1BUX0lPQ1RMRlVOQ1RJT04uMyAgICAgICAgICAgICAgICAgICAgICAgXAogICBDVVJMT1BUX0lQUkVTT0xWRS4zICAgICAgICAgICAgICAgICAgICAgICAgICAgXAogICBDVVJMT1BUX0lTU1VFUkNFUlQuMyAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICBDVVJMT1BUX0lTU1VFUkNFUlRfQkxPQi4zICAgICAgICAgICAgICAgICAgICAgXAogICBDVVJMT1BUX0tFRVBfU0VORElOR19PTl9FUlJPUi4zICAgICAgICAgICAgICAgXAogICBDVVJMT1BUX0tFWVBBU1NXRC4zICAgICAgICAgICAgICAgICAgICAgICAgICAgXAogICBDVVJMT1BUX0tSQkxFVkVMLjMgICAgICAgICAgICAgICAgICAgICAgICAgICAgXApAQCAtMjU3LDExICsyNTgsMTUgQEAKICAgQ1VSTE9QVF9QUk9YWV9DQVBBVEguMyAgICAgICAgICAgICAgICAgICAgICAgIFwKICAgQ1VSTE9QVF9QUk9YWV9DUkxGSUxFLjMgICAgICAgICAgICAgICAgICAgICAgIFwKICAgQ1VSTE9QVF9QUk9YWV9LRVlQQVNTV0QuMyAgICAgICAgICAgICAgICAgICAgIFwKKyAgQ1VSTE9QVF9QUk9YWV9JU1NVRVJDRVJULjMgICAgICAgICAgICAgICAgICAgIFwKKyAgQ1VSTE9QVF9QUk9YWV9JU1NVRVJDRVJUX0JMT0IuMyAgICAgICAgICAgICAgIFwKICAgQ1VSTE9QVF9QUk9YWV9QSU5ORURQVUJMSUNLRVkuMyAgICAgICAgICAgICAgIFwKICAgQ1VSTE9QVF9QUk9YWV9TRVJWSUNFX05BTUUuMyAgICAgICAgICAgICAgICAgIFwKICAgQ1VSTE9QVF9QUk9YWV9TU0xDRVJULjMgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgQ1VSTE9QVF9QUk9YWV9TU0xDRVJUX0JMT0IuMyAgICAgICAgICAgICAgICAgIFwKICAgQ1VSTE9QVF9QUk9YWV9TU0xDRVJUVFlQRS4zICAgICAgICAgICAgICAgICAgIFwKICAgQ1VSTE9QVF9QUk9YWV9TU0xLRVkuMyAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgQ1VSTE9QVF9QUk9YWV9TU0xLRVlfQkxPQi4zICAgICAgICAgICAgICAgICAgIFwKICAgQ1VSTE9QVF9QUk9YWV9TU0xLRVlUWVBFLjMgICAgICAgICAgICAgICAgICAgIFwKICAgQ1VSTE9QVF9QUk9YWV9TU0xWRVJTSU9OLjMgICAgICAgICAgICAgICAgICAgIFwKICAgQ1VSTE9QVF9QUk9YWV9TU0xfQ0lQSEVSX0xJU1QuMyAgICAgICAgICAgICAgIFwKQEAgLTMxMywxMCArMzE4LDEyIEBACiAgIENVUkxPUFRfU1NIX1BSSVZBVEVfS0VZRklMRS4zICAgICAgICAgICAgICAgICBcCiAgIENVUkxPUFRfU1NIX1BVQkxJQ19LRVlGSUxFLjMgICAgICAgICAgICAgICAgICBcCiAgIENVUkxPUFRfU1NMQ0VSVC4zICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgIENVUkxPUFRfU1NMQ0VSVF9CTE9CLjMgICAgICAgICAgICAgICAgICAgICAgICBcCiAgIENVUkxPUFRfU1NMQ0VSVFRZUEUuMyAgICAgICAgICAgICAgICAgICAgICAgICBcCiAgIENVUkxPUFRfU1NMRU5HSU5FLjMgICAgICAgICAgICAgICAgICAgICAgICAgICBcCiAgIENVUkxPUFRfU1NMRU5HSU5FX0RFRkFVTFQuMyAgICAgICAgICAgICAgICAgICBcCiAgIENVUkxPUFRfU1NMS0VZLjMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgIENVUkxPUFRfU1NMS0VZX0JMT0IuMyAgICAgICAgICAgICAgICAgICAgICAgICBcCiAgIENVUkxPUFRfU1NMS0VZVFlQRS4zICAgICAgICAgICAgICAgICAgICAgICAgICBcCiAgIENVUkxPUFRfU1NMVkVSU0lPTi4zICAgICAgICAgICAgICAgICAgICAgICAgICBcCiAgIENVUkxPUFRfU1NMX0NJUEhFUl9MSVNULjMgICAgICAgICAgICAgICAgICAgICBcCmRpZmYgLS1naXQgYS9kb2NzL2xpYmN1cmwvc3ltYm9scy1pbi12ZXJzaW9ucyBiL2RvY3MvbGliY3VybC9zeW1ib2xzLWluLXZlcnNpb25zCmluZGV4IDNiMzQwZWQuLjM2MTI2ZGIgMTAwNjQ0Ci0tLSBhL2RvY3MvbGliY3VybC9zeW1ib2xzLWluLXZlcnNpb25zCisrKyBiL2RvY3MvbGliY3VybC9zeW1ib2xzLWluLXZlcnNpb25zCkBAIC0zNDcsNiArMzQ3LDcgQEAKIENVUkxNX1VOS05PV05fT1BUSU9OICAgICAgICAgICAgNy4xNS40CiBDVVJMTV9XQUtFVVBfRkFJTFVSRSAgICAgICAgICAgIDcuNjguMAogQ1VSTE9QVCAgICAgICAgICAgICAgICAgICAgICAgICA3LjY5LjAKK0NVUkxPUFRUWVBFX0JMT0IgICAgICAgICAgICAgICAgNy43MS4wCiBDVVJMT1BUVFlQRV9GVU5DVElPTlBPSU5UICAgICAgIDcuMQogQ1VSTE9QVFRZUEVfTE9ORyAgICAgICAgICAgICAgICA3LjEKIENVUkxPUFRUWVBFX09CSkVDVFBPSU5UICAgICAgICAgNy4xCkBAIC00NTksNiArNDYwLDcgQEAKIENVUkxPUFRfSU9DVExGVU5DVElPTiAgICAgICAgICAgNy4xMi4zCiBDVVJMT1BUX0lQUkVTT0xWRSAgICAgICAgICAgICAgIDcuMTAuOAogQ1VSTE9QVF9JU1NVRVJDRVJUICAgICAgICAgICAgICA3LjE5LjAKK0NVUkxPUFRfSVNTVUVSQ0VSVF9CTE9CICAgICAgICAgNy43MS4wCiBDVVJMT1BUX0tFRVBfU0VORElOR19PTl9FUlJPUiAgIDcuNTEuMAogQ1VSTE9QVF9LRVlQQVNTV0QgICAgICAgICAgICAgICA3LjE3LjAKIENVUkxPUFRfS1JCNExFVkVMICAgICAgICAgICAgICAgNy4zICAgICAgICAgICA3LjE3LjAKQEAgLTUxNCw2ICs1MTYsOCBAQAogQ1VSTE9QVF9QUk9HUkVTU0ZVTkNUSU9OICAgICAgICA3LjEgICAgICAgICAgIDcuMzIuMAogQ1VSTE9QVF9QUk9UT0NPTFMgICAgICAgICAgICAgICA3LjE5LjQKIENVUkxPUFRfUFJPWFkgICAgICAgICAgICAgICAgICAgNy4xCitDVVJMT1BUX1BST1hZX0lTU1VFUkNFUlQgICAgICAgIDcuNzEuMAorQ1VSTE9QVF9QUk9YWV9JU1NVRVJDRVJUX0JMT0IgICA3LjcxLjAKIENVUkxPUFRfUFJPWFlBVVRIICAgICAgICAgICAgICAgNy4xMC43CiBDVVJMT1BUX1BST1hZSEVBREVSICAgICAgICAgICAgIDcuMzcuMAogQ1VSTE9QVF9QUk9YWVBBU1NXT1JEICAgICAgICAgICA3LjE5LjEKQEAgLTUyOCw4ICs1MzIsMTAgQEAKIENVUkxPUFRfUFJPWFlfUElOTkVEUFVCTElDS0VZICAgNy41Mi4wCiBDVVJMT1BUX1BST1hZX1NFUlZJQ0VfTkFNRSAgICAgIDcuNDMuMAogQ1VSTE9QVF9QUk9YWV9TU0xDRVJUICAgICAgICAgICA3LjUyLjAKK0NVUkxPUFRfUFJPWFlfU1NMQ0VSVF9CTE9CICAgICAgNy43MS4wCiBDVVJMT1BUX1BST1hZX1NTTENFUlRUWVBFICAgICAgIDcuNTIuMAogQ1VSTE9QVF9QUk9YWV9TU0xLRVkgICAgICAgICAgICA3LjUyLjAKK0NVUkxPUFRfUFJPWFlfU1NMS0VZX0JMT0IgICAgICAgNy43MS4wCiBDVVJMT1BUX1BST1hZX1NTTEtFWVRZUEUgICAgICAgIDcuNTIuMAogQ1VSTE9QVF9QUk9YWV9TU0xWRVJTSU9OICAgICAgICA3LjUyLjAKIENVUkxPUFRfUFJPWFlfU1NMX0NJUEhFUl9MSVNUICAgNy41Mi4wCkBAIC01OTEsMTEgKzU5NywxMyBAQAogQ1VSTE9QVF9TU0hfUFJJVkFURV9LRVlGSUxFICAgICA3LjE2LjEKIENVUkxPUFRfU1NIX1BVQkxJQ19LRVlGSUxFICAgICAgNy4xNi4xCiBDVVJMT1BUX1NTTENFUlQgICAgICAgICAgICAgICAgIDcuMQorQ1VSTE9QVF9TU0xDRVJUX0JMT0IgICAgICAgICAgICA3LjcxLjAKIENVUkxPUFRfU1NMQ0VSVFBBU1NXRCAgICAgICAgICAgNy4xLjEgICAgICAgICA3LjE3LjAKIENVUkxPUFRfU1NMQ0VSVFRZUEUgICAgICAgICAgICAgNy45LjMKIENVUkxPUFRfU1NMRU5HSU5FICAgICAgICAgICAgICAgNy45LjMKIENVUkxPUFRfU1NMRU5HSU5FX0RFRkFVTFQgICAgICAgNy45LjMKIENVUkxPUFRfU1NMS0VZICAgICAgICAgICAgICAgICAgNy45LjMKK0NVUkxPUFRfU1NMS0VZX0JMT0IgICAgICAgICAgICAgNy43MS4wCiBDVVJMT1BUX1NTTEtFWVBBU1NXRCAgICAgICAgICAgIDcuOS4zICAgICAgICAgNy4xNy4wCiBDVVJMT1BUX1NTTEtFWVRZUEUgICAgICAgICAgICAgIDcuOS4zCiBDVVJMT1BUX1NTTFZFUlNJT04gICAgICAgICAgICAgIDcuMQpAQCAtNzQzLDYgKzc1MSw3IEBACiBDVVJMU1NMQkFDS0VORF9TRUNVUkVUUkFOU1BPUlQgIDcuNjQuMQogQ1VSTFNTTEJBQ0tFTkRfV09MRlNTTCAgICAgICAgICA3LjQ5LjAKIENVUkxTU0xPUFRfQUxMT1dfQkVBU1QgICAgICAgICAgNy4yNS4wCitDVVJMU1NMT1BUX05BVElWRV9DQSAgICAgICAgICAgIDcuNzEuMAogQ1VSTFNTTE9QVF9OT19QQVJUSUFMQ0hBSU4gICAgICA3LjY4LjAKIENVUkxTU0xPUFRfTk9fUkVWT0tFICAgICAgICAgICAgNy40NC4wCiBDVVJMU1NMU0VUX05PX0JBQ0tFTkRTICAgICAgICAgIDcuNTYuMApkaWZmIC0tZ2l0IGEvZG9jcy9vcHRpb25zLWluLXZlcnNpb25zIGIvZG9jcy9vcHRpb25zLWluLXZlcnNpb25zCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjFhMjczMDYKLS0tIC9kZXYvbnVsbAorKysgYi9kb2NzL29wdGlvbnMtaW4tdmVyc2lvbnMKQEAgLTAsMCArMSwyNDQgQEAKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBfICAgXyBfX19fICBfCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBfX198IHwgfCB8ICBfIFx8IHwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyBfX3wgfCB8IHwgfF8pIHwgfAorICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgKF9ffCB8X3wgfCAgXyA8fCB8X19fCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxfX198XF9fXy98X3wgXF9cX19fX198CisKKyBUaGlzIGRvY3VtZW50IGxpc3RzIGFsbCBjb21tYW5kIGxpbmUgb3B0aW9ucyBwcmVzZW50IGluIGN1cmwsIHRvZ2V0aGVyIHdpdGgKKyBleGFjdCBpbmZvcm1hdGlvbiBhYm91dCB0aGUgZmlyc3QgY3VybCB2ZXJzaW9uIHRoYXQgc3VwcG9ydHMgaXQuIFRoZSBvcHRpb25zCisgYXJlIHNvcnRlZCBhbHBoYWJldGljYWxseSBvbiB0aGUgbG9uZyBuYW1lLgorCisgTG9uZyAoc2hvcnQpICAgICAgICAgICAgICAgICAgICAgICAgSW50cm9kdWNlZAorCistLWFic3RyYWN0LXVuaXgtc29ja2V0ICAgICAgICAgICAgICAgNy41My4wCistLWFsdC1zdmMgICAgICAgICAgICAgICAgICAgICAgICAgICAgNy42NC4xCistLWFueWF1dGggICAgICAgICAgICAgICAgICAgICAgICAgICAgNy4xMC42CistLWFwcGVuZCAoLWEpICAgICAgICAgICAgICAgICAgICAgICAgNC44CistLWJhc2ljICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNy4xMC42CistLWNhY2VydCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNy41CistLWNhcGF0aCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNy45LjgKKy0tY2VydCAoLUUpICAgICAgICAgICAgICAgICAgICAgICAgICA1LjAKKy0tY2VydC1zdGF0dXMgICAgICAgICAgICAgICAgICAgICAgICA3LjQxLjAKKy0tY2VydC10eXBlICAgICAgICAgICAgICAgICAgICAgICAgICA3LjkuMworLS1jaXBoZXJzICAgICAgICAgICAgICAgICAgICAgICAgICAgIDcuOQorLS1jb21wcmVzc2VkICAgICAgICAgICAgICAgICAgICAgICAgIDcuMTAKKy0tY29tcHJlc3NlZC1zc2ggICAgICAgICAgICAgICAgICAgICA3LjU2LjAKKy0tY29uZmlnICgtSykgICAgICAgICAgICAgICAgICAgICAgICA0LjEwCistLWNvbm5lY3QtdGltZW91dCAgICAgICAgICAgICAgICAgICAgNy43CistLWNvbm5lY3QtdG8gICAgICAgICAgICAgICAgICAgICAgICAgNy40OS4wCistLWNvbnRpbnVlLWF0ICgtQykgICAgICAgICAgICAgICAgICAgNC44CistLWNvb2tpZSAoLWIpICAgICAgICAgICAgICAgICAgICAgICAgNC45CistLWNvb2tpZS1qYXIgKC1jKSAgICAgICAgICAgICAgICAgICAgNy45CistLWNyZWF0ZS1kaXJzICAgICAgICAgICAgICAgICAgICAgICAgNy4xMC4zCistLWNybGYgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNS43CistLWNybGZpbGUgICAgICAgICAgICAgICAgICAgICAgICAgICAgNy4xOS43CistLWRhdGEgKC1kKSAgICAgICAgICAgICAgICAgICAgICAgICAgNC4wCistLWRhdGEtYXNjaWkgICAgICAgICAgICAgICAgICAgICAgICAgNy4yCistLWRhdGEtYmluYXJ5ICAgICAgICAgICAgICAgICAgICAgICAgNy4yCistLWRhdGEtcmF3ICAgICAgICAgICAgICAgICAgICAgICAgICAgNy40My4wCistLWRhdGEtdXJsZW5jb2RlICAgICAgICAgICAgICAgICAgICAgNy4xOC4wCistLWRlbGVnYXRpb24gICAgICAgICAgICAgICAgICAgICAgICAgNy4yMi4wCistLWRpZ2VzdCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNy4xMC42CistLWRpc2FibGUgKC1xKSAgICAgICAgICAgICAgICAgICAgICAgNS4wCistLWRpc2FibGUtZXBydCAgICAgICAgICAgICAgICAgICAgICAgNy4xMC41CistLWRpc2FibGUtZXBzdiAgICAgICAgICAgICAgICAgICAgICAgNy45LjIKKy0tZGlzYWxsb3ctdXNlcm5hbWUtaW4tdXJsICAgICAgICAgICA3LjYxLjAKKy0tZG5zLWludGVyZmFjZSAgICAgICAgICAgICAgICAgICAgICA3LjMzLjAKKy0tZG5zLWlwdjQtYWRkciAgICAgICAgICAgICAgICAgICAgICA3LjMzLjAKKy0tZG5zLWlwdjYtYWRkciAgICAgICAgICAgICAgICAgICAgICA3LjMzLjAKKy0tZG5zLXNlcnZlcnMgICAgICAgICAgICAgICAgICAgICAgICA3LjMzLjAKKy0tZG9oLXVybCAgICAgICAgICAgICAgICAgICAgICAgICAgICA3LjYyLjAKKy0tZHVtcC1oZWFkZXIgKC1EKSAgICAgICAgICAgICAgICAgICA1LjcKKy0tZWdkLWZpbGUgICAgICAgICAgICAgICAgICAgICAgICAgICA3LjcKKy0tZW5naW5lICAgICAgICAgICAgICAgICAgICAgICAgICAgICA3LjkuMworLS1ldGFnLWNvbXBhcmUgICAgICAgICAgICAgICAgICAgICAgIDcuNjguMAorLS1ldGFnLXNhdmUgICAgICAgICAgICAgICAgICAgICAgICAgIDcuNjguMAorLS1leHBlY3QxMDAtdGltZW91dCAgICAgICAgICAgICAgICAgIDcuNDcuMAorLS1mYWlsICgtZikgICAgICAgICAgICAgICAgICAgICAgICAgIDQuMAorLS1mYWlsLWVhcmx5ICAgICAgICAgICAgICAgICAgICAgICAgIDcuNTIuMAorLS1mYWxzZS1zdGFydCAgICAgICAgICAgICAgICAgICAgICAgIDcuNDIuMAorLS1mb3JtICgtRikgICAgICAgICAgICAgICAgICAgICAgICAgIDUuMAorLS1mb3JtLXN0cmluZyAgICAgICAgICAgICAgICAgICAgICAgIDcuMTMuMgorLS1mdHAtYWNjb3VudCAgICAgICAgICAgICAgICAgICAgICAgIDcuMTMuMAorLS1mdHAtYWx0ZXJuYXRpdmUtdG8tdXNlciAgICAgICAgICAgIDcuMTUuNQorLS1mdHAtY3JlYXRlLWRpcnMgICAgICAgICAgICAgICAgICAgIDcuMTAuNworLS1mdHAtbWV0aG9kICAgICAgICAgICAgICAgICAgICAgICAgIDcuMTUuMQorLS1mdHAtcGFzdiAgICAgICAgICAgICAgICAgICAgICAgICAgIDcuMTEuMAorLS1mdHAtcG9ydCAoLVApICAgICAgICAgICAgICAgICAgICAgIDQuMAorLS1mdHAtcHJldCAgICAgICAgICAgICAgICAgICAgICAgICAgIDcuMjAuMAorLS1mdHAtc2tpcC1wYXN2LWlwICAgICAgICAgICAgICAgICAgIDcuMTQuMgorLS1mdHAtc3NsLWNjYyAgICAgICAgICAgICAgICAgICAgICAgIDcuMTYuMQorLS1mdHAtc3NsLWNjYy1tb2RlICAgICAgICAgICAgICAgICAgIDcuMTYuMgorLS1mdHAtc3NsLWNvbnRyb2wgICAgICAgICAgICAgICAgICAgIDcuMTYuMAorLS1nZXQgKC1HKSAgICAgICAgICAgICAgICAgICAgICAgICAgIDcuOC4xCistLWdsb2JvZmYgKC1nKSAgICAgICAgICAgICAgICAgICAgICAgNy42CistLWhhcHB5LWV5ZWJhbGxzLXRpbWVvdXQtbXMgICAgICAgICAgNy41OS4wCistLWhhcHJveHktcHJvdG9jb2wgICAgICAgICAgICAgICAgICAgNy42MC4wCistLWhlYWQgKC1JKSAgICAgICAgICAgICAgICAgICAgICAgICAgNC4wCistLWhlYWRlciAoLUgpICAgICAgICAgICAgICAgICAgICAgICAgNS4wCistLWhlbHAgKC1oKSAgICAgICAgICAgICAgICAgICAgICAgICAgNC4wCistLWhvc3RwdWJtZDUgICAgICAgICAgICAgICAgICAgICAgICAgNy4xNy4xCistLWh0dHAwLjkgICAgICAgICAgICAgICAgICAgICAgICAgICAgNy42NC4wCistLWh0dHAxLjAgKC0wKSAgICAgICAgICAgICAgICAgICAgICAgNy45LjEKKy0taHR0cDEuMSAgICAgICAgICAgICAgICAgICAgICAgICAgICA3LjMzLjAKKy0taHR0cDIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA3LjMzLjAKKy0taHR0cDItcHJpb3Ita25vd2xlZGdlICAgICAgICAgICAgICA3LjQ5LjAKKy0taHR0cDMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA3LjY2LjAKKy0taWdub3JlLWNvbnRlbnQtbGVuZ3RoICAgICAgICAgICAgICA3LjE0LjEKKy0taW5jbHVkZSAoLWkpICAgICAgICAgICAgICAgICAgICAgICA0LjgKKy0taW5zZWN1cmUgKC1rKSAgICAgICAgICAgICAgICAgICAgICA3LjEwCistLWludGVyZmFjZSAgICAgICAgICAgICAgICAgICAgICAgICAgNy4zCistLWlwdjQgKC00KSAgICAgICAgICAgICAgICAgICAgICAgICAgNy4xMC44CistLWlwdjYgKC02KSAgICAgICAgICAgICAgICAgICAgICAgICAgNy4xMC44CistLWp1bmstc2Vzc2lvbi1jb29raWVzICgtaikgICAgICAgICAgNy45LjcKKy0ta2VlcGFsaXZlLXRpbWUgICAgICAgICAgICAgICAgICAgICA3LjE4LjAKKy0ta2V5ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA3LjkuMworLS1rZXktdHlwZSAgICAgICAgICAgICAgICAgICAgICAgICAgIDcuOS4zCistLWtyYiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNy4zCistLWxpYmN1cmwgICAgICAgICAgICAgICAgICAgICAgICAgICAgNy4xNi4xCistLWxpbWl0LXJhdGUgICAgICAgICAgICAgICAgICAgICAgICAgNy4xMAorLS1saXN0LW9ubHkgKC1sKSAgICAgICAgICAgICAgICAgICAgIDQuMAorLS1sb2NhbC1wb3J0ICAgICAgICAgICAgICAgICAgICAgICAgIDcuMTUuMgorLS1sb2NhdGlvbiAoLUwpICAgICAgICAgICAgICAgICAgICAgIDQuOQorLS1sb2NhdGlvbi10cnVzdGVkICAgICAgICAgICAgICAgICAgIDcuMTAuNAorLS1sb2dpbi1vcHRpb25zICAgICAgICAgICAgICAgICAgICAgIDcuMzQuMAorLS1tYWlsLWF1dGggICAgICAgICAgICAgICAgICAgICAgICAgIDcuMjUuMAorLS1tYWlsLWZyb20gICAgICAgICAgICAgICAgICAgICAgICAgIDcuMjAuMAorLS1tYWlsLXJjcHQgICAgICAgICAgICAgICAgICAgICAgICAgIDcuMjAuMAorLS1tYWlsLXJjcHQtYWxsb3dmYWlscyAgICAgICAgICAgICAgIDcuNjkuMAorLS1tYW51YWwgKC1NKSAgICAgICAgICAgICAgICAgICAgICAgIDUuMgorLS1tYXgtZmlsZXNpemUgICAgICAgICAgICAgICAgICAgICAgIDcuMTAuOAorLS1tYXgtcmVkaXJzICAgICAgICAgICAgICAgICAgICAgICAgIDcuNQorLS1tYXgtdGltZSAoLW0pICAgICAgICAgICAgICAgICAgICAgIDQuMAorLS1tZXRhbGluayAgICAgICAgICAgICAgICAgICAgICAgICAgIDcuMjcuMAorLS1uZWdvdGlhdGUgICAgICAgICAgICAgICAgICAgICAgICAgIDcuMTAuNgorLS1uZXRyYyAoLW4pICAgICAgICAgICAgICAgICAgICAgICAgIDQuNgorLS1uZXRyYy1maWxlICAgICAgICAgICAgICAgICAgICAgICAgIDcuMjEuNQorLS1uZXRyYy1vcHRpb25hbCAgICAgICAgICAgICAgICAgICAgIDcuOS44CistLW5leHQgKC06KSAgICAgICAgICAgICAgICAgICAgICAgICAgNy4zNi4wCistLW5vLWFscG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgNy4zNi4wCistLW5vLWJ1ZmZlciAoLU4pICAgICAgICAgICAgICAgICAgICAgNi41CistLW5vLWtlZXBhbGl2ZSAgICAgICAgICAgICAgICAgICAgICAgNy4xOC4wCistLW5vLW5wbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNy4zNi4wCistLW5vLXByb2dyZXNzLW1ldGVyICAgICAgICAgICAgICAgICAgNy42Ny4wCistLW5vLXNlc3Npb25pZCAgICAgICAgICAgICAgICAgICAgICAgNy4xNi4wCistLW5vcHJveHkgICAgICAgICAgICAgICAgICAgICAgICAgICAgNy4xOS40CistLW50bG0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNy4xMC42CistLW50bG0td2IgICAgICAgICAgICAgICAgICAgICAgICAgICAgNy4yMi4wCistLW9hdXRoMi1iZWFyZXIgICAgICAgICAgICAgICAgICAgICAgNy4zMy4wCistLW91dHB1dCAoLW8pICAgICAgICAgICAgICAgICAgICAgICAgNC4wCistLXBhcmFsbGVsICgtWikgICAgICAgICAgICAgICAgICAgICAgNy42Ni4wCistLXBhcmFsbGVsLWltbWVkaWF0ZSAgICAgICAgICAgICAgICAgNy42OC4wCistLXBhcmFsbGVsLW1heCAgICAgICAgICAgICAgICAgICAgICAgNy42Ni4wCistLXBhc3MgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNy45LjMKKy0tcGF0aC1hcy1pcyAgICAgICAgICAgICAgICAgICAgICAgICA3LjQyLjAKKy0tcGlubmVkcHVia2V5ICAgICAgICAgICAgICAgICAgICAgICA3LjM5LjAKKy0tcG9zdDMwMSAgICAgICAgICAgICAgICAgICAgICAgICAgICA3LjE3LjEKKy0tcG9zdDMwMiAgICAgICAgICAgICAgICAgICAgICAgICAgICA3LjE5LjEKKy0tcG9zdDMwMyAgICAgICAgICAgICAgICAgICAgICAgICAgICA3LjI2LjAKKy0tcHJlcHJveHkgICAgICAgICAgICAgICAgICAgICAgICAgICA3LjUyLjAKKy0tcHJvZ3Jlc3MtYmFyICgtIykgICAgICAgICAgICAgICAgICA1LjEwCistLXByb3RvICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNy4yMC4yCistLXByb3RvLWRlZmF1bHQgICAgICAgICAgICAgICAgICAgICAgNy40NS4wCistLXByb3RvLXJlZGlyICAgICAgICAgICAgICAgICAgICAgICAgNy4yMC4yCistLXByb3h5ICgteCkgICAgICAgICAgICAgICAgICAgICAgICAgNC4wCistLXByb3h5LWFueWF1dGggICAgICAgICAgICAgICAgICAgICAgNy4xMy4yCistLXByb3h5LWJhc2ljICAgICAgICAgICAgICAgICAgICAgICAgNy4xMi4wCistLXByb3h5LWNhY2VydCAgICAgICAgICAgICAgICAgICAgICAgNy41Mi4wCistLXByb3h5LWNhcGF0aCAgICAgICAgICAgICAgICAgICAgICAgNy41Mi4wCistLXByb3h5LWNlcnQgICAgICAgICAgICAgICAgICAgICAgICAgNy41Mi4wCistLXByb3h5LWNlcnQtdHlwZSAgICAgICAgICAgICAgICAgICAgNy41Mi4wCistLXByb3h5LWNpcGhlcnMgICAgICAgICAgICAgICAgICAgICAgNy41Mi4wCistLXByb3h5LWNybGZpbGUgICAgICAgICAgICAgICAgICAgICAgNy41Mi4wCistLXByb3h5LWRpZ2VzdCAgICAgICAgICAgICAgICAgICAgICAgNy4xMi4wCistLXByb3h5LWhlYWRlciAgICAgICAgICAgICAgICAgICAgICAgNy4zNy4wCistLXByb3h5LWluc2VjdXJlICAgICAgICAgICAgICAgICAgICAgNy41Mi4wCistLXByb3h5LWtleSAgICAgICAgICAgICAgICAgICAgICAgICAgNy41Mi4wCistLXByb3h5LWtleS10eXBlICAgICAgICAgICAgICAgICAgICAgNy41Mi4wCistLXByb3h5LW5lZ290aWF0ZSAgICAgICAgICAgICAgICAgICAgNy4xNy4xCistLXByb3h5LW50bG0gICAgICAgICAgICAgICAgICAgICAgICAgNy4xMC43CistLXByb3h5LXBhc3MgICAgICAgICAgICAgICAgICAgICAgICAgNy41Mi4wCistLXByb3h5LXBpbm5lZHB1YmtleSAgICAgICAgICAgICAgICAgNy41OS4wCistLXByb3h5LXNlcnZpY2UtbmFtZSAgICAgICAgICAgICAgICAgNy40My4wCistLXByb3h5LXNzbC1hbGxvdy1iZWFzdCAgICAgICAgICAgICAgNy41Mi4wCistLXByb3h5LXRsczEzLWNpcGhlcnMgICAgICAgICAgICAgICAgNy42MS4wCistLXByb3h5LXRsc2F1dGh0eXBlICAgICAgICAgICAgICAgICAgNy41Mi4wCistLXByb3h5LXRsc3Bhc3N3b3JkICAgICAgICAgICAgICAgICAgNy41Mi4wCistLXByb3h5LXRsc3VzZXIgICAgICAgICAgICAgICAgICAgICAgNy41Mi4wCistLXByb3h5LXRsc3YxICAgICAgICAgICAgICAgICAgICAgICAgNy41Mi4wCistLXByb3h5LXVzZXIgKC1VKSAgICAgICAgICAgICAgICAgICAgNC4wCistLXByb3h5MS4wICAgICAgICAgICAgICAgICAgICAgICAgICAgNy4xOS40CistLXByb3h5dHVubmVsICgtcCkgICAgICAgICAgICAgICAgICAgNy4zCistLXB1YmtleSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNy4xNi4yCistLXF1b3RlICgtUSkgICAgICAgICAgICAgICAgICAgICAgICAgNS4zCistLXJhbmRvbS1maWxlICAgICAgICAgICAgICAgICAgICAgICAgNy43CistLXJhbmdlICgtcikgICAgICAgICAgICAgICAgICAgICAgICAgNC4wCistLXJhdyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNy4xNi4yCistLXJlZmVyZXIgKC1lKSAgICAgICAgICAgICAgICAgICAgICAgNC4wCistLXJlbW90ZS1oZWFkZXItbmFtZSAoLUopICAgICAgICAgICAgNy4yMC4wCistLXJlbW90ZS1uYW1lICgtTykgICAgICAgICAgICAgICAgICAgNC4wCistLXJlbW90ZS1uYW1lLWFsbCAgICAgICAgICAgICAgICAgICAgNy4xOS4wCistLXJlbW90ZS10aW1lICgtUikgICAgICAgICAgICAgICAgICAgNy45CistLXJlcXVlc3QgKC1YKSAgICAgICAgICAgICAgICAgICAgICAgNi4wCistLXJlcXVlc3QtdGFyZ2V0ICAgICAgICAgICAgICAgICAgICAgNy41NS4wCistLXJlc29sdmUgICAgICAgICAgICAgICAgICAgICAgICAgICAgNy4yMS4zCistLXJldHJ5ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNy4xMi4zCistLXJldHJ5LWFsbC1lcnJvcnMgICAgICAgICAgICAgICAgICAgNy43MS4wCistLXJldHJ5LWNvbm5yZWZ1c2VkICAgICAgICAgICAgICAgICAgNy41Mi4wCistLXJldHJ5LWRlbGF5ICAgICAgICAgICAgICAgICAgICAgICAgNy4xMi4zCistLXJldHJ5LW1heC10aW1lICAgICAgICAgICAgICAgICAgICAgNy4xMi4zCistLXNhc2wtYXV0aHppZCAgICAgICAgICAgICAgICAgICAgICAgNy42Ni4wCistLXNhc2wtaXIgICAgICAgICAgICAgICAgICAgICAgICAgICAgNy4zMS4wCistLXNlcnZpY2UtbmFtZSAgICAgICAgICAgICAgICAgICAgICAgNy40My4wCistLXNob3ctZXJyb3IgKC1TKSAgICAgICAgICAgICAgICAgICAgNS45CistLXNpbGVudCAoLXMpICAgICAgICAgICAgICAgICAgICAgICAgNC4wCistLXNvY2tzNCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNy4xNS4yCistLXNvY2tzNGEgICAgICAgICAgICAgICAgICAgICAgICAgICAgNy4xOC4wCistLXNvY2tzNSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNy4xOC4wCistLXNvY2tzNS1iYXNpYyAgICAgICAgICAgICAgICAgICAgICAgNy41NS4wCistLXNvY2tzNS1nc3NhcGkgICAgICAgICAgICAgICAgICAgICAgNy41NS4wCistLXNvY2tzNS1nc3NhcGktbmVjICAgICAgICAgICAgICAgICAgNy4xOS40CistLXNvY2tzNS1nc3NhcGktc2VydmljZSAgICAgICAgICAgICAgNy4xOS40CistLXNvY2tzNS1ob3N0bmFtZSAgICAgICAgICAgICAgICAgICAgNy4xOC4wCistLXNwZWVkLWxpbWl0ICgtWSkgICAgICAgICAgICAgICAgICAgNC43CistLXNwZWVkLXRpbWUgKC15KSAgICAgICAgICAgICAgICAgICAgNC43CistLXNzbCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNy4yMC4wCistLXNzbC1hbGxvdy1iZWFzdCAgICAgICAgICAgICAgICAgICAgNy4yNS4wCistLXNzbC1uby1yZXZva2UgICAgICAgICAgICAgICAgICAgICAgNy40NC4wCistLXNzbC1yZXFkICAgICAgICAgICAgICAgICAgICAgICAgICAgNy4yMC4wCistLXNzbC1yZXZva2UtYmVzdC1lZmZvcnQgICAgICAgICAgICAgNy43MC4wCistLXNzbHYyICgtMikgICAgICAgICAgICAgICAgICAgICAgICAgNS45CistLXNzbHYzICgtMykgICAgICAgICAgICAgICAgICAgICAgICAgNS45CistLXN0ZGVyciAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNi4yCistLXN0eWxlZC1vdXRwdXQgICAgICAgICAgICAgICAgICAgICAgNy42MS4wCistLXN1cHByZXNzLWNvbm5lY3QtaGVhZGVycyAgICAgICAgICAgNy41NC4wCistLXRjcC1mYXN0b3BlbiAgICAgICAgICAgICAgICAgICAgICAgNy40OS4wCistLXRjcC1ub2RlbGF5ICAgICAgICAgICAgICAgICAgICAgICAgNy4xMS4yCistLXRlbG5ldC1vcHRpb24gKC10KSAgICAgICAgICAgICAgICAgNy43CistLXRmdHAtYmxrc2l6ZSAgICAgICAgICAgICAgICAgICAgICAgNy4yMC4wCistLXRmdHAtbm8tb3B0aW9ucyAgICAgICAgICAgICAgICAgICAgNy40OC4wCistLXRpbWUtY29uZCAoLXopICAgICAgICAgICAgICAgICAgICAgNS44CistLXRscy1tYXggICAgICAgICAgICAgICAgICAgICAgICAgICAgNy41NC4wCistLXRsczEzLWNpcGhlcnMgICAgICAgICAgICAgICAgICAgICAgNy42MS4wCistLXRsc2F1dGh0eXBlICAgICAgICAgICAgICAgICAgICAgICAgNy4yMS40CistLXRsc3Bhc3N3b3JkICAgICAgICAgICAgICAgICAgICAgICAgNy4yMS40CistLXRsc3VzZXIgICAgICAgICAgICAgICAgICAgICAgICAgICAgNy4yMS40CistLXRsc3YxICgtMSkgICAgICAgICAgICAgICAgICAgICAgICAgNy45LjIKKy0tdGxzdjEuMCAgICAgICAgICAgICAgICAgICAgICAgICAgICA3LjM0LjAKKy0tdGxzdjEuMSAgICAgICAgICAgICAgICAgICAgICAgICAgICA3LjM0LjAKKy0tdGxzdjEuMiAgICAgICAgICAgICAgICAgICAgICAgICAgICA3LjM0LjAKKy0tdGxzdjEuMyAgICAgICAgICAgICAgICAgICAgICAgICAgICA3LjUyLjAKKy0tdHItZW5jb2RpbmcgICAgICAgICAgICAgICAgICAgICAgICA3LjIxLjYKKy0tdHJhY2UgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA3LjkuNworLS10cmFjZS1hc2NpaSAgICAgICAgICAgICAgICAgICAgICAgIDcuOS43CistLXRyYWNlLXRpbWUgICAgICAgICAgICAgICAgICAgICAgICAgNy4xNC4wCistLXVuaXgtc29ja2V0ICAgICAgICAgICAgICAgICAgICAgICAgNy40MC4wCistLXVwbG9hZC1maWxlICgtVCkgICAgICAgICAgICAgICAgICAgNC4wCistLXVybCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNy41CistLXVzZS1hc2NpaSAoLUIpICAgICAgICAgICAgICAgICAgICAgNS4wCistLXVzZXIgKC11KSAgICAgICAgICAgICAgICAgICAgICAgICAgNC4wCistLXVzZXItYWdlbnQgKC1BKSAgICAgICAgICAgICAgICAgICAgNC41LjEKKy0tdmVyYm9zZSAoLXYpICAgICAgICAgICAgICAgICAgICAgICA0LjAKKy0tdmVyc2lvbiAoLVYpICAgICAgICAgICAgICAgICAgICAgICA0LjAKKy0td3JpdGUtb3V0ICgtdykgICAgICAgICAgICAgICAgICAgICA2LjUKKy0teGF0dHIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA3LjIxLjMKZGlmZiAtLWdpdCBhL2luY2x1ZGUvY3VybC9jdXJsLmggYi9pbmNsdWRlL2N1cmwvY3VybC5oCmluZGV4IDExMjQ2ZWEuLmUzNTMxZjUgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvY3VybC9jdXJsLmgKKysrIGIvaW5jbHVkZS9jdXJsL2N1cmwuaApAQCAtNzc0LDcgKzc3NCw3IEBACiB9OwogCiBzdHJ1Y3QgY3VybF9raGtleSB7Ci0gIGNvbnN0IGNoYXIgKmtleTsgLyogcG9pbnRzIHRvIGEgemVyby10ZXJtaW5hdGVkIHN0cmluZyBlbmNvZGVkIHdpdGggYmFzZTY0CisgIGNvbnN0IGNoYXIgKmtleTsgLyogcG9pbnRzIHRvIGEgbnVsbC10ZXJtaW5hdGVkIHN0cmluZyBlbmNvZGVkIHdpdGggYmFzZTY0CiAgICAgICAgICAgICAgICAgICAgICAgaWYgbGVuIGlzIHplcm8sIG90aGVyd2lzZSB0byB0aGUgInJhdyIgZGF0YSAqLwogICBzaXplX3QgbGVuOwogICBlbnVtIGN1cmxfa2h0eXBlIGtleXR5cGU7CkBAIC04MzgsNiArODM4LDEwIEBACiAgICBiZWhhdmlvciBpcyBwcmVzZW50LiAqLwogI2RlZmluZSBDVVJMU1NMT1BUX1JFVk9LRV9CRVNUX0VGRk9SVCAoMTw8MykKIAorLyogLSBDVVJMU1NMT1BUX05BVElWRV9DQSB0ZWxscyBsaWJjdXJsIHRvIHVzZSBzdGFuZGFyZCBjZXJ0aWZpY2F0ZSBzdG9yZSBvZgorICAgb3BlcmF0aW5nIHN5c3RlbS4gQ3VycmVudGx5IGltcGxlbWVudGVkIHVuZGVyIE1TLVdpbmRvd3MuICovCisjZGVmaW5lIENVUkxTU0xPUFRfTkFUSVZFX0NBICgxPDw0KQorCiAvKiBUaGUgZGVmYXVsdCBjb25uZWN0aW9uIGF0dGVtcHQgZGVsYXkgaW4gbWlsbGlzZWNvbmRzIGZvciBoYXBweSBleWViYWxscy4KICAgIENVUkxPUFRfSEFQUFlfRVlFQkFMTFNfVElNRU9VVF9NUy4zIGFuZCBoYXBweS1leWViYWxscy10aW1lb3V0LW1zLmQgZG9jdW1lbnQKICAgIHRoaXMgdmFsdWUsIGtlZXAgdGhlbSBpbiBzeW5jLiAqLwpAQCAtOTQ2LDYgKzk1MCw3IEBACiAjZGVmaW5lIENVUkxPUFRUWVBFX09CSkVDVFBPSU5UICAgMTAwMDAKICNkZWZpbmUgQ1VSTE9QVFRZUEVfRlVOQ1RJT05QT0lOVCAyMDAwMAogI2RlZmluZSBDVVJMT1BUVFlQRV9PRkZfVCAgICAgICAgIDMwMDAwCisjZGVmaW5lIENVUkxPUFRUWVBFX0JMT0IgICAgICAgICAgNDAwMDAKIAogLyogKlNUUklOR1BPSU5UIGlzIGFuIGFsaWFzIGZvciBPQkpFQ1RQT0lOVCB0byBhbGxvdyB0b29scyB0byBleHRyYWN0IHRoZQogICAgc3RyaW5nIG9wdGlvbnMgZnJvbSB0aGUgaGVhZGVyIGZpbGUgKi8KQEAgLTE0NDEsNyArMTQ0Niw3IEBACiAgIC8qIDEzMiBPQlNPTEVURS4gR29uZSBpbiA3LjE2LjAgKi8KICAgLyogMTMzIE9CU09MRVRFLiBHb25lIGluIDcuMTYuMCAqLwogCi0gIC8qIHplcm8gdGVybWluYXRlZCBzdHJpbmcgZm9yIHBhc3Mgb24gdG8gdGhlIEZUUCBzZXJ2ZXIgd2hlbiBhc2tlZCBmb3IKKyAgLyogbnVsbC10ZXJtaW5hdGVkIHN0cmluZyBmb3IgcGFzcyBvbiB0byB0aGUgRlRQIHNlcnZlciB3aGVuIGFza2VkIGZvcgogICAgICAiYWNjb3VudCIgaW5mbyAqLwogICBDVVJMT1BUKENVUkxPUFRfRlRQX0FDQ09VTlQsIENVUkxPUFRUWVBFX1NUUklOR1BPSU5ULCAxMzQpLAogCkBAIC0xOTU1LDYgKzE5NjAsMTcgQEAKICAgLyogYWxsb3cgUkNQVCBUTyBjb21tYW5kIHRvIGZhaWwgZm9yIHNvbWUgcmVjaXBpZW50cyAqLwogICBDVVJMT1BUKENVUkxPUFRfTUFJTF9SQ1BUX0FMTExPV0ZBSUxTLCBDVVJMT1BUVFlQRV9MT05HLCAyOTApLAogCisgIC8qIHRoZSBwcml2YXRlIFNTTC1jZXJ0aWZpY2F0ZSBhcyBhICJibG9iIiAqLworICBDVVJMT1BUKENVUkxPUFRfU1NMQ0VSVF9CTE9CLCBDVVJMT1BUVFlQRV9CTE9CLCAyOTEpLAorICBDVVJMT1BUKENVUkxPUFRfU1NMS0VZX0JMT0IsIENVUkxPUFRUWVBFX0JMT0IsIDI5MiksCisgIENVUkxPUFQoQ1VSTE9QVF9QUk9YWV9TU0xDRVJUX0JMT0IsIENVUkxPUFRUWVBFX0JMT0IsIDI5MyksCisgIENVUkxPUFQoQ1VSTE9QVF9QUk9YWV9TU0xLRVlfQkxPQiwgQ1VSTE9QVFRZUEVfQkxPQiwgMjk0KSwKKyAgQ1VSTE9QVChDVVJMT1BUX0lTU1VFUkNFUlRfQkxPQiwgQ1VSTE9QVFRZUEVfQkxPQiwgMjk1KSwKKworICAvKiBJc3N1ZXIgY2VydGlmaWNhdGUgZm9yIHByb3h5ICovCisgIENVUkxPUFQoQ1VSTE9QVF9QUk9YWV9JU1NVRVJDRVJULCBDVVJMT1BUVFlQRV9TVFJJTkdQT0lOVCwgMjk2KSwKKyAgQ1VSTE9QVChDVVJMT1BUX1BST1hZX0lTU1VFUkNFUlRfQkxPQiwgQ1VSTE9QVFRZUEVfQkxPQiwgMjk3KSwKKwogICBDVVJMT1BUX0xBU1RFTlRSWSAvKiB0aGUgbGFzdCB1bnVzZWQgKi8KIH0gQ1VSTG9wdGlvbjsKIApAQCAtMjEwMiw3ICsyMTE4LDcgQEAKICAgQ1VSTF9USU1FQ09ORF9MQVNUCiB9IGN1cmxfVGltZUNvbmQ7CiAKLS8qIFNwZWNpYWwgc2l6ZV90IHZhbHVlIHNpZ25hbGluZyBhIHplcm8tdGVybWluYXRlZCBzdHJpbmcuICovCisvKiBTcGVjaWFsIHNpemVfdCB2YWx1ZSBzaWduYWxpbmcgYSBudWxsLXRlcm1pbmF0ZWQgc3RyaW5nLiAqLwogI2RlZmluZSBDVVJMX1pFUk9fVEVSTUlOQVRFRCAoKHNpemVfdCkgLTEpCiAKIC8qIGN1cmxfc3RyZXF1YWwoKSBhbmQgY3VybF9zdHJuZXF1YWwoKSBhcmUgc3ViamVjdCBmb3IgcmVtb3ZhbCBpbiBhIGZ1dHVyZQpAQCAtMjExMSw4ICsyMTI3LDggQEAKIENVUkxfRVhURVJOIGludCBjdXJsX3N0cm5lcXVhbChjb25zdCBjaGFyICpzMSwgY29uc3QgY2hhciAqczIsIHNpemVfdCBuKTsKIAogLyogTWltZS9mb3JtIGhhbmRsaW5nIHN1cHBvcnQuICovCi10eXBlZGVmIHN0cnVjdCBjdXJsX21pbWVfcyAgICAgIGN1cmxfbWltZTsgICAgICAvKiBNaW1lIGNvbnRleHQuICovCi10eXBlZGVmIHN0cnVjdCBjdXJsX21pbWVwYXJ0X3MgIGN1cmxfbWltZXBhcnQ7ICAvKiBNaW1lIHBhcnQgY29udGV4dC4gKi8KK3R5cGVkZWYgc3RydWN0IGN1cmxfbWltZSAgICAgIGN1cmxfbWltZTsgICAgICAvKiBNaW1lIGNvbnRleHQuICovCit0eXBlZGVmIHN0cnVjdCBjdXJsX21pbWVwYXJ0ICBjdXJsX21pbWVwYXJ0OyAgLyogTWltZSBwYXJ0IGNvbnRleHQuICovCiAKIC8qCiAgKiBOQU1FIGN1cmxfbWltZV9pbml0KCkKQEAgLTI0ODYsMTAgKzI1MDIsMTEgQEAKICAqIHN1YnNlcXVlbnQgYXR0ZW1wdCB0byBjaGFuZ2UgaXQgd2lsbCByZXN1bHQgaW4gYSBDVVJMU1NMU0VUX1RPT19MQVRFLgogICovCiAKLXR5cGVkZWYgc3RydWN0IHsKK3N0cnVjdCBjdXJsX3NzbF9iYWNrZW5kIHsKICAgY3VybF9zc2xiYWNrZW5kIGlkOwogICBjb25zdCBjaGFyICpuYW1lOwotfSBjdXJsX3NzbF9iYWNrZW5kOworfTsKK3R5cGVkZWYgc3RydWN0IGN1cmxfc3NsX2JhY2tlbmQgY3VybF9zc2xfYmFja2VuZDsKIAogdHlwZWRlZiBlbnVtIHsKICAgQ1VSTFNTTFNFVF9PSyA9IDAsCkBAIC0yNzQxLDcgKzI3NTgsNyBAQAogICAgZnJvbSBhYm92ZS4gKi8KICNkZWZpbmUgQ1VSTFZFUlNJT05fTk9XIENVUkxWRVJTSU9OX1NFVkVOVEgKIAotdHlwZWRlZiBzdHJ1Y3Qgeworc3RydWN0IGN1cmxfdmVyc2lvbl9pbmZvX2RhdGEgewogICBDVVJMdmVyc2lvbiBhZ2U7ICAgICAgICAgIC8qIGFnZSBvZiB0aGUgcmV0dXJuZWQgc3RydWN0ICovCiAgIGNvbnN0IGNoYXIgKnZlcnNpb247ICAgICAgLyogTElCQ1VSTF9WRVJTSU9OICovCiAgIHVuc2lnbmVkIGludCB2ZXJzaW9uX251bTsgLyogTElCQ1VSTF9WRVJTSU9OX05VTSAqLwpAQCAtMjc4NSw3ICsyODAyLDggQEAKICAgY29uc3QgY2hhciAqY2FwYXRoOyAgICAgICAgICAvKiB0aGUgYnVpbHQtaW4gZGVmYXVsdCBDVVJMT1BUX0NBUEFUSCwgbWlnaHQKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBiZSBOVUxMICovCiAKLX0gY3VybF92ZXJzaW9uX2luZm9fZGF0YTsKK307Cit0eXBlZGVmIHN0cnVjdCBjdXJsX3ZlcnNpb25faW5mb19kYXRhIGN1cmxfdmVyc2lvbl9pbmZvX2RhdGE7CiAKICNkZWZpbmUgQ1VSTF9WRVJTSU9OX0lQVjYgICAgICAgICAoMTw8MCkgIC8qIElQdjYtZW5hYmxlZCAqLwogI2RlZmluZSBDVVJMX1ZFUlNJT05fS0VSQkVST1M0ICAgICgxPDwxKSAgLyogS2VyYmVyb3MgVjQgYXV0aCBpcyBzdXBwb3J0ZWQKZGlmZiAtLWdpdCBhL2luY2x1ZGUvY3VybC9jdXJsdmVyLmggYi9pbmNsdWRlL2N1cmwvY3VybHZlci5oCmluZGV4IDM5ZTQzMGIuLjQ4ZDFlNDYgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvY3VybC9jdXJsdmVyLmgKKysrIGIvaW5jbHVkZS9jdXJsL2N1cmx2ZXIuaApAQCAtMzAsMTYgKzMwLDE2IEBACiAKIC8qIFRoaXMgaXMgdGhlIHZlcnNpb24gbnVtYmVyIG9mIHRoZSBsaWJjdXJsIHBhY2thZ2UgZnJvbSB3aGljaCB0aGlzIGhlYWRlcgogICAgZmlsZSBvcmlnaW5zOiAqLwotI2RlZmluZSBMSUJDVVJMX1ZFUlNJT04gIjcuNzAuMCIKKyNkZWZpbmUgTElCQ1VSTF9WRVJTSU9OICI3LjcxLjEiCiAKIC8qIFRoZSBudW1lcmljIHZlcnNpb24gbnVtYmVyIGlzIGFsc28gYXZhaWxhYmxlICJpbiBwYXJ0cyIgYnkgdXNpbmcgdGhlc2UKICAgIGRlZmluZXM6ICovCiAjZGVmaW5lIExJQkNVUkxfVkVSU0lPTl9NQUpPUiA3Ci0jZGVmaW5lIExJQkNVUkxfVkVSU0lPTl9NSU5PUiA3MAotI2RlZmluZSBMSUJDVVJMX1ZFUlNJT05fUEFUQ0ggMAorI2RlZmluZSBMSUJDVVJMX1ZFUlNJT05fTUlOT1IgNzEKKyNkZWZpbmUgTElCQ1VSTF9WRVJTSU9OX1BBVENIIDEKIAogLyogVGhpcyBpcyB0aGUgbnVtZXJpYyB2ZXJzaW9uIG9mIHRoZSBsaWJjdXJsIHZlcnNpb24gbnVtYmVyLCBtZWFudCBmb3IgZWFzaWVyCi0gICBwYXJzaW5nIGFuZCBjb21wYXJpb25zIGJ5IHByb2dyYW1zLiBUaGUgTElCQ1VSTF9WRVJTSU9OX05VTSBkZWZpbmUgd2lsbAorICAgcGFyc2luZyBhbmQgY29tcGFyaXNvbnMgYnkgcHJvZ3JhbXMuIFRoZSBMSUJDVVJMX1ZFUlNJT05fTlVNIGRlZmluZSB3aWxsCiAgICBhbHdheXMgZm9sbG93IHRoaXMgc3ludGF4OgogCiAgICAgICAgICAweFhYWVlaWgpAQCAtNTcsNyArNTcsNyBAQAogICAgQ1VSTF9WRVJTSU9OX0JJVFMoKSBtYWNybyBzaW5jZSBjdXJsJ3Mgb3duIGNvbmZpZ3VyZSBzY3JpcHQgZ3JlcHMgZm9yIGl0CiAgICBhbmQgbmVlZHMgaXQgdG8gY29udGFpbiB0aGUgZnVsbCBudW1iZXIuCiAqLwotI2RlZmluZSBMSUJDVVJMX1ZFUlNJT05fTlVNIDB4MDc0NjAwCisjZGVmaW5lIExJQkNVUkxfVkVSU0lPTl9OVU0gMHgwNzQ3MDEKIAogLyoKICAqIFRoaXMgaXMgdGhlIGRhdGUgYW5kIHRpbWUgd2hlbiB0aGUgZnVsbCBzb3VyY2UgcGFja2FnZSB3YXMgY3JlYXRlZC4gVGhlCkBAIC02OCw3ICs2OCw3IEBACiAgKgogICogIjIwMDctMTEtMjMiCiAgKi8KLSNkZWZpbmUgTElCQ1VSTF9USU1FU1RBTVAgIjIwMjAtMDQtMjkiCisjZGVmaW5lIExJQkNVUkxfVElNRVNUQU1QICIyMDIwLTA3LTAxIgogCiAjZGVmaW5lIENVUkxfVkVSU0lPTl9CSVRTKHgseSx6KSAoKHgpPDwxNnwoeSk8PDh8KHopKQogI2RlZmluZSBDVVJMX0FUX0xFQVNUX1ZFUlNJT04oeCx5LHopIFwKZGlmZiAtLWdpdCBhL2luY2x1ZGUvY3VybC9lYXN5LmggYi9pbmNsdWRlL2N1cmwvZWFzeS5oCmluZGV4IDU5MmY1ZDMuLjlhZWYxMzMgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvY3VybC9lYXN5LmgKKysrIGIvaW5jbHVkZS9jdXJsL2Vhc3kuaApAQCAtNyw3ICs3LDcgQEAKICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgKF9ffCB8X3wgfCAgXyA8fCB8X19fCiAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXF9fX3xcX19fL3xffCBcX1xfX19fX3wKICAqCi0gKiBDb3B5cmlnaHQgKEMpIDE5OTggLSAyMDE5LCBEYW5pZWwgU3RlbmJlcmcsIDxkYW5pZWxAaGF4eC5zZT4sIGV0IGFsLgorICogQ29weXJpZ2h0IChDKSAxOTk4IC0gMjAyMCwgRGFuaWVsIFN0ZW5iZXJnLCA8ZGFuaWVsQGhheHguc2U+LCBldCBhbC4KICAqCiAgKiBUaGlzIHNvZnR3YXJlIGlzIGxpY2Vuc2VkIGFzIGRlc2NyaWJlZCBpbiB0aGUgZmlsZSBDT1BZSU5HLCB3aGljaAogICogeW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGFzIHBhcnQgb2YgdGhpcyBkaXN0cmlidXRpb24uIFRoZSB0ZXJtcwpAQCAtMjUsNiArMjUsMTcgQEAKIGV4dGVybiAiQyIgewogI2VuZGlmCiAKKy8qIEZsYWcgYml0cyBpbiB0aGUgY3VybF9ibG9iIHN0cnVjdDogKi8KKyNkZWZpbmUgQ1VSTF9CTE9CX0NPUFkgICAxIC8qIHRlbGwgbGliY3VybCB0byBjb3B5IHRoZSBkYXRhICovCisjZGVmaW5lIENVUkxfQkxPQl9OT0NPUFkgMCAvKiB0ZWxsIGxpYmN1cmwgdG8gTk9UIGNvcHkgdGhlIGRhdGEgKi8KKworc3RydWN0IGN1cmxfYmxvYiB7CisgIHZvaWQgKmRhdGE7CisgIHNpemVfdCBsZW47CisgIHVuc2lnbmVkIGludCBmbGFnczsgLyogYml0IDAgaXMgZGVmaW5lZCwgdGhlIHJlc3QgYXJlIHJlc2VydmVkIGFuZCBzaG91bGQgYmUKKyAgICAgICAgICAgICAgICAgICAgICAgICBsZWZ0IHplcm9lcyAqLworfTsKKwogQ1VSTF9FWFRFUk4gQ1VSTCAqY3VybF9lYXN5X2luaXQodm9pZCk7CiBDVVJMX0VYVEVSTiBDVVJMY29kZSBjdXJsX2Vhc3lfc2V0b3B0KENVUkwgKmN1cmwsIENVUkxvcHRpb24gb3B0aW9uLCAuLi4pOwogQ1VSTF9FWFRFUk4gQ1VSTGNvZGUgY3VybF9lYXN5X3BlcmZvcm0oQ1VSTCAqY3VybCk7CmRpZmYgLS1naXQgYS9pbmNsdWRlL2N1cmwvbXVsdGkuaCBiL2luY2x1ZGUvY3VybC9tdWx0aS5oCmluZGV4IGJkYTliYjcuLjJlNmJiNzIgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvY3VybC9tdWx0aS5oCisrKyBiL2luY2x1ZGUvY3VybC9tdWx0aS5oCkBAIC0yNjcsNyArMjY3LDcgQEAKICAqICAgICAgICAgIHZhbHVlIGludG8gdGhlIGVxdWl2YWxlbnQgaHVtYW4gcmVhZGFibGUgZXJyb3Igc3RyaW5nLiAgVGhpcyBpcwogICogICAgICAgICAgdXNlZnVsIGZvciBwcmludGluZyBtZWFuaW5nZnVsIGVycm9yIG1lc3NhZ2VzLgogICoKLSAqIFJldHVybnM6IEEgcG9pbnRlciB0byBhIHplcm8tdGVybWluYXRlZCBlcnJvciBtZXNzYWdlLgorICogUmV0dXJuczogQSBwb2ludGVyIHRvIGEgbnVsbC10ZXJtaW5hdGVkIGVycm9yIG1lc3NhZ2UuCiAgKi8KIENVUkxfRVhURVJOIGNvbnN0IGNoYXIgKmN1cmxfbXVsdGlfc3RyZXJyb3IoQ1VSTE1jb2RlKTsKIApAQCAtMzc3LDEyICszNzcsMTAgQEAKICAgICAgd2lsbCBub3QgYmUgY29uc2lkZXJlZCBmb3IgcGlwZWxpbmluZyAqLwogICBDVVJMT1BUKENVUkxNT1BUX0NIVU5LX0xFTkdUSF9QRU5BTFRZX1NJWkUsIENVUkxPUFRUWVBFX09GRl9ULCAxMCksCiAKLSAgLyogYSBsaXN0IG9mIHNpdGUgbmFtZXMoK3BvcnQpIHRoYXQgYXJlIGJsYWNrbGlzdGVkIGZyb20KLSAgICAgcGlwZWxpbmluZyAqLworICAvKiBhIGxpc3Qgb2Ygc2l0ZSBuYW1lcygrcG9ydCkgdGhhdCBhcmUgYmxvY2tlZCBmcm9tIHBpcGVsaW5pbmcgKi8KICAgQ1VSTE9QVChDVVJMTU9QVF9QSVBFTElOSU5HX1NJVEVfQkwsIENVUkxPUFRUWVBFX09CSkVDVFBPSU5ULCAxMSksCiAKLSAgLyogYSBsaXN0IG9mIHNlcnZlciB0eXBlcyB0aGF0IGFyZSBibGFja2xpc3RlZCBmcm9tCi0gICAgIHBpcGVsaW5pbmcgKi8KKyAgLyogYSBsaXN0IG9mIHNlcnZlciB0eXBlcyB0aGF0IGFyZSBibG9ja2VkIGZyb20gcGlwZWxpbmluZyAqLwogICBDVVJMT1BUKENVUkxNT1BUX1BJUEVMSU5JTkdfU0VSVkVSX0JMLCBDVVJMT1BUVFlQRV9PQkpFQ1RQT0lOVCwgMTIpLAogCiAgIC8qIG1heGltdW0gbnVtYmVyIG9mIG9wZW4gY29ubmVjdGlvbnMgaW4gdG90YWwgKi8KZGlmZiAtLWdpdCBhL2luY2x1ZGUvY3VybC90eXBlY2hlY2stZ2NjLmggYi9pbmNsdWRlL2N1cmwvdHlwZWNoZWNrLWdjYy5oCmluZGV4IDAzYzg0ZmMuLmY4Y2I5MjEgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvY3VybC90eXBlY2hlY2stZ2NjLmgKKysrIGIvaW5jbHVkZS9jdXJsL3R5cGVjaGVjay1nY2MuaApAQCAtNyw3ICs3LDcgQEAKICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgKF9ffCB8X3wgfCAgXyA8fCB8X19fCiAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXF9fX3xcX19fL3xffCBcX1xfX19fX3wKICAqCi0gKiBDb3B5cmlnaHQgKEMpIDE5OTggLSAyMDE5LCBEYW5pZWwgU3RlbmJlcmcsIDxkYW5pZWxAaGF4eC5zZT4sIGV0IGFsLgorICogQ29weXJpZ2h0IChDKSAxOTk4IC0gMjAyMCwgRGFuaWVsIFN0ZW5iZXJnLCA8ZGFuaWVsQGhheHguc2U+LCBldCBhbC4KICAqCiAgKiBUaGlzIHNvZnR3YXJlIGlzIGxpY2Vuc2VkIGFzIGRlc2NyaWJlZCBpbiB0aGUgZmlsZSBDT1BZSU5HLCB3aGljaAogICogeW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGFzIHBhcnQgb2YgdGhpcyBkaXN0cmlidXRpb24uIFRoZSB0ZXJtcwpAQCAtMjQ4LDcgKzI0OCw3IEBACiAgICgwIDwgKG9wdGlvbikgJiYgKG9wdGlvbikgPCBDVVJMT1BUVFlQRV9PQkpFQ1RQT0lOVCkKIAogI2RlZmluZSBjdXJsY2hlY2tfb2ZmX3Rfb3B0aW9uKG9wdGlvbikgICAgICAgICAgXAotICAoKG9wdGlvbikgPiBDVVJMT1BUVFlQRV9PRkZfVCkKKyAgKCgob3B0aW9uKSA+IENVUkxPUFRUWVBFX09GRl9UKSAmJiAoKG9wdGlvbikgPCBDVVJMT1BUVFlQRV9CTE9CKSkKIAogLyogZXZhbHVhdGVzIHRvIHRydWUgaWYgb3B0aW9uIHRha2VzIGEgY2hhciogYXJndW1lbnQgKi8KICNkZWZpbmUgY3VybGNoZWNrX3N0cmluZ19vcHRpb24ob3B0aW9uKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKQEAgLTM5Miw4ICszOTIsOSBAQAogLyogZ3JvdXBzIG9mIGN1cmxfZWFzeV9nZXRpbmZvIGluZm9zIHRoYXQgdGFrZSB0aGUgc2FtZSB0eXBlIG9mIGFyZ3VtZW50ICovCiAKIC8qIGV2YWx1YXRlcyB0byB0cnVlIGlmIGluZm8gZXhwZWN0cyBhIHBvaW50ZXIgdG8gY2hhciAqIGFyZ3VtZW50ICovCi0jZGVmaW5lIGN1cmxjaGVja19zdHJpbmdfaW5mbyhpbmZvKSAgICAgICAgICAgICAgICAgICAgIFwKLSAgKENVUkxJTkZPX1NUUklORyA8IChpbmZvKSAmJiAoaW5mbykgPCBDVVJMSU5GT19MT05HKQorI2RlZmluZSBjdXJsY2hlY2tfc3RyaW5nX2luZm8oaW5mbykgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgKENVUkxJTkZPX1NUUklORyA8IChpbmZvKSAmJiAoaW5mbykgPCBDVVJMSU5GT19MT05HICYmICAgICAgICBcCisgICAoaW5mbykgIT0gQ1VSTElORk9fUFJJVkFURSkKIAogLyogZXZhbHVhdGVzIHRvIHRydWUgaWYgaW5mbyBleHBlY3RzIGEgcG9pbnRlciB0byBsb25nIGFyZ3VtZW50ICovCiAjZGVmaW5lIGN1cmxjaGVja19sb25nX2luZm8oaW5mbykgICAgICAgICAgICAgICAgICAgICAgIFwKZGlmZiAtLWdpdCBhL2luc3RhbGwtc2ggYi9pbnN0YWxsLXNoCmluZGV4IDIwZDhiMmUuLjgxNzVjNjQgMTAwNzU1Ci0tLSBhL2luc3RhbGwtc2gKKysrIGIvaW5zdGFsbC1zaApAQCAtNDUxLDE4ICs0NTEsNyBAQAogICAgIHRyYXAgJ3JldD0kPzsgcm0gLWYgIiRkc3R0bXAiICIkcm10bXAiICYmIGV4aXQgJHJldCcgMAogCiAgICAgIyBDb3B5IHRoZSBmaWxlIG5hbWUgdG8gdGhlIHRlbXAgbmFtZS4KLSAgICAodW1hc2sgJGNwX3VtYXNrICYmCi0gICAgIHsgdGVzdCAteiAiJHN0cmlwY21kIiB8fCB7Ci0JICMgQ3JlYXRlICRkc3R0bXAgcmVhZC13cml0ZSBzbyB0aGF0IGNwIGRvZXNuJ3QgY3JlYXRlIGl0IHJlYWQtb25seSwKLQkgIyB3aGljaCB3b3VsZCBjYXVzZSBzdHJpcCB0byBmYWlsLgotCSBpZiB0ZXN0IC16ICIkZG9pdCI7IHRoZW4KLQkgICA6ID4iJGRzdHRtcCIgIyBObyBuZWVkIHRvIGZvcmstZXhlYyAndG91Y2gnLgotCSBlbHNlCi0JICAgJGRvaXQgdG91Y2ggIiRkc3R0bXAiCi0JIGZpCi0gICAgICAgfQotICAgICB9ICYmCi0gICAgICRkb2l0X2V4ZWMgJGNwcHJvZyAiJHNyYyIgIiRkc3R0bXAiKSAmJgorICAgICh1bWFzayAkY3BfdW1hc2sgJiYgJGRvaXRfZXhlYyAkY3Bwcm9nICIkc3JjIiAiJGRzdHRtcCIpICYmCiAKICAgICAjIGFuZCBzZXQgYW55IG9wdGlvbnM7IGRvIGNobW9kIGxhc3QgdG8gcHJlc2VydmUgc2V0dWlkIGJpdHMuCiAgICAgIwpkaWZmIC0tZ2l0IGEvbGliL01ha2VmaWxlLmluYyBiL2xpYi9NYWtlZmlsZS5pbmMKaW5kZXggZTNjZjQxOC4uNzIzYjgyNiAxMDA2NDQKLS0tIGEvbGliL01ha2VmaWxlLmluYworKysgYi9saWIvTWFrZWZpbGUuaW5jCkBAIC0yNywxOCArMjcsMTggQEAKIAogTElCX1ZBVVRIX0hGSUxFUyA9IHZhdXRoL2RpZ2VzdC5oIHZhdXRoL250bG0uaCB2YXV0aC92YXV0aC5oCiAKLUxJQl9WVExTX0NGSUxFUyA9IHZ0bHMvYmVhcnNzbC5jIHZ0bHMvZ3NraXQuYyB2dGxzL2d0bHMuYyB2dGxzL21iZWR0bHMuYyBcCi0gIHZ0bHMvbWJlZHRsc190aHJlYWRsb2NrLmMgdnRscy9tZXNhbGluay5jIHZ0bHMvbnNzLmMgdnRscy9vcGVuc3NsLmMgICAgXAotICB2dGxzL3NjaGFubmVsLmMgdnRscy9zY2hhbm5lbF92ZXJpZnkuYyB2dGxzL3NlY3RyYW5zcC5jIHZ0bHMvdnRscy5jICAgIFwKLSAgdnRscy93b2xmc3NsLmMKK0xJQl9WVExTX0NGSUxFUyA9IHZ0bHMvYmVhcnNzbC5jIHZ0bHMvZ3NraXQuYyB2dGxzL2d0bHMuYyB2dGxzL2tleWxvZy5jICBcCisgIHZ0bHMvbWJlZHRscy5jIHZ0bHMvbWJlZHRsc190aHJlYWRsb2NrLmMgdnRscy9tZXNhbGluay5jIHZ0bHMvbnNzLmMgICAgXAorICB2dGxzL29wZW5zc2wuYyB2dGxzL3NjaGFubmVsLmMgdnRscy9zY2hhbm5lbF92ZXJpZnkuYyB2dGxzL3NlY3RyYW5zcC5jIFwKKyAgdnRscy92dGxzLmMgdnRscy93b2xmc3NsLmMKIAotTElCX1ZUTFNfSEZJTEVTID0gdnRscy9iZWFyc3NsLmggdnRscy9nc2tpdC5oIHZ0bHMvZ3Rscy5oIHZ0bHMvbWJlZHRscy5oIFwKLSAgdnRscy9tYmVkdGxzX3RocmVhZGxvY2suaCB2dGxzL21lc2FsaW5rLmggdnRscy9uc3NnLmggdnRscy9vcGVuc3NsLmggICBcCi0gIHZ0bHMvc2NoYW5uZWwuaCB2dGxzL3NlY3RyYW5zcC5oIHZ0bHMvdnRscy5oIHZ0bHMvd29sZnNzbC5oCitMSUJfVlRMU19IRklMRVMgPSB2dGxzL2JlYXJzc2wuaCB2dGxzL2dza2l0LmggdnRscy9ndGxzLmggdnRscy9rZXlsb2cuaCAgICAgIFwKKyAgdnRscy9tYmVkdGxzLmggdnRscy9tYmVkdGxzX3RocmVhZGxvY2suaCB2dGxzL21lc2FsaW5rLmggdnRscy9uc3NnLmggICAgICAgXAorICB2dGxzL29wZW5zc2wuaCB2dGxzL3NjaGFubmVsLmggdnRscy9zZWN0cmFuc3AuaCB2dGxzL3Z0bHMuaCB2dGxzL3dvbGZzc2wuaAogCi1MSUJfVlFVSUNfQ0ZJTEVTID0gdnF1aWMvbmd0Y3AyLmMgdnF1aWMvcXVpY2hlLmMKK0xJQl9WUVVJQ19DRklMRVMgPSB2cXVpYy9uZ3RjcDIuYyB2cXVpYy9xdWljaGUuYyB2cXVpYy92cXVpYy5jCiAKLUxJQl9WUVVJQ19IRklMRVMgPSB2cXVpYy9uZ3RjcDIuaCB2cXVpYy9xdWljaGUuaAorTElCX1ZRVUlDX0hGSUxFUyA9IHZxdWljL25ndGNwMi5oIHZxdWljL3F1aWNoZS5oIHZxdWljL3ZxdWljLmgKIAogTElCX1ZTU0hfQ0ZJTEVTID0gdnNzaC9saWJzc2guYyB2c3NoL2xpYnNzaDIuYyB2c3NoL3dvbGZzc2guYwogCkBAIC02MCw3ICs2MCw3IEBACiAgIHNlbmRmLmMgc2V0b3B0LmMgc2hhMjU2LmMgc2hhcmUuYyBzbGlzdC5jIHNtYi5jIHNtdHAuYyBzb2NrZXRwYWlyLmMgc29ja3MuYyBcCiAgIHNvY2tzX2dzc2FwaS5jIHNvY2tzX3NzcGkuYyBzcGVlZGNoZWNrLmMgc3BsYXkuYyBzdHJjYXNlLmMgc3RyZHVwLmMgICAgICAgICBcCiAgIHN0cmVycm9yLmMgc3RydG9rLmMgc3RydG9vZmZ0LmMgc3lzdGVtX3dpbjMyLmMgdGVsbmV0LmMgdGZ0cC5jIHRpbWV2YWwuYyAgICBcCi0gIHRyYW5zZmVyLmMgdXJsYXBpLmMgdmVyc2lvbi5jIHdhcm5sZXNzLmMgd2lsZGNhcmQuYyB4NTA5YXNuMS5jCisgIHRyYW5zZmVyLmMgdXJsYXBpLmMgdmVyc2lvbi5jIHdhcm5sZXNzLmMgd2lsZGNhcmQuYyB4NTA5YXNuMS5jIGR5bmJ1Zi5jCiAKIExJQl9IRklMRVMgPSBhbHRzdmMuaCBhbWlnYW9zLmggYXJwYV90ZWxuZXQuaCBhc3luLmggY29ubmNhY2hlLmggY29ubmVjdC5oICAgIFwKICAgY29udGVudF9lbmNvZGluZy5oIGNvb2tpZS5oIGN1cmxfYWRkcmluZm8uaCBjdXJsX2Jhc2U2NC5oIGN1cmxfY3R5cGUuaCAgICAgIFwKQEAgLTc5LDcgKzc5LDcgQEAKICAgc21iLmggc210cC5oIHNvY2thZGRyLmggc29ja2V0cGFpci5oIHNvY2tzLmggc3BlZWRjaGVjay5oIHNwbGF5Lmggc3RyY2FzZS5oIFwKICAgc3RyZHVwLmggc3RyZXJyb3IuaCBzdHJ0b2suaCBzdHJ0b29mZnQuaCBzeXN0ZW1fd2luMzIuaCB0ZWxuZXQuaCB0ZnRwLmggICAgIFwKICAgdGltZXZhbC5oIHRyYW5zZmVyLmggdXJsYXBpLWludC5oIHVybGRhdGEuaCB3YXJubGVzcy5oIHdpbGRjYXJkLmggICAgICAgICAgIFwKLSAgeDUwOWFzbjEuaAorICB4NTA5YXNuMS5oIGR5bmJ1Zi5oCiAKIExJQl9SQ0ZJTEVTID0gbGliY3VybC5yYwogCmRpZmYgLS1naXQgYS9saWIvYWx0c3ZjLmMgYi9saWIvYWx0c3ZjLmMKaW5kZXggYzM5ZDg2ZS4uYzJlYzQ4OSAxMDA2NDQKLS0tIGEvbGliL2FsdHN2Yy5jCisrKyBiL2xpYi9hbHRzdmMuYwpAQCAtNTAsOCArNTAsMTAgQEAKICNkZWZpbmUgTUFYX0FMVFNWQ19BTFBOTEVOU1RSICIxMCIKICNkZWZpbmUgTUFYX0FMVFNWQ19BTFBOTEVOIDEwCiAKLSNpZiAoZGVmaW5lZChVU0VfUVVJQ0hFKSB8fCBkZWZpbmVkKFVTRV9OR1RDUDIpKSAmJiAhZGVmaW5lZChVTklUVEVTVFMpCi0jZGVmaW5lIEgzVkVSU0lPTiAiaDMtMjciCisjaWYgZGVmaW5lZChVU0VfUVVJQ0hFKSAmJiAhZGVmaW5lZChVTklUVEVTVFMpCisjZGVmaW5lIEgzVkVSU0lPTiAiaDMtMjkiCisjZWxpZiBkZWZpbmVkKFVTRV9OR1RDUDIpICYmICFkZWZpbmVkKFVOSVRURVNUUykKKyNkZWZpbmUgSDNWRVJTSU9OICJoMy0yOSIKICNlbHNlCiAjZGVmaW5lIEgzVkVSU0lPTiAiaDMiCiAjZW5kaWYKQEAgLTE2Nyw3ICsxNjksNiBAQAogICAgICAgYXMtPnByaW8gPSBwcmlvOwogICAgICAgYXMtPnBlcnNpc3QgPSBwZXJzaXN0ID8gMSA6IDA7CiAgICAgICBDdXJsX2xsaXN0X2luc2VydF9uZXh0KCZhc2ktPmxpc3QsIGFzaS0+bGlzdC50YWlsLCBhcywgJmFzLT5ub2RlKTsKLSAgICAgIGFzaS0+bnVtKys7IC8qIG9uZSBtb3JlIGVudHJ5ICovCiAgICAgfQogICB9CiAKQEAgLTQwOCw3ICs0MDksNiBAQAogICAgICAgIHN0cmNhc2Vjb21wYXJlKHNyY2hvc3QsIGFzLT5zcmMuaG9zdCkpIHsKICAgICAgIEN1cmxfbGxpc3RfcmVtb3ZlKCZhc2ktPmxpc3QsIGUsIE5VTEwpOwogICAgICAgYWx0c3ZjX2ZyZWUoYXMpOwotICAgICAgYXNpLT5udW0tLTsKICAgICB9CiAgIH0KIH0KQEAgLTQyOSw2ICs0MjksOCBAQAogI2RlZmluZSB0aW1lKHgpIGRlYnVndGltZSh4KQogI2VuZGlmCiAKKyNkZWZpbmUgSVNORVdMSU5FKHgpICgoKHgpID09ICdcbicpIHx8ICh4KSA9PSAnXHInKQorCiAvKgogICogQ3VybF9hbHRzdmNfcGFyc2UoKSB0YWtlcyBhbiBpbmNvbWluZyBhbHQtc3ZjIHJlc3BvbnNlIGhlYWRlciBhbmQgc3RvcmVzCiAgKiB0aGUgZGF0YSBjb3JyZWN0bHkgaW4gdGhlIGNhY2hlLgpAQCAtNDc0LDcgKzQ3Niw3IEBACiAgICAgICBkc3RhbHBuaWQgPSBhbHBuMmFscG5pZChhbHBuYnVmKTsKICAgICAgIHArKzsKICAgICAgIGlmKCpwID09ICdcIicpIHsKLSAgICAgICAgY29uc3QgY2hhciAqZHN0aG9zdDsKKyAgICAgICAgY29uc3QgY2hhciAqZHN0aG9zdCA9ICIiOwogICAgICAgICBjb25zdCBjaGFyICp2YWx1ZV9wdHI7CiAgICAgICAgIGNoYXIgb3B0aW9uWzMyXTsKICAgICAgICAgdW5zaWduZWQgbG9uZyBudW07CkBAIC01MTgsMTIgKzUyMCwxMiBAQAogICAgICAgICAvKiBIYW5kbGUgdGhlIG9wdGlvbmFsICdtYScgYW5kICdwZXJzaXN0JyBmbGFncy4gVW5rbm93biBmbGFncwogICAgICAgICAgICBhcmUgc2tpcHBlZC4gKi8KICAgICAgICAgZm9yKDs7KSB7Ci0gICAgICAgICAgd2hpbGUoKnAgJiYgSVNCTEFOSygqcCkgJiYgKnAgIT0gJzsnICYmICpwICE9ICcsJykKKyAgICAgICAgICB3aGlsZShJU0JMQU5LKCpwKSkKICAgICAgICAgICAgIHArKzsKLSAgICAgICAgICBpZighKnAgfHwgKnAgPT0gJywnKQorICAgICAgICAgIGlmKCpwICE9ICc7JykKICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgIHArKzsgLyogcGFzcyB0aGUgc2VtaWNvbG9uICovCi0gICAgICAgICAgaWYoISpwKQorICAgICAgICAgIGlmKCEqcCB8fCBJU05FV0xJTkUoKnApKQogICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgcmVzdWx0ID0gZ2V0YWxudW0oJnAsIG9wdGlvbiwgc2l6ZW9mKG9wdGlvbikpOwogICAgICAgICAgIGlmKHJlc3VsdCkgewpAQCAtNTczLDcgKzU3NSw2IEBACiAgICAgICAgICAgICBhcy0+ZXhwaXJlcyA9IG1heGFnZSArIHRpbWUoTlVMTCk7CiAgICAgICAgICAgICBhcy0+cGVyc2lzdCA9IHBlcnNpc3Q7CiAgICAgICAgICAgICBDdXJsX2xsaXN0X2luc2VydF9uZXh0KCZhc2ktPmxpc3QsIGFzaS0+bGlzdC50YWlsLCBhcywgJmFzLT5ub2RlKTsKLSAgICAgICAgICAgIGFzaS0+bnVtKys7IC8qIG9uZSBtb3JlIGVudHJ5ICovCiAgICAgICAgICAgICBpbmZvZihkYXRhLCAiQWRkZWQgYWx0LXN2YzogJXM6JWQgb3ZlciAlc1xuIiwgZHN0aG9zdCwgZHN0cG9ydCwKICAgICAgICAgICAgICAgICAgIEN1cmxfYWxwbmlkMnN0cihkc3RhbHBuaWQpKTsKICAgICAgICAgICB9CmRpZmYgLS1naXQgYS9saWIvYWx0c3ZjLmggYi9saWIvYWx0c3ZjLmgKaW5kZXggMjQ4ZTcxZS4uNTc4YTRmYiAxMDA2NDQKLS0tIGEvbGliL2FsdHN2Yy5oCisrKyBiL2xpYi9hbHRzdmMuaApAQCAtNTIsNyArNTIsNiBAQAogc3RydWN0IGFsdHN2Y2luZm8gewogICBjaGFyICpmaWxlbmFtZTsKICAgc3RydWN0IGN1cmxfbGxpc3QgbGlzdDsgLyogbGlzdCBvZiBlbnRyaWVzICovCi0gIHNpemVfdCBudW07IC8qIG51bWJlciBvZiBhbHQtc3ZjIGVudHJpZXMgKi8KICAgbG9uZyBmbGFnczsgLyogdGhlIHB1YmxpY2x5IHNldCBiaXRtYXNrICovCiB9OwogCmRpZmYgLS1naXQgYS9saWIvYXN5bi1hcmVzLmMgYi9saWIvYXN5bi1hcmVzLmMKaW5kZXggYjc2ZTY2NS4uYmE1MTYwYiAxMDA2NDQKLS0tIGEvbGliL2FzeW4tYXJlcy5jCisrKyBiL2xpYi9hc3luLWFyZXMuYwpAQCAtODcsNyArODcsOCBAQAogCiBzdHJ1Y3QgUmVzb2x2ZXJSZXN1bHRzIHsKICAgaW50IG51bV9wZW5kaW5nOyAvKiBudW1iZXIgb2YgYXJlc19nZXRob3N0YnluYW1lKCkgcmVxdWVzdHMgKi8KLSAgQ3VybF9hZGRyaW5mbyAqdGVtcF9haTsgLyogaW50ZXJtZWRpYXJ5IHJlc3VsdCB3aGlsZSBmZXRjaGluZyBjLWFyZXMgcGFydHMgKi8KKyAgc3RydWN0IEN1cmxfYWRkcmluZm8gKnRlbXBfYWk7IC8qIGludGVybWVkaWFyeSByZXN1bHQgd2hpbGUgZmV0Y2hpbmcgYy1hcmVzCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYXJ0cyAqLwogICBpbnQgbGFzdF9zdGF0dXM7CiAgIHN0cnVjdCBjdXJsdGltZSBoYXBweV9leWViYWxsc19kbnNfdGltZTsgLyogd2hlbiB0aGlzIHRpbWVyIHN0YXJ0ZWQsIG9yIDAgKi8KIH07CkBAIC0yODUsNyArMjg2LDcgQEAKICAqIHJldHVybiBudW1iZXIgb2Ygc29ja2V0cyBpdCB3b3JrZWQgb24KICAqLwogCi1zdGF0aWMgaW50IHdhaXRwZXJmb3JtKHN0cnVjdCBjb25uZWN0ZGF0YSAqY29ubiwgaW50IHRpbWVvdXRfbXMpCitzdGF0aWMgaW50IHdhaXRwZXJmb3JtKHN0cnVjdCBjb25uZWN0ZGF0YSAqY29ubiwgdGltZWRpZmZfdCB0aW1lb3V0X21zKQogewogICBzdHJ1Y3QgQ3VybF9lYXN5ICpkYXRhID0gY29ubi0+ZGF0YTsKICAgaW50IG5mZHM7CkBAIC0zNTIsOCArMzUzLDggQEAKICAgICBjb25uLT5hc3luYy5vc19zcGVjaWZpYzsKICAgQ1VSTGNvZGUgcmVzdWx0ID0gQ1VSTEVfT0s7CiAKLSAgaWYoZG5zKQotICAgICpkbnMgPSBOVUxMOworICBERUJVR0FTU0VSVChkbnMpOworICAqZG5zID0gTlVMTDsKIAogICB3YWl0cGVyZm9ybShjb25uLCAwKTsKIApAQCAtMzgxLDE5ICszODIsMTggQEAKICAgfQogCiAgIGlmKHJlcyAmJiAhcmVzLT5udW1fcGVuZGluZykgewotICAgIGlmKGRucykgewotICAgICAgKHZvaWQpQ3VybF9hZGRyaW5mb19jYWxsYmFjayhjb25uLCByZXMtPmxhc3Rfc3RhdHVzLCByZXMtPnRlbXBfYWkpOwotICAgICAgLyogdGVtcF9haSBvd25lcnNoaXAgaXMgbW92ZWQgdG8gdGhlIGNvbm5lY3Rpb24sIHNvIHdlIG5lZWQgbm90IGZyZWUtdXAKLSAgICAgICAgIHRoZW0gKi8KLSAgICAgIHJlcy0+dGVtcF9haSA9IE5VTEw7Ci0gICAgfQorICAgICh2b2lkKUN1cmxfYWRkcmluZm9fY2FsbGJhY2soY29ubiwgcmVzLT5sYXN0X3N0YXR1cywgcmVzLT50ZW1wX2FpKTsKKyAgICAvKiB0ZW1wX2FpIG93bmVyc2hpcCBpcyBtb3ZlZCB0byB0aGUgY29ubmVjdGlvbiwgc28gd2UgbmVlZCBub3QgZnJlZS11cAorICAgICAgIHRoZW0gKi8KKyAgICByZXMtPnRlbXBfYWkgPSBOVUxMOworCiAgICAgaWYoIWNvbm4tPmFzeW5jLmRucykgewogICAgICAgZmFpbGYoZGF0YSwgIkNvdWxkIG5vdCByZXNvbHZlOiAlcyAoJXMpIiwKICAgICAgICAgICAgIGNvbm4tPmFzeW5jLmhvc3RuYW1lLCBhcmVzX3N0cmVycm9yKGNvbm4tPmFzeW5jLnN0YXR1cykpOwogICAgICAgcmVzdWx0ID0gY29ubi0+Yml0cy5wcm94eT9DVVJMRV9DT1VMRE5UX1JFU09MVkVfUFJPWFk6CiAgICAgICAgIENVUkxFX0NPVUxETlRfUkVTT0xWRV9IT1NUOwogICAgIH0KLSAgICBlbHNlIGlmKGRucykKKyAgICBlbHNlCiAgICAgICAqZG5zID0gY29ubi0+YXN5bmMuZG5zOwogCiAgICAgZGVzdHJveV9hc3luY19kYXRhKCZjb25uLT5hc3luYyk7CkBAIC00MDgsNyArNDA4LDcgQEAKICAqIFdhaXRzIGZvciBhIHJlc29sdmUgdG8gZmluaXNoLiBUaGlzIGZ1bmN0aW9uIHNob3VsZCBiZSBhdm9pZGVkIHNpbmNlIHVzaW5nCiAgKiB0aGlzIHJpc2sgZ2V0dGluZyB0aGUgbXVsdGkgaW50ZXJmYWNlIHRvICJoYW5nIi4KICAqCi0gKiBJZiAnZW50cnknIGlzIG5vbi1OVUxMLCBtYWtlIGl0IHBvaW50IHRvIHRoZSByZXNvbHZlZCBkbnMgZW50cnkKKyAqICdlbnRyeScgTVVTVCBiZSBub24tTlVMTC4KICAqCiAgKiBSZXR1cm5zIENVUkxFX0NPVUxETlRfUkVTT0xWRV9IT1NUIGlmIHRoZSBob3N0IHdhcyBub3QgcmVzb2x2ZWQsCiAgKiBDVVJMRV9PUEVSQVRJT05fVElNRURPVVQgaWYgYSB0aW1lLW91dCBvY2N1cnJlZCwgb3Igb3RoZXIgZXJyb3JzLgpAQCAtNDIwLDEwICs0MjAsOSBAQAogICBzdHJ1Y3QgQ3VybF9lYXN5ICpkYXRhID0gY29ubi0+ZGF0YTsKICAgdGltZWRpZmZfdCB0aW1lb3V0OwogICBzdHJ1Y3QgY3VybHRpbWUgbm93ID0gQ3VybF9ub3coKTsKLSAgc3RydWN0IEN1cmxfZG5zX2VudHJ5ICp0ZW1wX2VudHJ5OwogCi0gIGlmKGVudHJ5KQotICAgICplbnRyeSA9IE5VTEw7IC8qIGNsZWFyIG9uIGVudHJ5ICovCisgIERFQlVHQVNTRVJUKGVudHJ5KTsKKyAgKmVudHJ5ID0gTlVMTDsgLyogY2xlYXIgb24gZW50cnkgKi8KIAogICB0aW1lb3V0ID0gQ3VybF90aW1lbGVmdChkYXRhLCAmbm93LCBUUlVFKTsKICAgaWYodGltZW91dCA8IDApIHsKQEAgLTQzOCw5ICs0MzcsMTMgQEAKICAgd2hpbGUoIXJlc3VsdCkgewogICAgIHN0cnVjdCB0aW1ldmFsICp0dnAsIHR2LCBzdG9yZTsKICAgICBpbnQgaXRpbWVvdXQ7Ci0gICAgaW50IHRpbWVvdXRfbXM7CisgICAgdGltZWRpZmZfdCB0aW1lb3V0X21zOwogCi0gICAgaXRpbWVvdXQgPSAodGltZW91dCA+IChsb25nKUlOVF9NQVgpID8gSU5UX01BWCA6IChpbnQpdGltZW91dDsKKyNpZiBUSU1FRElGRl9UX01BWCA+IElOVF9NQVgKKyAgICBpdGltZW91dCA9ICh0aW1lb3V0ID4gSU5UX01BWCkgPyBJTlRfTUFYIDogKGludCl0aW1lb3V0OworI2Vsc2UKKyAgICBpdGltZW91dCA9IChpbnQpdGltZW91dDsKKyNlbmRpZgogCiAgICAgc3RvcmUudHZfc2VjID0gaXRpbWVvdXQvMTAwMDsKICAgICBzdG9yZS50dl91c2VjID0gKGl0aW1lb3V0JTEwMDApKjEwMDA7CkBAIC00NTEsMTIgKzQ1NCwxMiBAQAogICAgICAgIHNlY29uZCBpcyBsZWZ0LCBvdGhlcndpc2UganVzdCB1c2UgMTAwMG1zIHRvIG1ha2Ugc3VyZSB0aGUgcHJvZ3Jlc3MKICAgICAgICBjYWxsYmFjayBnZXRzIGNhbGxlZCBmcmVxdWVudCBlbm91Z2ggKi8KICAgICBpZighdHZwLT50dl9zZWMpCi0gICAgICB0aW1lb3V0X21zID0gKGludCkodHZwLT50dl91c2VjLzEwMDApOworICAgICAgdGltZW91dF9tcyA9ICh0aW1lZGlmZl90KSh0dnAtPnR2X3VzZWMvMTAwMCk7CiAgICAgZWxzZQogICAgICAgdGltZW91dF9tcyA9IDEwMDA7CiAKICAgICB3YWl0cGVyZm9ybShjb25uLCB0aW1lb3V0X21zKTsKLSAgICByZXN1bHQgPSBDdXJsX3Jlc29sdmVyX2lzX3Jlc29sdmVkKGNvbm4sIGVudHJ5PyZ0ZW1wX2VudHJ5Ok5VTEwpOworICAgIHJlc3VsdCA9IEN1cmxfcmVzb2x2ZXJfaXNfcmVzb2x2ZWQoY29ubiwgZW50cnkpOwogCiAgICAgaWYocmVzdWx0IHx8IGNvbm4tPmFzeW5jLmRvbmUpCiAgICAgICBicmVhazsKQEAgLTQ3MSw3ICs0NzQsNyBAQAogICAgICAgZWxzZSBpZih0aW1lZGlmZiA+IHRpbWVvdXQpCiAgICAgICAgIHRpbWVvdXQgPSAtMTsKICAgICAgIGVsc2UKLSAgICAgICAgdGltZW91dCAtPSAobG9uZyl0aW1lZGlmZjsKKyAgICAgICAgdGltZW91dCAtPSB0aW1lZGlmZjsKICAgICAgIG5vdyA9IG5vdzI7IC8qIGZvciBuZXh0IGxvb3AgKi8KICAgICB9CiAgICAgaWYodGltZW91dCA8IDApCkBAIC00OTYsOSArNDk5LDkgQEAKIAogLyogQ29ubmVjdHMgcmVzdWx0cyB0byB0aGUgbGlzdCAqLwogc3RhdGljIHZvaWQgY29tcG91bmRfcmVzdWx0cyhzdHJ1Y3QgUmVzb2x2ZXJSZXN1bHRzICpyZXMsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIEN1cmxfYWRkcmluZm8gKmFpKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJ1Y3QgQ3VybF9hZGRyaW5mbyAqYWkpCiB7Ci0gIEN1cmxfYWRkcmluZm8gKmFpX3RhaWw7CisgIHN0cnVjdCBDdXJsX2FkZHJpbmZvICphaV90YWlsOwogICBpZighYWkpCiAgICAgcmV0dXJuOwogICBhaV90YWlsID0gYWk7CkBAIC01NDAsNyArNTQzLDcgQEAKICAgICByZXMtPm51bV9wZW5kaW5nLS07CiAKICAgICBpZihDVVJMX0FTWU5DX1NVQ0NFU1MgPT0gc3RhdHVzKSB7Ci0gICAgICBDdXJsX2FkZHJpbmZvICphaSA9IEN1cmxfaGUyYWkoaG9zdGVudCwgY29ubi0+YXN5bmMucG9ydCk7CisgICAgICBzdHJ1Y3QgQ3VybF9hZGRyaW5mbyAqYWkgPSBDdXJsX2hlMmFpKGhvc3RlbnQsIGNvbm4tPmFzeW5jLnBvcnQpOwogICAgICAgaWYoYWkpIHsKICAgICAgICAgY29tcG91bmRfcmVzdWx0cyhyZXMsIGFpKTsKICAgICAgIH0KQEAgLTYxOSwxMCArNjIyLDEwIEBACiAgKiBtZW1vcnkgd2UgbmVlZCB0byBmcmVlIGFmdGVyIHVzZS4gVGhhdCBtZW1vcnkgKk1VU1QqIGJlIGZyZWVkIHdpdGgKICAqIEN1cmxfZnJlZWFkZHJpbmZvKCksIG5vdGhpbmcgZWxzZS4KICAqLwotQ3VybF9hZGRyaW5mbyAqQ3VybF9yZXNvbHZlcl9nZXRhZGRyaW5mbyhzdHJ1Y3QgY29ubmVjdGRhdGEgKmNvbm4sCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGNoYXIgKmhvc3RuYW1lLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcG9ydCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50ICp3YWl0cCkKK3N0cnVjdCBDdXJsX2FkZHJpbmZvICpDdXJsX3Jlc29sdmVyX2dldGFkZHJpbmZvKHN0cnVjdCBjb25uZWN0ZGF0YSAqY29ubiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGNoYXIgKmhvc3RuYW1lLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHBvcnQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgKndhaXRwKQogewogICBjaGFyICpidWZwOwogICBzdHJ1Y3QgQ3VybF9lYXN5ICpkYXRhID0gY29ubi0+ZGF0YTsKZGlmZiAtLWdpdCBhL2xpYi9hc3luLXRocmVhZC5jIGIvbGliL2FzeW4tdGhyZWFkLmMKaW5kZXggNjhkY2JiMy4uYTYwZjRmMCAxMDA2NDQKLS0tIGEvbGliL2FzeW4tdGhyZWFkLmMKKysrIGIvbGliL2FzeW4tdGhyZWFkLmMKQEAgLTE1OCw3ICsxNTgsNyBAQAogCiAvKiBEYXRhIGZvciBzeW5jaHJvbml6YXRpb24gYmV0d2VlbiByZXNvbHZlciB0aHJlYWQgYW5kIGl0cyBwYXJlbnQgKi8KIHN0cnVjdCB0aHJlYWRfc3luY19kYXRhIHsKLSAgY3VybF9tdXRleF90ICogbXR4OworICBjdXJsX211dGV4X3QgKm10eDsKICAgaW50IGRvbmU7CiAKICAgY2hhciAqaG9zdG5hbWU7ICAgICAgICAvKiBob3N0bmFtZSB0byByZXNvbHZlLCBDdXJsX2FzeW5jLmhvc3RuYW1lCkBAIC0xNjksNyArMTY5LDcgQEAKICAgY3VybF9zb2NrZXRfdCBzb2NrX3BhaXJbMl07IC8qIHNvY2tldCBwYWlyICovCiAjZW5kaWYKICAgaW50IHNvY2tfZXJyb3I7Ci0gIEN1cmxfYWRkcmluZm8gKnJlczsKKyAgc3RydWN0IEN1cmxfYWRkcmluZm8gKnJlczsKICNpZmRlZiBIQVZFX0dFVEFERFJJTkZPCiAgIHN0cnVjdCBhZGRyaW5mbyBoaW50czsKICNlbmRpZgpAQCAtMTc5LDcgKzE3OSw3IEBACiBzdHJ1Y3QgdGhyZWFkX2RhdGEgewogICBjdXJsX3RocmVhZF90IHRocmVhZF9obmQ7CiAgIHVuc2lnbmVkIGludCBwb2xsX2ludGVydmFsOwotICB0aW1lX3QgaW50ZXJ2YWxfZW5kOworICB0aW1lZGlmZl90IGludGVydmFsX2VuZDsKICAgc3RydWN0IHRocmVhZF9zeW5jX2RhdGEgdHNkOwogfTsKIApAQCAtMTkwLDcgKzE5MCw3IEBACiAKIC8qIERlc3Ryb3kgcmVzb2x2ZXIgdGhyZWFkIHN5bmNocm9uaXphdGlvbiBkYXRhICovCiBzdGF0aWMKLXZvaWQgZGVzdHJveV90aHJlYWRfc3luY19kYXRhKHN0cnVjdCB0aHJlYWRfc3luY19kYXRhICogdHNkKQordm9pZCBkZXN0cm95X3RocmVhZF9zeW5jX2RhdGEoc3RydWN0IHRocmVhZF9zeW5jX2RhdGEgKnRzZCkKIHsKICAgaWYodHNkLT5tdHgpIHsKICAgICBDdXJsX211dGV4X2Rlc3Ryb3kodHNkLT5tdHgpOwpAQCAtMjE2LDcgKzIxNiw3IEBACiAKIC8qIEluaXRpYWxpemUgcmVzb2x2ZXIgdGhyZWFkIHN5bmNocm9uaXphdGlvbiBkYXRhICovCiBzdGF0aWMKLWludCBpbml0X3RocmVhZF9zeW5jX2RhdGEoc3RydWN0IHRocmVhZF9kYXRhICogdGQsCitpbnQgaW5pdF90aHJlYWRfc3luY19kYXRhKHN0cnVjdCB0aHJlYWRfZGF0YSAqdGQsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBjaGFyICpob3N0bmFtZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBwb3J0LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qgc3RydWN0IGFkZHJpbmZvICpoaW50cykKQEAgLTQ5NCwxMSArNDk0LDE0IEBACiAgIGNvbnN0IGNoYXIgKmhvc3Rfb3JfcHJveHk7CiAgIENVUkxjb2RlIHJlc3VsdDsKIAorI2lmbmRlZiBDVVJMX0RJU0FCTEVfUFJPWFkKICAgaWYoY29ubi0+Yml0cy5odHRwcHJveHkpIHsKICAgICBob3N0X29yX3Byb3h5ID0gInByb3h5IjsKICAgICByZXN1bHQgPSBDVVJMRV9DT1VMRE5UX1JFU09MVkVfUFJPWFk7CiAgIH0KLSAgZWxzZSB7CisgIGVsc2UKKyNlbmRpZgorICB7CiAgICAgaG9zdF9vcl9wcm94eSA9ICJob3N0IjsKICAgICByZXN1bHQgPSBDVVJMRV9DT1VMRE5UX1JFU09MVkVfSE9TVDsKICAgfQpAQCAtNTA5LDYgKzUxMiw5IEBACiAgIHJldHVybiByZXN1bHQ7CiB9CiAKKy8qCisgKiAnZW50cnknIG1heSBiZSBOVUxMIGFuZCB0aGVuIG5vIGRhdGEgaXMgcmV0dXJuZWQKKyAqLwogc3RhdGljIENVUkxjb2RlIHRocmVhZF93YWl0X3Jlc29sdihzdHJ1Y3QgY29ubmVjdGRhdGEgKmNvbm4sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cnVjdCBDdXJsX2Ruc19lbnRyeSAqKmVudHJ5LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBib29sIHJlcG9ydCkKQEAgLTU5Myw2ICs1OTksNyBAQAogICBzdHJ1Y3QgdGhyZWFkX2RhdGEgICAqdGQgPSAoc3RydWN0IHRocmVhZF9kYXRhKikgY29ubi0+YXN5bmMub3Nfc3BlY2lmaWM7CiAgIGludCBkb25lID0gMDsKIAorICBERUJVR0FTU0VSVChlbnRyeSk7CiAgICplbnRyeSA9IE5VTEw7CiAKICAgaWYoIXRkKSB7CkBAIC02MTgsOCArNjI1LDggQEAKICAgZWxzZSB7CiAgICAgLyogcG9sbCBmb3IgbmFtZSBsb29rdXAgZG9uZSB3aXRoIGV4cG9uZW50aWFsIGJhY2tvZmYgdXAgdG8gMjUwbXMgKi8KICAgICAvKiBzaG91bGQgYmUgZmluZSBldmVuIGlmIHRoaXMgY29udmVydHMgdG8gMzIgYml0ICovCi0gICAgdGltZV90IGVsYXBzZWQgPSAodGltZV90KUN1cmxfdGltZWRpZmYoQ3VybF9ub3coKSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLT5wcm9ncmVzcy50X3N0YXJ0c2luZ2xlKTsKKyAgICB0aW1lZGlmZl90IGVsYXBzZWQgPSBDdXJsX3RpbWVkaWZmKEN1cmxfbm93KCksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLT5wcm9ncmVzcy50X3N0YXJ0c2luZ2xlKTsKICAgICBpZihlbGFwc2VkIDwgMCkKICAgICAgIGVsYXBzZWQgPSAwOwogCkBAIC02NDQsNyArNjUxLDcgQEAKICAgICAgICAgICAgICAgICAgICAgICAgICAgY3VybF9zb2NrZXRfdCAqc29ja3MpCiB7CiAgIGludCByZXRfdmFsID0gMDsKLSAgdGltZV90IG1pbGxpOworICB0aW1lZGlmZl90IG1pbGxpOwogICB0aW1lZGlmZl90IG1zOwogICBzdHJ1Y3QgQ3VybF9lYXN5ICpkYXRhID0gY29ubi0+ZGF0YTsKICAgc3RydWN0IHJlc2RhdGEgKnJlc2x2ID0gKHN0cnVjdCByZXNkYXRhICopZGF0YS0+c3RhdGUucmVzb2x2ZXI7CkBAIC02NjgsNyArNjc1LDcgQEAKICAgICBpZihtcyA8IDMpCiAgICAgICBtaWxsaSA9IDA7CiAgICAgZWxzZSBpZihtcyA8PSA1MCkKLSAgICAgIG1pbGxpID0gKHRpbWVfdCltcy8zOworICAgICAgbWlsbGkgPSBtcy8zOwogICAgIGVsc2UgaWYobXMgPD0gMjUwKQogICAgICAgbWlsbGkgPSA1MDsKICAgICBlbHNlCkBAIC02ODYsMTAgKzY5MywxMCBAQAogLyoKICAqIEN1cmxfZ2V0YWRkcmluZm8oKSAtIGZvciBwbGF0Zm9ybXMgd2l0aG91dCBnZXRhZGRyaW5mbwogICovCi1DdXJsX2FkZHJpbmZvICpDdXJsX3Jlc29sdmVyX2dldGFkZHJpbmZvKHN0cnVjdCBjb25uZWN0ZGF0YSAqY29ubiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgY2hhciAqaG9zdG5hbWUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBwb3J0LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgKndhaXRwKQorc3RydWN0IEN1cmxfYWRkcmluZm8gKkN1cmxfcmVzb2x2ZXJfZ2V0YWRkcmluZm8oc3RydWN0IGNvbm5lY3RkYXRhICpjb25uLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgY2hhciAqaG9zdG5hbWUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcG9ydCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCAqd2FpdHApCiB7CiAgIHN0cnVjdCBDdXJsX2Vhc3kgKmRhdGEgPSBjb25uLT5kYXRhOwogICBzdHJ1Y3QgcmVzZGF0YSAqcmVzbHYgPSAoc3RydWN0IHJlc2RhdGEgKilkYXRhLT5zdGF0ZS5yZXNvbHZlcjsKQEAgLTcxNCwxMCArNzIxLDEwIEBACiAvKgogICogQ3VybF9yZXNvbHZlcl9nZXRhZGRyaW5mbygpIC0gZm9yIGdldGFkZHJpbmZvCiAgKi8KLUN1cmxfYWRkcmluZm8gKkN1cmxfcmVzb2x2ZXJfZ2V0YWRkcmluZm8oc3RydWN0IGNvbm5lY3RkYXRhICpjb25uLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBjaGFyICpob3N0bmFtZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHBvcnQsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCAqd2FpdHApCitzdHJ1Y3QgQ3VybF9hZGRyaW5mbyAqQ3VybF9yZXNvbHZlcl9nZXRhZGRyaW5mbyhzdHJ1Y3QgY29ubmVjdGRhdGEgKmNvbm4sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBjaGFyICpob3N0bmFtZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBwb3J0LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50ICp3YWl0cCkKIHsKICAgc3RydWN0IGFkZHJpbmZvIGhpbnRzOwogICBpbnQgcGYgPSBQRl9JTkVUOwpkaWZmIC0tZ2l0IGEvbGliL2FzeW4uaCBiL2xpYi9hc3luLmgKaW5kZXggMDgxYzNmZS4uYmUyNzk2YyAxMDA2NDQKLS0tIGEvbGliL2FzeW4uaAorKysgYi9saWIvYXN5bi5oCkBAIC03LDcgKzcsNyBAQAogICogICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAoX198IHxffCB8ICBfIDx8IHxfX18KICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcX19ffFxfX18vfF98IFxfXF9fX19ffAogICoKLSAqIENvcHlyaWdodCAoQykgMTk5OCAtIDIwMTksIERhbmllbCBTdGVuYmVyZywgPGRhbmllbEBoYXh4LnNlPiwgZXQgYWwuCisgKiBDb3B5cmlnaHQgKEMpIDE5OTggLSAyMDIwLCBEYW5pZWwgU3RlbmJlcmcsIDxkYW5pZWxAaGF4eC5zZT4sIGV0IGFsLgogICoKICAqIFRoaXMgc29mdHdhcmUgaXMgbGljZW5zZWQgYXMgZGVzY3JpYmVkIGluIHRoZSBmaWxlIENPUFlJTkcsIHdoaWNoCiAgKiB5b3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYXMgcGFydCBvZiB0aGlzIGRpc3RyaWJ1dGlvbi4gVGhlIHRlcm1zCkBAIC0xNTMsMTAgKzE1MywxMCBAQAogICogRWFjaCByZXNvbHZlciBiYWNrZW5kIG11c3Qgb2YgY291cnNlIG1ha2Ugc3VyZSB0byByZXR1cm4gZGF0YSBpbiB0aGUKICAqIGNvcnJlY3QgZm9ybWF0IHRvIGNvbXBseSB3aXRoIHRoaXMuCiAgKi8KLUN1cmxfYWRkcmluZm8gKkN1cmxfcmVzb2x2ZXJfZ2V0YWRkcmluZm8oc3RydWN0IGNvbm5lY3RkYXRhICpjb25uLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBjaGFyICpob3N0bmFtZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHBvcnQsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCAqd2FpdHApOworc3RydWN0IEN1cmxfYWRkcmluZm8gKkN1cmxfcmVzb2x2ZXJfZ2V0YWRkcmluZm8oc3RydWN0IGNvbm5lY3RkYXRhICpjb25uLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgY2hhciAqaG9zdG5hbWUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcG9ydCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCAqd2FpdHApOwogCiAjaWZuZGVmIENVUkxSRVNfQVNZTkNICiAvKiBjb252ZXJ0IHRoZXNlIGZ1bmN0aW9ucyBpZiBhbiBhc3luY2ggcmVzb2x2ZXIgaXNuJ3QgdXNlZCAqLwpkaWZmIC0tZ2l0IGEvbGliL2NoZWNrc3JjLnBsIGIvbGliL2NoZWNrc3JjLnBsCmluZGV4IGIwNzRmMjcuLjk3YjhmOWUgMTAwNzU1Ci0tLSBhL2xpYi9jaGVja3NyYy5wbAorKysgYi9saWIvY2hlY2tzcmMucGwKQEAgLTMxLDE0ICszMSwxNCBAQAogbXkgJHN3YXJuaW5ncyA9IDA7CiBteSAkZXJyb3JzID0gMDsKIG15ICRzZXJyb3JzID0gMDsKLW15ICRzdXBwcmVzc2VkOyAjIHdoaXRlbGlzdGVkIHByb2JsZW1zCitteSAkc3VwcHJlc3NlZDsgIyBza2lwcGVkIHByb2JsZW1zCiBteSAkZmlsZTsKIG15ICRkaXI9Ii4iOwogbXkgJHdsaXN0PSIiOwogbXkgQGFsaXN0OwogbXkgJHdpbmRvd3Nfb3MgPSAkXk8gZXEgJ01TV2luMzInIHx8ICReTyBlcSAnY3lnd2luJyB8fCAkXk8gZXEgJ21zeXMnOwogbXkgJHZlcmJvc2U7Ci1teSAld2hpdGVsaXN0OworbXkgJXNraXBsaXN0OwogCiBteSAlaWdub3JlOwogbXkgJWlnbm9yZV9zZXQ7CkBAIC04MSwxNCArODEsMTUgQEAKICAgICAnU0laRU9GTk9QQVJFTicgICAgPT4gJ3VzZSBvZiBzaXplb2Ygd2l0aG91dCBwYXJlbnRoZXNlcycsCiAgICAgJ1NOUFJJTlRGJyAgICAgICAgID0+ICd1c2Ugb2Ygc25wcmludGYnLAogICAgICdPTkVMSU5FQ09ORElUSU9OJyA9PiAnY29uZGl0aW9uYWwgYmxvY2sgb24gdGhlIHNhbWUgbGluZSBhcyB0aGUgaWYoKScsCisgICAgJ1RZUEVERUZTVFJVQ1QnICAgID0+ICd0eXBlZGVmZWQgc3RydWN0JywKICAgICApOwogCi1zdWIgcmVhZHdoaXRlbGlzdCB7Ci0gICAgb3BlbihXLCAiPCRkaXIvY2hlY2tzcmMud2hpdGVsaXN0Iikgb3IgcmV0dXJuOworc3ViIHJlYWRza2lwbGlzdCB7CisgICAgb3BlbihXLCAiPCRkaXIvY2hlY2tzcmMuc2tpcCIpIG9yIHJldHVybjsKICAgICBteSBAYWxsPTxXPjsKICAgICBmb3IoQGFsbCkgewogICAgICAgICAkd2luZG93c19vcyA/ICRfID1+IHMvXHI/XG4kLy8gOiBjaG9tcDsKLSAgICAgICAgJHdoaXRlbGlzdHskX309MTsKKyAgICAgICAgJHNraXBsaXN0eyRffT0xOwogICAgIH0KICAgICBjbG9zZShXKTsKIH0KQEAgLTExNiwxMCArMTE3LDE5IEBACiAgICAgICAgICAgICB9CiAgICAgICAgICAgICAkd2FybmluZ3N7JDF9ID0gJHdhcm5pbmdzX2V4dGVuZGVkeyQxfTsKICAgICAgICAgfQorICAgICAgICBlbHNpZiAoL15ccypkaXNhYmxlIChbQS1aXSspJC8pIHsKKyAgICAgICAgICAgIGlmKCFkZWZpbmVkKCR3YXJuaW5nc3skMX0pKSB7CisgICAgICAgICAgICAgICAgcHJpbnQgU1RERVJSICJpbnZhbGlkIHdhcm5pbmcgc3BlY2lmaWVkIGluIC5jaGVja3NyYzogXCIkMVwiXG4iOworICAgICAgICAgICAgICAgIG5leHQ7CisgICAgICAgICAgICB9CisgICAgICAgICAgICAjIEFjY2VwdC1saXN0CisgICAgICAgICAgICBwdXNoIEBhbGlzdCwgJDE7CisgICAgICAgIH0KICAgICAgICAgZWxzZSB7CiAgICAgICAgICAgICBkaWUgIkludmFsaWQgZm9ybWF0IGluICRkaXIvLmNoZWNrc3JjIG9uIGxpbmUgJGlcbiI7CiAgICAgICAgIH0KICAgICB9CisgICAgY2xvc2UoJHJjZmlsZSk7CiB9CiAKIHN1YiBjaGVja3dhcm4gewpAQCAtMTMyLDggKzE0Miw4IEBACiAgICAgIyAgICBwcmludCBTVERFUlIgIkRldiEgdGhlcmUncyBubyBkZXNjcmlwdGlvbiBmb3IgJG5hbWUhXG4iOwogICAgICN9CiAKLSAgICAjIGNoZWNrc3JjLndoaXRlbGlzdAotICAgIGlmKCR3aGl0ZWxpc3R7JGxpbmV9KSB7CisgICAgIyBjaGVja3NyYy5za2lwCisgICAgaWYoJHNraXBsaXN0eyRsaW5lfSkgewogICAgICAgICAkbm93YXJuID0gMTsKICAgICB9CiAgICAgIyAhY2hlY2tzcmMhIGNvbnRyb2xsZWQKQEAgLTIxOCw3ICsyMjgsNyBAQAogICAgIHByaW50ICIgIC1BW3J1bGVdICBBY2NlcHQgdGhpcyB2aW9sYXRpb24sIGNhbiBiZSB1c2VkIG11bHRpcGxlIHRpbWVzXG4iOwogICAgIHByaW50ICIgIC1EW0RJUl0gICBEaXJlY3RvcnkgdG8gcHJlcGVuZCBmaWxlIG5hbWVzXG4iOwogICAgIHByaW50ICIgIC1oICAgICAgICBTaG93IGhlbHAgb3V0cHV0XG4iOwotICAgIHByaW50ICIgIC1XW2ZpbGVdICBXaGl0ZWxpc3QgdGhlIGdpdmVuIGZpbGUgLSBpZ25vcmUgYWxsIGl0cyBmbGF3c1xuIjsKKyAgICBwcmludCAiICAtV1tmaWxlXSAgU2tpcCB0aGUgZ2l2ZW4gZmlsZSAtIGlnbm9yZSBhbGwgaXRzIGZsYXdzXG4iOwogICAgIHByaW50ICIgIC1pPG4+ICAgICBJbmRlbnQgc3BhY2VzLiBEZWZhdWx0OiAyXG4iOwogICAgIHByaW50ICIgIC1tPG4+ICAgICBNYXhpbXVtIGxpbmUgbGVuZ3RoLiBEZWZhdWx0OiA3OVxuIjsKICAgICBwcmludCAiXG5EZXRlY3RzIGFuZCB3YXJucyBmb3IgdGhlc2UgcHJvYmxlbXM6XG4iOwpAQCAtMjI4LDcgKzIzOCw3IEBACiAgICAgZXhpdDsKIH0KIAotcmVhZHdoaXRlbGlzdCgpOworcmVhZHNraXBsaXN0KCk7CiByZWFkbG9jYWxmaWxlKCk7CiAKIGRvIHsKQEAgLTYzOSwxMCArNjQ5LDEwIEBACiAgICAgICAgIH0KIAogICAgICAgICAjIGNoZWNrIGZvciAnY2hhciAqIG5hbWUnCi0gICAgICAgIGlmKCgkbCA9fiAvKF4uKihjaGFyfGludHxsb25nfHZvaWR8Y3VybF9zbGlzdHxDVVJMfENVUkxNfENVUkxNc2d8Y3VybF9odHRwcG9zdCkgKihcKispKSAoXHcrKS8pICYmICgkNCBuZSAiY29uc3QiKSkgewotICAgICAgICAgICAgY2hlY2t3YXJuKCJBU1RFUklTS05PU1BBQ0UiLAorICAgICAgICBpZigoJGwgPX4gLyheLiooY2hhcnxpbnR8bG9uZ3x2b2lkfENVUkx8Q1VSTE18Q1VSTE1zZ3xbY0NddXJsX1tBLVphLXpfXSt8c3RydWN0IFthLXpBLVpfXSspICooXCorKSkgKFx3KykvKSAmJiAoJDQgIX4gL14oY29uc3R8dm9sYXRpbGUpJC8pKSB7CisgICAgICAgICAgICBjaGVja3dhcm4oIkFTVEVSSVNLU1BBQ0UiLAogICAgICAgICAgICAgICAgICAgICAgICRsaW5lLCBsZW5ndGgoJDEpLCAkZmlsZSwgJG9sLAotICAgICAgICAgICAgICAgICAgICAgICJubyBzcGFjZSBhZnRlciBkZWNsYXJhdGl2ZSBhc3RlcmlzayIpOworICAgICAgICAgICAgICAgICAgICAgICJzcGFjZSBhZnRlciBkZWNsYXJhdGl2ZSBhc3RlcmlzayIpOwogICAgICAgICB9CiAgICAgICAgICMgY2hlY2sgZm9yICdjaGFyKicKICAgICAgICAgaWYoKCRsID1+IC8oXi4qKGNoYXJ8aW50fGxvbmd8dm9pZHxjdXJsX3NsaXN0fENVUkx8Q1VSTE18Q1VSTE1zZ3xjdXJsX2h0dHBwb3N0fHNvY2thZGRyX2lufEZJTEUpXCopLykpIHsKQEAgLTY5Nyw2ICs3MDcsMTMgQEAKICAgICAgICAgICAgICAgICAgICAgICAibm8gc3BhY2UgYWZ0ZXIgc2VtaWNvbG9uIik7CiAgICAgICAgIH0KIAorICAgICAgICAjIHR5cGVkZWYgc3RydWN0IC4uLiB7CisgICAgICAgIGlmKCRub3N0ciA9fiAvXiguKil0eXBlZGVmIHN0cnVjdC4qey8pIHsKKyAgICAgICAgICAgIGNoZWNrd2FybigiVFlQRURFRlNUUlVDVCIsCisgICAgICAgICAgICAgICAgICAgICAgJGxpbmUsIGxlbmd0aCgkMSkrMSwgJGZpbGUsICRvbCwKKyAgICAgICAgICAgICAgICAgICAgICAidHlwZWRlZidlZCBzdHJ1Y3QiKTsKKyAgICAgICAgfQorCiAgICAgICAgICMgY2hlY2sgZm9yIG1vcmUgdGhhbiBvbmUgY29uc2VjdXRpdmUgc3BhY2UgYmVmb3JlIG9wZW4gYnJhY2Ugb3IKICAgICAgICAgIyBxdWVzdGlvbiBtYXJrLiBTa2lwIGxpbmVzIGNvbnRhaW5pbmcgc3RyaW5ncyBzaW5jZSB0aGV5IG1ha2UgaXQgaGFyZAogICAgICAgICAjIGR1ZSB0byBhcnRpZmljaWFsbHkgZ2V0dGluZyBtdWx0aXBsZSBzcGFjZXMKZGlmZiAtLWdpdCBhL2xpYi9jb25maWctd2luMzIuaCBiL2xpYi9jb25maWctd2luMzIuaAppbmRleCA1MTZiYWNhLi43NmVlNmIxIDEwMDY0NAotLS0gYS9saWIvY29uZmlnLXdpbjMyLmgKKysrIGIvbGliL2NvbmZpZy13aW4zMi5oCkBAIC03MjQsNiArNzI0LDcgQEAKICAgLyogUmVwbGljYXRpbmcgbG9naWMgcHJlc2VudCBpbiBhZnVuaXguaCBvZiBuZXdlciBXaW5kb3dzIDEwIFNESyB2ZXJzaW9ucyAqLwogIyBkZWZpbmUgVU5JWF9QQVRIX01BWCAxMDgKICMgaW5jbHVkZSA8d3MydGNwaXAuaD4KKyAgLyogIWNoZWNrc3JjISBkaXNhYmxlIFRZUEVERUZTVFJVQ1QgMSAqLwogICB0eXBlZGVmIHN0cnVjdCBzb2NrYWRkcl91biB7CiAgICAgQUREUkVTU19GQU1JTFkgc3VuX2ZhbWlseTsKICAgICBjaGFyIHN1bl9wYXRoW1VOSVhfUEFUSF9NQVhdOwpkaWZmIC0tZ2l0IGEvbGliL2Nvbm5jYWNoZS5jIGIvbGliL2Nvbm5jYWNoZS5jCmluZGV4IGNiZDNiYjEuLmQyMWEwMGMgMTAwNjQ0Ci0tLSBhL2xpYi9jb25uY2FjaGUuYworKysgYi9saWIvY29ubmNhY2hlLmMKQEAgLTQ5LDUzICs0OSw1MSBAQAogICBjb25uLT5idW5kbGUgPSBOVUxMOwogfQogCi1zdGF0aWMgQ1VSTGNvZGUgYnVuZGxlX2NyZWF0ZShzdHJ1Y3QgQ3VybF9lYXN5ICpkYXRhLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RydWN0IGNvbm5lY3RidW5kbGUgKipjYl9wdHIpCitzdGF0aWMgQ1VSTGNvZGUgYnVuZGxlX2NyZWF0ZShzdHJ1Y3QgY29ubmVjdGJ1bmRsZSAqKmJ1bmRsZXApCiB7Ci0gICh2b2lkKWRhdGE7Ci0gIERFQlVHQVNTRVJUKCpjYl9wdHIgPT0gTlVMTCk7Ci0gICpjYl9wdHIgPSBtYWxsb2Moc2l6ZW9mKHN0cnVjdCBjb25uZWN0YnVuZGxlKSk7Ci0gIGlmKCEqY2JfcHRyKQorICBERUJVR0FTU0VSVCgqYnVuZGxlcCA9PSBOVUxMKTsKKyAgKmJ1bmRsZXAgPSBtYWxsb2Moc2l6ZW9mKHN0cnVjdCBjb25uZWN0YnVuZGxlKSk7CisgIGlmKCEqYnVuZGxlcCkKICAgICByZXR1cm4gQ1VSTEVfT1VUX09GX01FTU9SWTsKIAotICAoKmNiX3B0ciktPm51bV9jb25uZWN0aW9ucyA9IDA7Ci0gICgqY2JfcHRyKS0+bXVsdGl1c2UgPSBCVU5ETEVfVU5LTk9XTjsKKyAgKCpidW5kbGVwKS0+bnVtX2Nvbm5lY3Rpb25zID0gMDsKKyAgKCpidW5kbGVwKS0+bXVsdGl1c2UgPSBCVU5ETEVfVU5LTk9XTjsKIAotICBDdXJsX2xsaXN0X2luaXQoJigqY2JfcHRyKS0+Y29ubl9saXN0LCAoY3VybF9sbGlzdF9kdG9yKSBjb25uX2xsaXN0X2R0b3IpOworICBDdXJsX2xsaXN0X2luaXQoJigqYnVuZGxlcCktPmNvbm5fbGlzdCwgKGN1cmxfbGxpc3RfZHRvcikgY29ubl9sbGlzdF9kdG9yKTsKICAgcmV0dXJuIENVUkxFX09LOwogfQogCi1zdGF0aWMgdm9pZCBidW5kbGVfZGVzdHJveShzdHJ1Y3QgY29ubmVjdGJ1bmRsZSAqY2JfcHRyKQorc3RhdGljIHZvaWQgYnVuZGxlX2Rlc3Ryb3koc3RydWN0IGNvbm5lY3RidW5kbGUgKmJ1bmRsZSkKIHsKLSAgaWYoIWNiX3B0cikKKyAgaWYoIWJ1bmRsZSkKICAgICByZXR1cm47CiAKLSAgQ3VybF9sbGlzdF9kZXN0cm95KCZjYl9wdHItPmNvbm5fbGlzdCwgTlVMTCk7CisgIEN1cmxfbGxpc3RfZGVzdHJveSgmYnVuZGxlLT5jb25uX2xpc3QsIE5VTEwpOwogCi0gIGZyZWUoY2JfcHRyKTsKKyAgZnJlZShidW5kbGUpOwogfQogCiAvKiBBZGQgYSBjb25uZWN0aW9uIHRvIGEgYnVuZGxlICovCi1zdGF0aWMgdm9pZCBidW5kbGVfYWRkX2Nvbm4oc3RydWN0IGNvbm5lY3RidW5kbGUgKmNiX3B0ciwKK3N0YXRpYyB2b2lkIGJ1bmRsZV9hZGRfY29ubihzdHJ1Y3QgY29ubmVjdGJ1bmRsZSAqYnVuZGxlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cnVjdCBjb25uZWN0ZGF0YSAqY29ubikKIHsKLSAgQ3VybF9sbGlzdF9pbnNlcnRfbmV4dCgmY2JfcHRyLT5jb25uX2xpc3QsIGNiX3B0ci0+Y29ubl9saXN0LnRhaWwsIGNvbm4sCisgIEN1cmxfbGxpc3RfaW5zZXJ0X25leHQoJmJ1bmRsZS0+Y29ubl9saXN0LCBidW5kbGUtPmNvbm5fbGlzdC50YWlsLCBjb25uLAogICAgICAgICAgICAgICAgICAgICAgICAgICZjb25uLT5idW5kbGVfbm9kZSk7Ci0gIGNvbm4tPmJ1bmRsZSA9IGNiX3B0cjsKLSAgY2JfcHRyLT5udW1fY29ubmVjdGlvbnMrKzsKKyAgY29ubi0+YnVuZGxlID0gYnVuZGxlOworICBidW5kbGUtPm51bV9jb25uZWN0aW9ucysrOwogfQogCiAvKiBSZW1vdmUgYSBjb25uZWN0aW9uIGZyb20gYSBidW5kbGUgKi8KLXN0YXRpYyBpbnQgYnVuZGxlX3JlbW92ZV9jb25uKHN0cnVjdCBjb25uZWN0YnVuZGxlICpjYl9wdHIsCitzdGF0aWMgaW50IGJ1bmRsZV9yZW1vdmVfY29ubihzdHJ1Y3QgY29ubmVjdGJ1bmRsZSAqYnVuZGxlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RydWN0IGNvbm5lY3RkYXRhICpjb25uKQogewogICBzdHJ1Y3QgY3VybF9sbGlzdF9lbGVtZW50ICpjdXJyOwogCi0gIGN1cnIgPSBjYl9wdHItPmNvbm5fbGlzdC5oZWFkOworICBjdXJyID0gYnVuZGxlLT5jb25uX2xpc3QuaGVhZDsKICAgd2hpbGUoY3VycikgewogICAgIGlmKGN1cnItPnB0ciA9PSBjb25uKSB7Ci0gICAgICBDdXJsX2xsaXN0X3JlbW92ZSgmY2JfcHRyLT5jb25uX2xpc3QsIGN1cnIsIE5VTEwpOwotICAgICAgY2JfcHRyLT5udW1fY29ubmVjdGlvbnMtLTsKKyAgICAgIEN1cmxfbGxpc3RfcmVtb3ZlKCZidW5kbGUtPmNvbm5fbGlzdCwgY3VyciwgTlVMTCk7CisgICAgICBidW5kbGUtPm51bV9jb25uZWN0aW9ucy0tOwogICAgICAgY29ubi0+YnVuZGxlID0gTlVMTDsKICAgICAgIHJldHVybiAxOyAvKiB3ZSByZW1vdmVkIGEgaGFuZGxlICovCiAgICAgfQpAQCAtMTQ1LDEyICsxNDMsMTUgQEAKICAgY29uc3QgY2hhciAqaG9zdG5hbWU7CiAgIGxvbmcgcG9ydCA9IGNvbm4tPnJlbW90ZV9wb3J0OwogCisjaWZuZGVmIENVUkxfRElTQUJMRV9QUk9YWQogICBpZihjb25uLT5iaXRzLmh0dHBwcm94eSAmJiAhY29ubi0+Yml0cy50dW5uZWxfcHJveHkpIHsKICAgICBob3N0bmFtZSA9IGNvbm4tPmh0dHBfcHJveHkuaG9zdC5uYW1lOwogICAgIHBvcnQgPSBjb25uLT5wb3J0OwogICB9Ci0gIGVsc2UgaWYoY29ubi0+Yml0cy5jb25uX3RvX2hvc3QpCi0gICAgaG9zdG5hbWUgPSBjb25uLT5jb25uX3RvX2hvc3QubmFtZTsKKyAgZWxzZQorI2VuZGlmCisgICAgaWYoY29ubi0+Yml0cy5jb25uX3RvX2hvc3QpCisgICAgICBob3N0bmFtZSA9IGNvbm4tPmNvbm5fdG9faG9zdC5uYW1lOwogICBlbHNlCiAgICAgaG9zdG5hbWUgPSBjb25uLT5ob3N0Lm5hbWU7CiAKQEAgLTE2MiwyMCArMTYzLDE1IEBACiAgIG1zbnByaW50ZihidWYsIGxlbiwgIiVsZCVzIiwgcG9ydCwgaG9zdG5hbWUpOwogfQogCi12b2lkIEN1cmxfY29ubmNhY2hlX3VubG9jayhzdHJ1Y3QgQ3VybF9lYXN5ICpkYXRhKQotewotICBDT05OX1VOTE9DSyhkYXRhKTsKLX0KLQogLyogUmV0dXJucyBudW1iZXIgb2YgY29ubmVjdGlvbnMgY3VycmVudGx5IGhlbGQgaW4gdGhlIGNvbm5lY3Rpb24gY2FjaGUuCiAgICBMb2Nrcy91bmxvY2tzIHRoZSBjYWNoZSBpdHNlbGYhCiAqLwogc2l6ZV90IEN1cmxfY29ubmNhY2hlX3NpemUoc3RydWN0IEN1cmxfZWFzeSAqZGF0YSkKIHsKICAgc2l6ZV90IG51bTsKLSAgQ09OTl9MT0NLKGRhdGEpOworICBDT05OQ0FDSEVfTE9DSyhkYXRhKTsKICAgbnVtID0gZGF0YS0+c3RhdGUuY29ubl9jYWNoZS0+bnVtX2Nvbm47Ci0gIENPTk5fVU5MT0NLKGRhdGEpOworICBDT05OQ0FDSEVfVU5MT0NLKGRhdGEpOwogICByZXR1cm4gbnVtOwogfQogCkBAIC0xODgsNyArMTg0LDcgQEAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBjaGFyICoqaG9zdHApCiB7CiAgIHN0cnVjdCBjb25uZWN0YnVuZGxlICpidW5kbGUgPSBOVUxMOwotICBDT05OX0xPQ0soY29ubi0+ZGF0YSk7CisgIENPTk5DQUNIRV9MT0NLKGNvbm4tPmRhdGEpOwogICBpZihjb25uYykgewogICAgIGNoYXIga2V5W0hBU0hLRVlfU0laRV07CiAgICAgaGFzaGtleShjb25uLCBrZXksIHNpemVvZihrZXkpLCBob3N0cCk7CkBAIC0yMzUsOCArMjMxLDcgQEAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cnVjdCBjb25uZWN0ZGF0YSAqY29ubikKIHsKICAgQ1VSTGNvZGUgcmVzdWx0ID0gQ1VSTEVfT0s7Ci0gIHN0cnVjdCBjb25uZWN0YnVuZGxlICpidW5kbGU7Ci0gIHN0cnVjdCBjb25uZWN0YnVuZGxlICpuZXdfYnVuZGxlID0gTlVMTDsKKyAgc3RydWN0IGNvbm5lY3RidW5kbGUgKmJ1bmRsZSA9IE5VTEw7CiAgIHN0cnVjdCBDdXJsX2Vhc3kgKmRhdGEgPSBjb25uLT5kYXRhOwogCiAgIC8qICpmaW5kX2J1bmRsZSgpIGxvY2tzIHRoZSBjb25uZWN0aW9uIGNhY2hlICovCkBAIC0yNDUsMjAgKzI0MCwxOSBAQAogICAgIGludCByYzsKICAgICBjaGFyIGtleVtIQVNIS0VZX1NJWkVdOwogCi0gICAgcmVzdWx0ID0gYnVuZGxlX2NyZWF0ZShkYXRhLCAmbmV3X2J1bmRsZSk7CisgICAgcmVzdWx0ID0gYnVuZGxlX2NyZWF0ZSgmYnVuZGxlKTsKICAgICBpZihyZXN1bHQpIHsKICAgICAgIGdvdG8gdW5sb2NrOwogICAgIH0KIAogICAgIGhhc2hrZXkoY29ubiwga2V5LCBzaXplb2Yoa2V5KSwgTlVMTCk7Ci0gICAgcmMgPSBjb25uY2FjaGVfYWRkX2J1bmRsZShkYXRhLT5zdGF0ZS5jb25uX2NhY2hlLCBrZXksIG5ld19idW5kbGUpOworICAgIHJjID0gY29ubmNhY2hlX2FkZF9idW5kbGUoZGF0YS0+c3RhdGUuY29ubl9jYWNoZSwga2V5LCBidW5kbGUpOwogCiAgICAgaWYoIXJjKSB7Ci0gICAgICBidW5kbGVfZGVzdHJveShuZXdfYnVuZGxlKTsKKyAgICAgIGJ1bmRsZV9kZXN0cm95KGJ1bmRsZSk7CiAgICAgICByZXN1bHQgPSBDVVJMRV9PVVRfT0ZfTUVNT1JZOwogICAgICAgZ290byB1bmxvY2s7CiAgICAgfQotICAgIGJ1bmRsZSA9IG5ld19idW5kbGU7CiAgIH0KIAogICBidW5kbGVfYWRkX2Nvbm4oYnVuZGxlLCBjb25uKTsKQEAgLTI3MCwxNSArMjY0LDE3IEBACiAgICAgICAgICAgICAgICBjb25uLT5jb25uZWN0aW9uX2lkLCBjb25uYy0+bnVtX2Nvbm4pKTsKIAogICB1bmxvY2s6Ci0gIENPTk5fVU5MT0NLKGRhdGEpOworICBDT05OQ0FDSEVfVU5MT0NLKGRhdGEpOwogCiAgIHJldHVybiByZXN1bHQ7CiB9CiAKIC8qCi0gKiBSZW1vdmVzIHRoZSBjb25uZWN0ZGF0YSBvYmplY3QgZnJvbSB0aGUgY29ubmVjdGlvbiBjYWNoZSAqYW5kKiBjbGVhcnMgdGhlCi0gKiAtPmRhdGEgcG9pbnRlciBhc3NvY2lhdGlvbi4gUGFzcyBUUlVFL0ZBTFNFIGluIHRoZSAnbG9jaycgYXJndW1lbnQKLSAqIGRlcGVuZGluZyBvbiBpZiB0aGUgcGFyZW50IGZ1bmN0aW9uIGFscmVhZHkgaG9sZHMgdGhlIGxvY2sgb3Igbm90LgorICogUmVtb3ZlcyB0aGUgY29ubmVjdGRhdGEgb2JqZWN0IGZyb20gdGhlIGNvbm5lY3Rpb24gY2FjaGUsIGJ1dCBkb2VzICpub3QqCisgKiBjbGVhciB0aGUgY29ubi0+ZGF0YSBhc3NvY2lhdGlvbi4gVGhlIHRyYW5zZmVyIHN0aWxsIG93bnMgdGhpcyBjb25uZWN0aW9uLgorICoKKyAqIFBhc3MgVFJVRS9GQUxTRSBpbiB0aGUgJ2xvY2snIGFyZ3VtZW50IGRlcGVuZGluZyBvbiBpZiB0aGUgcGFyZW50IGZ1bmN0aW9uCisgKiBhbHJlYWR5IGhvbGRzIHRoZSBsb2NrIG9yIG5vdC4KICAqLwogdm9pZCBDdXJsX2Nvbm5jYWNoZV9yZW1vdmVfY29ubihzdHJ1Y3QgQ3VybF9lYXN5ICpkYXRhLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJ1Y3QgY29ubmVjdGRhdGEgKmNvbm4sIGJvb2wgbG9jaykKQEAgLTI5MCw3ICsyODYsNyBAQAogICAgICBkdWUgdG8gYSBmYWlsZWQgY29ubmVjdGlvbiBhdHRlbXB0LCBiZWZvcmUgYmVpbmcgYWRkZWQgdG8gYSBidW5kbGUgKi8KICAgaWYoYnVuZGxlKSB7CiAgICAgaWYobG9jaykgewotICAgICAgQ09OTl9MT0NLKGRhdGEpOworICAgICAgQ09OTkNBQ0hFX0xPQ0soZGF0YSk7CiAgICAgfQogICAgIGJ1bmRsZV9yZW1vdmVfY29ubihidW5kbGUsIGNvbm4pOwogICAgIGlmKGJ1bmRsZS0+bnVtX2Nvbm5lY3Rpb25zID09IDApCkBAIC0zMDEsOSArMjk3LDggQEAKICAgICAgIERFQlVHRihpbmZvZihkYXRhLCAiVGhlIGNhY2hlIG5vdyBjb250YWlucyAlenUgbWVtYmVyc1xuIiwKICAgICAgICAgICAgICAgICAgICBjb25uYy0+bnVtX2Nvbm4pKTsKICAgICB9Ci0gICAgY29ubi0+ZGF0YSA9IE5VTEw7IC8qIGNsZWFyIHRoZSBhc3NvY2lhdGlvbiAqLwogICAgIGlmKGxvY2spIHsKLSAgICAgIENPTk5fVU5MT0NLKGRhdGEpOworICAgICAgQ09OTkNBQ0hFX1VOTE9DSyhkYXRhKTsKICAgICB9CiAgIH0KIH0KQEAgLTMzMiw3ICszMjcsNyBAQAogICBpZighY29ubmMpCiAgICAgcmV0dXJuIEZBTFNFOwogCi0gIENPTk5fTE9DSyhkYXRhKTsKKyAgQ09OTkNBQ0hFX0xPQ0soZGF0YSk7CiAgIEN1cmxfaGFzaF9zdGFydF9pdGVyYXRlKCZjb25uYy0+aGFzaCwgJml0ZXIpOwogCiAgIGhlID0gQ3VybF9oYXNoX25leHRfZWxlbWVudCgmaXRlcik7CkBAIC0zNTAsMTIgKzM0NSwxMiBAQAogICAgICAgY3VyciA9IGN1cnItPm5leHQ7CiAKICAgICAgIGlmKDEgPT0gZnVuYyhjb25uLCBwYXJhbSkpIHsKLSAgICAgICAgQ09OTl9VTkxPQ0soZGF0YSk7CisgICAgICAgIENPTk5DQUNIRV9VTkxPQ0soZGF0YSk7CiAgICAgICAgIHJldHVybiBUUlVFOwogICAgICAgfQogICAgIH0KICAgfQotICBDT05OX1VOTE9DSyhkYXRhKTsKKyAgQ09OTkNBQ0hFX1VOTE9DSyhkYXRhKTsKICAgcmV0dXJuIEZBTFNFOwogfQogCkBAIC00OTQsNyArNDg5LDcgQEAKIAogICBub3cgPSBDdXJsX25vdygpOwogCi0gIENPTk5fTE9DSyhkYXRhKTsKKyAgQ09OTkNBQ0hFX0xPQ0soZGF0YSk7CiAgIEN1cmxfaGFzaF9zdGFydF9pdGVyYXRlKCZjb25uYy0+aGFzaCwgJml0ZXIpOwogCiAgIGhlID0gQ3VybF9oYXNoX25leHRfZWxlbWVudCgmaXRlcik7CkBAIC01MzEsNyArNTI2LDcgQEAKICAgICAgICAgICAgICAgICAgY29ubmMtPm51bV9jb25uKSk7CiAgICAgY29ubl9jYW5kaWRhdGUtPmRhdGEgPSBkYXRhOyAvKiBhc3NvY2lhdGUhICovCiAgIH0KLSAgQ09OTl9VTkxPQ0soZGF0YSk7CisgIENPTk5DQUNIRV9VTkxPQ0soZGF0YSk7CiAKICAgcmV0dXJuIGNvbm5fY2FuZGlkYXRlOwogfQpAQCAtNTM5LDYgKzUzNCwxMSBAQAogdm9pZCBDdXJsX2Nvbm5jYWNoZV9jbG9zZV9hbGxfY29ubmVjdGlvbnMoc3RydWN0IGNvbm5jYWNoZSAqY29ubmMpCiB7CiAgIHN0cnVjdCBjb25uZWN0ZGF0YSAqY29ubjsKKyAgY2hhciBidWZmZXJbUkVBREJVRkZFUl9NSU4gKyAxXTsKKyAgaWYoIWNvbm5jLT5jbG9zdXJlX2hhbmRsZSkKKyAgICByZXR1cm47CisgIGNvbm5jLT5jbG9zdXJlX2hhbmRsZS0+c3RhdGUuYnVmZmVyID0gYnVmZmVyOworICBjb25uYy0+Y2xvc3VyZV9oYW5kbGUtPnNldC5idWZmZXJfc2l6ZSA9IFJFQURCVUZGRVJfTUlOOwogCiAgIGNvbm4gPSBjb25uY2FjaGVfZmluZF9maXJzdF9jb25uZWN0aW9uKGNvbm5jKTsKICAgd2hpbGUoY29ubikgewpAQCAtNTQ4LDEyICs1NDgsMTQgQEAKICAgICBzaWdwaXBlX2lnbm9yZShjb25uLT5kYXRhLCAmcGlwZV9zdCk7CiAgICAgLyogVGhpcyB3aWxsIHJlbW92ZSB0aGUgY29ubmVjdGlvbiBmcm9tIHRoZSBjYWNoZSAqLwogICAgIGNvbm5jbG9zZShjb25uLCAia2lsbCBhbGwiKTsKKyAgICBDdXJsX2Nvbm5jYWNoZV9yZW1vdmVfY29ubihjb25uLT5kYXRhLCBjb25uLCBUUlVFKTsKICAgICAodm9pZClDdXJsX2Rpc2Nvbm5lY3QoY29ubmMtPmNsb3N1cmVfaGFuZGxlLCBjb25uLCBGQUxTRSk7CiAgICAgc2lncGlwZV9yZXN0b3JlKCZwaXBlX3N0KTsKIAogICAgIGNvbm4gPSBjb25uY2FjaGVfZmluZF9maXJzdF9jb25uZWN0aW9uKGNvbm5jKTsKICAgfQogCisgIGNvbm5jLT5jbG9zdXJlX2hhbmRsZS0+c3RhdGUuYnVmZmVyID0gTlVMTDsKICAgaWYoY29ubmMtPmNsb3N1cmVfaGFuZGxlKSB7CiAgICAgU0lHUElQRV9WQVJJQUJMRShwaXBlX3N0KTsKICAgICBzaWdwaXBlX2lnbm9yZShjb25uYy0+Y2xvc3VyZV9oYW5kbGUsICZwaXBlX3N0KTsKZGlmZiAtLWdpdCBhL2xpYi9jb25uY2FjaGUuaCBiL2xpYi9jb25uY2FjaGUuaAppbmRleCBlM2U0YzljLi4zZGRhMjFjIDEwMDY0NAotLS0gYS9saWIvY29ubmNhY2hlLmgKKysrIGIvbGliL2Nvbm5jYWNoZS5oCkBAIC00NSwyMSArNDUsMjEgQEAKICNpZmRlZiBDVVJMREVCVUcKIC8qIHRoZSBkZWJ1ZyB2ZXJzaW9ucyBvZiB0aGVzZSBtYWNyb3MgbWFrZSBleHRyYSBjZXJ0YWluIHRoYXQgdGhlIGxvY2sgaXMKICAgIG5ldmVyIGRvdWJseSBsb2NrZWQgb3IgdW5sb2NrZWQgKi8KLSNkZWZpbmUgQ09OTl9MT0NLKHgpIGlmKCh4KS0+c2hhcmUpIHsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyNkZWZpbmUgQ09OTkNBQ0hFX0xPQ0soeCkgaWYoKHgpLT5zaGFyZSkgeyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKICAgICBDdXJsX3NoYXJlX2xvY2soKHgpLCBDVVJMX0xPQ0tfREFUQV9DT05ORUNULCBDVVJMX0xPQ0tfQUNDRVNTX1NJTkdMRSk7IFwKICAgICBERUJVR0FTU0VSVCghKHgpLT5zdGF0ZS5jb25uY2FjaGVfbG9jayk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKICAgICAoeCktPnN0YXRlLmNvbm5jYWNoZV9sb2NrID0gVFJVRTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKICAgfQogCi0jZGVmaW5lIENPTk5fVU5MT0NLKHgpIGlmKCh4KS0+c2hhcmUpIHsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisjZGVmaW5lIENPTk5DQUNIRV9VTkxPQ0soeCkgaWYoKHgpLT5zaGFyZSkgeyAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCiAgICAgREVCVUdBU1NFUlQoKHgpLT5zdGF0ZS5jb25uY2FjaGVfbG9jayk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCiAgICAgKHgpLT5zdGF0ZS5jb25uY2FjaGVfbG9jayA9IEZBTFNFOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCiAgICAgQ3VybF9zaGFyZV91bmxvY2soKHgpLCBDVVJMX0xPQ0tfREFUQV9DT05ORUNUKTsgICAgICAgICAgICAgICAgICAgICBcCiAgIH0KICNlbHNlCi0jZGVmaW5lIENPTk5fTE9DSyh4KSBpZigoeCktPnNoYXJlKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisjZGVmaW5lIENPTk5DQUNIRV9MT0NLKHgpIGlmKCh4KS0+c2hhcmUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCiAgICAgQ3VybF9zaGFyZV9sb2NrKCh4KSwgQ1VSTF9MT0NLX0RBVEFfQ09OTkVDVCwgQ1VSTF9MT0NLX0FDQ0VTU19TSU5HTEUpCi0jZGVmaW5lIENPTk5fVU5MT0NLKHgpIGlmKCh4KS0+c2hhcmUpICAgICAgICAgICAgICAgICAgIFwKKyNkZWZpbmUgQ09OTkNBQ0hFX1VOTE9DSyh4KSBpZigoeCktPnNoYXJlKSAgICAgICAgICAgICAgXAogICAgIEN1cmxfc2hhcmVfdW5sb2NrKCh4KSwgQ1VSTF9MT0NLX0RBVEFfQ09OTkVDVCkKICNlbmRpZgogCkBAIC03Nyw3ICs3Nyw2IEBACiBzdHJ1Y3QgY29ubmVjdGJ1bmRsZSAqQ3VybF9jb25uY2FjaGVfZmluZF9idW5kbGUoc3RydWN0IGNvbm5lY3RkYXRhICpjb25uLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cnVjdCBjb25uY2FjaGUgKmNvbm5jLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGNoYXIgKipob3N0cCk7Ci12b2lkIEN1cmxfY29ubmNhY2hlX3VubG9jayhzdHJ1Y3QgQ3VybF9lYXN5ICpkYXRhKTsKIC8qIHJldHVybnMgbnVtYmVyIG9mIGNvbm5lY3Rpb25zIGN1cnJlbnRseSBoZWxkIGluIHRoZSBjb25uZWN0aW9uIGNhY2hlICovCiBzaXplX3QgQ3VybF9jb25uY2FjaGVfc2l6ZShzdHJ1Y3QgQ3VybF9lYXN5ICpkYXRhKTsKIApkaWZmIC0tZ2l0IGEvbGliL2Nvbm5lY3QuYyBiL2xpYi9jb25uZWN0LmMKaW5kZXggNDIxZjkwNC4uMjkyOTNmMCAxMDA2NDQKLS0tIGEvbGliL2Nvbm5lY3QuYworKysgYi9saWIvY29ubmVjdC5jCkBAIC0xNjYsNyArMTY2LDcgQEAKIAogc3RhdGljIENVUkxjb2RlCiBzaW5nbGVpcGNvbm5lY3Qoc3RydWN0IGNvbm5lY3RkYXRhICpjb25uLAotICAgICAgICAgICAgICAgIGNvbnN0IEN1cmxfYWRkcmluZm8gKmFpLCAvKiBzdGFydCBjb25uZWN0aW5nIHRvIHRoaXMgKi8KKyAgICAgICAgICAgICAgICBjb25zdCBzdHJ1Y3QgQ3VybF9hZGRyaW5mbyAqYWksIC8qIHN0YXJ0IGNvbm5lY3RpbmcgdG8gdGhpcyAqLwogICAgICAgICAgICAgICAgIGludCB0ZW1waW5kZXgpOyAgICAgICAgICAvKiAwIG9yIDEgYW1vbmcgdGhlIHRlbXAgb25lcyAqLwogCiAvKgpAQCAtNTU4LDExICs1NTgsMTEgQEAKIAogLyogdXBkYXRlIHRlbXBhZGRyW3RlbXBpbmRleF0gKHRvIHRoZSBuZXh0IGVudHJ5KSwgbWFrZXMgc3VyZSB0byBzdGljawogICAgdG8gdGhlIGNvcnJlY3QgZmFtaWx5ICovCi1zdGF0aWMgQ3VybF9hZGRyaW5mbyAqYWluZXh0KHN0cnVjdCBjb25uZWN0ZGF0YSAqY29ubiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHRlbXBpbmRleCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYm9vbCBuZXh0KSAvKiB1c2UgY3VycmVudCBvciBuZXh0IGVudHJ5ICovCitzdGF0aWMgc3RydWN0IEN1cmxfYWRkcmluZm8gKmFpbmV4dChzdHJ1Y3QgY29ubmVjdGRhdGEgKmNvbm4sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgdGVtcGluZGV4LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYm9vbCBuZXh0KSAvKiB1c2UgbmV4dCBlbnRyeT8gKi8KIHsKLSAgQ3VybF9hZGRyaW5mbyAqYWkgPSBjb25uLT50ZW1wYWRkclt0ZW1waW5kZXhdOworICBzdHJ1Y3QgQ3VybF9hZGRyaW5mbyAqYWkgPSBjb25uLT50ZW1wYWRkclt0ZW1waW5kZXhdOwogICBpZihhaSAmJiBuZXh0KQogICAgIGFpID0gYWktPmFpX25leHQ7CiAgIHdoaWxlKGFpICYmIChhaS0+YWlfZmFtaWx5ICE9IGNvbm4tPnRlbXBmYW1pbHlbdGVtcGluZGV4XSkpCkBAIC01NzEsNyArNTcxLDcgQEAKICAgcmV0dXJuIGFpOwogfQogCi0vKiBVc2VkIHdpdGhpbiB0aGUgbXVsdGkgaW50ZXJmYWNlLiBUcnkgbmV4dCBJUCBhZGRyZXNzLCByZXR1cm4gVFJVRSBpZiBubworLyogVXNlZCB3aXRoaW4gdGhlIG11bHRpIGludGVyZmFjZS4gVHJ5IG5leHQgSVAgYWRkcmVzcywgcmV0dXJucyBlcnJvciBpZiBubwogICAgbW9yZSBhZGRyZXNzIGV4aXN0cyBvciBlcnJvciAqLwogc3RhdGljIENVUkxjb2RlIHRyeW5leHRpcChzdHJ1Y3QgY29ubmVjdGRhdGEgKmNvbm4sCiAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzb2NraW5kZXgsCkBAIC01ODcsNyArNTg3LDcgQEAKICAgY29ubi0+dGVtcHNvY2tbdGVtcGluZGV4XSA9IENVUkxfU09DS0VUX0JBRDsKIAogICBpZihzb2NraW5kZXggPT0gRklSU1RTT0NLRVQpIHsKLSAgICBDdXJsX2FkZHJpbmZvICphaSA9IGNvbm4tPnRlbXBhZGRyW3RlbXBpbmRleF07CisgICAgc3RydWN0IEN1cmxfYWRkcmluZm8gKmFpID0gY29ubi0+dGVtcGFkZHJbdGVtcGluZGV4XTsKIAogICAgIHdoaWxlKGFpKSB7CiAgICAgICBpZihhaSkgewpAQCAtNzQ3LDggKzc0Nyw4IEBACiB7CiAgIENVUkxjb2RlIHJlc3VsdCA9IENVUkxFX09LOwogCi0gIGlmKGNvbm4tPmJpdHMuc29ja3Nwcm94eSkgewogI2lmbmRlZiBDVVJMX0RJU0FCTEVfUFJPWFkKKyAgaWYoY29ubi0+Yml0cy5zb2Nrc3Byb3h5KSB7CiAgICAgLyogZm9yIHRoZSBzZWNvbmRhcnkgc29ja2V0IChGVFApLCB1c2UgdGhlICJjb25uZWN0IHRvIGhvc3QiCiAgICAgICogYnV0IGlnbm9yZSB0aGUgImNvbm5lY3QgdG8gcG9ydCIgKHVzZSB0aGUgc2Vjb25kYXJ5IHBvcnQpCiAgICAgICovCkBAIC03ODEsMTEgKzc4MSwxMiBAQAogICAgICAgZmFpbGYoY29ubi0+ZGF0YSwgInVua25vd24gcHJveHl0eXBlIG9wdGlvbiBnaXZlbiIpOwogICAgICAgcmVzdWx0ID0gQ1VSTEVfQ09VTEROVF9DT05ORUNUOwogICAgIH0gLyogc3dpdGNoIHByb3h5dHlwZSAqLwotI2Vsc2UKLSAgKHZvaWQpc29ja2luZGV4OwotI2VuZGlmIC8qIENVUkxfRElTQUJMRV9QUk9YWSAqLwogICB9CiAgIGVsc2UKKyNlbHNlCisgICAgKHZvaWQpY29ubjsKKyAgICAodm9pZClzb2NraW5kZXg7CisjZW5kaWYgLyogQ1VSTF9ESVNBQkxFX1BST1hZICovCiAgICAgKmRvbmUgPSBUUlVFOyAvKiBubyBTT0NLUyBwcm94eSwgc28gY29uc2lkZXIgdXMgY29ubmVjdGVkICovCiAKICAgcmV0dXJuIHJlc3VsdDsKQEAgLTgyMiw4ICs4MjMsOCBAQAogICB0aW1lZGlmZl90IGFsbG93OwogICBpbnQgZXJyb3IgPSAwOwogICBzdHJ1Y3QgY3VybHRpbWUgbm93OwotICBpbnQgcmM7Ci0gIGludCBpOworICBpbnQgcmMgPSAwOworICB1bnNpZ25lZCBpbnQgaTsKIAogICBERUJVR0FTU0VSVChzb2NraW5kZXggPj0gRklSU1RTT0NLRVQgJiYgc29ja2luZGV4IDw9IFNFQ09OREFSWVNPQ0tFVCk7CiAKQEAgLTg1OCw0OSArODU5LDUwIEBACiAgICAgY29uc3QgaW50IG90aGVyID0gaSBeIDE7CiAgICAgaWYoY29ubi0+dGVtcHNvY2tbaV0gPT0gQ1VSTF9TT0NLRVRfQkFEKQogICAgICAgY29udGludWU7Ci0KKyAgICBlcnJvciA9IDA7CiAjaWZkZWYgRU5BQkxFX1FVSUMKICAgICBpZihjb25uLT50cmFuc3BvcnQgPT0gVFJOU1BSVF9RVUlDKSB7CiAgICAgICByZXN1bHQgPSBDdXJsX3F1aWNfaXNfY29ubmVjdGVkKGNvbm4sIGksIGNvbm5lY3RlZCk7Ci0gICAgICBpZihyZXN1bHQpIHsKLSAgICAgICAgZXJyb3IgPSBTT0NLRVJSTk87Ci0gICAgICAgIGdvdG8gZXJyb3I7Ci0gICAgICB9Ci0gICAgICBpZigqY29ubmVjdGVkKSB7CisgICAgICBpZighcmVzdWx0ICYmICpjb25uZWN0ZWQpIHsKICAgICAgICAgLyogdXNlIHRoaXMgc29ja2V0IGZyb20gbm93IG9uICovCiAgICAgICAgIGNvbm4tPnNvY2tbc29ja2luZGV4XSA9IGNvbm4tPnRlbXBzb2NrW2ldOwogICAgICAgICBjb25uLT5pcF9hZGRyID0gY29ubi0+dGVtcGFkZHJbaV07CiAgICAgICAgIGNvbm4tPnRlbXBzb2NrW2ldID0gQ1VSTF9TT0NLRVRfQkFEOwogICAgICAgICBwb3N0X1NPQ0tTKGNvbm4sIHNvY2tpbmRleCwgY29ubmVjdGVkKTsKICAgICAgICAgY29ubmtlZXAoY29ubiwgIkhUVFAvMyBkZWZhdWx0Iik7CisgICAgICAgIHJldHVybiBDVVJMRV9PSzsKICAgICAgIH0KLSAgICAgIHJldHVybiByZXN1bHQ7CisgICAgICBpZihyZXN1bHQpCisgICAgICAgIGVycm9yID0gU09DS0VSUk5POwogICAgIH0KKyAgICBlbHNlCiAjZW5kaWYKLQorICAgIHsKICNpZmRlZiBtcGVpeAotICAgIC8qIENhbGwgdGhpcyBmdW5jdGlvbiBvbmNlIG5vdywgYW5kIGlnbm9yZSB0aGUgcmVzdWx0cy4gV2UgZG8gdGhpcyB0bwotICAgICAgICJjbGVhciIgdGhlIGVycm9yIHN0YXRlIG9uIHRoZSBzb2NrZXQgc28gdGhhdCB3ZSBjYW4gbGF0ZXIgcmVhZCBpdAotICAgICAgIHJlbGlhYmx5LiBUaGlzIGlzIHJlcG9ydGVkIG5lY2Vzc2FyeSBvbiB0aGUgTVBFL2lYIG9wZXJhdGluZyBzeXN0ZW0uICovCi0gICAgKHZvaWQpdmVyaWZ5Y29ubmVjdChjb25uLT50ZW1wc29ja1tpXSwgTlVMTCk7CisgICAgICAvKiBDYWxsIHRoaXMgZnVuY3Rpb24gb25jZSBub3csIGFuZCBpZ25vcmUgdGhlIHJlc3VsdHMuIFdlIGRvIHRoaXMgdG8KKyAgICAgICAgICJjbGVhciIgdGhlIGVycm9yIHN0YXRlIG9uIHRoZSBzb2NrZXQgc28gdGhhdCB3ZSBjYW4gbGF0ZXIgcmVhZCBpdAorICAgICAgICAgcmVsaWFibHkuIFRoaXMgaXMgcmVwb3J0ZWQgbmVjZXNzYXJ5IG9uIHRoZSBNUEUvaVggb3BlcmF0aW5nCisgICAgICAgICBzeXN0ZW0uICovCisgICAgICAodm9pZCl2ZXJpZnljb25uZWN0KGNvbm4tPnRlbXBzb2NrW2ldLCBOVUxMKTsKICNlbmRpZgogCi0gICAgLyogY2hlY2sgc29ja2V0IGZvciBjb25uZWN0ICovCi0gICAgcmMgPSBTT0NLRVRfV1JJVEFCTEUoY29ubi0+dGVtcHNvY2tbaV0sIDApOworICAgICAgLyogY2hlY2sgc29ja2V0IGZvciBjb25uZWN0ICovCisgICAgICByYyA9IFNPQ0tFVF9XUklUQUJMRShjb25uLT50ZW1wc29ja1tpXSwgMCk7CisgICAgfQogCiAgICAgaWYocmMgPT0gMCkgeyAvKiBubyBjb25uZWN0aW9uIHlldCAqLwotICAgICAgZXJyb3IgPSAwOwotICAgICAgaWYoQ3VybF90aW1lZGlmZihub3csIGNvbm4tPmNvbm5lY3R0aW1lKSA+PSBjb25uLT50aW1lb3V0bXNfcGVyX2FkZHIpIHsKKyAgICAgIGlmKEN1cmxfdGltZWRpZmYobm93LCBjb25uLT5jb25uZWN0dGltZSkgPj0KKyAgICAgICAgIGNvbm4tPnRpbWVvdXRtc19wZXJfYWRkcltpXSkgewogICAgICAgICBpbmZvZihkYXRhLCAiQWZ0ZXIgJSIgQ1VSTF9GT1JNQVRfVElNRURJRkZfVAotICAgICAgICAgICAgICAibXMgY29ubmVjdCB0aW1lLCBtb3ZlIG9uIVxuIiwgY29ubi0+dGltZW91dG1zX3Blcl9hZGRyKTsKKyAgICAgICAgICAgICAgIm1zIGNvbm5lY3QgdGltZSwgbW92ZSBvbiFcbiIsIGNvbm4tPnRpbWVvdXRtc19wZXJfYWRkcltpXSk7CiAgICAgICAgIGVycm9yID0gRVRJTUVET1VUOwogICAgICAgfQogCiAgICAgICAvKiBzaG91bGQgd2UgdHJ5IGFub3RoZXIgcHJvdG9jb2wgZmFtaWx5PyAqLwotICAgICAgaWYoaSA9PSAwICYmICFjb25uLT5wYXJhbGxlbF9jb25uZWN0ICYmCisgICAgICBpZihpID09IDAgJiYgIWNvbm4tPmJpdHMucGFyYWxsZWxfY29ubmVjdCAmJgogICAgICAgICAgKEN1cmxfdGltZWRpZmYobm93LCBjb25uLT5jb25uZWN0dGltZSkgPj0KICAgICAgICAgICBkYXRhLT5zZXQuaGFwcHlfZXllYmFsbHNfdGltZW91dCkpIHsKLSAgICAgICAgY29ubi0+cGFyYWxsZWxfY29ubmVjdCA9IFRSVUU7IC8qIHN0YXJ0aW5nIG5vdyAqLworICAgICAgICBjb25uLT5iaXRzLnBhcmFsbGVsX2Nvbm5lY3QgPSBUUlVFOyAvKiBzdGFydGluZyBub3cgKi8KICAgICAgICAgdHJ5bmV4dGlwKGNvbm4sIHNvY2tpbmRleCwgMSk7CiAgICAgICB9CiAgICAgfQpAQCAtOTM3LDkgKzkzOSw2IEBACiAgICAgZWxzZSBpZihyYyAmIENVUkxfQ1NFTEVDVF9FUlIpCiAgICAgICAodm9pZCl2ZXJpZnljb25uZWN0KGNvbm4tPnRlbXBzb2NrW2ldLCAmZXJyb3IpOwogCi0jaWZkZWYgRU5BQkxFX1FVSUMKLSAgICBlcnJvcjoKLSNlbmRpZgogICAgIC8qCiAgICAgICogVGhlIGNvbm5lY3Rpb24gZmFpbGVkIGhlcmUsIHdlIHNob3VsZCBhdHRlbXB0IHRvIGNvbm5lY3QgdG8gdGhlICJuZXh0CiAgICAgICogYWRkcmVzcyIgZm9yIHRoZSBnaXZlbiBob3N0LiBCdXQgZmlyc3QgcmVtZW1iZXIgdGhlIGxhdGVzdCBlcnJvci4KQEAgLTk1MiwxMyArOTUxLDE0IEBACiAjaWZuZGVmIENVUkxfRElTQUJMRV9WRVJCT1NFX1NUUklOR1MKICAgICAgICAgY2hhciBpcGFkZHJlc3NbTUFYX0lQQURSX0xFTl07CiAgICAgICAgIGNoYXIgYnVmZmVyW1NUUkVSUk9SX0xFTl07Ci0gICAgICAgIEN1cmxfcHJpbnRhYmxlX2FkZHJlc3MoY29ubi0+dGVtcGFkZHJbaV0sIGlwYWRkcmVzcywgTUFYX0lQQURSX0xFTik7Ci0jZW5kaWYKKyAgICAgICAgQ3VybF9wcmludGFibGVfYWRkcmVzcyhjb25uLT50ZW1wYWRkcltpXSwgaXBhZGRyZXNzLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNpemVvZihpcGFkZHJlc3MpKTsKICAgICAgICAgaW5mb2YoZGF0YSwgImNvbm5lY3QgdG8gJXMgcG9ydCAlbGQgZmFpbGVkOiAlc1xuIiwKICAgICAgICAgICAgICAgaXBhZGRyZXNzLCBjb25uLT5wb3J0LAogICAgICAgICAgICAgICBDdXJsX3N0cmVycm9yKGVycm9yLCBidWZmZXIsIHNpemVvZihidWZmZXIpKSk7CisjZW5kaWYKIAotICAgICAgICBjb25uLT50aW1lb3V0bXNfcGVyX2FkZHIgPSBjb25uLT50ZW1wYWRkcltpXS0+YWlfbmV4dCA9PSBOVUxMID8KKyAgICAgICAgY29ubi0+dGltZW91dG1zX3Blcl9hZGRyW2ldID0gY29ubi0+dGVtcGFkZHJbaV0tPmFpX25leHQgPT0gTlVMTCA/CiAgICAgICAgICAgYWxsb3cgOiBhbGxvdyAvIDI7CiAgICAgICAgIGFpbmV4dChjb25uLCBpLCBUUlVFKTsKICAgICAgICAgc3RhdHVzID0gdHJ5bmV4dGlwKGNvbm4sIHNvY2tpbmRleCwgaSk7CkBAIC05NzAsMjUgKzk3MCwyOCBAQAogICAgIH0KICAgfQogCi0gIGlmKHJlc3VsdCkgeworICBpZihyZXN1bHQgJiYKKyAgICAgKGNvbm4tPnRlbXBzb2NrWzBdID09IENVUkxfU09DS0VUX0JBRCkgJiYKKyAgICAgKGNvbm4tPnRlbXBzb2NrWzFdID09IENVUkxfU09DS0VUX0JBRCkpIHsKICAgICAvKiBubyBtb3JlIGFkZHJlc3NlcyB0byB0cnkgKi8KICAgICBjb25zdCBjaGFyICpob3N0bmFtZTsKICAgICBjaGFyIGJ1ZmZlcltTVFJFUlJPUl9MRU5dOwogCi0gICAgLyogaWYgdGhlIGZpcnN0IGFkZHJlc3MgZmFtaWx5IHJ1bnMgb3V0IG9mIGFkZHJlc3NlcyB0byB0cnkgYmVmb3JlCi0gICAgICAgdGhlIGhhcHB5IGV5ZWJhbGwgdGltZW91dCwgZ28gYWhlYWQgYW5kIHRyeSB0aGUgbmV4dCBmYW1pbHkgbm93ICovCi0gICAgewotICAgICAgcmVzdWx0ID0gdHJ5bmV4dGlwKGNvbm4sIHNvY2tpbmRleCwgMSk7Ci0gICAgICBpZighcmVzdWx0KQotICAgICAgICByZXR1cm4gcmVzdWx0OwotICAgIH0KKyAgICAvKiBpZiB0aGUgZmlyc3QgYWRkcmVzcyBmYW1pbHkgcnVucyBvdXQgb2YgYWRkcmVzc2VzIHRvIHRyeSBiZWZvcmUgdGhlCisgICAgICAgaGFwcHkgZXllYmFsbCB0aW1lb3V0LCBnbyBhaGVhZCBhbmQgdHJ5IHRoZSBuZXh0IGZhbWlseSBub3cgKi8KKyAgICByZXN1bHQgPSB0cnluZXh0aXAoY29ubiwgc29ja2luZGV4LCAxKTsKKyAgICBpZighcmVzdWx0KQorICAgICAgcmV0dXJuIHJlc3VsdDsKIAorI2lmbmRlZiBDVVJMX0RJU0FCTEVfUFJPWFkKICAgICBpZihjb25uLT5iaXRzLnNvY2tzcHJveHkpCiAgICAgICBob3N0bmFtZSA9IGNvbm4tPnNvY2tzX3Byb3h5Lmhvc3QubmFtZTsKICAgICBlbHNlIGlmKGNvbm4tPmJpdHMuaHR0cHByb3h5KQogICAgICAgaG9zdG5hbWUgPSBjb25uLT5odHRwX3Byb3h5Lmhvc3QubmFtZTsKLSAgICBlbHNlIGlmKGNvbm4tPmJpdHMuY29ubl90b19ob3N0KQotICAgICAgaG9zdG5hbWUgPSBjb25uLT5jb25uX3RvX2hvc3QubmFtZTsKKyAgICBlbHNlCisjZW5kaWYKKyAgICAgIGlmKGNvbm4tPmJpdHMuY29ubl90b19ob3N0KQorICAgICAgICBob3N0bmFtZSA9IGNvbm4tPmNvbm5fdG9faG9zdC5uYW1lOwogICAgIGVsc2UKICAgICAgIGhvc3RuYW1lID0gY29ubi0+aG9zdC5uYW1lOwogCkBAIC05OTYsNiArOTk5LDkgQEAKICAgICAgICAgICBob3N0bmFtZSwgY29ubi0+cG9ydCwKICAgICAgICAgICBDdXJsX3N0cmVycm9yKGVycm9yLCBidWZmZXIsIHNpemVvZihidWZmZXIpKSk7CiAKKyAgICBDdXJsX3F1aWNfZGlzY29ubmVjdChjb25uLCAwKTsKKyAgICBDdXJsX3F1aWNfZGlzY29ubmVjdChjb25uLCAxKTsKKwogI2lmZGVmIFdTQUVUSU1FRE9VVAogICAgIGlmKFdTQUVUSU1FRE9VVCA9PSBkYXRhLT5zdGF0ZS5vc19lcnJubykKICAgICAgIHJlc3VsdCA9IENVUkxFX09QRVJBVElPTl9USU1FRE9VVDsKQEAgLTEwMDQsNiArMTAxMCw4IEBACiAgICAgICByZXN1bHQgPSBDVVJMRV9PUEVSQVRJT05fVElNRURPVVQ7CiAjZW5kaWYKICAgfQorICBlbHNlCisgICAgcmVzdWx0ID0gQ1VSTEVfT0s7IC8qIHN0aWxsIHRyeWluZyAqLwogCiAgIHJldHVybiByZXN1bHQ7CiB9CkBAIC0xMTA1LDcgKzExMTMsNyBAQAogICogaGF2aW5nIGNvbm5lY3RlZC4KICAqLwogc3RhdGljIENVUkxjb2RlIHNpbmdsZWlwY29ubmVjdChzdHJ1Y3QgY29ubmVjdGRhdGEgKmNvbm4sCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IEN1cmxfYWRkcmluZm8gKmFpLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBzdHJ1Y3QgQ3VybF9hZGRyaW5mbyAqYWksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCB0ZW1waW5kZXgpCiB7CiAgIHN0cnVjdCBDdXJsX3NvY2thZGRyX2V4IGFkZHI7CkBAIC0xMTk1LDggKzEyMDMsMTAgQEAKICAgKHZvaWQpY3VybHhfbm9uYmxvY2soc29ja2ZkLCBUUlVFKTsKIAogICBjb25uLT5jb25uZWN0dGltZSA9IEN1cmxfbm93KCk7Ci0gIGlmKGNvbm4tPm51bV9hZGRyID4gMSkKLSAgICBDdXJsX2V4cGlyZShkYXRhLCBjb25uLT50aW1lb3V0bXNfcGVyX2FkZHIsIEVYUElSRV9ETlNfUEVSX05BTUUpOworICBpZihjb25uLT5udW1fYWRkciA+IDEpIHsKKyAgICBDdXJsX2V4cGlyZShkYXRhLCBjb25uLT50aW1lb3V0bXNfcGVyX2FkZHJbMF0sIEVYUElSRV9ETlNfUEVSX05BTUUpOworICAgIEN1cmxfZXhwaXJlKGRhdGEsIGNvbm4tPnRpbWVvdXRtc19wZXJfYWRkclsxXSwgRVhQSVJFX0ROU19QRVJfTkFNRTIpOworICB9CiAKICAgLyogQ29ubmVjdCBUQ1AgYW5kIFFVSUMgc29ja2V0cyAqLwogICBpZighaXNjb25uZWN0ZWQgJiYgKGNvbm4tPnRyYW5zcG9ydCAhPSBUUk5TUFJUX1VEUCkpIHsKQEAgLTEzMTksOCArMTMyOSwxMCBAQAogICBjb25uLT50ZW1wc29ja1swXSA9IGNvbm4tPnRlbXBzb2NrWzFdID0gQ1VSTF9TT0NLRVRfQkFEOwogCiAgIC8qIE1heCB0aW1lIGZvciB0aGUgbmV4dCBjb25uZWN0aW9uIGF0dGVtcHQgKi8KLSAgY29ubi0+dGltZW91dG1zX3Blcl9hZGRyID0KKyAgY29ubi0+dGltZW91dG1zX3Blcl9hZGRyWzBdID0KICAgICBjb25uLT50ZW1wYWRkclswXS0+YWlfbmV4dCA9PSBOVUxMID8gdGltZW91dF9tcyA6IHRpbWVvdXRfbXMgLyAyOworICBjb25uLT50aW1lb3V0bXNfcGVyX2FkZHJbMV0gPQorICAgIGNvbm4tPnRlbXBhZGRyWzFdLT5haV9uZXh0ID09IE5VTEwgPyB0aW1lb3V0X21zIDogdGltZW91dF9tcyAvIDI7CiAKICAgY29ubi0+dGVtcGZhbWlseVswXSA9IGNvbm4tPnRlbXBhZGRyWzBdPwogICAgIGNvbm4tPnRlbXBhZGRyWzBdLT5haV9mYW1pbHk6MDsKQEAgLTE0NDMsMTEgKzE0NTUsMTEgQEAKICAgICAgICAgICAgICAgICAgICAgICBjdXJsX3NvY2tldF90IHNvY2spCiB7CiAgIGlmKGNvbm4gJiYgY29ubi0+ZmNsb3Nlc29ja2V0KSB7Ci0gICAgaWYoKHNvY2sgPT0gY29ubi0+c29ja1tTRUNPTkRBUllTT0NLRVRdKSAmJiBjb25uLT5zb2NrX2FjY2VwdGVkKQorICAgIGlmKChzb2NrID09IGNvbm4tPnNvY2tbU0VDT05EQVJZU09DS0VUXSkgJiYgY29ubi0+Yml0cy5zb2NrX2FjY2VwdGVkKQogICAgICAgLyogaWYgdGhpcyBzb2NrZXQgbWF0Y2hlcyB0aGUgc2Vjb25kIHNvY2tldCwgYW5kIHRoYXQgd2FzIGNyZWF0ZWQgd2l0aAogICAgICAgICAgYWNjZXB0LCB0aGVuIHdlIE1VU1QgTk9UIGNhbGwgdGhlIGNhbGxiYWNrIGJ1dCBjbGVhciB0aGUgYWNjZXB0ZWQKICAgICAgICAgIHN0YXR1cyAqLwotICAgICAgY29ubi0+c29ja19hY2NlcHRlZCA9IEZBTFNFOworICAgICAgY29ubi0+Yml0cy5zb2NrX2FjY2VwdGVkID0gRkFMU0U7CiAgICAgZWxzZSB7CiAgICAgICBpbnQgcmM7CiAgICAgICBDdXJsX211bHRpX2Nsb3NlZChjb25uLT5kYXRhLCBzb2NrKTsKQEAgLTE0NzcsNyArMTQ4OSw3IEBACiAgKgogICovCiBDVVJMY29kZSBDdXJsX3NvY2tldChzdHJ1Y3QgY29ubmVjdGRhdGEgKmNvbm4sCi0gICAgICAgICAgICAgICAgICAgICBjb25zdCBDdXJsX2FkZHJpbmZvICphaSwKKyAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHN0cnVjdCBDdXJsX2FkZHJpbmZvICphaSwKICAgICAgICAgICAgICAgICAgICAgIHN0cnVjdCBDdXJsX3NvY2thZGRyX2V4ICphZGRyLAogICAgICAgICAgICAgICAgICAgICAgY3VybF9zb2NrZXRfdCAqc29ja2ZkKQogewpAQCAtMTU1OSw2ICsxNTcxLDcgQEAKICAgLyogY2xvc2UgaWYgYSBjb25uZWN0aW9uLCBvciBhIHN0cmVhbSB0aGF0IGlzbid0IG11bHRpcGxleGVkICovCiAgIGJvb2wgY2xvc2VpdCA9IChjdHJsID09IENPTk5DVFJMX0NPTk5FQ1RJT04pIHx8CiAgICAgKChjdHJsID09IENPTk5DVFJMX1NUUkVBTSkgJiYgIShjb25uLT5oYW5kbGVyLT5mbGFncyAmIFBST1RPUFRfU1RSRUFNKSk7CisgIERFQlVHQVNTRVJUKGNvbm4pOwogICBpZigoY3RybCA9PSBDT05OQ1RSTF9TVFJFQU0pICYmCiAgICAgIChjb25uLT5oYW5kbGVyLT5mbGFncyAmIFBST1RPUFRfU1RSRUFNKSkKICAgICBERUJVR0YoaW5mb2YoY29ubi0+ZGF0YSwgIktpbGwgc3RyZWFtOiAlc1xuIiwgcmVhc29uKSk7CkBAIC0xNTc0LDYgKzE1ODcsNyBAQAogYm9vbCBDdXJsX2Nvbm5fZGF0YV9wZW5kaW5nKHN0cnVjdCBjb25uZWN0ZGF0YSAqY29ubiwgaW50IHNvY2tpbmRleCkKIHsKICAgaW50IHJlYWRhYmxlOworICBERUJVR0FTU0VSVChjb25uKTsKIAogICBpZihDdXJsX3NzbF9kYXRhX3BlbmRpbmcoY29ubiwgc29ja2luZGV4KSB8fAogICAgICBDdXJsX3JlY3ZfaGFzX3Bvc3Rwb25lZF9kYXRhKGNvbm4sIHNvY2tpbmRleCkpCmRpZmYgLS1naXQgYS9saWIvY29ubmVjdC5oIGIvbGliL2Nvbm5lY3QuaAppbmRleCBiMjMwODVhLi42ZmQ5ZWE4IDEwMDY0NAotLS0gYS9saWIvY29ubmVjdC5oCisrKyBiL2xpYi9jb25uZWN0LmgKQEAgLTcsNyArNyw3IEBACiAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICB8IChfX3wgfF98IHwgIF8gPHwgfF9fXwogICogICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxfX198XF9fXy98X3wgXF9cX19fX198CiAgKgotICogQ29weXJpZ2h0IChDKSAxOTk4IC0gMjAxOSwgRGFuaWVsIFN0ZW5iZXJnLCA8ZGFuaWVsQGhheHguc2U+LCBldCBhbC4KKyAqIENvcHlyaWdodCAoQykgMTk5OCAtIDIwMjAsIERhbmllbCBTdGVuYmVyZywgPGRhbmllbEBoYXh4LnNlPiwgZXQgYWwuCiAgKgogICogVGhpcyBzb2Z0d2FyZSBpcyBsaWNlbnNlZCBhcyBkZXNjcmliZWQgaW4gdGhlIGZpbGUgQ09QWUlORywgd2hpY2gKICAqIHlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhcyBwYXJ0IG9mIHRoaXMgZGlzdHJpYnV0aW9uLiBUaGUgdGVybXMKQEAgLTEwNSw3ICsxMDUsNyBAQAogICoKICAqLwogQ1VSTGNvZGUgQ3VybF9zb2NrZXQoc3RydWN0IGNvbm5lY3RkYXRhICpjb25uLAotICAgICAgICAgICAgICAgICAgICAgY29uc3QgQ3VybF9hZGRyaW5mbyAqYWksCisgICAgICAgICAgICAgICAgICAgICBjb25zdCBzdHJ1Y3QgQ3VybF9hZGRyaW5mbyAqYWksCiAgICAgICAgICAgICAgICAgICAgICBzdHJ1Y3QgQ3VybF9zb2NrYWRkcl9leCAqYWRkciwKICAgICAgICAgICAgICAgICAgICAgIGN1cmxfc29ja2V0X3QgKnNvY2tmZCk7CiAKZGlmZiAtLWdpdCBhL2xpYi9jb250ZW50X2VuY29kaW5nLmMgYi9saWIvY29udGVudF9lbmNvZGluZy5jCmluZGV4IDZkNDc1MzcuLmUyZTY4YTEgMTAwNjQ0Ci0tLSBhL2xpYi9jb250ZW50X2VuY29kaW5nLmMKKysrIGIvbGliL2NvbnRlbnRfZW5jb2RpbmcuYwpAQCAtNSw3ICs1LDcgQEAKICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgKF9ffCB8X3wgfCAgXyA8fCB8X19fCiAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXF9fX3xcX19fL3xffCBcX1xfX19fX3wKICAqCi0gKiBDb3B5cmlnaHQgKEMpIDE5OTggLSAyMDE4LCBEYW5pZWwgU3RlbmJlcmcsIDxkYW5pZWxAaGF4eC5zZT4sIGV0IGFsLgorICogQ29weXJpZ2h0IChDKSAxOTk4IC0gMjAyMCwgRGFuaWVsIFN0ZW5iZXJnLCA8ZGFuaWVsQGhheHguc2U+LCBldCBhbC4KICAqCiAgKiBUaGlzIHNvZnR3YXJlIGlzIGxpY2Vuc2VkIGFzIGRlc2NyaWJlZCBpbiB0aGUgZmlsZSBDT1BZSU5HLCB3aGljaAogICogeW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGFzIHBhcnQgb2YgdGhpcyBkaXN0cmlidXRpb24uIFRoZSB0ZXJtcwpAQCAtODEsMTEgKzgxLDExIEBACiB9IHpsaWJJbml0U3RhdGU7CiAKIC8qIFdyaXRlciBwYXJhbWV0ZXJzLiAqLwotdHlwZWRlZiBzdHJ1Y3Qgeworc3RydWN0IHpsaWJfcGFyYW1zIHsKICAgemxpYkluaXRTdGF0ZSB6bGliX2luaXQ7ICAgLyogemxpYiBpbml0IHN0YXRlICovCiAgIHVJbnQgdHJhaWxlcmxlbjsgICAgICAgICAgIC8qIFJlbWFpbmluZyB0cmFpbGVyIGJ5dGUgY291bnQuICovCiAgIHpfc3RyZWFtIHo7ICAgICAgICAgICAgICAgIC8qIFN0YXRlIHN0cnVjdHVyZSBmb3IgemxpYi4gKi8KLX0gIHpsaWJfcGFyYW1zOworfTsKIAogCiBzdGF0aWMgdm9pZHBmCkBAIC0xMzMsNyArMTMzLDggQEAKICAgcmV0dXJuIHJlc3VsdDsKIH0KIAotc3RhdGljIENVUkxjb2RlIHByb2Nlc3NfdHJhaWxlcihzdHJ1Y3QgY29ubmVjdGRhdGEgKmNvbm4sIHpsaWJfcGFyYW1zICp6cCkKK3N0YXRpYyBDVVJMY29kZSBwcm9jZXNzX3RyYWlsZXIoc3RydWN0IGNvbm5lY3RkYXRhICpjb25uLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJ1Y3QgemxpYl9wYXJhbXMgKnpwKQogewogICB6X3N0cmVhbSAqeiA9ICZ6cC0+ejsKICAgQ1VSTGNvZGUgcmVzdWx0ID0gQ1VSTEVfT0s7CkBAIC0xNTcsOSArMTU4LDEwIEBACiB9CiAKIHN0YXRpYyBDVVJMY29kZSBpbmZsYXRlX3N0cmVhbShzdHJ1Y3QgY29ubmVjdGRhdGEgKmNvbm4sCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29udGVuY193cml0ZXIgKndyaXRlciwgemxpYkluaXRTdGF0ZSBzdGFydGVkKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cnVjdCBjb250ZW5jX3dyaXRlciAqd3JpdGVyLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHpsaWJJbml0U3RhdGUgc3RhcnRlZCkKIHsKLSAgemxpYl9wYXJhbXMgKnpwID0gKHpsaWJfcGFyYW1zICopICZ3cml0ZXItPnBhcmFtczsKKyAgc3RydWN0IHpsaWJfcGFyYW1zICp6cCA9IChzdHJ1Y3QgemxpYl9wYXJhbXMgKikgJndyaXRlci0+cGFyYW1zOwogICB6X3N0cmVhbSAqeiA9ICZ6cC0+ejsgICAgICAgICAvKiB6bGliIHN0YXRlIHN0cnVjdHVyZSAqLwogICB1SW50IG5yZWFkID0gei0+YXZhaWxfaW47CiAgIEJ5dGVmICpvcmlnX2luID0gei0+bmV4dF9pbjsKQEAgLTI1OSw5ICsyNjEsOSBAQAogCiAvKiBEZWZsYXRlIGhhbmRsZXIuICovCiBzdGF0aWMgQ1VSTGNvZGUgZGVmbGF0ZV9pbml0X3dyaXRlcihzdHJ1Y3QgY29ubmVjdGRhdGEgKmNvbm4sCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb250ZW5jX3dyaXRlciAqd3JpdGVyKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RydWN0IGNvbnRlbmNfd3JpdGVyICp3cml0ZXIpCiB7Ci0gIHpsaWJfcGFyYW1zICp6cCA9ICh6bGliX3BhcmFtcyAqKSAmd3JpdGVyLT5wYXJhbXM7CisgIHN0cnVjdCB6bGliX3BhcmFtcyAqenAgPSAoc3RydWN0IHpsaWJfcGFyYW1zICopICZ3cml0ZXItPnBhcmFtczsKICAgel9zdHJlYW0gKnogPSAmenAtPno7ICAgICAvKiB6bGliIHN0YXRlIHN0cnVjdHVyZSAqLwogCiAgIGlmKCF3cml0ZXItPmRvd25zdHJlYW0pCkBAIC0yNzgsMTAgKzI4MCwxMCBAQAogfQogCiBzdGF0aWMgQ1VSTGNvZGUgZGVmbGF0ZV91bmVuY29kZV93cml0ZShzdHJ1Y3QgY29ubmVjdGRhdGEgKmNvbm4sCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb250ZW5jX3dyaXRlciAqd3JpdGVyLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RydWN0IGNvbnRlbmNfd3JpdGVyICp3cml0ZXIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBjaGFyICpidWYsIHNpemVfdCBuYnl0ZXMpCiB7Ci0gIHpsaWJfcGFyYW1zICp6cCA9ICh6bGliX3BhcmFtcyAqKSAmd3JpdGVyLT5wYXJhbXM7CisgIHN0cnVjdCB6bGliX3BhcmFtcyAqenAgPSAoc3RydWN0IHpsaWJfcGFyYW1zICopICZ3cml0ZXItPnBhcmFtczsKICAgel9zdHJlYW0gKnogPSAmenAtPno7ICAgICAvKiB6bGliIHN0YXRlIHN0cnVjdHVyZSAqLwogCiAgIC8qIFNldCB0aGUgY29tcHJlc3NlZCBpbnB1dCB3aGVuIHRoaXMgZnVuY3Rpb24gaXMgY2FsbGVkICovCkBAIC0yOTYsMjkgKzI5OCwyOSBAQAogfQogCiBzdGF0aWMgdm9pZCBkZWZsYXRlX2Nsb3NlX3dyaXRlcihzdHJ1Y3QgY29ubmVjdGRhdGEgKmNvbm4sCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb250ZW5jX3dyaXRlciAqd3JpdGVyKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RydWN0IGNvbnRlbmNfd3JpdGVyICp3cml0ZXIpCiB7Ci0gIHpsaWJfcGFyYW1zICp6cCA9ICh6bGliX3BhcmFtcyAqKSAmd3JpdGVyLT5wYXJhbXM7CisgIHN0cnVjdCB6bGliX3BhcmFtcyAqenAgPSAoc3RydWN0IHpsaWJfcGFyYW1zICopICZ3cml0ZXItPnBhcmFtczsKICAgel9zdHJlYW0gKnogPSAmenAtPno7ICAgICAvKiB6bGliIHN0YXRlIHN0cnVjdHVyZSAqLwogCiAgIGV4aXRfemxpYihjb25uLCB6LCAmenAtPnpsaWJfaW5pdCwgQ1VSTEVfT0spOwogfQogCi1zdGF0aWMgY29uc3QgY29udGVudF9lbmNvZGluZyBkZWZsYXRlX2VuY29kaW5nID0geworc3RhdGljIGNvbnN0IHN0cnVjdCBjb250ZW50X2VuY29kaW5nIGRlZmxhdGVfZW5jb2RpbmcgPSB7CiAgICJkZWZsYXRlIiwKICAgTlVMTCwKICAgZGVmbGF0ZV9pbml0X3dyaXRlciwKICAgZGVmbGF0ZV91bmVuY29kZV93cml0ZSwKICAgZGVmbGF0ZV9jbG9zZV93cml0ZXIsCi0gIHNpemVvZih6bGliX3BhcmFtcykKKyAgc2l6ZW9mKHN0cnVjdCB6bGliX3BhcmFtcykKIH07CiAKIAogLyogR3ppcCBoYW5kbGVyLiAqLwogc3RhdGljIENVUkxjb2RlIGd6aXBfaW5pdF93cml0ZXIoc3RydWN0IGNvbm5lY3RkYXRhICpjb25uLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29udGVuY193cml0ZXIgKndyaXRlcikKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cnVjdCBjb250ZW5jX3dyaXRlciAqd3JpdGVyKQogewotICB6bGliX3BhcmFtcyAqenAgPSAoemxpYl9wYXJhbXMgKikgJndyaXRlci0+cGFyYW1zOworICBzdHJ1Y3QgemxpYl9wYXJhbXMgKnpwID0gKHN0cnVjdCB6bGliX3BhcmFtcyAqKSAmd3JpdGVyLT5wYXJhbXM7CiAgIHpfc3RyZWFtICp6ID0gJnpwLT56OyAgICAgLyogemxpYiBzdGF0ZSBzdHJ1Y3R1cmUgKi8KIAogICBpZighd3JpdGVyLT5kb3duc3RyZWFtKQpAQCAtNDMyLDEwICs0MzQsMTAgQEAKICNlbmRpZgogCiBzdGF0aWMgQ1VSTGNvZGUgZ3ppcF91bmVuY29kZV93cml0ZShzdHJ1Y3QgY29ubmVjdGRhdGEgKmNvbm4sCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb250ZW5jX3dyaXRlciAqd3JpdGVyLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RydWN0IGNvbnRlbmNfd3JpdGVyICp3cml0ZXIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBjaGFyICpidWYsIHNpemVfdCBuYnl0ZXMpCiB7Ci0gIHpsaWJfcGFyYW1zICp6cCA9ICh6bGliX3BhcmFtcyAqKSAmd3JpdGVyLT5wYXJhbXM7CisgIHN0cnVjdCB6bGliX3BhcmFtcyAqenAgPSAoc3RydWN0IHpsaWJfcGFyYW1zICopICZ3cml0ZXItPnBhcmFtczsKICAgel9zdHJlYW0gKnogPSAmenAtPno7ICAgICAvKiB6bGliIHN0YXRlIHN0cnVjdHVyZSAqLwogCiAgIGlmKHpwLT56bGliX2luaXQgPT0gWkxJQl9JTklUX0daSVApIHsKQEAgLTU2MCwzMyArNTYyLDMxIEBACiB9CiAKIHN0YXRpYyB2b2lkIGd6aXBfY2xvc2Vfd3JpdGVyKHN0cnVjdCBjb25uZWN0ZGF0YSAqY29ubiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRlbmNfd3JpdGVyICp3cml0ZXIpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJ1Y3QgY29udGVuY193cml0ZXIgKndyaXRlcikKIHsKLSAgemxpYl9wYXJhbXMgKnpwID0gKHpsaWJfcGFyYW1zICopICZ3cml0ZXItPnBhcmFtczsKKyAgc3RydWN0IHpsaWJfcGFyYW1zICp6cCA9IChzdHJ1Y3QgemxpYl9wYXJhbXMgKikgJndyaXRlci0+cGFyYW1zOwogICB6X3N0cmVhbSAqeiA9ICZ6cC0+ejsgICAgIC8qIHpsaWIgc3RhdGUgc3RydWN0dXJlICovCiAKICAgZXhpdF96bGliKGNvbm4sIHosICZ6cC0+emxpYl9pbml0LCBDVVJMRV9PSyk7CiB9CiAKLXN0YXRpYyBjb25zdCBjb250ZW50X2VuY29kaW5nIGd6aXBfZW5jb2RpbmcgPSB7CitzdGF0aWMgY29uc3Qgc3RydWN0IGNvbnRlbnRfZW5jb2RpbmcgZ3ppcF9lbmNvZGluZyA9IHsKICAgImd6aXAiLAogICAieC1nemlwIiwKICAgZ3ppcF9pbml0X3dyaXRlciwKICAgZ3ppcF91bmVuY29kZV93cml0ZSwKICAgZ3ppcF9jbG9zZV93cml0ZXIsCi0gIHNpemVvZih6bGliX3BhcmFtcykKKyAgc2l6ZW9mKHN0cnVjdCB6bGliX3BhcmFtcykKIH07CiAKICNlbmRpZiAvKiBIQVZFX0xJQlogKi8KIAogCiAjaWZkZWYgSEFWRV9CUk9UTEkKLQogLyogV3JpdGVyIHBhcmFtZXRlcnMuICovCi10eXBlZGVmIHN0cnVjdCB7CitzdHJ1Y3QgYnJvdGxpX3BhcmFtcyB7CiAgIEJyb3RsaURlY29kZXJTdGF0ZSAqYnI7ICAgIC8qIFN0YXRlIHN0cnVjdHVyZSBmb3IgYnJvdGxpLiAqLwotfSAgYnJvdGxpX3BhcmFtczsKLQorfTsKIAogc3RhdGljIENVUkxjb2RlIGJyb3RsaV9tYXBfZXJyb3IoQnJvdGxpRGVjb2RlckVycm9yQ29kZSBiZSkKIHsKQEAgLTYyNywxMCArNjI3LDkgQEAKIH0KIAogc3RhdGljIENVUkxjb2RlIGJyb3RsaV9pbml0X3dyaXRlcihzdHJ1Y3QgY29ubmVjdGRhdGEgKmNvbm4sCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRlbmNfd3JpdGVyICp3cml0ZXIpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cnVjdCBjb250ZW5jX3dyaXRlciAqd3JpdGVyKQogewotICBicm90bGlfcGFyYW1zICpicCA9IChicm90bGlfcGFyYW1zICopICZ3cml0ZXItPnBhcmFtczsKLQorICBzdHJ1Y3QgYnJvdGxpX3BhcmFtcyAqYnAgPSAoc3RydWN0IGJyb3RsaV9wYXJhbXMgKikgJndyaXRlci0+cGFyYW1zOwogICAodm9pZCkgY29ubjsKIAogICBpZighd3JpdGVyLT5kb3duc3RyZWFtKQpAQCAtNjQxLDEwICs2NDAsMTAgQEAKIH0KIAogc3RhdGljIENVUkxjb2RlIGJyb3RsaV91bmVuY29kZV93cml0ZShzdHJ1Y3QgY29ubmVjdGRhdGEgKmNvbm4sCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRlbmNfd3JpdGVyICp3cml0ZXIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cnVjdCBjb250ZW5jX3dyaXRlciAqd3JpdGVyLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBjaGFyICpidWYsIHNpemVfdCBuYnl0ZXMpCiB7Ci0gIGJyb3RsaV9wYXJhbXMgKmJwID0gKGJyb3RsaV9wYXJhbXMgKikgJndyaXRlci0+cGFyYW1zOworICBzdHJ1Y3QgYnJvdGxpX3BhcmFtcyAqYnAgPSAoc3RydWN0IGJyb3RsaV9wYXJhbXMgKikgJndyaXRlci0+cGFyYW1zOwogICBjb25zdCB1aW50OF90ICpzcmMgPSAoY29uc3QgdWludDhfdCAqKSBidWY7CiAgIGNoYXIgKmRlY29tcDsKICAgdWludDhfdCAqZHN0OwpAQCAtNjg5LDEwICs2ODgsOSBAQAogfQogCiBzdGF0aWMgdm9pZCBicm90bGlfY2xvc2Vfd3JpdGVyKHN0cnVjdCBjb25uZWN0ZGF0YSAqY29ubiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29udGVuY193cml0ZXIgKndyaXRlcikKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RydWN0IGNvbnRlbmNfd3JpdGVyICp3cml0ZXIpCiB7Ci0gIGJyb3RsaV9wYXJhbXMgKmJwID0gKGJyb3RsaV9wYXJhbXMgKikgJndyaXRlci0+cGFyYW1zOwotCisgIHN0cnVjdCBicm90bGlfcGFyYW1zICpicCA9IChzdHJ1Y3QgYnJvdGxpX3BhcmFtcyAqKSAmd3JpdGVyLT5wYXJhbXM7CiAgICh2b2lkKSBjb25uOwogCiAgIGlmKGJwLT5icikgewpAQCAtNzAxLDQwICs2OTksNDAgQEAKICAgfQogfQogCi1zdGF0aWMgY29uc3QgY29udGVudF9lbmNvZGluZyBicm90bGlfZW5jb2RpbmcgPSB7CitzdGF0aWMgY29uc3Qgc3RydWN0IGNvbnRlbnRfZW5jb2RpbmcgYnJvdGxpX2VuY29kaW5nID0gewogICAiYnIiLAogICBOVUxMLAogICBicm90bGlfaW5pdF93cml0ZXIsCiAgIGJyb3RsaV91bmVuY29kZV93cml0ZSwKICAgYnJvdGxpX2Nsb3NlX3dyaXRlciwKLSAgc2l6ZW9mKGJyb3RsaV9wYXJhbXMpCisgIHNpemVvZihzdHJ1Y3QgYnJvdGxpX3BhcmFtcykKIH07CiAjZW5kaWYKIAogCiAvKiBJZGVudGl0eSBoYW5kbGVyLiAqLwogc3RhdGljIENVUkxjb2RlIGlkZW50aXR5X2luaXRfd3JpdGVyKHN0cnVjdCBjb25uZWN0ZGF0YSAqY29ubiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb250ZW5jX3dyaXRlciAqd3JpdGVyKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cnVjdCBjb250ZW5jX3dyaXRlciAqd3JpdGVyKQogewogICAodm9pZCkgY29ubjsKICAgcmV0dXJuIHdyaXRlci0+ZG93bnN0cmVhbT8gQ1VSTEVfT0s6IENVUkxFX1dSSVRFX0VSUk9SOwogfQogCiBzdGF0aWMgQ1VSTGNvZGUgaWRlbnRpdHlfdW5lbmNvZGVfd3JpdGUoc3RydWN0IGNvbm5lY3RkYXRhICpjb25uLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRlbmNfd3JpdGVyICp3cml0ZXIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RydWN0IGNvbnRlbmNfd3JpdGVyICp3cml0ZXIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgY2hhciAqYnVmLCBzaXplX3QgbmJ5dGVzKQogewogICByZXR1cm4gQ3VybF91bmVuY29kZV93cml0ZShjb25uLCB3cml0ZXItPmRvd25zdHJlYW0sIGJ1ZiwgbmJ5dGVzKTsKIH0KIAogc3RhdGljIHZvaWQgaWRlbnRpdHlfY2xvc2Vfd3JpdGVyKHN0cnVjdCBjb25uZWN0ZGF0YSAqY29ubiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb250ZW5jX3dyaXRlciAqd3JpdGVyKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cnVjdCBjb250ZW5jX3dyaXRlciAqd3JpdGVyKQogewogICAodm9pZCkgY29ubjsKICAgKHZvaWQpIHdyaXRlcjsKIH0KIAotc3RhdGljIGNvbnN0IGNvbnRlbnRfZW5jb2RpbmcgaWRlbnRpdHlfZW5jb2RpbmcgPSB7CitzdGF0aWMgY29uc3Qgc3RydWN0IGNvbnRlbnRfZW5jb2RpbmcgaWRlbnRpdHlfZW5jb2RpbmcgPSB7CiAgICJpZGVudGl0eSIsCiAgICJub25lIiwKICAgaWRlbnRpdHlfaW5pdF93cml0ZXIsCkBAIC03NDUsNyArNzQzLDcgQEAKIAogCiAvKiBzdXBwb3J0ZWQgY29udGVudCBlbmNvZGluZ3MgdGFibGUuICovCi1zdGF0aWMgY29uc3QgY29udGVudF9lbmNvZGluZyAqIGNvbnN0IGVuY29kaW5nc1tdID0geworc3RhdGljIGNvbnN0IHN0cnVjdCBjb250ZW50X2VuY29kaW5nICogY29uc3QgZW5jb2RpbmdzW10gPSB7CiAgICZpZGVudGl0eV9lbmNvZGluZywKICNpZmRlZiBIQVZFX0xJQloKICAgJmRlZmxhdGVfZW5jb2RpbmcsCkBAIC03NjIsOCArNzYwLDggQEAKIGNoYXIgKkN1cmxfYWxsX2NvbnRlbnRfZW5jb2RpbmdzKHZvaWQpCiB7CiAgIHNpemVfdCBsZW4gPSAwOwotICBjb25zdCBjb250ZW50X2VuY29kaW5nICogY29uc3QgKmNlcDsKLSAgY29uc3QgY29udGVudF9lbmNvZGluZyAqY2U7CisgIGNvbnN0IHN0cnVjdCBjb250ZW50X2VuY29kaW5nICogY29uc3QgKmNlcDsKKyAgY29uc3Qgc3RydWN0IGNvbnRlbnRfZW5jb2RpbmcgKmNlOwogICBjaGFyICphY2U7CiAKICAgZm9yKGNlcCA9IGVuY29kaW5nczsgKmNlcDsgY2VwKyspIHsKQEAgLTc5NiwxNCArNzk0LDE0IEBACiAKIC8qIFJlYWwgY2xpZW50IHdyaXRlcjogbm8gZG93bnN0cmVhbS4gKi8KIHN0YXRpYyBDVVJMY29kZSBjbGllbnRfaW5pdF93cml0ZXIoc3RydWN0IGNvbm5lY3RkYXRhICpjb25uLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb250ZW5jX3dyaXRlciAqd3JpdGVyKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJ1Y3QgY29udGVuY193cml0ZXIgKndyaXRlcikKIHsKICAgKHZvaWQpIGNvbm47CiAgIHJldHVybiB3cml0ZXItPmRvd25zdHJlYW0/IENVUkxFX1dSSVRFX0VSUk9SOiBDVVJMRV9PSzsKIH0KIAogc3RhdGljIENVUkxjb2RlIGNsaWVudF91bmVuY29kZV93cml0ZShzdHJ1Y3QgY29ubmVjdGRhdGEgKmNvbm4sCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRlbmNfd3JpdGVyICp3cml0ZXIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cnVjdCBjb250ZW5jX3dyaXRlciAqd3JpdGVyLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBjaGFyICpidWYsIHNpemVfdCBuYnl0ZXMpCiB7CiAgIHN0cnVjdCBDdXJsX2Vhc3kgKmRhdGEgPSBjb25uLT5kYXRhOwpAQCAtODE4LDEzICs4MTYsMTMgQEAKIH0KIAogc3RhdGljIHZvaWQgY2xpZW50X2Nsb3NlX3dyaXRlcihzdHJ1Y3QgY29ubmVjdGRhdGEgKmNvbm4sCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRlbmNfd3JpdGVyICp3cml0ZXIpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cnVjdCBjb250ZW5jX3dyaXRlciAqd3JpdGVyKQogewogICAodm9pZCkgY29ubjsKICAgKHZvaWQpIHdyaXRlcjsKIH0KIAotc3RhdGljIGNvbnN0IGNvbnRlbnRfZW5jb2RpbmcgY2xpZW50X2VuY29kaW5nID0geworc3RhdGljIGNvbnN0IHN0cnVjdCBjb250ZW50X2VuY29kaW5nIGNsaWVudF9lbmNvZGluZyA9IHsKICAgTlVMTCwKICAgTlVMTCwKICAgY2xpZW50X2luaXRfd3JpdGVyLApAQCAtODM2LDE0ICs4MzQsMTQgQEAKIAogLyogRGVmZXJyZWQgZXJyb3IgZHVtbXkgd3JpdGVyLiAqLwogc3RhdGljIENVUkxjb2RlIGVycm9yX2luaXRfd3JpdGVyKHN0cnVjdCBjb25uZWN0ZGF0YSAqY29ubiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb250ZW5jX3dyaXRlciAqd3JpdGVyKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cnVjdCBjb250ZW5jX3dyaXRlciAqd3JpdGVyKQogewogICAodm9pZCkgY29ubjsKICAgcmV0dXJuIHdyaXRlci0+ZG93bnN0cmVhbT8gQ1VSTEVfT0s6IENVUkxFX1dSSVRFX0VSUk9SOwogfQogCiBzdGF0aWMgQ1VSTGNvZGUgZXJyb3JfdW5lbmNvZGVfd3JpdGUoc3RydWN0IGNvbm5lY3RkYXRhICpjb25uLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRlbmNfd3JpdGVyICp3cml0ZXIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RydWN0IGNvbnRlbmNfd3JpdGVyICp3cml0ZXIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgY2hhciAqYnVmLCBzaXplX3QgbmJ5dGVzKQogewogICBjaGFyICphbGwgPSBDdXJsX2FsbF9jb250ZW50X2VuY29kaW5ncygpOwpAQCAtODYxLDEzICs4NTksMTMgQEAKIH0KIAogc3RhdGljIHZvaWQgZXJyb3JfY2xvc2Vfd3JpdGVyKHN0cnVjdCBjb25uZWN0ZGF0YSAqY29ubiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb250ZW5jX3dyaXRlciAqd3JpdGVyKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cnVjdCBjb250ZW5jX3dyaXRlciAqd3JpdGVyKQogewogICAodm9pZCkgY29ubjsKICAgKHZvaWQpIHdyaXRlcjsKIH0KIAotc3RhdGljIGNvbnN0IGNvbnRlbnRfZW5jb2RpbmcgZXJyb3JfZW5jb2RpbmcgPSB7CitzdGF0aWMgY29uc3Qgc3RydWN0IGNvbnRlbnRfZW5jb2RpbmcgZXJyb3JfZW5jb2RpbmcgPSB7CiAgIE5VTEwsCiAgIE5VTEwsCiAgIGVycm9yX2luaXRfd3JpdGVyLApAQCAtODc3LDEyICs4NzUsMTMgQEAKIH07CiAKIC8qIENyZWF0ZSBhbiB1bmVuY29kaW5nIHdyaXRlciBzdGFnZSB1c2luZyB0aGUgZ2l2ZW4gaGFuZGxlci4gKi8KLXN0YXRpYyBjb250ZW5jX3dyaXRlciAqbmV3X3VuZW5jb2Rpbmdfd3JpdGVyKHN0cnVjdCBjb25uZWN0ZGF0YSAqY29ubiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGNvbnRlbnRfZW5jb2RpbmcgKmhhbmRsZXIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb250ZW5jX3dyaXRlciAqZG93bnN0cmVhbSkKK3N0YXRpYyBzdHJ1Y3QgY29udGVuY193cml0ZXIgKgorbmV3X3VuZW5jb2Rpbmdfd3JpdGVyKHN0cnVjdCBjb25uZWN0ZGF0YSAqY29ubiwKKyAgICAgICAgICAgICAgICAgICAgICBjb25zdCBzdHJ1Y3QgY29udGVudF9lbmNvZGluZyAqaGFuZGxlciwKKyAgICAgICAgICAgICAgICAgICAgICBzdHJ1Y3QgY29udGVuY193cml0ZXIgKmRvd25zdHJlYW0pCiB7Ci0gIHNpemVfdCBzeiA9IG9mZnNldG9mKGNvbnRlbmNfd3JpdGVyLCBwYXJhbXMpICsgaGFuZGxlci0+cGFyYW1zaXplOwotICBjb250ZW5jX3dyaXRlciAqd3JpdGVyID0gKGNvbnRlbmNfd3JpdGVyICopIGNhbGxvYygxLCBzeik7CisgIHNpemVfdCBzeiA9IG9mZnNldG9mKHN0cnVjdCBjb250ZW5jX3dyaXRlciwgcGFyYW1zKSArIGhhbmRsZXItPnBhcmFtc2l6ZTsKKyAgc3RydWN0IGNvbnRlbmNfd3JpdGVyICp3cml0ZXIgPSAoc3RydWN0IGNvbnRlbmNfd3JpdGVyICopY2FsbG9jKDEsIHN6KTsKIAogICBpZih3cml0ZXIpIHsKICAgICB3cml0ZXItPmhhbmRsZXIgPSBoYW5kbGVyOwpAQCAtODk3LDcgKzg5Niw4IEBACiB9CiAKIC8qIFdyaXRlIGRhdGEgdXNpbmcgYW4gdW5lbmNvZGluZyB3cml0ZXIgc3RhY2suICovCi1DVVJMY29kZSBDdXJsX3VuZW5jb2RlX3dyaXRlKHN0cnVjdCBjb25uZWN0ZGF0YSAqY29ubiwgY29udGVuY193cml0ZXIgKndyaXRlciwKK0NVUkxjb2RlIEN1cmxfdW5lbmNvZGVfd3JpdGUoc3RydWN0IGNvbm5lY3RkYXRhICpjb25uLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJ1Y3QgY29udGVuY193cml0ZXIgKndyaXRlciwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgY2hhciAqYnVmLCBzaXplX3QgbmJ5dGVzKQogewogICBpZighbmJ5dGVzKQpAQCAtOTEwLDcgKzkxMCw3IEBACiB7CiAgIHN0cnVjdCBDdXJsX2Vhc3kgKmRhdGEgPSBjb25uLT5kYXRhOwogICBzdHJ1Y3QgU2luZ2xlUmVxdWVzdCAqayA9ICZkYXRhLT5yZXE7Ci0gIGNvbnRlbmNfd3JpdGVyICp3cml0ZXIgPSBrLT53cml0ZXJfc3RhY2s7CisgIHN0cnVjdCBjb250ZW5jX3dyaXRlciAqd3JpdGVyID0gay0+d3JpdGVyX3N0YWNrOwogCiAgIHdoaWxlKHdyaXRlcikgewogICAgIGstPndyaXRlcl9zdGFjayA9IHdyaXRlci0+ZG93bnN0cmVhbTsKQEAgLTkyMSwxMiArOTIxLDEzIEBACiB9CiAKIC8qIEZpbmQgdGhlIGNvbnRlbnQgZW5jb2RpbmcgYnkgbmFtZS4gKi8KLXN0YXRpYyBjb25zdCBjb250ZW50X2VuY29kaW5nICpmaW5kX2VuY29kaW5nKGNvbnN0IGNoYXIgKm5hbWUsIHNpemVfdCBsZW4pCitzdGF0aWMgY29uc3Qgc3RydWN0IGNvbnRlbnRfZW5jb2RpbmcgKmZpbmRfZW5jb2RpbmcoY29uc3QgY2hhciAqbmFtZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzaXplX3QgbGVuKQogewotICBjb25zdCBjb250ZW50X2VuY29kaW5nICogY29uc3QgKmNlcDsKKyAgY29uc3Qgc3RydWN0IGNvbnRlbnRfZW5jb2RpbmcgKiBjb25zdCAqY2VwOwogCiAgIGZvcihjZXAgPSBlbmNvZGluZ3M7ICpjZXA7IGNlcCsrKSB7Ci0gICAgY29uc3QgY29udGVudF9lbmNvZGluZyAqY2UgPSAqY2VwOworICAgIGNvbnN0IHN0cnVjdCBjb250ZW50X2VuY29kaW5nICpjZSA9ICpjZXA7CiAgICAgaWYoKHN0cm5jYXNlY29tcGFyZShuYW1lLCBjZS0+bmFtZSwgbGVuKSAmJiAhY2UtPm5hbWVbbGVuXSkgfHwKICAgICAgICAoY2UtPmFsaWFzICYmIHN0cm5jYXNlY29tcGFyZShuYW1lLCBjZS0+YWxpYXMsIGxlbikgJiYgIWNlLT5hbGlhc1tsZW5dKSkKICAgICAgIHJldHVybiBjZTsKQEAgLTk2Miw4ICs5NjMsOCBAQAogICAgICAgQ3VybF9odHRwY2h1bmtfaW5pdChjb25uKTsgICAvKiBpbml0IG91ciBjaHVua3kgZW5naW5lLiAqLwogICAgIH0KICAgICBlbHNlIGlmKG5hbWVsZW4pIHsKLSAgICAgIGNvbnN0IGNvbnRlbnRfZW5jb2RpbmcgKmVuY29kaW5nID0gZmluZF9lbmNvZGluZyhuYW1lLCBuYW1lbGVuKTsKLSAgICAgIGNvbnRlbmNfd3JpdGVyICp3cml0ZXI7CisgICAgICBjb25zdCBzdHJ1Y3QgY29udGVudF9lbmNvZGluZyAqZW5jb2RpbmcgPSBmaW5kX2VuY29kaW5nKG5hbWUsIG5hbWVsZW4pOworICAgICAgc3RydWN0IGNvbnRlbmNfd3JpdGVyICp3cml0ZXI7CiAKICAgICAgIGlmKCFrLT53cml0ZXJfc3RhY2spIHsKICAgICAgICAgay0+d3JpdGVyX3N0YWNrID0gbmV3X3VuZW5jb2Rpbmdfd3JpdGVyKGNvbm4sICZjbGllbnRfZW5jb2RpbmcsIE5VTEwpOwpAQCAtOTk3LDcgKzk5OCw4IEBACiAgIHJldHVybiBDVVJMRV9OT1RfQlVJTFRfSU47CiB9CiAKLUNVUkxjb2RlIEN1cmxfdW5lbmNvZGVfd3JpdGUoc3RydWN0IGNvbm5lY3RkYXRhICpjb25uLCBjb250ZW5jX3dyaXRlciAqd3JpdGVyLAorQ1VSTGNvZGUgQ3VybF91bmVuY29kZV93cml0ZShzdHJ1Y3QgY29ubmVjdGRhdGEgKmNvbm4sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cnVjdCBjb250ZW5jX3dyaXRlciAqd3JpdGVyLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBjaGFyICpidWYsIHNpemVfdCBuYnl0ZXMpCiB7CiAgICh2b2lkKSBjb25uOwpkaWZmIC0tZ2l0IGEvbGliL2NvbnRlbnRfZW5jb2RpbmcuaCBiL2xpYi9jb250ZW50X2VuY29kaW5nLmgKaW5kZXggNGNkNTJiZS4uYmRkM2YxYyAxMDA2NDQKLS0tIGEvbGliL2NvbnRlbnRfZW5jb2RpbmcuaAorKysgYi9saWIvY29udGVudF9lbmNvZGluZy5oCkBAIC03LDcgKzcsNyBAQAogICogICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAoX198IHxffCB8ICBfIDx8IHxfX18KICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcX19ffFxfX18vfF98IFxfXF9fX19ffAogICoKLSAqIENvcHlyaWdodCAoQykgMTk5OCAtIDIwMTcsIERhbmllbCBTdGVuYmVyZywgPGRhbmllbEBoYXh4LnNlPiwgZXQgYWwuCisgKiBDb3B5cmlnaHQgKEMpIDE5OTggLSAyMDIwLCBEYW5pZWwgU3RlbmJlcmcsIDxkYW5pZWxAaGF4eC5zZT4sIGV0IGFsLgogICoKICAqIFRoaXMgc29mdHdhcmUgaXMgbGljZW5zZWQgYXMgZGVzY3JpYmVkIGluIHRoZSBmaWxlIENPUFlJTkcsIHdoaWNoCiAgKiB5b3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYXMgcGFydCBvZiB0aGlzIGRpc3RyaWJ1dGlvbi4gVGhlIHRlcm1zCkBAIC0yMywzMSArMjMsMzEgQEAKICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCiAjaW5jbHVkZSAiY3VybF9zZXR1cC5oIgogCi0vKiBEZWNvZGluZyB3cml0ZXIuICovCi10eXBlZGVmIHN0cnVjdCBjb250ZW5jX3dyaXRlcl9zIGNvbnRlbmNfd3JpdGVyOwotdHlwZWRlZiBzdHJ1Y3QgY29udGVudF9lbmNvZGluZ19zIGNvbnRlbnRfZW5jb2Rpbmc7Ci0KLXN0cnVjdCBjb250ZW5jX3dyaXRlcl9zIHsKLSAgY29uc3QgY29udGVudF9lbmNvZGluZyAqaGFuZGxlcjsgIC8qIEVuY29kaW5nIGhhbmRsZXIuICovCi0gIGNvbnRlbmNfd3JpdGVyICpkb3duc3RyZWFtOyAgLyogRG93bnN0cmVhbSB3cml0ZXIuICovCitzdHJ1Y3QgY29udGVuY193cml0ZXIgeworICBjb25zdCBzdHJ1Y3QgY29udGVudF9lbmNvZGluZyAqaGFuZGxlcjsgIC8qIEVuY29kaW5nIGhhbmRsZXIuICovCisgIHN0cnVjdCBjb250ZW5jX3dyaXRlciAqZG93bnN0cmVhbTsgIC8qIERvd25zdHJlYW0gd3JpdGVyLiAqLwogICB2b2lkICpwYXJhbXM7ICAvKiBFbmNvZGluZy1zcGVjaWZpYyBzdG9yYWdlICh2YXJpYWJsZSBsZW5ndGgpLiAqLwogfTsKIAogLyogQ29udGVudCBlbmNvZGluZyB3cml0ZXIuICovCi1zdHJ1Y3QgY29udGVudF9lbmNvZGluZ19zIHsKK3N0cnVjdCBjb250ZW50X2VuY29kaW5nIHsKICAgY29uc3QgY2hhciAqbmFtZTsgICAgICAgIC8qIEVuY29kaW5nIG5hbWUuICovCiAgIGNvbnN0IGNoYXIgKmFsaWFzOyAgICAgICAvKiBFbmNvZGluZyBuYW1lIGFsaWFzLiAqLwotICBDVVJMY29kZSAoKmluaXRfd3JpdGVyKShzdHJ1Y3QgY29ubmVjdGRhdGEgKmNvbm4sIGNvbnRlbmNfd3JpdGVyICp3cml0ZXIpOwotICBDVVJMY29kZSAoKnVuZW5jb2RlX3dyaXRlKShzdHJ1Y3QgY29ubmVjdGRhdGEgKmNvbm4sIGNvbnRlbmNfd3JpdGVyICp3cml0ZXIsCisgIENVUkxjb2RlICgqaW5pdF93cml0ZXIpKHN0cnVjdCBjb25uZWN0ZGF0YSAqY29ubiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgc3RydWN0IGNvbnRlbmNfd3JpdGVyICp3cml0ZXIpOworICBDVVJMY29kZSAoKnVuZW5jb2RlX3dyaXRlKShzdHJ1Y3QgY29ubmVjdGRhdGEgKmNvbm4sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cnVjdCBjb250ZW5jX3dyaXRlciAqd3JpdGVyLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBjaGFyICpidWYsIHNpemVfdCBuYnl0ZXMpOwotICB2b2lkICgqY2xvc2Vfd3JpdGVyKShzdHJ1Y3QgY29ubmVjdGRhdGEgKmNvbm4sIGNvbnRlbmNfd3JpdGVyICp3cml0ZXIpOworICB2b2lkICgqY2xvc2Vfd3JpdGVyKShzdHJ1Y3QgY29ubmVjdGRhdGEgKmNvbm4sCisgICAgICAgICAgICAgICAgICAgICAgIHN0cnVjdCBjb250ZW5jX3dyaXRlciAqd3JpdGVyKTsKICAgc2l6ZV90IHBhcmFtc2l6ZTsKIH07CiAKIAogQ1VSTGNvZGUgQ3VybF9idWlsZF91bmVuY29kaW5nX3N0YWNrKHN0cnVjdCBjb25uZWN0ZGF0YSAqY29ubiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBjaGFyICplbmNsaXN0LCBpbnQgbWF5YmVjaHVua2VkKTsKLUNVUkxjb2RlIEN1cmxfdW5lbmNvZGVfd3JpdGUoc3RydWN0IGNvbm5lY3RkYXRhICpjb25uLCBjb250ZW5jX3dyaXRlciAqd3JpdGVyLAorQ1VSTGNvZGUgQ3VybF91bmVuY29kZV93cml0ZShzdHJ1Y3QgY29ubmVjdGRhdGEgKmNvbm4sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cnVjdCBjb250ZW5jX3dyaXRlciAqd3JpdGVyLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBjaGFyICpidWYsIHNpemVfdCBuYnl0ZXMpOwogdm9pZCBDdXJsX3VuZW5jb2RlX2NsZWFudXAoc3RydWN0IGNvbm5lY3RkYXRhICpjb25uKTsKIGNoYXIgKkN1cmxfYWxsX2NvbnRlbnRfZW5jb2RpbmdzKHZvaWQpOwpkaWZmIC0tZ2l0IGEvbGliL2Nvb2tpZS5jIGIvbGliL2Nvb2tpZS5jCmluZGV4IDY4MDU0ZTEuLmNiN2Q5NGIgMTAwNjQ0Ci0tLSBhL2xpYi9jb29raWUuYworKysgYi9saWIvY29va2llLmMKQEAgLTc1NSw3ICs3NTUsNyBAQAogICAgICAgICBjby0+cGF0aCA9IG1hbGxvYyhwYXRobGVuICsgMSk7IC8qIG9uZSBleHRyYSBmb3IgdGhlIHplcm8gYnl0ZSAqLwogICAgICAgICBpZihjby0+cGF0aCkgewogICAgICAgICAgIG1lbWNweShjby0+cGF0aCwgcGF0aCwgcGF0aGxlbik7Ci0gICAgICAgICAgY28tPnBhdGhbcGF0aGxlbl0gPSAwOyAvKiB6ZXJvIHRlcm1pbmF0ZSAqLworICAgICAgICAgIGNvLT5wYXRoW3BhdGhsZW5dID0gMDsgLyogbnVsbC10ZXJtaW5hdGUgKi8KICAgICAgICAgICBjby0+c3BhdGggPSBzYW5pdGl6ZV9jb29raWVfcGF0aChjby0+cGF0aCk7CiAgICAgICAgICAgaWYoIWNvLT5zcGF0aCkKICAgICAgICAgICAgIGJhZGNvb2tpZSA9IFRSVUU7IC8qIG91dCBvZiBtZW1vcnkgYmFkICovCmRpZmYgLS1naXQgYS9saWIvY3VybF9hZGRyaW5mby5jIGIvbGliL2N1cmxfYWRkcmluZm8uYwppbmRleCBiMmRkODM0Li45NDdkMGQzIDEwMDY0NAotLS0gYS9saWIvY3VybF9hZGRyaW5mby5jCisrKyBiL2xpYi9jdXJsX2FkZHJpbmZvLmMKQEAgLTc4LDE2ICs3OCwxMyBAQAogI2VuZGlmCiAKIHZvaWQKLUN1cmxfZnJlZWFkZHJpbmZvKEN1cmxfYWRkcmluZm8gKmNhaGVhZCkKK0N1cmxfZnJlZWFkZHJpbmZvKHN0cnVjdCBDdXJsX2FkZHJpbmZvICpjYWhlYWQpCiB7Ci0gIEN1cmxfYWRkcmluZm8gKnZxdWFsaWZpZXIgY2FuZXh0OwotICBDdXJsX2FkZHJpbmZvICpjYTsKKyAgc3RydWN0IEN1cmxfYWRkcmluZm8gKnZxdWFsaWZpZXIgY2FuZXh0OworICBzdHJ1Y3QgQ3VybF9hZGRyaW5mbyAqY2E7CiAKLSAgZm9yKGNhID0gY2FoZWFkOyBjYSAhPSBOVUxMOyBjYSA9IGNhbmV4dCkgewotICAgIGZyZWUoY2EtPmFpX2FkZHIpOwotICAgIGZyZWUoY2EtPmFpX2Nhbm9ubmFtZSk7CisgIGZvcihjYSA9IGNhaGVhZDsgY2E7IGNhID0gY2FuZXh0KSB7CiAgICAgY2FuZXh0ID0gY2EtPmFpX25leHQ7Ci0KICAgICBmcmVlKGNhKTsKICAgfQogfQpAQCAtMTEyLDEzICsxMDksMTMgQEAKIEN1cmxfZ2V0YWRkcmluZm9fZXgoY29uc3QgY2hhciAqbm9kZW5hbWUsCiAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGNoYXIgKnNlcnZuYW1lLAogICAgICAgICAgICAgICAgICAgICBjb25zdCBzdHJ1Y3QgYWRkcmluZm8gKmhpbnRzLAotICAgICAgICAgICAgICAgICAgICBDdXJsX2FkZHJpbmZvICoqcmVzdWx0KQorICAgICAgICAgICAgICAgICAgICBzdHJ1Y3QgQ3VybF9hZGRyaW5mbyAqKnJlc3VsdCkKIHsKICAgY29uc3Qgc3RydWN0IGFkZHJpbmZvICphaTsKICAgc3RydWN0IGFkZHJpbmZvICphaWhlYWQ7Ci0gIEN1cmxfYWRkcmluZm8gKmNhZmlyc3QgPSBOVUxMOwotICBDdXJsX2FkZHJpbmZvICpjYWxhc3QgPSBOVUxMOwotICBDdXJsX2FkZHJpbmZvICpjYTsKKyAgc3RydWN0IEN1cmxfYWRkcmluZm8gKmNhZmlyc3QgPSBOVUxMOworICBzdHJ1Y3QgQ3VybF9hZGRyaW5mbyAqY2FsYXN0ID0gTlVMTDsKKyAgc3RydWN0IEN1cmxfYWRkcmluZm8gKmNhOwogICBzaXplX3Qgc3Nfc2l6ZTsKICAgaW50IGVycm9yOwogCkBAIC0xMzEsNyArMTI4LDcgQEAKICAgLyogdHJhdmVyc2UgdGhlIGFkZHJpbmZvIGxpc3QgKi8KIAogICBmb3IoYWkgPSBhaWhlYWQ7IGFpICE9IE5VTEw7IGFpID0gYWktPmFpX25leHQpIHsKLQorICAgIHNpemVfdCBuYW1lbGVuID0gYWktPmFpX2Nhbm9ubmFtZSA/IHN0cmxlbihhaS0+YWlfY2Fub25uYW1lKSArIDEgOiAwOwogICAgIC8qIGlnbm9yZSBlbGVtZW50cyB3aXRoIHVuc3VwcG9ydGVkIGFkZHJlc3MgZmFtaWx5LCAqLwogICAgIC8qIHNldHRsZSBmYW1pbHktc3BlY2lmaWMgc29ja2FkZHIgc3RydWN0dXJlIHNpemUuICAqLwogICAgIGlmKGFpLT5haV9mYW1pbHkgPT0gQUZfSU5FVCkKQEAgLTE1MSw3ICsxNDgsNyBAQAogICAgIGlmKChzaXplX3QpYWktPmFpX2FkZHJsZW4gPCBzc19zaXplKQogICAgICAgY29udGludWU7CiAKLSAgICBjYSA9IG1hbGxvYyhzaXplb2YoQ3VybF9hZGRyaW5mbykpOworICAgIGNhID0gbWFsbG9jKHNpemVvZihzdHJ1Y3QgQ3VybF9hZGRyaW5mbykgKyBzc19zaXplICsgbmFtZWxlbik7CiAgICAgaWYoIWNhKSB7CiAgICAgICBlcnJvciA9IEVBSV9NRU1PUlk7CiAgICAgICBicmVhazsKQEAgLTE2OSwyMiArMTY2LDEyIEBACiAgICAgY2EtPmFpX2Nhbm9ubmFtZSA9IE5VTEw7CiAgICAgY2EtPmFpX25leHQgICAgICA9IE5VTEw7CiAKLSAgICBjYS0+YWlfYWRkciA9IG1hbGxvYyhzc19zaXplKTsKLSAgICBpZighY2EtPmFpX2FkZHIpIHsKLSAgICAgIGVycm9yID0gRUFJX01FTU9SWTsKLSAgICAgIGZyZWUoY2EpOwotICAgICAgYnJlYWs7Ci0gICAgfQorICAgIGNhLT5haV9hZGRyID0gKHZvaWQgKikoKGNoYXIgKiljYSArIHNpemVvZihzdHJ1Y3QgQ3VybF9hZGRyaW5mbykpOwogICAgIG1lbWNweShjYS0+YWlfYWRkciwgYWktPmFpX2FkZHIsIHNzX3NpemUpOwogCi0gICAgaWYoYWktPmFpX2Nhbm9ubmFtZSAhPSBOVUxMKSB7Ci0gICAgICBjYS0+YWlfY2Fub25uYW1lID0gc3RyZHVwKGFpLT5haV9jYW5vbm5hbWUpOwotICAgICAgaWYoIWNhLT5haV9jYW5vbm5hbWUpIHsKLSAgICAgICAgZXJyb3IgPSBFQUlfTUVNT1JZOwotICAgICAgICBmcmVlKGNhLT5haV9hZGRyKTsKLSAgICAgICAgZnJlZShjYSk7Ci0gICAgICAgIGJyZWFrOwotICAgICAgfQorICAgIGlmKG5hbWVsZW4pIHsKKyAgICAgIGNhLT5haV9jYW5vbm5hbWUgPSAodm9pZCAqKSgoY2hhciAqKWNhLT5haV9hZGRyICsgc3Nfc2l6ZSk7CisgICAgICBtZW1jcHkoY2EtPmFpX2Nhbm9ubmFtZSwgYWktPmFpX2Nhbm9ubmFtZSwgbmFtZWxlbik7CiAgICAgfQogCiAgICAgLyogaWYgdGhlIHJldHVybiBsaXN0IGlzIGVtcHR5LCB0aGlzIGJlY29tZXMgdGhlIGZpcnN0IGVsZW1lbnQgKi8KQEAgLTI1Miw3ICsyMzksNiBAQAogICogICAgICAgc3RydWN0IHNvY2thZGRyICAgICAgKmFpX2FkZHI7CiAgKiAgICAgICBzdHJ1Y3QgQ3VybF9hZGRyaW5mbyAqYWlfbmV4dDsKICAqICAgICB9OwotICogICAgIHR5cGVkZWYgc3RydWN0IEN1cmxfYWRkcmluZm8gQ3VybF9hZGRyaW5mbzsKICAqCiAgKiAgIGhvc3RlbnQgZGVmaW5lZCBpbiA8bmV0ZGIuaD4KICAqCkBAIC0yNjksMTIgKzI1NSwxMiBAQAogICogICAgICNkZWZpbmUgaF9hZGRyICBoX2FkZHJfbGlzdFswXQogICovCiAKLUN1cmxfYWRkcmluZm8gKgorc3RydWN0IEN1cmxfYWRkcmluZm8gKgogQ3VybF9oZTJhaShjb25zdCBzdHJ1Y3QgaG9zdGVudCAqaGUsIGludCBwb3J0KQogewotICBDdXJsX2FkZHJpbmZvICphaTsKLSAgQ3VybF9hZGRyaW5mbyAqcHJldmFpID0gTlVMTDsKLSAgQ3VybF9hZGRyaW5mbyAqZmlyc3RhaSA9IE5VTEw7CisgIHN0cnVjdCBDdXJsX2FkZHJpbmZvICphaTsKKyAgc3RydWN0IEN1cmxfYWRkcmluZm8gKnByZXZhaSA9IE5VTEw7CisgIHN0cnVjdCBDdXJsX2FkZHJpbmZvICpmaXJzdGFpID0gTlVMTDsKICAgc3RydWN0IHNvY2thZGRyX2luICphZGRyOwogI2lmZGVmIEVOQUJMRV9JUFY2CiAgIHN0cnVjdCBzb2NrYWRkcl9pbjYgKmFkZHI2OwpAQCAtMjkwLDggKzI3Niw4IEBACiAgIERFQlVHQVNTRVJUKChoZS0+aF9uYW1lICE9IE5VTEwpICYmIChoZS0+aF9hZGRyX2xpc3QgIT0gTlVMTCkpOwogCiAgIGZvcihpID0gMDsgKGN1cnIgPSBoZS0+aF9hZGRyX2xpc3RbaV0pICE9IE5VTEw7IGkrKykgewotCiAgICAgc2l6ZV90IHNzX3NpemU7CisgICAgc2l6ZV90IG5hbWVsZW4gPSBzdHJsZW4oaGUtPmhfbmFtZSkgKyAxOyAvKiBpbmNsdWRlIHplcm8gdGVybWluYXRpb24gKi8KICNpZmRlZiBFTkFCTEVfSVBWNgogICAgIGlmKGhlLT5oX2FkZHJ0eXBlID09IEFGX0lORVQ2KQogICAgICAgc3Nfc2l6ZSA9IHNpemVvZihzdHJ1Y3Qgc29ja2FkZHJfaW42KTsKQEAgLTI5OSwyNCArMjg1LDE3IEBACiAjZW5kaWYKICAgICAgIHNzX3NpemUgPSBzaXplb2Yoc3RydWN0IHNvY2thZGRyX2luKTsKIAotICAgIGFpID0gY2FsbG9jKDEsIHNpemVvZihDdXJsX2FkZHJpbmZvKSk7CisgICAgLyogYWxsb2NhdGUgbWVtb3J5IHRvIHRvbGQgdGhlIHN0cnVjdCwgdGhlIGFkZHJlc3MgYW5kIHRoZSBuYW1lICovCisgICAgYWkgPSBjYWxsb2MoMSwgc2l6ZW9mKHN0cnVjdCBDdXJsX2FkZHJpbmZvKSArIHNzX3NpemUgKyBuYW1lbGVuKTsKICAgICBpZighYWkpIHsKICAgICAgIHJlc3VsdCA9IENVUkxFX09VVF9PRl9NRU1PUlk7CiAgICAgICBicmVhazsKICAgICB9Ci0gICAgYWktPmFpX2Nhbm9ubmFtZSA9IHN0cmR1cChoZS0+aF9uYW1lKTsKLSAgICBpZighYWktPmFpX2Nhbm9ubmFtZSkgewotICAgICAgcmVzdWx0ID0gQ1VSTEVfT1VUX09GX01FTU9SWTsKLSAgICAgIGZyZWUoYWkpOwotICAgICAgYnJlYWs7Ci0gICAgfQotICAgIGFpLT5haV9hZGRyID0gY2FsbG9jKDEsIHNzX3NpemUpOwotICAgIGlmKCFhaS0+YWlfYWRkcikgewotICAgICAgcmVzdWx0ID0gQ1VSTEVfT1VUX09GX01FTU9SWTsKLSAgICAgIGZyZWUoYWktPmFpX2Nhbm9ubmFtZSk7Ci0gICAgICBmcmVlKGFpKTsKLSAgICAgIGJyZWFrOwotICAgIH0KKyAgICAvKiBwdXQgdGhlIGFkZHJlc3MgYWZ0ZXIgdGhlIHN0cnVjdCAqLworICAgIGFpLT5haV9hZGRyID0gKHZvaWQgKikoKGNoYXIgKilhaSArIHNpemVvZihzdHJ1Y3QgQ3VybF9hZGRyaW5mbykpOworICAgIC8qIHRoZW4gcHV0IHRoZSBuYW1lIGFmdGVyIHRoZSBhZGRyZXNzICovCisgICAgYWktPmFpX2Nhbm9ubmFtZSA9IChjaGFyICopYWktPmFpX2FkZHIgKyBzc19zaXplOworICAgIG1lbWNweShhaS0+YWlfY2Fub25uYW1lLCBoZS0+aF9uYW1lLCBuYW1lbGVuKTsKIAogICAgIGlmKCFmaXJzdGFpKQogICAgICAgLyogc3RvcmUgdGhlIHBvaW50ZXIgd2Ugd2FudCB0byByZXR1cm4gZnJvbSB0aGlzIGZ1bmN0aW9uICovCkBAIC0zODksMTAgKzM2OCwxMCBAQAogICogZ2l2ZW4gYWRkcmVzcy9ob3N0CiAgKi8KIAotQ3VybF9hZGRyaW5mbyAqCitzdHJ1Y3QgQ3VybF9hZGRyaW5mbyAqCiBDdXJsX2lwMmFkZHIoaW50IGFmLCBjb25zdCB2b2lkICppbmFkZHIsIGNvbnN0IGNoYXIgKmhvc3RuYW1lLCBpbnQgcG9ydCkKIHsKLSAgQ3VybF9hZGRyaW5mbyAqYWk7CisgIHN0cnVjdCBDdXJsX2FkZHJpbmZvICphaTsKIAogI2lmIGRlZmluZWQoX19WTVMpICYmIFwKICAgICBkZWZpbmVkKF9fSU5JVElBTF9QT0lOVEVSX1NJWkUpICYmIChfX0lOSVRJQUxfUE9JTlRFUl9TSVpFID09IDY0KQpAQCAtNDY1LDcgKzQ0NCw3IEBACiAgKiBHaXZlbiBhbiBJUHY0IG9yIElQdjYgZG90dGVkIHN0cmluZyBhZGRyZXNzLCB0aGlzIGNvbnZlcnRzIGl0IHRvIGEgcHJvcGVyCiAgKiBhbGxvY2F0ZWQgQ3VybF9hZGRyaW5mbyBzdHJ1Y3QgYW5kIHJldHVybnMgaXQuCiAgKi8KLUN1cmxfYWRkcmluZm8gKkN1cmxfc3RyMmFkZHIoY2hhciAqYWRkcmVzcywgaW50IHBvcnQpCitzdHJ1Y3QgQ3VybF9hZGRyaW5mbyAqQ3VybF9zdHIyYWRkcihjaGFyICphZGRyZXNzLCBpbnQgcG9ydCkKIHsKICAgc3RydWN0IGluX2FkZHIgaW47CiAgIGlmKEN1cmxfaW5ldF9wdG9uKEFGX0lORVQsIGFkZHJlc3MsICZpbikgPiAwKQpAQCAtNDg4LDIyICs0NjcsMTkgQEAKICAqIHN0cnVjdCBpbml0aWFsaXplZCB3aXRoIHRoaXMgcGF0aC4KICAqIFNldCAnKmxvbmdwYXRoJyB0byBUUlVFIGlmIHRoZSBlcnJvciBpcyBhIHRvbyBsb25nIHBhdGguCiAgKi8KLUN1cmxfYWRkcmluZm8gKkN1cmxfdW5peDJhZGRyKGNvbnN0IGNoYXIgKnBhdGgsIGJvb2wgKmxvbmdwYXRoLCBib29sIGFic3RyYWN0KQorc3RydWN0IEN1cmxfYWRkcmluZm8gKkN1cmxfdW5peDJhZGRyKGNvbnN0IGNoYXIgKnBhdGgsIGJvb2wgKmxvbmdwYXRoLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJvb2wgYWJzdHJhY3QpCiB7Ci0gIEN1cmxfYWRkcmluZm8gKmFpOworICBzdHJ1Y3QgQ3VybF9hZGRyaW5mbyAqYWk7CiAgIHN0cnVjdCBzb2NrYWRkcl91biAqc2FfdW47CiAgIHNpemVfdCBwYXRoX2xlbjsKIAogICAqbG9uZ3BhdGggPSBGQUxTRTsKIAotICBhaSA9IGNhbGxvYygxLCBzaXplb2YoQ3VybF9hZGRyaW5mbykpOworICBhaSA9IGNhbGxvYygxLCBzaXplb2Yoc3RydWN0IEN1cmxfYWRkcmluZm8pICsgc2l6ZW9mKHN0cnVjdCBzb2NrYWRkcl91bikpOwogICBpZighYWkpCiAgICAgcmV0dXJuIE5VTEw7Ci0gIGFpLT5haV9hZGRyID0gY2FsbG9jKDEsIHNpemVvZihzdHJ1Y3Qgc29ja2FkZHJfdW4pKTsKLSAgaWYoIWFpLT5haV9hZGRyKSB7Ci0gICAgZnJlZShhaSk7Ci0gICAgcmV0dXJuIE5VTEw7Ci0gIH0KKyAgYWktPmFpX2FkZHIgPSAodm9pZCAqKSgoY2hhciAqKWFpICsgc2l6ZW9mKHN0cnVjdCBDdXJsX2FkZHJpbmZvKSk7CiAKICAgc2FfdW4gPSAodm9pZCAqKSBhaS0+YWlfYWRkcjsKICAgc2FfdW4tPnN1bl9mYW1pbHkgPSBBRl9VTklYOwpAQCAtNTExLDcgKzQ4Nyw2IEBACiAgIC8qIHN1bl9wYXRoIG11c3QgYmUgYWJsZSB0byBzdG9yZSB0aGUgTlVMLXRlcm1pbmF0ZWQgcGF0aCAqLwogICBwYXRoX2xlbiA9IHN0cmxlbihwYXRoKSArIDE7CiAgIGlmKHBhdGhfbGVuID4gc2l6ZW9mKHNhX3VuLT5zdW5fcGF0aCkpIHsKLSAgICBmcmVlKGFpLT5haV9hZGRyKTsKICAgICBmcmVlKGFpKTsKICAgICAqbG9uZ3BhdGggPSBUUlVFOwogICAgIHJldHVybiBOVUxMOwpAQCAtNTk0LDkgKzU2OSw5IEBACiAgKiBXb3JrLWFyb3VuZHMgdGhlIHNpbjZfcG9ydCBpcyBhbHdheXMgemVybyBidWcgb24gaU9TIDkuMy4yIGFuZCBNYWMgT1MgWAogICogMTAuMTEuNS4KICAqLwotdm9pZCBDdXJsX2FkZHJpbmZvX3NldF9wb3J0KEN1cmxfYWRkcmluZm8gKmFkZHJpbmZvLCBpbnQgcG9ydCkKK3ZvaWQgQ3VybF9hZGRyaW5mb19zZXRfcG9ydChzdHJ1Y3QgQ3VybF9hZGRyaW5mbyAqYWRkcmluZm8sIGludCBwb3J0KQogewotICBDdXJsX2FkZHJpbmZvICpjYTsKKyAgc3RydWN0IEN1cmxfYWRkcmluZm8gKmNhOwogICBzdHJ1Y3Qgc29ja2FkZHJfaW4gKmFkZHI7CiAjaWZkZWYgRU5BQkxFX0lQVjYKICAgc3RydWN0IHNvY2thZGRyX2luNiAqYWRkcjY7CmRpZmYgLS1naXQgYS9saWIvY3VybF9hZGRyaW5mby5oIGIvbGliL2N1cmxfYWRkcmluZm8uaAppbmRleCAyMDVlMTIxLi5hMGNhZGU2IDEwMDY0NAotLS0gYS9saWIvY3VybF9hZGRyaW5mby5oCisrKyBiL2xpYi9jdXJsX2FkZHJpbmZvLmgKQEAgLTcsNyArNyw3IEBACiAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICB8IChfX3wgfF98IHwgIF8gPHwgfF9fXwogICogICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxfX198XF9fXy98X3wgXF9cX19fX198CiAgKgotICogQ29weXJpZ2h0IChDKSAxOTk4IC0gMjAxOSwgRGFuaWVsIFN0ZW5iZXJnLCA8ZGFuaWVsQGhheHguc2U+LCBldCBhbC4KKyAqIENvcHlyaWdodCAoQykgMTk5OCAtIDIwMjAsIERhbmllbCBTdGVuYmVyZywgPGRhbmllbEBoYXh4LnNlPiwgZXQgYWwuCiAgKgogICogVGhpcyBzb2Z0d2FyZSBpcyBsaWNlbnNlZCBhcyBkZXNjcmliZWQgaW4gdGhlIGZpbGUgQ09QWUlORywgd2hpY2gKICAqIHlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhcyBwYXJ0IG9mIHRoaXMgZGlzdHJpYnV0aW9uLiBUaGUgdGVybXMKQEAgLTQwLDcgKzQwLDYgQEAKICMgIGluY2x1ZGUgPHN0ZGxpYi5oPgogI2VuZGlmCiAKLQogLyoKICAqIEN1cmxfYWRkcmluZm8gaXMgb3VyIGludGVybmFsIHN0cnVjdCBkZWZpbml0aW9uIHRoYXQgd2UgdXNlIHRvIGFsbG93CiAgKiBjb25zaXN0ZW50IGludGVybmFsIGhhbmRsaW5nIG9mIHRoaXMgZGF0YS4gV2UgdXNlIHRoaXMgZXZlbiB3aGVuIHRoZQpAQCAtNTgsMjkgKzU3LDI5IEBACiAgIHN0cnVjdCBzb2NrYWRkciAgICAgICphaV9hZGRyOwogICBzdHJ1Y3QgQ3VybF9hZGRyaW5mbyAqYWlfbmV4dDsKIH07Ci10eXBlZGVmIHN0cnVjdCBDdXJsX2FkZHJpbmZvIEN1cmxfYWRkcmluZm87CiAKIHZvaWQKLUN1cmxfZnJlZWFkZHJpbmZvKEN1cmxfYWRkcmluZm8gKmNhaGVhZCk7CitDdXJsX2ZyZWVhZGRyaW5mbyhzdHJ1Y3QgQ3VybF9hZGRyaW5mbyAqY2FoZWFkKTsKIAogI2lmZGVmIEhBVkVfR0VUQUREUklORk8KIGludAogQ3VybF9nZXRhZGRyaW5mb19leChjb25zdCBjaGFyICpub2RlbmFtZSwKICAgICAgICAgICAgICAgICAgICAgY29uc3QgY2hhciAqc2Vydm5hbWUsCiAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHN0cnVjdCBhZGRyaW5mbyAqaGludHMsCi0gICAgICAgICAgICAgICAgICAgIEN1cmxfYWRkcmluZm8gKipyZXN1bHQpOworICAgICAgICAgICAgICAgICAgICBzdHJ1Y3QgQ3VybF9hZGRyaW5mbyAqKnJlc3VsdCk7CiAjZW5kaWYKIAotQ3VybF9hZGRyaW5mbyAqCitzdHJ1Y3QgQ3VybF9hZGRyaW5mbyAqCiBDdXJsX2hlMmFpKGNvbnN0IHN0cnVjdCBob3N0ZW50ICpoZSwgaW50IHBvcnQpOwogCi1DdXJsX2FkZHJpbmZvICoKK3N0cnVjdCBDdXJsX2FkZHJpbmZvICoKIEN1cmxfaXAyYWRkcihpbnQgYWYsIGNvbnN0IHZvaWQgKmluYWRkciwgY29uc3QgY2hhciAqaG9zdG5hbWUsIGludCBwb3J0KTsKIAotQ3VybF9hZGRyaW5mbyAqQ3VybF9zdHIyYWRkcihjaGFyICpkb3R0ZWQsIGludCBwb3J0KTsKK3N0cnVjdCBDdXJsX2FkZHJpbmZvICpDdXJsX3N0cjJhZGRyKGNoYXIgKmRvdHRlZCwgaW50IHBvcnQpOwogCiAjaWZkZWYgVVNFX1VOSVhfU09DS0VUUwotQ3VybF9hZGRyaW5mbyAqQ3VybF91bml4MmFkZHIoY29uc3QgY2hhciAqcGF0aCwgYm9vbCAqbG9uZ3BhdGgsIGJvb2wgYWJzdHJhY3QpOworc3RydWN0IEN1cmxfYWRkcmluZm8gKkN1cmxfdW5peDJhZGRyKGNvbnN0IGNoYXIgKnBhdGgsIGJvb2wgKmxvbmdwYXRoLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJvb2wgYWJzdHJhY3QpOwogI2VuZGlmCiAKICNpZiBkZWZpbmVkKENVUkxERUJVRykgJiYgZGVmaW5lZChIQVZFX0dFVEFERFJJTkZPKSAmJiBcCkBAIC05OCw3ICs5Nyw3IEBACiAKICNpZmRlZiBIQVZFX0dFVEFERFJJTkZPCiAjaWZkZWYgVVNFX1JFU09MVkVfT05fSVBTCi12b2lkIEN1cmxfYWRkcmluZm9fc2V0X3BvcnQoQ3VybF9hZGRyaW5mbyAqYWRkcmluZm8sIGludCBwb3J0KTsKK3ZvaWQgQ3VybF9hZGRyaW5mb19zZXRfcG9ydChzdHJ1Y3QgQ3VybF9hZGRyaW5mbyAqYWRkcmluZm8sIGludCBwb3J0KTsKICNlbHNlCiAjZGVmaW5lIEN1cmxfYWRkcmluZm9fc2V0X3BvcnQoeCx5KQogI2VuZGlmCmRpZmYgLS1naXQgYS9saWIvY3VybF9jb25maWcuaCBiL2xpYi9jdXJsX2NvbmZpZy5oCmluZGV4IDIxY2QyZjguLjU3Njk5OGEgMTAwNjQ0Ci0tLSBhL2xpYi9jdXJsX2NvbmZpZy5oCisrKyBiL2xpYi9jdXJsX2NvbmZpZy5oCkBAIC01NTMsNiArNTUzLDkgQEAKIC8qIERlZmluZSB0byAxIGlmIHlvdSBoYXZlIHRoZSA8cHdkLmg+IGhlYWRlciBmaWxlLiAqLwogI2RlZmluZSBIQVZFX1BXRF9IIDEKIAorLyogRGVmaW5lIHRvIDEgaWYgeW91IGhhdmUgdGhlIGBxdWljaGVfY29ubl9zZXRfcWxvZ19mZCcgZnVuY3Rpb24uICovCisvKiAjdW5kZWYgSEFWRV9RVUlDSEVfQ09OTl9TRVRfUUxPR19GRCAqLworCiAvKiBEZWZpbmUgdG8gMSBpZiB5b3UgaGF2ZSB0aGUgPHF1aWNoZS5oPiBoZWFkZXIgZmlsZS4gKi8KIC8qICN1bmRlZiBIQVZFX1FVSUNIRV9IICovCiAKQEAgLTY5MSw2ICs2OTQsOSBAQAogLyogRGVmaW5lIHRvIDEgaWYgeW91IGhhdmUgdGhlIHRpbWV2YWwgc3RydWN0LiAqLwogI2RlZmluZSBIQVZFX1NUUlVDVF9USU1FVkFMIDEKIAorLyogRGVmaW5lIHRvIDEgaWYgc3VzZWNvbmRzX3QgaXMgYW4gYXZhaWxhYmxlIHR5cGUuICovCisjZGVmaW5lIEhBVkVfU1VTRUNPTkRTX1QgMQorCiAvKiBEZWZpbmUgdG8gMSBpZiB5b3UgaGF2ZSB0aGUgPHN5cy9maWxpby5oPiBoZWFkZXIgZmlsZS4gKi8KIC8qICN1bmRlZiBIQVZFX1NZU19GSUxJT19IICovCiAKQEAgLTc5Myw2ICs3OTksOSBAQAogLyogRGVmaW5lIHRvIDEgaWYgeW91IGhhdmUgdGhlIGB3b2xmU1NMdjNfY2xpZW50X21ldGhvZCcgZnVuY3Rpb24uICovCiAvKiAjdW5kZWYgSEFWRV9XT0xGU1NMVjNfQ0xJRU5UX01FVEhPRCAqLwogCisvKiBpZiB5b3UgaGF2ZSB3b2xmU1NMX0RFU19zZXRfb2RkX3Bhcml0eSAqLworLyogI3VuZGVmIEhBVkVfV09MRlNTTF9ERVNfU0VUX09ERF9QQVJJVFkgKi8KKwogLyogRGVmaW5lIHRvIDEgaWYgeW91IGhhdmUgdGhlIGB3b2xmU1NMX2dldF9wZWVyX2NlcnRpZmljYXRlJyBmdW5jdGlvbi4gKi8KIC8qICN1bmRlZiBIQVZFX1dPTEZTU0xfR0VUX1BFRVJfQ0VSVElGSUNBVEUgKi8KIApkaWZmIC0tZ2l0IGEvbGliL2N1cmxfY29uZmlnLmguY21ha2UgYi9saWIvY3VybF9jb25maWcuaC5jbWFrZQppbmRleCA1N2E4NmU1Li4wNWE1YWNiIDEwMDY0NAotLS0gYS9saWIvY3VybF9jb25maWcuaC5jbWFrZQorKysgYi9saWIvY3VybF9jb25maWcuaC5jbWFrZQpAQCAtNDI4LDYgKzQyOCw5IEBACiAvKiBEZWZpbmUgdG8gMSBpZiB5b3UgaGF2ZSB0aGUgPGxpYnNzaDIuaD4gaGVhZGVyIGZpbGUuICovCiAjY21ha2VkZWZpbmUgSEFWRV9MSUJTU0gyX0ggMQogCisvKiBEZWZpbmUgdG8gMSBpZiB5b3UgaGF2ZSB0aGUgPGxpYnNzaC9saWJzc2guaD4gaGVhZGVyIGZpbGUuICovCisjY21ha2VkZWZpbmUgSEFWRV9MSUJTU0hfTElCU1NIX0ggMQorCiAvKiBpZiB6bGliIGlzIGF2YWlsYWJsZSAqLwogI2NtYWtlZGVmaW5lIEhBVkVfTElCWiAxCiAKQEAgLTk2OSw2ICs5NzIsOSBAQAogLyogaWYgV29sZlNTTCBpcyBlbmFibGVkICovCiAjY21ha2VkZWZpbmUgVVNFX1dPTEZTU0wgMQogCisvKiBpZiBsaWJTU0ggaXMgaW4gdXNlICovCisjY21ha2VkZWZpbmUgVVNFX0xJQlNTSCAxCisKIC8qIGlmIGxpYlNTSDIgaXMgaW4gdXNlICovCiAjY21ha2VkZWZpbmUgVVNFX0xJQlNTSDIgMQogCkBAIC05OTAsOSArOTk2LDI0IEBACiAvKiB0byBlbmFibGUgTkdIVFRQMiAgKi8KICNjbWFrZWRlZmluZSBVU0VfTkdIVFRQMiAxCiAKKy8qIHRvIGVuYWJsZSBOR1RDUDIgKi8KKyNjbWFrZWRlZmluZSBVU0VfTkdUQ1AyIDEKKworLyogdG8gZW5hYmxlIE5HSFRUUDMgICovCisjY21ha2VkZWZpbmUgVVNFX05HSFRUUDMgMQorCisvKiB0byBlbmFibGUgcXVpY2hlICovCisjY21ha2VkZWZpbmUgVVNFX1FVSUNIRSAxCisKKy8qIERlZmluZSB0byAxIGlmIHlvdSBoYXZlIHRoZSBxdWljaGVfY29ubl9zZXRfcWxvZ19mZCBmdW5jdGlvbi4gKi8KKyNjbWFrZWRlZmluZSBIQVZFX1FVSUNIRV9DT05OX1NFVF9RTE9HX0ZEIDEKKwogLyogaWYgVW5peCBkb21haW4gc29ja2V0cyBhcmUgZW5hYmxlZCAgKi8KICNjbWFrZWRlZmluZSBVU0VfVU5JWF9TT0NLRVRTCiAKKy8qIHRvIGVuYWJsZSBhbHQtc3ZjICovCisjY21ha2VkZWZpbmUgVVNFX0FMVFNWQyAxCisKIC8qIERlZmluZSB0byAxIGlmIHlvdSBhcmUgYnVpbGRpbmcgYSBXaW5kb3dzIHRhcmdldCB3aXRoIGxhcmdlIGZpbGUgc3VwcG9ydC4gKi8KICNjbWFrZWRlZmluZSBVU0VfV0lOMzJfTEFSR0VfRklMRVMgMQogCmRpZmYgLS1naXQgYS9saWIvY3VybF9jb25maWcuaC5pbiBiL2xpYi9jdXJsX2NvbmZpZy5oLmluCmluZGV4IGFiYjZjMDcuLmRjNzkyZjQgMTAwNjQ0Ci0tLSBhL2xpYi9jdXJsX2NvbmZpZy5oLmluCisrKyBiL2xpYi9jdXJsX2NvbmZpZy5oLmluCkBAIC01NTIsNiArNTUyLDkgQEAKIC8qIERlZmluZSB0byAxIGlmIHlvdSBoYXZlIHRoZSA8cHdkLmg+IGhlYWRlciBmaWxlLiAqLwogI3VuZGVmIEhBVkVfUFdEX0gKIAorLyogRGVmaW5lIHRvIDEgaWYgeW91IGhhdmUgdGhlIGBxdWljaGVfY29ubl9zZXRfcWxvZ19mZCcgZnVuY3Rpb24uICovCisjdW5kZWYgSEFWRV9RVUlDSEVfQ09OTl9TRVRfUUxPR19GRAorCiAvKiBEZWZpbmUgdG8gMSBpZiB5b3UgaGF2ZSB0aGUgPHF1aWNoZS5oPiBoZWFkZXIgZmlsZS4gKi8KICN1bmRlZiBIQVZFX1FVSUNIRV9ICiAKQEAgLTY5MCw2ICs2OTMsOSBAQAogLyogRGVmaW5lIHRvIDEgaWYgeW91IGhhdmUgdGhlIHRpbWV2YWwgc3RydWN0LiAqLwogI3VuZGVmIEhBVkVfU1RSVUNUX1RJTUVWQUwKIAorLyogRGVmaW5lIHRvIDEgaWYgc3VzZWNvbmRzX3QgaXMgYW4gYXZhaWxhYmxlIHR5cGUuICovCisjdW5kZWYgSEFWRV9TVVNFQ09ORFNfVAorCiAvKiBEZWZpbmUgdG8gMSBpZiB5b3UgaGF2ZSB0aGUgPHN5cy9maWxpby5oPiBoZWFkZXIgZmlsZS4gKi8KICN1bmRlZiBIQVZFX1NZU19GSUxJT19ICiAKQEAgLTc5Miw2ICs3OTgsOSBAQAogLyogRGVmaW5lIHRvIDEgaWYgeW91IGhhdmUgdGhlIGB3b2xmU1NMdjNfY2xpZW50X21ldGhvZCcgZnVuY3Rpb24uICovCiAjdW5kZWYgSEFWRV9XT0xGU1NMVjNfQ0xJRU5UX01FVEhPRAogCisvKiBpZiB5b3UgaGF2ZSB3b2xmU1NMX0RFU19zZXRfb2RkX3Bhcml0eSAqLworI3VuZGVmIEhBVkVfV09MRlNTTF9ERVNfU0VUX09ERF9QQVJJVFkKKwogLyogRGVmaW5lIHRvIDEgaWYgeW91IGhhdmUgdGhlIGB3b2xmU1NMX2dldF9wZWVyX2NlcnRpZmljYXRlJyBmdW5jdGlvbi4gKi8KICN1bmRlZiBIQVZFX1dPTEZTU0xfR0VUX1BFRVJfQ0VSVElGSUNBVEUKIApkaWZmIC0tZ2l0IGEvbGliL2N1cmxfaG1hYy5oIGIvbGliL2N1cmxfaG1hYy5oCmluZGV4IDNmZjc5OWIuLjliNzBjODQgMTAwNjQ0Ci0tLSBhL2xpYi9jdXJsX2htYWMuaAorKysgYi9saWIvY3VybF9obWFjLmgKQEAgLTM0LDM3ICszNCwzNSBAQAogCiAKIC8qIFBlci1oYXNoIGZ1bmN0aW9uIEhNQUMgcGFyYW1ldGVycy4gKi8KLQotdHlwZWRlZiBzdHJ1Y3QgewotICBITUFDX2hpbml0X2Z1bmMgICAgICAgaG1hY19oaW5pdDsgICAgIC8qIEluaXRpYWxpemUgY29udGV4dCBwcm9jZWR1cmUuICovCitzdHJ1Y3QgSE1BQ19wYXJhbXMgeworICBITUFDX2hpbml0X2Z1bmMKKyAgaG1hY19oaW5pdDsgICAgIC8qIEluaXRpYWxpemUgY29udGV4dCBwcm9jZWR1cmUuICovCiAgIEhNQUNfaHVwZGF0ZV9mdW5jICAgICBobWFjX2h1cGRhdGU7ICAgLyogVXBkYXRlIGNvbnRleHQgd2l0aCBkYXRhLiAqLwogICBITUFDX2hmaW5hbF9mdW5jICAgICAgaG1hY19oZmluYWw7ICAgIC8qIEdldCBmaW5hbCByZXN1bHQgcHJvY2VkdXJlLiAqLwogICB1bnNpZ25lZCBpbnQgICAgICAgICAgaG1hY19jdHh0c2l6ZTsgIC8qIENvbnRleHQgc3RydWN0dXJlIHNpemUuICovCiAgIHVuc2lnbmVkIGludCAgICAgICAgICBobWFjX21heGtleWxlbjsgLyogTWF4aW11bSBrZXkgbGVuZ3RoIChieXRlcykuICovCiAgIHVuc2lnbmVkIGludCAgICAgICAgICBobWFjX3Jlc3VsdGxlbjsgLyogUmVzdWx0IGxlbmd0aCAoYnl0ZXMpLiAqLwotfSBITUFDX3BhcmFtczsKK307CiAKIAogLyogSE1BQyBjb21wdXRhdGlvbiBjb250ZXh0LiAqLwotCi10eXBlZGVmIHN0cnVjdCB7Ci0gIGNvbnN0IEhNQUNfcGFyYW1zICpobWFjX2hhc2g7IC8qIEhhc2ggZnVuY3Rpb24gZGVmaW5pdGlvbi4gKi8KK3N0cnVjdCBITUFDX2NvbnRleHQgeworICBjb25zdCBzdHJ1Y3QgSE1BQ19wYXJhbXMgKmhtYWNfaGFzaDsgLyogSGFzaCBmdW5jdGlvbiBkZWZpbml0aW9uLiAqLwogICB2b2lkICpobWFjX2hhc2hjdHh0MTsgICAgICAgICAvKiBIYXNoIGZ1bmN0aW9uIGNvbnRleHQgMS4gKi8KICAgdm9pZCAqaG1hY19oYXNoY3R4dDI7ICAgICAgICAgLyogSGFzaCBmdW5jdGlvbiBjb250ZXh0IDIuICovCi19IEhNQUNfY29udGV4dDsKK307CiAKIAogLyogUHJvdG90eXBlcy4gKi8KLQotSE1BQ19jb250ZXh0ICogQ3VybF9ITUFDX2luaXQoY29uc3QgSE1BQ19wYXJhbXMgKmhhc2hwYXJhbXMsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1bnNpZ25lZCBjaGFyICprZXksCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1bnNpZ25lZCBpbnQga2V5bGVuKTsKLWludCBDdXJsX0hNQUNfdXBkYXRlKEhNQUNfY29udGV4dCAqY29udGV4dCwKK3N0cnVjdCBITUFDX2NvbnRleHQgKkN1cmxfSE1BQ19pbml0KGNvbnN0IHN0cnVjdCBITUFDX3BhcmFtcyAqaGFzaHBhcmFtcywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVuc2lnbmVkIGNoYXIgKmtleSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVuc2lnbmVkIGludCBrZXlsZW4pOworaW50IEN1cmxfSE1BQ191cGRhdGUoc3RydWN0IEhNQUNfY29udGV4dCAqY29udGV4dCwKICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVuc2lnbmVkIGNoYXIgKmRhdGEsCiAgICAgICAgICAgICAgICAgICAgICB1bnNpZ25lZCBpbnQgbGVuKTsKLWludCBDdXJsX0hNQUNfZmluYWwoSE1BQ19jb250ZXh0ICpjb250ZXh0LCB1bnNpZ25lZCBjaGFyICpyZXN1bHQpOworaW50IEN1cmxfSE1BQ19maW5hbChzdHJ1Y3QgSE1BQ19jb250ZXh0ICpjb250ZXh0LCB1bnNpZ25lZCBjaGFyICpyZXN1bHQpOwogCi1DVVJMY29kZSBDdXJsX2htYWNpdChjb25zdCBITUFDX3BhcmFtcyAqaGFzaHBhcmFtcywKK0NVUkxjb2RlIEN1cmxfaG1hY2l0KGNvbnN0IHN0cnVjdCBITUFDX3BhcmFtcyAqaGFzaHBhcmFtcywKICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVuc2lnbmVkIGNoYXIgKmtleSwgY29uc3Qgc2l6ZV90IGtleWxlbiwKICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVuc2lnbmVkIGNoYXIgKmRhdGEsIGNvbnN0IHNpemVfdCBkYXRhbGVuLAogICAgICAgICAgICAgICAgICAgICAgdW5zaWduZWQgY2hhciAqb3V0cHV0KTsKZGlmZiAtLWdpdCBhL2xpYi9jdXJsX21kNS5oIGIvbGliL2N1cmxfbWQ1LmgKaW5kZXggZGQ0NjQ0MS4uZTA2YzY4ZSAxMDA2NDQKLS0tIGEvbGliL2N1cmxfbWQ1LmgKKysrIGIvbGliL2N1cmxfbWQ1LmgKQEAgLTMzLDMwICszMywzMCBAQAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1bnNpZ25lZCBpbnQgbGVuKTsKIHR5cGVkZWYgdm9pZCAoKiBDdXJsX01ENV9maW5hbF9mdW5jKSh1bnNpZ25lZCBjaGFyICpyZXN1bHQsIHZvaWQgKmNvbnRleHQpOwogCi10eXBlZGVmIHN0cnVjdCB7CitzdHJ1Y3QgTUQ1X3BhcmFtcyB7CiAgIEN1cmxfTUQ1X2luaXRfZnVuYyAgICAgbWQ1X2luaXRfZnVuYzsgICAvKiBJbml0aWFsaXplIGNvbnRleHQgcHJvY2VkdXJlICovCiAgIEN1cmxfTUQ1X3VwZGF0ZV9mdW5jICAgbWQ1X3VwZGF0ZV9mdW5jOyAvKiBVcGRhdGUgY29udGV4dCB3aXRoIGRhdGEgKi8KICAgQ3VybF9NRDVfZmluYWxfZnVuYyAgICBtZDVfZmluYWxfZnVuYzsgIC8qIEdldCBmaW5hbCByZXN1bHQgcHJvY2VkdXJlICovCiAgIHVuc2lnbmVkIGludCAgICAgICAgICAgbWQ1X2N0eHRzaXplOyAgLyogQ29udGV4dCBzdHJ1Y3R1cmUgc2l6ZSAqLwogICB1bnNpZ25lZCBpbnQgICAgICAgICAgIG1kNV9yZXN1bHRsZW47IC8qIFJlc3VsdCBsZW5ndGggKGJ5dGVzKSAqLwotfSBNRDVfcGFyYW1zOworfTsKIAotdHlwZWRlZiBzdHJ1Y3QgewotICBjb25zdCBNRDVfcGFyYW1zICAgICAgKm1kNV9oYXNoOyAgICAgIC8qIEhhc2ggZnVuY3Rpb24gZGVmaW5pdGlvbiAqLworc3RydWN0IE1ENV9jb250ZXh0IHsKKyAgY29uc3Qgc3RydWN0IE1ENV9wYXJhbXMgKm1kNV9oYXNoOyAgICAvKiBIYXNoIGZ1bmN0aW9uIGRlZmluaXRpb24gKi8KICAgdm9pZCAgICAgICAgICAgICAgICAgICptZDVfaGFzaGN0eDsgICAvKiBIYXNoIGZ1bmN0aW9uIGNvbnRleHQgKi8KLX0gTUQ1X2NvbnRleHQ7Cit9OwogCi1leHRlcm4gY29uc3QgTUQ1X3BhcmFtcyBDdXJsX0RJR0VTVF9NRDVbMV07Ci1leHRlcm4gY29uc3QgSE1BQ19wYXJhbXMgQ3VybF9ITUFDX01ENVsxXTsKK2V4dGVybiBjb25zdCBzdHJ1Y3QgTUQ1X3BhcmFtcyBDdXJsX0RJR0VTVF9NRDVbMV07CitleHRlcm4gY29uc3Qgc3RydWN0IEhNQUNfcGFyYW1zIEN1cmxfSE1BQ19NRDVbMV07CiAKIHZvaWQgQ3VybF9tZDVpdCh1bnNpZ25lZCBjaGFyICpvdXRwdXQsIGNvbnN0IHVuc2lnbmVkIGNoYXIgKmlucHV0LAogICAgICAgICAgICAgICAgIGNvbnN0IHNpemVfdCBsZW4pOwogCi1NRDVfY29udGV4dCAqIEN1cmxfTUQ1X2luaXQoY29uc3QgTUQ1X3BhcmFtcyAqbWQ1cGFyYW1zKTsKLUNVUkxjb2RlIEN1cmxfTUQ1X3VwZGF0ZShNRDVfY29udGV4dCAqY29udGV4dCwKK3N0cnVjdCBNRDVfY29udGV4dCAqQ3VybF9NRDVfaW5pdChjb25zdCBzdHJ1Y3QgTUQ1X3BhcmFtcyAqbWQ1cGFyYW1zKTsKK0NVUkxjb2RlIEN1cmxfTUQ1X3VwZGF0ZShzdHJ1Y3QgTUQ1X2NvbnRleHQgKmNvbnRleHQsCiAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdW5zaWduZWQgY2hhciAqZGF0YSwKICAgICAgICAgICAgICAgICAgICAgICAgICB1bnNpZ25lZCBpbnQgbGVuKTsKLUNVUkxjb2RlIEN1cmxfTUQ1X2ZpbmFsKE1ENV9jb250ZXh0ICpjb250ZXh0LCB1bnNpZ25lZCBjaGFyICpyZXN1bHQpOworQ1VSTGNvZGUgQ3VybF9NRDVfZmluYWwoc3RydWN0IE1ENV9jb250ZXh0ICpjb250ZXh0LCB1bnNpZ25lZCBjaGFyICpyZXN1bHQpOwogCiAjZW5kaWYKIApkaWZmIC0tZ2l0IGEvbGliL2N1cmxfbXVsdGlieXRlLmMgYi9saWIvY3VybF9tdWx0aWJ5dGUuYwppbmRleCBlMzg0MzQ0Li4yYzg5MjViIDEwMDY0NAotLS0gYS9saWIvY3VybF9tdWx0aWJ5dGUuYworKysgYi9saWIvY3VybF9tdWx0aWJ5dGUuYwpAQCAtNSw3ICs1LDcgQEAKICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgKF9ffCB8X3wgfCAgXyA8fCB8X19fCiAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXF9fX3xcX19fL3xffCBcX1xfX19fX3wKICAqCi0gKiBDb3B5cmlnaHQgKEMpIDE5OTggLSAyMDE5LCBEYW5pZWwgU3RlbmJlcmcsIDxkYW5pZWxAaGF4eC5zZT4sIGV0IGFsLgorICogQ29weXJpZ2h0IChDKSAxOTk4IC0gMjAyMCwgRGFuaWVsIFN0ZW5iZXJnLCA8ZGFuaWVsQGhheHguc2U+LCBldCBhbC4KICAqCiAgKiBUaGlzIHNvZnR3YXJlIGlzIGxpY2Vuc2VkIGFzIGRlc2NyaWJlZCBpbiB0aGUgZmlsZSBDT1BZSU5HLCB3aGljaAogICogeW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGFzIHBhcnQgb2YgdGhpcyBkaXN0cmlidXRpb24uIFRoZSB0ZXJtcwpAQCAtMjAsMjQgKzIwLDIxIEBACiAgKgogICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KIAorLyoKKyAqIFRoaXMgZmlsZSBpcyAnbWVtLWluY2x1ZGUtc2NhbicgY2xlYW4uIFNlZSB0ZXN0IDExMzIuCisgKi8KKwogI2luY2x1ZGUgImN1cmxfc2V0dXAuaCIKIAotI2luY2x1ZGUgPGN1cmwvY3VybC5oPgotCi0jaWYgZGVmaW5lZChVU0VfV0lOMzJfSUROKSB8fCAoKGRlZmluZWQoVVNFX1dJTkRPV1NfU1NQSSkgfHwgXAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkZWZpbmVkKFVTRV9XSU4zMl9MREFQKSkgJiYgZGVmaW5lZChVTklDT0RFKSkKLQotIC8qCi0gICogTXVsdGlCeXRlIGNvbnZlcnNpb25zIHVzaW5nIFdpbmRvd3Mga2VybmVsMzIgbGlicmFyeS4KLSAgKi8KKyNpZiBkZWZpbmVkKFdJTjMyKQogCiAjaW5jbHVkZSAiY3VybF9tdWx0aWJ5dGUuaCIKLSNpbmNsdWRlICJjdXJsX21lbW9yeS5oIgogCi0vKiBUaGUgbGFzdCAjaW5jbHVkZSBmaWxlIHNob3VsZCBiZTogKi8KLSNpbmNsdWRlICJtZW1kZWJ1Zy5oIgorLyoKKyAqIE11bHRpQnl0ZSBjb252ZXJzaW9ucyB1c2luZyBXaW5kb3dzIGtlcm5lbDMyIGxpYnJhcnkuCisgKi8KIAotd2NoYXJfdCAqQ3VybF9jb252ZXJ0X1VURjhfdG9fd2NoYXIoY29uc3QgY2hhciAqc3RyX3V0ZjgpCit3Y2hhcl90ICpjdXJseF9jb252ZXJ0X1VURjhfdG9fd2NoYXIoY29uc3QgY2hhciAqc3RyX3V0ZjgpCiB7CiAgIHdjaGFyX3QgKnN0cl93ID0gTlVMTDsKIApAQCAtNTksNyArNTYsNyBAQAogICByZXR1cm4gc3RyX3c7CiB9CiAKLWNoYXIgKkN1cmxfY29udmVydF93Y2hhcl90b19VVEY4KGNvbnN0IHdjaGFyX3QgKnN0cl93KQorY2hhciAqY3VybHhfY29udmVydF93Y2hhcl90b19VVEY4KGNvbnN0IHdjaGFyX3QgKnN0cl93KQogewogICBjaGFyICpzdHJfdXRmOCA9IE5VTEw7CiAKQEAgLTgxLDQgKzc4LDc2IEBACiAgIHJldHVybiBzdHJfdXRmODsKIH0KIAotI2VuZGlmIC8qIFVTRV9XSU4zMl9JRE4gfHwgKChVU0VfV0lORE9XU19TU1BJIHx8IFVTRV9XSU4zMl9MREFQKSAmJiBVTklDT0RFKSAqLworI2VuZGlmIC8qIFdJTjMyICovCisKKyNpZiBkZWZpbmVkKFVTRV9XSU4zMl9MQVJHRV9GSUxFUykgfHwgZGVmaW5lZChVU0VfV0lOMzJfU01BTExfRklMRVMpCisKK0ZJTEUgKmN1cmx4X3dpbjMyX2ZvcGVuKGNvbnN0IGNoYXIgKmZpbGVuYW1lLCBjb25zdCBjaGFyICptb2RlKQoreworI2lmZGVmIF9VTklDT0RFCisgIEZJTEUgKnJlc3VsdCA9IE5VTEw7CisgIHdjaGFyX3QgKmZpbGVuYW1lX3cgPSBjdXJseF9jb252ZXJ0X1VURjhfdG9fd2NoYXIoZmlsZW5hbWUpOworICB3Y2hhcl90ICptb2RlX3cgPSBjdXJseF9jb252ZXJ0X1VURjhfdG9fd2NoYXIobW9kZSk7CisgIGlmKGZpbGVuYW1lX3cgJiYgbW9kZV93KQorICAgIHJlc3VsdCA9IF93Zm9wZW4oZmlsZW5hbWVfdywgbW9kZV93KTsKKyAgZnJlZShmaWxlbmFtZV93KTsKKyAgZnJlZShtb2RlX3cpOworICBpZihyZXN1bHQpCisgICAgcmV0dXJuIHJlc3VsdDsKKyNlbmRpZgorCisgIHJldHVybiAoZm9wZW4pKGZpbGVuYW1lLCBtb2RlKTsKK30KKworaW50IGN1cmx4X3dpbjMyX3N0YXQoY29uc3QgY2hhciAqcGF0aCwgc3RydWN0X3N0YXQgKmJ1ZmZlcikKK3sKKyAgaW50IHJlc3VsdCA9IC0xOworI2lmZGVmIF9VTklDT0RFCisgIHdjaGFyX3QgKnBhdGhfdyA9IGN1cmx4X2NvbnZlcnRfVVRGOF90b193Y2hhcihwYXRoKTsKKyNlbmRpZiAvKiBfVU5JQ09ERSAqLworCisjaWYgZGVmaW5lZChVU0VfV0lOMzJfU01BTExfRklMRVMpCisjaWYgZGVmaW5lZChfVU5JQ09ERSkKKyAgaWYocGF0aF93KQorICAgIHJlc3VsdCA9IF93c3RhdChwYXRoX3csIGJ1ZmZlcik7CisgIGVsc2UKKyNlbmRpZiAvKiBfVU5JQ09ERSAqLworICAgIHJlc3VsdCA9IF9zdGF0KHBhdGgsIGJ1ZmZlcik7CisjZWxzZSAvKiBVU0VfV0lOMzJfU01BTExfRklMRVMgKi8KKyNpZiBkZWZpbmVkKF9VTklDT0RFKQorICBpZihwYXRoX3cpCisgICAgcmVzdWx0ID0gX3dzdGF0aTY0KHBhdGhfdywgYnVmZmVyKTsKKyAgZWxzZQorI2VuZGlmIC8qIF9VTklDT0RFICovCisgICAgcmVzdWx0ID0gX3N0YXRpNjQocGF0aCwgYnVmZmVyKTsKKyNlbmRpZiAvKiBVU0VfV0lOMzJfU01BTExfRklMRVMgKi8KKworI2lmZGVmIF9VTklDT0RFCisgIGZyZWUocGF0aF93KTsKKyNlbmRpZgorCisgIHJldHVybiByZXN1bHQ7Cit9CisKK2ludCBjdXJseF93aW4zMl9hY2Nlc3MoY29uc3QgY2hhciAqcGF0aCwgaW50IG1vZGUpCit7CisgICAgaW50IHJlc3VsdCA9IC0xOworI2lmZGVmIF9VTklDT0RFCisgICAgd2NoYXJfdCAqcGF0aF93ID0gY3VybHhfY29udmVydF9VVEY4X3RvX3djaGFyKHBhdGgpOworI2VuZGlmIC8qIF9VTklDT0RFICovCisKKyNpZiBkZWZpbmVkKF9VTklDT0RFKQorICAgIGlmKHBhdGhfdykKKyAgICAgICAgcmVzdWx0ID0gX3dhY2Nlc3MocGF0aF93LCBtb2RlKTsKKyAgICBlbHNlCisjZW5kaWYgLyogX1VOSUNPREUgKi8KKyAgICAgICAgcmVzdWx0ID0gX2FjY2VzcyhwYXRoLCBtb2RlKTsKKworI2lmZGVmIF9VTklDT0RFCisgICAgZnJlZShwYXRoX3cpOworI2VuZGlmCisKKyAgICByZXR1cm4gcmVzdWx0OworfQorCisjZW5kaWYgLyogVVNFX1dJTjMyX0xBUkdFX0ZJTEVTIHx8IFVTRV9XSU4zMl9TTUFMTF9GSUxFUyAqLwpkaWZmIC0tZ2l0IGEvbGliL2N1cmxfbXVsdGlieXRlLmggYi9saWIvY3VybF9tdWx0aWJ5dGUuaAppbmRleCAzYmVjZjQxLi41ZjhjMDVhIDEwMDY0NAotLS0gYS9saWIvY3VybF9tdWx0aWJ5dGUuaAorKysgYi9saWIvY3VybF9tdWx0aWJ5dGUuaApAQCAtNyw3ICs3LDcgQEAKICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgKF9ffCB8X3wgfCAgXyA8fCB8X19fCiAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXF9fX3xcX19fL3xffCBcX1xfX19fX3wKICAqCi0gKiBDb3B5cmlnaHQgKEMpIDE5OTggLSAyMDE5LCBEYW5pZWwgU3RlbmJlcmcsIDxkYW5pZWxAaGF4eC5zZT4sIGV0IGFsLgorICogQ29weXJpZ2h0IChDKSAxOTk4IC0gMjAyMCwgRGFuaWVsIFN0ZW5iZXJnLCA8ZGFuaWVsQGhheHguc2U+LCBldCBhbC4KICAqCiAgKiBUaGlzIHNvZnR3YXJlIGlzIGxpY2Vuc2VkIGFzIGRlc2NyaWJlZCBpbiB0aGUgZmlsZSBDT1BZSU5HLCB3aGljaAogICogeW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGFzIHBhcnQgb2YgdGhpcyBkaXN0cmlidXRpb24uIFRoZSB0ZXJtcwpAQCAtMjMsNDggKzIzLDQzIEBACiAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLwogI2luY2x1ZGUgImN1cmxfc2V0dXAuaCIKIAotI2lmIGRlZmluZWQoVVNFX1dJTjMyX0lETikgfHwgKChkZWZpbmVkKFVTRV9XSU5ET1dTX1NTUEkpIHx8IFwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVmaW5lZChVU0VfV0lOMzJfTERBUCkpICYmIGRlZmluZWQoVU5JQ09ERSkpCisjaWYgZGVmaW5lZChXSU4zMikKIAogIC8qCiAgICogTXVsdGlCeXRlIGNvbnZlcnNpb25zIHVzaW5nIFdpbmRvd3Mga2VybmVsMzIgbGlicmFyeS4KICAgKi8KIAotd2NoYXJfdCAqQ3VybF9jb252ZXJ0X1VURjhfdG9fd2NoYXIoY29uc3QgY2hhciAqc3RyX3V0ZjgpOwotY2hhciAqQ3VybF9jb252ZXJ0X3djaGFyX3RvX1VURjgoY29uc3Qgd2NoYXJfdCAqc3RyX3cpOword2NoYXJfdCAqY3VybHhfY29udmVydF9VVEY4X3RvX3djaGFyKGNvbnN0IGNoYXIgKnN0cl91dGY4KTsKK2NoYXIgKmN1cmx4X2NvbnZlcnRfd2NoYXJfdG9fVVRGOChjb25zdCB3Y2hhcl90ICpzdHJfdyk7CiAKLSNlbmRpZiAvKiBVU0VfV0lOMzJfSUROIHx8ICgoVVNFX1dJTkRPV1NfU1NQSSB8fCBVU0VfV0lOMzJfTERBUCkgJiYgVU5JQ09ERSkgKi8KLQotCi0jaWYgZGVmaW5lZChVU0VfV0lOMzJfSUROKSB8fCBkZWZpbmVkKFVTRV9XSU5ET1dTX1NTUEkpIHx8IFwKLSAgICBkZWZpbmVkKFVTRV9XSU4zMl9MREFQKQorI2VuZGlmIC8qIFdJTjMyICovCiAKIC8qCi0gKiBNYWNyb3MgQ3VybF9jb252ZXJ0X1VURjhfdG9fdGNoYXIoKSwgQ3VybF9jb252ZXJ0X3RjaGFyX3RvX1VURjgoKQotICogYW5kIEN1cmxfdW5pY29kZWZyZWUoKSBtYWluIHB1cnBvc2UgaXMgdG8gbWluaW1pemUgdGhlIG51bWJlciBvZgorICogTWFjcm9zIGN1cmx4X2NvbnZlcnRfVVRGOF90b190Y2hhcigpLCBjdXJseF9jb252ZXJ0X3RjaGFyX3RvX1VURjgoKQorICogYW5kIGN1cmx4X3VuaWNvZGVmcmVlKCkgbWFpbiBwdXJwb3NlIGlzIHRvIG1pbmltaXplIHRoZSBudW1iZXIgb2YKICAqIHByZXByb2Nlc3NvciBjb25kaXRpb25hbCBkaXJlY3RpdmVzIG5lZWRlZCBieSBjb2RlIHVzaW5nIHRoZXNlCiAgKiB0byBkaWZmZXJlbnRpYXRlIFVOSUNPREUgZnJvbSBub24tVU5JQ09ERSBidWlsZHMuCiAgKgotICogV2hlbiBidWlsZGluZyB3aXRoIFVOSUNPREUgZGVmaW5lZCwgdGhpcyB0d28gbWFjcm9zCi0gKiBDdXJsX2NvbnZlcnRfVVRGOF90b190Y2hhcigpIGFuZCBDdXJsX2NvbnZlcnRfdGNoYXJfdG9fVVRGOCgpCisgKiBXaGVuIGJ1aWxkaW5nIHdpdGggVU5JQ09ERSBkZWZpbmVkLCB0aGVzZSB0d28gbWFjcm9zCisgKiBjdXJseF9jb252ZXJ0X1VURjhfdG9fdGNoYXIoKSBhbmQgY3VybHhfY29udmVydF90Y2hhcl90b19VVEY4KCkKICAqIHJldHVybiBhIHBvaW50ZXIgdG8gYSBuZXdseSBhbGxvY2F0ZWQgbWVtb3J5IGFyZWEgaG9sZGluZyByZXN1bHQuCiAgKiBXaGVuIHRoZSByZXN1bHQgaXMgbm8gbG9uZ2VyIG5lZWRlZCwgYWxsb2NhdGVkIG1lbW9yeSBpcyBpbnRlbmRlZAotICogdG8gYmUgZnJlZSdlZCB3aXRoIEN1cmxfdW5pY29kZWZyZWUoKS4KKyAqIHRvIGJlIGZyZWUnZWQgd2l0aCBjdXJseF91bmljb2RlZnJlZSgpLgogICoKICAqIFdoZW4gYnVpbGRpbmcgd2l0aG91dCBVTklDT0RFIGRlZmluZWQsIHRoaXMgbWFjcm9zCi0gKiBDdXJsX2NvbnZlcnRfVVRGOF90b190Y2hhcigpIGFuZCBDdXJsX2NvbnZlcnRfdGNoYXJfdG9fVVRGOCgpCi0gKiByZXR1cm4gdGhlIHBvaW50ZXIgcmVjZWl2ZWQgYXMgYXJndW1lbnQuIEN1cmxfdW5pY29kZWZyZWUoKSBkb2VzCisgKiBjdXJseF9jb252ZXJ0X1VURjhfdG9fdGNoYXIoKSBhbmQgY3VybHhfY29udmVydF90Y2hhcl90b19VVEY4KCkKKyAqIHJldHVybiB0aGUgcG9pbnRlciByZWNlaXZlZCBhcyBhcmd1bWVudC4gY3VybHhfdW5pY29kZWZyZWUoKSBkb2VzCiAgKiBubyBhY3R1YWwgZnJlZSdpbmcgb2YgdGhpcyBwb2ludGVyIGl0IGlzIHNpbXBseSBzZXQgdG8gTlVMTC4KICAqLwogCi0jaWZkZWYgVU5JQ09ERQorI2lmIGRlZmluZWQoVU5JQ09ERSkgJiYgZGVmaW5lZChXSU4zMikKIAotI2RlZmluZSBDdXJsX2NvbnZlcnRfVVRGOF90b190Y2hhcihwdHIpIEN1cmxfY29udmVydF9VVEY4X3RvX3djaGFyKChwdHIpKQotI2RlZmluZSBDdXJsX2NvbnZlcnRfdGNoYXJfdG9fVVRGOChwdHIpIEN1cmxfY29udmVydF93Y2hhcl90b19VVEY4KChwdHIpKQotI2RlZmluZSBDdXJsX3VuaWNvZGVmcmVlKHB0cikgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisjZGVmaW5lIGN1cmx4X2NvbnZlcnRfVVRGOF90b190Y2hhcihwdHIpIGN1cmx4X2NvbnZlcnRfVVRGOF90b193Y2hhcigocHRyKSkKKyNkZWZpbmUgY3VybHhfY29udmVydF90Y2hhcl90b19VVEY4KHB0cikgY3VybHhfY29udmVydF93Y2hhcl90b19VVEY4KChwdHIpKQorI2RlZmluZSBjdXJseF91bmljb2RlZnJlZShwdHIpICAgICAgICAgICAgICAgICAgICAgICAgICBcCiAgIGRvIHsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKICAgICBpZihwdHIpIHsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgICAgZnJlZShwdHIpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgICAoZnJlZSkocHRyKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAogICAgICAgKHB0cikgPSBOVUxMOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCiAgICAgfSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKICAgfSB3aGlsZSgwKQpAQCAtNzgsOSArNzMsOSBAQAogCiAjZWxzZQogCi0jZGVmaW5lIEN1cmxfY29udmVydF9VVEY4X3RvX3RjaGFyKHB0cikgKHB0cikKLSNkZWZpbmUgQ3VybF9jb252ZXJ0X3RjaGFyX3RvX1VURjgocHRyKSAocHRyKQotI2RlZmluZSBDdXJsX3VuaWNvZGVmcmVlKHB0cikgXAorI2RlZmluZSBjdXJseF9jb252ZXJ0X1VURjhfdG9fdGNoYXIocHRyKSAocHRyKQorI2RlZmluZSBjdXJseF9jb252ZXJ0X3RjaGFyX3RvX1VURjgocHRyKSAocHRyKQorI2RlZmluZSBjdXJseF91bmljb2RlZnJlZShwdHIpIFwKICAgZG8geyhwdHIpID0gTlVMTDt9IHdoaWxlKDApCiAKIHR5cGVkZWYgdW5pb24gewpAQCAtOTAsOCArODUsNiBAQAogICBjb25zdCB1bnNpZ25lZCBjaGFyICpjb25zdF90Ynl0ZV9wdHI7CiB9IHhjaGFycF91OwogCi0jZW5kaWYgLyogVU5JQ09ERSAqLwotCi0jZW5kaWYgLyogVVNFX1dJTjMyX0lETiB8fCBVU0VfV0lORE9XU19TU1BJIHx8IFVTRV9XSU4zMl9MREFQICovCisjZW5kaWYgLyogVU5JQ09ERSAmJiBXSU4zMiAqLwogCiAjZW5kaWYgLyogSEVBREVSX0NVUkxfTVVMVElCWVRFX0ggKi8KZGlmZiAtLWdpdCBhL2xpYi9jdXJsX250bG1fY29yZS5jIGIvbGliL2N1cmxfbnRsbV9jb3JlLmMKaW5kZXggMzJlMjlhOS4uMGVlZmIxNSAxMDA2NDQKLS0tIGEvbGliL2N1cmxfbnRsbV9jb3JlLmMKKysrIGIvbGliL2N1cmxfbnRsbV9jb3JlLmMKQEAgLTUyLDEzICs1MiwxOCBAQAogCiAjaWYgIWRlZmluZWQoVVNFX1dJTkRPV1NfU1NQSSkgfHwgZGVmaW5lZChVU0VfV0lOMzJfQ1JZUFRPKQogCi0jaWZkZWYgVVNFX09QRU5TU0wKKyNpZiBkZWZpbmVkKFVTRV9PUEVOU1NMKSB8fCBkZWZpbmVkKFVTRV9XT0xGU1NMKQorCisjaWZkZWYgVVNFX1dPTEZTU0wKKyNpbmNsdWRlIDx3b2xmc3NsL29wdGlvbnMuaD4KKyNlbmRpZgogCiAjICBpbmNsdWRlIDxvcGVuc3NsL2Rlcy5oPgogIyAgaW5jbHVkZSA8b3BlbnNzbC9tZDUuaD4KICMgIGluY2x1ZGUgPG9wZW5zc2wvc3NsLmg+CiAjICBpbmNsdWRlIDxvcGVuc3NsL3JhbmQuaD4KLSMgIGlmIChPUEVOU1NMX1ZFUlNJT05fTlVNQkVSIDwgMHgwMDkwNzAwMUwpCisjICBpZiAoZGVmaW5lZChPUEVOU1NMX1ZFUlNJT05fTlVNQkVSKSAmJiBcCisgICAgICAgKE9QRU5TU0xfVkVSU0lPTl9OVU1CRVIgPCAweDAwOTA3MDAxTCkpICYmICFkZWZpbmVkKFVTRV9XT0xGU1NMKQogIyAgICBkZWZpbmUgREVTX2tleV9zY2hlZHVsZSBkZXNfa2V5X3NjaGVkdWxlCiAjICAgIGRlZmluZSBERVNfY2Jsb2NrIGRlc19jYmxvY2sKICMgICAgZGVmaW5lIERFU19zZXRfb2RkX3Bhcml0eSBkZXNfc2V0X29kZF9wYXJpdHkKQEAgLTc4LDE0ICs4MywxMiBAQAogI2VsaWYgZGVmaW5lZChVU0VfR05VVExTKQogCiAjICBpbmNsdWRlIDxnY3J5cHQuaD4KLSMgIGRlZmluZSBNRDVfRElHRVNUX0xFTkdUSCAxNgogCiAjZWxpZiBkZWZpbmVkKFVTRV9OU1MpCiAKICMgIGluY2x1ZGUgPG5zcy5oPgogIyAgaW5jbHVkZSA8cGsxMXB1Yi5oPgogIyAgaW5jbHVkZSA8aGFzaHQuaD4KLSMgIGRlZmluZSBNRDVfRElHRVNUX0xFTkdUSCBNRDVfTEVOR1RICiAKICNlbGlmIGRlZmluZWQoVVNFX01CRURUTFMpCiAKQEAgLTEzOCw3ICsxNDEsNyBAQAogICBrZXlbN10gPSAodW5zaWduZWQgY2hhcikgKChrZXlfNTZbNl0gPDwgMSkgJiAweEZGKTsKIH0KIAotI2lmZGVmIFVTRV9PUEVOU1NMCisjaWYgZGVmaW5lZChVU0VfT1BFTlNTTCkgfHwgZGVmaW5lZChVU0VfV09MRlNTTCkKIC8qCiAgKiBUdXJucyBhIDU2IGJpdCBrZXkgaW50byB0aGUgNjQgYml0LCBvZGQgcGFyaXR5IGtleSBhbmQgc2V0cyB0aGUga2V5LiAgVGhlCiAgKiBrZXkgc2NoZWR1bGUga3MgaXMgYWxzbyBzZXQuCkBAIC0zODcsNyArMzkwLDcgQEAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1bnNpZ25lZCBjaGFyICpwbGFpbnRleHQsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdW5zaWduZWQgY2hhciAqcmVzdWx0cykKIHsKLSNpZmRlZiBVU0VfT1BFTlNTTAorI2lmIGRlZmluZWQoVVNFX09QRU5TU0wpIHx8IGRlZmluZWQoVVNFX1dPTEZTU0wpCiAgIERFU19rZXlfc2NoZWR1bGUga3M7CiAKICAgc2V0dXBfZGVzX2tleShrZXlzLCBERVNLRVkoa3MpKTsKQEAgLTQ2Miw3ICs0NjUsNyBAQAogICB7CiAgICAgLyogQ3JlYXRlIExhbk1hbmFnZXIgaGFzaGVkIHBhc3N3b3JkLiAqLwogCi0jaWZkZWYgVVNFX09QRU5TU0wKKyNpZiBkZWZpbmVkKFVTRV9PUEVOU1NMKSB8fCBkZWZpbmVkKFVTRV9XT0xGU1NMKQogICAgIERFU19rZXlfc2NoZWR1bGUga3M7CiAKICAgICBzZXR1cF9kZXNfa2V5KHB3LCBERVNLRVkoa3MpKTsKZGlmZiAtLWdpdCBhL2xpYi9jdXJsX250bG1fY29yZS5oIGIvbGliL2N1cmxfbnRsbV9jb3JlLmgKaW5kZXggZTE2NDNkNi4uNzg5NWI2NCAxMDA2NDQKLS0tIGEvbGliL2N1cmxfbnRsbV9jb3JlLmgKKysrIGIvbGliL2N1cmxfbnRsbV9jb3JlLmgKQEAgLTI5LDYgKzI5LDcgQEAKIC8qIElmIE5TUyBpcyB0aGUgZmlyc3QgYXZhaWxhYmxlIFNTTCBiYWNrZW5kIChzZWUgb3JkZXIgaW4gY3VybF9udGxtX2NvcmUuYykKICAgIHRoZW4gaXQgbXVzdCBiZSBpbml0aWFsaXplZCB0byBiZSB1c2VkIGJ5IE5UTE0uICovCiAjaWYgIWRlZmluZWQoVVNFX09QRU5TU0wpICYmIFwKKyAgICAhZGVmaW5lZChVU0VfV09MRlNTTCkgJiYgXAogICAgICFkZWZpbmVkKFVTRV9HTlVUTFNfTkVUVExFKSAmJiBcCiAgICAgIWRlZmluZWQoVVNFX0dOVVRMUykgJiYgXAogICAgIGRlZmluZWQoVVNFX05TUykKQEAgLTM3LDcgKzM4LDEwIEBACiAKICNpZiAhZGVmaW5lZChVU0VfV0lORE9XU19TU1BJKSB8fCBkZWZpbmVkKFVTRV9XSU4zMl9DUllQVE8pCiAKLSNpZmRlZiBVU0VfT1BFTlNTTAorI2lmIGRlZmluZWQoVVNFX09QRU5TU0wpIHx8IGRlZmluZWQoVVNFX1dPTEZTU0wpCisjaWZkZWYgVVNFX1dPTEZTU0wKKyMgIGluY2x1ZGUgPHdvbGZzc2wvb3B0aW9ucy5oPgorI2VuZGlmCiAjICBpbmNsdWRlIDxvcGVuc3NsL3NzbC5oPgogI2VuZGlmCiAKZGlmZiAtLWdpdCBhL2xpYi9jdXJsX250bG1fd2IuYyBiL2xpYi9jdXJsX250bG1fd2IuYwppbmRleCBmODIwYjg0Li4xN2E5MmY4IDEwMDY0NAotLS0gYS9saWIvY3VybF9udGxtX3diLmMKKysrIGIvbGliL2N1cmxfbnRsbV93Yi5jCkBAIC0yNjEsMTUgKzI2MSwxMSBAQAogc3RhdGljIENVUkxjb2RlIG50bG1fd2JfcmVzcG9uc2Uoc3RydWN0IEN1cmxfZWFzeSAqZGF0YSwgc3RydWN0IG50bG1kYXRhICpudGxtLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgY2hhciAqaW5wdXQsIGN1cmxudGxtIHN0YXRlKQogewotICBjaGFyICpidWYgPSBtYWxsb2MoTlRMTV9CVUZTSVpFKTsKICAgc2l6ZV90IGxlbl9pbiA9IHN0cmxlbihpbnB1dCksIGxlbl9vdXQgPSAwOwotCi0jaWYgZGVmaW5lZChDVVJMX0RJU0FCTEVfVkVSQk9TRV9TVFJJTkdTKQotICAodm9pZCkgZGF0YTsKLSNlbmRpZgotCi0gIGlmKCFidWYpCi0gICAgcmV0dXJuIENVUkxFX09VVF9PRl9NRU1PUlk7CisgIHN0cnVjdCBkeW5idWYgYjsKKyAgY2hhciAqcHRyID0gTlVMTDsKKyAgdW5zaWduZWQgY2hhciAqYnVmID0gKHVuc2lnbmVkIGNoYXIgKilkYXRhLT5zdGF0ZS5idWZmZXI7CisgIEN1cmxfZHluX2luaXQoJmIsIE1BWF9OVExNX1dCX1JFU1BPTlNFKTsKIAogICB3aGlsZShsZW5faW4gPiAwKSB7CiAgICAgc3NpemVfdCB3cml0dGVuID0gc3dyaXRlKG50bG0tPm50bG1fYXV0aF9obHByX3NvY2tldCwgaW5wdXQsIGxlbl9pbik7CkBAIC0yODUsMTAgKzI4MSw4IEBACiAgIH0KICAgLyogUmVhZCBvbmUgbGluZSAqLwogICB3aGlsZSgxKSB7Ci0gICAgc3NpemVfdCBzaXplOwotICAgIGNoYXIgKm5ld2J1ZjsKLQotICAgIHNpemUgPSBzcmVhZChudGxtLT5udGxtX2F1dGhfaGxwcl9zb2NrZXQsIGJ1ZiArIGxlbl9vdXQsIE5UTE1fQlVGU0laRSk7CisgICAgc3NpemVfdCBzaXplID0KKyAgICAgIHNyZWFkKG50bG0tPm50bG1fYXV0aF9obHByX3NvY2tldCwgYnVmLCBkYXRhLT5zZXQuYnVmZmVyX3NpemUpOwogICAgIGlmKHNpemUgPT0gLTEpIHsKICAgICAgIGlmKGVycm5vID09IEVJTlRSKQogICAgICAgICBjb250aW51ZTsKQEAgLTI5Nyw0OCArMjkxLDQxIEBACiAgICAgZWxzZSBpZihzaXplID09IDApCiAgICAgICBnb3RvIGRvbmU7CiAKLSAgICBsZW5fb3V0ICs9IHNpemU7Ci0gICAgaWYoYnVmW2xlbl9vdXQgLSAxXSA9PSAnXG4nKSB7Ci0gICAgICBidWZbbGVuX291dCAtIDFdID0gJ1wwJzsKLSAgICAgIGJyZWFrOworICAgIGlmKEN1cmxfZHluX2FkZG4oJmIsIGJ1Ziwgc2l6ZSkpCisgICAgICBnb3RvIGRvbmU7CisKKyAgICBsZW5fb3V0ID0gQ3VybF9keW5fbGVuKCZiKTsKKyAgICBwdHIgPSBDdXJsX2R5bl9wdHIoJmIpOworICAgIGlmKGxlbl9vdXQgJiYgcHRyW2xlbl9vdXQgLSAxXSA9PSAnXG4nKSB7CisgICAgICBwdHJbbGVuX291dCAtIDFdID0gJ1wwJzsKKyAgICAgIGJyZWFrOyAvKiBkb25lISAqLwogICAgIH0KLQotICAgIGlmKGxlbl9vdXQgPiBNQVhfTlRMTV9XQl9SRVNQT05TRSkgewotICAgICAgZmFpbGYoZGF0YSwgInRvbyBsYXJnZSBudGxtX3diIHJlc3BvbnNlISIpOwotICAgICAgZnJlZShidWYpOwotICAgICAgcmV0dXJuIENVUkxFX09VVF9PRl9NRU1PUlk7Ci0gICAgfQotCi0gICAgbmV3YnVmID0gQ3VybF9zYWZlcmVhbGxvYyhidWYsIGxlbl9vdXQgKyBOVExNX0JVRlNJWkUpOwotICAgIGlmKCFuZXdidWYpCi0gICAgICByZXR1cm4gQ1VSTEVfT1VUX09GX01FTU9SWTsKLQotICAgIGJ1ZiA9IG5ld2J1ZjsKKyAgICAvKiBsb29wICovCiAgIH0KIAogICAvKiBTYW1iYS93aW5iaW5kIGluc3RhbGxlZCBidXQgbm90IGNvbmZpZ3VyZWQgKi8KICAgaWYoc3RhdGUgPT0gTlRMTVNUQVRFX1RZUEUxICYmCiAgICAgIGxlbl9vdXQgPT0gMyAmJgotICAgICBidWZbMF0gPT0gJ1AnICYmIGJ1ZlsxXSA9PSAnVycpCisgICAgIHB0clswXSA9PSAnUCcgJiYgcHRyWzFdID09ICdXJykKICAgICBnb3RvIGRvbmU7CiAgIC8qIGludmFsaWQgcmVzcG9uc2UgKi8KICAgaWYobGVuX291dCA8IDQpCiAgICAgZ290byBkb25lOwogICBpZihzdGF0ZSA9PSBOVExNU1RBVEVfVFlQRTEgJiYKLSAgICAgKGJ1ZlswXSE9J1knIHx8IGJ1ZlsxXSE9J1InIHx8IGJ1ZlsyXSE9JyAnKSkKKyAgICAgKHB0clswXSE9J1knIHx8IHB0clsxXSE9J1InIHx8IHB0clsyXSE9JyAnKSkKICAgICBnb3RvIGRvbmU7CiAgIGlmKHN0YXRlID09IE5UTE1TVEFURV9UWVBFMiAmJgotICAgICAoYnVmWzBdIT0nSycgfHwgYnVmWzFdIT0nSycgfHwgYnVmWzJdIT0nICcpICYmCi0gICAgIChidWZbMF0hPSdBJyB8fCBidWZbMV0hPSdGJyB8fCBidWZbMl0hPScgJykpCisgICAgIChwdHJbMF0hPSdLJyB8fCBwdHJbMV0hPSdLJyB8fCBwdHJbMl0hPScgJykgJiYKKyAgICAgKHB0clswXSE9J0EnIHx8IHB0clsxXSE9J0YnIHx8IHB0clsyXSE9JyAnKSkKICAgICBnb3RvIGRvbmU7CiAKLSAgbnRsbS0+cmVzcG9uc2UgPSBhcHJpbnRmKCIlLipzIiwgbGVuX291dCAtIDQsIGJ1ZiArIDMpOwotICBmcmVlKGJ1Zik7CisgIG50bG0tPnJlc3BvbnNlID0gc3RyZHVwKHB0ciArIDMpOworICBDdXJsX2R5bl9mcmVlKCZiKTsKICAgaWYoIW50bG0tPnJlc3BvbnNlKQogICAgIHJldHVybiBDVVJMRV9PVVRfT0ZfTUVNT1JZOwogICByZXR1cm4gQ1VSTEVfT0s7CiBkb25lOgotICBmcmVlKGJ1Zik7CisgIEN1cmxfZHluX2ZyZWUoJmIpOwogICByZXR1cm4gQ1VSTEVfUkVNT1RFX0FDQ0VTU19ERU5JRUQ7CiB9CiAKQEAgLTM4OSw4ICszNzYsNyBAQAogICogVGhpcyBpcyBmb3IgY3JlYXRpbmcgbnRsbSBoZWFkZXIgb3V0cHV0IGJ5IGRlbGVnYXRpbmcgY2hhbGxlbmdlL3Jlc3BvbnNlCiAgKiB0byBTYW1iYSdzIHdpbmJpbmQgZGFlbW9uIGhlbHBlciBudGxtX2F1dGguCiAgKi8KLUNVUkxjb2RlIEN1cmxfb3V0cHV0X250bG1fd2Ioc3RydWN0IGNvbm5lY3RkYXRhICpjb25uLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYm9vbCBwcm94eSkKK0NVUkxjb2RlIEN1cmxfb3V0cHV0X250bG1fd2Ioc3RydWN0IGNvbm5lY3RkYXRhICpjb25uLCBib29sIHByb3h5KQogewogICAvKiBwb2ludCB0byB0aGUgYWRkcmVzcyBvZiB0aGUgcG9pbnRlciB0aGF0IGhvbGRzIHRoZSBzdHJpbmcgdG8gc2VuZCB0byB0aGUKICAgICAgc2VydmVyLCB3aGljaCBpcyBmb3IgYSBwbGFpbiBob3N0IG9yIGZvciBhIEhUVFAgcHJveHkgKi8KQEAgLTQwMCw2ICszODYsNyBAQAogICBzdHJ1Y3QgbnRsbWRhdGEgKm50bG07CiAgIGN1cmxudGxtICpzdGF0ZTsKICAgc3RydWN0IGF1dGggKmF1dGhwOworICBzdHJ1Y3QgQ3VybF9lYXN5ICpkYXRhID0gY29ubi0+ZGF0YTsKIAogICBDVVJMY29kZSByZXMgPSBDVVJMRV9PSzsKIApAQCAtNDA3LDE0ICszOTQsMTggQEAKICAgREVCVUdBU1NFUlQoY29ubi0+ZGF0YSk7CiAKICAgaWYocHJveHkpIHsKLSAgICBhbGxvY3VzZXJwd2QgPSAmY29ubi0+YWxsb2NwdHIucHJveHl1c2VycHdkOworI2lmbmRlZiBDVVJMX0RJU0FCTEVfUFJPWFkKKyAgICBhbGxvY3VzZXJwd2QgPSAmZGF0YS0+c3RhdGUuYXB0ci5wcm94eXVzZXJwd2Q7CiAgICAgdXNlcnAgPSBjb25uLT5odHRwX3Byb3h5LnVzZXI7CiAgICAgbnRsbSA9ICZjb25uLT5wcm94eW50bG07CiAgICAgc3RhdGUgPSAmY29ubi0+cHJveHlfbnRsbV9zdGF0ZTsKICAgICBhdXRocCA9ICZjb25uLT5kYXRhLT5zdGF0ZS5hdXRocHJveHk7CisjZWxzZQorICAgIHJldHVybiBDVVJMRV9OT1RfQlVJTFRfSU47CisjZW5kaWYKICAgfQogICBlbHNlIHsKLSAgICBhbGxvY3VzZXJwd2QgPSAmY29ubi0+YWxsb2NwdHIudXNlcnB3ZDsKKyAgICBhbGxvY3VzZXJwd2QgPSAmZGF0YS0+c3RhdGUuYXB0ci51c2VycHdkOwogICAgIHVzZXJwID0gY29ubi0+dXNlcjsKICAgICBudGxtID0gJmNvbm4tPm50bG07CiAgICAgc3RhdGUgPSAmY29ubi0+aHR0cF9udGxtX3N0YXRlOwpkaWZmIC0tZ2l0IGEvbGliL2N1cmxfcGF0aC5jIGIvbGliL2N1cmxfcGF0aC5jCmluZGV4IGY0Mjk2MzQuLmZiZDk4Y2IgMTAwNjQ0Ci0tLSBhL2xpYi9jdXJsX3BhdGguYworKysgYi9saWIvY3VybF9wYXRoLmMKQEAgLTUsNyArNSw3IEBACiAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICB8IChfX3wgfF98IHwgIF8gPHwgfF9fXwogICogICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxfX198XF9fXy98X3wgXF9cX19fX198CiAgKgotICogQ29weXJpZ2h0IChDKSAxOTk4IC0gMjAxOSwgRGFuaWVsIFN0ZW5iZXJnLCA8ZGFuaWVsQGhheHguc2U+LCBldCBhbC4KKyAqIENvcHlyaWdodCAoQykgMTk5OCAtIDIwMjAsIERhbmllbCBTdGVuYmVyZywgPGRhbmllbEBoYXh4LnNlPiwgZXQgYWwuCiAgKgogICogVGhpcyBzb2Z0d2FyZSBpcyBsaWNlbnNlZCBhcyBkZXNjcmliZWQgaW4gdGhlIGZpbGUgQ09QWUlORywgd2hpY2gKICAqIHlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhcyBwYXJ0IG9mIHRoaXMgZGlzdHJpYnV0aW9uLiBUaGUgdGVybXMKQEAgLTQyLDcgKzQyLDcgQEAKICAgc2l6ZV90IHdvcmtpbmdfcGF0aF9sZW47CiAgIENVUkxjb2RlIHJlc3VsdCA9CiAgICAgQ3VybF91cmxkZWNvZGUoZGF0YSwgZGF0YS0+c3RhdGUudXAucGF0aCwgMCwgJndvcmtpbmdfcGF0aCwKLSAgICAgICAgICAgICAgICAgICAmd29ya2luZ19wYXRoX2xlbiwgRkFMU0UpOworICAgICAgICAgICAgICAgICAgICZ3b3JraW5nX3BhdGhfbGVuLCBSRUpFQ1RfWkVSTyk7CiAgIGlmKHJlc3VsdCkKICAgICByZXR1cm4gcmVzdWx0OwogCmRpZmYgLS1naXQgYS9saWIvY3VybF9zYXNsLmMgYi9saWIvY3VybF9zYXNsLmMKaW5kZXggOGMxYzg2Ni4uODNmZTg5NiAxMDA2NDQKLS0tIGEvbGliL2N1cmxfc2FzbC5jCisrKyBiL2xpYi9jdXJsX3Nhc2wuYwpAQCAtMjY0LDkgKzI2NCwxNCBAQAogICBzaXplX3QgbGVuID0gMDsKICAgc2FzbHN0YXRlIHN0YXRlMSA9IFNBU0xfU1RPUDsKICAgc2FzbHN0YXRlIHN0YXRlMiA9IFNBU0xfRklOQUw7CisjaWZuZGVmIENVUkxfRElTQUJMRV9QUk9YWQogICBjb25zdCBjaGFyICogY29uc3QgaG9zdG5hbWUgPSBTU0xfSVNfUFJPWFkoKSA/IGNvbm4tPmh0dHBfcHJveHkuaG9zdC5uYW1lIDoKICAgICBjb25uLT5ob3N0Lm5hbWU7CiAgIGNvbnN0IGxvbmcgaW50IHBvcnQgPSBTU0xfSVNfUFJPWFkoKSA/IGNvbm4tPnBvcnQgOiBjb25uLT5yZW1vdGVfcG9ydDsKKyNlbHNlCisgIGNvbnN0IGNoYXIgKiBjb25zdCBob3N0bmFtZSA9IGNvbm4tPmhvc3QubmFtZTsKKyAgY29uc3QgbG9uZyBpbnQgcG9ydCA9IGNvbm4tPnJlbW90ZV9wb3J0OworI2VuZGlmCiAjaWYgZGVmaW5lZChVU0VfS0VSQkVST1M1KSB8fCBkZWZpbmVkKFVTRV9OVExNKQogICBjb25zdCBjaGFyICpzZXJ2aWNlID0gZGF0YS0+c2V0LnN0cltTVFJJTkdfU0VSVklDRV9OQU1FXSA/CiAgICAgZGF0YS0+c2V0LnN0cltTVFJJTkdfU0VSVklDRV9OQU1FXSA6CkBAIC00MTcsMTggKzQyMiwyMyBAQAogICBzdHJ1Y3QgQ3VybF9lYXN5ICpkYXRhID0gY29ubi0+ZGF0YTsKICAgc2FzbHN0YXRlIG5ld3N0YXRlID0gU0FTTF9GSU5BTDsKICAgY2hhciAqcmVzcCA9IE5VTEw7CisjaWZuZGVmIENVUkxfRElTQUJMRV9QUk9YWQogICBjb25zdCBjaGFyICogY29uc3QgaG9zdG5hbWUgPSBTU0xfSVNfUFJPWFkoKSA/IGNvbm4tPmh0dHBfcHJveHkuaG9zdC5uYW1lIDoKICAgICBjb25uLT5ob3N0Lm5hbWU7CiAgIGNvbnN0IGxvbmcgaW50IHBvcnQgPSBTU0xfSVNfUFJPWFkoKSA/IGNvbm4tPnBvcnQgOiBjb25uLT5yZW1vdGVfcG9ydDsKKyNlbHNlCisgIGNvbnN0IGNoYXIgKiBjb25zdCBob3N0bmFtZSA9IGNvbm4tPmhvc3QubmFtZTsKKyAgY29uc3QgbG9uZyBpbnQgcG9ydCA9IGNvbm4tPnJlbW90ZV9wb3J0OworI2VuZGlmCiAjaWYgIWRlZmluZWQoQ1VSTF9ESVNBQkxFX0NSWVBUT19BVVRIKQogICBjaGFyICpjaGxnID0gTlVMTDsKICAgc2l6ZV90IGNobGdsZW4gPSAwOwogI2VuZGlmCi0jaWYgIWRlZmluZWQoQ1VSTF9ESVNBQkxFX0NSWVBUT19BVVRIKSB8fCBkZWZpbmVkKFVTRV9LRVJCRVJPUzUpIHx8IFwKLSAgICBkZWZpbmVkKFVTRV9OVExNKQorI2lmICFkZWZpbmVkKENVUkxfRElTQUJMRV9DUllQVE9fQVVUSCkgfHwgZGVmaW5lZChVU0VfS0VSQkVST1M1KSB8fCAgICAgXAorICBkZWZpbmVkKFVTRV9OVExNKQogICBjb25zdCBjaGFyICpzZXJ2aWNlID0gZGF0YS0+c2V0LnN0cltTVFJJTkdfU0VSVklDRV9OQU1FXSA/Ci0gICAgICAgICAgICAgICAgICAgICAgICBkYXRhLT5zZXQuc3RyW1NUUklOR19TRVJWSUNFX05BTUVdIDoKLSAgICAgICAgICAgICAgICAgICAgICAgIHNhc2wtPnBhcmFtcy0+c2VydmljZTsKKyAgICBkYXRhLT5zZXQuc3RyW1NUUklOR19TRVJWSUNFX05BTUVdIDoKKyAgICBzYXNsLT5wYXJhbXMtPnNlcnZpY2U7CiAgIGNoYXIgKnNlcnZlcmRhdGE7CiAjZW5kaWYKICAgc2l6ZV90IGxlbiA9IDA7CmRpZmYgLS1naXQgYS9saWIvY3VybF9zZXR1cC5oIGIvbGliL2N1cmxfc2V0dXAuaAppbmRleCA1NmU2ZGI4Li5kNzZjNjMwIDEwMDY0NAotLS0gYS9saWIvY3VybF9zZXR1cC5oCisrKyBiL2xpYi9jdXJsX3NldHVwLmgKQEAgLTMzMSw5ICszMzEsMTQgQEAKICMgIHVuZGVmICBmc3RhdAogIyAgZGVmaW5lIGZzdGF0KGZkZXMsc3RwKSAgICAgICAgICAgIF9mc3RhdGk2NChmZGVzLCBzdHApCiAjICB1bmRlZiAgc3RhdAotIyAgZGVmaW5lIHN0YXQoZm5hbWUsc3RwKSAgICAgICAgICAgIF9zdGF0aTY0KGZuYW1lLCBzdHApCisjICBkZWZpbmUgc3RhdChmbmFtZSxzdHApICAgICAgICAgICAgY3VybHhfd2luMzJfc3RhdChmbmFtZSwgc3RwKQogIyAgZGVmaW5lIHN0cnVjdF9zdGF0ICAgICAgICAgICAgICAgIHN0cnVjdCBfc3RhdGk2NAogIyAgZGVmaW5lIExTRUVLX0VSUk9SICAgICAgICAgICAgICAgIChfX2ludDY0KS0xCisjICBkZWZpbmUgZm9wZW4oZm5hbWUsbW9kZSkgICAgICAgICAgY3VybHhfd2luMzJfZm9wZW4oZm5hbWUsIG1vZGUpCisjICBkZWZpbmUgYWNjZXNzKGZuYW1lLG1vZGUpICAgICAgICAgY3VybHhfd2luMzJfYWNjZXNzKGZuYW1lLCBtb2RlKQorICAgaW50IGN1cmx4X3dpbjMyX3N0YXQoY29uc3QgY2hhciAqcGF0aCwgc3RydWN0X3N0YXQgKmJ1ZmZlcik7CisgICBGSUxFICpjdXJseF93aW4zMl9mb3Blbihjb25zdCBjaGFyICpmaWxlbmFtZSwgY29uc3QgY2hhciAqbW9kZSk7CisgICBpbnQgY3VybHhfd2luMzJfYWNjZXNzKGNvbnN0IGNoYXIgKnBhdGgsIGludCBtb2RlKTsKICNlbmRpZgogCiAvKgpAQCAtMzQ4LDggKzM1MywxMyBAQAogIyAgICB1bmRlZiAgbHNlZWsKICMgICAgZGVmaW5lIGxzZWVrKGZkZXMsb2Zmc2V0LHdoZW5jZSkgIF9sc2VlayhmZGVzLCAobG9uZylvZmZzZXQsIHdoZW5jZSkKICMgICAgZGVmaW5lIGZzdGF0KGZkZXMsc3RwKSAgICAgICAgICAgIF9mc3RhdChmZGVzLCBzdHApCi0jICAgIGRlZmluZSBzdGF0KGZuYW1lLHN0cCkgICAgICAgICAgICBfc3RhdChmbmFtZSwgc3RwKQorIyAgICBkZWZpbmUgc3RhdChmbmFtZSxzdHApICAgICAgICAgICAgY3VybHhfd2luMzJfc3RhdChmbmFtZSwgc3RwKQogIyAgICBkZWZpbmUgc3RydWN0X3N0YXQgICAgICAgICAgICAgICAgc3RydWN0IF9zdGF0CisjICAgIGRlZmluZSBmb3BlbihmbmFtZSxtb2RlKSAgICAgICAgICBjdXJseF93aW4zMl9mb3BlbihmbmFtZSwgbW9kZSkKKyMgICAgZGVmaW5lIGFjY2VzcyhmbmFtZSxtb2RlKSAgICAgICAgIGN1cmx4X3dpbjMyX2FjY2VzcyhmbmFtZSwgbW9kZSkKKyAgICAgaW50IGN1cmx4X3dpbjMyX3N0YXQoY29uc3QgY2hhciAqcGF0aCwgc3RydWN0X3N0YXQgKmJ1ZmZlcik7CisgICAgIEZJTEUgKmN1cmx4X3dpbjMyX2ZvcGVuKGNvbnN0IGNoYXIgKmZpbGVuYW1lLCBjb25zdCBjaGFyICptb2RlKTsKKyAgICAgaW50IGN1cmx4X3dpbjMyX2FjY2Vzcyhjb25zdCBjaGFyICpwYXRoLCBpbnQgbW9kZSk7CiAjICBlbmRpZgogIyAgZGVmaW5lIExTRUVLX0VSUk9SICAgICAgICAgICAgICAgIChsb25nKS0xCiAjZW5kaWYKQEAgLTYyNywxMCArNjM3LDExIEBACiAKIC8qIFNpbmdsZSBwb2ludCB3aGVyZSBVU0VfTlRMTSBkZWZpbml0aW9uIG1pZ2h0IGJlIGRlZmluZWQgKi8KICNpZiAhZGVmaW5lZChDVVJMX0RJU0FCTEVfTlRMTSkgJiYgIWRlZmluZWQoQ1VSTF9ESVNBQkxFX0NSWVBUT19BVVRIKQotI2lmIGRlZmluZWQoVVNFX09QRU5TU0wpIHx8IGRlZmluZWQoVVNFX1dJTkRPV1NfU1NQSSkgfHwgXAotICAgIGRlZmluZWQoVVNFX0dOVVRMUykgfHwgZGVmaW5lZChVU0VfTlNTKSB8fCBkZWZpbmVkKFVTRV9TRUNUUkFOU1ApIHx8IFwKLSAgICBkZWZpbmVkKFVTRV9PUzQwMENSWVBUTykgfHwgZGVmaW5lZChVU0VfV0lOMzJfQ1JZUFRPKSB8fCBcCi0gICAgZGVmaW5lZChVU0VfTUJFRFRMUykKKyNpZiBkZWZpbmVkKFVTRV9PUEVOU1NMKSB8fCBkZWZpbmVkKFVTRV9XSU5ET1dTX1NTUEkpIHx8ICAgICAgICAgICAgICAgIFwKKyAgZGVmaW5lZChVU0VfR05VVExTKSB8fCBkZWZpbmVkKFVTRV9OU1MpIHx8IGRlZmluZWQoVVNFX1NFQ1RSQU5TUCkgfHwgIFwKKyAgZGVmaW5lZChVU0VfT1M0MDBDUllQVE8pIHx8IGRlZmluZWQoVVNFX1dJTjMyX0NSWVBUTykgfHwgICAgICAgICAgICAgIFwKKyAgZGVmaW5lZChVU0VfTUJFRFRMUykgfHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgKGRlZmluZWQoVVNFX1dPTEZTU0wpICYmIGRlZmluZWQoSEFWRV9XT0xGU1NMX0RFU19TRVRfT0REX1BBUklUWSkpCiAKICNkZWZpbmUgVVNFX05UTE0KIApkaWZmIC0tZ2l0IGEvbGliL2N1cmxfc2V0dXBfb25jZS5oIGIvbGliL2N1cmxfc2V0dXBfb25jZS5oCmluZGV4IDg4OTBmMzguLmU3YzAwZGUgMTAwNjQ0Ci0tLSBhL2xpYi9jdXJsX3NldHVwX29uY2UuaAorKysgYi9saWIvY3VybF9zZXR1cF9vbmNlLmgKQEAgLTcsNyArNyw3IEBACiAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICB8IChfX3wgfF98IHwgIF8gPHwgfF9fXwogICogICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxfX198XF9fXy98X3wgXF9cX19fX198CiAgKgotICogQ29weXJpZ2h0IChDKSAxOTk4IC0gMjAxOSwgRGFuaWVsIFN0ZW5iZXJnLCA8ZGFuaWVsQGhheHguc2U+LCBldCBhbC4KKyAqIENvcHlyaWdodCAoQykgMTk5OCAtIDIwMjAsIERhbmllbCBTdGVuYmVyZywgPGRhbmllbEBoYXh4LnNlPiwgZXQgYWwuCiAgKgogICogVGhpcyBzb2Z0d2FyZSBpcyBsaWNlbnNlZCBhcyBkZXNjcmliZWQgaW4gdGhlIGZpbGUgQ09QWUlORywgd2hpY2gKICAqIHlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhcyBwYXJ0IG9mIHRoaXMgZGlzdHJpYnV0aW9uLiBUaGUgdGVybXMKQEAgLTQ4MSw2ICs0ODEsOCBAQAogCiAjaWZkZWYgX19WTVMKICNkZWZpbmUgYXJndl9pdGVtX3QgIF9fY2hhcl9wdHIzMgorI2VsaWYgZGVmaW5lZChfVU5JQ09ERSkKKyNkZWZpbmUgYXJndl9pdGVtX3Qgd2NoYXJfdCAqCiAjZWxzZQogI2RlZmluZSBhcmd2X2l0ZW1fdCAgY2hhciAqCiAjZW5kaWYKZGlmZiAtLWdpdCBhL2xpYi9jdXJsX3NzcGkuYyBiL2xpYi9jdXJsX3NzcGkuYwppbmRleCBmN2NjMTBmLi44M2VjZTlhIDEwMDY0NAotLS0gYS9saWIvY3VybF9zc3BpLmMKKysrIGIvbGliL2N1cmxfc3NwaS5jCkBAIC01LDcgKzUsNyBAQAogICogICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAoX198IHxffCB8ICBfIDx8IHxfX18KICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcX19ffFxfX18vfF98IFxfXF9fX19ffAogICoKLSAqIENvcHlyaWdodCAoQykgMTk5OCAtIDIwMTksIERhbmllbCBTdGVuYmVyZywgPGRhbmllbEBoYXh4LnNlPiwgZXQgYWwuCisgKiBDb3B5cmlnaHQgKEMpIDE5OTggLSAyMDIwLCBEYW5pZWwgU3RlbmJlcmcsIDxkYW5pZWxAaGF4eC5zZT4sIGV0IGFsLgogICoKICAqIFRoaXMgc29mdHdhcmUgaXMgbGljZW5zZWQgYXMgZGVzY3JpYmVkIGluIHRoZSBmaWxlIENPUFlJTkcsIHdoaWNoCiAgKiB5b3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYXMgcGFydCBvZiB0aGlzIGRpc3RyaWJ1dGlvbi4gVGhlIHRlcm1zCkBAIC0xNTEsNyArMTUxLDcgQEAKICAgLyogSW5pdGlhbGl6ZSB0aGUgaWRlbnRpdHkgKi8KICAgbWVtc2V0KGlkZW50aXR5LCAwLCBzaXplb2YoKmlkZW50aXR5KSk7CiAKLSAgdXNlcmFuZGRvbWFpbi50Y2hhcl9wdHIgPSBDdXJsX2NvbnZlcnRfVVRGOF90b190Y2hhcigoY2hhciAqKXVzZXJwKTsKKyAgdXNlcmFuZGRvbWFpbi50Y2hhcl9wdHIgPSBjdXJseF9jb252ZXJ0X1VURjhfdG9fdGNoYXIoKGNoYXIgKil1c2VycCk7CiAgIGlmKCF1c2VyYW5kZG9tYWluLnRjaGFyX3B0cikKICAgICByZXR1cm4gQ1VSTEVfT1VUX09GX01FTU9SWTsKIApAQCAtMTczLDcgKzE3Myw3IEBACiAgIC8qIFNldHVwIHRoZSBpZGVudGl0eSdzIHVzZXIgYW5kIGxlbmd0aCAqLwogICBkdXBfdXNlci50Y2hhcl9wdHIgPSBfdGNzZHVwKHVzZXIudGNoYXJfcHRyKTsKICAgaWYoIWR1cF91c2VyLnRjaGFyX3B0cikgewotICAgIEN1cmxfdW5pY29kZWZyZWUodXNlcmFuZGRvbWFpbi50Y2hhcl9wdHIpOworICAgIGN1cmx4X3VuaWNvZGVmcmVlKHVzZXJhbmRkb21haW4udGNoYXJfcHRyKTsKICAgICByZXR1cm4gQ1VSTEVfT1VUX09GX01FTU9SWTsKICAgfQogICBpZGVudGl0eS0+VXNlciA9IGR1cF91c2VyLnRieXRlX3B0cjsKQEAgLTE4Myw3ICsxODMsNyBAQAogICAvKiBTZXR1cCB0aGUgaWRlbnRpdHkncyBkb21haW4gYW5kIGxlbmd0aCAqLwogICBkdXBfZG9tYWluLnRjaGFyX3B0ciA9IG1hbGxvYyhzaXplb2YoVENIQVIpICogKGRvbWxlbiArIDEpKTsKICAgaWYoIWR1cF9kb21haW4udGNoYXJfcHRyKSB7Ci0gICAgQ3VybF91bmljb2RlZnJlZSh1c2VyYW5kZG9tYWluLnRjaGFyX3B0cik7CisgICAgY3VybHhfdW5pY29kZWZyZWUodXNlcmFuZGRvbWFpbi50Y2hhcl9wdHIpOwogICAgIHJldHVybiBDVVJMRV9PVVRfT0ZfTUVNT1JZOwogICB9CiAgIF90Y3NuY3B5KGR1cF9kb21haW4udGNoYXJfcHRyLCBkb21haW4udGNoYXJfcHRyLCBkb21sZW4pOwpAQCAtMTkyLDIyICsxOTIsMjIgQEAKICAgaWRlbnRpdHktPkRvbWFpbkxlbmd0aCA9IGN1cmx4X3V6dG91bChkb21sZW4pOwogICBkdXBfZG9tYWluLnRjaGFyX3B0ciA9IE5VTEw7CiAKLSAgQ3VybF91bmljb2RlZnJlZSh1c2VyYW5kZG9tYWluLnRjaGFyX3B0cik7CisgIGN1cmx4X3VuaWNvZGVmcmVlKHVzZXJhbmRkb21haW4udGNoYXJfcHRyKTsKIAogICAvKiBTZXR1cCB0aGUgaWRlbnRpdHkncyBwYXNzd29yZCBhbmQgbGVuZ3RoICovCi0gIHBhc3N3ZC50Y2hhcl9wdHIgPSBDdXJsX2NvbnZlcnRfVVRGOF90b190Y2hhcigoY2hhciAqKXBhc3N3ZHApOworICBwYXNzd2QudGNoYXJfcHRyID0gY3VybHhfY29udmVydF9VVEY4X3RvX3RjaGFyKChjaGFyICopcGFzc3dkcCk7CiAgIGlmKCFwYXNzd2QudGNoYXJfcHRyKQogICAgIHJldHVybiBDVVJMRV9PVVRfT0ZfTUVNT1JZOwogICBkdXBfcGFzc3dkLnRjaGFyX3B0ciA9IF90Y3NkdXAocGFzc3dkLnRjaGFyX3B0cik7CiAgIGlmKCFkdXBfcGFzc3dkLnRjaGFyX3B0cikgewotICAgIEN1cmxfdW5pY29kZWZyZWUocGFzc3dkLnRjaGFyX3B0cik7CisgICAgY3VybHhfdW5pY29kZWZyZWUocGFzc3dkLnRjaGFyX3B0cik7CiAgICAgcmV0dXJuIENVUkxFX09VVF9PRl9NRU1PUlk7CiAgIH0KICAgaWRlbnRpdHktPlBhc3N3b3JkID0gZHVwX3Bhc3N3ZC50Ynl0ZV9wdHI7CiAgIGlkZW50aXR5LT5QYXNzd29yZExlbmd0aCA9IGN1cmx4X3V6dG91bChfdGNzbGVuKGR1cF9wYXNzd2QudGNoYXJfcHRyKSk7CiAgIGR1cF9wYXNzd2QudGNoYXJfcHRyID0gTlVMTDsKIAotICBDdXJsX3VuaWNvZGVmcmVlKHBhc3N3ZC50Y2hhcl9wdHIpOworICBjdXJseF91bmljb2RlZnJlZShwYXNzd2QudGNoYXJfcHRyKTsKIAogICAvKiBTZXR1cCB0aGUgaWRlbnRpdHkncyBmbGFncyAqLwogICBpZGVudGl0eS0+RmxhZ3MgPSBTRUNGTEFHX1dJTk5UX0FVVEhfSURFTlRJVFk7CmRpZmYgLS1naXQgYS9saWIvY3VybF90aHJlYWRzLmMgYi9saWIvY3VybF90aHJlYWRzLmMKaW5kZXggMDY0YzA3NS4uYjVmMTBhMiAxMDA2NDQKLS0tIGEvbGliL2N1cmxfdGhyZWFkcy5jCisrKyBiL2xpYi9jdXJsX3RocmVhZHMuYwpAQCAtNSw3ICs1LDcgQEAKICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgKF9ffCB8X3wgfCAgXyA8fCB8X19fCiAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXF9fX3xcX19fL3xffCBcX1xfX19fX3wKICAqCi0gKiBDb3B5cmlnaHQgKEMpIDE5OTggLSAyMDE5LCBEYW5pZWwgU3RlbmJlcmcsIDxkYW5pZWxAaGF4eC5zZT4sIGV0IGFsLgorICogQ29weXJpZ2h0IChDKSAxOTk4IC0gMjAyMCwgRGFuaWVsIFN0ZW5iZXJnLCA8ZGFuaWVsQGhheHguc2U+LCBldCBhbC4KICAqCiAgKiBUaGlzIHNvZnR3YXJlIGlzIGxpY2Vuc2VkIGFzIGRlc2NyaWJlZCBpbiB0aGUgZmlsZSBDT1BZSU5HLCB3aGljaAogICogeW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGFzIHBhcnQgb2YgdGhpcyBkaXN0cmlidXRpb24uIFRoZSB0ZXJtcwpAQCAtNDgsNyArNDgsNyBAQAogCiBzdGF0aWMgdm9pZCAqY3VybF90aHJlYWRfY3JlYXRlX3RodW5rKHZvaWQgKmFyZykKIHsKLSAgc3RydWN0IGN1cmxfYWN0dWFsX2NhbGwgKiBhYyA9IGFyZzsKKyAgc3RydWN0IGN1cmxfYWN0dWFsX2NhbGwgKmFjID0gYXJnOwogICB1bnNpZ25lZCBpbnQgKCpmdW5jKSh2b2lkICopID0gYWMtPmZ1bmM7CiAgIHZvaWQgKnJlYWxfYXJnID0gYWMtPmFyZzsKIApkaWZmIC0tZ2l0IGEvbGliL2N1cmx4LmggYi9saWIvY3VybHguaAppbmRleCAzZTliNTE2Li5hOGJhZTE0IDEwMDY0NAotLS0gYS9saWIvY3VybHguaAorKysgYi9saWIvY3VybHguaApAQCAtNyw3ICs3LDcgQEAKICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgKF9ffCB8X3wgfCAgXyA8fCB8X19fCiAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXF9fX3xcX19fL3xffCBcX1xfX19fX3wKICAqCi0gKiBDb3B5cmlnaHQgKEMpIDE5OTggLSAyMDE4LCBEYW5pZWwgU3RlbmJlcmcsIDxkYW5pZWxAaGF4eC5zZT4sIGV0IGFsLgorICogQ29weXJpZ2h0IChDKSAxOTk4IC0gMjAyMCwgRGFuaWVsIFN0ZW5iZXJnLCA8ZGFuaWVsQGhheHguc2U+LCBldCBhbC4KICAqCiAgKiBUaGlzIHNvZnR3YXJlIGlzIGxpY2Vuc2VkIGFzIGRlc2NyaWJlZCBpbiB0aGUgZmlsZSBDT1BZSU5HLCB3aGljaAogICogeW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGFzIHBhcnQgb2YgdGhpcyBkaXN0cmlidXRpb24uIFRoZSB0ZXJtcwpAQCAtNTMsNiArNTMsMTYgQEAKICAgY3VybHhfdXp0b3NpKCkKICovCiAKKyNpbmNsdWRlICJjdXJsX211bHRpYnl0ZS5oIgorLyogImN1cmxfbXVsdGlieXRlLmgiIHByb3ZpZGVzIHRoZXNlIGZ1bmN0aW9ucyBhbmQgbWFjcm9zOgorCisgIGN1cmx4X2NvbnZlcnRfVVRGOF90b193Y2hhcigpCisgIGN1cmx4X2NvbnZlcnRfd2NoYXJfdG9fVVRGOCgpCisgIGN1cmx4X2NvbnZlcnRfVVRGOF90b190Y2hhcigpCisgIGN1cmx4X2NvbnZlcnRfdGNoYXJfdG9fVVRGOCgpCisgIGN1cmx4X3VuaWNvZGVmcmVlKCkKKyovCisKIC8qIE5vdyBzZXR1cCBjdXJseF8gKiBuYW1lcyBmb3IgdGhlIGZ1bmN0aW9ucyB0aGF0IGFyZSB0byBiZWNvbWUgY3VybHhfIGFuZAogICAgYmUgcmVtb3ZlZCBmcm9tIGEgZnV0dXJlIGxpYmN1cmwgb2ZmaWNpYWwgQVBJOgogICAgY3VybHhfZ2V0ZW52CmRpZmYgLS1naXQgYS9saWIvZGljdC5jIGIvbGliL2RpY3QuYwppbmRleCBjODAyZGVlLi5mNTI5YjQ4IDEwMDY0NAotLS0gYS9saWIvZGljdC5jCisrKyBiL2xpYi9kaWN0LmMKQEAgLTk5LDcgKzk5LDggQEAKICAgY2hhciAqZGljdHA7CiAgIHNpemVfdCBsZW47CiAKLSAgQ1VSTGNvZGUgcmVzdWx0ID0gQ3VybF91cmxkZWNvZGUoZGF0YSwgaW5wdXRidWZmLCAwLCAmbmV3cCwgJmxlbiwgRkFMU0UpOworICBDVVJMY29kZSByZXN1bHQgPSBDdXJsX3VybGRlY29kZShkYXRhLCBpbnB1dGJ1ZmYsIDAsICZuZXdwLCAmbGVuLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBSRUpFQ1RfTkFEQSk7CiAgIGlmKCFuZXdwIHx8IHJlc3VsdCkKICAgICByZXR1cm4gTlVMTDsKIApkaWZmIC0tZ2l0IGEvbGliL2RvaC5jIGIvbGliL2RvaC5jCmluZGV4IDEwODY3Y2MuLmViYjJjMjQgMTAwNjQ0Ci0tLSBhL2xpYi9kb2guYworKysgYi9saWIvZG9oLmMKQEAgLTM1LDEzICszNSwxMyBAQAogI2luY2x1ZGUgImN1cmxfYmFzZTY0LmgiCiAjaW5jbHVkZSAiY29ubmVjdC5oIgogI2luY2x1ZGUgInN0cmR1cC5oIgorI2luY2x1ZGUgImR5bmJ1Zi5oIgogLyogVGhlIGxhc3QgMyAjaW5jbHVkZSBmaWxlcyBzaG91bGQgYmUgaW4gdGhpcyBvcmRlciAqLwogI2luY2x1ZGUgImN1cmxfcHJpbnRmLmgiCiAjaW5jbHVkZSAiY3VybF9tZW1vcnkuaCIKICNpbmNsdWRlICJtZW1kZWJ1Zy5oIgogCiAjZGVmaW5lIEROU19DTEFTU19JTiAweDAxCi0jZGVmaW5lIERPSF9NQVhfUkVTUE9OU0VfU0laRSAzMDAwIC8qIGJ5dGVzICovCiAKICNpZm5kZWYgQ1VSTF9ESVNBQkxFX1ZFUkJPU0VfU1RSSU5HUwogc3RhdGljIGNvbnN0IGNoYXIgKiBjb25zdCBlcnJvcnNbXT17CkBAIC0xNzcsMjAgKzE3NywxMSBAQAogZG9oX3dyaXRlX2NiKGNvbnN0IHZvaWQgKmNvbnRlbnRzLCBzaXplX3Qgc2l6ZSwgc2l6ZV90IG5tZW1iLCB2b2lkICp1c2VycCkKIHsKICAgc2l6ZV90IHJlYWxzaXplID0gc2l6ZSAqIG5tZW1iOwotICBzdHJ1Y3QgZG9ocmVzcG9uc2UgKm1lbSA9IChzdHJ1Y3QgZG9ocmVzcG9uc2UgKil1c2VycDsKKyAgc3RydWN0IGR5bmJ1ZiAqbWVtID0gKHN0cnVjdCBkeW5idWYgKil1c2VycDsKIAotICBpZigobWVtLT5zaXplICsgcmVhbHNpemUpID4gRE9IX01BWF9SRVNQT05TRV9TSVpFKQotICAgIC8qIHN1c3BpY2lvdXNseSBtdWNoIGZvciB1cyAqLworICBpZihDdXJsX2R5bl9hZGRuKG1lbSwgY29udGVudHMsIHJlYWxzaXplKSkKICAgICByZXR1cm4gMDsKIAotICBtZW0tPm1lbW9yeSA9IEN1cmxfc2FmZXJlYWxsb2MobWVtLT5tZW1vcnksIG1lbS0+c2l6ZSArIHJlYWxzaXplKTsKLSAgaWYoIW1lbS0+bWVtb3J5KQotICAgIC8qIG91dCBvZiBtZW1vcnkhICovCi0gICAgcmV0dXJuIDA7Ci0KLSAgbWVtY3B5KCYobWVtLT5tZW1vcnlbbWVtLT5zaXplXSksIGNvbnRlbnRzLCByZWFsc2l6ZSk7Ci0gIG1lbS0+c2l6ZSArPSByZWFsc2l6ZTsKLQogICByZXR1cm4gcmVhbHNpemU7CiB9CiAKQEAgLTIzOCwxMCArMjI5LDcgQEAKICAgfQogCiAgIHAtPmRuc3R5cGUgPSBkbnN0eXBlOwotICBwLT5zZXJ2ZXJkb2gubWVtb3J5ID0gTlVMTDsKLSAgLyogdGhlIG1lbW9yeSB3aWxsIGJlIGdyb3duIGFzIG5lZWRlZCBieSByZWFsbG9jIGluIHRoZSBkb2hfd3JpdGVfY2IKLSAgICAgZnVuY3Rpb24gKi8KLSAgcC0+c2VydmVyZG9oLnNpemUgPSAwOworICBDdXJsX2R5bl9pbml0KCZwLT5zZXJ2ZXJkb2gsIERZTl9ET0hfUkVTUE9OU0UpOwogCiAgIC8qIE5vdGU6IHRoaXMgaXMgY29kZSBmb3Igc2VuZGluZyB0aGUgRG9IIHJlcXVlc3Qgd2l0aCBHRVQgYnV0IHRoZXJlJ3Mgc3RpbGwKICAgICAgbm8gbG9naWMgdGhhdCBhY3R1YWxseSBlbmFibGVzIHRoaXMuIFdlIHNob3VsZCBlaXRoZXIgYWRkIHRoYXQgYWJpbGl0eSBvcgpAQCAtMjcyLDcgKzI2MCw3IEBACiAgIGlmKCFyZXN1bHQpIHsKICAgICAvKiBwYXNzIGluIHRoZSBzdHJ1Y3QgcG9pbnRlciB2aWEgYSBsb2NhbCB2YXJpYWJsZSB0byBwbGVhc2UgY292ZXJpdHkgYW5kCiAgICAgICAgdGhlIGdjYyB0eXBlY2hlY2sgaGVscGVycyAqLwotICAgIHN0cnVjdCBkb2hyZXNwb25zZSAqcmVzcCA9ICZwLT5zZXJ2ZXJkb2g7CisgICAgc3RydWN0IGR5bmJ1ZiAqcmVzcCA9ICZwLT5zZXJ2ZXJkb2g7CiAgICAgRVJST1JfQ0hFQ0tfU0VUT1BUKENVUkxPUFRfVVJMLCB1cmwpOwogICAgIEVSUk9SX0NIRUNLX1NFVE9QVChDVVJMT1BUX1dSSVRFRlVOQ1RJT04sIGRvaF93cml0ZV9jYik7CiAgICAgRVJST1JfQ0hFQ0tfU0VUT1BUKENVUkxPUFRfV1JJVEVEQVRBLCByZXNwKTsKQEAgLTM4NSwxMCArMzczLDEwIEBACiAgKiAnQ3VybF9hZGRyaW5mbyAqJyB3aXRoIHRoZSBhZGRyZXNzIGluZm9ybWF0aW9uLgogICovCiAKLUN1cmxfYWRkcmluZm8gKkN1cmxfZG9oKHN0cnVjdCBjb25uZWN0ZGF0YSAqY29ubiwKLSAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGNoYXIgKmhvc3RuYW1lLAotICAgICAgICAgICAgICAgICAgICAgICAgaW50IHBvcnQsCi0gICAgICAgICAgICAgICAgICAgICAgICBpbnQgKndhaXRwKQorc3RydWN0IEN1cmxfYWRkcmluZm8gKkN1cmxfZG9oKHN0cnVjdCBjb25uZWN0ZGF0YSAqY29ubiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBjaGFyICpob3N0bmFtZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcG9ydCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgKndhaXRwKQogewogICBzdHJ1Y3QgQ3VybF9lYXN5ICpkYXRhID0gY29ubi0+ZGF0YTsKICAgQ1VSTGNvZGUgcmVzdWx0ID0gQ1VSTEVfT0s7CkBAIC00MDEsNiArMzg5LDcgQEAKICAgLyogc3RhcnQgY2xlYW4sIGNvbnNpZGVyIGFsbG9jYXRpbmcgdGhpcyBzdHJ1Y3Qgb24gZGVtYW5kICovCiAgIG1lbXNldCgmZGF0YS0+cmVxLmRvaCwgMCwgc2l6ZW9mKHN0cnVjdCBkb2hkYXRhKSk7CiAKKyAgY29ubi0+Yml0cy5kb2ggPSBUUlVFOwogICBkYXRhLT5yZXEuZG9oLmhvc3QgPSBob3N0bmFtZTsKICAgZGF0YS0+cmVxLmRvaC5wb3J0ID0gcG9ydDsKICAgZGF0YS0+cmVxLmRvaC5oZWFkZXJzID0KQEAgLTUwNiwzOCArNDk1LDEyIEBACiAgIHJldHVybiBET0hfT0s7CiB9CiAKLXN0YXRpYyBET0hjb2RlIGNuYW1lYXBwZW5kKHN0cnVjdCBjbmFtZXN0b3JlICpjLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdW5zaWduZWQgY2hhciAqc3JjLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgc2l6ZV90IGxlbikKLXsKLSAgaWYoIWMtPmFsbG9jKSB7Ci0gICAgYy0+YWxsb2NzaXplID0gbGVuICsgMTsKLSAgICBjLT5hbGxvYyA9IG1hbGxvYyhjLT5hbGxvY3NpemUpOwotICAgIGlmKCFjLT5hbGxvYykKLSAgICAgIHJldHVybiBET0hfT1VUX09GX01FTTsKLSAgfQotICBlbHNlIGlmKGMtPmFsbG9jc2l6ZSA8IChjLT5hbGxvY3NpemUgKyBsZW4gKyAxKSkgewotICAgIGNoYXIgKnB0cjsKLSAgICBjLT5hbGxvY3NpemUgKz0gbGVuICsgMTsKLSAgICBwdHIgPSByZWFsbG9jKGMtPmFsbG9jLCBjLT5hbGxvY3NpemUpOwotICAgIGlmKCFwdHIpIHsKLSAgICAgIGZyZWUoYy0+YWxsb2MpOwotICAgICAgcmV0dXJuIERPSF9PVVRfT0ZfTUVNOwotICAgIH0KLSAgICBjLT5hbGxvYyA9IHB0cjsKLSAgfQotICBtZW1jcHkoJmMtPmFsbG9jW2MtPmxlbl0sIHNyYywgbGVuKTsKLSAgYy0+bGVuICs9IGxlbjsKLSAgYy0+YWxsb2NbYy0+bGVuXSA9IDA7IC8qIGtlZXAgaXQgemVybyB0ZXJtaW5hdGVkICovCi0gIHJldHVybiBET0hfT0s7Ci19Ci0KIHN0YXRpYyBET0hjb2RlIHN0b3JlX2NuYW1lKGNvbnN0IHVuc2lnbmVkIGNoYXIgKmRvaCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNpemVfdCBkb2hsZW4sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB1bnNpZ25lZCBpbnQgaW5kZXgsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJ1Y3QgZG9oZW50cnkgKmQpCiB7Ci0gIHN0cnVjdCBjbmFtZXN0b3JlICpjOworICBzdHJ1Y3QgZHluYnVmICpjOwogICB1bnNpZ25lZCBpbnQgbG9vcCA9IDEyODsgLyogYSB2YWxpZCBETlMgbmFtZSBjYW4gbmV2ZXIgbG9vcCB0aGlzIG11Y2ggKi8KICAgdW5zaWduZWQgY2hhciBsZW5ndGg7CiAKQEAgLTU2NiwxOCArNTI5LDE1IEBACiAgICAgICBpbmRleCsrOwogCiAgICAgaWYobGVuZ3RoKSB7Ci0gICAgICBET0hjb2RlIHJjOwotICAgICAgaWYoYy0+bGVuKSB7Ci0gICAgICAgIHJjID0gY25hbWVhcHBlbmQoYywgKHVuc2lnbmVkIGNoYXIgKikiLiIsIDEpOwotICAgICAgICBpZihyYykKLSAgICAgICAgICByZXR1cm4gcmM7CisgICAgICBpZihDdXJsX2R5bl9sZW4oYykpIHsKKyAgICAgICAgaWYoQ3VybF9keW5fYWRkKGMsICIuIikpCisgICAgICAgICAgcmV0dXJuIERPSF9PVVRfT0ZfTUVNOwogICAgICAgfQogICAgICAgaWYoKGluZGV4ICsgbGVuZ3RoKSA+IGRvaGxlbikKICAgICAgICAgcmV0dXJuIERPSF9ETlNfQkFEX0xBQkVMOwogCi0gICAgICByYyA9IGNuYW1lYXBwZW5kKGMsICZkb2hbaW5kZXhdLCBsZW5ndGgpOwotICAgICAgaWYocmMpCi0gICAgICAgIHJldHVybiByYzsKKyAgICAgIGlmKEN1cmxfZHluX2FkZG4oYywgJmRvaFtpbmRleF0sIGxlbmd0aCkpCisgICAgICAgIHJldHVybiBET0hfT1VUX09GX01FTTsKICAgICAgIGluZGV4ICs9IGxlbmd0aDsKICAgICB9CiAgIH0gd2hpbGUobGVuZ3RoICYmIC0tbG9vcCk7CkBAIC02MzAsMTAgKzU5MCwxMyBAQAogICByZXR1cm4gRE9IX09LOwogfQogCi1zdGF0aWMgdm9pZCBpbml0X2RvaGVudHJ5KHN0cnVjdCBkb2hlbnRyeSAqZGUpCitVTklUVEVTVCB2b2lkIGRlX2luaXQoc3RydWN0IGRvaGVudHJ5ICpkZSkKIHsKKyAgaW50IGk7CiAgIG1lbXNldChkZSwgMCwgc2l6ZW9mKCpkZSkpOwogICBkZS0+dHRsID0gSU5UX01BWDsKKyAgZm9yKGkgPSAwOyBpIDwgRE9IX01BWF9DTkFNRTsgaSsrKQorICAgIEN1cmxfZHluX2luaXQoJmRlLT5jbmFtZVtpXSwgRFlOX0RPSF9DTkFNRSk7CiB9CiAKIApAQCAtODA4LDcgKzc3MSw3IEBACiAgICAgfQogICB9CiAgIGZvcihpID0gMDsgaSA8IGQtPm51bWNuYW1lOyBpKyspIHsKLSAgICBpbmZvZihkYXRhLCAiQ05BTUU6ICVzXG4iLCBkLT5jbmFtZVtpXS5hbGxvYyk7CisgICAgaW5mb2YoZGF0YSwgIkNOQU1FOiAlc1xuIiwgQ3VybF9keW5fcHRyKCZkLT5jbmFtZVtpXSkpOwogICB9CiB9CiAjZWxzZQpAQCAtODI4LDE4ICs3OTEsMTkgQEAKICAqIG11c3QgYmUgYW4gYXNzb2NpYXRlZCBjYWxsIGxhdGVyIHRvIEN1cmxfZnJlZWFkZHJpbmZvKCkuCiAgKi8KIAotc3RhdGljIEN1cmxfYWRkcmluZm8gKgorc3RhdGljIHN0cnVjdCBDdXJsX2FkZHJpbmZvICoKIGRvaDJhaShjb25zdCBzdHJ1Y3QgZG9oZW50cnkgKmRlLCBjb25zdCBjaGFyICpob3N0bmFtZSwgaW50IHBvcnQpCiB7Ci0gIEN1cmxfYWRkcmluZm8gKmFpOwotICBDdXJsX2FkZHJpbmZvICpwcmV2YWkgPSBOVUxMOwotICBDdXJsX2FkZHJpbmZvICpmaXJzdGFpID0gTlVMTDsKKyAgc3RydWN0IEN1cmxfYWRkcmluZm8gKmFpOworICBzdHJ1Y3QgQ3VybF9hZGRyaW5mbyAqcHJldmFpID0gTlVMTDsKKyAgc3RydWN0IEN1cmxfYWRkcmluZm8gKmZpcnN0YWkgPSBOVUxMOwogICBzdHJ1Y3Qgc29ja2FkZHJfaW4gKmFkZHI7CiAjaWZkZWYgRU5BQkxFX0lQVjYKICAgc3RydWN0IHNvY2thZGRyX2luNiAqYWRkcjY7CiAjZW5kaWYKICAgQ1VSTGNvZGUgcmVzdWx0ID0gQ1VSTEVfT0s7CiAgIGludCBpOworICBzaXplX3QgaG9zdGxlbiA9IHN0cmxlbihob3N0bmFtZSkgKyAxOyAvKiBpbmNsdWRlIHplcm8gdGVybWluYXRvciAqLwogCiAgIGlmKCFkZSkKICAgICAvKiBubyBpbnB1dCA9PSBubyBvdXRwdXQhICovCkBAIC04NjIsMjQgKzgyNiwxNCBAQAogICAgICAgYWRkcnR5cGUgPSBBRl9JTkVUOwogICAgIH0KIAotICAgIGFpID0gY2FsbG9jKDEsIHNpemVvZihDdXJsX2FkZHJpbmZvKSk7CisgICAgYWkgPSBjYWxsb2MoMSwgc2l6ZW9mKHN0cnVjdCBDdXJsX2FkZHJpbmZvKSArIHNzX3NpemUgKyBob3N0bGVuKTsKICAgICBpZighYWkpIHsKICAgICAgIHJlc3VsdCA9IENVUkxFX09VVF9PRl9NRU1PUlk7CiAgICAgICBicmVhazsKICAgICB9Ci0gICAgYWktPmFpX2Nhbm9ubmFtZSA9IHN0cmR1cChob3N0bmFtZSk7Ci0gICAgaWYoIWFpLT5haV9jYW5vbm5hbWUpIHsKLSAgICAgIHJlc3VsdCA9IENVUkxFX09VVF9PRl9NRU1PUlk7Ci0gICAgICBmcmVlKGFpKTsKLSAgICAgIGJyZWFrOwotICAgIH0KLSAgICBhaS0+YWlfYWRkciA9IGNhbGxvYygxLCBzc19zaXplKTsKLSAgICBpZighYWktPmFpX2FkZHIpIHsKLSAgICAgIHJlc3VsdCA9IENVUkxFX09VVF9PRl9NRU1PUlk7Ci0gICAgICBmcmVlKGFpLT5haV9jYW5vbm5hbWUpOwotICAgICAgZnJlZShhaSk7Ci0gICAgICBicmVhazsKLSAgICB9CisgICAgYWktPmFpX2FkZHIgPSAodm9pZCAqKSgoY2hhciAqKWFpICsgc2l6ZW9mKHN0cnVjdCBDdXJsX2FkZHJpbmZvKSk7CisgICAgYWktPmFpX2Nhbm9ubmFtZSA9ICh2b2lkICopKChjaGFyICopYWktPmFpX2FkZHIgKyBzc19zaXplKTsKKyAgICBtZW1jcHkoYWktPmFpX2Nhbm9ubmFtZSwgaG9zdG5hbWUsIGhvc3RsZW4pOwogCiAgICAgaWYoIWZpcnN0YWkpCiAgICAgICAvKiBzdG9yZSB0aGUgcG9pbnRlciB3ZSB3YW50IHRvIHJldHVybiBmcm9tIHRoaXMgZnVuY3Rpb24gKi8KQEAgLTk0MSw3ICs4OTUsNyBAQAogewogICBpbnQgaSA9IDA7CiAgIGZvcihpID0gMDsgaSA8IGQtPm51bWNuYW1lOyBpKyspIHsKLSAgICBmcmVlKGQtPmNuYW1lW2ldLmFsbG9jKTsKKyAgICBDdXJsX2R5bl9mcmVlKCZkLT5jbmFtZVtpXSk7CiAgIH0KIH0KIApAQCAtOTU5LDcgKzkxMyw5IEBACiAgICAgICBDVVJMRV9DT1VMRE5UX1JFU09MVkVfSE9TVDsKICAgfQogICBlbHNlIGlmKCFkYXRhLT5yZXEuZG9oLnBlbmRpbmcpIHsKLSAgICBET0hjb2RlIHJjW0RPSF9QUk9CRV9TTE9UU107CisgICAgRE9IY29kZSByY1tET0hfUFJPQkVfU0xPVFNdID0geworICAgICAgRE9IX09LLCBET0hfT0sKKyAgICB9OwogICAgIHN0cnVjdCBkb2hlbnRyeSBkZTsKICAgICBpbnQgc2xvdDsKICAgICAvKiByZW1vdmUgRE9IIGhhbmRsZXMgZnJvbSBtdWx0aSBoYW5kbGUgYW5kIGNsb3NlIHRoZW0gKi8KQEAgLTk2OCwxNyArOTI0LDE5IEBACiAgICAgICBDdXJsX2Nsb3NlKCZkYXRhLT5yZXEuZG9oLnByb2JlW3Nsb3RdLmVhc3kpOwogICAgIH0KICAgICAvKiBwYXJzZSB0aGUgcmVzcG9uc2VzLCBjcmVhdGUgdGhlIHN0cnVjdCBhbmQgcmV0dXJuIGl0ISAqLwotICAgIGluaXRfZG9oZW50cnkoJmRlKTsKKyAgICBkZV9pbml0KCZkZSk7CiAgICAgZm9yKHNsb3QgPSAwOyBzbG90IDwgRE9IX1BST0JFX1NMT1RTOyBzbG90KyspIHsKLSAgICAgIHJjW3Nsb3RdID0gZG9oX2RlY29kZShkYXRhLT5yZXEuZG9oLnByb2JlW3Nsb3RdLnNlcnZlcmRvaC5tZW1vcnksCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS0+cmVxLmRvaC5wcm9iZVtzbG90XS5zZXJ2ZXJkb2guc2l6ZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLT5yZXEuZG9oLnByb2JlW3Nsb3RdLmRuc3R5cGUsCisgICAgICBzdHJ1Y3QgZG5zcHJvYmUgKnAgPSAmZGF0YS0+cmVxLmRvaC5wcm9iZVtzbG90XTsKKyAgICAgIGlmKCFwLT5kbnN0eXBlKQorICAgICAgICBjb250aW51ZTsKKyAgICAgIHJjW3Nsb3RdID0gZG9oX2RlY29kZShDdXJsX2R5bl91cHRyKCZwLT5zZXJ2ZXJkb2gpLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgIEN1cmxfZHluX2xlbigmcC0+c2VydmVyZG9oKSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBwLT5kbnN0eXBlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICZkZSk7Ci0gICAgICBDdXJsX3NhZmVmcmVlKGRhdGEtPnJlcS5kb2gucHJvYmVbc2xvdF0uc2VydmVyZG9oLm1lbW9yeSk7CisgICAgICBDdXJsX2R5bl9mcmVlKCZwLT5zZXJ2ZXJkb2gpOwogICAgICAgaWYocmNbc2xvdF0pIHsKICAgICAgICAgaW5mb2YoZGF0YSwgIkRPSDogJXMgdHlwZSAlcyBmb3IgJXNcbiIsIGRvaF9zdHJlcnJvcihyY1tzbG90XSksCi0gICAgICAgICAgICAgIHR5cGUybmFtZShkYXRhLT5yZXEuZG9oLnByb2JlW3Nsb3RdLmRuc3R5cGUpLAotICAgICAgICAgICAgICBkYXRhLT5yZXEuZG9oLmhvc3QpOworICAgICAgICAgICAgICB0eXBlMm5hbWUocC0+ZG5zdHlwZSksIGRhdGEtPnJlcS5kb2guaG9zdCk7CiAgICAgICB9CiAgICAgfSAvKiBuZXh0IHNsb3QgKi8KIApkaWZmIC0tZ2l0IGEvbGliL2RvaC5oIGIvbGliL2RvaC5oCmluZGV4IGY2MTU0ZmYuLmJiZDRjMWEgMTAwNjQ0Ci0tLSBhL2xpYi9kb2guaAorKysgYi9saWIvZG9oLmgKQEAgLTMyLDEwICszMiwxMCBAQAogICogYW5kIHJldHVybnMgYSAnQ3VybF9hZGRyaW5mbyAqJyB3aXRoIHRoZSBhZGRyZXNzIGluZm9ybWF0aW9uLgogICovCiAKLUN1cmxfYWRkcmluZm8gKkN1cmxfZG9oKHN0cnVjdCBjb25uZWN0ZGF0YSAqY29ubiwKLSAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGNoYXIgKmhvc3RuYW1lLAotICAgICAgICAgICAgICAgICAgICAgICAgaW50IHBvcnQsCi0gICAgICAgICAgICAgICAgICAgICAgICBpbnQgKndhaXRwKTsKK3N0cnVjdCBDdXJsX2FkZHJpbmZvICpDdXJsX2RvaChzdHJ1Y3QgY29ubmVjdGRhdGEgKmNvbm4sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgY2hhciAqaG9zdG5hbWUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHBvcnQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50ICp3YWl0cCk7CiAKIENVUkxjb2RlIEN1cmxfZG9oX2lzX3Jlc29sdmVkKHN0cnVjdCBjb25uZWN0ZGF0YSAqY29ubiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cnVjdCBDdXJsX2Ruc19lbnRyeSAqKmRucyk7CkBAIC03MCwxMiArNzAsNiBAQAogI2RlZmluZSBET0hfTUFYX0FERFIgMjQKICNkZWZpbmUgRE9IX01BWF9DTkFNRSA0CiAKLXN0cnVjdCBjbmFtZXN0b3JlIHsKLSAgc2l6ZV90IGxlbjsgICAgICAgLyogbGVuZ3RoIG9mIGNuYW1lICovCi0gIGNoYXIgKmFsbG9jOyAgICAgIC8qIGFsbG9jYXRlZCBwb2ludGVyICovCi0gIHNpemVfdCBhbGxvY3NpemU7IC8qIGFsbG9jYXRlZCBzaXplICovCi19OwotCiBzdHJ1Y3QgZG9oYWRkciB7CiAgIGludCB0eXBlOwogICB1bmlvbiB7CkBAIC04NSwxMSArNzksMTEgQEAKIH07CiAKIHN0cnVjdCBkb2hlbnRyeSB7Ci0gIHVuc2lnbmVkIGludCB0dGw7Ci0gIGludCBudW1hZGRyOworICBzdHJ1Y3QgZHluYnVmIGNuYW1lW0RPSF9NQVhfQ05BTUVdOwogICBzdHJ1Y3QgZG9oYWRkciBhZGRyW0RPSF9NQVhfQUREUl07CisgIGludCBudW1hZGRyOworICB1bnNpZ25lZCBpbnQgdHRsOwogICBpbnQgbnVtY25hbWU7Ci0gIHN0cnVjdCBjbmFtZXN0b3JlIGNuYW1lW0RPSF9NQVhfQ05BTUVdOwogfTsKIAogCkBAIC0xMDMsNiArOTcsNyBAQAogICAgICAgICAgICAgICAgICAgIHNpemVfdCBkb2hsZW4sCiAgICAgICAgICAgICAgICAgICAgRE5TdHlwZSBkbnN0eXBlLAogICAgICAgICAgICAgICAgICAgIHN0cnVjdCBkb2hlbnRyeSAqZCk7Cit2b2lkIGRlX2luaXQoc3RydWN0IGRvaGVudHJ5ICpkKTsKIHZvaWQgZGVfY2xlYW51cChzdHJ1Y3QgZG9oZW50cnkgKmQpOwogI2VuZGlmCiAKZGlmZiAtLWdpdCBhL2xpYi9kb3Rkb3QuYyBiL2xpYi9kb3Rkb3QuYwppbmRleCBmZTRmNDk3Li5jZTlhMDUyIDEwMDY0NAotLS0gYS9saWIvZG90ZG90LmMKKysrIGIvbGliL2RvdGRvdC5jCkBAIC01LDcgKzUsNyBAQAogICogICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAoX198IHxffCB8ICBfIDx8IHxfX18KICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcX19ffFxfX18vfF98IFxfXF9fX19ffAogICoKLSAqIENvcHlyaWdodCAoQykgMTk5OCAtIDIwMTksIERhbmllbCBTdGVuYmVyZywgPGRhbmllbEBoYXh4LnNlPiwgZXQgYWwuCisgKiBDb3B5cmlnaHQgKEMpIDE5OTggLSAyMDIwLCBEYW5pZWwgU3RlbmJlcmcsIDxkYW5pZWxAaGF4eC5zZT4sIGV0IGFsLgogICoKICAqIFRoaXMgc29mdHdhcmUgaXMgbGljZW5zZWQgYXMgZGVzY3JpYmVkIGluIHRoZSBmaWxlIENPUFlJTkcsIHdoaWNoCiAgKiB5b3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYXMgcGFydCBvZiB0aGlzIGRpc3RyaWJ1dGlvbi4gVGhlIHRlcm1zCkBAIC0zOSw3ICszOSw3IEBACiAgKiBDdXJsX2RlZG90ZG90aWZ5KCkKICAqIEB1bml0dGVzdDogMTM5NQogICoKLSAqIFRoaXMgZnVuY3Rpb24gZ2V0cyBhIHplcm8tdGVybWluYXRlZCBwYXRoIHdpdGggZG90IGFuZCBkb3Rkb3Qgc2VxdWVuY2VzCisgKiBUaGlzIGZ1bmN0aW9uIGdldHMgYSBudWxsLXRlcm1pbmF0ZWQgcGF0aCB3aXRoIGRvdCBhbmQgZG90ZG90IHNlcXVlbmNlcwogICogcGFzc2VkIGluIGFuZCBzdHJpcHMgdGhlbSBvZmYgYWNjb3JkaW5nIHRvIHRoZSBydWxlcyBpbiBSRkMgMzk4NiBzZWN0aW9uCiAgKiA1LjIuNC4KICAqCkBAIC02Miw3ICs2Miw3IEBACiAgIGlmKCFvdXQpCiAgICAgcmV0dXJuIE5VTEw7IC8qIG91dCBvZiBtZW1vcnkgKi8KIAotICAqb3V0ID0gMDsgLyogemVybyB0ZXJtaW5hdGVzLCBmb3IgaW5wdXRzIGxpa2UgIi4vIiAqLworICAqb3V0ID0gMDsgLyogbnVsbC10ZXJtaW5hdGVzLCBmb3IgaW5wdXRzIGxpa2UgIi4vIiAqLwogCiAgIC8qIGdldCBhIGNsb25lZCBjb3B5IG9mIHRoZSBpbnB1dCAqLwogICBjbG9uZSA9IHN0cmR1cChpbnB1dCk7CkBAIC0xMjksNyArMTI5LDcgQEAKICAgICAgICAgaWYoKm91dHB0ciA9PSAnLycpCiAgICAgICAgICAgYnJlYWs7CiAgICAgICB9Ci0gICAgICAqb3V0cHRyID0gMDsgLyogemVyby10ZXJtaW5hdGUgd2hlcmUgaXQgc3RvcHMgKi8KKyAgICAgICpvdXRwdHIgPSAwOyAvKiBudWxsLXRlcm1pbmF0ZSB3aGVyZSBpdCBzdG9wcyAqLwogICAgIH0KICAgICBlbHNlIGlmKCFzdHJjbXAoIi8uLiIsIGNsb25lKSkgewogICAgICAgY2xvbmVbMl09Jy8nOwpAQCAtMTQxLDcgKzE0MSw3IEBACiAgICAgICAgIGlmKCpvdXRwdHIgPT0gJy8nKQogICAgICAgICAgIGJyZWFrOwogICAgICAgfQotICAgICAgKm91dHB0ciA9IDA7IC8qIHplcm8tdGVybWluYXRlIHdoZXJlIGl0IHN0b3BzICovCisgICAgICAqb3V0cHRyID0gMDsgLyogbnVsbC10ZXJtaW5hdGUgd2hlcmUgaXQgc3RvcHMgKi8KICAgICB9CiAKICAgICAvKiAgRC4gIGlmIHRoZSBpbnB1dCBidWZmZXIgY29uc2lzdHMgb25seSBvZiAiLiIgb3IgIi4uIiwgdGhlbiByZW1vdmUKZGlmZiAtLWdpdCBhL2xpYi9keW5idWYuYyBiL2xpYi9keW5idWYuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4zOGQzNzBiCi0tLSAvZGV2L251bGwKKysrIGIvbGliL2R5bmJ1Zi5jCkBAIC0wLDAgKzEsMjI3IEBACisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBfICAgXyBfX19fICBfCisgKiAgUHJvamVjdCAgICAgICAgICAgICAgICAgICAgIF9fX3wgfCB8IHwgIF8gXHwgfAorICogICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8gX198IHwgfCB8IHxfKSB8IHwKKyAqICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgKF9ffCB8X3wgfCAgXyA8fCB8X19fCisgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXF9fX3xcX19fL3xffCBcX1xfX19fX3wKKyAqCisgKiBDb3B5cmlnaHQgKEMpIDIwMjAsIERhbmllbCBTdGVuYmVyZywgPGRhbmllbEBoYXh4LnNlPiwgZXQgYWwuCisgKgorICogVGhpcyBzb2Z0d2FyZSBpcyBsaWNlbnNlZCBhcyBkZXNjcmliZWQgaW4gdGhlIGZpbGUgQ09QWUlORywgd2hpY2gKKyAqIHlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhcyBwYXJ0IG9mIHRoaXMgZGlzdHJpYnV0aW9uLiBUaGUgdGVybXMKKyAqIGFyZSBhbHNvIGF2YWlsYWJsZSBhdCBodHRwczovL2N1cmwuaGF4eC5zZS9kb2NzL2NvcHlyaWdodC5odG1sLgorICoKKyAqIFlvdSBtYXkgb3B0IHRvIHVzZSwgY29weSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlzaCwgZGlzdHJpYnV0ZSBhbmQvb3Igc2VsbAorICogY29waWVzIG9mIHRoZSBTb2Z0d2FyZSwgYW5kIHBlcm1pdCBwZXJzb25zIHRvIHdob20gdGhlIFNvZnR3YXJlIGlzCisgKiBmdXJuaXNoZWQgdG8gZG8gc28sIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgQ09QWUlORyBmaWxlLgorICoKKyAqIFRoaXMgc29mdHdhcmUgaXMgZGlzdHJpYnV0ZWQgb24gYW4gIkFTIElTIiBiYXNpcywgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkKKyAqIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuCisgKgorICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKworI2luY2x1ZGUgImN1cmxfc2V0dXAuaCIKKyNpbmNsdWRlICJzdHJkdXAuaCIKKyNpbmNsdWRlICJkeW5idWYuaCIKKworLyogVGhlIGxhc3QgMyAjaW5jbHVkZSBmaWxlcyBzaG91bGQgYmUgaW4gdGhpcyBvcmRlciAqLworI2luY2x1ZGUgImN1cmxfcHJpbnRmLmgiCisjaW5jbHVkZSAiY3VybF9tZW1vcnkuaCIKKyNpbmNsdWRlICJtZW1kZWJ1Zy5oIgorCisjZGVmaW5lIE1JTl9GSVJTVF9BTExPQyAzMgorCisjZGVmaW5lIERZTklOSVQgMHhiZWU1MWRhIC8qIHJhbmRvbSBwYXR0ZXJuICovCisKKy8qCisgKiBJbml0IGEgZHluYnVmIHN0cnVjdC4KKyAqLwordm9pZCBDdXJsX2R5bl9pbml0KHN0cnVjdCBkeW5idWYgKnMsIHNpemVfdCB0b29iaWcpCit7CisgIERFQlVHQVNTRVJUKHMpOworICBERUJVR0FTU0VSVCh0b29iaWcpOworICBzLT5idWZyID0gTlVMTDsKKyAgcy0+bGVuZyA9IDA7CisgIHMtPmFsbGMgPSAwOworICBzLT50b29iaWcgPSB0b29iaWc7CisjaWZkZWYgREVCVUdCVUlMRAorICBzLT5pbml0ID0gRFlOSU5JVDsKKyNlbmRpZgorfQorCisvKgorICogZnJlZSB0aGUgYnVmZmVyIGFuZCByZS1pbml0IHRoZSBuZWNlc3NhcnkgZmllbGRzLiBJdCBkb2Vzbid0IHRvdWNoIHRoZQorICogJ2luaXQnIGZpZWxkIGFuZCB0aHVzIHRoaXMgYnVmZmVyIGNhbiBiZSByZXVzZWQgdG8gYWRkIGRhdGEgdG8gYWdhaW4uCisgKi8KK3ZvaWQgQ3VybF9keW5fZnJlZShzdHJ1Y3QgZHluYnVmICpzKQoreworICBERUJVR0FTU0VSVChzKTsKKyAgQ3VybF9zYWZlZnJlZShzLT5idWZyKTsKKyAgcy0+bGVuZyA9IHMtPmFsbGMgPSAwOworfQorCisvKgorICogU3RvcmUvYXBwZW5kIGFuIGNodW5rIG9mIG1lbW9yeSB0byB0aGUgZHluYnVmLgorICovCitzdGF0aWMgQ1VSTGNvZGUgZHluX25hcHBlbmQoc3RydWN0IGR5bmJ1ZiAqcywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1bnNpZ25lZCBjaGFyICptZW0sIHNpemVfdCBsZW4pCit7CisgIHNpemVfdCBpbmR4ID0gcy0+bGVuZzsKKyAgc2l6ZV90IGEgPSBzLT5hbGxjOworICBzaXplX3QgZml0ID0gbGVuICsgaW5keCArIDE7IC8qIG5ldyBzdHJpbmcgKyBvbGQgc3RyaW5nICsgemVybyBieXRlICovCisKKyAgLyogdHJ5IHRvIGRldGVjdCBpZiB0aGVyZSdzIHJ1YmJpc2ggaW4gdGhlIHN0cnVjdCAqLworICBERUJVR0FTU0VSVChzLT5pbml0ID09IERZTklOSVQpOworICBERUJVR0FTU0VSVChzLT50b29iaWcpOworICBERUJVR0FTU0VSVChpbmR4IDwgcy0+dG9vYmlnKTsKKyAgREVCVUdBU1NFUlQoIXMtPmxlbmcgfHwgcy0+YnVmcik7CisKKyAgaWYoZml0ID4gcy0+dG9vYmlnKSB7CisgICAgQ3VybF9keW5fZnJlZShzKTsKKyAgICByZXR1cm4gQ1VSTEVfT1VUX09GX01FTU9SWTsKKyAgfQorICBlbHNlIGlmKCFhKSB7CisgICAgREVCVUdBU1NFUlQoIWluZHgpOworICAgIC8qIGZpcnN0IGludm9rZSAqLworICAgIGlmKGZpdCA8IE1JTl9GSVJTVF9BTExPQykKKyAgICAgIGEgPSBNSU5fRklSU1RfQUxMT0M7CisgICAgZWxzZQorICAgICAgYSA9IGZpdDsKKyAgfQorICBlbHNlIHsKKyAgICB3aGlsZShhIDwgZml0KQorICAgICAgYSAqPSAyOworICB9CisKKyAgaWYoYSAhPSBzLT5hbGxjKSB7CisgICAgcy0+YnVmciA9IEN1cmxfc2FmZXJlYWxsb2Mocy0+YnVmciwgYSk7CisgICAgaWYoIXMtPmJ1ZnIpIHsKKyAgICAgIHMtPmxlbmcgPSBzLT5hbGxjID0gMDsKKyAgICAgIHJldHVybiBDVVJMRV9PVVRfT0ZfTUVNT1JZOworICAgIH0KKyAgICBzLT5hbGxjID0gYTsKKyAgfQorCisgIGlmKGxlbikKKyAgICBtZW1jcHkoJnMtPmJ1ZnJbaW5keF0sIG1lbSwgbGVuKTsKKyAgcy0+bGVuZyA9IGluZHggKyBsZW47CisgIHMtPmJ1ZnJbcy0+bGVuZ10gPSAwOworICByZXR1cm4gQ1VSTEVfT0s7Cit9CisKKy8qCisgKiBDbGVhcnMgdGhlIHN0cmluZywga2VlcHMgdGhlIGFsbG9jYXRpb24uIFRoaXMgY2FuIGFsc28gYmUgY2FsbGVkIG9uIGEKKyAqIGJ1ZmZlciB0aGF0IGFscmVhZHkgd2FzIGZyZWVkLgorICovCit2b2lkIEN1cmxfZHluX3Jlc2V0KHN0cnVjdCBkeW5idWYgKnMpCit7CisgIERFQlVHQVNTRVJUKHMpOworICBERUJVR0FTU0VSVChzLT5pbml0ID09IERZTklOSVQpOworICBERUJVR0FTU0VSVCghcy0+bGVuZyB8fCBzLT5idWZyKTsKKyAgaWYocy0+bGVuZykKKyAgICBzLT5idWZyWzBdID0gMDsKKyAgcy0+bGVuZyA9IDA7Cit9CisKKyNpZmRlZiBVU0VfTkdUQ1AyCisvKgorICogU3BlY2lmeSB0aGUgc2l6ZSBvZiB0aGUgdGFpbCB0byBrZWVwIChudW1iZXIgb2YgYnl0ZXMgZnJvbSB0aGUgZW5kIG9mIHRoZQorICogYnVmZmVyKS4gVGhlIHJlc3Qgd2lsbCBiZSBkcm9wcGVkLgorICovCitDVVJMY29kZSBDdXJsX2R5bl90YWlsKHN0cnVjdCBkeW5idWYgKnMsIHNpemVfdCB0cmFpbCkKK3sKKyAgREVCVUdBU1NFUlQocyk7CisgIERFQlVHQVNTRVJUKHMtPmluaXQgPT0gRFlOSU5JVCk7CisgIERFQlVHQVNTRVJUKCFzLT5sZW5nIHx8IHMtPmJ1ZnIpOworICBpZih0cmFpbCA+IHMtPmxlbmcpCisgICAgcmV0dXJuIENVUkxFX0JBRF9GVU5DVElPTl9BUkdVTUVOVDsKKyAgZWxzZSBpZih0cmFpbCA9PSBzLT5sZW5nKQorICAgIHJldHVybiBDVVJMRV9PSzsKKyAgZWxzZSBpZighdHJhaWwpIHsKKyAgICBDdXJsX2R5bl9yZXNldChzKTsKKyAgfQorICBlbHNlIHsKKyAgICBtZW1tb3ZlKCZzLT5idWZyWzBdLCAmcy0+YnVmcltzLT5sZW5nIC0gdHJhaWxdLCB0cmFpbCk7CisgICAgcy0+bGVuZyA9IHRyYWlsOworICB9CisgIHJldHVybiBDVVJMRV9PSzsKKworfQorI2VuZGlmCisKKy8qCisgKiBBcHBlbmRzIGEgYnVmZmVyIHdpdGggbGVuZ3RoLgorICovCitDVVJMY29kZSBDdXJsX2R5bl9hZGRuKHN0cnVjdCBkeW5idWYgKnMsIGNvbnN0IHZvaWQgKm1lbSwgc2l6ZV90IGxlbikKK3sKKyAgREVCVUdBU1NFUlQocyk7CisgIERFQlVHQVNTRVJUKHMtPmluaXQgPT0gRFlOSU5JVCk7CisgIERFQlVHQVNTRVJUKCFzLT5sZW5nIHx8IHMtPmJ1ZnIpOworICByZXR1cm4gZHluX25hcHBlbmQocywgbWVtLCBsZW4pOworfQorCisvKgorICogQXBwZW5kIGEgbnVsbC10ZXJtaW5hdGVkIHN0cmluZyBhdCB0aGUgZW5kLgorICovCitDVVJMY29kZSBDdXJsX2R5bl9hZGQoc3RydWN0IGR5bmJ1ZiAqcywgY29uc3QgY2hhciAqc3RyKQoreworICBzaXplX3QgbiA9IHN0cmxlbihzdHIpOworICBERUJVR0FTU0VSVChzKTsKKyAgREVCVUdBU1NFUlQocy0+aW5pdCA9PSBEWU5JTklUKTsKKyAgREVCVUdBU1NFUlQoIXMtPmxlbmcgfHwgcy0+YnVmcik7CisgIHJldHVybiBkeW5fbmFwcGVuZChzLCAodW5zaWduZWQgY2hhciAqKXN0ciwgbik7Cit9CisKKy8qCisgKiBBcHBlbmQgYSBzdHJpbmcgcHJpbnRmKCktc3R5bGUKKyAqLworQ1VSTGNvZGUgQ3VybF9keW5fYWRkZihzdHJ1Y3QgZHluYnVmICpzLCBjb25zdCBjaGFyICpmbXQsIC4uLikKK3sKKyAgY2hhciAqc3RyOworICB2YV9saXN0IGFwOworICB2YV9zdGFydChhcCwgZm10KTsKKyAgc3RyID0gdmFwcmludGYoZm10LCBhcCk7IC8qIHRoaXMgYWxsb2NzIGEgbmV3IHN0cmluZyB0byBhcHBlbmQgKi8KKyAgdmFfZW5kKGFwKTsKKworICBpZihzdHIpIHsKKyAgICBDVVJMY29kZSByZXN1bHQgPSBkeW5fbmFwcGVuZChzLCAodW5zaWduZWQgY2hhciAqKXN0ciwgc3RybGVuKHN0cikpOworICAgIGZyZWUoc3RyKTsKKyAgICByZXR1cm4gcmVzdWx0OworICB9CisgIC8qIElmIHdlIGZhaWxlZCwgd2UgY2xlYW51cCB0aGUgd2hvbGUgYnVmZmVyIGFuZCByZXR1cm4gZXJyb3IgKi8KKyAgQ3VybF9keW5fZnJlZShzKTsKKyAgcmV0dXJuIENVUkxFX09VVF9PRl9NRU1PUlk7Cit9CisKKy8qCisgKiBSZXR1cm5zIGEgcG9pbnRlciB0byB0aGUgYnVmZmVyLgorICovCitjaGFyICpDdXJsX2R5bl9wdHIoY29uc3Qgc3RydWN0IGR5bmJ1ZiAqcykKK3sKKyAgREVCVUdBU1NFUlQocyk7CisgIERFQlVHQVNTRVJUKHMtPmluaXQgPT0gRFlOSU5JVCk7CisgIERFQlVHQVNTRVJUKCFzLT5sZW5nIHx8IHMtPmJ1ZnIpOworICByZXR1cm4gcy0+YnVmcjsKK30KKworLyoKKyAqIFJldHVybnMgYW4gdW5zaWduZWQgcG9pbnRlciB0byB0aGUgYnVmZmVyLgorICovCit1bnNpZ25lZCBjaGFyICpDdXJsX2R5bl91cHRyKGNvbnN0IHN0cnVjdCBkeW5idWYgKnMpCit7CisgIERFQlVHQVNTRVJUKHMpOworICBERUJVR0FTU0VSVChzLT5pbml0ID09IERZTklOSVQpOworICBERUJVR0FTU0VSVCghcy0+bGVuZyB8fCBzLT5idWZyKTsKKyAgcmV0dXJuICh1bnNpZ25lZCBjaGFyICopcy0+YnVmcjsKK30KKworLyoKKyAqIFJldHVybnMgdGhlIGxlbmd0aCBvZiB0aGUgYnVmZmVyLgorICovCitzaXplX3QgQ3VybF9keW5fbGVuKGNvbnN0IHN0cnVjdCBkeW5idWYgKnMpCit7CisgIERFQlVHQVNTRVJUKHMpOworICBERUJVR0FTU0VSVChzLT5pbml0ID09IERZTklOSVQpOworICBERUJVR0FTU0VSVCghcy0+bGVuZyB8fCBzLT5idWZyKTsKKyAgcmV0dXJuIHMtPmxlbmc7Cit9CmRpZmYgLS1naXQgYS9saWIvZHluYnVmLmggYi9saWIvZHluYnVmLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYzgwMjM5ZQotLS0gL2Rldi9udWxsCisrKyBiL2xpYi9keW5idWYuaApAQCAtMCwwICsxLDYzIEBACisjaWZuZGVmIEhFQURFUl9DVVJMX0RZTkJVRl9ICisjZGVmaW5lIEhFQURFUl9DVVJMX0RZTkJVRl9ICisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBfICAgXyBfX19fICBfCisgKiAgUHJvamVjdCAgICAgICAgICAgICAgICAgICAgIF9fX3wgfCB8IHwgIF8gXHwgfAorICogICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8gX198IHwgfCB8IHxfKSB8IHwKKyAqICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgKF9ffCB8X3wgfCAgXyA8fCB8X19fCisgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXF9fX3xcX19fL3xffCBcX1xfX19fX3wKKyAqCisgKiBDb3B5cmlnaHQgKEMpIDIwMjAsIERhbmllbCBTdGVuYmVyZywgPGRhbmllbEBoYXh4LnNlPiwgZXQgYWwuCisgKgorICogVGhpcyBzb2Z0d2FyZSBpcyBsaWNlbnNlZCBhcyBkZXNjcmliZWQgaW4gdGhlIGZpbGUgQ09QWUlORywgd2hpY2gKKyAqIHlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhcyBwYXJ0IG9mIHRoaXMgZGlzdHJpYnV0aW9uLiBUaGUgdGVybXMKKyAqIGFyZSBhbHNvIGF2YWlsYWJsZSBhdCBodHRwczovL2N1cmwuaGF4eC5zZS9kb2NzL2NvcHlyaWdodC5odG1sLgorICoKKyAqIFlvdSBtYXkgb3B0IHRvIHVzZSwgY29weSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlzaCwgZGlzdHJpYnV0ZSBhbmQvb3Igc2VsbAorICogY29waWVzIG9mIHRoZSBTb2Z0d2FyZSwgYW5kIHBlcm1pdCBwZXJzb25zIHRvIHdob20gdGhlIFNvZnR3YXJlIGlzCisgKiBmdXJuaXNoZWQgdG8gZG8gc28sIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgQ09QWUlORyBmaWxlLgorICoKKyAqIFRoaXMgc29mdHdhcmUgaXMgZGlzdHJpYnV0ZWQgb24gYW4gIkFTIElTIiBiYXNpcywgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkKKyAqIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuCisgKgorICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKworc3RydWN0IGR5bmJ1ZiB7CisgIGNoYXIgKmJ1ZnI7ICAgIC8qIHBvaW50IHRvIGEgbnVsbC10ZXJtaW5hdGVkIGFsbG9jYXRlZCBidWZmZXIgKi8KKyAgc2l6ZV90IGxlbmc7ICAgLyogbnVtYmVyIG9mIGJ5dGVzICpFWENMVURJTkcqIHRoZSB6ZXJvIHRlcm1pbmF0b3IgKi8KKyAgc2l6ZV90IGFsbGM7ICAgLyogc2l6ZSBvZiB0aGUgY3VycmVudCBhbGxvY2F0aW9uICovCisgIHNpemVfdCB0b29iaWc7IC8qIHNpemUgbGltaXQgZm9yIHRoZSBidWZmZXIgKi8KKyNpZmRlZiBERUJVR0JVSUxECisgIGludCBpbml0OyAgICAgLyogZGV0ZWN0IEFQSSB1c2FnZSBtaXN0YWtlcyAqLworI2VuZGlmCit9OworCit2b2lkIEN1cmxfZHluX2luaXQoc3RydWN0IGR5bmJ1ZiAqcywgc2l6ZV90IHRvb2JpZyk7Cit2b2lkIEN1cmxfZHluX2ZyZWUoc3RydWN0IGR5bmJ1ZiAqcyk7CitDVVJMY29kZSBDdXJsX2R5bl9hZGRuKHN0cnVjdCBkeW5idWYgKnMsIGNvbnN0IHZvaWQgKm1lbSwgc2l6ZV90IGxlbikKKyAgV0FSTl9VTlVTRURfUkVTVUxUOworQ1VSTGNvZGUgQ3VybF9keW5fYWRkKHN0cnVjdCBkeW5idWYgKnMsIGNvbnN0IGNoYXIgKnN0cikKKyAgV0FSTl9VTlVTRURfUkVTVUxUOworQ1VSTGNvZGUgQ3VybF9keW5fYWRkZihzdHJ1Y3QgZHluYnVmICpzLCBjb25zdCBjaGFyICpmbXQsIC4uLikKKyAgV0FSTl9VTlVTRURfUkVTVUxUOwordm9pZCBDdXJsX2R5bl9yZXNldChzdHJ1Y3QgZHluYnVmICpzKTsKK0NVUkxjb2RlIEN1cmxfZHluX3RhaWwoc3RydWN0IGR5bmJ1ZiAqcywgc2l6ZV90IHRyYWlsKTsKK2NoYXIgKkN1cmxfZHluX3B0cihjb25zdCBzdHJ1Y3QgZHluYnVmICpzKTsKK3Vuc2lnbmVkIGNoYXIgKkN1cmxfZHluX3VwdHIoY29uc3Qgc3RydWN0IGR5bmJ1ZiAqcyk7CitzaXplX3QgQ3VybF9keW5fbGVuKGNvbnN0IHN0cnVjdCBkeW5idWYgKnMpOworCisvKiBEeW5hbWljIGJ1ZmZlciBtYXggc2l6ZXMgKi8KKyNkZWZpbmUgRFlOX0RPSF9SRVNQT05TRSAgICAzMDAwCisjZGVmaW5lIERZTl9ET0hfQ05BTUUgICAgICAgMjU2CisjZGVmaW5lIERZTl9QQVVTRV9CVUZGRVIgICAgKDY0ICogMTAyNCAqIDEwMjQpCisjZGVmaW5lIERZTl9IQVhQUk9YWSAgICAgICAgMjA0OAorI2RlZmluZSBEWU5fSFRUUF9SRVFVRVNUICAgICgxMjgqMTAyNCkKKyNkZWZpbmUgRFlOX0gyX0hFQURFUlMgICAgICAoMTI4KjEwMjQpCisjZGVmaW5lIERZTl9IMl9UUkFJTEVSICAgICAgNDA5NgorI2RlZmluZSBEWU5fQVBSSU5URiAgICAgICAgIDgwMDAwMDAKKyNkZWZpbmUgRFlOX1JUU1BfUkVRX0hFQURFUiAoNjQqMTAyNCkKKyNkZWZpbmUgRFlOX1RSQUlMRVJTICAgICAgICAoNjQqMTAyNCkKKyNkZWZpbmUgRFlOX1BST1hZX0NPTk5FQ1RfSEVBREVSUyAxNjM4NAorI2RlZmluZSBEWU5fUUxPR19OQU1FICAgICAgIDEwMjQKKyNkZWZpbmUgRFlOX0gxX1RSQUlMRVIgICAgICBEWU5fSDJfVFJBSUxFUgorI2VuZGlmCmRpZmYgLS1naXQgYS9saWIvZWFzeS5jIGIvbGliL2Vhc3kuYwppbmRleCBkMDhjNjA2Li4yOTJjY2E3IDEwMDY0NAotLS0gYS9saWIvZWFzeS5jCisrKyBiL2xpYi9lYXN5LmMKQEAgLTc3LDYgKzc3LDcgQEAKICNpbmNsdWRlICJodHRwX2RpZ2VzdC5oIgogI2luY2x1ZGUgInN5c3RlbV93aW4zMi5oIgogI2luY2x1ZGUgImh0dHAyLmgiCisjaW5jbHVkZSAiZHluYnVmLmgiCiAKIC8qIFRoZSBsYXN0IDMgI2luY2x1ZGUgZmlsZXMgc2hvdWxkIGJlIGluIHRoaXMgb3JkZXIgKi8KICNpbmNsdWRlICJjdXJsX3ByaW50Zi5oIgpAQCAtNTA5LDcgKzUxMCw3IEBACiAgICAgYmVmb3JlID0gQ3VybF9ub3coKTsKIAogICAgIC8qIHdhaXQgZm9yIGFjdGl2aXR5IG9yIHRpbWVvdXQgKi8KLSAgICBwb2xscmMgPSBDdXJsX3BvbGwoZmRzLCBudW1mZHMsIChpbnQpZXYtPm1zKTsKKyAgICBwb2xscmMgPSBDdXJsX3BvbGwoZmRzLCBudW1mZHMsIGV2LT5tcyk7CiAKICAgICBhZnRlciA9IEN1cmxfbm93KCk7CiAKQEAgLTY4MCw2ICs2ODEsNyBAQAogICBtY29kZSA9IGN1cmxfbXVsdGlfYWRkX2hhbmRsZShtdWx0aSwgZGF0YSk7CiAgIGlmKG1jb2RlKSB7CiAgICAgY3VybF9tdWx0aV9jbGVhbnVwKG11bHRpKTsKKyAgICBkYXRhLT5tdWx0aV9lYXN5ID0gTlVMTDsKICAgICBpZihtY29kZSA9PSBDVVJMTV9PVVRfT0ZfTUVNT1JZKQogICAgICAgcmV0dXJuIENVUkxFX09VVF9PRl9NRU1PUlk7CiAgICAgcmV0dXJuIENVUkxFX0ZBSUxFRF9JTklUOwpAQCAtNzYyLDYgKzc2NCw3IEBACiB7CiAgIENVUkxjb2RlIHJlc3VsdCA9IENVUkxFX09LOwogICBlbnVtIGR1cHN0cmluZyBpOworICBlbnVtIGR1cGJsb2IgajsKIAogICAvKiBDb3B5IHNyYy0+c2V0IGludG8gZHN0LT5zZXQgZmlyc3QsIHRoZW4gZGVhbCB3aXRoIHRoZSBzdHJpbmdzCiAgICAgIGFmdGVyd2FyZHMgKi8KQEAgLTc3OCw2ICs3ODEsMTYgQEAKICAgICAgIHJldHVybiByZXN1bHQ7CiAgIH0KIAorICAvKiBjbGVhciBhbGwgYmxvYiBwb2ludGVycyBmaXJzdCAqLworICBtZW1zZXQoZHN0LT5zZXQuYmxvYnMsIDAsIEJMT0JfTEFTVCAqIHNpemVvZihzdHJ1Y3QgY3VybF9ibG9iICopKTsKKyAgLyogZHVwbGljYXRlIGFsbCBibG9icyAqLworICBmb3IoaiA9IChlbnVtIGR1cGJsb2IpMDsgaiA8IEJMT0JfTEFTVDsgaisrKSB7CisgICAgcmVzdWx0ID0gQ3VybF9zZXRibG9ib3B0KCZkc3QtPnNldC5ibG9ic1tqXSwgc3JjLT5zZXQuYmxvYnNbal0pOworICAgIC8qIEN1cmxfc2V0c3Ryb3B0IHJldHVybiBDVVJMRV9CQURfRlVOQ1RJT05fQVJHVU1FTlQgd2l0aCBibG9iICovCisgICAgaWYocmVzdWx0KQorICAgICAgcmV0dXJuIHJlc3VsdDsKKyAgfQorCiAgIC8qIGR1cGxpY2F0ZSBtZW1vcnkgYXJlYXMgcG9pbnRlZCB0byAqLwogICBpID0gU1RSSU5HX0NPUFlQT1NURklFTERTOwogICBpZihzcmMtPnNldC5wb3N0ZmllbGRzaXplICYmIHNyYy0+c2V0LnN0cltpXSkgewpAQCAtODE2LDE5ICs4MjksMTMgQEAKICAgICogdGhlIGxpa2VsaW5lc3Mgb2YgdXMgZm9yZ2V0dGluZyB0byBpbml0IGEgYnVmZmVyIGhlcmUgaW4gdGhlIGZ1dHVyZS4KICAgICovCiAgIG91dGN1cmwtPnNldC5idWZmZXJfc2l6ZSA9IGRhdGEtPnNldC5idWZmZXJfc2l6ZTsKLSAgb3V0Y3VybC0+c3RhdGUuYnVmZmVyID0gbWFsbG9jKG91dGN1cmwtPnNldC5idWZmZXJfc2l6ZSArIDEpOwotICBpZighb3V0Y3VybC0+c3RhdGUuYnVmZmVyKQotICAgIGdvdG8gZmFpbDsKLQotICBvdXRjdXJsLT5zdGF0ZS5oZWFkZXJidWZmID0gbWFsbG9jKEhFQURFUlNJWkUpOwotICBpZighb3V0Y3VybC0+c3RhdGUuaGVhZGVyYnVmZikKLSAgICBnb3RvIGZhaWw7Ci0gIG91dGN1cmwtPnN0YXRlLmhlYWRlcnNpemUgPSBIRUFERVJTSVpFOwogCiAgIC8qIGNvcHkgYWxsIHVzZXJkZWZpbmVkIHZhbHVlcyAqLwogICBpZihkdXBzZXQob3V0Y3VybCwgZGF0YSkpCiAgICAgZ290byBmYWlsOwogCisgIEN1cmxfZHluX2luaXQoJm91dGN1cmwtPnN0YXRlLmhlYWRlcmIsIENVUkxfTUFYX0hUVFBfSEVBREVSKTsKKwogICAvKiB0aGUgY29ubmVjdGlvbiBjYWNoZSBpcyBzZXR1cCBvbiBkZW1hbmQgKi8KICAgb3V0Y3VybC0+c3RhdGUuY29ubl9jYWNoZSA9IE5VTEw7CiAKQEAgLTkyMSw3ICs5MjgsNyBAQAogICAgIGN1cmxfc2xpc3RfZnJlZV9hbGwob3V0Y3VybC0+Y2hhbmdlLmNvb2tpZWxpc3QpOwogICAgIG91dGN1cmwtPmNoYW5nZS5jb29raWVsaXN0ID0gTlVMTDsKICAgICBDdXJsX3NhZmVmcmVlKG91dGN1cmwtPnN0YXRlLmJ1ZmZlcik7Ci0gICAgQ3VybF9zYWZlZnJlZShvdXRjdXJsLT5zdGF0ZS5oZWFkZXJidWZmKTsKKyAgICBDdXJsX2R5bl9mcmVlKCZvdXRjdXJsLT5zdGF0ZS5oZWFkZXJiKTsKICAgICBDdXJsX3NhZmVmcmVlKG91dGN1cmwtPmNoYW5nZS51cmwpOwogICAgIEN1cmxfc2FmZWZyZWUob3V0Y3VybC0+Y2hhbmdlLnJlZmVyZXIpOwogICAgIEN1cmxfZnJlZXNldChvdXRjdXJsKTsKQEAgLTkzNyw4ICs5NDQsNiBAQAogICovCiB2b2lkIGN1cmxfZWFzeV9yZXNldChzdHJ1Y3QgQ3VybF9lYXN5ICpkYXRhKQogewotICBsb25nIG9sZF9idWZmZXJfc2l6ZSA9IGRhdGEtPnNldC5idWZmZXJfc2l6ZTsKLQogICBDdXJsX2ZyZWVfcmVxdWVzdF9zdGF0ZShkYXRhKTsKIAogICAvKiB6ZXJvIG91dCBVc2VyRGVmaW5lZCBkYXRhOiAqLwpAQCAtOTYyLDE4ICs5NjcsNiBAQAogI2lmICFkZWZpbmVkKENVUkxfRElTQUJMRV9IVFRQKSAmJiAhZGVmaW5lZChDVVJMX0RJU0FCTEVfQ1JZUFRPX0FVVEgpCiAgIEN1cmxfaHR0cF9hdXRoX2NsZWFudXBfZGlnZXN0KGRhdGEpOwogI2VuZGlmCi0KLSAgLyogcmVzaXplIHJlY2VpdmUgYnVmZmVyICovCi0gIGlmKG9sZF9idWZmZXJfc2l6ZSAhPSBkYXRhLT5zZXQuYnVmZmVyX3NpemUpIHsKLSAgICBjaGFyICpuZXdidWZmID0gcmVhbGxvYyhkYXRhLT5zdGF0ZS5idWZmZXIsIGRhdGEtPnNldC5idWZmZXJfc2l6ZSArIDEpOwotICAgIGlmKCFuZXdidWZmKSB7Ci0gICAgICBERUJVR0YoZnByaW50ZihzdGRlcnIsICJFcnJvcjogcmVhbGxvYyBvZiBidWZmZXIgZmFpbGVkXG4iKSk7Ci0gICAgICAvKiBub3RoaW5nIHdlIGNhbiBkbyBoZXJlIGV4Y2VwdCB1c2UgdGhlIG9sZCBzaXplICovCi0gICAgICBkYXRhLT5zZXQuYnVmZmVyX3NpemUgPSBvbGRfYnVmZmVyX3NpemU7Ci0gICAgfQotICAgIGVsc2UKLSAgICAgIGRhdGEtPnN0YXRlLmJ1ZmZlciA9IG5ld2J1ZmY7Ci0gIH0KIH0KIAogLyoKQEAgLTEwNDAsNyArMTAzMyw3IEBACiAgICAgICAvKiBjb3B5IHRoZSBzdHJ1Y3RzIHRvIGFsbG93IGZvciBpbW1lZGlhdGUgcmUtcGF1c2luZyAqLwogICAgICAgZm9yKGkgPSAwOyBpIDwgZGF0YS0+c3RhdGUudGVtcGNvdW50OyBpKyspIHsKICAgICAgICAgd3JpdGVidWZbaV0gPSBkYXRhLT5zdGF0ZS50ZW1wd3JpdGVbaV07Ci0gICAgICAgIGRhdGEtPnN0YXRlLnRlbXB3cml0ZVtpXS5idWYgPSBOVUxMOworICAgICAgICBDdXJsX2R5bl9pbml0KCZkYXRhLT5zdGF0ZS50ZW1wd3JpdGVbaV0uYiwgRFlOX1BBVVNFX0JVRkZFUik7CiAgICAgICB9CiAgICAgICBkYXRhLT5zdGF0ZS50ZW1wY291bnQgPSAwOwogCkBAIC0xMDU0LDkgKzEwNDcsMTAgQEAKICAgICAgICAgLyogZXZlbiBpZiBvbmUgZnVuY3Rpb24gcmV0dXJucyBlcnJvciwgdGhpcyBsb29wcyB0aHJvdWdoIGFuZCBmcmVlcwogICAgICAgICAgICBhbGwgYnVmZmVycyAqLwogICAgICAgICBpZighcmVzdWx0KQotICAgICAgICAgIHJlc3VsdCA9IEN1cmxfY2xpZW50X3dyaXRlKGNvbm4sIHdyaXRlYnVmW2ldLnR5cGUsIHdyaXRlYnVmW2ldLmJ1ZiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB3cml0ZWJ1ZltpXS5sZW4pOwotICAgICAgICBmcmVlKHdyaXRlYnVmW2ldLmJ1Zik7CisgICAgICAgICAgcmVzdWx0ID0gQ3VybF9jbGllbnRfd3JpdGUoY29ubiwgd3JpdGVidWZbaV0udHlwZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBDdXJsX2R5bl9wdHIoJndyaXRlYnVmW2ldLmIpLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEN1cmxfZHluX2xlbigmd3JpdGVidWZbaV0uYikpOworICAgICAgICBDdXJsX2R5bl9mcmVlKCZ3cml0ZWJ1ZltpXS5iKTsKICAgICAgIH0KIAogICAgICAgLyogcmVjb3ZlciBwcmV2aW91cyBvd25lciBvZiB0aGUgY29ubmVjdGlvbiAqLwpkaWZmIC0tZ2l0IGEvbGliL2Vhc3lpZi5oIGIvbGliL2Vhc3lpZi5oCmluZGV4IDhhMzA5YzUuLmVkYTBkNjIgMTAwNjQ0Ci0tLSBhL2xpYi9lYXN5aWYuaAorKysgYi9saWIvZWFzeWlmLmgKQEAgLTcsNyArNyw3IEBACiAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICB8IChfX3wgfF98IHwgIF8gPHwgfF9fXwogICogICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxfX198XF9fXy98X3wgXF9cX19fX198CiAgKgotICogQ29weXJpZ2h0IChDKSAxOTk4IC0gMjAxOSwgRGFuaWVsIFN0ZW5iZXJnLCA8ZGFuaWVsQGhheHguc2U+LCBldCBhbC4KKyAqIENvcHlyaWdodCAoQykgMTk5OCAtIDIwMjAsIERhbmllbCBTdGVuYmVyZywgPGRhbmllbEBoYXh4LnNlPiwgZXQgYWwuCiAgKgogICogVGhpcyBzb2Z0d2FyZSBpcyBsaWNlbnNlZCBhcyBkZXNjcmliZWQgaW4gdGhlIGZpbGUgQ09QWUlORywgd2hpY2gKICAqIHlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhcyBwYXJ0IG9mIHRoaXMgZGlzdHJpYnV0aW9uLiBUaGUgdGVybXMKZGlmZiAtLWdpdCBhL2xpYi9lc2NhcGUuYyBiL2xpYi9lc2NhcGUuYwppbmRleCA3MTIxZGIzLi4yYmVhMTQ1IDEwMDY0NAotLS0gYS9saWIvZXNjYXBlLmMKKysrIGIvbGliL2VzY2FwZS5jCkBAIC01LDcgKzUsNyBAQAogICogICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAoX198IHxffCB8ICBfIDx8IHxfX18KICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcX19ffFxfX18vfF98IFxfXF9fX19ffAogICoKLSAqIENvcHlyaWdodCAoQykgMTk5OCAtIDIwMTgsIERhbmllbCBTdGVuYmVyZywgPGRhbmllbEBoYXh4LnNlPiwgZXQgYWwuCisgKiBDb3B5cmlnaHQgKEMpIDE5OTggLSAyMDIwLCBEYW5pZWwgU3RlbmJlcmcsIDxkYW5pZWxAaGF4eC5zZT4sIGV0IGFsLgogICoKICAqIFRoaXMgc29mdHdhcmUgaXMgbGljZW5zZWQgYXMgZGVzY3JpYmVkIGluIHRoZSBmaWxlIENPUFlJTkcsIHdoaWNoCiAgKiB5b3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYXMgcGFydCBvZiB0aGlzIGRpc3RyaWJ1dGlvbi4gVGhlIHRlcm1zCkBAIC03OSw4MiArNzksODMgQEAKIGNoYXIgKmN1cmxfZWFzeV9lc2NhcGUoc3RydWN0IEN1cmxfZWFzeSAqZGF0YSwgY29uc3QgY2hhciAqc3RyaW5nLAogICAgICAgICAgICAgICAgICAgICAgICBpbnQgaW5sZW5ndGgpCiB7Ci0gIHNpemVfdCBhbGxvYzsKLSAgY2hhciAqbnM7Ci0gIGNoYXIgKnRlc3RpbmdfcHRyID0gTlVMTDsKLSAgc2l6ZV90IG5ld2xlbjsKLSAgc2l6ZV90IHN0cmluZGV4ID0gMDsKICAgc2l6ZV90IGxlbmd0aDsKICAgQ1VSTGNvZGUgcmVzdWx0OworICBzdHJ1Y3QgZHluYnVmIGQ7CiAKICAgaWYoaW5sZW5ndGggPCAwKQogICAgIHJldHVybiBOVUxMOwogCi0gIGFsbG9jID0gKGlubGVuZ3RoPyhzaXplX3QpaW5sZW5ndGg6c3RybGVuKHN0cmluZykpICsgMTsKLSAgbmV3bGVuID0gYWxsb2M7CisgIEN1cmxfZHluX2luaXQoJmQsIENVUkxfTUFYX0lOUFVUX0xFTkdUSCk7CiAKLSAgbnMgPSBtYWxsb2MoYWxsb2MpOwotICBpZighbnMpCi0gICAgcmV0dXJuIE5VTEw7CisgIGxlbmd0aCA9IChpbmxlbmd0aD8oc2l6ZV90KWlubGVuZ3RoOnN0cmxlbihzdHJpbmcpKTsKKyAgaWYoIWxlbmd0aCkKKyAgICByZXR1cm4gc3RyZHVwKCIiKTsKIAotICBsZW5ndGggPSBhbGxvYy0xOwogICB3aGlsZShsZW5ndGgtLSkgewogICAgIHVuc2lnbmVkIGNoYXIgaW4gPSAqc3RyaW5nOyAvKiB3ZSBuZWVkIHRvIHRyZWF0IHRoZSBjaGFyYWN0ZXJzIHVuc2lnbmVkICovCiAKLSAgICBpZihDdXJsX2lzdW5yZXNlcnZlZChpbikpCi0gICAgICAvKiBqdXN0IGNvcHkgdGhpcyAqLwotICAgICAgbnNbc3RyaW5kZXgrK10gPSBpbjsKKyAgICBpZihDdXJsX2lzdW5yZXNlcnZlZChpbikpIHsKKyAgICAgIC8qIGFwcGVuZCB0aGlzICovCisgICAgICBpZihDdXJsX2R5bl9hZGRuKCZkLCAmaW4sIDEpKQorICAgICAgICByZXR1cm4gTlVMTDsKKyAgICB9CiAgICAgZWxzZSB7CiAgICAgICAvKiBlbmNvZGUgaXQgKi8KLSAgICAgIG5ld2xlbiArPSAyOyAvKiB0aGUgc2l6ZSBncm93cyB3aXRoIHR3bywgc2luY2UgdGhpcydsbCBiZWNvbWUgYSAlWFggKi8KLSAgICAgIGlmKG5ld2xlbiA+IGFsbG9jKSB7Ci0gICAgICAgIGFsbG9jICo9IDI7Ci0gICAgICAgIHRlc3RpbmdfcHRyID0gQ3VybF9zYWZlcmVhbGxvYyhucywgYWxsb2MpOwotICAgICAgICBpZighdGVzdGluZ19wdHIpCi0gICAgICAgICAgcmV0dXJuIE5VTEw7Ci0gICAgICAgIG5zID0gdGVzdGluZ19wdHI7Ci0gICAgICB9Ci0KKyAgICAgIGNoYXIgZW5jb2RlZFs0XTsKICAgICAgIHJlc3VsdCA9IEN1cmxfY29udmVydF90b19uZXR3b3JrKGRhdGEsIChjaGFyICopJmluLCAxKTsKICAgICAgIGlmKHJlc3VsdCkgewogICAgICAgICAvKiBDdXJsX2NvbnZlcnRfdG9fbmV0d29yayBjYWxscyBmYWlsZiBpZiB1bnN1Y2Nlc3NmdWwgKi8KLSAgICAgICAgZnJlZShucyk7CisgICAgICAgIEN1cmxfZHluX2ZyZWUoJmQpOwogICAgICAgICByZXR1cm4gTlVMTDsKICAgICAgIH0KIAotICAgICAgbXNucHJpbnRmKCZuc1tzdHJpbmRleF0sIDQsICIlJSUwMlgiLCBpbik7Ci0KLSAgICAgIHN0cmluZGV4ICs9IDM7CisgICAgICBtc25wcmludGYoZW5jb2RlZCwgc2l6ZW9mKGVuY29kZWQpLCAiJSUlMDJYIiwgaW4pOworICAgICAgaWYoQ3VybF9keW5fYWRkKCZkLCBlbmNvZGVkKSkKKyAgICAgICAgcmV0dXJuIE5VTEw7CiAgICAgfQogICAgIHN0cmluZysrOwogICB9Ci0gIG5zW3N0cmluZGV4XSA9IDA7IC8qIHRlcm1pbmF0ZSBpdCAqLwotICByZXR1cm4gbnM7CisKKyAgcmV0dXJuIEN1cmxfZHluX3B0cigmZCk7CiB9CiAKIC8qCiAgKiBDdXJsX3VybGRlY29kZSgpIFVSTCBkZWNvZGVzIHRoZSBnaXZlbiBzdHJpbmcuCiAgKgotICogT3B0aW9uYWxseSBkZXRlY3RzIGNvbnRyb2wgY2hhcmFjdGVycyAoYnl0ZSBjb2RlcyBsb3dlciB0aGFuIDMyKSBpbiB0aGUKLSAqIGRhdGEgYW5kIHJlamVjdHMgc3VjaCBkYXRhLgotICoKICAqIFJldHVybnMgYSBwb2ludGVyIHRvIGEgbWFsbG9jZWQgc3RyaW5nIGluICpvc3RyaW5nIHdpdGggbGVuZ3RoIGdpdmVuIGluCiAgKiAqb2xlbi4gSWYgbGVuZ3RoID09IDAsIHRoZSBsZW5ndGggaXMgYXNzdW1lZCB0byBiZSBzdHJsZW4oc3RyaW5nKS4KICAqCiAgKiAnZGF0YScgY2FuIGJlIHNldCB0byBOVUxMIGJ1dCB0aGVuIHRoaXMgZnVuY3Rpb24gY2FuJ3QgY29udmVydCBuZXR3b3JrCiAgKiBkYXRhIHRvIGhvc3QgZm9yIG5vbi1hc2NpaS4KKyAqCisgKiBjdHJsIG9wdGlvbnM6CisgKiAtIFJFSkVDVF9OQURBOiBhY2NlcHQgZXZlcnl0aGluZworICogLSBSRUpFQ1RfQ1RSTDogcmVqZWN0cyBjb250cm9sIGNoYXJhY3RlcnMgKGJ5dGUgY29kZXMgbG93ZXIgdGhhbiAzMikgaW4KKyAqICAgICAgICAgICAgICAgIHRoZSBkYXRhCisgKiAtIFJFSkVDVF9aRVJPOiByZWplY3RzIGRlY29kZWQgemVybyBieXRlcworICoKKyAqIFRoZSB2YWx1ZXMgZm9yIHRoZSBlbnVtIHN0YXJ0cyBhdCAyLCB0byBtYWtlIHRoZSBhc3NlcnQgZGV0ZWN0IGxlZ2FjeQorICogaW52b2tlcyB0aGF0IHVzZWQgVFJVRS9GQUxTRSAoMCBhbmQgMSkuCiAgKi8KKwogQ1VSTGNvZGUgQ3VybF91cmxkZWNvZGUoc3RydWN0IEN1cmxfZWFzeSAqZGF0YSwKICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGNoYXIgKnN0cmluZywgc2l6ZV90IGxlbmd0aCwKICAgICAgICAgICAgICAgICAgICAgICAgIGNoYXIgKipvc3RyaW5nLCBzaXplX3QgKm9sZW4sCi0gICAgICAgICAgICAgICAgICAgICAgICBib29sIHJlamVjdF9jdHJsKQorICAgICAgICAgICAgICAgICAgICAgICAgZW51bSB1cmxyZWplY3QgY3RybCkKIHsKLSAgc2l6ZV90IGFsbG9jID0gKGxlbmd0aD9sZW5ndGg6c3RybGVuKHN0cmluZykpICsgMTsKLSAgY2hhciAqbnMgPSBtYWxsb2MoYWxsb2MpOworICBzaXplX3QgYWxsb2M7CisgIGNoYXIgKm5zOwogICBzaXplX3Qgc3RyaW5kZXggPSAwOwogICB1bnNpZ25lZCBsb25nIGhleDsKICAgQ1VSTGNvZGUgcmVzdWx0ID0gQ1VSTEVfT0s7CiAKKyAgREVCVUdBU1NFUlQoc3RyaW5nKTsKKyAgREVCVUdBU1NFUlQoY3RybCA+PSBSRUpFQ1RfTkFEQSk7IC8qIGNyYXNoIG9uIFRSVUUvRkFMU0UgKi8KKworICBhbGxvYyA9IChsZW5ndGg/bGVuZ3RoOnN0cmxlbihzdHJpbmcpKSArIDE7CisgIG5zID0gbWFsbG9jKGFsbG9jKTsKKwogICBpZighbnMpCiAgICAgcmV0dXJuIENVUkxFX09VVF9PRl9NRU1PUlk7CiAKQEAgLTE4Niw3ICsxODcsOCBAQAogICAgICAgYWxsb2MgLT0gMjsKICAgICB9CiAKLSAgICBpZihyZWplY3RfY3RybCAmJiAoaW4gPCAweDIwKSkgeworICAgIGlmKCgoY3RybCA9PSBSRUpFQ1RfQ1RSTCkgJiYgKGluIDwgMHgyMCkpIHx8CisgICAgICAgKChjdHJsID09IFJFSkVDVF9aRVJPKSAmJiAoaW4gPT0gMCkpKSB7CiAgICAgICBmcmVlKG5zKTsKICAgICAgIHJldHVybiBDVVJMRV9VUkxfTUFMRk9STUFUOwogICAgIH0KQEAgLTIyMCw3ICsyMjIsNyBAQAogICAgIHNpemVfdCBpbnB1dGxlbiA9IGxlbmd0aDsKICAgICBzaXplX3Qgb3V0cHV0bGVuOwogICAgIENVUkxjb2RlIHJlcyA9IEN1cmxfdXJsZGVjb2RlKGRhdGEsIHN0cmluZywgaW5wdXRsZW4sICZzdHIsICZvdXRwdXRsZW4sCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRkFMU0UpOworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJFSkVDVF9OQURBKTsKICAgICBpZihyZXMpCiAgICAgICByZXR1cm4gTlVMTDsKIApkaWZmIC0tZ2l0IGEvbGliL2VzY2FwZS5oIGIvbGliL2VzY2FwZS5oCmluZGV4IGQ4YmJlNWMuLjU4NmRiN2UgMTAwNjQ0Ci0tLSBhL2xpYi9lc2NhcGUuaAorKysgYi9saWIvZXNjYXBlLmgKQEAgLTcsNyArNyw3IEBACiAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICB8IChfX3wgfF98IHwgIF8gPHwgfF9fXwogICogICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxfX198XF9fXy98X3wgXF9cX19fX198CiAgKgotICogQ29weXJpZ2h0IChDKSAxOTk4IC0gMjAxOCwgRGFuaWVsIFN0ZW5iZXJnLCA8ZGFuaWVsQGhheHguc2U+LCBldCBhbC4KKyAqIENvcHlyaWdodCAoQykgMTk5OCAtIDIwMjAsIERhbmllbCBTdGVuYmVyZywgPGRhbmllbEBoYXh4LnNlPiwgZXQgYWwuCiAgKgogICogVGhpcyBzb2Z0d2FyZSBpcyBsaWNlbnNlZCBhcyBkZXNjcmliZWQgaW4gdGhlIGZpbGUgQ09QWUlORywgd2hpY2gKICAqIHlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhcyBwYXJ0IG9mIHRoaXMgZGlzdHJpYnV0aW9uLiBUaGUgdGVybXMKQEAgLTI1LDkgKzI1LDE2IEBACiAgKiBhbGxvY2F0ZWQgc3RyaW5nIG9yIE5VTEwgaWYgYW4gZXJyb3Igb2NjdXJyZWQuICAqLwogCiBib29sIEN1cmxfaXN1bnJlc2VydmVkKHVuc2lnbmVkIGNoYXIgaW4pOworCitlbnVtIHVybHJlamVjdCB7CisgIFJFSkVDVF9OQURBID0gMiwKKyAgUkVKRUNUX0NUUkwsCisgIFJFSkVDVF9aRVJPCit9OworCiBDVVJMY29kZSBDdXJsX3VybGRlY29kZShzdHJ1Y3QgQ3VybF9lYXN5ICpkYXRhLAogICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgY2hhciAqc3RyaW5nLCBzaXplX3QgbGVuZ3RoLAogICAgICAgICAgICAgICAgICAgICAgICAgY2hhciAqKm9zdHJpbmcsIHNpemVfdCAqb2xlbiwKLSAgICAgICAgICAgICAgICAgICAgICAgIGJvb2wgcmVqZWN0X2NybGYpOworICAgICAgICAgICAgICAgICAgICAgICAgZW51bSB1cmxyZWplY3QgY3RybCk7CiAKICNlbmRpZiAvKiBIRUFERVJfQ1VSTF9FU0NBUEVfSCAqLwpkaWZmIC0tZ2l0IGEvbGliL2ZpbGUuYyBiL2xpYi9maWxlLmMKaW5kZXggNTc2YTc5NC4uY2QzZTQ5YyAxMDA2NDQKLS0tIGEvbGliL2ZpbGUuYworKysgYi9saWIvZmlsZS5jCkBAIC0xNDQsNyArMTQ0LDcgQEAKICAgc2l6ZV90IHJlYWxfcGF0aF9sZW47CiAKICAgQ1VSTGNvZGUgcmVzdWx0ID0gQ3VybF91cmxkZWNvZGUoZGF0YSwgZGF0YS0+c3RhdGUudXAucGF0aCwgMCwgJnJlYWxfcGF0aCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnJlYWxfcGF0aF9sZW4sIEZBTFNFKTsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnJlYWxfcGF0aF9sZW4sIFJFSkVDVF9aRVJPKTsKICAgaWYocmVzdWx0KQogICAgIHJldHVybiByZXN1bHQ7CiAKZGlmZiAtLWdpdCBhL2xpYi9mb3JtZGF0YS5jIGIvbGliL2Zvcm1kYXRhLmMKaW5kZXggNTdlYzZhZC4uMWNhYjJjNSAxMDA2NDQKLS0tIGEvbGliL2Zvcm1kYXRhLmMKKysrIGIvbGliL2Zvcm1kYXRhLmMKQEAgLTEyMywxMSArMTIzLDExIEBACiAgKiBwYXJlbnRfZm9ybV9pbmZvIGlzIE5VTEwuCiAgKgogICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KLXN0YXRpYyBGb3JtSW5mbyAqIEFkZEZvcm1JbmZvKGNoYXIgKnZhbHVlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2hhciAqY29udGVudHR5cGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBGb3JtSW5mbyAqcGFyZW50X2Zvcm1faW5mbykKK3N0YXRpYyBzdHJ1Y3QgRm9ybUluZm8gKkFkZEZvcm1JbmZvKGNoYXIgKnZhbHVlLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2hhciAqY29udGVudHR5cGUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJ1Y3QgRm9ybUluZm8gKnBhcmVudF9mb3JtX2luZm8pCiB7Ci0gIEZvcm1JbmZvICpmb3JtX2luZm87CisgIHN0cnVjdCBGb3JtSW5mbyAqZm9ybV9pbmZvOwogICBmb3JtX2luZm8gPSBjYWxsb2MoMSwgc2l6ZW9mKHN0cnVjdCBGb3JtSW5mbykpOwogICBpZihmb3JtX2luZm8pIHsKICAgICBpZih2YWx1ZSkKQEAgLTIwNCw3ICsyMDQsNyBAQAogICAgICAgICAgICAgICAgICAgICAgc3RydWN0IGN1cmxfaHR0cHBvc3QgKipsYXN0X3Bvc3QsCiAgICAgICAgICAgICAgICAgICAgICB2YV9saXN0IHBhcmFtcykKIHsKLSAgRm9ybUluZm8gKmZpcnN0X2Zvcm0sICpjdXJyZW50X2Zvcm0sICpmb3JtID0gTlVMTDsKKyAgc3RydWN0IEZvcm1JbmZvICpmaXJzdF9mb3JtLCAqY3VycmVudF9mb3JtLCAqZm9ybSA9IE5VTEw7CiAgIENVUkxGT1JNY29kZSByZXR1cm5fdmFsdWUgPSBDVVJMX0ZPUk1BRERfT0s7CiAgIGNvbnN0IGNoYXIgKnByZXZ0eXBlID0gTlVMTDsKICAgc3RydWN0IGN1cmxfaHR0cHBvc3QgKnBvc3QgPSBOVUxMOwpAQCAtNTIxLDcgKzUyMSw3IEBACiAgIGlmKENVUkxfRk9STUFERF9PSyAhPSByZXR1cm5fdmFsdWUpIHsKICAgICAvKiBPbiBlcnJvciwgZnJlZSBhbGxvY2F0ZWQgZmllbGRzIGZvciBhbGwgbm9kZXMgb2YgdGhlIEZvcm1JbmZvIGxpbmtlZAogICAgICAgIGxpc3Qgd2l0aG91dCBkZWFsbG9jYXRpbmcgbm9kZXMuIExpc3Qgbm9kZXMgYXJlIGRlYWxsb2NhdGVkIGxhdGVyIG9uICovCi0gICAgRm9ybUluZm8gKnB0cjsKKyAgICBzdHJ1Y3QgRm9ybUluZm8gKnB0cjsKICAgICBmb3IocHRyID0gZmlyc3RfZm9ybTsgcHRyICE9IE5VTEw7IHB0ciA9IHB0ci0+bW9yZSkgewogICAgICAgaWYocHRyLT5uYW1lX2FsbG9jKSB7CiAgICAgICAgIEN1cmxfc2FmZWZyZWUocHRyLT5uYW1lKTsKQEAgLTYwMiw3ICs2MDIsNyBAQAogICAgICAgICAvKiBOb3RlIHRoYXQgdGhlcmUncyBzbWFsbCByaXNrIHRoYXQgZm9ybS0+bmFtZSBpcyBOVUxMIGhlcmUgaWYgdGhlCiAgICAgICAgICAgIGFwcCBwYXNzZWQgaW4gYSBiYWQgY29tYm8sIHNvIHdlIGJldHRlciBjaGVjayBmb3IgdGhhdCBmaXJzdC4gKi8KICAgICAgICAgaWYoZm9ybS0+bmFtZSkgewotICAgICAgICAgIC8qIGNvcHkgbmFtZSAod2l0aG91dCBzdHJkdXA7IHBvc3NpYmx5IG5vdCBudWwtdGVybWluYXRlZCkgKi8KKyAgICAgICAgICAvKiBjb3B5IG5hbWUgKHdpdGhvdXQgc3RyZHVwOyBwb3NzaWJseSBub3QgbnVsbC10ZXJtaW5hdGVkKSAqLwogICAgICAgICAgIGZvcm0tPm5hbWUgPSBDdXJsX21lbWR1cChmb3JtLT5uYW1lLCBmb3JtLT5uYW1lbGVuZ3RoPwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb3JtLT5uYW1lbGVuZ3RoOgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJsZW4oZm9ybS0+bmFtZSkgKyAxKTsKQEAgLTY1MCw3ICs2NTAsNyBAQAogICAgICAgLyogT24gZXJyb3IsIGZyZWUgYWxsb2NhdGVkIGZpZWxkcyBmb3Igbm9kZXMgb2YgdGhlIEZvcm1JbmZvIGxpbmtlZAogICAgICAgICAgbGlzdCB3aGljaCBhcmUgbm90IGFscmVhZHkgb3duZWQgYnkgdGhlIGh0dHBwb3N0IGxpbmtlZCBsaXN0CiAgICAgICAgICB3aXRob3V0IGRlYWxsb2NhdGluZyBub2Rlcy4gTGlzdCBub2RlcyBhcmUgZGVhbGxvY2F0ZWQgbGF0ZXIgb24gKi8KLSAgICAgIEZvcm1JbmZvICpwdHI7CisgICAgICBzdHJ1Y3QgRm9ybUluZm8gKnB0cjsKICAgICAgIGZvcihwdHIgPSBmb3JtOyBwdHIgIT0gTlVMTDsgcHRyID0gcHRyLT5tb3JlKSB7CiAgICAgICAgIGlmKHB0ci0+bmFtZV9hbGxvYykgewogICAgICAgICAgIEN1cmxfc2FmZWZyZWUocHRyLT5uYW1lKTsKQEAgLTY3Niw3ICs2NzYsNyBAQAogICAgICBmaWVsZHMgZ2l2ZW4gdGhhdCB0aGVzZSBoYXZlIGVpdGhlciBiZWVuIGRlYWxsb2NhdGVkIG9yIGFyZSBvd25lZAogICAgICBub3cgYnkgdGhlIGh0dHBwb3N0IGxpbmtlZCBsaXN0ICovCiAgIHdoaWxlKGZpcnN0X2Zvcm0pIHsKLSAgICBGb3JtSW5mbyAqcHRyID0gZmlyc3RfZm9ybS0+bW9yZTsKKyAgICBzdHJ1Y3QgRm9ybUluZm8gKnB0ciA9IGZpcnN0X2Zvcm0tPm1vcmU7CiAgICAgZnJlZShmaXJzdF9mb3JtKTsKICAgICBmaXJzdF9mb3JtID0gcHRyOwogICB9CkBAIC03NzEsNyArNzcxLDcgQEAKIH0KIAogCi0vKiBTZXQgbWltZSBwYXJ0IG5hbWUsIHRha2luZyBjYXJlIG9mIG5vbiBudWwtdGVybWluYXRlZCBuYW1lIHN0cmluZy4gKi8KKy8qIFNldCBtaW1lIHBhcnQgbmFtZSwgdGFraW5nIGNhcmUgb2Ygbm9uIG51bGwtdGVybWluYXRlZCBuYW1lIHN0cmluZy4gKi8KIHN0YXRpYyBDVVJMY29kZSBzZXRuYW1lKGN1cmxfbWltZXBhcnQgKnBhcnQsIGNvbnN0IGNoYXIgKm5hbWUsIHNpemVfdCBsZW4pCiB7CiAgIGNoYXIgKnpuYW1lOwpkaWZmIC0tZ2l0IGEvbGliL2Zvcm1kYXRhLmggYi9saWIvZm9ybWRhdGEuaAppbmRleCBjYjIwODA1Li4zNzY2ZDM4IDEwMDY0NAotLS0gYS9saWIvZm9ybWRhdGEuaAorKysgYi9saWIvZm9ybWRhdGEuaApAQCAtNyw3ICs3LDcgQEAKICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgKF9ffCB8X3wgfCAgXyA8fCB8X19fCiAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXF9fX3xcX19fL3xffCBcX1xfX19fX3wKICAqCi0gKiBDb3B5cmlnaHQgKEMpIDE5OTggLSAyMDE5LCBEYW5pZWwgU3RlbmJlcmcsIDxkYW5pZWxAaGF4eC5zZT4sIGV0IGFsLgorICogQ29weXJpZ2h0IChDKSAxOTk4IC0gMjAyMCwgRGFuaWVsIFN0ZW5iZXJnLCA8ZGFuaWVsQGhheHguc2U+LCBldCBhbC4KICAqCiAgKiBUaGlzIHNvZnR3YXJlIGlzIGxpY2Vuc2VkIGFzIGRlc2NyaWJlZCBpbiB0aGUgZmlsZSBDT1BZSU5HLCB3aGljaAogICogeW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGFzIHBhcnQgb2YgdGhpcyBkaXN0cmlidXRpb24uIFRoZSB0ZXJtcwpAQCAtMjcsNyArMjcsNyBAQAogI2lmbmRlZiBDVVJMX0RJU0FCTEVfTUlNRQogCiAvKiB1c2VkIGJ5IEZvcm1BZGQgZm9yIHRlbXBvcmFyeSBzdG9yYWdlICovCi10eXBlZGVmIHN0cnVjdCBGb3JtSW5mbyB7CitzdHJ1Y3QgRm9ybUluZm8gewogICBjaGFyICpuYW1lOwogICBib29sIG5hbWVfYWxsb2M7CiAgIHNpemVfdCBuYW1lbGVuZ3RoOwpAQCAtNDUsNyArNDUsNyBAQAogICBjaGFyICp1c2VycDsgICAgICAgIC8qIHBvaW50ZXIgZm9yIHRoZSByZWFkIGNhbGxiYWNrICovCiAgIHN0cnVjdCBjdXJsX3NsaXN0ICpjb250ZW50aGVhZGVyOwogICBzdHJ1Y3QgRm9ybUluZm8gKm1vcmU7Ci19IEZvcm1JbmZvOworfTsKIAogQ1VSTGNvZGUgQ3VybF9nZXRmb3JtZGF0YShzdHJ1Y3QgQ3VybF9lYXN5ICpkYXRhLAogICAgICAgICAgICAgICAgICAgICAgICAgICBjdXJsX21pbWVwYXJ0ICosCmRpZmYgLS1naXQgYS9saWIvZnRwLmMgYi9saWIvZnRwLmMKaW5kZXggNTdiMjJhZC4uMjAzNTFmZiAxMDA2NDQKLS0tIGEvbGliL2Z0cC5jCisrKyBiL2xpYi9mdHAuYwpAQCAtMTEzLDcgKzExMyw3IEBACiBzdGF0aWMgQ1VSTGNvZGUgZnRwX3JlZ3VsYXJfdHJhbnNmZXIoc3RydWN0IGNvbm5lY3RkYXRhICpjb25uLCBib29sICpkb25lKTsKICNpZm5kZWYgQ1VSTF9ESVNBQkxFX1ZFUkJPU0VfU1RSSU5HUwogc3RhdGljIHZvaWQgZnRwX3Bhc3ZfdmVyYm9zZShzdHJ1Y3QgY29ubmVjdGRhdGEgKmNvbm4sCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIEN1cmxfYWRkcmluZm8gKmFpLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJ1Y3QgQ3VybF9hZGRyaW5mbyAqYWksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNoYXIgKm5ld2hvc3QsIC8qIGFzY2lpIHZlcnNpb24gKi8KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHBvcnQpOwogI2VuZGlmCkBAIC0xMzYsNyArMTM2LDcgQEAKIHN0YXRpYyBpbnQgZnRwX2RvbW9yZV9nZXRzb2NrKHN0cnVjdCBjb25uZWN0ZGF0YSAqY29ubiwgY3VybF9zb2NrZXRfdCAqc29ja3MpOwogc3RhdGljIENVUkxjb2RlIGZ0cF9kb2luZyhzdHJ1Y3QgY29ubmVjdGRhdGEgKmNvbm4sCiAgICAgICAgICAgICAgICAgICAgICAgICAgIGJvb2wgKmRvcGhhc2VfZG9uZSk7Ci1zdGF0aWMgQ1VSTGNvZGUgZnRwX3NldHVwX2Nvbm5lY3Rpb24oc3RydWN0IGNvbm5lY3RkYXRhICogY29ubik7CitzdGF0aWMgQ1VSTGNvZGUgZnRwX3NldHVwX2Nvbm5lY3Rpb24oc3RydWN0IGNvbm5lY3RkYXRhICpjb25uKTsKIAogc3RhdGljIENVUkxjb2RlIGluaXRfd2NfZGF0YShzdHJ1Y3QgY29ubmVjdGRhdGEgKmNvbm4pOwogc3RhdGljIENVUkxjb2RlIHdjX3N0YXRlbWFjaChzdHJ1Y3QgY29ubmVjdGRhdGEgKmNvbm4pOwpAQCAtMjIxLDYgKzIyMSw5IEBACiAgICAgY29ubi0+c29ja1tTRUNPTkRBUllTT0NLRVRdID0gQ1VSTF9TT0NLRVRfQkFEOwogICB9CiAgIGNvbm4tPmJpdHMudGNwY29ubmVjdFtTRUNPTkRBUllTT0NLRVRdID0gRkFMU0U7CisjaWZuZGVmIENVUkxfRElTQUJMRV9QUk9YWQorICBjb25uLT5iaXRzLnByb3h5X3NzbF9jb25uZWN0ZWRbU0VDT05EQVJZU09DS0VUXSA9IEZBTFNFOworI2VuZGlmCiB9CiAKIC8qCkBAIC0yOTEsNyArMjk0LDcgQEAKIAogICBjb25uLT5zb2NrW1NFQ09OREFSWVNPQ0tFVF0gPSBzOwogICAodm9pZCljdXJseF9ub25ibG9jayhzLCBUUlVFKTsgLyogZW5hYmxlIG5vbi1ibG9ja2luZyAqLwotICBjb25uLT5zb2NrX2FjY2VwdGVkID0gVFJVRTsKKyAgY29ubi0+Yml0cy5zb2NrX2FjY2VwdGVkID0gVFJVRTsKIAogICBpZihkYXRhLT5zZXQuZnNvY2tvcHQpIHsKICAgICBpbnQgZXJyb3IgPSAwOwpAQCAtMzM0LDcgKzMzNyw3IEBACiAgIG5vdyA9IEN1cmxfbm93KCk7CiAKICAgLyogY2hlY2sgaWYgdGhlIGdlbmVyaWMgdGltZW91dCBwb3NzaWJseSBpcyBzZXQgc2hvcnRlciAqLwotICBvdGhlciA9ICBDdXJsX3RpbWVsZWZ0KGRhdGEsICZub3csIEZBTFNFKTsKKyAgb3RoZXIgPSBDdXJsX3RpbWVsZWZ0KGRhdGEsICZub3csIEZBTFNFKTsKICAgaWYob3RoZXIgJiYgKG90aGVyIDwgdGltZW91dF9tcykpCiAgICAgLyogbm90ZSB0aGF0IHRoaXMgYWxzbyB3b3JrcyBmaW5lIGZvciB3aGVuIG90aGVyIGhhcHBlbnMgdG8gYmUgbmVnYXRpdmUKICAgICAgICBkdWUgdG8gaXQgYWxyZWFkeSBoYXZpbmcgZWxhcHNlZCAqLwpAQCAtMzg2LDcgKzM4OSw3IEBACiAgIGlmKHBwLT5jYWNoZV9zaXplICYmIHBwLT5jYWNoZSAmJiBwcC0+Y2FjaGVbMF0gPiAnMycpIHsKICAgICAvKiBEYXRhIGNvbm5lY3Rpb24gY291bGQgbm90IGJlIGVzdGFibGlzaGVkLCBsZXQncyByZXR1cm4gKi8KICAgICBpbmZvZihkYXRhLCAiVGhlcmUgaXMgbmVnYXRpdmUgcmVzcG9uc2UgaW4gY2FjaGUgd2hpbGUgc2VydiBjb25uZWN0XG4iKTsKLSAgICBDdXJsX0dldEZUUFJlc3BvbnNlKCZucmVhZCwgY29ubiwgJmZ0cGNvZGUpOworICAgICh2b2lkKUN1cmxfR2V0RlRQUmVzcG9uc2UoJm5yZWFkLCBjb25uLCAmZnRwY29kZSk7CiAgICAgcmV0dXJuIENVUkxFX0ZUUF9BQ0NFUFRfRkFJTEVEOwogICB9CiAKQEAgLTQwOCw3ICs0MTEsNyBAQAogICAgIH0KICAgICBlbHNlIGlmKHJlc3VsdCAmIENVUkxfQ1NFTEVDVF9JTikgewogICAgICAgaW5mb2YoZGF0YSwgIkN0cmwgY29ubiBoYXMgZGF0YSB3aGlsZSB3YWl0aW5nIGZvciBkYXRhIGNvbm5cbiIpOwotICAgICAgQ3VybF9HZXRGVFBSZXNwb25zZSgmbnJlYWQsIGNvbm4sICZmdHBjb2RlKTsKKyAgICAgICh2b2lkKUN1cmxfR2V0RlRQUmVzcG9uc2UoJm5yZWFkLCBjb25uLCAmZnRwY29kZSk7CiAKICAgICAgIGlmKGZ0cGNvZGUvMTAwID4gMykKICAgICAgICAgcmV0dXJuIENVUkxFX0ZUUF9BQ0NFUFRfRkFJTEVEOwpAQCAtNjMyLDggKzYzNSw4IEBACiAKICAgd2hpbGUoISpmdHBjb2RlICYmICFyZXN1bHQpIHsKICAgICAvKiBjaGVjayBhbmQgcmVzZXQgdGltZW91dCB2YWx1ZSBldmVyeSBsYXAgKi8KLSAgICB0aW1lX3QgdGltZW91dCA9IEN1cmxfcHBfc3RhdGVfdGltZW91dChwcCwgRkFMU0UpOwotICAgIHRpbWVfdCBpbnRlcnZhbF9tczsKKyAgICB0aW1lZGlmZl90IHRpbWVvdXQgPSBDdXJsX3BwX3N0YXRlX3RpbWVvdXQocHAsIEZBTFNFKTsKKyAgICB0aW1lZGlmZl90IGludGVydmFsX21zOwogCiAgICAgaWYodGltZW91dCA8PSAwKSB7CiAgICAgICBmYWlsZihkYXRhLCAiRlRQIHJlc3BvbnNlIHRpbWVvdXQiKTsKQEAgLTgxNSw2ICs4MTgsNyBAQAogCiAgIGlmKEZUUF9TVE9QID09IGZ0cGMtPnN0YXRlKSB7CiAgICAgaW50IGJpdHMgPSBHRVRTT0NLX1JFQURTT0NLKDApOworICAgIGJvb2wgYW55ID0gRkFMU0U7CiAKICAgICAvKiBpZiBzdG9wcGVkIGFuZCBzdGlsbCBpbiB0aGlzIHN0YXRlLCB0aGVuIHdlJ3JlIGFsc28gd2FpdGluZyBmb3IgYQogICAgICAgIGNvbm5lY3Qgb24gdGhlIHNlY29uZGFyeSBjb25uZWN0aW9uICovCkBAIC04MjksMTAgKzgzMywxMSBAQAogICAgICAgICBpZihjb25uLT50ZW1wc29ja1tpXSAhPSBDVVJMX1NPQ0tFVF9CQUQpIHsKICAgICAgICAgICBzb2Nrc1tzXSA9IGNvbm4tPnRlbXBzb2NrW2ldOwogICAgICAgICAgIGJpdHMgfD0gR0VUU09DS19XUklURVNPQ0socysrKTsKKyAgICAgICAgICBhbnkgPSBUUlVFOwogICAgICAgICB9CiAgICAgICB9CiAgICAgfQotICAgIGVsc2UgeworICAgIGlmKCFhbnkpIHsKICAgICAgIHNvY2tzWzFdID0gY29ubi0+c29ja1tTRUNPTkRBUllTT0NLRVRdOwogICAgICAgYml0cyB8PSBHRVRTT0NLX1dSSVRFU09DSygxKSB8IEdFVFNPQ0tfUkVBRFNPQ0soMSk7CiAgICAgfQpAQCAtOTEzLDcgKzkxOCw3IEBACiAgIGNoYXIgbXlob3N0W01BWF9JUEFEUl9MRU4gKyAxXSA9ICIiOwogCiAgIHN0cnVjdCBDdXJsX3NvY2thZGRyX3N0b3JhZ2Ugc3M7Ci0gIEN1cmxfYWRkcmluZm8gKnJlcywgKmFpOworICBzdHJ1Y3QgQ3VybF9hZGRyaW5mbyAqcmVzLCAqYWk7CiAgIGN1cmxfc29ja2xlbl90IHNzbGVuOwogICBjaGFyIGhidWZbTklfTUFYSE9TVF07CiAgIHN0cnVjdCBzb2NrYWRkciAqc2EgPSAoc3RydWN0IHNvY2thZGRyICopJnNzOwpAQCAtMTAzOCw2ICsxMDQzLDcgQEAKICAgfSAvKiBkYXRhLT5zZXQuZnRwcG9ydCAqLwogCiAgIGlmKCFob3N0KSB7CisgICAgY29uc3QgY2hhciAqcjsKICAgICAvKiBub3QgYW4gaW50ZXJmYWNlIGFuZCBub3QgYSBob3N0IG5hbWUsIGdldCBkZWZhdWx0IGJ5IGV4dHJhY3RpbmcKICAgICAgICB0aGUgSVAgZnJvbSB0aGUgY29udHJvbCBjb25uZWN0aW9uICovCiAgICAgc3NsZW4gPSBzaXplb2Yoc3MpOwpAQCAtMTA1MCwxMyArMTA1NiwxNSBAQAogICAgIHN3aXRjaChzYS0+c2FfZmFtaWx5KSB7CiAjaWZkZWYgRU5BQkxFX0lQVjYKICAgICBjYXNlIEFGX0lORVQ2OgotICAgICAgQ3VybF9pbmV0X250b3Aoc2EtPnNhX2ZhbWlseSwgJnNhNi0+c2luNl9hZGRyLCBoYnVmLCBzaXplb2YoaGJ1ZikpOworICAgICAgciA9IEN1cmxfaW5ldF9udG9wKHNhLT5zYV9mYW1pbHksICZzYTYtPnNpbjZfYWRkciwgaGJ1Ziwgc2l6ZW9mKGhidWYpKTsKICAgICAgIGJyZWFrOwogI2VuZGlmCiAgICAgZGVmYXVsdDoKLSAgICAgIEN1cmxfaW5ldF9udG9wKHNhLT5zYV9mYW1pbHksICZzYTQtPnNpbl9hZGRyLCBoYnVmLCBzaXplb2YoaGJ1ZikpOworICAgICAgciA9IEN1cmxfaW5ldF9udG9wKHNhLT5zYV9mYW1pbHksICZzYTQtPnNpbl9hZGRyLCBoYnVmLCBzaXplb2YoaGJ1ZikpOwogICAgICAgYnJlYWs7CiAgICAgfQorICAgIGlmKCFyKQorICAgICAgcmV0dXJuIENVUkxFX0ZUUF9QT1JUX0ZBSUxFRDsKICAgICBob3N0ID0gaGJ1ZjsgLyogdXNlIHRoaXMgaG9zdCBuYW1lICovCiAgICAgcG9zc2libHlfbm9uX2xvY2FsID0gRkFMU0U7IC8qIHdlIGtub3cgaXQgaXMgbG9jYWwgbm93ICovCiAgIH0KQEAgLTEyOTMsNyArMTMwMSw3IEBACiAgIHN0cnVjdCBmdHBfY29ubiAqZnRwYyA9ICZjb25uLT5wcm90by5mdHBjOwogICBDVVJMY29kZSByZXN1bHQgPSBDVVJMRV9PSzsKICAgLyoKLSAgICBIZXJlJ3MgdGhlIGV4Y2VjdXRpdmUgc3VtbWFyeSBvbiB3aGF0IHRvIGRvOgorICAgIEhlcmUncyB0aGUgZXhlY3V0aXZlIHN1bW1hcnkgb24gd2hhdCB0byBkbzoKIAogICAgIFBBU1YgaXMgUkZDOTU5LCBleHBlY3Q6CiAgICAgMjI3IEVudGVyaW5nIFBhc3NpdmUgTW9kZSAoYTEsYTIsYTMsYTQscDEscDIpCkBAIC0xNDQ0LDcgKzE0NTIsNyBAQAogICAgIC8qIHVybC1kZWNvZGUgYmVmb3JlIGV2YWx1YXRpb246IGUuZy4gcGF0aHMgc3RhcnRpbmcvZW5kaW5nIHdpdGggJTJmICovCiAgICAgY29uc3QgY2hhciAqc2xhc2hQb3MgPSBOVUxMOwogICAgIGNoYXIgKnJhd1BhdGggPSBOVUxMOwotICAgIHJlc3VsdCA9IEN1cmxfdXJsZGVjb2RlKGRhdGEsIGZ0cC0+cGF0aCwgMCwgJnJhd1BhdGgsIE5VTEwsIFRSVUUpOworICAgIHJlc3VsdCA9IEN1cmxfdXJsZGVjb2RlKGRhdGEsIGZ0cC0+cGF0aCwgMCwgJnJhd1BhdGgsIE5VTEwsIFJFSkVDVF9DVFJMKTsKICAgICBpZihyZXN1bHQpCiAgICAgICByZXR1cm4gcmVzdWx0OwogCkBAIC0xNzU5LDcgKzE3NjcsMTEgQEAKIHsKICAgQ1VSTGNvZGUgcmVzdWx0ID0gQ1VSTEVfT0s7CiAKLSAgaWYoY29ubi0+Yml0cy5pcHY2ICYmICEoY29ubi0+Yml0cy50dW5uZWxfcHJveHkgfHwgY29ubi0+Yml0cy5zb2Nrc3Byb3h5KSkgeworICBpZihjb25uLT5iaXRzLmlwdjYKKyNpZm5kZWYgQ1VSTF9ESVNBQkxFX1BST1hZCisgICAgICYmICEoY29ubi0+Yml0cy50dW5uZWxfcHJveHkgfHwgY29ubi0+Yml0cy5zb2Nrc3Byb3h5KQorI2VuZGlmCisgICAgKSB7CiAgICAgLyogV2UgY2FuJ3QgZGlzYWJsZSBFUFNWIHdoZW4gZG9pbmcgSVB2Niwgc28gdGhpcyBpcyBpbnN0ZWFkIGEgZmFpbCAqLwogICAgIGZhaWxmKGNvbm4tPmRhdGEsICJGYWlsZWQgRVBTViBhdHRlbXB0LCBleGl0aW5nXG4iKTsKICAgICByZXR1cm4gQ1VSTEVfV0VJUkRfU0VSVkVSX1JFUExZOwpAQCAtMTc4NCw5ICsxNzk2LDEwIEBACiAgICAgIElmIGEgcHJveHkgdHVubmVsIGlzIHVzZWQsIHJldHVybnMgdGhlIG9yaWdpbmFsIGhvc3QgbmFtZSBpbnN0ZWFkLCBiZWNhdXNlCiAgICAgIHRoZSBlZmZlY3RpdmUgY29udHJvbCBjb25uZWN0aW9uIGFkZHJlc3MgaXMgdGhlIHByb3h5IGFkZHJlc3MsCiAgICAgIG5vdCB0aGUgZnRwIGhvc3QuICovCisjaWZuZGVmIENVUkxfRElTQUJMRV9QUk9YWQogICBpZihjb25uLT5iaXRzLnR1bm5lbF9wcm94eSB8fCBjb25uLT5iaXRzLnNvY2tzcHJveHkpCiAgICAgcmV0dXJuIGNvbm4tPmhvc3QubmFtZTsKLQorI2VuZGlmCiAgIHJldHVybiBjb25uLT5pcF9hZGRyX3N0cjsKIH0KIApAQCAtMTkwMyw2ICsxOTE2LDcgQEAKICAgICByZXR1cm4gQ1VSTEVfRlRQX1dFSVJEX1BBU1ZfUkVQTFk7CiAgIH0KIAorI2lmbmRlZiBDVVJMX0RJU0FCTEVfUFJPWFkKICAgaWYoY29ubi0+Yml0cy5wcm94eSkgewogICAgIC8qCiAgICAgICogVGhpcyBjb25uZWN0aW9uIHVzZXMgYSBwcm94eSBhbmQgd2UgbmVlZCB0byBjb25uZWN0IHRvIHRoZSBwcm94eSBhZ2FpbgpAQCAtMTkyNSw3ICsxOTM5LDkgQEAKICAgICAgIHJldHVybiBDVVJMRV9DT1VMRE5UX1JFU09MVkVfUFJPWFk7CiAgICAgfQogICB9Ci0gIGVsc2UgeworICBlbHNlCisjZW5kaWYKKyAgewogICAgIC8qIG5vcm1hbCwgZGlyZWN0LCBmdHAgY29ubmVjdGlvbiAqLwogICAgIHJjID0gQ3VybF9yZXNvbHYoY29ubiwgZnRwYy0+bmV3aG9zdCwgZnRwYy0+bmV3cG9ydCwgRkFMU0UsICZhZGRyKTsKICAgICBpZihyYyA9PSBDVVJMUkVTT0xWX1BFTkRJTkcpCkBAIC0yNjM0LDkgKzI2NTAsMTIgQEAKICNlbmRpZgogCiAgICAgICBpZihkYXRhLT5zZXQudXNlX3NzbCAmJgotICAgICAgICAgKCFjb25uLT5zc2xbRklSU1RTT0NLRVRdLnVzZSB8fAotICAgICAgICAgIChjb25uLT5iaXRzLnByb3h5X3NzbF9jb25uZWN0ZWRbRklSU1RTT0NLRVRdICYmCi0gICAgICAgICAgICFjb25uLT5wcm94eV9zc2xbRklSU1RTT0NLRVRdLnVzZSkpKSB7CisgICAgICAgICAoIWNvbm4tPnNzbFtGSVJTVFNPQ0tFVF0udXNlCisjaWZuZGVmIENVUkxfRElTQUJMRV9QUk9YWQorICAgICAgICAgIHx8IChjb25uLT5iaXRzLnByb3h5X3NzbF9jb25uZWN0ZWRbRklSU1RTT0NLRVRdICYmCisgICAgICAgICAgICAgICFjb25uLT5wcm94eV9zc2xbRklSU1RTT0NLRVRdLnVzZSkKKyNlbmRpZgorICAgICAgICAgICApKSB7CiAgICAgICAgIC8qIFdlIGRvbid0IGhhdmUgYSBTU0wvVExTIGNvbm5lY3Rpb24geWV0LCBidXQgRlRQUyBpcwogICAgICAgICAgICByZXF1ZXN0ZWQuIFRyeSBhIEZUUFMgY29ubmVjdGlvbiBub3cgKi8KIApAQCAtMjgwOCw3ICsyODI3LDcgQEAKICAgICAgICAgICAgIHN0b3JlKys7CiAgICAgICAgICAgICBwdHIrKzsKICAgICAgICAgICB9Ci0gICAgICAgICAgKnN0b3JlID0gJ1wwJzsgLyogemVybyB0ZXJtaW5hdGUgKi8KKyAgICAgICAgICAqc3RvcmUgPSAnXDAnOyAvKiBudWxsLXRlcm1pbmF0ZSAqLwogICAgICAgICB9CiAgICAgICAgIGlmKGVudHJ5X2V4dHJhY3RlZCkgewogICAgICAgICAgIC8qIElmIHRoZSBwYXRoIG5hbWUgZG9lcyBub3QgbG9vayBsaWtlIGFuIGFic29sdXRlIHBhdGggKGkuZS46IGl0CkBAIC0yODcyLDcgKzI4OTEsNyBAQAogICAgICAgICAgIHB0cisrOwogICAgICAgICBmb3Ioc3RvcmUgPSBvczsgKnB0ciAmJiAqcHRyICE9ICcgJzspCiAgICAgICAgICAgKnN0b3JlKysgPSAqcHRyKys7Ci0gICAgICAgICpzdG9yZSA9ICdcMCc7IC8qIHplcm8gdGVybWluYXRlICovCisgICAgICAgICpzdG9yZSA9ICdcMCc7IC8qIG51bGwtdGVybWluYXRlICovCiAKICAgICAgICAgLyogQ2hlY2sgZm9yIHNwZWNpYWwgc2VydmVycyBoZXJlLiAqLwogCkBAIC0zMTc1LDcgKzMxOTQsOCBAQAogCiAgIGlmKCFyZXN1bHQpCiAgICAgLyogZ2V0IHRoZSB1cmwtZGVjb2RlZCAicmF3IiBwYXRoICovCi0gICAgcmVzdWx0ID0gQ3VybF91cmxkZWNvZGUoZGF0YSwgZnRwLT5wYXRoLCAwLCAmcmF3UGF0aCwgJnBhdGhMZW4sIFRSVUUpOworICAgIHJlc3VsdCA9IEN1cmxfdXJsZGVjb2RlKGRhdGEsIGZ0cC0+cGF0aCwgMCwgJnJhd1BhdGgsICZwYXRoTGVuLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJFSkVDVF9DVFJMKTsKICAgaWYocmVzdWx0KSB7CiAgICAgLyogV2UgY2FuIGxpbXAgYWxvbmcgYW55d2F5IChhbmQgc2hvdWxkIHRyeSB0byBzaW5jZSB3ZSBtYXkgYWxyZWFkeSBiZSBpbgogICAgICAqIHRoZSBlcnJvciBwYXRoKSAqLwpAQCAtMzIzMSw5ICszMjUxLDkgQEAKICAgICB9CiAKICAgICBpZihjb25uLT5zc2xbU0VDT05EQVJZU09DS0VUXS51c2UpIHsKLSAgICAgIC8qIFRoZSBzZWNvbmRhcnkgc29ja2V0IGlzIHVzaW5nIFNTTCBzbyB3ZSBtdXN0IGNsb3NlIGRvd24gdGhhdCBwYXJ0Ci0gICAgICAgICBmaXJzdCBiZWZvcmUgd2UgY2xvc2UgdGhlIHNvY2tldCBmb3IgcmVhbCAqLwotICAgICAgQ3VybF9zc2xfY2xvc2UoY29ubiwgU0VDT05EQVJZU09DS0VUKTsKKyAgICAgIC8qIFRoZSBzZWNvbmRhcnkgc29ja2V0IHVzZWQgU1NMIHNvIHdlIG11c3QgY2xvc2UgZG93biB0aGF0IHBhcnQgZmlyc3QKKyAgICAgICAgIGJlZm9yZSB3ZSBjbG9zZSB0aGUgc29ja2V0IGZvciByZWFsICovCisgICAgICByZXN1bHQgPSBDdXJsX3NzbF9zaHV0ZG93bihjb25uLCBTRUNPTkRBUllTT0NLRVQpOwogCiAgICAgICAvKiBOb3RlIHRoYXQgd2Uga2VlcCAidXNlIiBzZXQgdG8gVFJVRSBzaW5jZSB0aGF0IChuZXh0KSBjb25uZWN0aW9uIGlzCiAgICAgICAgICBzdGlsbCByZXF1ZXN0ZWQgdG8gdXNlIFNTTCAqLwpAQCAtMzI0OSw3ICszMjY5LDcgQEAKICAgICAgKiBkYXRhIGhhcyBiZWVuIHRyYW5zZmVycmVkLiBUaGlzIGhhcHBlbnMgd2hlbiBkb2luZyB0aHJvdWdoIE5BVHMgZXRjIHRoYXQKICAgICAgKiBhYmFuZG9uIG9sZCBzaWxlbnQgY29ubmVjdGlvbnMuCiAgICAgICovCi0gICAgbG9uZyBvbGRfdGltZSA9IHBwLT5yZXNwb25zZV90aW1lOworICAgIHRpbWVkaWZmX3Qgb2xkX3RpbWUgPSBwcC0+cmVzcG9uc2VfdGltZTsKIAogICAgIHBwLT5yZXNwb25zZV90aW1lID0gNjAqMTAwMDsgLyogZ2l2ZSBpdCBvbmx5IGEgbWludXRlIGZvciBub3cgKi8KICAgICBwcC0+cmVzcG9uc2UgPSBDdXJsX25vdygpOyAvKiB0aW1lb3V0IHJlbGF0aXZlIG5vdyAqLwpAQCAtMzQ0Miw3ICszNDYyLDcgQEAKICNpZm5kZWYgQ1VSTF9ESVNBQkxFX1ZFUkJPU0VfU1RSSU5HUwogc3RhdGljIHZvaWQKIGZ0cF9wYXN2X3ZlcmJvc2Uoc3RydWN0IGNvbm5lY3RkYXRhICpjb25uLAotICAgICAgICAgICAgICAgICBDdXJsX2FkZHJpbmZvICphaSwKKyAgICAgICAgICAgICAgICAgc3RydWN0IEN1cmxfYWRkcmluZm8gKmFpLAogICAgICAgICAgICAgICAgICBjaGFyICpuZXdob3N0LCAvKiBhc2NpaSB2ZXJzaW9uICovCiAgICAgICAgICAgICAgICAgIGludCBwb3J0KQogewpAQCAtMzUwMCw2ICszNTIwLDcgQEAKICAgICB9CiAgIH0KIAorI2lmbmRlZiBDVVJMX0RJU0FCTEVfUFJPWFkKICAgcmVzdWx0ID0gQ3VybF9wcm94eV9jb25uZWN0KGNvbm4sIFNFQ09OREFSWVNPQ0tFVCk7CiAgIGlmKHJlc3VsdCkKICAgICByZXR1cm4gcmVzdWx0OwpAQCAtMzUxMCw3ICszNTMxLDcgQEAKICAgaWYoY29ubi0+Yml0cy50dW5uZWxfcHJveHkgJiYgY29ubi0+Yml0cy5odHRwcHJveHkgJiYKICAgICAgQ3VybF9jb25uZWN0X29uZ29pbmcoY29ubikpCiAgICAgcmV0dXJuIHJlc3VsdDsKLQorI2VuZGlmCiAKICAgaWYoZnRwYy0+c3RhdGUpIHsKICAgICAvKiBhbHJlYWR5IGluIGEgc3RhdGUgc28gc2tpcCB0aGUgaW5pdGlhbCBjb21tYW5kcy4KQEAgLTQwOTAsNyArNDExMSw3IEBACiAgIGZ0cGMtPmN3ZGZhaWwgPSBGQUxTRTsKIAogICAvKiB1cmwtZGVjb2RlIGZ0cCBwYXRoIGJlZm9yZSBmdXJ0aGVyIGV2YWx1YXRpb24gKi8KLSAgcmVzdWx0ID0gQ3VybF91cmxkZWNvZGUoZGF0YSwgZnRwLT5wYXRoLCAwLCAmcmF3UGF0aCwgJnBhdGhMZW4sIFRSVUUpOworICByZXN1bHQgPSBDdXJsX3VybGRlY29kZShkYXRhLCBmdHAtPnBhdGgsIDAsICZyYXdQYXRoLCAmcGF0aExlbiwgUkVKRUNUX0NUUkwpOwogICBpZihyZXN1bHQpCiAgICAgcmV0dXJuIHJlc3VsdDsKIApAQCAtNDMzNyw3ICs0MzU4LDYgQEAKICAgICBjaGFyIGNvbW1hbmQ7CiAgICAgKnR5cGUgPSAwOyAgICAgICAgICAgICAgICAgICAgIC8qIGl0IHdhcyBpbiB0aGUgbWlkZGxlIG9mIHRoZSBob3N0bmFtZSAqLwogICAgIGNvbW1hbmQgPSBDdXJsX3Jhd190b3VwcGVyKHR5cGVbNl0pOwotICAgIGNvbm4tPmJpdHMudHlwZV9zZXQgPSBUUlVFOwogCiAgICAgc3dpdGNoKGNvbW1hbmQpIHsKICAgICBjYXNlICdBJzogLyogQVNDSUkgbW9kZSAqLwpkaWZmIC0tZ2l0IGEvbGliL2dldGluZm8uYyBiL2xpYi9nZXRpbmZvLmMKaW5kZXggODRkOWZjMS4uNmQ1YmQ1ZiAxMDA2NDQKLS0tIGEvbGliL2dldGluZm8uYworKysgYi9saWIvZ2V0aW5mby5jCkBAIC0xOTgsOSArMTk4LDExIEBACiAgIGNhc2UgQ1VSTElORk9fU1NMX1ZFUklGWVJFU1VMVDoKICAgICAqcGFyYW1fbG9uZ3AgPSBkYXRhLT5zZXQuc3NsLmNlcnR2ZXJpZnlyZXN1bHQ7CiAgICAgYnJlYWs7CisjaWZuZGVmIENVUkxfRElTQUJMRV9QUk9YWQogICBjYXNlIENVUkxJTkZPX1BST1hZX1NTTF9WRVJJRllSRVNVTFQ6CiAgICAgKnBhcmFtX2xvbmdwID0gZGF0YS0+c2V0LnByb3h5X3NzbC5jZXJ0dmVyaWZ5cmVzdWx0OwogICAgIGJyZWFrOworI2VuZGlmCiAgIGNhc2UgQ1VSTElORk9fUkVESVJFQ1RfQ09VTlQ6CiAgICAgKnBhcmFtX2xvbmdwID0gZGF0YS0+c2V0LmZvbGxvd2xvY2F0aW9uOwogICAgIGJyZWFrOwpAQCAtMzIwLDcgKzMyMiw3IEBACiAgICAgKnBhcmFtX29mZnQgPSBkYXRhLT5wcm9ncmVzcy5kb3dubG9hZGVkOwogICAgIGJyZWFrOwogICBjYXNlIENVUkxJTkZPX1NQRUVEX0RPV05MT0FEX1Q6Ci0gICAgKnBhcmFtX29mZnQgPSAgZGF0YS0+cHJvZ3Jlc3MuZGxzcGVlZDsKKyAgICAqcGFyYW1fb2ZmdCA9IGRhdGEtPnByb2dyZXNzLmRsc3BlZWQ7CiAgICAgYnJlYWs7CiAgIGNhc2UgQ1VSTElORk9fU1BFRURfVVBMT0FEX1Q6CiAgICAgKnBhcmFtX29mZnQgPSBkYXRhLT5wcm9ncmVzcy51bHNwZWVkOwpAQCAtNDA4LDEzICs0MTAsMTMgQEAKICAgICAqcGFyYW1fZG91YmxlcCA9IERPVUJMRV9TRUNTKGRhdGEtPnByb2dyZXNzLnRfc3RhcnR0cmFuc2Zlcik7CiAgICAgYnJlYWs7CiAgIGNhc2UgQ1VSTElORk9fU0laRV9VUExPQUQ6Ci0gICAgKnBhcmFtX2RvdWJsZXAgPSAgKGRvdWJsZSlkYXRhLT5wcm9ncmVzcy51cGxvYWRlZDsKKyAgICAqcGFyYW1fZG91YmxlcCA9IChkb3VibGUpZGF0YS0+cHJvZ3Jlc3MudXBsb2FkZWQ7CiAgICAgYnJlYWs7CiAgIGNhc2UgQ1VSTElORk9fU0laRV9ET1dOTE9BRDoKICAgICAqcGFyYW1fZG91YmxlcCA9IChkb3VibGUpZGF0YS0+cHJvZ3Jlc3MuZG93bmxvYWRlZDsKICAgICBicmVhazsKICAgY2FzZSBDVVJMSU5GT19TUEVFRF9ET1dOTE9BRDoKLSAgICAqcGFyYW1fZG91YmxlcCA9ICAoZG91YmxlKWRhdGEtPnByb2dyZXNzLmRsc3BlZWQ7CisgICAgKnBhcmFtX2RvdWJsZXAgPSAoZG91YmxlKWRhdGEtPnByb2dyZXNzLmRsc3BlZWQ7CiAgICAgYnJlYWs7CiAgIGNhc2UgQ1VSTElORk9fU1BFRURfVVBMT0FEOgogICAgICpwYXJhbV9kb3VibGVwID0gKGRvdWJsZSlkYXRhLT5wcm9ncmVzcy51bHNwZWVkOwpkaWZmIC0tZ2l0IGEvbGliL2dvcGhlci5jIGIvbGliL2dvcGhlci5jCmluZGV4IGM0ODA5OGYuLmI0ODExYjIgMTAwNjQ0Ci0tLSBhL2xpYi9nb3BoZXIuYworKysgYi9saWIvZ29waGVyLmMKQEAgLTExNiw3ICsxMTYsNyBAQAogICAgIG5ld3AgKz0gMjsKIAogICAgIC8qIC4uLiBhbmQgZmluYWxseSB1bmVzY2FwZSAqLwotICAgIHJlc3VsdCA9IEN1cmxfdXJsZGVjb2RlKGRhdGEsIG5ld3AsIDAsICZzZWwsICZsZW4sIEZBTFNFKTsKKyAgICByZXN1bHQgPSBDdXJsX3VybGRlY29kZShkYXRhLCBuZXdwLCAwLCAmc2VsLCAmbGVuLCBSRUpFQ1RfWkVSTyk7CiAgICAgZnJlZShnb3BoZXJwYXRoKTsKICAgICBpZihyZXN1bHQpCiAgICAgICByZXR1cm4gcmVzdWx0OwpkaWZmIC0tZ2l0IGEvbGliL2htYWMuYyBiL2xpYi9obWFjLmMKaW5kZXggYWU2ODgyNy4uZTRmZWE4YSAxMDA2NDQKLS0tIGEvbGliL2htYWMuYworKysgYi9saWIvaG1hYy5jCkBAIC00OCwxMyArNDgsMTMgQEAKIAogCiAKLUhNQUNfY29udGV4dCAqCi1DdXJsX0hNQUNfaW5pdChjb25zdCBITUFDX3BhcmFtcyAqIGhhc2hwYXJhbXMsCitzdHJ1Y3QgSE1BQ19jb250ZXh0ICoKK0N1cmxfSE1BQ19pbml0KGNvbnN0IHN0cnVjdCBITUFDX3BhcmFtcyAqaGFzaHBhcmFtcywKICAgICAgICAgICAgICAgIGNvbnN0IHVuc2lnbmVkIGNoYXIgKmtleSwKICAgICAgICAgICAgICAgIHVuc2lnbmVkIGludCBrZXlsZW4pCiB7CiAgIHNpemVfdCBpOwotICBITUFDX2NvbnRleHQgKmN0eHQ7CisgIHN0cnVjdCBITUFDX2NvbnRleHQgKmN0eHQ7CiAgIHVuc2lnbmVkIGNoYXIgKmhrZXk7CiAgIHVuc2lnbmVkIGNoYXIgYjsKIApAQCAtMTAxLDcgKzEwMSw3IEBACiAgIHJldHVybiBjdHh0OwogfQogCi1pbnQgQ3VybF9ITUFDX3VwZGF0ZShITUFDX2NvbnRleHQgKiBjdHh0LAoraW50IEN1cmxfSE1BQ191cGRhdGUoc3RydWN0IEhNQUNfY29udGV4dCAqY3R4dCwKICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVuc2lnbmVkIGNoYXIgKmRhdGEsCiAgICAgICAgICAgICAgICAgICAgICB1bnNpZ25lZCBpbnQgbGVuKQogewpAQCAtMTExLDkgKzExMSw5IEBACiB9CiAKIAotaW50IEN1cmxfSE1BQ19maW5hbChITUFDX2NvbnRleHQgKmN0eHQsIHVuc2lnbmVkIGNoYXIgKnJlc3VsdCkKK2ludCBDdXJsX0hNQUNfZmluYWwoc3RydWN0IEhNQUNfY29udGV4dCAqY3R4dCwgdW5zaWduZWQgY2hhciAqcmVzdWx0KQogewotICBjb25zdCBITUFDX3BhcmFtcyAqIGhhc2hwYXJhbXMgPSBjdHh0LT5obWFjX2hhc2g7CisgIGNvbnN0IHN0cnVjdCBITUFDX3BhcmFtcyAqaGFzaHBhcmFtcyA9IGN0eHQtPmhtYWNfaGFzaDsKIAogICAvKiBEbyBub3QgZ2V0IHJlc3VsdCBpZiBjYWxsZWQgd2l0aCBhIG51bGwgcGFyYW1ldGVyOiBvbmx5IHJlbGVhc2UKICAgICAgc3RvcmFnZS4gKi8KQEAgLTE0NywxMiArMTQ3LDEzIEBACiAgKgogICogUmV0dXJucyBDVVJMRV9PSyBvbiBzdWNjZXNzLgogICovCi1DVVJMY29kZSBDdXJsX2htYWNpdChjb25zdCBITUFDX3BhcmFtcyAqaGFzaHBhcmFtcywKK0NVUkxjb2RlIEN1cmxfaG1hY2l0KGNvbnN0IHN0cnVjdCBITUFDX3BhcmFtcyAqaGFzaHBhcmFtcywKICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVuc2lnbmVkIGNoYXIgKmtleSwgY29uc3Qgc2l6ZV90IGtleWxlbiwKICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVuc2lnbmVkIGNoYXIgKmRhdGEsIGNvbnN0IHNpemVfdCBkYXRhbGVuLAogICAgICAgICAgICAgICAgICAgICAgdW5zaWduZWQgY2hhciAqb3V0cHV0KQogewotICBITUFDX2NvbnRleHQgKmN0eHQgPSBDdXJsX0hNQUNfaW5pdChoYXNocGFyYW1zLCBrZXksIGN1cmx4X3V6dG91aShrZXlsZW4pKTsKKyAgc3RydWN0IEhNQUNfY29udGV4dCAqY3R4dCA9CisgICAgQ3VybF9ITUFDX2luaXQoaGFzaHBhcmFtcywga2V5LCBjdXJseF91enRvdWkoa2V5bGVuKSk7CiAKICAgaWYoIWN0eHQpCiAgICAgcmV0dXJuIENVUkxFX09VVF9PRl9NRU1PUlk7CmRpZmYgLS1naXQgYS9saWIvaG9zdGFzeW4uYyBiL2xpYi9ob3N0YXN5bi5jCmluZGV4IDk5ZDg3MmIuLmVkOTE5MGYgMTAwNjQ0Ci0tLSBhL2xpYi9ob3N0YXN5bi5jCisrKyBiL2xpYi9ob3N0YXN5bi5jCkBAIC01LDcgKzUsNyBAQAogICogICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAoX198IHxffCB8ICBfIDx8IHxfX18KICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcX19ffFxfX18vfF98IFxfXF9fX19ffAogICoKLSAqIENvcHlyaWdodCAoQykgMTk5OCAtIDIwMTksIERhbmllbCBTdGVuYmVyZywgPGRhbmllbEBoYXh4LnNlPiwgZXQgYWwuCisgKiBDb3B5cmlnaHQgKEMpIDE5OTggLSAyMDIwLCBEYW5pZWwgU3RlbmJlcmcsIDxkYW5pZWxAaGF4eC5zZT4sIGV0IGFsLgogICoKICAqIFRoaXMgc29mdHdhcmUgaXMgbGljZW5zZWQgYXMgZGVzY3JpYmVkIGluIHRoZSBmaWxlIENPUFlJTkcsIHdoaWNoCiAgKiB5b3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYXMgcGFydCBvZiB0aGlzIGRpc3RyaWJ1dGlvbi4gVGhlIHRlcm1zCkBAIC0xMTcsMTAgKzExNywxMCBAQAogICogbmFtZSByZXNvbHZlIGxheWVycyAoc2VsZWN0ZWQgYXQgYnVpbGQtdGltZSkuIFRoZXkgYWxsIHRha2UgdGhpcyBzYW1lIHNldAogICogb2YgYXJndW1lbnRzCiAgKi8KLUN1cmxfYWRkcmluZm8gKkN1cmxfZ2V0YWRkcmluZm8oc3RydWN0IGNvbm5lY3RkYXRhICpjb25uLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBjaGFyICpob3N0bmFtZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHBvcnQsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCAqd2FpdHApCitzdHJ1Y3QgQ3VybF9hZGRyaW5mbyAqQ3VybF9nZXRhZGRyaW5mbyhzdHJ1Y3QgY29ubmVjdGRhdGEgKmNvbm4sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBjaGFyICpob3N0bmFtZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBwb3J0LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50ICp3YWl0cCkKIHsKICAgcmV0dXJuIEN1cmxfcmVzb2x2ZXJfZ2V0YWRkcmluZm8oY29ubiwgaG9zdG5hbWUsIHBvcnQsIHdhaXRwKTsKIH0KZGlmZiAtLWdpdCBhL2xpYi9ob3N0aXAuYyBiL2xpYi9ob3N0aXAuYwppbmRleCBjMGZlYjc5Li5kZDU5MTZlIDEwMDY0NAotLS0gYS9saWIvaG9zdGlwLmMKKysrIGIvbGliL2hvc3RpcC5jCkBAIC0xMjAsNyArMTIwLDcgQEAKIC8qCiAgKiBSZXR1cm4gIyBvZiBhZGRyZXNzZXMgaW4gYSBDdXJsX2FkZHJpbmZvIHN0cnVjdAogICovCi1pbnQgQ3VybF9udW1fYWRkcmVzc2VzKGNvbnN0IEN1cmxfYWRkcmluZm8gKmFkZHIpCitpbnQgQ3VybF9udW1fYWRkcmVzc2VzKGNvbnN0IHN0cnVjdCBDdXJsX2FkZHJpbmZvICphZGRyKQogewogICBpbnQgaSA9IDA7CiAgIHdoaWxlKGFkZHIpIHsKQEAgLTEzMSwzOSArMTMxLDM2IEBACiB9CiAKIC8qCi0gKiBDdXJsX3ByaW50YWJsZV9hZGRyZXNzKCkgcmV0dXJucyBhIHByaW50YWJsZSB2ZXJzaW9uIG9mIHRoZSAxc3QgYWRkcmVzcworICogQ3VybF9wcmludGFibGVfYWRkcmVzcygpIHN0b3JlcyBhIHByaW50YWJsZSB2ZXJzaW9uIG9mIHRoZSAxc3QgYWRkcmVzcwogICogZ2l2ZW4gaW4gdGhlICdhaScgYXJndW1lbnQuIFRoZSByZXN1bHQgd2lsbCBiZSBzdG9yZWQgaW4gdGhlIGJ1ZiB0aGF0IGlzCiAgKiBidWZzaXplIGJ5dGVzIGJpZy4KICAqCi0gKiBJZiB0aGUgY29udmVyc2lvbiBmYWlscywgaXQgcmV0dXJucyBOVUxMLgorICogSWYgdGhlIGNvbnZlcnNpb24gZmFpbHMsIHRoZSB0YXJnZXQgYnVmZmVyIGlzIGVtcHR5LgogICovCi1jb25zdCBjaGFyICoKLUN1cmxfcHJpbnRhYmxlX2FkZHJlc3MoY29uc3QgQ3VybF9hZGRyaW5mbyAqYWksIGNoYXIgKmJ1Ziwgc2l6ZV90IGJ1ZnNpemUpCit2b2lkIEN1cmxfcHJpbnRhYmxlX2FkZHJlc3MoY29uc3Qgc3RydWN0IEN1cmxfYWRkcmluZm8gKmFpLCBjaGFyICpidWYsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2l6ZV90IGJ1ZnNpemUpCiB7Ci0gIGNvbnN0IHN0cnVjdCBzb2NrYWRkcl9pbiAqc2E0OwotICBjb25zdCBzdHJ1Y3QgaW5fYWRkciAqaXBhZGRyNDsKLSNpZmRlZiBFTkFCTEVfSVBWNgotICBjb25zdCBzdHJ1Y3Qgc29ja2FkZHJfaW42ICpzYTY7Ci0gIGNvbnN0IHN0cnVjdCBpbjZfYWRkciAqaXBhZGRyNjsKLSNlbmRpZgorICBERUJVR0FTU0VSVChidWZzaXplKTsKKyAgYnVmWzBdID0gMDsKIAogICBzd2l0Y2goYWktPmFpX2ZhbWlseSkgewotICAgIGNhc2UgQUZfSU5FVDoKLSAgICAgIHNhNCA9IChjb25zdCB2b2lkICopYWktPmFpX2FkZHI7Ci0gICAgICBpcGFkZHI0ID0gJnNhNC0+c2luX2FkZHI7Ci0gICAgICByZXR1cm4gQ3VybF9pbmV0X250b3AoYWktPmFpX2ZhbWlseSwgKGNvbnN0IHZvaWQgKilpcGFkZHI0LCBidWYsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgYnVmc2l6ZSk7Ci0jaWZkZWYgRU5BQkxFX0lQVjYKLSAgICBjYXNlIEFGX0lORVQ2OgotICAgICAgc2E2ID0gKGNvbnN0IHZvaWQgKilhaS0+YWlfYWRkcjsKLSAgICAgIGlwYWRkcjYgPSAmc2E2LT5zaW42X2FkZHI7Ci0gICAgICByZXR1cm4gQ3VybF9pbmV0X250b3AoYWktPmFpX2ZhbWlseSwgKGNvbnN0IHZvaWQgKilpcGFkZHI2LCBidWYsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgYnVmc2l6ZSk7Ci0jZW5kaWYKLSAgICBkZWZhdWx0OgotICAgICAgYnJlYWs7CisgIGNhc2UgQUZfSU5FVDogeworICAgIGNvbnN0IHN0cnVjdCBzb2NrYWRkcl9pbiAqc2E0ID0gKGNvbnN0IHZvaWQgKilhaS0+YWlfYWRkcjsKKyAgICBjb25zdCBzdHJ1Y3QgaW5fYWRkciAqaXBhZGRyNCA9ICZzYTQtPnNpbl9hZGRyOworICAgICh2b2lkKUN1cmxfaW5ldF9udG9wKGFpLT5haV9mYW1pbHksIChjb25zdCB2b2lkICopaXBhZGRyNCwgYnVmLCBidWZzaXplKTsKKyAgICBicmVhazsKICAgfQotICByZXR1cm4gTlVMTDsKKyNpZmRlZiBFTkFCTEVfSVBWNgorICBjYXNlIEFGX0lORVQ2OiB7CisgICAgY29uc3Qgc3RydWN0IHNvY2thZGRyX2luNiAqc2E2ID0gKGNvbnN0IHZvaWQgKilhaS0+YWlfYWRkcjsKKyAgICBjb25zdCBzdHJ1Y3QgaW42X2FkZHIgKmlwYWRkcjYgPSAmc2E2LT5zaW42X2FkZHI7CisgICAgKHZvaWQpQ3VybF9pbmV0X250b3AoYWktPmFpX2ZhbWlseSwgKGNvbnN0IHZvaWQgKilpcGFkZHI2LCBidWYsIGJ1ZnNpemUpOworICAgIGJyZWFrOworICB9CisjZW5kaWYKKyAgZGVmYXVsdDoKKyAgICBicmVhazsKKyAgfQogfQogCiAvKgpAQCAtMzM3LDcgKzMzNCw3IEBACiAKICNpZm5kZWYgQ1VSTF9ESVNBQkxFX1NIVUZGTEVfRE5TCiBVTklUVEVTVCBDVVJMY29kZSBDdXJsX3NodWZmbGVfYWRkcihzdHJ1Y3QgQ3VybF9lYXN5ICpkYXRhLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQ3VybF9hZGRyaW5mbyAqKmFkZHIpOworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RydWN0IEN1cmxfYWRkcmluZm8gKiphZGRyKTsKIC8qCiAgKiBDdXJsX3NodWZmbGVfYWRkcigpIHNodWZmbGVzIHRoZSBvcmRlciBvZiBhZGRyZXNzZXMgaW4gYSAnQ3VybF9hZGRyaW5mbycKICAqIHN0cnVjdCBieSByZS1saW5raW5nIGl0cyBsaW5rZWQgbGlzdC4KQEAgLTM1MSwxMyArMzQ4LDEzIEBACiAgKiBAdW5pdHRlc3Q6IDE2MDgKICAqLwogVU5JVFRFU1QgQ1VSTGNvZGUgQ3VybF9zaHVmZmxlX2FkZHIoc3RydWN0IEN1cmxfZWFzeSAqZGF0YSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEN1cmxfYWRkcmluZm8gKiphZGRyKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RydWN0IEN1cmxfYWRkcmluZm8gKiphZGRyKQogewogICBDVVJMY29kZSByZXN1bHQgPSBDVVJMRV9PSzsKICAgY29uc3QgaW50IG51bV9hZGRycyA9IEN1cmxfbnVtX2FkZHJlc3NlcygqYWRkcik7CiAKICAgaWYobnVtX2FkZHJzID4gMSkgewotICAgIEN1cmxfYWRkcmluZm8gKipub2RlczsKKyAgICBzdHJ1Y3QgQ3VybF9hZGRyaW5mbyAqKm5vZGVzOwogICAgIGluZm9mKGRhdGEsICJTaHVmZmxpbmcgJWkgYWRkcmVzc2VzIiwgbnVtX2FkZHJzKTsKIAogICAgIG5vZGVzID0gbWFsbG9jKG51bV9hZGRycypzaXplb2YoKm5vZGVzKSk7CkBAIC0zNzYsNyArMzczLDcgQEAKICAgICAgIGlmKHJuZCkgewogICAgICAgICAvKiBGaXNoZXItWWF0ZXMgc2h1ZmZsZSAqLwogICAgICAgICBpZihDdXJsX3JhbmQoZGF0YSwgKHVuc2lnbmVkIGNoYXIgKilybmQsIHJuZF9zaXplKSA9PSBDVVJMRV9PSykgewotICAgICAgICAgIEN1cmxfYWRkcmluZm8gKnN3YXBfdG1wOworICAgICAgICAgIHN0cnVjdCBDdXJsX2FkZHJpbmZvICpzd2FwX3RtcDsKICAgICAgICAgICBmb3IoaSA9IG51bV9hZGRycyAtIDE7IGkgPiAwOyBpLS0pIHsKICAgICAgICAgICAgIHN3YXBfdG1wID0gbm9kZXNbcm5kW2ldICUgKGkgKyAxKV07CiAgICAgICAgICAgICBub2Rlc1tybmRbaV0gJSAoaSArIDEpXSA9IG5vZGVzW2ldOwpAQCAtNDE1LDcgKzQxMiw3IEBACiAgKi8KIHN0cnVjdCBDdXJsX2Ruc19lbnRyeSAqCiBDdXJsX2NhY2hlX2FkZHIoc3RydWN0IEN1cmxfZWFzeSAqZGF0YSwKLSAgICAgICAgICAgICAgICBDdXJsX2FkZHJpbmZvICphZGRyLAorICAgICAgICAgICAgICAgIHN0cnVjdCBDdXJsX2FkZHJpbmZvICphZGRyLAogICAgICAgICAgICAgICAgIGNvbnN0IGNoYXIgKmhvc3RuYW1lLAogICAgICAgICAgICAgICAgIGludCBwb3J0KQogewpAQCAtNDk1LDYgKzQ5Miw3IEBACiAgIGVudW0gcmVzb2x2ZV90IHJjID0gQ1VSTFJFU09MVl9FUlJPUjsgLyogZGVmYXVsdCB0byBmYWlsdXJlICovCiAKICAgKmVudHJ5ID0gTlVMTDsKKyAgY29ubi0+Yml0cy5kb2ggPSBGQUxTRTsgLyogZGVmYXVsdCBpcyBub3QgKi8KIAogICBpZihkYXRhLT5zaGFyZSkKICAgICBDdXJsX3NoYXJlX2xvY2soZGF0YSwgQ1VSTF9MT0NLX0RBVEFfRE5TLCBDVVJMX0xPQ0tfQUNDRVNTX1NJTkdMRSk7CkBAIC01MTMsMTEgKzUxMSwxMyBAQAogICBpZighZG5zKSB7CiAgICAgLyogVGhlIGVudHJ5IHdhcyBub3QgaW4gdGhlIGNhY2hlLiBSZXNvbHZlIGl0IHRvIElQIGFkZHJlc3MgKi8KIAotICAgIEN1cmxfYWRkcmluZm8gKmFkZHIgPSBOVUxMOworICAgIHN0cnVjdCBDdXJsX2FkZHJpbmZvICphZGRyID0gTlVMTDsKICAgICBpbnQgcmVzcHdhaXQgPSAwOwotI2lmbmRlZiBVU0VfUkVTT0xWRV9PTl9JUFMKICAgICBzdHJ1Y3QgaW5fYWRkciBpbjsKKyNpZm5kZWYgVVNFX1JFU09MVkVfT05fSVBTCisgICAgY29uc3QKICNlbmRpZgorICAgICAgYm9vbCBpcG51bSA9IEZBTFNFOwogCiAgICAgLyogbm90aWZ5IHRoZSByZXNvbHZlciBzdGFydCBjYWxsYmFjayAqLwogICAgIGlmKGRhdGEtPnNldC5yZXNvbHZlcl9zdGFydCkgewpAQCAtNTQ0LDYgKzU0NCwyMiBAQAogICAgICAgICBhZGRyID0gQ3VybF9pcDJhZGRyKEFGX0lORVQ2LCAmaW42LCBob3N0bmFtZSwgcG9ydCk7CiAgICAgfQogI2VuZGlmIC8qIEVOQUJMRV9JUFY2ICovCisKKyNlbHNlIC8qIGlmIFVTRV9SRVNPTFZFX09OX0lQUyAqLworICAgIC8qIEZpcnN0IGNoZWNrIGlmIHRoaXMgaXMgYW4gSVB2NCBhZGRyZXNzIHN0cmluZyAqLworICAgIGlmKEN1cmxfaW5ldF9wdG9uKEFGX0lORVQsIGhvc3RuYW1lLCAmaW4pID4gMCkKKyAgICAgIC8qIFRoaXMgaXMgYSBkb3R0ZWQgSVAgYWRkcmVzcyAxMjMuMTIzLjEyMy4xMjMtc3R5bGUgKi8KKyAgICAgIGlwbnVtID0gVFJVRTsKKyNpZmRlZiBFTkFCTEVfSVBWNgorICAgIGVsc2UgeworICAgICAgc3RydWN0IGluNl9hZGRyIGluNjsKKyAgICAgIC8qIGNoZWNrIGlmIHRoaXMgaXMgYW4gSVB2NiBhZGRyZXNzIHN0cmluZyAqLworICAgICAgaWYoQ3VybF9pbmV0X3B0b24oQUZfSU5FVDYsIGhvc3RuYW1lLCAmaW42KSA+IDApCisgICAgICAgIC8qIFRoaXMgaXMgYW4gSVB2NiBhZGRyZXNzIGxpdGVyYWwgKi8KKyAgICAgICAgaXBudW0gPSBUUlVFOworICAgIH0KKyNlbmRpZiAvKiBFTkFCTEVfSVBWNiAqLworCiAjZW5kaWYgLyogIVVTRV9SRVNPTFZFX09OX0lQUyAqLwogCiAgICAgaWYoIWFkZHIpIHsKQEAgLTU1Miw3ICs1NjgsNyBAQAogICAgICAgaWYoIUN1cmxfaXB2YWxpZChjb25uKSkKICAgICAgICAgcmV0dXJuIENVUkxSRVNPTFZfRVJST1I7CiAKLSAgICAgIGlmKGFsbG93RE9IICYmIGRhdGEtPnNldC5kb2gpIHsKKyAgICAgIGlmKGFsbG93RE9IICYmIGRhdGEtPnNldC5kb2ggJiYgIWlwbnVtKSB7CiAgICAgICAgIGFkZHIgPSBDdXJsX2RvaChjb25uLCBob3N0bmFtZSwgcG9ydCwgJnJlc3B3YWl0KTsKICAgICAgIH0KICAgICAgIGVsc2UgewpAQCAtODkwLDcgKzkwNiw3IEBACiAgICAgfQogICAgIGVsc2UgewogICAgICAgc3RydWN0IEN1cmxfZG5zX2VudHJ5ICpkbnM7Ci0gICAgICBDdXJsX2FkZHJpbmZvICpoZWFkID0gTlVMTCwgKnRhaWwgPSBOVUxMOworICAgICAgc3RydWN0IEN1cmxfYWRkcmluZm8gKmhlYWQgPSBOVUxMLCAqdGFpbCA9IE5VTEw7CiAgICAgICBzaXplX3QgZW50cnlfbGVuOwogICAgICAgY2hhciBhZGRyZXNzWzY0XTsKICNpZiAhZGVmaW5lZChDVVJMX0RJU0FCTEVfVkVSQk9TRV9TVFJJTkdTKQpAQCAtOTI0LDcgKzk0MCw3IEBACiAKICAgICAgIHdoaWxlKCplbmRfcHRyKSB7CiAgICAgICAgIHNpemVfdCBhbGVuOwotICAgICAgICBDdXJsX2FkZHJpbmZvICphaTsKKyAgICAgICAgc3RydWN0IEN1cmxfYWRkcmluZm8gKmFpOwogCiAgICAgICAgIGFkZHJfYmVnaW4gPSBlbmRfcHRyICsgMTsKICAgICAgICAgYWRkcl9lbmQgPSBzdHJjaHIoYWRkcl9iZWdpbiwgJywnKTsKQEAgLTEwNDcsNyArMTA2Myw3IEBACiAgICh2b2lkKWRuczsKICNlbmRpZgogCi0gIGlmKGNvbm4tPmRhdGEtPnNldC5kb2gpCisgIGlmKGNvbm4tPmJpdHMuZG9oKQogICAgIHJldHVybiBDdXJsX2RvaF9pc19yZXNvbHZlZChjb25uLCBkbnMpOwogICByZXR1cm4gQ3VybF9yZXNvbHZlcl9pc19yZXNvbHZlZChjb25uLCBkbnMpOwogfQpAQCAtMTA1Niw3ICsxMDcyLDcgQEAKICAgICAgICAgICAgICAgICAgICAgICAgIGN1cmxfc29ja2V0X3QgKnNvY2tzKQogewogI2lmZGVmIENVUkxSRVNfQVNZTkNICi0gIGlmKGNvbm4tPmRhdGEtPnNldC5kb2gpCisgIGlmKGNvbm4tPmJpdHMuZG9oKQogICAgIC8qIG5vdGhpbmcgdG8gd2FpdCBmb3IgZHVyaW5nIERPSCByZXNvbHZlLCB0aG9zZSBoYW5kbGVzIGhhdmUgdGhlaXIgb3duCiAgICAgICAgc29ja2V0cyAqLwogICAgIHJldHVybiBHRVRTT0NLX0JMQU5LOwpAQCAtMTA4NSwxMCArMTEwMSwxMiBAQAogCiAgIHJlc3VsdCA9IEN1cmxfc2V0dXBfY29ubihjb25uLCBwcm90b2NvbF9kb25lKTsKIAotICBpZihyZXN1bHQpCi0gICAgLyogV2UncmUgbm90IGFsbG93ZWQgdG8gcmV0dXJuIGZhaWx1cmUgd2l0aCBtZW1vcnkgbGVmdCBhbGxvY2F0ZWQKLSAgICAgICBpbiB0aGUgY29ubmVjdGRhdGEgc3RydWN0LCBmcmVlIHRob3NlIGhlcmUgKi8KLSAgICBDdXJsX2Rpc2Nvbm5lY3QoY29ubi0+ZGF0YSwgY29ubiwgVFJVRSk7IC8qIGNsb3NlIHRoZSBjb25uZWN0aW9uICovCi0KKyAgaWYocmVzdWx0KSB7CisgICAgc3RydWN0IEN1cmxfZWFzeSAqZGF0YSA9IGNvbm4tPmRhdGE7CisgICAgREVCVUdBU1NFUlQoZGF0YSk7CisgICAgQ3VybF9kZXRhY2hfY29ubm5lY3Rpb24oZGF0YSk7CisgICAgQ3VybF9jb25uY2FjaGVfcmVtb3ZlX2Nvbm4oZGF0YSwgY29ubiwgVFJVRSk7CisgICAgQ3VybF9kaXNjb25uZWN0KGRhdGEsIGNvbm4sIFRSVUUpOworICB9CiAgIHJldHVybiByZXN1bHQ7CiB9CmRpZmYgLS1naXQgYS9saWIvaG9zdGlwLmggYi9saWIvaG9zdGlwLmgKaW5kZXggYmFmMWU1OC4uMzc0YjA2YyAxMDA2NDQKLS0tIGEvbGliL2hvc3RpcC5oCisrKyBiL2xpYi9ob3N0aXAuaApAQCAtNjQsNyArNjQsNyBAQAogc3RydWN0IGN1cmxfaGFzaCAqQ3VybF9nbG9iYWxfaG9zdF9jYWNoZV9pbml0KHZvaWQpOwogCiBzdHJ1Y3QgQ3VybF9kbnNfZW50cnkgewotICBDdXJsX2FkZHJpbmZvICphZGRyOworICBzdHJ1Y3QgQ3VybF9hZGRyaW5mbyAqYWRkcjsKICAgLyogdGltZXN0YW1wID09IDAgLS0gQ1VSTE9QVF9SRVNPTFZFIGVudHJ5LCBkb2Vzbid0IHRpbWVvdXQgKi8KICAgdGltZV90IHRpbWVzdGFtcDsKICAgLyogdXNlLWNvdW50ZXIsIHVzZSBDdXJsX3Jlc29sdl91bmxvY2sgdG8gcmVsZWFzZSByZWZlcmVuY2UgKi8KQEAgLTExNywxMCArMTE3LDEwIEBACiAgKiBuYW1lIHJlc29sdmUgbGF5ZXJzIChzZWxlY3RlZCBhdCBidWlsZC10aW1lKS4gVGhleSBhbGwgdGFrZSB0aGlzIHNhbWUgc2V0CiAgKiBvZiBhcmd1bWVudHMKICAqLwotQ3VybF9hZGRyaW5mbyAqQ3VybF9nZXRhZGRyaW5mbyhzdHJ1Y3QgY29ubmVjdGRhdGEgKmNvbm4sCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGNoYXIgKmhvc3RuYW1lLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcG9ydCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50ICp3YWl0cCk7CitzdHJ1Y3QgQ3VybF9hZGRyaW5mbyAqQ3VybF9nZXRhZGRyaW5mbyhzdHJ1Y3QgY29ubmVjdGRhdGEgKmNvbm4sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBjaGFyICpob3N0bmFtZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBwb3J0LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50ICp3YWl0cCk7CiAKIAogLyogdW5sb2NrIGEgcHJldmlvdXNseSByZXNvbHZlZCBkbnMgZW50cnkgKi8KQEAgLTEzNCw3ICsxMzQsNyBAQAogdm9pZCBDdXJsX2hvc3RjYWNoZV9wcnVuZShzdHJ1Y3QgQ3VybF9lYXN5ICpkYXRhKTsKIAogLyogUmV0dXJuICMgb2YgYWRkcmVzc2VzIGluIGEgQ3VybF9hZGRyaW5mbyBzdHJ1Y3QgKi8KLWludCBDdXJsX251bV9hZGRyZXNzZXMoY29uc3QgQ3VybF9hZGRyaW5mbyAqYWRkcik7CitpbnQgQ3VybF9udW1fYWRkcmVzc2VzKGNvbnN0IHN0cnVjdCBDdXJsX2FkZHJpbmZvICphZGRyKTsKIAogI2lmIGRlZmluZWQoQ1VSTERFQlVHKSAmJiBkZWZpbmVkKEhBVkVfR0VUTkFNRUlORk8pCiBpbnQgY3VybF9kb2dldG5hbWVpbmZvKEdFVE5BTUVJTkZPX1FVQUxfQVJHMSBHRVROQU1FSU5GT19UWVBFX0FSRzEgc2EsCkBAIC0xNDYsNyArMTQ2LDcgQEAKICNlbmRpZgogCiAvKiBJUHY0IHRocmVhZHNhZmUgcmVzb2x2ZSBmdW5jdGlvbiB1c2VkIGZvciBzeW5jaCBhbmQgYXN5bmNoIGJ1aWxkcyAqLwotQ3VybF9hZGRyaW5mbyAqQ3VybF9pcHY0X3Jlc29sdmVfcihjb25zdCBjaGFyICpob3N0bmFtZSwgaW50IHBvcnQpOworc3RydWN0IEN1cmxfYWRkcmluZm8gKkN1cmxfaXB2NF9yZXNvbHZlX3IoY29uc3QgY2hhciAqaG9zdG5hbWUsIGludCBwb3J0KTsKIAogQ1VSTGNvZGUgQ3VybF9vbmNlX3Jlc29sdmVkKHN0cnVjdCBjb25uZWN0ZGF0YSAqY29ubiwgYm9vbCAqcHJvdG9jb2xfY29ubmVjdCk7CiAKQEAgLTE1OCwxNSArMTU4LDE1IEBACiAgKi8KIENVUkxjb2RlIEN1cmxfYWRkcmluZm9fY2FsbGJhY2soc3RydWN0IGNvbm5lY3RkYXRhICpjb25uLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3RhdHVzLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBDdXJsX2FkZHJpbmZvICphaSk7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cnVjdCBDdXJsX2FkZHJpbmZvICphaSk7CiAKIC8qCiAgKiBDdXJsX3ByaW50YWJsZV9hZGRyZXNzKCkgcmV0dXJucyBhIHByaW50YWJsZSB2ZXJzaW9uIG9mIHRoZSAxc3QgYWRkcmVzcwogICogZ2l2ZW4gaW4gdGhlICdpcCcgYXJndW1lbnQuIFRoZSByZXN1bHQgd2lsbCBiZSBzdG9yZWQgaW4gdGhlIGJ1ZiB0aGF0IGlzCiAgKiBidWZzaXplIGJ5dGVzIGJpZy4KICAqLwotY29uc3QgY2hhciAqQ3VybF9wcmludGFibGVfYWRkcmVzcyhjb25zdCBDdXJsX2FkZHJpbmZvICppcCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2hhciAqYnVmLCBzaXplX3QgYnVmc2l6ZSk7Cit2b2lkIEN1cmxfcHJpbnRhYmxlX2FkZHJlc3MoY29uc3Qgc3RydWN0IEN1cmxfYWRkcmluZm8gKmlwLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNoYXIgKmJ1Ziwgc2l6ZV90IGJ1ZnNpemUpOwogCiAvKgogICogQ3VybF9mZXRjaF9hZGRyKCkgZmV0Y2hlcyBhICdDdXJsX2Ruc19lbnRyeScgYWxyZWFkeSBpbiB0aGUgRE5TIGNhY2hlLgpAQCAtMTg3LDcgKzE4Nyw3IEBACiAgKiBSZXR1cm5zIHRoZSBDdXJsX2Ruc19lbnRyeSBlbnRyeSBwb2ludGVyIG9yIE5VTEwgaWYgdGhlIHN0b3JhZ2UgZmFpbGVkLgogICovCiBzdHJ1Y3QgQ3VybF9kbnNfZW50cnkgKgotQ3VybF9jYWNoZV9hZGRyKHN0cnVjdCBDdXJsX2Vhc3kgKmRhdGEsIEN1cmxfYWRkcmluZm8gKmFkZHIsCitDdXJsX2NhY2hlX2FkZHIoc3RydWN0IEN1cmxfZWFzeSAqZGF0YSwgc3RydWN0IEN1cmxfYWRkcmluZm8gKmFkZHIsCiAgICAgICAgICAgICAgICAgY29uc3QgY2hhciAqaG9zdG5hbWUsIGludCBwb3J0KTsKIAogI2lmbmRlZiBJTkFERFJfTk9ORQpkaWZmIC0tZ2l0IGEvbGliL2hvc3RpcDQuYyBiL2xpYi9ob3N0aXA0LmMKaW5kZXggZDUwMDlhMy4uZWFlOTQxNiAxMDA2NDQKLS0tIGEvbGliL2hvc3RpcDQuYworKysgYi9saWIvaG9zdGlwNC5jCkBAIC04OCwxMiArODgsMTIgQEAKICAqIGZsYXZvdXJzIGhhdmUgdGhyZWFkLXNhZmUgdmVyc2lvbnMgb2YgdGhlIHBsYWluIGdldGhvc3RieW5hbWUoKSBldGMuCiAgKgogICovCi1DdXJsX2FkZHJpbmZvICpDdXJsX2dldGFkZHJpbmZvKHN0cnVjdCBjb25uZWN0ZGF0YSAqY29ubiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgY2hhciAqaG9zdG5hbWUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBwb3J0LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgKndhaXRwKQorc3RydWN0IEN1cmxfYWRkcmluZm8gKkN1cmxfZ2V0YWRkcmluZm8oc3RydWN0IGNvbm5lY3RkYXRhICpjb25uLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgY2hhciAqaG9zdG5hbWUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcG9ydCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCAqd2FpdHApCiB7Ci0gIEN1cmxfYWRkcmluZm8gKmFpID0gTlVMTDsKKyAgc3RydWN0IEN1cmxfYWRkcmluZm8gKmFpID0gTlVMTDsKIAogI2lmZGVmIENVUkxfRElTQUJMRV9WRVJCT1NFX1NUUklOR1MKICAgKHZvaWQpY29ubjsKQEAgLTExOSwxMyArMTE5LDEzIEBACiAgKiBpbXBseWluZyB0aGF0IG9ubHkgdGhyZWFkc2FmZSBjb2RlIGFuZCBmdW5jdGlvbiBjYWxscyBtYXkgYmUgdXNlZC4KICAqCiAgKi8KLUN1cmxfYWRkcmluZm8gKkN1cmxfaXB2NF9yZXNvbHZlX3IoY29uc3QgY2hhciAqaG9zdG5hbWUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBwb3J0KQorc3RydWN0IEN1cmxfYWRkcmluZm8gKkN1cmxfaXB2NF9yZXNvbHZlX3IoY29uc3QgY2hhciAqaG9zdG5hbWUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcG9ydCkKIHsKICNpZiAhZGVmaW5lZChIQVZFX0dFVEFERFJJTkZPX1RIUkVBRFNBRkUpICYmIGRlZmluZWQoSEFWRV9HRVRIT1NUQllOQU1FX1JfMykKICAgaW50IHJlczsKICNlbmRpZgotICBDdXJsX2FkZHJpbmZvICphaSA9IE5VTEw7CisgIHN0cnVjdCBDdXJsX2FkZHJpbmZvICphaSA9IE5VTEw7CiAgIHN0cnVjdCBob3N0ZW50ICpoID0gTlVMTDsKICAgc3RydWN0IGhvc3RlbnQgKmJ1ZiA9IE5VTEw7CiAKZGlmZiAtLWdpdCBhL2xpYi9ob3N0aXA2LmMgYi9saWIvaG9zdGlwNi5jCmluZGV4IDQxZmY5ODYuLjExMjE1NzUgMTAwNjQ0Ci0tLSBhL2xpYi9ob3N0aXA2LmMKKysrIGIvbGliL2hvc3RpcDYuYwpAQCAtMTAzLDIwICsxMDMsMTYgQEAKICNpZiBkZWZpbmVkKENVUkxSRVNfU1lOQ0gpCiAKICNpZmRlZiBERUJVR19BRERSSU5GTwotc3RhdGljIHZvaWQgZHVtcF9hZGRyaW5mbyhzdHJ1Y3QgY29ubmVjdGRhdGEgKmNvbm4sIGNvbnN0IEN1cmxfYWRkcmluZm8gKmFpKQorc3RhdGljIHZvaWQgZHVtcF9hZGRyaW5mbyhzdHJ1Y3QgY29ubmVjdGRhdGEgKmNvbm4sCisgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHN0cnVjdCBDdXJsX2FkZHJpbmZvICphaSkKIHsKICAgcHJpbnRmKCJkdW1wX2FkZHJpbmZvOlxuIik7CiAgIGZvcig7IGFpOyBhaSA9IGFpLT5haV9uZXh0KSB7CiAgICAgY2hhciBidWZbSU5FVDZfQUREUlNUUkxFTl07CiAgICAgcHJpbnRmKCIgICAgZmFtICUyZCwgQ05BTUUgJXMsICIsCiAgICAgICAgICAgIGFpLT5haV9mYW1pbHksIGFpLT5haV9jYW5vbm5hbWUgPyBhaS0+YWlfY2Fub25uYW1lIDogIjxub25lPiIpOwotICAgIGlmKEN1cmxfcHJpbnRhYmxlX2FkZHJlc3MoYWksIGJ1Ziwgc2l6ZW9mKGJ1ZikpKQotICAgICAgcHJpbnRmKCIlc1xuIiwgYnVmKTsKLSAgICBlbHNlIHsKLSAgICAgIGNoYXIgYnVmZmVyW1NUUkVSUk9SX0xFTl07Ci0gICAgICBwcmludGYoImZhaWxlZDsgJXNcbiIsCi0gICAgICAgICAgICAgQ3VybF9zdHJlcnJvcihTT0NLRVJSTk8sIGJ1ZmZlciwgc2l6ZW9mKGJ1ZmZlcikpKTsKLSAgICB9CisgICAgQ3VybF9wcmludGFibGVfYWRkcmVzcyhhaSwgYnVmLCBzaXplb2YoYnVmKSk7CisgICAgcHJpbnRmKCIlc1xuIiwgYnVmKTsKICAgfQogfQogI2Vsc2UKQEAgLTEzMiwxMyArMTI4LDEzIEBACiAgKiBtZW1vcnkgd2UgbmVlZCB0byBmcmVlIGFmdGVyIHVzZS4gVGhhdCBtZW1vcnkgKk1VU1QqIGJlIGZyZWVkIHdpdGgKICAqIEN1cmxfZnJlZWFkZHJpbmZvKCksIG5vdGhpbmcgZWxzZS4KICAqLwotQ3VybF9hZGRyaW5mbyAqQ3VybF9nZXRhZGRyaW5mbyhzdHJ1Y3QgY29ubmVjdGRhdGEgKmNvbm4sCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGNoYXIgKmhvc3RuYW1lLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcG9ydCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50ICp3YWl0cCkKK3N0cnVjdCBDdXJsX2FkZHJpbmZvICpDdXJsX2dldGFkZHJpbmZvKHN0cnVjdCBjb25uZWN0ZGF0YSAqY29ubiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGNoYXIgKmhvc3RuYW1lLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHBvcnQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgKndhaXRwKQogewogICBzdHJ1Y3QgYWRkcmluZm8gaGludHM7Ci0gIEN1cmxfYWRkcmluZm8gKnJlczsKKyAgc3RydWN0IEN1cmxfYWRkcmluZm8gKnJlczsKICAgaW50IGVycm9yOwogICBjaGFyIHNidWZbMTJdOwogICBjaGFyICpzYnVmcHRyID0gTlVMTDsKZGlmZiAtLWdpdCBhL2xpYi9odHRwLmMgYi9saWIvaHR0cC5jCmluZGV4IGMzZjdjMzUuLjI4ZDY2YzIgMTAwNjQ0Ci0tLSBhL2xpYi9odHRwLmMKKysrIGIvbGliL2h0dHAuYwpAQCAtMTI1LDcgKzEyNSw4IEBACiAgIFpFUk9fTlVMTCwgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyogY29ubmVjdGlvbl9jaGVjayAqLwogICBQT1JUX0hUVFAsICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qIGRlZnBvcnQgKi8KICAgQ1VSTFBST1RPX0hUVFAsICAgICAgICAgICAgICAgICAgICAgICAvKiBwcm90b2NvbCAqLwotICBQUk9UT1BUX0NSRURTUEVSUkVRVUVTVCAgICAgICAgICAgICAgIC8qIGZsYWdzICovCisgIFBST1RPUFRfQ1JFRFNQRVJSRVFVRVNUIHwgICAgICAgICAgICAgLyogZmxhZ3MgKi8KKyAgUFJPVE9QVF9VU0VSUFdEQ1RSTAogfTsKIAogI2lmZGVmIFVTRV9TU0wKQEAgLTE1MCw3ICsxNTEsOCBAQAogICBaRVJPX05VTEwsICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qIGNvbm5lY3Rpb25fY2hlY2sgKi8KICAgUE9SVF9IVFRQUywgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiBkZWZwb3J0ICovCiAgIENVUkxQUk9UT19IVFRQUywgICAgICAgICAgICAgICAgICAgICAgLyogcHJvdG9jb2wgKi8KLSAgUFJPVE9QVF9TU0wgfCBQUk9UT1BUX0NSRURTUEVSUkVRVUVTVCB8IFBST1RPUFRfQUxQTl9OUE4gLyogZmxhZ3MgKi8KKyAgUFJPVE9QVF9TU0wgfCBQUk9UT1BUX0NSRURTUEVSUkVRVUVTVCB8IFBST1RPUFRfQUxQTl9OUE4gfCAvKiBmbGFncyAqLworICBQUk9UT1BUX1VTRVJQV0RDVFJMCiB9OwogI2VuZGlmCiAKQEAgLTI2OCw3ICsyNzAsNyBAQAogICAgIHJldHVybiBOVUxMOwogCiAgIG1lbWNweSh2YWx1ZSwgc3RhcnQsIGxlbik7Ci0gIHZhbHVlW2xlbl0gPSAwOyAvKiB6ZXJvIHRlcm1pbmF0ZSAqLworICB2YWx1ZVtsZW5dID0gMDsgLyogbnVsbC10ZXJtaW5hdGUgKi8KIAogICByZXR1cm4gdmFsdWU7CiB9CkBAIC0yOTIsMTcgKzI5NCwyMSBAQAogICBjaGFyICpvdXQ7CiAKICAgaWYocHJveHkpIHsKLSAgICB1c2VycCA9ICZjb25uLT5hbGxvY3B0ci5wcm94eXVzZXJwd2Q7CisjaWZuZGVmIENVUkxfRElTQUJMRV9QUk9YWQorICAgIHVzZXJwID0gJmRhdGEtPnN0YXRlLmFwdHIucHJveHl1c2VycHdkOwogICAgIHVzZXIgPSBjb25uLT5odHRwX3Byb3h5LnVzZXI7CiAgICAgcHdkID0gY29ubi0+aHR0cF9wcm94eS5wYXNzd2Q7CisjZWxzZQorICAgIHJldHVybiBDVVJMRV9OT1RfQlVJTFRfSU47CisjZW5kaWYKICAgfQogICBlbHNlIHsKLSAgICB1c2VycCA9ICZjb25uLT5hbGxvY3B0ci51c2VycHdkOworICAgIHVzZXJwID0gJmRhdGEtPnN0YXRlLmFwdHIudXNlcnB3ZDsKICAgICB1c2VyID0gY29ubi0+dXNlcjsKICAgICBwd2QgPSBjb25uLT5wYXNzd2Q7CiAgIH0KIAotICBvdXQgPSBhcHJpbnRmKCIlczolcyIsIHVzZXIsIHB3ZCk7CisgIG91dCA9IGFwcmludGYoIiVzOiVzIiwgdXNlciwgcHdkID8gcHdkIDogIiIpOwogICBpZighb3V0KQogICAgIHJldHVybiBDVVJMRV9PVVRfT0ZfTUVNT1JZOwogCkBAIC0zNDAsOCArMzQ2LDkgQEAKIHsKICAgY2hhciAqKnVzZXJwOwogICBDVVJMY29kZSByZXN1bHQgPSBDVVJMRV9PSzsKKyAgc3RydWN0IEN1cmxfZWFzeSAqZGF0YSA9IGNvbm4tPmRhdGE7CiAKLSAgdXNlcnAgPSAmY29ubi0+YWxsb2NwdHIudXNlcnB3ZDsKKyAgdXNlcnAgPSAmZGF0YS0+c3RhdGUuYXB0ci51c2VycHdkOwogICBmcmVlKCp1c2VycCk7CiAgICp1c2VycCA9IGFwcmludGYoIkF1dGhvcml6YXRpb246IEJlYXJlciAlc1xyXG4iLAogICAgICAgICAgICAgICAgICAgIGNvbm4tPmRhdGEtPnNldC5zdHJbU1RSSU5HX0JFQVJFUl0pOwpAQCAtNDI3LDcgKzQzNCw3IEBACiAgICAgICAgc2tpcCB0aGlzIHJld2luZGluZyBzdHVmZiAqLwogICAgIHJldHVybiBDVVJMRV9PSzsKIAotICBzd2l0Y2goZGF0YS0+c2V0Lmh0dHByZXEpIHsKKyAgc3dpdGNoKGRhdGEtPnN0YXRlLmh0dHByZXEpIHsKICAgY2FzZSBIVFRQUkVRX0dFVDoKICAgY2FzZSBIVFRQUkVRX0hFQUQ6CiAgICAgcmV0dXJuIENVUkxFX09LOwpAQCAtNDQ4LDcgKzQ1NSw3IEBACiAgIH0KICAgZWxzZSB7CiAgICAgLyogZmlndXJlIG91dCBob3cgbXVjaCBkYXRhIHdlIGFyZSBleHBlY3RlZCB0byBzZW5kICovCi0gICAgc3dpdGNoKGRhdGEtPnNldC5odHRwcmVxKSB7CisgICAgc3dpdGNoKGRhdGEtPnN0YXRlLmh0dHByZXEpIHsKICAgICBjYXNlIEhUVFBSRVFfUE9TVDoKICAgICBjYXNlIEhUVFBSRVFfUFVUOgogICAgICAgaWYoZGF0YS0+c3RhdGUuaW5maWxlc2l6ZSAhPSAtMSkKQEAgLTU3OCw2ICs1ODUsNyBAQAogICAgICAgY29ubi0+ZGF0YS0+c2V0Lmh0dHB2ZXJzaW9uID0gQ1VSTF9IVFRQX1ZFUlNJT05fMV8xOwogICAgIH0KICAgfQorI2lmbmRlZiBDVVJMX0RJU0FCTEVfUFJPWFkKICAgaWYoY29ubi0+Yml0cy5wcm94eV91c2VyX3Bhc3N3ZCAmJgogICAgICAoKGRhdGEtPnJlcS5odHRwY29kZSA9PSA0MDcpIHx8CiAgICAgICAoY29ubi0+Yml0cy5hdXRobmVnICYmIGRhdGEtPnJlcS5odHRwY29kZSA8IDMwMCkpKSB7CkBAIC01ODYsMTAgKzU5NCwxMSBAQAogICAgIGlmKCFwaWNrcHJveHkpCiAgICAgICBkYXRhLT5zdGF0ZS5hdXRocHJvYmxlbSA9IFRSVUU7CiAgIH0KKyNlbmRpZgogCiAgIGlmKHBpY2tob3N0IHx8IHBpY2twcm94eSkgewotICAgIGlmKChkYXRhLT5zZXQuaHR0cHJlcSAhPSBIVFRQUkVRX0dFVCkgJiYKLSAgICAgICAoZGF0YS0+c2V0Lmh0dHByZXEgIT0gSFRUUFJFUV9IRUFEKSAmJgorICAgIGlmKChkYXRhLT5zdGF0ZS5odHRwcmVxICE9IEhUVFBSRVFfR0VUKSAmJgorICAgICAgIChkYXRhLT5zdGF0ZS5odHRwcmVxICE9IEhUVFBSRVFfSEVBRCkgJiYKICAgICAgICAhY29ubi0+Yml0cy5yZXdpbmRhZnRlcnNlbmQpIHsKICAgICAgIHJlc3VsdCA9IGh0dHBfcGVyaGFwc3Jld2luZChjb25uKTsKICAgICAgIGlmKHJlc3VsdCkKQEAgLTYxMCw4ICs2MTksOCBAQAogICAgICAgIGF1dGhlbnRpY2F0aW9uIGlzIG5vdCAiZG9uZSIgeWV0IGFuZAogICAgICAgIG5vIGF1dGhlbnRpY2F0aW9uIHNlZW1zIHRvIGJlIHJlcXVpcmVkIGFuZAogICAgICAgIHdlIGRpZG4ndCB0cnkgSEVBRCBvciBHRVQgKi8KLSAgICBpZigoZGF0YS0+c2V0Lmh0dHByZXEgIT0gSFRUUFJFUV9HRVQpICYmCi0gICAgICAgKGRhdGEtPnNldC5odHRwcmVxICE9IEhUVFBSRVFfSEVBRCkpIHsKKyAgICBpZigoZGF0YS0+c3RhdGUuaHR0cHJlcSAhPSBIVFRQUkVRX0dFVCkgJiYKKyAgICAgICAoZGF0YS0+c3RhdGUuaHR0cHJlcSAhPSBIVFRQUkVRX0hFQUQpKSB7CiAgICAgICBkYXRhLT5yZXEubmV3dXJsID0gc3RyZHVwKGRhdGEtPmNoYW5nZS51cmwpOyAvKiBjbG9uZSBVUkwgKi8KICAgICAgIGlmKCFkYXRhLT5yZXEubmV3dXJsKQogICAgICAgICByZXR1cm4gQ1VSTEVfT1VUX09GX01FTU9SWTsKQEAgLTY4OSwxMCArNjk4LDEzIEBACiAjZW5kaWYKICAgaWYoYXV0aHN0YXR1cy0+cGlja2VkID09IENVUkxBVVRIX0JBU0lDKSB7CiAgICAgLyogQmFzaWMgKi8KLSAgICBpZigocHJveHkgJiYgY29ubi0+Yml0cy5wcm94eV91c2VyX3Bhc3N3ZCAmJgotICAgICAgICAhQ3VybF9jaGVja1Byb3h5aGVhZGVycyhjb25uLCAiUHJveHktYXV0aG9yaXphdGlvbiIpKSB8fAotICAgICAgICghcHJveHkgJiYgY29ubi0+Yml0cy51c2VyX3Bhc3N3ZCAmJgotICAgICAgICAhQ3VybF9jaGVja2hlYWRlcnMoY29ubiwgIkF1dGhvcml6YXRpb24iKSkpIHsKKyAgICBpZigKKyNpZm5kZWYgQ1VSTF9ESVNBQkxFX1BST1hZCisgICAgICAocHJveHkgJiYgY29ubi0+Yml0cy5wcm94eV91c2VyX3Bhc3N3ZCAmJgorICAgICAgICFDdXJsX2NoZWNrUHJveHloZWFkZXJzKGNvbm4sICJQcm94eS1hdXRob3JpemF0aW9uIikpIHx8CisjZW5kaWYKKyAgICAgICghcHJveHkgJiYgY29ubi0+Yml0cy51c2VyX3Bhc3N3ZCAmJgorICAgICAgICFDdXJsX2NoZWNraGVhZGVycyhjb25uLCAiQXV0aG9yaXphdGlvbiIpKSkgewogICAgICAgYXV0aCA9ICJCYXNpYyI7CiAgICAgICByZXN1bHQgPSBodHRwX291dHB1dF9iYXNpYyhjb25uLCBwcm94eSk7CiAgICAgICBpZihyZXN1bHQpCkBAIC03MTksMTAgKzczMSwxNSBAQAogICB9CiAKICAgaWYoYXV0aCkgeworI2lmbmRlZiBDVVJMX0RJU0FCTEVfUFJPWFkKICAgICBpbmZvZihkYXRhLCAiJXMgYXV0aCB1c2luZyAlcyB3aXRoIHVzZXIgJyVzJ1xuIiwKICAgICAgICAgICBwcm94eSA/ICJQcm94eSIgOiAiU2VydmVyIiwgYXV0aCwKICAgICAgICAgICBwcm94eSA/IChjb25uLT5odHRwX3Byb3h5LnVzZXIgPyBjb25uLT5odHRwX3Byb3h5LnVzZXIgOiAiIikgOgotICAgICAgICAgICAgICAgICAgKGNvbm4tPnVzZXIgPyBjb25uLT51c2VyIDogIiIpKTsKKyAgICAgICAgICAoY29ubi0+dXNlciA/IGNvbm4tPnVzZXIgOiAiIikpOworI2Vsc2UKKyAgICBpbmZvZihkYXRhLCAiU2VydmVyIGF1dGggdXNpbmcgJXMgd2l0aCB1c2VyICclcydcbiIsCisgICAgICAgICAgYXV0aCwgY29ubi0+dXNlciA/IGNvbm4tPnVzZXIgOiAiIik7CisjZW5kaWYKICAgICBhdXRoc3RhdHVzLT5tdWx0aXBhc3MgPSAoIWF1dGhzdGF0dXMtPmRvbmUpID8gVFJVRSA6IEZBTFNFOwogICB9CiAgIGVsc2UKQEAgLTc2Miw3ICs3NzksMTAgQEAKICAgYXV0aGhvc3QgPSAmZGF0YS0+c3RhdGUuYXV0aGhvc3Q7CiAgIGF1dGhwcm94eSA9ICZkYXRhLT5zdGF0ZS5hdXRocHJveHk7CiAKLSAgaWYoKGNvbm4tPmJpdHMuaHR0cHByb3h5ICYmIGNvbm4tPmJpdHMucHJveHlfdXNlcl9wYXNzd2QpIHx8CisgIGlmKAorI2lmbmRlZiBDVVJMX0RJU0FCTEVfUFJPWFkKKyAgICAoY29ubi0+Yml0cy5odHRwcHJveHkgJiYgY29ubi0+Yml0cy5wcm94eV91c2VyX3Bhc3N3ZCkgfHwKKyNlbmRpZgogICAgICBjb25uLT5iaXRzLnVzZXJfcGFzc3dkIHx8IGRhdGEtPnNldC5zdHJbU1RSSU5HX0JFQVJFUl0pCiAgICAgLyogY29udGludWUgcGxlYXNlICovOwogICBlbHNlIHsKQEAgLTEwNjcsOCArMTA4NywxMCBAQAogICAqLwogICBpZigoaHR0cGNvZGUgPT0gNDAxKSAmJiAhY29ubi0+Yml0cy51c2VyX3Bhc3N3ZCkKICAgICByZXR1cm4gVFJVRTsKKyNpZm5kZWYgQ1VSTF9ESVNBQkxFX1BST1hZCiAgIGlmKChodHRwY29kZSA9PSA0MDcpICYmICFjb25uLT5iaXRzLnByb3h5X3VzZXJfcGFzc3dkKQogICAgIHJldHVybiBUUlVFOworI2VuZGlmCiAKICAgcmV0dXJuIGRhdGEtPnN0YXRlLmF1dGhwcm9ibGVtOwogfQpAQCAtMTEyNSw0OSArMTE0NywyMCBAQAogICByZXR1cm4gZnVsbHNpemU7CiB9CiAKLS8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi8KLS8qIGFkZF9idWZmZXIgZnVuY3Rpb25zICovCi0KIC8qCi0gKiBDdXJsX2FkZF9idWZmZXJfaW5pdCgpIHNldHMgdXAgYW5kIHJldHVybnMgYSBmaW5lIGJ1ZmZlciBzdHJ1Y3QKLSAqLwotQ3VybF9zZW5kX2J1ZmZlciAqQ3VybF9hZGRfYnVmZmVyX2luaXQodm9pZCkKLXsKLSAgcmV0dXJuIGNhbGxvYygxLCBzaXplb2YoQ3VybF9zZW5kX2J1ZmZlcikpOwotfQotCi0vKgotICogQ3VybF9hZGRfYnVmZmVyX2ZyZWUoKSBmcmVlcyBhbGwgYXNzb2NpYXRlZCByZXNvdXJjZXMuCi0gKi8KLXZvaWQgQ3VybF9hZGRfYnVmZmVyX2ZyZWUoQ3VybF9zZW5kX2J1ZmZlciAqKmlucCkKLXsKLSAgQ3VybF9zZW5kX2J1ZmZlciAqaW47Ci0gIGlmKCFpbnApCi0gICAgcmV0dXJuOwotICBpbiA9ICppbnA7Ci0gIGlmKGluKSB7IC8qIGRlYWwgd2l0aCBOVUxMIGlucHV0ICovCi0gICAgZnJlZShpbi0+YnVmZmVyKTsKLSAgICBmcmVlKGluKTsKLSAgfQotICAqaW5wID0gTlVMTDsKLX0KLQotLyoKLSAqIEN1cmxfYWRkX2J1ZmZlcl9zZW5kKCkgc2VuZHMgYSBoZWFkZXIgYnVmZmVyIGFuZCBmcmVlcyBhbGwgYXNzb2NpYXRlZAorICogQ3VybF9idWZmZXJfc2VuZCgpIHNlbmRzIGEgaGVhZGVyIGJ1ZmZlciBhbmQgZnJlZXMgYWxsIGFzc29jaWF0ZWQKICAqIG1lbW9yeS4gIEJvZHkgZGF0YSBtYXkgYmUgYXBwZW5kZWQgdG8gdGhlIGhlYWRlciBkYXRhIGlmIGRlc2lyZWQuCiAgKgogICogUmV0dXJucyBDVVJMY29kZQogICovCi1DVVJMY29kZSBDdXJsX2FkZF9idWZmZXJfc2VuZChDdXJsX3NlbmRfYnVmZmVyICoqaW5wLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RydWN0IGNvbm5lY3RkYXRhICpjb25uLAotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiBhZGQgdGhlIG51bWJlciBvZiBzZW50IGJ5dGVzIHRvIHRoaXMKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvdW50ZXIgKi8KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGN1cmxfb2ZmX3QgKmJ5dGVzX3dyaXR0ZW4sCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qIGhvdyBtdWNoIG9mIHRoZSBidWZmZXIgY29udGFpbnMgYm9keSBkYXRhICovCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzaXplX3QgaW5jbHVkZWRfYm9keV9ieXRlcywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzb2NrZXRpbmRleCkKK0NVUkxjb2RlIEN1cmxfYnVmZmVyX3NlbmQoc3RydWN0IGR5bmJ1ZiAqaW4sCisgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cnVjdCBjb25uZWN0ZGF0YSAqY29ubiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgLyogYWRkIHRoZSBudW1iZXIgb2Ygc2VudCBieXRlcyB0byB0aGlzCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvdW50ZXIgKi8KKyAgICAgICAgICAgICAgICAgICAgICAgICAgY3VybF9vZmZfdCAqYnl0ZXNfd3JpdHRlbiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgLyogaG93IG11Y2ggb2YgdGhlIGJ1ZmZlciBjb250YWlucyBib2R5IGRhdGEgKi8KKyAgICAgICAgICAgICAgICAgICAgICAgICAgc2l6ZV90IGluY2x1ZGVkX2JvZHlfYnl0ZXMsCisgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzb2NrZXRpbmRleCkKIHsKICAgc3NpemVfdCBhbW91bnQ7CiAgIENVUkxjb2RlIHJlc3VsdDsKQEAgLTExNzgsNyArMTE3MSw2IEBACiAgIHNpemVfdCBzZW5kc2l6ZTsKICAgY3VybF9zb2NrZXRfdCBzb2NrZmQ7CiAgIHNpemVfdCBoZWFkZXJzaXplOwotICBDdXJsX3NlbmRfYnVmZmVyICppbiA9ICppbnA7CiAKICAgREVCVUdBU1NFUlQoc29ja2V0aW5kZXggPD0gU0VDT05EQVJZU09DS0VUKTsKIApAQCAtMTE4Nyw4ICsxMTc5LDggQEAKICAgLyogVGhlIGxvb3BpbmcgYmVsb3cgaXMgcmVxdWlyZWQgc2luY2Ugd2UgdXNlIG5vbi1ibG9ja2luZyBzb2NrZXRzLCBidXQgZHVlCiAgICAgIHRvIHRoZSBjaXJjdW1zdGFuY2VzIHdlIHdpbGwganVzdCBsb29wIGFuZCB0cnkgYWdhaW4gYW5kIGFnYWluIGV0YyAqLwogCi0gIHB0ciA9IGluLT5idWZmZXI7Ci0gIHNpemUgPSBpbi0+c2l6ZV91c2VkOworICBwdHIgPSBDdXJsX2R5bl9wdHIoaW4pOworICBzaXplID0gQ3VybF9keW5fbGVuKGluKTsKIAogICBoZWFkZXJzaXplID0gc2l6ZSAtIGluY2x1ZGVkX2JvZHlfYnl0ZXM7IC8qIHRoZSBpbml0aWFsIHBhcnQgdGhhdCBpc24ndCBib2R5CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaXMgaGVhZGVyICovCkBAIC0xMTk5LDEyICsxMTkxLDE1IEBACiAgIC8qIEN1cmxfY29udmVydF90b19uZXR3b3JrIGNhbGxzIGZhaWxmIGlmIHVuc3VjY2Vzc2Z1bCAqLwogICBpZihyZXN1bHQpIHsKICAgICAvKiBjb252ZXJzaW9uIGZhaWxlZCwgZnJlZSBtZW1vcnkgYW5kIHJldHVybiB0byB0aGUgY2FsbGVyICovCi0gICAgQ3VybF9hZGRfYnVmZmVyX2ZyZWUoaW5wKTsKKyAgICBDdXJsX2R5bl9mcmVlKGluKTsKICAgICByZXR1cm4gcmVzdWx0OwogICB9CiAKLSAgaWYoKGNvbm4tPmhhbmRsZXItPmZsYWdzICYgUFJPVE9QVF9TU0wgfHwKLSAgICAgY29ubi0+aHR0cF9wcm94eS5wcm94eXR5cGUgPT0gQ1VSTFBST1hZX0hUVFBTKQorICBpZigoY29ubi0+aGFuZGxlci0+ZmxhZ3MgJiBQUk9UT1BUX1NTTAorI2lmbmRlZiBDVVJMX0RJU0FCTEVfUFJPWFkKKyAgICAgIHx8IGNvbm4tPmh0dHBfcHJveHkucHJveHl0eXBlID09IENVUkxQUk9YWV9IVFRQUworI2VuZGlmCisgICAgICAgKQogICAgICAmJiBjb25uLT5odHRwdmVyc2lvbiAhPSAyMCkgewogICAgIC8qIFdlIG5ldmVyIHNlbmQgbW9yZSB0aGFuIENVUkxfTUFYX1dSSVRFX1NJWkUgYnl0ZXMgaW4gb25lIHNpbmdsZSBjaHVuawogICAgICAgIHdoZW4gd2Ugc3BlYWsgSFRUUFMsIGFzIGlmIG9ubHkgYSBmcmFjdGlvbiBvZiBpdCBpcyBzZW50IG5vdywgdGhpcyBkYXRhCkBAIC0xMjIzLDcgKzEyMTgsNyBAQAogICAgIHJlc3VsdCA9IEN1cmxfZ2V0X3VwbG9hZF9idWZmZXIoZGF0YSk7CiAgICAgaWYocmVzdWx0KSB7CiAgICAgICAvKiBtYWxsb2MgZmFpbGVkLCBmcmVlIG1lbW9yeSBhbmQgcmV0dXJuIHRvIHRoZSBjYWxsZXIgKi8KLSAgICAgIEN1cmxfYWRkX2J1ZmZlcl9mcmVlKCZpbik7CisgICAgICBDdXJsX2R5bl9mcmVlKGluKTsKICAgICAgIHJldHVybiByZXN1bHQ7CiAgICAgfQogICAgIG1lbWNweShkYXRhLT5zdGF0ZS51bGJ1ZiwgcHRyLCBzZW5kc2l6ZSk7CkBAIC0xMjg2LDcgKzEyODEsNyBAQAogCiAgICAgICAgIHNpemUgLT0gYW1vdW50OwogCi0gICAgICAgIHB0ciA9IGluLT5idWZmZXIgKyBhbW91bnQ7CisgICAgICAgIHB0ciA9IEN1cmxfZHluX3B0cihpbikgKyBhbW91bnQ7CiAKICAgICAgICAgLyogYmFja3VwIHRoZSBjdXJyZW50bHkgc2V0IHBvaW50ZXJzICovCiAgICAgICAgIGh0dHAtPmJhY2t1cC5mcmVhZF9mdW5jID0gZGF0YS0+c3RhdGUuZnJlYWRfZnVuYzsKQEAgLTEzMDAsNyArMTI5NSw3IEBACiAgICAgICAgIGh0dHAtPnBvc3RkYXRhID0gcHRyOwogICAgICAgICBodHRwLT5wb3N0c2l6ZSA9IChjdXJsX29mZl90KXNpemU7CiAKLSAgICAgICAgaHR0cC0+c2VuZF9idWZmZXIgPSBpbjsKKyAgICAgICAgaHR0cC0+c2VuZF9idWZmZXIgPSAqaW47IC8qIGNvcHkgdGhlIHdob2xlIHN0cnVjdCAqLwogICAgICAgICBodHRwLT5zZW5kaW5nID0gSFRUUFNFTkRfUkVRVUVTVDsKIAogICAgICAgICByZXR1cm4gQ1VSTEVfT0s7CkBAIC0xMzIwLDg3ICsxMzE1LDExIEBACiAgICAgICAgIHJldHVybiBDVVJMRV9TRU5EX0VSUk9SOwogICAgIH0KICAgfQotICBDdXJsX2FkZF9idWZmZXJfZnJlZSgmaW4pOworICBDdXJsX2R5bl9mcmVlKGluKTsKIAogICByZXR1cm4gcmVzdWx0OwogfQogCi0KLS8qCi0gKiBhZGRfYnVmZmVyZigpIGFkZCB0aGUgZm9ybWF0dGVkIGlucHV0IHRvIHRoZSBidWZmZXIuCi0gKi8KLUNVUkxjb2RlIEN1cmxfYWRkX2J1ZmZlcmYoQ3VybF9zZW5kX2J1ZmZlciAqKmlucCwgY29uc3QgY2hhciAqZm10LCAuLi4pCi17Ci0gIGNoYXIgKnM7Ci0gIHZhX2xpc3QgYXA7Ci0gIHZhX3N0YXJ0KGFwLCBmbXQpOwotICBzID0gdmFwcmludGYoZm10LCBhcCk7IC8qIHRoaXMgYWxsb2NzIGEgbmV3IHN0cmluZyB0byBhcHBlbmQgKi8KLSAgdmFfZW5kKGFwKTsKLQotICBpZihzKSB7Ci0gICAgQ1VSTGNvZGUgcmVzdWx0ID0gQ3VybF9hZGRfYnVmZmVyKGlucCwgcywgc3RybGVuKHMpKTsKLSAgICBmcmVlKHMpOwotICAgIHJldHVybiByZXN1bHQ7Ci0gIH0KLSAgLyogSWYgd2UgZmFpbGVkLCB3ZSBjbGVhbnVwIHRoZSB3aG9sZSBidWZmZXIgYW5kIHJldHVybiBlcnJvciAqLwotICBDdXJsX2FkZF9idWZmZXJfZnJlZShpbnApOwotICByZXR1cm4gQ1VSTEVfT1VUX09GX01FTU9SWTsKLX0KLQotLyoKLSAqIEN1cmxfYWRkX2J1ZmZlcigpIGFwcGVuZHMgYSBtZW1vcnkgY2h1bmsgdG8gdGhlIGV4aXN0aW5nIGJ1ZmZlcgotICovCi1DVVJMY29kZSBDdXJsX2FkZF9idWZmZXIoQ3VybF9zZW5kX2J1ZmZlciAqKmlucCwgY29uc3Qgdm9pZCAqaW5wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgc2l6ZV90IHNpemUpCi17Ci0gIGNoYXIgKm5ld19yYjsKLSAgQ3VybF9zZW5kX2J1ZmZlciAqaW4gPSAqaW5wOwotCi0gIGlmKH5zaXplIDwgaW4tPnNpemVfdXNlZCkgewotICAgIC8qIElmIHJlc3VsdGluZyB1c2VkIHNpemUgb2Ygc2VuZCBidWZmZXIgd291bGQgd3JhcCBzaXplX3QsIGNsZWFudXAKLSAgICAgICB0aGUgd2hvbGUgYnVmZmVyIGFuZCByZXR1cm4gZXJyb3IuIE90aGVyd2lzZSB0aGUgcmVxdWlyZWQgYnVmZmVyCi0gICAgICAgc2l6ZSB3aWxsIGZpdCBpbnRvIGEgc2luZ2xlIGFsbG9jYXRhYmxlIG1lbW9yeSBjaHVuayAqLwotICAgIEN1cmxfYWRkX2J1ZmZlcl9mcmVlKGlucCk7Ci0gICAgcmV0dXJuIENVUkxFX09VVF9PRl9NRU1PUlk7Ci0gIH0KLQotICBpZighaW4tPmJ1ZmZlciB8fAotICAgICAoKGluLT5zaXplX3VzZWQgKyBzaXplKSA+IChpbi0+c2l6ZV9tYXggLSAxKSkpIHsKLSAgICAvKiBJZiBjdXJyZW50IGJ1ZmZlciBzaXplIGlzbid0IGVub3VnaCB0byBob2xkIHRoZSByZXN1bHQsIHVzZSBhCi0gICAgICAgYnVmZmVyIHNpemUgdGhhdCBkb3VibGVzIHRoZSByZXF1aXJlZCBzaXplLiBJZiB0aGlzIG5ldyBzaXplCi0gICAgICAgd291bGQgd3JhcCBzaXplX3QsIHRoZW4ganVzdCB1c2UgdGhlIGxhcmdlc3QgcG9zc2libGUgb25lICovCi0gICAgc2l6ZV90IG5ld19zaXplOwotCi0gICAgaWYoKHNpemUgPiAoc2l6ZV90KS0xIC8gMikgfHwgKGluLT5zaXplX3VzZWQgPiAoc2l6ZV90KS0xIC8gMikgfHwKLSAgICAgICAofihzaXplICogMikgPCAoaW4tPnNpemVfdXNlZCAqIDIpKSkKLSAgICAgIG5ld19zaXplID0gKHNpemVfdCktMTsKLSAgICBlbHNlCi0gICAgICBuZXdfc2l6ZSA9IChpbi0+c2l6ZV91c2VkICsgc2l6ZSkgKiAyOwotCi0gICAgaWYoaW4tPmJ1ZmZlcikKLSAgICAgIC8qIHdlIGhhdmUgYSBidWZmZXIsIGVubGFyZ2UgdGhlIGV4aXN0aW5nIG9uZSAqLwotICAgICAgbmV3X3JiID0gQ3VybF9zYWZlcmVhbGxvYyhpbi0+YnVmZmVyLCBuZXdfc2l6ZSk7Ci0gICAgZWxzZQotICAgICAgLyogY3JlYXRlIGEgbmV3IGJ1ZmZlciAqLwotICAgICAgbmV3X3JiID0gbWFsbG9jKG5ld19zaXplKTsKLQotICAgIGlmKCFuZXdfcmIpIHsKLSAgICAgIC8qIElmIHdlIGZhaWxlZCwgd2UgY2xlYW51cCB0aGUgd2hvbGUgYnVmZmVyIGFuZCByZXR1cm4gZXJyb3IgKi8KLSAgICAgIGZyZWUoaW4pOwotICAgICAgKmlucCA9IE5VTEw7Ci0gICAgICByZXR1cm4gQ1VSTEVfT1VUX09GX01FTU9SWTsKLSAgICB9Ci0KLSAgICBpbi0+YnVmZmVyID0gbmV3X3JiOwotICAgIGluLT5zaXplX21heCA9IG5ld19zaXplOwotICB9Ci0gIG1lbWNweSgmaW4tPmJ1ZmZlcltpbi0+c2l6ZV91c2VkXSwgaW5wdHIsIHNpemUpOwotCi0gIGluLT5zaXplX3VzZWQgKz0gc2l6ZTsKLQotICByZXR1cm4gQ1VSTEVfT0s7Ci19Ci0KIC8qIGVuZCBvZiB0aGUgYWRkX2J1ZmZlciBmdW5jdGlvbnMgKi8KIC8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi8KIApAQCAtMTQ3Myw2ICsxMzkyLDcgQEAKICAgICAgZnVuY3Rpb24gdG8gbWFrZSB0aGUgcmUtdXNlIGNoZWNrcyBwcm9wZXJseSBiZSBhYmxlIHRvIGNoZWNrIHRoaXMgYml0LiAqLwogICBjb25ua2VlcChjb25uLCAiSFRUUCBkZWZhdWx0Iik7CiAKKyNpZm5kZWYgQ1VSTF9ESVNBQkxFX1BST1hZCiAgIC8qIHRoZSBDT05ORUNUIHByb2NlZHVyZSBtaWdodCBub3QgaGF2ZSBiZWVuIGNvbXBsZXRlZCAqLwogICByZXN1bHQgPSBDdXJsX3Byb3h5X2Nvbm5lY3QoY29ubiwgRklSU1RTT0NLRVQpOwogICBpZihyZXN1bHQpCkBAIC0xNDg5LDcgKzE0MDksNiBAQAogICAgIC8qIG5vdGhpbmcgZWxzZSB0byBkbyBleGNlcHQgd2FpdCByaWdodCBub3cgLSB3ZSdyZSBub3QgZG9uZSBoZXJlLiAqLwogICAgIHJldHVybiBDVVJMRV9PSzsKIAotI2lmbmRlZiBDVVJMX0RJU0FCTEVfUFJPWFkKICAgaWYoY29ubi0+ZGF0YS0+c2V0LmhhcHJveHlwcm90b2NvbCkgewogICAgIC8qIGFkZCBIQVByb3h5IFBST1hZIHByb3RvY29sIGhlYWRlciAqLwogICAgIHJlc3VsdCA9IGFkZF9oYXByb3h5X3Byb3RvY29sX2hlYWRlcihjb25uKTsKQEAgLTE1MjUsNyArMTQ0NCw3IEBACiBzdGF0aWMgQ1VSTGNvZGUgYWRkX2hhcHJveHlfcHJvdG9jb2xfaGVhZGVyKHN0cnVjdCBjb25uZWN0ZGF0YSAqY29ubikKIHsKICAgY2hhciBwcm94eV9oZWFkZXJbMTI4XTsKLSAgQ3VybF9zZW5kX2J1ZmZlciAqcmVxX2J1ZmZlcjsKKyAgc3RydWN0IGR5bmJ1ZiByZXE7CiAgIENVUkxjb2RlIHJlc3VsdDsKICAgY2hhciB0Y3BfdmVyc2lvbls1XTsKIApAQCAtMTU0NiwxOSArMTQ2NSwxNCBAQAogICAgICAgICAgICAgY29ubi0+ZGF0YS0+aW5mby5jb25uX2xvY2FsX3BvcnQsCiAgICAgICAgICAgICBjb25uLT5kYXRhLT5pbmZvLmNvbm5fcHJpbWFyeV9wb3J0KTsKIAotICByZXFfYnVmZmVyID0gQ3VybF9hZGRfYnVmZmVyX2luaXQoKTsKLSAgaWYoIXJlcV9idWZmZXIpCi0gICAgcmV0dXJuIENVUkxFX09VVF9PRl9NRU1PUlk7CisgIEN1cmxfZHluX2luaXQoJnJlcSwgRFlOX0hBWFBST1hZKTsKIAotICByZXN1bHQgPSBDdXJsX2FkZF9idWZmZXJmKCZyZXFfYnVmZmVyLCBwcm94eV9oZWFkZXIpOworICByZXN1bHQgPSBDdXJsX2R5bl9hZGQoJnJlcSwgcHJveHlfaGVhZGVyKTsKICAgaWYocmVzdWx0KQogICAgIHJldHVybiByZXN1bHQ7CiAKLSAgcmVzdWx0ID0gQ3VybF9hZGRfYnVmZmVyX3NlbmQoJnJlcV9idWZmZXIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbm4sCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZjb25uLT5kYXRhLT5pbmZvLnJlcXVlc3Rfc2l6ZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRklSU1RTT0NLRVQpOworICByZXN1bHQgPSBDdXJsX2J1ZmZlcl9zZW5kKCZyZXEsIGNvbm4sICZjb25uLT5kYXRhLT5pbmZvLnJlcXVlc3Rfc2l6ZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAwLCBGSVJTVFNPQ0tFVCk7CiAKICAgcmV0dXJuIHJlc3VsdDsKIH0KQEAgLTE2MTksMTQgKzE1MzMsMTEgQEAKICAgaWYoIWh0dHApCiAgICAgcmV0dXJuIENVUkxFX09LOwogCi0gIGlmKGh0dHAtPnNlbmRfYnVmZmVyKSB7Ci0gICAgQ3VybF9hZGRfYnVmZmVyX2ZyZWUoJmh0dHAtPnNlbmRfYnVmZmVyKTsKLSAgfQotCisgIEN1cmxfZHluX2ZyZWUoJmh0dHAtPnNlbmRfYnVmZmVyKTsKICAgQ3VybF9odHRwMl9kb25lKGRhdGEsIHByZW1hdHVyZSk7CiAgIEN1cmxfcXVpY19kb25lKGRhdGEsIHByZW1hdHVyZSk7Ci0KICAgQ3VybF9taW1lX2NsZWFucGFydCgmaHR0cC0+Zm9ybSk7CisgIEN1cmxfZHluX3Jlc2V0KCZkYXRhLT5zdGF0ZS5oZWFkZXJiKTsKIAogICBpZihzdGF0dXMpCiAgICAgcmV0dXJuIHN0YXR1czsKQEAgLTE2OTIsNyArMTYwMyw3IEBACiAvKiBjaGVjayBhbmQgcG9zc2libHkgYWRkIGFuIEV4cGVjdDogaGVhZGVyICovCiBzdGF0aWMgQ1VSTGNvZGUgZXhwZWN0MTAwKHN0cnVjdCBDdXJsX2Vhc3kgKmRhdGEsCiAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cnVjdCBjb25uZWN0ZGF0YSAqY29ubiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgQ3VybF9zZW5kX2J1ZmZlciAqcmVxX2J1ZmZlcikKKyAgICAgICAgICAgICAgICAgICAgICAgICAgc3RydWN0IGR5bmJ1ZiAqcmVxKQogewogICBDVVJMY29kZSByZXN1bHQgPSBDVVJMRV9PSzsKICAgZGF0YS0+c3RhdGUuZXhwZWN0MTAwaGVhZGVyID0gRkFMU0U7IC8qIGRlZmF1bHQgdG8gZmFsc2UgdW5sZXNzIGl0IGlzIHNldApAQCAtMTcwOCw4ICsxNjE5LDcgQEAKICAgICAgICAgQ3VybF9jb21wYXJlaGVhZGVyKHB0ciwgIkV4cGVjdDoiLCAiMTAwLWNvbnRpbnVlIik7CiAgICAgfQogICAgIGVsc2UgewotICAgICAgcmVzdWx0ID0gQ3VybF9hZGRfYnVmZmVyZigmcmVxX2J1ZmZlciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIkV4cGVjdDogMTAwLWNvbnRpbnVlXHJcbiIpOworICAgICAgcmVzdWx0ID0gQ3VybF9keW5fYWRkKHJlcSwgIkV4cGVjdDogMTAwLWNvbnRpbnVlXHJcbiIpOwogICAgICAgaWYoIXJlc3VsdCkKICAgICAgICAgZGF0YS0+c3RhdGUuZXhwZWN0MTAwaGVhZGVyID0gVFJVRTsKICAgICB9CkBAIC0xNzI4LDcgKzE2MzgsNyBAQAogICAgd2lsbCByZXR1cm4gYW4gZXJyb3IgY29kZSBpZiBvbmUgb2YgdGhlIGhlYWRlcnMgaXMKICAgIG5vdCBmb3JtYXR0ZWQgY29ycmVjdGx5ICovCiBDVVJMY29kZSBDdXJsX2h0dHBfY29tcGlsZV90cmFpbGVycyhzdHJ1Y3QgY3VybF9zbGlzdCAqdHJhaWxlcnMsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBDdXJsX3NlbmRfYnVmZmVyICoqYnVmZmVyLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RydWN0IGR5bmJ1ZiAqYiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cnVjdCBDdXJsX2Vhc3kgKmhhbmRsZSkKIHsKICAgY2hhciAqcHRyID0gTlVMTDsKQEAgLTE3NTQsOCArMTY2NCwxMCBAQAogICAgIC8qIG9ubHkgYWRkIGNvcnJlY3RseSBmb3JtYXR0ZWQgdHJhaWxlcnMgKi8KICAgICBwdHIgPSBzdHJjaHIodHJhaWxlcnMtPmRhdGEsICc6Jyk7CiAgICAgaWYocHRyICYmICoocHRyICsgMSkgPT0gJyAnKSB7Ci0gICAgICByZXN1bHQgPSBDdXJsX2FkZF9idWZmZXJmKGJ1ZmZlciwgIiVzJXMiLCB0cmFpbGVycy0+ZGF0YSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZW5kb2ZsaW5lX25hdGl2ZSk7CisgICAgICByZXN1bHQgPSBDdXJsX2R5bl9hZGQoYiwgdHJhaWxlcnMtPmRhdGEpOworICAgICAgaWYocmVzdWx0KQorICAgICAgICByZXR1cm4gcmVzdWx0OworICAgICAgcmVzdWx0ID0gQ3VybF9keW5fYWRkKGIsIGVuZG9mbGluZV9uYXRpdmUpOwogICAgICAgaWYocmVzdWx0KQogICAgICAgICByZXR1cm4gcmVzdWx0OwogICAgIH0KQEAgLTE3NjMsMTQgKzE2NzUsMTMgQEAKICAgICAgIGluZm9mKGhhbmRsZSwgIk1hbGZvcm1hdHRlZCB0cmFpbGluZyBoZWFkZXIgISBTa2lwcGluZyB0cmFpbGVyLiIpOwogICAgIHRyYWlsZXJzID0gdHJhaWxlcnMtPm5leHQ7CiAgIH0KLSAgcmVzdWx0ID0gQ3VybF9hZGRfYnVmZmVyKGJ1ZmZlciwgZW5kb2ZsaW5lX25ldHdvcmssCi0gICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJsZW4oZW5kb2ZsaW5lX25ldHdvcmspKTsKKyAgcmVzdWx0ID0gQ3VybF9keW5fYWRkKGIsIGVuZG9mbGluZV9uZXR3b3JrKTsKICAgcmV0dXJuIHJlc3VsdDsKIH0KIAogQ1VSTGNvZGUgQ3VybF9hZGRfY3VzdG9tX2hlYWRlcnMoc3RydWN0IGNvbm5lY3RkYXRhICpjb25uLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYm9vbCBpc19jb25uZWN0LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQ3VybF9zZW5kX2J1ZmZlciAqcmVxX2J1ZmZlcikKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cnVjdCBkeW5idWYgKnJlcSkKIHsKICAgY2hhciAqcHRyOwogICBzdHJ1Y3QgY3VybF9zbGlzdCAqaFsyXTsKQEAgLTE3NzksNiArMTY5MCw3IEBACiAgIHN0cnVjdCBDdXJsX2Vhc3kgKmRhdGEgPSBjb25uLT5kYXRhOwogICBpbnQgaTsKIAorI2lmbmRlZiBDVVJMX0RJU0FCTEVfUFJPWFkKICAgZW51bSBwcm94eV91c2UgcHJveHk7CiAKICAgaWYoaXNfY29ubmVjdCkKQEAgLTE4MDUsNiArMTcxNywxMCBAQAogICAgICAgaFswXSA9IGRhdGEtPnNldC5oZWFkZXJzOwogICAgIGJyZWFrOwogICB9CisjZWxzZQorICAodm9pZClpc19jb25uZWN0OworICBoWzBdID0gZGF0YS0+c2V0LmhlYWRlcnM7CisjZW5kaWYKIAogICAvKiBsb29wIHRocm91Z2ggb25lIG9yIHR3byBsaXN0cyAqLwogICBmb3IoaSA9IDA7IGkgPCBudW1saXN0czsgaSsrKSB7CkBAIC0xODMyLDcgKzE3NDgsNyBAQAogICAgICAgICAgICAgICAvKiBjb3B5IHRoZSBzb3VyY2UgKi8KICAgICAgICAgICAgICAgc2VtaWNvbG9ucCA9IHN0cmR1cChoZWFkZXJzLT5kYXRhKTsKICAgICAgICAgICAgICAgaWYoIXNlbWljb2xvbnApIHsKLSAgICAgICAgICAgICAgICBDdXJsX2FkZF9idWZmZXJfZnJlZSgmcmVxX2J1ZmZlcik7CisgICAgICAgICAgICAgICAgQ3VybF9keW5fZnJlZShyZXEpOwogICAgICAgICAgICAgICAgIHJldHVybiBDVVJMRV9PVVRfT0ZfTUVNT1JZOwogICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgIC8qIHB1dCBhIGNvbG9uIHdoZXJlIHRoZSBzZW1pY29sb24gaXMgKi8KQEAgLTE4NTYsMTYgKzE3NzIsMTYgQEAKICAgICAgICAgICBDVVJMY29kZSByZXN1bHQgPSBDVVJMRV9PSzsKICAgICAgICAgICBjaGFyICpjb21wYXJlID0gc2VtaWNvbG9ucCA/IHNlbWljb2xvbnAgOiBoZWFkZXJzLT5kYXRhOwogCi0gICAgICAgICAgaWYoY29ubi0+YWxsb2NwdHIuaG9zdCAmJgorICAgICAgICAgIGlmKGRhdGEtPnN0YXRlLmFwdHIuaG9zdCAmJgogICAgICAgICAgICAgIC8qIGEgSG9zdDogaGVhZGVyIHdhcyBzZW50IGFscmVhZHksIGRvbid0IHBhc3Mgb24gYW55IGN1c3RvbSBIb3N0OgogICAgICAgICAgICAgICAgIGhlYWRlciBhcyB0aGF0IHdpbGwgcHJvZHVjZSAqdHdvKiBpbiB0aGUgc2FtZSByZXF1ZXN0ISAqLwogICAgICAgICAgICAgIGNoZWNrcHJlZml4KCJIb3N0OiIsIGNvbXBhcmUpKQogICAgICAgICAgICAgOwotICAgICAgICAgIGVsc2UgaWYoZGF0YS0+c2V0Lmh0dHByZXEgPT0gSFRUUFJFUV9QT1NUX0ZPUk0gJiYKKyAgICAgICAgICBlbHNlIGlmKGRhdGEtPnN0YXRlLmh0dHByZXEgPT0gSFRUUFJFUV9QT1NUX0ZPUk0gJiYKICAgICAgICAgICAgICAgICAgIC8qIHRoaXMgaGVhZGVyIChleHRlbmRlZCBieSBmb3JtZGF0YS5jKSBpcyBzZW50IGxhdGVyICovCiAgICAgICAgICAgICAgICAgICBjaGVja3ByZWZpeCgiQ29udGVudC1UeXBlOiIsIGNvbXBhcmUpKQogICAgICAgICAgICAgOwotICAgICAgICAgIGVsc2UgaWYoZGF0YS0+c2V0Lmh0dHByZXEgPT0gSFRUUFJFUV9QT1NUX01JTUUgJiYKKyAgICAgICAgICBlbHNlIGlmKGRhdGEtPnN0YXRlLmh0dHByZXEgPT0gSFRUUFJFUV9QT1NUX01JTUUgJiYKICAgICAgICAgICAgICAgICAgIC8qIHRoaXMgaGVhZGVyIGlzIHNlbnQgbGF0ZXIgKi8KICAgICAgICAgICAgICAgICAgIGNoZWNrcHJlZml4KCJDb250ZW50LVR5cGU6IiwgY29tcGFyZSkpCiAgICAgICAgICAgICA7CkBAIC0xODc0LDcgKzE3OTAsNyBAQAogICAgICAgICAgICAgICAgICAgICAgd2Ugd2lsbCBmb3JjZSBsZW5ndGggemVybyB0aGVuICovCiAgICAgICAgICAgICAgICAgICBjaGVja3ByZWZpeCgiQ29udGVudC1MZW5ndGg6IiwgY29tcGFyZSkpCiAgICAgICAgICAgICA7Ci0gICAgICAgICAgZWxzZSBpZihjb25uLT5hbGxvY3B0ci50ZSAmJgorICAgICAgICAgIGVsc2UgaWYoZGF0YS0+c3RhdGUuYXB0ci50ZSAmJgogICAgICAgICAgICAgICAgICAgLyogd2hlbiBhc2tpbmcgZm9yIFRyYW5zZmVyLUVuY29kaW5nLCBkb24ndCBwYXNzIG9uIGEgY3VzdG9tCiAgICAgICAgICAgICAgICAgICAgICBDb25uZWN0aW9uOiAqLwogICAgICAgICAgICAgICAgICAgY2hlY2twcmVmaXgoIkNvbm5lY3Rpb246IiwgY29tcGFyZSkpCkBAIC0xODkzLDcgKzE4MDksNyBAQAogICAgICAgICAgICAgICAgICAgICFzdHJjYXNlY29tcGFyZShkYXRhLT5zdGF0ZS5maXJzdF9ob3N0LCBjb25uLT5ob3N0Lm5hbWUpKSkKICAgICAgICAgICAgIDsKICAgICAgICAgICBlbHNlIHsKLSAgICAgICAgICAgIHJlc3VsdCA9IEN1cmxfYWRkX2J1ZmZlcmYoJnJlcV9idWZmZXIsICIlc1xyXG4iLCBjb21wYXJlKTsKKyAgICAgICAgICAgIHJlc3VsdCA9IEN1cmxfZHluX2FkZGYocmVxLCAiJXNcclxuIiwgY29tcGFyZSk7CiAgICAgICAgICAgfQogICAgICAgICAgIGlmKHNlbWljb2xvbnApCiAgICAgICAgICAgICBmcmVlKHNlbWljb2xvbnApOwpAQCAtMTkxMCw3ICsxODI2LDcgQEAKIAogI2lmbmRlZiBDVVJMX0RJU0FCTEVfUEFSU0VEQVRFCiBDVVJMY29kZSBDdXJsX2FkZF90aW1lY29uZGl0aW9uKGNvbnN0IHN0cnVjdCBjb25uZWN0ZGF0YSAqY29ubiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQ3VybF9zZW5kX2J1ZmZlciAqcmVxX2J1ZmZlcikKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RydWN0IGR5bmJ1ZiAqcmVxKQogewogICBzdHJ1Y3QgQ3VybF9lYXN5ICpkYXRhID0gY29ubi0+ZGF0YTsKICAgY29uc3Qgc3RydWN0IHRtICp0bTsKQEAgLTE5NjksMTcgKzE4ODUsMTcgQEAKICAgICAgICAgICAgIHRtLT50bV9taW4sCiAgICAgICAgICAgICB0bS0+dG1fc2VjKTsKIAotICByZXN1bHQgPSBDdXJsX2FkZF9idWZmZXIoJnJlcV9idWZmZXIsIGRhdGVzdHIsIHN0cmxlbihkYXRlc3RyKSk7CisgIHJlc3VsdCA9IEN1cmxfZHluX2FkZChyZXEsIGRhdGVzdHIpOwogCiAgIHJldHVybiByZXN1bHQ7CiB9CiAjZWxzZQogLyogZGlzYWJsZWQgKi8KIENVUkxjb2RlIEN1cmxfYWRkX3RpbWVjb25kaXRpb24oY29uc3Qgc3RydWN0IGNvbm5lY3RkYXRhICpjb25uLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBDdXJsX3NlbmRfYnVmZmVyICpyZXFfYnVmZmVyKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJ1Y3QgZHluYnVmICpyZXEpCiB7CiAgICh2b2lkKWNvbm47Ci0gICh2b2lkKXJlcV9idWZmZXI7CisgICh2b2lkKXJlcTsKICAgcmV0dXJuIENVUkxFX09LOwogfQogI2VuZGlmCkBAIC0yMDAyLDEzICsxOTE4LDEzIEBACiAgIGNvbnN0IGNoYXIgKnRlID0gIiI7IC8qIHRyYW5zZmVyLWVuY29kaW5nICovCiAgIGNvbnN0IGNoYXIgKnB0cjsKICAgY29uc3QgY2hhciAqcmVxdWVzdDsKLSAgQ3VybF9IdHRwUmVxIGh0dHByZXEgPSBkYXRhLT5zZXQuaHR0cHJlcTsKKyAgQ3VybF9IdHRwUmVxIGh0dHByZXEgPSBkYXRhLT5zdGF0ZS5odHRwcmVxOwogI2lmICFkZWZpbmVkKENVUkxfRElTQUJMRV9DT09LSUVTKQogICBjaGFyICphZGRjb29raWVzID0gTlVMTDsKICNlbmRpZgogICBjdXJsX29mZl90IGluY2x1ZGVkX2JvZHkgPSAwOwogICBjb25zdCBjaGFyICpodHRwc3RyaW5nOwotICBDdXJsX3NlbmRfYnVmZmVyICpyZXFfYnVmZmVyOworICBzdHJ1Y3QgZHluYnVmIHJlcTsKICAgY3VybF9vZmZfdCBwb3N0c2l6ZSA9IDA7IC8qIGN1cmxfb2ZmX3QgdG8gaGFuZGxlIGxhcmdlIGZpbGUgc2l6ZXMgKi8KICAgY2hhciAqYWx0dXNlZCA9IE5VTEw7CiAKQEAgLTIwMzYsMTMgKzE5NTIsMTQgQEAKICNpZmRlZiBVU0VfTkdIVFRQMgogICAgICAgICBpZihjb25uLT5kYXRhLT5zZXQuaHR0cHZlcnNpb24gPT0KICAgICAgICAgICAgQ1VSTF9IVFRQX1ZFUlNJT05fMl9QUklPUl9LTk9XTEVER0UpIHsKKyNpZm5kZWYgQ1VSTF9ESVNBQkxFX1BST1hZCiAgICAgICAgICAgaWYoY29ubi0+Yml0cy5odHRwcHJveHkgJiYgIWNvbm4tPmJpdHMudHVubmVsX3Byb3h5KSB7CiAgICAgICAgICAgICAvKiBXZSBkb24ndCBzdXBwb3J0IEhUVFAvMiBwcm94aWVzIHlldC4gQWxzbyBpdCdzIGRlYmF0YWJsZQogICAgICAgICAgICAgICAgd2hldGhlciBvciBub3QgdGhpcyBzZXR0aW5nIHNob3VsZCBhcHBseSB0byBIVFRQLzIgcHJveGllcy4gKi8KICAgICAgICAgICAgIGluZm9mKGRhdGEsICJJZ25vcmluZyBIVFRQLzIgcHJpb3Iga25vd2xlZGdlIGR1ZSB0byBwcm94eVxuIik7CiAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICB9Ci0KKyNlbmRpZgogICAgICAgICAgIERFQlVHRihpbmZvZihkYXRhLCAiSFRUUC8yIG92ZXIgY2xlYW4gVENQXG4iKSk7CiAgICAgICAgICAgY29ubi0+aHR0cHZlcnNpb24gPSAyMDsKIApAQCAtMjExNiw4ICsyMDMzLDggQEAKICAgICAgd2l0aCB0aGUgdXNlci1hZ2VudCBzdHJpbmcgc3BlY2lmaWVkLCB3ZSBlcmFzZSB0aGUgcHJldmlvdXNseSBtYWRlIHN0cmluZwogICAgICBoZXJlLiAqLwogICBpZihDdXJsX2NoZWNraGVhZGVycyhjb25uLCAiVXNlci1BZ2VudCIpKSB7Ci0gICAgZnJlZShjb25uLT5hbGxvY3B0ci51YWdlbnQpOwotICAgIGNvbm4tPmFsbG9jcHRyLnVhZ2VudCA9IE5VTEw7CisgICAgZnJlZShkYXRhLT5zdGF0ZS5hcHRyLnVhZ2VudCk7CisgICAgZGF0YS0+c3RhdGUuYXB0ci51YWdlbnQgPSBOVUxMOwogICB9CiAKICAgLyogc2V0dXAgdGhlIGF1dGhlbnRpY2F0aW9uIGhlYWRlcnMgKi8KQEAgLTIxNDUsMTQgKzIwNjIsMTQgQEAKICAgZWxzZQogICAgIGNvbm4tPmJpdHMuYXV0aG5lZyA9IEZBTFNFOwogCi0gIEN1cmxfc2FmZWZyZWUoY29ubi0+YWxsb2NwdHIucmVmKTsKKyAgQ3VybF9zYWZlZnJlZShkYXRhLT5zdGF0ZS5hcHRyLnJlZik7CiAgIGlmKGRhdGEtPmNoYW5nZS5yZWZlcmVyICYmICFDdXJsX2NoZWNraGVhZGVycyhjb25uLCAiUmVmZXJlciIpKSB7Ci0gICAgY29ubi0+YWxsb2NwdHIucmVmID0gYXByaW50ZigiUmVmZXJlcjogJXNcclxuIiwgZGF0YS0+Y2hhbmdlLnJlZmVyZXIpOwotICAgIGlmKCFjb25uLT5hbGxvY3B0ci5yZWYpCisgICAgZGF0YS0+c3RhdGUuYXB0ci5yZWYgPSBhcHJpbnRmKCJSZWZlcmVyOiAlc1xyXG4iLCBkYXRhLT5jaGFuZ2UucmVmZXJlcik7CisgICAgaWYoIWRhdGEtPnN0YXRlLmFwdHIucmVmKQogICAgICAgcmV0dXJuIENVUkxFX09VVF9PRl9NRU1PUlk7CiAgIH0KICAgZWxzZQotICAgIGNvbm4tPmFsbG9jcHRyLnJlZiA9IE5VTEw7CisgICAgZGF0YS0+c3RhdGUuYXB0ci5yZWYgPSBOVUxMOwogCiAjaWYgIWRlZmluZWQoQ1VSTF9ESVNBQkxFX0NPT0tJRVMpCiAgIGlmKGRhdGEtPnNldC5zdHJbU1RSSU5HX0NPT0tJRV0gJiYgIUN1cmxfY2hlY2toZWFkZXJzKGNvbm4sICJDb29raWUiKSkKQEAgLTIxNjEsMTUgKzIwNzgsMTUgQEAKIAogICBpZighQ3VybF9jaGVja2hlYWRlcnMoY29ubiwgIkFjY2VwdC1FbmNvZGluZyIpICYmCiAgICAgIGRhdGEtPnNldC5zdHJbU1RSSU5HX0VOQ09ESU5HXSkgewotICAgIEN1cmxfc2FmZWZyZWUoY29ubi0+YWxsb2NwdHIuYWNjZXB0X2VuY29kaW5nKTsKLSAgICBjb25uLT5hbGxvY3B0ci5hY2NlcHRfZW5jb2RpbmcgPQorICAgIEN1cmxfc2FmZWZyZWUoZGF0YS0+c3RhdGUuYXB0ci5hY2NlcHRfZW5jb2RpbmcpOworICAgIGRhdGEtPnN0YXRlLmFwdHIuYWNjZXB0X2VuY29kaW5nID0KICAgICAgIGFwcmludGYoIkFjY2VwdC1FbmNvZGluZzogJXNcclxuIiwgZGF0YS0+c2V0LnN0cltTVFJJTkdfRU5DT0RJTkddKTsKLSAgICBpZighY29ubi0+YWxsb2NwdHIuYWNjZXB0X2VuY29kaW5nKQorICAgIGlmKCFkYXRhLT5zdGF0ZS5hcHRyLmFjY2VwdF9lbmNvZGluZykKICAgICAgIHJldHVybiBDVVJMRV9PVVRfT0ZfTUVNT1JZOwogICB9CiAgIGVsc2UgewotICAgIEN1cmxfc2FmZWZyZWUoY29ubi0+YWxsb2NwdHIuYWNjZXB0X2VuY29kaW5nKTsKLSAgICBjb25uLT5hbGxvY3B0ci5hY2NlcHRfZW5jb2RpbmcgPSBOVUxMOworICAgIEN1cmxfc2FmZWZyZWUoZGF0YS0+c3RhdGUuYXB0ci5hY2NlcHRfZW5jb2RpbmcpOworICAgIGRhdGEtPnN0YXRlLmFwdHIuYWNjZXB0X2VuY29kaW5nID0gTlVMTDsKICAgfQogCiAjaWZkZWYgSEFWRV9MSUJaCkBAIC0yMTg1LDcgKzIxMDIsNyBAQAogICAgIGNoYXIgKmNwdHIgPSBDdXJsX2NoZWNraGVhZGVycyhjb25uLCAiQ29ubmVjdGlvbiIpOwogI2RlZmluZSBURV9IRUFERVIgIlRFOiBnemlwXHJcbiIKIAotICAgIEN1cmxfc2FmZWZyZWUoY29ubi0+YWxsb2NwdHIudGUpOworICAgIEN1cmxfc2FmZWZyZWUoZGF0YS0+c3RhdGUuYXB0ci50ZSk7CiAKICAgICBpZihjcHRyKSB7CiAgICAgICBjcHRyID0gQ3VybF9jb3B5X2hlYWRlcl92YWx1ZShjcHRyKTsKQEAgLTIxOTQsMTEgKzIxMTEsMTEgQEAKICAgICB9CiAKICAgICAvKiBDcmVhdGUgdGhlICh1cGRhdGVkKSBDb25uZWN0aW9uOiBoZWFkZXIgKi8KLSAgICBjb25uLT5hbGxvY3B0ci50ZSA9IGFwcmludGYoIkNvbm5lY3Rpb246ICVzJXNURVxyXG4iIFRFX0hFQURFUiwKKyAgICBkYXRhLT5zdGF0ZS5hcHRyLnRlID0gYXByaW50ZigiQ29ubmVjdGlvbjogJXMlc1RFXHJcbiIgVEVfSEVBREVSLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjcHRyID8gY3B0ciA6ICIiLCAoY3B0ciAmJiAqY3B0cikgPyAiLCAiOiIiKTsKIAogICAgIGZyZWUoY3B0cik7Ci0gICAgaWYoIWNvbm4tPmFsbG9jcHRyLnRlKQorICAgIGlmKCFkYXRhLT5zdGF0ZS5hcHRyLnRlKQogICAgICAgcmV0dXJuIENVUkxFX09VVF9PRl9NRU1PUlk7CiAgIH0KICNlbmRpZgpAQCAtMjI4MSw3ICsyMTk4LDcgQEAKICAgICAgIHRlID0gIlRyYW5zZmVyLUVuY29kaW5nOiBjaHVua2VkXHJcbiI7CiAgIH0KIAotICBDdXJsX3NhZmVmcmVlKGNvbm4tPmFsbG9jcHRyLmhvc3QpOworICBDdXJsX3NhZmVmcmVlKGRhdGEtPnN0YXRlLmFwdHIuaG9zdCk7CiAKICAgcHRyID0gQ3VybF9jaGVja2hlYWRlcnMoY29ubiwgIkhvc3QiKTsKICAgaWYocHRyICYmICghZGF0YS0+c3RhdGUudGhpc19pc19hX2ZvbGxvdyB8fApAQCAtMjMxNiwxOSArMjIzMywxOSBAQAogICAgICAgICBpZihjb2xvbikKICAgICAgICAgICAqY29sb24gPSAwOyAvKiBUaGUgaG9zdCBtdXN0IG5vdCBpbmNsdWRlIGFuIGVtYmVkZGVkIHBvcnQgbnVtYmVyICovCiAgICAgICB9Ci0gICAgICBDdXJsX3NhZmVmcmVlKGNvbm4tPmFsbG9jcHRyLmNvb2tpZWhvc3QpOwotICAgICAgY29ubi0+YWxsb2NwdHIuY29va2llaG9zdCA9IGNvb2tpZWhvc3Q7CisgICAgICBDdXJsX3NhZmVmcmVlKGRhdGEtPnN0YXRlLmFwdHIuY29va2llaG9zdCk7CisgICAgICBkYXRhLT5zdGF0ZS5hcHRyLmNvb2tpZWhvc3QgPSBjb29raWVob3N0OwogICAgIH0KICNlbmRpZgogCiAgICAgaWYoc3RyY21wKCJIb3N0OiIsIHB0cikpIHsKLSAgICAgIGNvbm4tPmFsbG9jcHRyLmhvc3QgPSBhcHJpbnRmKCJIb3N0OiVzXHJcbiIsICZwdHJbNV0pOwotICAgICAgaWYoIWNvbm4tPmFsbG9jcHRyLmhvc3QpCisgICAgICBkYXRhLT5zdGF0ZS5hcHRyLmhvc3QgPSBhcHJpbnRmKCJIb3N0OiVzXHJcbiIsICZwdHJbNV0pOworICAgICAgaWYoIWRhdGEtPnN0YXRlLmFwdHIuaG9zdCkKICAgICAgICAgcmV0dXJuIENVUkxFX09VVF9PRl9NRU1PUlk7CiAgICAgfQogICAgIGVsc2UKICAgICAgIC8qIHdoZW4gY2xlYXJpbmcgdGhlIGhlYWRlciAqLwotICAgICAgY29ubi0+YWxsb2NwdHIuaG9zdCA9IE5VTEw7CisgICAgICBkYXRhLT5zdGF0ZS5hcHRyLmhvc3QgPSBOVUxMOwogICB9CiAgIGVsc2UgewogICAgIC8qIFdoZW4gYnVpbGRpbmcgSG9zdDogaGVhZGVycywgd2UgbXVzdCBwdXQgdGhlIGhvc3QgbmFtZSB3aXRoaW4KQEAgLTIzNDAsMTggKzIyNTcsMTggQEAKICAgICAgICAgKGNvbm4tPnJlbW90ZV9wb3J0ID09IFBPUlRfSFRUUCkpICkKICAgICAgIC8qIGlmKEhUVFBTIG9uIHBvcnQgNDQzKSBPUiAoSFRUUCBvbiBwb3J0IDgwKSB0aGVuIGRvbid0IGluY2x1ZGUKICAgICAgICAgIHRoZSBwb3J0IG51bWJlciBpbiB0aGUgaG9zdCBzdHJpbmcgKi8KLSAgICAgIGNvbm4tPmFsbG9jcHRyLmhvc3QgPSBhcHJpbnRmKCJIb3N0OiAlcyVzJXNcclxuIiwKKyAgICAgIGRhdGEtPnN0YXRlLmFwdHIuaG9zdCA9IGFwcmludGYoIkhvc3Q6ICVzJXMlc1xyXG4iLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29ubi0+Yml0cy5pcHY2X2lwPyJbIjoiIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhvc3QsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25uLT5iaXRzLmlwdjZfaXA/Il0iOiIiKTsKICAgICBlbHNlCi0gICAgICBjb25uLT5hbGxvY3B0ci5ob3N0ID0gYXByaW50ZigiSG9zdDogJXMlcyVzOiVkXHJcbiIsCisgICAgICBkYXRhLT5zdGF0ZS5hcHRyLmhvc3QgPSBhcHJpbnRmKCJIb3N0OiAlcyVzJXM6JWRcclxuIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbm4tPmJpdHMuaXB2Nl9pcD8iWyI6IiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBob3N0LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29ubi0+Yml0cy5pcHY2X2lwPyJdIjoiIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbm4tPnJlbW90ZV9wb3J0KTsKIAotICAgIGlmKCFjb25uLT5hbGxvY3B0ci5ob3N0KQorICAgIGlmKCFkYXRhLT5zdGF0ZS5hcHRyLmhvc3QpCiAgICAgICAvKiB3aXRob3V0IEhvc3Q6IHdlIGNhbid0IG1ha2UgYSBuaWNlIHJlcXVlc3QgKi8KICAgICAgIHJldHVybiBDVVJMRV9PVVRfT0ZfTUVNT1JZOwogICB9CkBAIC0yNDMyLDcgKzIzNDksNyBAQAogICAgICAgICAgICAgICAgICAgICBkYXRhLT5zZXQucHJlZmVyX2FzY2lpID8gJ2EnIDogJ2knKTsKICAgICAgICAgfQogICAgICAgfQotICAgICAgaWYoY29ubi0+Yml0cy51c2VyX3Bhc3N3ZCAmJiAhY29ubi0+Yml0cy51c2VycHdkX2luX3VybCkKKyAgICAgIGlmKGNvbm4tPmJpdHMudXNlcl9wYXNzd2QpCiAgICAgICAgIHBhc3RlX2Z0cF91c2VycHdkID0gVFJVRTsKICAgICB9CiAgIH0KQEAgLTI1MjIsMjEgKzI0MzksMjEgQEAKICAgICBpZigoKGh0dHByZXEgPT0gSFRUUFJFUV9HRVQpIHx8IChodHRwcmVxID09IEhUVFBSRVFfSEVBRCkpICYmCiAgICAgICAgIUN1cmxfY2hlY2toZWFkZXJzKGNvbm4sICJSYW5nZSIpKSB7CiAgICAgICAvKiBpZiBhIGxpbmUgbGlrZSB0aGlzIHdhcyBhbHJlYWR5IGFsbG9jYXRlZCwgZnJlZSB0aGUgcHJldmlvdXMgb25lICovCi0gICAgICBmcmVlKGNvbm4tPmFsbG9jcHRyLnJhbmdlbGluZSk7Ci0gICAgICBjb25uLT5hbGxvY3B0ci5yYW5nZWxpbmUgPSBhcHJpbnRmKCJSYW5nZTogYnl0ZXM9JXNcclxuIiwKKyAgICAgIGZyZWUoZGF0YS0+c3RhdGUuYXB0ci5yYW5nZWxpbmUpOworICAgICAgZGF0YS0+c3RhdGUuYXB0ci5yYW5nZWxpbmUgPSBhcHJpbnRmKCJSYW5nZTogYnl0ZXM9JXNcclxuIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS0+c3RhdGUucmFuZ2UpOwogICAgIH0KICAgICBlbHNlIGlmKChodHRwcmVxID09IEhUVFBSRVFfUE9TVCB8fCBodHRwcmVxID09IEhUVFBSRVFfUFVUKSAmJgogICAgICAgICAgICAgIUN1cmxfY2hlY2toZWFkZXJzKGNvbm4sICJDb250ZW50LVJhbmdlIikpIHsKIAogICAgICAgLyogaWYgYSBsaW5lIGxpa2UgdGhpcyB3YXMgYWxyZWFkeSBhbGxvY2F0ZWQsIGZyZWUgdGhlIHByZXZpb3VzIG9uZSAqLwotICAgICAgZnJlZShjb25uLT5hbGxvY3B0ci5yYW5nZWxpbmUpOworICAgICAgZnJlZShkYXRhLT5zdGF0ZS5hcHRyLnJhbmdlbGluZSk7CiAKICAgICAgIGlmKGRhdGEtPnNldC5zZXRfcmVzdW1lX2Zyb20gPCAwKSB7CiAgICAgICAgIC8qIFVwbG9hZCByZXN1bWUgd2FzIGFza2VkIGZvciwgYnV0IHdlIGRvbid0IGtub3cgdGhlIHNpemUgb2YgdGhlCiAgICAgICAgICAgIHJlbW90ZSBwYXJ0IHNvIHdlIHRlbGwgdGhlIHNlcnZlciAoYW5kIGFjdCBhY2NvcmRpbmdseSkgdGhhdCB3ZQogICAgICAgICAgICB1cGxvYWQgdGhlIHdob2xlIGZpbGUgKGFnYWluKSAqLwotICAgICAgICBjb25uLT5hbGxvY3B0ci5yYW5nZWxpbmUgPQorICAgICAgICBkYXRhLT5zdGF0ZS5hcHRyLnJhbmdlbGluZSA9CiAgICAgICAgICAgYXByaW50ZigiQ29udGVudC1SYW5nZTogYnl0ZXMgMC0lIiBDVVJMX0ZPUk1BVF9DVVJMX09GRl9UCiAgICAgICAgICAgICAgICAgICAiLyUiIENVUkxfRk9STUFUX0NVUkxfT0ZGX1QgIlxyXG4iLAogICAgICAgICAgICAgICAgICAgZGF0YS0+c3RhdGUuaW5maWxlc2l6ZSAtIDEsIGRhdGEtPnN0YXRlLmluZmlsZXNpemUpOwpAQCAtMjU0Niw3ICsyNDYzLDcgQEAKICAgICAgICAgLyogVGhpcyBpcyBiZWNhdXNlICJyZXN1bWUiIHdhcyBzZWxlY3RlZCAqLwogICAgICAgICBjdXJsX29mZl90IHRvdGFsX2V4cGVjdGVkX3NpemUgPQogICAgICAgICAgIGRhdGEtPnN0YXRlLnJlc3VtZV9mcm9tICsgZGF0YS0+c3RhdGUuaW5maWxlc2l6ZTsKLSAgICAgICAgY29ubi0+YWxsb2NwdHIucmFuZ2VsaW5lID0KKyAgICAgICAgZGF0YS0+c3RhdGUuYXB0ci5yYW5nZWxpbmUgPQogICAgICAgICAgIGFwcmludGYoIkNvbnRlbnQtUmFuZ2U6IGJ5dGVzICVzJSIgQ1VSTF9GT1JNQVRfQ1VSTF9PRkZfVAogICAgICAgICAgICAgICAgICAgIi8lIiBDVVJMX0ZPUk1BVF9DVVJMX09GRl9UICJcclxuIiwKICAgICAgICAgICAgICAgICAgIGRhdGEtPnN0YXRlLnJhbmdlLCB0b3RhbF9leHBlY3RlZF9zaXplLTEsCkBAIC0yNTU1LDExICsyNDcyLDExIEBACiAgICAgICBlbHNlIHsKICAgICAgICAgLyogUmFuZ2Ugd2FzIHNlbGVjdGVkIGFuZCB0aGVuIHdlIGp1c3QgcGFzcyB0aGUgaW5jb21pbmcgcmFuZ2UgYW5kCiAgICAgICAgICAgIGFwcGVuZCB0b3RhbCBzaXplICovCi0gICAgICAgIGNvbm4tPmFsbG9jcHRyLnJhbmdlbGluZSA9CisgICAgICAgIGRhdGEtPnN0YXRlLmFwdHIucmFuZ2VsaW5lID0KICAgICAgICAgICBhcHJpbnRmKCJDb250ZW50LVJhbmdlOiBieXRlcyAlcy8lIiBDVVJMX0ZPUk1BVF9DVVJMX09GRl9UICJcclxuIiwKICAgICAgICAgICAgICAgICAgIGRhdGEtPnN0YXRlLnJhbmdlLCBkYXRhLT5zdGF0ZS5pbmZpbGVzaXplKTsKICAgICAgIH0KLSAgICAgIGlmKCFjb25uLT5hbGxvY3B0ci5yYW5nZWxpbmUpCisgICAgICBpZighZGF0YS0+c3RhdGUuYXB0ci5yYW5nZWxpbmUpCiAgICAgICAgIHJldHVybiBDVVJMRV9PVVRfT0ZfTUVNT1JZOwogICAgIH0KICAgfQpAQCAtMjU2NywxNCArMjQ4NCwxMSBAQAogICBodHRwc3RyaW5nID0gZ2V0X2h0dHBfc3RyaW5nKGRhdGEsIGNvbm4pOwogCiAgIC8qIGluaXRpYWxpemUgYSBkeW5hbWljIHNlbmQtYnVmZmVyICovCi0gIHJlcV9idWZmZXIgPSBDdXJsX2FkZF9idWZmZXJfaW5pdCgpOwotCi0gIGlmKCFyZXFfYnVmZmVyKQotICAgIHJldHVybiBDVVJMRV9PVVRfT0ZfTUVNT1JZOworICBDdXJsX2R5bl9pbml0KCZyZXEsIERZTl9IVFRQX1JFUVVFU1QpOwogCiAgIC8qIGFkZCB0aGUgbWFpbiByZXF1ZXN0IHN0dWZmICovCiAgIC8qIEdFVC9IRUFEL1BPU1QvUFVUICovCi0gIHJlc3VsdCA9IEN1cmxfYWRkX2J1ZmZlcmYoJnJlcV9idWZmZXIsICIlcyAiLCByZXF1ZXN0KTsKKyAgcmVzdWx0ID0gQ3VybF9keW5fYWRkZigmcmVxLCAiJXMgIiwgcmVxdWVzdCk7CiAgIGlmKHJlc3VsdCkKICAgICByZXR1cm4gcmVzdWx0OwogCkBAIC0yNTg3LDIxICsyNTAxLDIwIEBACiAgIC8qIHVybCAqLwogICBpZihjb25uLT5iaXRzLmh0dHBwcm94eSAmJiAhY29ubi0+Yml0cy50dW5uZWxfcHJveHkpIHsKICAgICBjaGFyICp1cmwgPSBkYXRhLT5zZXQuc3RyW1NUUklOR19URU1QX1VSTF07Ci0gICAgcmVzdWx0ID0gQ3VybF9hZGRfYnVmZmVyKCZyZXFfYnVmZmVyLCB1cmwsIHN0cmxlbih1cmwpKTsKKyAgICByZXN1bHQgPSBDdXJsX2R5bl9hZGQoJnJlcSwgdXJsKTsKICAgICBDdXJsX3NhZmVmcmVlKGRhdGEtPnNldC5zdHJbU1RSSU5HX1RFTVBfVVJMXSk7CiAgIH0KICAgZWxzZQogI2VuZGlmCiAgIGlmKHBhc3RlX2Z0cF91c2VycHdkKQotICAgIHJlc3VsdCA9IEN1cmxfYWRkX2J1ZmZlcmYoJnJlcV9idWZmZXIsICJmdHA6Ly8lczolc0AlcyIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25uLT51c2VyLCBjb25uLT5wYXNzd2QsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYXRoICsgc2l6ZW9mKCJmdHA6Ly8iKSAtIDEpOworICAgIHJlc3VsdCA9IEN1cmxfZHluX2FkZGYoJnJlcSwgImZ0cDovLyVzOiVzQCVzIiwgY29ubi0+dXNlciwgY29ubi0+cGFzc3dkLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgcGF0aCArIHNpemVvZigiZnRwOi8vIikgLSAxKTsKICAgZWxzZSB7Ci0gICAgcmVzdWx0ID0gQ3VybF9hZGRfYnVmZmVyKCZyZXFfYnVmZmVyLCBwYXRoLCBzdHJsZW4ocGF0aCkpOworICAgIHJlc3VsdCA9IEN1cmxfZHluX2FkZCgmcmVxLCBwYXRoKTsKICAgICBpZihyZXN1bHQpCiAgICAgICByZXR1cm4gcmVzdWx0OwogICAgIGlmKHF1ZXJ5KQotICAgICAgcmVzdWx0ID0gQ3VybF9hZGRfYnVmZmVyZigmcmVxX2J1ZmZlciwgIj8lcyIsIHF1ZXJ5KTsKKyAgICAgIHJlc3VsdCA9IEN1cmxfZHluX2FkZGYoJnJlcSwgIj8lcyIsIHF1ZXJ5KTsKICAgfQogICBpZihyZXN1bHQpCiAgICAgcmV0dXJuIHJlc3VsdDsKQEAgLTI2MTEsNjAgKzI1MjQsNjQgQEAKICAgICBhbHR1c2VkID0gYXByaW50ZigiQWx0LVVzZWQ6ICVzOiVkXHJcbiIsCiAgICAgICAgICAgICAgICAgICAgICAgY29ubi0+Y29ubl90b19ob3N0Lm5hbWUsIGNvbm4tPmNvbm5fdG9fcG9ydCk7CiAgICAgaWYoIWFsdHVzZWQpIHsKLSAgICAgIEN1cmxfYWRkX2J1ZmZlcl9mcmVlKCZyZXFfYnVmZmVyKTsKKyAgICAgIEN1cmxfZHluX2ZyZWUoJnJlcSk7CiAgICAgICByZXR1cm4gQ1VSTEVfT1VUX09GX01FTU9SWTsKICAgICB9CiAgIH0KICNlbmRpZgogICByZXN1bHQgPQotICAgIEN1cmxfYWRkX2J1ZmZlcmYoJnJlcV9idWZmZXIsCi0gICAgICAgICAgICAgICAgICAgICAiJXMiIC8qIGZ0cCB0eXBlY29kZSAoO3R5cGU9eCkgKi8KLSAgICAgICAgICAgICAgICAgICAgICIgSFRUUC8lc1xyXG4iIC8qIEhUVFAgdmVyc2lvbiAqLwotICAgICAgICAgICAgICAgICAgICAgIiVzIiAvKiBob3N0ICovCi0gICAgICAgICAgICAgICAgICAgICAiJXMiIC8qIHByb3h5dXNlcnB3ZCAqLwotICAgICAgICAgICAgICAgICAgICAgIiVzIiAvKiB1c2VycHdkICovCi0gICAgICAgICAgICAgICAgICAgICAiJXMiIC8qIHJhbmdlICovCi0gICAgICAgICAgICAgICAgICAgICAiJXMiIC8qIHVzZXIgYWdlbnQgKi8KLSAgICAgICAgICAgICAgICAgICAgICIlcyIgLyogYWNjZXB0ICovCi0gICAgICAgICAgICAgICAgICAgICAiJXMiIC8qIFRFOiAqLwotICAgICAgICAgICAgICAgICAgICAgIiVzIiAvKiBhY2NlcHQtZW5jb2RpbmcgKi8KLSAgICAgICAgICAgICAgICAgICAgICIlcyIgLyogcmVmZXJlciAqLwotICAgICAgICAgICAgICAgICAgICAgIiVzIiAvKiBQcm94eS1Db25uZWN0aW9uICovCi0gICAgICAgICAgICAgICAgICAgICAiJXMiIC8qIHRyYW5zZmVyLWVuY29kaW5nICovCi0gICAgICAgICAgICAgICAgICAgICAiJXMiLC8qIEFsdC1Vc2VkICovCisgICAgQ3VybF9keW5fYWRkZigmcmVxLAorICAgICAgICAgICAgICAgICAgIiVzIiAvKiBmdHAgdHlwZWNvZGUgKDt0eXBlPXgpICovCisgICAgICAgICAgICAgICAgICAiIEhUVFAvJXNcclxuIiAvKiBIVFRQIHZlcnNpb24gKi8KKyAgICAgICAgICAgICAgICAgICIlcyIgLyogaG9zdCAqLworICAgICAgICAgICAgICAgICAgIiVzIiAvKiBwcm94eXVzZXJwd2QgKi8KKyAgICAgICAgICAgICAgICAgICIlcyIgLyogdXNlcnB3ZCAqLworICAgICAgICAgICAgICAgICAgIiVzIiAvKiByYW5nZSAqLworICAgICAgICAgICAgICAgICAgIiVzIiAvKiB1c2VyIGFnZW50ICovCisgICAgICAgICAgICAgICAgICAiJXMiIC8qIGFjY2VwdCAqLworICAgICAgICAgICAgICAgICAgIiVzIiAvKiBURTogKi8KKyAgICAgICAgICAgICAgICAgICIlcyIgLyogYWNjZXB0LWVuY29kaW5nICovCisgICAgICAgICAgICAgICAgICAiJXMiIC8qIHJlZmVyZXIgKi8KKyAgICAgICAgICAgICAgICAgICIlcyIgLyogUHJveHktQ29ubmVjdGlvbiAqLworICAgICAgICAgICAgICAgICAgIiVzIiAvKiB0cmFuc2Zlci1lbmNvZGluZyAqLworICAgICAgICAgICAgICAgICAgIiVzIiwvKiBBbHQtVXNlZCAqLwogCi0gICAgICAgICAgICAgICAgICAgICBmdHBfdHlwZWNvZGUsCi0gICAgICAgICAgICAgICAgICAgICBodHRwc3RyaW5nLAotICAgICAgICAgICAgICAgICAgICAgKGNvbm4tPmFsbG9jcHRyLmhvc3Q/Y29ubi0+YWxsb2NwdHIuaG9zdDoiIiksCi0gICAgICAgICAgICAgICAgICAgICBjb25uLT5hbGxvY3B0ci5wcm94eXVzZXJwd2Q/Ci0gICAgICAgICAgICAgICAgICAgICBjb25uLT5hbGxvY3B0ci5wcm94eXVzZXJwd2Q6IiIsCi0gICAgICAgICAgICAgICAgICAgICBjb25uLT5hbGxvY3B0ci51c2VycHdkP2Nvbm4tPmFsbG9jcHRyLnVzZXJwd2Q6IiIsCi0gICAgICAgICAgICAgICAgICAgICAoZGF0YS0+c3RhdGUudXNlX3JhbmdlICYmIGNvbm4tPmFsbG9jcHRyLnJhbmdlbGluZSk/Ci0gICAgICAgICAgICAgICAgICAgICBjb25uLT5hbGxvY3B0ci5yYW5nZWxpbmU6IiIsCi0gICAgICAgICAgICAgICAgICAgICAoZGF0YS0+c2V0LnN0cltTVFJJTkdfVVNFUkFHRU5UXSAmJgotICAgICAgICAgICAgICAgICAgICAgICpkYXRhLT5zZXQuc3RyW1NUUklOR19VU0VSQUdFTlRdICYmCi0gICAgICAgICAgICAgICAgICAgICAgY29ubi0+YWxsb2NwdHIudWFnZW50KT8KLSAgICAgICAgICAgICAgICAgICAgIGNvbm4tPmFsbG9jcHRyLnVhZ2VudDoiIiwKLSAgICAgICAgICAgICAgICAgICAgIGh0dHAtPnBfYWNjZXB0P2h0dHAtPnBfYWNjZXB0OiIiLAotICAgICAgICAgICAgICAgICAgICAgY29ubi0+YWxsb2NwdHIudGU/Y29ubi0+YWxsb2NwdHIudGU6IiIsCi0gICAgICAgICAgICAgICAgICAgICAoZGF0YS0+c2V0LnN0cltTVFJJTkdfRU5DT0RJTkddICYmCi0gICAgICAgICAgICAgICAgICAgICAgKmRhdGEtPnNldC5zdHJbU1RSSU5HX0VOQ09ESU5HXSAmJgotICAgICAgICAgICAgICAgICAgICAgIGNvbm4tPmFsbG9jcHRyLmFjY2VwdF9lbmNvZGluZyk/Ci0gICAgICAgICAgICAgICAgICAgICBjb25uLT5hbGxvY3B0ci5hY2NlcHRfZW5jb2Rpbmc6IiIsCi0gICAgICAgICAgICAgICAgICAgICAoZGF0YS0+Y2hhbmdlLnJlZmVyZXIgJiYgY29ubi0+YWxsb2NwdHIucmVmKT8KLSAgICAgICAgICAgICAgICAgICAgIGNvbm4tPmFsbG9jcHRyLnJlZjoiIiAvKiBSZWZlcmVyOiA8ZGF0YT4gKi8sCi0gICAgICAgICAgICAgICAgICAgICAoY29ubi0+Yml0cy5odHRwcHJveHkgJiYKLSAgICAgICAgICAgICAgICAgICAgICAhY29ubi0+Yml0cy50dW5uZWxfcHJveHkgJiYKLSAgICAgICAgICAgICAgICAgICAgICAhQ3VybF9jaGVja1Byb3h5aGVhZGVycyhjb25uLCAiUHJveHktQ29ubmVjdGlvbiIpKT8KLSAgICAgICAgICAgICAgICAgICAgICJQcm94eS1Db25uZWN0aW9uOiBLZWVwLUFsaXZlXHJcbiI6IiIsCi0gICAgICAgICAgICAgICAgICAgICB0ZSwKLSAgICAgICAgICAgICAgICAgICAgIGFsdHVzZWQgPyBhbHR1c2VkIDogIiIKKyAgICAgICAgICAgICAgICAgIGZ0cF90eXBlY29kZSwKKyAgICAgICAgICAgICAgICAgIGh0dHBzdHJpbmcsCisgICAgICAgICAgICAgICAgICAoZGF0YS0+c3RhdGUuYXB0ci5ob3N0P2RhdGEtPnN0YXRlLmFwdHIuaG9zdDoiIiksCisgICAgICAgICAgICAgICAgICBkYXRhLT5zdGF0ZS5hcHRyLnByb3h5dXNlcnB3ZD8KKyAgICAgICAgICAgICAgICAgIGRhdGEtPnN0YXRlLmFwdHIucHJveHl1c2VycHdkOiIiLAorICAgICAgICAgICAgICAgICAgZGF0YS0+c3RhdGUuYXB0ci51c2VycHdkP2RhdGEtPnN0YXRlLmFwdHIudXNlcnB3ZDoiIiwKKyAgICAgICAgICAgICAgICAgIChkYXRhLT5zdGF0ZS51c2VfcmFuZ2UgJiYgZGF0YS0+c3RhdGUuYXB0ci5yYW5nZWxpbmUpPworICAgICAgICAgICAgICAgICAgZGF0YS0+c3RhdGUuYXB0ci5yYW5nZWxpbmU6IiIsCisgICAgICAgICAgICAgICAgICAoZGF0YS0+c2V0LnN0cltTVFJJTkdfVVNFUkFHRU5UXSAmJgorICAgICAgICAgICAgICAgICAgICpkYXRhLT5zZXQuc3RyW1NUUklOR19VU0VSQUdFTlRdICYmCisgICAgICAgICAgICAgICAgICAgZGF0YS0+c3RhdGUuYXB0ci51YWdlbnQpPworICAgICAgICAgICAgICAgICAgZGF0YS0+c3RhdGUuYXB0ci51YWdlbnQ6IiIsCisgICAgICAgICAgICAgICAgICBodHRwLT5wX2FjY2VwdD9odHRwLT5wX2FjY2VwdDoiIiwKKyAgICAgICAgICAgICAgICAgIGRhdGEtPnN0YXRlLmFwdHIudGU/ZGF0YS0+c3RhdGUuYXB0ci50ZToiIiwKKyAgICAgICAgICAgICAgICAgIChkYXRhLT5zZXQuc3RyW1NUUklOR19FTkNPRElOR10gJiYKKyAgICAgICAgICAgICAgICAgICAqZGF0YS0+c2V0LnN0cltTVFJJTkdfRU5DT0RJTkddICYmCisgICAgICAgICAgICAgICAgICAgZGF0YS0+c3RhdGUuYXB0ci5hY2NlcHRfZW5jb2RpbmcpPworICAgICAgICAgICAgICAgICAgZGF0YS0+c3RhdGUuYXB0ci5hY2NlcHRfZW5jb2Rpbmc6IiIsCisgICAgICAgICAgICAgICAgICAoZGF0YS0+Y2hhbmdlLnJlZmVyZXIgJiYgZGF0YS0+c3RhdGUuYXB0ci5yZWYpPworICAgICAgICAgICAgICAgICAgZGF0YS0+c3RhdGUuYXB0ci5yZWY6IiIgLyogUmVmZXJlcjogPGRhdGE+ICovLAorI2lmbmRlZiBDVVJMX0RJU0FCTEVfUFJPWFkKKyAgICAgICAgICAgICAgICAgIChjb25uLT5iaXRzLmh0dHBwcm94eSAmJgorICAgICAgICAgICAgICAgICAgICFjb25uLT5iaXRzLnR1bm5lbF9wcm94eSAmJgorICAgICAgICAgICAgICAgICAgICFDdXJsX2NoZWNrUHJveHloZWFkZXJzKGNvbm4sICJQcm94eS1Db25uZWN0aW9uIikpPworICAgICAgICAgICAgICAgICAgIlByb3h5LUNvbm5lY3Rpb246IEtlZXAtQWxpdmVcclxuIjoiIiwKKyNlbHNlCisgICAgICAgICAgICAgICAgICAiIiwKKyNlbmRpZgorICAgICAgICAgICAgICAgICAgdGUsCisgICAgICAgICAgICAgICAgICBhbHR1c2VkID8gYWx0dXNlZCA6ICIiCiAgICAgICApOwogCiAgIC8qIGNsZWFyIHVzZXJwd2QgYW5kIHByb3h5dXNlcnB3ZCB0byBhdm9pZCByZS11c2luZyBvbGQgY3JlZGVudGlhbHMKICAgICogZnJvbSByZS11c2VkIGNvbm5lY3Rpb25zICovCi0gIEN1cmxfc2FmZWZyZWUoY29ubi0+YWxsb2NwdHIudXNlcnB3ZCk7Ci0gIEN1cmxfc2FmZWZyZWUoY29ubi0+YWxsb2NwdHIucHJveHl1c2VycHdkKTsKKyAgQ3VybF9zYWZlZnJlZShkYXRhLT5zdGF0ZS5hcHRyLnVzZXJwd2QpOworICBDdXJsX3NhZmVmcmVlKGRhdGEtPnN0YXRlLmFwdHIucHJveHl1c2VycHdkKTsKICAgZnJlZShhbHR1c2VkKTsKIAogICBpZihyZXN1bHQpCkBAIC0yNjc1LDcgKzI1OTIsNyBAQAogICAgICAoZGF0YS0+c2V0Lmh0dHB2ZXJzaW9uID09IENVUkxfSFRUUF9WRVJTSU9OXzIpKSB7CiAgICAgLyogYXBwZW5kIEhUVFAyIHVwZ3JhZGUgbWFnaWMgc3R1ZmYgdG8gdGhlIEhUVFAgcmVxdWVzdCBpZiBpdCBpc24ndCBkb25lCiAgICAgICAgb3ZlciBTU0wgKi8KLSAgICByZXN1bHQgPSBDdXJsX2h0dHAyX3JlcXVlc3RfdXBncmFkZShyZXFfYnVmZmVyLCBjb25uKTsKKyAgICByZXN1bHQgPSBDdXJsX2h0dHAyX3JlcXVlc3RfdXBncmFkZSgmcmVxLCBjb25uKTsKICAgICBpZihyZXN1bHQpCiAgICAgICByZXR1cm4gcmVzdWx0OwogICB9CkBAIC0yNjg4LDggKzI2MDUsOCBAQAogICAgIGlmKGRhdGEtPmNvb2tpZXMgJiYgZGF0YS0+c3RhdGUuY29va2llX2VuZ2luZSkgewogICAgICAgQ3VybF9zaGFyZV9sb2NrKGRhdGEsIENVUkxfTE9DS19EQVRBX0NPT0tJRSwgQ1VSTF9MT0NLX0FDQ0VTU19TSU5HTEUpOwogICAgICAgY28gPSBDdXJsX2Nvb2tpZV9nZXRsaXN0KGRhdGEtPmNvb2tpZXMsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29ubi0+YWxsb2NwdHIuY29va2llaG9zdD8KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25uLT5hbGxvY3B0ci5jb29raWVob3N0Omhvc3QsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS0+c3RhdGUuYXB0ci5jb29raWVob3N0PworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtPnN0YXRlLmFwdHIuY29va2llaG9zdDpob3N0LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtPnN0YXRlLnVwLnBhdGgsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGNvbm4tPmhhbmRsZXItPnByb3RvY29sJkNVUkxQUk9UT19IVFRQUyk/CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVFJVRTpGQUxTRSk7CkBAIC0yNzAxLDEzICsyNjE4LDEyIEBACiAgICAgICB3aGlsZShjbykgewogICAgICAgICBpZihjby0+dmFsdWUpIHsKICAgICAgICAgICBpZigwID09IGNvdW50KSB7Ci0gICAgICAgICAgICByZXN1bHQgPSBDdXJsX2FkZF9idWZmZXJmKCZyZXFfYnVmZmVyLCAiQ29va2llOiAiKTsKKyAgICAgICAgICAgIHJlc3VsdCA9IEN1cmxfZHluX2FkZCgmcmVxLCAiQ29va2llOiAiKTsKICAgICAgICAgICAgIGlmKHJlc3VsdCkKICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgfQotICAgICAgICAgIHJlc3VsdCA9IEN1cmxfYWRkX2J1ZmZlcmYoJnJlcV9idWZmZXIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiJXMlcz0lcyIsIGNvdW50PyI7ICI6IiIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjby0+bmFtZSwgY28tPnZhbHVlKTsKKyAgICAgICAgICByZXN1bHQgPSBDdXJsX2R5bl9hZGRmKCZyZXEsICIlcyVzPSVzIiwgY291bnQ/IjsgIjoiIiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvLT5uYW1lLCBjby0+dmFsdWUpOwogICAgICAgICAgIGlmKHJlc3VsdCkKICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgIGNvdW50Kys7CkBAIC0yNzE4LDI2ICsyNjM0LDI1IEBACiAgICAgfQogICAgIGlmKGFkZGNvb2tpZXMgJiYgIXJlc3VsdCkgewogICAgICAgaWYoIWNvdW50KQotICAgICAgICByZXN1bHQgPSBDdXJsX2FkZF9idWZmZXJmKCZyZXFfYnVmZmVyLCAiQ29va2llOiAiKTsKKyAgICAgICAgcmVzdWx0ID0gQ3VybF9keW5fYWRkKCZyZXEsICJDb29raWU6ICIpOwogICAgICAgaWYoIXJlc3VsdCkgewotICAgICAgICByZXN1bHQgPSBDdXJsX2FkZF9idWZmZXJmKCZyZXFfYnVmZmVyLCAiJXMlcyIsIGNvdW50PyI7ICI6IiIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYWRkY29va2llcyk7CisgICAgICAgIHJlc3VsdCA9IEN1cmxfZHluX2FkZGYoJnJlcSwgIiVzJXMiLCBjb3VudD8iOyAiOiIiLCBhZGRjb29raWVzKTsKICAgICAgICAgY291bnQrKzsKICAgICAgIH0KICAgICB9CiAgICAgaWYoY291bnQgJiYgIXJlc3VsdCkKLSAgICAgIHJlc3VsdCA9IEN1cmxfYWRkX2J1ZmZlcigmcmVxX2J1ZmZlciwgIlxyXG4iLCAyKTsKKyAgICAgIHJlc3VsdCA9IEN1cmxfZHluX2FkZCgmcmVxLCAiXHJcbiIpOwogCiAgICAgaWYocmVzdWx0KQogICAgICAgcmV0dXJuIHJlc3VsdDsKICAgfQogI2VuZGlmCiAKLSAgcmVzdWx0ID0gQ3VybF9hZGRfdGltZWNvbmRpdGlvbihjb25uLCByZXFfYnVmZmVyKTsKKyAgcmVzdWx0ID0gQ3VybF9hZGRfdGltZWNvbmRpdGlvbihjb25uLCAmcmVxKTsKICAgaWYocmVzdWx0KQogICAgIHJldHVybiByZXN1bHQ7CiAKLSAgcmVzdWx0ID0gQ3VybF9hZGRfY3VzdG9tX2hlYWRlcnMoY29ubiwgRkFMU0UsIHJlcV9idWZmZXIpOworICByZXN1bHQgPSBDdXJsX2FkZF9jdXN0b21faGVhZGVycyhjb25uLCBGQUxTRSwgJnJlcSk7CiAgIGlmKHJlc3VsdCkKICAgICByZXR1cm4gcmVzdWx0OwogCkBAIC0yNzYwLDIwICsyNjc1LDIwIEBACiAgICAgaWYoKHBvc3RzaXplICE9IC0xKSAmJiAhZGF0YS0+cmVxLnVwbG9hZF9jaHVua3kgJiYKICAgICAgICAoY29ubi0+Yml0cy5hdXRobmVnIHx8ICFDdXJsX2NoZWNraGVhZGVycyhjb25uLCAiQ29udGVudC1MZW5ndGgiKSkpIHsKICAgICAgIC8qIG9ubHkgYWRkIENvbnRlbnQtTGVuZ3RoIGlmIG5vdCB1cGxvYWRpbmcgY2h1bmtlZCAqLwotICAgICAgcmVzdWx0ID0gQ3VybF9hZGRfYnVmZmVyZigmcmVxX2J1ZmZlciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIkNvbnRlbnQtTGVuZ3RoOiAlIiBDVVJMX0ZPUk1BVF9DVVJMX09GRl9UCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJcclxuIiwgcG9zdHNpemUpOworICAgICAgcmVzdWx0ID0gQ3VybF9keW5fYWRkZigmcmVxLCAiQ29udGVudC1MZW5ndGg6ICUiIENVUkxfRk9STUFUX0NVUkxfT0ZGX1QKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIlxyXG4iLCBwb3N0c2l6ZSk7CiAgICAgICBpZihyZXN1bHQpCiAgICAgICAgIHJldHVybiByZXN1bHQ7CiAgICAgfQogCiAgICAgaWYocG9zdHNpemUgIT0gMCkgewotICAgICAgcmVzdWx0ID0gZXhwZWN0MTAwKGRhdGEsIGNvbm4sIHJlcV9idWZmZXIpOworICAgICAgcmVzdWx0ID0gZXhwZWN0MTAwKGRhdGEsIGNvbm4sICZyZXEpOwogICAgICAgaWYocmVzdWx0KQogICAgICAgICByZXR1cm4gcmVzdWx0OwogICAgIH0KIAotICAgIHJlc3VsdCA9IEN1cmxfYWRkX2J1ZmZlcigmcmVxX2J1ZmZlciwgIlxyXG4iLCAyKTsgLyogZW5kIG9mIGhlYWRlcnMgKi8KKyAgICAvKiBlbmQgb2YgaGVhZGVycyAqLworICAgIHJlc3VsdCA9IEN1cmxfZHluX2FkZCgmcmVxLCAiXHJcbiIpOwogICAgIGlmKHJlc3VsdCkKICAgICAgIHJldHVybiByZXN1bHQ7CiAKQEAgLTI3ODEsOCArMjY5Niw4IEBACiAgICAgQ3VybF9wZ3JzU2V0VXBsb2FkU2l6ZShkYXRhLCBwb3N0c2l6ZSk7CiAKICAgICAvKiB0aGlzIHNlbmRzIHRoZSBidWZmZXIgYW5kIGZyZWVzIGFsbCB0aGUgYnVmZmVyIHJlc291cmNlcyAqLwotICAgIHJlc3VsdCA9IEN1cmxfYWRkX2J1ZmZlcl9zZW5kKCZyZXFfYnVmZmVyLCBjb25uLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZkYXRhLT5pbmZvLnJlcXVlc3Rfc2l6ZSwgMCwgRklSU1RTT0NLRVQpOworICAgIHJlc3VsdCA9IEN1cmxfYnVmZmVyX3NlbmQoJnJlcSwgY29ubiwgJmRhdGEtPmluZm8ucmVxdWVzdF9zaXplLCAwLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRklSU1RTT0NLRVQpOwogICAgIGlmKHJlc3VsdCkKICAgICAgIGZhaWxmKGRhdGEsICJGYWlsZWQgc2VuZGluZyBQVVQgcmVxdWVzdCIpOwogICAgIGVsc2UKQEAgLTI3OTgsMTIgKzI3MTMsMTIgQEAKICAgICAvKiBUaGlzIGlzIGZvcm0gcG9zdGluZyB1c2luZyBtaW1lIGRhdGEuICovCiAgICAgaWYoY29ubi0+Yml0cy5hdXRobmVnKSB7CiAgICAgICAvKiBub3RoaW5nIHRvIHBvc3QhICovCi0gICAgICByZXN1bHQgPSBDdXJsX2FkZF9idWZmZXJmKCZyZXFfYnVmZmVyLCAiQ29udGVudC1MZW5ndGg6IDBcclxuXHJcbiIpOworICAgICAgcmVzdWx0ID0gQ3VybF9keW5fYWRkKCZyZXEsICJDb250ZW50LUxlbmd0aDogMFxyXG5cclxuIik7CiAgICAgICBpZihyZXN1bHQpCiAgICAgICAgIHJldHVybiByZXN1bHQ7CiAKLSAgICAgIHJlc3VsdCA9IEN1cmxfYWRkX2J1ZmZlcl9zZW5kKCZyZXFfYnVmZmVyLCBjb25uLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJmRhdGEtPmluZm8ucmVxdWVzdF9zaXplLCAwLCBGSVJTVFNPQ0tFVCk7CisgICAgICByZXN1bHQgPSBDdXJsX2J1ZmZlcl9zZW5kKCZyZXEsIGNvbm4sICZkYXRhLT5pbmZvLnJlcXVlc3Rfc2l6ZSwgMCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRklSU1RTT0NLRVQpOwogICAgICAgaWYocmVzdWx0KQogICAgICAgICBmYWlsZihkYXRhLCAiRmFpbGVkIHNlbmRpbmcgUE9TVCByZXF1ZXN0Iik7CiAgICAgICBlbHNlCkBAIC0yODIxLDkgKzI3MzYsOSBAQAogICAgICAgIChjb25uLT5iaXRzLmF1dGhuZWcgfHwgIUN1cmxfY2hlY2toZWFkZXJzKGNvbm4sICJDb250ZW50LUxlbmd0aCIpKSkgewogICAgICAgLyogd2UgYWxsb3cgcmVwbGFjaW5nIHRoaXMgaGVhZGVyIGlmIG5vdCBkdXJpbmcgYXV0aCBuZWdvdGlhdGlvbiwKICAgICAgICAgIGFsdGhvdWdoIGl0IGlzbid0IHZlcnkgd2lzZSB0byBhY3R1YWxseSBzZXQgeW91ciBvd24gKi8KLSAgICAgIHJlc3VsdCA9IEN1cmxfYWRkX2J1ZmZlcmYoJnJlcV9idWZmZXIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJDb250ZW50LUxlbmd0aDogJSIgQ1VSTF9GT1JNQVRfQ1VSTF9PRkZfVAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiXHJcbiIsIHBvc3RzaXplKTsKKyAgICAgIHJlc3VsdCA9IEN1cmxfZHluX2FkZGYoJnJlcSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIkNvbnRlbnQtTGVuZ3RoOiAlIiBDVVJMX0ZPUk1BVF9DVVJMX09GRl9UCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJcclxuIiwgcG9zdHNpemUpOwogICAgICAgaWYocmVzdWx0KQogICAgICAgICByZXR1cm4gcmVzdWx0OwogICAgIH0KQEAgLTI4MzQsNyArMjc0OSw3IEBACiAgICAgICBzdHJ1Y3QgY3VybF9zbGlzdCAqaGRyOwogCiAgICAgICBmb3IoaGRyID0gaHR0cC0+c2VuZGl0LT5jdXJsaGVhZGVyczsgaGRyOyBoZHIgPSBoZHItPm5leHQpIHsKLSAgICAgICAgcmVzdWx0ID0gQ3VybF9hZGRfYnVmZmVyZigmcmVxX2J1ZmZlciwgIiVzXHJcbiIsIGhkci0+ZGF0YSk7CisgICAgICAgIHJlc3VsdCA9IEN1cmxfZHluX2FkZGYoJnJlcSwgIiVzXHJcbiIsIGhkci0+ZGF0YSk7CiAgICAgICAgIGlmKHJlc3VsdCkKICAgICAgICAgICByZXR1cm4gcmVzdWx0OwogICAgICAgfQpAQCAtMjg1MSw3ICsyNzY2LDcgQEAKICAgICAgICAgQ3VybF9jb21wYXJlaGVhZGVyKHB0ciwgIkV4cGVjdDoiLCAiMTAwLWNvbnRpbnVlIik7CiAgICAgfQogICAgIGVsc2UgaWYocG9zdHNpemUgPiBFWFBFQ1RfMTAwX1RIUkVTSE9MRCB8fCBwb3N0c2l6ZSA8IDApIHsKLSAgICAgIHJlc3VsdCA9IGV4cGVjdDEwMChkYXRhLCBjb25uLCByZXFfYnVmZmVyKTsKKyAgICAgIHJlc3VsdCA9IGV4cGVjdDEwMChkYXRhLCBjb25uLCAmcmVxKTsKICAgICAgIGlmKHJlc3VsdCkKICAgICAgICAgcmV0dXJuIHJlc3VsdDsKICAgICB9CkBAIC0yODU5LDcgKzI3NzQsNyBAQAogICAgICAgZGF0YS0+c3RhdGUuZXhwZWN0MTAwaGVhZGVyID0gRkFMU0U7CiAKICAgICAvKiBtYWtlIHRoZSByZXF1ZXN0IGVuZCBpbiBhIHRydWUgQ1JMRiAqLwotICAgIHJlc3VsdCA9IEN1cmxfYWRkX2J1ZmZlcigmcmVxX2J1ZmZlciwgIlxyXG4iLCAyKTsKKyAgICByZXN1bHQgPSBDdXJsX2R5bl9hZGQoJnJlcSwgIlxyXG4iKTsKICAgICBpZihyZXN1bHQpCiAgICAgICByZXR1cm4gcmVzdWx0OwogCkBAIC0yODcyLDggKzI3ODcsOCBAQAogICAgIGh0dHAtPnNlbmRpbmcgPSBIVFRQU0VORF9CT0RZOwogCiAgICAgLyogdGhpcyBzZW5kcyB0aGUgYnVmZmVyIGFuZCBmcmVlcyBhbGwgdGhlIGJ1ZmZlciByZXNvdXJjZXMgKi8KLSAgICByZXN1bHQgPSBDdXJsX2FkZF9idWZmZXJfc2VuZCgmcmVxX2J1ZmZlciwgY29ubiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmZGF0YS0+aW5mby5yZXF1ZXN0X3NpemUsIDAsIEZJUlNUU09DS0VUKTsKKyAgICByZXN1bHQgPSBDdXJsX2J1ZmZlcl9zZW5kKCZyZXEsIGNvbm4sICZkYXRhLT5pbmZvLnJlcXVlc3Rfc2l6ZSwgMCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEZJUlNUU09DS0VUKTsKICAgICBpZihyZXN1bHQpCiAgICAgICBmYWlsZihkYXRhLCAiRmFpbGVkIHNlbmRpbmcgUE9TVCByZXF1ZXN0Iik7CiAgICAgZWxzZQpAQCAtMjkwMSwxNyArMjgxNiwxNSBAQAogICAgICAgIChjb25uLT5iaXRzLmF1dGhuZWcgfHwgIUN1cmxfY2hlY2toZWFkZXJzKGNvbm4sICJDb250ZW50LUxlbmd0aCIpKSkgewogICAgICAgLyogd2UgYWxsb3cgcmVwbGFjaW5nIHRoaXMgaGVhZGVyIGlmIG5vdCBkdXJpbmcgYXV0aCBuZWdvdGlhdGlvbiwKICAgICAgICAgIGFsdGhvdWdoIGl0IGlzbid0IHZlcnkgd2lzZSB0byBhY3R1YWxseSBzZXQgeW91ciBvd24gKi8KLSAgICAgIHJlc3VsdCA9IEN1cmxfYWRkX2J1ZmZlcmYoJnJlcV9idWZmZXIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJDb250ZW50LUxlbmd0aDogJSIgQ1VSTF9GT1JNQVRfQ1VSTF9PRkZfVAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiXHJcbiIsIHBvc3RzaXplKTsKKyAgICAgIHJlc3VsdCA9IEN1cmxfZHluX2FkZGYoJnJlcSwgIkNvbnRlbnQtTGVuZ3RoOiAlIiBDVVJMX0ZPUk1BVF9DVVJMX09GRl9UCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJcclxuIiwgcG9zdHNpemUpOwogICAgICAgaWYocmVzdWx0KQogICAgICAgICByZXR1cm4gcmVzdWx0OwogICAgIH0KIAogICAgIGlmKCFDdXJsX2NoZWNraGVhZGVycyhjb25uLCAiQ29udGVudC1UeXBlIikpIHsKLSAgICAgIHJlc3VsdCA9IEN1cmxfYWRkX2J1ZmZlcmYoJnJlcV9idWZmZXIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJDb250ZW50LVR5cGU6IGFwcGxpY2F0aW9uLyIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIngtd3d3LWZvcm0tdXJsZW5jb2RlZFxyXG4iKTsKKyAgICAgIHJlc3VsdCA9IEN1cmxfZHluX2FkZCgmcmVxLCAiQ29udGVudC1UeXBlOiBhcHBsaWNhdGlvbi8iCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgIngtd3d3LWZvcm0tdXJsZW5jb2RlZFxyXG4iKTsKICAgICAgIGlmKHJlc3VsdCkKICAgICAgICAgcmV0dXJuIHJlc3VsdDsKICAgICB9CkBAIC0yOTI2LDcgKzI4MzksNyBAQAogICAgICAgICBDdXJsX2NvbXBhcmVoZWFkZXIocHRyLCAiRXhwZWN0OiIsICIxMDAtY29udGludWUiKTsKICAgICB9CiAgICAgZWxzZSBpZihwb3N0c2l6ZSA+IEVYUEVDVF8xMDBfVEhSRVNIT0xEIHx8IHBvc3RzaXplIDwgMCkgewotICAgICAgcmVzdWx0ID0gZXhwZWN0MTAwKGRhdGEsIGNvbm4sIHJlcV9idWZmZXIpOworICAgICAgcmVzdWx0ID0gZXhwZWN0MTAwKGRhdGEsIGNvbm4sICZyZXEpOwogICAgICAgaWYocmVzdWx0KQogICAgICAgICByZXR1cm4gcmVzdWx0OwogICAgIH0KQEAgLTI5NDcsMzEgKzI4NjAsMzIgQEAKICAgICAgICAgICAgaXMgbm8gbWFnaWMgbGltaXQgYnV0IG9ubHkgc2V0IHRvIHByZXZlbnQgcmVhbGx5IGh1Z2UgUE9TVHMgdG8KICAgICAgICAgICAgZ2V0IHRoZSBkYXRhIGR1cGxpY2F0ZWQgd2l0aCBtYWxsb2MoKSBhbmQgZmFtaWx5LiAqLwogCi0gICAgICAgIHJlc3VsdCA9IEN1cmxfYWRkX2J1ZmZlcigmcmVxX2J1ZmZlciwgIlxyXG4iLCAyKTsgLyogZW5kIG9mIGhlYWRlcnMhICovCisgICAgICAgIC8qIGVuZCBvZiBoZWFkZXJzISAqLworICAgICAgICByZXN1bHQgPSBDdXJsX2R5bl9hZGQoJnJlcSwgIlxyXG4iKTsKICAgICAgICAgaWYocmVzdWx0KQogICAgICAgICAgIHJldHVybiByZXN1bHQ7CiAKICAgICAgICAgaWYoIWRhdGEtPnJlcS51cGxvYWRfY2h1bmt5KSB7CiAgICAgICAgICAgLyogV2UncmUgbm90IHNlbmRpbmcgaXQgJ2NodW5rZWQnLCBhcHBlbmQgaXQgdG8gdGhlIHJlcXVlc3QKICAgICAgICAgICAgICBhbHJlYWR5IG5vdyB0byByZWR1Y2UgdGhlIG51bWJlciBpZiBzZW5kKCkgY2FsbHMgKi8KLSAgICAgICAgICByZXN1bHQgPSBDdXJsX2FkZF9idWZmZXIoJnJlcV9idWZmZXIsIGRhdGEtPnNldC5wb3N0ZmllbGRzLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoc2l6ZV90KXBvc3RzaXplKTsKKyAgICAgICAgICByZXN1bHQgPSBDdXJsX2R5bl9hZGRuKCZyZXEsIGRhdGEtPnNldC5wb3N0ZmllbGRzLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKHNpemVfdClwb3N0c2l6ZSk7CiAgICAgICAgICAgaW5jbHVkZWRfYm9keSA9IHBvc3RzaXplOwogICAgICAgICB9CiAgICAgICAgIGVsc2UgewogICAgICAgICAgIGlmKHBvc3RzaXplKSB7CiAgICAgICAgICAgICAvKiBBcHBlbmQgdGhlIFBPU1QgZGF0YSBjaHVua3ktc3R5bGUgKi8KLSAgICAgICAgICAgIHJlc3VsdCA9IEN1cmxfYWRkX2J1ZmZlcmYoJnJlcV9idWZmZXIsICIleFxyXG4iLCAoaW50KXBvc3RzaXplKTsKKyAgICAgICAgICAgIHJlc3VsdCA9IEN1cmxfZHluX2FkZGYoJnJlcSwgIiV4XHJcbiIsIChpbnQpcG9zdHNpemUpOwogICAgICAgICAgICAgaWYoIXJlc3VsdCkgewotICAgICAgICAgICAgICByZXN1bHQgPSBDdXJsX2FkZF9idWZmZXIoJnJlcV9idWZmZXIsIGRhdGEtPnNldC5wb3N0ZmllbGRzLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKHNpemVfdClwb3N0c2l6ZSk7CisgICAgICAgICAgICAgIHJlc3VsdCA9IEN1cmxfZHluX2FkZG4oJnJlcSwgZGF0YS0+c2V0LnBvc3RmaWVsZHMsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKHNpemVfdClwb3N0c2l6ZSk7CiAgICAgICAgICAgICAgIGlmKCFyZXN1bHQpCi0gICAgICAgICAgICAgICAgcmVzdWx0ID0gQ3VybF9hZGRfYnVmZmVyKCZyZXFfYnVmZmVyLCAiXHJcbiIsIDIpOworICAgICAgICAgICAgICAgIHJlc3VsdCA9IEN1cmxfZHluX2FkZCgmcmVxLCAiXHJcbiIpOwogICAgICAgICAgICAgICBpbmNsdWRlZF9ib2R5ID0gcG9zdHNpemUgKyAyOwogICAgICAgICAgICAgfQogICAgICAgICAgIH0KICAgICAgICAgICBpZighcmVzdWx0KQotICAgICAgICAgICAgcmVzdWx0ID0gQ3VybF9hZGRfYnVmZmVyKCZyZXFfYnVmZmVyLCAiXHgzMFx4MGRceDBhXHgwZFx4MGEiLCA1KTsKKyAgICAgICAgICAgIHJlc3VsdCA9IEN1cmxfZHluX2FkZCgmcmVxLCAiXHgzMFx4MGRceDBhXHgwZFx4MGEiKTsKICAgICAgICAgICAvKiAwICBDUiAgTEYgIENSICBMRiAqLwogICAgICAgICAgIGluY2x1ZGVkX2JvZHkgKz0gNTsKICAgICAgICAgfQpAQCAtMjk5MywyMSArMjkwNywyMiBAQAogICAgICAgICAvKiBzZXQgdGhlIHVwbG9hZCBzaXplIHRvIHRoZSBwcm9ncmVzcyBtZXRlciAqLwogICAgICAgICBDdXJsX3BncnNTZXRVcGxvYWRTaXplKGRhdGEsIGh0dHAtPnBvc3RzaXplKTsKIAotICAgICAgICByZXN1bHQgPSBDdXJsX2FkZF9idWZmZXIoJnJlcV9idWZmZXIsICJcclxuIiwgMik7IC8qIGVuZCBvZiBoZWFkZXJzISAqLworICAgICAgICAvKiBlbmQgb2YgaGVhZGVycyEgKi8KKyAgICAgICAgcmVzdWx0ID0gQ3VybF9keW5fYWRkKCZyZXEsICJcclxuIik7CiAgICAgICAgIGlmKHJlc3VsdCkKICAgICAgICAgICByZXR1cm4gcmVzdWx0OwogICAgICAgfQogICAgIH0KICAgICBlbHNlIHsKLSAgICAgIHJlc3VsdCA9IEN1cmxfYWRkX2J1ZmZlcigmcmVxX2J1ZmZlciwgIlxyXG4iLCAyKTsgLyogZW5kIG9mIGhlYWRlcnMhICovCisgICAgICAgLyogZW5kIG9mIGhlYWRlcnMhICovCisgICAgICByZXN1bHQgPSBDdXJsX2R5bl9hZGQoJnJlcSwgIlxyXG4iKTsKICAgICAgIGlmKHJlc3VsdCkKICAgICAgICAgcmV0dXJuIHJlc3VsdDsKIAogICAgICAgaWYoZGF0YS0+cmVxLnVwbG9hZF9jaHVua3kgJiYgY29ubi0+Yml0cy5hdXRobmVnKSB7CiAgICAgICAgIC8qIENodW5reSB1cGxvYWQgaXMgc2VsZWN0ZWQgYW5kIHdlJ3JlIG5lZ290aWF0aW5nIGF1dGggc3RpbGwsIHNlbmQKICAgICAgICAgICAgZW5kLW9mLWRhdGEgb25seSAqLwotICAgICAgICByZXN1bHQgPSBDdXJsX2FkZF9idWZmZXIoJnJlcV9idWZmZXIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiXHgzMFx4MGRceDBhXHgwZFx4MGEiLCA1KTsKKyAgICAgICAgcmVzdWx0ID0gQ3VybF9keW5fYWRkKCZyZXEsIChjaGFyICopIlx4MzBceDBkXHgwYVx4MGRceDBhIik7CiAgICAgICAgIC8qIDAgIENSICBMRiAgQ1IgIExGICovCiAgICAgICAgIGlmKHJlc3VsdCkKICAgICAgICAgICByZXR1cm4gcmVzdWx0OwpAQCAtMzAyNyw4ICsyOTQyLDggQEAKICAgICAgIH0KICAgICB9CiAgICAgLyogaXNzdWUgdGhlIHJlcXVlc3QgKi8KLSAgICByZXN1bHQgPSBDdXJsX2FkZF9idWZmZXJfc2VuZCgmcmVxX2J1ZmZlciwgY29ubiwgJmRhdGEtPmluZm8ucmVxdWVzdF9zaXplLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChzaXplX3QpaW5jbHVkZWRfYm9keSwgRklSU1RTT0NLRVQpOworICAgIHJlc3VsdCA9IEN1cmxfYnVmZmVyX3NlbmQoJnJlcSwgY29ubiwgJmRhdGEtPmluZm8ucmVxdWVzdF9zaXplLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKHNpemVfdClpbmNsdWRlZF9ib2R5LCBGSVJTVFNPQ0tFVCk7CiAKICAgICBpZihyZXN1bHQpCiAgICAgICBmYWlsZihkYXRhLCAiRmFpbGVkIHNlbmRpbmcgSFRUUCBQT1NUIHJlcXVlc3QiKTsKQEAgLTMwMzgsMTMgKzI5NTMsMTMgQEAKICAgICBicmVhazsKIAogICBkZWZhdWx0OgotICAgIHJlc3VsdCA9IEN1cmxfYWRkX2J1ZmZlcigmcmVxX2J1ZmZlciwgIlxyXG4iLCAyKTsKKyAgICByZXN1bHQgPSBDdXJsX2R5bl9hZGQoJnJlcSwgIlxyXG4iKTsKICAgICBpZihyZXN1bHQpCiAgICAgICByZXR1cm4gcmVzdWx0OwogCiAgICAgLyogaXNzdWUgdGhlIHJlcXVlc3QgKi8KLSAgICByZXN1bHQgPSBDdXJsX2FkZF9idWZmZXJfc2VuZCgmcmVxX2J1ZmZlciwgY29ubiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmZGF0YS0+aW5mby5yZXF1ZXN0X3NpemUsIDAsIEZJUlNUU09DS0VUKTsKKyAgICByZXN1bHQgPSBDdXJsX2J1ZmZlcl9zZW5kKCZyZXEsIGNvbm4sICZkYXRhLT5pbmZvLnJlcXVlc3Rfc2l6ZSwgMCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEZJUlNUU09DS0VUKTsKIAogICAgIGlmKHJlc3VsdCkKICAgICAgIGZhaWxmKGRhdGEsICJGYWlsZWQgc2VuZGluZyBIVFRQIHJlcXVlc3QiKTsKQEAgLTMxODksNTUgKzMxMDQsMTAgQEAKICAgcmV0dXJuIGNoZWNraHR0cHByZWZpeChkYXRhLCBzLCBsZW4pOwogfQogCi0vKgotICogaGVhZGVyX2FwcGVuZCgpIGNvcGllcyBhIGNodW5rIG9mIGRhdGEgdG8gdGhlIGVuZCBvZiB0aGUgYWxyZWFkeSByZWNlaXZlZAotICogaGVhZGVyLiBXZSBtYWtlIHN1cmUgdGhhdCB0aGUgZnVsbCBzdHJpbmcgZml0IGluIHRoZSBhbGxvY2F0ZWQgaGVhZGVyCi0gKiBidWZmZXIsIG9yIGVsc2Ugd2UgZW5sYXJnZSBpdC4KLSAqLwotc3RhdGljIENVUkxjb2RlIGhlYWRlcl9hcHBlbmQoc3RydWN0IEN1cmxfZWFzeSAqZGF0YSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cnVjdCBTaW5nbGVSZXF1ZXN0ICprLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2l6ZV90IGxlbmd0aCkKLXsKLSAgLyogbGVuZ3RoIGlzIGF0IG1vc3QgdGhlIHNpemUgb2YgYSBmdWxsIHJlYWQgYnVmZmVyLCBmb3Igd2hpY2ggdGhlIHVwcGVyCi0gICAgIGJvdW5kIGlzIENVUkxfTUFYX1JFQURfU0laRS4gVGhlcmUgaXMgdGh1cyBubyBjaGFuY2Ugb2Ygb3ZlcmZsb3cgaW4gdGhpcwotICAgICBjYWxjdWxhdGlvbi4gKi8KLSAgc2l6ZV90IG5ld3NpemUgPSBrLT5oYnVmbGVuICsgbGVuZ3RoOwotICBpZihuZXdzaXplID4gQ1VSTF9NQVhfSFRUUF9IRUFERVIpIHsKLSAgICAvKiBUaGUgcmVhc29uIHRvIGhhdmUgYSBtYXggbGltaXQgZm9yIHRoaXMgaXMgdG8gYXZvaWQgdGhlIHJpc2sgb2YgYSBiYWQKLSAgICAgICBzZXJ2ZXIgZmVlZGluZyBsaWJjdXJsIHdpdGggYSBuZXZlci1lbmRpbmcgaGVhZGVyIHRoYXQgd2lsbCBjYXVzZQotICAgICAgIHJlYWxsb2NzIGluZmluaXRlbHkgKi8KLSAgICBmYWlsZihkYXRhLCAiUmVqZWN0ZWQgJXp1IGJ5dGVzIGhlYWRlciAobWF4IGlzICVkKSEiLCBuZXdzaXplLAotICAgICAgICAgIENVUkxfTUFYX0hUVFBfSEVBREVSKTsKLSAgICByZXR1cm4gQ1VSTEVfT1VUX09GX01FTU9SWTsKLSAgfQotICBpZihuZXdzaXplID49IGRhdGEtPnN0YXRlLmhlYWRlcnNpemUpIHsKLSAgICAvKiBXZSBlbmxhcmdlIHRoZSBoZWFkZXIgYnVmZmVyIGFzIGl0IGlzIHRvbyBzbWFsbCAqLwotICAgIGNoYXIgKm5ld2J1ZmY7Ci0gICAgc2l6ZV90IGhidWZwX2luZGV4OwotCi0gICAgbmV3c2l6ZSA9IENVUkxNQVgoKGstPmhidWZsZW4gKyBsZW5ndGgpICogMyAvIDIsIGRhdGEtPnN0YXRlLmhlYWRlcnNpemUqMik7Ci0gICAgaGJ1ZnBfaW5kZXggPSBrLT5oYnVmcCAtIGRhdGEtPnN0YXRlLmhlYWRlcmJ1ZmY7Ci0gICAgbmV3YnVmZiA9IHJlYWxsb2MoZGF0YS0+c3RhdGUuaGVhZGVyYnVmZiwgbmV3c2l6ZSk7Ci0gICAgaWYoIW5ld2J1ZmYpIHsKLSAgICAgIGZhaWxmKGRhdGEsICJGYWlsZWQgdG8gYWxsb2MgbWVtb3J5IGZvciBiaWcgaGVhZGVyISIpOwotICAgICAgcmV0dXJuIENVUkxFX09VVF9PRl9NRU1PUlk7Ci0gICAgfQotICAgIGRhdGEtPnN0YXRlLmhlYWRlcnNpemUgPSBuZXdzaXplOwotICAgIGRhdGEtPnN0YXRlLmhlYWRlcmJ1ZmYgPSBuZXdidWZmOwotICAgIGstPmhidWZwID0gZGF0YS0+c3RhdGUuaGVhZGVyYnVmZiArIGhidWZwX2luZGV4OwotICB9Ci0gIG1lbWNweShrLT5oYnVmcCwgay0+c3RyX3N0YXJ0LCBsZW5ndGgpOwotICBrLT5oYnVmcCArPSBsZW5ndGg7Ci0gIGstPmhidWZsZW4gKz0gbGVuZ3RoOwotICAqay0+aGJ1ZnAgPSAwOwotCi0gIHJldHVybiBDVVJMRV9PSzsKLX0KLQogc3RhdGljIHZvaWQgcHJpbnRfaHR0cF9lcnJvcihzdHJ1Y3QgQ3VybF9lYXN5ICpkYXRhKQogewogICBzdHJ1Y3QgU2luZ2xlUmVxdWVzdCAqayA9ICZkYXRhLT5yZXE7Ci0gIGNoYXIgKmJlZyA9IGstPnA7CisgIGNoYXIgKmJlZyA9IEN1cmxfZHluX3B0cigmZGF0YS0+c3RhdGUuaGVhZGVyYik7CiAKICAgLyogbWFrZSBzdXJlIHRoYXQgZGF0YS0+cmVxLnAgcG9pbnRzIHRvIHRoZSBIVFRQIHN0YXR1cyBsaW5lICovCiAgIGlmKCFzdHJuY21wKGJlZywgIkhUVFAiLCA0KSkgewpAQCAtMzI3NSwxNCArMzE0NSwxNyBAQAogICogUmVhZCBhbnkgSFRUUCBoZWFkZXIgbGluZXMgZnJvbSB0aGUgc2VydmVyIGFuZCBwYXNzIHRoZW0gdG8gdGhlIGNsaWVudCBhcHAuCiAgKi8KIENVUkxjb2RlIEN1cmxfaHR0cF9yZWFkd3JpdGVfaGVhZGVycyhzdHJ1Y3QgQ3VybF9lYXN5ICpkYXRhLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RydWN0IGNvbm5lY3RkYXRhICpjb25uLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3NpemVfdCAqbnJlYWQsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBib29sICpzdG9wX3JlYWRpbmcpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RydWN0IGNvbm5lY3RkYXRhICpjb25uLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNzaXplX3QgKm5yZWFkLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJvb2wgKnN0b3BfcmVhZGluZykKIHsKICAgQ1VSTGNvZGUgcmVzdWx0OwogICBzdHJ1Y3QgU2luZ2xlUmVxdWVzdCAqayA9ICZkYXRhLT5yZXE7CiAgIHNzaXplX3Qgb25yZWFkID0gKm5yZWFkOwogICBjaGFyICpvc3RyID0gay0+c3RyOworICBjaGFyICpoZWFkcDsKKyAgY2hhciAqc3RyX3N0YXJ0OworICBjaGFyICplbmRfcHRyOwogCiAgIC8qIGhlYWRlciBsaW5lIHdpdGhpbiBidWZmZXIgbG9vcCAqLwogICBkbyB7CkBAIC0zMjkxLDIyICszMTY0LDI1IEBACiAgICAgaW50IHdyaXRldHlwZTsKIAogICAgIC8qIHN0cl9zdGFydCBpcyBzdGFydCBvZiBsaW5lIHdpdGhpbiBidWYgKi8KLSAgICBrLT5zdHJfc3RhcnQgPSBrLT5zdHI7CisgICAgc3RyX3N0YXJ0ID0gay0+c3RyOwogCiAgICAgLyogZGF0YSBpcyBpbiBuZXR3b3JrIGVuY29kaW5nIHNvIHVzZSAweDBhIGluc3RlYWQgb2YgJ1xuJyAqLwotICAgIGstPmVuZF9wdHIgPSBtZW1jaHIoay0+c3RyX3N0YXJ0LCAweDBhLCAqbnJlYWQpOworICAgIGVuZF9wdHIgPSBtZW1jaHIoc3RyX3N0YXJ0LCAweDBhLCAqbnJlYWQpOwogCi0gICAgaWYoIWstPmVuZF9wdHIpIHsKKyAgICBpZighZW5kX3B0cikgewogICAgICAgLyogTm90IGEgY29tcGxldGUgaGVhZGVyIGxpbmUgd2l0aGluIGJ1ZmZlciwgYXBwZW5kIHRoZSBkYXRhIHRvCiAgICAgICAgICB0aGUgZW5kIG9mIHRoZSBoZWFkZXJidWZmLiAqLwotICAgICAgcmVzdWx0ID0gaGVhZGVyX2FwcGVuZChkYXRhLCBrLCAqbnJlYWQpOworICAgICAgcmVzdWx0ID0gQ3VybF9keW5fYWRkbigmZGF0YS0+c3RhdGUuaGVhZGVyYiwgc3RyX3N0YXJ0LCAqbnJlYWQpOwogICAgICAgaWYocmVzdWx0KQogICAgICAgICByZXR1cm4gcmVzdWx0OwogCiAgICAgICBpZighay0+aGVhZGVybGluZSkgewogICAgICAgICAvKiBjaGVjayBpZiB0aGlzIGxvb2tzIGxpa2UgYSBwcm90b2NvbCBoZWFkZXIgKi8KLSAgICAgICAgc3RhdHVzbGluZSBzdCA9IGNoZWNrcHJvdG9wcmVmaXgoZGF0YSwgY29ubiwgZGF0YS0+c3RhdGUuaGVhZGVyYnVmZiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgay0+aGJ1Zmxlbik7CisgICAgICAgIHN0YXR1c2xpbmUgc3QgPQorICAgICAgICAgIGNoZWNrcHJvdG9wcmVmaXgoZGF0YSwgY29ubiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgIEN1cmxfZHluX3B0cigmZGF0YS0+c3RhdGUuaGVhZGVyYiksCisgICAgICAgICAgICAgICAgICAgICAgICAgICBDdXJsX2R5bl9sZW4oJmRhdGEtPnN0YXRlLmhlYWRlcmIpKTsKKwogICAgICAgICBpZihzdCA9PSBTVEFUVVNfQkFEKSB7CiAgICAgICAgICAgLyogdGhpcyBpcyBub3QgdGhlIGJlZ2lubmluZyBvZiBhIHByb3RvY29sIGZpcnN0IGhlYWRlciBsaW5lICovCiAgICAgICAgICAgay0+aGVhZGVyID0gRkFMU0U7CkBAIC0zMzI0LDI4ICszMjAwLDI2IEBACiAgICAgfQogCiAgICAgLyogZGVjcmVhc2UgdGhlIHNpemUgb2YgdGhlIHJlbWFpbmluZyAoc3VwcG9zZWQpIGhlYWRlciBsaW5lICovCi0gICAgcmVzdF9sZW5ndGggPSAoay0+ZW5kX3B0ciAtIGstPnN0cikgKyAxOworICAgIHJlc3RfbGVuZ3RoID0gKGVuZF9wdHIgLSBrLT5zdHIpICsgMTsKICAgICAqbnJlYWQgLT0gKHNzaXplX3QpcmVzdF9sZW5ndGg7CiAKLSAgICBrLT5zdHIgPSBrLT5lbmRfcHRyICsgMTsgLyogbW92ZSBwYXN0IG5ldyBsaW5lICovCisgICAgay0+c3RyID0gZW5kX3B0ciArIDE7IC8qIG1vdmUgcGFzdCBuZXcgbGluZSAqLwogCi0gICAgZnVsbF9sZW5ndGggPSBrLT5zdHIgLSBrLT5zdHJfc3RhcnQ7CisgICAgZnVsbF9sZW5ndGggPSBrLT5zdHIgLSBzdHJfc3RhcnQ7CiAKLSAgICByZXN1bHQgPSBoZWFkZXJfYXBwZW5kKGRhdGEsIGssIGZ1bGxfbGVuZ3RoKTsKKyAgICByZXN1bHQgPSBDdXJsX2R5bl9hZGRuKCZkYXRhLT5zdGF0ZS5oZWFkZXJiLCBzdHJfc3RhcnQsIGZ1bGxfbGVuZ3RoKTsKICAgICBpZihyZXN1bHQpCiAgICAgICByZXR1cm4gcmVzdWx0OwogCi0gICAgay0+ZW5kX3B0ciA9IGstPmhidWZwOwotICAgIGstPnAgPSBkYXRhLT5zdGF0ZS5oZWFkZXJidWZmOwotCiAgICAgLyoqKioKLSAgICAgKiBXZSBub3cgaGF2ZSBhIEZVTEwgaGVhZGVyIGxpbmUgdGhhdCBwIHBvaW50cyB0bworICAgICAqIFdlIG5vdyBoYXZlIGEgRlVMTCBoZWFkZXIgbGluZSBpbiAnaGVhZGVyYicuCiAgICAgICoqKioqLwogCiAgICAgaWYoIWstPmhlYWRlcmxpbmUpIHsKICAgICAgIC8qIHRoZSBmaXJzdCByZWFkIGhlYWRlciAqLwotICAgICAgc3RhdHVzbGluZSBzdCA9IGNoZWNrcHJvdG9wcmVmaXgoZGF0YSwgY29ubiwgZGF0YS0+c3RhdGUuaGVhZGVyYnVmZiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGstPmhidWZsZW4pOworICAgICAgc3RhdHVzbGluZSBzdCA9IGNoZWNrcHJvdG9wcmVmaXgoZGF0YSwgY29ubiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEN1cmxfZHluX3B0cigmZGF0YS0+c3RhdGUuaGVhZGVyYiksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBDdXJsX2R5bl9sZW4oJmRhdGEtPnN0YXRlLmhlYWRlcmIpKTsKICAgICAgIGlmKHN0ID09IFNUQVRVU19CQUQpIHsKICAgICAgICAgc3RyZWFtY2xvc2UoY29ubiwgImJhZCBIVFRQOiBObyBlbmQtb2YtbWVzc2FnZSBpbmRpY2F0b3IiKTsKICAgICAgICAgLyogdGhpcyBpcyBub3QgdGhlIGJlZ2lubmluZyBvZiBhIHByb3RvY29sIGZpcnN0IGhlYWRlciBsaW5lICovCkBAIC0zMzY4LDI2ICszMjQyLDI3IEBACiAgICAgICB9CiAgICAgfQogCi0gICAgLyogaGVhZGVycyBhcmUgaW4gbmV0d29yayBlbmNvZGluZyBzbwotICAgICAgIHVzZSAweDBhIGFuZCAweDBkIGluc3RlYWQgb2YgJ1xuJyBhbmQgJ1xyJyAqLwotICAgIGlmKCgweDBhID09ICprLT5wKSB8fCAoMHgwZCA9PSAqay0+cCkpIHsKKyAgICAvKiBoZWFkZXJzIGFyZSBpbiBuZXR3b3JrIGVuY29kaW5nIHNvIHVzZSAweDBhIGFuZCAweDBkIGluc3RlYWQgb2YgJ1xuJworICAgICAgIGFuZCAnXHInICovCisgICAgaGVhZHAgPSBDdXJsX2R5bl9wdHIoJmRhdGEtPnN0YXRlLmhlYWRlcmIpOworICAgIGlmKCgweDBhID09ICpoZWFkcCkgfHwgKDB4MGQgPT0gKmhlYWRwKSkgewogICAgICAgc2l6ZV90IGhlYWRlcmxlbjsKICAgICAgIC8qIFplcm8tbGVuZ3RoIGhlYWRlciBsaW5lIG1lYW5zIGVuZCBvZiBoZWFkZXJzISAqLwogCiAjaWZkZWYgQ1VSTF9ET0VTX0NPTlZFUlNJT05TCi0gICAgICBpZigweDBkID09ICprLT5wKSB7Ci0gICAgICAgICprLT5wID0gJ1xyJzsgLyogcmVwbGFjZSB3aXRoIENSIGluIGhvc3QgZW5jb2RpbmcgKi8KLSAgICAgICAgay0+cCsrOyAgICAgICAvKiBwYXNzIHRoZSBDUiBieXRlICovCisgICAgICBpZigweDBkID09ICpoZWFkcCkgeworICAgICAgICAqaGVhZHAgPSAnXHInOyAvKiByZXBsYWNlIHdpdGggQ1IgaW4gaG9zdCBlbmNvZGluZyAqLworICAgICAgICBoZWFkcCsrOyAgICAgICAvKiBwYXNzIHRoZSBDUiBieXRlICovCiAgICAgICB9Ci0gICAgICBpZigweDBhID09ICprLT5wKSB7Ci0gICAgICAgICprLT5wID0gJ1xuJzsgLyogcmVwbGFjZSB3aXRoIExGIGluIGhvc3QgZW5jb2RpbmcgKi8KLSAgICAgICAgay0+cCsrOyAgICAgICAvKiBwYXNzIHRoZSBMRiBieXRlICovCisgICAgICBpZigweDBhID09ICpoZWFkcCkgeworICAgICAgICAqaGVhZHAgPSAnXG4nOyAvKiByZXBsYWNlIHdpdGggTEYgaW4gaG9zdCBlbmNvZGluZyAqLworICAgICAgICBoZWFkcCsrOyAgICAgICAvKiBwYXNzIHRoZSBMRiBieXRlICovCiAgICAgICB9CiAjZWxzZQotICAgICAgaWYoJ1xyJyA9PSAqay0+cCkKLSAgICAgICAgay0+cCsrOyAvKiBwYXNzIHRoZSBcciBieXRlICovCi0gICAgICBpZignXG4nID09ICprLT5wKQotICAgICAgICBrLT5wKys7IC8qIHBhc3MgdGhlIFxuIGJ5dGUgKi8KKyAgICAgIGlmKCdccicgPT0gKmhlYWRwKQorICAgICAgICBoZWFkcCsrOyAvKiBwYXNzIHRoZSBcciBieXRlICovCisgICAgICBpZignXG4nID09ICpoZWFkcCkKKyAgICAgICAgaGVhZHArKzsgLyogcGFzcyB0aGUgXG4gYnl0ZSAqLwogI2VuZGlmIC8qIENVUkxfRE9FU19DT05WRVJTSU9OUyAqLwogCiAgICAgICBpZigxMDAgPD0gay0+aHR0cGNvZGUgJiYgMTk5ID49IGstPmh0dHBjb2RlKSB7CkBAIC0zNDQ4LDcgKzMzMjMsNyBAQAogICAgICAgICBpZigoay0+c2l6ZSA9PSAtMSkgJiYgIWstPmNodW5rICYmICFjb25uLT5iaXRzLmNsb3NlICYmCiAgICAgICAgICAgIChjb25uLT5odHRwdmVyc2lvbiA9PSAxMSkgJiYKICAgICAgICAgICAgIShjb25uLT5oYW5kbGVyLT5wcm90b2NvbCAmIENVUkxQUk9UT19SVFNQKSAmJgotICAgICAgICAgICBkYXRhLT5zZXQuaHR0cHJlcSAhPSBIVFRQUkVRX0hFQUQpIHsKKyAgICAgICAgICAgZGF0YS0+c3RhdGUuaHR0cHJlcSAhPSBIVFRQUkVRX0hFQUQpIHsKICAgICAgICAgICAvKiBPbiBIVFRQIDEuMSwgd2hlbiBjb25uZWN0aW9uIGlzIG5vdCB0byBnZXQgY2xvc2VkLCBidXQgbm8KICAgICAgICAgICAgICBDb250ZW50LUxlbmd0aCBub3IgVHJhbnNmZXItRW5jb2RpbmcgY2h1bmtlZCBoYXZlIGJlZW4KICAgICAgICAgICAgICByZWNlaXZlZCwgYWNjb3JkaW5nIHRvIFJGQzI2MTYgc2VjdGlvbiA0LjQgcG9pbnQgNSwgd2UKQEAgLTM1MDYsMTAgKzMzODEsOSBAQAogICAgICAgaWYoZGF0YS0+c2V0LmluY2x1ZGVfaGVhZGVyKQogICAgICAgICB3cml0ZXR5cGUgfD0gQ0xJRU5UV1JJVEVfQk9EWTsKIAotICAgICAgaGVhZGVybGVuID0gay0+cCAtIGRhdGEtPnN0YXRlLmhlYWRlcmJ1ZmY7Ci0KKyAgICAgIGhlYWRlcmxlbiA9IEN1cmxfZHluX2xlbigmZGF0YS0+c3RhdGUuaGVhZGVyYik7CiAgICAgICByZXN1bHQgPSBDdXJsX2NsaWVudF93cml0ZShjb25uLCB3cml0ZXR5cGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLT5zdGF0ZS5oZWFkZXJidWZmLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQ3VybF9keW5fcHRyKCZkYXRhLT5zdGF0ZS5oZWFkZXJiKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhlYWRlcmxlbik7CiAgICAgICBpZihyZXN1bHQpCiAgICAgICAgIHJldHVybiByZXN1bHQ7CkBAIC0zNTQ0LDcgKzM0MTgsNyBAQAogICAgICAgICAgICAqIGNvbnRpbnVlIHNlbmRpbmcgZXZlbiBpZiBpdCBnZXRzIGRpc2NhcmRlZAogICAgICAgICAgICAqLwogCi0gICAgICAgICAgc3dpdGNoKGRhdGEtPnNldC5odHRwcmVxKSB7CisgICAgICAgICAgc3dpdGNoKGRhdGEtPnN0YXRlLmh0dHByZXEpIHsKICAgICAgICAgICBjYXNlIEhUVFBSRVFfUFVUOgogICAgICAgICAgIGNhc2UgSFRUUFJFUV9QT1NUOgogICAgICAgICAgIGNhc2UgSFRUUFJFUV9QT1NUX0ZPUk06CkBAIC0zNjYyLDE0ICszNTM2LDEyIEBACiAKICAgICAgICAgaWYoZGF0YS0+c2V0LnZlcmJvc2UpCiAgICAgICAgICAgQ3VybF9kZWJ1ZyhkYXRhLCBDVVJMSU5GT19IRUFERVJfSU4sCi0gICAgICAgICAgICAgICAgICAgICBrLT5zdHJfc3RhcnQsIGhlYWRlcmxlbik7CisgICAgICAgICAgICAgICAgICAgICBzdHJfc3RhcnQsIGhlYWRlcmxlbik7CiAgICAgICAgIGJyZWFrOyAgICAgICAgICAvKiBleGl0IGhlYWRlciBsaW5lIGxvb3AgKi8KICAgICAgIH0KIAotICAgICAgLyogV2UgY29udGludWUgcmVhZGluZyBoZWFkZXJzLCBzbyByZXNldCB0aGUgbGluZS1iYXNlZAotICAgICAgICAgaGVhZGVyIHBhcnNpbmcgdmFyaWFibGVzIGhidWZwICYmIGhidWZsZW4gKi8KLSAgICAgIGstPmhidWZwID0gZGF0YS0+c3RhdGUuaGVhZGVyYnVmZjsKLSAgICAgIGstPmhidWZsZW4gPSAwOworICAgICAgLyogV2UgY29udGludWUgcmVhZGluZyBoZWFkZXJzLCByZXNldCB0aGUgbGluZS1iYXNlZCBoZWFkZXIgKi8KKyAgICAgIEN1cmxfZHluX3Jlc2V0KCZkYXRhLT5zdGF0ZS5oZWFkZXJiKTsKICAgICAgIGNvbnRpbnVlOwogICAgIH0KIApAQCAtMzY4OCwxMiArMzU2MCwxMSBAQAogI2RlZmluZSBTQ1JBVENIU0laRSAyMQogICAgICAgQ1VSTGNvZGUgcmVzOwogICAgICAgY2hhciBzY3JhdGNoW1NDUkFUQ0hTSVpFICsgMV07IC8qICJIVFRQL21ham9yLm1pbm9yIDEyMyIgKi8KLSAgICAgIC8qIFdlIGNhbid0IHJlYWxseSBjb252ZXJ0IHRoaXMgeWV0IGJlY2F1c2Ugd2UKLSAgICAgICAgIGRvbid0IGtub3cgaWYgaXQncyB0aGUgMXN0IGhlYWRlciBsaW5lIG9yIHRoZSBib2R5LgotICAgICAgICAgU28gd2UgZG8gYSBwYXJ0aWFsIGNvbnZlcnNpb24gaW50byBhIHNjcmF0Y2ggYXJlYSwKLSAgICAgICAgIGxlYXZpbmcgdGhlIGRhdGEgYXQgay0+cCBhcy1pcy4KKyAgICAgIC8qIFdlIGNhbid0IHJlYWxseSBjb252ZXJ0IHRoaXMgeWV0IGJlY2F1c2Ugd2UgZG9uJ3Qga25vdyBpZiBpdCdzIHRoZQorICAgICAgICAgMXN0IGhlYWRlciBsaW5lIG9yIHRoZSBib2R5LiAgU28gd2UgZG8gYSBwYXJ0aWFsIGNvbnZlcnNpb24gaW50byBhCisgICAgICAgICBzY3JhdGNoIGFyZWEsIGxlYXZpbmcgdGhlIGRhdGEgYXQgJ2hlYWRwJyBhcy1pcy4KICAgICAgICovCi0gICAgICBzdHJuY3B5KCZzY3JhdGNoWzBdLCBrLT5wLCBTQ1JBVENIU0laRSk7CisgICAgICBzdHJuY3B5KCZzY3JhdGNoWzBdLCBoZWFkcCwgU0NSQVRDSFNJWkUpOwogICAgICAgc2NyYXRjaFtTQ1JBVENIU0laRV0gPSAwOyAvKiBudWxsIHRlcm1pbmF0ZSAqLwogICAgICAgcmVzID0gQ3VybF9jb252ZXJ0X2Zyb21fbmV0d29yayhkYXRhLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmc2NyYXRjaFswXSwKQEAgLTM3MDIsNyArMzU3Myw3IEBACiAgICAgICAgIC8qIEN1cmxfY29udmVydF9mcm9tX25ldHdvcmsgY2FsbHMgZmFpbGYgaWYgdW5zdWNjZXNzZnVsICovCiAgICAgICAgIHJldHVybiByZXM7CiAjZWxzZQotI2RlZmluZSBIRUFERVIxIGstPnAgLyogbm8gY29udmVyc2lvbiBuZWVkZWQsIGp1c3QgdXNlIGstPnAgKi8KKyNkZWZpbmUgSEVBREVSMSBoZWFkcCAvKiBubyBjb252ZXJzaW9uIG5lZWRlZCwganVzdCB1c2UgaGVhZHAgKi8KICNlbmRpZiAvKiBDVVJMX0RPRVNfQ09OVkVSU0lPTlMgKi8KIAogICAgICAgaWYoY29ubi0+aGFuZGxlci0+cHJvdG9jb2wgJiBQUk9UT19GQU1JTFlfSFRUUCkgewpAQCAtMzc1Myw3ICszNjI0LDExIEBACiAgICAgICAgICAgICAgY29tcGFyZSBoZWFkZXIgbGluZSBhZ2FpbnN0IGxpc3Qgb2YgYWxpYXNlcwogICAgICAgICAgICovCiAgICAgICAgICAgaWYoIW5jKSB7Ci0gICAgICAgICAgICBpZihjaGVja2h0dHBwcmVmaXgoZGF0YSwgay0+cCwgay0+aGJ1ZmxlbikgPT0gU1RBVFVTX0RPTkUpIHsKKyAgICAgICAgICAgIHN0YXR1c2xpbmUgY2hlY2sgPQorICAgICAgICAgICAgICBjaGVja2h0dHBwcmVmaXgoZGF0YSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEN1cmxfZHluX3B0cigmZGF0YS0+c3RhdGUuaGVhZGVyYiksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBDdXJsX2R5bl9sZW4oJmRhdGEtPnN0YXRlLmhlYWRlcmIpKTsKKyAgICAgICAgICAgIGlmKGNoZWNrID09IFNUQVRVU19ET05FKSB7CiAgICAgICAgICAgICAgIG5jID0gMTsKICAgICAgICAgICAgICAgay0+aHR0cGNvZGUgPSAyMDA7CiAgICAgICAgICAgICAgIGNvbm4tPmh0dHB2ZXJzaW9uID0gMTA7CkBAIC0zNzk5LDE1ICszNjc0LDE4IEBACiAgICAgICAgICAqIGRlcGVuZGluZyBvbiBob3cgYXV0aGVudGljYXRpb24gaXMgd29ya2luZy4gIE90aGVyIGNvZGVzCiAgICAgICAgICAqIGFyZSBkZWZpbml0ZWx5IGVycm9ycywgc28gZ2l2ZSB1cCBoZXJlLgogICAgICAgICAgKi8KLSAgICAgICAgaWYoZGF0YS0+c3RhdGUucmVzdW1lX2Zyb20gJiYgZGF0YS0+c2V0Lmh0dHByZXEgPT0gSFRUUFJFUV9HRVQgJiYKKyAgICAgICAgaWYoZGF0YS0+c3RhdGUucmVzdW1lX2Zyb20gJiYgZGF0YS0+c3RhdGUuaHR0cHJlcSA9PSBIVFRQUkVRX0dFVCAmJgogICAgICAgICAgICAgIGstPmh0dHBjb2RlID09IDQxNikgewogICAgICAgICAgIC8qICJSZXF1ZXN0ZWQgUmFuZ2UgTm90IFNhdGlzZmlhYmxlIiwganVzdCBwcm9jZWVkIGFuZAogICAgICAgICAgICAgIHByZXRlbmQgdGhpcyBpcyBubyBlcnJvciAqLwogICAgICAgICAgIGstPmlnbm9yZWJvZHkgPSBUUlVFOyAvKiBBdm9pZCBhcHBlbmRpbmcgZXJyb3IgbXNnIHRvIGdvb2QgZGF0YS4gKi8KICAgICAgICAgfQogICAgICAgICBlbHNlIGlmKGRhdGEtPnNldC5odHRwX2ZhaWxfb25fZXJyb3IgJiYgKGstPmh0dHBjb2RlID49IDQwMCkgJiYKLSAgICAgICAgICAgKChrLT5odHRwY29kZSAhPSA0MDEpIHx8ICFjb25uLT5iaXRzLnVzZXJfcGFzc3dkKSAmJgotICAgICAgICAgICAoKGstPmh0dHBjb2RlICE9IDQwNykgfHwgIWNvbm4tPmJpdHMucHJveHlfdXNlcl9wYXNzd2QpICkgeworICAgICAgICAgICAgICAgICgoay0+aHR0cGNvZGUgIT0gNDAxKSB8fCAhY29ubi0+Yml0cy51c2VyX3Bhc3N3ZCkKKyNpZm5kZWYgQ1VSTF9ESVNBQkxFX1BST1hZCisgICAgICAgICAgICAgICAgJiYgKChrLT5odHRwY29kZSAhPSA0MDcpIHx8ICFjb25uLT5iaXRzLnByb3h5X3VzZXJfcGFzc3dkKQorI2VuZGlmCisgICAgICAgICAgKSB7CiAgICAgICAgICAgLyogc2VyaW91cyBlcnJvciwgZ28gaG9tZSEgKi8KICAgICAgICAgICBwcmludF9odHRwX2Vycm9yKGRhdGEpOwogICAgICAgICAgIHJldHVybiBDVVJMRV9IVFRQX1JFVFVSTkVEX0VSUk9SOwpAQCAtMzgyMyw5ICszNzAxLDggQEAKICAgICAgICAgZWxzZSBpZihjb25uLT5odHRwdmVyc2lvbiA9PSAyMCB8fAogICAgICAgICAgICAgICAgIChrLT51cGdyMTAxID09IFVQR1IxMDFfUkVRVUVTVEVEICYmIGstPmh0dHBjb2RlID09IDEwMSkpIHsKICAgICAgICAgICBERUJVR0YoaW5mb2YoZGF0YSwgIkhUVFAvMiBmb3VuZCwgYWxsb3cgbXVsdGlwbGV4aW5nXG4iKSk7Ci0KLSAgICAgICAgICAvKiBIVFRQLzIgY2Fubm90IGJsYWNrbGlzdCBtdWx0aXBsZXhpbmcgc2luY2UgaXQgaXMgYSBjb3JlCi0gICAgICAgICAgICAgZnVuY3Rpb25hbGl0eSBvZiB0aGUgcHJvdG9jb2wgKi8KKyAgICAgICAgICAvKiBIVFRQLzIgY2Fubm90IGF2b2lkIG11bHRpcGxleGluZyBzaW5jZSBpdCBpcyBhIGNvcmUgZnVuY3Rpb25hbGl0eQorICAgICAgICAgICAgIG9mIHRoZSBwcm90b2NvbCAqLwogICAgICAgICAgIGNvbm4tPmJ1bmRsZS0+bXVsdGl1c2UgPSBCVU5ETEVfTVVMVElQTEVYOwogICAgICAgICB9CiAgICAgICAgIGVsc2UgaWYoY29ubi0+aHR0cHZlcnNpb24gPj0gMTEgJiYKQEAgLTM4NjUsMTYgKzM3NDIsMTYgQEAKICAgICAgIH0KICAgICB9CiAKLSAgICByZXN1bHQgPSBDdXJsX2NvbnZlcnRfZnJvbV9uZXR3b3JrKGRhdGEsIGstPnAsIHN0cmxlbihrLT5wKSk7CisgICAgcmVzdWx0ID0gQ3VybF9jb252ZXJ0X2Zyb21fbmV0d29yayhkYXRhLCBoZWFkcCwgc3RybGVuKGhlYWRwKSk7CiAgICAgLyogQ3VybF9jb252ZXJ0X2Zyb21fbmV0d29yayBjYWxscyBmYWlsZiBpZiB1bnN1Y2Nlc3NmdWwgKi8KICAgICBpZihyZXN1bHQpCiAgICAgICByZXR1cm4gcmVzdWx0OwogCiAgICAgLyogQ2hlY2sgZm9yIENvbnRlbnQtTGVuZ3RoOiBoZWFkZXIgbGluZXMgdG8gZ2V0IHNpemUgKi8KICAgICBpZighay0+aHR0cF9ib2R5bGVzcyAmJgotICAgICAgICFkYXRhLT5zZXQuaWdub3JlY2wgJiYgY2hlY2twcmVmaXgoIkNvbnRlbnQtTGVuZ3RoOiIsIGstPnApKSB7CisgICAgICAgIWRhdGEtPnNldC5pZ25vcmVjbCAmJiBjaGVja3ByZWZpeCgiQ29udGVudC1MZW5ndGg6IiwgaGVhZHApKSB7CiAgICAgICBjdXJsX29mZl90IGNvbnRlbnRsZW5ndGg7Ci0gICAgICBDVVJMb2ZmdCBvZmZ0ID0gY3VybHhfc3RydG9vZmZ0KGstPnAgKyAxNSwgTlVMTCwgMTAsICZjb250ZW50bGVuZ3RoKTsKKyAgICAgIENVUkxvZmZ0IG9mZnQgPSBjdXJseF9zdHJ0b29mZnQoaGVhZHAgKyAxNSwgTlVMTCwgMTAsICZjb250ZW50bGVuZ3RoKTsKIAogICAgICAgaWYob2ZmdCA9PSBDVVJMX09GRlRfT0spIHsKICAgICAgICAgaWYoZGF0YS0+c2V0Lm1heF9maWxlc2l6ZSAmJgpAQCAtMzkwNSw4ICszNzgyLDggQEAKICAgICAgIH0KICAgICB9CiAgICAgLyogY2hlY2sgZm9yIENvbnRlbnQtVHlwZTogaGVhZGVyIGxpbmVzIHRvIGdldCB0aGUgTUlNRS10eXBlICovCi0gICAgZWxzZSBpZihjaGVja3ByZWZpeCgiQ29udGVudC1UeXBlOiIsIGstPnApKSB7Ci0gICAgICBjaGFyICpjb250ZW50dHlwZSA9IEN1cmxfY29weV9oZWFkZXJfdmFsdWUoay0+cCk7CisgICAgZWxzZSBpZihjaGVja3ByZWZpeCgiQ29udGVudC1UeXBlOiIsIGhlYWRwKSkgeworICAgICAgY2hhciAqY29udGVudHR5cGUgPSBDdXJsX2NvcHlfaGVhZGVyX3ZhbHVlKGhlYWRwKTsKICAgICAgIGlmKCFjb250ZW50dHlwZSkKICAgICAgICAgcmV0dXJuIENVUkxFX09VVF9PRl9NRU1PUlk7CiAgICAgICBpZighKmNvbnRlbnR0eXBlKQpAQCAtMzkxNywxMCArMzc5NCwxMCBAQAogICAgICAgICBkYXRhLT5pbmZvLmNvbnRlbnR0eXBlID0gY29udGVudHR5cGU7CiAgICAgICB9CiAgICAgfQorI2lmbmRlZiBDVVJMX0RJU0FCTEVfUFJPWFkKICAgICBlbHNlIGlmKChjb25uLT5odHRwdmVyc2lvbiA9PSAxMCkgJiYKICAgICAgICAgICAgIGNvbm4tPmJpdHMuaHR0cHByb3h5ICYmCi0gICAgICAgICAgICBDdXJsX2NvbXBhcmVoZWFkZXIoay0+cCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiUHJveHktQ29ubmVjdGlvbjoiLCAia2VlcC1hbGl2ZSIpKSB7CisgICAgICAgICAgICBDdXJsX2NvbXBhcmVoZWFkZXIoaGVhZHAsICJQcm94eS1Db25uZWN0aW9uOiIsICJrZWVwLWFsaXZlIikpIHsKICAgICAgIC8qCiAgICAgICAgKiBXaGVuIGEgSFRUUC8xLjAgcmVwbHkgY29tZXMgd2hlbiB1c2luZyBhIHByb3h5LCB0aGUKICAgICAgICAqICdQcm94eS1Db25uZWN0aW9uOiBrZWVwLWFsaXZlJyBsaW5lIHRlbGxzIHVzIHRoZQpAQCAtMzkzMiw4ICszODA5LDcgQEAKICAgICB9CiAgICAgZWxzZSBpZigoY29ubi0+aHR0cHZlcnNpb24gPT0gMTEpICYmCiAgICAgICAgICAgICBjb25uLT5iaXRzLmh0dHBwcm94eSAmJgotICAgICAgICAgICAgQ3VybF9jb21wYXJlaGVhZGVyKGstPnAsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIlByb3h5LUNvbm5lY3Rpb246IiwgImNsb3NlIikpIHsKKyAgICAgICAgICAgIEN1cmxfY29tcGFyZWhlYWRlcihoZWFkcCwgIlByb3h5LUNvbm5lY3Rpb246IiwgImNsb3NlIikpIHsKICAgICAgIC8qCiAgICAgICAgKiBXZSBnZXQgYSBIVFRQLzEuMSByZXNwb25zZSBmcm9tIGEgcHJveHkgYW5kIGl0IHNheXMgaXQnbGwKICAgICAgICAqIGNsb3NlIGRvd24gYWZ0ZXIgdGhpcyB0cmFuc2Zlci4KQEAgLTM5NDEsOCArMzgxNyw5IEBACiAgICAgICBjb25uY2xvc2UoY29ubiwgIlByb3h5LUNvbm5lY3Rpb246IGFza2VkIHRvIGNsb3NlIGFmdGVyIGRvbmUiKTsKICAgICAgIGluZm9mKGRhdGEsICJIVFRQLzEuMSBwcm94eSBjb25uZWN0aW9uIHNldCBjbG9zZSFcbiIpOwogICAgIH0KKyNlbmRpZgogICAgIGVsc2UgaWYoKGNvbm4tPmh0dHB2ZXJzaW9uID09IDEwKSAmJgotICAgICAgICAgICAgQ3VybF9jb21wYXJlaGVhZGVyKGstPnAsICJDb25uZWN0aW9uOiIsICJrZWVwLWFsaXZlIikpIHsKKyAgICAgICAgICAgIEN1cmxfY29tcGFyZWhlYWRlcihoZWFkcCwgIkNvbm5lY3Rpb246IiwgImtlZXAtYWxpdmUiKSkgewogICAgICAgLyoKICAgICAgICAqIEEgSFRUUC8xLjAgcmVwbHkgd2l0aCB0aGUgJ0Nvbm5lY3Rpb246IGtlZXAtYWxpdmUnIGxpbmUKICAgICAgICAqIHRlbGxzIHVzIHRoZSBjb25uZWN0aW9uIHdpbGwgYmUga2VwdCBhbGl2ZSBmb3Igb3VyCkBAIC0zOTUyLDcgKzM4MjksNyBAQAogICAgICAgY29ubmtlZXAoY29ubiwgIkNvbm5lY3Rpb24ga2VlcC1hbGl2ZSIpOwogICAgICAgaW5mb2YoZGF0YSwgIkhUVFAvMS4wIGNvbm5lY3Rpb24gc2V0IHRvIGtlZXAgYWxpdmUhXG4iKTsKICAgICB9Ci0gICAgZWxzZSBpZihDdXJsX2NvbXBhcmVoZWFkZXIoay0+cCwgIkNvbm5lY3Rpb246IiwgImNsb3NlIikpIHsKKyAgICBlbHNlIGlmKEN1cmxfY29tcGFyZWhlYWRlcihoZWFkcCwgIkNvbm5lY3Rpb246IiwgImNsb3NlIikpIHsKICAgICAgIC8qCiAgICAgICAgKiBbUkZDIDI2MTYsIHNlY3Rpb24gOC4xLjIuMV0KICAgICAgICAqICJDb25uZWN0aW9uOiBjbG9zZSIgaXMgSFRUUC8xLjEgbGFuZ3VhZ2UgYW5kIG1lYW5zIHRoYXQKQEAgLTM5NjEsNyArMzgzOCw3IEBACiAgICAgICAgKi8KICAgICAgIHN0cmVhbWNsb3NlKGNvbm4sICJDb25uZWN0aW9uOiBjbG9zZSB1c2VkIik7CiAgICAgfQotICAgIGVsc2UgaWYoIWstPmh0dHBfYm9keWxlc3MgJiYgY2hlY2twcmVmaXgoIlRyYW5zZmVyLUVuY29kaW5nOiIsIGstPnApKSB7CisgICAgZWxzZSBpZighay0+aHR0cF9ib2R5bGVzcyAmJiBjaGVja3ByZWZpeCgiVHJhbnNmZXItRW5jb2Rpbmc6IiwgaGVhZHApKSB7CiAgICAgICAvKiBPbmUgb3IgbW9yZSBlbmNvZGluZ3MuIFdlIGNoZWNrIGZvciBjaHVua2VkIGFuZC9vciBhIGNvbXByZXNzaW9uCiAgICAgICAgICBhbGdvcml0aG0uICovCiAgICAgICAvKgpAQCAtMzk3MywxMSArMzg1MCwxMSBAQAogICAgICAgICogb2YgY2h1bmtzLCBhbmQgYSBjaHVuay1kYXRhIHNldCB0byB6ZXJvIHNpZ25hbHMgdGhlCiAgICAgICAgKiBlbmQtb2YtY2h1bmtzLiAqLwogCi0gICAgICByZXN1bHQgPSBDdXJsX2J1aWxkX3VuZW5jb2Rpbmdfc3RhY2soY29ubiwgay0+cCArIDE4LCBUUlVFKTsKKyAgICAgIHJlc3VsdCA9IEN1cmxfYnVpbGRfdW5lbmNvZGluZ19zdGFjayhjb25uLCBoZWFkcCArIDE4LCBUUlVFKTsKICAgICAgIGlmKHJlc3VsdCkKICAgICAgICAgcmV0dXJuIHJlc3VsdDsKICAgICB9Ci0gICAgZWxzZSBpZighay0+aHR0cF9ib2R5bGVzcyAmJiBjaGVja3ByZWZpeCgiQ29udGVudC1FbmNvZGluZzoiLCBrLT5wKSAmJgorICAgIGVsc2UgaWYoIWstPmh0dHBfYm9keWxlc3MgJiYgY2hlY2twcmVmaXgoIkNvbnRlbnQtRW5jb2Rpbmc6IiwgaGVhZHApICYmCiAgICAgICAgICAgICBkYXRhLT5zZXQuc3RyW1NUUklOR19FTkNPRElOR10pIHsKICAgICAgIC8qCiAgICAgICAgKiBQcm9jZXNzIENvbnRlbnQtRW5jb2RpbmcuIExvb2sgZm9yIHRoZSB2YWx1ZXM6IGlkZW50aXR5LApAQCAtMzk4NiwyNCArMzg2MywyNCBAQAogICAgICAgICogMjYxNikuIHpsaWIgY2Fubm90IGhhbmRsZSBjb21wcmVzcy4gIEhvd2V2ZXIsIGVycm9ycyBhcmUKICAgICAgICAqIGhhbmRsZWQgZnVydGhlciBkb3duIHdoZW4gdGhlIHJlc3BvbnNlIGJvZHkgaXMgcHJvY2Vzc2VkCiAgICAgICAgKi8KLSAgICAgIHJlc3VsdCA9IEN1cmxfYnVpbGRfdW5lbmNvZGluZ19zdGFjayhjb25uLCBrLT5wICsgMTcsIEZBTFNFKTsKKyAgICAgIHJlc3VsdCA9IEN1cmxfYnVpbGRfdW5lbmNvZGluZ19zdGFjayhjb25uLCBoZWFkcCArIDE3LCBGQUxTRSk7CiAgICAgICBpZihyZXN1bHQpCiAgICAgICAgIHJldHVybiByZXN1bHQ7CiAgICAgfQotICAgIGVsc2UgaWYoY2hlY2twcmVmaXgoIlJldHJ5LUFmdGVyOiIsIGstPnApKSB7CisgICAgZWxzZSBpZihjaGVja3ByZWZpeCgiUmV0cnktQWZ0ZXI6IiwgaGVhZHApKSB7CiAgICAgICAvKiBSZXRyeS1BZnRlciA9IEhUVFAtZGF0ZSAvIGRlbGF5LXNlY29uZHMgKi8KICAgICAgIGN1cmxfb2ZmX3QgcmV0cnlfYWZ0ZXIgPSAwOyAvKiB6ZXJvIGZvciB1bmtub3duIG9yICJub3ciICovCi0gICAgICB0aW1lX3QgZGF0ZSA9IEN1cmxfZ2V0ZGF0ZV9jYXBwZWQoJmstPnBbMTJdKTsKKyAgICAgIHRpbWVfdCBkYXRlID0gQ3VybF9nZXRkYXRlX2NhcHBlZCgmaGVhZHBbMTJdKTsKICAgICAgIGlmKC0xID09IGRhdGUpIHsKICAgICAgICAgLyogbm90IGEgZGF0ZSwgdHJ5IGl0IGFzIGEgZGVjaW1hbCBudW1iZXIgKi8KLSAgICAgICAgKHZvaWQpY3VybHhfc3RydG9vZmZ0KCZrLT5wWzEyXSwgTlVMTCwgMTAsICZyZXRyeV9hZnRlcik7CisgICAgICAgICh2b2lkKWN1cmx4X3N0cnRvb2ZmdCgmaGVhZHBbMTJdLCBOVUxMLCAxMCwgJnJldHJ5X2FmdGVyKTsKICAgICAgIH0KICAgICAgIGVsc2UKICAgICAgICAgLyogY29udmVydCBkYXRlIHRvIG51bWJlciBvZiBzZWNvbmRzIGludG8gdGhlIGZ1dHVyZSAqLwogICAgICAgICByZXRyeV9hZnRlciA9IGRhdGUgLSB0aW1lKE5VTEwpOwogICAgICAgZGF0YS0+aW5mby5yZXRyeV9hZnRlciA9IHJldHJ5X2FmdGVyOyAvKiBzdG9yZSBpdCAqLwogICAgIH0KLSAgICBlbHNlIGlmKCFrLT5odHRwX2JvZHlsZXNzICYmIGNoZWNrcHJlZml4KCJDb250ZW50LVJhbmdlOiIsIGstPnApKSB7CisgICAgZWxzZSBpZighay0+aHR0cF9ib2R5bGVzcyAmJiBjaGVja3ByZWZpeCgiQ29udGVudC1SYW5nZToiLCBoZWFkcCkpIHsKICAgICAgIC8qIENvbnRlbnQtUmFuZ2U6IGJ5dGVzIFtudW1dLQogICAgICAgICAgQ29udGVudC1SYW5nZTogYnl0ZXM6IFtudW1dLQogICAgICAgICAgQ29udGVudC1SYW5nZTogW251bV0tCkBAIC00MDE1LDcgKzM4OTIsNyBAQAogICAgICAgICAgVGhlIGZvcnRoIG1lYW5zIHRoZSByZXF1ZXN0ZWQgcmFuZ2Ugd2FzIHVuc2F0aXNmaWVkLgogICAgICAgKi8KIAotICAgICAgY2hhciAqcHRyID0gay0+cCArIDE0OworICAgICAgY2hhciAqcHRyID0gaGVhZHAgKyAxNDsKIAogICAgICAgLyogTW92ZSBmb3J3YXJkIHVudGlsIGZpcnN0IGRpZ2l0IG9yIGFzdGVyaXNrICovCiAgICAgICB3aGlsZSgqcHRyICYmICFJU0RJR0lUKCpwdHIpICYmICpwdHIgIT0gJyonKQpAQCAtNDAzNCwzNCArMzkxMSwzNCBAQAogICAgIH0KICNpZiAhZGVmaW5lZChDVVJMX0RJU0FCTEVfQ09PS0lFUykKICAgICBlbHNlIGlmKGRhdGEtPmNvb2tpZXMgJiYgZGF0YS0+c3RhdGUuY29va2llX2VuZ2luZSAmJgotICAgICAgICAgICAgY2hlY2twcmVmaXgoIlNldC1Db29raWU6Iiwgay0+cCkpIHsKKyAgICAgICAgICAgIGNoZWNrcHJlZml4KCJTZXQtQ29va2llOiIsIGhlYWRwKSkgewogICAgICAgQ3VybF9zaGFyZV9sb2NrKGRhdGEsIENVUkxfTE9DS19EQVRBX0NPT0tJRSwKICAgICAgICAgICAgICAgICAgICAgICBDVVJMX0xPQ0tfQUNDRVNTX1NJTkdMRSk7CiAgICAgICBDdXJsX2Nvb2tpZV9hZGQoZGF0YSwKLSAgICAgICAgICAgICAgICAgICAgICBkYXRhLT5jb29raWVzLCBUUlVFLCBGQUxTRSwgay0+cCArIDExLAorICAgICAgICAgICAgICAgICAgICAgIGRhdGEtPmNvb2tpZXMsIFRSVUUsIEZBTFNFLCBoZWFkcCArIDExLAogICAgICAgICAgICAgICAgICAgICAgIC8qIElmIHRoZXJlIGlzIGEgY3VzdG9tLXNldCBIb3N0OiBuYW1lLCB1c2UgaXQKICAgICAgICAgICAgICAgICAgICAgICAgICBoZXJlLCBvciBlbHNlIHVzZSByZWFsIHBlZXIgaG9zdCBuYW1lLiAqLwotICAgICAgICAgICAgICAgICAgICAgIGNvbm4tPmFsbG9jcHRyLmNvb2tpZWhvc3Q/Ci0gICAgICAgICAgICAgICAgICAgICAgY29ubi0+YWxsb2NwdHIuY29va2llaG9zdDpjb25uLT5ob3N0Lm5hbWUsCisgICAgICAgICAgICAgICAgICAgICAgZGF0YS0+c3RhdGUuYXB0ci5jb29raWVob3N0PworICAgICAgICAgICAgICAgICAgICAgIGRhdGEtPnN0YXRlLmFwdHIuY29va2llaG9zdDpjb25uLT5ob3N0Lm5hbWUsCiAgICAgICAgICAgICAgICAgICAgICAgZGF0YS0+c3RhdGUudXAucGF0aCwKICAgICAgICAgICAgICAgICAgICAgICAoY29ubi0+aGFuZGxlci0+cHJvdG9jb2wmQ1VSTFBST1RPX0hUVFBTKT8KICAgICAgICAgICAgICAgICAgICAgICBUUlVFOkZBTFNFKTsKICAgICAgIEN1cmxfc2hhcmVfdW5sb2NrKGRhdGEsIENVUkxfTE9DS19EQVRBX0NPT0tJRSk7CiAgICAgfQogI2VuZGlmCi0gICAgZWxzZSBpZighay0+aHR0cF9ib2R5bGVzcyAmJiBjaGVja3ByZWZpeCgiTGFzdC1Nb2RpZmllZDoiLCBrLT5wKSAmJgorICAgIGVsc2UgaWYoIWstPmh0dHBfYm9keWxlc3MgJiYgY2hlY2twcmVmaXgoIkxhc3QtTW9kaWZpZWQ6IiwgaGVhZHApICYmCiAgICAgICAgICAgICAoZGF0YS0+c2V0LnRpbWVjb25kaXRpb24gfHwgZGF0YS0+c2V0LmdldF9maWxldGltZSkgKSB7Ci0gICAgICBrLT50aW1lb2Zkb2MgPSBDdXJsX2dldGRhdGVfY2FwcGVkKGstPnAgKyBzdHJsZW4oIkxhc3QtTW9kaWZpZWQ6IikpOworICAgICAgay0+dGltZW9mZG9jID0gQ3VybF9nZXRkYXRlX2NhcHBlZChoZWFkcCArIHN0cmxlbigiTGFzdC1Nb2RpZmllZDoiKSk7CiAgICAgICBpZihkYXRhLT5zZXQuZ2V0X2ZpbGV0aW1lKQogICAgICAgICBkYXRhLT5pbmZvLmZpbGV0aW1lID0gay0+dGltZW9mZG9jOwogICAgIH0KLSAgICBlbHNlIGlmKChjaGVja3ByZWZpeCgiV1dXLUF1dGhlbnRpY2F0ZToiLCBrLT5wKSAmJgorICAgIGVsc2UgaWYoKGNoZWNrcHJlZml4KCJXV1ctQXV0aGVudGljYXRlOiIsIGhlYWRwKSAmJgogICAgICAgICAgICAgICg0MDEgPT0gay0+aHR0cGNvZGUpKSB8fAotICAgICAgICAgICAgKGNoZWNrcHJlZml4KCJQcm94eS1hdXRoZW50aWNhdGU6Iiwgay0+cCkgJiYKKyAgICAgICAgICAgIChjaGVja3ByZWZpeCgiUHJveHktYXV0aGVudGljYXRlOiIsIGhlYWRwKSAmJgogICAgICAgICAgICAgICg0MDcgPT0gay0+aHR0cGNvZGUpKSkgewogCiAgICAgICBib29sIHByb3h5ID0gKGstPmh0dHBjb2RlID09IDQwNykgPyBUUlVFIDogRkFMU0U7Ci0gICAgICBjaGFyICphdXRoID0gQ3VybF9jb3B5X2hlYWRlcl92YWx1ZShrLT5wKTsKKyAgICAgIGNoYXIgKmF1dGggPSBDdXJsX2NvcHlfaGVhZGVyX3ZhbHVlKGhlYWRwKTsKICAgICAgIGlmKCFhdXRoKQogICAgICAgICByZXR1cm4gQ1VSTEVfT1VUX09GX01FTU9SWTsKIApAQCAtNDA3MywxMSArMzk1MCwxMSBAQAogICAgICAgICByZXR1cm4gcmVzdWx0OwogICAgIH0KICNpZmRlZiBVU0VfU1BORUdPCi0gICAgZWxzZSBpZihjaGVja3ByZWZpeCgiUGVyc2lzdGVudC1BdXRoIiwgay0+cCkpIHsKKyAgICBlbHNlIGlmKGNoZWNrcHJlZml4KCJQZXJzaXN0ZW50LUF1dGgiLCBoZWFkcCkpIHsKICAgICAgIHN0cnVjdCBuZWdvdGlhdGVkYXRhICpuZWdkYXRhID0gJmNvbm4tPm5lZ290aWF0ZTsKICAgICAgIHN0cnVjdCBhdXRoICphdXRocCA9ICZkYXRhLT5zdGF0ZS5hdXRoaG9zdDsKICAgICAgIGlmKGF1dGhwLT5waWNrZWQgPT0gQ1VSTEFVVEhfTkVHT1RJQVRFKSB7Ci0gICAgICAgIGNoYXIgKnBlcnNpc3RlbnRhdXRoID0gQ3VybF9jb3B5X2hlYWRlcl92YWx1ZShrLT5wKTsKKyAgICAgICAgY2hhciAqcGVyc2lzdGVudGF1dGggPSBDdXJsX2NvcHlfaGVhZGVyX3ZhbHVlKGhlYWRwKTsKICAgICAgICAgaWYoIXBlcnNpc3RlbnRhdXRoKQogICAgICAgICAgIHJldHVybiBDVVJMRV9PVVRfT0ZfTUVNT1JZOwogICAgICAgICBuZWdkYXRhLT5ub2F1dGhwZXJzaXN0ID0gY2hlY2twcmVmaXgoImZhbHNlIiwgcGVyc2lzdGVudGF1dGgpPwpAQCAtNDA5MCwxMCArMzk2NywxMCBAQAogICAgIH0KICNlbmRpZgogICAgIGVsc2UgaWYoKGstPmh0dHBjb2RlID49IDMwMCAmJiBrLT5odHRwY29kZSA8IDQwMCkgJiYKLSAgICAgICAgICAgIGNoZWNrcHJlZml4KCJMb2NhdGlvbjoiLCBrLT5wKSAmJgorICAgICAgICAgICAgY2hlY2twcmVmaXgoIkxvY2F0aW9uOiIsIGhlYWRwKSAmJgogICAgICAgICAgICAgIWRhdGEtPnJlcS5sb2NhdGlvbikgewogICAgICAgLyogdGhpcyBpcyB0aGUgVVJMIHRoYXQgdGhlIHNlcnZlciBhZHZpc2VzIHVzIHRvIHVzZSBpbnN0ZWFkICovCi0gICAgICBjaGFyICpsb2NhdGlvbiA9IEN1cmxfY29weV9oZWFkZXJfdmFsdWUoay0+cCk7CisgICAgICBjaGFyICpsb2NhdGlvbiA9IEN1cmxfY29weV9oZWFkZXJfdmFsdWUoaGVhZHApOwogICAgICAgaWYoIWxvY2F0aW9uKQogICAgICAgICByZXR1cm4gQ1VSTEVfT1VUX09GX01FTU9SWTsKICAgICAgIGlmKCEqbG9jYXRpb24pCkBAIC00MTE4LDcgKzM5OTUsNyBAQAogICAgIH0KICNpZmRlZiBVU0VfQUxUU1ZDCiAgICAgLyogSWYgZW5hYmxlZCwgdGhlIGhlYWRlciBpcyBpbmNvbWluZyBhbmQgdGhpcyBpcyBvdmVyIEhUVFBTICovCi0gICAgZWxzZSBpZihkYXRhLT5hc2kgJiYgY2hlY2twcmVmaXgoIkFsdC1TdmM6Iiwgay0+cCkgJiYKKyAgICBlbHNlIGlmKGRhdGEtPmFzaSAmJiBjaGVja3ByZWZpeCgiQWx0LVN2YzoiLCBoZWFkcCkgJiYKICAgICAgICAgICAgICgoY29ubi0+aGFuZGxlci0+ZmxhZ3MgJiBQUk9UT1BUX1NTTCkgfHwKICNpZmRlZiBDVVJMREVCVUcKICAgICAgICAgICAgICAvKiBhbGxvdyBkZWJ1ZyBidWlsZHMgdG8gY2lyY3VtdmVudCB0aGUgSFRUUFMgcmVzdHJpY3Rpb24gKi8KQEAgLTQxMzAsNyArNDAwNyw3IEBACiAgICAgICAvKiB0aGUgQUxQTiBvZiB0aGUgY3VycmVudCByZXF1ZXN0ICovCiAgICAgICBlbnVtIGFscG5pZCBpZCA9IChjb25uLT5odHRwdmVyc2lvbiA9PSAyMCkgPyBBTFBOX2gyIDogQUxQTl9oMTsKICAgICAgIHJlc3VsdCA9IEN1cmxfYWx0c3ZjX3BhcnNlKGRhdGEsIGRhdGEtPmFzaSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZrLT5wWyBzdHJsZW4oIkFsdC1TdmM6IikgXSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZoZWFkcFsgc3RybGVuKCJBbHQtU3ZjOiIpIF0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZCwgY29ubi0+aG9zdC5uYW1lLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY3VybHhfdWl0b3VzKGNvbm4tPnJlbW90ZV9wb3J0KSk7CiAgICAgICBpZihyZXN1bHQpCkBAIC00MTM4LDcgKzQwMTUsNyBAQAogICAgIH0KICNlbmRpZgogICAgIGVsc2UgaWYoY29ubi0+aGFuZGxlci0+cHJvdG9jb2wgJiBDVVJMUFJPVE9fUlRTUCkgewotICAgICAgcmVzdWx0ID0gQ3VybF9ydHNwX3BhcnNlaGVhZGVyKGNvbm4sIGstPnApOworICAgICAgcmVzdWx0ID0gQ3VybF9ydHNwX3BhcnNlaGVhZGVyKGNvbm4sIGhlYWRwKTsKICAgICAgIGlmKHJlc3VsdCkKICAgICAgICAgcmV0dXJuIHJlc3VsdDsKICAgICB9CkBAIC00MTUyLDE4ICs0MDI5LDE4IEBACiAgICAgICB3cml0ZXR5cGUgfD0gQ0xJRU5UV1JJVEVfQk9EWTsKIAogICAgIGlmKGRhdGEtPnNldC52ZXJib3NlKQotICAgICAgQ3VybF9kZWJ1ZyhkYXRhLCBDVVJMSU5GT19IRUFERVJfSU4sIGstPnAsIChzaXplX3Qpay0+aGJ1Zmxlbik7CisgICAgICBDdXJsX2RlYnVnKGRhdGEsIENVUkxJTkZPX0hFQURFUl9JTiwgaGVhZHAsCisgICAgICAgICAgICAgICAgIEN1cmxfZHluX2xlbigmZGF0YS0+c3RhdGUuaGVhZGVyYikpOwogCi0gICAgcmVzdWx0ID0gQ3VybF9jbGllbnRfd3JpdGUoY29ubiwgd3JpdGV0eXBlLCBrLT5wLCBrLT5oYnVmbGVuKTsKKyAgICByZXN1bHQgPSBDdXJsX2NsaWVudF93cml0ZShjb25uLCB3cml0ZXR5cGUsIGhlYWRwLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEN1cmxfZHluX2xlbigmZGF0YS0+c3RhdGUuaGVhZGVyYikpOwogICAgIGlmKHJlc3VsdCkKICAgICAgIHJldHVybiByZXN1bHQ7CiAKLSAgICBkYXRhLT5pbmZvLmhlYWRlcl9zaXplICs9IChsb25nKWstPmhidWZsZW47Ci0gICAgZGF0YS0+cmVxLmhlYWRlcmJ5dGVjb3VudCArPSAobG9uZylrLT5oYnVmbGVuOworICAgIGRhdGEtPmluZm8uaGVhZGVyX3NpemUgKz0gQ3VybF9keW5fbGVuKCZkYXRhLT5zdGF0ZS5oZWFkZXJiKTsKKyAgICBkYXRhLT5yZXEuaGVhZGVyYnl0ZWNvdW50ICs9IEN1cmxfZHluX2xlbigmZGF0YS0+c3RhdGUuaGVhZGVyYik7CiAKLSAgICAvKiByZXNldCBoYnVmcCBwb2ludGVyICYmIGhidWZsZW4gKi8KLSAgICBrLT5oYnVmcCA9IGRhdGEtPnN0YXRlLmhlYWRlcmJ1ZmY7Ci0gICAgay0+aGJ1ZmxlbiA9IDA7CisgICAgQ3VybF9keW5fcmVzZXQoJmRhdGEtPnN0YXRlLmhlYWRlcmIpOwogICB9CiAgIHdoaWxlKCprLT5zdHIpOyAvKiBoZWFkZXIgbGluZSB3aXRoaW4gYnVmZmVyICovCiAKZGlmZiAtLWdpdCBhL2xpYi9odHRwLmggYi9saWIvaHR0cC5oCmluZGV4IDRjMTgyNWYuLjY0MWJjMGIgMTAwNjQ0Ci0tLSBhL2xpYi9odHRwLmgKKysrIGIvbGliL2h0dHAuaApAQCAtNDQsMzggKzQ0LDE5IEBACiAKIGNoYXIgKkN1cmxfY2hlY2tQcm94eWhlYWRlcnMoY29uc3Qgc3RydWN0IGNvbm5lY3RkYXRhICpjb25uLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBjaGFyICp0aGlzaGVhZGVyKTsKLS8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi8KLS8qCi0gKiBUaGUgYWRkX2J1ZmZlciBzZXJpZXMgb2YgZnVuY3Rpb25zIGFyZSB1c2VkIHRvIGJ1aWxkIG9uZSBsYXJnZSBtZW1vcnkgY2h1bmsKLSAqIGZyb20gcmVwZWF0ZWQgZnVuY3Rpb24gaW52b2tlcy4gVXNlZCBzbyB0aGF0IHRoZSBlbnRpcmUgSFRUUCByZXF1ZXN0IGNhbgotICogYmUgc2VudCBpbiBvbmUgZ28uCi0gKi8KLXN0cnVjdCBDdXJsX3NlbmRfYnVmZmVyIHsKLSAgY2hhciAqYnVmZmVyOwotICBzaXplX3Qgc2l6ZV9tYXg7Ci0gIHNpemVfdCBzaXplX3VzZWQ7Ci19OwotdHlwZWRlZiBzdHJ1Y3QgQ3VybF9zZW5kX2J1ZmZlciBDdXJsX3NlbmRfYnVmZmVyOwotCi1DdXJsX3NlbmRfYnVmZmVyICpDdXJsX2FkZF9idWZmZXJfaW5pdCh2b2lkKTsKLXZvaWQgQ3VybF9hZGRfYnVmZmVyX2ZyZWUoQ3VybF9zZW5kX2J1ZmZlciAqKmlucCk7Ci1DVVJMY29kZSBDdXJsX2FkZF9idWZmZXJmKEN1cmxfc2VuZF9idWZmZXIgKippbnAsIGNvbnN0IGNoYXIgKmZtdCwgLi4uKQotICBXQVJOX1VOVVNFRF9SRVNVTFQ7Ci1DVVJMY29kZSBDdXJsX2FkZF9idWZmZXIoQ3VybF9zZW5kX2J1ZmZlciAqKmlucCwgY29uc3Qgdm9pZCAqaW5wdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgc2l6ZV90IHNpemUpIFdBUk5fVU5VU0VEX1JFU1VMVDsKLUNVUkxjb2RlIEN1cmxfYWRkX2J1ZmZlcl9zZW5kKEN1cmxfc2VuZF9idWZmZXIgKippbnAsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJ1Y3QgY29ubmVjdGRhdGEgKmNvbm4sCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjdXJsX29mZl90ICpieXRlc193cml0dGVuLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2l6ZV90IGluY2x1ZGVkX2JvZHlfYnl0ZXMsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc29ja2V0aW5kZXgpOworQ1VSTGNvZGUgQ3VybF9idWZmZXJfc2VuZChzdHJ1Y3QgZHluYnVmICppbiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgc3RydWN0IGNvbm5lY3RkYXRhICpjb25uLAorICAgICAgICAgICAgICAgICAgICAgICAgICBjdXJsX29mZl90ICpieXRlc193cml0dGVuLAorICAgICAgICAgICAgICAgICAgICAgICAgICBzaXplX3QgaW5jbHVkZWRfYm9keV9ieXRlcywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNvY2tldGluZGV4KTsKIAogQ1VSTGNvZGUgQ3VybF9hZGRfdGltZWNvbmRpdGlvbihjb25zdCBzdHJ1Y3QgY29ubmVjdGRhdGEgKmNvbm4sCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEN1cmxfc2VuZF9idWZmZXIgKmJ1Zik7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cnVjdCBkeW5idWYgKmJ1Zik7CiBDVVJMY29kZSBDdXJsX2FkZF9jdXN0b21faGVhZGVycyhzdHJ1Y3QgY29ubmVjdGRhdGEgKmNvbm4sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBib29sIGlzX2Nvbm5lY3QsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBDdXJsX3NlbmRfYnVmZmVyICpyZXFfYnVmZmVyKTsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cnVjdCBkeW5idWYgKnJlcV9idWZmZXIpOwogQ1VSTGNvZGUgQ3VybF9odHRwX2NvbXBpbGVfdHJhaWxlcnMoc3RydWN0IGN1cmxfc2xpc3QgKnRyYWlsZXJzLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQ3VybF9zZW5kX2J1ZmZlciAqKmJ1ZmZlciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cnVjdCBkeW5idWYgKmJ1ZiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cnVjdCBDdXJsX2Vhc3kgKmhhbmRsZSk7CiAKIC8qIHByb3RvY29sLXNwZWNpZmljIGZ1bmN0aW9ucyBzZXQgdXAgdG8gYmUgY2FsbGVkIGJ5IHRoZSBtYWluIGVuZ2luZSAqLwpAQCAtMTU0LDkgKzEzNSw5IEBACiAgIH0gc2VuZGluZzsKIAogI2lmbmRlZiBDVVJMX0RJU0FCTEVfSFRUUAotICBDdXJsX3NlbmRfYnVmZmVyICpzZW5kX2J1ZmZlcjsgLyogdXNlZCBpZiB0aGUgcmVxdWVzdCBjb3VsZG4ndCBiZSBzZW50IGluCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvbmUgY2h1bmssIHBvaW50cyB0byBhbiBhbGxvY2F0ZWQKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlbmRfYnVmZmVyIHN0cnVjdCAqLworICBzdHJ1Y3QgZHluYnVmIHNlbmRfYnVmZmVyOyAvKiB1c2VkIGlmIHRoZSByZXF1ZXN0IGNvdWxkbid0IGJlIHNlbnQgaW4gb25lCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNodW5rLCBwb2ludHMgdG8gYW4gYWxsb2NhdGVkIHNlbmRfYnVmZmVyCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cnVjdCAqLwogI2VuZGlmCiAjaWZkZWYgVVNFX05HSFRUUDIKICAgLyoqKioqKioqKioqIGZvciBIVFRQLzIgd2Ugc3RvcmUgc3RyZWFtLWxvY2FsIGRhdGEgaGVyZSAqKioqKioqKioqKioqLwpAQCAtMTY0LDEwICsxNDUsOSBAQAogCiAgIGJvb2wgYm9keXN0YXJ0ZWQ7CiAgIC8qIFdlIHN0b3JlIG5vbi1maW5hbCBhbmQgZmluYWwgcmVzcG9uc2UgaGVhZGVycyBoZXJlLCBwZXItc3RyZWFtICovCi0gIEN1cmxfc2VuZF9idWZmZXIgKmhlYWRlcl9yZWN2YnVmOworICBzdHJ1Y3QgZHluYnVmIGhlYWRlcl9yZWN2YnVmOwogICBzaXplX3QgbnJlYWRfaGVhZGVyX3JlY3ZidWY7IC8qIG51bWJlciBvZiBieXRlcyBpbiBoZWFkZXJfcmVjdmJ1ZiBmZWQgaW50bwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVwcGVyIGxheWVyICovCi0gIEN1cmxfc2VuZF9idWZmZXIgKnRyYWlsZXJfcmVjdmJ1ZjsKICAgaW50IHN0YXR1c19jb2RlOyAvKiBIVFRQIHN0YXR1cyBjb2RlICovCiAgIGNvbnN0IHVpbnQ4X3QgKnBhdXNlZGF0YTsgLyogcG9pbnRlciB0byBkYXRhIHJlY2VpdmVkIGluIG9uX2RhdGFfY2h1bmsgKi8KICAgc2l6ZV90IHBhdXNlbGVuOyAvKiB0aGUgbnVtYmVyIG9mIGJ5dGVzIGxlZnQgaW4gZGF0YSAqLwpAQCAtMjAxLDkgKzE4MSw3IEBACiAjaWZkZWYgVVNFX05HSFRUUDMKICAgc2l6ZV90IHVuYWNrZWRfd2luZG93OwogICBzdHJ1Y3QgaDNvdXQgKmgzb3V0OyAvKiBwZXItc3RyZWFtIGJ1ZmZlcnMgZm9yIHVwbG9hZCAqLwotICBjaGFyICpvdmVyZmxvd19idWY7IC8qIGV4Y2VzcyBkYXRhIHJlY2VpdmVkIGR1cmluZyBhIHNpbmdsZSBDdXJsX3JlYWQgKi8KLSAgc2l6ZV90IG92ZXJmbG93X2J1ZmxlbjsgLyogYW1vdW50IG9mIGRhdGEgY3VycmVudGx5IGluIG92ZXJmbG93X2J1ZiAqLwotICBzaXplX3Qgb3ZlcmZsb3dfYnVmc2l6ZTsgLyogc2l6ZSBvZiB0aGUgb3ZlcmZsb3dfYnVmIGFsbG9jYXRpb24gKi8KKyAgc3RydWN0IGR5bmJ1ZiBvdmVyZmxvdzsgLyogZXhjZXNzIGRhdGEgcmVjZWl2ZWQgZHVyaW5nIGEgc2luZ2xlIEN1cmxfcmVhZCAqLwogI2VuZGlmCiB9OwogCmRpZmYgLS1naXQgYS9saWIvaHR0cDIuYyBiL2xpYi9odHRwMi5jCmluZGV4IDkzZGZiZGIuLjZjZjY1MWYgMTAwNjQ0Ci0tLSBhL2xpYi9odHRwMi5jCisrKyBiL2xpYi9odHRwMi5jCkBAIC0zNiw2ICszNiw3IEBACiAjaW5jbHVkZSAiY29ubmVjdC5oIgogI2luY2x1ZGUgInN0cnRvb2ZmdC5oIgogI2luY2x1ZGUgInN0cmR1cC5oIgorI2luY2x1ZGUgImR5bmJ1Zi5oIgogLyogVGhlIGxhc3QgMyAjaW5jbHVkZSBmaWxlcyBzaG91bGQgYmUgaW4gdGhpcyBvcmRlciAqLwogI2luY2x1ZGUgImN1cmxfcHJpbnRmLmgiCiAjaW5jbHVkZSAiY3VybF9tZW1vcnkuaCIKQEAgLTEyNCw4ICsxMjUsNyBAQAogc3RhdGljIHZvaWQgaHR0cDJfc3RyZWFtX2ZyZWUoc3RydWN0IEhUVFAgKmh0dHApCiB7CiAgIGlmKGh0dHApIHsKLSAgICBDdXJsX2FkZF9idWZmZXJfZnJlZSgmaHR0cC0+aGVhZGVyX3JlY3ZidWYpOwotICAgIEN1cmxfYWRkX2J1ZmZlcl9mcmVlKCZodHRwLT50cmFpbGVyX3JlY3ZidWYpOworICAgIEN1cmxfZHluX2ZyZWUoJmh0dHAtPmhlYWRlcl9yZWN2YnVmKTsKICAgICBmb3IoOyBodHRwLT5wdXNoX2hlYWRlcnNfdXNlZCA+IDA7IC0taHR0cC0+cHVzaF9oZWFkZXJzX3VzZWQpIHsKICAgICAgIGZyZWUoaHR0cC0+cHVzaF9oZWFkZXJzW2h0dHAtPnB1c2hfaGVhZGVyc191c2VkIC0gMV0pOwogICAgIH0KQEAgLTI1OCwxNiArMjU4LDE0IEBACiB2b2lkIEN1cmxfaHR0cDJfc2V0dXBfcmVxKHN0cnVjdCBDdXJsX2Vhc3kgKmRhdGEpCiB7CiAgIHN0cnVjdCBIVFRQICpodHRwID0gZGF0YS0+cmVxLnByb3RvcDsKLQotICBodHRwLT5ucmVhZF9oZWFkZXJfcmVjdmJ1ZiA9IDA7CiAgIGh0dHAtPmJvZHlzdGFydGVkID0gRkFMU0U7CiAgIGh0dHAtPnN0YXR1c19jb2RlID0gLTE7CiAgIGh0dHAtPnBhdXNlZGF0YSA9IE5VTEw7CiAgIGh0dHAtPnBhdXNlbGVuID0gMDsKICAgaHR0cC0+Y2xvc2VkID0gRkFMU0U7CiAgIGh0dHAtPmNsb3NlX2hhbmRsZWQgPSBGQUxTRTsKLSAgaHR0cC0+bWVtID0gZGF0YS0+c3RhdGUuYnVmZmVyOwotICBodHRwLT5sZW4gPSBkYXRhLT5zZXQuYnVmZmVyX3NpemU7CisgIGh0dHAtPm1lbSA9IE5VTEw7CisgIGh0dHAtPmxlbiA9IDA7CiAgIGh0dHAtPm1lbWxlbiA9IDA7CiB9CiAKQEAgLTQ2MywyMCArNDYxLDU0IEBACiAgICAgfQogICAgIGVsc2UgewogICAgICAgc2Vjb25kLT5yZXEucHJvdG9wID0gaHR0cDsKLSAgICAgIGh0dHAtPmhlYWRlcl9yZWN2YnVmID0gQ3VybF9hZGRfYnVmZmVyX2luaXQoKTsKLSAgICAgIGlmKCFodHRwLT5oZWFkZXJfcmVjdmJ1ZikgewotICAgICAgICBmcmVlKGh0dHApOwotICAgICAgICAodm9pZClDdXJsX2Nsb3NlKCZzZWNvbmQpOwotICAgICAgfQotICAgICAgZWxzZSB7Ci0gICAgICAgIEN1cmxfaHR0cDJfc2V0dXBfcmVxKHNlY29uZCk7Ci0gICAgICAgIHNlY29uZC0+c3RhdGUuc3RyZWFtX3dlaWdodCA9IGRhdGEtPnN0YXRlLnN0cmVhbV93ZWlnaHQ7Ci0gICAgICB9CisgICAgICBDdXJsX2R5bl9pbml0KCZodHRwLT5oZWFkZXJfcmVjdmJ1ZiwgRFlOX0gyX0hFQURFUlMpOworICAgICAgQ3VybF9odHRwMl9zZXR1cF9yZXEoc2Vjb25kKTsKKyAgICAgIHNlY29uZC0+c3RhdGUuc3RyZWFtX3dlaWdodCA9IGRhdGEtPnN0YXRlLnN0cmVhbV93ZWlnaHQ7CiAgICAgfQogICB9CiAgIHJldHVybiBzZWNvbmQ7CiB9CiAKK3N0YXRpYyBpbnQgc2V0X3RyYW5zZmVyX3VybChzdHJ1Y3QgQ3VybF9lYXN5ICpkYXRhLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cnVjdCBjdXJsX3B1c2hoZWFkZXJzICpocCkKK3sKKyAgY29uc3QgY2hhciAqdjsKKyAgQ1VSTFUgKnUgPSBjdXJsX3VybCgpOworICBDVVJMVWNvZGUgdWM7CisgIGNoYXIgKnVybDsKKworICB2ID0gY3VybF9wdXNoaGVhZGVyX2J5bmFtZShocCwgIjpzY2hlbWUiKTsKKyAgaWYodikgeworICAgIHVjID0gY3VybF91cmxfc2V0KHUsIENVUkxVUEFSVF9TQ0hFTUUsIHYsIDApOworICAgIGlmKHVjKQorICAgICAgcmV0dXJuIDE7CisgIH0KKworICB2ID0gY3VybF9wdXNoaGVhZGVyX2J5bmFtZShocCwgIjphdXRob3JpdHkiKTsKKyAgaWYodikgeworICAgIHVjID0gY3VybF91cmxfc2V0KHUsIENVUkxVUEFSVF9IT1NULCB2LCAwKTsKKyAgICBpZih1YykKKyAgICAgIHJldHVybiAyOworICB9CisKKyAgdiA9IGN1cmxfcHVzaGhlYWRlcl9ieW5hbWUoaHAsICI6cGF0aCIpOworICBpZih2KSB7CisgICAgdWMgPSBjdXJsX3VybF9zZXQodSwgQ1VSTFVQQVJUX1BBVEgsIHYsIDApOworICAgIGlmKHVjKQorICAgICAgcmV0dXJuIDM7CisgIH0KKworICB1YyA9IGN1cmxfdXJsX2dldCh1LCBDVVJMVVBBUlRfVVJMLCAmdXJsLCAwKTsKKyAgaWYodWMpCisgICAgcmV0dXJuIDQ7CisgIGN1cmxfdXJsX2NsZWFudXAodSk7CisKKyAgaWYoZGF0YS0+Y2hhbmdlLnVybF9hbGxvYykKKyAgICBmcmVlKGRhdGEtPmNoYW5nZS51cmwpOworICBkYXRhLT5jaGFuZ2UudXJsX2FsbG9jID0gVFJVRTsKKyAgZGF0YS0+Y2hhbmdlLnVybCA9IHVybDsKKyAgcmV0dXJuIDA7Cit9CiAKIHN0YXRpYyBpbnQgcHVzaF9wcm9taXNlKHN0cnVjdCBDdXJsX2Vhc3kgKmRhdGEsCiAgICAgICAgICAgICAgICAgICAgICAgICBzdHJ1Y3QgY29ubmVjdGRhdGEgKmNvbm4sCkBAIC01MTMsNiArNTQ1LDEwIEBACiAgICAgICBnb3RvIGZhaWw7CiAgICAgfQogCisgICAgcnYgPSBzZXRfdHJhbnNmZXJfdXJsKG5ld2hhbmRsZSwgJmhlYWRzKTsKKyAgICBpZihydikKKyAgICAgIGdvdG8gZmFpbDsKKwogICAgIEN1cmxfc2V0X2luX2NhbGxiYWNrKGRhdGEsIHRydWUpOwogICAgIHJ2ID0gZGF0YS0+bXVsdGktPnB1c2hfY2IoZGF0YSwgbmV3aGFuZGxlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RyZWFtLT5wdXNoX2hlYWRlcnNfdXNlZCwgJmhlYWRzLApAQCAtNjY4LDE1ICs3MDQsMTcgQEAKICAgICAgIHN0cmVhbS0+c3RhdHVzX2NvZGUgPSAtMTsKICAgICB9CiAKLSAgICByZXN1bHQgPSBDdXJsX2FkZF9idWZmZXIoJnN0cmVhbS0+aGVhZGVyX3JlY3ZidWYsICJcclxuIiwgMik7CisgICAgcmVzdWx0ID0gQ3VybF9keW5fYWRkKCZzdHJlYW0tPmhlYWRlcl9yZWN2YnVmLCAiXHJcbiIpOwogICAgIGlmKHJlc3VsdCkKICAgICAgIHJldHVybiBOR0hUVFAyX0VSUl9DQUxMQkFDS19GQUlMVVJFOwogCi0gICAgbGVmdCA9IHN0cmVhbS0+aGVhZGVyX3JlY3ZidWYtPnNpemVfdXNlZCAtIHN0cmVhbS0+bnJlYWRfaGVhZGVyX3JlY3ZidWY7CisgICAgbGVmdCA9IEN1cmxfZHluX2xlbigmc3RyZWFtLT5oZWFkZXJfcmVjdmJ1ZikgLQorICAgICAgc3RyZWFtLT5ucmVhZF9oZWFkZXJfcmVjdmJ1ZjsKICAgICBuY29weSA9IENVUkxNSU4oc3RyZWFtLT5sZW4sIGxlZnQpOwogCiAgICAgbWVtY3B5KCZzdHJlYW0tPm1lbVtzdHJlYW0tPm1lbWxlbl0sCi0gICAgICAgICAgIHN0cmVhbS0+aGVhZGVyX3JlY3ZidWYtPmJ1ZmZlciArIHN0cmVhbS0+bnJlYWRfaGVhZGVyX3JlY3ZidWYsCisgICAgICAgICAgIEN1cmxfZHluX3B0cigmc3RyZWFtLT5oZWFkZXJfcmVjdmJ1ZikgKworICAgICAgICAgICBzdHJlYW0tPm5yZWFkX2hlYWRlcl9yZWN2YnVmLAogICAgICAgICAgICBuY29weSk7CiAgICAgc3RyZWFtLT5ucmVhZF9oZWFkZXJfcmVjdmJ1ZiArPSBuY29weTsKIApAQCAtODUyLDEyICs4OTAsNiBAQAogICAgIHJldHVybiAwOwogICB9CiAKLSAgaWYoIXN0cmVhbS0+dHJhaWxlcl9yZWN2YnVmKSB7Ci0gICAgc3RyZWFtLT50cmFpbGVyX3JlY3ZidWYgPSBDdXJsX2FkZF9idWZmZXJfaW5pdCgpOwotICAgIGlmKCFzdHJlYW0tPnRyYWlsZXJfcmVjdmJ1ZikgewotICAgICAgcmV0dXJuIE5HSFRUUDJfRVJSX1RFTVBPUkFMX0NBTExCQUNLX0ZBSUxVUkU7Ci0gICAgfQotICB9CiAgIHJldHVybiAwOwogfQogCkBAIC05NzMsMjYgKzEwMDUsMTkgQEAKICAgfQogCiAgIGlmKHN0cmVhbS0+Ym9keXN0YXJ0ZWQpIHsKLSAgICAvKiBUaGlzIGlzIHRyYWlsZXIgZmllbGRzLiAqLwotICAgIC8qIDQgaXMgZm9yICI6ICIgYW5kICJcclxuIi4gKi8KLSAgICB1aW50MzJfdCBuID0gKHVpbnQzMl90KShuYW1lbGVuICsgdmFsdWVsZW4gKyA0KTsKLQorICAgIC8qIFRoaXMgaXMgYSB0cmFpbGVyICovCisgICAgc3RydWN0IGR5bmJ1ZiB0cmFpbDsKICAgICBIMkJVR0YoaW5mb2YoZGF0YV9zLCAiaDIgdHJhaWxlcjogJS4qczogJS4qc1xuIiwgbmFtZWxlbiwgbmFtZSwgdmFsdWVsZW4sCiAgICAgICAgICAgICAgICAgIHZhbHVlKSk7Ci0KLSAgICByZXN1bHQgPSBDdXJsX2FkZF9idWZmZXIoJnN0cmVhbS0+dHJhaWxlcl9yZWN2YnVmLCAmbiwgc2l6ZW9mKG4pKTsKLSAgICBpZihyZXN1bHQpCi0gICAgICByZXR1cm4gTkdIVFRQMl9FUlJfQ0FMTEJBQ0tfRkFJTFVSRTsKLSAgICByZXN1bHQgPSBDdXJsX2FkZF9idWZmZXIoJnN0cmVhbS0+dHJhaWxlcl9yZWN2YnVmLCBuYW1lLCBuYW1lbGVuKTsKLSAgICBpZihyZXN1bHQpCi0gICAgICByZXR1cm4gTkdIVFRQMl9FUlJfQ0FMTEJBQ0tfRkFJTFVSRTsKLSAgICByZXN1bHQgPSBDdXJsX2FkZF9idWZmZXIoJnN0cmVhbS0+dHJhaWxlcl9yZWN2YnVmLCAiOiAiLCAyKTsKLSAgICBpZihyZXN1bHQpCi0gICAgICByZXR1cm4gTkdIVFRQMl9FUlJfQ0FMTEJBQ0tfRkFJTFVSRTsKLSAgICByZXN1bHQgPSBDdXJsX2FkZF9idWZmZXIoJnN0cmVhbS0+dHJhaWxlcl9yZWN2YnVmLCB2YWx1ZSwgdmFsdWVsZW4pOwotICAgIGlmKHJlc3VsdCkKLSAgICAgIHJldHVybiBOR0hUVFAyX0VSUl9DQUxMQkFDS19GQUlMVVJFOwotICAgIHJlc3VsdCA9IEN1cmxfYWRkX2J1ZmZlcigmc3RyZWFtLT50cmFpbGVyX3JlY3ZidWYsICJcclxuXDAiLCAzKTsKKyAgICBDdXJsX2R5bl9pbml0KCZ0cmFpbCwgRFlOX0gyX1RSQUlMRVIpOworICAgIHJlc3VsdCA9IEN1cmxfZHluX2FkZGYoJnRyYWlsLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgIiUuKnM6ICUuKnNcclxuIiwgbmFtZWxlbiwgbmFtZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlbGVuLCB2YWx1ZSk7CisgICAgaWYoIXJlc3VsdCkKKyAgICAgIHJlc3VsdCA9IEN1cmxfY2xpZW50X3dyaXRlKGNvbm4sIENMSUVOVFdSSVRFX0hFQURFUiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEN1cmxfZHluX3B0cigmdHJhaWwpLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQ3VybF9keW5fbGVuKCZ0cmFpbCkpOworICAgIEN1cmxfZHluX2ZyZWUoJnRyYWlsKTsKICAgICBpZihyZXN1bHQpCiAgICAgICByZXR1cm4gTkdIVFRQMl9FUlJfQ0FMTEJBQ0tfRkFJTFVSRTsKIApAQCAtMTAwNywxNCArMTAzMiwxNCBAQAogICAgIHN0cmVhbS0+c3RhdHVzX2NvZGUgPSBkZWNvZGVfc3RhdHVzX2NvZGUodmFsdWUsIHZhbHVlbGVuKTsKICAgICBERUJVR0FTU0VSVChzdHJlYW0tPnN0YXR1c19jb2RlICE9IC0xKTsKIAotICAgIHJlc3VsdCA9IEN1cmxfYWRkX2J1ZmZlcigmc3RyZWFtLT5oZWFkZXJfcmVjdmJ1ZiwgIkhUVFAvMiAiLCA3KTsKKyAgICByZXN1bHQgPSBDdXJsX2R5bl9hZGQoJnN0cmVhbS0+aGVhZGVyX3JlY3ZidWYsICJIVFRQLzIgIik7CiAgICAgaWYocmVzdWx0KQogICAgICAgcmV0dXJuIE5HSFRUUDJfRVJSX0NBTExCQUNLX0ZBSUxVUkU7Ci0gICAgcmVzdWx0ID0gQ3VybF9hZGRfYnVmZmVyKCZzdHJlYW0tPmhlYWRlcl9yZWN2YnVmLCB2YWx1ZSwgdmFsdWVsZW4pOworICAgIHJlc3VsdCA9IEN1cmxfZHluX2FkZG4oJnN0cmVhbS0+aGVhZGVyX3JlY3ZidWYsIHZhbHVlLCB2YWx1ZWxlbik7CiAgICAgaWYocmVzdWx0KQogICAgICAgcmV0dXJuIE5HSFRUUDJfRVJSX0NBTExCQUNLX0ZBSUxVUkU7CiAgICAgLyogdGhlIHNwYWNlIGNoYXJhY3RlciBhZnRlciB0aGUgc3RhdHVzIGNvZGUgaXMgbWFuZGF0b3J5ICovCi0gICAgcmVzdWx0ID0gQ3VybF9hZGRfYnVmZmVyKCZzdHJlYW0tPmhlYWRlcl9yZWN2YnVmLCAiIFxyXG4iLCAzKTsKKyAgICByZXN1bHQgPSBDdXJsX2R5bl9hZGQoJnN0cmVhbS0+aGVhZGVyX3JlY3ZidWYsICIgXHJcbiIpOwogICAgIGlmKHJlc3VsdCkKICAgICAgIHJldHVybiBOR0hUVFAyX0VSUl9DQUxMQkFDS19GQUlMVVJFOwogICAgIC8qIGlmIHdlIHJlY2VpdmUgZGF0YSBmb3IgYW5vdGhlciBoYW5kbGUsIHdha2UgdGhhdCB1cCAqLwpAQCAtMTAyOSwxNiArMTA1NCwxNiBAQAogICAvKiBuZ2h0dHAyIGd1YXJhbnRlZXMgdGhhdCBuYW1lbGVuID4gMCwgYW5kIDpzdGF0dXMgd2FzIGFscmVhZHkKICAgICAgcmVjZWl2ZWQsIGFuZCB0aGlzIGlzIG5vdCBwc2V1ZG8taGVhZGVyIGZpZWxkIC4gKi8KICAgLyogY29udmVydCB0byBhIEhUVFAxLXN0eWxlIGhlYWRlciAqLwotICByZXN1bHQgPSBDdXJsX2FkZF9idWZmZXIoJnN0cmVhbS0+aGVhZGVyX3JlY3ZidWYsIG5hbWUsIG5hbWVsZW4pOworICByZXN1bHQgPSBDdXJsX2R5bl9hZGRuKCZzdHJlYW0tPmhlYWRlcl9yZWN2YnVmLCBuYW1lLCBuYW1lbGVuKTsKICAgaWYocmVzdWx0KQogICAgIHJldHVybiBOR0hUVFAyX0VSUl9DQUxMQkFDS19GQUlMVVJFOwotICByZXN1bHQgPSBDdXJsX2FkZF9idWZmZXIoJnN0cmVhbS0+aGVhZGVyX3JlY3ZidWYsICI6ICIsIDIpOworICByZXN1bHQgPSBDdXJsX2R5bl9hZGQoJnN0cmVhbS0+aGVhZGVyX3JlY3ZidWYsICI6ICIpOwogICBpZihyZXN1bHQpCiAgICAgcmV0dXJuIE5HSFRUUDJfRVJSX0NBTExCQUNLX0ZBSUxVUkU7Ci0gIHJlc3VsdCA9IEN1cmxfYWRkX2J1ZmZlcigmc3RyZWFtLT5oZWFkZXJfcmVjdmJ1ZiwgdmFsdWUsIHZhbHVlbGVuKTsKKyAgcmVzdWx0ID0gQ3VybF9keW5fYWRkbigmc3RyZWFtLT5oZWFkZXJfcmVjdmJ1ZiwgdmFsdWUsIHZhbHVlbGVuKTsKICAgaWYocmVzdWx0KQogICAgIHJldHVybiBOR0hUVFAyX0VSUl9DQUxMQkFDS19GQUlMVVJFOwotICByZXN1bHQgPSBDdXJsX2FkZF9idWZmZXIoJnN0cmVhbS0+aGVhZGVyX3JlY3ZidWYsICJcclxuIiwgMik7CisgIHJlc3VsdCA9IEN1cmxfZHluX2FkZCgmc3RyZWFtLT5oZWFkZXJfcmVjdmJ1ZiwgIlxyXG4iKTsKICAgaWYocmVzdWx0KQogICAgIHJldHVybiBOR0hUVFAyX0VSUl9DQUxMQkFDS19GQUlMVVJFOwogICAvKiBpZiB3ZSByZWNlaXZlIGRhdGEgZm9yIGFub3RoZXIgaGFuZGxlLCB3YWtlIHRoYXQgdXAgKi8KQEAgLTExMzksMTcgKzExNjQsMTQgQEAKIAogICAvKiB0aGVyZSBtaWdodCBiZSBhbGxvY2F0ZWQgcmVzb3VyY2VzIGRvbmUgYmVmb3JlIHRoaXMgZ290IHRoZSAnaDInIHBvaW50ZXIKICAgICAgc2V0dXAgKi8KLSAgaWYoaHR0cC0+aGVhZGVyX3JlY3ZidWYpIHsKLSAgICBDdXJsX2FkZF9idWZmZXJfZnJlZSgmaHR0cC0+aGVhZGVyX3JlY3ZidWYpOwotICAgIEN1cmxfYWRkX2J1ZmZlcl9mcmVlKCZodHRwLT50cmFpbGVyX3JlY3ZidWYpOwotICAgIGlmKGh0dHAtPnB1c2hfaGVhZGVycykgewotICAgICAgLyogaWYgdGhleSB3ZXJlbid0IHVzZWQgYW5kIHRoZW4gZnJlZWQgYmVmb3JlICovCi0gICAgICBmb3IoOyBodHRwLT5wdXNoX2hlYWRlcnNfdXNlZCA+IDA7IC0taHR0cC0+cHVzaF9oZWFkZXJzX3VzZWQpIHsKLSAgICAgICAgZnJlZShodHRwLT5wdXNoX2hlYWRlcnNbaHR0cC0+cHVzaF9oZWFkZXJzX3VzZWQgLSAxXSk7Ci0gICAgICB9Ci0gICAgICBmcmVlKGh0dHAtPnB1c2hfaGVhZGVycyk7Ci0gICAgICBodHRwLT5wdXNoX2hlYWRlcnMgPSBOVUxMOworICBDdXJsX2R5bl9mcmVlKCZodHRwLT5oZWFkZXJfcmVjdmJ1Zik7CisgIGlmKGh0dHAtPnB1c2hfaGVhZGVycykgeworICAgIC8qIGlmIHRoZXkgd2VyZW4ndCB1c2VkIGFuZCB0aGVuIGZyZWVkIGJlZm9yZSAqLworICAgIGZvcig7IGh0dHAtPnB1c2hfaGVhZGVyc191c2VkID4gMDsgLS1odHRwLT5wdXNoX2hlYWRlcnNfdXNlZCkgeworICAgICAgZnJlZShodHRwLT5wdXNoX2hlYWRlcnNbaHR0cC0+cHVzaF9oZWFkZXJzX3VzZWQgLSAxXSk7CiAgICAgfQorICAgIGZyZWUoaHR0cC0+cHVzaF9oZWFkZXJzKTsKKyAgICBodHRwLT5wdXNoX2hlYWRlcnMgPSBOVUxMOwogICB9CiAKICAgaWYoIWh0dHBjLT5oMikgLyogbm90IEhUVFAvMiA/ICovCkBAIC0xMjM4LDcgKzEyNjAsNyBAQAogLyoKICAqIEFwcGVuZCBoZWFkZXJzIHRvIGFzayBmb3IgYSBIVFRQMS4xIHRvIEhUVFAyIHVwZ3JhZGUuCiAgKi8KLUNVUkxjb2RlIEN1cmxfaHR0cDJfcmVxdWVzdF91cGdyYWRlKEN1cmxfc2VuZF9idWZmZXIgKnJlcSwKK0NVUkxjb2RlIEN1cmxfaHR0cDJfcmVxdWVzdF91cGdyYWRlKHN0cnVjdCBkeW5idWYgKnJlcSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cnVjdCBjb25uZWN0ZGF0YSAqY29ubikKIHsKICAgQ1VSTGNvZGUgcmVzdWx0OwpAQCAtMTI1Nyw3ICsxMjc5LDcgQEAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaHR0cGMtPmxvY2FsX3NldHRpbmdzX251bSk7CiAgIGlmKCFiaW5sZW4pIHsKICAgICBmYWlsZihjb25uLT5kYXRhLCAibmdodHRwMiB1bmV4cGVjdGVkbHkgZmFpbGVkIG9uIHBhY2tfc2V0dGluZ3NfcGF5bG9hZCIpOwotICAgIEN1cmxfYWRkX2J1ZmZlcl9mcmVlKCZyZXEpOworICAgIEN1cmxfZHluX2ZyZWUocmVxKTsKICAgICByZXR1cm4gQ1VSTEVfRkFJTEVEX0lOSVQ7CiAgIH0KICAgY29ubi0+cHJvdG8uaHR0cGMuYmlubGVuID0gYmlubGVuOwpAQCAtMTI2NSwxNSArMTI4NywxNSBAQAogICByZXN1bHQgPSBDdXJsX2Jhc2U2NHVybF9lbmNvZGUoY29ubi0+ZGF0YSwgKGNvbnN0IGNoYXIgKiliaW5zZXR0aW5ncywgYmlubGVuLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJmJhc2U2NCwgJmJsZW4pOwogICBpZihyZXN1bHQpIHsKLSAgICBDdXJsX2FkZF9idWZmZXJfZnJlZSgmcmVxKTsKKyAgICBDdXJsX2R5bl9mcmVlKHJlcSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKICAgfQogCi0gIHJlc3VsdCA9IEN1cmxfYWRkX2J1ZmZlcmYoJnJlcSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAiQ29ubmVjdGlvbjogVXBncmFkZSwgSFRUUDItU2V0dGluZ3NcclxuIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICJVcGdyYWRlOiAlc1xyXG4iCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIkhUVFAyLVNldHRpbmdzOiAlc1xyXG4iLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5HSFRUUDJfQ0xFQVJURVhUX1BST1RPX1ZFUlNJT05fSUQsIGJhc2U2NCk7CisgIHJlc3VsdCA9IEN1cmxfZHluX2FkZGYocmVxLAorICAgICAgICAgICAgICAgICAgICAgICAgICJDb25uZWN0aW9uOiBVcGdyYWRlLCBIVFRQMi1TZXR0aW5nc1xyXG4iCisgICAgICAgICAgICAgICAgICAgICAgICAgIlVwZ3JhZGU6ICVzXHJcbiIKKyAgICAgICAgICAgICAgICAgICAgICAgICAiSFRUUDItU2V0dGluZ3M6ICVzXHJcbiIsCisgICAgICAgICAgICAgICAgICAgICAgICAgTkdIVFRQMl9DTEVBUlRFWFRfUFJPVE9fVkVSU0lPTl9JRCwgYmFzZTY0KTsKICAgZnJlZShiYXNlNjQpOwogCiAgIGstPnVwZ3IxMDEgPSBVUEdSMTAxX1JFUVVFU1RFRDsKQEAgLTEzNjcsMTAgKzEzODksMTEgQEAKIAogICAgIHN0cnVjdCBIVFRQICpzdHJlYW0gPSBjb25uLT5kYXRhLT5yZXEucHJvdG9wOwogCisgICAgc3RydWN0IGh0dHBfY29ubiAqaHR0cGMgPSAmY29ubi0+cHJvdG8uaHR0cGM7CisgICAgbmdodHRwMl9zZXNzaW9uICpoMiA9IGh0dHBjLT5oMjsKKwogICAgIGlmKHN0cmVhbS0+dXBsb2FkX2xlZnQpIHsKICAgICAgIC8qIElmIHRoZSBzdHJlYW0gc3RpbGwgdGhpbmtzIHRoZXJlJ3MgZGF0YSBsZWZ0IHRvIHVwbG9hZC4gKi8KLSAgICAgIHN0cnVjdCBodHRwX2Nvbm4gKmh0dHBjID0gJmNvbm4tPnByb3RvLmh0dHBjOwotICAgICAgbmdodHRwMl9zZXNzaW9uICpoMiA9IGh0dHBjLT5oMjsKIAogICAgICAgc3RyZWFtLT51cGxvYWRfbGVmdCA9IDA7IC8qIERPTkUhICovCiAKQEAgLTEzODAsNiArMTQwMywyMyBAQAogCiAgICAgICAodm9pZCloMl9wcm9jZXNzX3BlbmRpbmdfaW5wdXQoY29ubiwgaHR0cGMsICZyZXN1bHQpOwogICAgIH0KKworICAgIC8qIElmIG5naHR0cDIgc3RpbGwgaGFzIHBlbmRpbmcgZnJhbWVzIHVuc2VudCAqLworICAgIGlmKG5naHR0cDJfc2Vzc2lvbl93YW50X3dyaXRlKGgyKSkgeworICAgICAgc3RydWN0IEN1cmxfZWFzeSAqZGF0YSA9IGNvbm4tPmRhdGE7CisgICAgICBzdHJ1Y3QgU2luZ2xlUmVxdWVzdCAqayA9ICZkYXRhLT5yZXE7CisgICAgICBpbnQgcnY7CisKKyAgICAgIEgyQlVHRihpbmZvZihkYXRhLCAiSFRUUC8yIHN0aWxsIHdhbnRzIHRvIHNlbmQgZGF0YSAoZWFzeSAlcClcbiIsIGRhdGEpKTsKKworICAgICAgLyogcmUtc2V0IEtFRVBfU0VORCB0byBtYWtlIHN1cmUgd2UgYXJlIGNhbGxlZCBhZ2FpbiAqLworICAgICAgay0+a2VlcG9uIHw9IEtFRVBfU0VORDsKKworICAgICAgLyogYW5kIGF0dGVtcHQgdG8gc2VuZCB0aGUgcGVuZGluZyBmcmFtZXMgKi8KKyAgICAgIHJ2ID0gaDJfc2Vzc2lvbl9zZW5kKGRhdGEsIGgyKTsKKyAgICAgIGlmKHJ2ICE9IDApCisgICAgICAgIHJlc3VsdCA9IENVUkxFX1NFTkRfRVJST1I7CisgICAgfQogICB9CiAgIHJldHVybiByZXN1bHQ7CiB9CkBAIC0xMzg4LDggKzE0MjgsNiBAQAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJ1Y3QgQ3VybF9lYXN5ICpkYXRhLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJ1Y3QgSFRUUCAqc3RyZWFtLCBDVVJMY29kZSAqZXJyKQogewotICBjaGFyICp0cmFpbGVyX3BvcywgKnRyYWlsZXJfZW5kOwotICBDVVJMY29kZSByZXN1bHQ7CiAgIHN0cnVjdCBodHRwX2Nvbm4gKmh0dHBjID0gJmNvbm4tPnByb3RvLmh0dHBjOwogCiAgIGlmKGh0dHBjLT5wYXVzZV9zdHJlYW1faWQgPT0gc3RyZWFtLT5zdHJlYW1faWQpIHsKQEAgLTE0MzIsMjUgKzE0NzAsNiBAQAogICAgIHJldHVybiAtMTsKICAgfQogCi0gIGlmKHN0cmVhbS0+dHJhaWxlcl9yZWN2YnVmICYmIHN0cmVhbS0+dHJhaWxlcl9yZWN2YnVmLT5idWZmZXIpIHsKLSAgICB0cmFpbGVyX3BvcyA9IHN0cmVhbS0+dHJhaWxlcl9yZWN2YnVmLT5idWZmZXI7Ci0gICAgdHJhaWxlcl9lbmQgPSB0cmFpbGVyX3BvcyArIHN0cmVhbS0+dHJhaWxlcl9yZWN2YnVmLT5zaXplX3VzZWQ7Ci0KLSAgICBmb3IoOyB0cmFpbGVyX3BvcyA8IHRyYWlsZXJfZW5kOykgewotICAgICAgdWludDMyX3QgbjsKLSAgICAgIG1lbWNweSgmbiwgdHJhaWxlcl9wb3MsIHNpemVvZihuKSk7Ci0gICAgICB0cmFpbGVyX3BvcyArPSBzaXplb2Yobik7Ci0KLSAgICAgIHJlc3VsdCA9IEN1cmxfY2xpZW50X3dyaXRlKGNvbm4sIENMSUVOVFdSSVRFX0hFQURFUiwgdHJhaWxlcl9wb3MsIG4pOwotICAgICAgaWYocmVzdWx0KSB7Ci0gICAgICAgICplcnIgPSByZXN1bHQ7Ci0gICAgICAgIHJldHVybiAtMTsKLSAgICAgIH0KLQotICAgICAgdHJhaWxlcl9wb3MgKz0gbiArIDE7Ci0gICAgfQotICB9Ci0KICAgc3RyZWFtLT5jbG9zZV9oYW5kbGVkID0gVFJVRTsKIAogICBIMkJVR0YoaW5mb2YoZGF0YSwgImh0dHAyX3JlY3YgcmV0dXJucyAwLCBodHRwMl9oYW5kbGVfc3RyZWFtX2Nsb3NlXG4iKSk7CkBAIC0xNTQxLDEzICsxNTYwLDEzIEBACiAgICAqLwogCiAgIGlmKHN0cmVhbS0+Ym9keXN0YXJ0ZWQgJiYKLSAgICAgc3RyZWFtLT5ucmVhZF9oZWFkZXJfcmVjdmJ1ZiA8IHN0cmVhbS0+aGVhZGVyX3JlY3ZidWYtPnNpemVfdXNlZCkgewotICAgIC8qIElmIHRoZXJlIGlzIGJvZHkgZGF0YSBwZW5kaW5nIGZvciB0aGlzIHN0cmVhbSB0byByZXR1cm4sIGRvIHRoYXQgKi8KKyAgICAgc3RyZWFtLT5ucmVhZF9oZWFkZXJfcmVjdmJ1ZiA8IEN1cmxfZHluX2xlbigmc3RyZWFtLT5oZWFkZXJfcmVjdmJ1ZikpIHsKKyAgICAvKiBJZiB0aGVyZSBpcyBoZWFkZXIgZGF0YSBwZW5kaW5nIGZvciB0aGlzIHN0cmVhbSB0byByZXR1cm4sIGRvIHRoYXQgKi8KICAgICBzaXplX3QgbGVmdCA9Ci0gICAgICBzdHJlYW0tPmhlYWRlcl9yZWN2YnVmLT5zaXplX3VzZWQgLSBzdHJlYW0tPm5yZWFkX2hlYWRlcl9yZWN2YnVmOworICAgICAgQ3VybF9keW5fbGVuKCZzdHJlYW0tPmhlYWRlcl9yZWN2YnVmKSAtIHN0cmVhbS0+bnJlYWRfaGVhZGVyX3JlY3ZidWY7CiAgICAgc2l6ZV90IG5jb3B5ID0gQ1VSTE1JTihsZW4sIGxlZnQpOwotICAgIG1lbWNweShtZW0sIHN0cmVhbS0+aGVhZGVyX3JlY3ZidWYtPmJ1ZmZlciArIHN0cmVhbS0+bnJlYWRfaGVhZGVyX3JlY3ZidWYsCi0gICAgICAgICAgIG5jb3B5KTsKKyAgICBtZW1jcHkobWVtLCBDdXJsX2R5bl9wdHIoJnN0cmVhbS0+aGVhZGVyX3JlY3ZidWYpICsKKyAgICAgICAgICAgc3RyZWFtLT5ucmVhZF9oZWFkZXJfcmVjdmJ1ZiwgbmNvcHkpOwogICAgIHN0cmVhbS0+bnJlYWRfaGVhZGVyX3JlY3ZidWYgKz0gbmNvcHk7CiAKICAgICBIMkJVR0YoaW5mb2YoZGF0YSwgImh0dHAyX3JlY3Y6IEdvdCAlZCBieXRlcyBmcm9tIGhlYWRlcl9yZWN2YnVmXG4iLApAQCAtMjA1Niw3ICsyMDc1LDcgQEAKIAogICBoMl9wcmlfc3BlYyhjb25uLT5kYXRhLCAmcHJpX3NwZWMpOwogCi0gIHN3aXRjaChjb25uLT5kYXRhLT5zZXQuaHR0cHJlcSkgeworICBzd2l0Y2goY29ubi0+ZGF0YS0+c3RhdGUuaHR0cHJlcSkgewogICBjYXNlIEhUVFBSRVFfUE9TVDoKICAgY2FzZSBIVFRQUkVRX1BPU1RfRk9STToKICAgY2FzZSBIVFRQUkVRX1BPU1RfTUlNRToKQEAgLTIxMjcsMTMgKzIxNDYsMTEgQEAKICAgc3RydWN0IGh0dHBfY29ubiAqaHR0cGMgPSAmY29ubi0+cHJvdG8uaHR0cGM7CiAgIHN0cnVjdCBIVFRQICpzdHJlYW0gPSBjb25uLT5kYXRhLT5yZXEucHJvdG9wOwogCisgIERFQlVHQVNTRVJUKGNvbm4tPmRhdGEtPnN0YXRlLmJ1ZmZlcik7CisKICAgc3RyZWFtLT5zdHJlYW1faWQgPSAtMTsKIAotICBpZighc3RyZWFtLT5oZWFkZXJfcmVjdmJ1ZikgewotICAgIHN0cmVhbS0+aGVhZGVyX3JlY3ZidWYgPSBDdXJsX2FkZF9idWZmZXJfaW5pdCgpOwotICAgIGlmKCFzdHJlYW0tPmhlYWRlcl9yZWN2YnVmKQotICAgICAgcmV0dXJuIENVUkxFX09VVF9PRl9NRU1PUlk7Ci0gIH0KKyAgQ3VybF9keW5faW5pdCgmc3RyZWFtLT5oZWFkZXJfcmVjdmJ1ZiwgRFlOX0gyX0hFQURFUlMpOwogCiAgIGlmKChjb25uLT5oYW5kbGVyID09ICZDdXJsX2hhbmRsZXJfaHR0cDJfc3NsKSB8fAogICAgICAoY29ubi0+aGFuZGxlciA9PSAmQ3VybF9oYW5kbGVyX2h0dHAyKSkKQEAgLTIxNDYsNyArMjE2Myw3IEBACiAKICAgcmVzdWx0ID0gaHR0cDJfaW5pdChjb25uKTsKICAgaWYocmVzdWx0KSB7Ci0gICAgQ3VybF9hZGRfYnVmZmVyX2ZyZWUoJnN0cmVhbS0+aGVhZGVyX3JlY3ZidWYpOworICAgIEN1cmxfZHluX2ZyZWUoJnN0cmVhbS0+aGVhZGVyX3JlY3ZidWYpOwogICAgIHJldHVybiByZXN1bHQ7CiAgIH0KIApAQCAtMjE1NCw2ICsyMTcxLDggQEAKICAgc3RyZWFtLT51cGxvYWRfbGVmdCA9IDA7CiAgIHN0cmVhbS0+dXBsb2FkX21lbSA9IE5VTEw7CiAgIHN0cmVhbS0+dXBsb2FkX2xlbiA9IDA7CisgIHN0cmVhbS0+bWVtID0gY29ubi0+ZGF0YS0+c3RhdGUuYnVmZmVyOworICBzdHJlYW0tPmxlbiA9IGNvbm4tPmRhdGEtPnNldC5idWZmZXJfc2l6ZTsKIAogICBodHRwYy0+aW5idWZsZW4gPSAwOwogICBodHRwYy0+bnJlYWRfaW5idWYgPSAwOwpkaWZmIC0tZ2l0IGEvbGliL2h0dHAyLmggYi9saWIvaHR0cDIuaAppbmRleCAxOTg5YWZmLi5lODJiMjEyIDEwMDY0NAotLS0gYS9saWIvaHR0cDIuaAorKysgYi9saWIvaHR0cDIuaApAQCAtNDIsNyArNDIsNyBAQAogQ1VSTGNvZGUgQ3VybF9odHRwMl9pbml0KHN0cnVjdCBjb25uZWN0ZGF0YSAqY29ubik7CiB2b2lkIEN1cmxfaHR0cDJfaW5pdF9zdGF0ZShzdHJ1Y3QgVXJsU3RhdGUgKnN0YXRlKTsKIHZvaWQgQ3VybF9odHRwMl9pbml0X3VzZXJzZXQoc3RydWN0IFVzZXJEZWZpbmVkICpzZXQpOwotQ1VSTGNvZGUgQ3VybF9odHRwMl9yZXF1ZXN0X3VwZ3JhZGUoQ3VybF9zZW5kX2J1ZmZlciAqcmVxLAorQ1VSTGNvZGUgQ3VybF9odHRwMl9yZXF1ZXN0X3VwZ3JhZGUoc3RydWN0IGR5bmJ1ZiAqcmVxLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RydWN0IGNvbm5lY3RkYXRhICpjb25uKTsKIENVUkxjb2RlIEN1cmxfaHR0cDJfc2V0dXAoc3RydWN0IGNvbm5lY3RkYXRhICpjb25uKTsKIENVUkxjb2RlIEN1cmxfaHR0cDJfc3dpdGNoZWQoc3RydWN0IGNvbm5lY3RkYXRhICpjb25uLApkaWZmIC0tZ2l0IGEvbGliL2h0dHBfY2h1bmtzLmMgYi9saWIvaHR0cF9jaHVua3MuYwppbmRleCBiNmZmYTQxLi43NjdmODA2IDEwMDY0NAotLS0gYS9saWIvaHR0cF9jaHVua3MuYworKysgYi9saWIvaHR0cF9jaHVua3MuYwpAQCAtNSw3ICs1LDcgQEAKICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgKF9ffCB8X3wgfCAgXyA8fCB8X19fCiAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXF9fX3xcX19fL3xffCBcX1xfX19fX3wKICAqCi0gKiBDb3B5cmlnaHQgKEMpIDE5OTggLSAyMDE5LCBEYW5pZWwgU3RlbmJlcmcsIDxkYW5pZWxAaGF4eC5zZT4sIGV0IGFsLgorICogQ29weXJpZ2h0IChDKSAxOTk4IC0gMjAyMCwgRGFuaWVsIFN0ZW5iZXJnLCA8ZGFuaWVsQGhheHguc2U+LCBldCBhbC4KICAqCiAgKiBUaGlzIHNvZnR3YXJlIGlzIGxpY2Vuc2VkIGFzIGRlc2NyaWJlZCBpbiB0aGUgZmlsZSBDT1BZSU5HLCB3aGljaAogICogeW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGFzIHBhcnQgb2YgdGhpcyBkaXN0cmlidXRpb24uIFRoZSB0ZXJtcwpAQCAtMjYsNyArMjYsNyBAQAogCiAjaW5jbHVkZSAidXJsZGF0YS5oIiAvKiBpdCBpbmNsdWRlcyBodHRwX2NodW5rcy5oICovCiAjaW5jbHVkZSAic2VuZGYuaCIgICAvKiBmb3IgdGhlIGNsaWVudCB3cml0ZSBzdHVmZiAqLwotCisjaW5jbHVkZSAiZHluYnVmLmgiCiAjaW5jbHVkZSAiY29udGVudF9lbmNvZGluZy5oIgogI2luY2x1ZGUgImh0dHAuaCIKICNpbmNsdWRlICJub24tYXNjaWkuaCIgLyogZm9yIEN1cmxfY29udmVydF90b19uZXR3b3JrIHByb3RvdHlwZSAqLwpAQCAtOTMsNiArOTMsNyBAQAogICBjaHVuay0+aGV4aW5kZXggPSAwOyAgICAgIC8qIHN0YXJ0IGF0IDAgKi8KICAgY2h1bmstPmRhdGFsZWZ0ID0gMDsgICAgICAvKiBubyBkYXRhIGxlZnQgeWV0ISAqLwogICBjaHVuay0+c3RhdGUgPSBDSFVOS19IRVg7IC8qIHdlIGdldCBoZXggZmlyc3QhICovCisgIEN1cmxfZHluX2luaXQoJmNvbm4tPnRyYWlsZXIsIERZTl9IMV9UUkFJTEVSKTsKIH0KIAogLyoKQEAgLTE3Nyw3ICsxNzgsNiBAQAogICAgICAgICAvKiB3ZSdyZSBub3cgZXhwZWN0aW5nIGRhdGEgdG8gY29tZSwgdW5sZXNzIHNpemUgd2FzIHplcm8hICovCiAgICAgICAgIGlmKDAgPT0gY2gtPmRhdGFzaXplKSB7CiAgICAgICAgICAgY2gtPnN0YXRlID0gQ0hVTktfVFJBSUxFUjsgLyogbm93IGNoZWNrIGZvciB0cmFpbGVycyAqLwotICAgICAgICAgIGNvbm4tPnRybFBvcyA9IDA7CiAgICAgICAgIH0KICAgICAgICAgZWxzZQogICAgICAgICAgIGNoLT5zdGF0ZSA9IENIVU5LX0RBVEE7CkBAIC0yMjksMzIgKzIyOSwzMyBAQAogCiAgICAgY2FzZSBDSFVOS19UUkFJTEVSOgogICAgICAgaWYoKCpkYXRhcCA9PSAweDBkKSB8fCAoKmRhdGFwID09IDB4MGEpKSB7CisgICAgICAgIGNoYXIgKnRyID0gQ3VybF9keW5fcHRyKCZjb25uLT50cmFpbGVyKTsKICAgICAgICAgLyogdGhpcyBpcyB0aGUgZW5kIG9mIGEgdHJhaWxlciwgYnV0IGlmIHRoZSB0cmFpbGVyIHdhcyB6ZXJvIGJ5dGVzCiAgICAgICAgICAgIHRoZXJlIHdhcyBubyB0cmFpbGVyIGFuZCB3ZSBtb3ZlIG9uICovCiAKLSAgICAgICAgaWYoY29ubi0+dHJsUG9zKSB7Ci0gICAgICAgICAgLyogd2UgYWxsb2NhdGUgdHJhaWxlciB3aXRoIDMgYnl0ZXMgZXh0cmEgcm9vbSB0byBmaXQgdGhpcyAqLwotICAgICAgICAgIGNvbm4tPnRyYWlsZXJbY29ubi0+dHJsUG9zKytdID0gMHgwZDsKLSAgICAgICAgICBjb25uLT50cmFpbGVyW2Nvbm4tPnRybFBvcysrXSA9IDB4MGE7Ci0gICAgICAgICAgY29ubi0+dHJhaWxlcltjb25uLT50cmxQb3NdID0gMDsKKyAgICAgICAgaWYodHIpIHsKKyAgICAgICAgICBzaXplX3QgdHJsZW47CisgICAgICAgICAgcmVzdWx0ID0gQ3VybF9keW5fYWRkKCZjb25uLT50cmFpbGVyLCAoY2hhciAqKSJceDBkXHgwYSIpOworICAgICAgICAgIGlmKHJlc3VsdCkKKyAgICAgICAgICAgIHJldHVybiBDSFVOS0VfT1VUX09GX01FTU9SWTsKIAorICAgICAgICAgIHRyID0gQ3VybF9keW5fcHRyKCZjb25uLT50cmFpbGVyKTsKKyAgICAgICAgICB0cmxlbiA9IEN1cmxfZHluX2xlbigmY29ubi0+dHJhaWxlcik7CiAgICAgICAgICAgLyogQ29udmVydCB0byBob3N0IGVuY29kaW5nIGJlZm9yZSBjYWxsaW5nIEN1cmxfY2xpZW50X3dyaXRlICovCi0gICAgICAgICAgcmVzdWx0ID0gQ3VybF9jb252ZXJ0X2Zyb21fbmV0d29yayhjb25uLT5kYXRhLCBjb25uLT50cmFpbGVyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29ubi0+dHJsUG9zKTsKKyAgICAgICAgICByZXN1bHQgPSBDdXJsX2NvbnZlcnRfZnJvbV9uZXR3b3JrKGNvbm4tPmRhdGEsIHRyLCB0cmxlbik7CiAgICAgICAgICAgaWYocmVzdWx0KQogICAgICAgICAgICAgLyogQ3VybF9jb252ZXJ0X2Zyb21fbmV0d29yayBjYWxscyBmYWlsZiBpZiB1bnN1Y2Nlc3NmdWwgKi8KICAgICAgICAgICAgIC8qIFRyZWF0IGl0IGFzIGEgYmFkIGNodW5rICovCiAgICAgICAgICAgICByZXR1cm4gQ0hVTktFX0JBRF9DSFVOSzsKIAogICAgICAgICAgIGlmKCFkYXRhLT5zZXQuaHR0cF90ZV9za2lwKSB7Ci0gICAgICAgICAgICByZXN1bHQgPSBDdXJsX2NsaWVudF93cml0ZShjb25uLCBDTElFTlRXUklURV9IRUFERVIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25uLT50cmFpbGVyLCBjb25uLT50cmxQb3MpOworICAgICAgICAgICAgcmVzdWx0ID0gQ3VybF9jbGllbnRfd3JpdGUoY29ubiwgQ0xJRU5UV1JJVEVfSEVBREVSLCB0ciwgdHJsZW4pOwogICAgICAgICAgICAgaWYocmVzdWx0KSB7CiAgICAgICAgICAgICAgICpleHRyYXAgPSByZXN1bHQ7CiAgICAgICAgICAgICAgIHJldHVybiBDSFVOS0VfUEFTU1RIUlVfRVJST1I7CiAgICAgICAgICAgICB9CiAgICAgICAgICAgfQotICAgICAgICAgIGNvbm4tPnRybFBvcyA9IDA7CisgICAgICAgICAgQ3VybF9keW5fcmVzZXQoJmNvbm4tPnRyYWlsZXIpOwogICAgICAgICAgIGNoLT5zdGF0ZSA9IENIVU5LX1RSQUlMRVJfQ1I7CiAgICAgICAgICAgaWYoKmRhdGFwID09IDB4MGEpCiAgICAgICAgICAgICAvKiBhbHJlYWR5IG9uIHRoZSBMRiAqLwpAQCAtMjY3LDI1ICsyNjgsOSBAQAogICAgICAgICB9CiAgICAgICB9CiAgICAgICBlbHNlIHsKLSAgICAgICAgLyogY29ubi0+dHJhaWxlciBpcyBhc3N1bWVkIHRvIGJlIGZyZWVkIGluIHVybC5jIG9uIGEKLSAgICAgICAgICAgY29ubmVjdGlvbiBiYXNpcyAqLwotICAgICAgICBpZihjb25uLT50cmxQb3MgPj0gY29ubi0+dHJsTWF4KSB7Ci0gICAgICAgICAgLyogd2UgYWx3YXlzIGFsbG9jYXRlIHRocmVlIGV4dHJhIGJ5dGVzLCBqdXN0IGJlY2F1c2Ugd2hlbiB0aGUgZnVsbAotICAgICAgICAgICAgIGhlYWRlciBoYXMgYmVlbiByZWNlaXZlZCB3ZSBhcHBlbmQgQ1JMRlwwICovCi0gICAgICAgICAgY2hhciAqcHRyOwotICAgICAgICAgIGlmKGNvbm4tPnRybE1heCkgewotICAgICAgICAgICAgY29ubi0+dHJsTWF4ICo9IDI7Ci0gICAgICAgICAgICBwdHIgPSByZWFsbG9jKGNvbm4tPnRyYWlsZXIsIGNvbm4tPnRybE1heCArIDMpOwotICAgICAgICAgIH0KLSAgICAgICAgICBlbHNlIHsKLSAgICAgICAgICAgIGNvbm4tPnRybE1heCA9IDEyODsKLSAgICAgICAgICAgIHB0ciA9IG1hbGxvYyhjb25uLT50cmxNYXggKyAzKTsKLSAgICAgICAgICB9Ci0gICAgICAgICAgaWYoIXB0cikKLSAgICAgICAgICAgIHJldHVybiBDSFVOS0VfT1VUX09GX01FTU9SWTsKLSAgICAgICAgICBjb25uLT50cmFpbGVyID0gcHRyOwotICAgICAgICB9Ci0gICAgICAgIGNvbm4tPnRyYWlsZXJbY29ubi0+dHJsUG9zKytdPSpkYXRhcDsKKyAgICAgICAgcmVzdWx0ID0gQ3VybF9keW5fYWRkbigmY29ubi0+dHJhaWxlciwgZGF0YXAsIDEpOworICAgICAgICBpZihyZXN1bHQpCisgICAgICAgICAgcmV0dXJuIENIVU5LRV9PVVRfT0ZfTUVNT1JZOwogICAgICAgfQogICAgICAgZGF0YXArKzsKICAgICAgIGxlbmd0aC0tOwpkaWZmIC0tZ2l0IGEvbGliL2h0dHBfZGlnZXN0LmMgYi9saWIvaHR0cF9kaWdlc3QuYwppbmRleCA5NjE2YzMwLi5iMDZkYzBkIDEwMDY0NAotLS0gYS9saWIvaHR0cF9kaWdlc3QuYworKysgYi9saWIvaHR0cF9kaWdlc3QuYwpAQCAtNSw3ICs1LDcgQEAKICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgKF9ffCB8X3wgfCAgXyA8fCB8X19fCiAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXF9fX3xcX19fL3xffCBcX1xfX19fX3wKICAqCi0gKiBDb3B5cmlnaHQgKEMpIDE5OTggLSAyMDE5LCBEYW5pZWwgU3RlbmJlcmcsIDxkYW5pZWxAaGF4eC5zZT4sIGV0IGFsLgorICogQ29weXJpZ2h0IChDKSAxOTk4IC0gMjAyMCwgRGFuaWVsIFN0ZW5iZXJnLCA8ZGFuaWVsQGhheHguc2U+LCBldCBhbC4KICAqCiAgKiBUaGlzIHNvZnR3YXJlIGlzIGxpY2Vuc2VkIGFzIGRlc2NyaWJlZCBpbiB0aGUgZmlsZSBDT1BZSU5HLCB3aGljaAogICogeW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGFzIHBhcnQgb2YgdGhpcyBkaXN0cmlidXRpb24uIFRoZSB0ZXJtcwpAQCAtOTQsMTUgKzk0LDE5IEBACiAgIHN0cnVjdCBhdXRoICphdXRocDsKIAogICBpZihwcm94eSkgeworI2lmZGVmIENVUkxfRElTQUJMRV9QUk9YWQorICAgIHJldHVybiBDVVJMRV9OT1RfQlVJTFRfSU47CisjZWxzZQogICAgIGRpZ2VzdCA9ICZkYXRhLT5zdGF0ZS5wcm94eWRpZ2VzdDsKLSAgICBhbGxvY3VzZXJwd2QgPSAmY29ubi0+YWxsb2NwdHIucHJveHl1c2VycHdkOworICAgIGFsbG9jdXNlcnB3ZCA9ICZkYXRhLT5zdGF0ZS5hcHRyLnByb3h5dXNlcnB3ZDsKICAgICB1c2VycCA9IGNvbm4tPmh0dHBfcHJveHkudXNlcjsKICAgICBwYXNzd2RwID0gY29ubi0+aHR0cF9wcm94eS5wYXNzd2Q7CiAgICAgYXV0aHAgPSAmZGF0YS0+c3RhdGUuYXV0aHByb3h5OworI2VuZGlmCiAgIH0KICAgZWxzZSB7CiAgICAgZGlnZXN0ID0gJmRhdGEtPnN0YXRlLmRpZ2VzdDsKLSAgICBhbGxvY3VzZXJwd2QgPSAmY29ubi0+YWxsb2NwdHIudXNlcnB3ZDsKKyAgICBhbGxvY3VzZXJwd2QgPSAmZGF0YS0+c3RhdGUuYXB0ci51c2VycHdkOwogICAgIHVzZXJwID0gY29ubi0+dXNlcjsKICAgICBwYXNzd2RwID0gY29ubi0+cGFzc3dkOwogICAgIGF1dGhwID0gJmRhdGEtPnN0YXRlLmF1dGhob3N0OwpkaWZmIC0tZ2l0IGEvbGliL2h0dHBfZGlnZXN0LmggYi9saWIvaHR0cF9kaWdlc3QuaAppbmRleCA3MzQxMGFlLi45NmUzOWE3IDEwMDY0NAotLS0gYS9saWIvaHR0cF9kaWdlc3QuaAorKysgYi9saWIvaHR0cF9kaWdlc3QuaApAQCAtNyw3ICs3LDcgQEAKICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgKF9ffCB8X3wgfCAgXyA8fCB8X19fCiAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXF9fX3xcX19fL3xffCBcX1xfX19fX3wKICAqCi0gKiBDb3B5cmlnaHQgKEMpIDE5OTggLSAyMDE5LCBEYW5pZWwgU3RlbmJlcmcsIDxkYW5pZWxAaGF4eC5zZT4sIGV0IGFsLgorICogQ29weXJpZ2h0IChDKSAxOTk4IC0gMjAyMCwgRGFuaWVsIFN0ZW5iZXJnLCA8ZGFuaWVsQGhheHguc2U+LCBldCBhbC4KICAqCiAgKiBUaGlzIHNvZnR3YXJlIGlzIGxpY2Vuc2VkIGFzIGRlc2NyaWJlZCBpbiB0aGUgZmlsZSBDT1BZSU5HLCB3aGljaAogICogeW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGFzIHBhcnQgb2YgdGhpcyBkaXN0cmlidXRpb24uIFRoZSB0ZXJtcwpkaWZmIC0tZ2l0IGEvbGliL2h0dHBfbmVnb3RpYXRlLmMgYi9saWIvaHR0cF9uZWdvdGlhdGUuYwppbmRleCA4ZTFmM2JmLi4wYTE5ZWMyIDEwMDY0NAotLS0gYS9saWIvaHR0cF9uZWdvdGlhdGUuYworKysgYi9saWIvaHR0cF9uZWdvdGlhdGUuYwpAQCAtNSw3ICs1LDcgQEAKICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgKF9ffCB8X3wgfCAgXyA8fCB8X19fCiAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXF9fX3xcX19fL3xffCBcX1xfX19fX3wKICAqCi0gKiBDb3B5cmlnaHQgKEMpIDE5OTggLSAyMDE5LCBEYW5pZWwgU3RlbmJlcmcsIDxkYW5pZWxAaGF4eC5zZT4sIGV0IGFsLgorICogQ29weXJpZ2h0IChDKSAxOTk4IC0gMjAyMCwgRGFuaWVsIFN0ZW5iZXJnLCA8ZGFuaWVsQGhheHguc2U+LCBldCBhbC4KICAqCiAgKiBUaGlzIHNvZnR3YXJlIGlzIGxpY2Vuc2VkIGFzIGRlc2NyaWJlZCBpbiB0aGUgZmlsZSBDT1BZSU5HLCB3aGljaAogICogeW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGFzIHBhcnQgb2YgdGhpcyBkaXN0cmlidXRpb24uIFRoZSB0ZXJtcwpAQCAtNTIsNiArNTIsNyBAQAogICBjdXJsbmVnb3RpYXRlIHN0YXRlOwogCiAgIGlmKHByb3h5KSB7CisjaWZuZGVmIENVUkxfRElTQUJMRV9QUk9YWQogICAgIHVzZXJwID0gY29ubi0+aHR0cF9wcm94eS51c2VyOwogICAgIHBhc3N3ZHAgPSBjb25uLT5odHRwX3Byb3h5LnBhc3N3ZDsKICAgICBzZXJ2aWNlID0gZGF0YS0+c2V0LnN0cltTVFJJTkdfUFJPWFlfU0VSVklDRV9OQU1FXSA/CkBAIC01OSw2ICs2MCw5IEBACiAgICAgaG9zdCA9IGNvbm4tPmh0dHBfcHJveHkuaG9zdC5uYW1lOwogICAgIG5lZ19jdHggPSAmY29ubi0+cHJveHluZWc7CiAgICAgc3RhdGUgPSBjb25uLT5wcm94eV9uZWdvdGlhdGVfc3RhdGU7CisjZWxzZQorICAgIHJldHVybiBDVVJMRV9OT1RfQlVJTFRfSU47CisjZW5kaWYKICAgfQogICBlbHNlIHsKICAgICB1c2VycCA9IGNvbm4tPnVzZXI7CkBAIC0xMTksNyArMTIzLDggQEAKICAgc3RydWN0IGF1dGggKmF1dGhwID0gcHJveHkgPyAmY29ubi0+ZGF0YS0+c3RhdGUuYXV0aHByb3h5IDoKICAgICAmY29ubi0+ZGF0YS0+c3RhdGUuYXV0aGhvc3Q7CiAgIGN1cmxuZWdvdGlhdGUgKnN0YXRlID0gcHJveHkgPyAmY29ubi0+cHJveHlfbmVnb3RpYXRlX3N0YXRlIDoKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZjb25uLT5odHRwX25lZ290aWF0ZV9zdGF0ZTsKKyAgICAmY29ubi0+aHR0cF9uZWdvdGlhdGVfc3RhdGU7CisgIHN0cnVjdCBDdXJsX2Vhc3kgKmRhdGEgPSBjb25uLT5kYXRhOwogICBjaGFyICpiYXNlNjQgPSBOVUxMOwogICBzaXplX3QgbGVuID0gMDsKICAgY2hhciAqdXNlcnA7CkBAIC0xNjQsMTUgKzE2OSwxNSBAQAogICAgICAgcmV0dXJuIHJlc3VsdDsKIAogICAgIHVzZXJwID0gYXByaW50ZigiJXNBdXRob3JpemF0aW9uOiBOZWdvdGlhdGUgJXNcclxuIiwgcHJveHkgPyAiUHJveHktIiA6ICIiLAotICAgICAgYmFzZTY0KTsKKyAgICAgICAgICAgICAgICAgICAgYmFzZTY0KTsKIAogICAgIGlmKHByb3h5KSB7Ci0gICAgICBDdXJsX3NhZmVmcmVlKGNvbm4tPmFsbG9jcHRyLnByb3h5dXNlcnB3ZCk7Ci0gICAgICBjb25uLT5hbGxvY3B0ci5wcm94eXVzZXJwd2QgPSB1c2VycDsKKyAgICAgIEN1cmxfc2FmZWZyZWUoZGF0YS0+c3RhdGUuYXB0ci5wcm94eXVzZXJwd2QpOworICAgICAgZGF0YS0+c3RhdGUuYXB0ci5wcm94eXVzZXJwd2QgPSB1c2VycDsKICAgICB9CiAgICAgZWxzZSB7Ci0gICAgICBDdXJsX3NhZmVmcmVlKGNvbm4tPmFsbG9jcHRyLnVzZXJwd2QpOwotICAgICAgY29ubi0+YWxsb2NwdHIudXNlcnB3ZCA9IHVzZXJwOworICAgICAgQ3VybF9zYWZlZnJlZShkYXRhLT5zdGF0ZS5hcHRyLnVzZXJwd2QpOworICAgICAgZGF0YS0+c3RhdGUuYXB0ci51c2VycHdkID0gdXNlcnA7CiAgICAgfQogCiAgICAgZnJlZShiYXNlNjQpOwpkaWZmIC0tZ2l0IGEvbGliL2h0dHBfbmVnb3RpYXRlLmggYi9saWIvaHR0cF9uZWdvdGlhdGUuaAppbmRleCA0ZjBhYzE2Li5hNzM3ZjZmIDEwMDY0NAotLS0gYS9saWIvaHR0cF9uZWdvdGlhdGUuaAorKysgYi9saWIvaHR0cF9uZWdvdGlhdGUuaApAQCAtNyw3ICs3LDcgQEAKICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgKF9ffCB8X3wgfCAgXyA8fCB8X19fCiAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXF9fX3xcX19fL3xffCBcX1xfX19fX3wKICAqCi0gKiBDb3B5cmlnaHQgKEMpIDE5OTggLSAyMDE5LCBEYW5pZWwgU3RlbmJlcmcsIDxkYW5pZWxAaGF4eC5zZT4sIGV0IGFsLgorICogQ29weXJpZ2h0IChDKSAxOTk4IC0gMjAyMCwgRGFuaWVsIFN0ZW5iZXJnLCA8ZGFuaWVsQGhheHguc2U+LCBldCBhbC4KICAqCiAgKiBUaGlzIHNvZnR3YXJlIGlzIGxpY2Vuc2VkIGFzIGRlc2NyaWJlZCBpbiB0aGUgZmlsZSBDT1BZSU5HLCB3aGljaAogICogeW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGFzIHBhcnQgb2YgdGhpcyBkaXN0cmlidXRpb24uIFRoZSB0ZXJtcwpAQCAtMzMsNiArMzMsOCBAQAogCiB2b2lkIEN1cmxfaHR0cF9hdXRoX2NsZWFudXBfbmVnb3RpYXRlKHN0cnVjdCBjb25uZWN0ZGF0YSAqY29ubik7CiAKLSNlbmRpZiAvKiAhQ1VSTF9ESVNBQkxFX0hUVFAgJiYgVVNFX1NQTkVHTyAqLworI2Vsc2UgLyogIUNVUkxfRElTQUJMRV9IVFRQICYmIFVTRV9TUE5FR08gKi8KKyNkZWZpbmUgQ3VybF9odHRwX2F1dGhfY2xlYW51cF9uZWdvdGlhdGUoeCkKKyNlbmRpZgogCiAjZW5kaWYgLyogSEVBREVSX0NVUkxfSFRUUF9ORUdPVElBVEVfSCAqLwpkaWZmIC0tZ2l0IGEvbGliL2h0dHBfbnRsbS5jIGIvbGliL2h0dHBfbnRsbS5jCmluZGV4IDM0MmIyNDIuLmNhYjU0M2MgMTAwNjQ0Ci0tLSBhL2xpYi9odHRwX250bG0uYworKysgYi9saWIvaHR0cF9udGxtLmMKQEAgLTUsNyArNSw3IEBACiAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICB8IChfX3wgfF98IHwgIF8gPHwgfF9fXwogICogICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxfX198XF9fXy98X3wgXF9cX19fX198CiAgKgotICogQ29weXJpZ2h0IChDKSAxOTk4IC0gMjAxOSwgRGFuaWVsIFN0ZW5iZXJnLCA8ZGFuaWVsQGhheHguc2U+LCBldCBhbC4KKyAqIENvcHlyaWdodCAoQykgMTk5OCAtIDIwMjAsIERhbmllbCBTdGVuYmVyZywgPGRhbmllbEBoYXh4LnNlPiwgZXQgYWwuCiAgKgogICogVGhpcyBzb2Z0d2FyZSBpcyBsaWNlbnNlZCBhcyBkZXNjcmliZWQgaW4gdGhlIGZpbGUgQ09QWUlORywgd2hpY2gKICAqIHlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhcyBwYXJ0IG9mIHRoaXMgZGlzdHJpYnV0aW9uLiBUaGUgdGVybXMKQEAgLTEzMSwxMiArMTMxLDE1IEBACiAgIHN0cnVjdCBudGxtZGF0YSAqbnRsbTsKICAgY3VybG50bG0gKnN0YXRlOwogICBzdHJ1Y3QgYXV0aCAqYXV0aHA7CisgIHN0cnVjdCBDdXJsX2Vhc3kgKmRhdGEgPSBjb25uLT5kYXRhOworCiAKICAgREVCVUdBU1NFUlQoY29ubik7Ci0gIERFQlVHQVNTRVJUKGNvbm4tPmRhdGEpOworICBERUJVR0FTU0VSVChkYXRhKTsKIAogICBpZihwcm94eSkgewotICAgIGFsbG9jdXNlcnB3ZCA9ICZjb25uLT5hbGxvY3B0ci5wcm94eXVzZXJwd2Q7CisjaWZuZGVmIENVUkxfRElTQUJMRV9QUk9YWQorICAgIGFsbG9jdXNlcnB3ZCA9ICZkYXRhLT5zdGF0ZS5hcHRyLnByb3h5dXNlcnB3ZDsKICAgICB1c2VycCA9IGNvbm4tPmh0dHBfcHJveHkudXNlcjsKICAgICBwYXNzd2RwID0gY29ubi0+aHR0cF9wcm94eS5wYXNzd2Q7CiAgICAgc2VydmljZSA9IGNvbm4tPmRhdGEtPnNldC5zdHJbU1RSSU5HX1BST1hZX1NFUlZJQ0VfTkFNRV0gPwpAQCAtMTQ1LDkgKzE0OCwxMiBAQAogICAgIG50bG0gPSAmY29ubi0+cHJveHludGxtOwogICAgIHN0YXRlID0gJmNvbm4tPnByb3h5X250bG1fc3RhdGU7CiAgICAgYXV0aHAgPSAmY29ubi0+ZGF0YS0+c3RhdGUuYXV0aHByb3h5OworI2Vsc2UKKyAgICByZXR1cm4gQ1VSTEVfTk9UX0JVSUxUX0lOOworI2VuZGlmCiAgIH0KICAgZWxzZSB7Ci0gICAgYWxsb2N1c2VycHdkID0gJmNvbm4tPmFsbG9jcHRyLnVzZXJwd2Q7CisgICAgYWxsb2N1c2VycHdkID0gJmRhdGEtPnN0YXRlLmFwdHIudXNlcnB3ZDsKICAgICB1c2VycCA9IGNvbm4tPnVzZXI7CiAgICAgcGFzc3dkcCA9IGNvbm4tPnBhc3N3ZDsKICAgICBzZXJ2aWNlID0gY29ubi0+ZGF0YS0+c2V0LnN0cltTVFJJTkdfU0VSVklDRV9OQU1FXSA/CmRpZmYgLS1naXQgYS9saWIvaHR0cF9udGxtLmggYi9saWIvaHR0cF9udGxtLmgKaW5kZXggMDAzNzE0ZC4uM2ViZGY5NyAxMDA2NDQKLS0tIGEvbGliL2h0dHBfbnRsbS5oCisrKyBiL2xpYi9odHRwX250bG0uaApAQCAtNyw3ICs3LDcgQEAKICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgKF9ffCB8X3wgfCAgXyA8fCB8X19fCiAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXF9fX3xcX19fL3xffCBcX1xfX19fX3wKICAqCi0gKiBDb3B5cmlnaHQgKEMpIDE5OTggLSAyMDE5LCBEYW5pZWwgU3RlbmJlcmcsIDxkYW5pZWxAaGF4eC5zZT4sIGV0IGFsLgorICogQ29weXJpZ2h0IChDKSAxOTk4IC0gMjAyMCwgRGFuaWVsIFN0ZW5iZXJnLCA8ZGFuaWVsQGhheHguc2U+LCBldCBhbC4KICAqCiAgKiBUaGlzIHNvZnR3YXJlIGlzIGxpY2Vuc2VkIGFzIGRlc2NyaWJlZCBpbiB0aGUgZmlsZSBDT1BZSU5HLCB3aGljaAogICogeW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGFzIHBhcnQgb2YgdGhpcyBkaXN0cmlidXRpb24uIFRoZSB0ZXJtcwpAQCAtMzUsNiArMzUsOCBAQAogCiB2b2lkIEN1cmxfaHR0cF9hdXRoX2NsZWFudXBfbnRsbShzdHJ1Y3QgY29ubmVjdGRhdGEgKmNvbm4pOwogCi0jZW5kaWYgLyogIUNVUkxfRElTQUJMRV9IVFRQICYmIFVTRV9OVExNICovCisjZWxzZSAvKiAhQ1VSTF9ESVNBQkxFX0hUVFAgJiYgVVNFX05UTE0gKi8KKyNkZWZpbmUgQ3VybF9odHRwX2F1dGhfY2xlYW51cF9udGxtKHgpCisjZW5kaWYKIAogI2VuZGlmIC8qIEhFQURFUl9DVVJMX0hUVFBfTlRMTV9IICovCmRpZmYgLS1naXQgYS9saWIvaHR0cF9wcm94eS5jIGIvbGliL2h0dHBfcHJveHkuYwppbmRleCA3NWM3YTYwLi5mMTg4Y2JmIDEwMDY0NAotLS0gYS9saWIvaHR0cF9wcm94eS5jCisrKyBiL2xpYi9odHRwX3Byb3h5LmMKQEAgLTUsNyArNSw3IEBACiAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICB8IChfX3wgfF98IHwgIF8gPHwgfF9fXwogICogICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxfX198XF9fXy98X3wgXF9cX19fX198CiAgKgotICogQ29weXJpZ2h0IChDKSAxOTk4IC0gMjAxOSwgRGFuaWVsIFN0ZW5iZXJnLCA8ZGFuaWVsQGhheHguc2U+LCBldCBhbC4KKyAqIENvcHlyaWdodCAoQykgMTk5OCAtIDIwMjAsIERhbmllbCBTdGVuYmVyZywgPGRhbmllbEBoYXh4LnNlPiwgZXQgYWwuCiAgKgogICogVGhpcyBzb2Z0d2FyZSBpcyBsaWNlbnNlZCBhcyBkZXNjcmliZWQgaW4gdGhlIGZpbGUgQ09QWUlORywgd2hpY2gKICAqIHlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhcyBwYXJ0IG9mIHRoaXMgZGlzdHJpYnV0aW9uLiBUaGUgdGVybXMKQEAgLTcyLDYgKzcyLDcgQEAKIAogQ1VSTGNvZGUgQ3VybF9wcm94eV9jb25uZWN0KHN0cnVjdCBjb25uZWN0ZGF0YSAqY29ubiwgaW50IHNvY2tpbmRleCkKIHsKKyAgc3RydWN0IEN1cmxfZWFzeSAqZGF0YSA9IGNvbm4tPmRhdGE7CiAgIGlmKGNvbm4tPmh0dHBfcHJveHkucHJveHl0eXBlID09IENVUkxQUk9YWV9IVFRQUykgewogICAgIGNvbnN0IENVUkxjb2RlIHJlc3VsdCA9IGh0dHBzX3Byb3h5X2Nvbm5lY3QoY29ubiwgc29ja2luZGV4KTsKICAgICBpZihyZXN1bHQpCkBAIC0xMjcsNyArMTI4LDcgQEAKICAgICBjb25uLT5kYXRhLT5yZXEucHJvdG9wID0gcHJvdF9zYXZlOwogICAgIGlmKENVUkxFX09LICE9IHJlc3VsdCkKICAgICAgIHJldHVybiByZXN1bHQ7Ci0gICAgQ3VybF9zYWZlZnJlZShjb25uLT5hbGxvY3B0ci5wcm94eXVzZXJwd2QpOworICAgIEN1cmxfc2FmZWZyZWUoZGF0YS0+c3RhdGUuYXB0ci5wcm94eXVzZXJwd2QpOwogI2Vsc2UKICAgICByZXR1cm4gQ1VSTEVfTk9UX0JVSUxUX0lOOwogI2VuZGlmCkBAIC0xNTgsMTUgKzE1OSwxNSBAQAogICAgICAgcmV0dXJuIENVUkxFX09VVF9PRl9NRU1PUlk7CiAgICAgaW5mb2YoY29ubi0+ZGF0YSwgImFsbG9jYXRlIGNvbm5lY3QgYnVmZmVyIVxuIik7CiAgICAgY29ubi0+Y29ubmVjdF9zdGF0ZSA9IHM7CisgICAgQ3VybF9keW5faW5pdCgmcy0+cmN2YnVmLCBEWU5fUFJPWFlfQ09OTkVDVF9IRUFERVJTKTsKICAgfQogICBlbHNlIHsKICAgICBERUJVR0FTU0VSVChjb25uLT5jb25uZWN0X3N0YXRlKTsKICAgICBzID0gY29ubi0+Y29ubmVjdF9zdGF0ZTsKKyAgICBDdXJsX2R5bl9yZXNldCgmcy0+cmN2YnVmKTsKICAgfQogICBzLT50dW5uZWxfc3RhdGUgPSBUVU5ORUxfSU5JVDsKICAgcy0+a2VlcG9uID0gVFJVRTsKLSAgcy0+bGluZV9zdGFydCA9IHMtPmNvbm5lY3RfYnVmZmVyOwotICBzLT5wdHIgPSBzLT5saW5lX3N0YXJ0OwogICBzLT5jbCA9IDA7CiAgIHMtPmNsb3NlX2Nvbm5lY3Rpb24gPSBGQUxTRTsKICAgcmV0dXJuIENVUkxFX09LOwpAQCAtMTc2LDYgKzE3Nyw3IEBACiB7CiAgIHN0cnVjdCBodHRwX2Nvbm5lY3Rfc3RhdGUgKnMgPSBjb25uLT5jb25uZWN0X3N0YXRlOwogICBzLT50dW5uZWxfc3RhdGUgPSBUVU5ORUxfQ09NUExFVEU7CisgIEN1cmxfZHluX2ZyZWUoJnMtPnJjdmJ1Zik7CiAgIGluZm9mKGNvbm4tPmRhdGEsICJDT05ORUNUIHBoYXNlIGNvbXBsZXRlZCFcbiIpOwogfQogCkBAIC0xOTAsNiArMTkyLDggQEAKICAgQ1VSTGNvZGUgcmVzdWx0OwogICBjdXJsX3NvY2tldF90IHR1bm5lbHNvY2tldCA9IGNvbm4tPnNvY2tbc29ja2luZGV4XTsKICAgc3RydWN0IGh0dHBfY29ubmVjdF9zdGF0ZSAqcyA9IGNvbm4tPmNvbm5lY3Rfc3RhdGU7CisgIGNoYXIgKmxpbmVwOworICBzaXplX3QgcGVybGluZTsKIAogI2RlZmluZSBTRUxFQ1RfT0sgICAgICAwCiAjZGVmaW5lIFNFTEVDVF9FUlJPUiAgIDEKQEAgLTIwNCw3ICsyMDgsNyBAQAogICAgIGlmKFRVTk5FTF9JTklUID09IHMtPnR1bm5lbF9zdGF0ZSkgewogICAgICAgLyogQkVHSU4gQ09OTkVDVCBQSEFTRSAqLwogICAgICAgY2hhciAqaG9zdF9wb3J0OwotICAgICAgQ3VybF9zZW5kX2J1ZmZlciAqcmVxX2J1ZmZlcjsKKyAgICAgIHN0cnVjdCBkeW5idWYgcmVxOwogCiAgICAgICBpbmZvZihkYXRhLCAiRXN0YWJsaXNoIEhUVFAgcHJveHkgdHVubmVsIHRvICVzOiVkXG4iLAogICAgICAgICAgICAgaG9zdG5hbWUsIHJlbW90ZV9wb3J0KTsKQEAgLTIxNSwxNyArMjE5LDEyIEBACiAgICAgICBmcmVlKGRhdGEtPnJlcS5uZXd1cmwpOwogICAgICAgZGF0YS0+cmVxLm5ld3VybCA9IE5VTEw7CiAKLSAgICAgIC8qIGluaXRpYWxpemUgYSBkeW5hbWljIHNlbmQtYnVmZmVyICovCi0gICAgICByZXFfYnVmZmVyID0gQ3VybF9hZGRfYnVmZmVyX2luaXQoKTsKLQotICAgICAgaWYoIXJlcV9idWZmZXIpCi0gICAgICAgIHJldHVybiBDVVJMRV9PVVRfT0ZfTUVNT1JZOwotCiAgICAgICBob3N0X3BvcnQgPSBhcHJpbnRmKCIlczolZCIsIGhvc3RuYW1lLCByZW1vdGVfcG9ydCk7Ci0gICAgICBpZighaG9zdF9wb3J0KSB7Ci0gICAgICAgIEN1cmxfYWRkX2J1ZmZlcl9mcmVlKCZyZXFfYnVmZmVyKTsKKyAgICAgIGlmKCFob3N0X3BvcnQpCiAgICAgICAgIHJldHVybiBDVVJMRV9PVVRfT0ZfTUVNT1JZOwotICAgICAgfQorCisgICAgICAvKiBpbml0aWFsaXplIGEgZHluYW1pYyBzZW5kLWJ1ZmZlciAqLworICAgICAgQ3VybF9keW5faW5pdCgmcmVxLCBEWU5fSFRUUF9SRVFVRVNUKTsKIAogICAgICAgLyogU2V0dXAgdGhlIHByb3h5LWF1dGhvcml6YXRpb24gaGVhZGVyLCBpZiBhbnkgKi8KICAgICAgIHJlc3VsdCA9IEN1cmxfaHR0cF9vdXRwdXRfYXV0aChjb25uLCAiQ09OTkVDVCIsIGhvc3RfcG9ydCwgVFJVRSk7CkBAIC0yMzYsOCArMjM1LDggQEAKICAgICAgICAgY2hhciAqaG9zdCA9IE5VTEw7CiAgICAgICAgIGNvbnN0IGNoYXIgKnByb3h5Y29ubiA9ICIiOwogICAgICAgICBjb25zdCBjaGFyICp1c2VyYWdlbnQgPSAiIjsKLSAgICAgICAgY29uc3QgY2hhciAqaHR0cCA9IChjb25uLT5odHRwX3Byb3h5LnByb3h5dHlwZSA9PSBDVVJMUFJPWFlfSFRUUF8xXzApID8KLSAgICAgICAgICAiMS4wIiA6ICIxLjEiOworICAgICAgICBjb25zdCBjaGFyICpodHRwdiA9CisgICAgICAgICAgKGNvbm4tPmh0dHBfcHJveHkucHJveHl0eXBlID09IENVUkxQUk9YWV9IVFRQXzFfMCkgPyAiMS4wIiA6ICIxLjEiOwogICAgICAgICBib29sIGlwdjZfaXAgPSBjb25uLT5iaXRzLmlwdjZfaXA7CiAgICAgICAgIGNoYXIgKmhvc3RoZWFkZXI7CiAKQEAgLTI0OCw3ICsyNDcsNyBAQAogICAgICAgICAgIGFwcmludGYoIiVzJXMlczolZCIsIGlwdjZfaXA/IlsiOiIiLCBob3N0bmFtZSwgaXB2Nl9pcD8iXSI6IiIsCiAgICAgICAgICAgICAgICAgICByZW1vdGVfcG9ydCk7CiAgICAgICAgIGlmKCFob3N0aGVhZGVyKSB7Ci0gICAgICAgICAgQ3VybF9hZGRfYnVmZmVyX2ZyZWUoJnJlcV9idWZmZXIpOworICAgICAgICAgIEN1cmxfZHluX2ZyZWUoJnJlcSk7CiAgICAgICAgICAgcmV0dXJuIENVUkxFX09VVF9PRl9NRU1PUlk7CiAgICAgICAgIH0KIApAQCAtMjU2LDcgKzI1NSw3IEBACiAgICAgICAgICAgaG9zdCA9IGFwcmludGYoIkhvc3Q6ICVzXHJcbiIsIGhvc3RoZWFkZXIpOwogICAgICAgICAgIGlmKCFob3N0KSB7CiAgICAgICAgICAgICBmcmVlKGhvc3RoZWFkZXIpOwotICAgICAgICAgICAgQ3VybF9hZGRfYnVmZmVyX2ZyZWUoJnJlcV9idWZmZXIpOworICAgICAgICAgICAgQ3VybF9keW5fZnJlZSgmcmVxKTsKICAgICAgICAgICAgIHJldHVybiBDVVJMRV9PVVRfT0ZfTUVNT1JZOwogICAgICAgICAgIH0KICAgICAgICAgfQpAQCAtMjY1LDUyICsyNjQsNDkgQEAKIAogICAgICAgICBpZighQ3VybF9jaGVja1Byb3h5aGVhZGVycyhjb25uLCAiVXNlci1BZ2VudCIpICYmCiAgICAgICAgICAgIGRhdGEtPnNldC5zdHJbU1RSSU5HX1VTRVJBR0VOVF0pCi0gICAgICAgICAgdXNlcmFnZW50ID0gY29ubi0+YWxsb2NwdHIudWFnZW50OworICAgICAgICAgIHVzZXJhZ2VudCA9IGRhdGEtPnN0YXRlLmFwdHIudWFnZW50OwogCiAgICAgICAgIHJlc3VsdCA9Ci0gICAgICAgICAgQ3VybF9hZGRfYnVmZmVyZigmcmVxX2J1ZmZlciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICJDT05ORUNUICVzIEhUVFAvJXNcclxuIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgIiVzIiAgLyogSG9zdDogKi8KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICIlcyIgIC8qIFByb3h5LUF1dGhvcml6YXRpb24gKi8KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICIlcyIgIC8qIFVzZXItQWdlbnQgKi8KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICIlcyIsIC8qIFByb3h5LUNvbm5lY3Rpb24gKi8KLSAgICAgICAgICAgICAgICAgICAgICAgICAgIGhvc3RoZWFkZXIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICBodHRwLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgaG9zdD9ob3N0OiIiLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgY29ubi0+YWxsb2NwdHIucHJveHl1c2VycHdkPwotICAgICAgICAgICAgICAgICAgICAgICAgICAgY29ubi0+YWxsb2NwdHIucHJveHl1c2VycHdkOiIiLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgdXNlcmFnZW50LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgcHJveHljb25uKTsKKyAgICAgICAgICBDdXJsX2R5bl9hZGRmKCZyZXEsCisgICAgICAgICAgICAgICAgICAgICAgICAiQ09OTkVDVCAlcyBIVFRQLyVzXHJcbiIKKyAgICAgICAgICAgICAgICAgICAgICAgICIlcyIgIC8qIEhvc3Q6ICovCisgICAgICAgICAgICAgICAgICAgICAgICAiJXMiICAvKiBQcm94eS1BdXRob3JpemF0aW9uICovCisgICAgICAgICAgICAgICAgICAgICAgICAiJXMiICAvKiBVc2VyLUFnZW50ICovCisgICAgICAgICAgICAgICAgICAgICAgICAiJXMiLCAvKiBQcm94eS1Db25uZWN0aW9uICovCisgICAgICAgICAgICAgICAgICAgICAgICBob3N0aGVhZGVyLAorICAgICAgICAgICAgICAgICAgICAgICAgaHR0cHYsCisgICAgICAgICAgICAgICAgICAgICAgICBob3N0P2hvc3Q6IiIsCisgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLT5zdGF0ZS5hcHRyLnByb3h5dXNlcnB3ZD8KKyAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtPnN0YXRlLmFwdHIucHJveHl1c2VycHdkOiIiLAorICAgICAgICAgICAgICAgICAgICAgICAgdXNlcmFnZW50LAorICAgICAgICAgICAgICAgICAgICAgICAgcHJveHljb25uKTsKIAogICAgICAgICBpZihob3N0KQogICAgICAgICAgIGZyZWUoaG9zdCk7CiAgICAgICAgIGZyZWUoaG9zdGhlYWRlcik7CiAKICAgICAgICAgaWYoIXJlc3VsdCkKLSAgICAgICAgICByZXN1bHQgPSBDdXJsX2FkZF9jdXN0b21faGVhZGVycyhjb25uLCBUUlVFLCByZXFfYnVmZmVyKTsKKyAgICAgICAgICByZXN1bHQgPSBDdXJsX2FkZF9jdXN0b21faGVhZGVycyhjb25uLCBUUlVFLCAmcmVxKTsKIAogICAgICAgICBpZighcmVzdWx0KQogICAgICAgICAgIC8qIENSTEYgdGVybWluYXRlIHRoZSByZXF1ZXN0ICovCi0gICAgICAgICAgcmVzdWx0ID0gQ3VybF9hZGRfYnVmZmVyZigmcmVxX2J1ZmZlciwgIlxyXG4iKTsKKyAgICAgICAgICByZXN1bHQgPSBDdXJsX2R5bl9hZGQoJnJlcSwgIlxyXG4iKTsKIAogICAgICAgICBpZighcmVzdWx0KSB7CiAgICAgICAgICAgLyogU2VuZCB0aGUgY29ubmVjdCByZXF1ZXN0IHRvIHRoZSBwcm94eSAqLwogICAgICAgICAgIC8qIEJMT0NLSU5HICovCi0gICAgICAgICAgcmVzdWx0ID0KLSAgICAgICAgICAgIEN1cmxfYWRkX2J1ZmZlcl9zZW5kKCZyZXFfYnVmZmVyLCBjb25uLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJmRhdGEtPmluZm8ucmVxdWVzdF9zaXplLCAwLCBzb2NraW5kZXgpOworICAgICAgICAgIHJlc3VsdCA9IEN1cmxfYnVmZmVyX3NlbmQoJnJlcSwgY29ubiwgJmRhdGEtPmluZm8ucmVxdWVzdF9zaXplLCAwLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc29ja2luZGV4KTsKICAgICAgICAgfQotICAgICAgICByZXFfYnVmZmVyID0gTlVMTDsKICAgICAgICAgaWYocmVzdWx0KQogICAgICAgICAgIGZhaWxmKGRhdGEsICJGYWlsZWQgc2VuZGluZyBDT05ORUNUIHRvIHByb3h5Iik7CiAgICAgICB9CiAKLSAgICAgIEN1cmxfYWRkX2J1ZmZlcl9mcmVlKCZyZXFfYnVmZmVyKTsKKyAgICAgIEN1cmxfZHluX2ZyZWUoJnJlcSk7CiAgICAgICBpZihyZXN1bHQpCiAgICAgICAgIHJldHVybiByZXN1bHQ7CiAKICAgICAgIHMtPnR1bm5lbF9zdGF0ZSA9IFRVTk5FTF9DT05ORUNUOwotICAgICAgcy0+cGVybGluZSA9IDA7CiAgICAgfSAvKiBFTkQgQ09OTkVDVCBQSEFTRSAqLwogCiAgICAgY2hlY2sgPSBDdXJsX3RpbWVsZWZ0KGRhdGEsIE5VTEwsIFRSVUUpOwpAQCAtMzMwLDE2ICszMjYsMTEgQEAKIAogICAgICAgd2hpbGUocy0+a2VlcG9uKSB7CiAgICAgICAgIHNzaXplX3QgZ290Ynl0ZXM7Ci0KLSAgICAgICAgLyogbWFrZSBzdXJlIHdlIGhhdmUgc3BhY2UgdG8gcmVhZCBtb3JlIGRhdGEgKi8KLSAgICAgICAgaWYocy0+cHRyID49ICZzLT5jb25uZWN0X2J1ZmZlcltDT05ORUNUX0JVRkZFUl9TSVpFXSkgewotICAgICAgICAgIGZhaWxmKGRhdGEsICJDT05ORUNUIHJlc3BvbnNlIHRvbyBsYXJnZSEiKTsKLSAgICAgICAgICByZXR1cm4gQ1VSTEVfUkVDVl9FUlJPUjsKLSAgICAgICAgfQorICAgICAgICBjaGFyIGJ5dGU7CiAKICAgICAgICAgLyogUmVhZCBvbmUgYnl0ZSBhdCBhIHRpbWUgdG8gYXZvaWQgYSByYWNlIGNvbmRpdGlvbi4gV2FpdCBhdCBtb3N0IG9uZQogICAgICAgICAgICBzZWNvbmQgYmVmb3JlIGxvb3BpbmcgdG8gZW5zdXJlIGNvbnRpbnVvdXMgcGdyc1VwZGF0ZXMuICovCi0gICAgICAgIHJlc3VsdCA9IEN1cmxfcmVhZChjb25uLCB0dW5uZWxzb2NrZXQsIHMtPnB0ciwgMSwgJmdvdGJ5dGVzKTsKKyAgICAgICAgcmVzdWx0ID0gQ3VybF9yZWFkKGNvbm4sIHR1bm5lbHNvY2tldCwgJmJ5dGUsIDEsICZnb3RieXRlcyk7CiAgICAgICAgIGlmKHJlc3VsdCA9PSBDVVJMRV9BR0FJTikKICAgICAgICAgICAvKiBzb2NrZXQgYnVmZmVyIGRyYWluZWQsIHJldHVybiAqLwogICAgICAgICAgIHJldHVybiBDVVJMRV9PSzsKQEAgLTM2NiwxMSArMzU3LDkgQEAKICAgICAgICAgICBicmVhazsKICAgICAgICAgfQogCi0KICAgICAgICAgaWYocy0+a2VlcG9uID4gVFJVRSkgewogICAgICAgICAgIC8qIFRoaXMgbWVhbnMgd2UgYXJlIGN1cnJlbnRseSBpZ25vcmluZyBhIHJlc3BvbnNlLWJvZHkgKi8KIAotICAgICAgICAgIHMtPnB0ciA9IHMtPmNvbm5lY3RfYnVmZmVyOwogICAgICAgICAgIGlmKHMtPmNsKSB7CiAgICAgICAgICAgICAvKiBBIENvbnRlbnQtTGVuZ3RoIGJhc2VkIGJvZHk6IHNpbXBseSBjb3VudCBkb3duIHRoZSBjb3VudGVyCiAgICAgICAgICAgICAgICBhbmQgbWFrZSBzdXJlIHRvIGJyZWFrIG91dCBvZiB0aGUgbG9vcCB3aGVuIHdlJ3JlIGRvbmUhICovCkBAIC0zOTAsNyArMzc5LDcgQEAKIAogICAgICAgICAgICAgLyogbm93IHBhcnNlIHRoZSBjaHVua2VkIHBpZWNlIG9mIGRhdGEgc28gdGhhdCB3ZSBjYW4KICAgICAgICAgICAgICAgIHByb3Blcmx5IHRlbGwgd2hlbiB0aGUgc3RyZWFtIGVuZHMgKi8KLSAgICAgICAgICAgIHIgPSBDdXJsX2h0dHBjaHVua19yZWFkKGNvbm4sIHMtPnB0ciwgMSwgJnRvb2tjYXJlb2YsICZleHRyYSk7CisgICAgICAgICAgICByID0gQ3VybF9odHRwY2h1bmtfcmVhZChjb25uLCAmYnl0ZSwgMSwgJnRvb2tjYXJlb2YsICZleHRyYSk7CiAgICAgICAgICAgICBpZihyID09IENIVU5LRV9TVE9QKSB7CiAgICAgICAgICAgICAgIC8qIHdlJ3JlIGRvbmUgcmVhZGluZyBjaHVua3MhICovCiAgICAgICAgICAgICAgIGluZm9mKGRhdGEsICJjaHVuayByZWFkaW5nIERPTkVcbiIpOwpAQCAtNDAyLDI1ICszOTEsMjcgQEAKICAgICAgICAgICBjb250aW51ZTsKICAgICAgICAgfQogCi0gICAgICAgIHMtPnBlcmxpbmUrKzsgLyogYW1vdW50IG9mIGJ5dGVzIGluIHRoaXMgbGluZSBzbyBmYXIgKi8KLQotICAgICAgICAvKiBpZiB0aGlzIGlzIG5vdCB0aGUgZW5kIG9mIGEgaGVhZGVyIGxpbmUgdGhlbiBjb250aW51ZSAqLwotICAgICAgICBpZigqcy0+cHRyICE9IDB4MGEpIHsKLSAgICAgICAgICBzLT5wdHIrKzsKLSAgICAgICAgICBjb250aW51ZTsKKyAgICAgICAgaWYoQ3VybF9keW5fYWRkbigmcy0+cmN2YnVmLCAmYnl0ZSwgMSkpIHsKKyAgICAgICAgICBmYWlsZihkYXRhLCAiQ09OTkVDVCByZXNwb25zZSB0b28gbGFyZ2UhIik7CisgICAgICAgICAgcmV0dXJuIENVUkxFX1JFQ1ZfRVJST1I7CiAgICAgICAgIH0KIAorICAgICAgICAvKiBpZiB0aGlzIGlzIG5vdCB0aGUgZW5kIG9mIGEgaGVhZGVyIGxpbmUgdGhlbiBjb250aW51ZSAqLworICAgICAgICBpZihieXRlICE9IDB4MGEpCisgICAgICAgICAgY29udGludWU7CisKKyAgICAgICAgbGluZXAgPSBDdXJsX2R5bl9wdHIoJnMtPnJjdmJ1Zik7CisgICAgICAgIHBlcmxpbmUgPSBDdXJsX2R5bl9sZW4oJnMtPnJjdmJ1Zik7IC8qIGFtb3VudCBvZiBieXRlcyBpbiB0aGlzIGxpbmUgKi8KKwogICAgICAgICAvKiBjb252ZXJ0IGZyb20gdGhlIG5ldHdvcmsgZW5jb2RpbmcgKi8KLSAgICAgICAgcmVzdWx0ID0gQ3VybF9jb252ZXJ0X2Zyb21fbmV0d29yayhkYXRhLCBzLT5saW5lX3N0YXJ0LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChzaXplX3Qpcy0+cGVybGluZSk7CisgICAgICAgIHJlc3VsdCA9IEN1cmxfY29udmVydF9mcm9tX25ldHdvcmsoZGF0YSwgbGluZXAsIHBlcmxpbmUpOwogICAgICAgICAvKiBDdXJsX2NvbnZlcnRfZnJvbV9uZXR3b3JrIGNhbGxzIGZhaWxmIGlmIHVuc3VjY2Vzc2Z1bCAqLwogICAgICAgICBpZihyZXN1bHQpCiAgICAgICAgICAgcmV0dXJuIHJlc3VsdDsKIAogICAgICAgICAvKiBvdXRwdXQgZGVidWcgaWYgdGhhdCBpcyByZXF1ZXN0ZWQgKi8KICAgICAgICAgaWYoZGF0YS0+c2V0LnZlcmJvc2UpCi0gICAgICAgICAgQ3VybF9kZWJ1ZyhkYXRhLCBDVVJMSU5GT19IRUFERVJfSU4sCi0gICAgICAgICAgICAgICAgICAgICBzLT5saW5lX3N0YXJ0LCAoc2l6ZV90KXMtPnBlcmxpbmUpOworICAgICAgICAgIEN1cmxfZGVidWcoZGF0YSwgQ1VSTElORk9fSEVBREVSX0lOLCBsaW5lcCwgcGVybGluZSk7CiAKICAgICAgICAgaWYoIWRhdGEtPnNldC5zdXBwcmVzc19jb25uZWN0X2hlYWRlcnMpIHsKICAgICAgICAgICAvKiBzZW5kIHRoZSBoZWFkZXIgdG8gdGhlIGNhbGxiYWNrICovCkBAIC00MjgsMjMgKzQxOSwyMiBAQAogICAgICAgICAgIGlmKGRhdGEtPnNldC5pbmNsdWRlX2hlYWRlcikKICAgICAgICAgICAgIHdyaXRldHlwZSB8PSBDTElFTlRXUklURV9CT0RZOwogCi0gICAgICAgICAgcmVzdWx0ID0gQ3VybF9jbGllbnRfd3JpdGUoY29ubiwgd3JpdGV0eXBlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHMtPmxpbmVfc3RhcnQsIHMtPnBlcmxpbmUpOworICAgICAgICAgIHJlc3VsdCA9IEN1cmxfY2xpZW50X3dyaXRlKGNvbm4sIHdyaXRldHlwZSwgbGluZXAsIHBlcmxpbmUpOwogICAgICAgICAgIGlmKHJlc3VsdCkKICAgICAgICAgICAgIHJldHVybiByZXN1bHQ7CiAgICAgICAgIH0KIAotICAgICAgICBkYXRhLT5pbmZvLmhlYWRlcl9zaXplICs9IChsb25nKXMtPnBlcmxpbmU7Ci0gICAgICAgIGRhdGEtPnJlcS5oZWFkZXJieXRlY291bnQgKz0gKGxvbmcpcy0+cGVybGluZTsKKyAgICAgICAgZGF0YS0+aW5mby5oZWFkZXJfc2l6ZSArPSAobG9uZylwZXJsaW5lOworICAgICAgICBkYXRhLT5yZXEuaGVhZGVyYnl0ZWNvdW50ICs9IChsb25nKXBlcmxpbmU7CiAKICAgICAgICAgLyogTmV3bGluZXMgYXJlIENSTEYsIHNvIHRoZSBDUiBpcyBpZ25vcmVkIGFzIHRoZSBsaW5lIGlzbid0CiAgICAgICAgICAgIHJlYWxseSB0ZXJtaW5hdGVkIHVudGlsIHRoZSBMRiBjb21lcy4gVHJlYXQgYSBmb2xsb3dpbmcgQ1IKICAgICAgICAgICAgYXMgZW5kLW9mLWhlYWRlcnMgYXMgd2VsbC4qLwogCi0gICAgICAgIGlmKCgnXHInID09IHMtPmxpbmVfc3RhcnRbMF0pIHx8Ci0gICAgICAgICAgICgnXG4nID09IHMtPmxpbmVfc3RhcnRbMF0pKSB7CisgICAgICAgIGlmKCgnXHInID09IGxpbmVwWzBdKSB8fAorICAgICAgICAgICAoJ1xuJyA9PSBsaW5lcFswXSkpIHsKICAgICAgICAgICAvKiBlbmQgb2YgcmVzcG9uc2UtaGVhZGVycyBmcm9tIHRoZSBwcm94eSAqLwotICAgICAgICAgIHMtPnB0ciA9IHMtPmNvbm5lY3RfYnVmZmVyOworCiAgICAgICAgICAgaWYoKDQwNyA9PSBrLT5odHRwY29kZSkgJiYgIWRhdGEtPnN0YXRlLmF1dGhwcm9ibGVtKSB7CiAgICAgICAgICAgICAvKiBJZiB3ZSBnZXQgYSA0MDcgcmVzcG9uc2UgY29kZSB3aXRoIGNvbnRlbnQgbGVuZ3RoCiAgICAgICAgICAgICAgICB3aGVuIHdlIGhhdmUgbm8gYXV0aCBwcm9ibGVtLCB3ZSBtdXN0IGlnbm9yZSB0aGUKQEAgLTQ2MSwyMSArNDUxLDE4IEBACiAKICAgICAgICAgICAgICAgaW5mb2YoZGF0YSwgIklnbm9yZSBjaHVua2VkIHJlc3BvbnNlLWJvZHlcbiIpOwogCi0gICAgICAgICAgICAgIC8qIFdlIHNldCBpZ25vcmVib2R5IHRydWUgaGVyZSBzaW5jZSB0aGUgY2h1bmtlZAotICAgICAgICAgICAgICAgICBkZWNvZGVyIGZ1bmN0aW9uIHdpbGwgYWNrbm93bGVkZ2UgdGhhdC4gUGF5Ci0gICAgICAgICAgICAgICAgIGF0dGVudGlvbiBzbyB0aGF0IHRoaXMgaXMgY2xlYXJlZCBhZ2FpbiB3aGVuIHRoaXMKLSAgICAgICAgICAgICAgICAgZnVuY3Rpb24gcmV0dXJucyEgKi8KKyAgICAgICAgICAgICAgLyogV2Ugc2V0IGlnbm9yZWJvZHkgdHJ1ZSBoZXJlIHNpbmNlIHRoZSBjaHVua2VkIGRlY29kZXIKKyAgICAgICAgICAgICAgICAgZnVuY3Rpb24gd2lsbCBhY2tub3dsZWRnZSB0aGF0LiBQYXkgYXR0ZW50aW9uIHNvIHRoYXQgdGhpcyBpcworICAgICAgICAgICAgICAgICBjbGVhcmVkIGFnYWluIHdoZW4gdGhpcyBmdW5jdGlvbiByZXR1cm5zISAqLwogICAgICAgICAgICAgICBrLT5pZ25vcmVib2R5ID0gVFJVRTsKIAotICAgICAgICAgICAgICBpZihzLT5saW5lX3N0YXJ0WzFdID09ICdcbicpIHsKLSAgICAgICAgICAgICAgICAvKiB0aGlzIGNhbiBvbmx5IGJlIGEgTEYgaWYgdGhlIGxldHRlciBhdCBpbmRleCAwCi0gICAgICAgICAgICAgICAgICAgd2FzIGEgQ1IgKi8KLSAgICAgICAgICAgICAgICBzLT5saW5lX3N0YXJ0Kys7Ci0gICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgaWYobGluZXBbMV0gPT0gJ1xuJykKKyAgICAgICAgICAgICAgICAvKiB0aGlzIGNhbiBvbmx5IGJlIGEgTEYgaWYgdGhlIGxldHRlciBhdCBpbmRleCAwIHdhcyBhIENSICovCisgICAgICAgICAgICAgICAgbGluZXArKzsKIAotICAgICAgICAgICAgICAvKiBub3cgcGFyc2UgdGhlIGNodW5rZWQgcGllY2Ugb2YgZGF0YSBzbyB0aGF0IHdlIGNhbgotICAgICAgICAgICAgICAgICBwcm9wZXJseSB0ZWxsIHdoZW4gdGhlIHN0cmVhbSBlbmRzICovCi0gICAgICAgICAgICAgIHIgPSBDdXJsX2h0dHBjaHVua19yZWFkKGNvbm4sIHMtPmxpbmVfc3RhcnQgKyAxLCAxLCAmZ290Ynl0ZXMsCisgICAgICAgICAgICAgIC8qIG5vdyBwYXJzZSB0aGUgY2h1bmtlZCBwaWVjZSBvZiBkYXRhIHNvIHRoYXQgd2UgY2FuIHByb3Blcmx5CisgICAgICAgICAgICAgICAgIHRlbGwgd2hlbiB0aGUgc3RyZWFtIGVuZHMgKi8KKyAgICAgICAgICAgICAgciA9IEN1cmxfaHR0cGNodW5rX3JlYWQoY29ubiwgbGluZXAgKyAxLCAxLCAmZ290Ynl0ZXMsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZleHRyYSk7CiAgICAgICAgICAgICAgIGlmKHIgPT0gQ0hVTktFX1NUT1ApIHsKICAgICAgICAgICAgICAgICAvKiB3ZSdyZSBkb25lIHJlYWRpbmcgY2h1bmtzISAqLwpAQCAtNTAwLDE0ICs0ODcsMTMgQEAKICAgICAgICAgICBjb250aW51ZTsKICAgICAgICAgfQogCi0gICAgICAgIHMtPmxpbmVfc3RhcnRbcy0+cGVybGluZV0gPSAwOyAvKiB6ZXJvIHRlcm1pbmF0ZSB0aGUgYnVmZmVyICovCi0gICAgICAgIGlmKChjaGVja3ByZWZpeCgiV1dXLUF1dGhlbnRpY2F0ZToiLCBzLT5saW5lX3N0YXJ0KSAmJgorICAgICAgICBpZigoY2hlY2twcmVmaXgoIldXVy1BdXRoZW50aWNhdGU6IiwgbGluZXApICYmCiAgICAgICAgICAgICAoNDAxID09IGstPmh0dHBjb2RlKSkgfHwKLSAgICAgICAgICAgKGNoZWNrcHJlZml4KCJQcm94eS1hdXRoZW50aWNhdGU6Iiwgcy0+bGluZV9zdGFydCkgJiYKKyAgICAgICAgICAgKGNoZWNrcHJlZml4KCJQcm94eS1hdXRoZW50aWNhdGU6IiwgbGluZXApICYmCiAgICAgICAgICAgICAoNDA3ID09IGstPmh0dHBjb2RlKSkpIHsKIAogICAgICAgICAgIGJvb2wgcHJveHkgPSAoay0+aHR0cGNvZGUgPT0gNDA3KSA/IFRSVUUgOiBGQUxTRTsKLSAgICAgICAgICBjaGFyICphdXRoID0gQ3VybF9jb3B5X2hlYWRlcl92YWx1ZShzLT5saW5lX3N0YXJ0KTsKKyAgICAgICAgICBjaGFyICphdXRoID0gQ3VybF9jb3B5X2hlYWRlcl92YWx1ZShsaW5lcCk7CiAgICAgICAgICAgaWYoIWF1dGgpCiAgICAgICAgICAgICByZXR1cm4gQ1VSTEVfT1VUX09GX01FTU9SWTsKIApAQCAtNTE4LDcgKzUwNCw3IEBACiAgICAgICAgICAgaWYocmVzdWx0KQogICAgICAgICAgICAgcmV0dXJuIHJlc3VsdDsKICAgICAgICAgfQotICAgICAgICBlbHNlIGlmKGNoZWNrcHJlZml4KCJDb250ZW50LUxlbmd0aDoiLCBzLT5saW5lX3N0YXJ0KSkgeworICAgICAgICBlbHNlIGlmKGNoZWNrcHJlZml4KCJDb250ZW50LUxlbmd0aDoiLCBsaW5lcCkpIHsKICAgICAgICAgICBpZihrLT5odHRwY29kZS8xMDAgPT0gMikgewogICAgICAgICAgICAgLyogQSBjbGllbnQgTVVTVCBpZ25vcmUgYW55IENvbnRlbnQtTGVuZ3RoIG9yIFRyYW5zZmVyLUVuY29kaW5nCiAgICAgICAgICAgICAgICBoZWFkZXIgZmllbGRzIHJlY2VpdmVkIGluIGEgc3VjY2Vzc2Z1bCByZXNwb25zZSB0byBDT05ORUNULgpAQCAtNTI3LDEzICs1MTMsMTMgQEAKICAgICAgICAgICAgICAgICAgIGstPmh0dHBjb2RlKTsKICAgICAgICAgICB9CiAgICAgICAgICAgZWxzZSB7Ci0gICAgICAgICAgICAodm9pZCljdXJseF9zdHJ0b29mZnQocy0+bGluZV9zdGFydCArCisgICAgICAgICAgICAodm9pZCljdXJseF9zdHJ0b29mZnQobGluZXAgKwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cmxlbigiQ29udGVudC1MZW5ndGg6IiksIE5VTEwsIDEwLCAmcy0+Y2wpOwogICAgICAgICAgIH0KICAgICAgICAgfQotICAgICAgICBlbHNlIGlmKEN1cmxfY29tcGFyZWhlYWRlcihzLT5saW5lX3N0YXJ0LCAiQ29ubmVjdGlvbjoiLCAiY2xvc2UiKSkKKyAgICAgICAgZWxzZSBpZihDdXJsX2NvbXBhcmVoZWFkZXIobGluZXAsICJDb25uZWN0aW9uOiIsICJjbG9zZSIpKQogICAgICAgICAgIHMtPmNsb3NlX2Nvbm5lY3Rpb24gPSBUUlVFOwotICAgICAgICBlbHNlIGlmKGNoZWNrcHJlZml4KCJUcmFuc2Zlci1FbmNvZGluZzoiLCBzLT5saW5lX3N0YXJ0KSkgeworICAgICAgICBlbHNlIGlmKGNoZWNrcHJlZml4KCJUcmFuc2Zlci1FbmNvZGluZzoiLCBsaW5lcCkpIHsKICAgICAgICAgICBpZihrLT5odHRwY29kZS8xMDAgPT0gMikgewogICAgICAgICAgICAgLyogQSBjbGllbnQgTVVTVCBpZ25vcmUgYW55IENvbnRlbnQtTGVuZ3RoIG9yIFRyYW5zZmVyLUVuY29kaW5nCiAgICAgICAgICAgICAgICBoZWFkZXIgZmllbGRzIHJlY2VpdmVkIGluIGEgc3VjY2Vzc2Z1bCByZXNwb25zZSB0byBDT05ORUNULgpAQCAtNTQxLDcgKzUyNyw3IEBACiAgICAgICAgICAgICBpbmZvZihkYXRhLCAiSWdub3JpbmcgVHJhbnNmZXItRW5jb2RpbmcgaW4gIgogICAgICAgICAgICAgICAgICAgIkNPTk5FQ1QgJTAzZCByZXNwb25zZVxuIiwgay0+aHR0cGNvZGUpOwogICAgICAgICAgIH0KLSAgICAgICAgICBlbHNlIGlmKEN1cmxfY29tcGFyZWhlYWRlcihzLT5saW5lX3N0YXJ0LAorICAgICAgICAgIGVsc2UgaWYoQ3VybF9jb21wYXJlaGVhZGVyKGxpbmVwLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJUcmFuc2Zlci1FbmNvZGluZzoiLCAiY2h1bmtlZCIpKSB7CiAgICAgICAgICAgICBpbmZvZihkYXRhLCAiQ09OTkVDVCByZXNwb25kZWQgY2h1bmtlZFxuIik7CiAgICAgICAgICAgICBzLT5jaHVua2VkX2VuY29kaW5nID0gVFJVRTsKQEAgLTU0OSwxOSArNTM1LDE2IEBACiAgICAgICAgICAgICBDdXJsX2h0dHBjaHVua19pbml0KGNvbm4pOwogICAgICAgICAgIH0KICAgICAgICAgfQotICAgICAgICBlbHNlIGlmKEN1cmxfY29tcGFyZWhlYWRlcihzLT5saW5lX3N0YXJ0LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiUHJveHktQ29ubmVjdGlvbjoiLCAiY2xvc2UiKSkKKyAgICAgICAgZWxzZSBpZihDdXJsX2NvbXBhcmVoZWFkZXIobGluZXAsICJQcm94eS1Db25uZWN0aW9uOiIsICJjbG9zZSIpKQogICAgICAgICAgIHMtPmNsb3NlX2Nvbm5lY3Rpb24gPSBUUlVFOwotICAgICAgICBlbHNlIGlmKDIgPT0gc3NjYW5mKHMtPmxpbmVfc3RhcnQsICJIVFRQLzEuJWQgJWQiLAorICAgICAgICBlbHNlIGlmKDIgPT0gc3NjYW5mKGxpbmVwLCAiSFRUUC8xLiVkICVkIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmc3VidmVyc2lvbiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmay0+aHR0cGNvZGUpKSB7CiAgICAgICAgICAgLyogc3RvcmUgdGhlIEhUVFAgY29kZSBmcm9tIHRoZSBwcm94eSAqLwogICAgICAgICAgIGRhdGEtPmluZm8uaHR0cHByb3h5Y29kZSA9IGstPmh0dHBjb2RlOwogICAgICAgICB9CiAKLSAgICAgICAgcy0+cGVybGluZSA9IDA7IC8qIGxpbmUgc3RhcnRzIG92ZXIgaGVyZSAqLwotICAgICAgICBzLT5wdHIgPSBzLT5jb25uZWN0X2J1ZmZlcjsKLSAgICAgICAgcy0+bGluZV9zdGFydCA9IHMtPnB0cjsKKyAgICAgICAgQ3VybF9keW5fcmVzZXQoJnMtPnJjdmJ1Zik7CiAgICAgICB9IC8qIHdoaWxlIHRoZXJlJ3MgYnVmZmVyIGxlZnQgYW5kIGxvb3AgaXMgcmVxdWVzdGVkICovCiAKICAgICAgIGlmKEN1cmxfcGdyc1VwZGF0ZShjb25uKSkKQEAgLTYyMiw2ICs2MDUsNyBAQAogICAgIGlmKGNvbm4tPmJpdHMucHJveHlfY29ubmVjdF9jbG9zZWQpCiAgICAgICAvKiB0aGlzIGlzIG5vdCBhbiBlcnJvciwganVzdCBwYXJ0IG9mIHRoZSBjb25uZWN0aW9uIG5lZ290aWF0aW9uICovCiAgICAgICByZXR1cm4gQ1VSTEVfT0s7CisgICAgQ3VybF9keW5fZnJlZSgmcy0+cmN2YnVmKTsKICAgICBmYWlsZihkYXRhLCAiUmVjZWl2ZWQgSFRUUCBjb2RlICVkIGZyb20gcHJveHkgYWZ0ZXIgQ09OTkVDVCIsCiAgICAgICAgICAgZGF0YS0+cmVxLmh0dHBjb2RlKTsKICAgICByZXR1cm4gQ1VSTEVfUkVDVl9FUlJPUjsKQEAgLTYzMiw4ICs2MTYsOCBAQAogICAvKiBJZiBhIHByb3h5LWF1dGhvcml6YXRpb24gaGVhZGVyIHdhcyB1c2VkIGZvciB0aGUgcHJveHksIHRoZW4gd2Ugc2hvdWxkCiAgICAgIG1ha2Ugc3VyZSB0aGF0IGl0IGlzbid0IGFjY2lkZW50YWxseSB1c2VkIGZvciB0aGUgZG9jdW1lbnQgcmVxdWVzdAogICAgICBhZnRlciB3ZSd2ZSBjb25uZWN0ZWQuIFNvIGxldCdzIGZyZWUgYW5kIGNsZWFyIGl0IGhlcmUuICovCi0gIEN1cmxfc2FmZWZyZWUoY29ubi0+YWxsb2NwdHIucHJveHl1c2VycHdkKTsKLSAgY29ubi0+YWxsb2NwdHIucHJveHl1c2VycHdkID0gTlVMTDsKKyAgQ3VybF9zYWZlZnJlZShkYXRhLT5zdGF0ZS5hcHRyLnByb3h5dXNlcnB3ZCk7CisgIGRhdGEtPnN0YXRlLmFwdHIucHJveHl1c2VycHdkID0gTlVMTDsKIAogICBkYXRhLT5zdGF0ZS5hdXRocHJveHkuZG9uZSA9IFRSVUU7CiAgIGRhdGEtPnN0YXRlLmF1dGhwcm94eS5tdWx0aXBhc3MgPSBGQUxTRTsKQEAgLTY0Myw2ICs2MjcsNyBAQAogICBkYXRhLT5yZXEuaWdub3JlYm9keSA9IEZBTFNFOyAvKiBwdXQgaXQgKGJhY2spIHRvIG5vbi1pZ25vcmUgc3RhdGUgKi8KICAgY29ubi0+Yml0cy5yZXdpbmRhZnRlcnNlbmQgPSBGQUxTRTsgLyogbWFrZSBzdXJlIHRoaXMgaXNuJ3Qgc2V0IGZvciB0aGUKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZG9jdW1lbnQgcmVxdWVzdCAgKi8KKyAgQ3VybF9keW5fZnJlZSgmcy0+cmN2YnVmKTsKICAgcmV0dXJuIENVUkxFX09LOwogfQogCmRpZmYgLS1naXQgYS9saWIvaHR0cF9wcm94eS5oIGIvbGliL2h0dHBfcHJveHkuaAppbmRleCBlMTlmYTg1Li4yOTk4OGE2IDEwMDY0NAotLS0gYS9saWIvaHR0cF9wcm94eS5oCisrKyBiL2xpYi9odHRwX3Byb3h5LmgKQEAgLTcsNyArNyw3IEBACiAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICB8IChfX3wgfF98IHwgIF8gPHwgfF9fXwogICogICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxfX198XF9fXy98X3wgXF9cX19fX198CiAgKgotICogQ29weXJpZ2h0IChDKSAxOTk4IC0gMjAxNywgRGFuaWVsIFN0ZW5iZXJnLCA8ZGFuaWVsQGhheHguc2U+LCBldCBhbC4KKyAqIENvcHlyaWdodCAoQykgMTk5OCAtIDIwMjAsIERhbmllbCBTdGVuYmVyZywgPGRhbmllbEBoYXh4LnNlPiwgZXQgYWwuCiAgKgogICogVGhpcyBzb2Z0d2FyZSBpcyBsaWNlbnNlZCBhcyBkZXNjcmliZWQgaW4gdGhlIGZpbGUgQ09QWUlORywgd2hpY2gKICAqIHlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhcyBwYXJ0IG9mIHRoaXMgZGlzdHJpYnV0aW9uLiBUaGUgdGVybXMKQEAgLTQ3LDUgKzQ3LDYgQEAKICNlbmRpZgogCiB2b2lkIEN1cmxfY29ubmVjdF9mcmVlKHN0cnVjdCBDdXJsX2Vhc3kgKmRhdGEpOwordm9pZCBDdXJsX2Nvbm5lY3RfZG9uZShzdHJ1Y3QgQ3VybF9lYXN5ICpkYXRhKTsKIAogI2VuZGlmIC8qIEhFQURFUl9DVVJMX0hUVFBfUFJPWFlfSCAqLwpkaWZmIC0tZ2l0IGEvbGliL2lkbl93aW4zMi5jIGIvbGliL2lkbl93aW4zMi5jCmluZGV4IDhkYzMwMGIuLjJmNTg1MGQgMTAwNjQ0Ci0tLSBhL2xpYi9pZG5fd2luMzIuYworKysgYi9saWIvaWRuX3dpbjMyLmMKQEAgLTUsNyArNSw3IEBACiAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICB8IChfX3wgfF98IHwgIF8gPHwgfF9fXwogICogICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxfX198XF9fXy98X3wgXF9cX19fX198CiAgKgotICogQ29weXJpZ2h0IChDKSAxOTk4IC0gMjAxNiwgRGFuaWVsIFN0ZW5iZXJnLCA8ZGFuaWVsQGhheHguc2U+LCBldCBhbC4KKyAqIENvcHlyaWdodCAoQykgMTk5OCAtIDIwMjAsIERhbmllbCBTdGVuYmVyZywgPGRhbmllbEBoYXh4LnNlPiwgZXQgYWwuCiAgKgogICogVGhpcyBzb2Z0d2FyZSBpcyBsaWNlbnNlZCBhcyBkZXNjcmliZWQgaW4gdGhlIGZpbGUgQ09QWUlORywgd2hpY2gKICAqIHlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhcyBwYXJ0IG9mIHRoaXMgZGlzdHJpYnV0aW9uLiBUaGUgdGVybXMKQEAgLTcyLDEzICs3MiwxMyBAQAogewogICBib29sIHN1Y2Nlc3MgPSBGQUxTRTsKIAotICB3Y2hhcl90ICppbl93ID0gQ3VybF9jb252ZXJ0X1VURjhfdG9fd2NoYXIoaW4pOworICB3Y2hhcl90ICppbl93ID0gY3VybHhfY29udmVydF9VVEY4X3RvX3djaGFyKGluKTsKICAgaWYoaW5fdykgewogICAgIHdjaGFyX3QgcHVueWNvZGVbSUROX01BWF9MRU5HVEhdOwogICAgIGludCBjaGFycyA9IElkblRvQXNjaWkoMCwgaW5fdywgLTEsIHB1bnljb2RlLCBJRE5fTUFYX0xFTkdUSCk7CiAgICAgZnJlZShpbl93KTsKICAgICBpZihjaGFycykgewotICAgICAgKm91dCA9IEN1cmxfY29udmVydF93Y2hhcl90b19VVEY4KHB1bnljb2RlKTsKKyAgICAgICpvdXQgPSBjdXJseF9jb252ZXJ0X3djaGFyX3RvX1VURjgocHVueWNvZGUpOwogICAgICAgaWYoKm91dCkKICAgICAgICAgc3VjY2VzcyA9IFRSVUU7CiAgICAgfQpAQCAtOTEsNyArOTEsNyBAQAogewogICBib29sIHN1Y2Nlc3MgPSBGQUxTRTsKIAotICB3Y2hhcl90ICppbl93ID0gQ3VybF9jb252ZXJ0X1VURjhfdG9fd2NoYXIoaW4pOworICB3Y2hhcl90ICppbl93ID0gY3VybHhfY29udmVydF9VVEY4X3RvX3djaGFyKGluKTsKICAgaWYoaW5fdykgewogICAgIHNpemVfdCBpbl9sZW4gPSB3Y3NsZW4oaW5fdykgKyAxOwogICAgIHdjaGFyX3QgdW5pY29kZVtJRE5fTUFYX0xFTkdUSF07CkBAIC05OSw3ICs5OSw3IEBACiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVuaWNvZGUsIElETl9NQVhfTEVOR1RIKTsKICAgICBmcmVlKGluX3cpOwogICAgIGlmKGNoYXJzKSB7Ci0gICAgICAqb3V0ID0gQ3VybF9jb252ZXJ0X3djaGFyX3RvX1VURjgodW5pY29kZSk7CisgICAgICAqb3V0ID0gY3VybHhfY29udmVydF93Y2hhcl90b19VVEY4KHVuaWNvZGUpOwogICAgICAgaWYoKm91dCkKICAgICAgICAgc3VjY2VzcyA9IFRSVUU7CiAgICAgfQpkaWZmIC0tZ2l0IGEvbGliL2lmMmlwLmMgYi9saWIvaWYyaXAuYwppbmRleCBiMjgzZjY3Li4zOTM4ODY5IDEwMDY0NAotLS0gYS9saWIvaWYyaXAuYworKysgYi9saWIvaWYyaXAuYwpAQCAtMTE4LDcgKzExOCw3IEBACiAgICAgICAgIGlmKGlmYWNlLT5pZmFfYWRkci0+c2FfZmFtaWx5ID09IGFmKSB7CiAgICAgICAgICAgaWYoc3RyY2FzZWNvbXBhcmUoaWZhY2UtPmlmYV9uYW1lLCBpbnRlcmYpKSB7CiAgICAgICAgICAgICB2b2lkICphZGRyOwotICAgICAgICAgICAgY2hhciAqaXA7CisgICAgICAgICAgICBjb25zdCBjaGFyICppcDsKICAgICAgICAgICAgIGNoYXIgc2NvcGVbMTJdID0gIiI7CiAgICAgICAgICAgICBjaGFyIGlwc3RyWzY0XTsKICNpZmRlZiBFTkFCTEVfSVBWNgpAQCAtMTUzLDE1ICsxNTMsMTUgQEAKICAgICAgICAgICAgICAgfQogCiAgICAgICAgICAgICAgIGlmKHNjb3BlaWQpCi0gICAgICAgICAgICAgICAgICBtc25wcmludGYoc2NvcGUsIHNpemVvZihzY29wZSksICIlJSV1Iiwgc2NvcGVpZCk7CisgICAgICAgICAgICAgICAgbXNucHJpbnRmKHNjb3BlLCBzaXplb2Yoc2NvcGUpLCAiJSUldSIsIHNjb3BlaWQpOwogI2VuZGlmCiAgICAgICAgICAgICB9CiAgICAgICAgICAgICBlbHNlCiAjZW5kaWYKICAgICAgICAgICAgICAgYWRkciA9Ci0gICAgICAgICAgICAgICAgICAmKChzdHJ1Y3Qgc29ja2FkZHJfaW4gKikodm9pZCAqKWlmYWNlLT5pZmFfYWRkciktPnNpbl9hZGRyOworICAgICAgICAgICAgICAgICYoKHN0cnVjdCBzb2NrYWRkcl9pbiAqKSh2b2lkICopaWZhY2UtPmlmYV9hZGRyKS0+c2luX2FkZHI7CiAgICAgICAgICAgICByZXMgPSBJRjJJUF9GT1VORDsKLSAgICAgICAgICAgIGlwID0gKGNoYXIgKikgQ3VybF9pbmV0X250b3AoYWYsIGFkZHIsIGlwc3RyLCBzaXplb2YoaXBzdHIpKTsKKyAgICAgICAgICAgIGlwID0gQ3VybF9pbmV0X250b3AoYWYsIGFkZHIsIGlwc3RyLCBzaXplb2YoaXBzdHIpKTsKICAgICAgICAgICAgIG1zbnByaW50ZihidWYsIGJ1Zl9zaXplLCAiJXMlcyIsIGlwLCBzY29wZSk7CiAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICB9CkBAIC0xOTAsNiArMTkwLDcgQEAKICAgc3RydWN0IHNvY2thZGRyX2luICpzOwogICBjdXJsX3NvY2tldF90IGR1bW15OwogICBzaXplX3QgbGVuOworICBjb25zdCBjaGFyICpyOwogCiAgICh2b2lkKXJlbW90ZV9zY29wZTsKICAgKHZvaWQpbG9jYWxfc2NvcGVfaWQ7CkBAIC0yMTksOSArMjIwLDExIEBACiAKICAgcyA9IChzdHJ1Y3Qgc29ja2FkZHJfaW4gKikodm9pZCAqKSZyZXEuaWZyX2FkZHI7CiAgIG1lbWNweSgmaW4sICZzLT5zaW5fYWRkciwgc2l6ZW9mKGluKSk7Ci0gIEN1cmxfaW5ldF9udG9wKHMtPnNpbl9mYW1pbHksICZpbiwgYnVmLCBidWZfc2l6ZSk7CisgIHIgPSBDdXJsX2luZXRfbnRvcChzLT5zaW5fZmFtaWx5LCAmaW4sIGJ1ZiwgYnVmX3NpemUpOwogCiAgIHNjbG9zZShkdW1teSk7CisgIGlmKCFyKQorICAgIHJldHVybiBJRjJJUF9OT1RfRk9VTkQ7CiAgIHJldHVybiBJRjJJUF9GT1VORDsKIH0KIApkaWZmIC0tZ2l0IGEvbGliL2ltYXAuYyBiL2xpYi9pbWFwLmMKaW5kZXggNjYxNzJiZC4uY2FkMGU1OSAxMDA2NDQKLS0tIGEvbGliL2ltYXAuYworKysgYi9saWIvaW1hcC5jCkBAIC01LDcgKzUsNyBAQAogICogICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAoX198IHxffCB8ICBfIDx8IHxfX18KICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcX19ffFxfX18vfF98IFxfXF9fX19ffAogICoKLSAqIENvcHlyaWdodCAoQykgMTk5OCAtIDIwMTksIERhbmllbCBTdGVuYmVyZywgPGRhbmllbEBoYXh4LnNlPiwgZXQgYWwuCisgKiBDb3B5cmlnaHQgKEMpIDE5OTggLSAyMDIwLCBEYW5pZWwgU3RlbmJlcmcsIDxkYW5pZWxAaGF4eC5zZT4sIGV0IGFsLgogICoKICAqIFRoaXMgc29mdHdhcmUgaXMgbGljZW5zZWQgYXMgZGVzY3JpYmVkIGluIHRoZSBmaWxlIENPUFlJTkcsIHdoaWNoCiAgKiB5b3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYXMgcGFydCBvZiB0aGlzIGRpc3RyaWJ1dGlvbi4gVGhlIHRlcm1zCkBAIC0xODcsNyArMTg3LDcgQEAKICAgY29ubi0+aGFuZGxlciA9ICZDdXJsX2hhbmRsZXJfaW1hcHM7CiAKICAgLyogU2V0IHRoZSBjb25uZWN0aW9uJ3MgdXBncmFkZWQgdG8gVExTIGZsYWcgKi8KLSAgY29ubi0+dGxzX3VwZ3JhZGVkID0gVFJVRTsKKyAgY29ubi0+Yml0cy50bHNfdXBncmFkZWQgPSBUUlVFOwogfQogI2Vsc2UKICNkZWZpbmUgaW1hcF90b19pbWFwcyh4KSBDdXJsX25vcF9zdG10CkBAIC0xNzEwLDcgKzE3MTAsNyBAQAogICAgIHJldHVybiByZXN1bHQ7CiAKICAgLyogQ2xlYXIgdGhlIFRMUyB1cGdyYWRlZCBmbGFnICovCi0gIGNvbm4tPnRsc191cGdyYWRlZCA9IEZBTFNFOworICBjb25uLT5iaXRzLnRsc191cGdyYWRlZCA9IEZBTFNFOwogCiAgIHJldHVybiBDVVJMRV9PSzsKIH0KQEAgLTE5NTcsNyArMTk1Nyw3IEBACiAgICAgICBlbmQtLTsKIAogICAgIHJlc3VsdCA9IEN1cmxfdXJsZGVjb2RlKGRhdGEsIGJlZ2luLCBlbmQgLSBiZWdpbiwgJmltYXAtPm1haWxib3gsIE5VTEwsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgVFJVRSk7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgUkVKRUNUX0NUUkwpOwogICAgIGlmKHJlc3VsdCkKICAgICAgIHJldHVybiByZXN1bHQ7CiAgIH0KQEAgLTE5NzksNyArMTk3OSw4IEBACiAgICAgICByZXR1cm4gQ1VSTEVfVVJMX01BTEZPUk1BVDsKIAogICAgIC8qIERlY29kZSB0aGUgbmFtZSBwYXJhbWV0ZXIgKi8KLSAgICByZXN1bHQgPSBDdXJsX3VybGRlY29kZShkYXRhLCBiZWdpbiwgcHRyIC0gYmVnaW4sICZuYW1lLCBOVUxMLCBUUlVFKTsKKyAgICByZXN1bHQgPSBDdXJsX3VybGRlY29kZShkYXRhLCBiZWdpbiwgcHRyIC0gYmVnaW4sICZuYW1lLCBOVUxMLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJFSkVDVF9DVFJMKTsKICAgICBpZihyZXN1bHQpCiAgICAgICByZXR1cm4gcmVzdWx0OwogCkBAIC0xOTg5LDcgKzE5OTAsOCBAQAogICAgICAgcHRyKys7CiAKICAgICAvKiBEZWNvZGUgdGhlIHZhbHVlIHBhcmFtZXRlciAqLwotICAgIHJlc3VsdCA9IEN1cmxfdXJsZGVjb2RlKGRhdGEsIGJlZ2luLCBwdHIgLSBiZWdpbiwgJnZhbHVlLCAmdmFsdWVsZW4sIFRSVUUpOworICAgIHJlc3VsdCA9IEN1cmxfdXJsZGVjb2RlKGRhdGEsIGJlZ2luLCBwdHIgLSBiZWdpbiwgJnZhbHVlLCAmdmFsdWVsZW4sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgUkVKRUNUX0NUUkwpOwogICAgIGlmKHJlc3VsdCkgewogICAgICAgZnJlZShuYW1lKTsKICAgICAgIHJldHVybiByZXN1bHQ7CkBAIC0yMDc3LDcgKzIwNzksNyBAQAogCiAgIGlmKGN1c3RvbSkgewogICAgIC8qIFVSTCBkZWNvZGUgdGhlIGN1c3RvbSByZXF1ZXN0ICovCi0gICAgcmVzdWx0ID0gQ3VybF91cmxkZWNvZGUoZGF0YSwgY3VzdG9tLCAwLCAmaW1hcC0+Y3VzdG9tLCBOVUxMLCBUUlVFKTsKKyAgICByZXN1bHQgPSBDdXJsX3VybGRlY29kZShkYXRhLCBjdXN0b20sIDAsICZpbWFwLT5jdXN0b20sIE5VTEwsIFJFSkVDVF9DVFJMKTsKIAogICAgIC8qIEV4dHJhY3QgdGhlIHBhcmFtZXRlcnMgaWYgc3BlY2lmaWVkICovCiAgICAgaWYoIXJlc3VsdCkgewpkaWZmIC0tZ2l0IGEvbGliL2xkYXAuYyBiL2xpYi9sZGFwLmMKaW5kZXggNzcxZWRiNC4uNTEyZGVmNiAxMDA2NDQKLS0tIGEvbGliL2xkYXAuYworKysgYi9saWIvbGRhcC5jCkBAIC01LDcgKzUsNyBAQAogICogICAgICAgICAgICAgICAgfCAoX198IHxffCB8ICBfIDx8IHxfX18KICAqICAgICAgICAgICAgICAgICBcX19ffFxfX18vfF98IFxfXF9fX19ffAogICoKLSAqIENvcHlyaWdodCAoQykgMTk5OCAtIDIwMTksIERhbmllbCBTdGVuYmVyZywgPGRhbmllbEBoYXh4LnNlPiwgZXQgYWwuCisgKiBDb3B5cmlnaHQgKEMpIDE5OTggLSAyMDIwLCBEYW5pZWwgU3RlbmJlcmcsIDxkYW5pZWxAaGF4eC5zZT4sIGV0IGFsLgogICoKICAqIFRoaXMgc29mdHdhcmUgaXMgbGljZW5zZWQgYXMgZGVzY3JpYmVkIGluIHRoZSBmaWxlIENPUFlJTkcsIHdoaWNoCiAgKiB5b3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYXMgcGFydCBvZiB0aGlzIGRpc3RyaWJ1dGlvbi4gVGhlIHRlcm1zCkBAIC03NSw3ICs3NSw3IEBACiAKIC8qIFVzZSBvdXIgb3duIGltcGxlbWVudGF0aW9uLiAqLwogCi10eXBlZGVmIHN0cnVjdCB7CitzdHJ1Y3QgbGRhcF91cmxkZXNjIHsKICAgY2hhciAgICpsdWRfaG9zdDsKICAgaW50ICAgICBsdWRfcG9ydDsKICNpZiBkZWZpbmVkKFVTRV9XSU4zMl9MREFQKQpAQCAtOTUsMTAgKzk1LDEwIEBACiAgIHNpemVfdCAgICBsdWRfYXR0cnNfZHVwczsgLyogaG93IG1hbnkgd2VyZSBkdXAnZWQsIHRoaXMgZmllbGQgaXMgbm90IGluIHRoZQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJyZWFsIiBzdHJ1Y3Qgc28gY2FuIG9ubHkgYmUgdXNlZCBpbiBjb2RlCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgd2l0aG91dCBIQVZFX0xEQVBfVVJMX1BBUlNFIGRlZmluZWQgKi8KLX0gQ1VSTF9MREFQVVJMRGVzYzsKK307CiAKICN1bmRlZiBMREFQVVJMRGVzYwotI2RlZmluZSBMREFQVVJMRGVzYyAgICAgICAgICAgICBDVVJMX0xEQVBVUkxEZXNjCisjZGVmaW5lIExEQVBVUkxEZXNjIHN0cnVjdCBsZGFwX3VybGRlc2MKIAogc3RhdGljIGludCAgX2xkYXBfdXJsX3BhcnNlKGNvbnN0IHN0cnVjdCBjb25uZWN0ZGF0YSAqY29ubiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICBMREFQVVJMRGVzYyAqKmx1ZHApOwpAQCAtMjM5LDEzICsyMzksMTMgQEAKICAgUFRDSEFSIGlucGFzcyA9IE5VTEw7CiAKICAgaWYodXNlciAmJiBwYXNzd2QgJiYgKGNvbm4tPmRhdGEtPnNldC5odHRwYXV0aCAmIENVUkxBVVRIX0JBU0lDKSkgewotICAgIGludXNlciA9IEN1cmxfY29udmVydF9VVEY4X3RvX3RjaGFyKChjaGFyICopIHVzZXIpOwotICAgIGlucGFzcyA9IEN1cmxfY29udmVydF9VVEY4X3RvX3RjaGFyKChjaGFyICopIHBhc3N3ZCk7CisgICAgaW51c2VyID0gY3VybHhfY29udmVydF9VVEY4X3RvX3RjaGFyKChjaGFyICopIHVzZXIpOworICAgIGlucGFzcyA9IGN1cmx4X2NvbnZlcnRfVVRGOF90b190Y2hhcigoY2hhciAqKSBwYXNzd2QpOwogCiAgICAgcmMgPSBsZGFwX3NpbXBsZV9iaW5kX3Moc2VydmVyLCBpbnVzZXIsIGlucGFzcyk7CiAKLSAgICBDdXJsX3VuaWNvZGVmcmVlKGludXNlcik7Ci0gICAgQ3VybF91bmljb2RlZnJlZShpbnBhc3MpOworICAgIGN1cmx4X3VuaWNvZGVmcmVlKGludXNlcik7CisgICAgY3VybHhfdW5pY29kZWZyZWUoaW5wYXNzKTsKICAgfQogI2lmIGRlZmluZWQoVVNFX1dJTkRPV1NfU1NQSSkKICAgZWxzZSB7CkBAIC0zMDYsNyArMzA2LDcgQEAKICAgICAgICAgICBsZGFwX3NzbCA/ICJlbmNyeXB0ZWQiIDogImNsZWFydGV4dCIpOwogCiAjaWYgZGVmaW5lZChVU0VfV0lOMzJfTERBUCkKLSAgaG9zdCA9IEN1cmxfY29udmVydF9VVEY4X3RvX3RjaGFyKGNvbm4tPmhvc3QubmFtZSk7CisgIGhvc3QgPSBjdXJseF9jb252ZXJ0X1VURjhfdG9fdGNoYXIoY29ubi0+aG9zdC5uYW1lKTsKICAgaWYoIWhvc3QpIHsKICAgICByZXN1bHQgPSBDVVJMRV9PVVRfT0ZfTUVNT1JZOwogCkBAIC01MTcsNyArNTE3LDcgQEAKICAgICAgIHNpemVfdCBuYW1lX2xlbjsKICNpZiBkZWZpbmVkKFVTRV9XSU4zMl9MREFQKQogICAgICAgVENIQVIgKmRuID0gbGRhcF9nZXRfZG4oc2VydmVyLCBlbnRyeUl0ZXJhdG9yKTsKLSAgICAgIG5hbWUgPSBDdXJsX2NvbnZlcnRfdGNoYXJfdG9fVVRGOChkbik7CisgICAgICBuYW1lID0gY3VybHhfY29udmVydF90Y2hhcl90b19VVEY4KGRuKTsKICAgICAgIGlmKCFuYW1lKSB7CiAgICAgICAgIGxkYXBfbWVtZnJlZShkbik7CiAKQEAgLTUzMyw3ICs1MzMsNyBAQAogICAgICAgcmVzdWx0ID0gQ3VybF9jbGllbnRfd3JpdGUoY29ubiwgQ0xJRU5UV1JJVEVfQk9EWSwgKGNoYXIgKikiRE46ICIsIDQpOwogICAgICAgaWYocmVzdWx0KSB7CiAjaWYgZGVmaW5lZChVU0VfV0lOMzJfTERBUCkKLSAgICAgICAgQ3VybF91bmljb2RlZnJlZShuYW1lKTsKKyAgICAgICAgY3VybHhfdW5pY29kZWZyZWUobmFtZSk7CiAjZW5kaWYKICAgICAgICAgbGRhcF9tZW1mcmVlKGRuKTsKIApAQCAtNTQ0LDcgKzU0NCw3IEBACiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBuYW1lX2xlbik7CiAgICAgICBpZihyZXN1bHQpIHsKICNpZiBkZWZpbmVkKFVTRV9XSU4zMl9MREFQKQotICAgICAgICBDdXJsX3VuaWNvZGVmcmVlKG5hbWUpOworICAgICAgICBjdXJseF91bmljb2RlZnJlZShuYW1lKTsKICNlbmRpZgogICAgICAgICBsZGFwX21lbWZyZWUoZG4pOwogCkBAIC01NTQsNyArNTU0LDcgQEAKICAgICAgIHJlc3VsdCA9IEN1cmxfY2xpZW50X3dyaXRlKGNvbm4sIENMSUVOVFdSSVRFX0JPRFksIChjaGFyICopIlxuIiwgMSk7CiAgICAgICBpZihyZXN1bHQpIHsKICNpZiBkZWZpbmVkKFVTRV9XSU4zMl9MREFQKQotICAgICAgICBDdXJsX3VuaWNvZGVmcmVlKG5hbWUpOworICAgICAgICBjdXJseF91bmljb2RlZnJlZShuYW1lKTsKICNlbmRpZgogICAgICAgICBsZGFwX21lbWZyZWUoZG4pOwogCkBAIC01NjQsNyArNTY0LDcgQEAKICAgICAgIGRsc2l6ZSArPSBuYW1lX2xlbiArIDU7CiAKICNpZiBkZWZpbmVkKFVTRV9XSU4zMl9MREFQKQotICAgICAgQ3VybF91bmljb2RlZnJlZShuYW1lKTsKKyAgICAgIGN1cmx4X3VuaWNvZGVmcmVlKG5hbWUpOwogI2VuZGlmCiAgICAgICBsZGFwX21lbWZyZWUoZG4pOwogICAgIH0KQEAgLTU3Niw3ICs1NzYsNyBAQAogICAgICAgQmVyVmFsdWUgKip2YWxzOwogICAgICAgc2l6ZV90IGF0dHJfbGVuOwogI2lmIGRlZmluZWQoVVNFX1dJTjMyX0xEQVApCi0gICAgICBjaGFyICphdHRyID0gQ3VybF9jb252ZXJ0X3RjaGFyX3RvX1VURjgoYXR0cmlidXRlKTsKKyAgICAgIGNoYXIgKmF0dHIgPSBjdXJseF9jb252ZXJ0X3RjaGFyX3RvX1VURjgoYXR0cmlidXRlKTsKICAgICAgIGlmKCFhdHRyKSB7CiAgICAgICAgIGlmKGJlcikKICAgICAgICAgICBiZXJfZnJlZShiZXIsIDApOwpAQCAtNTk3LDcgKzU5Nyw3IEBACiAgICAgICAgICAgaWYocmVzdWx0KSB7CiAgICAgICAgICAgICBsZGFwX3ZhbHVlX2ZyZWVfbGVuKHZhbHMpOwogI2lmIGRlZmluZWQoVVNFX1dJTjMyX0xEQVApCi0gICAgICAgICAgICBDdXJsX3VuaWNvZGVmcmVlKGF0dHIpOworICAgICAgICAgICAgY3VybHhfdW5pY29kZWZyZWUoYXR0cik7CiAjZW5kaWYKICAgICAgICAgICAgIGxkYXBfbWVtZnJlZShhdHRyaWJ1dGUpOwogICAgICAgICAgICAgaWYoYmVyKQpAQCAtNjExLDcgKzYxMSw3IEBACiAgICAgICAgICAgaWYocmVzdWx0KSB7CiAgICAgICAgICAgICBsZGFwX3ZhbHVlX2ZyZWVfbGVuKHZhbHMpOwogI2lmIGRlZmluZWQoVVNFX1dJTjMyX0xEQVApCi0gICAgICAgICAgICBDdXJsX3VuaWNvZGVmcmVlKGF0dHIpOworICAgICAgICAgICAgY3VybHhfdW5pY29kZWZyZWUoYXR0cik7CiAjZW5kaWYKICAgICAgICAgICAgIGxkYXBfbWVtZnJlZShhdHRyaWJ1dGUpOwogICAgICAgICAgICAgaWYoYmVyKQpAQCAtNjI0LDcgKzYyNCw3IEBACiAgICAgICAgICAgaWYocmVzdWx0KSB7CiAgICAgICAgICAgICBsZGFwX3ZhbHVlX2ZyZWVfbGVuKHZhbHMpOwogI2lmIGRlZmluZWQoVVNFX1dJTjMyX0xEQVApCi0gICAgICAgICAgICBDdXJsX3VuaWNvZGVmcmVlKGF0dHIpOworICAgICAgICAgICAgY3VybHhfdW5pY29kZWZyZWUoYXR0cik7CiAjZW5kaWYKICAgICAgICAgICAgIGxkYXBfbWVtZnJlZShhdHRyaWJ1dGUpOwogICAgICAgICAgICAgaWYoYmVyKQpAQCAtNjQ2LDcgKzY0Niw3IEBACiAgICAgICAgICAgICBpZihyZXN1bHQpIHsKICAgICAgICAgICAgICAgbGRhcF92YWx1ZV9mcmVlX2xlbih2YWxzKTsKICNpZiBkZWZpbmVkKFVTRV9XSU4zMl9MREFQKQotICAgICAgICAgICAgICBDdXJsX3VuaWNvZGVmcmVlKGF0dHIpOworICAgICAgICAgICAgICBjdXJseF91bmljb2RlZnJlZShhdHRyKTsKICNlbmRpZgogICAgICAgICAgICAgICBsZGFwX21lbWZyZWUoYXR0cmlidXRlKTsKICAgICAgICAgICAgICAgaWYoYmVyKQpAQCAtNjYyLDcgKzY2Miw3IEBACiAgICAgICAgICAgICAgIGlmKHJlc3VsdCkgewogICAgICAgICAgICAgICAgIGxkYXBfdmFsdWVfZnJlZV9sZW4odmFscyk7CiAjaWYgZGVmaW5lZChVU0VfV0lOMzJfTERBUCkKLSAgICAgICAgICAgICAgICBDdXJsX3VuaWNvZGVmcmVlKGF0dHIpOworICAgICAgICAgICAgICAgIGN1cmx4X3VuaWNvZGVmcmVlKGF0dHIpOwogI2VuZGlmCiAgICAgICAgICAgICAgICAgbGRhcF9tZW1mcmVlKGF0dHJpYnV0ZSk7CiAgICAgICAgICAgICAgICAgaWYoYmVyKQpAQCAtNjgwLDcgKzY4MCw3IEBACiAgICAgICAgICAgICBpZihyZXN1bHQpIHsKICAgICAgICAgICAgICAgbGRhcF92YWx1ZV9mcmVlX2xlbih2YWxzKTsKICNpZiBkZWZpbmVkKFVTRV9XSU4zMl9MREFQKQotICAgICAgICAgICAgICBDdXJsX3VuaWNvZGVmcmVlKGF0dHIpOworICAgICAgICAgICAgICBjdXJseF91bmljb2RlZnJlZShhdHRyKTsKICNlbmRpZgogICAgICAgICAgICAgICBsZGFwX21lbWZyZWUoYXR0cmlidXRlKTsKICAgICAgICAgICAgICAgaWYoYmVyKQpAQCAtNjk2LDcgKzY5Niw3IEBACiAgICAgICAgICAgaWYocmVzdWx0KSB7CiAgICAgICAgICAgICBsZGFwX3ZhbHVlX2ZyZWVfbGVuKHZhbHMpOwogI2lmIGRlZmluZWQoVVNFX1dJTjMyX0xEQVApCi0gICAgICAgICAgICBDdXJsX3VuaWNvZGVmcmVlKGF0dHIpOworICAgICAgICAgICAgY3VybHhfdW5pY29kZWZyZWUoYXR0cik7CiAjZW5kaWYKICAgICAgICAgICAgIGxkYXBfbWVtZnJlZShhdHRyaWJ1dGUpOwogICAgICAgICAgICAgaWYoYmVyKQpAQCAtNzE0LDcgKzcxNCw3IEBACiAKICAgICAgIC8qIEZyZWUgdGhlIGF0dHJpYnV0ZSBhcyB3ZSBhcmUgZG9uZSB3aXRoIGl0ICovCiAjaWYgZGVmaW5lZChVU0VfV0lOMzJfTERBUCkKLSAgICAgIEN1cmxfdW5pY29kZWZyZWUoYXR0cik7CisgICAgICBjdXJseF91bmljb2RlZnJlZShhdHRyKTsKICNlbmRpZgogICAgICAgbGRhcF9tZW1mcmVlKGF0dHJpYnV0ZSk7CiAKQEAgLTc0Niw3ICs3NDYsNyBAQAogI2VuZGlmIC8qIEhBVkVfTERBUF9TU0wgJiYgQ1VSTF9IQVNfTk9WRUxMX0xEQVBTREsgKi8KIAogI2lmIGRlZmluZWQoVVNFX1dJTjMyX0xEQVApCi0gIEN1cmxfdW5pY29kZWZyZWUoaG9zdCk7CisgIGN1cmx4X3VuaWNvZGVmcmVlKGhvc3QpOwogI2VuZGlmCiAKICAgLyogbm8gZGF0YSB0byB0cmFuc2ZlciAqLwpAQCAtODgzLDcgKzg4Myw3IEBACiAgICAgTERBUF9UUkFDRSgoIkROICclcydcbiIsIGRuKSk7CiAKICAgICAvKiBVbmVzY2FwZSB0aGUgRE4gKi8KLSAgICByZXN1bHQgPSBDdXJsX3VybGRlY29kZShjb25uLT5kYXRhLCBkbiwgMCwgJnVuZXNjYXBlZCwgTlVMTCwgRkFMU0UpOworICAgIHJlc3VsdCA9IEN1cmxfdXJsZGVjb2RlKGNvbm4tPmRhdGEsIGRuLCAwLCAmdW5lc2NhcGVkLCBOVUxMLCBSRUpFQ1RfWkVSTyk7CiAgICAgaWYocmVzdWx0KSB7CiAgICAgICByYyA9IExEQVBfTk9fTUVNT1JZOwogCkBAIC04OTIsMTAgKzg5MiwxMCBAQAogCiAjaWYgZGVmaW5lZChVU0VfV0lOMzJfTERBUCkKICAgICAvKiBDb252ZXJ0IHRoZSB1bmVzY2FwZWQgc3RyaW5nIHRvIGEgdGNoYXIgKi8KLSAgICBsdWRwLT5sdWRfZG4gPSBDdXJsX2NvbnZlcnRfVVRGOF90b190Y2hhcih1bmVzY2FwZWQpOworICAgIGx1ZHAtPmx1ZF9kbiA9IGN1cmx4X2NvbnZlcnRfVVRGOF90b190Y2hhcih1bmVzY2FwZWQpOwogCiAgICAgLyogRnJlZSB0aGUgdW5lc2NhcGVkIHN0cmluZyBhcyB3ZSBhcmUgZG9uZSB3aXRoIGl0ICovCi0gICAgQ3VybF91bmljb2RlZnJlZSh1bmVzY2FwZWQpOworICAgIGN1cmx4X3VuaWNvZGVmcmVlKHVuZXNjYXBlZCk7CiAKICAgICBpZighbHVkcC0+bHVkX2RuKSB7CiAgICAgICByYyA9IExEQVBfTk9fTUVNT1JZOwpAQCAtOTQ5LDcgKzk0OSw3IEBACiAKICAgICAgIC8qIFVuZXNjYXBlIHRoZSBhdHRyaWJ1dGUgKi8KICAgICAgIHJlc3VsdCA9IEN1cmxfdXJsZGVjb2RlKGNvbm4tPmRhdGEsIGF0dHJpYnV0ZXNbaV0sIDAsICZ1bmVzY2FwZWQsIE5VTEwsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBGQUxTRSk7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBSRUpFQ1RfWkVSTyk7CiAgICAgICBpZihyZXN1bHQpIHsKICAgICAgICAgZnJlZShhdHRyaWJ1dGVzKTsKIApAQCAtOTYwLDEwICs5NjAsMTAgQEAKIAogI2lmIGRlZmluZWQoVVNFX1dJTjMyX0xEQVApCiAgICAgICAvKiBDb252ZXJ0IHRoZSB1bmVzY2FwZWQgc3RyaW5nIHRvIGEgdGNoYXIgKi8KLSAgICAgIGx1ZHAtPmx1ZF9hdHRyc1tpXSA9IEN1cmxfY29udmVydF9VVEY4X3RvX3RjaGFyKHVuZXNjYXBlZCk7CisgICAgICBsdWRwLT5sdWRfYXR0cnNbaV0gPSBjdXJseF9jb252ZXJ0X1VURjhfdG9fdGNoYXIodW5lc2NhcGVkKTsKIAogICAgICAgLyogRnJlZSB0aGUgdW5lc2NhcGVkIHN0cmluZyBhcyB3ZSBhcmUgZG9uZSB3aXRoIGl0ICovCi0gICAgICBDdXJsX3VuaWNvZGVmcmVlKHVuZXNjYXBlZCk7CisgICAgICBjdXJseF91bmljb2RlZnJlZSh1bmVzY2FwZWQpOwogCiAgICAgICBpZighbHVkcC0+bHVkX2F0dHJzW2ldKSB7CiAgICAgICAgIGZyZWUoYXR0cmlidXRlcyk7CkBAIC0xMDE4LDcgKzEwMTgsOCBAQAogICAgIExEQVBfVFJBQ0UoKCJmaWx0ZXIgJyVzJ1xuIiwgZmlsdGVyKSk7CiAKICAgICAvKiBVbmVzY2FwZSB0aGUgZmlsdGVyICovCi0gICAgcmVzdWx0ID0gQ3VybF91cmxkZWNvZGUoY29ubi0+ZGF0YSwgZmlsdGVyLCAwLCAmdW5lc2NhcGVkLCBOVUxMLCBGQUxTRSk7CisgICAgcmVzdWx0ID0gQ3VybF91cmxkZWNvZGUoY29ubi0+ZGF0YSwgZmlsdGVyLCAwLCAmdW5lc2NhcGVkLCBOVUxMLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJFSkVDVF9aRVJPKTsKICAgICBpZihyZXN1bHQpIHsKICAgICAgIHJjID0gTERBUF9OT19NRU1PUlk7CiAKQEAgLTEwMjcsMTAgKzEwMjgsMTAgQEAKIAogI2lmIGRlZmluZWQoVVNFX1dJTjMyX0xEQVApCiAgICAgLyogQ29udmVydCB0aGUgdW5lc2NhcGVkIHN0cmluZyB0byBhIHRjaGFyICovCi0gICAgbHVkcC0+bHVkX2ZpbHRlciA9IEN1cmxfY29udmVydF9VVEY4X3RvX3RjaGFyKHVuZXNjYXBlZCk7CisgICAgbHVkcC0+bHVkX2ZpbHRlciA9IGN1cmx4X2NvbnZlcnRfVVRGOF90b190Y2hhcih1bmVzY2FwZWQpOwogCiAgICAgLyogRnJlZSB0aGUgdW5lc2NhcGVkIHN0cmluZyBhcyB3ZSBhcmUgZG9uZSB3aXRoIGl0ICovCi0gICAgQ3VybF91bmljb2RlZnJlZSh1bmVzY2FwZWQpOworICAgIGN1cmx4X3VuaWNvZGVmcmVlKHVuZXNjYXBlZCk7CiAKICAgICBpZighbHVkcC0+bHVkX2ZpbHRlcikgewogICAgICAgcmMgPSBMREFQX05PX01FTU9SWTsKZGlmZiAtLWdpdCBhL2xpYi9saWJjdXJsLnBsaXN0IGIvbGliL2xpYmN1cmwucGxpc3QKaW5kZXggYTAyZGZhYS4uZjIwNmVhOCAxMDA2NDQKLS0tIGEvbGliL2xpYmN1cmwucGxpc3QKKysrIGIvbGliL2xpYmN1cmwucGxpc3QKQEAgLTE1LDcgKzE1LDcgQEAKIAk8c3RyaW5nPnNlLmhheHguY3VybC5saWJjdXJsPC9zdHJpbmc+CiAKIAk8a2V5PkNGQnVuZGxlVmVyc2lvbjwva2V5PgotCTxzdHJpbmc+Ny43MC4wPC9zdHJpbmc+CisJPHN0cmluZz43LjcxLjE8L3N0cmluZz4KIAogCTxrZXk+Q0ZCdW5kbGVOYW1lPC9rZXk+CiAJPHN0cmluZz5saWJjdXJsPC9zdHJpbmc+CkBAIC0yNyw5ICsyNyw5IEBACiAJPHN0cmluZz4/Pz8/PC9zdHJpbmc+CiAKIAk8a2V5PkNGQnVuZGxlU2hvcnRWZXJzaW9uU3RyaW5nPC9rZXk+Ci0JPHN0cmluZz5saWJjdXJsIDcuNzAuMDwvc3RyaW5nPgorCTxzdHJpbmc+bGliY3VybCA3LjcxLjE8L3N0cmluZz4KIAogCTxrZXk+Q0ZCdW5kbGVHZXRJbmZvU3RyaW5nPC9rZXk+Ci0JPHN0cmluZz5saWJjdXJsLnBsaXN0IDcuNzAuMDwvc3RyaW5nPgorCTxzdHJpbmc+bGliY3VybC5wbGlzdCA3LjcxLjE8L3N0cmluZz4KIDwvZGljdD4KIDwvcGxpc3Q+CmRpZmYgLS1naXQgYS9saWIvbWQ0LmMgYi9saWIvbWQ0LmMKaW5kZXggMTBlNmZjNS4uMGZhYjUyZCAxMDA2NDQKLS0tIGEvbGliL21kNC5jCisrKyBiL2xpYi9tZDQuYwpAQCAtMTM5LDEwICsxMzksMTEgQEAKIC8qIFRoZSBsYXN0ICNpbmNsdWRlIGZpbGUgc2hvdWxkIGJlOiAqLwogI2luY2x1ZGUgIm1lbWRlYnVnLmgiCiAKLXR5cGVkZWYgc3RydWN0IHsKK3N0cnVjdCBtZDRfY3R4IHsKICAgSENSWVBUUFJPViBoQ3J5cHRQcm92OwogICBIQ1JZUFRIQVNIIGhIYXNoOwotfSBNRDRfQ1RYOworfTsKK3R5cGVkZWYgc3RydWN0IG1kNF9jdHggTUQ0X0NUWDsKIAogc3RhdGljIHZvaWQgTUQ0X0luaXQoTUQ0X0NUWCAqY3R4KQogewpAQCAtMTg0LDEwICsxODUsMTEgQEAKIC8qIFRoZSBsYXN0ICNpbmNsdWRlIGZpbGUgc2hvdWxkIGJlOiAqLwogI2luY2x1ZGUgIm1lbWRlYnVnLmgiCiAKLXR5cGVkZWYgc3RydWN0IHsKK3N0cnVjdCBtZDRfY3R4IHsKICAgdm9pZCAqZGF0YTsKICAgdW5zaWduZWQgbG9uZyBzaXplOwotfSBNRDRfQ1RYOworfTsKK3R5cGVkZWYgc3RydWN0IG1kNF9jdHggTUQ0X0NUWDsKIAogc3RhdGljIHZvaWQgTUQ0X0luaXQoTUQ0X0NUWCAqY3R4KQogewpAQCAtMjY2LDEyICsyNjgsMTMgQEAKIC8qIEFueSAzMi1iaXQgb3Igd2lkZXIgdW5zaWduZWQgaW50ZWdlciBkYXRhIHR5cGUgd2lsbCBkbyAqLwogdHlwZWRlZiB1bnNpZ25lZCBpbnQgTUQ0X3UzMnBsdXM7CiAKLXR5cGVkZWYgc3RydWN0IHsKK3N0cnVjdCBtZDRfY3R4IHsKICAgTUQ0X3UzMnBsdXMgbG8sIGhpOwogICBNRDRfdTMycGx1cyBhLCBiLCBjLCBkOwogICB1bnNpZ25lZCBjaGFyIGJ1ZmZlcls2NF07CiAgIE1ENF91MzJwbHVzIGJsb2NrWzE2XTsKLX0gTUQ0X0NUWDsKK307Cit0eXBlZGVmIHN0cnVjdCBtZDRfY3R4IE1ENF9DVFg7CiAKIHN0YXRpYyB2b2lkIE1ENF9Jbml0KE1ENF9DVFggKmN0eCk7CiBzdGF0aWMgdm9pZCBNRDRfVXBkYXRlKE1ENF9DVFggKmN0eCwgY29uc3Qgdm9pZCAqZGF0YSwgdW5zaWduZWQgbG9uZyBzaXplKTsKZGlmZiAtLWdpdCBhL2xpYi9tZDUuYyBiL2xpYi9tZDUuYwppbmRleCA3NjYxNTg3Li41NTdhNTFlIDEwMDY0NAotLS0gYS9saWIvbWQ1LmMKKysrIGIvbGliL21kNS5jCkBAIC0xNzksMTAgKzE3OSwxMSBAQAogLyogVGhlIGxhc3QgI2luY2x1ZGUgZmlsZSBzaG91bGQgYmU6ICovCiAjaW5jbHVkZSAibWVtZGVidWcuaCIKIAotdHlwZWRlZiBzdHJ1Y3Qgeworc3RydWN0IG1kNV9jdHggewogICBIQ1JZUFRQUk9WIGhDcnlwdFByb3Y7CiAgIEhDUllQVEhBU0ggaEhhc2g7Ci19IE1ENV9DVFg7Cit9OwordHlwZWRlZiBzdHJ1Y3QgbWQ1X2N0eCBNRDVfQ1RYOwogCiBzdGF0aWMgdm9pZCBNRDVfSW5pdChNRDVfQ1RYICpjdHgpCiB7CkBAIC0yNjEsMTIgKzI2MiwxMyBAQAogLyogQW55IDMyLWJpdCBvciB3aWRlciB1bnNpZ25lZCBpbnRlZ2VyIGRhdGEgdHlwZSB3aWxsIGRvICovCiB0eXBlZGVmIHVuc2lnbmVkIGludCBNRDVfdTMycGx1czsKIAotdHlwZWRlZiBzdHJ1Y3Qgeworc3RydWN0IG1kNV9jdHggewogICBNRDVfdTMycGx1cyBsbywgaGk7CiAgIE1ENV91MzJwbHVzIGEsIGIsIGMsIGQ7CiAgIHVuc2lnbmVkIGNoYXIgYnVmZmVyWzY0XTsKICAgTUQ1X3UzMnBsdXMgYmxvY2tbMTZdOwotfSBNRDVfQ1RYOworfTsKK3R5cGVkZWYgc3RydWN0IG1kNV9jdHggTUQ1X0NUWDsKIAogc3RhdGljIHZvaWQgTUQ1X0luaXQoTUQ1X0NUWCAqY3R4KTsKIHN0YXRpYyB2b2lkIE1ENV9VcGRhdGUoTUQ1X0NUWCAqY3R4LCBjb25zdCB2b2lkICpkYXRhLCB1bnNpZ25lZCBsb25nIHNpemUpOwpAQCAtNTI4LDcgKzUzMCw3IEBACiAKICNlbmRpZiAvKiBDUllQVE8gTElCUyAqLwogCi1jb25zdCBITUFDX3BhcmFtcyBDdXJsX0hNQUNfTUQ1W10gPSB7Citjb25zdCBzdHJ1Y3QgSE1BQ19wYXJhbXMgQ3VybF9ITUFDX01ENVtdID0gewogICB7CiAgICAgLyogSGFzaCBpbml0aWFsaXphdGlvbiBmdW5jdGlvbi4gKi8KICAgICBDVVJMWF9GVU5DVElPTl9DQVNUKEhNQUNfaGluaXRfZnVuYywgTUQ1X0luaXQpLApAQCAtNTQ1LDcgKzU0Nyw3IEBACiAgIH0KIH07CiAKLWNvbnN0IE1ENV9wYXJhbXMgQ3VybF9ESUdFU1RfTUQ1W10gPSB7Citjb25zdCBzdHJ1Y3QgTUQ1X3BhcmFtcyBDdXJsX0RJR0VTVF9NRDVbXSA9IHsKICAgewogICAgIC8qIERpZ2VzdCBpbml0aWFsaXphdGlvbiBmdW5jdGlvbiAqLwogICAgIENVUkxYX0ZVTkNUSU9OX0NBU1QoQ3VybF9NRDVfaW5pdF9mdW5jLCBNRDVfSW5pdCksCkBAIC01NzMsOSArNTc1LDkgQEAKICAgTUQ1X0ZpbmFsKG91dGJ1ZmZlciwgJmN0eCk7CiB9CiAKLU1ENV9jb250ZXh0ICpDdXJsX01ENV9pbml0KGNvbnN0IE1ENV9wYXJhbXMgKm1kNXBhcmFtcykKK3N0cnVjdCBNRDVfY29udGV4dCAqQ3VybF9NRDVfaW5pdChjb25zdCBzdHJ1Y3QgTUQ1X3BhcmFtcyAqbWQ1cGFyYW1zKQogewotICBNRDVfY29udGV4dCAqY3R4dDsKKyAgc3RydWN0IE1ENV9jb250ZXh0ICpjdHh0OwogCiAgIC8qIENyZWF0ZSBNRDUgY29udGV4dCAqLwogICBjdHh0ID0gbWFsbG9jKHNpemVvZigqY3R4dCkpOwpAQCAtNTk3LDcgKzU5OSw3IEBACiAgIHJldHVybiBjdHh0OwogfQogCi1DVVJMY29kZSBDdXJsX01ENV91cGRhdGUoTUQ1X2NvbnRleHQgKmNvbnRleHQsCitDVVJMY29kZSBDdXJsX01ENV91cGRhdGUoc3RydWN0IE1ENV9jb250ZXh0ICpjb250ZXh0LAogICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVuc2lnbmVkIGNoYXIgKmRhdGEsCiAgICAgICAgICAgICAgICAgICAgICAgICAgdW5zaWduZWQgaW50IGxlbikKIHsKQEAgLTYwNiw3ICs2MDgsNyBAQAogICByZXR1cm4gQ1VSTEVfT0s7CiB9CiAKLUNVUkxjb2RlIEN1cmxfTUQ1X2ZpbmFsKE1ENV9jb250ZXh0ICpjb250ZXh0LCB1bnNpZ25lZCBjaGFyICpyZXN1bHQpCitDVVJMY29kZSBDdXJsX01ENV9maW5hbChzdHJ1Y3QgTUQ1X2NvbnRleHQgKmNvbnRleHQsIHVuc2lnbmVkIGNoYXIgKnJlc3VsdCkKIHsKICAgKCpjb250ZXh0LT5tZDVfaGFzaC0+bWQ1X2ZpbmFsX2Z1bmMpKHJlc3VsdCwgY29udGV4dC0+bWQ1X2hhc2hjdHgpOwogCmRpZmYgLS1naXQgYS9saWIvbWltZS5jIGIvbGliL21pbWUuYwppbmRleCBlMTNkOTJlLi42YTliNjRhIDEwMDY0NAotLS0gYS9saWIvbWltZS5jCisrKyBiL2xpYi9taW1lLmMKQEAgLTcxLDcgKzcxLDcgQEAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGN1cmxfbWltZXBhcnQgKnBhcnQpOwogc3RhdGljIGN1cmxfb2ZmX3QgZW5jb2Rlcl9xcF9zaXplKGN1cmxfbWltZXBhcnQgKnBhcnQpOwogCi1zdGF0aWMgY29uc3QgbWltZV9lbmNvZGVyIGVuY29kZXJzW10gPSB7CitzdGF0aWMgY29uc3Qgc3RydWN0IG1pbWVfZW5jb2RlciBlbmNvZGVyc1tdID0gewogICB7ImJpbmFyeSIsIGVuY29kZXJfbm9wX3JlYWQsIGVuY29kZXJfbm9wX3NpemV9LAogICB7IjhiaXQiLCBlbmNvZGVyX25vcF9yZWFkLCBlbmNvZGVyX25vcF9zaXplfSwKICAgeyI3Yml0IiwgZW5jb2Rlcl83Yml0X3JlYWQsIGVuY29kZXJfbm9wX3NpemV9LApAQCAtMjY5LDcgKzI2OSw4IEBACiAKIAogLyogU2V0IHJlYWRiYWNrIHN0YXRlLiAqLwotc3RhdGljIHZvaWQgbWltZXNldHN0YXRlKG1pbWVfc3RhdGUgKnN0YXRlLCBlbnVtIG1pbWVzdGF0ZSB0b2ssIHZvaWQgKnB0cikKK3N0YXRpYyB2b2lkIG1pbWVzZXRzdGF0ZShzdHJ1Y3QgbWltZV9zdGF0ZSAqc3RhdGUsCisgICAgICAgICAgICAgICAgICAgICAgICAgZW51bSBtaW1lc3RhdGUgdG9rLCB2b2lkICpwdHIpCiB7CiAgIHN0YXRlLT5zdGF0ZSA9IHRvazsKICAgc3RhdGUtPnB0ciA9IHB0cjsKQEAgLTM0Miw3ICszNDMsNyBAQAogfQogCiAvKiBJbml0aWFsaXplIGRhdGEgZW5jb2RlciBzdGF0ZS4gKi8KLXN0YXRpYyB2b2lkIGNsZWFudXBfZW5jb2Rlcl9zdGF0ZShtaW1lX2VuY29kZXJfc3RhdGUgKnApCitzdGF0aWMgdm9pZCBjbGVhbnVwX2VuY29kZXJfc3RhdGUoc3RydWN0IG1pbWVfZW5jb2Rlcl9zdGF0ZSAqcCkKIHsKICAgcC0+cG9zID0gMDsKICAgcC0+YnVmYmVnID0gMDsKQEAgLTM1Miw5ICszNTMsOSBAQAogCiAvKiBEdW1teSBlbmNvZGVyLiBUaGlzIGlzIHVzZWQgZm9yIDhiaXQgYW5kIGJpbmFyeSBjb250ZW50IGVuY29kaW5ncy4gKi8KIHN0YXRpYyBzaXplX3QgZW5jb2Rlcl9ub3BfcmVhZChjaGFyICpidWZmZXIsIHNpemVfdCBzaXplLCBib29sIGF0ZW9mLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGN1cmxfbWltZXBhcnQgKnBhcnQpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RydWN0IGN1cmxfbWltZXBhcnQgKnBhcnQpCiB7Ci0gIG1pbWVfZW5jb2Rlcl9zdGF0ZSAqc3QgPSAmcGFydC0+ZW5jc3RhdGU7CisgIHN0cnVjdCBtaW1lX2VuY29kZXJfc3RhdGUgKnN0ID0gJnBhcnQtPmVuY3N0YXRlOwogICBzaXplX3QgaW5zaXplID0gc3QtPmJ1ZmVuZCAtIHN0LT5idWZiZWc7CiAKICAgKHZvaWQpIGF0ZW9mOwpAQCAtMzgyLDcgKzM4Myw3IEBACiBzdGF0aWMgc2l6ZV90IGVuY29kZXJfN2JpdF9yZWFkKGNoYXIgKmJ1ZmZlciwgc2l6ZV90IHNpemUsIGJvb2wgYXRlb2YsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGN1cmxfbWltZXBhcnQgKnBhcnQpCiB7Ci0gIG1pbWVfZW5jb2Rlcl9zdGF0ZSAqc3QgPSAmcGFydC0+ZW5jc3RhdGU7CisgIHN0cnVjdCBtaW1lX2VuY29kZXJfc3RhdGUgKnN0ID0gJnBhcnQtPmVuY3N0YXRlOwogICBzaXplX3QgY3Vyc2l6ZSA9IHN0LT5idWZlbmQgLSBzdC0+YnVmYmVnOwogCiAgICh2b2lkKSBhdGVvZjsKQEAgLTQwOCw3ICs0MDksNyBAQAogc3RhdGljIHNpemVfdCBlbmNvZGVyX2Jhc2U2NF9yZWFkKGNoYXIgKmJ1ZmZlciwgc2l6ZV90IHNpemUsIGJvb2wgYXRlb2YsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGN1cmxfbWltZXBhcnQgKnBhcnQpCiB7Ci0gIG1pbWVfZW5jb2Rlcl9zdGF0ZSAqc3QgPSAmcGFydC0+ZW5jc3RhdGU7CisgIHN0cnVjdCBtaW1lX2VuY29kZXJfc3RhdGUgKnN0ID0gJnBhcnQtPmVuY3N0YXRlOwogICBzaXplX3QgY3Vyc2l6ZSA9IDA7CiAgIGludCBpOwogICBjaGFyICpwdHIgPSBidWZmZXI7CkBAIC01MTIsNyArNTEzLDcgQEAKICAqIENoZWNrIGlmIGEgQ1JMRiBvciBlbmQgb2YgZGF0YSBpcyBpbiBpbnB1dCBidWZmZXIgYXQgY3VycmVudCBwb3NpdGlvbiArIG4uCiAgKiBSZXR1cm4gLTEgaWYgbW9yZSBkYXRhIG5lZWRlZCwgMSBpZiBDUkxGIG9yIGVuZCBvZiBkYXRhLCBlbHNlIDAuCiAgKi8KLXN0YXRpYyBpbnQgcXBfbG9va2FoZWFkX2VvbChtaW1lX2VuY29kZXJfc3RhdGUgKnN0LCBpbnQgYXRlb2YsIHNpemVfdCBuKQorc3RhdGljIGludCBxcF9sb29rYWhlYWRfZW9sKHN0cnVjdCBtaW1lX2VuY29kZXJfc3RhdGUgKnN0LCBpbnQgYXRlb2YsIHNpemVfdCBuKQogewogICBuICs9IHN0LT5idWZiZWc7CiAgIGlmKG4gPj0gc3QtPmJ1ZmVuZCAmJiBhdGVvZikKQEAgLTUyOSw3ICs1MzAsNyBAQAogc3RhdGljIHNpemVfdCBlbmNvZGVyX3FwX3JlYWQoY2hhciAqYnVmZmVyLCBzaXplX3Qgc2l6ZSwgYm9vbCBhdGVvZiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGN1cmxfbWltZXBhcnQgKnBhcnQpCiB7Ci0gIG1pbWVfZW5jb2Rlcl9zdGF0ZSAqc3QgPSAmcGFydC0+ZW5jc3RhdGU7CisgIHN0cnVjdCBtaW1lX2VuY29kZXJfc3RhdGUgKnN0ID0gJnBhcnQtPmVuY3N0YXRlOwogICBjaGFyICpwdHIgPSBidWZmZXI7CiAgIHNpemVfdCBjdXJzaXplID0gMDsKICAgaW50IHNvZnRsaW5lYnJlYWs7CkBAIC01OTQsNyArNTk1LDYgQEAKICAgICAgICAgc3dpdGNoKHFwX2xvb2thaGVhZF9lb2woc3QsIGF0ZW9mLCBjb25zdW1lZCkpIHsKICAgICAgICAgY2FzZSAtMTogICAgICAgIC8qIE5lZWQgbW9yZSBkYXRhLiAqLwogICAgICAgICAgIHJldHVybiBjdXJzaXplOwotICAgICAgICAgIGJyZWFrOwogICAgICAgICBjYXNlIDA6ICAgICAgICAgLyogTm90IGZvbGxvd2VkIGJ5IGEgQ1JMRi4gKi8KICAgICAgICAgICBzb2Z0bGluZWJyZWFrID0gMTsKICAgICAgICAgICBicmVhazsKQEAgLTY4NSw3ICs2ODUsNyBAQAogCiAvKiBOYW1lZCBmaWxlIGNhbGxiYWNrcy4gKi8KIC8qIEFyZ3VtZW50IGlzIGEgcG9pbnRlciB0byB0aGUgbWltZSBwYXJ0LiAqLwotc3RhdGljIGludCBtaW1lX29wZW5fZmlsZShjdXJsX21pbWVwYXJ0ICogcGFydCkKK3N0YXRpYyBpbnQgbWltZV9vcGVuX2ZpbGUoY3VybF9taW1lcGFydCAqcGFydCkKIHsKICAgLyogT3BlbiBhIE1JTUVLSU5EX0ZJTEUgcGFydC4gKi8KIApAQCAtNzQwLDcgKzc0MCw3IEBACiAvKiBBcmd1bWVudCBpcyBhIHBvaW50ZXIgdG8gdGhlIG1pbWUgc3RydWN0dXJlLiAqLwogCiAvKiBSZWFkYmFjayBhIGJ5dGUgc3RyaW5nIHNlZ21lbnQuICovCi1zdGF0aWMgc2l6ZV90IHJlYWRiYWNrX2J5dGVzKG1pbWVfc3RhdGUgKnN0YXRlLAorc3RhdGljIHNpemVfdCByZWFkYmFja19ieXRlcyhzdHJ1Y3QgbWltZV9zdGF0ZSAqc3RhdGUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNoYXIgKmJ1ZmZlciwgc2l6ZV90IGJ1ZnNpemUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGNoYXIgKmJ5dGVzLCBzaXplX3QgbnVtYnl0ZXMsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGNoYXIgKnRyYWlsKQpAQCAtODM5LDcgKzgzOSw3IEBACiBzdGF0aWMgc2l6ZV90IHJlYWRfZW5jb2RlZF9wYXJ0X2NvbnRlbnQoY3VybF9taW1lcGFydCAqcGFydCwgY2hhciAqYnVmZmVyLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNpemVfdCBidWZzaXplLCBib29sICpoYXNyZWFkKQogewotICBtaW1lX2VuY29kZXJfc3RhdGUgKnN0ID0gJnBhcnQtPmVuY3N0YXRlOworICBzdHJ1Y3QgbWltZV9lbmNvZGVyX3N0YXRlICpzdCA9ICZwYXJ0LT5lbmNzdGF0ZTsKICAgc2l6ZV90IGN1cnNpemUgPSAwOwogICBzaXplX3Qgc3o7CiAgIGJvb2wgYXRlb2YgPSBGQUxTRTsKQEAgLTE0MTksNyArMTQxOSw3IEBACiAKICAgICBpZihkYXRhc2l6ZSkKICAgICAgIG1lbWNweShwYXJ0LT5kYXRhLCBkYXRhLCBkYXRhc2l6ZSk7Ci0gICAgcGFydC0+ZGF0YVtkYXRhc2l6ZV0gPSAnXDAnOyAgICAvKiBTZXQgYSBudWwgdGVybWluYXRvciBhcyBzZW50aW5lbC4gKi8KKyAgICBwYXJ0LT5kYXRhW2RhdGFzaXplXSA9ICdcMCc7ICAgIC8qIFNldCBhIG51bGwgdGVybWluYXRvciBhcyBzZW50aW5lbC4gKi8KIAogICAgIHBhcnQtPnJlYWRmdW5jID0gbWltZV9tZW1fcmVhZDsKICAgICBwYXJ0LT5zZWVrZnVuYyA9IG1pbWVfbWVtX3NlZWs7CkBAIC0xNTAyLDcgKzE1MDIsNyBAQAogQ1VSTGNvZGUgY3VybF9taW1lX2VuY29kZXIoY3VybF9taW1lcGFydCAqcGFydCwgY29uc3QgY2hhciAqZW5jb2RpbmcpCiB7CiAgIENVUkxjb2RlIHJlc3VsdCA9IENVUkxFX0JBRF9GVU5DVElPTl9BUkdVTUVOVDsKLSAgY29uc3QgbWltZV9lbmNvZGVyICptZXA7CisgIGNvbnN0IHN0cnVjdCBtaW1lX2VuY29kZXIgKm1lcDsKIAogICBpZighcGFydCkKICAgICByZXR1cm4gcmVzdWx0OwpkaWZmIC0tZ2l0IGEvbGliL21pbWUuaCBiL2xpYi9taW1lLmgKaW5kZXggZDdmMjUxMy4uNTBiN2VhNiAxMDA2NDQKLS0tIGEvbGliL21pbWUuaAorKysgYi9saWIvbWltZS5oCkBAIC02OSw0MyArNjksNDMgQEAKIH07CiAKIC8qIENvbnRlbnQgdHJhbnNmZXIgZW5jb2Rlci4gKi8KLXR5cGVkZWYgc3RydWN0IHsKK3N0cnVjdCBtaW1lX2VuY29kZXIgewogICBjb25zdCBjaGFyICogICBuYW1lOyAgICAgICAgICAvKiBFbmNvZGluZyBuYW1lLiAqLwogICBzaXplX3QgICAgICAgICAoKmVuY29kZWZ1bmMpKGNoYXIgKmJ1ZmZlciwgc2l6ZV90IHNpemUsIGJvb2wgYXRlb2YsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY3VybF9taW1lcGFydCAqcGFydCk7ICAvKiBFbmNvZGVkIHJlYWQuICovCiAgIGN1cmxfb2ZmX3QgICAgICgqc2l6ZWZ1bmMpKGN1cmxfbWltZXBhcnQgKnBhcnQpOyAgLyogRW5jb2RlZCBzaXplLiAqLwotfSAgbWltZV9lbmNvZGVyOworfTsKIAogLyogQ29udGVudCB0cmFuc2ZlciBlbmNvZGVyIHN0YXRlLiAqLwotdHlwZWRlZiBzdHJ1Y3Qgeworc3RydWN0IG1pbWVfZW5jb2Rlcl9zdGF0ZSB7CiAgIHNpemVfdCAgICAgICAgIHBvczsgICAgICAgICAgIC8qIFBvc2l0aW9uIG9uIG91dHB1dCBsaW5lLiAqLwogICBzaXplX3QgICAgICAgICBidWZiZWc7ICAgICAgICAvKiBOZXh0IGRhdGEgaW5kZXggaW4gaW5wdXQgYnVmZmVyLiAqLwogICBzaXplX3QgICAgICAgICBidWZlbmQ7ICAgICAgICAvKiBGaXJzdCB1bnVzZWQgYnl0ZSBpbmRleCBpbiBpbnB1dCBidWZmZXIuICovCiAgIGNoYXIgICAgICAgICAgIGJ1ZltFTkNPRElOR19CVUZGRVJfU0laRV07IC8qIElucHV0IGJ1ZmZlci4gKi8KLX0gIG1pbWVfZW5jb2Rlcl9zdGF0ZTsKK307CiAKIC8qIE1pbWUgcmVhZGJhY2sgc3RhdGUuICovCi10eXBlZGVmIHN0cnVjdCB7CitzdHJ1Y3QgbWltZV9zdGF0ZSB7CiAgIGVudW0gbWltZXN0YXRlIHN0YXRlOyAgICAgICAvKiBDdXJyZW50IHN0YXRlIHRva2VuLiAqLwogICB2b2lkICpwdHI7ICAgICAgICAgICAgICAgICAgLyogU3RhdGUtZGVwZW5kZW50IHBvaW50ZXIuICovCiAgIGN1cmxfb2ZmX3Qgb2Zmc2V0OyAgICAgICAgICAvKiBTdGF0ZS1kZXBlbmRlbnQgb2Zmc2V0LiAqLwotfSAgbWltZV9zdGF0ZTsKK307CiAKIC8qIG1pbmltdW0gYnVmZmVyIHNpemUgZm9yIHRoZSBib3VuZGFyeSBzdHJpbmcgKi8KICNkZWZpbmUgTUlNRV9CT1VOREFSWV9MRU4gKDI0ICsgTUlNRV9SQU5EX0JPVU5EQVJZX0NIQVJTICsgMSkKIAogLyogQSBtaW1lIG11bHRpcGFydC4gKi8KLXN0cnVjdCBjdXJsX21pbWVfcyB7CitzdHJ1Y3QgY3VybF9taW1lIHsKICAgc3RydWN0IEN1cmxfZWFzeSAqZWFzeTsgICAgICAgICAgLyogVGhlIGFzc29jaWF0ZWQgZWFzeSBoYW5kbGUuICovCiAgIGN1cmxfbWltZXBhcnQgKnBhcmVudDsgICAgICAgICAgIC8qIFBhcmVudCBwYXJ0LiAqLwogICBjdXJsX21pbWVwYXJ0ICpmaXJzdHBhcnQ7ICAgICAgICAvKiBGaXJzdCBwYXJ0LiAqLwogICBjdXJsX21pbWVwYXJ0ICpsYXN0cGFydDsgICAgICAgICAvKiBMYXN0IHBhcnQuICovCiAgIGNoYXIgYm91bmRhcnlbTUlNRV9CT1VOREFSWV9MRU5dOyAvKiBUaGUgcGFydCBib3VuZGFyeS4gKi8KLSAgbWltZV9zdGF0ZSBzdGF0ZTsgICAgICAgICAgICAgICAgLyogQ3VycmVudCByZWFkYmFjayBzdGF0ZS4gKi8KKyAgc3RydWN0IG1pbWVfc3RhdGUgc3RhdGU7ICAgICAgICAgLyogQ3VycmVudCByZWFkYmFjayBzdGF0ZS4gKi8KIH07CiAKIC8qIEEgbWltZSBwYXJ0LiAqLwotc3RydWN0IGN1cmxfbWltZXBhcnRfcyB7CitzdHJ1Y3QgY3VybF9taW1lcGFydCB7CiAgIHN0cnVjdCBDdXJsX2Vhc3kgKmVhc3k7ICAgICAgICAgIC8qIFRoZSBhc3NvY2lhdGVkIGVhc3kgaGFuZGxlLiAqLwogICBjdXJsX21pbWUgKnBhcmVudDsgICAgICAgICAgICAgICAvKiBQYXJlbnQgbWltZSBzdHJ1Y3R1cmUuICovCiAgIGN1cmxfbWltZXBhcnQgKm5leHRwYXJ0OyAgICAgICAgIC8qIEZvcndhcmQgbGlua2VkIGxpc3QuICovCkBAIC0xMjMsOSArMTIzLDkgQEAKICAgY2hhciAqbmFtZTsgICAgICAgICAgICAgICAgICAgICAgLyogRGF0YSBuYW1lLiAqLwogICBjdXJsX29mZl90IGRhdGFzaXplOyAgICAgICAgICAgICAvKiBFeHBlY3RlZCBkYXRhIHNpemUuICovCiAgIHVuc2lnbmVkIGludCBmbGFnczsgICAgICAgICAgICAgIC8qIEZsYWdzLiAqLwotICBtaW1lX3N0YXRlIHN0YXRlOyAgICAgICAgICAgICAgICAvKiBDdXJyZW50IHJlYWRiYWNrIHN0YXRlLiAqLwotICBjb25zdCBtaW1lX2VuY29kZXIgKmVuY29kZXI7ICAgICAvKiBDb250ZW50IGRhdGEgZW5jb2Rlci4gKi8KLSAgbWltZV9lbmNvZGVyX3N0YXRlIGVuY3N0YXRlOyAgICAgLyogRGF0YSBlbmNvZGVyIHN0YXRlLiAqLworICBzdHJ1Y3QgbWltZV9zdGF0ZSBzdGF0ZTsgICAgICAgICAvKiBDdXJyZW50IHJlYWRiYWNrIHN0YXRlLiAqLworICBjb25zdCBzdHJ1Y3QgbWltZV9lbmNvZGVyICplbmNvZGVyOyAvKiBDb250ZW50IGRhdGEgZW5jb2Rlci4gKi8KKyAgc3RydWN0IG1pbWVfZW5jb2Rlcl9zdGF0ZSBlbmNzdGF0ZTsgLyogRGF0YSBlbmNvZGVyIHN0YXRlLiAqLwogICBzaXplX3QgbGFzdHJlYWRzdGF0dXM7ICAgICAgICAgICAvKiBMYXN0IHJlYWQgY2FsbGJhY2sgcmV0dXJuZWQgc3RhdHVzLiAqLwogfTsKIApAQCAtMTM1LDIxICsxMzUsMjMgQEAKICAgIWRlZmluZWQoQ1VSTF9ESVNBQkxFX1NNVFApIHx8ICFkZWZpbmVkKENVUkxfRElTQUJMRV9JTUFQKQogCiAvKiBQcm90b3R5cGVzLiAqLwotdm9pZCBDdXJsX21pbWVfaW5pdHBhcnQoY3VybF9taW1lcGFydCAqcGFydCwgc3RydWN0IEN1cmxfZWFzeSAqZWFzeSk7Ci12b2lkIEN1cmxfbWltZV9jbGVhbnBhcnQoY3VybF9taW1lcGFydCAqcGFydCk7Ci1DVVJMY29kZSBDdXJsX21pbWVfZHVwcGFydChjdXJsX21pbWVwYXJ0ICpkc3QsIGNvbnN0IGN1cmxfbWltZXBhcnQgKnNyYyk7Ci1DVVJMY29kZSBDdXJsX21pbWVfc2V0X3N1YnBhcnRzKGN1cmxfbWltZXBhcnQgKnBhcnQsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGN1cmxfbWltZSAqc3VicGFydHMsIGludCB0YWtlX293bmVyc2hpcCk7Ci1DVVJMY29kZSBDdXJsX21pbWVfcHJlcGFyZV9oZWFkZXJzKGN1cmxfbWltZXBhcnQgKnBhcnQsCit2b2lkIEN1cmxfbWltZV9pbml0cGFydChzdHJ1Y3QgY3VybF9taW1lcGFydCAqcGFydCwgc3RydWN0IEN1cmxfZWFzeSAqZWFzeSk7Cit2b2lkIEN1cmxfbWltZV9jbGVhbnBhcnQoc3RydWN0IGN1cmxfbWltZXBhcnQgKnBhcnQpOworQ1VSTGNvZGUgQ3VybF9taW1lX2R1cHBhcnQoc3RydWN0IGN1cmxfbWltZXBhcnQgKmRzdCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGN1cmxfbWltZXBhcnQgKnNyYyk7CitDVVJMY29kZSBDdXJsX21pbWVfc2V0X3N1YnBhcnRzKHN0cnVjdCBjdXJsX21pbWVwYXJ0ICpwYXJ0LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJ1Y3QgY3VybF9taW1lICpzdWJwYXJ0cywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHRha2Vfb3duZXJzaGlwKTsKK0NVUkxjb2RlIEN1cmxfbWltZV9wcmVwYXJlX2hlYWRlcnMoc3RydWN0IGN1cmxfbWltZXBhcnQgKnBhcnQsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGNoYXIgKmNvbnRlbnR0eXBlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBjaGFyICpkaXNwb3NpdGlvbiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZW51bSBtaW1lc3RyYXRlZ3kgc3RyYXRlZ3kpOwotY3VybF9vZmZfdCBDdXJsX21pbWVfc2l6ZShjdXJsX21pbWVwYXJ0ICpwYXJ0KTsKK2N1cmxfb2ZmX3QgQ3VybF9taW1lX3NpemUoc3RydWN0IGN1cmxfbWltZXBhcnQgKnBhcnQpOwogc2l6ZV90IEN1cmxfbWltZV9yZWFkKGNoYXIgKmJ1ZmZlciwgc2l6ZV90IHNpemUsIHNpemVfdCBuaXRlbXMsCiAgICAgICAgICAgICAgICAgICAgICAgdm9pZCAqaW5zdHJlYW0pOwotQ1VSTGNvZGUgQ3VybF9taW1lX3Jld2luZChjdXJsX21pbWVwYXJ0ICpwYXJ0KTsKK0NVUkxjb2RlIEN1cmxfbWltZV9yZXdpbmQoc3RydWN0IGN1cmxfbWltZXBhcnQgKnBhcnQpOwogY29uc3QgY2hhciAqQ3VybF9taW1lX2NvbnRlbnR0eXBlKGNvbnN0IGNoYXIgKmZpbGVuYW1lKTsKLXZvaWQgQ3VybF9taW1lX3VucGF1c2UoY3VybF9taW1lcGFydCAqcGFydCk7Cit2b2lkIEN1cmxfbWltZV91bnBhdXNlKHN0cnVjdCBjdXJsX21pbWVwYXJ0ICpwYXJ0KTsKIAogI2Vsc2UKIC8qIGlmIGRpc2FibGVkICovCmRpZmYgLS1naXQgYS9saWIvbXByaW50Zi5jIGIvbGliL21wcmludGYuYwppbmRleCBiYzAwOTEzLi42M2M5ZDExIDEwMDY0NAotLS0gYS9saWIvbXByaW50Zi5jCisrKyBiL2xpYi9tcHJpbnRmLmMKQEAgLTUsNyArNSw3IEBACiAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICB8IChfX3wgfF98IHwgIF8gPHwgfF9fXwogICogICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxfX198XF9fXy98X3wgXF9cX19fX198CiAgKgotICogQ29weXJpZ2h0IChDKSAxOTk5IC0gMjAxOSwgRGFuaWVsIFN0ZW5iZXJnLCA8ZGFuaWVsQGhheHguc2U+LCBldCBhbC4KKyAqIENvcHlyaWdodCAoQykgMTk5OSAtIDIwMjAsIERhbmllbCBTdGVuYmVyZywgPGRhbmllbEBoYXh4LnNlPiwgZXQgYWwuCiAgKgogICogVGhpcyBzb2Z0d2FyZSBpcyBsaWNlbnNlZCBhcyBkZXNjcmliZWQgaW4gdGhlIGZpbGUgQ09QWUlORywgd2hpY2gKICAqIHlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhcyBwYXJ0IG9mIHRoaXMgZGlzdHJpYnV0aW9uLiBUaGUgdGVybXMKQEAgLTM2LDYgKzM2LDcgQEAKICAqLwogCiAjaW5jbHVkZSAiY3VybF9zZXR1cC5oIgorI2luY2x1ZGUgImR5bmJ1Zi5oIgogI2luY2x1ZGUgPGN1cmwvbXByaW50Zi5oPgogCiAjaW5jbHVkZSAiY3VybF9tZW1vcnkuaCIKQEAgLTE0NSw3ICsxNDYsNyBAQAogICBGTEFHU19GTE9BVEcgICAgID0gMTw8MTkgIC8qICVnIG9yICVHICovCiB9OwogCi10eXBlZGVmIHN0cnVjdCB7CitzdHJ1Y3QgdmFfc3RhY2sgewogICBGb3JtYXRUeXBlIHR5cGU7CiAgIGludCBmbGFnczsKICAgbG9uZyB3aWR0aDsgICAgIC8qIHdpZHRoIE9SIHdpZHRoIHBhcmFtZXRlciBudW1iZXIgKi8KQEAgLTE1OSw3ICsxNjAsNyBAQAogICAgIH0gbnVtOwogICAgIGRvdWJsZSBkbnVtOwogICB9IGRhdGE7Ci19IHZhX3N0YWNrX3Q7Cit9OwogCiBzdHJ1Y3QgbnNwcmludGYgewogICBjaGFyICpidWZmZXI7CkBAIC0xNjgsMTEgKzE2OSw5IEBACiB9OwogCiBzdHJ1Y3QgYXNwcmludGYgewotICBjaGFyICpidWZmZXI7IC8qIGFsbG9jYXRlZCBidWZmZXIgKi8KLSAgc2l6ZV90IGxlbjsgICAvKiBsZW5ndGggb2Ygc3RyaW5nICovCi0gIHNpemVfdCBhbGxvYzsgLyogbGVuZ3RoIG9mIGFsbG9jICovCi0gIGludCBmYWlsOyAgICAgLyogKCE9IDApIGlmIGFuIGFsbG9jIGhhcyBmYWlsZWQgYW5kIHRodXMKLSAgICAgICAgICAgICAgICAgICB0aGUgb3V0cHV0IGlzIG5vdCB0aGUgY29tcGxldGUgZGF0YSAqLworICBzdHJ1Y3QgZHluYnVmIGI7CisgIGJvb2wgZmFpbDsgLyogaWYgYW4gYWxsb2MgaGFzIGZhaWxlZCBhbmQgdGh1cyB0aGUgb3V0cHV0IGlzIG5vdCB0aGUgY29tcGxldGUKKyAgICAgICAgICAgICAgICBkYXRhICovCiB9OwogCiBzdGF0aWMgbG9uZyBkcHJpbnRmX0RvbGxhclN0cmluZyhjaGFyICppbnB1dCwgY2hhciAqKmVuZCkKQEAgLTIyNCw4ICsyMjMsOCBAQAogICoKICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCiAKLXN0YXRpYyBpbnQgZHByaW50Zl9QYXNzMShjb25zdCBjaGFyICpmb3JtYXQsIHZhX3N0YWNrX3QgKnZ0bywgY2hhciAqKmVuZHBvcywKLSAgICAgICAgICAgICAgICAgICAgICAgICB2YV9saXN0IGFyZ2xpc3QpCitzdGF0aWMgaW50IGRwcmludGZfUGFzczEoY29uc3QgY2hhciAqZm9ybWF0LCBzdHJ1Y3QgdmFfc3RhY2sgKnZ0bywKKyAgICAgICAgICAgICAgICAgICAgICAgICBjaGFyICoqZW5kcG9zLCB2YV9saXN0IGFyZ2xpc3QpCiB7CiAgIGNoYXIgKmZtdCA9IChjaGFyICopZm9ybWF0OwogICBpbnQgcGFyYW1fbnVtID0gMDsKQEAgLTU3MSwxMyArNTcwLDExIEBACiAgIGxvbmcgcGFyYW07IC8qIGN1cnJlbnQgcGFyYW1ldGVyIHRvIHJlYWQgKi8KICAgbG9uZyBwYXJhbV9udW0gPSAwOyAvKiBwYXJhbWV0ZXIgY291bnRlciAqLwogCi0gIHZhX3N0YWNrX3QgdnRvW01BWF9QQVJBTUVURVJTXTsKKyAgc3RydWN0IHZhX3N0YWNrIHZ0b1tNQVhfUEFSQU1FVEVSU107CiAgIGNoYXIgKmVuZHBvc1tNQVhfUEFSQU1FVEVSU107CiAgIGNoYXIgKiplbmQ7Ci0KICAgY2hhciB3b3JrW0JVRkZTSVpFXTsKLQotICB2YV9zdGFja190ICpwOworICBzdHJ1Y3QgdmFfc3RhY2sgKnA7CiAKICAgLyogJ3dvcmtlbmQnIHBvaW50cyB0byB0aGUgZmluYWwgYnVmZmVyIGJ5dGUgcG9zaXRpb24sIGJ1dCB3aXRoIGFuIGV4dHJhCiAgICAgIGJ5dGUgYXMgbWFyZ2luIHRvIGF2b2lkIHRoZSAoZmFsc2U/KSB3YXJuaW5nIENvdmVyaXR5IGdpdmVzIHVzCkBAIC0xMDMxLDM1ICsxMDI4LDEwIEBACiAgIHN0cnVjdCBhc3ByaW50ZiAqaW5mb3AgPSAoc3RydWN0IGFzcHJpbnRmICopZGF0YTsKICAgdW5zaWduZWQgY2hhciBvdXRjID0gKHVuc2lnbmVkIGNoYXIpb3V0cHV0OwogCi0gIGlmKCFpbmZvcC0+YnVmZmVyKSB7Ci0gICAgaW5mb3AtPmJ1ZmZlciA9IG1hbGxvYygzMik7Ci0gICAgaWYoIWluZm9wLT5idWZmZXIpIHsKLSAgICAgIGluZm9wLT5mYWlsID0gMTsKLSAgICAgIHJldHVybiAtMTsgLyogZmFpbCAqLwotICAgIH0KLSAgICBpbmZvcC0+YWxsb2MgPSAzMjsKLSAgICBpbmZvcC0+bGVuID0gMDsKKyAgaWYoQ3VybF9keW5fYWRkbigmaW5mb3AtPmIsICZvdXRjLCAxKSkgeworICAgIGluZm9wLT5mYWlsID0gMTsKKyAgICByZXR1cm4gLTE7IC8qIGZhaWwgKi8KICAgfQotICBlbHNlIGlmKGluZm9wLT5sZW4gKyAxID49IGluZm9wLT5hbGxvYykgewotICAgIGNoYXIgKm5ld3B0ciA9IE5VTEw7Ci0gICAgc2l6ZV90IG5ld3NpemUgPSBpbmZvcC0+YWxsb2MqMjsKLQotICAgIC8qIGRldGVjdCB3cmFwLWFyb3VuZCBvciBvdGhlciBvdmVyZmxvdyBwcm9ibGVtcyAqLwotICAgIGlmKG5ld3NpemUgPiBpbmZvcC0+YWxsb2MpCi0gICAgICBuZXdwdHIgPSByZWFsbG9jKGluZm9wLT5idWZmZXIsIG5ld3NpemUpOwotCi0gICAgaWYoIW5ld3B0cikgewotICAgICAgaW5mb3AtPmZhaWwgPSAxOwotICAgICAgcmV0dXJuIC0xOyAvKiBmYWlsICovCi0gICAgfQotICAgIGluZm9wLT5idWZmZXIgPSBuZXdwdHI7Ci0gICAgaW5mb3AtPmFsbG9jID0gbmV3c2l6ZTsKLSAgfQotCi0gIGluZm9wLT5idWZmZXJbIGluZm9wLT5sZW4gXSA9IG91dGM7Ci0KLSAgaW5mb3AtPmxlbisrOwotCiAgIHJldHVybiBvdXRjOyAvKiBmcHV0YygpIHJldHVybnMgbGlrZSB0aGlzIG9uIHN1Y2Nlc3MgKi8KIH0KIApAQCAtMTA2OCwyNCArMTA0MCwxOCBAQAogICB2YV9saXN0IGFwX3NhdmU7IC8qIGFyZ3VtZW50IHBvaW50ZXIgKi8KICAgaW50IHJldGNvZGU7CiAgIHN0cnVjdCBhc3ByaW50ZiBpbmZvOwotCi0gIGluZm8uYnVmZmVyID0gTlVMTDsKLSAgaW5mby5sZW4gPSAwOwotICBpbmZvLmFsbG9jID0gMDsKKyAgQ3VybF9keW5faW5pdCgmaW5mby5iLCBEWU5fQVBSSU5URik7CiAgIGluZm8uZmFpbCA9IDA7CiAKICAgdmFfc3RhcnQoYXBfc2F2ZSwgZm9ybWF0KTsKICAgcmV0Y29kZSA9IGRwcmludGZfZm9ybWF0ZigmaW5mbywgYWxsb2NfYWRkYnl0ZXIsIGZvcm1hdCwgYXBfc2F2ZSk7CiAgIHZhX2VuZChhcF9zYXZlKTsKICAgaWYoKC0xID09IHJldGNvZGUpIHx8IGluZm8uZmFpbCkgewotICAgIGlmKGluZm8uYWxsb2MpCi0gICAgICBmcmVlKGluZm8uYnVmZmVyKTsKKyAgICBDdXJsX2R5bl9mcmVlKCZpbmZvLmIpOwogICAgIHJldHVybiBOVUxMOwogICB9Ci0gIGlmKGluZm8uYWxsb2MpIHsKLSAgICBpbmZvLmJ1ZmZlcltpbmZvLmxlbl0gPSAwOyAvKiB3ZSB0ZXJtaW5hdGUgdGhpcyB3aXRoIGEgemVybyBieXRlICovCi0gICAgcmV0dXJuIGluZm8uYnVmZmVyOwotICB9CisgIGlmKEN1cmxfZHluX2xlbigmaW5mby5iKSkKKyAgICByZXR1cm4gQ3VybF9keW5fcHRyKCZpbmZvLmIpOwogICByZXR1cm4gc3RyZHVwKCIiKTsKIH0KIApAQCAtMTA5MywyMyArMTA1OSwxNiBAQAogewogICBpbnQgcmV0Y29kZTsKICAgc3RydWN0IGFzcHJpbnRmIGluZm87Ci0KLSAgaW5mby5idWZmZXIgPSBOVUxMOwotICBpbmZvLmxlbiA9IDA7Ci0gIGluZm8uYWxsb2MgPSAwOworICBDdXJsX2R5bl9pbml0KCZpbmZvLmIsIERZTl9BUFJJTlRGKTsKICAgaW5mby5mYWlsID0gMDsKIAogICByZXRjb2RlID0gZHByaW50Zl9mb3JtYXRmKCZpbmZvLCBhbGxvY19hZGRieXRlciwgZm9ybWF0LCBhcF9zYXZlKTsKICAgaWYoKC0xID09IHJldGNvZGUpIHx8IGluZm8uZmFpbCkgewotICAgIGlmKGluZm8uYWxsb2MpCi0gICAgICBmcmVlKGluZm8uYnVmZmVyKTsKKyAgICBDdXJsX2R5bl9mcmVlKCZpbmZvLmIpOwogICAgIHJldHVybiBOVUxMOwogICB9Ci0KLSAgaWYoaW5mby5hbGxvYykgewotICAgIGluZm8uYnVmZmVyW2luZm8ubGVuXSA9IDA7IC8qIHdlIHRlcm1pbmF0ZSB0aGlzIHdpdGggYSB6ZXJvIGJ5dGUgKi8KLSAgICByZXR1cm4gaW5mby5idWZmZXI7Ci0gIH0KKyAgaWYoQ3VybF9keW5fbGVuKCZpbmZvLmIpKQorICAgIHJldHVybiBDdXJsX2R5bl9wdHIoJmluZm8uYik7CiAgIHJldHVybiBzdHJkdXAoIiIpOwogfQogCmRpZmYgLS1naXQgYS9saWIvbXF0dC5jIGIvbGliL21xdHQuYwppbmRleCA0M2EzYjZlLi5mNmY0NDE2IDEwMDY0NAotLS0gYS9saWIvbXF0dC5jCisrKyBiL2xpYi9tcXR0LmMKQEAgLTIxMSw3ICsyMTEsOCBAQAogICBjaGFyICpwYXRoID0gY29ubi0+ZGF0YS0+c3RhdGUudXAucGF0aDsKIAogICBpZihzdHJsZW4ocGF0aCkgPiAxKSB7Ci0gICAgcmVzdWx0ID0gQ3VybF91cmxkZWNvZGUoY29ubi0+ZGF0YSwgcGF0aCArIDEsIDAsIHRvcGljLCB0b3BpY2xlbiwgRkFMU0UpOworICAgIHJlc3VsdCA9IEN1cmxfdXJsZGVjb2RlKGNvbm4tPmRhdGEsIHBhdGggKyAxLCAwLCB0b3BpYywgdG9waWNsZW4sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgUkVKRUNUX05BREEpOwogICB9CiAgIGVsc2UgewogICAgIGZhaWxmKGNvbm4tPmRhdGEsICJFcnJvcjogTm8gdG9waWMgc3BlY2lmaWVkLiIpOwpAQCAtNTkxLDcgKzU5Miw3IEBACiAgICAgaWYocmVzdWx0KQogICAgICAgYnJlYWs7CiAKLSAgICBpZihjb25uLT5kYXRhLT5zZXQuaHR0cHJlcSA9PSBIVFRQUkVRX1BPU1QpIHsKKyAgICBpZihjb25uLT5kYXRhLT5zdGF0ZS5odHRwcmVxID09IEhUVFBSRVFfUE9TVCkgewogICAgICAgcmVzdWx0ID0gbXF0dF9wdWJsaXNoKGNvbm4pOwogICAgICAgaWYoIXJlc3VsdCkgewogICAgICAgICByZXN1bHQgPSBtcXR0X2Rpc2Nvbm5lY3QoY29ubik7CmRpZmYgLS1naXQgYS9saWIvbXVsdGkuYyBiL2xpYi9tdWx0aS5jCmluZGV4IGQ0ZjAzMTguLjI0OWUzNjAgMTAwNjQ0Ci0tLSBhL2xpYi9tdWx0aS5jCisrKyBiL2xpYi9tdWx0aS5jCkBAIC03OSw3ICs3OSw2IEBACiBzdGF0aWMgQ1VSTE1jb2RlIG11bHRpX3RpbWVvdXQoc3RydWN0IEN1cmxfbXVsdGkgKm11bHRpLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxvbmcgKnRpbWVvdXRfbXMpOwogc3RhdGljIHZvaWQgcHJvY2Vzc19wZW5kaW5nX2hhbmRsZXMoc3RydWN0IEN1cmxfbXVsdGkgKm11bHRpKTsKLXN0YXRpYyB2b2lkIGRldGFjaF9jb25ubmVjdGlvbihzdHJ1Y3QgQ3VybF9lYXN5ICpkYXRhKTsKIAogI2lmZGVmIERFQlVHQlVJTEQKIHN0YXRpYyBjb25zdCBjaGFyICogY29uc3Qgc3RhdGVuYW1lW109ewpAQCAtMTEyLDcgKzExMSw3IEBACiAKICAgLyogSW1wb3J0YW50OiByZXNldCB0aGUgY29ubiBwb2ludGVyIHNvIHRoYXQgd2UgZG9uJ3QgcG9pbnQgdG8gbWVtb3J5CiAgICAgIHRoYXQgY291bGQgYmUgZnJlZWQgYW55dGltZSAqLwotICBkZXRhY2hfY29ubm5lY3Rpb24oZGF0YSk7CisgIEN1cmxfZGV0YWNoX2Nvbm5uZWN0aW9uKGRhdGEpOwogICBDdXJsX2V4cGlyZV9jbGVhcihkYXRhKTsgLyogc3RvcCBhbGwgdGltZXJzICovCiB9CiAKQEAgLTE2OSw5ICsxNjgsMTEgQEAKICAgfQogI2VuZGlmCiAKLSAgaWYoc3RhdGUgPT0gQ1VSTE1fU1RBVEVfQ09NUExFVEVEKQorICBpZihzdGF0ZSA9PSBDVVJMTV9TVEFURV9DT01QTEVURUQpIHsKICAgICAvKiBjaGFuZ2luZyB0byBDT01QTEVURUQgbWVhbnMgdGhlcmUncyBvbmUgbGVzcyBlYXN5IGhhbmRsZSAnYWxpdmUnICovCisgICAgREVCVUdBU1NFUlQoZGF0YS0+bXVsdGktPm51bV9hbGl2ZSA+IDApOwogICAgIGRhdGEtPm11bHRpLT5udW1fYWxpdmUtLTsKKyAgfQogCiAgIC8qIGlmIHRoaXMgc3RhdGUgaGFzIGFuIGluaXQtZnVuY3Rpb24sIHJ1biBpdCAqLwogICBpZihmaW5pdFtzdGF0ZV0pCkBAIC01MDYsNiArNTA3LDcgQEAKICAgICAgZWFzeSBoYW5kbGUgaXMgYWRkZWQgKi8KICAgbWVtc2V0KCZtdWx0aS0+dGltZXJfbGFzdGNhbGwsIDAsIHNpemVvZihtdWx0aS0+dGltZXJfbGFzdGNhbGwpKTsKIAorICBDT05OQ0FDSEVfTE9DSyhkYXRhKTsKICAgLyogVGhlIGNsb3N1cmUgaGFuZGxlIG9ubHkgZXZlciBoYXMgZGVmYXVsdCB0aW1lb3V0cyBzZXQuIFRvIGltcHJvdmUgdGhlCiAgICAgIHN0YXRlIHNvbWV3aGF0IHdlIGNsb25lIHRoZSB0aW1lb3V0cyBmcm9tIGVhY2ggYWRkZWQgaGFuZGxlIHNvIHRoYXQgdGhlCiAgICAgIGNsb3N1cmUgaGFuZGxlIGFsd2F5cyBoYXMgdGhlIHNhbWUgdGltZW91dHMgYXMgdGhlIG1vc3QgcmVjZW50bHkgYWRkZWQKQEAgLTUxNSw2ICs1MTcsNyBAQAogICAgIGRhdGEtPnNldC5zZXJ2ZXJfcmVzcG9uc2VfdGltZW91dDsKICAgZGF0YS0+c3RhdGUuY29ubl9jYWNoZS0+Y2xvc3VyZV9oYW5kbGUtPnNldC5ub19zaWduYWwgPQogICAgIGRhdGEtPnNldC5ub19zaWduYWw7CisgIENPTk5DQUNIRV9VTkxPQ0soZGF0YSk7CiAKICAgQ3VybF91cGRhdGVfdGltZXIobXVsdGkpOwogICByZXR1cm4gQ1VSTE1fT0s7CkBAIC01ODksMTQgKzU5MiwxNCBAQAogCiAgIHByb2Nlc3NfcGVuZGluZ19oYW5kbGVzKGRhdGEtPm11bHRpKTsgLyogY29ubmVjdGlvbiAvIG11bHRpcGxleCAqLwogCi0gIENPTk5fTE9DSyhkYXRhKTsKLSAgZGV0YWNoX2Nvbm5uZWN0aW9uKGRhdGEpOworICBDT05OQ0FDSEVfTE9DSyhkYXRhKTsKKyAgQ3VybF9kZXRhY2hfY29ubm5lY3Rpb24oZGF0YSk7CiAgIGlmKENPTk5fSU5VU0UoY29ubikpIHsKICAgICAvKiBTdG9wIGlmIHN0aWxsIHVzZWQuICovCiAgICAgLyogY29ubi0+ZGF0YSBtdXN0IG5vdCByZW1haW4gcG9pbnRpbmcgdG8gdGhpcyB0cmFuc2ZlciBzaW5jZSBpdCBpcyBnb2luZwogICAgICAgIGF3YXkhIEZpbmQgYW5vdGhlciB0byBvd24gaXQhICovCiAgICAgY29ubi0+ZGF0YSA9IGNvbm4tPmVhc3lxLmhlYWQtPnB0cjsKLSAgICBDT05OX1VOTE9DSyhkYXRhKTsKKyAgICBDT05OQ0FDSEVfVU5MT0NLKGRhdGEpOwogICAgIERFQlVHRihpbmZvZihkYXRhLCAiQ29ubmVjdGlvbiBzdGlsbCBpbiB1c2UgJXp1LCAiCiAgICAgICAgICAgICAgICAgICJubyBtb3JlIG11bHRpX2RvbmUgbm93IVxuIiwKICAgICAgICAgICAgICAgICAgY29ubi0+ZWFzeXEuc2l6ZSkpOwpAQCAtNjE1LDcgKzYxOCw3IEBACiAgIC8qIGlmIHRoZSB0cmFuc2ZlciB3YXMgY29tcGxldGVkIGluIGEgcGF1c2VkIHN0YXRlIHRoZXJlIGNhbiBiZSBidWZmZXJlZAogICAgICBkYXRhIGxlZnQgdG8gZnJlZSAqLwogICBmb3IoaSA9IDA7IGkgPCBkYXRhLT5zdGF0ZS50ZW1wY291bnQ7IGkrKykgewotICAgIGZyZWUoZGF0YS0+c3RhdGUudGVtcHdyaXRlW2ldLmJ1Zik7CisgICAgQ3VybF9keW5fZnJlZSgmZGF0YS0+c3RhdGUudGVtcHdyaXRlW2ldLmIpOwogICB9CiAgIGRhdGEtPnN0YXRlLnRlbXBjb3VudCA9IDA7CiAKQEAgLTY0Nyw3ICs2NTAsOCBAQAogICAgICAgIHx8IChwcmVtYXR1cmUgJiYgIShjb25uLT5oYW5kbGVyLT5mbGFncyAmIFBST1RPUFRfU1RSRUFNKSkpIHsKICAgICBDVVJMY29kZSByZXMyOwogICAgIGNvbm5jbG9zZShjb25uLCAiZGlzY29ubmVjdGluZyIpOwotICAgIENPTk5fVU5MT0NLKGRhdGEpOworICAgIEN1cmxfY29ubmNhY2hlX3JlbW92ZV9jb25uKGRhdGEsIGNvbm4sIEZBTFNFKTsKKyAgICBDT05OQ0FDSEVfVU5MT0NLKGRhdGEpOwogICAgIHJlczIgPSBDdXJsX2Rpc2Nvbm5lY3QoZGF0YSwgY29ubiwgcHJlbWF0dXJlKTsKIAogICAgIC8qIElmIHdlIGhhZCBhbiBlcnJvciBhbHJlYWR5LCBtYWtlIHN1cmUgd2UgcmV0dXJuIHRoYXQgb25lLiBCdXQKQEAgLTY1NywxNiArNjYxLDIwIEBACiAgIH0KICAgZWxzZSB7CiAgICAgY2hhciBidWZmZXJbMjU2XTsKKyAgICBjb25zdCBjaGFyICpob3N0ID0KKyNpZm5kZWYgQ1VSTF9ESVNBQkxFX1BST1hZCisgICAgICBjb25uLT5iaXRzLnNvY2tzcHJveHkgPworICAgICAgY29ubi0+c29ja3NfcHJveHkuaG9zdC5kaXNwbmFtZSA6CisgICAgICBjb25uLT5iaXRzLmh0dHBwcm94eSA/IGNvbm4tPmh0dHBfcHJveHkuaG9zdC5kaXNwbmFtZSA6CisjZW5kaWYKKyAgICAgIGNvbm4tPmJpdHMuY29ubl90b19ob3N0ID8gY29ubi0+Y29ubl90b19ob3N0LmRpc3BuYW1lIDoKKyAgICAgIGNvbm4tPmhvc3QuZGlzcG5hbWU7CiAgICAgLyogY3JlYXRlIHN0cmluZyBiZWZvcmUgcmV0dXJuaW5nIHRoZSBjb25uZWN0aW9uICovCiAgICAgbXNucHJpbnRmKGJ1ZmZlciwgc2l6ZW9mKGJ1ZmZlciksCiAgICAgICAgICAgICAgICJDb25uZWN0aW9uICMlbGQgdG8gaG9zdCAlcyBsZWZ0IGludGFjdCIsCi0gICAgICAgICAgICAgIGNvbm4tPmNvbm5lY3Rpb25faWQsCi0gICAgICAgICAgICAgIGNvbm4tPmJpdHMuc29ja3Nwcm94eSA/IGNvbm4tPnNvY2tzX3Byb3h5Lmhvc3QuZGlzcG5hbWUgOgotICAgICAgICAgICAgICBjb25uLT5iaXRzLmh0dHBwcm94eSA/IGNvbm4tPmh0dHBfcHJveHkuaG9zdC5kaXNwbmFtZSA6Ci0gICAgICAgICAgICAgIGNvbm4tPmJpdHMuY29ubl90b19ob3N0ID8gY29ubi0+Y29ubl90b19ob3N0LmRpc3BuYW1lIDoKLSAgICAgICAgICAgICAgY29ubi0+aG9zdC5kaXNwbmFtZSk7CisgICAgICAgICAgICAgIGNvbm4tPmNvbm5lY3Rpb25faWQsIGhvc3QpOwogICAgIC8qIHRoZSBjb25uZWN0aW9uIGlzIG5vIGxvbmdlciBpbiB1c2UgYnkgdGhpcyB0cmFuc2ZlciAqLwotICAgIENPTk5fVU5MT0NLKGRhdGEpOworICAgIENPTk5DQUNIRV9VTkxPQ0soZGF0YSk7CiAgICAgaWYoQ3VybF9jb25uY2FjaGVfcmV0dXJuX2Nvbm4oZGF0YSwgY29ubikpIHsKICAgICAgIC8qIHJlbWVtYmVyIHRoZSBtb3N0IHJlY2VudGx5IHVzZWQgY29ubmVjdGlvbiAqLwogICAgICAgZGF0YS0+c3RhdGUubGFzdGNvbm5lY3QgPSBjb25uOwpAQCAtNjc2LDYgKzY4NCw3IEBACiAgICAgICBkYXRhLT5zdGF0ZS5sYXN0Y29ubmVjdCA9IE5VTEw7CiAgIH0KIAorICBDdXJsX3NhZmVmcmVlKGRhdGEtPnN0YXRlLmJ1ZmZlcik7CiAgIEN1cmxfZnJlZV9yZXF1ZXN0X3N0YXRlKGRhdGEpOwogICByZXR1cm4gcmVzdWx0OwogfQpAQCAtNzc4LDggKzc4Nyw3IEBACiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbmlzaCB3aXRoIHRoaXMgaGFuZGxlICovCiAKICAgLyogUmVtb3ZlIHRoZSBhc3NvY2lhdGlvbiBiZXR3ZWVuIHRoZSBjb25uZWN0aW9uIGFuZCB0aGUgaGFuZGxlICovCi0gIGlmKGRhdGEtPmNvbm4pCi0gICAgZGV0YWNoX2Nvbm5uZWN0aW9uKGRhdGEpOworICBDdXJsX2RldGFjaF9jb25ubmVjdGlvbihkYXRhKTsKIAogI2lmZGVmIFVTRV9MSUJQU0wKICAgLyogUmVtb3ZlIHRoZSBQU0wgYXNzb2NpYXRpb24uICovCkBAIC04MjgsOSArODM2LDEzIEBACiAgIHJldHVybiAobXVsdGkgJiYgKG11bHRpLT5tdWx0aXBsZXhpbmcpKTsKIH0KIAotLyogVGhpcyBpcyB0aGUgb25seSBmdW5jdGlvbiB0aGF0IHNob3VsZCBjbGVhciBkYXRhLT5jb25uLiBUaGlzIHdpbGwKLSAgIG9jY2FzaW9uYWxseSBiZSBjYWxsZWQgd2l0aCB0aGUgcG9pbnRlciBhbHJlYWR5IGNsZWFyZWQuICovCi1zdGF0aWMgdm9pZCBkZXRhY2hfY29ubm5lY3Rpb24oc3RydWN0IEN1cmxfZWFzeSAqZGF0YSkKKy8qCisgKiBDdXJsX2RldGFjaF9jb25ubmVjdGlvbigpIHJlbW92ZXMgdGhlIGdpdmVuIHRyYW5zZmVyIGZyb20gdGhlIGNvbm5lY3Rpb24uCisgKgorICogVGhpcyBpcyB0aGUgb25seSBmdW5jdGlvbiB0aGF0IHNob3VsZCBjbGVhciBkYXRhLT5jb25uLiBUaGlzIHdpbGwKKyAqIG9jY2FzaW9uYWxseSBiZSBjYWxsZWQgd2l0aCB0aGUgZGF0YS0+Y29ubiBwb2ludGVyIGFscmVhZHkgY2xlYXJlZC4KKyAqLwordm9pZCBDdXJsX2RldGFjaF9jb25ubmVjdGlvbihzdHJ1Y3QgQ3VybF9lYXN5ICpkYXRhKQogewogICBzdHJ1Y3QgY29ubmVjdGRhdGEgKmNvbm4gPSBkYXRhLT5jb25uOwogICBpZihjb25uKQpAQCAtODM4LDcgKzg1MCwxMSBAQAogICBkYXRhLT5jb25uID0gTlVMTDsKIH0KIAotLyogVGhpcyBpcyB0aGUgb25seSBmdW5jdGlvbiB0aGF0IHNob3VsZCBhc3NpZ24gZGF0YS0+Y29ubiAqLworLyoKKyAqIEN1cmxfYXR0YWNoX2Nvbm5uZWN0aW9uKCkgYXR0YWNoZXMgdGhpcyB0cmFuc2ZlciB0byB0aGlzIGNvbm5lY3Rpb24uCisgKgorICogVGhpcyBpcyB0aGUgb25seSBmdW5jdGlvbiB0aGF0IHNob3VsZCBhc3NpZ24gZGF0YS0+Y29ubgorICovCiB2b2lkIEN1cmxfYXR0YWNoX2Nvbm5uZWN0aW9uKHN0cnVjdCBDdXJsX2Vhc3kgKmRhdGEsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cnVjdCBjb25uZWN0ZGF0YSAqY29ubikKIHsKQEAgLTg1Nyw5ICs4NzMsMTEgQEAKICAgaW50IHJjID0gMDsKIAogI2lmZGVmIFVTRV9TU0wKKyNpZm5kZWYgQ1VSTF9ESVNBQkxFX1BST1hZCiAgIGlmKENPTk5FQ1RfRklSU1RTT0NLRVRfUFJPWFlfU1NMKCkpCiAgICAgcmV0dXJuIEN1cmxfc3NsX2dldHNvY2soY29ubiwgc29jayk7CiAjZW5kaWYKKyNlbmRpZgogCiAgIGlmKFNPQ0tTX1NUQVRFKGNvbm4tPmNubmN0LnN0YXRlKSkKICAgICByZXR1cm4gQ3VybF9TT0NLU19nZXRzb2NrKGNvbm4sIHNvY2ssIEZJUlNUU09DS0VUKTsKQEAgLTEyMzksNyArMTI1Nyw3IEBACiAgICAgICAgICB0aW1lb3V0ICovCiAgICAgICBlbHNlIGlmKChzbGVlcF9tcyA8IDApICYmIGV4dHJhd2FpdCkKICAgICAgICAgc2xlZXBfbXMgPSB0aW1lb3V0X21zOwotICAgICAgQ3VybF93YWl0X21zKChpbnQpc2xlZXBfbXMpOworICAgICAgQ3VybF93YWl0X21zKHNsZWVwX21zKTsKICAgICB9CiAgIH0KIApAQCAtMTQ4MCw3ICsxNDk4LDcgQEAKICAgfQogCiAgIGlmKCFjb25uLT5iaXRzLnByb3RvY29ubnN0YXJ0KSB7Ci0KKyNpZm5kZWYgQ1VSTF9ESVNBQkxFX1BST1hZCiAgICAgcmVzdWx0ID0gQ3VybF9wcm94eV9jb25uZWN0KGNvbm4sIEZJUlNUU09DS0VUKTsKICAgICBpZihyZXN1bHQpCiAgICAgICByZXR1cm4gcmVzdWx0OwpAQCAtMTQ5NCw3ICsxNTEyLDcgQEAKICAgICAgIC8qIHdoZW4gdXNpbmcgYW4gSFRUUCB0dW5uZWwgcHJveHksIGF3YWl0IGNvbXBsZXRlIHR1bm5lbCBlc3RhYmxpc2htZW50CiAgICAgICAgICBiZWZvcmUgcHJvY2VlZGluZyBmdXJ0aGVyLiBSZXR1cm4gQ1VSTEVfT0sgc28gd2UnbGwgYmUgY2FsbGVkIGFnYWluICovCiAgICAgICByZXR1cm4gQ1VSTEVfT0s7Ci0KKyNlbmRpZgogICAgIGlmKGNvbm4tPmhhbmRsZXItPmNvbm5lY3RfaXQpIHsKICAgICAgIC8qIGlzIHRoZXJlIGEgcHJvdG9jb2wtc3BlY2lmaWMgY29ubmVjdCgpIHByb2NlZHVyZT8gKi8KIApAQCAtMTUxMyw2ICsxNTMxLDIxIEBACiAgIHJldHVybiByZXN1bHQ7IC8qIHBhc3MgYmFjayBzdGF0dXMgKi8KIH0KIAorLyoKKyAqIEN1cmxfcHJlY29ubmVjdCgpIGlzIGNhbGxlZCBpbW1lZGlhdGVseSBiZWZvcmUgYSBjb25uZWN0IHN0YXJ0cy4gV2hlbiBhCisgKiByZWRpcmVjdCBpcyBmb2xsb3dlZCwgdGhpcyBpcyB0aGVuIGNhbGxlZCBtdWx0aXBsZSB0aW1lcyBkdXJpbmcgYSBzaW5nbGUKKyAqIHRyYW5zZmVyLgorICovCitDVVJMY29kZSBDdXJsX3ByZWNvbm5lY3Qoc3RydWN0IEN1cmxfZWFzeSAqZGF0YSkKK3sKKyAgaWYoIWRhdGEtPnN0YXRlLmJ1ZmZlcikgeworICAgIGRhdGEtPnN0YXRlLmJ1ZmZlciA9IG1hbGxvYyhkYXRhLT5zZXQuYnVmZmVyX3NpemUgKyAxKTsKKyAgICBpZighZGF0YS0+c3RhdGUuYnVmZmVyKQorICAgICAgcmV0dXJuIENVUkxFX09VVF9PRl9NRU1PUlk7CisgIH0KKyAgcmV0dXJuIENVUkxFX09LOworfQorCiAKIHN0YXRpYyBDVVJMTWNvZGUgbXVsdGlfcnVuc2luZ2xlKHN0cnVjdCBDdXJsX211bHRpICptdWx0aSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cnVjdCBjdXJsdGltZSBub3csCkBAIC0xNTQwLDE5ICsxNTczLDYgQEAKICAgICBib29sIHN0cmVhbV9lcnJvciA9IEZBTFNFOwogICAgIHJjID0gQ1VSTE1fT0s7CiAKLSAgICBERUJVR0FTU0VSVCgoZGF0YS0+bXN0YXRlIDw9IENVUkxNX1NUQVRFX0NPTk5FQ1QpIHx8Ci0gICAgICAgICAgICAgICAgKGRhdGEtPm1zdGF0ZSA+PSBDVVJMTV9TVEFURV9ET05FKSB8fAotICAgICAgICAgICAgICAgIGRhdGEtPmNvbm4pOwotICAgIGlmKCFkYXRhLT5jb25uICYmCi0gICAgICAgZGF0YS0+bXN0YXRlID4gQ1VSTE1fU1RBVEVfQ09OTkVDVCAmJgotICAgICAgIGRhdGEtPm1zdGF0ZSA8IENVUkxNX1NUQVRFX0RPTkUpIHsKLSAgICAgIC8qIEluIGFsbCB0aGVzZSBzdGF0ZXMsIHRoZSBjb2RlIHdpbGwgYmxpbmRseSBhY2Nlc3MgJ2RhdGEtPmNvbm4nCi0gICAgICAgICBzbyB0aGlzIGlzIHByZWNhdXRpb24gdGhhdCBpdCBpc24ndCBOVUxMLiBBbmQgaXQgc2lsZW5jZXMgc3RhdGljCi0gICAgICAgICBhbmFseXplcnMuICovCi0gICAgICBmYWlsZihkYXRhLCAiSW4gc3RhdGUgJWQgd2l0aCBubyBjb25uLCBiYWlsIG91dCFcbiIsIGRhdGEtPm1zdGF0ZSk7Ci0gICAgICByZXR1cm4gQ1VSTE1fSU5URVJOQUxfRVJST1I7Ci0gICAgfQotCiAgICAgaWYobXVsdGlfaXNjaGFuZ2VkKG11bHRpLCBUUlVFKSkgewogICAgICAgREVCVUdGKGluZm9mKGRhdGEsICJtdWx0aSBjaGFuZ2VkLCBjaGVjayBDT05ORUNUX1BFTkQgcXVldWUhXG4iKSk7CiAgICAgICBwcm9jZXNzX3BlbmRpbmdfaGFuZGxlcyhtdWx0aSk7IC8qIG11bHRpcGxleGVkICovCkBAIC0xNjMzLDYgKzE2NTMsMTEgQEAKIAogICAgIGNhc2UgQ1VSTE1fU1RBVEVfQ09OTkVDVDoKICAgICAgIC8qIENvbm5lY3QuIFdlIHdhbnQgdG8gZ2V0IGEgY29ubmVjdGlvbiBpZGVudGlmaWVyIGZpbGxlZCBpbi4gKi8KKyAgICAgIC8qIGluaXQgdGhpcyB0cmFuc2Zlci4gKi8KKyAgICAgIHJlc3VsdCA9IEN1cmxfcHJlY29ubmVjdChkYXRhKTsKKyAgICAgIGlmKHJlc3VsdCkKKyAgICAgICAgYnJlYWs7CisKICAgICAgIEN1cmxfcGdyc1RpbWUoZGF0YSwgVElNRVJfU1RBUlRTSU5HTEUpOwogICAgICAgaWYoZGF0YS0+c2V0LnRpbWVvdXQpCiAgICAgICAgIEN1cmxfZXhwaXJlKGRhdGEsIGRhdGEtPnNldC50aW1lb3V0LCBFWFBJUkVfVElNRU9VVCk7CkBAIC0xNjkwLDkgKzE3MTUsMTIgQEAKICAgICAgIGNvbnN0IGNoYXIgKmhvc3RuYW1lOwogCiAgICAgICBERUJVR0FTU0VSVChjb25uKTsKKyNpZm5kZWYgQ1VSTF9ESVNBQkxFX1BST1hZCiAgICAgICBpZihjb25uLT5iaXRzLmh0dHBwcm94eSkKICAgICAgICAgaG9zdG5hbWUgPSBjb25uLT5odHRwX3Byb3h5Lmhvc3QubmFtZTsKLSAgICAgIGVsc2UgaWYoY29ubi0+Yml0cy5jb25uX3RvX2hvc3QpCisgICAgICBlbHNlCisjZW5kaWYKKyAgICAgICAgaWYoY29ubi0+Yml0cy5jb25uX3RvX2hvc3QpCiAgICAgICAgIGhvc3RuYW1lID0gY29ubi0+Y29ubl90b19ob3N0Lm5hbWU7CiAgICAgICBlbHNlCiAgICAgICAgIGhvc3RuYW1lID0gY29ubi0+aG9zdC5uYW1lOwpAQCAtMTc1OCw3ICsxNzg2LDcgQEAKICAgICAgIC8qIHRoaXMgaXMgSFRUUC1zcGVjaWZpYywgYnV0IHNlbmRpbmcgQ09OTkVDVCB0byBhIHByb3h5IGlzIEhUVFAuLi4gKi8KICAgICAgIERFQlVHQVNTRVJUKGRhdGEtPmNvbm4pOwogICAgICAgcmVzdWx0ID0gQ3VybF9odHRwX2Nvbm5lY3QoZGF0YS0+Y29ubiwgJnByb3RvY29sX2Nvbm5lY3RlZCk7Ci0KKyNpZm5kZWYgQ1VSTF9ESVNBQkxFX1BST1hZCiAgICAgICBpZihkYXRhLT5jb25uLT5iaXRzLnByb3h5X2Nvbm5lY3RfY2xvc2VkKSB7CiAgICAgICAgIHJjID0gQ1VSTE1fQ0FMTF9NVUxUSV9QRVJGT1JNOwogICAgICAgICAvKiBjb25uZWN0IGJhY2sgdG8gcHJveHkgYWdhaW4gKi8KQEAgLTE3NjYsMTUgKzE3OTQsMjAgQEAKICAgICAgICAgbXVsdGlfZG9uZShkYXRhLCBDVVJMRV9PSywgRkFMU0UpOwogICAgICAgICBtdWx0aXN0YXRlKGRhdGEsIENVUkxNX1NUQVRFX0NPTk5FQ1QpOwogICAgICAgfQotICAgICAgZWxzZSBpZighcmVzdWx0KSB7Ci0gICAgICAgIGlmKChkYXRhLT5jb25uLT5odHRwX3Byb3h5LnByb3h5dHlwZSAhPSBDVVJMUFJPWFlfSFRUUFMgfHwKLSAgICAgICAgICAgZGF0YS0+Y29ubi0+Yml0cy5wcm94eV9zc2xfY29ubmVjdGVkW0ZJUlNUU09DS0VUXSkgJiYKLSAgICAgICAgICAgQ3VybF9jb25uZWN0X2NvbXBsZXRlKGRhdGEtPmNvbm4pKSB7Ci0gICAgICAgICAgcmMgPSBDVVJMTV9DQUxMX01VTFRJX1BFUkZPUk07Ci0gICAgICAgICAgLyogaW5pdGlhdGUgcHJvdG9jb2wgY29ubmVjdCBwaGFzZSAqLwotICAgICAgICAgIG11bHRpc3RhdGUoZGF0YSwgQ1VSTE1fU1RBVEVfU0VORFBST1RPQ09OTkVDVCk7CisgICAgICBlbHNlCisjZW5kaWYKKyAgICAgICAgaWYoIXJlc3VsdCkgeworICAgICAgICAgIGlmKAorI2lmbmRlZiBDVVJMX0RJU0FCTEVfUFJPWFkKKyAgICAgICAgICAgIChkYXRhLT5jb25uLT5odHRwX3Byb3h5LnByb3h5dHlwZSAhPSBDVVJMUFJPWFlfSFRUUFMgfHwKKyAgICAgICAgICAgICBkYXRhLT5jb25uLT5iaXRzLnByb3h5X3NzbF9jb25uZWN0ZWRbRklSU1RTT0NLRVRdKSAmJgorI2VuZGlmCisgICAgICAgICAgICBDdXJsX2Nvbm5lY3RfY29tcGxldGUoZGF0YS0+Y29ubikpIHsKKyAgICAgICAgICAgIHJjID0gQ1VSTE1fQ0FMTF9NVUxUSV9QRVJGT1JNOworICAgICAgICAgICAgLyogaW5pdGlhdGUgcHJvdG9jb2wgY29ubmVjdCBwaGFzZSAqLworICAgICAgICAgICAgbXVsdGlzdGF0ZShkYXRhLCBDVVJMTV9TVEFURV9TRU5EUFJPVE9DT05ORUNUKTsKKyAgICAgICAgICB9CiAgICAgICAgIH0KLSAgICAgIH0KICAgICAgIGVsc2UgaWYocmVzdWx0KQogICAgICAgICBzdHJlYW1fZXJyb3IgPSBUUlVFOwogICAgICAgYnJlYWs7CkBAIC0xNzg2LDE3ICsxODE5LDI1IEBACiAgICAgICByZXN1bHQgPSBDdXJsX2lzX2Nvbm5lY3RlZChkYXRhLT5jb25uLCBGSVJTVFNPQ0tFVCwgJmNvbm5lY3RlZCk7CiAgICAgICBpZihjb25uZWN0ZWQgJiYgIXJlc3VsdCkgewogI2lmbmRlZiBDVVJMX0RJU0FCTEVfSFRUUAotICAgICAgICBpZigoZGF0YS0+Y29ubi0+aHR0cF9wcm94eS5wcm94eXR5cGUgPT0gQ1VSTFBST1hZX0hUVFBTICYmCi0gICAgICAgICAgICAhZGF0YS0+Y29ubi0+Yml0cy5wcm94eV9zc2xfY29ubmVjdGVkW0ZJUlNUU09DS0VUXSkgfHwKLSAgICAgICAgICAgQ3VybF9jb25uZWN0X29uZ29pbmcoZGF0YS0+Y29ubikpIHsKKyAgICAgICAgaWYoCisjaWZuZGVmIENVUkxfRElTQUJMRV9QUk9YWQorICAgICAgICAgIChkYXRhLT5jb25uLT5odHRwX3Byb3h5LnByb3h5dHlwZSA9PSBDVVJMUFJPWFlfSFRUUFMgJiYKKyAgICAgICAgICAgIWRhdGEtPmNvbm4tPmJpdHMucHJveHlfc3NsX2Nvbm5lY3RlZFtGSVJTVFNPQ0tFVF0pIHx8CisjZW5kaWYKKyAgICAgICAgICBDdXJsX2Nvbm5lY3Rfb25nb2luZyhkYXRhLT5jb25uKSkgewogICAgICAgICAgIG11bHRpc3RhdGUoZGF0YSwgQ1VSTE1fU1RBVEVfV0FJVFBST1hZQ09OTkVDVCk7CiAgICAgICAgICAgYnJlYWs7CiAgICAgICAgIH0KICNlbmRpZgogICAgICAgICByYyA9IENVUkxNX0NBTExfTVVMVElfUEVSRk9STTsKLSAgICAgICAgbXVsdGlzdGF0ZShkYXRhLCBkYXRhLT5jb25uLT5iaXRzLnR1bm5lbF9wcm94eT8KKyNpZm5kZWYgQ1VSTF9ESVNBQkxFX1BST1hZCisgICAgICAgIG11bHRpc3RhdGUoZGF0YSwKKyAgICAgICAgICAgICAgICAgICBkYXRhLT5jb25uLT5iaXRzLnR1bm5lbF9wcm94eT8KICAgICAgICAgICAgICAgICAgICBDVVJMTV9TVEFURV9XQUlUUFJPWFlDT05ORUNUOgogICAgICAgICAgICAgICAgICAgIENVUkxNX1NUQVRFX1NFTkRQUk9UT0NPTk5FQ1QpOworI2Vsc2UKKyAgICAgICAgbXVsdGlzdGF0ZShkYXRhLCBDVVJMTV9TVEFURV9TRU5EUFJPVE9DT05ORUNUKTsKKyNlbmRpZgogICAgICAgfQogICAgICAgZWxzZSBpZihyZXN1bHQpIHsKICAgICAgICAgLyogZmFpbHVyZSBkZXRlY3RlZCAqLwpAQCAtMjA2Miw3ICsyMTAzLDcgQEAKICAgICAgIGNoYXIgKm5ld3VybCA9IE5VTEw7CiAgICAgICBib29sIHJldHJ5ID0gRkFMU0U7CiAgICAgICBib29sIGNvbWViYWNrID0gRkFMU0U7Ci0KKyAgICAgIERFQlVHQVNTRVJUKGRhdGEtPnN0YXRlLmJ1ZmZlcik7CiAgICAgICAvKiBjaGVjayBpZiBvdmVyIHNlbmQgc3BlZWQgKi8KICAgICAgIHNlbmRfdGltZW91dF9tcyA9IDA7CiAgICAgICBpZihkYXRhLT5zZXQubWF4X3NlbmRfc3BlZWQgPiAwKQpAQCAtMjIzNSw4ICsyMjc2LDcgQEAKICAgICAgICAgICogYWNjZXNzIGZyZWUnZCBkYXRhLCBpZiB0aGUgY29ubmVjdGlvbiBpcyBmcmVlJ2QgYW5kIHRoZSBoYW5kbGUKICAgICAgICAgICogcmVtb3ZlZCBiZWZvcmUgd2UgcGVyZm9ybSB0aGUgcHJvY2Vzc2luZyBpbiBDVVJMTV9TVEFURV9DT01QTEVURUQKICAgICAgICAgICovCi0gICAgICAgIGlmKGRhdGEtPmNvbm4pCi0gICAgICAgICAgZGV0YWNoX2Nvbm5uZWN0aW9uKGRhdGEpOworICAgICAgICBDdXJsX2RldGFjaF9jb25ubmVjdGlvbihkYXRhKTsKICAgICAgIH0KIAogI2lmbmRlZiBDVVJMX0RJU0FCTEVfRlRQCkBAIC0yMjg4LDcgKzIzMjgsMTAgQEAKICAgICAgICAgICAgIC8qIFRoaXMgaXMgd2hlcmUgd2UgbWFrZSBzdXJlIHRoYXQgdGhlIGNvbm4gcG9pbnRlciBpcyByZXNldC4KICAgICAgICAgICAgICAgIFdlIGRvbid0IGhhdmUgdG8gZG8gdGhpcyBpbiBldmVyeSBjYXNlIGJsb2NrIGFib3ZlIHdoZXJlIGEKICAgICAgICAgICAgICAgIGZhaWx1cmUgaXMgZGV0ZWN0ZWQgKi8KLSAgICAgICAgICAgIGRldGFjaF9jb25ubmVjdGlvbihkYXRhKTsKKyAgICAgICAgICAgIEN1cmxfZGV0YWNoX2Nvbm5uZWN0aW9uKGRhdGEpOworCisgICAgICAgICAgICAvKiByZW1vdmUgY29ubmVjdGlvbiBmcm9tIGNhY2hlICovCisgICAgICAgICAgICBDdXJsX2Nvbm5jYWNoZV9yZW1vdmVfY29ubihkYXRhLCBjb25uLCBUUlVFKTsKIAogICAgICAgICAgICAgLyogZGlzY29ubmVjdCBwcm9wZXJseSAqLwogICAgICAgICAgICAgQ3VybF9kaXNjb25uZWN0KGRhdGEsIGNvbm4sIGRlYWRfY29ubmVjdGlvbik7CmRpZmYgLS1naXQgYS9saWIvbXVsdGlpZi5oIGIvbGliL211bHRpaWYuaAppbmRleCBiZGU3NTVlLi43ZDU3NGRmIDEwMDY0NAotLS0gYS9saWIvbXVsdGlpZi5oCisrKyBiL2xpYi9tdWx0aWlmLmgKQEAgLTMzLDkgKzMzLDExIEBACiB2b2lkIEN1cmxfdXBkYXRlX3RpbWVyKHN0cnVjdCBDdXJsX211bHRpICptdWx0aSk7CiB2b2lkIEN1cmxfYXR0YWNoX2Nvbm5uZWN0aW9uKHN0cnVjdCBDdXJsX2Vhc3kgKmRhdGEsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cnVjdCBjb25uZWN0ZGF0YSAqY29ubik7Cit2b2lkIEN1cmxfZGV0YWNoX2Nvbm5uZWN0aW9uKHN0cnVjdCBDdXJsX2Vhc3kgKmRhdGEpOwogYm9vbCBDdXJsX211bHRpcGxleF93YW50ZWQoY29uc3Qgc3RydWN0IEN1cmxfbXVsdGkgKm11bHRpKTsKIHZvaWQgQ3VybF9zZXRfaW5fY2FsbGJhY2soc3RydWN0IEN1cmxfZWFzeSAqZGF0YSwgYm9vbCB2YWx1ZSk7CiBib29sIEN1cmxfaXNfaW5fY2FsbGJhY2soc3RydWN0IEN1cmxfZWFzeSAqZWFzeSk7CitDVVJMY29kZSBDdXJsX3ByZWNvbm5lY3Qoc3RydWN0IEN1cmxfZWFzeSAqZGF0YSk7CiAKIC8qIEludGVybmFsIHZlcnNpb24gb2YgY3VybF9tdWx0aV9pbml0KCkgYWNjZXB0cyBzaXplIHBhcmFtZXRlcnMgZm9yIHRoZQogICAgc29ja2V0IGFuZCBjb25uZWN0aW9uIGhhc2hlcyAqLwpkaWZmIC0tZ2l0IGEvbGliL253bGliLmMgYi9saWIvbndsaWIuYwppbmRleCA3YmY1ZjUxLi5iZWVjMGIzIDEwMDY0NAotLS0gYS9saWIvbndsaWIuYworKysgYi9saWIvbndsaWIuYwpAQCAtNSw3ICs1LDcgQEAKICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgKF9ffCB8X3wgfCAgXyA8fCB8X19fCiAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXF9fX3xcX19fL3xffCBcX1xfX19fX3wKICAqCi0gKiBDb3B5cmlnaHQgKEMpIDE5OTggLSAyMDE4LCBEYW5pZWwgU3RlbmJlcmcsIDxkYW5pZWxAaGF4eC5zZT4sIGV0IGFsLgorICogQ29weXJpZ2h0IChDKSAxOTk4IC0gMjAyMCwgRGFuaWVsIFN0ZW5iZXJnLCA8ZGFuaWVsQGhheHguc2U+LCBldCBhbC4KICAqCiAgKiBUaGlzIHNvZnR3YXJlIGlzIGxpY2Vuc2VkIGFzIGRlc2NyaWJlZCBpbiB0aGUgZmlsZSBDT1BZSU5HLCB3aGljaAogICogeW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGFzIHBhcnQgb2YgdGhpcyBkaXN0cmlidXRpb24uIFRoZSB0ZXJtcwpAQCAtMzYsMjEgKzM2LDE5IEBACiAvKiBUaGUgbGFzdCAjaW5jbHVkZSBmaWxlIHNob3VsZCBiZTogKi8KICNpbmNsdWRlICJtZW1kZWJ1Zy5oIgogCi10eXBlZGVmIHN0cnVjdAoteworc3RydWN0IGxpYnRocmVhZGRhdGEgewogICBpbnQgICAgIF9lcnJubzsKICAgdm9pZCAgICAqdHdlbnR5Ynl0ZXM7Ci19IGxpYnRocmVhZGRhdGFfdDsKK307CiAKLXR5cGVkZWYgc3RydWN0Ci17CitzdHJ1Y3QgbGliZGF0YSB7CiAgIGludCAgICAgICAgIHg7CiAgIGludCAgICAgICAgIHk7CiAgIGludCAgICAgICAgIHo7CiAgIHZvaWQgICAgICAgICp0ZW5ieXRlczsKICAgTlhLZXlfdCAgICAgcGVydGhyZWFka2V5OyAgIC8qIGlmIC0xLCBubyBrZXkgb2J0YWluZWQuLi4gKi8KICAgTlhNdXRleF90ICAgKmxvY2s7Ci19IGxpYmRhdGFfdDsKK307CiAKIGludCAgICAgICAgIGdMaWJJZCAgICAgID0gLTE7CiB2b2lkICAgICAgICAqZ0xpYkhhbmRsZSA9ICh2b2lkICopIE5VTEw7CkBAIC02MCw3ICs1OCw4IEBACiAvKiBpbnRlcm5hbCBsaWJyYXJ5IGZ1bmN0aW9uIHByb3RvdHlwZXMuLi4gKi8KIGludCAgRGlzcG9zZUxpYnJhcnlEYXRhKHZvaWQgKik7CiB2b2lkIERpc3Bvc2VUaHJlYWREYXRhKHZvaWQgKik7Ci1pbnQgIEdldE9yU2V0VXBEYXRhKGludCBpZCwgbGliZGF0YV90ICoqZGF0YSwgbGlidGhyZWFkZGF0YV90ICoqdGhyZWFkZGF0YSk7CitpbnQgIEdldE9yU2V0VXBEYXRhKGludCBpZCwgc3RydWN0IGxpYmRhdGEgKipkYXRhLAorICAgICAgICAgICAgICAgICAgICBzdHJ1Y3QgbGlidGhyZWFkZGF0YSAqKnRocmVhZGRhdGEpOwogCiAKIGludCBfTm9uQXBwU3RhcnQodm9pZCAgICAgICAgKk5MTUhhbmRsZSwKQEAgLTE1NCwyNCArMTUzLDI0IEBACiAgICAgcmV0dXJuIDA7CiB9CiAKLWludCBHZXRPclNldFVwRGF0YShpbnQgaWQsIGxpYmRhdGFfdCAqKmFwcERhdGEsCi0gICAgICAgICAgICAgICAgICAgbGlidGhyZWFkZGF0YV90ICoqdGhyZWFkRGF0YSkKK2ludCBHZXRPclNldFVwRGF0YShpbnQgaWQsIHN0cnVjdCBsaWJkYXRhICoqYXBwRGF0YSwKKyAgICAgICAgICAgICAgICAgICBzdHJ1Y3QgbGlidGhyZWFkZGF0YSAqKnRocmVhZERhdGEpCiB7CiAgIGludCAgICAgICAgICAgICAgICAgZXJyOwotICBsaWJkYXRhX3QgICAgICAgICAgICphcHBfZGF0YTsKLSAgbGlidGhyZWFkZGF0YV90ICp0aHJlYWRfZGF0YTsKKyAgc3RydWN0IGxpYmRhdGEgICAgICAqYXBwX2RhdGE7CisgIHN0cnVjdCBsaWJ0aHJlYWRkYXRhICp0aHJlYWRfZGF0YTsKICAgTlhLZXlfdCAgICAgICAgICAgICBrZXk7CiAgIE5YX0xPQ0tfSU5GT19BTExPQyhsaWJsb2NrLCAiQXBwbGljYXRpb24gRGF0YSBMb2NrIiwgMCk7CiAKICAgZXJyICAgICAgICAgPSAwOwotICB0aHJlYWRfZGF0YSA9IChsaWJ0aHJlYWRkYXRhX3QgKikgTlVMTDsKKyAgdGhyZWFkX2RhdGEgPSAoc3RydWN0IGxpYnRocmVhZGRhdGFfdCAqKSBOVUxMOwogCiAgIC8qCiAgICAqIEF0dGVtcHQgdG8gZ2V0IG91ciBkYXRhIGZvciB0aGUgYXBwbGljYXRpb24gY2FsbGluZyB1cy4gVGhpcyBpcyB3aGVyZSB3ZQogICAgKiBzdG9yZSB3aGF0ZXZlciBhcHBsaWNhdGlvbi1zcGVjaWZpYyBpbmZvcm1hdGlvbiB3ZSBuZWVkIHRvIGNhcnJ5IGluCiAgICAqIHN1cHBvcnQgb2YgY2FsbGluZyBhcHBsaWNhdGlvbnMuCiAgICAqLwotICBhcHBfZGF0YSA9IChsaWJkYXRhX3QgKikgZ2V0X2FwcF9kYXRhKGlkKTsKKyAgYXBwX2RhdGEgPSAoc3RydWN0IGxpYmRhdGEgKikgZ2V0X2FwcF9kYXRhKGlkKTsKIAogICBpZighYXBwX2RhdGEpIHsKICAgICAvKgpAQCAtMTg0LDkgKzE4Myw5IEBACiAgICAgICovCiAgICAgTlhMb2NrKGdMaWJMb2NrKTsKIAotICAgIGFwcF9kYXRhID0gKGxpYmRhdGFfdCAqKSBnZXRfYXBwX2RhdGEoaWQpOworICAgIGFwcF9kYXRhID0gKHN0cnVjdCBsaWJkYXRhICopIGdldF9hcHBfZGF0YShpZCk7CiAgICAgaWYoIWFwcF9kYXRhKSB7Ci0gICAgICBhcHBfZGF0YSA9IGNhbGxvYygxLCBzaXplb2YobGliZGF0YV90KSk7CisgICAgICBhcHBfZGF0YSA9IGNhbGxvYygxLCBzaXplb2Yoc3RydWN0IGxpYmRhdGEpKTsKIAogICAgICAgaWYoYXBwX2RhdGEpIHsKICAgICAgICAgYXBwX2RhdGEtPnRlbmJ5dGVzID0gbWFsbG9jKDEwKTsKQEAgLTI0OSw3ICsyNDgsNyBAQAogICAgICAgICogYSBwb2ludGVyIGlzIG5vdCB2ZXJ5IGltcG9ydGFudCwgdGhpcyBqdXN0IGhlbHBzIHRvIGRlbW9uc3RyYXRlIHRoYXQKICAgICAgICAqIHdlIGNhbiBoYXZlIGFyYml0cmFyaWx5IGNvbXBsZXggcGVyLXRocmVhZCBkYXRhLgogICAgICAgICovCi0gICAgICB0aHJlYWRfZGF0YSA9IG1hbGxvYyhzaXplb2YobGlidGhyZWFkZGF0YV90KSk7CisgICAgICB0aHJlYWRfZGF0YSA9IG1hbGxvYyhzaXplb2Yoc3RydWN0IGxpYnRocmVhZGRhdGEpKTsKIAogICAgICAgaWYodGhyZWFkX2RhdGEpIHsKICAgICAgICAgdGhyZWFkX2RhdGEtPl9lcnJubyAgICAgID0gMDsKQEAgLTI1Nyw3ICsyNTYsNyBAQAogCiAgICAgICAgIGlmKCF0aHJlYWRfZGF0YS0+dHdlbnR5Ynl0ZXMpIHsKICAgICAgICAgICBmcmVlKHRocmVhZF9kYXRhKTsKLSAgICAgICAgICB0aHJlYWRfZGF0YSA9IChsaWJ0aHJlYWRkYXRhX3QgKikgTlVMTDsKKyAgICAgICAgICB0aHJlYWRfZGF0YSA9IChzdHJ1Y3QgbGlidGhyZWFkZGF0YSAqKSBOVUxMOwogICAgICAgICAgIGVyciAgICAgICAgID0gRU5PTUVNOwogICAgICAgICB9CiAKQEAgLTI2NSw3ICsyNjQsNyBAQAogICAgICAgICBpZihlcnIpIHsKICAgICAgICAgICBmcmVlKHRocmVhZF9kYXRhLT50d2VudHlieXRlcyk7CiAgICAgICAgICAgZnJlZSh0aHJlYWRfZGF0YSk7Ci0gICAgICAgICAgdGhyZWFkX2RhdGEgPSAobGlidGhyZWFkZGF0YV90ICopIE5VTEw7CisgICAgICAgICAgdGhyZWFkX2RhdGEgPSAoc3RydWN0IGxpYnRocmVhZGRhdGEgKikgTlVMTDsKICAgICAgICAgfQogICAgICAgfQogICAgIH0KQEAgLTI5NSw3ICsyOTQsNyBAQAogdm9pZCBEaXNwb3NlVGhyZWFkRGF0YSh2b2lkICpkYXRhKQogewogICBpZihkYXRhKSB7Ci0gICAgdm9pZCAqdHdlbnR5Ynl0ZXMgPSAoKGxpYnRocmVhZGRhdGFfdCAqKSBkYXRhKS0+dHdlbnR5Ynl0ZXM7CisgICAgdm9pZCAqdHdlbnR5Ynl0ZXMgPSAoKHN0cnVjdCBsaWJ0aHJlYWRkYXRhICopIGRhdGEpLT50d2VudHlieXRlczsKIAogICAgIGZyZWUodHdlbnR5Ynl0ZXMpOwogICAgIGZyZWUoZGF0YSk7CmRpZmYgLS1naXQgYS9saWIvb3BlbmxkYXAuYyBiL2xpYi9vcGVubGRhcC5jCmluZGV4IDczNGNhNWYuLjc4MmQ2YTAgMTAwNjQ0Ci0tLSBhL2xpYi9vcGVubGRhcC5jCisrKyBiL2xpYi9vcGVubGRhcC5jCkBAIC02LDcgKzYsNyBAQAogICogICAgICAgICAgICAgICAgIFxfX198XF9fXy98X3wgXF9cX19fX198CiAgKgogICogQ29weXJpZ2h0IChDKSAyMDEwLCBIb3dhcmQgQ2h1LCA8aHljQG9wZW5sZGFwLm9yZz4KLSAqIENvcHlyaWdodCAoQykgMjAxMSAtIDIwMTksIERhbmllbCBTdGVuYmVyZywgPGRhbmllbEBoYXh4LnNlPiwgZXQgYWwuCisgKiBDb3B5cmlnaHQgKEMpIDIwMTEgLSAyMDIwLCBEYW5pZWwgU3RlbmJlcmcsIDxkYW5pZWxAaGF4eC5zZT4sIGV0IGFsLgogICoKICAqIFRoaXMgc29mdHdhcmUgaXMgbGljZW5zZWQgYXMgZGVzY3JpYmVkIGluIHRoZSBmaWxlIENPUFlJTkcsIHdoaWNoCiAgKiB5b3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYXMgcGFydCBvZiB0aGlzIGRpc3RyaWJ1dGlvbi4gVGhlIHRlcm1zCkBAIC0xNjIsMTAgKzE2MiwxMCBAQAogICBib29sIGRpZGJpbmQ7CiB9OwogCi10eXBlZGVmIHN0cnVjdCBsZGFwcmVxaW5mbyB7CitzdHJ1Y3QgbGRhcHJlcWluZm8gewogICBpbnQgbXNnaWQ7CiAgIGludCBudW1lbnQ7Ci19IGxkYXByZXFpbmZvOworfTsKIAogc3RhdGljIENVUkxjb2RlIGxkYXBfc2V0dXBfY29ubmVjdGlvbihzdHJ1Y3QgY29ubmVjdGRhdGEgKmNvbm4pCiB7CkBAIC0zNzQsNyArMzc0LDcgQEAKIHN0YXRpYyBDVVJMY29kZSBsZGFwX2RvKHN0cnVjdCBjb25uZWN0ZGF0YSAqY29ubiwgYm9vbCAqZG9uZSkKIHsKICAgc3RydWN0IGxkYXBjb25uaW5mbyAqbGkgPSBjb25uLT5wcm90by5sZGFwYzsKLSAgbGRhcHJlcWluZm8gKmxyOworICBzdHJ1Y3QgbGRhcHJlcWluZm8gKmxyOwogICBDVVJMY29kZSBzdGF0dXMgPSBDVVJMRV9PSzsKICAgaW50IHJjID0gMDsKICAgTERBUFVSTERlc2MgKmx1ZHAgPSBOVUxMOwpAQCAtNDA2LDcgKzQwNiw3IEBACiAgICAgZmFpbGYoZGF0YSwgIkxEQVAgbG9jYWw6IGxkYXBfc2VhcmNoX2V4dCAlcyIsIGxkYXBfZXJyMnN0cmluZyhyYykpOwogICAgIHJldHVybiBDVVJMRV9MREFQX1NFQVJDSF9GQUlMRUQ7CiAgIH0KLSAgbHIgPSBjYWxsb2MoMSwgc2l6ZW9mKGxkYXByZXFpbmZvKSk7CisgIGxyID0gY2FsbG9jKDEsIHNpemVvZihzdHJ1Y3QgbGRhcHJlcWluZm8pKTsKICAgaWYoIWxyKQogICAgIHJldHVybiBDVVJMRV9PVVRfT0ZfTUVNT1JZOwogICBsci0+bXNnaWQgPSBtc2dpZDsKQEAgLTQxOSw3ICs0MTksNyBAQAogc3RhdGljIENVUkxjb2RlIGxkYXBfZG9uZShzdHJ1Y3QgY29ubmVjdGRhdGEgKmNvbm4sIENVUkxjb2RlIHJlcywKICAgICAgICAgICAgICAgICAgICAgICAgICAgYm9vbCBwcmVtYXR1cmUpCiB7Ci0gIGxkYXByZXFpbmZvICpsciA9IGNvbm4tPmRhdGEtPnJlcS5wcm90b3A7CisgIHN0cnVjdCBsZGFwcmVxaW5mbyAqbHIgPSBjb25uLT5kYXRhLT5yZXEucHJvdG9wOwogCiAgICh2b2lkKXJlczsKICAgKHZvaWQpcHJlbWF0dXJlOwpAQCAtNDQzLDcgKzQ0Myw3IEBACiB7CiAgIHN0cnVjdCBsZGFwY29ubmluZm8gKmxpID0gY29ubi0+cHJvdG8ubGRhcGM7CiAgIHN0cnVjdCBDdXJsX2Vhc3kgKmRhdGEgPSBjb25uLT5kYXRhOwotICBsZGFwcmVxaW5mbyAqbHIgPSBkYXRhLT5yZXEucHJvdG9wOworICBzdHJ1Y3QgbGRhcHJlcWluZm8gKmxyID0gZGF0YS0+cmVxLnByb3RvcDsKICAgaW50IHJjLCByZXQ7CiAgIExEQVBNZXNzYWdlICptc2cgPSBOVUxMOwogICBMREFQTWVzc2FnZSAqZW50OwpkaWZmIC0tZ2l0IGEvbGliL3Bpbmdwb25nLmMgYi9saWIvcGluZ3BvbmcuYwppbmRleCBkMDcxMDA1Li4zMTQzMzE1IDEwMDY0NAotLS0gYS9saWIvcGluZ3BvbmcuYworKysgYi9saWIvcGluZ3BvbmcuYwpAQCAtNSw3ICs1LDcgQEAKICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgKF9ffCB8X3wgfCAgXyA8fCB8X19fCiAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXF9fX3xcX19fL3xffCBcX1xfX19fX3wKICAqCi0gKiBDb3B5cmlnaHQgKEMpIDE5OTggLSAyMDE5LCBEYW5pZWwgU3RlbmJlcmcsIDxkYW5pZWxAaGF4eC5zZT4sIGV0IGFsLgorICogQ29weXJpZ2h0IChDKSAxOTk4IC0gMjAyMCwgRGFuaWVsIFN0ZW5iZXJnLCA8ZGFuaWVsQGhheHguc2U+LCBldCBhbC4KICAqCiAgKiBUaGlzIHNvZnR3YXJlIGlzIGxpY2Vuc2VkIGFzIGRlc2NyaWJlZCBpbiB0aGUgZmlsZSBDT1BZSU5HLCB3aGljaAogICogeW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGFzIHBhcnQgb2YgdGhpcyBkaXN0cmlidXRpb24uIFRoZSB0ZXJtcwpAQCAtNDQsMTIgKzQ0LDEyIEBACiAKIC8qIFJldHVybnMgdGltZW91dCBpbiBtcy4gMCBvciBuZWdhdGl2ZSBudW1iZXIgbWVhbnMgdGhlIHRpbWVvdXQgaGFzIGFscmVhZHkKICAgIHRyaWdnZXJlZCAqLwotdGltZV90IEN1cmxfcHBfc3RhdGVfdGltZW91dChzdHJ1Y3QgcGluZ3BvbmcgKnBwLCBib29sIGRpc2Nvbm5lY3RpbmcpCit0aW1lZGlmZl90IEN1cmxfcHBfc3RhdGVfdGltZW91dChzdHJ1Y3QgcGluZ3BvbmcgKnBwLCBib29sIGRpc2Nvbm5lY3RpbmcpCiB7CiAgIHN0cnVjdCBjb25uZWN0ZGF0YSAqY29ubiA9IHBwLT5jb25uOwogICBzdHJ1Y3QgQ3VybF9lYXN5ICpkYXRhID0gY29ubi0+ZGF0YTsKLSAgdGltZV90IHRpbWVvdXRfbXM7IC8qIGluIG1pbGxpc2Vjb25kcyAqLwotICBsb25nIHJlc3BvbnNlX3RpbWUgPSAoZGF0YS0+c2V0LnNlcnZlcl9yZXNwb25zZV90aW1lb3V0KT8KKyAgdGltZWRpZmZfdCB0aW1lb3V0X21zOyAvKiBpbiBtaWxsaXNlY29uZHMgKi8KKyAgdGltZWRpZmZfdCByZXNwb25zZV90aW1lID0gKGRhdGEtPnNldC5zZXJ2ZXJfcmVzcG9uc2VfdGltZW91dCk/CiAgICAgZGF0YS0+c2V0LnNlcnZlcl9yZXNwb25zZV90aW1lb3V0OiBwcC0+cmVzcG9uc2VfdGltZTsKIAogICAvKiBpZiBDVVJMT1BUX1NFUlZFUl9SRVNQT05TRV9USU1FT1VUIGlzIHNldCwgdXNlIHRoYXQgdG8gZGV0ZXJtaW5lCkBAIC02MCwxMiArNjAsMTIgQEAKICAgLyogV2l0aG91dCBhIHJlcXVlc3RlZCB0aW1lb3V0LCB3ZSBvbmx5IHdhaXQgJ3Jlc3BvbnNlX3RpbWUnIHNlY29uZHMgZm9yIHRoZQogICAgICBmdWxsIHJlc3BvbnNlIHRvIGFycml2ZSBiZWZvcmUgd2UgYmFpbCBvdXQgKi8KICAgdGltZW91dF9tcyA9IHJlc3BvbnNlX3RpbWUgLQotICAgICh0aW1lX3QpQ3VybF90aW1lZGlmZihDdXJsX25vdygpLCBwcC0+cmVzcG9uc2UpOyAvKiBzcGVudCB0aW1lICovCisgICAgQ3VybF90aW1lZGlmZihDdXJsX25vdygpLCBwcC0+cmVzcG9uc2UpOyAvKiBzcGVudCB0aW1lICovCiAKICAgaWYoZGF0YS0+c2V0LnRpbWVvdXQgJiYgIWRpc2Nvbm5lY3RpbmcpIHsKICAgICAvKiBpZiB0aW1lb3V0IGlzIHJlcXVlc3RlZCwgZmluZCBvdXQgaG93IG11Y2ggcmVtYWluaW5nIHRpbWUgd2UgaGF2ZSAqLwotICAgIHRpbWVfdCB0aW1lb3V0Ml9tcyA9IGRhdGEtPnNldC50aW1lb3V0IC0gLyogdGltZW91dCB0aW1lICovCi0gICAgICAodGltZV90KUN1cmxfdGltZWRpZmYoQ3VybF9ub3coKSwgY29ubi0+bm93KTsgLyogc3BlbnQgdGltZSAqLworICAgIHRpbWVkaWZmX3QgdGltZW91dDJfbXMgPSBkYXRhLT5zZXQudGltZW91dCAtIC8qIHRpbWVvdXQgdGltZSAqLworICAgICAgQ3VybF90aW1lZGlmZihDdXJsX25vdygpLCBjb25uLT5ub3cpOyAvKiBzcGVudCB0aW1lICovCiAKICAgICAvKiBwaWNrIHRoZSBsb3dlc3QgbnVtYmVyICovCiAgICAgdGltZW91dF9tcyA9IENVUkxNSU4odGltZW91dF9tcywgdGltZW91dDJfbXMpOwpAQCAtODMsOCArODMsOCBAQAogICBzdHJ1Y3QgY29ubmVjdGRhdGEgKmNvbm4gPSBwcC0+Y29ubjsKICAgY3VybF9zb2NrZXRfdCBzb2NrID0gY29ubi0+c29ja1tGSVJTVFNPQ0tFVF07CiAgIGludCByYzsKLSAgdGltZV90IGludGVydmFsX21zOwotICB0aW1lX3QgdGltZW91dF9tcyA9IEN1cmxfcHBfc3RhdGVfdGltZW91dChwcCwgZGlzY29ubmVjdGluZyk7CisgIHRpbWVkaWZmX3QgaW50ZXJ2YWxfbXM7CisgIHRpbWVkaWZmX3QgdGltZW91dF9tcyA9IEN1cmxfcHBfc3RhdGVfdGltZW91dChwcCwgZGlzY29ubmVjdGluZyk7CiAgIHN0cnVjdCBDdXJsX2Vhc3kgKmRhdGEgPSBjb25uLT5kYXRhOwogICBDVVJMY29kZSByZXN1bHQgPSBDVVJMRV9PSzsKIApAQCAtMzg0LDEwICszODQsMTAgQEAKIAogICAgICAgICAgIGlmKHBwLT5lbmRvZnJlc3AoY29ubiwgcHAtPmxpbmVzdGFydF9yZXNwLCBwZXJsaW5lLCBjb2RlKSkgewogICAgICAgICAgICAgLyogVGhpcyBpcyB0aGUgZW5kIG9mIHRoZSBsYXN0IGxpbmUsIGNvcHkgdGhlIGxhc3QgbGluZSB0byB0aGUKLSAgICAgICAgICAgICAgIHN0YXJ0IG9mIHRoZSBidWZmZXIgYW5kIHplcm8gdGVybWluYXRlLCBmb3Igb2xkIHRpbWVzIHNha2UgKi8KKyAgICAgICAgICAgICAgIHN0YXJ0IG9mIHRoZSBidWZmZXIgYW5kIG51bGwtdGVybWluYXRlLCBmb3Igb2xkIHRpbWVzIHNha2UgKi8KICAgICAgICAgICAgIHNpemVfdCBuID0gcHRyIC0gcHAtPmxpbmVzdGFydF9yZXNwOwogICAgICAgICAgICAgbWVtbW92ZShidWYsIHBwLT5saW5lc3RhcnRfcmVzcCwgbik7Ci0gICAgICAgICAgICBidWZbbl0gPSAwOyAvKiB6ZXJvIHRlcm1pbmF0ZSAqLworICAgICAgICAgICAgYnVmW25dID0gMDsgLyogbnVsbC10ZXJtaW5hdGUgKi8KICAgICAgICAgICAgIGtlZXBvbiA9IEZBTFNFOwogICAgICAgICAgICAgcHAtPmxpbmVzdGFydF9yZXNwID0gcHRyICsgMTsgLyogYWR2YW5jZSBwb2ludGVyICovCiAgICAgICAgICAgICBpKys7IC8qIHNraXAgdGhpcyBiZWZvcmUgZ2V0dGluZyBvdXQgKi8KZGlmZiAtLWdpdCBhL2xpYi9waW5ncG9uZy5oIGIvbGliL3Bpbmdwb25nLmgKaW5kZXggODQ5YTdjMC4uZTg3NDc5OSAxMDA2NDQKLS0tIGEvbGliL3Bpbmdwb25nLmgKKysrIGIvbGliL3Bpbmdwb25nLmgKQEAgLTcsNyArNyw3IEBACiAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICB8IChfX3wgfF98IHwgIF8gPHwgfF9fXwogICogICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxfX198XF9fXy98X3wgXF9cX19fX198CiAgKgotICogQ29weXJpZ2h0IChDKSAxOTk4IC0gMjAxOSwgRGFuaWVsIFN0ZW5iZXJnLCA8ZGFuaWVsQGhheHguc2U+LCBldCBhbC4KKyAqIENvcHlyaWdodCAoQykgMTk5OCAtIDIwMjAsIERhbmllbCBTdGVuYmVyZywgPGRhbmllbEBoYXh4LnNlPiwgZXQgYWwuCiAgKgogICogVGhpcyBzb2Z0d2FyZSBpcyBsaWNlbnNlZCBhcyBkZXNjcmliZWQgaW4gdGhlIGZpbGUgQ09QWUlORywgd2hpY2gKICAqIHlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhcyBwYXJ0IG9mIHRoaXMgZGlzdHJpYnV0aW9uLiBUaGUgdGVybXMKQEAgLTYwLDkgKzYwLDggQEAKICAgc2l6ZV90IHNlbmRzaXplOyAvKiB0b3RhbCBzaXplIG9mIHRoZSBzZW5kdGhpcyBidWZmZXIgKi8KICAgc3RydWN0IGN1cmx0aW1lIHJlc3BvbnNlOyAvKiBzZXQgdG8gQ3VybF9ub3coKSB3aGVuIGEgY29tbWFuZCBoYXMgYmVlbiBzZW50CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb2ZmLCB1c2VkIHRvIHRpbWUtb3V0IHJlc3BvbnNlIHJlYWRpbmcgKi8KLSAgbG9uZyByZXNwb25zZV90aW1lOyAvKiBXaGVuIG5vIHRpbWVvdXQgaXMgZ2l2ZW4sIHRoaXMgaXMgdGhlIGFtb3VudCBvZgotICAgICAgICAgICAgICAgICAgICAgICAgIG1pbGxpc2Vjb25kcyB3ZSBhd2FpdCBmb3IgYSBzZXJ2ZXIgcmVzcG9uc2UuICovCi0KKyAgdGltZWRpZmZfdCByZXNwb25zZV90aW1lOyAvKiBXaGVuIG5vIHRpbWVvdXQgaXMgZ2l2ZW4sIHRoaXMgaXMgdGhlIGFtb3VudCBvZgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1pbGxpc2Vjb25kcyB3ZSBhd2FpdCBmb3IgYSBzZXJ2ZXIgcmVzcG9uc2UuICovCiAgIHN0cnVjdCBjb25uZWN0ZGF0YSAqY29ubjsgLyogcG9pbnRzIHRvIHRoZSBjb25uZWN0ZGF0YSBzdHJ1Y3QgdGhhdCB0aGlzCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmVsb25ncyB0byAqLwogCkBAIC04OSw3ICs4OCw3IEBACiAKIC8qIFJldHVybnMgdGltZW91dCBpbiBtcy4gMCBvciBuZWdhdGl2ZSBudW1iZXIgbWVhbnMgdGhlIHRpbWVvdXQgaGFzIGFscmVhZHkKICAgIHRyaWdnZXJlZCAqLwotdGltZV90IEN1cmxfcHBfc3RhdGVfdGltZW91dChzdHJ1Y3QgcGluZ3BvbmcgKnBwLCBib29sIGRpc2Nvbm5lY3RpbmcpOwordGltZWRpZmZfdCBDdXJsX3BwX3N0YXRlX3RpbWVvdXQoc3RydWN0IHBpbmdwb25nICpwcCwgYm9vbCBkaXNjb25uZWN0aW5nKTsKIAogCiAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKZGlmZiAtLWdpdCBhL2xpYi9wb3AzLmMgYi9saWIvcG9wMy5jCmluZGV4IDU3YzEzNzMuLjlmZjVjNzggMTAwNjQ0Ci0tLSBhL2xpYi9wb3AzLmMKKysrIGIvbGliL3BvcDMuYwpAQCAtNSw3ICs1LDcgQEAKICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgKF9ffCB8X3wgfCAgXyA8fCB8X19fCiAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXF9fX3xcX19fL3xffCBcX1xfX19fX3wKICAqCi0gKiBDb3B5cmlnaHQgKEMpIDE5OTggLSAyMDE5LCBEYW5pZWwgU3RlbmJlcmcsIDxkYW5pZWxAaGF4eC5zZT4sIGV0IGFsLgorICogQ29weXJpZ2h0IChDKSAxOTk4IC0gMjAyMCwgRGFuaWVsIFN0ZW5iZXJnLCA8ZGFuaWVsQGhheHguc2U+LCBldCBhbC4KICAqCiAgKiBUaGlzIHNvZnR3YXJlIGlzIGxpY2Vuc2VkIGFzIGRlc2NyaWJlZCBpbiB0aGUgZmlsZSBDT1BZSU5HLCB3aGljaAogICogeW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGFzIHBhcnQgb2YgdGhpcyBkaXN0cmlidXRpb24uIFRoZSB0ZXJtcwpAQCAtMTc4LDcgKzE3OCw3IEBACiAgIGNvbm4tPmhhbmRsZXIgPSAmQ3VybF9oYW5kbGVyX3BvcDNzOwogCiAgIC8qIFNldCB0aGUgY29ubmVjdGlvbidzIHVwZ3JhZGVkIHRvIFRMUyBmbGFnICovCi0gIGNvbm4tPnRsc191cGdyYWRlZCA9IFRSVUU7CisgIGNvbm4tPmJpdHMudGxzX3VwZ3JhZGVkID0gVFJVRTsKIH0KICNlbHNlCiAjZGVmaW5lIHBvcDNfdG9fcG9wM3MoeCkgQ3VybF9ub3Bfc3RtdApAQCAtNDEyLDcgKzQxMiw3IEBACiAgIENVUkxjb2RlIHJlc3VsdCA9IENVUkxFX09LOwogICBzdHJ1Y3QgcG9wM19jb25uICpwb3AzYyA9ICZjb25uLT5wcm90by5wb3AzYzsKICAgc2l6ZV90IGk7Ci0gIE1ENV9jb250ZXh0ICpjdHh0OworICBzdHJ1Y3QgTUQ1X2NvbnRleHQgKmN0eHQ7CiAgIHVuc2lnbmVkIGNoYXIgZGlnZXN0W01ENV9ESUdFU1RfTEVOXTsKICAgY2hhciBzZWNyZXRbMiAqIE1ENV9ESUdFU1RfTEVOICsgMV07CiAKQEAgLTEzMTIsNyArMTMxMiw3IEBACiAgICAgcmV0dXJuIHJlc3VsdDsKIAogICAvKiBDbGVhciB0aGUgVExTIHVwZ3JhZGVkIGZsYWcgKi8KLSAgY29ubi0+dGxzX3VwZ3JhZGVkID0gRkFMU0U7CisgIGNvbm4tPmJpdHMudGxzX3VwZ3JhZGVkID0gRkFMU0U7CiAKICAgcmV0dXJuIENVUkxFX09LOwogfQpAQCAtMTM5MCw3ICsxMzkwLDcgQEAKICAgY29uc3QgY2hhciAqcGF0aCA9ICZkYXRhLT5zdGF0ZS51cC5wYXRoWzFdOyAvKiBza2lwIGxlYWRpbmcgcGF0aCAqLwogCiAgIC8qIFVSTCBkZWNvZGUgdGhlIHBhdGggZm9yIHRoZSBtZXNzYWdlIElEICovCi0gIHJldHVybiBDdXJsX3VybGRlY29kZShkYXRhLCBwYXRoLCAwLCAmcG9wMy0+aWQsIE5VTEwsIFRSVUUpOworICByZXR1cm4gQ3VybF91cmxkZWNvZGUoZGF0YSwgcGF0aCwgMCwgJnBvcDMtPmlkLCBOVUxMLCBSRUpFQ1RfQ1RSTCk7CiB9CiAKIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgpAQCAtMTQwOCw3ICsxNDA4LDcgQEAKIAogICAvKiBVUkwgZGVjb2RlIHRoZSBjdXN0b20gcmVxdWVzdCAqLwogICBpZihjdXN0b20pCi0gICAgcmVzdWx0ID0gQ3VybF91cmxkZWNvZGUoZGF0YSwgY3VzdG9tLCAwLCAmcG9wMy0+Y3VzdG9tLCBOVUxMLCBUUlVFKTsKKyAgICByZXN1bHQgPSBDdXJsX3VybGRlY29kZShkYXRhLCBjdXN0b20sIDAsICZwb3AzLT5jdXN0b20sIE5VTEwsIFJFSkVDVF9DVFJMKTsKIAogICByZXR1cm4gcmVzdWx0OwogfQpkaWZmIC0tZ2l0IGEvbGliL3Byb2dyZXNzLmMgYi9saWIvcHJvZ3Jlc3MuYwppbmRleCA2MGE5NDFhLi44OTUxMzg0IDEwMDY0NAotLS0gYS9saWIvcHJvZ3Jlc3MuYworKysgYi9saWIvcHJvZ3Jlc3MuYwpAQCAtNSw3ICs1LDcgQEAKICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgKF9ffCB8X3wgfCAgXyA8fCB8X19fCiAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXF9fX3xcX19fL3xffCBcX1xfX19fX3wKICAqCi0gKiBDb3B5cmlnaHQgKEMpIDE5OTggLSAyMDE5LCBEYW5pZWwgU3RlbmJlcmcsIDxkYW5pZWxAaGF4eC5zZT4sIGV0IGFsLgorICogQ29weXJpZ2h0IChDKSAxOTk4IC0gMjAyMCwgRGFuaWVsIFN0ZW5iZXJnLCA8ZGFuaWVsQGhheHguc2U+LCBldCBhbC4KICAqCiAgKiBUaGlzIHNvZnR3YXJlIGlzIGxpY2Vuc2VkIGFzIGRlc2NyaWJlZCBpbiB0aGUgZmlsZSBDT1BZSU5HLCB3aGljaAogICogeW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGFzIHBhcnQgb2YgdGhpcyBkaXN0cmlidXRpb24uIFRoZSB0ZXJtcwpAQCAtMjgyLDkgKzI4Miw5IEBACiAgICAqIHN0YXkgYmVsb3cgJ2xpbWl0Jy4KICAgICovCiAgIGlmKHNpemUgPCBDVVJMX09GRl9UX01BWC8xMDAwKQotICAgIG1pbmltdW0gPSAodGltZV90KSAoQ1VSTF9PRkZfVF9DKDEwMDApICogc2l6ZSAvIGxpbWl0KTsKKyAgICBtaW5pbXVtID0gKHRpbWVkaWZmX3QpIChDVVJMX09GRl9UX0MoMTAwMCkgKiBzaXplIC8gbGltaXQpOwogICBlbHNlIHsKLSAgICBtaW5pbXVtID0gKHRpbWVfdCkgKHNpemUgLyBsaW1pdCk7CisgICAgbWluaW11bSA9ICh0aW1lZGlmZl90KSAoc2l6ZSAvIGxpbWl0KTsKICAgICBpZihtaW5pbXVtIDwgVElNRURJRkZfVF9NQVgvMTAwMCkKICAgICAgIG1pbmltdW0gKj0gMTAwMDsKICAgICBlbHNlCmRpZmYgLS1naXQgYS9saWIvcXVpYy5oIGIvbGliL3F1aWMuaAppbmRleCAxZWIyM2U5Li44ZTdkZjkwIDEwMDY0NAotLS0gYS9saWIvcXVpYy5oCisrKyBiL2xpYi9xdWljLmgKQEAgLTcsNyArNyw3IEBACiAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICB8IChfX3wgfF98IHwgIF8gPHwgfF9fXwogICogICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxfX198XF9fXy98X3wgXF9cX19fX198CiAgKgotICogQ29weXJpZ2h0IChDKSAxOTk4IC0gMjAxOSwgRGFuaWVsIFN0ZW5iZXJnLCA8ZGFuaWVsQGhheHguc2U+LCBldCBhbC4KKyAqIENvcHlyaWdodCAoQykgMTk5OCAtIDIwMjAsIERhbmllbCBTdGVuYmVyZywgPGRhbmllbEBoYXh4LnNlPiwgZXQgYWwuCiAgKgogICogVGhpcyBzb2Z0d2FyZSBpcyBsaWNlbnNlZCBhcyBkZXNjcmliZWQgaW4gdGhlIGZpbGUgQ09QWUlORywgd2hpY2gKICAqIHlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhcyBwYXJ0IG9mIHRoaXMgZGlzdHJpYnV0aW9uLiBUaGUgdGVybXMKQEAgLTQ3LDExICs0NywxMyBAQAogQ1VSTGNvZGUgQ3VybF9xdWljX2RvbmVfc2VuZGluZyhzdHJ1Y3QgY29ubmVjdGRhdGEgKmNvbm4pOwogdm9pZCBDdXJsX3F1aWNfZG9uZShzdHJ1Y3QgQ3VybF9lYXN5ICpkYXRhLCBib29sIHByZW1hdHVyZSk7CiBib29sIEN1cmxfcXVpY19kYXRhX3BlbmRpbmcoY29uc3Qgc3RydWN0IEN1cmxfZWFzeSAqZGF0YSk7Cit2b2lkIEN1cmxfcXVpY19kaXNjb25uZWN0KHN0cnVjdCBjb25uZWN0ZGF0YSAqY29ubiwgaW50IHRlbXBpbmRleCk7CiAKICNlbHNlIC8qIEVOQUJMRV9RVUlDICovCiAjZGVmaW5lIEN1cmxfcXVpY19kb25lX3NlbmRpbmcoeCkKICNkZWZpbmUgQ3VybF9xdWljX2RvbmUoeCx5KQogI2RlZmluZSBDdXJsX3F1aWNfZGF0YV9wZW5kaW5nKHgpCisjZGVmaW5lIEN1cmxfcXVpY19kaXNjb25uZWN0KHgseSkKICNlbmRpZiAvKiAhRU5BQkxFX1FVSUMgKi8KIAogI2VuZGlmIC8qIEhFQURFUl9DVVJMX1FVSUNfSCAqLwpkaWZmIC0tZ2l0IGEvbGliL3J0c3AuYyBiL2xpYi9ydHNwLmMKaW5kZXggYmJhNGMxNi4uZGJkN2RjNiAxMDA2NDQKLS0tIGEvbGliL3J0c3AuYworKysgYi9saWIvcnRzcC5jCkBAIC01LDcgKzUsNyBAQAogICogICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAoX198IHxffCB8ICBfIDx8IHxfX18KICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcX19ffFxfX18vfF98IFxfXF9fX19ffAogICoKLSAqIENvcHlyaWdodCAoQykgMTk5OCAtIDIwMTksIERhbmllbCBTdGVuYmVyZywgPGRhbmllbEBoYXh4LnNlPiwgZXQgYWwuCisgKiBDb3B5cmlnaHQgKEMpIDE5OTggLSAyMDIwLCBEYW5pZWwgU3RlbmJlcmcsIDxkYW5pZWxAaGF4eC5zZT4sIGV0IGFsLgogICoKICAqIFRoaXMgc29mdHdhcmUgaXMgbGljZW5zZWQgYXMgZGVzY3JpYmVkIGluIHRoZSBmaWxlIENPUFlJTkcsIHdoaWNoCiAgKiB5b3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYXMgcGFydCBvZiB0aGlzIGRpc3RyaWJ1dGlvbi4gVGhlIHRlcm1zCkBAIC0yMzMsNyArMjMzLDcgQEAKICAgQ1VSTGNvZGUgcmVzdWx0ID0gQ1VSTEVfT0s7CiAgIEN1cmxfUnRzcFJlcSBydHNwcmVxID0gZGF0YS0+c2V0LnJ0c3ByZXE7CiAgIHN0cnVjdCBSVFNQICpydHNwID0gZGF0YS0+cmVxLnByb3RvcDsKLSAgQ3VybF9zZW5kX2J1ZmZlciAqcmVxX2J1ZmZlcjsKKyAgc3RydWN0IGR5bmJ1ZiByZXFfYnVmZmVyOwogICBjdXJsX29mZl90IHBvc3RzaXplID0gMDsgLyogZm9yIEFOTk9VTkNFIGFuZCBTRVRfUEFSQU1FVEVSICovCiAgIGN1cmxfb2ZmX3QgcHV0c2l6ZSA9IDA7IC8qIGZvciBBTk5PVU5DRSBhbmQgU0VUX1BBUkFNRVRFUiAqLwogCkBAIC0zMzMsMTIgKzMzMywxMiBAQAogICBpZihydHNwcmVxID09IFJUU1BSRVFfU0VUVVAgJiYgIXBfdHJhbnNwb3J0KSB7CiAgICAgLyogTmV3IFRyYW5zcG9ydDogc2V0dGluZz8gKi8KICAgICBpZihkYXRhLT5zZXQuc3RyW1NUUklOR19SVFNQX1RSQU5TUE9SVF0pIHsKLSAgICAgIEN1cmxfc2FmZWZyZWUoY29ubi0+YWxsb2NwdHIucnRzcF90cmFuc3BvcnQpOworICAgICAgQ3VybF9zYWZlZnJlZShkYXRhLT5zdGF0ZS5hcHRyLnJ0c3BfdHJhbnNwb3J0KTsKIAotICAgICAgY29ubi0+YWxsb2NwdHIucnRzcF90cmFuc3BvcnQgPQorICAgICAgZGF0YS0+c3RhdGUuYXB0ci5ydHNwX3RyYW5zcG9ydCA9CiAgICAgICAgIGFwcmludGYoIlRyYW5zcG9ydDogJXNcclxuIiwKICAgICAgICAgICAgICAgICBkYXRhLT5zZXQuc3RyW1NUUklOR19SVFNQX1RSQU5TUE9SVF0pOwotICAgICAgaWYoIWNvbm4tPmFsbG9jcHRyLnJ0c3BfdHJhbnNwb3J0KQorICAgICAgaWYoIWRhdGEtPnN0YXRlLmFwdHIucnRzcF90cmFuc3BvcnQpCiAgICAgICAgIHJldHVybiBDVVJMRV9PVVRfT0ZfTUVNT1JZOwogICAgIH0KICAgICBlbHNlIHsKQEAgLTM0Nyw3ICszNDcsNyBAQAogICAgICAgcmV0dXJuIENVUkxFX0JBRF9GVU5DVElPTl9BUkdVTUVOVDsKICAgICB9CiAKLSAgICBwX3RyYW5zcG9ydCA9IGNvbm4tPmFsbG9jcHRyLnJ0c3BfdHJhbnNwb3J0OworICAgIHBfdHJhbnNwb3J0ID0gZGF0YS0+c3RhdGUuYXB0ci5ydHNwX3RyYW5zcG9ydDsKICAgfQogCiAgIC8qIEFjY2VwdCBIZWFkZXJzIGZvciBERVNDUklCRSByZXF1ZXN0cyAqLwpAQCAtMzU5LDE0ICszNTksMTQgQEAKICAgICAvKiBBY2NlcHQtRW5jb2RpbmcgaGVhZGVyICovCiAgICAgaWYoIUN1cmxfY2hlY2toZWFkZXJzKGNvbm4sICJBY2NlcHQtRW5jb2RpbmciKSAmJgogICAgICAgIGRhdGEtPnNldC5zdHJbU1RSSU5HX0VOQ09ESU5HXSkgewotICAgICAgQ3VybF9zYWZlZnJlZShjb25uLT5hbGxvY3B0ci5hY2NlcHRfZW5jb2RpbmcpOwotICAgICAgY29ubi0+YWxsb2NwdHIuYWNjZXB0X2VuY29kaW5nID0KKyAgICAgIEN1cmxfc2FmZWZyZWUoZGF0YS0+c3RhdGUuYXB0ci5hY2NlcHRfZW5jb2RpbmcpOworICAgICAgZGF0YS0+c3RhdGUuYXB0ci5hY2NlcHRfZW5jb2RpbmcgPQogICAgICAgICBhcHJpbnRmKCJBY2NlcHQtRW5jb2Rpbmc6ICVzXHJcbiIsIGRhdGEtPnNldC5zdHJbU1RSSU5HX0VOQ09ESU5HXSk7CiAKLSAgICAgIGlmKCFjb25uLT5hbGxvY3B0ci5hY2NlcHRfZW5jb2RpbmcpCisgICAgICBpZighZGF0YS0+c3RhdGUuYXB0ci5hY2NlcHRfZW5jb2RpbmcpCiAgICAgICAgIHJldHVybiBDVVJMRV9PVVRfT0ZfTUVNT1JZOwogCi0gICAgICBwX2FjY2VwdF9lbmNvZGluZyA9IGNvbm4tPmFsbG9jcHRyLmFjY2VwdF9lbmNvZGluZzsKKyAgICAgIHBfYWNjZXB0X2VuY29kaW5nID0gZGF0YS0+c3RhdGUuYXB0ci5hY2NlcHRfZW5jb2Rpbmc7CiAgICAgfQogICB9CiAKQEAgLTM3NCwxMyArMzc0LDEzIEBACiAgICAgIGl0IG1pZ2h0IGhhdmUgYmVlbiB1c2VkIGluIHRoZSBwcm94eSBjb25uZWN0LCBidXQgaWYgd2UgaGF2ZSBnb3QgYSBoZWFkZXIKICAgICAgd2l0aCB0aGUgdXNlci1hZ2VudCBzdHJpbmcgc3BlY2lmaWVkLCB3ZSBlcmFzZSB0aGUgcHJldmlvdXNseSBtYWRlIHN0cmluZwogICAgICBoZXJlLiAqLwotICBpZihDdXJsX2NoZWNraGVhZGVycyhjb25uLCAiVXNlci1BZ2VudCIpICYmIGNvbm4tPmFsbG9jcHRyLnVhZ2VudCkgewotICAgIEN1cmxfc2FmZWZyZWUoY29ubi0+YWxsb2NwdHIudWFnZW50KTsKLSAgICBjb25uLT5hbGxvY3B0ci51YWdlbnQgPSBOVUxMOworICBpZihDdXJsX2NoZWNraGVhZGVycyhjb25uLCAiVXNlci1BZ2VudCIpICYmIGRhdGEtPnN0YXRlLmFwdHIudWFnZW50KSB7CisgICAgQ3VybF9zYWZlZnJlZShkYXRhLT5zdGF0ZS5hcHRyLnVhZ2VudCk7CisgICAgZGF0YS0+c3RhdGUuYXB0ci51YWdlbnQgPSBOVUxMOwogICB9CiAgIGVsc2UgaWYoIUN1cmxfY2hlY2toZWFkZXJzKGNvbm4sICJVc2VyLUFnZW50IikgJiYKICAgICAgICAgICBkYXRhLT5zZXQuc3RyW1NUUklOR19VU0VSQUdFTlRdKSB7Ci0gICAgcF91YWdlbnQgPSBjb25uLT5hbGxvY3B0ci51YWdlbnQ7CisgICAgcF91YWdlbnQgPSBkYXRhLT5zdGF0ZS5hcHRyLnVhZ2VudDsKICAgfQogCiAgIC8qIHNldHVwIHRoZSBhdXRoZW50aWNhdGlvbiBoZWFkZXJzICovCkBAIC0zODgsMTcgKzM4OCwxNyBAQAogICBpZihyZXN1bHQpCiAgICAgcmV0dXJuIHJlc3VsdDsKIAotICBwX3Byb3h5dXNlcnB3ZCA9IGNvbm4tPmFsbG9jcHRyLnByb3h5dXNlcnB3ZDsKLSAgcF91c2VycHdkID0gY29ubi0+YWxsb2NwdHIudXNlcnB3ZDsKKyAgcF9wcm94eXVzZXJwd2QgPSBkYXRhLT5zdGF0ZS5hcHRyLnByb3h5dXNlcnB3ZDsKKyAgcF91c2VycHdkID0gZGF0YS0+c3RhdGUuYXB0ci51c2VycHdkOwogCiAgIC8qIFJlZmVycmVyICovCi0gIEN1cmxfc2FmZWZyZWUoY29ubi0+YWxsb2NwdHIucmVmKTsKKyAgQ3VybF9zYWZlZnJlZShkYXRhLT5zdGF0ZS5hcHRyLnJlZik7CiAgIGlmKGRhdGEtPmNoYW5nZS5yZWZlcmVyICYmICFDdXJsX2NoZWNraGVhZGVycyhjb25uLCAiUmVmZXJlciIpKQotICAgIGNvbm4tPmFsbG9jcHRyLnJlZiA9IGFwcmludGYoIlJlZmVyZXI6ICVzXHJcbiIsIGRhdGEtPmNoYW5nZS5yZWZlcmVyKTsKKyAgICBkYXRhLT5zdGF0ZS5hcHRyLnJlZiA9IGFwcmludGYoIlJlZmVyZXI6ICVzXHJcbiIsIGRhdGEtPmNoYW5nZS5yZWZlcmVyKTsKICAgZWxzZQotICAgIGNvbm4tPmFsbG9jcHRyLnJlZiA9IE5VTEw7CisgICAgZGF0YS0+c3RhdGUuYXB0ci5yZWYgPSBOVUxMOwogCi0gIHBfcmVmZXJyZXIgPSBjb25uLT5hbGxvY3B0ci5yZWY7CisgIHBfcmVmZXJyZXIgPSBkYXRhLT5zdGF0ZS5hcHRyLnJlZjsKIAogICAvKgogICAgKiBSYW5nZSBIZWFkZXIKQEAgLTQxMSw5ICs0MTEsOSBAQAogCiAgICAgLyogQ2hlY2sgdG8gc2VlIGlmIHRoZXJlIGlzIGEgcmFuZ2Ugc2V0IGluIHRoZSBjdXN0b20gaGVhZGVycyAqLwogICAgIGlmKCFDdXJsX2NoZWNraGVhZGVycyhjb25uLCAiUmFuZ2UiKSAmJiBkYXRhLT5zdGF0ZS5yYW5nZSkgewotICAgICAgQ3VybF9zYWZlZnJlZShjb25uLT5hbGxvY3B0ci5yYW5nZWxpbmUpOwotICAgICAgY29ubi0+YWxsb2NwdHIucmFuZ2VsaW5lID0gYXByaW50ZigiUmFuZ2U6ICVzXHJcbiIsIGRhdGEtPnN0YXRlLnJhbmdlKTsKLSAgICAgIHBfcmFuZ2UgPSBjb25uLT5hbGxvY3B0ci5yYW5nZWxpbmU7CisgICAgICBDdXJsX3NhZmVmcmVlKGRhdGEtPnN0YXRlLmFwdHIucmFuZ2VsaW5lKTsKKyAgICAgIGRhdGEtPnN0YXRlLmFwdHIucmFuZ2VsaW5lID0gYXByaW50ZigiUmFuZ2U6ICVzXHJcbiIsIGRhdGEtPnN0YXRlLnJhbmdlKTsKKyAgICAgIHBfcmFuZ2UgPSBkYXRhLT5zdGF0ZS5hcHRyLnJhbmdlbGluZTsKICAgICB9CiAgIH0KIApAQCAtNDMwLDE2ICs0MzAsMTMgQEAKICAgfQogCiAgIC8qIEluaXRpYWxpemUgYSBkeW5hbWljIHNlbmQgYnVmZmVyICovCi0gIHJlcV9idWZmZXIgPSBDdXJsX2FkZF9idWZmZXJfaW5pdCgpOwotCi0gIGlmKCFyZXFfYnVmZmVyKQotICAgIHJldHVybiBDVVJMRV9PVVRfT0ZfTUVNT1JZOworICBDdXJsX2R5bl9pbml0KCZyZXFfYnVmZmVyLCBEWU5fUlRTUF9SRVFfSEVBREVSKTsKIAogICByZXN1bHQgPQotICAgIEN1cmxfYWRkX2J1ZmZlcmYoJnJlcV9idWZmZXIsCi0gICAgICAgICAgICAgICAgICAgICAiJXMgJXMgUlRTUC8xLjBcclxuIiAvKiBSZXF1ZXN0IFN0cmVhbS1VUkkgUlRTUC8xLjAgKi8KLSAgICAgICAgICAgICAgICAgICAgICJDU2VxOiAlbGRcclxuIiwgLyogQ1NlcSAqLwotICAgICAgICAgICAgICAgICAgICAgcF9yZXF1ZXN0LCBwX3N0cmVhbV91cmksIHJ0c3AtPkNTZXFfc2VudCk7CisgICAgQ3VybF9keW5fYWRkZigmcmVxX2J1ZmZlciwKKyAgICAgICAgICAgICAgICAgICIlcyAlcyBSVFNQLzEuMFxyXG4iIC8qIFJlcXVlc3QgU3RyZWFtLVVSSSBSVFNQLzEuMCAqLworICAgICAgICAgICAgICAgICAgIkNTZXE6ICVsZFxyXG4iLCAvKiBDU2VxICovCisgICAgICAgICAgICAgICAgICBwX3JlcXVlc3QsIHBfc3RyZWFtX3VyaSwgcnRzcC0+Q1NlcV9zZW50KTsKICAgaWYocmVzdWx0KQogICAgIHJldHVybiByZXN1bHQ7CiAKQEAgLTQ0OCw3ICs0NDUsNyBAQAogICAgKiB0byBtYWtlIGNvbXBhcmlzb24gZWFzaWVyCiAgICAqLwogICBpZihwX3Nlc3Npb25faWQpIHsKLSAgICByZXN1bHQgPSBDdXJsX2FkZF9idWZmZXJmKCZyZXFfYnVmZmVyLCAiU2Vzc2lvbjogJXNcclxuIiwgcF9zZXNzaW9uX2lkKTsKKyAgICByZXN1bHQgPSBDdXJsX2R5bl9hZGRmKCZyZXFfYnVmZmVyLCAiU2Vzc2lvbjogJXNcclxuIiwgcF9zZXNzaW9uX2lkKTsKICAgICBpZihyZXN1bHQpCiAgICAgICByZXR1cm4gcmVzdWx0OwogICB9CkBAIC00NTYsNDIgKzQ1Myw0MiBAQAogICAvKgogICAgKiBTaGFyZWQgSFRUUC1saWtlIG9wdGlvbnMKICAgICovCi0gIHJlc3VsdCA9IEN1cmxfYWRkX2J1ZmZlcmYoJnJlcV9idWZmZXIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIiVzIiAvKiB0cmFuc3BvcnQgKi8KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAiJXMiIC8qIGFjY2VwdCAqLwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICIlcyIgLyogYWNjZXB0LWVuY29kaW5nICovCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIiVzIiAvKiByYW5nZSAqLwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICIlcyIgLyogcmVmZXJyZXIgKi8KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAiJXMiIC8qIHVzZXItYWdlbnQgKi8KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAiJXMiIC8qIHByb3h5dXNlcnB3ZCAqLwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICIlcyIgLyogdXNlcnB3ZCAqLwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICBwX3RyYW5zcG9ydCA/IHBfdHJhbnNwb3J0IDogIiIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgcF9hY2NlcHQgPyBwX2FjY2VwdCA6ICIiLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBfYWNjZXB0X2VuY29kaW5nID8gcF9hY2NlcHRfZW5jb2RpbmcgOiAiIiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICBwX3JhbmdlID8gcF9yYW5nZSA6ICIiLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBfcmVmZXJyZXIgPyBwX3JlZmVycmVyIDogIiIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgcF91YWdlbnQgPyBwX3VhZ2VudCA6ICIiLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBfcHJveHl1c2VycHdkID8gcF9wcm94eXVzZXJwd2QgOiAiIiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICBwX3VzZXJwd2QgPyBwX3VzZXJwd2QgOiAiIik7CisgIHJlc3VsdCA9IEN1cmxfZHluX2FkZGYoJnJlcV9idWZmZXIsCisgICAgICAgICAgICAgICAgICAgICAgICAgIiVzIiAvKiB0cmFuc3BvcnQgKi8KKyAgICAgICAgICAgICAgICAgICAgICAgICAiJXMiIC8qIGFjY2VwdCAqLworICAgICAgICAgICAgICAgICAgICAgICAgICIlcyIgLyogYWNjZXB0LWVuY29kaW5nICovCisgICAgICAgICAgICAgICAgICAgICAgICAgIiVzIiAvKiByYW5nZSAqLworICAgICAgICAgICAgICAgICAgICAgICAgICIlcyIgLyogcmVmZXJyZXIgKi8KKyAgICAgICAgICAgICAgICAgICAgICAgICAiJXMiIC8qIHVzZXItYWdlbnQgKi8KKyAgICAgICAgICAgICAgICAgICAgICAgICAiJXMiIC8qIHByb3h5dXNlcnB3ZCAqLworICAgICAgICAgICAgICAgICAgICAgICAgICIlcyIgLyogdXNlcnB3ZCAqLworICAgICAgICAgICAgICAgICAgICAgICAgICwKKyAgICAgICAgICAgICAgICAgICAgICAgICBwX3RyYW5zcG9ydCA/IHBfdHJhbnNwb3J0IDogIiIsCisgICAgICAgICAgICAgICAgICAgICAgICAgcF9hY2NlcHQgPyBwX2FjY2VwdCA6ICIiLAorICAgICAgICAgICAgICAgICAgICAgICAgIHBfYWNjZXB0X2VuY29kaW5nID8gcF9hY2NlcHRfZW5jb2RpbmcgOiAiIiwKKyAgICAgICAgICAgICAgICAgICAgICAgICBwX3JhbmdlID8gcF9yYW5nZSA6ICIiLAorICAgICAgICAgICAgICAgICAgICAgICAgIHBfcmVmZXJyZXIgPyBwX3JlZmVycmVyIDogIiIsCisgICAgICAgICAgICAgICAgICAgICAgICAgcF91YWdlbnQgPyBwX3VhZ2VudCA6ICIiLAorICAgICAgICAgICAgICAgICAgICAgICAgIHBfcHJveHl1c2VycHdkID8gcF9wcm94eXVzZXJwd2QgOiAiIiwKKyAgICAgICAgICAgICAgICAgICAgICAgICBwX3VzZXJwd2QgPyBwX3VzZXJwd2QgOiAiIik7CiAKICAgLyoKICAgICogRnJlZSB1c2VycHdkIG5vdyAtLS0gY2Fubm90IHJldXNlIHRoaXMgZm9yIE5lZ290aWF0ZSBhbmQgcG9zc2libHkgTlRMTQogICAgKiB3aXRoIGJhc2ljIGFuZCBkaWdlc3QsIGl0IHdpbGwgYmUgZnJlZWQgYW55d2F5IGJ5IHRoZSBuZXh0IHJlcXVlc3QKICAgICovCi0gIEN1cmxfc2FmZWZyZWUoY29ubi0+YWxsb2NwdHIudXNlcnB3ZCk7Ci0gIGNvbm4tPmFsbG9jcHRyLnVzZXJwd2QgPSBOVUxMOworICBDdXJsX3NhZmVmcmVlKGRhdGEtPnN0YXRlLmFwdHIudXNlcnB3ZCk7CisgIGRhdGEtPnN0YXRlLmFwdHIudXNlcnB3ZCA9IE5VTEw7CiAKICAgaWYocmVzdWx0KQogICAgIHJldHVybiByZXN1bHQ7CiAKICAgaWYoKHJ0c3ByZXEgPT0gUlRTUFJFUV9TRVRVUCkgfHwgKHJ0c3ByZXEgPT0gUlRTUFJFUV9ERVNDUklCRSkpIHsKLSAgICByZXN1bHQgPSBDdXJsX2FkZF90aW1lY29uZGl0aW9uKGNvbm4sIHJlcV9idWZmZXIpOworICAgIHJlc3VsdCA9IEN1cmxfYWRkX3RpbWVjb25kaXRpb24oY29ubiwgJnJlcV9idWZmZXIpOwogICAgIGlmKHJlc3VsdCkKICAgICAgIHJldHVybiByZXN1bHQ7CiAgIH0KIAotICByZXN1bHQgPSBDdXJsX2FkZF9jdXN0b21faGVhZGVycyhjb25uLCBGQUxTRSwgcmVxX2J1ZmZlcik7CisgIHJlc3VsdCA9IEN1cmxfYWRkX2N1c3RvbV9oZWFkZXJzKGNvbm4sIEZBTFNFLCAmcmVxX2J1ZmZlcik7CiAgIGlmKHJlc3VsdCkKICAgICByZXR1cm4gcmVzdWx0OwogCkBAIC01MDEsMTQgKzQ5OCwxNCBAQAogCiAgICAgaWYoZGF0YS0+c2V0LnVwbG9hZCkgewogICAgICAgcHV0c2l6ZSA9IGRhdGEtPnN0YXRlLmluZmlsZXNpemU7Ci0gICAgICBkYXRhLT5zZXQuaHR0cHJlcSA9IEhUVFBSRVFfUFVUOworICAgICAgZGF0YS0+c3RhdGUuaHR0cHJlcSA9IEhUVFBSRVFfUFVUOwogCiAgICAgfQogICAgIGVsc2UgewogICAgICAgcG9zdHNpemUgPSAoZGF0YS0+c3RhdGUuaW5maWxlc2l6ZSAhPSAtMSk/CiAgICAgICAgIGRhdGEtPnN0YXRlLmluZmlsZXNpemU6CiAgICAgICAgIChkYXRhLT5zZXQucG9zdGZpZWxkcz8gKGN1cmxfb2ZmX3Qpc3RybGVuKGRhdGEtPnNldC5wb3N0ZmllbGRzKTowKTsKLSAgICAgIGRhdGEtPnNldC5odHRwcmVxID0gSFRUUFJFUV9QT1NUOworICAgICAgZGF0YS0+c3RhdGUuaHR0cHJlcSA9IEhUVFBSRVFfUE9TVDsKICAgICB9CiAKICAgICBpZihwdXRzaXplID4gMCB8fCBwb3N0c2l6ZSA+IDApIHsKQEAgLTUxNiw5ICs1MTMsOSBAQAogICAgICAgICogYWN0dWFsbHkgc2V0IGEgY3VzdG9tIENvbnRlbnQtTGVuZ3RoIGluIHRoZSBoZWFkZXJzICovCiAgICAgICBpZighQ3VybF9jaGVja2hlYWRlcnMoY29ubiwgIkNvbnRlbnQtTGVuZ3RoIikpIHsKICAgICAgICAgcmVzdWx0ID0KLSAgICAgICAgICBDdXJsX2FkZF9idWZmZXJmKCZyZXFfYnVmZmVyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgIkNvbnRlbnQtTGVuZ3RoOiAlIiBDVVJMX0ZPUk1BVF9DVVJMX09GRl9UIlxyXG4iLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgKGRhdGEtPnNldC51cGxvYWQgPyBwdXRzaXplIDogcG9zdHNpemUpKTsKKyAgICAgICAgICBDdXJsX2R5bl9hZGRmKCZyZXFfYnVmZmVyLAorICAgICAgICAgICAgICAgICAgICAgICAgIkNvbnRlbnQtTGVuZ3RoOiAlIiBDVVJMX0ZPUk1BVF9DVVJMX09GRl9UIlxyXG4iLAorICAgICAgICAgICAgICAgICAgICAgICAgKGRhdGEtPnNldC51cGxvYWQgPyBwdXRzaXplIDogcG9zdHNpemUpKTsKICAgICAgICAgaWYocmVzdWx0KQogICAgICAgICAgIHJldHVybiByZXN1bHQ7CiAgICAgICB9CkBAIC01MjYsOCArNTIzLDggQEAKICAgICAgIGlmKHJ0c3ByZXEgPT0gUlRTUFJFUV9TRVRfUEFSQU1FVEVSIHx8CiAgICAgICAgICBydHNwcmVxID09IFJUU1BSRVFfR0VUX1BBUkFNRVRFUikgewogICAgICAgICBpZighQ3VybF9jaGVja2hlYWRlcnMoY29ubiwgIkNvbnRlbnQtVHlwZSIpKSB7Ci0gICAgICAgICAgcmVzdWx0ID0gQ3VybF9hZGRfYnVmZmVyZigmcmVxX2J1ZmZlciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJDb250ZW50LVR5cGU6IHRleHQvcGFyYW1ldGVyc1xyXG4iKTsKKyAgICAgICAgICByZXN1bHQgPSBDdXJsX2R5bl9hZGRmKCZyZXFfYnVmZmVyLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIkNvbnRlbnQtVHlwZTogdGV4dC9wYXJhbWV0ZXJzXHJcbiIpOwogICAgICAgICAgIGlmKHJlc3VsdCkKICAgICAgICAgICAgIHJldHVybiByZXN1bHQ7CiAgICAgICAgIH0KQEAgLTUzNSw4ICs1MzIsOCBAQAogCiAgICAgICBpZihydHNwcmVxID09IFJUU1BSRVFfQU5OT1VOQ0UpIHsKICAgICAgICAgaWYoIUN1cmxfY2hlY2toZWFkZXJzKGNvbm4sICJDb250ZW50LVR5cGUiKSkgewotICAgICAgICAgIHJlc3VsdCA9IEN1cmxfYWRkX2J1ZmZlcmYoJnJlcV9idWZmZXIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiQ29udGVudC1UeXBlOiBhcHBsaWNhdGlvbi9zZHBcclxuIik7CisgICAgICAgICAgcmVzdWx0ID0gQ3VybF9keW5fYWRkZigmcmVxX2J1ZmZlciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJDb250ZW50LVR5cGU6IGFwcGxpY2F0aW9uL3NkcFxyXG4iKTsKICAgICAgICAgICBpZihyZXN1bHQpCiAgICAgICAgICAgICByZXR1cm4gcmVzdWx0OwogICAgICAgICB9CkBAIC01NDYsNyArNTQzLDcgQEAKICAgICB9CiAgICAgZWxzZSBpZihydHNwcmVxID09IFJUU1BSRVFfR0VUX1BBUkFNRVRFUikgewogICAgICAgLyogQ2hlY2sgZm9yIGFuIGVtcHR5IEdFVF9QQVJBTUVURVIgKGhlYXJ0YmVhdCkgcmVxdWVzdCAqLwotICAgICAgZGF0YS0+c2V0Lmh0dHByZXEgPSBIVFRQUkVRX0hFQUQ7CisgICAgICBkYXRhLT5zdGF0ZS5odHRwcmVxID0gSFRUUFJFUV9IRUFEOwogICAgICAgZGF0YS0+c2V0Lm9wdF9ub19ib2R5ID0gVFJVRTsKICAgICB9CiAgIH0KQEAgLTU1NCwyMCArNTUxLDIwIEBACiAgIC8qIFJUU1AgbmV2ZXIgYWxsb3dzIGNodW5rZWQgdHJhbnNmZXIgKi8KICAgZGF0YS0+cmVxLmZvcmJpZGNodW5rID0gVFJVRTsKICAgLyogRmluaXNoIHRoZSByZXF1ZXN0IGJ1ZmZlciAqLwotICByZXN1bHQgPSBDdXJsX2FkZF9idWZmZXIoJnJlcV9idWZmZXIsICJcclxuIiwgMik7CisgIHJlc3VsdCA9IEN1cmxfZHluX2FkZCgmcmVxX2J1ZmZlciwgIlxyXG4iKTsKICAgaWYocmVzdWx0KQogICAgIHJldHVybiByZXN1bHQ7CiAKICAgaWYocG9zdHNpemUgPiAwKSB7Ci0gICAgcmVzdWx0ID0gQ3VybF9hZGRfYnVmZmVyKCZyZXFfYnVmZmVyLCBkYXRhLT5zZXQucG9zdGZpZWxkcywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKHNpemVfdClwb3N0c2l6ZSk7CisgICAgcmVzdWx0ID0gQ3VybF9keW5fYWRkbigmcmVxX2J1ZmZlciwgZGF0YS0+c2V0LnBvc3RmaWVsZHMsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAoc2l6ZV90KXBvc3RzaXplKTsKICAgICBpZihyZXN1bHQpCiAgICAgICByZXR1cm4gcmVzdWx0OwogICB9CiAKICAgLyogaXNzdWUgdGhlIHJlcXVlc3QgKi8KLSAgcmVzdWx0ID0gQ3VybF9hZGRfYnVmZmVyX3NlbmQoJnJlcV9idWZmZXIsIGNvbm4sCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZkYXRhLT5pbmZvLnJlcXVlc3Rfc2l6ZSwgMCwgRklSU1RTT0NLRVQpOworICByZXN1bHQgPSBDdXJsX2J1ZmZlcl9zZW5kKCZyZXFfYnVmZmVyLCBjb25uLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICZkYXRhLT5pbmZvLnJlcXVlc3Rfc2l6ZSwgMCwgRklSU1RTT0NLRVQpOwogICBpZihyZXN1bHQpIHsKICAgICBmYWlsZihkYXRhLCAiRmFpbGVkIHNlbmRpbmcgUlRTUCByZXF1ZXN0Iik7CiAgICAgcmV0dXJuIHJlc3VsdDsKZGlmZiAtLWdpdCBhL2xpYi9zZWxlY3QuYyBiL2xpYi9zZWxlY3QuYwppbmRleCBkOTFiMjBhLi5hYmIxMjRhIDEwMDY0NAotLS0gYS9saWIvc2VsZWN0LmMKKysrIGIvbGliL3NlbGVjdC5jCkBAIC0yMiw2ICsyMiw4IEBACiAKICNpbmNsdWRlICJjdXJsX3NldHVwLmgiCiAKKyNpbmNsdWRlIDxsaW1pdHMuaD4KKwogI2lmZGVmIEhBVkVfU1lTX1NFTEVDVF9ICiAjaW5jbHVkZSA8c3lzL3NlbGVjdC5oPgogI2VsaWYgZGVmaW5lZChIQVZFX1VOSVNURF9IKQpAQCAtNTAsMTEgKzUyLDkgQEAKICNpbmNsdWRlICJ1cmxkYXRhLmgiCiAjaW5jbHVkZSAiY29ubmVjdC5oIgogI2luY2x1ZGUgInNlbGVjdC5oIgorI2luY2x1ZGUgInRpbWV2YWwuaCIKICNpbmNsdWRlICJ3YXJubGVzcy5oIgogCi0vKiBDb252ZW5pZW5jZSBsb2NhbCBtYWNyb3MgKi8KLSNkZWZpbmUgRUxBUFNFRF9NUygpIChpbnQpQ3VybF90aW1lZGlmZihDdXJsX25vdygpLCBpbml0aWFsX3R2KQotCiAvKgogICogSW50ZXJuYWwgZnVuY3Rpb24gdXNlZCBmb3Igd2FpdGluZyBhIHNwZWNpZmljIGFtb3VudCBvZiBtcwogICogaW4gQ3VybF9zb2NrZXRfY2hlY2soKSBhbmQgQ3VybF9wb2xsKCkgd2hlbiBubyBmaWxlIGRlc2NyaXB0b3IKQEAgLTcxLDcgKzcxLDcgQEAKICAqICAgLTEgPSBzeXN0ZW0gY2FsbCBlcnJvciwgaW52YWxpZCB0aW1lb3V0IHZhbHVlLCBvciBpbnRlcnJ1cHRlZAogICogICAgMCA9IHNwZWNpZmllZCB0aW1lb3V0IGhhcyBlbGFwc2VkCiAgKi8KLWludCBDdXJsX3dhaXRfbXMoaW50IHRpbWVvdXRfbXMpCitpbnQgQ3VybF93YWl0X21zKHRpbWVkaWZmX3QgdGltZW91dF9tcykKIHsKICAgaW50IHIgPSAwOwogCkBAIC04MywxNiArODMsNDQgQEAKICAgfQogI2lmIGRlZmluZWQoTVNET1MpCiAgIGRlbGF5KHRpbWVvdXRfbXMpOwotI2VsaWYgZGVmaW5lZChVU0VfV0lOU09DSykKLSAgU2xlZXAodGltZW91dF9tcyk7CisjZWxpZiBkZWZpbmVkKFdJTjMyKQorICAvKiBwcmV2ZW50IG92ZXJmbG93LCB0aW1lb3V0X21zIGlzIHR5cGVjYXN0IHRvIFVMT05HL0RXT1JELiAqLworI2lmIFRJTUVESUZGX1RfTUFYID49IFVMT05HX01BWAorICBpZih0aW1lb3V0X21zID49IFVMT05HX01BWCkKKyAgICB0aW1lb3V0X21zID0gVUxPTkdfTUFYLTE7CisgICAgLyogZG9uJ3QgdXNlIFVMT05HX01BWCwgYmVjYXVzZSB0aGF0IGlzIGVxdWFsIHRvIElORklOSVRFICovCisjZW5kaWYKKyAgU2xlZXAoKFVMT05HKXRpbWVvdXRfbXMpOwogI2Vsc2UKICNpZiBkZWZpbmVkKEhBVkVfUE9MTF9GSU5FKQotICByID0gcG9sbChOVUxMLCAwLCB0aW1lb3V0X21zKTsKKyAgLyogcHJldmVudCBvdmVyZmxvdywgdGltZW91dF9tcyBpcyB0eXBlY2FzdCB0byBpbnQuICovCisjaWYgVElNRURJRkZfVF9NQVggPiBJTlRfTUFYCisgIGlmKHRpbWVvdXRfbXMgPiBJTlRfTUFYKQorICAgIHRpbWVvdXRfbXMgPSBJTlRfTUFYOworI2VuZGlmCisgIHIgPSBwb2xsKE5VTEwsIDAsIChpbnQpdGltZW91dF9tcyk7CiAjZWxzZQogICB7CiAgICAgc3RydWN0IHRpbWV2YWwgcGVuZGluZ190djsKLSAgICBwZW5kaW5nX3R2LnR2X3NlYyA9IHRpbWVvdXRfbXMgLyAxMDAwOwotICAgIHBlbmRpbmdfdHYudHZfdXNlYyA9ICh0aW1lb3V0X21zICUgMTAwMCkgKiAxMDAwOworICAgIHRpbWVkaWZmX3QgdHZfc2VjID0gdGltZW91dF9tcyAvIDEwMDA7CisgICAgdGltZWRpZmZfdCB0dl91c2VjID0gKHRpbWVvdXRfbXMgJSAxMDAwKSAqIDEwMDA7IC8qIG1heD05OTk5OTkgKi8KKyNpZmRlZiBIQVZFX1NVU0VDT05EU19UCisjaWYgVElNRURJRkZfVF9NQVggPiBUSU1FX1RfTUFYCisgICAgLyogdHZfc2VjIG92ZXJmbG93IGNoZWNrIGluIGNhc2UgdGltZV90IGlzIHNpZ25lZCAqLworICAgIGlmKHR2X3NlYyA+IFRJTUVfVF9NQVgpCisgICAgICB0dl9zZWMgPSBUSU1FX1RfTUFYOworI2VuZGlmCisgICAgcGVuZGluZ190di50dl9zZWMgPSAodGltZV90KXR2X3NlYzsKKyAgICBwZW5kaW5nX3R2LnR2X3VzZWMgPSAoc3VzZWNvbmRzX3QpdHZfdXNlYzsKKyNlbHNlCisjaWYgVElNRURJRkZfVF9NQVggPiBJTlRfTUFYCisgICAgLyogdHZfc2VjIG92ZXJmbG93IGNoZWNrIGluIGNhc2UgdGltZV90IGlzIHNpZ25lZCAqLworICAgIGlmKHR2X3NlYyA+IElOVF9NQVgpCisgICAgICB0dl9zZWMgPSBJTlRfTUFYOworI2VuZGlmCisgICAgcGVuZGluZ190di50dl9zZWMgPSAoaW50KXR2X3NlYzsKKyAgICBwZW5kaW5nX3R2LnR2X3VzZWMgPSAoaW50KXR2X3VzZWM7CisjZW5kaWYKICAgICByID0gc2VsZWN0KDAsIE5VTEwsIE5VTEwsIE5VTEwsICZwZW5kaW5nX3R2KTsKICAgfQogI2VuZGlmIC8qIEhBVkVfUE9MTF9GSU5FICovCkBAIC0xMTMsNDQgKzE0MSw2MCBAQAogICogICAgMCA9IHRpbWVvdXQKICAqICAgIE4gPSBudW1iZXIgb2Ygc2lnbmFsbGVkIGZpbGUgZGVzY3JpcHRvcnMKICAqLwotaW50IEN1cmxfc2VsZWN0KGN1cmxfc29ja2V0X3QgbWF4ZmQsCi0gICAgICAgICAgICAgICAgZmRfc2V0ICpmZHNfcmVhZCwKLSAgICAgICAgICAgICAgICBmZF9zZXQgKmZkc193cml0ZSwKLSAgICAgICAgICAgICAgICBmZF9zZXQgKmZkc19lcnIsCi0gICAgICAgICAgICAgICAgdGltZV90IHRpbWVvdXRfbXMpICAgICAvKiBtaWxsaXNlY29uZHMgdG8gd2FpdCAqLworaW50IEN1cmxfc2VsZWN0KGN1cmxfc29ja2V0X3QgbWF4ZmQsICAgLyogaGlnaGVzdCBzb2NrZXQgbnVtYmVyICovCisgICAgICAgICAgICAgICAgZmRfc2V0ICpmZHNfcmVhZCwgICAgICAvKiBzb2NrZXRzIHJlYWR5IGZvciByZWFkaW5nICovCisgICAgICAgICAgICAgICAgZmRfc2V0ICpmZHNfd3JpdGUsICAgICAvKiBzb2NrZXRzIHJlYWR5IGZvciB3cml0aW5nICovCisgICAgICAgICAgICAgICAgZmRfc2V0ICpmZHNfZXJyLCAgICAgICAvKiBzb2NrZXRzIHdpdGggZXJyb3JzICovCisgICAgICAgICAgICAgICAgdGltZWRpZmZfdCB0aW1lb3V0X21zKSAvKiBtaWxsaXNlY29uZHMgdG8gd2FpdCAqLwogewogICBzdHJ1Y3QgdGltZXZhbCBwZW5kaW5nX3R2OwogICBzdHJ1Y3QgdGltZXZhbCAqcHRpbWVvdXQ7Ci0gIGludCBwZW5kaW5nX21zOwogICBpbnQgcjsKIAotI2lmIFNJWkVPRl9USU1FX1QgIT0gU0laRU9GX0lOVAotICAvKiB3cmFwLWFyb3VuZCBwcmVjYXV0aW9uICovCi0gIGlmKHRpbWVvdXRfbXMgPj0gSU5UX01BWCkKLSAgICB0aW1lb3V0X21zID0gSU5UX01BWDsKLSNlbmRpZgotCiAjaWZkZWYgVVNFX1dJTlNPQ0sKICAgLyogV2luU29jayBzZWxlY3QoKSBjYW4ndCBoYW5kbGUgemVybyBldmVudHMuICBTZWUgdGhlIGNvbW1lbnQgYmVsb3cuICovCiAgIGlmKCghZmRzX3JlYWQgfHwgZmRzX3JlYWQtPmZkX2NvdW50ID09IDApICYmCiAgICAgICghZmRzX3dyaXRlIHx8IGZkc193cml0ZS0+ZmRfY291bnQgPT0gMCkgJiYKICAgICAgKCFmZHNfZXJyIHx8IGZkc19lcnItPmZkX2NvdW50ID09IDApKSB7Ci0gICAgciA9IEN1cmxfd2FpdF9tcygoaW50KXRpbWVvdXRfbXMpOworICAgIHIgPSBDdXJsX3dhaXRfbXModGltZW91dF9tcyk7CiAgICAgcmV0dXJuIHI7CiAgIH0KICNlbmRpZgogCiAgIHB0aW1lb3V0ID0gJnBlbmRpbmdfdHY7Ci0KICAgaWYodGltZW91dF9tcyA8IDApIHsKICAgICBwdGltZW91dCA9IE5VTEw7CiAgIH0KICAgZWxzZSBpZih0aW1lb3V0X21zID4gMCkgewotICAgIHBlbmRpbmdfbXMgPSAoaW50KXRpbWVvdXRfbXM7Ci0gICAgcGVuZGluZ190di50dl9zZWMgPSBwZW5kaW5nX21zIC8gMTAwMDsKLSAgICBwZW5kaW5nX3R2LnR2X3VzZWMgPSAocGVuZGluZ19tcyAlIDEwMDApICogMTAwMDsKKyAgICB0aW1lZGlmZl90IHR2X3NlYyA9IHRpbWVvdXRfbXMgLyAxMDAwOworICAgIHRpbWVkaWZmX3QgdHZfdXNlYyA9ICh0aW1lb3V0X21zICUgMTAwMCkgKiAxMDAwOyAvKiBtYXg9OTk5OTk5ICovCisjaWZkZWYgSEFWRV9TVVNFQ09ORFNfVAorI2lmIFRJTUVESUZGX1RfTUFYID4gVElNRV9UX01BWAorICAgIC8qIHR2X3NlYyBvdmVyZmxvdyBjaGVjayBpbiBjYXNlIHRpbWVfdCBpcyBzaWduZWQgKi8KKyAgICBpZih0dl9zZWMgPiBUSU1FX1RfTUFYKQorICAgICAgdHZfc2VjID0gVElNRV9UX01BWDsKKyNlbmRpZgorICAgIHBlbmRpbmdfdHYudHZfc2VjID0gKHRpbWVfdCl0dl9zZWM7CisgICAgcGVuZGluZ190di50dl91c2VjID0gKHN1c2Vjb25kc190KXR2X3VzZWM7CisjZWxpZiBkZWZpbmVkKFdJTjMyKSAvKiBtYXliZSBhbHNvIG90aGVycyBpbiB0aGUgZnV0dXJlICovCisjaWYgVElNRURJRkZfVF9NQVggPiBMT05HX01BWAorICAgIC8qIHR2X3NlYyBvdmVyZmxvdyBjaGVjayBvbiBXaW5kb3dzIHRoZXJlIHdlIGtub3cgaXQgaXMgbG9uZyAqLworICAgIGlmKHR2X3NlYyA+IExPTkdfTUFYKQorICAgICAgdHZfc2VjID0gTE9OR19NQVg7CisjZW5kaWYKKyAgICBwZW5kaW5nX3R2LnR2X3NlYyA9IChsb25nKXR2X3NlYzsKKyAgICBwZW5kaW5nX3R2LnR2X3VzZWMgPSAobG9uZyl0dl91c2VjOworI2Vsc2UKKyNpZiBUSU1FRElGRl9UX01BWCA+IElOVF9NQVgKKyAgICAvKiB0dl9zZWMgb3ZlcmZsb3cgY2hlY2sgaW4gY2FzZSB0aW1lX3QgaXMgc2lnbmVkICovCisgICAgaWYodHZfc2VjID4gSU5UX01BWCkKKyAgICAgIHR2X3NlYyA9IElOVF9NQVg7CisjZW5kaWYKKyAgICBwZW5kaW5nX3R2LnR2X3NlYyA9IChpbnQpdHZfc2VjOworICAgIHBlbmRpbmdfdHYudHZfdXNlYyA9IChpbnQpdHZfdXNlYzsKKyNlbmRpZgogICB9Ci0gIGVsc2UgaWYoIXRpbWVvdXRfbXMpIHsKKyAgZWxzZSB7CiAgICAgcGVuZGluZ190di50dl9zZWMgPSAwOwogICAgIHBlbmRpbmdfdHYudHZfdXNlYyA9IDA7CiAgIH0KQEAgLTIwMSwxMSArMjQ1LDEwIEBACiBpbnQgQ3VybF9zb2NrZXRfY2hlY2soY3VybF9zb2NrZXRfdCByZWFkZmQwLCAvKiB0d28gc29ja2V0cyB0byByZWFkIGZyb20gKi8KICAgICAgICAgICAgICAgICAgICAgICBjdXJsX3NvY2tldF90IHJlYWRmZDEsCiAgICAgICAgICAgICAgICAgICAgICAgY3VybF9zb2NrZXRfdCB3cml0ZWZkLCAvKiBzb2NrZXQgdG8gd3JpdGUgdG8gKi8KLSAgICAgICAgICAgICAgICAgICAgICB0aW1lZGlmZl90IHRpbWVvdXRfbXMpICAgICAvKiBtaWxsaXNlY29uZHMgdG8gd2FpdCAqLworICAgICAgICAgICAgICAgICAgICAgIHRpbWVkaWZmX3QgdGltZW91dF9tcykgLyogbWlsbGlzZWNvbmRzIHRvIHdhaXQgKi8KIHsKICNpZmRlZiBIQVZFX1BPTExfRklORQogICBzdHJ1Y3QgcG9sbGZkIHBmZFszXTsKLSAgaW50IHBlbmRpbmdfbXM7CiAgIGludCBudW07CiAjZWxzZQogICBmZF9zZXQgZmRzX3JlYWQ7CkBAIC0yMTYsMTYgKzI1OSwxMCBAQAogICBpbnQgcjsKICAgaW50IHJldDsKIAotI2lmIFNJWkVPRl9USU1FX1QgIT0gU0laRU9GX0lOVAotICAvKiB3cmFwLWFyb3VuZCBwcmVjYXV0aW9uICovCi0gIGlmKHRpbWVvdXRfbXMgPj0gSU5UX01BWCkKLSAgICB0aW1lb3V0X21zID0gSU5UX01BWDsKLSNlbmRpZgotCiAgIGlmKChyZWFkZmQwID09IENVUkxfU09DS0VUX0JBRCkgJiYgKHJlYWRmZDEgPT0gQ1VSTF9TT0NLRVRfQkFEKSAmJgogICAgICAod3JpdGVmZCA9PSBDVVJMX1NPQ0tFVF9CQUQpKSB7CiAgICAgLyogbm8gc29ja2V0cywganVzdCB3YWl0ICovCi0gICAgciA9IEN1cmxfd2FpdF9tcygoaW50KXRpbWVvdXRfbXMpOworICAgIHIgPSBDdXJsX3dhaXRfbXModGltZW91dF9tcyk7CiAgICAgcmV0dXJuIHI7CiAgIH0KIApAQCAtMjU2LDE4ICsyOTMsOSBAQAogICAgIG51bSsrOwogICB9CiAKLSAgaWYodGltZW91dF9tcyA+IDApCi0gICAgcGVuZGluZ19tcyA9IChpbnQpdGltZW91dF9tczsKLSAgZWxzZSBpZih0aW1lb3V0X21zIDwgMCkKLSAgICBwZW5kaW5nX21zID0gLTE7Ci0gIGVsc2UKLSAgICBwZW5kaW5nX21zID0gMDsKLSAgciA9IHBvbGwocGZkLCBudW0sIHBlbmRpbmdfbXMpOwotCi0gIGlmKHIgPCAwKQotICAgIHJldHVybiAtMTsKLSAgaWYociA9PSAwKQotICAgIHJldHVybiAwOworICByID0gQ3VybF9wb2xsKHBmZCwgbnVtLCB0aW1lb3V0X21zKTsKKyAgaWYociA8PSAwKQorICAgIHJldHVybiByOwogCiAgIHJldCA9IDA7CiAgIG51bSA9IDA7CkBAIC0zMzMsNyArMzYxLDcgQEAKICAgICAgY3VybF9zb2NrZXRfdCBpcyB1bnNpZ25lZCBpbiBzdWNoIGNhc2VzIGFuZCB0aHVzIC0xIGlzIHRoZSBsYXJnZXN0CiAgICAgIHZhbHVlKS4KICAgKi8KLSAgciA9IEN1cmxfc2VsZWN0KG1heGZkLCAmZmRzX3JlYWQsICZmZHNfd3JpdGUsICZmZHNfZXJyLCAodGltZV90KXRpbWVvdXRfbXMpOworICByID0gQ3VybF9zZWxlY3QobWF4ZmQsICZmZHNfcmVhZCwgJmZkc193cml0ZSwgJmZkc19lcnIsIHRpbWVvdXRfbXMpOwogCiAgIGlmKHIgPCAwKQogICAgIHJldHVybiAtMTsKQEAgLTM3OSw3ICs0MDcsNyBAQAogICogICAgMCA9IHRpbWVvdXQKICAqICAgIE4gPSBudW1iZXIgb2Ygc3RydWN0dXJlcyB3aXRoIG5vbiB6ZXJvIHJldmVudCBmaWVsZHMKICAqLwotaW50IEN1cmxfcG9sbChzdHJ1Y3QgcG9sbGZkIHVmZHNbXSwgdW5zaWduZWQgaW50IG5mZHMsIGludCB0aW1lb3V0X21zKQoraW50IEN1cmxfcG9sbChzdHJ1Y3QgcG9sbGZkIHVmZHNbXSwgdW5zaWduZWQgaW50IG5mZHMsIHRpbWVkaWZmX3QgdGltZW91dF9tcykKIHsKICNpZmRlZiBIQVZFX1BPTExfRklORQogICBpbnQgcGVuZGluZ19tczsKQEAgLTQwMiw2ICs0MzAsNyBAQAogICAgIH0KICAgfQogICBpZihmZHNfbm9uZSkgeworICAgIC8qIG5vIHNvY2tldHMsIGp1c3Qgd2FpdCAqLwogICAgIHIgPSBDdXJsX3dhaXRfbXModGltZW91dF9tcyk7CiAgICAgcmV0dXJuIHI7CiAgIH0KQEAgLTQxMyw4ICs0NDIsMTMgQEAKIAogI2lmZGVmIEhBVkVfUE9MTF9GSU5FCiAKKyAgLyogcHJldmVudCBvdmVyZmxvdywgdGltZW91dF9tcyBpcyB0eXBlY2FzdCB0byBpbnQuICovCisjaWYgVElNRURJRkZfVF9NQVggPiBJTlRfTUFYCisgIGlmKHRpbWVvdXRfbXMgPiBJTlRfTUFYKQorICAgIHRpbWVvdXRfbXMgPSBJTlRfTUFYOworI2VuZGlmCiAgIGlmKHRpbWVvdXRfbXMgPiAwKQotICAgIHBlbmRpbmdfbXMgPSB0aW1lb3V0X21zOworICAgIHBlbmRpbmdfbXMgPSAoaW50KXRpbWVvdXRfbXM7CiAgIGVsc2UgaWYodGltZW91dF9tcyA8IDApCiAgICAgcGVuZGluZ19tcyA9IC0xOwogICBlbHNlCmRpZmYgLS1naXQgYS9saWIvc2VsZWN0LmggYi9saWIvc2VsZWN0LmgKaW5kZXggMGZkOGVkNS4uOTUxODFmNCAxMDA2NDQKLS0tIGEvbGliL3NlbGVjdC5oCisrKyBiL2xpYi9zZWxlY3QuaApAQCAtNzYsNyArNzYsNyBAQAogICAgICAgICAgICAgICAgIGZkX3NldCAqZmRzX3JlYWQsCiAgICAgICAgICAgICAgICAgZmRfc2V0ICpmZHNfd3JpdGUsCiAgICAgICAgICAgICAgICAgZmRfc2V0ICpmZHNfZXJyLAotICAgICAgICAgICAgICAgIHRpbWVfdCB0aW1lb3V0X21zKTsKKyAgICAgICAgICAgICAgICB0aW1lZGlmZl90IHRpbWVvdXRfbXMpOwogCiBpbnQgQ3VybF9zb2NrZXRfY2hlY2soY3VybF9zb2NrZXRfdCByZWFkZmQsIGN1cmxfc29ja2V0X3QgcmVhZGZkMiwKICAgICAgICAgICAgICAgICAgICAgICBjdXJsX3NvY2tldF90IHdyaXRlZmQsCkBAIC04NiwxMiArODYsMTIgQEAKICNkZWZpbmUgU09DS0VUX1dSSVRBQkxFKHgseikgXAogICBDdXJsX3NvY2tldF9jaGVjayhDVVJMX1NPQ0tFVF9CQUQsIENVUkxfU09DS0VUX0JBRCwgeCwgeikKIAotaW50IEN1cmxfcG9sbChzdHJ1Y3QgcG9sbGZkIHVmZHNbXSwgdW5zaWduZWQgaW50IG5mZHMsIGludCB0aW1lb3V0X21zKTsKLWludCBDdXJsX3dhaXRfbXMoaW50IHRpbWVvdXRfbXMpOworaW50IEN1cmxfcG9sbChzdHJ1Y3QgcG9sbGZkIHVmZHNbXSwgdW5zaWduZWQgaW50IG5mZHMsIHRpbWVkaWZmX3QgdGltZW91dF9tcyk7CitpbnQgQ3VybF93YWl0X21zKHRpbWVkaWZmX3QgdGltZW91dF9tcyk7CiAKICNpZmRlZiBUUEYKIGludCB0cGZfc2VsZWN0X2xpYmN1cmwoaW50IG1heGZkcywgZmRfc2V0KiByZWFkcywgZmRfc2V0KiB3cml0ZXMsCi0gICAgICAgICAgICAgICAgICAgICAgIGZkX3NldCogZXhjZXB0cywgc3RydWN0IHRpbWV2YWwqIHR2KTsKKyAgICAgICAgICAgICAgICAgICAgICAgZmRfc2V0KiBleGNlcHRzLCBzdHJ1Y3QgdGltZXZhbCAqdHYpOwogI2VuZGlmCiAKIC8qIFdpbnNvY2sgYW5kIFRQRiBzb2NrZXRzIGFyZSBub3QgaW4gcmFuZ2UgWzAuLkZEX1NFVFNJWkUtMV0sIHdoaWNoCmRpZmYgLS1naXQgYS9saWIvc2VuZGYuYyBiL2xpYi9zZW5kZi5jCmluZGV4IDZlZjQ3YWEuLjY5NDNmYTggMTAwNjQ0Ci0tLSBhL2xpYi9zZW5kZi5jCisrKyBiL2xpYi9zZW5kZi5jCkBAIC0yNjcsNyArMjY3LDcgQEAKICAgICBzaXplX3QgbGVuOwogICAgIGNoYXIgZXJyb3JbQ1VSTF9FUlJPUl9TSVpFICsgMl07CiAgICAgdmFfc3RhcnQoYXAsIGZtdCk7Ci0gICAgbXZzbnByaW50ZihlcnJvciwgQ1VSTF9FUlJPUl9TSVpFLCBmbXQsIGFwKTsKKyAgICAodm9pZCltdnNucHJpbnRmKGVycm9yLCBDVVJMX0VSUk9SX1NJWkUsIGZtdCwgYXApOwogICAgIGxlbiA9IHN0cmxlbihlcnJvcik7CiAKICAgICBpZihkYXRhLT5zZXQuZXJyb3JidWZmZXIgJiYgIWRhdGEtPnN0YXRlLmVycm9yYnVmKSB7CkBAIC00OTgsNyArNDk4LDYgQEAKICAgICAgaXMgYWdhaW4gZW5hYmxlZCAqLwogICBzdHJ1Y3QgU2luZ2xlUmVxdWVzdCAqayA9ICZkYXRhLT5yZXE7CiAgIHN0cnVjdCBVcmxTdGF0ZSAqcyA9ICZkYXRhLT5zdGF0ZTsKLSAgY2hhciAqZHVwbDsKICAgdW5zaWduZWQgaW50IGk7CiAgIGJvb2wgbmV3dHlwZSA9IFRSVUU7CiAKQEAgLTUxOCw0NCArNTE3LDIxIEBACiAgIGVsc2UKICAgICBpID0gMDsKIAotICBpZighbmV3dHlwZSkgewotICAgIC8qIGFwcGVuZCBuZXcgZGF0YSB0byBvbGQgZGF0YSAqLwotCi0gICAgLyogZmlndXJlIG91dCB0aGUgbmV3IHNpemUgb2YgdGhlIGRhdGEgdG8gc2F2ZSAqLwotICAgIHNpemVfdCBuZXdsZW4gPSBsZW4gKyBzLT50ZW1wd3JpdGVbaV0ubGVuOwotICAgIC8qIGFsbG9jYXRlIHRoZSBuZXcgbWVtb3J5IGFyZWEgKi8KLSAgICBjaGFyICpuZXdwdHIgPSByZWFsbG9jKHMtPnRlbXB3cml0ZVtpXS5idWYsIG5ld2xlbik7Ci0gICAgaWYoIW5ld3B0cikKLSAgICAgIHJldHVybiBDVVJMRV9PVVRfT0ZfTUVNT1JZOwotICAgIC8qIGNvcHkgdGhlIG5ldyBkYXRhIHRvIHRoZSBlbmQgb2YgdGhlIG5ldyBhcmVhICovCi0gICAgbWVtY3B5KG5ld3B0ciArIHMtPnRlbXB3cml0ZVtpXS5sZW4sIHB0ciwgbGVuKTsKLQotICAgIC8qIHVwZGF0ZSB0aGUgcG9pbnRlciBhbmQgdGhlIHNpemUgKi8KLSAgICBzLT50ZW1wd3JpdGVbaV0uYnVmID0gbmV3cHRyOwotICAgIHMtPnRlbXB3cml0ZVtpXS5sZW4gPSBuZXdsZW47Ci0KLSAgICBsZW4gPSBuZXdsZW47IC8qIGZvciB0aGUgZGVidWcgb3V0cHV0IGJlbG93ICovCi0gIH0KLSAgZWxzZSB7Ci0gICAgZHVwbCA9IEN1cmxfbWVtZHVwKHB0ciwgbGVuKTsKLSAgICBpZighZHVwbCkKLSAgICAgIHJldHVybiBDVVJMRV9PVVRfT0ZfTUVNT1JZOwotCisgIGlmKG5ld3R5cGUpIHsKICAgICAvKiBzdG9yZSB0aGlzIGluZm9ybWF0aW9uIGluIHRoZSBzdGF0ZSBzdHJ1Y3QgZm9yIGxhdGVyIHVzZSAqLwotICAgIHMtPnRlbXB3cml0ZVtpXS5idWYgPSBkdXBsOwotICAgIHMtPnRlbXB3cml0ZVtpXS5sZW4gPSBsZW47CisgICAgQ3VybF9keW5faW5pdCgmcy0+dGVtcHdyaXRlW2ldLmIsIERZTl9QQVVTRV9CVUZGRVIpOwogICAgIHMtPnRlbXB3cml0ZVtpXS50eXBlID0gdHlwZTsKIAogICAgIGlmKG5ld3R5cGUpCiAgICAgICBzLT50ZW1wY291bnQrKzsKICAgfQogCisgIGlmKEN1cmxfZHluX2FkZG4oJnMtPnRlbXB3cml0ZVtpXS5iLCAodW5zaWduZWQgY2hhciAqKXB0ciwgbGVuKSkKKyAgICByZXR1cm4gQ1VSTEVfT1VUX09GX01FTU9SWTsKKwogICAvKiBtYXJrIHRoZSBjb25uZWN0aW9uIGFzIFJFQ1YgcGF1c2VkICovCiAgIGstPmtlZXBvbiB8PSBLRUVQX1JFQ1ZfUEFVU0U7CiAKLSAgREVCVUdGKGluZm9mKGRhdGEsICJQYXVzZWQgJXp1IGJ5dGVzIGluIGJ1ZmZlciBmb3IgdHlwZSAlMDJ4XG4iLAotICAgICAgICAgICAgICAgbGVuLCB0eXBlKSk7Ci0KICAgcmV0dXJuIENVUkxFX09LOwogfQogCkBAIC02MTcsNyArNTkzLDcgQEAKICAgICAgICAgcmV0dXJuIHBhdXNld3JpdGUoZGF0YSwgdHlwZSwgcHRyLCBsZW4pOwogICAgICAgfQogICAgICAgaWYod3JvdGUgIT0gY2h1bmtsZW4pIHsKLSAgICAgICAgZmFpbGYoZGF0YSwgIkZhaWxlZCB3cml0aW5nIGJvZHkgKCV6dSAhPSAlenUpIiwgd3JvdGUsIGNodW5rbGVuKTsKKyAgICAgICAgZmFpbGYoZGF0YSwgIkZhaWx1cmUgd3JpdGluZyBvdXRwdXQgdG8gZGVzdGluYXRpb24iKTsKICAgICAgICAgcmV0dXJuIENVUkxFX1dSSVRFX0VSUk9SOwogICAgICAgfQogICAgIH0KZGlmZiAtLWdpdCBhL2xpYi9zZXRvcHQuYyBiL2xpYi9zZXRvcHQuYwppbmRleCAwNDc4NWE2Li45MGVkZjZhIDEwMDY0NAotLS0gYS9saWIvc2V0b3B0LmMKKysrIGIvbGliL3NldG9wdC5jCkBAIC03Nyw2ICs3NywzNyBAQAogICByZXR1cm4gQ1VSTEVfT0s7CiB9CiAKK0NVUkxjb2RlIEN1cmxfc2V0YmxvYm9wdChzdHJ1Y3QgY3VybF9ibG9iICoqYmxvYnAsCisgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qgc3RydWN0IGN1cmxfYmxvYiAqYmxvYikKK3sKKyAgLyogZnJlZSB0aGUgcHJldmlvdXMgc3RvcmFnZSBhdCBgYmxvYnAnIGFuZCByZXBsYWNlIGJ5IGEgZHluYW1pYyBzdG9yYWdlCisgICAgIGNvcHkgb2YgYmxvYi4gSWYgQ1VSTF9CTE9CX0NPUFkgaXMgc2V0LCB0aGUgZGF0YSBpcyBjb3BpZWQuICovCisKKyAgQ3VybF9zYWZlZnJlZSgqYmxvYnApOworCisgIGlmKGJsb2IpIHsKKyAgICBzdHJ1Y3QgY3VybF9ibG9iICpuYmxvYjsKKyAgICBpZihibG9iLT5sZW4gPiBDVVJMX01BWF9JTlBVVF9MRU5HVEgpCisgICAgICByZXR1cm4gQ1VSTEVfQkFEX0ZVTkNUSU9OX0FSR1VNRU5UOworICAgIG5ibG9iID0gKHN0cnVjdCBjdXJsX2Jsb2IgKikKKyAgICAgIG1hbGxvYyhzaXplb2Yoc3RydWN0IGN1cmxfYmxvYikgKworICAgICAgICAgICAgICgoYmxvYi0+ZmxhZ3MgJiBDVVJMX0JMT0JfQ09QWSkgPyBibG9iLT5sZW4gOiAwKSk7CisgICAgaWYoIW5ibG9iKQorICAgICAgcmV0dXJuIENVUkxFX09VVF9PRl9NRU1PUlk7CisgICAgKm5ibG9iID0gKmJsb2I7CisgICAgaWYoYmxvYi0+ZmxhZ3MgJiBDVVJMX0JMT0JfQ09QWSkgeworICAgICAgLyogcHV0IHRoZSBkYXRhIGFmdGVyIHRoZSBibG9iIHN0cnVjdCBpbiBtZW1vcnkgKi8KKyAgICAgIG5ibG9iLT5kYXRhID0gKGNoYXIgKiluYmxvYiArIHNpemVvZihzdHJ1Y3QgY3VybF9ibG9iKTsKKyAgICAgIG1lbWNweShuYmxvYi0+ZGF0YSwgYmxvYi0+ZGF0YSwgYmxvYi0+bGVuKTsKKyAgICB9CisKKyAgICAqYmxvYnAgPSBuYmxvYjsKKyAgICByZXR1cm4gQ1VSTEVfT0s7CisgIH0KKworICByZXR1cm4gQ1VSTEVfT0s7Cit9CisKIHN0YXRpYyBDVVJMY29kZSBzZXRzdHJvcHRfdXNlcnB3ZChjaGFyICpvcHRpb24sIGNoYXIgKip1c2VycCwgY2hhciAqKnBhc3N3ZHApCiB7CiAgIENVUkxjb2RlIHJlc3VsdCA9IENVUkxFX09LOwpAQCAtMjQwLDYgKzI3MSw5IEBACiAgICAgICogRG8gbm90IGluY2x1ZGUgdGhlIGJvZHkgcGFydCBpbiB0aGUgb3V0cHV0IGRhdGEgc3RyZWFtLgogICAgICAqLwogICAgIGRhdGEtPnNldC5vcHRfbm9fYm9keSA9ICgwICE9IHZhX2FyZyhwYXJhbSwgbG9uZykpID8gVFJVRSA6IEZBTFNFOworICAgIGlmKGRhdGEtPnNldC5vcHRfbm9fYm9keSkKKyAgICAgIC8qIGluIEhUVFAgbGluZ28sIG5vIGJvZHkgbWVhbnMgdXNpbmcgdGhlIEhFQUQgcmVxdWVzdC4uLiAqLworICAgICAgZGF0YS0+c2V0Lm1ldGhvZCA9IEhUVFBSRVFfSEVBRDsKICAgICBicmVhazsKICAgY2FzZSBDVVJMT1BUX0ZBSUxPTkVSUk9SOgogICAgIC8qCkBAIC0yNjEsMTMgKzI5NSwxMyBAQAogICAgIGRhdGEtPnNldC51cGxvYWQgPSAoMCAhPSB2YV9hcmcocGFyYW0sIGxvbmcpKSA/IFRSVUUgOiBGQUxTRTsKICAgICBpZihkYXRhLT5zZXQudXBsb2FkKSB7CiAgICAgICAvKiBJZiB0aGlzIGlzIEhUVFAsIFBVVCBpcyB3aGF0J3MgbmVlZGVkIHRvICJ1cGxvYWQiICovCi0gICAgICBkYXRhLT5zZXQuaHR0cHJlcSA9IEhUVFBSRVFfUFVUOworICAgICAgZGF0YS0+c2V0Lm1ldGhvZCA9IEhUVFBSRVFfUFVUOwogICAgICAgZGF0YS0+c2V0Lm9wdF9ub19ib2R5ID0gRkFMU0U7IC8qIHRoaXMgaXMgaW1wbGllZCAqLwogICAgIH0KICAgICBlbHNlCiAgICAgICAvKiBJbiBIVFRQLCB0aGUgb3Bwb3NpdGUgb2YgdXBsb2FkIGlzIEdFVCAodW5sZXNzIE5PQk9EWSBpcyB0cnVlIGFzCiAgICAgICAgICB0aGVuIHRoaXMgY2FuIGJlIGNoYW5nZWQgdG8gSEVBRCBsYXRlciBvbikgKi8KLSAgICAgIGRhdGEtPnNldC5odHRwcmVxID0gSFRUUFJFUV9HRVQ7CisgICAgICBkYXRhLT5zZXQubWV0aG9kID0gSFRUUFJFUV9HRVQ7CiAgICAgYnJlYWs7CiAgIGNhc2UgQ1VSTE9QVF9SRVFVRVNUX1RBUkdFVDoKICAgICByZXN1bHQgPSBDdXJsX3NldHN0cm9wdCgmZGF0YS0+c2V0LnN0cltTVFJJTkdfVEFSR0VUXSwKQEAgLTM2Myw3ICszOTcsOSBAQAogICAgIGJyZWFrOwogCiAgIGNhc2UgQ1VSTE9QVF9TU0xWRVJTSU9OOgorI2lmbmRlZiBDVVJMX0RJU0FCTEVfUFJPWFkKICAgY2FzZSBDVVJMT1BUX1BST1hZX1NTTFZFUlNJT046CisjZW5kaWYKICAgICAvKgogICAgICAqIFNldCBleHBsaWNpdCBTU0wgdmVyc2lvbiB0byB0cnkgdG8gY29ubmVjdCB3aXRoLCBhcyBzb21lIFNTTAogICAgICAqIGltcGxlbWVudGF0aW9ucyBhcmUgbGFtZS4KQEAgLTM3MSw5ICs0MDcsMTEgQEAKICNpZmRlZiBVU0VfU1NMCiAgICAgewogICAgICAgbG9uZyB2ZXJzaW9uLCB2ZXJzaW9uX21heDsKLSAgICAgIHN0cnVjdCBzc2xfcHJpbWFyeV9jb25maWcgKnByaW1hcnkgPSAob3B0aW9uID09IENVUkxPUFRfU1NMVkVSU0lPTiA/Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZkYXRhLT5zZXQuc3NsLnByaW1hcnkgOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmZGF0YS0+c2V0LnByb3h5X3NzbC5wcmltYXJ5KTsKKyAgICAgIHN0cnVjdCBzc2xfcHJpbWFyeV9jb25maWcgKnByaW1hcnkgPSAmZGF0YS0+c2V0LnNzbC5wcmltYXJ5OworI2lmbmRlZiBDVVJMX0RJU0FCTEVfUFJPWFkKKyAgICAgIGlmKG9wdGlvbiAhPSBDVVJMT1BUX1NTTFZFUlNJT04pCisgICAgICAgIHByaW1hcnkgPSAmZGF0YS0+c2V0LnByb3h5X3NzbC5wcmltYXJ5OworI2VuZGlmCiAKICAgICAgIGFyZyA9IHZhX2FyZyhwYXJhbSwgbG9uZyk7CiAKQEAgLTQ4MSwxMSArNTE5LDExIEBACiAgICAgICAgQ1VSTE9QVF9QT1NURklFTERTIGlzbid0IHVzZWQgYW5kIHRoZSBQT1NUIGRhdGEgaXMgcmVhZCBvZmYgdGhlCiAgICAgICAgY2FsbGJhY2shICovCiAgICAgaWYodmFfYXJnKHBhcmFtLCBsb25nKSkgewotICAgICAgZGF0YS0+c2V0Lmh0dHByZXEgPSBIVFRQUkVRX1BPU1Q7CisgICAgICBkYXRhLT5zZXQubWV0aG9kID0gSFRUUFJFUV9QT1NUOwogICAgICAgZGF0YS0+c2V0Lm9wdF9ub19ib2R5ID0gRkFMU0U7IC8qIHRoaXMgaXMgaW1wbGllZCAqLwogICAgIH0KICAgICBlbHNlCi0gICAgICBkYXRhLT5zZXQuaHR0cHJlcSA9IEhUVFBSRVFfR0VUOworICAgICAgZGF0YS0+c2V0Lm1ldGhvZCA9IEhUVFBSRVFfR0VUOwogICAgIGJyZWFrOwogCiAgIGNhc2UgQ1VSTE9QVF9DT1BZUE9TVEZJRUxEUzoKQEAgLTUzMiw3ICs1NzAsNyBAQAogICAgIH0KIAogICAgIGRhdGEtPnNldC5wb3N0ZmllbGRzID0gZGF0YS0+c2V0LnN0cltTVFJJTkdfQ09QWVBPU1RGSUVMRFNdOwotICAgIGRhdGEtPnNldC5odHRwcmVxID0gSFRUUFJFUV9QT1NUOworICAgIGRhdGEtPnNldC5tZXRob2QgPSBIVFRQUkVRX1BPU1Q7CiAgICAgYnJlYWs7CiAKICAgY2FzZSBDVVJMT1BUX1BPU1RGSUVMRFM6CkBAIC01NDIsNyArNTgwLDcgQEAKICAgICBkYXRhLT5zZXQucG9zdGZpZWxkcyA9IHZhX2FyZyhwYXJhbSwgdm9pZCAqKTsKICAgICAvKiBSZWxlYXNlIG9sZCBjb3BpZWQgZGF0YS4gKi8KICAgICAodm9pZCkgQ3VybF9zZXRzdHJvcHQoJmRhdGEtPnNldC5zdHJbU1RSSU5HX0NPUFlQT1NURklFTERTXSwgTlVMTCk7Ci0gICAgZGF0YS0+c2V0Lmh0dHByZXEgPSBIVFRQUkVRX1BPU1Q7CisgICAgZGF0YS0+c2V0Lm1ldGhvZCA9IEhUVFBSRVFfUE9TVDsKICAgICBicmVhazsKIAogICBjYXNlIENVUkxPUFRfUE9TVEZJRUxEU0laRToKQEAgLTU4OCw3ICs2MjYsNyBAQAogICAgICAqIFNldCB0byBtYWtlIHVzIGRvIEhUVFAgUE9TVAogICAgICAqLwogICAgIGRhdGEtPnNldC5odHRwcG9zdCA9IHZhX2FyZyhwYXJhbSwgc3RydWN0IGN1cmxfaHR0cHBvc3QgKik7Ci0gICAgZGF0YS0+c2V0Lmh0dHByZXEgPSBIVFRQUkVRX1BPU1RfRk9STTsKKyAgICBkYXRhLT5zZXQubWV0aG9kID0gSFRUUFJFUV9QT1NUX0ZPUk07CiAgICAgZGF0YS0+c2V0Lm9wdF9ub19ib2R5ID0gRkFMU0U7IC8qIHRoaXMgaXMgaW1wbGllZCAqLwogICAgIGJyZWFrOwogI2VuZGlmICAgLyogQ1VSTF9ESVNBQkxFX0hUVFAgKi8KQEAgLTYwMCw3ICs2MzgsNyBAQAogICAgIHJlc3VsdCA9IEN1cmxfbWltZV9zZXRfc3VicGFydHMoJmRhdGEtPnNldC5taW1lcG9zdCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhX2FyZyhwYXJhbSwgY3VybF9taW1lICopLCBGQUxTRSk7CiAgICAgaWYoIXJlc3VsdCkgewotICAgICAgZGF0YS0+c2V0Lmh0dHByZXEgPSBIVFRQUkVRX1BPU1RfTUlNRTsKKyAgICAgIGRhdGEtPnNldC5tZXRob2QgPSBIVFRQUkVRX1BPU1RfTUlNRTsKICAgICAgIGRhdGEtPnNldC5vcHRfbm9fYm9keSA9IEZBTFNFOyAvKiB0aGlzIGlzIGltcGxpZWQgKi8KICAgICB9CiAgICAgYnJlYWs7CkBAIC03OTUsNyArODMzLDcgQEAKICAgICAgKiBTZXQgdG8gZm9yY2UgdXMgZG8gSFRUUCBHRVQKICAgICAgKi8KICAgICBpZih2YV9hcmcocGFyYW0sIGxvbmcpKSB7Ci0gICAgICBkYXRhLT5zZXQuaHR0cHJlcSA9IEhUVFBSRVFfR0VUOworICAgICAgZGF0YS0+c2V0Lm1ldGhvZCA9IEhUVFBSRVFfR0VUOwogICAgICAgZGF0YS0+c2V0LnVwbG9hZCA9IEZBTFNFOyAvKiBzd2l0Y2ggb2ZmIHVwbG9hZCAqLwogICAgICAgZGF0YS0+c2V0Lm9wdF9ub19ib2R5ID0gRkFMU0U7IC8qIHRoaXMgaXMgaW1wbGllZCAqLwogICAgIH0KQEAgLTkwNSw3ICs5NDMsNyBAQAogICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhX2FyZyhwYXJhbSwgY2hhciAqKSk7CiAKICAgICAvKiB3ZSBkb24ndCBzZXQKLSAgICAgICBkYXRhLT5zZXQuaHR0cHJlcSA9IEhUVFBSRVFfQ1VTVE9NOworICAgICAgIGRhdGEtPnNldC5tZXRob2QgPSBIVFRQUkVRX0NVU1RPTTsKICAgICAgICBoZXJlLCB3ZSBjb250aW51ZSBhcyBpZiB3ZSB3ZXJlIHVzaW5nIHRoZSBhbHJlYWR5IHNldCB0eXBlCiAgICAgICAgYW5kIHRoaXMganVzdCBjaGFuZ2VzIHRoZSBhY3R1YWwgcmVxdWVzdCBrZXl3b3JkICovCiAgICAgYnJlYWs7CkBAIC0xNjA2LDYgKzE2NDQsMTMgQEAKICAgICByZXN1bHQgPSBDdXJsX3NldHN0cm9wdCgmZGF0YS0+c2V0LnN0cltTVFJJTkdfQ0VSVF9PUklHXSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YV9hcmcocGFyYW0sIGNoYXIgKikpOwogICAgIGJyZWFrOworICBjYXNlIENVUkxPUFRfU1NMQ0VSVF9CTE9COgorICAgIC8qCisgICAgICogQmxvYiB0aGF0IGhvbGRzIGZpbGUgbmFtZSBvZiB0aGUgU1NMIGNlcnRpZmljYXRlIHRvIHVzZQorICAgICAqLworICAgIHJlc3VsdCA9IEN1cmxfc2V0YmxvYm9wdCgmZGF0YS0+c2V0LmJsb2JzW0JMT0JfQ0VSVF9PUklHXSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFfYXJnKHBhcmFtLCBzdHJ1Y3QgY3VybF9ibG9iICopKTsKKyAgICBicmVhazsKICNpZm5kZWYgQ1VSTF9ESVNBQkxFX1BST1hZCiAgIGNhc2UgQ1VSTE9QVF9QUk9YWV9TU0xDRVJUOgogICAgIC8qCkBAIC0xNjE0LDYgKzE2NTksMTMgQEAKICAgICByZXN1bHQgPSBDdXJsX3NldHN0cm9wdCgmZGF0YS0+c2V0LnN0cltTVFJJTkdfQ0VSVF9QUk9YWV0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFfYXJnKHBhcmFtLCBjaGFyICopKTsKICAgICBicmVhazsKKyAgY2FzZSBDVVJMT1BUX1BST1hZX1NTTENFUlRfQkxPQjoKKyAgICAvKgorICAgICAqIEJsb2IgdGhhdCBob2xkcyBmaWxlIG5hbWUgb2YgdGhlIFNTTCBjZXJ0aWZpY2F0ZSB0byB1c2UgZm9yIHByb3h5CisgICAgICovCisgICAgcmVzdWx0ID0gQ3VybF9zZXRibG9ib3B0KCZkYXRhLT5zZXQuYmxvYnNbQkxPQl9DRVJUX1BST1hZXSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFfYXJnKHBhcmFtLCBzdHJ1Y3QgY3VybF9ibG9iICopKTsKKyAgICBicmVhazsKICNlbmRpZgogICBjYXNlIENVUkxPUFRfU1NMQ0VSVFRZUEU6CiAgICAgLyoKQEAgLTE2MzgsNiArMTY5MCwxMyBAQAogICAgIHJlc3VsdCA9IEN1cmxfc2V0c3Ryb3B0KCZkYXRhLT5zZXQuc3RyW1NUUklOR19LRVlfT1JJR10sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFfYXJnKHBhcmFtLCBjaGFyICopKTsKICAgICBicmVhazsKKyAgY2FzZSBDVVJMT1BUX1NTTEtFWV9CTE9COgorICAgIC8qCisgICAgICogQmxvYiB0aGF0IGhvbGRzIGZpbGUgbmFtZSBvZiB0aGUgU1NMIGtleSB0byB1c2UKKyAgICAgKi8KKyAgICByZXN1bHQgPSBDdXJsX3NldGJsb2JvcHQoJmRhdGEtPnNldC5ibG9ic1tCTE9CX0tFWV9PUklHXSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFfYXJnKHBhcmFtLCBzdHJ1Y3QgY3VybF9ibG9iICopKTsKKyAgICBicmVhazsKICNpZm5kZWYgQ1VSTF9ESVNBQkxFX1BST1hZCiAgIGNhc2UgQ1VSTE9QVF9QUk9YWV9TU0xLRVk6CiAgICAgLyoKQEAgLTE2NDYsNiArMTcwNSwxMyBAQAogICAgIHJlc3VsdCA9IEN1cmxfc2V0c3Ryb3B0KCZkYXRhLT5zZXQuc3RyW1NUUklOR19LRVlfUFJPWFldLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhX2FyZyhwYXJhbSwgY2hhciAqKSk7CiAgICAgYnJlYWs7CisgIGNhc2UgQ1VSTE9QVF9QUk9YWV9TU0xLRVlfQkxPQjoKKyAgICAvKgorICAgICAqIEJsb2IgdGhhdCBob2xkcyBmaWxlIG5hbWUgb2YgdGhlIFNTTCBrZXkgdG8gdXNlIGZvciBwcm94eQorICAgICAqLworICAgIHJlc3VsdCA9IEN1cmxfc2V0YmxvYm9wdCgmZGF0YS0+c2V0LmJsb2JzW0JMT0JfS0VZX1BST1hZXSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFfYXJnKHBhcmFtLCBzdHJ1Y3QgY3VybF9ibG9iICopKTsKKyAgICBicmVhazsKICNlbmRpZgogICBjYXNlIENVUkxPUFRfU1NMS0VZVFlQRToKICAgICAvKgpAQCAtMTk3MCw2ICsyMDM2LDMwIEBACiAgICAgcmVzdWx0ID0gQ3VybF9zZXRzdHJvcHQoJmRhdGEtPnNldC5zdHJbU1RSSU5HX1NTTF9JU1NVRVJDRVJUX09SSUddLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhX2FyZyhwYXJhbSwgY2hhciAqKSk7CiAgICAgYnJlYWs7CisgIGNhc2UgQ1VSTE9QVF9JU1NVRVJDRVJUX0JMT0I6CisgICAgLyoKKyAgICAgKiBCbG9iIHRoYXQgaG9sZHMgSXNzdWVyIGNlcnRpZmljYXRlIHRvIGNoZWNrIGNlcnRpZmljYXRlcyBpc3N1ZXIKKyAgICAgKi8KKyAgICByZXN1bHQgPSBDdXJsX3NldGJsb2JvcHQoJmRhdGEtPnNldC5ibG9ic1tCTE9CX1NTTF9JU1NVRVJDRVJUX09SSUddLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YV9hcmcocGFyYW0sIHN0cnVjdCBjdXJsX2Jsb2IgKikpOworICAgIGJyZWFrOworI2lmbmRlZiBDVVJMX0RJU0FCTEVfUFJPWFkKKyAgY2FzZSBDVVJMT1BUX1BST1hZX0lTU1VFUkNFUlQ6CisgICAgLyoKKyAgICAgKiBTZXQgSXNzdWVyIGNlcnRpZmljYXRlIGZpbGUKKyAgICAgKiB0byBjaGVjayBjZXJ0aWZpY2F0ZXMgaXNzdWVyCisgICAgICovCisgICAgcmVzdWx0ID0gQ3VybF9zZXRzdHJvcHQoJmRhdGEtPnNldC5zdHJbU1RSSU5HX1NTTF9JU1NVRVJDRVJUX1BST1hZXSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YV9hcmcocGFyYW0sIGNoYXIgKikpOworICAgIGJyZWFrOworICBjYXNlIENVUkxPUFRfUFJPWFlfSVNTVUVSQ0VSVF9CTE9COgorICAgIC8qCisgICAgICogQmxvYiB0aGF0IGhvbGRzIElzc3VlciBjZXJ0aWZpY2F0ZSB0byBjaGVjayBjZXJ0aWZpY2F0ZXMgaXNzdWVyCisgICAgICovCisgICAgcmVzdWx0ID0gQ3VybF9zZXRibG9ib3B0KCZkYXRhLT5zZXQuYmxvYnNbQkxPQl9TU0xfSVNTVUVSQ0VSVF9QUk9YWV0sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhX2FyZyhwYXJhbSwgc3RydWN0IGN1cmxfYmxvYiAqKSk7CisgICAgYnJlYWs7CisjZW5kaWYKICNpZm5kZWYgQ1VSTF9ESVNBQkxFX1RFTE5FVAogICBjYXNlIENVUkxPUFRfVEVMTkVUT1BUSU9OUzoKICAgICAvKgpAQCAtMTk5Myw3ICsyMDgzLDcgQEAKICAgICAgIGFyZyA9IFJFQURCVUZGRVJfTUlOOwogCiAgICAgLyogUmVzaXplIGlmIG5ldyBzaXplICovCi0gICAgaWYoYXJnICE9IGRhdGEtPnNldC5idWZmZXJfc2l6ZSkgeworICAgIGlmKChhcmcgIT0gZGF0YS0+c2V0LmJ1ZmZlcl9zaXplKSAmJiBkYXRhLT5zdGF0ZS5idWZmZXIpIHsKICAgICAgIGNoYXIgKm5ld2J1ZmYgPSByZWFsbG9jKGRhdGEtPnN0YXRlLmJ1ZmZlciwgYXJnICsgMSk7CiAgICAgICBpZighbmV3YnVmZikgewogICAgICAgICBERUJVR0YoZnByaW50ZihzdGRlcnIsICJFcnJvcjogcmVhbGxvYyBvZiBidWZmZXIgZmFpbGVkXG4iKSk7CkBAIC0yMTM1LDYgKzIyMjUsNyBAQAogICAgIGRhdGEtPnNldC5zc2wubm9fcmV2b2tlID0gISEoYXJnICYgQ1VSTFNTTE9QVF9OT19SRVZPS0UpOwogICAgIGRhdGEtPnNldC5zc2wubm9fcGFydGlhbGNoYWluID0gISEoYXJnICYgQ1VSTFNTTE9QVF9OT19QQVJUSUFMQ0hBSU4pOwogICAgIGRhdGEtPnNldC5zc2wucmV2b2tlX2Jlc3RfZWZmb3J0ID0gISEoYXJnICYgQ1VSTFNTTE9QVF9SRVZPS0VfQkVTVF9FRkZPUlQpOworICAgIGRhdGEtPnNldC5zc2wubmF0aXZlX2NhX3N0b3JlID0gISEoYXJnICYgQ1VSTFNTTE9QVF9OQVRJVkVfQ0EpOwogICAgIGJyZWFrOwogCiAjaWZuZGVmIENVUkxfRElTQUJMRV9QUk9YWQpAQCAtMjE0NCw2ICsyMjM1LDcgQEAKICAgICAgIChib29sKSgoYXJnJkNVUkxTU0xPUFRfQUxMT1dfQkVBU1QpID8gVFJVRSA6IEZBTFNFKTsKICAgICBkYXRhLT5zZXQucHJveHlfc3NsLm5vX3Jldm9rZSA9ICEhKGFyZyAmIENVUkxTU0xPUFRfTk9fUkVWT0tFKTsKICAgICBkYXRhLT5zZXQucHJveHlfc3NsLm5vX3BhcnRpYWxjaGFpbiA9ICEhKGFyZyAmIENVUkxTU0xPUFRfTk9fUEFSVElBTENIQUlOKTsKKyAgICBkYXRhLT5zZXQucHJveHlfc3NsLm5hdGl2ZV9jYV9zdG9yZSA9ICEhKGFyZyAmIENVUkxTU0xPUFRfTkFUSVZFX0NBKTsKICAgICBkYXRhLT5zZXQucHJveHlfc3NsLnJldm9rZV9iZXN0X2VmZm9ydCA9CiAgICAgICAhIShhcmcgJiBDVVJMU1NMT1BUX1JFVk9LRV9CRVNUX0VGRk9SVCk7CiAgICAgYnJlYWs7CkBAIC0yMjQ4LDcgKzIzNDAsOSBAQAogICBjYXNlIENVUkxPUFRfU1NMX1NFU1NJT05JRF9DQUNIRToKICAgICBkYXRhLT5zZXQuc3NsLnByaW1hcnkuc2Vzc2lvbmlkID0gKDAgIT0gdmFfYXJnKHBhcmFtLCBsb25nKSkgPwogICAgICAgVFJVRSA6IEZBTFNFOworI2lmbmRlZiBDVVJMX0RJU0FCTEVfUFJPWFkKICAgICBkYXRhLT5zZXQucHJveHlfc3NsLnByaW1hcnkuc2Vzc2lvbmlkID0gZGF0YS0+c2V0LnNzbC5wcmltYXJ5LnNlc3Npb25pZDsKKyNlbmRpZgogICAgIGJyZWFrOwogCiAjaWZkZWYgVVNFX1NTSApAQCAtMjU1MCw5ICsyNjQ0LDExIEBACiAgIGNhc2UgQ1VSTE9QVF9QUk9YWV9UTFNBVVRIX1VTRVJOQU1FOgogICAgIHJlc3VsdCA9IEN1cmxfc2V0c3Ryb3B0KCZkYXRhLT5zZXQuc3RyW1NUUklOR19UTFNBVVRIX1VTRVJOQU1FX1BST1hZXSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YV9hcmcocGFyYW0sIGNoYXIgKikpOworI2lmbmRlZiBDVVJMX0RJU0FCTEVfUFJPWFkKICAgICBpZihkYXRhLT5zZXQuc3RyW1NUUklOR19UTFNBVVRIX1VTRVJOQU1FX1BST1hZXSAmJgogICAgICAgICFkYXRhLT5zZXQucHJveHlfc3NsLmF1dGh0eXBlKQogICAgICAgZGF0YS0+c2V0LnByb3h5X3NzbC5hdXRodHlwZSA9IENVUkxfVExTQVVUSF9TUlA7IC8qIGRlZmF1bHQgdG8gU1JQICovCisjZW5kaWYKICAgICBicmVhazsKICAgY2FzZSBDVVJMT1BUX1RMU0FVVEhfUEFTU1dPUkQ6CiAgICAgcmVzdWx0ID0gQ3VybF9zZXRzdHJvcHQoJmRhdGEtPnNldC5zdHJbU1RSSU5HX1RMU0FVVEhfUEFTU1dPUkRfT1JJR10sCkBAIC0yNTYzLDkgKzI2NTksMTEgQEAKICAgY2FzZSBDVVJMT1BUX1BST1hZX1RMU0FVVEhfUEFTU1dPUkQ6CiAgICAgcmVzdWx0ID0gQ3VybF9zZXRzdHJvcHQoJmRhdGEtPnNldC5zdHJbU1RSSU5HX1RMU0FVVEhfUEFTU1dPUkRfUFJPWFldLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhX2FyZyhwYXJhbSwgY2hhciAqKSk7CisjaWZuZGVmIENVUkxfRElTQUJMRV9QUk9YWQogICAgIGlmKGRhdGEtPnNldC5zdHJbU1RSSU5HX1RMU0FVVEhfVVNFUk5BTUVfUFJPWFldICYmCiAgICAgICAgIWRhdGEtPnNldC5wcm94eV9zc2wuYXV0aHR5cGUpCiAgICAgICBkYXRhLT5zZXQucHJveHlfc3NsLmF1dGh0eXBlID0gQ1VSTF9UTFNBVVRIX1NSUDsgLyogZGVmYXVsdCB0byBTUlAgKi8KKyNlbmRpZgogICAgIGJyZWFrOwogICBjYXNlIENVUkxPUFRfVExTQVVUSF9UWVBFOgogICAgIGFyZ3B0ciA9IHZhX2FyZyhwYXJhbSwgY2hhciAqKTsKQEAgLTI1NzUsNiArMjY3Myw3IEBACiAgICAgZWxzZQogICAgICAgZGF0YS0+c2V0LnNzbC5hdXRodHlwZSA9IENVUkxfVExTQVVUSF9OT05FOwogICAgIGJyZWFrOworI2lmbmRlZiBDVVJMX0RJU0FCTEVfUFJPWFkKICAgY2FzZSBDVVJMT1BUX1BST1hZX1RMU0FVVEhfVFlQRToKICAgICBhcmdwdHIgPSB2YV9hcmcocGFyYW0sIGNoYXIgKik7CiAgICAgaWYoIWFyZ3B0ciB8fApAQCAtMjU4NCw2ICsyNjgzLDcgQEAKICAgICAgIGRhdGEtPnNldC5wcm94eV9zc2wuYXV0aHR5cGUgPSBDVVJMX1RMU0FVVEhfTk9ORTsKICAgICBicmVhazsKICNlbmRpZgorI2VuZGlmCiAjaWZkZWYgVVNFX0FSRVMKICAgY2FzZSBDVVJMT1BUX0ROU19TRVJWRVJTOgogICAgIHJlc3VsdCA9IEN1cmxfc2V0c3Ryb3B0KCZkYXRhLT5zZXQuc3RyW1NUUklOR19ETlNfU0VSVkVSU10sCmRpZmYgLS1naXQgYS9saWIvc2V0b3B0LmggYi9saWIvc2V0b3B0LmgKaW5kZXggNWUzNDdkZC4uNWZjNDM2OCAxMDA2NDQKLS0tIGEvbGliL3NldG9wdC5oCisrKyBiL2xpYi9zZXRvcHQuaApAQCAtNyw3ICs3LDcgQEAKICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgKF9ffCB8X3wgfCAgXyA8fCB8X19fCiAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXF9fX3xcX19fL3xffCBcX1xfX19fX3wKICAqCi0gKiBDb3B5cmlnaHQgKEMpIDE5OTggLSAyMDE5LCBEYW5pZWwgU3RlbmJlcmcsIDxkYW5pZWxAaGF4eC5zZT4sIGV0IGFsLgorICogQ29weXJpZ2h0IChDKSAxOTk4IC0gMjAyMCwgRGFuaWVsIFN0ZW5iZXJnLCA8ZGFuaWVsQGhheHguc2U+LCBldCBhbC4KICAqCiAgKiBUaGlzIHNvZnR3YXJlIGlzIGxpY2Vuc2VkIGFzIGRlc2NyaWJlZCBpbiB0aGUgZmlsZSBDT1BZSU5HLCB3aGljaAogICogeW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGFzIHBhcnQgb2YgdGhpcyBkaXN0cmlidXRpb24uIFRoZSB0ZXJtcwpAQCAtMjMsNiArMjMsOCBAQAogICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KIAogQ1VSTGNvZGUgQ3VybF9zZXRzdHJvcHQoY2hhciAqKmNoYXJwLCBjb25zdCBjaGFyICpzKTsKK0NVUkxjb2RlIEN1cmxfc2V0YmxvYm9wdChzdHJ1Y3QgY3VybF9ibG9iICoqYmxvYnAsCisgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qgc3RydWN0IGN1cmxfYmxvYiAqYmxvYik7CiBDVVJMY29kZSBDdXJsX3ZzZXRvcHQoc3RydWN0IEN1cmxfZWFzeSAqZGF0YSwgQ1VSTG9wdGlvbiBvcHRpb24sIHZhX2xpc3QgYXJnKTsKIAogI2VuZGlmIC8qIEhFQURFUl9DVVJMX1NFVE9QVF9IICovCmRpZmYgLS1naXQgYS9saWIvc2V0dXAtb3M0MDAuaCBiL2xpYi9zZXR1cC1vczQwMC5oCmluZGV4IDYyOWZkOTQuLmI2OTNjYjMgMTAwNjQ0Ci0tLSBhL2xpYi9zZXR1cC1vczQwMC5oCisrKyBiL2xpYi9zZXR1cC1vczQwMC5oCkBAIC03LDcgKzcsNyBAQAogICogICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAoX198IHxffCB8ICBfIDx8IHxfX18KICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcX19ffFxfX18vfF98IFxfXF9fX19ffAogICoKLSAqIENvcHlyaWdodCAoQykgMTk5OCAtIDIwMTksIERhbmllbCBTdGVuYmVyZywgPGRhbmllbEBoYXh4LnNlPiwgZXQgYWwuCisgKiBDb3B5cmlnaHQgKEMpIDE5OTggLSAyMDIwLCBEYW5pZWwgU3RlbmJlcmcsIDxkYW5pZWxAaGF4eC5zZT4sIGV0IGFsLgogICoKICAqIFRoaXMgc29mdHdhcmUgaXMgbGljZW5zZWQgYXMgZGVzY3JpYmVkIGluIHRoZSBmaWxlIENPUFlJTkcsIHdoaWNoCiAgKiB5b3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYXMgcGFydCBvZiB0aGlzIGRpc3RyaWJ1dGlvbi4gVGhlIHRlcm1zCkBAIC0yMDAsMTAgKzIwMCwxMCBAQAogLyogU29tZSBzb2NrZXQgZnVuY3Rpb25zIG11c3QgYmUgd3JhcHBlZCB0byBwcm9jZXNzIHRleHR1YWwgYWRkcmVzc2VzCiAgICBsaWtlIEFGX1VOSVguICovCiAKLWV4dGVybiBpbnQgQ3VybF9vczQwMF9jb25uZWN0KGludCBzZCwgc3RydWN0IHNvY2thZGRyICogZGVzdGFkZHIsIGludCBhZGRybGVuKTsKLWV4dGVybiBpbnQgQ3VybF9vczQwMF9iaW5kKGludCBzZCwgc3RydWN0IHNvY2thZGRyICogbG9jYWxhZGRyLCBpbnQgYWRkcmxlbik7CitleHRlcm4gaW50IEN1cmxfb3M0MDBfY29ubmVjdChpbnQgc2QsIHN0cnVjdCBzb2NrYWRkciAqZGVzdGFkZHIsIGludCBhZGRybGVuKTsKK2V4dGVybiBpbnQgQ3VybF9vczQwMF9iaW5kKGludCBzZCwgc3RydWN0IHNvY2thZGRyICpsb2NhbGFkZHIsIGludCBhZGRybGVuKTsKIGV4dGVybiBpbnQgQ3VybF9vczQwMF9zZW5kdG8oaW50IHNkLCBjaGFyICpidWZmZXIsIGludCBidWZsZW4sIGludCBmbGFncywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RydWN0IHNvY2thZGRyICogZHN0YWRkciwgaW50IGFkZHJsZW4pOworICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJ1Y3Qgc29ja2FkZHIgKmRzdGFkZHIsIGludCBhZGRybGVuKTsKIGV4dGVybiBpbnQgQ3VybF9vczQwMF9yZWN2ZnJvbShpbnQgc2QsIGNoYXIgKmJ1ZmZlciwgaW50IGJ1ZmxlbiwgaW50IGZsYWdzLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cnVjdCBzb2NrYWRkciAqZnJvbWFkZHIsIGludCAqYWRkcmxlbik7CiBleHRlcm4gaW50IEN1cmxfb3M0MDBfZ2V0cGVlcm5hbWUoaW50IHNkLCBzdHJ1Y3Qgc29ja2FkZHIgKmFkZHIsIGludCAqYWRkcmxlbik7CmRpZmYgLS1naXQgYS9saWIvc2V0dXAtdm1zLmggYi9saWIvc2V0dXAtdm1zLmgKaW5kZXggNmM0NTRhZS4uMGUzOWM5ZiAxMDA2NDQKLS0tIGEvbGliL3NldHVwLXZtcy5oCisrKyBiL2xpYi9zZXR1cC12bXMuaApAQCAtNyw3ICs3LDcgQEAKICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgKF9ffCB8X3wgfCAgXyA8fCB8X19fCiAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXF9fX3xcX19fL3xffCBcX1xfX19fX3wKICAqCi0gKiBDb3B5cmlnaHQgKEMpIDE5OTggLSAyMDE2LCBEYW5pZWwgU3RlbmJlcmcsIDxkYW5pZWxAaGF4eC5zZT4sIGV0IGFsLgorICogQ29weXJpZ2h0IChDKSAxOTk4IC0gMjAyMCwgRGFuaWVsIFN0ZW5iZXJnLCA8ZGFuaWVsQGhheHguc2U+LCBldCBhbC4KICAqCiAgKiBUaGlzIHNvZnR3YXJlIGlzIGxpY2Vuc2VkIGFzIGRlc2NyaWJlZCBpbiB0aGUgZmlsZSBDT1BZSU5HLCB3aGljaAogICogeW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGFzIHBhcnQgb2YgdGhpcyBkaXN0cmlidXRpb24uIFRoZSB0ZXJtcwpAQCAtNzMsNyArNzMsNyBAQAogIyAgIGVuZGlmCiAjZW5kaWYKIAotICAgIHN0cnVjdCBwYXNzd2QgKiBkZWNjX2dldHB3dWlkKHVpZF90IHVpZCk7CisgICAgc3RydWN0IHBhc3N3ZCAqZGVjY19nZXRwd3VpZCh1aWRfdCB1aWQpOwogCiAjaWZkZWYgX19ERUNDCiAjICAgaWYgX19JTklUSUFMX1BPSU5URVJfU0laRSA9PSAzMgpAQCAtMTM4LDkgKzEzOCw5IEBACiAKIHN0YXRpYyBzdHJ1Y3QgcGFzc3dkIHZtc19wYXNzd2RfY2FjaGU7CiAKLXN0YXRpYyBzdHJ1Y3QgcGFzc3dkICogdm1zX2dldHB3dWlkKHVpZF90IHVpZCkKK3N0YXRpYyBzdHJ1Y3QgcGFzc3dkICp2bXNfZ2V0cHd1aWQodWlkX3QgdWlkKQogewotICBzdHJ1Y3QgcGFzc3dkICogbXlfcGFzc3dkOworICBzdHJ1Y3QgcGFzc3dkICpteV9wYXNzd2Q7CiAKIC8qIEhhY2sgbmVlZGVkIHRvIHN1cHBvcnQgNjQgYml0IGJ1aWxkcywgZGVjY19nZXRwd25hbSBpcyAzMiBiaXQgb25seSAqLwogI2lmZGVmIF9fREVDQwpkaWZmIC0tZ2l0IGEvbGliL3NoYTI1Ni5jIGIvbGliL3NoYTI1Ni5jCmluZGV4IDAwZDk4Y2UuLmVlNWQyNzMgMTAwNjQ0Ci0tLSBhL2xpYi9zaGEyNTYuYworKysgYi9saWIvc2hhMjU2LmMKQEAgLTE5NiwxMCArMTk2LDExIEBACiAKICNpbmNsdWRlIDx3aW5jcnlwdC5oPgogCi10eXBlZGVmIHN0cnVjdCB7CitzdHJ1Y3Qgc2hhMjU2X2N0eCB7CiAgIEhDUllQVFBST1YgaENyeXB0UHJvdjsKICAgSENSWVBUSEFTSCBoSGFzaDsKLX0gU0hBMjU2X0NUWDsKK307Cit0eXBlZGVmIHN0cnVjdCBzaGEyNTZfY3R4IFNIQTI1Nl9DVFg7CiAKICNpZiAhZGVmaW5lZChDQUxHX1NIQV8yNTYpCiAjZGVmaW5lIENBTEdfU0hBXzI1NiAweDAwMDA4MDBjCkBAIC0yMjIsNyArMjIzLDcgQEAKIAogc3RhdGljIHZvaWQgU0hBMjU2X0ZpbmFsKHVuc2lnbmVkIGNoYXIgKmRpZ2VzdCwgU0hBMjU2X0NUWCAqY3R4KQogewotICB1bnNpZ25lZCBsb25nIGxlbmd0aDsKKyAgdW5zaWduZWQgbG9uZyBsZW5ndGggPSAwOwogCiAgIENyeXB0R2V0SGFzaFBhcmFtKGN0eC0+aEhhc2gsIEhQX0hBU0hWQUwsIE5VTEwsICZsZW5ndGgsIDApOwogICBpZihsZW5ndGggPT0gU0hBMjU2X0RJR0VTVF9MRU5HVEgpCkBAIC0yODAsNyArMjgxLDcgQEAKIH0gd2hpbGUoMCkKICNlbmRpZgogCi10eXBlZGVmIHN0cnVjdCBzaGEyNTZfc3RhdGUgeworc3RydWN0IHNoYTI1Nl9zdGF0ZSB7CiAjaWZkZWYgSEFWRV9MT05HTE9ORwogICB1bnNpZ25lZCBsb25nIGxvbmcgbGVuZ3RoOwogI2Vsc2UKQEAgLTI4OCw3ICsyODksOCBAQAogI2VuZGlmCiAgIHVuc2lnbmVkIGxvbmcgc3RhdGVbOF0sIGN1cmxlbjsKICAgdW5zaWduZWQgY2hhciBidWZbNjRdOwotfSBTSEEyNTZfQ1RYOworfTsKK3R5cGVkZWYgc3RydWN0IHNoYTI1Nl9zdGF0ZSBTSEEyNTZfQ1RYOwogCiAvKiBUaGUgSyBhcnJheSAqLwogc3RhdGljIGNvbnN0IHVuc2lnbmVkIGxvbmcgS1s2NF0gPSB7CmRpZmYgLS1naXQgYS9saWIvc2hhcmUuYyBiL2xpYi9zaGFyZS5jCmluZGV4IDNkNTEwODYuLmEyZDg5NjAgMTAwNjQ0Ci0tLSBhL2xpYi9zaGFyZS5jCisrKyBiL2xpYi9zaGFyZS5jCkBAIC01LDcgKzUsNyBAQAogICogICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAoX198IHxffCB8ICBfIDx8IHxfX18KICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcX19ffFxfX18vfF98IFxfXF9fX19ffAogICoKLSAqIENvcHlyaWdodCAoQykgMTk5OCAtIDIwMTgsIERhbmllbCBTdGVuYmVyZywgPGRhbmllbEBoYXh4LnNlPiwgZXQgYWwuCisgKiBDb3B5cmlnaHQgKEMpIDE5OTggLSAyMDIwLCBEYW5pZWwgU3RlbmJlcmcsIDxkYW5pZWxAaGF4eC5zZT4sIGV0IGFsLgogICoKICAqIFRoaXMgc29mdHdhcmUgaXMgbGljZW5zZWQgYXMgZGVzY3JpYmVkIGluIHRoZSBmaWxlIENPUFlJTkcsIHdoaWNoCiAgKiB5b3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYXMgcGFydCBvZiB0aGlzIGRpc3RyaWJ1dGlvbi4gVGhlIHRlcm1zCkBAIC03MCw3ICs3MCw3IEBACiAgIGNhc2UgQ1VSTFNIT1BUX1NIQVJFOgogICAgIC8qIHRoaXMgaXMgYSB0eXBlIHRoaXMgc2hhcmUgd2lsbCBzaGFyZSAqLwogICAgIHR5cGUgPSB2YV9hcmcocGFyYW0sIGludCk7Ci0gICAgc2hhcmUtPnNwZWNpZmllciB8PSAoMTw8dHlwZSk7CisKICAgICBzd2l0Y2godHlwZSkgewogICAgIGNhc2UgQ1VSTF9MT0NLX0RBVEFfRE5TOgogICAgICAgYnJlYWs7CkBAIC0xMDIsNyArMTAyLDcgQEAKICNlbmRpZgogICAgICAgYnJlYWs7CiAKLSAgICBjYXNlIENVUkxfTE9DS19EQVRBX0NPTk5FQ1Q6ICAgICAvKiBub3Qgc3VwcG9ydGVkICh5ZXQpICovCisgICAgY2FzZSBDVVJMX0xPQ0tfREFUQV9DT05ORUNUOgogICAgICAgaWYoQ3VybF9jb25uY2FjaGVfaW5pdCgmc2hhcmUtPmNvbm5fY2FjaGUsIDEwMykpCiAgICAgICAgIHJlcyA9IENVUkxTSEVfTk9NRU07CiAgICAgICBicmVhazsKQEAgLTExNiw2ICsxMTYsOCBAQAogICAgIGRlZmF1bHQ6CiAgICAgICByZXMgPSBDVVJMU0hFX0JBRF9PUFRJT047CiAgICAgfQorICAgIGlmKCFyZXMpCisgICAgICBzaGFyZS0+c3BlY2lmaWVyIHw9ICgxPDx0eXBlKTsKICAgICBicmVhazsKIAogICBjYXNlIENVUkxTSE9QVF9VTlNIQVJFOgpkaWZmIC0tZ2l0IGEvbGliL3NtYi5jIGIvbGliL3NtYi5jCmluZGV4IDEyZjk5MjUuLmQ0OTNhZGMgMTAwNjQ0Ci0tLSBhL2xpYi9zbWIuYworKysgYi9saWIvc21iLmMKQEAgLTYsNyArNiw3IEBACiAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXF9fX3xcX19fL3xffCBcX1xfX19fX3wKICAqCiAgKiBDb3B5cmlnaHQgKEMpIDIwMTQsIEJpbGwgTmFnZWwgPHduYWdlbEB0eWNvaW50LmNvbT4sIEV4YWNxIFRlY2hub2xvZ2llcwotICogQ29weXJpZ2h0IChDKSAyMDE2LTIwMTksIERhbmllbCBTdGVuYmVyZywgPGRhbmllbEBoYXh4LnNlPiwgZXQgYWwuCisgKiBDb3B5cmlnaHQgKEMpIDIwMTYtMjAyMCwgRGFuaWVsIFN0ZW5iZXJnLCA8ZGFuaWVsQGhheHguc2U+LCBldCBhbC4KICAqCiAgKiBUaGlzIHNvZnR3YXJlIGlzIGxpY2Vuc2VkIGFzIGRlc2NyaWJlZCBpbiB0aGUgZmlsZSBDT1BZSU5HLCB3aGljaAogICogeW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGFzIHBhcnQgb2YgdGhpcyBkaXN0cmlidXRpb24uIFRoZSB0ZXJtcwpAQCAtOTY0LDcgKzk2NCw3IEBACiAKICAgLyogVVJMIGRlY29kZSB0aGUgcGF0aCAqLwogICBDVVJMY29kZSByZXN1bHQgPSBDdXJsX3VybGRlY29kZShkYXRhLCBkYXRhLT5zdGF0ZS51cC5wYXRoLCAwLCAmcGF0aCwgTlVMTCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVFJVRSk7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJFSkVDVF9DVFJMKTsKICAgaWYocmVzdWx0KQogICAgIHJldHVybiByZXN1bHQ7CiAKZGlmZiAtLWdpdCBhL2xpYi9zbXRwLmMgYi9saWIvc210cC5jCmluZGV4IGJmNjVmMjQuLjY4NTUxM2IgMTAwNjQ0Ci0tLSBhL2xpYi9zbXRwLmMKKysrIGIvbGliL3NtdHAuYwpAQCAtMTgzLDcgKzE4Myw3IEBACiAgIGNvbm4tPmhhbmRsZXIgPSAmQ3VybF9oYW5kbGVyX3NtdHBzOwogCiAgIC8qIFNldCB0aGUgY29ubmVjdGlvbidzIHVwZ3JhZGVkIHRvIFRMUyBmbGFnICovCi0gIGNvbm4tPnRsc191cGdyYWRlZCA9IFRSVUU7CisgIGNvbm4tPmJpdHMudGxzX3VwZ3JhZGVkID0gVFJVRTsKIH0KICNlbHNlCiAjZGVmaW5lIHNtdHBfdG9fc210cHMoeCkgQ3VybF9ub3Bfc3RtdApAQCAtMTYxNyw3ICsxNjE3LDcgQEAKICAgQ1VSTGNvZGUgcmVzdWx0OwogCiAgIC8qIENsZWFyIHRoZSBUTFMgdXBncmFkZWQgZmxhZyAqLwotICBjb25uLT50bHNfdXBncmFkZWQgPSBGQUxTRTsKKyAgY29ubi0+Yml0cy50bHNfdXBncmFkZWQgPSBGQUxTRTsKIAogICAvKiBJbml0aWFsaXNlIHRoZSBTTVRQIGxheWVyICovCiAgIHJlc3VsdCA9IHNtdHBfaW5pdChjb25uKTsKQEAgLTE2ODksNyArMTY4OSw4IEBACiAgIH0KIAogICAvKiBVUkwgZGVjb2RlIHRoZSBwYXRoIGFuZCB1c2UgaXQgYXMgdGhlIGRvbWFpbiBpbiBvdXIgRUhMTyAqLwotICByZXR1cm4gQ3VybF91cmxkZWNvZGUoY29ubi0+ZGF0YSwgcGF0aCwgMCwgJnNtdHBjLT5kb21haW4sIE5VTEwsIFRSVUUpOworICByZXR1cm4gQ3VybF91cmxkZWNvZGUoY29ubi0+ZGF0YSwgcGF0aCwgMCwgJnNtdHBjLT5kb21haW4sIE5VTEwsCisgICAgICAgICAgICAgICAgICAgICAgICBSRUpFQ1RfQ1RSTCk7CiB9CiAKIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgpAQCAtMTcwNyw3ICsxNzA4LDcgQEAKIAogICAvKiBVUkwgZGVjb2RlIHRoZSBjdXN0b20gcmVxdWVzdCAqLwogICBpZihjdXN0b20pCi0gICAgcmVzdWx0ID0gQ3VybF91cmxkZWNvZGUoZGF0YSwgY3VzdG9tLCAwLCAmc210cC0+Y3VzdG9tLCBOVUxMLCBUUlVFKTsKKyAgICByZXN1bHQgPSBDdXJsX3VybGRlY29kZShkYXRhLCBjdXN0b20sIDAsICZzbXRwLT5jdXN0b20sIE5VTEwsIFJFSkVDVF9DVFJMKTsKIAogICByZXR1cm4gcmVzdWx0OwogfQpkaWZmIC0tZ2l0IGEvbGliL3NvY2tzLmMgYi9saWIvc29ja3MuYwppbmRleCAxOGFmZmJjLi5iMjIxNWZlIDEwMDY0NAotLS0gYS9saWIvc29ja3MuYworKysgYi9saWIvc29ja3MuYwpAQCAtNjksNyArNjksNyBAQAogICAgICAgYnJlYWs7CiAgICAgfQogICAgIGlmKCF0aW1lb3V0X21zKQotICAgICAgdGltZW91dF9tcyA9IFRJTUVfVF9NQVg7CisgICAgICB0aW1lb3V0X21zID0gVElNRURJRkZfVF9NQVg7CiAgICAgaWYoU09DS0VUX1JFQURBQkxFKHNvY2tmZCwgdGltZW91dF9tcykgPD0gMCkgewogICAgICAgcmVzdWx0ID0gfkNVUkxFX09LOwogICAgICAgYnJlYWs7CkBAIC0yNzEsNyArMjcxLDcgQEAKICAgICAvKiBGQUxMVEhST1VHSCAqLwogICBDT05ORUNUX1JFU09MVkVEOgogICBjYXNlIENPTk5FQ1RfUkVTT0xWRUQ6IHsKLSAgICBDdXJsX2FkZHJpbmZvICpocCA9IE5VTEw7CisgICAgc3RydWN0IEN1cmxfYWRkcmluZm8gKmhwID0gTlVMTDsKICAgICBjaGFyIGJ1Zls2NF07CiAgICAgLyoKICAgICAgKiBXZSBjYW5ub3QgdXNlICdob3N0ZW50JyBhcyBhIHN0cnVjdCB0aGF0IEN1cmxfcmVzb2x2KCkgcmV0dXJucy4gIEl0CkBAIC0zODIsNiArMzgyLDExIEBACiAgICAgICAgICAgICBjdXJsX2Vhc3lfc3RyZXJyb3IocmVzdWx0KSk7CiAgICAgICByZXR1cm4gQ1VSTEVfQ09VTEROVF9DT05ORUNUOwogICAgIH0KKyAgICBlbHNlIGlmKCFyZXN1bHQgJiYgIWFjdHVhbHJlYWQpIHsKKyAgICAgIC8qIGNvbm5lY3Rpb24gY2xvc2VkICovCisgICAgICBmYWlsZihkYXRhLCAiY29ubmVjdGlvbiB0byBwcm94eSBjbG9zZWQiKTsKKyAgICAgIHJldHVybiBDVVJMRV9DT1VMRE5UX0NPTk5FQ1Q7CisgICAgfQogICAgIGVsc2UgaWYoYWN0dWFscmVhZCAhPSBzeC0+b3V0c3RhbmRpbmcpIHsKICAgICAgIC8qIHJlbWFpbiBpbiByZWFkaW5nIHN0YXRlICovCiAgICAgICBzeC0+b3V0c3RhbmRpbmcgLT0gYWN0dWFscmVhZDsKQEAgLTU5Miw2ICs1OTcsMTEgQEAKICAgICAgIGZhaWxmKGRhdGEsICJVbmFibGUgdG8gcmVjZWl2ZSBpbml0aWFsIFNPQ0tTNSByZXNwb25zZS4iKTsKICAgICAgIHJldHVybiBDVVJMRV9DT1VMRE5UX0NPTk5FQ1Q7CiAgICAgfQorICAgIGVsc2UgaWYoIXJlc3VsdCAmJiAhYWN0dWFscmVhZCkgeworICAgICAgLyogY29ubmVjdGlvbiBjbG9zZWQgKi8KKyAgICAgIGZhaWxmKGRhdGEsICJDb25uZWN0aW9uIHRvIHByb3h5IGNsb3NlZCIpOworICAgICAgcmV0dXJuIENVUkxFX0NPVUxETlRfQ09OTkVDVDsKKyAgICB9CiAgICAgZWxzZSBpZihhY3R1YWxyZWFkICE9IHN4LT5vdXRzdGFuZGluZykgewogICAgICAgLyogcmVtYWluIGluIHJlYWRpbmcgc3RhdGUgKi8KICAgICAgIHN4LT5vdXRzdGFuZGluZyAtPSBhY3R1YWxyZWFkOwpAQCAtNjMzLDExICs2NDMsMTAgQEAKICAgICAgICAgZmFpbGYoZGF0YSwgIk5vIGF1dGhlbnRpY2F0aW9uIG1ldGhvZCB3YXMgYWNjZXB0YWJsZS4iKTsKICAgICAgICAgcmV0dXJuIENVUkxFX0NPVUxETlRfQ09OTkVDVDsKICAgICAgIH0KLSAgICAgIGZhaWxmKGRhdGEsCi0gICAgICAgICAgICAiVW5kb2N1bWVudGVkIFNPQ0tTNSBtb2RlIGF0dGVtcHRlZCB0byBiZSB1c2VkIGJ5IHNlcnZlci4iKTsKLSAgICAgIHJldHVybiBDVVJMRV9DT1VMRE5UX0NPTk5FQ1Q7CiAgICAgfQotICAgIGJyZWFrOworICAgIGZhaWxmKGRhdGEsCisgICAgICAgICAgIlVuZG9jdW1lbnRlZCBTT0NLUzUgbW9kZSBhdHRlbXB0ZWQgdG8gYmUgdXNlZCBieSBzZXJ2ZXIuIik7CisgICAgcmV0dXJuIENVUkxFX0NPVUxETlRfQ09OTkVDVDsKICNpZiBkZWZpbmVkKEhBVkVfR1NTQVBJKSB8fCBkZWZpbmVkKFVTRV9XSU5ET1dTX1NTUEkpCiAgIGNhc2UgQ09OTkVDVF9HU1NBUElfSU5JVDoKICAgICAvKiBHU1NBUEkgc3R1ZmYgZG9uZSBub24tYmxvY2tpbmcgKi8KQEAgLTcxOCwxNSArNzI3LDE5IEBACiAgICAgICBmYWlsZihkYXRhLCAiVW5hYmxlIHRvIHJlY2VpdmUgU09DS1M1IHN1Yi1uZWdvdGlhdGlvbiByZXNwb25zZS4iKTsKICAgICAgIHJldHVybiBDVVJMRV9DT1VMRE5UX0NPTk5FQ1Q7CiAgICAgfQotICAgIGlmKGFjdHVhbHJlYWQgIT0gc3gtPm91dHN0YW5kaW5nKSB7CisgICAgZWxzZSBpZighcmVzdWx0ICYmICFhY3R1YWxyZWFkKSB7CisgICAgICAvKiBjb25uZWN0aW9uIGNsb3NlZCAqLworICAgICAgZmFpbGYoZGF0YSwgImNvbm5lY3Rpb24gdG8gcHJveHkgY2xvc2VkIik7CisgICAgICByZXR1cm4gQ1VSTEVfQ09VTEROVF9DT05ORUNUOworICAgIH0KKyAgICBlbHNlIGlmKGFjdHVhbHJlYWQgIT0gc3gtPm91dHN0YW5kaW5nKSB7CiAgICAgICAvKiByZW1haW4gaW4gc3RhdGUgKi8KICAgICAgIHN4LT5vdXRzdGFuZGluZyAtPSBhY3R1YWxyZWFkOwogICAgICAgc3gtPm91dHAgKz0gYWN0dWFscmVhZDsKICAgICAgIHJldHVybiBDVVJMRV9PSzsKICAgICB9Ci0KICAgICAvKiBpZ25vcmUgdGhlIGZpcnN0IChWRVIpIGJ5dGUgKi8KLSAgICBpZihzb2Nrc3JlcVsxXSAhPSAwKSB7IC8qIHN0YXR1cyAqLworICAgIGVsc2UgaWYoc29ja3NyZXFbMV0gIT0gMCkgeyAvKiBzdGF0dXMgKi8KICAgICAgIGZhaWxmKGRhdGEsICJVc2VyIHdhcyByZWplY3RlZCBieSB0aGUgU09DS1M1IHNlcnZlciAoJWQgJWQpLiIsCiAgICAgICAgICAgICBzb2Nrc3JlcVswXSwgc29ja3NyZXFbMV0pOwogICAgICAgcmV0dXJuIENVUkxFX0NPVUxETlRfQ09OTkVDVDsKQEAgLTc3Myw3ICs3ODYsOCBAQAogICAgIC8qIEZBTExUSFJPVUdIICovCiAgIENPTk5FQ1RfUkVTT0xWRUQ6CiAgIGNhc2UgQ09OTkVDVF9SRVNPTFZFRDogewotICAgIEN1cmxfYWRkcmluZm8gKmhwID0gTlVMTDsKKyAgICBzdHJ1Y3QgQ3VybF9hZGRyaW5mbyAqaHAgPSBOVUxMOworICAgIHNpemVfdCBkZXN0bGVuOwogICAgIGlmKGRucykKICAgICAgIGhwID0gZG5zLT5hZGRyOwogICAgIGlmKCFocCkgewpAQCAtNzgyLDEzICs3OTYsOSBAQAogICAgICAgcmV0dXJuIENVUkxFX0NPVUxETlRfUkVTT0xWRV9IT1NUOwogICAgIH0KIAotICAgIGlmKEN1cmxfcHJpbnRhYmxlX2FkZHJlc3MoaHAsIGRlc3QsIHNpemVvZihkZXN0KSkpIHsKLSAgICAgIHNpemVfdCBkZXN0bGVuID0gc3RybGVuKGRlc3QpOwotICAgICAgbXNucHJpbnRmKGRlc3QgKyBkZXN0bGVuLCBzaXplb2YoZGVzdCkgLSBkZXN0bGVuLCAiOiVkIiwgcmVtb3RlX3BvcnQpOwotICAgIH0KLSAgICBlbHNlIHsKLSAgICAgIHN0cmNweShkZXN0LCAidW5rbm93biIpOwotICAgIH0KKyAgICBDdXJsX3ByaW50YWJsZV9hZGRyZXNzKGhwLCBkZXN0LCBzaXplb2YoZGVzdCkpOworICAgIGRlc3RsZW4gPSBzdHJsZW4oZGVzdCk7CisgICAgbXNucHJpbnRmKGRlc3QgKyBkZXN0bGVuLCBzaXplb2YoZGVzdCkgLSBkZXN0bGVuLCAiOiVkIiwgcmVtb3RlX3BvcnQpOwogCiAgICAgbGVuID0gMDsKICAgICBzb2Nrc3JlcVtsZW4rK10gPSA1OyAvKiB2ZXJzaW9uIChTT0NLUzUpICovCkBAIC04OTQsNiArOTA0LDExIEBACiAgICAgICBmYWlsZihkYXRhLCAiRmFpbGVkIHRvIHJlY2VpdmUgU09DS1M1IGNvbm5lY3QgcmVxdWVzdCBhY2suIik7CiAgICAgICByZXR1cm4gQ1VSTEVfQ09VTEROVF9DT05ORUNUOwogICAgIH0KKyAgICBlbHNlIGlmKCFyZXN1bHQgJiYgIWFjdHVhbHJlYWQpIHsKKyAgICAgIC8qIGNvbm5lY3Rpb24gY2xvc2VkICovCisgICAgICBmYWlsZihkYXRhLCAiY29ubmVjdGlvbiB0byBwcm94eSBjbG9zZWQiKTsKKyAgICAgIHJldHVybiBDVVJMRV9DT1VMRE5UX0NPTk5FQ1Q7CisgICAgfQogICAgIGVsc2UgaWYoYWN0dWFscmVhZCAhPSBzeC0+b3V0c3RhbmRpbmcpIHsKICAgICAgIC8qIHJlbWFpbiBpbiBzdGF0ZSAqLwogICAgICAgc3gtPm91dHN0YW5kaW5nIC09IGFjdHVhbHJlYWQ7CkBAIC05MzgsNiArOTUzLDEzIEBACiAgICAgICAvKiBJUHY2ICovCiAgICAgICBsZW4gPSA0ICsgMTYgKyAyOwogICAgIH0KKyAgICBlbHNlIGlmKHNvY2tzcmVxWzNdID09IDEpIHsKKyAgICAgIGxlbiA9IDQgKyA0ICsgMjsKKyAgICB9CisgICAgZWxzZSB7CisgICAgICBmYWlsZihkYXRhLCAiU09DS1M1IHJlcGx5IGhhcyB3cm9uZyBhZGRyZXNzIHR5cGUuIik7CisgICAgICByZXR1cm4gQ1VSTEVfQ09VTEROVF9DT05ORUNUOworICAgIH0KIAogICAgIC8qIEF0IHRoaXMgcG9pbnQgd2UgYWxyZWFkeSByZWFkIGZpcnN0IDEwIGJ5dGVzICovCiAjaWYgZGVmaW5lZChIQVZFX0dTU0FQSSkgfHwgZGVmaW5lZChVU0VfV0lORE9XU19TU1BJKQpAQCAtOTY0LDcgKzk4NiwxMiBAQAogICAgICAgZmFpbGYoZGF0YSwgIkZhaWxlZCB0byByZWNlaXZlIFNPQ0tTNSBjb25uZWN0IHJlcXVlc3QgYWNrLiIpOwogICAgICAgcmV0dXJuIENVUkxFX0NPVUxETlRfQ09OTkVDVDsKICAgICB9Ci0gICAgaWYoYWN0dWFscmVhZCAhPSBzeC0+b3V0c3RhbmRpbmcpIHsKKyAgICBlbHNlIGlmKCFyZXN1bHQgJiYgIWFjdHVhbHJlYWQpIHsKKyAgICAgIC8qIGNvbm5lY3Rpb24gY2xvc2VkICovCisgICAgICBmYWlsZihkYXRhLCAiY29ubmVjdGlvbiB0byBwcm94eSBjbG9zZWQiKTsKKyAgICAgIHJldHVybiBDVVJMRV9DT1VMRE5UX0NPTk5FQ1Q7CisgICAgfQorICAgIGVsc2UgaWYoYWN0dWFscmVhZCAhPSBzeC0+b3V0c3RhbmRpbmcpIHsKICAgICAgIC8qIHJlbWFpbiBpbiBzdGF0ZSAqLwogICAgICAgc3gtPm91dHN0YW5kaW5nIC09IGFjdHVhbHJlYWQ7CiAgICAgICBzeC0+b3V0cCArPSBhY3R1YWxyZWFkOwpkaWZmIC0tZ2l0IGEvbGliL3NvY2tzX2dzc2FwaS5jIGIvbGliL3NvY2tzX2dzc2FwaS5jCmluZGV4IDdmNjY2NzUuLjJlMzZiOTkgMTAwNjQ0Ci0tLSBhL2xpYi9zb2Nrc19nc3NhcGkuYworKysgYi9saWIvc29ja3NfZ3NzYXBpLmMKQEAgLTExNSw3ICsxMTUsNyBAQAogICBnc3NfYnVmZmVyX2Rlc2MgIGdzc19zZW5kX3Rva2VuID0gR1NTX0NfRU1QVFlfQlVGRkVSOwogICBnc3NfYnVmZmVyX2Rlc2MgIGdzc19yZWN2X3Rva2VuID0gR1NTX0NfRU1QVFlfQlVGRkVSOwogICBnc3NfYnVmZmVyX2Rlc2MgIGdzc193X3Rva2VuID0gR1NTX0NfRU1QVFlfQlVGRkVSOwotICBnc3NfYnVmZmVyX2Rlc2MqIGdzc190b2tlbiA9IEdTU19DX05PX0JVRkZFUjsKKyAgZ3NzX2J1ZmZlcl9kZXNjICpnc3NfdG9rZW4gPSBHU1NfQ19OT19CVUZGRVI7CiAgIGdzc19uYW1lX3QgICAgICAgc2VydmVyID0gR1NTX0NfTk9fTkFNRTsKICAgZ3NzX25hbWVfdCAgICAgICBnc3NfY2xpZW50X25hbWUgPSBHU1NfQ19OT19OQU1FOwogICB1bnNpZ25lZCBzaG9ydCAgIHVzX2xlbmd0aDsKQEAgLTMyOCw3ICszMjgsNyBAQAogICB1c2VyW2dzc19zZW5kX3Rva2VuLmxlbmd0aF0gPSAnXDAnOwogICBnc3NfcmVsZWFzZV9uYW1lKCZnc3Nfc3RhdHVzLCAmZ3NzX2NsaWVudF9uYW1lKTsKICAgZ3NzX3JlbGVhc2VfYnVmZmVyKCZnc3Nfc3RhdHVzLCAmZ3NzX3NlbmRfdG9rZW4pOwotICBpbmZvZihkYXRhLCAiU09DS1M1IHNlcnZlciBhdXRoZW5jdGljYXRlZCB1c2VyICVzIHdpdGggR1NTLUFQSS5cbiIsdXNlcik7CisgIGluZm9mKGRhdGEsICJTT0NLUzUgc2VydmVyIGF1dGhlbnRpY2F0ZWQgdXNlciAlcyB3aXRoIEdTUy1BUEkuXG4iLHVzZXIpOwogICBmcmVlKHVzZXIpOwogICB1c2VyID0gTlVMTDsKIApkaWZmIC0tZ2l0IGEvbGliL3NvY2tzX3NzcGkuYyBiL2xpYi9zb2Nrc19zc3BpLmMKaW5kZXggZDViZTY0YS4uMmYxZmQzNiAxMDA2NDQKLS0tIGEvbGliL3NvY2tzX3NzcGkuYworKysgYi9saWIvc29ja3Nfc3NwaS5jCkBAIC0xNjAsNyArMTYwLDcgQEAKICAgZm9yKDs7KSB7CiAgICAgVENIQVIgKnNuYW1lOwogCi0gICAgc25hbWUgPSBDdXJsX2NvbnZlcnRfVVRGOF90b190Y2hhcihzZXJ2aWNlX25hbWUpOworICAgIHNuYW1lID0gY3VybHhfY29udmVydF9VVEY4X3RvX3RjaGFyKHNlcnZpY2VfbmFtZSk7CiAgICAgaWYoIXNuYW1lKQogICAgICAgcmV0dXJuIENVUkxFX09VVF9PRl9NRU1PUlk7CiAKQEAgLTE4MCw3ICsxODAsNyBAQAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZzc3BpX3JldF9mbGFncywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmZXhwaXJ5KTsKIAotICAgIEN1cmxfdW5pY29kZWZyZWUoc25hbWUpOworICAgIGN1cmx4X3VuaWNvZGVmcmVlKHNuYW1lKTsKIAogICAgIGlmKHNzcGlfcmVjdl90b2tlbi5wdkJ1ZmZlcikgewogICAgICAgc19wU2VjRm4tPkZyZWVDb250ZXh0QnVmZmVyKHNzcGlfcmVjdl90b2tlbi5wdkJ1ZmZlcik7CkBAIC0zMjcsNyArMzI3LDcgQEAKICAgICBmYWlsZihkYXRhLCAiRmFpbGVkIHRvIGRldGVybWluZSB1c2VyIG5hbWUuIik7CiAgICAgcmV0dXJuIENVUkxFX0NPVUxETlRfQ09OTkVDVDsKICAgfQotICBpbmZvZihkYXRhLCAiU09DS1M1IHNlcnZlciBhdXRoZW5jdGljYXRlZCB1c2VyICVzIHdpdGggR1NTLUFQSS5cbiIsCisgIGluZm9mKGRhdGEsICJTT0NLUzUgc2VydmVyIGF1dGhlbnRpY2F0ZWQgdXNlciAlcyB3aXRoIEdTUy1BUEkuXG4iLAogICAgICAgICBuYW1lcy5zVXNlck5hbWUpOwogICBzX3BTZWNGbi0+RnJlZUNvbnRleHRCdWZmZXIobmFtZXMuc1VzZXJOYW1lKTsKIApkaWZmIC0tZ2l0IGEvbGliL3N0cmVycm9yLmMgYi9saWIvc3RyZXJyb3IuYwppbmRleCAxYTE2NmJmLi4wMTVlNTg4IDEwMDY0NAotLS0gYS9saWIvc3RyZXJyb3IuYworKysgYi9saWIvc3RyZXJyb3IuYwpAQCAtNzk1LDcgKzc5NSw3IEBACiAKICNlbmRpZiAvKiBlbmQgb2Ygbm90IFdpbmRvd3MgKi8KIAotICBidWZbbWF4XSA9ICdcMCc7IC8qIG1ha2Ugc3VyZSB0aGUgc3RyaW5nIGlzIHplcm8gdGVybWluYXRlZCAqLworICBidWZbbWF4XSA9ICdcMCc7IC8qIG1ha2Ugc3VyZSB0aGUgc3RyaW5nIGlzIG51bGwtdGVybWluYXRlZCAqLwogCiAgIC8qIHN0cmlwIHRyYWlsaW5nICdcclxuJyBvciAnXG4nLiAqLwogICBwID0gc3RycmNocihidWYsICdcbicpOwpkaWZmIC0tZ2l0IGEvbGliL3N0cnRvay5jIGIvbGliL3N0cnRvay5jCmluZGV4IGJlOGY0ODEuLmJhNmUwMjUgMTAwNjQ0Ci0tLSBhL2xpYi9zdHJ0b2suYworKysgYi9saWIvc3RydG9rLmMKQEAgLTUsNyArNSw3IEBACiAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICB8IChfX3wgfF98IHwgIF8gPHwgfF9fXwogICogICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxfX198XF9fXy98X3wgXF9cX19fX198CiAgKgotICogQ29weXJpZ2h0IChDKSAxOTk4IC0gMjAxOSwgRGFuaWVsIFN0ZW5iZXJnLCA8ZGFuaWVsQGhheHguc2U+LCBldCBhbC4KKyAqIENvcHlyaWdodCAoQykgMTk5OCAtIDIwMjAsIERhbmllbCBTdGVuYmVyZywgPGRhbmllbEBoYXh4LnNlPiwgZXQgYWwuCiAgKgogICogVGhpcyBzb2Z0d2FyZSBpcyBsaWNlbnNlZCBhcyBkZXNjcmliZWQgaW4gdGhlIGZpbGUgQ09QWUlORywgd2hpY2gKICAqIHlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhcyBwYXJ0IG9mIHRoaXMgZGlzdHJpYnV0aW9uLiBUaGUgdGVybXMKQEAgLTUyLDcgKzUyLDcgQEAKIAogICAgIGlmKCoqZW5kKSB7CiAgICAgICAvKiB0aGUgZW5kIGlzIG5vdCBhIG51bGwgYnl0ZSAqLwotICAgICAgKiplbmQgPSAnXDAnOyAgLyogemVybyB0ZXJtaW5hdGUgaXQhICovCisgICAgICAqKmVuZCA9ICdcMCc7ICAvKiBudWxsLXRlcm1pbmF0ZSBpdCEgKi8KICAgICAgICsrKmVuZDsgICAgICAgIC8qIGFkdmFuY2UgdGhlIGxhc3QgcG9pbnRlciB0byBiZXlvbmQgdGhlIG51bGwgYnl0ZSAqLwogICAgIH0KIApkaWZmIC0tZ2l0IGEvbGliL3RlbG5ldC5jIGIvbGliL3RlbG5ldC5jCmluZGV4IDRiZjRjNjUuLmMzYjU4ZTUgMTAwNjQ0Ci0tLSBhL2xpYi90ZWxuZXQuYworKysgYi9saWIvdGVsbmV0LmMKQEAgLTUsNyArNSw3IEBACiAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICB8IChfX3wgfF98IHwgIF8gPHwgfF9fXwogICogICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxfX198XF9fXy98X3wgXF9cX19fX198CiAgKgotICogQ29weXJpZ2h0IChDKSAxOTk4IC0gMjAxOSwgRGFuaWVsIFN0ZW5iZXJnLCA8ZGFuaWVsQGhheHguc2U+LCBldCBhbC4KKyAqIENvcHlyaWdodCAoQykgMTk5OCAtIDIwMjAsIERhbmllbCBTdGVuYmVyZywgPGRhbmllbEBoYXh4LnNlPiwgZXQgYWwuCiAgKgogICogVGhpcyBzb2Z0d2FyZSBpcyBsaWNlbnNlZCBhcyBkZXNjcmliZWQgaW4gdGhlIGZpbGUgQ09QWUlORywgd2hpY2gKICAqIHlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhcyBwYXJ0IG9mIHRoaXMgZGlzdHJpYnV0aW9uLiBUaGUgdGVybXMKQEAgLTEzMTUsNyArMTMxNSw3IEBACiAgIERXT1JEIHJlYWRmaWxlX3JlYWQ7CiAgIGludCBlcnI7CiAjZWxzZQotICBpbnQgaW50ZXJ2YWxfbXM7CisgIHRpbWVkaWZmX3QgaW50ZXJ2YWxfbXM7CiAgIHN0cnVjdCBwb2xsZmQgcGZkWzJdOwogICBpbnQgcG9sbF9jbnQ7CiAgIGN1cmxfb2ZmX3QgdG90YWxfZGwgPSAwOwpkaWZmIC0tZ2l0IGEvbGliL3RmdHAuYyBiL2xpYi90ZnRwLmMKaW5kZXggMzQ2ZjI5My4uMzc4ZDk1NiAxMDA2NDQKLS0tIGEvbGliL3RmdHAuYworKysgYi9saWIvdGZ0cC5jCkBAIC01LDcgKzUsNyBAQAogICogICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAoX198IHxffCB8ICBfIDx8IHxfX18KICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcX19ffFxfX18vfF98IFxfXF9fX19ffAogICoKLSAqIENvcHlyaWdodCAoQykgMTk5OCAtIDIwMTksIERhbmllbCBTdGVuYmVyZywgPGRhbmllbEBoYXh4LnNlPiwgZXQgYWwuCisgKiBDb3B5cmlnaHQgKEMpIDE5OTggLSAyMDIwLCBEYW5pZWwgU3RlbmJlcmcsIDxkYW5pZWxAaGF4eC5zZT4sIGV0IGFsLgogICoKICAqIFRoaXMgc29mdHdhcmUgaXMgbGljZW5zZWQgYXMgZGVzY3JpYmVkIGluIHRoZSBmaWxlIENPUFlJTkcsIHdoaWNoCiAgKiB5b3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYXMgcGFydCBvZiB0aGlzIGRpc3RyaWJ1dGlvbi4gVGhlIHRlcm1zCkBAIC0xMTUsMTEgKzExNSwxMSBAQAogICBURlRQX0VSUl9OT1JFU1BPTlNFCiB9IHRmdHBfZXJyb3JfdDsKIAotdHlwZWRlZiBzdHJ1Y3QgdGZ0cF9wYWNrZXQgeworc3RydWN0IHRmdHBfcGFja2V0IHsKICAgdW5zaWduZWQgY2hhciAqZGF0YTsKLX0gdGZ0cF9wYWNrZXRfdDsKK307CiAKLXR5cGVkZWYgc3RydWN0IHRmdHBfc3RhdGVfZGF0YSB7CitzdHJ1Y3QgdGZ0cF9zdGF0ZV9kYXRhIHsKICAgdGZ0cF9zdGF0ZV90ICAgIHN0YXRlOwogICB0ZnRwX21vZGVfdCAgICAgbW9kZTsKICAgdGZ0cF9lcnJvcl90ICAgIGVycm9yOwpAQCAtMTQwLDIxICsxNDAsMjEgQEAKICAgaW50ICAgICAgICAgICAgIHNieXRlczsKICAgaW50ICAgICAgICAgICAgIGJsa3NpemU7CiAgIGludCAgICAgICAgICAgICByZXF1ZXN0ZWRfYmxrc2l6ZTsKLSAgdGZ0cF9wYWNrZXRfdCAgIHJwYWNrZXQ7Ci0gIHRmdHBfcGFja2V0X3QgICBzcGFja2V0OwotfSB0ZnRwX3N0YXRlX2RhdGFfdDsKKyAgc3RydWN0IHRmdHBfcGFja2V0IHJwYWNrZXQ7CisgIHN0cnVjdCB0ZnRwX3BhY2tldCBzcGFja2V0OworfTsKIAogCiAvKiBGb3J3YXJkIGRlY2xhcmF0aW9ucyAqLwotc3RhdGljIENVUkxjb2RlIHRmdHBfcngodGZ0cF9zdGF0ZV9kYXRhX3QgKnN0YXRlLCB0ZnRwX2V2ZW50X3QgZXZlbnQpOwotc3RhdGljIENVUkxjb2RlIHRmdHBfdHgodGZ0cF9zdGF0ZV9kYXRhX3QgKnN0YXRlLCB0ZnRwX2V2ZW50X3QgZXZlbnQpOworc3RhdGljIENVUkxjb2RlIHRmdHBfcngoc3RydWN0IHRmdHBfc3RhdGVfZGF0YSAqc3RhdGUsIHRmdHBfZXZlbnRfdCBldmVudCk7CitzdGF0aWMgQ1VSTGNvZGUgdGZ0cF90eChzdHJ1Y3QgdGZ0cF9zdGF0ZV9kYXRhICpzdGF0ZSwgdGZ0cF9ldmVudF90IGV2ZW50KTsKIHN0YXRpYyBDVVJMY29kZSB0ZnRwX2Nvbm5lY3Qoc3RydWN0IGNvbm5lY3RkYXRhICpjb25uLCBib29sICpkb25lKTsKIHN0YXRpYyBDVVJMY29kZSB0ZnRwX2Rpc2Nvbm5lY3Qoc3RydWN0IGNvbm5lY3RkYXRhICpjb25uLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBib29sIGRlYWRfY29ubmVjdGlvbik7CiBzdGF0aWMgQ1VSTGNvZGUgdGZ0cF9kbyhzdHJ1Y3QgY29ubmVjdGRhdGEgKmNvbm4sIGJvb2wgKmRvbmUpOwogc3RhdGljIENVUkxjb2RlIHRmdHBfZG9uZShzdHJ1Y3QgY29ubmVjdGRhdGEgKmNvbm4sCiAgICAgICAgICAgICAgICAgICAgICAgICAgIENVUkxjb2RlLCBib29sIHByZW1hdHVyZSk7Ci1zdGF0aWMgQ1VSTGNvZGUgdGZ0cF9zZXR1cF9jb25uZWN0aW9uKHN0cnVjdCBjb25uZWN0ZGF0YSAqIGNvbm4pOworc3RhdGljIENVUkxjb2RlIHRmdHBfc2V0dXBfY29ubmVjdGlvbihzdHJ1Y3QgY29ubmVjdGRhdGEgKmNvbm4pOwogc3RhdGljIENVUkxjb2RlIHRmdHBfbXVsdGlfc3RhdGVtYWNoKHN0cnVjdCBjb25uZWN0ZGF0YSAqY29ubiwgYm9vbCAqZG9uZSk7CiBzdGF0aWMgQ1VSTGNvZGUgdGZ0cF9kb2luZyhzdHJ1Y3QgY29ubmVjdGRhdGEgKmNvbm4sIGJvb2wgKmRvcGhhc2VfZG9uZSk7CiBzdGF0aWMgaW50IHRmdHBfZ2V0c29jayhzdHJ1Y3QgY29ubmVjdGRhdGEgKmNvbm4sIGN1cmxfc29ja2V0X3QgKnNvY2tzKTsKQEAgLTE5Niw3ICsxOTYsNyBAQAogICoKICAqCiAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KLXN0YXRpYyBDVVJMY29kZSB0ZnRwX3NldF90aW1lb3V0cyh0ZnRwX3N0YXRlX2RhdGFfdCAqc3RhdGUpCitzdGF0aWMgQ1VSTGNvZGUgdGZ0cF9zZXRfdGltZW91dHMoc3RydWN0IHRmdHBfc3RhdGVfZGF0YSAqc3RhdGUpCiB7CiAgIHRpbWVfdCBtYXh0aW1lLCB0aW1lb3V0OwogICB0aW1lZGlmZl90IHRpbWVvdXRfbXM7CkBAIC0yNzksMjUgKzI3OSwyNSBAQAogICoKICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLwogCi1zdGF0aWMgdm9pZCBzZXRwYWNrZXRldmVudCh0ZnRwX3BhY2tldF90ICpwYWNrZXQsIHVuc2lnbmVkIHNob3J0IG51bSkKK3N0YXRpYyB2b2lkIHNldHBhY2tldGV2ZW50KHN0cnVjdCB0ZnRwX3BhY2tldCAqcGFja2V0LCB1bnNpZ25lZCBzaG9ydCBudW0pCiB7CiAgIHBhY2tldC0+ZGF0YVswXSA9ICh1bnNpZ25lZCBjaGFyKShudW0gPj4gOCk7CiAgIHBhY2tldC0+ZGF0YVsxXSA9ICh1bnNpZ25lZCBjaGFyKShudW0gJiAweGZmKTsKIH0KIAogCi1zdGF0aWMgdm9pZCBzZXRwYWNrZXRibG9jayh0ZnRwX3BhY2tldF90ICpwYWNrZXQsIHVuc2lnbmVkIHNob3J0IG51bSkKK3N0YXRpYyB2b2lkIHNldHBhY2tldGJsb2NrKHN0cnVjdCB0ZnRwX3BhY2tldCAqcGFja2V0LCB1bnNpZ25lZCBzaG9ydCBudW0pCiB7CiAgIHBhY2tldC0+ZGF0YVsyXSA9ICh1bnNpZ25lZCBjaGFyKShudW0gPj4gOCk7CiAgIHBhY2tldC0+ZGF0YVszXSA9ICh1bnNpZ25lZCBjaGFyKShudW0gJiAweGZmKTsKIH0KIAotc3RhdGljIHVuc2lnbmVkIHNob3J0IGdldHJwYWNrZXRldmVudChjb25zdCB0ZnRwX3BhY2tldF90ICpwYWNrZXQpCitzdGF0aWMgdW5zaWduZWQgc2hvcnQgZ2V0cnBhY2tldGV2ZW50KGNvbnN0IHN0cnVjdCB0ZnRwX3BhY2tldCAqcGFja2V0KQogewogICByZXR1cm4gKHVuc2lnbmVkIHNob3J0KSgocGFja2V0LT5kYXRhWzBdIDw8IDgpIHwgcGFja2V0LT5kYXRhWzFdKTsKIH0KIAotc3RhdGljIHVuc2lnbmVkIHNob3J0IGdldHJwYWNrZXRibG9jayhjb25zdCB0ZnRwX3BhY2tldF90ICpwYWNrZXQpCitzdGF0aWMgdW5zaWduZWQgc2hvcnQgZ2V0cnBhY2tldGJsb2NrKGNvbnN0IHN0cnVjdCB0ZnRwX3BhY2tldCAqcGFja2V0KQogewogICByZXR1cm4gKHVuc2lnbmVkIHNob3J0KSgocGFja2V0LT5kYXRhWzJdIDw8IDgpIHwgcGFja2V0LT5kYXRhWzNdKTsKIH0KQEAgLTMzMCw3ICszMzAsNyBAQAogICByZXR1cm4gJmJ1Zltsb2NdOwogfQogCi1zdGF0aWMgQ1VSTGNvZGUgdGZ0cF9wYXJzZV9vcHRpb25fYWNrKHRmdHBfc3RhdGVfZGF0YV90ICpzdGF0ZSwKK3N0YXRpYyBDVVJMY29kZSB0ZnRwX3BhcnNlX29wdGlvbl9hY2soc3RydWN0IHRmdHBfc3RhdGVfZGF0YSAqc3RhdGUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGNoYXIgKnB0ciwgaW50IGxlbikKIHsKICAgY29uc3QgY2hhciAqdG1wID0gcHRyOwpAQCAtNDAzLDcgKzQwMyw3IEBACiAgIHJldHVybiBDVVJMRV9PSzsKIH0KIAotc3RhdGljIENVUkxjb2RlIHRmdHBfb3B0aW9uX2FkZCh0ZnRwX3N0YXRlX2RhdGFfdCAqc3RhdGUsIHNpemVfdCAqY3NpemUsCitzdGF0aWMgQ1VSTGNvZGUgdGZ0cF9vcHRpb25fYWRkKHN0cnVjdCB0ZnRwX3N0YXRlX2RhdGEgKnN0YXRlLCBzaXplX3QgKmNzaXplLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjaGFyICpidWYsIGNvbnN0IGNoYXIgKm9wdGlvbikKIHsKICAgaWYoKCBzdHJsZW4ob3B0aW9uKSArICpjc2l6ZSArIDEpID4gKHNpemVfdClzdGF0ZS0+Ymxrc2l6ZSkKQEAgLTQxMyw3ICs0MTMsNyBAQAogICByZXR1cm4gQ1VSTEVfT0s7CiB9CiAKLXN0YXRpYyBDVVJMY29kZSB0ZnRwX2Nvbm5lY3RfZm9yX3R4KHRmdHBfc3RhdGVfZGF0YV90ICpzdGF0ZSwKK3N0YXRpYyBDVVJMY29kZSB0ZnRwX2Nvbm5lY3RfZm9yX3R4KHN0cnVjdCB0ZnRwX3N0YXRlX2RhdGEgKnN0YXRlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGZ0cF9ldmVudF90IGV2ZW50KQogewogICBDVVJMY29kZSByZXN1bHQ7CkBAIC00MjksNyArNDI5LDcgQEAKICAgcmV0dXJuIHRmdHBfdHgoc3RhdGUsIGV2ZW50KTsKIH0KIAotc3RhdGljIENVUkxjb2RlIHRmdHBfY29ubmVjdF9mb3JfcngodGZ0cF9zdGF0ZV9kYXRhX3QgKnN0YXRlLAorc3RhdGljIENVUkxjb2RlIHRmdHBfY29ubmVjdF9mb3Jfcngoc3RydWN0IHRmdHBfc3RhdGVfZGF0YSAqc3RhdGUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0ZnRwX2V2ZW50X3QgZXZlbnQpCiB7CiAgIENVUkxjb2RlIHJlc3VsdDsKQEAgLTQ0NSw3ICs0NDUsOCBAQAogICByZXR1cm4gdGZ0cF9yeChzdGF0ZSwgZXZlbnQpOwogfQogCi1zdGF0aWMgQ1VSTGNvZGUgdGZ0cF9zZW5kX2ZpcnN0KHRmdHBfc3RhdGVfZGF0YV90ICpzdGF0ZSwgdGZ0cF9ldmVudF90IGV2ZW50KQorc3RhdGljIENVUkxjb2RlIHRmdHBfc2VuZF9maXJzdChzdHJ1Y3QgdGZ0cF9zdGF0ZV9kYXRhICpzdGF0ZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGZ0cF9ldmVudF90IGV2ZW50KQogewogICBzaXplX3Qgc2J5dGVzOwogICBzc2l6ZV90IHNlbmRkYXRhOwpAQCAtNDg2LDcgKzQ4Nyw3IEBACiAgICAgICAgZmlsZSBuYW1lIHNvIHdlIHNraXAgdGhlIGFsd2F5cy1wcmVzZW50IGZpcnN0IGxldHRlciBvZiB0aGUgcGF0aAogICAgICAgIHN0cmluZy4gKi8KICAgICByZXN1bHQgPSBDdXJsX3VybGRlY29kZShkYXRhLCAmc3RhdGUtPmNvbm4tPmRhdGEtPnN0YXRlLnVwLnBhdGhbMV0sIDAsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgJmZpbGVuYW1lLCBOVUxMLCBGQUxTRSk7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgJmZpbGVuYW1lLCBOVUxMLCBSRUpFQ1RfWkVSTyk7CiAgICAgaWYocmVzdWx0KQogICAgICAgcmV0dXJuIHJlc3VsdDsKIApAQCAtNTk4LDcgKzU5OSw4IEBACiAgKiBFdmVudCBoYW5kbGVyIGZvciB0aGUgUlggc3RhdGUKICAqCiAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KLXN0YXRpYyBDVVJMY29kZSB0ZnRwX3J4KHRmdHBfc3RhdGVfZGF0YV90ICpzdGF0ZSwgdGZ0cF9ldmVudF90IGV2ZW50KQorc3RhdGljIENVUkxjb2RlIHRmdHBfcngoc3RydWN0IHRmdHBfc3RhdGVfZGF0YSAqc3RhdGUsCisgICAgICAgICAgICAgICAgICAgICAgICB0ZnRwX2V2ZW50X3QgZXZlbnQpCiB7CiAgIHNzaXplX3Qgc2J5dGVzOwogICBpbnQgcmJsb2NrOwpAQCAtNzIwLDcgKzcyMiw3IEBACiAgKiBFdmVudCBoYW5kbGVyIGZvciB0aGUgVFggc3RhdGUKICAqCiAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KLXN0YXRpYyBDVVJMY29kZSB0ZnRwX3R4KHRmdHBfc3RhdGVfZGF0YV90ICpzdGF0ZSwgdGZ0cF9ldmVudF90IGV2ZW50KQorc3RhdGljIENVUkxjb2RlIHRmdHBfdHgoc3RydWN0IHRmdHBfc3RhdGVfZGF0YSAqc3RhdGUsIHRmdHBfZXZlbnRfdCBldmVudCkKIHsKICAgc3RydWN0IEN1cmxfZWFzeSAqZGF0YSA9IHN0YXRlLT5jb25uLT5kYXRhOwogICBzc2l6ZV90IHNieXRlczsKQEAgLTkyMCw3ICs5MjIsNyBAQAogICogVGhlIHRmdHAgc3RhdGUgbWFjaGluZSBldmVudCBkaXNwYXRjaGVyCiAgKgogICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCi1zdGF0aWMgQ1VSTGNvZGUgdGZ0cF9zdGF0ZV9tYWNoaW5lKHRmdHBfc3RhdGVfZGF0YV90ICpzdGF0ZSwKK3N0YXRpYyBDVVJMY29kZSB0ZnRwX3N0YXRlX21hY2hpbmUoc3RydWN0IHRmdHBfc3RhdGVfZGF0YSAqc3RhdGUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRmdHBfZXZlbnRfdCBldmVudCkKIHsKICAgQ1VSTGNvZGUgcmVzdWx0ID0gQ1VSTEVfT0s7CkBAIC05NjEsNyArOTYzLDcgQEAKICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLwogc3RhdGljIENVUkxjb2RlIHRmdHBfZGlzY29ubmVjdChzdHJ1Y3QgY29ubmVjdGRhdGEgKmNvbm4sIGJvb2wgZGVhZF9jb25uZWN0aW9uKQogewotICB0ZnRwX3N0YXRlX2RhdGFfdCAqc3RhdGUgPSBjb25uLT5wcm90by50ZnRwYzsKKyAgc3RydWN0IHRmdHBfc3RhdGVfZGF0YSAqc3RhdGUgPSBjb25uLT5wcm90by50ZnRwYzsKICAgKHZvaWQpIGRlYWRfY29ubmVjdGlvbjsKIAogICAvKiBkb25lLCBmcmVlIGR5bmFtaWNhbGx5IGFsbG9jYXRlZCBwa3QgYnVmZmVycyAqLwpAQCAtOTgzLDEzICs5ODUsMTMgQEAKICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLwogc3RhdGljIENVUkxjb2RlIHRmdHBfY29ubmVjdChzdHJ1Y3QgY29ubmVjdGRhdGEgKmNvbm4sIGJvb2wgKmRvbmUpCiB7Ci0gIHRmdHBfc3RhdGVfZGF0YV90ICpzdGF0ZTsKKyAgc3RydWN0IHRmdHBfc3RhdGVfZGF0YSAqc3RhdGU7CiAgIGludCBibGtzaXplOwogICBpbnQgbmVlZF9ibGtzaXplOwogCiAgIGJsa3NpemUgPSBURlRQX0JMS1NJWkVfREVGQVVMVDsKIAotICBzdGF0ZSA9IGNvbm4tPnByb3RvLnRmdHBjID0gY2FsbG9jKDEsIHNpemVvZih0ZnRwX3N0YXRlX2RhdGFfdCkpOworICBzdGF0ZSA9IGNvbm4tPnByb3RvLnRmdHBjID0gY2FsbG9jKDEsIHNpemVvZihzdHJ1Y3QgdGZ0cF9zdGF0ZV9kYXRhKSk7CiAgIGlmKCFzdGF0ZSkKICAgICByZXR1cm4gQ1VSTEVfT1VUX09GX01FTU9SWTsKIApAQCAtMTA3OCw3ICsxMDgwLDcgQEAKICAgICAgICAgICAgICAgICAgICAgICAgICAgYm9vbCBwcmVtYXR1cmUpCiB7CiAgIENVUkxjb2RlIHJlc3VsdCA9IENVUkxFX09LOwotICB0ZnRwX3N0YXRlX2RhdGFfdCAqc3RhdGUgPSAodGZ0cF9zdGF0ZV9kYXRhX3QgKiljb25uLT5wcm90by50ZnRwYzsKKyAgc3RydWN0IHRmdHBfc3RhdGVfZGF0YSAqc3RhdGUgPSBjb25uLT5wcm90by50ZnRwYzsKIAogICAodm9pZClzdGF0dXM7IC8qIHVudXNlZCAqLwogICAodm9pZClwcmVtYXR1cmU7IC8qIG5vdCB1c2VkICovCkBAIC0xMTE5LDcgKzExMjEsNyBAQAogICBjdXJsX3NvY2tsZW5fdCAgICAgICAgZnJvbWxlbjsKICAgQ1VSTGNvZGUgICAgICAgICAgICAgIHJlc3VsdCA9IENVUkxFX09LOwogICBzdHJ1Y3QgQ3VybF9lYXN5ICAqZGF0YSA9IGNvbm4tPmRhdGE7Ci0gIHRmdHBfc3RhdGVfZGF0YV90ICAgICAqc3RhdGUgPSAodGZ0cF9zdGF0ZV9kYXRhX3QgKiljb25uLT5wcm90by50ZnRwYzsKKyAgc3RydWN0IHRmdHBfc3RhdGVfZGF0YSAqc3RhdGUgPSBjb25uLT5wcm90by50ZnRwYzsKICAgc3RydWN0IFNpbmdsZVJlcXVlc3QgICprID0gJmRhdGEtPnJlcTsKIAogICAvKiBSZWNlaXZlIHRoZSBwYWNrZXQgKi8KQEAgLTEyMDYsOCArMTIwOCw4IEBACiAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KIHN0YXRpYyBsb25nIHRmdHBfc3RhdGVfdGltZW91dChzdHJ1Y3QgY29ubmVjdGRhdGEgKmNvbm4sIHRmdHBfZXZlbnRfdCAqZXZlbnQpCiB7Ci0gIHRpbWVfdCAgICAgICAgICAgICAgICBjdXJyZW50OwotICB0ZnRwX3N0YXRlX2RhdGFfdCAgICAgKnN0YXRlID0gKHRmdHBfc3RhdGVfZGF0YV90ICopY29ubi0+cHJvdG8udGZ0cGM7CisgIHRpbWVfdCBjdXJyZW50OworICBzdHJ1Y3QgdGZ0cF9zdGF0ZV9kYXRhICpzdGF0ZSA9IGNvbm4tPnByb3RvLnRmdHBjOwogCiAgIGlmKGV2ZW50KQogICAgICpldmVudCA9IFRGVFBfRVZFTlRfTk9ORTsKQEAgLTEyNDQsNyArMTI0Niw3IEBACiAgIHRmdHBfZXZlbnRfdCAgICAgICAgICBldmVudDsKICAgQ1VSTGNvZGUgICAgICAgICAgICAgIHJlc3VsdCA9IENVUkxFX09LOwogICBzdHJ1Y3QgQ3VybF9lYXN5ICAqZGF0YSA9IGNvbm4tPmRhdGE7Ci0gIHRmdHBfc3RhdGVfZGF0YV90ICAgICAqc3RhdGUgPSAodGZ0cF9zdGF0ZV9kYXRhX3QgKiljb25uLT5wcm90by50ZnRwYzsKKyAgc3RydWN0IHRmdHBfc3RhdGVfZGF0YSAqc3RhdGUgPSBjb25uLT5wcm90by50ZnRwYzsKICAgbG9uZyAgICAgICAgICAgICAgICAgIHRpbWVvdXRfbXMgPSB0ZnRwX3N0YXRlX3RpbWVvdXQoY29ubiwgJmV2ZW50KTsKIAogICAqZG9uZSA9IEZBTFNFOwpAQCAtMTMyOCw3ICsxMzMwLDcgQEAKIHN0YXRpYyBDVVJMY29kZSB0ZnRwX3BlcmZvcm0oc3RydWN0IGNvbm5lY3RkYXRhICpjb25uLCBib29sICpkb3BoYXNlX2RvbmUpCiB7CiAgIENVUkxjb2RlICAgICAgICAgICAgICByZXN1bHQgPSBDVVJMRV9PSzsKLSAgdGZ0cF9zdGF0ZV9kYXRhX3QgICAgICpzdGF0ZSA9ICh0ZnRwX3N0YXRlX2RhdGFfdCAqKWNvbm4tPnByb3RvLnRmdHBjOworICBzdHJ1Y3QgdGZ0cF9zdGF0ZV9kYXRhICpzdGF0ZSA9IGNvbm4tPnByb3RvLnRmdHBjOwogCiAgICpkb3BoYXNlX2RvbmUgPSBGQUxTRTsKIApAQCAtMTM1OCw3ICsxMzYwLDcgQEAKIAogc3RhdGljIENVUkxjb2RlIHRmdHBfZG8oc3RydWN0IGNvbm5lY3RkYXRhICpjb25uLCBib29sICpkb25lKQogewotICB0ZnRwX3N0YXRlX2RhdGFfdCAqc3RhdGU7CisgIHN0cnVjdCB0ZnRwX3N0YXRlX2RhdGEgKnN0YXRlOwogICBDVVJMY29kZSByZXN1bHQ7CiAKICAgKmRvbmUgPSBGQUxTRTsKQEAgLTEzNjksNyArMTM3MSw3IEBACiAgICAgICByZXR1cm4gcmVzdWx0OwogICB9CiAKLSAgc3RhdGUgPSAodGZ0cF9zdGF0ZV9kYXRhX3QgKiljb25uLT5wcm90by50ZnRwYzsKKyAgc3RhdGUgPSBjb25uLT5wcm90by50ZnRwYzsKICAgaWYoIXN0YXRlKQogICAgIHJldHVybiBDVVJMRV9URlRQX0lMTEVHQUw7CiAKQEAgLTEzODQsNyArMTM4Niw3IEBACiAgIHJldHVybiByZXN1bHQ7CiB9CiAKLXN0YXRpYyBDVVJMY29kZSB0ZnRwX3NldHVwX2Nvbm5lY3Rpb24oc3RydWN0IGNvbm5lY3RkYXRhICogY29ubikKK3N0YXRpYyBDVVJMY29kZSB0ZnRwX3NldHVwX2Nvbm5lY3Rpb24oc3RydWN0IGNvbm5lY3RkYXRhICpjb25uKQogewogICBzdHJ1Y3QgQ3VybF9lYXN5ICpkYXRhID0gY29ubi0+ZGF0YTsKICAgY2hhciAqdHlwZTsKZGlmZiAtLWdpdCBhL2xpYi90cmFuc2Zlci5jIGIvbGliL3RyYW5zZmVyLmMKaW5kZXggYjk1ODFkNy4uMTMzYTQ3OCAxMDA2NDQKLS0tIGEvbGliL3RyYW5zZmVyLmMKKysrIGIvbGliL3RyYW5zZmVyLmMKQEAgLTEyOCwxMiArMTI4LDEzIEBACiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2b2lkICpyYXcpCiB7CiAgIHN0cnVjdCBDdXJsX2Vhc3kgKmRhdGEgPSAoc3RydWN0IEN1cmxfZWFzeSAqKXJhdzsKLSAgQ3VybF9zZW5kX2J1ZmZlciAqdHJhaWxlcnNfYnVmID0gZGF0YS0+c3RhdGUudHJhaWxlcnNfYnVmOwotICBzaXplX3QgYnl0ZXNfbGVmdCA9IHRyYWlsZXJzX2J1Zi0+c2l6ZV91c2VkLWRhdGEtPnN0YXRlLnRyYWlsZXJzX2J5dGVzX3NlbnQ7CisgIHN0cnVjdCBkeW5idWYgKnRyYWlsZXJzX2J1ZiA9ICZkYXRhLT5zdGF0ZS50cmFpbGVyc19idWY7CisgIHNpemVfdCBieXRlc19sZWZ0ID0gQ3VybF9keW5fbGVuKHRyYWlsZXJzX2J1ZikgLQorICAgIGRhdGEtPnN0YXRlLnRyYWlsZXJzX2J5dGVzX3NlbnQ7CiAgIHNpemVfdCB0b19jb3B5ID0gKHNpemUqbml0ZW1zIDwgYnl0ZXNfbGVmdCkgPyBzaXplKm5pdGVtcyA6IGJ5dGVzX2xlZnQ7CiAgIGlmKHRvX2NvcHkpIHsKICAgICBtZW1jcHkoYnVmZmVyLAotICAgICAgICAgICAmdHJhaWxlcnNfYnVmLT5idWZmZXJbZGF0YS0+c3RhdGUudHJhaWxlcnNfYnl0ZXNfc2VudF0sCisgICAgICAgICAgIEN1cmxfZHluX3B0cih0cmFpbGVyc19idWYpICsgZGF0YS0+c3RhdGUudHJhaWxlcnNfYnl0ZXNfc2VudCwKICAgICAgICAgICAgdG9fY29weSk7CiAgICAgZGF0YS0+c3RhdGUudHJhaWxlcnNfYnl0ZXNfc2VudCArPSB0b19jb3B5OwogICB9CkBAIC0xNDMsOCArMTQ0LDggQEAKIHN0YXRpYyBzaXplX3QgQ3VybF90cmFpbGVyc19sZWZ0KHZvaWQgKnJhdykKIHsKICAgc3RydWN0IEN1cmxfZWFzeSAqZGF0YSA9IChzdHJ1Y3QgQ3VybF9lYXN5ICopcmF3OwotICBDdXJsX3NlbmRfYnVmZmVyICp0cmFpbGVyc19idWYgPSBkYXRhLT5zdGF0ZS50cmFpbGVyc19idWY7Ci0gIHJldHVybiB0cmFpbGVyc19idWYtPnNpemVfdXNlZCAtIGRhdGEtPnN0YXRlLnRyYWlsZXJzX2J5dGVzX3NlbnQ7CisgIHN0cnVjdCBkeW5idWYgKnRyYWlsZXJzX2J1ZiA9ICZkYXRhLT5zdGF0ZS50cmFpbGVyc19idWY7CisgIHJldHVybiBDdXJsX2R5bl9sZW4odHJhaWxlcnNfYnVmKSAtIGRhdGEtPnN0YXRlLnRyYWlsZXJzX2J5dGVzX3NlbnQ7CiB9CiAjZW5kaWYKIApAQCAtMTg2LDExICsxODcsOCBAQAogICAgIGluZm9mKGRhdGEsCiAgICAgICAgICAgIk1vdmluZyB0cmFpbGVycyBzdGF0ZSBtYWNoaW5lIGZyb20gaW5pdGlhbGl6ZWQgdG8gc2VuZGluZy5cbiIpOwogICAgIGRhdGEtPnN0YXRlLnRyYWlsZXJzX3N0YXRlID0gVFJBSUxFUlNfU0VORElORzsKLSAgICBkYXRhLT5zdGF0ZS50cmFpbGVyc19idWYgPSBDdXJsX2FkZF9idWZmZXJfaW5pdCgpOwotICAgIGlmKCFkYXRhLT5zdGF0ZS50cmFpbGVyc19idWYpIHsKLSAgICAgIGZhaWxmKGRhdGEsICJVbmFibGUgdG8gYWxsb2NhdGUgdHJhaWxpbmcgaGVhZGVycyBidWZmZXIgISIpOwotICAgICAgcmV0dXJuIENVUkxFX09VVF9PRl9NRU1PUlk7Ci0gICAgfQorICAgIEN1cmxfZHluX2luaXQoJmRhdGEtPnN0YXRlLnRyYWlsZXJzX2J1ZiwgRFlOX1RSQUlMRVJTKTsKKwogICAgIGRhdGEtPnN0YXRlLnRyYWlsZXJzX2J5dGVzX3NlbnQgPSAwOwogICAgIEN1cmxfc2V0X2luX2NhbGxiYWNrKGRhdGEsIHRydWUpOwogICAgIHRyYWlsZXJzX3JldF9jb2RlID0gZGF0YS0+c2V0LnRyYWlsZXJfY2FsbGJhY2soJnRyYWlsZXJzLApAQCAtMjA2LDcgKzIwNCw3IEBACiAgICAgICByZXN1bHQgPSBDVVJMRV9BQk9SVEVEX0JZX0NBTExCQUNLOwogICAgIH0KICAgICBpZihyZXN1bHQpIHsKLSAgICAgIEN1cmxfYWRkX2J1ZmZlcl9mcmVlKCZkYXRhLT5zdGF0ZS50cmFpbGVyc19idWYpOworICAgICAgQ3VybF9keW5fZnJlZSgmZGF0YS0+c3RhdGUudHJhaWxlcnNfYnVmKTsKICAgICAgIGN1cmxfc2xpc3RfZnJlZV9hbGwodHJhaWxlcnMpOwogICAgICAgcmV0dXJuIHJlc3VsdDsKICAgICB9CkBAIC0zNjksNyArMzY3LDcgQEAKICNpZm5kZWYgQ1VSTF9ESVNBQkxFX0hUVFAKICAgICBpZihkYXRhLT5zdGF0ZS50cmFpbGVyc19zdGF0ZSA9PSBUUkFJTEVSU19TRU5ESU5HICYmCiAgICAgICAgIUN1cmxfdHJhaWxlcnNfbGVmdChkYXRhKSkgewotICAgICAgQ3VybF9hZGRfYnVmZmVyX2ZyZWUoJmRhdGEtPnN0YXRlLnRyYWlsZXJzX2J1Zik7CisgICAgICBDdXJsX2R5bl9mcmVlKCZkYXRhLT5zdGF0ZS50cmFpbGVyc19idWYpOwogICAgICAgZGF0YS0+c3RhdGUudHJhaWxlcnNfc3RhdGUgPSBUUkFJTEVSU19ET05FOwogICAgICAgZGF0YS0+c2V0LnRyYWlsZXJfZGF0YSA9IE5VTEw7CiAgICAgICBkYXRhLT5zZXQudHJhaWxlcl9jYWxsYmFjayA9IE5VTEw7CkBAIC00MzUsOCArNDMzLDggQEAKICAgfQogICBpZihkYXRhLT5zZXQucG9zdGZpZWxkcykKICAgICA7IC8qIGRvIG5vdGhpbmcgKi8KLSAgZWxzZSBpZihkYXRhLT5zZXQuaHR0cHJlcSA9PSBIVFRQUkVRX1BPU1RfTUlNRSB8fAotICAgICAgICAgIGRhdGEtPnNldC5odHRwcmVxID09IEhUVFBSRVFfUE9TVF9GT1JNKSB7CisgIGVsc2UgaWYoZGF0YS0+c3RhdGUuaHR0cHJlcSA9PSBIVFRQUkVRX1BPU1RfTUlNRSB8fAorICAgICAgICAgIGRhdGEtPnN0YXRlLmh0dHByZXEgPT0gSFRUUFJFUV9QT1NUX0ZPUk0pIHsKICAgICBpZihDdXJsX21pbWVfcmV3aW5kKG1pbWVwYXJ0KSkgewogICAgICAgZmFpbGYoZGF0YSwgIkNhbm5vdCByZXdpbmQgbWltZS9wb3N0IGRhdGEiKTsKICAgICAgIHJldHVybiBDVVJMRV9TRU5EX0ZBSUxfUkVXSU5EOwpAQCAtNTYwLDYgKzU1OCw4IEBACiAgIHNpemVfdCBleGNlc3MgPSAwOyAvKiBleGNlc3MgYnl0ZXMgcmVhZCAqLwogICBib29sIHJlYWRtb3JlID0gRkFMU0U7IC8qIHVzZWQgYnkgUlRQIHRvIHNpZ25hbCBmb3IgbW9yZSBkYXRhICovCiAgIGludCBtYXhsb29wcyA9IDEwMDsKKyAgY2hhciAqYnVmID0gZGF0YS0+c3RhdGUuYnVmZmVyOworICBERUJVR0FTU0VSVChidWYpOwogCiAgICpkb25lID0gRkFMU0U7CiAgICpjb21lYmFjayA9IEZBTFNFOwpAQCAtNTk0LDcgKzU5NCw3IEBACiAKICAgICBpZihieXRlc3RvcmVhZCkgewogICAgICAgLyogcmVjZWl2ZSBkYXRhIGZyb20gdGhlIG5ldHdvcmshICovCi0gICAgICByZXN1bHQgPSBDdXJsX3JlYWQoY29ubiwgY29ubi0+c29ja2ZkLCBrLT5idWYsIGJ5dGVzdG9yZWFkLCAmbnJlYWQpOworICAgICAgcmVzdWx0ID0gQ3VybF9yZWFkKGNvbm4sIGNvbm4tPnNvY2tmZCwgYnVmLCBieXRlc3RvcmVhZCwgJm5yZWFkKTsKIAogICAgICAgLyogcmVhZCB3b3VsZCd2ZSBibG9ja2VkICovCiAgICAgICBpZihDVVJMRV9BR0FJTiA9PSByZXN1bHQpCkBAIC02MjEsOSArNjIxLDggQEAKICAgICAvKiBpbmRpY2F0ZXMgZGF0YSBvZiB6ZXJvIHNpemUsIGkuZS4gZW1wdHkgZmlsZSAqLwogICAgIGlzX2VtcHR5X2RhdGEgPSAoKG5yZWFkID09IDApICYmIChrLT5ib2R5d3JpdGVzID09IDApKSA/IFRSVUUgOiBGQUxTRTsKIAotICAgIC8qIE5VTCB0ZXJtaW5hdGUsIGFsbG93aW5nIHN0cmluZyBvcHMgdG8gYmUgdXNlZCAqLwogICAgIGlmKDAgPCBucmVhZCB8fCBpc19lbXB0eV9kYXRhKSB7Ci0gICAgICBrLT5idWZbbnJlYWRdID0gMDsKKyAgICAgIGJ1ZltucmVhZF0gPSAwOwogICAgIH0KICAgICBlbHNlIHsKICAgICAgIC8qIGlmIHdlIHJlY2VpdmUgMCBvciBsZXNzIGhlcmUsIGVpdGhlciB0aGUgaHR0cDIgc3RyZWFtIGlzIGNsb3NlZCBvciB0aGUKQEAgLTY0MCw3ICs2MzksNyBAQAogCiAgICAgLyogRGVmYXVsdCBidWZmZXIgdG8gdXNlIHdoZW4gd2Ugd3JpdGUgdGhlIGJ1ZmZlciwgaXQgbWF5IGJlIGNoYW5nZWQKICAgICAgICBpbiB0aGUgZmxvdyBiZWxvdyBiZWZvcmUgdGhlIGFjdHVhbCBzdG9yaW5nIGlzIGRvbmUuICovCi0gICAgay0+c3RyID0gay0+YnVmOworICAgIGstPnN0ciA9IGJ1ZjsKIAogICAgIGlmKGNvbm4tPmhhbmRsZXItPnJlYWR3cml0ZSkgewogICAgICAgcmVzdWx0ID0gY29ubi0+aGFuZGxlci0+cmVhZHdyaXRlKGRhdGEsIGNvbm4sICZucmVhZCwgJnJlYWRtb3JlKTsKQEAgLTY4OSw3ICs2ODgsNyBAQAogICAgIC8qIFRoaXMgaXMgbm90IGFuICdlbHNlIGlmJyBzaW5jZSBpdCBtYXkgYmUgYSByZXN0IGZyb20gdGhlIGhlYWRlcgogICAgICAgIHBhcnNpbmcsIHdoZXJlIHRoZSBiZWdpbm5pbmcgb2YgdGhlIGJ1ZmZlciBpcyBoZWFkZXJzIGFuZCB0aGUgZW5kCiAgICAgICAgaXMgbm9uLWhlYWRlcnMuICovCi0gICAgaWYoay0+c3RyICYmICFrLT5oZWFkZXIgJiYgKG5yZWFkID4gMCB8fCBpc19lbXB0eV9kYXRhKSkgeworICAgIGlmKCFrLT5oZWFkZXIgJiYgKG5yZWFkID4gMCB8fCBpc19lbXB0eV9kYXRhKSkgewogCiAgICAgICBpZihkYXRhLT5zZXQub3B0X25vX2JvZHkpIHsKICAgICAgICAgLyogZGF0YSBhcnJpdmVzIGFsdGhvdWdoIHdlIHdhbnQgbm9uZSwgYmFpbCBvdXQgKi8KQEAgLTcyMCw3ICs3MTksNyBAQAogICAgICAgICAgICAgaW5mb2YoZGF0YSwgIklnbm9yaW5nIHRoZSByZXNwb25zZS1ib2R5XG4iKTsKICAgICAgICAgICB9CiAgICAgICAgICAgaWYoZGF0YS0+c3RhdGUucmVzdW1lX2Zyb20gJiYgIWstPmNvbnRlbnRfcmFuZ2UgJiYKLSAgICAgICAgICAgICAoZGF0YS0+c2V0Lmh0dHByZXEgPT0gSFRUUFJFUV9HRVQpICYmCisgICAgICAgICAgICAgKGRhdGEtPnN0YXRlLmh0dHByZXEgPT0gSFRUUFJFUV9HRVQpICYmCiAgICAgICAgICAgICAgIWstPmlnbm9yZWJvZHkpIHsKIAogICAgICAgICAgICAgaWYoay0+c2l6ZSA9PSBkYXRhLT5zdGF0ZS5yZXN1bWVfZnJvbSkgewpAQCAtNzcwLDggKzc2OSw5IEBACiAgICAgICAvKiBwYXNzIGRhdGEgdG8gdGhlIGRlYnVnIGZ1bmN0aW9uIGJlZm9yZSBpdCBnZXRzICJkZWNodW5rZWQiICovCiAgICAgICBpZihkYXRhLT5zZXQudmVyYm9zZSkgewogICAgICAgICBpZihrLT5iYWRoZWFkZXIpIHsKLSAgICAgICAgICBDdXJsX2RlYnVnKGRhdGEsIENVUkxJTkZPX0RBVEFfSU4sIGRhdGEtPnN0YXRlLmhlYWRlcmJ1ZmYsCi0gICAgICAgICAgICAgICAgICAgICAoc2l6ZV90KWstPmhidWZsZW4pOworICAgICAgICAgIEN1cmxfZGVidWcoZGF0YSwgQ1VSTElORk9fREFUQV9JTiwKKyAgICAgICAgICAgICAgICAgICAgIEN1cmxfZHluX3B0cigmZGF0YS0+c3RhdGUuaGVhZGVyYiksCisgICAgICAgICAgICAgICAgICAgICBDdXJsX2R5bl9sZW4oJmRhdGEtPnN0YXRlLmhlYWRlcmIpKTsKICAgICAgICAgICBpZihrLT5iYWRoZWFkZXIgPT0gSEVBREVSX1BBUlRIRUFERVIpCiAgICAgICAgICAgICBDdXJsX2RlYnVnKGRhdGEsIENVUkxJTkZPX0RBVEFfSU4sCiAgICAgICAgICAgICAgICAgICAgICAgIGstPnN0ciwgKHNpemVfdClucmVhZCk7CkBAIC04MjIsOSArODIyLDkgQEAKIAogICAgICAgLyogQWNjb3VudCBmb3IgYm9keSBjb250ZW50IHN0b3JlZCBpbiB0aGUgaGVhZGVyIGJ1ZmZlciAqLwogICAgICAgaWYoKGstPmJhZGhlYWRlciA9PSBIRUFERVJfUEFSVEhFQURFUikgJiYgIWstPmlnbm9yZWJvZHkpIHsKLSAgICAgICAgREVCVUdGKGluZm9mKGRhdGEsICJJbmNyZWFzaW5nIGJ5dGVjb3VudCBieSAlenUgZnJvbSBoYnVmbGVuXG4iLAotICAgICAgICAgICAgICAgICAgICAgay0+aGJ1ZmxlbikpOwotICAgICAgICBrLT5ieXRlY291bnQgKz0gay0+aGJ1ZmxlbjsKKyAgICAgICAgc2l6ZV90IGhlYWRsZW4gPSBDdXJsX2R5bl9sZW4oJmRhdGEtPnN0YXRlLmhlYWRlcmIpOworICAgICAgICBERUJVR0YoaW5mb2YoZGF0YSwgIkluY3JlYXNpbmcgYnl0ZWNvdW50IGJ5ICV6dVxuIiwgaGVhZGxlbikpOworICAgICAgICBrLT5ieXRlY291bnQgKz0gaGVhZGxlbjsKICAgICAgIH0KIAogICAgICAgaWYoKC0xICE9IGstPm1heGRvd25sb2FkKSAmJgpAQCAtODM5LDYgKzgzOSw3IEBACiAgICAgICAgICAgICAgICAgIiwgbWF4ZG93bmxvYWQgPSAlIiBDVVJMX0ZPUk1BVF9DVVJMX09GRl9UCiAgICAgICAgICAgICAgICAgIiwgYnl0ZWNvdW50ID0gJSIgQ1VSTF9GT1JNQVRfQ1VSTF9PRkZfVCAiXG4iLAogICAgICAgICAgICAgICAgIGV4Y2Vzcywgay0+c2l6ZSwgay0+bWF4ZG93bmxvYWQsIGstPmJ5dGVjb3VudCk7CisgICAgICAgICAgY29ubmNsb3NlKGNvbm4sICJleGNlc3MgZm91bmQgaW4gYSByZWFkIik7CiAgICAgICAgIH0KIAogICAgICAgICBucmVhZCA9IChzc2l6ZV90KSAoay0+bWF4ZG93bmxvYWQgLSBrLT5ieXRlY291bnQpOwpAQCAtODU4LDE1ICs4NTksMTYgQEAKICAgICAgICAgaWYoay0+YmFkaGVhZGVyICYmICFrLT5pZ25vcmVib2R5KSB7CiAgICAgICAgICAgLyogd2UgcGFyc2VkIGEgcGllY2Ugb2YgZGF0YSB3cm9uZ2x5IGFzc3VtaW5nIGl0IHdhcyBhIGhlYWRlcgogICAgICAgICAgICAgIGFuZCBub3cgd2Ugb3V0cHV0IGl0IGFzIGJvZHkgaW5zdGVhZCAqLworICAgICAgICAgIHNpemVfdCBoZWFkbGVuID0gQ3VybF9keW5fbGVuKCZkYXRhLT5zdGF0ZS5oZWFkZXJiKTsKIAogICAgICAgICAgIC8qIERvbid0IGxldCBleGNlc3MgZGF0YSBwb2xsdXRlIGJvZHkgd3JpdGVzICovCi0gICAgICAgICAgaWYoay0+bWF4ZG93bmxvYWQgPT0gLTEgfHwgKGN1cmxfb2ZmX3Qpay0+aGJ1ZmxlbiA8PSBrLT5tYXhkb3dubG9hZCkKKyAgICAgICAgICBpZihrLT5tYXhkb3dubG9hZCA9PSAtMSB8fCAoY3VybF9vZmZfdCloZWFkbGVuIDw9IGstPm1heGRvd25sb2FkKQogICAgICAgICAgICAgcmVzdWx0ID0gQ3VybF9jbGllbnRfd3JpdGUoY29ubiwgQ0xJRU5UV1JJVEVfQk9EWSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtPnN0YXRlLmhlYWRlcmJ1ZmYsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBrLT5oYnVmbGVuKTsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEN1cmxfZHluX3B0cigmZGF0YS0+c3RhdGUuaGVhZGVyYiksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBoZWFkbGVuKTsKICAgICAgICAgICBlbHNlCiAgICAgICAgICAgICByZXN1bHQgPSBDdXJsX2NsaWVudF93cml0ZShjb25uLCBDTElFTlRXUklURV9CT0RZLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS0+c3RhdGUuaGVhZGVyYnVmZiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEN1cmxfZHluX3B0cigmZGF0YS0+c3RhdGUuaGVhZGVyYiksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoc2l6ZV90KWstPm1heGRvd25sb2FkKTsKIAogICAgICAgICAgIGlmKHJlc3VsdCkKQEAgLTkwNCwxMCArOTA2LDEwIEBACiAgICAgICAvKiBQYXJzZSB0aGUgZXhjZXNzIGRhdGEgKi8KICAgICAgIGstPnN0ciArPSBucmVhZDsKIAotICAgICAgaWYoJmstPnN0cltleGNlc3NdID4gJmstPmJ1ZltkYXRhLT5zZXQuYnVmZmVyX3NpemVdKSB7CisgICAgICBpZigmay0+c3RyW2V4Y2Vzc10gPiAmYnVmW2RhdGEtPnNldC5idWZmZXJfc2l6ZV0pIHsKICAgICAgICAgLyogdGhlIGV4Y2VzcyBhbW91bnQgd2FzIHRvbyBleGNlc3NpdmUoISksIG1ha2Ugc3VyZQogICAgICAgICAgICBpdCBkb2Vzbid0IHJlYWQgb3V0IG9mIGJ1ZmZlciAqLwotICAgICAgICBleGNlc3MgPSAmay0+YnVmW2RhdGEtPnNldC5idWZmZXJfc2l6ZV0gLSBrLT5zdHI7CisgICAgICAgIGV4Y2VzcyA9ICZidWZbZGF0YS0+c2V0LmJ1ZmZlcl9zaXplXSAtIGstPnN0cjsKICAgICAgIH0KICAgICAgIG5yZWFkID0gKHNzaXplX3QpZXhjZXNzOwogCkBAIC0xNDQ3LDYgKzE0NDksNyBAQAogICAgIH0KICAgfQogCisgIGRhdGEtPnN0YXRlLmh0dHByZXEgPSBkYXRhLT5zZXQubWV0aG9kOwogICBkYXRhLT5jaGFuZ2UudXJsID0gZGF0YS0+c2V0LnN0cltTVFJJTkdfU0VUX1VSTF07CiAKICAgLyogSW5pdCB0aGUgU1NMIHNlc3Npb24gSUQgY2FjaGUgaGVyZS4gV2UgZG8gaXQgaGVyZSBzaW5jZSB3ZSB3YW50IHRvIGRvIGl0CkBAIC0xNDY2LDEyICsxNDY5LDExIEBACiAgIGRhdGEtPnN0YXRlLmF1dGhob3N0LndhbnQgPSBkYXRhLT5zZXQuaHR0cGF1dGg7CiAgIGRhdGEtPnN0YXRlLmF1dGhwcm94eS53YW50ID0gZGF0YS0+c2V0LnByb3h5YXV0aDsKICAgQ3VybF9zYWZlZnJlZShkYXRhLT5pbmZvLndvdWxkcmVkaXJlY3QpOwotICBkYXRhLT5pbmZvLndvdWxkcmVkaXJlY3QgPSBOVUxMOwogCi0gIGlmKGRhdGEtPnNldC5odHRwcmVxID09IEhUVFBSRVFfUFVUKQorICBpZihkYXRhLT5zdGF0ZS5odHRwcmVxID09IEhUVFBSRVFfUFVUKQogICAgIGRhdGEtPnN0YXRlLmluZmlsZXNpemUgPSBkYXRhLT5zZXQuZmlsZXNpemU7Ci0gIGVsc2UgaWYoKGRhdGEtPnNldC5odHRwcmVxICE9IEhUVFBSRVFfR0VUKSAmJgotICAgICAgICAgIChkYXRhLT5zZXQuaHR0cHJlcSAhPSBIVFRQUkVRX0hFQUQpKSB7CisgIGVsc2UgaWYoKGRhdGEtPnN0YXRlLmh0dHByZXEgIT0gSFRUUFJFUV9HRVQpICYmCisgICAgICAgICAgKGRhdGEtPnN0YXRlLmh0dHByZXEgIT0gSFRUUFJFUV9IRUFEKSkgewogICAgIGRhdGEtPnN0YXRlLmluZmlsZXNpemUgPSBkYXRhLT5zZXQucG9zdGZpZWxkc2l6ZTsKICAgICBpZihkYXRhLT5zZXQucG9zdGZpZWxkcyAmJiAoZGF0YS0+c3RhdGUuaW5maWxlc2l6ZSA9PSAtMSkpCiAgICAgICBkYXRhLT5zdGF0ZS5pbmZpbGVzaXplID0gKGN1cmxfb2ZmX3Qpc3RybGVuKGRhdGEtPnNldC5wb3N0ZmllbGRzKTsKQEAgLTE2ODIsMTIgKzE2ODQsMTIgQEAKICAgICAgKiBUaGlzIGJlaGF2aW91ciBpcyBmb3JiaWRkZW4gYnkgUkZDMTk0NSBhbmQgdGhlIG9ic29sZXRlIFJGQzI2MTYsIGFuZAogICAgICAqIGNhbiBiZSBvdmVycmlkZGVuIHdpdGggQ1VSTE9QVF9QT1NUUkVESVIuCiAgICAgICovCi0gICAgaWYoKGRhdGEtPnNldC5odHRwcmVxID09IEhUVFBSRVFfUE9TVAotICAgICAgICB8fCBkYXRhLT5zZXQuaHR0cHJlcSA9PSBIVFRQUkVRX1BPU1RfRk9STQotICAgICAgICB8fCBkYXRhLT5zZXQuaHR0cHJlcSA9PSBIVFRQUkVRX1BPU1RfTUlNRSkKKyAgICBpZigoZGF0YS0+c3RhdGUuaHR0cHJlcSA9PSBIVFRQUkVRX1BPU1QKKyAgICAgICAgfHwgZGF0YS0+c3RhdGUuaHR0cHJlcSA9PSBIVFRQUkVRX1BPU1RfRk9STQorICAgICAgICB8fCBkYXRhLT5zdGF0ZS5odHRwcmVxID09IEhUVFBSRVFfUE9TVF9NSU1FKQogICAgICAgICYmICEoZGF0YS0+c2V0LmtlZXBfcG9zdCAmIENVUkxfUkVESVJfUE9TVF8zMDEpKSB7CiAgICAgICBpbmZvZihkYXRhLCAiU3dpdGNoIGZyb20gUE9TVCB0byBHRVRcbiIpOwotICAgICAgZGF0YS0+c2V0Lmh0dHByZXEgPSBIVFRQUkVRX0dFVDsKKyAgICAgIGRhdGEtPnN0YXRlLmh0dHByZXEgPSBIVFRQUkVRX0dFVDsKICAgICB9CiAgICAgYnJlYWs7CiAgIGNhc2UgMzAyOiAvKiBGb3VuZCAqLwpAQCAtMTcwNywxMiArMTcwOSwxMiBAQAogICAgICAqIFRoaXMgYmVoYXZpb3VyIGlzIGZvcmJpZGRlbiBieSBSRkMxOTQ1IGFuZCB0aGUgb2Jzb2xldGUgUkZDMjYxNiwgYW5kCiAgICAgICogY2FuIGJlIG92ZXJyaWRkZW4gd2l0aCBDVVJMT1BUX1BPU1RSRURJUi4KICAgICAgKi8KLSAgICBpZigoZGF0YS0+c2V0Lmh0dHByZXEgPT0gSFRUUFJFUV9QT1NUCi0gICAgICAgIHx8IGRhdGEtPnNldC5odHRwcmVxID09IEhUVFBSRVFfUE9TVF9GT1JNCi0gICAgICAgIHx8IGRhdGEtPnNldC5odHRwcmVxID09IEhUVFBSRVFfUE9TVF9NSU1FKQorICAgIGlmKChkYXRhLT5zdGF0ZS5odHRwcmVxID09IEhUVFBSRVFfUE9TVAorICAgICAgICB8fCBkYXRhLT5zdGF0ZS5odHRwcmVxID09IEhUVFBSRVFfUE9TVF9GT1JNCisgICAgICAgIHx8IGRhdGEtPnN0YXRlLmh0dHByZXEgPT0gSFRUUFJFUV9QT1NUX01JTUUpCiAgICAgICAgJiYgIShkYXRhLT5zZXQua2VlcF9wb3N0ICYgQ1VSTF9SRURJUl9QT1NUXzMwMikpIHsKICAgICAgIGluZm9mKGRhdGEsICJTd2l0Y2ggZnJvbSBQT1NUIHRvIEdFVFxuIik7Ci0gICAgICBkYXRhLT5zZXQuaHR0cHJlcSA9IEhUVFBSRVFfR0VUOworICAgICAgZGF0YS0+c3RhdGUuaHR0cHJlcSA9IEhUVFBSRVFfR0VUOwogICAgIH0KICAgICBicmVhazsKIApAQCAtMTcyMiwxMiArMTcyNCwxMiBAQAogICAgICAqIG1ldGhvZCBpcyBQT1NUIGFuZCB0aGUgdXNlciBzcGVjaWZpZWQgdG8ga2VlcCBpdCBhcyBQT1NULgogICAgICAqIGh0dHBzOi8vZ2l0aHViLmNvbS9jdXJsL2N1cmwvaXNzdWVzLzUyMzcjaXNzdWVjb21tZW50LTYxNDY0MTA0OQogICAgICAqLwotICAgIGlmKGRhdGEtPnNldC5odHRwcmVxICE9IEhUVFBSRVFfR0VUICYmCi0gICAgICAgKChkYXRhLT5zZXQuaHR0cHJlcSAhPSBIVFRQUkVRX1BPU1QgJiYKLSAgICAgICAgIGRhdGEtPnNldC5odHRwcmVxICE9IEhUVFBSRVFfUE9TVF9GT1JNICYmCi0gICAgICAgICBkYXRhLT5zZXQuaHR0cHJlcSAhPSBIVFRQUkVRX1BPU1RfTUlNRSkgfHwKKyAgICBpZihkYXRhLT5zdGF0ZS5odHRwcmVxICE9IEhUVFBSRVFfR0VUICYmCisgICAgICAgKChkYXRhLT5zdGF0ZS5odHRwcmVxICE9IEhUVFBSRVFfUE9TVCAmJgorICAgICAgICAgZGF0YS0+c3RhdGUuaHR0cHJlcSAhPSBIVFRQUkVRX1BPU1RfRk9STSAmJgorICAgICAgICAgZGF0YS0+c3RhdGUuaHR0cHJlcSAhPSBIVFRQUkVRX1BPU1RfTUlNRSkgfHwKICAgICAgICAgIShkYXRhLT5zZXQua2VlcF9wb3N0ICYgQ1VSTF9SRURJUl9QT1NUXzMwMykpKSB7Ci0gICAgICBkYXRhLT5zZXQuaHR0cHJlcSA9IEhUVFBSRVFfR0VUOworICAgICAgZGF0YS0+c3RhdGUuaHR0cHJlcSA9IEhUVFBSRVFfR0VUOwogICAgICAgZGF0YS0+c2V0LnVwbG9hZCA9IGZhbHNlOwogICAgICAgaW5mb2YoZGF0YSwgIlN3aXRjaCB0byAlc1xuIiwKICAgICAgICAgICAgIGRhdGEtPnNldC5vcHRfbm9fYm9keT8iSEVBRCI6IkdFVCIpOwpkaWZmIC0tZ2l0IGEvbGliL3VybC5jIGIvbGliL3VybC5jCmluZGV4IDAzYzI3NDQuLmExYTZiNjkgMTAwNjQ0Ci0tLSBhL2xpYi91cmwuYworKysgYi9saWIvdXJsLmMKQEAgLTEyMiw2ICsxMjIsNyBAQAogI2luY2x1ZGUgInN0cmR1cC5oIgogI2luY2x1ZGUgInNldG9wdC5oIgogI2luY2x1ZGUgImFsdHN2Yy5oIgorI2luY2x1ZGUgImR5bmJ1Zi5oIgogCiAvKiBUaGUgbGFzdCAzICNpbmNsdWRlIGZpbGVzIHNob3VsZCBiZSBpbiB0aGlzIG9yZGVyICovCiAjaW5jbHVkZSAiY3VybF9wcmludGYuaCIKQEAgLTE0MSwxOSArMTQyLDIxIEBACiAKIAogLyoKLSAqIFByb3RvY29sIHRhYmxlLgorICogUHJvdG9jb2wgdGFibGUuIFNjaGVtZXMgKHJvdWdobHkpIGluIDIwMTkgcG9wdWxhcml0eSBvcmRlcjoKKyAqCisgKiBIVFRQUywgSFRUUCwgRlRQLCBGVFBTLCBTRlRQLCBGSUxFLCBTQ1AsIFNNVFAsIExEQVAsIElNQVBTLCBURUxORVQsIElNQVAsCisgKiBMREFQUywgU01UUFMsIFRGVFAsIFNNQiwgUE9QMywgR09QSEVSIFBPUDNTLCBSVFNQLCBSVE1QLCBTTUJTLCBESUNUCiAgKi8KLQogc3RhdGljIGNvbnN0IHN0cnVjdCBDdXJsX2hhbmRsZXIgKiBjb25zdCBwcm90b2NvbHNbXSA9IHsKIAotI2lmbmRlZiBDVVJMX0RJU0FCTEVfSFRUUAotICAmQ3VybF9oYW5kbGVyX2h0dHAsCi0jZW5kaWYKLQogI2lmIGRlZmluZWQoVVNFX1NTTCkgJiYgIWRlZmluZWQoQ1VSTF9ESVNBQkxFX0hUVFApCiAgICZDdXJsX2hhbmRsZXJfaHR0cHMsCiAjZW5kaWYKIAorI2lmbmRlZiBDVVJMX0RJU0FCTEVfSFRUUAorICAmQ3VybF9oYW5kbGVyX2h0dHAsCisjZW5kaWYKKwogI2lmbmRlZiBDVVJMX0RJU0FCTEVfRlRQCiAgICZDdXJsX2hhbmRsZXJfZnRwLAogI2VuZGlmCkBAIC0xNjIsMTIgKzE2NSwyMyBAQAogICAmQ3VybF9oYW5kbGVyX2Z0cHMsCiAjZW5kaWYKIAotI2lmbmRlZiBDVVJMX0RJU0FCTEVfVEVMTkVUCi0gICZDdXJsX2hhbmRsZXJfdGVsbmV0LAorI2lmIGRlZmluZWQoVVNFX1NTSCkKKyAgJkN1cmxfaGFuZGxlcl9zZnRwLAogI2VuZGlmCiAKLSNpZm5kZWYgQ1VSTF9ESVNBQkxFX0RJQ1QKLSAgJkN1cmxfaGFuZGxlcl9kaWN0LAorI2lmbmRlZiBDVVJMX0RJU0FCTEVfRklMRQorICAmQ3VybF9oYW5kbGVyX2ZpbGUsCisjZW5kaWYKKworI2lmIGRlZmluZWQoVVNFX1NTSCkgJiYgIWRlZmluZWQoVVNFX1dPTEZTU0gpCisgICZDdXJsX2hhbmRsZXJfc2NwLAorI2VuZGlmCisKKyNpZm5kZWYgQ1VSTF9ESVNBQkxFX1NNVFAKKyAgJkN1cmxfaGFuZGxlcl9zbXRwLAorI2lmZGVmIFVTRV9TU0wKKyAgJkN1cmxfaGFuZGxlcl9zbXRwcywKKyNlbmRpZgogI2VuZGlmCiAKICNpZm5kZWYgQ1VSTF9ESVNBQkxFX0xEQVAKQEAgLTE3OSwyMiArMTkzLDYgQEAKICNlbmRpZgogI2VuZGlmCiAKLSNpZm5kZWYgQ1VSTF9ESVNBQkxFX0ZJTEUKLSAgJkN1cmxfaGFuZGxlcl9maWxlLAotI2VuZGlmCi0KLSNpZm5kZWYgQ1VSTF9ESVNBQkxFX1RGVFAKLSAgJkN1cmxfaGFuZGxlcl90ZnRwLAotI2VuZGlmCi0KLSNpZiBkZWZpbmVkKFVTRV9TU0gpICYmICFkZWZpbmVkKFVTRV9XT0xGU1NIKQotICAmQ3VybF9oYW5kbGVyX3NjcCwKLSNlbmRpZgotCi0jaWYgZGVmaW5lZChVU0VfU1NIKQotICAmQ3VybF9oYW5kbGVyX3NmdHAsCi0jZW5kaWYKLQogI2lmbmRlZiBDVVJMX0RJU0FCTEVfSU1BUAogICAmQ3VybF9oYW5kbGVyX2ltYXAsCiAjaWZkZWYgVVNFX1NTTApAQCAtMjAyLDYgKzIwMCwxNCBAQAogI2VuZGlmCiAjZW5kaWYKIAorI2lmbmRlZiBDVVJMX0RJU0FCTEVfVEVMTkVUCisgICZDdXJsX2hhbmRsZXJfdGVsbmV0LAorI2VuZGlmCisKKyNpZm5kZWYgQ1VSTF9ESVNBQkxFX1RGVFAKKyAgJkN1cmxfaGFuZGxlcl90ZnRwLAorI2VuZGlmCisKICNpZm5kZWYgQ1VSTF9ESVNBQkxFX1BPUDMKICAgJkN1cmxfaGFuZGxlcl9wb3AzLAogI2lmZGVmIFVTRV9TU0wKQEAgLTIxOCwyNSArMjI0LDE4IEBACiAjZW5kaWYKICNlbmRpZgogCi0jaWZuZGVmIENVUkxfRElTQUJMRV9TTVRQCi0gICZDdXJsX2hhbmRsZXJfc210cCwKLSNpZmRlZiBVU0VfU1NMCi0gICZDdXJsX2hhbmRsZXJfc210cHMsCi0jZW5kaWYKLSNlbmRpZgotCiAjaWZuZGVmIENVUkxfRElTQUJMRV9SVFNQCiAgICZDdXJsX2hhbmRsZXJfcnRzcCwKICNlbmRpZgogCi0jaWZuZGVmIENVUkxfRElTQUJMRV9HT1BIRVIKLSAgJkN1cmxfaGFuZGxlcl9nb3BoZXIsCi0jZW5kaWYKLQogI2lmZGVmIENVUkxfRU5BQkxFX01RVFQKICAgJkN1cmxfaGFuZGxlcl9tcXR0LAogI2VuZGlmCiAKKyNpZm5kZWYgQ1VSTF9ESVNBQkxFX0dPUEhFUgorICAmQ3VybF9oYW5kbGVyX2dvcGhlciwKKyNlbmRpZgorCiAjaWZkZWYgVVNFX0xJQlJUTVAKICAgJkN1cmxfaGFuZGxlcl9ydG1wLAogICAmQ3VybF9oYW5kbGVyX3J0bXB0LApAQCAtMjQ2LDYgKzI0NSwxMCBAQAogICAmQ3VybF9oYW5kbGVyX3J0bXB0cywKICNlbmRpZgogCisjaWZuZGVmIENVUkxfRElTQUJMRV9ESUNUCisgICZDdXJsX2hhbmRsZXJfZGljdCwKKyNlbmRpZgorCiAgIChzdHJ1Y3QgQ3VybF9oYW5kbGVyICopIE5VTEwKIH07CiAKQEAgLTI3OCwxMCArMjgxLDE2IEBACiB7CiAgIC8qIEZyZWUgYWxsIGR5bmFtaWMgc3RyaW5ncyBzdG9yZWQgaW4gdGhlIGRhdGEtPnNldCBzdWJzdHJ1Y3R1cmUuICovCiAgIGVudW0gZHVwc3RyaW5nIGk7CisgIGVudW0gZHVwYmxvYiBqOworCiAgIGZvcihpID0gKGVudW0gZHVwc3RyaW5nKTA7IGkgPCBTVFJJTkdfTEFTVDsgaSsrKSB7CiAgICAgQ3VybF9zYWZlZnJlZShkYXRhLT5zZXQuc3RyW2ldKTsKICAgfQogCisgIGZvcihqID0gKGVudW0gZHVwYmxvYikwOyBqIDwgQkxPQl9MQVNUOyBqKyspIHsKKyAgICBDdXJsX3NhZmVmcmVlKGRhdGEtPnNldC5ibG9ic1tqXSk7CisgIH0KKwogICBpZihkYXRhLT5jaGFuZ2UucmVmZXJlcl9hbGxvYykgewogICAgIEN1cmxfc2FmZWZyZWUoZGF0YS0+Y2hhbmdlLnJlZmVyZXIpOwogICAgIGRhdGEtPmNoYW5nZS5yZWZlcmVyX2FsbG9jID0gRkFMU0U7CkBAIC0zODAsNyArMzg5LDcgQEAKIAogICB1cF9mcmVlKGRhdGEpOwogICBDdXJsX3NhZmVmcmVlKGRhdGEtPnN0YXRlLmJ1ZmZlcik7Ci0gIEN1cmxfc2FmZWZyZWUoZGF0YS0+c3RhdGUuaGVhZGVyYnVmZik7CisgIEN1cmxfZHluX2ZyZWUoJmRhdGEtPnN0YXRlLmhlYWRlcmIpOwogICBDdXJsX3NhZmVmcmVlKGRhdGEtPnN0YXRlLnVsYnVmKTsKICAgQ3VybF9mbHVzaF9jb29raWVzKGRhdGEsIFRSVUUpOwogI2lmZGVmIFVTRV9BTFRTVkMKQEAgLTQwNyw5ICs0MTYsMjAgQEAKICAgICBDdXJsX3NoYXJlX3VubG9jayhkYXRhLCBDVVJMX0xPQ0tfREFUQV9TSEFSRSk7CiAgIH0KIAorICBDdXJsX3NhZmVmcmVlKGRhdGEtPnN0YXRlLmFwdHIucHJveHl1c2VycHdkKTsKKyAgQ3VybF9zYWZlZnJlZShkYXRhLT5zdGF0ZS5hcHRyLnVhZ2VudCk7CisgIEN1cmxfc2FmZWZyZWUoZGF0YS0+c3RhdGUuYXB0ci51c2VycHdkKTsKKyAgQ3VybF9zYWZlZnJlZShkYXRhLT5zdGF0ZS5hcHRyLmFjY2VwdF9lbmNvZGluZyk7CisgIEN1cmxfc2FmZWZyZWUoZGF0YS0+c3RhdGUuYXB0ci50ZSk7CisgIEN1cmxfc2FmZWZyZWUoZGF0YS0+c3RhdGUuYXB0ci5yYW5nZWxpbmUpOworICBDdXJsX3NhZmVmcmVlKGRhdGEtPnN0YXRlLmFwdHIucmVmKTsKKyAgQ3VybF9zYWZlZnJlZShkYXRhLT5zdGF0ZS5hcHRyLmhvc3QpOworICBDdXJsX3NhZmVmcmVlKGRhdGEtPnN0YXRlLmFwdHIuY29va2llaG9zdCk7CisgIEN1cmxfc2FmZWZyZWUoZGF0YS0+c3RhdGUuYXB0ci5ydHNwX3RyYW5zcG9ydCk7CisKICNpZm5kZWYgQ1VSTF9ESVNBQkxFX0RPSAotICBmcmVlKGRhdGEtPnJlcS5kb2gucHJvYmVbMF0uc2VydmVyZG9oLm1lbW9yeSk7Ci0gIGZyZWUoZGF0YS0+cmVxLmRvaC5wcm9iZVsxXS5zZXJ2ZXJkb2gubWVtb3J5KTsKKyAgQ3VybF9keW5fZnJlZSgmZGF0YS0+cmVxLmRvaC5wcm9iZVswXS5zZXJ2ZXJkb2gpOworICBDdXJsX2R5bl9mcmVlKCZkYXRhLT5yZXEuZG9oLnByb2JlWzFdLnNlcnZlcmRvaCk7CiAgIGN1cmxfc2xpc3RfZnJlZV9hbGwoZGF0YS0+cmVxLmRvaC5oZWFkZXJzKTsKICNlbmRpZgogCkBAIC00NTMsNyArNDczLDcgQEAKICAgc2V0LT5wb3N0ZmllbGRzaXplID0gLTE7ICAgLyogdW5rbm93biBzaXplICovCiAgIHNldC0+bWF4cmVkaXJzID0gLTE7ICAgICAgIC8qIGFsbG93IGFueSBhbW91bnQgYnkgZGVmYXVsdCAqLwogCi0gIHNldC0+aHR0cHJlcSA9IEhUVFBSRVFfR0VUOyAvKiBEZWZhdWx0IEhUVFAgcmVxdWVzdCAqLworICBzZXQtPm1ldGhvZCA9IEhUVFBSRVFfR0VUOyAvKiBEZWZhdWx0IEhUVFAgcmVxdWVzdCAqLwogICBzZXQtPnJ0c3ByZXEgPSBSVFNQUkVRX09QVElPTlM7IC8qIERlZmF1bHQgUlRTUCByZXF1ZXN0ICovCiAjaWZuZGVmIENVUkxfRElTQUJMRV9GVFAKICAgc2V0LT5mdHBfdXNlX2Vwc3YgPSBUUlVFOyAgIC8qIEZUUCBkZWZhdWx0cyB0byBFUFNWIG9wZXJhdGlvbnMgKi8KQEAgLTQ5Miw3ICs1MTIsOSBAQAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZSAqLwogICBzZXQtPnNzbC5wcmltYXJ5LnNlc3Npb25pZCA9IFRSVUU7IC8qIHNlc3Npb24gSUQgY2FjaGluZyBlbmFibGVkIGJ5CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVmYXVsdCAqLworI2lmbmRlZiBDVVJMX0RJU0FCTEVfUFJPWFkKICAgc2V0LT5wcm94eV9zc2wgPSBzZXQtPnNzbDsKKyNlbmRpZgogCiAgIHNldC0+bmV3X2ZpbGVfcGVybXMgPSAwNjQ0OyAgICAvKiBEZWZhdWx0IHBlcm1pc3Npb25zICovCiAgIHNldC0+bmV3X2RpcmVjdG9yeV9wZXJtcyA9IDA3NTU7IC8qIERlZmF1bHQgcGVybWlzc2lvbnMgKi8KQEAgLTYwMSwzOCArNjIzLDIyIEBACiAgICAgcmV0dXJuIHJlc3VsdDsKICAgfQogCi0gIC8qIFdlIGRvIHNvbWUgaW5pdGlhbCBzZXR1cCBoZXJlLCBhbGwgdGhvc2UgZmllbGRzIHRoYXQgY2FuJ3QgYmUganVzdCAwICovCisgIHJlc3VsdCA9IEN1cmxfaW5pdF91c2VyZGVmaW5lZChkYXRhKTsKKyAgaWYoIXJlc3VsdCkgeworICAgIEN1cmxfZHluX2luaXQoJmRhdGEtPnN0YXRlLmhlYWRlcmIsIENVUkxfTUFYX0hUVFBfSEVBREVSKTsKKyAgICBDdXJsX2NvbnZlcnRfaW5pdChkYXRhKTsKKyAgICBDdXJsX2luaXRpbmZvKGRhdGEpOwogCi0gIGRhdGEtPnN0YXRlLmJ1ZmZlciA9IG1hbGxvYyhSRUFEQlVGRkVSX1NJWkUgKyAxKTsKLSAgaWYoIWRhdGEtPnN0YXRlLmJ1ZmZlcikgewotICAgIERFQlVHRihmcHJpbnRmKHN0ZGVyciwgIkVycm9yOiBtYWxsb2Mgb2YgYnVmZmVyIGZhaWxlZFxuIikpOwotICAgIHJlc3VsdCA9IENVUkxFX09VVF9PRl9NRU1PUlk7Ci0gIH0KLSAgZWxzZSB7Ci0gICAgZGF0YS0+c3RhdGUuaGVhZGVyYnVmZiA9IG1hbGxvYyhIRUFERVJTSVpFKTsKLSAgICBpZighZGF0YS0+c3RhdGUuaGVhZGVyYnVmZikgewotICAgICAgREVCVUdGKGZwcmludGYoc3RkZXJyLCAiRXJyb3I6IG1hbGxvYyBvZiBoZWFkZXJidWZmIGZhaWxlZFxuIikpOwotICAgICAgcmVzdWx0ID0gQ1VSTEVfT1VUX09GX01FTU9SWTsKLSAgICB9Ci0gICAgZWxzZSB7Ci0gICAgICByZXN1bHQgPSBDdXJsX2luaXRfdXNlcmRlZmluZWQoZGF0YSk7CisgICAgLyogbW9zdCByZWNlbnQgY29ubmVjdGlvbiBpcyBub3QgeWV0IGRlZmluZWQgKi8KKyAgICBkYXRhLT5zdGF0ZS5sYXN0Y29ubmVjdCA9IE5VTEw7CiAKLSAgICAgIGRhdGEtPnN0YXRlLmhlYWRlcnNpemUgPSBIRUFERVJTSVpFOwotICAgICAgQ3VybF9jb252ZXJ0X2luaXQoZGF0YSk7Ci0gICAgICBDdXJsX2luaXRpbmZvKGRhdGEpOwotCi0gICAgICAvKiBtb3N0IHJlY2VudCBjb25uZWN0aW9uIGlzIG5vdCB5ZXQgZGVmaW5lZCAqLwotICAgICAgZGF0YS0+c3RhdGUubGFzdGNvbm5lY3QgPSBOVUxMOwotCi0gICAgICBkYXRhLT5wcm9ncmVzcy5mbGFncyB8PSBQR1JTX0hJREU7Ci0gICAgICBkYXRhLT5zdGF0ZS5jdXJyZW50X3NwZWVkID0gLTE7IC8qIGluaXQgdG8gbmVnYXRpdmUgPT0gaW1wb3NzaWJsZSAqLwotICAgIH0KKyAgICBkYXRhLT5wcm9ncmVzcy5mbGFncyB8PSBQR1JTX0hJREU7CisgICAgZGF0YS0+c3RhdGUuY3VycmVudF9zcGVlZCA9IC0xOyAvKiBpbml0IHRvIG5lZ2F0aXZlID09IGltcG9zc2libGUgKi8KICAgfQogCiAgIGlmKHJlc3VsdCkgewogICAgIEN1cmxfcmVzb2x2ZXJfY2xlYW51cChkYXRhLT5zdGF0ZS5yZXNvbHZlcik7Ci0gICAgZnJlZShkYXRhLT5zdGF0ZS5idWZmZXIpOwotICAgIGZyZWUoZGF0YS0+c3RhdGUuaGVhZGVyYnVmZik7CisgICAgQ3VybF9keW5fZnJlZSgmZGF0YS0+c3RhdGUuaGVhZGVyYik7CiAgICAgQ3VybF9mcmVlc2V0KGRhdGEpOwogICAgIGZyZWUoZGF0YSk7CiAgICAgZGF0YSA9IE5VTEw7CkBAIC02ODQsOSArNjkwLDcgQEAKIAogc3RhdGljIHZvaWQgY29ubl9zaHV0ZG93bihzdHJ1Y3QgY29ubmVjdGRhdGEgKmNvbm4pCiB7Ci0gIGlmKCFjb25uKQotICAgIHJldHVybjsKLQorICBERUJVR0FTU0VSVChjb25uKTsKICAgaW5mb2YoY29ubi0+ZGF0YSwgIkNsb3NpbmcgY29ubmVjdGlvbiAlbGRcbiIsIGNvbm4tPmNvbm5lY3Rpb25faWQpOwogICBERUJVR0FTU0VSVChjb25uLT5kYXRhKTsKIApAQCAtNzA3LDU0ICs3MTEsNDAgQEAKICAgICBDdXJsX2Nsb3Nlc29ja2V0KGNvbm4sIGNvbm4tPnRlbXBzb2NrWzBdKTsKICAgaWYoQ1VSTF9TT0NLRVRfQkFEICE9IGNvbm4tPnRlbXBzb2NrWzFdKQogICAgIEN1cmxfY2xvc2Vzb2NrZXQoY29ubiwgY29ubi0+dGVtcHNvY2tbMV0pOwotCi0gIC8qIHVubGluayBvdXJzZWx2ZXMuIHRoaXMgc2hvdWxkIGJlIGNhbGxlZCBsYXN0IHNpbmNlIG90aGVyIHNodXRkb3duCi0gICAgIHByb2NlZHVyZXMgbmVlZCBhIHZhbGlkIGNvbm4tPmRhdGEgYW5kIHRoaXMgbWF5IGNsZWFyIGl0LiAqLwotICBDdXJsX2Nvbm5jYWNoZV9yZW1vdmVfY29ubihjb25uLT5kYXRhLCBjb25uLCBUUlVFKTsKIH0KIAogc3RhdGljIHZvaWQgY29ubl9mcmVlKHN0cnVjdCBjb25uZWN0ZGF0YSAqY29ubikKIHsKLSAgaWYoIWNvbm4pCi0gICAgcmV0dXJuOworICBERUJVR0FTU0VSVChjb25uKTsKIAogICBDdXJsX2ZyZWVfaWRuY29udmVydGVkX2hvc3RuYW1lKCZjb25uLT5ob3N0KTsKICAgQ3VybF9mcmVlX2lkbmNvbnZlcnRlZF9ob3N0bmFtZSgmY29ubi0+Y29ubl90b19ob3N0KTsKKyNpZm5kZWYgQ1VSTF9ESVNBQkxFX1BST1hZCiAgIEN1cmxfZnJlZV9pZG5jb252ZXJ0ZWRfaG9zdG5hbWUoJmNvbm4tPmh0dHBfcHJveHkuaG9zdCk7CiAgIEN1cmxfZnJlZV9pZG5jb252ZXJ0ZWRfaG9zdG5hbWUoJmNvbm4tPnNvY2tzX3Byb3h5Lmhvc3QpOwotCi0gIEN1cmxfc2FmZWZyZWUoY29ubi0+dXNlcik7Ci0gIEN1cmxfc2FmZWZyZWUoY29ubi0+cGFzc3dkKTsKLSAgQ3VybF9zYWZlZnJlZShjb25uLT5zYXNsX2F1dGh6aWQpOwotICBDdXJsX3NhZmVmcmVlKGNvbm4tPm9wdGlvbnMpOwogICBDdXJsX3NhZmVmcmVlKGNvbm4tPmh0dHBfcHJveHkudXNlcik7CiAgIEN1cmxfc2FmZWZyZWUoY29ubi0+c29ja3NfcHJveHkudXNlcik7CiAgIEN1cmxfc2FmZWZyZWUoY29ubi0+aHR0cF9wcm94eS5wYXNzd2QpOwogICBDdXJsX3NhZmVmcmVlKGNvbm4tPnNvY2tzX3Byb3h5LnBhc3N3ZCk7Ci0gIEN1cmxfc2FmZWZyZWUoY29ubi0+YWxsb2NwdHIucHJveHl1c2VycHdkKTsKLSAgQ3VybF9zYWZlZnJlZShjb25uLT5hbGxvY3B0ci51YWdlbnQpOwotICBDdXJsX3NhZmVmcmVlKGNvbm4tPmFsbG9jcHRyLnVzZXJwd2QpOwotICBDdXJsX3NhZmVmcmVlKGNvbm4tPmFsbG9jcHRyLmFjY2VwdF9lbmNvZGluZyk7Ci0gIEN1cmxfc2FmZWZyZWUoY29ubi0+YWxsb2NwdHIudGUpOwotICBDdXJsX3NhZmVmcmVlKGNvbm4tPmFsbG9jcHRyLnJhbmdlbGluZSk7Ci0gIEN1cmxfc2FmZWZyZWUoY29ubi0+YWxsb2NwdHIucmVmKTsKLSAgQ3VybF9zYWZlZnJlZShjb25uLT5hbGxvY3B0ci5ob3N0KTsKLSAgQ3VybF9zYWZlZnJlZShjb25uLT5hbGxvY3B0ci5jb29raWVob3N0KTsKLSAgQ3VybF9zYWZlZnJlZShjb25uLT5hbGxvY3B0ci5ydHNwX3RyYW5zcG9ydCk7Ci0gIEN1cmxfc2FmZWZyZWUoY29ubi0+dHJhaWxlcik7CisgIEN1cmxfc2FmZWZyZWUoY29ubi0+aHR0cF9wcm94eS5ob3N0LnJhd2FsbG9jKTsgLyogaHR0cCBwcm94eSBuYW1lIGJ1ZmZlciAqLworICBDdXJsX3NhZmVmcmVlKGNvbm4tPnNvY2tzX3Byb3h5Lmhvc3QucmF3YWxsb2MpOyAvKiBzb2NrcyBwcm94eSBuYW1lIGJ1ZmZlciAqLworICBDdXJsX2ZyZWVfcHJpbWFyeV9zc2xfY29uZmlnKCZjb25uLT5wcm94eV9zc2xfY29uZmlnKTsKKyNlbmRpZgorICBDdXJsX3NhZmVmcmVlKGNvbm4tPnVzZXIpOworICBDdXJsX3NhZmVmcmVlKGNvbm4tPnBhc3N3ZCk7CisgIEN1cmxfc2FmZWZyZWUoY29ubi0+c2FzbF9hdXRoemlkKTsKKyAgQ3VybF9zYWZlZnJlZShjb25uLT5vcHRpb25zKTsKKyAgQ3VybF9keW5fZnJlZSgmY29ubi0+dHJhaWxlcik7CiAgIEN1cmxfc2FmZWZyZWUoY29ubi0+aG9zdC5yYXdhbGxvYyk7IC8qIGhvc3QgbmFtZSBidWZmZXIgKi8KICAgQ3VybF9zYWZlZnJlZShjb25uLT5jb25uX3RvX2hvc3QucmF3YWxsb2MpOyAvKiBob3N0IG5hbWUgYnVmZmVyICovCiAgIEN1cmxfc2FmZWZyZWUoY29ubi0+aG9zdG5hbWVfcmVzb2x2ZSk7CiAgIEN1cmxfc2FmZWZyZWUoY29ubi0+c2Vjb25kYXJ5aG9zdG5hbWUpOwotICBDdXJsX3NhZmVmcmVlKGNvbm4tPmh0dHBfcHJveHkuaG9zdC5yYXdhbGxvYyk7IC8qIGh0dHAgcHJveHkgbmFtZSBidWZmZXIgKi8KLSAgQ3VybF9zYWZlZnJlZShjb25uLT5zb2Nrc19wcm94eS5ob3N0LnJhd2FsbG9jKTsgLyogc29ja3MgcHJveHkgbmFtZSBidWZmZXIgKi8KICAgQ3VybF9zYWZlZnJlZShjb25uLT5jb25uZWN0X3N0YXRlKTsKIAogICBjb25uX3Jlc2V0X2FsbF9wb3N0cG9uZWRfZGF0YShjb25uKTsKICAgQ3VybF9sbGlzdF9kZXN0cm95KCZjb25uLT5lYXN5cSwgTlVMTCk7CiAgIEN1cmxfc2FmZWZyZWUoY29ubi0+bG9jYWxkZXYpOwogICBDdXJsX2ZyZWVfcHJpbWFyeV9zc2xfY29uZmlnKCZjb25uLT5zc2xfY29uZmlnKTsKLSAgQ3VybF9mcmVlX3ByaW1hcnlfc3NsX2NvbmZpZygmY29ubi0+cHJveHlfc3NsX2NvbmZpZyk7CiAKICNpZmRlZiBVU0VfVU5JWF9TT0NLRVRTCiAgIEN1cmxfc2FmZWZyZWUoY29ubi0+dW5peF9kb21haW5fc29ja2V0KTsKQEAgLTc4MywxMyArNzczLDE3IEBACiBDVVJMY29kZSBDdXJsX2Rpc2Nvbm5lY3Qoc3RydWN0IEN1cmxfZWFzeSAqZGF0YSwKICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJ1Y3QgY29ubmVjdGRhdGEgKmNvbm4sIGJvb2wgZGVhZF9jb25uZWN0aW9uKQogewotICBpZighY29ubikKLSAgICByZXR1cm4gQ1VSTEVfT0s7IC8qIHRoaXMgaXMgY2xvc2VkIGFuZCBmaW5lIGFscmVhZHkgKi8KKyAgLyogdGhlcmUgbXVzdCBiZSBhIGNvbm5lY3Rpb24gdG8gY2xvc2UgKi8KKyAgREVCVUdBU1NFUlQoY29ubik7CiAKLSAgaWYoIWRhdGEpIHsKLSAgICBERUJVR0YoaW5mb2YoZGF0YSwgIkRJU0NPTk5FQ1Qgd2l0aG91dCBlYXN5IGhhbmRsZSwgaWdub3JpbmdcbiIpKTsKLSAgICByZXR1cm4gQ1VSTEVfT0s7Ci0gIH0KKyAgLyogaXQgbXVzdCBiZSByZW1vdmVkIGZyb20gdGhlIGNvbm5lY3Rpb24gY2FjaGUgKi8KKyAgREVCVUdBU1NFUlQoIWNvbm4tPmJ1bmRsZSk7CisKKyAgLyogdGhlcmUgbXVzdCBiZSBhbiBhc3NvY2lhdGVkIHRyYW5zZmVyICovCisgIERFQlVHQVNTRVJUKGRhdGEpOworCisgIC8qIHRoZSB0cmFuc2ZlciBtdXN0IGJlIGRldGFjaGVkIGZyb20gdGhlIGNvbm5lY3Rpb24gKi8KKyAgREVCVUdBU1NFUlQoIWRhdGEtPmNvbm4pOwogCiAgIC8qCiAgICAqIElmIHRoaXMgY29ubmVjdGlvbiBpc24ndCBtYXJrZWQgdG8gZm9yY2UtY2xvc2UsIGxlYXZlIGl0IG9wZW4gaWYgdGhlcmUKQEAgLTgwNSwxNiArNzk5LDExIEBACiAgICAgY29ubi0+ZG5zX2VudHJ5ID0gTlVMTDsKICAgfQogCi0gIEN1cmxfaG9zdGNhY2hlX3BydW5lKGRhdGEpOyAvKiBraWxsIG9sZCBETlMgY2FjaGUgZW50cmllcyAqLwotCi0jaWYgIWRlZmluZWQoQ1VSTF9ESVNBQkxFX0hUVFApICYmIGRlZmluZWQoVVNFX05UTE0pCiAgIC8qIENsZWFudXAgTlRMTSBjb25uZWN0aW9uLXJlbGF0ZWQgZGF0YSAqLwogICBDdXJsX2h0dHBfYXV0aF9jbGVhbnVwX250bG0oY29ubik7Ci0jZW5kaWYKLSNpZiAhZGVmaW5lZChDVVJMX0RJU0FCTEVfSFRUUCkgJiYgZGVmaW5lZChVU0VfU1BORUdPKQorCiAgIC8qIENsZWFudXAgTkVHT1RJQVRFIGNvbm5lY3Rpb24tcmVsYXRlZCBkYXRhICovCiAgIEN1cmxfaHR0cF9hdXRoX2NsZWFudXBfbmVnb3RpYXRlKGNvbm4pOwotI2VuZGlmCiAKICAgLyogdGhlIHByb3RvY29sIHNwZWNpZmljIGRpc2Nvbm5lY3QgaGFuZGxlciBhbmQgY29ubl9zaHV0ZG93biBuZWVkIGEgdHJhbnNmZXIKICAgICAgZm9yIHRoZSBjb25uZWN0aW9uISAqLwpAQCAtODc2LDggKzg2NSw4IEBACiAKICNpZm5kZWYgQ1VSTF9ESVNBQkxFX1BST1hZCiBzdGF0aWMgYm9vbAotcHJveHlfaW5mb19tYXRjaGVzKGNvbnN0IHN0cnVjdCBwcm94eV9pbmZvKiBkYXRhLAotICAgICAgICAgICAgICAgICAgIGNvbnN0IHN0cnVjdCBwcm94eV9pbmZvKiBuZWVkbGUpCitwcm94eV9pbmZvX21hdGNoZXMoY29uc3Qgc3RydWN0IHByb3h5X2luZm8gKmRhdGEsCisgICAgICAgICAgICAgICAgICAgY29uc3Qgc3RydWN0IHByb3h5X2luZm8gKm5lZWRsZSkKIHsKICAgaWYoKGRhdGEtPnByb3h5dHlwZSA9PSBuZWVkbGUtPnByb3h5dHlwZSkgJiYKICAgICAgKGRhdGEtPnBvcnQgPT0gbmVlZGxlLT5wb3J0KSAmJgpAQCAtODg4LDggKzg3Nyw4IEBACiB9CiAKIHN0YXRpYyBib29sCi1zb2Nrc19wcm94eV9pbmZvX21hdGNoZXMoY29uc3Qgc3RydWN0IHByb3h5X2luZm8qIGRhdGEsCi0gICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qgc3RydWN0IHByb3h5X2luZm8qIG5lZWRsZSkKK3NvY2tzX3Byb3h5X2luZm9fbWF0Y2hlcyhjb25zdCBzdHJ1Y3QgcHJveHlfaW5mbyAqZGF0YSwKKyAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBzdHJ1Y3QgcHJveHlfaW5mbyAqbmVlZGxlKQogewogICBpZighcHJveHlfaW5mb19tYXRjaGVzKGRhdGEsIG5lZWRsZSkpCiAgICAgcmV0dXJuIEZBTFNFOwpAQCAtMTAxMSw4ICsxMDAwLDEyIEBACiBzdGF0aWMgdm9pZCBwcnVuZV9kZWFkX2Nvbm5lY3Rpb25zKHN0cnVjdCBDdXJsX2Vhc3kgKmRhdGEpCiB7CiAgIHN0cnVjdCBjdXJsdGltZSBub3cgPSBDdXJsX25vdygpOwotICB0aW1lZGlmZl90IGVsYXBzZWQgPQorICB0aW1lZGlmZl90IGVsYXBzZWQ7CisKKyAgQ09OTkNBQ0hFX0xPQ0soZGF0YSk7CisgIGVsYXBzZWQgPQogICAgIEN1cmxfdGltZWRpZmYobm93LCBkYXRhLT5zdGF0ZS5jb25uX2NhY2hlLT5sYXN0X2NsZWFudXApOworICBDT05OQ0FDSEVfVU5MT0NLKGRhdGEpOwogCiAgIGlmKGVsYXBzZWQgPj0gMTAwMEwpIHsKICAgICBzdHJ1Y3QgcHJ1bmVkZWFkIHBydW5lOwpAQCAtMTAyMCwxMCArMTAxMywxNyBAQAogICAgIHBydW5lLmV4dHJhY3RlZCA9IE5VTEw7CiAgICAgd2hpbGUoQ3VybF9jb25uY2FjaGVfZm9yZWFjaChkYXRhLCBkYXRhLT5zdGF0ZS5jb25uX2NhY2hlLCAmcHJ1bmUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjYWxsX2V4dHJhY3RfaWZfZGVhZCkpIHsKKyAgICAgIC8qIHVubG9ja2VkICovCisKKyAgICAgIC8qIHJlbW92ZSBjb25uZWN0aW9uIGZyb20gY2FjaGUgKi8KKyAgICAgIEN1cmxfY29ubmNhY2hlX3JlbW92ZV9jb25uKGRhdGEsIHBydW5lLmV4dHJhY3RlZCwgVFJVRSk7CisKICAgICAgIC8qIGRpc2Nvbm5lY3QgaXQgKi8KICAgICAgICh2b2lkKUN1cmxfZGlzY29ubmVjdChkYXRhLCBwcnVuZS5leHRyYWN0ZWQsIC8qIGRlYWRfY29ubmVjdGlvbiAqL1RSVUUpOwogICAgIH0KKyAgICBDT05OQ0FDSEVfTE9DSyhkYXRhKTsKICAgICBkYXRhLT5zdGF0ZS5jb25uX2NhY2hlLT5sYXN0X2NsZWFudXAgPSBub3c7CisgICAgQ09OTkNBQ0hFX1VOTE9DSyhkYXRhKTsKICAgfQogfQogCkBAIC0xMDU2LDEwICsxMDU2LDE0IEBACiAgIGJvb2wgd2FudE5UTE1odHRwID0gKChkYXRhLT5zdGF0ZS5hdXRoaG9zdC53YW50ICYKICAgICAgICAgICAgICAgICAgICAgICAoQ1VSTEFVVEhfTlRMTSB8IENVUkxBVVRIX05UTE1fV0IpKSAmJgogICAgICAgICAgICAgICAgICAgICAgIChuZWVkbGUtPmhhbmRsZXItPnByb3RvY29sICYgUFJPVE9fRkFNSUxZX0hUVFApKTsKKyNpZm5kZWYgQ1VSTF9ESVNBQkxFX1BST1hZCiAgIGJvb2wgd2FudFByb3h5TlRMTWh0dHAgPSAobmVlZGxlLT5iaXRzLnByb3h5X3VzZXJfcGFzc3dkICYmCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKGRhdGEtPnN0YXRlLmF1dGhwcm94eS53YW50ICYKICAgICAgICAgICAgICAgICAgICAgICAgICAgIChDVVJMQVVUSF9OVExNIHwgQ1VSTEFVVEhfTlRMTV9XQikpICYmCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAobmVlZGxlLT5oYW5kbGVyLT5wcm90b2NvbCAmIFBST1RPX0ZBTUlMWV9IVFRQKSkpOworI2Vsc2UKKyAgYm9vbCB3YW50UHJveHlOVExNaHR0cCA9IEZBTFNFOworI2VuZGlmCiAjZW5kaWYKIAogICAqZm9yY2VfcmV1c2UgPSBGQUxTRTsKQEAgLTEwODMsNyArMTA4Nyw3IEBACiAgICAgICAgIGlmKGRhdGEtPnNldC5waXBld2FpdCkgewogICAgICAgICAgIGluZm9mKGRhdGEsICJTZXJ2ZXIgZG9lc24ndCBzdXBwb3J0IG11bHRpcGxleCB5ZXQsIHdhaXRcbiIpOwogICAgICAgICAgICp3YWl0cGlwZSA9IFRSVUU7Ci0gICAgICAgICAgQ3VybF9jb25uY2FjaGVfdW5sb2NrKGRhdGEpOworICAgICAgICAgIENPTk5DQUNIRV9VTkxPQ0soZGF0YSk7CiAgICAgICAgICAgcmV0dXJuIEZBTFNFOyAvKiBubyByZS11c2UgKi8KICAgICAgICAgfQogCkBAIC0xMTU2LDcgKzExNjAsOCBAQAogICAgICAgICAgIGNvbnRpbnVlOwogICAgICAgICBpZihzdHJjbXAobmVlZGxlLT51bml4X2RvbWFpbl9zb2NrZXQsIGNoZWNrLT51bml4X2RvbWFpbl9zb2NrZXQpKQogICAgICAgICAgIGNvbnRpbnVlOwotICAgICAgICBpZihuZWVkbGUtPmFic3RyYWN0X3VuaXhfc29ja2V0ICE9IGNoZWNrLT5hYnN0cmFjdF91bml4X3NvY2tldCkKKyAgICAgICAgaWYobmVlZGxlLT5iaXRzLmFic3RyYWN0X3VuaXhfc29ja2V0ICE9CisgICAgICAgICAgIGNoZWNrLT5iaXRzLmFic3RyYWN0X3VuaXhfc29ja2V0KQogICAgICAgICAgIGNvbnRpbnVlOwogICAgICAgfQogICAgICAgZWxzZSBpZihjaGVjay0+dW5peF9kb21haW5fc29ja2V0KQpAQCAtMTE2NywxMCArMTE3MiwxMSBAQAogICAgICAgICAgKGNoZWNrLT5oYW5kbGVyLT5mbGFncyZQUk9UT1BUX1NTTCkpCiAgICAgICAgIC8qIGRvbid0IGRvIG1peGVkIFNTTCBhbmQgbm9uLVNTTCBjb25uZWN0aW9ucyAqLwogICAgICAgICBpZihnZXRfcHJvdG9jb2xfZmFtaWx5KGNoZWNrLT5oYW5kbGVyLT5wcm90b2NvbCkgIT0KLSAgICAgICAgICAgbmVlZGxlLT5oYW5kbGVyLT5wcm90b2NvbCB8fCAhY2hlY2stPnRsc191cGdyYWRlZCkKKyAgICAgICAgICAgbmVlZGxlLT5oYW5kbGVyLT5wcm90b2NvbCB8fCAhY2hlY2stPmJpdHMudGxzX3VwZ3JhZGVkKQogICAgICAgICAgIC8qIGV4Y2VwdCBwcm90b2NvbHMgdGhhdCBoYXZlIGJlZW4gdXBncmFkZWQgdmlhIFRMUyAqLwogICAgICAgICAgIGNvbnRpbnVlOwogCisjaWZuZGVmIENVUkxfRElTQUJMRV9QUk9YWQogICAgICAgaWYobmVlZGxlLT5iaXRzLmh0dHBwcm94eSAhPSBjaGVjay0+Yml0cy5odHRwcHJveHkgfHwKICAgICAgICAgIG5lZWRsZS0+Yml0cy5zb2Nrc3Byb3h5ICE9IGNoZWNrLT5iaXRzLnNvY2tzcHJveHkpCiAgICAgICAgIGNvbnRpbnVlOwpAQCAtMTE3OSw3ICsxMTg1LDcgQEAKICAgICAgICAgIXNvY2tzX3Byb3h5X2luZm9fbWF0Y2hlcygmbmVlZGxlLT5zb2Nrc19wcm94eSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmY2hlY2stPnNvY2tzX3Byb3h5KSkKICAgICAgICAgY29udGludWU7Ci0KKyNlbmRpZgogICAgICAgaWYobmVlZGxlLT5iaXRzLmNvbm5fdG9faG9zdCAhPSBjaGVjay0+Yml0cy5jb25uX3RvX2hvc3QpCiAgICAgICAgIC8qIGRvbid0IG1peCBjb25uZWN0aW9ucyB0aGF0IHVzZSB0aGUgImNvbm5lY3QgdG8gaG9zdCIgZmVhdHVyZSBhbmQKICAgICAgICAgICogY29ubmVjdGlvbnMgdGhhdCBkb24ndCB1c2UgdGhpcyBmZWF0dXJlICovCkBAIC0xMTkwLDYgKzExOTYsNyBAQAogICAgICAgICAgKiBjb25uZWN0aW9ucyB0aGF0IGRvbid0IHVzZSB0aGlzIGZlYXR1cmUgKi8KICAgICAgICAgY29udGludWU7CiAKKyNpZm5kZWYgQ1VSTF9ESVNBQkxFX1BST1hZCiAgICAgICBpZihuZWVkbGUtPmJpdHMuaHR0cHByb3h5KSB7CiAgICAgICAgIGlmKCFwcm94eV9pbmZvX21hdGNoZXMoJm5lZWRsZS0+aHR0cF9wcm94eSwgJmNoZWNrLT5odHRwX3Byb3h5KSkKICAgICAgICAgICBjb250aW51ZTsKQEAgLTEyMTYsNiArMTIyMyw3IEBACiAgICAgICAgICAgfQogICAgICAgICB9CiAgICAgICB9CisjZW5kaWYKIAogICAgICAgREVCVUdBU1NFUlQoIWNoZWNrLT5kYXRhIHx8IEdPT0RfRUFTWV9IQU5ETEUoY2hlY2stPmRhdGEpKTsKIApAQCAtMTI1OCwxNSArMTI2NiwxOCBAQAogICAgICAgICB9CiAgICAgICB9CiAKLSAgICAgIGlmKCFuZWVkbGUtPmJpdHMuaHR0cHByb3h5IHx8IChuZWVkbGUtPmhhbmRsZXItPmZsYWdzJlBST1RPUFRfU1NMKSB8fAotICAgICAgICAgbmVlZGxlLT5iaXRzLnR1bm5lbF9wcm94eSkgeworICAgICAgaWYoKG5lZWRsZS0+aGFuZGxlci0+ZmxhZ3MmUFJPVE9QVF9TU0wpCisjaWZuZGVmIENVUkxfRElTQUJMRV9QUk9YWQorICAgICAgICAgfHwgIW5lZWRsZS0+Yml0cy5odHRwcHJveHkgfHwgbmVlZGxlLT5iaXRzLnR1bm5lbF9wcm94eQorI2VuZGlmCisgICAgICAgICkgewogICAgICAgICAvKiBUaGUgcmVxdWVzdGVkIGNvbm5lY3Rpb24gZG9lcyBub3QgdXNlIGEgSFRUUCBwcm94eSBvciBpdCB1c2VzIFNTTCBvcgogICAgICAgICAgICBpdCBpcyBhIG5vbi1TU0wgcHJvdG9jb2wgdHVubmVsZWQgb3IgaXQgaXMgYSBub24tU1NMIHByb3RvY29sIHdoaWNoCiAgICAgICAgICAgIGlzIGFsbG93ZWQgdG8gYmUgdXBncmFkZWQgdmlhIFRMUyAqLwogCiAgICAgICAgIGlmKChzdHJjYXNlY29tcGFyZShuZWVkbGUtPmhhbmRsZXItPnNjaGVtZSwgY2hlY2stPmhhbmRsZXItPnNjaGVtZSkgfHwKICAgICAgICAgICAgIChnZXRfcHJvdG9jb2xfZmFtaWx5KGNoZWNrLT5oYW5kbGVyLT5wcm90b2NvbCkgPT0KLSAgICAgICAgICAgICBuZWVkbGUtPmhhbmRsZXItPnByb3RvY29sICYmIGNoZWNrLT50bHNfdXBncmFkZWQpKSAmJgorICAgICAgICAgICAgIG5lZWRsZS0+aGFuZGxlci0+cHJvdG9jb2wgJiYgY2hlY2stPmJpdHMudGxzX3VwZ3JhZGVkKSkgJiYKICAgICAgICAgICAgKCFuZWVkbGUtPmJpdHMuY29ubl90b19ob3N0IHx8IHN0cmNhc2Vjb21wYXJlKAogICAgICAgICAgICAgbmVlZGxlLT5jb25uX3RvX2hvc3QubmFtZSwgY2hlY2stPmNvbm5fdG9faG9zdC5uYW1lKSkgJiYKICAgICAgICAgICAgKCFuZWVkbGUtPmJpdHMuY29ubl90b19wb3J0IHx8CkBAIC0xMzI4LDYgKzEzMzksNyBAQAogICAgICAgICAgIGNvbnRpbnVlOwogICAgICAgICB9CiAKKyNpZm5kZWYgQ1VSTF9ESVNBQkxFX1BST1hZCiAgICAgICAgIC8qIFNhbWUgZm9yIFByb3h5IE5UTE0gYXV0aGVudGljYXRpb24gKi8KICAgICAgICAgaWYod2FudFByb3h5TlRMTWh0dHApIHsKICAgICAgICAgICAvKiBCb3RoIGNoZWNrLT5odHRwX3Byb3h5LnVzZXIgYW5kIGNoZWNrLT5odHRwX3Byb3h5LnBhc3N3ZCBjYW4gYmUKQEAgLTEzNDMsNyArMTM1NSw3IEBACiAgICAgICAgICAgLyogUHJveHkgY29ubmVjdGlvbiBpcyB1c2luZyBOVExNIGF1dGggYnV0IHdlIGRvbid0IHdhbnQgTlRMTSAqLwogICAgICAgICAgIGNvbnRpbnVlOwogICAgICAgICB9Ci0KKyNlbmRpZgogICAgICAgICBpZih3YW50TlRMTWh0dHAgfHwgd2FudFByb3h5TlRMTWh0dHApIHsKICAgICAgICAgICAvKiBDcmVkZW50aWFscyBhcmUgYWxyZWFkeSBjaGVja2VkLCB3ZSBjYW4gdXNlIHRoaXMgY29ubmVjdGlvbiAqLwogICAgICAgICAgIGNob3NlbiA9IGNoZWNrOwpAQCAtMTQwNywxMSArMTQxOSwxMiBAQAogICBpZihjaG9zZW4pIHsKICAgICAvKiBtYXJrIGl0IGFzIHVzZWQgYmVmb3JlIHJlbGVhc2luZyB0aGUgbG9jayAqLwogICAgIGNob3Nlbi0+ZGF0YSA9IGRhdGE7IC8qIG93biBpdCEgKi8KLSAgICBDdXJsX2Nvbm5jYWNoZV91bmxvY2soZGF0YSk7CisgICAgQ3VybF9hdHRhY2hfY29ubm5lY3Rpb24oZGF0YSwgY2hvc2VuKTsKKyAgICBDT05OQ0FDSEVfVU5MT0NLKGRhdGEpOwogICAgICp1c2V0aGlzID0gY2hvc2VuOwogICAgIHJldHVybiBUUlVFOyAvKiB5ZXMsIHdlIGZvdW5kIG9uZSB0byB1c2UhICovCiAgIH0KLSAgQ3VybF9jb25uY2FjaGVfdW5sb2NrKGRhdGEpOworICBDT05OQ0FDSEVfVU5MT0NLKGRhdGEpOwogCiAgIGlmKGZvdW5kUGVuZGluZ0NhbmRpZGF0ZSAmJiBkYXRhLT5zZXQucGlwZXdhaXQpIHsKICAgICBpbmZvZihkYXRhLApAQCAtMTQzMCw4ICsxNDQzLDEwIEBACiB7CiAgIGlmKGNvbm4tPmRhdGEtPnNldC52ZXJib3NlKQogICAgIGluZm9mKGNvbm4tPmRhdGEsICJDb25uZWN0ZWQgdG8gJXMgKCVzKSBwb3J0ICVsZCAoIyVsZClcbiIsCisjaWZuZGVmIENVUkxfRElTQUJMRV9QUk9YWQogICAgICAgICAgIGNvbm4tPmJpdHMuc29ja3Nwcm94eSA/IGNvbm4tPnNvY2tzX3Byb3h5Lmhvc3QuZGlzcG5hbWUgOgogICAgICAgICAgIGNvbm4tPmJpdHMuaHR0cHByb3h5ID8gY29ubi0+aHR0cF9wcm94eS5ob3N0LmRpc3BuYW1lIDoKKyNlbmRpZgogICAgICAgICAgIGNvbm4tPmJpdHMuY29ubl90b19ob3N0ID8gY29ubi0+Y29ubl90b19ob3N0LmRpc3BuYW1lIDoKICAgICAgICAgICBjb25uLT5ob3N0LmRpc3BuYW1lLAogICAgICAgICAgIGNvbm4tPmlwX2FkZHJfc3RyLCBjb25uLT5wb3J0LCBjb25uLT5jb25uZWN0aW9uX2lkKTsKQEAgLTE1NzgsOCArMTU5MywxMCBAQAogICAgIGNvbm4tPnNzbF9leHRyYSA9IHNzbDsKICAgICBjb25uLT5zc2xbMF0uYmFja2VuZCA9ICh2b2lkICopc3NsOwogICAgIGNvbm4tPnNzbFsxXS5iYWNrZW5kID0gKHZvaWQgKikoc3NsICsgc3Nsc2l6ZSk7CisjaWZuZGVmIENVUkxfRElTQUJMRV9QUk9YWQogICAgIGNvbm4tPnByb3h5X3NzbFswXS5iYWNrZW5kID0gKHZvaWQgKikoc3NsICsgMiAqIHNzbHNpemUpOwogICAgIGNvbm4tPnByb3h5X3NzbFsxXS5iYWNrZW5kID0gKHZvaWQgKikoc3NsICsgMyAqIHNzbHNpemUpOworI2VuZGlmCiAgIH0KICNlbmRpZgogCkBAIC0xNjE4LDEwICsxNjM1LDEwIEBACiAgIGNvbm4tPmRhdGEgPSBkYXRhOyAvKiBTZXR1cCB0aGUgYXNzb2NpYXRpb24gYmV0d2VlbiB0aGlzIGNvbm5lY3Rpb24KICAgICAgICAgICAgICAgICAgICAgICAgIGFuZCB0aGUgQ3VybF9lYXN5ICovCiAKKyNpZm5kZWYgQ1VSTF9ESVNBQkxFX1BST1hZCiAgIGNvbm4tPmh0dHBfcHJveHkucHJveHl0eXBlID0gZGF0YS0+c2V0LnByb3h5dHlwZTsKICAgY29ubi0+c29ja3NfcHJveHkucHJveHl0eXBlID0gQ1VSTFBST1hZX1NPQ0tTNDsKIAotI2lmICFkZWZpbmVkKENVUkxfRElTQUJMRV9QUk9YWSkKICAgLyogbm90ZSB0aGF0IHRoZXNlIHR3byBwcm94eSBiaXRzIGFyZSBub3cganVzdCBvbiB3aGF0IGxvb2tzIHRvIGJlCiAgICAgIHJlcXVlc3RlZCwgdGhleSBtYXkgYmUgYWx0ZXJlZCBkb3duIHRoZSByb2FkICovCiAgIGNvbm4tPmJpdHMucHJveHkgPSAoZGF0YS0+c2V0LnN0cltTVFJJTkdfUFJPWFldICYmCkBAIC0xNjUyLDEwICsxNjY5LDEyIEBACiAgIGNvbm4tPnNzbF9jb25maWcudmVyaWZ5c3RhdHVzID0gZGF0YS0+c2V0LnNzbC5wcmltYXJ5LnZlcmlmeXN0YXR1czsKICAgY29ubi0+c3NsX2NvbmZpZy52ZXJpZnlwZWVyID0gZGF0YS0+c2V0LnNzbC5wcmltYXJ5LnZlcmlmeXBlZXI7CiAgIGNvbm4tPnNzbF9jb25maWcudmVyaWZ5aG9zdCA9IGRhdGEtPnNldC5zc2wucHJpbWFyeS52ZXJpZnlob3N0OworI2lmbmRlZiBDVVJMX0RJU0FCTEVfUFJPWFkKICAgY29ubi0+cHJveHlfc3NsX2NvbmZpZy52ZXJpZnlzdGF0dXMgPQogICAgIGRhdGEtPnNldC5wcm94eV9zc2wucHJpbWFyeS52ZXJpZnlzdGF0dXM7CiAgIGNvbm4tPnByb3h5X3NzbF9jb25maWcudmVyaWZ5cGVlciA9IGRhdGEtPnNldC5wcm94eV9zc2wucHJpbWFyeS52ZXJpZnlwZWVyOwogICBjb25uLT5wcm94eV9zc2xfY29uZmlnLnZlcmlmeWhvc3QgPSBkYXRhLT5zZXQucHJveHlfc3NsLnByaW1hcnkudmVyaWZ5aG9zdDsKKyNlbmRpZgogICBjb25uLT5pcF92ZXJzaW9uID0gZGF0YS0+c2V0LmlwdmVyOwogICBjb25uLT5iaXRzLmNvbm5lY3Rfb25seSA9IGRhdGEtPnNldC5jb25uZWN0X29ubHk7CiAgIGNvbm4tPnRyYW5zcG9ydCA9IFRSTlNQUlRfVENQOyAvKiBtb3N0IG9mIHRoZW0gYXJlIFRDUCBzdHJlYW1zICovCkBAIC0xODc1LDIzICsxODk0LDMyIEBACiAgIGlmKHJlc3VsdCkKICAgICByZXR1cm4gcmVzdWx0OwogCi0gIHVjID0gY3VybF91cmxfZ2V0KHVoLCBDVVJMVVBBUlRfVVNFUiwgJmRhdGEtPnN0YXRlLnVwLnVzZXIsCi0gICAgICAgICAgICAgICAgICAgIENVUkxVX1VSTERFQ09ERSk7CisgIC8qIHdlIGRvbid0IHVzZSB0aGUgVVJMIEFQSSdzIFVSTCBkZWNvZGVyIG9wdGlvbiBoZXJlIHNpbmNlIGl0IHJlamVjdHMKKyAgICAgY29udHJvbCBjb2RlcyBhbmQgd2Ugd2FudCB0byBhbGxvdyB0aGVtIGZvciBzb21lIHNjaGVtZXMgaW4gdGhlIHVzZXIgYW5kCisgICAgIHBhc3N3b3JkIGZpZWxkcyAqLworICB1YyA9IGN1cmxfdXJsX2dldCh1aCwgQ1VSTFVQQVJUX1VTRVIsICZkYXRhLT5zdGF0ZS51cC51c2VyLCAwKTsKICAgaWYoIXVjKSB7Ci0gICAgY29ubi0+dXNlciA9IHN0cmR1cChkYXRhLT5zdGF0ZS51cC51c2VyKTsKLSAgICBpZighY29ubi0+dXNlcikKLSAgICAgIHJldHVybiBDVVJMRV9PVVRfT0ZfTUVNT1JZOworICAgIGNoYXIgKmRlY29kZWQ7CisgICAgcmVzdWx0ID0gQ3VybF91cmxkZWNvZGUoTlVMTCwgZGF0YS0+c3RhdGUudXAudXNlciwgMCwgJmRlY29kZWQsIE5VTEwsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29ubi0+aGFuZGxlci0+ZmxhZ3MmUFJPVE9QVF9VU0VSUFdEQ1RSTCA/CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgUkVKRUNUX1pFUk8gOiBSRUpFQ1RfQ1RSTCk7CisgICAgaWYocmVzdWx0KQorICAgICAgcmV0dXJuIHJlc3VsdDsKKyAgICBjb25uLT51c2VyID0gZGVjb2RlZDsKICAgICBjb25uLT5iaXRzLnVzZXJfcGFzc3dkID0gVFJVRTsKICAgfQogICBlbHNlIGlmKHVjICE9IENVUkxVRV9OT19VU0VSKQogICAgIHJldHVybiBDdXJsX3VjX3RvX2N1cmxjb2RlKHVjKTsKIAotICB1YyA9IGN1cmxfdXJsX2dldCh1aCwgQ1VSTFVQQVJUX1BBU1NXT1JELCAmZGF0YS0+c3RhdGUudXAucGFzc3dvcmQsCi0gICAgICAgICAgICAgICAgICAgIENVUkxVX1VSTERFQ09ERSk7CisgIHVjID0gY3VybF91cmxfZ2V0KHVoLCBDVVJMVVBBUlRfUEFTU1dPUkQsICZkYXRhLT5zdGF0ZS51cC5wYXNzd29yZCwgMCk7CiAgIGlmKCF1YykgewotICAgIGNvbm4tPnBhc3N3ZCA9IHN0cmR1cChkYXRhLT5zdGF0ZS51cC5wYXNzd29yZCk7Ci0gICAgaWYoIWNvbm4tPnBhc3N3ZCkKLSAgICAgIHJldHVybiBDVVJMRV9PVVRfT0ZfTUVNT1JZOworICAgIGNoYXIgKmRlY29kZWQ7CisgICAgcmVzdWx0ID0gQ3VybF91cmxkZWNvZGUoTlVMTCwgZGF0YS0+c3RhdGUudXAucGFzc3dvcmQsIDAsICZkZWNvZGVkLCBOVUxMLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbm4tPmhhbmRsZXItPmZsYWdzJlBST1RPUFRfVVNFUlBXRENUUkwgPworICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJFSkVDVF9aRVJPIDogUkVKRUNUX0NUUkwpOworICAgIGlmKHJlc3VsdCkKKyAgICAgIHJldHVybiByZXN1bHQ7CisgICAgY29ubi0+cGFzc3dkID0gZGVjb2RlZDsKICAgICBjb25uLT5iaXRzLnVzZXJfcGFzc3dkID0gVFJVRTsKICAgfQogICBlbHNlIGlmKHVjICE9IENVUkxVRV9OT19QQVNTV09SRCkKQEAgLTIwMDEsNyArMjAyOSw3IEBACiAgKi8KIHN0YXRpYyBDVVJMY29kZSBzZXR1cF9jb25uZWN0aW9uX2ludGVybmFscyhzdHJ1Y3QgY29ubmVjdGRhdGEgKmNvbm4pCiB7Ci0gIGNvbnN0IHN0cnVjdCBDdXJsX2hhbmRsZXIgKiBwOworICBjb25zdCBzdHJ1Y3QgQ3VybF9oYW5kbGVyICpwOwogICBDVVJMY29kZSByZXN1bHQ7CiAKICAgLyogUGVyZm9ybSBzZXR1cCBjb21wbGVtZW50IGlmIHNvbWUuICovCkBAIC0yMzQ4LDI2ICsyMzc2LDE2IEBACiBzdGF0aWMgQ1VSTGNvZGUgcGFyc2VfcHJveHlfYXV0aChzdHJ1Y3QgQ3VybF9lYXN5ICpkYXRhLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RydWN0IGNvbm5lY3RkYXRhICpjb25uKQogewotICBjaGFyIHByb3h5dXNlcltNQVhfQ1VSTF9VU0VSX0xFTkdUSF09IiI7Ci0gIGNoYXIgcHJveHlwYXNzd2RbTUFYX0NVUkxfUEFTU1dPUkRfTEVOR1RIXT0iIjsKLSAgQ1VSTGNvZGUgcmVzdWx0OworICBjaGFyICpwcm94eXVzZXIgPSBkYXRhLT5zZXQuc3RyW1NUUklOR19QUk9YWVVTRVJOQU1FXTsKKyAgY2hhciAqcHJveHlwYXNzd2QgPSBkYXRhLT5zZXQuc3RyW1NUUklOR19QUk9YWVBBU1NXT1JEXTsKKyAgQ1VSTGNvZGUgcmVzdWx0ID0gQ1VSTEVfT0s7CiAKLSAgaWYoZGF0YS0+c2V0LnN0cltTVFJJTkdfUFJPWFlVU0VSTkFNRV0gIT0gTlVMTCkgewotICAgIHN0cm5jcHkocHJveHl1c2VyLCBkYXRhLT5zZXQuc3RyW1NUUklOR19QUk9YWVVTRVJOQU1FXSwKLSAgICAgICAgICAgIE1BWF9DVVJMX1VTRVJfTEVOR1RIKTsKLSAgICBwcm94eXVzZXJbTUFYX0NVUkxfVVNFUl9MRU5HVEgtMV0gPSAnXDAnOyAgIC8qVG8gYmUgb24gc2FmZSBzaWRlKi8KLSAgfQotICBpZihkYXRhLT5zZXQuc3RyW1NUUklOR19QUk9YWVBBU1NXT1JEXSAhPSBOVUxMKSB7Ci0gICAgc3RybmNweShwcm94eXBhc3N3ZCwgZGF0YS0+c2V0LnN0cltTVFJJTkdfUFJPWFlQQVNTV09SRF0sCi0gICAgICAgICAgICBNQVhfQ1VSTF9QQVNTV09SRF9MRU5HVEgpOwotICAgIHByb3h5cGFzc3dkW01BWF9DVVJMX1BBU1NXT1JEX0xFTkdUSC0xXSA9ICdcMCc7IC8qVG8gYmUgb24gc2FmZSBzaWRlKi8KLSAgfQotCi0gIHJlc3VsdCA9IEN1cmxfdXJsZGVjb2RlKGRhdGEsIHByb3h5dXNlciwgMCwgJmNvbm4tPmh0dHBfcHJveHkudXNlciwgTlVMTCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgRkFMU0UpOwotICBpZighcmVzdWx0KQorICBpZihwcm94eXVzZXIpCisgICAgcmVzdWx0ID0gQ3VybF91cmxkZWNvZGUoZGF0YSwgcHJveHl1c2VyLCAwLCAmY29ubi0+aHR0cF9wcm94eS51c2VyLCBOVUxMLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJFSkVDVF9aRVJPKTsKKyAgaWYoIXJlc3VsdCAmJiBwcm94eXBhc3N3ZCkKICAgICByZXN1bHQgPSBDdXJsX3VybGRlY29kZShkYXRhLCBwcm94eXBhc3N3ZCwgMCwgJmNvbm4tPmh0dHBfcHJveHkucGFzc3dkLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5VTEwsIEZBTFNFKTsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBOVUxMLCBSRUpFQ1RfWkVSTyk7CiAgIHJldHVybiByZXN1bHQ7CiB9CiAKQEAgLTI1ODUsNiArMjYwMywxMiBAQAogICBzaXplX3QgcGxlbjsKICAgc2l6ZV90IG9sZW47CiAKKyAgLyogdGhlIGlucHV0IGxlbmd0aCBjaGVjayBpcyBiZWNhdXNlIHRoaXMgaXMgY2FsbGVkIGRpcmVjdGNseSBmcm9tIHNldG9wdAorICAgICBhbmQgaXNuJ3QgZ29pbmcgdGhyb3VnaCB0aGUgcmVndWxhciBzdHJpbmcgbGVuZ3RoIGNoZWNrICovCisgIHNpemVfdCBsbGVuID0gc3RybGVuKGxvZ2luKTsKKyAgaWYobGxlbiA+IENVUkxfTUFYX0lOUFVUX0xFTkdUSCkKKyAgICByZXR1cm4gQ1VSTEVfQkFEX0ZVTkNUSU9OX0FSR1VNRU5UOworCiAgIC8qIEF0dGVtcHQgdG8gZmluZCB0aGUgcGFzc3dvcmQgc2VwYXJhdG9yICovCiAgIGlmKHBhc3N3ZHApIHsKICAgICBwc2VwID0gc3RyY2hyKGxvZ2luLCAnOicpOwpAQCAtMjc4MSwxMiArMjgwNSwxNCBAQAogCiAgIC8qIGZvciB1cGRhdGVkIHN0cmluZ3MsIHdlIHVwZGF0ZSB0aGVtIGluIHRoZSBVUkwgKi8KICAgaWYodXNlcl9jaGFuZ2VkKSB7Ci0gICAgdWMgPSBjdXJsX3VybF9zZXQoZGF0YS0+c3RhdGUudWgsIENVUkxVUEFSVF9VU0VSLCAqdXNlcnAsIDApOworICAgIHVjID0gY3VybF91cmxfc2V0KGRhdGEtPnN0YXRlLnVoLCBDVVJMVVBBUlRfVVNFUiwgKnVzZXJwLAorICAgICAgICAgICAgICAgICAgICAgIENVUkxVX1VSTEVOQ09ERSk7CiAgICAgaWYodWMpCiAgICAgICByZXR1cm4gQ3VybF91Y190b19jdXJsY29kZSh1Yyk7CiAgIH0KICAgaWYocGFzc3dkX2NoYW5nZWQpIHsKLSAgICB1YyA9IGN1cmxfdXJsX3NldChkYXRhLT5zdGF0ZS51aCwgQ1VSTFVQQVJUX1BBU1NXT1JELCAqcGFzc3dkcCwgMCk7CisgICAgdWMgPSBjdXJsX3VybF9zZXQoZGF0YS0+c3RhdGUudWgsIENVUkxVUEFSVF9QQVNTV09SRCwgKnBhc3N3ZHAsCisgICAgICAgICAgICAgICAgICAgICAgQ1VSTFVfVVJMRU5DT0RFKTsKICAgICBpZih1YykKICAgICAgIHJldHVybiBDdXJsX3VjX3RvX2N1cmxjb2RlKHVjKTsKICAgfQpAQCAtMzE1OSw3ICszMTg1LDcgQEAKICAgICAgIGVsc2UgewogICAgICAgICBib29sIGxvbmdwYXRoID0gRkFMU0U7CiAgICAgICAgIGhvc3RhZGRyLT5hZGRyID0gQ3VybF91bml4MmFkZHIocGF0aCwgJmxvbmdwYXRoLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbm4tPmFic3RyYWN0X3VuaXhfc29ja2V0KTsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25uLT5iaXRzLmFic3RyYWN0X3VuaXhfc29ja2V0KTsKICAgICAgICAgaWYoaG9zdGFkZHItPmFkZHIpCiAgICAgICAgICAgaG9zdGFkZHItPmludXNlKys7CiAgICAgICAgIGVsc2UgewpAQCAtMzE3Nyw2ICszMjAzLDcgQEAKICAgICB9CiAgICAgZWxzZQogI2VuZGlmCisKICAgICBpZighY29ubi0+Yml0cy5wcm94eSkgewogICAgICAgc3RydWN0IGhvc3RuYW1lICpjb25uaG9zdDsKICAgICAgIGlmKGNvbm4tPmJpdHMuY29ubl90b19ob3N0KQpAQCAtMzIwNSwxMCArMzIzMiwxMSBAQAogCiAgICAgICBlbHNlIGlmKCFob3N0YWRkcikgewogICAgICAgICBmYWlsZihkYXRhLCAiQ291bGRuJ3QgcmVzb2x2ZSBob3N0ICclcyciLCBjb25uaG9zdC0+ZGlzcG5hbWUpOwotICAgICAgICByZXN1bHQgPSAgQ1VSTEVfQ09VTEROVF9SRVNPTFZFX0hPU1Q7CisgICAgICAgIHJlc3VsdCA9IENVUkxFX0NPVUxETlRfUkVTT0xWRV9IT1NUOwogICAgICAgICAvKiBkb24ndCByZXR1cm4geWV0LCB3ZSBuZWVkIHRvIGNsZWFuIHVwIHRoZSB0aW1lb3V0IGZpcnN0ICovCiAgICAgICB9CiAgICAgfQorI2lmbmRlZiBDVVJMX0RJU0FCTEVfUFJPWFkKICAgICBlbHNlIHsKICAgICAgIC8qIFRoaXMgaXMgYSBwcm94eSB0aGF0IGhhc24ndCBiZWVuIHJlc29sdmVkIHlldC4gKi8KIApAQCAtMzIzNCw2ICszMjYyLDcgQEAKICAgICAgICAgLyogZG9uJ3QgcmV0dXJuIHlldCwgd2UgbmVlZCB0byBjbGVhbiB1cCB0aGUgdGltZW91dCBmaXJzdCAqLwogICAgICAgfQogICAgIH0KKyNlbmRpZgogICAgIERFQlVHQVNTRVJUKGNvbm4tPmRuc19lbnRyeSA9PSBOVUxMKTsKICAgICBjb25uLT5kbnNfZW50cnkgPSBob3N0YWRkcjsKICAgfQpAQCAtMzI0OSwxNiArMzI3OCwxNyBAQAogc3RhdGljIHZvaWQgcmV1c2VfY29ubihzdHJ1Y3QgY29ubmVjdGRhdGEgKm9sZF9jb25uLAogICAgICAgICAgICAgICAgICAgICAgICBzdHJ1Y3QgY29ubmVjdGRhdGEgKmNvbm4pCiB7CisjaWZuZGVmIENVUkxfRElTQUJMRV9QUk9YWQogICBDdXJsX2ZyZWVfaWRuY29udmVydGVkX2hvc3RuYW1lKCZvbGRfY29ubi0+aHR0cF9wcm94eS5ob3N0KTsKICAgQ3VybF9mcmVlX2lkbmNvbnZlcnRlZF9ob3N0bmFtZSgmb2xkX2Nvbm4tPnNvY2tzX3Byb3h5Lmhvc3QpOwogCiAgIGZyZWUob2xkX2Nvbm4tPmh0dHBfcHJveHkuaG9zdC5yYXdhbGxvYyk7CiAgIGZyZWUob2xkX2Nvbm4tPnNvY2tzX3Byb3h5Lmhvc3QucmF3YWxsb2MpOwotCisgIEN1cmxfZnJlZV9wcmltYXJ5X3NzbF9jb25maWcoJm9sZF9jb25uLT5wcm94eV9zc2xfY29uZmlnKTsKKyNlbmRpZgogICAvKiBmcmVlIHRoZSBTU0wgY29uZmlnIHN0cnVjdCBmcm9tIHRoaXMgY29ubmVjdGlvbiBzdHJ1Y3QgYXMgdGhpcyB3YXMKICAgICAgYWxsb2NhdGVkIGluIHZhaW4gYW5kIGlzIHRhcmdldGVkIGZvciBkZXN0cnVjdGlvbiAqLwogICBDdXJsX2ZyZWVfcHJpbWFyeV9zc2xfY29uZmlnKCZvbGRfY29ubi0+c3NsX2NvbmZpZyk7Ci0gIEN1cmxfZnJlZV9wcmltYXJ5X3NzbF9jb25maWcoJm9sZF9jb25uLT5wcm94eV9zc2xfY29uZmlnKTsKIAogICBjb25uLT5kYXRhID0gb2xkX2Nvbm4tPmRhdGE7CiAKQEAgLTMyNzUsNiArMzMwNSw3IEBACiAgICAgb2xkX2Nvbm4tPnBhc3N3ZCA9IE5VTEw7CiAgIH0KIAorI2lmbmRlZiBDVVJMX0RJU0FCTEVfUFJPWFkKICAgY29ubi0+Yml0cy5wcm94eV91c2VyX3Bhc3N3ZCA9IG9sZF9jb25uLT5iaXRzLnByb3h5X3VzZXJfcGFzc3dkOwogICBpZihjb25uLT5iaXRzLnByb3h5X3VzZXJfcGFzc3dkKSB7CiAgICAgLyogdXNlIHRoZSBuZXcgcHJveHkgdXNlciBuYW1lIGFuZCBwcm94eSBwYXNzd29yZCB0aG91Z2ggKi8KQEAgLTMyOTEsNiArMzMyMiwxMSBAQAogICAgIG9sZF9jb25uLT5odHRwX3Byb3h5LnBhc3N3ZCA9IE5VTEw7CiAgICAgb2xkX2Nvbm4tPnNvY2tzX3Byb3h5LnBhc3N3ZCA9IE5VTEw7CiAgIH0KKyAgQ3VybF9zYWZlZnJlZShvbGRfY29ubi0+aHR0cF9wcm94eS51c2VyKTsKKyAgQ3VybF9zYWZlZnJlZShvbGRfY29ubi0+c29ja3NfcHJveHkudXNlcik7CisgIEN1cmxfc2FmZWZyZWUob2xkX2Nvbm4tPmh0dHBfcHJveHkucGFzc3dkKTsKKyAgQ3VybF9zYWZlZnJlZShvbGRfY29ubi0+c29ja3NfcHJveHkucGFzc3dkKTsKKyNlbmRpZgogCiAgIC8qIGhvc3QgY2FuIGNoYW5nZSwgd2hlbiBkb2luZyBrZWVwYWxpdmUgd2l0aCBhIHByb3h5IG9yIGlmIHRoZSBjYXNlIGlzCiAgICAgIGRpZmZlcmVudCB0aGlzIHRpbWUgZXRjICovCkBAIC0zMzE4LDEwICszMzU0LDYgQEAKICAgQ3VybF9zYWZlZnJlZShvbGRfY29ubi0+dXNlcik7CiAgIEN1cmxfc2FmZWZyZWUob2xkX2Nvbm4tPnBhc3N3ZCk7CiAgIEN1cmxfc2FmZWZyZWUob2xkX2Nvbm4tPm9wdGlvbnMpOwotICBDdXJsX3NhZmVmcmVlKG9sZF9jb25uLT5odHRwX3Byb3h5LnVzZXIpOwotICBDdXJsX3NhZmVmcmVlKG9sZF9jb25uLT5zb2Nrc19wcm94eS51c2VyKTsKLSAgQ3VybF9zYWZlZnJlZShvbGRfY29ubi0+aHR0cF9wcm94eS5wYXNzd2QpOwotICBDdXJsX3NhZmVmcmVlKG9sZF9jb25uLT5zb2Nrc19wcm94eS5wYXNzd2QpOwogICBDdXJsX3NhZmVmcmVlKG9sZF9jb25uLT5sb2NhbGRldik7CiAgIEN1cmxfbGxpc3RfZGVzdHJveSgmb2xkX2Nvbm4tPmVhc3lxLCBOVUxMKTsKIApAQCAtMzQwNiw3ICszNDM4LDcgQEAKICAgICAgIHJlc3VsdCA9IENVUkxFX09VVF9PRl9NRU1PUlk7CiAgICAgICBnb3RvIG91dDsKICAgICB9Ci0gICAgY29ubi0+YWJzdHJhY3RfdW5peF9zb2NrZXQgPSBkYXRhLT5zZXQuYWJzdHJhY3RfdW5peF9zb2NrZXQ7CisgICAgY29ubi0+Yml0cy5hYnN0cmFjdF91bml4X3NvY2tldCA9IGRhdGEtPnNldC5hYnN0cmFjdF91bml4X3NvY2tldDsKICAgfQogI2VuZGlmCiAKQEAgLTM0MTYsNyArMzQ0OCw2IEBACiAgIHJlc3VsdCA9IGNyZWF0ZV9jb25uX2hlbHBlcl9pbml0X3Byb3h5KGNvbm4pOwogICBpZihyZXN1bHQpCiAgICAgZ290byBvdXQ7Ci0jZW5kaWYKIAogICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogICAgKiBJZiB0aGUgcHJvdG9jb2wgaXMgdXNpbmcgU1NMIGFuZCBIVFRQIHByb3h5IGlzIHVzZWQsIHdlIHNldApAQCAtMzQyNCw2ICszNDU1LDcgQEAKICAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCiAgIGlmKChjb25uLT5naXZlbi0+ZmxhZ3MmUFJPVE9QVF9TU0wpICYmIGNvbm4tPmJpdHMuaHR0cHByb3h5KQogICAgIGNvbm4tPmJpdHMudHVubmVsX3Byb3h5ID0gVFJVRTsKKyNlbmRpZgogCiAgIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiAgICAqIEZpZ3VyZSBvdXQgdGhlIHJlbW90ZSBwb3J0IG51bWJlciBhbmQgZml4IGl0IGluIHRoZSBVUkwKQEAgLTM0NjIsNiArMzQ5NCw3IEBACiAgICAgaWYocmVzdWx0KQogICAgICAgZ290byBvdXQ7CiAgIH0KKyNpZm5kZWYgQ1VSTF9ESVNBQkxFX1BST1hZCiAgIGlmKGNvbm4tPmJpdHMuaHR0cHByb3h5KSB7CiAgICAgcmVzdWx0ID0gQ3VybF9pZG5jb252ZXJ0X2hvc3RuYW1lKGNvbm4sICZjb25uLT5odHRwX3Byb3h5Lmhvc3QpOwogICAgIGlmKHJlc3VsdCkKQEAgLTM0NzIsNiArMzUwNSw3IEBACiAgICAgaWYocmVzdWx0KQogICAgICAgZ290byBvdXQ7CiAgIH0KKyNlbmRpZgogCiAgIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiAgICAqIENoZWNrIHdoZXRoZXIgdGhlIGhvc3QgYW5kIHRoZSAiY29ubmVjdCB0byBob3N0IiBhcmUgZXF1YWwuCkBAIC0zNDkwLDYgKzM1MjQsNyBAQAogICAgIGNvbm4tPmJpdHMuY29ubl90b19wb3J0ID0gRkFMU0U7CiAgIH0KIAorI2lmbmRlZiBDVVJMX0RJU0FCTEVfUFJPWFkKICAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKICAgICogSWYgdGhlICJjb25uZWN0IHRvIiBmZWF0dXJlIGlzIHVzZWQgd2l0aCBhbiBIVFRQIHByb3h5LAogICAgKiB3ZSBzZXQgdGhlIHR1bm5lbF9wcm94eSBiaXQuCkBAIC0zNDk3LDYgKzM1MzIsNyBAQAogICBpZigoY29ubi0+Yml0cy5jb25uX3RvX2hvc3QgfHwgY29ubi0+Yml0cy5jb25uX3RvX3BvcnQpICYmCiAgICAgICBjb25uLT5iaXRzLmh0dHBwcm94eSkKICAgICBjb25uLT5iaXRzLnR1bm5lbF9wcm94eSA9IFRSVUU7CisjZW5kaWYKIAogICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogICAgKiBTZXR1cCBpbnRlcm5hbHMgZGVwZW5kaW5nIG9uIHByb3RvY29sLiBOZWVkcyB0byBiZSBkb25lIGFmdGVyCkBAIC0zNTI5LDYgKzM1NjUsNyBAQAogICAgIGlmKCFyZXN1bHQpIHsKICAgICAgIGNvbm4tPmJpdHMudGNwY29ubmVjdFtGSVJTVFNPQ0tFVF0gPSBUUlVFOyAvKiB3ZSBhcmUgImNvbm5lY3RlZCAqLwogCisgICAgICBDdXJsX2F0dGFjaF9jb25ubmVjdGlvbihkYXRhLCBjb25uKTsKICAgICAgIHJlc3VsdCA9IEN1cmxfY29ubmNhY2hlX2FkZF9jb25uKGRhdGEtPnN0YXRlLmNvbm5fY2FjaGUsIGNvbm4pOwogICAgICAgaWYocmVzdWx0KQogICAgICAgICBnb3RvIG91dDsKQEAgLTM1NDMsNyArMzU4MCw2IEBACiAgICAgICAgICh2b2lkKWNvbm4tPmhhbmRsZXItPmRvbmUoY29ubiwgcmVzdWx0LCBGQUxTRSk7CiAgICAgICAgIGdvdG8gb3V0OwogICAgICAgfQotICAgICAgQ3VybF9hdHRhY2hfY29ubm5lY3Rpb24oZGF0YSwgY29ubik7CiAgICAgICBDdXJsX3NldHVwX3RyYW5zZmVyKGRhdGEsIC0xLCAtMSwgRkFMU0UsIC0xKTsKICAgICB9CiAKQEAgLTM1NjQsNjEgKzM2MDAsNzUgQEAKICAgICAgY29waWVzIHdpbGwgYmUgc2VwYXJhdGVseSBhbGxvY2F0ZWQuCiAgICovCiAgIGRhdGEtPnNldC5zc2wucHJpbWFyeS5DQXBhdGggPSBkYXRhLT5zZXQuc3RyW1NUUklOR19TU0xfQ0FQQVRIX09SSUddOwotICBkYXRhLT5zZXQucHJveHlfc3NsLnByaW1hcnkuQ0FwYXRoID0gZGF0YS0+c2V0LnN0cltTVFJJTkdfU1NMX0NBUEFUSF9QUk9YWV07CiAgIGRhdGEtPnNldC5zc2wucHJpbWFyeS5DQWZpbGUgPSBkYXRhLT5zZXQuc3RyW1NUUklOR19TU0xfQ0FGSUxFX09SSUddOwotICBkYXRhLT5zZXQucHJveHlfc3NsLnByaW1hcnkuQ0FmaWxlID0gZGF0YS0+c2V0LnN0cltTVFJJTkdfU1NMX0NBRklMRV9QUk9YWV07CiAgIGRhdGEtPnNldC5zc2wucHJpbWFyeS5yYW5kb21fZmlsZSA9IGRhdGEtPnNldC5zdHJbU1RSSU5HX1NTTF9SQU5ET01fRklMRV07Ci0gIGRhdGEtPnNldC5wcm94eV9zc2wucHJpbWFyeS5yYW5kb21fZmlsZSA9Ci0gICAgZGF0YS0+c2V0LnN0cltTVFJJTkdfU1NMX1JBTkRPTV9GSUxFXTsKICAgZGF0YS0+c2V0LnNzbC5wcmltYXJ5LmVnZHNvY2tldCA9IGRhdGEtPnNldC5zdHJbU1RSSU5HX1NTTF9FR0RTT0NLRVRdOwotICBkYXRhLT5zZXQucHJveHlfc3NsLnByaW1hcnkuZWdkc29ja2V0ID0gZGF0YS0+c2V0LnN0cltTVFJJTkdfU1NMX0VHRFNPQ0tFVF07CiAgIGRhdGEtPnNldC5zc2wucHJpbWFyeS5jaXBoZXJfbGlzdCA9CiAgICAgZGF0YS0+c2V0LnN0cltTVFJJTkdfU1NMX0NJUEhFUl9MSVNUX09SSUddOwotICBkYXRhLT5zZXQucHJveHlfc3NsLnByaW1hcnkuY2lwaGVyX2xpc3QgPQotICAgIGRhdGEtPnNldC5zdHJbU1RSSU5HX1NTTF9DSVBIRVJfTElTVF9QUk9YWV07CiAgIGRhdGEtPnNldC5zc2wucHJpbWFyeS5jaXBoZXJfbGlzdDEzID0KICAgICBkYXRhLT5zZXQuc3RyW1NUUklOR19TU0xfQ0lQSEVSMTNfTElTVF9PUklHXTsKLSAgZGF0YS0+c2V0LnByb3h5X3NzbC5wcmltYXJ5LmNpcGhlcl9saXN0MTMgPQotICAgIGRhdGEtPnNldC5zdHJbU1RSSU5HX1NTTF9DSVBIRVIxM19MSVNUX1BST1hZXTsKICAgZGF0YS0+c2V0LnNzbC5wcmltYXJ5LnBpbm5lZF9rZXkgPQogICAgIGRhdGEtPnNldC5zdHJbU1RSSU5HX1NTTF9QSU5ORURQVUJMSUNLRVlfT1JJR107CisgIGRhdGEtPnNldC5zc2wucHJpbWFyeS5jZXJ0X2Jsb2IgPSBkYXRhLT5zZXQuYmxvYnNbQkxPQl9DRVJUX09SSUddOworCisjaWZuZGVmIENVUkxfRElTQUJMRV9QUk9YWQorICBkYXRhLT5zZXQucHJveHlfc3NsLnByaW1hcnkuQ0FwYXRoID0gZGF0YS0+c2V0LnN0cltTVFJJTkdfU1NMX0NBUEFUSF9QUk9YWV07CisgIGRhdGEtPnNldC5wcm94eV9zc2wucHJpbWFyeS5DQWZpbGUgPSBkYXRhLT5zZXQuc3RyW1NUUklOR19TU0xfQ0FGSUxFX1BST1hZXTsKKyAgZGF0YS0+c2V0LnByb3h5X3NzbC5wcmltYXJ5LnJhbmRvbV9maWxlID0KKyAgICBkYXRhLT5zZXQuc3RyW1NUUklOR19TU0xfUkFORE9NX0ZJTEVdOworICBkYXRhLT5zZXQucHJveHlfc3NsLnByaW1hcnkuZWdkc29ja2V0ID0gZGF0YS0+c2V0LnN0cltTVFJJTkdfU1NMX0VHRFNPQ0tFVF07CisgIGRhdGEtPnNldC5wcm94eV9zc2wucHJpbWFyeS5jaXBoZXJfbGlzdCA9CisgICAgZGF0YS0+c2V0LnN0cltTVFJJTkdfU1NMX0NJUEhFUl9MSVNUX1BST1hZXTsKKyAgZGF0YS0+c2V0LnByb3h5X3NzbC5wcmltYXJ5LmNpcGhlcl9saXN0MTMgPQorICAgIGRhdGEtPnNldC5zdHJbU1RSSU5HX1NTTF9DSVBIRVIxM19MSVNUX1BST1hZXTsKICAgZGF0YS0+c2V0LnByb3h5X3NzbC5wcmltYXJ5LnBpbm5lZF9rZXkgPQogICAgIGRhdGEtPnNldC5zdHJbU1RSSU5HX1NTTF9QSU5ORURQVUJMSUNLRVlfUFJPWFldOwotCi0gIGRhdGEtPnNldC5zc2wuQ1JMZmlsZSA9IGRhdGEtPnNldC5zdHJbU1RSSU5HX1NTTF9DUkxGSUxFX09SSUddOworICBkYXRhLT5zZXQucHJveHlfc3NsLnByaW1hcnkuY2VydF9ibG9iID0gZGF0YS0+c2V0LmJsb2JzW0JMT0JfQ0VSVF9QUk9YWV07CiAgIGRhdGEtPnNldC5wcm94eV9zc2wuQ1JMZmlsZSA9IGRhdGEtPnNldC5zdHJbU1RSSU5HX1NTTF9DUkxGSUxFX1BST1hZXTsKLSAgZGF0YS0+c2V0LnNzbC5pc3N1ZXJjZXJ0ID0gZGF0YS0+c2V0LnN0cltTVFJJTkdfU1NMX0lTU1VFUkNFUlRfT1JJR107CiAgIGRhdGEtPnNldC5wcm94eV9zc2wuaXNzdWVyY2VydCA9IGRhdGEtPnNldC5zdHJbU1RSSU5HX1NTTF9JU1NVRVJDRVJUX1BST1hZXTsKLSAgZGF0YS0+c2V0LnNzbC5jZXJ0ID0gZGF0YS0+c2V0LnN0cltTVFJJTkdfQ0VSVF9PUklHXTsKICAgZGF0YS0+c2V0LnByb3h5X3NzbC5jZXJ0ID0gZGF0YS0+c2V0LnN0cltTVFJJTkdfQ0VSVF9QUk9YWV07Ci0gIGRhdGEtPnNldC5zc2wuY2VydF90eXBlID0gZGF0YS0+c2V0LnN0cltTVFJJTkdfQ0VSVF9UWVBFX09SSUddOwogICBkYXRhLT5zZXQucHJveHlfc3NsLmNlcnRfdHlwZSA9IGRhdGEtPnNldC5zdHJbU1RSSU5HX0NFUlRfVFlQRV9QUk9YWV07Ci0gIGRhdGEtPnNldC5zc2wua2V5ID0gZGF0YS0+c2V0LnN0cltTVFJJTkdfS0VZX09SSUddOwogICBkYXRhLT5zZXQucHJveHlfc3NsLmtleSA9IGRhdGEtPnNldC5zdHJbU1RSSU5HX0tFWV9QUk9YWV07Ci0gIGRhdGEtPnNldC5zc2wua2V5X3R5cGUgPSBkYXRhLT5zZXQuc3RyW1NUUklOR19LRVlfVFlQRV9PUklHXTsKICAgZGF0YS0+c2V0LnByb3h5X3NzbC5rZXlfdHlwZSA9IGRhdGEtPnNldC5zdHJbU1RSSU5HX0tFWV9UWVBFX1BST1hZXTsKLSAgZGF0YS0+c2V0LnNzbC5rZXlfcGFzc3dkID0gZGF0YS0+c2V0LnN0cltTVFJJTkdfS0VZX1BBU1NXRF9PUklHXTsKICAgZGF0YS0+c2V0LnByb3h5X3NzbC5rZXlfcGFzc3dkID0gZGF0YS0+c2V0LnN0cltTVFJJTkdfS0VZX1BBU1NXRF9QUk9YWV07Ci0gIGRhdGEtPnNldC5zc2wucHJpbWFyeS5jbGllbnRjZXJ0ID0gZGF0YS0+c2V0LnN0cltTVFJJTkdfQ0VSVF9PUklHXTsKICAgZGF0YS0+c2V0LnByb3h5X3NzbC5wcmltYXJ5LmNsaWVudGNlcnQgPSBkYXRhLT5zZXQuc3RyW1NUUklOR19DRVJUX1BST1hZXTsKKyAgZGF0YS0+c2V0LnByb3h5X3NzbC5jZXJ0X2Jsb2IgPSBkYXRhLT5zZXQuYmxvYnNbQkxPQl9DRVJUX1BST1hZXTsKKyAgZGF0YS0+c2V0LnByb3h5X3NzbC5rZXlfYmxvYiA9IGRhdGEtPnNldC5ibG9ic1tCTE9CX0tFWV9QUk9YWV07CisjZW5kaWYKKyAgZGF0YS0+c2V0LnNzbC5DUkxmaWxlID0gZGF0YS0+c2V0LnN0cltTVFJJTkdfU1NMX0NSTEZJTEVfT1JJR107CisgIGRhdGEtPnNldC5zc2wuaXNzdWVyY2VydCA9IGRhdGEtPnNldC5zdHJbU1RSSU5HX1NTTF9JU1NVRVJDRVJUX09SSUddOworICBkYXRhLT5zZXQuc3NsLmNlcnQgPSBkYXRhLT5zZXQuc3RyW1NUUklOR19DRVJUX09SSUddOworICBkYXRhLT5zZXQuc3NsLmNlcnRfdHlwZSA9IGRhdGEtPnNldC5zdHJbU1RSSU5HX0NFUlRfVFlQRV9PUklHXTsKKyAgZGF0YS0+c2V0LnNzbC5rZXkgPSBkYXRhLT5zZXQuc3RyW1NUUklOR19LRVlfT1JJR107CisgIGRhdGEtPnNldC5zc2wua2V5X3R5cGUgPSBkYXRhLT5zZXQuc3RyW1NUUklOR19LRVlfVFlQRV9PUklHXTsKKyAgZGF0YS0+c2V0LnNzbC5rZXlfcGFzc3dkID0gZGF0YS0+c2V0LnN0cltTVFJJTkdfS0VZX1BBU1NXRF9PUklHXTsKKyAgZGF0YS0+c2V0LnNzbC5wcmltYXJ5LmNsaWVudGNlcnQgPSBkYXRhLT5zZXQuc3RyW1NUUklOR19DRVJUX09SSUddOwogI2lmZGVmIFVTRV9UTFNfU1JQCiAgIGRhdGEtPnNldC5zc2wudXNlcm5hbWUgPSBkYXRhLT5zZXQuc3RyW1NUUklOR19UTFNBVVRIX1VTRVJOQU1FX09SSUddOwotICBkYXRhLT5zZXQucHJveHlfc3NsLnVzZXJuYW1lID0gZGF0YS0+c2V0LnN0cltTVFJJTkdfVExTQVVUSF9VU0VSTkFNRV9QUk9YWV07CiAgIGRhdGEtPnNldC5zc2wucGFzc3dvcmQgPSBkYXRhLT5zZXQuc3RyW1NUUklOR19UTFNBVVRIX1BBU1NXT1JEX09SSUddOworI2lmbmRlZiBDVVJMX0RJU0FCTEVfUFJPWFkKKyAgZGF0YS0+c2V0LnByb3h5X3NzbC51c2VybmFtZSA9IGRhdGEtPnNldC5zdHJbU1RSSU5HX1RMU0FVVEhfVVNFUk5BTUVfUFJPWFldOwogICBkYXRhLT5zZXQucHJveHlfc3NsLnBhc3N3b3JkID0gZGF0YS0+c2V0LnN0cltTVFJJTkdfVExTQVVUSF9QQVNTV09SRF9QUk9YWV07CiAjZW5kaWYKKyNlbmRpZgorCisgIGRhdGEtPnNldC5zc2wuY2VydF9ibG9iID0gZGF0YS0+c2V0LmJsb2JzW0JMT0JfQ0VSVF9PUklHXTsKKyAgZGF0YS0+c2V0LnNzbC5rZXlfYmxvYiA9IGRhdGEtPnNldC5ibG9ic1tCTE9CX0tFWV9PUklHXTsKKyAgZGF0YS0+c2V0LnNzbC5pc3N1ZXJjZXJ0X2Jsb2IgPSBkYXRhLT5zZXQuYmxvYnNbQkxPQl9TU0xfSVNTVUVSQ0VSVF9PUklHXTsKIAogICBpZighQ3VybF9jbG9uZV9wcmltYXJ5X3NzbF9jb25maWcoJmRhdGEtPnNldC5zc2wucHJpbWFyeSwKLSAgICAgJmNvbm4tPnNzbF9jb25maWcpKSB7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmY29ubi0+c3NsX2NvbmZpZykpIHsKICAgICByZXN1bHQgPSBDVVJMRV9PVVRfT0ZfTUVNT1JZOwogICAgIGdvdG8gb3V0OwogICB9CiAKKyNpZm5kZWYgQ1VSTF9ESVNBQkxFX1BST1hZCiAgIGlmKCFDdXJsX2Nsb25lX3ByaW1hcnlfc3NsX2NvbmZpZygmZGF0YS0+c2V0LnByb3h5X3NzbC5wcmltYXJ5LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJmNvbm4tPnByb3h5X3NzbF9jb25maWcpKSB7CiAgICAgcmVzdWx0ID0gQ1VSTEVfT1VUX09GX01FTU9SWTsKICAgICBnb3RvIG91dDsKICAgfQorI2VuZGlmCiAKICAgcHJ1bmVfZGVhZF9jb25uZWN0aW9ucyhkYXRhKTsKIApAQCAtMzY1NiwxMiArMzcwNiwxNyBAQAogICAgIGNvbm4gPSBjb25uX3RlbXA7CiAgICAgKmluX2Nvbm5lY3QgPSBjb25uOwogCisjaWZuZGVmIENVUkxfRElTQUJMRV9QUk9YWQogICAgIGluZm9mKGRhdGEsICJSZS11c2luZyBleGlzdGluZyBjb25uZWN0aW9uISAoIyVsZCkgd2l0aCAlcyAlc1xuIiwKICAgICAgICAgICBjb25uLT5jb25uZWN0aW9uX2lkLAogICAgICAgICAgIGNvbm4tPmJpdHMucHJveHk/InByb3h5IjoiaG9zdCIsCiAgICAgICAgICAgY29ubi0+c29ja3NfcHJveHkuaG9zdC5uYW1lID8gY29ubi0+c29ja3NfcHJveHkuaG9zdC5kaXNwbmFtZSA6CiAgICAgICAgICAgY29ubi0+aHR0cF9wcm94eS5ob3N0Lm5hbWUgPyBjb25uLT5odHRwX3Byb3h5Lmhvc3QuZGlzcG5hbWUgOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29ubi0+aG9zdC5kaXNwbmFtZSk7CisgICAgICAgICAgY29ubi0+aG9zdC5kaXNwbmFtZSk7CisjZWxzZQorICAgIGluZm9mKGRhdGEsICJSZS11c2luZyBleGlzdGluZyBjb25uZWN0aW9uISAoIyVsZCkgd2l0aCBob3N0ICVzXG4iLAorICAgICAgICAgIGNvbm4tPmNvbm5lY3Rpb25faWQsIGNvbm4tPmhvc3QuZGlzcG5hbWUpOworI2VuZGlmCiAgIH0KICAgZWxzZSB7CiAgICAgLyogV2UgaGF2ZSBkZWNpZGVkIHRoYXQgd2Ugd2FudCBhIG5ldyBjb25uZWN0aW9uLiBIb3dldmVyLCB3ZSBtYXkgbm90CkBAIC0zNjkzLDcgKzM3NDgsNyBAQAogCiAgICAgICAgIC8qIFRoZSBidW5kbGUgaXMgZnVsbC4gRXh0cmFjdCB0aGUgb2xkZXN0IGNvbm5lY3Rpb24uICovCiAgICAgICAgIGNvbm5fY2FuZGlkYXRlID0gQ3VybF9jb25uY2FjaGVfZXh0cmFjdF9idW5kbGUoZGF0YSwgYnVuZGxlKTsKLSAgICAgICAgQ3VybF9jb25uY2FjaGVfdW5sb2NrKGRhdGEpOworICAgICAgICBDT05OQ0FDSEVfVU5MT0NLKGRhdGEpOwogCiAgICAgICAgIGlmKGNvbm5fY2FuZGlkYXRlKQogICAgICAgICAgICh2b2lkKUN1cmxfZGlzY29ubmVjdChkYXRhLCBjb25uX2NhbmRpZGF0ZSwKQEAgLTM3MDUsNyArMzc2MCw3IEBACiAgICAgICAgIH0KICAgICAgIH0KICAgICAgIGVsc2UKLSAgICAgICAgQ3VybF9jb25uY2FjaGVfdW5sb2NrKGRhdGEpOworICAgICAgICBDT05OQ0FDSEVfVU5MT0NLKGRhdGEpOwogCiAgICAgfQogCkBAIC0zNzM5LDYgKzM3OTQsOCBAQAogICAgICAgICogVGhpcyBpcyBhIGJyYW5kIG5ldyBjb25uZWN0aW9uLCBzbyBsZXQncyBzdG9yZSBpdCBpbiB0aGUgY29ubmVjdGlvbgogICAgICAgICogY2FjaGUgb2Ygb3VycyEKICAgICAgICAqLworICAgICAgQ3VybF9hdHRhY2hfY29ubm5lY3Rpb24oZGF0YSwgY29ubik7CisKICAgICAgIHJlc3VsdCA9IEN1cmxfY29ubmNhY2hlX2FkZF9jb25uKGRhdGEtPnN0YXRlLmNvbm5fY2FjaGUsIGNvbm4pOwogICAgICAgaWYocmVzdWx0KQogICAgICAgICBnb3RvIG91dDsKQEAgLTM3OTAsMTAgKzM4NDcsMTIgQEAKIAogICAvKiBTdHJpcCB0cmFpbGluZyBkb3RzLiByZXNvbHZlX3NlcnZlciBjb3BpZWQgdGhlIG5hbWUuICovCiAgIHN0cmlwX3RyYWlsaW5nX2RvdCgmY29ubi0+aG9zdCk7CisjaWZuZGVmIENVUkxfRElTQUJMRV9QUk9YWQogICBpZihjb25uLT5iaXRzLmh0dHBwcm94eSkKICAgICBzdHJpcF90cmFpbGluZ19kb3QoJmNvbm4tPmh0dHBfcHJveHkuaG9zdCk7CiAgIGlmKGNvbm4tPmJpdHMuc29ja3Nwcm94eSkKICAgICBzdHJpcF90cmFpbGluZ19kb3QoJmNvbm4tPnNvY2tzX3Byb3h5Lmhvc3QpOworI2VuZGlmCiAgIGlmKGNvbm4tPmJpdHMuY29ubl90b19ob3N0KQogICAgIHN0cmlwX3RyYWlsaW5nX2RvdCgmY29ubi0+Y29ubl90b19ob3N0KTsKIApAQCAtMzgyNCwyMiArMzg4MywyMyBAQAogICB9CiAgICpwcm90b2NvbF9kb25lID0gRkFMU0U7IC8qIGRlZmF1bHQgdG8gbm90IGRvbmUgKi8KIAorI2lmbmRlZiBDVVJMX0RJU0FCTEVfUFJPWFkKICAgLyogc2V0IHByb3h5X2Nvbm5lY3RfY2xvc2VkIHRvIGZhbHNlIHVuY29uZGl0aW9uYWxseSBhbHJlYWR5IGhlcmUgc2luY2UgaXQKICAgICAgaXMgdXNlZCBzdHJpY3RseSB0byBwcm92aWRlIGV4dHJhIGluZm9ybWF0aW9uIHRvIGEgcGFyZW50IGZ1bmN0aW9uIGluIHRoZQogICAgICBjYXNlIG9mIHByb3h5IENPTk5FQ1QgZmFpbHVyZXMgYW5kIHdlIG11c3QgbWFrZSBzdXJlIHdlIGRvbid0IGhhdmUgaXQKICAgICAgbGluZ2VyaW5nIHNldCBmcm9tIGEgcHJldmlvdXMgaW52b2tlICovCiAgIGNvbm4tPmJpdHMucHJveHlfY29ubmVjdF9jbG9zZWQgPSBGQUxTRTsKLQorI2VuZGlmCiAgIC8qCiAgICAqIFNldCB1c2VyLWFnZW50LiBVc2VkIGZvciBIVFRQLCBidXQgc2luY2Ugd2UgY2FuIGF0dGVtcHQgdG8gdHVubmVsCiAgICAqIGJhc2ljYWxseSBhbnl0aGluZyB0aHJvdWdoIGEgaHR0cCBwcm94eSB3ZSBjYW4ndCBsaW1pdCB0aGlzIGJhc2VkIG9uCiAgICAqIHByb3RvY29sLgogICAgKi8KICAgaWYoZGF0YS0+c2V0LnN0cltTVFJJTkdfVVNFUkFHRU5UXSkgewotICAgIEN1cmxfc2FmZWZyZWUoY29ubi0+YWxsb2NwdHIudWFnZW50KTsKLSAgICBjb25uLT5hbGxvY3B0ci51YWdlbnQgPQorICAgIEN1cmxfc2FmZWZyZWUoZGF0YS0+c3RhdGUuYXB0ci51YWdlbnQpOworICAgIGRhdGEtPnN0YXRlLmFwdHIudWFnZW50ID0KICAgICAgIGFwcmludGYoIlVzZXItQWdlbnQ6ICVzXHJcbiIsIGRhdGEtPnNldC5zdHJbU1RSSU5HX1VTRVJBR0VOVF0pOwotICAgIGlmKCFjb25uLT5hbGxvY3B0ci51YWdlbnQpCisgICAgaWYoIWRhdGEtPnN0YXRlLmFwdHIudWFnZW50KQogICAgICAgcmV0dXJuIENVUkxFX09VVF9PRl9NRU1PUlk7CiAgIH0KIApAQCAtMzg5Myw3ICszOTUzLDcgQEAKICAgcmVzdWx0ID0gY3JlYXRlX2Nvbm4oZGF0YSwgJmNvbm4sIGFzeW5jcCk7CiAKICAgaWYoIXJlc3VsdCkgewotICAgIGlmKENPTk5fSU5VU0UoY29ubikpCisgICAgaWYoQ09OTl9JTlVTRShjb25uKSA+IDEpCiAgICAgICAvKiBtdWx0aXBsZXhlZCAqLwogICAgICAgKnByb3RvY29sX2RvbmUgPSBUUlVFOwogICAgIGVsc2UgaWYoISphc3luY3ApIHsKQEAgLTM5MTAsMTEgKzM5NzAsMTAgQEAKICAgZWxzZSBpZihyZXN1bHQgJiYgY29ubikgewogICAgIC8qIFdlJ3JlIG5vdCBhbGxvd2VkIHRvIHJldHVybiBmYWlsdXJlIHdpdGggbWVtb3J5IGxlZnQgYWxsb2NhdGVkIGluIHRoZQogICAgICAgIGNvbm5lY3RkYXRhIHN0cnVjdCwgZnJlZSB0aG9zZSBoZXJlICovCisgICAgQ3VybF9kZXRhY2hfY29ubm5lY3Rpb24oZGF0YSk7CisgICAgQ3VybF9jb25uY2FjaGVfcmVtb3ZlX2Nvbm4oZGF0YSwgY29ubiwgVFJVRSk7CiAgICAgQ3VybF9kaXNjb25uZWN0KGRhdGEsIGNvbm4sIFRSVUUpOwogICB9Ci0gIGVsc2UgaWYoIXJlc3VsdCAmJiAhZGF0YS0+Y29ubikKLSAgICAvKiBGSUxFOiB0cmFuc2ZlcnMgYWxyZWFkeSBoYXZlIHRoZSBjb25uZWN0aW9uIGF0dGFjaGVkICovCi0gICAgQ3VybF9hdHRhY2hfY29ubm5lY3Rpb24oZGF0YSwgY29ubik7CiAKICAgcmV0dXJuIHJlc3VsdDsKIH0KQEAgLTM5MzMsNiArMzk5MiwxMSBAQAogewogICBzdHJ1Y3QgU2luZ2xlUmVxdWVzdCAqayA9ICZkYXRhLT5yZXE7CiAKKyAgLyogaWYgdGhpcyBpcyBhIHB1c2hlZCBzdHJlYW0sIHdlIG5lZWQgdGhpczogKi8KKyAgQ1VSTGNvZGUgcmVzdWx0ID0gQ3VybF9wcmVjb25uZWN0KGRhdGEpOworICBpZihyZXN1bHQpCisgICAgcmV0dXJuIHJlc3VsdDsKKwogICBpZihjb25uKSB7CiAgICAgY29ubi0+Yml0cy5kb19tb3JlID0gRkFMU0U7IC8qIGJ5IGRlZmF1bHQgdGhlcmUncyBubyBjdXJsX2RvX21vcmUoKSB0bwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1c2UgKi8KQEAgLTM5NDUsMzAgKzQwMDksMTcgQEAKICAgZGF0YS0+c3RhdGUuZG9uZSA9IEZBTFNFOyAvKiAqX2RvbmUoKSBpcyBub3QgY2FsbGVkIHlldCAqLwogICBkYXRhLT5zdGF0ZS5leHBlY3QxMDBoZWFkZXIgPSBGQUxTRTsKIAotCiAgIGlmKGRhdGEtPnNldC5vcHRfbm9fYm9keSkKICAgICAvKiBpbiBIVFRQIGxpbmdvLCBubyBib2R5IG1lYW5zIHVzaW5nIHRoZSBIRUFEIHJlcXVlc3QuLi4gKi8KLSAgICBkYXRhLT5zZXQuaHR0cHJlcSA9IEhUVFBSRVFfSEVBRDsKLSAgZWxzZSBpZihIVFRQUkVRX0hFQUQgPT0gZGF0YS0+c2V0Lmh0dHByZXEpCi0gICAgLyogLi4uIGJ1dCBpZiB1bnNldCB0aGVyZSByZWFsbHkgaXMgbm8gcGVyZmVjdCBtZXRob2QgdGhhdCBpcyB0aGUKLSAgICAgICAib3Bwb3NpdGUiIG9mIEhFQUQgYnV0IGluIHJlYWxpdHkgbW9zdCBwZW9wbGUgcHJvYmFibHkgdGhpbmsgR0VUCi0gICAgICAgdGhlbi4gVGhlIGltcG9ydGFudCB0aGluZyBpcyB0aGF0IHdlIGNhbid0IGxldCBpdCByZW1haW4gSEVBRCBpZiB0aGUKLSAgICAgICBvcHRfbm9fYm9keSBpcyBzZXQgRkFMU0Ugc2luY2UgdGhlbiB3ZSdsbCBiZWhhdmUgd3Jvbmcgd2hlbiBnZXR0aW5nCi0gICAgICAgSFRUUC4gKi8KLSAgICBkYXRhLT5zZXQuaHR0cHJlcSA9IEhUVFBSRVFfR0VUOworICAgIGRhdGEtPnN0YXRlLmh0dHByZXEgPSBIVFRQUkVRX0hFQUQ7CiAKICAgay0+c3RhcnQgPSBDdXJsX25vdygpOyAvKiBzdGFydCB0aW1lICovCiAgIGstPm5vdyA9IGstPnN0YXJ0OyAgIC8qIGN1cnJlbnQgdGltZSBpcyBub3cgKi8KICAgay0+aGVhZGVyID0gVFJVRTsgLyogYXNzdW1lIGhlYWRlciAqLwotCiAgIGstPmJ5dGVjb3VudCA9IDA7Ci0KLSAgay0+YnVmID0gZGF0YS0+c3RhdGUuYnVmZmVyOwotICBrLT5oYnVmcCA9IGRhdGEtPnN0YXRlLmhlYWRlcmJ1ZmY7CiAgIGstPmlnbm9yZWJvZHkgPSBGQUxTRTsKIAogICBDdXJsX3NwZWVkaW5pdChkYXRhKTsKLQogICBDdXJsX3BncnNTZXRVcGxvYWRDb3VudGVyKGRhdGEsIDApOwogICBDdXJsX3BncnNTZXREb3dubG9hZENvdW50ZXIoZGF0YSwgMCk7CiAKZGlmZiAtLWdpdCBhL2xpYi91cmwuaCBiL2xpYi91cmwuaAppbmRleCA1MDAwYzUxLi4xOTQxZGM2IDEwMDY0NAotLS0gYS9saWIvdXJsLmgKKysrIGIvbGliL3VybC5oCkBAIC00Nyw3ICs0Nyw3IEBACiBDVVJMY29kZSBDdXJsX29wZW4oc3RydWN0IEN1cmxfZWFzeSAqKmN1cmwpOwogQ1VSTGNvZGUgQ3VybF9pbml0X3VzZXJkZWZpbmVkKHN0cnVjdCBDdXJsX2Vhc3kgKmRhdGEpOwogCi12b2lkIEN1cmxfZnJlZXNldChzdHJ1Y3QgQ3VybF9lYXN5ICogZGF0YSk7Cit2b2lkIEN1cmxfZnJlZXNldChzdHJ1Y3QgQ3VybF9lYXN5ICpkYXRhKTsKIENVUkxjb2RlIEN1cmxfdWNfdG9fY3VybGNvZGUoQ1VSTFVjb2RlIHVjKTsKIENVUkxjb2RlIEN1cmxfY2xvc2Uoc3RydWN0IEN1cmxfZWFzeSAqKmRhdGFwKTsgLyogb3Bwb3NpdGUgb2YgY3VybF9vcGVuKCkgKi8KIENVUkxjb2RlIEN1cmxfY29ubmVjdChzdHJ1Y3QgQ3VybF9lYXN5ICosIGJvb2wgKmFzeW5jLCBib29sICpwcm90b2NvbF9jb25uZWN0KTsKQEAgLTc3LDYgKzc3LDEwIEBACiB2b2lkIEN1cmxfdmVyYm9zZWNvbm5lY3Qoc3RydWN0IGNvbm5lY3RkYXRhICpjb25uKTsKICNlbmRpZgogCisjaWZkZWYgQ1VSTF9ESVNBQkxFX1BST1hZCisjZGVmaW5lIENPTk5FQ1RfUFJPWFlfU1NMKCkgRkFMU0UKKyNlbHNlCisKICNkZWZpbmUgQ09OTkVDVF9QUk9YWV9TU0woKVwKICAgKGNvbm4tPmh0dHBfcHJveHkucHJveHl0eXBlID09IENVUkxQUk9YWV9IVFRQUyAmJlwKICAgIWNvbm4tPmJpdHMucHJveHlfc3NsX2Nvbm5lY3RlZFtzb2NraW5kZXhdKQpAQCAtODgsNSArOTIsNiBAQAogI2RlZmluZSBDT05ORUNUX1NFQ09OREFSWVNPQ0tFVF9QUk9YWV9TU0woKVwKICAgKGNvbm4tPmh0dHBfcHJveHkucHJveHl0eXBlID09IENVUkxQUk9YWV9IVFRQUyAmJlwKICAgIWNvbm4tPmJpdHMucHJveHlfc3NsX2Nvbm5lY3RlZFtTRUNPTkRBUllTT0NLRVRdKQorI2VuZGlmIC8qICFDVVJMX0RJU0FCTEVfUFJPWFkgKi8KIAogI2VuZGlmIC8qIEhFQURFUl9DVVJMX1VSTF9IICovCmRpZmYgLS1naXQgYS9saWIvdXJsYXBpLmMgYi9saWIvdXJsYXBpLmMKaW5kZXggNTA2ZTI0NC4uYWNiZmI4MiAxMDA2NDQKLS0tIGEvbGliL3VybGFwaS5jCisrKyBiL2xpYi91cmxhcGkuYwpAQCAtMjI1LDcgKzIyNSw3IEBACiAgICAgICBicmVhazsKICAgICB9CiAgIH0KLSAgKm9wdHIgPSAwOyAvKiB6ZXJvIHRlcm1pbmF0ZSBvdXRwdXQgYnVmZmVyICovCisgICpvcHRyID0gMDsgLyogbnVsbC10ZXJtaW5hdGUgb3V0cHV0IGJ1ZmZlciAqLwogCiB9CiAKQEAgLTU4NCw3ICs1ODQsNyBAQAogICAgICAgMHgxMCwgMHgxMSwgMHgxMiwgMHgxMywgMHgxNCwgMHgxNSwgMHgxNiwgMHgxNywKICAgICAgIDB4MTgsIDB4MTksIDB4MWEsIDB4MWIsIDB4MWMsIDB4MWQsIDB4MWUsIDB4MWYsCiAgICAgICAweDdmLAotICAgICAgMHgwMCAvKiB6ZXJvIHRlcm1pbmF0ZSAqLworICAgICAgMHgwMCAvKiBudWxsLXRlcm1pbmF0ZSAqLwogICAgIH07CiAgICAgc2l6ZV90IG4gPSBzdHJsZW4ocGFydCk7CiAgICAgc2l6ZV90IG5maW5lID0gc3RyY3NwbihwYXJ0LCBiYWRieXRlcyk7CkBAIC02MDYsNyArNjA2LDcgQEAKICAgICBjaGFyIGRlc3RbMTZdOyAvKiBmaXRzIGEgYmluYXJ5IElQdjYgYWRkcmVzcyAqLwogI2VuZGlmCiAgICAgY29uc3QgY2hhciAqbCA9ICIwMTIzNDU2Nzg5YWJjZGVmQUJDREVGOi4iOwotICAgIGlmKGhsZW4gPCA1KSAvKiAnWzo6MV0nIGlzIHRoZSBzaG9ydGVzdCBwb3NzaWJsZSB2YWxpZCBzdHJpbmcgKi8KKyAgICBpZihobGVuIDwgNCkgLyogJ1s6Ol0nIGlzIHRoZSBzaG9ydGVzdCBwb3NzaWJsZSB2YWxpZCBzdHJpbmcgKi8KICAgICAgIHJldHVybiBDVVJMVUVfTUFMRk9STUVEX0lOUFVUOwogICAgIGhvc3RuYW1lKys7CiAgICAgaGxlbiAtPSAyOwpAQCAtMTE4NSw3ICsxMTg1LDEwIEBACiAgICAgaWYodXJsZGVjb2RlKSB7CiAgICAgICBjaGFyICpkZWNvZGVkOwogICAgICAgc2l6ZV90IGRsZW47Ci0gICAgICBDVVJMY29kZSByZXMgPSBDdXJsX3VybGRlY29kZShOVUxMLCAqcGFydCwgMCwgJmRlY29kZWQsICZkbGVuLCBUUlVFKTsKKyAgICAgIC8qIHRoaXMgdW5jb25kaXRpb25hbCByZWplY3Rpb24gb2YgY29udHJvbCBieXRlcyBpcyBkb2N1bWVudGVkCisgICAgICAgICBBUEkgYmVoYXZpb3IgKi8KKyAgICAgIENVUkxjb2RlIHJlcyA9IEN1cmxfdXJsZGVjb2RlKE5VTEwsICpwYXJ0LCAwLCAmZGVjb2RlZCwgJmRsZW4sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBSRUpFQ1RfQ1RSTCk7CiAgICAgICBmcmVlKCpwYXJ0KTsKICAgICAgIGlmKHJlcykgewogICAgICAgICAqcGFydCA9IE5VTEw7CkBAIC0xMzk1LDcgKzEzOTgsNyBAQAogICAgICAgICBpID0gKGNvbnN0IHVuc2lnbmVkIGNoYXIgKilwYXJ0OwogICAgICAgICBmb3IobyA9IGVuYzsgKmk7ICsrbywgKytpKQogICAgICAgICAgICpvID0gKCppID09ICcgJykgPyAnKycgOiAqaTsKLSAgICAgICAgKm8gPSAwOyAvKiB6ZXJvIHRlcm1pbmF0ZSAqLworICAgICAgICAqbyA9IDA7IC8qIG51bGwtdGVybWluYXRlICovCiAgICAgICAgIHBhcnQgPSBzdHJkdXAoZW5jKTsKICAgICAgICAgaWYoIXBhcnQpIHsKICAgICAgICAgICBmcmVlKGVuYyk7CkBAIC0xNDE5LDcgKzE0MjIsNyBAQAogICAgICAgICAgIG8gKz0gMzsKICAgICAgICAgfQogICAgICAgfQotICAgICAgKm8gPSAwOyAvKiB6ZXJvIHRlcm1pbmF0ZSAqLworICAgICAgKm8gPSAwOyAvKiBudWxsLXRlcm1pbmF0ZSAqLwogICAgICAgbmV3cCA9IGVuYzsKICAgICAgIGlmKGZyZWVfcGFydCkKICAgICAgICAgZnJlZSgoY2hhciAqKXBhcnQpOwpkaWZmIC0tZ2l0IGEvbGliL3VybGRhdGEuaCBiL2xpYi91cmxkYXRhLmgKaW5kZXggNTBkOGI4NC4uZjgwYTAyZCAxMDA2NDQKLS0tIGEvbGliL3VybGRhdGEuaAorKysgYi9saWIvdXJsZGF0YS5oCkBAIC04MSw3ICs4MSw3IEBACiAqLwogI2RlZmluZSBSRVNQX1RJTUVPVVQgKDEyMCoxMDAwKQogCi0vKiBNYXggc3RyaW5nIGludHB1dCBsZW5ndGggaXMgYSBwcmVjYXV0aW9uIGFnYWluc3QgYWJ1c2UgYW5kIHRvIGRldGVjdCBqdW5rCisvKiBNYXggc3RyaW5nIGlucHV0IGxlbmd0aCBpcyBhIHByZWNhdXRpb24gYWdhaW5zdCBhYnVzZSBhbmQgdG8gZGV0ZWN0IGp1bmsKICAgIGlucHV0IGVhc2llciBhbmQgYmV0dGVyLiAqLwogI2RlZmluZSBDVVJMX01BWF9JTlBVVF9MRU5HVEggODAwMDAwMAogCkBAIC0xMDQsNiArMTA0LDcgQEAKICNpbmNsdWRlICJob3N0aXAuaCIKICNpbmNsdWRlICJoYXNoLmgiCiAjaW5jbHVkZSAic3BsYXkuaCIKKyNpbmNsdWRlICJkeW5idWYuaCIKIAogLyogcmV0dXJuIHRoZSBjb3VudCBvZiBieXRlcyBzZW50LCBvciAtMSBvbiBlcnJvciAqLwogdHlwZWRlZiBzc2l6ZV90IChDdXJsX3NlbmQpKHN0cnVjdCBjb25uZWN0ZGF0YSAqY29ubiwgLyogY29ubmVjdGlvbiBkYXRhICovCkBAIC0xNTIsMTAgKzE1Myw2IEBACiAjaW5jbHVkZSA8bGlic3NoMl9zZnRwLmg+CiAjZW5kaWYgLyogSEFWRV9MSUJTU0gyX0ggKi8KIAotLyogSW5pdGlhbCBzaXplIG9mIHRoZSBidWZmZXIgdG8gc3RvcmUgaGVhZGVycyBpbiwgaXQnbGwgYmUgZW5sYXJnZWQgaW4gY2FzZQotICAgb2YgbmVlZC4gKi8KLSNkZWZpbmUgSEVBREVSU0laRSAyNTYKLQogI2RlZmluZSBDVVJMRUFTWV9NQUdJQ19OVU1CRVIgMHhjMGRlZGJhZFUKICNkZWZpbmUgR09PRF9FQVNZX0hBTkRMRSh4KSBcCiAgICgoeCkgJiYgKCh4KS0+bWFnaWMgPT0gQ1VSTEVBU1lfTUFHSUNfTlVNQkVSKSkKQEAgLTIzMiw2ICsyMjksNyBAQAogICBjaGFyICpjaXBoZXJfbGlzdDsgICAgIC8qIGxpc3Qgb2YgY2lwaGVycyB0byB1c2UgKi8KICAgY2hhciAqY2lwaGVyX2xpc3QxMzsgICAvKiBsaXN0IG9mIFRMUyAxLjMgY2lwaGVyIHN1aXRlcyB0byB1c2UgKi8KICAgY2hhciAqcGlubmVkX2tleTsKKyAgc3RydWN0IGN1cmxfYmxvYiAqY2VydF9ibG9iOwogICBCSVQodmVyaWZ5cGVlcik7ICAgICAgIC8qIHNldCBUUlVFIGlmIHRoaXMgaXMgZGVzaXJlZCAqLwogICBCSVQodmVyaWZ5aG9zdCk7ICAgICAgIC8qIHNldCBUUlVFIGlmIENOL1NBTiBtdXN0IG1hdGNoIGhvc3RuYW1lICovCiAgIEJJVCh2ZXJpZnlzdGF0dXMpOyAgICAgLyogc2V0IFRSVUUgaWYgY2VydGlmaWNhdGUgc3RhdHVzIG11c3QgYmUgY2hlY2tlZCAqLwpAQCAtMjQzLDExICsyNDEsMTQgQEAKICAgbG9uZyBjZXJ0dmVyaWZ5cmVzdWx0OyAvKiByZXN1bHQgZnJvbSB0aGUgY2VydGlmaWNhdGUgdmVyaWZpY2F0aW9uICovCiAgIGNoYXIgKkNSTGZpbGU7ICAgLyogQ1JMIHRvIGNoZWNrIGNlcnRpZmljYXRlIHJldm9jYXRpb24gKi8KICAgY2hhciAqaXNzdWVyY2VydDsvKiBvcHRpb25hbCBpc3N1ZXIgY2VydGlmaWNhdGUgZmlsZW5hbWUgKi8KKyAgc3RydWN0IGN1cmxfYmxvYiAqaXNzdWVyY2VydF9ibG9iOwogICBjdXJsX3NzbF9jdHhfY2FsbGJhY2sgZnNzbGN0eDsgLyogZnVuY3Rpb24gdG8gaW5pdGlhbGl6ZSBzc2wgY3R4ICovCiAgIHZvaWQgKmZzc2xjdHhwOyAgICAgICAgLyogcGFyYW1ldGVyIGZvciBjYWxsIGJhY2sgKi8KICAgY2hhciAqY2VydDsgLyogY2xpZW50IGNlcnRpZmljYXRlIGZpbGUgbmFtZSAqLworICBzdHJ1Y3QgY3VybF9ibG9iICpjZXJ0X2Jsb2I7CiAgIGNoYXIgKmNlcnRfdHlwZTsgLyogZm9ybWF0IGZvciBjZXJ0aWZpY2F0ZSAoZGVmYXVsdDogUEVNKSovCiAgIGNoYXIgKmtleTsgLyogcHJpdmF0ZSBrZXkgZmlsZSBuYW1lICovCisgIHN0cnVjdCBjdXJsX2Jsb2IgKmtleV9ibG9iOwogICBjaGFyICprZXlfdHlwZTsgLyogZm9ybWF0IGZvciBwcml2YXRlIGtleSAoZGVmYXVsdDogUEVNKSAqLwogICBjaGFyICprZXlfcGFzc3dkOyAvKiBwbGFpbiB0ZXh0IHByaXZhdGUga2V5IHBhc3N3b3JkICovCiAjaWZkZWYgVVNFX1RMU19TUlAKQEAgLTI2Miw2ICsyNjMsNyBAQAogICBCSVQobm9fcGFydGlhbGNoYWluKTsgLyogZG9uJ3QgYWNjZXB0IHBhcnRpYWwgY2VydGlmaWNhdGUgY2hhaW5zICovCiAgIEJJVChyZXZva2VfYmVzdF9lZmZvcnQpOyAvKiBpZ25vcmUgU1NMIHJldm9jYXRpb24gb2ZmbGluZS9taXNzaW5nIHJldm9jYXRpb24KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpc3QgZXJyb3JzICovCisgIEJJVChuYXRpdmVfY2Ffc3RvcmUpOyAvKiB1c2UgdGhlIG5hdGl2ZSBjYSBzdG9yZSBvZiBvcGVyYXRpbmcgc3lzdGVtICovCiB9OwogCiBzdHJ1Y3Qgc3NsX2dlbmVyYWxfY29uZmlnIHsKQEAgLTQxOSwxMSArNDIxLDIzIEBACiAgKiBCb29sZWFuIHZhbHVlcyB0aGF0IGNvbmNlcm5zIHRoaXMgY29ubmVjdGlvbi4KICAqLwogc3RydWN0IENvbm5lY3RCaXRzIHsKLSAgLyogYWx3YXlzIG1vZGlmeSBiaXRzLmNsb3NlIHdpdGggdGhlIGNvbm5jbG9zZSgpIGFuZCBjb25ua2VlcCgpIG1hY3JvcyEgKi8KLSAgYm9vbCBwcm94eV9zc2xfY29ubmVjdGVkWzJdOyAvKiBUUlVFIHdoZW4gU1NMIGluaXRpYWxpemF0aW9uIGZvciBIVFRQUyBwcm94eQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlzIGNvbXBsZXRlICovCiAgIGJvb2wgdGNwY29ubmVjdFsyXTsgLyogdGhlIFRDUCBsYXllciAob3Igc2ltaWxhcikgaXMgY29ubmVjdGVkLCB0aGlzIGlzIHNldAogICAgICAgICAgICAgICAgICAgICAgICAgIHRoZSBmaXJzdCB0aW1lIG9uIHRoZSBmaXJzdCBjb25uZWN0IGZ1bmN0aW9uIGNhbGwgKi8KKyNpZm5kZWYgQ1VSTF9ESVNBQkxFX1BST1hZCisgIGJvb2wgcHJveHlfc3NsX2Nvbm5lY3RlZFsyXTsgLyogVFJVRSB3aGVuIFNTTCBpbml0aWFsaXphdGlvbiBmb3IgSFRUUFMgcHJveHkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpcyBjb21wbGV0ZSAqLworICBCSVQoaHR0cHByb3h5KTsgIC8qIGlmIHNldCwgdGhpcyB0cmFuc2ZlciBpcyBkb25lIHRocm91Z2ggYSBodHRwIHByb3h5ICovCisgIEJJVChzb2Nrc3Byb3h5KTsgLyogaWYgc2V0LCB0aGlzIHRyYW5zZmVyIGlzIGRvbmUgdGhyb3VnaCBhIHNvY2tzIHByb3h5ICovCisgIEJJVChwcm94eV91c2VyX3Bhc3N3ZCk7IC8qIHVzZXIrcGFzc3dvcmQgZm9yIHRoZSBwcm94eT8gKi8KKyAgQklUKHR1bm5lbF9wcm94eSk7ICAvKiBpZiBDT05ORUNUIGlzIHVzZWQgdG8gInR1bm5lbCIgdGhyb3VnaCB0aGUgcHJveHkuCisgICAgICAgICAgICAgICAgICAgICAgICAgVGhpcyBpcyBpbXBsaWNpdCB3aGVuIFNTTC1wcm90b2NvbHMgYXJlIHVzZWQgdGhyb3VnaAorICAgICAgICAgICAgICAgICAgICAgICAgIHByb3hpZXMsIGJ1dCBjYW4gYWxzbyBiZSBlbmFibGVkIGV4cGxpY2l0bHkgYnkKKyAgICAgICAgICAgICAgICAgICAgICAgICBhcHBzICovCisgIEJJVChwcm94eV9jb25uZWN0X2Nsb3NlZCk7IC8qIFRSVUUgaWYgYSBwcm94eSBkaXNjb25uZWN0ZWQgdGhlIGNvbm5lY3Rpb24KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW4gYSBDT05ORUNUIHJlcXVlc3Qgd2l0aCBhdXRoLCBzbyB0aGF0CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpYmN1cmwgc2hvdWxkIHJlY29ubmVjdCBhbmQgY29udGludWUuICovCisjZW5kaWYKKyAgLyogYWx3YXlzIG1vZGlmeSBiaXRzLmNsb3NlIHdpdGggdGhlIGNvbm5jbG9zZSgpIGFuZCBjb25ua2VlcCgpIG1hY3JvcyEgKi8KICAgQklUKGNsb3NlKTsgLyogaWYgc2V0LCB3ZSBjbG9zZSB0aGUgY29ubmVjdGlvbiBhZnRlciB0aGlzIHJlcXVlc3QgKi8KICAgQklUKHJldXNlKTsgLyogaWYgc2V0LCB0aGlzIGlzIGEgcmUtdXNlZCBjb25uZWN0aW9uICovCiAgIEJJVChhbHR1c2VkKTsgLyogdGhpcyBpcyBhbiBhbHQtc3ZjICJyZWRpcmVjdCIgKi8KQEAgLTQzMiwxMCArNDQ2LDcgQEAKICAgQklUKGNvbm5fdG9fcG9ydCk7IC8qIGlmIHNldCwgdGhpcyBjb25uZWN0aW9uIGhhcyBhICJjb25uZWN0IHRvIHBvcnQiCiAgICAgICAgICAgICAgICAgICAgICAgICB0aGF0IG92ZXJyaWRlcyB0aGUgcG9ydCBpbiB0aGUgVVJMIChyZW1vdGUgcG9ydCkgKi8KICAgQklUKHByb3h5KTsgLyogaWYgc2V0LCB0aGlzIHRyYW5zZmVyIGlzIGRvbmUgdGhyb3VnaCBhIHByb3h5IC0gYW55IHR5cGUgKi8KLSAgQklUKGh0dHBwcm94eSk7ICAvKiBpZiBzZXQsIHRoaXMgdHJhbnNmZXIgaXMgZG9uZSB0aHJvdWdoIGEgaHR0cCBwcm94eSAqLwotICBCSVQoc29ja3Nwcm94eSk7IC8qIGlmIHNldCwgdGhpcyB0cmFuc2ZlciBpcyBkb25lIHRocm91Z2ggYSBzb2NrcyBwcm94eSAqLwogICBCSVQodXNlcl9wYXNzd2QpOyAvKiBkbyB3ZSB1c2UgdXNlcitwYXNzd29yZCBmb3IgdGhpcyBjb25uZWN0aW9uPyAqLwotICBCSVQocHJveHlfdXNlcl9wYXNzd2QpOyAvKiB1c2VyK3Bhc3N3b3JkIGZvciB0aGUgcHJveHk/ICovCiAgIEJJVChpcHY2X2lwKTsgLyogd2UgY29tbXVuaWNhdGUgd2l0aCBhIHJlbW90ZSBzaXRlIHNwZWNpZmllZCB3aXRoIHB1cmUgSVB2NgogICAgICAgICAgICAgICAgICAgIElQIGFkZHJlc3MgKi8KICAgQklUKGlwdjYpOyAgICAvKiB3ZSBjb21tdW5pY2F0ZSB3aXRoIGEgc2l0ZSB1c2luZyBhbiBJUHY2IGFkZHJlc3MgKi8KQEAgLTQ0NSwxMCArNDU2LDYgQEAKICAgICAgICAgICAgICAgICAgICAgICAgICB0aGUgVENQIGxheWVyIGNvbm5lY3QgKi8KICAgQklUKHJldHJ5KTsgICAgICAgICAvKiB0aGlzIGNvbm5lY3Rpb24gaXMgYWJvdXQgdG8gZ2V0IGNsb3NlZCBhbmQgdGhlbgogICAgICAgICAgICAgICAgICAgICAgICAgIHJlLWF0dGVtcHRlZCBhdCBhbm90aGVyIGNvbm5lY3Rpb24uICovCi0gIEJJVCh0dW5uZWxfcHJveHkpOyAgLyogaWYgQ09OTkVDVCBpcyB1c2VkIHRvICJ0dW5uZWwiIHRocm91Z2ggdGhlIHByb3h5LgotICAgICAgICAgICAgICAgICAgICAgICAgIFRoaXMgaXMgaW1wbGljaXQgd2hlbiBTU0wtcHJvdG9jb2xzIGFyZSB1c2VkIHRocm91Z2gKLSAgICAgICAgICAgICAgICAgICAgICAgICBwcm94aWVzLCBidXQgY2FuIGFsc28gYmUgZW5hYmxlZCBleHBsaWNpdGx5IGJ5Ci0gICAgICAgICAgICAgICAgICAgICAgICAgYXBwcyAqLwogICBCSVQoYXV0aG5lZyk7ICAgICAgIC8qIFRSVUUgd2hlbiB0aGUgYXV0aCBwaGFzZSBoYXMgc3RhcnRlZCwgd2hpY2ggbWVhbnMKICAgICAgICAgICAgICAgICAgICAgICAgICB0aGF0IHdlIGFyZSBjcmVhdGluZyBhIHJlcXVlc3Qgd2l0aCBhbiBhdXRoIGhlYWRlciwKICAgICAgICAgICAgICAgICAgICAgICAgICBidXQgaXQgaXMgbm90IHRoZSBmaW5hbCByZXF1ZXN0IGluIHRoZSBhdXRoCkBAIC00NjcsMTggKzQ3NCwyMiBAQAogICBCSVQoZnRwX3VzZV9kYXRhX3NzbCk7IC8qIEVuYWJsZWQgU1NMIGZvciB0aGUgZGF0YSBjb25uZWN0aW9uICovCiAjZW5kaWYKICAgQklUKG5ldHJjKTsgICAgICAgICAvKiBuYW1lK3Bhc3N3b3JkIHByb3ZpZGVkIGJ5IG5ldHJjICovCi0gIEJJVCh1c2VycHdkX2luX3VybCk7IC8qIG5hbWUrcGFzc3dvcmQgZm91bmQgaW4gdXJsICovCi0gIEJJVChwcm94eV9jb25uZWN0X2Nsb3NlZCk7IC8qIFRSVUUgaWYgYSBwcm94eSBkaXNjb25uZWN0ZWQgdGhlIGNvbm5lY3Rpb24KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW4gYSBDT05ORUNUIHJlcXVlc3Qgd2l0aCBhdXRoLCBzbyB0aGF0Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpYmN1cmwgc2hvdWxkIHJlY29ubmVjdCBhbmQgY29udGludWUuICovCiAgIEJJVChib3VuZCk7IC8qIHNldCB0cnVlIGlmIGJpbmQoKSBoYXMgYWxyZWFkeSBiZWVuIGRvbmUgb24gdGhpcyBzb2NrZXQvCiAgICAgICAgICAgICAgICAgIGNvbm5lY3Rpb24gKi8KLSAgQklUKHR5cGVfc2V0KTsgIC8qIHR5cGU9IHdhcyB1c2VkIGluIHRoZSBVUkwgKi8KICAgQklUKG11bHRpcGxleCk7IC8qIGNvbm5lY3Rpb24gaXMgbXVsdGlwbGV4ZWQgKi8KICAgQklUKHRjcF9mYXN0b3Blbik7IC8qIHVzZSBUQ1AgRmFzdCBPcGVuICovCiAgIEJJVCh0bHNfZW5hYmxlX25wbik7ICAvKiBUTFMgTlBOIGV4dGVuc2lvbj8gKi8KICAgQklUKHRsc19lbmFibGVfYWxwbik7IC8qIFRMUyBBTFBOIGV4dGVuc2lvbj8gKi8KICAgQklUKGNvbm5lY3Rfb25seSk7CisgIEJJVChkb2gpOworI2lmZGVmIFVTRV9VTklYX1NPQ0tFVFMKKyAgQklUKGFic3RyYWN0X3VuaXhfc29ja2V0KTsKKyNlbmRpZgorICBCSVQodGxzX3VwZ3JhZGVkKTsKKyAgQklUKHNvY2tfYWNjZXB0ZWQpOyAvKiBUUlVFIGlmIHRoZSBTRUNPTkRBUllTT0NLRVQgd2FzIGNyZWF0ZWQgd2l0aAorICAgICAgICAgICAgICAgICAgICAgICAgIGFjY2VwdCgpICovCisgIEJJVChwYXJhbGxlbF9jb25uZWN0KTsgLyogc2V0IFRSVUUgd2hlbiBhIHBhcmFsbGVsIGNvbm5lY3QgYXR0ZW1wdCBoYXMKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdGFydGVkIChoYXBweSBleWViYWxscykgKi8KIH07CiAKIHN0cnVjdCBob3N0bmFtZSB7CkBAIC01NTYsMTggKzU2NywxMyBAQAogICBET0hfUFJPQkVfU0xPVFMKIH07CiAKLXN0cnVjdCBkb2hyZXNwb25zZSB7Ci0gIHVuc2lnbmVkIGNoYXIgKm1lbW9yeTsKLSAgc2l6ZV90IHNpemU7Ci19OwotCiAvKiBvbmUgb2YgdGhlc2UgZm9yIGVhY2ggRG9IIHJlcXVlc3QgKi8KIHN0cnVjdCBkbnNwcm9iZSB7CiAgIENVUkwgKmVhc3k7CiAgIGludCBkbnN0eXBlOwogICB1bnNpZ25lZCBjaGFyIGRvaGJ1ZmZlcls1MTJdOwogICBzaXplX3QgZG9obGVuOwotICBzdHJ1Y3QgZG9ocmVzcG9uc2Ugc2VydmVyZG9oOworICBzdHJ1Y3QgZHluYnVmIHNlcnZlcmRvaDsKIH07CiAKIHN0cnVjdCBkb2hkYXRhIHsKQEAgLTYxMSwxMiArNjE3LDcgQEAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgd3JpdHRlbiBhcyBib2R5ICovCiAgIGludCBoZWFkZXJsaW5lOyAgICAgICAgICAgICAgIC8qIGNvdW50cyBoZWFkZXIgbGluZXMgdG8gYmV0dGVyIHRyYWNrIHRoZQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmaXJzdCBvbmUgKi8KLSAgY2hhciAqaGJ1ZnA7ICAgICAgICAgICAgICAgICAgLyogcG9pbnRzIGF0ICplbmQqIG9mIGhlYWRlciBsaW5lICovCi0gIHNpemVfdCBoYnVmbGVuOwogICBjaGFyICpzdHI7ICAgICAgICAgICAgICAgICAgICAvKiB3aXRoaW4gYnVmICovCi0gIGNoYXIgKnN0cl9zdGFydDsgICAgICAgICAgICAgIC8qIHdpdGhpbiBidWYgKi8KLSAgY2hhciAqZW5kX3B0cjsgICAgICAgICAgICAgICAgLyogd2l0aGluIGJ1ZiAqLwotICBjaGFyICpwOyAgICAgICAgICAgICAgICAgICAgICAvKiB3aXRoaW4gaGVhZGVyYnVmZiAqLwogICBjdXJsX29mZl90IG9mZnNldDsgICAgICAgICAgICAvKiBwb3NzaWJsZSByZXN1bWUgb2Zmc2V0IHJlYWQgZnJvbSB0aGUKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQ29udGVudC1SYW5nZTogaGVhZGVyICovCiAgIGludCBodHRwY29kZTsgICAgICAgICAgICAgICAgIC8qIGVycm9yIGNvZGUgZnJvbSB0aGUgJ0hUVFAvMS4/IFhYWCcgb3IKQEAgLTYyNSwxMSArNjI2LDEwIEBACiAgIGVudW0gZXhwZWN0MTAwIGV4cDEwMDsgICAgICAgIC8qIGV4cGVjdCAxMDAgY29udGludWUgc3RhdGUgKi8KICAgZW51bSB1cGdyYWRlMTAxIHVwZ3IxMDE7ICAgICAgLyogMTAxIHVwZ3JhZGUgc3RhdGUgKi8KIAotICBzdHJ1Y3QgY29udGVuY193cml0ZXJfcyAqd3JpdGVyX3N0YWNrOyAgLyogQ29udGVudCB1bmVuY29kaW5nIHN0YWNrLiAqLwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyogU2VlIHNlYyAzLjUsIFJGQzI2MTYuICovCisgIC8qIENvbnRlbnQgdW5lbmNvZGluZyBzdGFjay4gU2VlIHNlYyAzLjUsIFJGQzI2MTYuICovCisgIHN0cnVjdCBjb250ZW5jX3dyaXRlciAqd3JpdGVyX3N0YWNrOwogICB0aW1lX3QgdGltZW9mZG9jOwogICBsb25nIGJvZHl3cml0ZXM7Ci0gIGNoYXIgKmJ1ZjsKICAgaW50IGtlZXBvbjsKICAgY2hhciAqbG9jYXRpb247ICAgLyogVGhpcyBwb2ludHMgdG8gYW4gYWxsb2NhdGVkIHZlcnNpb24gb2YgdGhlIExvY2F0aW9uOgogICAgICAgICAgICAgICAgICAgICAgICBoZWFkZXIgZGF0YSAqLwpAQCAtNzY3LDYgKzc2Nyw4IEBACiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEhUVFAgcHJveHkgYXMgSFRUUCBwcm94aWVzIG1heSBrbm93CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMgcHJvdG9jb2wgYW5kIGFjdCBhcyBhIGdhdGV3YXkgKi8KICNkZWZpbmUgUFJPVE9QVF9XSUxEQ0FSRCAoMTw8MTIpIC8qIHByb3RvY29sIHN1cHBvcnRzIHdpbGRjYXJkIG1hdGNoaW5nICovCisjZGVmaW5lIFBST1RPUFRfVVNFUlBXRENUUkwgKDE8PDEzKSAvKiBBbGxvdyAiY29udHJvbCBieXRlcyIgKDwgMzIgYXNjaWkpIGluCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1c2VyIG5hbWUgYW5kIHBhc3N3b3JkICovCiAKICNkZWZpbmUgQ09OTkNIRUNLX05PTkUgMCAgICAgICAgICAgICAgICAgLyogTm8gY2hlY2tzICovCiAjZGVmaW5lIENPTk5DSEVDS19JU0RFQUQgKDE8PDApICAgICAgICAgIC8qIENoZWNrIGlmIHRoZSBjb25uZWN0aW9uIGlzIGRlYWQuICovCkBAIC03OTcsMTUgKzc5OSwxMCBAQAogICBjaGFyICpwYXNzd2Q7ICAvKiBwcm94eSBwYXNzd29yZCBzdHJpbmcsIGFsbG9jYXRlZCAqLwogfTsKIAotI2RlZmluZSBDT05ORUNUX0JVRkZFUl9TSVpFIDE2Mzg0Ci0KIC8qIHN0cnVjdCBmb3IgSFRUUCBDT05ORUNUIHN0YXRlIGRhdGEgKi8KIHN0cnVjdCBodHRwX2Nvbm5lY3Rfc3RhdGUgewotICBjaGFyIGNvbm5lY3RfYnVmZmVyW0NPTk5FQ1RfQlVGRkVSX1NJWkVdOwotICBpbnQgcGVybGluZTsgLyogY291bnQgYnl0ZXMgcGVyIGxpbmUgKi8KKyAgc3RydWN0IGR5bmJ1ZiByY3ZidWY7CiAgIGludCBrZWVwb247Ci0gIGNoYXIgKmxpbmVfc3RhcnQ7Ci0gIGNoYXIgKnB0cjsgLyogd2hlcmUgdG8gc3RvcmUgbW9yZSBkYXRhICovCiAgIGN1cmxfb2ZmX3QgY2w7IC8qIHNpemUgb2YgY29udGVudCB0byByZWFkIGFuZCBpZ25vcmUgKi8KICAgZW51bSB7CiAgICAgVFVOTkVMX0lOSVQsICAgIC8qIGluaXQvZGVmYXVsdC9ubyB0dW5uZWwgc3RhdGUgKi8KQEAgLTg4NSwxNSArODgyLDE1IEBACiAKICAgLyogJ2Ruc19lbnRyeScgaXMgdGhlIHBhcnRpY3VsYXIgaG9zdCB3ZSB1c2UuIFRoaXMgcG9pbnRzIHRvIGFuIGVudHJ5IGluIHRoZQogICAgICBETlMgY2FjaGUgYW5kIGl0IHdpbGwgbm90IGdldCBwcnVuZWQgd2hpbGUgbG9ja2VkLiBJdCBnZXRzIHVubG9ja2VkIGluCi0gICAgIEN1cmxfZG9uZSgpLiBUaGlzIGVudHJ5IHdpbGwgYmUgTlVMTCBpZiB0aGUgY29ubmVjdGlvbiBpcyByZS11c2VkIGFzIHRoZW4KKyAgICAgbXVsdGlfZG9uZSgpLiBUaGlzIGVudHJ5IHdpbGwgYmUgTlVMTCBpZiB0aGUgY29ubmVjdGlvbiBpcyByZS11c2VkIGFzIHRoZW4KICAgICAgdGhlcmUgaXMgbm8gbmFtZSByZXNvbHZlIGRvbmUuICovCiAgIHN0cnVjdCBDdXJsX2Ruc19lbnRyeSAqZG5zX2VudHJ5OwogCiAgIC8qICdpcF9hZGRyJyBpcyB0aGUgcGFydGljdWxhciBJUCB3ZSBjb25uZWN0ZWQgdG8uIEl0IHBvaW50cyB0byBhIHN0cnVjdAogICAgICB3aXRoaW4gdGhlIEROUyBjYWNoZSwgc28gdGhpcyBwb2ludGVyIGlzIG9ubHkgdmFsaWQgYXMgbG9uZyBhcyB0aGUgRE5TCi0gICAgIGNhY2hlIGVudHJ5IHJlbWFpbnMgbG9ja2VkLiBJdCBnZXRzIHVubG9ja2VkIGluIEN1cmxfZG9uZSgpICovCi0gIEN1cmxfYWRkcmluZm8gKmlwX2FkZHI7Ci0gIEN1cmxfYWRkcmluZm8gKnRlbXBhZGRyWzJdOyAvKiBmb3IgaGFwcHkgZXllYmFsbHMgKi8KKyAgICAgY2FjaGUgZW50cnkgcmVtYWlucyBsb2NrZWQuIEl0IGdldHMgdW5sb2NrZWQgaW4gbXVsdGlfZG9uZSgpICovCisgIHN0cnVjdCBDdXJsX2FkZHJpbmZvICppcF9hZGRyOworICBzdHJ1Y3QgQ3VybF9hZGRyaW5mbyAqdGVtcGFkZHJbMl07IC8qIGZvciBoYXBweSBleWViYWxscyAqLwogCiAgIC8qICdpcF9hZGRyX3N0cicgaXMgdGhlIGlwX2FkZHIgZGF0YSBhcyBhIGh1bWFuIHJlYWRhYmxlIHN0cmluZy4KICAgICAgSXQgcmVtYWlucyBhdmFpbGFibGUgYXMgbG9uZyBhcyB0aGUgY29ubmVjdGlvbiBkb2VzLCB3aGljaCBpcyBsb25nZXIgdGhhbgpAQCAtOTE4LDEwICs5MTUsMTAgQEAKICAgY2hhciAqc2Vjb25kYXJ5aG9zdG5hbWU7IC8qIHNlY29uZGFyeSBzb2NrZXQgaG9zdCBuYW1lIChmdHApICovCiAgIHN0cnVjdCBob3N0bmFtZSBjb25uX3RvX2hvc3Q7IC8qIHRoZSBob3N0IHRvIGNvbm5lY3QgdG8uIHZhbGlkIG9ubHkgaWYKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYml0cy5jb25uX3RvX2hvc3QgaXMgc2V0ICovCi0KKyNpZm5kZWYgQ1VSTF9ESVNBQkxFX1BST1hZCiAgIHN0cnVjdCBwcm94eV9pbmZvIHNvY2tzX3Byb3h5OwogICBzdHJ1Y3QgcHJveHlfaW5mbyBodHRwX3Byb3h5OwotCisjZW5kaWYKICAgbG9uZyBwb3J0OyAgICAgICAvKiB3aGljaCBwb3J0IHRvIHVzZSBsb2NhbGx5ICovCiAgIGludCByZW1vdGVfcG9ydDsgLyogdGhlIHJlbW90ZSBwb3J0LCBub3QgdGhlIHByb3h5IHBvcnQhICovCiAgIGludCBjb25uX3RvX3BvcnQ7IC8qIHRoZSByZW1vdGUgcG9ydCB0byBjb25uZWN0IHRvLiB2YWxpZCBvbmx5IGlmCkBAIC05NjksMTIgKzk2NiwxNiBAQAogICBzdHJ1Y3QgcG9zdHBvbmVkX2RhdGEgcG9zdHBvbmVkWzJdOyAvKiB0d28gYnVmZmVycyBmb3IgdHdvIHNvY2tldHMgKi8KICNlbmRpZiAvKiBVU0VfUkVDVl9CRUZPUkVfU0VORF9XT1JLQVJPVU5EICovCiAgIHN0cnVjdCBzc2xfY29ubmVjdF9kYXRhIHNzbFsyXTsgLyogdGhpcyBpcyBmb3Igc3NsLXN0dWZmICovCisjaWZuZGVmIENVUkxfRElTQUJMRV9QUk9YWQogICBzdHJ1Y3Qgc3NsX2Nvbm5lY3RfZGF0YSBwcm94eV9zc2xbMl07IC8qIHRoaXMgaXMgZm9yIHByb3h5IHNzbC1zdHVmZiAqLworI2VuZGlmCiAjaWZkZWYgVVNFX1NTTAogICB2b2lkICpzc2xfZXh0cmE7IC8qIHNlcGFyYXRlbHkgYWxsb2NhdGVkIGJhY2tlbmQtc3BlY2lmaWMgZGF0YSAqLwogI2VuZGlmCiAgIHN0cnVjdCBzc2xfcHJpbWFyeV9jb25maWcgc3NsX2NvbmZpZzsKKyNpZm5kZWYgQ1VSTF9ESVNBQkxFX1BST1hZCiAgIHN0cnVjdCBzc2xfcHJpbWFyeV9jb25maWcgcHJveHlfc3NsX2NvbmZpZzsKKyNlbmRpZgogICBzdHJ1Y3QgQ29ubmVjdEJpdHMgYml0czsgICAgLyogdmFyaW91cyBzdGF0ZS1mbGFncyBmb3IgdGhpcyBjb25uZWN0aW9uICovCiAKICAvKiBjb25uZWN0dGltZTogd2hlbiBjb25uZWN0KCkgaXMgY2FsbGVkIG9uIHRoZSBjdXJyZW50IElQIGFkZHJlc3MuIFVzZWQgdG8KQEAgLTk4Myw4ICs5ODQsMTAgQEAKICAgc3RydWN0IGN1cmx0aW1lIGNvbm5lY3R0aW1lOwogICAvKiBUaGUgdHdvIGZpZWxkcyBiZWxvdyBnZXQgc2V0IGluIEN1cmxfY29ubmVjdGhvc3QgKi8KICAgaW50IG51bV9hZGRyOyAvKiBudW1iZXIgb2YgYWRkcmVzc2VzIHRvIHRyeSB0byBjb25uZWN0IHRvICovCi0gIHRpbWVkaWZmX3QgdGltZW91dG1zX3Blcl9hZGRyOyAvKiBob3cgbG9uZyB0aW1lIGluIG1pbGxpc2Vjb25kcyB0byBzcGVuZCBvbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHJ5aW5nIHRvIGNvbm5lY3QgdG8gZWFjaCBJUCBhZGRyZXNzICovCisKKyAgLyogaG93IGxvbmcgdGltZSBpbiBtaWxsaXNlY29uZHMgdG8gc3BlbmQgb24gdHJ5aW5nIHRvIGNvbm5lY3QgdG8gZWFjaCBJUAorICAgICBhZGRyZXNzLCBwZXIgZmFtaWx5ICovCisgIHRpbWVkaWZmX3QgdGltZW91dG1zX3Blcl9hZGRyWzJdOwogCiAgIGNvbnN0IHN0cnVjdCBDdXJsX2hhbmRsZXIgKmhhbmRsZXI7IC8qIENvbm5lY3Rpb24ncyBwcm90b2NvbCBoYW5kbGVyICovCiAgIGNvbnN0IHN0cnVjdCBDdXJsX2hhbmRsZXIgKmdpdmVuOyAgIC8qIFRoZSBwcm90b2NvbCBmaXJzdCBnaXZlbiAqLwpAQCAtMTAwNSwyMSArMTAwOCw2IEBACiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdlbGwgYmUgdGhlIHNhbWUgd2UgcmVhZCBmcm9tLgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBDVVJMX1NPQ0tFVF9CQUQgZGlzYWJsZXMgKi8KIAotICAvKiogRHluYW1pY2FsbHkgYWxsb2NhdGVkIHN0cmluZ3MsIE1VU1QgYmUgZnJlZWQgYmVmb3JlIHRoaXMgKiovCi0gIC8qKiBzdHJ1Y3QgaXMga2lsbGVkLiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKiovCi0gIHN0cnVjdCBkeW5hbWljYWxseV9hbGxvY2F0ZWRfZGF0YSB7Ci0gICAgY2hhciAqcHJveHl1c2VycHdkOwotICAgIGNoYXIgKnVhZ2VudDsKLSAgICBjaGFyICphY2NlcHRfZW5jb2Rpbmc7Ci0gICAgY2hhciAqdXNlcnB3ZDsKLSAgICBjaGFyICpyYW5nZWxpbmU7Ci0gICAgY2hhciAqcmVmOwotICAgIGNoYXIgKmhvc3Q7Ci0gICAgY2hhciAqY29va2llaG9zdDsKLSAgICBjaGFyICpydHNwX3RyYW5zcG9ydDsKLSAgICBjaGFyICp0ZTsgLyogVEU6IHJlcXVlc3QgaGVhZGVyICovCi0gIH0gYWxsb2NwdHI7Ci0KICNpZmRlZiBIQVZFX0dTU0FQSQogICBCSVQoc2VjX2NvbXBsZXRlKTsgLyogaWYgS2VyYmVyb3MgaXMgZW5hYmxlZCBmb3IgdGhpcyBjb25uZWN0aW9uICovCiAgIGVudW0gcHJvdGVjdGlvbl9sZXZlbCBjb21tYW5kX3Byb3Q7CkBAIC0xMDY2LDEwICsxMDU0LDggQEAKICAgLyogZGF0YSB1c2VkIGZvciB0aGUgYXN5bmNoIG5hbWUgcmVzb2x2ZSBjYWxsYmFjayAqLwogICBzdHJ1Y3QgQ3VybF9hc3luYyBhc3luYzsKIAotICAvKiBUaGVzZSB0aHJlZSBhcmUgdXNlZCBmb3IgY2h1bmtlZC1lbmNvZGluZyB0cmFpbGVyIHN1cHBvcnQgKi8KLSAgY2hhciAqdHJhaWxlcjsgLyogYWxsb2NhdGVkIGJ1ZmZlciB0byBzdG9yZSB0cmFpbGVyIGluICovCi0gIGludCB0cmxNYXg7ICAgIC8qIGFsbG9jYXRlZCBidWZmZXIgc2l6ZSAqLwotICBpbnQgdHJsUG9zOyAgICAvKiBpbmRleCBvZiB3aGVyZSB0byBzdG9yZSBkYXRhICovCisgIC8qIGZvciBjaHVua2VkLWVuY29kZWQgdHJhaWxlciAqLworICBzdHJ1Y3QgZHluYnVmIHRyYWlsZXI7CiAKICAgdW5pb24gewogICAgIHN0cnVjdCBmdHBfY29ubiBmdHBjOwpAQCAtMTEwNywyMCArMTA5Myw3IEBACiAgIGludCByZXRyeWNvdW50OyAvKiBudW1iZXIgb2YgcmV0cmllcyBvbiBhIG5ldyBjb25uZWN0aW9uICovCiAjaWZkZWYgVVNFX1VOSVhfU09DS0VUUwogICBjaGFyICp1bml4X2RvbWFpbl9zb2NrZXQ7Ci0gIEJJVChhYnN0cmFjdF91bml4X3NvY2tldCk7CiAjZW5kaWYKLSAgQklUKHRsc191cGdyYWRlZCk7Ci0gIC8qIHRoZSB0d28gZm9sbG93aW5nICpfaW51c2UgZmllbGRzIGFyZSBvbmx5IGZsYWdzLCBub3QgY291bnRlcnMgaW4gYW55IHdheS4KLSAgICAgSWYgVFJVRSBpdCBtZWFucyB0aGUgY2hhbm5lbCBpcyBpbiB1c2UsIGFuZCBpZiBGQUxTRSBpdCBtZWFucyB0aGUgY2hhbm5lbAotICAgICBpcyB1cCBmb3IgZ3JhYnMgYnkgb25lLiAqLwotICBCSVQocmVhZGNoYW5uZWxfaW51c2UpOyAgLyogd2hldGhlciB0aGUgcmVhZCBjaGFubmVsIGlzIGluIHVzZSBieSBhbiBlYXN5Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBoYW5kbGUgKi8KLSAgQklUKHdyaXRlY2hhbm5lbF9pbnVzZSk7IC8qIHdoZXRoZXIgdGhlIHdyaXRlIGNoYW5uZWwgaXMgaW4gdXNlIGJ5IGFuIGVhc3kKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhhbmRsZSAqLwotICBCSVQoc29ja19hY2NlcHRlZCk7IC8qIFRSVUUgaWYgdGhlIFNFQ09OREFSWVNPQ0tFVCB3YXMgY3JlYXRlZCB3aXRoCi0gICAgICAgICAgICAgICAgICAgICAgICAgYWNjZXB0KCkgKi8KLSAgQklUKHBhcmFsbGVsX2Nvbm5lY3QpOyAvKiBzZXQgVFJVRSB3aGVuIGEgcGFyYWxsZWwgY29ubmVjdCBhdHRlbXB0IGhhcwotICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0YXJ0ZWQgKGhhcHB5IGV5ZWJhbGxzKSAqLwogfTsKIAogLyogVGhlIGVuZCBvZiBjb25uZWN0ZGF0YS4gKi8KQEAgLTEyNDIsMTcgKzEyMTUsNiBAQAogICAgIFJUU1BSRVFfTEFTVCAvKiBsYXN0IGluIGxpc3QgKi8KIH0gQ3VybF9SdHNwUmVxOwogCi0vKgotICogVmFsdWVzIHRoYXQgYXJlIGdlbmVyYXRlZCwgdGVtcG9yYXJ5IG9yIGNhbGN1bGF0ZWQgaW50ZXJuYWxseSBmb3IgYQotICogInNlc3Npb24gaGFuZGxlIiBtdXN0IGJlIGRlZmluZWQgd2l0aGluIHRoZSAnc3RydWN0IFVybFN0YXRlJy4gIFRoaXMgc3RydWN0Ci0gKiB3aWxsIGJlIHVzZWQgd2l0aGluIHRoZSBDdXJsX2Vhc3kgc3RydWN0LiBXaGVuIHRoZSAnQ3VybF9lYXN5JwotICogc3RydWN0IGlzIGNsb25lZCwgdGhpcyBkYXRhIE1VU1QgTk9UIGJlIGNvcGllZC4KLSAqCi0gKiBSZW1lbWJlciB0aGF0IGFueSAic3RhdGUiIGluZm9ybWF0aW9uIGdvZXMgZ2xvYmFsbHkgZm9yIHRoZSBjdXJsIGhhbmRsZS4KLSAqIFNlc3Npb24tZGF0YSBNVVNUIGJlIHB1dCBpbiB0aGUgY29ubmVjdGRhdGEgc3RydWN0IGFuZCBoZXJlLiAgKi8KLSNkZWZpbmUgTUFYX0NVUkxfVVNFUl9MRU5HVEggMjU2Ci0jZGVmaW5lIE1BWF9DVVJMX1BBU1NXT1JEX0xFTkdUSCAyNTYKLQogc3RydWN0IGF1dGggewogICB1bnNpZ25lZCBsb25nIHdhbnQ7ICAvKiBCaXRtYXNrIHNldCB0byB0aGUgYXV0aGVudGljYXRpb24gbWV0aG9kcyB3YW50ZWQgYnkKICAgICAgICAgICAgICAgICAgICAgICAgICAgYXBwICh3aXRoIENVUkxPUFRfSFRUUEFVVEggb3IgQ1VSTE9QVF9QUk9YWUFVVEgpLiAqLwpAQCAtMTI3OCw5ICsxMjQwLDcgQEAKICAqIEJPRFkpLgogICovCiBzdHJ1Y3QgdGVtcGJ1ZiB7Ci0gIGNoYXIgKmJ1ZjsgIC8qIGFsbG9jYXRlZCBidWZmZXIgdG8ga2VlcCBkYXRhIGluIHdoZW4gYSB3cml0ZSBjYWxsYmFjawotICAgICAgICAgICAgICAgICByZXR1cm5zIHRvIG1ha2UgdGhlIGNvbm5lY3Rpb24gcGF1c2VkICovCi0gIHNpemVfdCBsZW47IC8qIHNpemUgb2YgdGhlICd0ZW1wd3JpdGUnIGFsbG9jYXRlZCBidWZmZXIgKi8KKyAgc3RydWN0IGR5bmJ1ZiBiOwogICBpbnQgdHlwZTsgICAvKiB0eXBlIG9mIHRoZSAndGVtcHdyaXRlJyBidWZmZXIgYXMgYSBiaXRtYXNrIHRoYXQgaXMgdXNlZCB3aXRoCiAgICAgICAgICAgICAgICAgIEN1cmxfY2xpZW50X3dyaXRlKCkgKi8KIH07CkBAIC0xMjkwLDcgKzEyNTAsOCBAQAogICBFWFBJUkVfMTAwX1RJTUVPVVQsCiAgIEVYUElSRV9BU1lOQ19OQU1FLAogICBFWFBJUkVfQ09OTkVDVFRJTUVPVVQsCi0gIEVYUElSRV9ETlNfUEVSX05BTUUsCisgIEVYUElSRV9ETlNfUEVSX05BTUUsIC8qIGZhbWlseTEgKi8KKyAgRVhQSVJFX0ROU19QRVJfTkFNRTIsIC8qIGZhbWlseTIgKi8KICAgRVhQSVJFX0hBUFBZX0VZRUJBTExTX0ROUywgLyogU2VlIGFzeW4tYXJlcy5jICovCiAgIEVYUElSRV9IQVBQWV9FWUVCQUxMUywKICAgRVhQSVJFX01VTFRJX1BFTkRJTkcsCkBAIC0xMzQwLDkgKzEzMDEsNyBAQAogICBzdHJ1Y3QgY3VybHRpbWUga2VlcHNfc3BlZWQ7IC8qIGZvciB0aGUgcHJvZ3Jlc3MgbWV0ZXIgcmVhbGx5ICovCiAKICAgc3RydWN0IGNvbm5lY3RkYXRhICpsYXN0Y29ubmVjdDsgLyogVGhlIGxhc3QgY29ubmVjdGlvbiwgTlVMTCBpZiB1bmRlZmluZWQgKi8KLQotICBjaGFyICpoZWFkZXJidWZmOyAvKiBhbGxvY2F0ZWQgYnVmZmVyIHRvIHN0b3JlIGhlYWRlcnMgaW4gKi8KLSAgc2l6ZV90IGhlYWRlcnNpemU7ICAgLyogc2l6ZSBvZiB0aGUgYWxsb2NhdGlvbiAqLworICBzdHJ1Y3QgZHluYnVmIGhlYWRlcmI7IC8qIGJ1ZmZlciB0byBzdG9yZSBoZWFkZXJzIGluICovCiAKICAgY2hhciAqYnVmZmVyOyAvKiBkb3dubG9hZCBidWZmZXIgKi8KICAgY2hhciAqdWxidWY7IC8qIGFsbG9jYXRlZCB1cGxvYWQgYnVmZmVyIG9yIE5VTEwgKi8KQEAgLTE0MjAsMTMgKzEzNzksMzAgQEAKICAgaW50IHN0cmVhbV93ZWlnaHQ7CiAgIENVUkxVICp1aDsgLyogVVJMIGhhbmRsZSBmb3IgdGhlIGN1cnJlbnQgcGFyc2VkIFVSTCAqLwogICBzdHJ1Y3QgdXJscGllY2VzIHVwOworICBDdXJsX0h0dHBSZXEgaHR0cHJlcTsgLyogd2hhdCBraW5kIG9mIEhUVFAgcmVxdWVzdCAoaWYgYW55KSBpcyB0aGlzICovCiAjaWZuZGVmIENVUkxfRElTQUJMRV9IVFRQCiAgIHNpemVfdCB0cmFpbGVyc19ieXRlc19zZW50OwotICBDdXJsX3NlbmRfYnVmZmVyICp0cmFpbGVyc19idWY7IC8qIGEgYnVmZmVyIGNvbnRhaW5pbmcgdGhlIGNvbXBpbGVkIHRyYWlsaW5nCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaGVhZGVycyAqLworICBzdHJ1Y3QgZHluYnVmIHRyYWlsZXJzX2J1ZjsgLyogYSBidWZmZXIgY29udGFpbmluZyB0aGUgY29tcGlsZWQgdHJhaWxpbmcKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhlYWRlcnMgKi8KICNlbmRpZgogICB0cmFpbGVyc19zdGF0ZSB0cmFpbGVyc19zdGF0ZTsgLyogd2hldGhlciB3ZSBhcmUgc2VuZGluZyB0cmFpbGVycwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYW5kIHdoYXQgc3RhZ2UgYXJlIHdlIGF0ICovCisKKyAgLyogRHluYW1pY2FsbHkgYWxsb2NhdGVkIHN0cmluZ3MsIE1VU1QgYmUgZnJlZWQgYmVmb3JlIHRoaXMgc3RydWN0IGlzCisgICAgIGtpbGxlZC4gKi8KKyAgc3RydWN0IGR5bmFtaWNhbGx5X2FsbG9jYXRlZF9kYXRhIHsKKyAgICBjaGFyICpwcm94eXVzZXJwd2Q7CisgICAgY2hhciAqdWFnZW50OworICAgIGNoYXIgKmFjY2VwdF9lbmNvZGluZzsKKyAgICBjaGFyICp1c2VycHdkOworICAgIGNoYXIgKnJhbmdlbGluZTsKKyAgICBjaGFyICpyZWY7CisgICAgY2hhciAqaG9zdDsKKyAgICBjaGFyICpjb29raWVob3N0OworICAgIGNoYXIgKnJ0c3BfdHJhbnNwb3J0OworICAgIGNoYXIgKnRlOyAvKiBURTogcmVxdWVzdCBoZWFkZXIgKi8KKyAgfSBhcHRyOworCiAjaWZkZWYgQ1VSTERFQlVHCiAgIEJJVChjb25uY2FjaGVfbG9jayk7CiAjZW5kaWYKQEAgLTE1ODksNyArMTU2NSw3IEBACiAgIFNUUklOR19ETlNfTE9DQUxfSVA0LAogICBTVFJJTkdfRE5TX0xPQ0FMX0lQNiwKIAotICAvKiAtLSBlbmQgb2YgemVyby10ZXJtaW5hdGVkIHN0cmluZ3MgLS0gKi8KKyAgLyogLS0gZW5kIG9mIG51bGwtdGVybWluYXRlZCBzdHJpbmdzIC0tICovCiAKICAgU1RSSU5HX0xBU1RaRVJPVEVSTUlOQVRFRCwKIApAQCAtMTYwMSw2ICsxNTc3LDE2IEBACiAgIFNUUklOR19MQVNUIC8qIG5vdCB1c2VkLCBqdXN0IGFuIGVuZC1vZi1saXN0IG1hcmtlciAqLwogfTsKIAorZW51bSBkdXBibG9iIHsKKyAgQkxPQl9DRVJUX09SSUcsCisgIEJMT0JfQ0VSVF9QUk9YWSwKKyAgQkxPQl9LRVlfT1JJRywKKyAgQkxPQl9LRVlfUFJPWFksCisgIEJMT0JfU1NMX0lTU1VFUkNFUlRfT1JJRywKKyAgQkxPQl9TU0xfSVNTVUVSQ0VSVF9QUk9YWSwKKyAgQkxPQl9MQVNUCit9OworCiAvKiBjYWxsYmFjayB0aGF0IGdldHMgY2FsbGVkIHdoZW4gdGhpcyBlYXN5IGhhbmRsZSBpcyBjb21wbGV0ZWQgd2l0aGluIGEgbXVsdGkKICAgIGhhbmRsZS4gIE9ubHkgdXNlZCBmb3IgaW50ZXJuYWxseSBjcmVhdGVkIHRyYW5zZmVycywgbGlrZSBmb3IgZXhhbXBsZQogICAgRG9ILiAqLwpAQCAtMTY5OCwxMSArMTY4NCwxMyBAQAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhlIGhvc3RuYW1lIGFuZCBwb3J0IHRvIGNvbm5lY3QgdG8gKi8KICAgY3VybF9UaW1lQ29uZCB0aW1lY29uZGl0aW9uOyAvKiBraW5kIG9mIHRpbWUvZGF0ZSBjb21wYXJpc29uICovCiAgIHRpbWVfdCB0aW1ldmFsdWU7ICAgICAgIC8qIHdoYXQgdGltZSB0byBjb21wYXJlIHdpdGggKi8KLSAgQ3VybF9IdHRwUmVxIGh0dHByZXE7ICAgLyogd2hhdCBraW5kIG9mIEhUVFAgcmVxdWVzdCAoaWYgYW55KSBpcyB0aGlzICovCisgIEN1cmxfSHR0cFJlcSBtZXRob2Q7ICAgLyogd2hhdCBraW5kIG9mIEhUVFAgcmVxdWVzdCAoaWYgYW55KSBpcyB0aGlzICovCiAgIGxvbmcgaHR0cHZlcnNpb247IC8qIHdoZW4gbm9uLXplcm8sIGEgc3BlY2lmaWMgSFRUUCB2ZXJzaW9uIHJlcXVlc3RlZCB0bwogICAgICAgICAgICAgICAgICAgICAgICBiZSB1c2VkIGluIHRoZSBsaWJyYXJ5J3MgcmVxdWVzdChzKSAqLwogICBzdHJ1Y3Qgc3NsX2NvbmZpZ19kYXRhIHNzbDsgIC8qIHVzZXIgZGVmaW5lZCBTU0wgc3R1ZmYgKi8KKyNpZm5kZWYgQ1VSTF9ESVNBQkxFX1BST1hZCiAgIHN0cnVjdCBzc2xfY29uZmlnX2RhdGEgcHJveHlfc3NsOyAgLyogdXNlciBkZWZpbmVkIFNTTCBzdHVmZiBmb3IgcHJveHkgKi8KKyNlbmRpZgogICBzdHJ1Y3Qgc3NsX2dlbmVyYWxfY29uZmlnIGdlbmVyYWxfc3NsOyAvKiBnZW5lcmFsIHVzZXIgZGVmaW5lZCBTU0wgc3R1ZmYgKi8KICAgY3VybF9wcm94eXR5cGUgcHJveHl0eXBlOyAvKiB3aGF0IGtpbmQgb2YgcHJveHkgdGhhdCBpcyBpbiB1c2UgKi8KICAgbG9uZyBkbnNfY2FjaGVfdGltZW91dDsgLyogRE5TIGNhY2hlIHRpbWVvdXQgKi8KQEAgLTE3MzIsNiArMTcyMCw3IEBACiAgIGxvbmcgbmV3X2RpcmVjdG9yeV9wZXJtczsgLyogUGVybWlzc2lvbnMgdG8gdXNlIHdoZW4gY3JlYXRpbmcgcmVtb3RlIGRpcnMgKi8KICAgbG9uZyBzc2hfYXV0aF90eXBlczsgICAvKiBhbGxvd2VkIFNTSCBhdXRoIHR5cGVzICovCiAgIGNoYXIgKnN0cltTVFJJTkdfTEFTVF07IC8qIGFycmF5IG9mIHN0cmluZ3MsIHBvaW50aW5nIHRvIGFsbG9jYXRlZCBtZW1vcnkgKi8KKyAgc3RydWN0IGN1cmxfYmxvYiAqYmxvYnNbQkxPQl9MQVNUXTsKICAgdW5zaWduZWQgaW50IHNjb3BlX2lkOyAgLyogU2NvcGUgaWQgZm9yIElQdjYgKi8KICAgbG9uZyBhbGxvd2VkX3Byb3RvY29sczsKICAgbG9uZyByZWRpcl9wcm90b2NvbHM7CmRpZmYgLS1naXQgYS9saWIvdmF1dGgvY2xlYXJ0ZXh0LmMgYi9saWIvdmF1dGgvY2xlYXJ0ZXh0LmMKaW5kZXggNmY0NTJjMS4uM2E1Yzk0MyAxMDA2NDQKLS0tIGEvbGliL3ZhdXRoL2NsZWFydGV4dC5jCisrKyBiL2xpYi92YXV0aC9jbGVhcnRleHQuYwpAQCAtNSw3ICs1LDcgQEAKICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgKF9ffCB8X3wgfCAgXyA8fCB8X19fCiAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXF9fX3xcX19fL3xffCBcX1xfX19fX3wKICAqCi0gKiBDb3B5cmlnaHQgKEMpIDE5OTggLSAyMDE5LCBEYW5pZWwgU3RlbmJlcmcsIDxkYW5pZWxAaGF4eC5zZT4sIGV0IGFsLgorICogQ29weXJpZ2h0IChDKSAxOTk4IC0gMjAyMCwgRGFuaWVsIFN0ZW5iZXJnLCA8ZGFuaWVsQGhheHguc2U+LCBldCBhbC4KICAqCiAgKiBUaGlzIHNvZnR3YXJlIGlzIGxpY2Vuc2VkIGFzIGRlc2NyaWJlZCBpbiB0aGUgZmlsZSBDT1BZSU5HLCB3aGljaAogICogeW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGFzIHBhcnQgb2YgdGhpcyBkaXN0cmlidXRpb24uIFRoZSB0ZXJtcwpAQCAtODEsNyArODEsOCBAQAogICBwbGVuID0gc3RybGVuKHBhc3N3ZCk7CiAKICAgLyogQ29tcHV0ZSBiaW5hcnkgbWVzc2FnZSBsZW5ndGguIENoZWNrIGZvciBvdmVyZmxvd3MuICovCi0gIGlmKCgoemxlbiArIGNsZW4pID4gU0laRV9UX01BWC80KSB8fCAocGxlbiA+IChTSVpFX1RfTUFYLzIgLSAyKSkpCisgIGlmKCh6bGVuID4gU0laRV9UX01BWC80KSB8fCAoY2xlbiA+IFNJWkVfVF9NQVgvNCkgfHwKKyAgICAgKHBsZW4gPiAoU0laRV9UX01BWC8yIC0gMikpKQogICAgIHJldHVybiBDVVJMRV9PVVRfT0ZfTUVNT1JZOwogICBwbGFpbmxlbiA9IHpsZW4gKyBjbGVuICsgcGxlbiArIDI7CiAKZGlmZiAtLWdpdCBhL2xpYi92YXV0aC9jcmFtLmMgYi9saWIvdmF1dGgvY3JhbS5jCmluZGV4IDA0NDM4ZmEuLjcxN2Q3ZjAgMTAwNjQ0Ci0tLSBhL2xpYi92YXV0aC9jcmFtLmMKKysrIGIvbGliL3ZhdXRoL2NyYW0uYwpAQCAtNSw3ICs1LDcgQEAKICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgKF9ffCB8X3wgfCAgXyA8fCB8X19fCiAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXF9fX3xcX19fL3xffCBcX1xfX19fX3wKICAqCi0gKiBDb3B5cmlnaHQgKEMpIDE5OTggLSAyMDE5LCBEYW5pZWwgU3RlbmJlcmcsIDxkYW5pZWxAaGF4eC5zZT4sIGV0IGFsLgorICogQ29weXJpZ2h0IChDKSAxOTk4IC0gMjAyMCwgRGFuaWVsIFN0ZW5iZXJnLCA8ZGFuaWVsQGhheHguc2U+LCBldCBhbC4KICAqCiAgKiBUaGlzIHNvZnR3YXJlIGlzIGxpY2Vuc2VkIGFzIGRlc2NyaWJlZCBpbiB0aGUgZmlsZSBDT1BZSU5HLCB3aGljaAogICogeW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGFzIHBhcnQgb2YgdGhpcyBkaXN0cmlidXRpb24uIFRoZSB0ZXJtcwpAQCAtOTYsNyArOTYsNyBAQAogewogICBDVVJMY29kZSByZXN1bHQgPSBDVVJMRV9PSzsKICAgc2l6ZV90IGNobGdsZW4gPSAwOwotICBITUFDX2NvbnRleHQgKmN0eHQ7CisgIHN0cnVjdCBITUFDX2NvbnRleHQgKmN0eHQ7CiAgIHVuc2lnbmVkIGNoYXIgZGlnZXN0W01ENV9ESUdFU1RfTEVOXTsKICAgY2hhciAqcmVzcG9uc2U7CiAKZGlmZiAtLWdpdCBhL2xpYi92YXV0aC9kaWdlc3QuYyBiL2xpYi92YXV0aC9kaWdlc3QuYwppbmRleCBhODgzNTcwLi5iOTIxMGE4IDEwMDY0NAotLS0gYS9saWIvdmF1dGgvZGlnZXN0LmMKKysrIGIvbGliL3ZhdXRoL2RpZ2VzdC5jCkBAIC0zNTgsNyArMzU4LDcgQEAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNoYXIgKipvdXRwdHIsIHNpemVfdCAqb3V0bGVuKQogewogICBzaXplX3QgaTsKLSAgTUQ1X2NvbnRleHQgKmN0eHQ7CisgIHN0cnVjdCBNRDVfY29udGV4dCAqY3R4dDsKICAgY2hhciAqcmVzcG9uc2UgPSBOVUxMOwogICB1bnNpZ25lZCBjaGFyIGRpZ2VzdFtNRDVfRElHRVNUX0xFTl07CiAgIGNoYXIgSEExX2hleFsyICogTUQ1X0RJR0VTVF9MRU4gKyAxXTsKZGlmZiAtLWdpdCBhL2xpYi92YXV0aC9kaWdlc3Rfc3NwaS5jIGIvbGliL3ZhdXRoL2RpZ2VzdF9zc3BpLmMKaW5kZXggYTEwOTA1Ni4uNDk5ODMwNiAxMDA2NDQKLS0tIGEvbGliL3ZhdXRoL2RpZ2VzdF9zc3BpLmMKKysrIGIvbGliL3ZhdXRoL2RpZ2VzdF9zc3BpLmMKQEAgLTYsNyArNiw3IEBACiAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXF9fX3xcX19fL3xffCBcX1xfX19fX3wKICAqCiAgKiBDb3B5cmlnaHQgKEMpIDIwMTQgLSAyMDE2LCBTdGV2ZSBIb2xtZSwgPHN0ZXZlX2hvbG1lQGhvdG1haWwuY29tPi4KLSAqIENvcHlyaWdodCAoQykgMjAxNSAtIDIwMTksIERhbmllbCBTdGVuYmVyZywgPGRhbmllbEBoYXh4LnNlPiwgZXQgYWwuCisgKiBDb3B5cmlnaHQgKEMpIDIwMTUgLSAyMDIwLCBEYW5pZWwgU3RlbmJlcmcsIDxkYW5pZWxAaGF4eC5zZT4sIGV0IGFsLgogICoKICAqIFRoaXMgc29mdHdhcmUgaXMgbGljZW5zZWQgYXMgZGVzY3JpYmVkIGluIHRoZSBmaWxlIENPUFlJTkcsIHdoaWNoCiAgKiB5b3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYXMgcGFydCBvZiB0aGlzIGRpc3RyaWJ1dGlvbi4gVGhlIHRlcm1zCkBAIC0xMzQsNyArMTM0LDggQEAKICAgaWYoc3RhdHVzICE9IFNFQ19FX09LKSB7CiAgICAgZnJlZShpbnB1dF90b2tlbik7CiAKLSAgICByZXR1cm4gQ1VSTEVfTk9UX0JVSUxUX0lOOworICAgIGZhaWxmKGRhdGEsICJTU1BJOiBjb3VsZG4ndCBnZXQgYXV0aCBpbmZvXG4iKTsKKyAgICByZXR1cm4gQ1VSTEVfQVVUSF9FUlJPUjsKICAgfQogCiAgIHRva2VuX21heCA9IFNlY3VyaXR5UGFja2FnZS0+Y2JNYXhUb2tlbjsKQEAgLTI4OCwxMyArMjg5LDEzIEBACiAgICAgICAgIGlmKHN0cmNhc2Vjb21wYXJlKHZhbHVlLCAicmVhbG0iKSkgewogCiAgICAgICAgICAgLyogU2V0dXAgaWRlbnRpdHkncyBkb21haW4gYW5kIGxlbmd0aCAqLwotICAgICAgICAgIGRvbWFpbi50Y2hhcl9wdHIgPSBDdXJsX2NvbnZlcnRfVVRGOF90b190Y2hhcigoY2hhciAqKSBjb250ZW50KTsKKyAgICAgICAgICBkb21haW4udGNoYXJfcHRyID0gY3VybHhfY29udmVydF9VVEY4X3RvX3RjaGFyKChjaGFyICopIGNvbnRlbnQpOwogICAgICAgICAgIGlmKCFkb21haW4udGNoYXJfcHRyKQogICAgICAgICAgICAgcmV0dXJuIENVUkxFX09VVF9PRl9NRU1PUlk7CiAKICAgICAgICAgICBkdXBfZG9tYWluLnRjaGFyX3B0ciA9IF90Y3NkdXAoZG9tYWluLnRjaGFyX3B0cik7CiAgICAgICAgICAgaWYoIWR1cF9kb21haW4udGNoYXJfcHRyKSB7Ci0gICAgICAgICAgICBDdXJsX3VuaWNvZGVmcmVlKGRvbWFpbi50Y2hhcl9wdHIpOworICAgICAgICAgICAgY3VybHhfdW5pY29kZWZyZWUoZG9tYWluLnRjaGFyX3B0cik7CiAgICAgICAgICAgICByZXR1cm4gQ1VSTEVfT1VUX09GX01FTU9SWTsKICAgICAgICAgICB9CiAKQEAgLTMwMyw3ICszMDQsNyBAQAogICAgICAgICAgIGlkZW50aXR5LT5Eb21haW5MZW5ndGggPSBjdXJseF91enRvdWwoX3Rjc2xlbihkdXBfZG9tYWluLnRjaGFyX3B0cikpOwogICAgICAgICAgIGR1cF9kb21haW4udGNoYXJfcHRyID0gTlVMTDsKIAotICAgICAgICAgIEN1cmxfdW5pY29kZWZyZWUoZG9tYWluLnRjaGFyX3B0cik7CisgICAgICAgICAgY3VybHhfdW5pY29kZWZyZWUoZG9tYWluLnRjaGFyX3B0cik7CiAgICAgICAgIH0KICAgICAgICAgZWxzZSB7CiAgICAgICAgICAgLyogVW5rbm93biBzcGVjaWZpZXIsIGlnbm9yZSBpdCEgKi8KQEAgLTQzMSw4ICs0MzIsMTAgQEAKICAgLyogUXVlcnkgdGhlIHNlY3VyaXR5IHBhY2thZ2UgZm9yIERpZ2VzdFNTUCAqLwogICBzdGF0dXMgPSBzX3BTZWNGbi0+UXVlcnlTZWN1cml0eVBhY2thZ2VJbmZvKChUQ0hBUiAqKSBURVhUKFNQX05BTUVfRElHRVNUKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmU2VjdXJpdHlQYWNrYWdlKTsKLSAgaWYoc3RhdHVzICE9IFNFQ19FX09LKQotICAgIHJldHVybiBDVVJMRV9OT1RfQlVJTFRfSU47CisgIGlmKHN0YXR1cyAhPSBTRUNfRV9PSykgeworICAgIGZhaWxmKGRhdGEsICJTU1BJOiBjb3VsZG4ndCBnZXQgYXV0aCBpbmZvXG4iKTsKKyAgICByZXR1cm4gQ1VSTEVfQVVUSF9FUlJPUjsKKyAgfQogCiAgIHRva2VuX21heCA9IFNlY3VyaXR5UGFja2FnZS0+Y2JNYXhUb2tlbjsKIApAQCAtNTgwLDcgKzU4Myw3IEBACiAgICAgcmVzcF9idWYucHZCdWZmZXIgICA9IG91dHB1dF90b2tlbjsKICAgICByZXNwX2J1Zi5jYkJ1ZmZlciAgID0gY3VybHhfdXp0b3VsKHRva2VuX21heCk7CiAKLSAgICBzcG4gPSBDdXJsX2NvbnZlcnRfVVRGOF90b190Y2hhcigoY2hhciAqKSB1cmlwYXRoKTsKKyAgICBzcG4gPSBjdXJseF9jb252ZXJ0X1VURjhfdG9fdGNoYXIoKGNoYXIgKikgdXJpcGF0aCk7CiAgICAgaWYoIXNwbikgewogICAgICAgc19wU2VjRm4tPkZyZWVDcmVkZW50aWFsc0hhbmRsZSgmY3JlZGVudGlhbHMpOwogCkBAIC02MDIsNyArNjA1LDcgQEAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmY2hsZ19kZXNjLCAwLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRpZ2VzdC0+aHR0cF9jb250ZXh0LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZyZXNwX2Rlc2MsICZhdHRycywgJmV4cGlyeSk7Ci0gICAgQ3VybF91bmljb2RlZnJlZShzcG4pOworICAgIGN1cmx4X3VuaWNvZGVmcmVlKHNwbik7CiAKICAgICBpZihzdGF0dXMgPT0gU0VDX0lfQ09NUExFVEVfTkVFREVEIHx8CiAgICAgICAgc3RhdHVzID09IFNFQ19JX0NPTVBMRVRFX0FORF9DT05USU5VRSkKZGlmZiAtLWdpdCBhL2xpYi92YXV0aC9rcmI1X3NzcGkuYyBiL2xpYi92YXV0aC9rcmI1X3NzcGkuYwppbmRleCA5ODA0MWQ5Li4xZmI2MjU3IDEwMDY0NAotLS0gYS9saWIvdmF1dGgva3JiNV9zc3BpLmMKKysrIGIvbGliL3ZhdXRoL2tyYjVfc3NwaS5jCkBAIC01LDcgKzUsNyBAQAogICogICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAoX198IHxffCB8ICBfIDx8IHxfX18KICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcX19ffFxfX18vfF98IFxfXF9fX19ffAogICoKLSAqIENvcHlyaWdodCAoQykgMjAxNCAtIDIwMTksIFN0ZXZlIEhvbG1lLCA8c3RldmVfaG9sbWVAaG90bWFpbC5jb20+LgorICogQ29weXJpZ2h0IChDKSAyMDE0IC0gMjAyMCwgU3RldmUgSG9sbWUsIDxzdGV2ZV9ob2xtZUBob3RtYWlsLmNvbT4uCiAgKgogICogVGhpcyBzb2Z0d2FyZSBpcyBsaWNlbnNlZCBhcyBkZXNjcmliZWQgaW4gdGhlIGZpbGUgQ09QWUlORywgd2hpY2gKICAqIHlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhcyBwYXJ0IG9mIHRoaXMgZGlzdHJpYnV0aW9uLiBUaGUgdGVybXMKQEAgLTEyNSw3ICsxMjUsOCBAQAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVEVYVChTUF9OQU1FX0tFUkJFUk9TKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZTZWN1cml0eVBhY2thZ2UpOwogICAgIGlmKHN0YXR1cyAhPSBTRUNfRV9PSykgewotICAgICAgcmV0dXJuIENVUkxFX05PVF9CVUlMVF9JTjsKKyAgICAgIGZhaWxmKGRhdGEsICJTU1BJOiBjb3VsZG4ndCBnZXQgYXV0aCBpbmZvXG4iKTsKKyAgICAgIHJldHVybiBDVVJMRV9BVVRIX0VSUk9SOwogICAgIH0KIAogICAgIGtyYjUtPnRva2VuX21heCA9IFNlY3VyaXR5UGFja2FnZS0+Y2JNYXhUb2tlbjsKQEAgLTM5NSw3ICszOTYsNyBAQAogICAgIHJldHVybiBDVVJMRV9PVVRfT0ZfTUVNT1JZOwogCiAgIC8qIENvbnZlcnQgdGhlIHVzZXIgbmFtZSB0byBVVEY4IHdoZW4gb3BlcmF0aW5nIHdpdGggVW5pY29kZSAqLwotICB1c2VyX25hbWUgPSBDdXJsX2NvbnZlcnRfdGNoYXJfdG9fVVRGOChuYW1lcy5zVXNlck5hbWUpOworICB1c2VyX25hbWUgPSBjdXJseF9jb252ZXJ0X3RjaGFyX3RvX1VURjgobmFtZXMuc1VzZXJOYW1lKTsKICAgaWYoIXVzZXJfbmFtZSkgewogICAgIGZyZWUodHJhaWxlcik7CiAKQEAgLTQwNyw3ICs0MDgsNyBAQAogICBtZXNzYWdlID0gbWFsbG9jKG1lc3NhZ2VsZW4pOwogICBpZighbWVzc2FnZSkgewogICAgIGZyZWUodHJhaWxlcik7Ci0gICAgQ3VybF91bmljb2RlZnJlZSh1c2VyX25hbWUpOworICAgIGN1cmx4X3VuaWNvZGVmcmVlKHVzZXJfbmFtZSk7CiAKICAgICByZXR1cm4gQ1VSTEVfT1VUX09GX01FTU9SWTsKICAgfQpAQCAtNDIwLDcgKzQyMSw3IEBACiAgIG91dGRhdGEgPSBodG9ubChtYXhfc2l6ZSkgfCBzZWNfbGF5ZXI7CiAgIG1lbWNweShtZXNzYWdlLCAmb3V0ZGF0YSwgc2l6ZW9mKG91dGRhdGEpKTsKICAgc3RyY3B5KChjaGFyICopIG1lc3NhZ2UgKyBzaXplb2Yob3V0ZGF0YSksIHVzZXJfbmFtZSk7Ci0gIEN1cmxfdW5pY29kZWZyZWUodXNlcl9uYW1lKTsKKyAgY3VybHhfdW5pY29kZWZyZWUodXNlcl9uYW1lKTsKIAogICAvKiBBbGxvY2F0ZSB0aGUgcGFkZGluZyAqLwogICBwYWRkaW5nID0gbWFsbG9jKHNpemVzLmNiQmxvY2tTaXplKTsKZGlmZiAtLWdpdCBhL2xpYi92YXV0aC9udGxtLmMgYi9saWIvdmF1dGgvbnRsbS5jCmluZGV4IDhmOTEwMzguLjNiNDZlMWEgMTAwNjQ0Ci0tLSBhL2xpYi92YXV0aC9udGxtLmMKKysrIGIvbGliL3ZhdXRoL250bG0uYwpAQCAtNjAwLDExICs2MDAsMTQgQEAKICNlbmRpZgogCiAjaWYgZGVmaW5lZChVU0VfTlRSRVNQT05TRVMpICYmIGRlZmluZWQoVVNFX05UTE0yU0VTU0lPTikKKworI2RlZmluZSBDVVJMX01ENV9ESUdFU1RfTEVOR1RIIDE2IC8qIGZpeGVkIHNpemUgKi8KKwogICAvKiBXZSBkb24ndCBzdXBwb3J0IE5UTE0yIGlmIHdlIGRvbid0IGhhdmUgVVNFX05UUkVTUE9OU0VTICovCiAgIGlmKG50bG0tPmZsYWdzICYgTlRMTUZMQUdfTkVHT1RJQVRFX05UTE1fS0VZKSB7CiAgICAgdW5zaWduZWQgY2hhciBudGJ1ZmZlclsweDE4XTsKICAgICB1bnNpZ25lZCBjaGFyIHRtcFsweDE4XTsKLSAgICB1bnNpZ25lZCBjaGFyIG1kNXN1bVtNRDVfRElHRVNUX0xFTkdUSF07CisgICAgdW5zaWduZWQgY2hhciBtZDVzdW1bQ1VSTF9NRDVfRElHRVNUX0xFTkdUSF07CiAgICAgdW5zaWduZWQgY2hhciBlbnRyb3B5WzhdOwogCiAgICAgLyogTmVlZCB0byBjcmVhdGUgOCBieXRlcyByYW5kb20gZGF0YSAqLwpkaWZmIC0tZ2l0IGEvbGliL3ZhdXRoL250bG1fc3NwaS5jIGIvbGliL3ZhdXRoL250bG1fc3NwaS5jCmluZGV4IGNkNmNiNzkuLjg0ZWE1MWQgMTAwNjQ0Ci0tLSBhL2xpYi92YXV0aC9udGxtX3NzcGkuYworKysgYi9saWIvdmF1dGgvbnRsbV9zc3BpLmMKQEAgLTUsNyArNSw3IEBACiAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICB8IChfX3wgfF98IHwgIF8gPHwgfF9fXwogICogICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxfX198XF9fXy98X3wgXF9cX19fX198CiAgKgotICogQ29weXJpZ2h0IChDKSAxOTk4IC0gMjAxOSwgRGFuaWVsIFN0ZW5iZXJnLCA8ZGFuaWVsQGhheHguc2U+LCBldCBhbC4KKyAqIENvcHlyaWdodCAoQykgMTk5OCAtIDIwMjAsIERhbmllbCBTdGVuYmVyZywgPGRhbmllbEBoYXh4LnNlPiwgZXQgYWwuCiAgKgogICogVGhpcyBzb2Z0d2FyZSBpcyBsaWNlbnNlZCBhcyBkZXNjcmliZWQgaW4gdGhlIGZpbGUgQ09QWUlORywgd2hpY2gKICAqIHlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhcyBwYXJ0IG9mIHRoaXMgZGlzdHJpYnV0aW9uLiBUaGUgdGVybXMKQEAgLTEwNSw4ICsxMDUsMTAgQEAKICAgLyogUXVlcnkgdGhlIHNlY3VyaXR5IHBhY2thZ2UgZm9yIE5UTE0gKi8KICAgc3RhdHVzID0gc19wU2VjRm4tPlF1ZXJ5U2VjdXJpdHlQYWNrYWdlSW5mbygoVENIQVIgKikgVEVYVChTUF9OQU1FX05UTE0pLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZTZWN1cml0eVBhY2thZ2UpOwotICBpZihzdGF0dXMgIT0gU0VDX0VfT0spCi0gICAgcmV0dXJuIENVUkxFX05PVF9CVUlMVF9JTjsKKyAgaWYoc3RhdHVzICE9IFNFQ19FX09LKSB7CisgICAgZmFpbGYoZGF0YSwgIlNTUEk6IGNvdWxkbid0IGdldCBhdXRoIGluZm9cbiIpOworICAgIHJldHVybiBDVVJMRV9BVVRIX0VSUk9SOworICB9CiAKICAgbnRsbS0+dG9rZW5fbWF4ID0gU2VjdXJpdHlQYWNrYWdlLT5jYk1heFRva2VuOwogCmRpZmYgLS1naXQgYS9saWIvdmF1dGgvc3BuZWdvX3NzcGkuYyBiL2xpYi92YXV0aC9zcG5lZ29fc3NwaS5jCmluZGV4IGI5YzJjZjcuLjE5NGYyNTAgMTAwNjQ0Ci0tLSBhL2xpYi92YXV0aC9zcG5lZ29fc3NwaS5jCisrKyBiL2xpYi92YXV0aC9zcG5lZ29fc3NwaS5jCkBAIC01LDcgKzUsNyBAQAogICogICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAoX198IHxffCB8ICBfIDx8IHxfX18KICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcX19ffFxfX18vfF98IFxfXF9fX19ffAogICoKLSAqIENvcHlyaWdodCAoQykgMTk5OCAtIDIwMTksIERhbmllbCBTdGVuYmVyZywgPGRhbmllbEBoYXh4LnNlPiwgZXQgYWwuCisgKiBDb3B5cmlnaHQgKEMpIDE5OTggLSAyMDIwLCBEYW5pZWwgU3RlbmJlcmcsIDxkYW5pZWxAaGF4eC5zZT4sIGV0IGFsLgogICoKICAqIFRoaXMgc29mdHdhcmUgaXMgbGljZW5zZWQgYXMgZGVzY3JpYmVkIGluIHRoZSBmaWxlIENPUFlJTkcsIHdoaWNoCiAgKiB5b3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYXMgcGFydCBvZiB0aGlzIGRpc3RyaWJ1dGlvbi4gVGhlIHRlcm1zCkBAIC0xMjksOCArMTI5LDEwIEBACiAgICAgbmVnby0+c3RhdHVzID0gc19wU2VjRm4tPlF1ZXJ5U2VjdXJpdHlQYWNrYWdlSW5mbygoVENIQVIgKikKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFRFWFQoU1BfTkFNRV9ORUdPVElBVEUpLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJlNlY3VyaXR5UGFja2FnZSk7Ci0gICAgaWYobmVnby0+c3RhdHVzICE9IFNFQ19FX09LKQotICAgICAgcmV0dXJuIENVUkxFX05PVF9CVUlMVF9JTjsKKyAgICBpZihuZWdvLT5zdGF0dXMgIT0gU0VDX0VfT0spIHsKKyAgICAgIGZhaWxmKGRhdGEsICJTU1BJOiBjb3VsZG4ndCBnZXQgYXV0aCBpbmZvXG4iKTsKKyAgICAgIHJldHVybiBDVVJMRV9BVVRIX0VSUk9SOworICAgIH0KIAogICAgIG5lZ28tPnRva2VuX21heCA9IFNlY3VyaXR5UGFja2FnZS0+Y2JNYXhUb2tlbjsKIApkaWZmIC0tZ2l0IGEvbGliL3ZhdXRoL3ZhdXRoLmMgYi9saWIvdmF1dGgvdmF1dGguYwppbmRleCBhOWM1YzljLi5kOThlNjZjIDEwMDY0NAotLS0gYS9saWIvdmF1dGgvdmF1dGguYworKysgYi9saWIvdmF1dGgvdmF1dGguYwpAQCAtNSw3ICs1LDcgQEAKICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgKF9ffCB8X3wgfCAgXyA8fCB8X19fCiAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXF9fX3xcX19fL3xffCBcX1xfX19fX3wKICAqCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTQgLSAyMDE5LCBTdGV2ZSBIb2xtZSwgPHN0ZXZlX2hvbG1lQGhvdG1haWwuY29tPi4KKyAqIENvcHlyaWdodCAoQykgMjAxNCAtIDIwMjAsIFN0ZXZlIEhvbG1lLCA8c3RldmVfaG9sbWVAaG90bWFpbC5jb20+LgogICoKICAqIFRoaXMgc29mdHdhcmUgaXMgbGljZW5zZWQgYXMgZGVzY3JpYmVkIGluIHRoZSBmaWxlIENPUFlJTkcsIHdoaWNoCiAgKiB5b3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYXMgcGFydCBvZiB0aGlzIGRpc3RyaWJ1dGlvbi4gVGhlIHRlcm1zCkBAIC04OSw3ICs4OSw3IEBACiAgIH0KIAogICAvKiBBbGxvY2F0ZSBvdXIgVENIQVIgYmFzZWQgU1BOICovCi0gIHRjaGFyX3NwbiA9IEN1cmxfY29udmVydF9VVEY4X3RvX3RjaGFyKHV0Zjhfc3BuKTsKKyAgdGNoYXJfc3BuID0gY3VybHhfY29udmVydF9VVEY4X3RvX3RjaGFyKHV0Zjhfc3BuKTsKICAgaWYoIXRjaGFyX3NwbikgewogICAgIGZyZWUodXRmOF9zcG4pOwogCkBAIC05Nyw3ICs5Nyw3IEBACiAgIH0KIAogICAvKiBSZWxlYXNlIHRoZSBVVEY4IHZhcmlhbnQgd2hlbiBvcGVyYXRpbmcgd2l0aCBVbmljb2RlICovCi0gIEN1cmxfdW5pY29kZWZyZWUodXRmOF9zcG4pOworICBjdXJseF91bmljb2RlZnJlZSh1dGY4X3Nwbik7CiAKICAgLyogUmV0dXJuIG91ciBuZXdseSBhbGxvY2F0ZWQgU1BOICovCiAgIHJldHVybiB0Y2hhcl9zcG47CmRpZmYgLS1naXQgYS9saWIvdnF1aWMvbmd0Y3AyLmMgYi9saWIvdnF1aWMvbmd0Y3AyLmMKaW5kZXggNWY3YjZlMi4uZDI5Y2IzNyAxMDA2NDQKLS0tIGEvbGliL3ZxdWljL25ndGNwMi5jCisrKyBiL2xpYi92cXVpYy9uZ3RjcDIuYwpAQCAtMzgsNiArMzgsOSBAQAogI2luY2x1ZGUgInN0cmNhc2UuaCIKICNpbmNsdWRlICJjb25uZWN0LmgiCiAjaW5jbHVkZSAic3RyZXJyb3IuaCIKKyNpbmNsdWRlICJkeW5idWYuaCIKKyNpbmNsdWRlICJ2cXVpYy5oIgorI2luY2x1ZGUgInZ0bHMva2V5bG9nLmgiCiAKIC8qIFRoZSBsYXN0IDMgI2luY2x1ZGUgZmlsZXMgc2hvdWxkIGJlIGluIHRoaXMgb3JkZXIgKi8KICNpbmNsdWRlICJjdXJsX3ByaW50Zi5oIgpAQCAtMTQ3LDIxICsxNTAsMjQgQEAKIH0KICNlbmRpZgogCi1zdGF0aWMgaW50IHNldHVwX2luaXRpYWxfY3J5cHRvX2NvbnRleHQoc3RydWN0IHF1aWNzb2NrZXQgKnFzKQorc3RhdGljIHZvaWQgcWxvZ19jYWxsYmFjayh2b2lkICp1c2VyX2RhdGEsIGNvbnN0IHZvaWQgKmRhdGEsIHNpemVfdCBkYXRhbGVuKQogewotICBjb25zdCBuZ3RjcDJfY2lkICpkY2lkID0gbmd0Y3AyX2Nvbm5fZ2V0X2RjaWQocXMtPnFjb25uKTsKKyAgc3RydWN0IHF1aWNzb2NrZXQgKnFzID0gKHN0cnVjdCBxdWljc29ja2V0ICopdXNlcl9kYXRhOworICBpZihxcy0+cWxvZ2ZkICE9IC0xKSB7CisgICAgc3NpemVfdCByYyA9IHdyaXRlKHFzLT5xbG9nZmQsIGRhdGEsIGRhdGFsZW4pOworICAgIGlmKHJjID09IC0xKSB7CisgICAgICAvKiBvbiB3cml0ZSBlcnJvciwgc3RvcCBmdXJ0aGVyIHdyaXRlIGF0dGVtcHRzICovCisgICAgICBjbG9zZShxcy0+cWxvZ2ZkKTsKKyAgICAgIHFzLT5xbG9nZmQgPSAtMTsKKyAgICB9CisgIH0KIAotICBpZihuZ3RjcDJfY3J5cHRvX2Rlcml2ZV9hbmRfaW5zdGFsbF9pbml0aWFsX2tleSgKLSAgICAgICAgIHFzLT5xY29ubiwgTlVMTCwgTlVMTCwgTlVMTCwgTlVMTCwgTlVMTCwgTlVMTCwgTlVMTCwgTlVMTCwgTlVMTCwKLSAgICAgICAgIGRjaWQpICE9IDApCi0gICAgcmV0dXJuIC0xOwotCi0gIHJldHVybiAwOwogfQogCi1zdGF0aWMgdm9pZCBxdWljX3NldHRpbmdzKG5ndGNwMl9zZXR0aW5ncyAqcywKK3N0YXRpYyB2b2lkIHF1aWNfc2V0dGluZ3Moc3RydWN0IHF1aWNzb2NrZXQgKnFzLAogICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50NjRfdCBzdHJlYW1fYnVmZmVyX3NpemUpCiB7CisgIG5ndGNwMl9zZXR0aW5ncyAqcyA9ICZxcy0+c2V0dGluZ3M7CiAgIG5ndGNwMl9zZXR0aW5nc19kZWZhdWx0KHMpOwogI2lmZGVmIERFQlVHX05HVENQMgogICBzLT5sb2dfcHJpbnRmID0gcXVpY19wcmludGY7CkBAIC0xNzYsMTYgKzE4MiwxNiBAQAogICBzLT50cmFuc3BvcnRfcGFyYW1zLmluaXRpYWxfbWF4X3N0cmVhbXNfYmlkaSA9IDE7CiAgIHMtPnRyYW5zcG9ydF9wYXJhbXMuaW5pdGlhbF9tYXhfc3RyZWFtc191bmkgPSAzOwogICBzLT50cmFuc3BvcnRfcGFyYW1zLm1heF9pZGxlX3RpbWVvdXQgPSBRVUlDX0lETEVfVElNRU9VVDsKKyAgaWYocXMtPnFsb2dmZCAhPSAtMSkgeworICAgIHMtPnFsb2cud3JpdGUgPSBxbG9nX2NhbGxiYWNrOworICB9CiB9CiAKLXN0YXRpYyBGSUxFICprZXlsb2dfZmlsZTsgLyogbm90IHRocmVhZC1zYWZlICovCiAjaWZkZWYgVVNFX09QRU5TU0wKIHN0YXRpYyB2b2lkIGtleWxvZ19jYWxsYmFjayhjb25zdCBTU0wgKnNzbCwgY29uc3QgY2hhciAqbGluZSkKIHsKICAgKHZvaWQpc3NsOwotICBmcHV0cyhsaW5lLCBrZXlsb2dfZmlsZSk7Ci0gIGZwdXRjKCdcbicsIGtleWxvZ19maWxlKTsKLSAgZmZsdXNoKGtleWxvZ19maWxlKTsKKyAgQ3VybF90bHNfa2V5bG9nX3dyaXRlX2xpbmUobGluZSk7CiB9CiAjZWxpZiBkZWZpbmVkKFVTRV9HTlVUTFMpCiBzdGF0aWMgaW50IGtleWxvZ19jYWxsYmFjayhnbnV0bHNfc2Vzc2lvbl90IHNlc3Npb24sIGNvbnN0IGNoYXIgKmxhYmVsLApAQCAtMTkzLDM2ICsxOTksMTQgQEAKIHsKICAgZ251dGxzX2RhdHVtX3QgY3JhbmRvbTsKICAgZ251dGxzX2RhdHVtX3Qgc3JhbmRvbTsKLSAgZ251dGxzX2RhdHVtX3QgY3JhbmRvbV9oZXggPSB7IE5VTEwsIDAgfTsKLSAgZ251dGxzX2RhdHVtX3Qgc2VjcmV0X2hleCA9IHsgTlVMTCwgMCB9OwotICBpbnQgcmMgPSAwOwogCiAgIGdudXRsc19zZXNzaW9uX2dldF9yYW5kb20oc2Vzc2lvbiwgJmNyYW5kb20sICZzcmFuZG9tKTsKICAgaWYoY3JhbmRvbS5zaXplICE9IDMyKSB7CiAgICAgcmV0dXJuIC0xOwogICB9CiAKLSAgcmMgPSBnbnV0bHNfaGV4X2VuY29kZTIoJmNyYW5kb20sICZjcmFuZG9tX2hleCk7Ci0gIGlmKHJjIDwgMCkgewotICAgIGZwcmludGYoc3RkZXJyLCAiZ251dGxzX2hleF9lbmNvZGUyIGZhaWxlZDogJXNcbiIsCi0gICAgICAgICAgICBnbnV0bHNfc3RyZXJyb3IocmMpKTsKLSAgICBnb3RvIG91dDsKLSAgfQotCi0gIHJjID0gZ251dGxzX2hleF9lbmNvZGUyKHNlY3JldCwgJnNlY3JldF9oZXgpOwotICBpZihyYyA8IDApIHsKLSAgICBmcHJpbnRmKHN0ZGVyciwgImdudXRsc19oZXhfZW5jb2RlMiBmYWlsZWQ6ICVzXG4iLAotICAgICAgICAgICAgZ251dGxzX3N0cmVycm9yKHJjKSk7Ci0gICAgZ290byBvdXQ7Ci0gIH0KLQotICBmcHJpbnRmKGtleWxvZ19maWxlLCAiJXMgJXMgJXNcbiIsIGxhYmVsLCBjcmFuZG9tX2hleC5kYXRhLCBzZWNyZXRfaGV4LmRhdGEpOwotICBmZmx1c2goa2V5bG9nX2ZpbGUpOwotCi0gb3V0OgotICBnbnV0bHNfZnJlZShjcmFuZG9tX2hleC5kYXRhKTsKLSAgZ251dGxzX2ZyZWUoc2VjcmV0X2hleC5kYXRhKTsKLSAgcmV0dXJuIHJjOworICBDdXJsX3Rsc19rZXlsb2dfd3JpdGUobGFiZWwsIGNyYW5kb20uZGF0YSwgc2VjcmV0LT5kYXRhLCBzZWNyZXQtPnNpemUpOworICByZXR1cm4gMDsKIH0KICNlbmRpZgogCkBAIC0yNzEsMTMgKzI1NSwxMiBAQAogICBzdHJ1Y3QgcXVpY3NvY2tldCAqcXMgPSAoc3RydWN0IHF1aWNzb2NrZXQgKilTU0xfZ2V0X2FwcF9kYXRhKHNzbCk7CiAgIGludCBsZXZlbCA9IHF1aWNfZnJvbV9vc3NsX2xldmVsKG9zc2xfbGV2ZWwpOwogCi0gIGlmKGxldmVsICE9IE5HVENQMl9DUllQVE9fTEVWRUxfRUFSTFkgJiYKLSAgICAgbmd0Y3AyX2NyeXB0b19kZXJpdmVfYW5kX2luc3RhbGxfcnhfa2V5KAotICAgICAgICAgcXMtPnFjb25uLCBzc2wsIE5VTEwsIE5VTEwsIE5VTEwsIGxldmVsLCByeF9zZWNyZXQsIHNlY3JldGxlbikgIT0gMCkKKyAgaWYobmd0Y3AyX2NyeXB0b19kZXJpdmVfYW5kX2luc3RhbGxfcnhfa2V5KAorICAgICAgIHFzLT5xY29ubiwgTlVMTCwgTlVMTCwgTlVMTCwgbGV2ZWwsIHJ4X3NlY3JldCwgc2VjcmV0bGVuKSAhPSAwKQogICAgIHJldHVybiAwOwogCiAgIGlmKG5ndGNwMl9jcnlwdG9fZGVyaXZlX2FuZF9pbnN0YWxsX3R4X2tleSgKLSAgICAgICAgIHFzLT5xY29ubiwgc3NsLCBOVUxMLCBOVUxMLCBOVUxMLCBsZXZlbCwgdHhfc2VjcmV0LCBzZWNyZXRsZW4pICE9IDApCisgICAgICAgcXMtPnFjb25uLCBOVUxMLCBOVUxMLCBOVUxMLCBsZXZlbCwgdHhfc2VjcmV0LCBzZWNyZXRsZW4pICE9IDApCiAgICAgcmV0dXJuIDA7CiAKICAgaWYobGV2ZWwgPT0gTkdUQ1AyX0NSWVBUT19MRVZFTF9BUFApIHsKQEAgLTMyMCw3ICszMDMsNiBAQAogc3RhdGljIFNTTF9DVFggKnF1aWNfc3NsX2N0eChzdHJ1Y3QgQ3VybF9lYXN5ICpkYXRhKQogewogICBTU0xfQ1RYICpzc2xfY3R4ID0gU1NMX0NUWF9uZXcoVExTX21ldGhvZCgpKTsKLSAgY29uc3QgY2hhciAqa2V5bG9nX2ZpbGVuYW1lOwogCiAgIFNTTF9DVFhfc2V0X21pbl9wcm90b192ZXJzaW9uKHNzbF9jdHgsIFRMUzFfM19WRVJTSU9OKTsKICAgU1NMX0NUWF9zZXRfbWF4X3Byb3RvX3ZlcnNpb24oc3NsX2N0eCwgVExTMV8zX1ZFUlNJT04pOwpAQCAtMzQxLDEyICszMjMsMTAgQEAKIAogICBTU0xfQ1RYX3NldF9xdWljX21ldGhvZChzc2xfY3R4LCAmcXVpY19tZXRob2QpOwogCi0gIGtleWxvZ19maWxlbmFtZSA9IGdldGVudigiU1NMS0VZTE9HRklMRSIpOwotICBpZihrZXlsb2dfZmlsZW5hbWUpIHsKLSAgICBrZXlsb2dfZmlsZSA9IGZvcGVuKGtleWxvZ19maWxlbmFtZSwgIndiIik7Ci0gICAgaWYoa2V5bG9nX2ZpbGUpIHsKLSAgICAgIFNTTF9DVFhfc2V0X2tleWxvZ19jYWxsYmFjayhzc2xfY3R4LCBrZXlsb2dfY2FsbGJhY2spOwotICAgIH0KKyAgLyogT3BlbiB0aGUgZmlsZSBpZiBhIFRMUyBvciBRVUlDIGJhY2tlbmQgaGFzIG5vdCBkb25lIHRoaXMgYmVmb3JlLiAqLworICBDdXJsX3Rsc19rZXlsb2dfb3BlbigpOworICBpZihDdXJsX3Rsc19rZXlsb2dfZW5hYmxlZCgpKSB7CisgICAgU1NMX0NUWF9zZXRfa2V5bG9nX2NhbGxiYWNrKHNzbF9jdHgsIGtleWxvZ19jYWxsYmFjayk7CiAgIH0KIAogICByZXR1cm4gc3NsX2N0eDsKQEAgLTM2MSw5ICszNDEsNyBAQAogICAvKiB0aGlzIHdpbGwgbmVlZCBzb21lIGF0dGVudGlvbiB3aGVuIEhUVFBTIHByb3h5IG92ZXIgUVVJQyBnZXQgZml4ZWQgKi8KICAgY29uc3QgY2hhciAqIGNvbnN0IGhvc3RuYW1lID0gcXMtPmNvbm4tPmhvc3QubmFtZTsKIAotICBpZihxcy0+c3NsKQotICAgIFNTTF9mcmVlKHFzLT5zc2wpOwotCisgIERFQlVHQVNTRVJUKCFxcy0+c3NsKTsKICAgcXMtPnNzbCA9IFNTTF9uZXcocXMtPnNzbGN0eCk7CiAKICAgU1NMX3NldF9hcHBfZGF0YShxcy0+c3NsLCBxcyk7CkBAIC0zNzIsOCArMzUwLDggQEAKICAgc3dpdGNoKHFzLT52ZXJzaW9uKSB7CiAjaWZkZWYgTkdUQ1AyX1BST1RPX1ZFUgogICBjYXNlIE5HVENQMl9QUk9UT19WRVI6Ci0gICAgYWxwbiA9IChjb25zdCB1aW50OF90ICopTkdUQ1AyX0FMUE5fSDM7Ci0gICAgYWxwbmxlbiA9IHNpemVvZihOR1RDUDJfQUxQTl9IMykgLSAxOworICAgIGFscG4gPSAoY29uc3QgdWludDhfdCAqKU5HSFRUUDNfQUxQTl9IMzsKKyAgICBhbHBubGVuID0gc2l6ZW9mKE5HSFRUUDNfQUxQTl9IMykgLSAxOwogICAgIGJyZWFrOwogI2VuZGlmCiAgIH0KQEAgLTM5NSwxMSArMzczLDExIEBACiAKICAgaWYobGV2ZWwgIT0gTkdUQ1AyX0NSWVBUT19MRVZFTF9FQVJMWSAmJgogICAgICBuZ3RjcDJfY3J5cHRvX2Rlcml2ZV9hbmRfaW5zdGFsbF9yeF9rZXkoCi0gICAgICAgICBxcy0+cWNvbm4sIHNzbCwgTlVMTCwgTlVMTCwgTlVMTCwgbGV2ZWwsIHJ4X3NlY3JldCwgc2VjcmV0bGVuKSAhPSAwKQorICAgICAgIHFzLT5xY29ubiwgTlVMTCwgTlVMTCwgTlVMTCwgbGV2ZWwsIHJ4X3NlY3JldCwgc2VjcmV0bGVuKSAhPSAwKQogICAgIHJldHVybiAwOwogCiAgIGlmKG5ndGNwMl9jcnlwdG9fZGVyaXZlX2FuZF9pbnN0YWxsX3R4X2tleSgKLSAgICAgICAgIHFzLT5xY29ubiwgc3NsLCBOVUxMLCBOVUxMLCBOVUxMLCBsZXZlbCwgdHhfc2VjcmV0LCBzZWNyZXRsZW4pICE9IDApCisgICAgICAgcXMtPnFjb25uLCBOVUxMLCBOVUxMLCBOVUxMLCBsZXZlbCwgdHhfc2VjcmV0LCBzZWNyZXRsZW4pICE9IDApCiAgICAgcmV0dXJuIDA7CiAKICAgaWYobGV2ZWwgPT0gTkdUQ1AyX0NSWVBUT19MRVZFTF9BUFApIHsKQEAgLTQ0OSw4ICs0MjcsOCBAQAogICBuZ3RjcDJfdHJhbnNwb3J0X3BhcmFtcyBwYXJhbXM7CiAKICAgaWYobmd0Y3AyX2RlY29kZV90cmFuc3BvcnRfcGFyYW1zKAotICAgICAgICAgJnBhcmFtcywgTkdUQ1AyX1RSQU5TUE9SVF9QQVJBTVNfVFlQRV9FTkNSWVBURURfRVhURU5TSU9OUywKLSAgICAgICAgIGRhdGEsIGRhdGFfc2l6ZSkgIT0gMCkKKyAgICAgICAmcGFyYW1zLCBOR1RDUDJfVFJBTlNQT1JUX1BBUkFNU19UWVBFX0VOQ1JZUFRFRF9FWFRFTlNJT05TLAorICAgICAgIGRhdGEsIGRhdGFfc2l6ZSkgIT0gMCkKICAgICByZXR1cm4gLTE7CiAKICAgaWYobmd0Y3AyX2Nvbm5fc2V0X3JlbW90ZV90cmFuc3BvcnRfcGFyYW1zKHFzLT5xY29ubiwgJnBhcmFtcykgIT0gMCkKQEAgLTQ3Miw4ICs0NTAsOCBAQAogICAgIHBhcmFtc2J1Ziwgc2l6ZW9mKHBhcmFtc2J1ZiksIE5HVENQMl9UUkFOU1BPUlRfUEFSQU1TX1RZUEVfQ0xJRU5UX0hFTExPLAogICAgICZwYXJhbXMpOwogICBpZihud3JpdGUgPCAwKSB7Ci0gICAgZnByaW50ZihzdGRlcnIsICJuZ3RjcDJfZW5jb2RlX3RyYW5zcG9ydF9wYXJhbXM6ICVzXG4iLAotICAgICAgICAgIG5ndGNwMl9zdHJlcnJvcigoaW50KW53cml0ZSkpOworICAgIEgzQlVHRihmcHJpbnRmKHN0ZGVyciwgIm5ndGNwMl9lbmNvZGVfdHJhbnNwb3J0X3BhcmFtczogJXNcbiIsCisgICAgICAgICAgICAgICAgICAgbmd0Y3AyX3N0cmVycm9yKChpbnQpbndyaXRlKSkpOwogICAgIHJldHVybiAtMTsKICAgfQogCkBAIC00ODksMTkgKzQ2NywxNyBAQAogICBnbnV0bHNfZGF0dW1fdCBhbHBuID0ge05VTEwsIDB9OwogICAvKiB0aGlzIHdpbGwgbmVlZCBzb21lIGF0dGVudGlvbiB3aGVuIEhUVFBTIHByb3h5IG92ZXIgUVVJQyBnZXQgZml4ZWQgKi8KICAgY29uc3QgY2hhciAqIGNvbnN0IGhvc3RuYW1lID0gcXMtPmNvbm4tPmhvc3QubmFtZTsKLSAgY29uc3QgY2hhciAqa2V5bG9nX2ZpbGVuYW1lOwogICBpbnQgcmM7CiAKLSAgaWYocXMtPnNzbCkKLSAgICBnbnV0bHNfZGVpbml0KHFzLT5zc2wpOworICBERUJVR0FTU0VSVCghcXMtPnNzbCk7CiAKICAgZ251dGxzX2luaXQoJnFzLT5zc2wsIEdOVVRMU19DTElFTlQpOwogICBnbnV0bHNfc2Vzc2lvbl9zZXRfcHRyKHFzLT5zc2wsIHFzKTsKIAogICByYyA9IGdudXRsc19wcmlvcml0eV9zZXRfZGlyZWN0KHFzLT5zc2wsIFFVSUNfUFJJT1JJVFksIE5VTEwpOwogICBpZihyYyA8IDApIHsKLSAgICBmcHJpbnRmKHN0ZGVyciwgImdudXRsc19wcmlvcml0eV9zZXRfZGlyZWN0IGZhaWxlZDogJXNcbiIsCi0gICAgICAgICAgICBnbnV0bHNfc3RyZXJyb3IocmMpKTsKKyAgICBIM0JVR0YoZnByaW50ZihzdGRlcnIsICJnbnV0bHNfcHJpb3JpdHlfc2V0X2RpcmVjdCBmYWlsZWQ6ICVzXG4iLAorICAgICAgICAgICAgICAgICAgIGdudXRsc19zdHJlcnJvcihyYykpKTsKICAgICByZXR1cm4gMTsKICAgfQogCkBAIC01MTcsMTcgKzQ5MywxNSBAQAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBHTlVUTFNfRVhUX0ZMQUdfQ0xJRU5UX0hFTExPIHwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgR05VVExTX0VYVF9GTEFHX0VFKTsKICAgaWYocmMgPCAwKSB7Ci0gICAgZnByaW50ZihzdGRlcnIsICJnbnV0bHNfc2Vzc2lvbl9leHRfcmVnaXN0ZXIgZmFpbGVkOiAlc1xuIiwKLSAgICAgICAgICAgIGdudXRsc19zdHJlcnJvcihyYykpOworICAgIEgzQlVHRihmcHJpbnRmKHN0ZGVyciwgImdudXRsc19zZXNzaW9uX2V4dF9yZWdpc3RlciBmYWlsZWQ6ICVzXG4iLAorICAgICAgICAgICAgICAgICAgIGdudXRsc19zdHJlcnJvcihyYykpKTsKICAgICByZXR1cm4gMTsKICAgfQogCi0gIGtleWxvZ19maWxlbmFtZSA9IGdldGVudigiU1NMS0VZTE9HRklMRSIpOwotICBpZihrZXlsb2dfZmlsZW5hbWUpIHsKLSAgICBrZXlsb2dfZmlsZSA9IGZvcGVuKGtleWxvZ19maWxlbmFtZSwgIndiIik7Ci0gICAgaWYoa2V5bG9nX2ZpbGUpIHsKLSAgICAgIGdudXRsc19zZXNzaW9uX3NldF9rZXlsb2dfZnVuY3Rpb24ocXMtPnNzbCwga2V5bG9nX2NhbGxiYWNrKTsKLSAgICB9CisgIC8qIE9wZW4gdGhlIGZpbGUgaWYgYSBUTFMgb3IgUVVJQyBiYWNrZW5kIGhhcyBub3QgZG9uZSB0aGlzIGJlZm9yZS4gKi8KKyAgQ3VybF90bHNfa2V5bG9nX29wZW4oKTsKKyAgaWYoQ3VybF90bHNfa2V5bG9nX2VuYWJsZWQoKSkgeworICAgIGdudXRsc19zZXNzaW9uX3NldF9rZXlsb2dfZnVuY3Rpb24ocXMtPnNzbCwga2V5bG9nX2NhbGxiYWNrKTsKICAgfQogCiAgIGlmKHFzLT5jcmVkKQpAQCAtNTM1LDMxICs1MDksMzMgQEAKIAogICByYyA9IGdudXRsc19jZXJ0aWZpY2F0ZV9hbGxvY2F0ZV9jcmVkZW50aWFscygmcXMtPmNyZWQpOwogICBpZihyYyA8IDApIHsKLSAgICBmcHJpbnRmKHN0ZGVyciwgImdudXRsc19jZXJ0aWZpY2F0ZV9hbGxvY2F0ZV9jcmVkZW50aWFscyBmYWlsZWQ6ICVzXG4iLAotICAgICAgICAgICAgZ251dGxzX3N0cmVycm9yKHJjKSk7CisgICAgSDNCVUdGKGZwcmludGYoc3RkZXJyLAorICAgICAgICAgICAgICAgICAgICJnbnV0bHNfY2VydGlmaWNhdGVfYWxsb2NhdGVfY3JlZGVudGlhbHMgZmFpbGVkOiAlc1xuIiwKKyAgICAgICAgICAgICAgICAgICBnbnV0bHNfc3RyZXJyb3IocmMpKSk7CiAgICAgcmV0dXJuIDE7CiAgIH0KIAogICByYyA9IGdudXRsc19jZXJ0aWZpY2F0ZV9zZXRfeDUwOV9zeXN0ZW1fdHJ1c3QocXMtPmNyZWQpOwogICBpZihyYyA8IDApIHsKLSAgICBmcHJpbnRmKHN0ZGVyciwgImdudXRsc19jZXJ0aWZpY2F0ZV9zZXRfeDUwOV9zeXN0ZW1fdHJ1c3QgZmFpbGVkOiAlc1xuIiwKLSAgICAgICAgICAgIGdudXRsc19zdHJlcnJvcihyYykpOworICAgIEgzQlVHRihmcHJpbnRmKHN0ZGVyciwKKyAgICAgICAgICAgICAgICAgICAiZ251dGxzX2NlcnRpZmljYXRlX3NldF94NTA5X3N5c3RlbV90cnVzdCBmYWlsZWQ6ICVzXG4iLAorICAgICAgICAgICAgICAgICAgIGdudXRsc19zdHJlcnJvcihyYykpKTsKICAgICByZXR1cm4gMTsKICAgfQogCiAgIHJjID0gZ251dGxzX2NyZWRlbnRpYWxzX3NldChxcy0+c3NsLCBHTlVUTFNfQ1JEX0NFUlRJRklDQVRFLCBxcy0+Y3JlZCk7CiAgIGlmKHJjIDwgMCkgewotICAgIGZwcmludGYoc3RkZXJyLCAiZ251dGxzX2NyZWRlbnRpYWxzX3NldCBmYWlsZWQ6ICVzXG4iLAotICAgICAgICAgICAgZ251dGxzX3N0cmVycm9yKHJjKSk7CisgICAgSDNCVUdGKGZwcmludGYoc3RkZXJyLCAiZ251dGxzX2NyZWRlbnRpYWxzX3NldCBmYWlsZWQ6ICVzXG4iLAorICAgICAgICAgICAgICAgICAgIGdudXRsc19zdHJlcnJvcihyYykpKTsKICAgICByZXR1cm4gMTsKICAgfQogCiAgIHN3aXRjaChxcy0+dmVyc2lvbikgewogI2lmZGVmIE5HVENQMl9QUk9UT19WRVIKICAgY2FzZSBOR1RDUDJfUFJPVE9fVkVSOgotICAgIC8qIHN0cmlwIHRoZSBmaXJzdCBieXRlIGZyb20gTkdUQ1AyX0FMUE5fSDMgKi8KLSAgICBhbHBuLmRhdGEgPSAodW5zaWduZWQgY2hhciAqKU5HVENQMl9BTFBOX0gzICsgMTsKLSAgICBhbHBuLnNpemUgPSBzaXplb2YoTkdUQ1AyX0FMUE5fSDMpIC0gMjsKKyAgICAvKiBzdHJpcCB0aGUgZmlyc3QgYnl0ZSAodGhlIGxlbmd0aCkgZnJvbSBOR0hUVFAzX0FMUE5fSDMgKi8KKyAgICBhbHBuLmRhdGEgPSAodW5zaWduZWQgY2hhciAqKU5HSFRUUDNfQUxQTl9IMyArIDE7CisgICAgYWxwbi5zaXplID0gc2l6ZW9mKE5HSFRUUDNfQUxQTl9IMykgLSAyOwogICAgIGJyZWFrOwogI2VuZGlmCiAgIH0KQEAgLTU3MiwyNyArNTQ4LDE2IEBACiB9CiAjZW5kaWYKIAotc3RhdGljIGludCBjYl9pbml0aWFsKG5ndGNwMl9jb25uICpxdWljLCB2b2lkICp1c2VyX2RhdGEpCi17Ci0gIHN0cnVjdCBxdWljc29ja2V0ICpxcyA9IChzdHJ1Y3QgcXVpY3NvY2tldCAqKXVzZXJfZGF0YTsKLQotICBpZihuZ3RjcDJfY3J5cHRvX3JlYWRfd3JpdGVfY3J5cHRvX2RhdGEoCi0gICAgICAgcXVpYywgcXMtPnNzbCwgTkdUQ1AyX0NSWVBUT19MRVZFTF9JTklUSUFMLCBOVUxMLCAwKSAhPSAwKQotICAgIHJldHVybiBOR1RDUDJfRVJSX0NBTExCQUNLX0ZBSUxVUkU7Ci0KLSAgcmV0dXJuIDA7Ci19Ci0KIHN0YXRpYyBpbnQKIGNiX3JlY3ZfY3J5cHRvX2RhdGEobmd0Y3AyX2Nvbm4gKnRjb25uLCBuZ3RjcDJfY3J5cHRvX2xldmVsIGNyeXB0b19sZXZlbCwKICAgICAgICAgICAgICAgICAgICAgdWludDY0X3Qgb2Zmc2V0LAogICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90ICpkYXRhLCBzaXplX3QgZGF0YWxlbiwKICAgICAgICAgICAgICAgICAgICAgdm9pZCAqdXNlcl9kYXRhKQogewotICBzdHJ1Y3QgcXVpY3NvY2tldCAqcXMgPSAoc3RydWN0IHF1aWNzb2NrZXQgKil1c2VyX2RhdGE7CiAgICh2b2lkKW9mZnNldDsKKyAgKHZvaWQpdXNlcl9kYXRhOwogCi0gIGlmKG5ndGNwMl9jcnlwdG9fcmVhZF93cml0ZV9jcnlwdG9fZGF0YSh0Y29ubiwgcXMtPnNzbCwgY3J5cHRvX2xldmVsLCBkYXRhLAorICBpZihuZ3RjcDJfY3J5cHRvX3JlYWRfd3JpdGVfY3J5cHRvX2RhdGEodGNvbm4sIGNyeXB0b19sZXZlbCwgZGF0YSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGFsZW4pICE9IDApCiAgICAgcmV0dXJuIE5HVENQMl9FUlJfQ1JZUFRPOwogCkBAIC02MTgsMTMgKzU4MywxNCBAQAogfQogCiAKLXN0YXRpYyBpbnQgY2JfcmVjdl9zdHJlYW1fZGF0YShuZ3RjcDJfY29ubiAqdGNvbm4sIGludDY0X3Qgc3RyZWFtX2lkLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBmaW4sIHVpbnQ2NF90IG9mZnNldCwKK3N0YXRpYyBpbnQgY2JfcmVjdl9zdHJlYW1fZGF0YShuZ3RjcDJfY29ubiAqdGNvbm4sIHVpbnQzMl90IGZsYWdzLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludDY0X3Qgc3RyZWFtX2lkLCB1aW50NjRfdCBvZmZzZXQsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCAqYnVmLCBzaXplX3QgYnVmbGVuLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZvaWQgKnVzZXJfZGF0YSwgdm9pZCAqc3RyZWFtX3VzZXJfZGF0YSkKIHsKICAgc3RydWN0IHF1aWNzb2NrZXQgKnFzID0gKHN0cnVjdCBxdWljc29ja2V0ICopdXNlcl9kYXRhOwogICBzc2l6ZV90IG5jb25zdW1lZDsKKyAgaW50IGZpbiA9IGZsYWdzICYgTkdUQ1AyX1NUUkVBTV9EQVRBX0ZMQUdfRklOID8gMSA6IDA7CiAgICh2b2lkKW9mZnNldDsKICAgKHZvaWQpc3RyZWFtX3VzZXJfZGF0YTsKIApAQCAtNzEwLDIwICs2NzYsNiBAQAogICByZXR1cm4gMDsKIH0KIAotc3RhdGljIGludCBjYl9yZWN2X3JldHJ5KG5ndGNwMl9jb25uICp0Y29ubiwgY29uc3Qgbmd0Y3AyX3BrdF9oZCAqaGQsCi0gICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qgbmd0Y3AyX3BrdF9yZXRyeSAqcmV0cnksIHZvaWQgKnVzZXJfZGF0YSkKLXsKLSAgLyogUmUtZ2VuZXJhdGUgaGFuZHNoYWtlIHNlY3JldHMgaGVyZSBiZWNhdXNlIGNvbm5lY3Rpb24gSUQgbWlnaHQgY2hhbmdlLiAqLwotICBzdHJ1Y3QgcXVpY3NvY2tldCAqcXMgPSAoc3RydWN0IHF1aWNzb2NrZXQgKil1c2VyX2RhdGE7Ci0gICh2b2lkKXRjb25uOwotICAodm9pZCloZDsKLSAgKHZvaWQpcmV0cnk7Ci0KLSAgc2V0dXBfaW5pdGlhbF9jcnlwdG9fY29udGV4dChxcyk7Ci0KLSAgcmV0dXJuIDA7Ci19Ci0KIHN0YXRpYyBpbnQgY2JfZXh0ZW5kX21heF9sb2NhbF9zdHJlYW1zX2JpZGkobmd0Y3AyX2Nvbm4gKnRjb25uLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50NjRfdCBtYXhfc3RyZWFtcywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdm9pZCAqdXNlcl9kYXRhKQpAQCAtNzc2LDcgKzcyOCw3IEBACiB9CiAKIHN0YXRpYyBuZ3RjcDJfY29ubl9jYWxsYmFja3MgbmdfY2FsbGJhY2tzID0gewotICBjYl9pbml0aWFsLAorICBuZ3RjcDJfY3J5cHRvX2NsaWVudF9pbml0aWFsX2NiLAogICBOVUxMLCAvKiByZWN2X2NsaWVudF9pbml0aWFsICovCiAgIGNiX3JlY3ZfY3J5cHRvX2RhdGEsCiAgIGNiX2hhbmRzaGFrZV9jb21wbGV0ZWQsCkBAIC03OTAsNyArNzQyLDcgQEAKICAgTlVMTCwgLyogc3RyZWFtX29wZW4gKi8KICAgY2Jfc3RyZWFtX2Nsb3NlLAogICBOVUxMLCAvKiByZWN2X3N0YXRlbGVzc19yZXNldCAqLwotICBjYl9yZWN2X3JldHJ5LAorICBuZ3RjcDJfY3J5cHRvX3JlY3ZfcmV0cnlfY2IsCiAgIGNiX2V4dGVuZF9tYXhfbG9jYWxfc3RyZWFtc19iaWRpLAogICBOVUxMLCAvKiBleHRlbmRfbWF4X2xvY2FsX3N0cmVhbXNfdW5pICovCiAgIE5VTEwsIC8qIHJhbmQgICovCkBAIC04MDQsNyArNzU2LDEwIEBACiAgIE5VTEwsIC8qIGV4dGVuZF9tYXhfcmVtb3RlX3N0cmVhbXNfdW5pICovCiAgIGNiX2V4dGVuZF9tYXhfc3RyZWFtX2RhdGEsCiAgIE5VTEwsIC8qIGRjaWRfc3RhdHVzICovCi0gIE5VTEwgIC8qIGhhbmRzaGFrZV9jb25maXJtZWQgKi8KKyAgTlVMTCwgLyogaGFuZHNoYWtlX2NvbmZpcm1lZCAqLworICBOVUxMLCAvKiByZWN2X25ld190b2tlbiAqLworICBuZ3RjcDJfY3J5cHRvX2RlbGV0ZV9jcnlwdG9fYWVhZF9jdHhfY2IsCisgIG5ndGNwMl9jcnlwdG9fZGVsZXRlX2NyeXB0b19jaXBoZXJfY3R4X2NiCiB9OwogCiAvKgpAQCAtODI0LDEyICs3NzksMTAgQEAKICAgc3RydWN0IHF1aWNzb2NrZXQgKnFzID0gJmNvbm4tPmhlcXVpY1tzb2NraW5kZXhdOwogICBjaGFyIGlwYnVmWzQwXTsKICAgbG9uZyBwb3J0OwotI2lmZGVmIFVTRV9PUEVOU1NMCi0gIHVpbnQ4X3QgcGFyYW1zYnVmWzY0XTsKLSAgbmd0Y3AyX3RyYW5zcG9ydF9wYXJhbXMgcGFyYW1zOwotICBzc2l6ZV90IG53cml0ZTsKLSNlbmRpZgorICBpbnQgcWZkOwogCisgIGlmKHFzLT5jb25uKQorICAgIEN1cmxfcXVpY19kaXNjb25uZWN0KGNvbm4sIHNvY2tpbmRleCk7CiAgIHFzLT5jb25uID0gY29ubjsKIAogICAvKiBleHRyYWN0IHRoZSB1c2VkIGFkZHJlc3MgYXMgYSBzdHJpbmcgKi8KQEAgLTg2Myw3ICs4MTYsOSBAQAogICBpZihyZXN1bHQpCiAgICAgcmV0dXJuIHJlc3VsdDsKIAotICBxdWljX3NldHRpbmdzKCZxcy0+c2V0dGluZ3MsIGRhdGEtPnNldC5idWZmZXJfc2l6ZSk7CisgICh2b2lkKUN1cmxfcWxvZ2RpcihkYXRhLCBxcy0+c2NpZC5kYXRhLCBOR1RDUDJfTUFYX0NJRExFTiwgJnFmZCk7CisgIHFzLT5xbG9nZmQgPSBxZmQ7IC8qIC0xIGlmIGZhaWx1cmUgYWJvdmUgKi8KKyAgcXVpY19zZXR0aW5ncyhxcywgZGF0YS0+c2V0LmJ1ZmZlcl9zaXplKTsKIAogICBxcy0+bG9jYWxfYWRkcmxlbiA9IHNpemVvZihxcy0+bG9jYWxfYWRkcik7CiAgIHJ2ID0gZ2V0c29ja25hbWUoc29ja2ZkLCAoc3RydWN0IHNvY2thZGRyICopJnFzLT5sb2NhbF9hZGRyLApAQCAtODg1LDI0ICs4NDAsNyBAQAogICBpZihyYykKICAgICByZXR1cm4gQ1VSTEVfUVVJQ19DT05ORUNUX0VSUk9SOwogCi0jaWZkZWYgVVNFX09QRU5TU0wKLSAgbmd0Y3AyX2Nvbm5fZ2V0X2xvY2FsX3RyYW5zcG9ydF9wYXJhbXMocXMtPnFjb25uLCAmcGFyYW1zKTsKLSAgbndyaXRlID0gbmd0Y3AyX2VuY29kZV90cmFuc3BvcnRfcGFyYW1zKAotICAgIHBhcmFtc2J1Ziwgc2l6ZW9mKHBhcmFtc2J1ZiksIE5HVENQMl9UUkFOU1BPUlRfUEFSQU1TX1RZUEVfQ0xJRU5UX0hFTExPLAotICAgICZwYXJhbXMpOwotICBpZihud3JpdGUgPCAwKSB7Ci0gICAgZmFpbGYoZGF0YSwgIm5ndGNwMl9lbmNvZGVfdHJhbnNwb3J0X3BhcmFtczogJXNcbiIsCi0gICAgICAgICAgbmd0Y3AyX3N0cmVycm9yKChpbnQpbndyaXRlKSk7Ci0gICAgcmV0dXJuIENVUkxFX1FVSUNfQ09OTkVDVF9FUlJPUjsKLSAgfQotCi0gIGlmKCFTU0xfc2V0X3F1aWNfdHJhbnNwb3J0X3BhcmFtcyhxcy0+c3NsLCBwYXJhbXNidWYsIG53cml0ZSkpCi0gICAgcmV0dXJuIENVUkxFX1FVSUNfQ09OTkVDVF9FUlJPUjsKLSNlbmRpZgotCi0gIHJjID0gc2V0dXBfaW5pdGlhbF9jcnlwdG9fY29udGV4dChxcyk7Ci0gIGlmKHJjKQotICAgIHJldHVybiBDVVJMRV9RVUlDX0NPTk5FQ1RfRVJST1I7CisgIG5ndGNwMl9jb25uX3NldF90bHNfbmF0aXZlX2hhbmRsZShxcy0+cWNvbm4sIHFzLT5zc2wpOwogCiAgIHJldHVybiBDVVJMRV9PSzsKIH0KQEAgLTk0MywyOSArODgxLDQ5IEBACiAgIHJldHVybiBuZ19nZXRzb2NrKChzdHJ1Y3QgY29ubmVjdGRhdGEgKiljb25uLCBzb2Nrcyk7CiB9CiAKLXN0YXRpYyBDVVJMY29kZSBuZ19kaXNjb25uZWN0KHN0cnVjdCBjb25uZWN0ZGF0YSAqY29ubiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJvb2wgZGVhZF9jb25uZWN0aW9uKQorc3RhdGljIHZvaWQgcXNfZGlzY29ubmVjdChzdHJ1Y3QgcXVpY3NvY2tldCAqcXMpCiB7CiAgIGludCBpOwotICBzdHJ1Y3QgcXVpY3NvY2tldCAqcXMgPSAmY29ubi0+aGVxdWljWzBdOwotICAodm9pZClkZWFkX2Nvbm5lY3Rpb247CisgIGlmKCFxcy0+Y29ubikgLyogYWxyZWFkeSBjbG9zZWQgKi8KKyAgICByZXR1cm47CisgIHFzLT5jb25uID0gTlVMTDsKKyAgaWYocXMtPnFsb2dmZCAhPSAtMSkgeworICAgIGNsb3NlKHFzLT5xbG9nZmQpOworICAgIHFzLT5xbG9nZmQgPSAtMTsKKyAgfQogICBpZihxcy0+c3NsKQogI2lmZGVmIFVTRV9PUEVOU1NMCiAgICAgU1NMX2ZyZWUocXMtPnNzbCk7CiAjZWxpZiBkZWZpbmVkKFVTRV9HTlVUTFMpCiAgICAgZ251dGxzX2RlaW5pdChxcy0+c3NsKTsKICNlbmRpZgorICBxcy0+c3NsID0gTlVMTDsKICNpZmRlZiBVU0VfR05VVExTCiAgIGlmKHFzLT5jcmVkKQogICAgIGdudXRsc19jZXJ0aWZpY2F0ZV9mcmVlX2NyZWRlbnRpYWxzKHFzLT5jcmVkKTsKICNlbmRpZgogICBmb3IoaSA9IDA7IGkgPCAzOyBpKyspCi0gICAgZnJlZShxcy0+Y3J5cHRvX2RhdGFbaV0uYnVmKTsKKyAgICBDdXJsX3NhZmVmcmVlKHFzLT5jcnlwdG9fZGF0YVtpXS5idWYpOwogICBuZ2h0dHAzX2Nvbm5fZGVsKHFzLT5oM2Nvbm4pOwogICBuZ3RjcDJfY29ubl9kZWwocXMtPnFjb25uKTsKICNpZmRlZiBVU0VfT1BFTlNTTAogICBTU0xfQ1RYX2ZyZWUocXMtPnNzbGN0eCk7CiAjZW5kaWYKK30KKwordm9pZCBDdXJsX3F1aWNfZGlzY29ubmVjdChzdHJ1Y3QgY29ubmVjdGRhdGEgKmNvbm4sCisgICAgICAgICAgICAgICAgICAgICAgICAgIGludCB0ZW1waW5kZXgpCit7CisgIGlmKGNvbm4tPnRyYW5zcG9ydCA9PSBUUk5TUFJUX1FVSUMpCisgICAgcXNfZGlzY29ubmVjdCgmY29ubi0+aGVxdWljW3RlbXBpbmRleF0pOworfQorCitzdGF0aWMgQ1VSTGNvZGUgbmdfZGlzY29ubmVjdChzdHJ1Y3QgY29ubmVjdGRhdGEgKmNvbm4sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBib29sIGRlYWRfY29ubmVjdGlvbikKK3sKKyAgKHZvaWQpZGVhZF9jb25uZWN0aW9uOworICBDdXJsX3F1aWNfZGlzY29ubmVjdChjb25uLCAwKTsKKyAgQ3VybF9xdWljX2Rpc2Nvbm5lY3QoY29ubiwgMSk7CiAgIHJldHVybiBDVVJMRV9PSzsKIH0KIApAQCAtMTAxOCw1NyArOTc2LDEyIEBACiAgIHJldHVybiAwOwogfQogCi0vKiBNaW5pbXVtIHNpemUgb2YgdGhlIG92ZXJmbG93IGJ1ZmZlciAqLwotI2RlZmluZSBPVkVSRkxPV1NJWkUgMTAyNAotCi0vKgotICogYWxsb2NhdGVfb3ZlcmZsb3coKSBlbnN1cmVzIHRoYXQgdGhlcmUgaXMgcm9vbSBmb3IgaW5jb21pbmcgZGF0YSBpbiB0aGUKLSAqIG92ZXJmbG93IGJ1ZmZlciwgZ3Jvd2luZyBpdCB0byBhY2NvbW1vZGF0ZSB0aGUgbmV3IGRhdGEgaWYgbmVjZXNzYXJ5LiBXZQotICogbWF5IG5lZWQgdG8gdXNlIHRoZSBvdmVyZmxvdyBidWZmZXIgYmVjYXVzZSB3ZSBjYW4ndCBwcmVjaXNlbHkgbGltaXQgdGhlCi0gKiBhbW91bnQgb2YgSFRUUC8zIGhlYWRlciBkYXRhIHdlIHJlY2VpdmUgdXNpbmcgUVVJQyBmbG93IGNvbnRyb2wgbWVjaGFuaXNtcy4KLSAqLwotc3RhdGljIENVUkxjb2RlIGFsbG9jYXRlX292ZXJmbG93KHN0cnVjdCBDdXJsX2Vhc3kgKmRhdGEsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RydWN0IEhUVFAgKnN0cmVhbSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzaXplX3QgbGVuZ3RoKQotewotICBzaXplX3QgbWF4bGVmdDsKLSAgc2l6ZV90IG5ld3NpemU7Ci0gIC8qIGxlbmd0aCBjYW4gYmUgYXJiaXRyYXJpbHkgbGFyZ2UsIHNvIHRha2UgY2FyZSBub3QgdG8gb3ZlcmZsb3cgbmV3c2l6ZSAqLwotICBtYXhsZWZ0ID0gQ1VSTF9NQVhfUkVBRF9TSVpFIC0gc3RyZWFtLT5vdmVyZmxvd19idWZsZW47Ci0gIGlmKGxlbmd0aCA+IG1heGxlZnQpIHsKLSAgICAvKiBUaGUgcmVhc29uIHRvIGhhdmUgYSBtYXggbGltaXQgZm9yIHRoaXMgaXMgdG8gYXZvaWQgdGhlIHJpc2sgb2YgYSBiYWQKLSAgICAgICBzZXJ2ZXIgZmVlZGluZyBsaWJjdXJsIHdpdGggYSBoaWdobHkgY29tcHJlc3NlZCBsaXN0IG9mIGhlYWRlcnMgdGhhdAotICAgICAgIHdpbGwgY2F1c2Ugb3VyIG92ZXJmbG93IGJ1ZmZlciB0byBncm93IHRvbyBsYXJnZSAqLwotICAgIGZhaWxmKGRhdGEsICJSZWplY3RlZCAlenUgYnl0ZXMgb2Ygb3ZlcmZsb3cgZGF0YSAobWF4IGlzICVkKSEiLAotICAgICAgICAgIHN0cmVhbS0+b3ZlcmZsb3dfYnVmbGVuICsgbGVuZ3RoLCBDVVJMX01BWF9SRUFEX1NJWkUpOwotICAgIHJldHVybiBDVVJMRV9PVVRfT0ZfTUVNT1JZOwotICB9Ci0gIG5ld3NpemUgPSBzdHJlYW0tPm92ZXJmbG93X2J1ZmxlbiArIGxlbmd0aDsKLSAgaWYobmV3c2l6ZSA+IHN0cmVhbS0+b3ZlcmZsb3dfYnVmc2l6ZSkgewotICAgIC8qIFdlIGVubGFyZ2UgdGhlIG92ZXJmbG93IGJ1ZmZlciBhcyBpdCBpcyB0b28gc21hbGwgKi8KLSAgICBjaGFyICpuZXdidWZmOwotICAgIG5ld3NpemUgPSBDVVJMTUFYKG5ld3NpemUgKiAzIC8gMiwgc3RyZWFtLT5vdmVyZmxvd19idWZzaXplKjIpOwotICAgIG5ld3NpemUgPSBDVVJMTUlOKENVUkxNQVgoT1ZFUkZMT1dTSVpFLCBuZXdzaXplKSwgQ1VSTF9NQVhfUkVBRF9TSVpFKTsKLSAgICBuZXdidWZmID0gcmVhbGxvYyhzdHJlYW0tPm92ZXJmbG93X2J1ZiwgbmV3c2l6ZSk7Ci0gICAgaWYoIW5ld2J1ZmYpIHsKLSAgICAgIGZhaWxmKGRhdGEsICJGYWlsZWQgdG8gYWxsb2MgbWVtb3J5IGZvciBvdmVyZmxvdyBidWZmZXIhIik7Ci0gICAgICByZXR1cm4gQ1VSTEVfT1VUX09GX01FTU9SWTsKLSAgICB9Ci0gICAgc3RyZWFtLT5vdmVyZmxvd19idWYgPSBuZXdidWZmOwotICAgIHN0cmVhbS0+b3ZlcmZsb3dfYnVmc2l6ZSA9IG5ld3NpemU7Ci0gICAgaW5mb2YoZGF0YSwgIkdyZXcgSFRUUC8zIG92ZXJmbG93IGJ1ZmZlciB0byAlenUgYnl0ZXNcbiIsIG5ld3NpemUpOwotICB9Ci0gIHJldHVybiBDVVJMRV9PSzsKLX0KLQogLyoKICAqIHdyaXRlX2RhdGEoKSBjb3BpZXMgZGF0YSB0byB0aGUgc3RyZWFtJ3MgcmVjZWl2ZSBidWZmZXIuIElmIG5vdCBlbm91Z2gKICAqIHNwYWNlIGlzIGF2YWlsYWJsZSBpbiB0aGUgcmVjZWl2ZSBidWZmZXIsIGl0IGNvcGllcyB0aGUgcmVzdCB0byB0aGUKICAqIHN0cmVhbSdzIG92ZXJmbG93IGJ1ZmZlci4KICAqLwotc3RhdGljIENVUkxjb2RlIHdyaXRlX2RhdGEoc3RydWN0IEN1cmxfZWFzeSAqZGF0YSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cnVjdCBIVFRQICpzdHJlYW0sCi0gICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB2b2lkICptZW0sIHNpemVfdCBtZW1sZW4pCitzdGF0aWMgQ1VSTGNvZGUgd3JpdGVfZGF0YShzdHJ1Y3QgSFRUUCAqc3RyZWFtLCBjb25zdCB2b2lkICptZW0sIHNpemVfdCBtZW1sZW4pCiB7CiAgIENVUkxjb2RlIHJlc3VsdCA9IENVUkxFX09LOwogICBjb25zdCBjaGFyICpidWYgPSBtZW07CkBAIC0xMDc2LDEwICs5ODksNiBAQAogICAvKiBjb3B5IGFzIG11Y2ggYXMgcG9zc2libGUgdG8gdGhlIHJlY2VpdmUgYnVmZmVyICovCiAgIGlmKHN0cmVhbS0+bGVuKSB7CiAgICAgc2l6ZV90IGxlbiA9IENVUkxNSU4obmNvcHksIHN0cmVhbS0+bGVuKTsKLSNpZiAwIC8qIGV4dHJhIGRlYnVnZ2luZyBvZiBpbmNvbWluZyBoMyBkYXRhICovCi0gICAgZnByaW50ZihzdGRlcnIsICIhISBDb3BpZXMgJXpkIGJ5dGVzIHRvICVwICh0b3RhbCAlemQpXG4iLAotICAgICAgICAgICAgbGVuLCBzdHJlYW0tPm1lbSwgc3RyZWFtLT5tZW1sZW4pOwotI2VuZGlmCiAgICAgbWVtY3B5KHN0cmVhbS0+bWVtLCBidWYsIGxlbik7CiAgICAgc3RyZWFtLT5sZW4gLT0gbGVuOwogICAgIHN0cmVhbS0+bWVtbGVuICs9IGxlbjsKQEAgLTEwODgsMjYgKzk5Nyw4IEBACiAgICAgbmNvcHkgLT0gbGVuOwogICB9CiAgIC8qIGNvcHkgdGhlIHJlc3QgdG8gdGhlIG92ZXJmbG93IGJ1ZmZlciAqLwotICBpZihuY29weSkgewotICAgIHJlc3VsdCA9IGFsbG9jYXRlX292ZXJmbG93KGRhdGEsIHN0cmVhbSwgbmNvcHkpOwotICAgIGlmKHJlc3VsdCkgewotICAgICAgcmV0dXJuIHJlc3VsdDsKLSAgICB9Ci0jaWYgMCAvKiBleHRyYSBkZWJ1Z2dpbmcgb2YgaW5jb21pbmcgaDMgZGF0YSAqLwotICAgIGZwcmludGYoc3RkZXJyLCAiISEgQ29waWVzICV6ZCBvdmVyZmxvdyBieXRlcyB0byAlcCAodG90YWwgJXpkKVxuIiwKLSAgICAgICAgICAgIG5jb3B5LCBzdHJlYW0tPm92ZXJmbG93X2J1Ziwgc3RyZWFtLT5vdmVyZmxvd19idWZsZW4pOwotI2VuZGlmCi0gICAgbWVtY3B5KHN0cmVhbS0+b3ZlcmZsb3dfYnVmICsgc3RyZWFtLT5vdmVyZmxvd19idWZsZW4sIGJ1ZiwgbmNvcHkpOwotICAgIHN0cmVhbS0+b3ZlcmZsb3dfYnVmbGVuICs9IG5jb3B5OwotICB9Ci0jaWYgMCAvKiBleHRyYSBkZWJ1Z2dpbmcgb2YgaW5jb21pbmcgaDMgZGF0YSAqLwotICB7Ci0gICAgc2l6ZV90IGk7Ci0gICAgZm9yKGkgPSAwOyBpIDwgbWVtbGVuOyBpKyspIHsKLSAgICAgIGZwcmludGYoc3RkZXJyLCAiISEgZGF0YVslZF06ICUwMnggJyVjJ1xuIiwgaSwgYnVmW2ldLCBidWZbaV0pOwotICAgIH0KLSAgfQotI2VuZGlmCisgIGlmKG5jb3B5KQorICAgIHJlc3VsdCA9IEN1cmxfZHluX2FkZG4oJnN0cmVhbS0+b3ZlcmZsb3csIGJ1ZiwgbmNvcHkpOwogICByZXR1cm4gcmVzdWx0OwogfQogCkBAIC0xMTIwLDcgKzEwMTEsNyBAQAogICBDVVJMY29kZSByZXN1bHQgPSBDVVJMRV9PSzsKICAgKHZvaWQpY29ubjsKIAotICByZXN1bHQgPSB3cml0ZV9kYXRhKGRhdGEsIHN0cmVhbSwgYnVmLCBidWZsZW4pOworICByZXN1bHQgPSB3cml0ZV9kYXRhKHN0cmVhbSwgYnVmLCBidWZsZW4pOwogICBpZihyZXN1bHQpIHsKICAgICByZXR1cm4gLTE7CiAgIH0KQEAgLTExODMsNyArMTA3NCw3IEBACiAKICAgLyogYWRkIGEgQ1JMRiBvbmx5IGlmIHdlJ3ZlIHJlY2VpdmVkIHNvbWUgaGVhZGVycyAqLwogICBpZihzdHJlYW0tPmZpcnN0aGVhZGVyKSB7Ci0gICAgcmVzdWx0ID0gd3JpdGVfZGF0YShkYXRhLCBzdHJlYW0sICJcclxuIiwgMik7CisgICAgcmVzdWx0ID0gd3JpdGVfZGF0YShzdHJlYW0sICJcclxuIiwgMik7CiAgICAgaWYocmVzdWx0KSB7CiAgICAgICByZXR1cm4gLTE7CiAgICAgfQpAQCAtMTIxNCwyNiArMTEwNSwyNiBAQAogICAgIGludCBzdGF0dXMgPSBkZWNvZGVfc3RhdHVzX2NvZGUoaDN2YWwuYmFzZSwgaDN2YWwubGVuKTsKICAgICBERUJVR0FTU0VSVChzdGF0dXMgIT0gLTEpOwogICAgIG5jb3B5ID0gbXNucHJpbnRmKGxpbmUsIHNpemVvZihsaW5lKSwgIkhUVFAvMyAlMDNkIFxyXG4iLCBzdGF0dXMpOwotICAgIHJlc3VsdCA9IHdyaXRlX2RhdGEoZGF0YSwgc3RyZWFtLCBsaW5lLCBuY29weSk7CisgICAgcmVzdWx0ID0gd3JpdGVfZGF0YShzdHJlYW0sIGxpbmUsIG5jb3B5KTsKICAgICBpZihyZXN1bHQpIHsKICAgICAgIHJldHVybiAtMTsKICAgICB9CiAgIH0KICAgZWxzZSB7CiAgICAgLyogc3RvcmUgYXMgYSBIVFRQMS1zdHlsZSBoZWFkZXIgKi8KLSAgICByZXN1bHQgPSB3cml0ZV9kYXRhKGRhdGEsIHN0cmVhbSwgaDNuYW1lLmJhc2UsIGgzbmFtZS5sZW4pOworICAgIHJlc3VsdCA9IHdyaXRlX2RhdGEoc3RyZWFtLCBoM25hbWUuYmFzZSwgaDNuYW1lLmxlbik7CiAgICAgaWYocmVzdWx0KSB7CiAgICAgICByZXR1cm4gLTE7CiAgICAgfQotICAgIHJlc3VsdCA9IHdyaXRlX2RhdGEoZGF0YSwgc3RyZWFtLCAiOiAiLCAyKTsKKyAgICByZXN1bHQgPSB3cml0ZV9kYXRhKHN0cmVhbSwgIjogIiwgMik7CiAgICAgaWYocmVzdWx0KSB7CiAgICAgICByZXR1cm4gLTE7CiAgICAgfQotICAgIHJlc3VsdCA9IHdyaXRlX2RhdGEoZGF0YSwgc3RyZWFtLCBoM3ZhbC5iYXNlLCBoM3ZhbC5sZW4pOworICAgIHJlc3VsdCA9IHdyaXRlX2RhdGEoc3RyZWFtLCBoM3ZhbC5iYXNlLCBoM3ZhbC5sZW4pOwogICAgIGlmKHJlc3VsdCkgewogICAgICAgcmV0dXJuIC0xOwogICAgIH0KLSAgICByZXN1bHQgPSB3cml0ZV9kYXRhKGRhdGEsIHN0cmVhbSwgIlxyXG4iLCAyKTsKKyAgICByZXN1bHQgPSB3cml0ZV9kYXRhKHN0cmVhbSwgIlxyXG4iLCAyKTsKICAgICBpZihyZXN1bHQpIHsKICAgICAgIHJldHVybiAtMTsKICAgICB9CkBAIC0xMzQxLDE1ICsxMjMyLDE2IEBACiAKIHN0YXRpYyBzaXplX3QgZHJhaW5fb3ZlcmZsb3dfYnVmZmVyKHN0cnVjdCBIVFRQICpzdHJlYW0pCiB7Ci0gIHNpemVfdCBuY29weSA9IENVUkxNSU4oc3RyZWFtLT5vdmVyZmxvd19idWZsZW4sIHN0cmVhbS0+bGVuKTsKKyAgc2l6ZV90IG92ZXJsZW4gPSBDdXJsX2R5bl9sZW4oJnN0cmVhbS0+b3ZlcmZsb3cpOworICBzaXplX3QgbmNvcHkgPSBDVVJMTUlOKG92ZXJsZW4sIHN0cmVhbS0+bGVuKTsKICAgaWYobmNvcHkgPiAwKSB7Ci0gICAgbWVtY3B5KHN0cmVhbS0+bWVtLCBzdHJlYW0tPm92ZXJmbG93X2J1ZiwgbmNvcHkpOworICAgIG1lbWNweShzdHJlYW0tPm1lbSwgQ3VybF9keW5fcHRyKCZzdHJlYW0tPm92ZXJmbG93KSwgbmNvcHkpOwogICAgIHN0cmVhbS0+bGVuIC09IG5jb3B5OwogICAgIHN0cmVhbS0+bWVtICs9IG5jb3B5OwogICAgIHN0cmVhbS0+bWVtbGVuICs9IG5jb3B5OwotICAgIHN0cmVhbS0+b3ZlcmZsb3dfYnVmbGVuIC09IG5jb3B5OwotICAgIG1lbW1vdmUoc3RyZWFtLT5vdmVyZmxvd19idWYsIHN0cmVhbS0+b3ZlcmZsb3dfYnVmICsgbmNvcHksCi0gICAgICAgICAgICBzdHJlYW0tPm92ZXJmbG93X2J1Zmxlbik7CisgICAgaWYobmNvcHkgIT0gb3ZlcmxlbikKKyAgICAgIC8qIG1ha2UgdGhlIGJ1ZmZlciBvbmx5IGtlZXAgdGhlIHRhaWwgKi8KKyAgICAgICh2b2lkKUN1cmxfZHluX3RhaWwoJnN0cmVhbS0+b3ZlcmZsb3csIG92ZXJsZW4gLSBuY29weSk7CiAgIH0KICAgcmV0dXJuIG5jb3B5OwogfQpAQCAtMTUyOCw2ICsxNDIwLDcgQEAKIAogICBzdHJlYW0tPnN0cmVhbTNfaWQgPSBzdHJlYW0zX2lkOwogICBzdHJlYW0tPmgzcmVxID0gVFJVRTsgLyogc2VuZiBvZmYhICovCisgIEN1cmxfZHluX2luaXQoJnN0cmVhbS0+b3ZlcmZsb3csIENVUkxfTUFYX1JFQURfU0laRSk7CiAKICAgLyogQ2FsY3VsYXRlIG51bWJlciBvZiBoZWFkZXJzIGNvbnRhaW5lZCBpbiBbbWVtLCBtZW0gKyBsZW4pLiBBc3N1bWVzIGEKICAgICAgY29ycmVjdGx5IGdlbmVyYXRlZCBIVFRQIGhlYWRlciBmaWVsZCBibG9jay4gKi8KQEAgLTE2ODQsNyArMTU3Nyw3IEBACiAgICAgfQogICB9CiAKLSAgc3dpdGNoKGRhdGEtPnNldC5odHRwcmVxKSB7CisgIHN3aXRjaChkYXRhLT5zdGF0ZS5odHRwcmVxKSB7CiAgIGNhc2UgSFRUUFJFUV9QT1NUOgogICBjYXNlIEhUVFBSRVFfUE9TVF9GT1JNOgogICBjYXNlIEhUVFBSRVFfUE9TVF9NSU1FOgpAQCAtMTgwNiwxMSArMTY5OSwxMSBAQAogCiAgIHJlc3VsdCA9IG5nX3Byb2Nlc3NfaW5ncmVzcyhjb25uLCBzb2NrZmQsIHFzKTsKICAgaWYocmVzdWx0KQotICAgIHJldHVybiByZXN1bHQ7CisgICAgZ290byBlcnJvcjsKIAogICByZXN1bHQgPSBuZ19mbHVzaF9lZ3Jlc3MoY29ubiwgc29ja2ZkLCBxcyk7CiAgIGlmKHJlc3VsdCkKLSAgICByZXR1cm4gcmVzdWx0OworICAgIGdvdG8gZXJyb3I7CiAKICAgaWYobmd0Y3AyX2Nvbm5fZ2V0X2hhbmRzaGFrZV9jb21wbGV0ZWQocXMtPnFjb25uKSkgewogICAgICpkb25lID0gVFJVRTsKQEAgLTE4MTgsNiArMTcxMSwxMCBAQAogICB9CiAKICAgcmV0dXJuIHJlc3VsdDsKKyAgZXJyb3I6CisgICh2b2lkKXFzX2Rpc2Nvbm5lY3QocXMpOworICByZXR1cm4gcmVzdWx0OworCiB9CiAKIHN0YXRpYyBDVVJMY29kZSBuZ19wcm9jZXNzX2luZ3Jlc3Moc3RydWN0IGNvbm5lY3RkYXRhICpjb25uLCBpbnQgc29ja2ZkLApAQCAtMTkxNCwxMSArMTgxMSwxMiBAQAogICAgICAgICByZXR1cm4gQ1VSTEVfU0VORF9FUlJPUjsKICAgICAgIH0KICAgICAgIGVsc2UgaWYodmVjY250ID4gMCkgeworICAgICAgICB1aW50MzJfdCBmbGFncyA9IE5HVENQMl9XUklURV9TVFJFQU1fRkxBR19NT1JFIHwKKyAgICAgICAgICAoZmluID8gTkdUQ1AyX1dSSVRFX1NUUkVBTV9GTEFHX0ZJTiA6IDApOwogICAgICAgICBvdXRsZW4gPQogICAgICAgICAgIG5ndGNwMl9jb25uX3dyaXRldl9zdHJlYW0ocXMtPnFjb25uLCAmcHMucGF0aCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG91dCwgcGt0bGVuLCAmbmRhdGFsZW4sCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOR1RDUDJfV1JJVEVfU1RSRUFNX0ZMQUdfTU9SRSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cmVhbV9pZCwgZmluLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmxhZ3MsIHN0cmVhbV9pZCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChjb25zdCBuZ3RjcDJfdmVjICopdmVjLCB2ZWNjbnQsIHRzKTsKICAgICAgICAgaWYob3V0bGVuID09IDApIHsKICAgICAgICAgICBicmVhazsKQEAgLTE5MjYsNiArMTgyNCw3IEBACiAgICAgICAgIGlmKG91dGxlbiA8IDApIHsKICAgICAgICAgICBpZihvdXRsZW4gPT0gTkdUQ1AyX0VSUl9TVFJFQU1fREFUQV9CTE9DS0VEIHx8CiAgICAgICAgICAgICAgb3V0bGVuID09IE5HVENQMl9FUlJfU1RSRUFNX1NIVVRfV1IpIHsKKyAgICAgICAgICAgIGFzc2VydChuZGF0YWxlbiA9PSAtMSk7CiAgICAgICAgICAgICBydiA9IG5naHR0cDNfY29ubl9ibG9ja19zdHJlYW0ocXMtPmgzY29ubiwgc3RyZWFtX2lkKTsKICAgICAgICAgICAgIGlmKHJ2ICE9IDApIHsKICAgICAgICAgICAgICAgZmFpbGYoY29ubi0+ZGF0YSwKQEAgLTE5NDgsMTkgKzE4NDcsMTQgQEAKICAgICAgICAgICAgIGNvbnRpbnVlOwogICAgICAgICAgIH0KICAgICAgICAgICBlbHNlIHsKKyAgICAgICAgICAgIGFzc2VydChuZGF0YWxlbiA9PSAtMSk7CiAgICAgICAgICAgICBmYWlsZihjb25uLT5kYXRhLCAibmd0Y3AyX2Nvbm5fd3JpdGV2X3N0cmVhbSByZXR1cm5lZCBlcnJvcjogJXNcbiIsCiAgICAgICAgICAgICAgICAgICBuZ3RjcDJfc3RyZXJyb3IoKGludClvdXRsZW4pKTsKICAgICAgICAgICAgIHJldHVybiBDVVJMRV9TRU5EX0VSUk9SOwogICAgICAgICAgIH0KICAgICAgICAgfQotICAgICAgICBlbHNlIGlmKG5kYXRhbGVuID49IDApIHsKLSAgICAgICAgICBydiA9IG5naHR0cDNfY29ubl9hZGRfd3JpdGVfb2Zmc2V0KHFzLT5oM2Nvbm4sIHN0cmVhbV9pZCwgbmRhdGFsZW4pOwotICAgICAgICAgIGlmKHJ2ICE9IDApIHsKLSAgICAgICAgICAgIGZhaWxmKGNvbm4tPmRhdGEsCi0gICAgICAgICAgICAgICAgICAibmdodHRwM19jb25uX2FkZF93cml0ZV9vZmZzZXQgcmV0dXJuZWQgZXJyb3I6ICVzXG4iLAotICAgICAgICAgICAgICAgICAgbmdodHRwM19zdHJlcnJvcihydikpOwotICAgICAgICAgICAgcmV0dXJuIENVUkxFX1NFTkRfRVJST1I7Ci0gICAgICAgICAgfQorICAgICAgICBlbHNlIHsKKyAgICAgICAgICBhc3NlcnQobmRhdGFsZW4gPT0gLTEpOwogICAgICAgICB9CiAgICAgICB9CiAgICAgfQpAQCAtMjAzMiw3ICsxOTI2LDcgQEAKICAgaWYoZGF0YS0+Y29ubi0+aGFuZGxlciA9PSAmQ3VybF9oYW5kbGVyX2h0dHAzKSB7CiAgICAgLyogb25seSBmb3IgSFRUUC8zIHRyYW5zZmVycyAqLwogICAgIHN0cnVjdCBIVFRQICpzdHJlYW0gPSBkYXRhLT5yZXEucHJvdG9wOwotICAgIEN1cmxfc2FmZWZyZWUoc3RyZWFtLT5vdmVyZmxvd19idWYpOworICAgIEN1cmxfZHluX2ZyZWUoJnN0cmVhbS0+b3ZlcmZsb3cpOwogICB9CiB9CiAKQEAgLTIwNDcsNyArMTk0MSw3IEBACiAgICAgIHRoZXJlJ3Mgbm8gbW9yZSBkYXRhIGNvbWluZyBvbiB0aGUgc29ja2V0LCB3ZSBuZWVkIHRvIGtlZXAgcmVhZGluZwogICAgICB1bnRpbCB0aGUgb3ZlcmZsb3cgYnVmZmVyIGlzIGVtcHR5LiAqLwogICBjb25zdCBzdHJ1Y3QgSFRUUCAqc3RyZWFtID0gZGF0YS0+cmVxLnByb3RvcDsKLSAgcmV0dXJuIHN0cmVhbS0+b3ZlcmZsb3dfYnVmbGVuID4gMDsKKyAgcmV0dXJuIEN1cmxfZHluX2xlbigmc3RyZWFtLT5vdmVyZmxvdykgPiAwOwogfQogCiAjZW5kaWYKZGlmZiAtLWdpdCBhL2xpYi92cXVpYy9uZ3RjcDIuaCBiL2xpYi92cXVpYy9uZ3RjcDIuaAppbmRleCAwNjMzN2Y2Li5lMmY4YjU2IDEwMDY0NAotLS0gYS9saWIvdnF1aWMvbmd0Y3AyLmgKKysrIGIvbGliL3ZxdWljL25ndGNwMi5oCkBAIC02Myw2ICs2Myw3IEBACiAKICAgbmdodHRwM19jb25uICpoM2Nvbm47CiAgIG5naHR0cDNfY29ubl9zZXR0aW5ncyBoM3NldHRpbmdzOworICBpbnQgcWxvZ2ZkOwogfTsKIAogI2luY2x1ZGUgInVybGRhdGEuaCIKZGlmZiAtLWdpdCBhL2xpYi92cXVpYy9xdWljaGUuYyBiL2xpYi92cXVpYy9xdWljaGUuYwppbmRleCBjNDBlNWU5Li5iZTZmMTVjIDEwMDY0NAotLS0gYS9saWIvdnF1aWMvcXVpY2hlLmMKKysrIGIvbGliL3ZxdWljL3F1aWNoZS5jCkBAIC0zNCw2ICszNCw3IEBACiAjaW5jbHVkZSAibXVsdGlpZi5oIgogI2luY2x1ZGUgImNvbm5lY3QuaCIKICNpbmNsdWRlICJzdHJlcnJvci5oIgorI2luY2x1ZGUgInZxdWljLmgiCiAKIC8qIFRoZSBsYXN0IDMgI2luY2x1ZGUgZmlsZXMgc2hvdWxkIGJlIGluIHRoaXMgb3JkZXIgKi8KICNpbmNsdWRlICJjdXJsX3ByaW50Zi5oIgpAQCAtNjQsNyArNjUsNiBAQAogc3RhdGljIEN1cmxfcmVjdiBoM19zdHJlYW1fcmVjdjsKIHN0YXRpYyBDdXJsX3NlbmQgaDNfc3RyZWFtX3NlbmQ7CiAKLQogc3RhdGljIGludCBxdWljaGVfZ2V0c29jayhzdHJ1Y3QgY29ubmVjdGRhdGEgKmNvbm4sIGN1cmxfc29ja2V0X3QgKnNvY2tzKQogewogICBzdHJ1Y3QgU2luZ2xlUmVxdWVzdCAqayA9ICZjb25uLT5kYXRhLT5yZXE7CkBAIC04OSwxNiArODksMzAgQEAKICAgcmV0dXJuIHF1aWNoZV9nZXRzb2NrKChzdHJ1Y3QgY29ubmVjdGRhdGEgKiljb25uLCBzb2Nrcyk7CiB9CiAKK3N0YXRpYyBDVVJMY29kZSBxc19kaXNjb25uZWN0KHN0cnVjdCBxdWljc29ja2V0ICpxcykKK3sKKyAgaWYocXMtPmgzY29uZmlnKQorICAgIHF1aWNoZV9oM19jb25maWdfZnJlZShxcy0+aDNjb25maWcpOworICBpZihxcy0+aDNjKQorICAgIHF1aWNoZV9oM19jb25uX2ZyZWUocXMtPmgzYyk7CisgIHF1aWNoZV9jb25maWdfZnJlZShxcy0+Y2ZnKTsKKyAgcXVpY2hlX2Nvbm5fZnJlZShxcy0+Y29ubik7CisgIHJldHVybiBDVVJMRV9PSzsKK30KKwogc3RhdGljIENVUkxjb2RlIHF1aWNoZV9kaXNjb25uZWN0KHN0cnVjdCBjb25uZWN0ZGF0YSAqY29ubiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBib29sIGRlYWRfY29ubmVjdGlvbikKIHsKICAgc3RydWN0IHF1aWNzb2NrZXQgKnFzID0gY29ubi0+cXVpYzsKICAgKHZvaWQpZGVhZF9jb25uZWN0aW9uOwotICBxdWljaGVfaDNfY29uZmlnX2ZyZWUocXMtPmgzY29uZmlnKTsKLSAgcXVpY2hlX2gzX2Nvbm5fZnJlZShxcy0+aDNjKTsKLSAgcXVpY2hlX2NvbmZpZ19mcmVlKHFzLT5jZmcpOwotICBxdWljaGVfY29ubl9mcmVlKHFzLT5jb25uKTsKLSAgcmV0dXJuIENVUkxFX09LOworICByZXR1cm4gcXNfZGlzY29ubmVjdChxcyk7Cit9CisKK3ZvaWQgQ3VybF9xdWljX2Rpc2Nvbm5lY3Qoc3RydWN0IGNvbm5lY3RkYXRhICpjb25uLAorICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgdGVtcGluZGV4KQoreworICBpZihjb25uLT50cmFuc3BvcnQgPT0gVFJOU1BSVF9RVUlDKQorICAgIHFzX2Rpc2Nvbm5lY3QoJmNvbm4tPmhlcXVpY1t0ZW1waW5kZXhdKTsKIH0KIAogc3RhdGljIHVuc2lnbmVkIGludCBxdWljaGVfY29ubmNoZWNrKHN0cnVjdCBjb25uZWN0ZGF0YSAqY29ubiwKQEAgLTE1Miw2ICsxNjYsNyBAQAogICBDVVJMY29kZSByZXN1bHQ7CiAgIHN0cnVjdCBxdWljc29ja2V0ICpxcyA9ICZjb25uLT5oZXF1aWNbc29ja2luZGV4XTsKICAgc3RydWN0IEN1cmxfZWFzeSAqZGF0YSA9IGNvbm4tPmRhdGE7CisgIGNoYXIgKmtleWxvZ19maWxlID0gTlVMTDsKIAogI2lmZGVmIERFQlVHX1FVSUNIRQogICAvKiBpbml0aWFsaXplIGRlYnVnIGxvZyBjYWxsYmFjayBvbmx5IG9uY2UgKi8KQEAgLTE4OSw3ICsyMDQsOSBAQAogICBpZihyZXN1bHQpCiAgICAgcmV0dXJuIHJlc3VsdDsKIAotICBpZihnZXRlbnYoIlNTTEtFWUxPR0ZJTEUiKSkKKyAga2V5bG9nX2ZpbGUgPSBnZXRlbnYoIlNTTEtFWUxPR0ZJTEUiKTsKKworICBpZihrZXlsb2dfZmlsZSkKICAgICBxdWljaGVfY29uZmlnX2xvZ19rZXlzKHFzLT5jZmcpOwogCiAgIHFzLT5jb25uID0gcXVpY2hlX2Nvbm5lY3QoY29ubi0+aG9zdC5uYW1lLCAoY29uc3QgdWludDhfdCAqKSBxcy0+c2NpZCwKQEAgLTE5OSw2ICsyMTYsMjAgQEAKICAgICByZXR1cm4gQ1VSTEVfT1VUX09GX01FTU9SWTsKICAgfQogCisgIGlmKGtleWxvZ19maWxlKQorICAgIHF1aWNoZV9jb25uX3NldF9rZXlsb2dfcGF0aChxcy0+Y29ubiwga2V5bG9nX2ZpbGUpOworCisgIC8qIEtub3duIHRvIG5vdCB3b3JrIG9uIFdpbmRvd3MgKi8KKyNpZiAhZGVmaW5lZChXSU4zMikgJiYgZGVmaW5lZChIQVZFX1FVSUNIRV9DT05OX1NFVF9RTE9HX0ZEKQorICB7CisgICAgaW50IHFmZDsKKyAgICAodm9pZClDdXJsX3Fsb2dkaXIoZGF0YSwgcXMtPnNjaWQsIHNpemVvZihxcy0+c2NpZCksICZxZmQpOworICAgIGlmKHFmZCAhPSAtMSkKKyAgICAgIHF1aWNoZV9jb25uX3NldF9xbG9nX2ZkKHFzLT5jb25uLCBxZmQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicWxvZyB0aXRsZSIsICJjdXJsIHFsb2ciKTsKKyAgfQorI2VuZGlmCisKICAgcmVzdWx0ID0gZmx1c2hfZWdyZXNzKGNvbm4sIHNvY2tmZCwgcXMpOwogICBpZihyZXN1bHQpCiAgICAgcmV0dXJuIHJlc3VsdDsKQEAgLTIxNyw4ICsyNDgsMjAgQEAKICAgLyogZm9yIGNvbm5lY3Rpb24gcmV1c2UgcHVycG9zZXM6ICovCiAgIGNvbm4tPnNzbFtGSVJTVFNPQ0tFVF0uc3RhdGUgPSBzc2xfY29ubmVjdGlvbl9jb21wbGV0ZTsKIAotICBpbmZvZihkYXRhLCAiU2VudCBRVUlDIGNsaWVudCBJbml0aWFsLCBBTFBOOiAlc1xuIiwKLSAgICAgICAgUVVJQ0hFX0gzX0FQUExJQ0FUSU9OX1BST1RPQ09MICsgMSk7CisgIHsKKyAgICB1bnNpZ25lZCBjaGFyIGFscG5fcHJvdG9jb2xzW10gPSBRVUlDSEVfSDNfQVBQTElDQVRJT05fUFJPVE9DT0w7CisgICAgdW5zaWduZWQgYWxwbl9sZW4sIG9mZnNldCA9IDA7CisKKyAgICAvKiBSZXBsYWNlIGVhY2ggQUxQTiBsZW5ndGggcHJlZml4IGJ5IGEgY29tbWEuICovCisgICAgd2hpbGUob2Zmc2V0IDwgc2l6ZW9mKGFscG5fcHJvdG9jb2xzKSAtIDEpIHsKKyAgICAgIGFscG5fbGVuID0gYWxwbl9wcm90b2NvbHNbb2Zmc2V0XTsKKyAgICAgIGFscG5fcHJvdG9jb2xzW29mZnNldF0gPSAnLCc7CisgICAgICBvZmZzZXQgKz0gMSArIGFscG5fbGVuOworICAgIH0KKworICAgIGluZm9mKGRhdGEsICJTZW50IFFVSUMgY2xpZW50IEluaXRpYWwsIEFMUE46ICVzXG4iLAorICAgICAgICAgIGFscG5fcHJvdG9jb2xzICsgMSk7CisgIH0KIAogICByZXR1cm4gQ1VSTEVfT0s7CiB9CkBAIC0yNzMsMTEgKzMxNiwxMSBAQAogCiAgIHJlc3VsdCA9IHByb2Nlc3NfaW5ncmVzcyhjb25uLCBzb2NrZmQsIHFzKTsKICAgaWYocmVzdWx0KQotICAgIHJldHVybiByZXN1bHQ7CisgICAgZ290byBlcnJvcjsKIAogICByZXN1bHQgPSBmbHVzaF9lZ3Jlc3MoY29ubiwgc29ja2ZkLCBxcyk7CiAgIGlmKHJlc3VsdCkKLSAgICByZXR1cm4gcmVzdWx0OworICAgIGdvdG8gZXJyb3I7CiAKICAgaWYocXVpY2hlX2Nvbm5faXNfZXN0YWJsaXNoZWQocXMtPmNvbm4pKSB7CiAgICAgKmRvbmUgPSBUUlVFOwpAQCAtMjg2LDYgKzMyOSw5IEBACiAgIH0KIAogICByZXR1cm4gcmVzdWx0OworICBlcnJvcjoKKyAgcXNfZGlzY29ubmVjdChxcyk7CisgIHJldHVybiByZXN1bHQ7CiB9CiAKIHN0YXRpYyBDVVJMY29kZSBwcm9jZXNzX2luZ3Jlc3Moc3RydWN0IGNvbm5lY3RkYXRhICpjb25uLCBpbnQgc29ja2ZkLApAQCAtNzE0LDcgKzc2MCw3IEBACiAgICAgfQogICB9CiAKLSAgc3dpdGNoKGRhdGEtPnNldC5odHRwcmVxKSB7CisgIHN3aXRjaChkYXRhLT5zdGF0ZS5odHRwcmVxKSB7CiAgIGNhc2UgSFRUUFJFUV9QT1NUOgogICBjYXNlIEhUVFBSRVFfUE9TVF9GT1JNOgogICBjYXNlIEhUVFBSRVFfUE9TVF9NSU1FOgpkaWZmIC0tZ2l0IGEvbGliL3ZxdWljL3ZxdWljLmMgYi9saWIvdnF1aWMvdnF1aWMuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5hYWU4ZTA5Ci0tLSAvZGV2L251bGwKKysrIGIvbGliL3ZxdWljL3ZxdWljLmMKQEAgLTAsMCArMSw4NSBAQAorLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXyAgIF8gX19fXyAgXworICogIFByb2plY3QgICAgICAgICAgICAgICAgICAgICBfX198IHwgfCB8ICBfIFx8IHwKKyAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvIF9ffCB8IHwgfCB8XykgfCB8CisgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICB8IChfX3wgfF98IHwgIF8gPHwgfF9fXworICogICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxfX198XF9fXy98X3wgXF9cX19fX198CisgKgorICogQ29weXJpZ2h0IChDKSAxOTk4IC0gMjAyMCwgRGFuaWVsIFN0ZW5iZXJnLCA8ZGFuaWVsQGhheHguc2U+LCBldCBhbC4KKyAqCisgKiBUaGlzIHNvZnR3YXJlIGlzIGxpY2Vuc2VkIGFzIGRlc2NyaWJlZCBpbiB0aGUgZmlsZSBDT1BZSU5HLCB3aGljaAorICogeW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGFzIHBhcnQgb2YgdGhpcyBkaXN0cmlidXRpb24uIFRoZSB0ZXJtcworICogYXJlIGFsc28gYXZhaWxhYmxlIGF0IGh0dHBzOi8vY3VybC5oYXh4LnNlL2RvY3MvY29weXJpZ2h0Lmh0bWwuCisgKgorICogWW91IG1heSBvcHQgdG8gdXNlLCBjb3B5LCBtb2RpZnksIG1lcmdlLCBwdWJsaXNoLCBkaXN0cmlidXRlIGFuZC9vciBzZWxsCisgKiBjb3BpZXMgb2YgdGhlIFNvZnR3YXJlLCBhbmQgcGVybWl0IHBlcnNvbnMgdG8gd2hvbSB0aGUgU29mdHdhcmUgaXMKKyAqIGZ1cm5pc2hlZCB0byBkbyBzbywgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBDT1BZSU5HIGZpbGUuCisgKgorICogVGhpcyBzb2Z0d2FyZSBpcyBkaXN0cmlidXRlZCBvbiBhbiAiQVMgSVMiIGJhc2lzLCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFOWQorICogS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC4KKyAqCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworCisjaW5jbHVkZSAiY3VybF9zZXR1cC5oIgorCisjaWZkZWYgRU5BQkxFX1FVSUMKKworI2lmZGVmIEhBVkVfRkNOVExfSAorI2luY2x1ZGUgPGZjbnRsLmg+CisjZW5kaWYKKyNpbmNsdWRlICJ1cmxkYXRhLmgiCisjaW5jbHVkZSAiZHluYnVmLmgiCisjaW5jbHVkZSAiY3VybF9wcmludGYuaCIKKyNpbmNsdWRlICJ2cXVpYy5oIgorCisjaWZkZWYgT19CSU5BUlkKKyNkZWZpbmUgUUxPR01PREUgT19XUk9OTFl8T19DUkVBVHxPX0JJTkFSWQorI2Vsc2UKKyNkZWZpbmUgUUxPR01PREUgT19XUk9OTFl8T19DUkVBVAorI2VuZGlmCisKKy8qCisgKiBJZiB0aGUgUUxPR0RJUiBlbnZpcm9ubWVudCB2YXJpYWJsZSBpcyBzZXQsIG9wZW4gYW5kIHJldHVybiBhIGZpbGUKKyAqIGRlc2NyaXB0b3IgdG8gd3JpdGUgdGhlIGxvZyB0by4KKyAqCisgKiBUaGlzIGZ1bmN0aW9uIHJldHVybnMgZXJyb3IgaWYgc29tZXRoaW5nIGZhaWxlZCBvdXRzaWRlIG9mIGZhaWxpbmcgdG8KKyAqIGNyZWF0ZSB0aGUgZmlsZS4gT3BlbiBmaWxlIHN1Y2Nlc3MgaXMgZGVlbWVkIGJ5IHNlZWluZyBpZiB0aGUgcmV0dXJuZWQgZmQKKyAqIGlzICE9IC0xLgorICovCitDVVJMY29kZSBDdXJsX3Fsb2dkaXIoc3RydWN0IEN1cmxfZWFzeSAqZGF0YSwKKyAgICAgICAgICAgICAgICAgICAgICB1bnNpZ25lZCBjaGFyICpzY2lkLAorICAgICAgICAgICAgICAgICAgICAgIHNpemVfdCBzY2lkbGVuLAorICAgICAgICAgICAgICAgICAgICAgIGludCAqcWxvZ2ZkcCkKK3sKKyAgY29uc3QgY2hhciAqcWxvZ19kaXIgPSBnZXRlbnYoIlFMT0dESVIiKTsKKyAgKnFsb2dmZHAgPSAtMTsKKyAgaWYocWxvZ19kaXIpIHsKKyAgICBzdHJ1Y3QgZHluYnVmIGZuYW1lOworICAgIENVUkxjb2RlIHJlc3VsdDsKKyAgICB1bnNpZ25lZCBpbnQgaTsKKyAgICBDdXJsX2R5bl9pbml0KCZmbmFtZSwgRFlOX1FMT0dfTkFNRSk7CisgICAgcmVzdWx0ID0gQ3VybF9keW5fYWRkKCZmbmFtZSwgcWxvZ19kaXIpOworICAgIGlmKCFyZXN1bHQpCisgICAgICByZXN1bHQgPSBDdXJsX2R5bl9hZGQoJmZuYW1lLCAiLyIpOworICAgIGZvcihpID0gMDsgKGkgPCBzY2lkbGVuKSAmJiAhcmVzdWx0OyBpKyspIHsKKyAgICAgIGNoYXIgaGV4WzNdOworICAgICAgbXNucHJpbnRmKGhleCwgMywgIiUwMngiLCBzY2lkW2ldKTsKKyAgICAgIHJlc3VsdCA9IEN1cmxfZHluX2FkZCgmZm5hbWUsIGhleCk7CisgICAgfQorICAgIGlmKCFyZXN1bHQpCisgICAgICByZXN1bHQgPSBDdXJsX2R5bl9hZGQoJmZuYW1lLCAiLnFsb2ciKTsKKworICAgIGlmKCFyZXN1bHQpIHsKKyAgICAgIGludCBxbG9nZmQgPSBvcGVuKEN1cmxfZHluX3B0cigmZm5hbWUpLCBRTE9HTU9ERSwKKyAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtPnNldC5uZXdfZmlsZV9wZXJtcyk7CisgICAgICBpZihxbG9nZmQgIT0gLTEpCisgICAgICAgICpxbG9nZmRwID0gcWxvZ2ZkOworICAgIH0KKyAgICBDdXJsX2R5bl9mcmVlKCZmbmFtZSk7CisgICAgaWYocmVzdWx0KQorICAgICAgcmV0dXJuIHJlc3VsdDsKKyAgfQorCisgIHJldHVybiBDVVJMRV9PSzsKK30KKyNlbmRpZgpkaWZmIC0tZ2l0IGEvbGliL3ZxdWljL3ZxdWljLmggYi9saWIvdnF1aWMvdnF1aWMuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lY2ZmMGVkCi0tLSAvZGV2L251bGwKKysrIGIvbGliL3ZxdWljL3ZxdWljLmgKQEAgLTAsMCArMSwzNCBAQAorI2lmbmRlZiBIRUFERVJfQ1VSTF9WUVVJQ19RVUlDX0gKKyNkZWZpbmUgSEVBREVSX0NVUkxfVlFVSUNfUVVJQ19ICisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBfICAgXyBfX19fICBfCisgKiAgUHJvamVjdCAgICAgICAgICAgICAgICAgICAgIF9fX3wgfCB8IHwgIF8gXHwgfAorICogICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8gX198IHwgfCB8IHxfKSB8IHwKKyAqICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgKF9ffCB8X3wgfCAgXyA8fCB8X19fCisgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXF9fX3xcX19fL3xffCBcX1xfX19fX3wKKyAqCisgKiBDb3B5cmlnaHQgKEMpIDE5OTggLSAyMDIwLCBEYW5pZWwgU3RlbmJlcmcsIDxkYW5pZWxAaGF4eC5zZT4sIGV0IGFsLgorICoKKyAqIFRoaXMgc29mdHdhcmUgaXMgbGljZW5zZWQgYXMgZGVzY3JpYmVkIGluIHRoZSBmaWxlIENPUFlJTkcsIHdoaWNoCisgKiB5b3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYXMgcGFydCBvZiB0aGlzIGRpc3RyaWJ1dGlvbi4gVGhlIHRlcm1zCisgKiBhcmUgYWxzbyBhdmFpbGFibGUgYXQgaHR0cHM6Ly9jdXJsLmhheHguc2UvZG9jcy9jb3B5cmlnaHQuaHRtbC4KKyAqCisgKiBZb3UgbWF5IG9wdCB0byB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsIGRpc3RyaWJ1dGUgYW5kL29yIHNlbGwKKyAqIGNvcGllcyBvZiB0aGUgU29mdHdhcmUsIGFuZCBwZXJtaXQgcGVyc29ucyB0byB3aG9tIHRoZSBTb2Z0d2FyZSBpcworICogZnVybmlzaGVkIHRvIGRvIHNvLCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIENPUFlJTkcgZmlsZS4KKyAqCisgKiBUaGlzIHNvZnR3YXJlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuICJBUyBJUyIgYmFzaXMsIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZCisgKiBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLgorICoKKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisKKyNpbmNsdWRlICJjdXJsX3NldHVwLmgiCisKKyNpZmRlZiBFTkFCTEVfUVVJQworQ1VSTGNvZGUgQ3VybF9xbG9nZGlyKHN0cnVjdCBDdXJsX2Vhc3kgKmRhdGEsCisgICAgICAgICAgICAgICAgICAgICAgdW5zaWduZWQgY2hhciAqc2NpZCwKKyAgICAgICAgICAgICAgICAgICAgICBzaXplX3Qgc2NpZGxlbiwKKyAgICAgICAgICAgICAgICAgICAgICBpbnQgKnFsb2dmZHApOworI2VuZGlmCisKKyNlbmRpZiAvKiBIRUFERVJfQ1VSTF9WUVVJQ19RVUlDX0ggKi8KZGlmZiAtLWdpdCBhL2xpYi92c3NoL2xpYnNzaDIuYyBiL2xpYi92c3NoL2xpYnNzaDIuYwppbmRleCBjNDg3Y2NhLi41NTVhZmM5IDEwMDY0NAotLS0gYS9saWIvdnNzaC9saWJzc2gyLmMKKysrIGIvbGliL3Zzc2gvbGlic3NoMi5jCkBAIC05MywxNSArOTMsMTIgQEAKICNkZWZpbmUgSEFTX1NUQVRWRlNfU1VQUE9SVCAxCiAjZW5kaWYKIAotI2RlZmluZSBzZnRwX2xpYnNzaDJfbGFzdF9lcnJvcihzKSBjdXJseF91bHRvc2kobGlic3NoMl9zZnRwX2xhc3RfZXJyb3IocykpCi0KLSNkZWZpbmUgc2Z0cF9saWJzc2gyX3JlYWxwYXRoKHMscCx0LG0pIFwKLSAgICAgICAgbGlic3NoMl9zZnRwX3N5bWxpbmtfZXgoKHMpLCAocCksIGN1cmx4X3V6dG91aShzdHJsZW4ocCkpLCBcCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICh0KSwgKG0pLCBMSUJTU0gyX1NGVFBfUkVBTFBBVEgpCi0KKyNkZWZpbmUgc2Z0cF9saWJzc2gyX3JlYWxwYXRoKHMscCx0LG0pICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgIGxpYnNzaDJfc2Z0cF9zeW1saW5rX2V4KChzKSwgKHApLCBjdXJseF91enRvdWkoc3RybGVuKHApKSwgICAgXAorICAgICAgICAgICAgICAgICAgICAgICAgICAodCksIChtKSwgTElCU1NIMl9TRlRQX1JFQUxQQVRIKQogCiAvKiBMb2NhbCBmdW5jdGlvbnM6ICovCi1zdGF0aWMgY29uc3QgY2hhciAqc2Z0cF9saWJzc2gyX3N0cmVycm9yKGludCBlcnIpOworc3RhdGljIGNvbnN0IGNoYXIgKnNmdHBfbGlic3NoMl9zdHJlcnJvcih1bnNpZ25lZCBsb25nIGVycik7CiBzdGF0aWMgTElCU1NIMl9BTExPQ19GVU5DKG15X2xpYnNzaDJfbWFsbG9jKTsKIHN0YXRpYyBMSUJTU0gyX1JFQUxMT0NfRlVOQyhteV9saWJzc2gyX3JlYWxsb2MpOwogc3RhdGljIExJQlNTSDJfRlJFRV9GVU5DKG15X2xpYnNzaDJfZnJlZSk7CkBAIC0yMTMsNyArMjEwLDcgQEAKICAgKHZvaWQpYWJzdHJhY3Q7CiB9IC8qIGtiZF9jYWxsYmFjayAqLwogCi1zdGF0aWMgQ1VSTGNvZGUgc2Z0cF9saWJzc2gyX2Vycm9yX3RvX0NVUkxFKGludCBlcnIpCitzdGF0aWMgQ1VSTGNvZGUgc2Z0cF9saWJzc2gyX2Vycm9yX3RvX0NVUkxFKHVuc2lnbmVkIGxvbmcgZXJyKQogewogICBzd2l0Y2goZXJyKSB7CiAgICAgY2FzZSBMSUJTU0gyX0ZYX09LOgpAQCAtNzk1LDEwICs3OTIsMTEgQEAKICAgc3RydWN0IFNTSFBST1RPICpzZnRwX3NjcCA9IGRhdGEtPnJlcS5wcm90b3A7CiAgIHN0cnVjdCBzc2hfY29ubiAqc3NoYyA9ICZjb25uLT5wcm90by5zc2hjOwogICBjdXJsX3NvY2tldF90IHNvY2sgPSBjb25uLT5zb2NrW0ZJUlNUU09DS0VUXTsKLSAgY2hhciAqbmV3X3JlYWRkaXJfbGluZTsKICAgaW50IHJjID0gTElCU1NIMl9FUlJPUl9OT05FOwotICBpbnQgZXJyOworICBpbnQgc3NoZXJyOworICB1bnNpZ25lZCBsb25nIHNmdHBlcnI7CiAgIGludCBzZWVrZXJyID0gQ1VSTF9TRUVLRlVOQ19PSzsKKyAgc2l6ZV90IHJlYWRkaXJfbGVuOwogICAqYmxvY2sgPSAwOyAvKiB3ZSdyZSBub3QgYmxvY2tpbmcgYnkgZGVmYXVsdCAqLwogCiAgIGRvIHsKQEAgLTg3NCwxMiArODcyLDEyIEBACiAgICAgICAgICAgc3RhdGUoY29ubiwgU1NIX0FVVEhfRE9ORSk7CiAgICAgICAgICAgYnJlYWs7CiAgICAgICAgIH0KLSAgICAgICAgZXJyID0gbGlic3NoMl9zZXNzaW9uX2xhc3RfZXJybm8oc3NoYy0+c3NoX3Nlc3Npb24pOwotICAgICAgICBpZihlcnIgPT0gTElCU1NIMl9FUlJPUl9FQUdBSU4pCisgICAgICAgIHNzaGVyciA9IGxpYnNzaDJfc2Vzc2lvbl9sYXN0X2Vycm5vKHNzaGMtPnNzaF9zZXNzaW9uKTsKKyAgICAgICAgaWYoc3NoZXJyID09IExJQlNTSDJfRVJST1JfRUFHQUlOKQogICAgICAgICAgIHJjID0gTElCU1NIMl9FUlJPUl9FQUdBSU47CiAgICAgICAgIGVsc2UgewogICAgICAgICAgIHN0YXRlKGNvbm4sIFNTSF9TRVNTSU9OX0ZSRUUpOwotICAgICAgICAgIHNzaGMtPmFjdHVhbGNvZGUgPSBsaWJzc2gyX3Nlc3Npb25fZXJyb3JfdG9fQ1VSTEUoZXJyKTsKKyAgICAgICAgICBzc2hjLT5hY3R1YWxjb2RlID0gbGlic3NoMl9zZXNzaW9uX2Vycm9yX3RvX0NVUkxFKHNzaGVycik7CiAgICAgICAgIH0KICAgICAgICAgYnJlYWs7CiAgICAgICB9CkBAIC0xMjQ5LDE2ICsxMjQ3LDE2IEBACiAgICAgICB9CiAgICAgICBlbHNlIHsKICAgICAgICAgLyogUmV0dXJuIHRoZSBlcnJvciB0eXBlICovCi0gICAgICAgIGVyciA9IHNmdHBfbGlic3NoMl9sYXN0X2Vycm9yKHNzaGMtPnNmdHBfc2Vzc2lvbik7Ci0gICAgICAgIGlmKGVycikKLSAgICAgICAgICByZXN1bHQgPSBzZnRwX2xpYnNzaDJfZXJyb3JfdG9fQ1VSTEUoZXJyKTsKKyAgICAgICAgc2Z0cGVyciA9IGxpYnNzaDJfc2Z0cF9sYXN0X2Vycm9yKHNzaGMtPnNmdHBfc2Vzc2lvbik7CisgICAgICAgIGlmKHNmdHBlcnIpCisgICAgICAgICAgcmVzdWx0ID0gc2Z0cF9saWJzc2gyX2Vycm9yX3RvX0NVUkxFKHNmdHBlcnIpOwogICAgICAgICBlbHNlCiAgICAgICAgICAgLyogaW4gdGhpcyBjYXNlLCB0aGUgZXJyb3Igd2Fzbid0IGluIHRoZSBTRlRQIGxldmVsIGJ1dCBmb3IgZXhhbXBsZQogICAgICAgICAgICAgIGEgdGltZS1vdXQgb3Igc2ltaWxhciAqLwogICAgICAgICAgIHJlc3VsdCA9IENVUkxFX1NTSDsKICAgICAgICAgc3NoYy0+YWN0dWFsY29kZSA9IHJlc3VsdDsKICAgICAgICAgREVCVUdGKGluZm9mKGRhdGEsICJlcnJvciA9ICVkIG1ha2VzIGxpYmN1cmwgPSAlZFxuIiwKLSAgICAgICAgICAgICAgICAgICAgIGVyciwgKGludClyZXN1bHQpKTsKKyAgICAgICAgICAgICAgICAgICAgIHNzaGVyciwgKGludClyZXN1bHQpKTsKICAgICAgICAgc3RhdGUoY29ubiwgU1NIX1NUT1ApOwogICAgICAgICBicmVhazsKICAgICAgIH0KQEAgLTEzNjAsNyArMTM1OCw4IEBACiAgICAgICAgICAqLwogICAgICAgICBjcCA9IHN0cmNocihjbWQsICcgJyk7CiAgICAgICAgIGlmKGNwID09IE5VTEwpIHsKLSAgICAgICAgICBmYWlsZihkYXRhLCAiU3ludGF4IGVycm9yIGluIFNGVFAgY29tbWFuZC4gU3VwcGx5IHBhcmFtZXRlcihzKSEiKTsKKyAgICAgICAgICBmYWlsZihkYXRhLCAiU3ludGF4IGVycm9yIGNvbW1hbmQgJyVzJy4gTWlzc2luZyBwYXJhbWV0ZXIhIiwKKyAgICAgICAgICAgICAgICBjbWQpOwogICAgICAgICAgIHN0YXRlKGNvbm4sIFNTSF9TRlRQX0NMT1NFKTsKICAgICAgICAgICBzc2hjLT5uZXh0c3RhdGUgPSBTU0hfTk9fU1RBVEU7CiAgICAgICAgICAgc3NoYy0+YWN0dWFsY29kZSA9IENVUkxFX1FVT1RFX0VSUk9SOwpAQCAtMTM3Niw3ICsxMzc1LDcgQEAKICAgICAgICAgICBpZihyZXN1bHQgPT0gQ1VSTEVfT1VUX09GX01FTU9SWSkKICAgICAgICAgICAgIGZhaWxmKGRhdGEsICJPdXQgb2YgbWVtb3J5Iik7CiAgICAgICAgICAgZWxzZQotICAgICAgICAgICAgZmFpbGYoZGF0YSwgIlN5bnRheCBlcnJvcjogQmFkIGZpcnN0IHBhcmFtZXRlciIpOworICAgICAgICAgICAgZmFpbGYoZGF0YSwgIlN5bnRheCBlcnJvcjogQmFkIGZpcnN0IHBhcmFtZXRlciB0byAnJXMnIiwgY21kKTsKICAgICAgICAgICBzdGF0ZShjb25uLCBTU0hfU0ZUUF9DTE9TRSk7CiAgICAgICAgICAgc3NoYy0+bmV4dHN0YXRlID0gU1NIX05PX1NUQVRFOwogICAgICAgICAgIHNzaGMtPmFjdHVhbGNvZGUgPSByZXN1bHQ7CkBAIC0xNDAxLDggKzE0MDAsNyBAQAogICAgICAgICAgICAgaWYocmVzdWx0ID09IENVUkxFX09VVF9PRl9NRU1PUlkpCiAgICAgICAgICAgICAgIGZhaWxmKGRhdGEsICJPdXQgb2YgbWVtb3J5Iik7CiAgICAgICAgICAgICBlbHNlCi0gICAgICAgICAgICAgIGZhaWxmKGRhdGEsICJTeW50YXggZXJyb3IgaW4gY2hncnAvY2htb2QvY2hvd246ICIKLSAgICAgICAgICAgICAgICAgICAgIkJhZCBzZWNvbmQgcGFyYW1ldGVyIik7CisgICAgICAgICAgICAgIGZhaWxmKGRhdGEsICJTeW50YXggZXJyb3IgaW4gJXM6IEJhZCBzZWNvbmQgcGFyYW1ldGVyIiwgY21kKTsKICAgICAgICAgICAgIEN1cmxfc2FmZWZyZWUoc3NoYy0+cXVvdGVfcGF0aDEpOwogICAgICAgICAgICAgc3RhdGUoY29ubiwgU1NIX1NGVFBfQ0xPU0UpOwogICAgICAgICAgICAgc3NoYy0+bmV4dHN0YXRlID0gU1NIX05PX1NUQVRFOwpAQCAtMTUzMywxMSArMTUzMSwxMSBAQAogICAgICAgICAgIGJyZWFrOwogICAgICAgICB9CiAgICAgICAgIGlmKHJjICE9IDAgJiYgIXNzaGMtPmFjY2VwdGZhaWwpIHsgLyogZ2V0IHRob3NlIGF0dHJpYnV0ZXMgKi8KLSAgICAgICAgICBlcnIgPSBzZnRwX2xpYnNzaDJfbGFzdF9lcnJvcihzc2hjLT5zZnRwX3Nlc3Npb24pOworICAgICAgICAgIHNmdHBlcnIgPSBsaWJzc2gyX3NmdHBfbGFzdF9lcnJvcihzc2hjLT5zZnRwX3Nlc3Npb24pOwogICAgICAgICAgIEN1cmxfc2FmZWZyZWUoc3NoYy0+cXVvdGVfcGF0aDEpOwogICAgICAgICAgIEN1cmxfc2FmZWZyZWUoc3NoYy0+cXVvdGVfcGF0aDIpOwogICAgICAgICAgIGZhaWxmKGRhdGEsICJBdHRlbXB0IHRvIGdldCBTRlRQIHN0YXRzIGZhaWxlZDogJXMiLAotICAgICAgICAgICAgICAgIHNmdHBfbGlic3NoMl9zdHJlcnJvcihlcnIpKTsKKyAgICAgICAgICAgICAgICBzZnRwX2xpYnNzaDJfc3RyZXJyb3Ioc2Z0cGVycikpOwogICAgICAgICAgIHN0YXRlKGNvbm4sIFNTSF9TRlRQX0NMT1NFKTsKICAgICAgICAgICBzc2hjLT5uZXh0c3RhdGUgPSBTU0hfTk9fU1RBVEU7CiAgICAgICAgICAgc3NoYy0+YWN0dWFsY29kZSA9IENVUkxFX1FVT1RFX0VSUk9SOwpAQCAtMTYwNCwxMSArMTYwMiwxMSBAQAogICAgICAgICBicmVhazsKICAgICAgIH0KICAgICAgIGlmKHJjICE9IDAgJiYgIXNzaGMtPmFjY2VwdGZhaWwpIHsKLSAgICAgICAgZXJyID0gc2Z0cF9saWJzc2gyX2xhc3RfZXJyb3Ioc3NoYy0+c2Z0cF9zZXNzaW9uKTsKKyAgICAgICAgc2Z0cGVyciA9IGxpYnNzaDJfc2Z0cF9sYXN0X2Vycm9yKHNzaGMtPnNmdHBfc2Vzc2lvbik7CiAgICAgICAgIEN1cmxfc2FmZWZyZWUoc3NoYy0+cXVvdGVfcGF0aDEpOwogICAgICAgICBDdXJsX3NhZmVmcmVlKHNzaGMtPnF1b3RlX3BhdGgyKTsKICAgICAgICAgZmFpbGYoZGF0YSwgIkF0dGVtcHQgdG8gc2V0IFNGVFAgc3RhdHMgZmFpbGVkOiAlcyIsCi0gICAgICAgICAgICAgIHNmdHBfbGlic3NoMl9zdHJlcnJvcihlcnIpKTsKKyAgICAgICAgICAgICAgc2Z0cF9saWJzc2gyX3N0cmVycm9yKHNmdHBlcnIpKTsKICAgICAgICAgc3RhdGUoY29ubiwgU1NIX1NGVFBfQ0xPU0UpOwogICAgICAgICBzc2hjLT5uZXh0c3RhdGUgPSBTU0hfTk9fU1RBVEU7CiAgICAgICAgIHNzaGMtPmFjdHVhbGNvZGUgPSBDVVJMRV9RVU9URV9FUlJPUjsKQEAgLTE2MjcsMTEgKzE2MjUsMTEgQEAKICAgICAgICAgYnJlYWs7CiAgICAgICB9CiAgICAgICBpZihyYyAhPSAwICYmICFzc2hjLT5hY2NlcHRmYWlsKSB7Ci0gICAgICAgIGVyciA9IHNmdHBfbGlic3NoMl9sYXN0X2Vycm9yKHNzaGMtPnNmdHBfc2Vzc2lvbik7CisgICAgICAgIHNmdHBlcnIgPSBsaWJzc2gyX3NmdHBfbGFzdF9lcnJvcihzc2hjLT5zZnRwX3Nlc3Npb24pOwogICAgICAgICBDdXJsX3NhZmVmcmVlKHNzaGMtPnF1b3RlX3BhdGgxKTsKICAgICAgICAgQ3VybF9zYWZlZnJlZShzc2hjLT5xdW90ZV9wYXRoMik7CiAgICAgICAgIGZhaWxmKGRhdGEsICJzeW1saW5rIGNvbW1hbmQgZmFpbGVkOiAlcyIsCi0gICAgICAgICAgICAgIHNmdHBfbGlic3NoMl9zdHJlcnJvcihlcnIpKTsKKyAgICAgICAgICAgICAgc2Z0cF9saWJzc2gyX3N0cmVycm9yKHNmdHBlcnIpKTsKICAgICAgICAgc3RhdGUoY29ubiwgU1NIX1NGVFBfQ0xPU0UpOwogICAgICAgICBzc2hjLT5uZXh0c3RhdGUgPSBTU0hfTk9fU1RBVEU7CiAgICAgICAgIHNzaGMtPmFjdHVhbGNvZGUgPSBDVVJMRV9RVU9URV9FUlJPUjsKQEAgLTE2NDgsOSArMTY0NiwxMCBAQAogICAgICAgICBicmVhazsKICAgICAgIH0KICAgICAgIGlmKHJjICE9IDAgJiYgIXNzaGMtPmFjY2VwdGZhaWwpIHsKLSAgICAgICAgZXJyID0gc2Z0cF9saWJzc2gyX2xhc3RfZXJyb3Ioc3NoYy0+c2Z0cF9zZXNzaW9uKTsKKyAgICAgICAgc2Z0cGVyciA9IGxpYnNzaDJfc2Z0cF9sYXN0X2Vycm9yKHNzaGMtPnNmdHBfc2Vzc2lvbik7CiAgICAgICAgIEN1cmxfc2FmZWZyZWUoc3NoYy0+cXVvdGVfcGF0aDEpOwotICAgICAgICBmYWlsZihkYXRhLCAibWtkaXIgY29tbWFuZCBmYWlsZWQ6ICVzIiwgc2Z0cF9saWJzc2gyX3N0cmVycm9yKGVycikpOworICAgICAgICBmYWlsZihkYXRhLCAibWtkaXIgY29tbWFuZCBmYWlsZWQ6ICVzIiwKKyAgICAgICAgICAgICAgc2Z0cF9saWJzc2gyX3N0cmVycm9yKHNmdHBlcnIpKTsKICAgICAgICAgc3RhdGUoY29ubiwgU1NIX1NGVFBfQ0xPU0UpOwogICAgICAgICBzc2hjLT5uZXh0c3RhdGUgPSBTU0hfTk9fU1RBVEU7CiAgICAgICAgIHNzaGMtPmFjdHVhbGNvZGUgPSBDVVJMRV9RVU9URV9FUlJPUjsKQEAgLTE2NzIsMTAgKzE2NzEsMTEgQEAKICAgICAgICAgYnJlYWs7CiAgICAgICB9CiAgICAgICBpZihyYyAhPSAwICYmICFzc2hjLT5hY2NlcHRmYWlsKSB7Ci0gICAgICAgIGVyciA9IHNmdHBfbGlic3NoMl9sYXN0X2Vycm9yKHNzaGMtPnNmdHBfc2Vzc2lvbik7CisgICAgICAgIHNmdHBlcnIgPSBsaWJzc2gyX3NmdHBfbGFzdF9lcnJvcihzc2hjLT5zZnRwX3Nlc3Npb24pOwogICAgICAgICBDdXJsX3NhZmVmcmVlKHNzaGMtPnF1b3RlX3BhdGgxKTsKICAgICAgICAgQ3VybF9zYWZlZnJlZShzc2hjLT5xdW90ZV9wYXRoMik7Ci0gICAgICAgIGZhaWxmKGRhdGEsICJyZW5hbWUgY29tbWFuZCBmYWlsZWQ6ICVzIiwgc2Z0cF9saWJzc2gyX3N0cmVycm9yKGVycikpOworICAgICAgICBmYWlsZihkYXRhLCAicmVuYW1lIGNvbW1hbmQgZmFpbGVkOiAlcyIsCisgICAgICAgICAgICAgIHNmdHBfbGlic3NoMl9zdHJlcnJvcihzZnRwZXJyKSk7CiAgICAgICAgIHN0YXRlKGNvbm4sIFNTSF9TRlRQX0NMT1NFKTsKICAgICAgICAgc3NoYy0+bmV4dHN0YXRlID0gU1NIX05PX1NUQVRFOwogICAgICAgICBzc2hjLT5hY3R1YWxjb2RlID0gQ1VSTEVfUVVPVEVfRVJST1I7CkBAIC0xNjkxLDkgKzE2OTEsMTAgQEAKICAgICAgICAgYnJlYWs7CiAgICAgICB9CiAgICAgICBpZihyYyAhPSAwICYmICFzc2hjLT5hY2NlcHRmYWlsKSB7Ci0gICAgICAgIGVyciA9IHNmdHBfbGlic3NoMl9sYXN0X2Vycm9yKHNzaGMtPnNmdHBfc2Vzc2lvbik7CisgICAgICAgIHNmdHBlcnIgPSBsaWJzc2gyX3NmdHBfbGFzdF9lcnJvcihzc2hjLT5zZnRwX3Nlc3Npb24pOwogICAgICAgICBDdXJsX3NhZmVmcmVlKHNzaGMtPnF1b3RlX3BhdGgxKTsKLSAgICAgICAgZmFpbGYoZGF0YSwgInJtZGlyIGNvbW1hbmQgZmFpbGVkOiAlcyIsIHNmdHBfbGlic3NoMl9zdHJlcnJvcihlcnIpKTsKKyAgICAgICAgZmFpbGYoZGF0YSwgInJtZGlyIGNvbW1hbmQgZmFpbGVkOiAlcyIsCisgICAgICAgICAgICAgIHNmdHBfbGlic3NoMl9zdHJlcnJvcihzZnRwZXJyKSk7CiAgICAgICAgIHN0YXRlKGNvbm4sIFNTSF9TRlRQX0NMT1NFKTsKICAgICAgICAgc3NoYy0+bmV4dHN0YXRlID0gU1NIX05PX1NUQVRFOwogICAgICAgICBzc2hjLT5hY3R1YWxjb2RlID0gQ1VSTEVfUVVPVEVfRVJST1I7CkBAIC0xNzA5LDkgKzE3MTAsOSBAQAogICAgICAgICBicmVhazsKICAgICAgIH0KICAgICAgIGlmKHJjICE9IDAgJiYgIXNzaGMtPmFjY2VwdGZhaWwpIHsKLSAgICAgICAgZXJyID0gc2Z0cF9saWJzc2gyX2xhc3RfZXJyb3Ioc3NoYy0+c2Z0cF9zZXNzaW9uKTsKKyAgICAgICAgc2Z0cGVyciA9IGxpYnNzaDJfc2Z0cF9sYXN0X2Vycm9yKHNzaGMtPnNmdHBfc2Vzc2lvbik7CiAgICAgICAgIEN1cmxfc2FmZWZyZWUoc3NoYy0+cXVvdGVfcGF0aDEpOwotICAgICAgICBmYWlsZihkYXRhLCAicm0gY29tbWFuZCBmYWlsZWQ6ICVzIiwgc2Z0cF9saWJzc2gyX3N0cmVycm9yKGVycikpOworICAgICAgICBmYWlsZihkYXRhLCAicm0gY29tbWFuZCBmYWlsZWQ6ICVzIiwgc2Z0cF9saWJzc2gyX3N0cmVycm9yKHNmdHBlcnIpKTsKICAgICAgICAgc3RhdGUoY29ubiwgU1NIX1NGVFBfQ0xPU0UpOwogICAgICAgICBzc2hjLT5uZXh0c3RhdGUgPSBTU0hfTk9fU1RBVEU7CiAgICAgICAgIHNzaGMtPmFjdHVhbGNvZGUgPSBDVVJMRV9RVU9URV9FUlJPUjsKQEAgLTE3MzIsOSArMTczMywxMCBAQAogICAgICAgICBicmVhazsKICAgICAgIH0KICAgICAgIGlmKHJjICE9IDAgJiYgIXNzaGMtPmFjY2VwdGZhaWwpIHsKLSAgICAgICAgZXJyID0gc2Z0cF9saWJzc2gyX2xhc3RfZXJyb3Ioc3NoYy0+c2Z0cF9zZXNzaW9uKTsKKyAgICAgICAgc2Z0cGVyciA9IGxpYnNzaDJfc2Z0cF9sYXN0X2Vycm9yKHNzaGMtPnNmdHBfc2Vzc2lvbik7CiAgICAgICAgIEN1cmxfc2FmZWZyZWUoc3NoYy0+cXVvdGVfcGF0aDEpOwotICAgICAgICBmYWlsZihkYXRhLCAic3RhdHZmcyBjb21tYW5kIGZhaWxlZDogJXMiLCBzZnRwX2xpYnNzaDJfc3RyZXJyb3IoZXJyKSk7CisgICAgICAgIGZhaWxmKGRhdGEsICJzdGF0dmZzIGNvbW1hbmQgZmFpbGVkOiAlcyIsCisgICAgICAgICAgICAgIHNmdHBfbGlic3NoMl9zdHJlcnJvcihzZnRwZXJyKSk7CiAgICAgICAgIHN0YXRlKGNvbm4sIFNTSF9TRlRQX0NMT1NFKTsKICAgICAgICAgc3NoYy0+bmV4dHN0YXRlID0gU1NIX05PX1NUQVRFOwogICAgICAgICBzc2hjLT5hY3R1YWxjb2RlID0gQ1VSTEVfUVVPVEVfRVJST1I7CkBAIC0xODcxLDIxICsxODczLDIxIEBACiAgICAgICAgIGlmKExJQlNTSDJfRVJST1JfU0ZUUF9QUk9UT0NPTCA9PSByYykKICAgICAgICAgICAvKiBvbmx5IHdoZW4gdGhlcmUgd2FzIGFuIFNGVFAgcHJvdG9jb2wgZXJyb3IgY2FuIHdlIGV4dHJhY3QKICAgICAgICAgICAgICB0aGUgc2Z0cCBlcnJvciEgKi8KLSAgICAgICAgICBlcnIgPSBzZnRwX2xpYnNzaDJfbGFzdF9lcnJvcihzc2hjLT5zZnRwX3Nlc3Npb24pOworICAgICAgICAgIHNmdHBlcnIgPSBsaWJzc2gyX3NmdHBfbGFzdF9lcnJvcihzc2hjLT5zZnRwX3Nlc3Npb24pOwogICAgICAgICBlbHNlCi0gICAgICAgICAgZXJyID0gLTE7IC8qIG5vdCBhbiBzZnRwIGVycm9yIGF0IGFsbCAqLworICAgICAgICAgIHNmdHBlcnIgPSBMSUJTU0gyX0ZYX09LOyAvKiBub3QgYW4gc2Z0cCBlcnJvciBhdCBhbGwgKi8KIAogICAgICAgICBpZihzc2hjLT5zZWNvbmRDcmVhdGVEaXJzKSB7CiAgICAgICAgICAgc3RhdGUoY29ubiwgU1NIX1NGVFBfQ0xPU0UpOwotICAgICAgICAgIHNzaGMtPmFjdHVhbGNvZGUgPSBlcnI+PSBMSUJTU0gyX0ZYX09LPwotICAgICAgICAgICAgc2Z0cF9saWJzc2gyX2Vycm9yX3RvX0NVUkxFKGVycik6Q1VSTEVfU1NIOworICAgICAgICAgIHNzaGMtPmFjdHVhbGNvZGUgPSBzZnRwZXJyICE9IExJQlNTSDJfRlhfT0sgPworICAgICAgICAgICAgc2Z0cF9saWJzc2gyX2Vycm9yX3RvX0NVUkxFKHNmdHBlcnIpOkNVUkxFX1NTSDsKICAgICAgICAgICBmYWlsZihkYXRhLCAiQ3JlYXRpbmcgdGhlIGRpci9maWxlIGZhaWxlZDogJXMiLAotICAgICAgICAgICAgICAgIHNmdHBfbGlic3NoMl9zdHJlcnJvcihlcnIpKTsKKyAgICAgICAgICAgICAgICBzZnRwX2xpYnNzaDJfc3RyZXJyb3Ioc2Z0cGVycikpOwogICAgICAgICAgIGJyZWFrOwogICAgICAgICB9Ci0gICAgICAgIGlmKCgoZXJyID09IExJQlNTSDJfRlhfTk9fU1VDSF9GSUxFKSB8fAotICAgICAgICAgICAgKGVyciA9PSBMSUJTU0gyX0ZYX0ZBSUxVUkUpIHx8Ci0gICAgICAgICAgICAoZXJyID09IExJQlNTSDJfRlhfTk9fU1VDSF9QQVRIKSkgJiYKKyAgICAgICAgaWYoKChzZnRwZXJyID09IExJQlNTSDJfRlhfTk9fU1VDSF9GSUxFKSB8fAorICAgICAgICAgICAgKHNmdHBlcnIgPT0gTElCU1NIMl9GWF9GQUlMVVJFKSB8fAorICAgICAgICAgICAgKHNmdHBlcnIgPT0gTElCU1NIMl9GWF9OT19TVUNIX1BBVEgpKSAmJgogICAgICAgICAgICAoZGF0YS0+c2V0LmZ0cF9jcmVhdGVfbWlzc2luZ19kaXJzICYmCiAgICAgICAgICAgICAoc3RybGVuKHNmdHBfc2NwLT5wYXRoKSA+IDEpKSkgewogICAgICAgICAgIC8qIHRyeSB0byBjcmVhdGUgdGhlIHBhdGggcmVtb3RlbHkgKi8KQEAgLTE4OTUsMTggKzE4OTcsMTkgQEAKICAgICAgICAgICBicmVhazsKICAgICAgICAgfQogICAgICAgICBzdGF0ZShjb25uLCBTU0hfU0ZUUF9DTE9TRSk7Ci0gICAgICAgIHNzaGMtPmFjdHVhbGNvZGUgPSBlcnI+PSBMSUJTU0gyX0ZYX09LPwotICAgICAgICAgIHNmdHBfbGlic3NoMl9lcnJvcl90b19DVVJMRShlcnIpOkNVUkxFX1NTSDsKKyAgICAgICAgc3NoYy0+YWN0dWFsY29kZSA9IHNmdHBlcnIgIT0gTElCU1NIMl9GWF9PSyA/CisgICAgICAgICAgc2Z0cF9saWJzc2gyX2Vycm9yX3RvX0NVUkxFKHNmdHBlcnIpOkNVUkxFX1NTSDsKICAgICAgICAgaWYoIXNzaGMtPmFjdHVhbGNvZGUpIHsKLSAgICAgICAgICAvKiBTb21ldGltZXMsIGZvciBzb21lIHJlYXNvbiBsaWJzc2gyX3NmdHBfbGFzdF9lcnJvcigpIHJldHVybnMKLSAgICAgICAgICAgICB6ZXJvIGV2ZW4gdGhvdWdoIGxpYnNzaDJfc2Z0cF9vcGVuKCkgZmFpbGVkIHByZXZpb3VzbHkhIFdlIG5lZWQKLSAgICAgICAgICAgICB0byB3b3JrIGFyb3VuZCB0aGF0ISAqLworICAgICAgICAgIC8qIFNvbWV0aW1lcywgZm9yIHNvbWUgcmVhc29uIGxpYnNzaDJfc2Z0cF9sYXN0X2Vycm9yKCkgcmV0dXJucyB6ZXJvCisgICAgICAgICAgICAgZXZlbiB0aG91Z2ggbGlic3NoMl9zZnRwX29wZW4oKSBmYWlsZWQgcHJldmlvdXNseSEgV2UgbmVlZCB0bworICAgICAgICAgICAgIHdvcmsgYXJvdW5kIHRoYXQhICovCiAgICAgICAgICAgc3NoYy0+YWN0dWFsY29kZSA9IENVUkxFX1NTSDsKLSAgICAgICAgICBlcnIgPSAtMTsKKyAgICAgICAgICBzZnRwZXJyID0gTElCU1NIMl9GWF9PSzsKICAgICAgICAgfQogICAgICAgICBmYWlsZihkYXRhLCAiVXBsb2FkIGZhaWxlZDogJXMgKCVkLyVkKSIsCi0gICAgICAgICAgICAgIGVycj49IExJQlNTSDJfRlhfT0s/c2Z0cF9saWJzc2gyX3N0cmVycm9yKGVycik6InNzaCBlcnJvciIsCi0gICAgICAgICAgICAgIGVyciwgcmMpOworICAgICAgICAgICAgICBzZnRwZXJyICE9IExJQlNTSDJfRlhfT0sgPworICAgICAgICAgICAgICBzZnRwX2xpYnNzaDJfc3RyZXJyb3Ioc2Z0cGVycik6InNzaCBlcnJvciIsCisgICAgICAgICAgICAgIHNmdHBlcnIsIHJjKTsKICAgICAgICAgYnJlYWs7CiAgICAgICB9CiAKQEAgLTIwMzMsMTEgKzIwMzYsMTEgQEAKICAgICAgICAgICogcGVybWlzc2lvbiB3YXMgZGVuaWVkIChjcmVhdGlvbiBtaWdodCBzdWNjZWVkIGZ1cnRoZXIgZG93biB0aGUKICAgICAgICAgICogcGF0aCkgLSByZXRyeSBvbiB1bnNwZWNpZmljIEZBSUxVUkUgYWxzbwogICAgICAgICAgKi8KLSAgICAgICAgZXJyID0gc2Z0cF9saWJzc2gyX2xhc3RfZXJyb3Ioc3NoYy0+c2Z0cF9zZXNzaW9uKTsKLSAgICAgICAgaWYoKGVyciAhPSBMSUJTU0gyX0ZYX0ZJTEVfQUxSRUFEWV9FWElTVFMpICYmCi0gICAgICAgICAgIChlcnIgIT0gTElCU1NIMl9GWF9GQUlMVVJFKSAmJgotICAgICAgICAgICAoZXJyICE9IExJQlNTSDJfRlhfUEVSTUlTU0lPTl9ERU5JRUQpKSB7Ci0gICAgICAgICAgcmVzdWx0ID0gc2Z0cF9saWJzc2gyX2Vycm9yX3RvX0NVUkxFKGVycik7CisgICAgICAgIHNmdHBlcnIgPSBsaWJzc2gyX3NmdHBfbGFzdF9lcnJvcihzc2hjLT5zZnRwX3Nlc3Npb24pOworICAgICAgICBpZigoc2Z0cGVyciAhPSBMSUJTU0gyX0ZYX0ZJTEVfQUxSRUFEWV9FWElTVFMpICYmCisgICAgICAgICAgIChzZnRwZXJyICE9IExJQlNTSDJfRlhfRkFJTFVSRSkgJiYKKyAgICAgICAgICAgKHNmdHBlcnIgIT0gTElCU1NIMl9GWF9QRVJNSVNTSU9OX0RFTklFRCkpIHsKKyAgICAgICAgICByZXN1bHQgPSBzZnRwX2xpYnNzaDJfZXJyb3JfdG9fQ1VSTEUoc2Z0cGVycik7CiAgICAgICAgICAgc3RhdGUoY29ubiwgU1NIX1NGVFBfQ0xPU0UpOwogICAgICAgICAgIHNzaGMtPmFjdHVhbGNvZGUgPSByZXN1bHQ/cmVzdWx0OkNVUkxFX1NTSDsKICAgICAgICAgICBicmVhazsKQEAgLTIwNjksMTEgKzIwNzIsMTEgQEAKICAgICAgICAgICByYyA9IExJQlNTSDJfRVJST1JfRUFHQUlOOwogICAgICAgICAgIGJyZWFrOwogICAgICAgICB9Ci0gICAgICAgIGVyciA9IHNmdHBfbGlic3NoMl9sYXN0X2Vycm9yKHNzaGMtPnNmdHBfc2Vzc2lvbik7CisgICAgICAgIHNmdHBlcnIgPSBsaWJzc2gyX3NmdHBfbGFzdF9lcnJvcihzc2hjLT5zZnRwX3Nlc3Npb24pOwogICAgICAgICBmYWlsZihkYXRhLCAiQ291bGQgbm90IG9wZW4gZGlyZWN0b3J5IGZvciByZWFkaW5nOiAlcyIsCi0gICAgICAgICAgICAgIHNmdHBfbGlic3NoMl9zdHJlcnJvcihlcnIpKTsKKyAgICAgICAgICAgICAgc2Z0cF9saWJzc2gyX3N0cmVycm9yKHNmdHBlcnIpKTsKICAgICAgICAgc3RhdGUoY29ubiwgU1NIX1NGVFBfQ0xPU0UpOwotICAgICAgICByZXN1bHQgPSBzZnRwX2xpYnNzaDJfZXJyb3JfdG9fQ1VSTEUoZXJyKTsKKyAgICAgICAgcmVzdWx0ID0gc2Z0cF9saWJzc2gyX2Vycm9yX3RvX0NVUkxFKHNmdHBlcnIpOwogICAgICAgICBzc2hjLT5hY3R1YWxjb2RlID0gcmVzdWx0P3Jlc3VsdDpDVVJMRV9TU0g7CiAgICAgICAgIGJyZWFrOwogICAgICAgfQpAQCAtMjA5MCw2ICsyMDkzLDcgQEAKICAgICAgICAgc3NoYy0+YWN0dWFsY29kZSA9IENVUkxFX09VVF9PRl9NRU1PUlk7CiAgICAgICAgIGJyZWFrOwogICAgICAgfQorICAgICAgQ3VybF9keW5faW5pdCgmc3NoYy0+cmVhZGRpciwgUEFUSF9NQVggKiAyKTsKICAgICAgIHN0YXRlKGNvbm4sIFNTSF9TRlRQX1JFQURESVIpOwogICAgICAgYnJlYWs7CiAKQEAgLTIxMDQsNjggKzIxMDgsNTEgQEAKICAgICAgICAgYnJlYWs7CiAgICAgICB9CiAgICAgICBpZihyYyA+IDApIHsKLSAgICAgICAgc3NoYy0+cmVhZGRpcl9sZW4gPSAoc2l6ZV90KSByYzsKLSAgICAgICAgc3NoYy0+cmVhZGRpcl9maWxlbmFtZVtzc2hjLT5yZWFkZGlyX2xlbl0gPSAnXDAnOworICAgICAgICByZWFkZGlyX2xlbiA9IChzaXplX3QpIHJjOworICAgICAgICBzc2hjLT5yZWFkZGlyX2ZpbGVuYW1lW3JlYWRkaXJfbGVuXSA9ICdcMCc7CiAKICAgICAgICAgaWYoZGF0YS0+c2V0LmZ0cF9saXN0X29ubHkpIHsKLSAgICAgICAgICBjaGFyICp0bXBMaW5lOwotCi0gICAgICAgICAgdG1wTGluZSA9IGFwcmludGYoIiVzXG4iLCBzc2hjLT5yZWFkZGlyX2ZpbGVuYW1lKTsKLSAgICAgICAgICBpZih0bXBMaW5lID09IE5VTEwpIHsKLSAgICAgICAgICAgIHN0YXRlKGNvbm4sIFNTSF9TRlRQX0NMT1NFKTsKLSAgICAgICAgICAgIHNzaGMtPmFjdHVhbGNvZGUgPSBDVVJMRV9PVVRfT0ZfTUVNT1JZOwotICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgICAgfQogICAgICAgICAgIHJlc3VsdCA9IEN1cmxfY2xpZW50X3dyaXRlKGNvbm4sIENMSUVOVFdSSVRFX0JPRFksCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdG1wTGluZSwgc3NoYy0+cmVhZGRpcl9sZW4gKyAxKTsKLSAgICAgICAgICBmcmVlKHRtcExpbmUpOwotCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3NoYy0+cmVhZGRpcl9maWxlbmFtZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZWFkZGlyX2xlbik7CisgICAgICAgICAgaWYoIXJlc3VsdCkKKyAgICAgICAgICAgIHJlc3VsdCA9IEN1cmxfY2xpZW50X3dyaXRlKGNvbm4sIENMSUVOVFdSSVRFX0JPRFksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoY2hhciAqKSJcbiIsIDEpOwogICAgICAgICAgIGlmKHJlc3VsdCkgewogICAgICAgICAgICAgc3RhdGUoY29ubiwgU1NIX1NUT1ApOwogICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgfQogICAgICAgICAgIC8qIHNpbmNlIHRoaXMgY291bnRzIHdoYXQgd2Ugc2VuZCB0byB0aGUgY2xpZW50LCB3ZSBpbmNsdWRlIHRoZQogICAgICAgICAgICAgIG5ld2xpbmUgaW4gdGhpcyBjb3VudGVyICovCi0gICAgICAgICAgZGF0YS0+cmVxLmJ5dGVjb3VudCArPSBzc2hjLT5yZWFkZGlyX2xlbiArIDE7CisgICAgICAgICAgZGF0YS0+cmVxLmJ5dGVjb3VudCArPSByZWFkZGlyX2xlbiArIDE7CiAKICAgICAgICAgICAvKiBvdXRwdXQgZGVidWcgb3V0cHV0IGlmIHRoYXQgaXMgcmVxdWVzdGVkICovCiAgICAgICAgICAgaWYoZGF0YS0+c2V0LnZlcmJvc2UpIHsKLSAgICAgICAgICAgIEN1cmxfZGVidWcoZGF0YSwgQ1VSTElORk9fREFUQV9PVVQsIHNzaGMtPnJlYWRkaXJfZmlsZW5hbWUsCi0gICAgICAgICAgICAgICAgICAgICAgIHNzaGMtPnJlYWRkaXJfbGVuKTsKKyAgICAgICAgICAgIEN1cmxfZGVidWcoZGF0YSwgQ1VSTElORk9fREFUQV9JTiwgc3NoYy0+cmVhZGRpcl9maWxlbmFtZSwKKyAgICAgICAgICAgICAgICAgICAgICAgcmVhZGRpcl9sZW4pOworICAgICAgICAgICAgQ3VybF9kZWJ1ZyhkYXRhLCBDVVJMSU5GT19EQVRBX0lOLCAoY2hhciAqKSJcbiIsIDEpOwogICAgICAgICAgIH0KICAgICAgICAgfQogICAgICAgICBlbHNlIHsKLSAgICAgICAgICBzc2hjLT5yZWFkZGlyX2N1cnJMZW4gPSBzdHJsZW4oc3NoYy0+cmVhZGRpcl9sb25nZW50cnkpOwotICAgICAgICAgIHNzaGMtPnJlYWRkaXJfdG90YWxMZW4gPSA4MCArIHNzaGMtPnJlYWRkaXJfY3VyckxlbjsKLSAgICAgICAgICBzc2hjLT5yZWFkZGlyX2xpbmUgPSBjYWxsb2Moc3NoYy0+cmVhZGRpcl90b3RhbExlbiwgMSk7Ci0gICAgICAgICAgaWYoIXNzaGMtPnJlYWRkaXJfbGluZSkgewotICAgICAgICAgICAgQ3VybF9zYWZlZnJlZShzc2hjLT5yZWFkZGlyX2ZpbGVuYW1lKTsKLSAgICAgICAgICAgIEN1cmxfc2FmZWZyZWUoc3NoYy0+cmVhZGRpcl9sb25nZW50cnkpOwotICAgICAgICAgICAgc3RhdGUoY29ubiwgU1NIX1NGVFBfQ0xPU0UpOwotICAgICAgICAgICAgc3NoYy0+YWN0dWFsY29kZSA9IENVUkxFX09VVF9PRl9NRU1PUlk7Ci0gICAgICAgICAgICBicmVhazsKLSAgICAgICAgICB9CisgICAgICAgICAgcmVzdWx0ID0gQ3VybF9keW5fYWRkKCZzc2hjLT5yZWFkZGlyLCBzc2hjLT5yZWFkZGlyX2xvbmdlbnRyeSk7CiAKLSAgICAgICAgICBtZW1jcHkoc3NoYy0+cmVhZGRpcl9saW5lLCBzc2hjLT5yZWFkZGlyX2xvbmdlbnRyeSwKLSAgICAgICAgICAgICAgICAgc3NoYy0+cmVhZGRpcl9jdXJyTGVuKTsKLSAgICAgICAgICBpZigoc3NoYy0+cmVhZGRpcl9hdHRycy5mbGFncyAmIExJQlNTSDJfU0ZUUF9BVFRSX1BFUk1JU1NJT05TKSAmJgotICAgICAgICAgICAgICgoc3NoYy0+cmVhZGRpcl9hdHRycy5wZXJtaXNzaW9ucyAmIExJQlNTSDJfU0ZUUF9TX0lGTVQpID09Ci0gICAgICAgICAgICAgIExJQlNTSDJfU0ZUUF9TX0lGTE5LKSkgewotICAgICAgICAgICAgc3NoYy0+cmVhZGRpcl9saW5rUGF0aCA9IG1hbGxvYyhQQVRIX01BWCArIDEpOwotICAgICAgICAgICAgaWYoc3NoYy0+cmVhZGRpcl9saW5rUGF0aCA9PSBOVUxMKSB7Ci0gICAgICAgICAgICAgIEN1cmxfc2FmZWZyZWUoc3NoYy0+cmVhZGRpcl9maWxlbmFtZSk7Ci0gICAgICAgICAgICAgIEN1cmxfc2FmZWZyZWUoc3NoYy0+cmVhZGRpcl9sb25nZW50cnkpOwotICAgICAgICAgICAgICBzdGF0ZShjb25uLCBTU0hfU0ZUUF9DTE9TRSk7Ci0gICAgICAgICAgICAgIHNzaGMtPmFjdHVhbGNvZGUgPSBDVVJMRV9PVVRfT0ZfTUVNT1JZOworICAgICAgICAgIGlmKCFyZXN1bHQpIHsKKyAgICAgICAgICAgIGlmKChzc2hjLT5yZWFkZGlyX2F0dHJzLmZsYWdzICYgTElCU1NIMl9TRlRQX0FUVFJfUEVSTUlTU0lPTlMpICYmCisgICAgICAgICAgICAgICAoKHNzaGMtPnJlYWRkaXJfYXR0cnMucGVybWlzc2lvbnMgJiBMSUJTU0gyX1NGVFBfU19JRk1UKSA9PQorICAgICAgICAgICAgICAgIExJQlNTSDJfU0ZUUF9TX0lGTE5LKSkgeworICAgICAgICAgICAgICBDdXJsX2R5bl9pbml0KCZzc2hjLT5yZWFkZGlyX2xpbmssIFBBVEhfTUFYKTsKKyAgICAgICAgICAgICAgcmVzdWx0ID0gQ3VybF9keW5fYWRkKCZzc2hjLT5yZWFkZGlyX2xpbmssIHNmdHBfc2NwLT5wYXRoKTsKKyAgICAgICAgICAgICAgc3RhdGUoY29ubiwgU1NIX1NGVFBfUkVBRERJUl9MSU5LKTsKKyAgICAgICAgICAgICAgaWYoIXJlc3VsdCkKKyAgICAgICAgICAgICAgICBicmVhazsKKyAgICAgICAgICAgIH0KKyAgICAgICAgICAgIGVsc2UgeworICAgICAgICAgICAgICBzdGF0ZShjb25uLCBTU0hfU0ZUUF9SRUFERElSX0JPVFRPTSk7CiAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICAgfQotCi0gICAgICAgICAgICBtc25wcmludGYoc3NoYy0+cmVhZGRpcl9saW5rUGF0aCwgUEFUSF9NQVgsICIlcyVzIiwgc2Z0cF9zY3AtPnBhdGgsCi0gICAgICAgICAgICAgICAgICAgICAgc3NoYy0+cmVhZGRpcl9maWxlbmFtZSk7Ci0gICAgICAgICAgICBzdGF0ZShjb25uLCBTU0hfU0ZUUF9SRUFERElSX0xJTkspOwotICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgfQotICAgICAgICAgIHN0YXRlKGNvbm4sIFNTSF9TRlRQX1JFQURESVJfQk9UVE9NKTsKKyAgICAgICAgICBzc2hjLT5hY3R1YWxjb2RlID0gcmVzdWx0OworICAgICAgICAgIHN0YXRlKGNvbm4sIFNTSF9TRlRQX0NMT1NFKTsKICAgICAgICAgICBicmVhazsKICAgICAgICAgfQogICAgICAgfQpAQCAtMjE3NiwxMSArMjE2MywxMSBAQAogICAgICAgICBicmVhazsKICAgICAgIH0KICAgICAgIGVsc2UgaWYocmMgPCAwKSB7Ci0gICAgICAgIGVyciA9IHNmdHBfbGlic3NoMl9sYXN0X2Vycm9yKHNzaGMtPnNmdHBfc2Vzc2lvbik7Ci0gICAgICAgIHJlc3VsdCA9IHNmdHBfbGlic3NoMl9lcnJvcl90b19DVVJMRShlcnIpOworICAgICAgICBzZnRwZXJyID0gbGlic3NoMl9zZnRwX2xhc3RfZXJyb3Ioc3NoYy0+c2Z0cF9zZXNzaW9uKTsKKyAgICAgICAgcmVzdWx0ID0gc2Z0cF9saWJzc2gyX2Vycm9yX3RvX0NVUkxFKHNmdHBlcnIpOwogICAgICAgICBzc2hjLT5hY3R1YWxjb2RlID0gcmVzdWx0P3Jlc3VsdDpDVVJMRV9TU0g7CiAgICAgICAgIGZhaWxmKGRhdGEsICJDb3VsZCBub3Qgb3BlbiByZW1vdGUgZmlsZSBmb3IgcmVhZGluZzogJXMgOjogJWQiLAotICAgICAgICAgICAgICBzZnRwX2xpYnNzaDJfc3RyZXJyb3IoZXJyKSwKKyAgICAgICAgICAgICAgc2Z0cF9saWJzc2gyX3N0cmVycm9yKHNmdHBlcnIpLAogICAgICAgICAgICAgICBsaWJzc2gyX3Nlc3Npb25fbGFzdF9lcnJubyhzc2hjLT5zc2hfc2Vzc2lvbikpOwogICAgICAgICBDdXJsX3NhZmVmcmVlKHNzaGMtPnJlYWRkaXJfZmlsZW5hbWUpOwogICAgICAgICBDdXJsX3NhZmVmcmVlKHNzaGMtPnJlYWRkaXJfbG9uZ2VudHJ5KTsKQEAgLTIxOTIsNjQgKzIxNzksNTYgQEAKICAgICBjYXNlIFNTSF9TRlRQX1JFQURESVJfTElOSzoKICAgICAgIHJjID0KICAgICAgICAgbGlic3NoMl9zZnRwX3N5bWxpbmtfZXgoc3NoYy0+c2Z0cF9zZXNzaW9uLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzc2hjLT5yZWFkZGlyX2xpbmtQYXRoLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjdXJseF91enRvdWkoc3RybGVuKHNzaGMtPnJlYWRkaXJfbGlua1BhdGgpKSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQ3VybF9keW5fcHRyKCZzc2hjLT5yZWFkZGlyX2xpbmspLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoaW50KUN1cmxfZHluX2xlbigmc3NoYy0+cmVhZGRpcl9saW5rKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3NoYy0+cmVhZGRpcl9maWxlbmFtZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUEFUSF9NQVgsIExJQlNTSDJfU0ZUUF9SRUFETElOSyk7CiAgICAgICBpZihyYyA9PSBMSUJTU0gyX0VSUk9SX0VBR0FJTikgewogICAgICAgICBicmVhazsKICAgICAgIH0KLSAgICAgIHNzaGMtPnJlYWRkaXJfbGVuID0gKHNpemVfdCkgcmM7Ci0gICAgICBDdXJsX3NhZmVmcmVlKHNzaGMtPnJlYWRkaXJfbGlua1BhdGgpOworICAgICAgcmVhZGRpcl9sZW4gPSAoc2l6ZV90KSByYzsKKyAgICAgIEN1cmxfZHluX2ZyZWUoJnNzaGMtPnJlYWRkaXJfbGluayk7CiAKLSAgICAgIC8qIGdldCByb29tIGZvciB0aGUgZmlsZW5hbWUgYW5kIGV4dHJhIG91dHB1dCAqLwotICAgICAgc3NoYy0+cmVhZGRpcl90b3RhbExlbiArPSA0ICsgc3NoYy0+cmVhZGRpcl9sZW47Ci0gICAgICBuZXdfcmVhZGRpcl9saW5lID0gQ3VybF9zYWZlcmVhbGxvYyhzc2hjLT5yZWFkZGlyX2xpbmUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzc2hjLT5yZWFkZGlyX3RvdGFsTGVuKTsKLSAgICAgIGlmKCFuZXdfcmVhZGRpcl9saW5lKSB7CisgICAgICAvKiBhcHBlbmQgZmlsZW5hbWUgYW5kIGV4dHJhIG91dHB1dCAqLworICAgICAgcmVzdWx0ID0gQ3VybF9keW5fYWRkZigmc3NoYy0+cmVhZGRpciwgIiAtPiAlcyIsIHNzaGMtPnJlYWRkaXJfZmlsZW5hbWUpOworCisgICAgICBpZihyZXN1bHQpIHsKICAgICAgICAgc3NoYy0+cmVhZGRpcl9saW5lID0gTlVMTDsKICAgICAgICAgQ3VybF9zYWZlZnJlZShzc2hjLT5yZWFkZGlyX2ZpbGVuYW1lKTsKICAgICAgICAgQ3VybF9zYWZlZnJlZShzc2hjLT5yZWFkZGlyX2xvbmdlbnRyeSk7CiAgICAgICAgIHN0YXRlKGNvbm4sIFNTSF9TRlRQX0NMT1NFKTsKLSAgICAgICAgc3NoYy0+YWN0dWFsY29kZSA9IENVUkxFX09VVF9PRl9NRU1PUlk7CisgICAgICAgIHNzaGMtPmFjdHVhbGNvZGUgPSByZXN1bHQ7CiAgICAgICAgIGJyZWFrOwogICAgICAgfQotICAgICAgc3NoYy0+cmVhZGRpcl9saW5lID0gbmV3X3JlYWRkaXJfbGluZTsKLQotICAgICAgc3NoYy0+cmVhZGRpcl9jdXJyTGVuICs9IG1zbnByaW50Zihzc2hjLT5yZWFkZGlyX2xpbmUgKwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzc2hjLT5yZWFkZGlyX2N1cnJMZW4sCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNzaGMtPnJlYWRkaXJfdG90YWxMZW4gLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzc2hjLT5yZWFkZGlyX2N1cnJMZW4sCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICIgLT4gJXMiLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzc2hjLT5yZWFkZGlyX2ZpbGVuYW1lKTsKIAogICAgICAgc3RhdGUoY29ubiwgU1NIX1NGVFBfUkVBRERJUl9CT1RUT00pOwogICAgICAgYnJlYWs7CiAKICAgICBjYXNlIFNTSF9TRlRQX1JFQURESVJfQk9UVE9NOgotICAgICAgc3NoYy0+cmVhZGRpcl9jdXJyTGVuICs9IG1zbnByaW50Zihzc2hjLT5yZWFkZGlyX2xpbmUgKwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzc2hjLT5yZWFkZGlyX2N1cnJMZW4sCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNzaGMtPnJlYWRkaXJfdG90YWxMZW4gLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzc2hjLT5yZWFkZGlyX2N1cnJMZW4sICJcbiIpOwotICAgICAgcmVzdWx0ID0gQ3VybF9jbGllbnRfd3JpdGUoY29ubiwgQ0xJRU5UV1JJVEVfQk9EWSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNzaGMtPnJlYWRkaXJfbGluZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNzaGMtPnJlYWRkaXJfY3Vyckxlbik7CisgICAgICByZXN1bHQgPSBDdXJsX2R5bl9hZGRuKCZzc2hjLT5yZWFkZGlyLCAiXG4iLCAxKTsKKyAgICAgIGlmKCFyZXN1bHQpCisgICAgICAgIHJlc3VsdCA9IEN1cmxfY2xpZW50X3dyaXRlKGNvbm4sIENMSUVOVFdSSVRFX0JPRFksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEN1cmxfZHluX3B0cigmc3NoYy0+cmVhZGRpciksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEN1cmxfZHluX2xlbigmc3NoYy0+cmVhZGRpcikpOwogCiAgICAgICBpZighcmVzdWx0KSB7CiAKICAgICAgICAgLyogb3V0cHV0IGRlYnVnIG91dHB1dCBpZiB0aGF0IGlzIHJlcXVlc3RlZCAqLwogICAgICAgICBpZihkYXRhLT5zZXQudmVyYm9zZSkgewotICAgICAgICAgIEN1cmxfZGVidWcoZGF0YSwgQ1VSTElORk9fREFUQV9PVVQsIHNzaGMtPnJlYWRkaXJfbGluZSwKLSAgICAgICAgICAgICAgICAgICAgIHNzaGMtPnJlYWRkaXJfY3Vyckxlbik7CisgICAgICAgICAgQ3VybF9kZWJ1ZyhkYXRhLCBDVVJMSU5GT19EQVRBX0lOLAorICAgICAgICAgICAgICAgICAgICAgQ3VybF9keW5fcHRyKCZzc2hjLT5yZWFkZGlyKSwKKyAgICAgICAgICAgICAgICAgICAgIEN1cmxfZHluX2xlbigmc3NoYy0+cmVhZGRpcikpOwogICAgICAgICB9Ci0gICAgICAgIGRhdGEtPnJlcS5ieXRlY291bnQgKz0gc3NoYy0+cmVhZGRpcl9jdXJyTGVuOworICAgICAgICBkYXRhLT5yZXEuYnl0ZWNvdW50ICs9IEN1cmxfZHluX2xlbigmc3NoYy0+cmVhZGRpcik7CiAgICAgICB9Ci0gICAgICBDdXJsX3NhZmVmcmVlKHNzaGMtPnJlYWRkaXJfbGluZSk7CiAgICAgICBpZihyZXN1bHQpIHsKKyAgICAgICAgQ3VybF9keW5fZnJlZSgmc3NoYy0+cmVhZGRpcik7CiAgICAgICAgIHN0YXRlKGNvbm4sIFNTSF9TVE9QKTsKICAgICAgIH0KLSAgICAgIGVsc2UKKyAgICAgIGVsc2UgeworICAgICAgICBDdXJsX2R5bl9yZXNldCgmc3NoYy0+cmVhZGRpcik7CiAgICAgICAgIHN0YXRlKGNvbm4sIFNTSF9TRlRQX1JFQURESVIpOworICAgICAgfQogICAgICAgYnJlYWs7CiAKICAgICBjYXNlIFNTSF9TRlRQX1JFQURESVJfRE9ORToKQEAgLTIyODIsMTEgKzIyNjEsMTEgQEAKICAgICAgICAgICByYyA9IExJQlNTSDJfRVJST1JfRUFHQUlOOwogICAgICAgICAgIGJyZWFrOwogICAgICAgICB9Ci0gICAgICAgIGVyciA9IHNmdHBfbGlic3NoMl9sYXN0X2Vycm9yKHNzaGMtPnNmdHBfc2Vzc2lvbik7CisgICAgICAgIHNmdHBlcnIgPSBsaWJzc2gyX3NmdHBfbGFzdF9lcnJvcihzc2hjLT5zZnRwX3Nlc3Npb24pOwogICAgICAgICBmYWlsZihkYXRhLCAiQ291bGQgbm90IG9wZW4gcmVtb3RlIGZpbGUgZm9yIHJlYWRpbmc6ICVzIiwKLSAgICAgICAgICAgICAgc2Z0cF9saWJzc2gyX3N0cmVycm9yKGVycikpOworICAgICAgICAgICAgICBzZnRwX2xpYnNzaDJfc3RyZXJyb3Ioc2Z0cGVycikpOwogICAgICAgICBzdGF0ZShjb25uLCBTU0hfU0ZUUF9DTE9TRSk7Ci0gICAgICAgIHJlc3VsdCA9IHNmdHBfbGlic3NoMl9lcnJvcl90b19DVVJMRShlcnIpOworICAgICAgICByZXN1bHQgPSBzZnRwX2xpYnNzaDJfZXJyb3JfdG9fQ1VSTEUoc2Z0cGVycik7CiAgICAgICAgIHNzaGMtPmFjdHVhbGNvZGUgPSByZXN1bHQ/cmVzdWx0OkNVUkxFX1NTSDsKICAgICAgICAgYnJlYWs7CiAgICAgICB9CkBAIC0yNTUxLDcgKzI1MzAsOSBAQAogICAgICAgfQogCiAgICAgICAvKiB1cGxvYWQgZGF0YSAqLwotICAgICAgQ3VybF9zZXR1cF90cmFuc2ZlcihkYXRhLCAtMSwgZGF0YS0+cmVxLnNpemUsIEZBTFNFLCBGSVJTVFNPQ0tFVCk7CisgICAgICBkYXRhLT5yZXEuc2l6ZSA9IGRhdGEtPnN0YXRlLmluZmlsZXNpemU7CisgICAgICBDdXJsX3BncnNTZXRVcGxvYWRTaXplKGRhdGEsIGRhdGEtPnN0YXRlLmluZmlsZXNpemUpOworICAgICAgQ3VybF9zZXR1cF90cmFuc2ZlcihkYXRhLCAtMSwgLTEsIEZBTFNFLCBGSVJTVFNPQ0tFVCk7CiAKICAgICAgIC8qIG5vdCBzZXQgYnkgQ3VybF9zZXR1cF90cmFuc2ZlciB0byBwcmVzZXJ2ZSBrZWVwb24gYml0cyAqLwogICAgICAgY29ubi0+c29ja2ZkID0gY29ubi0+d3JpdGVzb2NrZmQ7CkBAIC0yNjIxLDcgKzI2MDIsNyBAQAogCiAgICAgICAvKiBkb3dubG9hZCBkYXRhICovCiAgICAgICBieXRlY291bnQgPSAoY3VybF9vZmZfdClzYi5zdF9zaXplOwotICAgICAgZGF0YS0+cmVxLm1heGRvd25sb2FkID0gIChjdXJsX29mZl90KXNiLnN0X3NpemU7CisgICAgICBkYXRhLT5yZXEubWF4ZG93bmxvYWQgPSAoY3VybF9vZmZfdClzYi5zdF9zaXplOwogICAgICAgQ3VybF9zZXR1cF90cmFuc2ZlcihkYXRhLCBGSVJTVFNPQ0tFVCwgYnl0ZWNvdW50LCBGQUxTRSwgLTEpOwogCiAgICAgICAvKiBub3Qgc2V0IGJ5IEN1cmxfc2V0dXBfdHJhbnNmZXIgdG8gcHJlc2VydmUga2VlcG9uIGJpdHMgKi8KQEAgLTI4MjgsNyArMjgwOSw3IEBACiAgICAgICBDdXJsX3NhZmVmcmVlKHNzaGMtPnJlYWRkaXJfZmlsZW5hbWUpOwogICAgICAgQ3VybF9zYWZlZnJlZShzc2hjLT5yZWFkZGlyX2xvbmdlbnRyeSk7CiAgICAgICBDdXJsX3NhZmVmcmVlKHNzaGMtPnJlYWRkaXJfbGluZSk7Ci0gICAgICBDdXJsX3NhZmVmcmVlKHNzaGMtPnJlYWRkaXJfbGlua1BhdGgpOworICAgICAgQ3VybF9keW5fZnJlZSgmc3NoYy0+cmVhZGRpcik7CiAKICAgICAgIC8qIHRoZSBjb2RlIHdlIGFyZSBhYm91dCB0byByZXR1cm4gKi8KICAgICAgIHJlc3VsdCA9IHNzaGMtPmFjdHVhbGNvZGU7CkBAIC0yOTUyLDcgKzI5MzMsNyBAQAogfQogCiBzdGF0aWMgQ1VSTGNvZGUgc3NoX2Jsb2NrX3N0YXRlbWFjaChzdHJ1Y3QgY29ubmVjdGRhdGEgKmNvbm4sCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBib29sIGRpc2Nvbm5lY3QpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJvb2wgZHVyaW5nY29ubmVjdCkKIHsKICAgc3RydWN0IHNzaF9jb25uICpzc2hjID0gJmNvbm4tPnByb3RvLnNzaGM7CiAgIENVUkxjb2RlIHJlc3VsdCA9IENVUkxFX09LOwpAQCAtMjk2NywxOSArMjk0OCwxNyBAQAogICAgIGlmKHJlc3VsdCkKICAgICAgIGJyZWFrOwogCi0gICAgaWYoIWRpc2Nvbm5lY3QpIHsKLSAgICAgIGlmKEN1cmxfcGdyc1VwZGF0ZShjb25uKSkKLSAgICAgICAgcmV0dXJuIENVUkxFX0FCT1JURURfQllfQ0FMTEJBQ0s7CisgICAgaWYoQ3VybF9wZ3JzVXBkYXRlKGNvbm4pKQorICAgICAgcmV0dXJuIENVUkxFX0FCT1JURURfQllfQ0FMTEJBQ0s7CiAKLSAgICAgIHJlc3VsdCA9IEN1cmxfc3BlZWRjaGVjayhkYXRhLCBub3cpOwotICAgICAgaWYocmVzdWx0KQotICAgICAgICBicmVhazsKKyAgICByZXN1bHQgPSBDdXJsX3NwZWVkY2hlY2soZGF0YSwgbm93KTsKKyAgICBpZihyZXN1bHQpCisgICAgICBicmVhazsKIAotICAgICAgbGVmdCA9IEN1cmxfdGltZWxlZnQoZGF0YSwgTlVMTCwgRkFMU0UpOwotICAgICAgaWYobGVmdCA8IDApIHsKLSAgICAgICAgZmFpbGYoZGF0YSwgIk9wZXJhdGlvbiB0aW1lZCBvdXQiKTsKLSAgICAgICAgcmV0dXJuIENVUkxFX09QRVJBVElPTl9USU1FRE9VVDsKLSAgICAgIH0KKyAgICBsZWZ0ID0gQ3VybF90aW1lbGVmdChkYXRhLCBOVUxMLCBkdXJpbmdjb25uZWN0KTsKKyAgICBpZihsZWZ0IDwgMCkgeworICAgICAgZmFpbGYoZGF0YSwgIk9wZXJhdGlvbiB0aW1lZCBvdXQiKTsKKyAgICAgIHJldHVybiBDVVJMRV9PUEVSQVRJT05fVElNRURPVVQ7CiAgICAgfQogCiAjaWZkZWYgSEFWRV9MSUJTU0gyX1NFU1NJT05fQkxPQ0tfRElSRUNUSU9OCkBAIC0yOTk0LDcgKzI5NzMsNyBAQAogICAgICAgICBmZF93cml0ZSA9IHNvY2s7CiAgICAgICAvKiB3YWl0IGZvciB0aGUgc29ja2V0IHRvIGJlY29tZSByZWFkeSAqLwogICAgICAgKHZvaWQpQ3VybF9zb2NrZXRfY2hlY2soZmRfcmVhZCwgQ1VSTF9TT0NLRVRfQkFELCBmZF93cml0ZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxlZnQ+MTAwMD8xMDAwOih0aW1lX3QpbGVmdCk7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZWZ0PjEwMDA/MTAwMDpsZWZ0KTsKICAgICB9CiAjZW5kaWYKIApAQCAtMzIwMiw3ICszMTgxLDcgQEAKIAogICAgIHN0YXRlKGNvbm4sIFNTSF9TRVNTSU9OX0RJU0NPTk5FQ1QpOwogCi0gICAgcmVzdWx0ID0gc3NoX2Jsb2NrX3N0YXRlbWFjaChjb25uLCBUUlVFKTsKKyAgICByZXN1bHQgPSBzc2hfYmxvY2tfc3RhdGVtYWNoKGNvbm4sIEZBTFNFKTsKICAgfQogCiAgIHJldHVybiByZXN1bHQ7CkBAIC0zMzUxLDcgKzMzMzAsNyBAQAogICBpZihjb25uLT5wcm90by5zc2hjLnNzaF9zZXNzaW9uKSB7CiAgICAgLyogb25seSBpZiB0aGVyZSdzIGEgc2Vzc2lvbiBzdGlsbCBhcm91bmQgdG8gdXNlISAqLwogICAgIHN0YXRlKGNvbm4sIFNTSF9TRlRQX1NIVVRET1dOKTsKLSAgICByZXN1bHQgPSBzc2hfYmxvY2tfc3RhdGVtYWNoKGNvbm4sIFRSVUUpOworICAgIHJlc3VsdCA9IHNzaF9ibG9ja19zdGF0ZW1hY2goY29ubiwgRkFMU0UpOwogICB9CiAKICAgREVCVUdGKGluZm9mKGNvbm4tPmRhdGEsICJTU0ggRElTQ09OTkVDVCBpcyBkb25lXG4iKSk7CkBAIC0zNDI2LDcgKzM0MDUsNyBAQAogICByZXR1cm4gbnJlYWQ7CiB9CiAKLXN0YXRpYyBjb25zdCBjaGFyICpzZnRwX2xpYnNzaDJfc3RyZXJyb3IoaW50IGVycikKK3N0YXRpYyBjb25zdCBjaGFyICpzZnRwX2xpYnNzaDJfc3RyZXJyb3IodW5zaWduZWQgbG9uZyBlcnIpCiB7CiAgIHN3aXRjaChlcnIpIHsKICAgICBjYXNlIExJQlNTSDJfRlhfTk9fU1VDSF9GSUxFOgpkaWZmIC0tZ2l0IGEvbGliL3Zzc2gvc3NoLmggYi9saWIvdnNzaC9zc2guaAppbmRleCAwZDRlZTUyLi45ZTQ5OTkzIDEwMDY0NAotLS0gYS9saWIvdnNzaC9zc2guaAorKysgYi9saWIvdnNzaC9zc2guaApAQCAtMTM0LDkgKzEzNCw3IEBACiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBxdW90ZSBjb21tYW5kIGZhaWxzKSAqLwogICBjaGFyICpob21lZGlyOyAgICAgICAgICAgICAgLyogd2hlbiBkb2luZyBTRlRQIHdlIGZpZ3VyZSBvdXQgaG9tZSBkaXIgaW4gdGhlCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25uZWN0IHBoYXNlICovCi0gIHNpemVfdCByZWFkZGlyX2xlbiwgcmVhZGRpcl90b3RhbExlbiwgcmVhZGRpcl9jdXJyTGVuOwogICBjaGFyICpyZWFkZGlyX2xpbmU7Ci0gIGNoYXIgKnJlYWRkaXJfbGlua1BhdGg7CiAgIC8qIGVuZCBvZiBSRUFERElSIHN0dWZmICovCiAKICAgaW50IHNlY29uZENyZWF0ZURpcnM7ICAgICAgICAgLyogY291bnRlciB1c2UgYnkgdGhlIGNvZGUgdG8gc2VlIGlmIHRoZQpAQCAtMTQ3LDYgKzE0NSw4IEBACiAgIGludCBvcmlnX3dhaXRmb3I7ICAgICAgICAgICAgIC8qIGRlZmF1bHQgUkVBRC9XUklURSBiaXRzIHdhaXQgZm9yICovCiAKICNpZiBkZWZpbmVkKFVTRV9MSUJTU0gpCisgIGNoYXIgKnJlYWRkaXJfbGlua1BhdGg7CisgIHNpemVfdCByZWFkZGlyX2xlbiwgcmVhZGRpcl90b3RhbExlbiwgcmVhZGRpcl9jdXJyTGVuOwogLyogb3VyIHZhcmlhYmxlcyAqLwogICB1bnNpZ25lZCBrYmRfc3RhdGU7IC8qIDAgb3IgMSAqLwogICBzc2hfa2V5IHByaXZrZXk7CkBAIC0xNjgsNiArMTY4LDggQEAKICAgY29uc3QgY2hhciAqcmVhZGRpcl9sb25nZW50cnk7CiAgIGNoYXIgKnJlYWRkaXJfdG1wOwogI2VsaWYgZGVmaW5lZChVU0VfTElCU1NIMikKKyAgc3RydWN0IGR5bmJ1ZiByZWFkZGlyX2xpbms7CisgIHN0cnVjdCBkeW5idWYgcmVhZGRpcjsKICAgY2hhciAqcmVhZGRpcl9maWxlbmFtZTsKICAgY2hhciAqcmVhZGRpcl9sb25nZW50cnk7CiAKZGlmZiAtLWdpdCBhL2xpYi92c3NoL3dvbGZzc2guYyBiL2xpYi92c3NoL3dvbGZzc2guYwppbmRleCAzNjNhNTJjLi5kY2JiYWI2IDEwMDY0NAotLS0gYS9saWIvdnNzaC93b2xmc3NoLmMKKysrIGIvbGliL3Zzc2gvd29sZnNzaC5jCkBAIC0yNDEsOCArMjQxLDggQEAKICAgaW50IHJjOwogICAodm9pZClzb2NraW5kZXg7CiAKLSAgb2Zmc2V0WzBdID0gICh3b3JkMzIpc3NoYy0+b2Zmc2V0JjB4RkZGRkZGRkY7Ci0gIG9mZnNldFsxXSA9ICAod29yZDMyKShzc2hjLT5vZmZzZXQ+PjMyKSYweEZGRkZGRkZGOworICBvZmZzZXRbMF0gPSAod29yZDMyKXNzaGMtPm9mZnNldCYweEZGRkZGRkZGOworICBvZmZzZXRbMV0gPSAod29yZDMyKShzc2hjLT5vZmZzZXQ+PjMyKSYweEZGRkZGRkZGOwogCiAgIHJjID0gd29sZlNTSF9TRlRQX1NlbmRXcml0ZVBhY2tldChzc2hjLT5zc2hfc2Vzc2lvbiwgc3NoYy0+aGFuZGxlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3NoYy0+aGFuZGxlU3osCkBAIC0yODQsOCArMjg0LDggQEAKICAgd29yZDMyIG9mZnNldFsyXTsKICAgKHZvaWQpc29ja2luZGV4OwogCi0gIG9mZnNldFswXSA9ICAod29yZDMyKXNzaGMtPm9mZnNldCYweEZGRkZGRkZGOwotICBvZmZzZXRbMV0gPSAgKHdvcmQzMikoc3NoYy0+b2Zmc2V0Pj4zMikmMHhGRkZGRkZGRjsKKyAgb2Zmc2V0WzBdID0gKHdvcmQzMilzc2hjLT5vZmZzZXQmMHhGRkZGRkZGRjsKKyAgb2Zmc2V0WzFdID0gKHdvcmQzMikoc3NoYy0+b2Zmc2V0Pj4zMikmMHhGRkZGRkZGRjsKIAogICByYyA9IHdvbGZTU0hfU0ZUUF9TZW5kUmVhZFBhY2tldChzc2hjLT5zc2hfc2Vzc2lvbiwgc3NoYy0+aGFuZGxlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzc2hjLT5oYW5kbGVTeiwKZGlmZiAtLWdpdCBhL2xpYi92dGxzL2JlYXJzc2wuYyBiL2xpYi92dGxzL2JlYXJzc2wuYwppbmRleCAxYTY1MzBjLi42MjhlMTZhIDEwMDY0NAotLS0gYS9saWIvdnRscy9iZWFyc3NsLmMKKysrIGIvbGliL3Z0bHMvYmVhcnNzbC5jCkBAIC02NDIsNyArNjQyLDcgQEAKICAgc3RydWN0IEN1cmxfZWFzeSAqZGF0YSA9IGNvbm4tPmRhdGE7CiAgIHN0cnVjdCBzc2xfY29ubmVjdF9kYXRhICpjb25uc3NsID0gJmNvbm4tPnNzbFtzb2NraW5kZXhdOwogICBjdXJsX3NvY2tldF90IHNvY2tmZCA9IGNvbm4tPnNvY2tbc29ja2luZGV4XTsKLSAgdGltZV90IHRpbWVvdXRfbXM7CisgIHRpbWVkaWZmX3QgdGltZW91dF9tczsKICAgaW50IHdoYXQ7CiAKICAgLyogY2hlY2sgaWYgdGhlIGNvbm5lY3Rpb24gaGFzIGFscmVhZHkgYmVlbiBlc3RhYmxpc2hlZCAqLwpkaWZmIC0tZ2l0IGEvbGliL3Z0bHMvZ3NraXQuYyBiL2xpYi92dGxzL2dza2l0LmMKaW5kZXggYjA4NjRiNS4uMDUzOGU0YSAxMDA2NDQKLS0tIGEvbGliL3Z0bHMvZ3NraXQuYworKysgYi9saWIvdnRscy9nc2tpdC5jCkBAIC0xMDgsMTMgKzEwOCwxMyBAQAogI2RlZmluZSBCQUNLRU5EIGNvbm5zc2wtPmJhY2tlbmQKIAogLyogU3VwcG9ydGVkIGNpcGhlcnMuICovCi10eXBlZGVmIHN0cnVjdCB7CitzdHJ1Y3QgZ3NraXRfY2lwaGVyIHsKICAgY29uc3QgY2hhciAqbmFtZTsgICAgICAgICAgICAvKiBDaXBoZXIgbmFtZS4gKi8KICAgY29uc3QgY2hhciAqZ3NrdG9rZW47ICAgICAgICAvKiBDb3JyZXNwb25kaW5nIHRva2VuIGZvciBHU0tpdCBTdHJpbmcuICovCiAgIHVuc2lnbmVkIGludCB2ZXJzaW9uczsgICAgICAgLyogU1NMIHZlcnNpb24gZmxhZ3MuICovCi19ICBnc2tpdF9jaXBoZXI7Cit9OwogCi1zdGF0aWMgY29uc3QgZ3NraXRfY2lwaGVyICBjaXBoZXJ0YWJsZVtdID0geworc3RhdGljIGNvbnN0IHN0cnVjdCBnc2tpdF9jaXBoZXIgIGNpcGhlcnRhYmxlW10gPSB7CiAgIHsgIm51bGwtbWQ1IiwgICAgICAgICAiMDEiLAogICAgICAgQ1VSTF9HU0tQUk9UT19TU0xWM19NQVNLIHwgQ1VSTF9HU0tQUk9UT19UTFNWMTBfTUFTSyB8CiAgICAgICBDVVJMX0dTS1BST1RPX1RMU1YxMV9NQVNLIHwgQ1VSTF9HU0tQUk9UT19UTFNWMTJfTUFTSyB9LApAQCAtMzA3LDcgKzMwNyw3IEBACiAgIHN0cnVjdCBDdXJsX2Vhc3kgKmRhdGEgPSBjb25uLT5kYXRhOwogICBjb25zdCBjaGFyICpjaXBoZXJsaXN0ID0gU1NMX0NPTk5fQ09ORklHKGNpcGhlcl9saXN0KTsKICAgY29uc3QgY2hhciAqY2xwOwotICBjb25zdCBnc2tpdF9jaXBoZXIgKmN0cDsKKyAgY29uc3Qgc3RydWN0IGdza2l0X2NpcGhlciAqY3RwOwogICBpbnQgaTsKICAgaW50IGw7CiAgIGJvb2wgdW5zdXBwb3J0ZWQ7CkBAIC04MTksNyArODE5LDcgQEAKICAgaWYoIXJlc3VsdCkgewogICAgIC8qIENvbXB1dGUgdGhlIGhhbmRzaGFrZSB0aW1lb3V0LiBTaW5jZSBHU0tpdCBncmFudWxhcml0eSBpcyAxIHNlY29uZCwKICAgICAgICB3ZSByb3VuZCB1cCB0aGUgcmVxdWlyZWQgdmFsdWUuICovCi0gICAgbG9uZyB0aW1lb3V0ID0gQ3VybF90aW1lbGVmdChkYXRhLCBOVUxMLCBUUlVFKTsKKyAgICB0aW1lZGlmZl90IHRpbWVvdXQgPSBDdXJsX3RpbWVsZWZ0KGRhdGEsIE5VTEwsIFRSVUUpOwogICAgIGlmKHRpbWVvdXQgPCAwKQogICAgICAgcmVzdWx0ID0gQ1VSTEVfT1BFUkFUSU9OX1RJTUVET1VUOwogICAgIGVsc2UKQEAgLTkzMiw3ICs5MzIsNyBAQAogICAvKiBQb2xsIG9yIHdhaXQgZm9yIGVuZCBvZiBTU0wgYXN5bmNocm9ub3VzIGhhbmRzaGFrZS4gKi8KIAogICBmb3IoOzspIHsKLSAgICBsb25nIHRpbWVvdXRfbXMgPSBub25ibG9ja2luZz8gMDogQ3VybF90aW1lbGVmdChkYXRhLCBOVUxMLCBUUlVFKTsKKyAgICB0aW1lZGlmZl90IHRpbWVvdXRfbXMgPSBub25ibG9ja2luZz8gMDogQ3VybF90aW1lbGVmdChkYXRhLCBOVUxMLCBUUlVFKTsKICAgICBpZih0aW1lb3V0X21zIDwgMCkKICAgICAgIHRpbWVvdXRfbXMgPSAwOwogICAgIHN0bXYudHZfc2VjID0gdGltZW91dF9tcyAvIDEwMDA7CmRpZmYgLS1naXQgYS9saWIvdnRscy9ndGxzLmMgYi9saWIvdnRscy9ndGxzLmMKaW5kZXggNGVkM2VhNS4uOWI0YzM2NSAxMDA2NDQKLS0tIGEvbGliL3Z0bHMvZ3Rscy5jCisrKyBiL2xpYi92dGxzL2d0bHMuYwpAQCAtMjM1LDcgKzIzNSw3IEBACiAKICAgICAgIHdoYXQgPSBDdXJsX3NvY2tldF9jaGVjayhyZWFkZmQsIENVUkxfU09DS0VUX0JBRCwgd3JpdGVmZCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBub25ibG9ja2luZz8wOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRpbWVvdXRfbXM/KHRpbWVfdCl0aW1lb3V0X21zOjEwMDApOworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRpbWVvdXRfbXM/dGltZW91dF9tczoxMDAwKTsKICAgICAgIGlmKHdoYXQgPCAwKSB7CiAgICAgICAgIC8qIGZhdGFsIGVycm9yICovCiAgICAgICAgIGZhaWxmKGRhdGEsICJzZWxlY3QvcG9sbCBvbiBTU0wgc29ja2V0LCBlcnJubzogJWQiLCBTT0NLRVJSTk8pOwpAQCAtNDAxLDYgKzQwMSw4IEBACiAgIGNvbnN0IGNoYXIgKmVyciA9IE5VTEw7CiAgIGNvbnN0IGNoYXIgKiBjb25zdCBob3N0bmFtZSA9IFNTTF9JU19QUk9YWSgpID8gY29ubi0+aHR0cF9wcm94eS5ob3N0Lm5hbWUgOgogICAgIGNvbm4tPmhvc3QubmFtZTsKKyAgbG9uZyAqIGNvbnN0IGNlcnR2ZXJpZnlyZXN1bHQgPSBTU0xfSVNfUFJPWFkoKSA/CisgICAgJmRhdGEtPnNldC5wcm94eV9zc2wuY2VydHZlcmlmeXJlc3VsdCA6ICZkYXRhLT5zZXQuc3NsLmNlcnR2ZXJpZnlyZXN1bHQ7CiAKICAgaWYoY29ubnNzbC0+c3RhdGUgPT0gc3NsX2Nvbm5lY3Rpb25fY29tcGxldGUpCiAgICAgLyogdG8gbWFrZSB1cyB0b2xlcmFudCBhZ2FpbnN0IGJlaW5nIGNhbGxlZCBtb3JlIHRoYW4gb25jZSBmb3IgdGhlCkBAIC00MTAsNiArNDEyLDkgQEAKICAgaWYoIWd0bHNfaW5pdGVkKQogICAgIEN1cmxfZ3Rsc19pbml0KCk7CiAKKyAgLyogSW5pdGlhbGl6ZSBjZXJ0dmVyaWZ5cmVzdWx0IHRvIE9LICovCisgICpjZXJ0dmVyaWZ5cmVzdWx0ID0gMDsKKwogICBpZihTU0xfQ09OTl9DT05GSUcodmVyc2lvbikgPT0gQ1VSTF9TU0xWRVJTSU9OX1NTTHYyKSB7CiAgICAgZmFpbGYoZGF0YSwgIkdudVRMUyBkb2VzIG5vdCBzdXBwb3J0IFNTTHYyIik7CiAgICAgcmV0dXJuIENVUkxFX1NTTF9DT05ORUNUX0VSUk9SOwpAQCAtNDU4LDggKzQ2MywxMCBAQAogICAgIGlmKHJjIDwgMCkgewogICAgICAgaW5mb2YoZGF0YSwgImVycm9yIHJlYWRpbmcgY2EgY2VydCBmaWxlICVzICglcylcbiIsCiAgICAgICAgICAgICBTU0xfQ09OTl9DT05GSUcoQ0FmaWxlKSwgZ251dGxzX3N0cmVycm9yKHJjKSk7Ci0gICAgICBpZihTU0xfQ09OTl9DT05GSUcodmVyaWZ5cGVlcikpCisgICAgICBpZihTU0xfQ09OTl9DT05GSUcodmVyaWZ5cGVlcikpIHsKKyAgICAgICAgKmNlcnR2ZXJpZnlyZXN1bHQgPSByYzsKICAgICAgICAgcmV0dXJuIENVUkxFX1NTTF9DQUNFUlRfQkFERklMRTsKKyAgICAgIH0KICAgICB9CiAgICAgZWxzZQogICAgICAgaW5mb2YoZGF0YSwgImZvdW5kICVkIGNlcnRpZmljYXRlcyBpbiAlc1xuIiwgcmMsCkBAIC00NzQsOCArNDgxLDEwIEBACiAgICAgaWYocmMgPCAwKSB7CiAgICAgICBpbmZvZihkYXRhLCAiZXJyb3IgcmVhZGluZyBjYSBjZXJ0IGZpbGUgJXMgKCVzKVxuIiwKICAgICAgICAgICAgIFNTTF9DT05OX0NPTkZJRyhDQXBhdGgpLCBnbnV0bHNfc3RyZXJyb3IocmMpKTsKLSAgICAgIGlmKFNTTF9DT05OX0NPTkZJRyh2ZXJpZnlwZWVyKSkKKyAgICAgIGlmKFNTTF9DT05OX0NPTkZJRyh2ZXJpZnlwZWVyKSkgeworICAgICAgICAqY2VydHZlcmlmeXJlc3VsdCA9IHJjOwogICAgICAgICByZXR1cm4gQ1VSTEVfU1NMX0NBQ0VSVF9CQURGSUxFOworICAgICAgfQogICAgIH0KICAgICBlbHNlCiAgICAgICBpbmZvZihkYXRhLCAiZm91bmQgJWQgY2VydGlmaWNhdGVzIGluICVzXG4iLApAQCAtODIxLDYgKzgzMCw4IEBACiAjZW5kaWYKICAgY29uc3QgY2hhciAqIGNvbnN0IGhvc3RuYW1lID0gU1NMX0lTX1BST1hZKCkgPyBjb25uLT5odHRwX3Byb3h5Lmhvc3QubmFtZSA6CiAgICAgY29ubi0+aG9zdC5uYW1lOworICBsb25nICogY29uc3QgY2VydHZlcmlmeXJlc3VsdCA9IFNTTF9JU19QUk9YWSgpID8KKyAgICAmZGF0YS0+c2V0LnByb3h5X3NzbC5jZXJ0dmVyaWZ5cmVzdWx0IDogJmRhdGEtPnNldC5zc2wuY2VydHZlcmlmeXJlc3VsdDsKIAogICAvKiB0aGUgbmFtZSBvZiB0aGUgY2lwaGVyIHN1aXRlIHVzZWQsIGUuZy4gRUNESEVfUlNBX0FFU18yNTZfR0NNX1NIQTM4NC4gKi8KICAgcHRyID0gZ251dGxzX2NpcGhlcl9zdWl0ZV9nZXRfbmFtZShnbnV0bHNfa3hfZ2V0KHNlc3Npb24pLApAQCAtODUyLDYgKzg2Myw3IEBACiAgICAgICBlbHNlIHsKICNlbmRpZgogICAgICAgICBmYWlsZihkYXRhLCAiZmFpbGVkIHRvIGdldCBzZXJ2ZXIgY2VydCIpOworICAgICAgICAqY2VydHZlcmlmeXJlc3VsdCA9IEdOVVRMU19FX05PX0NFUlRJRklDQVRFX0ZPVU5EOwogICAgICAgICByZXR1cm4gQ1VSTEVfUEVFUl9GQUlMRURfVkVSSUZJQ0FUSU9OOwogI2lmZGVmIFVTRV9UTFNfU1JQCiAgICAgICB9CkBAIC04ODgsOSArOTAwLDEyIEBACiAgICAgcmMgPSBnbnV0bHNfY2VydGlmaWNhdGVfdmVyaWZ5X3BlZXJzMihzZXNzaW9uLCAmdmVyaWZ5X3N0YXR1cyk7CiAgICAgaWYocmMgPCAwKSB7CiAgICAgICBmYWlsZihkYXRhLCAic2VydmVyIGNlcnQgdmVyaWZ5IGZhaWxlZDogJWQiLCByYyk7CisgICAgICAqY2VydHZlcmlmeXJlc3VsdCA9IHJjOwogICAgICAgcmV0dXJuIENVUkxFX1NTTF9DT05ORUNUX0VSUk9SOwogICAgIH0KIAorICAgICpjZXJ0dmVyaWZ5cmVzdWx0ID0gdmVyaWZ5X3N0YXR1czsKKwogICAgIC8qIHZlcmlmeV9zdGF0dXMgaXMgYSBiaXRtYXNrIG9mIGdudXRsc19jZXJ0aWZpY2F0ZV9zdGF0dXMgYml0cyAqLwogICAgIGlmKHZlcmlmeV9zdGF0dXMgJiBHTlVUTFNfQ0VSVF9JTlZBTElEKSB7CiAgICAgICBpZihTU0xfQ09OTl9DT05GSUcodmVyaWZ5cGVlcikpIHsKQEAgLTExMTksNiArMTEzNCw3IEBACiAgIGlmKGNlcnRjbG9jayA9PSAodGltZV90KS0xKSB7CiAgICAgaWYoU1NMX0NPTk5fQ09ORklHKHZlcmlmeXBlZXIpKSB7CiAgICAgICBmYWlsZihkYXRhLCAic2VydmVyIGNlcnQgZXhwaXJhdGlvbiBkYXRlIHZlcmlmeSBmYWlsZWQiKTsKKyAgICAgICpjZXJ0dmVyaWZ5cmVzdWx0ID0gR05VVExTX0NFUlRfRVhQSVJFRDsKICAgICAgIGdudXRsc194NTA5X2NydF9kZWluaXQoeDUwOV9jZXJ0KTsKICAgICAgIHJldHVybiBDVVJMRV9TU0xfQ09OTkVDVF9FUlJPUjsKICAgICB9CkBAIC0xMTI5LDYgKzExNDUsNyBAQAogICAgIGlmKGNlcnRjbG9jayA8IHRpbWUoTlVMTCkpIHsKICAgICAgIGlmKFNTTF9DT05OX0NPTkZJRyh2ZXJpZnlwZWVyKSkgewogICAgICAgICBmYWlsZihkYXRhLCAic2VydmVyIGNlcnRpZmljYXRlIGV4cGlyYXRpb24gZGF0ZSBoYXMgcGFzc2VkLiIpOworICAgICAgICAqY2VydHZlcmlmeXJlc3VsdCA9IEdOVVRMU19DRVJUX0VYUElSRUQ7CiAgICAgICAgIGdudXRsc194NTA5X2NydF9kZWluaXQoeDUwOV9jZXJ0KTsKICAgICAgICAgcmV0dXJuIENVUkxFX1BFRVJfRkFJTEVEX1ZFUklGSUNBVElPTjsKICAgICAgIH0KQEAgLTExNDQsNiArMTE2MSw3IEBACiAgIGlmKGNlcnRjbG9jayA9PSAodGltZV90KS0xKSB7CiAgICAgaWYoU1NMX0NPTk5fQ09ORklHKHZlcmlmeXBlZXIpKSB7CiAgICAgICBmYWlsZihkYXRhLCAic2VydmVyIGNlcnQgYWN0aXZhdGlvbiBkYXRlIHZlcmlmeSBmYWlsZWQiKTsKKyAgICAgICpjZXJ0dmVyaWZ5cmVzdWx0ID0gR05VVExTX0NFUlRfTk9UX0FDVElWQVRFRDsKICAgICAgIGdudXRsc194NTA5X2NydF9kZWluaXQoeDUwOV9jZXJ0KTsKICAgICAgIHJldHVybiBDVVJMRV9TU0xfQ09OTkVDVF9FUlJPUjsKICAgICB9CkBAIC0xMTU0LDYgKzExNzIsNyBAQAogICAgIGlmKGNlcnRjbG9jayA+IHRpbWUoTlVMTCkpIHsKICAgICAgIGlmKFNTTF9DT05OX0NPTkZJRyh2ZXJpZnlwZWVyKSkgewogICAgICAgICBmYWlsZihkYXRhLCAic2VydmVyIGNlcnRpZmljYXRlIG5vdCBhY3RpdmF0ZWQgeWV0LiIpOworICAgICAgICAqY2VydHZlcmlmeXJlc3VsdCA9IEdOVVRMU19DRVJUX05PVF9BQ1RJVkFURUQ7CiAgICAgICAgIGdudXRsc194NTA5X2NydF9kZWluaXQoeDUwOV9jZXJ0KTsKICAgICAgICAgcmV0dXJuIENVUkxFX1BFRVJfRkFJTEVEX1ZFUklGSUNBVElPTjsKICAgICAgIH0KZGlmZiAtLWdpdCBhL2xpYi92dGxzL2tleWxvZy5jIGIvbGliL3Z0bHMva2V5bG9nLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNzBkMjJlYwotLS0gL2Rldi9udWxsCisrKyBiL2xpYi92dGxzL2tleWxvZy5jCkBAIC0wLDAgKzEsMTU2IEBACisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBfICAgXyBfX19fICBfCisgKiAgUHJvamVjdCAgICAgICAgICAgICAgICAgICAgIF9fX3wgfCB8IHwgIF8gXHwgfAorICogICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8gX198IHwgfCB8IHxfKSB8IHwKKyAqICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgKF9ffCB8X3wgfCAgXyA8fCB8X19fCisgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXF9fX3xcX19fL3xffCBcX1xfX19fX3wKKyAqCisgKiBDb3B5cmlnaHQgKEMpIDE5OTggLSAyMDIwLCBEYW5pZWwgU3RlbmJlcmcsIDxkYW5pZWxAaGF4eC5zZT4sIGV0IGFsLgorICoKKyAqIFRoaXMgc29mdHdhcmUgaXMgbGljZW5zZWQgYXMgZGVzY3JpYmVkIGluIHRoZSBmaWxlIENPUFlJTkcsIHdoaWNoCisgKiB5b3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYXMgcGFydCBvZiB0aGlzIGRpc3RyaWJ1dGlvbi4gVGhlIHRlcm1zCisgKiBhcmUgYWxzbyBhdmFpbGFibGUgYXQgaHR0cHM6Ly9jdXJsLmhheHguc2UvZG9jcy9jb3B5cmlnaHQuaHRtbC4KKyAqCisgKiBZb3UgbWF5IG9wdCB0byB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsIGRpc3RyaWJ1dGUgYW5kL29yIHNlbGwKKyAqIGNvcGllcyBvZiB0aGUgU29mdHdhcmUsIGFuZCBwZXJtaXQgcGVyc29ucyB0byB3aG9tIHRoZSBTb2Z0d2FyZSBpcworICogZnVybmlzaGVkIHRvIGRvIHNvLCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIENPUFlJTkcgZmlsZS4KKyAqCisgKiBUaGlzIHNvZnR3YXJlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuICJBUyBJUyIgYmFzaXMsIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZCisgKiBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLgorICoKKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisjaW5jbHVkZSAiY3VybF9zZXR1cC5oIgorCisjaW5jbHVkZSAia2V5bG9nLmgiCisKKy8qIFRoZSBsYXN0ICNpbmNsdWRlIGZpbGVzIHNob3VsZCBiZTogKi8KKyNpbmNsdWRlICJjdXJsX21lbW9yeS5oIgorI2luY2x1ZGUgIm1lbWRlYnVnLmgiCisKKyNkZWZpbmUgS0VZTE9HX0xBQkVMX01BWExFTiAoc2l6ZW9mKCJDTElFTlRfSEFORFNIQUtFX1RSQUZGSUNfU0VDUkVUIikgLSAxKQorCisjZGVmaW5lIENMSUVOVF9SQU5ET01fU0laRSAgMzIKKworLyoKKyAqIFRoZSBtYXN0ZXIgc2VjcmV0IGluIFRMUyAxLjIgYW5kIGJlZm9yZSBpcyBhbHdheXMgNDggYnl0ZXMuIEluIFRMUyAxLjMsIHRoZQorICogc2VjcmV0IHNpemUgZGVwZW5kcyBvbiB0aGUgY2lwaGVyIHN1aXRlJ3MgaGFzaCBmdW5jdGlvbiB3aGljaCBpcyAzMiBieXRlcworICogZm9yIFNIQS0yNTYgYW5kIDQ4IGJ5dGVzIGZvciBTSEEtMzg0LgorICovCisjZGVmaW5lIFNFQ1JFVF9NQVhMRU4gICAgICAgNDgKKworCisvKiBUaGUgZnAgZm9yIHRoZSBvcGVuIFNTTEtFWUxPR0ZJTEUsIG9yIE5VTEwgaWYgbm90IG9wZW4gKi8KK3N0YXRpYyBGSUxFICprZXlsb2dfZmlsZV9mcDsKKwordm9pZAorQ3VybF90bHNfa2V5bG9nX29wZW4odm9pZCkKK3sKKyAgY2hhciAqa2V5bG9nX2ZpbGVfbmFtZTsKKworICBpZigha2V5bG9nX2ZpbGVfZnApIHsKKyAgICBrZXlsb2dfZmlsZV9uYW1lID0gY3VybF9nZXRlbnYoIlNTTEtFWUxPR0ZJTEUiKTsKKyAgICBpZihrZXlsb2dfZmlsZV9uYW1lKSB7CisgICAgICBrZXlsb2dfZmlsZV9mcCA9IGZvcGVuKGtleWxvZ19maWxlX25hbWUsIEZPUEVOX0FQUEVORFRFWFQpOworICAgICAgaWYoa2V5bG9nX2ZpbGVfZnApIHsKKyNpZmRlZiBXSU4zMgorICAgICAgICBpZihzZXR2YnVmKGtleWxvZ19maWxlX2ZwLCBOVUxMLCBfSU9OQkYsIDApKQorI2Vsc2UKKyAgICAgICAgaWYoc2V0dmJ1ZihrZXlsb2dfZmlsZV9mcCwgTlVMTCwgX0lPTEJGLCA0MDk2KSkKKyNlbmRpZgorICAgICAgICB7CisgICAgICAgICAgZmNsb3NlKGtleWxvZ19maWxlX2ZwKTsKKyAgICAgICAgICBrZXlsb2dfZmlsZV9mcCA9IE5VTEw7CisgICAgICAgIH0KKyAgICAgIH0KKyAgICAgIEN1cmxfc2FmZWZyZWUoa2V5bG9nX2ZpbGVfbmFtZSk7CisgICAgfQorICB9Cit9CisKK3ZvaWQKK0N1cmxfdGxzX2tleWxvZ19jbG9zZSh2b2lkKQoreworICBpZihrZXlsb2dfZmlsZV9mcCkgeworICAgIGZjbG9zZShrZXlsb2dfZmlsZV9mcCk7CisgICAga2V5bG9nX2ZpbGVfZnAgPSBOVUxMOworICB9Cit9CisKK2Jvb2wKK0N1cmxfdGxzX2tleWxvZ19lbmFibGVkKHZvaWQpCit7CisgIHJldHVybiBrZXlsb2dfZmlsZV9mcCAhPSBOVUxMOworfQorCitib29sCitDdXJsX3Rsc19rZXlsb2dfd3JpdGVfbGluZShjb25zdCBjaGFyICpsaW5lKQoreworICAvKiBUaGUgY3VycmVudCBtYXhpbXVtIHZhbGlkIGtleWxvZyBsaW5lIGxlbmd0aCBMRiBhbmQgTlVMIGlzIDE5NS4gKi8KKyAgc2l6ZV90IGxpbmVsZW47CisgIGNoYXIgYnVmWzI1Nl07CisKKyAgaWYoIWtleWxvZ19maWxlX2ZwIHx8ICFsaW5lKSB7CisgICAgcmV0dXJuIGZhbHNlOworICB9CisKKyAgbGluZWxlbiA9IHN0cmxlbihsaW5lKTsKKyAgaWYobGluZWxlbiA9PSAwIHx8IGxpbmVsZW4gPiBzaXplb2YoYnVmKSAtIDIpIHsKKyAgICAvKiBFbXB0eSBsaW5lIG9yIHRvbyBiaWcgdG8gZml0IGluIGEgTEYgYW5kIE5VTC4gKi8KKyAgICByZXR1cm4gZmFsc2U7CisgIH0KKworICBtZW1jcHkoYnVmLCBsaW5lLCBsaW5lbGVuKTsKKyAgaWYobGluZVtsaW5lbGVuIC0gMV0gIT0gJ1xuJykgeworICAgIGJ1ZltsaW5lbGVuKytdID0gJ1xuJzsKKyAgfQorICBidWZbbGluZWxlbl0gPSAnXDAnOworCisgIC8qIFVzaW5nIGZwdXRzIGhlcmUgaW5zdGVhZCBvZiBmcHJpbnRmIHNpbmNlIGxpYmN1cmwncyBmcHJpbnRmIHJlcGxhY2VtZW50CisgICAgIG1heSBub3QgYmUgdGhyZWFkLXNhZmUuICovCisgIGZwdXRzKGJ1Ziwga2V5bG9nX2ZpbGVfZnApOworICByZXR1cm4gdHJ1ZTsKK30KKworYm9vbAorQ3VybF90bHNfa2V5bG9nX3dyaXRlKGNvbnN0IGNoYXIgKmxhYmVsLAorICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVuc2lnbmVkIGNoYXIgY2xpZW50X3JhbmRvbVtDTElFTlRfUkFORE9NX1NJWkVdLAorICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVuc2lnbmVkIGNoYXIgKnNlY3JldCwgc2l6ZV90IHNlY3JldGxlbikKK3sKKyAgY29uc3QgY2hhciAqaGV4ID0gIjAxMjM0NTY3ODlBQkNERUYiOworICBzaXplX3QgcG9zLCBpOworICBjaGFyIGxpbmVbS0VZTE9HX0xBQkVMX01BWExFTiArIDEgKyAyICogQ0xJRU5UX1JBTkRPTV9TSVpFICsgMSArCisgICAgICAgICAgICAyICogU0VDUkVUX01BWExFTiArIDEgKyAxXTsKKworICBpZigha2V5bG9nX2ZpbGVfZnApIHsKKyAgICByZXR1cm4gZmFsc2U7CisgIH0KKworICBwb3MgPSBzdHJsZW4obGFiZWwpOworICBpZihwb3MgPiBLRVlMT0dfTEFCRUxfTUFYTEVOIHx8ICFzZWNyZXRsZW4gfHwgc2VjcmV0bGVuID4gU0VDUkVUX01BWExFTikgeworICAgIC8qIFNob3VsZCBuZXZlciBoYXBwZW4gLSBzYW5pdHkgY2hlY2sgYW55d2F5LiAqLworICAgIHJldHVybiBmYWxzZTsKKyAgfQorCisgIG1lbWNweShsaW5lLCBsYWJlbCwgcG9zKTsKKyAgbGluZVtwb3MrK10gPSAnICc7CisKKyAgLyogQ2xpZW50IFJhbmRvbSAqLworICBmb3IoaSA9IDA7IGkgPCBDTElFTlRfUkFORE9NX1NJWkU7IGkrKykgeworICAgIGxpbmVbcG9zKytdID0gaGV4W2NsaWVudF9yYW5kb21baV0gPj4gNF07CisgICAgbGluZVtwb3MrK10gPSBoZXhbY2xpZW50X3JhbmRvbVtpXSAmIDB4Rl07CisgIH0KKyAgbGluZVtwb3MrK10gPSAnICc7CisKKyAgLyogU2VjcmV0ICovCisgIGZvcihpID0gMDsgaSA8IHNlY3JldGxlbjsgaSsrKSB7CisgICAgbGluZVtwb3MrK10gPSBoZXhbc2VjcmV0W2ldID4+IDRdOworICAgIGxpbmVbcG9zKytdID0gaGV4W3NlY3JldFtpXSAmIDB4Rl07CisgIH0KKyAgbGluZVtwb3MrK10gPSAnXG4nOworICBsaW5lW3Bvc10gPSAnXDAnOworCisgIC8qIFVzaW5nIGZwdXRzIGhlcmUgaW5zdGVhZCBvZiBmcHJpbnRmIHNpbmNlIGxpYmN1cmwncyBmcHJpbnRmIHJlcGxhY2VtZW50CisgICAgIG1heSBub3QgYmUgdGhyZWFkLXNhZmUuICovCisgIGZwdXRzKGxpbmUsIGtleWxvZ19maWxlX2ZwKTsKKyAgcmV0dXJuIHRydWU7Cit9CmRpZmYgLS1naXQgYS9saWIvdnRscy9rZXlsb2cuaCBiL2xpYi92dGxzL2tleWxvZy5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmM2Yjk5ZGIKLS0tIC9kZXYvbnVsbAorKysgYi9saWIvdnRscy9rZXlsb2cuaApAQCAtMCwwICsxLDU2IEBACisjaWZuZGVmIEhFQURFUl9DVVJMX0tFWUxPR19ICisjZGVmaW5lIEhFQURFUl9DVVJMX0tFWUxPR19ICisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBfICAgXyBfX19fICBfCisgKiAgUHJvamVjdCAgICAgICAgICAgICAgICAgICAgIF9fX3wgfCB8IHwgIF8gXHwgfAorICogICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8gX198IHwgfCB8IHxfKSB8IHwKKyAqICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgKF9ffCB8X3wgfCAgXyA8fCB8X19fCisgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXF9fX3xcX19fL3xffCBcX1xfX19fX3wKKyAqCisgKiBDb3B5cmlnaHQgKEMpIDE5OTggLSAyMDIwLCBEYW5pZWwgU3RlbmJlcmcsIDxkYW5pZWxAaGF4eC5zZT4sIGV0IGFsLgorICoKKyAqIFRoaXMgc29mdHdhcmUgaXMgbGljZW5zZWQgYXMgZGVzY3JpYmVkIGluIHRoZSBmaWxlIENPUFlJTkcsIHdoaWNoCisgKiB5b3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYXMgcGFydCBvZiB0aGlzIGRpc3RyaWJ1dGlvbi4gVGhlIHRlcm1zCisgKiBhcmUgYWxzbyBhdmFpbGFibGUgYXQgaHR0cHM6Ly9jdXJsLmhheHguc2UvZG9jcy9jb3B5cmlnaHQuaHRtbC4KKyAqCisgKiBZb3UgbWF5IG9wdCB0byB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsIGRpc3RyaWJ1dGUgYW5kL29yIHNlbGwKKyAqIGNvcGllcyBvZiB0aGUgU29mdHdhcmUsIGFuZCBwZXJtaXQgcGVyc29ucyB0byB3aG9tIHRoZSBTb2Z0d2FyZSBpcworICogZnVybmlzaGVkIHRvIGRvIHNvLCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIENPUFlJTkcgZmlsZS4KKyAqCisgKiBUaGlzIHNvZnR3YXJlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuICJBUyBJUyIgYmFzaXMsIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZCisgKiBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLgorICoKKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisjaW5jbHVkZSAiY3VybF9zZXR1cC5oIgorCisvKgorICogT3BlbnMgdGhlIFRMUyBrZXkgbG9nIGZpbGUgaWYgcmVxdWVzdGVkIGJ5IHRoZSB1c2VyLiBUaGUgU1NMS0VZTE9HRklMRQorICogZW52aXJvbm1lbnQgdmFyaWFibGUgc3BlY2lmaWVzIHRoZSBvdXRwdXQgZmlsZS4KKyAqLwordm9pZCBDdXJsX3Rsc19rZXlsb2dfb3Blbih2b2lkKTsKKworLyoKKyAqIENsb3NlcyB0aGUgVExTIGtleSBsb2cgZmlsZSBpZiBub3QgYWxyZWFkeS4KKyAqLwordm9pZCBDdXJsX3Rsc19rZXlsb2dfY2xvc2Uodm9pZCk7CisKKy8qCisgKiBSZXR1cm5zIHRydWUgaWYgdGhlIHVzZXIgc3VjY2Vzc2Z1bGx5IGVuYWJsZWQgdGhlIFRMUyBrZXkgbG9nIGZpbGUuCisgKi8KK2Jvb2wgQ3VybF90bHNfa2V5bG9nX2VuYWJsZWQodm9pZCk7CisKKy8qCisgKiBBcHBlbmRzIGEga2V5IGxvZyBmaWxlIGVudHJ5LgorICogUmV0dXJucyB0cnVlIGlmZiB0aGUga2V5IGxvZyBmaWxlIGlzIG9wZW4gYW5kIGEgdmFsaWQgZW50cnkgd2FzIHByb3ZpZGVkLgorICovCitib29sIEN1cmxfdGxzX2tleWxvZ193cml0ZShjb25zdCBjaGFyICpsYWJlbCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVuc2lnbmVkIGNoYXIgY2xpZW50X3JhbmRvbVszMl0sCisgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1bnNpZ25lZCBjaGFyICpzZWNyZXQsIHNpemVfdCBzZWNyZXRsZW4pOworCisvKgorICogQXBwZW5kcyBhIGxpbmUgdG8gdGhlIGtleSBsb2cgZmlsZSwgZW5zdXJlIGl0IGlzIHRlcm1pbmF0ZWQgYnkgYSBMRi4KKyAqIFJldHVybnMgdHJ1ZSBpZmYgdGhlIGtleSBsb2cgZmlsZSBpcyBvcGVuIGFuZCBhIHZhbGlkIGxpbmUgd2FzIHByb3ZpZGVkLgorICovCitib29sIEN1cmxfdGxzX2tleWxvZ193cml0ZV9saW5lKGNvbnN0IGNoYXIgKmxpbmUpOworCisjZW5kaWYgLyogSEVBREVSX0NVUkxfS0VZTE9HX0ggKi8KZGlmZiAtLWdpdCBhL2xpYi92dGxzL21iZWR0bHMuYyBiL2xpYi92dGxzL21iZWR0bHMuYwppbmRleCBjYmYzZDNkLi41NDVmODI0IDEwMDY0NAotLS0gYS9saWIvdnRscy9tYmVkdGxzLmMKKysrIGIvbGliL3Z0bHMvbWJlZHRscy5jCkBAIC0yMzksMTYgKzIzOSwyMSBAQAogICAgICAgICAgICAgICAgICAgIGludCBzb2NraW5kZXgpCiB7CiAgIHN0cnVjdCBDdXJsX2Vhc3kgKmRhdGEgPSBjb25uLT5kYXRhOwotICBzdHJ1Y3Qgc3NsX2Nvbm5lY3RfZGF0YSogY29ubnNzbCA9ICZjb25uLT5zc2xbc29ja2luZGV4XTsKKyAgc3RydWN0IHNzbF9jb25uZWN0X2RhdGEgKmNvbm5zc2wgPSAmY29ubi0+c3NsW3NvY2tpbmRleF07CiAgIHN0cnVjdCBzc2xfYmFja2VuZF9kYXRhICpiYWNrZW5kID0gY29ubnNzbC0+YmFja2VuZDsKICAgY29uc3QgY2hhciAqIGNvbnN0IHNzbF9jYWZpbGUgPSBTU0xfQ09OTl9DT05GSUcoQ0FmaWxlKTsKICAgY29uc3QgYm9vbCB2ZXJpZnlwZWVyID0gU1NMX0NPTk5fQ09ORklHKHZlcmlmeXBlZXIpOwogICBjb25zdCBjaGFyICogY29uc3Qgc3NsX2NhcGF0aCA9IFNTTF9DT05OX0NPTkZJRyhDQXBhdGgpOwogICBjaGFyICogY29uc3Qgc3NsX2NlcnQgPSBTU0xfU0VUX09QVElPTihjZXJ0KTsKICAgY29uc3QgY2hhciAqIGNvbnN0IHNzbF9jcmxmaWxlID0gU1NMX1NFVF9PUFRJT04oQ1JMZmlsZSk7CisjaWZuZGVmIENVUkxfRElTQUJMRV9QUk9YWQogICBjb25zdCBjaGFyICogY29uc3QgaG9zdG5hbWUgPSBTU0xfSVNfUFJPWFkoKSA/IGNvbm4tPmh0dHBfcHJveHkuaG9zdC5uYW1lIDoKICAgICBjb25uLT5ob3N0Lm5hbWU7CiAgIGNvbnN0IGxvbmcgaW50IHBvcnQgPSBTU0xfSVNfUFJPWFkoKSA/IGNvbm4tPnBvcnQgOiBjb25uLT5yZW1vdGVfcG9ydDsKKyNlbHNlCisgIGNvbnN0IGNoYXIgKiBjb25zdCBob3N0bmFtZSA9IGNvbm4tPmhvc3QubmFtZTsKKyAgY29uc3QgbG9uZyBpbnQgcG9ydCA9IGNvbm4tPnJlbW90ZV9wb3J0OworI2VuZGlmCiAgIGludCByZXQgPSAtMTsKICAgY2hhciBlcnJvcmJ1ZlsxMjhdOwogICBlcnJvcmJ1ZlswXSA9IDA7CkBAIC01MzUsMTIgKzU0MCwxNyBAQAogewogICBpbnQgcmV0OwogICBzdHJ1Y3QgQ3VybF9lYXN5ICpkYXRhID0gY29ubi0+ZGF0YTsKLSAgc3RydWN0IHNzbF9jb25uZWN0X2RhdGEqIGNvbm5zc2wgPSAmY29ubi0+c3NsW3NvY2tpbmRleF07CisgIHN0cnVjdCBzc2xfY29ubmVjdF9kYXRhICpjb25uc3NsID0gJmNvbm4tPnNzbFtzb2NraW5kZXhdOwogICBzdHJ1Y3Qgc3NsX2JhY2tlbmRfZGF0YSAqYmFja2VuZCA9IGNvbm5zc2wtPmJhY2tlbmQ7CiAgIGNvbnN0IG1iZWR0bHNfeDUwOV9jcnQgKnBlZXJjZXJ0OworI2lmbmRlZiBDVVJMX0RJU0FCTEVfUFJPWFkKICAgY29uc3QgY2hhciAqIGNvbnN0IHBpbm5lZHB1YmtleSA9IFNTTF9JU19QUk9YWSgpID8KICAgICBkYXRhLT5zZXQuc3RyW1NUUklOR19TU0xfUElOTkVEUFVCTElDS0VZX1BST1hZXSA6CiAgICAgZGF0YS0+c2V0LnN0cltTVFJJTkdfU1NMX1BJTk5FRFBVQkxJQ0tFWV9PUklHXTsKKyNlbHNlCisgIGNvbnN0IGNoYXIgKiBjb25zdCBwaW5uZWRwdWJrZXkgPQorICAgIGRhdGEtPnNldC5zdHJbU1RSSU5HX1NTTF9QSU5ORURQVUJMSUNLRVlfT1JJR107CisjZW5kaWYKIAogICBjb25uLT5yZWN2W3NvY2tpbmRleF0gPSBtYmVkX3JlY3Y7CiAgIGNvbm4tPnNlbmRbc29ja2luZGV4XSA9IG1iZWRfc2VuZDsKQEAgLTkzOCw3ICs5NDgsNyBAQAogICAgICAgICBjb25uc3NsLT5jb25uZWN0aW5nX3N0YXRlP3NvY2tmZDpDVVJMX1NPQ0tFVF9CQUQ7CiAKICAgICAgIHdoYXQgPSBDdXJsX3NvY2tldF9jaGVjayhyZWFkZmQsIENVUkxfU09DS0VUX0JBRCwgd3JpdGVmZCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBub25ibG9ja2luZyA/IDAgOiAodGltZV90KXRpbWVvdXRfbXMpOworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5vbmJsb2NraW5nID8gMCA6IHRpbWVvdXRfbXMpOwogICAgICAgaWYod2hhdCA8IDApIHsKICAgICAgICAgLyogZmF0YWwgZXJyb3IgKi8KICAgICAgICAgZmFpbGYoZGF0YSwgInNlbGVjdC9wb2xsIG9uIFNTTCBzb2NrZXQsIGVycm5vOiAlZCIsIFNPQ0tFUlJOTyk7CmRpZmYgLS1naXQgYS9saWIvdnRscy9tZXNhbGluay5jIGIvbGliL3Z0bHMvbWVzYWxpbmsuYwppbmRleCBjYWIxZTM5Li43MTMyYmRmIDEwMDY0NAotLS0gYS9saWIvdnRscy9tZXNhbGluay5jCisrKyBiL2xpYi92dGxzL21lc2FsaW5rLmMKQEAgLTYsNyArNiw3IEBACiAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXF9fX3xcX19fL3xffCBcX1xfX19fX3wKICAqCiAgKiBDb3B5cmlnaHQgKEMpIDIwMTcgLSAyMDE4LCBZaW1pbmcgSmluZywgPGppbmd5aW1pbmdAYmFpZHUuY29tPgotICogQ29weXJpZ2h0IChDKSAxOTk4IC0gMjAxOSwgRGFuaWVsIFN0ZW5iZXJnLCA8ZGFuaWVsQGhheHguc2U+LCBldCBhbC4KKyAqIENvcHlyaWdodCAoQykgMTk5OCAtIDIwMjAsIERhbmllbCBTdGVuYmVyZywgPGRhbmllbEBoYXh4LnNlPiwgZXQgYWwuCiAgKgogICogVGhpcyBzb2Z0d2FyZSBpcyBsaWNlbnNlZCBhcyBkZXNjcmliZWQgaW4gdGhlIGZpbGUgQ09QWUlORywgd2hpY2gKICAqIHlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhcyBwYXJ0IG9mIHRoaXMgZGlzdHJpYnV0aW9uLiBUaGUgdGVybXMKQEAgLTU0Miw5ICs1NDIsOCBAQAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID8gc29ja2ZkCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBDVVJMX1NPQ0tFVF9CQUQ7CiAKLSAgICAgIHdoYXQgPSBDdXJsX3NvY2tldF9jaGVjaygKLSAgICAgICAgcmVhZGZkLCBDVVJMX1NPQ0tFVF9CQUQsIHdyaXRlZmQsCi0gICAgICAgIG5vbmJsb2NraW5nID8gMCA6ICh0aW1lX3QpdGltZW91dF9tcyk7CisgICAgICB3aGF0ID0gQ3VybF9zb2NrZXRfY2hlY2socmVhZGZkLCBDVVJMX1NPQ0tFVF9CQUQsIHdyaXRlZmQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbm9uYmxvY2tpbmcgPyAwIDogdGltZW91dF9tcyk7CiAgICAgICBpZih3aGF0IDwgMCkgewogICAgICAgICAvKiBmYXRhbCBlcnJvciAqLwogICAgICAgICBmYWlsZihkYXRhLCAic2VsZWN0L3BvbGwgb24gU1NMIHNvY2tldCwgZXJybm86ICVkIiwgU09DS0VSUk5PKTsKZGlmZiAtLWdpdCBhL2xpYi92dGxzL25zcy5jIGIvbGliL3Z0bHMvbnNzLmMKaW5kZXggMTZlYzQwOS4uZmNhMjkyNiAxMDA2NDQKLS0tIGEvbGliL3Z0bHMvbnNzLmMKKysrIGIvbGliL3Z0bHMvbnNzLmMKQEAgLTEwMSwxMCArMTAxLDEwIEBACiAgIHN0cnVjdCBjdXJsX2xsaXN0X2VsZW1lbnQgbm9kZTsKIH07CiAKLXR5cGVkZWYgc3RydWN0IHsKK3N0cnVjdCBjaXBoZXJfcyB7CiAgIGNvbnN0IGNoYXIgKm5hbWU7CiAgIGludCBudW07Ci19IGNpcGhlcl9zOworfTsKIAogI2RlZmluZSBQSzExX1NFVEFUVFJTKF9hdHRyLCBfaWR4LCBfdHlwZSwgX3ZhbCwgX2xlbikgZG8geyAgXAogICBDS19BVFRSSUJVVEUgKnB0ciA9IChfYXR0cikgKyAoKF9pZHgpKyspOyAgICAgICAgICAgICAgICAgXApAQCAtMTE2LDcgKzExNiw3IEBACiAjZGVmaW5lIENFUlRfTmV3VGVtcENlcnRpZmljYXRlIF9fQ0VSVF9OZXdUZW1wQ2VydGlmaWNhdGUKIAogI2RlZmluZSBOVU1fT0ZfQ0lQSEVSUyBzaXplb2YoY2lwaGVybGlzdCkvc2l6ZW9mKGNpcGhlcmxpc3RbMF0pCi1zdGF0aWMgY29uc3QgY2lwaGVyX3MgY2lwaGVybGlzdFtdID0geworc3RhdGljIGNvbnN0IHN0cnVjdCBjaXBoZXJfcyBjaXBoZXJsaXN0W10gPSB7CiAgIC8qIFNTTDIgY2lwaGVyIHN1aXRlcyAqLwogICB7InJjNCIsICAgICAgICAgICAgICAgICAgICAgICAgU1NMX0VOX1JDNF8xMjhfV0lUSF9NRDV9LAogICB7InJjNC1tZDUiLCAgICAgICAgICAgICAgICAgICAgU1NMX0VOX1JDNF8xMjhfV0lUSF9NRDV9LApkaWZmIC0tZ2l0IGEvbGliL3Z0bHMvb3BlbnNzbC5jIGIvbGliL3Z0bHMvb3BlbnNzbC5jCmluZGV4IDE3NmZhNTIuLjJlOWY5MDAgMTAwNjQ0Ci0tLSBhL2xpYi92dGxzL29wZW5zc2wuYworKysgYi9saWIvdnRscy9vcGVuc3NsLmMKQEAgLTMxLDYgKzMxLDExIEBACiAKICNpbmNsdWRlIDxsaW1pdHMuaD4KIAorLyogV2luY3J5cHQgbXVzdCBiZSBpbmNsdWRlZCBiZWZvcmUgYW55dGhpbmcgdGhhdCBjb3VsZCBpbmNsdWRlIE9wZW5TU0wuICovCisjaWYgZGVmaW5lZChVU0VfV0lOMzJfQ1JZUFRPKQorI2luY2x1ZGUgPHdpbmNyeXB0Lmg+CisjZW5kaWYKKwogI2luY2x1ZGUgInVybGRhdGEuaCIKICNpbmNsdWRlICJzZW5kZi5oIgogI2luY2x1ZGUgImZvcm1kYXRhLmgiIC8qIGZvciB0aGUgYm91bmRhcnkgZnVuY3Rpb24gKi8KQEAgLTQxLDExICs0NiwxMyBAQAogI2luY2x1ZGUgInNsaXN0LmgiCiAjaW5jbHVkZSAic2VsZWN0LmgiCiAjaW5jbHVkZSAidnRscy5oIgorI2luY2x1ZGUgImtleWxvZy5oIgogI2luY2x1ZGUgInN0cmNhc2UuaCIKICNpbmNsdWRlICJob3N0Y2hlY2suaCIKICNpbmNsdWRlICJtdWx0aWlmLmgiCiAjaW5jbHVkZSAic3RyZXJyb3IuaCIKICNpbmNsdWRlICJjdXJsX3ByaW50Zi5oIgorCiAjaW5jbHVkZSA8b3BlbnNzbC9zc2wuaD4KICNpbmNsdWRlIDxvcGVuc3NsL3JhbmQuaD4KICNpbmNsdWRlIDxvcGVuc3NsL3g1MDl2My5oPgpAQCAtMjA3LDI0ICsyMTQsMTQgQEAKICAgIkFMTDohRVhQT1JUOiFFWFBPUlQ0MDohRVhQT1JUNTY6IWFOVUxMOiFMT1c6IVJDNDpAU1RSRU5HVEgiCiAjZW5kaWYKIAotI2RlZmluZSBFTkFCTEVfU1NMS0VZTE9HRklMRQotCi0jaWZkZWYgRU5BQkxFX1NTTEtFWUxPR0ZJTEUKLXR5cGVkZWYgc3RydWN0IHNzbF90YXBfc3RhdGUgewotICBpbnQgbWFzdGVyX2tleV9sZW5ndGg7Ci0gIHVuc2lnbmVkIGNoYXIgbWFzdGVyX2tleVtTU0xfTUFYX01BU1RFUl9LRVlfTEVOR1RIXTsKLSAgdW5zaWduZWQgY2hhciBjbGllbnRfcmFuZG9tW1NTTDNfUkFORE9NX1NJWkVdOwotfSBzc2xfdGFwX3N0YXRlX3Q7Ci0jZW5kaWYgLyogRU5BQkxFX1NTTEtFWUxPR0ZJTEUgKi8KLQogc3RydWN0IHNzbF9iYWNrZW5kX2RhdGEgewogICAvKiB0aGVzZSBvbmVzIHJlcXVpcmVzIHNwZWNpZmljIFNTTC10eXBlcyAqLwogICBTU0xfQ1RYKiBjdHg7CiAgIFNTTCogICAgIGhhbmRsZTsKICAgWDUwOSogICAgc2VydmVyX2NlcnQ7Ci0jaWZkZWYgRU5BQkxFX1NTTEtFWUxPR0ZJTEUKLSAgLyogdGFwX3N0YXRlIGhvbGRzIHRoZSBsYXN0IHNlZW4gbWFzdGVyIGtleSBpZiB3ZSdyZSBsb2dnaW5nIHRoZW0gKi8KLSAgc3NsX3RhcF9zdGF0ZV90IHRhcF9zdGF0ZTsKKyNpZm5kZWYgSEFWRV9LRVlMT0dfQ0FMTEJBQ0sKKyAgLyogU2V0IHRvIHRydWUgb25jZSBhIHZhbGlkIGtleWxvZyBlbnRyeSBoYXMgYmVlbiBjcmVhdGVkIHRvIGF2b2lkIGR1cGVzLiAqLworICBib29sICAgICBrZXlsb2dfZG9uZTsKICNlbmRpZgogfTsKIApAQCAtMjM2LDU3ICsyMzMsMjcgQEAKICAqLwogI2RlZmluZSBSQU5EX0xPQURfTEVOR1RIIDEwMjQKIAotI2lmZGVmIEVOQUJMRV9TU0xLRVlMT0dGSUxFCi0vKiBUaGUgZnAgZm9yIHRoZSBvcGVuIFNTTEtFWUxPR0ZJTEUsIG9yIE5VTEwgaWYgbm90IG9wZW4gKi8KLXN0YXRpYyBGSUxFICprZXlsb2dfZmlsZV9mcDsKLQogI2lmZGVmIEhBVkVfS0VZTE9HX0NBTExCQUNLCiBzdGF0aWMgdm9pZCBvc3NsX2tleWxvZ19jYWxsYmFjayhjb25zdCBTU0wgKnNzbCwgY29uc3QgY2hhciAqbGluZSkKIHsKICAgKHZvaWQpc3NsOwogCi0gIC8qIFVzaW5nIGZwdXRzIGhlcmUgaW5zdGVhZCBvZiBmcHJpbnRmIHNpbmNlIGxpYmN1cmwncyBmcHJpbnRmIHJlcGxhY2VtZW50Ci0gICAgIG1heSBub3QgYmUgdGhyZWFkLXNhZmUuICovCi0gIGlmKGtleWxvZ19maWxlX2ZwICYmIGxpbmUgJiYgKmxpbmUpIHsKLSAgICBjaGFyIHN0YWNrYnVmWzI1Nl07Ci0gICAgY2hhciAqYnVmOwotICAgIHNpemVfdCBsaW5lbGVuID0gc3RybGVuKGxpbmUpOwotCi0gICAgaWYobGluZWxlbiA8PSBzaXplb2Yoc3RhY2tidWYpIC0gMikKLSAgICAgIGJ1ZiA9IHN0YWNrYnVmOwotICAgIGVsc2UgewotICAgICAgYnVmID0gbWFsbG9jKGxpbmVsZW4gKyAyKTsKLSAgICAgIGlmKCFidWYpCi0gICAgICAgIHJldHVybjsKLSAgICB9Ci0gICAgbWVtY3B5KGJ1ZiwgbGluZSwgbGluZWxlbik7Ci0gICAgYnVmW2xpbmVsZW5dID0gJ1xuJzsKLSAgICBidWZbbGluZWxlbiArIDFdID0gJ1wwJzsKLQotICAgIGZwdXRzKGJ1Ziwga2V5bG9nX2ZpbGVfZnApOwotICAgIGlmKGJ1ZiAhPSBzdGFja2J1ZikKLSAgICAgIGZyZWUoYnVmKTsKLSAgfQorICBDdXJsX3Rsc19rZXlsb2dfd3JpdGVfbGluZShsaW5lKTsKIH0KICNlbHNlCi0jZGVmaW5lIEtFWUxPR19QUkVGSVggICAgICAiQ0xJRU5UX1JBTkRPTSAiCi0jZGVmaW5lIEtFWUxPR19QUkVGSVhfTEVOICAoc2l6ZW9mKEtFWUxPR19QUkVGSVgpIC0gMSkKIC8qCi0gKiB0YXBfc3NsX2tleSBpcyBjYWxsZWQgYnkgbGliY3VybCB0byBtYWtlIHRoZSBDTElFTlRfUkFORE9NcyBpZiB0aGUgT3BlblNTTAotICogYmVpbmcgdXNlZCBkb2Vzbid0IGhhdmUgbmF0aXZlIHN1cHBvcnQgZm9yIGRvaW5nIHRoYXQuCisgKiBvc3NsX2xvZ190bHMxMl9zZWNyZXQgaXMgY2FsbGVkIGJ5IGxpYmN1cmwgdG8gbWFrZSB0aGUgQ0xJRU5UX1JBTkRPTXMgaWYgdGhlCisgKiBPcGVuU1NMIGJlaW5nIHVzZWQgZG9lc24ndCBoYXZlIG5hdGl2ZSBzdXBwb3J0IGZvciBkb2luZyB0aGF0LgogICovCi1zdGF0aWMgdm9pZCB0YXBfc3NsX2tleShjb25zdCBTU0wgKnNzbCwgc3NsX3RhcF9zdGF0ZV90ICpzdGF0ZSkKK3N0YXRpYyB2b2lkCitvc3NsX2xvZ190bHMxMl9zZWNyZXQoY29uc3QgU1NMICpzc2wsIGJvb2wgKmtleWxvZ19kb25lKQogewotICBjb25zdCBjaGFyICpoZXggPSAiMDEyMzQ1Njc4OUFCQ0RFRiI7Ci0gIGludCBwb3MsIGk7Ci0gIGNoYXIgbGluZVtLRVlMT0dfUFJFRklYX0xFTiArIDIgKiBTU0wzX1JBTkRPTV9TSVpFICsgMSArCi0gICAgICAgICAgICAyICogU1NMX01BWF9NQVNURVJfS0VZX0xFTkdUSCArIDEgKyAxXTsKICAgY29uc3QgU1NMX1NFU1NJT04gKnNlc3Npb24gPSBTU0xfZ2V0X3Nlc3Npb24oc3NsKTsKICAgdW5zaWduZWQgY2hhciBjbGllbnRfcmFuZG9tW1NTTDNfUkFORE9NX1NJWkVdOwogICB1bnNpZ25lZCBjaGFyIG1hc3Rlcl9rZXlbU1NMX01BWF9NQVNURVJfS0VZX0xFTkdUSF07CiAgIGludCBtYXN0ZXJfa2V5X2xlbmd0aCA9IDA7CiAKLSAgaWYoIXNlc3Npb24gfHwgIWtleWxvZ19maWxlX2ZwKQorICBpZighc2Vzc2lvbiB8fCAqa2V5bG9nX2RvbmUpCiAgICAgcmV0dXJuOwogCiAjaWYgT1BFTlNTTF9WRVJTSU9OX05VTUJFUiA+PSAweDEwMTAwMDAwTCAmJiBcCkBAIC0zMDUsNDQgKzI3MiwxNyBAQAogICB9CiAjZW5kaWYKIAorICAvKiBUaGUgaGFuZHNoYWtlIGhhcyBub3QgcHJvZ3Jlc3NlZCBzdWZmaWNpZW50bHkgeWV0LCBvciB0aGlzIGlzIGEgVExTIDEuMworICAgKiBzZXNzaW9uICh3aGVuIGN1cmwgd2FzIGJ1aWx0IHdpdGggb2xkZXIgT3BlblNTTCBoZWFkZXJzIGFuZCBydW5uaW5nIHdpdGgKKyAgICogbmV3ZXIgT3BlblNTTCBydW50aW1lIGxpYnJhcmllcykuICovCiAgIGlmKG1hc3Rlcl9rZXlfbGVuZ3RoIDw9IDApCiAgICAgcmV0dXJuOwogCi0gIC8qIFNraXAgd3JpdGluZyBrZXlzIGlmIHRoZXJlIGlzIG5vIGtleSBvciBpdCBkaWQgbm90IGNoYW5nZS4gKi8KLSAgaWYoc3RhdGUtPm1hc3Rlcl9rZXlfbGVuZ3RoID09IG1hc3Rlcl9rZXlfbGVuZ3RoICYmCi0gICAgICFtZW1jbXAoc3RhdGUtPm1hc3Rlcl9rZXksIG1hc3Rlcl9rZXksIG1hc3Rlcl9rZXlfbGVuZ3RoKSAmJgotICAgICAhbWVtY21wKHN0YXRlLT5jbGllbnRfcmFuZG9tLCBjbGllbnRfcmFuZG9tLCBTU0wzX1JBTkRPTV9TSVpFKSkgewotICAgIHJldHVybjsKLSAgfQotCi0gIHN0YXRlLT5tYXN0ZXJfa2V5X2xlbmd0aCA9IG1hc3Rlcl9rZXlfbGVuZ3RoOwotICBtZW1jcHkoc3RhdGUtPm1hc3Rlcl9rZXksIG1hc3Rlcl9rZXksIG1hc3Rlcl9rZXlfbGVuZ3RoKTsKLSAgbWVtY3B5KHN0YXRlLT5jbGllbnRfcmFuZG9tLCBjbGllbnRfcmFuZG9tLCBTU0wzX1JBTkRPTV9TSVpFKTsKLQotICBtZW1jcHkobGluZSwgS0VZTE9HX1BSRUZJWCwgS0VZTE9HX1BSRUZJWF9MRU4pOwotICBwb3MgPSBLRVlMT0dfUFJFRklYX0xFTjsKLQotICAvKiBDbGllbnQgUmFuZG9tIGZvciBTU0x2My9UTFMgKi8KLSAgZm9yKGkgPSAwOyBpIDwgU1NMM19SQU5ET01fU0laRTsgaSsrKSB7Ci0gICAgbGluZVtwb3MrK10gPSBoZXhbY2xpZW50X3JhbmRvbVtpXSA+PiA0XTsKLSAgICBsaW5lW3BvcysrXSA9IGhleFtjbGllbnRfcmFuZG9tW2ldICYgMHhGXTsKLSAgfQotICBsaW5lW3BvcysrXSA9ICcgJzsKLQotICAvKiBNYXN0ZXIgU2VjcmV0IChzaXplIGlzIGF0IG1vc3QgU1NMX01BWF9NQVNURVJfS0VZX0xFTkdUSCkgKi8KLSAgZm9yKGkgPSAwOyBpIDwgbWFzdGVyX2tleV9sZW5ndGg7IGkrKykgewotICAgIGxpbmVbcG9zKytdID0gaGV4W21hc3Rlcl9rZXlbaV0gPj4gNF07Ci0gICAgbGluZVtwb3MrK10gPSBoZXhbbWFzdGVyX2tleVtpXSAmIDB4Rl07Ci0gIH0KLSAgbGluZVtwb3MrK10gPSAnXG4nOwotICBsaW5lW3Bvc10gPSAnXDAnOwotCi0gIC8qIFVzaW5nIGZwdXRzIGhlcmUgaW5zdGVhZCBvZiBmcHJpbnRmIHNpbmNlIGxpYmN1cmwncyBmcHJpbnRmIHJlcGxhY2VtZW50Ci0gICAgIG1heSBub3QgYmUgdGhyZWFkLXNhZmUuICovCi0gIGZwdXRzKGxpbmUsIGtleWxvZ19maWxlX2ZwKTsKKyAgKmtleWxvZ19kb25lID0gdHJ1ZTsKKyAgQ3VybF90bHNfa2V5bG9nX3dyaXRlKCJDTElFTlRfUkFORE9NIiwgY2xpZW50X3JhbmRvbSwKKyAgICAgICAgICAgICAgICAgICAgICAgIG1hc3Rlcl9rZXksIG1hc3Rlcl9rZXlfbGVuZ3RoKTsKIH0KICNlbmRpZiAvKiAhSEFWRV9LRVlMT0dfQ0FMTEJBQ0sgKi8KLSNlbmRpZiAvKiBFTkFCTEVfU1NMS0VZTE9HRklMRSAqLwogCiBzdGF0aWMgY29uc3QgY2hhciAqU1NMX0VSUk9SX3RvX3N0cihpbnQgZXJyKQogewpAQCAtNjE2LDEyICs1NTYsMTM2IEBACiBzdGF0aWMgQ1VSTGNvZGUgQ3VybF9vc3NsX3NldF9lbmdpbmUoc3RydWN0IEN1cmxfZWFzeSAqZGF0YSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBjaGFyICplbmdpbmUpOwogCitzdGF0aWMgaW50CitTU0xfQ1RYX3VzZV9jZXJ0aWZpY2F0ZV9iaW8oU1NMX0NUWCAqY3R4LCBCSU8gKmluLCBpbnQgdHlwZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBjaGFyICprZXlfcGFzc3dkKQoreworICBpbnQgcmV0ID0gMDsKKyAgWDUwOSAqeCA9IE5VTEw7CisKKyAgaWYodHlwZSA9PSBTU0xfRklMRVRZUEVfQVNOMSkgeworICAgIC8qIGogPSBFUlJfUl9BU04xX0xJQjsgKi8KKyAgICB4ID0gZDJpX1g1MDlfYmlvKGluLCBOVUxMKTsKKyAgfQorICBlbHNlIGlmKHR5cGUgPT0gU1NMX0ZJTEVUWVBFX1BFTSkgeworICAgIC8qIEVSUl9SX1BFTV9MSUI7ICovCisgICAgeCA9IFBFTV9yZWFkX2Jpb19YNTA5KGluLCBOVUxMLAorICAgICAgICAgICAgICAgICAgICAgICAgICBwYXNzd2RfY2FsbGJhY2ssICh2b2lkICopa2V5X3Bhc3N3ZCk7CisgIH0KKyAgZWxzZSB7CisgICAgcmV0ID0gMDsKKyAgICBnb3RvIGVuZDsKKyAgfQorCisgIGlmKHggPT0gTlVMTCkgeworICAgIHJldCA9IDA7CisgICAgZ290byBlbmQ7CisgIH0KKworICByZXQgPSBTU0xfQ1RYX3VzZV9jZXJ0aWZpY2F0ZShjdHgsIHgpOworIGVuZDoKKyAgWDUwOV9mcmVlKHgpOworICByZXR1cm4gcmV0OworfQorCitzdGF0aWMgaW50CitTU0xfQ1RYX3VzZV9Qcml2YXRlS2V5X2JpbyhTU0xfQ1RYICpjdHgsIEJJTyogaW4sIGludCB0eXBlLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgY2hhciAqa2V5X3Bhc3N3ZCkKK3sKKyAgaW50IHJldCA9IDA7CisgIEVWUF9QS0VZICpwa2V5ID0gTlVMTDsKKworICBpZih0eXBlID09IFNTTF9GSUxFVFlQRV9QRU0pCisgICAgcGtleSA9IFBFTV9yZWFkX2Jpb19Qcml2YXRlS2V5KGluLCBOVUxMLCBwYXNzd2RfY2FsbGJhY2ssCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICh2b2lkICopa2V5X3Bhc3N3ZCk7CisgIGVsc2UgaWYodHlwZSA9PSBTU0xfRklMRVRZUEVfQVNOMSkKKyAgICBwa2V5ID0gZDJpX1ByaXZhdGVLZXlfYmlvKGluLCBOVUxMKTsKKyAgZWxzZSB7CisgICAgcmV0ID0gMDsKKyAgICBnb3RvIGVuZDsKKyAgfQorICBpZihwa2V5ID09IE5VTEwpIHsKKyAgICByZXQgPSAwOworICAgIGdvdG8gZW5kOworICB9CisgIHJldCA9IFNTTF9DVFhfdXNlX1ByaXZhdGVLZXkoY3R4LCBwa2V5KTsKKyAgRVZQX1BLRVlfZnJlZShwa2V5KTsKKyAgZW5kOgorICByZXR1cm4gcmV0OworfQorCitzdGF0aWMgaW50CitTU0xfQ1RYX3VzZV9jZXJ0aWZpY2F0ZV9jaGFpbl9iaW8oU1NMX0NUWCAqY3R4LCBCSU8qIGluLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGNoYXIgKmtleV9wYXNzd2QpCit7CisvKiBTU0xfQ1RYX2FkZDFfY2hhaW5fY2VydCBpbnRyb2R1Y2VkIGluIE9wZW5TU0wgMS4wLjIgKi8KKyNpZiAoT1BFTlNTTF9WRVJTSU9OX05VTUJFUiA+PSAweDEwMDAyMDBmTCkgLyogMS4wLjIgb3IgbGF0ZXIgKi8KKyAgaW50IHJldCA9IDA7CisgIFg1MDkgKnggPSBOVUxMOworICB2b2lkICpwYXNzd2RfY2FsbGJhY2tfdXNlcmRhdGEgPSAodm9pZCAqKWtleV9wYXNzd2Q7CisKKyAgRVJSX2NsZWFyX2Vycm9yKCk7CisKKyAgeCA9IFBFTV9yZWFkX2Jpb19YNTA5X0FVWChpbiwgTlVMTCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYXNzd2RfY2FsbGJhY2ssICh2b2lkICopa2V5X3Bhc3N3ZCk7CisKKyAgaWYoeCA9PSBOVUxMKSB7CisgICAgcmV0ID0gMDsKKyAgICBnb3RvIGVuZDsKKyAgfQorCisgIHJldCA9IFNTTF9DVFhfdXNlX2NlcnRpZmljYXRlKGN0eCwgeCk7CisKKyAgaWYoRVJSX3BlZWtfZXJyb3IoKSAhPSAwKQorICAgICAgcmV0ID0gMDsKKworICBpZihyZXQpIHsKKyAgICBYNTA5ICpjYTsKKyAgICB1bnNpZ25lZCBsb25nIGVycjsKKworICAgIGlmKCFTU0xfQ1RYX2NsZWFyX2NoYWluX2NlcnRzKGN0eCkpIHsKKyAgICAgIHJldCA9IDA7CisgICAgICBnb3RvIGVuZDsKKyAgICB9CisKKyAgICB3aGlsZSgoY2EgPSBQRU1fcmVhZF9iaW9fWDUwOShpbiwgTlVMTCwgcGFzc3dkX2NhbGxiYWNrLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhc3N3ZF9jYWxsYmFja191c2VyZGF0YSkpCisgICAgICAgICAgIT0gTlVMTCkgeworCisgICAgICBpZighU1NMX0NUWF9hZGQwX2NoYWluX2NlcnQoY3R4LCBjYSkpIHsKKyAgICAgICAgWDUwOV9mcmVlKGNhKTsKKyAgICAgICAgcmV0ID0gMDsKKyAgICAgICAgZ290byBlbmQ7CisgICAgICB9CisgICAgfQorCisgICAgZXJyID0gRVJSX3BlZWtfbGFzdF9lcnJvcigpOworICAgIGlmKChFUlJfR0VUX0xJQihlcnIpID09IEVSUl9MSUJfUEVNKSAmJgorICAgICAgIChFUlJfR0VUX1JFQVNPTihlcnIpID09IFBFTV9SX05PX1NUQVJUX0xJTkUpKQorICAgICAgRVJSX2NsZWFyX2Vycm9yKCk7CisgICAgZWxzZQorICAgICAgcmV0ID0gMDsKKyAgfQorCisgZW5kOgorICBYNTA5X2ZyZWUoeCk7CisgIHJldHVybiByZXQ7CisjZWxzZQorICAodm9pZCljdHg7IC8qIHVudXNlZCAqLworICAodm9pZClpbjsgLyogdW51c2VkICovCisgICh2b2lkKWtleV9wYXNzd2Q7IC8qIHVudXNlZCAqLworICByZXR1cm4gMDsKKyNlbmRpZgorfQorCiBzdGF0aWMKIGludCBjZXJ0X3N0dWZmKHN0cnVjdCBjb25uZWN0ZGF0YSAqY29ubiwKICAgICAgICAgICAgICAgIFNTTF9DVFgqIGN0eCwKICAgICAgICAgICAgICAgIGNoYXIgKmNlcnRfZmlsZSwKKyAgICAgICAgICAgICAgIEJJTyAqY2VydF9iaW8sCiAgICAgICAgICAgICAgICBjb25zdCBjaGFyICpjZXJ0X3R5cGUsCiAgICAgICAgICAgICAgICBjaGFyICprZXlfZmlsZSwKKyAgICAgICAgICAgICAgIEJJTyoga2V5X2JpbywKICAgICAgICAgICAgICAgIGNvbnN0IGNoYXIgKmtleV90eXBlLAogICAgICAgICAgICAgICAgY2hhciAqa2V5X3Bhc3N3ZCkKIHsKQEAgLTYzMSwxMCArNjk1LDExIEBACiAKICAgaW50IGZpbGVfdHlwZSA9IGRvX2ZpbGVfdHlwZShjZXJ0X3R5cGUpOwogCi0gIGlmKGNlcnRfZmlsZSB8fCAoZmlsZV90eXBlID09IFNTTF9GSUxFVFlQRV9FTkdJTkUpKSB7CisgIGlmKGNlcnRfZmlsZSB8fCBjZXJ0X2JpbyB8fCAoZmlsZV90eXBlID09IFNTTF9GSUxFVFlQRV9FTkdJTkUpKSB7CiAgICAgU1NMICpzc2w7CiAgICAgWDUwOSAqeDUwOTsKICAgICBpbnQgY2VydF9kb25lID0gMDsKKyAgICBpbnQgY2VydF91c2VfcmVzdWx0OwogCiAgICAgaWYoa2V5X3Bhc3N3ZCkgewogICAgICAgLyogc2V0IHRoZSBwYXNzd29yZCBpbiB0aGUgY2FsbGJhY2sgdXNlcmRhdGEgKi8KQEAgLTY0Nyw4ICs3MTIsMTAgQEAKICAgICBzd2l0Y2goZmlsZV90eXBlKSB7CiAgICAgY2FzZSBTU0xfRklMRVRZUEVfUEVNOgogICAgICAgLyogU1NMX0NUWF91c2VfY2VydGlmaWNhdGVfY2hhaW5fZmlsZSgpIG9ubHkgd29ya3Mgb24gUEVNIGZpbGVzICovCi0gICAgICBpZihTU0xfQ1RYX3VzZV9jZXJ0aWZpY2F0ZV9jaGFpbl9maWxlKGN0eCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2VydF9maWxlKSAhPSAxKSB7CisgICAgICBjZXJ0X3VzZV9yZXN1bHQgPSBjZXJ0X2JpbyA/CisgICAgICAgICAgU1NMX0NUWF91c2VfY2VydGlmaWNhdGVfY2hhaW5fYmlvKGN0eCwgY2VydF9iaW8sIGtleV9wYXNzd2QpIDoKKyAgICAgICAgICBTU0xfQ1RYX3VzZV9jZXJ0aWZpY2F0ZV9jaGFpbl9maWxlKGN0eCwgY2VydF9maWxlKTsKKyAgICAgIGlmKGNlcnRfdXNlX3Jlc3VsdCAhPSAxKSB7CiAgICAgICAgIGZhaWxmKGRhdGEsCiAgICAgICAgICAgICAgICJjb3VsZCBub3QgbG9hZCBQRU0gY2xpZW50IGNlcnRpZmljYXRlLCAiIE9TU0xfUEFDS0FHRQogICAgICAgICAgICAgICAiIGVycm9yICVzLCAiCkBAIC02NjMsOSArNzMwLDEyIEBACiAgICAgICAvKiBTU0xfQ1RYX3VzZV9jZXJ0aWZpY2F0ZV9maWxlKCkgd29ya3Mgd2l0aCBlaXRoZXIgUEVNIG9yIEFTTjEsIGJ1dAogICAgICAgICAgd2UgdXNlIHRoZSBjYXNlIGFib3ZlIGZvciBQRU0gc28gdGhpcyBjYW4gb25seSBiZSBwZXJmb3JtZWQgd2l0aAogICAgICAgICAgQVNOMSBmaWxlcy4gKi8KLSAgICAgIGlmKFNTTF9DVFhfdXNlX2NlcnRpZmljYXRlX2ZpbGUoY3R4LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjZXJ0X2ZpbGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZpbGVfdHlwZSkgIT0gMSkgeworCisgICAgICBjZXJ0X3VzZV9yZXN1bHQgPSBjZXJ0X2JpbyA/CisgICAgICAgICAgU1NMX0NUWF91c2VfY2VydGlmaWNhdGVfYmlvKGN0eCwgY2VydF9iaW8sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZpbGVfdHlwZSwga2V5X3Bhc3N3ZCkgOgorICAgICAgICAgIFNTTF9DVFhfdXNlX2NlcnRpZmljYXRlX2ZpbGUoY3R4LCBjZXJ0X2ZpbGUsIGZpbGVfdHlwZSk7CisgICAgICBpZihjZXJ0X3VzZV9yZXN1bHQgIT0gMSkgewogICAgICAgICBmYWlsZihkYXRhLAogICAgICAgICAgICAgICAiY291bGQgbm90IGxvYWQgQVNOMSBjbGllbnQgY2VydGlmaWNhdGUsICIgT1NTTF9QQUNLQUdFCiAgICAgICAgICAgICAgICIgZXJyb3IgJXMsICIKQEAgLTc0NSwyNyArODE1LDMxIEBACiAgICAgICBQS0NTMTIgKnAxMiA9IE5VTEw7CiAgICAgICBFVlBfUEtFWSAqcHJpOwogICAgICAgU1RBQ0tfT0YoWDUwOSkgKmNhID0gTlVMTDsKKyAgICAgIGlmKCFjZXJ0X2JpbykgeworICAgICAgICBmcCA9IEJJT19uZXcoQklPX3NfZmlsZSgpKTsKKyAgICAgICAgaWYoZnAgPT0gTlVMTCkgeworICAgICAgICAgIGZhaWxmKGRhdGEsCisgICAgICAgICAgICAgICAgIkJJT19uZXcgcmV0dXJuIE5VTEwsICIgT1NTTF9QQUNLQUdFCisgICAgICAgICAgICAgICAgIiBlcnJvciAlcyIsCisgICAgICAgICAgICAgICAgb3NzbF9zdHJlcnJvcihFUlJfZ2V0X2Vycm9yKCksIGVycm9yX2J1ZmZlciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNpemVvZihlcnJvcl9idWZmZXIpKSApOworICAgICAgICAgIHJldHVybiAwOworICAgICAgICB9CiAKLSAgICAgIGZwID0gQklPX25ldyhCSU9fc19maWxlKCkpOwotICAgICAgaWYoZnAgPT0gTlVMTCkgewotICAgICAgICBmYWlsZihkYXRhLAotICAgICAgICAgICAgICAiQklPX25ldyByZXR1cm4gTlVMTCwgIiBPU1NMX1BBQ0tBR0UKLSAgICAgICAgICAgICAgIiBlcnJvciAlcyIsCi0gICAgICAgICAgICAgIG9zc2xfc3RyZXJyb3IoRVJSX2dldF9lcnJvcigpLCBlcnJvcl9idWZmZXIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgc2l6ZW9mKGVycm9yX2J1ZmZlcikpICk7Ci0gICAgICAgIHJldHVybiAwOworICAgICAgICBpZihCSU9fcmVhZF9maWxlbmFtZShmcCwgY2VydF9maWxlKSA8PSAwKSB7CisgICAgICAgICAgZmFpbGYoZGF0YSwgImNvdWxkIG5vdCBvcGVuIFBLQ1MxMiBmaWxlICclcyciLCBjZXJ0X2ZpbGUpOworICAgICAgICAgIEJJT19mcmVlKGZwKTsKKyAgICAgICAgICByZXR1cm4gMDsKKyAgICAgICAgfQogICAgICAgfQogCi0gICAgICBpZihCSU9fcmVhZF9maWxlbmFtZShmcCwgY2VydF9maWxlKSA8PSAwKSB7Ci0gICAgICAgIGZhaWxmKGRhdGEsICJjb3VsZCBub3Qgb3BlbiBQS0NTMTIgZmlsZSAnJXMnIiwgY2VydF9maWxlKTsKKyAgICAgIHAxMiA9IGQyaV9QS0NTMTJfYmlvKGNlcnRfYmlvID8gY2VydF9iaW8gOiBmcCwgTlVMTCk7CisgICAgICBpZihmcCkKICAgICAgICAgQklPX2ZyZWUoZnApOwotICAgICAgICByZXR1cm4gMDsKLSAgICAgIH0KLSAgICAgIHAxMiA9IGQyaV9QS0NTMTJfYmlvKGZwLCBOVUxMKTsKLSAgICAgIEJJT19mcmVlKGZwKTsKIAogICAgICAgaWYoIXAxMikgewotICAgICAgICBmYWlsZihkYXRhLCAiZXJyb3IgcmVhZGluZyBQS0NTMTIgZmlsZSAnJXMnIiwgY2VydF9maWxlKTsKKyAgICAgICAgZmFpbGYoZGF0YSwgImVycm9yIHJlYWRpbmcgUEtDUzEyIGZpbGUgJyVzJyIsCisgICAgICAgICAgICAgIGNlcnRfYmlvID8gIihtZW1vcnkgYmxvYikiIDogY2VydF9maWxlKTsKICAgICAgICAgcmV0dXJuIDA7CiAgICAgICB9CiAKQEAgLTg0Niw4ICs5MjAsMTAgQEAKICAgICAgIHJldHVybiAwOwogICAgIH0KIAotICAgIGlmKCFrZXlfZmlsZSkKKyAgICBpZigoIWtleV9maWxlKSAmJiAoIWtleV9iaW8pKSB7CiAgICAgICBrZXlfZmlsZSA9IGNlcnRfZmlsZTsKKyAgICAgIGtleV9iaW8gPSBjZXJ0X2JpbzsKKyAgICB9CiAgICAgZWxzZQogICAgICAgZmlsZV90eXBlID0gZG9fZmlsZV90eXBlKGtleV90eXBlKTsKIApAQCAtODU3LDkgKzkzMywxMiBAQAogICAgICAgICBicmVhazsKICAgICAgIC8qIEZBTExUSFJPVUdIICovCiAgICAgY2FzZSBTU0xfRklMRVRZUEVfQVNOMToKLSAgICAgIGlmKFNTTF9DVFhfdXNlX1ByaXZhdGVLZXlfZmlsZShjdHgsIGtleV9maWxlLCBmaWxlX3R5cGUpICE9IDEpIHsKKyAgICAgIGNlcnRfdXNlX3Jlc3VsdCA9IGtleV9iaW8gPworICAgICAgICBTU0xfQ1RYX3VzZV9Qcml2YXRlS2V5X2JpbyhjdHgsIGtleV9iaW8sIGZpbGVfdHlwZSwga2V5X3Bhc3N3ZCkgOgorICAgICAgICBTU0xfQ1RYX3VzZV9Qcml2YXRlS2V5X2ZpbGUoY3R4LCBrZXlfZmlsZSwgZmlsZV90eXBlKTsKKyAgICAgIGlmKGNlcnRfdXNlX3Jlc3VsdCAhPSAxKSB7CiAgICAgICAgIGZhaWxmKGRhdGEsICJ1bmFibGUgdG8gc2V0IHByaXZhdGUga2V5IGZpbGU6ICclcycgdHlwZSAlcyIsCi0gICAgICAgICAgICAgIGtleV9maWxlLCBrZXlfdHlwZT9rZXlfdHlwZToiUEVNIik7CisgICAgICAgICAgICAgIGtleV9maWxlP2tleV9maWxlOiIobWVtb3J5IGJsb2IpIiwga2V5X3R5cGU/a2V5X3R5cGU6IlBFTSIpOwogICAgICAgICByZXR1cm4gMDsKICAgICAgIH0KICAgICAgIGJyZWFrOwpAQCAtMTAxOSwxMCArMTA5OCw2IEBACiAgKi8KIHN0YXRpYyBpbnQgQ3VybF9vc3NsX2luaXQodm9pZCkKIHsKLSNpZmRlZiBFTkFCTEVfU1NMS0VZTE9HRklMRQotICBjaGFyICprZXlsb2dfZmlsZV9uYW1lOwotI2VuZGlmCi0KICAgT1BFTlNTTF9sb2FkX2J1aWx0aW5fbW9kdWxlcygpOwogCiAjaWZkZWYgVVNFX09QRU5TU0xfRU5HSU5FCkBAIC0xMDU1LDI2ICsxMTMwLDcgQEAKICAgT3BlblNTTF9hZGRfYWxsX2FsZ29yaXRobXMoKTsKICNlbmRpZgogCi0jaWZkZWYgRU5BQkxFX1NTTEtFWUxPR0ZJTEUKLSAgaWYoIWtleWxvZ19maWxlX2ZwKSB7Ci0gICAga2V5bG9nX2ZpbGVfbmFtZSA9IGN1cmxfZ2V0ZW52KCJTU0xLRVlMT0dGSUxFIik7Ci0gICAgaWYoa2V5bG9nX2ZpbGVfbmFtZSkgewotICAgICAga2V5bG9nX2ZpbGVfZnAgPSBmb3BlbihrZXlsb2dfZmlsZV9uYW1lLCBGT1BFTl9BUFBFTkRURVhUKTsKLSAgICAgIGlmKGtleWxvZ19maWxlX2ZwKSB7Ci0jaWZkZWYgV0lOMzIKLSAgICAgICAgaWYoc2V0dmJ1ZihrZXlsb2dfZmlsZV9mcCwgTlVMTCwgX0lPTkJGLCAwKSkKLSNlbHNlCi0gICAgICAgIGlmKHNldHZidWYoa2V5bG9nX2ZpbGVfZnAsIE5VTEwsIF9JT0xCRiwgNDA5NikpCi0jZW5kaWYKLSAgICAgICAgewotICAgICAgICAgIGZjbG9zZShrZXlsb2dfZmlsZV9mcCk7Ci0gICAgICAgICAga2V5bG9nX2ZpbGVfZnAgPSBOVUxMOwotICAgICAgICB9Ci0gICAgICB9Ci0gICAgICBDdXJsX3NhZmVmcmVlKGtleWxvZ19maWxlX25hbWUpOwotICAgIH0KLSAgfQotI2VuZGlmCisgIEN1cmxfdGxzX2tleWxvZ19vcGVuKCk7CiAKICAgLyogSW5pdGlhbGl6ZSB0aGUgZXh0cmEgZGF0YSBpbmRleGVzICovCiAgIGlmKG9zc2xfZ2V0X3NzbF9jb25uX2luZGV4KCkgPCAwIHx8IG9zc2xfZ2V0X3NzbF9zb2NraW5kZXhfaW5kZXgoKSA8IDApCkBAIC0xMTE3LDEyICsxMTczLDcgQEAKICNlbmRpZgogI2VuZGlmCiAKLSNpZmRlZiBFTkFCTEVfU1NMS0VZTE9HRklMRQotICBpZihrZXlsb2dfZmlsZV9mcCkgewotICAgIGZjbG9zZShrZXlsb2dfZmlsZV9mcCk7Ci0gICAga2V5bG9nX2ZpbGVfZnAgPSBOVUxMOwotICB9Ci0jZW5kaWYKKyAgQ3VybF90bHNfa2V5bG9nX2Nsb3NlKCk7CiB9CiAKIC8qCkBAIC0xMjg5LDcgKzEzNDAsOSBAQAogc3RhdGljIHZvaWQgQ3VybF9vc3NsX2Nsb3NlKHN0cnVjdCBjb25uZWN0ZGF0YSAqY29ubiwgaW50IHNvY2tpbmRleCkKIHsKICAgb3NzbF9jbG9zZSgmY29ubi0+c3NsW3NvY2tpbmRleF0pOworI2lmbmRlZiBDVVJMX0RJU0FCTEVfUFJPWFkKICAgb3NzbF9jbG9zZSgmY29ubi0+cHJveHlfc3NsW3NvY2tpbmRleF0pOworI2VuZGlmCiB9CiAKIC8qCkBAIC0xNTE2LDEwICsxNTY5LDE2IEBACiAgIENVUkxjb2RlIHJlc3VsdCA9IENVUkxFX09LOwogICBib29sIGROU05hbWUgPSBGQUxTRTsgLyogaWYgYSBkTlNOYW1lIGZpZWxkIGV4aXN0cyBpbiB0aGUgY2VydCAqLwogICBib29sIGlQQWRkcmVzcyA9IEZBTFNFOyAvKiBpZiBhIGlQQWRkcmVzcyBmaWVsZCBleGlzdHMgaW4gdGhlIGNlcnQgKi8KLSAgY29uc3QgY2hhciAqIGNvbnN0IGhvc3RuYW1lID0gU1NMX0lTX1BST1hZKCkgPyBjb25uLT5odHRwX3Byb3h5Lmhvc3QubmFtZSA6Ci0gICAgY29ubi0+aG9zdC5uYW1lOworI2lmbmRlZiBDVVJMX0RJU0FCTEVfUFJPWFkKKyAgY29uc3QgY2hhciAqIGNvbnN0IGhvc3RuYW1lID0gU1NMX0lTX1BST1hZKCkgPworICAgIGNvbm4tPmh0dHBfcHJveHkuaG9zdC5uYW1lIDogY29ubi0+aG9zdC5uYW1lOwogICBjb25zdCBjaGFyICogY29uc3QgZGlzcG5hbWUgPSBTU0xfSVNfUFJPWFkoKSA/CiAgICAgY29ubi0+aHR0cF9wcm94eS5ob3N0LmRpc3BuYW1lIDogY29ubi0+aG9zdC5kaXNwbmFtZTsKKyNlbHNlCisgIC8qIGRpc2FibGVkIHByb3h5IHN1cHBvcnQgKi8KKyAgY29uc3QgY2hhciAqIGNvbnN0IGhvc3RuYW1lID0gY29ubi0+aG9zdC5uYW1lOworICBjb25zdCBjaGFyICogY29uc3QgZGlzcG5hbWUgPSBjb25uLT5ob3N0LmRpc3BuYW1lOworI2VuZGlmCiAKICNpZmRlZiBFTkFCTEVfSVBWNgogICBpZihjb25uLT5iaXRzLmlwdjZfaXAgJiYKQEAgLTE1NzcsNyArMTYzNiw3IEBACiAgICAgICAgICAgICAgdHlwZSBpdHNlbGY6IGZvciBleGFtcGxlIGZvciBhbiBJQTVTdHJpbmcgdGhlIGRhdGEgd2lsbCBiZSBBU0NJSSIKIAogICAgICAgICAgICAgIEl0IGhhcyBiZWVuIGhvd2V2ZXIgdmVyaWZpZWQgdGhhdCBpbiAwLjkuNiBhbmQgMC45LjcsIElBNVN0cmluZwotICAgICAgICAgICAgIGlzIGFsd2F5cyB6ZXJvLXRlcm1pbmF0ZWQuCisgICAgICAgICAgICAgaXMgYWx3YXlzIG51bGwtdGVybWluYXRlZC4KICAgICAgICAgICAqLwogICAgICAgICAgIGlmKChhbHRsZW4gPT0gc3RybGVuKGFsdHB0cikpICYmCiAgICAgICAgICAgICAgLyogaWYgdGhpcyBpc24ndCB0cnVlLCB0aGVyZSB3YXMgYW4gZW1iZWRkZWQgemVybyBpbiB0aGUgbmFtZQpAQCAtMjM5OCwyMSArMjQ1NywzMSBAQAogCiAjaWZkZWYgU1NMX0NUUkxfU0VUX1RMU0VYVF9IT1NUTkFNRQogICBib29sIHNuaTsKKyNpZm5kZWYgQ1VSTF9ESVNBQkxFX1BST1hZCiAgIGNvbnN0IGNoYXIgKiBjb25zdCBob3N0bmFtZSA9IFNTTF9JU19QUk9YWSgpID8gY29ubi0+aHR0cF9wcm94eS5ob3N0Lm5hbWUgOgogICAgIGNvbm4tPmhvc3QubmFtZTsKKyNlbHNlCisgIGNvbnN0IGNoYXIgKiBjb25zdCBob3N0bmFtZSA9IGNvbm4tPmhvc3QubmFtZTsKKyNlbmRpZgorCiAjaWZkZWYgRU5BQkxFX0lQVjYKICAgc3RydWN0IGluNl9hZGRyIGFkZHI7CiAjZWxzZQogICBzdHJ1Y3QgaW5fYWRkciBhZGRyOwogI2VuZGlmCiAjZW5kaWYKKyNpZm5kZWYgQ1VSTF9ESVNBQkxFX1BST1hZCiAgIGxvbmcgKiBjb25zdCBjZXJ0dmVyaWZ5cmVzdWx0ID0gU1NMX0lTX1BST1hZKCkgPwogICAgICZkYXRhLT5zZXQucHJveHlfc3NsLmNlcnR2ZXJpZnlyZXN1bHQgOiAmZGF0YS0+c2V0LnNzbC5jZXJ0dmVyaWZ5cmVzdWx0OworI2Vsc2UKKyAgbG9uZyAqIGNvbnN0IGNlcnR2ZXJpZnlyZXN1bHQgPSAmZGF0YS0+c2V0LnNzbC5jZXJ0dmVyaWZ5cmVzdWx0OworI2VuZGlmCiAgIGNvbnN0IGxvbmcgaW50IHNzbF92ZXJzaW9uID0gU1NMX0NPTk5fQ09ORklHKHZlcnNpb24pOwogI2lmZGVmIFVTRV9UTFNfU1JQCiAgIGNvbnN0IGVudW0gQ1VSTF9UTFNBVVRIIHNzbF9hdXRodHlwZSA9IFNTTF9TRVRfT1BUSU9OKGF1dGh0eXBlKTsKICNlbmRpZgogICBjaGFyICogY29uc3Qgc3NsX2NlcnQgPSBTU0xfU0VUX09QVElPTihjZXJ0KTsKKyAgY29uc3Qgc3RydWN0IGN1cmxfYmxvYiAqc3NsX2NlcnRfYmxvYiA9IFNTTF9TRVRfT1BUSU9OKGNlcnRfYmxvYik7CiAgIGNvbnN0IGNoYXIgKiBjb25zdCBzc2xfY2VydF90eXBlID0gU1NMX1NFVF9PUFRJT04oY2VydF90eXBlKTsKICAgY29uc3QgY2hhciAqIGNvbnN0IHNzbF9jYWZpbGUgPSBTU0xfQ09OTl9DT05GSUcoQ0FmaWxlKTsKICAgY29uc3QgY2hhciAqIGNvbnN0IHNzbF9jYXBhdGggPSBTU0xfQ09OTl9DT05GSUcoQ0FwYXRoKTsKQEAgLTI0MjAsNiArMjQ4OSw3IEBACiAgIGNvbnN0IGNoYXIgKiBjb25zdCBzc2xfY3JsZmlsZSA9IFNTTF9TRVRfT1BUSU9OKENSTGZpbGUpOwogICBjaGFyIGVycm9yX2J1ZmZlclsyNTZdOwogICBzdHJ1Y3Qgc3NsX2JhY2tlbmRfZGF0YSAqYmFja2VuZCA9IGNvbm5zc2wtPmJhY2tlbmQ7CisgIGJvb2wgaW1wb3J0ZWRfbmF0aXZlX2NhID0gZmFsc2U7CiAKICAgREVCVUdBU1NFUlQoc3NsX2Nvbm5lY3RfMSA9PSBjb25uc3NsLT5jb25uZWN0aW5nX3N0YXRlKTsKIApAQCAtMjYzNCw4ICsyNzA0LDExIEBACiAgICAgdW5zaWduZWQgY2hhciBwcm90b2NvbHNbMTI4XTsKIAogI2lmZGVmIFVTRV9OR0hUVFAyCi0gICAgaWYoZGF0YS0+c2V0Lmh0dHB2ZXJzaW9uID49IENVUkxfSFRUUF9WRVJTSU9OXzIgJiYKLSAgICAgICAoIVNTTF9JU19QUk9YWSgpIHx8ICFjb25uLT5iaXRzLnR1bm5lbF9wcm94eSkpIHsKKyAgICBpZihkYXRhLT5zZXQuaHR0cHZlcnNpb24gPj0gQ1VSTF9IVFRQX1ZFUlNJT05fMgorI2lmbmRlZiBDVVJMX0RJU0FCTEVfUFJPWFkKKyAgICAgICAmJiAoIVNTTF9JU19QUk9YWSgpIHx8ICFjb25uLT5iaXRzLnR1bm5lbF9wcm94eSkKKyNlbmRpZgorICAgICAgKSB7CiAgICAgICBwcm90b2NvbHNbY3VyKytdID0gTkdIVFRQMl9QUk9UT19WRVJTSU9OX0lEX0xFTjsKIAogICAgICAgbWVtY3B5KCZwcm90b2NvbHNbY3VyXSwgTkdIVFRQMl9QUk9UT19WRVJTSU9OX0lELApAQCAtMjY1NywxMCArMjczMCwzMyBAQAogICB9CiAjZW5kaWYKIAotICBpZihzc2xfY2VydCB8fCBzc2xfY2VydF90eXBlKSB7Ci0gICAgaWYoIWNlcnRfc3R1ZmYoY29ubiwgYmFja2VuZC0+Y3R4LCBzc2xfY2VydCwgc3NsX2NlcnRfdHlwZSwKLSAgICAgICAgICAgICAgICAgICBTU0xfU0VUX09QVElPTihrZXkpLCBTU0xfU0VUX09QVElPTihrZXlfdHlwZSksCi0gICAgICAgICAgICAgICAgICAgU1NMX1NFVF9PUFRJT04oa2V5X3Bhc3N3ZCkpKSB7CisgIGlmKHNzbF9jZXJ0IHx8IHNzbF9jZXJ0X2Jsb2IgfHwgc3NsX2NlcnRfdHlwZSkgeworICAgIEJJTyAqc3NsX2NlcnRfYmlvID0gTlVMTDsKKyAgICBCSU8gKnNzbF9rZXlfYmlvID0gTlVMTDsKKyAgICBpbnQgcmVzdWx0X2NlcnRfc3R1ZmY7CisgICAgaWYoc3NsX2NlcnRfYmxvYikgeworICAgICAgLyogdGhlIHR5cGVjYXN0IG9mIGJsb2ItPmxlbiBpcyBmaW5lIHNpbmNlIGl0IGlzIGd1YXJhbnRlZWQgdG8gbmV2ZXIgYmUKKyAgICAgICAgIGxhcmdlciB0aGFuIENVUkxfTUFYX0lOUFVUX0xFTkdUSCAqLworICAgICAgc3NsX2NlcnRfYmlvID0gQklPX25ld19tZW1fYnVmKHNzbF9jZXJ0X2Jsb2ItPmRhdGEsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGludClzc2xfY2VydF9ibG9iLT5sZW4pOworICAgICAgaWYoIXNzbF9jZXJ0X2JpbykKKyAgICAgICAgcmV0dXJuIENVUkxFX1NTTF9DRVJUUFJPQkxFTTsKKyAgICB9CisgICAgaWYoU1NMX1NFVF9PUFRJT04oa2V5X2Jsb2IpKSB7CisgICAgICBzc2xfa2V5X2JpbyA9IEJJT19uZXdfbWVtX2J1ZihTU0xfU0VUX09QVElPTihrZXlfYmxvYiktPmRhdGEsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoaW50KVNTTF9TRVRfT1BUSU9OKGtleV9ibG9iKS0+bGVuKTsKKyAgICAgIGlmKCFzc2xfa2V5X2JpbykKKyAgICAgICAgcmV0dXJuIENVUkxFX1NTTF9DRVJUUFJPQkxFTTsKKyAgICB9CisgICAgcmVzdWx0X2NlcnRfc3R1ZmYgPSBjZXJ0X3N0dWZmKGNvbm4sIGJhY2tlbmQtPmN0eCwKKyAgICAgICAgICAgICAgICAgICBzc2xfY2VydCwgc3NsX2NlcnRfYmlvLCBzc2xfY2VydF90eXBlLAorICAgICAgICAgICAgICAgICAgIFNTTF9TRVRfT1BUSU9OKGtleSksIHNzbF9rZXlfYmlvLAorICAgICAgICAgICAgICAgICAgIFNTTF9TRVRfT1BUSU9OKGtleV90eXBlKSwgU1NMX1NFVF9PUFRJT04oa2V5X3Bhc3N3ZCkpOworICAgIGlmKHNzbF9jZXJ0X2JpbykKKyAgICAgIEJJT19mcmVlKHNzbF9jZXJ0X2Jpbyk7CisgICAgaWYoc3NsX2tleV9iaW8pCisgICAgICBCSU9fZnJlZShzc2xfa2V5X2Jpbyk7CisgICAgaWYoIXJlc3VsdF9jZXJ0X3N0dWZmKSB7CiAgICAgICAvKiBmYWlsZigpIGlzIGFscmVhZHkgZG9uZSBpbiBjZXJ0X3N0dWZmKCkgKi8KICAgICAgIHJldHVybiBDVVJMRV9TU0xfQ0VSVFBST0JMRU07CiAgICAgfQpAQCAtMjcyMCwzOCArMjgxNiwxODYgQEAKICAgfQogI2VuZGlmCiAKKworI2lmIGRlZmluZWQoVVNFX1dJTjMyX0NSWVBUTykKKyAgLyogSW1wb3J0IGNlcnRpZmljYXRlcyBmcm9tIHRoZSBXaW5kb3dzIHJvb3QgY2VydGlmaWNhdGUgc3RvcmUgaWYgcmVxdWVzdGVkLgorICAgICBodHRwczovL3N0YWNrb3ZlcmZsb3cuY29tL3F1ZXN0aW9ucy85NTA3MTg0LworICAgICBodHRwczovL2dpdGh1Yi5jb20vZDN4MHIvU0FDSy9ibG9iL21hc3Rlci9zcmMvbmV0bGliL3NzbF9sYXllci5jI0wxMDM3CisgICAgIGh0dHBzOi8vdG9vbHMuaWV0Zi5vcmcvaHRtbC9yZmM1MjgwICovCisgIGlmKChTU0xfQ09OTl9DT05GSUcodmVyaWZ5cGVlcikgfHwgU1NMX0NPTk5fQ09ORklHKHZlcmlmeWhvc3QpKSAmJgorICAgICAoU1NMX1NFVF9PUFRJT04obmF0aXZlX2NhX3N0b3JlKSkpIHsKKyAgICBYNTA5X1NUT1JFICpzdG9yZSA9IFNTTF9DVFhfZ2V0X2NlcnRfc3RvcmUoYmFja2VuZC0+Y3R4KTsKKyAgICBIQ0VSVFNUT1JFIGhTdG9yZSA9IENlcnRPcGVuU3lzdGVtU3RvcmVBKChIQ1JZUFRQUk9WX0xFR0FDWSlOVUxMLCAiUk9PVCIpOworCisgICAgaWYoaFN0b3JlKSB7CisgICAgICBQQ0NFUlRfQ09OVEVYVCBwQ29udGV4dCA9IE5VTEw7CisgICAgICAvKiBUaGUgYXJyYXkgb2YgZW5oYW5jZWQga2V5IHVzYWdlIE9JRHMgd2lsbCB2YXJ5IHBlciBjZXJ0aWZpY2F0ZSBhbmQgaXMKKyAgICAgICAgIGRlY2xhcmVkIG91dHNpZGUgb2YgdGhlIGxvb3Agc28gdGhhdCByYXRoZXIgdGhhbiBtYWxsb2MvZnJlZSBlYWNoCisgICAgICAgICBpdGVyYXRpb24gd2UgY2FuIGdyb3cgaXQgd2l0aCByZWFsbG9jLCB3aGVuIG5lY2Vzc2FyeS4gKi8KKyAgICAgIENFUlRfRU5IS0VZX1VTQUdFICplbmhrZXlfdXNhZ2UgPSBOVUxMOworICAgICAgRFdPUkQgZW5oa2V5X3VzYWdlX3NpemUgPSAwOworCisgICAgICAvKiBUaGlzIGxvb3AgbWFrZXMgYSBiZXN0IGVmZm9ydCB0byBpbXBvcnQgYWxsIHZhbGlkIGNlcnRpZmljYXRlcyBmcm9tCisgICAgICAgICB0aGUgTVMgcm9vdCBzdG9yZS4gSWYgYSBjZXJ0aWZpY2F0ZSBjYW5ub3QgYmUgaW1wb3J0ZWQgaXQgaXMgc2tpcHBlZC4KKyAgICAgICAgICdyZXN1bHQnIGlzIHVzZWQgdG8gc3RvcmUgb25seSBoYXJkLWZhaWwgY29uZGl0aW9ucyAoc3VjaCBhcyBvdXQgb2YKKyAgICAgICAgIG1lbW9yeSkgdGhhdCBjYXVzZSBhbiBlYXJseSBicmVhay4gKi8KKyAgICAgIHJlc3VsdCA9IENVUkxFX09LOworICAgICAgZm9yKDs7KSB7CisgICAgICAgIFg1MDkgKng1MDk7CisgICAgICAgIEZJTEVUSU1FIG5vdzsKKyAgICAgICAgQllURSBrZXlfdXNhZ2VbMl07CisgICAgICAgIERXT1JEIHJlcV9zaXplOworICAgICAgICBjb25zdCB1bnNpZ25lZCBjaGFyICplbmNvZGVkX2NlcnQ7CisjaWYgZGVmaW5lZChERUJVR0JVSUxEKSAmJiAhZGVmaW5lZChDVVJMX0RJU0FCTEVfVkVSQk9TRV9TVFJJTkdTKQorICAgICAgICBjaGFyIGNlcnRfbmFtZVsyNTZdOworI2VuZGlmCisKKyAgICAgICAgcENvbnRleHQgPSBDZXJ0RW51bUNlcnRpZmljYXRlc0luU3RvcmUoaFN0b3JlLCBwQ29udGV4dCk7CisgICAgICAgIGlmKCFwQ29udGV4dCkKKyAgICAgICAgICBicmVhazsKKworI2lmIGRlZmluZWQoREVCVUdCVUlMRCkgJiYgIWRlZmluZWQoQ1VSTF9ESVNBQkxFX1ZFUkJPU0VfU1RSSU5HUykKKyAgICAgICAgaWYoIUNlcnRHZXROYW1lU3RyaW5nQShwQ29udGV4dCwgQ0VSVF9OQU1FX1NJTVBMRV9ESVNQTEFZX1RZUEUsIDAsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTlVMTCwgY2VydF9uYW1lLCBzaXplb2YoY2VydF9uYW1lKSkpIHsKKyAgICAgICAgICBzdHJjcHkoY2VydF9uYW1lLCAiVW5rbm93biIpOworICAgICAgICB9CisgICAgICAgIGluZm9mKGRhdGEsICJTU0w6IENoZWNraW5nIGNlcnQgXCIlc1wiXG4iLCBjZXJ0X25hbWUpOworI2VuZGlmCisKKyAgICAgICAgZW5jb2RlZF9jZXJ0ID0gKGNvbnN0IHVuc2lnbmVkIGNoYXIgKilwQ29udGV4dC0+cGJDZXJ0RW5jb2RlZDsKKyAgICAgICAgaWYoIWVuY29kZWRfY2VydCkKKyAgICAgICAgICBjb250aW51ZTsKKworICAgICAgICBHZXRTeXN0ZW1UaW1lQXNGaWxlVGltZSgmbm93KTsKKyAgICAgICAgaWYoQ29tcGFyZUZpbGVUaW1lKCZwQ29udGV4dC0+cENlcnRJbmZvLT5Ob3RCZWZvcmUsICZub3cpID4gMCB8fAorICAgICAgICAgICBDb21wYXJlRmlsZVRpbWUoJm5vdywgJnBDb250ZXh0LT5wQ2VydEluZm8tPk5vdEFmdGVyKSA+IDApCisgICAgICAgICAgY29udGludWU7CisKKyAgICAgICAgLyogSWYga2V5IHVzYWdlIGV4aXN0cyBjaGVjayBmb3Igc2lnbmluZyBhdHRyaWJ1dGUgKi8KKyAgICAgICAgaWYoQ2VydEdldEludGVuZGVkS2V5VXNhZ2UocENvbnRleHQtPmR3Q2VydEVuY29kaW5nVHlwZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcENvbnRleHQtPnBDZXJ0SW5mbywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAga2V5X3VzYWdlLCBzaXplb2Yoa2V5X3VzYWdlKSkpIHsKKyAgICAgICAgICBpZighKGtleV91c2FnZVswXSAmIENFUlRfS0VZX0NFUlRfU0lHTl9LRVlfVVNBR0UpKQorICAgICAgICAgICAgY29udGludWU7CisgICAgICAgIH0KKyAgICAgICAgZWxzZSBpZihHZXRMYXN0RXJyb3IoKSkKKyAgICAgICAgICBjb250aW51ZTsKKworICAgICAgICAvKiBJZiBlbmhhbmNlZCBrZXkgdXNhZ2UgZXhpc3RzIGNoZWNrIGZvciBzZXJ2ZXIgYXV0aCBhdHRyaWJ1dGUuCisgICAgICAgICAqCisgICAgICAgICAqIE5vdGUgIkluIGEgTWljcm9zb2Z0IGVudmlyb25tZW50LCBhIGNlcnRpZmljYXRlIG1pZ2h0IGFsc28gaGF2ZSBFS1UKKyAgICAgICAgICogZXh0ZW5kZWQgcHJvcGVydGllcyB0aGF0IHNwZWNpZnkgdmFsaWQgdXNlcyBmb3IgdGhlIGNlcnRpZmljYXRlLiIKKyAgICAgICAgICogVGhlIGNhbGwgYmVsb3cgY2hlY2tzIGJvdGgsIGFuZCBiZWhhdmlvciB2YXJpZXMgZGVwZW5kaW5nIG9uIHdoYXQgaXMKKyAgICAgICAgICogZm91bmQuIEZvciBtb3JlIGRldGFpbHMgc2VlIENlcnRHZXRFbmhhbmNlZEtleVVzYWdlIGRvYy4KKyAgICAgICAgICovCisgICAgICAgIGlmKENlcnRHZXRFbmhhbmNlZEtleVVzYWdlKHBDb250ZXh0LCAwLCBOVUxMLCAmcmVxX3NpemUpKSB7CisgICAgICAgICAgaWYocmVxX3NpemUgJiYgcmVxX3NpemUgPiBlbmhrZXlfdXNhZ2Vfc2l6ZSkgeworICAgICAgICAgICAgdm9pZCAqdG1wID0gcmVhbGxvYyhlbmhrZXlfdXNhZ2UsIHJlcV9zaXplKTsKKworICAgICAgICAgICAgaWYoIXRtcCkgeworICAgICAgICAgICAgICBmYWlsZihkYXRhLCAiU1NMOiBPdXQgb2YgbWVtb3J5IGFsbG9jYXRpbmcgZm9yIE9JRCBsaXN0Iik7CisgICAgICAgICAgICAgIHJlc3VsdCA9IENVUkxFX09VVF9PRl9NRU1PUlk7CisgICAgICAgICAgICAgIGJyZWFrOworICAgICAgICAgICAgfQorCisgICAgICAgICAgICBlbmhrZXlfdXNhZ2UgPSAoQ0VSVF9FTkhLRVlfVVNBR0UgKil0bXA7CisgICAgICAgICAgICBlbmhrZXlfdXNhZ2Vfc2l6ZSA9IHJlcV9zaXplOworICAgICAgICAgIH0KKworICAgICAgICAgIGlmKENlcnRHZXRFbmhhbmNlZEtleVVzYWdlKHBDb250ZXh0LCAwLCBlbmhrZXlfdXNhZ2UsICZyZXFfc2l6ZSkpIHsKKyAgICAgICAgICAgIGlmKCFlbmhrZXlfdXNhZ2UtPmNVc2FnZUlkZW50aWZpZXIpIHsKKyAgICAgICAgICAgICAgLyogIklmIEdldExhc3RFcnJvciByZXR1cm5zIENSWVBUX0VfTk9UX0ZPVU5ELCB0aGUgY2VydGlmaWNhdGUgaXMKKyAgICAgICAgICAgICAgICAgZ29vZCBmb3IgYWxsIHVzZXMuIElmIGl0IHJldHVybnMgemVybywgdGhlIGNlcnRpZmljYXRlIGhhcyBubworICAgICAgICAgICAgICAgICB2YWxpZCB1c2VzLiIgKi8KKyAgICAgICAgICAgICAgaWYoR2V0TGFzdEVycm9yKCkgIT0gQ1JZUFRfRV9OT1RfRk9VTkQpCisgICAgICAgICAgICAgICAgY29udGludWU7CisgICAgICAgICAgICB9CisgICAgICAgICAgICBlbHNlIHsKKyAgICAgICAgICAgICAgRFdPUkQgaTsKKyAgICAgICAgICAgICAgYm9vbCBmb3VuZCA9IGZhbHNlOworCisgICAgICAgICAgICAgIGZvcihpID0gMDsgaSA8IGVuaGtleV91c2FnZS0+Y1VzYWdlSWRlbnRpZmllcjsgKytpKSB7CisgICAgICAgICAgICAgICAgaWYoIXN0cmNtcCgiMS4zLjYuMS41LjUuNy4zLjEiIC8qIE9JRCBzZXJ2ZXIgYXV0aCAqLywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgIGVuaGtleV91c2FnZS0+cmdwc3pVc2FnZUlkZW50aWZpZXJbaV0pKSB7CisgICAgICAgICAgICAgICAgICBmb3VuZCA9IHRydWU7CisgICAgICAgICAgICAgICAgICBicmVhazsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgIH0KKworICAgICAgICAgICAgICBpZighZm91bmQpCisgICAgICAgICAgICAgICAgY29udGludWU7CisgICAgICAgICAgICB9CisgICAgICAgICAgfQorICAgICAgICAgIGVsc2UKKyAgICAgICAgICAgIGNvbnRpbnVlOworICAgICAgICB9CisgICAgICAgIGVsc2UKKyAgICAgICAgICBjb250aW51ZTsKKworICAgICAgICB4NTA5ID0gZDJpX1g1MDkoTlVMTCwgJmVuY29kZWRfY2VydCwgcENvbnRleHQtPmNiQ2VydEVuY29kZWQpOworICAgICAgICBpZigheDUwOSkKKyAgICAgICAgICBjb250aW51ZTsKKworICAgICAgICAvKiBUcnkgdG8gaW1wb3J0IHRoZSBjZXJ0aWZpY2F0ZS4gVGhpcyBtYXkgZmFpbCBmb3IgbGVnaXRpbWF0ZSByZWFzb25zCisgICAgICAgICAgIHN1Y2ggYXMgZHVwbGljYXRlIGNlcnRpZmljYXRlLCB3aGljaCBpcyBhbGxvd2VkIGJ5IE1TIGJ1dCBub3QKKyAgICAgICAgICAgT3BlblNTTC4gKi8KKyAgICAgICAgaWYoWDUwOV9TVE9SRV9hZGRfY2VydChzdG9yZSwgeDUwOSkgPT0gMSkgeworI2lmIGRlZmluZWQoREVCVUdCVUlMRCkgJiYgIWRlZmluZWQoQ1VSTF9ESVNBQkxFX1ZFUkJPU0VfU1RSSU5HUykKKyAgICAgICAgICBpbmZvZihkYXRhLCAiU1NMOiBJbXBvcnRlZCBjZXJ0IFwiJXNcIlxuIiwgY2VydF9uYW1lKTsKKyNlbmRpZgorICAgICAgICAgIGltcG9ydGVkX25hdGl2ZV9jYSA9IHRydWU7CisgICAgICAgIH0KKyAgICAgICAgWDUwOV9mcmVlKHg1MDkpOworICAgICAgfQorCisgICAgICBmcmVlKGVuaGtleV91c2FnZSk7CisgICAgICBDZXJ0RnJlZUNlcnRpZmljYXRlQ29udGV4dChwQ29udGV4dCk7CisgICAgICBDZXJ0Q2xvc2VTdG9yZShoU3RvcmUsIDApOworCisgICAgICBpZihyZXN1bHQpCisgICAgICAgIHJldHVybiByZXN1bHQ7CisgICAgfQorICAgIGlmKGltcG9ydGVkX25hdGl2ZV9jYSkKKyAgICAgIGluZm9mKGRhdGEsICJzdWNjZXNzZnVsbHkgaW1wb3J0ZWQgd2luZG93cyBjYSBzdG9yZVxuIik7CisgICAgZWxzZQorICAgICAgaW5mb2YoZGF0YSwgImVycm9yIGltcG9ydGluZyB3aW5kb3dzIGNhIHN0b3JlLCBjb250aW51aW5nIGFueXdheVxuIik7CisgIH0KKyNlbmRpZgorCiAjaWYgZGVmaW5lZChPUEVOU1NMX1ZFUlNJT05fTUFKT1IpICYmIChPUEVOU1NMX1ZFUlNJT05fTUFKT1IgPj0gMykKICAgLyogT3BlblNTTCAzLjAuMCBoYXMgZGVwcmVjYXRlZCBTU0xfQ1RYX2xvYWRfdmVyaWZ5X2xvY2F0aW9ucyAqLwotICBpZihzc2xfY2FmaWxlKSB7Ci0gICAgaWYoIVNTTF9DVFhfbG9hZF92ZXJpZnlfZmlsZShiYWNrZW5kLT5jdHgsIHNzbF9jYWZpbGUpKSB7Ci0gICAgICBpZih2ZXJpZnlwZWVyKSB7Ci0gICAgICAgIC8qIEZhaWwgaWYgd2UgaW5zaXN0IG9uIHN1Y2Nlc3NmdWxseSB2ZXJpZnlpbmcgdGhlIHNlcnZlci4gKi8KLSAgICAgICAgZmFpbGYoZGF0YSwgImVycm9yIHNldHRpbmcgY2VydGlmaWNhdGUgZmlsZTogJXMiLCBzc2xfY2FmaWxlKTsKLSAgICAgICAgcmV0dXJuIENVUkxFX1NTTF9DQUNFUlRfQkFERklMRTsKKyAgeworICAgIGlmKHNzbF9jYWZpbGUpIHsKKyAgICAgIGlmKCFTU0xfQ1RYX2xvYWRfdmVyaWZ5X2ZpbGUoYmFja2VuZC0+Y3R4LCBzc2xfY2FmaWxlKSkgeworICAgICAgICBpZih2ZXJpZnlwZWVyKSB7CisgICAgICAgICAgLyogRmFpbCBpZiB3ZSBpbnNpc3Qgb24gc3VjY2Vzc2Z1bGx5IHZlcmlmeWluZyB0aGUgc2VydmVyLiAqLworICAgICAgICAgIGZhaWxmKGRhdGEsICJlcnJvciBzZXR0aW5nIGNlcnRpZmljYXRlIGZpbGU6ICVzIiwgc3NsX2NhZmlsZSk7CisgICAgICAgICAgcmV0dXJuIENVUkxFX1NTTF9DQUNFUlRfQkFERklMRTsKKyAgICAgICAgfQorICAgICAgICAvKiBDb250aW51ZSB3aXRoIGEgd2FybmluZyBpZiBubyBjZXJ0aWZpY2F0ZSB2ZXJpZiBpcyByZXF1aXJlZC4gKi8KKyAgICAgICAgaW5mb2YoZGF0YSwgImVycm9yIHNldHRpbmcgY2VydGlmaWNhdGUgZmlsZSwgY29udGludWluZyBhbnl3YXlcbiIpOwogICAgICAgfQotICAgICAgLyogQ29udGludWUgd2l0aCBhIHdhcm5pbmcgaWYgbm8gY2VydGlmaWNhdGUgdmVyaWZpY2F0aW9uIGlzIHJlcXVpcmVkLiAqLwotICAgICAgaW5mb2YoZGF0YSwgImVycm9yIHNldHRpbmcgY2VydGlmaWNhdGUgZmlsZSwgY29udGludWluZyBhbnl3YXlcbiIpOworICAgICAgaW5mb2YoZGF0YSwgIiAgQ0FmaWxlOiAlc1xuIiwgc3NsX2NhZmlsZSk7CiAgICAgfQotICAgIGluZm9mKGRhdGEsICIgIENBZmlsZTogJXNcbiIsIHNzbF9jYWZpbGUpOwotICB9Ci0gIGlmKHNzbF9jYXBhdGgpIHsKLSAgICBpZighU1NMX0NUWF9sb2FkX3ZlcmlmeV9kaXIoYmFja2VuZC0+Y3R4LCBzc2xfY2FwYXRoKSkgewotICAgICAgaWYodmVyaWZ5cGVlcikgewotICAgICAgICAvKiBGYWlsIGlmIHdlIGluc2lzdCBvbiBzdWNjZXNzZnVsbHkgdmVyaWZ5aW5nIHRoZSBzZXJ2ZXIuICovCi0gICAgICAgIGZhaWxmKGRhdGEsICJlcnJvciBzZXR0aW5nIGNlcnRpZmljYXRlIHBhdGg6ICVzIiwgc3NsX2NhcGF0aCk7Ci0gICAgICAgIHJldHVybiBDVVJMRV9TU0xfQ0FDRVJUX0JBREZJTEU7CisgICAgaWYoc3NsX2NhcGF0aCkgeworICAgICAgaWYoIVNTTF9DVFhfbG9hZF92ZXJpZnlfZGlyKGJhY2tlbmQtPmN0eCwgc3NsX2NhcGF0aCkpIHsKKyAgICAgICAgaWYodmVyaWZ5cGVlcikgeworICAgICAgICAgIC8qIEZhaWwgaWYgd2UgaW5zaXN0IG9uIHN1Y2Nlc3NmdWxseSB2ZXJpZnlpbmcgdGhlIHNlcnZlci4gKi8KKyAgICAgICAgICBmYWlsZihkYXRhLCAiZXJyb3Igc2V0dGluZyBjZXJ0aWZpY2F0ZSBwYXRoOiAlcyIsIHNzbF9jYXBhdGgpOworICAgICAgICAgIHJldHVybiBDVVJMRV9TU0xfQ0FDRVJUX0JBREZJTEU7CisgICAgICAgIH0KKyAgICAgICAgLyogQ29udGludWUgd2l0aCBhIHdhcm5pbmcgaWYgbm8gY2VydGlmaWNhdGUgdmVyaWYgaXMgcmVxdWlyZWQuICovCisgICAgICAgIGluZm9mKGRhdGEsICJlcnJvciBzZXR0aW5nIGNlcnRpZmljYXRlIHBhdGgsIGNvbnRpbnVpbmcgYW55d2F5XG4iKTsKICAgICAgIH0KLSAgICAgIC8qIENvbnRpbnVlIHdpdGggYSB3YXJuaW5nIGlmIG5vIGNlcnRpZmljYXRlIHZlcmlmaWNhdGlvbiBpcyByZXF1aXJlZC4gKi8KLSAgICAgIGluZm9mKGRhdGEsICJlcnJvciBzZXR0aW5nIGNlcnRpZmljYXRlIHBhdGgsIGNvbnRpbnVpbmcgYW55d2F5XG4iKTsKKyAgICAgIGluZm9mKGRhdGEsICIgIENBcGF0aDogJXNcbiIsIHNzbF9jYXBhdGgpOwogICAgIH0KLSAgICBpbmZvZihkYXRhLCAiICBDQXBhdGg6ICVzXG4iLCBzc2xfY2FwYXRoKTsKICAgfQogI2Vsc2UKICAgaWYoc3NsX2NhZmlsZSB8fCBzc2xfY2FwYXRoKSB7CiAgICAgLyogdGVsbCBTU0wgd2hlcmUgdG8gZmluZCBDQSBjZXJ0aWZpY2F0ZXMgdGhhdCBhcmUgdXNlZCB0byB2ZXJpZnkKICAgICAgICB0aGUgc2VydmVycyBjZXJ0aWZpY2F0ZS4gKi8KICAgICBpZighU1NMX0NUWF9sb2FkX3ZlcmlmeV9sb2NhdGlvbnMoYmFja2VuZC0+Y3R4LCBzc2xfY2FmaWxlLCBzc2xfY2FwYXRoKSkgewotICAgICAgaWYodmVyaWZ5cGVlcikgeworICAgICAgaWYodmVyaWZ5cGVlciAmJiAhaW1wb3J0ZWRfbmF0aXZlX2NhKSB7CiAgICAgICAgIC8qIEZhaWwgaWYgd2UgaW5zaXN0IG9uIHN1Y2Nlc3NmdWxseSB2ZXJpZnlpbmcgdGhlIHNlcnZlci4gKi8KICAgICAgICAgZmFpbGYoZGF0YSwgImVycm9yIHNldHRpbmcgY2VydGlmaWNhdGUgdmVyaWZ5IGxvY2F0aW9uczpcbiIKICAgICAgICAgICAgICAgIiAgQ0FmaWxlOiAlc1xuICBDQXBhdGg6ICVzIiwKQEAgLTI3NTksNyArMzAwMyw3IEBACiAgICAgICAgICAgICAgIHNzbF9jYXBhdGggPyBzc2xfY2FwYXRoIDogIm5vbmUiKTsKICAgICAgICAgcmV0dXJuIENVUkxFX1NTTF9DQUNFUlRfQkFERklMRTsKICAgICAgIH0KLSAgICAgIC8qIEp1c3QgY29udGludWUgd2l0aCBhIHdhcm5pbmcgaWYgbm8gc3RyaWN0ICBjZXJ0aWZpY2F0ZSB2ZXJpZmljYXRpb24KKyAgICAgIC8qIEp1c3QgY29udGludWUgd2l0aCBhIHdhcm5pbmcgaWYgbm8gc3RyaWN0IGNlcnRpZmljYXRlIHZlcmlmaWNhdGlvbgogICAgICAgICAgaXMgcmVxdWlyZWQuICovCiAgICAgICBpbmZvZihkYXRhLCAiZXJyb3Igc2V0dGluZyBjZXJ0aWZpY2F0ZSB2ZXJpZnkgbG9jYXRpb25zLCIKICAgICAgICAgICAgICIgY29udGludWluZyBhbnl3YXk6XG4iKTsKQEAgLTI3NzcsNyArMzAyMSw3IEBACiAjZW5kaWYKIAogI2lmZGVmIENVUkxfQ0FfRkFMTEJBQ0sKLSAgZWxzZSBpZih2ZXJpZnlwZWVyKSB7CisgIGlmKHZlcmlmeXBlZXIgJiYgIXNzbF9jYWZpbGUgJiYgIXNzbF9jYXBhdGggJiYgIWltcG9ydGVkX25hdGl2ZV9jYSkgewogICAgIC8qIHZlcmlmeWluZyB0aGUgcGVlciB3aXRob3V0IGFueSBDQSBjZXJ0aWZpY2F0ZXMgd29uJ3QKICAgICAgICB3b3JrIHNvIHVzZSBvcGVuc3NsJ3MgYnVpbHQgaW4gZGVmYXVsdCBhcyBmYWxsYmFjayAqLwogICAgIFNTTF9DVFhfc2V0X2RlZmF1bHRfdmVyaWZ5X3BhdGhzKGJhY2tlbmQtPmN0eCk7CkBAIC0yODA1LDIxICszMDQ5LDI0IEBACiAgIGlmKHZlcmlmeXBlZXIpIHsKICAgICAvKiBUcnkgYnVpbGRpbmcgYSBjaGFpbiB1c2luZyBpc3N1ZXJzIGluIHRoZSB0cnVzdGVkIHN0b3JlIGZpcnN0IHRvIGF2b2lkCiAgICAgICAgcHJvYmxlbXMgd2l0aCBzZXJ2ZXItc2VudCBsZWdhY3kgaW50ZXJtZWRpYXRlcy4gIE5ld2VyIHZlcnNpb25zIG9mCi0gICAgICAgT3BlblNTTCBkbyBhbHRlcm5hdGUgY2hhaW4gY2hlY2tpbmcgYnkgZGVmYXVsdCB3aGljaCBnaXZlcyB1cyB0aGUgc2FtZQotICAgICAgIGZpeCB3aXRob3V0IGFzIG11Y2ggb2YgYSBwZXJmb3JtYW5jZSBoaXQgKHNsaWdodCksIHNvIHdlIHByZWZlciB0aGF0IGlmCi0gICAgICAgYXZhaWxhYmxlLgorICAgICAgIE9wZW5TU0wgZG8gYWx0ZXJuYXRlIGNoYWluIGNoZWNraW5nIGJ5IGRlZmF1bHQgYnV0IHdlIGRvIG5vdCBrbm93IGhvdyB0bworICAgICAgIGRldGVybWluZSB0aGF0IGluIGEgcmVsaWFibGUgbWFubmVyLgogICAgICAgIGh0dHBzOi8vcnQub3BlbnNzbC5vcmcvVGlja2V0L0Rpc3BsYXkuaHRtbD9pZD0zNjIxJnVzZXI9Z3Vlc3QmcGFzcz1ndWVzdAogICAgICovCi0jaWYgZGVmaW5lZChYNTA5X1ZfRkxBR19UUlVTVEVEX0ZJUlNUKSAmJiAhZGVmaW5lZChYNTA5X1ZfRkxBR19OT19BTFRfQ0hBSU5TKQorI2lmIGRlZmluZWQoWDUwOV9WX0ZMQUdfVFJVU1RFRF9GSVJTVCkKICAgICBYNTA5X1NUT1JFX3NldF9mbGFncyhTU0xfQ1RYX2dldF9jZXJ0X3N0b3JlKGJhY2tlbmQtPmN0eCksCiAgICAgICAgICAgICAgICAgICAgICAgICAgWDUwOV9WX0ZMQUdfVFJVU1RFRF9GSVJTVCk7CiAjZW5kaWYKICNpZmRlZiBYNTA5X1ZfRkxBR19QQVJUSUFMX0NIQUlOCi0gICAgaWYoIVNTTF9TRVRfT1BUSU9OKG5vX3BhcnRpYWxjaGFpbikpIHsKKyAgICBpZighU1NMX1NFVF9PUFRJT04obm9fcGFydGlhbGNoYWluKSAmJiAhc3NsX2NybGZpbGUpIHsKICAgICAgIC8qIEhhdmUgaW50ZXJtZWRpYXRlIGNlcnRpZmljYXRlcyBpbiB0aGUgdHJ1c3Qgc3RvcmUgYmUgdHJlYXRlZCBhcwogICAgICAgICAgdHJ1c3QtYW5jaG9ycywgaW4gdGhlIHNhbWUgd2F5IGFzIHNlbGYtc2lnbmVkIHJvb3QgQ0EgY2VydGlmaWNhdGVzCiAgICAgICAgICBhcmUuIFRoaXMgYWxsb3dzIHVzZXJzIHRvIHZlcmlmeSBzZXJ2ZXJzIHVzaW5nIHRoZSBpbnRlcm1lZGlhdGUgY2VydAotICAgICAgICAgb25seSwgaW5zdGVhZCBvZiBuZWVkaW5nIHRoZSB3aG9sZSBjaGFpbi4gKi8KKyAgICAgICAgIG9ubHksIGluc3RlYWQgb2YgbmVlZGluZyB0aGUgd2hvbGUgY2hhaW4uCisKKyAgICAgICAgIER1ZSB0byBPcGVuU1NMIGJ1ZyBodHRwczovL2dpdGh1Yi5jb20vb3BlbnNzbC9vcGVuc3NsL2lzc3Vlcy81MDgxIHdlCisgICAgICAgICBjYW5ub3QgZG8gcGFydGlhbCBjaGFpbnMgd2l0aCBDUkwgY2hlY2suCisgICAgICAqLwogICAgICAgWDUwOV9TVE9SRV9zZXRfZmxhZ3MoU1NMX0NUWF9nZXRfY2VydF9zdG9yZShiYWNrZW5kLT5jdHgpLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgWDUwOV9WX0ZMQUdfUEFSVElBTF9DSEFJTik7CiAgICAgfQpAQCAtMjgzNCw4ICszMDgxLDggQEAKICAgICAgICAgICAgICAgICAgICAgIHZlcmlmeXBlZXIgPyBTU0xfVkVSSUZZX1BFRVIgOiBTU0xfVkVSSUZZX05PTkUsIE5VTEwpOwogCiAgIC8qIEVuYWJsZSBsb2dnaW5nIG9mIHNlY3JldHMgdG8gdGhlIGZpbGUgc3BlY2lmaWVkIGluIGVudiBTU0xLRVlMT0dGSUxFLiAqLwotI2lmIGRlZmluZWQoRU5BQkxFX1NTTEtFWUxPR0ZJTEUpICYmIGRlZmluZWQoSEFWRV9LRVlMT0dfQ0FMTEJBQ0spCi0gIGlmKGtleWxvZ19maWxlX2ZwKSB7CisjaWZkZWYgSEFWRV9LRVlMT0dfQ0FMTEJBQ0sKKyAgaWYoQ3VybF90bHNfa2V5bG9nX2VuYWJsZWQoKSkgewogICAgIFNTTF9DVFhfc2V0X2tleWxvZ19jYWxsYmFjayhiYWNrZW5kLT5jdHgsIG9zc2xfa2V5bG9nX2NhbGxiYWNrKTsKICAgfQogI2VuZGlmCkBAIC0yOTIyLDYgKzMxNjksNyBAQAogICAgIEN1cmxfc3NsX3Nlc3Npb25pZF91bmxvY2soY29ubik7CiAgIH0KIAorI2lmbmRlZiBDVVJMX0RJU0FCTEVfUFJPWFkKICAgaWYoY29ubi0+cHJveHlfc3NsW3NvY2tpbmRleF0udXNlKSB7CiAgICAgQklPICpjb25zdCBiaW8gPSBCSU9fbmV3KEJJT19mX3NzbCgpKTsKICAgICBTU0wgKmhhbmRsZSA9IGNvbm4tPnByb3h5X3NzbFtzb2NraW5kZXhdLmJhY2tlbmQtPmhhbmRsZTsKQEAgLTI5MzEsNyArMzE3OSw5IEBACiAgICAgQklPX3NldF9zc2woYmlvLCBoYW5kbGUsIEZBTFNFKTsKICAgICBTU0xfc2V0X2JpbyhiYWNrZW5kLT5oYW5kbGUsIGJpbywgYmlvKTsKICAgfQotICBlbHNlIGlmKCFTU0xfc2V0X2ZkKGJhY2tlbmQtPmhhbmRsZSwgKGludClzb2NrZmQpKSB7CisgIGVsc2UKKyNlbmRpZgorICAgIGlmKCFTU0xfc2V0X2ZkKGJhY2tlbmQtPmhhbmRsZSwgKGludClzb2NrZmQpKSB7CiAgICAgLyogcGFzcyB0aGUgcmF3IHNvY2tldCBpbnRvIHRoZSBTU0wgbGF5ZXJzICovCiAgICAgZmFpbGYoZGF0YSwgIlNTTDogU1NMX3NldF9mZCBmYWlsZWQ6ICVzIiwKICAgICAgICAgICBvc3NsX3N0cmVycm9yKEVSUl9nZXRfZXJyb3IoKSwgZXJyb3JfYnVmZmVyLCBzaXplb2YoZXJyb3JfYnVmZmVyKSkpOwpAQCAtMjk0OCw4ICszMTk4LDEyIEBACiAgIHN0cnVjdCBDdXJsX2Vhc3kgKmRhdGEgPSBjb25uLT5kYXRhOwogICBpbnQgZXJyOwogICBzdHJ1Y3Qgc3NsX2Nvbm5lY3RfZGF0YSAqY29ubnNzbCA9ICZjb25uLT5zc2xbc29ja2luZGV4XTsKKyNpZm5kZWYgQ1VSTF9ESVNBQkxFX1BST1hZCiAgIGxvbmcgKiBjb25zdCBjZXJ0dmVyaWZ5cmVzdWx0ID0gU1NMX0lTX1BST1hZKCkgPwogICAgICZkYXRhLT5zZXQucHJveHlfc3NsLmNlcnR2ZXJpZnlyZXN1bHQgOiAmZGF0YS0+c2V0LnNzbC5jZXJ0dmVyaWZ5cmVzdWx0OworI2Vsc2UKKyAgbG9uZyAqIGNvbnN0IGNlcnR2ZXJpZnlyZXN1bHQgPSAmZGF0YS0+c2V0LnNzbC5jZXJ0dmVyaWZ5cmVzdWx0OworI2VuZGlmCiAgIHN0cnVjdCBzc2xfYmFja2VuZF9kYXRhICpiYWNrZW5kID0gY29ubnNzbC0+YmFja2VuZDsKICAgREVCVUdBU1NFUlQoc3NsX2Nvbm5lY3RfMiA9PSBjb25uc3NsLT5jb25uZWN0aW5nX3N0YXRlCiAgICAgICAgICAgICAgIHx8IHNzbF9jb25uZWN0XzJfcmVhZGluZyA9PSBjb25uc3NsLT5jb25uZWN0aW5nX3N0YXRlCkBAIC0yOTU4LDEwICszMjEyLDEzIEBACiAgIEVSUl9jbGVhcl9lcnJvcigpOwogCiAgIGVyciA9IFNTTF9jb25uZWN0KGJhY2tlbmQtPmhhbmRsZSk7Ci0gIC8qIElmIGtleWxvZ2dpbmcgaXMgZW5hYmxlZCBidXQgdGhlIGtleWxvZyBjYWxsYmFjayBpcyBub3Qgc3VwcG9ydGVkIHRoZW4gbG9nCi0gICAgIHNlY3JldHMgaGVyZSwgaW1tZWRpYXRlbHkgYWZ0ZXIgU1NMX2Nvbm5lY3QgYnkgdXNpbmcgdGFwX3NzbF9rZXkuICovCi0jaWYgZGVmaW5lZChFTkFCTEVfU1NMS0VZTE9HRklMRSkgJiYgIWRlZmluZWQoSEFWRV9LRVlMT0dfQ0FMTEJBQ0spCi0gIHRhcF9zc2xfa2V5KGJhY2tlbmQtPmhhbmRsZSwgJmJhY2tlbmQtPnRhcF9zdGF0ZSk7CisjaWZuZGVmIEhBVkVfS0VZTE9HX0NBTExCQUNLCisgIGlmKEN1cmxfdGxzX2tleWxvZ19lbmFibGVkKCkpIHsKKyAgICAvKiBJZiBrZXkgbG9nZ2luZyBpcyBlbmFibGVkLCB3YWl0IGZvciB0aGUgaGFuZHNoYWtlIHRvIGNvbXBsZXRlIGFuZCB0aGVuCisgICAgICogcHJvY2VlZCB3aXRoIGxvZ2dpbmcgc2VjcmV0cyAoZm9yIFRMUyAxLjIgb3Igb2xkZXIpLgorICAgICAqLworICAgIG9zc2xfbG9nX3RsczEyX3NlY3JldChiYWNrZW5kLT5oYW5kbGUsICZiYWNrZW5kLT5rZXlsb2dfZG9uZSk7CisgIH0KICNlbmRpZgogCiAgIC8qIDEgIGlzIGZpbmUKQEAgLTMwMzIsOSArMzI4OSwxNCBAQAogICAgICAgICogdGhlIFNPX0VSUk9SIGlzIGFsc28gbG9zdC4KICAgICAgICAqLwogICAgICAgaWYoQ1VSTEVfU1NMX0NPTk5FQ1RfRVJST1IgPT0gcmVzdWx0ICYmIGVycmRldGFpbCA9PSAwKSB7CisjaWZuZGVmIENVUkxfRElTQUJMRV9QUk9YWQogICAgICAgICBjb25zdCBjaGFyICogY29uc3QgaG9zdG5hbWUgPSBTU0xfSVNfUFJPWFkoKSA/CiAgICAgICAgICAgY29ubi0+aHR0cF9wcm94eS5ob3N0Lm5hbWUgOiBjb25uLT5ob3N0Lm5hbWU7CiAgICAgICAgIGNvbnN0IGxvbmcgaW50IHBvcnQgPSBTU0xfSVNfUFJPWFkoKSA/IGNvbm4tPnBvcnQgOiBjb25uLT5yZW1vdGVfcG9ydDsKKyNlbHNlCisgICAgICAgIGNvbnN0IGNoYXIgKiBjb25zdCBob3N0bmFtZSA9IGNvbm4tPmhvc3QubmFtZTsKKyAgICAgICAgY29uc3QgbG9uZyBpbnQgcG9ydCA9IGNvbm4tPnJlbW90ZV9wb3J0OworI2VuZGlmCiAgICAgICAgIGNoYXIgZXh0cmFtc2dbODBdPSIiOwogICAgICAgICBpbnQgc29ja2VyciA9IFNPQ0tFUlJOTzsKICAgICAgICAgaWYoc29ja2VyciAmJiBkZXRhaWwgPT0gU1NMX0VSUk9SX1NZU0NBTEwpCkBAIC0zNDg3LDggKzM3NDksMTIgQEAKICAgY2hhciBlcnJvcl9idWZmZXJbMjU2XT0iIjsKICAgY2hhciBidWZmZXJbMjA0OF07CiAgIGNvbnN0IGNoYXIgKnB0cjsKKyNpZm5kZWYgQ1VSTF9ESVNBQkxFX1BST1hZCiAgIGxvbmcgKiBjb25zdCBjZXJ0dmVyaWZ5cmVzdWx0ID0gU1NMX0lTX1BST1hZKCkgPwogICAgICZkYXRhLT5zZXQucHJveHlfc3NsLmNlcnR2ZXJpZnlyZXN1bHQgOiAmZGF0YS0+c2V0LnNzbC5jZXJ0dmVyaWZ5cmVzdWx0OworI2Vsc2UKKyAgbG9uZyAqIGNvbnN0IGNlcnR2ZXJpZnlyZXN1bHQgPSAmZGF0YS0+c2V0LnNzbC5jZXJ0dmVyaWZ5cmVzdWx0OworI2VuZGlmCiAgIEJJTyAqbWVtID0gQklPX25ldyhCSU9fc19tZW0oKSk7CiAgIHN0cnVjdCBzc2xfYmFja2VuZF9kYXRhICpiYWNrZW5kID0gY29ubnNzbC0+YmFja2VuZDsKIApAQCAtMzU1MiwyNyArMzgxOCwzMiBAQAogICAgICAgIGRlYWxsb2NhdGluZyB0aGUgY2VydGlmaWNhdGUuICovCiAKICAgICAvKiBlLmcuIG1hdGNoIGlzc3VlciBuYW1lIHdpdGggcHJvdmlkZWQgaXNzdWVyIGNlcnRpZmljYXRlICovCi0gICAgaWYoU1NMX1NFVF9PUFRJT04oaXNzdWVyY2VydCkpIHsKLSAgICAgIGZwID0gQklPX25ldyhCSU9fc19maWxlKCkpOwotICAgICAgaWYoZnAgPT0gTlVMTCkgewotICAgICAgICBmYWlsZihkYXRhLAotICAgICAgICAgICAgICAiQklPX25ldyByZXR1cm4gTlVMTCwgIiBPU1NMX1BBQ0tBR0UKLSAgICAgICAgICAgICAgIiBlcnJvciAlcyIsCi0gICAgICAgICAgICAgIG9zc2xfc3RyZXJyb3IoRVJSX2dldF9lcnJvcigpLCBlcnJvcl9idWZmZXIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgc2l6ZW9mKGVycm9yX2J1ZmZlcikpICk7Ci0gICAgICAgIFg1MDlfZnJlZShiYWNrZW5kLT5zZXJ2ZXJfY2VydCk7Ci0gICAgICAgIGJhY2tlbmQtPnNlcnZlcl9jZXJ0ID0gTlVMTDsKLSAgICAgICAgcmV0dXJuIENVUkxFX09VVF9PRl9NRU1PUlk7Ci0gICAgICB9CisgICAgaWYoU1NMX1NFVF9PUFRJT04oaXNzdWVyY2VydCkgfHwgU1NMX1NFVF9PUFRJT04oaXNzdWVyY2VydF9ibG9iKSkgeworICAgICAgaWYoU1NMX1NFVF9PUFRJT04oaXNzdWVyY2VydF9ibG9iKSkKKyAgICAgICAgZnAgPSBCSU9fbmV3X21lbV9idWYoU1NMX1NFVF9PUFRJT04oaXNzdWVyY2VydF9ibG9iKS0+ZGF0YSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGludClTU0xfU0VUX09QVElPTihpc3N1ZXJjZXJ0X2Jsb2IpLT5sZW4pOworICAgICAgZWxzZSB7CisgICAgICAgIGZwID0gQklPX25ldyhCSU9fc19maWxlKCkpOworICAgICAgICBpZihmcCA9PSBOVUxMKSB7CisgICAgICAgICAgZmFpbGYoZGF0YSwKKyAgICAgICAgICAgICAgICAiQklPX25ldyByZXR1cm4gTlVMTCwgIiBPU1NMX1BBQ0tBR0UKKyAgICAgICAgICAgICAgICAiIGVycm9yICVzIiwKKyAgICAgICAgICAgICAgICBvc3NsX3N0cmVycm9yKEVSUl9nZXRfZXJyb3IoKSwgZXJyb3JfYnVmZmVyLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2l6ZW9mKGVycm9yX2J1ZmZlcikpICk7CisgICAgICAgICAgWDUwOV9mcmVlKGJhY2tlbmQtPnNlcnZlcl9jZXJ0KTsKKyAgICAgICAgICBiYWNrZW5kLT5zZXJ2ZXJfY2VydCA9IE5VTEw7CisgICAgICAgICAgcmV0dXJuIENVUkxFX09VVF9PRl9NRU1PUlk7CisgICAgICAgIH0KIAotICAgICAgaWYoQklPX3JlYWRfZmlsZW5hbWUoZnAsIFNTTF9TRVRfT1BUSU9OKGlzc3VlcmNlcnQpKSA8PSAwKSB7Ci0gICAgICAgIGlmKHN0cmljdCkKLSAgICAgICAgICBmYWlsZihkYXRhLCAiU1NMOiBVbmFibGUgdG8gb3BlbiBpc3N1ZXIgY2VydCAoJXMpIiwKLSAgICAgICAgICAgICAgICBTU0xfU0VUX09QVElPTihpc3N1ZXJjZXJ0KSk7Ci0gICAgICAgIEJJT19mcmVlKGZwKTsKLSAgICAgICAgWDUwOV9mcmVlKGJhY2tlbmQtPnNlcnZlcl9jZXJ0KTsKLSAgICAgICAgYmFja2VuZC0+c2VydmVyX2NlcnQgPSBOVUxMOwotICAgICAgICByZXR1cm4gQ1VSTEVfU1NMX0lTU1VFUl9FUlJPUjsKKyAgICAgICAgaWYoQklPX3JlYWRfZmlsZW5hbWUoZnAsIFNTTF9TRVRfT1BUSU9OKGlzc3VlcmNlcnQpKSA8PSAwKSB7CisgICAgICAgICAgaWYoc3RyaWN0KQorICAgICAgICAgICAgZmFpbGYoZGF0YSwgIlNTTDogVW5hYmxlIHRvIG9wZW4gaXNzdWVyIGNlcnQgKCVzKSIsCisgICAgICAgICAgICAgICAgICBTU0xfU0VUX09QVElPTihpc3N1ZXJjZXJ0KSk7CisgICAgICAgICAgQklPX2ZyZWUoZnApOworICAgICAgICAgIFg1MDlfZnJlZShiYWNrZW5kLT5zZXJ2ZXJfY2VydCk7CisgICAgICAgICAgYmFja2VuZC0+c2VydmVyX2NlcnQgPSBOVUxMOworICAgICAgICAgIHJldHVybiBDVVJMRV9TU0xfSVNTVUVSX0VSUk9SOworICAgICAgICB9CiAgICAgICB9CiAKICAgICAgIGlzc3VlciA9IFBFTV9yZWFkX2Jpb19YNTA5KGZwLCBOVUxMLCBaRVJPX05VTEwsIE5VTEwpOwpAQCAtMzY5MCw3ICszOTYxLDYgQEAKICAgc3RydWN0IEN1cmxfZWFzeSAqZGF0YSA9IGNvbm4tPmRhdGE7CiAgIHN0cnVjdCBzc2xfY29ubmVjdF9kYXRhICpjb25uc3NsID0gJmNvbm4tPnNzbFtzb2NraW5kZXhdOwogICBjdXJsX3NvY2tldF90IHNvY2tmZCA9IGNvbm4tPnNvY2tbc29ja2luZGV4XTsKLSAgdGltZWRpZmZfdCB0aW1lb3V0X21zOwogICBpbnQgd2hhdDsKIAogICAvKiBjaGVjayBpZiB0aGUgY29ubmVjdGlvbiBoYXMgYWxyZWFkeSBiZWVuIGVzdGFibGlzaGVkICovCkBAIC0zNzAxLDcgKzM5NzEsNyBAQAogCiAgIGlmKHNzbF9jb25uZWN0XzEgPT0gY29ubnNzbC0+Y29ubmVjdGluZ19zdGF0ZSkgewogICAgIC8qIEZpbmQgb3V0IGhvdyBtdWNoIG1vcmUgdGltZSB3ZSdyZSBhbGxvd2VkICovCi0gICAgdGltZW91dF9tcyA9IEN1cmxfdGltZWxlZnQoZGF0YSwgTlVMTCwgVFJVRSk7CisgICAgY29uc3QgdGltZWRpZmZfdCB0aW1lb3V0X21zID0gQ3VybF90aW1lbGVmdChkYXRhLCBOVUxMLCBUUlVFKTsKIAogICAgIGlmKHRpbWVvdXRfbXMgPCAwKSB7CiAgICAgICAvKiBubyBuZWVkIHRvIGNvbnRpbnVlIGlmIHRpbWUgYWxyZWFkeSBpcyB1cCAqLwpAQCAtMzcxOSw3ICszOTg5LDcgQEAKICAgICAgICAgc3NsX2Nvbm5lY3RfMl93cml0aW5nID09IGNvbm5zc2wtPmNvbm5lY3Rpbmdfc3RhdGUpIHsKIAogICAgIC8qIGNoZWNrIGFsbG93ZWQgdGltZSBsZWZ0ICovCi0gICAgdGltZW91dF9tcyA9IEN1cmxfdGltZWxlZnQoZGF0YSwgTlVMTCwgVFJVRSk7CisgICAgY29uc3QgdGltZWRpZmZfdCB0aW1lb3V0X21zID0gQ3VybF90aW1lbGVmdChkYXRhLCBOVUxMLCBUUlVFKTsKIAogICAgIGlmKHRpbWVvdXRfbXMgPCAwKSB7CiAgICAgICAvKiBubyBuZWVkIHRvIGNvbnRpbnVlIGlmIHRpbWUgYWxyZWFkeSBpcyB1cCAqLwpAQCAtMzczNyw3ICs0MDA3LDcgQEAKICAgICAgICAgY29ubnNzbC0+Y29ubmVjdGluZ19zdGF0ZT9zb2NrZmQ6Q1VSTF9TT0NLRVRfQkFEOwogCiAgICAgICB3aGF0ID0gQ3VybF9zb2NrZXRfY2hlY2socmVhZGZkLCBDVVJMX1NPQ0tFVF9CQUQsIHdyaXRlZmQsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbm9uYmxvY2tpbmc/MDoodGltZV90KXRpbWVvdXRfbXMpOworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5vbmJsb2NraW5nPzA6dGltZW91dF9tcyk7CiAgICAgICBpZih3aGF0IDwgMCkgewogICAgICAgICAvKiBmYXRhbCBlcnJvciAqLwogICAgICAgICBmYWlsZihkYXRhLCAic2VsZWN0L3BvbGwgb24gU1NMIHNvY2tldCwgZXJybm86ICVkIiwgU09DS0VSUk5PKTsKQEAgLTM4MTYsMTQgKzQwODYsMTUgQEAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IGNvbm5pbmRleCkKIHsKICAgY29uc3Qgc3RydWN0IHNzbF9jb25uZWN0X2RhdGEgKmNvbm5zc2wgPSAmY29ubi0+c3NsW2Nvbm5pbmRleF07Ci0gIGNvbnN0IHN0cnVjdCBzc2xfY29ubmVjdF9kYXRhICpwcm94eXNzbCA9ICZjb25uLT5wcm94eV9zc2xbY29ubmluZGV4XTsKLQogICBpZihjb25uc3NsLT5iYWNrZW5kLT5oYW5kbGUgJiYgU1NMX3BlbmRpbmcoY29ubnNzbC0+YmFja2VuZC0+aGFuZGxlKSkKICAgICByZXR1cm4gVFJVRTsKLQotICBpZihwcm94eXNzbC0+YmFja2VuZC0+aGFuZGxlICYmIFNTTF9wZW5kaW5nKHByb3h5c3NsLT5iYWNrZW5kLT5oYW5kbGUpKQotICAgIHJldHVybiBUUlVFOwotCisjaWZuZGVmIENVUkxfRElTQUJMRV9QUk9YWQorICB7CisgICAgY29uc3Qgc3RydWN0IHNzbF9jb25uZWN0X2RhdGEgKnByb3h5c3NsID0gJmNvbm4tPnByb3h5X3NzbFtjb25uaW5kZXhdOworICAgIGlmKHByb3h5c3NsLT5iYWNrZW5kLT5oYW5kbGUgJiYgU1NMX3BlbmRpbmcocHJveHlzc2wtPmJhY2tlbmQtPmhhbmRsZSkpCisgICAgICByZXR1cm4gVFJVRTsKKyAgfQorI2VuZGlmCiAgIHJldHVybiBGQUxTRTsKIH0KIApAQCAtMzg4NCw4ICs0MTU1LDExIEBACiAgICAgICBzc2xlcnJvciA9IEVSUl9nZXRfZXJyb3IoKTsKICAgICAgIGlmKEVSUl9HRVRfTElCKHNzbGVycm9yKSA9PSBFUlJfTElCX1NTTCAmJgogICAgICAgICAgRVJSX0dFVF9SRUFTT04oc3NsZXJyb3IpID09IFNTTF9SX0JJT19OT1RfU0VUICYmCi0gICAgICAgICBjb25uLT5zc2xbc29ja2luZGV4XS5zdGF0ZSA9PSBzc2xfY29ubmVjdGlvbl9jb21wbGV0ZSAmJgotICAgICAgICAgY29ubi0+cHJveHlfc3NsW3NvY2tpbmRleF0uc3RhdGUgPT0gc3NsX2Nvbm5lY3Rpb25fY29tcGxldGUpIHsKKyAgICAgICAgIGNvbm4tPnNzbFtzb2NraW5kZXhdLnN0YXRlID09IHNzbF9jb25uZWN0aW9uX2NvbXBsZXRlCisjaWZuZGVmIENVUkxfRElTQUJMRV9QUk9YWQorICAgICAgICAgJiYgY29ubi0+cHJveHlfc3NsW3NvY2tpbmRleF0uc3RhdGUgPT0gc3NsX2Nvbm5lY3Rpb25fY29tcGxldGUKKyNlbmRpZgorICAgICAgICApIHsKICAgICAgICAgY2hhciB2ZXJbMTIwXTsKICAgICAgICAgQ3VybF9vc3NsX3ZlcnNpb24odmVyLCAxMjApOwogICAgICAgICBmYWlsZihjb25uLT5kYXRhLCAiRXJyb3I6ICVzIGRvZXMgbm90IHN1cHBvcnQgZG91YmxlIFNTTCB0dW5uZWxpbmcuIiwKQEAgLTQxMDksNyArNDM4Myw3IEBACiAgIHVuc2lnbmVkIGludCBsZW4gPSAwOwogICAodm9pZCkgdW51c2VkOwogCi0gIG1kY3R4ID0gIEVWUF9NRF9DVFhfY3JlYXRlKCk7CisgIG1kY3R4ID0gRVZQX01EX0NUWF9jcmVhdGUoKTsKICAgRVZQX0RpZ2VzdEluaXRfZXgobWRjdHgsIEVWUF9zaGEyNTYoKSwgTlVMTCk7CiAgIEVWUF9EaWdlc3RVcGRhdGUobWRjdHgsIHRtcCwgdG1wbGVuKTsKICAgRVZQX0RpZ2VzdEZpbmFsX2V4KG1kY3R4LCBzaGEyNTZzdW0sICZsZW4pOwpkaWZmIC0tZ2l0IGEvbGliL3Z0bHMvc2NoYW5uZWwuYyBiL2xpYi92dGxzL3NjaGFubmVsLmMKaW5kZXggNDk2NTliYi4uMTk5NjUyNiAxMDA2NDQKLS0tIGEvbGliL3Z0bHMvc2NoYW5uZWwuYworKysgYi9saWIvdnRscy9zY2hhbm5lbC5jCkBAIC0zOSwxMCArMzksMTEgQEAKIAogI2luY2x1ZGUgInNjaGFubmVsLmgiCiAjaW5jbHVkZSAidnRscy5oIgorI2luY2x1ZGUgInN0cmNhc2UuaCIKICNpbmNsdWRlICJzZW5kZi5oIgogI2luY2x1ZGUgImNvbm5lY3QuaCIgLyogZm9yIHRoZSBjb25uZWN0IHRpbWVvdXQgKi8KICNpbmNsdWRlICJzdHJlcnJvci5oIgotI2luY2x1ZGUgInNlbGVjdC5oIiAvKiBmb3IgdGhlIHNvY2tldCByZWFkeW5lc3MgKi8KKyNpbmNsdWRlICJzZWxlY3QuaCIgLyogZm9yIHRoZSBzb2NrZXQgcmVhZGluZXNzICovCiAjaW5jbHVkZSAiaW5ldF9wdG9uLmgiIC8qIGZvciBJUCBhZGRyIFNOSSBjaGVjayAqLwogI2luY2x1ZGUgImN1cmxfbXVsdGlieXRlLmgiCiAjaW5jbHVkZSAid2Fybmxlc3MuaCIKQEAgLTUxLDcgKzUyLDcgQEAKICNpbmNsdWRlICJtdWx0aWlmLmgiCiAjaW5jbHVkZSAic3lzdGVtX3dpbjMyLmgiCiAKLSAvKiBUaGUgbGFzdCAjaW5jbHVkZSBmaWxlIHNob3VsZCBiZTogKi8KKy8qIFRoZSBsYXN0ICNpbmNsdWRlIGZpbGUgc2hvdWxkIGJlOiAqLwogI2luY2x1ZGUgImN1cmxfbWVtb3J5LmgiCiAjaW5jbHVkZSAibWVtZGVidWcuaCIKIApAQCAtMTY5LDI1ICsxNzAsMjUgQEAKICAgbG9uZyBpID0gc3NsX3ZlcnNpb247CiAKICAgc3dpdGNoKHNzbF92ZXJzaW9uX21heCkgewotICAgIGNhc2UgQ1VSTF9TU0xWRVJTSU9OX01BWF9OT05FOgotICAgIGNhc2UgQ1VSTF9TU0xWRVJTSU9OX01BWF9ERUZBVUxUOgotICAgICAgc3NsX3ZlcnNpb25fbWF4ID0gQ1VSTF9TU0xWRVJTSU9OX01BWF9UTFN2MV8yOwotICAgICAgYnJlYWs7CisgIGNhc2UgQ1VSTF9TU0xWRVJTSU9OX01BWF9OT05FOgorICBjYXNlIENVUkxfU1NMVkVSU0lPTl9NQVhfREVGQVVMVDoKKyAgICBzc2xfdmVyc2lvbl9tYXggPSBDVVJMX1NTTFZFUlNJT05fTUFYX1RMU3YxXzI7CisgICAgYnJlYWs7CiAgIH0KICAgZm9yKDsgaSA8PSAoc3NsX3ZlcnNpb25fbWF4ID4+IDE2KTsgKytpKSB7CiAgICAgc3dpdGNoKGkpIHsKLSAgICAgIGNhc2UgQ1VSTF9TU0xWRVJTSU9OX1RMU3YxXzA6Ci0gICAgICAgIHNjaGFubmVsX2NyZWQtPmdyYml0RW5hYmxlZFByb3RvY29scyB8PSBTUF9QUk9UX1RMUzFfMF9DTElFTlQ7Ci0gICAgICAgIGJyZWFrOwotICAgICAgY2FzZSBDVVJMX1NTTFZFUlNJT05fVExTdjFfMToKLSAgICAgICAgc2NoYW5uZWxfY3JlZC0+Z3JiaXRFbmFibGVkUHJvdG9jb2xzIHw9IFNQX1BST1RfVExTMV8xX0NMSUVOVDsKLSAgICAgICAgYnJlYWs7Ci0gICAgICBjYXNlIENVUkxfU1NMVkVSU0lPTl9UTFN2MV8yOgotICAgICAgICBzY2hhbm5lbF9jcmVkLT5ncmJpdEVuYWJsZWRQcm90b2NvbHMgfD0gU1BfUFJPVF9UTFMxXzJfQ0xJRU5UOwotICAgICAgICBicmVhazsKLSAgICAgIGNhc2UgQ1VSTF9TU0xWRVJTSU9OX1RMU3YxXzM6Ci0gICAgICAgIGZhaWxmKGRhdGEsICJzY2hhbm5lbDogVExTIDEuMyBpcyBub3QgeWV0IHN1cHBvcnRlZCIpOwotICAgICAgICByZXR1cm4gQ1VSTEVfU1NMX0NPTk5FQ1RfRVJST1I7CisgICAgY2FzZSBDVVJMX1NTTFZFUlNJT05fVExTdjFfMDoKKyAgICAgIHNjaGFubmVsX2NyZWQtPmdyYml0RW5hYmxlZFByb3RvY29scyB8PSBTUF9QUk9UX1RMUzFfMF9DTElFTlQ7CisgICAgICBicmVhazsKKyAgICBjYXNlIENVUkxfU1NMVkVSU0lPTl9UTFN2MV8xOgorICAgICAgc2NoYW5uZWxfY3JlZC0+Z3JiaXRFbmFibGVkUHJvdG9jb2xzIHw9IFNQX1BST1RfVExTMV8xX0NMSUVOVDsKKyAgICAgIGJyZWFrOworICAgIGNhc2UgQ1VSTF9TU0xWRVJTSU9OX1RMU3YxXzI6CisgICAgICBzY2hhbm5lbF9jcmVkLT5ncmJpdEVuYWJsZWRQcm90b2NvbHMgfD0gU1BfUFJPVF9UTFMxXzJfQ0xJRU5UOworICAgICAgYnJlYWs7CisgICAgY2FzZSBDVVJMX1NTTFZFUlNJT05fVExTdjFfMzoKKyAgICAgIGZhaWxmKGRhdGEsICJzY2hhbm5lbDogVExTIDEuMyBpcyBub3QgeWV0IHN1cHBvcnRlZCIpOworICAgICAgcmV0dXJuIENVUkxFX1NTTF9DT05ORUNUX0VSUk9SOwogICAgIH0KICAgfQogICByZXR1cm4gQ1VSTEVfT0s7CkBAIC0xOTUsOSArMTk2LDkgQEAKIAogLypsb25nZXN0IGlzIDI2LCBidWZmZXIgaXMgc2xpZ2h0bHkgYmlnZ2VyKi8KICNkZWZpbmUgTE9OR0VTVF9BTEdfSUQgMzIKLSNkZWZpbmUgQ0lQSEVST1BUSU9OKFgpIFwKLWlmKHN0cmNtcCgjWCwgdG1wKSA9PSAwKSBcCi0gIHJldHVybiBYCisjZGVmaW5lIENJUEhFUk9QVElPTihYKSAgICAgICAgICAgICAgICAgICAgICAgICBcCisgIGlmKHN0cmNtcCgjWCwgdG1wKSA9PSAwKSAgICAgICAgICAgICAgICAgICAgICBcCisgICAgcmV0dXJuIFgKIAogc3RhdGljIGludAogZ2V0X2FsZ19pZF9ieV9uYW1lKGNoYXIgKm5hbWUpCkBAIC0yNzMsMTEgKzI3NCwxMSBAQAogI2lmZGVmIENBTEdfSE1BQwogICBDSVBIRVJPUFRJT04oQ0FMR19ITUFDKTsKICNlbmRpZgotI2lmICFkZWZpbmVkKF9fVzMyQVBJX01BSk9SX1ZFUlNJT04pIHx8IFwKLSAgICAhZGVmaW5lZChfX1czMkFQSV9NSU5PUl9WRVJTSU9OKSB8fCBcCi0gICAgZGVmaW5lZChfX01JTkdXNjRfVkVSU0lPTl9NQUpPUikgfHwgXAotICAgIChfX1czMkFQSV9NQUpPUl9WRVJTSU9OID4gNSkgICAgIHx8IFwKLSAgICAoKF9fVzMyQVBJX01BSk9SX1ZFUlNJT04gPT0gNSkgJiYgKF9fVzMyQVBJX01JTk9SX1ZFUlNJT04gPiAwKSkKKyNpZiAhZGVmaW5lZChfX1czMkFQSV9NQUpPUl9WRVJTSU9OKSB8fCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgIWRlZmluZWQoX19XMzJBUElfTUlOT1JfVkVSU0lPTikgfHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgZGVmaW5lZChfX01JTkdXNjRfVkVSU0lPTl9NQUpPUikgfHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgKF9fVzMyQVBJX01BSk9SX1ZFUlNJT04gPiA1KSAgICAgfHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgKChfX1czMkFQSV9NQUpPUl9WRVJTSU9OID09IDUpICYmIChfX1czMkFQSV9NSU5PUl9WRVJTSU9OID4gMCkpCiAgIC8qIENBTEdfVExTMVBSRiBoYXMgYSBzeW50YXggZXJyb3IgaW4gTWluR1cncyB3MzJhcGkgdXAgdG8gdmVyc2lvbiA1LjAsCiAgICAgIHNlZSBodHRwczovL29zZG4ubmV0L3Byb2plY3RzL21pbmd3L3RpY2tldC8zODM5MSAqLwogICBDSVBIRVJPUFRJT04oQ0FMR19UTFMxUFJGKTsKQEAgLTMzOSw3ICszNDAsNyBAQAogICAgIGlmKHN0YXJ0Q3VyKQogICAgICAgc3RhcnRDdXIrKzsKICAgfQotICAgIHNjaGFubmVsX2NyZWQtPnBhbGdTdXBwb3J0ZWRBbGdzID0gYWxnSWRzOworICBzY2hhbm5lbF9jcmVkLT5wYWxnU3VwcG9ydGVkQWxncyA9IGFsZ0lkczsKICAgc2NoYW5uZWxfY3JlZC0+Y1N1cHBvcnRlZEFsZ3MgPSBhbGdDb3VudDsKICAgcmV0dXJuIENVUkxFX09LOwogfQpAQCAtNDI0LDggKzQyNSwxMiBAQAogI2VuZGlmCiAgIFRDSEFSICpob3N0X25hbWU7CiAgIENVUkxjb2RlIHJlc3VsdDsKKyNpZm5kZWYgQ1VSTF9ESVNBQkxFX1BST1hZCiAgIGNoYXIgKiBjb25zdCBob3N0bmFtZSA9IFNTTF9JU19QUk9YWSgpID8gY29ubi0+aHR0cF9wcm94eS5ob3N0Lm5hbWUgOgogICAgIGNvbm4tPmhvc3QubmFtZTsKKyNlbHNlCisgIGNoYXIgKiBjb25zdCBob3N0bmFtZSA9IGNvbm4tPmhvc3QubmFtZTsKKyNlbmRpZgogCiAgIERFQlVHRihpbmZvZihkYXRhLAogICAgICAgICAgICAgICAgInNjaGFubmVsOiBTU0wvVExTIGNvbm5lY3Rpb24gd2l0aCAlcyBwb3J0ICVodSAoc3RlcCAxLzMpXG4iLApAQCAtNDMzLDIwICs0MzgsMjAgQEAKIAogICBpZihDdXJsX3ZlcmlmeV93aW5kb3dzX3ZlcnNpb24oNSwgMSwgUExBVEZPUk1fV0lOTlQsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBWRVJTSU9OX0xFU1NfVEhBTl9FUVVBTCkpIHsKLSAgICAgLyogU2NoYW5uZWwgaW4gV2luZG93cyBYUCAoT1MgdmVyc2lvbiA1LjEpIHVzZXMgbGVnYWN5IGhhbmRzaGFrZXMgYW5kCi0gICAgICAgIGFsZ29yaXRobXMgdGhhdCBtYXkgbm90IGJlIHN1cHBvcnRlZCBieSBhbGwgc2VydmVycy4gKi8KLSAgICAgaW5mb2YoZGF0YSwgInNjaGFubmVsOiBXaW5kb3dzIHZlcnNpb24gaXMgb2xkIGFuZCBtYXkgbm90IGJlIGFibGUgdG8gIgotICAgICAgICAgICAiY29ubmVjdCB0byBzb21lIHNlcnZlcnMgZHVlIHRvIGxhY2sgb2YgU05JLCBhbGdvcml0aG1zLCBldGMuXG4iKTsKKyAgICAvKiBTY2hhbm5lbCBpbiBXaW5kb3dzIFhQIChPUyB2ZXJzaW9uIDUuMSkgdXNlcyBsZWdhY3kgaGFuZHNoYWtlcyBhbmQKKyAgICAgICBhbGdvcml0aG1zIHRoYXQgbWF5IG5vdCBiZSBzdXBwb3J0ZWQgYnkgYWxsIHNlcnZlcnMuICovCisgICAgaW5mb2YoZGF0YSwgInNjaGFubmVsOiBXaW5kb3dzIHZlcnNpb24gaXMgb2xkIGFuZCBtYXkgbm90IGJlIGFibGUgdG8gIgorICAgICAgICAgICJjb25uZWN0IHRvIHNvbWUgc2VydmVycyBkdWUgdG8gbGFjayBvZiBTTkksIGFsZ29yaXRobXMsIGV0Yy5cbiIpOwogICB9CiAKICNpZmRlZiBIQVNfQUxQTgogICAvKiBBTFBOIGlzIG9ubHkgc3VwcG9ydGVkIG9uIFdpbmRvd3MgOC4xIC8gU2VydmVyIDIwMTIgUjIgYW5kIGFib3ZlLgogICAgICBBbHNvIGl0IGRvZXNuJ3Qgc2VlbSB0byBiZSBzdXBwb3J0ZWQgZm9yIFdpbmUsIHNlZSBjdXJsIGJ1ZyAjOTgzLiAqLwogICBCQUNLRU5ELT51c2VfYWxwbiA9IGNvbm4tPmJpdHMudGxzX2VuYWJsZV9hbHBuICYmCi0gICAgICAgICAgICAgICAgICAgICAgIUdldFByb2NBZGRyZXNzKEdldE1vZHVsZUhhbmRsZUEoIm50ZGxsIiksCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ3aW5lX2dldF92ZXJzaW9uIikgJiYKLSAgICAgICAgICAgICAgICAgICAgICBDdXJsX3ZlcmlmeV93aW5kb3dzX3ZlcnNpb24oNiwgMywgUExBVEZPUk1fV0lOTlQsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFZFUlNJT05fR1JFQVRFUl9USEFOX0VRVUFMKTsKKyAgICAhR2V0UHJvY0FkZHJlc3MoR2V0TW9kdWxlSGFuZGxlQSgibnRkbGwiKSwKKyAgICAgICAgICAgICAgICAgICAgIndpbmVfZ2V0X3ZlcnNpb24iKSAmJgorICAgIEN1cmxfdmVyaWZ5X3dpbmRvd3NfdmVyc2lvbig2LCAzLCBQTEFURk9STV9XSU5OVCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVkVSU0lPTl9HUkVBVEVSX1RIQU5fRVFVQUwpOwogI2Vsc2UKICAgQkFDS0VORC0+dXNlX2FscG4gPSBmYWxzZTsKICNlbmRpZgpAQCAtNTU1LDEyICs1NjAsMTIgQEAKICAgICBjYXNlIENVUkxfU1NMVkVSU0lPTl9UTFN2MV8xOgogICAgIGNhc2UgQ1VSTF9TU0xWRVJTSU9OX1RMU3YxXzI6CiAgICAgY2FzZSBDVVJMX1NTTFZFUlNJT05fVExTdjFfMzoKLSAgICAgIHsKLSAgICAgICAgcmVzdWx0ID0gc2V0X3NzbF92ZXJzaW9uX21pbl9tYXgoJnNjaGFubmVsX2NyZWQsIGNvbm4pOwotICAgICAgICBpZihyZXN1bHQgIT0gQ1VSTEVfT0spCi0gICAgICAgICAgcmV0dXJuIHJlc3VsdDsKLSAgICAgICAgYnJlYWs7Ci0gICAgICB9CisgICAgeworICAgICAgcmVzdWx0ID0gc2V0X3NzbF92ZXJzaW9uX21pbl9tYXgoJnNjaGFubmVsX2NyZWQsIGNvbm4pOworICAgICAgaWYocmVzdWx0ICE9IENVUkxFX09LKQorICAgICAgICByZXR1cm4gcmVzdWx0OworICAgICAgYnJlYWs7CisgICAgfQogICAgIGNhc2UgQ1VSTF9TU0xWRVJTSU9OX1NTTHYzOgogICAgICAgc2NoYW5uZWxfY3JlZC5ncmJpdEVuYWJsZWRQcm90b2NvbHMgPSBTUF9QUk9UX1NTTDNfQ0xJRU5UOwogICAgICAgYnJlYWs7CkBAIC01ODMsMTA1ICs1ODgsMTMzIEBACiAKICNpZmRlZiBIQVNfQ0xJRU5UX0NFUlRfUEFUSAogICAgIC8qIGNsaWVudCBjZXJ0aWZpY2F0ZSAqLwotICAgIGlmKGRhdGEtPnNldC5zc2wuY2VydCkgewotICAgICAgRFdPUkQgY2VydF9zdG9yZV9uYW1lOworICAgIGlmKGRhdGEtPnNldC5zc2wuY2VydCB8fCBkYXRhLT5zZXQuc3NsLmNlcnRfYmxvYikgeworICAgICAgRFdPUkQgY2VydF9zdG9yZV9uYW1lID0gMDsKICAgICAgIFRDSEFSICpjZXJ0X3N0b3JlX3BhdGggPSBOVUxMOwotICAgICAgVENIQVIgKmNlcnRfdGh1bWJwcmludF9zdHI7CisgICAgICBUQ0hBUiAqY2VydF90aHVtYnByaW50X3N0ciA9IE5VTEw7CiAgICAgICBDUllQVF9IQVNIX0JMT0IgY2VydF90aHVtYnByaW50OwogICAgICAgQllURSBjZXJ0X3RodW1icHJpbnRfZGF0YVtDRVJUX1RIVU1CUFJJTlRfREFUQV9MRU5dOwotICAgICAgSENFUlRTVE9SRSBjZXJ0X3N0b3JlOworICAgICAgSENFUlRTVE9SRSBjZXJ0X3N0b3JlID0gTlVMTDsKICAgICAgIEZJTEUgKmZJbkNlcnQgPSBOVUxMOworICAgICAgdm9pZCAqY2VydGRhdGEgPSBOVUxMOworICAgICAgc2l6ZV90IGNlcnRzaXplID0gMDsKKyAgICAgIGJvb2wgYmxvYiA9IGRhdGEtPnNldC5zc2wuY2VydF9ibG9iICE9IE5VTEw7CisgICAgICBUQ0hBUiAqY2VydF9wYXRoID0gTlVMTDsKKyAgICAgIGlmKGJsb2IpIHsKKyAgICAgICAgY2VydGRhdGEgPSBkYXRhLT5zZXQuc3NsLmNlcnRfYmxvYi0+ZGF0YTsKKyAgICAgICAgY2VydHNpemUgPSBkYXRhLT5zZXQuc3NsLmNlcnRfYmxvYi0+bGVuOworICAgICAgfQorICAgICAgZWxzZSB7CisgICAgICAgIGNlcnRfcGF0aCA9IGN1cmx4X2NvbnZlcnRfVVRGOF90b190Y2hhcihkYXRhLT5zZXQuc3NsLmNlcnQpOworICAgICAgICBpZighY2VydF9wYXRoKQorICAgICAgICAgIHJldHVybiBDVVJMRV9PVVRfT0ZfTUVNT1JZOwogCi0gICAgICBUQ0hBUiAqY2VydF9wYXRoID0gQ3VybF9jb252ZXJ0X1VURjhfdG9fdGNoYXIoZGF0YS0+c2V0LnNzbC5jZXJ0KTsKLSAgICAgIGlmKCFjZXJ0X3BhdGgpCi0gICAgICAgIHJldHVybiBDVVJMRV9PVVRfT0ZfTUVNT1JZOworICAgICAgICByZXN1bHQgPSBnZXRfY2VydF9sb2NhdGlvbihjZXJ0X3BhdGgsICZjZXJ0X3N0b3JlX25hbWUsCisgICAgICAgICAgJmNlcnRfc3RvcmVfcGF0aCwgJmNlcnRfdGh1bWJwcmludF9zdHIpOwogCi0gICAgICByZXN1bHQgPSBnZXRfY2VydF9sb2NhdGlvbihjZXJ0X3BhdGgsICZjZXJ0X3N0b3JlX25hbWUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmY2VydF9zdG9yZV9wYXRoLCAmY2VydF90aHVtYnByaW50X3N0cik7Ci0gICAgICBpZigocmVzdWx0ICE9IENVUkxFX09LKSAmJiAoZGF0YS0+c2V0LnNzbC5jZXJ0WzBdIT0nXDAnKSkKLSAgICAgICAgZkluQ2VydCA9IGZvcGVuKGRhdGEtPnNldC5zc2wuY2VydCwgInJiIik7CisgICAgICAgIGlmKHJlc3VsdCAmJiAoZGF0YS0+c2V0LnNzbC5jZXJ0WzBdIT0nXDAnKSkKKyAgICAgICAgICBmSW5DZXJ0ID0gZm9wZW4oZGF0YS0+c2V0LnNzbC5jZXJ0LCAicmIiKTsKIAotICAgICAgaWYoKHJlc3VsdCAhPSBDVVJMRV9PSykgJiYgKGZJbkNlcnQgPT0gTlVMTCkpIHsKLSAgICAgICAgZmFpbGYoZGF0YSwgInNjaGFubmVsOiBGYWlsZWQgdG8gZ2V0IGNlcnRpZmljYXRlIGxvY2F0aW9uIgotICAgICAgICAgICAgICAiIG9yIGZpbGUgZm9yICVzIiwKLSAgICAgICAgICAgICAgZGF0YS0+c2V0LnNzbC5jZXJ0KTsKLSAgICAgICAgQ3VybF91bmljb2RlZnJlZShjZXJ0X3BhdGgpOwotICAgICAgICByZXR1cm4gcmVzdWx0OworICAgICAgICBpZihyZXN1bHQgJiYgIWZJbkNlcnQpIHsKKyAgICAgICAgICBmYWlsZihkYXRhLCAic2NoYW5uZWw6IEZhaWxlZCB0byBnZXQgY2VydGlmaWNhdGUgbG9jYXRpb24iCisgICAgICAgICAgICAgICAgIiBvciBmaWxlIGZvciAlcyIsCisgICAgICAgICAgICAgICAgZGF0YS0+c2V0LnNzbC5jZXJ0KTsKKyAgICAgICAgICBjdXJseF91bmljb2RlZnJlZShjZXJ0X3BhdGgpOworICAgICAgICAgIHJldHVybiByZXN1bHQ7CisgICAgICAgIH0KICAgICAgIH0KIAotICAgICAgaWYoZkluQ2VydCkgeworICAgICAgaWYoKGZJbkNlcnQgfHwgYmxvYikgJiYgKGRhdGEtPnNldC5zc2wuY2VydF90eXBlKSAmJgorICAgICAgICAgICghc3RyY2FzZWNvbXBhcmUoZGF0YS0+c2V0LnNzbC5jZXJ0X3R5cGUsICJQMTIiKSkpIHsKKyAgICAgICAgZmFpbGYoZGF0YSwgInNjaGFubmVsOiBjZXJ0aWZpY2F0ZSBmb3JtYXQgY29tcGF0aWJpbGl0eSBlcnJvciAiCisgICAgICAgICAgICAgICAgIiBmb3IgJXMiLAorICAgICAgICAgICAgICAgIGJsb2IgPyAiKG1lbW9yeSBibG9iKSIgOiBkYXRhLT5zZXQuc3NsLmNlcnQpOworICAgICAgICBjdXJseF91bmljb2RlZnJlZShjZXJ0X3BhdGgpOworICAgICAgICByZXR1cm4gQ1VSTEVfU1NMX0NFUlRQUk9CTEVNOworICAgICAgfQorCisgICAgICBpZihmSW5DZXJ0IHx8IGJsb2IpIHsKICAgICAgICAgLyogUmVhZGluZyBhIC5QMTIgb3IgLnBmeCBmaWxlLCBsaWtlIHRoZSBleGFtcGxlIGF0IGJvdHRvbSBvZgotICAgICAgICAgICBodHRwczovL3NvY2lhbC5tc2RuLm1pY3Jvc29mdC5jb20vRm9ydW1zL3dpbmRvd3NkZXNrdG9wLwotICAgICAgICAgICBlbi1VUy8zZTdiYzk1Zi1iMjFhLTRiY2QtYmQyYy03Zjk5NjcxOGNhZTUKKyAgICAgICAgICAgICBodHRwczovL3NvY2lhbC5tc2RuLm1pY3Jvc29mdC5jb20vRm9ydW1zL3dpbmRvd3NkZXNrdG9wLworICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVuLVVTLzNlN2JjOTVmLWIyMWEtNGJjZC1iZDJjLTdmOTk2NzE4Y2FlNQogICAgICAgICAqLwotICAgICAgICB2b2lkICpjZXJ0ZGF0YSA9IE5VTEw7Ci0gICAgICAgIGxvbmcgZmlsZXNpemUgPSAwOwogICAgICAgICBDUllQVF9EQVRBX0JMT0IgZGF0YWJsb2I7CiAgICAgICAgIFdDSEFSKiBwc3pQYXNzd29yZDsKICAgICAgICAgc2l6ZV90IHB3ZF9sZW4gPSAwOwogICAgICAgICBpbnQgc3RyX3dfbGVuID0gMDsKLSAgICAgICAgaW50IGNvbnRpbnVlX3JlYWRpbmcgPSBmc2VlayhmSW5DZXJ0LCAwLCBTRUVLX0VORCkgPT0gMDsKLSAgICAgICAgaWYoY29udGludWVfcmVhZGluZykKLSAgICAgICAgICBmaWxlc2l6ZSA9IGZ0ZWxsKGZJbkNlcnQpOwotICAgICAgICBpZihmaWxlc2l6ZSA8IDApCi0gICAgICAgICAgY29udGludWVfcmVhZGluZyA9IDA7Ci0gICAgICAgIGlmKGNvbnRpbnVlX3JlYWRpbmcpCi0gICAgICAgICAgY29udGludWVfcmVhZGluZyA9IGZzZWVrKGZJbkNlcnQsIDAsIFNFRUtfU0VUKSA9PSAwOwotICAgICAgICBpZihjb250aW51ZV9yZWFkaW5nKQotICAgICAgICAgIGNlcnRkYXRhID0gbWFsbG9jKCgoc2l6ZV90KWZpbGVzaXplKSArIDEpOwotICAgICAgICBpZigoY2VydGRhdGEgPT0gTlVMTCkgfHwKLSAgICAgICAgICAgKChpbnQpIGZyZWFkKGNlcnRkYXRhLCAoc2l6ZV90KWZpbGVzaXplLCAxLCBmSW5DZXJ0KSAhPSAxKSkKLSAgICAgICAgICBjb250aW51ZV9yZWFkaW5nID0gMDsKLSAgICAgICAgZmNsb3NlKGZJbkNlcnQpOwotICAgICAgICBDdXJsX3VuaWNvZGVmcmVlKGNlcnRfcGF0aCk7Ci0KLSAgICAgICAgaWYoIWNvbnRpbnVlX3JlYWRpbmcpIHsKLSAgICAgICAgICBmYWlsZihkYXRhLCAic2NoYW5uZWw6IEZhaWxlZCB0byByZWFkIGNlcnQgZmlsZSAlcyIsCisgICAgICAgIGNvbnN0IGNoYXIgKmNlcnRfc2hvd2ZpbGVuYW1lX2Vycm9yID0gYmxvYiA/CisgICAgICAgICAgIihtZW1vcnkgYmxvYikiIDogZGF0YS0+c2V0LnNzbC5jZXJ0OworICAgICAgICBjdXJseF91bmljb2RlZnJlZShjZXJ0X3BhdGgpOworICAgICAgICBpZihmSW5DZXJ0KSB7CisgICAgICAgICAgbG9uZyBjZXJ0X3RlbGwgPSAwOworICAgICAgICAgIGJvb2wgY29udGludWVfcmVhZGluZyA9IGZzZWVrKGZJbkNlcnQsIDAsIFNFRUtfRU5EKSA9PSAwOworICAgICAgICAgIGlmKGNvbnRpbnVlX3JlYWRpbmcpCisgICAgICAgICAgICBjZXJ0X3RlbGwgPSBmdGVsbChmSW5DZXJ0KTsKKyAgICAgICAgICBpZihjZXJ0X3RlbGwgPCAwKQorICAgICAgICAgICAgY29udGludWVfcmVhZGluZyA9IEZBTFNFOworICAgICAgICAgIGVsc2UKKyAgICAgICAgICAgIGNlcnRzaXplID0gKHNpemVfdCljZXJ0X3RlbGw7CisgICAgICAgICAgaWYoY29udGludWVfcmVhZGluZykKKyAgICAgICAgICAgIGNvbnRpbnVlX3JlYWRpbmcgPSBmc2VlayhmSW5DZXJ0LCAwLCBTRUVLX1NFVCkgPT0gMDsKKyAgICAgICAgICBpZihjb250aW51ZV9yZWFkaW5nKQorICAgICAgICAgICAgY2VydGRhdGEgPSBtYWxsb2MoY2VydHNpemUgKyAxKTsKKyAgICAgICAgICBpZigoIWNlcnRkYXRhKSB8fAorICAgICAgICAgICAgICgoaW50KSBmcmVhZChjZXJ0ZGF0YSwgY2VydHNpemUsIDEsIGZJbkNlcnQpICE9IDEpKQorICAgICAgICAgICAgY29udGludWVfcmVhZGluZyA9IEZBTFNFOworICAgICAgICAgIGZjbG9zZShmSW5DZXJ0KTsKKyAgICAgICAgICBpZighY29udGludWVfcmVhZGluZykgeworICAgICAgICAgICAgZmFpbGYoZGF0YSwgInNjaGFubmVsOiBGYWlsZWQgdG8gcmVhZCBjZXJ0IGZpbGUgJXMiLAogICAgICAgICAgICAgICAgIGRhdGEtPnNldC5zc2wuY2VydCk7Ci0gICAgICAgICAgZnJlZShjZXJ0ZGF0YSk7Ci0gICAgICAgICAgcmV0dXJuIENVUkxFX1NTTF9DRVJUUFJPQkxFTTsKKyAgICAgICAgICAgIGZyZWUoY2VydGRhdGEpOworICAgICAgICAgICAgcmV0dXJuIENVUkxFX1NTTF9DRVJUUFJPQkxFTTsKKyAgICAgICAgICB9CiAgICAgICAgIH0KIAogICAgICAgICAvKiBDb252ZXJ0IGtleS1wYWlyIGRhdGEgdG8gdGhlIGluLW1lbW9yeSBjZXJ0aWZpY2F0ZSBzdG9yZSAqLwogICAgICAgICBkYXRhYmxvYi5wYkRhdGEgPSAoQllURSopY2VydGRhdGE7Ci0gICAgICAgIGRhdGFibG9iLmNiRGF0YSA9IChEV09SRClmaWxlc2l6ZTsKKyAgICAgICAgZGF0YWJsb2IuY2JEYXRhID0gKERXT1JEKWNlcnRzaXplOwogCiAgICAgICAgIGlmKGRhdGEtPnNldC5zc2wua2V5X3Bhc3N3ZCAhPSBOVUxMKQogICAgICAgICAgIHB3ZF9sZW4gPSBzdHJsZW4oZGF0YS0+c2V0LnNzbC5rZXlfcGFzc3dkKTsKICAgICAgICAgcHN6UGFzc3dvcmQgPSAoV0NIQVIqKW1hbGxvYyhzaXplb2YoV0NIQVIpKihwd2RfbGVuICsgMSkpOwotICAgICAgICBpZihwd2RfbGVuID4gMCkKLSAgICAgICAgICBzdHJfd19sZW4gPQotICAgICAgICAgICAgTXVsdGlCeXRlVG9XaWRlQ2hhcihDUF9VVEY4LCBNQl9FUlJfSU5WQUxJRF9DSEFSUywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS0+c2V0LnNzbC5rZXlfcGFzc3dkLCAoaW50KXB3ZF9sZW4sCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBzelBhc3N3b3JkLCAoaW50KShwd2RfbGVuICsgMSkpOworICAgICAgICBpZihwc3pQYXNzd29yZCkgeworICAgICAgICAgIGlmKHB3ZF9sZW4gPiAwKQorICAgICAgICAgICAgc3RyX3dfbGVuID0gTXVsdGlCeXRlVG9XaWRlQ2hhcihDUF9VVEY4LAorICAgICAgICAgICAgICAgTUJfRVJSX0lOVkFMSURfQ0hBUlMsCisgICAgICAgICAgICAgICBkYXRhLT5zZXQuc3NsLmtleV9wYXNzd2QsIChpbnQpcHdkX2xlbiwKKyAgICAgICAgICAgICAgIHBzelBhc3N3b3JkLCAoaW50KShwd2RfbGVuICsgMSkpOwogCi0gICAgICAgIGlmKChzdHJfd19sZW4gPj0gMCkgJiYgKHN0cl93X2xlbiA8PSAoaW50KXB3ZF9sZW4pKQotICAgICAgICAgIHBzelBhc3N3b3JkW3N0cl93X2xlbl0gPSAwOwotICAgICAgICBlbHNlCi0gICAgICAgICAgcHN6UGFzc3dvcmRbMF0gPSAwOworICAgICAgICAgIGlmKChzdHJfd19sZW4gPj0gMCkgJiYgKHN0cl93X2xlbiA8PSAoaW50KXB3ZF9sZW4pKQorICAgICAgICAgICAgcHN6UGFzc3dvcmRbc3RyX3dfbGVuXSA9IDA7CisgICAgICAgICAgZWxzZQorICAgICAgICAgICAgcHN6UGFzc3dvcmRbMF0gPSAwOwogCi0gICAgICAgIGNlcnRfc3RvcmUgPSBQRlhJbXBvcnRDZXJ0U3RvcmUoJmRhdGFibG9iLCBwc3pQYXNzd29yZCwgMCk7Ci0gICAgICAgIGZyZWUocHN6UGFzc3dvcmQpOwotICAgICAgICBmcmVlKGNlcnRkYXRhKTsKKyAgICAgICAgICBjZXJ0X3N0b3JlID0gUEZYSW1wb3J0Q2VydFN0b3JlKCZkYXRhYmxvYiwgcHN6UGFzc3dvcmQsIDApOworICAgICAgICAgIGZyZWUocHN6UGFzc3dvcmQpOworICAgICAgICB9CisgICAgICAgIGlmKCFibG9iKQorICAgICAgICAgIGZyZWUoY2VydGRhdGEpOwogICAgICAgICBpZihjZXJ0X3N0b3JlID09IE5VTEwpIHsKICAgICAgICAgICBEV09SRCBlcnJvcmNvZGUgPSBHZXRMYXN0RXJyb3IoKTsKICAgICAgICAgICBpZihlcnJvcmNvZGUgPT0gRVJST1JfSU5WQUxJRF9QQVNTV09SRCkKICAgICAgICAgICAgIGZhaWxmKGRhdGEsICJzY2hhbm5lbDogRmFpbGVkIHRvIGltcG9ydCBjZXJ0IGZpbGUgJXMsICIKLSAgICAgICAgICAgICAgICAgICJwYXNzd29yZCBpcyBiYWQiLCBkYXRhLT5zZXQuc3NsLmNlcnQpOworICAgICAgICAgICAgICAgICAgInBhc3N3b3JkIGlzIGJhZCIsCisgICAgICAgICAgICAgICAgICBjZXJ0X3Nob3dmaWxlbmFtZV9lcnJvcik7CiAgICAgICAgICAgZWxzZQogICAgICAgICAgICAgZmFpbGYoZGF0YSwgInNjaGFubmVsOiBGYWlsZWQgdG8gaW1wb3J0IGNlcnQgZmlsZSAlcywgIgotICAgICAgICAgICAgICAgICAgImxhc3QgZXJyb3IgaXMgMHgleCIsIGRhdGEtPnNldC5zc2wuY2VydCwgZXJyb3Jjb2RlKTsKKyAgICAgICAgICAgICAgICAgICJsYXN0IGVycm9yIGlzIDB4JXgiLAorICAgICAgICAgICAgICAgICAgY2VydF9zaG93ZmlsZW5hbWVfZXJyb3IsIGVycm9yY29kZSk7CiAgICAgICAgICAgcmV0dXJuIENVUkxFX1NTTF9DRVJUUFJPQkxFTTsKICAgICAgICAgfQogCiAgICAgICAgIGNsaWVudF9jZXJ0c1swXSA9IENlcnRGaW5kQ2VydGlmaWNhdGVJblN0b3JlKAotICAgICAgICAgICAgY2VydF9zdG9yZSwgWDUwOV9BU05fRU5DT0RJTkcgfCBQS0NTXzdfQVNOX0VOQ09ESU5HLCAwLAotICAgICAgICAgICAgQ0VSVF9GSU5EX0FOWSwgTlVMTCwgTlVMTCk7CisgICAgICAgICAgY2VydF9zdG9yZSwgWDUwOV9BU05fRU5DT0RJTkcgfCBQS0NTXzdfQVNOX0VOQ09ESU5HLCAwLAorICAgICAgICAgIENFUlRfRklORF9BTlksIE5VTEwsIE5VTEwpOwogCiAgICAgICAgIGlmKGNsaWVudF9jZXJ0c1swXSA9PSBOVUxMKSB7CiAgICAgICAgICAgZmFpbGYoZGF0YSwgInNjaGFubmVsOiBGYWlsZWQgdG8gZ2V0IGNlcnRpZmljYXRlIGZyb20gZmlsZSAlcyIKICAgICAgICAgICAgICAgICAiLCBsYXN0IGVycm9yIGlzIDB4JXgiLAotICAgICAgICAgICAgICAgIGRhdGEtPnNldC5zc2wuY2VydCwgR2V0TGFzdEVycm9yKCkpOworICAgICAgICAgICAgICAgIGNlcnRfc2hvd2ZpbGVuYW1lX2Vycm9yLCBHZXRMYXN0RXJyb3IoKSk7CiAgICAgICAgICAgQ2VydENsb3NlU3RvcmUoY2VydF9zdG9yZSwgMCk7CiAgICAgICAgICAgcmV0dXJuIENVUkxFX1NTTF9DRVJUUFJPQkxFTTsKICAgICAgICAgfQpAQCAtNzAwLDcgKzczMyw3IEBACiAgICAgICAgICAgICAgICAgImxhc3QgZXJyb3IgaXMgMHgleCIsCiAgICAgICAgICAgICAgICAgY2VydF9zdG9yZV9uYW1lLCBjZXJ0X3N0b3JlX3BhdGgsIEdldExhc3RFcnJvcigpKTsKICAgICAgICAgICBmcmVlKGNlcnRfc3RvcmVfcGF0aCk7Ci0gICAgICAgICAgQ3VybF91bmljb2RlZnJlZShjZXJ0X3BhdGgpOworICAgICAgICAgIGN1cmx4X3VuaWNvZGVmcmVlKGNlcnRfcGF0aCk7CiAgICAgICAgICAgcmV0dXJuIENVUkxFX1NTTF9DRVJUUFJPQkxFTTsKICAgICAgICAgfQogICAgICAgICBmcmVlKGNlcnRfc3RvcmVfcGF0aCk7CkBAIC03MTQsNyArNzQ3LDcgQEAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2VydF90aHVtYnByaW50X2RhdGEsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZjZXJ0X3RodW1icHJpbnQuY2JEYXRhLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOVUxMLCBOVUxMKSkgewotICAgICAgICAgIEN1cmxfdW5pY29kZWZyZWUoY2VydF9wYXRoKTsKKyAgICAgICAgICBjdXJseF91bmljb2RlZnJlZShjZXJ0X3BhdGgpOwogICAgICAgICAgIENlcnRDbG9zZVN0b3JlKGNlcnRfc3RvcmUsIDApOwogICAgICAgICAgIHJldHVybiBDVVJMRV9TU0xfQ0VSVFBST0JMRU07CiAgICAgICAgIH0KQEAgLTcyMyw3ICs3NTYsNyBAQAogICAgICAgICAgIGNlcnRfc3RvcmUsIFg1MDlfQVNOX0VOQ09ESU5HIHwgUEtDU183X0FTTl9FTkNPRElORywgMCwKICAgICAgICAgICBDRVJUX0ZJTkRfSEFTSCwgJmNlcnRfdGh1bWJwcmludCwgTlVMTCk7CiAKLSAgICAgICAgQ3VybF91bmljb2RlZnJlZShjZXJ0X3BhdGgpOworICAgICAgICBjdXJseF91bmljb2RlZnJlZShjZXJ0X3BhdGgpOwogCiAgICAgICAgIGlmKGNsaWVudF9jZXJ0c1swXSkgewogICAgICAgICAgIHNjaGFubmVsX2NyZWQuY0NyZWRzID0gMTsKQEAgLTc1OCw3ICs3OTEsNyBAQAogICAgIEJBQ0tFTkQtPmNyZWQtPnJlZmNvdW50ID0gMTsKIAogICAgIC8qIGh0dHBzOi8vbXNkbi5taWNyb3NvZnQuY29tL2VuLXVzL2xpYnJhcnkvd2luZG93cy9kZXNrdG9wL2FhMzc0NzE2LmFzcHgKLSAgICAgICAqLworICAgICAqLwogICAgIHNzcGlfc3RhdHVzID0KICAgICAgIHNfcFNlY0ZuLT5BY3F1aXJlQ3JlZGVudGlhbHNIYW5kbGUoTlVMTCwgKFRDSEFSICopVU5JU1BfTkFNRSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgU0VDUEtHX0NSRURfT1VUQk9VTkQsIE5VTEwsCkBAIC03NzUsMTUgKzgwOCwxNSBAQAogICAgICAgICAgICAgQ3VybF9zc3BpX3N0cmVycm9yKHNzcGlfc3RhdHVzLCBidWZmZXIsIHNpemVvZihidWZmZXIpKSk7CiAgICAgICBDdXJsX3NhZmVmcmVlKEJBQ0tFTkQtPmNyZWQpOwogICAgICAgc3dpdGNoKHNzcGlfc3RhdHVzKSB7Ci0gICAgICAgIGNhc2UgU0VDX0VfSU5TVUZGSUNJRU5UX01FTU9SWToKLSAgICAgICAgICByZXR1cm4gQ1VSTEVfT1VUX09GX01FTU9SWTsKLSAgICAgICAgY2FzZSBTRUNfRV9OT19DUkVERU5USUFMUzoKLSAgICAgICAgY2FzZSBTRUNfRV9TRUNQS0dfTk9UX0ZPVU5EOgotICAgICAgICBjYXNlIFNFQ19FX05PVF9PV05FUjoKLSAgICAgICAgY2FzZSBTRUNfRV9VTktOT1dOX0NSRURFTlRJQUxTOgotICAgICAgICBjYXNlIFNFQ19FX0lOVEVSTkFMX0VSUk9SOgotICAgICAgICBkZWZhdWx0OgotICAgICAgICAgIHJldHVybiBDVVJMRV9TU0xfQ09OTkVDVF9FUlJPUjsKKyAgICAgIGNhc2UgU0VDX0VfSU5TVUZGSUNJRU5UX01FTU9SWToKKyAgICAgICAgcmV0dXJuIENVUkxFX09VVF9PRl9NRU1PUlk7CisgICAgICBjYXNlIFNFQ19FX05PX0NSRURFTlRJQUxTOgorICAgICAgY2FzZSBTRUNfRV9TRUNQS0dfTk9UX0ZPVU5EOgorICAgICAgY2FzZSBTRUNfRV9OT1RfT1dORVI6CisgICAgICBjYXNlIFNFQ19FX1VOS05PV05fQ1JFREVOVElBTFM6CisgICAgICBjYXNlIFNFQ19FX0lOVEVSTkFMX0VSUk9SOgorICAgICAgZGVmYXVsdDoKKyAgICAgICAgcmV0dXJuIENVUkxFX1NTTF9DT05ORUNUX0VSUk9SOwogICAgICAgfQogICAgIH0KICAgfQpAQCAtODY3LDcgKzkwMCw3IEBACiAgICAgcmV0dXJuIENVUkxFX09VVF9PRl9NRU1PUlk7CiAgIH0KIAotICBob3N0X25hbWUgPSBDdXJsX2NvbnZlcnRfVVRGOF90b190Y2hhcihob3N0bmFtZSk7CisgIGhvc3RfbmFtZSA9IGN1cmx4X2NvbnZlcnRfVVRGOF90b190Y2hhcihob3N0bmFtZSk7CiAgIGlmKCFob3N0X25hbWUpCiAgICAgcmV0dXJuIENVUkxFX09VVF9PRl9NRU1PUlk7CiAKQEAgLTg4NCwzNSArOTE3LDM1IEBACiAgICAgMCwgJkJBQ0tFTkQtPmN0eHQtPmN0eHRfaGFuZGxlLAogICAgICZvdXRidWZfZGVzYywgJkJBQ0tFTkQtPnJldF9mbGFncywgJkJBQ0tFTkQtPmN0eHQtPnRpbWVfc3RhbXApOwogCi0gIEN1cmxfdW5pY29kZWZyZWUoaG9zdF9uYW1lKTsKKyAgY3VybHhfdW5pY29kZWZyZWUoaG9zdF9uYW1lKTsKIAogICBpZihzc3BpX3N0YXR1cyAhPSBTRUNfSV9DT05USU5VRV9ORUVERUQpIHsKICAgICBjaGFyIGJ1ZmZlcltTVFJFUlJPUl9MRU5dOwogICAgIEN1cmxfc2FmZWZyZWUoQkFDS0VORC0+Y3R4dCk7CiAgICAgc3dpdGNoKHNzcGlfc3RhdHVzKSB7Ci0gICAgICBjYXNlIFNFQ19FX0lOU1VGRklDSUVOVF9NRU1PUlk6Ci0gICAgICAgIGZhaWxmKGRhdGEsICJzY2hhbm5lbDogaW5pdGlhbCBJbml0aWFsaXplU2VjdXJpdHlDb250ZXh0IGZhaWxlZDogJXMiLAotICAgICAgICAgICAgICBDdXJsX3NzcGlfc3RyZXJyb3Ioc3NwaV9zdGF0dXMsIGJ1ZmZlciwgc2l6ZW9mKGJ1ZmZlcikpKTsKLSAgICAgICAgcmV0dXJuIENVUkxFX09VVF9PRl9NRU1PUlk7Ci0gICAgICBjYXNlIFNFQ19FX1dST05HX1BSSU5DSVBBTDoKLSAgICAgICAgZmFpbGYoZGF0YSwgInNjaGFubmVsOiBTTkkgb3IgY2VydGlmaWNhdGUgY2hlY2sgZmFpbGVkOiAlcyIsCi0gICAgICAgICAgICAgIEN1cmxfc3NwaV9zdHJlcnJvcihzc3BpX3N0YXR1cywgYnVmZmVyLCBzaXplb2YoYnVmZmVyKSkpOwotICAgICAgICByZXR1cm4gQ1VSTEVfUEVFUl9GQUlMRURfVkVSSUZJQ0FUSU9OOwotICAgICAgICAvKgotICAgICAgY2FzZSBTRUNfRV9JTlZBTElEX0hBTkRMRToKLSAgICAgIGNhc2UgU0VDX0VfSU5WQUxJRF9UT0tFTjoKLSAgICAgIGNhc2UgU0VDX0VfTE9HT05fREVOSUVEOgotICAgICAgY2FzZSBTRUNfRV9UQVJHRVRfVU5LTk9XTjoKLSAgICAgIGNhc2UgU0VDX0VfTk9fQVVUSEVOVElDQVRJTkdfQVVUSE9SSVRZOgotICAgICAgY2FzZSBTRUNfRV9JTlRFUk5BTF9FUlJPUjoKLSAgICAgIGNhc2UgU0VDX0VfTk9fQ1JFREVOVElBTFM6Ci0gICAgICBjYXNlIFNFQ19FX1VOU1VQUE9SVEVEX0ZVTkNUSU9OOgotICAgICAgY2FzZSBTRUNfRV9BUFBMSUNBVElPTl9QUk9UT0NPTF9NSVNNQVRDSDoKLSAgICAgICAgKi8KLSAgICAgIGRlZmF1bHQ6Ci0gICAgICAgIGZhaWxmKGRhdGEsICJzY2hhbm5lbDogaW5pdGlhbCBJbml0aWFsaXplU2VjdXJpdHlDb250ZXh0IGZhaWxlZDogJXMiLAotICAgICAgICAgICAgICBDdXJsX3NzcGlfc3RyZXJyb3Ioc3NwaV9zdGF0dXMsIGJ1ZmZlciwgc2l6ZW9mKGJ1ZmZlcikpKTsKLSAgICAgICAgcmV0dXJuIENVUkxFX1NTTF9DT05ORUNUX0VSUk9SOworICAgIGNhc2UgU0VDX0VfSU5TVUZGSUNJRU5UX01FTU9SWToKKyAgICAgIGZhaWxmKGRhdGEsICJzY2hhbm5lbDogaW5pdGlhbCBJbml0aWFsaXplU2VjdXJpdHlDb250ZXh0IGZhaWxlZDogJXMiLAorICAgICAgICAgICAgQ3VybF9zc3BpX3N0cmVycm9yKHNzcGlfc3RhdHVzLCBidWZmZXIsIHNpemVvZihidWZmZXIpKSk7CisgICAgICByZXR1cm4gQ1VSTEVfT1VUX09GX01FTU9SWTsKKyAgICBjYXNlIFNFQ19FX1dST05HX1BSSU5DSVBBTDoKKyAgICAgIGZhaWxmKGRhdGEsICJzY2hhbm5lbDogU05JIG9yIGNlcnRpZmljYXRlIGNoZWNrIGZhaWxlZDogJXMiLAorICAgICAgICAgICAgQ3VybF9zc3BpX3N0cmVycm9yKHNzcGlfc3RhdHVzLCBidWZmZXIsIHNpemVvZihidWZmZXIpKSk7CisgICAgICByZXR1cm4gQ1VSTEVfUEVFUl9GQUlMRURfVkVSSUZJQ0FUSU9OOworICAgICAgLyoKKyAgICAgICAgY2FzZSBTRUNfRV9JTlZBTElEX0hBTkRMRToKKyAgICAgICAgY2FzZSBTRUNfRV9JTlZBTElEX1RPS0VOOgorICAgICAgICBjYXNlIFNFQ19FX0xPR09OX0RFTklFRDoKKyAgICAgICAgY2FzZSBTRUNfRV9UQVJHRVRfVU5LTk9XTjoKKyAgICAgICAgY2FzZSBTRUNfRV9OT19BVVRIRU5USUNBVElOR19BVVRIT1JJVFk6CisgICAgICAgIGNhc2UgU0VDX0VfSU5URVJOQUxfRVJST1I6CisgICAgICAgIGNhc2UgU0VDX0VfTk9fQ1JFREVOVElBTFM6CisgICAgICAgIGNhc2UgU0VDX0VfVU5TVVBQT1JURURfRlVOQ1RJT046CisgICAgICAgIGNhc2UgU0VDX0VfQVBQTElDQVRJT05fUFJPVE9DT0xfTUlTTUFUQ0g6CisgICAgICAqLworICAgIGRlZmF1bHQ6CisgICAgICBmYWlsZihkYXRhLCAic2NoYW5uZWw6IGluaXRpYWwgSW5pdGlhbGl6ZVNlY3VyaXR5Q29udGV4dCBmYWlsZWQ6ICVzIiwKKyAgICAgICAgICAgIEN1cmxfc3NwaV9zdHJlcnJvcihzc3BpX3N0YXR1cywgYnVmZmVyLCBzaXplb2YoYnVmZmVyKSkpOworICAgICAgcmV0dXJuIENVUkxFX1NTTF9DT05ORUNUX0VSUk9SOwogICAgIH0KICAgfQogCkBAIC05NTgsOCArOTkxLDEyIEBACiAgIFNFQ1VSSVRZX1NUQVRVUyBzc3BpX3N0YXR1cyA9IFNFQ19FX09LOwogICBDVVJMY29kZSByZXN1bHQ7CiAgIGJvb2wgZG9yZWFkOworI2lmbmRlZiBDVVJMX0RJU0FCTEVfUFJPWFkKICAgY2hhciAqIGNvbnN0IGhvc3RuYW1lID0gU1NMX0lTX1BST1hZKCkgPyBjb25uLT5odHRwX3Byb3h5Lmhvc3QubmFtZSA6CiAgICAgY29ubi0+aG9zdC5uYW1lOworI2Vsc2UKKyAgY2hhciAqIGNvbnN0IGhvc3RuYW1lID0gY29ubi0+aG9zdC5uYW1lOworI2VuZGlmCiAgIGNvbnN0IGNoYXIgKnB1YmtleV9wdHI7CiAKICAgZG9yZWFkID0gKGNvbm5zc2wtPmNvbm5lY3Rpbmdfc3RhdGUgIT0gc3NsX2Nvbm5lY3RfMl93cml0aW5nKSA/IFRSVUUgOiBGQUxTRTsKQEAgLTEwNjcsMTggKzExMDQsMTggQEAKICAgICBtZW1jcHkoaW5idWZbMF0ucHZCdWZmZXIsIEJBQ0tFTkQtPmVuY2RhdGFfYnVmZmVyLAogICAgICAgICAgICBCQUNLRU5ELT5lbmNkYXRhX29mZnNldCk7CiAKLSAgICBob3N0X25hbWUgPSBDdXJsX2NvbnZlcnRfVVRGOF90b190Y2hhcihob3N0bmFtZSk7CisgICAgaG9zdF9uYW1lID0gY3VybHhfY29udmVydF9VVEY4X3RvX3RjaGFyKGhvc3RuYW1lKTsKICAgICBpZighaG9zdF9uYW1lKQogICAgICAgcmV0dXJuIENVUkxFX09VVF9PRl9NRU1PUlk7CiAKICAgICAvKiBodHRwczovL21zZG4ubWljcm9zb2Z0LmNvbS9lbi11cy9saWJyYXJ5L3dpbmRvd3MvZGVza3RvcC9hYTM3NTkyNC5hc3B4Ci0gICAgICAgKi8KKyAgICAgKi8KICAgICBzc3BpX3N0YXR1cyA9IHNfcFNlY0ZuLT5Jbml0aWFsaXplU2VjdXJpdHlDb250ZXh0KAogICAgICAgJkJBQ0tFTkQtPmNyZWQtPmNyZWRfaGFuZGxlLCAmQkFDS0VORC0+Y3R4dC0+Y3R4dF9oYW5kbGUsCiAgICAgICBob3N0X25hbWUsIEJBQ0tFTkQtPnJlcV9mbGFncywgMCwgMCwgJmluYnVmX2Rlc2MsIDAsIE5VTEwsCiAgICAgICAmb3V0YnVmX2Rlc2MsICZCQUNLRU5ELT5yZXRfZmxhZ3MsICZCQUNLRU5ELT5jdHh0LT50aW1lX3N0YW1wKTsKIAotICAgIEN1cmxfdW5pY29kZWZyZWUoaG9zdF9uYW1lKTsKKyAgICBjdXJseF91bmljb2RlZnJlZShob3N0X25hbWUpOwogCiAgICAgLyogZnJlZSBidWZmZXIgZm9yIHJlY2VpdmVkIGhhbmRzaGFrZSBkYXRhICovCiAgICAgQ3VybF9zYWZlZnJlZShpbmJ1ZlswXS5wdkJ1ZmZlcik7CkBAIC0xMTMzLDI5ICsxMTcwLDI5IEBACiAgICAgZWxzZSB7CiAgICAgICBjaGFyIGJ1ZmZlcltTVFJFUlJPUl9MRU5dOwogICAgICAgc3dpdGNoKHNzcGlfc3RhdHVzKSB7Ci0gICAgICAgIGNhc2UgU0VDX0VfSU5TVUZGSUNJRU5UX01FTU9SWToKLSAgICAgICAgICBmYWlsZihkYXRhLCAic2NoYW5uZWw6IG5leHQgSW5pdGlhbGl6ZVNlY3VyaXR5Q29udGV4dCBmYWlsZWQ6ICVzIiwKLSAgICAgICAgICAgICAgICBDdXJsX3NzcGlfc3RyZXJyb3Ioc3NwaV9zdGF0dXMsIGJ1ZmZlciwgc2l6ZW9mKGJ1ZmZlcikpKTsKLSAgICAgICAgICByZXR1cm4gQ1VSTEVfT1VUX09GX01FTU9SWTsKLSAgICAgICAgY2FzZSBTRUNfRV9XUk9OR19QUklOQ0lQQUw6Ci0gICAgICAgICAgZmFpbGYoZGF0YSwgInNjaGFubmVsOiBTTkkgb3IgY2VydGlmaWNhdGUgY2hlY2sgZmFpbGVkOiAlcyIsCi0gICAgICAgICAgICAgICAgQ3VybF9zc3BpX3N0cmVycm9yKHNzcGlfc3RhdHVzLCBidWZmZXIsIHNpemVvZihidWZmZXIpKSk7Ci0gICAgICAgICAgcmV0dXJuIENVUkxFX1BFRVJfRkFJTEVEX1ZFUklGSUNBVElPTjsKLSAgICAgICAgICAvKgotICAgICAgICBjYXNlIFNFQ19FX0lOVkFMSURfSEFORExFOgotICAgICAgICBjYXNlIFNFQ19FX0lOVkFMSURfVE9LRU46Ci0gICAgICAgIGNhc2UgU0VDX0VfTE9HT05fREVOSUVEOgotICAgICAgICBjYXNlIFNFQ19FX1RBUkdFVF9VTktOT1dOOgotICAgICAgICBjYXNlIFNFQ19FX05PX0FVVEhFTlRJQ0FUSU5HX0FVVEhPUklUWToKLSAgICAgICAgY2FzZSBTRUNfRV9JTlRFUk5BTF9FUlJPUjoKLSAgICAgICAgY2FzZSBTRUNfRV9OT19DUkVERU5USUFMUzoKLSAgICAgICAgY2FzZSBTRUNfRV9VTlNVUFBPUlRFRF9GVU5DVElPTjoKLSAgICAgICAgY2FzZSBTRUNfRV9BUFBMSUNBVElPTl9QUk9UT0NPTF9NSVNNQVRDSDoKLSAgICAgICAgICAqLwotICAgICAgICBkZWZhdWx0OgotICAgICAgICAgIGZhaWxmKGRhdGEsICJzY2hhbm5lbDogbmV4dCBJbml0aWFsaXplU2VjdXJpdHlDb250ZXh0IGZhaWxlZDogJXMiLAotICAgICAgICAgICAgICAgIEN1cmxfc3NwaV9zdHJlcnJvcihzc3BpX3N0YXR1cywgYnVmZmVyLCBzaXplb2YoYnVmZmVyKSkpOwotICAgICAgICAgIHJldHVybiBDVVJMRV9TU0xfQ09OTkVDVF9FUlJPUjsKKyAgICAgIGNhc2UgU0VDX0VfSU5TVUZGSUNJRU5UX01FTU9SWToKKyAgICAgICAgZmFpbGYoZGF0YSwgInNjaGFubmVsOiBuZXh0IEluaXRpYWxpemVTZWN1cml0eUNvbnRleHQgZmFpbGVkOiAlcyIsCisgICAgICAgICAgICAgIEN1cmxfc3NwaV9zdHJlcnJvcihzc3BpX3N0YXR1cywgYnVmZmVyLCBzaXplb2YoYnVmZmVyKSkpOworICAgICAgICByZXR1cm4gQ1VSTEVfT1VUX09GX01FTU9SWTsKKyAgICAgIGNhc2UgU0VDX0VfV1JPTkdfUFJJTkNJUEFMOgorICAgICAgICBmYWlsZihkYXRhLCAic2NoYW5uZWw6IFNOSSBvciBjZXJ0aWZpY2F0ZSBjaGVjayBmYWlsZWQ6ICVzIiwKKyAgICAgICAgICAgICAgQ3VybF9zc3BpX3N0cmVycm9yKHNzcGlfc3RhdHVzLCBidWZmZXIsIHNpemVvZihidWZmZXIpKSk7CisgICAgICAgIHJldHVybiBDVVJMRV9QRUVSX0ZBSUxFRF9WRVJJRklDQVRJT047CisgICAgICAgIC8qCisgICAgICAgICAgY2FzZSBTRUNfRV9JTlZBTElEX0hBTkRMRToKKyAgICAgICAgICBjYXNlIFNFQ19FX0lOVkFMSURfVE9LRU46CisgICAgICAgICAgY2FzZSBTRUNfRV9MT0dPTl9ERU5JRUQ6CisgICAgICAgICAgY2FzZSBTRUNfRV9UQVJHRVRfVU5LTk9XTjoKKyAgICAgICAgICBjYXNlIFNFQ19FX05PX0FVVEhFTlRJQ0FUSU5HX0FVVEhPUklUWToKKyAgICAgICAgICBjYXNlIFNFQ19FX0lOVEVSTkFMX0VSUk9SOgorICAgICAgICAgIGNhc2UgU0VDX0VfTk9fQ1JFREVOVElBTFM6CisgICAgICAgICAgY2FzZSBTRUNfRV9VTlNVUFBPUlRFRF9GVU5DVElPTjoKKyAgICAgICAgICBjYXNlIFNFQ19FX0FQUExJQ0FUSU9OX1BST1RPQ09MX01JU01BVENIOgorICAgICAgICAqLworICAgICAgZGVmYXVsdDoKKyAgICAgICAgZmFpbGYoZGF0YSwgInNjaGFubmVsOiBuZXh0IEluaXRpYWxpemVTZWN1cml0eUNvbnRleHQgZmFpbGVkOiAlcyIsCisgICAgICAgICAgICAgIEN1cmxfc3NwaV9zdHJlcnJvcihzc3BpX3N0YXR1cywgYnVmZmVyLCBzaXplb2YoYnVmZmVyKSkpOworICAgICAgICByZXR1cm4gQ1VSTEVfU1NMX0NPTk5FQ1RfRVJST1I7CiAgICAgICB9CiAgICAgfQogCkBAIC0xMzI0LDggKzEzNjEsMTAgQEAKIAogI2lmZGVmIEhBU19BTFBOCiAgIGlmKEJBQ0tFTkQtPnVzZV9hbHBuKSB7Ci0gICAgc3NwaV9zdGF0dXMgPSBzX3BTZWNGbi0+UXVlcnlDb250ZXh0QXR0cmlidXRlcygmQkFDS0VORC0+Y3R4dC0+Y3R4dF9oYW5kbGUsCi0gICAgICBTRUNQS0dfQVRUUl9BUFBMSUNBVElPTl9QUk9UT0NPTCwgJmFscG5fcmVzdWx0KTsKKyAgICBzc3BpX3N0YXR1cyA9CisgICAgICBzX3BTZWNGbi0+UXVlcnlDb250ZXh0QXR0cmlidXRlcygmQkFDS0VORC0+Y3R4dC0+Y3R4dF9oYW5kbGUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBTRUNQS0dfQVRUUl9BUFBMSUNBVElPTl9QUk9UT0NPTCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZhbHBuX3Jlc3VsdCk7CiAKICAgICBpZihzc3BpX3N0YXR1cyAhPSBTRUNfRV9PSykgewogICAgICAgZmFpbGYoZGF0YSwgInNjaGFubmVsOiBmYWlsZWQgdG8gcmV0cmlldmUgQUxQTiByZXN1bHQiKTsKQEAgLTEzMzYsMjEgKzEzNzUsMjEgQEAKICAgICAgICBTZWNBcHBsaWNhdGlvblByb3RvY29sTmVnb3RpYXRpb25TdGF0dXNfU3VjY2VzcykgewogCiAgICAgICBpbmZvZihkYXRhLCAic2NoYW5uZWw6IEFMUE4sIHNlcnZlciBhY2NlcHRlZCB0byB1c2UgJS4qc1xuIiwKLSAgICAgICAgYWxwbl9yZXN1bHQuUHJvdG9jb2xJZFNpemUsIGFscG5fcmVzdWx0LlByb3RvY29sSWQpOworICAgICAgICAgICAgYWxwbl9yZXN1bHQuUHJvdG9jb2xJZFNpemUsIGFscG5fcmVzdWx0LlByb3RvY29sSWQpOwogCiAjaWZkZWYgVVNFX05HSFRUUDIKICAgICAgIGlmKGFscG5fcmVzdWx0LlByb3RvY29sSWRTaXplID09IE5HSFRUUDJfUFJPVE9fVkVSU0lPTl9JRF9MRU4gJiYKICAgICAgICAgICFtZW1jbXAoTkdIVFRQMl9QUk9UT19WRVJTSU9OX0lELCBhbHBuX3Jlc3VsdC5Qcm90b2NvbElkLAotICAgICAgICAgIE5HSFRUUDJfUFJPVE9fVkVSU0lPTl9JRF9MRU4pKSB7CisgICAgICAgICAgICAgICAgIE5HSFRUUDJfUFJPVE9fVkVSU0lPTl9JRF9MRU4pKSB7CiAgICAgICAgIGNvbm4tPm5lZ25wbiA9IENVUkxfSFRUUF9WRVJTSU9OXzI7CiAgICAgICB9CiAgICAgICBlbHNlCiAjZW5kaWYKLSAgICAgIGlmKGFscG5fcmVzdWx0LlByb3RvY29sSWRTaXplID09IEFMUE5fSFRUUF8xXzFfTEVOR1RIICYmCi0gICAgICAgICAhbWVtY21wKEFMUE5fSFRUUF8xXzEsIGFscG5fcmVzdWx0LlByb3RvY29sSWQsCi0gICAgICAgICAgIEFMUE5fSFRUUF8xXzFfTEVOR1RIKSkgewotICAgICAgICBjb25uLT5uZWducG4gPSBDVVJMX0hUVFBfVkVSU0lPTl8xXzE7Ci0gICAgICB9CisgICAgICAgIGlmKGFscG5fcmVzdWx0LlByb3RvY29sSWRTaXplID09IEFMUE5fSFRUUF8xXzFfTEVOR1RIICYmCisgICAgICAgICAgICFtZW1jbXAoQUxQTl9IVFRQXzFfMSwgYWxwbl9yZXN1bHQuUHJvdG9jb2xJZCwKKyAgICAgICAgICAgICAgICAgICBBTFBOX0hUVFBfMV8xX0xFTkdUSCkpIHsKKyAgICAgICAgICBjb25uLT5uZWducG4gPSBDVVJMX0hUVFBfVkVSU0lPTl8xXzE7CisgICAgICAgIH0KICAgICB9CiAgICAgZWxzZQogICAgICAgaW5mb2YoZGF0YSwgIkFMUE4sIHNlcnZlciBkaWQgbm90IGFncmVlIHRvIGEgcHJvdG9jb2xcbiIpOwpAQCAtMTM5Nyw4ICsxNDM2LDEwIEBACiAKICAgaWYoZGF0YS0+c2V0LnNzbC5jZXJ0aW5mbykgewogICAgIGludCBjZXJ0c19jb3VudCA9IDA7Ci0gICAgc3NwaV9zdGF0dXMgPSBzX3BTZWNGbi0+UXVlcnlDb250ZXh0QXR0cmlidXRlcygmQkFDS0VORC0+Y3R4dC0+Y3R4dF9oYW5kbGUsCi0gICAgICBTRUNQS0dfQVRUUl9SRU1PVEVfQ0VSVF9DT05URVhULCAmY2NlcnRfY29udGV4dCk7CisgICAgc3NwaV9zdGF0dXMgPQorICAgICAgc19wU2VjRm4tPlF1ZXJ5Q29udGV4dEF0dHJpYnV0ZXMoJkJBQ0tFTkQtPmN0eHQtPmN0eHRfaGFuZGxlLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgU0VDUEtHX0FUVFJfUkVNT1RFX0NFUlRfQ09OVEVYVCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZjY2VydF9jb250ZXh0KTsKIAogICAgIGlmKChzc3BpX3N0YXR1cyAhPSBTRUNfRV9PSykgfHwgKGNjZXJ0X2NvbnRleHQgPT0gTlVMTCkpIHsKICAgICAgIGZhaWxmKGRhdGEsICJzY2hhbm5lbDogZmFpbGVkIHRvIHJldHJpZXZlIHJlbW90ZSBjZXJ0IGNvbnRleHQiKTsKQEAgLTE0ODEsNyArMTUyMiw3IEBACiAgICAgICAgIGNvbm5zc2wtPmNvbm5lY3Rpbmdfc3RhdGUgPyBzb2NrZmQgOiBDVVJMX1NPQ0tFVF9CQUQ7CiAKICAgICAgIHdoYXQgPSBDdXJsX3NvY2tldF9jaGVjayhyZWFkZmQsIENVUkxfU09DS0VUX0JBRCwgd3JpdGVmZCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBub25ibG9ja2luZyA/IDAgOiAodGltZV90KXRpbWVvdXRfbXMpOworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5vbmJsb2NraW5nID8gMCA6IHRpbWVvdXRfbXMpOwogICAgICAgaWYod2hhdCA8IDApIHsKICAgICAgICAgLyogZmF0YWwgZXJyb3IgKi8KICAgICAgICAgZmFpbGYoZGF0YSwgInNlbGVjdC9wb2xsIG9uIFNTTC9UTFMgc29ja2V0LCBlcnJubzogJWQiLCBTT0NLRVJSTk8pOwpAQCAtMTYzMCwxMyArMTY3MSw5IEBACiAKICAgICAvKiBzZW5kIGVudGlyZSBtZXNzYWdlIG9yIGZhaWwgKi8KICAgICB3aGlsZShsZW4gPiAoc2l6ZV90KXdyaXR0ZW4pIHsKLSAgICAgIHNzaXplX3QgdGhpc193cml0ZTsKLSAgICAgIHRpbWVkaWZmX3QgdGltZW91dF9tczsKKyAgICAgIHNzaXplX3QgdGhpc193cml0ZSA9IDA7CiAgICAgICBpbnQgd2hhdDsKLQotICAgICAgdGhpc193cml0ZSA9IDA7Ci0KLSAgICAgIHRpbWVvdXRfbXMgPSBDdXJsX3RpbWVsZWZ0KGNvbm4tPmRhdGEsIE5VTEwsIEZBTFNFKTsKKyAgICAgIHRpbWVkaWZmX3QgdGltZW91dF9tcyA9IEN1cmxfdGltZWxlZnQoY29ubi0+ZGF0YSwgTlVMTCwgRkFMU0UpOwogICAgICAgaWYodGltZW91dF9tcyA8IDApIHsKICAgICAgICAgLyogd2UgYWxyZWFkeSBnb3QgdGhlIHRpbWVvdXQgKi8KICAgICAgICAgZmFpbGYoY29ubi0+ZGF0YSwgInNjaGFubmVsOiB0aW1lZCBvdXQgc2VuZGluZyBkYXRhICIKQEAgLTE2NDUsNyArMTY4Miw3IEBACiAgICAgICAgIHdyaXR0ZW4gPSAtMTsKICAgICAgICAgYnJlYWs7CiAgICAgICB9Ci0gICAgICBpZighdGltZW91dF9tcykKKyAgICAgIGVsc2UgaWYoIXRpbWVvdXRfbXMpCiAgICAgICAgIHRpbWVvdXRfbXMgPSBUSU1FRElGRl9UX01BWDsKICAgICAgIHdoYXQgPSBTT0NLRVRfV1JJVEFCTEUoY29ubi0+c29ja1tzb2NraW5kZXhdLCB0aW1lb3V0X21zKTsKICAgICAgIGlmKHdoYXQgPCAwKSB7CkBAIC0xNzQxLDggKzE3NzgsOCBAQAogICB9CiAgIGVsc2UgaWYoIWxlbikgewogICAgIC8qIEl0J3MgZGViYXRhYmxlIHdoYXQgdG8gcmV0dXJuIHdoZW4gIWxlbi4gUmVnYXJkbGVzcyB3ZSBjYW4ndCByZXR1cm4KLSAgICBpbW1lZGlhdGVseSBiZWNhdXNlIHRoZXJlIG1heSBiZSBkYXRhIHRvIGRlY3J5cHQgKGluIHRoZSBjYXNlIHdlIHdhbnQgdG8KLSAgICBkZWNyeXB0IGFsbCBlbmNyeXB0ZWQgY2FjaGVkIGRhdGEpIHNvIGhhbmRsZSAhbGVuIGxhdGVyIGluIGNsZWFudXAuCisgICAgICAgaW1tZWRpYXRlbHkgYmVjYXVzZSB0aGVyZSBtYXkgYmUgZGF0YSB0byBkZWNyeXB0IChpbiB0aGUgY2FzZSB3ZSB3YW50IHRvCisgICAgICAgZGVjcnlwdCBhbGwgZW5jcnlwdGVkIGNhY2hlZCBkYXRhKSBzbyBoYW5kbGUgIWxlbiBsYXRlciBpbiBjbGVhbnVwLgogICAgICovCiAgICAgOyAvKiBkbyBub3RoaW5nICovCiAgIH0KQEAgLTE3NTIsNyArMTc4OSw3IEBACiAgICAgaWYoc2l6ZSA8IENVUkxfU0NIQU5ORUxfQlVGRkVSX0ZSRUVfU0laRSB8fAogICAgICAgIEJBQ0tFTkQtPmVuY2RhdGFfbGVuZ3RoIDwgbWluX2VuY2RhdGFfbGVuZ3RoKSB7CiAgICAgICByZWFsbG9jYXRlZF9sZW5ndGggPSBCQUNLRU5ELT5lbmNkYXRhX29mZnNldCArCi0gICAgICAgICAgICAgICAgICAgICAgICAgICBDVVJMX1NDSEFOTkVMX0JVRkZFUl9GUkVFX1NJWkU7CisgICAgICAgIENVUkxfU0NIQU5ORUxfQlVGRkVSX0ZSRUVfU0laRTsKICAgICAgIGlmKHJlYWxsb2NhdGVkX2xlbmd0aCA8IG1pbl9lbmNkYXRhX2xlbmd0aCkgewogICAgICAgICByZWFsbG9jYXRlZF9sZW5ndGggPSBtaW5fZW5jZGF0YV9sZW5ndGg7CiAgICAgICB9CkBAIC0xODIwLDcgKzE4NTcsNyBAQAogICAgIEluaXRTZWNCdWZmZXJEZXNjKCZpbmJ1Zl9kZXNjLCBpbmJ1ZiwgNCk7CiAKICAgICAvKiBodHRwczovL21zZG4ubWljcm9zb2Z0LmNvbS9lbi11cy9saWJyYXJ5L3dpbmRvd3MvZGVza3RvcC9hYTM3NTM0OC5hc3B4Ci0gICAgICAgKi8KKyAgICAgKi8KICAgICBzc3BpX3N0YXR1cyA9IHNfcFNlY0ZuLT5EZWNyeXB0TWVzc2FnZSgmQkFDS0VORC0+Y3R4dC0+Y3R4dF9oYW5kbGUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJmluYnVmX2Rlc2MsIDAsIE5VTEwpOwogCkBAIC0xODM2LDcgKzE4NzMsNyBAQAogCiAgICAgICAgIC8qIGluY3JlYXNlIGJ1ZmZlciBpbiBvcmRlciB0byBmaXQgdGhlIHJlY2VpdmVkIGFtb3VudCBvZiBkYXRhICovCiAgICAgICAgIHNpemUgPSBpbmJ1ZlsxXS5jYkJ1ZmZlciA+IENVUkxfU0NIQU5ORUxfQlVGRkVSX0ZSRUVfU0laRSA/Ci0gICAgICAgICAgICAgICBpbmJ1ZlsxXS5jYkJ1ZmZlciA6IENVUkxfU0NIQU5ORUxfQlVGRkVSX0ZSRUVfU0laRTsKKyAgICAgICAgICBpbmJ1ZlsxXS5jYkJ1ZmZlciA6IENVUkxfU0NIQU5ORUxfQlVGRkVSX0ZSRUVfU0laRTsKICAgICAgICAgaWYoQkFDS0VORC0+ZGVjZGF0YV9sZW5ndGggLSBCQUNLRU5ELT5kZWNkYXRhX29mZnNldCA8IHNpemUgfHwKICAgICAgICAgICAgQkFDS0VORC0+ZGVjZGF0YV9sZW5ndGggPCBsZW4pIHsKICAgICAgICAgICAvKiBpbmNyZWFzZSBpbnRlcm5hbCBkZWNyeXB0ZWQgZGF0YSBidWZmZXIgKi8KQEAgLTE5MDYsNyArMTk0Myw3IEBACiAgICAgICAgIGlmKEJBQ0tFTkQtPmVuY2RhdGFfb2Zmc2V0KSB7CiAgICAgICAgICAgKmVyciA9IENVUkxFX1JFQ1ZfRVJST1I7CiAgICAgICAgICAgaW5mb2YoZGF0YSwgInNjaGFubmVsOiBjYW4ndCByZW5vZ290aWF0ZSwgIgotICAgICAgICAgICAgICAgICAgICAgICJlbmNyeXB0ZWQgZGF0YSBhdmFpbGFibGVcbiIpOworICAgICAgICAgICAgICAgICJlbmNyeXB0ZWQgZGF0YSBhdmFpbGFibGVcbiIpOwogICAgICAgICAgIGdvdG8gY2xlYW51cDsKICAgICAgICAgfQogICAgICAgICAvKiBiZWdpbiByZW5lZ290aWF0aW9uICovCkBAIC0xOTYxLDE3ICsxOTk4LDIwIEBACiAgICAgICAgICAgICAgICAic2NoYW5uZWw6IGRlY3J5cHRlZCBkYXRhIGJ1ZmZlcjogb2Zmc2V0ICV6dSBsZW5ndGggJXp1XG4iLAogICAgICAgICAgICAgICAgQkFDS0VORC0+ZGVjZGF0YV9vZmZzZXQsIEJBQ0tFTkQtPmRlY2RhdGFfbGVuZ3RoKSk7CiAKLWNsZWFudXA6CisgIGNsZWFudXA6CiAgIC8qIFdhcm5pbmctIHRoZXJlIGlzIG5vIGd1YXJhbnRlZSB0aGUgZW5jZGF0YSBzdGF0ZSBpcyB2YWxpZCBhdCB0aGlzIHBvaW50ICovCiAgIERFQlVHRihpbmZvZihkYXRhLCAic2NoYW5uZWw6IHNjaGFubmVsX3JlY3YgY2xlYW51cFxuIikpOwogCiAgIC8qIEVycm9yIGlmIHRoZSBjb25uZWN0aW9uIGhhcyBjbG9zZWQgd2l0aG91dCBhIGNsb3NlX25vdGlmeS4KLSAgQmVoYXZpb3IgaGVyZSBpcyBhIG1hdHRlciBvZiBkZWJhdGUuIFdlIGRvbid0IHdhbnQgdG8gYmUgdnVsbmVyYWJsZSB0byBhCi0gIHRydW5jYXRpb24gYXR0YWNrIGhvd2V2ZXIgdGhlcmUncyBzb21lIGJyb3dzZXIgcHJlY2VkZW50IGZvciBpZ25vcmluZyB0aGUKLSAgY2xvc2Vfbm90aWZ5IGZvciBjb21wYXRpYmlsaXR5IHJlYXNvbnMuCi0gIEFkZGl0aW9uYWxseSwgV2luZG93cyAyMDAwICh2NS4wKSBpcyBhIHNwZWNpYWwgY2FzZSBzaW5jZSBpdCBzZWVtcyBpdCBkb2Vzbid0Ci0gIHJldHVybiBjbG9zZV9ub3RpZnkuIEluIHRoYXQgY2FzZSBpZiB0aGUgY29ubmVjdGlvbiB3YXMgY2xvc2VkIHdlIGFzc3VtZSBpdAotICB3YXMgZ3JhY2VmdWwgKGNsb3NlX25vdGlmeSkgc2luY2UgdGhlcmUgZG9lc24ndCBzZWVtIHRvIGJlIGEgd2F5IHRvIHRlbGwuCisKKyAgICAgVGhlIGJlaGF2aW9yIGhlcmUgaXMgYSBtYXR0ZXIgb2YgZGViYXRlLiBXZSBkb24ndCB3YW50IHRvIGJlIHZ1bG5lcmFibGUKKyAgICAgdG8gYSB0cnVuY2F0aW9uIGF0dGFjayBob3dldmVyIHRoZXJlJ3Mgc29tZSBicm93c2VyIHByZWNlZGVudCBmb3IKKyAgICAgaWdub3JpbmcgdGhlIGNsb3NlX25vdGlmeSBmb3IgY29tcGF0aWJpbGl0eSByZWFzb25zLgorCisgICAgIEFkZGl0aW9uYWxseSwgV2luZG93cyAyMDAwICh2NS4wKSBpcyBhIHNwZWNpYWwgY2FzZSBzaW5jZSBpdCBzZWVtcyBpdAorICAgICBkb2Vzbid0IHJldHVybiBjbG9zZV9ub3RpZnkuIEluIHRoYXQgY2FzZSBpZiB0aGUgY29ubmVjdGlvbiB3YXMgY2xvc2VkIHdlCisgICAgIGFzc3VtZSBpdCB3YXMgZ3JhY2VmdWwgKGNsb3NlX25vdGlmeSkgc2luY2UgdGhlcmUgZG9lc24ndCBzZWVtIHRvIGJlIGEKKyAgICAgd2F5IHRvIHRlbGwuCiAgICovCiAgIGlmKGxlbiAmJiAhQkFDS0VORC0+ZGVjZGF0YV9vZmZzZXQgJiYgQkFDS0VORC0+cmVjdl9jb25uZWN0aW9uX2Nsb3NlZCAmJgogICAgICAhQkFDS0VORC0+cmVjdl9zc3BpX2Nsb3NlX25vdGlmeSkgewpAQCAtMTk4OCw3ICsyMDI4LDcgQEAKIAogICAvKiBBbnkgZXJyb3Igb3RoZXIgdGhhbiBDVVJMRV9BR0FJTiBpcyBhbiB1bnJlY292ZXJhYmxlIGVycm9yLiAqLwogICBpZigqZXJyICYmICplcnIgIT0gQ1VSTEVfQUdBSU4pCi0gICAgICBCQUNLRU5ELT5yZWN2X3VucmVjb3ZlcmFibGVfZXJyID0gKmVycjsKKyAgICBCQUNLRU5ELT5yZWN2X3VucmVjb3ZlcmFibGVfZXJyID0gKmVycjsKIAogICBzaXplID0gbGVuIDwgQkFDS0VORC0+ZGVjZGF0YV9vZmZzZXQgPyBsZW4gOiBCQUNLRU5ELT5kZWNkYXRhX29mZnNldDsKICAgaWYoc2l6ZSkgewpAQCAtMjAwNSwxMCArMjA0NSwxMSBAQAogICB9CiAKICAgaWYoISplcnIgJiYgIUJBQ0tFTkQtPnJlY3ZfY29ubmVjdGlvbl9jbG9zZWQpCi0gICAgICAqZXJyID0gQ1VSTEVfQUdBSU47CisgICAgKmVyciA9IENVUkxFX0FHQUlOOwogCi0gIC8qIEl0J3MgZGViYXRhYmxlIHdoYXQgdG8gcmV0dXJuIHdoZW4gIWxlbi4gV2UgY291bGQgcmV0dXJuIHdoYXRldmVyIGVycm9yIHdlCi0gIGdvdCBmcm9tIGRlY3J5cHRpb24gYnV0IGluc3RlYWQgd2Ugb3ZlcnJpZGUgaGVyZSBzbyB0aGUgcmV0dXJuIGlzIGNvbnNpc3RlbnQuCisgIC8qIEl0J3MgZGViYXRhYmxlIHdoYXQgdG8gcmV0dXJuIHdoZW4gIWxlbi4gV2UgY291bGQgcmV0dXJuIHdoYXRldmVyIGVycm9yCisgICAgIHdlIGdvdCBmcm9tIGRlY3J5cHRpb24gYnV0IGluc3RlYWQgd2Ugb3ZlcnJpZGUgaGVyZSBzbyB0aGUgcmV0dXJuIGlzCisgICAgIGNvbnNpc3RlbnQuCiAgICovCiAgIGlmKCFsZW4pCiAgICAgKmVyciA9IENVUkxFX09LOwpAQCAtMjA3NCw4ICsyMTE1LDEyIEBACiAgICAqLwogICBzdHJ1Y3QgQ3VybF9lYXN5ICpkYXRhID0gY29ubi0+ZGF0YTsKICAgc3RydWN0IHNzbF9jb25uZWN0X2RhdGEgKmNvbm5zc2wgPSAmY29ubi0+c3NsW3NvY2tpbmRleF07CisjaWZuZGVmIENVUkxfRElTQUJMRV9QUk9YWQogICBjaGFyICogY29uc3QgaG9zdG5hbWUgPSBTU0xfSVNfUFJPWFkoKSA/IGNvbm4tPmh0dHBfcHJveHkuaG9zdC5uYW1lIDoKICAgICBjb25uLT5ob3N0Lm5hbWU7CisjZWxzZQorICBjaGFyICogY29uc3QgaG9zdG5hbWUgPSBjb25uLT5ob3N0Lm5hbWU7CisjZW5kaWYKIAogICBERUJVR0FTU0VSVChkYXRhKTsKIApAQCAtMjEwNCw3ICsyMTQ5LDcgQEAKICAgICAgICAgICAgIEN1cmxfc3NwaV9zdHJlcnJvcihzc3BpX3N0YXR1cywgYnVmZmVyLCBzaXplb2YoYnVmZmVyKSkpOwogICAgIH0KIAotICAgIGhvc3RfbmFtZSA9IEN1cmxfY29udmVydF9VVEY4X3RvX3RjaGFyKGhvc3RuYW1lKTsKKyAgICBob3N0X25hbWUgPSBjdXJseF9jb252ZXJ0X1VURjhfdG9fdGNoYXIoaG9zdG5hbWUpOwogICAgIGlmKCFob3N0X25hbWUpCiAgICAgICByZXR1cm4gQ1VSTEVfT1VUX09GX01FTU9SWTsKIApAQCAtMjEyNiw3ICsyMTcxLDcgQEAKICAgICAgICZCQUNLRU5ELT5yZXRfZmxhZ3MsCiAgICAgICAmQkFDS0VORC0+Y3R4dC0+dGltZV9zdGFtcCk7CiAKLSAgICBDdXJsX3VuaWNvZGVmcmVlKGhvc3RfbmFtZSk7CisgICAgY3VybHhfdW5pY29kZWZyZWUoaG9zdF9uYW1lKTsKIAogICAgIGlmKChzc3BpX3N0YXR1cyA9PSBTRUNfRV9PSykgfHwgKHNzcGlfc3RhdHVzID09IFNFQ19JX0NPTlRFWFRfRVhQSVJFRCkpIHsKICAgICAgIC8qIHNlbmQgY2xvc2UgbWVzc2FnZSB3aGljaCBpcyBpbiBvdXRwdXQgYnVmZmVyICovCkBAIC0yMjM1LDggKzIyODAsOCBAQAogICAgIFNFQ1VSSVRZX1NUQVRVUyBzc3BpX3N0YXR1czsKICAgICBjb25zdCBjaGFyICp4NTA5X2RlcjsKICAgICBEV09SRCB4NTA5X2Rlcl9sZW47Ci0gICAgY3VybF9YNTA5Y2VydGlmaWNhdGUgeDUwOV9wYXJzZWQ7Ci0gICAgY3VybF9hc24xRWxlbWVudCAqcHVia2V5OworICAgIHN0cnVjdCBDdXJsX1g1MDljZXJ0aWZpY2F0ZSB4NTA5X3BhcnNlZDsKKyAgICBzdHJ1Y3QgQ3VybF9hc24xRWxlbWVudCAqcHVia2V5OwogCiAgICAgc3NwaV9zdGF0dXMgPQogICAgICAgc19wU2VjRm4tPlF1ZXJ5Q29udGV4dEF0dHJpYnV0ZXMoJkJBQ0tFTkQtPmN0eHQtPmN0eHRfaGFuZGxlLApAQCAtMjI1Miw3ICsyMjk3LDcgQEAKIAogCiAgICAgaWYoISgoKHBDZXJ0Q29udGV4dFNlcnZlci0+ZHdDZXJ0RW5jb2RpbmdUeXBlICYgWDUwOV9BU05fRU5DT0RJTkcpICE9IDApICYmCi0gICAgICAgKHBDZXJ0Q29udGV4dFNlcnZlci0+Y2JDZXJ0RW5jb2RlZCA+IDApKSkKKyAgICAgICAgIChwQ2VydENvbnRleHRTZXJ2ZXItPmNiQ2VydEVuY29kZWQgPiAwKSkpCiAgICAgICBicmVhazsKIAogICAgIHg1MDlfZGVyID0gKGNvbnN0IGNoYXIgKilwQ2VydENvbnRleHRTZXJ2ZXItPnBiQ2VydEVuY29kZWQ7CkBAIC0yMzQzLDkgKzIzODgsOSBAQAogfQogCiBzdGF0aWMgQ1VSTGNvZGUgQ3VybF9zY2hhbm5lbF9zaGEyNTZzdW0oY29uc3QgdW5zaWduZWQgY2hhciAqaW5wdXQsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzaXplX3QgaW5wdXRsZW4sCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1bnNpZ25lZCBjaGFyICpzaGEyNTZzdW0sCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzaXplX3Qgc2hhMjU2bGVuKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNpemVfdCBpbnB1dGxlbiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1bnNpZ25lZCBjaGFyICpzaGEyNTZzdW0sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2l6ZV90IHNoYTI1NmxlbikKIHsKICAgQ3VybF9zY2hhbm5lbF9jaGVja3N1bShpbnB1dCwgaW5wdXRsZW4sIHNoYTI1NnN1bSwgc2hhMjU2bGVuLAogICAgICAgICAgICAgICAgICAgICAgICAgIFBST1ZfUlNBX0FFUywgQ0FMR19TSEFfMjU2KTsKZGlmZiAtLWdpdCBhL2xpYi92dGxzL3NjaGFubmVsX3ZlcmlmeS5jIGIvbGliL3Z0bHMvc2NoYW5uZWxfdmVyaWZ5LmMKaW5kZXggM2RiYzExZi4uYmRkNzE5OSAxMDA2NDQKLS0tIGEvbGliL3Z0bHMvc2NoYW5uZWxfdmVyaWZ5LmMKKysrIGIvbGliL3Z0bHMvc2NoYW5uZWxfdmVyaWZ5LmMKQEAgLTU3LDcgKzU3LDcgQEAKICNkZWZpbmUgQkVHSU5fQ0VSVCAiLS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tIgogI2RlZmluZSBFTkRfQ0VSVCAiXG4tLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tIgogCi10eXBlZGVmIHN0cnVjdCB7CitzdHJ1Y3QgY2VydF9jaGFpbl9lbmdpbmVfY29uZmlnX3dpbjcgewogICBEV09SRCBjYlNpemU7CiAgIEhDRVJUU1RPUkUgaFJlc3RyaWN0ZWRSb290OwogICBIQ0VSVFNUT1JFIGhSZXN0cmljdGVkVHJ1c3Q7CkBAIC03MCw3ICs3MCw3IEBACiAgIERXT1JEIEN5Y2xlRGV0ZWN0aW9uTW9kdWx1czsKICAgSENFUlRTVE9SRSBoRXhjbHVzaXZlUm9vdDsKICAgSENFUlRTVE9SRSBoRXhjbHVzaXZlVHJ1c3RlZFBlb3BsZTsKLX0gQ0VSVF9DSEFJTl9FTkdJTkVfQ09ORklHX1dJTjcsICpQQ0VSVF9DSEFJTl9FTkdJTkVfQ09ORklHX1dJTjc7Cit9OwogCiBzdGF0aWMgaW50IGlzX2NyX29yX2xmKGNoYXIgYykKIHsKQEAgLTk0LDcgKzk0LDcgQEAKICAgaW50IG51bV9jZXJ0cyA9IDA7CiAgIHNpemVfdCBFTkRfQ0VSVF9MRU47CiAKLSAgY2FfZmlsZV90c3RyID0gQ3VybF9jb252ZXJ0X1VURjhfdG9fdGNoYXIoKGNoYXIgKiljYV9maWxlKTsKKyAgY2FfZmlsZV90c3RyID0gY3VybHhfY29udmVydF9VVEY4X3RvX3RjaGFyKChjaGFyICopY2FfZmlsZSk7CiAgIGlmKCFjYV9maWxlX3RzdHIpIHsKICAgICBjaGFyIGJ1ZmZlcltTVFJFUlJPUl9MRU5dOwogICAgIGZhaWxmKGRhdGEsCkBAIC0yODgsNyArMjg4LDcgQEAKICAgICBDbG9zZUhhbmRsZShjYV9maWxlX2hhbmRsZSk7CiAgIH0KICAgQ3VybF9zYWZlZnJlZShjYV9maWxlX2J1ZmZlcik7Ci0gIEN1cmxfdW5pY29kZWZyZWUoY2FfZmlsZV90c3RyKTsKKyAgY3VybHhfdW5pY29kZWZyZWUoY2FfZmlsZV90c3RyKTsKIAogICByZXR1cm4gcmVzdWx0OwogfQpAQCAtMzYxLDcgKzM2MSw3IEBACiAgICAgcmV0dXJuIGFjdHVhbF9sZW5ndGg7CiAgIH0KIAotICBkZWNvZGVfcGFyYS5jYlNpemUgID0gIHNpemVvZihDUllQVF9ERUNPREVfUEFSQSk7CisgIGRlY29kZV9wYXJhLmNiU2l6ZSA9IHNpemVvZihDUllQVF9ERUNPREVfUEFSQSk7CiAKICAgcmV0X3ZhbCA9CiAgICAgQ3J5cHREZWNvZGVPYmplY3RFeChYNTA5X0FTTl9FTkNPRElORyB8IFBLQ1NfN19BU05fRU5DT0RJTkcsCkBAIC00NzYsNyArNDc2LDcgQEAKICAgICAgKiBpcyBhY2NlcHRhYmxlIHNpbmNlIGJvdGggdmFsdWVzIGFyZSBhc3N1bWVkIHRvIHVzZSBBU0NJSQogICAgICAqIChvciBzb21lIGVxdWl2YWxlbnQpIGVuY29kaW5nCiAgICAgICovCi0gICAgY2VydF9ob3N0bmFtZSA9IEN1cmxfY29udmVydF90Y2hhcl90b19VVEY4KAorICAgIGNlcnRfaG9zdG5hbWUgPSBjdXJseF9jb252ZXJ0X3RjaGFyX3RvX1VURjgoCiAgICAgICAgICZjZXJ0X2hvc3RuYW1lX2J1ZmZbY2VydF9ob3N0bmFtZV9idWZmX2luZGV4XSk7CiAgICAgaWYoIWNlcnRfaG9zdG5hbWUpIHsKICAgICAgIHJlc3VsdCA9IENVUkxFX09VVF9PRl9NRU1PUlk7CkBAIC01MDgsNyArNTA4LDcgQEAKIAogICAgICAgICByZXN1bHQgPSBDVVJMRV9QRUVSX0ZBSUxFRF9WRVJJRklDQVRJT047CiAgICAgICB9Ci0gICAgICBDdXJsX3VuaWNvZGVmcmVlKGNlcnRfaG9zdG5hbWUpOworICAgICAgY3VybHhfdW5pY29kZWZyZWUoY2VydF9ob3N0bmFtZSk7CiAgICAgfQogICB9CiAKQEAgLTUyMiw3ICs1MjIsNyBAQAogICAgIGZhaWxmKGRhdGEsICJzY2hhbm5lbDogc2VydmVyIGNlcnRpZmljYXRlIG5hbWUgdmVyaWZpY2F0aW9uIGZhaWxlZCIpOwogCiBjbGVhbnVwOgotICBDdXJsX3VuaWNvZGVmcmVlKGNlcnRfaG9zdG5hbWVfYnVmZik7CisgIGN1cmx4X3VuaWNvZGVmcmVlKGNlcnRfaG9zdG5hbWVfYnVmZik7CiAKICAgcmV0dXJuIHJlc3VsdDsKIH0KQEAgLTUzNyw5ICs1MzcsMTMgQEAKICAgY29uc3QgQ0VSVF9DSEFJTl9DT05URVhUICpwQ2hhaW5Db250ZXh0ID0gTlVMTDsKICAgSENFUlRDSEFJTkVOR0lORSBjZXJ0X2NoYWluX2VuZ2luZSA9IE5VTEw7CiAgIEhDRVJUU1RPUkUgdHJ1c3Rfc3RvcmUgPSBOVUxMOworI2lmbmRlZiBDVVJMX0RJU0FCTEVfUFJPWFkKICAgY29uc3QgY2hhciAqIGNvbnN0IGNvbm5faG9zdG5hbWUgPSBTU0xfSVNfUFJPWFkoKSA/CiAgICAgY29ubi0+aHR0cF9wcm94eS5ob3N0Lm5hbWUgOgogICAgIGNvbm4tPmhvc3QubmFtZTsKKyNlbHNlCisgIGNvbnN0IGNoYXIgKiBjb25zdCBjb25uX2hvc3RuYW1lID0gY29ubi0+aG9zdC5uYW1lOworI2VuZGlmCiAKICAgc3NwaV9zdGF0dXMgPQogICAgIHNfcFNlY0ZuLT5RdWVyeUNvbnRleHRBdHRyaWJ1dGVzKCZCQUNLRU5ELT5jdHh0LT5jdHh0X2hhbmRsZSwKQEAgLTU4NSw3ICs1ODksNyBAQAogICAgIH0KIAogICAgIGlmKHJlc3VsdCA9PSBDVVJMRV9PSykgewotICAgICAgQ0VSVF9DSEFJTl9FTkdJTkVfQ09ORklHX1dJTjcgZW5naW5lX2NvbmZpZzsKKyAgICAgIHN0cnVjdCBjZXJ0X2NoYWluX2VuZ2luZV9jb25maWdfd2luNyBlbmdpbmVfY29uZmlnOwogICAgICAgQk9PTCBjcmVhdGVfZW5naW5lX3Jlc3VsdDsKIAogICAgICAgbWVtc2V0KCZlbmdpbmVfY29uZmlnLCAwLCBzaXplb2YoZW5naW5lX2NvbmZpZykpOwpkaWZmIC0tZ2l0IGEvbGliL3Z0bHMvc2VjdHJhbnNwLmMgYi9saWIvdnRscy9zZWN0cmFuc3AuYwppbmRleCA2YjJkNDM2Li4yNjI3YWZmIDEwMDY0NAotLS0gYS9saWIvdnRscy9zZWN0cmFuc3AuYworKysgYi9saWIvdnRscy9zZWN0cmFuc3AuYwpAQCAtMTEyNiwxMiArMTEyNiwxMiBAQAogfQogCiBzdGF0aWMgT1NTdGF0dXMgQ29weUlkZW50aXR5RnJvbVBLQ1MxMkZpbGUoY29uc3QgY2hhciAqY1BhdGgsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qgc3RydWN0IGN1cmxfYmxvYiAqYmxvYiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBjaGFyICpjUGFzc3dvcmQsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgU2VjSWRlbnRpdHlSZWYgKm91dF9jZXJ0X2FuZF9rZXkpCiB7CiAgIE9TU3RhdHVzIHN0YXR1cyA9IGVyclNlY0l0ZW1Ob3RGb3VuZDsKLSAgQ0ZVUkxSZWYgcGtjc191cmwgPSBDRlVSTENyZWF0ZUZyb21GaWxlU3lzdGVtUmVwcmVzZW50YXRpb24oTlVMTCwKLSAgICAoY29uc3QgVUludDggKiljUGF0aCwgc3RybGVuKGNQYXRoKSwgZmFsc2UpOworICBDRlVSTFJlZiBwa2NzX3VybCA9IE5VTEw7CiAgIENGU3RyaW5nUmVmIHBhc3N3b3JkID0gY1Bhc3N3b3JkID8gQ0ZTdHJpbmdDcmVhdGVXaXRoQ1N0cmluZyhOVUxMLAogICAgIGNQYXNzd29yZCwga0NGU3RyaW5nRW5jb2RpbmdVVEY4KSA6IE5VTEw7CiAgIENGRGF0YVJlZiBwa2NzX2RhdGEgPSBOVUxMOwpAQCAtMTE0MCw4ICsxMTQwLDI2IEBACiAgIC8qIFRoZXNlIGNvbnN0YW50cyBhcmUgZG9jdW1lbnRlZCBhcyBoYXZpbmcgZmlyc3QgYXBwZWFyZWQgaW4gMTAuNiBidXQgdGhleQogICAgICByYWlzZSBsaW5rZXIgZXJyb3JzIHdoZW4gdXNlZCBvbiB0aGF0IGNhdCBmb3Igc29tZSByZWFzb24uICovCiAjaWYgQ1VSTF9CVUlMRF9NQUNfMTBfNyB8fCBDVVJMX0JVSUxEX0lPUwotICBpZihDRlVSTENyZWF0ZURhdGFBbmRQcm9wZXJ0aWVzRnJvbVJlc291cmNlKE5VTEwsIHBrY3NfdXJsLCAmcGtjc19kYXRhLAotICAgTlVMTCwgTlVMTCwgJnN0YXR1cykpIHsKKyAgYm9vbCByZXNvdXJjZV9pbXBvcnRlZDsKKworICBpZihibG9iKSB7CisgICAgcGtjc19kYXRhID0gQ0ZEYXRhQ3JlYXRlKGtDRkFsbG9jYXRvckRlZmF1bHQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChjb25zdCB1bnNpZ25lZCBjaGFyICopYmxvYi0+ZGF0YSwgYmxvYi0+bGVuKTsKKyAgICBzdGF0dXMgPSAocGtjc19kYXRhICE9IE5VTEwpID8gZXJyU2VjU3VjY2VzcyA6IGVyclNlY0FsbG9jYXRlOworICAgIHJlc291cmNlX2ltcG9ydGVkID0gKHBrY3NfZGF0YSAhPSBOVUxMKTsKKyAgfQorICBlbHNlIHsKKyAgICBwa2NzX3VybCA9CisgICAgICBDRlVSTENyZWF0ZUZyb21GaWxlU3lzdGVtUmVwcmVzZW50YXRpb24oTlVMTCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoY29uc3QgVUludDggKiljUGF0aCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJsZW4oY1BhdGgpLCBmYWxzZSk7CisgICAgcmVzb3VyY2VfaW1wb3J0ZWQgPQorICAgICAgQ0ZVUkxDcmVhdGVEYXRhQW5kUHJvcGVydGllc0Zyb21SZXNvdXJjZShOVUxMLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwa2NzX3VybCwgJnBrY3NfZGF0YSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTlVMTCwgTlVMTCwgJnN0YXR1cyk7CisgIH0KKworICBpZihyZXNvdXJjZV9pbXBvcnRlZCkgewogICAgIENGQXJyYXlSZWYgaXRlbXMgPSBOVUxMOwogCiAgIC8qIE9uIGlPUyBTZWNQS0NTMTJJbXBvcnQgd2lsbCBuZXZlciBhZGQgdGhlIGNsaWVudCBjZXJ0aWZpY2F0ZSB0byB0aGUKQEAgLTEyMTksNyArMTIzNyw4IEBACiAjZW5kaWYgLyogQ1VSTF9CVUlMRF9NQUNfMTBfNyB8fCBDVVJMX0JVSUxEX0lPUyAqLwogICBpZihwYXNzd29yZCkKICAgICBDRlJlbGVhc2UocGFzc3dvcmQpOwotICBDRlJlbGVhc2UocGtjc191cmwpOworICBpZihwa2NzX3VybCkKKyAgICBDRlJlbGVhc2UocGtjc191cmwpOwogICByZXR1cm4gc3RhdHVzOwogfQogCkBAIC0xMzc2LDggKzEzOTUsMTAgQEAKICAgc3RydWN0IHNzbF9jb25uZWN0X2RhdGEgKmNvbm5zc2wgPSAmY29ubi0+c3NsW3NvY2tpbmRleF07CiAgIHN0cnVjdCBzc2xfYmFja2VuZF9kYXRhICpiYWNrZW5kID0gY29ubnNzbC0+YmFja2VuZDsKICAgY29uc3QgY2hhciAqIGNvbnN0IHNzbF9jYWZpbGUgPSBTU0xfQ09OTl9DT05GSUcoQ0FmaWxlKTsKKyAgY29uc3Qgc3RydWN0IGN1cmxfYmxvYiAqc3NsX2NhYmxvYiA9IE5VTEw7CiAgIGNvbnN0IGJvb2wgdmVyaWZ5cGVlciA9IFNTTF9DT05OX0NPTkZJRyh2ZXJpZnlwZWVyKTsKICAgY2hhciAqIGNvbnN0IHNzbF9jZXJ0ID0gU1NMX1NFVF9PUFRJT04oY2VydCk7CisgIGNvbnN0IHN0cnVjdCBjdXJsX2Jsb2IgKnNzbF9jZXJ0X2Jsb2IgPSBTU0xfU0VUX09QVElPTihjZXJ0X2Jsb2IpOwogICBjb25zdCBjaGFyICogY29uc3QgaG9zdG5hbWUgPSBTU0xfSVNfUFJPWFkoKSA/IGNvbm4tPmh0dHBfcHJveHkuaG9zdC5uYW1lIDoKICAgICBjb25uLT5ob3N0Lm5hbWU7CiAgIGNvbnN0IGxvbmcgaW50IHBvcnQgPSBTU0xfSVNfUFJPWFkoKSA/IGNvbm4tPnBvcnQgOiBjb25uLT5yZW1vdGVfcG9ydDsKQEAgLTE2MTIsMTUgKzE2MzMsMTYgQEAKICAgICAgICAgICAiVHJhbnNwb3J0LiBUaGUgcHJpdmF0ZSBrZXkgbXVzdCBiZSBpbiB0aGUgS2V5Y2hhaW4uXG4iKTsKICAgfQogCi0gIGlmKHNzbF9jZXJ0KSB7CisgIGlmKHNzbF9jZXJ0IHx8IHNzbF9jZXJ0X2Jsb2IpIHsKKyAgICBib29sIGlzX2NlcnRfZGF0YSA9IHNzbF9jZXJ0X2Jsb2IgIT0gTlVMTDsKKyAgICBib29sIGlzX2NlcnRfZmlsZSA9ICghaXNfY2VydF9kYXRhKSAmJiBpc19maWxlKHNzbF9jZXJ0KTsKICAgICBTZWNJZGVudGl0eVJlZiBjZXJ0X2FuZF9rZXkgPSBOVUxMOwotICAgIGJvb2wgaXNfY2VydF9maWxlID0gaXNfZmlsZShzc2xfY2VydCk7CiAKICAgICAvKiBVc2VyIHdhbnRzIHRvIGF1dGhlbnRpY2F0ZSB3aXRoIGEgY2xpZW50IGNlcnQuIExvb2sgZm9yIGl0OgogICAgICAgIElmIHdlIGRldGVjdCB0aGF0IHRoaXMgaXMgYSBmaWxlIG9uIGRpc2ssIHRoZW4gbGV0J3MgbG9hZCBpdC4KICAgICAgICBPdGhlcndpc2UsIGFzc3VtZSB0aGF0IHRoZSB1c2VyIHdhbnRzIHRvIHVzZSBhbiBpZGVudGl0eSBsb2FkZWQKICAgICAgICBmcm9tIHRoZSBLZXljaGFpbi4gKi8KLSAgICBpZihpc19jZXJ0X2ZpbGUpIHsKKyAgICBpZihpc19jZXJ0X2ZpbGUgfHwgaXNfY2VydF9kYXRhKSB7CiAgICAgICBpZighU1NMX1NFVF9PUFRJT04oY2VydF90eXBlKSkKICAgICAgICAgaW5mb2YoZGF0YSwgIldBUk5JTkc6IFNTTDogQ2VydGlmaWNhdGUgdHlwZSBub3Qgc2V0LCBhc3N1bWluZyAiCiAgICAgICAgICAgICAgICAgICAgICJQS0NTIzEyIGZvcm1hdC5cbiIpOwpAQCAtMTYyOSw3ICsxNjUxLDcgQEAKICAgICAgICAgaW5mb2YoZGF0YSwgIldBUk5JTkc6IFNTTDogVGhlIFNlY3VyaXR5IGZyYW1ld29yayBvbmx5IHN1cHBvcnRzICIKICAgICAgICAgICAgICAgICAgICAgImxvYWRpbmcgaWRlbnRpdGllcyB0aGF0IGFyZSBpbiBQS0NTIzEyIGZvcm1hdC5cbiIpOwogCi0gICAgICBlcnIgPSBDb3B5SWRlbnRpdHlGcm9tUEtDUzEyRmlsZShzc2xfY2VydCwKKyAgICAgIGVyciA9IENvcHlJZGVudGl0eUZyb21QS0NTMTJGaWxlKHNzbF9jZXJ0LCBzc2xfY2VydF9ibG9iLAogICAgICAgICBTU0xfU0VUX09QVElPTihrZXlfcGFzc3dkKSwgJmNlcnRfYW5kX2tleSk7CiAgICAgfQogICAgIGVsc2UKQEAgLTE2NjksMjcgKzE2OTEsMzAgQEAKICAgICAgIENGUmVsZWFzZShjZXJ0X2FuZF9rZXkpOwogICAgIH0KICAgICBlbHNlIHsKKyAgICAgIGNvbnN0IGNoYXIgKmNlcnRfc2hvd2ZpbGVuYW1lX2Vycm9yID0KKyAgICAgICAgaXNfY2VydF9kYXRhID8gIihtZW1vcnkgYmxvYikiIDogc3NsX2NlcnQ7CisKICAgICAgIHN3aXRjaChlcnIpIHsKICAgICAgIGNhc2UgZXJyU2VjQXV0aEZhaWxlZDogY2FzZSAtMjUyNjQ6IC8qIGVyclNlY1BrY3MxMlZlcmlmeUZhaWx1cmUgKi8KICAgICAgICAgZmFpbGYoZGF0YSwgIlNTTDogSW5jb3JyZWN0IHBhc3N3b3JkIGZvciB0aGUgY2VydGlmaWNhdGUgXCIlc1wiICIKLSAgICAgICAgICAgICAgICAgICAgImFuZCBpdHMgcHJpdmF0ZSBrZXkuIiwgc3NsX2NlcnQpOworICAgICAgICAgICAgICAgICAgICAiYW5kIGl0cyBwcml2YXRlIGtleS4iLCBjZXJ0X3Nob3dmaWxlbmFtZV9lcnJvcik7CiAgICAgICAgIGJyZWFrOwogICAgICAgY2FzZSAtMjYyNzU6IC8qIGVyclNlY0RlY29kZSAqLyBjYXNlIC0yNTI1NzogLyogZXJyU2VjVW5rbm93bkZvcm1hdCAqLwogICAgICAgICBmYWlsZihkYXRhLCAiU1NMOiBDb3VsZG4ndCBtYWtlIHNlbnNlIG9mIHRoZSBkYXRhIGluIHRoZSAiCiAgICAgICAgICAgICAgICAgICAgICJjZXJ0aWZpY2F0ZSBcIiVzXCIgYW5kIGl0cyBwcml2YXRlIGtleS4iLAotICAgICAgICAgICAgICAgICAgICBzc2xfY2VydCk7CisgICAgICAgICAgICAgICAgICAgIGNlcnRfc2hvd2ZpbGVuYW1lX2Vycm9yKTsKICAgICAgICAgYnJlYWs7CiAgICAgICBjYXNlIC0yNTI2MDogLyogZXJyU2VjUGFzc3BocmFzZVJlcXVpcmVkICovCiAgICAgICAgIGZhaWxmKGRhdGEsICJTU0wgVGhlIGNlcnRpZmljYXRlIFwiJXNcIiByZXF1aXJlcyBhIHBhc3N3b3JkLiIsCi0gICAgICAgICAgICAgICAgICAgIHNzbF9jZXJ0KTsKKyAgICAgICAgICAgICAgICAgICAgY2VydF9zaG93ZmlsZW5hbWVfZXJyb3IpOwogICAgICAgICBicmVhazsKICAgICAgIGNhc2UgZXJyU2VjSXRlbU5vdEZvdW5kOgogICAgICAgICBmYWlsZihkYXRhLCAiU1NMOiBDYW4ndCBmaW5kIHRoZSBjZXJ0aWZpY2F0ZSBcIiVzXCIgYW5kIGl0cyBwcml2YXRlICIKLSAgICAgICAgICAgICAgICAgICAgImtleSBpbiB0aGUgS2V5Y2hhaW4uIiwgc3NsX2NlcnQpOworICAgICAgICAgICAgICAgICAgICAia2V5IGluIHRoZSBLZXljaGFpbi4iLCBjZXJ0X3Nob3dmaWxlbmFtZV9lcnJvcik7CiAgICAgICAgIGJyZWFrOwogICAgICAgZGVmYXVsdDoKICAgICAgICAgZmFpbGYoZGF0YSwgIlNTTDogQ2FuJ3QgbG9hZCB0aGUgY2VydGlmaWNhdGUgXCIlc1wiIGFuZCBpdHMgcHJpdmF0ZSAiCi0gICAgICAgICAgICAgICAgICAgICJrZXk6IE9TU3RhdHVzICVkIiwgc3NsX2NlcnQsIGVycik7CisgICAgICAgICAgICAgICAgICAgICJrZXk6IE9TU3RhdHVzICVkIiwgY2VydF9zaG93ZmlsZW5hbWVfZXJyb3IsIGVycik7CiAgICAgICAgIGJyZWFrOwogICAgICAgfQogICAgICAgcmV0dXJuIENVUkxFX1NTTF9DRVJUUFJPQkxFTTsKQEAgLTE3MjEsNyArMTc0Niw4IEBACiAjZWxzZQogICBpZihTU0xTZXRTZXNzaW9uT3B0aW9uICE9IE5VTEwpIHsKICNlbmRpZiAvKiBDVVJMX0JVSUxEX01BQyAqLwotICAgIGJvb2wgYnJlYWtfb25fYXV0aCA9ICFjb25uLT5zc2xfY29uZmlnLnZlcmlmeXBlZXIgfHwgc3NsX2NhZmlsZTsKKyAgICBib29sIGJyZWFrX29uX2F1dGggPSAhY29ubi0+c3NsX2NvbmZpZy52ZXJpZnlwZWVyIHx8CisgICAgICBzc2xfY2FmaWxlIHx8IHNzbF9jYWJsb2I7CiAgICAgZXJyID0gU1NMU2V0U2Vzc2lvbk9wdGlvbihiYWNrZW5kLT5zc2xfY3R4LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAga1NTTFNlc3Npb25PcHRpb25CcmVha09uU2VydmVyQXV0aCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrX29uX2F1dGgpOwpAQCAtMTc0OSwxMCArMTc3NSwxMSBAQAogICB9CiAjZW5kaWYgLyogQ1VSTF9CVUlMRF9NQUNfMTBfNiB8fCBDVVJMX0JVSUxEX0lPUyAqLwogCi0gIGlmKHNzbF9jYWZpbGUgJiYgdmVyaWZ5cGVlcikgewotICAgIGJvb2wgaXNfY2VydF9maWxlID0gaXNfZmlsZShzc2xfY2FmaWxlKTsKKyAgaWYoKHNzbF9jYWZpbGUgfHwgc3NsX2NhYmxvYikgJiYgdmVyaWZ5cGVlcikgeworICAgIGJvb2wgaXNfY2VydF9kYXRhID0gc3NsX2NhYmxvYiAhPSBOVUxMOworICAgIGJvb2wgaXNfY2VydF9maWxlID0gKCFpc19jZXJ0X2RhdGEpICYmIGlzX2ZpbGUoc3NsX2NhZmlsZSk7CiAKLSAgICBpZighaXNfY2VydF9maWxlKSB7CisgICAgaWYoIShpc19jZXJ0X2ZpbGUgfHwgaXNfY2VydF9kYXRhKSkgewogICAgICAgZmFpbGYoZGF0YSwgIlNTTDogY2FuJ3QgbG9hZCBDQSBjZXJ0aWZpY2F0ZSBmaWxlICVzIiwgc3NsX2NhZmlsZSk7CiAgICAgICByZXR1cm4gQ1VSTEVfU1NMX0NBQ0VSVF9CQURGSUxFOwogICAgIH0KQEAgLTI4MDksNyArMjgzNiw2IEBACiAgIHN0cnVjdCBDdXJsX2Vhc3kgKmRhdGEgPSBjb25uLT5kYXRhOwogICBzdHJ1Y3Qgc3NsX2Nvbm5lY3RfZGF0YSAqY29ubnNzbCA9ICZjb25uLT5zc2xbc29ja2luZGV4XTsKICAgY3VybF9zb2NrZXRfdCBzb2NrZmQgPSBjb25uLT5zb2NrW3NvY2tpbmRleF07Ci0gIHRpbWVkaWZmX3QgdGltZW91dF9tczsKICAgaW50IHdoYXQ7CiAKICAgLyogY2hlY2sgaWYgdGhlIGNvbm5lY3Rpb24gaGFzIGFscmVhZHkgYmVlbiBlc3RhYmxpc2hlZCAqLwpAQCAtMjgyMCw3ICsyODQ2LDcgQEAKIAogICBpZihzc2xfY29ubmVjdF8xID09IGNvbm5zc2wtPmNvbm5lY3Rpbmdfc3RhdGUpIHsKICAgICAvKiBGaW5kIG91dCBob3cgbXVjaCBtb3JlIHRpbWUgd2UncmUgYWxsb3dlZCAqLwotICAgIHRpbWVvdXRfbXMgPSBDdXJsX3RpbWVsZWZ0KGRhdGEsIE5VTEwsIFRSVUUpOworICAgIGNvbnN0IHRpbWVkaWZmX3QgdGltZW91dF9tcyA9IEN1cmxfdGltZWxlZnQoZGF0YSwgTlVMTCwgVFJVRSk7CiAKICAgICBpZih0aW1lb3V0X21zIDwgMCkgewogICAgICAgLyogbm8gbmVlZCB0byBjb250aW51ZSBpZiB0aW1lIGFscmVhZHkgaXMgdXAgKi8KQEAgLTI4MzgsNyArMjg2NCw3IEBACiAgICAgICAgIHNzbF9jb25uZWN0XzJfd3JpdGluZyA9PSBjb25uc3NsLT5jb25uZWN0aW5nX3N0YXRlKSB7CiAKICAgICAvKiBjaGVjayBhbGxvd2VkIHRpbWUgbGVmdCAqLwotICAgIHRpbWVvdXRfbXMgPSBDdXJsX3RpbWVsZWZ0KGRhdGEsIE5VTEwsIFRSVUUpOworICAgIGNvbnN0IHRpbWVkaWZmX3QgdGltZW91dF9tcyA9IEN1cmxfdGltZWxlZnQoZGF0YSwgTlVMTCwgVFJVRSk7CiAKICAgICBpZih0aW1lb3V0X21zIDwgMCkgewogICAgICAgLyogbm8gbmVlZCB0byBjb250aW51ZSBpZiB0aW1lIGFscmVhZHkgaXMgdXAgKi8KQEAgLTI4NTYsNyArMjg4Miw3IEBACiAgICAgICBjb25uc3NsLT5jb25uZWN0aW5nX3N0YXRlP3NvY2tmZDpDVVJMX1NPQ0tFVF9CQUQ7CiAKICAgICAgIHdoYXQgPSBDdXJsX3NvY2tldF9jaGVjayhyZWFkZmQsIENVUkxfU09DS0VUX0JBRCwgd3JpdGVmZCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBub25ibG9ja2luZz8wOih0aW1lX3QpdGltZW91dF9tcyk7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbm9uYmxvY2tpbmcgPyAwIDogdGltZW91dF9tcyk7CiAgICAgICBpZih3aGF0IDwgMCkgewogICAgICAgICAvKiBmYXRhbCBlcnJvciAqLwogICAgICAgICBmYWlsZihkYXRhLCAic2VsZWN0L3BvbGwgb24gU1NMIHNvY2tldCwgZXJybm86ICVkIiwgU09DS0VSUk5PKTsKZGlmZiAtLWdpdCBhL2xpYi92dGxzL3Z0bHMuYyBiL2xpYi92dGxzL3Z0bHMuYwppbmRleCBmMWI1MjUyLi5jM2E1NWZiIDEwMDY0NAotLS0gYS9saWIvdnRscy92dGxzLmMKKysrIGIvbGliL3Z0bHMvdnRscy5jCkBAIC02Myw2ICs2Myw3IEBACiAjaW5jbHVkZSAid2Fybmxlc3MuaCIKICNpbmNsdWRlICJjdXJsX2Jhc2U2NC5oIgogI2luY2x1ZGUgImN1cmxfcHJpbnRmLmgiCisjaW5jbHVkZSAic3RyZHVwLmgiCiAKIC8qIFRoZSBsYXN0ICNpbmNsdWRlIGZpbGVzIHNob3VsZCBiZTogKi8KICNpbmNsdWRlICJjdXJsX21lbW9yeS5oIgpAQCAtODIsMTUgKzgzLDU0IEBACiAgIGVsc2UgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCiAgICAgZGVzdC0+dmFyID0gTlVMTDsKIAorI2RlZmluZSBDTE9ORV9CTE9CKHZhcikgICAgICAgICAgICAgICAgICAgICAgICAgXAorICBpZihibG9iZHVwKCZkZXN0LT52YXIsIHNvdXJjZS0+dmFyKSkgICAgICAgICBcCisgICAgcmV0dXJuIEZBTFNFOworCitzdGF0aWMgQ1VSTGNvZGUgYmxvYmR1cChzdHJ1Y3QgY3VybF9ibG9iICoqZGVzdCwKKyAgICAgICAgICAgICAgICAgICAgICAgIHN0cnVjdCBjdXJsX2Jsb2IgKnNyYykKK3sKKyAgREVCVUdBU1NFUlQoZGVzdCk7CisgIERFQlVHQVNTRVJUKCEqZGVzdCk7CisgIGlmKHNyYykgeworICAgIC8qIG9ubHkgaWYgdGhlcmUncyBkYXRhIHRvIGR1cGUhICovCisgICAgc3RydWN0IGN1cmxfYmxvYiAqZDsKKyAgICBkID0gbWFsbG9jKHNpemVvZihzdHJ1Y3QgY3VybF9ibG9iKSArIHNyYy0+bGVuKTsKKyAgICBpZighZCkKKyAgICAgIHJldHVybiBDVVJMRV9PVVRfT0ZfTUVNT1JZOworICAgIGQtPmxlbiA9IHNyYy0+bGVuOworICAgIC8qIEFsd2F5cyBkdXBsaWNhdGUgYmVjYXVzZSB0aGUgY29ubmVjdGlvbiBtYXkgc3Vydml2ZSBsb25nZXIgdGhhbiB0aGUKKyAgICAgICBoYW5kbGUgdGhhdCBwYXNzZWQgaW4gdGhlIGJsb2IuICovCisgICAgZC0+ZmxhZ3MgPSBDVVJMX0JMT0JfQ09QWTsKKyAgICBkLT5kYXRhID0gKHZvaWQgKikoKGNoYXIgKilkICsgc2l6ZW9mKHN0cnVjdCBjdXJsX2Jsb2IpKTsKKyAgICBtZW1jcHkoZC0+ZGF0YSwgc3JjLT5kYXRhLCBzcmMtPmxlbik7CisgICAgKmRlc3QgPSBkOworICB9CisgIHJldHVybiBDVVJMRV9PSzsKK30KKworLyogcmV0dXJucyBUUlVFIGlmIHRoZSBibG9icyBhcmUgaWRlbnRpY2FsICovCitzdGF0aWMgYm9vbCBibG9iY21wKHN0cnVjdCBjdXJsX2Jsb2IgKmZpcnN0LCBzdHJ1Y3QgY3VybF9ibG9iICpzZWNvbmQpCit7CisgIGlmKCFmaXJzdCAmJiAhc2Vjb25kKSAvKiBib3RoIGFyZSBOVUxMICovCisgICAgcmV0dXJuIFRSVUU7CisgIGlmKCFmaXJzdCB8fCAhc2Vjb25kKSAvKiBvbmUgaXMgTlVMTCAqLworICAgIHJldHVybiBGQUxTRTsKKyAgaWYoZmlyc3QtPmxlbiAhPSBzZWNvbmQtPmxlbikgLyogZGlmZmVyZW50IHNpemVzICovCisgICAgcmV0dXJuIEZBTFNFOworICByZXR1cm4gIW1lbWNtcChmaXJzdC0+ZGF0YSwgc2Vjb25kLT5kYXRhLCBmaXJzdC0+bGVuKTsgLyogc2FtZSBkYXRhICovCit9CisKIGJvb2wKLUN1cmxfc3NsX2NvbmZpZ19tYXRjaGVzKHN0cnVjdCBzc2xfcHJpbWFyeV9jb25maWcqIGRhdGEsCi0gICAgICAgICAgICAgICAgICAgICAgICBzdHJ1Y3Qgc3NsX3ByaW1hcnlfY29uZmlnKiBuZWVkbGUpCitDdXJsX3NzbF9jb25maWdfbWF0Y2hlcyhzdHJ1Y3Qgc3NsX3ByaW1hcnlfY29uZmlnICpkYXRhLAorICAgICAgICAgICAgICAgICAgICAgICAgc3RydWN0IHNzbF9wcmltYXJ5X2NvbmZpZyAqbmVlZGxlKQogewogICBpZigoZGF0YS0+dmVyc2lvbiA9PSBuZWVkbGUtPnZlcnNpb24pICYmCiAgICAgIChkYXRhLT52ZXJzaW9uX21heCA9PSBuZWVkbGUtPnZlcnNpb25fbWF4KSAmJgogICAgICAoZGF0YS0+dmVyaWZ5cGVlciA9PSBuZWVkbGUtPnZlcmlmeXBlZXIpICYmCiAgICAgIChkYXRhLT52ZXJpZnlob3N0ID09IG5lZWRsZS0+dmVyaWZ5aG9zdCkgJiYKICAgICAgKGRhdGEtPnZlcmlmeXN0YXR1cyA9PSBuZWVkbGUtPnZlcmlmeXN0YXR1cykgJiYKKyAgICAgYmxvYmNtcChkYXRhLT5jZXJ0X2Jsb2IsIG5lZWRsZS0+Y2VydF9ibG9iKSAmJgogICAgICBDdXJsX3NhZmVfc3RyY2FzZWNvbXBhcmUoZGF0YS0+Q0FwYXRoLCBuZWVkbGUtPkNBcGF0aCkgJiYKICAgICAgQ3VybF9zYWZlX3N0cmNhc2Vjb21wYXJlKGRhdGEtPkNBZmlsZSwgbmVlZGxlLT5DQWZpbGUpICYmCiAgICAgIEN1cmxfc2FmZV9zdHJjYXNlY29tcGFyZShkYXRhLT5jbGllbnRjZXJ0LCBuZWVkbGUtPmNsaWVudGNlcnQpICYmCkBAIC0xMTUsNiArMTU1LDcgQEAKICAgZGVzdC0+dmVyaWZ5c3RhdHVzID0gc291cmNlLT52ZXJpZnlzdGF0dXM7CiAgIGRlc3QtPnNlc3Npb25pZCA9IHNvdXJjZS0+c2Vzc2lvbmlkOwogCisgIENMT05FX0JMT0IoY2VydF9ibG9iKTsKICAgQ0xPTkVfU1RSSU5HKENBcGF0aCk7CiAgIENMT05FX1NUUklORyhDQWZpbGUpOwogICBDTE9ORV9TVFJJTkcoY2xpZW50Y2VydCk7CkBAIC0xMjcsNyArMTY4LDcgQEAKICAgcmV0dXJuIFRSVUU7CiB9CiAKLXZvaWQgQ3VybF9mcmVlX3ByaW1hcnlfc3NsX2NvbmZpZyhzdHJ1Y3Qgc3NsX3ByaW1hcnlfY29uZmlnKiBzc2xjKQordm9pZCBDdXJsX2ZyZWVfcHJpbWFyeV9zc2xfY29uZmlnKHN0cnVjdCBzc2xfcHJpbWFyeV9jb25maWcgKnNzbGMpCiB7CiAgIEN1cmxfc2FmZWZyZWUoc3NsYy0+Q0FwYXRoKTsKICAgQ3VybF9zYWZlZnJlZShzc2xjLT5DQWZpbGUpOwpAQCAtMTM3LDYgKzE3OCw3IEBACiAgIEN1cmxfc2FmZWZyZWUoc3NsYy0+Y2lwaGVyX2xpc3QpOwogICBDdXJsX3NhZmVmcmVlKHNzbGMtPmNpcGhlcl9saXN0MTMpOwogICBDdXJsX3NhZmVmcmVlKHNzbGMtPnBpbm5lZF9rZXkpOworICBDdXJsX3NhZmVmcmVlKHNzbGMtPmNlcnRfYmxvYik7CiB9CiAKICNpZmRlZiBVU0VfU1NMCkBAIC0yMTUsNiArMjU3LDcgQEAKICAgcmV0dXJuIFRSVUU7CiB9CiAKKyNpZm5kZWYgQ1VSTF9ESVNBQkxFX1BST1hZCiBzdGF0aWMgQ1VSTGNvZGUKIHNzbF9jb25uZWN0X2luaXRfcHJveHkoc3RydWN0IGNvbm5lY3RkYXRhICpjb25uLCBpbnQgc29ja2luZGV4KQogewpAQCAtMjM4LDE3ICsyODEsMjAgQEAKICAgfQogICByZXR1cm4gQ1VSTEVfT0s7CiB9CisjZW5kaWYKIAogQ1VSTGNvZGUKIEN1cmxfc3NsX2Nvbm5lY3Qoc3RydWN0IGNvbm5lY3RkYXRhICpjb25uLCBpbnQgc29ja2luZGV4KQogewogICBDVVJMY29kZSByZXN1bHQ7CiAKKyNpZm5kZWYgQ1VSTF9ESVNBQkxFX1BST1hZCiAgIGlmKGNvbm4tPmJpdHMucHJveHlfc3NsX2Nvbm5lY3RlZFtzb2NraW5kZXhdKSB7CiAgICAgcmVzdWx0ID0gc3NsX2Nvbm5lY3RfaW5pdF9wcm94eShjb25uLCBzb2NraW5kZXgpOwogICAgIGlmKHJlc3VsdCkKICAgICAgIHJldHVybiByZXN1bHQ7CiAgIH0KKyNlbmRpZgogCiAgIGlmKCFzc2xfcHJlZnNfY2hlY2soY29ubi0+ZGF0YSkpCiAgICAgcmV0dXJuIENVUkxFX1NTTF9DT05ORUNUX0VSUk9SOwpAQCAtMjcwLDEyICszMTYsMTMgQEAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYm9vbCAqZG9uZSkKIHsKICAgQ1VSTGNvZGUgcmVzdWx0OworI2lmbmRlZiBDVVJMX0RJU0FCTEVfUFJPWFkKICAgaWYoY29ubi0+Yml0cy5wcm94eV9zc2xfY29ubmVjdGVkW3NvY2tpbmRleF0pIHsKICAgICByZXN1bHQgPSBzc2xfY29ubmVjdF9pbml0X3Byb3h5KGNvbm4sIHNvY2tpbmRleCk7CiAgICAgaWYocmVzdWx0KQogICAgICAgcmV0dXJuIHJlc3VsdDsKICAgfQotCisjZW5kaWYKICAgaWYoIXNzbF9wcmVmc19jaGVjayhjb25uLT5kYXRhKSkKICAgICByZXR1cm4gQ1VSTEVfU1NMX0NPTk5FQ1RfRVJST1I7CiAKQEAgLTMyMSwxMyArMzY4LDIxIEBACiAgIGxvbmcgKmdlbmVyYWxfYWdlOwogICBib29sIG5vX21hdGNoID0gVFJVRTsKIAorI2lmbmRlZiBDVVJMX0RJU0FCTEVfUFJPWFkKICAgY29uc3QgYm9vbCBpc1Byb3h5ID0gQ09OTkVDVF9QUk9YWV9TU0woKTsKICAgc3RydWN0IHNzbF9wcmltYXJ5X2NvbmZpZyAqIGNvbnN0IHNzbF9jb25maWcgPSBpc1Byb3h5ID8KICAgICAmY29ubi0+cHJveHlfc3NsX2NvbmZpZyA6CiAgICAgJmNvbm4tPnNzbF9jb25maWc7Ci0gIGNvbnN0IGNoYXIgKiBjb25zdCBuYW1lID0gaXNQcm94eSA/IGNvbm4tPmh0dHBfcHJveHkuaG9zdC5uYW1lIDoKLSAgICBjb25uLT5ob3N0Lm5hbWU7CisgIGNvbnN0IGNoYXIgKiBjb25zdCBuYW1lID0gaXNQcm94eSA/CisgICAgY29ubi0+aHR0cF9wcm94eS5ob3N0Lm5hbWUgOiBjb25uLT5ob3N0Lm5hbWU7CiAgIGludCBwb3J0ID0gaXNQcm94eSA/IChpbnQpY29ubi0+cG9ydCA6IGNvbm4tPnJlbW90ZV9wb3J0OworI2Vsc2UKKyAgLyogbm8gcHJveHkgc3VwcG9ydCAqLworICBzdHJ1Y3Qgc3NsX3ByaW1hcnlfY29uZmlnICogY29uc3Qgc3NsX2NvbmZpZyA9ICZjb25uLT5zc2xfY29uZmlnOworICBjb25zdCBjaGFyICogY29uc3QgbmFtZSA9IGNvbm4tPmhvc3QubmFtZTsKKyAgaW50IHBvcnQgPSBjb25uLT5yZW1vdGVfcG9ydDsKKyAgKHZvaWQpc29ja2luZGV4OworI2VuZGlmCiAgICpzc2xfc2Vzc2lvbmlkID0gTlVMTDsKIAogICBERUJVR0FTU0VSVChTU0xfU0VUX09QVElPTihwcmltYXJ5LnNlc3Npb25pZCkpOwpAQCAtNDI5LDE0ICs0ODQsMjMgQEAKICAgY2hhciAqY2xvbmVfY29ubl90b19ob3N0OwogICBpbnQgY29ubl90b19wb3J0OwogICBsb25nICpnZW5lcmFsX2FnZTsKKyNpZm5kZWYgQ1VSTF9ESVNBQkxFX1BST1hZCiAgIGNvbnN0IGJvb2wgaXNQcm94eSA9IENPTk5FQ1RfUFJPWFlfU1NMKCk7CiAgIHN0cnVjdCBzc2xfcHJpbWFyeV9jb25maWcgKiBjb25zdCBzc2xfY29uZmlnID0gaXNQcm94eSA/CiAgICAgJmNvbm4tPnByb3h5X3NzbF9jb25maWcgOgogICAgICZjb25uLT5zc2xfY29uZmlnOwotCisgIGNvbnN0IGNoYXIgKmhvc3RuYW1lID0gaXNQcm94eSA/IGNvbm4tPmh0dHBfcHJveHkuaG9zdC5uYW1lIDoKKyAgICBjb25uLT5ob3N0Lm5hbWU7CisjZWxzZQorICAvKiBwcm94eSBzdXBwb3J0IGRpc2FibGVkICovCisgIGNvbnN0IGJvb2wgaXNQcm94eSA9IEZBTFNFOworICBzdHJ1Y3Qgc3NsX3ByaW1hcnlfY29uZmlnICogY29uc3Qgc3NsX2NvbmZpZyA9ICZjb25uLT5zc2xfY29uZmlnOworICBjb25zdCBjaGFyICpob3N0bmFtZSA9IGNvbm4tPmhvc3QubmFtZTsKKyAgKHZvaWQpc29ja2luZGV4OworI2VuZGlmCiAgIERFQlVHQVNTRVJUKFNTTF9TRVRfT1BUSU9OKHByaW1hcnkuc2Vzc2lvbmlkKSk7CiAKLSAgY2xvbmVfaG9zdCA9IHN0cmR1cChpc1Byb3h5ID8gY29ubi0+aHR0cF9wcm94eS5ob3N0Lm5hbWUgOiBjb25uLT5ob3N0Lm5hbWUpOworICBjbG9uZV9ob3N0ID0gc3RyZHVwKGhvc3RuYW1lKTsKICAgaWYoIWNsb25lX2hvc3QpCiAgICAgcmV0dXJuIENVUkxFX09VVF9PRl9NRU1PUlk7IC8qIGJhaWwgb3V0ICovCiAKQEAgLTY4NCw3ICs3NDgsNyBAQAogfQogCiAvKgotICogJ3ZhbHVlJyBpcyBOT1QgYSB6ZXJvIHRlcm1pbmF0ZWQgc3RyaW5nCisgKiAndmFsdWUnIGlzIE5PVCBhIG51bGwtdGVybWluYXRlZCBzdHJpbmcKICAqLwogQ1VSTGNvZGUgQ3VybF9zc2xfcHVzaF9jZXJ0aW5mb19sZW4oc3RydWN0IEN1cmxfZWFzeSAqZGF0YSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBjZXJ0bnVtLApAQCAtNzA2LDEwICs3NzAsMTAgQEAKICAgLyogc3ByaW50ZiB0aGUgbGFiZWwgYW5kIGNvbG9uICovCiAgIG1zbnByaW50ZihvdXRwdXQsIG91dGxlbiwgIiVzOiIsIGxhYmVsKTsKIAotICAvKiBtZW1jcHkgdGhlIHZhbHVlIChpdCBtaWdodCBub3QgYmUgemVybyB0ZXJtaW5hdGVkKSAqLworICAvKiBtZW1jcHkgdGhlIHZhbHVlIChpdCBtaWdodCBub3QgYmUgbnVsbC10ZXJtaW5hdGVkKSAqLwogICBtZW1jcHkoJm91dHB1dFtsYWJlbGxlbiArIDFdLCB2YWx1ZSwgdmFsdWVsZW4pOwogCi0gIC8qIHplcm8gdGVybWluYXRlIHRoZSBvdXRwdXQgKi8KKyAgLyogbnVsbC10ZXJtaW5hdGUgdGhlIG91dHB1dCAqLwogICBvdXRwdXRbbGFiZWxsZW4gKyAxICsgdmFsdWVsZW5dID0gMDsKIAogICBubCA9IEN1cmxfc2xpc3RfYXBwZW5kX25vZHVwKGNpLT5jZXJ0aW5mb1tjZXJ0bnVtXSwgb3V0cHV0KTsKQEAgLTEwODQsNyArMTE0OCw3IEBACiBDVVJMY29kZSBDdXJsX25vbmVfbWQ1c3VtKHVuc2lnbmVkIGNoYXIgKmlucHV0LCBzaXplX3QgaW5wdXRsZW4sCiAgICAgICAgICAgICAgICAgICAgICAgICAgIHVuc2lnbmVkIGNoYXIgKm1kNXN1bSwgc2l6ZV90IG1kNWxlbiBVTlVTRURfUEFSQU0pCiB7Ci0gIE1ENV9jb250ZXh0ICpNRDVwdzsKKyAgc3RydWN0IE1ENV9jb250ZXh0ICpNRDVwdzsKIAogICAodm9pZCltZDVsZW47CiAKZGlmZiAtLWdpdCBhL2xpYi92dGxzL3Z0bHMuaCBiL2xpYi92dGxzL3Z0bHMuaAppbmRleCBhODFiMmYyLi5iY2M4NDQ0IDEwMDY0NAotLS0gYS9saWIvdnRscy92dGxzLmgKKysrIGIvbGliL3Z0bHMvdnRscy5oCkBAIC0xMTMsMTIgKzExMyw2IEBACiAjZGVmaW5lIE1BWF9QSU5ORURfUFVCS0VZX1NJWkUgMTA0ODU3NiAvKiAxTUIgKi8KICNlbmRpZgogCi0jaWZuZGVmIE1ENV9ESUdFU1RfTEVOR1RICi0jaWZuZGVmIExJQldPTEZTU0xfVkVSU0lPTl9IRVggLyogYmVjYXVzZSBXb2xmU1NMIGJvcmtzIHRoaXMgKi8KLSNkZWZpbmUgTUQ1X0RJR0VTVF9MRU5HVEggMTYgLyogZml4ZWQgc2l6ZSAqLwotI2VuZGlmCi0jZW5kaWYKLQogI2lmbmRlZiBDVVJMX1NIQTI1Nl9ESUdFU1RfTEVOR1RICiAjZGVmaW5lIENVUkxfU0hBMjU2X0RJR0VTVF9MRU5HVEggMzIgLyogZml4ZWQgc2l6ZSAqLwogI2VuZGlmCkBAIC0xMjksMjAgKzEyMywyNyBAQAogCiAvKiBzZXQgb2YgaGVscGVyIG1hY3JvcyBmb3IgdGhlIGJhY2tlbmRzIHRvIGFjY2VzcyB0aGUgY29ycmVjdCBmaWVsZHMuIEZvciB0aGUKICAgIHByb3h5IG9yIGZvciB0aGUgcmVtb3RlIGhvc3QgLSB0byBwcm9wZXJseSBzdXBwb3J0IEhUVFBTIHByb3h5ICovCisjaWZuZGVmIENVUkxfRElTQUJMRV9QUk9YWQorI2RlZmluZSBTU0xfSVNfUFJPWFkoKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAoQ1VSTFBST1hZX0hUVFBTID09IGNvbm4tPmh0dHBfcHJveHkucHJveHl0eXBlICYmICAgICAgICAgICAgICAgICAgICAgXAorICAgc3NsX2Nvbm5lY3Rpb25fY29tcGxldGUgIT0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgY29ubi0+cHJveHlfc3NsW2Nvbm4tPnNvY2tbU0VDT05EQVJZU09DS0VUXSA9PSAgICAgICAgICAgICAgICAgICAgICAgXAorICAgICAgICAgICAgICAgICAgIENVUkxfU09DS0VUX0JBRCA/IEZJUlNUU09DS0VUIDogU0VDT05EQVJZU09DS0VUXS5zdGF0ZSkKKyNkZWZpbmUgU1NMX1NFVF9PUFRJT04odmFyKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgKFNTTF9JU19QUk9YWSgpID8gZGF0YS0+c2V0LnByb3h5X3NzbC52YXIgOiBkYXRhLT5zZXQuc3NsLnZhcikKKyNkZWZpbmUgU1NMX0NPTk5fQ09ORklHKHZhcikgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgKFNTTF9JU19QUk9YWSgpID8gY29ubi0+cHJveHlfc3NsX2NvbmZpZy52YXIgOiBjb25uLT5zc2xfY29uZmlnLnZhcikKKyNlbHNlCisjZGVmaW5lIFNTTF9JU19QUk9YWSgpIEZBTFNFCisjZGVmaW5lIFNTTF9TRVRfT1BUSU9OKHZhcikgZGF0YS0+c2V0LnNzbC52YXIKKyNkZWZpbmUgU1NMX0NPTk5fQ09ORklHKHZhcikgY29ubi0+c3NsX2NvbmZpZy52YXIKKyNlbmRpZgogCi0jZGVmaW5lIFNTTF9JU19QUk9YWSgpIChDVVJMUFJPWFlfSFRUUFMgPT0gY29ubi0+aHR0cF9wcm94eS5wcm94eXR5cGUgJiYgXAotICBzc2xfY29ubmVjdGlvbl9jb21wbGV0ZSAhPSBjb25uLT5wcm94eV9zc2xbY29ubi0+c29ja1tTRUNPTkRBUllTT0NLRVRdID09IFwKLSAgQ1VSTF9TT0NLRVRfQkFEID8gRklSU1RTT0NLRVQgOiBTRUNPTkRBUllTT0NLRVRdLnN0YXRlKQotI2RlZmluZSBTU0xfU0VUX09QVElPTih2YXIpIChTU0xfSVNfUFJPWFkoKSA/IGRhdGEtPnNldC5wcm94eV9zc2wudmFyIDogXAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLT5zZXQuc3NsLnZhcikKLSNkZWZpbmUgU1NMX0NPTk5fQ09ORklHKHZhcikgKFNTTF9JU19QUk9YWSgpID8gICAgICAgICAgXAotICBjb25uLT5wcm94eV9zc2xfY29uZmlnLnZhciA6IGNvbm4tPnNzbF9jb25maWcudmFyKQotCi1ib29sIEN1cmxfc3NsX2NvbmZpZ19tYXRjaGVzKHN0cnVjdCBzc2xfcHJpbWFyeV9jb25maWcqIGRhdGEsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cnVjdCBzc2xfcHJpbWFyeV9jb25maWcqIG5lZWRsZSk7Citib29sIEN1cmxfc3NsX2NvbmZpZ19tYXRjaGVzKHN0cnVjdCBzc2xfcHJpbWFyeV9jb25maWcgKmRhdGEsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cnVjdCBzc2xfcHJpbWFyeV9jb25maWcgKm5lZWRsZSk7CiBib29sIEN1cmxfY2xvbmVfcHJpbWFyeV9zc2xfY29uZmlnKHN0cnVjdCBzc2xfcHJpbWFyeV9jb25maWcgKnNvdXJjZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RydWN0IHNzbF9wcmltYXJ5X2NvbmZpZyAqZGVzdCk7Ci12b2lkIEN1cmxfZnJlZV9wcmltYXJ5X3NzbF9jb25maWcoc3RydWN0IHNzbF9wcmltYXJ5X2NvbmZpZyogc3NsYyk7Cit2b2lkIEN1cmxfZnJlZV9wcmltYXJ5X3NzbF9jb25maWcoc3RydWN0IHNzbF9wcmltYXJ5X2NvbmZpZyAqc3NsYyk7CiBpbnQgQ3VybF9zc2xfZ2V0c29jayhzdHJ1Y3QgY29ubmVjdGRhdGEgKmNvbm4sIGN1cmxfc29ja2V0X3QgKnNvY2tzKTsKIAogaW50IEN1cmxfc3NsX2JhY2tlbmQodm9pZCk7CmRpZmYgLS1naXQgYS9saWIvdnRscy93b2xmc3NsLmMgYi9saWIvdnRscy93b2xmc3NsLmMKaW5kZXggNTA0MGIwNS4uN2IyYTEyNCAxMDA2NDQKLS0tIGEvbGliL3Z0bHMvd29sZnNzbC5jCisrKyBiL2xpYi92dGxzL3dvbGZzc2wuYwpAQCAtNjMsNiArNjMsNyBAQAogI2luY2x1ZGUgInNlbmRmLmgiCiAjaW5jbHVkZSAiaW5ldF9wdG9uLmgiCiAjaW5jbHVkZSAidnRscy5oIgorI2luY2x1ZGUgImtleWxvZy5oIgogI2luY2x1ZGUgInBhcnNlZGF0ZS5oIgogI2luY2x1ZGUgImNvbm5lY3QuaCIgLyogZm9yIHRoZSBjb25uZWN0IHRpbWVvdXQgKi8KICNpbmNsdWRlICJzZWxlY3QuaCIKQEAgLTk5LDYgKzEwMCwxMDcgQEAKIHN0YXRpYyBDdXJsX3JlY3Ygd29sZnNzbF9yZWN2Owogc3RhdGljIEN1cmxfc2VuZCB3b2xmc3NsX3NlbmQ7CiAKKyNpZmRlZiBPUEVOU1NMX0VYVFJBCisvKgorICogQXZhaWxhYmlsaXR5IG5vdGU6CisgKiBUaGUgVExTIDEuMyBzZWNyZXQgY2FsbGJhY2sgKHdvbGZTU0xfc2V0X3RsczEzX3NlY3JldF9jYikgd2FzIGFkZGVkIGluCisgKiBXb2xmU1NMIDQuNC4wLCBidXQgcmVxdWlyZXMgdGhlIC1ESEFWRV9TRUNSRVRfQ0FMTEJBQ0sgYnVpbGQgb3B0aW9uLiBJZiB0aGF0CisgKiBvcHRpb24gaXMgbm90IHNldCwgdGhlbiBUTFMgMS4zIHdpbGwgbm90IGJlIGxvZ2dlZC4KKyAqIEZvciBUTFMgMS4yIGFuZCBiZWZvcmUsIHdlIHVzZSB3b2xmU1NMX2dldF9rZXlzKCkuCisgKiBTU0xfZ2V0X2NsaWVudF9yYW5kb20gYW5kIHdvbGZTU0xfZ2V0X2tleXMgcmVxdWlyZSBPUEVOU1NMX0VYVFJBCisgKiAoLS1lbmFibGUtb3BlbnNzbGV4dHJhIG9yIC0tZW5hYmxlLWFsbCkuCisgKi8KKyNpZiBkZWZpbmVkKEhBVkVfU0VDUkVUX0NBTExCQUNLKSAmJiBkZWZpbmVkKFdPTEZTU0xfVExTMTMpCitzdGF0aWMgaW50Cit3b2xmc3NsX3RsczEzX3NlY3JldF9jYWxsYmFjayhTU0wgKnNzbCwgaW50IGlkLCBjb25zdCB1bnNpZ25lZCBjaGFyICpzZWNyZXQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc2VjcmV0U3osIHZvaWQgKmN0eCkKK3sKKyAgY29uc3QgY2hhciAqbGFiZWw7CisgIHVuc2lnbmVkIGNoYXIgY2xpZW50X3JhbmRvbVtTU0wzX1JBTkRPTV9TSVpFXTsKKyAgKHZvaWQpY3R4OworCisgIGlmKCFzc2wgfHwgIUN1cmxfdGxzX2tleWxvZ19lbmFibGVkKCkpIHsKKyAgICByZXR1cm4gMDsKKyAgfQorCisgIHN3aXRjaChpZCkgeworICBjYXNlIENMSUVOVF9FQVJMWV9UUkFGRklDX1NFQ1JFVDoKKyAgICBsYWJlbCA9ICJDTElFTlRfRUFSTFlfVFJBRkZJQ19TRUNSRVQiOworICAgIGJyZWFrOworICBjYXNlIENMSUVOVF9IQU5EU0hBS0VfVFJBRkZJQ19TRUNSRVQ6CisgICAgbGFiZWwgPSAiQ0xJRU5UX0hBTkRTSEFLRV9UUkFGRklDX1NFQ1JFVCI7CisgICAgYnJlYWs7CisgIGNhc2UgU0VSVkVSX0hBTkRTSEFLRV9UUkFGRklDX1NFQ1JFVDoKKyAgICBsYWJlbCA9ICJTRVJWRVJfSEFORFNIQUtFX1RSQUZGSUNfU0VDUkVUIjsKKyAgICBicmVhazsKKyAgY2FzZSBDTElFTlRfVFJBRkZJQ19TRUNSRVQ6CisgICAgbGFiZWwgPSAiQ0xJRU5UX1RSQUZGSUNfU0VDUkVUXzAiOworICAgIGJyZWFrOworICBjYXNlIFNFUlZFUl9UUkFGRklDX1NFQ1JFVDoKKyAgICBsYWJlbCA9ICJTRVJWRVJfVFJBRkZJQ19TRUNSRVRfMCI7CisgICAgYnJlYWs7CisgIGNhc2UgRUFSTFlfRVhQT1JURVJfU0VDUkVUOgorICAgIGxhYmVsID0gIkVBUkxZX0VYUE9SVEVSX1NFQ1JFVCI7CisgICAgYnJlYWs7CisgIGNhc2UgRVhQT1JURVJfU0VDUkVUOgorICAgIGxhYmVsID0gIkVYUE9SVEVSX1NFQ1JFVCI7CisgICAgYnJlYWs7CisgIGRlZmF1bHQ6CisgICAgcmV0dXJuIDA7CisgIH0KKworICBpZihTU0xfZ2V0X2NsaWVudF9yYW5kb20oc3NsLCBjbGllbnRfcmFuZG9tLCBTU0wzX1JBTkRPTV9TSVpFKSA9PSAwKSB7CisgICAgLyogU2hvdWxkIG5ldmVyIGhhcHBlbiBhcyB3b2xmU1NMX0tlZXBBcnJheXMoKSB3YXMgY2FsbGVkIGJlZm9yZS4gKi8KKyAgICByZXR1cm4gMDsKKyAgfQorCisgIEN1cmxfdGxzX2tleWxvZ193cml0ZShsYWJlbCwgY2xpZW50X3JhbmRvbSwgc2VjcmV0LCBzZWNyZXRTeik7CisgIHJldHVybiAwOworfQorI2VuZGlmIC8qIGRlZmluZWQoSEFWRV9TRUNSRVRfQ0FMTEJBQ0spICYmIGRlZmluZWQoV09MRlNTTF9UTFMxMykgKi8KKworc3RhdGljIHZvaWQKK3dvbGZzc2xfbG9nX3RsczEyX3NlY3JldChTU0wgKnNzbCkKK3sKKyAgdW5zaWduZWQgY2hhciAqbXMsICpzciwgKmNyOworICB1bnNpZ25lZCBpbnQgbXNMZW4sIHNyTGVuLCBjckxlbiwgaSwgeCA9IDA7CisKKyNpZiBMSUJXT0xGU1NMX1ZFUlNJT05fSEVYID49IDB4MDMwMGQwMDAgLyogPj0gMy4xMy4wICovCisgIC8qIHdvbGZTU0xfR2V0VmVyc2lvbiBpcyBhdmFpbGFibGUgc2luY2UgMy4xMywgd2UgdXNlIGl0IGluc3RlYWQgb2YKKyAgICogU1NMX3ZlcnNpb24gc2luY2UgdGhlIGxhdHRlciByZWxpZXMgb24gT1BFTlNTTF9BTEwgKC0tZW5hYmxlLW9wZW5zc2xhbGwgb3IKKyAgICogLS1lbmFibGUtYWxsKS4gRmFpbGluZyB0byBwZXJmb3JtIHRoaXMgY2hlY2sgY291bGQgcmVzdWx0IGluIGFuIHVudXNhYmxlCisgICAqIGtleSBsb2cgbGluZSB3aGVuIFRMUyAxLjMgaXMgYWN0dWFsbHkgbmVnb3RpYXRlZC4gKi8KKyAgc3dpdGNoKHdvbGZTU0xfR2V0VmVyc2lvbihzc2wpKSB7CisgIGNhc2UgV09MRlNTTF9TU0xWMzoKKyAgY2FzZSBXT0xGU1NMX1RMU1YxOgorICBjYXNlIFdPTEZTU0xfVExTVjFfMToKKyAgY2FzZSBXT0xGU1NMX1RMU1YxXzI6CisgICAgYnJlYWs7CisgIGRlZmF1bHQ6CisgICAgLyogVExTIDEuMyBkb2VzIG5vdCB1c2UgdGhpcyBtZWNoYW5pc20sIHRoZSAibWFzdGVyIHNlY3JldCIgcmV0dXJuZWQgYmVsb3cKKyAgICAgKiBpcyBub3QgZGlyZWN0bHkgdXNhYmxlLiAqLworICAgIHJldHVybjsKKyAgfQorI2VuZGlmCisKKyAgaWYoU1NMX2dldF9rZXlzKHNzbCwgJm1zLCAmbXNMZW4sICZzciwgJnNyTGVuLCAmY3IsICZjckxlbikgIT0gU1NMX1NVQ0NFU1MpIHsKKyAgICByZXR1cm47CisgIH0KKworICAvKiBDaGVjayBmb3IgYSBtaXNzaW5nIG1hc3RlciBzZWNyZXQgYW5kIHNraXAgbG9nZ2luZy4gVGhhdCBjYW4gaGFwcGVuIGlmCisgICAqIGN1cmwgcmVqZWN0cyB0aGUgc2VydmVyIGNlcnRpZmljYXRlIGFuZCBhYm9ydHMgdGhlIGhhbmRzaGFrZS4KKyAgICovCisgIGZvcihpID0gMDsgaSA8IG1zTGVuOyBpKyspIHsKKyAgICB4IHw9IG1zW2ldOworICB9CisgIGlmKHggPT0gMCkgeworICAgIHJldHVybjsKKyAgfQorCisgIEN1cmxfdGxzX2tleWxvZ193cml0ZSgiQ0xJRU5UX1JBTkRPTSIsIGNyLCBtcywgbXNMZW4pOworfQorI2VuZGlmIC8qIE9QRU5TU0xfRVhUUkEgKi8KKwogc3RhdGljIGludCBkb19maWxlX3R5cGUoY29uc3QgY2hhciAqdHlwZSkKIHsKICAgaWYoIXR5cGUgfHwgIXR5cGVbMF0pCkBAIC0xMjAsNyArMjIyLDcgQEAKIHsKICAgY2hhciAqY2lwaGVyczsKICAgc3RydWN0IEN1cmxfZWFzeSAqZGF0YSA9IGNvbm4tPmRhdGE7Ci0gIHN0cnVjdCBzc2xfY29ubmVjdF9kYXRhKiBjb25uc3NsID0gJmNvbm4tPnNzbFtzb2NraW5kZXhdOworICBzdHJ1Y3Qgc3NsX2Nvbm5lY3RfZGF0YSAqY29ubnNzbCA9ICZjb25uLT5zc2xbc29ja2luZGV4XTsKICAgc3RydWN0IHNzbF9iYWNrZW5kX2RhdGEgKmJhY2tlbmQgPSBjb25uc3NsLT5iYWNrZW5kOwogICBTU0xfTUVUSE9EKiByZXFfbWV0aG9kID0gTlVMTDsKICAgY3VybF9zb2NrZXRfdCBzb2NrZmQgPSBjb25uLT5zb2NrW3NvY2tpbmRleF07CkBAIC0zMTQsOCArNDE2LDEyIEBACiAjaWZkZWYgRU5BQkxFX0lQVjYKICAgICBzdHJ1Y3QgaW42X2FkZHIgYWRkcjY7CiAjZW5kaWYKKyNpZm5kZWYgQ1VSTF9ESVNBQkxFX1BST1hZCiAgICAgY29uc3QgY2hhciAqIGNvbnN0IGhvc3RuYW1lID0gU1NMX0lTX1BST1hZKCkgPyBjb25uLT5odHRwX3Byb3h5Lmhvc3QubmFtZSA6CiAgICAgICBjb25uLT5ob3N0Lm5hbWU7CisjZWxzZQorICAgIGNvbnN0IGNoYXIgKiBjb25zdCBob3N0bmFtZSA9IGNvbm4tPmhvc3QubmFtZTsKKyNlbmRpZgogICAgIHNpemVfdCBob3N0bmFtZV9sZW4gPSBzdHJsZW4oaG9zdG5hbWUpOwogICAgIGlmKChob3N0bmFtZV9sZW4gPCBVU0hSVF9NQVgpICYmCiAgICAgICAgKDAgPT0gQ3VybF9pbmV0X3B0b24oQUZfSU5FVCwgaG9zdG5hbWUsICZhZGRyNCkpICYmCkBAIC0zODUsNiArNDkxLDE3IEBACiAgIH0KICNlbmRpZiAvKiBIQVZFX0FMUE4gKi8KIAorI2lmZGVmIE9QRU5TU0xfRVhUUkEKKyAgaWYoQ3VybF90bHNfa2V5bG9nX2VuYWJsZWQoKSkgeworICAgIC8qIEVuc3VyZSB0aGUgQ2xpZW50IFJhbmRvbSBpcyBwcmVzZXJ2ZWQuICovCisgICAgd29sZlNTTF9LZWVwQXJyYXlzKGJhY2tlbmQtPmhhbmRsZSk7CisjaWYgZGVmaW5lZChIQVZFX1NFQ1JFVF9DQUxMQkFDSykgJiYgZGVmaW5lZChXT0xGU1NMX1RMUzEzKQorICAgIHdvbGZTU0xfc2V0X3RsczEzX3NlY3JldF9jYihiYWNrZW5kLT5oYW5kbGUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdvbGZzc2xfdGxzMTNfc2VjcmV0X2NhbGxiYWNrLCBOVUxMKTsKKyNlbmRpZgorICB9CisjZW5kaWYgLyogT1BFTlNTTF9FWFRSQSAqLworCiAgIC8qIENoZWNrIGlmIHRoZXJlJ3MgYSBjYWNoZWQgSUQgd2UgY2FuL3Nob3VsZCB1c2UgaGVyZSEgKi8KICAgaWYoU1NMX1NFVF9PUFRJT04ocHJpbWFyeS5zZXNzaW9uaWQpKSB7CiAgICAgdm9pZCAqc3NsX3Nlc3Npb25pZCA9IE5VTEw7CkBAIC00MjMsMTUgKzU0MCwyMiBAQAogewogICBpbnQgcmV0ID0gLTE7CiAgIHN0cnVjdCBDdXJsX2Vhc3kgKmRhdGEgPSBjb25uLT5kYXRhOwotICBzdHJ1Y3Qgc3NsX2Nvbm5lY3RfZGF0YSogY29ubnNzbCA9ICZjb25uLT5zc2xbc29ja2luZGV4XTsKKyAgc3RydWN0IHNzbF9jb25uZWN0X2RhdGEgKmNvbm5zc2wgPSAmY29ubi0+c3NsW3NvY2tpbmRleF07CiAgIHN0cnVjdCBzc2xfYmFja2VuZF9kYXRhICpiYWNrZW5kID0gY29ubnNzbC0+YmFja2VuZDsKKyNpZm5kZWYgQ1VSTF9ESVNBQkxFX1BST1hZCiAgIGNvbnN0IGNoYXIgKiBjb25zdCBob3N0bmFtZSA9IFNTTF9JU19QUk9YWSgpID8gY29ubi0+aHR0cF9wcm94eS5ob3N0Lm5hbWUgOgogICAgIGNvbm4tPmhvc3QubmFtZTsKICAgY29uc3QgY2hhciAqIGNvbnN0IGRpc3BuYW1lID0gU1NMX0lTX1BST1hZKCkgPwogICAgIGNvbm4tPmh0dHBfcHJveHkuaG9zdC5kaXNwbmFtZSA6IGNvbm4tPmhvc3QuZGlzcG5hbWU7CiAgIGNvbnN0IGNoYXIgKiBjb25zdCBwaW5uZWRwdWJrZXkgPSBTU0xfSVNfUFJPWFkoKSA/Ci0gICAgICAgICAgICAgICAgICAgICAgICBkYXRhLT5zZXQuc3RyW1NUUklOR19TU0xfUElOTkVEUFVCTElDS0VZX1BST1hZXSA6Ci0gICAgICAgICAgICAgICAgICAgICAgICBkYXRhLT5zZXQuc3RyW1NUUklOR19TU0xfUElOTkVEUFVCTElDS0VZX09SSUddOworICAgIGRhdGEtPnNldC5zdHJbU1RSSU5HX1NTTF9QSU5ORURQVUJMSUNLRVlfUFJPWFldIDoKKyAgICBkYXRhLT5zZXQuc3RyW1NUUklOR19TU0xfUElOTkVEUFVCTElDS0VZX09SSUddOworI2Vsc2UKKyAgY29uc3QgY2hhciAqIGNvbnN0IGhvc3RuYW1lID0gY29ubi0+aG9zdC5uYW1lOworICBjb25zdCBjaGFyICogY29uc3QgZGlzcG5hbWUgPSBjb25uLT5ob3N0LmRpc3BuYW1lOworICBjb25zdCBjaGFyICogY29uc3QgcGlubmVkcHVia2V5ID0KKyAgICBkYXRhLT5zZXQuc3RyW1NUUklOR19TU0xfUElOTkVEUFVCTElDS0VZX09SSUddOworI2VuZGlmCiAKICAgY29ubi0+cmVjdltzb2NraW5kZXhdID0gd29sZnNzbF9yZWN2OwogICBjb25uLT5zZW5kW3NvY2tpbmRleF0gPSB3b2xmc3NsX3NlbmQ7CkBAIC00NDQsNiArNTY4LDMxIEBACiAgIH0KIAogICByZXQgPSBTU0xfY29ubmVjdChiYWNrZW5kLT5oYW5kbGUpOworCisjaWZkZWYgT1BFTlNTTF9FWFRSQQorICBpZihDdXJsX3Rsc19rZXlsb2dfZW5hYmxlZCgpKSB7CisgICAgLyogSWYga2V5IGxvZ2dpbmcgaXMgZW5hYmxlZCwgd2FpdCBmb3IgdGhlIGhhbmRzaGFrZSB0byBjb21wbGV0ZSBhbmQgdGhlbgorICAgICAqIHByb2NlZWQgd2l0aCBsb2dnaW5nIHNlY3JldHMgKGZvciBUTFMgMS4yIG9yIG9sZGVyKS4KKyAgICAgKgorICAgICAqIER1cmluZyB0aGUgaGFuZHNoYWtlIChyZXQ9PS0xKSwgd29sZlNTTF93YW50X3JlYWQoKSBpcyB0cnVlIGFzIGl0IHdhaXRzCisgICAgICogZm9yIHRoZSBzZXJ2ZXIgcmVzcG9uc2UuIEF0IHRoYXQgcG9pbnQgdGhlIG1hc3RlciBzZWNyZXQgaXMgbm90IHlldAorICAgICAqIGF2YWlsYWJsZSwgc28gd2UgbXVzdCBub3QgdHJ5IHRvIHJlYWQgaXQuCisgICAgICogVG8gbG9nIHRoZSBzZWNyZXQgb24gY29tcGxldGlvbiB3aXRoIGEgaGFuZHNoYWtlIGZhaWx1cmUsIGRldGVjdAorICAgICAqIGNvbXBsZXRpb24gdmlhIHRoZSBvYnNlcnZhdGlvbiB0aGF0IHRoZXJlIGlzIG5vdGhpbmcgdG8gcmVhZCBvciB3cml0ZS4KKyAgICAgKiBOb3RlIHRoYXQgT3BlblNTTCBTU0xfd2FudF9yZWFkKCkgaXMgYWx3YXlzIHRydWUgaGVyZS4gSWYgd29sZlNTTCBldmVyCisgICAgICogY2hhbmdlcywgdGhlIHdvcnN0IGNhc2UgaXMgdGhhdCBubyBrZXkgaXMgbG9nZ2VkIG9uIGVycm9yLgorICAgICAqLworICAgIGlmKHJldCA9PSBTU0xfU1VDQ0VTUyB8fAorICAgICAgICghd29sZlNTTF93YW50X3JlYWQoYmFja2VuZC0+aGFuZGxlKSAmJgorICAgICAgICAhd29sZlNTTF93YW50X3dyaXRlKGJhY2tlbmQtPmhhbmRsZSkpKSB7CisgICAgICB3b2xmc3NsX2xvZ190bHMxMl9zZWNyZXQoYmFja2VuZC0+aGFuZGxlKTsKKyAgICAgIC8qIENsaWVudCBSYW5kb20gYW5kIG1hc3RlciBzZWNyZXRzIGFyZSBubyBsb25nZXIgbmVlZGVkLCBlcmFzZSB0aGVzZS4KKyAgICAgICAqIElnbm9yZWQgd2hpbGUgdGhlIGhhbmRzaGFrZSBpcyBzdGlsbCBpbiBwcm9ncmVzcy4gKi8KKyAgICAgIHdvbGZTU0xfRnJlZUFycmF5cyhiYWNrZW5kLT5oYW5kbGUpOworICAgIH0KKyAgfQorI2VuZGlmICAvKiBPUEVOU1NMX0VYVFJBICovCisKICAgaWYocmV0ICE9IDEpIHsKICAgICBjaGFyIGVycm9yX2J1ZmZlcltXT0xGU1NMX01BWF9FUlJPUl9TWl07CiAgICAgaW50ICBkZXRhaWwgPSBTU0xfZ2V0X2Vycm9yKGJhY2tlbmQtPmhhbmRsZSwgcmV0KTsKQEAgLTUxMSw4ICs2NjAsOCBAQAogICAgIFg1MDkgKng1MDk7CiAgICAgY29uc3QgY2hhciAqeDUwOV9kZXI7CiAgICAgaW50IHg1MDlfZGVyX2xlbjsKLSAgICBjdXJsX1g1MDljZXJ0aWZpY2F0ZSB4NTA5X3BhcnNlZDsKLSAgICBjdXJsX2FzbjFFbGVtZW50ICpwdWJrZXk7CisgICAgc3RydWN0IEN1cmxfWDUwOWNlcnRpZmljYXRlIHg1MDlfcGFyc2VkOworICAgIHN0cnVjdCBDdXJsX2FzbjFFbGVtZW50ICpwdWJrZXk7CiAgICAgQ1VSTGNvZGUgcmVzdWx0OwogCiAgICAgeDUwOSA9IFNTTF9nZXRfcGVlcl9jZXJ0aWZpY2F0ZShiYWNrZW5kLT5oYW5kbGUpOwpAQCAtNzUwLDYgKzg5OSw5IEBACiAKIHN0YXRpYyBpbnQgQ3VybF93b2xmc3NsX2luaXQodm9pZCkKIHsKKyNpZmRlZiBPUEVOU1NMX0VYVFJBCisgIEN1cmxfdGxzX2tleWxvZ19vcGVuKCk7CisjZW5kaWYKICAgcmV0dXJuICh3b2xmU1NMX0luaXQoKSA9PSBTU0xfU1VDQ0VTUyk7CiB9CiAKQEAgLTc1NywxMCArOTA5LDEzIEBACiBzdGF0aWMgdm9pZCBDdXJsX3dvbGZzc2xfY2xlYW51cCh2b2lkKQogewogICB3b2xmU1NMX0NsZWFudXAoKTsKKyNpZmRlZiBPUEVOU1NMX0VYVFJBCisgIEN1cmxfdGxzX2tleWxvZ19jbG9zZSgpOworI2VuZGlmCiB9CiAKIAotc3RhdGljIGJvb2wgQ3VybF93b2xmc3NsX2RhdGFfcGVuZGluZyhjb25zdCBzdHJ1Y3QgY29ubmVjdGRhdGEqIGNvbm4sCitzdGF0aWMgYm9vbCBDdXJsX3dvbGZzc2xfZGF0YV9wZW5kaW5nKGNvbnN0IHN0cnVjdCBjb25uZWN0ZGF0YSAqY29ubiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IGNvbm5pbmRleCkKIHsKICAgY29uc3Qgc3RydWN0IHNzbF9jb25uZWN0X2RhdGEgKmNvbm5zc2wgPSAmY29ubi0+c3NsW2Nvbm5pbmRleF07CkBAIC04MDAsNyArOTU1LDYgQEAKICAgc3RydWN0IEN1cmxfZWFzeSAqZGF0YSA9IGNvbm4tPmRhdGE7CiAgIHN0cnVjdCBzc2xfY29ubmVjdF9kYXRhICpjb25uc3NsID0gJmNvbm4tPnNzbFtzb2NraW5kZXhdOwogICBjdXJsX3NvY2tldF90IHNvY2tmZCA9IGNvbm4tPnNvY2tbc29ja2luZGV4XTsKLSAgdGltZV90IHRpbWVvdXRfbXM7CiAgIGludCB3aGF0OwogCiAgIC8qIGNoZWNrIGlmIHRoZSBjb25uZWN0aW9uIGhhcyBhbHJlYWR5IGJlZW4gZXN0YWJsaXNoZWQgKi8KQEAgLTgxMSw3ICs5NjUsNyBAQAogCiAgIGlmKHNzbF9jb25uZWN0XzEgPT0gY29ubnNzbC0+Y29ubmVjdGluZ19zdGF0ZSkgewogICAgIC8qIEZpbmQgb3V0IGhvdyBtdWNoIG1vcmUgdGltZSB3ZSdyZSBhbGxvd2VkICovCi0gICAgdGltZW91dF9tcyA9IEN1cmxfdGltZWxlZnQoZGF0YSwgTlVMTCwgVFJVRSk7CisgICAgY29uc3QgdGltZWRpZmZfdCB0aW1lb3V0X21zID0gQ3VybF90aW1lbGVmdChkYXRhLCBOVUxMLCBUUlVFKTsKIAogICAgIGlmKHRpbWVvdXRfbXMgPCAwKSB7CiAgICAgICAvKiBubyBuZWVkIHRvIGNvbnRpbnVlIGlmIHRpbWUgYWxyZWFkeSBpcyB1cCAqLwpAQCAtODI5LDcgKzk4Myw3IEBACiAgICAgICAgIHNzbF9jb25uZWN0XzJfd3JpdGluZyA9PSBjb25uc3NsLT5jb25uZWN0aW5nX3N0YXRlKSB7CiAKICAgICAvKiBjaGVjayBhbGxvd2VkIHRpbWUgbGVmdCAqLwotICAgIHRpbWVvdXRfbXMgPSBDdXJsX3RpbWVsZWZ0KGRhdGEsIE5VTEwsIFRSVUUpOworICAgIGNvbnN0IHRpbWVkaWZmX3QgdGltZW91dF9tcyA9IEN1cmxfdGltZWxlZnQoZGF0YSwgTlVMTCwgVFJVRSk7CiAKICAgICBpZih0aW1lb3V0X21zIDwgMCkgewogICAgICAgLyogbm8gbmVlZCB0byBjb250aW51ZSBpZiB0aW1lIGFscmVhZHkgaXMgdXAgKi8KZGlmZiAtLWdpdCBhL2xpYi94NTA5YXNuMS5jIGIvbGliL3g1MDlhc24xLmMKaW5kZXggZWNlNTM2NC4uNTI3NDdkNSAxMDA2NDQKLS0tIGEvbGliL3g1MDlhc24xLmMKKysrIGIvbGliL3g1MDlhc24xLmMKQEAgLTUsNyArNSw3IEBACiAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICB8IChfX3wgfF98IHwgIF8gPHwgfF9fXwogICogICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxfX198XF9fXy98X3wgXF9cX19fX198CiAgKgotICogQ29weXJpZ2h0IChDKSAxOTk4IC0gMjAxOSwgRGFuaWVsIFN0ZW5iZXJnLCA8ZGFuaWVsQGhheHguc2U+LCBldCBhbC4KKyAqIENvcHlyaWdodCAoQykgMTk5OCAtIDIwMjAsIERhbmllbCBTdGVuYmVyZywgPGRhbmllbEBoYXh4LnNlPiwgZXQgYWwuCiAgKgogICogVGhpcyBzb2Z0d2FyZSBpcyBsaWNlbnNlZCBhcyBkZXNjcmliZWQgaW4gdGhlIGZpbGUgQ09QWUlORywgd2hpY2gKICAqIHlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhcyBwYXJ0IG9mIHRoaXMgZGlzdHJpYnV0aW9uLiBUaGUgdGVybXMKQEAgLTQ0LDcgKzQ0LDcgQEAKIHN0YXRpYyBjb25zdCBjaGFyICAgICAgIGNuT0lEW10gPSAiMi41LjQuMyI7ICAgIC8qIENvbW1vbiBuYW1lLiAqLwogc3RhdGljIGNvbnN0IGNoYXIgICAgICAgc2FuT0lEW10gPSAiMi41LjI5LjE3IjsgLyogU3ViamVjdCBhbHRlcm5hdGl2ZSBuYW1lLiAqLwogCi1zdGF0aWMgY29uc3QgY3VybF9PSUQgICBPSUR0YWJsZVtdID0geworc3RhdGljIGNvbnN0IHN0cnVjdCBDdXJsX09JRCBPSUR0YWJsZVtdID0gewogICB7ICIxLjIuODQwLjEwMDQwLjQuMSIsICAgICAgICAiZHNhIiB9LAogICB7ICIxLjIuODQwLjEwMDQwLjQuMyIsICAgICAgICAiZHNhLXdpdGgtc2hhMSIgfSwKICAgeyAiMS4yLjg0MC4xMDA0NS4yLjEiLCAgICAgICAgImVjUHVibGljS2V5IiB9LApAQCAtMTAzLDE2ICsxMDMsMTYgQEAKICAqIFBsZWFzZSBub3RlIHRoZXJlIGlzIG5vIHByZXRlbnRpb24gaGVyZSB0byByZXdyaXRlIGEgZnVsbCBTU0wgbGlicmFyeS4KICAqLwogCi1zdGF0aWMgY29uc3QgY2hhciAqZ2V0QVNOMUVsZW1lbnQoY3VybF9hc24xRWxlbWVudCAqZWxlbSwKK3N0YXRpYyBjb25zdCBjaGFyICpnZXRBU04xRWxlbWVudChzdHJ1Y3QgQ3VybF9hc24xRWxlbWVudCAqZWxlbSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBjaGFyICpiZWcsIGNvbnN0IGNoYXIgKmVuZCkKICAgV0FSTl9VTlVTRURfUkVTVUxUOwogCi1zdGF0aWMgY29uc3QgY2hhciAqZ2V0QVNOMUVsZW1lbnQoY3VybF9hc24xRWxlbWVudCAqZWxlbSwKK3N0YXRpYyBjb25zdCBjaGFyICpnZXRBU04xRWxlbWVudChzdHJ1Y3QgQ3VybF9hc24xRWxlbWVudCAqZWxlbSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBjaGFyICpiZWcsIGNvbnN0IGNoYXIgKmVuZCkKIHsKICAgdW5zaWduZWQgY2hhciBiOwogICB1bnNpZ25lZCBsb25nIGxlbjsKLSAgY3VybF9hc24xRWxlbWVudCBsZWxlbTsKKyAgc3RydWN0IEN1cmxfYXNuMUVsZW1lbnQgbGVsZW07CiAKICAgLyogR2V0IGEgc2luZ2xlIEFTTi4xIGVsZW1lbnQgaW50byBgZWxlbScsIHBhcnNlIEFTTi4xIHN0cmluZyBhdCBgYmVnJwogICAgICBlbmRpbmcgYXQgYGVuZCcuCkBAIC0xNzYsOSArMTc2LDkgQEAKICAqIFNlYXJjaCB0aGUgbnVsbCB0ZXJtaW5hdGVkIE9JRCBvciBPSUQgaWRlbnRpZmllciBpbiBsb2NhbCB0YWJsZS4KICAqIFJldHVybiB0aGUgdGFibGUgZW50cnkgcG9pbnRlciBvciBOVUxMIGlmIG5vdCBmb3VuZC4KICAqLwotc3RhdGljIGNvbnN0IGN1cmxfT0lEICogc2VhcmNoT0lEKGNvbnN0IGNoYXIgKm9pZCkKK3N0YXRpYyBjb25zdCBzdHJ1Y3QgQ3VybF9PSUQgKnNlYXJjaE9JRChjb25zdCBjaGFyICpvaWQpCiB7Ci0gIGNvbnN0IGN1cmxfT0lEICpvcDsKKyAgY29uc3Qgc3RydWN0IEN1cmxfT0lEICpvcDsKICAgZm9yKG9wID0gT0lEdGFibGU7IG9wLT5udW1vaWQ7IG9wKyspCiAgICAgaWYoIXN0cmNtcChvcC0+bnVtb2lkLCBvaWQpIHx8IHN0cmNhc2Vjb21wYXJlKG9wLT50ZXh0b2lkLCBvaWQpKQogICAgICAgcmV0dXJuIG9wOwpAQCAtNDQ1LDcgKzQ0NSw3IEBACiAgICAgICAgIGJ1ZltidWZsZW5dID0gJ1wwJzsKIAogICAgICAgICBpZihzeW1ib2xpYykgewotICAgICAgICAgIGNvbnN0IGN1cmxfT0lEICpvcCA9IHNlYXJjaE9JRChidWYpOworICAgICAgICAgIGNvbnN0IHN0cnVjdCBDdXJsX09JRCAqb3AgPSBzZWFyY2hPSUQoYnVmKTsKICAgICAgICAgICBpZihvcCkgewogICAgICAgICAgICAgZnJlZShidWYpOwogICAgICAgICAgICAgYnVmID0gc3RyZHVwKG9wLT50ZXh0b2lkKTsKQEAgLTU2NSw3ICs1NjUsNyBAQAogICogQ29udmVydCBhbiBBU04uMSBlbGVtZW50IHRvIGEgcHJpbnRhYmxlIHN0cmluZy4KICAqIFJldHVybiB0aGUgZHluYW1pY2FsbHkgYWxsb2NhdGVkIHN0cmluZywgb3IgTlVMTCBpZiBhbiBlcnJvciBvY2N1cnMuCiAgKi8KLXN0YXRpYyBjb25zdCBjaGFyICpBU04xdG9zdHIoY3VybF9hc24xRWxlbWVudCAqZWxlbSwgaW50IHR5cGUpCitzdGF0aWMgY29uc3QgY2hhciAqQVNOMXRvc3RyKHN0cnVjdCBDdXJsX2FzbjFFbGVtZW50ICplbGVtLCBpbnQgdHlwZSkKIHsKICAgaWYoZWxlbS0+Y29uc3RydWN0ZWQpCiAgICAgcmV0dXJuIE5VTEw7IC8qIE5vIGNvbnZlcnNpb24gb2Ygc3RydWN0dXJlZCBlbGVtZW50cy4gKi8KQEAgLTYwOSwxMiArNjA5LDEyIEBACiAgKiBBU0NJSSBlbmNvZGUgZGlzdGluZ3Vpc2hlZCBuYW1lIGF0IGBkbicgaW50byB0aGUgYGJ1Zmxlbictc2l6ZWQgYnVmZmVyIGF0CiAgKiBgYnVmJy4gIFJldHVybiB0aGUgdG90YWwgc3RyaW5nIGxlbmd0aCwgZXZlbiBpZiBsYXJnZXIgdGhhbiBgYnVmbGVuJy4KICAqLwotc3RhdGljIHNzaXplX3QgZW5jb2RlRE4oY2hhciAqYnVmLCBzaXplX3QgYnVmbGVuLCBjdXJsX2FzbjFFbGVtZW50ICpkbikKK3N0YXRpYyBzc2l6ZV90IGVuY29kZUROKGNoYXIgKmJ1Ziwgc2l6ZV90IGJ1Zmxlbiwgc3RydWN0IEN1cmxfYXNuMUVsZW1lbnQgKmRuKQogewotICBjdXJsX2FzbjFFbGVtZW50IHJkbjsKLSAgY3VybF9hc24xRWxlbWVudCBhdHY7Ci0gIGN1cmxfYXNuMUVsZW1lbnQgb2lkOwotICBjdXJsX2FzbjFFbGVtZW50IHZhbHVlOworICBzdHJ1Y3QgQ3VybF9hc24xRWxlbWVudCByZG47CisgIHN0cnVjdCBDdXJsX2FzbjFFbGVtZW50IGF0djsKKyAgc3RydWN0IEN1cmxfYXNuMUVsZW1lbnQgb2lkOworICBzdHJ1Y3QgQ3VybF9hc24xRWxlbWVudCB2YWx1ZTsKICAgc2l6ZV90IGwgPSAwOwogICBjb25zdCBjaGFyICpwMTsKICAgY29uc3QgY2hhciAqcDI7CkBAIC02ODMsNyArNjgzLDcgQEAKICAqIENvbnZlcnQgYW4gQVNOLjEgZGlzdGluZ3Vpc2hlZCBuYW1lIGludG8gYSBwcmludGFibGUgc3RyaW5nLgogICogUmV0dXJuIHRoZSBkeW5hbWljYWxseSBhbGxvY2F0ZWQgc3RyaW5nLCBvciBOVUxMIGlmIGFuIGVycm9yIG9jY3Vycy4KICAqLwotc3RhdGljIGNvbnN0IGNoYXIgKkROdG9zdHIoY3VybF9hc24xRWxlbWVudCAqZG4pCitzdGF0aWMgY29uc3QgY2hhciAqRE50b3N0cihzdHJ1Y3QgQ3VybF9hc24xRWxlbWVudCAqZG4pCiB7CiAgIGNoYXIgKmJ1ZiA9IE5VTEw7CiAgIHNzaXplX3QgYnVmbGVuID0gZW5jb2RlRE4oTlVMTCwgMCwgZG4pOwpAQCAtNzAzLDExICs3MDMsMTEgQEAKICAqIFN5bnRheCBpcyBhc3N1bWVkIHRvIGhhdmUgYWxyZWFkeSBiZWVuIGNoZWNrZWQgYnkgdGhlIFNTTCBiYWNrZW5kLgogICogU2VlIFJGQyA1MjgwLgogICovCi1pbnQgQ3VybF9wYXJzZVg1MDkoY3VybF9YNTA5Y2VydGlmaWNhdGUgKmNlcnQsCitpbnQgQ3VybF9wYXJzZVg1MDkoc3RydWN0IEN1cmxfWDUwOWNlcnRpZmljYXRlICpjZXJ0LAogICAgICAgICAgICAgICAgICAgIGNvbnN0IGNoYXIgKmJlZywgY29uc3QgY2hhciAqZW5kKQogewotICBjdXJsX2FzbjFFbGVtZW50IGVsZW07Ci0gIGN1cmxfYXNuMUVsZW1lbnQgdGJzQ2VydGlmaWNhdGU7CisgIHN0cnVjdCBDdXJsX2FzbjFFbGVtZW50IGVsZW07CisgIHN0cnVjdCBDdXJsX2FzbjFFbGVtZW50IHRic0NlcnRpZmljYXRlOwogICBjb25zdCBjaGFyICpjY3A7CiAgIHN0YXRpYyBjb25zdCBjaGFyIGRlZmF1bHRWZXJzaW9uID0gMDsgIC8qIHYxLiAqLwogCkBAIC04MzUsMTAgKzgzNSwxMCBAQAogICByZXR1cm4gaTsKIH0KIAotc3RhdGljIGNvbnN0IGNoYXIgKmR1bXBBbGdvKGN1cmxfYXNuMUVsZW1lbnQgKnBhcmFtLAorc3RhdGljIGNvbnN0IGNoYXIgKmR1bXBBbGdvKHN0cnVjdCBDdXJsX2FzbjFFbGVtZW50ICpwYXJhbSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBjaGFyICpiZWcsIGNvbnN0IGNoYXIgKmVuZCkKIHsKLSAgY3VybF9hc24xRWxlbWVudCBvaWQ7CisgIHN0cnVjdCBDdXJsX2FzbjFFbGVtZW50IG9pZDsKIAogICAvKiBHZXQgYWxnb3JpdGhtIHBhcmFtZXRlcnMgYW5kIHJldHVybiBhbGdvcml0aG0gbmFtZS4gKi8KIApAQCAtODU1LDcgKzg1NSw3IEBACiB9CiAKIHN0YXRpYyB2b2lkIGRvX3B1YmtleV9maWVsZChzdHJ1Y3QgQ3VybF9lYXN5ICpkYXRhLCBpbnQgY2VydG51bSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBjaGFyICpsYWJlbCwgY3VybF9hc24xRWxlbWVudCAqZWxlbSkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBjaGFyICpsYWJlbCwgc3RydWN0IEN1cmxfYXNuMUVsZW1lbnQgKmVsZW0pCiB7CiAgIGNvbnN0IGNoYXIgKm91dHB1dDsKIApAQCAtODcyLDExICs4NzIsMTEgQEAKIH0KIAogc3RhdGljIHZvaWQgZG9fcHVia2V5KHN0cnVjdCBDdXJsX2Vhc3kgKmRhdGEsIGludCBjZXJ0bnVtLAotICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGNoYXIgKmFsZ28sIGN1cmxfYXNuMUVsZW1lbnQgKnBhcmFtLAotICAgICAgICAgICAgICAgICAgICAgIGN1cmxfYXNuMUVsZW1lbnQgKnB1YmtleSkKKyAgICAgICAgICAgICAgICAgICAgICBjb25zdCBjaGFyICphbGdvLCBzdHJ1Y3QgQ3VybF9hc24xRWxlbWVudCAqcGFyYW0sCisgICAgICAgICAgICAgICAgICAgICAgc3RydWN0IEN1cmxfYXNuMUVsZW1lbnQgKnB1YmtleSkKIHsKLSAgY3VybF9hc24xRWxlbWVudCBlbGVtOwotICBjdXJsX2FzbjFFbGVtZW50IHBrOworICBzdHJ1Y3QgQ3VybF9hc24xRWxlbWVudCBlbGVtOworICBzdHJ1Y3QgQ3VybF9hc24xRWxlbWVudCBwazsKICAgY29uc3QgY2hhciAqcDsKIAogICAvKiBHZW5lcmF0ZSBhbGwgaW5mb3JtYXRpb24gcmVjb3JkcyBmb3IgdGhlIHB1YmxpYyBrZXkuICovCkBAIC05NTAsOSArOTUwLDkgQEAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBjaGFyICpiZWcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgY2hhciAqZW5kKQogewotICBjdXJsX1g1MDljZXJ0aWZpY2F0ZSBjZXJ0OworICBzdHJ1Y3QgQ3VybF9YNTA5Y2VydGlmaWNhdGUgY2VydDsKICAgc3RydWN0IEN1cmxfZWFzeSAqZGF0YSA9IGNvbm4tPmRhdGE7Ci0gIGN1cmxfYXNuMUVsZW1lbnQgcGFyYW07CisgIHN0cnVjdCBDdXJsX2FzbjFFbGVtZW50IHBhcmFtOwogICBjb25zdCBjaGFyICpjY3A7CiAgIGNoYXIgKmNwMTsKICAgc2l6ZV90IGNsMTsKQEAgLTExMTEsNyArMTExMSw3IEBACiBzdGF0aWMgY29uc3QgY2hhciAqY2hlY2tPSUQoY29uc3QgY2hhciAqYmVnLCBjb25zdCBjaGFyICplbmQsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgY2hhciAqb2lkKQogewotICBjdXJsX2FzbjFFbGVtZW50IGU7CisgIHN0cnVjdCBDdXJsX2FzbjFFbGVtZW50IGU7CiAgIGNvbnN0IGNoYXIgKmNjcDsKICAgY29uc3QgY2hhciAqcDsKICAgYm9vbCBtYXRjaGVkOwpAQCAtMTEzNiwyMiArMTEzNiwyMSBAQAogICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGNoYXIgKmJlZywgY29uc3QgY2hhciAqZW5kKQogewogICBzdHJ1Y3QgQ3VybF9lYXN5ICpkYXRhID0gY29ubi0+ZGF0YTsKLSAgY3VybF9YNTA5Y2VydGlmaWNhdGUgY2VydDsKLSAgY3VybF9hc24xRWxlbWVudCBkbjsKLSAgY3VybF9hc24xRWxlbWVudCBlbGVtOwotICBjdXJsX2FzbjFFbGVtZW50IGV4dDsKLSAgY3VybF9hc24xRWxlbWVudCBuYW1lOworICBzdHJ1Y3QgQ3VybF9YNTA5Y2VydGlmaWNhdGUgY2VydDsKKyAgc3RydWN0IEN1cmxfYXNuMUVsZW1lbnQgZG47CisgIHN0cnVjdCBDdXJsX2FzbjFFbGVtZW50IGVsZW07CisgIHN0cnVjdCBDdXJsX2FzbjFFbGVtZW50IGV4dDsKKyAgc3RydWN0IEN1cmxfYXNuMUVsZW1lbnQgbmFtZTsKICAgY29uc3QgY2hhciAqcDsKICAgY29uc3QgY2hhciAqcTsKICAgY2hhciAqZG5zbmFtZTsKICAgaW50IG1hdGNoZWQgPSAtMTsKICAgc2l6ZV90IGFkZHJsZW4gPSAoc2l6ZV90KSAtMTsKICAgc3NpemVfdCBsZW47Ci0gIGNvbnN0IGNoYXIgKiBjb25zdCBob3N0bmFtZSA9IFNTTF9JU19QUk9YWSgpPyBjb25uLT5odHRwX3Byb3h5Lmhvc3QubmFtZToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbm4tPmhvc3QubmFtZTsKLSAgY29uc3QgY2hhciAqIGNvbnN0IGRpc3BuYW1lID0gU1NMX0lTX1BST1hZKCk/Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29ubi0+aHR0cF9wcm94eS5ob3N0LmRpc3BuYW1lOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbm4tPmhvc3QuZGlzcG5hbWU7CisgIGNvbnN0IGNoYXIgKmNvbnN0IGhvc3RuYW1lID0gU1NMX0lTX1BST1hZKCk/CisgICAgY29ubi0+aHR0cF9wcm94eS5ob3N0Lm5hbWUgOiBjb25uLT5ob3N0Lm5hbWU7CisgIGNvbnN0IGNoYXIgKmNvbnN0IGRpc3BuYW1lID0gU1NMX0lTX1BST1hZKCk/CisgICAgY29ubi0+aHR0cF9wcm94eS5ob3N0LmRpc3BuYW1lIDogY29ubi0+aG9zdC5kaXNwbmFtZTsKICNpZmRlZiBFTkFCTEVfSVBWNgogICBzdHJ1Y3QgaW42X2FkZHIgYWRkcjsKICNlbHNlCmRpZmYgLS1naXQgYS9saWIveDUwOWFzbjEuaCBiL2xpYi94NTA5YXNuMS5oCmluZGV4IDIwNWZkYzAuLjBiN2ZiODggMTAwNjQ0Ci0tLSBhL2xpYi94NTA5YXNuMS5oCisrKyBiL2xpYi94NTA5YXNuMS5oCkBAIC04LDcgKzgsNyBAQAogICogICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAoX198IHxffCB8ICBfIDx8IHxfX18KICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcX19ffFxfX18vfF98IFxfXF9fX19ffAogICoKLSAqIENvcHlyaWdodCAoQykgMTk5OCAtIDIwMTksIERhbmllbCBTdGVuYmVyZywgPGRhbmllbEBoYXh4LnNlPiwgZXQgYWwuCisgKiBDb3B5cmlnaHQgKEMpIDE5OTggLSAyMDIwLCBEYW5pZWwgU3RlbmJlcmcsIDxkYW5pZWxAaGF4eC5zZT4sIGV0IGFsLgogICoKICAqIFRoaXMgc29mdHdhcmUgaXMgbGljZW5zZWQgYXMgZGVzY3JpYmVkIGluIHRoZSBmaWxlIENPUFlJTkcsIHdoaWNoCiAgKiB5b3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYXMgcGFydCBvZiB0aGlzIGRpc3RyaWJ1dGlvbi4gVGhlIHRlcm1zCkBAIC03OSw1MiArNzksNTEgQEAKICAqLwogCiAvKiBBU04uMSBwYXJzZWQgZWxlbWVudC4gKi8KLXR5cGVkZWYgc3RydWN0IHsKLSAgY29uc3QgY2hhciAqICBoZWFkZXI7ICAgICAgICAgLyogUG9pbnRlciB0byBoZWFkZXIgYnl0ZS4gKi8KLSAgY29uc3QgY2hhciAqICBiZWc7ICAgICAgICAgICAgLyogUG9pbnRlciB0byBlbGVtZW50IGRhdGEuICovCi0gIGNvbnN0IGNoYXIgKiAgZW5kOyAgICAgICAgICAgIC8qIFBvaW50ZXIgdG8gMXN0IGJ5dGUgYWZ0ZXIgZWxlbWVudC4gKi8KLSAgdW5zaWduZWQgY2hhciBjbGFzczsgICAgICAgICAgLyogQVNOLjEgZWxlbWVudCBjbGFzcy4gKi8KLSAgdW5zaWduZWQgY2hhciB0YWc7ICAgICAgICAgICAgLyogQVNOLjEgZWxlbWVudCB0YWcuICovCi0gIGJvb2wgICAgICAgICAgY29uc3RydWN0ZWQ7ICAgIC8qIEVsZW1lbnQgaXMgY29uc3RydWN0ZWQuICovCi19ICBjdXJsX2FzbjFFbGVtZW50Oworc3RydWN0IEN1cmxfYXNuMUVsZW1lbnQgeworICBjb25zdCBjaGFyICpoZWFkZXI7ICAgICAgICAgLyogUG9pbnRlciB0byBoZWFkZXIgYnl0ZS4gKi8KKyAgY29uc3QgY2hhciAqYmVnOyAgICAgICAgICAgIC8qIFBvaW50ZXIgdG8gZWxlbWVudCBkYXRhLiAqLworICBjb25zdCBjaGFyICplbmQ7ICAgICAgICAgICAgLyogUG9pbnRlciB0byAxc3QgYnl0ZSBhZnRlciBlbGVtZW50LiAqLworICB1bnNpZ25lZCBjaGFyIGNsYXNzOyAgICAgICAgLyogQVNOLjEgZWxlbWVudCBjbGFzcy4gKi8KKyAgdW5zaWduZWQgY2hhciB0YWc7ICAgICAgICAgIC8qIEFTTi4xIGVsZW1lbnQgdGFnLiAqLworICBib29sICAgICAgICAgIGNvbnN0cnVjdGVkOyAgLyogRWxlbWVudCBpcyBjb25zdHJ1Y3RlZC4gKi8KK307CiAKIAogLyogQVNOLjEgT0lEIHRhYmxlIGVudHJ5LiAqLwotdHlwZWRlZiBzdHJ1Y3QgewotICBjb25zdCBjaGFyICogIG51bW9pZDsgICAgICAgICAvKiBEb3R0ZWQtbnVtZXJpYyBPSUQuICovCi0gIGNvbnN0IGNoYXIgKiAgdGV4dG9pZDsgICAgICAgIC8qIE9JRCBuYW1lLiAqLwotfSAgY3VybF9PSUQ7CitzdHJ1Y3QgQ3VybF9PSUQgeworICBjb25zdCBjaGFyICpudW1vaWQ7ICAvKiBEb3R0ZWQtbnVtZXJpYyBPSUQuICovCisgIGNvbnN0IGNoYXIgKnRleHRvaWQ7IC8qIE9JRCBuYW1lLiAqLworfTsKIAogCiAvKiBYNTA5IGNlcnRpZmljYXRlOiBSRkMgNTI4MC4gKi8KLXR5cGVkZWYgc3RydWN0IHsKLSAgY3VybF9hc24xRWxlbWVudCAgICAgIGNlcnRpZmljYXRlOwotICBjdXJsX2FzbjFFbGVtZW50ICAgICAgdmVyc2lvbjsKLSAgY3VybF9hc24xRWxlbWVudCAgICAgIHNlcmlhbE51bWJlcjsKLSAgY3VybF9hc24xRWxlbWVudCAgICAgIHNpZ25hdHVyZUFsZ29yaXRobTsKLSAgY3VybF9hc24xRWxlbWVudCAgICAgIHNpZ25hdHVyZTsKLSAgY3VybF9hc24xRWxlbWVudCAgICAgIGlzc3VlcjsKLSAgY3VybF9hc24xRWxlbWVudCAgICAgIG5vdEJlZm9yZTsKLSAgY3VybF9hc24xRWxlbWVudCAgICAgIG5vdEFmdGVyOwotICBjdXJsX2FzbjFFbGVtZW50ICAgICAgc3ViamVjdDsKLSAgY3VybF9hc24xRWxlbWVudCAgICAgIHN1YmplY3RQdWJsaWNLZXlJbmZvOwotICBjdXJsX2FzbjFFbGVtZW50ICAgICAgc3ViamVjdFB1YmxpY0tleUFsZ29yaXRobTsKLSAgY3VybF9hc24xRWxlbWVudCAgICAgIHN1YmplY3RQdWJsaWNLZXk7Ci0gIGN1cmxfYXNuMUVsZW1lbnQgICAgICBpc3N1ZXJVbmlxdWVJRDsKLSAgY3VybF9hc24xRWxlbWVudCAgICAgIHN1YmplY3RVbmlxdWVJRDsKLSAgY3VybF9hc24xRWxlbWVudCAgICAgIGV4dGVuc2lvbnM7Ci19ICBjdXJsX1g1MDljZXJ0aWZpY2F0ZTsKLQorc3RydWN0IEN1cmxfWDUwOWNlcnRpZmljYXRlIHsKKyAgc3RydWN0IEN1cmxfYXNuMUVsZW1lbnQgY2VydGlmaWNhdGU7CisgIHN0cnVjdCBDdXJsX2FzbjFFbGVtZW50IHZlcnNpb247CisgIHN0cnVjdCBDdXJsX2FzbjFFbGVtZW50IHNlcmlhbE51bWJlcjsKKyAgc3RydWN0IEN1cmxfYXNuMUVsZW1lbnQgc2lnbmF0dXJlQWxnb3JpdGhtOworICBzdHJ1Y3QgQ3VybF9hc24xRWxlbWVudCBzaWduYXR1cmU7CisgIHN0cnVjdCBDdXJsX2FzbjFFbGVtZW50IGlzc3VlcjsKKyAgc3RydWN0IEN1cmxfYXNuMUVsZW1lbnQgbm90QmVmb3JlOworICBzdHJ1Y3QgQ3VybF9hc24xRWxlbWVudCBub3RBZnRlcjsKKyAgc3RydWN0IEN1cmxfYXNuMUVsZW1lbnQgc3ViamVjdDsKKyAgc3RydWN0IEN1cmxfYXNuMUVsZW1lbnQgc3ViamVjdFB1YmxpY0tleUluZm87CisgIHN0cnVjdCBDdXJsX2FzbjFFbGVtZW50IHN1YmplY3RQdWJsaWNLZXlBbGdvcml0aG07CisgIHN0cnVjdCBDdXJsX2FzbjFFbGVtZW50IHN1YmplY3RQdWJsaWNLZXk7CisgIHN0cnVjdCBDdXJsX2FzbjFFbGVtZW50IGlzc3VlclVuaXF1ZUlEOworICBzdHJ1Y3QgQ3VybF9hc24xRWxlbWVudCBzdWJqZWN0VW5pcXVlSUQ7CisgIHN0cnVjdCBDdXJsX2FzbjFFbGVtZW50IGV4dGVuc2lvbnM7Cit9OwogCiAvKgogICogUHJvdG90eXBlcy4KICAqLwogCi1jb25zdCBjaGFyICpDdXJsX2dldEFTTjFFbGVtZW50KGN1cmxfYXNuMUVsZW1lbnQgKmVsZW0sCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBjaGFyICpiZWcsIGNvbnN0IGNoYXIgKmVuZCk7Ci1jb25zdCBjaGFyICpDdXJsX0FTTjF0b3N0cihjdXJsX2FzbjFFbGVtZW50ICplbGVtLCBpbnQgdHlwZSk7Ci1jb25zdCBjaGFyICpDdXJsX0ROdG9zdHIoY3VybF9hc24xRWxlbWVudCAqZG4pOwotaW50IEN1cmxfcGFyc2VYNTA5KGN1cmxfWDUwOWNlcnRpZmljYXRlICpjZXJ0LAorY29uc3QgY2hhciAqQ3VybF9nZXRBU04xRWxlbWVudChzdHJ1Y3QgQ3VybF9hc24xRWxlbWVudCAqZWxlbSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgY2hhciAqYmVnLCBjb25zdCBjaGFyICplbmQpOworY29uc3QgY2hhciAqQ3VybF9BU04xdG9zdHIoc3RydWN0IEN1cmxfYXNuMUVsZW1lbnQgKmVsZW0sIGludCB0eXBlKTsKK2NvbnN0IGNoYXIgKkN1cmxfRE50b3N0cihzdHJ1Y3QgQ3VybF9hc24xRWxlbWVudCAqZG4pOworaW50IEN1cmxfcGFyc2VYNTA5KHN0cnVjdCBDdXJsX1g1MDljZXJ0aWZpY2F0ZSAqY2VydCwKICAgICAgICAgICAgICAgICAgICBjb25zdCBjaGFyICpiZWcsIGNvbnN0IGNoYXIgKmVuZCk7CiBDVVJMY29kZSBDdXJsX2V4dHJhY3RfY2VydGluZm8oc3RydWN0IGNvbm5lY3RkYXRhICpjb25uLCBpbnQgY2VydG51bSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBjaGFyICpiZWcsIGNvbnN0IGNoYXIgKmVuZCk7CmRpZmYgLS1naXQgYS9saWJjdXJsLnBjLmluIGIvbGliY3VybC5wYy5pbgppbmRleCBhYmMxMmJiLi5mZDFjZTIyIDEwMDY0NAotLS0gYS9saWJjdXJsLnBjLmluCisrKyBiL2xpYmN1cmwucGMuaW4KQEAgLTM0LDYgKzM0LDYgQEAKIFVSTDogaHR0cHM6Ly9jdXJsLmhheHguc2UvCiBEZXNjcmlwdGlvbjogTGlicmFyeSB0byB0cmFuc2ZlciBmaWxlcyB3aXRoIGZ0cCwgaHR0cCwgZXRjLgogVmVyc2lvbjogQENVUkxWRVJTSU9OQAotTGliczogLUwke2xpYmRpcn0gLWxjdXJsCitMaWJzOiAtTCR7bGliZGlyfSAtbGN1cmwgQExJQkNVUkxfTk9fU0hBUkVEQAogTGlicy5wcml2YXRlOiBATElCQ1VSTF9MSUJTQAogQ2ZsYWdzOiAtSSR7aW5jbHVkZWRpcn0gQENQUEZMQUdfQ1VSTF9TVEFUSUNMSUJACmRpZmYgLS1naXQgYS9sb2NhbC1jb25maWd1cmUucGF0Y2ggYi9sb2NhbC1jb25maWd1cmUucGF0Y2gKaW5kZXggODA4NmUxMy4uMDQ0ZjQxMSAxMDA2NDQKLS0tIGEvbG9jYWwtY29uZmlndXJlLnBhdGNoCisrKyBiL2xvY2FsLWNvbmZpZ3VyZS5wYXRjaApAQCAtMjAsNyArMjAsNyBAQAogIAogIC8qIERlZmluZSB0byAxIGlmIHlvdSBoYXZlIHRoZSA8b3BlbnNzbC9zc2wuaD4gaGVhZGVyIGZpbGUuICovCiAgI2RlZmluZSBIQVZFX09QRU5TU0xfU1NMX0ggMQotQEAgLTgzOCw5ICs4MzgsNiBAQAorQEAgLTg0Nyw5ICs4NDcsNiBAQAogIC8qIERlZmluZSBhYnNvbHV0ZSBmaWxlbmFtZSBmb3Igd2luYmluZCdzIG50bG1fYXV0aCBoZWxwZXIuICovCiAgLyogI3VuZGVmIE5UTE1fV0JfRklMRSAqLwogIApAQCAtMzAsNyArMzAsNyBAQAogIC8qIE5hbWUgb2YgcGFja2FnZSAqLwogICNkZWZpbmUgUEFDS0FHRSAiY3VybCIKICAKLUBAIC04OTYsNyArODkzLDcgQEAKK0BAIC05MDUsNyArOTAyLDcgQEAKICAjZGVmaW5lIFNFTEVDVF9UWVBFX0FSRzUgc3RydWN0IHRpbWV2YWwgKgogIAogIC8qIERlZmluZSB0byB0aGUgZnVuY3Rpb24gcmV0dXJuIHR5cGUgZm9yIHNlbGVjdC4gKi8KQEAgLTM5LDcgKzM5LDcgQEAKICAKICAvKiBEZWZpbmUgdG8gdGhlIHR5cGUgcXVhbGlmaWVyIG9mIGFyZyAyIGZvciBzZW5kLiAqLwogICNkZWZpbmUgU0VORF9RVUFMX0FSRzIgY29uc3QKLUBAIC05MjIsMjQgKzkxOSw5IEBACitAQCAtOTMxLDI0ICs5MjgsOSBAQAogIC8qIFRoZSBudW1iZXIgb2YgYnl0ZXMgaW4gdHlwZSBpbnQgKi8KICAjZGVmaW5lIFNJWkVPRl9JTlQgNAogIApAQCAtNjQsNyArNjQsNyBAQAogIC8qIERlZmluZSB0byAxIGlmIHlvdSBoYXZlIHRoZSBBTlNJIEMgaGVhZGVyIGZpbGVzLiAqLwogICNkZWZpbmUgU1REQ19IRUFERVJTIDEKICAKLUBAIC0xMDM0LDcgKzEwMTYsNyBAQAorQEAgLTEwNDMsNyArMTAyNSw3IEBACiAgLyogI3VuZGVmIFVTRV9USFJFQURTX1dJTjMyICovCiAgCiAgLyogVXNlIFRMUy1TUlAgYXV0aGVudGljYXRpb24gKi8KQEAgLTczLDcgKzczLDcgQEAKICAKICAvKiBVc2UgVW5peCBkb21haW4gc29ja2V0cyAqLwogICNkZWZpbmUgVVNFX1VOSVhfU09DS0VUUyAxCi1AQCAtMTA3OSw3ICsxMDYxLDcgQEAKK0BAIC0xMDg4LDcgKzEwNzAsNyBAQAogICNlbmRpZgogIAogIC8qIE51bWJlciBvZiBiaXRzIGluIGEgZmlsZSBvZmZzZXQsIG9uIGhvc3RzIHdoZXJlIHRoaXMgaXMgc2V0dGFibGUuICovCmRpZmYgLS1naXQgYS9taXNzaW5nIGIvbWlzc2luZwppbmRleCA4ZDBlYWFkLi42MjVhZWIxIDEwMDc1NQotLS0gYS9taXNzaW5nCisrKyBiL21pc3NpbmcKQEAgLTMsNyArMyw3IEBACiAKIHNjcmlwdHZlcnNpb249MjAxOC0wMy0wNy4wMzsgIyBVVEMKIAotIyBDb3B5cmlnaHQgKEMpIDE5OTYtMjAyMCBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4KKyMgQ29weXJpZ2h0IChDKSAxOTk2LTIwMTggRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuCiAjIE9yaWdpbmFsbHkgd3JpdHRlbiBieSBGcmFuLGNvaXMgUGluYXJkIDxwaW5hcmRAaXJvLnVtb250cmVhbC5jYT4sIDE5OTYuCiAKICMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKZGlmZiAtLWdpdCBhL3BhY2thZ2VzL09TNDAwL21ha2VmaWxlLnNoIGIvcGFja2FnZXMvT1M0MDAvbWFrZWZpbGUuc2gKaW5kZXggM2ZmMTUxMi4uMjliYTUwNiAxMDA2NDQKLS0tIGEvcGFja2FnZXMvT1M0MDAvbWFrZWZpbGUuc2gKKysrIGIvcGFja2FnZXMvT1M0MDAvbWFrZWZpbGUuc2gKQEAgLTUzLDcgKzUzLDcgQEAKIGZvciBURVhUIGluICIke1RPUERJUn0vQ09QWUlORyIgIiR7U0NSSVBURElSfS9SRUFETUUuT1M0MDAiICAgICAgICAgICAgIFwKICAgICAiJHtUT1BESVJ9L0NIQU5HRVMiICIke1RPUERJUn0vZG9jcy9USEFOS1MiICIke1RPUERJUn0vZG9jcy9GQVEiICAgIFwKICAgICAiJHtUT1BESVJ9L2RvY3MvRkVBVFVSRVMiICIke1RPUERJUn0vZG9jcy9TU0xDRVJUUy5tZCIgICAgICAgICAgICAgIFwKLSAgICAiJHtUT1BESVJ9L2RvY3MvUkVTT1VSQ0VTIiAiJHtUT1BESVJ9L2RvY3MvVkVSU0lPTlMiICAgICAgICAgICAgICAgIFwKKyAgICAiJHtUT1BESVJ9L2RvY3MvUkVTT1VSQ0VTIiAiJHtUT1BESVJ9L2RvY3MvVkVSU0lPTlMubWQiICAgICAgICAgICAgIFwKICAgICAiJHtUT1BESVJ9L2RvY3MvSElTVE9SWS5tZCIKIGRvICAgICAgTUVNQkVSPSJgYmFzZW5hbWUgXCIke1RFWFR9XCIgLk9TNDAwYCIKICAgICAgICAgTUVNQkVSPSJgYmFzZW5hbWUgXCIke01FTUJFUn1cIiAubWRgIgpkaWZmIC0tZ2l0IGEvcGFja2FnZXMvdm1zL2J1aWxkX3Ztcy5jb20gYi9wYWNrYWdlcy92bXMvYnVpbGRfdm1zLmNvbQppbmRleCBlMjFlNTdjLi4xYjAyMzY0IDEwMDY0NAotLS0gYS9wYWNrYWdlcy92bXMvYnVpbGRfdm1zLmNvbQorKysgYi9wYWNrYWdlcy92bXMvYnVpbGRfdm1zLmNvbQpAQCAtMTMzLDcgKzEzMyw3IEBACiAkISAgICAgICAgICAgICAgICAgICBSZXBsYWNlZCBjdXJsX3N5c19pbmMgd2l0aCBzeXNfaW5jLgogJCEgMTktTWFyLTIwMTMsIEpvaG4gTWFsbWJlcmcKICQhICAgICAgICAgICAgICAgICAgIHN5bWJvbCB0b29sX21haW4gbmVlZHMgdG8gYmUgcXVvdGVkIHdoZW4gcGFyc2Ugc3R5bGUgaXMKLSQhICAgICAgICAgICAgICAgICAgIHNldCB0byBleGVuZGVkIGluIHZlcnNpb25zIG9mIFZNUyBncmVhdGVyIHRoYW4gNy4zLTEuCiskISAgICAgICAgICAgICAgICAgICBzZXQgdG8gZXh0ZW5kZWQgaW4gdmVyc2lvbnMgb2YgVk1TIGdyZWF0ZXIgdGhhbiA3LjMtMS4KICQhICAgICAgICAgICAgICAgICAgIFJlbW92ZSBjdXJsYnVpbGQuaCBnZW5lcmF0aW9uIGFzIGl0IHNob3VsZCBiZSBwcmUtYnVpbHQKICQhICAgICAgICAgICAgICAgICAgIGluIHRoZSBjdXJsIHJlbGVhc2Ugb3IgZGFpbHkgdGFyYmFsbC4KICQhIDEyLUp1bC0yMDEzLCBKb2huIE1hbG1iZXJnCmRpZmYgLS1naXQgYS9wcm9qZWN0cy9XaW5kb3dzL1ZDMTAvbGliL2xpYmN1cmwudmN4cHJvaiBiL3Byb2plY3RzL1dpbmRvd3MvVkMxMC9saWIvbGliY3VybC52Y3hwcm9qCmluZGV4IGEyYjhjNGUuLjc3NWU4MDMgMTAwNjQ0Ci0tLSBhL3Byb2plY3RzL1dpbmRvd3MvVkMxMC9saWIvbGliY3VybC52Y3hwcm9qCisrKyBiL3Byb2plY3RzL1dpbmRvd3MvVkMxMC9saWIvbGliY3VybC52Y3hwcm9qCkBAIC0xMzEwLDcgKzEzMTAsNyBAQAogICAgICAgPEN1bHR1cmU+MHgwNDA5PC9DdWx0dXJlPg0KICAgICA8L1Jlc291cmNlQ29tcGlsZT4NCiAgICAgPExpbms+DQotICAgICAgPEFkZGl0aW9uYWxEZXBlbmRlbmNpZXM+d3MyXzMyLmxpYjt3bGRhcDMyLmxpYjtsaWJlYXkzMi5saWI7c3NsZWF5MzIubGliOyUoQWRkaXRpb25hbERlcGVuZGVuY2llcyk8L0FkZGl0aW9uYWxEZXBlbmRlbmNpZXM+DQorICAgICAgPEFkZGl0aW9uYWxEZXBlbmRlbmNpZXM+Y3J5cHQzMi5saWI7d3MyXzMyLmxpYjt3bGRhcDMyLmxpYjtsaWJlYXkzMi5saWI7c3NsZWF5MzIubGliOyUoQWRkaXRpb25hbERlcGVuZGVuY2llcyk8L0FkZGl0aW9uYWxEZXBlbmRlbmNpZXM+DQogICAgICAgPE91dHB1dEZpbGU+JChPdXREaXIpJChUYXJnZXROYW1lKSQoVGFyZ2V0RXh0KTwvT3V0cHV0RmlsZT4NCiAgICAgICA8QWRkaXRpb25hbExpYnJhcnlEaXJlY3Rvcmllcz4uLlwuLlwuLlwuLlwuLlxvcGVuc3NsXGJ1aWxkXFdpbjMyXFZDMTBcRExMIERlYnVnOyUoQWRkaXRpb25hbExpYnJhcnlEaXJlY3Rvcmllcyk8L0FkZGl0aW9uYWxMaWJyYXJ5RGlyZWN0b3JpZXM+DQogICAgICAgPE1hbmlmZXN0RmlsZT4kKEludERpcikkKFRhcmdldEZpbGVOYW1lKS5pbnRlcm1lZGlhdGUubWFuaWZlc3Q8L01hbmlmZXN0RmlsZT4NCkBAIC0xMzQ0LDcgKzEzNDQsNyBAQAogICAgICAgPEN1bHR1cmU+MHgwNDA5PC9DdWx0dXJlPg0KICAgICA8L1Jlc291cmNlQ29tcGlsZT4NCiAgICAgPExpbms+DQotICAgICAgPEFkZGl0aW9uYWxEZXBlbmRlbmNpZXM+d3MyXzMyLmxpYjt3bGRhcDMyLmxpYjtsaWJlYXkzMi5saWI7c3NsZWF5MzIubGliOyUoQWRkaXRpb25hbERlcGVuZGVuY2llcyk8L0FkZGl0aW9uYWxEZXBlbmRlbmNpZXM+DQorICAgICAgPEFkZGl0aW9uYWxEZXBlbmRlbmNpZXM+Y3J5cHQzMi5saWI7d3MyXzMyLmxpYjt3bGRhcDMyLmxpYjtsaWJlYXkzMi5saWI7c3NsZWF5MzIubGliOyUoQWRkaXRpb25hbERlcGVuZGVuY2llcyk8L0FkZGl0aW9uYWxEZXBlbmRlbmNpZXM+DQogICAgICAgPE91dHB1dEZpbGU+JChPdXREaXIpJChUYXJnZXROYW1lKSQoVGFyZ2V0RXh0KTwvT3V0cHV0RmlsZT4NCiAgICAgICA8QWRkaXRpb25hbExpYnJhcnlEaXJlY3Rvcmllcz4uLlwuLlwuLlwuLlwuLlxvcGVuc3NsXGJ1aWxkXFdpbjY0XFZDMTBcRExMIERlYnVnOyUoQWRkaXRpb25hbExpYnJhcnlEaXJlY3Rvcmllcyk8L0FkZGl0aW9uYWxMaWJyYXJ5RGlyZWN0b3JpZXM+DQogICAgICAgPEdlbmVyYXRlRGVidWdJbmZvcm1hdGlvbj50cnVlPC9HZW5lcmF0ZURlYnVnSW5mb3JtYXRpb24+DQpAQCAtMTM3Nyw3ICsxMzc3LDcgQEAKICAgICAgIDxDdWx0dXJlPjB4MDQwOTwvQ3VsdHVyZT4NCiAgICAgPC9SZXNvdXJjZUNvbXBpbGU+DQogICAgIDxMaW5rPg0KLSAgICAgIDxBZGRpdGlvbmFsRGVwZW5kZW5jaWVzPndzMl8zMi5saWI7d2xkYXAzMi5saWI7bGliZWF5MzIubGliO3NzbGVheTMyLmxpYjslKEFkZGl0aW9uYWxEZXBlbmRlbmNpZXMpPC9BZGRpdGlvbmFsRGVwZW5kZW5jaWVzPg0KKyAgICAgIDxBZGRpdGlvbmFsRGVwZW5kZW5jaWVzPmNyeXB0MzIubGliO3dzMl8zMi5saWI7d2xkYXAzMi5saWI7bGliZWF5MzIubGliO3NzbGVheTMyLmxpYjslKEFkZGl0aW9uYWxEZXBlbmRlbmNpZXMpPC9BZGRpdGlvbmFsRGVwZW5kZW5jaWVzPg0KICAgICAgIDxPdXRwdXRGaWxlPiQoT3V0RGlyKSQoVGFyZ2V0TmFtZSkkKFRhcmdldEV4dCk8L091dHB1dEZpbGU+DQogICAgICAgPEFkZGl0aW9uYWxMaWJyYXJ5RGlyZWN0b3JpZXM+Li5cLi5cLi5cLi5cLi5cb3BlbnNzbFxidWlsZFxXaW4zMlxWQzEwXERMTCBSZWxlYXNlOyUoQWRkaXRpb25hbExpYnJhcnlEaXJlY3Rvcmllcyk8L0FkZGl0aW9uYWxMaWJyYXJ5RGlyZWN0b3JpZXM+DQogICAgICAgPE1hbmlmZXN0RmlsZT4kKEludERpcikkKFRhcmdldEZpbGVOYW1lKS5pbnRlcm1lZGlhdGUubWFuaWZlc3Q8L01hbmlmZXN0RmlsZT4NCkBAIC0xNDA5LDcgKzE0MDksNyBAQAogICAgICAgPEN1bHR1cmU+MHgwNDA5PC9DdWx0dXJlPg0KICAgICA8L1Jlc291cmNlQ29tcGlsZT4NCiAgICAgPExpbms+DQotICAgICAgPEFkZGl0aW9uYWxEZXBlbmRlbmNpZXM+d3MyXzMyLmxpYjt3bGRhcDMyLmxpYjtsaWJlYXkzMi5saWI7c3NsZWF5MzIubGliOyUoQWRkaXRpb25hbERlcGVuZGVuY2llcyk8L0FkZGl0aW9uYWxEZXBlbmRlbmNpZXM+DQorICAgICAgPEFkZGl0aW9uYWxEZXBlbmRlbmNpZXM+Y3J5cHQzMi5saWI7d3MyXzMyLmxpYjt3bGRhcDMyLmxpYjtsaWJlYXkzMi5saWI7c3NsZWF5MzIubGliOyUoQWRkaXRpb25hbERlcGVuZGVuY2llcyk8L0FkZGl0aW9uYWxEZXBlbmRlbmNpZXM+DQogICAgICAgPE91dHB1dEZpbGU+JChPdXREaXIpJChUYXJnZXROYW1lKSQoVGFyZ2V0RXh0KTwvT3V0cHV0RmlsZT4NCiAgICAgICA8QWRkaXRpb25hbExpYnJhcnlEaXJlY3Rvcmllcz4uLlwuLlwuLlwuLlwuLlxvcGVuc3NsXGJ1aWxkXFdpbjY0XFZDMTBcRExMIFJlbGVhc2U7JShBZGRpdGlvbmFsTGlicmFyeURpcmVjdG9yaWVzKTwvQWRkaXRpb25hbExpYnJhcnlEaXJlY3Rvcmllcz4NCiAgICAgICA8SW1wb3J0TGlicmFyeT4kKFRhcmdldERpcikkKFRhcmdldE5hbWUpLmxpYjwvSW1wb3J0TGlicmFyeT4NCkBAIC0xNzAwLDcgKzE3MDAsNyBAQAogICAgICAgPEN1bHR1cmU+MHgwNDA5PC9DdWx0dXJlPg0KICAgICA8L1Jlc291cmNlQ29tcGlsZT4NCiAgICAgPExpbms+DQotICAgICAgPEFkZGl0aW9uYWxEZXBlbmRlbmNpZXM+d3MyXzMyLmxpYjt3bGRhcDMyLmxpYjtsaWJlYXkzMi5saWI7c3NsZWF5MzIubGliO2xpYnNzaDJkLmxpYjslKEFkZGl0aW9uYWxEZXBlbmRlbmNpZXMpPC9BZGRpdGlvbmFsRGVwZW5kZW5jaWVzPg0KKyAgICAgIDxBZGRpdGlvbmFsRGVwZW5kZW5jaWVzPmNyeXB0MzIubGliO3dzMl8zMi5saWI7d2xkYXAzMi5saWI7bGliZWF5MzIubGliO3NzbGVheTMyLmxpYjtsaWJzc2gyZC5saWI7JShBZGRpdGlvbmFsRGVwZW5kZW5jaWVzKTwvQWRkaXRpb25hbERlcGVuZGVuY2llcz4NCiAgICAgICA8T3V0cHV0RmlsZT4kKE91dERpcikkKFRhcmdldE5hbWUpJChUYXJnZXRFeHQpPC9PdXRwdXRGaWxlPg0KICAgICAgIDxBZGRpdGlvbmFsTGlicmFyeURpcmVjdG9yaWVzPi4uXC4uXC4uXC4uXC4uXG9wZW5zc2xcYnVpbGRcV2luMzJcVkMxMFxETEwgRGVidWc7Li5cLi5cLi5cLi5cLi5cbGlic3NoMlxidWlsZFxXaW4zMlxWQzEwXERMTCBEZWJ1ZzslKEFkZGl0aW9uYWxMaWJyYXJ5RGlyZWN0b3JpZXMpPC9BZGRpdGlvbmFsTGlicmFyeURpcmVjdG9yaWVzPg0KICAgICAgIDxNYW5pZmVzdEZpbGU+JChJbnREaXIpJChUYXJnZXRGaWxlTmFtZSkuaW50ZXJtZWRpYXRlLm1hbmlmZXN0PC9NYW5pZmVzdEZpbGU+DQpAQCAtMTczNCw3ICsxNzM0LDcgQEAKICAgICAgIDxDdWx0dXJlPjB4MDQwOTwvQ3VsdHVyZT4NCiAgICAgPC9SZXNvdXJjZUNvbXBpbGU+DQogICAgIDxMaW5rPg0KLSAgICAgIDxBZGRpdGlvbmFsRGVwZW5kZW5jaWVzPndzMl8zMi5saWI7d2xkYXAzMi5saWI7bGliZWF5MzIubGliO3NzbGVheTMyLmxpYjtsaWJzc2gyZC5saWI7JShBZGRpdGlvbmFsRGVwZW5kZW5jaWVzKTwvQWRkaXRpb25hbERlcGVuZGVuY2llcz4NCisgICAgICA8QWRkaXRpb25hbERlcGVuZGVuY2llcz5jcnlwdDMyLmxpYjt3czJfMzIubGliO3dsZGFwMzIubGliO2xpYmVheTMyLmxpYjtzc2xlYXkzMi5saWI7bGlic3NoMmQubGliOyUoQWRkaXRpb25hbERlcGVuZGVuY2llcyk8L0FkZGl0aW9uYWxEZXBlbmRlbmNpZXM+DQogICAgICAgPE91dHB1dEZpbGU+JChPdXREaXIpJChUYXJnZXROYW1lKSQoVGFyZ2V0RXh0KTwvT3V0cHV0RmlsZT4NCiAgICAgICA8QWRkaXRpb25hbExpYnJhcnlEaXJlY3Rvcmllcz4uLlwuLlwuLlwuLlwuLlxvcGVuc3NsXGJ1aWxkXFdpbjY0XFZDMTBcRExMIERlYnVnOy4uXC4uXC4uXC4uXC4uXGxpYnNzaDJcYnVpbGRcV2luNjRcVkMxMFxETEwgRGVidWc7JShBZGRpdGlvbmFsTGlicmFyeURpcmVjdG9yaWVzKTwvQWRkaXRpb25hbExpYnJhcnlEaXJlY3Rvcmllcz4NCiAgICAgICA8R2VuZXJhdGVEZWJ1Z0luZm9ybWF0aW9uPnRydWU8L0dlbmVyYXRlRGVidWdJbmZvcm1hdGlvbj4NCkBAIC0xNzY3LDcgKzE3NjcsNyBAQAogICAgICAgPEN1bHR1cmU+MHgwNDA5PC9DdWx0dXJlPg0KICAgICA8L1Jlc291cmNlQ29tcGlsZT4NCiAgICAgPExpbms+DQotICAgICAgPEFkZGl0aW9uYWxEZXBlbmRlbmNpZXM+d3MyXzMyLmxpYjt3bGRhcDMyLmxpYjtsaWJlYXkzMi5saWI7c3NsZWF5MzIubGliO2xpYnNzaDIubGliOyUoQWRkaXRpb25hbERlcGVuZGVuY2llcyk8L0FkZGl0aW9uYWxEZXBlbmRlbmNpZXM+DQorICAgICAgPEFkZGl0aW9uYWxEZXBlbmRlbmNpZXM+Y3J5cHQzMi5saWI7d3MyXzMyLmxpYjt3bGRhcDMyLmxpYjtsaWJlYXkzMi5saWI7c3NsZWF5MzIubGliO2xpYnNzaDIubGliOyUoQWRkaXRpb25hbERlcGVuZGVuY2llcyk8L0FkZGl0aW9uYWxEZXBlbmRlbmNpZXM+DQogICAgICAgPE91dHB1dEZpbGU+JChPdXREaXIpJChUYXJnZXROYW1lKSQoVGFyZ2V0RXh0KTwvT3V0cHV0RmlsZT4NCiAgICAgICA8QWRkaXRpb25hbExpYnJhcnlEaXJlY3Rvcmllcz4uLlwuLlwuLlwuLlwuLlxvcGVuc3NsXGJ1aWxkXFdpbjMyXFZDMTBcRExMIFJlbGVhc2U7Li5cLi5cLi5cLi5cLi5cbGlic3NoMlxidWlsZFxXaW4zMlxWQzEwXERMTCBSZWxlYXNlOyUoQWRkaXRpb25hbExpYnJhcnlEaXJlY3Rvcmllcyk8L0FkZGl0aW9uYWxMaWJyYXJ5RGlyZWN0b3JpZXM+DQogICAgICAgPE1hbmlmZXN0RmlsZT4kKEludERpcikkKFRhcmdldEZpbGVOYW1lKS5pbnRlcm1lZGlhdGUubWFuaWZlc3Q8L01hbmlmZXN0RmlsZT4NCkBAIC0xNzk5LDcgKzE3OTksNyBAQAogICAgICAgPEN1bHR1cmU+MHgwNDA5PC9DdWx0dXJlPg0KICAgICA8L1Jlc291cmNlQ29tcGlsZT4NCiAgICAgPExpbms+DQotICAgICAgPEFkZGl0aW9uYWxEZXBlbmRlbmNpZXM+d3MyXzMyLmxpYjt3bGRhcDMyLmxpYjtsaWJlYXkzMi5saWI7c3NsZWF5MzIubGliO2xpYnNzaDIubGliOyUoQWRkaXRpb25hbERlcGVuZGVuY2llcyk8L0FkZGl0aW9uYWxEZXBlbmRlbmNpZXM+DQorICAgICAgPEFkZGl0aW9uYWxEZXBlbmRlbmNpZXM+Y3J5cHQzMi5saWI7d3MyXzMyLmxpYjt3bGRhcDMyLmxpYjtsaWJlYXkzMi5saWI7c3NsZWF5MzIubGliO2xpYnNzaDIubGliOyUoQWRkaXRpb25hbERlcGVuZGVuY2llcyk8L0FkZGl0aW9uYWxEZXBlbmRlbmNpZXM+DQogICAgICAgPE91dHB1dEZpbGU+JChPdXREaXIpJChUYXJnZXROYW1lKSQoVGFyZ2V0RXh0KTwvT3V0cHV0RmlsZT4NCiAgICAgICA8QWRkaXRpb25hbExpYnJhcnlEaXJlY3Rvcmllcz4uLlwuLlwuLlwuLlwuLlxvcGVuc3NsXGJ1aWxkXFdpbjY0XFZDMTBcRExMIFJlbGVhc2U7Li5cLi5cLi5cLi5cLi5cbGlic3NoMlxidWlsZFxXaW42NFxWQzEwXERMTCBSZWxlYXNlOyUoQWRkaXRpb25hbExpYnJhcnlEaXJlY3Rvcmllcyk8L0FkZGl0aW9uYWxMaWJyYXJ5RGlyZWN0b3JpZXM+DQogICAgICAgPEltcG9ydExpYnJhcnk+JChUYXJnZXREaXIpJChUYXJnZXROYW1lKS5saWI8L0ltcG9ydExpYnJhcnk+DQpAQCAtMjM1Myw2ICsyMzUzLDcgQEAKICAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXC4uXC4uXC4uXGxpYlxkaWN0LmMiIC8+DQogICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5cLi5cLi5cLi5cbGliXGRvaC5jIiAvPg0KICAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXC4uXC4uXC4uXGxpYlxkb3Rkb3QuYyIgLz4NCisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlwuLlwuLlwuLlxsaWJcZHluYnVmLmMiIC8+DQogICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5cLi5cLi5cLi5cbGliXGVhc3kuYyIgLz4NCiAgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlwuLlwuLlwuLlxsaWJcZXNjYXBlLmMiIC8+DQogICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5cLi5cLi5cLi5cbGliXGZpbGUuYyIgLz4NCkBAIC0yNDUwLDEyICsyNDUxLDE0IEBACiAgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlwuLlwuLlwuLlxsaWJcdmF1dGhcdmF1dGguYyIgLz4NCiAgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlwuLlwuLlwuLlxsaWJcdnF1aWNcbmd0Y3AyLmMiIC8+DQogICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5cLi5cLi5cLi5cbGliXHZxdWljXHF1aWNoZS5jIiAvPg0KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXC4uXC4uXC4uXGxpYlx2cXVpY1x2cXVpYy5jIiAvPg0KICAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXC4uXC4uXC4uXGxpYlx2c3NoXGxpYnNzaDIuYyIgLz4NCiAgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlwuLlwuLlwuLlxsaWJcdnNzaFxsaWJzc2guYyIgLz4NCiAgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlwuLlwuLlwuLlxsaWJcdnNzaFx3b2xmc3NoLmMiIC8+DQogICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5cLi5cLi5cLi5cbGliXHZ0bHNcYmVhcnNzbC5jIiAvPg0KICAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXC4uXC4uXC4uXGxpYlx2dGxzXGdza2l0LmMiIC8+DQogICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5cLi5cLi5cLi5cbGliXHZ0bHNcZ3Rscy5jIiAvPg0KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXC4uXC4uXC4uXGxpYlx2dGxzXGtleWxvZy5jIiAvPg0KICAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXC4uXC4uXC4uXGxpYlx2dGxzXG1iZWR0bHMuYyIgLz4NCiAgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlwuLlwuLlwuLlxsaWJcdnRsc1xtYmVkdGxzX3RocmVhZGxvY2suYyIgLz4NCiAgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlwuLlwuLlwuLlxsaWJcdnRsc1xtZXNhbGluay5jIiAvPg0KQEAgLTI1MTAsNiArMjUxMyw3IEBACiAgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlwuLlwuLlwuLlxsaWJcZGljdC5oIiAvPg0KICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXC4uXC4uXC4uXGxpYlxkb2guaCIgLz4NCiAgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlwuLlwuLlwuLlxsaWJcZG90ZG90LmgiIC8+DQorICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5cLi5cLi5cLi5cbGliXGR5bmJ1Zi5oIiAvPg0KICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXC4uXC4uXC4uXGxpYlxlYXN5aWYuaCIgLz4NCiAgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlwuLlwuLlwuLlxsaWJcZXNjYXBlLmgiIC8+DQogICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5cLi5cLi5cLi5cbGliXGZpbGUuaCIgLz4NCkBAIC0yNTg2LDEwICsyNTkwLDEyIEBACiAgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlwuLlwuLlwuLlxsaWJcdmF1dGhcdmF1dGguaCIgLz4NCiAgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlwuLlwuLlwuLlxsaWJcdnF1aWNcbmd0Y3AyLmgiIC8+DQogICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5cLi5cLi5cLi5cbGliXHZxdWljXHF1aWNoZS5oIiAvPg0KKyAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXC4uXC4uXC4uXGxpYlx2cXVpY1x2cXVpYy5oIiAvPg0KICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXC4uXC4uXC4uXGxpYlx2c3NoXHNzaC5oIiAvPg0KICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXC4uXC4uXC4uXGxpYlx2dGxzXGJlYXJzc2wuaCIgLz4NCiAgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlwuLlwuLlwuLlxsaWJcdnRsc1xnc2tpdC5oIiAvPg0KICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXC4uXC4uXC4uXGxpYlx2dGxzXGd0bHMuaCIgLz4NCisgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlwuLlwuLlwuLlxsaWJcdnRsc1xrZXlsb2cuaCIgLz4NCiAgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlwuLlwuLlwuLlxsaWJcdnRsc1xtYmVkdGxzLmgiIC8+DQogICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5cLi5cLi5cLi5cbGliXHZ0bHNcbWJlZHRsc190aHJlYWRsb2NrLmgiIC8+DQogICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5cLi5cLi5cLi5cbGliXHZ0bHNcbWVzYWxpbmsuaCIgLz4NCmRpZmYgLS1naXQgYS9wcm9qZWN0cy9XaW5kb3dzL1ZDMTAvc3JjL2N1cmwudmN4cHJvaiBiL3Byb2plY3RzL1dpbmRvd3MvVkMxMC9zcmMvY3VybC52Y3hwcm9qCmluZGV4IDRhNTI2NTYuLmMxZTAwMjkgMTAwNjQ0Ci0tLSBhL3Byb2plY3RzL1dpbmRvd3MvVkMxMC9zcmMvY3VybC52Y3hwcm9qCisrKyBiL3Byb2plY3RzL1dpbmRvd3MvVkMxMC9zcmMvY3VybC52Y3hwcm9qCkBAIC0yMTYwLDcgKzIxNjAsNyBAQAogICAgICAgPEFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM+Li5cLi5cLi5cLi5caW5jbHVkZTslKEFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXMpPC9BZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPg0KICAgICA8L1Jlc291cmNlQ29tcGlsZT4NCiAgICAgPExpbms+DQotICAgICAgPEFkZGl0aW9uYWxEZXBlbmRlbmNpZXM+d3MyXzMyLmxpYjt3bGRhcDMyLmxpYjtsaWJjdXJsZC5saWI7bGliZWF5MzIubGliO3NzbGVheTMyLmxpYjslKEFkZGl0aW9uYWxEZXBlbmRlbmNpZXMpPC9BZGRpdGlvbmFsRGVwZW5kZW5jaWVzPg0KKyAgICAgIDxBZGRpdGlvbmFsRGVwZW5kZW5jaWVzPmNyeXB0MzIubGliO3dzMl8zMi5saWI7d2xkYXAzMi5saWI7bGliY3VybGQubGliO2xpYmVheTMyLmxpYjtzc2xlYXkzMi5saWI7JShBZGRpdGlvbmFsRGVwZW5kZW5jaWVzKTwvQWRkaXRpb25hbERlcGVuZGVuY2llcz4NCiAgICAgICA8T3V0cHV0RmlsZT4kKE91dERpcikkKFRhcmdldE5hbWUpJChUYXJnZXRFeHQpPC9PdXRwdXRGaWxlPg0KICAgICAgIDxBZGRpdGlvbmFsTGlicmFyeURpcmVjdG9yaWVzPi4uXC4uXC4uXC4uXGJ1aWxkXFdpbjMyXFZDMTBcJChDb25maWd1cmF0aW9uKTsuLlwuLlwuLlwuLlwuLlxvcGVuc3NsXGJ1aWxkXFdpbjMyXFZDMTBcRExMIERlYnVnOyUoQWRkaXRpb25hbExpYnJhcnlEaXJlY3Rvcmllcyk8L0FkZGl0aW9uYWxMaWJyYXJ5RGlyZWN0b3JpZXM+DQogICAgICAgPEdlbmVyYXRlRGVidWdJbmZvcm1hdGlvbj50cnVlPC9HZW5lcmF0ZURlYnVnSW5mb3JtYXRpb24+DQpAQCAtMjE5Miw3ICsyMTkyLDcgQEAKICAgICAgIDxBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPi4uXC4uXC4uXC4uXGluY2x1ZGU7JShBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzKTwvQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz4NCiAgICAgPC9SZXNvdXJjZUNvbXBpbGU+DQogICAgIDxMaW5rPg0KLSAgICAgIDxBZGRpdGlvbmFsRGVwZW5kZW5jaWVzPndzMl8zMi5saWI7d2xkYXAzMi5saWI7bGliY3VybGQubGliO2xpYmVheTMyLmxpYjtzc2xlYXkzMi5saWI7JShBZGRpdGlvbmFsRGVwZW5kZW5jaWVzKTwvQWRkaXRpb25hbERlcGVuZGVuY2llcz4NCisgICAgICA8QWRkaXRpb25hbERlcGVuZGVuY2llcz5jcnlwdDMyLmxpYjt3czJfMzIubGliO3dsZGFwMzIubGliO2xpYmN1cmxkLmxpYjtsaWJlYXkzMi5saWI7c3NsZWF5MzIubGliOyUoQWRkaXRpb25hbERlcGVuZGVuY2llcyk8L0FkZGl0aW9uYWxEZXBlbmRlbmNpZXM+DQogICAgICAgPE91dHB1dEZpbGU+JChPdXREaXIpJChUYXJnZXROYW1lKSQoVGFyZ2V0RXh0KTwvT3V0cHV0RmlsZT4NCiAgICAgICA8QWRkaXRpb25hbExpYnJhcnlEaXJlY3Rvcmllcz4uLlwuLlwuLlwuLlxidWlsZFxXaW42NFxWQzEwXCQoQ29uZmlndXJhdGlvbik7Li5cLi5cLi5cLi5cLi5cb3BlbnNzbFxidWlsZFxXaW42NFxWQzEwXERMTCBEZWJ1ZzslKEFkZGl0aW9uYWxMaWJyYXJ5RGlyZWN0b3JpZXMpPC9BZGRpdGlvbmFsTGlicmFyeURpcmVjdG9yaWVzPg0KICAgICAgIDxHZW5lcmF0ZURlYnVnSW5mb3JtYXRpb24+dHJ1ZTwvR2VuZXJhdGVEZWJ1Z0luZm9ybWF0aW9uPg0KQEAgLTIyMjMsNyArMjIyMyw3IEBACiAgICAgICA8QWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz4uLlwuLlwuLlwuLlxpbmNsdWRlOyUoQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcyk8L0FkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM+DQogICAgIDwvUmVzb3VyY2VDb21waWxlPg0KICAgICA8TGluaz4NCi0gICAgICA8QWRkaXRpb25hbERlcGVuZGVuY2llcz53czJfMzIubGliO3dsZGFwMzIubGliO2xpYmN1cmwubGliO2xpYmVheTMyLmxpYjtzc2xlYXkzMi5saWI7JShBZGRpdGlvbmFsRGVwZW5kZW5jaWVzKTwvQWRkaXRpb25hbERlcGVuZGVuY2llcz4NCisgICAgICA8QWRkaXRpb25hbERlcGVuZGVuY2llcz5jcnlwdDMyLmxpYjt3czJfMzIubGliO3dsZGFwMzIubGliO2xpYmN1cmwubGliO2xpYmVheTMyLmxpYjtzc2xlYXkzMi5saWI7JShBZGRpdGlvbmFsRGVwZW5kZW5jaWVzKTwvQWRkaXRpb25hbERlcGVuZGVuY2llcz4NCiAgICAgICA8T3V0cHV0RmlsZT4kKE91dERpcikkKFRhcmdldE5hbWUpJChUYXJnZXRFeHQpPC9PdXRwdXRGaWxlPg0KICAgICAgIDxBZGRpdGlvbmFsTGlicmFyeURpcmVjdG9yaWVzPi4uXC4uXC4uXC4uXGJ1aWxkXFdpbjMyXFZDMTBcJChDb25maWd1cmF0aW9uKTsuLlwuLlwuLlwuLlwuLlxvcGVuc3NsXGJ1aWxkXFdpbjMyXFZDMTBcRExMIFJlbGVhc2U7JShBZGRpdGlvbmFsTGlicmFyeURpcmVjdG9yaWVzKTwvQWRkaXRpb25hbExpYnJhcnlEaXJlY3Rvcmllcz4NCiAgICAgICA8U3ViU3lzdGVtPkNvbnNvbGU8L1N1YlN5c3RlbT4NCkBAIC0yMjUzLDcgKzIyNTMsNyBAQAogICAgICAgPEFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM+Li5cLi5cLi5cLi5caW5jbHVkZTslKEFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXMpPC9BZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPg0KICAgICA8L1Jlc291cmNlQ29tcGlsZT4NCiAgICAgPExpbms+DQotICAgICAgPEFkZGl0aW9uYWxEZXBlbmRlbmNpZXM+d3MyXzMyLmxpYjt3bGRhcDMyLmxpYjtsaWJjdXJsLmxpYjtsaWJlYXkzMi5saWI7c3NsZWF5MzIubGliOyUoQWRkaXRpb25hbERlcGVuZGVuY2llcyk8L0FkZGl0aW9uYWxEZXBlbmRlbmNpZXM+DQorICAgICAgPEFkZGl0aW9uYWxEZXBlbmRlbmNpZXM+Y3J5cHQzMi5saWI7d3MyXzMyLmxpYjt3bGRhcDMyLmxpYjtsaWJjdXJsLmxpYjtsaWJlYXkzMi5saWI7c3NsZWF5MzIubGliOyUoQWRkaXRpb25hbERlcGVuZGVuY2llcyk8L0FkZGl0aW9uYWxEZXBlbmRlbmNpZXM+DQogICAgICAgPE91dHB1dEZpbGU+JChPdXREaXIpJChUYXJnZXROYW1lKSQoVGFyZ2V0RXh0KTwvT3V0cHV0RmlsZT4NCiAgICAgICA8QWRkaXRpb25hbExpYnJhcnlEaXJlY3Rvcmllcz4uLlwuLlwuLlwuLlxidWlsZFxXaW42NFxWQzEwXCQoQ29uZmlndXJhdGlvbik7Li5cLi5cLi5cLi5cLi5cb3BlbnNzbFxidWlsZFxXaW42NFxWQzEwXERMTCBSZWxlYXNlOyUoQWRkaXRpb25hbExpYnJhcnlEaXJlY3Rvcmllcyk8L0FkZGl0aW9uYWxMaWJyYXJ5RGlyZWN0b3JpZXM+DQogICAgICAgPFN1YlN5c3RlbT5Db25zb2xlPC9TdWJTeXN0ZW0+DQpAQCAtMjI4Miw3ICsyMjgyLDcgQEAKICAgICAgIDxBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPi4uXC4uXC4uXC4uXGluY2x1ZGU7JShBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzKTwvQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz4NCiAgICAgPC9SZXNvdXJjZUNvbXBpbGU+DQogICAgIDxMaW5rPg0KLSAgICAgIDxBZGRpdGlvbmFsRGVwZW5kZW5jaWVzPndzMl8zMi5saWI7d2xkYXAzMi5saWI7bGliY3VybGQubGliO2xpYmVheTMyLmxpYjtzc2xlYXkzMi5saWI7bGlic3NoMmQubGliOyUoQWRkaXRpb25hbERlcGVuZGVuY2llcyk8L0FkZGl0aW9uYWxEZXBlbmRlbmNpZXM+DQorICAgICAgPEFkZGl0aW9uYWxEZXBlbmRlbmNpZXM+Y3J5cHQzMi5saWI7d3MyXzMyLmxpYjt3bGRhcDMyLmxpYjtsaWJjdXJsZC5saWI7bGliZWF5MzIubGliO3NzbGVheTMyLmxpYjtsaWJzc2gyZC5saWI7JShBZGRpdGlvbmFsRGVwZW5kZW5jaWVzKTwvQWRkaXRpb25hbERlcGVuZGVuY2llcz4NCiAgICAgICA8T3V0cHV0RmlsZT4kKE91dERpcikkKFRhcmdldE5hbWUpJChUYXJnZXRFeHQpPC9PdXRwdXRGaWxlPg0KICAgICAgIDxBZGRpdGlvbmFsTGlicmFyeURpcmVjdG9yaWVzPi4uXC4uXC4uXC4uXGJ1aWxkXFdpbjMyXFZDMTBcJChDb25maWd1cmF0aW9uKTsuLlwuLlwuLlwuLlwuLlxvcGVuc3NsXGJ1aWxkXFdpbjMyXFZDMTBcRExMIERlYnVnOy4uXC4uXC4uXC4uXC4uXGxpYnNzaDJcYnVpbGRcV2luMzJcVkMxMFxETEwgRGVidWc7JShBZGRpdGlvbmFsTGlicmFyeURpcmVjdG9yaWVzKTwvQWRkaXRpb25hbExpYnJhcnlEaXJlY3Rvcmllcz4NCiAgICAgICA8R2VuZXJhdGVEZWJ1Z0luZm9ybWF0aW9uPnRydWU8L0dlbmVyYXRlRGVidWdJbmZvcm1hdGlvbj4NCkBAIC0yMzE0LDcgKzIzMTQsNyBAQAogICAgICAgPEFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM+Li5cLi5cLi5cLi5caW5jbHVkZTslKEFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXMpPC9BZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPg0KICAgICA8L1Jlc291cmNlQ29tcGlsZT4NCiAgICAgPExpbms+DQotICAgICAgPEFkZGl0aW9uYWxEZXBlbmRlbmNpZXM+d3MyXzMyLmxpYjt3bGRhcDMyLmxpYjtsaWJjdXJsZC5saWI7bGliZWF5MzIubGliO3NzbGVheTMyLmxpYjtsaWJzc2gyZC5saWI7JShBZGRpdGlvbmFsRGVwZW5kZW5jaWVzKTwvQWRkaXRpb25hbERlcGVuZGVuY2llcz4NCisgICAgICA8QWRkaXRpb25hbERlcGVuZGVuY2llcz5jcnlwdDMyLmxpYjt3czJfMzIubGliO3dsZGFwMzIubGliO2xpYmN1cmxkLmxpYjtsaWJlYXkzMi5saWI7c3NsZWF5MzIubGliO2xpYnNzaDJkLmxpYjslKEFkZGl0aW9uYWxEZXBlbmRlbmNpZXMpPC9BZGRpdGlvbmFsRGVwZW5kZW5jaWVzPg0KICAgICAgIDxPdXRwdXRGaWxlPiQoT3V0RGlyKSQoVGFyZ2V0TmFtZSkkKFRhcmdldEV4dCk8L091dHB1dEZpbGU+DQogICAgICAgPEFkZGl0aW9uYWxMaWJyYXJ5RGlyZWN0b3JpZXM+Li5cLi5cLi5cLi5cYnVpbGRcV2luNjRcVkMxMFwkKENvbmZpZ3VyYXRpb24pOy4uXC4uXC4uXC4uXC4uXG9wZW5zc2xcYnVpbGRcV2luNjRcVkMxMFxETEwgRGVidWc7Li5cLi5cLi5cLi5cLi5cbGlic3NoMlxidWlsZFxXaW42NFxWQzEwXERMTCBEZWJ1ZzslKEFkZGl0aW9uYWxMaWJyYXJ5RGlyZWN0b3JpZXMpPC9BZGRpdGlvbmFsTGlicmFyeURpcmVjdG9yaWVzPg0KICAgICAgIDxHZW5lcmF0ZURlYnVnSW5mb3JtYXRpb24+dHJ1ZTwvR2VuZXJhdGVEZWJ1Z0luZm9ybWF0aW9uPg0KQEAgLTIzNDUsNyArMjM0NSw3IEBACiAgICAgICA8QWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz4uLlwuLlwuLlwuLlxpbmNsdWRlOyUoQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcyk8L0FkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM+DQogICAgIDwvUmVzb3VyY2VDb21waWxlPg0KICAgICA8TGluaz4NCi0gICAgICA8QWRkaXRpb25hbERlcGVuZGVuY2llcz53czJfMzIubGliO3dsZGFwMzIubGliO2xpYmN1cmwubGliO2xpYmVheTMyLmxpYjtzc2xlYXkzMi5saWI7bGlic3NoMi5saWI7JShBZGRpdGlvbmFsRGVwZW5kZW5jaWVzKTwvQWRkaXRpb25hbERlcGVuZGVuY2llcz4NCisgICAgICA8QWRkaXRpb25hbERlcGVuZGVuY2llcz5jcnlwdDMyLmxpYjt3czJfMzIubGliO3dsZGFwMzIubGliO2xpYmN1cmwubGliO2xpYmVheTMyLmxpYjtzc2xlYXkzMi5saWI7bGlic3NoMi5saWI7JShBZGRpdGlvbmFsRGVwZW5kZW5jaWVzKTwvQWRkaXRpb25hbERlcGVuZGVuY2llcz4NCiAgICAgICA8T3V0cHV0RmlsZT4kKE91dERpcikkKFRhcmdldE5hbWUpJChUYXJnZXRFeHQpPC9PdXRwdXRGaWxlPg0KICAgICAgIDxBZGRpdGlvbmFsTGlicmFyeURpcmVjdG9yaWVzPi4uXC4uXC4uXC4uXGJ1aWxkXFdpbjMyXFZDMTBcJChDb25maWd1cmF0aW9uKTsuLlwuLlwuLlwuLlwuLlxvcGVuc3NsXGJ1aWxkXFdpbjMyXFZDMTBcRExMIFJlbGVhc2U7Li5cLi5cLi5cLi5cLi5cbGlic3NoMlxidWlsZFxXaW4zMlxWQzEwXERMTCBSZWxlYXNlOyUoQWRkaXRpb25hbExpYnJhcnlEaXJlY3Rvcmllcyk8L0FkZGl0aW9uYWxMaWJyYXJ5RGlyZWN0b3JpZXM+DQogICAgICAgPFN1YlN5c3RlbT5Db25zb2xlPC9TdWJTeXN0ZW0+DQpAQCAtMjM3NSw3ICsyMzc1LDcgQEAKICAgICAgIDxBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPi4uXC4uXC4uXC4uXGluY2x1ZGU7JShBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzKTwvQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz4NCiAgICAgPC9SZXNvdXJjZUNvbXBpbGU+DQogICAgIDxMaW5rPg0KLSAgICAgIDxBZGRpdGlvbmFsRGVwZW5kZW5jaWVzPndzMl8zMi5saWI7d2xkYXAzMi5saWI7bGliY3VybC5saWI7bGlic3NoMi5saWI7bGliZWF5MzIubGliO3NzbGVheTMyLmxpYjslKEFkZGl0aW9uYWxEZXBlbmRlbmNpZXMpPC9BZGRpdGlvbmFsRGVwZW5kZW5jaWVzPg0KKyAgICAgIDxBZGRpdGlvbmFsRGVwZW5kZW5jaWVzPmNyeXB0MzIubGliO3dzMl8zMi5saWI7d2xkYXAzMi5saWI7bGliY3VybC5saWI7bGlic3NoMi5saWI7bGliZWF5MzIubGliO3NzbGVheTMyLmxpYjslKEFkZGl0aW9uYWxEZXBlbmRlbmNpZXMpPC9BZGRpdGlvbmFsRGVwZW5kZW5jaWVzPg0KICAgICAgIDxPdXRwdXRGaWxlPiQoT3V0RGlyKSQoVGFyZ2V0TmFtZSkkKFRhcmdldEV4dCk8L091dHB1dEZpbGU+DQogICAgICAgPEFkZGl0aW9uYWxMaWJyYXJ5RGlyZWN0b3JpZXM+Li5cLi5cLi5cLi5cYnVpbGRcV2luNjRcVkMxMFwkKENvbmZpZ3VyYXRpb24pOy4uXC4uXC4uXC4uXC4uXG9wZW5zc2xcYnVpbGRcV2luNjRcVkMxMFxETEwgUmVsZWFzZTsuLlwuLlwuLlwuLlwuLlxsaWJzc2gyXGJ1aWxkXFdpbjY0XFZDMTBcRExMIFJlbGVhc2U7JShBZGRpdGlvbmFsTGlicmFyeURpcmVjdG9yaWVzKTwvQWRkaXRpb25hbExpYnJhcnlEaXJlY3Rvcmllcz4NCiAgICAgICA8U3ViU3lzdGVtPkNvbnNvbGU8L1N1YlN5c3RlbT4NCkBAIC0yNjI4LDYgKzI2MjgsNyBAQAogICA8L0l0ZW1EZWZpbml0aW9uR3JvdXA+DQogICA8SXRlbUdyb3VwPg0KICAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXC4uXC4uXC4uXGxpYlxjdXJsX2N0eXBlLmMiIC8+DQorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5cLi5cLi5cLi5cbGliXGN1cmxfbXVsdGlieXRlLmMiIC8+DQogICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5cLi5cLi5cLi5cbGliXG5vbmJsb2NrLmMiIC8+DQogICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5cLi5cLi5cLi5cbGliXHN0cnRvb2ZmdC5jIiAvPg0KICAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXC4uXC4uXC4uXGxpYlx3YXJubGVzcy5jIiAvPg0KQEAgLTI2NzYsNiArMjY3Nyw3IEBACiAgIDxJdGVtR3JvdXA+DQogICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5cLi5cLi5cLi5cbGliXGNvbmZpZy13aW4zMi5oIiAvPg0KICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXC4uXC4uXC4uXGxpYlxjdXJsX2N0eXBlLmgiIC8+DQorICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5cLi5cLi5cLi5cbGliXGN1cmxfbXVsdGlieXRlLmgiIC8+DQogICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5cLi5cLi5cLi5cbGliXGN1cmxfc2V0dXAuaCIgLz4NCiAgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlwuLlwuLlwuLlxsaWJcbm9uYmxvY2suaCIgLz4NCiAgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlwuLlwuLlwuLlxsaWJcc3RydG9vZmZ0LmgiIC8+DQpkaWZmIC0tZ2l0IGEvcHJvamVjdHMvV2luZG93cy9WQzExL2xpYi9saWJjdXJsLnZjeHByb2ogYi9wcm9qZWN0cy9XaW5kb3dzL1ZDMTEvbGliL2xpYmN1cmwudmN4cHJvagppbmRleCA3YmNjOWJjLi5kZDRlMTk4IDEwMDY0NAotLS0gYS9wcm9qZWN0cy9XaW5kb3dzL1ZDMTEvbGliL2xpYmN1cmwudmN4cHJvagorKysgYi9wcm9qZWN0cy9XaW5kb3dzL1ZDMTEvbGliL2xpYmN1cmwudmN4cHJvagpAQCAtMTM2Niw3ICsxMzY2LDcgQEAKICAgICAgIDxDdWx0dXJlPjB4MDQwOTwvQ3VsdHVyZT4NCiAgICAgPC9SZXNvdXJjZUNvbXBpbGU+DQogICAgIDxMaW5rPg0KLSAgICAgIDxBZGRpdGlvbmFsRGVwZW5kZW5jaWVzPndzMl8zMi5saWI7d2xkYXAzMi5saWI7bGliZWF5MzIubGliO3NzbGVheTMyLmxpYjslKEFkZGl0aW9uYWxEZXBlbmRlbmNpZXMpPC9BZGRpdGlvbmFsRGVwZW5kZW5jaWVzPg0KKyAgICAgIDxBZGRpdGlvbmFsRGVwZW5kZW5jaWVzPmNyeXB0MzIubGliO3dzMl8zMi5saWI7d2xkYXAzMi5saWI7bGliZWF5MzIubGliO3NzbGVheTMyLmxpYjslKEFkZGl0aW9uYWxEZXBlbmRlbmNpZXMpPC9BZGRpdGlvbmFsRGVwZW5kZW5jaWVzPg0KICAgICAgIDxPdXRwdXRGaWxlPiQoT3V0RGlyKSQoVGFyZ2V0TmFtZSkkKFRhcmdldEV4dCk8L091dHB1dEZpbGU+DQogICAgICAgPEFkZGl0aW9uYWxMaWJyYXJ5RGlyZWN0b3JpZXM+Li5cLi5cLi5cLi5cLi5cb3BlbnNzbFxidWlsZFxXaW4zMlxWQzExXERMTCBEZWJ1ZzslKEFkZGl0aW9uYWxMaWJyYXJ5RGlyZWN0b3JpZXMpPC9BZGRpdGlvbmFsTGlicmFyeURpcmVjdG9yaWVzPg0KICAgICAgIDxNYW5pZmVzdEZpbGU+JChJbnREaXIpJChUYXJnZXRGaWxlTmFtZSkuaW50ZXJtZWRpYXRlLm1hbmlmZXN0PC9NYW5pZmVzdEZpbGU+DQpAQCAtMTQwMCw3ICsxNDAwLDcgQEAKICAgICAgIDxDdWx0dXJlPjB4MDQwOTwvQ3VsdHVyZT4NCiAgICAgPC9SZXNvdXJjZUNvbXBpbGU+DQogICAgIDxMaW5rPg0KLSAgICAgIDxBZGRpdGlvbmFsRGVwZW5kZW5jaWVzPndzMl8zMi5saWI7d2xkYXAzMi5saWI7bGliZWF5MzIubGliO3NzbGVheTMyLmxpYjslKEFkZGl0aW9uYWxEZXBlbmRlbmNpZXMpPC9BZGRpdGlvbmFsRGVwZW5kZW5jaWVzPg0KKyAgICAgIDxBZGRpdGlvbmFsRGVwZW5kZW5jaWVzPmNyeXB0MzIubGliO3dzMl8zMi5saWI7d2xkYXAzMi5saWI7bGliZWF5MzIubGliO3NzbGVheTMyLmxpYjslKEFkZGl0aW9uYWxEZXBlbmRlbmNpZXMpPC9BZGRpdGlvbmFsRGVwZW5kZW5jaWVzPg0KICAgICAgIDxPdXRwdXRGaWxlPiQoT3V0RGlyKSQoVGFyZ2V0TmFtZSkkKFRhcmdldEV4dCk8L091dHB1dEZpbGU+DQogICAgICAgPEFkZGl0aW9uYWxMaWJyYXJ5RGlyZWN0b3JpZXM+Li5cLi5cLi5cLi5cLi5cb3BlbnNzbFxidWlsZFxXaW42NFxWQzExXERMTCBEZWJ1ZzslKEFkZGl0aW9uYWxMaWJyYXJ5RGlyZWN0b3JpZXMpPC9BZGRpdGlvbmFsTGlicmFyeURpcmVjdG9yaWVzPg0KICAgICAgIDxHZW5lcmF0ZURlYnVnSW5mb3JtYXRpb24+dHJ1ZTwvR2VuZXJhdGVEZWJ1Z0luZm9ybWF0aW9uPg0KQEAgLTE0MzMsNyArMTQzMyw3IEBACiAgICAgICA8Q3VsdHVyZT4weDA0MDk8L0N1bHR1cmU+DQogICAgIDwvUmVzb3VyY2VDb21waWxlPg0KICAgICA8TGluaz4NCi0gICAgICA8QWRkaXRpb25hbERlcGVuZGVuY2llcz53czJfMzIubGliO3dsZGFwMzIubGliO2xpYmVheTMyLmxpYjtzc2xlYXkzMi5saWI7JShBZGRpdGlvbmFsRGVwZW5kZW5jaWVzKTwvQWRkaXRpb25hbERlcGVuZGVuY2llcz4NCisgICAgICA8QWRkaXRpb25hbERlcGVuZGVuY2llcz5jcnlwdDMyLmxpYjt3czJfMzIubGliO3dsZGFwMzIubGliO2xpYmVheTMyLmxpYjtzc2xlYXkzMi5saWI7JShBZGRpdGlvbmFsRGVwZW5kZW5jaWVzKTwvQWRkaXRpb25hbERlcGVuZGVuY2llcz4NCiAgICAgICA8T3V0cHV0RmlsZT4kKE91dERpcikkKFRhcmdldE5hbWUpJChUYXJnZXRFeHQpPC9PdXRwdXRGaWxlPg0KICAgICAgIDxBZGRpdGlvbmFsTGlicmFyeURpcmVjdG9yaWVzPi4uXC4uXC4uXC4uXC4uXG9wZW5zc2xcYnVpbGRcV2luMzJcVkMxMVxETEwgUmVsZWFzZTslKEFkZGl0aW9uYWxMaWJyYXJ5RGlyZWN0b3JpZXMpPC9BZGRpdGlvbmFsTGlicmFyeURpcmVjdG9yaWVzPg0KICAgICAgIDxNYW5pZmVzdEZpbGU+JChJbnREaXIpJChUYXJnZXRGaWxlTmFtZSkuaW50ZXJtZWRpYXRlLm1hbmlmZXN0PC9NYW5pZmVzdEZpbGU+DQpAQCAtMTQ2NSw3ICsxNDY1LDcgQEAKICAgICAgIDxDdWx0dXJlPjB4MDQwOTwvQ3VsdHVyZT4NCiAgICAgPC9SZXNvdXJjZUNvbXBpbGU+DQogICAgIDxMaW5rPg0KLSAgICAgIDxBZGRpdGlvbmFsRGVwZW5kZW5jaWVzPndzMl8zMi5saWI7d2xkYXAzMi5saWI7bGliZWF5MzIubGliO3NzbGVheTMyLmxpYjslKEFkZGl0aW9uYWxEZXBlbmRlbmNpZXMpPC9BZGRpdGlvbmFsRGVwZW5kZW5jaWVzPg0KKyAgICAgIDxBZGRpdGlvbmFsRGVwZW5kZW5jaWVzPmNyeXB0MzIubGliO3dzMl8zMi5saWI7d2xkYXAzMi5saWI7bGliZWF5MzIubGliO3NzbGVheTMyLmxpYjslKEFkZGl0aW9uYWxEZXBlbmRlbmNpZXMpPC9BZGRpdGlvbmFsRGVwZW5kZW5jaWVzPg0KICAgICAgIDxPdXRwdXRGaWxlPiQoT3V0RGlyKSQoVGFyZ2V0TmFtZSkkKFRhcmdldEV4dCk8L091dHB1dEZpbGU+DQogICAgICAgPEFkZGl0aW9uYWxMaWJyYXJ5RGlyZWN0b3JpZXM+Li5cLi5cLi5cLi5cLi5cb3BlbnNzbFxidWlsZFxXaW42NFxWQzExXERMTCBSZWxlYXNlOyUoQWRkaXRpb25hbExpYnJhcnlEaXJlY3Rvcmllcyk8L0FkZGl0aW9uYWxMaWJyYXJ5RGlyZWN0b3JpZXM+DQogICAgICAgPEltcG9ydExpYnJhcnk+JChUYXJnZXREaXIpJChUYXJnZXROYW1lKS5saWI8L0ltcG9ydExpYnJhcnk+DQpAQCAtMTc1Niw3ICsxNzU2LDcgQEAKICAgICAgIDxDdWx0dXJlPjB4MDQwOTwvQ3VsdHVyZT4NCiAgICAgPC9SZXNvdXJjZUNvbXBpbGU+DQogICAgIDxMaW5rPg0KLSAgICAgIDxBZGRpdGlvbmFsRGVwZW5kZW5jaWVzPndzMl8zMi5saWI7d2xkYXAzMi5saWI7bGliZWF5MzIubGliO3NzbGVheTMyLmxpYjtsaWJzc2gyZC5saWI7JShBZGRpdGlvbmFsRGVwZW5kZW5jaWVzKTwvQWRkaXRpb25hbERlcGVuZGVuY2llcz4NCisgICAgICA8QWRkaXRpb25hbERlcGVuZGVuY2llcz5jcnlwdDMyLmxpYjt3czJfMzIubGliO3dsZGFwMzIubGliO2xpYmVheTMyLmxpYjtzc2xlYXkzMi5saWI7bGlic3NoMmQubGliOyUoQWRkaXRpb25hbERlcGVuZGVuY2llcyk8L0FkZGl0aW9uYWxEZXBlbmRlbmNpZXM+DQogICAgICAgPE91dHB1dEZpbGU+JChPdXREaXIpJChUYXJnZXROYW1lKSQoVGFyZ2V0RXh0KTwvT3V0cHV0RmlsZT4NCiAgICAgICA8QWRkaXRpb25hbExpYnJhcnlEaXJlY3Rvcmllcz4uLlwuLlwuLlwuLlwuLlxvcGVuc3NsXGJ1aWxkXFdpbjMyXFZDMTFcRExMIERlYnVnOy4uXC4uXC4uXC4uXC4uXGxpYnNzaDJcYnVpbGRcV2luMzJcVkMxMVxETEwgRGVidWc7JShBZGRpdGlvbmFsTGlicmFyeURpcmVjdG9yaWVzKTwvQWRkaXRpb25hbExpYnJhcnlEaXJlY3Rvcmllcz4NCiAgICAgICA8TWFuaWZlc3RGaWxlPiQoSW50RGlyKSQoVGFyZ2V0RmlsZU5hbWUpLmludGVybWVkaWF0ZS5tYW5pZmVzdDwvTWFuaWZlc3RGaWxlPg0KQEAgLTE3OTAsNyArMTc5MCw3IEBACiAgICAgICA8Q3VsdHVyZT4weDA0MDk8L0N1bHR1cmU+DQogICAgIDwvUmVzb3VyY2VDb21waWxlPg0KICAgICA8TGluaz4NCi0gICAgICA8QWRkaXRpb25hbERlcGVuZGVuY2llcz53czJfMzIubGliO3dsZGFwMzIubGliO2xpYmVheTMyLmxpYjtzc2xlYXkzMi5saWI7bGlic3NoMmQubGliOyUoQWRkaXRpb25hbERlcGVuZGVuY2llcyk8L0FkZGl0aW9uYWxEZXBlbmRlbmNpZXM+DQorICAgICAgPEFkZGl0aW9uYWxEZXBlbmRlbmNpZXM+Y3J5cHQzMi5saWI7d3MyXzMyLmxpYjt3bGRhcDMyLmxpYjtsaWJlYXkzMi5saWI7c3NsZWF5MzIubGliO2xpYnNzaDJkLmxpYjslKEFkZGl0aW9uYWxEZXBlbmRlbmNpZXMpPC9BZGRpdGlvbmFsRGVwZW5kZW5jaWVzPg0KICAgICAgIDxPdXRwdXRGaWxlPiQoT3V0RGlyKSQoVGFyZ2V0TmFtZSkkKFRhcmdldEV4dCk8L091dHB1dEZpbGU+DQogICAgICAgPEFkZGl0aW9uYWxMaWJyYXJ5RGlyZWN0b3JpZXM+Li5cLi5cLi5cLi5cLi5cb3BlbnNzbFxidWlsZFxXaW42NFxWQzExXERMTCBEZWJ1ZzsuLlwuLlwuLlwuLlwuLlxsaWJzc2gyXGJ1aWxkXFdpbjY0XFZDMTFcRExMIERlYnVnOyUoQWRkaXRpb25hbExpYnJhcnlEaXJlY3Rvcmllcyk8L0FkZGl0aW9uYWxMaWJyYXJ5RGlyZWN0b3JpZXM+DQogICAgICAgPEdlbmVyYXRlRGVidWdJbmZvcm1hdGlvbj50cnVlPC9HZW5lcmF0ZURlYnVnSW5mb3JtYXRpb24+DQpAQCAtMTgyMyw3ICsxODIzLDcgQEAKICAgICAgIDxDdWx0dXJlPjB4MDQwOTwvQ3VsdHVyZT4NCiAgICAgPC9SZXNvdXJjZUNvbXBpbGU+DQogICAgIDxMaW5rPg0KLSAgICAgIDxBZGRpdGlvbmFsRGVwZW5kZW5jaWVzPndzMl8zMi5saWI7d2xkYXAzMi5saWI7bGliZWF5MzIubGliO3NzbGVheTMyLmxpYjtsaWJzc2gyLmxpYjslKEFkZGl0aW9uYWxEZXBlbmRlbmNpZXMpPC9BZGRpdGlvbmFsRGVwZW5kZW5jaWVzPg0KKyAgICAgIDxBZGRpdGlvbmFsRGVwZW5kZW5jaWVzPmNyeXB0MzIubGliO3dzMl8zMi5saWI7d2xkYXAzMi5saWI7bGliZWF5MzIubGliO3NzbGVheTMyLmxpYjtsaWJzc2gyLmxpYjslKEFkZGl0aW9uYWxEZXBlbmRlbmNpZXMpPC9BZGRpdGlvbmFsRGVwZW5kZW5jaWVzPg0KICAgICAgIDxPdXRwdXRGaWxlPiQoT3V0RGlyKSQoVGFyZ2V0TmFtZSkkKFRhcmdldEV4dCk8L091dHB1dEZpbGU+DQogICAgICAgPEFkZGl0aW9uYWxMaWJyYXJ5RGlyZWN0b3JpZXM+Li5cLi5cLi5cLi5cLi5cb3BlbnNzbFxidWlsZFxXaW4zMlxWQzExXERMTCBSZWxlYXNlOy4uXC4uXC4uXC4uXC4uXGxpYnNzaDJcYnVpbGRcV2luMzJcVkMxMVxETEwgUmVsZWFzZTslKEFkZGl0aW9uYWxMaWJyYXJ5RGlyZWN0b3JpZXMpPC9BZGRpdGlvbmFsTGlicmFyeURpcmVjdG9yaWVzPg0KICAgICAgIDxNYW5pZmVzdEZpbGU+JChJbnREaXIpJChUYXJnZXRGaWxlTmFtZSkuaW50ZXJtZWRpYXRlLm1hbmlmZXN0PC9NYW5pZmVzdEZpbGU+DQpAQCAtMTg1NSw3ICsxODU1LDcgQEAKICAgICAgIDxDdWx0dXJlPjB4MDQwOTwvQ3VsdHVyZT4NCiAgICAgPC9SZXNvdXJjZUNvbXBpbGU+DQogICAgIDxMaW5rPg0KLSAgICAgIDxBZGRpdGlvbmFsRGVwZW5kZW5jaWVzPndzMl8zMi5saWI7d2xkYXAzMi5saWI7bGliZWF5MzIubGliO3NzbGVheTMyLmxpYjtsaWJzc2gyLmxpYjslKEFkZGl0aW9uYWxEZXBlbmRlbmNpZXMpPC9BZGRpdGlvbmFsRGVwZW5kZW5jaWVzPg0KKyAgICAgIDxBZGRpdGlvbmFsRGVwZW5kZW5jaWVzPmNyeXB0MzIubGliO3dzMl8zMi5saWI7d2xkYXAzMi5saWI7bGliZWF5MzIubGliO3NzbGVheTMyLmxpYjtsaWJzc2gyLmxpYjslKEFkZGl0aW9uYWxEZXBlbmRlbmNpZXMpPC9BZGRpdGlvbmFsRGVwZW5kZW5jaWVzPg0KICAgICAgIDxPdXRwdXRGaWxlPiQoT3V0RGlyKSQoVGFyZ2V0TmFtZSkkKFRhcmdldEV4dCk8L091dHB1dEZpbGU+DQogICAgICAgPEFkZGl0aW9uYWxMaWJyYXJ5RGlyZWN0b3JpZXM+Li5cLi5cLi5cLi5cLi5cb3BlbnNzbFxidWlsZFxXaW42NFxWQzExXERMTCBSZWxlYXNlOy4uXC4uXC4uXC4uXC4uXGxpYnNzaDJcYnVpbGRcV2luNjRcVkMxMVxETEwgUmVsZWFzZTslKEFkZGl0aW9uYWxMaWJyYXJ5RGlyZWN0b3JpZXMpPC9BZGRpdGlvbmFsTGlicmFyeURpcmVjdG9yaWVzPg0KICAgICAgIDxJbXBvcnRMaWJyYXJ5PiQoVGFyZ2V0RGlyKSQoVGFyZ2V0TmFtZSkubGliPC9JbXBvcnRMaWJyYXJ5Pg0KQEAgLTI0MDksNiArMjQwOSw3IEBACiAgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlwuLlwuLlwuLlxsaWJcZGljdC5jIiAvPg0KICAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXC4uXC4uXC4uXGxpYlxkb2guYyIgLz4NCiAgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlwuLlwuLlwuLlxsaWJcZG90ZG90LmMiIC8+DQorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5cLi5cLi5cLi5cbGliXGR5bmJ1Zi5jIiAvPg0KICAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXC4uXC4uXC4uXGxpYlxlYXN5LmMiIC8+DQogICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5cLi5cLi5cLi5cbGliXGVzY2FwZS5jIiAvPg0KICAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXC4uXC4uXC4uXGxpYlxmaWxlLmMiIC8+DQpAQCAtMjUwNiwxMiArMjUwNywxNCBAQAogICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5cLi5cLi5cLi5cbGliXHZhdXRoXHZhdXRoLmMiIC8+DQogICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5cLi5cLi5cLi5cbGliXHZxdWljXG5ndGNwMi5jIiAvPg0KICAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXC4uXC4uXC4uXGxpYlx2cXVpY1xxdWljaGUuYyIgLz4NCisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlwuLlwuLlwuLlxsaWJcdnF1aWNcdnF1aWMuYyIgLz4NCiAgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlwuLlwuLlwuLlxsaWJcdnNzaFxsaWJzc2gyLmMiIC8+DQogICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5cLi5cLi5cLi5cbGliXHZzc2hcbGlic3NoLmMiIC8+DQogICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5cLi5cLi5cLi5cbGliXHZzc2hcd29sZnNzaC5jIiAvPg0KICAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXC4uXC4uXC4uXGxpYlx2dGxzXGJlYXJzc2wuYyIgLz4NCiAgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlwuLlwuLlwuLlxsaWJcdnRsc1xnc2tpdC5jIiAvPg0KICAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXC4uXC4uXC4uXGxpYlx2dGxzXGd0bHMuYyIgLz4NCisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlwuLlwuLlwuLlxsaWJcdnRsc1xrZXlsb2cuYyIgLz4NCiAgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlwuLlwuLlwuLlxsaWJcdnRsc1xtYmVkdGxzLmMiIC8+DQogICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5cLi5cLi5cLi5cbGliXHZ0bHNcbWJlZHRsc190aHJlYWRsb2NrLmMiIC8+DQogICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5cLi5cLi5cLi5cbGliXHZ0bHNcbWVzYWxpbmsuYyIgLz4NCkBAIC0yNTY2LDYgKzI1NjksNyBAQAogICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5cLi5cLi5cLi5cbGliXGRpY3QuaCIgLz4NCiAgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlwuLlwuLlwuLlxsaWJcZG9oLmgiIC8+DQogICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5cLi5cLi5cLi5cbGliXGRvdGRvdC5oIiAvPg0KKyAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXC4uXC4uXC4uXGxpYlxkeW5idWYuaCIgLz4NCiAgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlwuLlwuLlwuLlxsaWJcZWFzeWlmLmgiIC8+DQogICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5cLi5cLi5cLi5cbGliXGVzY2FwZS5oIiAvPg0KICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXC4uXC4uXC4uXGxpYlxmaWxlLmgiIC8+DQpAQCAtMjY0MiwxMCArMjY0NiwxMiBAQAogICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5cLi5cLi5cLi5cbGliXHZhdXRoXHZhdXRoLmgiIC8+DQogICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5cLi5cLi5cLi5cbGliXHZxdWljXG5ndGNwMi5oIiAvPg0KICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXC4uXC4uXC4uXGxpYlx2cXVpY1xxdWljaGUuaCIgLz4NCisgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlwuLlwuLlwuLlxsaWJcdnF1aWNcdnF1aWMuaCIgLz4NCiAgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlwuLlwuLlwuLlxsaWJcdnNzaFxzc2guaCIgLz4NCiAgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlwuLlwuLlwuLlxsaWJcdnRsc1xiZWFyc3NsLmgiIC8+DQogICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5cLi5cLi5cLi5cbGliXHZ0bHNcZ3NraXQuaCIgLz4NCiAgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlwuLlwuLlwuLlxsaWJcdnRsc1xndGxzLmgiIC8+DQorICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5cLi5cLi5cLi5cbGliXHZ0bHNca2V5bG9nLmgiIC8+DQogICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5cLi5cLi5cLi5cbGliXHZ0bHNcbWJlZHRscy5oIiAvPg0KICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXC4uXC4uXC4uXGxpYlx2dGxzXG1iZWR0bHNfdGhyZWFkbG9jay5oIiAvPg0KICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXC4uXC4uXC4uXGxpYlx2dGxzXG1lc2FsaW5rLmgiIC8+DQpkaWZmIC0tZ2l0IGEvcHJvamVjdHMvV2luZG93cy9WQzExL3NyYy9jdXJsLnZjeHByb2ogYi9wcm9qZWN0cy9XaW5kb3dzL1ZDMTEvc3JjL2N1cmwudmN4cHJvagppbmRleCBkZDNjNjdkLi44YmUxZjJkIDEwMDY0NAotLS0gYS9wcm9qZWN0cy9XaW5kb3dzL1ZDMTEvc3JjL2N1cmwudmN4cHJvagorKysgYi9wcm9qZWN0cy9XaW5kb3dzL1ZDMTEvc3JjL2N1cmwudmN4cHJvagpAQCAtMjIxNiw3ICsyMjE2LDcgQEAKICAgICAgIDxBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPi4uXC4uXC4uXC4uXGluY2x1ZGU7JShBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzKTwvQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz4NCiAgICAgPC9SZXNvdXJjZUNvbXBpbGU+DQogICAgIDxMaW5rPg0KLSAgICAgIDxBZGRpdGlvbmFsRGVwZW5kZW5jaWVzPndzMl8zMi5saWI7d2xkYXAzMi5saWI7bGliY3VybGQubGliO2xpYmVheTMyLmxpYjtzc2xlYXkzMi5saWI7JShBZGRpdGlvbmFsRGVwZW5kZW5jaWVzKTwvQWRkaXRpb25hbERlcGVuZGVuY2llcz4NCisgICAgICA8QWRkaXRpb25hbERlcGVuZGVuY2llcz5jcnlwdDMyLmxpYjt3czJfMzIubGliO3dsZGFwMzIubGliO2xpYmN1cmxkLmxpYjtsaWJlYXkzMi5saWI7c3NsZWF5MzIubGliOyUoQWRkaXRpb25hbERlcGVuZGVuY2llcyk8L0FkZGl0aW9uYWxEZXBlbmRlbmNpZXM+DQogICAgICAgPE91dHB1dEZpbGU+JChPdXREaXIpJChUYXJnZXROYW1lKSQoVGFyZ2V0RXh0KTwvT3V0cHV0RmlsZT4NCiAgICAgICA8QWRkaXRpb25hbExpYnJhcnlEaXJlY3Rvcmllcz4uLlwuLlwuLlwuLlxidWlsZFxXaW4zMlxWQzExXCQoQ29uZmlndXJhdGlvbik7Li5cLi5cLi5cLi5cLi5cb3BlbnNzbFxidWlsZFxXaW4zMlxWQzExXERMTCBEZWJ1ZzslKEFkZGl0aW9uYWxMaWJyYXJ5RGlyZWN0b3JpZXMpPC9BZGRpdGlvbmFsTGlicmFyeURpcmVjdG9yaWVzPg0KICAgICAgIDxHZW5lcmF0ZURlYnVnSW5mb3JtYXRpb24+dHJ1ZTwvR2VuZXJhdGVEZWJ1Z0luZm9ybWF0aW9uPg0KQEAgLTIyNDgsNyArMjI0OCw3IEBACiAgICAgICA8QWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz4uLlwuLlwuLlwuLlxpbmNsdWRlOyUoQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcyk8L0FkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM+DQogICAgIDwvUmVzb3VyY2VDb21waWxlPg0KICAgICA8TGluaz4NCi0gICAgICA8QWRkaXRpb25hbERlcGVuZGVuY2llcz53czJfMzIubGliO3dsZGFwMzIubGliO2xpYmN1cmxkLmxpYjtsaWJlYXkzMi5saWI7c3NsZWF5MzIubGliOyUoQWRkaXRpb25hbERlcGVuZGVuY2llcyk8L0FkZGl0aW9uYWxEZXBlbmRlbmNpZXM+DQorICAgICAgPEFkZGl0aW9uYWxEZXBlbmRlbmNpZXM+Y3J5cHQzMi5saWI7d3MyXzMyLmxpYjt3bGRhcDMyLmxpYjtsaWJjdXJsZC5saWI7bGliZWF5MzIubGliO3NzbGVheTMyLmxpYjslKEFkZGl0aW9uYWxEZXBlbmRlbmNpZXMpPC9BZGRpdGlvbmFsRGVwZW5kZW5jaWVzPg0KICAgICAgIDxPdXRwdXRGaWxlPiQoT3V0RGlyKSQoVGFyZ2V0TmFtZSkkKFRhcmdldEV4dCk8L091dHB1dEZpbGU+DQogICAgICAgPEFkZGl0aW9uYWxMaWJyYXJ5RGlyZWN0b3JpZXM+Li5cLi5cLi5cLi5cYnVpbGRcV2luNjRcVkMxMVwkKENvbmZpZ3VyYXRpb24pOy4uXC4uXC4uXC4uXC4uXG9wZW5zc2xcYnVpbGRcV2luNjRcVkMxMVxETEwgRGVidWc7JShBZGRpdGlvbmFsTGlicmFyeURpcmVjdG9yaWVzKTwvQWRkaXRpb25hbExpYnJhcnlEaXJlY3Rvcmllcz4NCiAgICAgICA8R2VuZXJhdGVEZWJ1Z0luZm9ybWF0aW9uPnRydWU8L0dlbmVyYXRlRGVidWdJbmZvcm1hdGlvbj4NCkBAIC0yMjc5LDcgKzIyNzksNyBAQAogICAgICAgPEFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM+Li5cLi5cLi5cLi5caW5jbHVkZTslKEFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXMpPC9BZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPg0KICAgICA8L1Jlc291cmNlQ29tcGlsZT4NCiAgICAgPExpbms+DQotICAgICAgPEFkZGl0aW9uYWxEZXBlbmRlbmNpZXM+d3MyXzMyLmxpYjt3bGRhcDMyLmxpYjtsaWJjdXJsLmxpYjtsaWJlYXkzMi5saWI7c3NsZWF5MzIubGliOyUoQWRkaXRpb25hbERlcGVuZGVuY2llcyk8L0FkZGl0aW9uYWxEZXBlbmRlbmNpZXM+DQorICAgICAgPEFkZGl0aW9uYWxEZXBlbmRlbmNpZXM+Y3J5cHQzMi5saWI7d3MyXzMyLmxpYjt3bGRhcDMyLmxpYjtsaWJjdXJsLmxpYjtsaWJlYXkzMi5saWI7c3NsZWF5MzIubGliOyUoQWRkaXRpb25hbERlcGVuZGVuY2llcyk8L0FkZGl0aW9uYWxEZXBlbmRlbmNpZXM+DQogICAgICAgPE91dHB1dEZpbGU+JChPdXREaXIpJChUYXJnZXROYW1lKSQoVGFyZ2V0RXh0KTwvT3V0cHV0RmlsZT4NCiAgICAgICA8QWRkaXRpb25hbExpYnJhcnlEaXJlY3Rvcmllcz4uLlwuLlwuLlwuLlxidWlsZFxXaW4zMlxWQzExXCQoQ29uZmlndXJhdGlvbik7Li5cLi5cLi5cLi5cLi5cb3BlbnNzbFxidWlsZFxXaW4zMlxWQzExXERMTCBSZWxlYXNlOyUoQWRkaXRpb25hbExpYnJhcnlEaXJlY3Rvcmllcyk8L0FkZGl0aW9uYWxMaWJyYXJ5RGlyZWN0b3JpZXM+DQogICAgICAgPFN1YlN5c3RlbT5Db25zb2xlPC9TdWJTeXN0ZW0+DQpAQCAtMjMwOSw3ICsyMzA5LDcgQEAKICAgICAgIDxBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPi4uXC4uXC4uXC4uXGluY2x1ZGU7JShBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzKTwvQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz4NCiAgICAgPC9SZXNvdXJjZUNvbXBpbGU+DQogICAgIDxMaW5rPg0KLSAgICAgIDxBZGRpdGlvbmFsRGVwZW5kZW5jaWVzPndzMl8zMi5saWI7d2xkYXAzMi5saWI7bGliY3VybC5saWI7bGliZWF5MzIubGliO3NzbGVheTMyLmxpYjslKEFkZGl0aW9uYWxEZXBlbmRlbmNpZXMpPC9BZGRpdGlvbmFsRGVwZW5kZW5jaWVzPg0KKyAgICAgIDxBZGRpdGlvbmFsRGVwZW5kZW5jaWVzPmNyeXB0MzIubGliO3dzMl8zMi5saWI7d2xkYXAzMi5saWI7bGliY3VybC5saWI7bGliZWF5MzIubGliO3NzbGVheTMyLmxpYjslKEFkZGl0aW9uYWxEZXBlbmRlbmNpZXMpPC9BZGRpdGlvbmFsRGVwZW5kZW5jaWVzPg0KICAgICAgIDxPdXRwdXRGaWxlPiQoT3V0RGlyKSQoVGFyZ2V0TmFtZSkkKFRhcmdldEV4dCk8L091dHB1dEZpbGU+DQogICAgICAgPEFkZGl0aW9uYWxMaWJyYXJ5RGlyZWN0b3JpZXM+Li5cLi5cLi5cLi5cYnVpbGRcV2luNjRcVkMxMVwkKENvbmZpZ3VyYXRpb24pOy4uXC4uXC4uXC4uXC4uXG9wZW5zc2xcYnVpbGRcV2luNjRcVkMxMVxETEwgUmVsZWFzZTslKEFkZGl0aW9uYWxMaWJyYXJ5RGlyZWN0b3JpZXMpPC9BZGRpdGlvbmFsTGlicmFyeURpcmVjdG9yaWVzPg0KICAgICAgIDxTdWJTeXN0ZW0+Q29uc29sZTwvU3ViU3lzdGVtPg0KQEAgLTIzMzgsNyArMjMzOCw3IEBACiAgICAgICA8QWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz4uLlwuLlwuLlwuLlxpbmNsdWRlOyUoQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcyk8L0FkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM+DQogICAgIDwvUmVzb3VyY2VDb21waWxlPg0KICAgICA8TGluaz4NCi0gICAgICA8QWRkaXRpb25hbERlcGVuZGVuY2llcz53czJfMzIubGliO3dsZGFwMzIubGliO2xpYmN1cmxkLmxpYjtsaWJlYXkzMi5saWI7c3NsZWF5MzIubGliO2xpYnNzaDJkLmxpYjslKEFkZGl0aW9uYWxEZXBlbmRlbmNpZXMpPC9BZGRpdGlvbmFsRGVwZW5kZW5jaWVzPg0KKyAgICAgIDxBZGRpdGlvbmFsRGVwZW5kZW5jaWVzPmNyeXB0MzIubGliO3dzMl8zMi5saWI7d2xkYXAzMi5saWI7bGliY3VybGQubGliO2xpYmVheTMyLmxpYjtzc2xlYXkzMi5saWI7bGlic3NoMmQubGliOyUoQWRkaXRpb25hbERlcGVuZGVuY2llcyk8L0FkZGl0aW9uYWxEZXBlbmRlbmNpZXM+DQogICAgICAgPE91dHB1dEZpbGU+JChPdXREaXIpJChUYXJnZXROYW1lKSQoVGFyZ2V0RXh0KTwvT3V0cHV0RmlsZT4NCiAgICAgICA8QWRkaXRpb25hbExpYnJhcnlEaXJlY3Rvcmllcz4uLlwuLlwuLlwuLlxidWlsZFxXaW4zMlxWQzExXCQoQ29uZmlndXJhdGlvbik7Li5cLi5cLi5cLi5cLi5cb3BlbnNzbFxidWlsZFxXaW4zMlxWQzExXERMTCBEZWJ1ZzsuLlwuLlwuLlwuLlwuLlxsaWJzc2gyXGJ1aWxkXFdpbjMyXFZDMTFcRExMIERlYnVnOyUoQWRkaXRpb25hbExpYnJhcnlEaXJlY3Rvcmllcyk8L0FkZGl0aW9uYWxMaWJyYXJ5RGlyZWN0b3JpZXM+DQogICAgICAgPEdlbmVyYXRlRGVidWdJbmZvcm1hdGlvbj50cnVlPC9HZW5lcmF0ZURlYnVnSW5mb3JtYXRpb24+DQpAQCAtMjM3MCw3ICsyMzcwLDcgQEAKICAgICAgIDxBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPi4uXC4uXC4uXC4uXGluY2x1ZGU7JShBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzKTwvQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz4NCiAgICAgPC9SZXNvdXJjZUNvbXBpbGU+DQogICAgIDxMaW5rPg0KLSAgICAgIDxBZGRpdGlvbmFsRGVwZW5kZW5jaWVzPndzMl8zMi5saWI7d2xkYXAzMi5saWI7bGliY3VybGQubGliO2xpYmVheTMyLmxpYjtzc2xlYXkzMi5saWI7bGlic3NoMmQubGliOyUoQWRkaXRpb25hbERlcGVuZGVuY2llcyk8L0FkZGl0aW9uYWxEZXBlbmRlbmNpZXM+DQorICAgICAgPEFkZGl0aW9uYWxEZXBlbmRlbmNpZXM+Y3J5cHQzMi5saWI7d3MyXzMyLmxpYjt3bGRhcDMyLmxpYjtsaWJjdXJsZC5saWI7bGliZWF5MzIubGliO3NzbGVheTMyLmxpYjtsaWJzc2gyZC5saWI7JShBZGRpdGlvbmFsRGVwZW5kZW5jaWVzKTwvQWRkaXRpb25hbERlcGVuZGVuY2llcz4NCiAgICAgICA8T3V0cHV0RmlsZT4kKE91dERpcikkKFRhcmdldE5hbWUpJChUYXJnZXRFeHQpPC9PdXRwdXRGaWxlPg0KICAgICAgIDxBZGRpdGlvbmFsTGlicmFyeURpcmVjdG9yaWVzPi4uXC4uXC4uXC4uXGJ1aWxkXFdpbjY0XFZDMTFcJChDb25maWd1cmF0aW9uKTsuLlwuLlwuLlwuLlwuLlxvcGVuc3NsXGJ1aWxkXFdpbjY0XFZDMTFcRExMIERlYnVnOy4uXC4uXC4uXC4uXC4uXGxpYnNzaDJcYnVpbGRcV2luNjRcVkMxMVxETEwgRGVidWc7JShBZGRpdGlvbmFsTGlicmFyeURpcmVjdG9yaWVzKTwvQWRkaXRpb25hbExpYnJhcnlEaXJlY3Rvcmllcz4NCiAgICAgICA8R2VuZXJhdGVEZWJ1Z0luZm9ybWF0aW9uPnRydWU8L0dlbmVyYXRlRGVidWdJbmZvcm1hdGlvbj4NCkBAIC0yNDAxLDcgKzI0MDEsNyBAQAogICAgICAgPEFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM+Li5cLi5cLi5cLi5caW5jbHVkZTslKEFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXMpPC9BZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPg0KICAgICA8L1Jlc291cmNlQ29tcGlsZT4NCiAgICAgPExpbms+DQotICAgICAgPEFkZGl0aW9uYWxEZXBlbmRlbmNpZXM+d3MyXzMyLmxpYjt3bGRhcDMyLmxpYjtsaWJjdXJsLmxpYjtsaWJlYXkzMi5saWI7c3NsZWF5MzIubGliO2xpYnNzaDIubGliOyUoQWRkaXRpb25hbERlcGVuZGVuY2llcyk8L0FkZGl0aW9uYWxEZXBlbmRlbmNpZXM+DQorICAgICAgPEFkZGl0aW9uYWxEZXBlbmRlbmNpZXM+Y3J5cHQzMi5saWI7d3MyXzMyLmxpYjt3bGRhcDMyLmxpYjtsaWJjdXJsLmxpYjtsaWJlYXkzMi5saWI7c3NsZWF5MzIubGliO2xpYnNzaDIubGliOyUoQWRkaXRpb25hbERlcGVuZGVuY2llcyk8L0FkZGl0aW9uYWxEZXBlbmRlbmNpZXM+DQogICAgICAgPE91dHB1dEZpbGU+JChPdXREaXIpJChUYXJnZXROYW1lKSQoVGFyZ2V0RXh0KTwvT3V0cHV0RmlsZT4NCiAgICAgICA8QWRkaXRpb25hbExpYnJhcnlEaXJlY3Rvcmllcz4uLlwuLlwuLlwuLlxidWlsZFxXaW4zMlxWQzExXCQoQ29uZmlndXJhdGlvbik7Li5cLi5cLi5cLi5cLi5cb3BlbnNzbFxidWlsZFxXaW4zMlxWQzExXERMTCBSZWxlYXNlOy4uXC4uXC4uXC4uXC4uXGxpYnNzaDJcYnVpbGRcV2luMzJcVkMxMVxETEwgUmVsZWFzZTslKEFkZGl0aW9uYWxMaWJyYXJ5RGlyZWN0b3JpZXMpPC9BZGRpdGlvbmFsTGlicmFyeURpcmVjdG9yaWVzPg0KICAgICAgIDxTdWJTeXN0ZW0+Q29uc29sZTwvU3ViU3lzdGVtPg0KQEAgLTI0MzEsNyArMjQzMSw3IEBACiAgICAgICA8QWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz4uLlwuLlwuLlwuLlxpbmNsdWRlOyUoQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcyk8L0FkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM+DQogICAgIDwvUmVzb3VyY2VDb21waWxlPg0KICAgICA8TGluaz4NCi0gICAgICA8QWRkaXRpb25hbERlcGVuZGVuY2llcz53czJfMzIubGliO3dsZGFwMzIubGliO2xpYmN1cmwubGliO2xpYnNzaDIubGliO2xpYmVheTMyLmxpYjtzc2xlYXkzMi5saWI7JShBZGRpdGlvbmFsRGVwZW5kZW5jaWVzKTwvQWRkaXRpb25hbERlcGVuZGVuY2llcz4NCisgICAgICA8QWRkaXRpb25hbERlcGVuZGVuY2llcz5jcnlwdDMyLmxpYjt3czJfMzIubGliO3dsZGFwMzIubGliO2xpYmN1cmwubGliO2xpYnNzaDIubGliO2xpYmVheTMyLmxpYjtzc2xlYXkzMi5saWI7JShBZGRpdGlvbmFsRGVwZW5kZW5jaWVzKTwvQWRkaXRpb25hbERlcGVuZGVuY2llcz4NCiAgICAgICA8T3V0cHV0RmlsZT4kKE91dERpcikkKFRhcmdldE5hbWUpJChUYXJnZXRFeHQpPC9PdXRwdXRGaWxlPg0KICAgICAgIDxBZGRpdGlvbmFsTGlicmFyeURpcmVjdG9yaWVzPi4uXC4uXC4uXC4uXGJ1aWxkXFdpbjY0XFZDMTFcJChDb25maWd1cmF0aW9uKTsuLlwuLlwuLlwuLlwuLlxvcGVuc3NsXGJ1aWxkXFdpbjY0XFZDMTFcRExMIFJlbGVhc2U7Li5cLi5cLi5cLi5cLi5cbGlic3NoMlxidWlsZFxXaW42NFxWQzExXERMTCBSZWxlYXNlOyUoQWRkaXRpb25hbExpYnJhcnlEaXJlY3Rvcmllcyk8L0FkZGl0aW9uYWxMaWJyYXJ5RGlyZWN0b3JpZXM+DQogICAgICAgPFN1YlN5c3RlbT5Db25zb2xlPC9TdWJTeXN0ZW0+DQpAQCAtMjY4NCw2ICsyNjg0LDcgQEAKICAgPC9JdGVtRGVmaW5pdGlvbkdyb3VwPg0KICAgPEl0ZW1Hcm91cD4NCiAgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlwuLlwuLlwuLlxsaWJcY3VybF9jdHlwZS5jIiAvPg0KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXC4uXC4uXC4uXGxpYlxjdXJsX211bHRpYnl0ZS5jIiAvPg0KICAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXC4uXC4uXC4uXGxpYlxub25ibG9jay5jIiAvPg0KICAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXC4uXC4uXC4uXGxpYlxzdHJ0b29mZnQuYyIgLz4NCiAgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlwuLlwuLlwuLlxsaWJcd2Fybmxlc3MuYyIgLz4NCkBAIC0yNzMyLDYgKzI3MzMsNyBAQAogICA8SXRlbUdyb3VwPg0KICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXC4uXC4uXC4uXGxpYlxjb25maWctd2luMzIuaCIgLz4NCiAgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlwuLlwuLlwuLlxsaWJcY3VybF9jdHlwZS5oIiAvPg0KKyAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXC4uXC4uXC4uXGxpYlxjdXJsX211bHRpYnl0ZS5oIiAvPg0KICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXC4uXC4uXC4uXGxpYlxjdXJsX3NldHVwLmgiIC8+DQogICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5cLi5cLi5cLi5cbGliXG5vbmJsb2NrLmgiIC8+DQogICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5cLi5cLi5cLi5cbGliXHN0cnRvb2ZmdC5oIiAvPg0KZGlmZiAtLWdpdCBhL3Byb2plY3RzL1dpbmRvd3MvVkMxMi9saWIvbGliY3VybC52Y3hwcm9qIGIvcHJvamVjdHMvV2luZG93cy9WQzEyL2xpYi9saWJjdXJsLnZjeHByb2oKaW5kZXggNTQzZjhhMy4uMzU2YjQ5OSAxMDA2NDQKLS0tIGEvcHJvamVjdHMvV2luZG93cy9WQzEyL2xpYi9saWJjdXJsLnZjeHByb2oKKysrIGIvcHJvamVjdHMvV2luZG93cy9WQzEyL2xpYi9saWJjdXJsLnZjeHByb2oKQEAgLTEzNjYsNyArMTM2Niw3IEBACiAgICAgICA8Q3VsdHVyZT4weDA0MDk8L0N1bHR1cmU+DQogICAgIDwvUmVzb3VyY2VDb21waWxlPg0KICAgICA8TGluaz4NCi0gICAgICA8QWRkaXRpb25hbERlcGVuZGVuY2llcz53czJfMzIubGliO3dsZGFwMzIubGliO2xpYmVheTMyLmxpYjtzc2xlYXkzMi5saWI7JShBZGRpdGlvbmFsRGVwZW5kZW5jaWVzKTwvQWRkaXRpb25hbERlcGVuZGVuY2llcz4NCisgICAgICA8QWRkaXRpb25hbERlcGVuZGVuY2llcz5jcnlwdDMyLmxpYjt3czJfMzIubGliO3dsZGFwMzIubGliO2xpYmVheTMyLmxpYjtzc2xlYXkzMi5saWI7JShBZGRpdGlvbmFsRGVwZW5kZW5jaWVzKTwvQWRkaXRpb25hbERlcGVuZGVuY2llcz4NCiAgICAgICA8T3V0cHV0RmlsZT4kKE91dERpcikkKFRhcmdldE5hbWUpJChUYXJnZXRFeHQpPC9PdXRwdXRGaWxlPg0KICAgICAgIDxBZGRpdGlvbmFsTGlicmFyeURpcmVjdG9yaWVzPi4uXC4uXC4uXC4uXC4uXG9wZW5zc2xcYnVpbGRcV2luMzJcVkMxMlxETEwgRGVidWc7JShBZGRpdGlvbmFsTGlicmFyeURpcmVjdG9yaWVzKTwvQWRkaXRpb25hbExpYnJhcnlEaXJlY3Rvcmllcz4NCiAgICAgICA8TWFuaWZlc3RGaWxlPiQoSW50RGlyKSQoVGFyZ2V0RmlsZU5hbWUpLmludGVybWVkaWF0ZS5tYW5pZmVzdDwvTWFuaWZlc3RGaWxlPg0KQEAgLTE0MDAsNyArMTQwMCw3IEBACiAgICAgICA8Q3VsdHVyZT4weDA0MDk8L0N1bHR1cmU+DQogICAgIDwvUmVzb3VyY2VDb21waWxlPg0KICAgICA8TGluaz4NCi0gICAgICA8QWRkaXRpb25hbERlcGVuZGVuY2llcz53czJfMzIubGliO3dsZGFwMzIubGliO2xpYmVheTMyLmxpYjtzc2xlYXkzMi5saWI7JShBZGRpdGlvbmFsRGVwZW5kZW5jaWVzKTwvQWRkaXRpb25hbERlcGVuZGVuY2llcz4NCisgICAgICA8QWRkaXRpb25hbERlcGVuZGVuY2llcz5jcnlwdDMyLmxpYjt3czJfMzIubGliO3dsZGFwMzIubGliO2xpYmVheTMyLmxpYjtzc2xlYXkzMi5saWI7JShBZGRpdGlvbmFsRGVwZW5kZW5jaWVzKTwvQWRkaXRpb25hbERlcGVuZGVuY2llcz4NCiAgICAgICA8T3V0cHV0RmlsZT4kKE91dERpcikkKFRhcmdldE5hbWUpJChUYXJnZXRFeHQpPC9PdXRwdXRGaWxlPg0KICAgICAgIDxBZGRpdGlvbmFsTGlicmFyeURpcmVjdG9yaWVzPi4uXC4uXC4uXC4uXC4uXG9wZW5zc2xcYnVpbGRcV2luNjRcVkMxMlxETEwgRGVidWc7JShBZGRpdGlvbmFsTGlicmFyeURpcmVjdG9yaWVzKTwvQWRkaXRpb25hbExpYnJhcnlEaXJlY3Rvcmllcz4NCiAgICAgICA8R2VuZXJhdGVEZWJ1Z0luZm9ybWF0aW9uPnRydWU8L0dlbmVyYXRlRGVidWdJbmZvcm1hdGlvbj4NCkBAIC0xNDMzLDcgKzE0MzMsNyBAQAogICAgICAgPEN1bHR1cmU+MHgwNDA5PC9DdWx0dXJlPg0KICAgICA8L1Jlc291cmNlQ29tcGlsZT4NCiAgICAgPExpbms+DQotICAgICAgPEFkZGl0aW9uYWxEZXBlbmRlbmNpZXM+d3MyXzMyLmxpYjt3bGRhcDMyLmxpYjtsaWJlYXkzMi5saWI7c3NsZWF5MzIubGliOyUoQWRkaXRpb25hbERlcGVuZGVuY2llcyk8L0FkZGl0aW9uYWxEZXBlbmRlbmNpZXM+DQorICAgICAgPEFkZGl0aW9uYWxEZXBlbmRlbmNpZXM+Y3J5cHQzMi5saWI7d3MyXzMyLmxpYjt3bGRhcDMyLmxpYjtsaWJlYXkzMi5saWI7c3NsZWF5MzIubGliOyUoQWRkaXRpb25hbERlcGVuZGVuY2llcyk8L0FkZGl0aW9uYWxEZXBlbmRlbmNpZXM+DQogICAgICAgPE91dHB1dEZpbGU+JChPdXREaXIpJChUYXJnZXROYW1lKSQoVGFyZ2V0RXh0KTwvT3V0cHV0RmlsZT4NCiAgICAgICA8QWRkaXRpb25hbExpYnJhcnlEaXJlY3Rvcmllcz4uLlwuLlwuLlwuLlwuLlxvcGVuc3NsXGJ1aWxkXFdpbjMyXFZDMTJcRExMIFJlbGVhc2U7JShBZGRpdGlvbmFsTGlicmFyeURpcmVjdG9yaWVzKTwvQWRkaXRpb25hbExpYnJhcnlEaXJlY3Rvcmllcz4NCiAgICAgICA8TWFuaWZlc3RGaWxlPiQoSW50RGlyKSQoVGFyZ2V0RmlsZU5hbWUpLmludGVybWVkaWF0ZS5tYW5pZmVzdDwvTWFuaWZlc3RGaWxlPg0KQEAgLTE0NjUsNyArMTQ2NSw3IEBACiAgICAgICA8Q3VsdHVyZT4weDA0MDk8L0N1bHR1cmU+DQogICAgIDwvUmVzb3VyY2VDb21waWxlPg0KICAgICA8TGluaz4NCi0gICAgICA8QWRkaXRpb25hbERlcGVuZGVuY2llcz53czJfMzIubGliO3dsZGFwMzIubGliO2xpYmVheTMyLmxpYjtzc2xlYXkzMi5saWI7JShBZGRpdGlvbmFsRGVwZW5kZW5jaWVzKTwvQWRkaXRpb25hbERlcGVuZGVuY2llcz4NCisgICAgICA8QWRkaXRpb25hbERlcGVuZGVuY2llcz5jcnlwdDMyLmxpYjt3czJfMzIubGliO3dsZGFwMzIubGliO2xpYmVheTMyLmxpYjtzc2xlYXkzMi5saWI7JShBZGRpdGlvbmFsRGVwZW5kZW5jaWVzKTwvQWRkaXRpb25hbERlcGVuZGVuY2llcz4NCiAgICAgICA8T3V0cHV0RmlsZT4kKE91dERpcikkKFRhcmdldE5hbWUpJChUYXJnZXRFeHQpPC9PdXRwdXRGaWxlPg0KICAgICAgIDxBZGRpdGlvbmFsTGlicmFyeURpcmVjdG9yaWVzPi4uXC4uXC4uXC4uXC4uXG9wZW5zc2xcYnVpbGRcV2luNjRcVkMxMlxETEwgUmVsZWFzZTslKEFkZGl0aW9uYWxMaWJyYXJ5RGlyZWN0b3JpZXMpPC9BZGRpdGlvbmFsTGlicmFyeURpcmVjdG9yaWVzPg0KICAgICAgIDxJbXBvcnRMaWJyYXJ5PiQoVGFyZ2V0RGlyKSQoVGFyZ2V0TmFtZSkubGliPC9JbXBvcnRMaWJyYXJ5Pg0KQEAgLTE3NTYsNyArMTc1Niw3IEBACiAgICAgICA8Q3VsdHVyZT4weDA0MDk8L0N1bHR1cmU+DQogICAgIDwvUmVzb3VyY2VDb21waWxlPg0KICAgICA8TGluaz4NCi0gICAgICA8QWRkaXRpb25hbERlcGVuZGVuY2llcz53czJfMzIubGliO3dsZGFwMzIubGliO2xpYmVheTMyLmxpYjtzc2xlYXkzMi5saWI7bGlic3NoMmQubGliOyUoQWRkaXRpb25hbERlcGVuZGVuY2llcyk8L0FkZGl0aW9uYWxEZXBlbmRlbmNpZXM+DQorICAgICAgPEFkZGl0aW9uYWxEZXBlbmRlbmNpZXM+Y3J5cHQzMi5saWI7d3MyXzMyLmxpYjt3bGRhcDMyLmxpYjtsaWJlYXkzMi5saWI7c3NsZWF5MzIubGliO2xpYnNzaDJkLmxpYjslKEFkZGl0aW9uYWxEZXBlbmRlbmNpZXMpPC9BZGRpdGlvbmFsRGVwZW5kZW5jaWVzPg0KICAgICAgIDxPdXRwdXRGaWxlPiQoT3V0RGlyKSQoVGFyZ2V0TmFtZSkkKFRhcmdldEV4dCk8L091dHB1dEZpbGU+DQogICAgICAgPEFkZGl0aW9uYWxMaWJyYXJ5RGlyZWN0b3JpZXM+Li5cLi5cLi5cLi5cLi5cb3BlbnNzbFxidWlsZFxXaW4zMlxWQzEyXERMTCBEZWJ1ZzsuLlwuLlwuLlwuLlwuLlxsaWJzc2gyXGJ1aWxkXFdpbjMyXFZDMTJcRExMIERlYnVnOyUoQWRkaXRpb25hbExpYnJhcnlEaXJlY3Rvcmllcyk8L0FkZGl0aW9uYWxMaWJyYXJ5RGlyZWN0b3JpZXM+DQogICAgICAgPE1hbmlmZXN0RmlsZT4kKEludERpcikkKFRhcmdldEZpbGVOYW1lKS5pbnRlcm1lZGlhdGUubWFuaWZlc3Q8L01hbmlmZXN0RmlsZT4NCkBAIC0xNzkwLDcgKzE3OTAsNyBAQAogICAgICAgPEN1bHR1cmU+MHgwNDA5PC9DdWx0dXJlPg0KICAgICA8L1Jlc291cmNlQ29tcGlsZT4NCiAgICAgPExpbms+DQotICAgICAgPEFkZGl0aW9uYWxEZXBlbmRlbmNpZXM+d3MyXzMyLmxpYjt3bGRhcDMyLmxpYjtsaWJlYXkzMi5saWI7c3NsZWF5MzIubGliO2xpYnNzaDJkLmxpYjslKEFkZGl0aW9uYWxEZXBlbmRlbmNpZXMpPC9BZGRpdGlvbmFsRGVwZW5kZW5jaWVzPg0KKyAgICAgIDxBZGRpdGlvbmFsRGVwZW5kZW5jaWVzPmNyeXB0MzIubGliO3dzMl8zMi5saWI7d2xkYXAzMi5saWI7bGliZWF5MzIubGliO3NzbGVheTMyLmxpYjtsaWJzc2gyZC5saWI7JShBZGRpdGlvbmFsRGVwZW5kZW5jaWVzKTwvQWRkaXRpb25hbERlcGVuZGVuY2llcz4NCiAgICAgICA8T3V0cHV0RmlsZT4kKE91dERpcikkKFRhcmdldE5hbWUpJChUYXJnZXRFeHQpPC9PdXRwdXRGaWxlPg0KICAgICAgIDxBZGRpdGlvbmFsTGlicmFyeURpcmVjdG9yaWVzPi4uXC4uXC4uXC4uXC4uXG9wZW5zc2xcYnVpbGRcV2luNjRcVkMxMlxETEwgRGVidWc7Li5cLi5cLi5cLi5cLi5cbGlic3NoMlxidWlsZFxXaW42NFxWQzEyXERMTCBEZWJ1ZzslKEFkZGl0aW9uYWxMaWJyYXJ5RGlyZWN0b3JpZXMpPC9BZGRpdGlvbmFsTGlicmFyeURpcmVjdG9yaWVzPg0KICAgICAgIDxHZW5lcmF0ZURlYnVnSW5mb3JtYXRpb24+dHJ1ZTwvR2VuZXJhdGVEZWJ1Z0luZm9ybWF0aW9uPg0KQEAgLTE4MjMsNyArMTgyMyw3IEBACiAgICAgICA8Q3VsdHVyZT4weDA0MDk8L0N1bHR1cmU+DQogICAgIDwvUmVzb3VyY2VDb21waWxlPg0KICAgICA8TGluaz4NCi0gICAgICA8QWRkaXRpb25hbERlcGVuZGVuY2llcz53czJfMzIubGliO3dsZGFwMzIubGliO2xpYmVheTMyLmxpYjtzc2xlYXkzMi5saWI7bGlic3NoMi5saWI7JShBZGRpdGlvbmFsRGVwZW5kZW5jaWVzKTwvQWRkaXRpb25hbERlcGVuZGVuY2llcz4NCisgICAgICA8QWRkaXRpb25hbERlcGVuZGVuY2llcz5jcnlwdDMyLmxpYjt3czJfMzIubGliO3dsZGFwMzIubGliO2xpYmVheTMyLmxpYjtzc2xlYXkzMi5saWI7bGlic3NoMi5saWI7JShBZGRpdGlvbmFsRGVwZW5kZW5jaWVzKTwvQWRkaXRpb25hbERlcGVuZGVuY2llcz4NCiAgICAgICA8T3V0cHV0RmlsZT4kKE91dERpcikkKFRhcmdldE5hbWUpJChUYXJnZXRFeHQpPC9PdXRwdXRGaWxlPg0KICAgICAgIDxBZGRpdGlvbmFsTGlicmFyeURpcmVjdG9yaWVzPi4uXC4uXC4uXC4uXC4uXG9wZW5zc2xcYnVpbGRcV2luMzJcVkMxMlxETEwgUmVsZWFzZTsuLlwuLlwuLlwuLlwuLlxsaWJzc2gyXGJ1aWxkXFdpbjMyXFZDMTJcRExMIFJlbGVhc2U7JShBZGRpdGlvbmFsTGlicmFyeURpcmVjdG9yaWVzKTwvQWRkaXRpb25hbExpYnJhcnlEaXJlY3Rvcmllcz4NCiAgICAgICA8TWFuaWZlc3RGaWxlPiQoSW50RGlyKSQoVGFyZ2V0RmlsZU5hbWUpLmludGVybWVkaWF0ZS5tYW5pZmVzdDwvTWFuaWZlc3RGaWxlPg0KQEAgLTE4NTUsNyArMTg1NSw3IEBACiAgICAgICA8Q3VsdHVyZT4weDA0MDk8L0N1bHR1cmU+DQogICAgIDwvUmVzb3VyY2VDb21waWxlPg0KICAgICA8TGluaz4NCi0gICAgICA8QWRkaXRpb25hbERlcGVuZGVuY2llcz53czJfMzIubGliO3dsZGFwMzIubGliO2xpYmVheTMyLmxpYjtzc2xlYXkzMi5saWI7bGlic3NoMi5saWI7JShBZGRpdGlvbmFsRGVwZW5kZW5jaWVzKTwvQWRkaXRpb25hbERlcGVuZGVuY2llcz4NCisgICAgICA8QWRkaXRpb25hbERlcGVuZGVuY2llcz5jcnlwdDMyLmxpYjt3czJfMzIubGliO3dsZGFwMzIubGliO2xpYmVheTMyLmxpYjtzc2xlYXkzMi5saWI7bGlic3NoMi5saWI7JShBZGRpdGlvbmFsRGVwZW5kZW5jaWVzKTwvQWRkaXRpb25hbERlcGVuZGVuY2llcz4NCiAgICAgICA8T3V0cHV0RmlsZT4kKE91dERpcikkKFRhcmdldE5hbWUpJChUYXJnZXRFeHQpPC9PdXRwdXRGaWxlPg0KICAgICAgIDxBZGRpdGlvbmFsTGlicmFyeURpcmVjdG9yaWVzPi4uXC4uXC4uXC4uXC4uXG9wZW5zc2xcYnVpbGRcV2luNjRcVkMxMlxETEwgUmVsZWFzZTsuLlwuLlwuLlwuLlwuLlxsaWJzc2gyXGJ1aWxkXFdpbjY0XFZDMTJcRExMIFJlbGVhc2U7JShBZGRpdGlvbmFsTGlicmFyeURpcmVjdG9yaWVzKTwvQWRkaXRpb25hbExpYnJhcnlEaXJlY3Rvcmllcz4NCiAgICAgICA8SW1wb3J0TGlicmFyeT4kKFRhcmdldERpcikkKFRhcmdldE5hbWUpLmxpYjwvSW1wb3J0TGlicmFyeT4NCkBAIC0yNDA5LDYgKzI0MDksNyBAQAogICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5cLi5cLi5cLi5cbGliXGRpY3QuYyIgLz4NCiAgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlwuLlwuLlwuLlxsaWJcZG9oLmMiIC8+DQogICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5cLi5cLi5cLi5cbGliXGRvdGRvdC5jIiAvPg0KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXC4uXC4uXC4uXGxpYlxkeW5idWYuYyIgLz4NCiAgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlwuLlwuLlwuLlxsaWJcZWFzeS5jIiAvPg0KICAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXC4uXC4uXC4uXGxpYlxlc2NhcGUuYyIgLz4NCiAgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlwuLlwuLlwuLlxsaWJcZmlsZS5jIiAvPg0KQEAgLTI1MDYsMTIgKzI1MDcsMTQgQEAKICAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXC4uXC4uXC4uXGxpYlx2YXV0aFx2YXV0aC5jIiAvPg0KICAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXC4uXC4uXC4uXGxpYlx2cXVpY1xuZ3RjcDIuYyIgLz4NCiAgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlwuLlwuLlwuLlxsaWJcdnF1aWNccXVpY2hlLmMiIC8+DQorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5cLi5cLi5cLi5cbGliXHZxdWljXHZxdWljLmMiIC8+DQogICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5cLi5cLi5cLi5cbGliXHZzc2hcbGlic3NoMi5jIiAvPg0KICAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXC4uXC4uXC4uXGxpYlx2c3NoXGxpYnNzaC5jIiAvPg0KICAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXC4uXC4uXC4uXGxpYlx2c3NoXHdvbGZzc2guYyIgLz4NCiAgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlwuLlwuLlwuLlxsaWJcdnRsc1xiZWFyc3NsLmMiIC8+DQogICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5cLi5cLi5cLi5cbGliXHZ0bHNcZ3NraXQuYyIgLz4NCiAgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlwuLlwuLlwuLlxsaWJcdnRsc1xndGxzLmMiIC8+DQorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5cLi5cLi5cLi5cbGliXHZ0bHNca2V5bG9nLmMiIC8+DQogICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5cLi5cLi5cLi5cbGliXHZ0bHNcbWJlZHRscy5jIiAvPg0KICAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXC4uXC4uXC4uXGxpYlx2dGxzXG1iZWR0bHNfdGhyZWFkbG9jay5jIiAvPg0KICAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXC4uXC4uXC4uXGxpYlx2dGxzXG1lc2FsaW5rLmMiIC8+DQpAQCAtMjU2Niw2ICsyNTY5LDcgQEAKICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXC4uXC4uXC4uXGxpYlxkaWN0LmgiIC8+DQogICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5cLi5cLi5cLi5cbGliXGRvaC5oIiAvPg0KICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXC4uXC4uXC4uXGxpYlxkb3Rkb3QuaCIgLz4NCisgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlwuLlwuLlwuLlxsaWJcZHluYnVmLmgiIC8+DQogICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5cLi5cLi5cLi5cbGliXGVhc3lpZi5oIiAvPg0KICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXC4uXC4uXC4uXGxpYlxlc2NhcGUuaCIgLz4NCiAgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlwuLlwuLlwuLlxsaWJcZmlsZS5oIiAvPg0KQEAgLTI2NDIsMTAgKzI2NDYsMTIgQEAKICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXC4uXC4uXC4uXGxpYlx2YXV0aFx2YXV0aC5oIiAvPg0KICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXC4uXC4uXC4uXGxpYlx2cXVpY1xuZ3RjcDIuaCIgLz4NCiAgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlwuLlwuLlwuLlxsaWJcdnF1aWNccXVpY2hlLmgiIC8+DQorICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5cLi5cLi5cLi5cbGliXHZxdWljXHZxdWljLmgiIC8+DQogICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5cLi5cLi5cLi5cbGliXHZzc2hcc3NoLmgiIC8+DQogICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5cLi5cLi5cLi5cbGliXHZ0bHNcYmVhcnNzbC5oIiAvPg0KICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXC4uXC4uXC4uXGxpYlx2dGxzXGdza2l0LmgiIC8+DQogICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5cLi5cLi5cLi5cbGliXHZ0bHNcZ3Rscy5oIiAvPg0KKyAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXC4uXC4uXC4uXGxpYlx2dGxzXGtleWxvZy5oIiAvPg0KICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXC4uXC4uXC4uXGxpYlx2dGxzXG1iZWR0bHMuaCIgLz4NCiAgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlwuLlwuLlwuLlxsaWJcdnRsc1xtYmVkdGxzX3RocmVhZGxvY2suaCIgLz4NCiAgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlwuLlwuLlwuLlxsaWJcdnRsc1xtZXNhbGluay5oIiAvPg0KZGlmZiAtLWdpdCBhL3Byb2plY3RzL1dpbmRvd3MvVkMxMi9zcmMvY3VybC52Y3hwcm9qIGIvcHJvamVjdHMvV2luZG93cy9WQzEyL3NyYy9jdXJsLnZjeHByb2oKaW5kZXggMjdkNDExMS4uMDZmODY0MyAxMDA2NDQKLS0tIGEvcHJvamVjdHMvV2luZG93cy9WQzEyL3NyYy9jdXJsLnZjeHByb2oKKysrIGIvcHJvamVjdHMvV2luZG93cy9WQzEyL3NyYy9jdXJsLnZjeHByb2oKQEAgLTIyMTYsNyArMjIxNiw3IEBACiAgICAgICA8QWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz4uLlwuLlwuLlwuLlxpbmNsdWRlOyUoQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcyk8L0FkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM+DQogICAgIDwvUmVzb3VyY2VDb21waWxlPg0KICAgICA8TGluaz4NCi0gICAgICA8QWRkaXRpb25hbERlcGVuZGVuY2llcz53czJfMzIubGliO3dsZGFwMzIubGliO2xpYmN1cmxkLmxpYjtsaWJlYXkzMi5saWI7c3NsZWF5MzIubGliOyUoQWRkaXRpb25hbERlcGVuZGVuY2llcyk8L0FkZGl0aW9uYWxEZXBlbmRlbmNpZXM+DQorICAgICAgPEFkZGl0aW9uYWxEZXBlbmRlbmNpZXM+Y3J5cHQzMi5saWI7d3MyXzMyLmxpYjt3bGRhcDMyLmxpYjtsaWJjdXJsZC5saWI7bGliZWF5MzIubGliO3NzbGVheTMyLmxpYjslKEFkZGl0aW9uYWxEZXBlbmRlbmNpZXMpPC9BZGRpdGlvbmFsRGVwZW5kZW5jaWVzPg0KICAgICAgIDxPdXRwdXRGaWxlPiQoT3V0RGlyKSQoVGFyZ2V0TmFtZSkkKFRhcmdldEV4dCk8L091dHB1dEZpbGU+DQogICAgICAgPEFkZGl0aW9uYWxMaWJyYXJ5RGlyZWN0b3JpZXM+Li5cLi5cLi5cLi5cYnVpbGRcV2luMzJcVkMxMlwkKENvbmZpZ3VyYXRpb24pOy4uXC4uXC4uXC4uXC4uXG9wZW5zc2xcYnVpbGRcV2luMzJcVkMxMlxETEwgRGVidWc7JShBZGRpdGlvbmFsTGlicmFyeURpcmVjdG9yaWVzKTwvQWRkaXRpb25hbExpYnJhcnlEaXJlY3Rvcmllcz4NCiAgICAgICA8R2VuZXJhdGVEZWJ1Z0luZm9ybWF0aW9uPnRydWU8L0dlbmVyYXRlRGVidWdJbmZvcm1hdGlvbj4NCkBAIC0yMjQ4LDcgKzIyNDgsNyBAQAogICAgICAgPEFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM+Li5cLi5cLi5cLi5caW5jbHVkZTslKEFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXMpPC9BZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPg0KICAgICA8L1Jlc291cmNlQ29tcGlsZT4NCiAgICAgPExpbms+DQotICAgICAgPEFkZGl0aW9uYWxEZXBlbmRlbmNpZXM+d3MyXzMyLmxpYjt3bGRhcDMyLmxpYjtsaWJjdXJsZC5saWI7bGliZWF5MzIubGliO3NzbGVheTMyLmxpYjslKEFkZGl0aW9uYWxEZXBlbmRlbmNpZXMpPC9BZGRpdGlvbmFsRGVwZW5kZW5jaWVzPg0KKyAgICAgIDxBZGRpdGlvbmFsRGVwZW5kZW5jaWVzPmNyeXB0MzIubGliO3dzMl8zMi5saWI7d2xkYXAzMi5saWI7bGliY3VybGQubGliO2xpYmVheTMyLmxpYjtzc2xlYXkzMi5saWI7JShBZGRpdGlvbmFsRGVwZW5kZW5jaWVzKTwvQWRkaXRpb25hbERlcGVuZGVuY2llcz4NCiAgICAgICA8T3V0cHV0RmlsZT4kKE91dERpcikkKFRhcmdldE5hbWUpJChUYXJnZXRFeHQpPC9PdXRwdXRGaWxlPg0KICAgICAgIDxBZGRpdGlvbmFsTGlicmFyeURpcmVjdG9yaWVzPi4uXC4uXC4uXC4uXGJ1aWxkXFdpbjY0XFZDMTJcJChDb25maWd1cmF0aW9uKTsuLlwuLlwuLlwuLlwuLlxvcGVuc3NsXGJ1aWxkXFdpbjY0XFZDMTJcRExMIERlYnVnOyUoQWRkaXRpb25hbExpYnJhcnlEaXJlY3Rvcmllcyk8L0FkZGl0aW9uYWxMaWJyYXJ5RGlyZWN0b3JpZXM+DQogICAgICAgPEdlbmVyYXRlRGVidWdJbmZvcm1hdGlvbj50cnVlPC9HZW5lcmF0ZURlYnVnSW5mb3JtYXRpb24+DQpAQCAtMjI3OSw3ICsyMjc5LDcgQEAKICAgICAgIDxBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPi4uXC4uXC4uXC4uXGluY2x1ZGU7JShBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzKTwvQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz4NCiAgICAgPC9SZXNvdXJjZUNvbXBpbGU+DQogICAgIDxMaW5rPg0KLSAgICAgIDxBZGRpdGlvbmFsRGVwZW5kZW5jaWVzPndzMl8zMi5saWI7d2xkYXAzMi5saWI7bGliY3VybC5saWI7bGliZWF5MzIubGliO3NzbGVheTMyLmxpYjslKEFkZGl0aW9uYWxEZXBlbmRlbmNpZXMpPC9BZGRpdGlvbmFsRGVwZW5kZW5jaWVzPg0KKyAgICAgIDxBZGRpdGlvbmFsRGVwZW5kZW5jaWVzPmNyeXB0MzIubGliO3dzMl8zMi5saWI7d2xkYXAzMi5saWI7bGliY3VybC5saWI7bGliZWF5MzIubGliO3NzbGVheTMyLmxpYjslKEFkZGl0aW9uYWxEZXBlbmRlbmNpZXMpPC9BZGRpdGlvbmFsRGVwZW5kZW5jaWVzPg0KICAgICAgIDxPdXRwdXRGaWxlPiQoT3V0RGlyKSQoVGFyZ2V0TmFtZSkkKFRhcmdldEV4dCk8L091dHB1dEZpbGU+DQogICAgICAgPEFkZGl0aW9uYWxMaWJyYXJ5RGlyZWN0b3JpZXM+Li5cLi5cLi5cLi5cYnVpbGRcV2luMzJcVkMxMlwkKENvbmZpZ3VyYXRpb24pOy4uXC4uXC4uXC4uXC4uXG9wZW5zc2xcYnVpbGRcV2luMzJcVkMxMlxETEwgUmVsZWFzZTslKEFkZGl0aW9uYWxMaWJyYXJ5RGlyZWN0b3JpZXMpPC9BZGRpdGlvbmFsTGlicmFyeURpcmVjdG9yaWVzPg0KICAgICAgIDxTdWJTeXN0ZW0+Q29uc29sZTwvU3ViU3lzdGVtPg0KQEAgLTIzMDksNyArMjMwOSw3IEBACiAgICAgICA8QWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz4uLlwuLlwuLlwuLlxpbmNsdWRlOyUoQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcyk8L0FkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM+DQogICAgIDwvUmVzb3VyY2VDb21waWxlPg0KICAgICA8TGluaz4NCi0gICAgICA8QWRkaXRpb25hbERlcGVuZGVuY2llcz53czJfMzIubGliO3dsZGFwMzIubGliO2xpYmN1cmwubGliO2xpYmVheTMyLmxpYjtzc2xlYXkzMi5saWI7JShBZGRpdGlvbmFsRGVwZW5kZW5jaWVzKTwvQWRkaXRpb25hbERlcGVuZGVuY2llcz4NCisgICAgICA8QWRkaXRpb25hbERlcGVuZGVuY2llcz5jcnlwdDMyLmxpYjt3czJfMzIubGliO3dsZGFwMzIubGliO2xpYmN1cmwubGliO2xpYmVheTMyLmxpYjtzc2xlYXkzMi5saWI7JShBZGRpdGlvbmFsRGVwZW5kZW5jaWVzKTwvQWRkaXRpb25hbERlcGVuZGVuY2llcz4NCiAgICAgICA8T3V0cHV0RmlsZT4kKE91dERpcikkKFRhcmdldE5hbWUpJChUYXJnZXRFeHQpPC9PdXRwdXRGaWxlPg0KICAgICAgIDxBZGRpdGlvbmFsTGlicmFyeURpcmVjdG9yaWVzPi4uXC4uXC4uXC4uXGJ1aWxkXFdpbjY0XFZDMTJcJChDb25maWd1cmF0aW9uKTsuLlwuLlwuLlwuLlwuLlxvcGVuc3NsXGJ1aWxkXFdpbjY0XFZDMTJcRExMIFJlbGVhc2U7JShBZGRpdGlvbmFsTGlicmFyeURpcmVjdG9yaWVzKTwvQWRkaXRpb25hbExpYnJhcnlEaXJlY3Rvcmllcz4NCiAgICAgICA8U3ViU3lzdGVtPkNvbnNvbGU8L1N1YlN5c3RlbT4NCkBAIC0yMzM4LDcgKzIzMzgsNyBAQAogICAgICAgPEFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM+Li5cLi5cLi5cLi5caW5jbHVkZTslKEFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXMpPC9BZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPg0KICAgICA8L1Jlc291cmNlQ29tcGlsZT4NCiAgICAgPExpbms+DQotICAgICAgPEFkZGl0aW9uYWxEZXBlbmRlbmNpZXM+d3MyXzMyLmxpYjt3bGRhcDMyLmxpYjtsaWJjdXJsZC5saWI7bGliZWF5MzIubGliO3NzbGVheTMyLmxpYjtsaWJzc2gyZC5saWI7JShBZGRpdGlvbmFsRGVwZW5kZW5jaWVzKTwvQWRkaXRpb25hbERlcGVuZGVuY2llcz4NCisgICAgICA8QWRkaXRpb25hbERlcGVuZGVuY2llcz5jcnlwdDMyLmxpYjt3czJfMzIubGliO3dsZGFwMzIubGliO2xpYmN1cmxkLmxpYjtsaWJlYXkzMi5saWI7c3NsZWF5MzIubGliO2xpYnNzaDJkLmxpYjslKEFkZGl0aW9uYWxEZXBlbmRlbmNpZXMpPC9BZGRpdGlvbmFsRGVwZW5kZW5jaWVzPg0KICAgICAgIDxPdXRwdXRGaWxlPiQoT3V0RGlyKSQoVGFyZ2V0TmFtZSkkKFRhcmdldEV4dCk8L091dHB1dEZpbGU+DQogICAgICAgPEFkZGl0aW9uYWxMaWJyYXJ5RGlyZWN0b3JpZXM+Li5cLi5cLi5cLi5cYnVpbGRcV2luMzJcVkMxMlwkKENvbmZpZ3VyYXRpb24pOy4uXC4uXC4uXC4uXC4uXG9wZW5zc2xcYnVpbGRcV2luMzJcVkMxMlxETEwgRGVidWc7Li5cLi5cLi5cLi5cLi5cbGlic3NoMlxidWlsZFxXaW4zMlxWQzEyXERMTCBEZWJ1ZzslKEFkZGl0aW9uYWxMaWJyYXJ5RGlyZWN0b3JpZXMpPC9BZGRpdGlvbmFsTGlicmFyeURpcmVjdG9yaWVzPg0KICAgICAgIDxHZW5lcmF0ZURlYnVnSW5mb3JtYXRpb24+dHJ1ZTwvR2VuZXJhdGVEZWJ1Z0luZm9ybWF0aW9uPg0KQEAgLTIzNzAsNyArMjM3MCw3IEBACiAgICAgICA8QWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz4uLlwuLlwuLlwuLlxpbmNsdWRlOyUoQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcyk8L0FkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM+DQogICAgIDwvUmVzb3VyY2VDb21waWxlPg0KICAgICA8TGluaz4NCi0gICAgICA8QWRkaXRpb25hbERlcGVuZGVuY2llcz53czJfMzIubGliO3dsZGFwMzIubGliO2xpYmN1cmxkLmxpYjtsaWJlYXkzMi5saWI7c3NsZWF5MzIubGliO2xpYnNzaDJkLmxpYjslKEFkZGl0aW9uYWxEZXBlbmRlbmNpZXMpPC9BZGRpdGlvbmFsRGVwZW5kZW5jaWVzPg0KKyAgICAgIDxBZGRpdGlvbmFsRGVwZW5kZW5jaWVzPmNyeXB0MzIubGliO3dzMl8zMi5saWI7d2xkYXAzMi5saWI7bGliY3VybGQubGliO2xpYmVheTMyLmxpYjtzc2xlYXkzMi5saWI7bGlic3NoMmQubGliOyUoQWRkaXRpb25hbERlcGVuZGVuY2llcyk8L0FkZGl0aW9uYWxEZXBlbmRlbmNpZXM+DQogICAgICAgPE91dHB1dEZpbGU+JChPdXREaXIpJChUYXJnZXROYW1lKSQoVGFyZ2V0RXh0KTwvT3V0cHV0RmlsZT4NCiAgICAgICA8QWRkaXRpb25hbExpYnJhcnlEaXJlY3Rvcmllcz4uLlwuLlwuLlwuLlxidWlsZFxXaW42NFxWQzEyXCQoQ29uZmlndXJhdGlvbik7Li5cLi5cLi5cLi5cLi5cb3BlbnNzbFxidWlsZFxXaW42NFxWQzEyXERMTCBEZWJ1ZzsuLlwuLlwuLlwuLlwuLlxsaWJzc2gyXGJ1aWxkXFdpbjY0XFZDMTJcRExMIERlYnVnOyUoQWRkaXRpb25hbExpYnJhcnlEaXJlY3Rvcmllcyk8L0FkZGl0aW9uYWxMaWJyYXJ5RGlyZWN0b3JpZXM+DQogICAgICAgPEdlbmVyYXRlRGVidWdJbmZvcm1hdGlvbj50cnVlPC9HZW5lcmF0ZURlYnVnSW5mb3JtYXRpb24+DQpAQCAtMjQwMSw3ICsyNDAxLDcgQEAKICAgICAgIDxBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPi4uXC4uXC4uXC4uXGluY2x1ZGU7JShBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzKTwvQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz4NCiAgICAgPC9SZXNvdXJjZUNvbXBpbGU+DQogICAgIDxMaW5rPg0KLSAgICAgIDxBZGRpdGlvbmFsRGVwZW5kZW5jaWVzPndzMl8zMi5saWI7d2xkYXAzMi5saWI7bGliY3VybC5saWI7bGliZWF5MzIubGliO3NzbGVheTMyLmxpYjtsaWJzc2gyLmxpYjslKEFkZGl0aW9uYWxEZXBlbmRlbmNpZXMpPC9BZGRpdGlvbmFsRGVwZW5kZW5jaWVzPg0KKyAgICAgIDxBZGRpdGlvbmFsRGVwZW5kZW5jaWVzPmNyeXB0MzIubGliO3dzMl8zMi5saWI7d2xkYXAzMi5saWI7bGliY3VybC5saWI7bGliZWF5MzIubGliO3NzbGVheTMyLmxpYjtsaWJzc2gyLmxpYjslKEFkZGl0aW9uYWxEZXBlbmRlbmNpZXMpPC9BZGRpdGlvbmFsRGVwZW5kZW5jaWVzPg0KICAgICAgIDxPdXRwdXRGaWxlPiQoT3V0RGlyKSQoVGFyZ2V0TmFtZSkkKFRhcmdldEV4dCk8L091dHB1dEZpbGU+DQogICAgICAgPEFkZGl0aW9uYWxMaWJyYXJ5RGlyZWN0b3JpZXM+Li5cLi5cLi5cLi5cYnVpbGRcV2luMzJcVkMxMlwkKENvbmZpZ3VyYXRpb24pOy4uXC4uXC4uXC4uXC4uXG9wZW5zc2xcYnVpbGRcV2luMzJcVkMxMlxETEwgUmVsZWFzZTsuLlwuLlwuLlwuLlwuLlxsaWJzc2gyXGJ1aWxkXFdpbjMyXFZDMTJcRExMIFJlbGVhc2U7JShBZGRpdGlvbmFsTGlicmFyeURpcmVjdG9yaWVzKTwvQWRkaXRpb25hbExpYnJhcnlEaXJlY3Rvcmllcz4NCiAgICAgICA8U3ViU3lzdGVtPkNvbnNvbGU8L1N1YlN5c3RlbT4NCkBAIC0yNDMxLDcgKzI0MzEsNyBAQAogICAgICAgPEFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM+Li5cLi5cLi5cLi5caW5jbHVkZTslKEFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXMpPC9BZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPg0KICAgICA8L1Jlc291cmNlQ29tcGlsZT4NCiAgICAgPExpbms+DQotICAgICAgPEFkZGl0aW9uYWxEZXBlbmRlbmNpZXM+d3MyXzMyLmxpYjt3bGRhcDMyLmxpYjtsaWJjdXJsLmxpYjtsaWJzc2gyLmxpYjtsaWJlYXkzMi5saWI7c3NsZWF5MzIubGliOyUoQWRkaXRpb25hbERlcGVuZGVuY2llcyk8L0FkZGl0aW9uYWxEZXBlbmRlbmNpZXM+DQorICAgICAgPEFkZGl0aW9uYWxEZXBlbmRlbmNpZXM+Y3J5cHQzMi5saWI7d3MyXzMyLmxpYjt3bGRhcDMyLmxpYjtsaWJjdXJsLmxpYjtsaWJzc2gyLmxpYjtsaWJlYXkzMi5saWI7c3NsZWF5MzIubGliOyUoQWRkaXRpb25hbERlcGVuZGVuY2llcyk8L0FkZGl0aW9uYWxEZXBlbmRlbmNpZXM+DQogICAgICAgPE91dHB1dEZpbGU+JChPdXREaXIpJChUYXJnZXROYW1lKSQoVGFyZ2V0RXh0KTwvT3V0cHV0RmlsZT4NCiAgICAgICA8QWRkaXRpb25hbExpYnJhcnlEaXJlY3Rvcmllcz4uLlwuLlwuLlwuLlxidWlsZFxXaW42NFxWQzEyXCQoQ29uZmlndXJhdGlvbik7Li5cLi5cLi5cLi5cLi5cb3BlbnNzbFxidWlsZFxXaW42NFxWQzEyXERMTCBSZWxlYXNlOy4uXC4uXC4uXC4uXC4uXGxpYnNzaDJcYnVpbGRcV2luNjRcVkMxMlxETEwgUmVsZWFzZTslKEFkZGl0aW9uYWxMaWJyYXJ5RGlyZWN0b3JpZXMpPC9BZGRpdGlvbmFsTGlicmFyeURpcmVjdG9yaWVzPg0KICAgICAgIDxTdWJTeXN0ZW0+Q29uc29sZTwvU3ViU3lzdGVtPg0KQEAgLTI2ODQsNiArMjY4NCw3IEBACiAgIDwvSXRlbURlZmluaXRpb25Hcm91cD4NCiAgIDxJdGVtR3JvdXA+DQogICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5cLi5cLi5cLi5cbGliXGN1cmxfY3R5cGUuYyIgLz4NCisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlwuLlwuLlwuLlxsaWJcY3VybF9tdWx0aWJ5dGUuYyIgLz4NCiAgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlwuLlwuLlwuLlxsaWJcbm9uYmxvY2suYyIgLz4NCiAgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlwuLlwuLlwuLlxsaWJcc3RydG9vZmZ0LmMiIC8+DQogICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5cLi5cLi5cLi5cbGliXHdhcm5sZXNzLmMiIC8+DQpAQCAtMjczMiw2ICsyNzMzLDcgQEAKICAgPEl0ZW1Hcm91cD4NCiAgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlwuLlwuLlwuLlxsaWJcY29uZmlnLXdpbjMyLmgiIC8+DQogICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5cLi5cLi5cLi5cbGliXGN1cmxfY3R5cGUuaCIgLz4NCisgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlwuLlwuLlwuLlxsaWJcY3VybF9tdWx0aWJ5dGUuaCIgLz4NCiAgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlwuLlwuLlwuLlxsaWJcY3VybF9zZXR1cC5oIiAvPg0KICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXC4uXC4uXC4uXGxpYlxub25ibG9jay5oIiAvPg0KICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXC4uXC4uXC4uXGxpYlxzdHJ0b29mZnQuaCIgLz4NCmRpZmYgLS1naXQgYS9wcm9qZWN0cy9XaW5kb3dzL1ZDMTQvbGliL2xpYmN1cmwudmN4cHJvaiBiL3Byb2plY3RzL1dpbmRvd3MvVkMxNC9saWIvbGliY3VybC52Y3hwcm9qCmluZGV4IDY3MjIwMTYuLjg5ZGYyNGIgMTAwNjQ0Ci0tLSBhL3Byb2plY3RzL1dpbmRvd3MvVkMxNC9saWIvbGliY3VybC52Y3hwcm9qCisrKyBiL3Byb2plY3RzL1dpbmRvd3MvVkMxNC9saWIvbGliY3VybC52Y3hwcm9qCkBAIC0xMzY2LDcgKzEzNjYsNyBAQAogICAgICAgPEN1bHR1cmU+MHgwNDA5PC9DdWx0dXJlPg0KICAgICA8L1Jlc291cmNlQ29tcGlsZT4NCiAgICAgPExpbms+DQotICAgICAgPEFkZGl0aW9uYWxEZXBlbmRlbmNpZXM+d3MyXzMyLmxpYjt3bGRhcDMyLmxpYjtsaWJlYXkzMi5saWI7c3NsZWF5MzIubGliOyUoQWRkaXRpb25hbERlcGVuZGVuY2llcyk8L0FkZGl0aW9uYWxEZXBlbmRlbmNpZXM+DQorICAgICAgPEFkZGl0aW9uYWxEZXBlbmRlbmNpZXM+Y3J5cHQzMi5saWI7d3MyXzMyLmxpYjt3bGRhcDMyLmxpYjtsaWJlYXkzMi5saWI7c3NsZWF5MzIubGliOyUoQWRkaXRpb25hbERlcGVuZGVuY2llcyk8L0FkZGl0aW9uYWxEZXBlbmRlbmNpZXM+DQogICAgICAgPE91dHB1dEZpbGU+JChPdXREaXIpJChUYXJnZXROYW1lKSQoVGFyZ2V0RXh0KTwvT3V0cHV0RmlsZT4NCiAgICAgICA8QWRkaXRpb25hbExpYnJhcnlEaXJlY3Rvcmllcz4uLlwuLlwuLlwuLlwuLlxvcGVuc3NsXGJ1aWxkXFdpbjMyXFZDMTRcRExMIERlYnVnOyUoQWRkaXRpb25hbExpYnJhcnlEaXJlY3Rvcmllcyk8L0FkZGl0aW9uYWxMaWJyYXJ5RGlyZWN0b3JpZXM+DQogICAgICAgPE1hbmlmZXN0RmlsZT4kKEludERpcikkKFRhcmdldEZpbGVOYW1lKS5pbnRlcm1lZGlhdGUubWFuaWZlc3Q8L01hbmlmZXN0RmlsZT4NCkBAIC0xNDAwLDcgKzE0MDAsNyBAQAogICAgICAgPEN1bHR1cmU+MHgwNDA5PC9DdWx0dXJlPg0KICAgICA8L1Jlc291cmNlQ29tcGlsZT4NCiAgICAgPExpbms+DQotICAgICAgPEFkZGl0aW9uYWxEZXBlbmRlbmNpZXM+d3MyXzMyLmxpYjt3bGRhcDMyLmxpYjtsaWJlYXkzMi5saWI7c3NsZWF5MzIubGliOyUoQWRkaXRpb25hbERlcGVuZGVuY2llcyk8L0FkZGl0aW9uYWxEZXBlbmRlbmNpZXM+DQorICAgICAgPEFkZGl0aW9uYWxEZXBlbmRlbmNpZXM+Y3J5cHQzMi5saWI7d3MyXzMyLmxpYjt3bGRhcDMyLmxpYjtsaWJlYXkzMi5saWI7c3NsZWF5MzIubGliOyUoQWRkaXRpb25hbERlcGVuZGVuY2llcyk8L0FkZGl0aW9uYWxEZXBlbmRlbmNpZXM+DQogICAgICAgPE91dHB1dEZpbGU+JChPdXREaXIpJChUYXJnZXROYW1lKSQoVGFyZ2V0RXh0KTwvT3V0cHV0RmlsZT4NCiAgICAgICA8QWRkaXRpb25hbExpYnJhcnlEaXJlY3Rvcmllcz4uLlwuLlwuLlwuLlwuLlxvcGVuc3NsXGJ1aWxkXFdpbjY0XFZDMTRcRExMIERlYnVnOyUoQWRkaXRpb25hbExpYnJhcnlEaXJlY3Rvcmllcyk8L0FkZGl0aW9uYWxMaWJyYXJ5RGlyZWN0b3JpZXM+DQogICAgICAgPEdlbmVyYXRlRGVidWdJbmZvcm1hdGlvbj50cnVlPC9HZW5lcmF0ZURlYnVnSW5mb3JtYXRpb24+DQpAQCAtMTQzMyw3ICsxNDMzLDcgQEAKICAgICAgIDxDdWx0dXJlPjB4MDQwOTwvQ3VsdHVyZT4NCiAgICAgPC9SZXNvdXJjZUNvbXBpbGU+DQogICAgIDxMaW5rPg0KLSAgICAgIDxBZGRpdGlvbmFsRGVwZW5kZW5jaWVzPndzMl8zMi5saWI7d2xkYXAzMi5saWI7bGliZWF5MzIubGliO3NzbGVheTMyLmxpYjslKEFkZGl0aW9uYWxEZXBlbmRlbmNpZXMpPC9BZGRpdGlvbmFsRGVwZW5kZW5jaWVzPg0KKyAgICAgIDxBZGRpdGlvbmFsRGVwZW5kZW5jaWVzPmNyeXB0MzIubGliO3dzMl8zMi5saWI7d2xkYXAzMi5saWI7bGliZWF5MzIubGliO3NzbGVheTMyLmxpYjslKEFkZGl0aW9uYWxEZXBlbmRlbmNpZXMpPC9BZGRpdGlvbmFsRGVwZW5kZW5jaWVzPg0KICAgICAgIDxPdXRwdXRGaWxlPiQoT3V0RGlyKSQoVGFyZ2V0TmFtZSkkKFRhcmdldEV4dCk8L091dHB1dEZpbGU+DQogICAgICAgPEFkZGl0aW9uYWxMaWJyYXJ5RGlyZWN0b3JpZXM+Li5cLi5cLi5cLi5cLi5cb3BlbnNzbFxidWlsZFxXaW4zMlxWQzE0XERMTCBSZWxlYXNlOyUoQWRkaXRpb25hbExpYnJhcnlEaXJlY3Rvcmllcyk8L0FkZGl0aW9uYWxMaWJyYXJ5RGlyZWN0b3JpZXM+DQogICAgICAgPE1hbmlmZXN0RmlsZT4kKEludERpcikkKFRhcmdldEZpbGVOYW1lKS5pbnRlcm1lZGlhdGUubWFuaWZlc3Q8L01hbmlmZXN0RmlsZT4NCkBAIC0xNDY1LDcgKzE0NjUsNyBAQAogICAgICAgPEN1bHR1cmU+MHgwNDA5PC9DdWx0dXJlPg0KICAgICA8L1Jlc291cmNlQ29tcGlsZT4NCiAgICAgPExpbms+DQotICAgICAgPEFkZGl0aW9uYWxEZXBlbmRlbmNpZXM+d3MyXzMyLmxpYjt3bGRhcDMyLmxpYjtsaWJlYXkzMi5saWI7c3NsZWF5MzIubGliOyUoQWRkaXRpb25hbERlcGVuZGVuY2llcyk8L0FkZGl0aW9uYWxEZXBlbmRlbmNpZXM+DQorICAgICAgPEFkZGl0aW9uYWxEZXBlbmRlbmNpZXM+Y3J5cHQzMi5saWI7d3MyXzMyLmxpYjt3bGRhcDMyLmxpYjtsaWJlYXkzMi5saWI7c3NsZWF5MzIubGliOyUoQWRkaXRpb25hbERlcGVuZGVuY2llcyk8L0FkZGl0aW9uYWxEZXBlbmRlbmNpZXM+DQogICAgICAgPE91dHB1dEZpbGU+JChPdXREaXIpJChUYXJnZXROYW1lKSQoVGFyZ2V0RXh0KTwvT3V0cHV0RmlsZT4NCiAgICAgICA8QWRkaXRpb25hbExpYnJhcnlEaXJlY3Rvcmllcz4uLlwuLlwuLlwuLlwuLlxvcGVuc3NsXGJ1aWxkXFdpbjY0XFZDMTRcRExMIFJlbGVhc2U7JShBZGRpdGlvbmFsTGlicmFyeURpcmVjdG9yaWVzKTwvQWRkaXRpb25hbExpYnJhcnlEaXJlY3Rvcmllcz4NCiAgICAgICA8SW1wb3J0TGlicmFyeT4kKFRhcmdldERpcikkKFRhcmdldE5hbWUpLmxpYjwvSW1wb3J0TGlicmFyeT4NCkBAIC0xNzU2LDcgKzE3NTYsNyBAQAogICAgICAgPEN1bHR1cmU+MHgwNDA5PC9DdWx0dXJlPg0KICAgICA8L1Jlc291cmNlQ29tcGlsZT4NCiAgICAgPExpbms+DQotICAgICAgPEFkZGl0aW9uYWxEZXBlbmRlbmNpZXM+d3MyXzMyLmxpYjt3bGRhcDMyLmxpYjtsaWJlYXkzMi5saWI7c3NsZWF5MzIubGliO2xpYnNzaDJkLmxpYjslKEFkZGl0aW9uYWxEZXBlbmRlbmNpZXMpPC9BZGRpdGlvbmFsRGVwZW5kZW5jaWVzPg0KKyAgICAgIDxBZGRpdGlvbmFsRGVwZW5kZW5jaWVzPmNyeXB0MzIubGliO3dzMl8zMi5saWI7d2xkYXAzMi5saWI7bGliZWF5MzIubGliO3NzbGVheTMyLmxpYjtsaWJzc2gyZC5saWI7JShBZGRpdGlvbmFsRGVwZW5kZW5jaWVzKTwvQWRkaXRpb25hbERlcGVuZGVuY2llcz4NCiAgICAgICA8T3V0cHV0RmlsZT4kKE91dERpcikkKFRhcmdldE5hbWUpJChUYXJnZXRFeHQpPC9PdXRwdXRGaWxlPg0KICAgICAgIDxBZGRpdGlvbmFsTGlicmFyeURpcmVjdG9yaWVzPi4uXC4uXC4uXC4uXC4uXG9wZW5zc2xcYnVpbGRcV2luMzJcVkMxNFxETEwgRGVidWc7Li5cLi5cLi5cLi5cLi5cbGlic3NoMlxidWlsZFxXaW4zMlxWQzE0XERMTCBEZWJ1ZzslKEFkZGl0aW9uYWxMaWJyYXJ5RGlyZWN0b3JpZXMpPC9BZGRpdGlvbmFsTGlicmFyeURpcmVjdG9yaWVzPg0KICAgICAgIDxNYW5pZmVzdEZpbGU+JChJbnREaXIpJChUYXJnZXRGaWxlTmFtZSkuaW50ZXJtZWRpYXRlLm1hbmlmZXN0PC9NYW5pZmVzdEZpbGU+DQpAQCAtMTc5MCw3ICsxNzkwLDcgQEAKICAgICAgIDxDdWx0dXJlPjB4MDQwOTwvQ3VsdHVyZT4NCiAgICAgPC9SZXNvdXJjZUNvbXBpbGU+DQogICAgIDxMaW5rPg0KLSAgICAgIDxBZGRpdGlvbmFsRGVwZW5kZW5jaWVzPndzMl8zMi5saWI7d2xkYXAzMi5saWI7bGliZWF5MzIubGliO3NzbGVheTMyLmxpYjtsaWJzc2gyZC5saWI7JShBZGRpdGlvbmFsRGVwZW5kZW5jaWVzKTwvQWRkaXRpb25hbERlcGVuZGVuY2llcz4NCisgICAgICA8QWRkaXRpb25hbERlcGVuZGVuY2llcz5jcnlwdDMyLmxpYjt3czJfMzIubGliO3dsZGFwMzIubGliO2xpYmVheTMyLmxpYjtzc2xlYXkzMi5saWI7bGlic3NoMmQubGliOyUoQWRkaXRpb25hbERlcGVuZGVuY2llcyk8L0FkZGl0aW9uYWxEZXBlbmRlbmNpZXM+DQogICAgICAgPE91dHB1dEZpbGU+JChPdXREaXIpJChUYXJnZXROYW1lKSQoVGFyZ2V0RXh0KTwvT3V0cHV0RmlsZT4NCiAgICAgICA8QWRkaXRpb25hbExpYnJhcnlEaXJlY3Rvcmllcz4uLlwuLlwuLlwuLlwuLlxvcGVuc3NsXGJ1aWxkXFdpbjY0XFZDMTRcRExMIERlYnVnOy4uXC4uXC4uXC4uXC4uXGxpYnNzaDJcYnVpbGRcV2luNjRcVkMxNFxETEwgRGVidWc7JShBZGRpdGlvbmFsTGlicmFyeURpcmVjdG9yaWVzKTwvQWRkaXRpb25hbExpYnJhcnlEaXJlY3Rvcmllcz4NCiAgICAgICA8R2VuZXJhdGVEZWJ1Z0luZm9ybWF0aW9uPnRydWU8L0dlbmVyYXRlRGVidWdJbmZvcm1hdGlvbj4NCkBAIC0xODIzLDcgKzE4MjMsNyBAQAogICAgICAgPEN1bHR1cmU+MHgwNDA5PC9DdWx0dXJlPg0KICAgICA8L1Jlc291cmNlQ29tcGlsZT4NCiAgICAgPExpbms+DQotICAgICAgPEFkZGl0aW9uYWxEZXBlbmRlbmNpZXM+d3MyXzMyLmxpYjt3bGRhcDMyLmxpYjtsaWJlYXkzMi5saWI7c3NsZWF5MzIubGliO2xpYnNzaDIubGliOyUoQWRkaXRpb25hbERlcGVuZGVuY2llcyk8L0FkZGl0aW9uYWxEZXBlbmRlbmNpZXM+DQorICAgICAgPEFkZGl0aW9uYWxEZXBlbmRlbmNpZXM+Y3J5cHQzMi5saWI7d3MyXzMyLmxpYjt3bGRhcDMyLmxpYjtsaWJlYXkzMi5saWI7c3NsZWF5MzIubGliO2xpYnNzaDIubGliOyUoQWRkaXRpb25hbERlcGVuZGVuY2llcyk8L0FkZGl0aW9uYWxEZXBlbmRlbmNpZXM+DQogICAgICAgPE91dHB1dEZpbGU+JChPdXREaXIpJChUYXJnZXROYW1lKSQoVGFyZ2V0RXh0KTwvT3V0cHV0RmlsZT4NCiAgICAgICA8QWRkaXRpb25hbExpYnJhcnlEaXJlY3Rvcmllcz4uLlwuLlwuLlwuLlwuLlxvcGVuc3NsXGJ1aWxkXFdpbjMyXFZDMTRcRExMIFJlbGVhc2U7Li5cLi5cLi5cLi5cLi5cbGlic3NoMlxidWlsZFxXaW4zMlxWQzE0XERMTCBSZWxlYXNlOyUoQWRkaXRpb25hbExpYnJhcnlEaXJlY3Rvcmllcyk8L0FkZGl0aW9uYWxMaWJyYXJ5RGlyZWN0b3JpZXM+DQogICAgICAgPE1hbmlmZXN0RmlsZT4kKEludERpcikkKFRhcmdldEZpbGVOYW1lKS5pbnRlcm1lZGlhdGUubWFuaWZlc3Q8L01hbmlmZXN0RmlsZT4NCkBAIC0xODU1LDcgKzE4NTUsNyBAQAogICAgICAgPEN1bHR1cmU+MHgwNDA5PC9DdWx0dXJlPg0KICAgICA8L1Jlc291cmNlQ29tcGlsZT4NCiAgICAgPExpbms+DQotICAgICAgPEFkZGl0aW9uYWxEZXBlbmRlbmNpZXM+d3MyXzMyLmxpYjt3bGRhcDMyLmxpYjtsaWJlYXkzMi5saWI7c3NsZWF5MzIubGliO2xpYnNzaDIubGliOyUoQWRkaXRpb25hbERlcGVuZGVuY2llcyk8L0FkZGl0aW9uYWxEZXBlbmRlbmNpZXM+DQorICAgICAgPEFkZGl0aW9uYWxEZXBlbmRlbmNpZXM+Y3J5cHQzMi5saWI7d3MyXzMyLmxpYjt3bGRhcDMyLmxpYjtsaWJlYXkzMi5saWI7c3NsZWF5MzIubGliO2xpYnNzaDIubGliOyUoQWRkaXRpb25hbERlcGVuZGVuY2llcyk8L0FkZGl0aW9uYWxEZXBlbmRlbmNpZXM+DQogICAgICAgPE91dHB1dEZpbGU+JChPdXREaXIpJChUYXJnZXROYW1lKSQoVGFyZ2V0RXh0KTwvT3V0cHV0RmlsZT4NCiAgICAgICA8QWRkaXRpb25hbExpYnJhcnlEaXJlY3Rvcmllcz4uLlwuLlwuLlwuLlwuLlxvcGVuc3NsXGJ1aWxkXFdpbjY0XFZDMTRcRExMIFJlbGVhc2U7Li5cLi5cLi5cLi5cLi5cbGlic3NoMlxidWlsZFxXaW42NFxWQzE0XERMTCBSZWxlYXNlOyUoQWRkaXRpb25hbExpYnJhcnlEaXJlY3Rvcmllcyk8L0FkZGl0aW9uYWxMaWJyYXJ5RGlyZWN0b3JpZXM+DQogICAgICAgPEltcG9ydExpYnJhcnk+JChUYXJnZXREaXIpJChUYXJnZXROYW1lKS5saWI8L0ltcG9ydExpYnJhcnk+DQpAQCAtMjQwOSw2ICsyNDA5LDcgQEAKICAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXC4uXC4uXC4uXGxpYlxkaWN0LmMiIC8+DQogICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5cLi5cLi5cLi5cbGliXGRvaC5jIiAvPg0KICAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXC4uXC4uXC4uXGxpYlxkb3Rkb3QuYyIgLz4NCisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlwuLlwuLlwuLlxsaWJcZHluYnVmLmMiIC8+DQogICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5cLi5cLi5cLi5cbGliXGVhc3kuYyIgLz4NCiAgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlwuLlwuLlwuLlxsaWJcZXNjYXBlLmMiIC8+DQogICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5cLi5cLi5cLi5cbGliXGZpbGUuYyIgLz4NCkBAIC0yNTA2LDEyICsyNTA3LDE0IEBACiAgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlwuLlwuLlwuLlxsaWJcdmF1dGhcdmF1dGguYyIgLz4NCiAgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlwuLlwuLlwuLlxsaWJcdnF1aWNcbmd0Y3AyLmMiIC8+DQogICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5cLi5cLi5cLi5cbGliXHZxdWljXHF1aWNoZS5jIiAvPg0KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXC4uXC4uXC4uXGxpYlx2cXVpY1x2cXVpYy5jIiAvPg0KICAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXC4uXC4uXC4uXGxpYlx2c3NoXGxpYnNzaDIuYyIgLz4NCiAgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlwuLlwuLlwuLlxsaWJcdnNzaFxsaWJzc2guYyIgLz4NCiAgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlwuLlwuLlwuLlxsaWJcdnNzaFx3b2xmc3NoLmMiIC8+DQogICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5cLi5cLi5cLi5cbGliXHZ0bHNcYmVhcnNzbC5jIiAvPg0KICAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXC4uXC4uXC4uXGxpYlx2dGxzXGdza2l0LmMiIC8+DQogICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5cLi5cLi5cLi5cbGliXHZ0bHNcZ3Rscy5jIiAvPg0KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXC4uXC4uXC4uXGxpYlx2dGxzXGtleWxvZy5jIiAvPg0KICAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXC4uXC4uXC4uXGxpYlx2dGxzXG1iZWR0bHMuYyIgLz4NCiAgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlwuLlwuLlwuLlxsaWJcdnRsc1xtYmVkdGxzX3RocmVhZGxvY2suYyIgLz4NCiAgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlwuLlwuLlwuLlxsaWJcdnRsc1xtZXNhbGluay5jIiAvPg0KQEAgLTI1NjYsNiArMjU2OSw3IEBACiAgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlwuLlwuLlwuLlxsaWJcZGljdC5oIiAvPg0KICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXC4uXC4uXC4uXGxpYlxkb2guaCIgLz4NCiAgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlwuLlwuLlwuLlxsaWJcZG90ZG90LmgiIC8+DQorICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5cLi5cLi5cLi5cbGliXGR5bmJ1Zi5oIiAvPg0KICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXC4uXC4uXC4uXGxpYlxlYXN5aWYuaCIgLz4NCiAgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlwuLlwuLlwuLlxsaWJcZXNjYXBlLmgiIC8+DQogICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5cLi5cLi5cLi5cbGliXGZpbGUuaCIgLz4NCkBAIC0yNjQyLDEwICsyNjQ2LDEyIEBACiAgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlwuLlwuLlwuLlxsaWJcdmF1dGhcdmF1dGguaCIgLz4NCiAgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlwuLlwuLlwuLlxsaWJcdnF1aWNcbmd0Y3AyLmgiIC8+DQogICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5cLi5cLi5cLi5cbGliXHZxdWljXHF1aWNoZS5oIiAvPg0KKyAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXC4uXC4uXC4uXGxpYlx2cXVpY1x2cXVpYy5oIiAvPg0KICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXC4uXC4uXC4uXGxpYlx2c3NoXHNzaC5oIiAvPg0KICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXC4uXC4uXC4uXGxpYlx2dGxzXGJlYXJzc2wuaCIgLz4NCiAgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlwuLlwuLlwuLlxsaWJcdnRsc1xnc2tpdC5oIiAvPg0KICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXC4uXC4uXC4uXGxpYlx2dGxzXGd0bHMuaCIgLz4NCisgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlwuLlwuLlwuLlxsaWJcdnRsc1xrZXlsb2cuaCIgLz4NCiAgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlwuLlwuLlwuLlxsaWJcdnRsc1xtYmVkdGxzLmgiIC8+DQogICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5cLi5cLi5cLi5cbGliXHZ0bHNcbWJlZHRsc190aHJlYWRsb2NrLmgiIC8+DQogICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5cLi5cLi5cLi5cbGliXHZ0bHNcbWVzYWxpbmsuaCIgLz4NCmRpZmYgLS1naXQgYS9wcm9qZWN0cy9XaW5kb3dzL1ZDMTQvc3JjL2N1cmwudmN4cHJvaiBiL3Byb2plY3RzL1dpbmRvd3MvVkMxNC9zcmMvY3VybC52Y3hwcm9qCmluZGV4IGFiNjEzYTMuLjA5ZGFiZmUgMTAwNjQ0Ci0tLSBhL3Byb2plY3RzL1dpbmRvd3MvVkMxNC9zcmMvY3VybC52Y3hwcm9qCisrKyBiL3Byb2plY3RzL1dpbmRvd3MvVkMxNC9zcmMvY3VybC52Y3hwcm9qCkBAIC0yMjE2LDcgKzIyMTYsNyBAQAogICAgICAgPEFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM+Li5cLi5cLi5cLi5caW5jbHVkZTslKEFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXMpPC9BZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPg0KICAgICA8L1Jlc291cmNlQ29tcGlsZT4NCiAgICAgPExpbms+DQotICAgICAgPEFkZGl0aW9uYWxEZXBlbmRlbmNpZXM+d3MyXzMyLmxpYjt3bGRhcDMyLmxpYjtsaWJjdXJsZC5saWI7bGliZWF5MzIubGliO3NzbGVheTMyLmxpYjslKEFkZGl0aW9uYWxEZXBlbmRlbmNpZXMpPC9BZGRpdGlvbmFsRGVwZW5kZW5jaWVzPg0KKyAgICAgIDxBZGRpdGlvbmFsRGVwZW5kZW5jaWVzPmNyeXB0MzIubGliO3dzMl8zMi5saWI7d2xkYXAzMi5saWI7bGliY3VybGQubGliO2xpYmVheTMyLmxpYjtzc2xlYXkzMi5saWI7JShBZGRpdGlvbmFsRGVwZW5kZW5jaWVzKTwvQWRkaXRpb25hbERlcGVuZGVuY2llcz4NCiAgICAgICA8T3V0cHV0RmlsZT4kKE91dERpcikkKFRhcmdldE5hbWUpJChUYXJnZXRFeHQpPC9PdXRwdXRGaWxlPg0KICAgICAgIDxBZGRpdGlvbmFsTGlicmFyeURpcmVjdG9yaWVzPi4uXC4uXC4uXC4uXGJ1aWxkXFdpbjMyXFZDMTRcJChDb25maWd1cmF0aW9uKTsuLlwuLlwuLlwuLlwuLlxvcGVuc3NsXGJ1aWxkXFdpbjMyXFZDMTRcRExMIERlYnVnOyUoQWRkaXRpb25hbExpYnJhcnlEaXJlY3Rvcmllcyk8L0FkZGl0aW9uYWxMaWJyYXJ5RGlyZWN0b3JpZXM+DQogICAgICAgPEdlbmVyYXRlRGVidWdJbmZvcm1hdGlvbj50cnVlPC9HZW5lcmF0ZURlYnVnSW5mb3JtYXRpb24+DQpAQCAtMjI0OCw3ICsyMjQ4LDcgQEAKICAgICAgIDxBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPi4uXC4uXC4uXC4uXGluY2x1ZGU7JShBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzKTwvQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz4NCiAgICAgPC9SZXNvdXJjZUNvbXBpbGU+DQogICAgIDxMaW5rPg0KLSAgICAgIDxBZGRpdGlvbmFsRGVwZW5kZW5jaWVzPndzMl8zMi5saWI7d2xkYXAzMi5saWI7bGliY3VybGQubGliO2xpYmVheTMyLmxpYjtzc2xlYXkzMi5saWI7JShBZGRpdGlvbmFsRGVwZW5kZW5jaWVzKTwvQWRkaXRpb25hbERlcGVuZGVuY2llcz4NCisgICAgICA8QWRkaXRpb25hbERlcGVuZGVuY2llcz5jcnlwdDMyLmxpYjt3czJfMzIubGliO3dsZGFwMzIubGliO2xpYmN1cmxkLmxpYjtsaWJlYXkzMi5saWI7c3NsZWF5MzIubGliOyUoQWRkaXRpb25hbERlcGVuZGVuY2llcyk8L0FkZGl0aW9uYWxEZXBlbmRlbmNpZXM+DQogICAgICAgPE91dHB1dEZpbGU+JChPdXREaXIpJChUYXJnZXROYW1lKSQoVGFyZ2V0RXh0KTwvT3V0cHV0RmlsZT4NCiAgICAgICA8QWRkaXRpb25hbExpYnJhcnlEaXJlY3Rvcmllcz4uLlwuLlwuLlwuLlxidWlsZFxXaW42NFxWQzE0XCQoQ29uZmlndXJhdGlvbik7Li5cLi5cLi5cLi5cLi5cb3BlbnNzbFxidWlsZFxXaW42NFxWQzE0XERMTCBEZWJ1ZzslKEFkZGl0aW9uYWxMaWJyYXJ5RGlyZWN0b3JpZXMpPC9BZGRpdGlvbmFsTGlicmFyeURpcmVjdG9yaWVzPg0KICAgICAgIDxHZW5lcmF0ZURlYnVnSW5mb3JtYXRpb24+dHJ1ZTwvR2VuZXJhdGVEZWJ1Z0luZm9ybWF0aW9uPg0KQEAgLTIyNzksNyArMjI3OSw3IEBACiAgICAgICA8QWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz4uLlwuLlwuLlwuLlxpbmNsdWRlOyUoQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcyk8L0FkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM+DQogICAgIDwvUmVzb3VyY2VDb21waWxlPg0KICAgICA8TGluaz4NCi0gICAgICA8QWRkaXRpb25hbERlcGVuZGVuY2llcz53czJfMzIubGliO3dsZGFwMzIubGliO2xpYmN1cmwubGliO2xpYmVheTMyLmxpYjtzc2xlYXkzMi5saWI7JShBZGRpdGlvbmFsRGVwZW5kZW5jaWVzKTwvQWRkaXRpb25hbERlcGVuZGVuY2llcz4NCisgICAgICA8QWRkaXRpb25hbERlcGVuZGVuY2llcz5jcnlwdDMyLmxpYjt3czJfMzIubGliO3dsZGFwMzIubGliO2xpYmN1cmwubGliO2xpYmVheTMyLmxpYjtzc2xlYXkzMi5saWI7JShBZGRpdGlvbmFsRGVwZW5kZW5jaWVzKTwvQWRkaXRpb25hbERlcGVuZGVuY2llcz4NCiAgICAgICA8T3V0cHV0RmlsZT4kKE91dERpcikkKFRhcmdldE5hbWUpJChUYXJnZXRFeHQpPC9PdXRwdXRGaWxlPg0KICAgICAgIDxBZGRpdGlvbmFsTGlicmFyeURpcmVjdG9yaWVzPi4uXC4uXC4uXC4uXGJ1aWxkXFdpbjMyXFZDMTRcJChDb25maWd1cmF0aW9uKTsuLlwuLlwuLlwuLlwuLlxvcGVuc3NsXGJ1aWxkXFdpbjMyXFZDMTRcRExMIFJlbGVhc2U7JShBZGRpdGlvbmFsTGlicmFyeURpcmVjdG9yaWVzKTwvQWRkaXRpb25hbExpYnJhcnlEaXJlY3Rvcmllcz4NCiAgICAgICA8U3ViU3lzdGVtPkNvbnNvbGU8L1N1YlN5c3RlbT4NCkBAIC0yMzA5LDcgKzIzMDksNyBAQAogICAgICAgPEFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM+Li5cLi5cLi5cLi5caW5jbHVkZTslKEFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXMpPC9BZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPg0KICAgICA8L1Jlc291cmNlQ29tcGlsZT4NCiAgICAgPExpbms+DQotICAgICAgPEFkZGl0aW9uYWxEZXBlbmRlbmNpZXM+d3MyXzMyLmxpYjt3bGRhcDMyLmxpYjtsaWJjdXJsLmxpYjtsaWJlYXkzMi5saWI7c3NsZWF5MzIubGliOyUoQWRkaXRpb25hbERlcGVuZGVuY2llcyk8L0FkZGl0aW9uYWxEZXBlbmRlbmNpZXM+DQorICAgICAgPEFkZGl0aW9uYWxEZXBlbmRlbmNpZXM+Y3J5cHQzMi5saWI7d3MyXzMyLmxpYjt3bGRhcDMyLmxpYjtsaWJjdXJsLmxpYjtsaWJlYXkzMi5saWI7c3NsZWF5MzIubGliOyUoQWRkaXRpb25hbERlcGVuZGVuY2llcyk8L0FkZGl0aW9uYWxEZXBlbmRlbmNpZXM+DQogICAgICAgPE91dHB1dEZpbGU+JChPdXREaXIpJChUYXJnZXROYW1lKSQoVGFyZ2V0RXh0KTwvT3V0cHV0RmlsZT4NCiAgICAgICA8QWRkaXRpb25hbExpYnJhcnlEaXJlY3Rvcmllcz4uLlwuLlwuLlwuLlxidWlsZFxXaW42NFxWQzE0XCQoQ29uZmlndXJhdGlvbik7Li5cLi5cLi5cLi5cLi5cb3BlbnNzbFxidWlsZFxXaW42NFxWQzE0XERMTCBSZWxlYXNlOyUoQWRkaXRpb25hbExpYnJhcnlEaXJlY3Rvcmllcyk8L0FkZGl0aW9uYWxMaWJyYXJ5RGlyZWN0b3JpZXM+DQogICAgICAgPFN1YlN5c3RlbT5Db25zb2xlPC9TdWJTeXN0ZW0+DQpAQCAtMjMzOCw3ICsyMzM4LDcgQEAKICAgICAgIDxBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPi4uXC4uXC4uXC4uXGluY2x1ZGU7JShBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzKTwvQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz4NCiAgICAgPC9SZXNvdXJjZUNvbXBpbGU+DQogICAgIDxMaW5rPg0KLSAgICAgIDxBZGRpdGlvbmFsRGVwZW5kZW5jaWVzPndzMl8zMi5saWI7d2xkYXAzMi5saWI7bGliY3VybGQubGliO2xpYmVheTMyLmxpYjtzc2xlYXkzMi5saWI7bGlic3NoMmQubGliOyUoQWRkaXRpb25hbERlcGVuZGVuY2llcyk8L0FkZGl0aW9uYWxEZXBlbmRlbmNpZXM+DQorICAgICAgPEFkZGl0aW9uYWxEZXBlbmRlbmNpZXM+Y3J5cHQzMi5saWI7d3MyXzMyLmxpYjt3bGRhcDMyLmxpYjtsaWJjdXJsZC5saWI7bGliZWF5MzIubGliO3NzbGVheTMyLmxpYjtsaWJzc2gyZC5saWI7JShBZGRpdGlvbmFsRGVwZW5kZW5jaWVzKTwvQWRkaXRpb25hbERlcGVuZGVuY2llcz4NCiAgICAgICA8T3V0cHV0RmlsZT4kKE91dERpcikkKFRhcmdldE5hbWUpJChUYXJnZXRFeHQpPC9PdXRwdXRGaWxlPg0KICAgICAgIDxBZGRpdGlvbmFsTGlicmFyeURpcmVjdG9yaWVzPi4uXC4uXC4uXC4uXGJ1aWxkXFdpbjMyXFZDMTRcJChDb25maWd1cmF0aW9uKTsuLlwuLlwuLlwuLlwuLlxvcGVuc3NsXGJ1aWxkXFdpbjMyXFZDMTRcRExMIERlYnVnOy4uXC4uXC4uXC4uXC4uXGxpYnNzaDJcYnVpbGRcV2luMzJcVkMxNFxETEwgRGVidWc7JShBZGRpdGlvbmFsTGlicmFyeURpcmVjdG9yaWVzKTwvQWRkaXRpb25hbExpYnJhcnlEaXJlY3Rvcmllcz4NCiAgICAgICA8R2VuZXJhdGVEZWJ1Z0luZm9ybWF0aW9uPnRydWU8L0dlbmVyYXRlRGVidWdJbmZvcm1hdGlvbj4NCkBAIC0yMzcwLDcgKzIzNzAsNyBAQAogICAgICAgPEFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM+Li5cLi5cLi5cLi5caW5jbHVkZTslKEFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXMpPC9BZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPg0KICAgICA8L1Jlc291cmNlQ29tcGlsZT4NCiAgICAgPExpbms+DQotICAgICAgPEFkZGl0aW9uYWxEZXBlbmRlbmNpZXM+d3MyXzMyLmxpYjt3bGRhcDMyLmxpYjtsaWJjdXJsZC5saWI7bGliZWF5MzIubGliO3NzbGVheTMyLmxpYjtsaWJzc2gyZC5saWI7JShBZGRpdGlvbmFsRGVwZW5kZW5jaWVzKTwvQWRkaXRpb25hbERlcGVuZGVuY2llcz4NCisgICAgICA8QWRkaXRpb25hbERlcGVuZGVuY2llcz5jcnlwdDMyLmxpYjt3czJfMzIubGliO3dsZGFwMzIubGliO2xpYmN1cmxkLmxpYjtsaWJlYXkzMi5saWI7c3NsZWF5MzIubGliO2xpYnNzaDJkLmxpYjslKEFkZGl0aW9uYWxEZXBlbmRlbmNpZXMpPC9BZGRpdGlvbmFsRGVwZW5kZW5jaWVzPg0KICAgICAgIDxPdXRwdXRGaWxlPiQoT3V0RGlyKSQoVGFyZ2V0TmFtZSkkKFRhcmdldEV4dCk8L091dHB1dEZpbGU+DQogICAgICAgPEFkZGl0aW9uYWxMaWJyYXJ5RGlyZWN0b3JpZXM+Li5cLi5cLi5cLi5cYnVpbGRcV2luNjRcVkMxNFwkKENvbmZpZ3VyYXRpb24pOy4uXC4uXC4uXC4uXC4uXG9wZW5zc2xcYnVpbGRcV2luNjRcVkMxNFxETEwgRGVidWc7Li5cLi5cLi5cLi5cLi5cbGlic3NoMlxidWlsZFxXaW42NFxWQzE0XERMTCBEZWJ1ZzslKEFkZGl0aW9uYWxMaWJyYXJ5RGlyZWN0b3JpZXMpPC9BZGRpdGlvbmFsTGlicmFyeURpcmVjdG9yaWVzPg0KICAgICAgIDxHZW5lcmF0ZURlYnVnSW5mb3JtYXRpb24+dHJ1ZTwvR2VuZXJhdGVEZWJ1Z0luZm9ybWF0aW9uPg0KQEAgLTI0MDEsNyArMjQwMSw3IEBACiAgICAgICA8QWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz4uLlwuLlwuLlwuLlxpbmNsdWRlOyUoQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcyk8L0FkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM+DQogICAgIDwvUmVzb3VyY2VDb21waWxlPg0KICAgICA8TGluaz4NCi0gICAgICA8QWRkaXRpb25hbERlcGVuZGVuY2llcz53czJfMzIubGliO3dsZGFwMzIubGliO2xpYmN1cmwubGliO2xpYmVheTMyLmxpYjtzc2xlYXkzMi5saWI7bGlic3NoMi5saWI7JShBZGRpdGlvbmFsRGVwZW5kZW5jaWVzKTwvQWRkaXRpb25hbERlcGVuZGVuY2llcz4NCisgICAgICA8QWRkaXRpb25hbERlcGVuZGVuY2llcz5jcnlwdDMyLmxpYjt3czJfMzIubGliO3dsZGFwMzIubGliO2xpYmN1cmwubGliO2xpYmVheTMyLmxpYjtzc2xlYXkzMi5saWI7bGlic3NoMi5saWI7JShBZGRpdGlvbmFsRGVwZW5kZW5jaWVzKTwvQWRkaXRpb25hbERlcGVuZGVuY2llcz4NCiAgICAgICA8T3V0cHV0RmlsZT4kKE91dERpcikkKFRhcmdldE5hbWUpJChUYXJnZXRFeHQpPC9PdXRwdXRGaWxlPg0KICAgICAgIDxBZGRpdGlvbmFsTGlicmFyeURpcmVjdG9yaWVzPi4uXC4uXC4uXC4uXGJ1aWxkXFdpbjMyXFZDMTRcJChDb25maWd1cmF0aW9uKTsuLlwuLlwuLlwuLlwuLlxvcGVuc3NsXGJ1aWxkXFdpbjMyXFZDMTRcRExMIFJlbGVhc2U7Li5cLi5cLi5cLi5cLi5cbGlic3NoMlxidWlsZFxXaW4zMlxWQzE0XERMTCBSZWxlYXNlOyUoQWRkaXRpb25hbExpYnJhcnlEaXJlY3Rvcmllcyk8L0FkZGl0aW9uYWxMaWJyYXJ5RGlyZWN0b3JpZXM+DQogICAgICAgPFN1YlN5c3RlbT5Db25zb2xlPC9TdWJTeXN0ZW0+DQpAQCAtMjQzMSw3ICsyNDMxLDcgQEAKICAgICAgIDxBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPi4uXC4uXC4uXC4uXGluY2x1ZGU7JShBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzKTwvQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz4NCiAgICAgPC9SZXNvdXJjZUNvbXBpbGU+DQogICAgIDxMaW5rPg0KLSAgICAgIDxBZGRpdGlvbmFsRGVwZW5kZW5jaWVzPndzMl8zMi5saWI7d2xkYXAzMi5saWI7bGliY3VybC5saWI7bGlic3NoMi5saWI7bGliZWF5MzIubGliO3NzbGVheTMyLmxpYjslKEFkZGl0aW9uYWxEZXBlbmRlbmNpZXMpPC9BZGRpdGlvbmFsRGVwZW5kZW5jaWVzPg0KKyAgICAgIDxBZGRpdGlvbmFsRGVwZW5kZW5jaWVzPmNyeXB0MzIubGliO3dzMl8zMi5saWI7d2xkYXAzMi5saWI7bGliY3VybC5saWI7bGlic3NoMi5saWI7bGliZWF5MzIubGliO3NzbGVheTMyLmxpYjslKEFkZGl0aW9uYWxEZXBlbmRlbmNpZXMpPC9BZGRpdGlvbmFsRGVwZW5kZW5jaWVzPg0KICAgICAgIDxPdXRwdXRGaWxlPiQoT3V0RGlyKSQoVGFyZ2V0TmFtZSkkKFRhcmdldEV4dCk8L091dHB1dEZpbGU+DQogICAgICAgPEFkZGl0aW9uYWxMaWJyYXJ5RGlyZWN0b3JpZXM+Li5cLi5cLi5cLi5cYnVpbGRcV2luNjRcVkMxNFwkKENvbmZpZ3VyYXRpb24pOy4uXC4uXC4uXC4uXC4uXG9wZW5zc2xcYnVpbGRcV2luNjRcVkMxNFxETEwgUmVsZWFzZTsuLlwuLlwuLlwuLlwuLlxsaWJzc2gyXGJ1aWxkXFdpbjY0XFZDMTRcRExMIFJlbGVhc2U7JShBZGRpdGlvbmFsTGlicmFyeURpcmVjdG9yaWVzKTwvQWRkaXRpb25hbExpYnJhcnlEaXJlY3Rvcmllcz4NCiAgICAgICA8U3ViU3lzdGVtPkNvbnNvbGU8L1N1YlN5c3RlbT4NCkBAIC0yNjg0LDYgKzI2ODQsNyBAQAogICA8L0l0ZW1EZWZpbml0aW9uR3JvdXA+DQogICA8SXRlbUdyb3VwPg0KICAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXC4uXC4uXC4uXGxpYlxjdXJsX2N0eXBlLmMiIC8+DQorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5cLi5cLi5cLi5cbGliXGN1cmxfbXVsdGlieXRlLmMiIC8+DQogICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5cLi5cLi5cLi5cbGliXG5vbmJsb2NrLmMiIC8+DQogICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5cLi5cLi5cLi5cbGliXHN0cnRvb2ZmdC5jIiAvPg0KICAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXC4uXC4uXC4uXGxpYlx3YXJubGVzcy5jIiAvPg0KQEAgLTI3MzIsNiArMjczMyw3IEBACiAgIDxJdGVtR3JvdXA+DQogICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5cLi5cLi5cLi5cbGliXGNvbmZpZy13aW4zMi5oIiAvPg0KICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXC4uXC4uXC4uXGxpYlxjdXJsX2N0eXBlLmgiIC8+DQorICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5cLi5cLi5cLi5cbGliXGN1cmxfbXVsdGlieXRlLmgiIC8+DQogICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5cLi5cLi5cLi5cbGliXGN1cmxfc2V0dXAuaCIgLz4NCiAgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlwuLlwuLlwuLlxsaWJcbm9uYmxvY2suaCIgLz4NCiAgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlwuLlwuLlwuLlxsaWJcc3RydG9vZmZ0LmgiIC8+DQpkaWZmIC0tZ2l0IGEvcHJvamVjdHMvV2luZG93cy9WQzE1L2xpYi9saWJjdXJsLnZjeHByb2ogYi9wcm9qZWN0cy9XaW5kb3dzL1ZDMTUvbGliL2xpYmN1cmwudmN4cHJvagppbmRleCA1OWM3MjFmLi41Mzc3YTBiIDEwMDY0NAotLS0gYS9wcm9qZWN0cy9XaW5kb3dzL1ZDMTUvbGliL2xpYmN1cmwudmN4cHJvagorKysgYi9wcm9qZWN0cy9XaW5kb3dzL1ZDMTUvbGliL2xpYmN1cmwudmN4cHJvagpAQCAtMTM1Nyw3ICsxMzU3LDcgQEAKICAgICAgIDxDdWx0dXJlPjB4MDQwOTwvQ3VsdHVyZT4NCiAgICAgPC9SZXNvdXJjZUNvbXBpbGU+DQogICAgIDxMaW5rPg0KLSAgICAgIDxBZGRpdGlvbmFsRGVwZW5kZW5jaWVzPndzMl8zMi5saWI7d2xkYXAzMi5saWI7bGliZWF5MzIubGliO3NzbGVheTMyLmxpYjslKEFkZGl0aW9uYWxEZXBlbmRlbmNpZXMpPC9BZGRpdGlvbmFsRGVwZW5kZW5jaWVzPg0KKyAgICAgIDxBZGRpdGlvbmFsRGVwZW5kZW5jaWVzPmNyeXB0MzIubGliO3dzMl8zMi5saWI7d2xkYXAzMi5saWI7bGliZWF5MzIubGliO3NzbGVheTMyLmxpYjslKEFkZGl0aW9uYWxEZXBlbmRlbmNpZXMpPC9BZGRpdGlvbmFsRGVwZW5kZW5jaWVzPg0KICAgICAgIDxPdXRwdXRGaWxlPiQoT3V0RGlyKSQoVGFyZ2V0TmFtZSkkKFRhcmdldEV4dCk8L091dHB1dEZpbGU+DQogICAgICAgPEFkZGl0aW9uYWxMaWJyYXJ5RGlyZWN0b3JpZXM+Li5cLi5cLi5cLi5cLi5cb3BlbnNzbFxidWlsZFxXaW4zMlxWQzE1XERMTCBEZWJ1ZzslKEFkZGl0aW9uYWxMaWJyYXJ5RGlyZWN0b3JpZXMpPC9BZGRpdGlvbmFsTGlicmFyeURpcmVjdG9yaWVzPg0KICAgICAgIDxNYW5pZmVzdEZpbGU+JChJbnREaXIpJChUYXJnZXRGaWxlTmFtZSkuaW50ZXJtZWRpYXRlLm1hbmlmZXN0PC9NYW5pZmVzdEZpbGU+DQpAQCAtMTM5MCw3ICsxMzkwLDcgQEAKICAgICAgIDxDdWx0dXJlPjB4MDQwOTwvQ3VsdHVyZT4NCiAgICAgPC9SZXNvdXJjZUNvbXBpbGU+DQogICAgIDxMaW5rPg0KLSAgICAgIDxBZGRpdGlvbmFsRGVwZW5kZW5jaWVzPndzMl8zMi5saWI7d2xkYXAzMi5saWI7bGliZWF5MzIubGliO3NzbGVheTMyLmxpYjslKEFkZGl0aW9uYWxEZXBlbmRlbmNpZXMpPC9BZGRpdGlvbmFsRGVwZW5kZW5jaWVzPg0KKyAgICAgIDxBZGRpdGlvbmFsRGVwZW5kZW5jaWVzPmNyeXB0MzIubGliO3dzMl8zMi5saWI7d2xkYXAzMi5saWI7bGliZWF5MzIubGliO3NzbGVheTMyLmxpYjslKEFkZGl0aW9uYWxEZXBlbmRlbmNpZXMpPC9BZGRpdGlvbmFsRGVwZW5kZW5jaWVzPg0KICAgICAgIDxPdXRwdXRGaWxlPiQoT3V0RGlyKSQoVGFyZ2V0TmFtZSkkKFRhcmdldEV4dCk8L091dHB1dEZpbGU+DQogICAgICAgPEFkZGl0aW9uYWxMaWJyYXJ5RGlyZWN0b3JpZXM+Li5cLi5cLi5cLi5cLi5cb3BlbnNzbFxidWlsZFxXaW42NFxWQzE1XERMTCBEZWJ1ZzslKEFkZGl0aW9uYWxMaWJyYXJ5RGlyZWN0b3JpZXMpPC9BZGRpdGlvbmFsTGlicmFyeURpcmVjdG9yaWVzPg0KICAgICAgIDxHZW5lcmF0ZURlYnVnSW5mb3JtYXRpb24+dHJ1ZTwvR2VuZXJhdGVEZWJ1Z0luZm9ybWF0aW9uPg0KQEAgLTE0MjMsNyArMTQyMyw3IEBACiAgICAgICA8Q3VsdHVyZT4weDA0MDk8L0N1bHR1cmU+DQogICAgIDwvUmVzb3VyY2VDb21waWxlPg0KICAgICA8TGluaz4NCi0gICAgICA8QWRkaXRpb25hbERlcGVuZGVuY2llcz53czJfMzIubGliO3dsZGFwMzIubGliO2xpYmVheTMyLmxpYjtzc2xlYXkzMi5saWI7JShBZGRpdGlvbmFsRGVwZW5kZW5jaWVzKTwvQWRkaXRpb25hbERlcGVuZGVuY2llcz4NCisgICAgICA8QWRkaXRpb25hbERlcGVuZGVuY2llcz5jcnlwdDMyLmxpYjt3czJfMzIubGliO3dsZGFwMzIubGliO2xpYmVheTMyLmxpYjtzc2xlYXkzMi5saWI7JShBZGRpdGlvbmFsRGVwZW5kZW5jaWVzKTwvQWRkaXRpb25hbERlcGVuZGVuY2llcz4NCiAgICAgICA8T3V0cHV0RmlsZT4kKE91dERpcikkKFRhcmdldE5hbWUpJChUYXJnZXRFeHQpPC9PdXRwdXRGaWxlPg0KICAgICAgIDxBZGRpdGlvbmFsTGlicmFyeURpcmVjdG9yaWVzPi4uXC4uXC4uXC4uXC4uXG9wZW5zc2xcYnVpbGRcV2luMzJcVkMxNVxETEwgUmVsZWFzZTslKEFkZGl0aW9uYWxMaWJyYXJ5RGlyZWN0b3JpZXMpPC9BZGRpdGlvbmFsTGlicmFyeURpcmVjdG9yaWVzPg0KICAgICAgIDxNYW5pZmVzdEZpbGU+JChJbnREaXIpJChUYXJnZXRGaWxlTmFtZSkuaW50ZXJtZWRpYXRlLm1hbmlmZXN0PC9NYW5pZmVzdEZpbGU+DQpAQCAtMTQ1NSw3ICsxNDU1LDcgQEAKICAgICAgIDxDdWx0dXJlPjB4MDQwOTwvQ3VsdHVyZT4NCiAgICAgPC9SZXNvdXJjZUNvbXBpbGU+DQogICAgIDxMaW5rPg0KLSAgICAgIDxBZGRpdGlvbmFsRGVwZW5kZW5jaWVzPndzMl8zMi5saWI7d2xkYXAzMi5saWI7bGliZWF5MzIubGliO3NzbGVheTMyLmxpYjslKEFkZGl0aW9uYWxEZXBlbmRlbmNpZXMpPC9BZGRpdGlvbmFsRGVwZW5kZW5jaWVzPg0KKyAgICAgIDxBZGRpdGlvbmFsRGVwZW5kZW5jaWVzPmNyeXB0MzIubGliO3dzMl8zMi5saWI7d2xkYXAzMi5saWI7bGliZWF5MzIubGliO3NzbGVheTMyLmxpYjslKEFkZGl0aW9uYWxEZXBlbmRlbmNpZXMpPC9BZGRpdGlvbmFsRGVwZW5kZW5jaWVzPg0KICAgICAgIDxPdXRwdXRGaWxlPiQoT3V0RGlyKSQoVGFyZ2V0TmFtZSkkKFRhcmdldEV4dCk8L091dHB1dEZpbGU+DQogICAgICAgPEFkZGl0aW9uYWxMaWJyYXJ5RGlyZWN0b3JpZXM+Li5cLi5cLi5cLi5cLi5cb3BlbnNzbFxidWlsZFxXaW42NFxWQzE1XERMTCBSZWxlYXNlOyUoQWRkaXRpb25hbExpYnJhcnlEaXJlY3Rvcmllcyk8L0FkZGl0aW9uYWxMaWJyYXJ5RGlyZWN0b3JpZXM+DQogICAgICAgPEltcG9ydExpYnJhcnk+JChUYXJnZXREaXIpJChUYXJnZXROYW1lKS5saWI8L0ltcG9ydExpYnJhcnk+DQpAQCAtMTc0MSw3ICsxNzQxLDcgQEAKICAgICAgIDxDdWx0dXJlPjB4MDQwOTwvQ3VsdHVyZT4NCiAgICAgPC9SZXNvdXJjZUNvbXBpbGU+DQogICAgIDxMaW5rPg0KLSAgICAgIDxBZGRpdGlvbmFsRGVwZW5kZW5jaWVzPndzMl8zMi5saWI7d2xkYXAzMi5saWI7bGliZWF5MzIubGliO3NzbGVheTMyLmxpYjtsaWJzc2gyZC5saWI7JShBZGRpdGlvbmFsRGVwZW5kZW5jaWVzKTwvQWRkaXRpb25hbERlcGVuZGVuY2llcz4NCisgICAgICA8QWRkaXRpb25hbERlcGVuZGVuY2llcz5jcnlwdDMyLmxpYjt3czJfMzIubGliO3dsZGFwMzIubGliO2xpYmVheTMyLmxpYjtzc2xlYXkzMi5saWI7bGlic3NoMmQubGliOyUoQWRkaXRpb25hbERlcGVuZGVuY2llcyk8L0FkZGl0aW9uYWxEZXBlbmRlbmNpZXM+DQogICAgICAgPE91dHB1dEZpbGU+JChPdXREaXIpJChUYXJnZXROYW1lKSQoVGFyZ2V0RXh0KTwvT3V0cHV0RmlsZT4NCiAgICAgICA8QWRkaXRpb25hbExpYnJhcnlEaXJlY3Rvcmllcz4uLlwuLlwuLlwuLlwuLlxvcGVuc3NsXGJ1aWxkXFdpbjMyXFZDMTVcRExMIERlYnVnOy4uXC4uXC4uXC4uXC4uXGxpYnNzaDJcYnVpbGRcV2luMzJcVkMxNVxETEwgRGVidWc7JShBZGRpdGlvbmFsTGlicmFyeURpcmVjdG9yaWVzKTwvQWRkaXRpb25hbExpYnJhcnlEaXJlY3Rvcmllcz4NCiAgICAgICA8TWFuaWZlc3RGaWxlPiQoSW50RGlyKSQoVGFyZ2V0RmlsZU5hbWUpLmludGVybWVkaWF0ZS5tYW5pZmVzdDwvTWFuaWZlc3RGaWxlPg0KQEAgLTE3NzQsNyArMTc3NCw3IEBACiAgICAgICA8Q3VsdHVyZT4weDA0MDk8L0N1bHR1cmU+DQogICAgIDwvUmVzb3VyY2VDb21waWxlPg0KICAgICA8TGluaz4NCi0gICAgICA8QWRkaXRpb25hbERlcGVuZGVuY2llcz53czJfMzIubGliO3dsZGFwMzIubGliO2xpYmVheTMyLmxpYjtzc2xlYXkzMi5saWI7bGlic3NoMmQubGliOyUoQWRkaXRpb25hbERlcGVuZGVuY2llcyk8L0FkZGl0aW9uYWxEZXBlbmRlbmNpZXM+DQorICAgICAgPEFkZGl0aW9uYWxEZXBlbmRlbmNpZXM+Y3J5cHQzMi5saWI7d3MyXzMyLmxpYjt3bGRhcDMyLmxpYjtsaWJlYXkzMi5saWI7c3NsZWF5MzIubGliO2xpYnNzaDJkLmxpYjslKEFkZGl0aW9uYWxEZXBlbmRlbmNpZXMpPC9BZGRpdGlvbmFsRGVwZW5kZW5jaWVzPg0KICAgICAgIDxPdXRwdXRGaWxlPiQoT3V0RGlyKSQoVGFyZ2V0TmFtZSkkKFRhcmdldEV4dCk8L091dHB1dEZpbGU+DQogICAgICAgPEFkZGl0aW9uYWxMaWJyYXJ5RGlyZWN0b3JpZXM+Li5cLi5cLi5cLi5cLi5cb3BlbnNzbFxidWlsZFxXaW42NFxWQzE1XERMTCBEZWJ1ZzsuLlwuLlwuLlwuLlwuLlxsaWJzc2gyXGJ1aWxkXFdpbjY0XFZDMTVcRExMIERlYnVnOyUoQWRkaXRpb25hbExpYnJhcnlEaXJlY3Rvcmllcyk8L0FkZGl0aW9uYWxMaWJyYXJ5RGlyZWN0b3JpZXM+DQogICAgICAgPEdlbmVyYXRlRGVidWdJbmZvcm1hdGlvbj50cnVlPC9HZW5lcmF0ZURlYnVnSW5mb3JtYXRpb24+DQpAQCAtMTgwNyw3ICsxODA3LDcgQEAKICAgICAgIDxDdWx0dXJlPjB4MDQwOTwvQ3VsdHVyZT4NCiAgICAgPC9SZXNvdXJjZUNvbXBpbGU+DQogICAgIDxMaW5rPg0KLSAgICAgIDxBZGRpdGlvbmFsRGVwZW5kZW5jaWVzPndzMl8zMi5saWI7d2xkYXAzMi5saWI7bGliZWF5MzIubGliO3NzbGVheTMyLmxpYjtsaWJzc2gyLmxpYjslKEFkZGl0aW9uYWxEZXBlbmRlbmNpZXMpPC9BZGRpdGlvbmFsRGVwZW5kZW5jaWVzPg0KKyAgICAgIDxBZGRpdGlvbmFsRGVwZW5kZW5jaWVzPmNyeXB0MzIubGliO3dzMl8zMi5saWI7d2xkYXAzMi5saWI7bGliZWF5MzIubGliO3NzbGVheTMyLmxpYjtsaWJzc2gyLmxpYjslKEFkZGl0aW9uYWxEZXBlbmRlbmNpZXMpPC9BZGRpdGlvbmFsRGVwZW5kZW5jaWVzPg0KICAgICAgIDxPdXRwdXRGaWxlPiQoT3V0RGlyKSQoVGFyZ2V0TmFtZSkkKFRhcmdldEV4dCk8L091dHB1dEZpbGU+DQogICAgICAgPEFkZGl0aW9uYWxMaWJyYXJ5RGlyZWN0b3JpZXM+Li5cLi5cLi5cLi5cLi5cb3BlbnNzbFxidWlsZFxXaW4zMlxWQzE1XERMTCBSZWxlYXNlOy4uXC4uXC4uXC4uXC4uXGxpYnNzaDJcYnVpbGRcV2luMzJcVkMxNVxETEwgUmVsZWFzZTslKEFkZGl0aW9uYWxMaWJyYXJ5RGlyZWN0b3JpZXMpPC9BZGRpdGlvbmFsTGlicmFyeURpcmVjdG9yaWVzPg0KICAgICAgIDxNYW5pZmVzdEZpbGU+JChJbnREaXIpJChUYXJnZXRGaWxlTmFtZSkuaW50ZXJtZWRpYXRlLm1hbmlmZXN0PC9NYW5pZmVzdEZpbGU+DQpAQCAtMTgzOSw3ICsxODM5LDcgQEAKICAgICAgIDxDdWx0dXJlPjB4MDQwOTwvQ3VsdHVyZT4NCiAgICAgPC9SZXNvdXJjZUNvbXBpbGU+DQogICAgIDxMaW5rPg0KLSAgICAgIDxBZGRpdGlvbmFsRGVwZW5kZW5jaWVzPndzMl8zMi5saWI7d2xkYXAzMi5saWI7bGliZWF5MzIubGliO3NzbGVheTMyLmxpYjtsaWJzc2gyLmxpYjslKEFkZGl0aW9uYWxEZXBlbmRlbmNpZXMpPC9BZGRpdGlvbmFsRGVwZW5kZW5jaWVzPg0KKyAgICAgIDxBZGRpdGlvbmFsRGVwZW5kZW5jaWVzPmNyeXB0MzIubGliO3dzMl8zMi5saWI7d2xkYXAzMi5saWI7bGliZWF5MzIubGliO3NzbGVheTMyLmxpYjtsaWJzc2gyLmxpYjslKEFkZGl0aW9uYWxEZXBlbmRlbmNpZXMpPC9BZGRpdGlvbmFsRGVwZW5kZW5jaWVzPg0KICAgICAgIDxPdXRwdXRGaWxlPiQoT3V0RGlyKSQoVGFyZ2V0TmFtZSkkKFRhcmdldEV4dCk8L091dHB1dEZpbGU+DQogICAgICAgPEFkZGl0aW9uYWxMaWJyYXJ5RGlyZWN0b3JpZXM+Li5cLi5cLi5cLi5cLi5cb3BlbnNzbFxidWlsZFxXaW42NFxWQzE1XERMTCBSZWxlYXNlOy4uXC4uXC4uXC4uXC4uXGxpYnNzaDJcYnVpbGRcV2luNjRcVkMxNVxETEwgUmVsZWFzZTslKEFkZGl0aW9uYWxMaWJyYXJ5RGlyZWN0b3JpZXMpPC9BZGRpdGlvbmFsTGlicmFyeURpcmVjdG9yaWVzPg0KICAgICAgIDxJbXBvcnRMaWJyYXJ5PiQoVGFyZ2V0RGlyKSQoVGFyZ2V0TmFtZSkubGliPC9JbXBvcnRMaWJyYXJ5Pg0KQEAgLTIzODEsNiArMjM4MSw3IEBACiAgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlwuLlwuLlwuLlxsaWJcZGljdC5jIiAvPg0KICAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXC4uXC4uXC4uXGxpYlxkb2guYyIgLz4NCiAgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlwuLlwuLlwuLlxsaWJcZG90ZG90LmMiIC8+DQorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5cLi5cLi5cLi5cbGliXGR5bmJ1Zi5jIiAvPg0KICAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXC4uXC4uXC4uXGxpYlxlYXN5LmMiIC8+DQogICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5cLi5cLi5cLi5cbGliXGVzY2FwZS5jIiAvPg0KICAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXC4uXC4uXC4uXGxpYlxmaWxlLmMiIC8+DQpAQCAtMjQ3OCwxMiArMjQ3OSwxNCBAQAogICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5cLi5cLi5cLi5cbGliXHZhdXRoXHZhdXRoLmMiIC8+DQogICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5cLi5cLi5cLi5cbGliXHZxdWljXG5ndGNwMi5jIiAvPg0KICAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXC4uXC4uXC4uXGxpYlx2cXVpY1xxdWljaGUuYyIgLz4NCisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlwuLlwuLlwuLlxsaWJcdnF1aWNcdnF1aWMuYyIgLz4NCiAgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlwuLlwuLlwuLlxsaWJcdnNzaFxsaWJzc2gyLmMiIC8+DQogICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5cLi5cLi5cLi5cbGliXHZzc2hcbGlic3NoLmMiIC8+DQogICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5cLi5cLi5cLi5cbGliXHZzc2hcd29sZnNzaC5jIiAvPg0KICAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXC4uXC4uXC4uXGxpYlx2dGxzXGJlYXJzc2wuYyIgLz4NCiAgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlwuLlwuLlwuLlxsaWJcdnRsc1xnc2tpdC5jIiAvPg0KICAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXC4uXC4uXC4uXGxpYlx2dGxzXGd0bHMuYyIgLz4NCisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlwuLlwuLlwuLlxsaWJcdnRsc1xrZXlsb2cuYyIgLz4NCiAgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlwuLlwuLlwuLlxsaWJcdnRsc1xtYmVkdGxzLmMiIC8+DQogICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5cLi5cLi5cLi5cbGliXHZ0bHNcbWJlZHRsc190aHJlYWRsb2NrLmMiIC8+DQogICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5cLi5cLi5cLi5cbGliXHZ0bHNcbWVzYWxpbmsuYyIgLz4NCkBAIC0yNTM4LDYgKzI1NDEsNyBAQAogICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5cLi5cLi5cLi5cbGliXGRpY3QuaCIgLz4NCiAgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlwuLlwuLlwuLlxsaWJcZG9oLmgiIC8+DQogICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5cLi5cLi5cLi5cbGliXGRvdGRvdC5oIiAvPg0KKyAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXC4uXC4uXC4uXGxpYlxkeW5idWYuaCIgLz4NCiAgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlwuLlwuLlwuLlxsaWJcZWFzeWlmLmgiIC8+DQogICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5cLi5cLi5cLi5cbGliXGVzY2FwZS5oIiAvPg0KICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXC4uXC4uXC4uXGxpYlxmaWxlLmgiIC8+DQpAQCAtMjYxNCwxMCArMjYxOCwxMiBAQAogICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5cLi5cLi5cLi5cbGliXHZhdXRoXHZhdXRoLmgiIC8+DQogICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5cLi5cLi5cLi5cbGliXHZxdWljXG5ndGNwMi5oIiAvPg0KICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXC4uXC4uXC4uXGxpYlx2cXVpY1xxdWljaGUuaCIgLz4NCisgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlwuLlwuLlwuLlxsaWJcdnF1aWNcdnF1aWMuaCIgLz4NCiAgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlwuLlwuLlwuLlxsaWJcdnNzaFxzc2guaCIgLz4NCiAgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlwuLlwuLlwuLlxsaWJcdnRsc1xiZWFyc3NsLmgiIC8+DQogICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5cLi5cLi5cLi5cbGliXHZ0bHNcZ3NraXQuaCIgLz4NCiAgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlwuLlwuLlwuLlxsaWJcdnRsc1xndGxzLmgiIC8+DQorICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5cLi5cLi5cLi5cbGliXHZ0bHNca2V5bG9nLmgiIC8+DQogICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5cLi5cLi5cLi5cbGliXHZ0bHNcbWJlZHRscy5oIiAvPg0KICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXC4uXC4uXC4uXGxpYlx2dGxzXG1iZWR0bHNfdGhyZWFkbG9jay5oIiAvPg0KICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXC4uXC4uXC4uXGxpYlx2dGxzXG1lc2FsaW5rLmgiIC8+DQpkaWZmIC0tZ2l0IGEvcHJvamVjdHMvV2luZG93cy9WQzE1L3NyYy9jdXJsLnZjeHByb2ogYi9wcm9qZWN0cy9XaW5kb3dzL1ZDMTUvc3JjL2N1cmwudmN4cHJvagppbmRleCAzZjU2ZWI2Li5hNTZjNTM1IDEwMDY0NAotLS0gYS9wcm9qZWN0cy9XaW5kb3dzL1ZDMTUvc3JjL2N1cmwudmN4cHJvagorKysgYi9wcm9qZWN0cy9XaW5kb3dzL1ZDMTUvc3JjL2N1cmwudmN4cHJvagpAQCAtMjE5NSw3ICsyMTk1LDcgQEAKICAgICAgIDxBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPi4uXC4uXC4uXC4uXGluY2x1ZGU7JShBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzKTwvQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz4NCiAgICAgPC9SZXNvdXJjZUNvbXBpbGU+DQogICAgIDxMaW5rPg0KLSAgICAgIDxBZGRpdGlvbmFsRGVwZW5kZW5jaWVzPndzMl8zMi5saWI7d2xkYXAzMi5saWI7bGliY3VybGQubGliO2xpYmVheTMyLmxpYjtzc2xlYXkzMi5saWI7JShBZGRpdGlvbmFsRGVwZW5kZW5jaWVzKTwvQWRkaXRpb25hbERlcGVuZGVuY2llcz4NCisgICAgICA8QWRkaXRpb25hbERlcGVuZGVuY2llcz5jcnlwdDMyLmxpYjt3czJfMzIubGliO3dsZGFwMzIubGliO2xpYmN1cmxkLmxpYjtsaWJlYXkzMi5saWI7c3NsZWF5MzIubGliOyUoQWRkaXRpb25hbERlcGVuZGVuY2llcyk8L0FkZGl0aW9uYWxEZXBlbmRlbmNpZXM+DQogICAgICAgPE91dHB1dEZpbGU+JChPdXREaXIpJChUYXJnZXROYW1lKSQoVGFyZ2V0RXh0KTwvT3V0cHV0RmlsZT4NCiAgICAgICA8QWRkaXRpb25hbExpYnJhcnlEaXJlY3Rvcmllcz4uLlwuLlwuLlwuLlxidWlsZFxXaW4zMlxWQzE1XCQoQ29uZmlndXJhdGlvbik7Li5cLi5cLi5cLi5cLi5cb3BlbnNzbFxidWlsZFxXaW4zMlxWQzE1XERMTCBEZWJ1ZzslKEFkZGl0aW9uYWxMaWJyYXJ5RGlyZWN0b3JpZXMpPC9BZGRpdGlvbmFsTGlicmFyeURpcmVjdG9yaWVzPg0KICAgICAgIDxHZW5lcmF0ZURlYnVnSW5mb3JtYXRpb24+dHJ1ZTwvR2VuZXJhdGVEZWJ1Z0luZm9ybWF0aW9uPg0KQEAgLTIyMjYsNyArMjIyNiw3IEBACiAgICAgICA8QWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz4uLlwuLlwuLlwuLlxpbmNsdWRlOyUoQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcyk8L0FkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM+DQogICAgIDwvUmVzb3VyY2VDb21waWxlPg0KICAgICA8TGluaz4NCi0gICAgICA8QWRkaXRpb25hbERlcGVuZGVuY2llcz53czJfMzIubGliO3dsZGFwMzIubGliO2xpYmN1cmxkLmxpYjtsaWJlYXkzMi5saWI7c3NsZWF5MzIubGliOyUoQWRkaXRpb25hbERlcGVuZGVuY2llcyk8L0FkZGl0aW9uYWxEZXBlbmRlbmNpZXM+DQorICAgICAgPEFkZGl0aW9uYWxEZXBlbmRlbmNpZXM+Y3J5cHQzMi5saWI7d3MyXzMyLmxpYjt3bGRhcDMyLmxpYjtsaWJjdXJsZC5saWI7bGliZWF5MzIubGliO3NzbGVheTMyLmxpYjslKEFkZGl0aW9uYWxEZXBlbmRlbmNpZXMpPC9BZGRpdGlvbmFsRGVwZW5kZW5jaWVzPg0KICAgICAgIDxPdXRwdXRGaWxlPiQoT3V0RGlyKSQoVGFyZ2V0TmFtZSkkKFRhcmdldEV4dCk8L091dHB1dEZpbGU+DQogICAgICAgPEFkZGl0aW9uYWxMaWJyYXJ5RGlyZWN0b3JpZXM+Li5cLi5cLi5cLi5cYnVpbGRcV2luNjRcVkMxNVwkKENvbmZpZ3VyYXRpb24pOy4uXC4uXC4uXC4uXC4uXG9wZW5zc2xcYnVpbGRcV2luNjRcVkMxNVxETEwgRGVidWc7JShBZGRpdGlvbmFsTGlicmFyeURpcmVjdG9yaWVzKTwvQWRkaXRpb25hbExpYnJhcnlEaXJlY3Rvcmllcz4NCiAgICAgICA8R2VuZXJhdGVEZWJ1Z0luZm9ybWF0aW9uPnRydWU8L0dlbmVyYXRlRGVidWdJbmZvcm1hdGlvbj4NCkBAIC0yMjU3LDcgKzIyNTcsNyBAQAogICAgICAgPEFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM+Li5cLi5cLi5cLi5caW5jbHVkZTslKEFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXMpPC9BZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPg0KICAgICA8L1Jlc291cmNlQ29tcGlsZT4NCiAgICAgPExpbms+DQotICAgICAgPEFkZGl0aW9uYWxEZXBlbmRlbmNpZXM+d3MyXzMyLmxpYjt3bGRhcDMyLmxpYjtsaWJjdXJsLmxpYjtsaWJlYXkzMi5saWI7c3NsZWF5MzIubGliOyUoQWRkaXRpb25hbERlcGVuZGVuY2llcyk8L0FkZGl0aW9uYWxEZXBlbmRlbmNpZXM+DQorICAgICAgPEFkZGl0aW9uYWxEZXBlbmRlbmNpZXM+Y3J5cHQzMi5saWI7d3MyXzMyLmxpYjt3bGRhcDMyLmxpYjtsaWJjdXJsLmxpYjtsaWJlYXkzMi5saWI7c3NsZWF5MzIubGliOyUoQWRkaXRpb25hbERlcGVuZGVuY2llcyk8L0FkZGl0aW9uYWxEZXBlbmRlbmNpZXM+DQogICAgICAgPE91dHB1dEZpbGU+JChPdXREaXIpJChUYXJnZXROYW1lKSQoVGFyZ2V0RXh0KTwvT3V0cHV0RmlsZT4NCiAgICAgICA8QWRkaXRpb25hbExpYnJhcnlEaXJlY3Rvcmllcz4uLlwuLlwuLlwuLlxidWlsZFxXaW4zMlxWQzE1XCQoQ29uZmlndXJhdGlvbik7Li5cLi5cLi5cLi5cLi5cb3BlbnNzbFxidWlsZFxXaW4zMlxWQzE1XERMTCBSZWxlYXNlOyUoQWRkaXRpb25hbExpYnJhcnlEaXJlY3Rvcmllcyk8L0FkZGl0aW9uYWxMaWJyYXJ5RGlyZWN0b3JpZXM+DQogICAgICAgPFN1YlN5c3RlbT5Db25zb2xlPC9TdWJTeXN0ZW0+DQpAQCAtMjI4Nyw3ICsyMjg3LDcgQEAKICAgICAgIDxBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPi4uXC4uXC4uXC4uXGluY2x1ZGU7JShBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzKTwvQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz4NCiAgICAgPC9SZXNvdXJjZUNvbXBpbGU+DQogICAgIDxMaW5rPg0KLSAgICAgIDxBZGRpdGlvbmFsRGVwZW5kZW5jaWVzPndzMl8zMi5saWI7d2xkYXAzMi5saWI7bGliY3VybC5saWI7bGliZWF5MzIubGliO3NzbGVheTMyLmxpYjslKEFkZGl0aW9uYWxEZXBlbmRlbmNpZXMpPC9BZGRpdGlvbmFsRGVwZW5kZW5jaWVzPg0KKyAgICAgIDxBZGRpdGlvbmFsRGVwZW5kZW5jaWVzPmNyeXB0MzIubGliO3dzMl8zMi5saWI7d2xkYXAzMi5saWI7bGliY3VybC5saWI7bGliZWF5MzIubGliO3NzbGVheTMyLmxpYjslKEFkZGl0aW9uYWxEZXBlbmRlbmNpZXMpPC9BZGRpdGlvbmFsRGVwZW5kZW5jaWVzPg0KICAgICAgIDxPdXRwdXRGaWxlPiQoT3V0RGlyKSQoVGFyZ2V0TmFtZSkkKFRhcmdldEV4dCk8L091dHB1dEZpbGU+DQogICAgICAgPEFkZGl0aW9uYWxMaWJyYXJ5RGlyZWN0b3JpZXM+Li5cLi5cLi5cLi5cYnVpbGRcV2luNjRcVkMxNVwkKENvbmZpZ3VyYXRpb24pOy4uXC4uXC4uXC4uXC4uXG9wZW5zc2xcYnVpbGRcV2luNjRcVkMxNVxETEwgUmVsZWFzZTslKEFkZGl0aW9uYWxMaWJyYXJ5RGlyZWN0b3JpZXMpPC9BZGRpdGlvbmFsTGlicmFyeURpcmVjdG9yaWVzPg0KICAgICAgIDxTdWJTeXN0ZW0+Q29uc29sZTwvU3ViU3lzdGVtPg0KQEAgLTIzMTUsNyArMjMxNSw3IEBACiAgICAgICA8QWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz4uLlwuLlwuLlwuLlxpbmNsdWRlOyUoQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcyk8L0FkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM+DQogICAgIDwvUmVzb3VyY2VDb21waWxlPg0KICAgICA8TGluaz4NCi0gICAgICA8QWRkaXRpb25hbERlcGVuZGVuY2llcz53czJfMzIubGliO3dsZGFwMzIubGliO2xpYmN1cmxkLmxpYjtsaWJlYXkzMi5saWI7c3NsZWF5MzIubGliO2xpYnNzaDJkLmxpYjslKEFkZGl0aW9uYWxEZXBlbmRlbmNpZXMpPC9BZGRpdGlvbmFsRGVwZW5kZW5jaWVzPg0KKyAgICAgIDxBZGRpdGlvbmFsRGVwZW5kZW5jaWVzPmNyeXB0MzIubGliO3dzMl8zMi5saWI7d2xkYXAzMi5saWI7bGliY3VybGQubGliO2xpYmVheTMyLmxpYjtzc2xlYXkzMi5saWI7bGlic3NoMmQubGliOyUoQWRkaXRpb25hbERlcGVuZGVuY2llcyk8L0FkZGl0aW9uYWxEZXBlbmRlbmNpZXM+DQogICAgICAgPE91dHB1dEZpbGU+JChPdXREaXIpJChUYXJnZXROYW1lKSQoVGFyZ2V0RXh0KTwvT3V0cHV0RmlsZT4NCiAgICAgICA8QWRkaXRpb25hbExpYnJhcnlEaXJlY3Rvcmllcz4uLlwuLlwuLlwuLlxidWlsZFxXaW4zMlxWQzE1XCQoQ29uZmlndXJhdGlvbik7Li5cLi5cLi5cLi5cLi5cb3BlbnNzbFxidWlsZFxXaW4zMlxWQzE1XERMTCBEZWJ1ZzsuLlwuLlwuLlwuLlwuLlxsaWJzc2gyXGJ1aWxkXFdpbjMyXFZDMTVcRExMIERlYnVnOyUoQWRkaXRpb25hbExpYnJhcnlEaXJlY3Rvcmllcyk8L0FkZGl0aW9uYWxMaWJyYXJ5RGlyZWN0b3JpZXM+DQogICAgICAgPEdlbmVyYXRlRGVidWdJbmZvcm1hdGlvbj50cnVlPC9HZW5lcmF0ZURlYnVnSW5mb3JtYXRpb24+DQpAQCAtMjM0Niw3ICsyMzQ2LDcgQEAKICAgICAgIDxBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPi4uXC4uXC4uXC4uXGluY2x1ZGU7JShBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzKTwvQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz4NCiAgICAgPC9SZXNvdXJjZUNvbXBpbGU+DQogICAgIDxMaW5rPg0KLSAgICAgIDxBZGRpdGlvbmFsRGVwZW5kZW5jaWVzPndzMl8zMi5saWI7d2xkYXAzMi5saWI7bGliY3VybGQubGliO2xpYmVheTMyLmxpYjtzc2xlYXkzMi5saWI7bGlic3NoMmQubGliOyUoQWRkaXRpb25hbERlcGVuZGVuY2llcyk8L0FkZGl0aW9uYWxEZXBlbmRlbmNpZXM+DQorICAgICAgPEFkZGl0aW9uYWxEZXBlbmRlbmNpZXM+Y3J5cHQzMi5saWI7d3MyXzMyLmxpYjt3bGRhcDMyLmxpYjtsaWJjdXJsZC5saWI7bGliZWF5MzIubGliO3NzbGVheTMyLmxpYjtsaWJzc2gyZC5saWI7JShBZGRpdGlvbmFsRGVwZW5kZW5jaWVzKTwvQWRkaXRpb25hbERlcGVuZGVuY2llcz4NCiAgICAgICA8T3V0cHV0RmlsZT4kKE91dERpcikkKFRhcmdldE5hbWUpJChUYXJnZXRFeHQpPC9PdXRwdXRGaWxlPg0KICAgICAgIDxBZGRpdGlvbmFsTGlicmFyeURpcmVjdG9yaWVzPi4uXC4uXC4uXC4uXGJ1aWxkXFdpbjY0XFZDMTVcJChDb25maWd1cmF0aW9uKTsuLlwuLlwuLlwuLlwuLlxvcGVuc3NsXGJ1aWxkXFdpbjY0XFZDMTVcRExMIERlYnVnOy4uXC4uXC4uXC4uXC4uXGxpYnNzaDJcYnVpbGRcV2luNjRcVkMxNVxETEwgRGVidWc7JShBZGRpdGlvbmFsTGlicmFyeURpcmVjdG9yaWVzKTwvQWRkaXRpb25hbExpYnJhcnlEaXJlY3Rvcmllcz4NCiAgICAgICA8R2VuZXJhdGVEZWJ1Z0luZm9ybWF0aW9uPnRydWU8L0dlbmVyYXRlRGVidWdJbmZvcm1hdGlvbj4NCkBAIC0yMzc3LDcgKzIzNzcsNyBAQAogICAgICAgPEFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM+Li5cLi5cLi5cLi5caW5jbHVkZTslKEFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXMpPC9BZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPg0KICAgICA8L1Jlc291cmNlQ29tcGlsZT4NCiAgICAgPExpbms+DQotICAgICAgPEFkZGl0aW9uYWxEZXBlbmRlbmNpZXM+d3MyXzMyLmxpYjt3bGRhcDMyLmxpYjtsaWJjdXJsLmxpYjtsaWJlYXkzMi5saWI7c3NsZWF5MzIubGliO2xpYnNzaDIubGliOyUoQWRkaXRpb25hbERlcGVuZGVuY2llcyk8L0FkZGl0aW9uYWxEZXBlbmRlbmNpZXM+DQorICAgICAgPEFkZGl0aW9uYWxEZXBlbmRlbmNpZXM+Y3J5cHQzMi5saWI7d3MyXzMyLmxpYjt3bGRhcDMyLmxpYjtsaWJjdXJsLmxpYjtsaWJlYXkzMi5saWI7c3NsZWF5MzIubGliO2xpYnNzaDIubGliOyUoQWRkaXRpb25hbERlcGVuZGVuY2llcyk8L0FkZGl0aW9uYWxEZXBlbmRlbmNpZXM+DQogICAgICAgPE91dHB1dEZpbGU+JChPdXREaXIpJChUYXJnZXROYW1lKSQoVGFyZ2V0RXh0KTwvT3V0cHV0RmlsZT4NCiAgICAgICA8QWRkaXRpb25hbExpYnJhcnlEaXJlY3Rvcmllcz4uLlwuLlwuLlwuLlxidWlsZFxXaW4zMlxWQzE1XCQoQ29uZmlndXJhdGlvbik7Li5cLi5cLi5cLi5cLi5cb3BlbnNzbFxidWlsZFxXaW4zMlxWQzE1XERMTCBSZWxlYXNlOy4uXC4uXC4uXC4uXC4uXGxpYnNzaDJcYnVpbGRcV2luMzJcVkMxNVxETEwgUmVsZWFzZTslKEFkZGl0aW9uYWxMaWJyYXJ5RGlyZWN0b3JpZXMpPC9BZGRpdGlvbmFsTGlicmFyeURpcmVjdG9yaWVzPg0KICAgICAgIDxTdWJTeXN0ZW0+Q29uc29sZTwvU3ViU3lzdGVtPg0KQEAgLTI0MDcsNyArMjQwNyw3IEBACiAgICAgICA8QWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz4uLlwuLlwuLlwuLlxpbmNsdWRlOyUoQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcyk8L0FkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM+DQogICAgIDwvUmVzb3VyY2VDb21waWxlPg0KICAgICA8TGluaz4NCi0gICAgICA8QWRkaXRpb25hbERlcGVuZGVuY2llcz53czJfMzIubGliO3dsZGFwMzIubGliO2xpYmN1cmwubGliO2xpYnNzaDIubGliO2xpYmVheTMyLmxpYjtzc2xlYXkzMi5saWI7JShBZGRpdGlvbmFsRGVwZW5kZW5jaWVzKTwvQWRkaXRpb25hbERlcGVuZGVuY2llcz4NCisgICAgICA8QWRkaXRpb25hbERlcGVuZGVuY2llcz5jcnlwdDMyLmxpYjt3czJfMzIubGliO3dsZGFwMzIubGliO2xpYmN1cmwubGliO2xpYnNzaDIubGliO2xpYmVheTMyLmxpYjtzc2xlYXkzMi5saWI7JShBZGRpdGlvbmFsRGVwZW5kZW5jaWVzKTwvQWRkaXRpb25hbERlcGVuZGVuY2llcz4NCiAgICAgICA8T3V0cHV0RmlsZT4kKE91dERpcikkKFRhcmdldE5hbWUpJChUYXJnZXRFeHQpPC9PdXRwdXRGaWxlPg0KICAgICAgIDxBZGRpdGlvbmFsTGlicmFyeURpcmVjdG9yaWVzPi4uXC4uXC4uXC4uXGJ1aWxkXFdpbjY0XFZDMTVcJChDb25maWd1cmF0aW9uKTsuLlwuLlwuLlwuLlwuLlxvcGVuc3NsXGJ1aWxkXFdpbjY0XFZDMTVcRExMIFJlbGVhc2U7Li5cLi5cLi5cLi5cLi5cbGlic3NoMlxidWlsZFxXaW42NFxWQzE1XERMTCBSZWxlYXNlOyUoQWRkaXRpb25hbExpYnJhcnlEaXJlY3Rvcmllcyk8L0FkZGl0aW9uYWxMaWJyYXJ5RGlyZWN0b3JpZXM+DQogICAgICAgPFN1YlN5c3RlbT5Db25zb2xlPC9TdWJTeXN0ZW0+DQpAQCAtMjY1Niw2ICsyNjU2LDcgQEAKICAgPC9JdGVtRGVmaW5pdGlvbkdyb3VwPg0KICAgPEl0ZW1Hcm91cD4NCiAgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlwuLlwuLlwuLlxsaWJcY3VybF9jdHlwZS5jIiAvPg0KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXC4uXC4uXC4uXGxpYlxjdXJsX211bHRpYnl0ZS5jIiAvPg0KICAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXC4uXC4uXC4uXGxpYlxub25ibG9jay5jIiAvPg0KICAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXC4uXC4uXC4uXGxpYlxzdHJ0b29mZnQuYyIgLz4NCiAgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlwuLlwuLlwuLlxsaWJcd2Fybmxlc3MuYyIgLz4NCkBAIC0yNzA0LDYgKzI3MDUsNyBAQAogICA8SXRlbUdyb3VwPg0KICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXC4uXC4uXC4uXGxpYlxjb25maWctd2luMzIuaCIgLz4NCiAgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlwuLlwuLlwuLlxsaWJcY3VybF9jdHlwZS5oIiAvPg0KKyAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXC4uXC4uXC4uXGxpYlxjdXJsX211bHRpYnl0ZS5oIiAvPg0KICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXC4uXC4uXC4uXGxpYlxjdXJsX3NldHVwLmgiIC8+DQogICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5cLi5cLi5cLi5cbGliXG5vbmJsb2NrLmgiIC8+DQogICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5cLi5cLi5cLi5cbGliXHN0cnRvb2ZmdC5oIiAvPg0KZGlmZiAtLWdpdCBhL3Byb2plY3RzL1dpbmRvd3MvVkM2L2xpYi9saWJjdXJsLmRzcCBiL3Byb2plY3RzL1dpbmRvd3MvVkM2L2xpYi9saWJjdXJsLmRzcAppbmRleCA1OThlZjdlLi44YWNiOGUxIDEwMDY0NAotLS0gYS9wcm9qZWN0cy9XaW5kb3dzL1ZDNi9saWIvbGliY3VybC5kc3AKKysrIGIvcHJvamVjdHMvV2luZG93cy9WQzYvbGliL2xpYmN1cmwuZHNwCkBAIC0xMDUsOCArMTA1LDggQEAKICMgQUREIEJBU0UgQlNDMzIgL25vbG9nbw0KICMgQUREIEJTQzMyIC9ub2xvZ28NCiBMSU5LMzI9bGluay5leGUNCi0jIEFERCBCQVNFIExJTkszMiBhZHZhcGkzMi5saWIgd2xkYXAzMi5saWIgd3MyXzMyLmxpYiBsaWJlYXkzMi5saWIgc3NsZWF5MzIubGliIC9ub2xvZ28gL2RsbCAvaW5jcmVtZW50YWw6bm8gL2RlYnVnIC9tYWNoaW5lOkkzODYgL291dDoiLi5cLi5cLi5cLi5cYnVpbGRcV2luMzJcVkM2XERMTCBEZWJ1ZyAtIERMTCBPcGVuU1NMXGxpYmN1cmxkLmRsbCIgL3BkYnR5cGU6Y29uIC9maXhlZDpubw0KLSMgQUREIExJTkszMiBhZHZhcGkzMi5saWIgd2xkYXAzMi5saWIgd3MyXzMyLmxpYiBsaWJlYXkzMi5saWIgc3NsZWF5MzIubGliIC9ub2xvZ28gL2RsbCAvaW5jcmVtZW50YWw6bm8gL2RlYnVnIC9tYWNoaW5lOkkzODYgL291dDoiLi5cLi5cLi5cLi5cYnVpbGRcV2luMzJcVkM2XERMTCBEZWJ1ZyAtIERMTCBPcGVuU1NMXGxpYmN1cmxkLmRsbCIgL3BkYnR5cGU6Y29uIC9saWJwYXRoOiIuLlwuLlwuLlwuLlwuLlxvcGVuc3NsXGJ1aWxkXFdpbjMyXFZDNlxETEwgRGVidWciIC9maXhlZDpubw0KKyMgQUREIEJBU0UgTElOSzMyIGNyeXB0MzIubGliIGFkdmFwaTMyLmxpYiB3bGRhcDMyLmxpYiB3czJfMzIubGliIGxpYmVheTMyLmxpYiBzc2xlYXkzMi5saWIgL25vbG9nbyAvZGxsIC9pbmNyZW1lbnRhbDpubyAvZGVidWcgL21hY2hpbmU6STM4NiAvb3V0OiIuLlwuLlwuLlwuLlxidWlsZFxXaW4zMlxWQzZcRExMIERlYnVnIC0gRExMIE9wZW5TU0xcbGliY3VybGQuZGxsIiAvcGRidHlwZTpjb24gL2ZpeGVkOm5vDQorIyBBREQgTElOSzMyIGNyeXB0MzIubGliIGFkdmFwaTMyLmxpYiB3bGRhcDMyLmxpYiB3czJfMzIubGliIGxpYmVheTMyLmxpYiBzc2xlYXkzMi5saWIgL25vbG9nbyAvZGxsIC9pbmNyZW1lbnRhbDpubyAvZGVidWcgL21hY2hpbmU6STM4NiAvb3V0OiIuLlwuLlwuLlwuLlxidWlsZFxXaW4zMlxWQzZcRExMIERlYnVnIC0gRExMIE9wZW5TU0xcbGliY3VybGQuZGxsIiAvcGRidHlwZTpjb24gL2xpYnBhdGg6Ii4uXC4uXC4uXC4uXC4uXG9wZW5zc2xcYnVpbGRcV2luMzJcVkM2XERMTCBEZWJ1ZyIgL2ZpeGVkOm5vDQogDQogIUVMU0VJRiAgIiQoQ0ZHKSIgPT0gImxpYmN1cmwgLSBXaW4zMiBETEwgRGVidWcgRExMIE9wZW5TU0wgRExMIExpYlNTSDIiDQogDQpAQCAtMTM1LDggKzEzNSw4IEBACiAjIEFERCBCQVNFIEJTQzMyIC9ub2xvZ28NCiAjIEFERCBCU0MzMiAvbm9sb2dvDQogTElOSzMyPWxpbmsuZXhlDQotIyBBREQgQkFTRSBMSU5LMzIgYWR2YXBpMzIubGliIHdsZGFwMzIubGliIHdzMl8zMi5saWIgbGliZWF5MzIubGliIHNzbGVheTMyLmxpYiBsaWJzc2gyZC5saWIgL25vbG9nbyAvZGxsIC9pbmNyZW1lbnRhbDpubyAvZGVidWcgL21hY2hpbmU6STM4NiAvb3V0OiIuLlwuLlwuLlwuLlxidWlsZFxXaW4zMlxWQzZcRExMIERlYnVnIC0gRExMIE9wZW5TU0wgLSBETEwgTGliU1NIMlxsaWJjdXJsZC5kbGwiIC9wZGJ0eXBlOmNvbiAvbGlicGF0aDoiLi5cLi5cLi5cLi5cLi5cb3BlbnNzbFxidWlsZFxXaW4zMlxWQzZcRExMIERlYnVnIiAvbGlicGF0aDoiLi5cLi5cLi5cLi5cLi5cbGlic3NoMlxidWlsZFxXaW4zMlxWQzZcRExMIERlYnVnIiAvZml4ZWQ6bm8NCi0jIEFERCBMSU5LMzIgYWR2YXBpMzIubGliIHdsZGFwMzIubGliIHdzMl8zMi5saWIgbGliZWF5MzIubGliIHNzbGVheTMyLmxpYiBsaWJzc2gyZC5saWIgL25vbG9nbyAvZGxsIC9pbmNyZW1lbnRhbDpubyAvZGVidWcgL21hY2hpbmU6STM4NiAvb3V0OiIuLlwuLlwuLlwuLlxidWlsZFxXaW4zMlxWQzZcRExMIERlYnVnIC0gRExMIE9wZW5TU0wgLSBETEwgTGliU1NIMlxsaWJjdXJsZC5kbGwiIC9wZGJ0eXBlOmNvbiAvbGlicGF0aDoiLi5cLi5cLi5cLi5cLi5cb3BlbnNzbFxidWlsZFxXaW4zMlxWQzZcRExMIERlYnVnIiAvbGlicGF0aDoiLi5cLi5cLi5cLi5cLi5cbGlic3NoMlxidWlsZFxXaW4zMlxWQzZcRExMIERlYnVnIiAvZml4ZWQ6bm8NCisjIEFERCBCQVNFIExJTkszMiBjcnlwdDMyLmxpYiBhZHZhcGkzMi5saWIgd2xkYXAzMi5saWIgd3MyXzMyLmxpYiBsaWJlYXkzMi5saWIgc3NsZWF5MzIubGliIGxpYnNzaDJkLmxpYiAvbm9sb2dvIC9kbGwgL2luY3JlbWVudGFsOm5vIC9kZWJ1ZyAvbWFjaGluZTpJMzg2IC9vdXQ6Ii4uXC4uXC4uXC4uXGJ1aWxkXFdpbjMyXFZDNlxETEwgRGVidWcgLSBETEwgT3BlblNTTCAtIERMTCBMaWJTU0gyXGxpYmN1cmxkLmRsbCIgL3BkYnR5cGU6Y29uIC9saWJwYXRoOiIuLlwuLlwuLlwuLlwuLlxvcGVuc3NsXGJ1aWxkXFdpbjMyXFZDNlxETEwgRGVidWciIC9saWJwYXRoOiIuLlwuLlwuLlwuLlwuLlxsaWJzc2gyXGJ1aWxkXFdpbjMyXFZDNlxETEwgRGVidWciIC9maXhlZDpubw0KKyMgQUREIExJTkszMiBjcnlwdDMyLmxpYiBhZHZhcGkzMi5saWIgd2xkYXAzMi5saWIgd3MyXzMyLmxpYiBsaWJlYXkzMi5saWIgc3NsZWF5MzIubGliIGxpYnNzaDJkLmxpYiAvbm9sb2dvIC9kbGwgL2luY3JlbWVudGFsOm5vIC9kZWJ1ZyAvbWFjaGluZTpJMzg2IC9vdXQ6Ii4uXC4uXC4uXC4uXGJ1aWxkXFdpbjMyXFZDNlxETEwgRGVidWcgLSBETEwgT3BlblNTTCAtIERMTCBMaWJTU0gyXGxpYmN1cmxkLmRsbCIgL3BkYnR5cGU6Y29uIC9saWJwYXRoOiIuLlwuLlwuLlwuLlwuLlxvcGVuc3NsXGJ1aWxkXFdpbjMyXFZDNlxETEwgRGVidWciIC9saWJwYXRoOiIuLlwuLlwuLlwuLlwuLlxsaWJzc2gyXGJ1aWxkXFdpbjMyXFZDNlxETEwgRGVidWciIC9maXhlZDpubw0KIA0KICFFTFNFSUYgICIkKENGRykiID09ICJsaWJjdXJsIC0gV2luMzIgRExMIERlYnVnIERMTCBXaW5kb3dzIFNTUEkiDQogDQpAQCAtMjU0LDggKzI1NCw4IEBACiAjIEFERCBCQVNFIEJTQzMyIC9ub2xvZ28NCiAjIEFERCBCU0MzMiAvbm9sb2dvDQogTElOSzMyPWxpbmsuZXhlDQotIyBBREQgQkFTRSBMSU5LMzIgYWR2YXBpMzIubGliIHdsZGFwMzIubGliIHdzMl8zMi5saWIgbGliZWF5MzIubGliIHNzbGVheTMyLmxpYiAvbm9sb2dvIC9kbGwgL3BkYjpub25lIC9tYWNoaW5lOkkzODYgL2ZpeGVkOm5vIC9yZWxlYXNlDQotIyBBREQgTElOSzMyIGFkdmFwaTMyLmxpYiB3bGRhcDMyLmxpYiB3czJfMzIubGliIGxpYmVheTMyLmxpYiBzc2xlYXkzMi5saWIgL25vbG9nbyAvZGxsIC9wZGI6bm9uZSAvbWFjaGluZTpJMzg2IC9saWJwYXRoOiIuLlwuLlwuLlwuLlwuLlxvcGVuc3NsXGJ1aWxkXFdpbjMyXFZDNlxETEwgUmVsZWFzZSIgL2ZpeGVkOm5vIC9yZWxlYXNlDQorIyBBREQgQkFTRSBMSU5LMzIgY3J5cHQzMi5saWIgYWR2YXBpMzIubGliIHdsZGFwMzIubGliIHdzMl8zMi5saWIgbGliZWF5MzIubGliIHNzbGVheTMyLmxpYiAvbm9sb2dvIC9kbGwgL3BkYjpub25lIC9tYWNoaW5lOkkzODYgL2ZpeGVkOm5vIC9yZWxlYXNlDQorIyBBREQgTElOSzMyIGNyeXB0MzIubGliIGFkdmFwaTMyLmxpYiB3bGRhcDMyLmxpYiB3czJfMzIubGliIGxpYmVheTMyLmxpYiBzc2xlYXkzMi5saWIgL25vbG9nbyAvZGxsIC9wZGI6bm9uZSAvbWFjaGluZTpJMzg2IC9saWJwYXRoOiIuLlwuLlwuLlwuLlwuLlxvcGVuc3NsXGJ1aWxkXFdpbjMyXFZDNlxETEwgUmVsZWFzZSIgL2ZpeGVkOm5vIC9yZWxlYXNlDQogDQogIUVMU0VJRiAgIiQoQ0ZHKSIgPT0gImxpYmN1cmwgLSBXaW4zMiBETEwgUmVsZWFzZSBETEwgT3BlblNTTCBETEwgTGliU1NIMiINCiANCkBAIC0yODQsOCArMjg0LDggQEAKICMgQUREIEJBU0UgQlNDMzIgL25vbG9nbw0KICMgQUREIEJTQzMyIC9ub2xvZ28NCiBMSU5LMzI9bGluay5leGUNCi0jIEFERCBCQVNFIExJTkszMiBhZHZhcGkzMi5saWIgd2xkYXAzMi5saWIgd3MyXzMyLmxpYiBsaWJlYXkzMi5saWIgc3NsZWF5MzIubGliIGxpYnNzaDIubGliIC9ub2xvZ28gL2RsbCAvcGRiOm5vbmUgL21hY2hpbmU6STM4NiAvbGlicGF0aDoiLi5cLi5cLi5cLi5cLi5cb3BlbnNzbFxidWlsZFxXaW4zMlxWQzZcRExMIFJlbGVhc2UiIC9saWJwYXRoOiIuLlwuLlwuLlwuLlwuLlxsaWJzc2gyXGJ1aWxkXFdpbjMyXFZDNlxETEwgUmVsZWFzZSIgL2ZpeGVkOm5vIC9yZWxlYXNlDQotIyBBREQgTElOSzMyIGFkdmFwaTMyLmxpYiB3bGRhcDMyLmxpYiB3czJfMzIubGliIGxpYmVheTMyLmxpYiBzc2xlYXkzMi5saWIgbGlic3NoMi5saWIgL25vbG9nbyAvZGxsIC9wZGI6bm9uZSAvbWFjaGluZTpJMzg2IC9saWJwYXRoOiIuLlwuLlwuLlwuLlwuLlxvcGVuc3NsXGJ1aWxkXFdpbjMyXFZDNlxETEwgUmVsZWFzZSIgL2xpYnBhdGg6Ii4uXC4uXC4uXC4uXC4uXGxpYnNzaDJcYnVpbGRcV2luMzJcVkM2XERMTCBSZWxlYXNlIiAvZml4ZWQ6bm8gL3JlbGVhc2UNCisjIEFERCBCQVNFIExJTkszMiBjcnlwdDMyLmxpYiBhZHZhcGkzMi5saWIgd2xkYXAzMi5saWIgd3MyXzMyLmxpYiBsaWJlYXkzMi5saWIgc3NsZWF5MzIubGliIGxpYnNzaDIubGliIC9ub2xvZ28gL2RsbCAvcGRiOm5vbmUgL21hY2hpbmU6STM4NiAvbGlicGF0aDoiLi5cLi5cLi5cLi5cLi5cb3BlbnNzbFxidWlsZFxXaW4zMlxWQzZcRExMIFJlbGVhc2UiIC9saWJwYXRoOiIuLlwuLlwuLlwuLlwuLlxsaWJzc2gyXGJ1aWxkXFdpbjMyXFZDNlxETEwgUmVsZWFzZSIgL2ZpeGVkOm5vIC9yZWxlYXNlDQorIyBBREQgTElOSzMyIGNyeXB0MzIubGliIGFkdmFwaTMyLmxpYiB3bGRhcDMyLmxpYiB3czJfMzIubGliIGxpYmVheTMyLmxpYiBzc2xlYXkzMi5saWIgbGlic3NoMi5saWIgL25vbG9nbyAvZGxsIC9wZGI6bm9uZSAvbWFjaGluZTpJMzg2IC9saWJwYXRoOiIuLlwuLlwuLlwuLlwuLlxvcGVuc3NsXGJ1aWxkXFdpbjMyXFZDNlxETEwgUmVsZWFzZSIgL2xpYnBhdGg6Ii4uXC4uXC4uXC4uXC4uXGxpYnNzaDJcYnVpbGRcV2luMzJcVkM2XERMTCBSZWxlYXNlIiAvZml4ZWQ6bm8gL3JlbGVhc2UNCiANCiAhRUxTRUlGICAiJChDRkcpIiA9PSAibGliY3VybCAtIFdpbjMyIERMTCBSZWxlYXNlIERMTCBXaW5kb3dzIFNTUEkiDQogDQpAQCAtODUwLDYgKzg1MCwxMCBAQAogIyBFbmQgU291cmNlIEZpbGUNCiAjIEJlZ2luIFNvdXJjZSBGaWxlDQogDQorU09VUkNFPS4uXC4uXC4uXC4uXGxpYlxkeW5idWYuYw0KKyMgRW5kIFNvdXJjZSBGaWxlDQorIyBCZWdpbiBTb3VyY2UgRmlsZQ0KKw0KIFNPVVJDRT0uLlwuLlwuLlwuLlxsaWJcZWFzeS5jDQogIyBFbmQgU291cmNlIEZpbGUNCiAjIEJlZ2luIFNvdXJjZSBGaWxlDQpAQCAtMTIzOCw2ICsxMjQyLDEwIEBACiAjIEVuZCBTb3VyY2UgRmlsZQ0KICMgQmVnaW4gU291cmNlIEZpbGUNCiANCitTT1VSQ0U9Li5cLi5cLi5cLi5cbGliXHZxdWljXHZxdWljLmMNCisjIEVuZCBTb3VyY2UgRmlsZQ0KKyMgQmVnaW4gU291cmNlIEZpbGUNCisNCiBTT1VSQ0U9Li5cLi5cLi5cLi5cbGliXHZzc2hcbGlic3NoMi5jDQogIyBFbmQgU291cmNlIEZpbGUNCiAjIEJlZ2luIFNvdXJjZSBGaWxlDQpAQCAtMTI2Miw2ICsxMjcwLDEwIEBACiAjIEVuZCBTb3VyY2UgRmlsZQ0KICMgQmVnaW4gU291cmNlIEZpbGUNCiANCitTT1VSQ0U9Li5cLi5cLi5cLi5cbGliXHZ0bHNca2V5bG9nLmMNCisjIEVuZCBTb3VyY2UgRmlsZQ0KKyMgQmVnaW4gU291cmNlIEZpbGUNCisNCiBTT1VSQ0U9Li5cLi5cLi5cLi5cbGliXHZ0bHNcbWJlZHRscy5jDQogIyBFbmQgU291cmNlIEZpbGUNCiAjIEJlZ2luIFNvdXJjZSBGaWxlDQpAQCAtMTQ3NCw2ICsxNDg2LDEwIEBACiAjIEVuZCBTb3VyY2UgRmlsZQ0KICMgQmVnaW4gU291cmNlIEZpbGUNCiANCitTT1VSQ0U9Li5cLi5cLi5cLi5cbGliXGR5bmJ1Zi5oDQorIyBFbmQgU291cmNlIEZpbGUNCisjIEJlZ2luIFNvdXJjZSBGaWxlDQorDQogU09VUkNFPS4uXC4uXC4uXC4uXGxpYlxlYXN5aWYuaA0KICMgRW5kIFNvdXJjZSBGaWxlDQogIyBCZWdpbiBTb3VyY2UgRmlsZQ0KQEAgLTE3NzgsNiArMTc5NCwxMCBAQAogIyBFbmQgU291cmNlIEZpbGUNCiAjIEJlZ2luIFNvdXJjZSBGaWxlDQogDQorU09VUkNFPS4uXC4uXC4uXC4uXGxpYlx2cXVpY1x2cXVpYy5oDQorIyBFbmQgU291cmNlIEZpbGUNCisjIEJlZ2luIFNvdXJjZSBGaWxlDQorDQogU09VUkNFPS4uXC4uXC4uXC4uXGxpYlx2c3NoXHNzaC5oDQogIyBFbmQgU291cmNlIEZpbGUNCiAjIEJlZ2luIFNvdXJjZSBGaWxlDQpAQCAtMTc5NCw2ICsxODE0LDEwIEBACiAjIEVuZCBTb3VyY2UgRmlsZQ0KICMgQmVnaW4gU291cmNlIEZpbGUNCiANCitTT1VSQ0U9Li5cLi5cLi5cLi5cbGliXHZ0bHNca2V5bG9nLmgNCisjIEVuZCBTb3VyY2UgRmlsZQ0KKyMgQmVnaW4gU291cmNlIEZpbGUNCisNCiBTT1VSQ0U9Li5cLi5cLi5cLi5cbGliXHZ0bHNcbWJlZHRscy5oDQogIyBFbmQgU291cmNlIEZpbGUNCiAjIEJlZ2luIFNvdXJjZSBGaWxlDQpkaWZmIC0tZ2l0IGEvcHJvamVjdHMvV2luZG93cy9WQzYvc3JjL2N1cmwuZHNwIGIvcHJvamVjdHMvV2luZG93cy9WQzYvc3JjL2N1cmwuZHNwCmluZGV4IDdhZWE4ZTIuLmNlN2JiZmYgMTAwNjQ0Ci0tLSBhL3Byb2plY3RzL1dpbmRvd3MvVkM2L3NyYy9jdXJsLmRzcAorKysgYi9wcm9qZWN0cy9XaW5kb3dzL1ZDNi9zcmMvY3VybC5kc3AKQEAgLTM0NCw4ICszNDQsOCBAQAogIyBBREQgQkFTRSBCU0MzMiAvbm9sb2dvDQogIyBBREQgQlNDMzIgL25vbG9nbw0KIExJTkszMj1saW5rLmV4ZQ0KLSMgQUREIEJBU0UgTElOSzMyIGFkdmFwaTMyLmxpYiB3bGRhcDMyLmxpYiB3czJfMzIubGliIGxpYmN1cmxkLmxpYiBsaWJlYXkzMi5saWIgc3NsZWF5MzIubGliIC9ub2xvZ28gL3N1YnN5c3RlbTpjb25zb2xlIC9pbmNyZW1lbnRhbDpubyAvZGVidWcgL21hY2hpbmU6STM4NiAvb3V0OiIuLlwuLlwuLlwuLlxidWlsZFxXaW4zMlxWQzZcTElCIERlYnVnIC0gRExMIE9wZW5TU0xcY3VybGQuZXhlIiAvcGRidHlwZTpjb24gL2xpYnBhdGg6Ii4uXC4uXC4uXC4uXGJ1aWxkXFdpbjMyXFZDNlxMSUIgRGVidWcgLSBETEwgT3BlblNTTCIgL2ZpeGVkOm5vDQotIyBBREQgTElOSzMyIGFkdmFwaTMyLmxpYiB3bGRhcDMyLmxpYiB3czJfMzIubGliIGxpYmN1cmxkLmxpYiBsaWJlYXkzMi5saWIgc3NsZWF5MzIubGliIC9ub2xvZ28gL3N1YnN5c3RlbTpjb25zb2xlIC9pbmNyZW1lbnRhbDpubyAvZGVidWcgL21hY2hpbmU6STM4NiAvb3V0OiIuLlwuLlwuLlwuLlxidWlsZFxXaW4zMlxWQzZcTElCIERlYnVnIC0gRExMIE9wZW5TU0xcY3VybGQuZXhlIiAvcGRidHlwZTpjb24gL2xpYnBhdGg6Ii4uXC4uXC4uXC4uXGJ1aWxkXFdpbjMyXFZDNlxMSUIgRGVidWcgLSBETEwgT3BlblNTTCIgL2xpYnBhdGg6Ii4uXC4uXC4uXC4uXC4uXG9wZW5zc2xcYnVpbGRcV2luMzJcVkM2XERMTCBEZWJ1ZyIgL2ZpeGVkOm5vDQorIyBBREQgQkFTRSBMSU5LMzIgY3J5cHQzMi5saWIgYWR2YXBpMzIubGliIHdsZGFwMzIubGliIHdzMl8zMi5saWIgbGliY3VybGQubGliIGxpYmVheTMyLmxpYiBzc2xlYXkzMi5saWIgL25vbG9nbyAvc3Vic3lzdGVtOmNvbnNvbGUgL2luY3JlbWVudGFsOm5vIC9kZWJ1ZyAvbWFjaGluZTpJMzg2IC9vdXQ6Ii4uXC4uXC4uXC4uXGJ1aWxkXFdpbjMyXFZDNlxMSUIgRGVidWcgLSBETEwgT3BlblNTTFxjdXJsZC5leGUiIC9wZGJ0eXBlOmNvbiAvbGlicGF0aDoiLi5cLi5cLi5cLi5cYnVpbGRcV2luMzJcVkM2XExJQiBEZWJ1ZyAtIERMTCBPcGVuU1NMIiAvZml4ZWQ6bm8NCisjIEFERCBMSU5LMzIgY3J5cHQzMi5saWIgYWR2YXBpMzIubGliIHdsZGFwMzIubGliIHdzMl8zMi5saWIgbGliY3VybGQubGliIGxpYmVheTMyLmxpYiBzc2xlYXkzMi5saWIgL25vbG9nbyAvc3Vic3lzdGVtOmNvbnNvbGUgL2luY3JlbWVudGFsOm5vIC9kZWJ1ZyAvbWFjaGluZTpJMzg2IC9vdXQ6Ii4uXC4uXC4uXC4uXGJ1aWxkXFdpbjMyXFZDNlxMSUIgRGVidWcgLSBETEwgT3BlblNTTFxjdXJsZC5leGUiIC9wZGJ0eXBlOmNvbiAvbGlicGF0aDoiLi5cLi5cLi5cLi5cYnVpbGRcV2luMzJcVkM2XExJQiBEZWJ1ZyAtIERMTCBPcGVuU1NMIiAvbGlicGF0aDoiLi5cLi5cLi5cLi5cLi5cb3BlbnNzbFxidWlsZFxXaW4zMlxWQzZcRExMIERlYnVnIiAvZml4ZWQ6bm8NCiANCiAhRUxTRUlGICAiJChDRkcpIiA9PSAiY3VybCAtIFdpbjMyIExJQiBEZWJ1ZyBETEwgT3BlblNTTCBETEwgTGliU1NIMiINCiANCkBAIC0zNjksOCArMzY5LDggQEAKICMgQUREIEJBU0UgQlNDMzIgL25vbG9nbw0KICMgQUREIEJTQzMyIC9ub2xvZ28NCiBMSU5LMzI9bGluay5leGUNCi0jIEFERCBCQVNFIExJTkszMiBhZHZhcGkzMi5saWIgd2xkYXAzMi5saWIgd3MyXzMyLmxpYiBsaWJjdXJsZC5saWIgbGliZWF5MzIubGliIHNzbGVheTMyLmxpYiBsaWJzc2gyZC5saWIgL25vbG9nbyAvc3Vic3lzdGVtOmNvbnNvbGUgL2luY3JlbWVudGFsOm5vIC9kZWJ1ZyAvbWFjaGluZTpJMzg2IC9vdXQ6Ii4uXC4uXC4uXC4uXGJ1aWxkXFdpbjMyXFZDNlxMSUIgRGVidWcgLSBETEwgT3BlblNTTCAtIERMTCBMaWJTU0gyXGN1cmxkLmV4ZSIgL3BkYnR5cGU6Y29uIC9saWJwYXRoOiIuLlwuLlwuLlwuLlxidWlsZFxXaW4zMlxWQzZcTElCIERlYnVnIC0gRExMIE9wZW5TU0wiIC9saWJwYXRoOiIuLlwuLlwuLlwuLlwuLlxvcGVuc3NsXGJ1aWxkXFdpbjMyXFZDNlxETEwgRGVidWciIC9saWJwYXRoOiIuLlwuLlwuLlwuLlwuLlxsaWJzc2gyXGJ1aWxkXFdpbjMyXFZDNlxETEwgRGVidWciIC9maXhlZDpubw0KLSMgQUREIExJTkszMiBhZHZhcGkzMi5saWIgd2xkYXAzMi5saWIgd3MyXzMyLmxpYiBsaWJjdXJsZC5saWIgbGliZWF5MzIubGliIHNzbGVheTMyLmxpYiBsaWJzc2gyZC5saWIgL25vbG9nbyAvc3Vic3lzdGVtOmNvbnNvbGUgL2luY3JlbWVudGFsOm5vIC9kZWJ1ZyAvbWFjaGluZTpJMzg2IC9vdXQ6Ii4uXC4uXC4uXC4uXGJ1aWxkXFdpbjMyXFZDNlxMSUIgRGVidWcgLSBETEwgT3BlblNTTCAtIERMTCBMaWJTU0gyXGN1cmxkLmV4ZSIgL3BkYnR5cGU6Y29uIC9saWJwYXRoOiIuLlwuLlwuLlwuLlxidWlsZFxXaW4zMlxWQzZcTElCIERlYnVnIC0gRExMIE9wZW5TU0wiIC9saWJwYXRoOiIuLlwuLlwuLlwuLlwuLlxvcGVuc3NsXGJ1aWxkXFdpbjMyXFZDNlxETEwgRGVidWciIC9saWJwYXRoOiIuLlwuLlwuLlwuLlwuLlxsaWJzc2gyXGJ1aWxkXFdpbjMyXFZDNlxETEwgRGVidWciIC9maXhlZDpubw0KKyMgQUREIEJBU0UgTElOSzMyIGNyeXB0MzIubGliIGFkdmFwaTMyLmxpYiB3bGRhcDMyLmxpYiB3czJfMzIubGliIGxpYmN1cmxkLmxpYiBsaWJlYXkzMi5saWIgc3NsZWF5MzIubGliIGxpYnNzaDJkLmxpYiAvbm9sb2dvIC9zdWJzeXN0ZW06Y29uc29sZSAvaW5jcmVtZW50YWw6bm8gL2RlYnVnIC9tYWNoaW5lOkkzODYgL291dDoiLi5cLi5cLi5cLi5cYnVpbGRcV2luMzJcVkM2XExJQiBEZWJ1ZyAtIERMTCBPcGVuU1NMIC0gRExMIExpYlNTSDJcY3VybGQuZXhlIiAvcGRidHlwZTpjb24gL2xpYnBhdGg6Ii4uXC4uXC4uXC4uXGJ1aWxkXFdpbjMyXFZDNlxMSUIgRGVidWcgLSBETEwgT3BlblNTTCIgL2xpYnBhdGg6Ii4uXC4uXC4uXC4uXC4uXG9wZW5zc2xcYnVpbGRcV2luMzJcVkM2XERMTCBEZWJ1ZyIgL2xpYnBhdGg6Ii4uXC4uXC4uXC4uXC4uXGxpYnNzaDJcYnVpbGRcV2luMzJcVkM2XERMTCBEZWJ1ZyIgL2ZpeGVkOm5vDQorIyBBREQgTElOSzMyIGNyeXB0MzIubGliIGFkdmFwaTMyLmxpYiB3bGRhcDMyLmxpYiB3czJfMzIubGliIGxpYmN1cmxkLmxpYiBsaWJlYXkzMi5saWIgc3NsZWF5MzIubGliIGxpYnNzaDJkLmxpYiAvbm9sb2dvIC9zdWJzeXN0ZW06Y29uc29sZSAvaW5jcmVtZW50YWw6bm8gL2RlYnVnIC9tYWNoaW5lOkkzODYgL291dDoiLi5cLi5cLi5cLi5cYnVpbGRcV2luMzJcVkM2XExJQiBEZWJ1ZyAtIERMTCBPcGVuU1NMIC0gRExMIExpYlNTSDJcY3VybGQuZXhlIiAvcGRidHlwZTpjb24gL2xpYnBhdGg6Ii4uXC4uXC4uXC4uXGJ1aWxkXFdpbjMyXFZDNlxMSUIgRGVidWcgLSBETEwgT3BlblNTTCIgL2xpYnBhdGg6Ii4uXC4uXC4uXC4uXC4uXG9wZW5zc2xcYnVpbGRcV2luMzJcVkM2XERMTCBEZWJ1ZyIgL2xpYnBhdGg6Ii4uXC4uXC4uXC4uXC4uXGxpYnNzaDJcYnVpbGRcV2luMzJcVkM2XERMTCBEZWJ1ZyIgL2ZpeGVkOm5vDQogDQogIUVMU0VJRiAgIiQoQ0ZHKSIgPT0gImN1cmwgLSBXaW4zMiBMSUIgRGVidWcgRExMIFdpbmRvd3MgU1NQSSINCiANCkBAIC01MTgsOCArNTE4LDggQEAKICMgQUREIEJBU0UgQlNDMzIgL25vbG9nbw0KICMgQUREIEJTQzMyIC9ub2xvZ28NCiBMSU5LMzI9bGluay5leGUNCi0jIEFERCBCQVNFIExJTkszMiBhZHZhcGkzMi5saWIgd2xkYXAzMi5saWIgd3MyXzMyLmxpYiBsaWJjdXJsLmxpYiBsaWJlYXkzMi5saWIgc3NsZWF5MzIubGliIC9ub2xvZ28gL3N1YnN5c3RlbTpjb25zb2xlIC9wZGI6bm9uZSAvbWFjaGluZTpJMzg2IC9vdXQ6Ii4uXC4uXC4uXC4uXGJ1aWxkXFdpbjMyXFZDNlxMSUIgUmVsZWFzZSAtIERMTCBPcGVuU1NMXGN1cmwuZXhlIiAvbGlicGF0aDoiLi5cLi5cLi5cLi5cYnVpbGRcV2luMzJcVkM2XExJQiBSZWxlYXNlIC0gRExMIE9wZW5TU0wiIC9maXhlZDpubw0KLSMgQUREIExJTkszMiBhZHZhcGkzMi5saWIgd2xkYXAzMi5saWIgd3MyXzMyLmxpYiBsaWJjdXJsLmxpYiBsaWJlYXkzMi5saWIgc3NsZWF5MzIubGliIC9ub2xvZ28gL3N1YnN5c3RlbTpjb25zb2xlIC9wZGI6bm9uZSAvbWFjaGluZTpJMzg2IC9vdXQ6Ii4uXC4uXC4uXC4uXGJ1aWxkXFdpbjMyXFZDNlxMSUIgUmVsZWFzZSAtIERMTCBPcGVuU1NMXGN1cmwuZXhlIiAvbGlicGF0aDoiLi5cLi5cLi5cLi5cYnVpbGRcV2luMzJcVkM2XExJQiBSZWxlYXNlIC0gRExMIE9wZW5TU0wiIC9saWJwYXRoOiIuLlwuLlwuLlwuLlwuLlxvcGVuc3NsXGJ1aWxkXFdpbjMyXFZDNlxETEwgUmVsZWFzZSIgL2ZpeGVkOm5vDQorIyBBREQgQkFTRSBMSU5LMzIgY3J5cHQzMi5saWIgYWR2YXBpMzIubGliIHdsZGFwMzIubGliIHdzMl8zMi5saWIgbGliY3VybC5saWIgbGliZWF5MzIubGliIHNzbGVheTMyLmxpYiAvbm9sb2dvIC9zdWJzeXN0ZW06Y29uc29sZSAvcGRiOm5vbmUgL21hY2hpbmU6STM4NiAvb3V0OiIuLlwuLlwuLlwuLlxidWlsZFxXaW4zMlxWQzZcTElCIFJlbGVhc2UgLSBETEwgT3BlblNTTFxjdXJsLmV4ZSIgL2xpYnBhdGg6Ii4uXC4uXC4uXC4uXGJ1aWxkXFdpbjMyXFZDNlxMSUIgUmVsZWFzZSAtIERMTCBPcGVuU1NMIiAvZml4ZWQ6bm8NCisjIEFERCBMSU5LMzIgY3J5cHQzMi5saWIgYWR2YXBpMzIubGliIHdsZGFwMzIubGliIHdzMl8zMi5saWIgbGliY3VybC5saWIgbGliZWF5MzIubGliIHNzbGVheTMyLmxpYiAvbm9sb2dvIC9zdWJzeXN0ZW06Y29uc29sZSAvcGRiOm5vbmUgL21hY2hpbmU6STM4NiAvb3V0OiIuLlwuLlwuLlwuLlxidWlsZFxXaW4zMlxWQzZcTElCIFJlbGVhc2UgLSBETEwgT3BlblNTTFxjdXJsLmV4ZSIgL2xpYnBhdGg6Ii4uXC4uXC4uXC4uXGJ1aWxkXFdpbjMyXFZDNlxMSUIgUmVsZWFzZSAtIERMTCBPcGVuU1NMIiAvbGlicGF0aDoiLi5cLi5cLi5cLi5cLi5cb3BlbnNzbFxidWlsZFxXaW4zMlxWQzZcRExMIFJlbGVhc2UiIC9maXhlZDpubw0KIA0KICFFTFNFSUYgICIkKENGRykiID09ICJjdXJsIC0gV2luMzIgTElCIFJlbGVhc2UgRExMIE9wZW5TU0wgRExMIExpYlNTSDIiDQogDQpAQCAtNTQzLDggKzU0Myw4IEBACiAjIEFERCBCQVNFIEJTQzMyIC9ub2xvZ28NCiAjIEFERCBCU0MzMiAvbm9sb2dvDQogTElOSzMyPWxpbmsuZXhlDQotIyBBREQgQkFTRSBMSU5LMzIgYWR2YXBpMzIubGliIHdsZGFwMzIubGliIHdzMl8zMi5saWIgbGliY3VybC5saWIgbGliZWF5MzIubGliIHNzbGVheTMyLmxpYiBsaWJzc2gyLmxpYiAvbm9sb2dvIC9zdWJzeXN0ZW06Y29uc29sZSAvcGRiOm5vbmUgL21hY2hpbmU6STM4NiAvb3V0OiIuLlwuLlwuLlwuLlxidWlsZFxXaW4zMlxWQzZcTElCIFJlbGVhc2UgLSBETEwgT3BlblNTTCAtIERMTCBMaWJTU0gyXGN1cmwuZXhlIiAvbGlicGF0aDoiLi5cLi5cLi5cLi5cYnVpbGRcV2luMzJcVkM2XExJQiBSZWxlYXNlIC0gRExMIE9wZW5TU0wiIC9saWJwYXRoOiIuLlwuLlwuLlwuLlwuLlxvcGVuc3NsXGJ1aWxkXFdpbjMyXFZDNlxETEwgUmVsZWFzZSIgL2xpYnBhdGg6Ii4uXC4uXC4uXC4uXC4uXGxpYnNzaDJcYnVpbGRcV2luMzJcVkM2XERMTCBSZWxlYXNlIiAvZml4ZWQ6bm8NCi0jIEFERCBMSU5LMzIgYWR2YXBpMzIubGliIHdsZGFwMzIubGliIHdzMl8zMi5saWIgbGliY3VybC5saWIgbGliZWF5MzIubGliIHNzbGVheTMyLmxpYiBsaWJzc2gyLmxpYiAvbm9sb2dvIC9zdWJzeXN0ZW06Y29uc29sZSAvcGRiOm5vbmUgL21hY2hpbmU6STM4NiAvb3V0OiIuLlwuLlwuLlwuLlxidWlsZFxXaW4zMlxWQzZcTElCIFJlbGVhc2UgLSBETEwgT3BlblNTTCAtIERMTCBMaWJTU0gyXGN1cmwuZXhlIiAvbGlicGF0aDoiLi5cLi5cLi5cLi5cYnVpbGRcV2luMzJcVkM2XExJQiBSZWxlYXNlIC0gRExMIE9wZW5TU0wiIC9saWJwYXRoOiIuLlwuLlwuLlwuLlwuLlxvcGVuc3NsXGJ1aWxkXFdpbjMyXFZDNlxETEwgUmVsZWFzZSIgL2xpYnBhdGg6Ii4uXC4uXC4uXC4uXC4uXGxpYnNzaDJcYnVpbGRcV2luMzJcVkM2XERMTCBSZWxlYXNlIiAvZml4ZWQ6bm8NCisjIEFERCBCQVNFIExJTkszMiBjcnlwdDMyLmxpYiBhZHZhcGkzMi5saWIgd2xkYXAzMi5saWIgd3MyXzMyLmxpYiBsaWJjdXJsLmxpYiBsaWJlYXkzMi5saWIgc3NsZWF5MzIubGliIGxpYnNzaDIubGliIC9ub2xvZ28gL3N1YnN5c3RlbTpjb25zb2xlIC9wZGI6bm9uZSAvbWFjaGluZTpJMzg2IC9vdXQ6Ii4uXC4uXC4uXC4uXGJ1aWxkXFdpbjMyXFZDNlxMSUIgUmVsZWFzZSAtIERMTCBPcGVuU1NMIC0gRExMIExpYlNTSDJcY3VybC5leGUiIC9saWJwYXRoOiIuLlwuLlwuLlwuLlxidWlsZFxXaW4zMlxWQzZcTElCIFJlbGVhc2UgLSBETEwgT3BlblNTTCIgL2xpYnBhdGg6Ii4uXC4uXC4uXC4uXC4uXG9wZW5zc2xcYnVpbGRcV2luMzJcVkM2XERMTCBSZWxlYXNlIiAvbGlicGF0aDoiLi5cLi5cLi5cLi5cLi5cbGlic3NoMlxidWlsZFxXaW4zMlxWQzZcRExMIFJlbGVhc2UiIC9maXhlZDpubw0KKyMgQUREIExJTkszMiBjcnlwdDMyLmxpYiBhZHZhcGkzMi5saWIgd2xkYXAzMi5saWIgd3MyXzMyLmxpYiBsaWJjdXJsLmxpYiBsaWJlYXkzMi5saWIgc3NsZWF5MzIubGliIGxpYnNzaDIubGliIC9ub2xvZ28gL3N1YnN5c3RlbTpjb25zb2xlIC9wZGI6bm9uZSAvbWFjaGluZTpJMzg2IC9vdXQ6Ii4uXC4uXC4uXC4uXGJ1aWxkXFdpbjMyXFZDNlxMSUIgUmVsZWFzZSAtIERMTCBPcGVuU1NMIC0gRExMIExpYlNTSDJcY3VybC5leGUiIC9saWJwYXRoOiIuLlwuLlwuLlwuLlxidWlsZFxXaW4zMlxWQzZcTElCIFJlbGVhc2UgLSBETEwgT3BlblNTTCIgL2xpYnBhdGg6Ii4uXC4uXC4uXC4uXC4uXG9wZW5zc2xcYnVpbGRcV2luMzJcVkM2XERMTCBSZWxlYXNlIiAvbGlicGF0aDoiLi5cLi5cLi5cLi5cLi5cbGlic3NoMlxidWlsZFxXaW4zMlxWQzZcRExMIFJlbGVhc2UiIC9maXhlZDpubw0KIA0KICFFTFNFSUYgICIkKENGRykiID09ICJjdXJsIC0gV2luMzIgTElCIFJlbGVhc2UgRExMIFdpbmRvd3MgU1NQSSINCiANCkBAIC02ODMsNiArNjgzLDEwIEBACiAjIEVuZCBTb3VyY2UgRmlsZQ0KICMgQmVnaW4gU291cmNlIEZpbGUNCiANCitTT1VSQ0U9Li5cLi5cLi5cLi5cbGliXGN1cmxfbXVsdGlieXRlLmMNCisjIEVuZCBTb3VyY2UgRmlsZQ0KKyMgQmVnaW4gU291cmNlIEZpbGUNCisNCiBTT1VSQ0U9Li5cLi5cLi5cLi5cbGliXG5vbmJsb2NrLmMNCiAjIEVuZCBTb3VyY2UgRmlsZQ0KICMgQmVnaW4gU291cmNlIEZpbGUNCkBAIC04NzEsNiArODc1LDEwIEBACiAjIEVuZCBTb3VyY2UgRmlsZQ0KICMgQmVnaW4gU291cmNlIEZpbGUNCiANCitTT1VSQ0U9Li5cLi5cLi5cLi5cbGliXGN1cmxfbXVsdGlieXRlLmgNCisjIEVuZCBTb3VyY2UgRmlsZQ0KKyMgQmVnaW4gU291cmNlIEZpbGUNCisNCiBTT1VSQ0U9Li5cLi5cLi5cLi5cbGliXGN1cmxfc2V0dXAuaA0KICMgRW5kIFNvdXJjZSBGaWxlDQogIyBCZWdpbiBTb3VyY2UgRmlsZQ0KZGlmZiAtLWdpdCBhL3Byb2plY3RzL1dpbmRvd3MvVkM3LjEvbGliL2xpYmN1cmwudmNwcm9qIGIvcHJvamVjdHMvV2luZG93cy9WQzcuMS9saWIvbGliY3VybC52Y3Byb2oKaW5kZXggZmE4ODAyZS4uMTNhZTJlMCAxMDA2NDQKLS0tIGEvcHJvamVjdHMvV2luZG93cy9WQzcuMS9saWIvbGliY3VybC52Y3Byb2oKKysrIGIvcHJvamVjdHMvV2luZG93cy9WQzcuMS9saWIvbGliY3VybC52Y3Byb2oKQEAgLTM1LDcgKzM1LDcgQEAKIAkJCTxUb29sDQogCQkJCU5hbWU9IlZDTGlua2VyVG9vbCINCiAJCQkJQWRkaXRpb25hbE9wdGlvbnM9Ii9NQUNISU5FOkkzODYgL0ZJWEVEOk5PIg0KLQkJCQlBZGRpdGlvbmFsRGVwZW5kZW5jaWVzPSJ3bGRhcDMyLmxpYiB3czJfMzIubGliIGxpYmVheTMyLmxpYiBzc2xlYXkzMi5saWIgbGlic3NoMi5saWIiDQorCQkJCUFkZGl0aW9uYWxEZXBlbmRlbmNpZXM9ImNyeXB0MzIubGliIHdsZGFwMzIubGliIHdzMl8zMi5saWIgbGliZWF5MzIubGliIHNzbGVheTMyLmxpYiBsaWJzc2gyLmxpYiINCiAJCQkJT3V0cHV0RmlsZT0iJChPdXREaXIpXCQoUHJvamVjdE5hbWUpLmRsbCINCiAJCQkJTGlua0luY3JlbWVudGFsPSIxIg0KIAkJCQlTdXBwcmVzc1N0YXJ0dXBCYW5uZXI9IlRSVUUiDQpAQCAtOTMsNyArOTMsNyBAQAogCQkJPFRvb2wNCiAJCQkJTmFtZT0iVkNMaW5rZXJUb29sIg0KIAkJCQlBZGRpdGlvbmFsT3B0aW9ucz0iL01BQ0hJTkU6STM4NiAvRklYRUQ6Tk8iDQotCQkJCUFkZGl0aW9uYWxEZXBlbmRlbmNpZXM9IndsZGFwMzIubGliIHdzMl8zMi5saWIgbGliZWF5MzIubGliIHNzbGVheTMyLmxpYiINCisJCQkJQWRkaXRpb25hbERlcGVuZGVuY2llcz0iY3J5cHQzMi5saWIgd2xkYXAzMi5saWIgd3MyXzMyLmxpYiBsaWJlYXkzMi5saWIgc3NsZWF5MzIubGliIg0KIAkJCQlPdXRwdXRGaWxlPSIkKE91dERpcilcJChQcm9qZWN0TmFtZSlkLmRsbCINCiAJCQkJTGlua0luY3JlbWVudGFsPSIxIg0KIAkJCQlTdXBwcmVzc1N0YXJ0dXBCYW5uZXI9IlRSVUUiDQpAQCAtNjY0LDcgKzY2NCw3IEBACiAJCQk8VG9vbA0KIAkJCQlOYW1lPSJWQ0xpbmtlclRvb2wiDQogCQkJCUFkZGl0aW9uYWxPcHRpb25zPSIvTUFDSElORTpJMzg2IC9GSVhFRDpOTyINCi0JCQkJQWRkaXRpb25hbERlcGVuZGVuY2llcz0id2xkYXAzMi5saWIgd3MyXzMyLmxpYiBsaWJlYXkzMi5saWIgc3NsZWF5MzIubGliIg0KKwkJCQlBZGRpdGlvbmFsRGVwZW5kZW5jaWVzPSJjcnlwdDMyLmxpYiB3bGRhcDMyLmxpYiB3czJfMzIubGliIGxpYmVheTMyLmxpYiBzc2xlYXkzMi5saWIiDQogCQkJCU91dHB1dEZpbGU9IiQoT3V0RGlyKVwkKFByb2plY3ROYW1lKS5kbGwiDQogCQkJCUxpbmtJbmNyZW1lbnRhbD0iMSINCiAJCQkJU3VwcHJlc3NTdGFydHVwQmFubmVyPSJUUlVFIg0KQEAgLTk1Nyw3ICs5NTcsNyBAQAogCQkJPFRvb2wNCiAJCQkJTmFtZT0iVkNMaW5rZXJUb29sIg0KIAkJCQlBZGRpdGlvbmFsT3B0aW9ucz0iL01BQ0hJTkU6STM4NiAvRklYRUQ6Tk8iDQotCQkJCUFkZGl0aW9uYWxEZXBlbmRlbmNpZXM9IndsZGFwMzIubGliIHdzMl8zMi5saWIgbGliZWF5MzIubGliIHNzbGVheTMyLmxpYiBsaWJzc2gyZC5saWIiDQorCQkJCUFkZGl0aW9uYWxEZXBlbmRlbmNpZXM9ImNyeXB0MzIubGliIHdsZGFwMzIubGliIHdzMl8zMi5saWIgbGliZWF5MzIubGliIHNzbGVheTMyLmxpYiBsaWJzc2gyZC5saWIiDQogCQkJCU91dHB1dEZpbGU9IiQoT3V0RGlyKVwkKFByb2plY3ROYW1lKWQuZGxsIg0KIAkJCQlMaW5rSW5jcmVtZW50YWw9IjEiDQogCQkJCVN1cHByZXNzU3RhcnR1cEJhbm5lcj0iVFJVRSINCkBAIC0xMzQ2LDYgKzEzNDYsOSBAQAogCQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cLi5cLi5cbGliXGRvdGRvdC5jIj4NCiAJCQk8L0ZpbGU+DQogCQkJPEZpbGUNCisJCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlwuLlwuLlxsaWJcZHluYnVmLmMiPg0KKwkJCTwvRmlsZT4NCisJCQk8RmlsZQ0KIAkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXC4uXC4uXGxpYlxlYXN5LmMiPg0KIAkJCTwvRmlsZT4NCiAJCQk8RmlsZQ0KQEAgLTE3MjUsNiArMTcyOCw5IEBACiAJCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlwuLlwuLlxsaWJcZG90ZG90LmgiPg0KIAkJCTwvRmlsZT4NCiAJCQk8RmlsZQ0KKwkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXC4uXC4uXGxpYlxkeW5idWYuaCI+DQorCQkJPC9GaWxlPg0KKwkJCTxGaWxlDQogCQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cLi5cLi5cbGliXGVhc3lpZi5oIj4NCiAJCQk8L0ZpbGU+DQogCQkJPEZpbGUNCkBAIC0yMDE0LDYgKzIwMjAsOSBAQAogCQkJCTxGaWxlDQogCQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXC4uXC4uXGxpYlx2cXVpY1xxdWljaGUuYyI+DQogCQkJCTwvRmlsZT4NCisJCQkJPEZpbGUNCisJCQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cLi5cLi5cbGliXHZxdWljXHZxdWljLmMiPg0KKwkJCQk8L0ZpbGU+DQogCQkJPC9GaWx0ZXI+DQogCQkJPEZpbHRlcg0KIAkJCQlOYW1lPSJIZWFkZXIgRmlsZXMiDQpAQCAtMjAyNCw2ICsyMDMzLDkgQEAKIAkJCQk8RmlsZQ0KIAkJCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlwuLlwuLlxsaWJcdnF1aWNccXVpY2hlLmgiPg0KIAkJCQk8L0ZpbGU+DQorCQkJCTxGaWxlDQorCQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXC4uXC4uXGxpYlx2cXVpY1x2cXVpYy5oIj4NCisJCQkJPC9GaWxlPg0KIAkJCTwvRmlsdGVyPg0KIAkJPC9GaWx0ZXI+DQogCQk8RmlsdGVyDQpAQCAtMjA2Niw2ICsyMDc4LDkgQEAKIAkJCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlwuLlwuLlxsaWJcdnRsc1xndGxzLmMiPg0KIAkJCQk8L0ZpbGU+DQogCQkJCTxGaWxlDQorCQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXC4uXC4uXGxpYlx2dGxzXGtleWxvZy5jIj4NCisJCQkJPC9GaWxlPg0KKwkJCQk8RmlsZQ0KIAkJCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlwuLlwuLlxsaWJcdnRsc1xtYmVkdGxzLmMiPg0KIAkJCQk8L0ZpbGU+DQogCQkJCTxGaWxlDQpAQCAtMjEwOSw2ICsyMTI0LDkgQEAKIAkJCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlwuLlwuLlxsaWJcdnRsc1xndGxzLmgiPg0KIAkJCQk8L0ZpbGU+DQogCQkJCTxGaWxlDQorCQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXC4uXC4uXGxpYlx2dGxzXGtleWxvZy5oIj4NCisJCQkJPC9GaWxlPg0KKwkJCQk8RmlsZQ0KIAkJCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlwuLlwuLlxsaWJcdnRsc1xtYmVkdGxzLmgiPg0KIAkJCQk8L0ZpbGU+DQogCQkJCTxGaWxlDQpkaWZmIC0tZ2l0IGEvcHJvamVjdHMvV2luZG93cy9WQzcuMS9zcmMvY3VybC52Y3Byb2ogYi9wcm9qZWN0cy9XaW5kb3dzL1ZDNy4xL3NyYy9jdXJsLnZjcHJvagppbmRleCA3MmU5MTFiLi4xMjQwYjk2IDEwMDY0NAotLS0gYS9wcm9qZWN0cy9XaW5kb3dzL1ZDNy4xL3NyYy9jdXJsLnZjcHJvagorKysgYi9wcm9qZWN0cy9XaW5kb3dzL1ZDNy4xL3NyYy9jdXJsLnZjcHJvagpAQCAtMTk5LDcgKzE5OSw3IEBACiAJCQk8VG9vbA0KIAkJCQlOYW1lPSJWQ0xpbmtlclRvb2wiDQogCQkJCUFkZGl0aW9uYWxPcHRpb25zPSIvTUFDSElORTpJMzg2IC9GSVhFRDpOTyINCi0JCQkJQWRkaXRpb25hbERlcGVuZGVuY2llcz0id2xkYXAzMi5saWIgd3MyXzMyLmxpYiBsaWJjdXJsZC5saWIgbGliZWF5MzIubGliIHNzbGVheTMyLmxpYiBsaWJzc2gyZC5saWIiDQorCQkJCUFkZGl0aW9uYWxEZXBlbmRlbmNpZXM9ImNyeXB0MzIubGliIHdsZGFwMzIubGliIHdzMl8zMi5saWIgbGliY3VybGQubGliIGxpYmVheTMyLmxpYiBzc2xlYXkzMi5saWIgbGlic3NoMmQubGliIg0KIAkJCQlPdXRwdXRGaWxlPSIkKE91dERpcilcJChQcm9qZWN0TmFtZSlkLmV4ZSINCiAJCQkJTGlua0luY3JlbWVudGFsPSIxIg0KIAkJCQlTdXBwcmVzc1N0YXJ0dXBCYW5uZXI9IlRSVUUiDQpAQCAtNDI3LDcgKzQyNyw3IEBACiAJCQk8VG9vbA0KIAkJCQlOYW1lPSJWQ0xpbmtlclRvb2wiDQogCQkJCUFkZGl0aW9uYWxPcHRpb25zPSIvTUFDSElORTpJMzg2IC9GSVhFRDpOTyINCi0JCQkJQWRkaXRpb25hbERlcGVuZGVuY2llcz0id2xkYXAzMi5saWIgd3MyXzMyLmxpYiBsaWJjdXJsLmxpYiBsaWJlYXkzMi5saWIgc3NsZWF5MzIubGliIg0KKwkJCQlBZGRpdGlvbmFsRGVwZW5kZW5jaWVzPSJjcnlwdDMyLmxpYiB3bGRhcDMyLmxpYiB3czJfMzIubGliIGxpYmN1cmwubGliIGxpYmVheTMyLmxpYiBzc2xlYXkzMi5saWIiDQogCQkJCU91dHB1dEZpbGU9IiQoT3V0RGlyKVwkKFByb2plY3ROYW1lKS5leGUiDQogCQkJCUxpbmtJbmNyZW1lbnRhbD0iMSINCiAJCQkJU3VwcHJlc3NTdGFydHVwQmFubmVyPSJUUlVFIg0KQEAgLTQ4Miw3ICs0ODIsNyBAQAogCQkJPFRvb2wNCiAJCQkJTmFtZT0iVkNMaW5rZXJUb29sIg0KIAkJCQlBZGRpdGlvbmFsT3B0aW9ucz0iL01BQ0hJTkU6STM4NiAvRklYRUQ6Tk8iDQotCQkJCUFkZGl0aW9uYWxEZXBlbmRlbmNpZXM9IndsZGFwMzIubGliIHdzMl8zMi5saWIgbGliY3VybC5saWIgbGliZWF5MzIubGliIHNzbGVheTMyLmxpYiBsaWJzc2gyLmxpYiINCisJCQkJQWRkaXRpb25hbERlcGVuZGVuY2llcz0iY3J5cHQzMi5saWIgd2xkYXAzMi5saWIgd3MyXzMyLmxpYiBsaWJjdXJsLmxpYiBsaWJlYXkzMi5saWIgc3NsZWF5MzIubGliIGxpYnNzaDIubGliIg0KIAkJCQlPdXRwdXRGaWxlPSIkKE91dERpcilcJChQcm9qZWN0TmFtZSkuZXhlIg0KIAkJCQlMaW5rSW5jcmVtZW50YWw9IjEiDQogCQkJCVN1cHByZXNzU3RhcnR1cEJhbm5lcj0iVFJVRSINCkBAIC02NDcsNyArNjQ3LDcgQEAKIAkJCTxUb29sDQogCQkJCU5hbWU9IlZDTGlua2VyVG9vbCINCiAJCQkJQWRkaXRpb25hbE9wdGlvbnM9Ii9NQUNISU5FOkkzODYgL0ZJWEVEOk5PIg0KLQkJCQlBZGRpdGlvbmFsRGVwZW5kZW5jaWVzPSJ3bGRhcDMyLmxpYiB3czJfMzIubGliIGxpYmN1cmxkLmxpYiBsaWJlYXkzMi5saWIgc3NsZWF5MzIubGliIg0KKwkJCQlBZGRpdGlvbmFsRGVwZW5kZW5jaWVzPSJjcnlwdDMyLmxpYiB3bGRhcDMyLmxpYiB3czJfMzIubGliIGxpYmN1cmxkLmxpYiBsaWJlYXkzMi5saWIgc3NsZWF5MzIubGliIg0KIAkJCQlPdXRwdXRGaWxlPSIkKE91dERpcilcJChQcm9qZWN0TmFtZSlkLmV4ZSINCiAJCQkJTGlua0luY3JlbWVudGFsPSIxIg0KIAkJCQlTdXBwcmVzc1N0YXJ0dXBCYW5uZXI9IlRSVUUiDQpAQCAtMTM2NSw2ICsxMzY1LDkgQEAKIAkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXC4uXC4uXGxpYlxjdXJsX2N0eXBlLmMiPg0KIAkJCTwvRmlsZT4NCiAJCQk8RmlsZQ0KKwkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXC4uXC4uXGxpYlxjdXJsX211bHRpYnl0ZS5jIj4NCisJCQk8L0ZpbGU+DQorCQkJPEZpbGUNCiAJCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlwuLlwuLlxsaWJcbm9uYmxvY2suYyI+DQogCQkJPC9GaWxlPg0KIAkJCTxGaWxlDQpAQCAtMTUwNyw2ICsxNTEwLDkgQEAKIAkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXC4uXC4uXGxpYlxjdXJsX2N0eXBlLmgiPg0KIAkJCTwvRmlsZT4NCiAJCQk8RmlsZQ0KKwkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXC4uXC4uXGxpYlxjdXJsX211bHRpYnl0ZS5oIj4NCisJCQk8L0ZpbGU+DQorCQkJPEZpbGUNCiAJCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlwuLlwuLlxsaWJcY3VybF9zZXR1cC5oIj4NCiAJCQk8L0ZpbGU+DQogCQkJPEZpbGUNCmRpZmYgLS1naXQgYS9wcm9qZWN0cy9XaW5kb3dzL1ZDNy9saWIvbGliY3VybC52Y3Byb2ogYi9wcm9qZWN0cy9XaW5kb3dzL1ZDNy9saWIvbGliY3VybC52Y3Byb2oKaW5kZXggM2MwYzA3Ni4uMGVmMTQ4OSAxMDA2NDQKLS0tIGEvcHJvamVjdHMvV2luZG93cy9WQzcvbGliL2xpYmN1cmwudmNwcm9qCisrKyBiL3Byb2plY3RzL1dpbmRvd3MvVkM3L2xpYi9saWJjdXJsLnZjcHJvagpAQCAtMzUsNyArMzUsNyBAQAogCQkJPFRvb2wNCiAJCQkJTmFtZT0iVkNMaW5rZXJUb29sIg0KIAkJCQlBZGRpdGlvbmFsT3B0aW9ucz0iL01BQ0hJTkU6STM4NiAvRklYRUQ6Tk8iDQotCQkJCUFkZGl0aW9uYWxEZXBlbmRlbmNpZXM9IndsZGFwMzIubGliIHdzMl8zMi5saWIgbGliZWF5MzIubGliIHNzbGVheTMyLmxpYiBsaWJzc2gyLmxpYiINCisJCQkJQWRkaXRpb25hbERlcGVuZGVuY2llcz0iY3J5cHQzMi5saWIgd2xkYXAzMi5saWIgd3MyXzMyLmxpYiBsaWJlYXkzMi5saWIgc3NsZWF5MzIubGliIGxpYnNzaDIubGliIg0KIAkJCQlPdXRwdXRGaWxlPSIkKE91dERpcilcJChQcm9qZWN0TmFtZSkuZGxsIg0KIAkJCQlMaW5rSW5jcmVtZW50YWw9IjEiDQogCQkJCVN1cHByZXNzU3RhcnR1cEJhbm5lcj0iVFJVRSINCkBAIC04Nyw3ICs4Nyw3IEBACiAJCQk8VG9vbA0KIAkJCQlOYW1lPSJWQ0xpbmtlclRvb2wiDQogCQkJCUFkZGl0aW9uYWxPcHRpb25zPSIvTUFDSElORTpJMzg2IC9GSVhFRDpOTyINCi0JCQkJQWRkaXRpb25hbERlcGVuZGVuY2llcz0id2xkYXAzMi5saWIgd3MyXzMyLmxpYiBsaWJlYXkzMi5saWIgc3NsZWF5MzIubGliIg0KKwkJCQlBZGRpdGlvbmFsRGVwZW5kZW5jaWVzPSJjcnlwdDMyLmxpYiB3bGRhcDMyLmxpYiB3czJfMzIubGliIGxpYmVheTMyLmxpYiBzc2xlYXkzMi5saWIiDQogCQkJCU91dHB1dEZpbGU9IiQoT3V0RGlyKVwkKFByb2plY3ROYW1lKWQuZGxsIg0KIAkJCQlMaW5rSW5jcmVtZW50YWw9IjEiDQogCQkJCVN1cHByZXNzU3RhcnR1cEJhbm5lcj0iVFJVRSINCkBAIC01OTIsNyArNTkyLDcgQEAKIAkJCTxUb29sDQogCQkJCU5hbWU9IlZDTGlua2VyVG9vbCINCiAJCQkJQWRkaXRpb25hbE9wdGlvbnM9Ii9NQUNISU5FOkkzODYgL0ZJWEVEOk5PIg0KLQkJCQlBZGRpdGlvbmFsRGVwZW5kZW5jaWVzPSJ3bGRhcDMyLmxpYiB3czJfMzIubGliIGxpYmVheTMyLmxpYiBzc2xlYXkzMi5saWIiDQorCQkJCUFkZGl0aW9uYWxEZXBlbmRlbmNpZXM9ImNyeXB0MzIubGliIHdsZGFwMzIubGliIHdzMl8zMi5saWIgbGliZWF5MzIubGliIHNzbGVheTMyLmxpYiINCiAJCQkJT3V0cHV0RmlsZT0iJChPdXREaXIpXCQoUHJvamVjdE5hbWUpLmRsbCINCiAJCQkJTGlua0luY3JlbWVudGFsPSIxIg0KIAkJCQlTdXBwcmVzc1N0YXJ0dXBCYW5uZXI9IlRSVUUiDQpAQCAtODQ5LDcgKzg0OSw3IEBACiAJCQk8VG9vbA0KIAkJCQlOYW1lPSJWQ0xpbmtlclRvb2wiDQogCQkJCUFkZGl0aW9uYWxPcHRpb25zPSIvTUFDSElORTpJMzg2IC9GSVhFRDpOTyINCi0JCQkJQWRkaXRpb25hbERlcGVuZGVuY2llcz0id2xkYXAzMi5saWIgd3MyXzMyLmxpYiBsaWJlYXkzMi5saWIgc3NsZWF5MzIubGliIGxpYnNzaDJkLmxpYiINCisJCQkJQWRkaXRpb25hbERlcGVuZGVuY2llcz0iY3J5cHQzMi5saWIgd2xkYXAzMi5saWIgd3MyXzMyLmxpYiBsaWJlYXkzMi5saWIgc3NsZWF5MzIubGliIGxpYnNzaDJkLmxpYiINCiAJCQkJT3V0cHV0RmlsZT0iJChPdXREaXIpXCQoUHJvamVjdE5hbWUpZC5kbGwiDQogCQkJCUxpbmtJbmNyZW1lbnRhbD0iMSINCiAJCQkJU3VwcHJlc3NTdGFydHVwQmFubmVyPSJUUlVFIg0KQEAgLTEyMDAsNiArMTIwMCw5IEBACiAJCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlwuLlwuLlxsaWJcZG90ZG90LmMiPg0KIAkJCTwvRmlsZT4NCiAJCQk8RmlsZQ0KKwkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXC4uXC4uXGxpYlxkeW5idWYuYyI+DQorCQkJPC9GaWxlPg0KKwkJCTxGaWxlDQogCQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cLi5cLi5cbGliXGVhc3kuYyI+DQogCQkJPC9GaWxlPg0KIAkJCTxGaWxlDQpAQCAtMTU3OSw2ICsxNTgyLDkgQEAKIAkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXC4uXC4uXGxpYlxkb3Rkb3QuaCI+DQogCQkJPC9GaWxlPg0KIAkJCTxGaWxlDQorCQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cLi5cLi5cbGliXGR5bmJ1Zi5oIj4NCisJCQk8L0ZpbGU+DQorCQkJPEZpbGUNCiAJCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlwuLlwuLlxsaWJcZWFzeWlmLmgiPg0KIAkJCTwvRmlsZT4NCiAJCQk8RmlsZQ0KQEAgLTE4NjgsNiArMTg3NCw5IEBACiAJCQkJPEZpbGUNCiAJCQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cLi5cLi5cbGliXHZxdWljXHF1aWNoZS5jIj4NCiAJCQkJPC9GaWxlPg0KKwkJCQk8RmlsZQ0KKwkJCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlwuLlwuLlxsaWJcdnF1aWNcdnF1aWMuYyI+DQorCQkJCTwvRmlsZT4NCiAJCQk8L0ZpbHRlcj4NCiAJCQk8RmlsdGVyDQogCQkJCU5hbWU9IkhlYWRlciBGaWxlcyINCkBAIC0xODc4LDYgKzE4ODcsOSBAQAogCQkJCTxGaWxlDQogCQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXC4uXC4uXGxpYlx2cXVpY1xxdWljaGUuaCI+DQogCQkJCTwvRmlsZT4NCisJCQkJPEZpbGUNCisJCQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cLi5cLi5cbGliXHZxdWljXHZxdWljLmgiPg0KKwkJCQk8L0ZpbGU+DQogCQkJPC9GaWx0ZXI+DQogCQk8L0ZpbHRlcj4NCiAJCTxGaWx0ZXINCkBAIC0xOTIwLDYgKzE5MzIsOSBAQAogCQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXC4uXC4uXGxpYlx2dGxzXGd0bHMuYyI+DQogCQkJCTwvRmlsZT4NCiAJCQkJPEZpbGUNCisJCQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cLi5cLi5cbGliXHZ0bHNca2V5bG9nLmMiPg0KKwkJCQk8L0ZpbGU+DQorCQkJCTxGaWxlDQogCQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXC4uXC4uXGxpYlx2dGxzXG1iZWR0bHMuYyI+DQogCQkJCTwvRmlsZT4NCiAJCQkJPEZpbGUNCkBAIC0xOTYzLDYgKzE5NzgsOSBAQAogCQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXC4uXC4uXGxpYlx2dGxzXGd0bHMuaCI+DQogCQkJCTwvRmlsZT4NCiAJCQkJPEZpbGUNCisJCQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cLi5cLi5cbGliXHZ0bHNca2V5bG9nLmgiPg0KKwkJCQk8L0ZpbGU+DQorCQkJCTxGaWxlDQogCQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXC4uXC4uXGxpYlx2dGxzXG1iZWR0bHMuaCI+DQogCQkJCTwvRmlsZT4NCiAJCQkJPEZpbGUNCmRpZmYgLS1naXQgYS9wcm9qZWN0cy9XaW5kb3dzL1ZDNy9zcmMvY3VybC52Y3Byb2ogYi9wcm9qZWN0cy9XaW5kb3dzL1ZDNy9zcmMvY3VybC52Y3Byb2oKaW5kZXggZmFmNGE2ZS4uMzVhMzM3MSAxMDA2NDQKLS0tIGEvcHJvamVjdHMvV2luZG93cy9WQzcvc3JjL2N1cmwudmNwcm9qCisrKyBiL3Byb2plY3RzL1dpbmRvd3MvVkM3L3NyYy9jdXJsLnZjcHJvagpAQCAtMTgxLDcgKzE4MSw3IEBACiAJCQk8VG9vbA0KIAkJCQlOYW1lPSJWQ0xpbmtlclRvb2wiDQogCQkJCUFkZGl0aW9uYWxPcHRpb25zPSIvTUFDSElORTpJMzg2IC9GSVhFRDpOTyINCi0JCQkJQWRkaXRpb25hbERlcGVuZGVuY2llcz0id2xkYXAzMi5saWIgd3MyXzMyLmxpYiBsaWJjdXJsZC5saWIgbGliZWF5MzIubGliIHNzbGVheTMyLmxpYiBsaWJzc2gyZC5saWIiDQorCQkJCUFkZGl0aW9uYWxEZXBlbmRlbmNpZXM9ImNyeXB0MzIubGliIHdsZGFwMzIubGliIHdzMl8zMi5saWIgbGliY3VybGQubGliIGxpYmVheTMyLmxpYiBzc2xlYXkzMi5saWIgbGlic3NoMmQubGliIg0KIAkJCQlPdXRwdXRGaWxlPSIkKE91dERpcilcJChQcm9qZWN0TmFtZSlkLmV4ZSINCiAJCQkJTGlua0luY3JlbWVudGFsPSIxIg0KIAkJCQlTdXBwcmVzc1N0YXJ0dXBCYW5uZXI9IlRSVUUiDQpAQCAtMzg1LDcgKzM4NSw3IEBACiAJCQk8VG9vbA0KIAkJCQlOYW1lPSJWQ0xpbmtlclRvb2wiDQogCQkJCUFkZGl0aW9uYWxPcHRpb25zPSIvTUFDSElORTpJMzg2IC9GSVhFRDpOTyINCi0JCQkJQWRkaXRpb25hbERlcGVuZGVuY2llcz0id2xkYXAzMi5saWIgd3MyXzMyLmxpYiBsaWJjdXJsLmxpYiBsaWJlYXkzMi5saWIgc3NsZWF5MzIubGliIg0KKwkJCQlBZGRpdGlvbmFsRGVwZW5kZW5jaWVzPSJjcnlwdDMyLmxpYiB3bGRhcDMyLmxpYiB3czJfMzIubGliIGxpYmN1cmwubGliIGxpYmVheTMyLmxpYiBzc2xlYXkzMi5saWIiDQogCQkJCU91dHB1dEZpbGU9IiQoT3V0RGlyKVwkKFByb2plY3ROYW1lKS5leGUiDQogCQkJCUxpbmtJbmNyZW1lbnRhbD0iMSINCiAJCQkJU3VwcHJlc3NTdGFydHVwQmFubmVyPSJUUlVFIg0KQEAgLTQzNCw3ICs0MzQsNyBAQAogCQkJPFRvb2wNCiAJCQkJTmFtZT0iVkNMaW5rZXJUb29sIg0KIAkJCQlBZGRpdGlvbmFsT3B0aW9ucz0iL01BQ0hJTkU6STM4NiAvRklYRUQ6Tk8iDQotCQkJCUFkZGl0aW9uYWxEZXBlbmRlbmNpZXM9IndsZGFwMzIubGliIHdzMl8zMi5saWIgbGliY3VybC5saWIgbGliZWF5MzIubGliIHNzbGVheTMyLmxpYiBsaWJzc2gyLmxpYiINCisJCQkJQWRkaXRpb25hbERlcGVuZGVuY2llcz0iY3J5cHQzMi5saWIgd2xkYXAzMi5saWIgd3MyXzMyLmxpYiBsaWJjdXJsLmxpYiBsaWJlYXkzMi5saWIgc3NsZWF5MzIubGliIGxpYnNzaDIubGliIg0KIAkJCQlPdXRwdXRGaWxlPSIkKE91dERpcilcJChQcm9qZWN0TmFtZSkuZXhlIg0KIAkJCQlMaW5rSW5jcmVtZW50YWw9IjEiDQogCQkJCVN1cHByZXNzU3RhcnR1cEJhbm5lcj0iVFJVRSINCkBAIC01ODEsNyArNTgxLDcgQEAKIAkJCTxUb29sDQogCQkJCU5hbWU9IlZDTGlua2VyVG9vbCINCiAJCQkJQWRkaXRpb25hbE9wdGlvbnM9Ii9NQUNISU5FOkkzODYgL0ZJWEVEOk5PIg0KLQkJCQlBZGRpdGlvbmFsRGVwZW5kZW5jaWVzPSJ3bGRhcDMyLmxpYiB3czJfMzIubGliIGxpYmN1cmxkLmxpYiBsaWJlYXkzMi5saWIgc3NsZWF5MzIubGliIg0KKwkJCQlBZGRpdGlvbmFsRGVwZW5kZW5jaWVzPSJjcnlwdDMyLmxpYiB3bGRhcDMyLmxpYiB3czJfMzIubGliIGxpYmN1cmxkLmxpYiBsaWJlYXkzMi5saWIgc3NsZWF5MzIubGliIg0KIAkJCQlPdXRwdXRGaWxlPSIkKE91dERpcilcJChQcm9qZWN0TmFtZSlkLmV4ZSINCiAJCQkJTGlua0luY3JlbWVudGFsPSIxIg0KIAkJCQlTdXBwcmVzc1N0YXJ0dXBCYW5uZXI9IlRSVUUiDQpAQCAtMTIxOSw2ICsxMjE5LDkgQEAKIAkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXC4uXC4uXGxpYlxjdXJsX2N0eXBlLmMiPg0KIAkJCTwvRmlsZT4NCiAJCQk8RmlsZQ0KKwkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXC4uXC4uXGxpYlxjdXJsX211bHRpYnl0ZS5jIj4NCisJCQk8L0ZpbGU+DQorCQkJPEZpbGUNCiAJCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlwuLlwuLlxsaWJcbm9uYmxvY2suYyI+DQogCQkJPC9GaWxlPg0KIAkJCTxGaWxlDQpAQCAtMTM2MSw2ICsxMzY0LDkgQEAKIAkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXC4uXC4uXGxpYlxjdXJsX2N0eXBlLmgiPg0KIAkJCTwvRmlsZT4NCiAJCQk8RmlsZQ0KKwkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXC4uXC4uXGxpYlxjdXJsX211bHRpYnl0ZS5oIj4NCisJCQk8L0ZpbGU+DQorCQkJPEZpbGUNCiAJCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlwuLlwuLlxsaWJcY3VybF9zZXR1cC5oIj4NCiAJCQk8L0ZpbGU+DQogCQkJPEZpbGUNCmRpZmYgLS1naXQgYS9wcm9qZWN0cy9XaW5kb3dzL1ZDOC9saWIvbGliY3VybC52Y3Byb2ogYi9wcm9qZWN0cy9XaW5kb3dzL1ZDOC9saWIvbGliY3VybC52Y3Byb2oKaW5kZXggMDRlYzE5Yi4uOTQwN2Q5NyAxMDA2NDQKLS0tIGEvcHJvamVjdHMvV2luZG93cy9WQzgvbGliL2xpYmN1cmwudmNwcm9qCisrKyBiL3Byb2plY3RzL1dpbmRvd3MvVkM4L2xpYi9saWJjdXJsLnZjcHJvagpAQCAtNjgyLDcgKzY4Miw3IEBACiAJCQkvPg0KIAkJCTxUb29sDQogCQkJCU5hbWU9IlZDTGlua2VyVG9vbCINCi0JCQkJQWRkaXRpb25hbERlcGVuZGVuY2llcz0id3MyXzMyLmxpYiB3bGRhcDMyLmxpYiBsaWJlYXkzMi5saWIgc3NsZWF5MzIubGliIg0KKwkJCQlBZGRpdGlvbmFsRGVwZW5kZW5jaWVzPSJjcnlwdDMyLmxpYiB3czJfMzIubGliIHdsZGFwMzIubGliIGxpYmVheTMyLmxpYiBzc2xlYXkzMi5saWIiDQogCQkJCU91dHB1dEZpbGU9IiQoT3V0RGlyKVwkKFByb2plY3ROYW1lKWQuZGxsIg0KIAkJCQlMaW5rSW5jcmVtZW50YWw9IjEiDQogCQkJCUFkZGl0aW9uYWxMaWJyYXJ5RGlyZWN0b3JpZXM9Ii4uXC4uXC4uXC4uXC4uXG9wZW5zc2xcYnVpbGRcV2luMzJcVkM4XERMTCBEZWJ1ZyINCkBAIC03NzAsNyArNzcwLDcgQEAKIAkJCS8+DQogCQkJPFRvb2wNCiAJCQkJTmFtZT0iVkNMaW5rZXJUb29sIg0KLQkJCQlBZGRpdGlvbmFsRGVwZW5kZW5jaWVzPSJ3czJfMzIubGliIHdsZGFwMzIubGliIGxpYmVheTMyLmxpYiBzc2xlYXkzMi5saWIiDQorCQkJCUFkZGl0aW9uYWxEZXBlbmRlbmNpZXM9ImNyeXB0MzIubGliIHdzMl8zMi5saWIgd2xkYXAzMi5saWIgbGliZWF5MzIubGliIHNzbGVheTMyLmxpYiINCiAJCQkJT3V0cHV0RmlsZT0iJChPdXREaXIpXCQoUHJvamVjdE5hbWUpZC5kbGwiDQogCQkJCUxpbmtJbmNyZW1lbnRhbD0iMSINCiAJCQkJQWRkaXRpb25hbExpYnJhcnlEaXJlY3Rvcmllcz0iLi5cLi5cLi5cLi5cLi5cb3BlbnNzbFxidWlsZFxXaW42NFxWQzhcRExMIERlYnVnIg0KQEAgLTg1Nyw3ICs4NTcsNyBAQAogCQkJLz4NCiAJCQk8VG9vbA0KIAkJCQlOYW1lPSJWQ0xpbmtlclRvb2wiDQotCQkJCUFkZGl0aW9uYWxEZXBlbmRlbmNpZXM9IndzMl8zMi5saWIgd2xkYXAzMi5saWIgbGliZWF5MzIubGliIHNzbGVheTMyLmxpYiINCisJCQkJQWRkaXRpb25hbERlcGVuZGVuY2llcz0iY3J5cHQzMi5saWIgd3MyXzMyLmxpYiB3bGRhcDMyLmxpYiBsaWJlYXkzMi5saWIgc3NsZWF5MzIubGliIg0KIAkJCQlPdXRwdXRGaWxlPSIkKE91dERpcilcJChQcm9qZWN0TmFtZSkuZGxsIg0KIAkJCQlMaW5rSW5jcmVtZW50YWw9IjEiDQogCQkJCUFkZGl0aW9uYWxMaWJyYXJ5RGlyZWN0b3JpZXM9Ii4uXC4uXC4uXC4uXC4uXG9wZW5zc2xcYnVpbGRcV2luMzJcVkM4XERMTCBSZWxlYXNlIg0KQEAgLTk0Myw3ICs5NDMsNyBAQAogCQkJLz4NCiAJCQk8VG9vbA0KIAkJCQlOYW1lPSJWQ0xpbmtlclRvb2wiDQotCQkJCUFkZGl0aW9uYWxEZXBlbmRlbmNpZXM9IndzMl8zMi5saWIgd2xkYXAzMi5saWIgbGliZWF5MzIubGliIHNzbGVheTMyLmxpYiINCisJCQkJQWRkaXRpb25hbERlcGVuZGVuY2llcz0iY3J5cHQzMi5saWIgd3MyXzMyLmxpYiB3bGRhcDMyLmxpYiBsaWJlYXkzMi5saWIgc3NsZWF5MzIubGliIg0KIAkJCQlPdXRwdXRGaWxlPSIkKE91dERpcilcJChQcm9qZWN0TmFtZSkuZGxsIg0KIAkJCQlMaW5rSW5jcmVtZW50YWw9IjEiDQogCQkJCUFkZGl0aW9uYWxMaWJyYXJ5RGlyZWN0b3JpZXM9Ii4uXC4uXC4uXC4uXC4uXG9wZW5zc2xcYnVpbGRcV2luNjRcVkM4XERMTCBSZWxlYXNlIg0KQEAgLTEzNzQsNyArMTM3NCw3IEBACiAJCQkvPg0KIAkJCTxUb29sDQogCQkJCU5hbWU9IlZDTGlua2VyVG9vbCINCi0JCQkJQWRkaXRpb25hbERlcGVuZGVuY2llcz0id3MyXzMyLmxpYiB3bGRhcDMyLmxpYiBsaWJlYXkzMi5saWIgc3NsZWF5MzIubGliIGxpYnNzaDJkLmxpYiINCisJCQkJQWRkaXRpb25hbERlcGVuZGVuY2llcz0iY3J5cHQzMi5saWIgd3MyXzMyLmxpYiB3bGRhcDMyLmxpYiBsaWJlYXkzMi5saWIgc3NsZWF5MzIubGliIGxpYnNzaDJkLmxpYiINCiAJCQkJT3V0cHV0RmlsZT0iJChPdXREaXIpXCQoUHJvamVjdE5hbWUpZC5kbGwiDQogCQkJCUxpbmtJbmNyZW1lbnRhbD0iMSINCiAJCQkJQWRkaXRpb25hbExpYnJhcnlEaXJlY3Rvcmllcz0iLi5cLi5cLi5cLi5cLi5cb3BlbnNzbFxidWlsZFxXaW4zMlxWQzhcRExMIERlYnVnOy4uXC4uXC4uXC4uXC4uXGxpYnNzaDJcYnVpbGRcV2luMzJcVkM4XERMTCBEZWJ1ZyINCkBAIC0xNDYyLDcgKzE0NjIsNyBAQAogCQkJLz4NCiAJCQk8VG9vbA0KIAkJCQlOYW1lPSJWQ0xpbmtlclRvb2wiDQotCQkJCUFkZGl0aW9uYWxEZXBlbmRlbmNpZXM9IndzMl8zMi5saWIgd2xkYXAzMi5saWIgbGliZWF5MzIubGliIHNzbGVheTMyLmxpYiBsaWJzc2gyZC5saWIiDQorCQkJCUFkZGl0aW9uYWxEZXBlbmRlbmNpZXM9ImNyeXB0MzIubGliIHdzMl8zMi5saWIgd2xkYXAzMi5saWIgbGliZWF5MzIubGliIHNzbGVheTMyLmxpYiBsaWJzc2gyZC5saWIiDQogCQkJCU91dHB1dEZpbGU9IiQoT3V0RGlyKVwkKFByb2plY3ROYW1lKWQuZGxsIg0KIAkJCQlMaW5rSW5jcmVtZW50YWw9IjEiDQogCQkJCUFkZGl0aW9uYWxMaWJyYXJ5RGlyZWN0b3JpZXM9Ii4uXC4uXC4uXC4uXC4uXG9wZW5zc2xcYnVpbGRcV2luNjRcVkM4XERMTCBEZWJ1ZzsuLlwuLlwuLlwuLlwuLlxsaWJzc2gyXGJ1aWxkXFdpbjY0XFZDOFxETEwgRGVidWciDQpAQCAtMTU0OSw3ICsxNTQ5LDcgQEAKIAkJCS8+DQogCQkJPFRvb2wNCiAJCQkJTmFtZT0iVkNMaW5rZXJUb29sIg0KLQkJCQlBZGRpdGlvbmFsRGVwZW5kZW5jaWVzPSJ3czJfMzIubGliIHdsZGFwMzIubGliIGxpYmVheTMyLmxpYiBzc2xlYXkzMi5saWIgbGlic3NoMi5saWIiDQorCQkJCUFkZGl0aW9uYWxEZXBlbmRlbmNpZXM9ImNyeXB0MzIubGliIHdzMl8zMi5saWIgd2xkYXAzMi5saWIgbGliZWF5MzIubGliIHNzbGVheTMyLmxpYiBsaWJzc2gyLmxpYiINCiAJCQkJT3V0cHV0RmlsZT0iJChPdXREaXIpXCQoUHJvamVjdE5hbWUpLmRsbCINCiAJCQkJTGlua0luY3JlbWVudGFsPSIxIg0KIAkJCQlBZGRpdGlvbmFsTGlicmFyeURpcmVjdG9yaWVzPSIuLlwuLlwuLlwuLlwuLlxvcGVuc3NsXGJ1aWxkXFdpbjMyXFZDOFxETEwgUmVsZWFzZTsuLlwuLlwuLlwuLlwuLlxsaWJzc2gyXGJ1aWxkXFdpbjMyXFZDOFxETEwgUmVsZWFzZSINCkBAIC0xNjM1LDcgKzE2MzUsNyBAQAogCQkJLz4NCiAJCQk8VG9vbA0KIAkJCQlOYW1lPSJWQ0xpbmtlclRvb2wiDQotCQkJCUFkZGl0aW9uYWxEZXBlbmRlbmNpZXM9IndzMl8zMi5saWIgd2xkYXAzMi5saWIgbGliZWF5MzIubGliIHNzbGVheTMyLmxpYiBsaWJzc2gyLmxpYiINCisJCQkJQWRkaXRpb25hbERlcGVuZGVuY2llcz0iY3J5cHQzMi5saWIgd3MyXzMyLmxpYiB3bGRhcDMyLmxpYiBsaWJlYXkzMi5saWIgc3NsZWF5MzIubGliIGxpYnNzaDIubGliIg0KIAkJCQlPdXRwdXRGaWxlPSIkKE91dERpcilcJChQcm9qZWN0TmFtZSkuZGxsIg0KIAkJCQlMaW5rSW5jcmVtZW50YWw9IjEiDQogCQkJCUFkZGl0aW9uYWxMaWJyYXJ5RGlyZWN0b3JpZXM9Ii4uXC4uXC4uXC4uXC4uXG9wZW5zc2xcYnVpbGRcV2luNjRcVkM4XERMTCBSZWxlYXNlOy4uXC4uXC4uXC4uXC4uXGxpYnNzaDJcYnVpbGRcV2luNjRcVkM4XERMTCBSZWxlYXNlIg0KQEAgLTM3MzcsNiArMzczNywxMCBAQAogCQkJPg0KIAkJCTwvRmlsZT4NCiAJCQk8RmlsZQ0KKwkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXC4uXC4uXGxpYlxkeW5idWYuYyINCisJCQk+DQorCQkJPC9GaWxlPg0KKwkJCTxGaWxlDQogCQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cLi5cLi5cbGliXGVhc3kuYyINCiAJCQk+DQogCQkJPC9GaWxlPg0KQEAgLTQyNDEsNiArNDI0NSwxMCBAQAogCQkJPg0KIAkJCTwvRmlsZT4NCiAJCQk8RmlsZQ0KKwkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXC4uXC4uXGxpYlxkeW5idWYuaCINCisJCQk+DQorCQkJPC9GaWxlPg0KKwkJCTxGaWxlDQogCQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cLi5cLi5cbGliXGVhc3lpZi5oIg0KIAkJCT4NCiAJCQk8L0ZpbGU+DQpAQCAtNDYxOSw2ICs0NjI3LDEwIEBACiAJCQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cLi5cLi5cbGliXHZxdWljXHF1aWNoZS5jIg0KIAkJCQk+DQogCQkJCTwvRmlsZT4NCisJCQkJPEZpbGUNCisJCQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cLi5cLi5cbGliXHZxdWljXHZxdWljLmMiDQorCQkJCT4NCisJCQkJPC9GaWxlPg0KIAkJCTwvRmlsdGVyPg0KIAkJCTxGaWx0ZXINCiAJCQkJTmFtZT0iSGVhZGVyIEZpbGVzIg0KQEAgLTQ2MzEsNiArNDY0MywxMCBAQAogCQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXC4uXC4uXGxpYlx2cXVpY1xxdWljaGUuaCINCiAJCQkJPg0KIAkJCQk8L0ZpbGU+DQorCQkJCTxGaWxlDQorCQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXC4uXC4uXGxpYlx2cXVpY1x2cXVpYy5oIg0KKwkJCQk+DQorCQkJCTwvRmlsZT4NCiAJCQk8L0ZpbHRlcj4NCiAJCTwvRmlsdGVyPg0KIAkJPEZpbHRlcg0KQEAgLTQ2ODAsNiArNDY5NiwxMCBAQAogCQkJCT4NCiAJCQkJPC9GaWxlPg0KIAkJCQk8RmlsZQ0KKwkJCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlwuLlwuLlxsaWJcdnRsc1xrZXlsb2cuYyINCisJCQkJPg0KKwkJCQk8L0ZpbGU+DQorCQkJCTxGaWxlDQogCQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXC4uXC4uXGxpYlx2dGxzXG1iZWR0bHMuYyINCiAJCQkJPg0KIAkJCQk8L0ZpbGU+DQpAQCAtNDczNiw2ICs0NzU2LDEwIEBACiAJCQkJPg0KIAkJCQk8L0ZpbGU+DQogCQkJCTxGaWxlDQorCQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXC4uXC4uXGxpYlx2dGxzXGtleWxvZy5oIg0KKwkJCQk+DQorCQkJCTwvRmlsZT4NCisJCQkJPEZpbGUNCiAJCQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cLi5cLi5cbGliXHZ0bHNcbWJlZHRscy5oIg0KIAkJCQk+DQogCQkJCTwvRmlsZT4NCmRpZmYgLS1naXQgYS9wcm9qZWN0cy9XaW5kb3dzL1ZDOC9zcmMvY3VybC52Y3Byb2ogYi9wcm9qZWN0cy9XaW5kb3dzL1ZDOC9zcmMvY3VybC52Y3Byb2oKaW5kZXggZjcwOTA3Yi4uZWJhMDc5MCAxMDA2NDQKLS0tIGEvcHJvamVjdHMvV2luZG93cy9WQzgvc3JjL2N1cmwudmNwcm9qCisrKyBiL3Byb2plY3RzL1dpbmRvd3MvVkM4L3NyYy9jdXJsLnZjcHJvagpAQCAtMjQzNCw3ICsyNDM0LDcgQEAKIAkJCS8+DQogCQkJPFRvb2wNCiAJCQkJTmFtZT0iVkNMaW5rZXJUb29sIg0KLQkJCQlBZGRpdGlvbmFsRGVwZW5kZW5jaWVzPSJ3czJfMzIubGliIHdsZGFwMzIubGliIGxpYmN1cmxkLmxpYiBsaWJlYXkzMi5saWIgc3NsZWF5MzIubGliIg0KKwkJCQlBZGRpdGlvbmFsRGVwZW5kZW5jaWVzPSJjcnlwdDMyLmxpYiB3czJfMzIubGliIHdsZGFwMzIubGliIGxpYmN1cmxkLmxpYiBsaWJlYXkzMi5saWIgc3NsZWF5MzIubGliIg0KIAkJCQlPdXRwdXRGaWxlPSIkKE91dERpcilcJChQcm9qZWN0TmFtZSlkLmV4ZSINCiAJCQkJTGlua0luY3JlbWVudGFsPSIxIg0KIAkJCQlBZGRpdGlvbmFsTGlicmFyeURpcmVjdG9yaWVzPSIuLlwuLlwuLlwuLlxidWlsZFxXaW4zMlxWQzhcJChDb25maWd1cmF0aW9uTmFtZSk7Li5cLi5cLi5cLi5cLi5cb3BlbnNzbFxidWlsZFxXaW4zMlxWQzhcRExMIERlYnVnIg0KQEAgLTI1MjAsNyArMjUyMCw3IEBACiAJCQkvPg0KIAkJCTxUb29sDQogCQkJCU5hbWU9IlZDTGlua2VyVG9vbCINCi0JCQkJQWRkaXRpb25hbERlcGVuZGVuY2llcz0id3MyXzMyLmxpYiB3bGRhcDMyLmxpYiBsaWJjdXJsZC5saWIgbGliZWF5MzIubGliIHNzbGVheTMyLmxpYiINCisJCQkJQWRkaXRpb25hbERlcGVuZGVuY2llcz0iY3J5cHQzMi5saWIgd3MyXzMyLmxpYiB3bGRhcDMyLmxpYiBsaWJjdXJsZC5saWIgbGliZWF5MzIubGliIHNzbGVheTMyLmxpYiINCiAJCQkJT3V0cHV0RmlsZT0iJChPdXREaXIpXCQoUHJvamVjdE5hbWUpZC5leGUiDQogCQkJCUxpbmtJbmNyZW1lbnRhbD0iMSINCiAJCQkJQWRkaXRpb25hbExpYnJhcnlEaXJlY3Rvcmllcz0iLi5cLi5cLi5cLi5cYnVpbGRcV2luNjRcVkM4XCQoQ29uZmlndXJhdGlvbk5hbWUpOy4uXC4uXC4uXC4uXC4uXG9wZW5zc2xcYnVpbGRcV2luNjRcVkM4XERMTCBEZWJ1ZyINCkBAIC0yNjA1LDcgKzI2MDUsNyBAQAogCQkJLz4NCiAJCQk8VG9vbA0KIAkJCQlOYW1lPSJWQ0xpbmtlclRvb2wiDQotCQkJCUFkZGl0aW9uYWxEZXBlbmRlbmNpZXM9IndzMl8zMi5saWIgd2xkYXAzMi5saWIgbGliY3VybC5saWIgbGliZWF5MzIubGliIHNzbGVheTMyLmxpYiINCisJCQkJQWRkaXRpb25hbERlcGVuZGVuY2llcz0iY3J5cHQzMi5saWIgd3MyXzMyLmxpYiB3bGRhcDMyLmxpYiBsaWJjdXJsLmxpYiBsaWJlYXkzMi5saWIgc3NsZWF5MzIubGliIg0KIAkJCQlPdXRwdXRGaWxlPSIkKE91dERpcilcJChQcm9qZWN0TmFtZSkuZXhlIg0KIAkJCQlMaW5rSW5jcmVtZW50YWw9IjEiDQogCQkJCUFkZGl0aW9uYWxMaWJyYXJ5RGlyZWN0b3JpZXM9Ii4uXC4uXC4uXC4uXGJ1aWxkXFdpbjMyXFZDOFwkKENvbmZpZ3VyYXRpb25OYW1lKTsuLlwuLlwuLlwuLlwuLlxvcGVuc3NsXGJ1aWxkXFdpbjMyXFZDOFxETEwgUmVsZWFzZSINCkBAIC0yNjg5LDcgKzI2ODksNyBAQAogCQkJLz4NCiAJCQk8VG9vbA0KIAkJCQlOYW1lPSJWQ0xpbmtlclRvb2wiDQotCQkJCUFkZGl0aW9uYWxEZXBlbmRlbmNpZXM9IndzMl8zMi5saWIgd2xkYXAzMi5saWIgbGliY3VybC5saWIgbGliZWF5MzIubGliIHNzbGVheTMyLmxpYiINCisJCQkJQWRkaXRpb25hbERlcGVuZGVuY2llcz0iY3J5cHQzMi5saWIgd3MyXzMyLmxpYiB3bGRhcDMyLmxpYiBsaWJjdXJsLmxpYiBsaWJlYXkzMi5saWIgc3NsZWF5MzIubGliIg0KIAkJCQlPdXRwdXRGaWxlPSIkKE91dERpcilcJChQcm9qZWN0TmFtZSkuZXhlIg0KIAkJCQlMaW5rSW5jcmVtZW50YWw9IjEiDQogCQkJCUFkZGl0aW9uYWxMaWJyYXJ5RGlyZWN0b3JpZXM9Ii4uXC4uXC4uXC4uXGJ1aWxkXFdpbjY0XFZDOFwkKENvbmZpZ3VyYXRpb25OYW1lKTsuLlwuLlwuLlwuLlwuLlxvcGVuc3NsXGJ1aWxkXFdpbjY0XFZDOFxETEwgUmVsZWFzZSINCkBAIC0yNzcyLDcgKzI3NzIsNyBAQAogCQkJLz4NCiAJCQk8VG9vbA0KIAkJCQlOYW1lPSJWQ0xpbmtlclRvb2wiDQotCQkJCUFkZGl0aW9uYWxEZXBlbmRlbmNpZXM9IndzMl8zMi5saWIgd2xkYXAzMi5saWIgbGliY3VybGQubGliIGxpYmVheTMyLmxpYiBzc2xlYXkzMi5saWIgbGlic3NoMmQubGliIg0KKwkJCQlBZGRpdGlvbmFsRGVwZW5kZW5jaWVzPSJjcnlwdDMyLmxpYiB3czJfMzIubGliIHdsZGFwMzIubGliIGxpYmN1cmxkLmxpYiBsaWJlYXkzMi5saWIgc3NsZWF5MzIubGliIGxpYnNzaDJkLmxpYiINCiAJCQkJT3V0cHV0RmlsZT0iJChPdXREaXIpXCQoUHJvamVjdE5hbWUpZC5leGUiDQogCQkJCUxpbmtJbmNyZW1lbnRhbD0iMSINCiAJCQkJQWRkaXRpb25hbExpYnJhcnlEaXJlY3Rvcmllcz0iLi5cLi5cLi5cLi5cYnVpbGRcV2luMzJcVkM4XCQoQ29uZmlndXJhdGlvbk5hbWUpOy4uXC4uXC4uXC4uXC4uXG9wZW5zc2xcYnVpbGRcV2luMzJcVkM4XERMTCBEZWJ1ZzsuLlwuLlwuLlwuLlwuLlxsaWJzc2gyXGJ1aWxkXFdpbjMyXFZDOFxETEwgRGVidWciDQpAQCAtMjg1OCw3ICsyODU4LDcgQEAKIAkJCS8+DQogCQkJPFRvb2wNCiAJCQkJTmFtZT0iVkNMaW5rZXJUb29sIg0KLQkJCQlBZGRpdGlvbmFsRGVwZW5kZW5jaWVzPSJ3czJfMzIubGliIHdsZGFwMzIubGliIGxpYmN1cmxkLmxpYiBsaWJlYXkzMi5saWIgc3NsZWF5MzIubGliIGxpYnNzaDJkLmxpYiINCisJCQkJQWRkaXRpb25hbERlcGVuZGVuY2llcz0iY3J5cHQzMi5saWIgd3MyXzMyLmxpYiB3bGRhcDMyLmxpYiBsaWJjdXJsZC5saWIgbGliZWF5MzIubGliIHNzbGVheTMyLmxpYiBsaWJzc2gyZC5saWIiDQogCQkJCU91dHB1dEZpbGU9IiQoT3V0RGlyKVwkKFByb2plY3ROYW1lKWQuZXhlIg0KIAkJCQlMaW5rSW5jcmVtZW50YWw9IjEiDQogCQkJCUFkZGl0aW9uYWxMaWJyYXJ5RGlyZWN0b3JpZXM9Ii4uXC4uXC4uXC4uXGJ1aWxkXFdpbjY0XFZDOFwkKENvbmZpZ3VyYXRpb25OYW1lKTsuLlwuLlwuLlwuLlwuLlxvcGVuc3NsXGJ1aWxkXFdpbjY0XFZDOFxETEwgRGVidWc7Li5cLi5cLi5cLi5cLi5cbGlic3NoMlxidWlsZFxXaW42NFxWQzhcRExMIERlYnVnIg0KQEAgLTI5NDMsNyArMjk0Myw3IEBACiAJCQkvPg0KIAkJCTxUb29sDQogCQkJCU5hbWU9IlZDTGlua2VyVG9vbCINCi0JCQkJQWRkaXRpb25hbERlcGVuZGVuY2llcz0id3MyXzMyLmxpYiB3bGRhcDMyLmxpYiBsaWJjdXJsLmxpYiBsaWJlYXkzMi5saWIgc3NsZWF5MzIubGliIGxpYnNzaDIubGliIg0KKwkJCQlBZGRpdGlvbmFsRGVwZW5kZW5jaWVzPSJjcnlwdDMyLmxpYiB3czJfMzIubGliIHdsZGFwMzIubGliIGxpYmN1cmwubGliIGxpYmVheTMyLmxpYiBzc2xlYXkzMi5saWIgbGlic3NoMi5saWIiDQogCQkJCU91dHB1dEZpbGU9IiQoT3V0RGlyKVwkKFByb2plY3ROYW1lKS5leGUiDQogCQkJCUxpbmtJbmNyZW1lbnRhbD0iMSINCiAJCQkJQWRkaXRpb25hbExpYnJhcnlEaXJlY3Rvcmllcz0iLi5cLi5cLi5cLi5cYnVpbGRcV2luMzJcVkM4XCQoQ29uZmlndXJhdGlvbk5hbWUpOy4uXC4uXC4uXC4uXC4uXG9wZW5zc2xcYnVpbGRcV2luMzJcVkM4XERMTCBSZWxlYXNlOy4uXC4uXC4uXC4uXC4uXGxpYnNzaDJcYnVpbGRcV2luMzJcVkM4XERMTCBSZWxlYXNlIg0KQEAgLTMwMjcsNyArMzAyNyw3IEBACiAJCQkvPg0KIAkJCTxUb29sDQogCQkJCU5hbWU9IlZDTGlua2VyVG9vbCINCi0JCQkJQWRkaXRpb25hbERlcGVuZGVuY2llcz0id3MyXzMyLmxpYiB3bGRhcDMyLmxpYiBsaWJjdXJsLmxpYiBsaWJzc2gyLmxpYiBsaWJlYXkzMi5saWIgc3NsZWF5MzIubGliIg0KKwkJCQlBZGRpdGlvbmFsRGVwZW5kZW5jaWVzPSJjcnlwdDMyLmxpYiB3czJfMzIubGliIHdsZGFwMzIubGliIGxpYmN1cmwubGliIGxpYnNzaDIubGliIGxpYmVheTMyLmxpYiBzc2xlYXkzMi5saWIiDQogCQkJCU91dHB1dEZpbGU9IiQoT3V0RGlyKVwkKFByb2plY3ROYW1lKS5leGUiDQogCQkJCUxpbmtJbmNyZW1lbnRhbD0iMSINCiAJCQkJQWRkaXRpb25hbExpYnJhcnlEaXJlY3Rvcmllcz0iLi5cLi5cLi5cLi5cYnVpbGRcV2luNjRcVkM4XCQoQ29uZmlndXJhdGlvbk5hbWUpOy4uXC4uXC4uXC4uXC4uXG9wZW5zc2xcYnVpbGRcV2luNjRcVkM4XERMTCBSZWxlYXNlOy4uXC4uXC4uXC4uXC4uXGxpYnNzaDJcYnVpbGRcV2luNjRcVkM4XERMTCBSZWxlYXNlIg0KQEAgLTQwODUsNiArNDA4NSwxMCBAQAogCQkJPg0KIAkJCTwvRmlsZT4NCiAJCQk8RmlsZQ0KKwkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXC4uXC4uXGxpYlxjdXJsX211bHRpYnl0ZS5jIg0KKwkJCT4NCisJCQk8L0ZpbGU+DQorCQkJPEZpbGUNCiAJCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlwuLlwuLlxsaWJcbm9uYmxvY2suYyINCiAJCQk+DQogCQkJPC9GaWxlPg0KQEAgLTQyNzMsNiArNDI3NywxMCBAQAogCQkJPg0KIAkJCTwvRmlsZT4NCiAJCQk8RmlsZQ0KKwkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXC4uXC4uXGxpYlxjdXJsX211bHRpYnl0ZS5oIg0KKwkJCT4NCisJCQk8L0ZpbGU+DQorCQkJPEZpbGUNCiAJCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlwuLlwuLlxsaWJcY3VybF9zZXR1cC5oIg0KIAkJCT4NCiAJCQk8L0ZpbGU+DQpkaWZmIC0tZ2l0IGEvcHJvamVjdHMvV2luZG93cy9WQzkvbGliL2xpYmN1cmwudmNwcm9qIGIvcHJvamVjdHMvV2luZG93cy9WQzkvbGliL2xpYmN1cmwudmNwcm9qCmluZGV4IDhjZDRhZmMuLjU2M2QyMzEgMTAwNjQ0Ci0tLSBhL3Byb2plY3RzL1dpbmRvd3MvVkM5L2xpYi9saWJjdXJsLnZjcHJvagorKysgYi9wcm9qZWN0cy9XaW5kb3dzL1ZDOS9saWIvbGliY3VybC52Y3Byb2oKQEAgLTY3MSw3ICs2NzEsNyBAQAogCQkJLz4NCiAJCQk8VG9vbA0KIAkJCQlOYW1lPSJWQ0xpbmtlclRvb2wiDQotCQkJCUFkZGl0aW9uYWxEZXBlbmRlbmNpZXM9IndzMl8zMi5saWIgd2xkYXAzMi5saWIgbGliZWF5MzIubGliIHNzbGVheTMyLmxpYiINCisJCQkJQWRkaXRpb25hbERlcGVuZGVuY2llcz0iY3J5cHQzMi5saWIgd3MyXzMyLmxpYiB3bGRhcDMyLmxpYiBsaWJlYXkzMi5saWIgc3NsZWF5MzIubGliIg0KIAkJCQlPdXRwdXRGaWxlPSIkKE91dERpcilcJChQcm9qZWN0TmFtZSlkLmRsbCINCiAJCQkJTGlua0luY3JlbWVudGFsPSIxIg0KIAkJCQlBZGRpdGlvbmFsTGlicmFyeURpcmVjdG9yaWVzPSIuLlwuLlwuLlwuLlwuLlxvcGVuc3NsXGJ1aWxkXFdpbjMyXFZDOVxETEwgRGVidWciDQpAQCAtNzU2LDcgKzc1Niw3IEBACiAJCQkvPg0KIAkJCTxUb29sDQogCQkJCU5hbWU9IlZDTGlua2VyVG9vbCINCi0JCQkJQWRkaXRpb25hbERlcGVuZGVuY2llcz0id3MyXzMyLmxpYiB3bGRhcDMyLmxpYiBsaWJlYXkzMi5saWIgc3NsZWF5MzIubGliIg0KKwkJCQlBZGRpdGlvbmFsRGVwZW5kZW5jaWVzPSJjcnlwdDMyLmxpYiB3czJfMzIubGliIHdsZGFwMzIubGliIGxpYmVheTMyLmxpYiBzc2xlYXkzMi5saWIiDQogCQkJCU91dHB1dEZpbGU9IiQoT3V0RGlyKVwkKFByb2plY3ROYW1lKWQuZGxsIg0KIAkJCQlMaW5rSW5jcmVtZW50YWw9IjEiDQogCQkJCUFkZGl0aW9uYWxMaWJyYXJ5RGlyZWN0b3JpZXM9Ii4uXC4uXC4uXC4uXC4uXG9wZW5zc2xcYnVpbGRcV2luNjRcVkM5XERMTCBEZWJ1ZyINCkBAIC04NDAsNyArODQwLDcgQEAKIAkJCS8+DQogCQkJPFRvb2wNCiAJCQkJTmFtZT0iVkNMaW5rZXJUb29sIg0KLQkJCQlBZGRpdGlvbmFsRGVwZW5kZW5jaWVzPSJ3czJfMzIubGliIHdsZGFwMzIubGliIGxpYmVheTMyLmxpYiBzc2xlYXkzMi5saWIiDQorCQkJCUFkZGl0aW9uYWxEZXBlbmRlbmNpZXM9ImNyeXB0MzIubGliIHdzMl8zMi5saWIgd2xkYXAzMi5saWIgbGliZWF5MzIubGliIHNzbGVheTMyLmxpYiINCiAJCQkJT3V0cHV0RmlsZT0iJChPdXREaXIpXCQoUHJvamVjdE5hbWUpLmRsbCINCiAJCQkJTGlua0luY3JlbWVudGFsPSIxIg0KIAkJCQlBZGRpdGlvbmFsTGlicmFyeURpcmVjdG9yaWVzPSIuLlwuLlwuLlwuLlwuLlxvcGVuc3NsXGJ1aWxkXFdpbjMyXFZDOVxETEwgUmVsZWFzZSINCkBAIC05MjMsNyArOTIzLDcgQEAKIAkJCS8+DQogCQkJPFRvb2wNCiAJCQkJTmFtZT0iVkNMaW5rZXJUb29sIg0KLQkJCQlBZGRpdGlvbmFsRGVwZW5kZW5jaWVzPSJ3czJfMzIubGliIHdsZGFwMzIubGliIGxpYmVheTMyLmxpYiBzc2xlYXkzMi5saWIiDQorCQkJCUFkZGl0aW9uYWxEZXBlbmRlbmNpZXM9ImNyeXB0MzIubGliIHdzMl8zMi5saWIgd2xkYXAzMi5saWIgbGliZWF5MzIubGliIHNzbGVheTMyLmxpYiINCiAJCQkJT3V0cHV0RmlsZT0iJChPdXREaXIpXCQoUHJvamVjdE5hbWUpLmRsbCINCiAJCQkJTGlua0luY3JlbWVudGFsPSIxIg0KIAkJCQlBZGRpdGlvbmFsTGlicmFyeURpcmVjdG9yaWVzPSIuLlwuLlwuLlwuLlwuLlxvcGVuc3NsXGJ1aWxkXFdpbjY0XFZDOVxETEwgUmVsZWFzZSINCkBAIC0xMzM5LDcgKzEzMzksNyBAQAogCQkJLz4NCiAJCQk8VG9vbA0KIAkJCQlOYW1lPSJWQ0xpbmtlclRvb2wiDQotCQkJCUFkZGl0aW9uYWxEZXBlbmRlbmNpZXM9IndzMl8zMi5saWIgd2xkYXAzMi5saWIgbGliZWF5MzIubGliIHNzbGVheTMyLmxpYiBsaWJzc2gyZC5saWIiDQorCQkJCUFkZGl0aW9uYWxEZXBlbmRlbmNpZXM9ImNyeXB0MzIubGliIHdzMl8zMi5saWIgd2xkYXAzMi5saWIgbGliZWF5MzIubGliIHNzbGVheTMyLmxpYiBsaWJzc2gyZC5saWIiDQogCQkJCU91dHB1dEZpbGU9IiQoT3V0RGlyKVwkKFByb2plY3ROYW1lKWQuZGxsIg0KIAkJCQlMaW5rSW5jcmVtZW50YWw9IjEiDQogCQkJCUFkZGl0aW9uYWxMaWJyYXJ5RGlyZWN0b3JpZXM9Ii4uXC4uXC4uXC4uXC4uXG9wZW5zc2xcYnVpbGRcV2luMzJcVkM5XERMTCBEZWJ1ZzsuLlwuLlwuLlwuLlwuLlxsaWJzc2gyXGJ1aWxkXFdpbjMyXFZDOVxETEwgRGVidWciDQpAQCAtMTQyNCw3ICsxNDI0LDcgQEAKIAkJCS8+DQogCQkJPFRvb2wNCiAJCQkJTmFtZT0iVkNMaW5rZXJUb29sIg0KLQkJCQlBZGRpdGlvbmFsRGVwZW5kZW5jaWVzPSJ3czJfMzIubGliIHdsZGFwMzIubGliIGxpYmVheTMyLmxpYiBzc2xlYXkzMi5saWIgbGlic3NoMmQubGliIg0KKwkJCQlBZGRpdGlvbmFsRGVwZW5kZW5jaWVzPSJjcnlwdDMyLmxpYiB3czJfMzIubGliIHdsZGFwMzIubGliIGxpYmVheTMyLmxpYiBzc2xlYXkzMi5saWIgbGlic3NoMmQubGliIg0KIAkJCQlPdXRwdXRGaWxlPSIkKE91dERpcilcJChQcm9qZWN0TmFtZSlkLmRsbCINCiAJCQkJTGlua0luY3JlbWVudGFsPSIxIg0KIAkJCQlBZGRpdGlvbmFsTGlicmFyeURpcmVjdG9yaWVzPSIuLlwuLlwuLlwuLlwuLlxvcGVuc3NsXGJ1aWxkXFdpbjY0XFZDOVxETEwgRGVidWc7Li5cLi5cLi5cLi5cLi5cbGlic3NoMlxidWlsZFxXaW42NFxWQzlcRExMIERlYnVnIg0KQEAgLTE1MDgsNyArMTUwOCw3IEBACiAJCQkvPg0KIAkJCTxUb29sDQogCQkJCU5hbWU9IlZDTGlua2VyVG9vbCINCi0JCQkJQWRkaXRpb25hbERlcGVuZGVuY2llcz0id3MyXzMyLmxpYiB3bGRhcDMyLmxpYiBsaWJlYXkzMi5saWIgc3NsZWF5MzIubGliIGxpYnNzaDIubGliIg0KKwkJCQlBZGRpdGlvbmFsRGVwZW5kZW5jaWVzPSJjcnlwdDMyLmxpYiB3czJfMzIubGliIHdsZGFwMzIubGliIGxpYmVheTMyLmxpYiBzc2xlYXkzMi5saWIgbGlic3NoMi5saWIiDQogCQkJCU91dHB1dEZpbGU9IiQoT3V0RGlyKVwkKFByb2plY3ROYW1lKS5kbGwiDQogCQkJCUxpbmtJbmNyZW1lbnRhbD0iMSINCiAJCQkJQWRkaXRpb25hbExpYnJhcnlEaXJlY3Rvcmllcz0iLi5cLi5cLi5cLi5cLi5cb3BlbnNzbFxidWlsZFxXaW4zMlxWQzlcRExMIFJlbGVhc2U7Li5cLi5cLi5cLi5cLi5cbGlic3NoMlxidWlsZFxXaW4zMlxWQzlcRExMIFJlbGVhc2UiDQpAQCAtMTU5MSw3ICsxNTkxLDcgQEAKIAkJCS8+DQogCQkJPFRvb2wNCiAJCQkJTmFtZT0iVkNMaW5rZXJUb29sIg0KLQkJCQlBZGRpdGlvbmFsRGVwZW5kZW5jaWVzPSJ3czJfMzIubGliIHdsZGFwMzIubGliIGxpYmVheTMyLmxpYiBzc2xlYXkzMi5saWIgbGlic3NoMi5saWIiDQorCQkJCUFkZGl0aW9uYWxEZXBlbmRlbmNpZXM9ImNyeXB0MzIubGliIHdzMl8zMi5saWIgd2xkYXAzMi5saWIgbGliZWF5MzIubGliIHNzbGVheTMyLmxpYiBsaWJzc2gyLmxpYiINCiAJCQkJT3V0cHV0RmlsZT0iJChPdXREaXIpXCQoUHJvamVjdE5hbWUpLmRsbCINCiAJCQkJTGlua0luY3JlbWVudGFsPSIxIg0KIAkJCQlBZGRpdGlvbmFsTGlicmFyeURpcmVjdG9yaWVzPSIuLlwuLlwuLlwuLlwuLlxvcGVuc3NsXGJ1aWxkXFdpbjY0XFZDOVxETEwgUmVsZWFzZTsuLlwuLlwuLlwuLlwuLlxsaWJzc2gyXGJ1aWxkXFdpbjY0XFZDOVxETEwgUmVsZWFzZSINCkBAIC0zNjc4LDYgKzM2NzgsMTAgQEAKIAkJCT4NCiAJCQk8L0ZpbGU+DQogCQkJPEZpbGUNCisJCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlwuLlwuLlxsaWJcZHluYnVmLmMiDQorCQkJPg0KKwkJCTwvRmlsZT4NCisJCQk8RmlsZQ0KIAkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXC4uXC4uXGxpYlxlYXN5LmMiDQogCQkJPg0KIAkJCTwvRmlsZT4NCkBAIC00MTgyLDYgKzQxODYsMTAgQEAKIAkJCT4NCiAJCQk8L0ZpbGU+DQogCQkJPEZpbGUNCisJCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlwuLlwuLlxsaWJcZHluYnVmLmgiDQorCQkJPg0KKwkJCTwvRmlsZT4NCisJCQk8RmlsZQ0KIAkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXC4uXC4uXGxpYlxlYXN5aWYuaCINCiAJCQk+DQogCQkJPC9GaWxlPg0KQEAgLTQ1NjAsNiArNDU2OCwxMCBAQAogCQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXC4uXC4uXGxpYlx2cXVpY1xxdWljaGUuYyINCiAJCQkJPg0KIAkJCQk8L0ZpbGU+DQorCQkJCTxGaWxlDQorCQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXC4uXC4uXGxpYlx2cXVpY1x2cXVpYy5jIg0KKwkJCQk+DQorCQkJCTwvRmlsZT4NCiAJCQk8L0ZpbHRlcj4NCiAJCQk8RmlsdGVyDQogCQkJCU5hbWU9IkhlYWRlciBGaWxlcyINCkBAIC00NTcyLDYgKzQ1ODQsMTAgQEAKIAkJCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlwuLlwuLlxsaWJcdnF1aWNccXVpY2hlLmgiDQogCQkJCT4NCiAJCQkJPC9GaWxlPg0KKwkJCQk8RmlsZQ0KKwkJCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlwuLlwuLlxsaWJcdnF1aWNcdnF1aWMuaCINCisJCQkJPg0KKwkJCQk8L0ZpbGU+DQogCQkJPC9GaWx0ZXI+DQogCQk8L0ZpbHRlcj4NCiAJCTxGaWx0ZXINCkBAIC00NjIxLDYgKzQ2MzcsMTAgQEAKIAkJCQk+DQogCQkJCTwvRmlsZT4NCiAJCQkJPEZpbGUNCisJCQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cLi5cLi5cbGliXHZ0bHNca2V5bG9nLmMiDQorCQkJCT4NCisJCQkJPC9GaWxlPg0KKwkJCQk8RmlsZQ0KIAkJCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlwuLlwuLlxsaWJcdnRsc1xtYmVkdGxzLmMiDQogCQkJCT4NCiAJCQkJPC9GaWxlPg0KQEAgLTQ2NzcsNiArNDY5NywxMCBAQAogCQkJCT4NCiAJCQkJPC9GaWxlPg0KIAkJCQk8RmlsZQ0KKwkJCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlwuLlwuLlxsaWJcdnRsc1xrZXlsb2cuaCINCisJCQkJPg0KKwkJCQk8L0ZpbGU+DQorCQkJCTxGaWxlDQogCQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXC4uXC4uXGxpYlx2dGxzXG1iZWR0bHMuaCINCiAJCQkJPg0KIAkJCQk8L0ZpbGU+DQpkaWZmIC0tZ2l0IGEvcHJvamVjdHMvV2luZG93cy9WQzkvc3JjL2N1cmwudmNwcm9qIGIvcHJvamVjdHMvV2luZG93cy9WQzkvc3JjL2N1cmwudmNwcm9qCmluZGV4IDk3ZTkxOWYuLjYxMmFlZWUgMTAwNjQ0Ci0tLSBhL3Byb2plY3RzL1dpbmRvd3MvVkM5L3NyYy9jdXJsLnZjcHJvagorKysgYi9wcm9qZWN0cy9XaW5kb3dzL1ZDOS9zcmMvY3VybC52Y3Byb2oKQEAgLTIzNTEsNyArMjM1MSw3IEBACiAJCQkvPg0KIAkJCTxUb29sDQogCQkJCU5hbWU9IlZDTGlua2VyVG9vbCINCi0JCQkJQWRkaXRpb25hbERlcGVuZGVuY2llcz0id3MyXzMyLmxpYiB3bGRhcDMyLmxpYiBsaWJjdXJsZC5saWIgbGliZWF5MzIubGliIHNzbGVheTMyLmxpYiINCisJCQkJQWRkaXRpb25hbERlcGVuZGVuY2llcz0iY3J5cHQzMi5saWIgd3MyXzMyLmxpYiB3bGRhcDMyLmxpYiBsaWJjdXJsZC5saWIgbGliZWF5MzIubGliIHNzbGVheTMyLmxpYiINCiAJCQkJT3V0cHV0RmlsZT0iJChPdXREaXIpXCQoUHJvamVjdE5hbWUpZC5leGUiDQogCQkJCUxpbmtJbmNyZW1lbnRhbD0iMSINCiAJCQkJQWRkaXRpb25hbExpYnJhcnlEaXJlY3Rvcmllcz0iLi5cLi5cLi5cLi5cYnVpbGRcV2luMzJcVkM5XCQoQ29uZmlndXJhdGlvbk5hbWUpOy4uXC4uXC4uXC4uXC4uXG9wZW5zc2xcYnVpbGRcV2luMzJcVkM5XERMTCBEZWJ1ZyINCkBAIC0yNDM0LDcgKzI0MzQsNyBAQAogCQkJLz4NCiAJCQk8VG9vbA0KIAkJCQlOYW1lPSJWQ0xpbmtlclRvb2wiDQotCQkJCUFkZGl0aW9uYWxEZXBlbmRlbmNpZXM9IndzMl8zMi5saWIgd2xkYXAzMi5saWIgbGliY3VybGQubGliIGxpYmVheTMyLmxpYiBzc2xlYXkzMi5saWIiDQorCQkJCUFkZGl0aW9uYWxEZXBlbmRlbmNpZXM9ImNyeXB0MzIubGliIHdzMl8zMi5saWIgd2xkYXAzMi5saWIgbGliY3VybGQubGliIGxpYmVheTMyLmxpYiBzc2xlYXkzMi5saWIiDQogCQkJCU91dHB1dEZpbGU9IiQoT3V0RGlyKVwkKFByb2plY3ROYW1lKWQuZXhlIg0KIAkJCQlMaW5rSW5jcmVtZW50YWw9IjEiDQogCQkJCUFkZGl0aW9uYWxMaWJyYXJ5RGlyZWN0b3JpZXM9Ii4uXC4uXC4uXC4uXGJ1aWxkXFdpbjY0XFZDOVwkKENvbmZpZ3VyYXRpb25OYW1lKTsuLlwuLlwuLlwuLlwuLlxvcGVuc3NsXGJ1aWxkXFdpbjY0XFZDOVxETEwgRGVidWciDQpAQCAtMjUxNiw3ICsyNTE2LDcgQEAKIAkJCS8+DQogCQkJPFRvb2wNCiAJCQkJTmFtZT0iVkNMaW5rZXJUb29sIg0KLQkJCQlBZGRpdGlvbmFsRGVwZW5kZW5jaWVzPSJ3czJfMzIubGliIHdsZGFwMzIubGliIGxpYmN1cmwubGliIGxpYmVheTMyLmxpYiBzc2xlYXkzMi5saWIiDQorCQkJCUFkZGl0aW9uYWxEZXBlbmRlbmNpZXM9ImNyeXB0MzIubGliIHdzMl8zMi5saWIgd2xkYXAzMi5saWIgbGliY3VybC5saWIgbGliZWF5MzIubGliIHNzbGVheTMyLmxpYiINCiAJCQkJT3V0cHV0RmlsZT0iJChPdXREaXIpXCQoUHJvamVjdE5hbWUpLmV4ZSINCiAJCQkJTGlua0luY3JlbWVudGFsPSIxIg0KIAkJCQlBZGRpdGlvbmFsTGlicmFyeURpcmVjdG9yaWVzPSIuLlwuLlwuLlwuLlxidWlsZFxXaW4zMlxWQzlcJChDb25maWd1cmF0aW9uTmFtZSk7Li5cLi5cLi5cLi5cLi5cb3BlbnNzbFxidWlsZFxXaW4zMlxWQzlcRExMIFJlbGVhc2UiDQpAQCAtMjU5Nyw3ICsyNTk3LDcgQEAKIAkJCS8+DQogCQkJPFRvb2wNCiAJCQkJTmFtZT0iVkNMaW5rZXJUb29sIg0KLQkJCQlBZGRpdGlvbmFsRGVwZW5kZW5jaWVzPSJ3czJfMzIubGliIHdsZGFwMzIubGliIGxpYmN1cmwubGliIGxpYmVheTMyLmxpYiBzc2xlYXkzMi5saWIiDQorCQkJCUFkZGl0aW9uYWxEZXBlbmRlbmNpZXM9ImNyeXB0MzIubGliIHdzMl8zMi5saWIgd2xkYXAzMi5saWIgbGliY3VybC5saWIgbGliZWF5MzIubGliIHNzbGVheTMyLmxpYiINCiAJCQkJT3V0cHV0RmlsZT0iJChPdXREaXIpXCQoUHJvamVjdE5hbWUpLmV4ZSINCiAJCQkJTGlua0luY3JlbWVudGFsPSIxIg0KIAkJCQlBZGRpdGlvbmFsTGlicmFyeURpcmVjdG9yaWVzPSIuLlwuLlwuLlwuLlxidWlsZFxXaW42NFxWQzlcJChDb25maWd1cmF0aW9uTmFtZSk7Li5cLi5cLi5cLi5cLi5cb3BlbnNzbFxidWlsZFxXaW42NFxWQzlcRExMIFJlbGVhc2UiDQpAQCAtMjY3Nyw3ICsyNjc3LDcgQEAKIAkJCS8+DQogCQkJPFRvb2wNCiAJCQkJTmFtZT0iVkNMaW5rZXJUb29sIg0KLQkJCQlBZGRpdGlvbmFsRGVwZW5kZW5jaWVzPSJ3czJfMzIubGliIHdsZGFwMzIubGliIGxpYmN1cmxkLmxpYiBsaWJlYXkzMi5saWIgc3NsZWF5MzIubGliIGxpYnNzaDJkLmxpYiINCisJCQkJQWRkaXRpb25hbERlcGVuZGVuY2llcz0iY3J5cHQzMi5saWIgd3MyXzMyLmxpYiB3bGRhcDMyLmxpYiBsaWJjdXJsZC5saWIgbGliZWF5MzIubGliIHNzbGVheTMyLmxpYiBsaWJzc2gyZC5saWIiDQogCQkJCU91dHB1dEZpbGU9IiQoT3V0RGlyKVwkKFByb2plY3ROYW1lKWQuZXhlIg0KIAkJCQlMaW5rSW5jcmVtZW50YWw9IjEiDQogCQkJCUFkZGl0aW9uYWxMaWJyYXJ5RGlyZWN0b3JpZXM9Ii4uXC4uXC4uXC4uXGJ1aWxkXFdpbjMyXFZDOVwkKENvbmZpZ3VyYXRpb25OYW1lKTsuLlwuLlwuLlwuLlwuLlxvcGVuc3NsXGJ1aWxkXFdpbjMyXFZDOVxETEwgRGVidWc7Li5cLi5cLi5cLi5cLi5cbGlic3NoMlxidWlsZFxXaW4zMlxWQzlcRExMIERlYnVnIg0KQEAgLTI3NjAsNyArMjc2MCw3IEBACiAJCQkvPg0KIAkJCTxUb29sDQogCQkJCU5hbWU9IlZDTGlua2VyVG9vbCINCi0JCQkJQWRkaXRpb25hbERlcGVuZGVuY2llcz0id3MyXzMyLmxpYiB3bGRhcDMyLmxpYiBsaWJjdXJsZC5saWIgbGliZWF5MzIubGliIHNzbGVheTMyLmxpYiBsaWJzc2gyZC5saWIiDQorCQkJCUFkZGl0aW9uYWxEZXBlbmRlbmNpZXM9ImNyeXB0MzIubGliIHdzMl8zMi5saWIgd2xkYXAzMi5saWIgbGliY3VybGQubGliIGxpYmVheTMyLmxpYiBzc2xlYXkzMi5saWIgbGlic3NoMmQubGliIg0KIAkJCQlPdXRwdXRGaWxlPSIkKE91dERpcilcJChQcm9qZWN0TmFtZSlkLmV4ZSINCiAJCQkJTGlua0luY3JlbWVudGFsPSIxIg0KIAkJCQlBZGRpdGlvbmFsTGlicmFyeURpcmVjdG9yaWVzPSIuLlwuLlwuLlwuLlxidWlsZFxXaW42NFxWQzlcJChDb25maWd1cmF0aW9uTmFtZSk7Li5cLi5cLi5cLi5cLi5cb3BlbnNzbFxidWlsZFxXaW42NFxWQzlcRExMIERlYnVnOy4uXC4uXC4uXC4uXC4uXGxpYnNzaDJcYnVpbGRcV2luNjRcVkM5XERMTCBEZWJ1ZyINCkBAIC0yODQyLDcgKzI4NDIsNyBAQAogCQkJLz4NCiAJCQk8VG9vbA0KIAkJCQlOYW1lPSJWQ0xpbmtlclRvb2wiDQotCQkJCUFkZGl0aW9uYWxEZXBlbmRlbmNpZXM9IndzMl8zMi5saWIgd2xkYXAzMi5saWIgbGliY3VybC5saWIgbGliZWF5MzIubGliIHNzbGVheTMyLmxpYiBsaWJzc2gyLmxpYiINCisJCQkJQWRkaXRpb25hbERlcGVuZGVuY2llcz0iY3J5cHQzMi5saWIgd3MyXzMyLmxpYiB3bGRhcDMyLmxpYiBsaWJjdXJsLmxpYiBsaWJlYXkzMi5saWIgc3NsZWF5MzIubGliIGxpYnNzaDIubGliIg0KIAkJCQlPdXRwdXRGaWxlPSIkKE91dERpcilcJChQcm9qZWN0TmFtZSkuZXhlIg0KIAkJCQlMaW5rSW5jcmVtZW50YWw9IjEiDQogCQkJCUFkZGl0aW9uYWxMaWJyYXJ5RGlyZWN0b3JpZXM9Ii4uXC4uXC4uXC4uXGJ1aWxkXFdpbjMyXFZDOVwkKENvbmZpZ3VyYXRpb25OYW1lKTsuLlwuLlwuLlwuLlwuLlxvcGVuc3NsXGJ1aWxkXFdpbjMyXFZDOVxETEwgUmVsZWFzZTsuLlwuLlwuLlwuLlwuLlxsaWJzc2gyXGJ1aWxkXFdpbjMyXFZDOVxETEwgUmVsZWFzZSINCkBAIC0yOTIzLDcgKzI5MjMsNyBAQAogCQkJLz4NCiAJCQk8VG9vbA0KIAkJCQlOYW1lPSJWQ0xpbmtlclRvb2wiDQotCQkJCUFkZGl0aW9uYWxEZXBlbmRlbmNpZXM9IndzMl8zMi5saWIgd2xkYXAzMi5saWIgbGliY3VybC5saWIgbGlic3NoMi5saWIgbGliZWF5MzIubGliIHNzbGVheTMyLmxpYiINCisJCQkJQWRkaXRpb25hbERlcGVuZGVuY2llcz0iY3J5cHQzMi5saWIgd3MyXzMyLmxpYiB3bGRhcDMyLmxpYiBsaWJjdXJsLmxpYiBsaWJzc2gyLmxpYiBsaWJlYXkzMi5saWIgc3NsZWF5MzIubGliIg0KIAkJCQlPdXRwdXRGaWxlPSIkKE91dERpcilcJChQcm9qZWN0TmFtZSkuZXhlIg0KIAkJCQlMaW5rSW5jcmVtZW50YWw9IjEiDQogCQkJCUFkZGl0aW9uYWxMaWJyYXJ5RGlyZWN0b3JpZXM9Ii4uXC4uXC4uXC4uXGJ1aWxkXFdpbjY0XFZDOVwkKENvbmZpZ3VyYXRpb25OYW1lKTsuLlwuLlwuLlwuLlwuLlxvcGVuc3NsXGJ1aWxkXFdpbjY0XFZDOVxETEwgUmVsZWFzZTsuLlwuLlwuLlwuLlwuLlxsaWJzc2gyXGJ1aWxkXFdpbjY0XFZDOVxETEwgUmVsZWFzZSINCkBAIC0zOTQyLDYgKzM5NDIsMTAgQEAKIAkJCT4NCiAJCQk8L0ZpbGU+DQogCQkJPEZpbGUNCisJCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlwuLlwuLlxsaWJcY3VybF9tdWx0aWJ5dGUuYyINCisJCQk+DQorCQkJPC9GaWxlPg0KKwkJCTxGaWxlDQogCQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cLi5cLi5cbGliXG5vbmJsb2NrLmMiDQogCQkJPg0KIAkJCTwvRmlsZT4NCkBAIC00MTMwLDYgKzQxMzQsMTAgQEAKIAkJCT4NCiAJCQk8L0ZpbGU+DQogCQkJPEZpbGUNCisJCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlwuLlwuLlxsaWJcY3VybF9tdWx0aWJ5dGUuaCINCisJCQk+DQorCQkJPC9GaWxlPg0KKwkJCTxGaWxlDQogCQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cLi5cLi5cbGliXGN1cmxfc2V0dXAuaCINCiAJCQk+DQogCQkJPC9GaWxlPg0KZGlmZiAtLWdpdCBhL3Byb2plY3RzL2dlbmVyYXRlLmJhdCBiL3Byb2plY3RzL2dlbmVyYXRlLmJhdAppbmRleCA4N2FmOWRiLi4xNDhhMjkwIDEwMDY0NAotLS0gYS9wcm9qZWN0cy9nZW5lcmF0ZS5iYXQKKysrIGIvcHJvamVjdHMvZ2VuZXJhdGUuYmF0CkBAIC0yODUsNiArMjg1LDcgQEAKICAgICAgIGNhbGwgOmVsZW1lbnQgJTEgbGliICJub25ibG9jay5jIiAlMwogICAgICAgY2FsbCA6ZWxlbWVudCAlMSBsaWIgIndhcm5sZXNzLmMiICUzCiAgICAgICBjYWxsIDplbGVtZW50ICUxIGxpYiAiY3VybF9jdHlwZS5jIiAlMworICAgICAgY2FsbCA6ZWxlbWVudCAlMSBsaWIgImN1cmxfbXVsdGlieXRlLmMiICUzCiAgICAgKSBlbHNlIGlmICIhdmFyISIgPT0gIkNVUkxfU1JDX1hfSF9GSUxFUyIgKAogICAgICAgY2FsbCA6ZWxlbWVudCAlMSBsaWIgImNvbmZpZy13aW4zMi5oIiAlMwogICAgICAgY2FsbCA6ZWxlbWVudCAlMSBsaWIgImN1cmxfc2V0dXAuaCIgJTMKQEAgLTI5Miw2ICsyOTMsNyBAQAogICAgICAgY2FsbCA6ZWxlbWVudCAlMSBsaWIgIm5vbmJsb2NrLmgiICUzCiAgICAgICBjYWxsIDplbGVtZW50ICUxIGxpYiAid2Fybmxlc3MuaCIgJTMKICAgICAgIGNhbGwgOmVsZW1lbnQgJTEgbGliICJjdXJsX2N0eXBlLmgiICUzCisgICAgICBjYWxsIDplbGVtZW50ICUxIGxpYiAiY3VybF9tdWx0aWJ5dGUuaCIgJTMKICAgICApIGVsc2UgaWYgIiF2YXIhIiA9PSAiQ1VSTF9MSUJfQ19GSUxFUyIgKAogICAgICAgZm9yIC9mICJkZWxpbXM9IiAlJWMgaW4gKCdkaXIgL2IgLi5cbGliXCouYycpIGRvIGNhbGwgOmVsZW1lbnQgJTEgbGliICIlJWMiICUzCiAgICAgKSBlbHNlIGlmICIhdmFyISIgPT0gIkNVUkxfTElCX0hfRklMRVMiICgKZGlmZiAtLWdpdCBhL3NyYy9NYWtlZmlsZS5pbmMgYi9zcmMvTWFrZWZpbGUuaW5jCmluZGV4IGNiODg2ZTcuLjE3ZGQxNzggMTAwNjQ0Ci0tLSBhL3NyYy9NYWtlZmlsZS5pbmMKKysrIGIvc3JjL01ha2VmaWxlLmluYwpAQCAtMzQsMTQgKzM0LDE2IEBACiAgIC4uL2xpYi9zdHJ0b29mZnQuYyBcCiAgIC4uL2xpYi9ub25ibG9jay5jIFwKICAgLi4vbGliL3dhcm5sZXNzLmMgXAotICAuLi9saWIvY3VybF9jdHlwZS5jCisgIC4uL2xpYi9jdXJsX2N0eXBlLmMgXAorICAuLi9saWIvY3VybF9tdWx0aWJ5dGUuYwogCiBDVVJMWF9IRklMRVMgPSBcCiAgIC4uL2xpYi9jdXJsX3NldHVwLmggXAogICAuLi9saWIvc3RydG9vZmZ0LmggXAogICAuLi9saWIvbm9uYmxvY2suaCBcCiAgIC4uL2xpYi93YXJubGVzcy5oIFwKLSAgLi4vbGliL2N1cmxfY3R5cGUuaAorICAuLi9saWIvY3VybF9jdHlwZS5oIFwKKyAgLi4vbGliL2N1cmxfbXVsdGlieXRlLmgKIAogQ1VSTF9DRklMRVMgPSBcCiAgIHNsaXN0X3djLmMgXApkaWZmIC0tZ2l0IGEvc3JjL3Rvb2xfY2JfaGRyLmMgYi9zcmMvdG9vbF9jYl9oZHIuYwppbmRleCAzYjEwMjM4Li41NzQxZjBhIDEwMDY0NAotLS0gYS9zcmMvdG9vbF9jYl9oZHIuYworKysgYi9zcmMvdG9vbF9jYl9oZHIuYwpAQCAtMTE5LDggKzExOSw4IEBACiAKICAgICAgIGlmKCFmaXJzdCkgewogICAgICAgICB3YXJuZihwZXItPmNvbmZpZy0+Z2xvYmFsLAotICAgICAgICAgICAgICAiXG5SZWNlaXZlZCBoZWFkZXIgZXRhZyBpcyBtaXNzaW5nIGRvdWJsZSBxdW90ZS9zXG4iKTsKLSAgICAgICAgcmV0dXJuIDE7CisgICAgICAgICAgICAgICJSZWNlaXZlZCBoZWFkZXIgZXRhZyBpcyBtaXNzaW5nIGRvdWJsZSBxdW90ZS9zXG4iKTsKKyAgICAgICAgcmV0dXJuIGZhaWx1cmU7CiAgICAgICB9CiAgICAgICBlbHNlIHsKICAgICAgICAgLyogZGlzY2FyZCBmaXJzdCBkb3VibGUgcXVvdGUgKi8KQEAgLTEzMiw4ICsxMzIsOCBAQAogCiAgICAgICBpZighbGFzdCkgewogICAgICAgICB3YXJuZihwZXItPmNvbmZpZy0+Z2xvYmFsLAotICAgICAgICAgICAgICAiXG5SZWNlaXZlZCBoZWFkZXIgZXRhZyBpcyBtaXNzaW5nIGRvdWJsZSBxdW90ZS9zXG4iKTsKLSAgICAgICAgcmV0dXJuIDE7CisgICAgICAgICAgICAgICJSZWNlaXZlZCBoZWFkZXIgZXRhZyBpcyBtaXNzaW5nIGRvdWJsZSBxdW90ZS9zXG4iKTsKKyAgICAgICAgcmV0dXJuIGZhaWx1cmU7CiAgICAgICB9CiAKICAgICAgIC8qIGdldCBsZW5ndGggb2YgZGVzaXJlZCBldGFnICovCkBAIC0xODYsMjUgKzE4NiwxMSBAQAogICAgICAgZmlsZW5hbWUgPSBwYXJzZV9maWxlbmFtZShwLCBsZW4pOwogICAgICAgaWYoZmlsZW5hbWUpIHsKICAgICAgICAgaWYob3V0cy0+c3RyZWFtKSB7Ci0gICAgICAgICAgaW50IHJjOwotICAgICAgICAgIC8qIGFscmVhZHkgb3BlbmVkIGFuZCBwb3NzaWJseSB3cml0dGVuIHRvICovCi0gICAgICAgICAgaWYob3V0cy0+Zm9wZW5lZCkKLSAgICAgICAgICAgIGZjbG9zZShvdXRzLT5zdHJlYW0pOwotICAgICAgICAgIG91dHMtPnN0cmVhbSA9IE5VTEw7Ci0KLSAgICAgICAgICAvKiByZW5hbWUgdGhlIGluaXRpYWwgZmlsZSBuYW1lIHRvIHRoZSBuZXcgZmlsZSBuYW1lICovCi0gICAgICAgICAgcmMgPSByZW5hbWUob3V0cy0+ZmlsZW5hbWUsIGZpbGVuYW1lKTsKLSAgICAgICAgICBpZihyYyAhPSAwKSB7Ci0gICAgICAgICAgICB3YXJuZihwZXItPmNvbmZpZy0+Z2xvYmFsLCAiRmFpbGVkIHRvIHJlbmFtZSAlcyAtPiAlczogJXNcbiIsCi0gICAgICAgICAgICAgICAgICBvdXRzLT5maWxlbmFtZSwgZmlsZW5hbWUsIHN0cmVycm9yKGVycm5vKSk7Ci0gICAgICAgICAgfQotICAgICAgICAgIGlmKG91dHMtPmFsbG9jX2ZpbGVuYW1lKQotICAgICAgICAgICAgQ3VybF9zYWZlZnJlZShvdXRzLT5maWxlbmFtZSk7Ci0gICAgICAgICAgaWYocmMgIT0gMCkgewotICAgICAgICAgICAgZnJlZShmaWxlbmFtZSk7Ci0gICAgICAgICAgICByZXR1cm4gZmFpbHVyZTsKLSAgICAgICAgICB9CisgICAgICAgICAgLyogaW5kaWNhdGlvbiBvZiBwcm9ibGVtLCBnZXQgb3V0ISAqLworICAgICAgICAgIGZyZWUoZmlsZW5hbWUpOworICAgICAgICAgIHJldHVybiBmYWlsdXJlOwogICAgICAgICB9CisKICAgICAgICAgb3V0cy0+aXNfY2RfZmlsZW5hbWUgPSBUUlVFOwogICAgICAgICBvdXRzLT5zX2lzcmVnID0gVFJVRTsKICAgICAgICAgb3V0cy0+Zm9wZW5lZCA9IEZBTFNFOwpkaWZmIC0tZ2l0IGEvc3JjL3Rvb2xfY2ZnYWJsZS5jIGIvc3JjL3Rvb2xfY2ZnYWJsZS5jCmluZGV4IGY4MDJhNWEuLjYzYmRlYWEgMTAwNjQ0Ci0tLSBhL3NyYy90b29sX2NmZ2FibGUuYworKysgYi9zcmMvdG9vbF9jZmdhYmxlLmMKQEAgLTUsNyArNSw3IEBACiAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICB8IChfX3wgfF98IHwgIF8gPHwgfF9fXwogICogICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxfX198XF9fXy98X3wgXF9cX19fX198CiAgKgotICogQ29weXJpZ2h0IChDKSAxOTk4IC0gMjAxOSwgRGFuaWVsIFN0ZW5iZXJnLCA8ZGFuaWVsQGhheHguc2U+LCBldCBhbC4KKyAqIENvcHlyaWdodCAoQykgMTk5OCAtIDIwMjAsIERhbmllbCBTdGVuYmVyZywgPGRhbmllbEBoYXh4LnNlPiwgZXQgYWwuCiAgKgogICogVGhpcyBzb2Z0d2FyZSBpcyBsaWNlbnNlZCBhcyBkZXNjcmliZWQgaW4gdGhlIGZpbGUgQ09QWUlORywgd2hpY2gKICAqIHlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhcyBwYXJ0IG9mIHRoaXMgZGlzdHJpYnV0aW9uLiBUaGUgdGVybXMKQEAgLTI2LDcgKzI2LDcgQEAKIAogI2luY2x1ZGUgIm1lbWRlYnVnLmgiIC8qIGtlZXAgdGhpcyBhcyBMQVNUIGluY2x1ZGUgKi8KIAotdm9pZCBjb25maWdfaW5pdChzdHJ1Y3QgT3BlcmF0aW9uQ29uZmlnKiBjb25maWcpCit2b2lkIGNvbmZpZ19pbml0KHN0cnVjdCBPcGVyYXRpb25Db25maWcgKmNvbmZpZykKIHsKICAgbWVtc2V0KGNvbmZpZywgMCwgc2l6ZW9mKHN0cnVjdCBPcGVyYXRpb25Db25maWcpKTsKIApAQCAtMTEyLDYgKzExMiw3IEBACiAgIEN1cmxfc2FmZWZyZWUoY29uZmlnLT5jZXJ0X3R5cGUpOwogICBDdXJsX3NhZmVmcmVlKGNvbmZpZy0+cHJveHlfY2VydF90eXBlKTsKICAgQ3VybF9zYWZlZnJlZShjb25maWctPmNhY2VydCk7CisgIEN1cmxfc2FmZWZyZWUoY29uZmlnLT5sb2dpbl9vcHRpb25zKTsKICAgQ3VybF9zYWZlZnJlZShjb25maWctPnByb3h5X2NhY2VydCk7CiAgIEN1cmxfc2FmZWZyZWUoY29uZmlnLT5jYXBhdGgpOwogICBDdXJsX3NhZmVmcmVlKGNvbmZpZy0+cHJveHlfY2FwYXRoKTsKZGlmZiAtLWdpdCBhL3NyYy90b29sX2NmZ2FibGUuaCBiL3NyYy90b29sX2NmZ2FibGUuaAppbmRleCAyYWU3OTQ0Li40YTkwZDBiIDEwMDY0NAotLS0gYS9zcmMvdG9vbF9jZmdhYmxlLmgKKysrIGIvc3JjL3Rvb2xfY2ZnYWJsZS5oCkBAIC0zNyw4ICszNyw4IEBACiAKIHN0cnVjdCBTdGF0ZSB7CiAgIHN0cnVjdCBnZXRvdXQgKnVybG5vZGU7Ci0gIFVSTEdsb2IgKmluZ2xvYjsKLSAgVVJMR2xvYiAqdXJsczsKKyAgc3RydWN0IFVSTEdsb2IgKmluZ2xvYjsKKyAgc3RydWN0IFVSTEdsb2IgKnVybHM7CiAgIGNoYXIgKm91dGZpbGVzOwogICBjaGFyICpodHRwZ2V0ZmllbGRzOwogICBjaGFyICp1cGxvYWRmaWxlOwpAQCAtMTk0LDggKzE5NCw4IEBACiAgIGN1cmxfb2ZmX3QgY29uZHRpbWU7CiAgIHN0cnVjdCBjdXJsX3NsaXN0ICpoZWFkZXJzOwogICBzdHJ1Y3QgY3VybF9zbGlzdCAqcHJveHloZWFkZXJzOwotICB0b29sX21pbWUgKm1pbWVyb290OwotICB0b29sX21pbWUgKm1pbWVjdXJyZW50OworICBzdHJ1Y3QgdG9vbF9taW1lICptaW1lcm9vdDsKKyAgc3RydWN0IHRvb2xfbWltZSAqbWltZWN1cnJlbnQ7CiAgIGN1cmxfbWltZSAqbWltZXBvc3Q7CiAgIHN0cnVjdCBjdXJsX3NsaXN0ICp0ZWxuZXRfb3B0aW9uczsKICAgc3RydWN0IGN1cmxfc2xpc3QgKnJlc29sdmU7CkBAIC0yMjMsNiArMjIzLDcgQEAKICAgYm9vbCB0Y3Bfbm9kZWxheTsKICAgYm9vbCB0Y3BfZmFzdG9wZW47CiAgIGxvbmcgcmVxX3JldHJ5OyAgICAgICAgICAgLyogbnVtYmVyIG9mIHJldHJpZXMgKi8KKyAgYm9vbCByZXRyeV9hbGxfZXJyb3JzOyAgICAvKiByZXRyeSBvbiBhbnkgZXJyb3IgKi8KICAgYm9vbCByZXRyeV9jb25ucmVmdXNlZDsgICAvKiBzZXQgY29ubmVjdGlvbiByZWZ1c2VkIGFzIGEgdHJhbnNpZW50IGVycm9yICovCiAgIGxvbmcgcmV0cnlfZGVsYXk7ICAgICAgICAgLyogZGVsYXkgYmV0d2VlbiByZXRyaWVzIChpbiBzZWNvbmRzKSAqLwogICBsb25nIHJldHJ5X21heHRpbWU7ICAgICAgIC8qIG1heGltdW0gdGltZSB0byBrZWVwIHJldHJ5aW5nICovCkBAIC0yNTcsOSArMjU4LDExIEBACiAgIGJvb2wgc3NsX3Jldm9rZV9iZXN0X2VmZm9ydDsgLyogaWdub3JlIFNTTCByZXZvY2F0aW9uIG9mZmxpbmUvbWlzc2luZwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldm9jYXRpb24gbGlzdCBlcnJvcnMgKi8KIAorICBib29sIG5hdGl2ZV9jYV9zdG9yZTsgICAgICAgIC8qIHVzZSB0aGUgbmF0aXZlIG9zIGNhIHN0b3JlICovCisKICAgYm9vbCB1c2VfbWV0YWxpbms7ICAgICAgICAvKiBwcm9jZXNzIGdpdmVuIFVSTHMgYXMgbWV0YWxpbmsgWE1MIGZpbGUgKi8KLSAgbWV0YWxpbmtmaWxlICptZXRhbGlua2ZpbGVfbGlzdDsgLyogcG9pbnQgdG8gdGhlIGZpcnN0IG5vZGUgKi8KLSAgbWV0YWxpbmtmaWxlICptZXRhbGlua2ZpbGVfbGFzdDsgLyogcG9pbnQgdG8gdGhlIGxhc3QvY3VycmVudCBub2RlICovCisgIHN0cnVjdCBtZXRhbGlua2ZpbGUgKm1ldGFsaW5rZmlsZV9saXN0OyAvKiBwb2ludCB0byB0aGUgZmlyc3Qgbm9kZSAqLworICBzdHJ1Y3QgbWV0YWxpbmtmaWxlICptZXRhbGlua2ZpbGVfbGFzdDsgLyogcG9pbnQgdG8gdGhlIGxhc3QvY3VycmVudCBub2RlICovCiAgIGNoYXIgKm9hdXRoX2JlYXJlcjsgICAgICAgICAgICAgLyogT0F1dGggMi4wIGJlYXJlciB0b2tlbiAqLwogICBib29sIG5vbnBuOyAgICAgICAgICAgICAgICAgICAgIC8qIGVuYWJsZS9kaXNhYmxlIFRMUyBOUE4gZXh0ZW5zaW9uICovCiAgIGJvb2wgbm9hbHBuOyAgICAgICAgICAgICAgICAgICAgLyogZW5hYmxlL2Rpc2FibGUgVExTIEFMUE4gZXh0ZW5zaW9uICovCmRpZmYgLS1naXQgYS9zcmMvdG9vbF9mb3JtcGFyc2UuYyBiL3NyYy90b29sX2Zvcm1wYXJzZS5jCmluZGV4IDc0ZDE1MzMuLjhlOGZlODcgMTAwNjQ0Ci0tLSBhL3NyYy90b29sX2Zvcm1wYXJzZS5jCisrKyBiL3NyYy90b29sX2Zvcm1wYXJzZS5jCkBAIC01LDcgKzUsNyBAQAogICogICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAoX198IHxffCB8ICBfIDx8IHxfX18KICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcX19ffFxfX18vfF98IFxfXF9fX19ffAogICoKLSAqIENvcHlyaWdodCAoQykgMTk5OCAtIDIwMTksIERhbmllbCBTdGVuYmVyZywgPGRhbmllbEBoYXh4LnNlPiwgZXQgYWwuCisgKiBDb3B5cmlnaHQgKEMpIDE5OTggLSAyMDIwLCBEYW5pZWwgU3RlbmJlcmcsIDxkYW5pZWxAaGF4eC5zZT4sIGV0IGFsLgogICoKICAqIFRoaXMgc29mdHdhcmUgaXMgbGljZW5zZWQgYXMgZGVzY3JpYmVkIGluIHRoZSBmaWxlIENPUFlJTkcsIHdoaWNoCiAgKiB5b3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYXMgcGFydCBvZiB0aGlzIGRpc3RyaWJ1dGlvbi4gVGhlIHRlcm1zCkBAIC00Miw5ICs0MiwxMCBAQAogI2RlZmluZSBDT05TVF9TQUZFRlJFRSh4KSAgICAgICBDdXJsX3NhZmVmcmVlKCooKHZvaWQgKiopICYoeCkpKQogCiAvKiB0b29sX21pbWUgZnVuY3Rpb25zLiAqLwotc3RhdGljIHRvb2xfbWltZSAqdG9vbF9taW1lX25ldyh0b29sX21pbWUgKnBhcmVudCwgdG9vbG1pbWVraW5kIGtpbmQpCitzdGF0aWMgc3RydWN0IHRvb2xfbWltZSAqdG9vbF9taW1lX25ldyhzdHJ1Y3QgdG9vbF9taW1lICpwYXJlbnQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0b29sbWltZWtpbmQga2luZCkKIHsKLSAgdG9vbF9taW1lICptID0gKHRvb2xfbWltZSAqKSBjYWxsb2MoMSwgc2l6ZW9mKCptKSk7CisgIHN0cnVjdCB0b29sX21pbWUgKm0gPSAoc3RydWN0IHRvb2xfbWltZSAqKSBjYWxsb2MoMSwgc2l6ZW9mKCptKSk7CiAKICAgaWYobSkgewogICAgIG0tPmtpbmQgPSBraW5kOwpAQCAtNTcsMTQgKzU4LDE1IEBACiAgIHJldHVybiBtOwogfQogCi1zdGF0aWMgdG9vbF9taW1lICp0b29sX21pbWVfbmV3X3BhcnRzKHRvb2xfbWltZSAqcGFyZW50KQorc3RhdGljIHN0cnVjdCB0b29sX21pbWUgKnRvb2xfbWltZV9uZXdfcGFydHMoc3RydWN0IHRvb2xfbWltZSAqcGFyZW50KQogewogICByZXR1cm4gdG9vbF9taW1lX25ldyhwYXJlbnQsIFRPT0xNSU1FX1BBUlRTKTsKIH0KIAotc3RhdGljIHRvb2xfbWltZSAqdG9vbF9taW1lX25ld19kYXRhKHRvb2xfbWltZSAqcGFyZW50LCBjb25zdCBjaGFyICpkYXRhKQorc3RhdGljIHN0cnVjdCB0b29sX21pbWUgKnRvb2xfbWltZV9uZXdfZGF0YShzdHJ1Y3QgdG9vbF9taW1lICpwYXJlbnQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGNoYXIgKmRhdGEpCiB7Ci0gIHRvb2xfbWltZSAqbSA9IE5VTEw7CisgIHN0cnVjdCB0b29sX21pbWUgKm0gPSBOVUxMOwogCiAgIGRhdGEgPSBzdHJkdXAoZGF0YSk7CiAgIGlmKGRhdGEpIHsKQEAgLTc3LDEzICs3OSwxMyBAQAogICByZXR1cm4gbTsKIH0KIAotc3RhdGljIHRvb2xfbWltZSAqdG9vbF9taW1lX25ld19maWxlZGF0YSh0b29sX21pbWUgKnBhcmVudCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgY2hhciAqZmlsZW5hbWUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJvb2wgaXNyZW1vdGVmaWxlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBDVVJMY29kZSAqZXJyY29kZSkKK3N0YXRpYyBzdHJ1Y3QgdG9vbF9taW1lICp0b29sX21pbWVfbmV3X2ZpbGVkYXRhKHN0cnVjdCB0b29sX21pbWUgKnBhcmVudCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGNoYXIgKmZpbGVuYW1lLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYm9vbCBpc3JlbW90ZWZpbGUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBDVVJMY29kZSAqZXJyY29kZSkKIHsKICAgQ1VSTGNvZGUgcmVzdWx0ID0gQ1VSTEVfT0s7Ci0gIHRvb2xfbWltZSAqbSA9IE5VTEw7CisgIHN0cnVjdCB0b29sX21pbWUgKm0gPSBOVUxMOwogCiAgICplcnJjb2RlID0gQ1VSTEVfT1VUX09GX01FTU9SWTsKICAgaWYoc3RyY21wKGZpbGVuYW1lLCAiLSIpKSB7CkBAIC0xNTksNyArMTYxLDcgQEAKICAgcmV0dXJuIG07CiB9CiAKLXZvaWQgdG9vbF9taW1lX2ZyZWUodG9vbF9taW1lICptaW1lKQordm9pZCB0b29sX21pbWVfZnJlZShzdHJ1Y3QgdG9vbF9taW1lICptaW1lKQogewogICBpZihtaW1lKSB7CiAgICAgaWYobWltZS0+c3VicGFydHMpCkBAIC0xODEsNyArMTgzLDcgQEAKIHNpemVfdCB0b29sX21pbWVfc3RkaW5fcmVhZChjaGFyICpidWZmZXIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2l6ZV90IHNpemUsIHNpemVfdCBuaXRlbXMsIHZvaWQgKmFyZykKIHsKLSAgdG9vbF9taW1lICpzaXAgPSAodG9vbF9taW1lICopIGFyZzsKKyAgc3RydWN0IHRvb2xfbWltZSAqc2lwID0gKHN0cnVjdCB0b29sX21pbWUgKikgYXJnOwogICBjdXJsX29mZl90IGJ5dGVzbGVmdDsKICAgKHZvaWQpIHNpemU7ICAvKiBBbHdheXMgMTogaWdub3JlZC4gKi8KIApAQCAtMjE2LDcgKzIxOCw3IEBACiAKIGludCB0b29sX21pbWVfc3RkaW5fc2Vlayh2b2lkICppbnN0cmVhbSwgY3VybF9vZmZfdCBvZmZzZXQsIGludCB3aGVuY2UpCiB7Ci0gIHRvb2xfbWltZSAqc2lwID0gKHRvb2xfbWltZSAqKSBpbnN0cmVhbTsKKyAgc3RydWN0IHRvb2xfbWltZSAqc2lwID0gKHN0cnVjdCB0b29sX21pbWUgKikgaW5zdHJlYW07CiAKICAgc3dpdGNoKHdoZW5jZSkgewogICBjYXNlIFNFRUtfQ1VSOgpAQCAtMjM4LDcgKzI0MCw4IEBACiAKIC8qIFRyYW5zbGF0ZSBhbiBpbnRlcm5hbCBtaW1lIHRyZWUgaW50byBhIGxpYmN1cmwgbWltZSB0cmVlLiAqLwogCi1zdGF0aWMgQ1VSTGNvZGUgdG9vbDJjdXJscGFydHMoQ1VSTCAqY3VybCwgdG9vbF9taW1lICptLCBjdXJsX21pbWUgKm1pbWUpCitzdGF0aWMgQ1VSTGNvZGUgdG9vbDJjdXJscGFydHMoQ1VSTCAqY3VybCwgc3RydWN0IHRvb2xfbWltZSAqbSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjdXJsX21pbWUgKm1pbWUpCiB7CiAgIENVUkxjb2RlIHJldCA9IENVUkxFX09LOwogICBjdXJsX21pbWVwYXJ0ICpwYXJ0ID0gTlVMTDsKQEAgLTMyMyw3ICszMjYsNyBAQAogICByZXR1cm4gcmV0OwogfQogCi1DVVJMY29kZSB0b29sMmN1cmxtaW1lKENVUkwgKmN1cmwsIHRvb2xfbWltZSAqbSwgY3VybF9taW1lICoqbWltZSkKK0NVUkxjb2RlIHRvb2wyY3VybG1pbWUoQ1VSTCAqY3VybCwgc3RydWN0IHRvb2xfbWltZSAqbSwgY3VybF9taW1lICoqbWltZSkKIHsKICAgQ1VSTGNvZGUgcmV0ID0gQ1VSTEVfT0s7CiAKQEAgLTczMyw4ICs3MzYsOCBAQAogCiBpbnQgZm9ybXBhcnNlKHN0cnVjdCBPcGVyYXRpb25Db25maWcgKmNvbmZpZywKICAgICAgICAgICAgICAgY29uc3QgY2hhciAqaW5wdXQsCi0gICAgICAgICAgICAgIHRvb2xfbWltZSAqKm1pbWVyb290LAotICAgICAgICAgICAgICB0b29sX21pbWUgKiptaW1lY3VycmVudCwKKyAgICAgICAgICAgICAgc3RydWN0IHRvb2xfbWltZSAqKm1pbWVyb290LAorICAgICAgICAgICAgICBzdHJ1Y3QgdG9vbF9taW1lICoqbWltZWN1cnJlbnQsCiAgICAgICAgICAgICAgIGJvb2wgbGl0ZXJhbF92YWx1ZSkKIHsKICAgLyogaW5wdXQgTVVTVCBiZSBhIHN0cmluZyBpbiB0aGUgZm9ybWF0ICduYW1lPWNvbnRlbnRzJyBhbmQgd2UnbGwKQEAgLTc0Nyw3ICs3NTAsNyBAQAogICBjaGFyICpmaWxlbmFtZSA9IE5VTEw7CiAgIGNoYXIgKmVuY29kZXIgPSBOVUxMOwogICBzdHJ1Y3QgY3VybF9zbGlzdCAqaGVhZGVycyA9IE5VTEw7Ci0gIHRvb2xfbWltZSAqcGFydCA9IE5VTEw7CisgIHN0cnVjdCB0b29sX21pbWUgKnBhcnQgPSBOVUxMOwogICBDVVJMY29kZSByZXM7CiAKICAgLyogQWxsb2NhdGUgdGhlIG1haW4gbWltZSBzdHJ1Y3R1cmUgaWYgbmVlZGVkLiAqLwpAQCAtNzk0LDcgKzc5Nyw3IEBACiAKICAgICAgIC8qIHdlIHVzZSB0aGUgQC1sZXR0ZXIgdG8gaW5kaWNhdGUgZmlsZSBuYW1lKHMpICovCiAKLSAgICAgIHRvb2xfbWltZSAqc3VicGFydHMgPSBOVUxMOworICAgICAgc3RydWN0IHRvb2xfbWltZSAqc3VicGFydHMgPSBOVUxMOwogCiAgICAgICBkbyB7CiAgICAgICAgIC8qIHNpbmNlIHRoaXMgd2FzIGEgZmlsZSwgaXQgbWF5IGhhdmUgYSBjb250ZW50LXR5cGUgc3BlY2lmaWVyCmRpZmYgLS1naXQgYS9zcmMvdG9vbF9mb3JtcGFyc2UuaCBiL3NyYy90b29sX2Zvcm1wYXJzZS5oCmluZGV4IDc1MGZlNDUuLjVjMTUyNWUgMTAwNjQ0Ci0tLSBhL3NyYy90b29sX2Zvcm1wYXJzZS5oCisrKyBiL3NyYy90b29sX2Zvcm1wYXJzZS5oCkBAIC03LDcgKzcsNyBAQAogICogICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAoX198IHxffCB8ICBfIDx8IHxfX18KICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcX19ffFxfX18vfF98IFxfXF9fX19ffAogICoKLSAqIENvcHlyaWdodCAoQykgMTk5OCAtIDIwMTksIERhbmllbCBTdGVuYmVyZywgPGRhbmllbEBoYXh4LnNlPiwgZXQgYWwuCisgKiBDb3B5cmlnaHQgKEMpIDE5OTggLSAyMDIwLCBEYW5pZWwgU3RlbmJlcmcsIDxkYW5pZWxAaGF4eC5zZT4sIGV0IGFsLgogICoKICAqIFRoaXMgc29mdHdhcmUgaXMgbGljZW5zZWQgYXMgZGVzY3JpYmVkIGluIHRoZSBmaWxlIENPUFlJTkcsIHdoaWNoCiAgKiB5b3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYXMgcGFydCBvZiB0aGlzIGRpc3RyaWJ1dGlvbi4gVGhlIHRlcm1zCkBAIC0zNSwxMiArMzUsMTEgQEAKICAgVE9PTE1JTUVfU1RESU5EQVRBCiB9IHRvb2xtaW1la2luZDsKIAotdHlwZWRlZiBzdHJ1Y3QgdG9vbF9taW1lICAgICAgICB0b29sX21pbWU7CiBzdHJ1Y3QgdG9vbF9taW1lIHsKICAgLyogU3RydWN0dXJhbCBmaWVsZHMuICovCiAgIHRvb2xtaW1la2luZCBraW5kOyAgICAgICAgICAgIC8qIFBhcnQga2luZC4gKi8KLSAgdG9vbF9taW1lICpwYXJlbnQ7ICAgICAgICAgICAgLyogUGFyZW50IGl0ZW0uICovCi0gIHRvb2xfbWltZSAqcHJldjsgICAgICAgICAgICAgIC8qIFByZXZpb3VzIHNpYmxpbmcgKHJldmVyc2Ugb3JkZXIgbGluaykuICovCisgIHN0cnVjdCB0b29sX21pbWUgKnBhcmVudDsgICAgIC8qIFBhcmVudCBpdGVtLiAqLworICBzdHJ1Y3QgdG9vbF9taW1lICpwcmV2OyAgICAgICAvKiBQcmV2aW91cyBzaWJsaW5nIChyZXZlcnNlIG9yZGVyIGxpbmspLiAqLwogICAvKiBDb21tb24gZmllbGRzLiAqLwogICBjb25zdCBjaGFyICpkYXRhOyAgICAgICAgICAgICAvKiBBY3R1YWwgZGF0YSBvciBkYXRhIGZpbGVuYW1lLiAqLwogICBjb25zdCBjaGFyICpuYW1lOyAgICAgICAgICAgICAvKiBQYXJ0IG5hbWUuICovCkBAIC00OSw3ICs0OCw3IEBACiAgIGNvbnN0IGNoYXIgKmVuY29kZXI7ICAgICAgICAgIC8qIFBhcnQncyByZXF1ZXN0ZWQgZW5jb2RpbmcuICovCiAgIHN0cnVjdCBjdXJsX3NsaXN0ICpoZWFkZXJzOyAgIC8qIFVzZXItZGVmaW5lZCBoZWFkZXJzLiAqLwogICAvKiBUT09MTUlNRV9QQVJUUyBmaWVsZHMuICovCi0gIHRvb2xfbWltZSAqc3VicGFydHM7ICAgICAgICAgIC8qIFBhcnQncyBzdWJwYXJ0cy4gKi8KKyAgc3RydWN0IHRvb2xfbWltZSAqc3VicGFydHM7ICAgLyogUGFydCdzIHN1YnBhcnRzLiAqLwogICAvKiBUT09MTUlNRV9TVERJTi9UT09MTUlNRV9TVERJTkRBVEEgZmllbGRzLiAqLwogICBjdXJsX29mZl90IG9yaWdpbjsgICAgICAgICAgICAvKiBTdGRpbiByZWFkIG9yaWdpbiBvZmZzZXQuICovCiAgIGN1cmxfb2ZmX3Qgc2l6ZTsgICAgICAgICAgICAgIC8qIFN0ZGluIGRhdGEgc2l6ZS4gKi8KQEAgLTYzLDEwICs2MiwxMCBAQAogCiBpbnQgZm9ybXBhcnNlKHN0cnVjdCBPcGVyYXRpb25Db25maWcgKmNvbmZpZywKICAgICAgICAgICAgICAgY29uc3QgY2hhciAqaW5wdXQsCi0gICAgICAgICAgICAgIHRvb2xfbWltZSAqKm1pbWVyb290LAotICAgICAgICAgICAgICB0b29sX21pbWUgKiptaW1lY3VycmVudCwKKyAgICAgICAgICAgICAgc3RydWN0IHRvb2xfbWltZSAqKm1pbWVyb290LAorICAgICAgICAgICAgICBzdHJ1Y3QgdG9vbF9taW1lICoqbWltZWN1cnJlbnQsCiAgICAgICAgICAgICAgIGJvb2wgbGl0ZXJhbF92YWx1ZSk7Ci1DVVJMY29kZSB0b29sMmN1cmxtaW1lKENVUkwgKmN1cmwsIHRvb2xfbWltZSAqbSwgY3VybF9taW1lICoqbWltZSk7Ci12b2lkIHRvb2xfbWltZV9mcmVlKHRvb2xfbWltZSAqbWltZSk7CitDVVJMY29kZSB0b29sMmN1cmxtaW1lKENVUkwgKmN1cmwsIHN0cnVjdCB0b29sX21pbWUgKm0sIGN1cmxfbWltZSAqKm1pbWUpOwordm9pZCB0b29sX21pbWVfZnJlZShzdHJ1Y3QgdG9vbF9taW1lICptaW1lKTsKIAogI2VuZGlmIC8qIEhFQURFUl9DVVJMX1RPT0xfRk9STVBBUlNFX0ggKi8KZGlmZiAtLWdpdCBhL3NyYy90b29sX2dldHBhcmFtLmMgYi9zcmMvdG9vbF9nZXRwYXJhbS5jCmluZGV4IDAyNTJlZTAuLjM0MDk2MjEgMTAwNjQ0Ci0tLSBhL3NyYy90b29sX2dldHBhcmFtLmMKKysrIGIvc3JjL3Rvb2xfZ2V0cGFyYW0uYwpAQCAtMTk3LDYgKzE5Nyw3IEBACiAgIHsiJFkiLCAic3VwcHJlc3MtY29ubmVjdC1oZWFkZXJzIiwgQVJHX0JPT0x9LAogICB7IiRaIiwgImNvbXByZXNzZWQtc3NoIiwgICAgICAgICAgIEFSR19CT09MfSwKICAgeyIkfiIsICJoYXBweS1leWViYWxscy10aW1lb3V0LW1zIiwgQVJHX1NUUklOR30sCisgIHsiJCEiLCAicmV0cnktYWxsLWVycm9ycyIsICAgICAgICAgQVJHX0JPT0x9LAogICB7IjAiLCAgICJodHRwMS4wIiwgICAgICAgICAgICAgICAgIEFSR19OT05FfSwKICAgeyIwMSIsICAiaHR0cDEuMSIsICAgICAgICAgICAgICAgICBBUkdfTk9ORX0sCiAgIHsiMDIiLCAgImh0dHAyIiwgICAgICAgICAgICAgICAgICAgQVJHX05PTkV9LApAQCAtOTI3LDYgKzkyOCw5IEBACiAgICAgICAgIGlmKGVycikKICAgICAgICAgICByZXR1cm4gZXJyOwogICAgICAgICBicmVhazsKKyAgICAgIGNhc2UgJyEnOiAvKiAtLXJldHJ5LWFsbC1lcnJvcnMgKi8KKyAgICAgICAgY29uZmlnLT5yZXRyeV9hbGxfZXJyb3JzID0gdG9nZ2xlOworICAgICAgICBicmVhazsKIAogICAgICAgY2FzZSAnayc6IC8qIC0tcHJveHktbmVnb3RpYXRlICovCiAgICAgICAgIGlmKGN1cmxpbmZvLT5mZWF0dXJlcyAmIENVUkxfVkVSU0lPTl9TUE5FR08pCkBAIC05NjIsNyArOTY2LDcgQEAKICAgICAgICAgaWYoKnApIHsKICAgICAgICAgICAvKiBpZiB0aGVyZSdzIGFueXRoaW5nIG1vcmUgdGhhbiBhIHBsYWluIGRlY2ltYWwgbnVtYmVyICovCiAgICAgICAgICAgcmMgPSBzc2NhbmYocCwgIiAtICU2cyIsIGxyYW5nZSk7Ci0gICAgICAgICAgKnAgPSAwOyAvKiB6ZXJvIHRlcm1pbmF0ZSB0byBtYWtlIHN0cjJ1bnVtKCkgd29yayBiZWxvdyAqLworICAgICAgICAgICpwID0gMDsgLyogbnVsbC10ZXJtaW5hdGUgdG8gbWFrZSBzdHIydW51bSgpIHdvcmsgYmVsb3cgKi8KICAgICAgICAgfQogICAgICAgICBlbHNlCiAgICAgICAgICAgcmMgPSAwOwpAQCAtMTUxMyw3ICsxNTE3LDcgQEAKICAgICAgICAgLyogQXV0b21hdGljIHJlZmVyZXIgcmVxdWVzdGVkLCB0aGlzIG1heSBiZSBjb21iaW5lZCB3aXRoIGEKICAgICAgICAgICAgc2V0IGluaXRpYWwgb25lICovCiAgICAgICAgIGNvbmZpZy0+YXV0b3JlZmVyZXIgPSBUUlVFOwotICAgICAgICAqcHRyID0gMDsgLyogemVybyB0ZXJtaW5hdGUgaGVyZSAqLworICAgICAgICAqcHRyID0gMDsgLyogbnVsbC10ZXJtaW5hdGUgaGVyZSAqLwogICAgICAgfQogICAgICAgZWxzZQogICAgICAgICBjb25maWctPmF1dG9yZWZlcmVyID0gRkFMU0U7CkBAIC0xODEzLDYgKzE4MTcsMTEgQEAKICAgICAgIH0KICAgICAgIGJyZWFrOwogICAgIGNhc2UgJ2knOgorICAgICAgaWYoY29uZmlnLT5jb250ZW50X2Rpc3Bvc2l0aW9uKSB7CisgICAgICAgIHdhcm5mKGdsb2JhbCwKKyAgICAgICAgICAgICAgIi0taW5jbHVkZSBhbmQgLS1yZW1vdGUtaGVhZGVyLW5hbWUgY2Fubm90IGJlIGNvbWJpbmVkLlxuIik7CisgICAgICAgIHJldHVybiBQQVJBTV9CQURfVVNFOworICAgICAgfQogICAgICAgY29uZmlnLT5zaG93X2hlYWRlcnMgPSB0b2dnbGU7IC8qIHNob3cgdGhlIGhlYWRlcnMgYXMgd2VsbCBpbiB0aGUKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBnZW5lcmFsIG91dHB1dCBzdHJlYW0gKi8KICAgICAgIGJyZWFrOwpAQCAtMjI0NCwyMCArMjI1MywyMiBAQAogICBzdHJ1Y3QgT3BlcmF0aW9uQ29uZmlnICpjb25maWcgPSBnbG9iYWwtPmZpcnN0OwogCiAgIGZvcihpID0gMSwgc3RpbGxmbGFncyA9IFRSVUU7IGkgPCBhcmdjICYmICFyZXN1bHQ7IGkrKykgewotICAgIG9yaWdfb3B0ID0gYXJndltpXTsKKyAgICBvcmlnX29wdCA9IGN1cmx4X2NvbnZlcnRfdGNoYXJfdG9fVVRGOChhcmd2W2ldKTsKIAotICAgIGlmKHN0aWxsZmxhZ3MgJiYgKCctJyA9PSBhcmd2W2ldWzBdKSkgeworICAgIGlmKHN0aWxsZmxhZ3MgJiYgKCctJyA9PSBvcmlnX29wdFswXSkpIHsKICAgICAgIGJvb2wgcGFzc2FyZzsKLSAgICAgIGNoYXIgKmZsYWcgPSBhcmd2W2ldOwogCi0gICAgICBpZighc3RyY21wKCItLSIsIGFyZ3ZbaV0pKQorICAgICAgaWYoIXN0cmNtcCgiLS0iLCBvcmlnX29wdCkpCiAgICAgICAgIC8qIFRoaXMgaW5kaWNhdGVzIHRoZSBlbmQgb2YgdGhlIGZsYWdzIGFuZCB0aHVzIGVuYWJsZXMgdGhlCiAgICAgICAgICAgIGZvbGxvd2luZyAoVVJMKSBhcmd1bWVudCB0byBzdGFydCB3aXRoIC0uICovCiAgICAgICAgIHN0aWxsZmxhZ3MgPSBGQUxTRTsKICAgICAgIGVsc2UgewotICAgICAgICBjaGFyICpuZXh0YXJnID0gKGkgPCAoYXJnYyAtIDEpKSA/IGFyZ3ZbaSArIDFdIDogTlVMTDsKKyAgICAgICAgY2hhciAqbmV4dGFyZyA9IChpIDwgKGFyZ2MgLSAxKSkKKyAgICAgICAgICA/IGN1cmx4X2NvbnZlcnRfdGNoYXJfdG9fVVRGOChhcmd2W2kgKyAxXSkKKyAgICAgICAgICA6IE5VTEw7CiAKLSAgICAgICAgcmVzdWx0ID0gZ2V0cGFyYW1ldGVyKGZsYWcsIG5leHRhcmcsICZwYXNzYXJnLCBnbG9iYWwsIGNvbmZpZyk7CisgICAgICAgIHJlc3VsdCA9IGdldHBhcmFtZXRlcihvcmlnX29wdCwgbmV4dGFyZywgJnBhc3NhcmcsIGdsb2JhbCwgY29uZmlnKTsKKyAgICAgICAgY3VybHhfdW5pY29kZWZyZWUobmV4dGFyZyk7CiAgICAgICAgIGNvbmZpZyA9IGdsb2JhbC0+bGFzdDsKICAgICAgICAgaWYocmVzdWx0ID09IFBBUkFNX05FWFRfT1BFUkFUSU9OKSB7CiAgICAgICAgICAgLyogUmVzZXQgcmVzdWx0IGFzIFBBUkFNX05FWFRfT1BFUkFUSU9OIGlzIG9ubHkgdXNlZCBoZXJlIGFuZCBub3QKQEAgLTIyOTMsOSArMjMwNCwxMiBAQAogICAgICAgYm9vbCB1c2VkOwogCiAgICAgICAvKiBKdXN0IGFkZCB0aGUgVVJMIHBsZWFzZSAqLwotICAgICAgcmVzdWx0ID0gZ2V0cGFyYW1ldGVyKChjaGFyICopIi0tdXJsIiwgYXJndltpXSwgJnVzZWQsIGdsb2JhbCwKKyAgICAgIHJlc3VsdCA9IGdldHBhcmFtZXRlcigiLS11cmwiLCBvcmlnX29wdCwgJnVzZWQsIGdsb2JhbCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25maWcpOwogICAgIH0KKworICAgIGlmKCFyZXN1bHQpCisgICAgICBjdXJseF91bmljb2RlZnJlZShvcmlnX29wdCk7CiAgIH0KIAogICBpZihyZXN1bHQgJiYgcmVzdWx0ICE9IFBBUkFNX0hFTFBfUkVRVUVTVEVEICYmCkBAIC0yMzEwLDUgKzIzMjQsNiBAQAogICAgICAgaGVscGYoZ2xvYmFsLT5lcnJvcnMsICIlc1xuIiwgcmVhc29uKTsKICAgfQogCisgIGN1cmx4X3VuaWNvZGVmcmVlKG9yaWdfb3B0KTsKICAgcmV0dXJuIHJlc3VsdDsKIH0KZGlmZiAtLWdpdCBhL3NyYy90b29sX2dldHBhc3MuYyBiL3NyYy90b29sX2dldHBhc3MuYwppbmRleCBkZmUzNjNiLi5kM2JkNGU2IDEwMDY0NAotLS0gYS9zcmMvdG9vbF9nZXRwYXNzLmMKKysrIGIvc3JjL3Rvb2xfZ2V0cGFzcy5jCkBAIC01LDcgKzUsNyBAQAogICogICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAoX198IHxffCB8ICBfIDx8IHxfX18KICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcX19ffFxfX18vfF98IFxfXF9fX19ffAogICoKLSAqIENvcHlyaWdodCAoQykgMTk5OCAtIDIwMTksIERhbmllbCBTdGVuYmVyZywgPGRhbmllbEBoYXh4LnNlPiwgZXQgYWwuCisgKiBDb3B5cmlnaHQgKEMpIDE5OTggLSAyMDIwLCBEYW5pZWwgU3RlbmJlcmcsIDxkYW5pZWxAaGF4eC5zZT4sIGV0IGFsLgogICoKICAqIFRoaXMgc29mdHdhcmUgaXMgbGljZW5zZWQgYXMgZGVzY3JpYmVkIGluIHRoZSBmaWxlIENPUFlJTkcsIHdoaWNoCiAgKiB5b3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYXMgcGFydCBvZiB0aGlzIGRpc3RyaWJ1dGlvbi4gVGhlIHRlcm1zCkBAIC0yMzgsNyArMjM4LDcgQEAKICAgZnB1dHMocHJvbXB0LCBzdGRlcnIpOwogICBucmVhZCA9IHJlYWQoZmQsIHBhc3N3b3JkLCBidWZsZW4pOwogICBpZihucmVhZCA+IDApCi0gICAgcGFzc3dvcmRbLS1ucmVhZF0gPSAnXDAnOyAvKiB6ZXJvIHRlcm1pbmF0ZSB3aGVyZSBlbnRlciBpcyBzdG9yZWQgKi8KKyAgICBwYXNzd29yZFstLW5yZWFkXSA9ICdcMCc7IC8qIG51bGwtdGVybWluYXRlIHdoZXJlIGVudGVyIGlzIHN0b3JlZCAqLwogICBlbHNlCiAgICAgcGFzc3dvcmRbMF0gPSAnXDAnOyAvKiBnb3Qgbm90aGluZyAqLwogCmRpZmYgLS1naXQgYS9zcmMvdG9vbF9oZWxwLmMgYi9zcmMvdG9vbF9oZWxwLmMKaW5kZXggNWFmYWY4Mi4uYWUzMTkyNyAxMDA2NDQKLS0tIGEvc3JjL3Rvb2xfaGVscC5jCisrKyBiL3NyYy90b29sX2hlbHAuYwpAQCAtNDgsNiArNDgsNyBAQAogICBjb25zdCBjaGFyICpkZXNjOwogfTsKIAorCiBzdGF0aWMgY29uc3Qgc3RydWN0IGhlbHB0eHQgaGVscHRleHRbXSA9IHsKICAgeyIgICAgLS1hYnN0cmFjdC11bml4LXNvY2tldCA8cGF0aD4iLAogICAgIkNvbm5lY3QgdmlhIGFic3RyYWN0IFVuaXggZG9tYWluIHNvY2tldCJ9LApAQCAtNjgsNyArNjksNyBAQAogICB7IiAgICAtLWNlcnQtc3RhdHVzIiwKICAgICJWZXJpZnkgdGhlIHN0YXR1cyBvZiB0aGUgc2VydmVyIGNlcnRpZmljYXRlIn0sCiAgIHsiICAgIC0tY2VydC10eXBlIDx0eXBlPiIsCi0gICAiQ2VydGlmaWNhdGUgZmlsZSB0eXBlIChERVIvUEVNL0VORykifSwKKyAgICJDZXJ0aWZpY2F0ZSB0eXBlIChERVIvUEVNL0VORykifSwKICAgeyIgICAgLS1jaXBoZXJzIDxsaXN0IG9mIGNpcGhlcnM+IiwKICAgICJTU0wgY2lwaGVycyB0byB1c2UifSwKICAgeyIgICAgLS1jb21wcmVzc2VkIiwKQEAgLTEzMSwxMCArMTMyLDEwIEBACiAgICAiRUdEIHNvY2tldCBwYXRoIGZvciByYW5kb20gZGF0YSJ9LAogICB7IiAgICAtLWVuZ2luZSA8bmFtZT4iLAogICAgIkNyeXB0byBlbmdpbmUgdG8gdXNlIn0sCi0gIHsiICAgIC0tZXRhZy1zYXZlIDxmaWxlPiIsCi0gICAiR2V0IGFuIEVUYWcgZnJvbSByZXNwb25zZSBoZWFkZXIgYW5kIHNhdmUgaXQgdG8gYSBGSUxFIn0sCiAgIHsiICAgIC0tZXRhZy1jb21wYXJlIDxmaWxlPiIsCi0gICAiR2V0IGFuIEVUYWcgZnJvbSBhIGZpbGUgYW5kIHNlbmQgYSBjb25kaXRpb25hbCByZXF1ZXN0In0sCisgICAiUGFzcyBhbiBFVGFnIGZyb20gYSBmaWxlIGFzIGEgY3VzdG9tIGhlYWRlciJ9LAorICB7IiAgICAtLWV0YWctc2F2ZSA8ZmlsZT4iLAorICAgIlBhcnNlIEVUYWcgZnJvbSBhIHJlcXVlc3QgYW5kIHNhdmUgaXQgdG8gYSBmaWxlIn0sCiAgIHsiICAgIC0tZXhwZWN0MTAwLXRpbWVvdXQgPHNlY29uZHM+IiwKICAgICJIb3cgbG9uZyB0byB3YWl0IGZvciAxMDAtY29udGludWUifSwKICAgeyItZiwgLS1mYWlsIiwKQEAgLTE3NCw3ICsxNzUsNyBAQAogICB7Ii1nLCAtLWdsb2JvZmYiLAogICAgIkRpc2FibGUgVVJMIHNlcXVlbmNlcyBhbmQgcmFuZ2VzIHVzaW5nIHt9IGFuZCBbXSJ9LAogICB7IiAgICAtLWhhcHB5LWV5ZWJhbGxzLXRpbWVvdXQtbXMgPG1pbGxpc2Vjb25kcz4iLAotICAgIkhvdyBsb25nIHRvIHdhaXQgaW4gbWlsbGlzZWNvbmRzIGZvciBJUHY2IGJlZm9yZSB0cnlpbmcgSVB2NCJ9LAorICAgIlRpbWUgZm9yIElQdjYgYmVmb3JlIHRyeWluZyBJUHY0In0sCiAgIHsiICAgIC0taGFwcm94eS1wcm90b2NvbCIsCiAgICAiU2VuZCBIQVByb3h5IFBST1hZIHByb3RvY29sIHYxIGhlYWRlciJ9LAogICB7Ii1JLCAtLWhlYWQiLApAQCAtMzUxLDggKzM1Miw4IEBACiAgICAiU1BORUdPIHByb3h5IHNlcnZpY2UgbmFtZSJ9LAogICB7IiAgICAtLXByb3h5LXNzbC1hbGxvdy1iZWFzdCIsCiAgICAiQWxsb3cgc2VjdXJpdHkgZmxhdyBmb3IgaW50ZXJvcCBmb3IgSFRUUFMgcHJveHkifSwKLSAgeyIgICAgLS1wcm94eS10bHMxMy1jaXBoZXJzIDxsaXN0PiIsCi0gICAiVExTIDEuMyBjaXBoZXJzdWl0ZXMgZm9yIHByb3h5IChPcGVuU1NMKSJ9LAorICB7IiAgICAtLXByb3h5LXRsczEzLWNpcGhlcnMgPGNpcGhlcnN1aXRlIGxpc3Q+IiwKKyAgICJUTFMgMS4zIHByb3h5IGNpcGhlciBzdWl0ZXMifSwKICAgeyIgICAgLS1wcm94eS10bHNhdXRodHlwZSA8dHlwZT4iLAogICAgIlRMUyBhdXRoZW50aWNhdGlvbiB0eXBlIGZvciBIVFRQUyBwcm94eSJ9LAogICB7IiAgICAtLXByb3h5LXRsc3Bhc3N3b3JkIDxzdHJpbmc+IiwKQEAgLTM5MSwxOCArMzkyLDIwIEBACiAgICAiU3BlY2lmeSByZXF1ZXN0IGNvbW1hbmQgdG8gdXNlIn0sCiAgIHsiICAgIC0tcmVxdWVzdC10YXJnZXQiLAogICAgIlNwZWNpZnkgdGhlIHRhcmdldCBmb3IgdGhpcyByZXF1ZXN0In0sCi0gIHsiICAgIC0tcmVzb2x2ZSA8aG9zdDpwb3J0OmFkZHJlc3NbLGFkZHJlc3NdLi4uPiIsCisgIHsiICAgIC0tcmVzb2x2ZSA8aG9zdDpwb3J0OmFkZHJbLGFkZHJdLi4uPiIsCiAgICAiUmVzb2x2ZSB0aGUgaG9zdCtwb3J0IHRvIHRoaXMgYWRkcmVzcyJ9LAogICB7IiAgICAtLXJldHJ5IDxudW0+IiwKICAgICJSZXRyeSByZXF1ZXN0IGlmIHRyYW5zaWVudCBwcm9ibGVtcyBvY2N1ciJ9LAorICB7IiAgICAtLXJldHJ5LWFsbC1lcnJvcnMiLAorICAgIlJldHJ5IGFsbCBlcnJvcnMgKHVzZSB3aXRoIC0tcmV0cnkpIn0sCiAgIHsiICAgIC0tcmV0cnktY29ubnJlZnVzZWQiLAogICAgIlJldHJ5IG9uIGNvbm5lY3Rpb24gcmVmdXNlZCAodXNlIHdpdGggLS1yZXRyeSkifSwKICAgeyIgICAgLS1yZXRyeS1kZWxheSA8c2Vjb25kcz4iLAogICAgIldhaXQgdGltZSBiZXR3ZWVuIHJldHJpZXMifSwKICAgeyIgICAgLS1yZXRyeS1tYXgtdGltZSA8c2Vjb25kcz4iLAogICAgIlJldHJ5IG9ubHkgd2l0aGluIHRoaXMgcGVyaW9kIn0sCi0gIHsiICAgIC0tc2FzbC1hdXRoemlkIDxpZGVudGl0eT4gIiwKLSAgICJVc2UgdGhpcyBpZGVudGl0eSB0byBhY3QgYXMgZHVyaW5nIFNBU0wgUExBSU4gYXV0aGVudGljYXRpb24ifSwKKyAgeyIgICAgLS1zYXNsLWF1dGh6aWQgPGlkZW50aXR5PiIsCisgICAiSWRlbnRpdHkgZm9yIFNBU0wgUExBSU4gYXV0aGVudGljYXRpb24ifSwKICAgeyIgICAgLS1zYXNsLWlyIiwKICAgICJFbmFibGUgaW5pdGlhbCByZXNwb25zZSBpbiBTQVNMIGF1dGhlbnRpY2F0aW9uIn0sCiAgIHsiICAgIC0tc2VydmljZS1uYW1lIDxuYW1lPiIsCkBAIC00MzcsMTAgKzQ0MCwxMCBAQAogICAgIkFsbG93IHNlY3VyaXR5IGZsYXcgdG8gaW1wcm92ZSBpbnRlcm9wIn0sCiAgIHsiICAgIC0tc3NsLW5vLXJldm9rZSIsCiAgICAiRGlzYWJsZSBjZXJ0IHJldm9jYXRpb24gY2hlY2tzIChTY2hhbm5lbCkifSwKLSAgeyIgICAgLS1zc2wtcmV2b2tlLWJlc3QtZWZmb3J0IiwKLSAgICJJZ25vcmUgcmV2b2NhdGlvbiBvZmZsaW5lIG9yIG1pc3NpbmcgcmV2b2NhdGlvbiBsaXN0IGVycm9ycyAoU2NoYW5uZWwpIn0sCiAgIHsiICAgIC0tc3NsLXJlcWQiLAogICAgIlJlcXVpcmUgU1NML1RMUyJ9LAorICB7IiAgICAtLXNzbC1yZXZva2UtYmVzdC1lZmZvcnQiLAorICAgIklnbm9yZSBtaXNzaW5nL29mZmxpbmUgY2VydCBDUkwgZGlzdCBwb2ludHMifSwKICAgeyItMiwgLS1zc2x2MiIsCiAgICAiVXNlIFNTTHYyIn0sCiAgIHsiLTMsIC0tc3NsdjMiLApAQCAtNDY1LDggKzQ2OCw4IEBACiAgICAiVHJhbnNmZXIgYmFzZWQgb24gYSB0aW1lIGNvbmRpdGlvbiJ9LAogICB7IiAgICAtLXRscy1tYXggPFZFUlNJT04+IiwKICAgICJTZXQgbWF4aW11bSBhbGxvd2VkIFRMUyB2ZXJzaW9uIn0sCi0gIHsiICAgIC0tdGxzMTMtY2lwaGVycyA8bGlzdD4iLAotICAgIlRMUyAxLjMgY2lwaGVyc3VpdGVzIChPcGVuU1NMKSJ9LAorICB7IiAgICAtLXRsczEzLWNpcGhlcnMgPGNpcGhlcnN1aXRlIGxpc3Q+IiwKKyAgICJUTFMgMS4zIGNpcGhlciBzdWl0ZXMgdG8gdXNlIn0sCiAgIHsiICAgIC0tdGxzYXV0aHR5cGUgPHR5cGU+IiwKICAgICJUTFMgYXV0aGVudGljYXRpb24gdHlwZSJ9LAogICB7IiAgICAtLXRsc3Bhc3N3b3JkIiwKZGlmZiAtLWdpdCBhL3NyYy90b29sX2h1Z2VoZWxwLmMgYi9zcmMvdG9vbF9odWdlaGVscC5jCmluZGV4IDJmYjNhY2QuLjBmNDU0YjcgMTAwNjQ0Ci0tLSBhL3NyYy90b29sX2h1Z2VoZWxwLmMKKysrIGIvc3JjL3Rvb2xfaHVnZWhlbHAuYwpAQCAtMjUsOSArMjUsOSBAQAogIiAgICAgICBzdXBwb3J0ZWQgcHJvdG9jb2xzIChESUNULCBGSUxFLCBGVFAsIEZUUFMsIEdPUEhFUiwgSFRUUCwgSFRUUFMsICBJTUFQLFxuIgogLCBzdGRvdXQpOwogIGZwdXRzKAotIiAgICAgICBJTUFQUywgIExEQVAsICBMREFQUywgIE1RVFQsICBQT1AzLCAgUE9QM1MsIFJUTVAsIFJUU1AsIFNDUCwgU0ZUUCwgU01CLFxuIgotIiAgICAgICBTTUJTLCBTTVRQLCBTTVRQUywgVEVMTkVUIGFuZCBURlRQKS4gVGhlIGNvbW1hbmQgaXMgIGRlc2lnbmVkICB0byAgd29ya1xuIgotIiAgICAgICB3aXRob3V0IHVzZXIgaW50ZXJhY3Rpb24uXG4iCisiICAgICAgIElNQVBTLCAgTERBUCwgIExEQVBTLCAgTVFUVCwgUE9QMywgUE9QM1MsIFJUTVAsIFJUTVBTLCBSVFNQLCBTQ1AsIFNGVFAsXG4iCisiICAgICAgIFNNQiwgU01CUywgU01UUCwgU01UUFMsIFRFTE5FVCBhbmQgVEZUUCkuIFRoZSBjb21tYW5kICBpcyAgZGVzaWduZWQgIHRvXG4iCisiICAgICAgIHdvcmsgd2l0aG91dCB1c2VyIGludGVyYWN0aW9uLlxuIgogIlxuIgogIiAgICAgICBjdXJsIG9mZmVycyBhIGJ1c2xvYWQgb2YgdXNlZnVsIHRyaWNrcyBsaWtlIHByb3h5IHN1cHBvcnQsIHVzZXIgYXV0aGVuLVxuIgogIiAgICAgICB0aWNhdGlvbiwgRlRQIHVwbG9hZCwgSFRUUCBwb3N0LCBTU0wgY29ubmVjdGlvbnMsIGNvb2tpZXMsIGZpbGUgIHRyYW5zLVxuIgpAQCAtNTIsMTYgKzUyLDE2IEBACiAiXG4iCiAsIHN0ZG91dCk7CiAgZnB1dHMoCi0iICAgICAgICAgZnRwOi8vZnRwLmV4YW1wbGUuY29tL2ZpbGVbMS0xMDBdLnR4dFxuIgorIiAgICAgICAgIFwiZnRwOi8vZnRwLmV4YW1wbGUuY29tL2ZpbGVbMS0xMDBdLnR4dFwiXG4iCiAiXG4iCi0iICAgICAgICAgZnRwOi8vZnRwLmV4YW1wbGUuY29tL2ZpbGVbMDAxLTEwMF0udHh0ICAgICh3aXRoIGxlYWRpbmcgemVyb3MpXG4iCisiICAgICAgICAgXCJmdHA6Ly9mdHAuZXhhbXBsZS5jb20vZmlsZVswMDEtMTAwXS50eHRcIiAgICAod2l0aCBsZWFkaW5nIHplcm9zKVxuIgogIlxuIgotIiAgICAgICAgIGZ0cDovL2Z0cC5leGFtcGxlLmNvbS9maWxlW2Etel0udHh0XG4iCisiICAgICAgICAgXCJmdHA6Ly9mdHAuZXhhbXBsZS5jb20vZmlsZVthLXpdLnR4dFwiXG4iCiAiXG4iCiAiICAgICAgIE5lc3RlZCAgc2VxdWVuY2VzICBhcmUgbm90IHN1cHBvcnRlZCwgYnV0IHlvdSBjYW4gdXNlIHNldmVyYWwgb25lcyBuZXh0XG4iCiAiICAgICAgIHRvIGVhY2ggb3RoZXI6XG4iCiAiXG4iCi0iICAgICAgICAgaHR0cDovL2V4YW1wbGUuY29tL2FyY2hpdmVbMTk5Ni0xOTk5XS92b2xbMS00XS9wYXJ0e2EsYixjfS5odG1sXG4iCisiICAgICAgICAgXCJodHRwOi8vZXhhbXBsZS5jb20vYXJjaGl2ZVsxOTk2LTE5OTldL3ZvbFsxLTRdL3BhcnR7YSxiLGN9Lmh0bWxcIlxuIgogIlxuIgogIiAgICAgICBZb3UgY2FuIHNwZWNpZnkgYW55IGFtb3VudCBvZiBVUkxzIG9uIHRoZSBjb21tYW5kIGxpbmUuICBUaGV5ICB3aWxsICBiZVxuIgogLCBzdGRvdXQpOwpAQCAtNzMsOSArNzMsOSBAQAogIiAgICAgICBZb3UgIGNhbiAgc3BlY2lmeSBhIHN0ZXAgY291bnRlciBmb3IgdGhlIHJhbmdlcyB0byBnZXQgZXZlcnkgTnRoIG51bWJlclxuIgogIiAgICAgICBvciBsZXR0ZXI6XG4iCiAiXG4iCi0iICAgICAgICAgaHR0cDovL2V4YW1wbGUuY29tL2ZpbGVbMS0xMDA6MTBdLnR4dFxuIgorIiAgICAgICAgIFwiaHR0cDovL2V4YW1wbGUuY29tL2ZpbGVbMS0xMDA6MTBdLnR4dFwiXG4iCiAiXG4iCi0iICAgICAgICAgaHR0cDovL2V4YW1wbGUuY29tL2ZpbGVbYS16OjJdLnR4dFxuIgorIiAgICAgICAgIFwiaHR0cDovL2V4YW1wbGUuY29tL2ZpbGVbYS16OjJdLnR4dFwiXG4iCiAiXG4iCiAiICAgICAgIFdoZW4gdXNpbmcgW10gb3Ige30gc2VxdWVuY2VzIHdoZW4gaW52b2tlZCBmcm9tIGEgY29tbWFuZCBsaW5lICBwcm9tcHQsXG4iCiAsIHN0ZG91dCk7CkBAIC04Nyw3ICs4Nyw3IEBACiAiICAgICAgIFByb3ZpZGUgIHRoZSBJUHY2IHpvbmUgaW5kZXggaW4gdGhlIFVSTCB3aXRoIGFuIGVzY2FwZWQgcGVyY2VudGFnZSBzaWduXG4iCiAiICAgICAgIGFuZCB0aGUgaW50ZXJmYWNlIG5hbWUuIExpa2UgaW5cbiIKICJcbiIKLSIgICAgICAgICBodHRwOi8vW2ZlODA6OjMlMjVldGgwXS9cbiIKKyIgICAgICAgICBcImh0dHA6Ly9bZmU4MDo6MyUyNWV0aDBdL1wiXG4iCiAiXG4iCiAiICAgICAgIElmIHlvdSBzcGVjaWZ5IFVSTCB3aXRob3V0IHByb3RvY29sOi8vIHByZWZpeCwgIGN1cmwgIHdpbGwgIGF0dGVtcHQgIHRvXG4iCiAsIHN0ZG91dCk7CkBAIC0xNzkzLDcgKzE3OTMsNyBAQAogIiAgICAgICAgICAgICAgdW5pcXVlIGlkZW50aWZpZXIgcmF0aGVyIHRoYW4gaXQncyBtZXNzYWdlIGlkIHRvICBtYWtlICB0aGUgIHJlLVxuIgogIiAgICAgICAgICAgICAgcXVlc3QuXG4iCiAiXG4iCi0iICAgICAgICAgICAgICBBZGRlZCBpbiA3LjIxLjUuXG4iCisiICAgICAgICAgICAgICBBZGRlZCBpbiA0LjAuXG4iCiAiXG4iCiAiICAgICAgIC0tbG9jYWwtcG9ydCA8bnVtL3JhbmdlPlxuIgogIiAgICAgICAgICAgICAgU2V0ICBhICBwcmVmZXJyZWQgc2luZ2xlIG51bWJlciBvciByYW5nZSAoRlJPTS1UTykgb2YgbG9jYWwgcG9ydFxuIgpAQCAtMzA2OSw3ICszMDY5LDcgQEAKICJcbiIKICIgICAgICAgICAgICAgIElmIHRoaXMgb3B0aW9uIGlzIHVzZWQgc2V2ZXJhbCB0aW1lcywgdGhlIGxhc3Qgb25lIHdpbGwgYmUgdXNlZC5cbiIKICJcbiIKLSIgICAgICAgLS1yZXNvbHZlIDxob3N0OnBvcnQ6YWRkcmVzc1ssYWRkcmVzc10uLi4+XG4iCisiICAgICAgIC0tcmVzb2x2ZSA8aG9zdDpwb3J0OmFkZHJbLGFkZHJdLi4uPlxuIgogIiAgICAgICAgICAgICAgUHJvdmlkZSAgYSBjdXN0b20gYWRkcmVzcyBmb3IgYSBzcGVjaWZpYyBob3N0IGFuZCBwb3J0IHBhaXIuIFVzLVxuIgogIiAgICAgICAgICAgICAgaW5nIHRoaXMsIHlvdSBjYW4gbWFrZSB0aGUgY3VybCByZXF1ZXN0cyhzKSB1c2UgYSBzcGVjaWZpZWQgIGFkLVxuIgogIiAgICAgICAgICAgICAgZHJlc3MgIGFuZCBwcmV2ZW50IHRoZSBvdGhlcndpc2Ugbm9ybWFsbHkgcmVzb2x2ZWQgYWRkcmVzcyB0byBiZVxuIgpAQCAtMzEwNSwzNiArMzEwNSw2NCBAQAogIlxuIgogIiAgICAgICAgICAgICAgQWRkZWQgaW4gNy4yMS4zLlxuIgogIlxuIgotIiAgICAgICAtLXJldHJ5LWNvbm5yZWZ1c2VkXG4iCi0iICAgICAgICAgICAgICBJbiAgYWRkaXRpb24gdG8gdGhlIG90aGVyIGNvbmRpdGlvbnMsIGNvbnNpZGVyIEVDT05OUkVGVVNFRCBhcyBhXG4iCi0iICAgICAgICAgICAgICB0cmFuc2llbnQgZXJyb3IgdG9vIGZvciAtLXJldHJ5LiBUaGlzIG9wdGlvbiAgaXMgIHVzZWQgIHRvZ2V0aGVyXG4iCisiICAgICAgIC0tcmV0cnktYWxsLWVycm9yc1xuIgorIiAgICAgICAgICAgICAgUmV0cnkgb24gYW55IGVycm9yLiBUaGlzIG9wdGlvbiBpcyB1c2VkIHRvZ2V0aGVyIHdpdGggLS1yZXRyeS5cbiIKKyJcbiIKKyIgICAgICAgICAgICAgIFRoaXMgIG9wdGlvbiAgaXMgdGhlIFwic2xlZGdlaGFtbWVyXCIgb2YgcmV0cnlpbmcuIERvIG5vdCB1c2UgdGhpc1xuIgogLCBzdGRvdXQpOwogIGZwdXRzKAorIiAgICAgICAgICAgICAgb3B0aW9uIGJ5IGRlZmF1bHQgKGVnIGluIGN1cmxyYyksIHRoZXJlIG1heSBiZSB1bmludGVuZGVkIGNvbnNlLVxuIgorIiAgICAgICAgICAgICAgcXVlbmNlcyAgc3VjaCBhcyBzZW5kaW5nIG9yIHJlY2VpdmluZyBkdXBsaWNhdGUgZGF0YS4gRG8gbm90IHVzZVxuIgorIiAgICAgICAgICAgICAgd2l0aCByZWRpcmVjdGVkIGlucHV0IG9yIG91dHB1dC4gWW91J2QgYmUgbXVjaCBiZXR0ZXIgIG9mZiAgaGFuLVxuIgorIiAgICAgICAgICAgICAgZGxpbmcgIHlvdXIgdW5pcXVlIHByb2JsZW1zIGluIHNoZWxsIHNjcmlwdC4gUGxlYXNlIHJlYWQgdGhlIGV4LVxuIgorIiAgICAgICAgICAgICAgYW1wbGUgYmVsb3cuXG4iCisiXG4iCisiICAgICAgICAgICAgICBXYXJuaW5nOiBGb3Igc2VydmVyIGNvbXBhdGliaWxpdHkgY3VybCBhdHRlbXB0cyB0byByZXRyeSAgZmFpbGVkXG4iCissIHN0ZG91dCk7CisgZnB1dHMoCisiICAgICAgICAgICAgICBmbGFreSAgdHJhbnNmZXJzICBhcyBjbG9zZSBhcyBwb3NzaWJsZSB0byBob3cgdGhleSB3ZXJlIHN0YXJ0ZWQsXG4iCisiICAgICAgICAgICAgICBidXQgdGhpcyBpcyBub3QgcG9zc2libGUgd2l0aCByZWRpcmVjdGVkIGlucHV0ICBvciAgb3V0cHV0LiAgRm9yXG4iCisiICAgICAgICAgICAgICBleGFtcGxlLCAgYmVmb3JlICByZXRyeWluZyAgaXQgcmVtb3ZlcyBvdXRwdXQgZGF0YSBmcm9tIGEgZmFpbGVkXG4iCisiICAgICAgICAgICAgICBwYXJ0aWFsIHRyYW5zZmVyIHRoYXQgd2FzIHdyaXR0ZW4gdG8gIGFuICBvdXRwdXQgIGZpbGUuICBIb3dldmVyXG4iCisiICAgICAgICAgICAgICB0aGlzIGlzIG5vdCB0cnVlIG9mIGRhdGEgcmVkaXJlY3RlZCB0byBhIHwgcGlwZSBvciA+IGZpbGUsIHdoaWNoXG4iCisiICAgICAgICAgICAgICBhcmUgbm90IHJlc2V0LiBXZSBzdHJvbmdseSBzdWdnZXN0IGRvbid0IHBhcnNlIG9yIHJlY29yZCAgb3V0cHV0XG4iCissIHN0ZG91dCk7CisgZnB1dHMoCisiICAgICAgICAgICAgICB2aWEgIHJlZGlyZWN0IGluIGNvbWJpbmF0aW9uIHdpdGggdGhpcyBvcHRpb24sIHNpbmNlIHlvdSBtYXkgcmUtXG4iCisiICAgICAgICAgICAgICBjZWl2ZSBkdXBsaWNhdGUgZGF0YS5cbiIKKyJcbiIKKyIgICAgICAgICAgICAgIEFkZGVkIGluIDcuNzEuMC5cbiIKKyJcbiIKKyIgICAgICAgLS1yZXRyeS1jb25ucmVmdXNlZFxuIgorIiAgICAgICAgICAgICAgSW4gYWRkaXRpb24gdG8gdGhlIG90aGVyIGNvbmRpdGlvbnMsIGNvbnNpZGVyIEVDT05OUkVGVVNFRCBhcyAgYVxuIgorIiAgICAgICAgICAgICAgdHJhbnNpZW50ICBlcnJvciAgdG9vICBmb3IgLS1yZXRyeS4gVGhpcyBvcHRpb24gaXMgdXNlZCB0b2dldGhlclxuIgogIiAgICAgICAgICAgICAgd2l0aCAtLXJldHJ5LlxuIgogIlxuIgogIiAgICAgICAgICAgICAgQWRkZWQgaW4gNy41Mi4wLlxuIgogIlxuIgogIiAgICAgICAtLXJldHJ5LWRlbGF5IDxzZWNvbmRzPlxuIgotIiAgICAgICAgICAgICAgTWFrZSAgY3VybCAgc2xlZXAgIHRoaXMgIGFtb3VudCBvZiB0aW1lIGJlZm9yZSBlYWNoIHJldHJ5IHdoZW4gYVxuIgotIiAgICAgICAgICAgICAgdHJhbnNmZXIgaGFzIGZhaWxlZCB3aXRoIGEgdHJhbnNpZW50IGVycm9yIChpdCBjaGFuZ2VzICB0aGUgIGRlLVxuIgotIiAgICAgICAgICAgICAgZmF1bHQgIGJhY2tvZmYgIHRpbWUgIGFsZ29yaXRobSBiZXR3ZWVuIHJldHJpZXMpLiBUaGlzIG9wdGlvbiBpc1xuIgotIiAgICAgICAgICAgICAgb25seSBpbnRlcmVzdGluZyBpZiAtLXJldHJ5IGlzIGFsc28gdXNlZC4gU2V0dGluZyB0aGlzIGRlbGF5ICB0b1xuIgotIiAgICAgICAgICAgICAgemVybyB3aWxsIG1ha2UgY3VybCB1c2UgdGhlIGRlZmF1bHQgYmFja29mZiB0aW1lLlxuIgotIlxuIgogLCBzdGRvdXQpOwogIGZwdXRzKAorIiAgICAgICAgICAgICAgTWFrZSBjdXJsIHNsZWVwIHRoaXMgYW1vdW50IG9mIHRpbWUgYmVmb3JlICBlYWNoICByZXRyeSAgd2hlbiAgYVxuIgorIiAgICAgICAgICAgICAgdHJhbnNmZXIgIGhhcyAgZmFpbGVkIHdpdGggYSB0cmFuc2llbnQgZXJyb3IgKGl0IGNoYW5nZXMgdGhlIGRlLVxuIgorIiAgICAgICAgICAgICAgZmF1bHQgYmFja29mZiB0aW1lIGFsZ29yaXRobSBiZXR3ZWVuIHJldHJpZXMpLiAgVGhpcyAgb3B0aW9uICBpc1xuIgorIiAgICAgICAgICAgICAgb25seSAgaW50ZXJlc3RpbmcgaWYgLS1yZXRyeSBpcyBhbHNvIHVzZWQuIFNldHRpbmcgdGhpcyBkZWxheSB0b1xuIgorIiAgICAgICAgICAgICAgemVybyB3aWxsIG1ha2UgY3VybCB1c2UgdGhlIGRlZmF1bHQgYmFja29mZiB0aW1lLlxuIgorIlxuIgogIiAgICAgICAgICAgICAgSWYgdGhpcyBvcHRpb24gaXMgdXNlZCBzZXZlcmFsIHRpbWVzLCB0aGUgbGFzdCBvbmUgd2lsbCBiZSB1c2VkLlxuIgogIlxuIgogIiAgICAgICAgICAgICAgQWRkZWQgaW4gNy4xMi4zLlxuIgogIlxuIgotIiAgICAgICAtLXJldHJ5LW1heC10aW1lIDxzZWNvbmRzPlxuIgotIiAgICAgICAgICAgICAgVGhlICByZXRyeSB0aW1lciBpcyByZXNldCBiZWZvcmUgdGhlIGZpcnN0IHRyYW5zZmVyIGF0dGVtcHQuIFJlLVxuIgotIiAgICAgICAgICAgICAgdHJpZXMgd2lsbCBiZSBkb25lIGFzIHVzdWFsIChzZWUgLS1yZXRyeSkgYXMgbG9uZyBhcyAgdGhlICB0aW1lclxuIgotIiAgICAgICAgICAgICAgaGFzbid0IHJlYWNoZWQgdGhpcyBnaXZlbiBsaW1pdC4gTm90aWNlIHRoYXQgaWYgdGhlIHRpbWVyIGhhc24ndFxuIgotIiAgICAgICAgICAgICAgcmVhY2hlZCB0aGUgbGltaXQsIHRoZSByZXF1ZXN0IHdpbGwgYmUgbWFkZSBhbmQgIHdoaWxlICBwZXJmb3JtLVxuIgogLCBzdGRvdXQpOwogIGZwdXRzKAotIiAgICAgICAgICAgICAgaW5nLCAgaXQgbWF5IHRha2UgbG9uZ2VyIHRoYW4gdGhpcyBnaXZlbiB0aW1lIHBlcmlvZC4gVG8gbGltaXQgYVxuIgorIiAgICAgICAtLXJldHJ5LW1heC10aW1lIDxzZWNvbmRzPlxuIgorIiAgICAgICAgICAgICAgVGhlIHJldHJ5IHRpbWVyIGlzIHJlc2V0IGJlZm9yZSB0aGUgZmlyc3QgdHJhbnNmZXIgYXR0ZW1wdC4gIFJlLVxuIgorIiAgICAgICAgICAgICAgdHJpZXMgIHdpbGwgIGJlIGRvbmUgYXMgdXN1YWwgKHNlZSAtLXJldHJ5KSBhcyBsb25nIGFzIHRoZSB0aW1lclxuIgorIiAgICAgICAgICAgICAgaGFzbid0IHJlYWNoZWQgdGhpcyBnaXZlbiBsaW1pdC4gTm90aWNlIHRoYXQgaWYgdGhlIHRpbWVyIGhhc24ndFxuIgorIiAgICAgICAgICAgICAgcmVhY2hlZCAgdGhlICBsaW1pdCwgdGhlIHJlcXVlc3Qgd2lsbCBiZSBtYWRlIGFuZCB3aGlsZSBwZXJmb3JtLVxuIgorIiAgICAgICAgICAgICAgaW5nLCBpdCBtYXkgdGFrZSBsb25nZXIgdGhhbiB0aGlzIGdpdmVuIHRpbWUgcGVyaW9kLiBUbyBsaW1pdCAgYVxuIgorLCBzdGRvdXQpOworIGZwdXRzKAogIiAgICAgICAgICAgICAgc2luZ2xlIHJlcXVlc3QncyBtYXhpbXVtIHRpbWUsIHVzZSAtbSwgLS1tYXgtdGltZS4gIFNldCB0aGlzIG9wLVxuIgogIiAgICAgICAgICAgICAgdGlvbiB0byB6ZXJvIHRvIG5vdCB0aW1lb3V0IHJldHJpZXMuXG4iCiAiXG4iCkBAIC0zMTQzLDQ0ICszMTcxLDQ0IEBACiAiICAgICAgICAgICAgICBBZGRlZCBpbiA3LjEyLjMuXG4iCiAiXG4iCiAiICAgICAgIC0tcmV0cnkgPG51bT5cbiIKLSIgICAgICAgICAgICAgIElmICBhICB0cmFuc2llbnQgIGVycm9yIGlzIHJldHVybmVkIHdoZW4gY3VybCB0cmllcyB0byBwZXJmb3JtIGFcbiIKKyIgICAgICAgICAgICAgIElmIGEgdHJhbnNpZW50IGVycm9yIGlzIHJldHVybmVkIHdoZW4gY3VybCB0cmllcyAgdG8gIHBlcmZvcm0gIGFcbiIKKyIgICAgICAgICAgICAgIHRyYW5zZmVyLCAgaXQgIHdpbGwgcmV0cnkgdGhpcyBudW1iZXIgb2YgdGltZXMgYmVmb3JlIGdpdmluZyB1cC5cbiIKICwgc3Rkb3V0KTsKICBmcHV0cygKLSIgICAgICAgICAgICAgIHRyYW5zZmVyLCBpdCB3aWxsIHJldHJ5IHRoaXMgbnVtYmVyIG9mIHRpbWVzIGJlZm9yZSAgZ2l2aW5nICB1cC5cbiIKLSIgICAgICAgICAgICAgIFNldHRpbmcgIHRoZSAgbnVtYmVyIHRvIDAgbWFrZXMgY3VybCBkbyBubyByZXRyaWVzICh3aGljaCBpcyB0aGVcbiIKLSIgICAgICAgICAgICAgIGRlZmF1bHQpLiBUcmFuc2llbnQgZXJyb3IgbWVhbnMgZWl0aGVyOiBhIHRpbWVvdXQsICBhbiAgRlRQICA0eHhcbiIKKyIgICAgICAgICAgICAgIFNldHRpbmcgdGhlIG51bWJlciB0byAwIG1ha2VzIGN1cmwgZG8gbm8gcmV0cmllcyAod2hpY2ggIGlzICB0aGVcbiIKKyIgICAgICAgICAgICAgIGRlZmF1bHQpLiAgVHJhbnNpZW50ICBlcnJvciAgbWVhbnMgZWl0aGVyOiBhIHRpbWVvdXQsIGFuIEZUUCA0eHhcbiIKICIgICAgICAgICAgICAgIHJlc3BvbnNlIGNvZGUgb3IgYW4gSFRUUCA0MDggb3IgNXh4IHJlc3BvbnNlIGNvZGUuXG4iCiAiXG4iCi0iICAgICAgICAgICAgICBXaGVuICBjdXJsICBpcyBhYm91dCB0byByZXRyeSBhIHRyYW5zZmVyLCBpdCB3aWxsIGZpcnN0IHdhaXQgb25lXG4iCi0iICAgICAgICAgICAgICBzZWNvbmQgYW5kIHRoZW4gZm9yIGFsbCBmb3J0aGNvbWluZyByZXRyaWVzIGl0IHdpbGwgIGRvdWJsZSAgdGhlXG4iCisiICAgICAgICAgICAgICBXaGVuIGN1cmwgaXMgYWJvdXQgdG8gcmV0cnkgYSB0cmFuc2ZlciwgaXQgd2lsbCBmaXJzdCAgd2FpdCAgb25lXG4iCisiICAgICAgICAgICAgICBzZWNvbmQgIGFuZCAgdGhlbiBmb3IgYWxsIGZvcnRoY29taW5nIHJldHJpZXMgaXQgd2lsbCBkb3VibGUgdGhlXG4iCisiICAgICAgICAgICAgICB3YWl0aW5nIHRpbWUgdW50aWwgaXQgcmVhY2hlcyAxMCBtaW51dGVzIHdoaWNoIHRoZW4gd2lsbCBiZSAgdGhlXG4iCiAsIHN0ZG91dCk7CiAgZnB1dHMoCi0iICAgICAgICAgICAgICB3YWl0aW5nICB0aW1lIHVudGlsIGl0IHJlYWNoZXMgMTAgbWludXRlcyB3aGljaCB0aGVuIHdpbGwgYmUgdGhlXG4iCi0iICAgICAgICAgICAgICBkZWxheSBiZXR3ZWVuIHRoZSByZXN0IG9mIHRoZSByZXRyaWVzLiAgQnkgIHVzaW5nICAtLXJldHJ5LWRlbGF5XG4iCi0iICAgICAgICAgICAgICB5b3UgICBkaXNhYmxlICB0aGlzICBleHBvbmVudGlhbCAgYmFja29mZiAgYWxnb3JpdGhtLiAgU2VlICBhbHNvXG4iCisiICAgICAgICAgICAgICBkZWxheSAgYmV0d2VlbiAgdGhlIHJlc3Qgb2YgdGhlIHJldHJpZXMuICBCeSB1c2luZyAtLXJldHJ5LWRlbGF5XG4iCisiICAgICAgICAgICAgICB5b3UgIGRpc2FibGUgIHRoaXMgIGV4cG9uZW50aWFsICBiYWNrb2ZmICBhbGdvcml0aG0uICBTZWUgICBhbHNvXG4iCiAiICAgICAgICAgICAgICAtLXJldHJ5LW1heC10aW1lIHRvIGxpbWl0IHRoZSB0b3RhbCB0aW1lIGFsbG93ZWQgZm9yIHJldHJpZXMuXG4iCiAiXG4iCi0iICAgICAgICAgICAgICBTaW5jZSBjdXJsIDcuNjYuMCwgY3VybCB3aWxsIGNvbXBseSB3aXRoICB0aGUgIFJldHJ5LUFmdGVyOiAgcmUtXG4iCi0iICAgICAgICAgICAgICBzcG9uc2UgIGhlYWRlciBpZiBvbmUgd2FzIHByZXNlbnQgdG8ga25vdyB3aGVuIHRvIGlzc3VlIHRoZSBuZXh0XG4iCisiICAgICAgICAgICAgICBTaW5jZSAgY3VybCAgNy42Ni4wLCAgY3VybCB3aWxsIGNvbXBseSB3aXRoIHRoZSBSZXRyeS1BZnRlcjogcmUtXG4iCisiICAgICAgICAgICAgICBzcG9uc2UgaGVhZGVyIGlmIG9uZSB3YXMgcHJlc2VudCB0byBrbm93IHdoZW4gdG8gaXNzdWUgdGhlICBuZXh0XG4iCiAiICAgICAgICAgICAgICByZXRyeS5cbiIKICJcbiIKLSwgc3Rkb3V0KTsKLSBmcHV0cygKICIgICAgICAgICAgICAgIElmIHRoaXMgb3B0aW9uIGlzIHVzZWQgc2V2ZXJhbCB0aW1lcywgdGhlIGxhc3Qgb25lIHdpbGwgYmUgdXNlZC5cbiIKICJcbiIKLSIgICAgICAgICAgICAgIEFkZGVkIGluIDcuMTIuMy5cbiIKLSJcbiIKLSIgICAgICAgLS1zYXNsLWF1dGh6aWRcbiIKLSIgICAgICAgICAgICAgIFVzZSB0aGlzIGF1dGhvcmlzYXRpb24gaWRlbnRpdHkgKGF1dGh6aWQpLCBkdXJpbmcgU0FTTCBQTEFJTiBhdS1cbiIKLSIgICAgICAgICAgICAgIHRoZW50aWNhdGlvbiwgIGluIGFkZGl0aW9uIHRvIHRoZSBhdXRoZW50aWNhdGlvbiBpZGVudGl0eSAoYXV0aC1cbiIKLSIgICAgICAgICAgICAgIGNpZCkgYXMgc3BlY2lmaWVkIGJ5IC11LCAtLXVzZXIuXG4iCi0iXG4iCi0iICAgICAgICAgICAgICBJZiB0aGUgb3B0aW9uIGlzbid0IHNwZWNpZmllZCwgdGhlIHNlcnZlciB3aWxsICBkZXJpdmUgIHRoZSAgYXUtXG4iCi0iICAgICAgICAgICAgICB0aHppZCAgZnJvbSAgdGhlIGF1dGhjaWQsIGJ1dCBpZiBzcGVjaWZpZWQsIGFuZCBkZXBlbmRpbmcgb24gdGhlXG4iCiAsIHN0ZG91dCk7CiAgZnB1dHMoCi0iICAgICAgICAgICAgICBzZXJ2ZXIgaW1wbGVtZW50YXRpb24sIGl0IG1heSBiZSB1c2VkIHRvIGFjY2VzcyAgYW5vdGhlciAgdXNlcidzXG4iCi0iICAgICAgICAgICAgICBpbmJveCwgIHRoYXQgIHRoZSAgdXNlciAgaGFzIGJlZW4gZ3JhbnRlZCBhY2Nlc3MgdG8sIG9yIGEgc2hhcmVkXG4iCisiICAgICAgICAgICAgICBBZGRlZCBpbiA3LjEyLjMuXG4iCisiXG4iCisiICAgICAgIC0tc2FzbC1hdXRoemlkIDxpZGVudGl0eT5cbiIKKyIgICAgICAgICAgICAgIFVzZSB0aGlzIGF1dGhvcmlzYXRpb24gaWRlbnRpdHkgKGF1dGh6aWQpLCBkdXJpbmcgU0FTTCBQTEFJTiBhdS1cbiIKKyIgICAgICAgICAgICAgIHRoZW50aWNhdGlvbiwgaW4gYWRkaXRpb24gdG8gdGhlIGF1dGhlbnRpY2F0aW9uIGlkZW50aXR5ICAoYXV0aC1cbiIKKyIgICAgICAgICAgICAgIGNpZCkgYXMgc3BlY2lmaWVkIGJ5IC11LCAtLXVzZXIuXG4iCisiXG4iCisiICAgICAgICAgICAgICBJZiAgdGhlICBvcHRpb24gIGlzbid0IHNwZWNpZmllZCwgdGhlIHNlcnZlciB3aWxsIGRlcml2ZSB0aGUgYXUtXG4iCisiICAgICAgICAgICAgICB0aHppZCBmcm9tIHRoZSBhdXRoY2lkLCBidXQgaWYgc3BlY2lmaWVkLCBhbmQgZGVwZW5kaW5nICBvbiAgdGhlXG4iCissIHN0ZG91dCk7CisgZnB1dHMoCisiICAgICAgICAgICAgICBzZXJ2ZXIgIGltcGxlbWVudGF0aW9uLCAgaXQgbWF5IGJlIHVzZWQgdG8gYWNjZXNzIGFub3RoZXIgdXNlcidzXG4iCisiICAgICAgICAgICAgICBpbmJveCwgdGhhdCB0aGUgdXNlciBoYXMgYmVlbiBncmFudGVkIGFjY2VzcyAgdG8sICBvciAgYSAgc2hhcmVkXG4iCiAiICAgICAgICAgICAgICBtYWlsYm94IGZvciBleGFtcGxlLlxuIgogIlxuIgogIiAgICAgICAgICAgICAgQWRkZWQgaW4gNy42Ni4wLlxuIgpAQCAtMzE5NSw3ICszMjIzLDcgQEAKICJcbiIKICwgc3Rkb3V0KTsKICBmcHV0cygKLSIgICAgICAgICAgICAgIEV4YW1wbGVzOiAgIC0tbmVnb3RpYXRlICAgLS1zZXJ2aWNlLW5hbWUgICBzb2NrZCAgICB3b3VsZCAgICB1c2VcbiIKKyIgICAgICAgICAgICAgIEV4YW1wbGVzOiAgICAtLW5lZ290aWF0ZSAgICAtLXNlcnZpY2UtbmFtZSAgIHNvY2tkICAgd291bGQgICB1c2VcbiIKICIgICAgICAgICAgICAgIHNvY2tkL3NlcnZlci1uYW1lLlxuIgogIlxuIgogIiAgICAgICAgICAgICAgQWRkZWQgaW4gNy40My4wLlxuIgpAQCAtMzIwMywxNCArMzIzMSwxNCBAQAogIiAgICAgICAgICAgICAgV2hlbiB1c2VkIHdpdGggLXMsIC0tc2lsZW50LCBpdCBtYWtlcyBjdXJsIHNob3cgYW4gZXJyb3IgbWVzc2FnZVxuIgogIiAgICAgICAgICAgICAgaWYgaXQgZmFpbHMuXG4iCiAiICAgICAgIC1zLCAtLXNpbGVudFxuIgotIiAgICAgICAgICAgICAgU2lsZW50IG9yIHF1aWV0IG1vZGUuIERvbid0IHNob3cgcHJvZ3Jlc3MgbWV0ZXIgIG9yICBlcnJvciAgbWVzLVxuIgotIiAgICAgICAgICAgICAgc2FnZXMuICAgTWFrZXMgIEN1cmwgbXV0ZS4gSXQgd2lsbCBzdGlsbCBvdXRwdXQgdGhlIGRhdGEgeW91IGFza1xuIgorIiAgICAgICAgICAgICAgU2lsZW50ICBvciAgcXVpZXQgIG1vZGUuIERvbid0IHNob3cgcHJvZ3Jlc3MgbWV0ZXIgb3IgZXJyb3IgbWVzLVxuIgorIiAgICAgICAgICAgICAgc2FnZXMuICBNYWtlcyBDdXJsIG11dGUuIEl0IHdpbGwgc3RpbGwgb3V0cHV0IHRoZSBkYXRhICB5b3UgIGFza1xuIgogLCBzdGRvdXQpOwogIGZwdXRzKAogIiAgICAgICAgICAgICAgZm9yLCBwb3RlbnRpYWxseSBldmVuIHRvIHRoZSB0ZXJtaW5hbC9zdGRvdXQgdW5sZXNzIHlvdSByZWRpcmVjdFxuIgogIiAgICAgICAgICAgICAgaXQuXG4iCiAiXG4iCi0iICAgICAgICAgICAgICBVc2UgIC1TLCAgLS1zaG93LWVycm9yICBpbiAgYWRkaXRpb24gIHRvICB0aGlzIG9wdGlvbiB0byBkaXNhYmxlXG4iCisiICAgICAgICAgICAgICBVc2UgLVMsIC0tc2hvdy1lcnJvciBpbiAgYWRkaXRpb24gIHRvICB0aGlzICBvcHRpb24gIHRvICBkaXNhYmxlXG4iCiAiICAgICAgICAgICAgICBwcm9ncmVzcyBtZXRlciBidXQgc3RpbGwgc2hvdyBlcnJvciBtZXNzYWdlcy5cbiIKICJcbiIKICIgICAgICAgICAgICAgIFNlZSBhbHNvIC12LCAtLXZlcmJvc2UgYW5kIC0tc3RkZXJyLlxuIgpAQCAtMzIyMSwxMyArMzI0OSwxMyBAQAogIlxuIgogLCBzdGRvdXQpOwogIGZwdXRzKAotIiAgICAgICAgICAgICAgVGhpcyAgb3B0aW9uICBvdmVycmlkZXMgYW55IHByZXZpb3VzIHVzZSBvZiAteCwgLS1wcm94eSwgYXMgdGhleVxuIgorIiAgICAgICAgICAgICAgVGhpcyBvcHRpb24gb3ZlcnJpZGVzIGFueSBwcmV2aW91cyB1c2Ugb2YgLXgsIC0tcHJveHksICBhcyAgdGhleVxuIgogIiAgICAgICAgICAgICAgYXJlIG11dHVhbGx5IGV4Y2x1c2l2ZS5cbiIKICJcbiIKICIgICAgICAgICAgICAgIFNpbmNlIDcuMjEuNywgdGhpcyBvcHRpb24gaXMgc3VwZXJmbHVvdXMgc2luY2UgeW91IGNhbiBzcGVjaWZ5IGFcbiIKICIgICAgICAgICAgICAgIHNvY2tzNCBwcm94eSB3aXRoIC14LCAtLXByb3h5IHVzaW5nIGEgc29ja3M0Oi8vIHByb3RvY29sIHByZWZpeC5cbiIKICIgICAgICAgICAgICAgIFNpbmNlIDcuNTIuMCwgLS1wcmVwcm94eSBjYW4gYmUgdXNlZCB0byBzcGVjaWZ5IGEgU09DS1MgcHJveHkgYXRcbiIKLSIgICAgICAgICAgICAgIHRoZSBzYW1lIHRpbWUgLXgsIC0tcHJveHkgaXMgdXNlZCB3aXRoIGFuIEhUVFAvSFRUUFMgIHByb3h5LiAgSW5cbiIKKyIgICAgICAgICAgICAgIHRoZSAgc2FtZSAgdGltZSAteCwgLS1wcm94eSBpcyB1c2VkIHdpdGggYW4gSFRUUC9IVFRQUyBwcm94eS4gSW5cbiIKICwgc3Rkb3V0KTsKICBmcHV0cygKICIgICAgICAgICAgICAgIHN1Y2ggYSBjYXNlIGN1cmwgZmlyc3QgY29ubmVjdHMgdG8gdGhlIFNPQ0tTIHByb3h5IGFuZCB0aGVuIGNvbi1cbiIKQEAgLTMyNDEsMTcgKzMyNjksMTcgQEAKICIgICAgICAgICAgICAgIFVzZSB0aGUgc3BlY2lmaWVkIFNPQ0tTNGEgcHJveHkuIElmIHRoZSBwb3J0IG51bWJlciBpcyBub3Qgc3BlYy1cbiIKICIgICAgICAgICAgICAgIGlmaWVkLCBpdCBpcyBhc3N1bWVkIGF0IHBvcnQgMTA4MC5cbiIKICJcbiIKLSIgICAgICAgICAgICAgIFRoaXMgIG9wdGlvbiAgb3ZlcnJpZGVzIGFueSBwcmV2aW91cyB1c2Ugb2YgLXgsIC0tcHJveHksIGFzIHRoZXlcbiIKKyIgICAgICAgICAgICAgIFRoaXMgb3B0aW9uIG92ZXJyaWRlcyBhbnkgcHJldmlvdXMgdXNlIG9mIC14LCAtLXByb3h5LCAgYXMgIHRoZXlcbiIKICwgc3Rkb3V0KTsKICBmcHV0cygKICIgICAgICAgICAgICAgIGFyZSBtdXR1YWxseSBleGNsdXNpdmUuXG4iCiAiXG4iCiAiICAgICAgICAgICAgICBTaW5jZSA3LjIxLjcsIHRoaXMgb3B0aW9uIGlzIHN1cGVyZmx1b3VzIHNpbmNlIHlvdSBjYW4gc3BlY2lmeSBhXG4iCi0iICAgICAgICAgICAgICBzb2NrczRhICBwcm94eSB3aXRoIC14LCAtLXByb3h5IHVzaW5nIGEgc29ja3M0YTovLyBwcm90b2NvbCBwcmUtXG4iCisiICAgICAgICAgICAgICBzb2NrczRhIHByb3h5IHdpdGggLXgsIC0tcHJveHkgdXNpbmcgYSBzb2NrczRhOi8vIHByb3RvY29sICBwcmUtXG4iCiAiICAgICAgICAgICAgICBmaXguXG4iCiAiXG4iCiAiICAgICAgICAgICAgICBTaW5jZSA3LjUyLjAsIC0tcHJlcHJveHkgY2FuIGJlIHVzZWQgdG8gc3BlY2lmeSBhIFNPQ0tTIHByb3h5IGF0XG4iCi0iICAgICAgICAgICAgICB0aGUgIHNhbWUgIHRpbWUgLXgsIC0tcHJveHkgaXMgdXNlZCB3aXRoIGFuIEhUVFAvSFRUUFMgcHJveHkuIEluXG4iCisiICAgICAgICAgICAgICB0aGUgc2FtZSB0aW1lIC14LCAtLXByb3h5IGlzIHVzZWQgd2l0aCBhbiBIVFRQL0hUVFBTICBwcm94eS4gIEluXG4iCiAiICAgICAgICAgICAgICBzdWNoIGEgY2FzZSBjdXJsIGZpcnN0IGNvbm5lY3RzIHRvIHRoZSBTT0NLUyBwcm94eSBhbmQgdGhlbiBjb24tXG4iCiAsIHN0ZG91dCk7CiAgZnB1dHMoCkBAIC0zMjYzLDggKzMyOTEsOCBAQAogIlxuIgogIiAgICAgICAtLXNvY2tzNS1iYXNpY1xuIgogIiAgICAgICAgICAgICAgVGVsbHMgY3VybCB0byB1c2UgdXNlcm5hbWUvcGFzc3dvcmQgYXV0aGVudGljYXRpb24gd2hlbiBjb25uZWN0LVxuIgotIiAgICAgICAgICAgICAgaW5nIHRvIGEgU09DS1M1IHByb3h5LiAgVGhlIHVzZXJuYW1lL3Bhc3N3b3JkIGF1dGhlbnRpY2F0aW9uICBpc1xuIgotIiAgICAgICAgICAgICAgZW5hYmxlZCAgYnkgIGRlZmF1bHQuICAgVXNlIC0tc29ja3M1LWdzc2FwaSB0byBmb3JjZSBHU1MtQVBJIGF1LVxuIgorIiAgICAgICAgICAgICAgaW5nICB0byBhIFNPQ0tTNSBwcm94eS4gIFRoZSB1c2VybmFtZS9wYXNzd29yZCBhdXRoZW50aWNhdGlvbiBpc1xuIgorIiAgICAgICAgICAgICAgZW5hYmxlZCBieSBkZWZhdWx0LiAgVXNlIC0tc29ja3M1LWdzc2FwaSB0byAgZm9yY2UgIEdTUy1BUEkgIGF1LVxuIgogIiAgICAgICAgICAgICAgdGhlbnRpY2F0aW9uIHRvIFNPQ0tTNSBwcm94aWVzLlxuIgogIlxuIgogLCBzdGRvdXQpOwpAQCAtMzI3MiwxMCArMzMwMCwxMCBAQAogIiAgICAgICAgICAgICAgQWRkZWQgaW4gNy41NS4wLlxuIgogIlxuIgogIiAgICAgICAtLXNvY2tzNS1nc3NhcGktbmVjXG4iCi0iICAgICAgICAgICAgICBBcyBwYXJ0IG9mIHRoZSBHU1MtQVBJIG5lZ290aWF0aW9uIGEgcHJvdGVjdGlvbiBtb2RlIGlzICBuZWdvdGktXG4iCi0iICAgICAgICAgICAgICBhdGVkLiAgUkZDICAxOTYxIHNheXMgaW4gc2VjdGlvbiA0LjMvNC40IGl0IHNob3VsZCBiZSBwcm90ZWN0ZWQsXG4iCi0iICAgICAgICAgICAgICBidXQgdGhlIE5FQyAgcmVmZXJlbmNlICBpbXBsZW1lbnRhdGlvbiAgZG9lcyAgbm90LiAgIFRoZSAgb3B0aW9uXG4iCi0iICAgICAgICAgICAgICAtLXNvY2tzNS1nc3NhcGktbmVjICBhbGxvd3MgdGhlIHVucHJvdGVjdGVkIGV4Y2hhbmdlIG9mIHRoZSBwcm8tXG4iCisiICAgICAgICAgICAgICBBcyAgcGFydCBvZiB0aGUgR1NTLUFQSSBuZWdvdGlhdGlvbiBhIHByb3RlY3Rpb24gbW9kZSBpcyBuZWdvdGktXG4iCisiICAgICAgICAgICAgICBhdGVkLiBSRkMgMTk2MSBzYXlzIGluIHNlY3Rpb24gNC4zLzQuNCBpdCBzaG91bGQgIGJlICBwcm90ZWN0ZWQsXG4iCisiICAgICAgICAgICAgICBidXQgIHRoZSAgTkVDICByZWZlcmVuY2UgIGltcGxlbWVudGF0aW9uICBkb2VzICBub3QuICBUaGUgb3B0aW9uXG4iCisiICAgICAgICAgICAgICAtLXNvY2tzNS1nc3NhcGktbmVjIGFsbG93cyB0aGUgdW5wcm90ZWN0ZWQgZXhjaGFuZ2Ugb2YgdGhlICBwcm8tXG4iCiAiICAgICAgICAgICAgICB0ZWN0aW9uIG1vZGUgbmVnb3RpYXRpb24uXG4iCiAiXG4iCiAiICAgICAgICAgICAgICBBZGRlZCBpbiA3LjE5LjQuXG4iCkBAIC0zMjg2LDkgKzMzMTQsOSBAQAogIiAgICAgICAgICAgICAgVGhlIGRlZmF1bHQgc2VydmljZSBuYW1lIGZvciBhIHNvY2tzIHNlcnZlciBpcyByY21kL3NlcnZlci1mcWRuLlxuIgogIiAgICAgICAgICAgICAgVGhpcyBvcHRpb24gYWxsb3dzIHlvdSB0byBjaGFuZ2UgaXQuXG4iCiAiXG4iCi0iICAgICAgICAgICAgICBFeGFtcGxlczogICAtLXNvY2tzNSAgcHJveHktbmFtZSAgLS1zb2NrczUtZ3NzYXBpLXNlcnZpY2UgIHNvY2tkXG4iCi0iICAgICAgICAgICAgICB3b3VsZCB1c2Ugc29ja2QvcHJveHktbmFtZSAtLXNvY2tzNSBwcm94eS1uYW1lICAtLXNvY2tzNS1nc3NhcGktXG4iCi0iICAgICAgICAgICAgICBzZXJ2aWNlICBzb2NrZC9yZWFsLW5hbWUgIHdvdWxkICB1c2UgIHNvY2tkL3JlYWwtbmFtZSAgZm9yIGNhc2VzXG4iCisiICAgICAgICAgICAgICBFeGFtcGxlczogIC0tc29ja3M1ICBwcm94eS1uYW1lICAtLXNvY2tzNS1nc3NhcGktc2VydmljZSAgIHNvY2tkXG4iCisiICAgICAgICAgICAgICB3b3VsZCAgdXNlIHNvY2tkL3Byb3h5LW5hbWUgLS1zb2NrczUgcHJveHktbmFtZSAtLXNvY2tzNS1nc3NhcGktXG4iCisiICAgICAgICAgICAgICBzZXJ2aWNlIHNvY2tkL3JlYWwtbmFtZSAgd291bGQgIHVzZSAgc29ja2QvcmVhbC1uYW1lICBmb3IgIGNhc2VzXG4iCiAiICAgICAgICAgICAgICB3aGVyZSB0aGUgcHJveHktbmFtZSBkb2VzIG5vdCBtYXRjaCB0aGUgcHJpbmNpcGFsIG5hbWUuXG4iCiAiXG4iCiAiICAgICAgICAgICAgICBBZGRlZCBpbiA3LjE5LjQuXG4iCkBAIC0zMjk2LDIxICszMzI0LDIxIEBACiAiICAgICAgIC0tc29ja3M1LWdzc2FwaVxuIgogLCBzdGRvdXQpOwogIGZwdXRzKAotIiAgICAgICAgICAgICAgVGVsbHMgY3VybCB0byB1c2UgR1NTLUFQSSBhdXRoZW50aWNhdGlvbiB3aGVuICBjb25uZWN0aW5nICB0byAgYVxuIgotIiAgICAgICAgICAgICAgU09DS1M1ICBwcm94eS4gIFRoZSBHU1MtQVBJIGF1dGhlbnRpY2F0aW9uIGlzIGVuYWJsZWQgYnkgZGVmYXVsdFxuIgotIiAgICAgICAgICAgICAgKGlmIGN1cmwgaXMgY29tcGlsZWQgd2l0aCBHU1MtQVBJIHN1cHBvcnQpLiAgVXNlICAtLXNvY2tzNS1iYXNpY1xuIgorIiAgICAgICAgICAgICAgVGVsbHMgIGN1cmwgIHRvICB1c2UgR1NTLUFQSSBhdXRoZW50aWNhdGlvbiB3aGVuIGNvbm5lY3RpbmcgdG8gYVxuIgorIiAgICAgICAgICAgICAgU09DS1M1IHByb3h5LiAgVGhlIEdTUy1BUEkgYXV0aGVudGljYXRpb24gaXMgZW5hYmxlZCBieSAgZGVmYXVsdFxuIgorIiAgICAgICAgICAgICAgKGlmICBjdXJsIGlzIGNvbXBpbGVkIHdpdGggR1NTLUFQSSBzdXBwb3J0KS4gIFVzZSAtLXNvY2tzNS1iYXNpY1xuIgogIiAgICAgICAgICAgICAgdG8gZm9yY2UgdXNlcm5hbWUvcGFzc3dvcmQgYXV0aGVudGljYXRpb24gdG8gU09DS1M1IHByb3hpZXMuXG4iCiAiXG4iCiAiICAgICAgICAgICAgICBBZGRlZCBpbiA3LjU1LjAuXG4iCiAiXG4iCiAiICAgICAgIC0tc29ja3M1LWhvc3RuYW1lIDxob3N0Wzpwb3J0XT5cbiIKLSIgICAgICAgICAgICAgIFVzZSAgdGhlICBzcGVjaWZpZWQgIFNPQ0tTNSBwcm94eSAoYW5kIGxldCB0aGUgcHJveHkgcmVzb2x2ZSB0aGVcbiIKKyIgICAgICAgICAgICAgIFVzZSB0aGUgc3BlY2lmaWVkIFNPQ0tTNSBwcm94eSAoYW5kIGxldCB0aGUgIHByb3h5ICByZXNvbHZlICB0aGVcbiIKICwgc3Rkb3V0KTsKICBmcHV0cygKLSIgICAgICAgICAgICAgIGhvc3QgbmFtZSkuIElmIHRoZSBwb3J0IG51bWJlciBpcyBub3Qgc3BlY2lmaWVkLCBpdCAgaXMgIGFzc3VtZWRcbiIKKyIgICAgICAgICAgICAgIGhvc3QgIG5hbWUpLiAgSWYgdGhlIHBvcnQgbnVtYmVyIGlzIG5vdCBzcGVjaWZpZWQsIGl0IGlzIGFzc3VtZWRcbiIKICIgICAgICAgICAgICAgIGF0IHBvcnQgMTA4MC5cbiIKICJcbiIKLSIgICAgICAgICAgICAgIFRoaXMgIG9wdGlvbiAgb3ZlcnJpZGVzIGFueSBwcmV2aW91cyB1c2Ugb2YgLXgsIC0tcHJveHksIGFzIHRoZXlcbiIKKyIgICAgICAgICAgICAgIFRoaXMgb3B0aW9uIG92ZXJyaWRlcyBhbnkgcHJldmlvdXMgdXNlIG9mIC14LCAtLXByb3h5LCAgYXMgIHRoZXlcbiIKICIgICAgICAgICAgICAgIGFyZSBtdXR1YWxseSBleGNsdXNpdmUuXG4iCiAiXG4iCiAiICAgICAgICAgICAgICBTaW5jZSA3LjIxLjcsIHRoaXMgb3B0aW9uIGlzIHN1cGVyZmx1b3VzIHNpbmNlIHlvdSBjYW4gc3BlY2lmeSBhXG4iCkBAIC0zMzIwLDcgKzMzNDgsNyBAQAogIiAgICAgICAgICAgICAgU2luY2UgNy41Mi4wLCAtLXByZXByb3h5IGNhbiBiZSB1c2VkIHRvIHNwZWNpZnkgYSBTT0NLUyBwcm94eSBhdFxuIgogLCBzdGRvdXQpOwogIGZwdXRzKAotIiAgICAgICAgICAgICAgdGhlICBzYW1lICB0aW1lIC14LCAtLXByb3h5IGlzIHVzZWQgd2l0aCBhbiBIVFRQL0hUVFBTIHByb3h5LiBJblxuIgorIiAgICAgICAgICAgICAgdGhlIHNhbWUgdGltZSAteCwgLS1wcm94eSBpcyB1c2VkIHdpdGggYW4gSFRUUC9IVFRQUyAgcHJveHkuICBJblxuIgogIiAgICAgICAgICAgICAgc3VjaCBhIGNhc2UgY3VybCBmaXJzdCBjb25uZWN0cyB0byB0aGUgU09DS1MgcHJveHkgYW5kIHRoZW4gY29uLVxuIgogIiAgICAgICAgICAgICAgbmVjdHMgKHRocm91Z2ggU09DS1MpIHRvIHRoZSBIVFRQIG9yIEhUVFBTIHByb3h5LlxuIgogIlxuIgpAQCAtMzMyOSwxMyArMzM1NywxMyBAQAogIiAgICAgICAgICAgICAgQWRkZWQgaW4gNy4xOC4wLlxuIgogIlxuIgogIiAgICAgICAtLXNvY2tzNSA8aG9zdFs6cG9ydF0+XG4iCi0iICAgICAgICAgICAgICBVc2UgIHRoZSAgc3BlY2lmaWVkIFNPQ0tTNSBwcm94eSAtIGJ1dCByZXNvbHZlIHRoZSBob3N0IG5hbWUgbG8tXG4iCisiICAgICAgICAgICAgICBVc2UgdGhlIHNwZWNpZmllZCBTT0NLUzUgcHJveHkgLSBidXQgcmVzb2x2ZSB0aGUgaG9zdCAgbmFtZSAgbG8tXG4iCiAsIHN0ZG91dCk7CiAgZnB1dHMoCi0iICAgICAgICAgICAgICBjYWxseS4gSWYgdGhlIHBvcnQgbnVtYmVyIGlzIG5vdCBzcGVjaWZpZWQsICBpdCAgaXMgIGFzc3VtZWQgIGF0XG4iCisiICAgICAgICAgICAgICBjYWxseS4gIElmICB0aGUgIHBvcnQgIG51bWJlciBpcyBub3Qgc3BlY2lmaWVkLCBpdCBpcyBhc3N1bWVkIGF0XG4iCiAiICAgICAgICAgICAgICBwb3J0IDEwODAuXG4iCiAiXG4iCi0iICAgICAgICAgICAgICBUaGlzICBvcHRpb24gIG92ZXJyaWRlcyBhbnkgcHJldmlvdXMgdXNlIG9mIC14LCAtLXByb3h5LCBhcyB0aGV5XG4iCisiICAgICAgICAgICAgICBUaGlzIG9wdGlvbiBvdmVycmlkZXMgYW55IHByZXZpb3VzIHVzZSBvZiAteCwgLS1wcm94eSwgIGFzICB0aGV5XG4iCiAiICAgICAgICAgICAgICBhcmUgbXV0dWFsbHkgZXhjbHVzaXZlLlxuIgogIlxuIgogIiAgICAgICAgICAgICAgU2luY2UgNy4yMS43LCB0aGlzIG9wdGlvbiBpcyBzdXBlcmZsdW91cyBzaW5jZSB5b3UgY2FuIHNwZWNpZnkgYVxuIgpAQCAtMzM0MywxMiArMzM3MSwxMiBAQAogIiAgICAgICAgICAgICAgU2luY2UgNy41Mi4wLCAtLXByZXByb3h5IGNhbiBiZSB1c2VkIHRvIHNwZWNpZnkgYSBTT0NLUyBwcm94eSBhdFxuIgogLCBzdGRvdXQpOwogIGZwdXRzKAotIiAgICAgICAgICAgICAgdGhlIHNhbWUgdGltZSAteCwgLS1wcm94eSBpcyB1c2VkIHdpdGggYW4gSFRUUC9IVFRQUyAgcHJveHkuICBJblxuIgorIiAgICAgICAgICAgICAgdGhlICBzYW1lICB0aW1lIC14LCAtLXByb3h5IGlzIHVzZWQgd2l0aCBhbiBIVFRQL0hUVFBTIHByb3h5LiBJblxuIgogIiAgICAgICAgICAgICAgc3VjaCBhIGNhc2UgY3VybCBmaXJzdCBjb25uZWN0cyB0byB0aGUgU09DS1MgcHJveHkgYW5kIHRoZW4gY29uLVxuIgogIiAgICAgICAgICAgICAgbmVjdHMgKHRocm91Z2ggU09DS1MpIHRvIHRoZSBIVFRQIG9yIEhUVFBTIHByb3h5LlxuIgogIlxuIgogIiAgICAgICAgICAgICAgSWYgdGhpcyBvcHRpb24gaXMgdXNlZCBzZXZlcmFsIHRpbWVzLCB0aGUgbGFzdCBvbmUgd2lsbCBiZSB1c2VkLlxuIgotIiAgICAgICAgICAgICAgVGhpcyBvcHRpb24gKGFzIHdlbGwgYXMgLS1zb2NrczQpIGRvZXMgbm90IHdvcmsgd2l0aCBJUFY2LCAgRlRQU1xuIgorIiAgICAgICAgICAgICAgVGhpcyAgb3B0aW9uIChhcyB3ZWxsIGFzIC0tc29ja3M0KSBkb2VzIG5vdCB3b3JrIHdpdGggSVBWNiwgRlRQU1xuIgogIiAgICAgICAgICAgICAgb3IgTERBUC5cbiIKICJcbiIKICIgICAgICAgICAgICAgIEFkZGVkIGluIDcuMTguMC5cbiIKQEAgLTMzNTcsNyArMzM4NSw3IEBACiAsIHN0ZG91dCk7CiAgZnB1dHMoCiAiICAgICAgICAgICAgICBJZiBhIGRvd25sb2FkIGlzIHNsb3dlciB0aGFuIHRoaXMgZ2l2ZW4gc3BlZWQgKGluIGJ5dGVzIHBlciBzZWMtXG4iCi0iICAgICAgICAgICAgICBvbmQpIGZvciBzcGVlZC10aW1lIHNlY29uZHMgaXQgZ2V0cyBhYm9ydGVkLiBzcGVlZC10aW1lICBpcyAgc2V0XG4iCisiICAgICAgICAgICAgICBvbmQpICBmb3IgIHNwZWVkLXRpbWUgc2Vjb25kcyBpdCBnZXRzIGFib3J0ZWQuIHNwZWVkLXRpbWUgaXMgc2V0XG4iCiAiICAgICAgICAgICAgICB3aXRoIC15LCAtLXNwZWVkLXRpbWUgYW5kIGlzIDMwIGlmIG5vdCBzZXQuXG4iCiAiXG4iCiAiICAgICAgICAgICAgICBJZiB0aGlzIG9wdGlvbiBpcyB1c2VkIHNldmVyYWwgdGltZXMsIHRoZSBsYXN0IG9uZSB3aWxsIGJlIHVzZWQuXG4iCkBAIC0zMzY3LDExICszMzk1LDExIEBACiAiICAgICAgICAgICAgICBhIHNwZWVkLXRpbWUgcGVyaW9kLCB0aGUgZG93bmxvYWQgZ2V0cyBhYm9ydGVkLiBJZiBzcGVlZC10aW1lIGlzXG4iCiAsIHN0ZG91dCk7CiAgZnB1dHMoCi0iICAgICAgICAgICAgICB1c2VkLCAgdGhlICBkZWZhdWx0ICBzcGVlZC1saW1pdCAgd2lsbCAgYmUgMSB1bmxlc3Mgc2V0IHdpdGggLVksXG4iCisiICAgICAgICAgICAgICB1c2VkLCB0aGUgZGVmYXVsdCBzcGVlZC1saW1pdCB3aWxsIGJlICAxICB1bmxlc3MgIHNldCAgd2l0aCAgLVksXG4iCiAiICAgICAgICAgICAgICAtLXNwZWVkLWxpbWl0LlxuIgogIlxuIgotIiAgICAgICAgICAgICAgVGhpcyBvcHRpb24gY29udHJvbHMgdHJhbnNmZXJzIGFuZCB0aHVzICB3aWxsICBub3QgIGFmZmVjdCAgc2xvd1xuIgotIiAgICAgICAgICAgICAgY29ubmVjdHMgIGV0Yy4gIElmIHRoaXMgaXMgYSBjb25jZXJuIGZvciB5b3UsIHRyeSB0aGUgLS1jb25uZWN0LVxuIgorIiAgICAgICAgICAgICAgVGhpcyAgb3B0aW9uICBjb250cm9scyAgdHJhbnNmZXJzICBhbmQgdGh1cyB3aWxsIG5vdCBhZmZlY3Qgc2xvd1xuIgorIiAgICAgICAgICAgICAgY29ubmVjdHMgZXRjLiBJZiB0aGlzIGlzIGEgY29uY2VybiBmb3IgeW91LCB0cnkgIHRoZSAgLS1jb25uZWN0LVxuIgogIiAgICAgICAgICAgICAgdGltZW91dCBvcHRpb24uXG4iCiAiXG4iCiAiICAgICAgICAgICAgICBJZiB0aGlzIG9wdGlvbiBpcyB1c2VkIHNldmVyYWwgdGltZXMsIHRoZSBsYXN0IG9uZSB3aWxsIGJlIHVzZWQuXG4iCkBAIC0zMzgwLDggKzM0MDgsOCBAQAogIiAgICAgICAgICAgICAgVGhpcyBvcHRpb24gdGVsbHMgY3VybCB0byBub3Qgd29yayBhcm91bmQgYSBzZWN1cml0eSBmbGF3IGluIHRoZVxuIgogLCBzdGRvdXQpOwogIGZwdXRzKAotIiAgICAgICAgICAgICAgU1NMMyAgYW5kIFRMUzEuMCBwcm90b2NvbHMga25vd24gYXMgQkVBU1QuICBJZiB0aGlzIG9wdGlvbiBpc24ndFxuIgotIiAgICAgICAgICAgICAgdXNlZCwgdGhlIFNTTCBsYXllciBtYXkgdXNlIHdvcmthcm91bmRzIGtub3duIHRvIGNhdXNlICBpbnRlcm9wLVxuIgorIiAgICAgICAgICAgICAgU1NMMyBhbmQgVExTMS4wIHByb3RvY29scyBrbm93biBhcyBCRUFTVC4gIElmIHRoaXMgb3B0aW9uICBpc24ndFxuIgorIiAgICAgICAgICAgICAgdXNlZCwgIHRoZSBTU0wgbGF5ZXIgbWF5IHVzZSB3b3JrYXJvdW5kcyBrbm93biB0byBjYXVzZSBpbnRlcm9wLVxuIgogIiAgICAgICAgICAgICAgZXJhYmlsaXR5IHByb2JsZW1zIHdpdGggc29tZSBvbGRlciBTU0wgaW1wbGVtZW50YXRpb25zLiBXQVJOSU5HOlxuIgogIiAgICAgICAgICAgICAgdGhpcyBvcHRpb24gbG9vc2VucyB0aGUgU1NMIHNlY3VyaXR5LCBhbmQgYnkgdXNpbmcgdGhpcyBmbGFnIHlvdVxuIgogIiAgICAgICAgICAgICAgYXNrIGZvciBleGFjdGx5IHRoYXQuXG4iCkBAIC0zNDA4LDQ5ICszNDM2LDQ5IEBACiAiICAgICAgIC0tc3NsLXJldm9rZS1iZXN0LWVmZm9ydFxuIgogLCBzdGRvdXQpOwogIGZwdXRzKAotIiAgICAgICAgICAgICAgKFNjaGFubmVsKSBUaGlzIG9wdGlvbiB0ZWxscyBjdXJsIHRvIGlnbm9yZSBjZXJ0aWZpY2F0ZSAgcmV2b2NhLVxuIgorIiAgICAgICAgICAgICAgKFNjaGFubmVsKSAgVGhpcyBvcHRpb24gdGVsbHMgY3VybCB0byBpZ25vcmUgY2VydGlmaWNhdGUgcmV2b2NhLVxuIgogIiAgICAgICAgICAgICAgdGlvbiBjaGVja3Mgd2hlbiB0aGV5IGZhaWxlZCBkdWUgdG8gbWlzc2luZy9vZmZsaW5lIGRpc3RyaWJ1dGlvblxuIgogIiAgICAgICAgICAgICAgcG9pbnRzIGZvciB0aGUgcmV2b2NhdGlvbiBjaGVjayBsaXN0cy5cbiIKICJcbiIKICIgICAgICAgICAgICAgIEFkZGVkIGluIDcuNzAuMC5cbiIKICJcbiIKICIgICAgICAgLS1zc2wgIChGVFAgSU1BUCBQT1AzIFNNVFApIFRyeSB0byB1c2UgU1NML1RMUyBmb3IgdGhlIGNvbm5lY3Rpb24uICBSZS1cbiIKLSIgICAgICAgICAgICAgIHZlcnRzICB0byAgYSBub24tc2VjdXJlIGNvbm5lY3Rpb24gaWYgdGhlIHNlcnZlciBkb2Vzbid0IHN1cHBvcnRcbiIKLSIgICAgICAgICAgICAgIFNTTC9UTFMuICBTZWUgYWxzbyAtLWZ0cC1zc2wtY29udHJvbCBhbmQgLS1zc2wtcmVxZCBmb3IgIGRpZmZlci1cbiIKKyIgICAgICAgICAgICAgIHZlcnRzIHRvIGEgbm9uLXNlY3VyZSBjb25uZWN0aW9uIGlmIHRoZSBzZXJ2ZXIgIGRvZXNuJ3QgIHN1cHBvcnRcbiIKKyIgICAgICAgICAgICAgIFNTTC9UTFMuICAgU2VlIGFsc28gLS1mdHAtc3NsLWNvbnRyb2wgYW5kIC0tc3NsLXJlcWQgZm9yIGRpZmZlci1cbiIKICwgc3Rkb3V0KTsKICBmcHV0cygKICIgICAgICAgICAgICAgIGVudCBsZXZlbHMgb2YgZW5jcnlwdGlvbiByZXF1aXJlZC5cbiIKICJcbiIKLSIgICAgICAgICAgICAgIFRoaXMgIG9wdGlvbiAgd2FzIGZvcm1lcmx5IGtub3duIGFzIC0tZnRwLXNzbCAoQWRkZWQgaW4gNy4xMS4wKS5cbiIKLSIgICAgICAgICAgICAgIFRoYXQgb3B0aW9uIG5hbWUgY2FuIHN0aWxsIGJlIHVzZWQgYnV0IHdpbGwgYmUgcmVtb3ZlZCBpbiBhICBmdS1cbiIKKyIgICAgICAgICAgICAgIFRoaXMgb3B0aW9uIHdhcyBmb3JtZXJseSBrbm93biBhcyAtLWZ0cC1zc2wgKEFkZGVkICBpbiAgNy4xMS4wKS5cbiIKKyIgICAgICAgICAgICAgIFRoYXQgIG9wdGlvbiBuYW1lIGNhbiBzdGlsbCBiZSB1c2VkIGJ1dCB3aWxsIGJlIHJlbW92ZWQgaW4gYSBmdS1cbiIKICIgICAgICAgICAgICAgIHR1cmUgdmVyc2lvbi5cbiIKICJcbiIKICIgICAgICAgICAgICAgIEFkZGVkIGluIDcuMjAuMC5cbiIKICJcbiIKICIgICAgICAgLTIsIC0tc3NsdjJcbiIKLSIgICAgICAgICAgICAgIChTU0wpICBGb3JjZXMgIGN1cmwgdG8gdXNlIFNTTCB2ZXJzaW9uIDIgd2hlbiBuZWdvdGlhdGluZyB3aXRoIGFcbiIKLSIgICAgICAgICAgICAgIHJlbW90ZSBTU0wgc2VydmVyLiBTb21ldGltZXMgY3VybCBpcyBidWlsdCAgd2l0aG91dCAgU1NMdjIgIHN1cC1cbiIKKyIgICAgICAgICAgICAgIChTU0wpIEZvcmNlcyBjdXJsIHRvIHVzZSBTU0wgdmVyc2lvbiAyIHdoZW4gbmVnb3RpYXRpbmcgIHdpdGggIGFcbiIKKyIgICAgICAgICAgICAgIHJlbW90ZSAgU1NMICBzZXJ2ZXIuICBTb21ldGltZXMgY3VybCBpcyBidWlsdCB3aXRob3V0IFNTTHYyIHN1cC1cbiIKICwgc3Rkb3V0KTsKICBmcHV0cygKICIgICAgICAgICAgICAgIHBvcnQuIFNTTHYyIGlzIHdpZGVseSBjb25zaWRlcmVkIGluc2VjdXJlIChzZWUgUkZDIDYxNzYpLlxuIgogIlxuIgotIiAgICAgICAgICAgICAgU2VlICBhbHNvICAtLWh0dHAxLjEgIGFuZCAtLWh0dHAyLiAtMiwgLS1zc2x2MiByZXF1aXJlcyB0aGF0IHRoZVxuIgotIiAgICAgICAgICAgICAgdW5kZXJseWluZyBsaWJjdXJsIHdhcyBidWlsdCB0byBzdXBwb3J0IFRMUy4gVGhpcyAgb3B0aW9uICBvdmVyLVxuIgorIiAgICAgICAgICAgICAgU2VlIGFsc28gLS1odHRwMS4xIGFuZCAtLWh0dHAyLiAtMiwgLS1zc2x2MiAgcmVxdWlyZXMgIHRoYXQgIHRoZVxuIgorIiAgICAgICAgICAgICAgdW5kZXJseWluZyAgbGliY3VybCAgd2FzIGJ1aWx0IHRvIHN1cHBvcnQgVExTLiBUaGlzIG9wdGlvbiBvdmVyLVxuIgogIiAgICAgICAgICAgICAgcmlkZXMgLTMsIC0tc3NsdjMgYW5kIC0xLCAtLXRsc3YxIGFuZCAtLXRsc3YxLjEgYW5kIC0tdGxzdjEuMi5cbiIKICJcbiIKICIgICAgICAgLTMsIC0tc3NsdjNcbiIKLSIgICAgICAgICAgICAgIChTU0wpICBGb3JjZXMgIGN1cmwgdG8gdXNlIFNTTCB2ZXJzaW9uIDMgd2hlbiBuZWdvdGlhdGluZyB3aXRoIGFcbiIKLSIgICAgICAgICAgICAgIHJlbW90ZSBTU0wgc2VydmVyLiBTb21ldGltZXMgY3VybCBpcyBidWlsdCAgd2l0aG91dCAgU1NMdjMgIHN1cC1cbiIKKyIgICAgICAgICAgICAgIChTU0wpIEZvcmNlcyBjdXJsIHRvIHVzZSBTU0wgdmVyc2lvbiAzIHdoZW4gbmVnb3RpYXRpbmcgIHdpdGggIGFcbiIKKyIgICAgICAgICAgICAgIHJlbW90ZSAgU1NMICBzZXJ2ZXIuICBTb21ldGltZXMgY3VybCBpcyBidWlsdCB3aXRob3V0IFNTTHYzIHN1cC1cbiIKICwgc3Rkb3V0KTsKICBmcHV0cygKICIgICAgICAgICAgICAgIHBvcnQuIFNTTHYzIGlzIHdpZGVseSBjb25zaWRlcmVkIGluc2VjdXJlIChzZWUgUkZDIDc1NjgpLlxuIgogIlxuIgotIiAgICAgICAgICAgICAgU2VlICBhbHNvICAtLWh0dHAxLjEgIGFuZCAtLWh0dHAyLiAtMywgLS1zc2x2MyByZXF1aXJlcyB0aGF0IHRoZVxuIgotIiAgICAgICAgICAgICAgdW5kZXJseWluZyBsaWJjdXJsIHdhcyBidWlsdCB0byBzdXBwb3J0IFRMUy4gVGhpcyAgb3B0aW9uICBvdmVyLVxuIgorIiAgICAgICAgICAgICAgU2VlIGFsc28gLS1odHRwMS4xIGFuZCAtLWh0dHAyLiAtMywgLS1zc2x2MyAgcmVxdWlyZXMgIHRoYXQgIHRoZVxuIgorIiAgICAgICAgICAgICAgdW5kZXJseWluZyAgbGliY3VybCAgd2FzIGJ1aWx0IHRvIHN1cHBvcnQgVExTLiBUaGlzIG9wdGlvbiBvdmVyLVxuIgogIiAgICAgICAgICAgICAgcmlkZXMgLTIsIC0tc3NsdjIgYW5kIC0xLCAtLXRsc3YxIGFuZCAtLXRsc3YxLjEgYW5kIC0tdGxzdjEuMi5cbiIKICJcbiIKICIgICAgICAgLS1zdGRlcnJcbiIKLSIgICAgICAgICAgICAgIFJlZGlyZWN0ICBhbGwgd3JpdGVzIHRvIHN0ZGVyciB0byB0aGUgc3BlY2lmaWVkIGZpbGUgaW5zdGVhZC4gSWZcbiIKKyIgICAgICAgICAgICAgIFJlZGlyZWN0IGFsbCB3cml0ZXMgdG8gc3RkZXJyIHRvIHRoZSBzcGVjaWZpZWQgZmlsZSBpbnN0ZWFkLiAgSWZcbiIKICIgICAgICAgICAgICAgIHRoZSBmaWxlIG5hbWUgaXMgYSBwbGFpbiAnLScsIGl0IGlzIGluc3RlYWQgd3JpdHRlbiB0byBzdGRvdXQuXG4iCiAiXG4iCiAsIHN0ZG91dCk7CkBAIC0zNDYwLDIwICszNDg4LDIwIEBACiAiICAgICAgICAgICAgICBTZWUgYWxzbyAtdiwgLS12ZXJib3NlIGFuZCAtcywgLS1zaWxlbnQuXG4iCiAiXG4iCiAiICAgICAgIC0tc3R5bGVkLW91dHB1dFxuIgotIiAgICAgICAgICAgICAgRW5hYmxlcyB0aGUgYXV0b21hdGljIHVzZSBvZiBib2xkIGZvbnQgc3R5bGVzIHdoZW4gd3JpdGluZyAgSFRUUFxuIgotIiAgICAgICAgICAgICAgaGVhZGVycyAgdG8gIHRoZSB0ZXJtaW5hbC4gVXNlIC0tbm8tc3R5bGVkLW91dHB1dCB0byBzd2l0Y2ggdGhlbVxuIgorIiAgICAgICAgICAgICAgRW5hYmxlcyAgdGhlIGF1dG9tYXRpYyB1c2Ugb2YgYm9sZCBmb250IHN0eWxlcyB3aGVuIHdyaXRpbmcgSFRUUFxuIgorIiAgICAgICAgICAgICAgaGVhZGVycyB0byB0aGUgdGVybWluYWwuIFVzZSAtLW5vLXN0eWxlZC1vdXRwdXQgdG8gIHN3aXRjaCAgdGhlbVxuIgogIiAgICAgICAgICAgICAgb2ZmLlxuIgogIlxuIgogIiAgICAgICAgICAgICAgQWRkZWQgaW4gNy42MS4wLlxuIgogIlxuIgogIiAgICAgICAtLXN1cHByZXNzLWNvbm5lY3QtaGVhZGVyc1xuIgotIiAgICAgICAgICAgICAgV2hlbiAtcCwgLS1wcm94eXR1bm5lbCBpcyB1c2VkIGFuZCBhICBDT05ORUNUICByZXF1ZXN0ICBpcyAgbWFkZVxuIgorIiAgICAgICAgICAgICAgV2hlbiAgLXAsICAtLXByb3h5dHVubmVsICBpcyAgdXNlZCBhbmQgYSBDT05ORUNUIHJlcXVlc3QgaXMgbWFkZVxuIgogLCBzdGRvdXQpOwogIGZwdXRzKAotIiAgICAgICAgICAgICAgZG9uJ3QgIG91dHB1dCAgcHJveHkgIENPTk5FQ1QgIHJlc3BvbnNlICBoZWFkZXJzLiBUaGlzIG9wdGlvbiBpc1xuIgotIiAgICAgICAgICAgICAgbWVhbnQgdG8gYmUgdXNlZCB3aXRoIC1ELCAtLWR1bXAtaGVhZGVyIG9yIC1pLCAgLS1pbmNsdWRlICB3aGljaFxuIgotIiAgICAgICAgICAgICAgYXJlICB1c2VkICB0byBzaG93IHByb3RvY29sIGhlYWRlcnMgaW4gdGhlIG91dHB1dC4gSXQgaGFzIG5vIGVmLVxuIgotIiAgICAgICAgICAgICAgZmVjdCBvbiBkZWJ1ZyBvcHRpb25zIHN1Y2ggYXMgLXYsIC0tdmVyYm9zZSBvciAtLXRyYWNlLCAgb3IgIGFueVxuIgorIiAgICAgICAgICAgICAgZG9uJ3Qgb3V0cHV0IHByb3h5IENPTk5FQ1QgIHJlc3BvbnNlICBoZWFkZXJzLiAgVGhpcyAgb3B0aW9uICBpc1xuIgorIiAgICAgICAgICAgICAgbWVhbnQgIHRvICBiZSB1c2VkIHdpdGggLUQsIC0tZHVtcC1oZWFkZXIgb3IgLWksIC0taW5jbHVkZSB3aGljaFxuIgorIiAgICAgICAgICAgICAgYXJlIHVzZWQgdG8gc2hvdyBwcm90b2NvbCBoZWFkZXJzIGluIHRoZSBvdXRwdXQuIEl0IGhhcyAgbm8gIGVmLVxuIgorIiAgICAgICAgICAgICAgZmVjdCAgb24gIGRlYnVnIG9wdGlvbnMgc3VjaCBhcyAtdiwgLS12ZXJib3NlIG9yIC0tdHJhY2UsIG9yIGFueVxuIgogIiAgICAgICAgICAgICAgc3RhdGlzdGljcy5cbiIKICJcbiIKICIgICAgICAgICAgICAgIFNlZSBhbHNvIC1ELCAtLWR1bXAtaGVhZGVyIGFuZCAtaSwgLS1pbmNsdWRlIGFuZCAtcCwgLS1wcm94eXR1bi1cbiIKQEAgLTM0ODcsMTAgKzM1MTUsMTAgQEAKICIgICAgICAgICAgICAgIEFkZGVkIGluIDcuNDkuMC5cbiIKICJcbiIKICIgICAgICAgLS10Y3Atbm9kZWxheVxuIgotIiAgICAgICAgICAgICAgVHVybiBvbiB0aGUgVENQX05PREVMQVkgb3B0aW9uLiBTZWUgdGhlIGN1cmxfZWFzeV9zZXRvcHQoMykgIG1hblxuIgorIiAgICAgICAgICAgICAgVHVybiAgb24gdGhlIFRDUF9OT0RFTEFZIG9wdGlvbi4gU2VlIHRoZSBjdXJsX2Vhc3lfc2V0b3B0KDMpIG1hblxuIgogIiAgICAgICAgICAgICAgcGFnZSBmb3IgZGV0YWlscyBhYm91dCB0aGlzIG9wdGlvbi5cbiIKICJcbiIKLSIgICAgICAgICAgICAgIFNpbmNlICA3LjUwLjIsICBjdXJsIHNldHMgdGhpcyBvcHRpb24gYnkgZGVmYXVsdCBhbmQgeW91IG5lZWQgdG9cbiIKKyIgICAgICAgICAgICAgIFNpbmNlIDcuNTAuMiwgY3VybCBzZXRzIHRoaXMgb3B0aW9uIGJ5IGRlZmF1bHQgYW5kIHlvdSAgbmVlZCAgdG9cbiIKICIgICAgICAgICAgICAgIGV4cGxpY2l0bHkgc3dpdGNoIGl0IG9mZiBpZiB5b3UgZG9uJ3Qgd2FudCBpdCBvbi5cbiIKICJcbiIKICIgICAgICAgICAgICAgIEFkZGVkIGluIDcuMTEuMi5cbiIKQEAgLTM1MjAsOCArMzU0OCw4IEBACiAiICAgICAgIC0tdGZ0cC1uby1vcHRpb25zXG4iCiAiICAgICAgICAgICAgICAoVEZUUCkgVGVsbHMgY3VybCBub3QgdG8gc2VuZCBURlRQIG9wdGlvbnMgcmVxdWVzdHMuXG4iCiAiXG4iCi0iICAgICAgICAgICAgICBUaGlzIG9wdGlvbiBpbXByb3ZlcyBpbnRlcm9wIHdpdGggc29tZSBsZWdhY3kgIHNlcnZlcnMgIHRoYXQgIGRvXG4iCi0iICAgICAgICAgICAgICBub3QgIGFja25vd2xlZGdlICBvciAgcHJvcGVybHkgaW1wbGVtZW50IFRGVFAgb3B0aW9ucy4gV2hlbiB0aGlzXG4iCisiICAgICAgICAgICAgICBUaGlzICBvcHRpb24gIGltcHJvdmVzICBpbnRlcm9wIHdpdGggc29tZSBsZWdhY3kgc2VydmVycyB0aGF0IGRvXG4iCisiICAgICAgICAgICAgICBub3QgYWNrbm93bGVkZ2Ugb3IgcHJvcGVybHkgaW1wbGVtZW50IFRGVFAgIG9wdGlvbnMuICBXaGVuICB0aGlzXG4iCiAiICAgICAgICAgICAgICBvcHRpb24gaXMgdXNlZCAtLXRmdHAtYmxrc2l6ZSBpcyBpZ25vcmVkLlxuIgogIlxuIgogLCBzdGRvdXQpOwpAQCAtMzUyOSwxOCArMzU1NywxOCBAQAogIiAgICAgICAgICAgICAgQWRkZWQgaW4gNy40OC4wLlxuIgogIlxuIgogIiAgICAgICAteiwgLS10aW1lLWNvbmQgPHRpbWU+XG4iCi0iICAgICAgICAgICAgICAoSFRUUCBGVFApIFJlcXVlc3QgYSBmaWxlIHRoYXQgaGFzIGJlZW4gbW9kaWZpZWQgbGF0ZXIgdGhhbiAgdGhlXG4iCi0iICAgICAgICAgICAgICBnaXZlbiAgdGltZSAgYW5kIGRhdGUsIG9yIG9uZSB0aGF0IGhhcyBiZWVuIG1vZGlmaWVkIGJlZm9yZSB0aGF0XG4iCi0iICAgICAgICAgICAgICB0aW1lLiBUaGUgPGRhdGUgZXhwcmVzc2lvbj4gY2FuIGJlIGFsbCBzb3J0cyBvZiBkYXRlIHN0cmluZ3MgIG9yXG4iCisiICAgICAgICAgICAgICAoSFRUUCAgRlRQKSBSZXF1ZXN0IGEgZmlsZSB0aGF0IGhhcyBiZWVuIG1vZGlmaWVkIGxhdGVyIHRoYW4gdGhlXG4iCisiICAgICAgICAgICAgICBnaXZlbiB0aW1lIGFuZCBkYXRlLCBvciBvbmUgdGhhdCBoYXMgYmVlbiBtb2RpZmllZCAgYmVmb3JlICB0aGF0XG4iCisiICAgICAgICAgICAgICB0aW1lLiAgVGhlIDxkYXRlIGV4cHJlc3Npb24+IGNhbiBiZSBhbGwgc29ydHMgb2YgZGF0ZSBzdHJpbmdzIG9yXG4iCiAiICAgICAgICAgICAgICBpZiBpdCBkb2Vzbid0IG1hdGNoIGFueSBpbnRlcm5hbCBvbmVzLCBpdCBpcyB0YWtlbiBhcyBhIGZpbGVuYW1lXG4iCi0iICAgICAgICAgICAgICBhbmQgdHJpZXMgdG8gZ2V0IHRoZSBtb2RpZmljYXRpb24gZGF0ZSAobXRpbWUpIGZyb20gIDxmaWxlPiAgaW4tXG4iCisiICAgICAgICAgICAgICBhbmQgIHRyaWVzICB0byBnZXQgdGhlIG1vZGlmaWNhdGlvbiBkYXRlIChtdGltZSkgZnJvbSA8ZmlsZT4gaW4tXG4iCiAsIHN0ZG91dCk7CiAgZnB1dHMoCiAiICAgICAgICAgICAgICBzdGVhZC4gU2VlIHRoZSBjdXJsX2dldGRhdGUoMykgbWFuIHBhZ2VzIGZvciBkYXRlIGV4cHJlc3Npb24gZGUtXG4iCiAiICAgICAgICAgICAgICB0YWlscy5cbiIKICJcbiIKICIgICAgICAgICAgICAgIFN0YXJ0IHRoZSBkYXRlIGV4cHJlc3Npb24gd2l0aCBhIGRhc2ggKC0pIHRvIG1ha2UgaXQgcmVxdWVzdCBmb3JcbiIKLSIgICAgICAgICAgICAgIGEgIGRvY3VtZW50IHRoYXQgaXMgb2xkZXIgdGhhbiB0aGUgZ2l2ZW4gZGF0ZS90aW1lLCBkZWZhdWx0IGlzIGFcbiIKKyIgICAgICAgICAgICAgIGEgZG9jdW1lbnQgdGhhdCBpcyBvbGRlciB0aGFuIHRoZSBnaXZlbiBkYXRlL3RpbWUsIGRlZmF1bHQgaXMgIGFcbiIKICIgICAgICAgICAgICAgIGRvY3VtZW50IHRoYXQgaXMgbmV3ZXIgdGhhbiB0aGUgc3BlY2lmaWVkIGRhdGUvdGltZS5cbiIKICJcbiIKICIgICAgICAgICAgICAgIElmIHRoaXMgb3B0aW9uIGlzIHVzZWQgc2V2ZXJhbCB0aW1lcywgdGhlIGxhc3Qgb25lIHdpbGwgYmUgdXNlZC5cbiIKQEAgLTM1NDksNyArMzU3Nyw3IEBACiAsIHN0ZG91dCk7CiAgZnB1dHMoCiAiICAgICAgICAgICAgICAoU1NMKSBWRVJTSU9OIGRlZmluZXMgbWF4aW11bSBzdXBwb3J0ZWQgVExTIHZlcnNpb24uIFRoZSBtaW5pbXVtXG4iCi0iICAgICAgICAgICAgICBhY2NlcHRhYmxlICB2ZXJzaW9uICBpcyAgc2V0ICBieSAgdGxzdjEuMCwgIHRsc3YxLjEsICB0bHN2MS4yIG9yXG4iCisiICAgICAgICAgICAgICBhY2NlcHRhYmxlIHZlcnNpb24gIGlzICBzZXQgIGJ5ICB0bHN2MS4wLCAgdGxzdjEuMSwgIHRsc3YxLjIgIG9yXG4iCiAiICAgICAgICAgICAgICB0bHN2MS4zLlxuIgogIlxuIgogIiAgICAgICAgICAgICAgZGVmYXVsdFxuIgpAQCAtMzU2NiwxNyArMzU5NCwxNyBAQAogIiAgICAgICByZXF1aXJlcyB0aGF0IHRoZSB1bmRlcmx5aW5nIGxpYmN1cmwgd2FzIGJ1aWx0IHRvIHN1cHBvcnQgVExTLiBBZGRlZCBpblxuIgogIiAgICAgICA3LjU0LjAuXG4iCiAiXG4iCi0iICAgICAgIC0tdGxzMTMtY2lwaGVycyA8bGlzdCBvZiBUTFMgMS4zIGNpcGhlcnN1aXRlcz5cbiIKLSIgICAgICAgICAgICAgIChUTFMpIFNwZWNpZmllcyB3aGljaCBjaXBoZXIgc3VpdGVzIHRvIHVzZSBpbiB0aGUgY29ubmVjdGlvbiAgaWZcbiIKLSIgICAgICAgICAgICAgIGl0ICBuZWdvdGlhdGVzICBUTFMgMS4zLiBUaGUgbGlzdCBvZiBjaXBoZXJzIHN1aXRlcyBtdXN0IHNwZWNpZnlcbiIKLSIgICAgICAgICAgICAgIHZhbGlkIGNpcGhlcnMuIFJlYWQgdXAgb24gVExTIDEuMyBjaXBoZXIgc3VpdGUgZGV0YWlscyAgb24gIHRoaXNcbiIKKyIgICAgICAgLS10bHMxMy1jaXBoZXJzIDxjaXBoZXJzdWl0ZSBsaXN0PlxuIgorIiAgICAgICAgICAgICAgKFRMUykgIFNwZWNpZmllcyB3aGljaCBjaXBoZXIgc3VpdGVzIHRvIHVzZSBpbiB0aGUgY29ubmVjdGlvbiBpZlxuIgorIiAgICAgICAgICAgICAgaXQgbmVnb3RpYXRlcyBUTFMgMS4zLiBUaGUgbGlzdCBvZiBjaXBoZXJzIHN1aXRlcyAgbXVzdCAgc3BlY2lmeVxuIgorIiAgICAgICAgICAgICAgdmFsaWQgIGNpcGhlcnMuICBSZWFkIHVwIG9uIFRMUyAxLjMgY2lwaGVyIHN1aXRlIGRldGFpbHMgb24gdGhpc1xuIgogIiAgICAgICAgICAgICAgVVJMOlxuIgogIlxuIgogLCBzdGRvdXQpOwogIGZwdXRzKAogIiAgICAgICAgICAgICAgIGh0dHBzOi8vY3VybC5oYXh4LnNlL2RvY3Mvc3NsLWNpcGhlcnMuaHRtbFxuIgogIlxuIgotIiAgICAgICAgICAgICAgVGhpcyAgb3B0aW9uICBpcyAgY3VycmVudGx5ICB1c2VkIG9ubHkgd2hlbiBjdXJsIGlzIGJ1aWx0IHRvIHVzZVxuIgorIiAgICAgICAgICAgICAgVGhpcyBvcHRpb24gaXMgY3VycmVudGx5IHVzZWQgb25seSB3aGVuIGN1cmwgIGlzICBidWlsdCAgdG8gIHVzZVxuIgogIiAgICAgICAgICAgICAgT3BlblNTTCAxLjEuMSBvciBsYXRlci4gSWYgeW91IGFyZSB1c2luZyBhIGRpZmZlcmVudCBTU0wgYmFja2VuZFxuIgogIiAgICAgICAgICAgICAgeW91IGNhbiB0cnkgc2V0dGluZyBUTFMgMS4zIGNpcGhlciBzdWl0ZXMgYnkgdXNpbmcgdGhlIC0tY2lwaGVyc1xuIgogIiAgICAgICAgICAgICAgb3B0aW9uLlxuIgpAQCAtMzU4NiwxMSArMzYxNCwxMSBAQAogIiAgICAgICAtLXRsc2F1dGh0eXBlIDx0eXBlPlxuIgogLCBzdGRvdXQpOwogIGZwdXRzKAotIiAgICAgICAgICAgICAgU2V0IFRMUyBhdXRoZW50aWNhdGlvbiB0eXBlLiBDdXJyZW50bHksIHRoZSBvbmx5ICBzdXBwb3J0ZWQgIG9wLVxuIgorIiAgICAgICAgICAgICAgU2V0ICBUTFMgIGF1dGhlbnRpY2F0aW9uIHR5cGUuIEN1cnJlbnRseSwgdGhlIG9ubHkgc3VwcG9ydGVkIG9wLVxuIgogIiAgICAgICAgICAgICAgdGlvbiAgaXMgIFwiU1JQXCIsICBmb3IgIFRMUy1TUlAgIChSRkMgIDUwNTQpLiAgSWYgIC0tdGxzdXNlciAgYW5kXG4iCi0iICAgICAgICAgICAgICAtLXRsc3Bhc3N3b3JkIGFyZSBzcGVjaWZpZWQgYnV0IC0tdGxzYXV0aHR5cGUgaXMgbm90LCB0aGVuICB0aGlzXG4iCi0iICAgICAgICAgICAgICBvcHRpb24gIGRlZmF1bHRzIHRvIFwiU1JQXCIuICBUaGlzIG9wdGlvbiB3b3JrcyBvbmx5IGlmIHRoZSB1bmRlci1cbiIKLSIgICAgICAgICAgICAgIGx5aW5nIGxpYmN1cmwgaXMgYnVpbHQgIHdpdGggIFRMUy1TUlAgIHN1cHBvcnQsICB3aGljaCAgcmVxdWlyZXNcbiIKKyIgICAgICAgICAgICAgIC0tdGxzcGFzc3dvcmQgIGFyZSBzcGVjaWZpZWQgYnV0IC0tdGxzYXV0aHR5cGUgaXMgbm90LCB0aGVuIHRoaXNcbiIKKyIgICAgICAgICAgICAgIG9wdGlvbiBkZWZhdWx0cyB0byBcIlNSUFwiLiAgVGhpcyBvcHRpb24gd29ya3Mgb25seSBpZiB0aGUgIHVuZGVyLVxuIgorIiAgICAgICAgICAgICAgbHlpbmcgIGxpYmN1cmwgIGlzICBidWlsdCAgd2l0aCAgVExTLVNSUCBzdXBwb3J0LCB3aGljaCByZXF1aXJlc1xuIgogIiAgICAgICAgICAgICAgT3BlblNTTCBvciBHbnVUTFMgd2l0aCBUTFMtU1JQIHN1cHBvcnQuXG4iCiAiXG4iCiAiICAgICAgICAgICAgICBBZGRlZCBpbiA3LjIxLjQuXG4iCkBAIC0zNTk4LDE1ICszNjI2LDE1IEBACiAsIHN0ZG91dCk7CiAgZnB1dHMoCiAiICAgICAgIC0tdGxzcGFzc3dvcmRcbiIKLSIgICAgICAgICAgICAgIFNldCAgcGFzc3dvcmQgIGZvciB1c2Ugd2l0aCB0aGUgVExTIGF1dGhlbnRpY2F0aW9uIG1ldGhvZCBzcGVjaS1cbiIKKyIgICAgICAgICAgICAgIFNldCBwYXNzd29yZCBmb3IgdXNlIHdpdGggdGhlIFRMUyBhdXRoZW50aWNhdGlvbiAgbWV0aG9kICBzcGVjaS1cbiIKICIgICAgICAgICAgICAgIGZpZWQgd2l0aCAtLXRsc2F1dGh0eXBlLiBSZXF1aXJlcyB0aGF0IC0tdGxzdXNlciBhbHNvIGJlIHNldC5cbiIKICJcbiIKICIgICAgICAgICAgICAgIFRoaXMgZG9lc24ndCB3b3JrIHdpdGggVExTIDEuMy5cbiIKICJcbiIKICIgICAgICAgICAgICAgIEFkZGVkIGluIDcuMjEuNC5cbiIKICIgICAgICAgLS10bHN1c2VyIDxuYW1lPlxuIgotIiAgICAgICAgICAgICAgU2V0IHVzZXJuYW1lIGZvciB1c2Ugd2l0aCB0aGUgVExTIGF1dGhlbnRpY2F0aW9uICBtZXRob2QgIHNwZWNpLVxuIgotIiAgICAgICAgICAgICAgZmllZCAgd2l0aCAgLS10bHNhdXRodHlwZS4gIFJlcXVpcmVzICB0aGF0IC0tdGxzcGFzc3dvcmQgYWxzbyBpc1xuIgorIiAgICAgICAgICAgICAgU2V0ICB1c2VybmFtZSAgZm9yIHVzZSB3aXRoIHRoZSBUTFMgYXV0aGVudGljYXRpb24gbWV0aG9kIHNwZWNpLVxuIgorIiAgICAgICAgICAgICAgZmllZCB3aXRoIC0tdGxzYXV0aHR5cGUuIFJlcXVpcmVzICB0aGF0ICAtLXRsc3Bhc3N3b3JkICBhbHNvICBpc1xuIgogIiAgICAgICAgICAgICAgc2V0LlxuIgogIlxuIgogLCBzdGRvdXQpOwpAQCAtMzYxNiwxMSArMzY0NCwxMSBAQAogIiAgICAgICAgICAgICAgQWRkZWQgaW4gNy4yMS40LlxuIgogIlxuIgogIiAgICAgICAtLXRsc3YxLjBcbiIKLSIgICAgICAgICAgICAgIChUTFMpIEZvcmNlcyBjdXJsIHRvIHVzZSBUTFMgdmVyc2lvbiAxLjAgb3IgbGF0ZXIgd2hlbiAgY29ubmVjdC1cbiIKKyIgICAgICAgICAgICAgIChUTFMpICBGb3JjZXMgY3VybCB0byB1c2UgVExTIHZlcnNpb24gMS4wIG9yIGxhdGVyIHdoZW4gY29ubmVjdC1cbiIKICIgICAgICAgICAgICAgIGluZyB0byBhIHJlbW90ZSBUTFMgc2VydmVyLlxuIgogIlxuIgotIiAgICAgICAgICAgICAgSW4gIG9sZCAgdmVyc2lvbnMgIG9mICBjdXJsICB0aGlzIG9wdGlvbiB3YXMgZG9jdW1lbnRlZCB0byBhbGxvd1xuIgotIiAgICAgICAgICAgICAgX29ubHlfIFRMUyAxLjAsIGJ1dCBiZWhhdmlvciB3YXMgaW5jb25zaXN0ZW50IGRlcGVuZGluZyAgb24gIHRoZVxuIgorIiAgICAgICAgICAgICAgSW4gb2xkIHZlcnNpb25zIG9mIGN1cmwgdGhpcyAgb3B0aW9uICB3YXMgIGRvY3VtZW50ZWQgIHRvICBhbGxvd1xuIgorIiAgICAgICAgICAgICAgX29ubHlfICBUTFMgIDEuMCwgYnV0IGJlaGF2aW9yIHdhcyBpbmNvbnNpc3RlbnQgZGVwZW5kaW5nIG9uIHRoZVxuIgogIiAgICAgICAgICAgICAgVExTIGxpYnJhcnkuIFVzZSAtLXRscy1tYXggaWYgeW91IHdhbnQgdG8gc2V0IGEgbWF4aW11bSBUTFMgdmVyLVxuIgogIiAgICAgICAgICAgICAgc2lvbi5cbiIKICJcbiIKQEAgLTM2MjksMTEgKzM2NTcsMTEgQEAKICIgICAgICAgICAgICAgIEFkZGVkIGluIDcuMzQuMC5cbiIKICJcbiIKICIgICAgICAgLS10bHN2MS4xXG4iCi0iICAgICAgICAgICAgICAoVExTKSBGb3JjZXMgY3VybCB0byB1c2UgVExTIHZlcnNpb24gMS4xIG9yIGxhdGVyIHdoZW4gIGNvbm5lY3QtXG4iCisiICAgICAgICAgICAgICAoVExTKSAgRm9yY2VzIGN1cmwgdG8gdXNlIFRMUyB2ZXJzaW9uIDEuMSBvciBsYXRlciB3aGVuIGNvbm5lY3QtXG4iCiAiICAgICAgICAgICAgICBpbmcgdG8gYSByZW1vdGUgVExTIHNlcnZlci5cbiIKICJcbiIKLSIgICAgICAgICAgICAgIEluICBvbGQgIHZlcnNpb25zICBvZiAgY3VybCAgdGhpcyBvcHRpb24gd2FzIGRvY3VtZW50ZWQgdG8gYWxsb3dcbiIKLSIgICAgICAgICAgICAgIF9vbmx5XyBUTFMgMS4xLCBidXQgYmVoYXZpb3Igd2FzIGluY29uc2lzdGVudCBkZXBlbmRpbmcgIG9uICB0aGVcbiIKKyIgICAgICAgICAgICAgIEluIG9sZCB2ZXJzaW9ucyBvZiBjdXJsIHRoaXMgIG9wdGlvbiAgd2FzICBkb2N1bWVudGVkICB0byAgYWxsb3dcbiIKKyIgICAgICAgICAgICAgIF9vbmx5XyAgVExTICAxLjEsIGJ1dCBiZWhhdmlvciB3YXMgaW5jb25zaXN0ZW50IGRlcGVuZGluZyBvbiB0aGVcbiIKICIgICAgICAgICAgICAgIFRMUyBsaWJyYXJ5LiBVc2UgLS10bHMtbWF4IGlmIHlvdSB3YW50IHRvIHNldCBhIG1heGltdW0gVExTIHZlci1cbiIKICIgICAgICAgICAgICAgIHNpb24uXG4iCiAiXG4iCkBAIC0zNjQyLDExICszNjcwLDExIEBACiAiICAgICAgIC0tdGxzdjEuMlxuIgogLCBzdGRvdXQpOwogIGZwdXRzKAotIiAgICAgICAgICAgICAgKFRMUykgRm9yY2VzIGN1cmwgdG8gdXNlIFRMUyB2ZXJzaW9uIDEuMiBvciBsYXRlciB3aGVuICBjb25uZWN0LVxuIgorIiAgICAgICAgICAgICAgKFRMUykgIEZvcmNlcyBjdXJsIHRvIHVzZSBUTFMgdmVyc2lvbiAxLjIgb3IgbGF0ZXIgd2hlbiBjb25uZWN0LVxuIgogIiAgICAgICAgICAgICAgaW5nIHRvIGEgcmVtb3RlIFRMUyBzZXJ2ZXIuXG4iCiAiXG4iCi0iICAgICAgICAgICAgICBJbiAgb2xkICB2ZXJzaW9ucyAgb2YgIGN1cmwgIHRoaXMgb3B0aW9uIHdhcyBkb2N1bWVudGVkIHRvIGFsbG93XG4iCi0iICAgICAgICAgICAgICBfb25seV8gVExTIDEuMiwgYnV0IGJlaGF2aW9yIHdhcyBpbmNvbnNpc3RlbnQgZGVwZW5kaW5nICBvbiAgdGhlXG4iCisiICAgICAgICAgICAgICBJbiBvbGQgdmVyc2lvbnMgb2YgY3VybCB0aGlzICBvcHRpb24gIHdhcyAgZG9jdW1lbnRlZCAgdG8gIGFsbG93XG4iCisiICAgICAgICAgICAgICBfb25seV8gIFRMUyAgMS4yLCBidXQgYmVoYXZpb3Igd2FzIGluY29uc2lzdGVudCBkZXBlbmRpbmcgb24gdGhlXG4iCiAiICAgICAgICAgICAgICBUTFMgbGlicmFyeS4gVXNlIC0tdGxzLW1heCBpZiB5b3Ugd2FudCB0byBzZXQgYSBtYXhpbXVtIFRMUyB2ZXItXG4iCiAiICAgICAgICAgICAgICBzaW9uLlxuIgogIlxuIgpAQCAtMzY1NSw3ICszNjgzLDcgQEAKICIgICAgICAgLS10bHN2MS4zXG4iCiAsIHN0ZG91dCk7CiAgZnB1dHMoCi0iICAgICAgICAgICAgICAoVExTKSBGb3JjZXMgY3VybCB0byB1c2UgVExTIHZlcnNpb24gMS4zIG9yIGxhdGVyIHdoZW4gIGNvbm5lY3QtXG4iCisiICAgICAgICAgICAgICAoVExTKSAgRm9yY2VzIGN1cmwgdG8gdXNlIFRMUyB2ZXJzaW9uIDEuMyBvciBsYXRlciB3aGVuIGNvbm5lY3QtXG4iCiAiICAgICAgICAgICAgICBpbmcgdG8gYSByZW1vdGUgVExTIHNlcnZlci5cbiIKICJcbiIKICIgICAgICAgICAgICAgIE5vdGUgdGhhdCBUTFMgMS4zIGlzIG9ubHkgc3VwcG9ydGVkIGJ5IGEgc3Vic2V0IG9mIFRMUyBiYWNrZW5kcy5cbiIKQEAgLTM2NjUsMTkgKzM2OTMsMTkgQEAKICIgICAgICAgICAgICAgIEFkZGVkIGluIDcuNTIuMC5cbiIKICJcbiIKICIgICAgICAgLTEsIC0tdGxzdjFcbiIKLSIgICAgICAgICAgICAgIChTU0wpICBUZWxscyBjdXJsIHRvIHVzZSBhdCBsZWFzdCBUTFMgdmVyc2lvbiAxLnggd2hlbiBuZWdvdGlhdC1cbiIKKyIgICAgICAgICAgICAgIChTU0wpIFRlbGxzIGN1cmwgdG8gdXNlIGF0IGxlYXN0IFRMUyB2ZXJzaW9uIDEueCB3aGVuICBuZWdvdGlhdC1cbiIKICwgc3Rkb3V0KTsKICBmcHV0cygKLSIgICAgICAgICAgICAgIGluZyB3aXRoIGEgcmVtb3RlIFRMUyBzZXJ2ZXIuIFRoYXQgIG1lYW5zICBUTFMgIHZlcnNpb24gIDEuMCAgb3JcbiIKKyIgICAgICAgICAgICAgIGluZyAgd2l0aCAgYSAgcmVtb3RlICBUTFMgIHNlcnZlci4gVGhhdCBtZWFucyBUTFMgdmVyc2lvbiAxLjAgb3JcbiIKICIgICAgICAgICAgICAgIGhpZ2hlclxuIgogIlxuIgotIiAgICAgICAgICAgICAgU2VlICBhbHNvICAtLWh0dHAxLjEgIGFuZCAtLWh0dHAyLiAtMSwgLS10bHN2MSByZXF1aXJlcyB0aGF0IHRoZVxuIgotIiAgICAgICAgICAgICAgdW5kZXJseWluZyBsaWJjdXJsIHdhcyBidWlsdCB0byBzdXBwb3J0IFRMUy4gVGhpcyAgb3B0aW9uICBvdmVyLVxuIgorIiAgICAgICAgICAgICAgU2VlIGFsc28gLS1odHRwMS4xIGFuZCAtLWh0dHAyLiAtMSwgLS10bHN2MSAgcmVxdWlyZXMgIHRoYXQgIHRoZVxuIgorIiAgICAgICAgICAgICAgdW5kZXJseWluZyAgbGliY3VybCAgd2FzIGJ1aWx0IHRvIHN1cHBvcnQgVExTLiBUaGlzIG9wdGlvbiBvdmVyLVxuIgogIiAgICAgICAgICAgICAgcmlkZXMgLS10bHN2MS4xIGFuZCAtLXRsc3YxLjIgYW5kIC0tdGxzdjEuMy5cbiIKICJcbiIKICIgICAgICAgLS10ci1lbmNvZGluZ1xuIgogIiAgICAgICAgICAgICAgKEhUVFApIFJlcXVlc3QgYSBjb21wcmVzc2VkIFRyYW5zZmVyLUVuY29kaW5nIHJlc3BvbnNlIHVzaW5nIG9uZVxuIgotIiAgICAgICAgICAgICAgb2YgdGhlIGFsZ29yaXRobXMgY3VybCBzdXBwb3J0cywgYW5kIHVuY29tcHJlc3MgdGhlICBkYXRhICB3aGlsZVxuIgorIiAgICAgICAgICAgICAgb2YgIHRoZSAgYWxnb3JpdGhtcyBjdXJsIHN1cHBvcnRzLCBhbmQgdW5jb21wcmVzcyB0aGUgZGF0YSB3aGlsZVxuIgogLCBzdGRvdXQpOwogIGZwdXRzKAogIiAgICAgICAgICAgICAgcmVjZWl2aW5nIGl0LlxuIgpAQCAtMzY4NiwxMSArMzcxNCwxMSBAQAogIlxuIgogIiAgICAgICAtLXRyYWNlLWFzY2lpIDxmaWxlPlxuIgogIiAgICAgICAgICAgICAgRW5hYmxlcyBhIGZ1bGwgdHJhY2UgZHVtcCBvZiBhbGwgaW5jb21pbmcgYW5kIG91dGdvaW5nIGRhdGEsIGluLVxuIgotIiAgICAgICAgICAgICAgY2x1ZGluZyBkZXNjcmlwdGl2ZSBpbmZvcm1hdGlvbiwgdG8gdGhlIGdpdmVuIG91dHB1dCAgZmlsZS4gIFVzZVxuIgorIiAgICAgICAgICAgICAgY2x1ZGluZyAgZGVzY3JpcHRpdmUgIGluZm9ybWF0aW9uLCB0byB0aGUgZ2l2ZW4gb3V0cHV0IGZpbGUuIFVzZVxuIgogIiAgICAgICAgICAgICAgXCItXCIgYXMgZmlsZW5hbWUgdG8gaGF2ZSB0aGUgb3V0cHV0IHNlbnQgdG8gc3Rkb3V0LlxuIgogIlxuIgogIiAgICAgICAgICAgICAgVGhpcyBpcyB2ZXJ5IHNpbWlsYXIgdG8gLS10cmFjZSwgYnV0IGxlYXZlcyBvdXQgdGhlIGhleCBwYXJ0IGFuZFxuIgotIiAgICAgICAgICAgICAgb25seSBzaG93cyB0aGUgQVNDSUkgcGFydCBvZiB0aGUgZHVtcC4gSXQgbWFrZXMgIHNtYWxsZXIgIG91dHB1dFxuIgorIiAgICAgICAgICAgICAgb25seSAgc2hvd3MgIHRoZSBBU0NJSSBwYXJ0IG9mIHRoZSBkdW1wLiBJdCBtYWtlcyBzbWFsbGVyIG91dHB1dFxuIgogLCBzdGRvdXQpOwogIGZwdXRzKAogIiAgICAgICAgICAgICAgdGhhdCBtaWdodCBiZSBlYXNpZXIgdG8gcmVhZCBmb3IgdW50cmFpbmVkIGh1bWFucy5cbiIKQEAgLTM3MDAsNyArMzcyOCw3IEBACiAiICAgICAgICAgICAgICBUaGlzIG9wdGlvbiBvdmVycmlkZXMgLS10cmFjZSBhbmQgLXYsIC0tdmVyYm9zZS5cbiIKICJcbiIKICIgICAgICAgLS10cmFjZS10aW1lXG4iCi0iICAgICAgICAgICAgICBQcmVwZW5kcyAgYSAgdGltZSAgc3RhbXAgdG8gZWFjaCB0cmFjZSBvciB2ZXJib3NlIGxpbmUgdGhhdCBjdXJsXG4iCisiICAgICAgICAgICAgICBQcmVwZW5kcyBhIHRpbWUgc3RhbXAgdG8gZWFjaCB0cmFjZSBvciB2ZXJib3NlICBsaW5lICB0aGF0ICBjdXJsXG4iCiAiICAgICAgICAgICAgICBkaXNwbGF5cy5cbiIKICJcbiIKICIgICAgICAgICAgICAgIEFkZGVkIGluIDcuMTQuMC5cbiIKQEAgLTM3MDksOCArMzczNyw4IEBACiAiICAgICAgICAgICAgICBFbmFibGVzIGEgZnVsbCB0cmFjZSBkdW1wIG9mIGFsbCBpbmNvbWluZyBhbmQgb3V0Z29pbmcgZGF0YSwgaW4tXG4iCiAsIHN0ZG91dCk7CiAgZnB1dHMoCi0iICAgICAgICAgICAgICBjbHVkaW5nICBkZXNjcmlwdGl2ZSAgaW5mb3JtYXRpb24sIHRvIHRoZSBnaXZlbiBvdXRwdXQgZmlsZS4gVXNlXG4iCi0iICAgICAgICAgICAgICBcIi1cIiBhcyBmaWxlbmFtZSB0byBoYXZlIHRoZSBvdXRwdXQgc2VudCB0byBzdGRvdXQuICBVc2UgIFwiJVwiICBhc1xuIgorIiAgICAgICAgICAgICAgY2x1ZGluZyBkZXNjcmlwdGl2ZSBpbmZvcm1hdGlvbiwgdG8gdGhlIGdpdmVuIG91dHB1dCAgZmlsZS4gIFVzZVxuIgorIiAgICAgICAgICAgICAgXCItXCIgIGFzICBmaWxlbmFtZSAgdG8gaGF2ZSB0aGUgb3V0cHV0IHNlbnQgdG8gc3Rkb3V0LiBVc2UgXCIlXCIgYXNcbiIKICIgICAgICAgICAgICAgIGZpbGVuYW1lIHRvIGhhdmUgdGhlIG91dHB1dCBzZW50IHRvIHN0ZGVyci5cbiIKICJcbiIKICIgICAgICAgICAgICAgIElmIHRoaXMgb3B0aW9uIGlzIHVzZWQgc2V2ZXJhbCB0aW1lcywgdGhlIGxhc3Qgb25lIHdpbGwgYmUgdXNlZC5cbiIKQEAgLTM3MjYsMTAgKzM3NTQsMTAgQEAKICIgICAgICAgICAgICAgIEFkZGVkIGluIDcuNDAuMC5cbiIKICJcbiIKICIgICAgICAgLVQsIC0tdXBsb2FkLWZpbGUgPGZpbGU+XG4iCi0iICAgICAgICAgICAgICBUaGlzIHRyYW5zZmVycyB0aGUgc3BlY2lmaWVkIGxvY2FsIGZpbGUgdG8gdGhlICByZW1vdGUgIFVSTC4gIElmXG4iCisiICAgICAgICAgICAgICBUaGlzICB0cmFuc2ZlcnMgIHRoZSAgc3BlY2lmaWVkIGxvY2FsIGZpbGUgdG8gdGhlIHJlbW90ZSBVUkwuIElmXG4iCiAiICAgICAgICAgICAgICB0aGVyZSBpcyBubyBmaWxlIHBhcnQgaW4gdGhlIHNwZWNpZmllZCBVUkwsIGN1cmwgd2lsbCBhcHBlbmQgdGhlXG4iCiAiICAgICAgICAgICAgICBsb2NhbCBmaWxlIG5hbWUuIE5PVEUgdGhhdCB5b3UgbXVzdCB1c2UgYSB0cmFpbGluZyAvIG9uIHRoZSBsYXN0XG4iCi0iICAgICAgICAgICAgICBkaXJlY3RvcnkgIHRvIHJlYWxseSBwcm92ZSB0byBDdXJsIHRoYXQgdGhlcmUgaXMgbm8gZmlsZSBuYW1lIG9yXG4iCisiICAgICAgICAgICAgICBkaXJlY3RvcnkgdG8gcmVhbGx5IHByb3ZlIHRvIEN1cmwgdGhhdCB0aGVyZSBpcyBubyBmaWxlIG5hbWUgIG9yXG4iCiAiICAgICAgICAgICAgICBjdXJsIHdpbGwgdGhpbmsgdGhhdCB5b3VyIGxhc3QgZGlyZWN0b3J5IG5hbWUgaXMgdGhlIHJlbW90ZSBmaWxlXG4iCiAsIHN0ZG91dCk7CiAgZnB1dHMoCkBAIC0zNzM3LDE5ICszNzY1LDE5IEBACiAiICAgICAgICAgICAgICBmYWlsLiBJZiB0aGlzIGlzIHVzZWQgb24gYW4gSFRUUChTKSBzZXJ2ZXIsIHRoZSBQVVQgY29tbWFuZCB3aWxsXG4iCiAiICAgICAgICAgICAgICBiZSB1c2VkLlxuIgogIlxuIgotIiAgICAgICAgICAgICAgVXNlICB0aGUgZmlsZSBuYW1lIFwiLVwiIChhIHNpbmdsZSBkYXNoKSB0byB1c2Ugc3RkaW4gaW5zdGVhZCBvZiBhXG4iCi0iICAgICAgICAgICAgICBnaXZlbiBmaWxlLiAgQWx0ZXJuYXRlbHksIHRoZSBmaWxlIG5hbWUgXCIuXCIgIChhICBzaW5nbGUgIHBlcmlvZClcbiIKLSIgICAgICAgICAgICAgIG1heSAgYmUgIHNwZWNpZmllZCAgaW5zdGVhZCAgb2YgXCItXCIgdG8gdXNlIHN0ZGluIGluIG5vbi1ibG9ja2luZ1xuIgotIiAgICAgICAgICAgICAgbW9kZSB0byBhbGxvdyByZWFkaW5nIHNlcnZlciBvdXRwdXQgd2hpbGUgIHN0ZGluICBpcyAgYmVpbmcgIHVwLVxuIgorIiAgICAgICAgICAgICAgVXNlIHRoZSBmaWxlIG5hbWUgXCItXCIgKGEgc2luZ2xlIGRhc2gpIHRvIHVzZSBzdGRpbiBpbnN0ZWFkIG9mICBhXG4iCisiICAgICAgICAgICAgICBnaXZlbiAgZmlsZS4gICBBbHRlcm5hdGVseSwgIHRoZSBmaWxlIG5hbWUgXCIuXCIgKGEgc2luZ2xlIHBlcmlvZClcbiIKKyIgICAgICAgICAgICAgIG1heSBiZSBzcGVjaWZpZWQgaW5zdGVhZCBvZiBcIi1cIiB0byAgdXNlICBzdGRpbiAgaW4gIG5vbi1ibG9ja2luZ1xuIgorIiAgICAgICAgICAgICAgbW9kZSAgdG8gIGFsbG93ICByZWFkaW5nICBzZXJ2ZXIgb3V0cHV0IHdoaWxlIHN0ZGluIGlzIGJlaW5nIHVwLVxuIgogLCBzdGRvdXQpOwogIGZwdXRzKAogIiAgICAgICAgICAgICAgbG9hZGVkLlxuIgogIlxuIgotIiAgICAgICAgICAgICAgWW91ICBjYW4gIHNwZWNpZnkgb25lIC1ULCAtLXVwbG9hZC1maWxlIGZvciBlYWNoIFVSTCBvbiB0aGUgY29tLVxuIgotIiAgICAgICAgICAgICAgbWFuZCBsaW5lLiBFYWNoIC1ULCAtLXVwbG9hZC1maWxlICsgVVJMIHBhaXIgc3BlY2lmaWVzICB3aGF0ICB0b1xuIgotIiAgICAgICAgICAgICAgdXBsb2FkICBhbmQgIHRvICB3aGVyZS4gY3VybCBhbHNvIHN1cHBvcnRzIFwiZ2xvYmJpbmdcIiBvZiB0aGUgLVQsXG4iCi0iICAgICAgICAgICAgICAtLXVwbG9hZC1maWxlIGFyZ3VtZW50LCBtZWFuaW5nIHRoYXQgIHlvdSAgY2FuICB1cGxvYWQgIG11bHRpcGxlXG4iCi0iICAgICAgICAgICAgICBmaWxlcyAgdG8gYSBzaW5nbGUgVVJMIGJ5IHVzaW5nIHRoZSBzYW1lIFVSTCBnbG9iYmluZyBzdHlsZSBzdXAtXG4iCisiICAgICAgICAgICAgICBZb3UgY2FuIHNwZWNpZnkgb25lIC1ULCAtLXVwbG9hZC1maWxlIGZvciBlYWNoIFVSTCBvbiAgdGhlICBjb20tXG4iCisiICAgICAgICAgICAgICBtYW5kICBsaW5lLiAgRWFjaCAtVCwgLS11cGxvYWQtZmlsZSArIFVSTCBwYWlyIHNwZWNpZmllcyB3aGF0IHRvXG4iCisiICAgICAgICAgICAgICB1cGxvYWQgYW5kIHRvIHdoZXJlLiBjdXJsIGFsc28gc3VwcG9ydHMgXCJnbG9iYmluZ1wiICBvZiAgdGhlICAtVCxcbiIKKyIgICAgICAgICAgICAgIC0tdXBsb2FkLWZpbGUgIGFyZ3VtZW50LCAgbWVhbmluZyAgdGhhdCAgeW91IGNhbiB1cGxvYWQgbXVsdGlwbGVcbiIKKyIgICAgICAgICAgICAgIGZpbGVzIHRvIGEgc2luZ2xlIFVSTCBieSB1c2luZyB0aGUgc2FtZSBVUkwgZ2xvYmJpbmcgc3R5bGUgIHN1cC1cbiIKICIgICAgICAgICAgICAgIHBvcnRlZCBpbiB0aGUgVVJMLCBsaWtlIHRoaXM6XG4iCiAiXG4iCiAsIHN0ZG91dCk7CkBAIC0zNzYwLDE2NyArMzc4OCwyMDEgQEAKICJcbiIKICIgICAgICAgICAgICAgICBjdXJsIC1UIFwiaW1nWzEtMTAwMF0ucG5nXCIgZnRwOi8vZnRwLmV4YW1wbGUuY29tL3VwbG9hZC9cbiIKICJcbiIKLSIgICAgICAgICAgICAgIFdoZW4gdXBsb2FkaW5nIHRvIGFuIFNNVFAgc2VydmVyOiB0aGUgdXBsb2FkZWQgZGF0YSAgaXMgIGFzc3VtZWRcbiIKKyIgICAgICAgICAgICAgIFdoZW4gIHVwbG9hZGluZyAgdG8gYW4gU01UUCBzZXJ2ZXI6IHRoZSB1cGxvYWRlZCBkYXRhIGlzIGFzc3VtZWRcbiIKICIgICAgICAgICAgICAgIHRvIGJlIFJGQyA1MzIyIGZvcm1hdHRlZC4gSXQgaGFzIHRvIGZlYXR1cmUgdGhlIG5lY2Vzc2FyeSBzZXQgb2ZcbiIKLSIgICAgICAgICAgICAgIGhlYWRlcnMgYW5kIG1haWwgYm9keSBmb3JtYXR0ZWQgY29ycmVjdGx5IGJ5IHRoZSAgdXNlciAgYXMgIGN1cmxcbiIKKyIgICAgICAgICAgICAgIGhlYWRlcnMgIGFuZCAgbWFpbCAgYm9keSBmb3JtYXR0ZWQgY29ycmVjdGx5IGJ5IHRoZSB1c2VyIGFzIGN1cmxcbiIKICIgICAgICAgICAgICAgIHdpbGwgbm90IHRyYW5zY29kZSBub3IgZW5jb2RlIGl0IGZ1cnRoZXIgaW4gYW55IHdheS5cbiIKICJcbiIKICIgICAgICAgLS11cmwgPHVybD5cbiIKICwgc3Rkb3V0KTsKICBmcHV0cygKLSIgICAgICAgICAgICAgIFNwZWNpZnkgIGEgIFVSTCAgdG8gIGZldGNoLiBUaGlzIG9wdGlvbiBpcyBtb3N0bHkgaGFuZHkgd2hlbiB5b3VcbiIKKyIgICAgICAgICAgICAgIFNwZWNpZnkgYSBVUkwgdG8gZmV0Y2guIFRoaXMgb3B0aW9uIGlzICBtb3N0bHkgIGhhbmR5ICB3aGVuICB5b3VcbiIKICIgICAgICAgICAgICAgIHdhbnQgdG8gc3BlY2lmeSBVUkwocykgaW4gYSBjb25maWcgZmlsZS5cbiIKICJcbiIKLSIgICAgICAgICAgICAgIElmIHRoZSBnaXZlbiBVUkwgaXMgbWlzc2luZyBhIHNjaGVtZSBuYW1lIChzdWNoIGFzIFwiaHR0cDovL1wiICBvclxuIgotIiAgICAgICAgICAgICAgXCJmdHA6Ly9cIiAgZXRjKSB0aGVuIGN1cmwgd2lsbCBtYWtlIGEgZ3Vlc3MgYmFzZWQgb24gdGhlIGhvc3QuIElmXG4iCi0iICAgICAgICAgICAgICB0aGUgb3V0ZXJtb3N0IHN1Yi1kb21haW4gbmFtZSBtYXRjaGVzICBESUNULCAgRlRQLCAgSU1BUCwgIExEQVAsXG4iCi0iICAgICAgICAgICAgICBQT1AzICBvciAgU01UUCAgdGhlbiAgdGhhdCBwcm90b2NvbCB3aWxsIGJlIHVzZWQsIG90aGVyd2lzZSBIVFRQXG4iCisiICAgICAgICAgICAgICBJZiAgdGhlIGdpdmVuIFVSTCBpcyBtaXNzaW5nIGEgc2NoZW1lIG5hbWUgKHN1Y2ggYXMgXCJodHRwOi8vXCIgb3JcbiIKKyIgICAgICAgICAgICAgIFwiZnRwOi8vXCIgZXRjKSB0aGVuIGN1cmwgd2lsbCBtYWtlIGEgZ3Vlc3MgYmFzZWQgb24gdGhlIGhvc3QuICBJZlxuIgorIiAgICAgICAgICAgICAgdGhlICBvdXRlcm1vc3QgIHN1Yi1kb21haW4gIG5hbWUgIG1hdGNoZXMgRElDVCwgRlRQLCBJTUFQLCBMREFQLFxuIgorIiAgICAgICAgICAgICAgUE9QMyBvciBTTVRQIHRoZW4gdGhhdCBwcm90b2NvbCB3aWxsICBiZSAgdXNlZCwgIG90aGVyd2lzZSAgSFRUUFxuIgogLCBzdGRvdXQpOwogIGZwdXRzKAogIiAgICAgICAgICAgICAgd2lsbCBiZSB1c2VkLiBTaW5jZSA3LjQ1LjAgZ3Vlc3NpbmcgY2FuIGJlIGRpc2FibGVkIGJ5IHNldHRpbmcgYVxuIgogIiAgICAgICAgICAgICAgZGVmYXVsdCBwcm90b2NvbCwgc2VlIC0tcHJvdG8tZGVmYXVsdCBmb3IgZGV0YWlscy5cbiIKICJcbiIKLSIgICAgICAgICAgICAgIFRoaXMgIG9wdGlvbiAgbWF5ICBiZSB1c2VkIGFueSBudW1iZXIgb2YgdGltZXMuIFRvIGNvbnRyb2wgd2hlcmVcbiIKLSIgICAgICAgICAgICAgIHRoaXMgVVJMIGlzIHdyaXR0ZW4sIHVzZSB0aGUgLW8sIC0tb3V0cHV0IG9yIHRoZSAgLU8sICAtLXJlbW90ZS1cbiIKKyIgICAgICAgICAgICAgIFRoaXMgb3B0aW9uIG1heSBiZSB1c2VkIGFueSBudW1iZXIgb2YgdGltZXMuICBUbyAgY29udHJvbCAgd2hlcmVcbiIKKyIgICAgICAgICAgICAgIHRoaXMgIFVSTCAgaXMgd3JpdHRlbiwgdXNlIHRoZSAtbywgLS1vdXRwdXQgb3IgdGhlIC1PLCAtLXJlbW90ZS1cbiIKICIgICAgICAgICAgICAgIG5hbWUgb3B0aW9ucy5cbiIKICJcbiIKLSIgICAgICAgICAgICAgIFdhcm5pbmc6ICBPbiAgV2luZG93cywgIHBhcnRpY3VsYXIgIGZpbGU6Ly8gYWNjZXNzZXMgY2FuIGJlIGNvbi1cbiIKKyIgICAgICAgICAgICAgIFdhcm5pbmc6IE9uIFdpbmRvd3MsIHBhcnRpY3VsYXIgZmlsZTovLyAgYWNjZXNzZXMgIGNhbiAgYmUgIGNvbi1cbiIKICIgICAgICAgICAgICAgIHZlcnRlZCB0byBuZXR3b3JrIGFjY2Vzc2VzIGJ5IHRoZSBvcGVyYXRpbmcgc3lzdGVtLiBCZXdhcmUhXG4iCiAiXG4iCiAsIHN0ZG91dCk7CiAgZnB1dHMoCiAiICAgICAgIC1CLCAtLXVzZS1hc2NpaVxuIgotIiAgICAgICAgICAgICAgKEZUUCBMREFQKSBFbmFibGUgQVNDSUkgdHJhbnNmZXIuIEZvciBGVFAsIHRoaXMgY2FuIGFsc28gYmUgIGVuLVxuIgotIiAgICAgICAgICAgICAgZm9yY2VkICBieSAgdXNpbmcgIGEgIFVSTCAgdGhhdCBlbmRzIHdpdGggXCI7dHlwZT1BXCIuIFRoaXMgb3B0aW9uXG4iCisiICAgICAgICAgICAgICAoRlRQICBMREFQKSBFbmFibGUgQVNDSUkgdHJhbnNmZXIuIEZvciBGVFAsIHRoaXMgY2FuIGFsc28gYmUgZW4tXG4iCisiICAgICAgICAgICAgICBmb3JjZWQgYnkgdXNpbmcgYSBVUkwgdGhhdCAgZW5kcyAgd2l0aCAgXCI7dHlwZT1BXCIuICBUaGlzICBvcHRpb25cbiIKICIgICAgICAgICAgICAgIGNhdXNlcyBkYXRhIHNlbnQgdG8gc3Rkb3V0IHRvIGJlIGluIHRleHQgbW9kZSBmb3Igd2luMzIgc3lzdGVtcy5cbiIKICJcbiIKICIgICAgICAgLUEsIC0tdXNlci1hZ2VudCA8bmFtZT5cbiIKICIgICAgICAgICAgICAgIChIVFRQKSBTcGVjaWZ5IHRoZSBVc2VyLUFnZW50IHN0cmluZyB0byBzZW5kIHRvIHRoZSBIVFRQIHNlcnZlci5cbiIKLSIgICAgICAgICAgICAgIFRvICBlbmNvZGUgYmxhbmtzIGluIHRoZSBzdHJpbmcsIHN1cnJvdW5kIHRoZSBzdHJpbmcgd2l0aCBzaW5nbGVcbiIKKyIgICAgICAgICAgICAgIFRvIGVuY29kZSBibGFua3MgaW4gdGhlIHN0cmluZywgc3Vycm91bmQgdGhlIHN0cmluZyB3aXRoICBzaW5nbGVcbiIKICwgc3Rkb3V0KTsKICBmcHV0cygKLSIgICAgICAgICAgICAgIHF1b3RlIG1hcmtzLiBUaGlzIGhlYWRlciBjYW4gYWxzbyBiZSBzZXQgd2l0aCB0aGUgIC1ILCAgLS1oZWFkZXJcbiIKKyIgICAgICAgICAgICAgIHF1b3RlICBtYXJrcy4gIFRoaXMgaGVhZGVyIGNhbiBhbHNvIGJlIHNldCB3aXRoIHRoZSAtSCwgLS1oZWFkZXJcbiIKICIgICAgICAgICAgICAgIG9yIHRoZSAtLXByb3h5LWhlYWRlciBvcHRpb25zLlxuIgogIlxuIgorIiAgICAgICAgICAgICAgSWYgeW91IGdpdmUgYW4gZW1wdHkgYXJndW1lbnQgdG8gLUEsIC0tdXNlci1hZ2VudCAoXCJcIiksIGl0ICB3aWxsXG4iCisiICAgICAgICAgICAgICByZW1vdmUgIHRoZSAgaGVhZGVyIGNvbXBsZXRlbHkgZnJvbSB0aGUgcmVxdWVzdC4gSWYgeW91IHByZWZlciBhXG4iCisiICAgICAgICAgICAgICBibGFuayBoZWFkZXIsIHlvdSBjYW4gc2V0IGl0IHRvIGEgc2luZ2xlIHNwYWNlIChcIiBcIikuXG4iCisiXG4iCiAiICAgICAgICAgICAgICBJZiB0aGlzIG9wdGlvbiBpcyB1c2VkIHNldmVyYWwgdGltZXMsIHRoZSBsYXN0IG9uZSB3aWxsIGJlIHVzZWQuXG4iCiAiXG4iCiAiICAgICAgIC11LCAtLXVzZXIgPHVzZXI6cGFzc3dvcmQ+XG4iCissIHN0ZG91dCk7CisgZnB1dHMoCiAiICAgICAgICAgICAgICBTcGVjaWZ5IHRoZSB1c2VyIG5hbWUgYW5kIHBhc3N3b3JkIHRvIHVzZSBmb3Igc2VydmVyIGF1dGhlbnRpY2EtXG4iCiAiICAgICAgICAgICAgICB0aW9uLiBPdmVycmlkZXMgLW4sIC0tbmV0cmMgYW5kIC0tbmV0cmMtb3B0aW9uYWwuXG4iCiAiXG4iCi0iICAgICAgICAgICAgICBJZiB5b3Ugc2ltcGx5IHNwZWNpZnkgdGhlIHVzZXIgbmFtZSwgIGN1cmwgIHdpbGwgIHByb21wdCAgZm9yICBhXG4iCisiICAgICAgICAgICAgICBJZiAgeW91ICBzaW1wbHkgIHNwZWNpZnkgIHRoZSAgdXNlciBuYW1lLCBjdXJsIHdpbGwgcHJvbXB0IGZvciBhXG4iCiAiICAgICAgICAgICAgICBwYXNzd29yZC5cbiIKICJcbiIKLSwgc3Rkb3V0KTsKLSBmcHV0cygKLSIgICAgICAgICAgICAgIFRoZSAgdXNlciAgbmFtZSAgYW5kICBwYXNzd29yZHMgYXJlIHNwbGl0IHVwIG9uIHRoZSBmaXJzdCBjb2xvbixcbiIKLSIgICAgICAgICAgICAgIHdoaWNoIG1ha2VzIGl0IGltcG9zc2libGUgdG8gdXNlIGEgY29sb24gaW4gdGhlIHVzZXIgIG5hbWUgIHdpdGhcbiIKKyIgICAgICAgICAgICAgIFRoZSB1c2VyIG5hbWUgYW5kIHBhc3N3b3JkcyBhcmUgc3BsaXQgdXAgIG9uICB0aGUgIGZpcnN0ICBjb2xvbixcbiIKKyIgICAgICAgICAgICAgIHdoaWNoICBtYWtlcyAgaXQgaW1wb3NzaWJsZSB0byB1c2UgYSBjb2xvbiBpbiB0aGUgdXNlciBuYW1lIHdpdGhcbiIKICIgICAgICAgICAgICAgIHRoaXMgb3B0aW9uLiBUaGUgcGFzc3dvcmQgY2FuLCBzdGlsbC5cbiIKICJcbiIKLSIgICAgICAgICAgICAgIE9uIHN5c3RlbXMgd2hlcmUgaXQgd29ya3MsIGN1cmwgd2lsbCBoaWRlIHRoZSBnaXZlbiBvcHRpb24gYXJndS1cbiIKLSIgICAgICAgICAgICAgIG1lbnQgZnJvbSBwcm9jZXNzIGxpc3RpbmdzLiBUaGlzIGlzIG5vdCBlbm91Z2ggdG8gIHByb3RlY3QgIGNyZS1cbiIKLSIgICAgICAgICAgICAgIGRlbnRpYWxzICBmcm9tICBwb3NzaWJseSBnZXR0aW5nIHNlZW4gYnkgb3RoZXIgdXNlcnMgb24gdGhlIHNhbWVcbiIKICwgc3Rkb3V0KTsKICBmcHV0cygKLSIgICAgICAgICAgICAgIHN5c3RlbSBhcyB0aGV5IHdpbGwgc3RpbGwgYmUgdmlzaWJsZSBmb3IgYSBicmllZiAgbW9tZW50ICBiZWZvcmVcbiIKKyIgICAgICAgICAgICAgIE9uIHN5c3RlbXMgd2hlcmUgaXQgd29ya3MsIGN1cmwgd2lsbCBoaWRlIHRoZSBnaXZlbiBvcHRpb24gYXJndS1cbiIKKyIgICAgICAgICAgICAgIG1lbnQgIGZyb20gIHByb2Nlc3MgbGlzdGluZ3MuIFRoaXMgaXMgbm90IGVub3VnaCB0byBwcm90ZWN0IGNyZS1cbiIKKyIgICAgICAgICAgICAgIGRlbnRpYWxzIGZyb20gcG9zc2libHkgZ2V0dGluZyBzZWVuIGJ5IG90aGVyIHVzZXJzIG9uICB0aGUgIHNhbWVcbiIKKyIgICAgICAgICAgICAgIHN5c3RlbSAgYXMgIHRoZXkgd2lsbCBzdGlsbCBiZSB2aXNpYmxlIGZvciBhIGJyaWVmIG1vbWVudCBiZWZvcmVcbiIKICIgICAgICAgICAgICAgIGNsZWFyZWQuIFN1Y2ggc2Vuc2l0aXZlIGRhdGEgc2hvdWxkIGJlIHJldHJpZXZlZCBmcm9tIGEgZmlsZSBpbi1cbiIKICIgICAgICAgICAgICAgIHN0ZWFkIG9yIHNpbWlsYXIgYW5kIG5ldmVyIHVzZWQgaW4gY2xlYXIgdGV4dCBpbiBhIGNvbW1hbmQgbGluZS5cbiIKLSIgICAgICAgICAgICAgIFdoZW4gdXNpbmcgS2VyYmVyb3MgVjUgd2l0aCBhIFdpbmRvd3MgYmFzZWQgIHNlcnZlciAgeW91ICBzaG91bGRcbiIKLSIgICAgICAgICAgICAgIGluY2x1ZGUgIHRoZSAgV2luZG93cyBkb21haW4gbmFtZSBpbiB0aGUgdXNlciBuYW1lLCBpbiBvcmRlciBmb3JcbiIKLSIgICAgICAgICAgICAgIHRoZSBzZXJ2ZXIgdG8gc3VjY2Vzc2Z1bGx5IG9idGFpbiAgYSAgS2VyYmVyb3MgIFRpY2tldC4gIElmICB5b3VcbiIKICwgc3Rkb3V0KTsKICBmcHV0cygKKyIgICAgICAgICAgICAgIFdoZW4gIHVzaW5nICBLZXJiZXJvcyAgVjUgd2l0aCBhIFdpbmRvd3MgYmFzZWQgc2VydmVyIHlvdSBzaG91bGRcbiIKKyIgICAgICAgICAgICAgIGluY2x1ZGUgdGhlIFdpbmRvd3MgZG9tYWluIG5hbWUgaW4gdGhlIHVzZXIgbmFtZSwgaW4gIG9yZGVyICBmb3JcbiIKKyIgICAgICAgICAgICAgIHRoZSAgc2VydmVyICB0byAgc3VjY2Vzc2Z1bGx5ICBvYnRhaW4gIGEgS2VyYmVyb3MgVGlja2V0LiBJZiB5b3VcbiIKICIgICAgICAgICAgICAgIGRvbid0IHRoZW4gdGhlIGluaXRpYWwgYXV0aGVudGljYXRpb24gaGFuZHNoYWtlIG1heSBmYWlsLlxuIgogIlxuIgotIiAgICAgICAgICAgICAgV2hlbiAgdXNpbmcgIE5UTE0sICB0aGUgdXNlciBuYW1lIGNhbiBiZSBzcGVjaWZpZWQgc2ltcGx5IGFzIHRoZVxuIgotIiAgICAgICAgICAgICAgdXNlciBuYW1lLCB3aXRob3V0IHRoZSBkb21haW4sIGlmIHRoZXJlIGlzIGEgc2luZ2xlICBkb21haW4gIGFuZFxuIgorIiAgICAgICAgICAgICAgV2hlbiB1c2luZyBOVExNLCB0aGUgdXNlciBuYW1lIGNhbiBiZSBzcGVjaWZpZWQgIHNpbXBseSAgYXMgIHRoZVxuIgorIiAgICAgICAgICAgICAgdXNlciAgbmFtZSwgIHdpdGhvdXQgdGhlIGRvbWFpbiwgaWYgdGhlcmUgaXMgYSBzaW5nbGUgZG9tYWluIGFuZFxuIgorLCBzdGRvdXQpOworIGZwdXRzKAogIiAgICAgICAgICAgICAgZm9yZXN0IGluIHlvdXIgc2V0dXAgZm9yIGV4YW1wbGUuXG4iCiAiXG4iCi0iICAgICAgICAgICAgICBUbyAgc3BlY2lmeSAgdGhlIGRvbWFpbiBuYW1lIHVzZSBlaXRoZXIgRG93bi1MZXZlbCBMb2dvbiBOYW1lIG9yXG4iCisiICAgICAgICAgICAgICBUbyBzcGVjaWZ5IHRoZSBkb21haW4gbmFtZSB1c2UgZWl0aGVyIERvd24tTGV2ZWwgTG9nb24gIE5hbWUgIG9yXG4iCiAiICAgICAgICAgICAgICBVUE4gKFVzZXIgUHJpbmNpcGFsIE5hbWUpIGZvcm1hdHMuIEZvciBleGFtcGxlLCBFWEFNUExFXFx1c2VyIGFuZFxuIgogIiAgICAgICAgICAgICAgdXNlckBleGFtcGxlLmNvbSByZXNwZWN0aXZlbHkuXG4iCiAiXG4iCisiICAgICAgICAgICAgICBJZiB5b3UgdXNlIGEgV2luZG93cyBTU1BJLWVuYWJsZWQgY3VybCBiaW5hcnkgYW5kICBwZXJmb3JtICBLZXItXG4iCisiICAgICAgICAgICAgICBiZXJvcyAgVjUsIE5lZ290aWF0ZSwgTlRMTSBvciBEaWdlc3QgYXV0aGVudGljYXRpb24gdGhlbiB5b3UgY2FuXG4iCisiICAgICAgICAgICAgICB0ZWxsIGN1cmwgdG8gc2VsZWN0IHRoZSB1c2VyIG5hbWUgYW5kIHBhc3N3b3JkIGZyb20gIHlvdXIgIGVudmktXG4iCiAsIHN0ZG91dCk7CiAgZnB1dHMoCi0iICAgICAgICAgICAgICBJZiAgeW91ICB1c2UgYSBXaW5kb3dzIFNTUEktZW5hYmxlZCBjdXJsIGJpbmFyeSBhbmQgcGVyZm9ybSBLZXItXG4iCi0iICAgICAgICAgICAgICBiZXJvcyBWNSwgTmVnb3RpYXRlLCBOVExNIG9yIERpZ2VzdCBhdXRoZW50aWNhdGlvbiB0aGVuIHlvdSAgY2FuXG4iCi0iICAgICAgICAgICAgICB0ZWxsICBjdXJsICB0byBzZWxlY3QgdGhlIHVzZXIgbmFtZSBhbmQgcGFzc3dvcmQgZnJvbSB5b3VyIGVudmktXG4iCiAiICAgICAgICAgICAgICByb25tZW50IGJ5IHNwZWNpZnlpbmcgYSBzaW5nbGUgY29sb24gd2l0aCB0aGlzIG9wdGlvbjogXCItdSA6XCIuXG4iCiAiXG4iCiAiICAgICAgICAgICAgICBJZiB0aGlzIG9wdGlvbiBpcyB1c2VkIHNldmVyYWwgdGltZXMsIHRoZSBsYXN0IG9uZSB3aWxsIGJlIHVzZWQuXG4iCiAiXG4iCiAiICAgICAgIC12LCAtLXZlcmJvc2VcbiIKLSIgICAgICAgICAgICAgIE1ha2VzIGN1cmwgdmVyYm9zZSBkdXJpbmcgdGhlIG9wZXJhdGlvbi4gIFVzZWZ1bCAgZm9yICBkZWJ1Z2dpbmdcbiIKKyIgICAgICAgICAgICAgIE1ha2VzICBjdXJsICB2ZXJib3NlICBkdXJpbmcgdGhlIG9wZXJhdGlvbi4gVXNlZnVsIGZvciBkZWJ1Z2dpbmdcbiIKKyIgICAgICAgICAgICAgIGFuZCBzZWVpbmcgd2hhdCdzIGdvaW5nIG9uIFwidW5kZXIgdGhlICBob29kXCIuICBBICBsaW5lICBzdGFydGluZ1xuIgorIiAgICAgICAgICAgICAgd2l0aCAgJz4nICBtZWFucyAgXCJoZWFkZXIgIGRhdGFcIiBzZW50IGJ5IGN1cmwsICc8JyBtZWFucyBcImhlYWRlclxuIgorIiAgICAgICAgICAgICAgZGF0YVwiIHJlY2VpdmVkIGJ5IGN1cmwgdGhhdCBpcyBoaWRkZW4gaW4gIG5vcm1hbCAgY2FzZXMsICBhbmQgIGFcbiIKICwgc3Rkb3V0KTsKICBmcHV0cygKLSIgICAgICAgICAgICAgIGFuZCAgc2VlaW5nICB3aGF0J3MgIGdvaW5nICBvbiBcInVuZGVyIHRoZSBob29kXCIuIEEgbGluZSBzdGFydGluZ1xuIgotIiAgICAgICAgICAgICAgd2l0aCAnPicgbWVhbnMgXCJoZWFkZXIgZGF0YVwiIHNlbnQgYnkgIGN1cmwsICAnPCcgIG1lYW5zICBcImhlYWRlclxuIgotIiAgICAgICAgICAgICAgZGF0YVwiICByZWNlaXZlZCAgYnkgIGN1cmwgIHRoYXQgaXMgaGlkZGVuIGluIG5vcm1hbCBjYXNlcywgYW5kIGFcbiIKICIgICAgICAgICAgICAgIGxpbmUgc3RhcnRpbmcgd2l0aCAnKicgbWVhbnMgYWRkaXRpb25hbCBpbmZvIHByb3ZpZGVkIGJ5IGN1cmwuXG4iCiAiXG4iCiAiICAgICAgICAgICAgICBJZiB5b3Ugb25seSB3YW50IEhUVFAgaGVhZGVycyBpbiB0aGUgb3V0cHV0LCAtaSwgLS1pbmNsdWRlIG1pZ2h0XG4iCiAiICAgICAgICAgICAgICBiZSB0aGUgb3B0aW9uIHlvdSdyZSBsb29raW5nIGZvci5cbiIKICJcbiIKLSwgc3Rkb3V0KTsKLSBmcHV0cygKLSIgICAgICAgICAgICAgIElmICB5b3UgdGhpbmsgdGhpcyBvcHRpb24gc3RpbGwgZG9lc24ndCBnaXZlIHlvdSBlbm91Z2ggZGV0YWlscyxcbiIKKyIgICAgICAgICAgICAgIElmIHlvdSB0aGluayB0aGlzIG9wdGlvbiBzdGlsbCBkb2Vzbid0IGdpdmUgeW91IGVub3VnaCAgZGV0YWlscyxcbiIKICIgICAgICAgICAgICAgIGNvbnNpZGVyIHVzaW5nIC0tdHJhY2Ugb3IgLS10cmFjZS1hc2NpaSBpbnN0ZWFkLlxuIgogIlxuIgogIiAgICAgICAgICAgICAgVXNlIC1zLCAtLXNpbGVudCB0byBtYWtlIGN1cmwgcmVhbGx5IHF1aWV0LlxuIgogIlxuIgotIiAgICAgICAgICAgICAgU2VlIGFsc28gIC1pLCAgLS1pbmNsdWRlLiAgVGhpcyAgb3B0aW9uICBvdmVycmlkZXMgIC0tdHJhY2UgIGFuZFxuIgorIiAgICAgICAgICAgICAgU2VlICBhbHNvICAtaSwgIC0taW5jbHVkZS4gIFRoaXMgIG9wdGlvbiAgb3ZlcnJpZGVzICAtLXRyYWNlIGFuZFxuIgorLCBzdGRvdXQpOworIGZwdXRzKAogIiAgICAgICAgICAgICAgLS10cmFjZS1hc2NpaS5cbiIKICJcbiIKICIgICAgICAgLVYsIC0tdmVyc2lvblxuIgogIiAgICAgICAgICAgICAgRGlzcGxheXMgaW5mb3JtYXRpb24gYWJvdXQgY3VybCBhbmQgdGhlIGxpYmN1cmwgdmVyc2lvbiBpdCB1c2VzLlxuIgotIiAgICAgICAgICAgICAgVGhlICBmaXJzdCAgbGluZSAgaW5jbHVkZXMgdGhlIGZ1bGwgdmVyc2lvbiBvZiBjdXJsLCBsaWJjdXJsIGFuZFxuIgotLCBzdGRvdXQpOwotIGZwdXRzKAorIiAgICAgICAgICAgICAgVGhlIGZpcnN0IGxpbmUgaW5jbHVkZXMgdGhlIGZ1bGwgdmVyc2lvbiBvZiAgY3VybCwgIGxpYmN1cmwgIGFuZFxuIgogIiAgICAgICAgICAgICAgb3RoZXIgM3JkIHBhcnR5IGxpYnJhcmllcyBsaW5rZWQgd2l0aCB0aGUgZXhlY3V0YWJsZS5cbiIKICJcbiIKLSIgICAgICAgICAgICAgIFRoZSBzZWNvbmQgbGluZSAoc3RhcnRzIHdpdGggXCJQcm90b2NvbHM6XCIpIHNob3dzICBhbGwgIHByb3RvY29sc1xuIgorIiAgICAgICAgICAgICAgVGhlICBzZWNvbmQgIGxpbmUgKHN0YXJ0cyB3aXRoIFwiUHJvdG9jb2xzOlwiKSBzaG93cyBhbGwgcHJvdG9jb2xzXG4iCiAiICAgICAgICAgICAgICB0aGF0IGxpYmN1cmwgcmVwb3J0cyB0byBzdXBwb3J0LlxuIgogIlxuIgogIiAgICAgICAgICAgICAgVGhlIHRoaXJkIGxpbmUgKHN0YXJ0cyB3aXRoIFwiRmVhdHVyZXM6XCIpIHNob3dzIHNwZWNpZmljIGZlYXR1cmVzXG4iCi0iICAgICAgICAgICAgICBsaWJjdXJsIHJlcG9ydHMgdG8gb2ZmZXIuIEF2YWlsYWJsZSBmZWF0dXJlcyBpbmNsdWRlOlxuIgotIlxuIgotIiAgICAgICAgICAgICAgSVB2NiAgIFlvdSBjYW4gdXNlIElQdjYgd2l0aCB0aGlzLlxuIgotIlxuIgotIiAgICAgICAgICAgICAga3JiNCAgIEtyYjQgZm9yIEZUUCBpcyBzdXBwb3J0ZWQuXG4iCi0iXG4iCiAsIHN0ZG91dCk7CiAgZnB1dHMoCi0iICAgICAgICAgICAgICBTU0wgICAgU1NMIHZlcnNpb25zIG9mIHZhcmlvdXMgcHJvdG9jb2xzIGFyZSBzdXBwb3J0ZWQsIHN1Y2ggIGFzXG4iCi0iICAgICAgICAgICAgICAgICAgICAgSFRUUFMsIEZUUFMsIFBPUDNTIGFuZCBzbyBvbi5cbiIKKyIgICAgICAgICAgICAgIGxpYmN1cmwgcmVwb3J0cyB0byBvZmZlci4gQXZhaWxhYmxlIGZlYXR1cmVzIGluY2x1ZGU6XG4iCiAiXG4iCi0iICAgICAgICAgICAgICBsaWJ6ICAgQXV0b21hdGljICBkZWNvbXByZXNzaW9uIG9mIGNvbXByZXNzZWQgZmlsZXMgb3ZlciBIVFRQIGlzXG4iCi0iICAgICAgICAgICAgICAgICAgICAgc3VwcG9ydGVkLlxuIgorIiAgICAgICAgICAgICAgYWx0LXN2Y1xuIgorIiAgICAgICAgICAgICAgICAgICAgIFN1cHBvcnQgZm9yIHRoZSBBbHQtU3ZjOiBoZWFkZXIgaXMgcHJvdmlkZWQuXG4iCiAiXG4iCi0iICAgICAgICAgICAgICBOVExNICAgTlRMTSBhdXRoZW50aWNhdGlvbiBpcyBzdXBwb3J0ZWQuXG4iCisiICAgICAgICAgICAgICBBc3luY2hETlNcbiIKKyIgICAgICAgICAgICAgICAgICAgICBUaGlzICBjdXJsICB1c2VzIGFzeW5jaHJvbm91cyBuYW1lIHJlc29sdmVzLiBBc3luY2hyb25vdXNcbiIKKyIgICAgICAgICAgICAgICAgICAgICBuYW1lIHJlc29sdmVzIGNhbiBiZSBkb25lIHVzaW5nIGVpdGhlciB0aGUgYy1hcmVzIG9yICB0aGVcbiIKKyIgICAgICAgICAgICAgICAgICAgICB0aHJlYWRlZCByZXNvbHZlciBiYWNrZW5kcy5cbiIKKyJcbiIKKyIgICAgICAgICAgICAgIGJyb3RsaSBTdXBwb3J0IGZvciBhdXRvbWF0aWMgYnJvdGxpIGNvbXByZXNzaW9uIG92ZXIgSFRUUChTKS5cbiIKKyJcbiIKKyIgICAgICAgICAgICAgIENoYXJDb252XG4iCissIHN0ZG91dCk7CisgZnB1dHMoCisiICAgICAgICAgICAgICAgICAgICAgY3VybCB3YXMgYnVpbHQgd2l0aCBzdXBwb3J0IGZvciBjaGFyYWN0ZXIgc2V0IGNvbnZlcnNpb25zXG4iCisiICAgICAgICAgICAgICAgICAgICAgKGxpa2UgRUJDRElDKVxuIgogIlxuIgogIiAgICAgICAgICAgICAgRGVidWcgIFRoaXMgY3VybCB1c2VzIGEgbGliY3VybCBidWlsdCB3aXRoIERlYnVnLiAgVGhpcyAgZW5hYmxlc1xuIgogIiAgICAgICAgICAgICAgICAgICAgIG1vcmUgIGVycm9yLXRyYWNraW5nICBhbmQgbWVtb3J5IGRlYnVnZ2luZyBldGMuIEZvciBjdXJsLVxuIgogIiAgICAgICAgICAgICAgICAgICAgIGRldmVsb3BlcnMgb25seSFcbiIKICJcbiIKKyIgICAgICAgICAgICAgIEdTUy1BUElcbiIKKyIgICAgICAgICAgICAgICAgICAgICBHU1MtQVBJIGlzIHN1cHBvcnRlZC5cbiIKKyJcbiIKKyIgICAgICAgICAgICAgIEhUVFAyICBIVFRQLzIgc3VwcG9ydCBoYXMgYmVlbiBidWlsdC1pbi5cbiIKKyIgICAgICAgICAgICAgIEhUVFAzICBIVFRQLzMgc3VwcG9ydCBoYXMgYmVlbiBidWlsdC1pbi5cbiIKKyJcbiIKICwgc3Rkb3V0KTsKICBmcHV0cygKLSIgICAgICAgICAgICAgIEFzeW5jaEROU1xuIgotIiAgICAgICAgICAgICAgICAgICAgIFRoaXMgY3VybCB1c2VzIGFzeW5jaHJvbm91cyBuYW1lICByZXNvbHZlcy4gIEFzeW5jaHJvbm91c1xuIgotIiAgICAgICAgICAgICAgICAgICAgIG5hbWUgIHJlc29sdmVzIGNhbiBiZSBkb25lIHVzaW5nIGVpdGhlciB0aGUgYy1hcmVzIG9yIHRoZVxuIgotIiAgICAgICAgICAgICAgICAgICAgIHRocmVhZGVkIHJlc29sdmVyIGJhY2tlbmRzLlxuIgorIiAgICAgICAgICAgICAgSFRUUFMtcHJveHlcbiIKKyIgICAgICAgICAgICAgICAgICAgICBUaGlzIGN1cmwgaXMgYnVpbHQgdG8gc3VwcG9ydCBIVFRQUyBwcm94eS5cbiIKICJcbiIKLSIgICAgICAgICAgICAgIFNQTkVHTyBTUE5FR08gYXV0aGVudGljYXRpb24gaXMgc3VwcG9ydGVkLlxuIgorIiAgICAgICAgICAgICAgSUROICAgIFRoaXMgY3VybCBzdXBwb3J0cyBJRE4gLSBpbnRlcm5hdGlvbmFsIGRvbWFpbiBuYW1lcy5cbiIKKyJcbiIKKyIgICAgICAgICAgICAgIElQdjYgICBZb3UgY2FuIHVzZSBJUHY2IHdpdGggdGhpcy5cbiIKKyJcbiIKKyIgICAgICAgICAgICAgIGtyYjQgICBLcmI0IGZvciBGVFAgaXMgc3VwcG9ydGVkLlxuIgogIlxuIgogIiAgICAgICAgICAgICAgTGFyZ2VmaWxlXG4iCiAiICAgICAgICAgICAgICAgICAgICAgVGhpcyBjdXJsIHN1cHBvcnRzIHRyYW5zZmVycyBvZiBsYXJnZSBmaWxlcywgZmlsZXMgbGFyZ2VyXG4iCiAiICAgICAgICAgICAgICAgICAgICAgdGhhbiAyR0IuXG4iCiAiXG4iCi0iICAgICAgICAgICAgICBJRE4gICAgVGhpcyBjdXJsIHN1cHBvcnRzIElETiAtIGludGVybmF0aW9uYWwgZG9tYWluIG5hbWVzLlxuIgorIiAgICAgICAgICAgICAgbGlieiAgIEF1dG9tYXRpYyAgZGVjb21wcmVzc2lvbiBvZiBjb21wcmVzc2VkIGZpbGVzIG92ZXIgSFRUUCBpc1xuIgorLCBzdGRvdXQpOworIGZwdXRzKAorIiAgICAgICAgICAgICAgICAgICAgIHN1cHBvcnRlZC5cbiIKKyJcbiIKKyIgICAgICAgICAgICAgIE1ldGFsaW5rXG4iCisiICAgICAgICAgICAgICAgICAgICAgVGhpcyBjdXJsIHN1cHBvcnRzIE1ldGFsaW5rXG4iCisiXG4iCisiICAgICAgICAgICAgICBNdWx0aVNTTFxuIgorIiAgICAgICAgICAgICAgICAgICAgIFRoaXMgY3VybCBzdXBwb3J0cyBtdWx0aXBsZSBUTFMgYmFja2VuZHMuXG4iCisiXG4iCisiICAgICAgICAgICAgICBOVExNICAgTlRMTSBhdXRoZW50aWNhdGlvbiBpcyBzdXBwb3J0ZWQuXG4iCisiICAgICAgICAgICAgICBOVExNICAgTlRMTSBhdXRoZW50aWNhdGlvbiBpcyBzdXBwb3J0ZWQuXG4iCisiXG4iCisiICAgICAgICAgICAgICBQU0wgICAgUFNMIGlzIHNob3J0IGZvciBQdWJsaWMgU3VmZml4IExpc3QgYW5kIG1lYW5zICB0aGF0ICB0aGlzXG4iCisiICAgICAgICAgICAgICAgICAgICAgY3VybCAgaGFzICBiZWVuICBidWlsdCAgd2l0aCBrbm93bGVkZ2UgYWJvdXQgXCJwdWJsaWMgc3VmLVxuIgorIiAgICAgICAgICAgICAgICAgICAgIGZpeGVzXCIuXG4iCiAiXG4iCiAsIHN0ZG91dCk7CiAgZnB1dHMoCi0iICAgICAgICAgICAgICBHU1MtQVBJXG4iCi0iICAgICAgICAgICAgICAgICAgICAgR1NTLUFQSSBpcyBzdXBwb3J0ZWQuXG4iCisiICAgICAgICAgICAgICBTUE5FR08gU1BORUdPIGF1dGhlbnRpY2F0aW9uIGlzIHN1cHBvcnRlZC5cbiIKKyJcbiIKKyIgICAgICAgICAgICAgIFNTTCAgICBTU0wgdmVyc2lvbnMgb2YgdmFyaW91cyBwcm90b2NvbHMgYXJlIHN1cHBvcnRlZCwgc3VjaCAgYXNcbiIKKyIgICAgICAgICAgICAgICAgICAgICBIVFRQUywgRlRQUywgUE9QM1MgYW5kIHNvIG9uLlxuIgogIlxuIgogIiAgICAgICAgICAgICAgU1NQSSAgIFNTUEkgaXMgc3VwcG9ydGVkLlxuIgogIlxuIgpAQCAtMzkyOCwxMDcgKzM5OTAsODcgQEAKICIgICAgICAgICAgICAgICAgICAgICBTUlAgIChTZWN1cmUgUmVtb3RlIFBhc3N3b3JkKSBhdXRoZW50aWNhdGlvbiBpcyBzdXBwb3J0ZWRcbiIKICIgICAgICAgICAgICAgICAgICAgICBmb3IgVExTLlxuIgogIlxuIgotIiAgICAgICAgICAgICAgSFRUUDIgIEhUVFAvMiBzdXBwb3J0IGhhcyBiZWVuIGJ1aWx0LWluLlxuIgotIlxuIgogIiAgICAgICAgICAgICAgVW5peFNvY2tldHNcbiIKICIgICAgICAgICAgICAgICAgICAgICBVbml4IHNvY2tldHMgc3VwcG9ydCBpcyBwcm92aWRlZC5cbiIKICJcbiIKLSIgICAgICAgICAgICAgIEhUVFBTLXByb3h5XG4iCi0iICAgICAgICAgICAgICAgICAgICAgVGhpcyBjdXJsIGlzIGJ1aWx0IHRvIHN1cHBvcnQgSFRUUFMgcHJveHkuXG4iCi0iXG4iCi0iICAgICAgICAgICAgICBNZXRhbGlua1xuIgotLCBzdGRvdXQpOwotIGZwdXRzKAotIiAgICAgICAgICAgICAgICAgICAgIFRoaXMgY3VybCBzdXBwb3J0cyBNZXRhbGluayAoYm90aCB2ZXJzaW9uIDMgIGFuZCAgNCAgKFJGQ1xuIgotIiAgICAgICAgICAgICAgICAgICAgIDU4NTQpKSwgIHdoaWNoICBkZXNjcmliZXMgIG1pcnJvcnMgYW5kIGhhc2hlcy4gIGN1cmwgd2lsbFxuIgotIiAgICAgICAgICAgICAgICAgICAgIHVzZSBtaXJyb3JzIGZvciBmYWlsb3ZlciBpZiB0aGVyZSBhcmUgZXJyb3JzIChzdWNoIGFzIHRoZVxuIgotIiAgICAgICAgICAgICAgICAgICAgIGZpbGUgb3Igc2VydmVyIG5vdCBiZWluZyBhdmFpbGFibGUpLlxuIgotIlxuIgotIiAgICAgICAgICAgICAgUFNMICAgIFBTTCAgaXMgIHNob3J0IGZvciBQdWJsaWMgU3VmZml4IExpc3QgYW5kIG1lYW5zIHRoYXQgdGhpc1xuIgotIiAgICAgICAgICAgICAgICAgICAgIGN1cmwgaGFzIGJlZW4gYnVpbHQgd2l0aCAga25vd2xlZGdlICBhYm91dCAgXCJwdWJsaWMgIHN1Zi1cbiIKLSIgICAgICAgICAgICAgICAgICAgICBmaXhlc1wiLlxuIgotIlxuIgotLCBzdGRvdXQpOwotIGZwdXRzKAotIiAgICAgICAgICAgICAgTXVsdGlTU0xcbiIKLSIgICAgICAgICAgICAgICAgICAgICBUaGlzIGN1cmwgc3VwcG9ydHMgbXVsdGlwbGUgVExTIGJhY2tlbmRzLlxuIgotIlxuIgogIiAgICAgICAtdywgLS13cml0ZS1vdXQgPGZvcm1hdD5cbiIKLSIgICAgICAgICAgICAgIE1ha2UgY3VybCBkaXNwbGF5IGluZm9ybWF0aW9uIG9uIHN0ZG91dCBhZnRlciBhIGNvbXBsZXRlZCB0cmFucy1cbiIKLSIgICAgICAgICAgICAgIGZlci4gVGhlIGZvcm1hdCBpcyBhIHN0cmluZyB0aGF0IG1heSBjb250YWluICBwbGFpbiAgdGV4dCAgbWl4ZWRcbiIKLSIgICAgICAgICAgICAgIHdpdGggIGFueSAgbnVtYmVyIG9mIHZhcmlhYmxlcy4gVGhlIGZvcm1hdCBjYW4gYmUgc3BlY2lmaWVkIGFzIGFcbiIKLSIgICAgICAgICAgICAgIGxpdGVyYWwgXCJzdHJpbmdcIiwgb3IgeW91IGNhbiBoYXZlIGN1cmwgcmVhZCB0aGUgIGZvcm1hdCAgZnJvbSAgYVxuIgogLCBzdGRvdXQpOwogIGZwdXRzKAotIiAgICAgICAgICAgICAgZmlsZSAgd2l0aCAgXCJAZmlsZW5hbWVcIiBhbmQgdG8gdGVsbCBjdXJsIHRvIHJlYWQgdGhlIGZvcm1hdCBmcm9tXG4iCisiICAgICAgICAgICAgICBNYWtlIGN1cmwgZGlzcGxheSBpbmZvcm1hdGlvbiBvbiBzdGRvdXQgYWZ0ZXIgYSBjb21wbGV0ZWQgdHJhbnMtXG4iCisiICAgICAgICAgICAgICBmZXIuICBUaGUgIGZvcm1hdCAgaXMgYSBzdHJpbmcgdGhhdCBtYXkgY29udGFpbiBwbGFpbiB0ZXh0IG1peGVkXG4iCisiICAgICAgICAgICAgICB3aXRoIGFueSBudW1iZXIgb2YgdmFyaWFibGVzLiBUaGUgZm9ybWF0IGNhbiBiZSBzcGVjaWZpZWQgIGFzICBhXG4iCisiICAgICAgICAgICAgICBsaXRlcmFsICBcInN0cmluZ1wiLCAgb3IgIHlvdSBjYW4gaGF2ZSBjdXJsIHJlYWQgdGhlIGZvcm1hdCBmcm9tIGFcbiIKKyIgICAgICAgICAgICAgIGZpbGUgd2l0aCBcIkBmaWxlbmFtZVwiIGFuZCB0byB0ZWxsIGN1cmwgdG8gcmVhZCB0aGUgIGZvcm1hdCAgZnJvbVxuIgogIiAgICAgICAgICAgICAgc3RkaW4geW91IHdyaXRlIFwiQC1cIi5cbiIKICJcbiIKLSIgICAgICAgICAgICAgIFRoZSB2YXJpYWJsZXMgcHJlc2VudCBpbiB0aGUgb3V0cHV0IGZvcm1hdCB3aWxsICBiZSAgc3Vic3RpdHV0ZWRcbiIKLSIgICAgICAgICAgICAgIGJ5ICB0aGUgIHZhbHVlIG9yIHRleHQgdGhhdCBjdXJsIHRoaW5rcyBmaXQsIGFzIGRlc2NyaWJlZCBiZWxvdy5cbiIKLSIgICAgICAgICAgICAgIEFsbCB2YXJpYWJsZXMgYXJlIHNwZWNpZmllZCBhcyAle3ZhcmlhYmxlX25hbWV9IGFuZCB0byBvdXRwdXQgIGFcbiIKLSIgICAgICAgICAgICAgIG5vcm1hbCAgJSB5b3UganVzdCB3cml0ZSB0aGVtIGFzICUlLiBZb3UgY2FuIG91dHB1dCBhIG5ld2xpbmUgYnlcbiIKICwgc3Rkb3V0KTsKICBmcHV0cygKKyIgICAgICAgICAgICAgIFRoZSAgdmFyaWFibGVzICBwcmVzZW50IGluIHRoZSBvdXRwdXQgZm9ybWF0IHdpbGwgYmUgc3Vic3RpdHV0ZWRcbiIKKyIgICAgICAgICAgICAgIGJ5IHRoZSB2YWx1ZSBvciB0ZXh0IHRoYXQgY3VybCB0aGlua3MgZml0LCBhcyAgZGVzY3JpYmVkICBiZWxvdy5cbiIKKyIgICAgICAgICAgICAgIEFsbCAgdmFyaWFibGVzIGFyZSBzcGVjaWZpZWQgYXMgJXt2YXJpYWJsZV9uYW1lfSBhbmQgdG8gb3V0cHV0IGFcbiIKKyIgICAgICAgICAgICAgIG5vcm1hbCAlIHlvdSBqdXN0IHdyaXRlIHRoZW0gYXMgJSUuIFlvdSBjYW4gb3V0cHV0IGEgbmV3bGluZSAgYnlcbiIKICIgICAgICAgICAgICAgIHVzaW5nIFxcbiwgYSBjYXJyaWFnZSByZXR1cm4gd2l0aCBcXHIgYW5kIGEgdGFiIHNwYWNlIHdpdGggXFx0LlxuIgogIlxuIgotIiAgICAgICAgICAgICAgVGhlIG91dHB1dCB3aWxsIGJlIHdyaXR0ZW4gdG8gc3RhbmRhcmQgb3V0cHV0LCBidXQgdGhpcyAgY2FuICBiZVxuIgorIiAgICAgICAgICAgICAgVGhlICBvdXRwdXQgIHdpbGwgYmUgd3JpdHRlbiB0byBzdGFuZGFyZCBvdXRwdXQsIGJ1dCB0aGlzIGNhbiBiZVxuIgorLCBzdGRvdXQpOworIGZwdXRzKAogIiAgICAgICAgICAgICAgc3dpdGNoZWQgdG8gc3RhbmRhcmQgZXJyb3IgYnkgdXNpbmcgJXtzdGRlcnJ9LlxuIgogIlxuIgogIiAgICAgICAgICAgICAgTk9URTogVGhlICUtc3ltYm9sIGlzIGEgc3BlY2lhbCBzeW1ib2wgaW4gdGhlIHdpbjMyLWVudmlyb25tZW50LFxuIgotIiAgICAgICAgICAgICAgd2hlcmUgYWxsIG9jY3VycmVuY2VzIG9mICUgbXVzdCBiZSBkb3VibGVkIHdoZW4gdXNpbmcgIHRoaXMgIG9wLVxuIgorIiAgICAgICAgICAgICAgd2hlcmUgIGFsbCAgb2NjdXJyZW5jZXMgb2YgJSBtdXN0IGJlIGRvdWJsZWQgd2hlbiB1c2luZyB0aGlzIG9wLVxuIgogIiAgICAgICAgICAgICAgdGlvbi5cbiIKICJcbiIKICIgICAgICAgICAgICAgIFRoZSB2YXJpYWJsZXMgYXZhaWxhYmxlIGFyZTpcbiIKICJcbiIKLSwgc3Rkb3V0KTsKLSBmcHV0cygKLSIgICAgICAgICAgICAgIGNvbnRlbnRfdHlwZSAgIFRoZSAgQ29udGVudC1UeXBlICBvZiAgdGhlIHJlcXVlc3RlZCBkb2N1bWVudCwgaWZcbiIKKyIgICAgICAgICAgICAgIGNvbnRlbnRfdHlwZSAgIFRoZSBDb250ZW50LVR5cGUgb2YgdGhlICByZXF1ZXN0ZWQgIGRvY3VtZW50LCAgaWZcbiIKICIgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoZXJlIHdhcyBhbnkuXG4iCiAiXG4iCiAiICAgICAgICAgICAgICBmaWxlbmFtZV9lZmZlY3RpdmVcbiIKLSIgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFRoZSB1bHRpbWF0ZSBmaWxlbmFtZSB0aGF0IGN1cmwgIHdyaXRlcyAgb3V0ICB0by5cbiIKLSIgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFRoaXMgIGlzIG9ubHkgbWVhbmluZ2Z1bCBpZiBjdXJsIGlzIHRvbGQgdG8gd3JpdGVcbiIKLSIgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRvIGEgZmlsZSAgd2l0aCAgdGhlICAtTywgIC0tcmVtb3RlLW5hbWUgIG9yICAtbyxcbiIKLSIgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0tb3V0cHV0ICBvcHRpb24uIEl0J3MgbW9zdCB1c2VmdWwgaW4gY29tYmluYXRpb25cbiIKICwgc3Rkb3V0KTsKICBmcHV0cygKLSIgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdpdGggdGhlIC1KLCAtLXJlbW90ZS1oZWFkZXItbmFtZSBvcHRpb24uICAoQWRkZWRcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFRoZSAgdWx0aW1hdGUgIGZpbGVuYW1lICB0aGF0IGN1cmwgd3JpdGVzIG91dCB0by5cbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFRoaXMgaXMgb25seSBtZWFuaW5nZnVsIGlmIGN1cmwgaXMgdG9sZCB0byAgd3JpdGVcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRvICBhICBmaWxlICB3aXRoICB0aGUgIC1PLCAgLS1yZW1vdGUtbmFtZSBvciAtbyxcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0tb3V0cHV0IG9wdGlvbi4gSXQncyBtb3N0IHVzZWZ1bCBpbiAgY29tYmluYXRpb25cbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdpdGggIHRoZSAtSiwgLS1yZW1vdGUtaGVhZGVyLW5hbWUgb3B0aW9uLiAoQWRkZWRcbiIKICIgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGluIDcuMjYuMClcbiIKICJcbiIKKywgc3Rkb3V0KTsKKyBmcHV0cygKICIgICAgICAgICAgICAgIGZ0cF9lbnRyeV9wYXRoIFRoZSBpbml0aWFsIHBhdGggY3VybCBlbmRlZCB1cCBpbiB3aGVuIGxvZ2dpbmcgb25cbiIKICIgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRvIHRoZSByZW1vdGUgRlRQIHNlcnZlci4gKEFkZGVkIGluIDcuMTUuNClcbiIKICJcbiIKICIgICAgICAgICAgICAgIGh0dHBfY29kZSAgICAgIFRoZSBudW1lcmljYWwgcmVzcG9uc2UgY29kZSB0aGF0IHdhcyBmb3VuZCBpbiB0aGVcbiIKLSIgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxhc3QgIHJldHJpZXZlZCAgSFRUUChTKSAgb3IgIEZUUChzKSB0cmFuc2Zlci4gSW5cbiIKLSwgc3Rkb3V0KTsKLSBmcHV0cygKLSIgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDcuMTguMiB0aGUgYWxpYXMgcmVzcG9uc2VfY29kZSB3YXMgYWRkZWQgdG8gIHNob3dcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxhc3QgcmV0cmlldmVkIEhUVFAoUykgIG9yICBGVFAocykgIHRyYW5zZmVyLiAgSW5cbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDcuMTguMiAgdGhlIGFsaWFzIHJlc3BvbnNlX2NvZGUgd2FzIGFkZGVkIHRvIHNob3dcbiIKICIgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoZSBzYW1lIGluZm8uXG4iCiAiXG4iCissIHN0ZG91dCk7CisgZnB1dHMoCiAiICAgICAgICAgICAgICBodHRwX2Nvbm5lY3QgICBUaGUgbnVtZXJpY2FsIGNvZGUgdGhhdCB3YXMgZm91bmQgaW4gdGhlIGxhc3QgcmUtXG4iCi0iICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzcG9uc2UgKGZyb20gYSBwcm94eSkgdG8gYSBjdXJsIENPTk5FQ1QgIHJlcXVlc3QuXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzcG9uc2UgIChmcm9tIGEgcHJveHkpIHRvIGEgY3VybCBDT05ORUNUIHJlcXVlc3QuXG4iCiAiICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoQWRkZWQgaW4gNy4xMi40KVxuIgogIlxuIgogIiAgICAgICAgICAgICAgaHR0cF92ZXJzaW9uICAgVGhlICBodHRwICB2ZXJzaW9uICB0aGF0ICB3YXMgIGVmZmVjdGl2ZWx5ICB1c2VkLlxuIgogIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKEFkZGVkIGluIDcuNTAuMClcbiIKICJcbiIKLSwgc3Rkb3V0KTsKLSBmcHV0cygKICIgICAgICAgICAgICAgIGpzb24gICAgICAgICAgIEEgSlNPTiBvYmplY3Qgd2l0aCBhbGwgYXZhaWxhYmxlIGtleXMuXG4iCiAiXG4iCi0iICAgICAgICAgICAgICBsb2NhbF9pcCAgICAgICBUaGUgSVAgYWRkcmVzcyBvZiB0aGUgbG9jYWwgZW5kIG9mIHRoZSAgbW9zdCAgcmUtXG4iCi0iICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjZW50bHkgIGRvbmUgIGNvbm5lY3Rpb24gIC0gY2FuIGJlIGVpdGhlciBJUHY0IG9yXG4iCi0iICAgICAgICAgICAgICAgICAgICAgICAgICAgICBJUHY2IChBZGRlZCBpbiA3LjI5LjApXG4iCi0iXG4iCi0iICAgICAgICAgICAgICBsb2NhbF9wb3J0ICAgICBUaGUgbG9jYWwgcG9ydCBudW1iZXIgb2YgdGhlIG1vc3QgIHJlY2VudGx5ICBkb25lXG4iCi0iICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25uZWN0aW9uIChBZGRlZCBpbiA3LjI5LjApXG4iCi0iXG4iCi0iICAgICAgICAgICAgICBudW1fY29ubmVjdHMgICBOdW1iZXIgIG9mIG5ldyBjb25uZWN0cyBtYWRlIGluIHRoZSByZWNlbnQgdHJhbnMtXG4iCisiICAgICAgICAgICAgICBsb2NhbF9pcCAgICAgICBUaGUgIElQICBhZGRyZXNzIG9mIHRoZSBsb2NhbCBlbmQgb2YgdGhlIG1vc3QgcmUtXG4iCiAsIHN0ZG91dCk7CiAgZnB1dHMoCisiICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjZW50bHkgZG9uZSBjb25uZWN0aW9uIC0gY2FuIGJlICBlaXRoZXIgIElQdjQgIG9yXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICAgICBJUHY2IChBZGRlZCBpbiA3LjI5LjApXG4iCisiXG4iCisiICAgICAgICAgICAgICBsb2NhbF9wb3J0ICAgICBUaGUgIGxvY2FsICBwb3J0IG51bWJlciBvZiB0aGUgbW9zdCByZWNlbnRseSBkb25lXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25uZWN0aW9uIChBZGRlZCBpbiA3LjI5LjApXG4iCisiXG4iCisiICAgICAgICAgICAgICBudW1fY29ubmVjdHMgICBOdW1iZXIgb2YgbmV3IGNvbm5lY3RzIG1hZGUgaW4gdGhlIHJlY2VudCAgdHJhbnMtXG4iCiAiICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmZXIuIChBZGRlZCBpbiA3LjEyLjMpXG4iCiAiXG4iCiAiICAgICAgICAgICAgICBudW1fcmVkaXJlY3RzICBOdW1iZXIgb2YgcmVkaXJlY3RzIHRoYXQgd2VyZSBmb2xsb3dlZCBpbiB0aGUgcmUtXG4iCissIHN0ZG91dCk7CisgZnB1dHMoCiAiICAgICAgICAgICAgICAgICAgICAgICAgICAgICBxdWVzdC4gKEFkZGVkIGluIDcuMTIuMylcbiIKICJcbiIKICIgICAgICAgICAgICAgIHByb3h5X3NzbF92ZXJpZnlfcmVzdWx0XG4iCkBAIC00MDM2LDMzICs0MDc4LDM3IEBACiAiICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjYXRlIHZlcmlmaWNhdGlvbiB0aGF0IHdhcyByZXF1ZXN0ZWQuIDAgbWVhbnMgdGhlXG4iCiAiICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2ZXJpZmljYXRpb24gd2FzIHN1Y2Nlc3NmdWwuIChBZGRlZCBpbiA3LjUyLjApXG4iCiAiXG4iCisiICAgICAgICAgICAgICByZWRpcmVjdF91cmwgICBXaGVuIGFuIEhUVFAgcmVxdWVzdCB3YXMgbWFkZSB3aXRob3V0IC1MLCAtLWxvY2EtXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aW9uICB0byBmb2xsb3cgcmVkaXJlY3RzIChvciB3aGVuIC0tbWF4LXJlZGlyIGlzXG4iCiAsIHN0ZG91dCk7CiAgZnB1dHMoCi0iICAgICAgICAgICAgICByZWRpcmVjdF91cmwgICBXaGVuIGFuIEhUVFAgcmVxdWVzdCB3YXMgbWFkZSB3aXRob3V0IC1MLCAtLWxvY2EtXG4iCi0iICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aW9uIHRvIGZvbGxvdyByZWRpcmVjdHMgKG9yIHdoZW4gLS1tYXgtcmVkaXIgIGlzXG4iCi0iICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtZXQpLCAgdGhpcyAgdmFyaWFibGUgIHdpbGwgc2hvdyB0aGUgYWN0dWFsIFVSTCBhXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtZXQpLCB0aGlzIHZhcmlhYmxlIHdpbGwgc2hvdyB0aGUgIGFjdHVhbCAgVVJMICBhXG4iCiAiICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZWRpcmVjdCB3b3VsZCBoYXZlIGdvbmUgdG8uIChBZGRlZCBpbiA3LjE4LjIpXG4iCiAiXG4iCi0iICAgICAgICAgICAgICByZW1vdGVfaXAgICAgICBUaGUgcmVtb3RlIElQIGFkZHJlc3Mgb2YgdGhlIG1vc3QgIHJlY2VudGx5ICBkb25lXG4iCisiICAgICAgICAgICAgICByZW1vdGVfaXAgICAgICBUaGUgIHJlbW90ZSAgSVAgYWRkcmVzcyBvZiB0aGUgbW9zdCByZWNlbnRseSBkb25lXG4iCiAiICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25uZWN0aW9uIC0gY2FuIGJlIGVpdGhlciBJUHY0IG9yIElQdjYgKEFkZGVkIGluXG4iCi0sIHN0ZG91dCk7Ci0gZnB1dHMoCiAiICAgICAgICAgICAgICAgICAgICAgICAgICAgICA3LjI5LjApXG4iCiAiXG4iCi0iICAgICAgICAgICAgICByZW1vdGVfcG9ydCAgICBUaGUgcmVtb3RlIHBvcnQgbnVtYmVyIG9mIHRoZSBtb3N0IHJlY2VudGx5ICBkb25lXG4iCisiICAgICAgICAgICAgICByZW1vdGVfcG9ydCAgICBUaGUgIHJlbW90ZSBwb3J0IG51bWJlciBvZiB0aGUgbW9zdCByZWNlbnRseSBkb25lXG4iCiAiICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25uZWN0aW9uIChBZGRlZCBpbiA3LjI5LjApXG4iCiAiXG4iCi0iICAgICAgICAgICAgICBzY2hlbWUgICAgICAgICBUaGUgIFVSTCAgc2NoZW1lIChzb21ldGltZXMgY2FsbGVkIHByb3RvY29sKSB0aGF0XG4iCissIHN0ZG91dCk7CisgZnB1dHMoCisiICAgICAgICAgICAgICByZXNwb25zZV9jb2RlICBUaGUgbnVtZXJpY2FsIHJlc3BvbnNlIGNvZGUgdGhhdCB3YXMgZm91bmQgaW4gdGhlXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsYXN0ICB0cmFuc2ZlciAgKGZvcm1lcmx5ICBrbm93biBhcyBcImh0dHBfY29kZVwiKS5cbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChBZGRlZCBpbiA3LjE4LjIpXG4iCisiXG4iCisiICAgICAgICAgICAgICBzY2hlbWUgICAgICAgICBUaGUgVVJMIHNjaGVtZSAoc29tZXRpbWVzIGNhbGxlZCAgcHJvdG9jb2wpICB0aGF0XG4iCiAiICAgICAgICAgICAgICAgICAgICAgICAgICAgICB3YXMgZWZmZWN0aXZlbHkgdXNlZCAoQWRkZWQgaW4gNy41Mi4wKVxuIgogIlxuIgogIiAgICAgICAgICAgICAgc2l6ZV9kb3dubG9hZCAgVGhlIHRvdGFsIGFtb3VudCBvZiBieXRlcyB0aGF0IHdlcmUgZG93bmxvYWRlZC5cbiIKICJcbiIKLSIgICAgICAgICAgICAgIHNpemVfaGVhZGVyICAgIFRoZSB0b3RhbCBhbW91bnQgb2YgYnl0ZXMgb2YgdGhlIGRvd25sb2FkZWQgaGVhZC1cbiIKICwgc3Rkb3V0KTsKICBmcHV0cygKKyIgICAgICAgICAgICAgIHNpemVfaGVhZGVyICAgIFRoZSB0b3RhbCBhbW91bnQgb2YgYnl0ZXMgb2YgdGhlIGRvd25sb2FkZWQgaGVhZC1cbiIKICIgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVycy5cbiIKICJcbiIKLSIgICAgICAgICAgICAgIHNpemVfcmVxdWVzdCAgIFRoZSAgdG90YWwgIGFtb3VudCBvZiBieXRlcyB0aGF0IHdlcmUgc2VudCBpbiB0aGVcbiIKKyIgICAgICAgICAgICAgIHNpemVfcmVxdWVzdCAgIFRoZSB0b3RhbCBhbW91bnQgb2YgYnl0ZXMgdGhhdCB3ZXJlIHNlbnQgIGluICB0aGVcbiIKICIgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEhUVFAgcmVxdWVzdC5cbiIKICJcbiIKICIgICAgICAgICAgICAgIHNpemVfdXBsb2FkICAgIFRoZSB0b3RhbCBhbW91bnQgb2YgYnl0ZXMgdGhhdCB3ZXJlIHVwbG9hZGVkLlxuIgpAQCAtNDA3MCw4OCArNDExNiw4OCBAQAogIiAgICAgICAgICAgICAgc3BlZWRfZG93bmxvYWQgVGhlIGF2ZXJhZ2UgZG93bmxvYWQgc3BlZWQgdGhhdCBjdXJsIG1lYXN1cmVkIGZvclxuIgogIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhlIGNvbXBsZXRlIGRvd25sb2FkLiBCeXRlcyBwZXIgc2Vjb25kLlxuIgogIlxuIgotIiAgICAgICAgICAgICAgc3BlZWRfdXBsb2FkICAgVGhlICBhdmVyYWdlICB1cGxvYWQgc3BlZWQgdGhhdCBjdXJsIG1lYXN1cmVkIGZvclxuIgogLCBzdGRvdXQpOwogIGZwdXRzKAorIiAgICAgICAgICAgICAgc3BlZWRfdXBsb2FkICAgVGhlIGF2ZXJhZ2UgdXBsb2FkIHNwZWVkIHRoYXQgY3VybCAgbWVhc3VyZWQgIGZvclxuIgogIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhlIGNvbXBsZXRlIHVwbG9hZC4gQnl0ZXMgcGVyIHNlY29uZC5cbiIKICJcbiIKICIgICAgICAgICAgICAgIHNzbF92ZXJpZnlfcmVzdWx0XG4iCi0iICAgICAgICAgICAgICAgICAgICAgICAgICAgICBUaGUgcmVzdWx0IG9mIHRoZSBTU0wgcGVlciBjZXJ0aWZpY2F0ZSAgdmVyaWZpY2EtXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICAgICBUaGUgIHJlc3VsdCBvZiB0aGUgU1NMIHBlZXIgY2VydGlmaWNhdGUgdmVyaWZpY2EtXG4iCiAiICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aW9uIHRoYXQgd2FzIHJlcXVlc3RlZC4gMCBtZWFucyB0aGUgdmVyaWZpY2F0aW9uXG4iCiAiICAgICAgICAgICAgICAgICAgICAgICAgICAgICB3YXMgc3VjY2Vzc2Z1bC4gKEFkZGVkIGluIDcuMTkuMClcbiIKICJcbiIKLSIgICAgICAgICAgICAgIHN0ZGVyciAgICAgICAgIEZyb20gdGhpcyBwb2ludCBvbiwgdGhlICAtdywgIC0td3JpdGUtb3V0ICBvdXRwdXRcbiIKLSIgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdpbGwgIGJlICB3cml0dGVuICB0byAgc3RhbmRhcmQgIGVycm9yLiAoQWRkZWQgaW5cbiIKKyIgICAgICAgICAgICAgIHN0ZGVyciAgICAgICAgIEZyb20gIHRoaXMgIHBvaW50ICBvbiwgdGhlIC13LCAtLXdyaXRlLW91dCBvdXRwdXRcbiIKICwgc3Rkb3V0KTsKICBmcHV0cygKKyIgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdpbGwgYmUgd3JpdHRlbiAgdG8gIHN0YW5kYXJkICBlcnJvci4gIChBZGRlZCAgaW5cbiIKICIgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDcuNjMuMClcbiIKICJcbiIKLSIgICAgICAgICAgICAgIHN0ZG91dCAgICAgICAgIEZyb20gdGhpcyBwb2ludCBvbiwgdGhlICAtdywgIC0td3JpdGUtb3V0ICBvdXRwdXRcbiIKLSIgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdpbGwgIGJlIHdyaXR0ZW4gdG8gc3RhbmRhcmQgb3V0cHV0LiAgVGhpcyBpcyB0aGVcbiIKLSIgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRlZmF1bHQsIGJ1dCBjYW4gYmUgdXNlZCAgdG8gIHN3aXRjaCAgYmFjayAgYWZ0ZXJcbiIKKyIgICAgICAgICAgICAgIHN0ZG91dCAgICAgICAgIEZyb20gIHRoaXMgIHBvaW50ICBvbiwgdGhlIC13LCAtLXdyaXRlLW91dCBvdXRwdXRcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdpbGwgYmUgd3JpdHRlbiB0byBzdGFuZGFyZCBvdXRwdXQuICBUaGlzIGlzICB0aGVcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRlZmF1bHQsICBidXQgIGNhbiAgYmUgIHVzZWQgdG8gc3dpdGNoIGJhY2sgYWZ0ZXJcbiIKICIgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN3aXRjaGluZyB0byBzdGRlcnIuICAoQWRkZWQgaW4gNy42My4wKVxuIgogIlxuIgogIiAgICAgICAgICAgICAgdGltZV9hcHBjb25uZWN0XG4iCi0iICAgICAgICAgICAgICAgICAgICAgICAgICAgICBUaGUgIHRpbWUsIGluIHNlY29uZHMsIGl0IHRvb2sgZnJvbSB0aGUgc3RhcnQgdW4tXG4iCiAsIHN0ZG91dCk7CiAgZnB1dHMoCi0iICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aWwgdGhlIFNTTC9TU0gvZXRjIGNvbm5lY3QvaGFuZHNoYWtlIHRvIHRoZSAgcmUtXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICAgICBUaGUgdGltZSwgaW4gc2Vjb25kcywgaXQgdG9vayBmcm9tIHRoZSBzdGFydCAgdW4tXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aWwgIHRoZSBTU0wvU1NIL2V0YyBjb25uZWN0L2hhbmRzaGFrZSB0byB0aGUgcmUtXG4iCiAiICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtb3RlIGhvc3Qgd2FzIGNvbXBsZXRlZC4gKEFkZGVkIGluIDcuMTkuMClcbiIKICJcbiIKLSIgICAgICAgICAgICAgIHRpbWVfY29ubmVjdCAgIFRoZSAgdGltZSwgaW4gc2Vjb25kcywgaXQgdG9vayBmcm9tIHRoZSBzdGFydCB1bi1cbiIKKyIgICAgICAgICAgICAgIHRpbWVfY29ubmVjdCAgIFRoZSB0aW1lLCBpbiBzZWNvbmRzLCBpdCB0b29rIGZyb20gdGhlIHN0YXJ0ICB1bi1cbiIKICIgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRpbCB0aGUgVENQIGNvbm5lY3QgdG8gdGhlIHJlbW90ZSBob3N0IChvciBwcm94eSlcbiIKICIgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdhcyBjb21wbGV0ZWQuXG4iCiAiXG4iCiAiICAgICAgICAgICAgICB0aW1lX25hbWVsb29rdXBcbiIKLSIgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFRoZSAgdGltZSwgaW4gc2Vjb25kcywgaXQgdG9vayBmcm9tIHRoZSBzdGFydCB1bi1cbiIKICwgc3Rkb3V0KTsKICBmcHV0cygKKyIgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFRoZSB0aW1lLCBpbiBzZWNvbmRzLCBpdCB0b29rIGZyb20gdGhlIHN0YXJ0ICB1bi1cbiIKICIgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRpbCB0aGUgbmFtZSByZXNvbHZpbmcgd2FzIGNvbXBsZXRlZC5cbiIKICJcbiIKICIgICAgICAgICAgICAgIHRpbWVfcHJldHJhbnNmZXJcbiIKLSIgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFRoZSB0aW1lLCBpbiBzZWNvbmRzLCBpdCB0b29rIGZyb20gdGhlIHN0YXJ0ICB1bi1cbiIKLSIgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRpbCAgdGhlICBmaWxlICB0cmFuc2ZlciB3YXMganVzdCBhYm91dCB0byBiZWdpbi5cbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFRoZSAgdGltZSwgaW4gc2Vjb25kcywgaXQgdG9vayBmcm9tIHRoZSBzdGFydCB1bi1cbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRpbCB0aGUgZmlsZSB0cmFuc2ZlciB3YXMganVzdCAgYWJvdXQgIHRvICBiZWdpbi5cbiIKICIgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFRoaXMgaW5jbHVkZXMgYWxsIHByZS10cmFuc2ZlciBjb21tYW5kcyBhbmQgbmVnby1cbiIKICIgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRpYXRpb25zIHRoYXQgYXJlIHNwZWNpZmljIHRvIHRoZSBwYXJ0aWN1bGFyIHByby1cbiIKKywgc3Rkb3V0KTsKKyBmcHV0cygKICIgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRvY29sKHMpIGludm9sdmVkLlxuIgogIlxuIgotLCBzdGRvdXQpOwotIGZwdXRzKAogIiAgICAgICAgICAgICAgdGltZV9yZWRpcmVjdCAgVGhlIHRpbWUsIGluIHNlY29uZHMsIGl0IHRvb2sgZm9yIGFsbCByZWRpcmVjdGlvblxuIgogIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RlcHMgaW5jbHVkaW5nIG5hbWUgbG9va3VwLCBjb25uZWN0LCBwcmV0cmFuc2ZlclxuIgotIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYW5kIHRyYW5zZmVyIGJlZm9yZSAgdGhlICBmaW5hbCAgdHJhbnNhY3Rpb24gIHdhc1xuIgotIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RhcnRlZC4gIHRpbWVfcmVkaXJlY3Qgc2hvd3MgdGhlIGNvbXBsZXRlIGV4ZWN1LVxuIgotIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGlvbiB0aW1lIGZvciBtdWx0aXBsZSAgcmVkaXJlY3Rpb25zLiAgKEFkZGVkICBpblxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYW5kICB0cmFuc2ZlciAgYmVmb3JlICB0aGUgIGZpbmFsIHRyYW5zYWN0aW9uIHdhc1xuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RhcnRlZC4gdGltZV9yZWRpcmVjdCBzaG93cyB0aGUgY29tcGxldGUgIGV4ZWN1LVxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGlvbiAgdGltZSAgZm9yICBtdWx0aXBsZSByZWRpcmVjdGlvbnMuIChBZGRlZCBpblxuIgogIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNy4xMi4zKVxuIgogIlxuIgotIiAgICAgICAgICAgICAgdGltZV9zdGFydHRyYW5zZmVyXG4iCiAsIHN0ZG91dCk7CiAgZnB1dHMoCi0iICAgICAgICAgICAgICAgICAgICAgICAgICAgICBUaGUgIHRpbWUsIGluIHNlY29uZHMsIGl0IHRvb2sgZnJvbSB0aGUgc3RhcnQgdW4tXG4iCi0iICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aWwgdGhlIGZpcnN0IGJ5dGUgd2FzIGp1c3QgYWJvdXQgIHRvICBiZSAgdHJhbnMtXG4iCi0iICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmZXJyZWQuICBUaGlzICBpbmNsdWRlcyB0aW1lX3ByZXRyYW5zZmVyIGFuZCBhbHNvXG4iCi0iICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGUgdGltZSB0aGUgc2VydmVyIG5lZWRlZCB0byBjYWxjdWxhdGUgIHRoZSAgcmUtXG4iCisiICAgICAgICAgICAgICB0aW1lX3N0YXJ0dHJhbnNmZXJcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFRoZSB0aW1lLCBpbiBzZWNvbmRzLCBpdCB0b29rIGZyb20gdGhlIHN0YXJ0ICB1bi1cbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRpbCAgdGhlICBmaXJzdCAgYnl0ZSB3YXMganVzdCBhYm91dCB0byBiZSB0cmFucy1cbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZlcnJlZC4gVGhpcyBpbmNsdWRlcyB0aW1lX3ByZXRyYW5zZmVyICBhbmQgIGFsc29cbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoZSAgdGltZSAgdGhlIHNlcnZlciBuZWVkZWQgdG8gY2FsY3VsYXRlIHRoZSByZS1cbiIKICIgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN1bHQuXG4iCiAiXG4iCi0iICAgICAgICAgICAgICB0aW1lX3RvdGFsICAgICBUaGUgIHRvdGFsIHRpbWUsIGluIHNlY29uZHMsIHRoYXQgdGhlIGZ1bGwgb3BlcmEtXG4iCi0iICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aW9uIGxhc3RlZC5cbiIKLSJcbiIKKyIgICAgICAgICAgICAgIHRpbWVfdG90YWwgICAgIFRoZSB0b3RhbCB0aW1lLCBpbiBzZWNvbmRzLCB0aGF0IHRoZSBmdWxsICBvcGVyYS1cbiIKICwgc3Rkb3V0KTsKICBmcHV0cygKKyIgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRpb24gbGFzdGVkLlxuIgorIlxuIgogIiAgICAgICAgICAgICAgdXJsX2VmZmVjdGl2ZSAgVGhlIFVSTCB0aGF0IHdhcyBmZXRjaGVkIGxhc3QuIFRoaXMgaXMgbW9zdCBtZWFuLVxuIgotIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW5nZnVsICBpZiAgeW91J3ZlICB0b2xkIGN1cmwgdG8gZm9sbG93IGxvY2F0aW9uOlxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW5nZnVsIGlmIHlvdSd2ZSB0b2xkIGN1cmwgIHRvICBmb2xsb3cgIGxvY2F0aW9uOlxuIgogIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaGVhZGVycy5cbiIKICJcbiIKICIgICAgICAgICAgICAgIElmIHRoaXMgb3B0aW9uIGlzIHVzZWQgc2V2ZXJhbCB0aW1lcywgdGhlIGxhc3Qgb25lIHdpbGwgYmUgdXNlZC5cbiIKICJcbiIKICIgICAgICAgLS14YXR0clxuIgotIiAgICAgICAgICAgICAgV2hlbiBzYXZpbmcgb3V0cHV0IHRvIGEgZmlsZSwgdGhpcyBvcHRpb24gdGVsbHMgIGN1cmwgIHRvICBzdG9yZVxuIgotIiAgICAgICAgICAgICAgY2VydGFpbiAgZmlsZSAgbWV0YWRhdGEgIGluIGV4dGVuZGVkIGZpbGUgYXR0cmlidXRlcy4gQ3VycmVudGx5LFxuIgorIiAgICAgICAgICAgICAgV2hlbiAgc2F2aW5nICBvdXRwdXQgIHRvIGEgZmlsZSwgdGhpcyBvcHRpb24gdGVsbHMgY3VybCB0byBzdG9yZVxuIgorIiAgICAgICAgICAgICAgY2VydGFpbiBmaWxlIG1ldGFkYXRhIGluIGV4dGVuZGVkICBmaWxlICBhdHRyaWJ1dGVzLiAgQ3VycmVudGx5LFxuIgogLCBzdGRvdXQpOwogIGZwdXRzKAogIiAgICAgICAgICAgICAgdGhlIFVSTCBpcyBzdG9yZWQgaW4gdGhlIHhkZy5vcmlnaW4udXJsIGF0dHJpYnV0ZSBhbmQsIGZvciBIVFRQLFxuIgotIiAgICAgICAgICAgICAgdGhlICBjb250ZW50ICB0eXBlICBpcyBzdG9yZWQgaW4gdGhlIG1pbWVfdHlwZSBhdHRyaWJ1dGUuIElmIHRoZVxuIgotIiAgICAgICAgICAgICAgZmlsZSBzeXN0ZW0gZG9lcyBub3Qgc3VwcG9ydCBleHRlbmRlZCBhdHRyaWJ1dGVzLCBhICB3YXJuaW5nICBpc1xuIgorIiAgICAgICAgICAgICAgdGhlIGNvbnRlbnQgdHlwZSBpcyBzdG9yZWQgaW4gdGhlIG1pbWVfdHlwZSAgYXR0cmlidXRlLiAgSWYgIHRoZVxuIgorIiAgICAgICAgICAgICAgZmlsZSAgc3lzdGVtICBkb2VzIG5vdCBzdXBwb3J0IGV4dGVuZGVkIGF0dHJpYnV0ZXMsIGEgd2FybmluZyBpc1xuIgogIiAgICAgICAgICAgICAgaXNzdWVkLlxuIgogIlxuIgogIkZJTEVTXG4iCkBAIC00MTY1LDcgKzQyMTEsNyBAQAogIiAgICAgICBUaGUgbG93ZXIgY2FzZSB2ZXJzaW9uIGhhcyBwcmVjZWRlbmNlLiBodHRwX3Byb3h5IGlzIGFuIGV4Y2VwdGlvbiBhcyBpdFxuIgogIiAgICAgICBpcyBvbmx5IGF2YWlsYWJsZSBpbiBsb3dlciBjYXNlLlxuIgogIlxuIgotIiAgICAgICBVc2luZyAgYW4gIGVudmlyb25tZW50IHZhcmlhYmxlIHRvIHNldCB0aGUgcHJveHkgaGFzIHRoZSBzYW1lIGVmZmVjdCBhc1xuIgorIiAgICAgICBVc2luZyBhbiBlbnZpcm9ubWVudCB2YXJpYWJsZSB0byBzZXQgdGhlIHByb3h5IGhhcyB0aGUgc2FtZSAgZWZmZWN0ICBhc1xuIgogIiAgICAgICB1c2luZyB0aGUgLXgsIC0tcHJveHkgb3B0aW9uLlxuIgogIlxuIgogIiAgICAgICBodHRwX3Byb3h5IFtwcm90b2NvbDovL108aG9zdD5bOnBvcnRdXG4iCkBAIC00MTc2LDU3ICs0MjIyLDg2IEBACiAiICAgICAgIFt1cmwtcHJvdG9jb2xdX1BST1hZIFtwcm90b2NvbDovL108aG9zdD5bOnBvcnRdXG4iCiAsIHN0ZG91dCk7CiAgZnB1dHMoCi0iICAgICAgICAgICAgICBTZXRzIHRoZSBwcm94eSBzZXJ2ZXIgdG8gdXNlIGZvciBbdXJsLXByb3RvY29sXSwgd2hlcmUgdGhlICBwcm8tXG4iCi0iICAgICAgICAgICAgICB0b2NvbCAgaXMgIGEgIHByb3RvY29sICB0aGF0IGN1cmwgc3VwcG9ydHMgYW5kIGFzIHNwZWNpZmllZCBpbiBhXG4iCisiICAgICAgICAgICAgICBTZXRzICB0aGUgcHJveHkgc2VydmVyIHRvIHVzZSBmb3IgW3VybC1wcm90b2NvbF0sIHdoZXJlIHRoZSBwcm8tXG4iCisiICAgICAgICAgICAgICB0b2NvbCBpcyBhIHByb3RvY29sIHRoYXQgY3VybCBzdXBwb3J0cyBhbmQgIGFzICBzcGVjaWZpZWQgIGluICBhXG4iCiAiICAgICAgICAgICAgICBVUkwuIEZUUCwgRlRQUywgUE9QMywgSU1BUCwgU01UUCwgTERBUCBldGMuXG4iCiAiXG4iCiAiICAgICAgIEFMTF9QUk9YWSBbcHJvdG9jb2w6Ly9dPGhvc3Q+Wzpwb3J0XVxuIgotIiAgICAgICAgICAgICAgU2V0cyB0aGUgcHJveHkgc2VydmVyIHRvIHVzZSBpZiBubyAgcHJvdG9jb2wtc3BlY2lmaWMgIHByb3h5ICBpc1xuIgorIiAgICAgICAgICAgICAgU2V0cyAgdGhlICBwcm94eSAgc2VydmVyIHRvIHVzZSBpZiBubyBwcm90b2NvbC1zcGVjaWZpYyBwcm94eSBpc1xuIgogIiAgICAgICAgICAgICAgc2V0LlxuIgogIlxuIgogIiAgICAgICBOT19QUk9YWSA8Y29tbWEtc2VwYXJhdGVkIGxpc3Qgb2YgaG9zdHMvZG9tYWlucz5cbiIKLSIgICAgICAgICAgICAgIGxpc3QgIG9mICBob3N0IG5hbWVzIHRoYXQgc2hvdWxkbid0IGdvIHRocm91Z2ggYW55IHByb3h5LiBJZiBzZXRcbiIKKyIgICAgICAgICAgICAgIGxpc3Qgb2YgaG9zdCBuYW1lcyB0aGF0IHNob3VsZG4ndCBnbyB0aHJvdWdoIGFueSBwcm94eS4gIElmICBzZXRcbiIKICwgc3Rkb3V0KTsKICBmcHV0cygKICIgICAgICAgICAgICAgIHRvIGFuIGFzdGVyaXNrICcqJyBvbmx5LCBpdCBtYXRjaGVzIGFsbCBob3N0cy4gRWFjaCBuYW1lIGluIHRoaXNcbiIKICIgICAgICAgICAgICAgIGxpc3QgaXMgbWF0Y2hlZCBhcyBlaXRoZXIgYSBkb21haW4gbmFtZSB3aGljaCBjb250YWlucyB0aGUgaG9zdC1cbiIKICIgICAgICAgICAgICAgIG5hbWUsIG9yIHRoZSBob3N0bmFtZSBpdHNlbGYuXG4iCiAiXG4iCi0iICAgICAgICAgICAgICBUaGlzIGVudmlyb25tZW50IHZhcmlhYmxlIGRpc2FibGVzIHVzZSBvZiB0aGUgIHByb3h5ICBldmVuICB3aGVuXG4iCi0iICAgICAgICAgICAgICBzcGVjaWZpZWQgIHdpdGggIHRoZSAgLXgsICAtLXByb3h5ICBvcHRpb24uIFRoYXQgaXMgTk9fUFJPWFk9ZGktXG4iCisiICAgICAgICAgICAgICBUaGlzICBlbnZpcm9ubWVudCAgdmFyaWFibGUgIGRpc2FibGVzIHVzZSBvZiB0aGUgcHJveHkgZXZlbiB3aGVuXG4iCisiICAgICAgICAgICAgICBzcGVjaWZpZWQgd2l0aCB0aGUgLXgsICAtLXByb3h5ICBvcHRpb24uICBUaGF0ICBpcyAgTk9fUFJPWFk9ZGktXG4iCiAiICAgICAgICAgICAgICByZWN0LmV4YW1wbGUuY29tICBjdXJsICAteCAgaHR0cDovL3Byb3h5LmV4YW1wbGUuY29tICBodHRwOi8vZGktXG4iCiAsIHN0ZG91dCk7CiAgZnB1dHMoCi0iICAgICAgICAgICAgICByZWN0LmV4YW1wbGUuY29tICAgYWNjZXNzZXMgICB0aGUgICB0YXJnZXQgICBVUkwgIGRpcmVjdGx5LCAgYW5kXG4iCi0iICAgICAgICAgICAgICBOT19QUk9YWT1kaXJlY3QuZXhhbXBsZS5jb20gIGN1cmwgIC14ICAgaHR0cDovL3Byb3h5LmV4YW1wbGUuY29tXG4iCisiICAgICAgICAgICAgICByZWN0LmV4YW1wbGUuY29tICBhY2Nlc3NlcyAgdGhlICAgdGFyZ2V0ICAgVVJMICAgZGlyZWN0bHksICAgYW5kXG4iCisiICAgICAgICAgICAgICBOT19QUk9YWT1kaXJlY3QuZXhhbXBsZS5jb20gICBjdXJsICAteCAgaHR0cDovL3Byb3h5LmV4YW1wbGUuY29tXG4iCiAiICAgICAgICAgICAgICBodHRwOi8vc29tZXdoZXJlLmV4YW1wbGUuY29tIGFjY2Vzc2VzIHRoZSB0YXJnZXQgVVJMIHRocm91Z2ggdGhlXG4iCiAiICAgICAgICAgICAgICBwcm94eS5cbiIKICJcbiIKLSIgICAgICAgICAgICAgIFRoZSBsaXN0IG9mIGhvc3QgbmFtZXMgY2FuIGFsc28gIGJlICBpbmNsdWRlICBudW1lcmljYWwgIElQICBhZC1cbiIKLSIgICAgICAgICAgICAgIGRyZXNzZXMsICBhbmQgSVB2NiB2ZXJzaW9ucyBzaG91bGQgdGhlbiBiZSBnaXZlbiB3aXRob3V0IGVuY2xvcy1cbiIKKyIgICAgICAgICAgICAgIFRoZSAgbGlzdCAgb2YgIGhvc3QgIG5hbWVzICBjYW4gYWxzbyBiZSBpbmNsdWRlIG51bWVyaWNhbCBJUCBhZC1cbiIKKyIgICAgICAgICAgICAgIGRyZXNzZXMsIGFuZCBJUHY2IHZlcnNpb25zIHNob3VsZCB0aGVuIGJlIGdpdmVuIHdpdGhvdXQgIGVuY2xvcy1cbiIKICIgICAgICAgICAgICAgIGluZyBicmFja2V0cy5cbiIKICJcbiIKLSJQUk9YWSBQUk9UT0NPTCBQUkVGSVhFU1xuIgorIiAgICAgICBDVVJMX1NTTF9CQUNLRU5EIDxUTFMgYmFja2VuZD5cbiIKICwgc3Rkb3V0KTsKICBmcHV0cygKLSIgICAgICAgU2luY2UgY3VybCB2ZXJzaW9uIDcuMjEuNywgdGhlIHByb3h5IHN0cmluZyBtYXkgIGJlICBzcGVjaWZpZWQgIHdpdGggIGFcbiIKKyIgICAgICAgICAgICAgIElmICBjdXJsICB3YXMgYnVpbHQgd2l0aCBzdXBwb3J0IGZvciBcIk11bHRpU1NMXCIsIG1lYW5pbmcgdGhhdCBpdFxuIgorIiAgICAgICAgICAgICAgaGFzIGJ1aWx0LWluIHN1cHBvcnQgZm9yIG1vcmUgdGhhbiBvbmUgVExTIGJhY2tlbmQsICB0aGlzICBlbnZpLVxuIgorIiAgICAgICAgICAgICAgcm9ubWVudCAgdmFyaWFibGUgY2FuIGJlIHNldCB0byB0aGUgY2FzZSBpbnNlbnNpdGl2ZSBuYW1lIG9mIHRoZVxuIgorIiAgICAgICAgICAgICAgcGFydGljdWxhciBiYWNrZW5kIHRvIHVzZSB3aGVuIGN1cmwgaXMgaW52b2t2ZWQuIFNldHRpbmcgYSAgbmFtZVxuIgorIiAgICAgICAgICAgICAgdGhhdCAgaXNuJ3QgYSBidWlsdC1pbiBhbHRlcm5hdGl2ZSwgd2lsbCBtYWtlIGN1cmwgc3RheSB3aXRoIHRoZVxuIgorIiAgICAgICAgICAgICAgZGVmYXVsdC5cbiIKKyJcbiIKKyIgICAgICAgUUxPR0RJUiA8ZGlyZWN0b3J5IG5hbWU+XG4iCissIHN0ZG91dCk7CisgZnB1dHMoCisiICAgICAgICAgICAgICBJZiBjdXJsIHdhcyBidWlsdCB3aXRoIEhUVFAvMyBzdXBwb3J0LCBzZXR0aW5nIHRoaXMgIGVudmlyb25tZW50XG4iCisiICAgICAgICAgICAgICB2YXJpYWJsZSAgdG8gIGEgIGxvY2FsIGRpcmVjdG9yeSB3aWxsIG1ha2UgY3VybCBwcm9kdWNlIHFsb2dzIGluXG4iCisiICAgICAgICAgICAgICB0aGF0IGRpcmVjdG9yeSwgdXNpbmcgZmlsZSBuYW1lcyAgbmFtZWQgIGFmdGVyICB0aGUgIGRlc3RpbmF0aW9uXG4iCisiICAgICAgICAgICAgICBjb25uZWN0aW9uICBpZCAgKGluICBoZXgpLiAgRG8gIG5vdGUgdGhhdCB0aGVzZSBmaWxlcyBjYW4gYmVjb21lXG4iCisiICAgICAgICAgICAgICByYXRoZXIgbGFyZ2UuIFdvcmtzIHdpdGggYm90aCBRVUlDIGJhY2tlbmRzLlxuIgorIlxuIgorIiAgICAgICBTU0xLRVlMT0dGSUxFIDxmaWxlIG5hbWU+XG4iCisiICAgICAgICAgICAgICBJZiB5b3Ugc2V0IHRoaXMgZW52aXJvbm1lbnQgdmFyaWFibGUgdG8gYSBmaWxlIG5hbWUsICBjdXJsICB3aWxsXG4iCissIHN0ZG91dCk7CisgZnB1dHMoCisiICAgICAgICAgICAgICBzdG9yZSBUTFMgc2VjcmV0cyBmcm9tIGl0cyBjb25uZWN0aW9ucyBpbiB0aGF0IGZpbGUgd2hlbiBpbnZva2VkXG4iCisiICAgICAgICAgICAgICB0byBlbmFibGUgeW91IHRvIGFuYWx5emUgdGhlIFRMUyB0cmFmZmljIGluIHJlYWwgdGltZSB1c2luZyBuZXQtXG4iCisiICAgICAgICAgICAgICB3b3JrIGFuYWx5emluZyB0b29scyBzdWNoIGFzIFdpcmVzaGFyay4gVGhpcyB3b3JrcyB3aXRoIHRoZSBmb2wtXG4iCisiICAgICAgICAgICAgICBsb3dpbmcgVExTIGJhY2tlbmRzOiBPcGVuU1NMLCBsaWJyZXNzbCwgQm9yaW5nU1NMLCAgR251VExTLCAgTlNTXG4iCisiICAgICAgICAgICAgICBhbmQgd29sZlNTTC5cbiIKKyJcbiIKKyJQUk9YWSBQUk9UT0NPTCBQUkVGSVhFU1xuIgorIiAgICAgICBTaW5jZSAgY3VybCAgdmVyc2lvbiAgNy4yMS43LCAgdGhlIHByb3h5IHN0cmluZyBtYXkgYmUgc3BlY2lmaWVkIHdpdGggYVxuIgorLCBzdGRvdXQpOworIGZwdXRzKAogIiAgICAgICBwcm90b2NvbDovLyBwcmVmaXggdG8gc3BlY2lmeSBhbHRlcm5hdGl2ZSBwcm94eSBwcm90b2NvbHMuXG4iCiAiXG4iCi0iICAgICAgIElmICBubyAgcHJvdG9jb2wgIGlzICBzcGVjaWZpZWQgIGluICB0aGUgIHByb3h5IHN0cmluZyBvciBpZiB0aGUgc3RyaW5nXG4iCi0iICAgICAgIGRvZXNuJ3QgbWF0Y2ggYSBzdXBwb3J0ZWQgb25lLCB0aGUgcHJveHkgd2lsbCBiZSAgdHJlYXRlZCAgYXMgIGFuICBIVFRQXG4iCisiICAgICAgIElmIG5vIHByb3RvY29sIGlzIHNwZWNpZmllZCBpbiAgdGhlICBwcm94eSAgc3RyaW5nICBvciAgaWYgIHRoZSAgc3RyaW5nXG4iCisiICAgICAgIGRvZXNuJ3QgIG1hdGNoICBhICBzdXBwb3J0ZWQgIG9uZSwgdGhlIHByb3h5IHdpbGwgYmUgdHJlYXRlZCBhcyBhbiBIVFRQXG4iCiAiICAgICAgIHByb3h5LlxuIgogIlxuIgogIiAgICAgICBUaGUgc3VwcG9ydGVkIHByb3h5IHByb3RvY29sIHByZWZpeGVzIGFyZSBhcyBmb2xsb3dzOlxuIgogIlxuIgogIiAgICAgICBodHRwOi8vXG4iCi0iICAgICAgICAgICAgICBNYWtlcyAgaXQgdXNlIGl0IGFzIGFuIEhUVFAgcHJveHkuIFRoZSBkZWZhdWx0IGlmIG5vIHNjaGVtZSBwcmUtXG4iCi0sIHN0ZG91dCk7Ci0gZnB1dHMoCisiICAgICAgICAgICAgICBNYWtlcyBpdCB1c2UgaXQgYXMgYW4gSFRUUCBwcm94eS4gVGhlIGRlZmF1bHQgaWYgbm8gc2NoZW1lICBwcmUtXG4iCiAiICAgICAgICAgICAgICBmaXggaXMgdXNlZC5cbiIKICJcbiIKICIgICAgICAgaHR0cHM6Ly9cbiIKICIgICAgICAgICAgICAgIE1ha2VzIGl0IHRyZWF0ZWQgYXMgYW4gSFRUUFMgcHJveHkuXG4iCiAiXG4iCissIHN0ZG91dCk7CisgZnB1dHMoCiAiICAgICAgIHNvY2tzNDovL1xuIgogIiAgICAgICAgICAgICAgTWFrZXMgaXQgdGhlIGVxdWl2YWxlbnQgb2YgLS1zb2NrczRcbiIKICJcbiIKQEAgLTQyNDAsMTIgKzQzMTUsMTIgQEAKICIgICAgICAgICAgICAgIE1ha2VzIGl0IHRoZSBlcXVpdmFsZW50IG9mIC0tc29ja3M1LWhvc3RuYW1lXG4iCiAiXG4iCiAiRVhJVCBDT0RFU1xuIgotIiAgICAgICBUaGVyZSBhcmUgYSBidW5jaCBvZiBkaWZmZXJlbnQgZXJyb3IgY29kZXMgYW5kIHRoZWlyIGNvcnJlc3BvbmRpbmcgIGVyLVxuIgotLCBzdGRvdXQpOwotIGZwdXRzKAorIiAgICAgICBUaGVyZSAgYXJlIGEgYnVuY2ggb2YgZGlmZmVyZW50IGVycm9yIGNvZGVzIGFuZCB0aGVpciBjb3JyZXNwb25kaW5nIGVyLVxuIgogIiAgICAgICByb3IgbWVzc2FnZXMgdGhhdCBtYXkgYXBwZWFyIGR1cmluZyBiYWQgY29uZGl0aW9ucy4gQXQgdGhlIHRpbWUgb2YgdGhpc1xuIgogIiAgICAgICB3cml0aW5nLCB0aGUgZXhpdCBjb2RlcyBhcmU6XG4iCiAiXG4iCissIHN0ZG91dCk7CisgZnB1dHMoCiAiICAgICAgIDEgICAgICBVbnN1cHBvcnRlZCBwcm90b2NvbC4gVGhpcyBidWlsZCBvZiBjdXJsIGhhcyBubyBzdXBwb3J0IGZvciB0aGlzXG4iCiAiICAgICAgICAgICAgICBwcm90b2NvbC5cbiIKICJcbiIKQEAgLTQyNTMsMTQgKzQzMjgsMTQgQEAKICJcbiIKICIgICAgICAgMyAgICAgIFVSTCBtYWxmb3JtZWQuIFRoZSBzeW50YXggd2FzIG5vdCBjb3JyZWN0LlxuIgogIlxuIgotIiAgICAgICA0ICAgICAgQSAgZmVhdHVyZSAgb3Igb3B0aW9uIHRoYXQgd2FzIG5lZWRlZCB0byBwZXJmb3JtIHRoZSBkZXNpcmVkIHJlLVxuIgotIiAgICAgICAgICAgICAgcXVlc3Qgd2FzIG5vdCBlbmFibGVkIG9yIHdhcyBleHBsaWNpdGx5IGRpc2FibGVkIGF0ICBidWlsZC10aW1lLlxuIgotLCBzdGRvdXQpOwotIGZwdXRzKAorIiAgICAgICA0ICAgICAgQSBmZWF0dXJlIG9yIG9wdGlvbiB0aGF0IHdhcyBuZWVkZWQgdG8gcGVyZm9ybSB0aGUgIGRlc2lyZWQgIHJlLVxuIgorIiAgICAgICAgICAgICAgcXVlc3QgIHdhcyBub3QgZW5hYmxlZCBvciB3YXMgZXhwbGljaXRseSBkaXNhYmxlZCBhdCBidWlsZC10aW1lLlxuIgogIiAgICAgICAgICAgICAgVG8gbWFrZSBjdXJsIGFibGUgdG8gZG8gdGhpcywgeW91IHByb2JhYmx5IG5lZWQgYW5vdGhlciBidWlsZCBvZlxuIgogIiAgICAgICAgICAgICAgbGliY3VybCFcbiIKICJcbiIKLSIgICAgICAgNSAgICAgIENvdWxkbid0IHJlc29sdmUgcHJveHkuIFRoZSBnaXZlbiBwcm94eSBob3N0IGNvdWxkICBub3QgIGJlICByZS1cbiIKKywgc3Rkb3V0KTsKKyBmcHV0cygKKyIgICAgICAgNSAgICAgIENvdWxkbid0ICByZXNvbHZlICBwcm94eS4gIFRoZSBnaXZlbiBwcm94eSBob3N0IGNvdWxkIG5vdCBiZSByZS1cbiIKICIgICAgICAgICAgICAgIHNvbHZlZC5cbiIKICJcbiIKICIgICAgICAgNiAgICAgIENvdWxkbid0IHJlc29sdmUgaG9zdC4gVGhlIGdpdmVuIHJlbW90ZSBob3N0IHdhcyBub3QgcmVzb2x2ZWQuXG4iCkBAIC00MjY5LDMyICs0MzQ0LDMyIEBACiAiXG4iCiAiICAgICAgIDggICAgICBXZWlyZCBzZXJ2ZXIgcmVwbHkuIFRoZSBzZXJ2ZXIgc2VudCBkYXRhIGN1cmwgY291bGRuJ3QgcGFyc2UuXG4iCiAiXG4iCi0iICAgICAgIDkgICAgICBGVFAgIGFjY2VzcyAgZGVuaWVkLiBUaGUgc2VydmVyIGRlbmllZCBsb2dpbiBvciBkZW5pZWQgYWNjZXNzIHRvXG4iCisiICAgICAgIDkgICAgICBGVFAgYWNjZXNzIGRlbmllZC4gVGhlIHNlcnZlciBkZW5pZWQgbG9naW4gb3IgZGVuaWVkICBhY2Nlc3MgIHRvXG4iCisiICAgICAgICAgICAgICB0aGUgIHBhcnRpY3VsYXIgIHJlc291cmNlIG9yIGRpcmVjdG9yeSB5b3Ugd2FudGVkIHRvIHJlYWNoLiBNb3N0XG4iCiAsIHN0ZG91dCk7CiAgZnB1dHMoCi0iICAgICAgICAgICAgICB0aGUgcGFydGljdWxhciByZXNvdXJjZSBvciBkaXJlY3RvcnkgeW91IHdhbnRlZCB0byAgcmVhY2guICBNb3N0XG4iCi0iICAgICAgICAgICAgICBvZnRlbiAgeW91ICB0cmllZCB0byBjaGFuZ2UgdG8gYSBkaXJlY3RvcnkgdGhhdCBkb2Vzbid0IGV4aXN0IG9uXG4iCisiICAgICAgICAgICAgICBvZnRlbiB5b3UgdHJpZWQgdG8gY2hhbmdlIHRvIGEgZGlyZWN0b3J5IHRoYXQgZG9lc24ndCAgZXhpc3QgIG9uXG4iCiAiICAgICAgICAgICAgICB0aGUgc2VydmVyLlxuIgogIlxuIgotIiAgICAgICAxMCAgICAgRlRQIGFjY2VwdCBmYWlsZWQuIFdoaWxlIHdhaXRpbmcgZm9yIHRoZSBzZXJ2ZXIgdG8gY29ubmVjdCAgYmFja1xuIgotIiAgICAgICAgICAgICAgd2hlbiAgYW4gYWN0aXZlIEZUUCBzZXNzaW9uIGlzIHVzZWQsIGFuIGVycm9yIGNvZGUgd2FzIHNlbnQgb3ZlclxuIgorIiAgICAgICAxMCAgICAgRlRQICBhY2NlcHQgZmFpbGVkLiBXaGlsZSB3YWl0aW5nIGZvciB0aGUgc2VydmVyIHRvIGNvbm5lY3QgYmFja1xuIgorIiAgICAgICAgICAgICAgd2hlbiBhbiBhY3RpdmUgRlRQIHNlc3Npb24gaXMgdXNlZCwgYW4gZXJyb3IgY29kZSB3YXMgc2VudCAgb3ZlclxuIgogIiAgICAgICAgICAgICAgdGhlIGNvbnRyb2wgY29ubmVjdGlvbiBvciBzaW1pbGFyLlxuIgogIlxuIgotIiAgICAgICAxMSAgICAgRlRQIHdlaXJkIFBBU1MgcmVwbHkuIEN1cmwgY291bGRuJ3QgcGFyc2UgdGhlIHJlcGx5IHNlbnQgdG8gIHRoZVxuIgorIiAgICAgICAxMSAgICAgRlRQICB3ZWlyZCBQQVNTIHJlcGx5LiBDdXJsIGNvdWxkbid0IHBhcnNlIHRoZSByZXBseSBzZW50IHRvIHRoZVxuIgogIiAgICAgICAgICAgICAgUEFTUyByZXF1ZXN0LlxuIgorIlxuIgogLCBzdGRvdXQpOwogIGZwdXRzKAotIlxuIgotIiAgICAgICAxMiAgICAgRHVyaW5nICBhbiAgYWN0aXZlICBGVFAgIHNlc3Npb24gd2hpbGUgd2FpdGluZyBmb3IgdGhlIHNlcnZlciB0b1xuIgorIiAgICAgICAxMiAgICAgRHVyaW5nIGFuIGFjdGl2ZSBGVFAgc2Vzc2lvbiB3aGlsZSB3YWl0aW5nICBmb3IgIHRoZSAgc2VydmVyICB0b1xuIgogIiAgICAgICAgICAgICAgY29ubmVjdCBiYWNrIHRvIGN1cmwsIHRoZSB0aW1lb3V0IGV4cGlyZWQuXG4iCiAiXG4iCi0iICAgICAgIDEzICAgICBGVFAgd2VpcmQgUEFTViByZXBseSwgQ3VybCBjb3VsZG4ndCBwYXJzZSB0aGUgcmVwbHkgc2VudCB0byAgdGhlXG4iCisiICAgICAgIDEzICAgICBGVFAgIHdlaXJkIFBBU1YgcmVwbHksIEN1cmwgY291bGRuJ3QgcGFyc2UgdGhlIHJlcGx5IHNlbnQgdG8gdGhlXG4iCiAiICAgICAgICAgICAgICBQQVNWIHJlcXVlc3QuXG4iCiAiXG4iCi0iICAgICAgIDE0ICAgICBGVFAgIHdlaXJkICAyMjcgIGZvcm1hdC4gIEN1cmwgIGNvdWxkbid0ICBwYXJzZSB0aGUgMjI3LWxpbmUgdGhlXG4iCisiICAgICAgIDE0ICAgICBGVFAgd2VpcmQgMjI3IGZvcm1hdC4gIEN1cmwgIGNvdWxkbid0ICBwYXJzZSAgdGhlICAyMjctbGluZSAgdGhlXG4iCiAiICAgICAgICAgICAgICBzZXJ2ZXIgc2VudC5cbiIKICJcbiIKLSIgICAgICAgMTUgICAgIEZUUCBjYW4ndCBnZXQgaG9zdC4gQ291bGRuJ3QgcmVzb2x2ZSB0aGUgaG9zdCBJUCB3ZSBnb3QgIGluICB0aGVcbiIKKyIgICAgICAgMTUgICAgIEZUUCAgY2FuJ3QgIGdldCBob3N0LiBDb3VsZG4ndCByZXNvbHZlIHRoZSBob3N0IElQIHdlIGdvdCBpbiB0aGVcbiIKICIgICAgICAgICAgICAgIDIyNy1saW5lLlxuIgogIlxuIgogLCBzdGRvdXQpOwpAQCAtNDMwMywyNSArNDM3OCwyNSBAQAogIiAgICAgICAgICAgICAgVGhpcyBpcyBzb21ld2hhdCBnZW5lcmljIGFuZCBjYW4gYmUgb25lIG91dCBvZiBzZXZlcmFsIHByb2JsZW1zLFxuIgogIiAgICAgICAgICAgICAgc2VlIHRoZSBlcnJvciBtZXNzYWdlIGZvciBkZXRhaWxzLlxuIgogIlxuIgotIiAgICAgICAxNyAgICAgRlRQICBjb3VsZG4ndCBzZXQgYmluYXJ5LiBDb3VsZG4ndCBjaGFuZ2UgdHJhbnNmZXIgbWV0aG9kIHRvIGJpLVxuIgorIiAgICAgICAxNyAgICAgRlRQIGNvdWxkbid0IHNldCBiaW5hcnkuIENvdWxkbid0IGNoYW5nZSB0cmFuc2ZlciBtZXRob2QgdG8gIGJpLVxuIgogIiAgICAgICAgICAgICAgbmFyeS5cbiIKICJcbiIKICIgICAgICAgMTggICAgIFBhcnRpYWwgZmlsZS4gT25seSBhIHBhcnQgb2YgdGhlIGZpbGUgd2FzIHRyYW5zZmVycmVkLlxuIgogIlxuIgotIiAgICAgICAxOSAgICAgRlRQIGNvdWxkbid0IGRvd25sb2FkL2FjY2VzcyB0aGUgZ2l2ZW4gZmlsZSwgdGhlIFJFVFIgKG9yICBzaW1pLVxuIgorIiAgICAgICAxOSAgICAgRlRQICBjb3VsZG4ndCBkb3dubG9hZC9hY2Nlc3MgdGhlIGdpdmVuIGZpbGUsIHRoZSBSRVRSIChvciBzaW1pLVxuIgogIiAgICAgICAgICAgICAgbGFyKSBjb21tYW5kIGZhaWxlZC5cbiIKICJcbiIKICwgc3Rkb3V0KTsKICBmcHV0cygKICIgICAgICAgMjEgICAgIEZUUCBxdW90ZSBlcnJvci4gQSBxdW90ZSBjb21tYW5kIHJldHVybmVkIGVycm9yIGZyb20gdGhlIHNlcnZlci5cbiIKLSIgICAgICAgMjIgICAgIEhUVFAgIHBhZ2Ugbm90IHJldHJpZXZlZC4gVGhlIHJlcXVlc3RlZCB1cmwgd2FzIG5vdCBmb3VuZCBvciByZS1cbiIKLSIgICAgICAgICAgICAgIHR1cm5lZCBhbm90aGVyIGVycm9yIHdpdGggdGhlICBIVFRQICBlcnJvciAgY29kZSAgYmVpbmcgIDQwMCAgb3JcbiIKKyIgICAgICAgMjIgICAgIEhUVFAgcGFnZSBub3QgcmV0cmlldmVkLiBUaGUgcmVxdWVzdGVkIHVybCB3YXMgbm90IGZvdW5kIG9yICByZS1cbiIKKyIgICAgICAgICAgICAgIHR1cm5lZCAgYW5vdGhlciAgZXJyb3IgIHdpdGggIHRoZSAgSFRUUCAgZXJyb3IgY29kZSBiZWluZyA0MDAgb3JcbiIKICIgICAgICAgICAgICAgIGFib3ZlLiBUaGlzIHJldHVybiBjb2RlIG9ubHkgYXBwZWFycyBpZiAtZiwgLS1mYWlsIGlzIHVzZWQuXG4iCiAiXG4iCi0iICAgICAgIDIzICAgICBXcml0ZSAgZXJyb3IuICBDdXJsIGNvdWxkbid0IHdyaXRlIGRhdGEgdG8gYSBsb2NhbCBmaWxlc3lzdGVtIG9yXG4iCisiICAgICAgIDIzICAgICBXcml0ZSBlcnJvci4gQ3VybCBjb3VsZG4ndCB3cml0ZSBkYXRhIHRvIGEgbG9jYWwgIGZpbGVzeXN0ZW0gIG9yXG4iCiAiICAgICAgICAgICAgICBzaW1pbGFyLlxuIgogIlxuIgotIiAgICAgICAyNSAgICAgRlRQIGNvdWxkbid0IFNUT1IgZmlsZS4gVGhlIHNlcnZlciBkZW5pZWQgIHRoZSAgU1RPUiAgb3BlcmF0aW9uLFxuIgorIiAgICAgICAyNSAgICAgRlRQICBjb3VsZG4ndCAgU1RPUiAgZmlsZS4gVGhlIHNlcnZlciBkZW5pZWQgdGhlIFNUT1Igb3BlcmF0aW9uLFxuIgogLCBzdGRvdXQpOwogIGZwdXRzKAogIiAgICAgICAgICAgICAgdXNlZCBmb3IgRlRQIHVwbG9hZGluZy5cbiIKQEAgLTQzMzMsMTMgKzQ0MDgsMTMgQEAKICIgICAgICAgMjggICAgIE9wZXJhdGlvbiB0aW1lb3V0LiBUaGUgc3BlY2lmaWVkIHRpbWUtb3V0IHBlcmlvZCB3YXMgcmVhY2hlZCBhYy1cbiIKICIgICAgICAgICAgICAgIGNvcmRpbmcgdG8gdGhlIGNvbmRpdGlvbnMuXG4iCiAiXG4iCi0iICAgICAgIDMwICAgICBGVFAgUE9SVCBmYWlsZWQuIFRoZSBQT1JUIGNvbW1hbmQgZmFpbGVkLiBOb3QgIGFsbCAgRlRQICBzZXJ2ZXJzXG4iCi0iICAgICAgICAgICAgICBzdXBwb3J0ICB0aGUgIFBPUlQgIGNvbW1hbmQsIHRyeSBkb2luZyBhIHRyYW5zZmVyIHVzaW5nIFBBU1YgaW4tXG4iCisiICAgICAgIDMwICAgICBGVFAgIFBPUlQgIGZhaWxlZC4gIFRoZSBQT1JUIGNvbW1hbmQgZmFpbGVkLiBOb3QgYWxsIEZUUCBzZXJ2ZXJzXG4iCisiICAgICAgICAgICAgICBzdXBwb3J0IHRoZSBQT1JUIGNvbW1hbmQsIHRyeSBkb2luZyBhIHRyYW5zZmVyICB1c2luZyAgUEFTViAgaW4tXG4iCiAiICAgICAgICAgICAgICBzdGVhZCFcbiIKICJcbiIKICwgc3Rkb3V0KTsKICBmcHV0cygKLSIgICAgICAgMzEgICAgIEZUUCBjb3VsZG4ndCB1c2UgUkVTVC4gVGhlIFJFU1QgY29tbWFuZCBmYWlsZWQuIFRoaXMgY29tbWFuZCAgaXNcbiIKKyIgICAgICAgMzEgICAgIEZUUCAgY291bGRuJ3QgdXNlIFJFU1QuIFRoZSBSRVNUIGNvbW1hbmQgZmFpbGVkLiBUaGlzIGNvbW1hbmQgaXNcbiIKICIgICAgICAgICAgICAgIHVzZWQgZm9yIHJlc3VtZWQgRlRQIHRyYW5zZmVycy5cbiIKICJcbiIKICIgICAgICAgMzMgICAgIEhUVFAgcmFuZ2UgZXJyb3IuIFRoZSByYW5nZSBcImNvbW1hbmRcIiBkaWRuJ3Qgd29yay5cbiIKQEAgLTQzNDgsNyArNDQyMyw3IEBACiAiXG4iCiAiICAgICAgIDM1ICAgICBTU0wgY29ubmVjdCBlcnJvci4gVGhlIFNTTCBoYW5kc2hha2luZyBmYWlsZWQuXG4iCiAiXG4iCi0iICAgICAgIDM2ICAgICBCYWQgIGRvd25sb2FkIHJlc3VtZS4gQ291bGRuJ3QgY29udGludWUgYW4gZWFybGllciBhYm9ydGVkIGRvd24tXG4iCisiICAgICAgIDM2ICAgICBCYWQgZG93bmxvYWQgcmVzdW1lLiBDb3VsZG4ndCBjb250aW51ZSBhbiBlYXJsaWVyIGFib3J0ZWQgIGRvd24tXG4iCiAiICAgICAgICAgICAgICBsb2FkLlxuIgogIlxuIgogLCBzdGRvdXQpOwpAQCAtNDM2OCwxNCArNDQ0MywxNCBAQAogIlxuIgogLCBzdGRvdXQpOwogIGZwdXRzKAotIiAgICAgICA0NSAgICAgSW50ZXJmYWNlICBlcnJvci4gIEEgIHNwZWNpZmllZCAgb3V0Z29pbmcgaW50ZXJmYWNlIGNvdWxkIG5vdCBiZVxuIgorIiAgICAgICA0NSAgICAgSW50ZXJmYWNlIGVycm9yLiBBIHNwZWNpZmllZCBvdXRnb2luZyAgaW50ZXJmYWNlICBjb3VsZCAgbm90ICBiZVxuIgogIiAgICAgICAgICAgICAgdXNlZC5cbiIKICJcbiIKICIgICAgICAgNDcgICAgIFRvbyBtYW55IHJlZGlyZWN0cy4gV2hlbiBmb2xsb3dpbmcgcmVkaXJlY3RzLCBjdXJsIGhpdCB0aGUgbWF4aS1cbiIKICIgICAgICAgICAgICAgIG11bSBhbW91bnQuXG4iCiAiXG4iCi0iICAgICAgIDQ4ICAgICBVbmtub3duICBvcHRpb24gIHNwZWNpZmllZCAgdG8gIGxpYmN1cmwuIFRoaXMgaW5kaWNhdGVzIHRoYXQgeW91XG4iCi0iICAgICAgICAgICAgICBwYXNzZWQgYSB3ZWlyZCBvcHRpb24gdG8gY3VybCB0aGF0IHdhcyBwYXNzZWQgb24gdG8gbGliY3VybCAgYW5kXG4iCisiICAgICAgIDQ4ICAgICBVbmtub3duIG9wdGlvbiBzcGVjaWZpZWQgdG8gbGliY3VybC4gIFRoaXMgIGluZGljYXRlcyAgdGhhdCAgeW91XG4iCisiICAgICAgICAgICAgICBwYXNzZWQgIGEgd2VpcmQgb3B0aW9uIHRvIGN1cmwgdGhhdCB3YXMgcGFzc2VkIG9uIHRvIGxpYmN1cmwgYW5kXG4iCiAiICAgICAgICAgICAgICByZWplY3RlZC4gUmVhZCB1cCBpbiB0aGUgbWFudWFsIVxuIgogIlxuIgogIiAgICAgICA0OSAgICAgTWFsZm9ybWVkIHRlbG5ldCBvcHRpb24uXG4iCkBAIC00Mzg0LDcgKzQ0NTksNyBAQAogIGZwdXRzKAogIiAgICAgICA1MSAgICAgVGhlIHBlZXIncyBTU0wgY2VydGlmaWNhdGUgb3IgU1NIIE1ENSBmaW5nZXJwcmludCB3YXMgbm90IE9LLlxuIgogIlxuIgotIiAgICAgICA1MiAgICAgVGhlICBzZXJ2ZXIgIGRpZG4ndCAgcmVwbHkgYW55dGhpbmcsIHdoaWNoIGhlcmUgaXMgY29uc2lkZXJlZCBhblxuIgorIiAgICAgICA1MiAgICAgVGhlIHNlcnZlciBkaWRuJ3QgcmVwbHkgYW55dGhpbmcsIHdoaWNoIGhlcmUgIGlzICBjb25zaWRlcmVkICBhblxuIgogIiAgICAgICAgICAgICAgZXJyb3IuXG4iCiAiXG4iCiAiICAgICAgIDUzICAgICBTU0wgY3J5cHRvIGVuZ2luZSBub3QgZm91bmQuXG4iCkBAIC00NDAxLDcgKzQ0NzYsNyBAQAogIlxuIgogLCBzdGRvdXQpOwogIGZwdXRzKAotIiAgICAgICA2MCAgICAgUGVlciBjZXJ0aWZpY2F0ZSBjYW5ub3QgYmUgYXV0aGVudGljYXRlZCB3aXRoIGtub3duIENBICBjZXJ0aWZpLVxuIgorIiAgICAgICA2MCAgICAgUGVlciAgY2VydGlmaWNhdGUgY2Fubm90IGJlIGF1dGhlbnRpY2F0ZWQgd2l0aCBrbm93biBDQSBjZXJ0aWZpLVxuIgogIiAgICAgICAgICAgICAgY2F0ZXMuXG4iCiAiXG4iCiAiICAgICAgIDYxICAgICBVbnJlY29nbml6ZWQgdHJhbnNmZXIgZW5jb2RpbmcuXG4iCkBAIC00NDE2LDcgKzQ0OTEsNyBAQAogIlxuIgogIiAgICAgICA2NiAgICAgRmFpbGVkIHRvIGluaXRpYWxpc2UgU1NMIEVuZ2luZS5cbiIKICJcbiIKLSIgICAgICAgNjcgICAgIFRoZSAgdXNlciAgbmFtZSwgIHBhc3N3b3JkLCBvciBzaW1pbGFyIHdhcyBub3QgYWNjZXB0ZWQgYW5kIGN1cmxcbiIKKyIgICAgICAgNjcgICAgIFRoZSB1c2VyIG5hbWUsIHBhc3N3b3JkLCBvciBzaW1pbGFyIHdhcyBub3QgIGFjY2VwdGVkICBhbmQgIGN1cmxcbiIKICIgICAgICAgICAgICAgIGZhaWxlZCB0byBsb2cgaW4uXG4iCiAiXG4iCiAsIHN0ZG91dCk7CkBAIC00NDQ5LDcgKzQ1MjQsNyBAQAogIlxuIgogIiAgICAgICA4MCAgICAgRmFpbGVkIHRvIHNodXQgZG93biB0aGUgU1NMIGNvbm5lY3Rpb24uXG4iCiAiXG4iCi0iICAgICAgIDgyICAgICBDb3VsZCBub3QgbG9hZCBDUkwgZmlsZSwgIG1pc3NpbmcgIG9yICB3cm9uZyAgZm9ybWF0ICAoYWRkZWQgIGluXG4iCisiICAgICAgIDgyICAgICBDb3VsZCAgbm90ICBsb2FkICBDUkwgIGZpbGUsICBtaXNzaW5nICBvciB3cm9uZyBmb3JtYXQgKGFkZGVkIGluXG4iCiAiICAgICAgICAgICAgICA3LjE5LjApLlxuIgogIlxuIgogIiAgICAgICA4MyAgICAgSXNzdWVyIGNoZWNrIGZhaWxlZCAoYWRkZWQgaW4gNy4xOS4wKS5cbiIKQEAgLTQ0ODAsNyArNDU1NSw3IEBACiAiQVVUSE9SUyAvIENPTlRSSUJVVE9SU1xuIgogLCBzdGRvdXQpOwogIGZwdXRzKAotIiAgICAgICBEYW5pZWwgU3RlbmJlcmcgaXMgdGhlIG1haW4gYXV0aG9yLCBidXQgdGhlIHdob2xlIGxpc3Qgb2YgIGNvbnRyaWJ1dG9yc1xuIgorIiAgICAgICBEYW5pZWwgIFN0ZW5iZXJnIGlzIHRoZSBtYWluIGF1dGhvciwgYnV0IHRoZSB3aG9sZSBsaXN0IG9mIGNvbnRyaWJ1dG9yc1xuIgogIiAgICAgICBpcyBmb3VuZCBpbiB0aGUgc2VwYXJhdGUgVEhBTktTIGZpbGUuXG4iCiAiXG4iCiAiV1dXXG4iCkBAIC00NTA2LDQwNzAgKzQ1ODEsNDE0OCBAQAogI2luY2x1ZGUgIm1lbWRlYnVnLmgiIC8qIGtlZXAgdGhpcyBhcyBMQVNUIGluY2x1ZGUgKi8KIHN0YXRpYyBjb25zdCB1bnNpZ25lZCBjaGFyIGh1Z2VoZWxwZ3pbXSA9IHsKICAgLyogVGhpcyBtdW1iby1qdW1ibyBpcyB0aGUgaHVnZSBoZWxwIHRleHQgY29tcHJlc3NlZCB3aXRoIGd6aXAuCi0gICAgIFRoYW5rcyB0byB0aGlzIG9wZXJhdGlvbiwgdGhlIHNpemUgb2YgdGhpcyBkYXRhIHNocmFuayBmcm9tIDE3MzY5MwotICAgICB0byA0ODcyNSBieXRlcy4gWW91IGNhbiBkaXNhYmxlIHRoZSB1c2Ugb2YgY29tcHJlc3NlZCBoZWxwCisgICAgIFRoYW5rcyB0byB0aGlzIG9wZXJhdGlvbiwgdGhlIHNpemUgb2YgdGhpcyBkYXRhIHNocmFuayBmcm9tIDE3Njg1MgorICAgICB0byA0OTY2MyBieXRlcy4gWW91IGNhbiBkaXNhYmxlIHRoZSB1c2Ugb2YgY29tcHJlc3NlZCBoZWxwCiAgICAgIHRleHRzIGJ5IE5PVCBwYXNzaW5nIC1jIHRvIHRoZSBta2hlbHAucGwgdG9vbC4gKi8KICAgMHgxZiwgMHg4YiwgMHgwOCwgMHgwMSwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMiwgMHgwMywgMHhlZCwgMHhiZCwKICAgMHg2YiwgMHg3NywgMHhkYywgMHhjNiwgMHhiMSwgMHgyZSwgMHhmYywgMHhkZCwgMHhiZiwgMHgwMiwgMHg2MSwgMHg1NiwKLSAgMHgwZSwgMHhjOSwgMHg5ZCwgMHg5OSwgMHhlMSwgMHg0ZCwgMHgxNywgMHg0YiwgMHg5MSwgMHhiMywgMHg0ZCwgMHg0YiwKLSAgMHg5NCwgMHhjZCwgMHg2ZCwgMHg0YSwgMHhlNCwgMHhkNiwgMHg1MCwgMHhiNiwgMHg3MywgMHg2MiwgMHgyZiwgMHgyZCwKLSAgMHhjYywgMHgwYywgMHg0OCwgMHhjMiwgMHg5YSwgMHgwMSwgMHgyNiwgMHgwMCwgMHg4NiwgMHg5NywgMHhlYywgMHg5MywKLSAgMHhmMywgMHhkYiwgMHhkZiwgMHhhZSwgMHhhNywgMHhhYSwgMHhiYSwgMHgxYiwgMHhlOCwgMHhjNiwgMHg5MCwgMHg3NiwKLSAgMHhhYywgMHg5YywgMHhkYiwgMHg5YiwgMHhiZCwgMHhiNiwgMHgyNSwgMHg5MSwgMHg0MCwgMHhhMywgMHgyZiwgMHhkNSwKLSAgMHg3NSwgMHhhZiwgMHhhNywgMHg5MiwgMHhlNCwgMHhiZSwgMHhmZiwgMHg3ZCwgMHhjMCwgMHhmZiwgMHg3ZiwgMHgzMCwKLSAgMHhmZiwgMHgzMywgMHg3ZiwgMHg3ZSwgMHg5NiwgMHgyNCwgMHg2NywgMHg1NSwgMHhmOSwgMHg3MywgMHgzNiwgMHg2ZCwKLSAgMHhlMiwgMHhjZiwgMHg3ZSwgMHhmOCwgMHhmMCwgMHgzZiwgMHgxMiwgMHhmZSwgMHgzZiwgMHhmMywgMHhjZSwgMHg4ZiwKLSAgMHhlNiwgMHhjZiwgMHhjZiwgMHhkNiwgMHg4ZSwgMHhiZCwgMHg5MywgMHhiOCwgMHgxNywgMHhmZSwgMHhjNywgMHg4NywKLSAgMHhlZCwgMHhlNCwgMHhiZSwgMHgxNywgMHhmZSwgMHg0NywgMHhiMiwgMHg4NSwgMHgxNywgMHgzZSwgMHhjOCwgMHgxNywKLSAgMHg1ZSwgMHhkMCwgMHhkZiwgMHgzZiwgMHg3YywgMHg1OCwgMHhmZiwgMHg5MSwgMHgxZiwgMHg2OSwgMHg1NiwgMHhmNCwKLSAgMHg5ZiwgMHgxZCwgMHg3YSwgMHhlZiwgMHhjNywgMHgwZiwgMHhmNCwgMHg1NywgMHhmMywgMHg5MywgMHhjZiwgMHgzZSwKLSAgMHg3YiwgMHg3YiwgMHhmOCwgMHhlNiwgMHg0OCwgMHg1ZiwgMHg5ZCwgMHhhZSwgMHhhYSwgMHg3OSwgMHgzMiwgMHg0YywKLSAgMHg5YSwgMHgyYSwgMHgyZCwgMHhlYSwgMHg4YiwgMHhhYywgMHg0YSwgMHhkMiwgMHhlNCwgMHhmZCwgMHhiYiwgMHg5MywKLSAgMHhjZiwgMHgzZSwgMHgxYiwgMHhmZiwgMHhlNSwgMHhlZCwgMHhlOSwgMHhkOSwgMHhmOCwgMHg3OCwgMHhkYywgMHg3YSwKLSAgMHhlYywgMHhhZiwgMHhlNSwgMHhiMiwgMHhjOSwgMHhjYiwgMHhhMiwgMHgzNiwgMHhkMywgMHgzNywgMHgwZiwgMHhkNSwKLSAgMHgzZiwgMHg3ZCwgMHhmNiwgMHhkOSwgMHhhYiwgMHhhMywgMHhmMSwgMHhjYiwgMHg3NywgMHhjNywgMHg2NywgMHhlNywKKyAgMHgwZSwgMHhjOSwgMHg5MywgMHg5OSwgMHhhMSwgMHg0OCwgMHhkZCwgMHgyYywgMHg0NiwgMHhjZSwgMHgzNiwgMHg0ZCwKKyAgMHg1MSwgMHgzNiwgMHhiNywgMHgyOSwgMHg5MSwgMHg1YiwgMHg0MywgMHhkOSwgMHhjZSwgMHg4OSwgMHhiZCwgMHhiNCwKKyAgMHgzMCwgMHgzMywgMHgyMCwgMHg4OSwgMHg2OCwgMHgwNiwgMHg5OCwgMHgwMCwgMHgxOCwgMHg1ZSwgMHhiMiwgMHg3NywKKyAgMHhjZSwgMHg2ZiwgMHg3ZiwgMHhiYiwgMHg5ZSwgMHhhYSwgMHhlYSwgMHg2ZSwgMHhhMCwgMHgxYiwgMHg0MywgMHhkYSwKKyAgMHhiMSwgMHg3YywgMHg2ZSwgMHg2ZiwgMHhmNiwgMHhkYSwgMHhiMiwgMHg0NCwgMHgwMiwgMHg4ZCwgMHhiZSwgMHg1NCwKKyAgMHhkNywgMHhiZCwgMHg5ZSwgMHg0YSwgMHg5MiwgMHhmYiwgMHhmZSwgMHhmNywgMHgwMSwgMHhmZiwgMHhmZiwgMHhjMSwKKyAgMHhmYywgMHhjZiwgMHhmYywgMHhmNywgMHhiMywgMHgyNCwgMHgzOSwgMHhhYiwgMHhjYSwgMHhiZiwgMHg2NSwgMHhkMywKKyAgMHgyNiwgMHhmZSwgMHhlYywgMHg4NywgMHgwZiwgMHhmZiwgMHg5NSwgMHhmMCwgMHhmZiwgMHg5OSwgMHg3NywgMHg3ZSwKKyAgMHgzNCwgMHhmZiwgMHhmZCwgMHg2YywgMHhlZCwgMHhkOCwgMHgzYiwgMHg4OSwgMHg3YiwgMHhlMSwgMHhiZiwgMHgzZSwKKyAgMHg2YywgMHgyNywgMHhmNywgMHhiZCwgMHhmMCwgMHg1ZiwgMHhjOSwgMHgxNiwgMHg1ZSwgMHhmOCwgMHgyMCwgMHg1ZiwKKyAgMHg3OCwgMHg0OSwgMHg3ZiwgMHhmZiwgMHhmMCwgMHg2MSwgMHhmZCwgMHg0NywgMHg3ZSwgMHhhNCwgMHg1OSwgMHhkMSwKKyAgMHgxZiwgMHgzYiwgMHhmNCwgMHhkZSwgMHg4ZiwgMHgxZiwgMHhlOCwgMHhhZiwgMHhlNiwgMHgyNywgMHg5ZiwgMHg3ZCwKKyAgMHhmNiwgMHhmNiwgMHhlMCwgMHhjZCwgMHg5MSwgMHhiZSwgMHgzYSwgMHg1ZCwgMHg1NSwgMHhmMywgMHg2NCwgMHg5OCwKKyAgMHgzNCwgMHg1NSwgMHg1YSwgMHhkNCwgMHgxNywgMHg1OSwgMHg5NSwgMHhhNCwgMHhjOSwgMHhmYiwgMHg3NywgMHgyNywKKyAgMHg5ZiwgMHg3ZCwgMHgzNiwgMHhmZSwgMHhjYiwgMHhkYiwgMHhkMywgMHhiMywgMHhmMSwgMHhmMSwgMHhiOCwgMHhmNSwKKyAgMHhkOCwgMHg1ZiwgMHhjYiwgMHg2NSwgMHg5MywgMHg5NywgMHg0NSwgMHg2ZCwgMHhhNiwgMHg2ZiwgMHgxZSwgMHhhYSwKKyAgMHg3ZiwgMHhmYSwgMHhlYywgMHhiMywgMHg1NywgMHg0NywgMHhlMywgMHhjMywgMHg3NywgMHhjNywgMHg2NywgMHhlNywKICAgMHhjNywgMHhhNywgMHg2ZiwgMHg1YiwgMHg0ZiwgMHgyNiwgMHg3OSwgMHg5ZCwgMHg5OCwgMHhhMSwgMHg5YSwgMHhiMiwKLSAgMHg5YywgMHg5YiwgMHhmZiwgMHhiOCwgMHhkMSwgMHg2NywgMHg2OSwgMHg5MywgMHgyNiwgMHgxNywgMHg1NSwgMHhiOSwKLSAgMHg0OCwgMHhjYSwgMHg4YSwgMHg3ZSwgMHg5MSwgMHgyNiwgMHg3NSwgMHg1NiwgMHg1ZCwgMHg2NywgMHhkNSwgMHgyMCwKLSAgMHg1OSwgMHhkNSwgMHg3OSwgMHg3MSwgMHg5OSwgMHg5NCwgMHg0NSwgMHg5NiwgMHg5NCwgMHgxNywgMHg0OSwgMHg3MywKLSAgMHg5NSwgMHhlOSwgMHg3MCwgMHhmNSwgMHg2YSwgMHhiOSwgMHgyYywgMHhhYiwgMHgyNiwgMHg5YiwgMHgyNSwgMHhjYiwKLSAgMHhhYSwgMHg2YywgMHhjYSwgMHg2OSwgMHgzOSwgMHhhZiwgMHg5MywgMHhhZCwgMHg1NywgMHhjNywgMHgyZiwgMHhjZiwKLSAgMHgwNywgMHhjOSwgMHhlYiwgMHhlMywgMHg5MywgMHgyMywgMHhmMywgMHhkZiwgMHhmMywgMHgzMywgMHhmYywgMHg2NywKLSAgMHgzYywgMHg0OCwgMHhiZSwgMHgzZSwgMHgzZCwgMHhmYiwgMHhlNiwgMHhlOCwgMHhkZCwgMHgyMCwgMHhmOSwgMHhlNiwKLSAgMHg5YywgMHg3ZSwgMHg0NiwgMHhmZiwgMHgzNSwgMHgzZiwgMHg0YywgMHg4ZSwgMHhkZiwgMHgxYywgMHg5ZSwgMHgwZCwKLSAgMHg3NCwgMHgzOCwgMHhmYSwgMHgwNywgMHhmZCwgMHhmMCwgMHhlNCwgMHg5NSwgMHhmOSwgMHgyMSwgMHhmZiwgMHg0MSwKLSAgMHhmZiwgMHg3YywgMHhmMywgMHg5ZiwgMHhlNywgMHg2NiwgMHhjMCwgMHhlNCwgMHhlYywgMHhmNCwgMHhlYywgMHg0MCwKLSAgMHhmZSwgMHgzMCwgMHgzZiwgMHg3ZCwgMHg3NywgMHhmZSwgMHhlNiwgMHg4YywgMHhmZSwgMHgzYiwgMHgzNiwgMHhmZiwKLSAgMHgxZCwgMHhiZiwgMHhhNCwgMHhmZiwgMHhlMCwgMHg1YiwgMHhlMywgMHgzNywgMHg1ZiwgMHhkOSwgMHhlMSwgMHhjYywKLSAgMHhkZiwgMHhjNywgMHhmNCwgMHgxMywgMHhmZSwgMHgzOSwgMHhiZSwgMHg3NywgMHg3ZSwgMHg3NCwgMHhmMiwgMHhmNiwKLSAgMHhlOCwgMHgzYywgMHg0OSwgMHg4YiwgMHg1OSwgMHg3MiwgMHg2ZSwgMHg5ZSwgMHhkZiwgMHgxZSwgMHgyNSwgMHhlNywKLSAgMHg1NywgMHg1OSwgMHgzMiwgMHgyZCwgMHgxNywgMHgwYiwgMHhmYSwgMHgxMSwgMHhlZCwgMHhjYiwgMHgyYywgMHhhYiwKLSAgMHhmMywgMHhjYiwgMHhjMiwgMHhhYywgMHg4OCwgMHg3NiwgMHgyMCwgMHhiOSwgMHgyOSwgMHhhYiwgMHg4ZiwgMHgzYSwKLSAgMHhkYywgMHg0ZCwgMHhkZSwgMHg1YywgMHg5NSwgMHhhYiwgMHhjNiwgMHg2YywgMHg4NiwgMHhkOSwgMHhhYiwgMHhiYywKLSAgMHg2OCwgMHhiMiwgMHgyYSwgMHg5ZCwgMHhkMiwgMHg4ZSwgMHg4ZiwgMHgzZSwgMHg2YiwgMHhlZCwgMHg2ZSwgMHg3OSwKLSAgMHg2MSwgMHhmNiwgMHhiMiwgMHgzNiwgMHg5YiwgMHgzNywgMHg1OSwgMHhkNSwgMHhmMywgMHgzMiwgMHg5ZCwgMHhkMSwKLSAgMHg5NiwgMHg5OSwgMHg1NywgMHgyZSwgMHg1NiwgMHg2NiwgMHhiMywgMHhhYiwgMHg3YywgMHhmYSwgMHhiMSwgMHg0ZSwKLSAgMHhlNiwgMHhmOSwgMHhjNywgMHg4YywgMHgzNiwgMHhlYywgMHhmNiwgMHg0ZSwgMHgzNywgMHg3MCwgMHhjMCwgMHg4MywKLSAgMHhhNiwgMHgyYiwgMHhiMywgMHhiNywgMHhjNSwgMHg1MCwgMHg4NywgMHg2YiwgMHhmMiwgMHg2OSwgMHg0YSwgMHgxZiwKLSAgMHhjMCwgMHgwZSwgMHgyNiwgMHhhYiwgMHgyNSwgMHg4ZCwgMHhjNiwgMHgzYiwgMHg5NywgMHgyYywgMHhjYiwgMHhkYSwKLSAgMHhiYywgMHgzNCwgMHgxZSwgMHg5ZiwgMHg5OCwgMHhiOSwgMHgxNywgMHg0NSwgMHg4NiwgMHg3OSwgMHhkNCwgMHgwMywKLSAgMHhmMywgMHg4ZiwgMHhmMiwgMHg2MywgMHg5ZSwgMHg5OSwgMHhiZiwgMHg1YywgMHhlNCwgMHhmMywgMHgyYywgMHhlMSwKLSAgMHg5MywgMHhiNSwgMHhjMywgMHhkMSwgMHgxMSwgMHgyNywgMHg1NSwgMHg1NiwgMHhhZiwgMHgxNiwgMHgxOSwgMHg2ZCwKLSAgMHg2YSwgMHhkNiwgMHhhNCwgMHhmMywgMHhiYywgMHhmOCwgMHg2OCwgMHhmZSwgMHg0YSwgMHg0YiwgMHg1ZiwgMHg5NCwKLSAgMHg1NSwgMHgzNiwgMHg0YSwgMHgwZSwgMHhlYiwgMHhlNCwgMHhhZSwgMHg1YywgMHg5OSwgMHg5NSwgMHhjZSwgMHhlNywKLSAgMHhlNiwgMHhlYywgMHhiMywgMHg2NCwgMHg5MiwgMHhjZCwgMHhjYiwgMHg5YiwgMHgwMSwgMHg5ZCwgMHg3OCwgMHg1MiwKLSAgMHhhYywgMHgxNiwgMHgxMywgMHgzMywgMHg0MCwgMHg3OSwgMHhlMSwgMHg4NiwgMHg0YiwgMHg5YiwgMHg5NSwgMHgxOSwKLSAgMHg4ZSwgMHg5ZiwgMHg1ZSwgMHhhNCwgMHg2NiwgMHg0ZCwgMHhlNiwgMHhkZCwgMHgyYSwgMHhiOSwgMHhjYSwgMHhjYywKLSAgMHg5YSwgMHhlYiwgMHg2NSwgMHg1ZSwgMHhmYywgMHhhZSwgMHhiZCwgMHgyZiwgMHg2NiwgMHg3MywgMHg5NywgMHhlNSwKLSAgMHg0ZCwgMHg1NiwgMHg5OSwgMHhhZCwgMHg5ZCwgMHhkYywgMHgyNSwgMHg2NiwgMHgxMywgMHgyNiwgMHg0YywgMHg4YywKLSAgMHgxNywgMHg4NiwgMHhkOCwgMHg5MiwgMHhkNCwgMHgwYywgMHg2MSwgMHgwOSwgMHg3MSwgMHg1OCwgMHg2NSwgMHhmMywKLSAgMHg5NCwgMHg4OCwgMHhjYSwgMHg3ZSwgMHg2MywgMHg2NCwgMHgwZSwgMHgzMywgMHhiMywgMHg1NCwgMHgyNywgMHhhZiwKLSAgMHg2ZSwgMHgxZCwgMHg2YywgMHhlMywgMHhlNSwgMHg5OSwgMHg1OSwgMHg0OSwgMHgzZSwgMHhhZiwgMHhjZCwgMHgzMSwKLSAgMHhkMCwgMHhlNSwgMHg5MCwgMHg2NywgMHhlOCwgMHg1OCwgMHhlOSwgMHgxZSwgMHgxOCwgMHgxYSwgMHhiZCwgMHgyYiwKLSAgMHg5YSwgMHhmNCwgMHgxNiwgMHg5ZiwgMHgxNywgMHgxYSwgMHgxZCwgMHhjZSwgMHhiMiwgMHg2NSwgMHg1NiwgMHhjYywKLSAgMHhiMiwgMHhhMiwgMHgxOSwgMHgyNSwgMHg3ZiwgMHgyOSwgMHg1NywgMHg5YiwgMHhlNiwgMHhkYiwgMHgxNywgMHhiOSwKLSAgMHhkOSwgMHg4MywgMHg1NCwgMHg4NiwgMHgzMiwgMHg1ZiwgMHgzNiwgMHg1NCwgMHgzMCwgMHhhZCwgMHhmMiwgMHhhNSwKLSAgMHg3NywgMHgxNCwgMHg2NSwgMHg2MSwgMHhjZSwgMHgzYywgMHg3OSwgMHhmNywgMHhmYSwgMHg2NSwgMHg3MiwgMHhmMCwKLSAgMHhlYywgMHhmMywgMHgyNywgMHhlZSwgMHhjYywgMHhjZCwgMHgwMCwgMHhjOSwgMHgzNCwgMHgyZCwgMHhjYywgMHg4YSwKLSAgMHhiMywgMHg2OSwgMHg3ZSwgMHg3MSwgMHg5NywgMHgyYywgMHg1NiwgMHhmMywgMHgyNiwgMHg1ZiwgMHg5YSwgMHhkZCwKLSAgMHhhNywgMHg0YiwgMHg0OCwgMHgxNywgMHg2OSwgMHg5OSwgMHg1NiwgMHg0ZCwgMHg0ZCwgMHg0NCwgMHg4MCwgMHgxZiwKLSAgMHg2MCwgMHhlZCwgMHgzNywgMHg1NSwgMHhkZSwgMHhkMCwgMHg4NSwgMHhjMiwgMHhlZiwgMHhjYywgMHgwYywgMHhiMywKLSAgMHhhNiwgMHhmNiwgMHg4OSwgMHhjYywgMHg3YywgMHg2NywgMHg2MiwgMHg2OCwgMHhjYiwgMHg2YywgMHgyZCwgMHg5ZCwKLSAgMHhjYywgMHhkZiwgMHg1NiwgMHgyNSwgMHgxZSwgMHhhNiwgMHg0MywgMHhhMCwgMHgwNSwgMHhhNSwgMHhiNSwgMHg5OSwKLSAgMHhjOCwgMHhmMywgMHhjZiwgMHgxYywgMHg3NywgMHhkOSwgMHhiOCwgMHg2YSwgMHg5YSwgMHhlNSwgMHhmMywgMHg5ZCwKLSAgMHg5ZCwgMHgzYSwgMHg2ZiwgMHhiMiwgMHhkMSwgMHg3ZiwgMHg5OSwgMHg0YiwgMHgzYSwgMHg2OCwgMHg2ZSwgMHhjYSwKLSAgMHg0MSwgMHg3MywgMHg1NSwgMHg2NSwgMHhkOSwgMHgzZiwgMHg0NiwgMHg4NiwgMHhiNCwgMHgzNywgMHhlYywgMHhiMywKLSAgMHg2NiwgMHgzNiwgMHg3NywgMHgzMiwgMHhkZCwgMHhjYiwgMHhhYywgMHgzMSwgMHhkZiwgMHhmZCwgMHhkYiwgMHgyYSwKLSAgMHgyYiwgMHhlOCwgMHgzYiwgMHg2NiwgMHg3NiwgMHhlOSwgMHg3YywgMHg3OSwgMHg5NSwgMHg5YSwgMHg0MywgMHhjZSwKLSAgMHgwYywgMHg4ZCwgMHhkMiwgMHhiZCwgMHgzNywgMHg2NCwgMHg0NCwgMHg3MywgMHhlNSwgMHg5YiwgMHhmZiwgMHhkNywKLSAgMHg5ZiwgMHhjMiwgMHhjZiwgMHg1ZSwgMHhlMCwgMHhhMywgMHhlNiwgMHhiZiwgMHhhMywgMHhlYywgMHgzNiwgMHg1ZCwKLSAgMHg5OCwgMHgxNSwgMHhkMywgMHhiNywgMHg3NiwgMHg4OCwgMHhmMCwgMHhmZSwgMHhiYSwgMHgzNywgMHhkYywgMHhkYiwKLSAgMHhkZCwgMHhmZCwgMHg2OSwgMHhkNCwgMHhkYywgMHgzNiwgMHgwZiwgMHg3YiwgMHg3ZSwgMHg3NywgMHhkNywgMHhiZCwKLSAgMHg0MSwgMHg4ZiwgMHg2ZSwgMHhkMSwgMHgyZSwgMHgyNCwgMHg3MywgMHg0MywgMHg0OCwgMHhmNCwgMHhmMSwgMHhiZiwKLSAgMHg2NywgMHg1NSwgMHg1OSwgMHg2ZiwgMHgzZiwgMHg2YywgMHhhNCwgMHg3NCwgMHhmOCwgMHhmNywgMHhmNiwgMHg3NywKLSAgMHhkZiwgMHg2NiwgMHgzNSwgMHgyOCwgMHhjOSwgMHhhZCwgMHgzNSwgMHg0OSwgMHgyYiwgMHg0MywgMHhjZCwgMHg2NSwKLSAgMHhlMywgMHg5OCwgMHhkNywgMHhjMCwgMHg1YywgMHhkNSwgMHhjNiwgMHhlZSwgMHg4YywgMHhiOSwgMHg4OSwgMHhlNiwKLSAgMHg2OSwgMHhjMywgMHhmNiwgMHhkMiwgMHgzOSwgMHg3MSwgMHhiYywgMHgzYSwgMHgyOSwgMHgzMiwgMHgzMywgMHg5ZSwKLSAgMHhkMiwgMHg0MSwgMHg5OSwgMHg2NCwgMHhlOSwgMHhmNCwgMHgyYSwgMHgyOSwgMHhjZCwgMHg2OSwgMHg1NCwgMHhmZSwKLSAgMHg2ZSwgMHhjOCwgMHgxOSwgMHhmOCwgMHgxMywgMHg0YSwgMHhhYiwgMHhlOSwgMHg1NSwgMHg3ZSwgMHg2ZCwgMHg3NiwKLSAgMHhlMywgMHhkOSwgMHhiMywgMHgyNywgMHg0MywgMHhmMywgMHg5ZiwgMHg2NywgMHgzZiwgMHhlZCwgMHg1YywgMHg5NywKLSAgMHg3MywgMHhiMywgMHgzOSwgMHg4ZiwgMHg3ZSwgMHhkYSwgMHhhMSwgMHg4MywgMHhmZiwgMHhhZiwgMHg3NCwgMHgzMCwKLSAgMHgxOSwgMHg0YywgMHhmZiwgMHgzMSwgMHhiYSwgMHg2YSwgMHgxNiwgMHhmMywgMHg1ZSwgMHg3MiwgMHg0YSwgMHgwYiwKLSAgMHhmMywgMHhmZiwgMHg4YiwgMHg3MiwgMHg1NSwgMHgzNCwgMHg5NiwgMHg4NCwgMHgwYywgMHgyNSwgMHgzNiwgMHgxZSwKLSAgMHhkMywgMHgzMiwgMHg5NywgMHhkOCwgMHhkYywgMHg1YywgMHgyMiwgMHg3OCwgMHhhMiwgMHgyYywgMHhiYSwgMHg4YiwKLSAgMHhlNiwgMHhkYSwgMHhiYSwgMHg0YiwgMHhkYSwgMHg0YywgMHhhZiwgMHg2OCwgMHhmZCwgMHg4NiwgMHhhNiwgMHg1MiwKLSAgMHhkOSwgMHg4NCwgMHgyNiwgMHg0ZiwgMHhlOSwgMHhiZSwgMHgxYSwgMHhiNiwgMHg0MSwgMHg2YywgMHgwYywgMHg2MywKLSAgMHhmMSwgMHhkNywgMHg3MiwgMHhmMywgMHg2MCwgMHg1OSwgMHhjZCwgMHhiMiwgMHg2YSwgMHhkNCwgMHg5ZCwgMHg4NiwKLSAgMHhiZCwgMHhjOCwgMHhkZSwgMHgzNywgMHgxMywgMHg5NSwgMHgzNywgMHhmNCwgMHgwMywgMHg0YywgMHg2YywgMHg5MSwKLSAgMHhkZiwgMHg5YSwgMHgxMSwgMHhjMCwgMHg0OCwgMHgwYiwgMHg0YywgMHg5YywgMHg0NywgMHg0YiwgMHg2OCwgMHhjNiwKLSAgMHhmOCwgMHg4YywgMHhiZSwgMHhlZiwgMHgyZSwgMHhiMiwgMHg5OSwgMHg3YSwgMHg2YiwgMHhlOSwgMHhmOCwgMHhhOCwKLSAgMHg1YiwgMHg3YywgMHg2MiwgMHgwZSwgMHg2ZiwgMHg2OSwgMHhkZSwgMHg1YSwgMHgxMSwgMHhiNywgMHhjNSwgMHg2NSwKLSAgMHhhNywgMHg2MSwgMHgwYywgMHg5YiwgMHhiOCwgMHgzNCwgMHhlNywgMHg2MiwgMHhjZSwgMHg4MiwgMHhhOCwgMHg5OCwKLSAgMHg4ZSwgMHhlYSwgMHgyZSwgMHg3OSwgMHg2YiwgMHgwOCwgMHg4NiwgMHg1OSwgMHg5NCwgMHg0NywgMHhlYywgMHhmMywKLSAgMHhhYywgMHg2OSwgMHhlZSwgMHgzZCwgMHgyNiwgMHg0NywgMHhiMSwgMHhjZiwgMHhmNywgMHgwMiwgMHhhMiwgMHhlZCwKLSAgMHg3YiwgMHhkZSwgMHhkMCwgMHhkOSwgMHhmMywgMHhmZCwgMHhmNiwgMHhjMywgMHhkZiwgMHgxYiwgMHhkNiwgMHhlZCwKLSAgMHhhZSwgMHg4YiwgMHhmOSwgMHhmYSwgMHg3ZiwgMHhmZCwgMHhjMywgMHhhMywgMHhiYSwgMHgxYiwgMHhmYSwgMHg2ZCwKLSAgMHg1ZSwgMHg1YywgMHg5NywgMHgxZiwgMHhjZCwgMHgxNiwgMHg0MSwgMHhjNiwgMHhhNiwgMHhlZCwgMHhkZCwgMHgyNCwKLSAgMHhlZSwgMHhiNCwgMHg1OCwgMHgzNiwgMHg1NiwgMHg3OCwgMHgxMSwgMHgzOSwgMHg5YSwgMHgxZiwgMHg0ZCwgMHhkMiwKLSAgMHhjOSwgMHhmYywgMHgyZSwgMHhiOSwgMHg0YSwgMHhhZiwgMHgzMywgMHg1YSwgMHhlZiwgMHhkMiwgMHhkMCwgMHgyOSwKLSAgMHhlZCwgMHg4MCwgMHgxMSwgMHgyNiwgMHg3MywgMHgzMCwgMHgwMywgMHg2MSwgMHgxNywgMHhiMywgMHg3MiwgMHgzNSwKLSAgMHgzMSwgMHgyYywgMHg4NywgMHg1OCwgMHgwNSwgMHg2ZiwgMHg0YywgMHg3YSwgMHg1ZCwgMHhlNiwgMHhiMywgMHg5NiwKLSAgMHhhNCwgMHhiZSwgMHhjYSwgMHg4OCwgMHhjZCwgMHhkMSwgMHg4NywgMHgyMSwgMHhiYSwgMHgwYywgMHg5YiwgMHhhNSwKLSAgMHg5OSwgMHhlMiwgMHhhMiwgMHhlNSwgMHgwZCwgMHg4OSwgMHg0MSwgMHhjMywgMHgyMCwgMHhkMywgMHg3OSwgMHg2ZCwKLSAgMHg2NCwgMHhkZSwgMHg2NSwgMHg0OSwgMHhiNywgMHgwNCwgMHg2YywgMHgxOSwgMHg2NCwgMHg2ZSwgMHgwZSwgMHhlNSwKLSAgMHgyYSwgMHgyNSwgMHg1OSwgMHg2NywgMHhjNCwgMHg5YSwgMHhiZCwgMHgwNywgMHg1NSwgMHgwNiwgMHgwZSwgMHg4ZCwKLSAgMHg5MywgMHg0YSwgMHhlNywgMHgwMywgMHg5NiwgMHg2OSwgMHhmNCwgMHg4ZSwgMHg2YywgMHg1NSwgMHhiMiwgMHhmOSwKLSAgMHhkZiwgMHgzNiwgMHgwNywgMHhjOSwgMHhlNiwgMHhiZiwgMHg2ZiwgMHg4MiwgMHgxZSwgMHgzNiwgMHhmZiwgMHg2ZCwKLSAgMHhkMywgMHg5ZCwgMHhiMywgMHg1MSwgMHhkNSwgMHhhZSwgMHhmMywgMHg1OSwgMHhjNiwgMHgyNCwgMHg3MSwgMHg3YywKLSAgMHg3NiwgMHhmZCwgMHgyNCwgMHhmOSwgMHgzYiwgMHg2OSwgMHgxNiwgMHg4NiwgMHgwMywgMHg2NywgMHhiNywgMHg0YSwKLSAgMHg5MCwgMHhiYSwgMHgzNiwgMHhmMywgMHg3NiwgMHg2MiwgMHg1OCwgMHg3MSwgMHhiYSwgMHgyNCwgMHgxNSwgMHgyMywKLSAgMHhhYiwgMHhhNiwgMHg4NiwgMHg3YSwgMHhkMywgMHg0YiwgMHg0MywgMHhhZiwgMHg0NiwgMHg0NCwgMHhlYiwgMHg3MCwKLSAgMHgzNCwgMHgzZSwgMHhiZCwgMHhjMiwgMHhjYiwgMHgzMiwgMHg2YywgMHgzMywgMHgyOSwgMHhkMiwgMHg4NSwgMHhiOSwKLSAgMHgxMSwgMHgyNywgMHgzNCwgMHhhMywgMHhiYywgMHgwOCwgMHgwZiwgMHhmMywgMHhhZiwgMHgxNywgMHhkOSwgMHhlNywKLSAgMHhiYiwgMHhjZiwgMHg5ZiwgMHgxZiwgMHhmYywgMHg2MSwgMHhmZiwgMHg3MSwgMHhkNiwgMHg1YywgMHhlZCwgMHhmZSwKLSAgMHhiNCwgMHg2MywgMHgxZiwgMHgzOSwgMHhiZSwgMHhjMCwgMHhiNiwgMHgyYiwgMHhmOSwgMHhlOSwgMHgyNCwgMHg0OCwKLSAgMHhlOCwgMHhhYiwgMHhlYywgMHgzMCwgMHhlZiwgMHg5YiwgMHhiZiwgMHg2NywgMHgxNywgMHhmOSwgMHhlZCwgMHg0MCwKLSAgMHhiNSwgMHgyOSwgMHhiZSwgMHg3MywgMHhhOSwgMHgyMSwgMHgzNSwgMHg3MywgMHg3ZSwgMHhjNCwgMHgyMiwgMHg3NCwKLSAgMHhiOCwgMHhjYiwgMHg1NSwgMHg1NiwgMHg5YiwgMHg5ZCwgMHhiYywgMHhiOSwgMHg0YSwgMHg5YiwgMHhjNCwgMHgwZSwKLSAgMHhjMCwgMHgyNywgMHhiYiwgMHhjOCwgMHgyZiwgMHhhZiwgMHg5YSwgMHhlNCwgMHgyNiwgMHgyNSwgMHgxMSwgMHg3NCwKLSAgMHhkYywgMHhmMCwgMHgxMCwgMHgyNCwgMHhmYiwgMHg4ZCwgMHhlMCwgMHhiOSwgMHg0OCwgMHg4ZCwgMHgwNCwgMHhhMSwKLSAgMHgzMywgMHg4NCwgMHhhMCwgMHgzNywgMHg5YywgMHhjOSwgMHhlZCwgMHhmOSwgMHg5ZCwgMHgxYywgMHg4OCwgMHg1MywKLSAgMHhiNiwgMHgyNiwgMHg2OSwgMHg0ZCwgMHg5NywgMHhiNiwgMHgzMCwgMHhjYywgMHhhMSwgMHgzMSwgMHg5YSwgMHhjMywKLSAgMHg4YSwgMHhmZSwgMHg3NSwgMHg2NSwgMHg3NCwgMHgwMywgMHhlYywgMHg4MSwgMHg0YywgMHgxNCwgMHhlMiwgMHhmMywKLSAgMHgzNSwgMHgxZCwgMHgyNywgMHg5ZCwgMHg4ZCwgMHgxNSwgMHg2OSwgMHhlNiwgMHg5MCwgMHgwNiwgMHg3MiwgMHhjYywKLSAgMHhmNiwgMHg4ZCwgMHhkYSwgMHg1YywgMHgzOCwgMHhjMywgMHg5OSwgMHgyYywgMHg2NSwgMHg2YywgMHgxMCwgMHg5MywKLSAgMHhkZCwgMHhlMCwgMHg3NSwgMHg2MiwgMHg4ZSwgMHg2OSwgMHg0ZCwgMHhlYSwgMHgwMywgMHgyYiwgMHgwOSwgMHg2NiwKLSAgMHhmMiwgMHhkZSwgMHg2MiwgMHhjZCwgMHhhNiwgMHhhNSwgMHgxZiwgMHg0OSwgMHg1MSwgMHhlOSwgMHhhOCwgMHg0MywKLSAgMHg3OCwgMHg2ZCwgMHg1NiwgMHgxYSwgMHgyMiwgMHgzMywgMHhiMywgMHgzNSwgMHhjYywgMHg5OCwgMHg1NiwgMHg0NiwKLSAgMHgyYywgMHgxNiwgMHhiYiwgMHgwMiwgMHgyMiwgMHgzNywgMHg2MywgMHhkMiwgMHgwZiwgMHhmMywgMHg4NiwgMHg2NCwKLSAgMHgwYywgMHgzNCwgMHg1YywgMHgzMywgMHg1ZiwgMHhiMywgMHgyOSwgMHg1MCwgMHhjNywgMHgwYywgMHhhMywgMHhmNiwKLSAgMHhkNiwgMHgwZiwgMHhhMSwgMHg0OSwgMHg3YSwgMHhkOSwgMHhiNSwgMHhkMSwgMHg1ZCwgMHg4YywgMHhiYSwgMHg5YSwKLSAgMHhkOSwgMHhiNywgMHgyMCwgMHhlNSwgMHhhNywgMHhhNCwgMHgzMSwgMHhjZCwgMHhjZCwgMHg3ZCwgMHg5OSwgMHg5NiwKLSAgMHg1NSwgMHg0NSwgMHhkNiwgMHgwMCwgMHg5ZCwgMHhlMCwgMHg4NCwgMHg5OSwgMHhlOCwgMHgyMiwgMHgzMywgMHhjYSwKLSAgMHg4NSwgMHhiZiwgMHg5ZCwgMHgzOSwgMHgwOSwgMHgzNCwgMHhjMywgMHg1ZiwgMHg4YywgMHhiNiwgMHgwMiwgMHgwZSwKLSAgMHg2MiwgMHhiNCwgMHgwYSwgMHhmMCwgMHg3YywgMHgyYywgMHgxYywgMHhiMywgMHhhMywgMHhiMSwgMHhhNywgMHhkMywKLSAgMHg2YywgMHhkOSwgMHhkNCwgMHhiMSwgMHgzNSwgMHhlOSwgMHg4MSwgMHg5YiwgMHhlOSwgMHg1NCwgMHgxOSwgMHhlZCwKLSAgMHhiYywgMHhhZiwgMHg4YSwgMHg2MSwgMHg1ZiwgMHhhZCwgMHgyYSwgMHgwMCwgMHg2ZCwgMHg0YywgMHhiNSwgMHgxYiwKLSAgMHhhMywgMHg5ZCwgMHhkNSwgMHg3NiwgMHhkNywgMHgxYSwgMHhkMCwgMHg4NiwgMHg2MSwgMHg2MywgMHhkOCwgMHhmMywKLSAgMHgwNSwgMHg0ZCwgMHg5NCwgMHgxZSwgMHhhZSwgMHhmOSwgMHhhNiwgMHg4MiwgMHgzNSwgMHhkMywgMHg0MSwgMHhiMiwKLSAgMHgxZSwgMHhjZSwgMHhkZiwgMHgyNSwgMHhkMSwgMHg2NSwgMHhmNiwgMHhkMywgMHgwZSwgMHg2ZSwgMHhiZSwgMHg2YSwKLSAgMHhjZiwgMHg5NCwgMHgzZSwgMHg0ZiwgMHgwNiwgMHg4MCwgMHg5MSwgMHhlNCwgMHhiMywgMHhmYSwgMHhjYSwgMHhhOCwKLSAgMHg2NCwgMHhiNSwgMHhkYywgMHhlYywgMHg3YywgMHg2MSwgMHg2OCwgMHhlNiwgMHg5YSwgMHhjZSwgMHg3NywgMHg5OSwKLSAgMHg2NSwgMHhiMywgMHg1MSwgMHg3MiwgMHg3YSwgMHg0MSwgMHg1YywgMHhiNSwgMHgzMiwgMHg5MywgMHg2ZSwgMHhmMCwKLSAgMHg2YiwgMHg5MiwgMHgyYSwgMHg2NiwgMHhkZiwgMHg2NiwgMHg1MCwgMHhmMSwgMHhlZCwgMHhkNSwgMHhlMiwgMHhhOSwKLSAgMHg3OCwgMHhkMiwgMHgwMSwgMHg5YywgMHgzYywgMHgzNSwgMHgzZiwgMHgzMSwgMHhiMywgMHg5ZCwgMHhiNywgMHg0NSwKLSAgMHgxMCwgMHhlZSwgMHhhMSwgMHhlMSwgMHhkZSwgMHgzNCwgMHhiZCwgMHg0OSwgMHg5NiwgMHg4MCwgMHgxMiwgMHgyNywKLSAgMHg1OSwgMHg3MywgMHg5MywgMHg2NSwgMHg3NiwgMHhiOCwgMHgzYSwgMHgzMywgMHg2MiwgMHg4ZiwgMHgwZSwgMHg4ZCwKLSAgMHhmNSwgMHg0MSwgMHgzMCwgMHg0MywgMHhkYSwgMHhkYSwgMHhiMywgMHg3NywgMHhhNywgMHg1ZiwgMHhiZiwgMHgzYiwKLSAgMHgxYSwgMHg4ZiwgMHg5MywgMHgzNywgMHg0NywgMHhlNywgMHg0NywgMHhlZiwgMHg1YSwgMHgzYiwgMHg1ZCwgMHg5NCwKLSAgMHhkNSwgMHgwMiwgMHgyNywgMHgzYSwgMHhjYiwgMHhlYiwgMHhlNSwgMHgzYywgMHhiZCwgMHhhMywgMHhhMywgMHgzNiwKLSAgMHgyYiwgMHhiOSwgMHhhYywgMHhlOCwgMHg2NiwgMHgyZCwgMHgzMiwgMHg5MiwgMHgwYSwgMHhiMywgMHgxNSwgMHgzOCwKLSAgMHg5OSwgMHgxMSwgMHg0NywgMHhlNiwgMHhmOCwgMHg0NCwgMHgwZiwgMHgyNiwgMHg2NiwgMHgwMiwgMHhlNSwgMHhiOSwKLSAgMHhiOCwgMHg3NCwgMHgzYiwgMHg2ZCwgMHgzOCwgMHg4ZSwgMHg0OCwgMHg1MiwgMHgxMiwgMHhhNSwgMHhmNiwgMHgzYywKLSAgMHg0OCwgMHgyMSwgMHg4NSwgMHhlOSwgMHgzMywgMHg3MCwgMHgzZiwgMHhlMywgMHg2ZCwgMHg2MiwgMHhkMSwgMHg2NiwKLSAgMHg2OCwgMHgzNiwgMHg1ZiwgMHg4MCwgMHhkOSwgMHg5OSwgMHgzZiwgMHg5ZCwgMHgwZSwgMHg5YSwgMHg1ZCwgMHgxOCwKLSAgMHgwNSwgMHhkYywgMHg0OCwgMHg1NywgMHhiNiwgMHgyMCwgMHhiYSwgMHg3MywgMHhkMiwgMHhkOSwgMHg1YSwgMHhhZCwKLSAgMHhkOSwgMHg5MCwgMHg2MSwgMHgyMywgMHgwYSwgMHgxZCwgMHg0ZiwgMHg4NSwgMHhiZiwgMHg2MCwgMHg5OSwgMHg5OCwKLSAgMHhkMSwgMHg0OSwgMHg4OCwgMHhmNywgMHhjOSwgMHg2MywgMHg0YiwgMHg5YSwgMHg0MiwgMHg2NiwgMHg0ZSwgMHg3NiwKLSAgMHhjNiwgMHhjMywgMHhkNywgMHhhYiwgMHgwYiwgMHg1YywgMHhlNCwgMHg2NCwgMHhjYiwgMHhlOCwgMHhlYiwgMHg2ZiwKLSAgMHg4YywgMHgyZCwgMHg2NSwgMHgyYywgMHg5OSwgMHg0MSwgMHg3MiwgMHhiNiwgMHg4ZCwgMHhmNywgMHhmNiwgMHg3NiwKLSAgMHhmNywgMHgxZiwgMHgzMSwgMHgyMywgMHgxOCwgMHhlOSwgMHg3MCwgMHhhZiwgMHgzZCwgMHg0NiwgMHhiYywgMHhmNywKLSAgMHg5MSwgMHg4ZSwgMHg5NywgMHgxZiwgMHhhMiwgMHhjMSwgMHg0NywgMHhjOSwgMHhkZSwgMHgxYiwgMHhmZSwgMHhjOSwKLSAgMHhhMywgMHhjZiwgMHgxZiwgMHgzZiwgMHg3ZCwgMHgyMiwgMHgzZiwgMHg2YywgMHgxMywgMHhiOCwgMHg5ZCwgMHgzZiwKLSAgMHhhOCwgMHgwMywgMHg3NiwgMHgyMSwgMHgxOSwgMHg4YSwgMHg2NiwgMHgyNiwgMHg2NiwgMHg3NSwgMHg4YiwgMHhiYywKLSAgMHgzMCwgMHhkNywgMHhjNCwgMHg1YywgMHgyYiwgMHhlMSwgMHg1NSwgMHg0NCwgMHhjZiwgMHg2NiwgMHhmMiwgMHgxNywKLSAgMHhjYywgMHhkOSwgMHhlNCwgMHg1YywgMHhkYiwgMHgwNiwgMHhhNywgMHg3OSwgMHhkOSwgMHg5MCwgMHhhYywgMHhlMSwKLSAgMHhlNSwgMHhmNiwgMHg5MCwgMHg1OCwgMHg0ZCwgMHg2OCwgMHg2OCwgMHgyMiwgMHhlOSwgMHg4NCwgMHgxOCwgMHhhYywKLSAgMHg3OSwgMHg4NCwgMHhkNCwgMHhlMiwgMHgyYywgMHhmYSwgMHgzNSwgMHgyYiwgMHgxNSwgMHhjZCwgMHgxYiwgMHg2NiwKLSAgMHg2ZSwgMHg0NiwgMHgyNiwgMHg5MiwgMHg5OCwgMHgwYiwgMHhmNywgMHhkZCwgMHhiMCwgMHgwMiwgMHg3MCwgMHhjOCwKLSAgMHg5YiwgMHhiYywgMHgwNiwgMHg2YiwgMHhiOCwgMHgyOSwgMHg1NywgMHg3MywgMHg2MywgMHhkYiwgMHhkMCwgMHgwMywKLSAgMHhhYiwgMHgyNSwgMHg1ZSwgMHgzMCwgMHg5ZiwgMHg1YSwgMHgzYSwgMHgxZSwgMHg2MCwgMHgzNCwgMHgxNiwgMHhhMiwKLSAgMHg5ZCwgMHhlZSwgMHgyOCwgMHg2NiwgMHg2YSwgMHhlNiwgMHg5ZiwgMHg0YiwgMHg0MywgMHg0YSwgMHgzYywgMHg5ZCwKLSAgMHg1MSwgMHg1NywgMHg0MiwgMHg4MCwgMHhmNywgMHgwNSwgMHg5NCwgMHg0OCwgMHg3NywgMHgxZSwgMHg0YywgMHhmYiwKLSAgMHhlYywgMHg3NCwgMHg3YywgMHg0ZSwgMHgxYSwgMHhjMCwgMHhkOSwgMHhmYiwgMHg3MywgMHgzMywgMHg5MCwgMHg1MSwKLSAgMHgwMSwgMHhlYSwgMHhjNiwgMHgxMCwgMHgyNSwgMHhiZCwgMHg1OCwgMHg2NCwgMHg0NCwgMHg0NywgMHhmNiwgMHhmYSwKLSAgMHgxYiwgMHhkYSwgMHhjYiwgMHhjMSwgMHhhOCwgMHhhMCwgMHhkNiwgMHhlOCwgMHgyNywgMHg3OSwgMHg4ZSwgMHg2YywKLSAgMHg4MSwgMHhkMywgMHgxNSwgMHg1NCwgMHhmYiwgMHg5YiwgMHg2NSwgMHhiOCwgMHg3ZCwgMHgyNywgMHhkOSwgMHhmYSwKLSAgMHhmMywgMHhiNiwgMHhhMSwgMHhkOSwgMHg2MSwgMHg2OSwgMHg3NywgMHg2NywgMHgzOCwgMHg5NCwgMHg1NywgMHhjZCwKLSAgMHhiNywgMHhlYiwgMHg3YywgMHg5MSwgMHhjZiwgMHhkMywgMHhjYSwgMHg5YiwgMHgzYSwgMHg3MywgMHg1NCwgMHhiYSwKLSAgMHg5ZiwgMHg5NiwgMHhhZiwgMHg0YywgMHgwZCwgMHhkNSwgMHg2MCwgMHhkYSwgMHhjZSwgMHhjMCwgMHhhNCwgMHgzZCwKLSAgMHgwNCwgMHg1NywgMHg3MiwgMHg0NywgMHgzNSwgMHgyMywgMHg4NSwgMHgwMCwgMHgxYSwgMHhmMywgMHgzMiwgMHhiNywKLSAgMHg1YiwgMHg0NywgMHg2NywgMHg0NiwgMHhlYywgMHhhYSwgMHhiNSwgMHg1MSwgMHhkZCwgMHg3MywgMHgwYiwgMHgzNiwKLSAgMHg4ZSwgMHgyNCwgMHgxMiwgMHhmYywgMHgxOCwgMHg3NiwgMHhlYiwgMHg5MiwgMHg4ZCwgMHg0OSwgMHg1YSwgMHg2ZCwKLSAgMHgyNCwgMHg5NiwgMHgxNywgMHhmMywgMHhkZCwgMHhhNCwgMHgxYiwgMHg1MiwgMHg2NSwgMHg5NywgMHgyYiwgMHhiMywKLSAgMHg4MiwgMHg4NCwgMHg3NywgMHg5NywgMHg1NiwgMHhmYSwgMHg3YiwgMHg2ZiwgMHhhNSwgMHgzYSwgMHhjMCwgMHg3MCwKLSAgMHg0MiwgMHg4ZiwgMHhlNCwgMHgzNSwgMHgxYiwgMHg5ZiwgMHgxNywgMHhjNiwgMHg2ZSwgMHhhMSwgMHg0YiwgMHhhMywKLSAgMHhmYSwgMHgyYiwgMHgzNCwgMHgxYSwgMHhhMSwgMHg5OCwgMHgwOCwgMHhjMSwgMHg3OCwgMHg3YSwgMHhhZCwgMHhiOSwKLSAgMHgyYSwgMHg0ZCwgMHg2NiwgMHgxOCwgMHgwZCwgMHhkOCwgMHgzZiwgMHgzZCwgMHgzOSwgMHgzNCwgMHg0NywgMHgzNiwKLSAgMHgxYywgMHhkNiwgMHg2NiwgMHhmZiwgMHg0OSwgMHhmNywgMHg1ZSwgMHg4YSwgMHhhNSwgMHg3ZiwgMHgwYSwgMHg3NywKLSAgMHg4YSwgMHhmNSwgMHhiYywgMHg5YywgMHg4YSwgMHgwZSwgMHgwYywgMHhiMSwgMHhjOSwgMHhlZiwgMHg4MiwgMHg4NSwKLSAgMHgxYSwgMHg0NSwgMHhmNSwgMHhjNiwgMHg3YywgMHgzOCwgMHgzNSwgMHg0NywgMHg2NiwgMHgyZSwgMHhkYywgMHgxYiwKLSAgMHhkYSwgMHgyOCwgMHhmNiwgMHg5YywgMHgyNCwgMHg1NiwgMHg2ZCwgMHgwNiwgMHg2NSwgMHhlNCwgMHg3NCwgMHhlZiwKLSAgMHg1MywgMHhhNywgMHhjYiwgMHhjYywgMHg2NiwgMHgzOSwgMHhmZCwgMHhkNiwgMHhkYywgMHgyZiwgMHgyMywgMHhlMSwKLSAgMHg1NiwgMHgxOSwgMHg2YywgMHgwZiwgMHhkOSwgMHhkNCwgMHg4NSwgMHhkYiwgMHg0YywgMHgxOCwgMHhiNywgMHhmNSwKLSAgMHg1NSwgMHg0OSwgMHhjNiwgMHhlMywgMHgwNiwgMHhmMywgMHhlMiwgMHgyMSwgMHg3ZCwgMHg2YiwgMHgwMywgMHhmMiwKLSAgMHg3YywgMHg5MSwgMHhlOCwgMHhiNywgMHhlNCwgMHg1MywgMHg2NiwgMHgxZCwgMHgzMywgMHg1ZiwgMHgzNywgMHgxYiwKLSAgMHgxOCwgMHg0MSwgMHg3MywgMHhlNywgMHgxOSwgMHgwOSwgMHhlMCwgMHhkNSwgMHgzYywgMHhmNywgMHhjYSwgMHgyYSwKLSAgMHgzYywgMHg0NiwgMHhhNCwgMHgyZSwgMHg0OSwgMHg5OSwgMHgxMiwgMHgxZSwgMHgwZSwgMHg2MSwgMHg4OCwgMHgyYiwKLSAgMHg1YiwgMHhmMywgMHhkNCwgMHgwNiwgMHg2NiwgMHg2ZiwgMHhlOSwgMHhjOSwgMHhjYiwgMHgyYiwgMHg3ZCwgMHhkNCwKLSAgMHgxMywgMHhhYywgMHhhOSwgMHg1OSwgMHgxYywgMHgwOSwgMHgwNywgMHhiMiwgMHhiMiwgMHg2NywgMHhjYSwgMHhmNywKLSAgMHhjYiwgMHg4YSwgMHg5OSwgMHhkOSwgMHhiYywgMHgzNCwgMHhiNCwgMHhiYywgMHhjMSwgMHgyYSwgMHhhYiwgMHg0YywKLSAgMHg5YiwgMHg2NiwgMHg0ZCwgMHhiMywgMHhhNCwgMHgxZCwgMHg2NywgMHgyZiwgMHg1NCwgMHg2OSwgMHhjZiwgMHhjNiwKLSAgMHg0ZSwgMHg1YSwgMHhmNiwgMHhhYiwgMHhiZSwgMHg3NywgMHg2YSwgMHg2ZSwgMHhhMywgMHhjNiwgMHhkOCwgMHgyMywKLSAgMHgyMywgMHgzYSwgMHg2YiwgMHhhMiwgMHg2MywgMHhkZCwgMHg3OSwgMHg5MCwgMHhiNywgMHgxMSwgMHg3NSwgMHg5YiwKLSAgMHgwZCwgMHhkZiwgMHg0NywgMHhkOCwgMHg1OCwgMHg5ZCwgMHg5ZCwgMHhhZiwgMHg0MSwgMHgzZSwgMHgyMiwgMHhjOCwKLSAgMHhlYywgMHhjYSwgMHhjYywgMHg4YSwgMHg2NiwgMHg3OSwgMHgwYSwgMHgzYSwgMHhlMSwgMHhhMywgMHg4MSwgMHgzMiwKLSAgMHhlMiwgMHgyYywgMHhjMiwgMHg4OCwgMHgxZSwgMHg3YywgMHhkNywgMHgzNSwgMHhlOCwgMHhlNiwgMHg3MywgMHg1ZiwKLSAgMHgyNCwgMHhlOSwgMHg5YywgMHg4NiwgMHhhNywgMHg2NiwgMHhlZCwgMHgyNywgMHg1OCwgMHhjNywgMHhmMCwgMHgzYSwKLSAgMHhhMSwgMHhlYiwgMHg2NywgMHhjYywgMHgwNiwgMHhiYSwgMHg4YiwgMHhjMywgMHhkMywgMHg5MywgMHg2YiwgMHhlZiwKLSAgMHgxYSwgMHg5MSwgMHhlNSwgMHg1ZSwgMHg5MCwgMHg5ZSwgMHgzMiwgMHg4MCwgMHhjZiwgMHg2NCwgMHg1MiwgMHg5NiwKLSAgMHhjNiwgMHg0YywgMHg3NiwgMHg0YiwgMHgyMywgMHg3OSwgMHg5MCwgMHgxNSwgMHg0NCwgMHhlZCwgMHg3MiwgMHhhMiwKLSAgMHg4NiwgMHgyNSwgMHgyYywgMHgyZCwgMHhiZiwgMHhiZCwgMHgzMywgMHhlNiwgMHg1MiwgMHg3YSwgMHg5OSwgMHhlNiwKLSAgMHg5NiwgMHhkZSwgMHhlNCwgMHg2NiwgMHhjYywgMHgxMiwgMHg3ZCwgMHhiOCwgMHgyOCwgMHhlNSwgMHg3OSwgMHgzYSwKLSAgMHgyYSwgMHg1MiwgMHg4MSwgMHg4NCwgMHg2ZiwgMHhhZCwgMHg2YSwgMHhiZSwgMHgzZSwgMHg2NiwgMHg1NSwgMHg4NiwKLSAgMHhmMywgMHg4MCwgMHg3NywgMHhjOCwgMHhiOCwgMHhhNCwgMHgzNiwgMHhlYSwgMHg3MCwgMHgxMywgMHgyOCwgMHhjYSwKLSAgMHhhNCwgMHg3MywgMHg4MiwgMHhmOSwgMHg0MiwgMHg4MywgMHgzNCwgMHgyMywgMHg2ZSwgMHg4YywgMHg5MiwgMHg2ZiwKLSAgMHhjYSwgMHg5YiwgMHgwYywgMHg5ZSwgMHg0NCwgMHhlOCwgMHhmNywgMHgzOSwgMHhmOSwgMHhjMCwgMHg4YywgMHgyYSwKLSAgMHg3OCwgMHg5MywgMHgyNSwgMHgwYiwgMHhhMywgMHg3YSwgMHg5YSwgMHhkZCwgMHg4NCwgMHhmNiwgMHg4MSwgMHg5ZiwKLSAgMHg3OSwgMHhlNiwgMHhhMSwgMHhhMSwgMHhmMCwgMHgxYiwgMHhkZSwgMHgyNSwgMHhiYiwgMHgwYSwgMHg3YiwgMHg5NCwKLSAgMHgxNywgMHg3YywgMHgyNSwgMHg5MiwgMHgyZCwgMHhhOCwgMHgzNywgMHg1MywgMHhkYSwgMHhhZCwgMHg2NSwgMHhlMywKLSAgMHg1NiwgMHg2MSwgMHgzNywgMHhlNCwgMHgyNiwgMHhhZCwgMHhiZCwgMHhjYiwgMHg5NSwgMHhjMSwgMHgzNCwgMHg3ZCwKLSAgMHgzYSwgMHhkYSwgMHg3YiwgMHgzNiwgMHhkYSwgMHgxZCwgMHgxOSwgMHg0MywgMHgyNCwgMHhiYiwgMHhjZSwgMHhjYiwKLSAgMHg1NSwgMHg2ZCwgMHgzZSwgMHg0ZCwgMHhkMywgMHg3MCwgMHhlZiwgMHg2NCwgMHg3NCwgMHgyYiwgMHg5YiwgMHhmMiwKLSAgMHhmMiwgMHg3MiwgMHhjZSwgMHgzYSwgMHhjZiwgMHg0ZSwgMHg3OSwgMHg3MSwgMHhjMSwgMHhiYSwgMHg4ZiwgMHhkMSwKLSAgMHhmNCwgMHhhYywgMHhmZSwgMHhjYywgMHgxNiwgMHgxMCwgMHhlZCwgMHg4YywgMHg1YywgMHgzNywgMHg2NiwgMHhhOSwKLSAgMHhhMSwgMHg4OSwgMHgzYywgMHg3MiwgMHhjZSwgMHg4YiwgMHhlMSwgMHgzMCwgMHg5ZCwgMHhkNCwgMHgwZCwgMHgxOSwKLSAgMHg1MywgMHhjMywgMHg1NSwgMHg5MSwgMHhkZiwgMHgwZSwgMHhlYiwgMHg3MiwgMHhmYSwgMHhkMSwgMHgxYywgMHhjYSwKLSAgMHg4YiwgMHg2NSwgMHhkYSwgMHg1YywgMHhmZCwgMHhiOSwgMHhlMywgMHgzMCwgMHhkZSwgMHgyMiwgMHg1OSwgMHhiMiwKLSAgMHg5ZCwgMHgyNCwgMHgyZiwgMHg1OSwgMHhhZCwgMHhhNCwgMHg5ZCwgMHhhOCwgMHhmOCwgMHhiZSwgMHg5OSwgMHhkMywKLSAgMHg5NCwgMHg1MSwgMHg5MiwgMHhmNywgMHg2NiwgMHgxNCwgMHg0MywgMHhjYiwgMHgwYiwgMHg3MywgMHhhOCwgMHgwOSwKLSAgMHgwZiwgMHgzNiwgMHg1MCwgMHg1NiwgMHhkYSwgMHgxOSwgMHgwZSwgMHg2ZSwgMHg0OCwgMHg3NSwgMHgyNCwgMHgxNSwKLSAgMHhlNiwgMHhlYSwgMHg5NCwgMHhkNSwgMHg0NywgMHhhMywgMHg2OCwgMHhiZiwgMHgzNSwgMHgyNiwgMHhlMywgMHg3MywKLSAgMHhmYSwgMHhiNywgMHg2MSwgMHg2MSwgMHgwZCwgMHhiNiwgMHg1YywgMHgyNCwgMHhhYiwgMHg5OSwgMHgxMSwgMHgzMywKLSAgMHg2MywgMHhiMiwgMHhjOCwgMHhkMywgMHhjOSwgMHhiMCwgMHgzMywgMHg5YywgMHg3YywgMHg1ZiwgMHgzZSwgMHg5YSwKLSAgMHhhOCwgMHhhZCwgMHhhMSwgMHhhNCwgMHg5NCwgMHg2YywgMHg3ZSwgMHg2OSwgMHhlYywgMHhiZiwgMHgyYiwgMHgzZSwKLSAgMHg3NiwgMHgwYywgMHhjOCwgMHg2YiwgMHgzNCwgMHgxNCwgMHg3YSwgMHg2OSwgMHgyYywgMHg4OCwgMHhhMiwgMHhlOSwKLSAgMHgwZSwgMHg3NywgMHgwNSwgMHg1MSwgMHg0ZCwgMHg1MiwgMHg4NiwgMHg4ZCwgMHg1ZCwgMHgxMCwgMHg4OSwgMHg3OCwKLSAgMHg4MCwgMHhhYywgMHhmZCwgMHgzOSwgMHhmYSwgMHhhYywgMHhmMywgMHhkYSwgMHhhMSwgMHgzYiwgMHhkMywgMHhjNywKLSAgMHgwNywgMHhlNiwgMHg0YywgMHhmZCwgMHg4ZCwgMHg5ZSwgMHgzNywgMHhjMywgMHhmYSwgMHg3YSwgMHg5YSwgMHhiYywKLSAgMHg4MCwgMHhmNiwgMHg0ZCwgMHg2NCwgMHgxYSwgMHhkZCwgMHhlMCwgMHhmMSwgMHg3NiwgMHhmMiwgMHhmZCwgMHhlMSwKLSAgMHhiYiwgMHhiNywgMHhjNywgMHg2ZiwgMHhiZiwgMHg3ZSwgMHhjZSwgMHgxZiwgMHgxNSwgMHg0YSwgMHgzMywgMHg3ZiwKLSAgMHhjYiwgMHg2ZSwgMHg4ZCwgMHgwOCwgMHhjYywgMHg2OSwgMHhiMiwgMHg0NiwgMHg5MiwgMHgyNSwgMHhhZiwgMHg0YSwKLSAgMHhjYywgMHg4ZSwgMHhjZSwgMHhkYiwgMHg3YywgMHhjZiwgMHhjOCwgMHg5MSwgMHhlZSwgMHg4ZSwgMHhjYywgMHg1NiwKLSAgMHgxZCwgMHg3NywgMHhiMCwgMHhlNSwgMHhkNiwgMHg2ZSwgMHg1NCwgMHhiZSwgMHg5YiwgMHhiYywgMHhjMywgMHgzYSwKLSAgMHg0MSwgMHhjMywgMHgxYywgMHhkOSwgMHhhMywgMHgwYywgMHg2NSwgMHg2OSwgMHg0NCwgMHhhMiwgMHgxMiwgMHgzNiwKLSAgMHhiZSwgMHg0ZSwgMHhiYiwgMHgzMywgMHhkYywgMHhiMiwgMHgzNCwgMHg5NiwgMHgyZSwgMHgxYiwgMHhmOSwgMHg2NiwKLSAgMHhiYywgMHg1YiwgMHg3MywgMHg2NywgMHg2OCwgMHg4YiwgMHg3NCwgMHhiMCwgMHhhOSwgMHhlMSwgMHg0NSwgMHg5OSwKLSAgMHg2OCwgMHgwZCwgMHhlMCwgMHg3MywgMHhiMCwgMHgxOSwgMHg4NCwgMHg4ZiwgMHg4ZCwgMHg5MiwgMHhjMywgMHg4YiwKLSAgMHhlZSwgMHhhYywgMHg0OSwgMHg3MSwgMHgyMSwgMHg5NSwgMHg1ZSwgMHg0NSwgMHhlMCwgMHhjYywgMHg2OSwgMHhjMSwKLSAgMHhlYywgMHhmOCwgMHhlNSwgMHgxMSwgMHg3NSwgMHg5OCwgMHhkYSwgMHgxYywgMHhjZSwgMHg0YywgMHhjNSwgMHgzYywKLSAgMHg3ZCwgMHhhNiwgMHgzMywgMHgxYywgMHhlYywgMHg0ZSwgMHhmMCwgMHgxOCwgMHhkMiwgMHgwOCwgMHg3MywgMHgzYSwKLSAgMHg0ZCwgMHhiMiwgMHhmYiwgMHgwYywgMHg5NywgMHg1ZSwgMHg5NCwgMHgzMywgMHgxOCwgMHgxMSwgMHhjMSwgMHhmZSwKLSAgMHg4YywgMHhhZCwgMHhiNywgMHg2NywgMHg2MywgMHhjMywgMHhhZCwgMHgzYSwgMHhkOSwgMHgyMiwgMHhiZiwgMHg5ZiwKLSAgMHgyMSwgMHg4MSwgMHhlMiwgMHhiMiwgMHhiOSwgMHhkYSwgMHg3NiwgMHgzZSwgMHgwZCwgMHhkMiwgMHg1MSwgMHhjYywKLSAgMHg4MiwgMHg3NywgMHhjYywgMHg0NCwgMHhiMCwgMHhlZSwgMHhhMiwgMHg0YiwgMHhlNywgMHhmMCwgMHg0NCwgMHg0MywKLSAgMHhlZCwgMHhmYywgMHg3OSwgMHg1NSwgMHgzNywgMHgzMCwgMHg4NSwgMHg0NCwgMHhmNiwgMHhmMywgMHg0YSwgMHhjYywKLSAgMHhjYywgMHgxNiwgMHhkOSwgMHhhMiwgMHhhYywgMHhlZSwgMHg4MiwgMHg4OSwgMHgxYywgMHg0MywgMHhmMywgMHgyMCwKLSAgMHhhYiwgMHg1MywgMHg0ZSwgMHg4YiwgMHg4OCwgMHgwMCwgMHhjMiwgMHg1MSwgMHhmZCwgMHg4MSwgMHg2NCwgMHgwMSwKLSAgMHg5MCwgMHg5YiwgMHhkZCwgMHgxYSwgMHg4MSwgMHhkMCwgMHg5OCwgMHgwYywgMHhmNywgMHgzMSwgMHhjNiwgMHhiNywKLSAgMHhmMywgMHhlMSwgMHhhYSwgMHhmNSwgMHgwNCwgMHgyZiwgMHgwZiwgMHgxYiwgMHhmNiwgMHg2MiwgMHg0YSwgMHg0ZCwKLSAgMHhjNCwgMHg3ZiwgMHgzMywgMHg0ZiwgMHg4OSwgMHhkZCwgMHgxNCwgMHg1OSwgMHhlYiwgMHg3NCwgMHgyMCwgMHgzNiwKLSAgMHg3OCwgMHg1OSwgMHhlYiwgMHhlOCwgMHhmYywgMHhjOSwgMHhhMywgMHhkMSwgMHg1ZSwgMHg4YiwgMHhjZSwgMHg4YiwKLSAgMHgzYiwgMHg4YSwgMHgxYiwgMHhjNCwgMHg5OSwgMHhjNywgMHhiOSwgMHhkMSwgMHgxOCwgMHg2YiwgMHg5ZSwgMHhhZiwKLSAgMHhkOSwgMHhjMSwgMHg4YiwgMHhmYywgMHg3MiwgMHg1NSwgMHg2NSwgMHhhYywgMHhiYSwgMHgyMSwgMHhkNCwgMHhhMCwKLSAgMHgxMSwgMHgwNiwgMHhkMiwgMHg4NiwgMHhhZSwgMHg0YSwgMHgzOCwgMHhlNiwgMHg4ZCwgMHgxNCwgMHhjZCwgMHhlNiwKLSAgMHgxNywgMHg4MywgMHhjZSwgMHg3MCwgMHhiMCwgMHg1YiwgMHg4OCwgMHhmNCwgMHgzMSwgMHg3ZCwgMHg3MCwgMHg0YiwKLSAgMHg2MywgMHg5ZiwgMHg2MCwgMHhiMCwgMHgyMiwgMHgxMywgMHhlZCwgMHg3NSwgMHg2MSwgMHgzOCwgMHg0OSwgMHg0MiwKLSAgMHg0ZSwgMHhlOCwgMHg2NCwgMHgzYSwgMHg0ZiwgMHhmMywgMHgwNSwgMHg0OCwgMHg1NCwgMHg3YywgMHhhYywgMHhhMywKLSAgMHhkOCwgMHg5NSwgMHgyMCwgMHhjYiwgMHg4MiwgMHhkZSwgMHg5ZSwgMHg5MCwgMHhjZCwgMHg1YiwgMHhkNSwgMHgyNCwKLSAgMHg5MiwgMHg3MSwgMHhhMiwgMHhhYSwgMHgzMiwgMHhiMywgMHg0NSwgMHg3OSwgMHg5NSwgMHg0ZCwgMHgzZiwgMHgyYSwKLSAgMHhkNywgMHg1MiwgMHg1ZCwgMHhiMywgMHg0YiwgMHhjMywgMHgxNCwgMHg3MiwgMHg4MCwgMHg2MSwgMHg2ZCwgMHg5ZSwKLSAgMHg1YSwgMHhkNSwgMHg3NCwgMHg0NSwgMHhlYSwgMHgzYSwgMHgyNywgMHhiZiwgMHgxOSwgMHhkOSwgMHg4MSwgMHhhYiwKLSAgMHgyOSwgMHhjYywgMHg0MywgMHg1YywgMHgxNiwgMHg0MywgMHhkOSwgMHhjYSwgMHhmYSwgMHgxMiwgMHhjMywgMHg0YiwKLSAgMHg4YiwgMHhkOSwgMHhiMCwgMHhhOSwgMHhmMiwgMHg2NSwgMHhkZiwgMHhlYywgMHhmOCwgMHg1NCwgMHhkYSwgMHg5YSwKLSAgMHg2OSwgMHgyZCwgMHhhNiwgMHgzYSwgMHhhYywgMHg2MCwgMHhiNiwgMHg4YiwgMHhhNywgMHg0OSwgMHg2NywgMHgzNywKLSAgMHhiYiwgMHgwNCwgMHg4OSwgMHhiZCwgMHgxZCwgMHg5MCwgMHgyMywgMHgyOCwgMHgzNywgMHg4YSwgMHgwMiwgMHg1YiwKLSAgMHg0OSwgMHhmMCwgMHg3MywgMHgxYSwgMHg5YiwgMHg0OCwgMHgyNCwgMHg5NiwgMHgzMSwgMHhkZiwgMHhmMiwgMHgyOSwKLSAgMHhiNCwgMHg5ZiwgMHhmYywgMHgzMiwgMHhhMywgMHhkMCwgMHg4ZSwgMHgxMSwgMHg2MiwgMHhjZCwgMHhkYywgMHhlOCwKLSAgMHg0NCwgMHgyMSwgMHg3ZCwgMHg5YiwgMHhkZiwgMHg2NCwgMHg5NywgMHg2NSwgMHg0MywgMHg2YSwgMHg0OCwgMHg0MCwKLSAgMHgyNiwgMHhlZiwgMHhjMSwgMHhlMCwgMHgyZCwgMHg0ZCwgMHhhOCwgMHhiZSwgMHhlZiwgMHgyYiwgMHg2MywgMHgzOSwKLSAgMHgyYiwgMHhlMiwgMHhlNiwgMHhkMywgMHhhYywgMHhlZiwgMHg4YiwgMHhhYiwgMHhhMSwgMHg2ZSwgMHhjYywgMHhhZCwKLSAgMHhlYSwgMHg5ZSwgMHhiYSwgMHgxOSwgMHg2ZCwgMHg5YSwgMHhjMSwgMHhlOCwgMHg4MiwgMHhjNiwgMHhhOCwgMHgwYSwKLSAgMHhhYiwgMHg2YSwgMHhmYSwgMHhjNCwgMHgwZSwgMHg0OCwgMHgzOSwgMHg2ZSwgMHg2ZSwgMHhmMiwgMHg2OSwgMHhhNiwKLSAgMHg3ZSwgMHgzOCwgMHg3MSwgMHg0ZSwgMHhjZiwgMHhmMywgMHg5MCwgMHhjNywgMHgyZiwgMHhlOCwgMHgzZSwgMHg5YSwKLSAgMHg5NywgMHg1OCwgMHgxOSwgMHgyNywgMHhiNywgMHhjOSwgMHg0ZCwgMHg0ZSwgMHhjYSwgMHhiYSwgMHgzMCwgMHgzYywKLSAgMHhlOCwgMHg2MiwgMHgyMiwgMHgwNywgMHhkMiwgMHgyYSwgMHg4NywgMHg4ZiwgMHhjOCwgMHgwYywgMHgyNywgMHhmMywKLSAgMHhmNCwgMHg0YywgMHg3OSwgMHhmZiwgMHg3ZSwgMHhmMSwgMHhiYywgMHhmMSwgMHhiZSwgMHhkOCwgMHgyZiwgMHhjZSwKLSAgMHg2ZSwgMHhjMSwgMHhlNSwgMHhiYSwgMHg0OCwgMHhmMywgMHg3OSwgMHg2NCwgMHg5ZiwgMHhjMCwgMHhjNCwgMHgyZSwKLSAgMHgzMywgMHhiOCwgMHhkMywgMHhmOCwgMHgwYywgMHg1NiwgMHhiNCwgMHhlOSwgMHgxNCwgMHg4NiwgMHgwYiwgMHgxOSwKLSAgMHg1NCwgMHg5NiwgMHhiMSwgMHgyMSwgMHgwMSwgMHhhYiwgMHhlMywgMHhmNiwgMHhjZSwgMHg2ZSwgMHgyZiwgMHhiNCwKLSAgMHgzNSwgMHgzZSwgMHgzYiwgMHhmOSwgMHgzYiwgMHgxZiwgMHg5ZiwgMHg3NywgMHgzZCwgMHg1MywgMHgxYSwgMHgzNSwKLSAgMHg1ZCwgMHg1MiwgMHhiYywgMHhhOSwgMHg3YiwgMHg0MywgMHhjOSwgMHhlNiwgMHhhMiwgMHhhMCwgMHhlNSwgMHhiNiwKLSAgMHhiYSwgMHg4ZSwgMHgzMywgMHg3MSwgMHg5YywgMHhkYiwgMHg1MCwgMHgxZiwgMHg5OCwgMHgxMSwgMHhmMSwgMHgzMywKLSAgMHhiOSwgMHhjMiwgMHgzYywgMHg4ZSwgMHg3MCwgMHhkZiwgMHgyZSwgMHgxZiwgMHgzNywgMHg4MiwgMHhkNSwgMHhjOCwKLSAgMHg2MSwgMHhmMCwgMHhjZiwgMHgxNiwgMHhjNSwgMHg5NiwgMHg4NiwgMHg3NSwgMHhkOSwgMHg4MCwgMHgxMywgMHhiOSwKLSAgMHg3YSwgMHg4NSwgMHhjZiwgMHhjMSwgMHhjMiwgMHhjMiwgMHg5ZCwgMHg4ZCwgMHhmMSwgMHg3MSwgMHhiMiwgMHhmOSwKLSAgMHg0OCwgMHg0MSwgMHg2NiwgMHgwOSwgMHgzMywgMHg0OCwgMHg1OCwgMHhhMSwgMHg2MywgMHg2NiwgMHgzNSwgMHg2NSwKLSAgMHhlNywgMHhhZiwgMHgyOCwgMHgwZiwgMHgyYywgMHg2NiwgMHgzMCwgMHhkNSwgMHg4YiwgMHg3OSwgMHg3YSwgMHgwOSwKLSAgMHhiZiwgMHhkYSwgMHg2NSwgMHhmNywgMHg4NiwgMHgxNiwgMHhhNSwgMHhjNCwgMHhmZCwgMHhlYSwgMHhkMiwgMHhiMCwKLSAgMHg3NiwgMHg1YSwgMHhiNSwgMHhmOCwgMHhiNCwgMHhlYSwgMHg2NCwgMHhjYiwgMHgxMCwgMHhkOSwgMHg3YywgMHgwNSwKLSAgMHgzOSwgMHg3ZiwgMHg2YSwgMHg5NiwgMHgzNywgMHgxZSwgMHg3ZiwgMHhiMywgMHhlZCwgMHhiMywgMHgzNywgMHhlYywKLSAgMHhlZSwgMHg0MywgMHg5OCwgMHgxYiwgMHg3MSwgMHgyNywgMHg1OCwgMHhkZiwgMHg1ZiwgMHhmMSwgMHg3OSwgMHhiNCwKLSAgMHgxOSwgMHg5YywgMHgzNSwgMHhlYiwgMHg3YywgMHgxNSwgMHg0ZSwgMHhlOSwgMHg5MiwgMHg1NiwgMHg0MSwgMHgzZSwKLSAgMHhkMCwgMHg5MSwgMHhiZCwgMHhmYSwgMHhmNCwgMHhhNCwgMHhiYSwgMHg2MiwgMHg5OSwgMHhiMCwgMHg1YiwgMHg5YSwKLSAgMHhjMSwgMHhhYSwgMHg1ZSwgMHhjMSwgMHgyYiwgMHgwNSwgMHg1OSwgMHhkYywgMHgxZCwgMHhjZSwgMHgzMCwgMHg3YSwKLSAgMHhjMywgMHg4YSwgMHg1NiwgMHgwNSwgMHhmZCwgMHg2OSwgMHg5NSwgMHhlNywgMHgxYywgMHg2NiwgMHgxYywgMHg5ZCwKLSAgMHg0NSwgMHg0NSwgMHhiZSwgMHg2ZiwgMHgzMiwgMHg4MCwgMHhhZCwgMHhmMiwgMHg2OSwgMHg3OCwgMHg4YSwgMHg4ZSwKLSAgMHg0ZCwgMHg3YiwgMHhkOSwgMHhiZCwgMHg4NCwgMHg0NiwgMHgzNSwgMHgwMywgMHhiYiwgMHgzMSwgMHhlMiwgMHhkMywKLSAgMHgwOCwgMHg2NSwgMHhiYSwgMHg3MCwgMHgzZCwgMHhkYywgMHg3YiwgMHhhYiwgMHg1ZSwgMHgxOSwgMHhmZSwgMHg0MiwKLSAgMHgzNiwgMHg4MywgMHgzMCwgMHgwZiwgMHhhMiwgMHhjNywgMHhlZSwgMHhlYywgMHg5OCwgMHhiZCwgMHgxOCwgMHg0OSwKLSAgMHhlMywgMHhmMSwgMHg5MSwgMHhlZCwgMHhkZiwgMHhmYSwgMHg4MiwgMHhlMCwgMHhkMCwgMHhmYywgMHg1MywgMHgzNCwKLSAgMHhhMiwgMHgzNywgMHgzMywgMHg5NiwgMHgxOCwgMHg3NCwgMHhiMSwgMHg0MCwgMHgwZCwgMHgzYiwgMHgzZiwgMHgxOSwKLSAgMHhjNywgMHgwZSwgMHhiMywgMHgxZCwgMHg5OCwgMHhhMiwgMHhmNywgMHg4OSwgMHhkOSwgMHg5MiwgMHhmZiwgMHg5MCwKLSAgMHhmZCwgMHhhOSwgMHgyNSwgMHg1OSwgMHgwMywgMHg1ZSwgMHg3MCwgMHhjYSwgMHg3NywgMHhmNCwgMHgyZCwgMHgzMywKLSAgMHg4YSwgMHg2MiwgMHhiMSwgMHhhMSwgMHhjYywgMHhiMSwgMHg3MCwgMHg2MiwgMHg2MCwgMHgyNCwgMHhhOCwgMHg0OSwKLSAgMHgzMywgMHhiMSwgMHhiZSwgMHhkMywgMHg5NywgMHg4NywgMHhmZSwgMHhiOCwgMHg3MCwgMHg5NiwgMHg3NiwgMHgyZiwKLSAgMHg4MiwgMHhmNywgMHhmYiwgMHhhZCwgMHg3YSwgMHhkYiwgMHhmMiwgMHgzMCwgMHgzMywgMHhjYSwgMHhkOSwgMHhkMSwKLSAgMHgxYiwgMHgxOCwgMHhhZSwgMHhhOSwgMHhhMSwgMHg5YiwgMHhiNywgMHhlYSwgMHhhNywgMHhkNCwgMHg1MCwgMHhmNywKLSAgMHg2NCwgMHg5NSwgMHhjZiwgMHg1YiwgMHhjMSwgMHgwMCwgMHg2NywgMHg2YiwgMHgyMywgMHhjZSwgMHhjYywgMHhhNCwKLSAgMHg4NSwgMHhhOSwgMHg3MSwgMHg1OCwgMHgyYiwgMHg4NywgMHg1ZiwgMHhiOCwgMHg0YiwgMHg2OCwgMHhjZCwgMHhkZCwKLSAgMHg1MiwgMHg1YywgMHhkYSwgMHhhYiwgMHhiYSwgMHhlNSwgMHgzOSwgMHg1MiwgMHhiOSwgMHgzYywgMHg2ZiwgMHhhMCwKLSAgMHg1ZSwgMHg5MywgMHg0MSwgMHhlYiwgMHg4ZCwgMHgxOSwgMHg5YywgMHgxMCwgMHhhNiwgMHg0NSwgMHg2MiwgMHhlMCwKLSAgMHhiMiwgMHhjOCwgMHhmZiwgMHgyZSwgMHhmYSwgMHg2NywgMHg1NiwgMHg1YywgMHhlNywgMHg1NSwgMHg1OSwgMHg5MCwKLSAgMHg3ZSwgMHg2YiwgMHg2YywgMHhkZSwgMHgyYSwgMHgwNywgMHg1YiwgMHgyNiwgMHhkNSwgMHhjYiwgMHgzMCwgMHg4ZSwKLSAgMHhjZCwgMHg5NywgMHhlZiwgMHhkZiwgMHg5ZCwgMHg3YywgMHg3OCwgMHg3OSwgMHhmOCwgMHhlMSwgMHhhYiwgMHhmNywKLSAgMHg2ZiwgMHg1ZiwgMHg5ZCwgMHgxYywgMHg2ZCwgMHg3NiwgMHg4NiwgMHgyMywgMHg2NywgMHg1ZiwgMHgyZSwgMHgxZSwKLSAgMHhmYSwgMHg5YSwgMHg0YywgMHgwZSwgMHg1YywgMHgxMiwgMHgzMywgMHg0NSwgMHgxZSwgMHhmOSwgMHgzMiwgMHhiZiwKLSAgMHgzNiwgMHgwYywgMHgwZCwgMHgxNiwgMHgwNCwgMHg5YywgMHhmMywgMHhmOCwgMHgxYiwgMHhkYywgMHg1OSwgMHhiMiwKLSAgMHhlMSwgMHg5ZCwgMHhlMSwgMHgyNiwgMHgyYiwgMHhkMiwgMHhkMSwgMHg0NiwgMHgyZCwgMHg0ZCwgMHg1OSwgMHhhZiwKLSAgMHg4YSwgMHg5OCwgMHhlYiwgMHgzYSwgMHhjMSwgMHg4OCwgMHg3NiwgMHg0ZCwgMHg1YSwgMHg1NCwgMHgzMSwgMHgyMywKLSAgMHhiYiwgMHhjNSwgMHhiMywgMHgwZSwgMHgzZCwgMHgzZiwgMHhmZCwgMHhhYSwgMHgzMSwgMHhlNiwgMHg5MSwgMHg0NiwKLSAgMHgwNiwgMHg4YywgMHhjNiwgMHg1NiwgMHg3ZSwgMHhkNCwgMHhhNCwgMHgwMywgMHg2MywgMHg1YiwgMHgxZCwgMHg0NiwKLSAgMHg4ZSwgMHhiYiwgMHg3NiwgMHg1YSwgMHhlOCwgMHgyYywgMHhkOSwgMHhhNCwgMHg5MSwgMHgwYywgMHhmZCwgMHgwZSwKLSAgMHg2NSwgMHg5MiwgMHhkMywgMHhhYSwgMHgzMSwgMHg4NiwgMHg0ZCwgMHg5NiwgMHhlMywgMHg2MiwgMHg2OCwgMHhmOCwKLSAgMHg5NCwgMHhmNCwgMHg1NSwgMHg3OCwgMHhlNSwgMHgwMiwgMHhlZCwgMHhkYSwgMHhlOCwgMHg5OSwgMHhiNCwgMHgwNywKLSAgMHhkMCwgMHhlYywgMHhiMywgMHhkYiwgMHgwYywgMHgzNywgMHg0ZiwgMHhkZSwgMHg3YSwgMHhiOSwgMHhhYSwgMHg3MCwKLSAgMHg5YiwgMHhiZiwgMHgzNywgMHhkYSwgMHgwOCwgMHg3MSwgMHhiZiwgMHg1NywgMHg3MCwgMHhlYiwgMHg5OSwgMHgxNywKLSAgMHhmNCwgMHgyMSwgMHgyMywgMHg2NiwgMHhiYSwgMHgyMiwgMHhhZiwgMHg5YywgMHg1MywgMHg0MCwgMHgzNSwgMHg4NSwKLSAgMHgwYiwgMHgwNSwgMHgwZSwgMHhhZiwgMHhiMywgMHhjMywgMHhmMywgMHg2ZiwgMHhhMiwgMHg4YSwgMHhhYywgMHhjYiwKLSAgMHhmNCwgMHgxMSwgMHg1MiwgMHg4NCwgMHg1MiwgMHg1ZSwgMHgzNywgMHg3MiwgMHg0MSwgMHhkZSwgMHg4ZSwgMHhjNywKLSAgMHgwOSwgMHhmMiwgMHg0NywgMHhlNiwgMHhmOSwgMHhhNCwgMHg0YSwgMHhlOSwgMHg5YiwgMHhmNCwgMHg2MywgMHhmYSwKLSAgMHhhOSwgMHgyMSwgMHhlYiwgMHhjZSwgMHg3MCwgMHg2NywgMHhkZiwgMHhiZSwgMHgxYywgMHhmZiwgMHg3ZSwgMHg2ZiwKLSAgMHg4ZiwgMHgzNCwgMHhmOCwgMHg5NSwgMHhkOSwgMHg5NywgMHgyZCwgMHhmMywgMHg0YSwgMHg1MSwgMHg5YiwgMHg5YiwKLSAgMHhiOSwgMHgxOCwgMHhkNSwgMHhlNSwgMHgzNiwgMHhjNCwgMHg3NiwgMHgyZCwgMHhlYSwgMHg0MCwgMHg3YSwgMHg2ZCwKLSAgMHhhNCwgMHgyZCwgMHhlOCwgMHg0OCwgMHg4OSwgMHhkYSwgMHgxYywgMHg2NywgMHhiMCwgMHgyNywgMHg2MCwgMHg3NCwKLSAgMHgyNSwgMHg3MiwgMHg2YiwgMHhjOCwgMHg4ZSwgMHgzMiwgMHhmMiwgMHg3YSwgMHgxZSwgMHgyYSwgMHhlMywgMHg1YiwKLSAgMHhmOSwgMHhlOSwgMHg1OCwgMHg1MiwgMHg1MywgMHhkMiwgMHhhOSwgMHhmOSwgMHgyYiwgMHg3OSwgMHgwOCwgMHhiNiwKLSAgMHg2OSwgMHg2NSwgMHhlZCwgMHgxYiwgMHhhNiwgMHhhYiwgMHgxYSwgMHhiMywgMHgzNiwgMHg3YSwgMHg0ZSwgMHhhNiwKLSAgMHgwYiwgMHgzMiwgMHg2YSwgMHg0MiwgMHhhZSwgMHg1MCwgMHg3NCwgMHgyZiwgMHg5NywgMHhjYiwgMHg1ZSwgMHgwMiwKLSAgMHgzOSwgMHg0YywgMHhkMiwgMHhlOSwgMHhjNywgMHg5YiwgMHhiNCwgMHg5YSwgMHhiMSwgMHgyZCwgMHg2NCwgMHgyOCwKLSAgMHg2NiwgMHg5MiwgMHhjZiwgMHhmMywgMHhlNiwgMHg4ZSwgMHgwZCwgMHhkYSwgMHhhZSwgMHgzMSwgMHhjZCwgMHg4MSwKLSAgMHg1MSwgMHhkYSwgMHg0MCwgMHg3MywgMHg4ZiwgMHgyZSwgMHg4ZCwgMHhhZCwgMHg0ZiwgMHhkYSwgMHgyNywgMHhhOSwKLSAgMHhmNywgMHg3OSwgMHhlMywgMHhkYiwgMHhiMiwgMHg1MCwgMHg5MSwgMHgxYSwgMHhhYiwgMHhlMiwgMHhkOCwgMHg2ZiwKLSAgMHgwNywgMHhlMiwgMHhiMSwgMHhlMSwgMHg3YiwgMHg4NCwgMHg2OSwgMHgzYSwgMHhkYSwgMHg1NSwgMHgzNiwgMHhlOCwKLSAgMHgzMywgMHgyOSwgMHgyNSwgMHg5ZiwgMHhhNCwgMHhiZSwgMHgzMywgMHg1MiwgMHg3ZSwgMHg5MSwgMHg0NCwgMHg1NCwKLSAgMHg0NCwgMHgyNCwgMHgxMywgMHgyNSwgMHhkZiwgMHg2NiwgMHg3NywgMHhjNiwgMHg3MCwgMHhjZSwgMHgwYiwgMHhjNywKLSAgMHgyOSwgMHhkOSwgMHhiMCwgMHhjZiwgMHhjOCwgMHhiMiwgMHg2MywgMHg1ZCwgMHgzNCwgMHg1NywgMHgyZiwgMHg3YSwKLSAgMHgyNiwgMHg4MSwgMHgxMCwgMHg5NiwgMHgyNCwgMHhhMSwgMHhlNywgMHg4MCwgMHhkZiwgMHg1NywgMHgzZCwgMHg5YywKLSAgMHg4NiwgMHhkOCwgMHhhYywgMHg1YiwgMHgyYywgMHgxOSwgMHg1ZiwgMHgwYSwgMHgwZiwgMHg3MSwgMHg2YywgMHg3ZSwKLSAgMHg1ZSwgMHgxNCwgMHhkOSwgMHg1YywgMHg4ZSwgMHhlZiwgMHg3YywgMHhkZCwgMHgwMSwgMHhkOCwgMHg2NywgMHhjZCwKLSAgMHg5NCwgMHhiZiwgMHhlNywgMHgxYiwgMHhkZCwgMHgxOSwgMHhlZSwgMHgyOSwgMHg0NywgMHhmNSwgMHhkMywgMHg0NiwKLSAgMHg2NSwgMHg5MiwgMHgyNiwgMHgxMSwgMHgxOSwgMHhhYiwgMHg2OCwgMHhkNywgMHhmZSwgMHg2YSwgMHhkNCwgMHhmYiwKLSAgMHg5OSwgMHhlMCwgMHgzNiwgMHg1NSwgMHhlZSwgMHhkMCwgMHhkYiwgMHg2NywgMHhjZSwgMHhkZSwgMHg1MCwgMHgxYywKLSAgMHgzMiwgMHg5ZCwgMHhiMSwgMHgxYywgMHhmMSwgMHg5ZiwgMHhhYywgMHg2NiwgMHg4NSwgMHhjOCwgMHg0NSwgMHg2NywKLSAgMHgzOCwgMHg1ZiwgMHhjYiwgMHg1NiwgMHgxOSwgMHgyNiwgMHhlYiwgMHhkOCwgMHgzNCwgMHg3YSwgMHg2YSwgMHg1OSwKLSAgMHhjMSwgMHg1MSwgMHg1NCwgMHg5NSwgMHhlNiwgMHhhYywgMHg1YiwgMHhlNywgMHhiOSwgMHhjNSwgMHhjYSwgMHg0NiwKLSAgMHhmNywgMHg5YSwgMHgwOCwgMHgzNywgMHhmNywgMHgzNiwgMHg2NiwgMHgzYiwgMHg3NiwgMHhkMSwgMHgwMywgMHhjZCwKLSAgMHgyNCwgMHgzNCwgMHg1NywgMHg3YiwgMHgyZCwgMHhjZSwgMHhiNiwgMHg4NCwgMHgwNiwgMHg5NywgMHg3ZSwgMHg2MSwKLSAgMHhkOCwgMHhkOCwgMHgzZiwgMHgyZiwgMHhhMCwgMHg5OSwgMHgxOSwgMHg4MiwgMHhmOSwgMHg4NSwgMHgzMiwgMHg0YiwKLSAgMHg2OCwgMHhiMSwgMHgyNSwgMHhhOCwgMHhkZiwgMHhhOCwgMHg0NCwgMHhhNiwgMHg0OSwgMHg1OCwgMHhkZiwgMHhlYiwKLSAgMHg5MiwgMHgzMywgMHgwNSwgMHg1OCwgMHg3MSwgMHg2NCwgMHgyNywgMHg3MiwgMHg2OCwgMHgwNiwgMHg5MCwgMHgxZiwKLSAgMHg1MCwgMHg3YywgMHg4ZCwgMHhjZiwgMHgzNywgMHg5MiwgMHhhZCwgMHg2YywgMHg3NCwgMHg2OSwgMHhjNiwgMHhkYiwKLSAgMHhhMCwgMHg3MSwgMHhmNiwgMHg5ZSwgMHhkMywgMHg3ZiwgMHhmNywgMHhmMSwgMHhkZiwgMHg4MywgMHgwZCwgMHhjZCwKLSAgMHhmNSwgMHhmMywgMHhiNywgMHg5ZSwgMHhhNCwgMHg3OSwgMHg1NywgMHgxNiwgMHg3MSwgMHgyMCwgMHhjZSwgMHgwOSwKLSAgMHhmNywgMHgwMSwgMHgzYiwgMHg5NywgMHhmYiwgMHgxOCwgMHgwZiwgMHhlYiwgMHhhYywgMHgyNywgMHhiYywgMHhjYiwKLSAgMHhhMSwgMHhiYSwgMHhhNSwgMHhkYiwgMHhiMCwgMHg2MCwgMHg1ZiwgMHhjNCwgMHg3NSwgMHhjNiwgMHhjZSwgMHgxMCwKLSAgMHhiMywgMHhiMiwgMHhhOSwgMHg1MSwgMHgwZiwgMHhlMSwgMHgzZiwgMHhkNCwgMHg1YiwgMHgzNSwgMHhmZCwgMHg1MCwKLSAgMHg2NSwgMHg1NywgMHg2OSwgMHg3ZCwgMHg5NSwgMHhhYywgMHgxYSwgMHgyNiwgMHg0MiwgMHg0MywgMHhiNywgMHhkZCwKLSAgMHhlMSwgMHg5NiwgMHhmMywgMHhkYywgMHhiOSwgMHhkOCwgMHhlNCwgMHhkMywgMHgyMywgMHhiNSwgMHhmYiwgMHhkYywKLSAgMHgyOSwgMHg3MiwgMHhlOCwgMHg2MywgMHg1ZSwgMHhkZSwgMHhlOCwgMHgzMywgMHg0MywgMHg0OSwgMHhiZCwgMHg4YiwKLSAgMHhhOSwgMHgwNSwgMHhlNiwgMHgzNCwgMHhlMSwgMHgzMywgMHhhMSwgMHhjNywgMHhmYywgMHgxMCwgMHhmNiwgMHg4MiwKLSAgMHhiNCwgMHg0OSwgMHhjYSwgMHgwYiwgMHgzNCwgMHgyYywgMHhlZSwgMHhjMiwgMHhlYywgMHgxOCwgMHg1OSwgMHg3NCwKLSAgMHg3MywgMHg5YywgMHgxYiwgMHhkOSwgMHhhZSwgMHg5OCwgMHg3NywgMHg2MCwgMHg5YSwgMHg4YSwgMHg5ZSwgMHg5NywKLSAgMHg1ZiwgMHg4OCwgMHhkYiwgMHg1NiwgMHhmZSwgMHgwZCwgMHg3OSwgMHgyYSwgMHhkYSwgMHg1NywgMHhjZCwgMHg2MSwKLSAgMHhlZSwgMHhhZSwgMHhlYSwgMHg3NSwgMHgzZiwgMHg2OSwgMHgyYiwgMHg4MywgMHhiNCwgMHg5YSwgMHg4ZSwgMHgyYywKLSAgMHg5NiwgMHgyMywgMHgyNSwgMHg0YSwgMHhkNywgMHhmOSwgMHgyNSwgMHg2YywgMHg4ZCwgMHg5OCwgMHgwMywgMHg4MywKLSAgMHgxZCwgMHg1MiwgMHhmZiwgMHhkNCwgMHgyNSwgMHgzMSwgMHgzMywgMHgxZSwgMHg5MiwgMHhhMywgMHg3NCwgMHg1NSwKLSAgMHgzZiwgMHhlMCwgMHg4ZSwgMHg3OCwgMHg0YywgMHg5NywgMHhkZiwgMHhiMSwgMHg4ZSwgMHg2MiwgMHgwZSwgMHhlNywKLSAgMHhmYiwgMHgxYiwgMHhkMCwgMHhhNSwgMHhjMiwgMHgzYiwgMHg4ZiwgMHgzMCwgMHg1ZSwgMHg3YSwgMHgzNywgMHg2YiwKLSAgMHhjYywgMHgwMywgMHhiZCwgMHgxMywgMHgxNywgMHhjOSwgMHg1NiwgMHhmYSwgMHgzMSwgMHgxZCwgMHgyNSwgMHhhNywKLSAgMHgyZiwgMHhjNywgMHg2NywgMHhmNCwgMHgwOSwgMHg0MywgMHgxZCwgMHhjNSwgMHhhNSwgMHg5OSwgMHhjNSwgMHhjOSwKLSAgMHhiOCwgMHgzMywgMHg1YywgMHg3NiwgMHhkYiwgMHg2NCwgMHg0NSwgMHgxZCwgMHg3MywgMHg0ZSwgMHg4NiwgMHhkYiwKLSAgMHhhYywgMHhlMSwgMHgwMywgMHhjZCwgMHhhYiwgMHg5MSwgMHhjOSwgMHgxYSwgMHg0YiwgMHgxZiwgMHgwMSwgMHg3MSwKLSAgMHg4YSwgMHhlZiwgMHg1MiwgMHhmMiwgMHg0NSwgMHhjMiwgMHg1NywgMHgyZCwgMHhmOCwgMHhkMCwgMHhkMiwgMHhkYywKLSAgMHhmYywgMHhkOSwgMHhiNiwgMHg3NSwgMHhkNSwgMHgwYywgMHg5NCwgMHgxNiwgMHg2YywgMHg5YywgMHhiMCwgMHg1ZSwKLSAgMHg1ZCwgMHg5MiwgMHgwZCwgMHg1MiwgMHhhYiwgMHhkZCwgMHg2OCwgMHhiZiwgMHg2MCwgMHg3NiwgMHgyMywgMHg1NCwKLSAgMHgxNSwgMHg2NCwgMHhkOSwgMHhkNiwgMHg4YiwgMHg2OCwgMHhhYywgMHgyNiwgMHg0YSwgMHhhMSwgMHg4MiwgMHg4YSwKLSAgMHg1NCwgMHg5NCwgMHg2ZSwgMHg1NCwgMHg0YSwgMHhhMywgMHg0MCwgMHgxMiwgMHg2OSwgMHg4ZSwgMHhjOCwgMHhkYSwKLSAgMHgzNCwgMHgzMywgMHgyYSwgMHhlOCwgMHgyYywgMHhhMiwgMHgwNCwgMHhmMCwgMHhhMSwgMHhhOCwgMHhlMSwgMHg3NCwKLSAgMHgyMSwgMHg4OSwgMHhhMywgMHgxMSwgMHhmZiwgMHgwZiwgMHgwNiwgMHg5YSwgMHhiMiwgMHg4YSwgMHg0NiwgMHg1NCwKLSAgMHg4ZiwgMHgwOCwgMHg0NSwgMHg0ZSwgMHgzZSwgMHg1MiwgMHg1MiwgMHg5OCwgMHhkOSwgMHg1NCwgMHhhNywgMHhmMSwKLSAgMHhlYywgMHhmZCwgMHhmZiwgMHhiYSwgMHg1OCwgMHg5OSwgMHg4ZCwgMHg4ZiwgMHg0OCwgMHg2MywgMHg1MiwgMHhhYSwKLSAgMHg0OCwgMHhjYywgMHhkMCwgMHgwNiwgMHhhZSwgMHg3MywgMHhlYywgMHgzZCwgMHhkYSwgMHg2YiwgMHgzYiwgMHhiMCwKLSAgMHg0MSwgMHg2YywgMHhjNiwgMHgwMCwgMHhjOCwgMHg5MiwgMHgxNywgMHhmNCwgMHhkZiwgMHg3YiwgMHhiOSwgMHgzMiwKLSAgMHg3MiwgMHg1NiwgMHhmMCwgMHhiYywgMHgwNCwgMHgzYSwgMHg5OSwgMHg3NywgMHg4YSwgMHgyZiwgMHgyNiwgMHg2OSwKLSAgMHgzMywgMHhlOCwgMHg0MCwgMHg3YSwgMHg4MSwgMHhkYywgMHg0NiwgMHhjNCwgMHhmNywgMHgwNiwgMHhjOSwgMHgyYiwKLSAgMHhjYSwgMHhkMywgMHgzZSwgMHg3YSwgMHhmYiwgMHgzNSwgMHg2OCwgMHhlMCwgMHg2YywgMHg2ZiwgMHgxZiwgMHg2MSwKLSAgMHgyNSwgMHg2YiwgMHgzZCwgMHhjYywgMHhmMCwgMHg5MSwgMHg5YSwgMHgxZCwgMHgwOSwgMHgxYywgMHgxNiwgMHgwZSwKLSAgMHgxNSwgMHg1ZiwgMHhjOCwgMHg4NCwgMHgwMSwgMHhkOCwgMHgyOCwgMHhjNSwgMHgwMywgMHg5MSwgMHgzNiwgMHgzNCwKLSAgMHhmYiwgMHg3NCwgMHhmMiwgMHgyYiwgMHgzMCwgMHg0NCwgMHg4ZiwgMHgwNiwgMHhiMiwgMHg4MywgMHhlMiwgMHg5OCwKLSAgMHhmOSwgMHg5OCwgMHhkZCwgMHhiOSwgMHhiZiwgMHg2MSwgMHg1NywgMHhiZCwgMHhhZCwgMHg3NiwgMHgwZiwgMHhiZiwKLSAgMHhmMCwgMHgzNiwgMHhlOSwgMHhhZiwgMHhjZiwgMHgyOSwgMHgzNSwgMHhjOSwgMHg2OCwgMHhhOSwgMHhiMywgMHg5ZiwKLSAgMHg3ZSwgMHg5ZCwgMHg0NCwgMHg4YywgMHhlZiwgMHg3YywgMHhjNCwgMHhkOSwgMHgwMiwgMHgzZiwgMHg5NywgMHgyNiwKLSAgMHgwMSwgMHg3MSwgMHhjYywgMHg5ZiwgMHg1OSwgMHhiYywgMHg2NCwgMHhjOSwgMHg1MywgMHgwMiwgMHgzZCwgMHgxMSwKLSAgMHg3YywgMHg1YSwgMHg1OCwgMHg5NSwgMHg2NCwgMHhjOCwgMHg5OSwgMHg1ZiwgMHhjOCwgMHgwNCwgMHhlYiwgMHhlZSwKLSAgMHhmZCwgMHhiNCwgMHg5YywgMHgwNywgMHhiMiwgMHhhZSwgMHg2NSwgMHhiOCwgMHg0MiwgMHg5ZiwgMHhkZiwgMHgxNywKLSAgMHhmOSwgMHgwNiwgMHg2MywgMHg4ZSwgMHg5OSwgMHg4ZCwgMHg2OCwgMHhkMSwgMHhkZCwgMHhlYiwgMHg2MCwgMHg3NSwKLSAgMHg2YSwgMHhhOCwgMHg1ZiwgMHg0ZSwgMHgzMiwgMHhkMiwgMHg5YiwgMHhmYywgMHgyMiwgMHhlMiwgMHhkYiwgMHg5OCwKLSAgMHgxYSwgMHg2YiwgMHg0YSwgMHhhMywgMHhjNCwgMHg2OSwgMHhiYywgMHgzMSwgMHhmNSwgMHhkZiwgMHg5YywgMHhhZCwKLSAgMHhlZSwgMHhhZCwgMHgzOSwgMHg3NCwgMHhmMiwgMHgzMywgMHhkOSwgMHg1ZCwgMHgxYiwgMHhmOCwgMHg5ZSwgMHgyNiwKLSAgMHhjMywgMHhlNCwgMHhhYSwgMHg1YywgMHhmNSwgMHg3MywgMHhjOSwgMHgyMiwgMHgwZCwgMHhlMywgMHgxNywgMHg5YywKLSAgMHg2YSwgMHgyMCwgMHhkZSwgMHgyOCwgMHg0OSwgMHhhOSwgMHg2YSwgMHhmOSwgMHhmMSwgMHg5OSwgMHhmYywgMHhjOCwKLSAgMHgxMiwgMHhkZCwgMHhmMCwgMHhiNiwgMHg2NCwgMHgyMywgMHg3NiwgMHgxNCwgMHgwZCwgMHg0NywgMHgzZCwgMHhlNSwKLSAgMHgwYSwgMHhlNSwgMHhkNywgMHhiNCwgMHg3NSwgMHg0YSwgMHgzYiwgMHhjZSwgMHhiMSwgMHhkOSwgMHg1NiwgMHg3ZCwKLSAgMHhjYiwgMHg4MiwgMHhmZSwgMHgyYywgMHhjOCwgMHgyNywgMHhmNiwgMHhiYiwgMHgwOCwgMHg0MSwgMHg0NiwgMHg2OSwKLSAgMHg5MSwgMHg3YywgMHhlMywgMHgxMiwgMHhmNywgMHg4MCwgMHgwMiwgMHg0MywgMHhkOSwgMHg4ZiwgMHg5MiwgMHg5NCwKLSAgMHgzZSwgMHhiZiwgMHg3YiwgMHg5MCwgMHg0MSwgMHhhNywgMHgwYSwgMHg4OCwgMHhkYSwgMHg2ZCwgMHg5ZSwgMHgzMSwKLSAgMHgxNywgMHg1OCwgMHgzYiwgMHg1ZCwgMHgwMiwgMHgzMSwgMHg2YywgMHhiYywgMHhhMSwgMHg1YywgMHgxMiwgMHhhNiwKLSAgMHg1ZCwgMHhmMiwgMHhiZCwgMHhlNiwgMHhkMywgMHg4ZiwgMHg4OCwgMHhiYSwgMHg4OCwgMHg4NCwgMHhmMiwgMHhkNywKLSAgMHhhNywgMHgwOSwgMHg3YiwgMHg5YywgMHg2YSwgMHgxYSwgMHgzOSwgMHgwMiwgMHhkOCwgMHg5MiwgMHhlNCwgMHgxNCwKLSAgMHgyNiwgMHg5YSwgMHgyNCwgMHhlOSwgMHg5YywgMHgxNywgMHhhYywgMHhiMywgMHhmNSwgMHg3YSwgMHgxOSwgMHhjYywKLSAgMHg1YywgMHgzZiwgMHhiYywgMHgzYSwgMHg3ZSwgMHg5NywgMHg2YywgMHg5MSwgMHgwNiwgMHhkZSwgMHgzNSwgMHg3MiwKLSAgMHg1NSwgMHhiYywgMHhlZiwgMHg2NCwgMHhjZCwgMHg3NCwgMHg2NywgMHhmOSwgMHgzMSwgMHhkZiwgMHgzMSwgMHhjNiwKLSAgMHhlNiwgMHg2YywgMHhiMiwgMHg2ZCwgMHg4ZCwgMHgyOCwgMHg3YywgMHg4ZSwgMHhhOCwgMHhkMCwgMHgxYSwgMHhhNiwKLSAgMHg2YSwgMHg5OSwgMHhjMiwgMHgzNCwgMHgwZCwgMHg1YywgMHg4ZiwgMHhjZSwgMHg1NCwgMHhlNSwgMHhjMiwgMHgxNywKLSAgMHg2YiwgMHhhMywgMHhmMiwgMHgzNiwgMHgzMSwgMHg0MSwgMHgyMywgMHgzYywgMHhjMywgMHg2OSwgMHgxMSwgMHgwOCwKLSAgMHhlYSwgMHg2NCwgMHhlYywgMHg5NywgMHgzNiwgMHgzNiwgMHg3NiwgMHhmNywgMHhhZSwgMHg3MiwgMHhkYSwgMHhhMywKLSAgMHgzOCwgMHg3MiwgMHhkOCwgMHg4MSwgMHhhMywgMHhiOSwgMHg3YSwgMHgyMiwgMHgyZSwgMHg5YywgMHhmNiwgMHgzYiwKLSAgMHhhMCwgMHgyYywgMHg0YiwgMHhkYSwgMHg5NCwgMHgyNSwgMHg4OSwgMHhhNCwgMHgxOSwgMHhiOSwgMHgwMSwgMHhiYiwKLSAgMHhjMywgMHg0MSwgMHg5MywgMHhkYiwgMHgxOCwgMHhlZCwgMHg2YywgMHgyNCwgMHgzNiwgMHhhZiwgMHhkNCwgMHhlYywKLSAgMHgzMiwgMHgyNywgMHg0ZSwgMHhkYiwgMHhhMCwgMHg5NywgMHgyMSwgMHhiMSwgMHg4YiwgMHg1NSwgMHg2ZCwgMHhmZCwKLSAgMHg5OCwgMHhhOSwgMHgzZCwgMHhhZiwgMHg1MSwgMHg4YywgMHhhMSwgMHg3YSwgMHhjNywgMHg2OSwgMHg3NSwgMHgyZSwKLSAgMHhhMywgMHgxYiwgMHhlMywgMHg2NiwgMHhmOSwgMHhkNiwgMHhiYSwgMHg0YywgMHgwYSwgMHg0NywgMHhiNSwgMHhmMSwKLSAgMHhlMywgMHg0NiwgMHhlMiwgMHhlNSwgMHgyNSwgMHhiNiwgMHhkMiwgMHgxMywgMHg3MywgMHg5NywgMHgzOSwgMHhlNCwKLSAgMHgwOSwgMHgwMSwgMHgyMywgMHg5MSwgMHhlZCwgMHgxZCwgMHg5ZSwgMHg2NSwgMHhmMywgMHg3YywgMHg5MSwgMHhjMywKLSAgMHhmNiwgMHhmMiwgMHhhNywgMHgzMCwgMHg4YywgMHgwNSwgMHgwNywgMHhkZCwgMHg5NCwgMHg3ZSwgMHgwYywgMHhhNywKLSAgMHhhNCwgMHhiOSwgMHhiZSwgMHgyOSwgMHhmZCwgMHhkYSwgMHg0YywgMHgwOSwgMHgxZSwgMHgzMSwgMHg0ZSwgMHhjNSwKLSAgMHg4YywgMHg1YiwgMHhjZCwgMHhlZCwgMHgwOSwgMHhkOSwgMHg2YywgMHhlMSwgMHgzNSwgMHgyMSwgMHg2MywgMHg3YiwKLSAgMHg5NywgMHhmYSwgMHg1NCwgMHg3OSwgMHhlNywgMHgxMiwgMHhkMSwgMHg0YiwgMHhjZiwgMHg0YywgMHgyZCwgMHg1OSwKLSAgMHg3ZSwgMHg5YywgMHhkNiwgMHg3YiwgMHg3YiwgMHg1ZCwgMHg0MSwgMHg1NywgMHgzYiwgMHg4YSwgMHgxMiwgMHhmYiwKLSAgMHgzZCwgMHhiNSwgMHg4NCwgMHhmOSwgMHhmZSwgMHhkZCwgMHg3MSwgMHhiMiwgMHg0NSwgMHgzNSwgMHgyMywgMHg0ZiwKLSAgMHgxZiwgMHhlZiwgMHhlZCwgMHg2ZiwgMHhmYiwgMHgyOSwgMHgyNSwgMHhjYSwgMHgwMCwgMHg0MiwgMHhiOSwgMHg3OSwKLSAgMHhjNywgMHhlMSwgMHg1OCwgMHhlZiwgMHgwMiwgMHhjZSwgMHhjYiwgMHg2OSwgMHgyYSwgMHgxYSwgMHg4NywgMHgxYiwKLSAgMHg3YSwgMHg5NiwgMHg1ZCwgMHhlNywgMHg1MywgMHgyYSwgMHhkOSwgMHhhMSwgMHg0OCwgMHgzYywgMHhmMSwgMHhlMCwKLSAgMHg0OSwgMHg2NiwgMHgyNiwgMHgxOSwgMHhlYywgMHhiOCwgMHg0YiwgMHhlNSwgMHhlNSwgMHhkOSwgMHgxYiwgMHgxMywKLSAgMHhjOSwgMHg2YSwgMHhjYSwgMHg5NCwgMHgzMCwgMHg2ZCwgMHg2OCwgMHhhMCwgMHg5MSwgMHhiZCwgMHhmMywgMHg2NywKLSAgMHgyZCwgMHg1MSwgMHg4MiwgMHhiNCwgMHhjNywgMHgxMywgMHg0NCwgMHhlYiwgMHhlMiwgMHg4MiwgMHgxYSwgMHhlOCwKLSAgMHgxOCwgMHgwMywgMHgxNywgMHhmOCwgMHgxOSwgMHgwZSwgMHg2NSwgMHhiMywgMHg4NCwgMHhmNSwgMHhkYSwgMHhiOCwKLSAgMHgzMSwgMHhhNSwgMHg5ZSwgMHg3NCwgMHgwZiwgMHg1MCwgMHhlNiwgMHhiNCwgMHg0MSwgMHg4MiwgMHhhNCwgMHg4MCwKLSAgMHg3MCwgMHg0ZiwgMHhkZCwgMHhhMCwgMHg3NiwgMHhmNywgMHg3ZCwgMHg0ZCwgMHhhOCwgMHgzZCwgMHg2YSwgMHhlOCwKLSAgMHgyOSwgMHgwNywgMHhlMSwgMHgxOCwgMHhjZCwgMHgyNSwgMHgzZSwgMHhlNCwgMHhiZiwgMHhjOCwgMHhjOSwgMHhkNCwKLSAgMHg2NiwgMHg5ZiwgMHg3MiwgMHgzYywgMHg3NCwgMHhmNiwgMHhlMiwgMHgzNSwgMHg5YywgMHhiMCwgMHhhMiwgMHhhMCwKLSAgMHhmYywgMHgzNiwgMHhkNSwgMHhjNywgMHgwMywgMHgzOSwgMHg2ZSwgMHg1ZSwgMHhkZiwgMHg1MSwgMHgyMSwgMHgwNCwKLSAgMHgyOSwgMHhhNCwgMHhmZSwgMHg0NiwgMHhmNiwgMHhmYywgMHgxOCwgMHhlNiwgMHgwOSwgMHg0ZiwgMHhjZiwgMHg0NywKLSAgMHg3MSwgMHhmNCwgMHg0MCwgMHgyOSwgMHhiNiwgMHhiOSwgMHgxYiwgMHhhMSwgMHhhZiwgMHg1OCwgMHgwNSwgMHhiZiwKLSAgMHgzOSwgMHhhMiwgMHg2OSwgMHgzOSwgMHhlYiwgMHg5OCwgMHhlYywgMHhiNCwgMHgwOSwgMHg5ZSwgMHhjMCwgMHgwMywKLSAgMHhmNywgMHhlMywgMHg1MCwgMHgyNSwgMHgzOCwgMHg1ZSwgMHhkYywgMHg5MywgMHg0ZCwgMHg5NCwgMHhjYSwgMHhlZSwKLSAgMHhmNSwgMHg1ZiwgMHhjNCwgMHgwMywgMHg2MywgMHgxZSwgMHgzNSwgMHhiMCwgMHhjMCwgMHg1ZiwgMHhjNSwgMHgwMSwKLSAgMHhlZiwgMHhmMSwgMHgzOSwgMHhiZCwgMHgwYywgMHgyNCwgMHg3NiwgMHg2ZCwgMHg5NSwgMHgyMSwgMHhhNywgMHhhYiwKLSAgMHg1MSwgMHg5NiwgMHg3OCwgMHg4MiwgMHg4ZCwgMHgwYiwgMHgyZCwgMHgxYSwgMHhjYSwgMHgxNywgMHg0NCwgMHgzYSwKLSAgMHgwMCwgMHgyNSwgMHg3YiwgMHg3NSwgMHhlZSwgMHgyNiwgMHgzYiwgMHg3NiwgMHhjYywgMHg3NSwgMHhkOSwgMHgzYSwKLSAgMHhlMSwgMHgyMCwgMHg2NSwgMHg3MiwgMHhmNiwgMHhmYSwgMHgwNywgMHhlNSwgMHg5NiwgMHgzMSwgMHgwMywgMHgxZSwKLSAgMHg4ZSwgMHhhOCwgMHgzZiwgMHhkOSwgMHhiNCwgMHgzMCwgMHg2MywgMHg1MSwgMHg1MCwgMHg4YSwgMHg1YSwgMHgyZSwKLSAgMHhlOSwgMHg5ZSwgMHhlYywgMHgyNiwgMHg0MiwgMHgzOCwgMHg3YywgMHhkYiwgMHg2NSwgMHgzMSwgMHhkMiwgMHg1NiwKLSAgMHg2ZiwgMHhiYywgMHhjMCwgMHhlZiwgMHhiYSwgMHhiMSwgMHhhNiwgMHg5MiwgMHgyZCwgMHg5OSwgMHgzZiwgMHhmZiwKLSAgMHhjOCwgMHhiZiwgMHg2NiwgMHgxZSwgMHg2YiwgMHhmZSwgMHhkNSwgMHg1YywgMHhhZCwgMHgxNiwgMHgxMywgMHg3MywKLSAgMHg5ZSwgMHg0NSwgMHhmMywgMHhlNywgMHg4ZCwgMHg4NCwgMHg4MywgMHhhZCwgMHgxNywgMHhiMiwgMHg5ZiwgMHg2YiwKLSAgMHhjYywgMHhjZSwgMHg1YywgMHgwYiwgMHg3NSwgMHhkNCwgMHhiNywgMHhkOCwgMHhkYSwgMHgzNSwgMHg5ZSwgMHg5ZCwKLSAgMHgxNiwgMHgwZCwgMHhiOCwgMHhjNCwgMHgzYywgMHg3MywgMHg3OCwgMHhlYywgMHhjYiwgMHgwZSwgMHg1NCwgMHhiZCwKLSAgMHhmNywgMHg4NiwgMHgzYywgMHg3ZiwgMHg3YywgMHhmMywgMHg5NywgMHgxZiwgMHg5ZiwgMHgxZCwgMHgzYywgMHg0YSwKLSAgMHg5ZiwgMHhhNiwgMHhkMywgMHgyNywgMHgxNywgMHg5ZiwgMHhhNywgMHg4ZiwgMHg2NywgMHg4ZiwgMHg5ZiwgMHgzZSwKLSAgMHhkYiwgMHhmZiwgMHhmYywgMHg3MSwgMHhmYSwgMHhmNCwgMHhkMSwgMHg0NSwgMHhmYSwgMHg2NCwgMHgyZiwgMHhkYiwKLSAgMHg3YiwgMHg3NiwgMHhiMSwgMHg3ZiwgMHgzMCwgMHg5YiwgMHg1ZCwgMHg2NCwgMHg5ZiwgMHhjZiwgMHg5ZSwgMHhhNiwKLSAgMHgxYiwgMHgyMywgMHg5OCwgMHg1ZiwgMHgzYSwgMHhmNSwgMHg5MCwgMHhkNSwgMHg2YSwgMHhlMCwgMHgyZCwgMHg0ZCwKLSAgMHhjNiwgMHhkZiwgMHgxYywgMHgwZSwgMHhmNywgMHg5MiwgMHhhYiwgMHhlYywgMHg1NiwgMHgyZiwgMHgxOCwgMHg3YiwKLSAgMHgzNCwgMHg2ZCwgMHhiYSwgMHg1ZCwgMHgyNiwgMHgwOSwgMHhkNSwgMHhmZCwgMHg4YiwgMHhkNSwgMHhiYSwgMHg0MSwKLSAgMHg0YSwgMHg5NywgMHgyNiwgMHg1ZiwgMHgwOSwgMHgzNCwgMHg2MCwgMHhkZSwgMHg0NSwgMHhkZCwgMHg1NiwgMHg0ZSwKLSAgMHhhOCwgMHhiMywgMHhmZSwgMHhjMywgMHhlNywgMHhlYSwgMHhiMywgMHhhNywgMHg3NSwgMHg3NSwgMHgyZiwgMHhmZiwKLSAgMHg4OSwgMHg3OSwgMHg2NywgMHhmZSwgMHgyNiwgMHg5ZCwgMHgxYSwgMHgyNSwgMHhjOSwgMHhlYywgMHg4OSwgMHgzYywKLSAgMHgzOCwgMHgzNiwgMHhhNiwgMHhhZCwgMHg2MSwgMHhkMywgMHg4MywgMHg0NCwgMHhmZSwgMHg0MiwgMHg1ZSwgMHg2MiwKLSAgMHg2ZiwgMHg4YywgMHhhZiwgMHhhYiwgMHg3MiwgMHhiNSwgMHgzYywgMHgyYiwgMHhlNywgMHhmOSwgMHhmNCwgMHg2ZSwKLSAgMHhkZCwgMHg3MCwgMHhmZSwgMHg2MywgMHhhZCwgMHg1ZiwgMHgxYywgMHgzMSwgMHgwYiwgMHhjZiwgMHhlYiwgMHhlYywKLSAgMHg1ZiwgMHg2OCwgMHg1YSwgMHg3OSwgMHhlYywgMHhmOCwgMHgwMSwgMHhiNiwgMHhkNSwgMHg3MCwgMHg5YSwgMHgyZiwKLSAgMHhhZiwgMHgyOCwgMHhjZSwgMHhmYiwgMHgwMiwgMHhlOSwgMHg3ZCwgMHgxNCwgMHg5YSwgMHhlMSwgMHgxZiwgMHhjNCwKLSAgMHg2ZCwgMHhhYSwgMHhiMSwgMHhkYywgMHhjOCwgMHg1YSwgMHhjZSwgMHg1MywgMHhkZiwgMHgxNiwgMHg4ZCwgMHgyYiwKLSAgMHhkNywgMHhkYSwgMHgzNywgMHg3NSwgMHg1MywgMHg0OSwgMHg0YSwgMHg2OSwgMHgxZSwgMHhmOCwgMHhmMSwgMHhkYywKLSAgMHg4NywgMHhmOCwgMHhiNiwgMHhhYiwgMHhiNiwgMHhjZCwgMHhjZSwgMHgwYiwgMHhmOSwgMHhkNSwgMHgyOCwgMHg3OSwKLSAgMHg4NywgMHgzOCwgMHhmOSwgMHg2YSwgMHhjOSwgMHhlNiwgMHgwNSwgMHhmYywgMHhmOSwgMHhmYywgMHhiYiwgMHhlZSwKLSAgMHg0NSwgMHhhMywgMHhjOSwgMHgwYiwgMHhjNSwgMHg3MCwgMHgwNSwgMHg5ZSwgMHhkOSwgMHhkMSwgMHhmNywgMHhlZiwKLSAgMHg0ZSwgMHg5ZSwgMHg3NywgMHhmNywgMHgwOSwgMHg1NSwgMHg0NiwgMHhmNSwgMHhmMywgMHg5ZCwgMHgxZCwgMHg4NCwKLSAgMHg3YywgMHhhZSwgMHhkMiwgMHhkYiwgMHhkYiwgMHg1MSwgMHg5ZCwgMHhlZCwgMHhjYywgMHhjYSwgMHg2OSwgMHhiZCwKLSAgMHg1MywgMHhkNywgMHg3MywgMHhkZCwgMHg4ZCwgMHg3NiwgMHhkMSwgMHhkZiwgMHgyNywgMHhmMCwgMHhlNiwgMHg5NiwKLSAgMHgwYiwgMHhiMCwgMHhhZCwgMHg2YywgMHgzNiwgMHhhYywgMHhlYiwgMHgyMCwgMHgzNywgMHg2OCwgMHhmYywgMHg1MiwKLSAgMHgzMywgMHgwZiwgMHg4ZSwgMHgyNCwgMHgxZiwgMHgwZCwgMHg3MiwgMHg2ZSwgMHg2OCwgMHg3NiwgMHg3NywgMHgzYywKLSAgMHhmZSwgMHgyNiwgMHhkMSwgMHg5NywgMHhiMSwgMHhiZCwgMHgzNiwgMHgyNCwgMHg2ZSwgMHhmMywgMHg3MiwgMHgwNiwKLSAgMHgxMSwgMHgzNSwgMHgyYywgMHgxNSwgMHg4NiwgMHhmZCwgMHgyNywgMHhkZiwgMHhhMSwgMHg0MywgMHhlYSwgMHg3NCwKLSAgMHhjOSwgMHg3ZiwgMHg0OCwgMHhkMSwgMHg0YSwgMHhkZSwgMHhhYywgMHhjZCwgMHhlMCwgMHg3YiwgMHhkMiwgMHg3MSwKLSAgMHg4MCwgMHhkOCwgMHg0NSwgMHhjNCwgMHhlMywgMHhmZiwgMHhlYSwgMHgwNCwgMHg0YiwgMHgxMywgMHhmNywgMHhhNCwKLSAgMHhmMywgMHgwOCwgMHg3NSwgMHg2YiwgMHhkNiwgMHgwZCwgMHhmNSwgMHg1ZSwgMHg5NiwgMHg5NSwgMHgxMSwgMHgxZSwKLSAgMHg4YiwgMHgzYSwgMHhlNiwgMHgwNSwgMHg5NSwgMHg0YiwgMHg1ZSwgMHhiMywgMHhkNiwgMHhkNywgMHgwZSwgMHgxYSwKLSAgMHhjZSwgMHgzMiwgMHhmZCwgMHg4MCwgMHg1MiwgMHg1ZiwgMHg4MywgMHhlMiwgMHhlMSwgMHg2ZiwgMHgzOCwgMHhlZiwKLSAgMHhhOCwgMHgyYiwgMHg2NywgMHhhNSwgMHhiZSwgMHhiNCwgMHgzNywgMHhlMSwgMHhhZCwgMHhlNywgMHg5YywgMHhmYiwKLSAgMHgxYywgMHg2ZSwgMHhjOSwgMHhhYSwgMHg3MCwgMHg4MSwgMHg5MiwgMHgyNCwgMHhlNCwgMHhiMiwgMHg0NiwgMHg5NiwKLSAgMHg5YiwgMHg5NSwgMHhmYSwgMHg1OSwgMHg2OSwgMHg1NSwgMHgwNiwgMHhhMSwgMHg0MiwgMHgxYSwgMHg0NywgMHg1NSwKLSAgMHg5NSwgMHg5ZSwgMHgwYSwgMHgzYywgMHhmYywgMHgxNiwgMHhhNiwgMHhhOCwgMHg5MSwgMHhhNSwgMHhmOSwgMHhhNSwKLSAgMHgwNiwgMHhlMywgMHg3YiwgMHhiMiwgMHhmMSwgMHg0OCwgMHhkMCwgMHgzNSwgMHg0OCwgMHg3MSwgMHg5NiwgMHg1YSwKLSAgMHg3MiwgMHgxMiwgMHgyMSwgMHg5NCwgMHhlYywgMHg4NiwgMHg0NCwgMHgxNCwgMHg0OSwgMHhlMiwgMHhlNCwgMHhlNCwKLSAgMHhhMSwgMHg1NiwgMHgxMSwgMHg3ZCwgMHg3MCwgMHg2ZiwgMHhhOCwgMHgzNCwgMHhjOCwgMHgzZCwgMHg0ZSwgMHg0OSwKLSAgMHg1NywgMHg3YSwgMHg4YiwgMHgzMSwgMHhiYywgMHgzOCwgMHgzYiwgMHhiYywgMHgzNCwgMHgzOCwgMHhkMiwgMHhlMSwKLSAgMHhlMCwgMHg5NCwgMHgzMCwgMHhjZiwgMHg3NCwgMHg2ZCwgMHg0MywgMHhhNCwgMHhlNiwgMHg1YSwgMHgwZCwgMHgzMSwKLSAgMHg1NiwgMHgwOSwgMHhkYiwgMHg1ZCwgMHg4ZiwgMHg2NiwgMHhlOCwgMHhlYiwgMHhmNiwgMHhlNiwgMHhhOCwgMHhjOCwKLSAgMHg0ZSwgMHg5MSwgMHhmZSwgMHgxZiwgMHg1MywgMHgwNCwgMHg0YSwgMHgyZiwgMHhhNCwgMHg0YiwgMHgwMywgMHg4NiwKLSAgMHgxMiwgMHhiMiwgMHhiMSwgMHgwOSwgMHg5NiwgMHg1YSwgMHhkMCwgMHgwNCwgMHhmNSwgMHhjMSwgMHhmMCwgMHgyYiwKLSAgMHgyMywgMHgyNCwgMHgyOSwgMHgzMSwgMHg5ZCwgMHhlYSwgMHhmMCwgMHhlNywgMHhhNSwgMHg1MywgMHhjNywgMHgwYywKLSAgMHg5OSwgMHgxYSwgMHhjZSwgMHg4OSwgMHhhMiwgMHhjNSwgMHg1MSwgMHhjMCwgMHhlNSwgMHhiOSwgMHg3NCwgMHg4OSwKLSAgMHhkMywgMHgwZCwgMHhiOSwgMHgwNCwgMHg4ZiwgMHg3MywgMHhjMywgMHhmOCwgMHg2NywgMHgyMCwgMHhiZiwgMHg4OSwKLSAgMHg0NiwgMHhkNCwgMHgxZCwgMHhmNywgMHhhMywgMHhmMywgMHg4YiwgMHgzOSwgMHg5MiwgMHgyNCwgMHg3OSwgMHg5ZiwKLSAgMHhlYiwgMHgyMSwgMHg3MywgMHg1NCwgMHhmYSwgMHg0YSwgMHg2ZCwgMHgyOCwgMHhkNywgMHgyMiwgMHhhOCwgMHgxZiwKLSAgMHhiYywgMHgyZSwgMHgyNSwgMHhiOSwgMHg5MywgMHgyNiwgMHg0YSwgMHhmMywgMHhlNCwgMHgzOSwgMHg3NiwgMHgyOSwKLSAgMHhjYiwgMHhkNiwgMHg3ZCwgMHhiNiwgMHg0YywgMHg5NywgMHhiNCwgMHg3NiwgMHgyOSwgMHhmZCwgMHg3NSwgMHgxOCwKLSAgMHhkYiwgMHg3NCwgMHg5YiwgMHgxOSwgMHhiMywgMHg3NSwgMHg4MywgMHhmMiwgMHgwOCwgMHg0YywgMHhhNCwgMHhjYSwKLSAgMHhmNCwgMHgwYiwgMHg0NSwgMHhkOSwgMHg5ZCwgMHg5NCwgMHhjZSwgMHgyMywgMHg5NiwgMHhiOSwgMHhhYSwgMHgyNSwKLSAgMHgwMCwgMHhkZSwgMHgwNCwgMHhiNCwgMHgxNCwgMHhjMCwgMHg5ZSwgMHg3MiwgMHg0ZiwgMHg5ZSwgMHg2NywgMHg5NiwKLSAgMHhiOCwgMHg0NywgMHgxMiwgMHg2NywgMHg5NSwgMHhiYSwgMHg2MywgMHg4NCwgMHg3NywgMHgwMiwgMHg4NSwgMHgxZCwKLSAgMHgzNSwgMHg0ZiwgMHhmZCwgMHgzOSwgMHhjZCwgMHhlOSwgMHg4YiwgMHhlZCwgMHg5OCwgMHg1NywgMHhkOSwgMHg4ZCwKLSAgMHhhNCwgMHgxNCwgMHg2NSwgMHgyZSwgMHhlYSwgMHg3NCwgMHg1ZSwgMHhkNiwgMHgxYSwgMHhhZCwgMHgyMSwgMHg1NSwKLSAgMHg4NCwgMHhjYiwgMHg3MywgMHgwZCwgMHg0YiwgMHhmZCwgMHg1ZSwgMHg3ZSwgMHhjMCwgMHg0NywgMHhkMywgMHgxOSwKLSAgMHg4ZSwgMHg5ZiwgMHgxYSwgMHhjOCwgMHgxNCwgMHgyZiwgMHg5YywgMHg2YSwgMHgyMiwgMHg5NiwgMHhhZCwgMHhhYiwKLSAgMHgyOSwgMHgyNiwgMHg0NiwgMHg2MywgMHg2ZCwgMHhjZiwgMHhlNywgMHhjOSwgMHg4ZiwgMHgzZiwgMHgwZSwgMHgxMiwKLSAgMHg2MywgMHg1MiwgMHg3NywgMHg4NiwgMHhmYiwgMHhiMSwgMHgzMSwgMHgzZiwgMHgzNSwgMHhiNCwgMHhmOCwgMHgyMywKLSAgMHhkNywgMHgzNSwgMHhmZCwgMHg3OCwgMHg0ZCwgMHgyNiwgMHgyMywgMHhiOSwgMHhhMywgMHhlYiwgMHgzOSwgMHhjNSwKLSAgMHg5YSwgMHg1OCwgMHgyOSwgMHg2ZiwgMHhmYiwgMHhmMCwgMHhiOCwgMHg2YywgMHg3YSwgMHg0ZCwgMHgyMiwgMHg5NywKLSAgMHhiMywgMHhmMiwgMHgzOSwgMHg3MSwgMHhkMywgMHgxYywgMHhkOCwgMHg2YSwgMHg1MSwgMHg4OCwgMHgyZCwgMHhjMywKLSAgMHhjNCwgMHg4OSwgMHg3YiwgMHgwZiwgMHhhOSwgMHhiMSwgMHhmOSwgMHhmYiwgMHg0ZCwgMHg0NywgMHg0OCwgMHhiMSwKLSAgMHhiZCwgMHhhYiwgMHgzMiwgMHhkNiwgMHgwYiwgMHgyMCwgMHhkOCwgMHg3MiwgMHg0ZiwgMHhhOCwgMHg2OSwgMHg5MSwKLSAgMHgzMSwgMHg4YywgMHhkMywgMHg4NCwgMHg4MywgMHhhYiwgMHg5NCwgMHhiZiwgMHg3NiwgMHg0YSwgMHhhZSwgMHg3OCwKLSAgMHhhZSwgMHgxNiwgMHhlYiwgMHgwYSwgMHg3ZCwgMHg2NywgMHg3OCwgMHg1MiwgMHgwOSwgMHhkZCwgMHhmMiwgMHhlYSwKLSAgMHhhZSwgMHgyNiwgMHgxNiwgMHgyZSwgMHhiMywgMHgwOSwgMHg2ZSwgMHg0ZiwgMHg2ZiwgMHgyYSwgMHhiMiwgMHhlYywKLSAgMHgzZCwgMHhkNSwgMHhmZSwgMHgxMCwgMHgxZiwgMHgyMCwgMHhlNiwgMHhkNywgMHg2MiwgMHg5ZCwgMHg2NiwgMHg0NiwKLSAgMHg5YiwgMHhjMywgMHg0ZCwgMHgxYiwgMHgzOSwgMHg5MywgMHhlYywgMHg5YSwgMHgyMCwgMHhlNSwgMHhkZSwgMHhhNiwKLSAgMHg3MSwgMHhiYiwgMHg1NCwgMHhjNSwgMHhlMCwgMHg5MywgMHg1ZSwgMHgwYSwgMHg1ZCwgMHhlOSwgMHgyNywgMHg0NywKLSAgMHhiYSwgMHgxYSwgMHg3OCwgMHgyYSwgMHg2MiwgMHhkNSwgMHg5OCwgMHhiZiwgMHg3YywgMHg1ZiwgMHhmOCwgMHg0ZiwKLSAgMHhjNCwgMHgzZCwgMHg4NSwgMHgyNCwgMHg0YSwgMHgxOCwgMHgyYSwgMHgzYSwgMHgwMCwgMHg3YywgMHgyNywgMHgyZSwKLSAgMHg5OCwgMHgzNCwgMHgxYywgMHgwMiwgMHhhNCwgMHg2NCwgMHhjOSwgMHhjMCwgMHgyMiwgMHg0NCwgMHgxMiwgMHhjOCwKLSAgMHg1MywgMHhiOCwgMHhhMywgMHg4MiwgMHhiMSwgMHhlNSwgMHgzYywgMHhlMCwgMHhiNywgMHg5MiwgMHgzOCwgMHhhOCwKLSAgMHgzNSwgMHhkOSwgMHg3NCwgMHhjMSwgMHgwOSwgMHhjZCwgMHhlMiwgMHhhNiwgMHgxMCwgMHhkYywgMHg4MSwgMHg3MSwKLSAgMHgwOSwgMHgxZiwgMHhjZSwgMHgxNCwgMHgxOSwgMHgwZiwgMHg5MiwgMHg1YywgMHgyMywgMHhhNSwgMHg2NywgMHgxMSwKLSAgMHg5YiwgMHg5MSwgMHhjNCwgMHg1ZSwgMHhhMCwgMHgzMSwgMHhkMSwgMHg3YywgMHhiZSwgMHg2MCwgMHgxNCwgMHg4YiwKLSAgMHhiOCwgMHhkZSwgMHhiNCwgMHhkMSwgMHg3ZCwgMHgwMywgMHhmOSwgMHg5MiwgMHhjZSwgMHgyMSwgMHgyYSwgMHg2NSwKLSAgMHhmNSwgMHg5OCwgMHhjOCwgMHg5NiwgMHhlNCwgMHhkZCwgMHgwZCwgMHhmZiwgMHhjNiwgMHhlOSwgMHg2ZiwgMHg1YywKLSAgMHhmOSwgMHgyNSwgMHgyMiwgMHg3NiwgMHg5YiwgMHhkMywgMHg4OSwgMHhlYiwgMHg0OCwgMHgxZSwgMHg4MCwgMHhjYiwKLSAgMHhjOSwgMHhmMiwgMHhlOCwgMHhjMywgMHg2NSwgMHgzNSwgMHhlNSwgMHg3MCwgMHg3NiwgMHg0MywgMHg3YSwgMHhiMSwKLSAgMHhiNCwgMHhmMywgMHg5ZSwgMHgwZSwgMHgwMiwgMHhmNywgMHhmYSwgMHgzNiwgMHgxNSwgMHhhNiwgMHhkMCwgMHhmNywKLSAgMHhjNCwgMHg4MSwgMHhhZCwgMHhhMiwgMHhjMywgMHhkZSwgMHhlOCwgMHhlNSwgMHgxYywgMHgyMCwgMHgxZiwgMHg1YSwKLSAgMHgxMiwgMHgwMywgMHgwNSwgMHgyYSwgMHhkOCwgMHg5ZCwgMHhiZCwgMHg2ZCwgMHg1YiwgMHg0NCwgMHgwOSwgMHg0YywKLSAgMHgwZSwgMHhjZSwgMHhlMywgMHgxNiwgMHg1NSwgMHg2MSwgMHhlMywgMHhhYSwgMHhlNCwgMHhjYywgMHhhMywgMHg4ZCwKLSAgMHhlNywgMHg1NCwgMHhkZiwgMHgyNywgMHhiNywgMHgxMSwgMHg2YiwgMHg1NCwgMHhiNCwgMHg4NCwgMHhjZSwgMHg3MCwKLSAgMHhjOCwgMHhlYiwgMHhmYSwgMHhlNiwgMHhmNCwgMHhjZCwgMHg1MSwgMHgzYiwgMHg1ZiwgMHgxNywgMHgzZiwgMHg4OSwKLSAgMHhiOSwgMHg2YSwgMHgwZCwgMHhiYiwgMHg3YSwgMHg2ZCwgMHgzOCwgMHgwYywgMHhkMywgMHg0MCwgMHgxYSwgMHhlOCwKLSAgMHg3ZSwgMHg0YywgMHg1YiwgMHg2NiwgMHg1YSwgMHg5NywgMHg1OSwgMHhiMywgMHhiYywgMHg1OSwgMHhlNSwgMHhiMywKLSAgMHhhZCwgMHg2ZCwgMHhhMiwgMHgxMSwgMHhhYSwgMHg0YSwgMHgxOSwgMHhhMiwgMHgxNCwgMHg4YSwgMHgwZCwgMHhjOSwKLSAgMHgzYSwgMHhkOSwgMHg2MiwgMHg3NSwgMHhiZSwgMHhjYSwgMHg5YSwgMHg1NSwgMHg1NSwgMHhiMCwgMHgxYSwgMHg0NSwKLSAgMHg3MywgMHhlZiwgMHg5YSwgMHg2NCwgMHg0NiwgMHgzYSwgMHhiMywgMHhhOCwgMHhmMywgMHg1ZCwgMHgwOSwgMHgwMiwKLSAgMHhiOCwgMHhjMywgMHgwOSwgMHg0ZiwgMHgzYywgMHhhMCwgMHgzMSwgMHg4ZSwgMHg0ZiwgMHg2ZCwgMHg5NiwgMHgwOCwKLSAgMHgwZSwgMHgxZSwgMHg2YiwgMHgwOSwgMHhlNCwgMHg5NywgMHhiZiwgMHgxMywgMHhjOSwgMHhlMSwgMHhkOSwgMHhkOSwKLSAgMHhhYiwgMHhjMywgMHhmMywgMHg0MywgMHhiYiwgMHgzNiwgMHgwOCwgMHg2OCwgMHgzMCwgMHgxNywgMHhlOCwgMHhkMywKLSAgMHg4NiwgMHgwZiwgMHg5MSwgMHhkNiwgMHg0NCwgMHg0ZiwgMHg2ZSwgMHhmZSwgMHhlMSwgMHhmZCwgMHhmOCwgMHhlOCwKLSAgMHg1ZCwgMHhmNywgMHg2MCwgMHhjZiwgMHhkZSwgMHg5ZCwgMHgxMiwgMHhhYSwgMHhkMSwgMHgxZiwgMHg3ZSwgMHgzYywKLSAgMHg1YywgMHgyZSwgMHhlNywgMHgxYSwgMHg0MiwgMHg3YywgMHg5NSwgMHgzNiwgMHhlOSwgMHg2NiwgMHg3MCwgMHhhYiwKLSAgMHhmNywgMHhiNywgMHg2OSwgMHg3ZSwgMHgzNywgMHg3NiwgMHg3ZSwgMHgxNywgMHgyMiwgMHhlNCwgMHhlMCwgMHgxOCwKLSAgMHg0OCwgMHg0NiwgMHg3NCwgMHhhMCwgMHhkNSwgMHg1NCwgMHg5MywgMHg3NSwgMHhlZCwgMHg2ZSwgMHg2MCwgMHgwMywKLSAgMHg5MCwgMHg2YiwgMHhkYiwgMHhiZiwgMHg5MCwgMHhkMiwgMHg3MSwgMHgzMiwgMHg0ZCwgMHgzYiwgMHhkMywgMHhjZCwKLSAgMHg5YSwgMHgxYiwgMHg5MywgMHgzYywgMHg5YiwgMHhhZSwgMHgxYSwgMHgyNSwgMHg3OSwgMHhkMCwgMHgxNywgMHgxNSwKLSAgMHg3YiwgMHg3NywgMHhmNywgMHgyNSwgMHgzOCwgMHgxZSwgMHgxNywgMHg3NCwgMHg2MSwgMHgyZSwgMHgwMCwgMHhhYywKLSAgMHgwMSwgMHg0MywgMHg2OCwgMHg0OCwgMHhhOCwgMHhkNiwgMHhkOSwgMHgzMiwgMHgxNywgMHg4YiwgMHhkMCwgMHhkNCwKLSAgMHgyYywgMHhlMywgMHgyMCwgMHgwYywgMHhiMCwgMHgwNywgMHg3OCwgMHg0YSwgMHhjMSwgMHg4NiwgMHhmYywgMHhkZSwKLSAgMHhkYywgMHhjNiwgMHg2MSwgMHg3MiwgMHgyNCwgMHg0NSwgMHg3MSwgMHg1OCwgMHhiOCwgMHhmOSwgMHg0MSwgMHhmMCwKLSAgMHg1MCwgMHg2MywgMHg4ZCwgMHgwZCwgMHg2MSwgMHhmNywgMHg3MSwgMHg1ZSwgMHhlMSwgMHhlMSwgMHg3MSwgMHg2YywKLSAgMHg3NCwgMHg0NSwgMHgwMCwgMHg1NywgMHhjMCwgMHg5YSwgMHg4NywgMHg2OCwgMHhkYSwgMHhiNCwgMHhlOSwgMHhiMCwKLSAgMHhiNSwgMHgzNiwgMHgyMiwgMHgyOSwgMHg1MiwgMHhjMywgMHhmNCwgMHg5MiwgMHhjOCwgMHhjYiwgMHgzYywgMHg2YSwKLSAgMHhmNCwgMHg2YiwgMHg2MywgMHg2MiwgMHhkMSwgMHhiZiwgMHg3NiwgMHhmNiwgMHg0NiwgMHhiYiwgMHgxYiwgMHhlMSwKLSAgMHhlNCwgMHhlOSwgMHhiMiwgMHgwMCwgMHg0YiwgMHhjNSwgMHhjNiwgMHhlMCwgMHg4OCwgMHgxYiwgMHgzNiwgMHg2NSwKLSAgMHg3OSwgMHhlZiwgMHhmYywgMHg5OCwgMHg4NSwgMHgxOSwgMHhmZCwgMHg3NCwgMHg2OSwgMHhjNiwgMHg4ZiwgMHg0ZSwKLSAgMHg2NSwgMHg3OCwgMHgxYSwgMHhlNCwgMHg4YywgMHg1MCwgMHg5ZSwgMHg2ZiwgMHhhNSwgMHg0YywgMHhkMSwgMHhmMCwKLSAgMHhjNCwgMHhhMiwgMHhiYywgMHhhMSwgMHg5NSwgMHgxOCwgMHg1MiwgMHg5YiwgMHhjZiwgMHg1YiwgMHhhMCwgMHgzNywKLSAgMHgxYiwgMHhmMSwgMHg2ZCwgMHgyZSwgMHg4MCwgMHgzYSwgMHg5NSwgMHg3NSwgMHg3NywgMHgzYiwgMHgxYSwgMHhlNywKLSAgMHg1NiwgMHhlNSwgMHhkMywgMHhkNywgMHhmMCwgMHg2YywgMHg4MiwgMHgyYywgMHg2YywgMHg0ZSwgMHg0YiwgMHgwOSwKLSAgMHgzZSwgMHhlNiwgMHg4MCwgMHhlMSwgMHg3MiwgMHgwMSwgMHhkZiwgMHg5YiwgMHhmYiwgMHg3OSwgMHgxYywgMHg0MywKLSAgMHg0ZCwgMHgyNiwgMHgxOSwgMHhkMiwgMHgyMCwgMHhhNCwgMHg5NSwgMHhiZSwgMHhlMCwgMHg5MiwgMHhmNiwgMHhjMCwKLSAgMHhmMiwgMHg3ZiwgMHg5MywgMHhkZSwgMHhlNiwgMHg4YiwgMHhkNSwgMHgwMiwgMHgxZiwgMHgyMywgMHhkYSwgMHg5NiwKLSAgMHhjNywgMHgyNCwgMHhmYSwgMHgwMCwgMHgxZiwgMHgyNCwgMHgyNywgMHhiMywgMHg4MCwgMHhjOCwgMHgzNywgMHhlYiwKLSAgMHhjNCwgMHhiMywgMHhmZiwgMHg2MywgMHg0MiwgMHhjNiwgMHg4OCwgMHhlNCwgMHg5MSwgMHg1YiwgMHgxZSwgMHg5NCwKLSAgMHgwNSwgMHg4NCwgMHgyNywgMHhlYSwgMHg4ZSwgMHhlZiwgMHhjMCwgMHhlOCwgMHgwNywgMHgyOSwgMHg2NSwgMHgyOCwKLSAgMHhkNCwgMHhhNSwgMHg0ZCwgMHhlZiwgMHg4OSwgMHhiMCwgMHg3MywgMHhjNiwgMHg1NCwgMHgxMCwgMHgxZCwgMHhjZSwKLSAgMHhjYiwgMHg2ZSwgMHhjZCwgMHhhYSwgMHhiYywgMHg5YywgMHhkOSwgMHg3YiwgMHg0MywgMHhmYSwgMHg2MywgMHg1ZSwKLSAgMHhhYywgMHhjYywgMHgzZSwgMHhiMywgMHhlNywgMHg5OSwgMHg0MywgMHgxNiwgMHhmNCwgMHhhYiwgMHhjMCwgMHg5ZiwKLSAgMHg4OCwgMHgxYywgMHhmYywgMHgzMSwgMHg0YSwgMHgyYiwgMHgzNCwgMHg2MSwgMHhmNSwgMHhlOSwgMHhlOCwgMHg2MCwKLSAgMHg3ZiwgMHhiNCwgMHgzYiwgMHg2OCwgMHg5OSwgMHg4NSwgMHgwMiwgMHgzZCwgMHg0MSwgMHhjNiwgMHg2NywgMHhiZSwKLSAgMHhiMCwgMHg2NSwgMHhhOSwgMHhhMywgMHg3ZiwgMHg5OSwgMHg5YiwgMHgwNywgMHhmOSwgMHhlMywgMHg4YiwgMHhmNCwKLSAgMHgxNiwgMHhjNywgMHgxNywgMHgzZCwgMHhkNiwgMHgzMiwgMHg3OSwgMHhmMSwgMHhjZCwgMHhlOSwgMHhmOCwgMHg3YywKLSAgMHhlZiwgMHhmOSwgMHhkOSwgMHhlOSwgMHgzYiwgMHhmMywgMHg1ZiwgMHhmYSwgMHhmYiwgMHgzZSwgMHhmZSwgMHhiZSwKLSAgMHgxZiwgMHg1OCwgMHg5NSwgMHhhZiwgMHgyNSwgMHhkZiwgMHg1NiwgMHg0YiwgMHg3YiwgMHhhMCwgMHhhMSwgMHg0MCwKLSAgMHhhMywgMHhlMSwgMHhkZCwgMHg0YywgMHhiYywgMHg4MSwgMHg0OCwgMHgyZiwgMHgwNywgMHgxYiwgMHg5YywgMHhkYSwKLSAgMHhjMiwgMHhjNywgMHhlZSwgMHgxMSwgMHg3YiwgMHg5ZiwgMHhkMiwgMHg5NCwgMHhiYywgMHg1MSwgMHgxMiwgMHhhNiwKLSAgMHhmZCwgMHhlNSwgMHg4ZCwgMHg2YSwgMHg1MywgMHg1MiwgMHgzMiwgMHhhZiwgMHhjNSwgMHhmOCwgMHg1ZCwgMHg4YiwKLSAgMHg5ZCwgMHhjYiwgMHg5ZCwgMHhhNSwgMHg5YSwgMHg0NywgMHg0MSwgMHhlZiwgMHg5MCwgMHg0OSwgMHhkNiwgMHhmZSwKLSAgMHhkNSwgMHg3NCwgMHg2ZSwgMHhiNCwgMHhmYiwgMHg4YywgMHgzMiwgMHg0ZiwgMHg2NiwgMHgxOSwgMHg4NywgMHg2MywKLSAgMHhlOCwgMHgyNywgMHgzMSwgMHhjMywgMHhjNCwgMHg1YywgMHgzZiwgMHgyOSwgMHg3MCwgMHgwOCwgMHhkMiwgMHgxMSwKLSAgMHg0MSwgMHg5MSwgMHgxYSwgMHgwMywgMHgzMiwgMHhiMywgMHgzMSwgMHg3MywgMHhjYywgMHg4ZCwgMHgyNiwgMHhjZSwKLSAgMHhkYiwgMHg1MSwgMHg2NCwgMHg0MSwgMHgzZCwgMHgwMSwgMHhmMiwgMHg2NCwgMHg1YiwgMHgyZSwgMHgyZiwgMHhkNCwKLSAgMHhmMiwgMHhhMywgMHgyYSwgMHhmZiwgMHhlZCwgMHhlOSwgMHg3OSwgMHg5MiwgMHg1ZSwgMHg1YywgMHgyOCwgMHg4NCwKLSAgMHgwMCwgMHgxNSwgMHgzMSwgMHg5MCwgMHhjNiwgMHhiYSwgMHhiMywgMHg2NCwgMHg0OSwgMHg5NiwgMHgzNiwgMHhiMSwKLSAgMHg0NCwgMHgwZiwgMHhkMSwgMHg0NywgMHhjZSwgMHg0ZiwgMHhjNiwgMHgzYiwgMHhlNCwgMHhmMCwgMHhlMiwgMHg5NCwKLSAgMHhiOSwgMHhmMSwgMHhkYiwgMHhlMywgMHg0MSwgMHhjYiwgMHhiMywgMHhlZCwgMHgyNywgMHhjYSwgMHg2YywgMHg5MywKLSAgMHhhNCwgMHg4YywgMHgyYiwgMHgxNCwgMHhhOSwgMHgyNywgMHgwYiwgMHgxZCwgMHgzMCwgMHgwZCwgMHhhNSwgMHhlMCwKLSAgMHhlMSwgMHg0OCwgMHgzNywgMHhhNCwgMHg3NiwgMHg2YywgMHgwMywgMHg0NywgMHhiYiwgMHg5MSwgMHg2OCwgMHg4YywKLSAgMHgxNSwgMHg3NiwgMHhmMSwgMHg2MiwgMHhkOSwgMHhkYywgMHg4NSwgMHg2NSwgMHhhNSwgMHg3MCwgMHg2NiwgMHgxMCwKLSAgMHg1YywgMHgwYiwgMHgyOSwgMHgxZCwgMHgxYiwgMHg2NCwgMHg5NiwgMHhkMCwgMHhiMiwgMHhiMCwgMHhhNCwgMHg4ZCwKLSAgMHgxMSwgMHgwZiwgMHhiYiwgMHhiZiwgMHg4MSwgMHg1MSwgMHgzMSwgMHhhOCwgMHhmOSwgMHgzYiwgMHg4ZCwgMHgwOSwKLSAgMHhhMiwgMHg5ZCwgMHg2NCwgMHhiMSwgMHg2MiwgMHgwMCwgMHhmZSwgMHg5MCwgMHgzNywgMHg3OCwgMHg2MiwgMHg4NywKLSAgMHgzNywgMHgxMywgMHhiMywgMHg1NSwgMHg2ZCwgMHg0YSwgMHgxZCwgMHhjNCwgMHg2MCwgMHhjYSwgMHgyYSwgMHhiZiwKLSAgMHhhNCwgMHhhYywgMHg4MiwgMHg2ZSwgMHhhMSwgMHg5OSwgMHg5YiwgMHg0OCwgMHhlMCwgMHhjNywgMHgyMiwgMHg2NSwKLSAgMHhhYywgMHg2ZSwgMHgzNiwgMHgzYywgMHg1NywgMHg0MiwgMHgxMywgMHhhNCwgMHhmMywgMHgyMywgMHhjOSwgMHhiNCwKLSAgMHg1MiwgMHg5MywgMHg0NiwgMHhhNywgMHg0MywgMHhmYywgMHhhNywgMHg4OSwgMHhlOCwgMHhmMSwgMHhhYywgMHhlYywKLSAgMHg5OSwgMHhkNSwgMHg5MSwgMHhkYywgMHg3MSwgMHgyMSwgMHgyMywgMHgyZCwgMHgxNCwgMHhkMiwgMHhiYiwgMHgwNCwKLSAgMHhjMCwgMHg5YywgMHhlMywgMHg0NiwgMHgxOSwgMHgzOCwgMHgwNywgMHg5OSwgMHhiYSwgMHhjMywgMHgzMSwgMHhiMCwKLSAgMHg1YiwgMHg0YSwgMHg3ZSwgMHgyZSwgMHhhZSwgMHgxMSwgMHhkOSwgMHhkOCwgMHhkYiwgMHg3ZiwgMHgzYSwgMHhkYSwKLSAgMHgzNSwgMHhmZiwgMHg2NywgMHgwZSwgMHg0NSwgMHhmNCwgMHgyMywgMHhhMCwgMHg0YSwgMHgzOSwgMHhmNCwgMHgyMCwKLSAgMHhmYiwgMHg2NCwgMHg3NiwgMHhkYiwgMHgyNSwgMHg0OSwgMHgxNiwgMHg0MCwgMHg2NSwgMHg3NSwgMHhiOSwgMHhiMSwKLSAgMHhiNiwgMHhkYSwgMHhiNSwgMHgyNSwgMHg1MiwgMHhlOCwgMHgyMCwgMHhhZCwgMHgzOCwgMHg0OSwgMHg2NywgMHhmMiwKLSAgMHgxMywgMHhiZCwgMHhlMywgMHhkNSwgMHg2YSwgMHgxZSwgMHg0OSwgMHgwMiwgMHhmNCwgMHg5YywgMHhjZSwgMHhhNCwKLSAgMHg5ZCwgMHhjZCwgMHhhZiwgMHhjNSwgMHhlNSwgMHhmYywgMHgwZCwgMHhmMSwgMHgyNiwgMHhhZSwgMHhmYSwgMHgxYiwKLSAgMHhiNSwgMHg1MiwgMHhhOCwgMHg5ZSwgMHhiNSwgMHgzYywgMHg4OCwgMHgyZiwgMHhjNSwgMHg2NCwgMHgwMywgMHg2NywKLSAgMHgxZSwgMHg5YSwgMHhjYiwgMHhmMCwgMHhhMiwgMHhiYywgMHhiOCwgMHhhOCwgMHhiMywgMHhhNiwgMHgyYiwgMHg4MCwKLSAgMHg1ZSwgMHhjYSwgMHgyMywgMHgzYiwgMHhlZiwgMHg4MCwgMHg4ZSwgMHgwOCwgMHg0ZSwgMHhhNSwgMHhmNSwgMHgzOSwKLSAgMHg0OSwgMHgxYiwgMHhiZCwgMHgyNywgMHg5MSwgMHg5YywgMHgzNSwgMHg2NiwgMHg1YiwgMHgzYywgMHhkYywgMHgyOCwKLSAgMHg1MiwgMHg5MiwgMHhlMCwgMHhmZiwgMHg1ZSwgMHhmMywgMHg0OSwgMHhiOCwgMHg3OCwgMHg1ZSwgMHgzMSwgMHg2MSwKLSAgMHg1MCwgMHg5YywgMHhjNSwgMHg3MCwgMHgyZiwgMHgyMiwgMHhlOSwgMHhiYSwgMHhlMCwgMHg2ZCwgMHg3YSwgMHgyNSwKLSAgMHgzZSwgMHhlNiwgMHhjYiwgMHgyNSwgMHg5OSwgMHgzNywgMHgwYywgMHg4NCwgMHgwNiwgMHhiMiwgMHhiNSwgMHhlMSwKLSAgMHgzNiwgMHg0NCwgMHg3ZCwgMHg0MSwgMHhjYSwgMHg5YSwgMHg1YiwgMHg2OCwgMHg5NCwgMHhlNCwgMHhhOSwgMHhjOCwKLSAgMHhmYywgMHg0OSwgMHg3NiwgMHgxMSwgMHg4NiwgMHg4YywgMHgzOCwgMHgwNSwgMHhkMiwgMHg0NywgMHhiZiwgMHg5MSwKLSAgMHg2YSwgMHhkZSwgMHgxOSwgMHgyMSwgMHhkZCwgMHgxNCwgMHhhOSwgMHhiMiwgMHg5OCwgMHgwYiwgMHgwZiwgMHgxNywKLSAgMHg0MiwgMHg0YSwgMHgwNSwgMHgwNywgMHg5MSwgMHhmYiwgMHhlZiwgMHg0YSwgMHhiOSwgMHhhYywgMHgxZiwgMHg2ZSwKLSAgMHg3YywgMHhmYywgMHhkZiwgMHg4ZiwgMHgxYywgMHg1NiwgMHg5MSwgMHgwNSwgMHgwMywgMHhlMiwgMHhlMiwgMHg5OCwKLSAgMHg1OCwgMHhhOSwgMHg5MSwgMHhiOSwgMHg4NSwgMHhjMywgMHg5NywgMHhlNiwgMHhiYywgMHgzNiwgMHgzMCwgMHgxNSwKLSAgMHg5NywgMHg5OCwgMHg1MiwgMHg3NiwgMHhmYywgMHhiMCwgMHhiMCwgMHg3YiwgMHg0OCwgMHg5MywgMHg4MCwgMHgzNiwKLSAgMHhiNCwgMHg0MywgMHhmMCwgMHgwMCwgMHg4MSwgMHg2OCwgMHg2MCwgMHg4MCwgMHg0YiwgMHhmNiwgMHgyZiwgMHhjYSwKLSAgMHgxYSwgMHg3MSwgMHgzYiwgMHgxYSwgMHhhOSwgMHhiMSwgMHhmMywgMHgyYiwgMHg1NCwgMHg0NCwgMHg1OSwgMHhkYywKLSAgMHhjOSwgMHgwYiwgMHg1MiwgMHgxOSwgMHg1OSwgMHg4MSwgMHgwOSwgMHgwYSwgMHgzOCwgMHhiNCwgMHg2YSwgMHg5NiwKLSAgMHg0MSwgMHg1MSwgMHg1NiwgMHhjZCwgMHhiZiwgMHgzMCwgMHhkMiwgMHg1MiwgMHgxMSwgMHhmZCwgMHgwMiwgMHhlZCwKLSAgMHhjZSwgMHgyMywgMHhlYSwgMHgyOSwgMHgxMywgMHgzNSwgMHgwMSwgMHg3ZCwgMHgwZSwgMHg3ZiwgMHgzNiwgMHg1NiwKLSAgMHhmNiwgMHgwYiwgMHg3NSwgMHg1MywgMHhmNCwgMHhlMSwgMHgwNywgMHhhOCwgMHg1MywgMHg4MywgMHg0YSwgMHgyZSwKLSAgMHg2MCwgMHg4NCwgMHg4MSwgMHgzNiwgMHgyYywgMHg4YywgMHg4ZCwgMHg2ZSwgMHgzNSwgMHhhMywgMHhlZiwgMHhhNCwKLSAgMHhkMCwgMHg2NSwgMHg4MCwgMHgyMiwgMHhkYSwgMHhiZCwgMHhmMywgMHgxNywgMHhjMCwgMHhjNiwgMHhmMSwgMHgwYSwKLSAgMHhjNSwgMHg2ZCwgMHhhNSwgMHhlNSwgMHg4OCwgMHg2MiwgMHg1YSwgMHg3MywgMHgxZSwgMHhhMSwgMHhlNiwgMHgzNCwKLSAgMHg0YywgMHgxOSwgMHg0MywgMHg4ZCwgMHg4NiwgMHgzYywgMHg5MCwgMHhiOSwgMHg3OSwgMHgzMSwgMHhlNCwgMHgzMiwKLSAgMHg2YywgMHg3ZCwgMHgxNiwgMHhhMSwgMHgzNywgMHgwMiwgMHg3NywgMHgxMywgMHg3MiwgMHhlNCwgMHgyMywgMHg2MiwKLSAgMHgzMywgMHhiYywgMHg5MSwgMHgzNCwgMHgwYywgMHhhOCwgMHhiNSwgMHhmOCwgMHg2YywgMHgyYywgMHhhYiwgMHg4YywKLSAgMHg3ZCwgMHg5MSwgMHg3MCwgMHgyMCwgMHhmMiwgMHhjNywgMHhjOSwgMHg0MSwgMHhmNiwgMHhkMSwgMHhlOCwgMHhjZSwKLSAgMHhjNSwgMHg4MCwgMHg3ZSwgMHg4YSwgMHhiMiwgMHg1NSwgMHg3YiwgMHhjOSwgMHhkOCwgMHhiNywgMHhkMSwgMHg2NCwKLSAgMHgxYywgMHhlMiwgMHhjOCwgMHgyMiwgMHhiYSwgMHhhYywgMHhmNywgMHhhYywgMHgzYywgMHhlYSwgMHhiOSwgMHg1MSwKLSAgMHhkZSwgMHg2NiwgMHg4ZCwgMHgyNCwgMHg5YSwgMHhmMCwgMHhlNCwgMHhiNSwgMHg5MiwgMHgwYiwgMHhkNSwgMHg2MCwKLSAgMHhjNywgMHgxNywgMHg5ZCwgMHhlMSwgMHg4MCwgMHgyYSwgMHg5NywgMHgzNSwgMHhlZCwgMHhiYSwgMHg3ZSwgMHg4OSwKLSAgMHhmOCwgMHgzMiwgMHg5NCwgMHgxNiwgMHhmOSwgMHg0MiwgMHgwNywgMHhlNiwgMHgxYSwgMHg2YywgMHhhOCwgMHg1ZiwKLSAgMHg5NiwgMHg1NywgMHgxMCwgMHg0ZiwgMHg3NCwgMHhkMCwgMHhlOSwgMHg5MCwgMHg5YiwgMHhhOCwgMHg5OSwgMHhjNSwKLSAgMHg2OCwgMHg5MiwgMHg3NSwgMHg1ZiwgMHhiZCwgMHg5MCwgMHg4MiwgMHgzMCwgMHhlOCwgMHgyNywgMHg0ZiwgMHgxMCwKLSAgMHg1NiwgMHgxYSwgMHg2MiwgMHhmZCwgMHhlZSwgMHg2YiwgMHg5YSwgMHhlNiwgMHgxMiwgMHhhOSwgMHg0MSwgMHhmNCwKLSAgMHg2YSwgMHg1MCwgMHgyOSwgMHhlMSwgMHhhNiwgMHg5YSwgMHhhOSwgMHg2NywgMHg0NCwgMHgyNywgMHg2YSwgMHhiOCwKLSAgMHhiMCwgMHhkOCwgMHg0NSwgMHgzNywgMHgyOSwgMHgyOCwgMHhjZCwgMHg4ZSwgMHgxZiwgMHhhYiwgMHg5NCwgMHhmMCwKLSAgMHhiMiwgMHgyNSwgMHg4NywgMHgxMywgMHg0NywgMHhjZSwgMHgwZSwgMHg2NSwgMHgyNywgMHg5YSwgMHhkNCwgMHgyNCwKLSAgMHgwZiwgMHgxMSwgMHhjZCwgMHgxYiwgMHhjMSwgMHhiMiwgMHhkOSwgMHg3OCwgMHhhNSwgMHhhOCwgMHgwMCwgMHhhZSwKLSAgMHhiMSwgMHg5YiwgMHhjMiwgMHg1YiwgMHg3OCwgMHg3MywgMHg1NSwgMHhjZSwgMHhkOSwgMHgyYywgMHhlZSwgMHg1YSwKLSAgMHg4OCwgMHhhZSwgMHg0MCwgMHgxOCwgMHgxOCwgMHgzMCwgMHg5NCwgMHgwNCwgMHgwYywgMHg2ZiwgMHhmMywgMHgzNSwKLSAgMHhmMiwgMHg4YiwgMHg1YiwgMHhhMSwgMHgxMywgMHhhMywgMHhkZiwgMHg2NSwgMHgyOSwgMHg5NSwgMHgyNywgMHhkOSwKLSAgMHgxNCwgMHhmYiwgMHhlYiwgMHg0MSwgMHg5MCwgMHhmNCwgMHg2ZSwgMHhlZSwgMHhmOSwgMHhhNCwgMHhhYywgMHgyZCwKLSAgMHhiZCwgMHg1MCwgMHgxOSwgMHgyZSwgMHg0OSwgMHg5MCwgMHg5YiwgMHhiNCwgMHgwMiwgMHg2MywgMHgxNiwgMHgzMCwKLSAgMHgyZCwgMHhjNSwgMHgxOSwgMHhmNSwgMHgzMywgMHgwYywgMHg0OSwgMHgxNSwgMHhlYywgMHg1NiwgMHg0NywgMHhlNCwKLSAgMHg1NCwgMHhiYSwgMHg2ZSwgMHhjOCwgMHhjNCwgMHgyOCwgMHgwMCwgMHhlNCwgMHhhNiwgMHgwNSwgMHhlZCwgMHhkMCwKLSAgMHg5MCwgMHgwMiwgMHg5MywgMHg3NSwgMHgwNSwgMHgxYywgMHg1ZCwgMHhhOSwgMHg2ZiwgMHgzNywgMHhmNywgMHhmMCwKLSAgMHg4YSwgMHg2NCwgMHg3YSwgMHhkZSwgMHhhYywgMHhkMiwgMHhlNiwgMHg2MSwgMHhlOSwgMHhkZCwgMHg3ZCwgMHhiYywKLSAgMHg4OSwgMHg5OSwgMHg5MywgMHg5ZiwgMHhiZCwgMHhkYSwgMHg4NywgMHhlZSwgMHhkMCwgMHgxMywgMHg3MywgMHhmNCwKLSAgMHgwZiwgMHhmMiwgMHgwNSwgMHhkZCwgMHhiNSwgMHhmZiwgMHg3MSwgMHgwZiwgMHg2MywgMHgzYSwgMHg0YiwgMHgyNSwKLSAgMHg5ZSwgMHhlNiwgMHgyMywgMHg0NywgMHhhMSwgMHg4MiwgMHg1NywgMHhlNCwgMHg4OSwgMHhkNiwgMHhjOSwgMHhmMSwKLSAgMHg5OCwgMHgyYSwgMHhlZSwgMHg4ZiwgMHgyMywgMHg2OSwgMHgwMSwgMHg4OCwgMHg4ZiwgMHg5OSwgMHhlOSwgMHhjYywKLSAgMHhlZiwgMHhkYywgMHg4MCwgMHg1ZSwgMHg4MSwgMHhhZCwgMHhlNiwgMHg4MywgMHg3YiwgMHhhOCwgMHg3YSwgMHhmNiwKLSAgMHgwYiwgMHg0MSwgMHg4ZSwgMHhkMywgMHhjNiwgMHhkOCwgMHhhOCwgMHhlMCwgMHhmYywgMHhjZCwgMHhlNywgMHgxYiwKLSAgMHgwYSwgMHg1MiwgMHg2YSwgMHg1MSwgMHg5NywgMHg4NCwgMHg4YiwgMHg0OCwgMHg4OSwgMHg5NywgMHg1NiwgMHg4YiwKLSAgMHhhOCwgMHhhZiwgMHg5ZSwgMHhhZSwgMHg3ZiwgMHg3NywgMHgzOCwgMHhjMiwgMHhmMywgMHhkZSwgMHhmYiwgMHhlMiwKLSAgMHhiYiwgMHhjMywgMHg5MywgMHhmNywgMHg0NywgMHg3YiwgMHg3ZiwgMHg0YSwgMHhlOCwgMHg1ZiwgMHhmYiwgMHhmYywKLSAgMHhhZiwgMHhmZCwgMHg4ZCwgMHhkOCwgMHg3MSwgMHgxOSwgMHg0NiwgMHhiNSwgMHhmOSwgMHhjNSwgMHg2NiwgMHg1MiwKLSAgMHhkZiwgMHgyZCwgMHgyNiwgMHhlNSwgMHhkYywgMHgxZSwgMHg5OCwgMHg2YywgMHg4NSwgMHgwNiwgMHhkMiwgMHgwNiwKLSAgMHgyMiwgMHhjNSwgMHg2ZCwgMHhhMSwgMHhiNywgMHhiOCwgMHhjYSwgMHhiYiwgMHgyYywgMHhiYiwgMHg5NiwgMHgxNCwKLSAgMHg0NSwgMHg2NSwgMHgzNywgMHg4OCwgMHhlMCwgMHhmOSwgMHg5NSwgMHhjNywgMHgwZCwgMHhlYSwgMHhiMiwgMHg5NSwKLSAgMHg4NywgMHg0OSwgMHgyYywgMHhhZiwgMHgyZiwgMHg2ZCwgMHgxNCwgMHg0MiwgMHg0OSwgMHgyZiwgMHg3NiwgMHgxZCwKLSAgMHhlMSwgMHgxYywgMHgyYywgMHg1ZSwgMHgxYywgMHgxZSwgMHhiNCwgMHhjZiwgMHgzMCwgMHhmMiwgMHg0OCwgMHhkYywKLSAgMHg3MiwgMHg4MSwgMHgyYiwgMHg2NSwgMHg0MSwgMHhhYiwgMHhmOSwgMHg3NSwgMHgzMSwgMHgxMCwgMHgwOCwgMHhiNywKLSAgMHhlMywgMHg0ZSwgMHhkMCwgMHgwYSwgMHgzNiwgMHhhYiwgMHhjYywgMHhiMiwgMHg1ZSwgMHhhYywgMHg5YSwgMHhkZSwKLSAgMHhlZCwgMHgwZSwgMHgzNywgMHgxMSwgMHhkZCwgMHhjNSwgMHg0MywgMHhmMCwgMHgzYSwgMHgyMSwgMHhkMCwgMHhiMCwKLSAgMHhhMSwgMHgyNiwgMHg3MywgMHgzOCwgMHg1NywgMHgwNywgMHgxOSwgMHhhMywgMHgzMywgMHhkMiwgMHhhYywgMHhkNSwKLSAgMHg5ZiwgMHg5MSwgMHg3OCwgMHhjOCwgMHhkMSwgMHgxNiwgMHg2ZCwgMHg1MiwgMHhlMCwgMHgxYSwgMHg5MywgMHg1NiwKLSAgMHg0OCwgMHg5MCwgMHg3ZCwgMHhjZCwgMHgyMSwgMHg0OCwgMHgwYiwgMHhlMywgMHhjNSwgMHg5OCwgMHhjZCwgMHg0MSwKLSAgMHg3MiwgMHhjYSwgMHgyMiwgMHhjOCwgMHhlNSwgMHgyYSwgMHg4YywgMHgyNiwgMHhiOSwgMHg2NSwgMHhkOCwgMHhmYiwKLSAgMHhiNiwgMHgxZiwgMHhhNywgMHhkNSwgMHhlMywgMHhjMywgMHhiMSwgMHg3OCwgMHg5MSwgMHhlNSwgMHg3YSwgMHg1ZCwKLSAgMHhjMCwgMHhlMCwgMHhmYywgMHhhYSwgMHgyNSwgMHg2ZCwgMHg1NCwgMHhlZiwgMHhkMywgMHg5YSwgMHg2OCwgMHgwZSwKLSAgMHhkMiwgMHg4YSwgMHhmOCwgMHhlMCwgMHg2MSwgMHg5OCwgMHg1NiwgMHgyOSwgMHhlMSwgMHg3MywgMHhlZSwgMHg2MSwKLSAgMHgzZiwgMHhhOSwgMHgyOSwgMHg0ZCwgMHgxNywgMHg0ZSwgMHgxMSwgMHgzNCwgMHgyOCwgMHgzNywgMHhjMCwgMHg1MiwKLSAgMHhiZiwgMHhmOSwgMHhmZSwgMHhkZCwgMHgzYywgMHhkYiwgMHg1NiwgMHhlYiwgMHg0MCwgMHgyNSwgMHhkZSwgMHhjZSwKLSAgMHg5YiwgMHhmMiwgMHhlZiwgMHg2NiwgMHhmMiwgMHhhOSwgMHg3YywgMHgyNCwgMHgyNiwgMHgzOCwgMHg0NSwgMHgwZSwKLSAgMHhmNiwgMHhjZSwgMHhkYywgMHgzMSwgMHgxOSwgMHhhZSwgMHgyYywgMHhmNywgMHg1OSwgMHg0NywgMHhjYiwgMHg0MCwKLSAgMHg0NiwgMHgyNCwgMHg5OCwgMHg5NCwgMHgzMywgMHg2NCwgMHg3NywgMHgwNywgMHhmNCwgMHgyMywgMHgyYSwgMHg0NiwKLSAgMHgyMCwgMHhhNiwgMHgzZCwgMHg3OCwgMHgxYSwgMHg0MywgMHhjZiwgMHhhNSwgMHgyNCwgMHhmNSwgMHg1OCwgMHgzYSwKLSAgMHgxMywgMHhkOSwgMHhkMywgMHhlNSwgMHhlMywgMHg1ZCwgMHhjNSwgMHhhYSwgMHg0NywgMHgxYSwgMHgxZCwgMHhkZCwKLSAgMHg2NiwgMHhkNSwgMHg5NCwgMHhkMCwgMHgyOSwgMHhhNiwgMHg0NiwgMHgzOSwgMHgwNSwgMHg1MywgMHhiZCwgMHgxMCwKLSAgMHgxZiwgMHgxNSwgMHhhNSwgMHg1ZiwgMHg0OSwgMHgyMiwgMHg3ZCwgMHgxYiwgMHg0NiwgMHgwNiwgMHgzMiwgMHg1OCwKLSAgMHg4OSwgMHhhZCwgMHg5NywgMHhjZSwgMHg5MCwgMHgyZSwgMHgzMSwgMHgzNSwgMHhkNCwgMHgzMSwgMHhiMiwgMHg3MCwKLSAgMHg3OSwgMHgyYSwgMHgyNSwgMHhkYiwgMHgzYywgMHg0NCwgMHhlYiwgMHhkMiwgMHgxMCwgMHg1MywgMHgwOCwgMHg5MiwKLSAgMHhmYywgMHhiMCwgMHhjMywgMHhmYSwgMHhhMiwgMHg3NywgMHg5YSwgMHg0MiwgMHgyZSwgMHg5OCwgMHgwYiwgMHg4MywKLSAgMHg5ZiwgMHhiOSwgMHgxMCwgMHgxMSwgMHhhMSwgMHgwYiwgMHgwMCwgMHg0MywgMHhhYSwgMHgzZiwgMHhhMywgMHhkMSwKLSAgMHg5ZSwgMHgwZSwgMHgyMCwgMHgzZiwgMHgxMCwgMHgzMiwgMHgyOSwgMHhlZSwgMHgxNCwgMHg3OSwgMHg2YSwgMHgwYiwKLSAgMHhiMiwgMHg5MywgMHgzNSwgMHg0NCwgMHhjNSwgMHgyNywgMHg4NCwgMHhmYSwgMHgxNSwgMHhkNiwgMHgyZiwgMHhjZiwKLSAgMHhjYiwgMHgxYiwgMHgwYSwgMHhjNCwgMHhiNCwgMHhkMSwgMHg0MiwgMHgzNSwgMHg1NSwgMHg4MiwgMHhkMywgMHhmMCwKLSAgMHg5OCwgMHgzOSwgMHgwZiwgMHg0OSwgMHg2MSwgMHhlMiwgMHhjZiwgMHg4ZSwgMHgzNCwgMHg2NCwgMHgxYiwgMHhhNSwKLSAgMHgwMCwgMHhhZCwgMHhjMCwgMHhlZCwgMHgxNiwgMHgyZiwgMHhhNSwgMHgyZSwgMHg5MywgMHhhMiwgMHg2MSwgMHg4ZiwKLSAgMHgzMiwgMHgyYiwgMHgxOSwgMHgwZSwgMHhhYywgMHgyYiwgMHgyNiwgMHhkZCwgMHhiMCwgMHhlMiwgMHg0OSwgMHhkOSwKLSAgMHg1YywgMHg3OSwgMHhhOSwgMHhhYiwgMHgwNCwgMHgwMCwgMHg0OCwgMHhjZSwgMHg5ZSwgMHg4YiwgMHg1NSwgMHgwMywKLSAgMHg0YiwgMHg0MCwgMHg2ZCwgMHhjMSwgMHg0NiwgMHhiMiwgMHg5MywgMHhjNSwgMHg2MywgMHgxNCwgMHhhNCwgMHgzZSwKLSAgMHg3YywgMHgyNCwgMHhhMCwgMHgzOCwgMHg1YSwgMHhhMiwgMHgwNSwgMHhiYiwgMHhhNSwgMHg5YywgMHhkYiwgMHgwMiwKLSAgMHhjOSwgMHhlNSwgMHg0NCwgMHg5NywgMHhjNiwgMHgwYSwgMHhkNiwgMHhhNCwgMHgxMiwgMHhjYSwgMHg2ZCwgMHhhYSwKLSAgMHg2YiwgMHhjMiwgMHg5ZCwgMHg0MywgMHgxNiwgMHhhYiwgMHhkOSwgMHhkOCwgMHgwMCwgMHhhNSwgMHgwMiwgMHg5OCwKLSAgMHg0YSwgMHg4NSwgMHg3ZiwgMHhhNCwgMHg1YiwgMHg4YywgMHg5OCwgMHhlMywgMHg3MCwgMHg5ZSwgMHgxOCwgMHg0YSwKLSAgMHg4MywgMHg0YywgMHhmNywgMHg4OSwgMHgxYywgMHg0ZCwgMHg4ZCwgMHhmYiwgMHg0YiwgMHhmNCwgMHgxMCwgMHhmMSwKLSAgMHg4YywgMHg1OCwgMHgyNSwgMHhiNiwgMHhlNywgMHhjMiwgMHhmZSwgMHhkMywgMHg5NiwgMHg0ZCwgMHg2MCwgMHhlOSwKLSAgMHg1NSwgMHgzNSwgMHg4MywgMHhlZCwgMHgwMiwgMHhhZSwgMHhkOCwgMHhlNiwgMHhkMiwgMHg2MywgMHhiYiwgMHg0MywKLSAgMHhjNiwgMHg5NSwgMHhiYSwgMHgyMCwgMHg1YywgMHgyYywgMHhkOCwgMHhiYiwgMHg1YSwgMHhjZSwgMHhhMCwgMHhmYiwKLSAgMHhlOSwgMHgzYiwgMHhkMCwgMHg5NiwgMHgzYywgMHhkMCwgMHhjYywgMHhiYSwgMHg5NCwgMHhkYiwgMHg4OCwgMHhlMSwKLSAgMHg4OSwgMHhjOSwgMHgzOCwgMHgyZSwgMHgxMywgMHhjMywgMHhkNSwgMHhlOSwgMHhkZSwgMHg3ZiwgMHgzZiwgMHhjYSwKLSAgMHhkMiwgMHg0MiwgMHg3NSwgMHg2MywgMHg0NywgMHhjZSwgMHhjMiwgMHhlNywgMHgwZCwgMHhlNiwgMHg0NSwgMHg0OCwKLSAgMHhlMCwgMHhhMSwgMHhhMSwgMHhmZCwgMHgzYSwgMHgxNiwgMHhhZCwgMHg1NCwgMHgyOSwgMHg2ZSwgMHgzOCwgMHhmYywKLSAgMHhjZiwgMHhhYiwgMHg2MiwgMHhkYSwgMHgxMSwgMHg1NCwgMHhlNSwgMHhjMCwgMHhjMywgMHhlZSwgMHg5NCwgMHhkMCwKLSAgMHhhYywgMHgxNSwgMHgxMywgMHg1ZCwgMHhhMiwgMHhjNywgMHg4NywgMHgwNCwgMHgzMSwgMHg4NywgMHg4YSwgMHg0OCwKLSAgMHhhOSwgMHhlMCwgMHg4MywgMHg2NCwgMHhkYywgMHhkYywgMHhhYiwgMHhiYSwgMHhiZCwgMHhjYSwgMHhjZCwgMHgwOSwKLSAgMHg1NSwgMHhkMywgMHgyYiwgMHg4MCwgMHgwZiwgMHhjMCwgMHg5OSwgMHg5NCwgMHhhOSwgMHg4NywgMHgzNCwgMHhkMCwKLSAgMHg4NiwgMHhjNSwgMHhmZCwgMHg4ZiwgMHg2MSwgMHg0NSwgMHgyMSwgMHhjYiwgMHg4OSwgMHgxZCwgMHgxMSwgMHhjMCwKLSAgMHg0OCwgMHg1OSwgMHgyOCwgMHg5MywgMHhlZSwgMHg5YiwgMHg2NywgMHg5OCwgMHgwYywgMHg3NiwgMHg0NSwgMHg3YiwKLSAgMHg5ZSwgMHhjZCwgMHg2YiwgMHgyNywgMHgyNSwgMHhlZCwgMHgzYiwgMHg0ZSwgMHg1YywgMHhjMiwgMHgxMiwgMHgyZiwKLSAgMHhlMCwgMHg5OCwgMHg2NSwgMHg3OSwgMHg5YywgMHg0NywgMHg2ZiwgMHgzOCwgMHg2NiwgMHg2MiwgMHg3NCwgMHgxZCwKLSAgMHg5OSwgMHgwYywgMHgxOSwgMHg5NywgMHg0NCwgMHgyNywgMHg3NywgMHgwYSwgMHg0YiwgMHgyMywgMHgyMywgMHg3NCwKLSAgMHg5MSwgMHg2OSwgMHhiYSwgMHg4NCwgMHhmYywgMHg1MiwgMHhjYywgMHgwNCwgMHgwYywgMHg0NywgMHg3YywgMHg3YSwKLSAgMHg2MSwgMHhjNCwgMHgxZCwgMHhhZiwgMHg2YiwgMHg0MSwgMHhhZSwgMHhkYywgMHhkZCwgMHhhNywgMHg4ZiwgMHg3NywKLSAgMHhlOSwgMHg4YSwgMHgxMywgMHgyNiwgMHgxZiwgMHg4YiwgMHgzZCwgMHgxMSwgMHg1NCwgMHgxYywgMHgxZSwgMHgwYiwKLSAgMHgxYywgMHgzYywgMHhhNSwgMHgzZCwgMHgwNiwgMHg4MSwgMHhkMCwgMHhkMSwgMHg5ZCwgMHhjZiwgMHgxNSwgMHhlYSwKLSAgMHg5ZCwgMHgyOSwgMHg4ZiwgMHg5YywgMHgyMywgMHg1NCwgMHhjMCwgMHg4ZCwgMHhkNiwgMHgyNCwgMHgxNCwgMHg1MywKLSAgMHgxYiwgMHgwZSwgMHgyZiwgMHg5YSwgMHgyMCwgMHgyNywgMHhkOCwgMHgyMywgMHg5ZCwgMHgzNiwgMHg0NSwgMHhjZCwKLSAgMHgyZiwgMHgwNCwgMHgyNSwgMHhlOCwgMHg4ZCwgMHgwMiwgMHgwMSwgMHg1ZSwgMHg1MywgMHgxNSwgMHg1MSwgMHg3MiwKLSAgMHhmMiwgMHg5YSwgMHgzZCwgMHg4MywgMHgyZiwgMHhkZiwgMHhkMSwgMHhkZiwgMHg3MiwgMHg4YiwgMHg5MSwgMHg4NCwKLSAgMHg0YSwgMHg2MCwgMHg3NCwgMHgxYSwgMHhlMSwgMHgxNCwgMHhkZCwgMHgzNywgMHhkZiwgMHg3NSwgMHgwYiwgMHg0MSwKLSAgMHhiNywgMHg0ZSwgMHhjNywgMHgzYiwgMHgwNywgMHhjZiwgMHg3NiwgMHhiNywgMHgyMywgMHg1OSwgMHhkMywgMHhlNiwKLSAgMHgxYiwgMHgzZSwgMHg0NCwgMHhlMiwgMHhhMywgMHhkZCwgMHhkMSwgMHhlZSwgMHg3NiwgMHg2NywgMHgzNiwgMHhiNCwKLSAgMHgyNSwgMHg2YiwgMHgyMCwgMHg1YywgMHgxNCwgMHhkOCwgMHhkZCwgMHhjYSwgMHgyMCwgMHhhNCwgMHg0MywgMHhiYiwKLSAgMHg3MiwgMHgzMSwgMHhjOSwgMHhkYywgMHhmNiwgMHhjYiwgMHg1OSwgMHhkZiwgMHg2NSwgMHhkNywgMHg4NiwgMHg3MiwKLSAgMHhhMywgMHgwOCwgMHgxMSwgMHgyNywgMHg3OSwgMHgyZCwgMHhjNiwgMHgxMiwgMHgwOSwgMHg0NiwgMHgxNSwgMHg1NSwKLSAgMHg1NCwgMHgyZiwgMHhkZSwgMHhjZSwgMHg0YSwgMHhjNiwgMHgyMywgMHg3NCwgMHhhNiwgMHg5YywgMHgzZiwgMHgxMSwKLSAgMHg4OSwgMHhlMCwgMHhkNCwgMHg2NiwgMHg1MiwgMHgxNSwgMHg1MiwgMHgwMywgMHg5MSwgMHgyNywgMHhmMCwgMHhjOSwKLSAgMHgxZCwgMHgzOCwgMHg4NywgMHgyZCwgMHhhMCwgMHhjOSwgMHhhNywgMHhmZSwgMHg5OSwgMHg5MiwgMHhmNSwgMHgzMCwKLSAgMHg0YywgMHhlYiwgMHg2OSwgMHg5ZSwgMHhiMywgMHg4ZCwgMHhkNCwgMHg2MywgMHgxYSwgMHg2OSwgMHhjZSwgMHgyNSwKLSAgMHgxMCwgMHhlYywgMHg1MCwgMHhjYiwgMHg5ZCwgMHhhNywgMHgxYywgMHhmZSwgMHg3NSwgMHgxOCwgMHhhOSwgMHhjMSwKLSAgMHhiMCwgMHhhNCwgMHgwMCwgMHgxYiwgMHgxMiwgMHg1YiwgMHgzNywgMHhhZSwgMHhmOCwgMHgwNSwgMHhhOCwgMHg3YiwKLSAgMHg4YywgMHhjMCwgMHgzYSwgMHg1YiwgMHg5ZCwgMHhiNSwgMHhlZSwgMHg2YSwgMHg2NSwgMHhlNiwgMHg2YSwgMHgzMSwKLSAgMHg2MCwgMHg1YSwgMHgwNCwgMHhlYSwgMHg5MCwgMHhkOCwgMHgwZSwgMHhlNywgMHg1YywgMHhhNywgMHg0ZCwgMHg1ZCwKLSAgMHhkMiwgMHgzZSwgMHhjNSwgMHgzNiwgMHgxNSwgMHg1ZSwgMHgwZiwgMHgwMCwgMHhlMywgMHg1YSwgMHhhMywgMHhjYywKLSAgMHhiMiwgMHgxMiwgMHhjOSwgMHgzMSwgMHhmYSwgMHg3MiwgMHhlMCwgMHg1MiwgMHg4MCwgMHg1YSwgMHg0NiwgMHg1NSwKLSAgMHgxYSwgMHhkMSwgMHgyYiwgMHgxOSwgMHhkNywgMHgzZiwgMHg0MSwgMHhjOCwgMHg5ZCwgMHg2YiwgMHhiOSwgMHg2OCwKLSAgMHgyMSwgMHhkMiwgMHhkZCwgMHgwMiwgMHhhZSwgMHgxNCwgMHhjZSwgMHgzYiwgMHg5MSwgMHhkZSwgMHgxNiwgMHgwNCwKLSAgMHg4NCwgMHg2NCwgMHg3NywgMHgyYiwgMHgwMiwgMHg2ZiwgMHgzNSwgMHgzMCwgMHhlYiwgMHgwMywgMHg2YSwgMHgyOCwKLSAgMHgyOCwgMHhhOCwgMHhjOCwgMHg2ZSwgMHg4OCwgMHhiOSwgMHhkNywgMHhhMiwgMHg5OSwgMHg1NCwgMHg1NSwgMHg0ZSwKLSAgMHhiZSwgMHgyOCwgMHg5YiwgMHhiMCwgMHhjMCwgMHhkYSwgMHgxZCwgMHhlNSwgMHg4MCwgMHg5MiwgMHhhYywgMHg5ZiwKLSAgMHg0NSwgMHhhYSwgMHhjYiwgMHhhNywgMHhiOCwgMHg5ZCwgMHhiNSwgMHhjZCwgMHgxYSwgMHgyZiwgMHg4MCwgMHg3YywKLSAgMHg0OSwgMHgwOCwgMHg3NywgMHhjMSwgMHhkZSwgMHhhMCwgMHgzNSwgMHgwMSwgMHgyNiwgMHhhNywgMHg3OCwgMHhiNywKLSAgMHg0ZCwgMHgzYiwgMHhhNSwgMHg4NCwgMHg4YywgMHgwMCwgMHhjZSwgMHhiMCwgMHg2NiwgMHg4MCwgMHhiNSwgMHhiMiwKLSAgMHg2NSwgMHhiNCwgMHhkNiwgMHhmZCwgMHgyMSwgMHg5OCwgMHg5ZCwgMHhkYiwgMHhlMSwgMHhjZCwgMHhjZCwgMHhjZCwKLSAgMHg5MCwgMHgyZSwgMHgxYywgMHhlNSwgMHhmOSwgMHg0OCwgMHhhMSwgMHhjNywgMHhhOCwgMHg4NSwgMHg1YiwgMHgwZCwKLSAgMHg1YiwgMHg5NSwgMHhjZCwgMHg1OCwgMHg2MiwgMHgyMiwgMHg2MSwgMHhjYywgMHhjNCwgMHg0YiwgMHhiYiwgMHhhYSwKLSAgMHgyNiwgMHg3OSwgMHg4MywgMHg4YSwgMHg0MiwgMHgyMSwgMHgyZSwgMHhiYywgMHgyNiwgMHg5NSwgMHg3ZCwgMHgzMiwKLSAgMHgxZCwgMHgyOCwgMHg0YywgMHhlYSwgMHhkYywgMHg4YSwgMHhkYywgMHgzZSwgMHhiNywgMHgxNiwgMHgwMiwgMHhjMCwKLSAgMHg5YSwgMHgzNiwgMHgxOSwgMHg1NSwgMHhkMCwgMHg5YiwgMHg0ZiwgMHgyYywgMHg5ZSwgMHgyNywgMHhjMywgMHg2ZiwKLSAgMHg5MiwgMHg4ZCwgMHg5NywgMHhiMiwgMHhkYSwgMHg3MywgMHhmMywgMHhjNCwgMHhmMywgMHhmNiwgMHg1YSwgMHhmOCwKLSAgMHhlMSwgMHgzMCwgMHg0MCwgMHg2NCwgMHhkZSwgMHhkZCwgMHg3OCwgMHgxOCwgMHg3OCwgMHg2MywgMHhlZiwgMHg0NSwKLSAgMHg0NiwgMHg2MywgMHgxNywgMHg5NywgMHg4OSwgMHhkMywgMHg0NCwgMHgxYywgMHg4MCwgMHg5NCwgMHg0YSwgMHhjMywKLSAgMHhhZSwgMHgzMiwgMHg0NiwgMHg1ZCwgMHhjMywgMHhkMiwgMHhkMywgMHg1YSwgMHg1YSwgMHgwMywgMHg0ZCwgMHhmOCwKLSAgMHg4NiwgMHhhZiwgMHhiOSwgMHg4ZSwgMHg1NSwgMHg3YSwgMHg3MywgMHhmZiwgMHgxZCwgMHhmNywgMHg2ZSwgMHhhMiwKLSAgMHg1MCwgMHhlZiwgMHgxYywgMHhlZSwgMHgzMywgMHgwZiwgMHgwYSwgMHg5OSwgMHg3YywgMHg0NiwgMHgzNiwgMHhiMSwKLSAgMHgzMywgMHgzMiwgMHg1MywgMHg2OSwgMHhjMSwgMHhlMSwgMHhjYSwgMHhiOSwgMHhkOCwgMHhkOCwgMHgxNSwgMHgzNSwKLSAgMHhmNywgMHhjYiwgMHgzNSwgMHg5NSwgMHg3MCwgMHhjZSwgMHhkMSwgMHhlYywgMHg1NiwgMHhkMSwgMHg4YSwgMHhhNiwKLSAgMHg3NCwgMHgxMCwgMHg1NSwgMHhiMSwgMHgyYywgMHg0YiwgMHg1NSwgMHgwZiwgMHg2MCwgMHgzNCwgMHg2ZSwgMHg3NSwKLSAgMHgwMywgMHg3YiwgMHgzOSwgMHg4NSwgMHg5NiwgMHhkOSwgMHg1OSwgMHhlOCwgMHgyZCwgMHg1MywgMHhjMCwgMHg3NywKLSAgMHg2MywgMHgyOSwgMHhhMywgMHgxYywgMHgzYiwgMHhhMSwgMHhhYiwgMHhhYSwgMHgxMCwgMHg2OSwgMHhlMiwgMHgwNiwKLSAgMHhjYiwgMHgyYSwgMHgyMiwgMHg3NCwgMHhlNCwgMHhlMSwgMHg3MywgMHg0ZCwgMHg1MywgMHgwYywgMHgzYSwgMHhmMywKLSAgMHgxYywgMHg2MiwgMHhlMSwgMHhlNSwgMHhkNywgMHhjNywgMHhjOCwgMHgyNywgMHgzNywgMHg4YywgMHhiNCwgMHgxMCwKLSAgMHgxOCwgMHgwOSwgMHg5ZSwgMHgzZiwgMHhmNywgMHg2MCwgMHhiMiwgMHgzNiwgMHhmMiwgMHgyNSwgMHhiMSwgMHgxMiwKLSAgMHgyZSwgMHhjYSwgMHg0YywgMHg5MywgMHgxOCwgMHhmYywgMHhhYSwgMHg5YSwgMHgzMCwgMHg4OSwgMHhkYSwgMHgyYSwKLSAgMHg5MiwgMHgwOCwgMHgyYiwgMHgyNiwgMHg4NywgMHg1YywgMHg1ZSwgMHgxYiwgMHgzMiwgMHg0ZSwgMHg1ZCwgMHg5MSwKLSAgMHg0MiwgMHg3NCwgMHhiZiwgMHhmMCwgMHg3NSwgMHg4NSwgMHgzYiwgMHg0OSwgMHg2YiwgMHg4OSwgMHgwYSwgMHg0MywKLSAgMHhmNywgMHgwYiwgMHgxMiwgMHhkOCwgMHgxZCwgMHhiZCwgMHg3MiwgMHg0ZiwgMHhhYiwgMHgyYywgMHhjYywgMHhhNSwKLSAgMHg5MywgMHhjZiwgMHhjNywgMHg1YiwgMHhjZiwgMHhlMSwgMHg0YywgMHgzYSwgMHhkZSwgMHgxOSwgMHhiYiwgMHg3NSwKLSAgMHg5OSwgMHhlZiwgMHg4MCwgMHhlMCwgMHg2YSwgMHgzMCwgMHhmMiwgMHhjZiwgMHhjNSwgMHhiYywgMHhjMSwgMHgzNiwKLSAgMHhkOSwgMHhkMiwgMHgzMCwgMHhlMywgMHhmZiwgMHgyMCwgMHgwOSwgMHgwNSwgMHhiOSwgMHg2YiwgMHg3OCwgMHgxZSwKLSAgMHg2OSwgMHgxZSwgMHg1YSwgMHhiMSwgMHhlOSwgMHg4ZiwgMHhhNiwgMHg2MCwgMHg4MiwgMHg5MiwgMHg2NCwgMHgxYiwKLSAgMHgxZiwgMHg4ZSwgMHhjYywgMHhjOSwgMHgyZiwgMHg0OCwgMHg1YiwgMHhmYSwgMHg1MiwgMHg5YywgMHg1ZiwgMHg5NCwKLSAgMHg4YSwgMHg1ZiwgMHg3YiwgMHhjNiwgMHg4ZCwgMHg5NCwgMHhlYiwgMHg2MiwgMHhlZSwgMHg1YSwgMHhhNSwgMHg0NCwKLSAgMHhkYiwgMHgxMCwgMHgxZiwgMHg4ZSwgMHhhMywgMHhhNiwgMHhkZSwgMHhlZSwgMHgzMSwgMHhjNSwgMHgxMSwgMHhlMiwKLSAgMHg3ZCwgMHhjZCwgMHg3ZCwgMHhjZCwgMHg3ZSwgMHhkNywgMHhkZCwgMHhiYywgMHgyZiwgMHhlZSwgMHhkZiwgMHhiZCwKLSAgMHg1ZiwgMHhiYSwgMHg3ZCwgMHhlYiwgMHg3NywgMHg4ZiwgMHgzYiwgMHg0NywgMHg2OCwgMHgwMiwgMHhlZSwgMHgxNywKLSAgMHg5ZSwgMHhkMywgMHgwZiwgMHgwOSwgMHgyNCwgMHg2YywgMHhjYywgMHg1OSwgMHhlNywgMHg1ZiwgMHg5YiwgMHhjYiwKLSAgMHg3OCwgMHgzNiwgMHhlYiwgMHgxNywgMHhiZiwgMHhkNSwgMHhhOSwgMHg4MywgMHgxOCwgMHhlMSwgMHgyMCwgMHhhMCwKLSAgMHhjOSwgMHhjNywgMHg4NywgMHhlMywgMHg1MCwgMHgyNSwgMHhjZSwgMHhkZSwgMHg0NywgMHg3ZiwgMHgxNCwgMHhiNSwKLSAgMHgxZSwgMHgyMywgMHgwOCwgMHg3NCwgMHhmMiwgMHhiNCwgMHg2MSwgMHg2MiwgMHg5ZSwgMHgyMCwgMHg3NSwgMHg3NCwKLSAgMHgxOCwgMHgxZiwgMHg0ZSwgMHg0YiwgMHgxMSwgMHg0NSwgMHhhZiwgMHgwZiwgMHhkNiwgMHhmNywgMHhhNSwgMHgwYSwKLSAgMHhmZSwgMHg4NywgMHgyZiwgMHgwZSwgMHhhOSwgMHg0YSwgMHhhZSwgMHg5NywgMHhhMSwgMHg5ZiwgMHg2NSwgMHhjMiwKLSAgMHg2MSwgMHg5ZCwgMHhhZCwgMHhkMCwgMHgxNywgMHhhOSwgMHhkNywgMHg0NywgMHg4MCwgMHgyOCwgMHhiOSwgMHg3YiwKLSAgMHg5NSwgMHhhYSwgMHgwNCwgMHhkYiwgMHg4MywgMHhmNiwgMHg4NiwgMHgxMSwgMHhkOCwgMHgxZSwgMHg4NCwgMHg4MSwKLSAgMHg5ZSwgMHg3MiwgMHhkZSwgMHg3YiwgMHhjNiwgMHg3YSwgMHg3NiwgMHhkNCwgMHgxMSwgMHgyMiwgMHg3YSwgMHg3NiwKLSAgMHhmZiwgMHgzNywgMHhhZCwgMHgwZiwgMHhmNCwgMHhlYywgMHhjOCwgMHg4MCwgMHhhMiwgMHgxNiwgMHgzNSwgMHhjMywKLSAgMHg4NywgMHgyMywgMHg5MSwgMHgzZiwgMHg0MSwgMHgwNSwgMHgwNCwgMHg4OSwgMHhmOCwgMHg5ZSwgMHhkOSwgMHgwMSwKLSAgMHhmZiwgMHg4MCwgMHg5NCwgMHgyMiwgMHg4YSwgMHhlMSwgMHhjZSwgMHgwNSwgMHhiMCwgMHg5NCwgMHgxMSwgMHhlNiwKLSAgMHhiZiwgMHg3MCwgMHhjYSwgMHhjYywgMHg5MCwgMHgxNiwgMHgzOSwgMHhiNCwgMHgzNSwgMHgzOCwgMHg0NCwgMHg4NCwKLSAgMHg2YiwgMHgyOCwgMHhkNSwgMHg1MiwgMHg2NiwgMHg5YywgMHgyOCwgMHgwMywgMHhmMiwgMHhlYiwgMHgxNywgMHg4ZCwKLSAgMHg4YSwgMHhmMCwgMHgyYSwgMHhiMiwgMHhiZCwgMHgyNSwgMHgyOSwgMHhmNywgMHgzZSwgMHg2ZiwgMHg0OSwgMHg0YSwKLSAgMHhmNywgMHg0ZSwgMHhiZiwgMHg4YywgMHg0NCwgMHg1NywgMHhjYiwgMHg2ZCwgMHhmMywgMHgyMSwgMHhjZSwgMHg3NCwKLSAgMHhmMywgMHg5ZCwgMHhhMiwgMHg3OCwgMHg5MywgMHg4YiwgMHhiZCwgMHhhOSwgMHg5MSwgMHg0OCwgMHg5MCwgMHgzNCwKLSAgMHgxNSwgMHhmMywgMHhlMCwgMHg2YSwgMHhkMiwgMHg5MiwgMHhlZiwgMHhiNCwgMHg0MCwgMHgyOCwgMHgwZSwgMHhkNiwKLSAgMHg1MSwgMHgzMiwgMHhhOSwgMHhjYSwgMHg5YiwgMHgxYSwgMHhlYSwgMHhhOCwgMHgxYSwgMHhhOCwgMHgyOSwgMHhhNywKLSAgMHhkNSwgMHg1ZSwgMHgwNSwgMHg0NSwgMHhkOSwgMHg2NiwgMHg3YiwgMHhlNywgMHgxNiwgMHg4OSwgMHhmNiwgMHg5YiwKLSAgMHhmMywgMHgzNywgMHgyNywgMHhkYywgMHg1MywgMHg4MiwgMHhlYiwgMHg4MywgMHhhOSwgMHhjNiwgMHg0YSwgMHhhNiwKLSAgMHhiYiwgMHg5YSwgMHgyYywgMHg4YywgMHg2MSwgMHg2ZSwgMHhiNCwgMHg5MywgMHg4NiwgMHg1OSwgMHg5OSwgMHg3MiwKLSAgMHhjNywgMHhhMCwgMHg4OCwgMHgxOSwgMHg2MSwgMHg0MiwgMHgwOSwgMHgzMiwgMHgyZiwgMHg2MywgMHgzMSwgMHgxZiwKLSAgMHg1MSwgMHgyNCwgMHgzZCwgMHgyNCwgMHgyYywgMHg0ZiwgMHgwMywgMHhmZSwgMHhlNSwgMHhiYSwgMHhhZSwgMHhiMSwKLSAgMHg5MywgMHg5MSwgMHg2NSwgMHgwMywgMHgzZCwgMHhlYSwgMHgzNSwgMHgxZCwgMHgwNSwgMHgzZCwgMHgxMiwgMHhkYywKLSAgMHgzZSwgMHg0ZiwgMHg0ZCwgMHg0MywgMHhlYiwgMHgzMywgMHg4MCwgMHg1YSwgMHhkYiwgMHhiZCwgMHgyMywgMHhhZCwKLSAgMHhjYiwgMHhmNiwgMHgzZCwgMHgwMSwgMHg2ZSwgMHg1NywgMHhkYSwgMHhkNiwgMHhiNCwgMHg4MiwgMHhjMiwgMHg1ZSwKLSAgMHhhYiwgMHg3OSwgMHhiOSwgMHgwZSwgMHgyNiwgMHhiZSwgMHhmMiwgMHg0NSwgMHg3YSwgMHgwOCwgMHhlOSwgMHg0MywKLSAgMHgxMiwgMHg5YywgMHg1YSwgMHg1NSwgMHhlNCwgMHgxYiwgMHg2NCwgMHhhZCwgMHg3YSwgMHgxMCwgMHhjOSwgMHhlMywKLSAgMHgxNywgMHg4NSwgMHg0NCwgMHgyMywgMHgwNCwgMHgzNiwgMHg1YywgMHhkYSwgMHgzMiwgMHhmNSwgMHhiNCwgMHg1NSwKLSAgMHgwMywgMHg4ZCwgMHhlZCwgMHhkZCwgMHhlMCwgMHgwOCwgMHg4ZCwgMHgzMCwgMHg0NiwgMHgxNiwgMHgwYSwgMHgzNCwKLSAgMHg3MCwgMHg5YSwgMHg4NiwgMHhjZSwgMHhjYywgMHhlOCwgMHhlOCwgMHg0NCwgMHg5NiwgMHhjMiwgMHhkNywgMHgxZSwKLSAgMHhhOCwgMHg3NywgMHg1MSwgMHgwNSwgMHhkYiwgMHhmNSwgMHgzMSwgMHhhOSwgMHg1ZCwgMHhlYiwgMHgwYSwgMHhiNSwKLSAgMHg5NywgMHgwMSwgMHgxNSwgMHgwNiwgMHg3MCwgMHgzMCwgMHhmNCwgMHhhZSwgMHgyOCwgMHhkYiwgMHhlZSwgMHhiMywKLSAgMHhkMCwgMHg5ZCwgMHgyOSwgMHhlZSwgMHhiNCwgMHg4MSwgMHgxNywgMHhiMiwgMHhjYiwgMHhjOSwgMHhhMSwgMHhlNSwKLSAgMHhjNywgMHgyMCwgMHg1ZCwgMHhiNCwgMHg3ZSwgMHg5MSwgMHg1NSwgMHg5NywgMHg1YywgMHhkYSwgMHhjMCwgMHhhMCwKLSAgMHhiNCwgMHg1MSwgMHgxYywgMHg4ZCwgMHgzNCwgMHhmMSwgMHg3MCwgMHhlMiwgMHg5MiwgMHhlNCwgMHhiZiwgMHgwZCwKLSAgMHg1OSwgMHhhMiwgMHhjMiwgMHhmMywgMHhiNSwgMHhhMiwgMHg5YSwgMHgxYSwgMHg3MSwgMHhjZiwgMHg2ZiwgMHgwZSwKLSAgMHg2NywgMHhjYywgMHg1NiwgMHg2NiwgMHg2OSwgMHg2MSwgMHg3NiwgMHhjMiwgMHhkYywgMHhkOCwgMHgzMCwgMHhlNywKLSAgMHg2NiwgMHgzZSwgMHhmZiwgMHg2MiwgMHg1ZSwgMHhhZSwgMHhlYSwgMHhiYiwgMHhjZCwgMHg0NCwgMHhkYSwgMHgwOCwKLSAgMHg0OSwgMHhlNywgMHg4ZCwgMHg0NiwgMHhmMiwgMHg4MywgMHhlOCwgMHgyYywgMHhjZCwgMHhmOSwgMHhhZSwgMHg4YSwKLSAgMHg4ZiwgMHgyYSwgMHgxNCwgMHhhOSwgMHhmYSwgMHhhMSwgMHg2NiwgMHhiZiwgMHg2ZiwgMHg2NywgMHhiOCwgMHg0ZCwKLSAgMHhlZiwgMHg2MywgMHhmZiwgMHhjZCwgMHgxZiwgMHgzYiwgMHhiYSwgMHhjYiwgMHg4OCwgMHgyNiwgMHhiMCwgMHhlMSwKLSAgMHhmYywgMHgzMCwgMHhjYiwgMHhkOSwgMHg0NSwgMHg3OCwgMHg2MiwgMHg2NiwgMHg3MywgMHhkMiwgMHg4YSwgMHhmZSwKLSAgMHhkOSwgMHgwMSwgMHg0OSwgMHg3OCwgMHgzMCwgMHgxMCwgMHhiMCwgMHg0NiwgMHgzMCwgMHg1YywgMHgzYSwgMHgwOCwKLSAgMHgzOCwgMHg0ZCwgMHg0ZiwgMHg0MSwgMHg4YiwgMHg5OCwgMHg4ZSwgMHg5YywgMHhkNywgMHhjMSwgMHgyMSwgMHhhYSwKLSAgMHgyNCwgMHgzOSwgMHgyYiwgMHhiOSwgMHgwZCwgMHg4MSwgMHgxMywgMHg0YiwgMHg2OSwgMHgwYiwgMHg0NCwgMHhmNSwKLSAgMHhhMiwgMHgyYywgMHgyNywgMHg2OSwgMHhiNSwgMHgxOSwgMHg2NCwgMHgzNiwgMHhkMiwgMHhiNCwgMHg4MSwgMHhkOSwKLSAgMHg2ZSwgMHhlNiwgMHgzZSwgMHg2MywgMHhjNywgMHgwYSwgMHhmOSwgMHg2YSwgMHgxZCwgMHgwMywgMHhmZCwgMHg5MiwKLSAgMHhkZiwgMHgxYywgMHhiMSwgMHgxNywgMHhkNSwgMHgzNywgMHg5OSwgMHg2MywgMHg2OSwgMHgwNSwgMHhmMywgMHg5OSwKLSAgMHg5YiwgMHg3YSwgMHhkMiwgMHg5YSwgMHgwNywgMHhiMiwgMHhkZCwgMHg1MSwgMHhjMSwgMHhlMCwgMHg4YywgMHg3YiwKLSAgMHhiNSwgMHhlZCwgMHg1MSwgMHgwNCwgMHg5MywgMHhkZCwgMHgwYywgMHgyMywgMHhhNSwgMHg4YiwgMHhiNSwgMHg4YiwKLSAgMHgwMiwgMHgxMCwgMHg1MiwgMHgzYywgMHg0MSwgMHg5MywgMHg1MCwgMHhiYSwgMHg4NSwgMHhkYSwgMHhkMywgMHgxYywKLSAgMHg0NywgMHhiMSwgMHg1NiwgMHhiNSwgMHg3NywgMHhkZiwgMHhjMywgMHhjNCwgMHhhNCwgMHgxOCwgMHgxMywgMHg3MSwKLSAgMHg0YywgMHhjMywgMHhiYiwgMHg4MiwgMHhlMCwgMHg0OCwgMHg5MiwgMHhkNCwgMHhiYSwgMHgyNiwgMHgyMSwgMHhjZSwKLSAgMHg2NywgMHgwNCwgMHg5ZSwgMHg2OCwgMHg3MiwgMHhmNiwgMHg1OSwgMHg1NywgMHg1ZSwgMHhmNSwgMHgzYiwgMHg3ZiwKLSAgMHgxZCwgMHhkNiwgMHhhZSwgMHhlMywgMHg5NywgMHhmYywgMHhmYSwgMHgzMSwgMHhmNiwgMHgxYiwgMHgyZCwgMHg3ZCwKLSAgMHg1OSwgMHgzMSwgMHgxYywgMHg5ZSwgMHhlMywgMHgyNywgMHhlYywgMHg2ZiwgMHgxYywgMHg0NiwgMHhhOCwgMHhhZCwKLSAgMHg2NSwgMHgzMCwgMHg2NiwgMHhmMywgMHhlYywgMHg5MiwgMHhkNywgMHhmNywgMHhlMiwgMHhlNCwgMHhlOCwgMHhiYiwKLSAgMHhhMywgMHg5MywgMHg0MCwgMHgxMiwgMHg3ZSwgMHgzZCwgMHgxZSwgMHhlZiwgMHg3YywgMHhjYywgMHhhYSwgMHgwOSwKLSAgMHg1YSwgMHhiYywgMHhkMiwgMHhmMiwgMHhjOCwgMHhiYiwgMHg0OSwgMHg0ZiwgMHhkYSwgMHg0YywgMHgzMCwgMHg0ZiwKLSAgMHg0MCwgMHg2OCwgMHg1MywgMHgzZSwgMHhiMCwgMHg2YiwgMHgxOCwgMHg2MSwgMHg2MSwgMHg1ZSwgMHg4OSwgMHg3YywKLSAgMHg1MiwgMHhiMCwgMHhlMywgMHg1MSwgMHg5OSwgMHgyNCwgMHgyOSwgMHg4NywgMHgxMCwgMHg3NywgMHhkMywgMHgyYSwKLSAgMHg5YiwgMHg3MSwgMHgwNywgMHhkNCwgMHgzMCwgMHhkOSwgMHgxMCwgMHg3MCwgMHgyMSwgMHg0OSwgMHhmMiwgMHgwYSwKLSAgMHg2NywgMHhjYSwgMHgwOSwgMHhlNywgMHgwOCwgMHg3MSwgMHhkOSwgMHg0NSwgMHgwNCwgMHg2ZiwgMHgyYywgMHg1MSwKLSAgMHg5MiwgMHg5ZiwgMHhiYywgMHg5MiwgMHg2ZiwgMHhkNiwgMHg3NCwgMHg5MSwgMHg2OCwgMHg5NywgMHgxOCwgMHgyYiwKLSAgMHg4ZSwgMHhjZCwgMHg4ZSwgMHhkMywgMHg2ZiwgMHg4NywgMHg4NywgMHhlMywgMHhlMSwgMHhhYiwgMHhhMywgMHg5MywKLSAgMHhhMywgMHhhZiwgMHgwZiwgMHhjZiwgMHg4ZiwgMHgxOCwgMHgyMiwgMHg1ZCwgMHg3MSwgMHg5MywgMHhlMywgMHg3YSwKLSAgMHg4YiwgMHhjZCwgMHgyNywgMHhmOCwgMHg1NiwgMHgzNiwgMHgyNiwgMHhjMSwgMHgwNiwgMHgxMCwgMHhjNiwgMHgzZSwKLSAgMHhiNSwgMHg4NCwgMHg0NiwgMHg4YiwgMHgxNywgMHg4NywgMHhkZiwgMHg5YSwgMHg5MiwgMHhhNSwgMHhkMywgMHhiNCwKLSAgMHgzYSwgMHgzMywgMHg3NywgMHgxMywgMHhlMiwgMHg4YywgMHg2YywgMHg5MywgMHhhOSwgMHgwNiwgMHgyYiwgMHg0OCwKLSAgMHhlNywgMHgzNywgMHhkNCwgMHhlNiwgMHhlZCwgMHg3ZCwgMHg0MSwgMHgxOSwgMHhmNywgMHhiOSwgMHhhZCwgMHgzOCwKLSAgMHhlNSwgMHhkNSwgMHhmYiwgMHg0ZSwgMHgxZSwgMHhiNywgMHhiMywgMHhhZCwgMHgwMywgMHgwNiwgMHhkYywgMHg3ZCwKLSAgMHhkYywgMHgwNSwgMHhhMCwgMHhhNSwgMHhlNSwgMHg1MCwgMHg0ZiwgMHg1ZSwgMHhlMSwgMHhjMSwgMHgwZSwgMHg2ZSwKLSAgMHhiOSwgMHg4MywgMHg1YiwgMHg0NywgMHg4YiwgMHgxOSwgMHhmOSwgMHg1ZCwgMHgwNCwgMHgwNSwgMHgwNSwgMHg1MiwKLSAgMHhiNSwgMHg5ZSwgMHg1ZSwgMHg2NSwgMHgwYiwgMHg4YiwgMHhlZiwgMHg0NSwgMHg0OSwgMHgwYywgMHg4OCwgMHg5NCwKLSAgMHg3MywgMHhmNSwgMHhhNSwgMHhlMCwgMHgxMCwgMHhlMSwgMHhjNiwgMHg0ZiwgMHgzMiwgMHg5OCwgMHhjOCwgMHg4OCwKLSAgMHhkYSwgMHg1ZCwgMHgwNywgMHg4MiwgMHgwMiwgMHhhOSwgMHg0MSwgMHhkNCwgMHhjNSwgMHg4MCwgMHg4MiwgMHgzMSwKLSAgMHg5NCwgMHhkYywgMHg4MywgMHgzMiwgMHhlNCwgMHgxMSwgMHhkMiwgMHgxMCwgMHhiZCwgMHhlYywgMHg4MiwgMHgzMCwKLSAgMHg5YiwgMHg0MCwgMHg3YSwgMHgxMSwgMHg3NiwgMHhiNSwgMHgwOCwgMHg4YiwgMHg4YSwgMHg2ZSwgMHgyMSwgMHhkYywKLSAgMHg0YiwgMHg3OCwgMHhjMywgMHhmMCwgMHgyMywgMHhlZSwgMHg4NiwgMHgyMiwgMHg2YSwgMHgzNCwgMHhjZCwgMHhmMCwKLSAgMHg5NywgMHhiOCwgMHhhZCwgMHhiYSwgMHg3ZSwgMHgyYiwgMHg1MCwgMHg5NSwgMHgyYiwgMHhiYSwgMHg0NCwgMHgyMSwKLSAgMHg1MCwgMHgyYywgMHhiOSwgMHg3YiwgMHgwZCwgMHhkMywgMHg3MCwgMHg5MywgMHg2NSwgMHhlNiwgMHhjMCwgMHg2OCwKLSAgMHhlZCwgMHgzMywgMHgzOSwgMHgxYywgMHhmYywgMHg0OCwgMHg3YSwgMHgxYiwgMHg4YywgMHg1YywgMHg3OSwgMHg0OCwKLSAgMHhkNCwgMHgzYiwgMHhlZiwgMHhiMSwgMHg4YywgMHg1NiwgMHgwMywgMHgwNCwgMHgwMiwgMHg5ZSwgMHhkNywgMHhiZiwKLSAgMHg4NiwgMHg2ZCwgMHgyYSwgMHg2YywgMHg0NSwgMHhkZSwgMHgzMCwgMHg1YiwgMHgwNiwgMHgyOCwgMHhlMCwgMHg1YiwKLSAgMHhhZiwgMHgxNSwgMHhkNCwgMHhkZiwgMHhhYSwgMHg4YiwgMHg3ZSwgMHhlNywgMHgzNiwgMHhhZiwgMHhkMSwgMHhkMiwKLSAgMHhkMSwgMHhkOSwgMHgzYiwgMHhlZSwgMHhlMSwgMHg3ZSwgMHg0MiwgMHg3ZiwgMHg5MSwgMHhkOCwgMHg1YywgMHgxZCwKLSAgMHgwMywgMHhkNSwgMHg5MywgMHg5NiwgMHgyMiwgMHg5NCwgMHhiMywgMHg5MiwgMHgyMSwgMHgxYSwgMHg2MywgMHhjMywKLSAgMHhlZCwgMHg5YSwgMHhiMywgMHhjOCwgMHg2OSwgMHhhYSwgMHg4MiwgMHhkZSwgMHgyZSwgMHhkNywgMHgwMSwgMHgxYiwKLSAgMHgxYywgMHhkNCwgMHgwOCwgMHhkOCwgMHhmZSwgMHhhZSwgMHg5OCwgMHgwYSwgMHhjZCwgMHg0MSwgMHg3MCwgMHg4ZiwKLSAgMHgzMCwgMHgwYiwgMHhjZSwgMHhiNSwgMHhkNSwgMHhhMCwgMHhjNywgMHgyOSwgMHhmZCwgMHg5MiwgMHg3NCwgMHg0OCwKLSAgMHgyMSwgMHg5ZiwgMHgxZSwgMHhjZSwgMHhlYiwgMHhlYSwgMHhhZSwgMHg2OCwgMHg0OCwgMHg3YSwgMHgyYiwgMHhhOSwKLSAgMHhkMCwgMHgxOSwgMHgzNiwgMHgzNSwgMHhmMywgMHgxOCwgMHhiOSwgMHg3NSwgMHhmMiwgMHgyNywgMHhkOCwgMHgwNywKLSAgMHgwZCwgMHgyYywgMHhjZiwgMHgzMCwgMHhjNCwgMHg4MSwgMHgxYSwgMHg3NywgMHg1YiwgMHg1NSwgMHhhMSwgMHhmOSwKLSAgMHhlYiwgMHg5YywgMHg5ZiwgMHg2YiwgMHhmMywgMHhmMiwgMHgwNywgMHg4MiwgMHg3NSwgMHgyNCwgMHg1MSwgMHg2OSwKLSAgMHgyYSwgMHgyYywgMHgyOCwgMHgwYiwgMHhiZiwgMHgyNSwgMHg5OSwgMHg0NSwgMHg1MiwgMHg0MiwgMHhlOSwgMHg4MiwKLSAgMHgyNiwgMHhhYywgMHg2NSwgMHg3NywgMHgxMiwgMHg1OCwgMHg2NywgMHgxZCwgMHhlZiwgMHg0MiwgMHgwMiwgMHg5OCwKLSAgMHgyOSwgMHg1MCwgMHg2YSwgMHg2MSwgMHhhOCwgMHg0YywgMHg1OCwgMHgyOSwgMHgxMSwgMHg4YiwgMHhhMywgMHg4OCwKLSAgMHhkYywgMHgzOSwgMHhiMywgMHhmMSwgMHhiNiwgMHhjMywgMHgxYSwgMHgxNiwgMHgyYSwgMHhjNywgMHgxNiwgMHhkMSwKLSAgMHhjYiwgMHg4OSwgMHgzNiwgMHhiYSwgMHg1OCwgMHg1OSwgMHhjNiwgMHg3NiwgMHgzMywgMHgwYywgMHgyYywgMHhhNywKLSAgMHg1MCwgMHg4NSwgMHg0YywgMHg4NSwgMHgzNywgMHgwNywgMHg5ZCwgMHg4NiwgMHg4NCwgMHhkZSwgMHhjYSwgMHgxOCwKLSAgMHg1NSwgMHgzMSwgMHg3NywgMHhmMSwgMHgwMiwgMHgyOCwgMHgyZCwgMHgxMiwgMHhlYywgMHhjYiwgMHgzNSwgMHhiNCwKLSAgMHhhZSwgMHg3NiwgMHg5NCwgMHhlMSwgMHg3OCwgMHg0MCwgMHhiZCwgMHhkNCwgMHhhZiwgMHhiOCwgMHg1ZCwgMHhhNywKLSAgMHhjMywgMHgyYSwgMHgyYSwgMHhhNCwgMHhiYiwgMHhkOSwgMHhkNSwgMHg2ZSwgMHhiNSwgMHgwZiwgMHhkNywgMHg2NiwKLSAgMHg5OCwgMHg2ZiwgMHg2MywgMHhiYSwgMHhlNCwgMHhkOSwgMHhiMSwgMHgzMSwgMHg1YiwgMHhhMiwgMHg5ZCwgMHhlMCwKLSAgMHhmYiwgMHhhZiwgMHgzMCwgMHgzOSwgMHgyOCwgMHhhOSwgMHg3OCwgMHgwMywgMHg5NywgMHg5ZSwgMHgwMCwgMHg4ZCwKLSAgMHgyZSwgMHhiNSwgMHg2YiwgMHgxNCwgMHhkMywgMHhmMiwgMHgyNCwgMHgzMywgMHg1ZiwgMHhjYywgMHhhOSwgMHhhNSwKLSAgMHg1ZSwgMHhjYiwgMHhiNSwgMHhkZiwgMHhmZCwgMHg3ZSwgMHg2ZCwgMHhlOCwgMHg2ZiwgMHg3YSwgMHhhNSwgMHg5NiwKLSAgMHgxNywgMHhiZCwgMHg4OCwgMHg3OCwgMHhhNywgMHhkNywgMHg4YSwgMHgxMiwgMHg5NCwgMHhjMCwgMHg2MCwgMHg0ZSwKLSAgMHhjMywgMHgzMywgMHhjOCwgMHg3NiwgMHg4YSwgMHg1MCwgMHgyMiwgMHgwOSwgMHgzMiwgMHgyOSwgMHhhYiwgMHhiMCwKLSAgMHg1MiwgMHg3NiwgMHg2YSwgMHgwMSwgMHg5YywgMHhmNCwgMHhkMSwgMHhiNCwgMHhiZSwgMHg4ZSwgMHhkZiwgMHhmMCwKLSAgMHhmYSwgMHgzYSwgMHg3YSwgMHhjMywgMHhmNSwgMHgwZiwgMHhkYywgMHg3NCwgMHhhZiwgMHg0MSwgMHg2OCwgMHhkZiwKLSAgMHg1ZCwgMHgxZiwgMHg3ZiwgMHhkNywgMHg4MywgMHgyZCwgMHhlMSwgMHhkZCwgMHg3MCwgMHg1ZCwgMHgxZCwgMHhhOCwKLSAgMHhkZCwgMHhiYiwgMHhlMywgMHg3YywgMHhjOSwgMHhlNSwgMHg4YywgMHhlYywgMHgzNSwgMHg5NywgMHg3YiwgMHgxZSwKLSAgMHg3NSwgMHhmOSwgMHhmYiwgMHg3ZCwgMHg3ZCwgMHhmOSwgMHg5ZSwgMHg5YiwgMHhlZiwgMHhjYiwgMHhlNSwgMHgzZSwKLSAgMHgzYiwgMHgxYywgMHg3ZiwgMHhkNywgMHhiOSwgMHhkNiwgMHhkZSwgMHg0NSwgMHgwZSwgMHgyYywgMHgxMiwgMHg0OSwKLSAgMHg4MCwgMHhhNywgMHhiOCwgMHgyZiwgMHgxMywgMHgwZiwgMHg4ZCwgMHgxNSwgMHhhNSwgMHhmNywgMHhmYSwgMHhmYSwKLSAgMHgyMSwgMHhmNCwgMHg2ZSwgMHgyNiwgMHgxMiwgMHhkMCwgMHg3YiwgMHhiMCwgMHhjNywgMHhlYiwgMHhlOCwgMHhkZCwKLSAgMHgzZiwgMHhhOCwgMHgyZSwgMHgxNiwgMHg4MiwgMHg0NywgMHhmMSwgMHgwNSwgMHg3NywgMHhlNSwgMHhhNiwgMHg0YSwKLSAgMHg5MCwgMHgwOCwgMHhhOSwgMHg4MywgMHhkMiwgMHgyOSwgMHgzOCwgMHgwOCwgMHhkMiwgMHgwZSwgMHgzMywgMHgwZSwKLSAgMHgzMSwgMHhjZiwgMHg1ZiwgMHg0MiwgMHhlOCwgMHg3OCwgMHgyMSwgMHhhMCwgMHg3MywgMHgzZCwgMHhkMSwgMHg1ZiwKLSAgMHg0YywgMHhlOCwgMHg3MiwgMHg0MSwgMHgwMiwgMHgzYSwgMHg4NywgMHg4NiwgMHg3ZCwgMHgzNiwgMHhmMCwgMHgwOCwKLSAgMHhkYywgMHhhMywgMHg1YSwgMHhiZiwgMHg1YSwgMHgzYywgMHhiMiwgMHg0MywgMHgxNiwgMHg5NywgMHhjNCwgMHg4OSwKLSAgMHg1ZiwgMHg4NywgMHhmOCwgMHgxMCwgMHg0MSwgMHgyMSwgMHgxOSwgMHhkOCwgMHg5MiwgMHhkYywgMHg2YSwgMHgxYSwKLSAgMHg3YSwgMHhlOCwgMHg2ZCwgMHg4MSwgMHhiOCwgMHg1ZiwgMHgyMywgMHgwMSwgMHg5MywgMHg0NSwgMHhiMiwgMHhhYSwKLSAgMHg2NywgMHgyMywgMHhjOCwgMHg2YywgMHgxOCwgMHhmYywgMHgzZSwgMHhlYywgMHg4MCwgMHhkZiwgMHgxNiwgMHhiMywKLSAgMHgwZCwgMHg2MiwgMHhhNSwgMHg5MywgMHg4OCwgMHgxNSwgMHhiMSwgMHhkNywgMHgxOSwgMHg2NSwgMHg4MiwgMHgwMCwKLSAgMHhkYiwgMHhhYywgMHg3YiwgMHg0ZiwgMHg0OSwgMHhjZCwgMHg4MywgMHgzZSwgMHg0MCwgMHg4YSwgMHhjYSwgMHgzMCwKLSAgMHgyZiwgMHg4NiwgMHg2MSwgMHhiNiwgMHg3NCwgMHgzYiwgMHg3MiwgMHhkYywgMHgwMCwgMHhmMiwgMHhkNiwgMHgzMywKLSAgMHgxMiwgMHhhOSwgMHg5YywgMHg5MSwgMHg1NCwgMHg1ZCwgMHg4OSwgMHg1ZCwgMHhhNCwgMHg4OSwgMHg1NCwgMHg1MSwKLSAgMHg5MiwgMHg5ZiwgMHgxZiwgMHhhMiwgMHgzNywgMHg1MiwgMHg3NywgMHgxYiwgMHg4NSwgMHg2ZCwgMHg2YiwgMHhmNywKLSAgMHg5MCwgMHg2OSwgMHhjYSwgMHg5NiwgMHg3ZiwgMHhlZCwgMHg0OSwgMHgwNywgMHgxYSwgMHg3OSwgMHg1NiwgMHhkNCwKLSAgMHg0MywgMHhkNywgMHhlZiwgMHhmZCwgMHg4NSwgMHhmZCwgMHg2YiwgMHg2MCwgMHg1ZiwgMHhiYywgMHg3YSwgMHgzYiwKLSAgMHhlZSwgMHhhOCwgMHgxNCwgMHg3NSwgMHhjNiwgMHgzNSwgMHgyNCwgMHg5NywgMHhlMCwgMHgxYiwgMHhlNiwgMHhmNywKLSAgMHhkNiwgMHhiZiwgMHg1NiwgMHhiYiwgMHgwZSwgMHg4YiwgMHgzMiwgMHg2NCwgMHgwOCwgMHhjOSwgMHg2ZiwgMHgzZSwKLSAgMHgzMSwgMHhlYSwgMHgxNCwgMHhjZSwgMHg0YSwgMHhiNSwgMHhmMiwgMHgwYSwgMHhmNiwgMHgxYywgMHg4MiwgMHhkZCwKLSAgMHhiNCwgMHgwNiwgMHgzNywgMHgzYiwgMHhhOSwgMHg3YywgMHgyNywgMHg2NywgMHg1MiwgMHgwYywgMHgzOCwgMHg4OSwKLSAgMHgwNSwgMHgwNCwgMHhjZCwgMHg1MywgMHg1YiwgMHgzZCwgMHgyZiwgMHgxOSwgMHhlNCwgMHg1ZCwgMHg2MCwgMHhjZCwKLSAgMHg2YywgMHhkMywgMHgyYywgMHg1MiwgMHgwZCwgMHhlZCwgMHhhMCwgMHhiMSwgMHhjOCwgMHhkNCwgMHg5NiwgMHgwMCwKLSAgMHgzMSwgMHg0OSwgMHg1NiwgMHhkOSwgMHg3NiwgMHg3NCwgMHg4YiwgMHg3OSwgMHg4ZiwgMHg3NSwgMHgwYiwgMHg5NywKLSAgMHhkNywgMHg4ZiwgMHg4NiwgMHhmNCwgMHg3OCwgMHhhMiwgMHhjNiwgMHgyMiwgMHhmZiwgMHhmMCwgMHgwOSwgMHg3ZSwKLSAgMHgzOCwgMHhlYSwgMHg2ZSwgMHg3NCwgMHg1MCwgMHg2OSwgMHgyMywgMHhmZCwgMHg1OCwgMHhhZCwgMHhhMywgMHg3NSwKLSAgMHg1NSwgMHhjYywgMHhhOCwgMHg5NywgMHgwNywgMHg0ZCwgMHg1YiwgMHgzYiwgMHgzMywgMHgxMCwgMHhmYywgMHhhMiwKLSAgMHg2YiwgMHg4NiwgMHg5MywgMHgyOCwgMHhjYywgMHg5MiwgMHgyMSwgMHhhMSwgMHg2MSwgMHgwOCwgMHg5YiwgMHg1NCwKLSAgMHhiNywgMHgwZSwgMHhmZCwgMHhlMCwgMHgyMCwgMHg3MiwgMHhlOCwgMHg3NiwgMHhjNiwgMHgyZiwgMHg2NCwgMHg5OSwKLSAgMHgwZiwgMHgzOCwgMHhmMiwgMHg0OSwgMHhjZSwgMHg0ZCwgMHhiMywgMHg1ZSwgMHhlNCwgMHhjYiwgMHhhMSwgMHhiZSwKLSAgMHhjNSwgMHhjMiwgMHg2MywgMHg5MSwgMHg3ZSwgMHgxNCwgMHhhMSwgMHhmZSwgMHgwOCwgMHhhNCwgMHgxMCwgMHhmNiwKLSAgMHg4NiwgMHhkMiwgMHhlNiwgMHhjZCwgMHg3ZSwgMHg1OCwgMHg4YiwgMHg5ZiwgMHgxNCwgMHg5YSwgMHgxMSwgMHg0ZCwKLSAgMHhhYiwgMHhjOSwgMHg1YywgMHg3ZCwgMHgzYywgMHg1MCwgMHg2NiwgMHhmOSwgMHgzYiwgMHhiMSwgMHhkMiwgMHgzMCwKLSAgMHg0ZCwgMHhlMiwgMHhmNiwgMHhkZCwgMHgzNiwgMHg1YSwgMHgwNiwgMHg4MiwgMHg5OSwgMHhkOCwgMHg3NywgMHhlZiwKLSAgMHgzZCwgMHgzZiwgMHg0NywgMHgwZiwgMHhlYiwgMHhjZSwgMHg0ZiwgMHhmNywgMHhlYywgMHg3ZiwgMHg4ZiwgMHhmMywKLSAgMHg3YiwgMHhmMiwgMHg0OSwgMHhjZSwgMHhlZiwgMHhjOSwgMHhmZiwgMHgzNiwgMHhlNywgMHhmNywgMHhlNCwgMHg5ZiwKLSAgMHgzZiwgMHhiZiwgMHg0NywgMHhkZCwgMHhmMywgMHg3YiwgMHhmMiwgMHhiZiwgMHhjYiwgMHhmOSwgMHg2OSwgMHhkMywKLSAgMHgzNiwgMHgzZCwgMHhiZCwgMHgyYywgMHgzOCwgMHhiZiwgMHhiMSwgMHg2NCwgMHg4MiwgMHgyOCwgMHhkYSwgMHgxZiwKLSAgMHg2ZCwgMHhiNiwgMHhiZSwgMHhjNSwgMHg3MSwgMHgxNywgMHg0OSwgMHg4NSwgMHg2NCwgMHhjNywgMHhiNiwgMHg2NiwKLSAgMHhlMywgMHgzMiwgMHhkZSwgMHg2NCwgMHg0ZiwgMHgxNywgMHgxNCwgMHhlOSwgMHhlNCwgMHhhNSwgMHg0MywgMHgxZSwKLSAgMHg5ZiwgMHgyNSwgMHhmNiwgMHhmMywgMHhkZSwgMHgyMSwgMHgzOCwgMHgzNCwgMHgyZSwgMHhmMSwgMHgwNiwgMHg0NywKLSAgMHhiZCwgMHhjZSwgMHg2NiwgMHg4ZCwgMHg2NywgMHhiNCwgMHgwMSwgMHg1YywgMHg4NSwgMHg1OSwgMHhiYiwgMHhkYSwKLSAgMHhlMSwgMHgxOCwgMHhlMCwgMHg5NiwgMHhkOSwgMHhiYywgMHhlNywgMHgyZiwgMHg2OCwgMHhiZiwgMHg4NiwgMHhmYywKLSAgMHhmOCwgMHg5ZiwgMHhhMywgMHgzNSwgMHg3MSwgMHhlOCwgMHhmZiwgMHhlYywgMHgyNiwgMHgxNSwgMHg4YiwgMHgzNCwKLSAgMHg3OCwgMHg1YiwgMHhmNywgMHhlMCwgMHg2MywgMHhlYiwgMHg2YiwgMHgyMSwgMHhhNiwgMHg0NywgMHgzOCwgMHgxZCwKLSAgMHhkZSwgMHg3ZiwgMHg2NCwgMHhlNSwgMHgxNSwgMHhlMCwgMHg3ZSwgMHg1ZSwgMHhiYywgMHg3ZiwgMHgxNywgMHhmYSwKLSAgMHhkZSwgMHhjYywgMHg1MiwgMHg2ZCwgMHg3NSwgMHhhMCwgMHgwMywgMHg1YywgMHgzNCwgMHhlNywgMHgzNSwgMHgyNCwKLSAgMHhlMywgMHg3ZSwgMHgwOCwgMHhlYywgMHg3OSwgMHg3MywgMHgxZCwgMHg0ZiwgMHhiZiwgMHhkOSwgMHhmNiwgMHhiYywKLSAgMHg0MCwgMHgwOCwgMHg0NCwgMHg5NCwgMHg5MSwgMHg4YiwgMHhjNiwgMHhkNSwgMHhiOSwgMHg1YSwgMHg4MCwgMHg1ZSwKLSAgMHgwZiwgMHhmYywgMHgxMywgMHg3NiwgMHg1OSwgMHhmMSwgMHg5OSwgMHg4MywgMHhmNywgMHg2NiwgMHhlNywgMHg0OCwKLSAgMHgyMiwgMHg3NSwgMHhiZCwgMHg1NSwgMHhkMCwgMHgzNCwgMHg5MywgMHg5NCwgMHhjMSwgMHhiYywgMHgxNiwgMHg3MCwKLSAgMHgzOSwgMHg0MiwgMHhkYiwgMHg1MCwgMHg0OSwgMHg4OCwgMHg4OSwgMHhmZCwgMHgyYiwgMHg5MywgMHhmOCwgMHg5ZSwKLSAgMHhlYywgMHhiNywgMHg3NiwgMHhmNSwgMHgxNSwgMHg3NCwgMHhjNSwgMHhkNSwgMHg2MiwgMHgyOSwgMHgxNSwgMHhjOCwKLSAgMHhmNywgMHg1NCwgMHg2MCwgMHhjMiwgMHgwNCwgMHhkZiwgMHg0ZSwgMHhiZSwgMHg0NywgMHg3OSwgMHgyNSwgMHhiYiwKLSAgMHhlYywgMHhhNSwgMHgxYSwgMHg0OSwgMHhhZCwgMHg3MiwgMHg1YiwgMHg3ZCwgMHhhMSwgMHhmMSwgMHhiMCwgMHgxZSwKLSAgMHhmYywgMHhiNCwgMHgyOCwgMHg2NCwgMHg1NSwgMHgwNywgMHg1YywgMHg4MCwgMHhjYiwgMHg2NiwgMHgxNCwgMHhiMiwKLSAgMHg5ZCwgMHg3OCwgMHhhNCwgMHhhNywgMHgzMywgMHg0YiwgMHgyMSwgMHgwNCwgMHg5ZiwgMHhjMywgMHg1NSwgMHgxNCwKLSAgMHhiYywgMHg5MCwgMHhiZCwgMHg2YiwgMHhhNCwgMHg2YywgMHg3MCwgMHg1OCwgMHg5MSwgMHgyNiwgMHhjZCwgMHg0OCwKLSAgMHg4NCwgMHhlNiwgMHg3NSwgMHgzMywgMHhkNCwgMHg0OCwgMHhjYSwgMHhiMSwgMHg2YSwgMHgxNywgMHg3YywgMHhkNiwKLSAgMHhkOSwgMHgwMywgMHgwMywgMHgyYSwgMHg1NiwgMHgzZiwgMHhhMCwgMHhkYSwgMHgyZCwgMHgzYywgMHgwNSwgMHg4MiwKLSAgMHhlZSwgMHg2MSwgMHhlMSwgMHg5YiwgMHg4YSwgMHg2YiwgMHg1YiwgMHg5ZSwgMHgzMywgMHhiOSwgMHg2YiwgMHg1MywKLSAgMHhjYSwgMHg3MCwgMHgxMiwgMHhkNiwgMHhkYSwgMHg2OSwgMHhmZSwgMHgzNiwgMHhhZiwgMHhmOCwgMHg3NywgMHgyMCwKLSAgMHg4ZSwgMHg5ZSwgMHhjYSwgMHgwZCwgMHhkNiwgMHhjYywgMHg3YywgMHhjZiwgMHg0NCwgMHg3MCwgMHg5MywgMHhmYywKLSAgMHhiYSwgMHg5MCwgMHg5ZSwgMHg2MiwgMHgyYywgMHg1ZCwgMHg5ZCwgMHhiNCwgMHhjMCwgMHhlMCwgMHhiZSwgMHgyMiwKLSAgMHg2ZCwgMHgyMywgMHhkNSwgMHgxZCwgMHg4MCwgMHgxOCwgMHg5YSwgMHg5YywgMHhkMCwgMHgxYiwgMHhlNCwgMHgwOCwKLSAgMHgwYSwgMHgwZSwgMHg0MSwgMHhmNCwgMHgxOCwgMHgxOSwgMHhkMiwgMHg0YSwgMHgxYiwgMHhjZSwgMHgyNiwgMHg5YywKLSAgMHgzMCwgMHg3YywgMHg5NSwgMHhmOSwgMHhlNSwgMHhkNSwgMHgxNiwgMHhkOSwgMHg1MiwgMHhmMiwgMHgxNCwgMHgzMSwKLSAgMHhmNSwgMHg0MiwgMHg5MiwgMHg1YiwgMHg4MywgMHgyZSwgMHg0NiwgMHgwMCwgMHg0ZiwgMHg5MCwgMHhjOSwgMHg2ZiwKLSAgMHgwOCwgMHhkOCwgMHhkMywgMHg0YSwgMHhmMCwgMHg2YywgMHhiOSwgMHg4NywgMHgzMywgMHhiMCwgMHg3MSwgMHhmZSwKLSAgMHg3NSwgMHhjNSwgMHhjYywgMHg1ZSwgMHhlZSwgMHhiOCwgMHhjZiwgMHhhMiwgMHhiMiwgMHg0YiwgMHg4ZSwgMHhlOCwKLSAgMHhhZiwgMHg0YiwgMHgyYywgMHgxZSwgMHhiYiwgMHg0ZSwgMHgwOSwgMHg4YywgMHg2ZCwgMHg2ZCwgMHg1MSwgMHhkOSwKLSAgMHg5OCwgMHg1MCwgMHg4ZSwgMHg4YSwgMHhhNiwgMHgyYSwgMHg5NywgMHg4NiwgMHg3YSwgMHhiZSwgMHg0ZSwgMHg2OSwKLSAgMHg1NSwgMHhhMCwgMHhhMCwgMHg1NywgMHg2OSwgMHhiNiwgMHgwOCwgMHgyYSwgMHhkOCwgMHhiOCwgMHg1OSwgMHhiOSwKLSAgMHgzNiwgMHg4NiwgMHhkNCwgMHhkNiwgMHhlNSwgMHhkNiwgMHhlMywgMHgwYSwgMHhmMywgMHg4MCwgMHhiNywgMHgyNiwKLSAgMHhhOSwgMHhjYywgMHg5NiwgMHgxOSwgMHgwMiwgMHg5NywgMHhkMiwgMHgxMiwgMHhiNCwgMHhlMSwgMHgxYSwgMHg5ZiwKLSAgMHg4NCwgMHhiNiwgMHg5YywgMHg3NiwgMHg0YiwgMHg1YSwgMHgwYiwgMHg1ZCwgMHg4MCwgMHhhMSwgMHg4NiwgMHhkZCwKLSAgMHhlOCwgMHg4OCwgMHgwYywgMHhmZCwgMHgyMiwgMHhjYSwgMHgzOSwgMHg3OCwgMHhkZCwgMHhkOSwgMHg1YywgMHg5MSwKLSAgMHgzZCwgMHgxNCwgMHg5YiwgMHg3ZSwgMHg1YSwgMHhkZCwgMHgyZCwgMHhjOSwgMHgzZCwgMHgyMCwgMHhhNSwgMHhiYSwKLSAgMHg3YywgMHhjZiwgMHg2OSwgMHg3NiwgMHgwYywgMHgyYywgMHg5YiwgMHhhYywgMHhhZCwgMHg4ZSwgMHg3ZSwgMHg1ZiwKLSAgMHg3YiwgMHgwMCwgMHhlZCwgMHg5MCwgMHhhNiwgMHhlNCwgMHgxOCwgMHgyMiwgMHhhNCwgMHg2NSwgMHhjMiwgMHhjMCwKLSAgMHgxMiwgMHhlOSwgMHg0YSwgMHg2MiwgMHg2NywgMHgwNiwgMHhkMCwgMHg5NywgMHhkZSwgMHhjNiwgMHg2OSwgMHhkMiwKLSAgMHgwZSwgMHg2ZCwgMHhlNCwgMHg2NSwgMHgwMCwgMHhjMSwgMHhmNiwgMHgzMCwgMHg3NCwgMHg0MCwgMHg5OCwgMHg4OSwKLSAgMHg4OCwgMHhhNCwgMHg2YywgMHg3YiwgMHg3MSwgMHg3MCwgMHg3OSwgMHg5ZSwgMHhjMSwgMHgzZiwgMHhjMiwgMHg4NCwKLSAgMHg1MywgMHhkNywgMHg5MSwgMHgyMSwgMHgyNSwgMHgyMCwgMHg4OCwgMHgyMiwgMHg0MCwgMHg5YywgMHgzMSwgMHgzNiwKLSAgMHhlZSwgMHhlNSwgMHg1MCwgMHhiMCwgMHgzMywgMHg3YSwgMHhlOCwgMHhjNCwgMHhjYiwgMHhhOSwgMHgxNCwgMHhkMiwKLSAgMHhlNSwgMHg5YSwgMHg2NSwgMHg2NCwgMHhlNCwgMHg1OSwgMHhjNywgMHgyMywgMHg3OCwgMHg5YSwgMHhhNiwgMHg1MywKLSAgMHgyOCwgMHgyYywgMHg5OCwgMHg2MSwgMHhiNywgMHg0MSwgMHhjYywgMHgwMSwgMHg2OCwgMHgyZiwgMHg0NywgMHhlNywKLSAgMHhlOSwgMHgyNSwgMHg3MywgMHgyZSwgMHhjYiwgMHhlYiwgMHhiYywgMHhhMiwgMHg3NCwgMHhmNCwgMHgyNCwgMHgyYiwKLSAgMHgxOCwgMHgzYSwgMHhkMSwgMHgzMCwgMHgzMywgMHhjMywgMHg0YiwgMHgxNiwgMHhlNiwgMHhmNiwgMHgwYywgMHhkZiwKLSAgMHg5YSwgMHhiNSwgMHgwZiwgMHgwMywgMHg4MCwgMHgyMywgMHhmMiwgMHg0ZCwgMHg4OCwgMHhiNCwgMHg3MCwgMHg2OSwKLSAgMHgwZSwgMHg0OCwgMHhhZiwgMHg0NiwgMHg0MiwgMHgwYSwgMHg3ZCwgMHg2OSwgMHgxNCwgMHhjMywgMHhjYywgMHg5OSwKLSAgMHg5NiwgMHg5NSwgMHgwMCwgMHhkNywgMHg1MCwgMHg0NiwgMHg4YywgMHhiOSwgMHg3OSwgMHg0OCwgMHgwMywgMHhhYSwKLSAgMHgyZCwgMHgxZSwgMHg4MSwgMHgwYiwgMHg5NSwgMHhiNywgMHg1YiwgMHg2YywgMHg0NSwgMHgwYSwgMHg4YiwgMHhhZCwKLSAgMHg4ZSwgMHgyYSwgMHgxOCwgMHg4YiwgMHhjOCwgMHhjNSwgMHg5ZiwgMHg2NSwgMHgzNSwgMHhmNSwgMHg2YiwgMHhlMiwKLSAgMHgwOSwgMHgyNCwgMHg4NywgMHgzZSwgMHg4YiwgMHgwMiwgMHg4MiwgMHgxOCwgMHhiNSwgMHhhNiwgMHg5NywgMHhjZSwKLSAgMHgwYSwgMHg1ZCwgMHgxYSwgMHhjMCwgMHg4MywgMHhkMSwgMHg4OSwgMHhiZiwgMHhiNywgMHg4OCwgMHgyYSwgMHhjYSwKLSAgMHgxNiwgMHhlNSwgMHgwOCwgMHg2YiwgMHgzOCwgMHg0OSwgMHgwMSwgMHhhOSwgMHg0MCwgMHgyZSwgMHgxNCwgMHhmYywKLSAgMHgxMywgMHgzZSwgMHgzZSwgMHhkYSwgMHg2OCwgMHg4OSwgMHhkNiwgMHg0NiwgMHgzNCwgMHgwYiwgMHg2OSwgMHgyNCwKLSAgMHg2NSwgMHgwMSwgMHhlYiwgMHg1NiwgMHgxYSwgMHhhYSwgMHg3MSwgMHgxMSwgMHgxNywgMHgyNSwgMHgwZSwgMHhiNywKLSAgMHhiOSwgMHhjYywgMHhlNCwgMHg2OCwgMHhlNCwgMHgxMCwgMHhjMSwgMHgzNSwgMHhhNSwgMHhlYywgMHgxNSwgMHhjNiwKLSAgMHhkMSwgMHhiNCwgMHg5OCwgMHg0MCwgMHgyMSwgMHg3MCwgMHhlYywgMHg5YiwgMHhiMywgMHhjMywgMHg3NywgMHhjNywKLSAgMHhlMywgMHhkMywgMHhiNywgMHhjZiwgMHhjMSwgMHgyZSwgMHg0OCwgMHg2ZSwgMHhjMiwgMHhmZiwgMHhiZSwgMHhjZiwKLSAgMHhlZCwgMHg4ZiwgMHgwMCwgMHgzMCwgMHg4ZCwgMHhhZiwgMHhlNiwgMHgzNSwgMHhhMywgMHg5NSwgMHhkMiwgMHhiNywKLSAgMHhjYywgMHgwOSwgMHg3ZCwgMHg5ZiwgMHhhNSwgMHgxZiwgMHgyMywgMHhlNSwgMHg0NSwgMHg2MywgMHhjMywgMHhhMiwKLSAgMHhhOCwgMHhjMSwgMHg1MiwgMHg4YiwgMHg0NiwgMHgzOSwgMHgyMywgMHg0OSwgMHgzMCwgMHg4NywgMHg1MSwgMHgxMiwKLSAgMHgwMywgMHg1NCwgMHgxOCwgMHgwMiwgMHg4NSwgMHg3NSwgMHg2MywgMHhhZiwgMHg1NSwgMHg0ZCwgMHhkYSwgMHg4OSwKLSAgMHg0NywgMHhkZSwgMHgzNiwgMHgzZiwgMHhmNCwgMHg5YSwgMHhkMCwgMHhjMywgMHgzNSwgMHhhNywgMHhmYSwgMHg5OCwKLSAgMHhiYiwgMHg4MSwgMHg5MywgMHg3MCwgMHg4YywgMHhiNSwgMHg1MywgMHgwZCwgMHhkZSwgMHhiNSwgMHg4NiwgMHg4ZSwKLSAgMHgxYSwgMHgwZCwgMHg2NiwgMHgyYSwgMHgyZSwgMHhiYiwgMHg2NCwgMHg3ZSwgMHhkMSwgMHhjZCwgMHg1NywgMHhjMSwKLSAgMHhjOSwgMHg1MSwgMHg3NiwgMHhhZCwgMHhlZCwgMHhkMywgMHhkZCwgMHg4NiwgMHhjMCwgMHg4YiwgMHg0NiwgMHgxZCwKLSAgMHgxYywgMHhmMCwgMHgzMSwgMHg0ZCwgMHgwNiwgMHgxMSwgMHgxMiwgMHhkNSwgMHhmYywgMHhiMiwgMHhlMiwgMHgzYSwKLSAgMHg5YiwgMHg5NywgMHg0YiwgMHgxZSwgMHg4YiwgMHg4YiwgMHgxNiwgMHg4MSwgMHg2ZCwgMHhjYiwgMHg5OCwgMHhhOSwKLSAgMHhhMywgMHhiNSwgMHhmMCwgMHg2NiwgMHg3MiwgMHhkOSwgMHg2YSwgMHgxNSwgMHgxOSwgMHg1OCwgMHhhOCwgMHg4ZiwKLSAgMHg5NywgMHgyYiwgMHg2MywgMHgzMSwgMHhmYywgMHg2YSwgMHhlNCwgMHgwMCwgMHg3OSwgMHhhMywgMHhjOCwgMHhkYiwKLSAgMHg1NSwgMHg4OCwgMHg5ZSwgMHhjNiwgMHg1YiwgMHgxYywgMHg0MSwgMHgwMiwgMHg1MiwgMHgzYywgMHgxNCwgMHhlMCwKLSAgMHhkMCwgMHgyMywgMHgyZCwgMHhmOCwgMHgyNiwgMHhjYiwgMHgzZSwgMHhmMiwgMHgzNywgMHg2ZCwgMHhlMCwgMHg5NiwKLSAgMHg3YiwgMHgxZCwgMHg0OCwgMHgyMiwgMHg3MSwgMHhiMiwgMHhmMSwgMHhmZCwgMHhjZSwgMHg0NiwgMHhiYywgMHg0MCwKLSAgMHgyYiwgMHg0NywgMHhjMCwgMHhkYSwgMHgxYywgMHg0MiwgMHhjNSwgMHg1YiwgMHgwZCwgMHg3ZiwgMHhiZCwgMHgxMywKLSAgMHhmYywgMHhkMiwgMHg3YiwgMHgxNywgMHhmZSwgMHhkMywgMHhjYSwgMHhjOCwgMHg4YiwgMHg2YiwgMHg1MiwgMHhmNSwKLSAgMHhmMCwgMHgyNSwgMHhjMSwgMHhjNiwgMHg4ZCwgMHhjMCwgMHhjYiwgMHg0YSwgMHhkNywgMHhlOCwgMHhiNCwgMHhmYSwKLSAgMHg1OCwgMHhiYiwgMHg1YiwgMHgxZSwgMHhhYSwgMHgwMiwgMHg4ZCwgMHgxZSwgMHgwMiwgMHg5OSwgMHgyMywgMHg2OCwKLSAgMHhkMiwgMHg0NCwgMHg4YiwgMHg2OSwgMHg2NywgMHhmZiwgMHg1MywgMHgwZCwgMHg2YSwgMHhlMywgMHg1NSwgMHg3MiwKLSAgMHhmMiwgMHg1OCwgMHhiMSwgMHhiZSwgMHhmNSwgMHg2ZCwgMHhjZSwgMHhkMiwgMHg1NywgMHhhOSwgMHhiNSwgMHg4ZSwKLSAgMHhiNiwgMHg3MSwgMHg1OSwgMHhmNiwgMHg3NiwgMHg3NywgMHhlZiwgMHgwNSwgMHg5NCwgMHgxMywgMHgzMiwgMHg1ZiwKLSAgMHg4YiwgMHgyYiwgMHg0NywgMHg2YSwgMHgzMSwgMHg4NywgMHhiOSwgMHgyZCwgMHgwMCwgMHg0YSwgMHg5YSwgMHg0YiwKLSAgMHg2MSwgMHg2YiwgMHgxNywgMHg4MiwgMHhkMywgMHg3YywgMHhkMiwgMHhlMiwgMHhiYiwgMHg1OSwgMHgyZCwgMHhlYywKLSAgMHhjNiwgMHhiNiwgMHg2YSwgMHhjZCwgMHg4MCwgMHgyZCwgMHg0NywgMHgzYSwgMHhmMywgMHgxMSwgMHhkZiwgMHhlNywKLSAgMHhlNywgMHhlZCwgMHg3NywgMHhiYSwgMHg4OSwgMHgyMCwgMHgyYywgMHgwNywgMHgxMCwgMHhlNywgMHhhNywgMHgxNywKLSAgMHhkZCwgMHg5ZCwgMHg0OCwgMHhiZSwgMHhiYSwgMHg3MywgMHgxZSwgMHg1YywgMHgxYiwgMHg5ZCwgMHhjNCwgMHhiYywKLSAgMHg0OCwgMHhkMSwgMHhlMiwgMHhmOSwgMHg4ZiwgMHhkNiwgMHgxOCwgMHgwMCwgMHg3MSwgMHhjYywgMHhiOCwgMHhkZiwKLSAgMHhiMSwgMHg3NiwgMHhjOSwgMHgzMCwgMHhlNywgMHg0ZCwgMHhiOSwgMHhhYywgMHgzMSwgMHgyNCwgMHgyMywgMHg2MSwKLSAgMHhjNSwgMHhjMywgMHgxNiwgMHg3NiwgMHhiNSwgMHg2OSwgMHgxZCwgMHhmNCwgMHhlZiwgMHhmMywgMHg1YSwgMHhmMSwKLSAgMHhiMSwgMHgzNiwgMHhiYywgMHhiNiwgMHg1NSwgMHg0MCwgMHgxYiwgMHgwMiwgMHhiMCwgMHg1ZCwgMHg1ZSwgMHhmMCwKLSAgMHhiNCwgMHg3ZCwgMHhiZSwgMHg4NCwgMHhjMywgMHgzMSwgMHgwNCwgMHhkYSwgMHg0NiwgMHg1NywgMHgxMCwgMHgxMiwKLSAgMHg0MCwgMHgwNywgMHgxMSwgMHgzOSwgMHg5YywgMHhjZCwgMHg2NSwgMHhlMSwgMHg3OSwgMHhlMSwgMHgwOSwgMHg3YSwKLSAgMHg5MiwgMHg1MywgMHgzYSwgMHhiNSwgMHgyNiwgMHhiNywgMHg4MywgMHg3OCwgMHgxZSwgMHgyMiwgMHhjNiwgMHhhYSwKLSAgMHg0YSwgMHg0YiwgMHgyMSwgMHhhNywgMHhkMiwgMHg0MywgMHgzYSwgMHhiNCwgMHg3NSwgMHhkOCwgMHgzMSwgMHg3ZiwKLSAgMHg3ZSwgMHg4OCwgMHhhMSwgMHhjNCwgMHhhNSwgMHgyMSwgMHgyZSwgMHg1NiwgMHhjNCwgMHhhOCwgMHgyMiwgMHg0OCwKLSAgMHg3YiwgMHg4MywgMHgzZiwgMHg4MCwgMHgzNSwgMHgwNSwgMHg2MywgMHhiNywgMHgwZSwgMHg3MCwgMHg3NiwgMHhlNiwKLSAgMHhkNiwgMHg1MCwgMHgyNSwgMHgxMCwgMHg5ZiwgMHg3MCwgMHhkNCwgMHhjOSwgMHgzMSwgMHg0OCwgMHgyYywgMHg2NCwKLSAgMHg2MCwgMHgyMiwgMHg1ZCwgMHgyYywgMHg3OSwgMHgzMSwgMHhiNSwgMHg4MywgMHgwZiwgMHg0NSwgMHhlOSwgMHgyMiwKLSAgMHhmZCwgMHhjMiwgMHg4YywgMHg1YiwgMHhhYiwgMHg4ZiwgMHhhMiwgMHg4OCwgMHg2NSwgMHg2OSwgMHg0MSwgMHgzYiwKLSAgMHgzNywgMHg0ZiwgMHg2ZCwgMHgxMiwgMHgzOCwgMHgwNiwgMHg0MiwgMHg5OCwgMHgzYywgMHhiMiwgMHhjNSwgMHhlYSwKLSAgMHg2NCwgMHgwZCwgMHgwNCwgMHgxOCwgMHgyNywgMHgwOSwgMHg2NywgMHgwZCwgMHhiMiwgMHg0MSwgMHgxNiwgMHhjYSwKLSAgMHg1ZiwgMHgyNCwgMHg0OSwgMHgxMSwgMHhkMiwgMHg2ZiwgMHg4MiwgMHhjMywgMHgwMSwgMHg1ZSwgMHhjYSwgMHhhYSwKLSAgMHhmMiwgMHg1MiwgMHhhMywgMHgzNiwgMHhhZSwgMHg3MiwgMHg3MywgMHhhYSwgMHhjNSwgMHgwNiwgMHg1NCwgMHgyMiwKLSAgMHgyNywgMHg1OCwgMHhlNSwgMHhiYiwgMHhjMSwgMHg2MiwgMHg1NywgMHg3MywgMHgyZiwgMHg0MiwgMHgxNywgMHhlYSwKLSAgMHgwZSwgMHgxNiwgMHhlNiwgMHgyMSwgMHgyOCwgMHg4NCwgMHg3NSwgMHg3MCwgMHgxNywgMHgyYywgMHg1MywgMHgyNCwKLSAgMHhiNywgMHg5OCwgMHhkNywgMHgxMCwgMHhlZiwgMHgwZSwgMHgyNywgMHgzMSwgMHgzZCwgMHg0YiwgMHgxZCwgMHg2MiwKLSAgMHhkZiwgMHhhMiwgMHhlZiwgMHgyMywgMHg2ZCwgMHhiOCwgMHhlYiwgMHhiYSwgMHg2NiwgMHhiYiwgMHgwNCwgMHgyYywKLSAgMHhjOCwgMHg5NSwgMHg0ZiwgMHhmZiwgMHhhMiwgMHgzZCwgMHg4ZSwgMHg1OSwgMHhjNywgMHg3NCwgMHgwOCwgMHgwMiwKLSAgMHhlZiwgMHgxNSwgMHhjMSwgMHg5ZiwgMHg5NywgMHg5NCwgMHhlZCwgMHhmNCwgMHgwZSwgMHhjNSwgMHhhOSwgMHhlZSwKLSAgMHhjMywgMHhhMCwgMHhlZSwgMHgwMCwgMHgyZCwgMHg5NCwgMHg5MCwgMHg3MywgMHg0YiwgMHgzOCwgMHg4MCwgMHg4NCwKLSAgMHg4ZSwgMHg2OSwgMHgwYiwgMHhhNywgMHg1NSwgMHhiZSwgMHg2YywgMHgzOCwgMHgyZCwgMHg0ZCwgMHhhYSwgMHg2NiwKLSAgMHhlZSwgMHhiMywgMHhmYSwgMHgyZiwgMHhlNywgMHhlNSwgMHgyNCwgMHhlNSwgMHgzYiwgMHg2MiwgMHg5MywgMHg1NiwKLSAgMHgzNSwgMHhlZSwgMHhkNSwgMHg0MiwgMHhiNywgMHgyNywgMHhmNiwgMHg0NiwgMHhlNCwgMHgxOSwgMHhlOSwgMHhlNSwKLSAgMHg2MywgMHg1NiwgMHgzYywgMHg3YywgMHgzZSwgMHg0MCwgMHhkZSwgMHhjNiwgMHg2ZCwgMHhiMywgMHhmNiwgMHg4MywKLSAgMHhmNiwgMHgxMywgMHg4YywgMHgxNSwgMHgzYiwgMHhiYywgMHgxOCwgMHhjOCwgMHhlZCwgMHg1NSwgMHgwOCwgMHgwZiwKLSAgMHhlNCwgMHhmYywgMHhkNiwgMHhkZSwgMHg5NSwgMHgwYSwgMHgyYywgMHg2ZiwgMHg2MCwgMHhlZSwgMHgyNCwgMHhiMywKLSAgMHgxNSwgMHhhYiwgMHg4MywgMHg0ZSwgMHg5ZSwgMHg2YywgMHg0YSwgMHhiZSwgMHg5MCwgMHhmNCwgMHg0YiwgMHg0NSwKLSAgMHgyMiwgMHhhYSwgMHg2ZCwgMHg4MywgMHhjMywgMHg2OSwgMHgzOSwgMHgzMSwgMHhlYywgMHgwNiwgMHg0MiwgMHg5MywKLSAgMHg5NywgMHg3NCwgMHhkNCwgMHg0MSwgMHg3MiwgMHg1NSwgMHhkZSwgMHhhMCwgMHhmNCwgMHhhZSwgMHgyMCwgMHhlMywKLSAgMHhjNCwgMHg0ZCwgMHg0ZSwgMHhjYiwgMHgyYSwgMHhiYywgMHhiZCwgMHg2MiwgMHgxNCwgMHg5ZSwgMHg5MCwgMHhlMiwKLSAgMHgyZiwgMHhkOCwgMHgyZCwgMHgwMCwgMHg1ZCwgMHg5YSwgMHhjZiwgMHg2NCwgMHhjZCwgMHhjZSwgMHhmOCwgMHgwZCwKLSAgMHgyYywgMHhkYSwgMHg4ZSwgMHgyMiwgMHhmYiwgMHhlOSwgMHg5ZSwgMHg5MCwgMHgxYSwgMHhmOCwgMHg5YSwgMHgzOSwKLSAgMHhlMiwgMHgzOSwgMHhiNywgMHgxOCwgMHhkZCwgMHgzMiwgMHhmNCwgMHgyMiwgMHg3NSwgMHhkMiwgMHgyOSwgMHg4YywKLSAgMHgyOSwgMHg0MCwgMHgyOSwgMHg4YiwgMHg5YywgMHg2NSwgMHg0ZSwgMHgxMCwgMHg0ZCwgMHhlMiwgMHgzMywgMHhhYiwKLSAgMHhhMCwgMHhkYywgMHg2NSwgMHhlYSwgMHg1MywgMHg1MSwgMHgxNiwgMHg1MiwgMHgwNiwgMHgwYiwgMHg5ZiwgMHg4NywKLSAgMHgwNCwgMHg4ZSwgMHg5NSwgMHg5ZSwgMHhiMiwgMHg2NiwgMHhlYSwgMHhmZCwgMHg3MiwgMHg5NiwgMHhhNSwgMHhmMywKLSAgMHg2OCwgMHg2YiwgMHg3MywgMHg5YSwgMHgzMCwgMHhhMiwgMHg5ZCwgMHhjYywgMHhkYiwgMHhkMCwgMHhlNywgMHhiMywKLSAgMHhkMCwgMHhlMCwgMHhiOSwgMHhkNCwgMHhjZiwgMHg3MCwgMHgwNiwgMHg3OSwgMHhkMSwgMHg0MiwgMHhlYiwgMHhjMSwKLSAgMHg5ZCwgMHgwYSwgMHg0ZiwgMHg5YSwgMHg1YSwgMHhjMywgMHg1ZCwgMHgwMywgMHgzOCwgMHg2YywgMHg1NiwgMHg0ZSwKLSAgMHgxZCwgMHg3OCwgMHg4ZCwgMHg1NywgMHg1OCwgMHgwOSwgMHg1ZiwgMHhkMywgMHg5YiwgMHg5MywgMHhjNCwgMHgzZSwKLSAgMHg4MCwgMHhlNCwgMHg1NywgMHhjZSwgMHhlMCwgMHgwZCwgMHgzYSwgMHhkMiwgMHg0OSwgMHgzNCwgMHg0ZCwgMHgwMCwKLSAgMHgwNCwgMHg1OCwgMHhjYywgMHg2OCwgMHg0NSwgMHgxZSwgMHhjZCwgMHg4YiwgMHg3MywgMHgyMSwgMHg4OSwgMHg0NywKLSAgMHg2ZSwgMHhjYiwgMHg1NSwgMHg0NCwgMHhjNiwgMHgxZCwgMHhkOCwgMHhjNywgMHgzMiwgMHgzYywgMHhlOSwgMHhlYiwKLSAgMHg0YywgMHg1MywgMHg1ZSwgMHg2MSwgMHg3ZSwgMHhmMCwgMHhmNiwgMHgzNywgMHgxNiwgMHg1NCwgMHg4MSwgMHhjNiwKLSAgMHgxMiwgMHg1ZSwgMHhjMywgMHg2YywgMHg2NiwgMHg3ZiwgMHgzZiwgMHg3ZSwgMHgzMywgMHhiOCwgMHg2ZiwgMHhiYSwKLSAgMHg5MiwgMHgxOCwgMHhlZSwgMHg3YSwgMHg5ZCwgMHg1ZSwgMHg2NCwgMHg2YSwgMHhiMywgMHgwOCwgMHhlYiwgMHgyZSwKLSAgMHhhNywgMHg2NiwgMHhmYiwgMHg5MCwgMHhhOSwgMHg3MywgMHhjMywgMHgwNiwgMHg0NSwgMHgxMSwgMHgyOSwgMHg1NiwKLSAgMHg2NiwgMHhhZSwgMHg0OSwgMHg1YywgMHhkMiwgMHg4YSwgMHg1YywgMHhiYSwgMHgwNiwgMHhjMiwgMHg2ZSwgMHhlYiwKLSAgMHg3OSwgMHhiZSwgMHhkNCwgMHgzMCwgMHhlNSwgMHgyMCwgMHhjOSwgMHgyNCwgMHg5YiwgMHg3NCwgMHg3ZSwgMHgyNywKLSAgMHg0NywgMHhiMiwgMHgxYSwgMHg0NiwgMHgxYywgMHg3MCwgMHg5YSwgMHg2ZiwgMHhhNywgMHg1OCwgMHhlOSwgMHg3MywKLSAgMHhiMiwgMHg4YywgMHhiNiwgMHgzYSwgMHhhMywgMHgzZiwgMHhkYSwgMHhkZCwgMHhjMywgMHg2YywgMHgxZiwgMHhlZCwKLSAgMHgzZSwgMHhkZCwgMHg2ZSwgMHg0YiwgMHhlNSwgMHg3OSwgMHg5ZCwgMHgwZCwgMHg5MSwgMHg4ZCwgMHhmYywgMHhjMCwKLSAgMHgyNiwgMHhhOCwgMHg3OCwgMHg0MywgMHhmMiwgMHg5NywgMHg2NywgMHhhYiwgMHhjYSwgMHhmOSwgMHhmMywgMHhhOCwKLSAgMHgzZCwgMHgyZSwgMHgxYywgMHg5NCwgMHhmNSwgMHgxNSwgMHg0MSwgMHhmNCwgMHgwNiwgMHg1MiwgMHg5ZSwgMHg1ZSwKLSAgMHg5MywgMHhmNywgMHgzOCwgMHhiMSwgMHg5MSwgMHhjNCwgMHgxMiwgMHhlZiwgMHg1NCwgMHg4YSwgMHg5NywgMHhhNSwKLSAgMHhmOSwgMHgyNiwgMHg2ZiwgMHgwNCwgMHg5ZSwgMHhiMywgMHgxNiwgMHg3OCwgMHhhYywgMHg1MywgMHhiNiwgMHhhYywKLSAgMHg5YSwgMHhhYiwgMHgyOCwgMHgzOSwgMHg4MywgMHhhMywgMHhkZCwgMHhjNywgMHhkZSwgMHhmMiwgMHg5YywgMHhlNCwKLSAgMHg3NSwgMHg1ZSwgMHhlNCwgMHhmNSwgMHgxNSwgMHg5MSwgMHhmZCwgMHg4MiwgMHg5MiwgMHgxNiwgMHgyZSwgMHhiMywKLSAgMHgxMCwgMHgwOCwgMHhjNSwgMHhiMCwgMHgyMywgMHg2MywgMHgwMiwgMHhiMCwgMHhiOSwgMHg1ZiwgMHhhMSwgMHg4ZCwKLSAgMHgwOSwgMHg2NSwgMHgwNCwgMHhmMywgMHhiZSwgMHg0YiwgMHgyNSwgMHhhMiwgMHhiNCwgMHg2ZiwgMHgwNSwgMHg4YywKLSAgMHhhNiwgMHg1YiwgMHg2NiwgMHg1ZiwgMHg3NywgMHg2MSwgMHhkNywgMHg1YywgMHhiOCwgMHhhZiwgMHhiNywgMHgzMCwKLSAgMHg3NSwgMHhiYSwgMHgwNCwgMHhhMCwgMHhhMiwgMHhkNywgMHg3NywgMHgyZSwgMHhkNiwgMHg1MCwgMHgyYywgMHhkOSwKLSAgMHhhMiwgMHhjMywgMHgzZCwgMHgxZCwgMHgxYiwgMHgxNiwgMHhiNCwgMHg0YiwgMHgxYSwgMHhmOSwgMHgzYywgMHhhNSwKLSAgMHg1NiwgMHgwYiwgMHhmNCwgMHgzNywgMHhmMywgMHhiMywgMHgxZiwgMHg4YywgMHgyZSwgMHgzYSwgMHg3YSwgMHg2NiwKLSAgMHg3ZiwgMHhiYywgMHhmZCwgMHhiMCwgMHg1ZSwgMHhjNCwgMHhmYiwgMHgxZCwgMHhkZCwgMHg4YywgMHg4YSwgMHgyYywKLSAgMHgyNCwgMHgyMiwgMHgwZCwgMHg4NywgMHhkNSwgMHgxNywgMHhmYywgMHg4ZiwgMHhiOCwgMHhjNywgMHgxYiwgMHg1OCwKLSAgMHgwMiwgMHhjNywgMHg2ZiwgMHgwZSwgMHgwZCwgMHg5MywgMHgxYiwgMHhiYiwgMHhiMiwgMHg0ZiwgMHgyZiwgMHhiNywKLSAgMHg1OCwgMHgyYiwgMHhhZiwgMHg2ZCwgMHhiMywgMHhkNiwgMHg0YywgMHg0YSwgMHgxNCwgMHhhMiwgMHg2OCwgMHhiMCwKLSAgMHg4MiwgMHg2NiwgMHhjMCwgMHg0OSwgMHg5OCwgMHhjOCwgMHgyNywgMHg3NywgMHhjOSwgMHgxNywgMHhhYSwgMHhjZCwKLSAgMHhjZCwgMHhhOSwgMHhmYiwgMHgyNCwgMHg1ZCwgMHg4NCwgMHg1MSwgMHg3MiwgMHg5MiwgMHg3MSwgMHgyMywgMHhiNiwKLSAgMHhjZCwgMHgyZiwgMHgzNywgMHgyMywgMHg2NSwgMHhkYSwgMHg5YiwgMHgyZiwgMHhiYywgMHg3NiwgMHgxNCwgMHhiNSwKLSAgMHhlYiwgMHhmMSwgMHhiOCwgMHhmOSwgMHgyNywgMHgzMiwgMHhlYiwgMHgwOSwgMHg3OSwgMHg4YiwgMHhiZiwgMHgyOSwKLSAgMHg0NywgMHhjMCwgMHg4NSwgMHgxMywgMHg5MiwgMHhmMywgMHhkMiwgMHg1MywgMHg3OSwgMHgyYiwgMHg2MCwgMHhiMiwKLSAgMHhlZCwgMHgxYywgMHhkMiwgMHgyNSwgMHhhMywgMHg3OCwgMHg1MywgMHgyNSwgMHg0NCwgMHg3YiwgMHhlZCwgMHhhYSwKLSAgMHhjYywgMHg2ZCwgMHgwNiwgMHg2NSwgMHhkYywgMHhjNSwgMHg5ZCwgMHgyMCwgMHhiYiwgMHg3MSwgMHhmYiwgMHg3NywKLSAgMHhkNywgMHgxZiwgMHg5YiwgMHg2NywgMHhjNCwgMHg1MywgMHg4MSwgMHgwYiwgMHhjZCwgMHhlOCwgMHhmOSwgMHgzMCwKLSAgMHgwYiwgMHhkOSwgMHhlNiwgMHgzNiwgMHhiZiwgMHhiZSwgMHhiYywgMHg4YywgMHgyNiwgMHhiYSwgMHg5YSwgMHgyZCwKLSAgMHhhMCwgMHg4MywgMHhhNywgMHgzNSwgMHg1ZiwgMHgxOCwgMHg3YiwgMHgwYiwgMHhmYSwgMHgwNiwgMHhjOSwgMHhmOSwKLSAgMHhmZSwgMHhhYSwgMHgxOCwgMHhhNywgMHhiYiwgMHg0NywgMHg5ZSwgMHhmMSwgMHg1NiwgMHhmMSwgMHhjMiwgMHgyZiwKLSAgMHgzYywgMHhlYywgMHg4OSwgMHg3YiwgMHg4MCwgMHgwYywgMHg4NCwgMHgwZSwgMHhjOCwgMHg5OSwgMHg4NSwgMHg5ZiwKLSAgMHhkYSwgMHhhMCwgMHhjNywgMHg0NSwgMHg2YSwgMHgyOCwgMHhlMywgMHg0ZSwgMHgxMiwgMHg4YywgMHhlNiwgMHg1NCwKLSAgMHgyYSwgMHgyNiwgMHhjNiwgMHg1NCwgMHhjMCwgMHhjMywgMHhlNiwgMHhlOCwgMHg0ZiwgMHgyOCwgMHg4NSwgMHg0OSwKLSAgMHhkNCwgMHhhNCwgMHg4YSwgMHhmNywgMHhiMSwgMHgxMCwgMHg2ZCwgMHg0MywgMHgyYSwgMHg5OSwgMHg2MCwgMHg5OCwKLSAgMHgyNCwgMHhkYSwgMHgwNiwgMHg0YSwgMHhmYywgMHgxNywgMHgyOCwgMHg1MiwgMHhlYSwgMHhmYSwgMHhjNiwgMHhhNSwKLSAgMHg2NCwgMHg0OSwgMHg0MSwgMHgxMiwgMHg1OSwgMHg1OSwgMHg3MSwgMHgzOSwgMHgyZCwgMHgyOCwgMHhiYSwgMHgwMiwKLSAgMHhkMywgMHhmMCwgMHg1YSwgMHhiMCwgMHg3YiwgMHg1NSwgMHhlYSwgMHhkZCwgMHg0OCwgMHgxNSwgMHgyYywgMHgwOCwKLSAgMHhjMywgMHg4YywgMHg3NiwgMHg3MCwgMHg0OSwgMHhiOCwgMHg1NCwgMHg2YywgMHg0YSwgMHg5OCwgMHg2NywgMHg3OCwKLSAgMHhiOSwgMHg0YywgMHhhOCwgMHhmZiwgMHhlNywgMHhmZSwgMHhjMSwgMHhlNywgMHg5ZiwgMHg0NywgMHgxZCwgMHg3YywKLSAgMHgwYywgMHhiYiwgMHg2MSwgMHg2OCwgMHg5MCwgMHhiNiwgMHhjOSwgMHhlMSwgMHgyNywgMHgwZiwgMHgyYywgMHgxMiwKLSAgMHgzZSwgMHg3ZCwgMHg5ZCwgMHgwOCwgMHg0YywgMHhiZCwgMHg1YywgMHgyNSwgMHhmYSwgMHhjZSwgMHhkMiwgMHg1NywKLSAgMHg0MywgMHgyNywgMHgyZiwgMHg5YywgMHgyZiwgMHgwYiwgMHhkMiwgMHgyYSwgMHg4NCwgMHg4YiwgMHg0MSwgMHhiOSwKLSAgMHgyMiwgMHhhZSwgMHhiMSwgMHhjOCwgMHhmYiwgMHgzMCwgMHgyMiwgMHgzMywgMHg0OSwgMHhkMywgMHgxNiwgMHgwOCwKLSAgMHgxMSwgMHg0MSwgMHg5MiwgMHg5NSwgMHhiYSwgMHgwMiwgMHg2ZSwgMHg4YiwgMHg2YiwgMHgxNCwgMHgwNywgMHg5NCwKLSAgMHgyZiwgMHg3MSwgMHhmNiwgMHgxZiwgMHhlOCwgMHhhYSwgMHhhNywgMHhjZSwgMHg3ZiwgMHgzMywgMHhkMSwgMHgwYywKLSAgMHg5OCwgMHg0OSwgMHg2NiwgMHg3MSwgMHg3OCwgMHhkOCwgMHhkMSwgMHhkMSwgMHg4MSwgMHg0YiwgMHg2MywgMHhmZiwKLSAgMHg2MywgMHg0MSwgMHhjNSwgMHhiZSwgMHhkNCwgMHgxNiwgMHhjOSwgMHgwYywgMHhkZiwgMHgxOSwgMHgwZSwgMHhkMCwKLSAgMHgxNywgMHg5NywgMHg1OSwgMHgxMywgMHgxNiwgMHhhOCwgMHg3YSwgMHg2NSwgMHgxZCwgMHg2YiwgMHgwNiwgMHg4ZiwKLSAgMHhkYywgMHgwNiwgMHgyOSwgMHhhZiwgMHg3ZCwgMHgyMSwgMHgxZCwgMHgzYywgMHhmMiwgMHgwYiwgMHhiZCwgMHhhMCwKLSAgMHhkYSwgMHg0NSwgMHhlOCwgMHg0YiwgMHg0ZSwgMHhiNiwgMHg3ZCwgMHhjMSwgMHg4ZSwgMHgxNiwgMHgyZSwgMHgzNywKLSAgMHg2NiwgMHgwZSwgMHhmNSwgMHg2NSwgMHgxNCwgMHgxMCwgMHhkMywgMHhiNSwgMHhiZiwgMHgwNCwgMHg0MCwgMHg2MywKLSAgMHhkMywgMHgxOCwgMHhjZCwgMHhkYSwgMHg3MSwgMHg2ZiwgMHg1NCwgMHgwOCwgMHg1OSwgMHgwOCwgMHgzZSwgMHhkOSwKLSAgMHg1ZiwgMHhhOCwgMHhjOCwgMHhmMywgMHgxOCwgMHgxOCwgMHhkMywgMHgwYiwgMHhlYiwgMHhiMSwgMHg5NiwgMHhiZSwKLSAgMHg1OCwgMHg1NCwgMHhhMSwgMHg0NSwgMHhmMywgMHg4OSwgMHhlZCwgMHg4NCwgMHgzNiwgMHhiNSwgMHgyMCwgMHgwZSwKLSAgMHg2MSwgMHg5ZSwgMHgwZSwgMHhhYywgMHgxZSwgMHg3YSwgMHhkNywgMHhkYiwgMHhhNywgMHhmMCwgMHhlYywgMHg1ZCwKLSAgMHhlZSwgMHhhNSwgMHhjMywgMHg4YywgMHhlMywgMHgzZCwgMHg3NiwgMHhkMCwgMHg3MywgMHg3ZSwgMHgwOCwgMHgzNywKLSAgMHhiNSwgMHg0ZSwgMHg2ZiwgMHg1YywgMHg4YSwgMHg2ZSwgMHg1YywgMHg4ZSwgMHhkNiwgMHhlOSwgMHgyMCwgMHgzYSwKLSAgMHg0MCwgMHg1OSwgMHg5NywgMHg2NSwgMHhjNiwgMHhiMywgMHgwNCwgMHhmYywgMHgxMiwgMHg2ZiwgMHhlZCwgMHgwYiwKLSAgMHgzOCwgMHhhZSwgMHg5YSwgMHg2YSwgMHgzNSwgMHgyNSwgMHhiZCwgMHgxMiwgMHg0NiwgMHgzOSwgMHhiZSwgMHgxNCwKLSAgMHg2YiwgMHhmNCwgMHhhOCwgMHg2MSwgMHgzNiwgMHhiYiwgMHg2MiwgMHhiNCwgMHg2MywgMHhjNSwgMHg5OSwgMHg2MSwKLSAgMHg4YiwgMHgwNSwgMHgzZCwgMHg5NiwgMHgyZCwgMHgzYywgMHgwMSwgMHgxNywgMHhlNiwgMHgzYSwgMHg4NSwgMHg2MSwKLSAgMHhiNCwgMHg0NSwgMHg3OCwgMHgwNiwgMHg2NywgMHg0YiwgMHg5ZCwgMHhmZiwgMHg5ZCwgMHhiNSwgMHgzMiwgMHgyOSwKLSAgMHhmMCwgMHg1MCwgMHgyYywgMHg0ZCwgMHgzOCwgMHgzOCwgMHgzMiwgMHhlYSwgMHhlZSwgMHg5MiwgMHhiYywgMHhhMiwKLSAgMHgwNiwgMHhkNiwgMHgyYywgMHhjYSwgMHg4OSwgMHhkZSwgMHgwMiwgMHgzZSwgMHhlZCwgMHhkNywgMHgzOCwgMHhiMSwKLSAgMHgzOCwgMHgyMiwgMHgzNSwgMHhhZSwgMHhjYSwgMHgyZSwgMHg1NywgMHgyNCwgMHhlOCwgMHhiMCwgMHg0ZCwgMHg1YiwKLSAgMHg4YSwgMHg5ZCwgMHhhZCwgMHg0ZiwgMHgyYywgMHhmMywgMHgyNSwgMHhkYSwgMHg1ZSwgMHgxOSwgMHg3YiwgMHgyZSwKLSAgMHhlOCwgMHhmOCwgMHg2YiwgMHhkZSwgMHhkYSwgMHhjNiwgMHg5MiwgMHgwYiwgMHhiMywgMHg1YiwgMHhjZCwgMHg4YSwKLSAgMHg3MiwgMHg1MSwgMHgwNCwgMHgzNiwgMHhjYywgMHhiMCwgMHhhZiwgMHg5ZiwgMHgxMSwgMHgwMCwgMHgyYSwgMHg2NSwKLSAgMHhlNSwgMHhkYywgMHhhNywgMHg2OSwgMHg2NiwgMHgyZCwgMHhlZiwgMHgyNCwgMHhiYiwgMHgwOCwgMHg2YywgMHg5NywKLSAgMHgwYywgMHhmOSwgMHg4ZiwgMHgyNCwgMHgxNywgMHgzOCwgMHhhNSwgMHhiMCwgMHg1MSwgMHgwZSwgMHhjMCwgMHg0ZCwKLSAgMHg0YywgMHhjOSwgMHgxMywgMHhmMywgMHgyNywgMHgwYSwgMHgwNSwgMHhjOCwgMHg1NSwgMHg4NiwgMHhiNiwgMHg4MiwKLSAgMHg1ZCwgMHhjMSwgMHgxNCwgMHhiYSwgMHhjMywgMHgwMSwgMHgzZSwgMHg1NywgMHhiNSwgMHgyNywgMHgxZiwgMHg1NCwKLSAgMHg1OSwgMHgzYSwgMHg2MywgMHgwZCwgMHgxOCwgMHgyNiwgMHg5YywgMHg0YiwgMHg1NiwgMHgwNSwgMHgxYywgMHgyZSwKLSAgMHhhZCwgMHhiOSwgMHgyZSwgMHhhZSwgMHgwZSwgMHg3YiwgMHg3YiwgMHg0MywgMHgwNCwgMHhiMCwgMHg1NiwgMHhmZCwKLSAgMHhiMywgMHgzNSwgMHg3OCwgMHg4OSwgMHhmNSwgMHg0NSwgMHg2MCwgMHhmNiwgMHgwMCwgMHgzMiwgMHhmZSwgMHg1YywKLSAgMHgzYywgMHhhOCwgMHhkNCwgMHgyOSwgMHg1NSwgMHgxOCwgMHg1YSwgMHhkYiwgMHhlZSwgMHgxOCwgMHg4OCwgMHg4NiwKLSAgMHhiOCwgMHg2OSwgMHg3OCwgMHgyNywgMHhlZCwgMHhmZCwgMHhhNiwgMHgzMCwgMHhjZCwgMHgxOCwgMHhiNiwgMHg5YiwKLSAgMHhjNSwgMHg1MSwgMHhhOCwgMHgyOCwgMHgxYSwgMHg0NywgMHg3NywgMHhjNCwgMHg2MiwgMHgyMiwgMHg1YiwgMHgwNiwKLSAgMHgwMiwgMHg4NSwgMHhhYSwgMHg0YSwgMHgwZCwgMHhiZiwgMHhmYywgMHg3OSwgMHg3OSwgMHhkOSwgMHg4YiwgMHhjOSwKLSAgMHhjZCwgMHgwZCwgMHhkNiwgMHg4YywgMHhhZCwgMHgxMCwgMHhmNiwgMHg3ZiwgMHgwNCwgMHgxZCwgMHgwZSwgMHg1ZiwKLSAgMHgyNywgMHgzMiwgMHg5ZiwgMHgyZiwgMHhiZSwgMHg2YywgMHgwZCwgMHhhOCwgMHg1ZCwgMHg4ZSwgMHhmYywgMHgyNiwKLSAgMHgxZSwgMHgwMiwgMHhkZSwgMHgzNCwgMHhiZCwgMHhjYywgMHg3YiwgMHgzNywgMHg4MSwgMHg3NywgMHgwMSwgMHgwZCwKLSAgMHg3MCwgMHg2YywgMHg0ZCwgMHg0OSwgMHg3ZCwgMHg1NSwgMHg2NiwgMHg3MiwgMHg3MiwgMHgwNSwgMHgyYywgMHg2MCwKLSAgMHhjNywgMHgzNywgMHgzNCwgMHg5NSwgMHgyMCwgMHhlYSwgMHg2MCwgMHhlZiwgMHg5ZiwgMHgzMiwgMHg2NCwgMHhmYSwKLSAgMHg3ZiwgMHg5NCwgMHg1NywgMHgwNSwgMHhmZCwgMHg4MywgMHg4NiwgMHhhNywgMHhkMSwgMHhiZiwgMHhkOCwgMHhkYiwKLSAgMHg4YiwgMHhjZSwgMHg3YSwgMHhmZCwgMHg4MSwgMHg2MSwgMHhhYSwgMHgyNCwgMHg4NCwgMHhhNCwgMHg0MCwgMHhjMCwKLSAgMHhlMywgMHg2OSwgMHgyZCwgMHg4MywgMHg3ZiwgMHg4NCwgMHgwYSwgMHhlOCwgMHg4OCwgMHgxZiwgMHgzMiwgMHgwNSwKLSAgMHg3YiwgMHgwNSwgMHg2MiwgMHhhNSwgMHhmNywgMHgzMiwgMHg2NywgMHg1ZiwgMHg0NywgMHg5OSwgMHg2MSwgMHg2ZSwKLSAgMHgyNSwgMHgwMywgMHhjMCwgMHhkMCwgMHgyMiwgMHhiOSwgMHgxMywgMHhmZCwgMHgwYiwgMHhkZiwgMHhhMCwgMHg0YywKLSAgMHg4MCwgMHhiYiwgMHgyZiwgMHg1ZSwgMHg1YywgMHhhZCwgMHgyZSwgMHgzMywgMHhmMCwgMHhjYiwgMHhlNiwgMHhiNiwKLSAgMHhkOSwgMHg3OCwgMHhkMCwgMHhhYSwgMHhkNSwgMHgzNywgMHhjMSwgMHg2OSwgMHg1ZCwgMHg4ZCwgMHg5NywgMHhkMiwKLSAgMHg4ZSwgMHg2YSwgMHhiNSwgMHg5NiwgMHhlMiwgMHhjMCwgMHg4MSwgMHgxNSwgMHhhNCwgMHhkYSwgMHhkYiwgMHg1NCwKLSAgMHg4NywgMHg2ZSwgMHhhMSwgMHgyOCwgMHgyYiwgMHhhMSwgMHgwMywgMHhkZSwgMHgzNCwgMHgwMSwgMHgzMiwgMHg3MiwKLSAgMHhkMCwgMHgyOSwgMHg2YiwgMHg1NiwgMHg3MCwgMHg5MywgMHg0ZCwgMHhiZSwgMHhmOCwgMHg5MiwgMHhmYywgMHg1OSwKLSAgMHhiNywgMHg2OCwgMHgzMiwgMHhjMywgMHhkYSwgMHgyYywgMHg2ZCwgMHhkYywgMHgwZSwgMHg3YSwgMHhjZSwgMHgyNCwKLSAgMHhkZSwgMHgyMiwgMHhiYSwgMHg4MywgMHg5NCwgMHg1NSwgMHhmZiwgMHhiMCwgMHg1ZSwgMHhlMSwgMHhhYSwgMHgzNywKLSAgMHhlNCwgMHg0NSwgMHg1OSwgMHhhZSwgMHgxZCwgMHg5MSwgMHg3NiwgMHg4NSwgMHhkYiwgMHgxOCwgMHg2MiwgMHg1ZiwKLSAgMHhiYywgMHg2NCwgMHg3NiwgMHg0ZSwgMHhmMSwgMHg3NiwgMHg2NSwgMHhmOSwgMHg0YywgMHgxMiwgMHg0ZSwgMHhjMCwKLSAgMHhmMCwgMHg1ZCwgMHg4OCwgMHg4MSwgMHhhNCwgMHgyMCwgMHhkZSwgMHhjYSwgMHhiNiwgMHhiOSwgMHg0YSwgMHg5YSwKLSAgMHgyZiwgMHgwNiwgMHg1YSwgMHhkNywgMHgxOSwgMHg2OSwgMHgyYiwgMHhlNiwgMHhkNiwgMHhjMCwgMHhkNywgMHgxMCwKLSAgMHg1NCwgMHg0MSwgMHg3ZiwgMHhmZCwgMHg5MywgMHg3ZCwgMHg5ZCwgMHhmZSwgMHg2MywgMHg2ZSwgMHgzMSwgMHhkYSwKLSAgMHgzNiwgMHhhYywgMHg1OSwgMHhjZCwgMHhmMSwgMHg4NSwgMHhmZCwgMHhlMiwgMHgwZSwgMHhkMiwgMHgwZiwgMHg2YywKLSAgMHg5OCwgMHg3NSwgMHg3MywgMHhjMCwgMHhmYSwgMHhmNSwgMHg5ZiwgMHgzNiwgMHg1YiwgMHg3MSwgMHgyYSwgMHhjNCwKLSAgMHg5MCwgMHgzOCwgMHg0OCwgMHgzNSwgMHgyYiwgMHgwMywgMHg3NSwgMHg5NiwgMHg3MiwgMHhmMSwgMHgyNSwgMHhjYSwKLSAgMHg0NCwgMHhiMywgMHhlZiwgMHg5OSwgMHgzOCwgMHg2OSwgMHhkYiwgMHg4OSwgMHhjZSwgMHhmZCwgMHhjNywgMHgwZCwKLSAgMHgzYiwgMHhmYiwgMHgxZiwgMHgzNywgMHhkYywgMHhmYywgMHg3ZiwgMHhkYywgMHg3MCwgMHgyYiwgMHhmOCwgMHg3MSwKLSAgMHg2MywgMHg4MywgMHg1YiwgMHgzMiwgMHg4NywgMHg4NiwgMHhmMCwgMHgyZiwgMHgzZCwgMHhmNCwgMHg0ZCwgMHhmZSwKLSAgMHhhOCwgMHhmYiwgMHhhNiwgMHhmNywgMHg0OSwgMHhlZiwgMHg4YiwgMHgxYiwgMHg5YiwgMHhlYiwgMHgzNiwgMHhjZCwKLSAgMHhhNSwgMHgwNiwgMHhlNCwgMHgxNywgMHgxZSwgMHgwYSwgMHgzMSwgMHg2ZiwgMHgyMCwgMHhhOSwgMHg1NywgMHhiMiwKLSAgMHg0OSwgMHhiYSwgMHg0YiwgMHg2ZSwgMHg1NywgMHgxMCwgMHhkMSwgMHhiYSwgMHgwYiwgMHgwMCwgMHhiYiwgMHhkYywKLSAgMHgxMywgMHhiNCwgMHhlNSwgMHhhZSwgMHg4MywgMHhhMSwgMHhkNywgMHg5OSwgMHhjNywgMHg0MiwgMHgxZCwgMHhkYiwKLSAgMHg4MCwgMHgyMSwgMHhlMCwgMHgyZCwgMHg2NywgMHhhMSwgMHgxYywgMHhiMiwgMHhhZiwgMHgwNywgMHg3MiwgMHhlNywKLSAgMHgzZiwgMHhjZCwgMHgxNywgMHg2YywgMHhkZSwgMHhiNSwgMHgzNCwgMHgxNSwgMHg2MSwgMHhkNCwgMHgwMSwgMHgyZCwKLSAgMHg5NywgMHgyOSwgMHgzOCwgMHg1ZiwgMHg0NSwgMHhlYSwgMHhhMCwgMHgwOSwgMHhiNywgMHgzMCwgMHg2ZiwgMHg1YywKLSAgMHgwMywgMHhjOSwgMHg4MCwgMHhlNSwgMHgyZSwgMHg3MiwgMHhmNCwgMHhiMywgMHgzNCwgMHhjYiwgMHg5YSwgMHhiMywKLSAgMHg2MSwgMHhiYSwgMHg0MywgMHhkMiwgMHgwMCwgMHg5NSwgMHgwZiwgMHg2OCwgMHgzMywgMHg1OSwgMHhjMywgMHgzNCwKLSAgMHgxNywgMHg5YiwgMHhiNSwgMHgxNSwgMHg4NCwgMHhlYywgMHhhMywgMHgwYywgMHgyMiwgMHg4YywgMHg0ZCwgMHgxYSwKLSAgMHhiNCwgMHhhYSwgMHhiZiwgMHhkOCwgMHhhOCwgMHhhOCwgMHg5YiwgMHg3OCwgMHg3MiwgMHg1OSwgMHgxOSwgMHhmZCwKLSAgMHhmNSwgMHg0ZiwgMHg0NCwgMHg1YiwgMHgyYiwgMHg3MywgMHg1YSwgMHhlZSwgMHhhMiwgMHhkZSwgMHgwZSwgMHgxNywKLSAgMHg3NywgMHg2NiwgMHhmMiwgMHg5YiwgMHhiZiwgMHg4NCwgMHgzMiwgMHgyYywgMHg0YiwgMHg5YiwgMHhjZCwgMHgzNCwKLSAgMHhhZiwgMHhhMSwgMHg5MywgMHhhMCwgMHgyNiwgMHhiNywgMHgxNiwgMHg0NywgMHhhNywgMHg3NywgMHg1MiwgMHg5ZiwKLSAgMHhmOSwgMHgyMiwgMHgwNiwgMHg4MywgMHgxYSwgMHgyYywgMHhjNCwgMHhlMywgMHhiYywgMHgzMCwgMHhkMSwgMHhiZSwKLSAgMHgzOCwgMHhmZCwgMHhmNiwgMHg0ZiwgMHgzYSwgMHhjMCwgMHg4ZiwgMHgxYiwgMHgzZiwgMHgwYywgMHhmOSwgMHhhNywKLSAgMHgwMCwgMHg4MCwgMHg3OCwgMHg5ZSwgMHg5YywgMHg3ZSwgMHg0YiwgMHhjNCwgMHhmZCwgMHhjYiwgMHgxOCwgMHhkOCwKLSAgMHhiYSwgMHgwZiwgMHg3YywgMHhjOSwgMHg3ZiwgMHgwMSwgMHg2NSwgMHhhZiwgMHgxYiwgMHhmNiwgMHhkYywgMHg0YiwKLSAgMHg5MywgMHhmYiwgMHhjMiwgMHhhOCwgMHg0MiwgMHhkOSwgMHgxZCwgMHg4YSwgMHg0YywgMHg5MSwgMHgzMSwgMHhiYSwKLSAgMHg1YywgMHg1MiwgMHhlOSwgMHhhOCwgMHg0MiwgMHgxZSwgMHgzNCwgMHgwYywgMHg3OSwgMHgwMCwgMHhiZCwgMHg3MiwKLSAgMHg1MiwgMHhjMiwgMHg1NywgMHhkMCwgMHg4NCwgMHgwZCwgMHgxNCwgMHgwMCwgMHhlMCwgMHhmZSwgMHgzNywgMHhhMSwKLSAgMHgyZiwgMHgyMiwgMHhhOSwgMHgzYiwgMHhkMSwgMHg4MSwgMHhkYiwgMHgzOSwgMHg2NiwgMHg5YSwgMHg2ZiwgMHhhMiwKLSAgMHhkNiwgMHg4NSwgMHhiOSwgMHgwZiwgMHg0NywgMHg5MSwgMHg0ZSwgMHgzOSwgMHgwZSwgMHhhZCwgMHg4ZSwgMHhmZiwKLSAgMHgwNiwgMHg3ZCwgMHgwYywgMHhhMCwgMHg3YywgMHg2NCwgMHg1YSwgMHg1MSwgMHhkNywgMHg0ZCwgMHhjZSwgMHgxMCwKLSAgMHg1YiwgMHg3MCwgMHhlNywgMHg1ZCwgMHhmOCwgMHhiYiwgMHgxMSwgMHg1NSwgMHgzMiwgMHhmNCwgMHgxMiwgMHgwOSwKLSAgMHgwMSwgMHg0OCwgMHg1NCwgMHg1MiwgMHhjYSwgMHg5MCwgMHgyZSwgMHhjYSwgMHhmOSwgMHg0YywgMHhhMiwgMHgxMSwKLSAgMHg4NiwgMHhmMiwgMHhmOSwgMHg4NCwgMHg2ZCwgMHhhZiwgMHg1NSwgMHhhMywgMHg2YSwgMHhkMCwgMHg0NiwgMHg0OCwKLSAgMHg4NCwgMHg0MiwgMHgzZSwgMHgxYiwgMHg0MywgMHgwYSwgMHg5MCwgMHgzMCwgMHhhMiwgMHhhNCwgMHhmNywgMHg3MSwKLSAgMHgxMywgMHgwMiwgMHg0OSwgMHgzYywgMHgwMSwgMHhlOSwgMHg5YiwgMHg4OSwgMHgyYywgMHgyNiwgMHgxOSwgMHhiYywKLSAgMHg0ZSwgMHg1YSwgMHg5NCwgMHgzZiwgMHgxNCwgMHhiZiwgMHg3MCwgMHhjNCwgMHg3MywgMHhkMywgMHhiZCwgMHgzNiwKLSAgMHg0OCwgMHg2NSwgMHg5MywgMHhhYSwgMHg3YywgMHg4MiwgMHgwNSwgMHhmYywgMHgwNiwgMHgyZSwgMHhkNSwgMHg1YywKLSAgMHgyMSwgMHg2NywgMHhhNCwgMHhmOSwgMHgxOSwgMHg3MiwgMHgxMSwgMHhkMiwgMHhmOCwgMHg2MiwgMHg2ZCwgMHhjZSwKLSAgMHgwYywgMHhlZCwgMHg1MCwgMHg3OCwgMHhkYiwgMHg5MiwgMHhkZiwgMHg4YiwgMHgwNywgMHhkOSwgMHg0YiwgMHhhZCwKLSAgMHhjMSwgMHhlYSwgMHhlNSwgMHhiYywgMHg0NiwgMHhjMSwgMHgwYiwgMHgzZiwgMHg0OCwgMHg0YSwgMHhlOCwgMHg3MCwKLSAgMHhlZiwgMHhiOSwgMHhkNywgMHhjYSwgMHg4ZSwgMHg3ZiwgMHgxNiwgMHgxZiwgMHhkZSwgMHg0NywgMHhmNSwgMHg5MiwKLSAgMHg1OSwgMHhlNSwgMHhiNSwgMHg2YywgMHhmZiwgMHg5YSwgMHhmMSwgMHhmNywgMHhlZCwgMHhmOCwgMHg5ZiwgMHg0NSwKLSAgMHg4MCwgMHhiNCwgMHgxOCwgMHhlYSwgMHgyYSwgMHhmZSwgMHhkOSwgMHg3MywgMHgzZiwgMHgwOSwgMHg1YywgMHhkZCwKLSAgMHhhNywgMHhjZSwgMHg4OSwgMHhkMSwgMHg3MiwgMHgxZiwgMHg0OCwgMHhhNiwgMHgxZiwgMHhjMywgMHg2YywgMHgzMSwKLSAgMHg4MiwgMHg0ZSwgMHhjNCwgMHhlYSwgMHg5ZiwgMHg3MSwgMHg4NiwgMHgxMCwgMHhhZiwgMHhjMywgMHg2YywgMHg2MywKLSAgMHhkNywgMHgzNCwgMHgwNCwgMHg0NywgMHgxNiwgMHhiYSwgMHgyYSwgMHgxNywgMHg4NCwgMHhkMCwgMHgzZCwgMHg3YiwKLSAgMHhlZSwgMHhmYSwgMHgyMiwgMHgzMywgMHgyOCwgMHg1MCwgMHhlZSwgMHg5NywgMHg1NiwgMHgzOSwgMHgxMCwgMHg4NSwKLSAgMHhiMCwgMHhhOCwgMHhiZCwgMHg4NSwgMHg4MiwgMHgxZiwgMHg3YywgMHgwYSwgMHhkYywgMHg1OCwgMHgxMCwgMHhmYSwKLSAgMHhiZCwgMHhjNiwgMHhiZCwgMHg5YiwgMHg1YiwgMHg5YiwgMHhlMiwgMHg1MCwgMHhhMSwgMHg4ZiwgMHhhNSwgMHgwOCwKLSAgMHg1MywgMHg4OCwgMHgwMywgMHgzOSwgMHgyNSwgMHhlNCwgMHgwNywgMHg1ZSwgMHhmZSwgMHgzMCwgMHhhMiwgMHg3NSwKLSAgMHgzYywgMHg5NywgMHhlYywgMHgwNiwgMHhiOSwgMHgxMywgMHg4YywgMHhmYywgMHg4NiwgMHg0NCwgMHgxNiwgMHgzNSwKLSAgMHg5NywgMHgxOSwgMHhhNSwgMHhiMSwgMHg4NSwgMHhmNiwgMHgxNiwgMHgxYSwgMHhjNywgMHhkZSwgMHhmZSwgMHhjYSwKLSAgMHg2MCwgMHg2YywgMHg5MywgMHgyMiwgMHg1YiwgMHg1ZCwgMHg2ZSwgMHhjNCwgMHhlNiwgMHgxNywgMHhkYiwgMHg5YiwKLSAgMHg3NiwgMHg2OSwgMHhmZCwgMHhlNiwgMHg1MCwgMHgxYiwgMHgwOCwgMHg0ZSwgMHg0MywgMHg4ZiwgMHgzNiwgMHg2NywKLSAgMHg4NiwgMHg3ZCwgMHg2ZSwgMHgwYiwgMHhjYSwgMHg3OCwgMHg0OCwgMHhiMiwgMHgyMSwgMHgwZSwgMHgzMywgMHgwZSwKLSAgMHg4OSwgMHhjYSwgMHg3OCwgMHgxZCwgMHg4YywgMHhmMiwgMHg5MywgMHgxNywgMHhiOCwgMHg5YiwgMHgwYywgMHhkZSwKLSAgMHhjNSwgMHgyNCwgMHg5ZSwgMHhjZSwgMHgxYiwgMHgyYSwgMHhkNCwgMHg0MiwgMHgyOSwgMHgxZCwgMHhjMywgMHhiNywKLSAgMHhkNiwgMHhjZiwgMHgzZCwgMHg2ZCwgMHgzYywgMHg3MiwgMHgzZCwgMHgyOSwgMHg4NiwgMHg4MywgMHg0ZSwgMHgzYiwKLSAgMHhlMiwgMHgwNywgMHhmMSwgMHgzYywgMHgxOSwgMHhlYiwgMHg1NCwgMHhlZiwgMHhjZCwgMHgyZiwgMHhiNiwgMHg1OCwKLSAgMHg1ZSwgMHgzOSwgMHgzZiwgMHg5YSwgMHhmNywgMHhlZCwgMHhjZCwgMHhlNCwgMHhjNywgMHgzOCwgMHhhYSwgMHg0MSwKLSAgMHhjMiwgMHhlZiwgMHg3YSwgMHhmNiwgMHg4MSwgMHhkMCwgMHhlYywgMHg3ZCwgMHg2ZiwgMHgyNCwgMHgyZiwgMHgyNiwKLSAgMHhlNSwgMHhlYywgMHhlZSwgMHhjZiwgMHg4OCwgMHgzOCwgMHhjOSwgMHgyYiwgMHgyZiwgMHg3NiwgMHhmMCwgMHhhMywKLSAgMHg4ZSwgMHhjYSwgMHhkYywgMHgzNywgMHgxMCwgMHg0NiwgMHgzMSwgMHg0NywgMHg4NSwgMHgzZiwgMHhiZiwgMHhhNCwKLSAgMHhjNywgMHhkNSwgMHg2MiwgMHhkOCwgMHg0YywgMHg0NiwgMHgyMywgMHhjMywgMHg4OCwgMHhlYSwgMHgwNSwgMHg3YSwKLSAgMHgzNiwgMHhhZSwgMHgxMSwgMHgyYywgMHgwMCwgMHgzMCwgMHhkNSwgMHg3NiwgMHg1ZCwgMHg4MiwgMHg0MCwgMHgwNSwKLSAgMHg3ZiwgMHg4ZSwgMHhkYSwgMHhkNiwgMHhlYywgMHg3OCwgMHhlNCwgMHg1ZiwgMHg1NSwgMHg1ZiwgMHg5OCwgMHgzMSwKLSAgMHgwZiwgMHg2ZCwgMHg4YSwgMHg2NCwgMHg2ZiwgMHgwMywgMHg3OCwgMHg2NiwgMHg4OCwgMHgxZSwgMHgyMCwgMHhjOCwKLSAgMHhlNywgMHg5MywgMHg1YywgMHhiMCwgMHg0ZCwgMHg2NywgMHg2NSwgMHgwYiwgMHg5NywgMHg5OSwgMHg0MSwgMHg3YSwKLSAgMHg4YywgMHg3OCwgMHg4ZiwgMHg0MywgMHg1ZiwgMHgyMiwgMHhlNywgMHg5MCwgMHg2MiwgMHg0MywgMHhmOCwgMHhiZCwKLSAgMHgzNSwgMHg2MCwgMHg2NCwgMHg2ZSwgMHhjMywgMHgyMywgMHgwMSwgMHg1YSwgMHgxNCwgMHhmZSwgMHgzMiwgMHg0OCwKLSAgMHg5ZSwgMHg0ZSwgMHhmMiwgMHhjNiwgMHhlMSwgMHhjMiwgMHgwNSwgMHhkOSwgMHgxYiwgMHg2YywgMHhlOSwgMHhkNywKLSAgMHhjOSwgMHhlNywgMHg0MywgMHg3YSwgMHhjZSwgMHg2YiwgMHgyOSwgMHgyZSwgMHg3NCwgMHhkZiwgMHhjZSwgMHhkYywKLSAgMHgxOCwgMHg4OCwgMHg1ZSwgMHgzOCwgMHg0NCwgMHg1YSwgMHg2YSwgMHhhNCwgMHgxYywgMHg5MywgMHg1NiwgMHgzNiwKLSAgMHg0OSwgMHhlYiwgMHhlYywgMHhjOSwgMHgyMywgMHhmZSwgMHgyNCwgMHg2ZiwgMHg1MiwgMHhhZCwgMHhkNywgMHhkZSwKLSAgMHg3OSwgMHg1ZSwgMHg1ZCwgMHgxNiwgMHg1YiwgMHg2YiwgMHg0MSwgMHhkZCwgMHg4YiwgMHgwMCwgMHg1NCwgMHgwOSwKLSAgMHg1MiwgMHhjZSwgMHhhOCwgMHg0MywgMHgyNCwgMHg5NywgMHg2MCwgMHg5MCwgMHgzNCwgMHgzNSwgMHg4YSwgMHhlNCwKLSAgMHg2NSwgMHg4MywgMHg3YSwgMHhkMiwgMHhhNywgMHg0ZiwgMHhiYywgMHg0OSwgMHg4ZiwgMHhlZSwgMHhiMSwgMHhkMCwKLSAgMHhiYiwgMHg4YywgMHg1NCwgMHhkNiwgMHhkOCwgMHg1ZCwgMHg5MywgMHhhNSwgMHhkOCwgMHhlMCwgMHg1ZSwgMHg5MiwKLSAgMHg4ZiwgMHg4MywgMHg5MSwgMHgyNCwgMHg2NSwgMHg5MSwgMHhkNiwgMHhhYiwgMHg3OCwgMHhkZiwgMHgzNSwgMHhmMiwKLSAgMHgyZiwgMHhjMSwgMHg5ZiwgMHg5NCwgMHg3NCwgMHhiYSwgMHgxZiwgMHg1ZSwgMHg0YiwgMHhkNCwgMHg5ZSwgMHg4OSwKLSAgMHhhNCwgMHhlZiwgMHhmMywgMHgyNCwgMHg5OCwgMHhiMCwgMHhlZiwgMHhhNywgMHg2YiwgMHgwYSwgMHgxZSwgMHg1YywKLSAgMHhhYywgMHgyYSwgMHg0OCwgMHgxZiwgMHg3OSwgMHg4YywgMHg5NSwgMHgwNCwgMHhhZCwgMHg1MiwgMHgxNSwgMHgzZCwKLSAgMHhmZCwgMHhjZCwgMHhlMSwgMHhkYiwgMHhmNywgMHg4NywgMHgyNywgMHgwZiwgMHg2ZiwgMHgxZCwgMHhkNywgMHhlYSwKLSAgMHg0NiwgMHhiYSwgMHhmNiwgMHgzNSwgMHgwZiwgMHg5NiwgMHhhMiwgMHgwMywgMHhkYywgMHg3NiwgMHgzYywgMHhlOCwKLSAgMHgwMSwgMHhiMiwgMHgwOSwgMHhhMiwgMHgwZCwgMHgwNCwgMHg2YywgMHhkMywgMHhjZCwgMHhkNSwgMHhhNiwgMHg5MiwKLSAgMHg2MSwgMHgyMiwgMHgyZCwgMHg0YSwgMHgwZCwgMHg4OSwgMHg2MywgMHhiYSwgMHg3MSwgMHg5MSwgMHg4NywgMHhjNCwKLSAgMHhjNSwgMHhiZCwgMHhhYywgMHhmZCwgMHhiNCwgMHg5NiwgMHhjNiwgMHhiZCwgMHgxYiwgMHhmYSwgMHgzZSwgMHhiZCwKLSAgMHhiZSwgMHgyMSwgMHhhNSwgMHg0MywgMHgxNiwgMHgyNSwgMHgyNCwgMHg0MiwgMHhlNSwgMHgxNiwgMHhkNSwgMHhjNCwKLSAgMHg2NiwgMHg1YywgMHgyZCwgMHgxOSwgMHg2MCwgMHg3YiwgMHgyNiwgMHhjMiwgMHhhYywgMHhlNSwgMHg3NCwgMHgyYiwKLSAgMHgyZiwgMHgyZSwgMHhiYywgMHhlMiwgMHg4OSwgMHg2ZSwgMHg2NCwgMHhlZiwgMHhlNSwgMHhjYiwgMHg3ZSwgMHhjMCwKLSAgMHg4NSwgMHg0ZiwgMHgwOSwgMHg3ZiwgMHhkZCwgMHhhOSwgMHg0NywgMHhjMiwgMHgzNiwgMHgzYSwgMHhlZSwgMHgzZSwKLSAgMHg2YywgMHg0YSwgMHg0NiwgMHgyMywgMHg3OSwgMHgyMSwgMHg3MywgMHg4YiwgMHhlZiwgMHgyYSwgMHg0MywgMHg4ZiwKLSAgMHg3OSwgMHhkMCwgMHgzMSwgMHhhYSwgMHhlNCwgMHhhMiwgMHgyYiwgMHhmOSwgMHhmOCwgMHhlOCwgMHgxZCwgMHhiNiwKLSAgMHhlYiwgMHhlYywgMHg3MCwgMHgzYywgMHhiNiwgMHg1OCwgMHgyMCwgMHg5MiwgMHhlMSwgMHgxMywgMHgxOCwgMHg2MywKLSAgMHgwOCwgMHhmNiwgMHg3OSwgMHhhZCwgMHhiMSwgMHg0NiwgMHgyZSwgMHgzNywgMHg0YywgMHg3MiwgMHhmOSwgMHg5NSwKLSAgMHg3MywgMHg5YywgMHhhZiwgMHgxNiwgMHhlNiwgMHhiZSwgMHgxOCwgMHg4NSwgMHg3NywgMHg0NiwgMHhmMSwgMHg2MSwKLSAgMHg4ZSwgMHhjMCwgMHg3NiwgMHgwOSwgMHg4ZiwgMHgzOCwgMHg5NywgMHgyYSwgMHg1MiwgMHgzOCwgMHg2YywgMHhkMCwKLSAgMHgxZiwgMHgwYSwgMHg3ZSwgMHhjNiwgMHg1YSwgMHhjYSwgMHg5MiwgMHg2YSwgMHhkNCwgMHhkYSwgMHgwMywgMHgyZCwKLSAgMHgxZiwgMHg0NCwgMHg3ZCwgMHgzZiwgMHgxYiwgMHhlMywgMHhlMywgMHhmMywgMHhhMywgMHhlNCwgMHhmMCwgMHhmZCwKLSAgMHhmOSwgMHgzNywgMHgxYiwgMHhiYywgMHhjMSwgMHg1ZCwgMHhmYywgMHgyMywgMHg3OCwgMHhlYSwgMHhhOSwgMHgwYiwKLSAgMHhiOCwgMHhhNCwgMHg0ZCwgMHhkYiwgMHg2MiwgMHg2YSwgMHgyZSwgMHg1ZCwgMHg4YywgMHg2OCwgMHg0YSwgMHhkZSwKLSAgMHgzNywgMHg0NywgMHg2YiwgMHg0ZSwgMHhlOSwgMHhmMSwgMHhlOCwgMHg3MSwgMHhmNywgMHg5NCwgMHhmYSwgMHhkYiwKLSAgMHgxOSwgMHgwMCwgMHg5MSwgMHgxZSwgMHg5MCwgMHhmNiwgMHhkYiwgMHhiYSwgMHg3NywgMHg0MiwgMHhmMSwgMHg4MiwKLSAgMHg3NCwgMHg0ZiwgMHg4OSwgMHg1MywgMHgzYiwgMHhhZSwgMHhjOSwgMHg5NiwgMHhhNCwgMHgzNSwgMHhjMywgMHhlZSwKLSAgMHg4ZiwgMHhjMCwgMHhhMSwgMHg1YSwgMHg2YywgMHg1OCwgMHgxYiwgMHgwZCwgMHgwNywgMHhiNCwgMHhiZiwgMHg4NSwKLSAgMHg4ZiwgMHgxMywgMHgyNywgMHgyZiwgMHhjNywgMHg0MSwgMHhjZCwgMHg4OSwgMHhhNSwgMHhkNSwgMHhjYywgMHg2MiwKLSAgMHgwMiwgMHg0NCwgMHhmNCwgMHg0MywgMHg0ZCwgMHhmMSwgMHhhMywgMHgyNCwgMHg3MywgMHg0MywgMHgwMiwgMHhhMywKLSAgMHg4NywgMHgyNSwgMHg5NCwgMHhiOSwgMHgzYywgMHhiZSwgMHg3OCwgMHhiMywgMHgwNSwgMHgzOCwgMHhjZiwgMHhkMSwKLSAgMHhjYSwgMHhjYiwgMHhjMiwgMHhmYywgMHhhZiwgMHhjZCwgMHg3YSwgMHg4YywgMHgwMywgMHhmYSwgMHhkMywgMHhiZSwKLSAgMHg0YSwgMHhhMiwgMHhjOCwgMHgwYiwgMHhmZSwgMHgzMywgMHg0ZSwgMHhlZiwgMHgyNCwgMHg3MiwgMHhhYiwgMHg3MiwKLSAgMHhjZSwgMHgxZSwgMHg0NCwgMHg3OSwgMHg4MSwgMHg5MywgMHgzNywgMHhiOSwgMHhkNiwgMHhkMSwgMHhkNiwgMHhlMCwKLSAgMHhhNSwgMHg4OCwgMHg3ZSwgMHhjMiwgMHgzYywgMHhlMSwgMHgzNiwgMHgzMywgMHg2MSwgMHg2ZiwgMHhjNiwgMHhhZCwKLSAgMHhmMSwgMHg3NiwgMHg2MiwgMHg1ZCwgMHhhZCwgMHhlNywgMHg4OCwgMHgyNSwgMHg2MiwgMHhiYywgMHg0OCwgMHgxMSwKLSAgMHg2YiwgMHg4MCwgMHgzNCwgMHgxYywgMHg0NCwgMHgyYSwgMHg4OCwgMHg5YywgMHhkZCwgMHhlZCwgMHgwZCwgMHgyZCwKLSAgMHgyNiwgMHgzMCwgMHhlYSwgMHhlOSwgMHhjZCwgMHhhYywgMHgwNywgMHg3YywgMHg5NCwgMHg5NiwgMHg4MCwgMHhkYywKLSAgMHgzMSwgMHg1YiwgMHg4YSwgMHhmMCwgMHhmMiwgMHhmYiwgMHg1NywgMHg1ZSwgMHgzYiwgMHgzNiwgMHg0ZCwgMHg0ZSwKLSAgMHg0YiwgMHg5OCwgMHg1OCwgMHgyNCwgMHg5NywgMHhiYywgMHgwZiwgMHgyZiwgMHhkOCwgMHhjMywgMHgzZCwgMHg0NSwKLSAgMHgwNywgMHg1NCwgMHg4YSwgMHhhNiwgMHhjZSwgMHhiMiwgMHg2YywgMHg2OSwgMHg3YiwgMHg1ZiwgMHhlNCwgMHhhOCwKLSAgMHhiMSwgMHg0NCwgMHg3MiwgMHg4ZSwgMHhiOSwgMHhhNywgMHhkYywgMHg3NywgMHg2NCwgMHgxMSwgMHg3YSwgMHg5NiwKLSAgMHhhYywgMHhkNiwgMHhjMywgMHg5YywgMHhjMywgMHg4MSwgMHg1MiwgMHg1MSwgMHg3YiwgMHg0OSwgMHg4YSwgMHhkZCwKLSAgMHhlZSwgMHgzZCwgMHgzZCwgMHhmOCwgMHhkYywgMHgwOCwgMHhlNiwgMHgzYiwgMHgyNCwgMHg3ZiwgMHhiNywgMHg0MCwKLSAgMHhlYSwgMHgxOSwgMHhkYywgMHhiZCwgMHgxZiwgMHhiOCwgMHg1NSwgMHhhYywgMHgxYSwgMHg0ZCwgMHhlOSwgMHgxNSwKLSAgMHgzMCwgMHg5ZCwgMHhhNCwgMHgyNiwgMHgzMywgMHgwMiwgMHgwZSwgMHgyYSwgMHg4MSwgMHhiNiwgMHgwOCwgMHg5MSwKLSAgMHhjOCwgMHhjYywgMHgyNiwgMHhhYSwgMHhiNywgMHgwNywgMHgzYiwgMHg0NiwgMHhiOSwgMHg4NCwgMHhkOCwgMHgyZCwKLSAgMHhjZSwgMHgwYywgMHgxYiwgMHg3OSwgMHgzNCwgMHg2YywgMHg5NCwgMHgzYiwgMHg2YSwgMHhiOCwgMHgzOSwgMHg0OCwKLSAgMHhkZSwgMHgxZCwgMHg5ZCwgMHhiZiwgMHgxYiwgMHgyNCwgMHhlMywgMHhmMywgMHhkMywgMHg3NywgMHgzZCwgMHg1MCwKLSAgMHhiYiwgMHgwZCwgMHg4MywgMHgzNCwgMHhkMSwgMHg5ZSwgMHg2OSwgMHg5YSwgMHgwYSwgMHhkZiwgMHhjYSwgMHgxNiwKLSAgMHgwYywgMHgyNywgMHgzMiwgMHhhMCwgMHg5OSwgMHhmMSwgMHhkNCwgMHg1MSwgMHhlNCwgMHg0NiwgMHgwZiwgMHhjMCwKLSAgMHhkMSwgMHhkYiwgMHgyZCwgMHg5MCwgMHg4ZCwgMHg5MSwgMHgwZiwgMHg2YiwgMHgxNywgMHhjNiwgMHhjNywgMHhmZSwKLSAgMHgwMCwgMHgwYSwgMHgyMSwgMHg1YSwgMHhhNCwgMHhlNSwgMHg1YSwgMHgzNiwgMHg4ZiwgMHhkOSwgMHgxYSwgMHg4YiwKLSAgMHg4ZCwgMHg1YywgMHhmZiwgMHhhZSwgMHhjZCwgMHg4OSwgMHg5NiwgMHg4NCwgMHhmNCwgMHhjMCwgMHhkMywgMHg3MiwKLSAgMHg0YSwgMHg2ZSwgMHhlZCwgMHg1MiwgMHg4NiwgMHgwZCwgMHhjOSwgMHg2ZCwgMHgyOCwgMHgwYSwgMHhjYywgMHg4NiwKLSAgMHhiOSwgMHg2ZSwgMHhmMCwgMHgxZSwgMHgzYiwgMHhjMCwgMHhiNSwgMHg3YiwgMHhlOCwgMHhkNywgMHhlOCwgMHg0MiwKLSAgMHhkYiwgMHgyMywgMHgyZiwgMHg4MSwgMHgyNywgMHhhOSwgMHhjYiwgMHg0NSwgMHhjNiwgMHg2ZSwgMHg3ZSwgMHgzOCwKLSAgMHg4MiwgMHg5NCwgMHgzZiwgMHg3MSwgMHg5ZiwgMHg1ZiwgMHgyMCwgMHg4ZCwgMHhjNywgMHhkMCwgMHg5MCwgMHgyYywKLSAgMHgyNiwgMHgyNCwgMHg5ZCwgMHhmMiwgMHhhNiwgMHg4NSwgMHg5MywgMHhkMSwgMHgzYSwgMHgwNCwgMHgzZSwgMHg5NywKLSAgMHhjYywgMHg5OCwgMHhhOSwgMHgwZCwgMHhjMCwgMHgzNiwgMHgzNywgMHg3NSwgMHg1NiwgMHgxZSwgMHg1OCwgMHg2NCwKLSAgMHg5YiwgMHg3OSwgMHhlZiwgMHg3NSwgMHg5OSwgMHgwYywgMHg0MSwgMHhmMiwgMHg0NCwgMHgzOSwgMHgwYiwgMHgyNSwKLSAgMHhhOCwgMHhiNCwgMHg4MCwgMHg4MCwgMHhiNCwgMHgwNiwgMHgwYSwgMHhhYSwgMHg4NCwgMHhkZiwgMHg2MiwgMHhmYSwKLSAgMHg0YywgMHg5ZSwgMHhkMiwgMHg0OCwgMHg3OCwgMHhjMCwgMHgwYSwgMHhjMCwgMHgwNiwgMHhlNiwgMHhhZSwgMHg5YywKLSAgMHg1NywgMHhjZiwgMHg5YywgMHgyMywgMHgzNCwgMHhhYiwgMHgyZSwgMHhkNywgMHhlZCwgMHhlMCwgMHhkYiwgMHg3NCwKLSAgMHgxZCwgMHg3OCwgMHhhMiwgMHhiNiwgMHgyNSwgMHhhZSwgMHg2ZCwgMHg1ZiwgMHgwNywgMHhhYiwgMHg2NSwgMHg2ZCwKLSAgMHg2ZiwgMHhjOCwgMHg3YiwgMHg5NSwgMHgxNywgMHhlOSwgMHgwMiwgMHgyZiwgMHhiZSwgMHg0YiwgMHhhNCwgMHgwNCwKLSAgMHgwMywgMHhlYywgMHgyZiwgMHg4ZSwgMHg5ZiwgMHg5NiwgMHgyNCwgMHhlZiwgMHgwYiwgMHg4NiwgMHgxNSwgMHg2MiwKLSAgMHg0ZiwgMHg1MiwgMHg4MSwgMHhjNCwgMHg4NywgMHg5OSwgMHhkZCwgMHgzOSwgMHg0MiwgMHhkNCwgMHhhMywgMHg4NCwKLSAgMHgyZCwgMHhjOCwgMHhhZCwgMHg1OSwgMHgwOSwgMHg4NSwgMHg5ZSwgMHgxNiwgMHgxZCwgMHhhMiwgMHhiOCwgMHhjMiwKLSAgMHg4OSwgMHg4YywgMHgzYywgMHgwMiwgMHg5NSwgMHgzNCwgMHgzMiwgMHg5OCwgMHg4NCwgMHhhZiwgMHhiOCwgMHhiOCwKLSAgMHhhYiwgMHhiMywgMHg1MiwgMHg2MCwgMHhmYywgMHgwNCwgMHgwYiwgMHgzZCwgMHhmMywgMHg4ZiwgMHg4ZCwgMHgzOSwKLSAgMHgxYSwgMHhlYywgMHgxZiwgMHhjNywgMHgwOCwgMHgxYSwgMHg4NiwgMHhkYSwgMHg2OSwgMHgyMSwgMHgyNiwgMHhjOSwKLSAgMHg2YSwgMHhhMywgMHgzOSwgMHhlMiwgMHg4NSwgMHhlMCwgMHgxOSwgMHhhZCwgMHg4YSwgMHgzOSwgMHhhNSwgMHg4NywKLSAgMHhiNywgMHg4MSwgMHg4MiwgMHg3NCwgMHgyNywgMHg0NywgMHg2YiwgMHgwMCwgMHgyOCwgMHg3ZCwgMHg1YywgMHhhMSwKLSAgMHgxNiwgMHg0OSwgMHhiNiwgMHhkMSwgMHg1YSwgMHhkYSwgMHhhYiwgMHhlYiwgMHhjNSwgMHg3ZCwgMHg2MCwgMHg4NSwKLSAgMHhlMiwgMHgxZCwgMHgxZCwgMHg1YywgMHg5ZCwgMHhkNSwgMHg5ZCwgMHg2MiwgMHhmMSwgMHhiYywgMHhjOCwgMHgwOSwKLSAgMHg0YSwgMHhhZSwgMHhhYywgMHg3NiwgMHhhOCwgMHg0YywgMHg5MSwgMHg3MCwgMHg1OCwgMHgxMywgMHgyMywgMHgyMSwKLSAgMHgzNSwgMHgxMywgMHgzNSwgMHhlMiwgMHhlMCwgMHg1MCwgMHg1ZCwgMHgwZSwgMHgwYywgMHhjNCwgMHgwYywgMHgzZCwKLSAgMHg4YSwgMHhkNCwgMHgwNiwgMHgwYSwgMHhjYSwgMHhiZSwgMHhjNSwgMHhkNCwgMHhjMiwgMHhkZSwgMHg4ZSwgMHg5MiwKLSAgMHg1OCwgMHhjZiwgMHg1MCwgMHhjOSwgMHgwNSwgMHg0MSwgMHhhZSwgMHg2MywgMHg1YiwgMHgyMywgMHhkMywgMHgwNiwKLSAgMHhkNiwgMHhkYSwgMHg3ZCwgMHgwYSwgMHgwNywgMHgwYiwgMHg4ZCwgMHg2ZiwgMHhiMywgMHhlZSwgMHhhZCwgMHhlNCwKLSAgMHhkNiwgMHhjNiwgMHg1ZiwgMHg1MCwgMHhmMywgMHhjZCwgMHhhZSwgMHg0OCwgMHg1NiwgMHg0OCwgMHhmYiwgMHg2ZSwKLSAgMHhjMiwgMHg3MiwgMHg2OCwgMHg3ZiwgMHhhYywgMHhjZSwgMHg5YSwgMHhkNSwgMHgzMiwgMHg5NCwgMHhmMywgMHhjNywKLSAgMHg2NywgMHg2ZSwgMHg0OCwgMHhjMSwgMHg2ZiwgMHhhNywgMHhhZCwgMHg5NiwgMHhhOCwgMHhhOCwgMHgzNywgMHg0OSwKLSAgMHg4MiwgMHhkNSwgMHhiMSwgMHgwNywgMHhlMCwgMHg0NCwgMHg3ZiwgMHhmNywgMHgzNiwgMHg0MiwgMHgxMSwgMHgwOCwKLSAgMHhhNCwgMHg3YiwgMHgxZiwgMHgwZSwgMHg4YywgMHg4YSwgMHgxNywgMHhlYSwgMHgyMiwgMHhiZiwgMHg2MSwgMHhiNCwKLSAgMHg4YiwgMHg1ZCwgMHhiNCwgMHg3MSwgMHhkNiwgMHg4NiwgMHgzZCwgMHg1MiwgMHhlZiwgMHhhNCwgMHhlZiwgMHg5YSwKLSAgMHg0ZCwgMHg2OSwgMHhjZCwgMHgzNiwgMHhiYywgMHgzMywgMHg1YSwgMHg4NywgMHgyMiwgMHgyNSwgMHhlYiwgMHg3NCwKLSAgMHgzZSwgMHg1YiwgMHhlZiwgMHhhOSwgMHgyZiwgMHgxMywgMHhkZCwgMHhlMSwgMHhlZCwgMHhjZiwgMHhjMiwgMHhhNSwKLSAgMHhjYiwgMHg1OCwgMHhlYiwgMHg2NiwgMHhiNSwgMHhmNywgMHg2YywgMHg3ZiwgMHhiNCwgMHhmNywgMHhlNCwgMHhmMywKLSAgMHhkMSwgMHgxZSwgMHhkYSwgMHg5ZCwgMHg3YiwgMHhiMywgMHg3MywgMHg2ZCwgMHhiOSwgMHhiZCwgMHg4MSwgMHgyMiwKLSAgMHg0ZCwgMHhkZiwgMHg5MywgMHg3ZSwgMHg4OCwgMHg3NiwgMHhmZSwgMHhjMiwgMHhlMiwgMHg2ZSwgMHg0NCwgMHhjZiwKLSAgMHg4ZCwgMHhiOCwgMHhlYiwgMHg1YSwgMHhmMCwgMHg4ZCwgMHg4NSwgMHg1MSwgMHg2YiwgMHhmMiwgMHgyMiwgMHg4OCwKLSAgMHg4MywgMHgwYywgMHg1ZCwgMHgzNiwgMHg5MSwgMHg4YSwgMHhmYiwgMHg2NSwgMHg0ZSwgMHg3NCwgMHhhNCwgMHhjMCwKLSAgMHhjOSwgMHg2ZSwgMHg1NiwgMHhiNiwgMHg2ZiwgMHhhYywgMHg3NiwgMHhjMCwgMHhhMiwgMHhkYiwgMHgxOSwgMHg5ZiwKLSAgMHg5MSwgMHgzMiwgMHhmNSwgMHhhOSwgMHhlOCwgMHg5MSwgMHg4ZSwgMHhhZiwgMHhkYiwgMHhlZiwgMHhmZiwgMHgxMywKLSAgMHgzNiwgMHg5ZiwgMHhmMiwgMHhjOCwgMHg1NywgMHhiOSwgMHhmMywgMHg1ZSwgMHhiMCwgMHg2NywgMHg0YSwgMHg2ZCwKLSAgMHgxMiwgMHhmOCwgMHhkYywgMHg4MSwgMHhmMSwgMHhkNywgMHg4NSwgMHg4OSwgMHgxMywgMHhkNCwgMHgyZiwgMHg2NiwKLSAgMHg3ZiwgMHgxZCwgMHhhMCwgMHgzNSwgMHg0ZiwgMHhjOCwgMHgxYywgMHg3OSwgMHhiMCwgMHg4ZSwgMHg3ZSwgMHgxMiwKLSAgMHgxMiwgMHhjNiwgMHhkNCwgMHgxNCwgMHhhNCwgMHgyZSwgMHg5MiwgMHg5ZiwgMHhiYywgMHgwNiwgMHg4MSwgMHhjNSwKLSAgMHgxYywgMHg1YSwgMHg4NywgMHhhMywgMHhkNywgMHhmZSwgMHhmOCwgMHg0NywgMHhjNywgMHg5MSwgMHhjNiwgMHg0OCwKLSAgMHg3ZSwgMHhlMSwgMHhlZSwgMHg0YywgMHg4ZiwgMHgwNywgMHg4YywgMHhiNywgMHg4YywgMHg4MCwgMHgxNywgMHgzNywKLSAgMHg3YSwgMHhkOSwgMHg3OCwgMHhmZSwgMHg1NywgMHhmOCwgMHg4NiwgMHg3ZiwgMHgxYSwgMHhmZSwgMHhkNSwgMHhmYywKLSAgMHhmMywgMHhhNywgMHgwZCwgMHhiZCwgMHhkNSwgMHg4YywgMHhjYywgMHhhOCwgMHg2NSwgMHgyMiwgMHgwZSwgMHhmYywKLSAgMHgxNiwgMHhjNywgMHgzMywgMHg2OCwgMHhiNywgMHgyZSwgMHg4NywgMHg1NiwgMHg3MCwgMHhmZSwgMHhmMiwgMHg4YywKLSAgMHgyZiwgMHg2MiwgMHhjNSwgMHgzMSwgMHg2ZiwgMHhhYywgMHg5MywgMHgxOCwgMHgxMSwgMHhkNCwgMHg3YSwgMHhlMiwKLSAgMHhlMCwgMHg4YywgMHhmNCwgMHhjYywgMHg3NCwgMHg2MiwgMHhmNywgMHhkMiwgMHg3YiwgMHg2NywgMHhlMCwgMHg1MiwKLSAgMHgxYSwgMHg2ZSwgMHg5OCwgMHgwMywgMHhhNCwgMHg0NiwgMHhiZCwgMHhiZCwgMHgyNCwgMHhmZiwgMHgwYSwgMHgwMywKLSAgMHg5MiwgMHg4YywgMHhhOCwgMHhkYSwgMHg5MCwgMHg3NSwgMHg2OSwgMHg2OSwgMHgyYiwgMHg0ZiwgMHhhMCwgMHg4ZSwKLSAgMHg4NiwgMHg0OCwgMHhlYywgMHg3NSwgMHhiOCwgMHgzMSwgMHg3MywgMHgxYSwgMHgwOCwgMHg5YywgMHgzOSwgMHg5NywKLSAgMHg0NCwgMHgzNCwgMHgwYSwgMHhhMywgMHg1YiwgMHg5MCwgMHg5ZCwgMHhhMiwgMHg3OCwgMHhlZSwgMHg1NSwgMHg1ZSwKLSAgMHg3ZiwgMHhhNCwgMHhjNSwgMHg0OSwgMHg3NSwgMHg4ZiwgMHg5NywgMHgyMSwgMHg4NCwgMHhmOSwgMHg3YywgMHg2NiwKLSAgMHhiNSwgMHhiZSwgMHgzYiwgMHg0NSwgMHgyYywgMHhiMywgMHg2NSwgMHhkYiwgMHhkZSwgMHhjZSwgMHgzYSwgMHhlOSwKLSAgMHhhMCwgMHg2NywgMHhhZSwgMHhjOCwgMHgzNiwgMHg1MSwgMHhkMCwgMHg0NSwgMHg3OSwgMHhhYywgMHhjYSwgMHhlMiwKLSAgMHg1OCwgMHhhMCwgMHg5ZCwgMHgzNCwgMHgzNSwgMHhhOSwgMHhhNSwgMHgzYywgMHgzMywgMHg4YSwgMHhhZSwgMHhhNSwKLSAgMHgwZSwgMHgwZiwgMHg5OSwgMHgyZiwgMHhkOSwgMHhhMiwgMHgxZiwgMHg5MCwgMHhmNCwgMHhkYiwgMHhlZSwgMHg0YSwKLSAgMHgyZCwgMHg2YSwgMHgzOSwgMHg5NiwgMHhlNiwgMHhiZSwgMHg1ZiwgMHgwNiwgMHhhNSwgMHhkNCwgMHgzOSwgMHg2OSwKLSAgMHgwNSwgMHhiMywgMHhjYSwgMHhjYywgMHg4MSwgMHhiYiwgMHgwZSwgMHgwMCwgMHg5OCwgMHg0NSwgMHgxMSwgMHg4MCwKLSAgMHgyOCwgMHhkMCwgMHhhYiwgMHgxYSwgMHhkZCwgMHg2NywgMHg1MSwgMHg1YiwgMHg0MSwgMHhmMiwgMHg5MiwgMHg5ZCwKLSAgMHgzYSwgMHg4YSwgMHgxYSwgMHg3YSwgMHg3NiwgMHhjNSwgMHhkNiwgMHhkOCwgMHg3OCwgMHhmYSwgMHgxMywgMHgwYywKLSAgMHg5YiwgMHhlYSwgMHg3MiwgMHg2ZSwgMHgwYSwgMHg3MiwgMHgyZCwgMHhkNSwgMHhhMSwgMHg0MSwgMHg4MywgMHhjOSwKLSAgMHgyZiwgMHg2MiwgMHg5OCwgMHhlYiwgMHg5ZSwgMHg1MCwgMHhkZCwgMHhkZiwgMHgwZCwgMHg1ZCwgMHgyOSwgMHhmNSwKLSAgMHhjNywgMHg5YywgMHgzNywgMHg3OSwgMHg5OCwgMHgyZiwgMHhlZiwgMHgwNywgMHg1MywgMHhhNSwgMHg2MywgMHg1MywKLSAgMHgxYywgMHhmOSwgMHgxNiwgMHg1ZiwgMHhiMSwgMHgxMiwgMHhhNiwgMHg1ZSwgMHg1ZCwgMHg1ZSwgMHgwMiwgMHgxNCwKLSAgMHgyOSwgMHhjYywgMHhjOCwgMHhlMywgMHgzYSwgMHg0NSwgMHhhOSwgMHgxOCwgMHg5MCwgMHgwZSwgMHgzNSwgMHg4NiwKLSAgMHg5NywgMHg2MywgMHhlYSwgMHhiYSwgMHgxZCwgMHhhZSwgMHgyMiwgMHg1MiwgMHgzOCwgMHg4ZSwgMHg4MywgMHhmYSwKLSAgMHhlZiwgMHgwNSwgMHg0ZSwgMHgxOCwgMHgyNSwgMHhjNywgMHg3MiwgMHhiZiwgMHg5ZCwgMHgyMiwgMHg1MywgMHg2NSwKLSAgMHg0MywgMHg5ZCwgMHg2NywgMHg5NywgMHgwOSwgMHg5MiwgMHgwNSwgMHg5NiwgMHgwNiwgMHg5OSwgMHhhZiwgMHg5NiwKLSAgMHgyMSwgMHhkNiwgMHg2YiwgMHg3OCwgMHg1ZiwgMHg0ZiwgMHhmZSwgMHhhYiwgMHg3MCwgMHg0MCwgMHhmMiwgMHhiMSwKLSAgMHg1OSwgMHg1MCwgMHg0MywgMHgwYSwgMHgyMywgMHgzMSwgMHg4NCwgMHgyYiwgMHg2MywgMHg3MCwgMHg1NiwgMHgxNiwKLSAgMHhkNCwgMHhkMCwgMHhjNywgMHgyZSwgMHhlYSwgMHg0YSwgMHhjZCwgMHgwYiwgMHhlYywgMHhjNiwgMHgzYSwgMHhiZiwKLSAgMHg4MCwgMHhlMywgMHg4MywgMHhiZSwgMHhiNiwgMHhmNCwgMHg2OCwgMHhiNCwgMHgxZiwgMHgxYywgMHg2YywgMHgzZCwKLSAgMHgxZiwgMHg0ZSwgMHhhNywgMHhkMywgMHgyMSwgMHhmNCwgMHg4MCwgMHgxNywgMHhhYywgMHg5ZSwgMHhlYywgMHg4OCwKLSAgMHg3MiwgMHgxMCwgMHg1NywgMHg5YywgMHhjNiwgMHg5OSwgMHhlYywgMHhmNiwgMHhjYiwgMHg5NywgMHgyZiwgMHg0NSwKLSAgMHg4ZiwgMHgzOSwgMHhiZiwgMHhlYSwgMHgyOCwgMHgxNCwgMHgxNiwgMHg2ZSwgMHg1MCwgMHhiNCwgMHhhOSwgMHg2OCwKLSAgMHhhNywgMHg4MCwgMHhmYSwgMHg2YSwgMHhkNSwgMHgxMCwgMHhhZCwgMHgzMiwgMHhjZiwgMHg1MCwgMHhlNiwgMHg2YiwKLSAgMHg2YiwgMHg2MywgMHgzYiwgMHg5OCwgMHhkMCwgMHhhNSwgMHgzOSwgMHg5MSwgMHg4MSwgMHg0YiwgMHg0OSwgMHgzNCwKLSAgMHg4MywgMHgwNywgMHg0NywgMHhiMywgMHhlNCwgMHg4ZSwgMHg1NiwgMHg3OCwgMHg1MSwgMHhjNiwgMHhlZSwgMHhmNiwKLSAgMHhlMSwgMHhlNiwgMHhiOSwgMHhmYSwgMHhjMCwgMHg4ZCwgMHgzYSwgMHhjMywgMHgzYSwgMHg5NiwgMHhjNiwgMHhhYiwKLSAgMHhhMywgMHhlMCwgMHhiMywgMHg2OSwgMHgyZSwgMHhmOSwgMHg1ZiwgMHhhOSwgMHg3YywgMHhhYiwgMHgzYiwgMHhmNiwKLSAgMHgzZCwgMHhlNywgMHgyMSwgMHg1YiwgMHhkZCwgMHgzZSwgMHg5MiwgMHgyNywgMHhiZCwgMHg0NywgMHgxMiwgMHhlNywKLSAgMHg1MywgMHg0MCwgMHgzYywgMHhhMCwgMHg5ZCwgMHg0ZiwgMHhiNiwgMHg1ZSwgMHgwMiwgMHg1MywgMHg5YSwgMHg3YSwKLSAgMHg1MCwgMHhlMCwgMHg0ZSwgMHhiYywgMHhiYywgMHhhMiwgMHgxYywgMHhhZSwgMHhiOSwgMHgzOSwgMHgyMCwgMHgzMywKLSAgMHhlYiwgMHgxYSwgMHg1YywgMHg4MCwgMHgxYiwgMHhmMywgMHg4ZSwgMHg0ZiwgMHg3NiwgMHhjZSwgMHg0ZiwgMHhjNiwKLSAgMHg0MSwgMHhhNiwgMHhmYiwgMHgxZCwgMHhiOSwgMHg4YywgMHhlMSwgMHgxYSwgMHg2ZSwgMHgzYiwgMHgzYywgMHg3OSwKLSAgMHg4YiwgMHg4MCwgMHhmNiwgMHgyZiwgMHgxMiwgMHhjOCwgMHg1MiwgMHgzOCwgMHg3ZiwgMHgyMSwgMHg4YSwgMHg3NiwKLSAgMHhiNSwgMHgyYSwgMHhiNCwgMHgwOCwgMHhjNiwgMHhiOSwgMHg2YywgMHg4YiwgMHhhYywgMHgwMCwgMHg4OCwgMHgwOCwKLSAgMHgwOSwgMHg3MSwgMHg1YywgMHgwMSwgMHg2NCwgMHhjMiwgMHhkNiwgMHhjOSwgMHhkYiwgMHhjMywgMHg3MywgMHhhYSwKLSAgMHg2YiwgMHg2OSwgMHgyNCwgMHhjZiwgMHhlMywgMHhhMiwgMHg5YywgMHg4NywgMHg5ZSwgMHhmMSwgMHgxYiwgMHg4YiwKLSAgMHg0OSwgMHg4MywgMHhhOCwgMHg0ZCwgMHgzYSwgMHg3NSwgMHhkZCwgMHhhZCwgMHg1NCwgMHg1MywgMHhlNywgMHhlMywKLSAgMHhhYiwgMHg5NSwgMHhmMiwgMHhkNiwgMHg2ZCwgMHhiZiwgMHhkOSwgMHg1MiwgMHg5MSwgMHgwZSwgMHg1ZCwgMHg5YSwKLSAgMHhlZiwgMHg5ZSwgMHhjNiwgMHg1ZSwgMHhmNCwgMHgzNCwgMHg3OCwgMHgwMywgMHhhMiwgMHgyNywgMHhmMiwgMHg0ZSwKLSAgMHg3OCwgMHhiOSwgMHg2YywgMHhiMywgMHgyNSwgMHg1ZCwgMHhmOCwgMHgyZSwgMHhlNywgMHhlNSwgMHg2NSwgMHg2ZSwKLSAgMHhlOCwgMHg1YiwgMHhlMCwgMHhiZiwgMHhhNSwgMHhiOCwgMHg0NCwgMHhhMiwgMHg1MCwgMHg4MSwgMHg5YiwgMHg5NCwKLSAgMHgzNywgMHg4NywgMHg2YSwgMHhhZiwgMHg1NywgMHg4MCwgMHg4MCwgMHg2OCwgMHgyMSwgMHg5OCwgMHhmMywgMHgyNSwKLSAgMHgyMSwgMHg0OSwgMHg2MSwgMHgzNywgMHg1NSwgMHgzYSwgMHg5YiwgMHg2OCwgMHhlOSwgMHg2MywgMHg1OCwgMHg1OSwKLSAgMHg0OCwgMHgzYywgMHgyNiwgMHg5ZiwgMHgxYSwgMHgwMywgMHg2MSwgMHg3YSwgMHgzNywgMHhlMiwgMHgxYSwgMHhjMCwKLSAgMHhiYSwgMHg5ZCwgMHg1OCwgMHg5YiwgMHhiNywgMHgyMCwgMHg4OCwgMHhhZCwgMHg4MywgMHg5NCwgMHhhMiwgMHhmNiwKLSAgMHhkMSwgMHhlMiwgMHgxZiwgMHg1OSwgMHhlMywgMHg1YSwgMHgzZiwgMHhmYywgMHg5MywgMHg5NiwgMHhmMCwgMHhmOCwKLSAgMHg5YSwgMHgyYywgMHhiMiwgMHhjYiwgMHg0MCwgMHhlOCwgMHgzYSwgMHgwYywgMHhhMiwgMHg0MSwgMHgxNywgMHg5NCwKLSAgMHhkYywgMHhiNSwgMHgyMCwgMHgyMiwgMHhkNywgMHgxMCwgMHhmNywgMHhhYiwgMHhlYiwgMHgzNCwgMHhmMSwgMHg5ZSwKLSAgMHgwZCwgMHhhMiwgMHgwZCwgMHg1NiwgMHgwNiwgMHhkZCwgMHg5ZSwgMHgyNSwgMHg1NSwgMHhkOCwgMHhhOSwgMHhhMCwKLSAgMHg4NSwgMHgwYiwgMHg2NywgMHhjMSwgMHhhNywgMHgzYSwgMHhjMywgMHg3ZCwgMHg3ZCwgMHhlNCwgMHhiNSwgMHhjMiwKLSAgMHhlOSwgMHhjMCwgMHhjNywgMHhhMSwgMHg2NCwgMHg0MywgMHg3ZiwgMHhjNywgMHhmOSwgMHgzOCwgMHgxNCwgMHg4NCwKLSAgMHhiYSwgMHhhMSwgMHgzNiwgMHhkZCwgMHgzNywgMHg3MSwgMHgyMywgMHg4NywgMHhiNSwgMHhkOCwgMHg3MywgMHhkNywKLSAgMHg1ZSwgMHg4MywgMHhhZiwgMHgwNywgMHhlYiwgMHg4MCwgMHg5OSwgMHhjZCwgMHg1MiwgMHgyNSwgMHhlMCwgMHgzMSwKLSAgMHgwZCwgMHhkMCwgMHhmZiwgMHhmYiwgMHhhNiwgMHg2YiwgMHhmNywgMHgzNiwgMHgwYSwgMHhmZCwgMHgxMCwgMHhhZSwKLSAgMHhjNSwgMHg2ZiwgMHgwNywgMHgzZCwgMHhkZSwgMHhjNSwgMHg5ZSwgMHgwNiwgMHg2ZSwgMHhiNiwgMHgxYywgMHhhZSwKLSAgMHg5NCwgMHg2YSwgMHhlZiwgMHgzMCwgMHgzZSwgMHg4ZiwgMHhkNSwgMHhhZCwgMHg5ZiwgMHhjZiwgMHgzNywgMHg0NywKLSAgMHg4NywgMHhhZiwgMHg3YSwgMHhkMSwgMHg0YiwgMHgzZSwgMHgwNSwgMHhhZSwgMHhiYywgMHhmNSwgMHhmNSwgMHg0ZCwKLSAgMHgzMiwgMHhlZSwgMHhlYSwgMHhiMywgMHgxMiwgMHgzNywgMHg0OSwgMHg4YSwgMHhjMywgMHg1MSwgMHg0MiwgMHg2NSwKLSAgMHg4OCwgMHg5YSwgMHgwYywgMHg5OCwgMHgyZCwgMHg2OCwgMHg1ZSwgMHhkOCwgMHhkYiwgMHhkZCwgMHhhNiwgMHhkNywKLSAgMHgzMywgMHhlMiwgMHg2NywgMHgxZiwgMHg4OCwgMHhjMywgMHg5YSwgMHg1NCwgMHg2NSwgMHhhZSwgMHhhOSwgMHhmMiwKLSAgMHgwOCwgMHhmOSwgMHgxMiwgMHg4NCwgMHgzYywgMHgyZiwgMHgyNywgMHhlNSwgMHhjNSwgMHhjNSwgMHg5YSwgMHhhOCwKLSAgMHgyMCwgMHg4MywgMHgwMywgMHhhMywgMHhmNiwgMHg4OSwgMHhlOSwgMHg2NSwgMHg4MywgMHhiNiwgMHg5MSwgMHhkZSwKLSAgMHg5YiwgMHgzMCwgMHg3OCwgMHg3NCwgMHg2NSwgMHgyZSwgMHhkYiwgMHg4NiwgMHgyNCwgMHg2MywgMHhhMSwgMHg2YiwKLSAgMHg2OSwgMHg3MCwgMHgzNywgMHg1YSwgMHgwMSwgMHgwNCwgMHgzNSwgMHgxOCwgMHhkNCwgMHhjMiwgMHg0MywgMHgzNSwKLSAgMHgzZSwgMHg3YiwgMHg2MywgMHgzNCwgMHg0YiwgMHhjOCwgMHgzNiwgMHg2YSwgMHgzMSwgMHhiYiwgMHhmZSwgMHg1ZiwKLSAgMHhmZiwgMHhmOCwgMHhlYiwgMHg0ZiwgMHg5MSwgMHg3NiwgMHgzNSwgMHhlOCwgMHhlNywgMHg3OCwgMHhjNSwgMHgyNSwKLSAgMHg4NSwgMHhlNiwgMHg3OSwgMHg2ZCwgMHg1YywgMHg2MCwgMHgxYiwgMHg4MywgMHg3MCwgMHhhNiwgMHgwOSwgMHgwNywKLSAgMHgzNCwgMHg5YSwgMHgzYSwgMHg5YiwgMHg1ZiwgMHg3OCwgMHg3OCwgMHg0YiwgMHhhMSwgMHg1OCwgMHhhYywgMHhkZCwKLSAgMHgwNywgMHhkMSwgMHg3ZCwgMHg5NCwgMHgyYSwgMHhjMCwgMHhiOSwgMHg2NCwgMHg5NywgMHhkYSwgMHgzNiwgMHhhMCwKLSAgMHhlNSwgMHg5YiwgMHhjYiwgMHg5NywgMHhiNiwgMHhiMCwgMHhlZSwgMHg3MiwgMHgxMiwgMHgwMSwgMHg3YSwgMHg5OCwKLSAgMHhlYiwgMHhjYiwgMHhlNiwgMHg1NywgMHgzMiwgMHgzMSwgMHgwMSwgMHgxZSwgMHg1YiwgMHg0NywgMHhhNywgMHhjZiwKLSAgMHg5NSwgMHhhZiwgMHgwYywgMHhhNSwgMHhkZSwgMHgwZCwgMHhiMywgMHhiYiwgMHg2YywgMHg2MiwgMHgzOCwgMHg0NCwKLSAgMHhhZCwgMHg4MCwgMHgwZiwgMHhjMywgMHg0NSwgMHg5ZCwgMHhiYywgMHg1OCwgMHgxOCwgMHgyMiwgMHhjZiwgMHg3YiwKLSAgMHhhMCwgMHgzYSwgMHhiZSwgMHhhMSwgMHhkNywgMHg4YywgMHgxMSwgMHgyZCwgMHhlZiwgMHg1OSwgMHhmOCwgMHhlYSwKLSAgMHhjYiwgMHhiMiwgMHgzMiwgMHg1YiwgMHhiNCwgMHg5MCwgMHgzMiwgMHg1YywgMHgyOSwgMHg0NSwgMHg2ZSwgMHhiYiwKLSAgMHgzMiwgMHg1MCwgMHg1OCwgMHgxMiwgMHhiOCwgMHgwMywgMHgwOCwgMHgzZiwgMHg5NSwgMHhjYSwgMHhhOSwgMHgzYywKLSAgMHgyMCwgMHg0ZSwgMHg1MSwgMHgwYiwgMHg2NywgMHgyYiwgMHhhMywgMHgzOSwgMHg5YSwgMHhhOSwgMHgxYiwgMHhmYiwKLSAgMHgxYSwgMHgzNiwgMHgzZCwgMHhmOSwgMHgwNSwgMHg5OSwgMHhhMiwgMHhiOCwgMHhjOCwgMHg5MCwgMHg1ZSwgMHg4OSwKLSAgMHhjMiwgMHgwNywgMHhhOCwgMHhmMCwgMHgxMCwgMHgwYiwgMHhjYiwgMHhmMCwgMHgxYywgMHg3ZiwgMHg0NSwgMHhiNiwKLSAgMHhjYiwgMHhiNSwgMHhmZiwgMHg0OSwgMHg0MSwgMHg0NCwgMHgwOSwgMHhmNywgMHg1NSwgMHhhNiwgMHhjZiwgMHgxNywKLSAgMHhkYSwgMHhhNiwgMHhhZSwgMHg1MiwgMHg5MSwgMHg0NiwgMHhhZSwgMHhjZCwgMHhlNywgMHg1MywgMHg1ZiwgMHgzZiwKLSAgMHhmNiwgMHgxYSwgMHgwZiwgMHgwNCwgMHg5NywgMHgxMiwgMHg0ZCwgMHhhYywgMHhlNSwgMHg1OCwgMHg3YywgMHhlMCwKLSAgMHg1OCwgMHg5NCwgMHgxZiwgMHhhNiwgMHg1NCwgMHgwZCwgMHg5OSwgMHhjZCwgMHg5OSwgMHhjNSwgMHg0OSwgMHg1ZSwKLSAgMHg5NSwgMHgxYiwgMHgxNSwgMHgxYywgMHhiNywgMHgwYiwgMHhkMCwgMHg1MiwgMHg1MywgMHg4YSwgMHgwMCwgMHg5NywKLSAgMHhjMSwgMHg4YSwgMHg0MywgMHgxZiwgMHhmNSwgMHhlNCwgMHhlMiwgMHg3NywgMHg4OCwgMHhjNiwgMHg3YSwgMHhjZiwKLSAgMHgxOSwgMHgyOSwgMHhlZCwgMHgxMiwgMHg5MSwgMHgyMywgMHgzMSwgMHgxZiwgMHg4MCwgMHg5NSwgMHg4ZiwgMHg1ZSwKLSAgMHg5MCwgMHgwYywgMHgzZiwgMHg0MiwgMHgyZiwgMHgyMywgMHhiYiwgMHg4MiwgMHg1OCwgMHg4OCwgMHg5YywgMHhmNywKLSAgMHg5MSwgMHg5YywgMHg3NywgMHg2NywgMHgzOCwgMHgwYSwgMHhiNywgMHgyNCwgMHg0ZiwgMHgxZSwgMHgzZiwgMHg3ZSwKLSAgMHg5YywgMHg3MCwgMHhjMCwgMHgyNSwgMHhkOSwgMHgzOCwgMHg2NiwgMHg3YywgMHhiNiwgMHg3NywgMHg0NywgMHgyZiwKLSAgMHg0ZiwgMHhkZiwgMHhiYywgMHgzOSwgMHg3YSwgMHhmYiwgMHhlYSwgMHhlOCwgMHg5NSwgMHhiZCwgMHg2OCwgMHhiYSwKLSAgMHgxNiwgMHg0YiwgMHgxZCwgMHhjMSwgMHg4YSwgMHgyOCwgMHg0ZiwgMHg3MCwgMHg5NiwgMHhlYywgMHgzZCwgMHhkZSwKLSAgMHgxZCwgMHhlZSwgMHgzZiwgMHhkZSwgMHg0ZCwgMHgwYywgMHgyOSwgMHhhNiwgMHhiNiwgMHgzYywgMHgyZCwgMHg5ZCwKLSAgMHhhNywgMHg2NCwgMHhkZiwgMHg1ZSwgMHhhZCwgMHg4YywgMHg5NiwgMHg0NiwgMHhiOCwgMHhjZSwgMHgwZCwgMHhlMSwKLSAgMHg2YywgMHhjMCwgMHhmMywgMHg0YSwgMHhjZSwgMHhlMSwgMHgyMiwgMHg2YiwgMHhjOCwgMHg4ZSwgMHg4ZSwgMHg2NCwKLSAgMHgwNiwgMHg4YywgMHgzNiwgMHgxMiwgMHgwYiwgMHhkMiwgMHhlOSwgMHg0MiwgMHg5NiwgMHhhMiwgMHhmYywgMHg4MCwKLSAgMHg0MCwgMHhmNywgMHg3NywgMHhlOSwgMHg1MywgMHhhMywgMHhlNCwgMHhiNSwgMHhkMSwgMHgzZiwgMHgyZSwgMHhjYSwKLSAgMHhkYiwgMHg4NCwgMHhiNSwgMHg0MCwgMHhhMywgMHg5NCwgMHg2NiwgMHg2MSwgMHhhOCwgMHhiMiwgMHhmZCwgMHgzYSwKLSAgMHhiZCwgMHg3ZCwgMHhjMCwgMHg2ZiwgMHhmZiwgMHgwYiwgMHg2MywgMHhmNCwgMHg4ZiwgMHg5ZiwgMHhiNSwgMHgwZCwKLSAgMHg0YiwgMHg3MywgMHg5MSwgMHhkMSwgMHgxNSwgMHg0NCwgMHg2YiwgMHgxMSwgMHhlMywgMHhlMCwgMHgwNSwgMHg2MywKLSAgMHhiNiwgMHhjNSwgMHhiZiwgMHgzOSwgMHgzYywgMHhhMywgMHg4NywgMHg4ZCwgMHg0ZCwgMHg3ZSwgMHhmYSwgMHhjMywKLSAgMHg1ZiwgMHg1YywgMHg2ZCwgMHhlNywgMHhmNSwgMHg5ZSwgMHgyNiwgMHgzMywgMHg0YSwgMHgwOSwgMHgyYiwgMHg3NywKLSAgMHg1NiwgMHgyZCwgMHhjMiwgMHhhMCwgMHhiNywgMHhjNSwgMHg4OCwgMHhmMywgMHg0ZCwgMHg0MiwgMHg5NSwgMHgzMywKLSAgMHg1OCwgMHgyMywgMHhlNSwgMHhhMCwgMHg5YSwgMHhjZCwgMHhlMywgMHhiNiwgMHg4NywgMHg3MiwgMHg2ZSwgMHg1NSwKLSAgMHgyZCwgMHg0NSwgMHg0NCwgMHg2MSwgMHgzZCwgMHg3ZiwgMHg0NSwgMHgyMSwgMHgwZSwgMHgzMywgMHhhNywgMHg5YywKLSAgMHhiYiwgMHhmZSwgMHhlNCwgMHhjNSwgMHg4YywgMHgzYiwgMHg4ZCwgMHhiNywgMHhmYywgMHhiMiwgMHg0ZCwgMHhiNSwKLSAgMHg2YSwgMHg5OSwgMHg5NSwgMHhlYSwgMHg4NywgMHgxZCwgMHhhZCwgMHg4NywgMHhkOSwgMHg1OCwgMHg1NiwgMHhmOSwKLSAgMHgyMiwgMHhhZCwgMHhmMiwgMHhmOSwgMHg5ZCwgMHgxMiwgMHhmOCwgMHgwZCwgMHhmNywgMHgzZSwgMHhlNiwgMHg0YywKLSAgMHgyOSwgMHg4NCwgMHhiZSwgMHgyYywgMHhhZSwgMHgzMCwgMHhlNSwgMHgxMCwgMHhhNCwgMHg5MSwgMHhmYSwgMHg5YiwKLSAgMHg3YywgMHgyYSwgMHg1NywgMHg0YSwgMHhiMCwgMHhiZiwgMHhmOCwgMHg1YywgMHg3OSwgMHhiNywgMHhkNiwgMHhhMiwKLSAgMHgyMSwgMHhiNSwgMHhlZCwgMHg3ZiwgMHhhYiwgMHg1MiwgMHg0NCwgMHg0YiwgMHg2ZiwgMHg0OSwgMHhjZCwgMHg3ZCwKLSAgMHg3ZCwgMHg3YywgMHg3MiwgMHhiNCwgMHg5ZCwgMHhiYywgMHhjZSwgMHgxYSwgMHhhOSwgMHg2ZSwgMHhkMiwgMHgyNCwKLSAgMHg2MywgMHgxMiwgMHhmNywgMHhiZiwgMHg4MywgMHg4MiwgMHg2NSwgMHgyMSwgMHg2OSwgMHhhNSwgMHgzNiwgMHgzOCwKLSAgMHg5YSwgMHgwYiwgMHhjNiwgMHg2NiwgMHgwYywgMHg3NCwgMHgwZCwgMHhhZCwgMHg5NCwgMHhlMiwgMHg5MywgMHhjMSwKLSAgMHgxMiwgMHgyOSwgMHgxYywgMHhhNywgMHhhOSwgMHg2NSwgMHgxYSwgMHhkZSwgMHg5NCwgMHg5MywgMHg4ZiwgMHhlNSwKLSAgMHhkZCwgMHgyYSwgMHhjMiwgMHhjMywgMHhhOCwgMHgwZCwgMHg3OCwgMHg1OSwgMHgxNiwgMHg1ZSwgMHgwYSwgMHgwMSwKLSAgMHhjZCwgMHg1YiwgMHhmMiwgMHg5ZSwgMHgzOSwgMHgxZSwgMHg5OCwgMHhkNywgMHhjYiwgMHgzOSwgMHgzMSwgMHg4MywKLSAgMHgxOCwgMHhiYSwgMHhjYiwgMHgzYywgMHg3MywgMHgxNSwgMHg3ZCwgMHhhMCwgMHg3YywgMHg2MywgMHgzZCwgMHhkOCwKLSAgMHg0NCwgMHg0YywgMHhlNiwgMHhhOSwgMHhiNCwgMHg1ZSwgMHg2ZiwgMHhlMywgMHhiZSwgMHhkMSwgMHg4ZCwgMHhhMywKLSAgMHhiNCwgMHgxMywgMHhmZSwgMHg3MywgMHhlNywgMHhjYiwgMHgzNSwgMHg1OCwgMHg2OSwgMHg0NywgMHhlOCwgMHg4MSwKLSAgMHgyZSwgMHgyZiwgMHg4MCwgMHhhMCwgMHhkMCwgMHg5NSwgMHg1NSwgMHg1MywgMHg5OSwgMHg1NCwgMHhlOSwgMHg2YywKLSAgMHg1MSwgMHg0MiwgMHg0YywgMHg3ZCwgMHgwNSwgMHgzZCwgMHhiOCwgMHg1MCwgMHhmYywgMHg1ZiwgMHhhNCwgMHhmNSwKLSAgMHg5ZSwgMHhhYSwgMHgxMCwgMHg1NCwgMHhmYywgMHhlZCwgMHhlNCwgMHg0YiwgMHhlNiwgMHg3ZCwgMHhiNCwgMHg4ZSwKLSAgMHhmNiwgMHhiOCwgMHhkNCwgMHhjYSwgMHgwYSwgMHg2OCwgMHgyYiwgMHhhYywgMHg0ZCwgMHg1MSwgMHhiZSwgMHg3ZSwKLSAgMHhkYSwgMHhjZSwgMHhkOCwgMHhlNywgMHhjNywgMHhhZSwgMHhhNCwgMHg3MSwgMHgwMSwgMHg5YywgMHgyOSwgMHg1YywKLSAgMHgzZSwgMHg1NiwgMHg0NywgMHg1YywgMHhmZSwgMHhlZSwgMHgyZSwgMHhiYSwgMHhlOCwgMHgxZSwgMHhmYSwgMHg2NCwKLSAgMHhiMywgMHg2NywgMHg0NiwgMHg1MywgMHgwZiwgMHgwNiwgMHg1MiwgMHhkYiwgMHg3NSwgMHhjYiwgMHhjZiwgMHhjYywKLSAgMHhlZiwgMHgyMiwgMHhkYSwgMHg5MiwgMHg3YywgMHhkZCwgMHg2NywgMHg0MSwgMHg1ZCwgMHg5NSwgMHhkZCwgMHg3ZSwKLSAgMHhhMywgMHhiNCwgMHhhMCwgMHgzOSwgMHg2MiwgMHg4OCwgMHg4NiwgMHhlYSwgMHgyMiwgMHhlZCwgMHgxZCwgMHhmYiwKLSAgMHhjOCwgMHgzMywgMHhiNCwgMHgzOSwgMHg2ZCwgMHhhYSwgMHg3YywgMHhmYSwgMHgxMSwgMHg4MCwgMHg2OCwgMHg3NSwKLSAgMHhiMywgMHg4MiwgMHg0YSwgMHg5NywgMHgxNiwgMHhmZSwgMHgyYywgMHg2ZCwgMHhhMywgMHg4ZiwgMHg1OSwgMHg4OSwKLSAgMHg5ZCwgMHg4ZSwgMHg2YiwgMHg5ZiwgMHhhNCwgMHgyMiwgMHg5MSwgMHhjYiwgMHg4MCwgMHhmMCwgMHhiNywgMHg3NSwKLSAgMHgzNiwgMHhiYywgMHgxYSwgMHg3YiwgMHg1NywgMHhhYywgMHg5YSwgMHg0NiwgMHg2NSwgMHg5MCwgMHgzOCwgMHhkOSwKLSAgMHg2NSwgMHhhNCwgMHgyYiwgMHg4MCwgMHhiOSwgMHhjNiwgMHgwNCwgMHhjMCwgMHg0MSwgMHhiZSwgMHhiNiwgMHgxYiwKLSAgMHg4MSwgMHgxNiwgMHhkYiwgMHhhYywgMHgzMiwgMHhlZSwgMHg0YywgMHgzMiwgMHgzMiwgMHhhNiwgMHhlOCwgMHg4MiwKLSAgMHgyYSwgMHgwMiwgMHg5MCwgMHg2NiwgMHgyYiwgMHg0YiwgMHg5NiwgMHhlZCwgMHgzMSwgMHg5YywgMHhlZCwgMHgzMiwKLSAgMHhiZiwgMHg4ZSwgMHg2NiwgMHg1OSwgMHhlOCwgMHhjNCwgMHgxNiwgMHg4YywgMHg3NywgMHhjMSwgMHhiMywgMHhkMCwKLSAgMHg5NCwgMHg2MywgMHhjNSwgMHgzYSwgMHg0YSwgMHhjNCwgMHgyNSwgMHg5ZCwgMHgxMCwgMHgxNCwgMHg5YywgMHgzZCwKLSAgMHhiZSwgMHhlMCwgMHgwNiwgMHhjZiwgMHg0OSwgMHg2NSwgMHgyNSwgMHgyMCwgMHhhZiwgMHg4MiwgMHgzYiwgMHhhZSwKLSAgMHg3ZiwgMHg2MywgMHg3NCwgMHg5ZiwgMHhlNywgMHgxYiwgMHhiNiwgMHg5ZiwgMHg4NiwgMHgyNCwgMHg0NSwgMHg2NSwKLSAgMHgxZCwgMHhjYSwgMHg4MSwgMHg5MSwgMHg1MSwgMHg5NCwgMHhjMywgMHg2OCwgMHgyMywgMHg0OSwgMHg1NiwgMHhkYywKLSAgMHgxYiwgMHhlNSwgMHg1YiwgMHhiNiwgMHhkZSwgMHgyNiwgMHhjYywgMHg2YSwgMHhiNiwgMHhmNSwgMHgyZiwgMHgwMywKLSAgMHg0MCwgMHg5YiwgMHg1YywgMHg4NSwgMHg1NSwgMHg3ZSwgMHgzNCwgMHhhNSwgMHgxZiwgMHg4NiwgMHgyZiwgMHhmMSwKLSAgMHhmMSwgMHhlMSwgMHgzNywgMHgxOCwgMHhlZiwgMHg0ZiwgMHgxYiwgMHhkNiwgMHhkZCwgMHhkYiwgMHhmZCwgMHhkNSwKLSAgMHhmMywgMHhiMCwgMHhmMywgMHhmYiwgMHhkNCwgMHg2YiwgMHhmMSwgMHhjMiwgMHg1NCwgMHgwMiwgMHg3YywgMHg0YywKLSAgMHhlMSwgMHhiMiwgMHhhOSwgMHg0MywgMHhkZSwgMHgwNCwgMHhlNCwgMHhkYiwgMHg2YywgMHhiNiwgMHg2MywgMHgwZiwKLSAgMHg5ZCwgMHg1MywgMHhlNywgMHhmYSwgMHg1YSwgMHg4ZSwgMHgxYiwgMHgyOSwgMHhiMiwgMHgwNCwgMHg4YSwgMHhjZSwKLSAgMHg2YywgMHg1OCwgMHg1ZSwgMHgwYywgMHg5MSwgMHgyMSwgMHg0ZCwgMHg5MCwgMHg3OSwgMHg5NCwgMHg4ZCwgMHhlNCwKLSAgMHhkZCwgMHgzYSwgMHgwMCwgMHg4MywgMHgwMCwgMHhmZCwgMHg3NCwgMHgzNiwgMHg4YiwgMHhhOSwgMHhlNiwgMHg2OSwKLSAgMHgyZCwgMHg3NSwgMHhjNCwgMHg0YSwgMHhmOCwgMHg1YSwgMHg2OCwgMHhjMSwgMHg4NywgMHhmOSwgMHg1YywgMHhkYywKLSAgMHhmMiwgMHg3OCwgMHg1ZCwgMHgxYiwgMHhmMiwgMHgxMiwgMHgxYiwgMHhkNCwgMHg4MiwgMHg4OCwgMHhjMCwgMHg5ZiwKLSAgMHg4NiwgMHhmMiwgMHg4OCwgMHgwMSwgMHhhYiwgMHhlZiwgMHg1OCwgMHgzNCwgMHhlYywgMHhiNywgMHgwNSwgMHhiYiwKLSAgMHg3MiwgMHhlMSwgMHg3YywgMHg1ZSwgMHgyZCwgMHhhMSwgMHhiMiwgMHgxMiwgMHg1YSwgMHg3MywgMHhlMCwgMHg3ZCwKLSAgMHhkMSwgMHgyMiwgMHgxMSwgMHgxNiwgMHhmZCwgMHg4ZiwgMHg0NywgMHhiYiwgMHg4MywgMHgyMCwgMHg0YSwgMHhkZiwKLSAgMHhjMCwgMHhjYywgMHgyZiwgMHg1YywgMHg4YSwgMHgxMCwgMHgxMiwgMHgyNCwgMHhjMCwgMHgyMywgMHg4NywgMHhiMSwKLSAgMHhhYSwgMHg1YSwgMHg3MywgMHgwOSwgMHhlZiwgMHg4OCwgMHg1YiwgMHhkYiwgMHg0MiwgMHg1YSwgMHhlNCwgMHgxNiwKLSAgMHhiYiwgMHhjMiwgMHgwNywgMHg5NywgMHhkNywgMHg4MywgMHgzZCwgMHgxNCwgMHhjNiwgMHg4OSwgMHhlYSwgMHhkOSwKLSAgMHgxOCwgMHhjMCwgMHhiNSwgMHg2NCwgMHg2YywgMHg3ZCwgMHgzOSwgMHhlYywgMHhmNiwgMHgzZCwgMHhiNiwgMHhlZCwKLSAgMHgyYiwgMHhmZCwgMHhlYSwgMHgwZCwgMHg1NywgMHhhZCwgMHhkZSwgMHhlZiwgMHg2OSwgMHg0MiwgMHgxZiwgMHg5NSwKLSAgMHg0MywgMHg2ZCwgMHg3ZCwgMHgzNiwgMHgzNCwgMHg5YiwgMHgyYSwgMHgyZCwgMHhiYSwgMHg4NywgMHgxOSwgMHhmZCwKLSAgMHg5MCwgMHg4MSwgMHgzYSwgMHgxNCwgMHgzNSwgMHhiYSwgMHhiZSwgMHg2NywgMHhjZiwgMHgwZSwgMHg5ZSwgMHhkMiwKLSAgMHg5ZSwgMHhkOSwgMHhjNiwgMHgzMiwgMHhkYSwgMHg0MywgMHhjZCwgMHgwOSwgMHgwOCwgMHg5MCwgMHhhZCwgMHg3NywKLSAgMHg5NywgMHhiYSwgMHg3YiwgMHg0NiwgMHg3YywgMHg4NSwgMHgzOCwgMHg0MSwgMHhhMSwgMHg1OSwgMHhkZiwgMHgyOSwKLSAgMHhmNCwgMHg5NSwgMHhiYiwgMHhkZSwgMHhkNCwgMHhlMiwgMHg5ZSwgMHg5YywgMHg1ZiwgMHg1YywgMHg5YiwgMHhkNywKLSAgMHhhNCwgMHhkOCwgMHgwZiwgMHhkZiwgMHg5YSwgMHg2MywgMHg3OCwgMHg5ZSwgMHhmYywgMHg0NywgMHg5OSwgMHg3MSwKLSAgMHhjZCwgMHhlYSwgMHgzZCwgMHgyNSwgMHhhYiwgMHhkZiwgMHgxZiwgMHhiZSwgMHg3YiwgMHg3YiwgMHhmYywgMHhmNiwKLSAgMHhlYiwgMHhlNywgMHgwZSwgMHhhMiwgMHgxMywgMHgzYywgMHg0ZiwgMHg0MCwgMHhmMywgMHg4MywgMHg3ZSwgMHgzZiwKLSAgMHg0MCwgMHhkNiwgMHg0NywgMHg1ZCwgMHg0MCwgMHhjYSwgMHhiZSwgMHhmOSwgMHg2OCwgMHg4NywgMHg4NSwgMHg2NCwKLSAgMHhjOCwgMHhiYywgMHg5OSwgMHg3ZCwgMHg5NywgMHg1NSwgMHhjNiwgMHg0MSwgMHgxMSwgMHhiNiwgMHg0NSwgMHhiNSwKLSAgMHg3MCwgMHg0MiwgMHhhYSwgMHgzNSwgMHgyMSwgMHgyYSwgMHhiOSwgMHg1NywgMHg2NywgMHgwNCwgMHhhOCwgMHg2MSwKLSAgMHg3OCwgMHg4MiwgMHhiYywgMHhkYywgMHg3OSwgMHhkOSwgMHhlYSwgMHgxMSwgMHg0OCwgMHg3NCwgMHgzOSwgMHhjNywKLSAgMHhmOSwgMHg5NywgMHgzZSwgMHgwOSwgMHg3OCwgMHhhZCwgMHhmZSwgMHgwOCwgMHg4MiwgMHgyZiwgMHhkMiwgMHgxNywKLSAgMHgxNiwgMHg4NiwgMHgxZSwgMHgwYiwgMHgwOCwgMHgxOCwgMHgzNCwgMHhkYSwgMHgxNywgMHg4ZCwgMHg5YiwgMHgxYiwKLSAgMHg1MSwgMHhjZCwgMHgyZSwgMHg3OSwgMHgyYSwgMHg3MiwgMHg4ZSwgMHhmZiwgMHhiYiwgMHhmZCwgMHhiMCwgMHg0OSwKLSAgMHg1ZSwgMHgxMSwgMHgzZiwgMHgwOCwgMHg2ZiwgMHhkNCwgMHgzNCwgMHg1ZCwgMHhmMSwgMHg4ZCwgMHg2MSwgMHg1MCwKLSAgMHgzMiwgMHhmOSwgMHhhOSwgMHhhYiwgMHhjYywgMHhiMCwgMHg1YiwgMHhiMCwgMHgzZSwgMHhlZSwgMHhjMCwgMHg1NSwKLSAgMHhiMiwgMHgxYSwgMHg1NiwgMHhlZCwgMHhhNCwgMHgzYSwgMHgyMywgMHhlMCwgMHhlNywgMHgxOCwgMHg5NiwgMHhmOSwKLSAgMHg5MywgMHg0NCwgMHg0OSwgMHgxNCwgMHg3ZiwgMHg2NCwgMHg5ZSwgMHhiOSwgMHhhYSwgMHgyNCwgMHhhYiwgMHhlYiwKLSAgMHg1YywgMHhiMSwgMHhhZSwgMHgzMywgMHg1ZiwgMHgwNiwgMHgyMCwgMHg3YiwgMHg5NCwgMHg2NiwgMHg0ZSwgMHhiZiwKLSAgMHg5MCwgMHhlZCwgMHhhNSwgMHhiOCwgMHgxNSwgMHhlNCwgMHhhZiwgMHgxYSwgMHgyNSwgMHgyZCwgMHg0YywgMHgzYiwKLSAgMHhkYiwgMHhlOSwgMHg1NywgMHhiYiwgMHhlYywgMHg4NiwgMHhmMiwgMHg5NCwgMHhhMCwgMHg5ZSwgMHgzMiwgMHgwNiwKLSAgMHgxYSwgMHhmMywgMHgyYiwgMHg2MCwgMHhjYywgMHhkNywgMHhjZCwgMHgzZSwgMHgyZiwgMHg1NywgMHg5MywgMHhjNSwKLSAgMHhlYywgMHg3MSwgMHhmMiwgMHhjMiwgMHhmYywgMHgyNywgMHg1MCwgMHhiMiwgMHhjNiwgMHg5YywgMHg0ZCwgMHhmYSwKLSAgMHg5MiwgMHhiYywgMHhlOCwgMHg5NCwgMHhlMiwgMHhjMiwgMHgwMCwgMHhiOCwgMHg1YywgMHhkYSwgMHg2MiwgMHg5YiwKLSAgMHgwOCwgMHgxZCwgMHhlYywgMHg5YiwgMHhjOSwgMHhkZSwgMHhhNiwgMHg4YSwgMHg2YSwgMHgzOSwgMHgzMywgMHg2NywKLSAgMHhkOCwgMHgyMCwgMHhmNSwgMHhhYywgMHgwNywgMHgyZiwgMHhjOCwgMHhlNSwgMHgzNCwgMHhkMiwgMHg5OSwgMHhlZiwKLSAgMHhlZCwgMHg3ZiwgMHg5ZSwgMHg1MCwgMHhlOSwgMHhjMSwgMHg5YiwgMHg1NywgMHg4ZiwgMHg5MywgMHhlOSwgMHg1NSwKLSAgMHgzNiwgMHhmZCwgMHg1OCwgMHhhZiwgMHgxNiwgMHhjYSwgMHg4YywgMHgxMywgMHhkYSwgMHg1MiwgMHgwYSwgMHg4NCwKLSAgMHhkMCwgMHgzYywgMHgwMywgMHhhNCwgMHgwNywgMHgzMywgMHhmMSwgMHg3OSwgMHgzZSwgMHhhNSwgMHhjMiwgMHhiZiwKLSAgMHg0MSwgMHgyYiwgMHgzYywgMHg3NSwgMHhhMSwgMHhlMSwgMHgyOSwgMHhjZiwgMHgwYSwgMHhiNSwgMHg2MiwgMHgwMywKLSAgMHhlOSwgMHgwMiwgMHg5YywgMHg1MywgMHgxMywgMHgwOSwgMHg1ZSwgMHg5OCwgMHgzZCwgMHgzMCwgMHg5ZiwgMHhhNywKLSAgMHhiNiwgMHgxMywgMHg0NiwgMHgyZiwgMHg1ZiwgMHhlYiwgMHhiMiwgMHg3ZCwgMHhkYSwgMHhmNiwgMHg3YSwgMHhkMywKLSAgMHhjNSwgMHhkZSwgMHgxZCwgMHgzZCwgMHhlYiwgMHgwMSwgMHhmNCwgMHg2ZCwgMHg4MSwgMHg3MCwgMHg1MSwgMHhhZCwKLSAgMHg5MiwgMHhjNSwgMHg3OCwgMHg4NiwgMHgzZCwgMHg0MCwgMHg1YSwgMHgzZSwgMHg0ZCwgMHg5MiwgMHg4MCwgMHhhMCwKLSAgMHgzNCwgMHg4YSwgMHgxNywgMHg3YywgMHg5YywgMHg5ZSwgMHhkYywgMHhhMSwgMHgyNywgMHhhNCwgMHhhMywgMHgxMSwKLSAgMHgzMSwgMHgxMCwgMHg0MCwgMHg1MSwgMHgzMCwgMHg2MSwgMHgyMSwgMHg0OSwgMHhjOCwgMHg4NiwgMHgwMCwgMHgxMSwKLSAgMHhmZSwgMHgwNCwgMHg4ZSwgMHgxMSwgMHhlMiwgMHhhZiwgMHgxMSwgMHhhNSwgMHhjZCwgMHg5NSwgMHg3ZiwgMHg1YiwKLSAgMHg5ZiwgMHg4ZCwgMHhlYiwgMHg5YSwgMHgyNiwgMHg4NSwgMHhiNCwgMHgxZSwgMHg4ZSwgMHg4MywgMHg1NiwgMHgxMywKLSAgMHhkMiwgMHgwZSwgMHgwMywgMHg0ZCwgMHgyNSwgMHgxMCwgMHg3YywgMHhmMiwgMHg2NSwgMHgwZSwgMHg0YywgMHhiYiwKLSAgMHhlMywgMHhhOCwgMHgxOSwgMHg4NSwgMHgxMCwgMHhlZSwgMHg3MywgMHhjMiwgMHg4MCwgMHg2NiwgMHg4YiwgMHhiYSwKLSAgMHhiYywgMHgyOSwgMHgyZSwgMHgyYiwgMHhmMiwgMHg4ZiwgMHhhMCwgMHhiYiwgMHg3MSwgMHgxYSwgMHg4YiwgMHg2NSwKLSAgMHhjNCwgMHg5MCwgMHg0YiwgMHhkZCwgMHhkOCwgMHhjNiwgMHhlMiwgMHg3YSwgMHg0MiwgMHg5YywgMHhkZSwgMHhkZiwKLSAgMHgxNSwgMHgwOSwgMHg2MiwgMHhjMywgMHgyNiwgMHgxNSwgMHg5YiwgMHhkZCwgMHgzYiwgMHhhMiwgMHhkZCwgMHg4MSwKLSAgMHgxYywgMHhkMywgMHhkZSwgMHg2OCwgMHhiNywgMHhhZiwgMHg4OSwgMHg5NiwgMHhkNywgMHgzZSwgMHg0YiwgMHhkMiwKLSAgMHgxZSwgMHg1YSwgMHhlNywgMHg2MywgMHhkZSwgMHhmNCwgMHhmNSwgMHg2NCwgMHhjZSwgMHg3MywgMHgzMCwgMHhiNCwKLSAgMHhkZSwgMHg5MywgMHg3ZCwgMHg2NywgMHgxNiwgMHgyYSwgMHgwZSwgMHhhYywgMHg2YywgMHhkNiwgMHgxYSwgMHhlOCwKLSAgMHhhMSwgMHgzNSwgMHgxMiwgMHgzMiwgMHhkZCwgMHgzZCwgMHgwOSwgMHhjMywgMHhkMCwgMHhiZiwgMHhmNiwgMHhiYiwKLSAgMHg0NCwgMHg2NywgMHg3ZSwgMHhmZCwgMHgxMCwgMHhhMiwgMHg4YiwgMHhhYywgMHg2NSwgMHg2ZiwgMHhlZCwgMHgzNCwKLSAgMHhiYywgMHg3OSwgMHg2MCwgMHhlZiwgMHhkYywgMHhlNiwgMHg2OSwgMHg4NSwgMHg4NiwgMHhjYywgMHg0NywgMHhhZiwKLSAgMHg0NSwgMHgxOCwgMHg5NSwgMHgwZSwgMHgxYiwgMHg5ZSwgMHhlMCwgMHgwZCwgMHgyYSwgMHg3NywgMHgyOSwgMHhhYiwKLSAgMHgyMSwgMHhlOSwgMHhlYywgMHhlNiwgMHhiMCwgMHgwMiwgMHgxNSwgMHgyYSwgMHg3NiwgMHgxOCwgMHgzMCwgMHgzMSwKLSAgMHhmMiwgMHhiYSwgMHgyNiwgMHg0MCwgMHg0YSwgMHhjNCwgMHhiYSwgMHg4OSwgMHgzYSwgMHgyOSwgMHg3MCwgMHhlNCwKLSAgMHgyMywgMHhjNiwgMHhkNywgMHhkMSwgMHhiNCwgMHg3ZCwgMHgxMCwgMHhjOCwgMHhiZSwgMHg1NSwgMHhkMiwgMHhmMSwKLSAgMHg0ZiwgMHhkYSwgMHhkMiwgMHhmNywgMHg0YiwgMHgxMCwgMHhlMCwgMHgwOCwgMHg0MCwgMHhjYSwgMHhhZSwgMHhlYiwKLSAgMHg0YiwgMHg4MiwgMHhjOSwgMHhiMSwgMHg0NSwgMHgxMSwgMHg5YiwgMHg5ZCwgMHg4NywgMHg4OCwgMHhhNiwgMHgxMSwKLSAgMHgyMCwgMHgyOSwgMHhkNywgMHhhYywgMHhmNSwgMHg1MywgMHgzNSwgMHg1NSwgMHhjMiwgMHhiYSwgMHgyZSwgMHhhMSwKLSAgMHhkYywgMHhhOCwgMHg0NSwgMHhlNywgMHgxOCwgMHg4MywgMHhmMywgMHhlNSwgMHg1YiwgMHg2NSwgMHgxNCwgMHg0ZCwKLSAgMHgxOSwgMHhhMCwgMHg5NSwgMHg0YywgMHg0ZiwgMHg5ZCwgMHgzMSwgMHg5OCwgMHhhZiwgMHhkYiwgMHg4NiwgMHhhZCwKLSAgMHgzMywgMHhkNywgMHgzMSwgMHgzNCwgMHhlMiwgMHg1ZiwgMHg4MSwgMHgzMywgMHg4NCwgMHhjNSwgMHgyOSwgMHhlZCwKLSAgMHg1MCwgMHgzZiwgMHhkMiwgMHg1ZCwgMHhjZiwgMHg3MSwgMHgzYywgMHhiOCwgMHgwMywgMHg0ZSwgMHg4MCwgMHhkYiwKLSAgMHg5NSwgMHhiMywgMHg4ZiwgMHg0YywgMHhjYiwgMHg1NywgMHg3OSwgMHgzNSwgMHhhMywgMHg4NywgMHgxMSwgMHhmNywKLSAgMHhlZSwgMHgyMCwgMHgzYSwgMHgzYiwgMHgyMiwgMHgzNywgMHg5ZiwgMHhmOCwgMHg1YiwgMHgyMCwgMHg3OCwgMHhjZiwKLSAgMHgyMiwgMHhjNCwgMHhmNSwgMHhhYiwgMHhlZSwgMHhjMiwgMHhmZSwgMHhiYSwgMHgzMCwgMHg2OCwgMHg3OCwgMHgwNywKLSAgMHgwZiwgMHg0NiwgMHhmYSwgMHhiNSwgMHhiZSwgMHhiZCwgMHgwYSwgMHhkOCwgMHg1OSwgMHg0ZiwgMHhmNywgMHhhMCwKLSAgMHg4NywgMHhlZSwgMHg1NiwgMHhjZiwgMHhkZSwgMHhlYywgMHhlOSwgMHg1NSwgMHhmNCwgMHg3OSwgMHg5YiwgMHhiZiwKLSAgMHg1ZiwgMHhkZCwgMHhiMywgMHg5NSwgMHhmZCwgMHgwYiwgMHgyMSwgMHhmNywgMHhlMywgMHg1NywgMHhmNSwgMHgyMCwKLSAgMHhiZSwgMHg5YiwgMHg1NiwgMHg0MywgMHhlZCwgMHhmOCwgMHgzYywgMHhjOSwgMHg2NSwgMHg1NiwgMHhlNSwgMHgwYiwKLSAgMHgwMCwgMHhkZiwgMHg4ZCwgMHg5MiwgMHg1NywgMHgyZSwgMHhhNSwgMHg4NSwgMHgwYywgMHgxNCwgMHg0MywgMHhiMSwKLSAgMHhkZCwgMHg1ZCwgMHg5OSwgMHhhZCwgMHg3YSwgMHgzMiwgMHgzZiwgMHgzYSwgMHgzNywgMHgzZiwgMHgzOCwgMHhhZiwKLSAgMHgwMywgMHg0OSwgMHhlYSwgMHg3MSwgMHhhOSwgMHgwYiwgMHg5MCwgMHhlYSwgMHhlYSwgMHgyNiwgMHhlYywgMHg1YSwKLSAgMHg0MSwgMHhlYywgMHhiNywgMHhkMSwgMHhmOCwgMHg5ZiwgMHg4NCwgMHhlOSwgMHgyOCwgMHgzNSwgMHg0YiwgMHgyMiwKLSAgMHgzMCwgMHhkOCwgMHhmYSwgMHgwMywgMHgzZiwgMHg2NiwgMHg2ZSwgMHg1NSwgMHg2YiwgMHgyYSwgMHgyMSwgMHg4OCwKLSAgMHg3YiwgMHg4YSwgMHhlYywgMHgxNywgMHg2MSwgMHg1MSwgMHg5MSwgMHg0OCwgMHg1NCwgMHg5NSwgMHhkMiwgMHg3YywKLSAgMHhlNiwgMHgzYSwgMHg0ZiwgMHg5MywgMHhjMywgMHg3OSwgMHgzMywgMHgxYywgMHg3ZiwgMHgzNywgMHhkNSwgMHgyNiwKLSAgMHhiZCwgMHg3NiwgMHhhNywgMHg4MiwgMHgxNiwgMHhkZiwgMHhmMCwgMHhhYSwgMHgwOCwgMHg0YSwgMHgxZSwgMHg0NSwKLSAgMHg1MCwgMHhmMiwgMHg2YSwgMHhiYSwgMHg1YSwgMHgwMCwgMHhmOSwgMHgxNCwgMHg0NCwgMHg2NSwgMHhiYiwgMHgwNCwKLSAgMHhkMSwgMHgyOSwgMHhmYSwgMHhmYywgMHg4NywgMHhkMywgMHhlZCwgMHg0MywgMHhkMCwgMHhjMywgMHhmNCwgMHg2MywKLSAgMHhhZCwgMHg0YiwgMHg5MiwgMHhjYywgMHg3YSwgMHgyZSwgMHhjMywgMHg2OCwgMHhlZCwgMHhkMSwgMHgzZCwgMHg2YSwKLSAgMHg2ZiwgMHhjNywgMHhiNiwgMHg2MywgMHg4MCwgMHg1ZSwgMHgwMiwgMHgwYSwgMHhmOSwgMHhjZiwgMHhmNywgMHhjNywKLSAgMHgyZiwgMHg3ZCwgMHhiZCwgMHhjYSwgMHg0MiwgMHhjYiwgMHhmNywgMHg0NywgMHgyYiwgMHgwNiwgMHgxZSwgMHgwNCwKLSAgMHhmZCwgMHgwNSwgMHgyOSwgMHhiMSwgMHg5YSwgMHg4YiwgMHhhYiwgMHg3OSwgMHg3MywgMHhhZCwgMHhiMywgMHgyZCwKLSAgMHgxOSwgMHg3NiwgMHhiZCwgMHhlYiwgMHgwMCwgMHhiYiwgMHgyOSwgMHg3ZSwgMHhkOSwgMHgxZCwgMHhkZCwgMHhkNywKLSAgMHgzYiwgMHg3YSwgMHhmMCwgMHg1YiwgMHhkZiwgMHhkMSwgMHg4MywgMHg1ZiwgMHg3YSwgMHg0NywgMHg4NSwgMHhiZiwKLSAgMHhjNSwgMHg2ZiwgMHg2OCwgMHhkZiwgMHg2ZCwgMHgwZCwgMHhjYywgMHg1MiwgMHg3NywgMHg3YiwgMHhjNSwgMHhlMSwKLSAgMHhkYywgMHhjZSwgMHgxOSwgMHgxOCwgMHgzMiwgMHg3OCwgMHhjNCwgMHg1MCwgMHhmYywgMHgxNiwgMHg0MywgMHgyZSwKLSAgMHg5MCwgMHg4ZCwgMHhkNSwgMHg4NiwgMHhmMSwgMHgxZCwgMHg1NiwgMHhjMCwgMHhjNywgMHg0MSwgMHg3MiwgMHhjYywKLSAgMHg1OCwgMHhlNiwgMHgzZSwgMHg4YywgMHhlMiwgMHgwOSwgMHg1NywgMHhkNywgMHg4YSwgMHhkNywgMHhkYiwgMHg5NSwKLSAgMHg1NCwgMHg0NCwgMHgyYSwgMHhmMCwgMHhmMywgMHgyOSwgMHhjMSwgMHhhYSwgMHhjZCwgMHg4MSwgMHg5NywgMHgwNCwKLSAgMHg5ZiwgMHgzYiwgMHg2YywgMHg2NiwgMHhkYiwgMHg0YywgMHg2ZCwgMHg4NSwgMHhhMCwgMHg0MiwgMHg3MiwgMHhiOCwKLSAgMHhhNCwgMHgyMiwgMHg1OSwgMHhhMywgMHg3MywgMHhkYywgMHhhYSwgMHgxZiwgMHg4MiwgMHgwOCwgMHgyYywgMHhjYywKLSAgMHg0NSwgMHgyYSwgMHg1MSwgMHhlMSwgMHhhZSwgMHg4OSwgMHhmNywgMHg5ZCwgMHhlOSwgMHhkMCwgMHhjMCwgMHg4YywKLSAgMHg3OCwgMHgzOCwgMHgyNywgMHhjYSwgMHg2NywgMHhiNCwgMHhmMCwgMHg4MiwgMHgzYSwgMHg3ZSwgMHgxOCwgMHgwMiwKLSAgMHhiZiwgMHgwYywgMHg5YSwgMHhlYSwgMHg0YywgMHhlZSwgMHg5YSwgMHg0OCwgMHgxOSwgMHgxOCwgMHhhZCwgMHgxYiwKLSAgMHhhZSwgMHhlYywgMHgyZCwgMHg1NiwgMHg1NCwgMHg4ZCwgMHgxOCwgMHgzMSwgMHgxYiwgMHhiOSwgMHg2ZCwgMHg2YywKLSAgMHhjZCwgMHg4ZiwgMHg0MCwgMHhlZSwgMHhjZCwgMHg1MCwgMHhhNywgMHg2MywgMHhlZCwgMHgyYiwgMHgzNCwgMHg0MywKLSAgMHhiOSwgMHgyNCwgMHg3ZiwgMHg5NSwgMHhkNCwgMHg3ZiwgMHgwNCwgMHgxNSwgMHgzMywgMHg3ZiwgMHhjZiwgMHgzNCwKLSAgMHhjOSwgMHg1MSwgMHg1MywgMHgwOCwgMHgwNSwgMHg2NiwgMHhiNiwgMHg1ZCwgMHhhMiwgMHg5YSwgMHgwZiwgMHhkMCwKLSAgMHg3NSwgMHgxNCwgMHhjZSwgMHhlOSwgMHg2ZSwgMHhmMCwgMHg0OCwgMHg1YywgMHhkNiwgMHhmNCwgMHg3MSwgMHhkMSwKLSAgMHg2NywgMHgxNCwgMHhjYiwgMHg1ZiwgMHgwYywgMHg1ZSwgMHhlMSwgMHg1YSwgMHhkMiwgMHg5ZCwgMHg0OSwgMHg5MCwKLSAgMHg0ZiwgMHgxOCwgMHhjNCwgMHhiMywgMHhhZiwgMHgxZiwgMHg4YiwgMHg2NywgMHgyZCwgMHg0ZiwgMHhiOSwgMHgzNywKLSAgMHgyOSwgMHg3ZiwgMHg0NCwgMHg5ZCwgMHg1MCwgMHgzMCwgMHhmNSwgMHg0NSwgMHg4MywgMHgyMSwgMHgzNywgMHhkMSwKLSAgMHg0MCwgMHhmYiwgMHg2YywgMHgwZCwgMHg0MiwgMHgzOCwgMHgzZCwgMHg1YiwgMHg3NywgMHhlNiwgMHgyMCwgMHhhMiwKLSAgMHg1YiwgMHg1NywgMHg1NiwgMHgyMSwgMHg5ZCwgMHg0NywgMHhhMywgMHg1MSwgMHgwNCwgMHhjZSwgMHhlMiwgMHgzYSwKLSAgMHhjZiwgMHg2ZSwgMHg1YSwgMHhiZSwgMHg3OCwgMHg5OSwgMHhkOCwgMHhjMCwgMHg3NiwgMHhjOSwgMHg2MCwgMHgwZiwKLSAgMHhkMCwgMHgzNSwgMHhlZCwgMHg5MCwgMHgxOSwgMHg3MiwgMHg0MiwgMHgxMCwgMHg5YSwgMHgzZCwgMHhlNSwgMHgyNCwKLSAgMHhlZSwgMHhjYSwgMHhmYiwgMHg0ZiwgMHg3YiwgMHhkYiwgMHhmYywgMHg5MSwgMHhiNywgMHhiOSwgMHg4ZSwgMHhkNSwKLSAgMHg4MywgMHgzMiwgMHgyMCwgMHhiMiwgMHhlYiwgMHhlMSwgMHgzMCwgMHgyMCwgMHg5NywgMHg0OCwgMHg3NSwgMHg5NywKLSAgMHhhMCwgMHg2ZiwgMHg5MywgMHhjNywgMHhkMSwgMHhlOCwgMHhmYSwgMHg3MywgMHgwNSwgMHg0MiwgMHg1ZSwgMHgzMywKLSAgMHgyMiwgMHg3MSwgMHgxZSwgMHgyYiwgMHg4YSwgMHg5OSwgMHg2NCwgMHg5YSwgMHg3NiwgMHhkNCwgMHhlOSwgMHgxYSwKLSAgMHgyMywgMHgxYywgMHg1ZCwgMHhiNSwgMHgwZCwgMHgyMywgMHhmOCwgMHhhNiwgMHhlNCwgMHg4YSwgMHg0MiwgMHgxYiwKLSAgMHgxMCwgMHhlOSwgMHg0MiwgMHg0MCwgMHhiZSwgMHg5OCwgMHg0OCwgMHhlYSwgMHg5MSwgMHgzNiwgMHgyNiwgMHg3MSwKLSAgMHg3ZCwgMHhhYiwgMHhiYywgMHg0NCwgMHgxOSwgMHhkNywgMHg1MywgMHgyNCwgMHhkMSwgMHgwNSwgMHg0NiwgMHhlMywKLSAgMHhiZCwgMHhjMSwgMHgyMCwgMHhhZCwgMHg2NSwgMHg0YywgMHhlZSwgMHhiNCwgMHgyYiwgMHhhNywgMHg3NSwgMHhjMywKLSAgMHg1YSwgMHg1NSwgMHgzNiwgMHgzMCwgMHhiMCwgMHhiZCwgMHhmYSwgMHg1NCwgMHg4NywgMHhhMCwgMHhkNCwgMHhmMiwKLSAgMHg2ZCwgMHg1YiwgMHhiNCwgMHgzYiwgMHhmOSwgMHg0MCwgMHhlZCwgMHgwMSwgMHg2NCwgMHgwNywgMHg1MCwgMHgwMywKLSAgMHgwZSwgMHhhZiwgMHg5NSwgMHgwNiwgMHhlNiwgMHhmNiwgMHg2ZSwgMHhkMSwgMHgyMywgMHg2NiwgMHg2OSwgMHhjOSwKLSAgMHhhOCwgMHgxNywgMHhkNCwgMHg4MCwgMHg3MCwgMHg0NSwgMHg4OSwgMHgyNywgMHhiOCwgMHhmZSwgMHg1MiwgMHhiZCwKLSAgMHgyZSwgMHgwNSwgMHhlYiwgMHg1ZCwgMHgzMCwgMHgxMywgMHgwYiwgMHgwOSwgMHg0NywgMHg3YiwgMHgzZiwgMHhiYSwKLSAgMHg0YSwgMHg2ZiwgMHg2ZiwgMHg0NywgMHg3NSwgMHhiNiwgMHg2MywgMHhhOCwgMHhiNiwgMHhkZSwgMHhhOSwgMHhlYiwKLSAgMHgzOSwgMHg3ZCwgMHhiNCwgMHgwNiwgMHhmYSwgMHhkYSwgMHhkYSwgMHhkZSwgMHhjNiwgMHhiNywgMHg3NywgMHg5NiwKLSAgMHg4MCwgMHg4NCwgMHgzOSwgMHg0ZiwgMHg1MywgMHg3YSwgMHhiNSwgMHhjNSwgMHg2YywgMHg1ZCwgMHg3MywgMHg2MywKLSAgMHg2ZSwgMHgwZiwgMHhkNiwgMHg0ZCwgMHgxOSwgMHg2NiwgMHhjMCwgMHg2OSwgMHg3MiwgMHhkMywgMHhmYSwgMHg5NSwKLSAgMHhiNiwgMHhjYywgMHgxOSwgMHg1YywgMHg2NiwgMHg5NiwgMHgxZCwgMHhjNiwgMHg4MSwgMHhlOCwgMHgyNywgMHg4NCwKLSAgMHgzMCwgMHg1ZCwgMHhmNSwgMHg5NSwgMHg3NiwgMHgyNCwgMHg3MiwgMHg1NywgMHhmZCwgMHhlMCwgMHhhOCwgMHhkOSwKLSAgMHgxNiwgMHg1YiwgMHgwMiwgMHhjMSwgMHgzZCwgMHhhMiwgMHgwNCwgMHg1YSwgMHgwNywgMHgwZCwgMHhmZiwgMHg4YywKLSAgMHg4OCwgMHgyZCwgMHgzZiwgMHg0NiwgMHgyMCwgMHg5ZiwgMHhmYSwgMHhkYywgMHg5NiwgMHhkZSwgMHhkMiwgMHhhOCwKLSAgMHg1NiwgMHhlNCwgMHhiOSwgMHgwMywgMHgxNywgMHhiYywgMHhiOSwgMHhiOSwgMHgxOSwgMHhhZCwgMHhmMywgMHg1YiwKLSAgMHhmZSwgMHhkMywgMHgzMSwgMHhmMCwgMHhmNiwgMHg3MCwgMHhhNywgMHg0NSwgMHg3MiwgMHg5MiwgMHgxNywgMHhhYiwKLSAgMHg1YiwgMHgwZiwgMHhlMSwgMHhjNSwgMHgzNiwgMHg4MSwgMHhkMywgMHhhMCwgMHg1YywgMHhmMiwgMHhkZCwgMHhiYiwKLSAgMHhkNywgMHgwMywgMHgxYiwgMHhkOCwgMHg1NCwgMHg3MCwgMHgwZCwgMHg3OCwgMHg3ZSwgMHhlYiwgMHg4OCwgMHhkNiwKLSAgMHg5NiwgMHhlNSwgMHgyMCwgMHgxZSwgMHg4NiwgMHg4YiwgMHg3ZSwgMHg3OSwgMHg3OCwgMHhmNiwgMHhlMSwgMHhlZCwKLSAgMHhkMSwgMHhmOSwgMHg4NywgMHg3NywgMHg4NywgMHhkZiwgMHhkMywgMHgxNiwgMHhiMiwgMHg1ZiwgMHhjNiwgMHhjOCwKLSAgMHgyYiwgMHg4YSwgMHgwOCwgMHg1NCwgMHg2NSwgMHg2OSwgMHhkOCwgMHhlYywgMHgxYiwgMHg2MiwgMHhlYSwgMHg3OSwKLSAgMHgwMSwgMHg3OCwgMHg5NSwgMHg1OCwgMHhjNywgMHgzNiwgMHg4NSwgMHg4YywgMHg5MiwgMHg3OSwgMHhkMiwgMHg2NCwKLSAgMHg5ZSwgMHg3YiwgMHgzNCwgMHg0OCwgMHhmYiwgMHhmNSwgMHgzMSwgMHhhYiwgMHg4YSwgMHg2YywgMHgzZSwgMHgyYSwKLSAgMHhhYiwgMHg0YiwgMHhhMiwgMHhjMiwgMHg5ZCwgMHg1NywgMHhjMiwgMHgzZiwgMHhhMywgMHhjMywgMHhlZCwgMHg0OCwKLSAgMHg1NiwgMHgwMywgMHg0MSwgMHg5MCwgMHg1ZCwgMHg1NywgMHgxNywgMHg4NCwgMHg1OCwgMHhiMiwgMHg0NiwgMHhlMywKLSAgMHg2OSwgMHhmNSwgMHhhNywgMHhmNSwgMHg0OCwgMHhmMywgMHgxMSwgMHgxOCwgMHhlMCwgMHhmMiwgMHhmYSwgMHhkMSwKLSAgMHgzYSwgMHhmNSwgMHhhZSwgMHg2OSwgMHg5OSwgMHg0MywgMHhkMiwgMHhlMiwgMHgxMywgMHgwNCwgMHgwNCwgMHhkNywKLSAgMHg4ZiwgMHg5ZiwgMHhhYywgMHg5MiwgMHg3MSwgMHg0NCwgMHg3YSwgMHgxMCwgMHgwMSwgMHg0MCwgMHg4MCwgMHgzZSwKLSAgMHg1NywgMHg1YSwgMHgyOCwgMHgwOSwgMHgxNCwgMHhiOCwgMHg1MSwgMHg5MiwgMHg0ZCwgMHgzZiwgMHhkNywgMHgwZSwKLSAgMHgwZCwgMHgxNywgMHhlYiwgMHg0MywgMHg2OCwgMHhhYiwgMHg5ZiwgMHhiZSwgMHhlZiwgMHhlMSwgMHg0OSwgMHg2OCwKLSAgMHgxOSwgMHg1MiwgMHhjYiwgMHg1ZCwgMHg2ZiwgMHhjZCwgMHg0ZiwgMHg2NCwgMHhjZCwgMHg0ZiwgMHhmZSwgMHhiOSwKLSAgMHgzNSwgMHgzZiwgMHhmOSwgMHhmNSwgMHg2YiwgMHg3ZSwgMHhmNCwgMHgxYiwgMHhhZiwgMHhmOSwgMHg1MSwgMHg3NCwKLSAgMHhjZCwgMHhkZSwgMHg1NywgMHg4NiwgMHgzZiwgMHhkMywgMHg5YSwgMHg3ZiwgMHg1ZSwgMHgxNSwgMHgxZiwgMHg4NywKLSAgMHg2NiwgMHhiYSwgMHgyNCwgMHg4NSwgMHhhNSwgMHhjMSwgMHg2NiwgMHhkZCwgMHg2MywgMHhiMiwgMHhkOSwgMHhkYywKLSAgMHg3ZiwgMHg3OCwgMHhmNywgMHgxOCwgMHhlNiwgMHg1MywgMHg3MCwgMHg4NSwgMHhiZCwgMHg3ZSwgMHhhMSwgMHhhOSwKLSAgMHhkNywgMHg0MSwgMHg4ZiwgMHgyMywgMHg0ZiwgMHg1ZCwgMHgzZCwgMHhkYywgMHg4YiwgMHgzYywgMHhjMCwgMHgzYywKLSAgMHhjOCwgMHhhOSwgMHhkZSwgMHhiNywgMHg5ZSwgMHg5MiwgMHhhNywgMHg4MiwgMHg1NCwgMHhmYiwgMHgwZCwgMHg5OSwKLSAgMHg4ZCwgMHgwZSwgMHhiYiwgMHhhMSwgMHgwZCwgMHg1NywgMHg3MCwgMHhkMywgMHhkMywgMHgxMCwgMHhlNywgMHg2OCwKLSAgMHhjYSwgMHgxOCwgMHhlOSwgMHg1NywgMHhkYywgMHg3YSwgMHgwZSwgMHhiMiwgMHgwOCwgMHg0MSwgMHgyYiwgMHhjOSwKLSAgMHhmNCwgMHhlNywgMHgwNiwgMHg0NywgMHg4YywgMHgwMiwgMHhhNSwgMHg0MywgMHhlNywgMHgwMiwgMHhhNiwgMHgxNiwKLSAgMHhmMiwgMHg4YywgMHhmMywgMHhiYiwgMHgyNSwgMHgwZCwgMHg5OCwgMHg0YywgMHgyYSwgMHgyMywgMHg4MCwgMHhlMSwKLSAgMHhiMywgMHg5YywgMHhkZiwgMHg1MCwgMHg2YSwgMHg4MiwgMHhjZSwgMHhkMCwgMHgwZSwgMHg2MSwgMHg1NywgMHhjZCwKLSAgMHhkNiwgMHgxNSwgMHhhMiwgMHg3NSwgMHg5YiwgMHg4MSwgMHhjMiwgMHgzMCwgMHg5ZCwgMHg5NywgMHhjNCwgMHg3MSwKLSAgMHg2NiwgMHhlYiwgMHg4ZCwgMHg4ZiwgMHg4OSwgMHhlYiwgMHg2ZSwgMHhjYSwgMHhmMiwgMHhhMiwgMHhkMywgMHhlZSwKLSAgMHhkNCwgMHg5NywgMHgxYiwgMHgxZiwgMHhiMywgMHg2YywgMHg5OSwgMHhjZSwgMHgwMSwgMHhhZCwgMHg0MSwgMHhiOSwKLSAgMHgwZiwgMHg3ZCwgMHgwZCwgMHhiMiwgMHg1YSwgMHg4NCwgMHg1MSwgMHg2YiwgMHhlOSwgMHgwMCwgMHg1ZSwgMHhmMSwKLSAgMHhjYiwgMHg4MCwgMHg5OSwgMHhkMSwgMHhmMSwgMHg0OSwgMHg1MiwgMHhiNSwgMHg0YywgMHg5MiwgMHhjZiwgMHhhOCwKLSAgMHhkNCwgMHgzNSwgMHhkZSwgMHgyZiwgMHg0NSwgMHg5MywgMHgxZiwgMHhlYywgMHgxNCwgMHg0OCwgMHgzMSwgMHg5OSwKLSAgMHgwOCwgMHgwMCwgMHgwYywgMHhkYiwgMHg5MywgMHg0MCwgMHhhNSwgMHg1MiwgMHgxOCwgMHgzOSwgMHhhNCwgMHhlNiwKLSAgMHg1YywgMHhlNywgMHg5NCwgMHg5NSwgMHhkNywgMHhjNSwgMHgxYywgMHhlZSwgMHg4YywgMHgwMCwgMHg1NCwgMHhhOSwKLSAgMHg1NiwgMHhjMywgMHgwNCwgMHgzZSwgMHgzYywgMHg3YSwgMHhhMiwgMHhiNCwgMHgwMiwgMHg5MCwgMHhmYywgMHhmZSwKLSAgMHhlOCwgMHgyMiwgMHgxZCwgMHg5MCwgMHg5NCwgMHgyMiwgMHgyNywgMHg0YiwgMHgxNywgMHg4YSwgMHg5NywgMHg2NywKLSAgMHgxZiwgMHhiZSwgMHgzZCwgMHgzYSwgMHgzYSwgMHgzYiwgMHg3ZSwgMHg3NSwgMHg3MiwgMHgyNCwgMHgzNywgMHhjNiwKLSAgMHhmZSwgMHhlOCwgMHhlZCwgMHhmOSwgMHg3NywgMHgyNywgMHhhZSwgMHgyZiwgMHhhOCwgMHg4NCwgMHgzZCwgMHhiYSwKLSAgMHgwNCwgMHgyZiwgMHg3MCwgMHhmZiwgMHhjMiwgMHg5NiwgMHgwNywgMHhlOCwgMHg4MywgMHg2NSwgMHg2YywgMHhlOSwKLSAgMHhjMywgMHhlMywgMHgxZiwgMHg4YywgMHhkYSwgMHg3YSwgMHgzNiwgMHg3YywgMHhmZiwgMHg0MywgMHhkMCwgMHg4MiwKLSAgMHhhNCwgMHg1NSwgMHg2MywgMHhkMiwgMHhiNSwgMHhiYiwgMHg2YywgMHhjNSwgMHhjOSwgMHg3MCwgMHg1OCwgMHg5NCwKLSAgMHhlZSwgMHgwMCwgMHg3YiwgMHg1MywgMHhlZSwgMHg3ZSwgMHg2MywgMHgzMSwgMHg0OCwgMHg4OSwgMHhjYiwgMHg4NSwKLSAgMHhkNSwgMHgxOCwgMHhmOCwgMHg0NSwgMHhlZCwgMHhmMywgMHhlMywgMHg2NSwgMHhiNSwgMHgzZCwgMHhkOSwgMHhkNSwKLSAgMHhmNiwgMHg2OSwgMHg2YiwgMHg4MywgMHgxNiwgMHg5ZCwgMHg5NiwgMHg2ZCwgMHgxZiwgMHhiMywgMHgzYiwgMHg2MCwKLSAgMHgzOCwgMHgyNiwgMHgyZiwgMHhlOCwgMHhiZiwgMHhmMSwgMHgyNiwgMHhhNywgMHhjOSwgMHg1OSwgMHg5NSwgMHg1ZiwKLSAgMHg5MywgMHgwMiwgMHg2OCwgMHgxZSwgMHhlNiwgMHg5OCwgMHgyZSwgMHgzZCwgMHgzYiwgMHhiMiwgMHg0ZCwgMHg1ZiwKLSAgMHgyNSwgMHhhYywgMHg0YywgMHhhMywgMHgyMCwgMHhmMSwgMHgwNCwgMHhhMywgMHhjNiwgMHhiYywgMHgzZCwgMHg4MCwKLSAgMHhjNiwgMHgyMSwgMHhmNywgMHhhYSwgMHgxZCwgMHgyZCwgMHgzNywgMHhhNCwgMHhmMywgMHhlYSwgMHhlOCwgMHhkZCwKLSAgMHgyMCwgMHgzOSwgMHgzYiwgMHg3YSwgMHhjMywgMHg1NSwgMHgyYSwgMHg0NywgMHg2ZiwgMHhiZiwgMHhlNiwgMHgyZSwKLSAgMHg4ZSwgMHhiNiwgMHhiNSwgMHhlOSwgMHg4OCwgMHg3MywgMHhhNSwgMHhjMywgMHg2NCwgMHg0ZCwgMHg2ZiwgMHg0ZiwKLSAgMHhjYywgMHhlYiwgMHgwOCwgMHg4YSwgMHhkNCwgMHhiNSwgMHg5MSwgMHhhZSwgMHg5ZiwgMHgxMCwgMHg0MCwgMHg4NywKLSAgMHg5NywgMHhmNiwgMHhjMiwgMHhmYywgMHgyNywgMHhiNiwgMHg1NSwgMHhjNiwgMHg4ZSwgMHhmOCwgMHg2NiwgMHgzYiwKLSAgMHhkYywgMHgyZCwgMHg1MSwgMHhjYiwgMHg2YywgMHhlZSwgMHg4YywgMHg5OCwgMHgwNCwgMHhiNCwgMHgxYiwgMHhiYywKLSAgMHg2MSwgMHg2NiwgMHg0NywgMHhjMiwgMHgyYywgMHgwZSwgMHhkZCwgMHhhMSwgMHg0MiwgMHg3MCwgMHhmMSwgMHhhNCwKLSAgMHg3NywgMHhiYSwgMHg4NCwgMHhlMCwgMHhkMSwgMHg5OSwgMHg2MCwgMHhmYywgMHhjZCwgMHg4MCwgMHhjOCwgMHgxMiwKLSAgMHg0MCwgMHhlNCwgMHg2ZSwgMHgyZiwgMHhhMiwgMHhkNSwgMHhkMSwgMHgxNSwgMHg1OCwgMHg5ZCwgMHhkNCwgMHhkNywKLSAgMHhkYiwgMHgxMCwgMHgyOCwgMHhhOSwgMHg1NSwgMHhiMywgMHg3YywgMHgwNiwgMHgwOCwgMHgwNiwgMHhiOCwgMHhlOCwKLSAgMHhjYSwgMHg4YSwgMHgzMiwgMHgzOCwgMHg5MiwgMHg2NCwgMHhmMywgMHg3ZiwgMHhlZSwgMHg4YywgMHhlYSwgMHhmYSwKLSAgMHg2YSwgMHgyNywgMHg5ZiwgMHg3ZCwgMHhhOCwgMHhlYSwgMHg3NCwgMHhiMywgMHgyYiwgMHg4YiwgMHhiYywgMHg1ZiwKLSAgMHhjZiwgMHhlOCwgMHhkNywgMHhjOSwgMHhlNiwgMHhjOCwgMHgzZSwgMHgyYSwgMHg3ZiwgMHhhNywgMHg5ZiwgMHhjNywKLSAgMHhjZSwgMHg0MSwgMHgyNSwgMHgxMCwgMHg3YiwgMHg1NiwgMHgzNCwgMHg5ZiwgMHg1MywgMHg5YiwgMHhlNywgMHhjZSwKLSAgMHhmMywgMHg0OSwgMHg2NSwgMHgxNCwgMHgzOCwgMHhkNywgMHhmNCwgMHg0MywgMHg1YSwgMHhlMSwgMHgyNiwgMHhjYiwKLSAgMHg4ZiwgMHhkMywgMHg3YSwgMHg2ZiwgMHgyZiwgMHg0NCwgMHhhMSwgMHhiNywgMHgyNSwgMHg4ZSwgMHgwMywgMHg0ZCwKLSAgMHhjZCwgMHgzZCwgMHhmYiwgMHhmNiwgMHhlNSwgMHhmOCwgMHhmNywgMHg3YiwgMHg3YiwgMHg0OCwgMHg4MywgMHhkZSwKLSAgMHhhMiwgMHg3NCwgMHhkNSwgMHhhNywgMHg4ZiwgMHhmNywgMHhmNiwgMHhiNywgMHg2MywgMHgwYSwgMHg2NCwgMHg5MCwKLSAgMHhkNywgMHgwMywgMHg4NSwgMHhkMiwgMHgyNywgMHg0ZiwgMHhjNCwgMHhiOCwgMHhhNSwgMHhlNiwgMHhjMSwgMHgwZSwKLSAgMHgzYywgMHhjYiwgMHgyOCwgMHg0NSwgMHg5MCwgMHg5YywgMHg4NywgMHhiNiwgMHhmYiwgMHgwOSwgMHg3MiwgMHgyNywKLSAgMHg4MywgMHhkNCwgMHgwYiwgMHhmYywgMHg4YSwgMHgxZCwgMHhmNywgMHgxYiwgMHgzYywgMHhmZiwgMHhlNywgMHgxYiwKLSAgMHg5NiwgMHhhZSwgMHhmYywgMHgyNCwgMHg3MiwgMHg2NCwgMHhhMCwgMHg3OCwgMHhmMywgMHg0NiwgMHhlNiwgMHg0ZiwKLSAgMHgzNywgMHhiYywgMHhlNiwgMHhhZiwgMHgwYiwgMHg5OSwgMHg4ZSwgMHgwZSwgMHg2OSwgMHgyYSwgMHg2MywgMHhlNywKLSAgMHg4MCwgMHg2ZCwgMHgxYywgMHgxYywgMHg0OSwgMHgwZSwgMHgwOCwgMHg3YywgMHhmNSwgMHgzMiwgMHhhMywgMHg4ZCwKLSAgMHg4NCwgMHgyOSwgMHg4OCwgMHgyOCwgMHgzZSwgMHg3NSwgMHhhMywgMHhkYSwgMHhmZCwgMHhmNywgMHgzOCwgMHg0NCwKLSAgMHg3YiwgMHhkNCwgMHgyMCwgMHg3MSwgMHgxMiwgMHg5MiwgMHg3YSwgMHhjMywgMHg1YywgMHhkZiwgMHg4ZCwgMHhlOCwKLSAgMHg4OCwgMHg5ZiwgMHhmNCwgMHg0ZSwgMHg1NiwgMHg5MywgMHhlNCwgMHhjNSwgMHhkYywgMHhiYywgMHgzOCwgMHg4ZiwKLSAgMHg5NywgMHhkZSwgMHgxZCwgMHg3MSwgMHg5YiwgMHhhZCwgMHg2ZiwgMHhiMywgMHg2YSwgMHg5MiwgMHg1NSwgMHg2NSwKLSAgMHhkZCwgMHgyOSwgMHgxMSwgMHhkMiwgMHhkNiwgMHhhZSwgMHg5YywgMHg4OCwgMHg4ZCwgMHg2MSwgMHgzOCwgMHg1ZCwKLSAgMHgyYSwgMHhlMiwgMHhkMiwgMHhhNCwgMHg0MywgMHg5MywgMHhkZCwgMHgwOSwgMHg2MCwgMHg3OSwgMHgzNiwgMHg1MSwKLSAgMHhhZCwgMHg0NCwgMHgxNywgMHg4MCwgMHgxYSwgMHg0YiwgMHhkMSwgMHg5ZiwgMHg4NiwgMHgxYiwgMHg1ZiwgMHg3MCwKLSAgMHg3MywgMHhkMCwgMHg3NCwgMHhiZSwgMHg0OSwgMHhkZCwgMHg3ZSwgMHhiYSwgMHhkNywgMHg0OCwgMHg2OCwgMHg2ZCwKLSAgMHhkMywgMHhmMCwgMHg1MiwgMHgxZSwgMHg4ZCwgMHhiOCwgMHgwMywgMHhmMCwgMHgwZSwgMHg2NCwgMHgxZSwgMHhlYywKLSAgMHhlYiwgMHhiNSwgMHg0ZCwgMHg0NSwgMHhmZCwgMHgyNCwgMHhjMCwgMHgzYSwgMHhlOCwgMHg4MCwgMHg2NCwgMHg4NywKLSAgMHg2YiwgMHg0MywgMHgyNywgMHhmNSwgMHg2NSwgMHgxOCwgMHhmZiwgMHhjNiwgMHg2MiwgMHg4YSwgMHg4ZiwgMHhlMSwKLSAgMHhjMSwgMHhhMSwgMHhhMywgMHhjMCwgMHhiNSwgMHhkYSwgMHgxOSwgMHg0ZSwgMHgwZiwgMHhjYiwgMHgzZiwgMHg2NywKLSAgMHg3ZCwgMHgzZCwgMHhkYSwgMHgzOSwgMHhmNywgMHg5MCwgMHg2YiwgMHhjMywgMHgzYiwgMHg2ZCwgMHg4NywgMHgyOSwKLSAgMHg2YiwgMHgxMywgMHhlNSwgMHgxMSwgMHg2NCwgMHgxNiwgMHg0YSwgMHhlNSwgMHhhYiwgMHg5NCwgMHgwNiwgMHhhMywKLSAgMHg2ZCwgMHhhNCwgMHhlOCwgMHgxNywgMHg2MSwgMHg3MCwgMHg5YywgMHhiMywgMHhkNSwgMHgxMCwgMHhlNywgMHhkNiwKLSAgMHg2OSwgMHgwZiwgMHhkOSwgMHg3YywgMHg3ZiwgMHg5OSwgMHg4OCwgMHgzYiwgMHgwMiwgMHg5NSwgMHg1MSwgMHgzNywKLSAgMHgxNSwgMHhlMSwgMHhhNSwgMHgxNiwgMHgxYSwgMHg4NSwgMHg2MCwgMHhmMSwgMHgxOCwgMHgwNywgMHhkMSwgMHg1MiwKLSAgMHg0OCwgMHg1NSwgMHg3MywgMHg0OCwgMHg3MywgMHhlOSwgMHg2NywgMHhhOCwgMHhkOSwgMHg4OCwgMHg5NSwgMHg0ZSwKLSAgMHg2YiwgMHgyOCwgMHhlOSwgMHgxYywgMHhlYSwgMHgzMSwgMHhhMCwgMHhmNywgMHg3ZSwgMHhmNywgMHg0ZiwgMHg5ZSwKLSAgMHgxYywgMHgyYiwgMHhmNCwgMHhkMiwgMHgzYywgMHgyMSwgMHgwMiwgMHg5MywgMHhmMCwgMHg2MCwgMHhhYywgMHhiOCwKLSAgMHg0ZSwgMHg5OSwgMHgxZiwgMHg0YSwgMHgwNiwgMHg4NiwgMHgxMCwgMHg0YSwgMHgyZiwgMHgwYywgMHgzZiwgMHhjZCwKLSAgMHgwMiwgMHhiMCwgMHgyYywgMHg1NSwgMHgxMCwgMHgwNCwgMHhiYiwgMHg0NywgMHg5YSwgMHhiZCwgMHg3YSwgMHgyZCwKLSAgMHgxNywgMHhmMSwgMHgyZSwgMHhkMSwgMHgzYywgMHhiMCwgMHgyNCwgMHhmYywgMHhlMCwgMHhkYywgMHg5MCwgMHg1NCwKLSAgMHhkNiwgMHhhZSwgMHhiYiwgMHg4ZCwgMHhkYSwgMHg5NCwgMHhiOCwgMHgyYSwgMHg2ZCwgMHg1YywgMHg1YiwgMHg4MCwKLSAgMHhkMSwgMHgyYiwgMHhjOCwgMHg5MSwgMHg2NiwgMHg0OSwgMHhmMywgMHg4NiwgMHg5MCwgMHgyYiwgMHg1YSwgMHhmMiwKLSAgMHg2ZiwgMHg2MSwgMHg1YiwgMHhhNCwgMHg4MSwgMHgwZiwgMHgwNCwgMHgxNSwgMHgwZiwgMHhkYywgMHhmOSwgMHgyMywKLSAgMHhlNSwgMHg4ZSwgMHgwOCwgMHg5YiwgMHgzMywgMHg3NiwgMHg4YiwgMHhlMiwgMHg0OCwgMHhlYywgMHgzYywgMHhlOSwKLSAgMHhlZSwgMHhjOSwgMHhiYywgMHgzOCwgMHhiMywgMHhkNiwgMHhkYywgMHhlOCwgMHhjMCwgMHg1NCwgMHg5OCwgMHg5OCwKLSAgMHgyMSwgMHg2ZSwgMHhmMiwgMHg1OSwgMHg3MywgMHg4NSwgMHg0ZSwgMHgzYywgMHg2YSwgMHgxOSwgMHhkNSwgMHg4MiwKLSAgMHgwYiwgMHg0MCwgMHg2ZSwgMHhlYSwgMHgzYywgMHg1NiwgMHhmNCwgMHgxNiwgMHg3NSwgMHhlMCwgMHhmMSwgMHg4OSwKLSAgMHg2MSwgMHg0ZiwgMHgxMywgMHg4NiwgMHhjNywgMHgyMiwgMHg0ZiwgMHgxZCwgMHg4ZSwgMHgwMSwgMHgzZSwgMHhlZCwKLSAgMHgxZCwgMHhkNiwgMHhmNCwgMHgyYywgMHgzMiwgMHgwYywgMHhiNSwgMHhjYiwgMHhiZSwgMHhhMCwgMHgyZSwgMHgzYiwKLSAgMHhhMSwgMHg4NywgMHg1ZSwgMHhjYiwgMHhkMywgMHg0NiwgMHhmNiwgMHg4YSwgMHg0MCwgMHgyYywgMHg2ZCwgMHg3ZSwKLSAgMHg2NCwgMHg1YywgMHhmYywgMHg2ZiwgMHgzNywgMHhiNSwgMHg5ZiwgMHhlYywgMHhhYSwgMHg2OCwgMHhmYywgMHgxYSwKLSAgMHgxYSwgMHg3MywgMHg0MywgMHgzZiwgMHhlNiwgMHhmMywgMHgzMiwgMHhlYSwgMHg1MiwgMHgzNywgMHhhYywgMHg2ZCwKLSAgMHhjMSwgMHhhZiwgMHhiZiwgMHhkOSwgMHg1NCwgMHgzZiwgMHgyOSwgMHgwMSwgMHgyNiwgMHg1YywgMHhhNiwgMHhmMiwKLSAgMHg2YiwgMHhjNiwgMHg0YSwgMHhkOSwgMHhiYywgMHhlNCwgMHg4NywgMHhiZSwgMHhkNiwgMHg4NywgMHhjMiwgMHgxZSwKLSAgMHgxMiwgMHhlNCwgMHhiNSwgMHg2NywgMHgyZiwgMHhiZCwgMHgyNiwgMHhkMywgMHhkNSwgMHhjZiwgMHhhOSwgMHgzZSwKLSAgMHhlMywgMHhkYiwgMHg0MSwgMHg3MiwgMHhiMCwgMHhjMCwgMHhhMSwgMHhlYywgMHg3ZCwgMHgxZCwgMHhhZCwgMHg5YywKLSAgMHgwMywgMHgyZSwgMHgwMywgMHhhYywgMHgyZiwgMHhjZCwgMHhmNCwgMHgxOSwgMHhmZSwgMHg4NSwgMHg4YywgMHgyZSwKLSAgMHhlYywgMHgxOSwgMHg1MywgMHhhNiwgMHgyZCwgMHgwNiwgMHhlMywgMHg3MiwgMHg0MywgMHgyNywgMHhiZCwgMHhiYSwKLSAgMHhiYSwgMHgxMSwgMHgxZCwgMHhkNSwgMHg5MiwgMHg2YywgMHg4NCwgMHg1OSwgMHhhNiwgMHgxOCwgMHhlMSwgMHgwYiwKLSAgMHhiOCwgMHgzNiwgMHgyOSwgMHg1YiwgMHg2YSwgMHgyOSwgMHg1OCwgMHgxOCwgMHg0NCwgMHhhYSwgMHg0MywgMHgwYiwKLSAgMHg0MSwgMHg1YSwgMHhjZiwgMHhlOSwgMHgwMSwgMHgzNCwgMHhjNywgMHgyYSwgMHg4MywgMHhjYywgMHhlYSwgMHhmOSwKLSAgMHgxMiwgMHgwNiwgMHg5MiwgMHhlZCwgMHg2MSwgMHhlNywgMHg0ZCwgMHg4OSwgMHgwYSwgMHg1YiwgMHhhNywgMHg4OSwKLSAgMHhmOCwgMHg3OCwgMHgzZSwgMHhhMSwgMHg0OCwgMHg5YywgMHgwZiwgMHg3MCwgMHgzZiwgMHhlYiwgMHg2NiwgMHgxOCwKLSAgMHhjMSwgMHg3YiwgMHg2NSwgMHg3YywgMHhjMCwgMHhiMywgMHhkMywgMHhiMywgMHg4MywgMHg2ZCwgMHg1YiwgMHgxZiwKLSAgMHhjZCwgMHhjOSwgMHhmZSwgMHg4MiwgMHg4ZSwgMHg2MCwgMHhmMSwgMHgwMiwgMHgyZCwgMHg3MCwgMHg4MiwgMHg4MiwKLSAgMHgzMywgMHhhMywgMHg0YywgMHgyZiwgMHhiNCwgMHgyZCwgMHgwMSwgMHhmNiwgMHgwZCwgMHhkNiwgMHg4MiwgMHhlZiwKLSAgMHhjMSwgMHhlMSwgMHhlZiwgMHg4YSwgMHg0NCwgMHhiYywgMHgxZSwgMHg4OCwgMHhlZSwgMHg1YSwgMHgzYSwgMHg3YywKLSAgMHhjNCwgMHhjZiwgMHg0MiwgMHg1OCwgMHg5OSwgMHg1YSwgMHgzMywgMHhjYSwgMHg4MSwgMHhjOSwgMHgzMiwgMHg0NCwKLSAgMHhmOSwgMHg1ZiwgMHhkMiwgMHg2ZSwgMHgyOCwgMHg0MiwgMHgwZCwgMHgyOSwgMHgzYSwgMHg5MywgMHhlNCwgMHhjNCwKLSAgMHhhMywgMHg0OCwgMHg0YSwgMHg5NywgMHgwNCwgMHg3OSwgMHhkZCwgMHg4MywgMHgwOCwgMHg0OCwgMHg2OCwgMHgzNSwKLSAgMHgyNCwgMHhjYiwgMHg1YiwgMHg5YiwgMHg2ZCwgMHg0MSwgMHhkZSwgMHg1MiwgMHgyMiwgMHg1YiwgMHhjNiwgMHg1NCwKLSAgMHgxZSwgMHhjNSwgMHgyYSwgMHg3MCwgMHhhNSwgMHg5ZiwgMHg5ZCwgMHhmNCwgMHhiNSwgMHg2OCwgMHg1OSwgMHg2NCwKLSAgMHhkMiwgMHhhYiwgMHgyYywgMHg0ZCwgMHhkZSwgMHg5ZSwgMHg4YywgMHhjZiwgMHhmZCwgMHgxOCwgMHgxMiwgMHhmNCwKLSAgMHhiMCwgMHgyMCwgMHg5NSwgMHhiOSwgMHgwZCwgMHhlYywgMHhlNiwgMHgyNSwgMHgxNiwgMHg5ZCwgMHgxYywgMHg4ZiwKLSAgMHhjZiwgMHg0NywgMHhiMSwgMHg4ZSwgMHgwZCwgMHhjZiwgMHg5MywgMHgzMSwgMHhkNSwgMHhkYSwgMHg3OCwgMHgzOCwKLSAgMHgxOSwgMHgzOCwgMHgzNSwgMHhjMSwgMHhjZiwgMHhlMiwgMHhlMCwgMHg5OCwgMHhlMiwgMHhhNSwgMHhlNSwgMHg5NSwKLSAgMHg5NywgMHg5NSwgMHgxNSwgMHg1MiwgMHgyYSwgMHg0ZCwgMHhmMSwgMHg0ZiwgMHg5YywgMHhhNiwgMHgyYywgMHgyOSwKLSAgMHhjZSwgMHgxYSwgMHgyMiwgMHhhYSwgMHg1NywgMHg5MywgMHhhMSwgMHg4NywgMHhhNCwgMHhjOCwgMHhmYSwgMHgwZSwKLSAgMHg3YSwgMHg3MywgMHgxOSwgMHhlYSwgMHgzNSwgMHgxMiwgMHhlYSwgMHg2MywgMHg2OCwgMHg2MywgMHg2ZSwgMHgwOSwKLSAgMHgzZCwgMHgzMSwgMHgyMSwgMHgwOSwgMHgwYSwgMHg2NiwgMHhjYiwgMHhkYiwgMHgzZCwgMHg0ZCwgMHgzMiwgMHgyMCwKLSAgMHhlZSwgMHhjMiwgMHhjZCwgMHg0NCwgMHg0ZiwgMHgzZiwgMHg4OCwgMHhhOCwgMHg2OCwgMHgyMywgMHgzYSwgMHhmYiwKLSAgMHgyOCwgMHhiZCwgMHgxYywgMHhkYiwgMHgxNSwgMHgwYiwgMHgxNCwgMHhiMywgMHhmYiwgMHg4NSwgMHg3MSwgMHg0YSwKLSAgMHgyOSwgMHhlMywgMHg0NiwgMHhkNCwgMHg5ZCwgMHhhOSwgMHgwZSwgMHhjOSwgMHhjMSwgMHgxOSwgMHhmYiwgMHg5YiwKLSAgMHhlYywgMHhhYywgMHhmYiwgMHg0MCwgMHg4MCwgMHhmMywgMHgxOSwgMHgwMywgMHg2MSwgMHhkNiwgMHg2ZCwgMHgyNCwKLSAgMHg0YywgMHgwNiwgMHgzZCwgMHgyMCwgMHg5NiwgMHhjMywgMHg5ZCwgMHg3ZiwgMHhjOCwgMHgzMSwgMHhkMiwgMHg3MywKLSAgMHg5MiwgMHhlYywgMHg5MiwgMHg2YiwgMHhhNSwgMHhhNywgMHgwZSwgMHg3ZiwgMHhlMCwgMHg4NCwgMHg2NywgMHhjNCwKLSAgMHhjOSwgMHgwNiwgMHgzMSwgMHg3YywgMHhiNiwgMHgxOCwgMHhhYywgMHg5MCwgMHg4NSwgMHg1ZSwgMHgyOSwgMHg5MiwKLSAgMHhmNywgMHhjNywgMHhhZiwgMHg0ZSwgMHhiYSwgMHhjOCwgMHgzYywgMHg0OCwgMHhhMywgMHhiNSwgMHg0YiwgMHhhNSwKLSAgMHhhMiwgMHgxNiwgMHg2NSwgMHg5YSwgMHgzOCwgMHg5MSwgMHgyMCwgMHhlOCwgMHhiMywgMHgyYSwgMHg3MiwgMHhmMywKLSAgMHg3ZCwgMHhiZiwgMHhhZiwgMHhiZCwgMHhlMSwgMHg3ZSwgMHg1NywgMHg0ZSwgMHg4YywgMHg2ZCwgMHhkNiwgMHhiNiwKLSAgMHg3ZCwgMHg1ZCwgMHgzZSwgMHhmMywgMHg2YSwgMHgzZiwgMHgyNCwgMHg1ZiwgMHgzMywgMHg5YSwgMHg3ZiwgMHhiYywKLSAgMHgxNiwgMHgzOSwgMHg2NSwgMHhhZiwgMHgwZCwgMHg2ZiwgMHgwYSwgMHg5NCwgMHg2MywgMHgwMSwgMHgyMywgMHgzMywKLSAgMHhlMiwgMHg2OCwgMHgwNywgMHhmNSwgMHg4YiwgMHg4MSwgMHg3MiwgMHg0MSwgMHgwZSwgMHhhMCwgMHgzNCwgMHhmMSwKLSAgMHhmMiwgMHhlYiwgMHhkYSwgMHgzMCwgMHgzYiwgMHg2NSwgMHgyNSwgMHg3NSwgMHg4ZiwgMHg1YiwgMHhhZiwgMHhkZiwKLSAgMHg5ZCwgMHhiZSwgMHgxOSwgMHg5ZSwgMHg5ZiwgMHg2ZSwgMHgxMywgMHg5OSwgMHg2MCwgMHhlOCwgMHhmZSwgMHgxNCwKLSAgMHg5MSwgMHhkYSwgMHhiNiwgMHg0OCwgMHg3NSwgMHgyOCwgMHgyNSwgMHhlMiwgMHg2YSwgMHhkYiwgMHhhYSwgMHgwOSwKLSAgMHg1YSwgMHhkMCwgMHgzNSwgMHg0ZCwgMHhjMSwgMHhmNCwgMHhmNCwgMHhhZCwgMHhhMCwgMHg3ZCwgMHg0OSwgMHhjMSwKLSAgMHg5YSwgMHgwOCwgMHg1YywgMHgxOSwgMHg4NiwgMHg5NiwgMHhhNiwgMHgyOSwgMHgyOSwgMHg4YywgMHgzNiwgMHg5MCwKLSAgMHhjNSwgMHg1OSwgMHgxZCwgMHhjMiwgMHhiYSwgMHgyNywgMHhhYiwgMHhmYSwgMHgyZSwgMHg5MSwgMHhmYSwgMHhkMiwKLSAgMHg5YSwgMHg0ZSwgMHhjYSwgMHhkOCwgMHg1MiwgMHg2MSwgMHg3NCwgMHg0MCwgMHhjMSwgMHhmYSwgMHgyYywgMHg1MiwKLSAgMHgxMSwgMHg5NSwgMHhkYywgMHg3MSwgMHg1OSwgMHg1NywgMHg1MywgMHg5YSwgMHhkYiwgMHg5YiwgMHg1NiwgMHg1NSwKLSAgMHg3OSwgMHhhMywgMHg3MiwgMHgwYiwgMHhiNSwgMHhkZiwgMHhlNiwgMHgxOCwgMHhjZCwgMHhkNCwgMHhlOSwgMHg5YywKLSAgMHhhYSwgMHhiYiwgMHg1ZSwgMHg3NCwgMHgxNywgMHgwMSwgMHgyYywgMHhkMywgMHg4ZSwgMHhlMSwgMHg2YiwgMHhkNSwKLSAgMHhiZiwgMHhjNywgMHg2ZCwgMHhjYywgMHgwZCwgMHg0ZCwgMHgwMCwgMHgxZiwgMHgzNiwgMHhkNSwgMHg4YSwgMHg2YSwKLSAgMHg0YSwgMHg3YiwgMHg5MiwgMHhmOCwgMHg0ZSwgMHg4MCwgMHhlMCwgMHhkOCwgMHg0OSwgMHgxYSwgMHgxZiwgMHgwOCwKLSAgMHhhOCwgMHgyMiwgMHgwMSwgMHhmMCwgMHhhMCwgMHhjZCwgMHg5YiwgMHgyZCwgMHhkMSwgMHhkMywgMHhiNiwgMHg0MywKLSAgMHg3ZiwgMHgwYywgMHg2ZSwgMHhiMCwgMHg2MCwgMHgyZCwgMHg5MywgMHg1MiwgMHgzZiwgMHg5ZiwgMHhiYiwgMHhiNCwKLSAgMHg3MSwgMHg0MSwgMHhlYywgMHhjYywgMHgxYiwgMHhlZSwgMHhiYywgMHhhOSwgMHgyOSwgMHgzOCwgMHg0MCwgMHg1MiwKLSAgMHhlMywgMHhjZSwgMHhiZiwgMHhlOSwgMHg1ZCwgMHg2OCwgMHg3YSwgMHgyOSwgMHg0YSwgMHg1MiwgMHg0ZSwgMHgwOCwKLSAgMHgxNSwgMHhiMywgMHhkNSwgMHgxNCwgMHhhNywgMHg0NCwgMHgxMSwgMHgzZiwgMHhlYSwgMHhlYiwgMHgzOSwgMHg2MSwKLSAgMHhlMCwgMHg1NiwgMHg4NSwgMHg3OSwgMHhhMCwgMHhhMSwgMHg1ZCwgMHhiZSwgMHgzYywgMHgzYiwgMHg3MCwgMHhiYSwKLSAgMHg1YSwgMHgxNiwgMHgzZiwgMHg2NSwgMHg5YiwgMHg5NSwgMHg5MSwgMHgyYSwgMHg0OSwgMHg2OSwgMHg3ZCwgMHhiNiwKLSAgMHhkMSwgMHg1NiwgMHhjNywgMHhlNCwgMHhhNCwgMHg5OCwgMHg5MiwgMHg2YiwgMHg5NSwgMHgxYywgMHhiMiwgMHgyYiwKLSAgMHgwMiwgMHhjZCwgMHgwNywgMHg1YywgMHhiOCwgMHhjNCwgMHhmZCwgMHgwOSwgMHhkOSwgMHg5MiwgMHhjOCwgMHgxNywKLSAgMHg0MSwgMHhmNywgMHhhZiwgMHhkMiwgMHhkYSwgMHhiMCwgMHhhNSwgMHhmNiwgMHg4OCwgMHhkYiwgMHg2YiwgMHhkYywKLSAgMHhkMywgMHgyYiwgMHgyZCwgMHhhYywgMHhmMCwgMHg0ZSwgMHhlZiwgMHg2NCwgMHhlMCwgMHg5ZCwgMHg0NiwgMHhjZiwKLSAgMHhjOSwgMHgxZCwgMHg4YiwgMHg5NCwgMHgxNiwgMHhiZSwgMHhjNiwgMHhjOSwgMHgxOSwgMHhkZSwgMHg5ZSwgMHgwYiwKLSAgMHg5NywgMHgwMiwgMHhlZSwgMHgyMiwgMHg2NSwgMHhhYiwgMHhhNywgMHhkNCwgMHhlNiwgMHhmYSwgMHgzYSwgMHhjNiwKLSAgMHg5YywgMHg1MiwgMHhkYiwgMHhjYiwgMHhiMSwgMHg0OSwgMHhmNCwgMHhhMywgMHhjOSwgMHg5NiwgMHg1NiwgMHg3ZSwKLSAgMHhkYSwgMHg1MiwgMHhhNCwgMHgxMywgMHhmOSwgMHhkNSwgMHg3MywgMHg1YiwgMHg5YiwgMHg0YSwgMHgzYywgMHhhZCwKLSAgMHgzMywgMHhkYywgMHhjMSwgMHgwZiwgMHgzZiwgMHgyNCwgMHhlZCwgMHhjNiwgMHhjYiwgMHhkYiwgMHg4MywgMHhiMCwKLSAgMHgyNiwgMHhjMiwgMHgyZiwgMHg0YSwgMHg5OSwgMHg5NSwgMHhmZSwgMHg3NCwgMHg4MywgMHhiYSwgMHgzYSwgMHhhNiwKLSAgMHgzOSwgMHhhMywgMHgxMCwgMHgyMCwgMHg4NSwgMHg3ZiwgMHg2NCwgMHg4MSwgMHgyMiwgMHg5YSwgMHhkMiwgMHg1OCwKLSAgMHg3ZiwgMHg1NywgMHg1YSwgMHg2OCwgMHg4NSwgMHhmYywgMHgwZCwgMHg5NywgMHhjMCwgMHg0MSwgMHhhZSwgMHgzMiwKLSAgMHgxNCwgMHg3OSwgMHg4NiwgMHgzOSwgMHgzZiwgMHg2MCwgMHhiOCwgMHg5YSwgMHg3YSwgMHhjMSwgMHgzMSwgMHgxNSwKLSAgMHhlNCwgMHhhNCwgMHhmYiwgMHg5YiwgMHg1NSwgMHgzYiwgMHhlNywgMHhjYywgMHgxNSwgMHhjNSwgMHgxNiwgMHgwNCwKLSAgMHg5NywgMHhmYywgMHhkZSwgMHhlNiwgMHhkMCwgMHgwYywgMHhmZCwgMHg4MSwgMHg3NSwgMHg0MSwgMHhlMCwgMHg3MywKLSAgMHg1NywgMHgwOSwgMHg0ZSwgMHg4OCwgMHg5ZCwgMHg1NiwgMHg5OSwgMHhmOCwgMHgxYSwgMHg2YSwgMHgwYiwgMHhhZCwKLSAgMHgxZiwgMHg0NCwgMHg5MSwgMHgwOSwgMHhiNCwgMHg2NywgMHhjZSwgMHhhOSwgMHg2YiwgMHhlYywgMHg1NywgMHg0ZCwKLSAgMHhiZCwgMHgxYiwgMHhlMywgMHgzMCwgMHgxNywgMHgzYiwgMHg2NywgMHhjNiwgMHhiNSwgMHgxOCwgMHg4MSwgMHhmNiwKLSAgMHg3ZSwgMHg1MywgMHg5MiwgMHhmZSwgMHg0NCwgMHgxOCwgMHgxOCwgMHg0MCwgMHg4YywgMHgyYiwgMHhkOSwgMHhhOSwKLSAgMHg4NSwgMHhiZSwgMHhjMSwgMHgyYSwgMHg2ZCwgMHhmZSwgMHhhOCwgMHhmNywgMHg3NiwgMHgwNCwgMHg4MiwgMHhiNCwKLSAgMHgwMSwgMHgzMSwgMHhhMiwgMHg4MiwgMHg1OCwgMHgwOCwgMHg1NCwgMHg5OSwgMHgwOSwgMHgwZSwgMHg4NiwgMHhmMCwKLSAgMHg3ZCwgMHgyOSwgMHgxZCwgMHg0ZSwgMHgzYiwgMHg5MiwgMHg5MSwgMHhiNywgMHg1OCwgMHhhMywgMHhlNCwgMHhhYywKLSAgMHg0ZiwgMHgwMywgMHg4YSwgMHg2MiwgMHgwMSwgMHhkYiwgMHgyNSwgMHgwMCwgMHg5YSwgMHg3NiwgMHg1NywgMHg5NiwKLSAgMHhjMSwgMHg3MiwgMHg4OCwgMHhjZCwgMHg1OCwgMHg2OCwgMHgzYSwgMHhmNiwgMHg2ZCwgMHgxOSwgMHg5MywgMHg3NCwKLSAgMHg4OCwgMHhjNywgMHhlYSwgMHhiZSwgMHg3NCwgMHgxMywgMHgxNywgMHgzNSwgMHg5MywgMHhlZSwgMHgyOSwgMHhmZSwKLSAgMHg4NiwgMHg0MSwgMHhjNCwgMHg1ZSwgMHhiNCwgMHgzMiwgMHg1YiwgMHg3MiwgMHhlZSwgMHgzOSwgMHg0YSwgMHgwMCwKLSAgMHgyMiwgMHg4MywgMHg4OCwgMHhiZCwgMHhjMywgMHg1ZSwgMHg4NSwgMHg1OSwgMHgxOSwgMHg3OCwgMHg2MiwgMHg2ZCwKLSAgMHg5NSwgMHgyYSwgMHhkZiwgMHgwNCwgMHg0MiwgMHhlYiwgMHg5MCwgMHg5MSwgMHg1YiwgMHhmOSwgMHg0MCwgMHg4MSwKLSAgMHhhZSwgMHg1YywgMHgyNywgMHgwNywgMHhiYiwgMHg3YiwgMHhjNiwgMHg1OCwgMHhkYSwgMHhkZCwgMHg0NywgMHgzNywKLSAgMHhlOSwgMHg4MywgMHhkZCwgMHgwMywgMHg4YiwgMHg3NiwgMHhkMCwgMHhiYSwgMHgyMywgMHhmYywgMHgyYywgMHhkYywKLSAgMHgyMSwgMHg2YywgMHg4NCwgMHg5YSwgMHg4YiwgMHg3NCwgMHg3YiwgMHgxYiwgMHhiNiwgMHhhOSwgMHhjOCwgMHhkYSwKLSAgMHg3NSwgMHgxNCwgMHg0MywgMHg1YiwgMHg3YiwgMHgxOCwgMHg0ZSwgMHhkNSwgMHg2ZCwgMHgyNCwgMHhlMiwgMHg3NSwKLSAgMHg2MSwgMHg2NywgMHg0YSwgMHhhZSwgMHhmNCwgMHhhNSwgMHg5YSwgMHgxOSwgMHgwMCwgMHg4NCwgMHg4YywgMHhmYSwKLSAgMHhkYSwgMHg1OCwgMHgzNSwgMHg1ZCwgMHgwYywgMHgzNCwgMHgzOSwgMHg3MCwgMHgxZiwgMHgzMywgMHgwNiwgMHg4NywKLSAgMHg0OCwgMHhiYiwgMHgyMiwgMHhkMCwgMHg0YiwgMHg2NiwgMHhhNSwgMHhiNywgMHg3ZCwgMHhmNSwgMHgwNywgMHhhZSwKLSAgMHg3NywgMHg5ZiwgMHhjNSwgMHgyOCwgMHg1NSwgMHg0NiwgMHhhMywgMHg3NSwgMHgzMiwgMHhkYSwgMHg5YiwgMHhmNSwKLSAgMHgzOSwgMHgyNSwgMHg3YywgMHgxOCwgMHhlMiwgMHhhNiwgMHg0ZCwgMHgwYywgMHg2ZSwgMHgzMiwgMHhmZiwgMHg0MiwKLSAgMHhmMywgMHhmMywgMHhmOCwgMHg1ZiwgMHgwNywgMHg1MSwgMHg3YiwgMHg1ZCwgMHgxMCwgMHg1MCwgMHhjOCwgMHgwOSwKLSAgMHg2YSwgMHhiNSwgMHgzOCwgMHhhNywgMHhjNiwgMHhiNSwgMHgwMiwgMHhiYiwgMHhlYywgMHgwYSwgMHhlMSwgMHhlNywKLSAgMHg2MywgMHg5ZSwgMHg3YSwgMHhmNiwgMHgwYiwgMHgzOCwgMHgzZiwgMHg0MSwgMHg5ZCwgMHhjZCwgMHgwNSwgMHg0YywKLSAgMHg2MywgMHhkNSwgMHg0YSwgMHg3MywgMHgxYSwgMHgwMiwgMHgyMywgMHg2OSwgMHhhOCwgMHgwYiwgMHg3YSwgMHgyMSwKLSAgMHg3ZiwgMHgwOSwgMHgxYywgMHhhMCwgMHhlOCwgMHg1YSwgMHgwYywgMHg3NSwgMHgxYiwgMHg5ZCwgMHg2NywgMHhiNiwKLSAgMHhhZCwgMHg1MywgMHgwNiwgMHg2NiwgMHgyNCwgMHg4ZCwgMHg2MSwgMHgzNywgMHg0NSwgMHg1NCwgMHgxZiwgMHhlOSwKLSAgMHgwOCwgMHhjZiwgMHg1YywgMHhiZiwgMHgyYiwgMHhlNywgMHg1YSwgMHg0MiwgMHhhNywgMHhmNywgMHg0NCwgMHg1NSwKLSAgMHhiZCwgMHgwYywgMHhjNiwgMHhkNywgMHhiYywgMHgwZCwgMHg4YiwgMHg0MywgMHhlMCwgMHhkNCwgMHg2YywgMHhmMywKLSAgMHg1OCwgMHg4YywgMHgyMSwgMHhkNCwgMHg5YSwgMHg3MCwgMHg4ZiwgMHhiNiwgMHhkYSwgMHhlYSwgMHhjMSwgMHg5NywKLSAgMHgzOSwgMHg3NiwgMHhhNiwgMHg5MywgMHgxYywgMHgzNiwgMHg2OCwgMHgyZiwgMHgwZCwgMHhlNywgMHg1YSwgMHg2OCwKLSAgMHhmNywgMHhkMiwgMHg1NiwgMHgwYywgMHg3OCwgMHgyYiwgMHhkMCwgMHhiMywgMHg5ZCwgMHgxYSwgMHhmMSwgMHg2OCwKLSAgMHg1ZSwgMHg2NywgMHg2YiwgMHhhNiwgMHgxYywgMHg1ZSwgMHgwMSwgMHg2MiwgMHhiNCwgMHg2NiwgMHg3ZiwgMHhjNCwKLSAgMHhkMiwgMHg3NiwgMHgzOSwgMHhmNSwgMHgwMywgMHgwNywgMHhkYSwgMHg1ZSwgMHhlOCwgMHg3MiwgMHg0ZSwgMHhhOCwKLSAgMHg4ZCwgMHgzMCwgMHgyNSwgMHhhNCwgMHhiNSwgMHhmNCwgMHhhMywgMHgwMSwgMHhmZSwgMHhmNiwgMHg3OCwgMHhmNywKLSAgMHgxOSwgMHg5MywgMHhkMywgMHhmMSwgMHhkMSwgMHhmOSwgMHhlYiwgMHhhZSwgMHg4NywgMHhiMCwgMHgzMiwgMHhhNCwKLSAgMHhjZCwgMHhmZiwgMHgxZCwgMHg2NiwgMHg2OSwgMHg3NSwgMHg2NSwgMHgyYywgMHgxNiwgMHgwMiwgMHg2MCwgMHgxYSwKLSAgMHg1MiwgMHg1MywgMHg4ZiwgMHhlMSwgMHhlZSwgMHg2ZSwgMHgyYywgMHgxOSwgMHhlNCwgMHgxMywgMHg2MiwgMHg0ZSwKLSAgMHgxYywgMHgzYywgMHg2YSwgMHhjNywgMHgwOSwgMHhjOSwgMHg0ZSwgMHgxOCwgMHhkMiwgMHg3NiwgMHhmNywgMHhjMywKLSAgMHgwMywgMHhiNywgMHhjOSwgMHhjYiwgMHgyMiwgMHhjOCwgMHhjYiwgMHhlMywgMHhhZCwgMHgyYywgMHgwMCwgMHgyZCwKLSAgMHhhNiwgMHg4MywgMHg5OCwgMHhlYSwgMHhhMCwgMHg2YiwgMHg3YSwgMHg3NiwgMHg3YiwgMHg1NywgMHg2YiwgMHg3MiwKLSAgMHhhMCwgMHhiNCwgMHg1YiwgMHg2YywgMHg5YiwgMHgzNCwgMHg3NywgMHhkYiwgMHgwOSwgMHhiNywgMHhhNiwgMHhlNCwKLSAgMHgxZSwgMHg3MiwgMHgwZCwgMHg5OCwgMHgwZCwgMHgyYywgMHg5MywgMHg2OCwgMHgzNSwgMHg3ZSwgMHgyZCwgMHhmNSwKLSAgMHg4OCwgMHg1NSwgMHg0NiwgMHgzOCwgMHg2ZSwgMHhhYywgMHg0YiwgMHg0YSwgMHgyZiwgMHhhZSwgMHhmYiwgMHhiMSwKLSAgMHhlOCwgMHhiMCwgMHgwNSwgMHhkNSwgMHg3NCwgMHgyOSwgMHg5NSwgMHhhOSwgMHhmYywgMHg2ZiwgMHg5MiwgMHhlZiwKLSAgMHhhZCwgMHhhNCwgMHhkYywgMHhmZCwgMHhjNywgMHg5MSwgMHg4ZCwgMHg4MywgMHgxNiwgMHhmMCwgMHgyYiwgMHgzNywKLSAgMHhjZSwgMHhlOSwgMHg1YiwgMHhlYywgMHgxNSwgMHhlNCwgMHg4ZSwgMHg1MSwgMHg1YSwgMHhmZiwgMHgxOCwgMHg0OSwKLSAgMHhmZiwgMHhkNiwgMHgxNiwgMHhkMSwgMHhiZiwgMHg3OCwgMHgyZCwgMHhiNCwgMHhkYiwgMHhhMywgMHg3NSwgMHg4OCwKLSAgMHg5NiwgMHhmNiwgMHhhZCwgMHgyMSwgMHg5NCwgMHg3NiwgMHg3NCwgMHhmMCwgMHg4OCwgMHgyZiwgMHhlNiwgMHg3YiwKLSAgMHgxZiwgMHg2YywgMHg4MSwgMHhmMSwgMHhkNiwgMHg0YSwgMHg1NywgMHgwNywgMHg2OSwgMHg4NCwgMHg2NywgMHhiZSwKLSAgMHgyNCwgMHhhMCwgMHgwZiwgMHg0MywgMHg5ZCwgMHhhZSwgMHg1MCwgMHgyYiwgMHhjYSwgMHgwZCwgMHg2MSwgMHgyMSwKLSAgMHg0YywgMHgwMCwgMHhhMiwgMHg0NiwgMHhkNywgMHhkNSwgMHgxOCwgMHgyZSwgMHhlNCwgMHhmMiwgMHgxMCwgMHg3ZCwKLSAgMHhlOCwgMHg4MiwgMHhjYywgMHgyNiwgMHhiYSwgMHg2YiwgMHg4ZCwgMHhjNiwgMHg2MCwgMHhkNCwgMHgwNCwgMHhkNSwKLSAgMHhmMSwgMHg4MywgMHg4YSwgMHgzNywgMHg3OCwgMHg2NywgMHhkZSwgMHhiZCwgMHgzYywgMHgzYiwgMHg0ZiwgMHhjZSwKLSAgMHg0ZiwgMHg3ZCwgMHhiNywgMHgwMiwgMHg1NywgMHg2ZCwgMHg5MywgMHgwMSwgMHg4ZCwgMHgyNiwgMHg0NywgMHg1MSwKLSAgMHgyZSwgMHg2ZiwgMHgyNywgMHhlYSwgMHhkYSwgMHg1YiwgMHg4OCwgMHg0ZCwgMHhjZSwgMHgwMiwgMHgwYiwgMHhhOSwKLSAgMHg5NSwgMHg0MCwgMHhkNSwgMHgwMywgMHhmNiwgMHhhZCwgMHhiZiwgMHg1YiwgMHg5MSwgMHhlMiwgMHgzNiwgMHhlYywKLSAgMHg1ZSwgMHhkNywgMHhlZCwgMHhjZiwgMHgwYSwgMHhhYywgMHg0ZCwgMHg4ZiwgMHhmNiwgMHhkNCwgMHg1OCwgMHg0ZSwKLSAgMHhlZSwgMHg0ZSwgMHg3OCwgMHg3YSwgMHhiMSwgMHhlNiwgMHg3YiwgMHg5YSwgMHg2NCwgMHg2YSwgMHhjYiwgMHgxYywKLSAgMHgzOSwgMHgyMywgMHg4NCwgMHhlNiwgMHg3MiwgMHg5ZCwgMHhjZSwgMHhmMywgMHg5OSwgMHhiNywgMHgyYiwgMHhhMSwKLSAgMHhlMywgMHhiMSwgMHg2MCwgMHhmMCwgMHg3YywgMHhjZSwgMHg4NSwgMHg2MSwgMHg3NSwgMHg1NSwgMHgxZiwgMHgxNiwKLSAgMHg2YiwgMHgzMiwgMHhiMiwgMHg2NywgMHhiNCwgMHg4MiwgMHhjMSwgMHgyZiwgMHgzZSwgMHgzNSwgMHg4NiwgMHg4NSwKLSAgMHhjMSwgMHg2ZSwgMHhjMywgMHgwMywgMHg0MSwgMHhlYiwgMHg0MSwgMHg4NiwgMHg4NiwgMHhhMSwgMHhlZSwgMHg1OSwKLSAgMHhiYywgMHg0ZiwgMHg0YSwgMHhlOSwgMHg3OCwgMHg1OCwgMHg2NywgMHgxYSwgMHhhMywgMHgzNiwgMHgwMiwgMHhjYiwKLSAgMHhiMywgMHgxZSwgMHg3YSwgMHhmZCwgMHhiNSwgMHg3NywgMHg2ZiwgMHhlMCwgMHhkYSwgMHhmZiwgMHg5MCwgMHg3NiwKLSAgMHhiNSwgMHg5MCwgMHhmNiwgMHg4NiwgMHg3MCwgMHhiOCwgMHgyMSwgMHhhYSwgMHhkZiwgMHg0NSwgMHg0NywgMHhjYSwKLSAgMHg5NiwgMHg1OSwgMHhkYSwgMHgyYSwgMHhmNSwgMHg2OCwgMHgzMywgMHg2MywgMHhlYiwgMHhhOCwgMHg4OSwgMHhkZiwKLSAgMHg4NiwgMHhhOCwgMHhiMywgMHg1MSwgMHhiYywgMHg1ZCwgMHhlYywgMHg0YSwgMHhjMywgMHhlNSwgMHhkNywgMHhiOCwKLSAgMHhjNCwgMHg0MCwgMHg4ZSwgMHg1OSwgMHg1ZSwgMHg1NywgMHg5ZSwgMHhhMCwgMHgzMiwgMHgzNiwgMHhiMCwgMHg5YywKLSAgMHg5OCwgMHgwYywgMHhkOCwgMHgwOSwgMHg2NywgMHg5OSwgMHg0YiwgMHhlOSwgMHhlMCwgMHgyNSwgMHg3OCwgMHhmMCwKLSAgMHgzMiwgMHhhZSwgMHgwMywgMHhiNywgMHhlNiwgMHg1MSwgMHhkOCwgMHhmNywgMHgzOSwgMHhlOSwgMHg1NywgMHgyZCwKLSAgMHhiYSwgMHhlZiwgMHhkZSwgMHhiZCwgMHhmZSwgMHg4YiwgMHgxZSwgMHhjZCwgMHhiNiwgMHg0ZSwgMHgyZiwgMHg2OCwKLSAgMHg4NiwgMHhkNiwgMHg5ZSwgMHhlZSwgMHgyNCwgMHhmMywgMHhkMiwgMHg2MSwgMHgwNSwgMHgwNywgMHhhNSwgMHhiNSwKLSAgMHhlYiwgMHhmYywgMHgyZiwgMHg0MSwgMHgzMiwgMHgwOCwgMHg3MSwgMHhmMiwgMHgxOSwgMHhjZiwgMHgzYiwgMHhkOSwKLSAgMHhhMiwgMHg1OCwgMHhiMywgMHg3OSwgMHg2ZSwgMHgyYywgMHg3ZSwgMHg4ZCwgMHg4MywgMHhkMSwgMHg2MywgMHhiOCwKLSAgMHgwNSwgMHg1ZiwgMHhiZiwgMHg3YywgMHg3YywgMHhiMCwgMHhiZiwgMHhiNywgMHgzZCwgMHg0YSwgMHhiNiwgMHgzYSwKLSAgMHhkMiwgMHg2ZCwgMHhmYiwgMHhiMywgMHgwNywgMHhlZCwgMHhiNiwgMHgzZCwgMHhlZiwgMHhlYywgMHg3NiwgMHg0OSwKLSAgMHhhNCwgMHhiYiwgMHg3NSwgMHhmNCwgMHhjMywgMHhkOSwgMHhkYiwgMHg2MCwgMHg4ZCwgMHg2NiwgMHg0ZCwgMHg0MSwKLSAgMHgzNiwgMHg0MSwgMHhkZiwgMHgxYSwgMHg5ZCwgMHhkZSwgMHhkYywgMHgxYSwgMHg1ZiwgMHhmMywgMHg3YSwgMHhkMSwKLSAgMHhhZCwgMHgzZCwgMHgxMiwgMHhhZiwgMHg3ZiwgMHg1ZCwgMHhlNSwgMHg2NCwgMHhlYywgMHg2ZCwgMHhkMCwgMHg5NiwKLSAgMHg2YywgMHg5YywgMHg5NCwgMHhjNSwgMHhjYywgMHgxOCwgMHg0YiwgMHhhNywgMHgwNCwgMHg1NCwgMHg5OSwgMHg2ZCwKLSAgMHg5OCwgMHg1YiwgMHg3MCwgMHhlZiwgMHhlYSwgMHhmYSwgMHhkOSwgMHhmYSwgMHg5YiwgMHgwMSwgMHhhZSwgMHg0YSwKLSAgMHgxMSwgMHhhNiwgMHg3OSwgMHhiZCwgMHhjMSwgMHgwZiwgMHg4MSwgMHgwOSwgMHg0ZSwgMHgwMCwgMHgzZiwgMHg1YywKLSAgMHg2NiwgMHhiNSwgMHg5MiwgMHhjMiwgMHg3NCwgMHg3NCwgMHg0OCwgMHg2YiwgMHhkZiwgMHhiNiwgMHg1YiwgMHg3NCwKLSAgMHhlNSwgMHg4MiwgMHhkYiwgMHhmMywgMHgwNSwgMHhhMiwgMHgzYSwgMHgwZiwgMHgwYywgMHgwOCwgMHhlMiwgMHg4ZCwKLSAgMHgyZCwgMHgwZCwgMHg2ZSwgMHg2ZCwgMHg3YiwgMHhjZCwgMHhhNiwgMHg4MSwgMHg2MCwgMHhjYiwgMHgwMSwgMHgzZiwKLSAgMHhiMiwgMHg2YiwgMHgyMiwgMHgzYSwgMHgwMiwgMHgxZSwgMHg3MywgMHhjNiwgMHg3NSwgMHg2ZSwgMHg0YiwgMHg0MywKLSAgMHgwNCwgMHg1MSwgMHg4MCwgMHgzMiwgMHhkZiwgMHgwOSwgMHgxMSwgMHg2NSwgMHhkMCwgMHg4NiwgMHhmMCwgMHg4YywKLSAgMHgwNSwgMHg4MiwgMHg5MCwgMHg0NywgMHhjMywgMHgzZCwgMHgyNywgMHg4YiwgMHgzNiwgMHhkYSwgMHgzMSwgMHhiOCwKLSAgMHgxNSwgMHgxOCwgMHg2YiwgMHg3NiwgMHg0YiwgMHhjOSwgMHhjOCwgMHg2NCwgMHg1MCwgMHgzZCwgMHgwOSwgMHg0ZCwKLSAgMHg4MSwgMHg0MywgMHg1OSwgMHg4YSwgMHg1YSwgMHgzZSwgMHhlYywgMHg2YiwgMHg1NSwgMHg2ZCwgMHgwYiwgMHg0YSwKLSAgMHhhNSwgMHg2NCwgMHg4ZCwgMHgwZSwgMHhiYywgMHg1OCwgMHg5YywgMHgwYiwgMHhjNSwgMHhjNSwgMHhkOCwgMHgyOCwKLSAgMHgwNywgMHhlNiwgMHg3OCwgMHhjMywgMHhjNCwgMHhiMywgMHg4OSwgMHhjZSwgMHhlYiwgMHgxNCwgMHg5YywgMHg5MywKLSAgMHg2OCwgMHgxYiwgMHhhMiwgMHg3MSwgMHhiOCwgMHgyOSwgMHgxNCwgMHg4ZiwgMHhlYiwgMHg4ZCwgMHhiNSwgMHg3OSwKLSAgMHhmMSwgMHhiOSwgMHhiZSwgMHgwMCwgMHg1ZCwgMHhkZSwgMHhhYywgMHg4OSwgMHhjOCwgMHg3NSwgMHhmZCwgMHgzMCwKLSAgMHgzNiwgMHgzZSwgMHhkNywgMHgyMiwgMHhiZSwgMHhjNywgMHg5ZiwgMHg0NywgMHg4OCwgMHhlZiwgMHhlZCwgMHhlOSwKLSAgMHhmOSwgMHhkMSwgMHg3MywgMHhjMSwgMHhiOSwgMHg1MywgMHg0MCwgMHhhOCwgMHg1YywgMHg0MCwgMHg1OSwgMHgzOCwKLSAgMHgzZiwgMHg5MywgMHgyYSwgMHg5ZSwgMHgwYSwgMHhhOSwgMHhiYywgMHgyNSwgMHhhNSwgMHg1MCwgMHg0ZiwgMHg3ZCwKLSAgMHgxMCwgMHhiYiwgMHhmMiwgMHgyOCwgMHg5NCwgMHhhMCwgMHg2YiwgMHhjMiwgMHhlMSwgMHg4ZSwgMHgyNiwgMHhjOCwKLSAgMHhlMCwgMHhkMywgMHg5YywgMHgzZCwgMHgwMCwgMHg1ZSwgMHg4OCwgMHgxZCwgMHhjZCwgMHhmNCwgMHg0NCwgMHhlNywKLSAgMHgxZiwgMHhjMiwgMHgwMywgMHgwMSwgMHg0MywgMHgwNiwgMHhiMCwgMHgyYywgMHhhYywgMHgxZiwgMHgwNiwgMHgyNCwKLSAgMHgyNCwgMHgyMSwgMHg3NCwgMHgzOCwgMHgxZCwgMHg2YywgMHg5NCwgMHg2MSwgMHg0YSwgMHgyZCwgMHg4NSwgMHhjMywKLSAgMHg0ZSwgMHhiOCwgMHgwOCwgMHg1MywgMHg1MywgMHg3YywgMHg4NiwgMHg3YiwgMHg2ZSwgMHgyYSwgMHgxNCwgMHhlZiwKLSAgMHg0NSwgMHhhYywgMHgzOSwgMHhhMSwgMHhhNywgMHg5MiwgMHhiOSwgMHg2OCwgMHg3YSwgMHhmNywgMHg1MiwgMHg4OSwKLSAgMHg4NywgMHg4MiwgMHg1YywgMHhlMSwgMHgzZCwgMHgxMCwgMHg1OCwgMHhlYywgMHgwYywgMHhiNywgMHhmNywgMHg0OSwKLSAgMHhlOSwgMHhjNCwgMHhkYywgMHgyMywgMHhmNSwgMHg1NSwgMHg5MCwgMHg2YiwgMHhjNSwgMHg5YSwgMHhmMCwgMHgwMiwKLSAgMHhlNCwgMHgxNCwgMHhlNiwgMHg3MCwgMHg4MCwgMHgwNSwgMHhiNiwgMHg3ZCwgMHg4MywgMHhjZSwgMHhlYiwgMHhhNCwKLSAgMHhlNiwgMHgwNSwgMHhiMiwgMHhkNywgMHgzMiwgMHg1NCwgMHgyNywgMHg3MiwgMHg3ZCwgMHgyNiwgMHhmNywgMHg0MiwKLSAgMHg4ZSwgMHhjMywgMHgxMSwgMHhmYiwgMHg0MCwgMHgxYiwgMHg2MiwgMHgwNCwgMHg5MiwgMHhlOCwgMHg5YiwgMHgxYSwKLSAgMHg0NSwgMHhkMywgMHgyZiwgMHhjMywgMHg4MSwgMHg3YywgMHg4NywgMHg0NywgMHgwNywgMHhhOSwgMHg2ZSwgMHhiMCwKLSAgMHg3NywgMHgxZiwgMHhlZiwgMHhmNiwgMHgzOCwgMHg3NCwgMHhkOCwgMHg0NCwgMHhhMywgMHgyNSwgMHg3NywgMHg5MiwKLSAgMHgzZCwgMHg4NiwgMHg3YiwgMHgxMCwgMHhhYywgMHgxMiwgMHg3YSwgMHg1ZiwgMHgxNSwgMHg4YSwgMHg2OSwgMHhmOCwKLSAgMHhlOSwgMHhlMiwgMHhhYywgMHg4YiwgMHg4MSwgMHg5YywgMHhkMSwgMHhkYSwgMHg2NCwgMHhkZSwgMHgzNywgMHg3MiwKLSAgMHgzMCwgMHg3OCwgMHgyOCwgMHgyZiwgMHgzNCwgMHg0ZiwgMHg5MywgMHgzNSwgMHg3YiwgMHg2MCwgMHgxZSwgMHhjZCwKLSAgMHgxNSwgMHhiOSwgMHhkOSwgMHhkYywgMHhjYywgMHgxMiwgMHgzZCwgMHg5MSwgMHg2ZCwgMHgwNiwgMHg0OCwgMHhlOCwKLSAgMHg2YywgMHgyNiwgMHgzZiwgMHhkZCwgMHgyOCwgMHg0OSwgMHg3YywgMHgxMCwgMHgzZSwgMHgwYSwgMHg2NywgMHhkMSwKLSAgMHhhZCwgMHg5MCwgMHg4MywgMHhhMSwgMHg1ZCwgMHg4NywgMHhkYiwgMHg3OSwgMHg0MiwgMHgyMCwgMHgxNiwgMHhjOSwKLSAgMHhjZiwgMHhlNSwgMHg0NCwgMHgzYywgMHg5MSwgMHhhNCwgMHhhNywgMHhjNiwgMHhlMCwgMHhhYywgMHgyZSwgMHg1MCwKLSAgMHg0MiwgMHhiMiwgMHgzMiwgMHg1NCwgMHgzNiwgMHg1YiwgMHg3MSwgMHg3NCwgMHg4MSwgMHgyNiwgMHgyNCwgMHhlNSwKLSAgMHgwOCwgMHhkYywgMHhmZiwgMHg5YywgMHhhMiwgMHg3ZSwgMHhjOSwgMHgyNSwgMHgzNywgMHhkZCwgMHg0MSwgMHgzZSwKLSAgMHhiNCwgMHhhMiwgMHgzMSwgMHg4NCwgMHgyNSwgMHhmZiwgMHhmYiwgMHg1ZCwgMHhkMCwgMHhhMiwgMHg3NCwgMHg0YSwKLSAgMHg0ZSwgMHg0MSwgMHgzMywgMHhiOCwgMHhlMCwgMHg4MywgMHgzMCwgMHhlYywgMHhhNCwgMHhhYiwgMHhkYiwgMHg0OCwKLSAgMHhhNywgMHhjZCwgMHg0YSwgMHgzNiwgMHhiZSwgMHgzYiwgMHhiYiwgMHg1MiwgMHhlMywgMHgwNCwgMHhlNiwgMHg1ZCwKLSAgMHgzNCwgMHg0MywgMHg0MCwgMHgzMiwgMHhkZSwgMHhkNCwgMHg1MCwgMHg1ZSwgMHgzYSwgMHhiZCwgMHg1MywgMHg3ZCwKLSAgMHhjMSwgMHgwOSwgMHg1NywgMHg0MSwgMHgzNSwgMHg3NSwgMHhhZCwgMHgxMywgMHhjMiwgMHg0MiwgMHg2NywgMHg5ZCwKLSAgMHgwNCwgMHg4NSwgMHhmYywgMHhmMywgMHhmYSwgMHhkNywgMHhiNywgMHgyYywgMHg3YSwgMHhiOCwgMHg1ZCwgMHhlZCwKLSAgMHgzNywgMHg5ZSwgMHhlMywgMHhjOCwgMHg4YiwgMHhhMiwgMHhhZiwgMHhiNiwgMHhhZSwgMHg3YSwgMHhkNiwgMHhhNCwKLSAgMHhiNCwgMHhjYiwgMHhmNywgMHg4MywgMHhkMSwgMHhiNCwgMHgxYywgMHg2NiwgMHgxYywgMHgxYywgMHhiNywgMHgxNiwKLSAgMHgwMCwgMHhiMiwgMHg0MSwgMHhiNCwgMHhlOSwgMHhkYSwgMHg3MSwgMHhhOCwgMHg0NywgMHhiYywgMHg5MSwgMHhhZiwKLSAgMHgzMCwgMHgzZiwgMHhkYywgMHgwMiwgMHhiMywgMHg3MiwgMHg0NSwgMHhkNSwgMHgzNCwgMHhjYywgMHgyMywgMHg0ZSwKLSAgMHg5YiwgMHg0YywgMHgxZSwgMHg3ZiwgMHhmZSwgMHhmOCwgMHhkMSwgMHg3NiwgMHhkMiwgMHg0OSwgMHhjNiwgMHhkZCwKLSAgMHg4ZSwgMHg1OCwgMHgxZSwgMHg3YywgMHhlMywgMHg1NiwgMHhiNSwgMHgyZCwgMHgxMiwgMHg1YywgMHhlNCwgMHgzMCwKLSAgMHg1MiwgMHhhMCwgMHhkNywgMHg4OCwgMHg0NSwgMHg5MiwgMHg3MywgMHhmMywgMHgzOCwgMHgzMiwgMHgxOSwgMHhkMCwKLSAgMHg4MSwgMHg5MSwgMHg5OSwgMHg3MiwgMHg5MCwgMHg0NCwgMHg0MywgMHgxZiwgMHg2MywgMHgwYiwgMHgyNywgMHhkOSwKLSAgMHgwMiwgMHg4NywgMHg0ZiwgMHg2YiwgMHhjNywgMHhiYywgMHg1ZCwgMHg3OSwgMHgxYywgMHhkNywgMHgxYiwgMHg0MywKLSAgMHg0OSwgMHhkMywgMHhmYywgMHhjZiwgMHg2ZCwgMHhjMCwgMHgzOCwgMHg0NCwgMHhkZCwgMHhhZCwgMHhlYywgMHg3MywKLSAgMHg4NiwgMHhhNiwgMHgyYSwgMHhhYSwgMHg4NywgMHg5MSwgMHgxMiwgMHg1NywgMHhiNiwgMHg5MywgMHgxZSwgMHgwZCwKLSAgMHhjZCwgMHg1ZSwgMHg0NSwgMHgyZSwgMHg3MCwgMHg2NCwgMHhjMSwgMHgxMywgMHg0MywgMHg2YiwgMHgwNywgMHhkYywKLSAgMHgwYSwgMHhjMywgMHhkYSwgMHg3NCwgMHhmNiwgMHg5MSwgMHhlMSwgMHg3ZiwgMHg4MSwgMHg0MCwgMHgyMiwgMHhlZiwKLSAgMHg0YiwgMHg5NiwgMHhhMCwgMHg5YywgMHg0OSwgMHgxNCwgMHgxYywgMHg2MywgMHg5MSwgMHgyZCwgMHhiNCwgMHg0NSwKLSAgMHgxYSwgMHhhYiwgMHgxZSwgMHg2NSwgMHhlNSwgMHhlYSwgMHhkMywgMHgzOSwgMHg1MCwgMHhjOSwgMHhlMiwgMHgxMiwKLSAgMHg0OSwgMHhmMywgMHg3ZCwgMHhlOCwgMHg1MywgMHhlYSwgMHhiNiwgMHg0YiwgMHgxNSwgMHgyOSwgMHhhNywgMHgzNSwKLSAgMHhiMywgMHhkZSwgMHgyMiwgMHgyZiwgMHhhNSwgMHgzNiwgMHhjNSwgMHhhMywgMHhlYSwgMHhkNiwgMHg3NiwgMHhlOSwKLSAgMHhkZiwgMHgyZCwgMHg1NSwgMHg4NiwgMHg2NSwgMHg5ZCwgMHhmYywgMHhkNSwgMHhjZSwgMHg0NiwgMHhmNCwgMHhjYywKLSAgMHgxZSwgMHg5NiwgMHgxNCwgMHgyMywgMHg0NywgMHhjMiwgMHhmNywgMHgxNywgMHg3NiwgMHg0OCwgMHg5ZSwgMHgyNywKLSAgMHg1YiwgMHg5OCwgMHhmMCwgMHhjZSwgMHhjZSwgMHhmNiwgMHhmZCwgMHg5MywgMHg5NiwgMHgyNywgMHhlZiwgMHg5YiwKLSAgMHhlNCwgMHgxOSwgMHgzYiwgMHhlMiwgMHhiYywgMHhhNiwgMHgyYSwgMHgxNywgMHhkZSwgMHgxYywgMHhlOCwgMHg5YiwKLSAgMHgxZSwgMHg2NiwgMHhjYywgMHg4MCwgMHgyOSwgMHg1MiwgMHhiMiwgMHgyZCwgMHhjOSwgMHg2MSwgMHg3ZSwgMHgxNywKLSAgMHhhOSwgMHgyMCwgMHg0MywgMHg2NCwgMHgzNSwgMHg5NSwgMHgwNSwgMHhiNiwgMHhkNywgMHgyZSwgMHg2ZSwgMHgxYSwKLSAgMHhjNiwgMHhiNCwgMHgxNCwgMHgxNiwgMHg0MiwgMHhlOSwgMHg4MSwgMHgwMCwgMHgxOSwgMHgzYywgMHgzNCwgMHg0NCwKLSAgMHgxOCwgMHhlYSwgMHg5YiwgMHg2ZSwgMHg1YSwgMHhkZSwgMHhlMiwgMHhlMCwgMHg5MiwgMHhlOSwgMHg0NCwgMHg5YiwKLSAgMHg3MCwgMHgwYiwgMHhkNSwgMHg2NywgMHhjNiwgMHg3MSwgMHhhOSwgMHg0OCwgMHg4MSwgMHg5MCwgMHgzZSwgMHg2ZCwKLSAgMHg5MywgMHg4YywgMHhlMSwgMHgzNCwgMHg4OCwgMHhlMCwgMHg4MiwgMHhmMywgMHg5MywgMHhhZSwgMHg0NywgMHg3NCwKLSAgMHhhNCwgMHhhMSwgMHg0OCwgMHgyYiwgMHg4NCwgMHhjMCwgMHgwMywgMHgxYSwgMHg4ZSwgMHhmYSwgMHhkMSwgMHhhZCwKLSAgMHg5OSwgMHg0MSwgMHhiOSwgMHhmZCwgMHgyMCwgMHg4OCwgMHgyYiwgMHgzOCwgMHg0ZSwgMHhhYiwgMHgzMCwgMHhmNCwKLSAgMHg4NCwgMHhiOSwgMHg1OSwgMHhmYSwgMHhjNiwgMHg4ZSwgMHgzMSwgMHgyMiwgMHhkNSwgMHg4NCwgMHg3ZiwgMHhkYSwKLSAgMHhkYSwgMHhjYywgMHgwMSwgMHhkZiwgMHg1MSwgMHhhMCwgMHg0MSwgMHhjNSwgMHg3NCwgMHg3NSwgMHhiNCwgMHgwZSwKLSAgMHgwZCwgMHhlMSwgMHg0YywgMHhlYywgMHgxZSwgMHhhZSwgMHg0ZCwgMHg0MywgMHhiNSwgMHg3OSwgMHhhOCwgMHgxYywKLSAgMHgxNCwgMHhlMSwgMHg0YywgMHhkNCwgMHg1MCwgMHhjZSwgMHhhYSwgMHg2ZiwgMHg1OCwgMHgwNywgMHg2ZCwgMHhmYiwKLSAgMHhjNiwgMHg5ZSwgMHhiNiwgMHg3ZCwgMHgwZCwgMHgxNiwgMHg5YSwgMHhhNSwgMHgwNywgMHhhNCwgMHgxNCwgMHgyOSwKLSAgMHhjOCwgMHg3NSwgMHhmMiwgMHg1NiwgMHgxZiwgMHg0YiwgMHhiNiwgMHhjNiwgMHg2NywgMHg2ZiwgMHg4ZiwgMHhiZSwKLSAgMHgzZSwgMHhkZCwgMHhiZSwgMHhjZiwgMHhhNywgMHhkZSwgMHhlNiwgMHhmZiwgMHg3NiwgMHg1ZCwgMHhhOSwgMHhlNiwKLSAgMHhjYSwgMHhjYiwgMHhmNCwgMHg2MSwgMHg5ZCwgMHg3YywgMHgzZCwgMHgxZSwgMHgwZiwgMHgwZiwgMHhjZiwgMHg4ZSwKLSAgMHhkMSwgMHhlNywgMHg3NSwgMHg2YywgMHhmZSwgMHhlYywgMHg2OSwgMHg0OCwgMHgzMCwgMHg0MiwgMHgzYiwgMHg4YywKLSAgMHhlMSwgMHg3NywgMHg1MiwgMHg0MCwgMHg1ZCwgMHg4YiwgMHg5YSwgMHg5MSwgMHhjMCwgMHg2MywgMHg4ZCwgMHhlNCwKLSAgMHgyYywgMHgyOCwgMHgwZiwgMHhhMiwgMHhkZSwgMHg1OSwgMHg3MCwgMHgxYiwgMHgwYywgMHhkZiwgMHgzNSwgMHg3OSwKLSAgMHhjZSwgMHg4ZSwgMHg3NywgMHhmMCwgMHgyOSwgMHhmYSwgMHgyNCwgMHgxNiwgMHhkNCwgMHhlMywgMHgzZSwgMHg1OCwKLSAgMHg4NSwgMHg1ZCwgMHg1ZSwgMHg0OSwgMHhmMywgMHg0MSwgMHhhMiwgMHgzNSwgMHgxOCwgMHhiNCwgMHg1NiwgMHg0NCwKLSAgMHgxOCwgMHhjYiwgMHg4ZiwgMHhjNCwgMHg4OSwgMHg4YiwgMHg1YSwgMHhjNywgMHhlYiwgMHhjZiwgMHhjOCwgMHg3NSwKLSAgMHg0YiwgMHgwNSwgMHg0NiwgMHg4YSwgMHgxYywgMHhkYywgMHg3MSwgMHgxNSwgMHhjMywgMHg0NCwgMHg2MywgMHg3YywKLSAgMHhjOCwgMHgzOSwgMHg3NSwgMHg3MSwgMHgxOCwgMHg2YiwgMHhlMiwgMHg2MywgMHhkNywgMHgyOSwgMHhiMiwgMHgzOSwKLSAgMHg1YywgMHgyNSwgMHhjOSwgMHhmMywgMHg0ZCwgMHg0ZSwgMHhiMiwgMHhjZSwgMHg4YSwgMHg3MiwgMHg3NSwgMHg3OSwKLSAgMHhjNSwgMHgwNiwgMHg1NiwgMHhkYiwgMHgwZiwgMHhkMSwgMHg2YSwgMHhmNywgMHg2YywgMHgxYiwgMHg5OCwgMHg5OCwKLSAgMHg0OSwgMHgwNiwgMHgyNCwgMHg4OCwgMHg3NywgMHg1NCwgMHhlZiwgMHhhOSwgMHgzMiwgMHg4YSwgMHg5MCwgMHhiMiwKLSAgMHg3YSwgMHhjMywgMHhlOSwgMHg2ZiwgMHhiMywgMHg3ZiwgMHg0OSwgMHg4MywgMHhjNCwgMHgzNSwgMHgxYSwgMHhjOCwKLSAgMHg4NCwgMHhiMywgMHgwNywgMHhlMCwgMHhmNiwgMHgyZCwgMHg5YSwgMHhmOSwgMHg0MiwgMHhmZSwgMHg5YSwgMHgxNiwKLSAgMHg3NywgMHg3MCwgMHhlZiwgMHg0YiwgMHhiMCwgMHgwYiwgMHg0NSwgMHhkMCwgMHg5NiwgMHhhNiwgMHhkYiwgMHg4NCwKLSAgMHhkZSwgMHg1NCwgMHg1MywgMHgxOCwgMHhmYSwgMHg5YywgMHg4NywgMHhjZCwgMHhkNSwgMHhjZiwgMHhlYiwgMHg2OCwKLSAgMHg5NiwgMHg1NCwgMHg3YSwgMHhhMywgMHg4OSwgMHgxYiwgMHhhMywgMHgwYSwgMHg0YSwgMHg3YSwgMHgzMSwgMHhkMCwKLSAgMHg1MSwgMHgwNiwgMHhjNiwgMHgxYywgMHg5NiwgMHg2OCwgMHhiMSwgMHgyOCwgMHhjMiwgMHg0MiwgMHgwNCwgMHgxMSwKLSAgMHg1NiwgMHg4NCwgMHgzZSwgMHhhOCwgMHg1YiwgMHhlOSwgMHhhNCwgMHgyZSwgMHhlNywgMHhhYiwgMHgwNiwgMHhiYSwKLSAgMHgwMCwgMHgzOSwgMHhmMSwgMHhhOSwgMHhjMiwgMHg2YywgMHhkYiwgMHhmNSwgMHg5MSwgMHhjNywgMHhhOCwgMHg5YSwKLSAgMHhlOSwgMHhjYywgMHg2MSwgMHhhMywgMHg4OCwgMHg3YiwgMHhkMiwgMHgzNSwgMHhlOSwgMHgxZCwgMHhiOSwgMHg5MCwKLSAgMHgxNSwgMHg4NywgMHhkMywgMHhjNSwgMHgzZiwgMHg0MSwgMHgzYiwgMHhjYiwgMHg2MywgMHg2MSwgMHhhOCwgMHgyNSwKLSAgMHg3MiwgMHhmMywgMHhhZSwgMHgxNSwgMHhmMCwgMHgzMCwgMHgzYywgMHgzZiwgMHgzZCwgMHhhYiwgMHhkNiwgMHhlZSwKLSAgMHg2OCwgMHgzNCwgMHg4OCwgMHg1OCwgMHg3NywgMHhhYiwgMHg1YSwgMHhjMywgMHg2OSwgMHg4ZCwgMHgzMSwgMHhjZSwKLSAgMHhkNiwgMHg5YiwgMHhhZSwgMHhhZiwgMHhmOSwgMHgzMiwgMHgxMywgMHhiYSwgMHgyNSwgMHg5MywgMHgzYiwgMHhmYiwKLSAgMHgzMSwgMHhmZSwgMHg0ZSwgMHg4YSwgMHg3YywgMHgzNiwgMHhhYiwgMHgwOCwgMHgzZiwgMHgxNCwgMHg1ZiwgMHhjYywKLSAgMHgxZCwgMHhjNiwgMHg2OCwgMHg1ZCwgMHg0NiwgMHg1NiwgMHhmYiwgMHg0YiwgMHg5ZCwgMHhhMSwgMHhiZiwgMHgyMywKLSAgMHgwOCwgMHgwNSwgMHg3YiwgMHhjNCwgMHgzOCwgMHg4ZCwgMHhkNiwgMHgyMSwgMHg3NywgMHhkMCwgMHg2ZiwgMHhjNCwKLSAgMHhkNywgMHg0MCwgMHgxYiwgMHgzMSwgMHhjMiwgMHgxMywgMHgwMSwgMHgwMSwgMHg1MywgMHgzNiwgMHg4OSwgMHg1ZCwKLSAgMHg5NSwgMHhhYSwgMHg0NywgMHhlNCwgMHg2ZiwgMHg0YiwgMHhiOSwgMHhhNywgMHgyYywgMHhiZiwgMHhlYywgMHg3ZCwKLSAgMHhjMywgMHhkNiwgMHhjMywgMHg5NSwgMHhlYiwgMHhkYiwgMHgzZSwgMHhiYiwgMHhkMywgMHgxOSwgMHgzZCwgMHg2MCwKLSAgMHg0MywgMHhkYywgMHhmYSwgMHhkZCwgMHgwZiwgMHgwMywgMHhjYiwgMHhjZSwgMHhhNiwgMHg0YywgMHhkNCwgMHg1MywKLSAgMHg0MSwgMHhiMCwgMHgxYywgMHgwOSwgMHgxNSwgMHg2ZSwgMHg3ZCwgMHg5MCwgMHhiZiwgMHhkMCwgMHgxZCwgMHhmOCwKLSAgMHgzZSwgMHgyZiwgMHg4YywgMHg2NiwgMHg1OCwgMHg2ZiwgMHgyYiwgMHg3MSwgMHg0YSwgMHg4NiwgMHg2NiwgMHg3OCwKLSAgMHg3NywgMHhhYiwgMHg0ZCwgMHhlYSwgMHg2YiwgMHg2YywgMHgzOCwgMHg4ZSwgMHhjYiwgMHg1NiwgMHgyNSwgMHhjNSwKLSAgMHg5OSwgMHgwMywgMHg4YywgMHgwMSwgMHgyYiwgMHhmMiwgMHhiYSwgMHhmYiwgMHhkZSwgMHgyZCwgMHg4MywgMHgyMiwKLSAgMHhiMiwgMHhhOSwgMHg2NSwgMHgzYSwgMHgxOCwgMHgwMywgMHhmMCwgMHhkZCwgMHhjNiwgMHgyYywgMHgyOCwgMHhmMiwKLSAgMHg1YiwgMHg5NywgMHhlNSwgMHg2MiwgMHgyMSwgMHgwOCwgMHhmZCwgMHhjMCwgMHhiZiwgMHg2MSwgMHg4NCwgMHgyNCwKLSAgMHhhZSwgMHgyMiwgMHhiMywgMHgwYiwgMHg0MiwgMHhhZSwgMHhiNCwgMHhiYiwgMHg1OCwgMHhlNywgMHhkNiwgMHhlMywKLSAgMHhlZCwgMHhlNCwgMHhhMiwgMHg1OSwgMHg2ZSwgMHhlZCwgMHg2ZCwgMHg3MywgMHgyZiwgMHgwNywgMHhjNiwgMHg2NywKLSAgMHhmMCwgMHgzYiwgMHhmYiwgMHg4NiwgMHg1ZSwgMHgxYywgMHg0YSwgMHhiMCwgMHg0ZCwgMHg1ZSwgMHhkYSwgMHhjZiwKLSAgMHgyMiwgMHhmNiwgMHg0ZiwgMHhhOCwgMHg4NiwgMHhhOCwgMHg2NCwgMHhiZCwgMHg5MCwgMHgxYiwgMHhjYywgMHgxYiwKLSAgMHg2NiwgMHg5YiwgMHhlYywgMHhkOCwgMHgzYSwgMHhlMSwgMHhhZSwgMHg3NywgMHgwMCwgMHhhOSwgMHg2ZiwgMHg0YiwKLSAgMHhjMiwgMHgzNywgMHg0NiwgMHg4NSwgMHhhZiwgMHhiMSwgMHgyMCwgMHhmMiwgMHhjNiwgMHg0NywgMHg5MiwgMHhhNiwKLSAgMHg5ZSwgMHgxOSwgMHg1YywgMHhmZSwgMHg2ZiwgMHg3NiwgMHg2ZSwgMHgzZSwgMHgxYiwgMHgxMiwgMHgwZiwgMHhiOSwKLSAgMHhhYywgMHg0YSwgMHgyMywgMHgyMiwgMHhhYiwgMHgwOCwgMHgwOCwgMHhhYywgMHhkOCwgMHgxNCwgMHhlNywgMHhhOCwKLSAgMHg0MSwgMHhiYiwgMHhjZSwgMHhhYiwgMHhiMiwgMHgwMCwgMHhkMiwgMHhlZSwgMHg3NSwgMHg1YSwgMHhlNSwgMHhjOCwKLSAgMHg3NiwgMHhkOSwgMHhmOCwgMHhlNiwgMHhmNCwgMHhjZCwgMHhkMSwgMHg4NiwgMHhlZiwgMHgxNCwgMHhiOSwgMHhjOCwKLSAgMHhiNSwgMHg4YywgMHhmNiwgMHgyYSwgMHg2YywgMHgyNSwgMHg2MCwgMHg0ZiwgMHgzMywgMHhlNiwgMHgzNCwgMHgzNCwKLSAgMHgyMiwgMHg3ZCwgMHhmYSwgMHg1MSwgMHgzMSwgMHgzNCwgMHhlZSwgMHgxOCwgMHgyZiwgMHgzMSwgMHhiMywgMHgwNSwKLSAgMHhlNiwgMHg0NiwgMHg5NSwgMHg5NCwgMHg0NCwgMHgxOCwgMHg2OSwgMHgyZSwgMHhhYSwgMHgxNCwgMHg4NiwgMHg0YywKLSAgMHhiOCwgMHg1OCwgMHgwYiwgMHgyOCwgMHgzNSwgMHgwZCwgMHhkMSwgMHgwNiwgMHhhYSwgMHhmNCwgMHhkYiwgMHg1YiwKLSAgMHgyNiwgMHg1ZSwgMHgwYiwgMHg0YywgMHg1MiwgMHhmMywgMHhiNSwgMHgzZSwgMHhjZCwgMHhiOSwgMHhkOCwgMHhiYiwKLSAgMHhlMiwgMHg3MSwgMHg3MSwgMHg0NywgMHg5NiwgMHhjZCwgMHg2NiwgMHg1YiwgMHgwMCwgMHg2ZSwgMHhkNiwgMHg2NCwKLSAgMHg4YywgMHgzNywgMHg5YiwgMHhiYSwgMHhiZCwgMHhjOCwgMHg5OSwgMHg3NiwgMHgzYywgMHgzZSwgMHg2YywgMHgzYiwKLSAgMHhkZSwgMHhmMywgMHg3NSwgMHhhNiwgMHg2YSwgMHhmZSwgMHg4NCwgMHgxYiwgMHg5ZCwgMHgwNywgMHg3NywgMHhiNywKLSAgMHhlZiwgMHgzOSwgMHhkZiwgMHhiZSwgMHhkYiwgMHgyNiwgMHgwYSwgMHgxMiwgMHhlNiwgMHg1NywgMHg4ZCwgMHhhNCwKLSAgMHhhZSwgMHg0YywgMHhiMiwgMHhkZCwgMHhiNCwgMHhiYywgMHg5ZCwgMHhjMSwgMHg0MiwgMHg5ZCwgMHg1NiwgMHg0MiwKLSAgMHhhZiwgMHhhMiwgMHhmOSwgMHg3YywgMHgzOSwgMHhjZCwgMHhmZCwgMHgzNCwgMHg5MSwgMHgwMCwgMHhmNSwgMHg1YywKLSAgMHhiNSwgMHhhNCwgMHhjMiwgMHhlYiwgMHhkMSwgMHg4MywgMHhkMSwgMHg3YSwgMHg1MSwgMHg3NywgMHg4ZCwgMHhlMCwKLSAgMHg0NiwgMHgyZSwgMHhhMSwgMHg0NiwgMHhlNSwgMHhmMiwgMHg4YSwgMHg4MCwgMHhhYywgMHg1YywgMHhkNiwgMHg4MywKLSAgMHg3YywgMHg2OSwgMHhlMCwgMHg0MywgMHgwYSwgMHgwYywgMHg3YSwgMHg3MCwgMHhiOCwgMHg1ZCwgMHgzZSwgMHg5NiwKLSAgMHhkNSwgMHg0YiwgMHgxOCwgMHg4OCwgMHg5YSwgMHhhMSwgMHg4YywgMHg2ZCwgMHhhNiwgMHg4YywgMHhhMiwgMHgzOSwKLSAgMHg4NywgMHhmYSwgMHhiMSwgMHhkZCwgMHg0OSwgMHg3NSwgMHg2YywgMHhhMywgMHg2YywgMHhjZiwgMHhmYywgMHg4ZCwKLSAgMHhjZCwgMHgxOSwgMHg4YiwgMHgyMiwgMHgwYiwgMHhhYiwgMHg5ZSwgMHgxNSwgMHgwZSwgMHhlYSwgMHhjMSwgMHhhMywKLSAgMHgzOCwgMHhmMywgMHg1MSwgMHhlYiwgMHhkYSwgMHhkZSwgMHg0NywgMHhiMywgMHgzNCwgMHg2OSwgMHgyNywgMHg1MiwKLSAgMHhhZiwgMHhhYSwgMHg2YiwgMHg5NCwgMHg3ZSwgMHg0YiwgMHgxMywgMHgzYSwgMHhjZSwgMHg4ZiwgMHg3NywgMHhlNywKLSAgMHgyMSwgMHhlNywgMHgxMCwgMHg5MSwgMHhmMiwgMHhkZSwgMHgwYywgMHgyOSwgMHg3NywgMHhiOSwgMHgxMiwgMHg3OCwKLSAgMHhiOCwgMHhlNCwgMHg2YiwgMHg5ZSwgMHg4NSwgMHg5ZCwgMHhhMCwgMHhiNSwgMHg3NCwgMHgwOCwgMHgwNSwgMHg4OCwKLSAgMHhiNSwgMHhkOCwgMHhhMCwgMHg1MiwgMHhhNSwgMHhhYywgMHgwMSwgMHgxZSwgMHhkZCwgMHg1NCwgMHhlOSwgMHhkNCwKLSAgMHhmZCwgMHg2NSwgMHg5OCwgMHhkNiwgMHhkMywgMHgzYywgMHhkNywgMHhhNiwgMHg2NiwgMHgxNCwgMHgxZiwgMHhjYywKLSAgMHgyOCwgMHgyNywgMHgzYywgMHgwZSwgMHgxMiwgMHg2NSwgMHhjZiwgMHhjMywgMHhmNiwgMHgxMywgMHg5YSwgMHg3MSwKLSAgMHg0ZiwgMHgxYiwgMHhjOSwgMHhkMCwgMHg0YSwgMHhiOSwgMHhkYiwgMHgyNSwgMHhhNSwgMHgyOSwgMHhhMSwgMHg0MiwKLSAgMHg1NCwgMHg4MiwgMHg4NywgMHhiMSwgMHgzZSwgMHg2ZiwgMHg4YSwgMHhkNCwgMHhkYiwgMHg2MywgMHhkYSwgMHgxYSwKLSAgMHhlYiwgMHg3YiwgMHhjZiwgMHgzNywgMHhiZiwgMHg3NSwgMHgxMywgMHg4NiwgMHgwNCwgMHhkNSwgMHg1NiwgMHgzNywKLSAgMHg2YywgMHg0YSwgMHhkZSwgMHhkYywgMHhlYywgMHhmYiwgMHhjZiwgMHhhYywgMHhjYiwgMHhkZSwgMHhlOCwgMHgyMCwKLSAgMHg4MywgMHgxNSwgMHhlNSwgMHgzMCwgMHg5ZCwgMHgyZiwgMHhhMywgMHg3OSwgMHg5ZSwgMHhlMywgMHhlZCwgMHg1NiwKLSAgMHhjYiwgMHhkNywgMHhjMywgMHg5MywgMHhiMywgMHhiNywgMHgwMCwgMHg4ZCwgMHhhNCwgMHhlZSwgMHgwMSwgMHg0NSwKLSAgMHhjZCwgMHg1OSwgMHgzNSwgMHhmNCwgMHgzMywgMHhhYSwgMHhlMywgMHgyOCwgMHgxOCwgMHg1YiwgMHgxNSwgMHhmOSwKLSAgMHg1NSwgMHhiMywgMHgxMCwgMHg2MywgMHg4MCwgMHg2MywgMHhlMywgMHg2NCwgMHgzZSwgMHhjNCwgMHhlYywgMHgyYiwKLSAgMHhjZSwgMHg2YywgMHgyYiwgMHgxMiwgMHhhZiwgMHhjYywgMHg5NywgMHgxOSwgMHhiYywgMHhkYSwgMHgxNywgMHhkZCwKLSAgMHhlNSwgMHg5OCwgMHhhZiwgMHhiYSwgMHg2ZiwgMHg2YiwgMHhhMywgMHgxMSwgMHg1YiwgMHg4YywgMHhkNywgMHg3ZSwKLSAgMHhkNywgMHhlMiwgMHg2NiwgMHg5NiwgMHgwYSwgMHg5MiwgMHgxOSwgMHhmMCwgMHhmMywgMHgyNiwgMHhiMywgMHhlOCwKLSAgMHg5YywgMHg2MiwgMHhkNywgMHhkOSwgMHg0OCwgMHhiOSwgMHg3OCwgMHg5NSwgMHgyNCwgMHhhOSwgMHgwOCwgMHhlOCwKLSAgMHgyZCwgMHg4YSwgMHgxMywgMHgxMSwgMHg1NywgMHgyNywgMHg2YywgMHgxYSwgMHhhMywgMHhkOSwgMHhkOCwgMHg2MiwKLSAgMHg1OSwgMHg3NCwgMHg0MSwgMHhlNywgMHg2NCwgMHhiYiwgMHhhMywgMHg0NiwgMHg2OCwgMHg4MCwgMHg4MCwgMHhmOCwKLSAgMHg5MCwgMHhkYSwgMHg0OCwgMHgzYSwgMHg5MSwgMHhkMSwgMHg5YSwgMHgwMywgMHg3ZSwgMHgzYiwgMHhlMCwgMHhhZiwKLSAgMHg0ZSwgMHg1NiwgMHhjNCwgMHgyMSwgMHgzYSwgMHg1ZiwgMHg5MCwgMHhlMywgMHg2NSwgMHhhNSwgMHg4OSwgMHg5ZiwKLSAgMHhhMCwgMHhlZiwgMHg4OSwgMHhmYiwgMHg4YiwgMHgxMSwgMHhjNSwgMHhhOCwgMHg5MiwgMHgzOSwgMHg0YiwgMHgxNywKLSAgMHhkNCwgMHhlYiwgMHg1MywgMHhhYiwgMHg2NSwgMHhjOCwgMHhmMywgMHg0YiwgMHg1OSwgMHhjZCwgMHhkZCwgMHgwOSwKLSAgMHhhZiwgMHg1MiwgMHhlMSwgMHg1OCwgMHgyZCwgMHg1OCwgMHhmZiwgMHg0ZSwgMHgxMSwgMHgwZCwgMHg3ZiwgMHg4NiwKLSAgMHgzOCwgMHhhOSwgMHgzZiwgMHg3YywgMHhhYywgMHgzMCwgMHgxMiwgMHhhZiwgMHg4MywgMHg4NywgMHgyMCwgMHgxYiwKLSAgMHg4MCwgMHhlMywgMHgzNiwgMHhkYSwgMHgwMCwgMHg5NywgMHhkMSwgMHhmMywgMHg3OSwgMHgwOCwgMHg2ZCwgMHg1NCwKLSAgMHg4YSwgMHgwNiwgMHg2ZSwgMHg1NywgMHhhYiwgMHhlMiwgMHhhMywgMHg5OSwgMHg0MiwgMHg4OCwgMHgwOSwgMHhhMCwKLSAgMHgxOSwgMHhlZiwgMHhkNCwgMHgwMiwgMHg4NiwgMHhmYiwgMHg0NiwgMHhkMywgMHg1ZiwgMHgyYywgMHhjNCwgMHgwNywKLSAgMHg4ZiwgMHg0MCwgMHhjMCwgMHhmZCwgMHhkNywgMHhlNCwgMHhjOCwgMHgxMywgMHgyNCwgMHhmYiwgMHg3ZSwgMHg2OCwKLSAgMHg0NiwgMHhmNiwgMHgzYywgMHhkYiwgMHhmYiwgMHg2MSwgMHg2NiwgMHg2NSwgMHgzNywgMHgzMCwgMHg1YSwgMHhkMywKLSAgMHhhMSwgMHgyNywgMHgyZCwgMHgzYSwgMHgxOSwgMHgxMiwgMHg4YiwgMHgyZiwgMHgzZCwgMHg5MSwgMHgyMiwgMHg1MSwKLSAgMHg2YywgMHg0NSwgMHg1MSwgMHg0MywgMHg1OSwgMHgxZSwgMHg1OSwgMHgyMCwgMHhjNCwgMHg1YywgMHgwMiwgMHg3NiwKLSAgMHhiOCwgMHhhYSwgMHhiOSwgMHgxNCwgMHg1MiwgMHg4ZSwgMHg5NSwgMHhlOCwgMHhjMSwgMHg2ZiwgMHhjMSwgMHgxNiwKLSAgMHg5OSwgMHg0OSwgMHgxYiwgMHhhMCwgMHhhMiwgMHg4ZiwgMHgwZSwgMHhkYSwgMHg2ZCwgMHhhMCwgMHgxZCwgMHg5ZSwKLSAgMHg4NSwgMHg2NCwgMHg0ZSwgMHg1OSwgMHg5ZCwgMHg4ZCwgMHhiYSwgMHgyMywgMHhmYiwgMHhkZCwgMHg1OSwgMHgyMywKLSAgMHg3YywgMHhjYiwgMHhlNSwgMHgyOSwgMHg2NiwgMHg4NSwgMHgyNSwgMHhiMiwgMHg0NSwgMHgxNCwgMHg3ZCwgMHhmOSwKLSAgMHg5MywgMHhlZiwgMHg5MiwgMHg1YiwgMHg4OCwgMHhiNywgMHg1MSwgMHhmNiwgMHg4NywgMHg5ZCwgMHg0ZCwgMHgyYSwKLSAgMHgxZSwgMHhjNCwgMHgwZCwgMHhkZiwgMHg4NiwgMHhjYywgMHhmMCwgMHg2ZCwgMHg5YiwgMHgxNywgMHhiYSwgMHg5NSwKLSAgMHgwNiwgMHg2MCwgMHgwMiwgMHg5MSwgMHgxYiwgMHg3ZCwgMHgyZiwgMHgwZiwgMHhhNCwgMHhlMSwgMHhhOSwgMHhjYSwKLSAgMHhlNCwgMHhlYywgMHg2ZCwgMHgwOCwgMHg3NSwgMHgyMCwgMHhlZSwgMHgzZiwgMHg2MiwgMHhiZSwgMHhmNywgMHg3MywKLSAgMHg0MSwgMHg2YiwgMHhiYSwgMHhjYiwgMHhjZiwgMHg3YSwgMHg1YywgMHg1YiwgMHhiZiwgMHg5ZSwgMHgwNSwgMHhhYSwKLSAgMHg0NSwgMHgyNSwgMHhhYywgMHgyZSwgMHhlNCwgMHg4MCwgMHg0NSwgMHhjMCwgMHgwMCwgMHg4NSwgMHhlZSwgMHgzZSwKLSAgMHgwZCwgMHgwYiwgMHhhNCwgMHg0ZiwgMHgxYSwgMHgyYiwgMHhmYiwgMHg5MiwgMHhiMiwgMHg1MiwgMHhjOCwgMHgwZCwKLSAgMHgxOCwgMHhiMCwgMHhjMSwgMHg1MywgMHhlYiwgMHgzNywgMHhlMiwgMHg4MiwgMHgzMywgMHhkYiwgMHg2YSwgMHg1MCwKLSAgMHhkZiwgMHg0YSwgMHhmMCwgMHg5NiwgMHhiMiwgMHgxYiwgMHg0NSwgMHg4YiwgMHg1ZSwgMHhhYywgMHgxMCwgMHg0ZCwKLSAgMHgwYiwgMHgwYSwgMHg0OCwgMHgxYywgMHhlNSwgMHhhNywgMHgwYywgMHg3NSwgMHg2MywgMHgxZSwgMHhiYSwgMHg0OSwKLSAgMHhhYiwgMHg4MiwgMHhmMywgMHg2MywgMHg2NiwgMHg3ZSwgMHhkZSwgMHhhOCwgMHg2MSwgMHhhNiwgMHhmNiwgMHg2YSwKLSAgMHhjZCwgMHhiOSwgMHgxYSwgMHhhNiwgMHgwZSwgMHhmZCwgMHg0NiwgMHg3NSwgMHg4ZSwgMHhhMiwgMHhmMCwgMHhhOCwKLSAgMHgwOSwgMHg4YiwgMHg0YiwgMHg2MywgMHgzNywgMHg5MSwgMHgyYiwgMHhkYywgMHg3YSwgMHhlZiwgMHg4ZCwgMHg3ZiwKLSAgMHg2ZCwgMHhjNCwgMHhiYiwgMHhkMSwgMHg3ZiwgMHg2OSwgMHhkYSwgMHg1YiwgMHhjNiwgMHgzNywgMHhjNywgMHg5MiwKLSAgMHg3ZiwgMHg2NywgMHg2NywgMHgwMCwgMHhkNiwgMHhmMSwgMHg0MCwgMHg0MCwgMHg0NiwgMHgyNiwgMHg4OCwgMHg3YSwKLSAgMHg2MCwgMHgxNywgMHhkNiwgMHg0NiwgMHgyZSwgMHg3ZCwgMHgxYSwgMHg5YywgMHg5ZCwgMHgxMCwgMHg1YiwgMHgzZSwKLSAgMHg4YiwgMHg0MiwgMHhkMCwgMHhlOCwgMHhhNSwgMHg5NCwgMHhhNiwgMHhkNiwgMHgxMiwgMHg2YiwgMHhhMiwgMHg2YiwKLSAgMHhhNCwgMHhkOCwgMHg1NywgMHhjNywgMHhhZiwgMHhjYywgMHg0MiwgMHhjOSwgMHhjYSwgMHhiOCwgMHgzNCwgMHhmNywKLSAgMHhlNywgMHhhYiwgMHhiYiwgMHhhNCwgMHhlNywgMHg1YSwgMHg5MiwgMHhiMiwgMHhlYiwgMHhlMiwgMHhmMSwgMHhmMCwKLSAgMHhjZCwgMHgxMCwgMHhjMCwgMHhhZiwgMHgwZiwgMHg0YywgMHg0OCwgMHgzOCwgMHhhNSwgMHg1ZSwgMHgyMywgMHg0NywKLSAgMHhjOSwgMHg5NSwgMHg5MCwgMHgxZSwgMHg1YSwgMHg3MSwgMHg1NywgMHgxMiwgMHg5OSwgMHgwMiwgMHhjMCwgMHgwYSwKLSAgMHhiOCwgMHg1YSwgMHgxOSwgMHg0YSwgMHgyNSwgMHgzNSwgMHg4NSwgMHgzYiwgMHhkZSwgMHg3MSwgMHgwYSwgMHg3YSwKLSAgMHg0OSwgMHhlNiwgMHgwMSwgMHhkOCwgMHgyZCwgMHg0ZCwgMHhkOCwgMHg5YiwgMHg3MSwgMHg0MCwgMHgwNSwgMHgxYywKLSAgMHg4MCwgMHhhOCwgMHgzMywgMHhjMywgMHg0MiwgMHhiOSwgMHhkNCwgMHg3MSwgMHg1MiwgMHg5NSwgMHgxZiwgMHgzMywKLSAgMHhlNiwgMHgxNywgMHgzMCwgMHgwYSwgMHgwMSwgMHgxZCwgMHhjNywgMHgzYSwgMHhiMCwgMHhmOCwgMHhkMSwgMHg4ZCwKLSAgMHg4NCwgMHhlMiwgMHhhZSwgMHgzNiwgMHg5NCwgMHg2YiwgMHgxMiwgMHgwNCwgMHhjYywgMHhiOSwgMHhjNywgMHhhZSwKLSAgMHg2MCwgMHhjZSwgMHgzOCwgMHgzOSwgMHg5NiwgMHhlMywgMHg3NSwgMHg4MCwgMHhiZCwgMHg2OCwgMHgyMywgMHgxYSwKLSAgMHhiZSwgMHg2YSwgMHg1MywgMHg0YSwgMHgyMSwgMHhmYywgMHgxNywgMHhmMiwgMHg2YywgMHg3YiwgMHhlYSwgMHgzZSwKLSAgMHhjZiwgMHg4ZSwgMHgxYywgMHhlOSwgMHhjMywgMHgzYiwgMHhlNywgMHgxYSwgMHg1YSwgMHg4MiwgMHhmMywgMHgzMiwKLSAgMHg3OSwgMHhjMSwgMHgwYywgMHhlMSwgMHhmNiwgMHgwZSwgMHg3NSwgMHhkMCwgMHg1ZCwgMHgwZiwgMHgyNSwgMHhiYSwKLSAgMHgzZiwgMHgwZiwgMHhkNSwgMHg1YSwgMHg5YywgMHgyNSwgMHg5MiwgMHg4MywgMHgwNSwgMHg1YiwgMHg5YiwgMHg2YywKLSAgMHgyOCwgMHhjZSwgMHhjMSwgMHg5YywgMHgzOSwgMHgwMCwgMHg2YiwgMHhlOSwgMHgwMSwgMHgwMywgMHhjMCwgMHg5ZCwKLSAgMHgxMCwgMHgxMSwgMHg5YSwgMHg1YywgMHg5YywgMHhkNiwgMHhmNSwgMHhjNiwgMHhkOSwgMHhhMiwgMHgzMCwgMHg5ZiwKLSAgMHhlOCwgMHg3NCwgMHg4MCwgMHgzYiwgMHg4NiwgMHg4ZSwgMHgwZCwgMHg2MiwgMHgxZiwgMHhmYywgMHgxYiwgMHhlNSwKLSAgMHg4YiwgMHgxYSwgMHg2MywgMHhhNCwgMHhhMSwgMHgxNCwgMHgzZSwgMHhmZSwgMHg1MiwgMHg2MCwgMHgyZSwgMHg3MCwKLSAgMHgzNywgMHg1NCwgMHg1YiwgMHhlOCwgMHhjNiwgMHg4MCwgMHgzOCwgMHgxNiwgMHg1NCwgMHg4YiwgMHhmYSwgMHgyNywKLSAgMHhmOCwgMHg1YSwgMHgxZCwgMHhiNywgMHhhNywgMHg0OSwgMHg4ZSwgMHhjOCwgMHhkMiwgMHg4YywgMHgxOCwgMHhmMSwKLSAgMHg4YSwgMHgyMSwgMHg4NCwgMHgzNSwgMHhlNiwgMHhkMiwgMHhkYSwgMHg4MiwgMHhiMywgMHhlZCwgMHhjNCwgMHgyMywKLSAgMHg5MiwgMHg2YSwgMHgxYSwgMHg5ZCwgMHgyYywgMHhiYywgMHgwZCwgMHhmNSwgMHgxOSwgMHhlOSwgMHhkOCwgMHgyMiwKLSAgMHhjOSwgMHg2YSwgMHg2OCwgMHhjYywgMHgyYywgMHhlMCwgMHhkYiwgMHgyMCwgMHgwMCwgMHhlZCwgMHg4MywgMHhkYSwKLSAgMHhjYSwgMHg3NSwgMHg4MiwgMHg3NSwgMHgwOSwgMHhiMywgMHhlNiwgMHgyNiwgMHhkMiwgMHhjYiwgMHgxNCwgMHhiMywKLSAgMHg0OSwgMHhkYywgMHg0MywgMHgwMywgMHhlZiwgMHhlZiwgMHhjZiwgMHgzZiwgMHhkZiwgMHg1NSwgMHg4OCwgMHgwZSwKLSAgMHgwYSwgMHg1MCwgMHhmYSwgMHhjZiwgMHhhMCwgMHg3MSwgMHg2ZCwgMHg0NCwgMHgwMywgMHhhNCwgMHhlNywgMHhjYywKLSAgMHg0ZiwgMHhlZCwgMHhhMywgMHgzZCwgMHgyZCwgMHgyNCwgMHgyOCwgMHg1NSwgMHhlOSwgMHg4MCwgMHhmMiwgMHgxNCwKLSAgMHhkYSwgMHhjZSwgMHg2YSwgMHhlNywgMHgwOSwgMHg2YywgMHg3YSwgMHgzYywgMHgzZiwgMHg3NSwgMHgyYywgMHhiMywKLSAgMHg3YywgMHhlNiwgMHgyOSwgMHgwZCwgMHg3MiwgMHgxOCwgMHhjNywgMHgxMiwgMHhlMSwgMHhkZSwgMHg0NCwgMHhiZiwKLSAgMHhkNCwgMHhhOCwgMHgwZiwgMHg4OSwgMHg1ZSwgMHg4YiwgMHhmOCwgMHg5ZCwgMHgzOCwgMHhmOSwgMHg1MCwgMHhjOCwKLSAgMHhjZCwgMHg3NiwgMHhiMiwgMHg0NSwgMHgxZiwgMHgzZiwgMHgyNiwgMHg2ZCwgMHg5YywgMHhhMywgMHhiOSwgMHgzMCwKLSAgMHgxYiwgMHhlOCwgMHhjMiwgMHhhNSwgMHg1MywgMHgzNiwgMHg3YiwgMHhiZiwgMHhmNiwgMHg5ZSwgMHgzYywgMHgxYiwKLSAgMHgzZCwgMHg2YSwgMHhkZCwgMHg5MywgMHg2NiwgMHhiZSwgMHgxOCwgMHhkZSwgMHg0YywgMHhlZSwgMHgwOSwgMHg1NywKLSAgMHg5ZCwgMHg5ZiwgMHhiYywgMHg0MSwgMHhiYSwgMHg4ZSwgMHhiMiwgMHgxYiwgMHg3NCwgMHg5MiwgMHhkMiwgMHhjOCwKLSAgMHgwMSwgMHhjOSwgMHgyYSwgMHg3NiwgMHhlZiwgMHg1ZSwgMHgwMSwgMHhkYSwgMHgzNiwgMHhhYywgMHgxNywgMHg4OSwKLSAgMHg0NCwgMHg2NiwgMHg2YywgMHhjOSwgMHhiYiwgMHgzOCwgMHg2YSwgMHgyYywgMHg2NCwgMHhhNywgMHgxOSwgMHgxMSwKLSAgMHgxMSwgMHgwOCwgMHg4MiwgMHhhYywgMHg5OCwgMHhlNywgMHhkMSwgMHhjYSwgMHg0NCwgMHhjZCwgMHhlMiwgMHhjZiwKLSAgMHg2ZSwgMHhiMywgMHhlOSwgMHgwYSwgMHhhOSwgMHgwNSwgMHhhNCwgMHhkOCwgMHgxMywgMHgwNiwgMHhkZSwgMHhmYSwKLSAgMHg5OCwgMHg4NywgMHgxNywgMHhlNywgMHg5MCwgMHhjOCwgMHg4NiwgMHhmOSwgMHg0MSwgMHg3NywgMHgzMywgMHg2YywKLSAgMHgzMiwgMHg5NSwgMHgyZSwgMHg5ZSwgMHg1NywgMHgxZiwgMHg3OCwgMHgzYywgMHgzOSwgMHgxNywgMHgxYywgMHhiZiwKLSAgMHg2YiwgMHhmZiwgMHgyYSwgMHgwOCwgMHhlZiwgMHhhMywgMHhjOCwgMHg4NywgMHg5NCwgMHgxOSwgMHg0MywgMHg0ZiwKLSAgMHhmOSwgMHg2NSwgMHhjMSwgMHhlYSwgMHhlMiwgMHg5YiwgMHg3YywgMHg1YSwgMHg5NSwgMHg3NSwgMHg3OSwgMHgyMSwKLSAgMHhlNSwgMHg2MywgMHhjZSwgMHhiNCwgMHgzZCwgMHgzZSwgMHgxZSwgMHgyNywgMHgzNywgMHhkOSwgMHg0NCwgMHhjYiwKLSAgMHhmYSwgMHg0NywgMHhhMSwgMHhmZiwgMHg5ZiwgMHhiOSwgMHgwOCwgMHg0NSwgMHhiNSwgMHhhYSwgMHgzYywgMHg2YiwKLSAgMHg2OCwgMHhkNywgMHgzNCwgMHg4ZSwgMHg0ZCwgMHgxOCwgMHg3NywgMHhlOCwgMHhhYywgMHgyOSwgMHgxMCwgMHg1MCwKLSAgMHhiMCwgMHhiZCwgMHhhOCwgMHgzNywgMHhmMSwgMHgxYywgMHhhMiwgMHg2OSwgMHg5OSwgMHg5NSwgMHg5MSwgMHg1YywKLSAgMHgwNiwgMHg5ZSwgMHg4MCwgMHg4YSwgMHgxNSwgMHg2OSwgMHg4ZCwgMHg0ZCwgMHhmYSwgMHhkNywgMHgyNCwgMHhhNSwKLSAgMHgyOSwgMHhiMSwgMHgxNSwgMHg5MCwgMHhhMywgMHgxZCwgMHgzYSwgMHg2OSwgMHg5NywgMHhlMiwgMHgwZCwgMHhmYiwKLSAgMHg0OCwgMHg2ZSwgMHhjZSwgMHhhMCwgMHhkOCwgMHhjZSwgMHg2NiwgMHhjNCwgMHhkYiwgMHhjYSwgMHgwNCwgMHg3NSwKLSAgMHhiOSwgMHgxNiwgMHhiMywgMHhiMiwgMHg0MiwgMHhmZSwgMHg5OCwgMHhkNywgMHg5MiwgMHg4ZCwgMHg3YSwgMHgxNywKLSAgMHhhZiwgMHgyYSwgMHg3MiwgMHhmMywgMHgwMywgMHg3ZiwgMHgzOSwgMHhlNCwgMHhhNywgMHgzNywgMHg1NywgMHgyNSwKLSAgMHg3NywgMHhiMCwgMHhjNCwgMHgzNiwgMHgzYiwgMHg5ZCwgMHgwZCwgMHg3NSwgMHg4OSwgMHhkMiwgMHhmNCwgMHgwNywKLSAgMHg1YywgMHhjMSwgMHhjOSwgMHgxYiwgMHhmZiwgMHhhMCwgMHhhMiwgMHg1OCwgMHhhZCwgMHg3MiwgMHgxZSwgMHhhZSwKLSAgMHgyNiwgMHg1ZSwgMHhmMiwgMHg0YiwgMHg1ZSwgMHhlNSwgMHg5NywgMHg3ZCwgMHhmZCwgMHhiOSwgMHhlMSwgMHhmMiwKLSAgMHgwMywgMHgzNiwgMHg4ZCwgMHg1MywgMHg4YywgMHgzMCwgMHgyMywgMHgxMSwgMHg5YSwgMHgxNSwgMHhkZiwgMHhkMiwKLSAgMHhhMCwgMHhlNywgMHgzYywgMHhmZCwgMHgyYiwgMHg3NCwgMHg5ZSwgMHhmNywgMHg1MCwgMHhkZiwgMHhiZiwgMHgzOCwKLSAgMHgwYywgMHg2OCwgMHg3ZCwgMHgxNywgMHhkZSwgMHg1YywgMHhlYywgMHgxNSwgMHhmMCwgMHhiYSwgMHhhMCwgMHgzOCwKLSAgMHg5NSwgMHhkZCwgMHg0NSwgMHhjZSwgMHgwMywgMHgwNCwgMHg5ZCwgMHhmYiwgMHhmNCwgMHhmNSwgMHg3OCwgMHg5MCwKLSAgMHg0NSwgMHhhMywgMHg5MCwgMHg5MSwgMHg1YywgMHgyMiwgMHgyZiwgMHg5MCwgMHgyZSwgMHhmZiwgMHg5ZSwgMHhlMSwKLSAgMHg3OCwgMHhkYSwgMHg1MSwgMHg0YSwgMHhmZiwgMHhlYSwgMHg5NiwgMHhmNCwgMHg4MywgMHhmZCwgMHhlMSwgMHgyNCwKLSAgMHg0YiwgMHhhOSwgMHg0NSwgMHhkYywgMHg4YiwgMHg4NiwgMHgxNCwgMHhhNiwgMHg3NSwgMHg1NSwgMHg3MCwgMHg1YywKLSAgMHg5MiwgMHg5MCwgMHg2OCwgMHhlMiwgMHhhNCwgMHg1NywgMHgwZCwgMHhmNywgMHgxNSwgMHgwZiwgMHg3MSwgMHgwZSwKLSAgMHg5NSwgMHg4YiwgMHg0ZSwgMHhmOCwgMHhmNCwgMHhmMCwgMHhmZCwgMHhmOSwgMHgzNywgMHhjOSwgMHg3ZSwgMHhkMCwKLSAgMHgyYywgMHg0OCwgMHg4MSwgMHgxZSwgMHgzYSwgMHg4YywgMHhlMSwgMHhiYywgMHgzYiwgMHg4NiwgMHg5ZSwgMHgyMSwKLSAgMHhhMiwgMHgzZCwgMHg0NiwgMHhhMiwgMHhmZSwgMHhiYywgMHgyYSwgMHhhNiwgMHg1MSwgMHgyNywgMHgwMywgMHhiNywKLSAgMHg3NSwgMHgxMywgMHgzYywgMHgxNCwgMHhkNiwgMHhhNCwgMHg1OCwgMHgwZSwgMHg0YiwgMHg3ZCwgMHg0OSwgMHgyYiwKLSAgMHg0MSwgMHhkZSwgMHg2ZiwgMHg1NSwgMHgzOCwgMHgxYywgMHg4NiwgMHhlMSwgMHg0ZCwgMHgzMywgMHg3MSwgMHgxNywKLSAgMHgzYywgMHhlZiwgMHhlZCwgMHg5OSwgMHgxNywgMHg0YywgMHg1NiwgMHg1MCwgMHhkMCwgMHgzNCwgMHhkZSwgMHg4ZCwKLSAgMHhhZSwgMHg3MCwgMHg2NCwgMHhjMCwgMHhmMCwgMHhkNSwgMHhiMiwgMHg0ZCwgMHhjNiwgMHhhMSwgMHhjZSwgMHhiZSwKLSAgMHg3YiwgMHhmZCwgMHhiMiwgMHgzMywgMHhkYywgMHg5MywgMHhhNywgMHg4ZiwgMHg3NywgMHgzZiwgMHg2MSwgMHg5ZSwKLSAgMHg2NSwgMHg0OSwgMHhlYiwgMHgxMSwgMHhjYiwgMHgyYywgMHg4YSwgMHhmZSwgMHhmNSwgMHg3ZCwgMHg0NSwgMHhmNSwKLSAgMHhmNywgMHhlYSwgMHgyYSwgMHgyYSwgMHhlNSwgMHgyMSwgMHgxZiwgMHgyMCwgMHhhNCwgMHg2ZSwgMHg2NiwgMHg5NCwKLSAgMHg3MCwgMHhhNywgMHg0ZCwgMHgzNSwgMHg2OSwgMHg4MSwgMHhhYywgMHhmNCwgMHhmZiwgMHhkNywgMHgzZiwgMHg0MiwKLSAgMHhlYiwgMHhlZSwgMHhhZiwgMHgzZiwgMHgyMSwgMHhhMiwgMHg4MywgMHhkNiwgMHhiYywgMHhiNiwgMHg1MCwgMHg0MywKLSAgMHg3OSwgMHg0ZCwgMHhkZCwgMHhlMiwgMHg2NSwgMHg3ZiwgMHg1YiwgMHg5NSwgMHg5MiwgMHg4MiwgMHgyMCwgMHg2MSwKLSAgMHg4NSwgMHhiZSwgMHg0ZSwgMHg1YiwgMHhiMCwgMHgwMCwgMHgzNiwgMHg3ZiwgMHhiZiwgMHg2OSwgMHhiYiwgMHhlZCwKLSAgMHhiMSwgMHgzZiwgMHg1MywgMHg5MiwgMHg3NSwgMHg0NSwgMHhiZSwgMHhjYSwgMHhiYywgMHhmNSwgMHhjMCwgMHgyYiwKLSAgMHhhMiwgMHhhYSwgMHhjMCwgMHg2NywgMHg2NiwgMHgxNSwgMHgwOCwgMHhkZCwgMHgyZCwgMHg2OSwgMHgzZiwgMHhlNywKLSAgMHgxNSwgMHhmZiwgMHg2OCwgMHg5NywgMHgzOCwgMHg0NSwgMHgyOCwgMHhiYywgMHg1MCwgMHg0ZCwgMHg4ZCwgMHg2NiwKLSAgMHgxOSwgMHhmMCwgMHg2ZSwgMHhhNCwgMHg4MCwgMHg2NiwgMHg1MCwgMHgwYSwgMHg0NywgMHgwYywgMHhkOCwgMHg5MCwKLSAgMHgxNywgMHgzZCwgMHg5ZSwgMHhlYSwgMHgwZCwgMHhjOSwgMHgxNywgMHhmYiwgMHgyZiwgMHg3MywgMHg1YSwgMHg4MywKLSAgMHhlNiwgMHhhNiwgMHhmYywgMHg4NywgMHhlZiwgMHg5MiwgMHhkZSwgMHgzMCwgMHgyNywgMHg5NSwgMHg2YywgMHhkMCwKLSAgMHgxMiwgMHgzZSwgMHhmYywgMHg3ZSwgMHg4ZiwgMHgyYSwgMHgxNiwgMHgzNywgMHgzZSwgMHgwYiwgMHg4OSwgMHg3MywKLSAgMHg4NSwgMHhkMiwgMHg0OCwgMHgyNiwgMHgwMSwgMHhhYiwgMHg1NCwgMHhhZCwgMHg0MywgMHgyNCwgMHhiNywgMHg5ZiwKLSAgMHgyNCwgMHg4YywgMHg4NSwgMHgwMSwgMHhhOSwgMHg5YSwgMHhmZiwgMHgxOCwgMHhkMSwgMHg3ZiwgMHhmZiwgMHhiYSwKLSAgMHgzNywgMHg3YywgMHhmYywgMHg5MywgMHhmYiwgMHhlYywgMHhlZiwgMHhmNywgMHgzZSwgMHhmYywgMHg3ZSwgMHg3ZiwKLSAgMHgyMywgMHg1NiwgMHg5MiwgMHhlYSwgMHg0MSwgMHg5ZSwgMHg3OCwgMHgzOSwgMHhhOSwgMHhhNCwgMHgwNywgMHgxNywKLSAgMHg3NywgMHg1MiwgMHg5OCwgMHgyMywgMHgzMSwgMHg2NSwgMHhkNywgMHhlMCwgMHhkNywgMHg2YywgMHg1MywgMHhhYywKLSAgMHhkMSwgMHgyZCwgMHg3OSwgMHgyYSwgMHgzYiwgMHhkYSwgMHhhZCwgMHhmNiwgMHhmOCwgMHg1NSwgMHg0ZSwgMHg3MiwKLSAgMHg1MywgMHhmMiwgMHhjYiwgMHhlMiwgMHg0NSwgMHgxMywgMHgzNCwgMHg2MywgMHhhOSwgMHgxOCwgMHgwOSwgMHgzOCwKLSAgMHg2OCwgMHg5MSwgMHgzOSwgMHgxZCwgMHgwZiwgMHg5OSwgMHg1OSwgMHg4ZCwgMHg0MywgMHgxNiwgMHgwYSwgMHhmNywKLSAgMHg0MywgMHgxMiwgMHhlMSwgMHg4YywgMHgxNCwgMHg0YywgMHg5MywgMHg1NiwgMHhiOCwgMHhjMCwgMHg1OCwgMHg4YiwKLSAgMHgxMywgMHhmYiwgMHg5MywgMHgyMiwgMHgwYiwgMHg0YSwgMHg0NSwgMHhiNSwgMHgxYiwgMHg5YywgMHg0MCwgMHg3YywKLSAgMHhiYSwgMHg1NiwgMHhjMiwgMHhlNiwgMHg0ZCwgMHg5YiwgMHhhOCwgMHgyMCwgMHhmMSwgMHg0YiwgMHhjYywgMHg1ZSwKLSAgMHhlMywgMHhhZCwgMHhlMCwgMHgwMCwgMHg0MSwgMHhhZSwgMHhkOSwgMHhjZiwgMHg5NCwgMHhiNiwgMHg2MywgMHhiZCwKLSAgMHhkYSwgMHgyYywgMHg4OCwgMHhjYywgMHg0OCwgMHg3OSwgMHhlZCwgMHhhMiwgMHg2ZCwgMHhmOCwgMHg5OSwgMHg1ZSwKLSAgMHgwOSwgMHg5MiwgMHgzOCwgMHhkYywgMHg2MSwgMHgzNiwgMHg4YSwgMHg0YiwgMHg5MCwgMHg0ZSwgMHhhOCwgMHgwMSwKLSAgMHg2ZiwgMHhhYiwgMHhhMywgMHgyMSwgMHhlZCwgMHgwNywgMHgyNCwgMHhkNSwgMHhjNCwgMHg2MSwgMHhlYywgMHhhNSwKLSAgMHg3NSwgMHhjZiwgMHg4NiwgMHhmOCwgMHg1YiwgMHhlMSwgMHg2ZCwgMHg4MiwgMHg2YywgMHgxNCwgMHgzNiwgMHg2NywKLSAgMHg4ZCwgMHgyOCwgMHg2NCwgMHg0NiwgMHg0YSwgMHhmOSwgMHhjMiwgMHg0ZCwgMHgzNiwgMHhmNCwgMHhjMCwgMHgwMCwKLSAgMHg4MCwgMHgzZCwgMHg4MCwgMHg5ZiwgMHg3YSwgMHgzOSwgMHg4ZCwgMHgxMiwgMHhjOCwgMHgxZCwgMHgwNiwgMHhkMSwKLSAgMHg2NywgMHg0MywgMHg0NCwgMHhiMywgMHgzYiwgMHhjMywgMHgzYiwgMHgxOSwgMHhjZiwgMHhkYSwgMHhhMiwgMHhlMywKLSAgMHhhYSwgMHg1YiwgMHg0MSwgMHg1OCwgMHg5MywgMHhhMSwgMHhiMywgMHhjZCwgMHhlMSwgMHg2NiwgMHhiMiwgMHg0NSwKLSAgMHg4ZCwgMHhhNiwgMHhkOSwgMHgxYSwgMHg0YywgMHg2NiwgMHg2OSwgMHg3ZCwgMHhiNSwgMHgxZCwgMHhmMywgMHgzYiwKLSAgMHgzYiwgMHg1NywgMHhhZiwgMHhlMywgMHg2YiwgMHhkMiwgMHg5MCwgMHgwOCwgMHg4MiwgMHg5NiwgMHgxOSwgMHhkYSwKLSAgMHgzYSwgMHgxOSwgMHg3ZiwgMHhjYSwgMHg2MCwgMHg0MiwgMHg5NCwgMHgxNiwgMHgzYSwgMHhiNCwgMHhiOSwgMHgwMywKLSAgMHhhZCwgMHg5ZiwgMHg1MCwgMHgyNSwgMHgyNywgMHhmZiwgMHhmNCwgMHgzZiwgMHhmOCwgMHhkOSwgMHhiMCwgMHg4OCwKLSAgMHhkZiwgMHgzYywgMHhjOSwgMHg3OSwgMHg3ZCwgMHg0MywgMHgyZSwgMHg3OSwgMHg3MywgMHhhMiwgMHg5NywgMHgzNCwKLSAgMHhmOCwgMHhmOSwgMHgzYywgMHg5YiwgMHgwZiwgMHhmMywgMHhjNSwgMHgyMiwgMHg5YiwgMHg0NSwgMHg5MiwgMHhkZiwKLSAgMHg5MCwgMHhmYSwgMHg4NSwgMHgyZSwgMHhjYiwgMHg4OSwgMHgzZSwgMHhlYiwgMHg5YywgMHgyZiwgMHhlZCwgMHgxNCwKLSAgMHg3MSwgMHg4OSwgMHgyMywgMHg2OCwgMHhkNCwgMHgyZiwgMHg4ZSwgMHg2MiwgMHgyYiwgMHg2MSwgMHgwMSwgMHhlMSwKLSAgMHhiYywgMHgwMiwgMHg0YSwgMHhjNCwgMHgwMCwgMHg0MCwgMHgxNCwgMHg2MCwgMHg4NCwgMHhmMywgMHg2ZCwgMHhiNSwKLSAgMHhlNCwgMHhjYSwgMHg2ZCwgMHhiZiwgMHg4NSwgMHg4NiwgMHg2MSwgMHhhZSwgMHhlNiwgMHhmYiwgMHhjMywgMHhkMCwKLSAgMHgxNywgMHg2NCwgMHhlNiwgMHg0MywgMHhkOCwgMHg3MCwgMHg2NCwgMHgxMCwgMHhmYSwgMHgxMCwgMHg0NywgMHgzNywKLSAgMHgyOSwgMHhjMywgMHhiYywgMHgzOSwgMHgzYywgMHgyOCwgMHhjMiwgMHgwNywgMHg3MSwgMHg2ZSwgMHgyMywgMHgxNiwKLSAgMHhjYiwgMHhkZCwgMHhlMSwgMHg2MCwgMHg2YiwgMHgxMSwgMHg1YiwgMHgxMSwgMHg4MSwgMHg3MSwgMHg0YiwgMHhiMiwKLSAgMHgwZSwgMHg4MSwgMHg4ZiwgMHg5YSwgMHgxYiwgMHhhOCwgMHg3MywgMHhhNSwgMHhiMSwgMHhlZiwgMHg1MiwgMHhlZiwKLSAgMHgzNSwgMHg1OSwgMHhmZSwgMHhmYiwgMHhjMCwgMHhkYiwgMHg1ZiwgMHgzNSwgMHg1ZCwgMHg3NCwgMHhiYiwgMHgxNywKLSAgMHhlOSwgMHg2ZCwgMHhkYiwgMHg5ZCwgMHhkNiwgMHgwMSwgMHg3NSwgMHhmNiwgMHgxZiwgMHg4YywgMHgyNiwgMHhlMywKLSAgMHhhNSwgMHhmNSwgMHg0NywgMHhjZSwgMHg1OSwgMHg5OCwgMHg5NSwgMHhkMSwgMHg4MywgMHg2MSwgMHhjMSwgMHhkOCwKLSAgMHg5ZSwgMHhjNCwgMHgzYSwgMHgzMCwgMHg3OCwgMHhmMiwgMHgxNiwgMHg1NCwgMHhlNSwgMHhiYywgMHg5NiwgMHg1NCwKLSAgMHgwMywgMHhhZSwgMHg3NiwgMHhiMCwgMHhiOCwgMHgxYywgMHhkZSwgMHhjNiwgMHhmMSwgMHgyNywgMHhlYiwgMHg5YywKLSAgMHhiNiwgMHgyOCwgMHgyZCwgMHgyMiwgMHhjOSwgMHhmZSwgMHg3NSwgMHgyNCwgMHgxNiwgMHg0YiwgMHhhYSwgMHg4YSwKLSAgMHg5NiwgMHhkZSwgMHgxYSwgMHg4MiwgMHg4OSwgMHgyOCwgMHgxYSwgMHgzZCwgMHhmYiwgMHhiNiwgMHhhZSwgMHg1YiwKLSAgMHg1MiwgMHhlYiwgMHhjMSwgMHg2OCwgMHg1NiwgMHgwZiwgMHhiMywgMHgxNiwgMHgyOSwgMHgwOCwgMHgwNCwgMHhjNCwKLSAgMHg4YSwgMHg1YiwgMHgwNywgMHgxMywgMHg5NCwgMHgxYywgMHgwZSwgMHhhYSwgMHg3OCwgMHhhOSwgMHhiMSwgMHhhNSwKLSAgMHgzNiwgMHhiZiwgMHgwZCwgMHhkYywgMHg3MCwgMHg5NywgMHg4NCwgMHgzYywgMHg0NiwgMHg2YSwgMHgyMywgMHg4MSwKLSAgMHhhZiwgMHgxOCwgMHgxZSwgMHg1NywgMHg0NCwgMHgyYSwgMHhjZCwgMHhkNywgMHgzNCwgMHg3NiwgMHhhMiwgMHhjYywKLSAgMHg4OCwgMHhlNCwgMHhjNSwgMHhmMiwgMHhhYSwgMHgzMiwgMHg3NiwgMHg1OSwgMHg1OCwgMHhjMSwgMHgzYSwgMHhmZSwKLSAgMHgyNiwgMHg4MSwgMHg4ZiwgMHg5NCwgMHg5YSwgMHhiMywgMHhmMiwgMHgzMywgMHg5NiwgMHgwOSwgMHg3YiwgMHg1OCwKLSAgMHhjNiwgMHg5ZiwgMHgxMCwgMHg3ZSwgMHg5NywgMHg1MiwgMHhmMywgMHg4NiwgMHg2OSwgMHgzZCwgMHgwYywgMHhhOCwKLSAgMHhlMywgMHhiYywgMHgwYiwgMHhlYywgMHg0MSwgMHg2ZSwgMHgwMiwgMHg0YSwgMHgwOSwgMHhhNywgMHg0YywgMHg4NSwKLSAgMHg4MiwgMHhmMCwgMHhkZCwgMHgwYywgMHg3MSwgMHhlYywgMHg4YywgMHg0NiwgMHgzYiwgMHhhNCwgMHgxNiwgMHhlYywKLSAgMHg5OCwgMHgzZiwgMHgzNCwgMHgyZCwgMHgyYSwgMHhlMSwgMHgwYSwgMHg4NiwgMHg2ZSwgMHg1MywgMHg1YywgMHg0YSwKLSAgMHhiNCwgMHhhMCwgMHg4ZiwgMHgwMSwgMHg4NywgMHg0YiwgMHgxYSwgMHhjOCwgMHg3YiwgMHg2ZCwgMHg0NiwgMHhmZiwKLSAgMHhiNiwgMHg0MiwgMHg1YSwgMHg3ZiwgMHg2NSwgMHgyYywgMHhiZCwgMHgwYSwgMHg3OCwgMHgzMSwgMHhkOSwgMHhjMiwKLSAgMHg1MywgMHg1YywgMHhjMywgMHhmNCwgMHg1ZSwgMHgwOSwgMHg1NiwgMHhkNiwgMHg4MiwgMHg0NSwgMHhhNSwgMHg5ZCwKLSAgMHg0ZiwgMHgxZCwgMHhlOCwgMHgzZSwgMHhmYiwgMHg0NSwgMHg2OSwgMHgxMSwgMHg3OSwgMHhhMywgMHgyMCwgMHhhMCwKLSAgMHgwMCwgMHgxMywgMHg0YSwgMHhkNywgMHg3YSwgMHg1YSwgMHgxZSwgMHhlZCwgMHg3NywgMHg4ZSwgMHgyZiwgMHgzNywKLSAgMHgwNywgMHgzZSwgMHgzMywgMHg1NiwgMHgyYiwgMHhiMCwgMHhjMywgMHgyOSwgMHhhZiwgMHgzOSwgMHhhYywgMHg4YywKLSAgMHg2NCwgMHgzNywgMHg3NywgMHgzYiwgMHhhMywgMHg4NSwgMHgzNSwgMHg0NiwgMHhkNiwgMHgyMSwgMHhhYywgMHgwMSwKLSAgMHhhMCwgMHhkNiwgMHgyZiwgMHhmMCwgMHhhOSwgMHgyNSwgMHgzNywgMHg2YSwgMHgyYiwgMHhkMCwgMHg1ZiwgMHhmOSwKLSAgMHgyMywgMHhkYiwgMHhhYywgMHhhZCwgMHg0YiwgMHhlNSwgMHgwMywgMHgwOCwgMHgyMiwgMHg2MywgMHg5NSwgMHgzMiwKLSAgMHg1NywgMHgxZSwgMHg4NiwgMHhkNiwgMHhlNywgMHg4ZCwgMHgxOCwgMHhkNiwgMHgxOCwgMHgyZCwgMHhlNiwgMHg4ZiwKLSAgMHhiNCwgMHhkZSwgMHg0MCwgMHhlYiwgMHhjMywgMHg3NCwgMHg4ZCwgMHg3NywgMHg2OSwgMHhjZCwgMHgwNCwgMHhiZiwKLSAgMHg2ZSwgMHhmNiwgMHhmZCwgMHhkNSwgMHhkMSwgMHgzYiwgMHgzMSwgMHgxYSwgMHgwMCwgMHg0NiwgMHg0MywgMHhkYSwKLSAgMHgxNSwgMHgyYiwgMHg1NCwgMHgwMSwgMHhkZSwgMHgzZiwgMHg1YywgMHgwYywgMHg0ZiwgMHgxZSwgMHhjMSwgMHgxMSwKLSAgMHg0MCwgMHhmYiwgMHg1NiwgMHg1ZiwgMHhhNSwgMHhmYiwgMHg4ZiwgMHg5ZiwgMHhjOCwgMHhiNCwgMHgxNSwgMHg4YywKLSAgMHgxMywgMHgwYSwgMHhmMiwgMHgyNiwgMHhmZiwgMHg2YSwgMHg2NywgMHg4NywgMHg1MywgMHg5MCwgMHhjOCwgMHg2ZCwKLSAgMHgxNCwgMHhjOCwgMHg1ZSwgMHg3OCwgMHg3MCwgMHhlOSwgMHhkOSwgMHgzZiwgMHg2ZCwgMHg0NiwgMHg5MywgMHg4ZiwKLSAgMHhkNSwgMHhhNCwgMHg2NCwgMHhjNywgMHgxYSwgMHgwNSwgMHhmNCwgMHg5MCwgMHgyMCwgMHhlZCwgMHhmNywgMHg3YywKLSAgMHgxYSwgMHg3NCwgMHgzYiwgMHg3YSwgMHgzMiwgMHhiMCwgMHg1MiwgMHhiYSwgMHhhZSwgMHgxZCwgMHg5MiwgMHhlMCwKLSAgMHg1NywgMHg0MSwgMHhiZiwgMHgyNiwgMHhmNiwgMHhhMCwgMHg5OCwgMHgxNCwgMHgwNCwgMHgwZCwgMHhlZSwgMHhlZiwKLSAgMHgwZiwgMHhmOSwgMHhhYiwgMHgxYSwgMHhmOCwgMHg3YiwgMHg4MywgMHg0MiwgMHg0NiwgMHg0ZSwgMHgyNCwgMHhhNiwKLSAgMHhkMywgMHhmMCwgMHgwNiwgMHg5NiwgMHg4YywgMHhmYSwgMHg5YywgMHg4MywgMHg0MSwgMHgyMCwgMHgzYywgMHg4ZCwKLSAgMHg2NCwgMHhiMywgMHhhZiwgMHgxNCwgMHgzMywgMHgzNSwgMHg1ZiwgMHgwOCwgMHg3MiwgMHhiZiwgMHg5NCwgMHgyZSwKLSAgMHgyYywgMHg4YywgMHgzNywgMHhmOCwgMHg5MSwgMHg5NywgMHg3MiwgMHhlZCwgMHg2ZSwgMHgwYiwgMHg5NywgMHhlNywKLSAgMHhiNywgMHgyMSwgMHhlZSwgMHgwMiwgMHhiYiwgMHhhMCwgMHhkNSwgMHgzNiwgMHhjMiwgMHg5NiwgMHhlOSwgMHg3MywKLSAgMHg4OCwgMHhlYiwgMHgwZSwgMHhiMSwgMHhmNCwgMHhlMCwgMHgxZSwgMHgxOCwgMHg1MiwgMHhkOCwgMHgyMSwgMHgzYSwKLSAgMHgxMCwgMHgzNywgMHg0MCwgMHhkMCwgMHg5ZiwgMHg4OSwgMHgyMiwgMHg3NywgMHhjZiwgMHg0NiwgMHhiYiwgMHhjZiwKLSAgMHgxNSwgMHhmMiwgMHg3ZCwgMHg5MCwgMHg3YywgMHg1ZCwgMHhhYywgMHhlOCwgMHg0OCwgMHg2OCwgMHhkNSwgMHg1ZiwKLSAgMHg4ZiwgMHhiZiwgMHgwZCwgMHhjYSwgMHg1NiwgMHhlOSwgMHg4ZCwgMHg0NywgMHgwNywgMHhmNCwgMHhjNiwgMHhkYiwKLSAgMHgzMSwgMHgzZiwgMHg3NSwgMHg1MywgMHhjZSwgMHgyZiwgMHhjYywgMHg5YiwgMHhiMSwgMHhlNywgMHg5ZSwgMHhkMiwKLSAgMHg3MywgMHg4NiwgMHhlMiwgMHg2NiwgMHg4ZCwgMHhiOSwgMHg0NywgMHg0MiwgMHg1NCwgMHg2YiwgMHg2NiwgMHhmMiwKLSAgMHhlOCwgMHg1MSwgMHg2NCwgMHgyNiwgMHg4MywgMHg1ZiwgMHhmYywgMHhhMSwgMHg1MywgMHhjOCwgMHg3NSwgMHgyMiwKLSAgMHgyOCwgMHhlYSwgMHg2YiwgMHgwOCwgMHhjYSwgMHg0MSwgMHg0MSwgMHg4ZiwgMHhlZCwgMHg2MCwgMHhmMCwgMHgyOSwKLSAgMHg5OSwgMHgyZiwgMHhhMywgMHgxNywgMHgzZCwgMHhhNCwgMHhlOSwgMHg2OSwgMHgwNSwgMHgyMCwgMHhkNiwgMHgwNiwKLSAgMHg0OCwgMHgzNCwgMHg0ZiwgMHhmNywgMHgwZiwgMHhmNiwgMHg3NiwgMHg5ZSwgMHg4YywgMHgxZSwgMHg4ZCwgMHhmNiwKLSAgMHg2ZCwgMHg4MiwgMHgyZCwgMHhhMywgMHgzNCwgMHgzNCwgMHhjOCwgMHg2NywgMHg4YSwgMHgwNCwgMHg5MiwgMHg5MCwKLSAgMHg1YSwgMHg5NiwgMHgxNywgMHgwMiwgMHhjMywgMHg2NCwgMHg3ZiwgMHgwMiwgMHgwZiwgMHhhYywgMHg0YiwgMHhhZCwKLSAgMHgyMywgMHg2MCwgMHhhNiwgMHgzZCwgMHhiZiwgMHg1MiwgMHgzMywgMHhkNiwgMHgwNCwgMHg5YywgMHg1YSwgMHhmNywKLSAgMHhkMiwgMHgyNCwgMHhjNCwgMHg2OSwgMHhiOCwgMHhhYSwgMHhiMCwgMHgwMywgMHg5MywgMHhmYywgMHg2ZiwgMHhhYiwKLSAgMHhiYywgMHgzMSwgMHgyYSwgMHgwMCwgMHg3MSwgMHgxNCwgMHg3MiwgMHg4NCwgMHg2YSwgMHgwZiwgMHgxNywgMHgzMSwKLSAgMHgxYiwgMHgzOCwgMHhkZCwgMHg4NCwgMHhhZSwgMHg0NCwgMHgwYywgMHgyYSwgMHg0NiwgMHgzMCwgMHgyNiwgMHhhMCwKLSAgMHg0YSwgMHg0ZSwgMHg1YywgMHhmOCwgMHg4ZiwgMHgwYiwgMHg0MiwgMHg3MywgMHhiMCwgMHgyZiwgMHhlZSwgMHg5ZiwKLSAgMHg1NiwgMHgxYiwgMHg0YiwgMHg2MiwgMHg0YSwgMHg0ZCwgMHg3OSwgMHg4ZCwgMHgwOSwgMHg3ZSwgMHg0ZCwgMHgxMSwKLSAgMHg5OCwgMHgzNCwgMHhlZSwgMHhkZCwgMHg2MSwgMHgzMCwgMHg0MSwgMHgwZSwgMHhhMCwgMHg0OSwgMHg5MiwgMHg5NywKLSAgMHg2YiwgMHhiMywgMHgyMiwgMHgzZiwgMHhlMCwgMHhiMiwgMHgzMSwgMHgyZCwgMHhkOSwgMHhlNywgMHgwYSwgMHhkNSwKLSAgMHg4MCwgMHgzYiwgMHhlOSwgMHgzZSwgMHhiNCwgMHgwMywgMHgwZCwgMHgwYywgMHhlYiwgMHg0YywgMHgxYSwgMHgyYiwKLSAgMHhkNSwgMHg2ZSwgMHg3MiwgMHhiMCwgMHg4OCwgMHhiMSwgMHg2NSwgMHhhMSwgMHg3YSwgMHhkOSwgMHgxYSwgMHhkYywKLSAgMHg5OCwgMHgyYiwgMHg3MywgMHg5ZCwgMHhhYiwgMHgzYiwgMHgwYSwgMHg1YSwgMHhjNSwgMHhmZiwgMHg2YSwgMHg0MywKLSAgMHgzMCwgMHhhZSwgMHhlZCwgMHhkYSwgMHhkYywgMHhlZCwgMHg2ZCwgMHgyZSwgMHhhMywgMHhmZSwgMHg2YSwgMHgyYSwKLSAgMHgzYiwgMHhmOCwgMHhlZCwgMHhhOSwgMHg2YywgMHhmZiwgMHhhMSwgMHg1NCwgMHhlNiwgMHg5MSwgMHgxOSwgMHhhNywKLSAgMHg1MSwgMHhhYywgMHgyMSwgMHgzNCwgMHhiMywgMHg4NSwgMHg1OCwgMHg0NywgMHgwZiwgMHg5NSwgMHg3OSwgMHg0NCwKLSAgMHhlNiwgMHhlMSwgMHhkNiwgMHhmOCwgMHgyNCwgMHhkNiwgMHhhNiwgMHgzMSwgMHg0NywgMHg2NCwgMHg3ZCwgMHg1NCwKLSAgMHhjNiwgMHhiMCwgMHg1NiwgMHg0YSwgMHg2NywgMHhmNywgMHgxMCwgMHgxYSwgMHg3YiwgMHhhYywgMHhkNywgMHg1MywKLSAgMHhkOSwgMHg3OSwgMHg5YiwgMHhhZiwgMHhhYywgMHhhMSwgMHgzMSwgMHg5ZiwgMHgyMCwgMHgxZSwgMHg0YywgMHg2NSwKLSAgMHhjZSwgMHg3YiwgMHhjYywgMHg3YywgMHgyNywgMHhlOSwgMHgyMSwgMHgzNCwgMHg5ZiwgMHhjZSwgMHg1NCwgMHgzNSwKLSAgMHgwYSwgMHhhOSwgMHhlYywgMHg1OSwgMHg4YywgMHhjYSwgMHgwZSwgMHgxZSwgMHg0MiwgMHg2NSwgMHhlNiwgMHgzYywKLSAgMHhlNywgMHgyNCwgMHgyYiwgMHg1YiwgMHg1NCwgMHhmNiwgMHhlOCwgMHgxNywgMHg1MSwgMHgxOSwgMHg5MywgMHgxOSwKLSAgMHhlOCwgMHhhYywgMHg5NywgMHhkMCwgMHg2OCwgMHg0OSwgMHhlZCwgMHhiMiwgMHhmMywgMHhjMywgMHg3ZiwgMHg5NiwKLSAgMHg1YiwgMHhhNCwgMHhhZCwgMHg0MSwgMHg4MywgMHg2MiwgMHhlYywgMHg1ZiwgMHg3NiwgMHg4NiwgMHg5ZCwgMHhhZCwKLSAgMHg3ZSwgMHhjMCwgMHg4OSwgMHhlZCwgMHhiNywgMHg0ZiwgMHg2YywgMHhlZiwgMHg5NywgMHg5ZCwgMHhkOCwgMHg3ZSwKLSAgMHhkNywgMHgzMiwgMHhhOSwgMHgzMiwgMHg4ZSwgMHg4MCwgMHhmYywgMHg1NSwgMHgyMywgMHg1MSwgMHhjZiwgMHg3NywKLSAgMHg3NiwgMHg3ZSwgMHg4MiwgMHg3MywgMHhlZSwgMHgzOSwgMHhjOSwgMHhiZSwgMHg5ZiwgMHhiYSwgMHgyYSwgMHhiYywKLSAgMHgwMCwgMHhjMywgMHgzOSwgMHg3ZCwgMHg3NiwgMHg3YywgMHhmYSwgMHhmMiwgMHhkYiwgMHhiMSwgMHg4NCwgMHg1MSwKLSAgMHg0NCwgMHhlMSwgMHg1MCwgMHg4NSwgMHg4NCwgMHgwZCwgMHg3MCwgMHg4YSwgMHg5ZSwgMHg0YSwgMHhhNywgMHhkMywKLSAgMHg0MCwgMHhjZCwgMHhlNSwgMHhjNiwgMHhlYSwgMHhjOSwgMHhmMCwgMHg3NiwgMHg2MCwgMHgwMywgMHgxYSwgMHgyMywKLSAgMHg0NiwgMHgzMywgMHg5MiwgMHhhYiwgMHgwMiwgMHg1MCwgMHgyMywgMHg4NiwgMHg2ZiwgMHg4NCwgMHgzZiwgMHg0YSwKLSAgMHg4NiwgMHhhZSwgMHhlMywgMHg4NiwgMHg5YSwgMHgzZiwgMHgxNywgMHhkYiwgMHhkNywgMHhkOSwgMHhiZSwgMHhiMiwKLSAgMHhkNSwgMHg1YywgMHg1NSwgMHgyOCwgMHgwZiwgMHhjMywgMHg2MywgMHhkYiwgMHg4OSwgMHgyYiwgMHgzYiwgMHg1YSwKLSAgMHgzYiwgMHgzYiwgMHg5OSwgMHhkNSwgMHgzNywgMHhjMCwgMHg5NiwgMHg1ZiwgMHg1NiwgMHgxYSwgMHgxZiwgMHg4ZSwKLSAgMHgxOSwgMHhiOSwgMHhmNiwgMHhiNywgMHhlYSwgMHhiNiwgMHg4ZCwgMHhjMSwgMHhjNywgMHgwOCwgMHg0MiwgMHhhNCwKLSAgMHhiNywgMHhkZiwgMHhmNCwgMHg1ZSwgMHg5MCwgMHg4YywgMHg5YiwgMHhkZiwgMHhmYSwgMHhlMCwgMHg2YSwgMHg0NCwKLSAgMHgwNSwgMHg4NiwgMHhmOCwgMHgwYSwgMHgxNCwgMHg0YywgMHgyNSwgMHhmMiwgMHgxMSwgMHgzYiwgMHgwNiwgMHg2NywKLSAgMHg0MiwgMHg2NiwgMHhkYywgMHg1NywgMHhhYiwgMHg3ZSwgMHg2NCwgMHg4NiwgMHhlYywgMHhmYSwgMHhmYiwgMHhmOCwKLSAgMHgxNywgMHgyOSwgMHhmZCwgMHg0NiwgMHhmZSwgMHhmMSwgMHg5OCwgMHgzZSwgMHg4YywgMHhmOCwgMHgzZiwgMHhmZiwKLSAgMHhmMywgMHgwYSwgMHhmZiwgMHhlNiwgMHg1YywgMHgxNywgMHg0NiwgMHgzZCwgMHhmNCwgMHhjZSwgMHg3OSwgMHgxYSwKLSAgMHhkZCwgMHg2OCwgMHg2NSwgMHhhNSwgMHhlYywgMHhkNiwgMHg2MiwgMHg4YywgMHg5NCwgMHhiNywgMHhhNSwgMHhhYiwKLSAgMHhjZCwgMHhmNSwgMHhkNywgMHg0YywgMHhiZSwgMHgyMSwgMHgwNiwgMHg5OSwgMHg4ZSwgMHhmOCwgMHg4NSwgMHgzYywKLSAgMHg0NiwgMHg4YywgMHg5MSwgMHgxZiwgMHg0NSwgMHg4MywgMHg3OSwgMHhhYywgMHgzNSwgMHgzYiwgMHhkNCwgMHg2NiwKLSAgMHg0NSwgMHgyMCwgMHhmMSwgMHg5YiwgMHg3MSwgMHhiYSwgMHgwMCwgMHhiZSwgMHgxYywgMHhjMSwgMHg4MCwgMHgwMSwKLSAgMHhiYywgMHhjMywgMHg1MiwgMHgwMSwgMHhlYSwgMHgzMywgMHgyNSwgMHgzMywgMHhkZiwgMHhkYiwgMHhmZCwgMHgzYywKLSAgMHg3NCwgMHg0OSwgMHhiYywgMHhkNywgMHhkYSwgMHg1OCwgMHgwNywgMHg1YywgMHg4YywgMHgyNCwgMHgxZCwgMHg1NCwKLSAgMHhhOSwgMHg0YywgMHg1YywgMHg0NSwgMHg1OCwgMHhlYywgMHhhMywgMHg5MSwgMHhmMiwgMHg1OSwgMHhkOCwgMHhiZSwKLSAgMHhiMywgMHg4YywgMHhhZCwgMHhhNSwgMHgwOSwgMHg5YiwgMHhiZCwgMHg2MSwgMHg3OSwgMHgwMiwgMHhlMCwgMHgwMCwKLSAgMHg2YSwgMHhjOCwgMHgzNSwgMHhjMSwgMHhkYywgMHg5NywgMHg1NCwgMHg5MywgMHg4MCwgMHhiZiwgMHg5MywgMHgxMywKLSAgMHg0MywgMHgwMywgMHhhMCwgMHg1ZiwgMHgzYSwgMHg1OCwgMHhkNCwgMHgzZiwgMHgzYywgMHhkYSwgMHhhNSwgMHgzMywKLSAgMHhkNSwgMHg0MSwgMHhhOCwgMHhkNSwgMHhkYywgMHhiYywgMHgxNCwgMHhlOCwgMHg5YiwgMHgzZiwgMHgxYywgMHhhNCwKLSAgMHhhMywgMHg3ZiwgMHgyMSwgMHgwMiwgMHhlMSwgMHhlMywgMHhiNiwgMHgxNSwgMHhmZCwgMHhmYiwgMHg4MSwgMHg5ZiwKLSAgMHhhZCwgMHgzNiwgMHg0OSwgMHhhYiwgMHg4OCwgMHhjZiwgMHg0NiwgMHg2NCwgMHhiNywgMHhhMiwgMHgxNSwgMHgyOSwKLSAgMHhkNiwgMHg4ZiwgMHg0ZCwgMHg2MywgMHg0YiwgMHhkOSwgMHg4MCwgMHg0NSwgMHg1NSwgMHg4ZCwgMHhmZCwgMHhhMSwKLSAgMHgxOSwgMHgyYSwgMHgwOSwgMHg5YiwgMHgzNywgMHhkOSwgMHhiMCwgMHgxMSwgMHgyNywgMHgzZCwgMHhiMCwgMHhhNywKLSAgMHg2MCwgMHhjMCwgMHg5ZSwgMHhjNSwgMHg1NiwgMHg2YSwgMHhkZiwgMHg4MCwgMHg5MywgMHhlMywgMHg3YSwgMHhjYSwKLSAgMHg3NiwgMHhlZCwgMHg1NywgMHhmMCwgMHg5OSwgMHg1OSwgMHg5NSwgMHhkZSwgMHg3OCwgMHgzNiwgMHgzNCwgMHg2MywKLSAgMHhiZSwgMHg1ZCwgMHgyMCwgMHgyNiwgMHg2NCwgMHgzMywgMHg4MiwgMHhjYywgMHhlZiwgMHgyOSwgMHgzZiwgMHgyMCwKLSAgMHhhNiwgMHg3ZCwgMHhkNCwgMHhkMywgMHgyYSwgMHg5MywgMHg0MCwgMHgxZCwgMHhhMSwgMHgwNiwgMHgyMywgMHgxNywKLSAgMHg4MCwgMHhlMCwgMHg3NiwgMHg4ZCwgMHhlNiwgMHg3MSwgMHg5OSwgMHg2OSwgMHgwZCwgMHhiNiwgMHg1ZCwgMHhiNSwKLSAgMHg4MiwgMHhlYywgMHgwMCwgMHg1OSwgMHg2NywgMHgxNCwgMHgyYiwgMHg2ZiwgMHg3MCwgMHhlZSwgMHgyYywgMHg5YiwKLSAgMHhlZCwgMHg0OCwgMHg0YSwgMHgyYywgMHg0MywgMHhmMSwgMHhkMCwgMHhlYiwgMHg1YSwgMHgxMSwgMHg2ZiwgMHhiMSwKLSAgMHg4YSwgMHg5NywgMHhkNCwgMHgxNCwgMHhiNiwgMHhiZSwgMHhjYSwgMHg5NywgMHg1ZCwgMHgxMSwgMHgzZCwgMHhmYywKLSAgMHhhMiwgMHhmYywgMHg2MiwgMHhiOCwgMHgyZCwgMHgyNCwgMHg1ZSwgMHg1ZSwgMHg2NywgMHgzNSwgMHg3NywgMHg3OCwKLSAgMHhhNywgMHhhOSwgMHg1MiwgMHhlZSwgMHhjMCwgMHgxNSwgMHg1YywgMHgyYywgMHgyMiwgMHhiYywgMHg1MCwgMHhmOCwKLSAgMHg0ZCwgMHg2OSwgMHhkOCwgMHhkMCwgMHhjNiwgMHgxMCwgMHg3YywgMHgwYSwgMHhiYSwgMHg5NSwgMHhmMSwgMHhjNCwKLSAgMHgyYSwgMHg0YSwgMHgxYiwgMHgxMCwgMHg3ZSwgMHg0NywgMHhlZSwgMHgxOCwgMHhiMywgMHg1NywgMHgxNywgMHg5YywKLSAgMHgyOSwgMHg4YSwgMHhlMiwgMHg3MCwgMHhjYSwgMHhhOSwgMHg5MCwgMHhiNiwgMHgwNCwgMHgxYywgMHg2ZCwgMHgyOSwKLSAgMHg5NywgMHg2ZCwgMHhkOSwgMHg0NCwgMHgzOCwgMHgwMywgMHhjYSwgMHgxYiwgMHg1ZSwgMHgyOCwgMHg1YiwgMHhmOSwKLSAgMHhmMywgMHhiZCwgMHg1NSwgMHg0NCwgMHg5NiwgMHgwMSwgMHg1ZCwgMHg4OCwgMHgxMywgMHg4MywgMHgyZSwgMHgxZiwKLSAgMHhhYSwgMHhjYSwgMHhiOCwgMHg5ZCwgMHhjMSwgMHhmNCwgMHgyYSwgMHg1YiwgMHg0OCwgMHg1NywgMHhiNywgMHgxZSwKLSAgMHg0YywgMHg4NiwgMHg1ZSwgMHgwMCwgMHg4MywgMHhmNiwgMHg5YywgMHgzOCwgMHhjZCwgMHhmNiwgMHhhMiwgMHg1OSwKLSAgMHg4ZSwgMHgxNiwgMHhlNSwgMHhkZiwgMHhjZCwgMHgxZSwgMHhhNywgMHhkNCwgMHgyNiwgMHgzNiwgMHhiOCwgMHgxMiwKLSAgMHgxNCwgMHgzYSwgMHgyYywgMHhmOCwgMHg1MCwgMHgxOCwgMHgwZSwgMHhhZCwgMHhiMCwgMHg4NiwgMHhhNSwgMHg2MywKLSAgMHhlMSwgMHgwYSwgMHg2ZCwgMHhjOCwgMHg3MCwgMHg3YSwgMHgyZiwgMHhjZCwgMHg4YywgMHg4ZiwgMHgzZSwgMHhiYywKLSAgMHg3ZiwgMHgzYiwgMHg3ZSwgMHg3ZiwgMHhkNiwgMHgyNSwgMHhlYywgMHhiMywgMHhkMywgMHg3NywgMHhlNywgMHg0NywKLSAgMHhhZiwgMHgzZSwgMHg5YywgMHhiZCwgMHgzYiwgMHgzZCwgMHgzZiwgMHg3ZCwgMHg3OSwgMHg3YSwgMHg5MiwgMHg2YywKLSAgMHhlZCwgMHg2ZCwgMHhhZiwgMHhhZCwgMHgxNSwgMHhiNSwgMHgyZSwgMHgwOCwgMHg4YiwgMHhjMiwgMHhlYywgMHg5YywKLSAgMHhiMSwgMHhjYywgMHhiMywgMHhlYywgMHgxNCwgMHhiNiwgMHg2OCwgMHgzZCwgMHhlMSwgMHg2OCwgMHhkZiwgMHgwYiwKLSAgMHg2ZCwgMHhiNSwgMHg3YSwgMHgxOSwgMHhjMCwgMHgwZiwgMHgwMSwgMHhlMSwgMHgwNiwgMHhhZSwgMHg5ZSwgMHgyNiwKLSAgMHg5NywgMHgyYiwgMHhiZSwgMHg4YywgMHg5MiwgMHg3OSwgMHhhMiwgMHg4NSwgMHg3NCwgMHg3NSwgMHgxMywgMHg4OCwKLSAgMHhhMiwgMHg0YywgMHhjMiwgMHhkZSwgMHg3ZSwgMHg5OSwgMHhlMSwgMHg1YSwgMHg3NywgMHhkYywgMHhlMywgMHhhZSwKLSAgMHhjZSwgMHg0MiwgMHg2NywgMHgwMCwgMHgwNSwgMHhjYywgMHg1MSwgMHg0NSwgMHgxZCwgMHgyNywgMHgwYiwgMHg0YiwKLSAgMHgxNywgMHgwYywgMHg0ZSwgMHg4NCwgMHhiNiwgMHgwZSwgMHhmNiwgMHgxNSwgMHgzNCwgMHhiZCwgMHg5MSwgMHhjOCwKLSAgMHg2MiwgMHg1OSwgMHg1OCwgMHg5NSwgMHg2ZSwgMHg5NCwgMHg5YywgMHg4NSwgMHhhZCwgMHgwZiwgMHhlNSwgMHg4ZCwKLSAgMHg1OSwgMHg1NiwgMHg0OCwgMHgwYiwgMHg2ZSwgMHg5OSwgMHgwNywgMHhlMiwgMHhkMCwgMHhiNCwgMHhiZCwgMHg5MiwKLSAgMHgxZCwgMHg2MSwgMHgxZSwgMHhhMCwgMHhkZiwgMHg3YSwgMHg3YiwgMHg4NSwgMHhlMiwgMHhmNSwgMHgyYywgMHgwNCwKLSAgMHgyNywgMHhjNiwgMHhkYiwgMHg4YywgMHhkYiwgMHg3MywgMHhlMywgMHhjZCwgMHg4OSwgMHhjNiwgMHgyMywgMHhhNSwKLSAgMHgwYywgMHgyOCwgMHhiOCwgMHgxMSwgMHgwZSwgMHg3YiwgMHhhNCwgMHg2MSwgMHg0YiwgMHhjNiwgMHgxYywgMHhjMiwKLSAgMHg5ZCwgMHg4NCwgMHhmZSwgMHhhMiwgMHg2OCwgMHg1NSwgMHg2MywgMHg3ZiwgMHgyZCwgMHhmNywgMHgxMCwgMHgzMiwKLSAgMHg2ZiwgMHgyMiwgMHhjNSwgMHg5MCwgMHgwNiwgMHg3NCwgMHhmNiwgMHgwMywgMHgyNiwgMHg2OCwgMHgwOSwgMHhkNywKLSAgMHhhZSwgMHgyOSwgMHg1NSwgMHhmYSwgMHhhYSwgMHgwZCwgMHhmYSwgMHhlOSwgMHgzNywgMHgwMiwgMHhlMCwgMHg1MiwKLSAgMHg1NCwgMHg0YywgMHg2NCwgMHg2MCwgMHg1MSwgMHhiNCwgMHg1ZSwgMHg3NywgMHhhNiwgMHhkNSwgMHg2NSwgMHgzZiwKLSAgMHg0ZiwgMHg0NywgMHg0ZiwgMHgxZSwgMHg4ZiwgMHhmNiwgMHgwOSwgMHgwMiwgMHhlNiwgMHg3NCwgMHg0ZSwgMHhkMSwKLSAgMHg0ZCwgMHhkMSwgMHgyYywgMHhlMCwgMHg1ZiwgMHhjNiwgMHgwNywgMHgwNCwgMHhlZiwgMHgwYSwgMHgwOSwgMHg5NSwKLSAgMHg2ZSwgMHhhZiwgMHg2NCwgMHhjNCwgMHg5OCwgMHgyZCwgMHg5NSwgMHg2OCwgMHg2OSwgMHhiYSwgMHg4YSwgMHgzMiwKLSAgMHg0NSwgMHgwOSwgMHg5MSwgMHgyZSwgMHhlZCwgMHhkMiwgMHgyOSwgMHg4MCwgMHgzMCwgMHg4NiwgMHhjYywgMHg3NywKLSAgMHg5ZSwgMHg0YiwgMHg1MiwgMHgyMSwgMHg2NywgMHhkOSwgMHg3NSwgMHg3OSwgMHgyZCwgMHgwMSwgMHg4ZSwgMHgwMCwKLSAgMHg3MCwgMHhmOCwgMHhlNSwgMHgxOSwgMHgyNywgMHgxYywgMHg1YiwgMHhjMCwgMHgxMSwgMHhiMCwgMHg3MiwgMHg3OSwKLSAgMHhmMywgMHhkMSwgMHhlZSwgMHg2OCwgMHg5NywgMHg5MiwgMHg1MywgMHhiZSwgMHg5MiwgMHg2MCwgMHhhZCwgMHhmOSwKLSAgMHhkYiwgMHgzOCwgMHgwNiwgMHhhNCwgMHhjMSwgMHhlYSwgMHhiYywgMHg4ZSwgMHgzMSwgMHg0YSwgMHhmYywgMHg0MCwKLSAgMHgyMywgMHgyZCwgMHhjZiwgMHg0YywgMHhlZiwgMHg4ZiwgMHhmNCwgMHhhNywgMHgxNiwgMHg2NCwgMHg3NCwgMHg5NywKLSAgMHhkYywgMHgwMywgMHhhYSwgMHgzNSwgMHhmMCwgMHgzMCwgMHg0MSwgMHhjYywgMHg3ZCwgMHhhZCwgMHhiMywgMHhmOCwKLSAgMHg4YSwgMHg0NywgMHhlYiwgMHg3MSwgMHgwNSwgMHhmNywgMHg4MywgMHg4YiwgMHg3NiwgMHhlZiwgMHgxNSwgMHg3YiwKLSAgMHhlOCwgMHgwZCwgMHhiMywgMHhhMSwgMHgwMSwgMHg5NSwgMHgwZSwgMHg1ZCwgMHg5OSwgMHg3NiwgMHg2NiwgMHhkZiwKLSAgMHg2MiwgMHgxOCwgMHgyMSwgMHgyYSwgMHg0NiwgMHg4NCwgMHg2NywgMHg3OCwgMHg5ZSwgMHg1ZCwgMHg0MCwgMHgzNywKLSAgMHg0NCwgMHg4NSwgMHhmMCwgMHgwMCwgMHhiZiwgMHg0NCwgMHhhOCwgMHhkOSwgMHhlNiwgMHgyMCwgMHhmMiwgMHg0OSwKLSAgMHhjNCwgMHhhMCwgMHg4OCwgMHhkMiwgMHhhOSwgMHhhZiwgMHg2YiwgMHg1YiwgMHg0OCwgMHhjYSwgMHg0ZCwgMHhiMywKLSAgMHhhOSwgMHhkNCwgMHhkMCwgMHg0ZiwgMHg2YSwgMHhkNCwgMHhlNywgMHg3NywgMHgwOCwgMHg0MiwgMHhlNiwgMHhiNywKLSAgMHg1YSwgMHg5ZiwgMHhmMSwgMHhmNywgMHhhYywgMHgyYSwgMHhjMywgMHhjNCwgMHgwNywgMHgyOCwgMHgwZiwgMHgwYSwKLSAgMHgwZCwgMHg0OCwgMHhhNiwgMHhhNCwgMHg2MiwgMHgxNywgMHhiOSwgMHgxZiwgMHhkMiwgMHg1NywgMHg4MywgMHgzYiwKLSAgMHhmNywgMHg0NywgMHg3NCwgMHg5MywgMHg2NywgMHhiOCwgMHg3YiwgMHhlZSwgMHhmYywgMHgyOCwgMHhkOCwgMHgzNSwKLSAgMHg4MCwgMHhlMSwgMHhjYywgMHgzNSwgMHg1NCwgMHhlZCwgMHhmMSwgMHg4MCwgMHgzOSwgMHg1NSwgMHgzNCwgMHhkZiwKLSAgMHg3MSwgMHgzMSwgMHg3NCwgMHg2MCwgMHg2MiwgMHg0MiwgMHhmZCwgMHg5YiwgMHg5MSwgMHgzOSwgMHhlMywgMHg3MiwKLSAgMHhiOSwgMHg2ZCwgMHg3OCwgMHg4ZCwgMHgzYSwgMHgzNywgMHgzYSwgMHhmOCwgMHg0MiwgMHhkMSwgMHhlNywgMHg0MiwKLSAgMHg5ZSwgMHgzZSwgMHg0YywgMHg5MiwgMHg1NywgMHg1OSwgMHg3MSwgMHhkNywgMHg5ZSwgMHhkMCwgMHgwMCwgMHgwOCwKLSAgMHg0NCwgMHg3MCwgMHgwZiwgMHhlNywgMHg4ZCwgMHgwMywgMHhjOSwgMHg3MCwgMHhhOSwgMHhkNSwgMHg2ZSwgMHg4YSwKLSAgMHhlMSwgMHg5NCwgMHhkYSwgMHg3MywgMHg4ZSwgMHg3MSwgMHhhZSwgMHgyZiwgMHhlYywgMHgzNiwgMHgzMCwgMHhkNywKLSAgMHg2YSwgMHg2ZiwgMHhjNiwgMHgxNiwgMHhiMCwgMHg2ZSwgMHgzNCwgMHhkYSwgMHg4ZSwgMHg0ZiwgMHgzZSwgMHg2NCwKLSAgMHgxYiwgMHg4MCwgMHhlMCwgMHgwOSwgMHhhYiwgMHhhZSwgMHg1ZSwgMHg0ZCwgMHg3ZSwgMHgxNiwgMHhhNCwgMHg3NSwKLSAgMHhmMiwgMHgyYywgMHg1NCwgMHhiMiwgMHgwYiwgMHg5MiwgMHhiNSwgMHg2YSwgMHg0ZSwgMHhkNSwgMHgzYywgMHhjMCwKLSAgMHg4MSwgMHgyYiwgMHg2MiwgMHgwZSwgMHg0NSwgMHg2YywgMHgzOCwgMHgyNCwgMHgwMSwgMHg2OCwgMHhjNywgMHg4ZSwKLSAgMHgzNiwgMHg4NSwgMHg2MSwgMHg0NiwgMHhkMSwgMHgyYSwgMHhkMywgMHhhYywgMHg0NywgMHg2NSwgMHhkMCwgMHhmYiwKLSAgMHgzMywgMHhiYywgMHgyMCwgMHg5ZSwgMHhjYSwgMHhkOSwgMHg5MCwgMHgxZCwgMHhlMSwgMHhjYiwgMHg3YiwgMHhjOSwKLSAgMHgxOSwgMHhiOCwgMHgzNiwgMHgxZiwgMHg5YywgMHgxZSwgMHhlZiwgMHgxZCwgMHg0YiwgMHgzOSwgMHg3NSwgMHgzZCwKLSAgMHhmOCwgMHgyMywgMHhmZCwgMHgxMSwgMHhhZSwgMHhhMSwgMHg0NSwgMHhiMiwgMHhiNCwgMHhjYiwgMHhjYSwgMHg0NiwKLSAgMHhlOCwgMHg3MSwgMHgzMCwgMHgyNiwgMHhiYywgMHhkZSwgMHhmNywgMHg4MSwgMHgyZiwgMHg5YywgMHgxOCwgMHg1OCwKLSAgMHgzZiwgMHgzNiwgMHhiOCwgMHhkOCwgMHg0MywgMHgzZSwgMHhmMCwgMHhiZSwgMHg1MCwgMHg2OCwgMHg0OCwgMHhhNSwKLSAgMHhlZSwgMHhhNSwgMHg2ZCwgMHhkOCwgMHgyMiwgMHhmNSwgMHgzNiwgMHg2ZCwgMHgzYiwgMHg4OCwgMHgxMCwgMHg4NSwKLSAgMHg5NiwgMHhkMiwgMHhjYiwgMHgyOSwgMHhiZCwgMHhhMCwgMHg1NCwgMHhmOSwgMHgyYSwgMHg3MywgMHg1MCwgMHhmMCwKLSAgMHg3NCwgMHg5NCwgMHgwYywgMHgxYywgMHgyNiwgMHgyZCwgMHgyYiwgMHgzNCwgMHg3MywgMHg3YiwgMHg1OSwgMHgzNiwKLSAgMHhkYywgMHgzYywgMHg4MywgMHg3MiwgMHhlYiwgMHg0OSwgMHhkMywgMHhhOSwgMHhjOCwgMHg0MSwgMHhlOCwgMHg2ZCwKLSAgMHhiMiwgMHhhYSwgMHhjOCwgMHgzNCwgMHg5YSwgMHgzZCwgMHg3YywgMHhmOCwgMHhkMSwgMHg1NiwgMHhjYiwgMHhiMiwKLSAgMHg3MCwgMHgyNSwgMHg1NSwgMHhiNiwgMHhiNywgMHg4MCwgMHhhMywgMHg0ZCwgMHhmZSwgMHgyMiwgMHg2NywgMHg0OCwKLSAgMHhjMiwgMHhlOSwgMHg2NCwgMHg3YiwgMHg2YywgMHg1YywgMHg5NywgMHgzOSwgMHhlMSwgMHg4NCwgMHhlOSwgMHg3MCwKLSAgMHgxZCwgMHhlYywgMHhlOSwgMHhmMywgMHhiMCwgMHhmYiwgMHgxMywgMHhjYywgMHgyYiwgMHg5YiwgMHg5MSwgMHgyNiwKLSAgMHhmNiwgMHg1NSwgMHg1ZSwgMHhkOCwgMHg3NCwgMHhjMSwgMHhiYSwgMHg1NSwgMHg0NywgMHhjOSwgMHhiNywgMHg1YiwKLSAgMHg4NywgMHg0MywgMHgyMiwgMHgxMiwgMHhhMiwgMHhkNSwgMHgwNSwgMHhjNSwgMHg5OSwgMHg4YSwgMHhiNCwgMHhkMSwKLSAgMHhlYiwgMHhlMiwgMHgzMSwgMHg1YywgMHg5YSwgMHgxZSwgMHg5OSwgMHg2OSwgMHg5NCwgMHg4OCwgMHg5MSwgMHg5MiwKLSAgMHg2NCwgMHhkMiwgMHgzYSwgMHhkMSwgMHg0ZSwgMHg3ZiwgMHgwYywgMHhkZiwgMHhlNSwgMHhlYywgMHhlOSwgMHgwMiwKLSAgMHgzNiwgMHhjOSwgMHhkYSwgMHhhOSwgMHhiOSwgMHhhMywgMHg3YiwgMHg2NCwgMHhjNCwgMHhlZCwgMHg5ZCwgMHhhNiwKLSAgMHg3NSwgMHhhZSwgMHg1NywgMHhjMSwgMHg5NiwgMHgwMCwgMHg0OSwgMHgzMCwgMHhmYiwgMHg5YywgMHgzNywgMHgzOCwKLSAgMHhiMSwgMHg0ZSwgMHg1ZSwgMHhiOSwgMHhhNiwgMHg1YiwgMHg0YiwgMHg0ZiwgMHhhZCwgMHhjNSwgMHgyYSwgMHhlYywKLSAgMHhjNywgMHgyYiwgMHhjMSwgMHgzYSwgMHg5YiwgMHgyNCwgMHhjNywgMHgzMCwgMHg3OSwgMHhkMCwgMHg3ZSwgMHhjNCwKLSAgMHg0YiwgMHhjMywgMHgwZCwgMHg4MywgMHg2MCwgMHhhMywgMHg2YiwgMHgxNywgMHgyNSwgMHg3MiwgMHgzZiwgMHgyMSwKLSAgMHg3ZSwgMHgxNywgMHhmNywgMHgyMywgMHhlZSwgMHg1OCwgMHg4YywgMHgyYywgMHg0MywgMHgzMCwgMHhjNSwgMHg2YywKLSAgMHg2OCwgMHg5OCwgMHhjMCwgMHg3MiwgMHg4ZCwgMHg3ZiwgMHhmZSwgMHg3NiwgMHhhMCwgMHg4YiwgMHg2ZSwgMHhlNSwKLSAgMHhhMywgMHhmYiwgMHhhMCwgMHgzYywgMHhmYywgMHgxMywgMHg0ZSwgMHg3YiwgMHg5NSwgMHhiZCwgMHgwYiwgMHhlYiwKLSAgMHgzOSwgMHg4YywgMHhhNiwgMHg3MSwgMHgxMCwgMHhkYiwgMHhjOSwgMHg1OCwgMHg1ZSwgMHg2ZCwgMHg2OCwgMHhlMSwKLSAgMHhmNCwgMHhiNiwgMHgxMSwgMHhkMiwgMHg1MiwgMHg1OSwgMHg2YywgMHhhMCwgMHg2ZSwgMHg1OCwgMHgyYywgMHg1ZCwKLSAgMHhkNSwgMHg2ZCwgMHg5ZiwgMHhlYywgMHhkYywgMHg3YiwgMHhhZSwgMHg1NCwgMHhjNSwgMHg5OCwgMHgwMCwgMHgyMCwKLSAgMHgyOCwgMHhhNCwgMHg5MiwgMHhjMSwgMHhmYiwgMHgxNiwgMHg5YiwgMHg3MiwgMHhjMSwgMHgzZSwgMHgwMiwgMHhiNSwKLSAgMHg4ZSwgMHgzYiwgMHhkMiwgMHhmMCwgMHg3MywgMHgyMiwgMHg5NCwgMHgxYywgMHhkZSwgMHg3YSwgMHg3NywgMHg5MiwKLSAgMHg2YiwgMHhmYSwgMHg2NywgMHg4MCwgMHg0ZiwgMHhlMiwgMHg0MywgMHgzNCwgMHhiMSwgMHg3YywgMHgyZCwgMHgxZSwKLSAgMHg0YywgMHhjZiwgMHg2MSwgMHhjNCwgMHhhMCwgMHg5MCwgMHg2NiwgMHg5ZCwgMHgyNCwgMHg3MSwgMHhmZCwgMHhmOSwKLSAgMHgzNCwgMHhhNSwgMHhjOCwgMHg2ZCwgMHgzYywgMHgyNywgMHg3NSwgMHgyYywgMHhmNywgMHg2ZCwgMHhhOCwgMHg0ZiwKLSAgMHgxMSwgMHg5ZiwgMHhjNiwgMHgwNSwgMHhjZSwgMHgwYiwgMHhkZiwgMHgzOSwgMHhjOCwgMHg0ZCwgMHgwZCwgMHg2ZiwKLSAgMHg5YiwgMHg4NywgMHhhNCwgMHg2YiwgMHg0ZiwgMHg1MywgMHg4NCwgMHhlYiwgMHg1OSwgMHg0NSwgMHhiNCwgMHgwMywKLSAgMHhiYiwgMHg3ZiwgMHhiYSwgMHhkZiwgMHg5YSwgMHhkNSwgMHhjNSwgMHg5OCwgMHgzNCwgMHg5ZCwgMHg1NSwgMHhiZiwKLSAgMHg5NywgMHhhNSwgMHhmZCwgMHg5NSwgMHgxNywgMHhlNiwgMHg0NiwgMHhhZiwgMHg1YiwgMHgxNCwgMHgxZSwgMHhmYSwKLSAgMHgzNSwgMHg4YiwgMHg3MiwgMHg4YywgMHhjMywgMHg2ZCwgMHhhMSwgMHhjYywgMHhiOSwgMHg3MywgMHgyMiwgMHhmYywKLSAgMHg5MSwgMHhiNSwgMHhiMSwgMHhhYSwgMHg5ZSwgMHgyNSwgMHg5OCwgMHgzMSwgMHhkNywgMHg3NCwgMHhiNiwgMHhmNywKLSAgMHg5NiwgMHg2MSwgMHgxZiwgMHhmYywgMHhhNSwgMHgyYiwgMHhiOSwgMHg3ZiwgMHgxYiwgMHg0MSwgMHgxYSwgMHhmNCwKLSAgMHhkZiwgMHhiZiwgMHgzZSwgMHg4NywgMHgxYiwgMHg3MCwgMHhmNiwgMHg1MywgMHhlZiwgMHgzYywgMHg4ZSwgMHgwNiwKLSAgMHgzMiwgMHg5NywgMHg0ZiwgMHgzMCwgMHg4ZCwgMHg3YywgMHg3OSwgMHg0NSwgMHhiYSwgMHhlNSwgMHg4YiwgMHg1OCwKLSAgMHgyMSwgMHg5YywgMHhiNywgMHgxMSwgMHhmMiwgMHhkOCwgMHg2ZiwgMHhmZiwgMHhmZCwgMHg2YSwgMHhlZSwgMHhlMCwKLSAgMHhjMiwgMHhkNiwgMHg3YywgMHg1ZiwgMHgxZSwgMHhmYiwgMHhjZCwgMHhiZiwgMHhjZiwgMHg3NywgMHg3NywgMHhiZCwKLSAgMHg3MCwgMHhiMSwgMHg1YywgMHhmMSwgMHg5NSwgMHg5NCwgMHgxYiwgMHhiNCwgMHgzOSwgMHg4ZSwgMHg5MywgMHgyYSwKLSAgMHhiZiwgMHg4MiwgMHgyOSwgMHg0YSwgMHgwNSwgMHg0MywgMHhjOCwgMHgxNSwgMHhlNSwgMHg1YiwgMHhmNCwgMHg2ZSwKLSAgMHhkMCwgMHg0ZiwgMHhjZSwgMHg2NywgMHg4YiwgMHhiZiwgMHgwOSwgMHgwNywgMHgwMywgMHg2YiwgMHgwZSwgMHgzNywKLSAgMHg0NywgMHgzYSwgMHhhZCwgMHhiZCwgMHhlMCwgMHgzZiwgMHg3NywgMHhiZSwgMHg4YywgMHg5ZCwgMHg5MSwgMHgyZCwKLSAgMHg4YywgMHgyMiwgMHgzMSwgMHhhOCwgMHhiZCwgMHhkOSwgMHhkMCwgMHhlZSwgMHg4YiwgMHg1MSwgMHg1OCwgMHg0NCwKLSAgMHhlNSwgMHhiNSwgMHgzZCwgMHhhYywgMHhmYywgMHhlNiwgMHgxZiwgMHhmNCwgMHg2YSwgMHhhYywgMHgyMSwgMHg5YywKLSAgMHhlYywgMHgxMCwgMHhhNSwgMHg2NywgMHg5MywgMHg4NSwgMHhhNywgMHg3MSwgMHgwYSwgMHg5NywgMHgzMywgMHg0NCwKLSAgMHg4YSwgMHg0NywgMHhlNiwgMHg3ZCwgMHhiMCwgMHhiNiwgMHg1OCwgMHg1NywgMHhiMSwgMHhmMCwgMHhiZiwgMHhkZiwKLSAgMHg1NiwgMHhkYiwgMHhlMSwgMHg0MSwgMHg3ZiwgMHgzMywgMHg5MCwgMHg4NiwgMHg2YywgMHg2NiwgMHgzOCwgMHgyMiwKLSAgMHgyYiwgMHhjOSwgMHg0ZiwgMHg1NiwgMHg3YSwgMHhjMiwgMHg3MSwgMHg4NiwgMHhhMCwgMHg1OSwgMHg1YywgMHhhZCwKLSAgMHg0MiwgMHhiYSwgMHhlOSwgMHg5YywgMHg1MywgMHhlMSwgMHg5MywgMHg5NywgMHhhNywgMHg2ZiwgMHhkZiwgMHgxZSwKLSAgMHhiZCwgMHhlYywgMHhjNiwgMHhhMywgMHg1ZCwgMHg3NSwgMHgxMCwgMHhiOSwgMHg0ZCwgMHg1NSwgMHhkNSwgMHgwZiwKLSAgMHhkYSwgMHgwMSwgMHhlMywgMHhlYiwgMHhkYywgMHg5NiwgMHhjNSwgMHg4NiwgMHg4YywgMHg3OCwgMHgwNiwgMHg2OCwKLSAgMHgxNywgMHg5OCwgMHgwYSwgMHhlNiwgMHgzNSwgMHgxNywgMHgxOSwgMHg3OSwgMHg2OCwgMHhjOCwgMHg0YywgMHgwMSwKLSAgMHg5MSwgMHhkYSwgMHhjYiwgMHg4MCwgMHgxZSwgMHg5YywgMHgwZiwgMHgwNSwgMHhjZSwgMHgzNCwgMHhlYSwgMHgxNSwKLSAgMHhjZCwgMHgxYSwgMHgyOCwgMHhlYywgMHg1NywgMHg5ZCwgMHgwMSwgMHhiNywgMHg0YywgMHg5ZSwgMHhjZCwgMHg3NiwKLSAgMHhhNCwgMHg1YSwgMHg4MCwgMHhmZCwgMHhhZiwgMHg5MSwgMHhhNiwgMHhiNCwgMHg5NiwgMHg5NiwgMHgxOSwgMHgzZiwKLSAgMHg5MSwgMHg0YSwgMHhiOCwgMHg4NiwgMHhlNSwgMHgwNSwgMHhiNywgMHgyOCwgMHg1OSwgMHhhNCwgMHhkNSwgMHg0NywKLSAgMHg4YSwgMHg2NywgMHg3YiwgMHgwNSwgMHgxMCwgMHgyOCwgMHhlNywgMHgwNSwgMHg5NCwgMHhmYiwgMHg2YywgMHgxNiwKLSAgMHg0MywgMHhmOCwgMHg4MCwgMHhkNywgMHhkZCwgMHgyZiwgMHg1YSwgMHg5MSwgMHgwOSwgMHg0OSwgMHgyYiwgMHhkZiwKLSAgMHhlNywgMHg1YSwgMHg2NSwgMHg0YiwgMHhhZiwgMHgxNywgMHhkOSwgMHgwZCwgMHg3ZCwgMHg4NiwgMHg2MSwgMHg4ZCwKLSAgMHgwOCwgMHhhNiwgMHgyMywgMHhlYywgMHhlNCwgMHhjMywgMHg2OCwgMHhmYywgMHgxYywgMHg1NSwgMHhiOCwgMHgxMywKLSAgMHg4NCwgMHgxMCwgMHgzYSwgMHhhYiwgMHgwNSwgMHhmNywgMHhjYSwgMHgwMSwgMHhiYywgMHgzOSwgMHg3NSwgMHhiNCwKLSAgMHhlNCwgMHgwYSwgMHhhZCwgMHg2MCwgMHhhZiwgMHhiZSwgMHg1MSwgMHg4OCwgMHg1MiwgMHgyZiwgMHhhNSwgMHgyZSwKLSAgMHhjOCwgMHhmZCwgMHhiMywgMHg2OCwgMHg2NCwgMHg5MywgMHhhYywgMHgwNSwgMHg1YywgMHhkYSwgMHg4NywgMHhmMiwKLSAgMHhjNCwgMHhiYiwgMHg4ZCwgMHg2MywgMHgyMCwgMHg2YiwgMHhhNSwgMHg2ZSwgMHgwZCwgMHhhMCwgMHg0NywgMHg5YiwKLSAgMHhmNiwgMHg0NCwgMHhmZSwgMHhjNiwgMHhkNCwgMHg3MiwgMHgwMCwgMHg0NiwgMHgzMywgMHg1OCwgMHhkOCwgMHhlMywKLSAgMHgyZSwgMHg3OCwgMHgzNiwgMHg3MCwgMHhlNSwgMHhlMCwgMHgyNCwgMHgyNSwgMHg0MCwgMHhjOSwgMHg0YiwgMHg5NCwKLSAgMHhhMCwgMHg3MCwgMHhhNiwgMHgyNCwgMHgyZSwgMHg2YiwgMHhhMCwgMHhlNiwgMHhhMiwgMHhkYywgMHgwMCwgMHg3NSwKLSAgMHg5YSwgMHgwMywgMHgzMSwgMHgwYiwgMHgxMCwgMHhjNywgMHgzNCwgMHhkYiwgMHg0YiwgMHgwNywgMHgyMSwgMHg5YiwKLSAgMHhhZiwgMHgxOCwgMHg1MSwgMHgxYywgMHg4NCwgMHg5MCwgMHgwYiwgMHg5YywgMHgxNywgMHhjYiwgMHg1NSwgMHgxMywKLSAgMHgwNCwgMHgxMiwgMHgwOSwgMHgyYywgMHg4ZiwgMHg3MSwgMHg1MiwgMHhiZSwgMHgxYywgMHg4NiwgMHhjZCwgMHgxNSwKLSAgMHhkMywgMHg5OSwgMHg3ZiwgMHhhNiwgMHg2MCwgMHhlMCwgMHhiMCwgMHhmYywgMHhlYiwgMHg2NiwgMHg5NiwgMHgxNywKLSAgMHg2YiwgMHgzZCwgMHhjYiwgMHhiZSwgMHg0NSwgMHhlMywgMHg0YywgMHgxYSwgMHhhOSwgMHhjNywgMHhlMCwgMHhjOCwKLSAgMHhhZiwgMHgyMywgMHhkNiwgMHgxZCwgMHhiOCwgMHgxNiwgMHhiYSwgMHhiNCwgMHg2MCwgMHhkZiwgMHg1MiwgMHgxNiwKLSAgMHhiMSwgMHgwZSwgMHgxMywgMHgwOSwgMHg5OCwgMHgwMywgMHgxZCwgMHhlZSwgMHg2NywgMHhhYywgMHgxYywgMHg3MiwKLSAgMHg2YywgMHg2NSwgMHg3ZCwgMHg0MiwgMHhlOSwgMHhlMywgMHgwMCwgMHhiMCwgMHhiYSwgMHhmYywgMHhkMCwgMHg2ZiwKLSAgMHgyZiwgMHg5OSwgMHgzZSwgMHg2NiwgMHg3NywgMHgwZiwgMHhkMiwgMHg1MSwgMHhlYywgMHg3MywgMHg5ZiwgMHg2MiwKLSAgMHgwNiwgMHhjOSwgMHgwYiwgMHhmMywgMHg5ZiwgMHhiNSwgMHhkZiwgMHg3ZSwgMHhmOCwgMHg2NywgMHgwMywgMHhlNCwKLSAgMHhkMCwgMHgzNSwgMHg1MiwgMHhkNywgMHhhNiwgMHhiOCwgMHg0MiwgMHgxNiwgMHhkZSwgMHgwYiwgMHg4YywgMHgwYiwKLSAgMHg5ZSwgMHgxYiwgMHhlNCwgMHhhNSwgMHg3YSwgMHgxMiwgMHg3OSwgMHhhZCwgMHgwYywgMHg3NiwgMHg1NSwgMHg4NSwKLSAgMHhiZSwgMHgxOCwgMHg4ZSwgMHgwNCwgMHhlYywgMHg2MywgMHgxMywgMHg5MSwgMHgxMCwgMHhkNCwgMHhjMywgMHg0NCwKLSAgMHhmMiwgMHhiZCwgMHgyMiwgMHhiOCwgMHg1NSwgMHg5NCwgMHhkZCwgMHhjZCwgMHhiMywgMHhiMiwgMHgzNSwgMHg5OSwKLSAgMHgwZiwgMHhkZiwgMHhiOCwgMHhiMCwgMHgxMCwgMHhmOSwgMHg5ZiwgMHg1MywgMHg1NywgMHg1MCwgMHgwOCwgMHhkYSwKLSAgMHg1MiwgMHg1NiwgMHhmMCwgMHg4OSwgMHhkNiwgMHgyNiwgMHgzYywgMHg0NCwgMHgyYSwgMHgwNSwgMHg1YiwgMHhkMiwKLSAgMHhhZCwgMHhlYywgMHg2YywgMHg2ZCwgMHg1NCwgMHhiOCwgMHgwYiwgMHhlYiwgMHhiMiwgMHhkZSwgMHgxZCwgMHg3OSwKLSAgMHhlMiwgMHhhOSwgMHhkZiwgMHhmYywgMHg1YSwgMHgzYywgMHgzYywgMHg2NSwgMHgzYiwgMHg3ZSwgMHgzMiwgMHg3ZCwKLSAgMHg1OSwgMHhkYiwgMHgzNCwgMHgxYywgMHgwMywgMHhlZiwgMHhmNywgMHhhNiwgMHg2YywgMHg1MywgMHg3MiwgMHg5MywKLSAgMHg5NywgMHhiMCwgMHhlZCwgMHhmOSwgMHgyNSwgMHhmYSwgMHgzMiwgMHhiNiwgMHhmZiwgMHg2ZiwgMHg0YywgMHhkOSwKLSAgMHg2ZSwgMHhlNSwgMHg2YywgMHg5MywgMHg3YSwgMHg0NSwgMHgyOSwgMHhjMiwgMHhiMSwgMHhiNCwgMHg2ZCwgMHgwZiwKLSAgMHhiYywgMHg4OCwgMHg3MywgMHhiNiwgMHhkNywgMHhhNSwgMHg2YywgMHg3YiwgMHgxOSwgMHhkYiwgMHg2YiwgMHgxMiwKLSAgMHhiNiwgMHgxOSwgMHgwYSwgMHg3YSwgMHg1ZCwgMHhjYSwgMHhmNiwgMHhhZiwgMHhjYywgMHhkOSwgMHhlZSwgMHg0OSwKLSAgMHhkOSwgMHhmZSwgMHhjNSwgMHgxOSwgMHhkYiwgMHhiZiwgMHg3MSwgMHhjYSwgMHhmNiwgMHg2ZiwgMHg5OSwgMHg4ZCwKLSAgMHg4YywgMHhkYiwgMHg0MywgMHhlNywgMHg5MSwgMHg0ZiwgMHhhNSwgMHhlNCwgMHhlYywgMHhjNSwgMHhiZCwgMHgwMCwKLSAgMHhkMSwgMHhlZCwgMHgwNCwgMHgxNiwgMHgyZiwgMHhjZSwgMHgyYywgMHhlMywgMHhiMCwgMHg0YSwgMHhlMywgMHgxNCwKLSAgMHhmNywgMHhiMCwgMHg2ZSwgMHg0OCwgMHg0OCwgMHgyNSwgMHg5MiwgMHgwMSwgMHhlNywgMHhjNywgMHg4MSwgMHgwZiwKLSAgMHg2MiwgMHgzNywgMHhiZCwgMHhhZSwgMHhlNywgMHhkYywgMHhjZCwgMHg5MCwgMHgyYSwgMHhjOCwgMHgwMywgMHgyYiwKLSAgMHhkMSwgMHhmMSwgMHg5OSwgMHhjZSwgMHg3MywgMHhiZiwgMHgzZCwgMHhjYiwgMHg2OSwgMHhlNiwgMHhmNSwgMHhkZSwKLSAgMHg4MSwgMHhiMywgMHhkNSwgMHhlNSwgMHgyZiwgMHgyYiwgMHgyYSwgMHg2YiwgMHg4ZSwgMHhkOSwgMHhlZCwgMHhjYywKLSAgMHg3ZCwgMHhjNiwgMHhjMiwgMHg2MSwgMHgxNCwgMHhiMCwgMHg4NiwgMHhkZiwgMHg4MiwgMHg4ZiwgMHgzNCwgMHhiMywKLSAgMHgwZCwgMHg1ZCwgMHg2ZCwgMHg0NCwgMHhjMiwgMHgzNiwgMHg3ZCwgMHgwZiwgMHg4YiwgMHg2MSwgMHgwMCwgMHg2NiwKLSAgMHhlMCwgMHhhZiwgMHgwMywgMHgyMiwgMHg4NCwgMHhjYSwgMHg1ZSwgMHg5NCwgMHg2OSwgMHhkNywgMHhiOCwgMHg4MiwKLSAgMHg3YiwgMHhhMywgMHgwMywgMHgyZSwgMHg3NCwgMHg0NywgMHg4NCwgMHg4NSwgMHhjMiwgMHhhYiwgMHgzYywgMHhjZiwKLSAgMHgwMCwgMHg1ZiwgMHgwYywgMHgxMywgMHgwMCwgMHhiYSwgMHhiYiwgMHg5YSwgMHg3NiwgMHhkYywgMHg3ZSwgMHg0ZSwKLSAgMHg5ZSwgMHgxZiwgMHgyNSwgMHhlZiwgMHg0OCwgMHg3NSwgMHgzNCwgMHg4YSwgMHgzYSwgMHhhMiwgMHhmZCwgMHhiOCwKLSAgMHhkZCwgMHg2NiwgMHhlYywgMHg0NCwgMHg3ZSwgMHgxZiwgMHgxYiwgMHhhZSwgMHgwZCwgMHgyOSwgMHg2YywgMHhlOCwKLSAgMHhlNywgMHhmZCwgMHhiYiwgMHg5MywgMHgzMCwgMHgzZSwgMHg4ZCwgMHhlOCwgMHhjMSwgMHhmMywgMHg5ZCwgMHgxZCwKLSAgMHgyNCwgMHg0OCwgMHg1ZCwgMHhhNSwgMHhiNywgMHhiNywgMHhhMywgMHgzYSwgMHhkYiwgMHg5OSwgMHg5NSwgMHhkMywKLSAgMHg3YSwgMHg4NywgMHg0ZSwgMHg1MCwgMHhiZiwgMHg3ZSwgMHhkNSwgMHgyYywgMHhlNiwgMHg5ZiwgMHhkZCwgMHgwNywKLSAgMHg1YSwgMHhhZSwgMHg0NSwgMHhkNCwgMHhmMywgMHgzYiwgMHhjMSwgMHg1ZSwgMHg3MywgMHhkOSwgMHg5NywgMHhkYywKLSAgMHg5MiwgMHhkMSwgMHg0MywgMHgzZCwgMHg1OCwgMHgwNSwgMHhiZCwgMHg5OSwgMHhhNSwgMHhhYSwgMHhjMCwgMHhhYywKLSAgMHhjYSwgMHhmYywgMHgxZiwgMHgzYSwgMHhlOCwgMHg1MCwgMHg1NCwgMHgyOSwgMHg1MiwgMHg3ZiwgMHhlZSwgMHgzNywKLSAgMHhkYSwgMHhmNiwgMHg2YSwgMHgwOCwgMHhjMiwgMHgwMywgMHhlMiwgMHgzYSwgMHhmMiwgMHg4NiwgMHgxMCwgMHg4MiwKLSAgMHhiMywgMHgwNiwgMHg0YywgMHg0YywgMHg0ZSwgMHhhNCwgMHg3MywgMHhlYywgMHg5ZCwgMHgyNiwgMHhkNywgMHg0YywKLSAgMHg1ZSwgMHg2MSwgMHgxMywgMHgzZSwgMHhkMCwgMHg1OSwgMHg0ZiwgMHhkYiwgMHhlYiwgMHhkZiwgMHg5YywgMHgyNSwKLSAgMHgxOCwgMHhlYSwgMHgyNiwgMHgyOSwgMHhmZiwgMHgxMCwgMHg2NSwgMHhkNywgMHg3ZiwgMHhmNCwgMHg1MywgMHhkYywKLSAgMHgzMiwgMHg5YiwgMHg5MCwgMHhmNywgMHg4MiwgMHhiMywgMHhlZCwgMHhkNiwgMHhjZSwgMHhjNCwgMHgzZSwgMHhmYywKLSAgMHgyOSwgMHg2NiwgMHgwMiwgMHhiOCwgMHg4NSwgMHgyOCwgMHg3ZiwgMHg2YywgMHhjZCwgMHgwMSwgMHg4ZiwgMHg3ZCwKLSAgMHg4YSwgMHhlZiwgMHg1ZiwgMHhlZiwgMHhmNSwgMHg3ZCwgMHg3NiwgMHg2ZiwgMHhjMCwgMHg5ZiwgMHhiZSwgMHhkZSwKLSAgMHhmYiwgMHgwZCwgMHgzZiwgMHhmYywgMHhkZSwgMHgzYSwgMHhhYiwgMHgxOCwgMHg5YSwgMHhlMiwgMHgwNSwgMHhmZCwKLSAgMHhmNywgMHhiOSwgMHhlZSwgMHg3MCwgMHg1ZiwgMHhhZiwgMHhjMCwgMHgzNSwgMHg3ZCwgMHgxOCwgMHg4NCwgMHhiZiwKLSAgMHgzOSwgMHhjOSwgMHg3MCwgMHgwZiwgMHgwNCwgMHg0YywgMHgyZiwgMHhjNiwgMHgwYiwgMHgwMywgMHg3YywgMHgwOSwKLSAgMHg0NiwgMHgzYiwgMHg1YSwgMHg2NywgMHgwYywgMHgxNSwgMHhlMCwgMHg5MSwgMHgwMSwgMHg3MSwgMHgxOCwgMHhhMywKLSAgMHg4OCwgMHgzZSwgMHgzZSwgMHgyYiwgMHgxNSwgMHgzMywgMHhlYiwgMHg2ZCwgMHg4ZiwgMHgxOCwgMHg0MiwgMHg4NiwKLSAgMHg0MCwgMHg0YywgMHgyYiwgMHg2ZiwgMHhkNCwgMHg2OSwgMHgxNCwgMHgzNCwgMHgzZCwgMHg5NywgMHgyZSwgMHhkZiwKLSAgMHgxMSwgMHhjNywgMHhkNiwgMHhiYSwgMHgwZSwgMHgxNCwgMHhlMCwgMHhkOSwgMHgzZSwgMHhiMCwgMHhkNCwgMHhjNCwKLSAgMHhmYSwgMHhkMSwgMHhjMCwgMHg1NywgMHhiYSwgMHg0YywgMHg1NCwgMHhkMSwgMHg4OSwgMHg2ZCwgMHg0NiwgMHhhNywKLSAgMHg3NywgMHhjNSwgMHg5ZiwgMHgyNywgMHgxYiwgMHhjMywgMHhmNywgMHhjOSwgMHhmMywgMHg4ZCwgMHg2MCwgMHg4YiwKLSAgMHg0ZSwgMHgwYiwgMHhlOSwgMHhlMCwgMHgwMywgMHhhNywgMHg1NywgMHgwNSwgMHg4MCwgMHgwMiwgMHgzNCwgMHgwNSwKLSAgMHhmMywgMHg1NSwgMHg5MywgMHgyYiwgMHg4MiwgMHg5ZiwgMHg3MiwgMHhlNiwgMHg4NCwgMHhlZCwgMHg3ZSwgMHg3MSwKLSAgMHgxOSwgMHgwNCwgMHhlMSwgMHhkOCwgMHg3OSwgMHhjMSwgMHg0YSwgMHg5NCwgMHhmNiwgMHhhYiwgMHgyMiwgMHg1MSwKLSAgMHg0MiwgMHg2ZSwgMHgxYiwgMHgwNywgMHg2NiwgMHgwZiwgMHhmNSwgMHg4OSwgMHg3YiwgMHg3MSwgMHg0OCwgMHg2MiwKLSAgMHgwMywgMHg0NSwgMHgzMywgMHhhNywgMHhhMSwgMHhmYiwgMHg2NSwgMHhjNiwgMHgzMSwgMHg1YiwgMHhlOSwgMHg2ZSwKLSAgMHhiNiwgMHgyYywgMHhlYiwgMHgzYSwgMHg5ZiwgMHgxOCwgMHgxZSwgMHg3ZCwgMHgyOSwgMHhmYywgMHhiMSwgMHhjZSwKLSAgMHgzOCwgMHg5ZCwgMHg4YSwgMHgwYiwgMHhhZiwgMHg2OSwgMHgyZiwgMHg2YiwgMHg5NywgMHg1YywgMHg1NiwgMHg4NywKLSAgMHg0MCwgMHg2OSwgMHhiYywgMHg1MiwgMHhkYiwgMHhmZiwgMHg0MywgMHhkYywgMHg0YiwgMHg2NiwgMHg3NiwgMHhjYywKLSAgMHhkYSwgMHhhZSwgMHg3MywgMHgxYSwgMHg5ZSwgMHgwOSwgMHgyZSwgMHg0ZCwgMHgyNiwgMHg1NSwgMHg5ZSwgMHg1ZCwKLSAgMHgyNCwgMHg4YiwgMHg5MiwgMHhiNywgMHgxZSwgMHg4YSwgMHg1NywgMHg5NywgMHhjOSwgMHhjZSwgMHgwOSwgMHg2MCwKLSAgMHg2NSwgMHgzNiwgMHg0YSwgMHhjNiwgMHg5NCwgMHg2OSwgMHg1YiwgMHgxMywgMHg4NCwgMHgyOCwgMHhmMiwgMHhhZiwKLSAgMHg5MSwgMHhmZCwgMHhlOCwgMHg3MiwgMHhiYiwgMHhhYiwgMHg4YywgMHgzMiwgMHgwNywgMHhhOCwgMHhmYiwgMHgyZCwKLSAgMHg1NiwgMHg5MSwgMHg2YSwgMHgyNywgMHhhNSwgMHg5ZSwgMHg5YywgMHhkNCwgMHhjYSwgMHgyMiwgMHhhZCwgMHhhMywKLSAgMHhkYSwgMHgwMSwgMHgwMCwgMHg0ZiwgMHg3YSwgMHg0MSwgMHhmMSwgMHg0NSwgMHg3NCwgMHhlNiwgMHhkNCwgMHhmNCwKLSAgMHg1ZCwgMHgwNywgMHhhOSwgMHgzMCwgMHhmYSwgMHg2NCwgMHgzYywgMHhkZSwgMHhmMywgMHg0MiwgMHhmZiwgMHhlYSwKLSAgMHgzYSwgMHg4MCwgMHhmZSwgMHhhYywgMHhmOCwgMHg3NiwgMHg2YSwgMHg3NCwgMHg4MCwgMHg4OCwgMHgxMywgMHhjZiwKLSAgMHg4NywgMHhiZiwgMHhhMCwgMHgxZSwgMHgwNywgMHg2ZiwgMHhiYiwgMHg1YSwgMHg0ZSwgMHgyNCwgMHhiNSwgMHg5YywKLSAgMHgxMiwgMHhlOCwgMHgzOCwgMHg1ZiwgMHhjZCwgMHhhZSwgMHhhZSwgMHgwMSwgMHhlNiwgMHgwMywgMHg0YSwgMHhmOSwKLSAgMHhmZCwgMHhkOCwgMHhmMCwgMHhmYiwgMHg0MCwgMHhjNCwgMHhiYiwgMHg3NCwgMHhmOSwgMHg1NiwgMHg4MiwgMHhiYywKLSAgMHhjYiwgMHg4ZiwgMHhhNywgMHhiMywgMHg3MiwgMHhkOSwgMHhmMSwgMHgyOCwgMHgwOCwgMHg2MSwgMHgxNywgMHg3OSwKLSAgMHg0YSwgMHgzMywgMHgwOCwgMHg2NSwgMHgzMiwgMHgyMSwgMHhjMiwgMHhmNywgMHhlNywgMHhjNiwgMHgxYiwgMHg5ZCwKLSAgMHhjZiwgMHg4YiwgMHhkNSwgMHgzYiwgMHgwYywgMHg1NywgMHg3MiwgMHhiMCwgMHhjNiwgMHhhMywgMHhjNCwgMHhiOCwKLSAgMHhhMSwgMHhlOCwgMHhlNiwgMHhmMSwgMHgzNCwgMHhlOCwgMHhjOSwgMHgyOSwgMHhiNSwgMHgxMywgMHhjMiwgMHgzOCwKLSAgMHg2ZCwgMHhmNiwgMHhjMiwgMHg3NSwgMHg5ZSwgMHg1YSwgMHgxZCwgMHhjYSwgMHg3ZCwgMHg4YiwgMHg3NywgMHhkNCwKLSAgMHg3ZCwgMHhhYSwgMHgyZiwgMHgwZSwgMHhjNywgMHhiMCwgMHg0OSwgMHg5MSwgMHhjYSwgMHhjZSwgMHhiNywgMHhlMywKLSAgMHg3MSwgMHg5OCwgMHgyMiwgMHg1ZiwgMHgxOCwgMHhlMywgMHhhNCwgMHhiYywgMHgyYywgMHhmMiwgMHhiZiwgMHg0YiwKLSAgMHhiMywgMHhiNCwgMHg2ZSwgMHg2NiwgMHg2YiwgMHhhYiwgMHg0NiwgMHhhMSwgMHgxZCwgMHg5MCwgMHhhNywgMHg0NCwKLSAgMHg4OSwgMHg5MCwgMHhiZiwgMHgwOSwgMHhhZSwgMHgxZiwgMHg4OSwgMHgxZCwgMHgyNCwgMHg4NCwgMHgwMSwgMHg5MCwKLSAgMHhjYywgMHgyNiwgMHgwMywgMHg1MiwgMHg5YywgMHg0MSwgMHhkYSwgMHg2OCwgMHhmYiwgMHg0OSwgMHgwZiwgMHg4YSwKLSAgMHg3YywgMHhmNCwgMHg1OSwgMHhhOCwgMHg0OCwgMHhkMiwgMHgxZSwgMHgwOCwgMHg4NCwgMHg1MCwgMHg1YywgMHg0NSwKLSAgMHhjYSwgMHg3ZSwgMHg0NSwgMHg0MSwgMHgwMSwgMHg3MSwgMHhkMCwgMHg1ZiwgMHg1NSwgMHg1MiwgMHhkMCwgMHg1NiwKLSAgMHg1MCwgMHgzZCwgMHgzOCwgMHhhZCwgMHhlYywgMHg5NiwgMHgzOSwgMHg2OCwgMHgxYywgMHhhZiwgMHg1MCwgMHgzMCwKLSAgMHg4MiwgMHhiMywgMHg5OCwgMHg3OCwgMHhiMSwgMHg3MSwgMHgwOCwgMHgzNCwgMHhjMywgMHg3OSwgMHgwOCwgMHg2NCwKLSAgMHhhMSwgMHhhYSwgMHg5ZSwgMHg4MSwgMHg3OCwgMHg4OSwgMHhlMCwgMHgxNSwgMHhkYSwgMHhkMSwgMHgxZiwgMHgwMCwKLSAgMHg1NCwgMHg0OCwgMHg2ZSwgMHg3YywgMHg2ZCwgMHgxMSwgMHgyMCwgMHg1MywgMHg0NiwgMHhlMywgMHgxYywgMHg4NiwKLSAgMHg1ZiwgMHhjOCwgMHgxOCwgMHg1ZCwgMHg5MCwgMHhhNiwgMHhlNSwgMHhhZSwgMHgyNCwgMHg1ZiwgMHhkOCwgMHg2OCwKLSAgMHg0YiwgMHg1NywgMHg0MiwgMHg2MywgMHg4MCwgMHhlMiwgMHgzZSwgMHhkMSwgMHhhMiwgMHhiZCwgMHg4NiwgMHhmNywKLSAgMHg5NiwgMHhkZSwgMHgxZSwgMHgxMSwgMHg5NiwgMHgxZSwgMHgxNSwgMHg1NSwgMHg1OSwgMHg5NCwgMHgzMywgMHhiMiwKLSAgMHhlNCwgMHg1MSwgMHhiZCwgMHhhNywgMHgzNCwgMHhkMSwgMHgyNSwgMHgyZCwgMHhkNywgMHhhZSwgMHhjMSwgMHg0ZSwKLSAgMHg5MSwgMHhiMywgMHg0NCwgMHhjNCwgMHhjNywgMHg2ZiwgMHhkYiwgMHgxMCwgMHhiNiwgMHg2NSwgMHgxOCwgMHhlMywKLSAgMHhjOSwgMHgwNiwgMHhhNCwgMHgyNSwgMHg4OCwgMHg0MSwgMHg1MCwgMHgwMywgMHg1NiwgMHhjNiwgMHgyOCwgMHgyMywKLSAgMHgxOCwgMHg2NywgMHgyZSwgMHgyZCwgMHhiMiwgMHg2NywgMHgzMiwgMHgyMCwgMHhlZSwgMHhjMywgMHgyYywgMHg1NywKLSAgMHgzYywgMHg3NSwgMHhjMywgMHhhNSwgMHg3MiwgMHhkOSwgMHhlZSwgMHg2MiwgMHhlZiwgMHg2NCwgMHg5MCwgMHgxZSwKLSAgMHg1ZCwgMHhmZSwgMHgxMywgMHg1NCwgMHhhMiwgMHhmYywgMHg5YSwgMHg0MiwgMHg5NCwgMHg0ZiwgMHg1YywgMHg4OSwKLSAgMHhlMiwgMHg0OSwgMHgwYSwgMHgxMiwgMHgzYiwgMHhhMSwgMHg5YywgMHg0MCwgMHg1YSwgMHgxNCwgMHhiOSwgMHg2NCwKLSAgMHgzOCwgMHgwZiwgMHhlYSwgMHgyNiwgMHhiNSwgMHg4ZCwgMHg4NCwgMHhmMCwgMHg1NiwgMHg2NywgMHhiOCwgMHhlOCwKLSAgMHg0ZCwgMHg2YSwgMHhlNywgMHhjOCwgMHg3YSwgMHgxYywgMHg0NCwgMHhmOSwgMHgyMywgMHhhNywgMHhjMCwgMHg1MywKLSAgMHgwYiwgMHhjMywgMHgwOCwgMHhmYywgMHgxMiwgMHgyNiwgMHg0MCwgMHgyNSwgMHhlMywgMHhiMywgMHg0YywgMHg5MCwKLSAgMHhkNiwgMHhmZSwgMHhlOCwgMHhmYSwgMHhmOCwgMHg3YywgMHg2YSwgMHgwMywgMHg2YywgMHhjZiwgMHhmMCwgMHhlNiwKLSAgMHgxNywgMHg5ZSwgMHgzYywgMHhmZSwgMHg3MywgMHg0NCwgMHgyMCwgMHgwNywgMHg0ZSwgMHg0YiwgMHhhZSwgMHg2YiwKLSAgMHhhMywgMHg1NywgMHhkYiwgMHhhMCwgMHhhNiwgMHgxMSwgMHhhNiwgMHgxNywgMHhiZiwgMHgzMCwgMHg2OCwgMHgxYiwKLSAgMHg4YywgMHhmOCwgMHhhNiwgMHhiMiwgMHgzNywgMHg0YSwgMHg4YiwgMHhhMywgMHg5NywgMHg3YiwgMHgxOCwgMHg5YywKLSAgMHhjMCwgMHhlNiwgMHhhYSwgMHg0MSwgMHg2YywgMHhmOCwgMHhmOSwgMHgyNCwgMHg2YiwgMHg2ZSwgMHg0OCwgMHg4YiwKLSAgMHhjMywgMHg2ZSwgMHhlOCwgMHgzNiwgMHg3YSwgMHgzYywgMHhjMCwgMHhmMiwgMHhjMywgMHhkZSwgMHg3YywgMHg5NywKLSAgMHg4MSwgMHhhMCwgMHg2NSwgMHgxMywgMHg0NywgMHg2MSwgMHg1OCwgMHg2NiwgMHhlYiwgMHgxOSwgMHhkMSwgMHhiOCwKLSAgMHg2ZSwgMHg3MCwgMHhmZCwgMHg2MiwgMHg4ZCwgMHhiOSwgMHg1YywgMHg4OCwgMHg5YSwgMHhiZiwgMHg0ZiwgMHhmYiwKLSAgMHhlMiwgMHhlNSwgMHhlMiwgMHhiNiwgMHgyYSwgMHg4NiwgMHgzNCwgMHg3MywgMHg0OSwgMHgxZSwgMHhmNCwgMHg3ZCwKLSAgMHhmYywgMHhmNiwgMHgxYSwgMHhjYiwgMHhiNSwgMHg4ZCwgMHg3OSwgMHgzZiwgMHhkYiwgMHg2YywgMHg0ZSwgMHgwZiwKLSAgMHhkZiwgMHhkMywgMHhiMywgMHgyNCwgMHg0MiwgMHhkOCwgMHgwMSwgMHg0ZiwgMHhhMiwgMHhiOCwgMHg1YywgMHgyYywKLSAgMHgzNCwgMHhkYywgMHhjYiwgMHg2NSwgMHhkOCwgMHg5NSwgMHgyMywgMHhiZiwgMHg0ZCwgMHg5NywgMHhlNiwgMHg2NywKLSAgMHgxNCwgMHgxMiwgMHgwNCwgMHg0MiwgMHhmMCwgMHgyYywgMHg4YiwgMHhlNSwgMHgyNSwgMHg3NCwgMHgzNiwgMHhiZiwKLSAgMHgxMywgMHgxNywgMHhjNywgMHhmOSwgMHg4NCwgMHg0ZCwgMHgyZiwgMHhhYywgMHg3MSwgMHgxNiwgMHg2YiwgMHg1NiwKLSAgMHg1NCwgMHgwYiwgMHhhMiwgMHg5NiwgMHhiYSwgMHhhNywgMHgzNCwgMHgwOCwgMHgyZSwgMHhjMSwgMHgxNiwgMHg5ZiwKLSAgMHhkMiwgMHgwNCwgMHg2YiwgMHhiMiwgMHg5MCwgMHhmMiwgMHhjZCwgMHgxMCwgMHg0OCwgMHhiZSwgMHhiNSwgMHhjNiwKLSAgMHg3MiwgMHgxNCwgMHg2OSwgMHg1OSwgMHg0YSwgMHhmYSwgMHgwNSwgMHhlYSwgMHhiMSwgMHhiYSwgMHhmMywgMHg5NywKLSAgMHgxYywgMHgzZSwgMHg2ZCwgMHg2MCwgMHhkOSwgMHg3MiwgMHhmMiwgMHg0MCwgMHg5NiwgMHg4NSwgMHgyZSwgMHgzMywKLSAgMHgwMSwgMHhlNSwgMHhkMiwgMHg1NywgMHgwNCwgMHhkMCwgMHg1YSwgMHgzZSwgMHg2MCwgMHgxYiwgMHhmZCwgMHhmNiwKLSAgMHg0NSwgMHgyNiwgMHg2MywgMHgzOSwgMHgxYywgMHhhZCwgMHg1YiwgMHgyYiwgMHhiMSwgMHg4NywgMHg0OCwgMHg2YywKLSAgMHg2ZSwgMHg2YiwgMHg0YywgMHg3NSwgMHgxMSwgMHhlMywgMHg5NywgMHg2NywgMHhkYiwgMHhjOSwgMHg1OSwgMHgyNywKLSAgMHhhYywgMHg4MCwgMHhhMiwgMHgyNCwgMHgxMiwgMHhhNiwgMHgzZSwgMHgyMywgMHg5NiwgMHhjNiwgMHg4YSwgMHg4YywKLSAgMHg1NywgMHhkYSwgMHhlZiwgMHg4MiwgMHg1NiwgMHg5NCwgMHg2OCwgMHg4YiwgMHhjYywgMHg4YiwgMHhkMCwgMHhlZiwKLSAgMHg2ZiwgMHhjZSwgMHg5OCwgMHgzYSwgMHg2YiwgMHgzOSwgMHg0NCwgMHg5MSwgMHgwNiwgMHg4MywgMHg4MiwgMHg4OCwKLSAgMHg0OSwgMHhlOSwgMHhkZiwgMHg1MiwgMHg2MywgMHg0MiwgMHg5NywgMHg1NCwgMHg2YSwgMHhjNywgMHhhZCwgMHhjYywKLSAgMHhjNCwgMHgyOSwgMHhhZiwgMHhjZSwgMHhmNCwgMHg3OSwgMHg5MCwgMHhlYSwgMHhjOCwgMHhhMCwgMHgzOCwgMHg5YSwKLSAgMHg3OSwgMHhlZSwgMHhjMSwgMHgxZiwgMHg0OSwgMHg1MywgMHhkMSwgMHg5YSwgMHhlNSwgMHg1MiwgMHhhNywgMHhlOSwKLSAgMHgwNywgMHhhZCwgMHhlMiwgMHgzMiwgMHgyYiwgMHhiMiwgMHgxOCwgMHg0MiwgMHhkOCwgMHgxZCwgMHgwNCwgMHhiOSwKLSAgMHgxMCwgMHhmNSwgMHg2YywgMHhkNCwgMHhjNSwgMHg0MiwgMHhmNywgMHhjMiwgMHgwNiwgMHgzMiwgMHhiOSwgMHhiYywKLSAgMHg3NCwgMHg3ZCwgMHgwZiwgMHg3YSwgMHhmMCwgMHg1MiwgMHg2MSwgMHhmMiwgMHg0ZiwgMHg1MCwgMHgwMCwgMHg0OCwKLSAgMHgzOCwgMHg1YywgMHhjMCwgMHhkNSwgMHg4NywgMHg1MSwgMHgzMCwgMHgyZCwgMHg5NywgMHg3NywgMHhiNCwgMHgxZCwKLSAgMHhlNiwgMHhjMSwgMHhiYSwgMHhiZSwgMHhkYSwgMHgzNywgMHg5YywgMHg2MywgMHg3ZiwgMHhmNCwgMHgzOSwgMHg0YywKLSAgMHgxNCwgMHgyMywgMHhhYywgMHgyMywgMHhlMCwgMHhjYSwgMHg5YywgMHgzYiwgMHgyMiwgMHhjZCwgMHg4NywgMHgzYiwKLSAgMHhhMywgMHg4OSwgMHgxNiwgMHgzZSwgMHg3MiwgMHg4YSwgMHhmZiwgMHhmMCwgMHgzZiwgMHg4OSwgMHhkMiwgMHg4MCwKLSAgMHg1NywgMHhkOSwgMHgzZCwgMHgwNSwgMHgxMCwgMHhkNCwgMHg2YiwgMHg0YSwgMHhmMiwgMHhhMSwgMHg0NiwgMHg5OSwKLSAgMHg5YywgMHg2OSwgMHgzMCwgMHhjOSwgMHgxYiwgMHgzNCwgMHhhOCwgMHg1MCwgMHgxYiwgMHhiMiwgMHg3ZCwgMHgzMSwKLSAgMHg1ZiwgMHg3MywgMHhjOSwgMHg3MywgMHg4MiwgMHhkNywgMHhhMiwgMHgzNSwgMHhmMSwgMHg0NiwgMHgwNSwgMHhmZiwKLSAgMHg0ZiwgMHg2MCwgMHg2MywgMHhjYSwgMHgwMCwgMHg1YywgMHg5YiwgMHg4NCwgMHg2YywgMHg4OCwgMHhhZiwgMHg4ZSwKLSAgMHg1ZSwgMHg5ZiwgMHhiZSwgMHgzYiwgMHg2YSwgMHhkNywgMHgyYiwgMHgzNiwgMHgwMCwgMHhkZCwgMHg0MiwgMHhiMCwKLSAgMHhiZiwgMHgzYiwgMHgzYiwgMHhhMCwgMHgwZCwgMHhiYSwgMHgxNiwgMHhjZCwgMHg3OSwgMHg5MSwgMHg5MywgMHhkMSwKLSAgMHg5ZiwgMHg5YywgMHg3ZCwgMHhmZiwgMHhjYSwgMHg0ZSwgMHgyZSwgMHgwNywgMHhkMywgMHhjNCwgMHhhNCwgMHg3NCwKLSAgMHhjNCwgMHg4MSwgMHhlZSwgMHg3MywgMHg1NywgMHhiNCwgMHg5MywgMHgxMiwgMHg0MCwgMHhhZCwgMHhkZCwgMHhhNCwKLSAgMHg1NSwgMHhiYywgMHg5ZCwgMHgxZSwgMHg5MiwgMHgyYywgMHgzOCwgMHgzNSwgMHg0NiwgMHg0YiwgMHhmNSwgMHg4MSwKLSAgMHg4OCwgMHg1ZiwgMHhkNywgMHg1NCwgMHg3YSwgMHg2ZiwgMHg4NywgMHgwZCwgMHhmNCwgMHg1ZSwgMHg4OCwgMHg3ZSwKLSAgMHhhMCwgMHg0ZCwgMHg4OSwgMHgyZCwgMHg0YSwgMHg4OCwgMHg3ZSwgMHgwNCwgMHhmMywgMHgzNywgMHg0YSwgMHhlYywKLSAgMHg0NywgMHhkYywgMHg1NywgMHhlOCwgMHhlMCwgMHgyNSwgMHgxYiwgMHgwOCwgMHg1ZiwgMHg4OSwgMHgzMSwgMHhlYywKLSAgMHgyYiwgMHhjYSwgMHhkMiwgMHg0NiwgMHgxYywgMHg4NCwgMHhlNSwgMHgxZCwgMHgzOSwgMHg1YywgMHg4OCwgMHg2NiwKLSAgMHg2ZCwgMHgxNywgMHhiOSwgMHgwMSwgMHgyMywgMHgzMCwgMHg0YSwgMHhiOCwgMHhjNywgMHhkZiwgMHhjNywgMHg0OCwKLSAgMHg4NCwgMHhkYywgMHg3YywgMHg3NiwgMHhhYiwgMHhkZSwgMHgxZSwgMHg3OCwgMHgzMywgMHhiNSwgMHhkYiwgMHgyNiwKLSAgMHgxMywgMHhkZSwgMHhmYywgMHhlMywgMHg2NiwgMHgyMiwgMHgwNSwgMHgyMSwgMHg2MCwgMHg3OCwgMHgwYywgMHgzMiwKLSAgMHhkYywgMHhkMywgMHgzZCwgMHhkNiwgMHg3NSwgMHgxMywgMHhkYywgMHhiZSwgMHgyZiwgMHg3ZiwgMHg0YiwgMHgxNywKLSAgMHhkZCwgMHg1ZiwgMHg4ZiwgMHgyZCwgMHhhMSwgMHgzYiwgMHg0OSwgMHhlYSwgMHg0MSwgMHg1YiwgMHhkZiwgMHgxNSwKLSAgMHg0MywgMHhjZiwgMHg4MiwgMHg3NSwgMHg4OCwgMHgzOCwgMHhkNSwgMHg3MSwgMHgwNiwgMHg4MiwgMHhjYSwgMHgxZSwKLSAgMHgzYSwgMHhmNywgMHgyYSwgMHhiZiwgMHhjMywgMHg5OCwgMHgzMiwgMHgxYywgMHg0NCwgMHhjYywgMHhiNCwgMHgwZCwKLSAgMHgwNiwgMHhjNywgMHgyMiwgMHg4OCwgMHhiYSwgMHhlYiwgMHhiYiwgMHhhMiwgMHhhMSwgMHg4YiwgMHhjYSwgMHgzYywKLSAgMHg2NSwgMHg1YSwgMHg1NiwgMHhmMSwgMHgwMiwgMHgzMCwgMHgxMCwgMHg5MywgMHhhMywgMHhkZCwgMHgxYSwgMHg1OCwKLSAgMHgxMywgMHhjZiwgMHgxZSwgMHgzZiwgMHgyMywgMHhlMSwgMHg4ZSwgMHgxYywgMHgyNSwgMHhlOSwgMHhiMCwgMHgyNywKLSAgMHg3OCwgMHhkZCwgMHg4OCwgMHg5ZiwgMHhmMiwgMHg5YywgMHhhMywgMHhjOCwgMHgyMSwgMHgzMiwgMHg4ZSwgMHhmNCwKLSAgMHg0NCwgMHg5ZiwgMHg2NCwgMHg3MywgMHhlZSwgMHhlOSwgMHgzNywgMHhmNiwgMHg4NiwgMHgwOCwgMHhjMSwgMHg5NCwKLSAgMHhmYSwgMHg0ZSwgMHg4YywgMHhiMCwgMHgzMCwgMHgwZCwgMHhlZCwgMHhlNCwgMHhmNSwgMHhjNywgMHg2NCwgMHhlYiwKLSAgMHhkZiwgMHhiOCwgMHgwMSwgMHhhYSwgMHhhYiwgMHg4ZSwgMHhlNywgMHhlMCwgMHg2ZiwgMHg1ZSwgMHhhYywgMHgwMiwKLSAgMHhjYSwgMHgyNywgMHhlNywgMHg5YywgMHgxNiwgMHgwYSwgMHhlYiwgMHg4MCwgMHgxNywgMHg4OCwgMHhhOSwgMHhhNCwKLSAgMHhiNSwgMHg4ZiwgMHg2OCwgMHhlMiwgMHg4MSwgMHhhYSwgMHgzNSwgMHhlNSwgMHg5MiwgMHg5NCwgMHgzNiwgMHhjMCwKLSAgMHgyNywgMHg0NCwgMHg3YSwgMHgzMCwgMHg5YiwgMHhjMywgMHg3YSwgMHg3MCwgMHg5MiwgMHg0ZiwgMHhiYiwgMHg2YywKLSAgMHgyMSwgMHg5NCwgMHg4OCwgMHhiNCwgMHgxMywgMHg0MCwgMHgzOCwgMHgxNywgMHg3NywgMHhhYiwgMHgyYSwgMHg1NywKLSAgMHhhMywgMHhlNCwgMHg3ZCwgMHg4MSwgMHg0YywgMHgzYywgMHgyMSwgMHgzYiwgMHgxMSwgMHgxMywgMHg3OSwgMHg2MSwKLSAgMHg3NiwgMHhjMCwgMHhkMCwgMHgzNCwgMHg0MSwgMHg3OSwgMHg0NCwgMHg5OCwgMHgxMCwgMHhlMywgMHhmMiwgMHg3YSwKLSAgMHhmNywgMHg0ZSwgMHhkOCwgMHg2NCwgMHgyNywgMHg0NCwgMHg4YSwgMHg3YiwgMHg2YiwgMHgzMSwgMHhlOSwgMHg4NSwKLSAgMHg2ZiwgMHhiZCwgMHgwZSwgMHhiYiwgMHg1NSwgMHg3MiwgMHhiNywgMHgzZCwgMHgyMiwgMHg3NSwgMHhiMywgMHgxYywKLSAgMHg4YywgMHg0ZCwgMHgyMSwgMHhmMCwgMHg2YywgMHgzZSwgMHgxZiwgMHgzMiwgMHgyNCwgMHgzZSwgMHgwMSwgMHg4NCwKLSAgMHg5MywgMHg3MiwgMHhjZiwgMHg0NSwgMHhkMiwgMHg0OCwgMHg2MCwgMHhmMywgMHg0YiwgMHhmMCwgMHgwMywgMHhjOSwKLSAgMHg4MiwgMHg1YSwgMHhlZiwgMHgxMSwgMHg2YSwgMHg4MCwgMHgxNCwgMHg2YywgMHg0NCwgMHhkMiwgMHhkZSwgMHgzNSwKLSAgMHhiMiwgMHg0NiwgMHg4NSwgMHg3YiwgMHhjZSwgMHgxZiwgMHg4MiwgMHhkZCwgMHhmOSwgMHg5YiwgMHhmMiwgMHhkMywKLSAgMHg1OCwgMHg3ZiwgMHhiOSwgMHgxMCwgMHgyZSwgMHg3NiwgMHg3YSwgMHg3NSwgMHg1OSwgMHgyZCwgMHhiOSwgMHhjNywKLSAgMHg2NSwgMHhhYywgMHgwMSwgMHhhNywgMHhhNywgMHg3NSwgMHhmMywgMHg5MywgMHg0YSwgMHgxMiwgMHg3NSwgMHhkNiwKLSAgMHhmMCwgMHg1NCwgMHhmOCwgMHhkNSwgMHhlMywgMHg1NywgMHg3YSwgMHgwZiwgMHhhZCwgMHg4ZSwgMHg4MSwgMHgzYSwKLSAgMHhiNywgMHhmOCwgMHg3MCwgMHgwMiwgMHg0ZCwgMHg0ZSwgMHhiZSwgMHgwMiwgMHhkYywgMHg0OCwgMHgyNywgMHgzOSwKLSAgMHhlYywgMHg2OCwgMHhjZSwgMHhjNCwgMHg5OCwgMHhkYywgMHhiOSwgMHhkZiwgMHhjNCwgMHg4NywgMHg5MywgMHgzMSwKLSAgMHg1OCwgMHg1MywgMHhlNSwgMHgxMSwgMHg3NCwgMHg1OCwgMHhkMCwgMHg4YSwgMHgzMSwgMHg0NSwgMHg3MywgMHg2YSwKLSAgMHg1NywgMHg0NiwgMHhkNCwgMHg3MCwgMHg5OSwgMHg1NSwgMHhmNiwgMHgyMywgMHg2MSwgMHg5MiwgMHhlNCwgMHhkNSwKLSAgMHhhMiwgMHg5YywgMHg1MSwgMHg1MSwgMHg1NywgMHg3NiwgMHhlZiwgMHg1ZSwgMHhkMCwgMHg4MywgMHhiYSwgMHgxNywKLSAgMHg1MiwgMHgwYiwgMHg1NywgMHhmYiwgMHhlYiwgMHhjMiwgMHgyMCwgMHg4NiwgMHg0YSwgMHg4OSwgMHhmMiwgMHgwNCwKLSAgMHg0NywgMHgzNywgMHgzZSwgMHg5YywgMHg1YiwgMHhhOCwgMHhmNiwgMHg5YywgMHhjZCwgMHhmOCwgMHg2NSwgMHg3ZiwKLSAgMHgwOSwgMHg0NSwgMHg1MiwgMHg0ZSwgMHgxYiwgMHg2ZiwgMHgwNSwgMHhmNCwgMHg0MCwgMHg3YywgMHgzOCwgMHg2NiwKLSAgMHhhYywgMHg5MSwgMHg5NSwgMHg1MSwgMHg4MSwgMHgxNCwgMHgyYywgMHhjYSwgMHhmYiwgMHg1NiwgMHg0NiwgMHgwZiwKLSAgMHgwNiwgMHhhNywgMHg2YywgMHg3ZSwgMHhjOCwgMHhlYywgMHhiYSwgMHg3MywgMHhjNCwgMHg3YywgMHgzOCwgMHhmMSwKLSAgMHhlMSwgMHhkYSwgMHgwNywgMHhhYywgMHgyNywgMHg4YywgMHgzOSwgMHhjNCwgMHgwZSwgMHg1OCwgMHhhMCwgMHhjOCwKLSAgMHg0MywgMHgwZCwgMHhjYiwgMHhkOSwgMHhjNywgMHhiYywgMHgzYiwgMHhmNiwgMHhjMSwgMHhkZSwgMHgwMywgMHg5NiwKLSAgMHg2ZiwgMHgwNCwgMHhiYiwgMHgzMCwgMHgyZiwgMHg4YywgMHg3NiwgMHhiNywgMHhhYSwgMHhhNiwgMHhkOSwgMHgwNywKLSAgMHhjYywgMHhhZCwgMHg0OSwgMHhhYiwgMHhjYiwgMHhhYywgMHhmOSwgMHhiMCwgMHg3ZSwgMHg0MywgMHhlNiwgMHg4MiwKLSAgMHhhNiwgMHg3MCwgMHhiNywgMHg0MCwgMHhkMywgMHg3OCwgMHhjYiwgMHgyYiwgMHgwNCwgMHhmNSwgMHgzNywgMHgxNSwKLSAgMHg3NCwgMHgwMSwgMHhhMywgMHhlMCwgMHhlMSwgMHhmNywgMHg2YywgMHhjZiwgMHhmNCwgMHg5MCwgMHhiZCwgMHhmYiwKLSAgMHgxZSwgMHhmNywgMHgyZiwgMHg2MSwgMHhjMywgMHg2YywgMHg1OSwgMHhlNiwgMHg4NSwgMHg2ZCwgMHgwMywgMHgwNCwKLSAgMHgxZSwgMHhlMywgMHhjZCwgMHgzMSwgMHg4NiwgMHhiYywgMHhiNCwgMHgyZSwgMHg1YywgMHhiNSwgMHhmOCwgMHg0OCwKLSAgMHgyNSwgMHg1NiwgMHg1NiwgMHgwOSwgMHhmOCwgMHgxMCwgMHg2OSwgMHhmNSwgMHhlMiwgMHgyZCwgMHg4ZSwgMHg5ZiwKLSAgMHhkNiwgMHhkMywgMHhlNiwgMHgyNSwgMHg0OSwgMHgwOSwgMHhhMSwgMHg2ZCwgMHgyZCwgMHhlYywgMHgxZiwgMHgzNCwKLSAgMHgxNSwgMHgxNSwgMHhmNywgMHhjYywgMHhjNiwgMHhmZiwgMHhhMCwgMHhiZCwgMHg5MSwgMHhkZCwgMHhkOSwgMHgyZCwKLSAgMHg2ZiwgMHg2NiwgMHgxNiwgMHhjOCwgMHhlNiwgMHhjNiwgMHg1ZCwgMHgyMCwgMHgxNSwgMHhlZCwgMHhjOCwgMHg2YywKLSAgMHhkNiwgMHhmNiwgMHhkZCwgMHg5NCwgMHhjMSwgMHhjNCwgMHg4MywgMHg1ZCwgMHgyOCwgMHg1YywgMHg3OSwgMHhlZiwKLSAgMHhhNywgMHg4YiwgMHgyNiwgMHhkNCwgMHg3ZiwgMHg4MiwgMHg4ZiwgMHg1NywgMHhlOCwgMHg0MywgMHgyZSwgMHhiYiwKLSAgMHgyYiwgMHg4NywgMHhkMSwgMHhiZiwgMHgzNSwgMHhmMiwgMHhiNCwgMHg5YiwgMHgyMiwgMHg3MywgMHg3NywgMHg0YiwKLSAgMHhmZiwgMHg2NSwgMHgxNSwgMHhkOSwgMHhhMywgMHgzNSwgMHhlYywgMHg0ZSwgMHgzZSwgMHhkYiwgMHg2NSwgMHg3OCwKLSAgMHhiMywgMHg4YywgMHhkYywgMHhiMiwgMHg0YywgMHgwOSwgMHhjOCwgMHhkOSwgMHhiYSwgMHhmZiwgMHg1ZSwgMHhmMSwKLSAgMHhjYywgMHg3YiwgMHhmNywgMHhiOCwgMHg1YSwgMHhkYywgMHg3MywgMHhjNSwgMHhjZCwgMHgwMywgMHg2ZSwgMHg1NSwKLSAgMHg4YywgMHhjNCwgMHg2MSwgMHg1NywgMHgxNSwgMHhkYywgMHg0YSwgMHg2OSwgMHg1MywgMHhkZSwgMHhiMywgMHhmMywKLSAgMHg3ZCwgMHgzMywgMHg2OCwgMHhkMSwgMHg2MCwgMHhmZiwgMHg0YywgMHhlNCwgMHhjOSwgMHhlOCwgMHg3NCwgMHhkYywKLSAgMHhlNiwgMHg5YSwgMHhkMywgMHhhZCwgMHhlZSwgMHhkYywgMHhjYywgMHhlMiwgMHhjMywgMHhjOSwgMHg3NCwgMHhkZCwKLSAgMHg1YiwgMHhiMiwgMHgzZCwgMHgwMywgMHhjZiwgMHg3NywgMHhjOSwgMHg3ZCwgMHg2MSwgMHg4YywgMHhkOSwgMHgxOCwKLSAgMHhkMiwgMHg4NiwgMHg1ZSwgMHhlZiwgMHg1ZiwgMHhjNCwgMHgxZSwgMHhjOCwgMHgzZSwgMHg5ZiwgMHgxNywgMHhiZSwKLSAgMHg0NSwgMHg0ZSwgMHg1ZiwgMHgzNCwgMHg5MiwgMHg3NywgMHg0ZCwgMHgyOSwgMHg4YiwgMHgxNywgMHhiMSwgMHhiNiwKLSAgMHhjNywgMHhjZCwgMHg5ZCwgMHhhMSwgMHgxMSwgMHg3NywgMHg0NSwgMHg0MiwgMHgxZSwgMHgxMiwgMHg1NSwgMHhkMSwKLSAgMHg1NiwgMHg0YywgMHg5NCwgMHg1NCwgMHgwMCwgMHhjNiwgMHhjZCwgMHhhOCwgMHg2MSwgMHg0YiwgMHg5OCwgMHgzNywKLSAgMHg5ZiwgMHhmMCwgMHgzNywgMHgxMywgMHhjZSwgMHhkYiwgMHg2MiwgMHgyMCwgMHg2NCwgMHg4YSwgMHgxZCwgMHg4YSwKLSAgMHgxYSwgMHhhMiwgMHg5ZCwgMHhhNywgMHhlYiwgMHg0YywgMHhlYywgMHgwNCwgMHg3OSwgMHg5YywgMHg3YiwgMHhjMCwKLSAgMHg4NCwgMHhlZCwgMHhiNiwgMHgzYiwgMHhjOSwgMHg3MywgMHhmNSwgMHhjOCwgMHg3MywgMHg0MywgMHg3MCwgMHhhZSwKLSAgMHg0OCwgMHg3NiwgMHgzOSwgMHhmMywgMHg5YiwgMHhkNywgMHg3YiwgMHhjYiwgMHhhZiwgMHgwNiwgMHhiYywgMHgwNSwKLSAgMHg5NywgMHg2NiwgMHhmMSwgMHhmOCwgMHgyMywgMHg1YSwgMHgyNCwgMHg5MiwgMHhhOCwgMHgyMSwgMHgwOSwgMHhkNCwKLSAgMHg4MywgMHhlZCwgMHhlNCwgMHg5ZCwgMHg4NCwgMHgzNiwgMHg0OSwgMHhhOSwgMHhiYiwgMHg2YiwgMHgzMCwgMHg0MSwKLSAgMHgzMywgMHhjMCwgMHg1NiwgMHgzZSwgMHgzMiwgMHhjMiwgMHg5MCwgMHg4YiwgMHgwMiwgMHg0OCwgMHg0MSwgMHhhMiwKLSAgMHhjNiwgMHgwYSwgMHhiMSwgMHg0MCwgMHhmMSwgMHhiNiwgMHg0NiwgMHg4YSwgMHgxNSwgMHgwMiwgMHg2YywgMHg2NywKLSAgMHg2ZiwgMHhiNCwgMHgzNywgMHg0OCwgMHhhYywgMHhlZCwgMHhlOSwgMHhlOSwgMHhjZSwgMHg0OCwgMHg1ZSwgMHgxNCwKLSAgMHg4OCwgMHg3NiwgMHhmYSwgMHg3NCwgMHhkNywgMHhjZiwgMHhmMCwgMHg4ZSwgMHgzZSwgMHg1YywgMHg4NywgMHg1ZSwKLSAgMHg2MSwgMHhiOCwgMHg5NiwgMHg5ZCwgMHhjMSwgMHg3MiwgMHg5MywgMHhkZSwgMHg4NSwgMHg4YSwgMHhlOSwgMHhlZSwKLSAgMHhmMCwgMHhkMSwgMHhiMywgMHg2NywgMHgyZCwgMHg3OSwgMHg1ZSwgMHg3YiwgMHgxMCwgMHhmNywgMHg4ZiwgMHg3NywKLSAgMHg3NywgMHhiMSwgMHhiNiwgMHhhMCwgMHgyNiwgMHhkYSwgMHhmYywgMHg2MiwgMHhmOCwgMHgwYywgMHgyZiwgMHhiNiwKLSAgMHg1ZiwgMHhhYiwgMHgzMywgMHg3MywgMHgwNCwgMHhiMywgMHhmZSwgMHhmNywgMHg4NiwgMHhmNCwgMHg5YiwgMHhjOCwKLSAgMHhlNywgMHhlMCwgMHg0ZiwgMHhlOSwgMHg3ZCwgMHhlYiwgMHgxOSwgMHg3ZCwgMHgyZSwgMHhmMiwgMHgxNiwgMHgxZSwKLSAgMHhlNiwgMHg2ZCwgMHgyYywgMHgyZiwgMHgyZSwgMHhjOCwgMHg5MywgMHg0NSwgMHg0ZiwgMHgyYSwgMHgzMiwgMHhjZiwKLSAgMHg0ZCwgMHg1YSwgMHhjZCwgMHhjMiwgMHhlNSwgMHhlZSwgMHgwZSwgMHg4NiwgMHg3YiwgMHg3ZCwgMHhjYiwgMHg0NSwKLSAgMHgzNCwgMHgxOSwgMHgwOSwgMHg3MCwgMHg3NCwgMHg5ZSwgMHg2NCwgMHgyOCwgMHgxYSwgMHgwMywgMHg4NCwgMHgwYiwKLSAgMHg4NCwgMHhiYSwgMHgwMywgMHhlZCwgMHg5OSwgMHgxOSwgMHhlZCwgMHgzZCwgMHg3YiwgMHgzNiwgMHhhMCwgMHg5OSwKLSAgMHgzZCwgMHg3ZSwgMHhmNiwgMHhhYywgMHhiNywgMHgyMCwgMHhkYywgMHhmYiwgMHhjYywgMHg0ZCwgMHhlOSwgMHhkYywKLSAgMHg0ZiwgMHhmNCwgMHhiYSwgMHgyMywgMHg5YSwgMHg5YSwgMHhlYywgMHg5YywgMHhmOCwgMHg3NywgMHhlOCwgMHgzNywKLSAgMHg1ZiwgMHgyNCwgMHg2ZiwgMHg0ZiwgMHhjZiwgMHg4ZiwgMHgzYywgMHhjNywgMHgwYywgMHhhZSwgMHgxNywgMHg0NywKLSAgMHgwYywgMHhiZCwgMHgxNCwgMHg1MSwgMHg4NCwgMHg2MCwgMHg5NywgMHg2OCwgMHhjYywgMHgwNiwgMHhjMywgMHg5NywKLSAgMHg2YywgMHg5MiwgMHhkMCwgMHg5OCwgMHg0NCwgMHhiMSwgMHg4YSwgMHhmYSwgMHgwNCwgMHg3ZiwgMHgxNywgMHg2NiwKLSAgMHg0NCwgMHg5MCwgMHg3MSwgMHgzYywgMHhjYiwgMHgyZiwgMHhmMywgMHhjNiwgMHg4NywgMHg2ZCwgMHhkYSwgMHgzMiwKLSAgMHhhNywgMHhiZCwgMHgwZCwgMHgxNywgMHgwNywgMHgyNywgMHhiYSwgMHg0OSwgMHgzNCwgMHg2NSwgMHhiMywgMHhhNiwKLSAgMHhmMiwgMHgwZSwgMHhjZSwgMHg4NCwgMHhkZCwgMHgyNCwgMHg2YiwgMHg2YSwgMHgzMywgMHgyOCwgMHhiMCwgMHhjOCwKLSAgMHhlNiwgMHhiMywgMHg1YSwgMHgwNSwgMHgyMSwgMHgzZiwgMHgzZSwgMHhjNCwgMHg4MywgMHg3MiwgMHg1YiwgMHg2MCwKLSAgMHhhZSwgMHhkZSwgMHhjMiwgMHhmNywgMHg5ZSwgMHgwMiwgMHhkNCwgMHg5MiwgMHgzZiwgMHhkZCwgMHgxZiwgMHg0ZiwKLSAgMHg4MSwgMHgzYiwgMHgwYiwgMHg4OSwgMHgxOCwgMHg1YSwgMHg5OCwgMHg0NSwgMHhlMywgMHhmOCwgMHhhOSwgMHhiMiwKLSAgMHg5YiwgMHhiNSwgMHg3MywgMHg3OSwgMHg1YSwgMHhlZiwgMHg1YywgMHg0MSwgMHhlNywgMHgxMCwgMHhlMCwgMHgxMSwKLSAgMHhiMiwgMHgxMywgMHg3ZiwgMHg5NiwgMHgyZCwgMHgzNSwgMHhhNSwgMHhiNCwgMHg2OCwgMHg4ZiwgMHg2MywgMHg2OCwKLSAgMHhmOSwgMHgyMiwgMHhiZiwgMHg1YywgMHg1NSwgMHhmMSwgMHhmNCwgMHhjYiwgMHhiZiwgMHhiOCwgMHgzMiwgMHgyMSwKLSAgMHg2ZCwgMHhlNiwgMHg5MCwgMHhkZSwgMHhhNCwgMHg1YSwgMHg5ZSwgMHg4NCwgMHhmZSwgMHgxYiwgMHg3YSwgMHhhZiwKLSAgMHhkNSwgMHgwOCwgMHhkNiwgMHg3MiwgMHgyMCwgMHhiNCwgMHhkYSwgMHgwOCwgMHgyYywgMHg2OSwgMHhmMiwgMHg0ZSwKLSAgMHg1YywgMHgxOCwgMHg0ZCwgMHg4NiwgMHg5YywgMHgwNCwgMHhkYSwgMHg4NCwgMHgxNSwgMHg2ZSwgMHgzZCwgMHg2OSwKLSAgMHhkNSwgMHgyOCwgMHgxOSwgMHgzNiwgMHhlMiwgMHg0MiwgMHhhNCwgMHhmMywgMHgyNiwgMHg3MSwgMHg5YSwgMHhjYSwKLSAgMHgxNiwgMHg4NCwgMHgzOSwgMHg3NSwgMHg5YiwgMHg3MywgMHhlNywgMHhiYiwgMHhhNywgMHgyNywgMHhlMSwgMHg2ZCwKLSAgMHhiOSwgMHgyYSwgMHhiZCwgMHg2ZSwgMHgyZiwgMHgyMSwgMHg2OCwgMHg4MywgMHg4MCwgMHhkMiwgMHg4MCwgMHhmYiwKLSAgMHhmMCwgMHgxMSwgMHhjZCwgMHg4YywgMHgwYSwgMHgzZCwgMHgyZiwgMHg1MywgMHgzYSwgMHg0NiwgMHhmNSwgMHg5YywKLSAgMHg3MCwgMHgzNCwgMHg5ZCwgMHhiNSwgMHgwMywgMHg0NiwgMHgxYywgMHhkMywgMHhiMywgMHgwZCwgMHhiMiwgMHgzYSwKLSAgMHhlOCwgMHhhOCwgMHhlNSwgMHg5NCwgMHgwOSwgMHhjYiwgMHhkYiwgMHg4MSwgMHg4YSwgMHg4MCwgMHg0OCwgMHgzZCwKLSAgMHgzNywgMHgwOCwgMHhmMywgMHgyOSwgMHhmMywgMHgxMSwgMHg0NiwgMHhjOCwgMHhkOCwgMHgxZSwgMHgyNSwgMHhhMSwKLSAgMHhkOSwgMHg0YiwgMHgwNCwgMHhjZiwgMHhhNywgMHg2NSwgMHgzYiwgMHg5MCwgMHhhMCwgMHg3YiwgMHgyZCwgMHgwOSwKLSAgMHg0OSwgMHg5YSwgMHhiMCwgMHg4YSwgMHhlMywgMHhmMSwgMHhmMSwgMHg3ZiwgMHgzZiwgMHhmYSwgMHg5NCwgMHg1MSwKLSAgMHhhNywgMHgyYSwgMHhiZCwgMHhiMSwgMHg4NSwgMHg4MywgMHhkZiwgMHgzMywgMHg2MCwgMHhhNSwgMHg0NCwgMHg4MywKLSAgMHgyYywgMHg1MiwgMHg0NSwgMHgzYSwgMHgxNywgMHgyMywgMHg5ZSwgMHgzYSwgMHhhNCwgMHg0MiwgMHg3YSwgMHgyMCwKLSAgMHhhZSwgMHgyOCwgMHhjZCwgMHhhOSwgMHgwZCwgMHg2MSwgMHg4NSwgMHhiNCwgMHg0ZCwgMHg1ZSwgMHgzMywgMHg4MiwKLSAgMHg1NywgMHg1MCwgMHhhNywgMHgyMSwgMHg5MiwgMHhkMSwgMHg1MSwgMHhmMiwgMHhjNSwgMHg0ZSwgMHg0MCwgMHgzZSwKLSAgMHhjOCwgMHgwNSwgMHg1YywgMHg4OSwgMHhiMCwgMHhlYywgMHhjOSwgMHhkYiwgMHhjYiwgMHg4OCwgMHg1MiwgMHg2MSwKLSAgMHhiOCwgMHgwMCwgMHg5MCwgMHg4OCwgMHgzNCwgMHgyOSwgMHgzMywgMHhkNywgMHg3YiwgMHgzYSwgMHg0YywgMHhmYSwKLSAgMHg5NSwgMHhmNiwgMHgxOSwgMHgzNywgMHhjYSwgMHhhMCwgMHgwMCwgMHg1NSwgMHg5NSwgMHhiYywgMHg3OCwgMHhmZiwKLSAgMHhlZSwgMHhhNCwgMHhhNywgMHg1YywgMHg3MiwgMHg4YywgMHgzMywgMHhhMCwgMHhjZCwgMHhkYSwgMHg3OCwgMHg5NywKLSAgMHgwMSwgMHhjZCwgMHhhYywgMHg0YSwgMHhjZSwgMHhkMiwgMHhjYiwgMHg2YywgMHhjMywgMHgwNywgMHg5MCwgMHg1MywKLSAgMHg1NSwgMHgxMSwgMHhjYiwgMHgxNywgMHhmZiwgMHg0MywgMHhjYywgMHg5ZCwgMHhlMiwgMHhiNywgMHg0MywgMHgyMSwKLSAgMHgyNiwgMHhlZSwgMHhjMiwgMHhjMiwgMHg3ZSwgMHg4ZCwgMHhlMywgMHhjNSwgMHgzYywgMHg5NSwgMHhiZCwgMHg1YiwKLSAgMHg1NSwgMHgxNCwgMHhkMCwgMHhjNywgMHhjZSwgMHg0NywgMHgxYSwgMHg4MywgMHhmMSwgMHhlYiwgMHg2ZCwgMHhkNCwKLSAgMHg0ZiwgMHg5NywgMHg2MSwgMHg0YSwgMHg5MSwgMHgyMCwgMHhmMiwgMHg5MywgMHgyNSwgMHgxYiwgMHg3ZiwgMHgyMiwKLSAgMHhmNywgMHhmYiwgMHg4NiwgMHg4NywgMHg3NCwgMHgzOSwgMHhjYywgMHhjMiwgMHgyMCwgMHg5YiwgMHg2ZSwgMHgwNSwKLSAgMHg2MywgMHgxNCwgMHg1YSwgMHg1NywgMHgxNCwgMHhiYiwgMHhmMiwgMHg1YiwgMHhlZSwgMHhmYiwgMHg1YSwgMHgyZSwKLSAgMHhkOCwgMHhiMiwgMHhjYSwgMHgwOCwgMHg4ZiwgMHhiNywgMHg4ZSwgMHhmNCwgMHgyMiwgMHhkMiwgMHhiNCwgMHg2MywKLSAgMHg4NiwgMHg2MCwgMHgyNSwgMHhmYiwgMHhlZiwgMHg0NCwgMHhlNiwgMHhmNywgMHg1YywgMHgyMiwgMHgyZCwgMHhhYywKLSAgMHgwNiwgMHhkOSwgMHhhOSwgMHg2OSwgMHg4MywgMHgyMywgMHg0YywgMHgzYywgMHhmMCwgMHhmNSwgMHg2MiwgMHhiMSwKLSAgMHhlOSwgMHg5YywgMHg3YSwgMHgxNSwgMHhiMSwgMHhmNywgMHg0YiwgMHg0MiwgMHhlZiwgMHhiMywgMHg5MiwgMHg3YSwKLSAgMHhkYiwgMHhkMCwgMHg3YywgMHhkMiwgMHhjMiwgMHhmYSwgMHg5MywgMHg1YiwgMHgyNywgMHhmYiwgMHhjOSwgMHhhMSwKLSAgMHgwZSwgMHg1ZCwgMHgwMCwgMHhlOCwgMHg1MCwgMHg5YiwgMHg3NSwgMHgwZCwgMHgwZCwgMHg3NSwgMHgxNCwgMHg1MiwKLSAgMHgwOSwgMHhlZiwgMHgxZCwgMHhhYiwgMHg0NywgMHg3YiwgMHhmZiwgMHhlMSwgMHgzNSwgMHg3NCwgMHhmMSwgMHg5YSwKLSAgMHhiMiwgMHhmNCwgMHgyMCwgMHhlNiwgMHg3YSwgMHhkMywgMHg2ZCwgMHg1MCwgMHhhNSwgMHgwMiwgMHg4MiwgMHgwOSwKLSAgMHg5YSwgMHhjMiwgMHhiOCwgMHg4MiwgMHg1OSwgMHg5MSwgMHg5NiwgMHg1MSwgMHg3NywgMHhmZSwgMHhkMCwgMHgyOSwKLSAgMHg0ZCwgMHgyZiwgMHhiOSwgMHg3MiwgMHg3MywgMHhmOCwgMHgyYSwgMHgzNywgMHgzMiwgMHhhNCwgMHg2NiwgMHgwMCwKLSAgMHgyMiwgMHgyOCwgMHhiOSwgMHg1YywgMHg3YiwgMHhhOCwgMHhkNywgMHgxMCwgMHhiZSwgMHg5MSwgMHgyYywgMHg0OCwKLSAgMHg1NywgMHhlMCwgMHgyOCwgMHgwOSwgMHgxMiwgMHg5ZiwgMHhlZCwgMHgzYiwgMHgzNiwgMHg2NCwgMHg2MywgMHgyOCwKLSAgMHhlMiwgMHg1ZSwgMHg2NywgMHhiMSwgMHhhNywgMHgzMCwgMHhhNCwgMHhjZSwgMHg1ZiwgMHg4MSwgMHg2ZCwgMHhkMywKLSAgMHgxZSwgMHgwNiwgMHg3YywgMHgzYiwgMHg4YywgMHg0NCwgMHg4OCwgMHhlYywgMHg4ZSwgMHhjMiwgMHgwMiwgMHgyMSwKLSAgMHg2YiwgMHhjNiwgMHhlMSwgMHhmNSwgMHg0OCwgMHhjMywgMHhhYywgMHhjMCwgMHhkNCwgMHhiNCwgMHg3ZCwgMHhlOCwKLSAgMHg1OSwgMHgyYSwgMHgwNSwgMHgyNCwgMHg0NiwgMHg3OSwgMHgyOSwgMHhiNiwgMHg0MSwgMHgxMSwgMHhjNywgMHg0ZSwKLSAgMHgxOCwgMHg4NCwgMHg4ZiwgMHg0YiwgMHg1MywgMHhhNywgMHg2NiwgMHg2MCwgMHgxYiwgMHgzNywgMHhkNywgMHgyZSwKLSAgMHhkYiwgMHhkMiwgMHg1YiwgMHgyOSwgMHgyZSwgMHg3MCwgMHhlZiwgMHg1YSwgMHhhYiwgMHg0MiwgMHhkMiwgMHhhOCwKLSAgMHg0ZiwgMHg3OCwgMHgxNCwgMHgxYiwgMHgyOCwgMHg0YSwgMHg0MSwgMHg3OCwgMHg4OSwgMHg4NSwgMHhkMCwgMHg5MSwKLSAgMHhiZiwgMHg2MywgMHg5ZSwgMHhmMCwgMHg2NCwgMHgyMCwgMHhlNywgMHg2YiwgMHgyNCwgMHg3ZiwgMHgxOCwgMHhiYSwKLSAgMHhjZSwgMHgxYiwgMHg1YiwgMHg3NywgMHg5OSwgMHhkMSwgMHhhZiwgMHgyZCwgMHhhOCwgMHg5NiwgMHgxYSwgMHg1MiwKLSAgMHg5MSwgMHhlYSwgMHhjZiwgMHg4NCwgMHg3YiwgMHhiZCwgMHhkNiwgMHhhZCwgMHhjMiwgMHgxNCwgMHg5OCwgMHgyMCwKLSAgMHg1ZSwgMHg2NCwgMHg5MSwgMHhiNywgMHg1YywgMHg3YSwgMHhlOCwgMHhhYywgMHg4YSwgMHhlYywgMHg5NiwgMHgzMCwKLSAgMHhjMCwgMHhmYiwgMHg4NywgMHgwYiwgMHg5NSwgMHhlYywgMHhlZiwgMHgwZiwgMHhkZiwgMHhiZCwgMHgzZCwgMHg3ZSwKLSAgMHhmYiwgMHhmNSwgMHhmMywgMHhlNCwgMHhlOCwgMHgzNiwgMHhhYiwgMHhhNiwgMHhkNCwgMHg1NywgMHhmYiwgMHhlNywKLSAgMHhkNSwgMHgyYywgMHg5ZiwgMHg4MiwgMHg0ZCwgMHg0OCwgMHhiYiwgMHg2NywgMHgzZiwgMHhlNCwgMHg2ZCwgMHhhYywKLSAgMHg4MCwgMHg0YywgMHhmYywgMHhhYiwgMHgyNCwgMHg3MCwgMHg4MywgMHg0MiwgMHgxOCwgMHhjOSwgMHhlNSwgMHgyNSwKLSAgMHhlMCwgMHgwOCwgMHg2MywgMHg0NSwgMHg5NSwgMHg5NywgMHgyYiwgMHg4ZiwgMHg3YywgMHhhNiwgMHhkYywgMHhhMCwKLSAgMHgxMiwgMHhiMSwgMHgwMCwgMHhjNCwgMHg0OCwgMHhhZiwgMHg2NCwgMHhhZiwgMHhjOSwgMHhlOSwgMHg5YSwgMHhiYywKLSAgMHgzYSwgMHgzOSwgMHhlOSwgMHhlOSwgMHhmNiwgMHhjZCwgMHhkMywgMHhlNywgMHg1MiwgMHg1ZiwgMHgwYywgMHg2MSwKLSAgMHhmMywgMHg0ZCwgMHgyOSwgMHg5NiwgMHg2NywgMHhjNCwgMHgzZiwgMHhmMSwgMHg5YSwgMHgxNiwgMHhjMywgMHgwMywKLSAgMHgxOCwgMHhkOCwgMHhmNywgMHg2MSwgMHgyNiwgMHgyNywgMHhkMiwgMHg4YywgMHg5MSwgMHgxYywgMHg4OCwgMHgxMywKLSAgMHhjZSwgMHhhYiwgMHgxOSwgMHg2YywgMHgyMSwgMHhjMywgMHgyMSwgMHhjYiwgMHg4YiwgMHg4NiwgMHhmNCwgMHhhMywKLSAgMHg5NiwgMHgyNCwgMHg2ZCwgMHg3NywgMHg2YiwgMHg1YSwgMHg5NywgMHgxNCwgMHhjNiwgMHgzMSwgMHhhMywgMHgzNiwKLSAgMHg0ZSwgMHg5NCwgMHg4NCwgMHgyNCwgMHg5MSwgMHhiMywgMHg2YSwgMHgwOCwgMHg5MiwgMHgxNSwgMHg0MywgMHhiNCwKLSAgMHhmOCwgMHg0MiwgMHhhYSwgMHg1OSwgMHg5MCwgMHg1MCwgMHg5YiwgMHhkYSwgMHgzZSwgMHhmNSwgMHgzNSwgMHg3MSwKLSAgMHhjYiwgMHg5MCwgMHg1ZCwgMHhkYywgMHg2NCwgMHg5NSwgMHg5OCwgMHg5ZSwgMHhiNiwgMHg4OCwgMHhkOCwgMHgzMCwKLSAgMHhiYiwgMHg1MSwgMHgzMiwgMHgyZSwgMHhjZCwgMHhmMywgMHg5MSwgMHhhYSwgMHgwNSwgMHhlZCwgMHg5ZiwgMHhlOSwKLSAgMHg3YSwgMHhlNCwgMHhhNiwgMHg4ZCwgMHhhNCwgMHhkMCwgMHhkYSwgMHhiYywgMHgyYSwgMHhmNCwgMHgwOSwgMHg0MywKLSAgMHhjYywgMHhhZCwgMHhiZCwgMHhkZSwgMHg0OCwgMHhmNywgMHg2ZSwgMHhhMiwgMHhmZiwgMHg0OSwgMHg2NiwgMHgxNSwKLSAgMHg4YSwgMHgzYiwgMHgwZCwgMHhlZCwgMHgxMCwgMHg5MSwgMHg2YywgMHgwYywgMHgwZCwgMHgzYiwgMHhkZCwgMHg0MCwKLSAgMHgwNywgMHg0NCwgMHhlYSwgMHgyOSwgMHhlZSwgMHg4ZCwgMHg3NCwgMHg0ZiwgMHg2NywgMHg1YywgMHgzZiwgMHg0ZCwKLSAgMHhiZCwgMHhiYiwgMHhlMCwgMHg3YiwgMHgzYSwgMHgwZCwgMHhhYSwgMHhkNSwgMHhlOSwgMHgzOSwgMHg0ZSwgMHhhNSwKLSAgMHg4MSwgMHg5YiwgMHg4ZCwgMHg5NSwgMHgzMiwgMHg0ZiwgMHhhMiwgMHhhZSwgMHgzNiwgMHg1OSwgMHgxMywgMHgwNCwKLSAgMHhjMCwgMHg0ZiwgMHg2ZCwgMHg0MywgMHg0ZiwgMHgzYywgMHhlNiwgMHgxNywgMHhjYSwgMHhmYiwgMHhhZiwgMHg4YiwKLSAgMHhiYywgMHgxOSwgMHgzOCwgMHhlZiwgMHgwMiwgMHg2OSwgMHgwNSwgMHg0MSwgMHhiOSwgMHhiNiwgMHhiMSwgMHhmMSwKLSAgMHg0NiwgMHhkYiwgMHhiMSwgMHhiYywgMHgxYSwgMHhlMSwgMHg4YiwgMHgwMiwgMHhlNCwgMHg5YSwgMHg1ZSwgMHhiYiwKLSAgMHg3YywgMHhhZiwgMHg1ZSwgMHhjZSwgMHgzNywgMHhkMiwgMHhmYywgMHhmOCwgMHhhZSwgMHg4YywgMHgwNiwgMHhlNCwKLSAgMHg4MSwgMHhlNywgMHgwZiwgMHhlNywgMHhlMSwgMHhjMCwgMHg0YywgMHhmYywgMHg2MiwgMHgxNiwgMHgyZiwgMHg1YSwKLSAgMHhlOSwgMHg3MCwgMHgwOSwgMHgyMiwgMHhjZCwgMHgxMSwgMHg1ZCwgMHhjMSwgMHg1NywgMHgzZiwgMHgxMywgMHg5NiwKLSAgMHhhOCwgMHg0ZCwgMHg1ZSwgMHg1YywgMHg5NywgMHgxZiwgMHg1OSwgMHhkZSwgMHgyMywgMHhkMCwgMHgxNSwgMHg0ZCwKLSAgMHg1MSwgMHhjOSwgMHg3YiwgMHhjYiwgMHg1YSwgMHhkOCwgMHgyZiwgMHhjNSwgMHhiYiwgMHgyYSwgMHg3MywgMHg2NywKLSAgMHg5MSwgMHhlNSwgMHg1NSwgMHgxMiwgMHg5OCwgMHhjNSwgMHg0OCwgMHgzMCwgMHhjNiwgMHg5NiwgMHgwMCwgMHg1YSwKLSAgMHhmMSwgMHhkNCwgMHhjZCwgMHhmNywgMHhkNywgMHhiYiwgMHgzNCwgMHhkMCwgMHhmNiwgMHhmMCwgMHg0OSwgMHgzNiwKLSAgMHhhZiwgMHhiMywgMHg4MSwgMHg1NywgMHgwZCwgMHhhOCwgMHhjMiwgMHg0NiwgMHhhNSwgMHgwZCwgMHg5MiwgMHgzZiwKLSAgMHg1OSwgMHg5YywgMHhhYywgMHg5MywgMHgyNCwgMHhhMywgMHg2ZSwgMHhmZiwgMHhkOSwgMHg4ZSwgMHgxMSwgMHg4YiwKLSAgMHhlMCwgMHgyNiwgMHg0NywgMHg5ZCwgMHhhNiwgMHg1NywgMHg2NSwgMHgxOSwgMHgxNSwgMHhkYiwgMHg0ZSwgMHg4NiwKLSAgMHg3MCwgMHg4MywgMHgzNCwgMHgwMiwgMHhjNCwgMHhlOCwgMHhkMSwgMHgxZiwgMHhkYSwgMHhkZCwgMHg0NiwgMHgyNSwKLSAgMHg5OSwgMHgzYywgMHg2YywgMHg2ZiwgMHg5NiwgMHg2YiwgMHhmMSwgMHg1OCwgMHg3YiwgMHg5NywgMHgzYiwgMHhkMiwKLSAgMHg4ZCwgMHgyNywgMHgxNCwgMHhjOCwgMHhlNiwgMHg1OCwgMHhmMiwgMHgwMiwgMHhmZiwgMHhhZSwgMHgyMywgMHg4ZiwKLSAgMHg5YiwgMHgxNiwgMHg3YSwgMHg4MiwgMHhiZiwgMHgyOSwgMHg1MSwgMHg2MSwgMHhjNywgMHgwOSwgMHg2OCwgMHgyZSwKLSAgMHgyZCwgMHgxMSwgMHg3NCwgMHgwMywgMHhhMywgMHhhOSwgMHg2OCwgMHgwNywgMHgzNCwgMHgzMCwgMHhjZiwgMHhiYywKLSAgMHgwMSwgMHgwMywgMHhmOSwgMHhjMywgMHhmZSwgMHg2ZSwgMHgxZiwgMHg5MywgMHg2NywgMHgzNSwgMHg1NiwgMHhhYiwKLSAgMHg1YywgMHhlOSwgMHgzYSwgMHg1YSwgMHhlMywgMHg5YywgMHgwNSwgMHhhMSwgMHgyYiwgMHgwYywgMHgyMCwgMHgwMSwKLSAgMHhiMiwgMHg1YSwgMHgyNiwgMHg2OCwgMHg3ZCwgMHg0NSwgMHhjZCwgMHgwOSwgMHg3YiwgMHhmNiwgMHgzZiwgMHg2YSwKLSAgMHgxNSwgMHhmZiwgMHhkYSwgMHg5NiwgMHg5NCwgMHg3ZCwgMHgzZCwgMHgyOSwgMHgxZCwgMHhmZiwgMHg3YSwgMHhlNywKLSAgMHg5ZCwgMHgzMSwgMHg4ZCwgMHgxNCwgMHgyZCwgMHhhZiwgMHg2NSwgMHg1ZSwgMHhlMiwgMHhiOSwgMHg0YSwgMHgzYywKLSAgMHg5ZCwgMHhkZCwgMHhlOSwgMHgwZCwgMHhiMCwgMHhlYywgMHhjMSwgMHhlYywgMHgzOCwgMHhjNywgMHgyMCwgMHgwZiwKLSAgMHg1OSwgMHhiMiwgMHhiMSwgMHg2OSwgMHgxNywgMHhjYiwgMHgwOCwgMHhjMywgMHhiMiwgMHg5NywgMHg0MCwgMHhiMywKLSAgMHg1NCwgMHg1MiwgMHg4NywgMHg3NiwgMHg5OSwgMHgwYSwgMHg3YiwgMHgzNCwgMHg5YywgMHgzMywgMHg0NCwgMHg1ZiwKLSAgMHgxMSwgMHg0ZSwgMHhjYSwgMHhjNiwgMHg3OCwgMHgyYSwgMHhkOSwgMHg5YSwgMHhkOCwgMHgxMSwgMHhmYSwgMHg1MiwKLSAgMHg1YiwgMHgzMCwgMHgyMiwgMHhlYiwgMHg2YywgMHgxOCwgMHhmNSwgMHhmNiwgMHgyYiwgMHg2NiwgMHg0ZCwgMHgwOCwKLSAgMHg3ZSwgMHgwNiwgMHg0YiwgMHhjYSwgMHg4MSwgMHhlMSwgMHg2ZiwgMHhmMCwgMHhlYiwgMHgxYiwgMHhjOSwgMHgxNiwKLSAgMHg3MSwgMHhkNSwgMHg2ZCwgMHhkNSwgMHg1ZSwgMHhjMywgMHhmYSwgMHg2NywgMHg1NywgMHg1MywgMHgwNywgMHhmNiwKLSAgMHg5YiwgMHhkNiwgMHg0MSwgMHhlNiwgMHgyYywgMHhiNCwgMHhkNywgMHhjNCwgMHgxOCwgMHg3OSwgMHg5NSwgMHg1MSwKLSAgMHgwMCwgMHhhOCwgMHhlNSwgMHg5YiwgMHg1NCwgMHgwZSwgMHg1ZSwgMHhhYywgMHhlNiwgMHgzMSwgMHgzMywgMHgwNywKLSAgMHgzNywgMHhkYiwgMHhmNiwgMHhkNCwgMHhjZCwgMHhlYiwgMHg3YSwgMHhhNSwgMHhiZCwgMHgwNCwgMHgxYywgMHhjZSwKLSAgMHg4YywgMHg4MCwgMHgwZSwgMHhjZSwgMHhjZCwgMHg4YywgMHg1MCwgMHhkMCwgMHgzMiwgMHhlNywgMHgxNiwgMHg2NywKLSAgMHg1MSwgMHhjYSwgMHg4NSwgMHg2YiwgMHg5OCwgMHhkYiwgMHhkMSwgMHg4YiwgMHg4MiwgMHhjOSwgMHg1NiwgMHgxNCwKLSAgMHhjZiwgMHg0ZCwgMHhiYiwgMHhkMCwgMHhkOSwgMHgzNiwgMHg2YSwgMHhiNCwgMHgwNSwgMHg4MywgMHgwNCwgMHhjMiwKLSAgMHhhYSwgMHgzMywgMHhkYywgMHhjNiwgMHhlOSwgMHhkOSwgMHhmOSwgMHhmMSwgMHhlOSwgMHhkYiwgMHg3MSwgMHhmMiwKLSAgMHg2ZiwgMHgxYiwgMHg2YiwgMHhjYiwgMHhiYiwgMHhkYSwgMHhjMCwgMHhjYSwgMHgzZiwgMHgwYywgMHhkYywgMHg5OSwKLSAgMHgyNCwgMHgyZiwgMHhjNCwgMHhjZiwgMHhkMCwgMHg2NywgMHgxYiwgMHg3YiwgMHgxYSwgMHhmYywgMHhkNCwgMHg0OCwKLSAgMHg2ZiwgMHhjMywgMHg1ZSwgMHhmNSwgMHg0ZCwgMHhjMSwgMHg3NiwgMHg5MywgMHhjMywgMHhlYSwgMHgyMCwgMHgxOSwKLSAgMHgwNCwgMHhkYSwgMHhiMiwgMHgwZiwgMHhmYiwgMHhlMCwgMHhkYiwgMHhkMCwgMHhjYywgMHhlYiwgMHg5ZCwgMHhjOSwKLSAgMHhkMiwgMHgxOSwgMHhiZCwgMHg4NywgMHgwMywgMHg2YiwgMHhiNywgMHg2NiwgMHhjZiwgMHg3ZSwgMHhjMSwgMHhkZSwKLSAgMHhjOSwgMHg1YiwgMHhkOCwgMHhlNiwgMHgxYiwgMHhkMiwgMHg0ZCwgMHhmMSwgMHhlMCwgMHgxNiwgMHg3MywgMHg0ZCwKLSAgMHg1MSwgMHhiNCwgMHhlYSwgMHgzMCwgMHg0MywgMHhmMCwgMHhlYiwgMHhhMywgMHhmMywgMHg2ZCwgMHgyOSwgMHg3NCwKLSAgMHhiNSwgMHhmMywgMHg4MywgMHhhNywgMHg0YiwgMHhkNCwgMHg5ZSwgMHhkNCwgMHg2YSwgMHg2NiwgMHg1YSwgMHhkYSwKLSAgMHhjYSwgMHg0MCwgMHg2ZSwgMHg0NiwgMHg3YiwgMHg5ZSwgMHhhNywgMHg0NSwgMHhiNCwgMHg4NCwgMHg4ZCwgMHgzNCwKLSAgMHhkYSwgMHg5NywgMHg2NiwgMHgzYiwgMHg4OCwgMHgwZiwgMHgyYiwgMHg0NywgMHg1NiwgMHhlZiwgMHg4OSwgMHhkNywKLSAgMHgzZiwgMHg4NywgMHg3MSwgMHg5OSwgMHhjZSwgMHhkZSwgMHg5ZiwgMHg2MywgMHhjMCwgMHg1NywgMHg0NywgMHgyNywKLSAgMHg0NywgMHhlNywgMHg0NywgMHg1ZCwgMHhjYiwgMHg3ZCwgMHhjMiwgMHg2MCwgMHg5NiwgMHgyOCwgMHg3NSwgMHg2OSwKLSAgMHhiMiwgMHhlOSwgMHg1NSwgMHg1MSwgMHhjZSwgMHhjYiwgMHhjYiwgMHg1YywgMHg1YSwgMHhmMSwgMHgyNiwgMHhkZiwKLSAgMHg2NywgMHg5MywgMHg1NywgMHg4NywgMHhkZiwgMHg5MSwgMHgzZSwgMHg0MSwgMHgxZSwgMHhhNywgMHhiMywgMHg3NywKLSAgMHhhNywgMHg2NywgMHhhZiwgMHg4ZiwgMHhkZiwgMHhiZSwgMHgxYSwgMHgyNCwgMHgyZiwgMHg0ZiwgMHhjZiwgMHhmZSwKLSAgMHgzMiwgMHg0OCwgMHhkZSwgMHg5YywgMHg3ZSwgMHg3NywgMHgxNCwgMHg0OSwgMHg3MSwgMHgyNiwgMHg4NCwgMHhkYiwKLSAgMHg4MCwgMHg2MiwgMHg2YywgMHhhYiwgMHgzZSwgMHgxNiwgMHg2NywgMHg2YywgMHg3YSwgMHgyNywgMHgwNSwgMHhjNSwKLSAgMHgyYywgMHhkYSwgMHg2MiwgMHg4NCwgMHg2YSwgMHgwMCwgMHhlYSwgMHg1MiwgMHhmOCwgMHhhZCwgMHhkOSwgMHhiYiwKLSAgMHg0MSwgMHhmMiwgMHhjZCwgMHhkMSwgMHhlMSwgMHhhYiwgMHg0MSwgMHgwMCwgMHg2MCwgMHgzZSwgMHhlNiwgMHg1NSwKLSAgMHhkMSwgMHhlYSwgMHhlYywgMHg5MiwgMHgwMSwgMHg3YiwgMHhjZCwgMHhkNiwgMHgwNywgMHg3NCwgMHgwNCwgMHgwZSwKLSAgMHg3MiwgMHhmMSwgMHg5NSwgMHgzNSwgMHgwNCwgMHg4YiwgMHgyMiwgMHhmZCwgMHg1OSwgMHg1ZiwgMHhlNiwgMHg4NCwKLSAgMHgyMCwgMHhmMSwgMHhmNywgMHg3NiwgMHhjYSwgMHg2ZSwgMHg5NSwgMHg1ZCwgMHg0MCwgMHg1ZCwgMHhmMywgMHgxNSwKLSAgMHg2ZCwgMHg4MSwgMHg2YiwgMHg0MiwgMHg2NiwgMHhiZCwgMHhkNiwgMHg2MSwgMHhkOSwgMHhlMywgMHhlZSwgMHg0MSwKLSAgMHgwYywgMHgxYSwgMHhiNCwgMHg5MCwgMHgwMiwgMHhjMCwgMHg4ZSwgMHhkOCwgMHhmNSwgMHg5OCwgMHg0YSwgMHg0NywKLSAgMHg0MywgMHhmNCwgMHgyYywgMHgzMiwgMHg2NiwgMHgxMiwgMHg2OSwgMHhkNSwgMHgxNywgMHgwZSwgMHgyNSwgMHgzNiwKLSAgMHhhZSwgMHg2MSwgMHhhYiwgMHg4YSwgMHg1MCwgMHgyYSwgMHg5OCwgMHhiYSwgMHgwMCwgMHgzNywgMHhkMSwgMHhmNiwKLSAgMHhlOSwgMHgxNiwgMHhkOSwgMHhhNiwgMHg5ZSwgMHgzZiwgMHhmMCwgMHg4ZiwgMHg1NSwgMHhjNiwgMHgwNiwgMHg5NSwKLSAgMHhkNiwgMHgxNywgMHg4NiwgMHgzMCwgMHgzMywgMHg0ZSwgMHg5OSwgMHhjMiwgMHgxOSwgMHgzOSwgMHhiNywgMHg0MCwKLSAgMHgzMiwgMHgzYywgMHg1NiwgMHhhNywgMHhjNCwgMHgzYSwgMHgwNSwgMHg0YiwgMHgyZSwgMHg4YiwgMHgzOCwgMHg2NiwKLSAgMHgwMCwgMHgxNCwgMHhhNSwgMHgwZSwgMHhhYiwgMHgzNiwgMHg4ZiwgMHhkMCwgMHg0YiwgMHhhOCwgMHhmNywgMHhlZSwKLSAgMHgyMiwgMHhlMCwgMHg2YiwgMHhhNCwgMHhlZiwgMHhkYiwgMHgzMywgMHgxZSwgMHgwOCwgMHhkMCwgMHg4NSwgMHhhZCwKLSAgMHg5ZiwgMHhmMCwgMHhmNywgMHgwNSwgMHhkOSwgMHhiNywgMHg2ZCwgMHg3ZiwgMHg5NiwgMHg5MSwgMHhiMCwgMHg4MSwKLSAgMHg3MCwgMHhhMSwgMHhjNywgMHgwYywgMHgyNywgMHgyOSwgMHhjNCwgMHgyMSwgMHg0YSwgMHg4MSwgMHhiNywgMHgyMSwKLSAgMHg1YiwgMHhkMiwgMHg3ZSwgMHhjZSwgMHhhZiwgMHhiMiwgMHg0ZiwgMHg1NSwgMHg0ZCwgMHg3NSwgMHgwYSwgMHg0MSwKLSAgMHg4OCwgMHgwYSwgMHgwYiwgMHhmNSwgMHg1YiwgMHg0YywgMHhiYSwgMHg4MywgMHgzZiwgMHhkOCwgMHhiZCwgMHg3NSwKLSAgMHgzZSwgMHg3NiwgMHhkMiwgMHgyNSwgMHhlYSwgMHg2NCwgMHgyOCwgMHg3OCwgMHhkZiwgMHgyOCwgMHhkZSwgMHgwYiwKLSAgMHhiNiwgMHg2ZSwgMHhlYiwgMHg3NSwgMHgwZiwgMHg2MywgMHhmNCwgMHhiZCwgMHhiNiwgMHhiNiwgMHhhMiwgMHhkZiwKLSAgMHg2NiwgMHg5YiwgMHg5ZiwgMHgxYywgMHg5YiwgMHhlYiwgMHgxMCwgMHg4MSwgMHhjNiwgMHhlMSwgMHhhZSwgMHhiYiwKLSAgMHg5YywgMHg2NiwgMHg5MCwgMHhhYiwgMHgyOCwgMHhhMSwgMHhiMSwgMHhjMiwgMHgwZiwgMHg5ZiwgMHg5ZCwgMHg5ZSwKLSAgMHgxZCwgMHg0NCwgMHhiZiwgMHg0YywgMHhiZiwgMHhiOCwgMHhlZiwgMHhkMywgMHhjMSwgMHg5OSwgMHhiZCwgMHgzYiwKLSAgMHgzYSwgMHg3ZiwgMHgzNywgMHg0YSwgMHhiNiwgMHg3YywgMHhjYywgMHhkNywgMHgyNywgMHhhMywgMHhkZCwgMHgzMCwKLSAgMHg2OCwgMHg3MywgMHhmYywgMHhlNiwgMHg5MCwgMHhlNCwgMHhiMywgMHhmYiwgMHhhYywgMHhmYiwgMHgyZSwgMHhmZCwKLSAgMHhlYSwgMHg5ZSwgMHhlZiwgMHg4NiwgMHg3OSwgMHhjNCwgMHgxZSwgMHhkMiwgMHhkMywgMHg2ZSwgMHhlYywgMHg3YiwKLSAgMHhlMywgMHgzNywgMHgzZCwgMHhmYiwgMHg0YiwgMHhiZiwgMHg1OCwgMHhmMywgMHhiNSwgMHg2ZiwgMHg4ZSwgMHg0ZSwKLSAgMHhjZSwgMHhjMiwgMHg1NSwgMHg3ZSwgMHhmNywgMHhlZSwgMHhmNSwgMHg1ZiwgMHhkYSwgMHhhYiwgMHgzYywgMHg3OCwKLSAgMHgxNCwgMHhmOSwgMHhlYSwgMHg2ZiwgMHhlOSwgMHg1MCwgMHhjZiwgMHhlYSwgMHg3MiwgMHg2ZSwgMHhmNCwgMHgxNSwKLSAgMHg1NCwgMHg3MSwgMHhhMCwgMHg4OCwgMHhlMywgMHhiOSwgMHgxMSwgMHgwMCwgMHg5NCwgMHg2YiwgMHhmZSwgMHhkNywKLSAgMHg4MSwgMHhmYywgMHhlNSwgMHhhNywgMHhkMSwgMHg2OCwgMHhmNCwgMHhlNywgMHgxMCwgMHgxNSwgMHgxZCwgMHgzZSwKLSAgMHgxYSwgMHhiNywgMHg1ZSwgMHg3OSwgMHhiOCwgMHg2YiwgMHg4MiwgMHhhMywgMHg2YSwgMHgwNiwgMHg2NSwgMHg0MiwKLSAgMHgxNCwgMHhiOSwgMHg1OCwgMHhhNiwgMHg3OSwgMHg0NSwgMHgyNSwgMHg4ZiwgMHgzMSwgMHg4MSwgMHg0YiwgMHgyYiwKLSAgMHg3MiwgMHg4NSwgMHg1ZSwgMHg1NiwgMHg5YiwgMHgxMywgMHg0MCwgMHgzMCwgMHhiZSwgMHhhYywgMHg1YiwgMHhmNSwKLSAgMHhiNiwgMHg1NCwgMHg1NSwgMHg3YiwgMHhmNSwgMHgyNCwgMHhlOSwgMHgyYywgMHg3MCwgMHg4NCwgMHg3MCwgMHg3MywKLSAgMHgxNCwgMHg3YywgMHhiNiwgMHgyMiwgMHgwNywgMHgyZCwgMHgyYiwgMHg5YSwgMHg0ZSwgMHhkMCwgMHgxNiwgMHgyYSwKLSAgMHgzYywgMHg2NCwgMHhmOSwgMHgzMywgMHgzYiwgMHhmZCwgMHg5OCwgMHhmNywgMHg4MiwgMHhlYiwgMHgyNCwgMHg1ZiwKLSAgMHg0YSwgMHg0NCwgMHgxZCwgMHhmNiwgMHgxNywgMHgyNCwgMHgwYSwgMHhmYSwgMHhjYywgMHg2NiwgMHhjZCwgMHg3NCwKLSAgMHg4NywgMHgxNiwgMHg1OSwgMHgwNywgMHhiZCwgMHg5MCwgMHg1OCwgMHg4OSwgMHgwYiwgMHg5ZCwgMHg0OCwgMHg4MiwKLSAgMHhiNSwgMHhlMiwgMHg5NSwgMHhkMCwgMHg3MiwgMHg3NiwgMHg4YiwgMHg1NywgMHg5MywgMHhlMCwgMHhhYSwgMHg3OCwKLSAgMHgzZCwgMHg1ZCwgMHg1ZCwgMHg5ZCwgMHgyMywgMHhiMSwgMHgxZSwgMHgyZSwgMHhiYSwgMHhkZCwgMHhiNiwgMHg3MiwKLSAgMHgwNCwgMHhlOCwgMHg2OSwgMHg2NSwgMHhkZCwgMHhiNCwgMHgwZSwgMHg5ZSwgMHhkZSwgMHgyNiwgMHgxYiwgMHhiMCwKLSAgMHg0OSwgMHhiNCwgMHg1MCwgMHgyZCwgMHg1NCwgMHhmYiwgMHhjMSwgMHg5ZCwgMHg5NSwgMHg5MiwgMHgyOCwgMHg4ZiwKLSAgMHgwMiwgMHhlOCwgMHhlMywgMHgxNywgMHgyZCwgMHg5ZiwgMHg4YiwgMHg3YSwgMHhlOCwgMHhmYywgMHgzMywgMHhjNywKLSAgMHgzNCwgMHg0MiwgMHhiZiwgMHgwNiwgMHhlNiwgMHhjMCwgMHg0OCwgMHhlMiwgMHg2YSwgMHhjMCwgMHhkMywgMHg0MiwKLSAgMHg0MywgMHg3OSwgMHhmOCwgMHg1NSwgMHhhYiwgMHhjYSwgMHg3YywgMHhmMywgMHhkZiwgMHgzNiwgMHg0OSwgMHgxNSwKLSAgMHhjNiwgMHhkYiwgMHhkMSwgMHhkYSwgMHg3NiwgMHhhNSwgMHg1YiwgMHgzMiwgMHg2YywgMHhmMCwgMHg1OCwgMHg0NCwKLSAgMHg2ZiwgMHg3MCwgMHhiYiwgMHhhMiwgMHhiNCwgMHg2NywgMHhkMywgMHhhNSwgMHgyYywgMHhmNSwgMHhjOCwgMHgxMiwKLSAgMHg0NiwgMHhjOSwgMHhmNywgMHhmOSwgMHg3YywgMHgzNiwgMHg0ZCwgMHgyYiwgMHhhNCwgMHg4NywgMHg4NSwgMHhlMiwKLSAgMHg1NSwgMHhhOCwgMHgwNCwgMHhkNywgMHhhOSwgMHgyZSwgMHhmMSwgMHg1NSwgMHg3NywgMHg3NywgMHhiNCwgMHg5NywKLSAgMHg0YywgMHg5YywgMHhlNiwgMHg2MywgMHg0NSwgMHgzZiwgMHhmNiwgMHgzYywgMHgyOCwgMHhmOCwgMHhkZCwgMHhkMywKLSAgMHhiNCwgMHg0YiwgMHhlOCwgMHg0NywgMHhmNywgMHg5OCwgMHhhNCwgMHg1ZCwgMHhiYiwgMHg4NSwgMHg0NywgMHhmYiwKLSAgMHg2OCwgMHgzNSwgMHgwZSwgMHgzMSwgMHg3YywgMHgxNCwgMHhjNiwgMHg1MiwgMHhmMiwgMHhlNSwgMHhmNSwgMHgyMywKLSAgMHhiOCwgMHhhZiwgMHg5ZSwgMHgwYywgMHhmOCwgMHg1ZiwgMHg0ZiwgMHgxOCwgMHgxYywgMHhiMiwgMHhiMSwgMHhjMiwKLSAgMHgxZCwgMHhkYiwgMHhjYSwgMHg2NiwgMHgwYywgMHg2YiwgMHhmZCwgMHhjNywgMHg2NywgMHg1YSwgMHhlMSwgMHhkYSwKLSAgMHhlNSwgMHg4OSwgMHg2MywgMHg4OSwgMHg0MiwgMHgwYSwgMHgzZSwgMHg4MiwgMHg5OSwgMHhhNSwgMHgxYSwgMHgzMCwKLSAgMHhlNiwgMHgxZCwgMHg5ZCwgMHgyZCwgMHg2ZCwgMHg4OSwgMHhlMSwgMHg1ZiwgMHg3ZiwgMHg5ZCwgMHg1NCwgMHgwNCwKLSAgMHgzYiwgMHhkMiwgMHhkNCwgMHgzZiwgMHhhZCwgMHhhYiwgMHgyNywgMHgzNiwgMHgzYSwgMHhmZiwgMHhkMywgMHg1MSwKLSAgMHhhNCwgMHhmZCwgMHhiNiwgMHgwZiwgMHg3ZCwgMHhlZSwgMHhiZSwgMHg2NCwgMHhmMywgMHg3ZCwgMHhkZCwgMHhlNywKLSAgMHgyOCwgMHhjMywgMHgxZiwgMHg2MSwgMHgzYiwgMHhjYSwgMHhmYSwgMHg1OSwgMHhmZiwgMHhhMSwgMHg2NywgMHg2YiwKLSAgMHgzZSwgMHg3NCwgMHgwMSwgMHg2MCwgMHgyMywgMHgzYSwgMHg1MywgMHg2YiwgMHgwMCwgMHhkYywgMHgyOCwgMHg1NSwKLSAgMHhmOCwgMHgzNSwgMHhjYSwgMHhkNCwgMHg0YiwgMHhmYiwgMHhkMSwgMHg2OCwgMHhmNywgMHhlMSwgMHgxOSwgMHhjYSwKLSAgMHhjZSwgMHhmYSwgMHgyNiwgMHhjZiwgMHhkZSwgMHg0YywgMHg3ZSwgMHgwMiwgMHgzMiwgMHg5MSwgMHgxNCwgMHhiMSwKLSAgMHhiMiwgMHg4ZiwgMHhlNiwgMHhkNiwgMHg3NiwgMHhjNiwgMHgyMCwgMHhkOCwgMHg5YywgMHgxNiwgMHgyZiwgMHgzNywKLSAgMHhlYiwgMHg0NywgMHg4OSwgMHg1MCwgMHg2NSwgMHg4YywgMHhjMywgMHgzYSwgMHhkOCwgMHg4MSwgMHg2MywgMHg0ZiwKLSAgMHhiYiwgMHhkNywgMHg5YiwgMHg2MCwgMHg5YiwgMHhjNywgMHhmMywgMHg4ZiwgMHgwOSwgMHg3ZiwgMHg0MSwgMHhmOSwKLSAgMHhkYywgMHgxMSwgMHhkNSwgMHgzMSwgMHhiZCwgMHgzYiwgMHg3YSwgMHhmZCwgMHg3ZSwgMHg3YywgMHhmNCwgMHgwYSwKLSAgMHg3MCwgMHg5YiwgMHhiMSwgMHg3ZSwgMHg0YSwgMHgzOSwgMHhkZCwgMHg2OCwgMHg4ZSwgMHg0YywgMHgzNCwgMHgyNSwKLSAgMHgyYiwgMHg5NSwgMHgzMiwgMHg5MSwgMHg3NiwgMHhjMywgMHg0MSwgMHhlZSwgMHg5MSwgMHgwOSwgMHg4NSwgMHhhYywKLSAgMHgyOSwgMHg4ZCwgMHg2MSwgMHgxYywgMHhkNiwgMHg5ZCwgMHhiMCwgMHgyYSwgMHgyNywgMHhlZiwgMHhmZSwgMHgwMiwKLSAgMHhkYywgMHgxMSwgMHg1ZSwgMHhmNSwgMHgyYywgMHhhMywgMHhlNiwgMHg1YywgMHgyZiwgMHgzOCwgMHgwYiwgMHgyNiwKLSAgMHgwMCwgMHg1NSwgMHg3YiwgMHhlMywgMHg2NSwgMHhiMSwgMHhkNywgMHhmMywgMHgyYywgMHg1YiwgMHg2YSwgMHhkMCwKLSAgMHhkZiwgMHhlYiwgMHgyNiwgMHg2ZiwgMHhjZSwgMHg0NywgMHhmZCwgMHg4MSwgMHhmMCwgMHgzZSwgMHg2MywgMHg1YywKLSAgMHg1NiwgMHhkZiwgMHhkMiwgMHg5ZSwgMHg0ZSwgMHg1MiwgMHg3MCwgMHhmYSwgMHg1MCwgMHhiZSwgMHhiYSwgMHgwMywKLSAgMHgwYywgMHhlOCwgMHg2ZSwgMHhjYSwgMHg1NiwgMHhkZSwgMHg1OCwgMHhiNSwgMHg1ZSwgMHhlMSwgMHhjNywgMHg4MywKLSAgMHhhZSwgMHg3YSwgMHgwYywgMHg0NywgMHg0ZSwgMHgwOCwgMHgzZCwgMHhjNiwgMHgzMCwgMHg2MiwgMHhhYywgMHg0YSwKLSAgMHhkMiwgMHg1MiwgMHgyZiwgMHhjYiwgMHhjYSwgMHgwYywgMHhiYSwgMHhiMCwgMHhjNSwgMHg4YSwgMHg4YywgMHhlOCwKLSAgMHg1MCwgMHg2ZiwgMHg3NywgMHg1YiwgMHgzOSwgMHg3NiwgMHhjZCwgMHg3NiwgMHhiMiwgMHgyNSwgMHgxMCwgMHgwMSwKLSAgMHhjZiwgMHhiOCwgMHg3ZSwgMHg5YiwgMHhiOCwgMHgwMiwgMHg2ZiwgMHgxMywgMHgzYywgMHgyNiwgMHgxNCwgMHgxZCwKLSAgMHg2NCwgMHg5MSwgMHgzNiwgMHg5NiwgMHhhYSwgMHg2YiwgMHhlYywgMHgwNSwgMHhlZiwgMHg2MCwgMHg2OCwgMHg2ZSwKLSAgMHg1MiwgMHhkNywgMHg5MSwgMHhhZSwgMHgzMywgMHg0NywgMHg1NSwgMHg3NywgMHg4ZCwgMHgwNiwgMHhlOCwgMHhkNCwKLSAgMHg2OSwgMHhlNiwgMHhmZiwgMHhjYSwgMHg2ZSwgMHg2ZSwgMHg3YiwgMHhmYiwgMHhiMSwgMHgxYiwgMHhiMCwgMHg0OCwKLSAgMHg2ZiwgMHhlMSwgMHhhMiwgMHhlYSwgMHgyNSwgMHgwNywgMHg3MSwgMHhkOCwgMHhkMiwgMHg4NiwgMHhkMCwgMHg3MywKLSAgMHgxNSwgMHhmMywgMHg3YywgMHg3MCwgMHg1OCwgMHg1NywgMHhmYSwgMHhjMiwgMHg4OSwgMHg0OSwgMHhmNiwgMHhhOCwKLSAgMHhjNSwgMHg3ZiwgMHg0NSwgMHg4NiwgMHg3NywgMHgxOCwgMHg3YSwgMHgwNCwgMHg1NCwgMHg5NiwgMHhjYywgMHgxOSwKLSAgMHg1ZSwgMHhjMiwgMHg5NCwgMHgxNiwgMHg0OSwgMHhmNiwgMHhkYiwgMHgxNiwgMHgzNywgMHg5NiwgMHhjMiwgMHhjNywKLSAgMHhiNiwgMHhlOSwgMHhjNywgMHhmMywgMHg5MiwgMHg2MiwgMHg5NCwgMHg0YSwgMHgwYywgMHhmOCwgMHg3YywgMHgwOCwKLSAgMHhkOSwgMHg0NywgMHg2NiwgMHg0MiwgMHg0NSwgMHg1NCwgMHg4OCwgMHgwYywgMHgzYywgMHg5YiwgMHg3OCwgMHg4MywKLSAgMHg2NiwgMHgzNiwgMHgyOCwgMHgxNiwgMHgyMywgMHhmYywgMHgzMiwgMHg3NiwgMHg4MSwgMHg1ZCwgMHg1OCwgMHgxZiwKLSAgMHg1YSwgMHgyNSwgMHg2ZiwgMHgwNiwgMHgzOSwgMHhhYywgMHgzYSwgMHg0ZSwgMHhjNiwgMHgwMywgMHgwYywgMHhkYSwKLSAgMHhiMCwgMHhjYSwgMHgzMiwgMHg2ZCwgMHhkNCwgMHg2NiwgMHhjMiwgMHg0ZiwgMHhjMCwgMHhiZCwgMHhkNCwgMHhiNCwKLSAgMHg0NiwgMHgzZSwgMHhhMiwgMHhhYSwgMHgzMSwgMHhkOCwgMHgwMCwgMHhiOSwgMHgxYSwgMHg1MSwgMHhkYiwgMHg0NCwKLSAgMHgyYiwgMHg4MiwgMHhhMSwgMHg5OSwgMHgxNiwgMHhmZSwgMHg2NCwgMHg3MSwgMHgwMiwgMHg2NiwgMHg5MCwgMHhiYywKLSAgMHg5YywgMHhhMSwgMHgyYSwgMHg4YSwgMHgzYiwgMHhmMSwgMHhmNCwgMHhjMCwgMHhjNywgMHhjOCwgMHg2YywgMHgzNiwKLSAgMHhjOSwgMHg1NSwgMHg3OSwgMHg5YiwgMHgyZiwgMHg1NiwgMHgwYiwgMHhiYywgMHgzZSwgMHg2MCwgMHgwMywgMHg2YywKLSAgMHg0MSwgMHg1MiwgMHg0YiwgMHgwZiwgMHgxNSwgMHhkOSwgMHg4NSwgMHhiNiwgMHhlZCwgMHg1NywgMHhjYywgMHg5OSwKLSAgMHg0MSwgMHhhYywgMHgwZCwgMHg0NCwgMHhkYiwgMHg3MCwgMHhjYSwgMHgwZiwgMHhiZCwgMHhjNSwgMHgyZCwgMHgzNiwKLSAgMHg3MCwgMHg1MCwgMHhmZiwgMHhjYiwgMHhlOSwgMHgzMywgMHg3OSwgMHg2MSwgMHgxNCwgMHhiYSwgMHgzZiwgMHg0NywKLSAgMHhhMiwgMHhkMSwgMHhhOSwgMHhjZiwgMHg1MywgMHg4NSwgMHg3ZiwgMHg4MCwgMHgzMiwgMHgyOSwgMHhkNSwgMHgzOSwKLSAgMHg5YiwgMHg3OSwgMHhhNiwgMHgyNCwgMHg1MywgMHgxYywgMHg2OSwgMHg2MiwgMHg3YywgMHg0OCwgMHhiZCwgMHgxYywKLSAgMHg2YSwgMHg2MCwgMHgxZCwgMHhkZiwgMHg0MiwgMHhlZSwgMHhiNCwgMHg1MCwgMHhlNywgMHhmYiwgMHg2NSwgMHhhMSwKLSAgMHgyNCwgMHg0NCwgMHg0ZiwgMHhlNywgMHgyNiwgMHg5ZCwgMHg0NywgMHgwMiwgMHg5OSwgMHhhZiwgMHhmMCwgMHgwYywKLSAgMHgyMCwgMHg1YSwgMHg3OSwgMHhkZiwgMHg3YywgMHg3ZSwgMHg1NywgMHg5MiwgMHg2MiwgMHhjNCwgMHhiZSwgMHgyNSwKLSAgMHg4ZiwgMHhiOSwgMHhlYywgMHhiMiwgMHhiYSwgMHhiMSwgMHhkYSwgMHhiZCwgMHg0MiwgMHg2YywgMHgzOCwgMHgxMCwKLSAgMHg2YywgMHg4MywgMHgxOCwgMHg1OSwgMHg4NywgMHg1ZCwgMHhiMiwgMHg1YSwgMHhjYSwgMHg1MCwgMHg0OCwgMHhjZiwKLSAgMHg4OSwgMHg5ZCwgMHhmMiwgMHhkOSwgMHgwZCwgMHgzOCwgMHg1OSwgMHgxMywgMHgxOSwgMHg5YSwgMHg4ZiwgMHg2ZSwKLSAgMHg2ZiwgMHgwMywgMHgwYSwgMHhmNywgMHgwYywgMHg2MiwgMHhjNiwgMHg5YiwgMHg2NCwgMHg2YiwgMHhmOSwgMHhkMSwKLSAgMHgyZSwgMHhjYSwgMHgxYywgMHgxZiwgMHhkZiwgMHg3NiwgMHg4YywgMHhlNiwgMHg1MSwgMHgxYywgMHgxYywgMHg5MiwKLSAgMHhlNSwgMHgwMywgMHhiMSwgMHhjOCwgMHg0OSwgMHhjOSwgMHg1MSwgMHgzOCwgMHhkZSwgMHhiNCwgMHgzNCwgMHhiMiwKLSAgMHg5ZCwgMHhjYywgMHgxZCwgMHg2ZSwgMHhkMiwgMHgxYywgMHgwNCwgMHgxMSwgMHhhNCwgMHgzNiwgMHgyMCwgMHgxNywKLSAgMHhkMywgMHgzNiwgMHg3YiwgMHhkNSwgMHgyOCwgMHgyOSwgMHg5YSwgMHgxNiwgMHgxYSwgMHhjZCwgMHg5ZiwgMHhiNiwKLSAgMHg1MiwgMHhmNywgMHhjOSwgMHhlNiwgMHgwMSwgMHhjYywgMHhjYSwgMHgxNSwgMHhhMCwgMHgzMCwgMHhjMiwgMHhlZCwKLSAgMHhhMiwgMHhhZiwgMHhmMCwgMHhlZSwgMHhkMywgMHg5NSwgMHgzMiwgMHhmMiwgMHgyYSwgMHg5ZiwgMHhkMywgMHg2YiwKLSAgMHg3YywgMHhiMSwgMHhlYiwgMHg2NCwgMHhjZiwgMHg5YywgMHg0MiwgMHg1ZSwgMHhhYywgMHgxYSwgMHgwYiwgMHhkNywKLSAgMHg4NywgMHg2ZiwgMHg1YSwgMHhkOCwgMHg5OSwgMHhjOCwgMHhlZSwgMHhjZiwgMHg5MSwgMHhlOCwgMHhhYiwgMHgxNSwKLSAgMHhmMCwgMHg3NCwgMHhmYiwgMHg2YSwgMHgyZiwgMHgzYSwgMHhjOCwgMHhiNywgMHgwNCwgMHgxYSwgMHhiOSwgMHhlZCwKLSAgMHhlOSwgMHhlYywgMHg0YiwgMHhkOSwgMHg5OCwgMHhhYiwgMHhjOCwgMHg4NiwgMHg2MSwgMHg0NSwgMHhhZSwgMHg2NiwKLSAgMHhiNywgMHg2NiwgMHhiNywgMHgxOSwgMHg0NSwgMHhjOSwgMHgxMywgMHg2YywgMHg1NiwgMHhhNCwgMHg4ZCwgMHhiYywKLSAgMHgyZSwgMHgxNCwgMHg5MSwgMHhjYywgMHg5ZiwgMHgxNiwgMHgxMywgMHhiNywgMHg0ZCwgMHhiYywgMHhjMCwgMHhlNywKLSAgMHhjYSwgMHg0NiwgMHhhZSwgMHhhNCwgMHg2ZCwgMHhiZSwgMHhjNiwgMHg1YSwgMHg1YiwgMHhmYywgMHg2YSwgMHg3MywKLSAgMHhmZiwgMHgzNCwgMHhjMSwgMHhhYiwgMHg3OSwgMHhmMiwgMHhjNCwgMHhkNiwgMHgwMiwgMHg3MywgMHgxYSwgMHg2NywKLSAgMHhiOSwgMHhiMCwgMHgzOSwgMHg5YiwgMHg0YywgMHhkOCwgMHhlZiwgMHhmMCwgMHhlNSwgMHg0MywgMHg4YSwgMHgxOCwKLSAgMHgzZiwgMHg0ZiwgMHg2MiwgMHgxYSwgMHgxOSwgMHg5MywgMHg5MCwgMHhjMiwgMHg1MiwgMHgxYiwgMHhkZSwgMHgwYiwKLSAgMHg2NiwgMHgwMCwgMHg5ZiwgMHg3ZCwgMHhhNiwgMHg4MCwgMHhkYywgMHgwNCwgMHhkNSwgMHhjZCwgMHg1NywgMHg5NSwKLSAgMHhiMCwgMHhlYywgMHhlMSwgMHg3ZSwgMHg4NywgMHgxMSwgMHg5NywgMHhkZCwgMHg4NiwgMHg5YywgMHgzOSwgMHhhNiwKLSAgMHhlYSwgMHhmYywgMHgwYiwgMHhkOSwgMHg1MSwgMHg5ZCwgMHgxMiwgMHhmYywgMHhlNCwgMHhhYSwgMHhiOSwgMHhmYSwKLSAgMHg3YiwgMHgzZSwgMHg4YiwgMHg0MiwgMHgyOSwgMHhkMSwgMHg1ZCwgMHgzMCwgMHhiZiwgMHgzNiwgMHg4NywgMHg1NiwKLSAgMHhiMywgMHhmNywgMHg0YiwgMHhiMSwgMHg0ZCwgMHg5MywgMHgyZCwgMHg3OSwgMHg2ZCwgMHg3YiwgMHg5MCwgMHhjYywKLSAgMHg1NiwgMHg3MCwgMHhjOSwgMHg4ZCwgMHgwZiwgMHhjNywgMHgyNywgMHhjOSwgMHhkOSwgMHhjOSwgMHhlMSwgMHhmMSwKLSAgMHg1YiwgMHhmMywgMHhjZSwgMHgzMCwgMHgzNCwgMHg1MiwgMHgyZCwgMHg2MiwgMHhkOSwgMHgyMCwgMHhlOSwgMHhmNiwKLSAgMHgxOCwgMHg4MywgMHhiZiwgMHhiMywgMHg4ZCwgMHg2YSwgMHhkNiwgMHhmZSwgMHg1MCwgMHg4OCwgMHg2OSwgMHgzNCwKLSAgMHg4MywgMHgzMCwgMHg2ZCwgMHhkNSwgMHgxZSwgMHgwYywgMHg1NywgMHg5YSwgMHhmMSwgMHhkNCwgMHg4NywgMHhhYSwKLSAgMHg2MywgMHhiNywgMHg1NCwgMHhkMywgMHg2NCwgMHgyNCwgMHgwZiwgMHhkNSwgMHgwYiwgMHgzMywgMHhjYSwgMHg1ZCwKLSAgMHgzNCwgMHg2MiwgMHhlYiwgMHg1YSwgMHhhMSwgMHgyYiwgMHg2MiwgMHhhYiwgMHgzMSwgMHgyYiwgMHg3NywgMHhhMCwKLSAgMHhhZCwgMHgzYywgMHg3OSwgMHgzMywgMHgyNywgMHhlZSwgMHg5OSwgMHg2NSwgMHhjOCwgMHhjMiwgMHgxYiwgMHgxYiwKLSAgMHhlOCwgMHg2ZSwgMHg5ZCwgMHgzYywgMHhkNywgMHg3OCwgMHhiMywgMHg2ZiwgMHhlNCwgMHg3MywgMHg1MiwgMHg2ZSwKLSAgMHhhOCwgMHhlYywgMHg5MiwgMHhjOCwgMHg1OCwgMHgyZiwgMHgyMywgMHgzZiwgMHg0NSwgMHhkOSwgMHg3MCwgMHg2MiwKLSAgMHg4ZCwgMHgzNCwgMHg1NCwgMHgyZCwgMHg2ZCwgMHhkNiwgMHg4MSwgMHg4NCwgMHg5ZSwgMHg5NCwgMHhiNywgMHgwMywKLSAgMHgwNSwgMHhhMSwgMHhjMSwgMHgxMiwgMHg1MCwgMHhkZCwgMHhlNCwgMHg3MiwgMHgxYywgMHgyZSwgMHgwZCwgMHgzYiwKLSAgMHgwMywgMHgxNCwgMHgxNSwgMHg4ZiwgMHhkNywgMHg5NCwgMHg4YywgMHhkMiwgMHg0YiwgMHhlMCwgMHhiYiwgMHg2MSwKLSAgMHhjMSwgMHhjMCwgMHhjMiwgMHhlOCwgMHhiNywgMHg2NiwgMHg0MCwgMHhkZiwgMHgyZiwgMHhiYSwgMHg4ZSwgMHhjNiwKLSAgMHg5ZSwgMHg3NCwgMHg3YSwgMHg3OSwgMHg4MywgMHhjNiwgMHhmMiwgMHhhZSwgMHg4ZSwgMHg3MywgMHg4NCwgMHgxYywKLSAgMHg1YiwgMHg5YiwgMHgyMywgMHg2NywgMHhiOSwgMHhiMywgMHgxOSwgMHgwMiwgMHg3NCwgMHhkNCwgMHhhNiwgMHg4NiwKLSAgMHhiNSwgMHgwMCwgMHhlYywgMHg3YiwgMHg5ZCwgMHhlZiwgMHgzZCwgMHgwYywgMHgyNSwgMHhmNiwgMHgxNywgMHg4MywKLSAgMHhjNCwgMHgzMiwgMHg2YSwgMHg3NywgMHg1ZiwgMHhlMywgMHhjYiwgMHhmYSwgMHgzOSwgMHgzZSwgMHhlZSwgMHhiMCwKLSAgMHhhOCwgMHg4MywgMHhhOSwgMHgzMCwgMHhhZSwgMHgxNywgMHg2YSwgMHg5OSwgMHhiOCwgMHg0MywgMHgyOSwgMHgzYiwKLSAgMHg5NiwgMHgyMiwgMHhkOCwgMHg1ZiwgMHhiMywgMHgxZCwgMHg0OSwgMHg4ZCwgMHhiYiwgMHgyZiwgMHhjMywgMHg4NCwKLSAgMHhhMSwgMHg2NywgMHg3NSwgMHhlNSwgMHg2MywgMHhhMiwgMHg3ZSwgMHhlYSwgMHhlMCwgMHgzYiwgMHg4YywgMHhjMSwKLSAgMHg1OCwgMHhkOSwgMHg2NCwgMHg1OSwgMHhiMSwgMHhiMywgMHg2YSwgMHgzYywgMHg0ZCwgMHg4OSwgMHg3MiwgMHg4ZCwKLSAgMHg1MCwgMHg5YSwgMHg5NSwgMHhlMywgMHgzNCwgMHg4NiwgMHhjYiwgMHgzNywgMHhhMywgMHgwNiwgMHgwOCwgMHg2MSwKLSAgMHhiYiwgMHgwNCwgMHg0ZSwgMHg0MywgMHhiOCwgMHhlMCwgMHgyNiwgMHhhOSwgMHgzYSwgMHgwMywgMHg2ZiwgMHhjYywKLSAgMHg4MCwgMHgwZiwgMHg3MywgMHgwZiwgMHg4ZCwgMHgyYSwgMHhmOSwgMHhkYiwgMHgyYSwgMHhjZiwgMHgxYSwgMHgxNCwKLSAgMHgyMywgMHg4ZSwgMHg5MiwgMHg1NywgMHg5YywgMHgyZSwgMHgyOSwgMHg5ZCwgMHg0NiwgMHhiOSwgMHhhMywgMHgzMSwKLSAgMHhkYSwgMHgxZSwgMHgzMywgMHgwNCwgMHgwMCwgMHg3ZiwgMHg5ZiwgMHgyNiwgMHgxMCwgMHhmMCwgMHg2MSwgMHgzMywKLSAgMHgyMSwgMHg1NCwgMHhiOSwgMHhiZSwgMHhjMSwgMHhhYywgMHg5MywgMHg5NywgMHgzNCwgMHhlZCwgMHg4NSwgMHg5MSwKLSAgMHg4MCwgMHhjMCwgMHg2MCwgMHhmMiwgMHhkMCwgMHhmNSwgMHgzNCwgMHg5ZiwgMHg0NiwgMHgyYiwgMHg1YywgMHg5MCwKLSAgMHhjNCwgMHg1ZCwgMHg3ZiwgMHgwYywgMHg2YiwgMHg1OCwgMHgwNiwgMHhhZCwgMHg0ZSwgMHg2ZCwgMHhmMCwgMHhhNSwKLSAgMHgwOCwgMHg1ZiwgMHg2YSwgMHhhOCwgMHhjZCwgMHg1ZiwgMHg5MSwgMHhjZSwgMHg3NywgMHhlYSwgMHg2NiwgMHg0NiwKLSAgMHg1YSwgMHhjMSwgMHhhYSwgMHg5OCwgMHhkMywgMHgzYywgMHg2OSwgMHhhNCwgMHg5ZSwgMHhiZSwgMHhhMSwgMHgxMSwKLSAgMHgxYywgMHgyYSwgMHhlMCwgMHhlMCwgMHhkMCwgMHgwOSwgMHhiNSwgMHg4ZSwgMHg0OCwgMHg3MiwgMHg1YiwgMHhmYSwKLSAgMHgzMiwgMHgyMCwgMHhiYywgMHhlYywgMHhhNiwgMHgxMCwgMHgxNCwgMHhjYiwgMHhkZiwgMHgyZCwgMHg2MiwgMHgzYSwKLSAgMHhiYywgMHg1ZSwgMHhlYywgMHg2NSwgMHhlYiwgMHhkYywgMHhkNiwgMHg0MSwgMHg4NCwgMHg1YywgMHhkMywgMHg3OSwKLSAgMHgxOSwgMHg0MiwgMHg5YiwgMHg5NCwgMHhiNSwgMHg4MiwgMHhhNywgMHg5YiwgMHg0NSwgMHg5YSwgMHhkNywgMHg1YiwKLSAgMHhmNywgMHgwOSwgMHgxMCwgMHg3NCwgMHhmNywgMHhhMiwgMHhmYywgMHhiNCwgMHhiZCwgMHg2YSwgMHhkYywgMHgyZiwKLSAgMHhmZCwgMHg1ZSwgMHg3OCwgMHgxZiwgMHg3ZSwgMHgyMywgMHg2YywgMHgzMiwgMHhmZiwgMHg4YiwgMHgwMSwgMHg3ZSwKLSAgMHhlMiwgMHgwOCwgMHg2NiwgMHhlNCwgMHg2NCwgMHhiMSwgMHg0OSwgMHhjMSwgMHg5MiwgMHhlZCwgMHhkNywgMHg0MiwKLSAgMHhiYiwgMHhlMSwgMHg1YywgMHg4OCwgMHhiYiwgMHg0OCwgMHg4YiwgMHg0ZSwgMHg0MywgMHg0YywgMHgyYiwgMHhjMSwKLSAgMHgwNiwgMHg5OSwgMHhjZSwgMHg4ZCwgMHgxMiwgMHgxNCwgMHg3MSwgMHhjNCwgMHg2OCwgMHg2ZiwgMHg1NiwgMHg4MiwKLSAgMHhjMSwgMHgxYiwgMHg3NCwgMHg0NSwgMHg3NiwgMHhiZCwgMHgyMiwgMHhjZCwgMHg3YywgMHhiZSwgMHhhMiwgMHgyZiwKLSAgMHgzMywgMHg4MiwgMHg5YywgMHg0NSwgMHgzMCwgMHg1MywgMHg0OCwgMHg4MywgMHgyOCwgMHhlYSwgMHg5ZiwgMHhjNSwKLSAgMHgwOSwgMHhhMiwgMHgzYiwgMHhlYSwgMHgwMSwgMHgyMCwgMHgyYSwgMHhhNiwgMHhhZiwgMHhjNSwgMHgwNiwgMHhlYywKLSAgMHg4MiwgMHhlOCwgMHg4ZCwgMHg3YSwgMHg2NiwgMHg0NywgMHhkZSwgMHgxMiwgMHgxZSwgMHgyNiwgMHgxMywgMHg4MCwKLSAgMHg1NSwgMHhjZiwgMHgzMSwgMHg0NSwgMHg0NSwgMHg1ZSwgMHgzYSwgMHgxZCwgMHg0MSwgMHgwOCwgMHg5NCwgMHhhZSwKLSAgMHgzZiwgMHgzMSwgMHg1NCwgMHgzNywgMHg5YiwgMHgzMiwgMHhkMSwgMHg5YSwgMHg5OSwgMHhlYSwgMHgyNywgMHg4YSwKLSAgMHgyMCwgMHg4MCwgMHhjMiwgMHgwYiwgMHgxZiwgMHgwNSwgMHg5MCwgMHgxYywgMHhjZSwgMHg0NSwgMHgxMCwgMHgwZiwKLSAgMHg0NCwgMHgwNywgMHg1NCwgMHgzNCwgMHgxNiwgMHgwNCwgMHhjZiwgMHg2MSwgMHg3NSwgMHg1YSwgMHg4YSwgMHhjOCwKLSAgMHg2YSwgMHhiZCwgMHg3YiwgMHhhZCwgMHgyOSwgMHhhOSwgMHgzMiwgMHgxZCwgMHhjOSwgMHhlMCwgMHhlNywgMHg5NywKLSAgMHhiNiwgMHgxNCwgMHhhNCwgMHgwNywgMHhhZiwgMHg2ZCwgMHhiNywgMHhlMiwgMHg2NiwgMHg2NSwgMHgwYiwgMHg4NiwKLSAgMHhmYSwgMHg1ZiwgMHhhYSwgMHg3MywgMHgzZCwgMHg2ZSwgMHgzNywgMHhkNCwgMHgxMywgMHg0OCwgMHhjNywgMHg1ZiwKLSAgMHg3NSwgMHhhMSwgMHhkMiwgMHg4NywgMHhkZCwgMHhhOCwgMHg5ZSwgMHg2YSwgMHg5YiwgMHhmZiwgMHgzNywgMHg2ZiwKLSAgMHg1NCwgMHg5YSwgMHgzYywgMHhlYywgMHg0ZSwgMHhhNSwgMHhkZCwgMHg0YiwgMHgxNSwgMHhiMiwgMHhhNSwgMHhkYiwKLSAgMHhkZSwgMHgxOSwgMHhmZiwgMHg4NiwgMHhiNywgMHg4YywgMHhhZiwgMHhkOSwgMHgyZiwgMHhiYSwgMHg2NywgMHg0YSwKLSAgMHgxNCwgMHhmZiwgMHgyZiwgMHhkZiwgMHhiMiwgMHhjZiwgMHgzYiwgMHg1YSwgMHgyMCwgMHhmMCwgMHg1MSwgMHgxZiwKLSAgMHhkOCwgMHhiNywgMHg5MiwgMHhiNCwgMHg2MywgMHhkMiwgMHhiNSwgMHg3NiwgMHgyYywgMHg5NCwgMHg2MSwgMHhiYywKLSAgMHhmMSwgMHgwOSwgMHg0MywgMHg2ZiwgMHhjNSwgMHg0MiwgMHg5NywgMHhhNSwgMHg5ZSwgMHhlYywgMHg2MywgMHhjYiwKLSAgMHhmMywgMHgxNCwgMHg3NiwgMHg2MCwgMHhlZCwgMHhjMCwgMHhhMSwgMHhmMywgMHg1NiwgMHgwMSwgMHhhMiwgMHg5MSwKLSAgMHhlMywgMHg2ZCwgMHg1YiwgMHg5ZCwgMHgyNiwgMHhkMiwgMHg0NCwgMHg0NSwgMHg5NiwgMHg3NSwgMHg2OSwgMHg0NCwKLSAgMHhmYiwgMHgzMiwgMHg0ZiwgMHhiOCwgMHg1MywgMHhiYiwgMHgyMSwgMHhjMCwgMHhhZiwgMHhjNywgMHhlMywgMHhlMSwKLSAgMHhlMSwgMHhkOSwgMHhmMSwgMHgzZCwgMHg3NiwgMHgxNywgMHg3MCwgMHg2MSwgMHhkYywgMHgyNCwgMHg2MywgMHhmNiwKLSAgMHg3MiwgMHg3ZiwgMHgxYSwgMHg1NiwgMHhmYiwgMHhkMywgMHg0NiwgMHhkMSwgMHhlZCwgMHg2ZSwgMHhlYiwgMHg2MSwKLSAgMHhkZCwgMHg0YSwgMHgzMiwgMHhkNiwgMHgyOSwgMHhkOSwgMHg4NiwgMHgxYiwgMHhhNCwgMHg2YywgMHgyYiwgMHhlNiwKLSAgMHgzMiwgMHhmMiwgMHgyOCwgMHhjOCwgMHg1NywgMHg0MywgMHg1YywgMHg4NiwgMHg5ZiwgMHgwOCwgMHg3MiwgMHhiMiwKLSAgMHg4MSwgMHhiMCwgMHgwMywgMHg3MCwgMHg5YywgMHg2NCwgMHhlZiwgMHhkOSwgMHg5MywgMHgzZCwgMHg3MywgMHgyZCwKLSAgMHhlZSwgMHgxOCwgMHhmOCwgMHg1MSwgMHhkZSwgMHg3ZiwgMHgzNCwgMHgzYSwgMHhkOCwgMHg3OSwgMHgzNCwgMHg3YSwKLSAgMHg0NCwgMHg1YywgMHhjZCwgMHg0NSwgMHg0YiwgMHg2NSwgMHg3YywgMHhjMywgMHhlZCwgMHgyMiwgMHg1OSwgMHg0OSwKLSAgMHgzNCwgMHhhZCwgMHhiNywgMHg0NywgMHgyZiwgMHgxMywgMHg0ZSwgMHg1YywgMHgwNSwgMHgwYywgMHg2MCwgMHhjNywKLSAgMHhlNiwgMHg0YSwgMHgzOCwgMHg3OSwgMHg4NiwgMHgxOCwgMHhlOSwgMHg0OCwgMHhkZCwgMHhjNCwgMHg0YywgMHhhYywKLSAgMHg4MSwgMHg5MywgMHgyMiwgMHhkOCwgMHg4ZSwgMHg0NCwgMHg2ZCwgMHgwOSwgMHgwMCwgMHg1MywgMHgxNCwgMHg3NiwKLSAgMHgyNiwgMHhjNCwgMHhlZiwgMHhkOCwgMHhhYywgMHg5MCwgMHg5ZCwgMHgzMSwgMHhiZiwgMHgwOSwgMHgyYiwgMHhkMCwKLSAgMHhiYywgMHgzZCwgMHhmMSwgMHg3NiwgMHhlYywgMHg5ZSwgMHhmNCwgMHhmMiwgMHg0NywgMHhmZCwgMHhlNywgMHhhMywKLSAgMHhlNiwgMHg0YiwgMHg4ZiwgMHgwMSwgMHhlNCwgMHgzYywgMHhmNywgMHg4MSwgMHg5ZCwgMHgyMywgMHhmYywgMHhkMCwKLSAgMHgxYSwgMHhhNSwgMHg3NSwgMHg1MiwgMHg0ZCwgMHgxNywgMHhkNiwgMHgyNCwgMHhiOSwgMHhmOCwgMHhkYiwgMHhhYywKLSAgMHgxOCwgMHhmZCwgMHg1MiwgMHg3YiwgMHgyYSwgMHhhMiwgMHgxMCwgMHhiNywgMHhjZCwgMHgyNiwgMHg5ZSwgMHhiYiwKLSAgMHgzMCwgMHg2YSwgMHgzMSwgMHg5NywgMHhmYSwgMHg1NiwgMHhjNCwgMHgyNiwgMHg1MiwgMHhkNywgMHg0MywgMHgwNiwKLSAgMHgwMiwgMHhhMCwgMHhiYiwgMHhjYywgMHgwNiwgMHg5NCwgMHgzNywgMHg5MCwgMHgxZCwgMHg3ZCwgMHhkZCwgMHhlMCwKLSAgMHgxMSwgMHg4MywgMHhkYywgMHg3ZCwgMHg2YiwgMHhhNywgMHhjYSwgMHhkMiwgMHhiOSwgMHhiYywgMHgyOCwgMHhhNiwKLSAgMHgxYiwgMHgxMCwgMHg4MywgMHg4MywgMHg1ZiwgMHg1ZSwgMHhhMCwgMHhiZCwgMHg1YywgMHgxZCwgMHgwMCwgMHhiNCwKLSAgMHgzMSwgMHhjMiwgMHhiOSwgMHg4NSwgMHg0NywgMHhlNCwgMHhhNywgMHg2ZCwgMHg5YSwgMHg5NiwgMHhkNywgMHhjOCwKLSAgMHhhNSwgMHgzMiwgMHhlMiwgMHgyNCwgMHg1ZiwgMHhhNiwgMHhmMywgMHhlNCwgMHgwMSwgMHhiNSwgMHgwNSwgMHhmZCwKLSAgMHg4NywgMHg3ZiwgMHgyZiwgMHhiZiwgMHg3MywgMHhlYywgMHgyMiwgMHhlNCwgMHg3MiwgMHhiNiwgMHg5MCwgMHg1ZiwKLSAgMHgxMywgMHg0OCwgMHhiYiwgMHg1MiwgMHg1NSwgMHgzOCwgMHg0OCwgMHg4YiwgMHhjZiwgMHhmNSwgMHgwYywgMHg0OCwKLSAgMHhjOSwgMHhlZSwgMHhjMiwgMHhjZSwgMHgxYywgMHgwYSwgMHg1NCwgMHgzNywgMHg4MSwgMHhjNiwgMHg1OCwgMHg5MiwKLSAgMHg4YSwgMHg4OCwgMHg0OCwgMHgwZSwgMHgzOSwgMHgxNywgMHg0YiwgMHhkMywgMHg0MSwgMHhhNSwgMHhlYSwgMHg3NSwKLSAgMHg3YiwgMHhhNCwgMHg2NiwgMHhkNCwgMHgzYSwgMHhlNiwgMHg2ZSwgMHg1OSwgMHhlMiwgMHhiZCwgMHhhYywgMHhmNywKLSAgMHhiNywgMHg2MCwgMHg4NiwgMHhhNCwgMHhjMiwgMHhiMSwgMHg5ZiwgMHhlMSwgMHg5NywgMHg2MiwgMHhhMCwgMHhmYSwKLSAgMHhjMiwgMHgyMiwgMHhkOSwgMHg0MiwgMHgyMiwgMHg4OCwgMHhhZCwgMHg2MiwgMHhhNCwgMHgxZiwgMHg2OSwgMHg2YSwKLSAgMHg0MSwgMHhlOCwgMHgyYywgMHhiMiwgMHg1MSwgMHhlMywgMHhlZCwgMHhkMSwgMHg0MywgMHhjMCwgMHhhMiwgMHgwNywKLSAgMHg4MiwgMHgwYiwgMHg2ZCwgMHhhMSwgMHhhMCwgMHgwMywgMHgzZSwgMHhmYiwgMHhmZiwgMHg4NCwgMHgxYSwgMHhmOCwKLSAgMHgzOCwgMHhiMSwgMHg2NywgMHhmNSwgMHgxMCwgMHg2ZCwgMHg5MCwgMHg5MSwgMHhkNSwgMHhiOSwgMHhkZiwgMHg3OCwKLSAgMHgwMCwgMHg3ZCwgMHhlNywgMHg0YywgMHhhZSwgMHhmZiwgMHg1ZiwgMHgxYiwgMHhmYywgMHgzZiwgMHg0OSwgMHgxYiwKLSAgMHhmYywgMHhjNSwgMHhiNywgMHhiNCwgMHg3NSwgMHg0OSwgMHg4NywgMHg5MiwgMHhkOSwgMHg2YywgMHhlZiwgMHhhNSwKLSAgMHhiYiwgMHg4OSwgMHhmMSwgMHg4MiwgMHg4MywgMHhmOSwgMHhkZCwgMHgwMywgMHgyZiwgMHg2OCwgMHhmNywgMHg4NiwKLSAgMHgyNiwgMHgyMSwgMHgyOSwgMHhmYywgMHhiZiwgMHg3MSwgMHg0NSwgMHgxZiwgMHg3NCwgMHgzMywgMHhmZiwgMHg3ZiwKLSAgMHhkZiwgMHhjNywgMHhmZiwgMHg2ZSwgMHhmNywgMHhiMCwgMHg1ZiwgMHgxYiwgMHhkYywgMHgzMiwgMHg0NCwgMHg3NiwKLSAgMHg0MywgMHg1OSwgMHg3YiwgMHhkYywgMHhlYiwgMHgwYywgMHg3NiwgMHhmNiwgMHhiNiwgMHhkMywgMHg3YywgMHhhOCwKLSAgMHgxZSwgMHg4ZiwgMHhmNywgMHhlZSwgMHhmOCwgMHhlYywgMHhiYiwgMHgyNywgMHg4YywgMHhjMCwgMHgzMywgMHhlZSwKLSAgMHgyNiwgMHhiMywgMHg1NCwgMHhjOSwgMHhjOSwgMHhhYiwgMHhjMywgMHhiMywgMHg1ZiwgMHg3MCwgMHhkYiwgMHhmZiwKLSAgMHgwMiwgMHgyZiwgMHhmNCwgMHgzMiwgMHhjYiwgMHg2NiwgMHg0MywgMHg4ZSwgMHgxYiwgMHhiZSwgMHhjMCwgMHgzZiwKLSAgMHgyMiwgMHgwMSwgMHhmNywgMHhkNCwgMHgyMiwgMHg2YywgMHg4MCwgMHg2YywgMHgyOSwgMHg5YywgMHgxOCwgMHhhNiwKLSAgMHgzMSwgMHhlMCwgMHg2NSwgMHhhMywgMHhhNiwgMHgxNCwgMHg4MiwgMHg3OSwgMHhiMywgMHg0NCwgMHg0YiwgMHhjMCwKLSAgMHhjMCwgMHhjNywgMHg1MiwgMHgxNiwgMHhiMywgMHg2ZCwgMHgyZSwgMHhmNCwgMHhjMywgMHg5NywgMHg0MSwgMHgyYSwKLSAgMHg5MiwgMHg3ZCwgMHg0MiwgMHhmNywgMHhmYiwgMHg5MiwgMHg1MCwgMHhmMSwgMHgyYywgMHg3MCwgMHhhOCwgMHhmNywKLSAgMHg4YywgMHgyMiwgMHg0MSwgMHg0NywgMHg5MywgMHhhMSwgMHhlZSwgMHhkYywgMHg1MiwgMHgzOCwgMHhlNCwgMHhjOSwKLSAgMHhlOCwgMHg3NSwgMHgwNywgMHhiYiwgMHhlNCwgMHg3ZiwgMHgwNywgMHgxNywgMHhjOSwgMHg5YSwgMHg0ZiwgMHg4OCwKLSAgMHhiNiwgMHhkMSwgMHhmZCwgMHg3YywgMHg1ZiwgMHgzYSwgMHhjZCwgMHhkYSwgMHhhZCwgMHhmNCwgMHg0ZiwgMHhhMiwKLSAgMHhiNSwgMHg4MywgMHgxNCwgMHgyMSwgMHhlNywgMHhkMCwgMHg2MSwgMHhkMCwgMHhhNSwgMHhkYywgMHhmYiwgMHgyNiwKLSAgMHgyNywgMHg5MCwgMHhmMCwgMHg3YywgMHhlZCwgMHgyNywgMHhkYSwgMHhiYiwgMHg3OSwgMHg3YywgMHhlMSwgMHhiZiwKLSAgMHgxMCwgMHg1OCwgMHhkNCwgMHhiNiwgMHgyNiwgMHgyZCwgMHhiMywgMHgwNiwgMHg3NSwgMHhkMiwgMHg5YSwgMHg5NSwKLSAgMHhhYiwgMHgxOCwgMHhkOCwgMHg1MywgMHhlZiwgMHhiZSwgMHgyYiwgMHgyZCwgMHhmOCwgMHg0YiwgMHg5OCwgMHg0ZCwKLSAgMHhlOSwgMHhiZCwgMHhiYiwgMHgzZSwgMHgwNSwgMHhiMCwgMHgyYywgMHg5YSwgMHg4YSwgMHg1YSwgMHg4YywgMHg2OCwKLSAgMHhmNiwgMHg4MCwgMHgyMiwgMHhjZCwgMHgxYiwgMHhiZSwgMHhlOCwgMHhkNywgMHhmZSwgMHhhNywgMHhhOCwgMHgxNCwKLSAgMHg0OCwgMHhiMCwgMHg2YiwgMHg2MSwgMHhiYiwgMHg0ZCwgMHhiZSwgMHhkZiwgMHg0OSwgMHhkNiwgMHg0YywgMHg0NywKLSAgMHhlZSwgMHg2YywgMHgwMSwgMHg2MSwgMHg2OCwgMHg3ZSwgMHgzOSwgMHgzNSwgMHg0YSwgMHhhZSwgMHhmNiwgMHhhNCwKLSAgMHgxZSwgMHgyNCwgMHg5YywgMHhlMCwgMHg0MSwgMHgyNiwgMHg0ZiwgMHg4ZiwgMHhhZiwgMHg0MiwgMHgzMywgMHg2MSwKLSAgMHgzZSwgMHg3ZCwgMHg3YiwgMHhiNiwgMHhmNSwgMHhmZCwgMHgwZiwgMHg0MywgMHgwOCwgMHgwOSwgMHgzNSwgMHg0ZiwKLSAgMHgyYywgMHg1YiwgMHg0OCwgMHgwZCwgMHgzYiwgMHgwMywgMHhmMiwgMHgwMiwgMHg5YSwgMHgyNCwgMHg1MywgMHgyMCwKLSAgMHhmOCwgMHg2MiwgMHg5ZSwgMHhkZSwgMHg0OCwgMHgxMSwgMHg0YywgMHg5NywgMHhkZiwgMHg4ZiwgMHg0ZiwgMHgwZSwKLSAgMHgzOCwgMHhlMywgMHhmNywgMHhmYywgMHg2NCwgMHhlYywgMHhlMywgMHhlNywgMHhkNywgMHgwOCwgMHhjNiwgMHhhMywKLSAgMHgwMiwgMHhmMiwgMHhhYiwgMHhhMywgMHhjMywgMHhmMSwgMHhmOSwgMHgyOCwgMHhiMiwgMHhjNiwgMHgzMCwgMHg2MSwKLSAgMHhjYSwgMHgxNSwgMHg0NCwgMHgxMywgMHhiMCwgMHhkOSwgMHgzYywgMHhiZCwgMHgyMywgMHhmNCwgMHg0YywgMHhhOSwKLSAgMHhhYiwgMHhhNCwgMHhiOSwgMHhmMSwgMHhkNCwgMHg3NCwgMHg2YywgMHgzMiwgMHg3MywgMHhiOSwgMHg4MywgMHgwYywKLSAgMHg1MiwgMHhlZSwgMHhjMiwgMHg5NCwgMHgyNCwgMHhiMywgMHg3NywgMHg5MywgMHg3YywgMHg0ZSwgMHgyYiwgMHgzMCwKLSAgMHhkMywgMHgzMiwgMHhjNiwgMHhkMCwgMHg0MiwgMHg4YSwgMHgyNiwgMHg1MCwgMHhhNSwgMHg1ZiwgMHhjZSwgMHgyOSwKLSAgMHg5MSwgMHg4MCwgMHhiZSwgMHhkMywgMHhmNiwgMHg0NCwgMHg1MCwgMHg0MiwgMHhiMiwgMHg0MCwgMHgxNywgMHhmNCwKLSAgMHgxNywgMHgyMiwgMHgxYiwgMHhiZCwgMHhhMywgMHhhNCwgMHhmNiwgMHg0ZiwgMHg3NiwgMHhhZSwgMHhiYSwgMHg1NywKLSAgMHgxYywgMHg3NSwgMHhmNiwgMHgxYSwgMHhmNiwgMHg1MSwgMHg4NywgMHg3YSwgMHgwMiwgMHg3MSwgMHgwOSwgMHhkMywKLSAgMHhiZCwgMHhkMywgMHhmYSwgMHhhMywgMHg0NiwgMHg3NiwgMHhkMSwgMHg1NiwgMHg5NCwgMHg4MiwgMHhjNiwgMHg2YiwKLSAgMHg3MywgMHg0ZSwgMHhiYiwgMHg5NiwgMHg5MCwgMHgzOSwgMHg2OCwgMHhkNCwgMHhjNCwgMHg1MywgMHg3NSwgMHg1NCwKLSAgMHg1MCwgMHgxYywgMHg0MSwgMHgwZSwgMHg4MCwgMHgyMiwgMHg5YiwgMHg2ZiwgMHhhZiwgMHgzOSwgMHg3MSwgMHg0ZCwKLSAgMHgxYywgMHhmMSwgMHhkYiwgMHg5ZSwgMHhkMiwgMHg2OCwgMHhmMSwgMHg1ZSwgMHg2YiwgMHhjOSwgMHhmNCwgMHgyYSwKLSAgMHgzMywgMHg1MiwgMHg2NCwgMHhlNCwgMHgyMSwgMHgzYiwgMHgzYywgMHg3OCwgMHg0MywgMHgzZSwgMHgwYiwgMHhlMCwKLSAgMHhmZiwgMHgyMiwgMHhkYiwgMHhmMywgMHg4YiwgMHgzNywgMHhlNCwgMHhkMSwgMHhhMywgMHg3MCwgMHg0MywgMHhhYSwKLSAgMHhlYywgMHg2ZiwgMHhiMywgMHgxOCwgMHgxNiwgMHgzYSwgMHgyYSwgMHg1MCwgMHg1MCwgMHhmZSwgMHhjMiwgMHg2NSwKLSAgMHgyMywgMHhlZiwgMHgxOCwgMHhkMCwgMHg5ZCwgMHhhNiwgMHhiYSwgMHg0MywgMHgyZCwgMHg4ZCwgMHgzNCwgMHg4ZiwKLSAgMHhkZSwgMHg4MSwgMHhlOSwgMHg5MSwgMHg4MSwgMHg0ZCwgMHgwMSwgMHhjOCwgMHhiMCwgMHgxZCwgMHhiYiwgMHhhMiwKLSAgMHg2ZSwgMHg3YSwgMHhmZCwgMHgzNywgMHhmMywgMHgzOCwgMHgxYywgMHg4OCwgMHg2NCwgMHgzNywgMHhjYiwgMHg0NywKLSAgMHhkNiwgMHhiMiwgMHgyYywgMHg0YSwgMHg2NSwgMHg0MSwgMHg2MywgMHgxYywgMHhhYSwgMHgzMSwgMHhiNSwgMHg3NywKLSAgMHg2NywgMHgzOCwgMHhiYywgMHg2OCwgMHg5NiwgMHg3NiwgMHg2MSwgMHg2YiwgMHhhOSwgMHg2MywgMHgzNywgMHhiNiwKLSAgMHgxOSwgMHg0NCwgMHgxYSwgMHg4NiwgMHgwZiwgMHhkNCwgMHgwZCwgMHgxNSwgMHg0NSwgMHg5OSwgMHhhOSwgMHhmYywKLSAgMHgxYSwgMHgzMiwgMHg5MSwgMHgwZSwgMHg0YiwgMHgzZSwgMHg5NSwgMHhkYywgMHg0ZiwgMHgyNiwgMHg5MiwgMHg4NiwKLSAgMHg0MywgMHg5NSwgMHhkNSwgMHg5MiwgMHhhNSwgMHgzYiwgMHg1YiwgMHgyMSwgMHhhMSwgMHg2OCwgMHg5MSwgMHgwMywKLSAgMHhhZCwgMHg3ZiwgMHhhNywgMHhiYywgMHhiOCwgMHg0MCwgMHg5MSwgMHg5ZSwgMHgyMSwgMHhjMiwgMHhhNiwgMHhjYSwKLSAgMHg4ZCwgMHg4MiwgMHgxZiwgMHhiYSwgMHhmYSwgMHgwMCwgMHhiNSwgMHhlYSwgMHg0YSwgMHgxYywgMHhmOCwgMHg5YiwKLSAgMHhlZSwgMHgxYiwgMHg1YywgMHgwNiwgMHhiNSwgMHg2ZSwgMHg0ZiwgMHg5ZSwgMHg4NiwgMHg3YiwgMHhkMiwgMHg0MywKLSAgMHgwZSwgMHhlNywgMHg5NSwgMHgzNiwgMHg0ZCwgMHg1YSwgMHg0ZiwgMHgxMSwgMHg2MSwgMHgwNiwgMHgyYSwgMHg3NSwKLSAgMHgyMiwgMHhkMiwgMHhlZSwgMHhmNiwgMHgwMCwgMHg3MywgMHg5MywgMHhkNiwgMHhmMiwgMHgwZiwgMHgyNSwgMHg4ZSwKLSAgMHg5MCwgMHhhMSwgMHg4MiwgMHg1NCwgMHg1YSwgMHhkZCwgMHhiNiwgMHg5NSwgMHgwNiwgMHg0NCwgMHhhYywgMHg2OSwKLSAgMHhjMCwgMHg1OCwgMHhhOCwgMHgwMiwgMHgzMywgMHg5NSwgMHgyMiwgMHg4ZiwgMHg4MCwgMHgwMywgMHgxNiwgMHg1NCwKLSAgMHg2YSwgMHg3YywgMHg5ZCwgMHhjZCwgMHg1MSwgMHg4MiwgMHg5OSwgMHgxNSwgMHhkMywgMHhlYSwgMHg2ZSwgMHhlOSwKLSAgMHgzNywgMHgzNCwgMHg5OCwgMHhkZCwgMHg2MywgMHhkNSwgMHhkYywgMHg0MywgMHg5NSwgMHhhZCwgMHg3YSwgMHhhOSwKLSAgMHgzZCwgMHhjMywgMHhmZiwgMHhiNywgMHg0MywgMHg5ZCwgMHgzNCwgMHg1NSwgMHhhMSwgMHhjNywgMHgwNiwgMHgxYiwKLSAgMHg4YywgMHg5MSwgMHhjNiwgMHgyZiwgMHg5ZiwgMHgyMCwgMHhlMywgMHg0ZSwgMHg4NSwgMHgxOSwgMHg2MywgMHg4YSwKLSAgMHgwYSwgMHg4YSwgMHg2MywgMHg3MiwgMHgxMSwgMHgzYSwgMHhkNSwgMHg2OSwgMHg2YiwgMHg2ZCwgMHg3NSwgMHhjNCwKLSAgMHg4MywgMHg2ZiwgMHhjMywgMHhmZSwgMHg4MCwgMHhmNywgMHhlYiwgMHg3YSwgMHgzZiwgMHhiOCwgMHgwMCwgMHhlMywKLSAgMHg5MywgMHg2ZCwgMHg4MiwgMHhlYywgMHhhZSwgMHgwOCwgMHg0MiwgMHhhNywgMHhlNSwgMHhhYSwgMHgyMywgMHgyNiwKLSAgMHhhNiwgMHg0ZCwgMHhkYiwgMHhmNiwgMHg5OSwgMHg5YywgMHhmZCwgMHgxNiwgMHhkNiwgMHg2YywgMHg3OCwgMHgwNCwKLSAgMHg2OSwgMHg2NSwgMHgyOCwgMHg5NywgMHg2NywgMHhmZSwgMHhjNywgMHg2NSwgMHhjYiwgMHg2MywgMHgyMywgMHg2YiwKLSAgMHgzOCwgMHhkNywgMHhiMywgMHhkZCwgMHg2MiwgMHhkNiwgMHg1NiwgMHg4MiwgMHhkMywgMHhkMywgMHhkNywgMHhmYiwKLSAgMHhiZCwgMHhlMCwgMHhmYywgMHgyMywgMHhmOSwgMHgzZCwgMHhjYSwgMHhmYSwgMHg2NywgMHgxOSwgMHhmMCwgMHhlZCwKLSAgMHgxNSwgMHg1ZiwgMHg5NCwgMHhhYSwgMHhkYSwgMHg5OCwgMHhkYSwgMHg5MCwgMHhlYiwgMHg0YywgMHgxZSwgMHhmYiwKLSAgMHgyNywgMHg3YiwgMHg0ZiwgMHg5ZiwgMHg2YywgMHg0NywgMHgxMywgMHgwZiwgMHg5OCwgMHg5OCwgMHhhOCwgMHhkYywKLSAgMHhiMywgMHg2OSwgMHg5NiwgMHg1NCwgMHhiNCwgMHgyYywgMHg2NCwgMHg0NCwgMHhmZiwgMHhkYywgMHgxZiwgMHhmOSwKLSAgMHg3YiwgMHgxNCwgMHg3NiwgMHg3YywgMHhlOSwgMHg4YSwgMHhlOSwgMHg2MiwgMHg0NiwgMHgwNCwgMHg0MSwgMHhkYiwKLSAgMHhhMCwgMHgxZCwgMHgzMCwgMHg4OCwgMHg1MCwgMHg2YywgMHhlZiwgMHg1YywgMHhlNSwgMHg3YiwgMHgyMCwgMHhlNCwKLSAgMHhkMCwgMHg0YywgMHgwZSwgMHhkMCwgMHhmOSwgMHg2MSwgMHgzNiwgMHgwZiwgMHgwZiwgMHg3NCwgMHgwMiwgMHgwNywKLSAgMHgzYywgMHgzMywgMHhhZiwgMHg2NSwgMHgyOSwgMHhjZiwgMHgxNCwgMHg3ZiwgMHgxZiwgMHhiNSwgMHhmZiwgMHhlNSwKLSAgMHgwNywgMHg3OCwgMHhkZCwgMHgwMCwgMHhiZiwgMHhlZSwgMHg5NCwgMHgwZiwgMHgzZSwgMHhmNSwgMHgyOSwgMHgxZiwKLSAgMHhkYywgMHg3MywgMHhjYSwgMHgwNywgMHgwZiwgMHgzZCwgMHhlNSwgMHhhNywgMHg4ZiwgMHg5ZiwgMHg3YywgMHhmZSwKLSAgMHhlYiwgMHg0ZSwgMHhkOSwgMHhkYiwgMHhlNCwgMHhmZiwgMHgzNSwgMHhhNywgMHhlYywgMHg5MSwgMHhkOSwgMHhhZiwKLSAgMHgzYiwgMHg2NSwgMHg0OSwgMHg5NCwgMHhlOSwgMHgxNiwgMHhhOSwgMHg0YSwgMHg0MiwgMHgxMCwgMHg5NywgMHgxOCwKLSAgMHgxMywgMHhiZSwgMHgwOCwgMHg2NywgMHg2OSwgMHhmMywgMHhjMywgMHg2MSwgMHhmMSwgMHg5OSwgMHg3NCwgMHhlNCwKLSAgMHhlNCwgMHg0ZSwgMHg4MCwgMHg0NiwgMHgzNSwgMHg4ZCwgMHgzOCwgMHgxZSwgMHgxYywgMHhkOCwgMHgwOSwgMHg3NCwKLSAgMHhmZSwgMHhlNSwgMHg5YywgMHgxYSwgMHhjYSwgMHg2ZCwgMHgwZSwgMHgzNywgMHgzNSwgMHg5YywgMHhhZiwgMHgyNSwKLSAgMHhhNSwgMHg4YSwgMHgxNSwgMHhjNiwgMHg1ZiwgMHgzMywgMHg4NywgMHhmZCwgMHgyZiwgMHg0NCwgMHg5YSwgMHgwYiwKLSAgMHhmMywgMHg4OCwgMHhiYywgMHg0YywgMHhiMCwgMHhmNiwgMHhhNiwgMHhkZCwgMHgxOSwgMHgyMSwgMHgzYywgMHhlNCwKLSAgMHhhYywgMHhhYywgMHg2OCwgMHg0NiwgMHg2MCwgMHhhZCwgMHhlOSwgMHg5NCwgMHgwYywgMHg3NywgMHhhNSwgMHg5ZSwKLSAgMHhhYiwgMHg4OSwgMHhkMSwgMHg5MywgMHg4ZCwgMHgwOCwgMHgyOCwgMHgyOCwgMHhjZiwgMHhlOSwgMHg2ZSwgMHg5ZSwKLSAgMHg4OSwgMHg2MCwgMHhhNywgMHgzNSwgMHgyMywgMHg0ZSwgMHg0MSwgMHhlZSwgMHg4ZCwgMHhhZSwgMHg5YiwgMHg1YywKLSAgMHhmYSwgMHgyNywgMHg1OSwgMHg5MCwgMHg0MSwgMHhjZCwgMHhlMywgMHgxYSwgMHg0OSwgMHgyOCwgMHhkNSwgMHgyOCwKLSAgMHhhZCwgMHhhZCwgMHhlOSwgMHg2MCwgMHhlNywgMHhjYywgMHg0NSwgMHhlMSwgMHg1OCwgMHhjYywgMHgyMiwgMHgwMiwKLSAgMHg4MCwgMHhiNCwgMHgyZSwgMHhlOSwgMHhiMSwgMHg5YiwgMHg4NCwgMHhkOCwgMHhkMywgMHhhZiwgMHgyOSwgMHg5NiwKLSAgMHg5NCwgMHgxNywgMHhiNCwgMHhlZSwgMHhiMiwgMHg0NywgMHhjMywgMHhkMCwgMHg3MywgMHhiNiwgMHg5ZCwgMHg5NCwKLSAgMHgyZCwgMHhkOSwgMHg4MCwgMHhjZiwgMHg4MCwgMHhlYSwgMHgzNSwgMHg4MiwgMHhlMiwgMHg2YywgMHg5NCwgMHg5NywKLSAgMHhjYiwgMHg3YSwgMHhiNCwgMHgzZiwgMHg5NiwgMHhmNywgMHg3YSwgMHgzYiwgMHg3ZiwgMHhiOSwgMHhiZSwgMHhhNywKLSAgMHg4ZSwgMHg4OCwgMHg3MiwgMHhmMSwgMHgxYiwgMHhhZiwgMHg1NSwgMHhhOCwgMHg1OCwgMHhjNCwgMHhhZiwgMHg2OCwKLSAgMHhiYSwgMHhiMywgMHhkNSwgMHg2MiwgMHhhOSwgMHhmMCwgMHg5MCwgMHg1NCwgMHhmMiwgMHg5NSwgMHgyMywgMHhiNSwKLSAgMHg0ZCwgMHgxMSwgMHgyMiwgMHgzOCwgMHgwZiwgMHgzZCwgMHhlMiwgMHg1YSwgMHhiNCwgMHgxNSwgMHg2MCwgMHgzNiwKLSAgMHhlYiwgMHg4ZiwgMHhmZCwgMHg3OCwgMHg3YSwgMHg1YSwgMHg4MiwgMHg3MSwgMHhjMCwgMHgyYiwgMHg0MCwgMHgzMiwKLSAgMHg5ZiwgMHhjNSwgMHhhNSwgMHgwYiwgMHhkMiwgMHgzMSwgMHhlOCwgMHg5ZSwgMHg5OSwgMHg2OSwgMHhjZiwgMHhiMiwKLSAgMHhjOSwgMHhlYSwgMHg1MiwgMHg1MSwgMHgxNiwgMHg2YywgMHhjYiwgMHhiZiwgMHgzNiwgMHg0ZCwgMHhhMiwgMHgyOCwKLSAgMHg4ZCwgMHg1MCwgMHg5NywgMHhiMiwgMHgwMSwgMHhhNywgMHgxNiwgMHhhNiwgMHhjNSwgMHg1ZCwgMHgwOCwgMHgzOCwKLSAgMHhkMywgMHg1MCwgMHhiYiwgMHhjYiwgMHhlOSwgMHhiYSwgMHg4NCwgMHhiOSwgMHg2MCwgMHhlOSwgMHgyMCwgMHhmNiwKLSAgMHg3YywgMHhlMCwgMHgyZCwgMHgxZCwgMHgzZiwgMHg2OSwgMHg5ZCwgMHg2OCwgMHhhNCwgMHg5ZCwgMHg5OCwgMHg0ZiwKLSAgMHgyYSwgMHhjZCwgMHg3NCwgMHgzOSwgMHhiYywgMHg0OCwgMHgwOSwgMHhhZSwgMHgzNSwgMHgyOCwgMHhiNiwgMHg5NywKLSAgMHgyNCwgMHg1OSwgMHhiOSwgMHgwMywgMHhlNywgMHgyZiwgMHhjZiwgMHg5MiwgMHhkNywgMHhhOSwgMHhiNCwgMHg2MCwKLSAgMHg0YSwgMHhiNiwgMHgwYywgMHgwNywgMHg3ZSwgMHhmYSwgMHg2OCwgMHhlZiwgMHg2MCwgMHg3YiwgMHhhZCwgMHg2ZCwKLSAgMHhkMiwgMHg4NiwgMHgyMCwgMHhjMywgMHhiNywgMHg4YSwgMHgzMiwgMHg5NiwgMHhjNCwgMHg3ZiwgMHhiZSwgMHhhYSwKLSAgMHgwYSwgMHg4NSwgMHgzNiwgMHgzMiwgMHgxZiwgMHhmYSwgMHhmMCwgMHhmNiwgMHhmNCwgMHhkNSwgMHhkMSwgMHhjOSwKLSAgMHhlMSwgMHg1ZiwgMHgyYywgMHg4OCwgMHgwNiwgMHhlZCwgMHg4MSwgMHg1NiwgMHg2MywgMHg3ZiwgMHgzMCwgMHgxNiwKLSAgMHhmZCwgMHhkZCwgMHg4NywgMHgzYSwgMHgzMywgMHg1MywgMHg2ZSwgMHhiNiwgMHgwZSwgMHhiNiwgMHgwMSwgMHg3NiwKLSAgMHgxMSwgMHgzNCwgMHhjYSwgMHhiYywgMHhjYywgMHg1YSwgMHgwOCwgMHgyNCwgMHg1MiwgMHg1MSwgMHhiMSwgMHgwNiwKLSAgMHg0NCwgMHg2YiwgMHg2YywgMHhmYiwgMHhhYywgMHhlZSwgMHg4ZSwgMHgwYywgMHg3YiwgMHg5NiwgMHg1NCwgMHg1NCwKLSAgMHg2ZSwgMHgyNiwgMHhlMSwgMHg4OCwgMHhkNCwgMHhlYiwgMHgyNiwgMHg5MywgMHgwYSwgMHhjZSwgMHg5ZSwgMHhjMCwKLSAgMHg0OSwgMHgwNCwgMHhlZCwgMHg5OCwgMHg5NiwgMHhmMywgMHg3YywgMHg5YSwgMHg5MywgMHgwNSwgMHgyNywgMHhiNywKLSAgMHg5YSwgMHgyYSwgMHgzNSwgMHgyZSwgMHgyZSwgMHhkYSwgMHg1MCwgMHg5ZCwgMHgyOCwgMHg2OCwgMHg0NiwgMHgwOSwKLSAgMHhjNywgMHg1YSwgMHgwNywgMHg2MywgMHg5YiwgMHhmNywgMHgzNywgMHgxMCwgMHgxNiwgMHhkOSwgMHhiYywgMHhjOCwKLSAgMHg5YSwgMHhhMSwgMHg0YywgMHhlYiwgMHg4NSwgMHhmOSwgMHhmMywgMHg4YiwgMHhlYiwgMHg3NCwgMHgxZSwgMHg5NCwKLSAgMHhjOSwgMHg1MywgMHg5ZiwgMHg0OSwgMHhhNSwgMHg0ZCwgMHg5YiwgMHg1MCwgMHg0YSwgMHg2ZiwgMHg3YSwgMHg2ZCwKLSAgMHg2OCwgMHhjNiwgMHhiNiwgMHgxYiwgMHg4YiwgMHgzZSwgMHg2OSwgMHhhZSwgMHg0YSwgMHhkMCwgMHg3NSwgMHhlNSwKLSAgMHhmYywgMHhmYywgMHgyZiwgMHg2NywgMHg0NywgMHg1ZiwgMHhiYywgMHgyMCwgMHgzNiwgMHhmNiwgMHg2NywgMHhhYSwKLSAgMHhjNywgMHhhOSwgMHg1YiwgMHg1YywgMHgyZCwgMHhhMSwgMHhiZSwgMHhmNiwgMHhjMSwgMHgxYSwgMHg3ZSwgMHg3OCwKLSAgMHg3NSwgMHgzYywgMHgzZSwgMHgzYiwgMHgzOSwgMHg3ZCwgMHhmOSwgMHhjNSwgMHg4YiwgMHgxZiwgMHhjOCwgMHhjNCwKLSAgMHgzMSwgMHhjMiwgMHhlMywgMHhjZSwgMHg3YiwgMHhkNywgMHhmZSwgMHhjYywgMHgzNiwgMHg5NiwgMHgwOCwgMHg0MSwKLSAgMHg1NiwgMHg4ZSwgMHhiZSwgMHhmZiwgMHg3MCwgMHhmNCwgMHhmNiwgMHhiYiwgMHgyZiwgMHg1ZSwgMHg1YywgMHhhNywKLSAgMHhkNSwgMHg4MCwgMHhkNiwgMHhjNywgMHg2ZiwgMHhmNywgMHhiNCwgMHg3MSwgMHg2ZCwgMHg5MSwgMHgxYSwgMHgyOSwKLSAgMHhlNywgMHg5MywgMHhmOSwgMHhjNywgMHgzYSwgMHhmZiwgMHg3YiwgMHg5NiwgMHg5OCwgMHhkNywgMHhlNywgMHhhYiwKLSAgMHgxMCwgMHhkYSwgMHhmZCwgMHg1YywgMHg1YSwgMHg4MywgMHgxOSwgMHhlOSwgMHg0ZCwgMHhlNiwgMHhkMCwgMHg1NywKLSAgMHgyNywgMHhkZiwgMHgxMiwgMHg3YywgMHhiMCwgMHg3NSwgMHgxZSwgMHgyZiwgMHhiOCwgMHgxNywgMHg1NSwgMHhmMiwKLSAgMHhlNywgMHhjNywgMHg3YiwgMHhmYiwgMHhkYiwgMHhhZSwgMHgwMywgMHgyYSwgMHhlMCwgMHhjNywgMHhjZCwgMHg4YywKLSAgMHgzZiwgMHgwNiwgMHg5NSwgMHg2NCwgMHg3ZiwgMHg1NywgMHgxOCwgMHg0NSwgMHg1YiwgMHhlMiwgMHhkMSwgMHgzOCwKLSAgMHg4YiwgMHg4YSwgMHg0ZCwgMHg0MSwgMHhmMSwgMHhjNCwgMHhhMSwgMHg2MCwgMHg4MSwgMHg4MSwgMHg4ZCwgMHg0YSwKLSAgMHg2MiwgMHgwOCwgMHg5NCwgMHhjOSwgMHgxZiwgMHg3OCwgMHgyMSwgMHhjZiwgMHg1ZiwgMHg3YiwgMHhjMCwgMHgzZiwKLSAgMHg1ZiwgMHgzOSwgMHhjMiwgMHgzMywgMHhkMywgMHgxMSwgMHg0ZiwgMHhlNiwgMHg1YSwgMHhmOSwgMHhmOCwgMHgwOSwKLSAgMHhlMywgMHg1YiwgMHg1ZCwgMHgzMywgMHgxYiwgMHg5YiwgMHg2ZCwgMHgwNCwgMHg5YSwgMHhkMCwgMHg0ZiwgMHg3YywKLSAgMHg5ZiwgMHhiZCwgMHgzYywgMHgwMCwgMHg1NCwgMHhjNSwgMHg5NSwgMHgwYywgMHg1NSwgMHg4OSwgMHg1NSwgMHgyYSwKLSAgMHhlMSwgMHgyOSwgMHhjZSwgMHhjMiwgMHg1YSwgMHgyNywgMHg0MSwgMHhiZSwgMHhhMCwgMHg2MiwgMHg2YywgMHgyYSwKLSAgMHg1ZCwgMHg2MiwgMHg4NywgMHg5NywgMHhlNywgMHhjZSwgMHg5YSwgMHg2NywgMHg5NywgMHhlOSwgMHhmNCwgMHgyZSwKLSAgMHhiMSwgMHhhMCwgMHhkYiwgMHg1MiwgMHg4MywgMHgzMCwgMHhlYiwgMHhkZSwgMHg0ZSwgMHhmNiwgMHg3YiwgMHg0ZSwKLSAgMHhjOSwgMHg5NiwgMHgzMywgMHgxMiwgMHg5OCwgMHhiMCwgMHg1MCwgMHg4OCwgMHgyYiwgMHgzMywgMHhiZSwgMHgwYywKLSAgMHgxNSwgMHhhZiwgMHhhYSwgMHgyZiwgMHhhYywgMHgzNSwgMHhiYiwgMHgxMSwgMHhjYiwgMHg0YiwgMHhkYSwgMHhkNCwKLSAgMHhhZSwgMHg3NCwgMHg2ZSwgMHg2ZiwgMHg3MSwgMHg4NywgMHhmYSwgMHg4OCwgMHg2YywgMHhlMCwgMHgzZCwgMHg1OCwKLSAgMHhiYiwgMHhhNywgMHg4ZiwgMHhkYSwgMHg1MSwgMHg4NCwgMHhiZiwgMHhlMywgMHg5MiwgMHgxMywgMHgzMiwgMHgxOSwKLSAgMHgxYywgMHhkNSwgMHgyZiwgMHhlOCwgMHhhZiwgMHhiZCwgMHhiZCwgMHgwOSwgMHhkOCwgMHg5MywgMHhjMywgMHgxZCwKLSAgMHhiOCwgMHgxZCwgMHg5YSwgMHhhNywgMHgyZCwgMHhiNywgMHg5MCwgMHg2NiwgMHgzZiwgMHgwNCwgMHgxZiwgMHhkMCwKLSAgMHhhOCwgMHg1YiwgMHhiYywgMHgxNywgMHhmNywgMHg0ZiwgMHhhYiwgMHg3ZiwgMHhjOSwgMHgzYiwgMHg2ZSwgMHgxZSwKLSAgMHhiNywgMHhmZCwgMHhiZiwgMHg3YSwgMHg4NiwgMHhiNCwgMHgwNSwgMHhhYiwgMHg2MSwgMHhkOCwgMHgwYSwgMHhjNSwKLSAgMHg5MiwgMHg5NCwgMHg5ZSwgMHhmMSwgMHg4MiwgMHgwNiwgMHgyMiwgMHg4ZSwgMHg0OCwgMHgyYSwgMHg4OSwgMHhkOSwKLSAgMHhhOCwgMHgzZiwgMHg2YiwgMHgyMCwgMHgyYywgMHhmNSwgMHhhMSwgMHg5MSwgMHhmMCwgMHgxMCwgMHhjMywgMHhlYiwKLSAgMHg5MCwgMHgxMiwgMHg1ZCwgMHg0NSwgMHgzMywgMHhmZSwgMHhkNSwgMHg2ZiwgMHhjMCwgMHg0OSwgMHgyYiwgMHgxNCwKLSAgMHg2NCwgMHhiNCwgMHg1MCwgMHhkYiwgMHg2NiwgMHg5MiwgMHhiNSwgMHg2YSwgMHhhNSwgMHg1NCwgMHgxNywgMHgwYSwKLSAgMHgyMywgMHhkZCwgMHg4MSwgMHhmMSwgMHhjNiwgMHg1YSwgMHhkNywgMHg2YSwgMHgxNSwgMHhhMywgMHg0MiwgMHhhNCwKLSAgMHhmMywgMHhhYSwgMHhjNCwgMHhiZCwgMHg4MiwgMHhmOSwgMHg2YywgMHgyZCwgMHg2OCwgMHgxOSwgMHhkYiwgMHg1MiwKLSAgMHg2YSwgMHhjMywgMHhmZCwgMHgzMSwgMHg5MiwgMHhiZSwgMHgyNiwgMHhmNiwgMHgxZCwgMHgzMSwgMHg2NSwgMHg0NiwKLSAgMHhhNSwgMHgzMSwgMHg0OCwgMHg0NCwgMHgxOSwgMHgwOSwgMHgwNSwgMHg5OSwgMHhjNCwgMHg3ZSwgMHg5YywgMHhjZSwKLSAgMHg3NiwgMHg0NCwgMHgyYSwgMHhiMiwgMHgxYiwgMHgyZSwgMHg2YywgMHhlOCwgMHg4YSwgMHgyOCwgMHgwMiwgMHg1YSwKLSAgMHhkNywgMHg2MiwgMHg4MiwgMHhkNiwgMHgwOCwgMHg3ZSwgMHg4NywgMHhiZSwgMHhhZCwgMHhlMSwgMHhiNiwgMHg4NSwKLSAgMHg1NSwgMHhjOCwgMHgxYiwgMHhhYiwgMHhiNCwgMHg0NSwgMHg2MCwgMHg4OCwgMHgxMiwgMHg4YiwgMHgwNiwgMHg2ZiwKLSAgMHhlMSwgMHhlYywgMHhkOCwgMHgxZiwgMHgyYywgMHgzMSwgMHhhOCwgMHg0YywgMHg0OCwgMHg4MiwgMHhiZSwgMHhiNiwKLSAgMHhjMywgMHhmNSwgMHhiMCwgMHhjYSwgMHg4MywgMHhmMiwgMHhiMCwgMHgxYywgMHgzZiwgMHgxOCwgMHhhYiwgMHhjOCwKLSAgMHg2ZSwgMHhmYywgMHhiMSwgMHg5YywgMHhkOSwgMHg2MSwgMHhjNywgMHhmYiwgMHg5NCwgMHgxMSwgMHgwMCwgMHg2MywKLSAgMHgzMywgMHg1MSwgMHgwZCwgMHg1ZiwgMHhmMiwgMHhlMiwgMHhiYiwgMHhhMywgMHg3NywgMHhlMywgMHhlMywgMHhkMywKLSAgMHhiNywgMHg3ZiwgMHg4ZSwgMHg5YSwgMHhjMywgMHhmMiwgMHg0YiwgMHhkYiwgMHhmYywgMHg0ZSwgMHhhYiwgMHg3ZiwKLSAgMHg1ZCwgMHg4NywgMHgzMiwgMHhmMiwgMHg4MiwgMHhhOSwgMHhhZiwgMHg4NSwgMHg4MSwgMHhhMCwgMHhmMiwgMHg4MiwKLSAgMHgxZSwgMHgwOSwgMHgzYSwgMHg5ZiwgMHg0ZCwgMHhiMywgMHg2NSwgMHhjMywgMHgyNSwgMHg4OCwgMHg2YSwgMHg0YSwKLSAgMHhiYiwgMHgyZSwgMHhhYiwgMHg5NCwgMHg0YywgMHhjOSwgMHg0NiwgMHhkYywgMHhlZSwgMHg0MCwgMHhmZiwgMHhiNiwKLSAgMHg2NywgMHhmZiwgMHhiNiwgMHgxZiwgMHg1MiwgMHgzYiwgMHhmZiwgMHhlMiwgMHgyMCwgMHhkOCwgMHhhMCwgMHg3OCwKLSAgMHgxMiwgMHg5MywgMHg5NywgMHg0MywgMHhiMCwgMHg1YSwgMHg3MiwgMHhkZCwgMHgyOCwgMHhlMSwgMHhiYiwgMHgzMCwKLSAgMHgxYSwgMHg5NCwgMHhiZiwgMHg4MCwgMHhhMCwgMHg5NywgMHgwNSwgMHgzNSwgMHg0MSwgMHhmNiwgMHg1ZiwgMHgzNCwKLSAgMHgwZiwgMHg1ZiwgMHhlZiwgMHg3OSwgMHg1NSwgMHgzZCwgMHhmNiwgMHhiOSwgMHhiZCwgMHhkOCwgMHg3MywgMHg3YiwKLSAgMHhlMSwgMHg3MywgMHhmYiwgMHhiMSwgMHhlNywgMHhmNiwgMHhjMywgMHhlNywgMHgwZSwgMHg2MiwgMHhjZiwgMHg3OSwKLSAgMHhlYiwgMHhmNSwgMHgxYywgMHg3ZiwgMHhiMiwgMHg3MSwgMHhlYiwgMHgyYywgMHhlMywgMHhkNiwgMHhiZiwgMHgwZSwKLSAgMHg0NiwgMHhlZSwgMHhmOCwgMHgzZiwgMHhiMywgMHhkZSwgMHg4YSwgMHg2ZSwgMHhmYiwgMHhkZSwgMHg1ZiwgMHg2NCwKLSAgMHhkOCwgMHgyYiwgMHg5ZiwgMHhkNiwgMHhlMSwgMHg4YywgMHg5NiwgMHhkOCwgMHg3MSwgMHhiYiwgMHg5YiwgMHhlZiwKLSAgMHhlZCwgMHgxZCwgMHgwYywgMHhhNywgMHhmOSwgMHhmMiwgMHg4YSwgMHhlNCwgMHhjZSwgMHgwYiwgMHhlZCwgMHg3NiwKLSAgMHg0NywgMHg5YiwgMHg0ZiwgMHg4YiwgMHg5NSwgMHg1ZiwgMHhhYywgMHhjOCwgMHgyMiwgMHgwZiwgMHhmNSwgMHg5MCwKLSAgMHg5MywgMHhiMSwgMHgwZiwgMHhlMSwgMHgyNCwgMHhhOCwgMHhhNSwgMHg3OCwgMHgyMywgMHhlMSwgMHg1NywgMHgxYywKLSAgMHg4MCwgMHg1MywgMHhkNywgMHhlNywgMHgxZSwgMHg0MiwgMHhhNywgMHhlNSwgMHg0ZCwgMHg2MiwgMHhiZCwgMHgzNywKLSAgMHhlNCwgMHhlOCwgMHg5MSwgMHgyOSwgMHgzMCwgMHhmMSwgMHhlYSwgMHhiYywgMHg3NCwgMHhhMiwgMHgzMiwgMHgzYywKLSAgMHg3NywgMHg5MSwgMHhlNCwgMHg3NCwgMHg4NCwgMHhhZSwgMHg2YiwgMHgxNywgMHg2ZCwgMHgzZiwgMHhlNCwgMHg3OSwKLSAgMHg4MSwgMHhmZCwgMHhhMywgMHg2ZSwgMHg3NSwgMHg0NSwgMHg2NywgMHg2ZCwgMHgzYywgMHg5NCwgMHg4MywgMHhmYywKLSAgMHg0MywgMHg0MSwgMHg1MSwgMHgyOCwgMHgyYSwgMHhkZiwgMHhiZiwgMHgzYiwgMHgwOSwgMHg1NCwgMHhjYiwgMHg4NCwKLSAgMHhmYywgMHgzMiwgMHhmNSwgMHhmMywgMHg5ZCwgMHgxZCwgMHg3NCwgMHg1ZCwgMHhiZiwgMHg0YSwgMHg2ZiwgMHg2ZiwKLSAgMHg0NywgMHg3NSwgMHhiNiwgMHg2MywgMHhmOCwgMHg0OSwgMHhiZCwgMHgwMywgMHg4NywgMHhhZiwgMHg3YywgMHhmYiwKLSAgMHhhYSwgMHg1OSwgMHhjYywgMHhkNywgMHgzYiwgMHg2YSwgMHg3MywgMHhmNiwgMHg2YiwgMHgxMSwgMHhjYSwgMHg4ZiwKLSAgMHg2MCwgMHg1NCwgMHhjZSwgMHgxOCwgMHg4ZCwgMHhhMiwgMHhkNSwgMHhmOCwgMHhkOCwgMHgxZSwgMHg3MSwgMHg1OCwKLSAgMHhmZSwgMHgyNiwgMHhkZCwgMHg2NSwgMHhkMSwgMHhkYiwgMHg3YSwgMHg4ZiwgMHgyNCwgMHgxZiwgMHgyNCwgMHgyNiwKLSAgMHg0MiwgMHhiYywgMHg4OCwgMHhjZCwgMHgwMCwgMHgyMiwgMHg5YSwgMHhiMywgMHg0MSwgMHgxYywgMHg5ZSwgMHgxMCwKLSAgMHhiZCwgMHg0MCwgMHgyNSwgMHhjNiwgMHg1OSwgMHgxMCwgMHhlMiwgMHhiMSwgMHhjOCwgMHg0MSwgMHgxNSwgMHhiYSwKLSAgMHgwNCwgMHhjMCwgMHg1OSwgMHgxMCwgMHhkYiwgMHhiNSwgMHhkYSwgMHgwZiwgMHgwNiwgMHgyMSwgMHg3ZSwgMHhjYSwKLSAgMHg0YiwgMHg4ZSwgMHhhYSwgMHgxOSwgMHg5ZiwgMHg5OCwgMHg2OSwgMHg1MiwgMHg5YSwgMHgyMiwgMHgyOSwgMHhmMywKLSAgMHg0NiwgMHhlNSwgMHgzMCwgMHhmZiwgMHhmZCwgMHg3MywgMHg1OCwgMHg4OCwgMHg4ZiwgMHgxNSwgMHg3NCwgMHg5MywKLSAgMHgxOSwgMHg0OSwgMHhmYiwgMHhhNywgMHgzMiwgMHgzOCwgMHhkZSwgMHg3YSwgMHhmZSwgMHg1YSwgMHhhYiwgMHg2OSwKLSAgMHgwOCwgMHg5MCwgMHhhOCwgMHhlMiwgMHg3MCwgMHgwOSwgMHgzOCwgMHhiNiwgMHg4ZCwgMHhmMSwgMHhiYiwgMHhiMywKLSAgMHg4ZCwgMHgwMSwgMHhlNywgMHhiMCwgMHhkMiwgMHgxNywgMHg4NiwgMHhlNiwgMHhkZiwgMHgwOSwgMHhhYywgMHg0YywKLSAgMHg2YSwgMHgzOSwgMHhmNCwgMHhmOCwgMHhkMSwgMHhiNiwgMHg2MCwgMHgwNywgMHg2MywgMHg4ZSwgMHg1YywgMHg0ZSwKLSAgMHgxYSwgMHg4NiwgMHhkNCwgMHhmMCwgMHg0YiwgMHg5NywgMHg3MCwgMHg1OSwgMHhiNSwgMHg5YSwgMHg4MywgMHgxOSwKLSAgMHhmYiwgMHhhZiwgMHhiZCwgMHg0MCwgMHhjZSwgMHg4NCwgMHgxYSwgMHg3MCwgMHg2NiwgMHhjYiwgMHgxYSwgMHhiNSwKLSAgMHhjZSwgMHg4NywgMHhjMiwgMHhlNCwgMHg3OSwgMHg4ZSwgMHgzYSwgMHg1MSwgMHhhYiwgMHhiMiwgMHhmYSwgMHgyOCwKLSAgMHgzZCwgMHg1MiwgMHgyNCwgMHhjYSwgMHgwMSwgMHhlNiwgMHgxMiwgMHg3NCwgMHhhNCwgMHg2ZSwgMHgzMSwgMHg5YiwKLSAgMHhiNiwgMHg3NywgMHhkNCwgMHg1YiwgMHhiMywgMHg2YywgMHg5OCwgMHhjMywgMHgwNSwgMHhlYywgMHg2OSwgMHhiYiwKLSAgMHhhYywgMHhiNCwgMHg2YSwgMHgzNiwgMHhlYywgMHhlYiwgMHg2MiwgMHg0NSwgMHg4NywgMHg4MiwgMHg4MSwgMHg3NCwKLSAgMHgxYywgMHgxOSwgMHhlNiwgMHgxZSwgMHhmYywgMHg5ZSwgMHg0NywgMHg5ZCwgMHhkMywgMHhkNywgMHhjZCwgMHg4YiwKLSAgMHgxYywgMHg3YiwgMHg2MiwgMHgzNywgMHgxNiwgMHg4NywgMHgwNCwgMHg5YiwgMHg0NiwgMHgzMSwgMHg0YSwgMHgyMywKLSAgMHgyNCwgMHhhMSwgMHg3OCwgMHg4OSwgMHg3ZCwgMHgxNSwgMHg3NiwgMHg4YSwgMHhiNywgMHhlMywgMHg5ZCwgMHhjOCwKLSAgMHg0OCwgMHgwMywgMHg5MiwgMHhjMiwgMHhhNiwgMHhkZCwgMHg1OSwgMHg3YiwgMHgzZCwgMHg0MiwgMHhlMiwgMHhhNiwKLSAgMHg4MSwgMHhlYSwgMHg4NSwgMHgyZSwgMHhhNSwgMHg0NywgMHhkOSwgMHhkZSwgMHhiZCwgMHhlYiwgMHhmNywgMHg5NywKLSAgMHg4ZiwgMHg4ZiwgMHg0NSwgMHg3MywgMHhkNiwgMHg2OSwgMHgwNywgMHgzNCwgMHhhNywgMHhmNywgMHg0MSwgMHhlYiwKLSAgMHhkNywgMHgwZCwgMHg1OCwgMHhiMywgMHgwMywgMHg3MiwgMHhmMiwgMHg5ZCwgMHgzZCwgMHg3MCwgMHg5YiwgMHhlMCwKLSAgMHhlZCwgMHg4MiwgMHgyMywgMHg2YSwgMHhkYSwgMHg4OSwgMHg4MCwgMHg1MiwgMHgzZiwgMHhjNSwgMHhiZSwgMHhiNCwKLSAgMHgzNiwgMHg4NiwgMHgwNCwgMHg3MCwgMHg1NCwgMHg2YywgMHg0OSwgMHgzOCwgMHhjMSwgMHg4ZiwgMHgyNiwgMHg3OCwKLSAgMHgwYSwgMHgwNywgMHgxNCwgMHgwYywgMHg2NSwgMHhhMywgMHhlZCwgMHgwNCwgMHhlZiwgMHhkZSwgMHgzYSwgMHgxNiwKLSAgMHgwOSwgMHgyYywgMHhkMCwgMHgyOCwgMHhkYSwgMHgzOSwgMHgyNiwgMHg4MiwgMHgyMywgMHg0NSwgMHgwZSwgMHg1OSwKLSAgMHhmZCwgMHg4YSwgMHhmNCwgMHgyYiwgMHg5NSwgMHgyNiwgMHhlNCwgMHg5ZCwgMHg3MCwgMHhiMiwgMHhhYSwgMHhhNSwKLSAgMHg1MiwgMHhjMSwgMHgzZSwgMHgwZiwgMHg5MywgMHg1YywgMHgzZSwgMHhkMCwgMHhjZCwgMHhmZCwgMHgyMCwgMHgxYiwKLSAgMHhiMywgMHhjYiwgMHgzNSwgMHhmNCwgMHgwMCwgMHgyYSwgMHhjZCwgMHhhOSwgMHhkZCwgMHg0NSwgMHgwYSwgMHhlMCwKLSAgMHg1OSwgMHg4YSwgMHg0MywgMHhkNCwgMHg2OCwgMHhkNCwgMHhlMywgMHg2YSwgMHhlOSwgMHg0NSwgMHhjNCwgMHg3NSwKLSAgMHg2NSwgMHgwOCwgMHg4ZCwgMHg2MywgMHgyZSwgMHgzOSwgMHgzNSwgMHgxOSwgMHg1NywgMHg1ZiwgMHhhZiwgMHhlYSwKLSAgMHhhMiwgMHgxZCwgMHgxOCwgMHgzYiwgMHgzNCwgMHg2YSwgMHhiMSwgMHgyYSwgMHhhNywgMHg2YywgMHg1YiwgMHg2MCwKLSAgMHg1OSwgMHhkYywgMHg1NywgMHg3ZiwgMHgxZSwgMHgyYSwgMHgyMiwgMHhhNCwgMHgxZiwgMHhmZCwgMHhiYSwgMHhjMywKLSAgMHhkYSwgMHhmYiwgMHgzZiwgMHhlYiwgMHhiMCwgMHhmNiwgMHhmZSwgMHhlZiwgMHgzOCwgMHhhYywgMHhmZCwgMHg1ZiwKLSAgMHg3NywgMHg1OCwgMHhmYiwgMHhmZiwgMHg2NywgMHgxZCwgMHhkNiwgMHhmZSwgMHhmZiwgMHgxZCwgMHg4NywgMHg3NSwKLSAgMHhmMCwgMHhlYiwgMHgwZSwgMHhlYiwgMHhlMCwgMHhiNywgMHgzZiwgMHhhYywgMHhiNywgMHhmNCwgMHg3YiwgMHg4OCwKLSAgMHgwOCwgMHhkNSwgMHgyOSwgMHg3MywgMHhkMSwgMHg0MiwgMHg5YywgMHhjZSwgMHgzNSwgMHhhMSwgMHhlYywgMHhlMiwKLSAgMHg3YSwgMHgzNSwgMHhhMSwgMHgwZCwgMHgxMSwgMHg3MywgMHg0NCwgMHg1NCwgMHhkNSwgMHhiYSwgMHg2YiwgMHg5MywKLSAgMHgxZCwgMHgzYSwgMHgzNCwgMHg3YywgMHhkYiwgMHg5NiwgMHg0NiwgMHgyMiwgMHg1YywgMHhkMiwgMHgxZCwgMHg4MCwKLSAgMHgxNCwgMHhhYSwgMHhhZiwgMHg0YSwgMHg3MiwgMHhkMCwgMHgxOCwgMHhiZCwgMHg2MywgMHg5MCwgMHhiYywgMHgxZCwKLSAgMHg4ZiwgMHgzOSwgMHhkMSwgMHg2YiwgMHg4YywgMHhjMCwgMHg2YywgMHhmNywgMHhiMCwgMHhjOCwgMHhkNSwgMHgwOSwKLSAgMHgwYiwgMHg2YSwgMHg4YiwgMHg5NCwgMHhkMiwgMHg1MywgMHgzMywgMHg0MywgMHhjNywgMHg1ZCwgMHhmOCwgMHhiZCwKLSAgMHg0NSwgMHgzYSwgMHhhNSwgMHgxZiwgMHhlZiwgMHg4ZSwgMHhmNiwgMHhkYywgMHhlZSwgMHg2YywgMHhmZiwgMHgwMiwKLSAgMHhlOCwgMHgzZCwgMHgxNywgMHgzNSwgMHg4ZCwgMHg4NywgMHhiYSwgMHgyMywgMHgyMCwgMHhmOSwgMHhjMCwgMHg5YywKLSAgMHhhZiwgMHg5YiwgMHhjZSwgMHhlMSwgMHhkYywgMHhiNiwgMHg2MywgMHhkZSwgMHhiZCwgMHg3MCwgMHhlYywgMHhiMSwKLSAgMHg1MywgMHhlMSwgMHhlNCwgMHgwZSwgMHhjNSwgMHgzMywgMHhhNSwgMHg1ZiwgMHgzOCwgMHhmYiwgMHgxZiwgMHhlNiwKLSAgMHg3NSwgMHg2MCwgMHhkYiwgMHg1ZiwgMHhlNSwgMHg5NywgMHg4NCwgMHgzZSwgMHhmOCwgMHgyYiwgMHhlMiwgMHhkNiwKLSAgMHg1ZSwgMHg5OCwgMHhmOCwgMHg3ZiwgMHg0ZCwgMHhkYywgMHhmYSwgMHg0MSwgMHhkNiwgMHhiNywgMHg3ZiwgMHg2NSwKLSAgMHhhYSwgMHhhMSwgMHhmNiwgMHhiMiwgMHg4YiwgMHgyMywgMHhlNiwgMHgzYiwgMHhiZiwgMHgyNSwgMHgxNSwgMHg1ZiwKLSAgMHgwMSwgMHg0YiwgMHg3MywgMHhjNiwgMHhhNCwgMHg0MywgMHg3OSwgMHgzYywgMHg0NywgMHhmMiwgMHhhZSwgMHgwYiwKLSAgMHgxZCwgMHhiMiwgMHg5MSwgMHgxNCwgMHgyMiwgMHg1ZSwgMHg0OSwgMHg2ZCwgMHhhMywgMHgwNSwgMHg3OCwgMHg1MiwKLSAgMHgyOCwgMHgxMSwgMHg1ZSwgMHg2NSwgMHhjZCwgMHhmNCwgMHhiNiwgMHgyYSwgMHhmNCwgMHgyMywgMHg5MiwgMHg4ZCwKLSAgMHg0YiwgMHgwZSwgMHg3OCwgMHg4NiwgMHg5YiwgMHgwYiwgMHg5MiwgMHgxYiwgMHhhNiwgMHgxOSwgMHg4MywgMHg5MSwKLSAgMHhlNSwgMHhmNywgMHg2OSwgMHhkMCwgMHg0ZiwgMHhkYSwgMHhlYiwgMHg0ZCwgMHhhNywgMHhkOSwgMHgzMCwgMHhhZCwKLSAgMHhhNywgMHg3OSwgMHgxZSwgMHg2ZiwgMHhhNiwgMHhhYiwgMHg1MSwgMHhlNiwgMHgzNCwgMHhiOSwgMHg1OCwgMHgyMSwKLSAgMHgzZSwgMHg2MCwgMHg5ZSwgMHg0ZiwgMHgyOCwgMHhhMiwgMHg4NywgMHgyZSwgMHg0ZCwgMHhlOCwgMHgxYywgMHgyOCwKLSAgMHhmOCwgMHg1YywgMHgzNCwgMHhlMSwgMHg3MiwgMHhkNSwgMHg1YywgMHg5NiwgMHgxYSwgMHgyYSwgMHgxOCwgMHg0NCwKLSAgMHhkYywgMHg4ZSwgMHgxNCwgMHhmMywgMHg2MywgMHgyYywgMHhmOCwgMHg3YSwgMHg1YSwgMHhlNSwgMHg0YiwgMHg0MCwKLSAgMHhmZiwgMHg3YSwgMHg2ZCwgMHhmOCwgMHgwNiwgMHhiNiwgMHg0NywgMHgzZCwgMHhmYywgMHg3OCwgMHgxYSwgMHg5OCwKLSAgMHhlNSwgMHhhZSwgMHhlZCwgMHhjNCwgMHg0MSwgMHhiYiwgMHgxZCwgMHgxMiwgMHg4NiwgMHgxYiwgMHhlNCwgMHgzNCwKLSAgMHhiNSwgMHhmZCwgMHhjYiwgMHhjYywgMHhkYiwgMHg4NCwgMHhkNywgMHhlZSwgMHhjNSwgMHg0NCwgMHgxMywgMHg0NSwKLSAgMHg5OSwgMHhlYSwgMHgwOSwgMHhmMiwgMHg2YiwgMHg5MCwgMHhjNCwgMHg5MCwgMHhkMCwgMHg5ZCwgMHg2MiwgMHg4MiwKLSAgMHhhMywgMHg0NSwgMHg4YiwgMHg4NiwgMHgzZiwgMHgyNywgMHhkYywgMHhmNiwgMHg4MSwgMHhkYywgMHhmNywgMHhkYSwKLSAgMHg3ZiwgMHhlMywgMHgyYSwgMHhiYiwgMHhlNSwgMHhkMiwgMHhkZCwgMHhkMCwgMHhhMCwgMHg2MywgMHg2ZSwgMHg3NiwKLSAgMHhhNSwgMHg2NSwgMHhhZCwgMHg4NywgMHhlMywgMHg5NywgMHhjNywgMHhjNywgMHhhZCwgMHgzMiwgMHg1ZiwgMHhkYSwKLSAgMHgzYSwgMHhjNCwgMHg2OSwgMHgxOSwgMHgzZiwgMHgyNiwgMHhhOSwgMHgwOSwgMHg1NiwgMHgxOSwgMHgwMCwgMHgyZSwKLSAgMHhiMSwgMHgxOCwgMHgzZiwgMHhiNywgMHhlNywgMHgzNCwgMHhkNywgMHgwZiwgMHg3MSwgMHgxZCwgMHhjMywgMHgwOCwKLSAgMHg3MiwgMHg2ZCwgMHg5ZSwgMHg5YSwgMHg3MiwgMHgwMiwgMHhkOSwgMHhhYSwgMHgzMCwgMHhkMywgMHhjYywgMHgwOSwKLSAgMHhlYiwgMHhlZSwgMHg2YSwgMHhiNSwgMHg0OCwgMHg4YiwgMHg0ZiwgMHg4ZiwgMHhkNSwgMHhlNywgMHg5YiwgMHg5MSwKLSAgMHhhZSwgMHg3OCwgMHg0NiwgMHg3NiwgMHg4YiwgMHhlZiwgMHg5NSwgMHgxZiwgMHg0OSwgMHgwZSwgMHg2OSwgMHgyZCwKLSAgMHhkMiwgMHgwYSwgMHhlNSwgMHhhYywgMHg5MiwgMHg0NiwgMHg5OSwgMHgwMCwgMHhmNCwgMHg4MywgMHgzNywgMHg5ZiwKLSAgMHhkYiwgMHg5OSwgMHg5OCwgMHg5NSwgMHgwMiwgMHg1OSwgMHg5NCwgMHgwNywgMHgzNywgMHhjYiwgMHhkNSwgMHhmOCwKLSAgMHgzNCwgMHg3MiwgMHgxMCwgMHg2ZCwgMHhlOCwgMHhhYSwgMHhlYiwgMHg3MiwgMHhlNCwgMHgyMCwgMHhkZCwgMHhkYSwKLSAgMHgxYywgMHhjMywgMHhiZCwgMHhhZSwgMHhhOCwgMHhjNCwgMHgxNywgMHhmZSwgMHg5NSwgMHgzNywgMHhhMCwgMHg3NSwKLSAgMHgwNSwgMHhlZSwgMHhiZiwgMHgwMywgMHg3YywgMHgwNSwgMHg3ZSwgMHg4YiwgMHgxYiwgMHgyMCwgMHhhNSwgMHg1YiwKLSAgMHgxYiwgMHg3ZiwgMHhkOCwgMHg0OCwgMHhlMiwgMHhjZCwgMHg3MiwgMHgxZSwgMHgzMCwgMHg0ZSwgMHgwYiwgMHhmMiwKLSAgMHhlNiwgMHg1ZiwgMHg0YiwgMHg2OSwgMHgxMSwgMHgwYywgMHgxZSwgMHg4ZiwgMHg4OSwgMHhmOSwgMHg2NywgMHhiYSwKLSAgMHgyYSwgMHhmMiwgMHg1YiwgMHhkNCwgMHhkMCwgMHgxOCwgMHg1NSwgMHhlMiwgMHgwNSwgMHhmNSwgMHg4YSwgMHhlOSwKLSAgMHg2OSwgMHg4MiwgMHhmMiwgMHg5MiwgMHgxNSwgMHg5YiwgMHg0NCwgMHgyYiwgMHg4MiwgMHhiMCwgMHg4YSwgMHhmNywKLSAgMHhlNiwgMHg2NSwgMHhhMywgMHgzMCwgMHgyZSwgMHgyOCwgMHg3YiwgMHg4OCwgMHhjNywgMHgxOCwgMHhmOCwgMHg2OCwKLSAgMHhmNCwgMHg2MCwgMHhlYiwgMHg5MSwgMHhlYywgMHhhMywgMHgyMiwgMHg2YiwgMHhjOCwgMHg3MiwgMHg1ZCwgMHgxYiwKLSAgMHgzNywgMHg2YiwgMHhjNywgMHgyMiwgMHhjZiwgMHg4MSwgMHhjMSwgMHhiNiwgMHhhNCwgMHgzMiwgMHg4ZCwgMHgzNSwKLSAgMHgzZCwgMHhjZCwgMHhiMSwgMHgxOSwgMHhhZSwgMHgyYywgMHhhMiwgMHgxZCwgMHg5ZSwgMHhmMCwgMHgxYSwgMHg5ZiwKLSAgMHgwOSwgMHhlOSwgMHhkOCwgMHhlNiwgMHg1YSwgMHhkYywgMHgwOSwgMHgyNywgMHg5NiwgMHgyOCwgMHg2NSwgMHgzYiwKLSAgMHgzNiwgMHhiOSwgMHg3NiwgMHg2NywgMHg3OSwgMHgzNywgMHhlZSwgMHg4MSwgMHg5NiwgMHg1YSwgMHgyZSwgMHgzOCwKLSAgMHgyYywgMHhmZCwgMHg0OCwgMHg0MywgMHhkOSwgMHhkZCwgMHhlOSwgMHhiYywgMHgzNiwgMHhmMiwgMHg5YSwgMHg0MCwKLSAgMHhiNywgMHhmYSwgMHhjMiwgMHgwMSwgMHgxNywgMHgzMiwgMHg5ZiwgMHgxMywgMHhmOSwgMHhlZiwgMHg2OCwgMHhmMiwKLSAgMHhjNCwgMHgzYywgMHhhYywgMHg3NiwgMHg3MCwgMHhlZCwgMHhjNiwgMHg4NCwgMHhkNywgMHg1MSwgMHg2ZCwgMHgxZCwKLSAgMHg0MiwgMHhhOCwgMHhmNCwgMHg2ZiwgMHg2MCwgMHg1NywgMHhhOSwgMHgxMiwgMHhkMSwgMHg1ZSwgMHgwNSwgMHg3NywKLSAgMHgwZiwgMHhlYywgMHhhYSwgMHgyZiwgMHg1ZSwgMHg3NCwgMHhmYiwgMHg4YSwgMHhmYSwgMHhjZiwgMHhlYiwgMHhiYywKLSAgMHgyYSwgMHgyNiwgMHg0NCwgMHhmNywgMHgzNSwgMHhjZCwgMHgxYSwgMHhlYiwgMHhiNCwgMHg1MCwgMHgwYSwgMHgzMiwKLSAgMHhjOSwgMHhmOSwgMHg3YSwgMHhhYywgMHhlYSwgMHg0YywgMHg3NCwgMHgyOSwgMHhjNiwgMHhmYSwgMHhhNSwgMHhlMiwKLSAgMHg0NiwgMHg2YSwgMHhkOSwgMHg0MiwgMHg1OSwgMHg4MCwgMHhiNiwgMHhkZiwgMHgzNSwgMHgxZiwgMHg2YywgMHg0MiwKLSAgMHg2MSwgMHg1YSwgMHhhZCwgMHhhMiwgMHgwZSwgMHhiMCwgMHg4YywgMHhmMywgMHhmOSwgMHhjOCwgMHhhZiwgMHg1MywKLSAgMHgxMSwgMHgyNywgMHhiMCwgMHg5NiwgMHhjNywgMHg2ZCwgMHgxOSwgMHg2NSwgMHg5ZCwgMHgzNSwgMHgzNywgMHhiZSwKLSAgMHgzYywgMHhkNCwgMHg2ZSwgMHg0NSwgMHhiMSwgMHhmMCwgMHhmYiwgMHg4MSwgMHhkMiwgMHhlMywgMHg4MCwgMHg1YSwKLSAgMHhlZCwgMHhmYywgMHgzOCwgMHg2MiwgMHgxZCwgMHg1YiwgMHhhOSwgMHgwMiwgMHhjYSwgMHg1MiwgMHgyOCwgMHg2ZSwKLSAgMHg1YiwgMHhkNSwgMHg0ZSwgMHg3MywgMHhjNSwgMHhmMywgMHhjMiwgMHhhNywgMHhmNywgMHgzNCwgMHgxYSwgMHg3YSwKLSAgMHgxNSwgMHhiOSwgMHg3YywgMHgyOCwgMHgzOCwgMHhmZSwgMHg5OSwgMHgzYSwgMHg1MiwgMHhiZCwgMHg2ZiwgMHg4YywKLSAgMHgwYywgMHg5NywgMHgzMSwgMHgxZiwgMHhkMSwgMHhhZiwgMHg0OCwgMHg3OSwgMHhkMiwgMHg3NiwgMHgwMCwgMHg5OSwKLSAgMHg3NywgMHhjNywgMHgxZCwgMHg0OCwgMHhiYywgMHg4YSwgMHg2ZiwgMHhiZiwgMHhmZCwgMHgwZiwgMHg0ZCwgMHhiNSwKLSAgMHgzMywgMHgzNSwgMHg2NCwgMHg2ZCwgMHgyMywgMHhhZCwgMHgyMSwgMHhiYywgMHg4OSwgMHg4MCwgMHg4NSwgMHg1MCwKLSAgMHgxMywgMHgwZiwgMHhjMiwgMHgxMiwgMHg0ZCwgMHg5YiwgMHhhNCwgMHg0MywgMHgzZCwgMHg3MywgMHgzMywgMHgwMSwKLSAgMHhlZCwgMHhlNSwgMHhlMSwgMHhlMCwgMHhkMSwgMHg5ZCwgMHg2NCwgMHgwMiwgMHhlNiwgMHgxYSwgMHhmOCwgMHg0MSwKLSAgMHhkMSwgMHg1MywgMHgzMiwgMHhkYSwgMHgzZSwgMHg4YywgMHhmYiwgMHhkZCwgMHg2YSwgMHg1ZCwgMHgyNCwgMHhmMSwKLSAgMHhiNCwgMHhmMCwgMHg0MiwgMHhkYiwgMHhmNiwgMHg4YywgMHhkNCwgMHhmMSwgMHhhOSwgMHhkNCwgMHg4MCwgMHg0OCwKLSAgMHg3ZiwgMHgwNywgMHg5YywgMHg1MSwgMHg3MiwgMHg0NCwgMHg0ZiwgMHg4NywgMHgwMywgMHhmZCwgMHgxMSwgMHgyMywKLSAgMHgwMCwgMHg5NiwgMHhkZiwgMHhiNSwgMHg1ZSwgMHgzNSwgMHgwYiwgMHgwMSwgMHg2YSwgMHg2MSwgMHg5NywgMHhhZSwKLSAgMHg4NCwgMHhmMiwgMHgxOCwgMHhhMSwgMHg5OCwgMHg3MiwgMHhmYSwgMHgwMCwgMHhhYSwgMHgzMCwgMHg5MiwgMHhkZSwKLSAgMHg2MiwgMHhhNCwgMHhiNiwgMHhhYiwgMHhhZSwgMHg5OSwgMHg2YywgMHg1YywgMHhjZSwgMHhjYiwgMHhjOSwgMHhjNCwKLSAgMHgyYywgMHg3ZSwgMHg0MywgMHhiNSwgMHgxNCwgMHhmMywgMHhlZCwgMHhjMCwgMHg1MywgMHhlZCwgMHhjZiwgMHgyNCwKLSAgMHhhZCwgMHgyZSwgMHg2MSwgMHg0OSwgMHgwZiwgMHg2MCwgMHg0NiwgMHg3MCwgMHgxOCwgMHg4MCwgMHg2NiwgMHhlMSwKLSAgMHg3YSwgMHgxNywgMHhlYiwgMHhlNywgMHgxNSwgMHg3YywgMHgzZSwgMHgyMiwgMHg2NywgMHgzOCwgMHhkNywgMHhkMCwKLSAgMHgxMiwgMHgyMCwgMHhhZCwgMHhhZCwgMHgxNSwgMHg1NSwgMHg0MCwgMHgwOSwgMHgyOSwgMHhmZCwgMHg1NCwgMHhhNywKLSAgMHhjNywgMHhiOSwgMHg4YywgMHg3ZCwgMHhjOSwgMHhiOCwgMHhhZSwgMHhlMywgMHgwZiwgMHhkOCwgMHg5NiwgMHgzNCwKLSAgMHg3ZiwgMHhjYywgMHhlYiwgMHgzMCwgMHg3YSwgMHg4MywgMHgyZCwgMHg2OCwgMHgyZiwgMHg2OCwgMHhlMywgMHhiZiwKLSAgMHhlOCwgMHg4ZiwgMHhiZCwgMHgwMSwgMHhmZCwgMHg3NywgMHhmZiwgMHgxZiwgMHgxYiwgMHgwOCwgMHhmMCwgMHgzYywKLSAgMHhkZiwgMHhkOSwgMHhiOSwgMHhiOSwgMHhiOSwgMHgxOSwgMHgyOSwgMHg4NCwgMHhhMywgMHgzOSwgMHhiMiwgMHhjZiwKLSAgMHhjMiwgMHg1YSwgMHg0YiwgMHg0MiwgMHhiZSwgMHhlYiwgMHhmOSwgMHhjMCwgMHg3OSwgMHhiMiwgMHg5MSwgMHgyZiwKLSAgMHgyZSwgMHhmZiwgMHhiYSwgMHgzNywgMHhkYywgMHhkYiwgMHhkZCwgMHhkZCwgMHhmZCwgMHg2OSwgMHhiNCwgMHhhNCwKLSAgMHhmZCwgMHhiZCwgMHhjMCwgMHhiMCwgMHhlNiwgMHhiZiwgMHhmZSwgMHhiMCwgMHgzYiwgMHgzYywgMHg5MywgMHg5ZCwKLSAgMHgyOCwgMHhjOCwgMHgyZSwgMHhmZiwgMHg0ZSwgMHhhZCwgMHhlYywgMHg4MiwgMHhkYiwgMHhhNCwgMHgzMCwgMHgyOSwKLSAgMHgzZiwgMHhmNywgMHg1OCwgMHgwYywgMHg0NywgMHhhOSwgMHhkMywgMHg3NSwgMHhjOCwgMHgwNSwgMHg5YywgMHg5OCwKLSAgMHg0OCwgMHgwMSwgMHg4YSwgMHhjNywgMHgwNywgMHhmYiwgMHhmYiwgMHgwOSwgMHgyYiwgMHgxYywgMHg1YywgMHgxMCwKLSAgMHhjOCwgMHg4OSwgMHgxMiwgMHg4NCwgMHgwNSwgMHgyMSwgMHgzZCwgMHhkZCwgMHg1OSwgMHg5NiwgMHgxMSwgMHhkOCwKLSAgMHg2NSwgMHhjYSwgMHhhMSwgMHgyMCwgMHg0MywgMHgxOSwgMHgzZCwgMHgwOSwgMHhhMywgMHg2YywgMHgxOCwgMHhlNywKLSAgMHg0NiwgMHg5MCwgMHg5NywgMHhiMywgMHgzYiwgMHgzNywgMHhhYSwgMHgyMSwgMHhmMSwgMHg4YSwgMHgxOCwgMHgyYiwKLSAgMHhiNSwgMHg2NSwgMHhiZCwgMHhmMywgMHg0MSwgMHgzNSwgMHg1MywgMHhjOSwgMHhlNSwgMHgwZSwgMHgwYSwgMHgzOCwKLSAgMHhhNSwgMHhkOSwgMHgyMCwgMHhhNCwgMHgxYywgMHg4MCwgMHg4OSwgMHg4YiwgMHg1MiwgMHgzYSwgMHg4YiwgMHgyMywKLSAgMHgyZiwgMHhlMCwgMHg2MiwgMHg1NSwgMHg0OSwgMHg1ZiwgMHgyOSwgMHhhNCwgMHg1MSwgMHhkYywgMHhhNCwgMHg3NywKLSAgMHgyZCwgMHg2MSwgMHg2ZiwgMHg3NiwgMHhmYywgMHg4NSwgMHhmOSwgMHg0ZiwgMHhlMCwgMHgwNiwgMHg5NywgMHhhYiwKLSAgMHg0OSwgMHhhYSwgMHhhNSwgMHg2ZCwgMHg4YywgMHg3ZCwgMHg5MSwgMHgzNSwgMHhkMywgMHhhYiwgMHg2ZSwgMHgzMiwKLSAgMHgyNywgMHgzOCwgMHhiOCwgMHg5OSwgMHhlZCwgMHg5NSwgMHg1OSwgMHhkMCwgMHg5ZCwgMHg2ZCwgMHg2MSwgMHgxZiwKLSAgMHhlYiwgMHhiOSwgMHhlOSwgMHg1NSwgMHg0MiwgMHg5YiwgMHgyMSwgMHhhOSwgMHhjNSwgMHgwYSwgMHgwYSwgMHgxZiwKLSAgMHhhNiwgMHg2NSwgMHg3MSwgMHg5MSwgMHg3MywgMHhhZiwgMHg5ZiwgMHgzZSwgMHgzYywgMHg1NSwgMHhkYiwgMHhhOSwKLSAgMHgxMiwgMHhkZiwgMHhlMywgMHg5YSwgMHgxYSwgMHhiYSwgMHgwMSwgMHhkMywgMHhhYiwgMHg2YywgMHgyMSwgMHgxYywKLSAgMHg3MywgMHg0YiwgMHgzMywgMHgzMiwgMHgzNywgMHg4NCwgMHgwNiwgMHgzNywgMHgyMiwgMHgxNiwgMHhmOSwgMHhjNiwKLSAgMHg4NSwgMHhmZSwgMHhjYSwgMHhhYywgMHg2NCwgMHg1YiwgMHg0YSwgMHg5ZCwgMHhhZCwgMHg5OCwgMHg5MywgMHhlZSwKLSAgMHg1MywgMHg5NywgMHgyYiwgMHgzMiwgMHgxYywgMHgyNywgMHhhOSwgMHhjOCwgMHgxMywgMHhhZCwgMHhjMCwgMHhlZiwKLSAgMHhjOSwgMHg5YiwgMHgzNiwgMHg2YywgMHgzMSwgMHhhYiwgMHgyMCwgMHhjNCwgMHhlYSwgMHhkNSwgMHg2NCwgMHgyOCwKLSAgMHg5YSwgMHgwZiwgMHg2NiwgMHg4NCwgMHhkNCwgMHgxNSwgMHhiYSwgMHhhZCwgMHhhZiwgMHg4ZSwgMHg1ZiwgMHg5ZSwKLSAgMHg3MywgMHhkMSwgMHhiMSwgMHhmOSwgMHgyZiwgMHhkNSwgMHhlMiwgMHg5OCwgMHgzZiwgMHhhOCwgMHhkNiwgMHgzOCwKLSAgMHg2YywgMHgwZCwgMHg3NiwgMHg3NiwgMHhjMCwgMHgwOSwgMHg0YSwgMHgyMCwgMHg1NiwgMHgxYiwgMHhhZiwgMHg0YSwKLSAgMHg1ZCwgMHgxMiwgMHg1ZiwgMHg0YiwgMHhmNSwgMHgxYiwgMHg3OCwgMHg4ZCwgMHg2NiwgMHgyMiwgMHg5OSwgMHhjOSwKLSAgMHgyZCwgMHgyZCwgMHhkMSwgMHhkNiwgMHhhYSwgMHgzZiwgMHg3YSwgMHgzYywgMHhkYSwgMHhlNSwgMHgyNSwgMHhkMiwKLSAgMHgxZSwgMHg0YSwgMHg3ZSwgMHg4ZSwgMHhkNCwgMHhjNiwgMHhjMSwgMHg4ZCwgMHhhNCwgMHhmMSwgMHhjYiwgMHgzNCwKLSAgMHg5ZSwgMHg5MSwgMHg2MCwgMHhhNywgMHgzMiwgMHg0OCwgMHgxOCwgMHg3MSwgMHg5ZSwgMHhjMSwgMHgyYiwgMHhmNCwKLSAgMHhiNywgMHg1ZSwgMHgyZSwgMHhlNiwgMHgzZCwgMHhjNSwgMHgzNiwgMHgyYSwgMHhiYiwgMHgyNCwgMHgwMywgMHhmOSwKLSAgMHhhZSwgMHg4YiwgMHgxNiwgMHgwZSwgMHgyYywgMHg3NywgMHhhZCwgMHgwMSwgMHgwMiwgMHgxMywgMHg4ZSwgMHgxNSwKLSAgMHgyOCwgMHgwYSwgMHg0ZCwgMHg0OCwgMHg1NiwgMHhmYSwgMHhjMCwgMHhmNSwgMHhmYSwgMHgyYSwgMHg0OSwgMHgwYSwKLSAgMHg4OCwgMHhjYywgMHg5MiwgMHhkYSwgMHgyNiwgMHhmNCwgMHhjNiwgMHg3NSwgMHhjZCwgMHgyNSwgMHg2MywgMHhmYSwKLSAgMHg0OSwgMHg1ZiwgMHgxMywgMHhiNSwgMHhlZiwgMHhkMywgMHg4YSwgMHhkOCwgMHhmNSwgMHhmMywgMHgyNCwgMHgzOSwKLSAgMHgyZCwgMHg2YywgMHg3NywgMHhlNiwgMHg0MSwgMHgwMiwgMHhmZCwgMHg4ZiwgMHg3YiwgMHgyNSwgMHgzMiwgMHg2ZiwKLSAgMHgyNiwgMHhkMCwgMHgwMCwgMHgwNiwgMHhiYiwgMHhjZCwgMHg2YSwgMHhkZCwgMHhkYywgMHg0OCwgMHgyZCwgMHgzZCwKLSAgMHg5NSwgMHg1MSwgMHhiMSwgMHgzNywgMHg1NSwgMHgxNCwgMHg1ZiwgMHhmNywgMHg5MiwgMHg1YywgMHg3YSwgMHhkMSwKLSAgMHg3YywgMHg4OCwgMHg3OSwgMHhkZiwgMHgxOSwgMHg3OSwgMHhiZSwgMHgxOCwgMHgyNSwgMHg1ZiwgMHg2NSwgMHhkNCwKLSAgMHg1OSwgMHhmOSwgMHg3NywgMHhlZSwgMHhlZSwgMHg3ZSwgMHgyNSwgMHgyOCwgMHhjNCwgMHhhYywgMHhjMSwgMHhjNywKLSAgMHhjYSwgMHgwMCwgMHg4OSwgMHhjOCwgMHhiNiwgMHgzNSwgMHhiYiwgMHg5NywgMHg2ZCwgMHg2YSwgMHhkNSwgMHg4NSwKLSAgMHg0NywgMHhlNCwgMHhjOSwgMHg2NCwgMHg5MiwgMHhjNCwgMHgzZSwgMHg0ZSwgMHhkMSwgMHg1NiwgMHg5MiwgMHg4MywKLSAgMHg2ZiwgMHg4NiwgMHg3OSwgMHgwYywgMHg0MywgMHhlNCwgMHhkMiwgMHhhOSwgMHg4MiwgMHg4NSwgMHgwOSwgMHg1NCwKLSAgMHhiNywgMHg2NSwgMHgwYywgMHg0NCwgMHg5ZiwgMHgzMCwgMHg0MywgMHhlMSwgMHgzYSwgMHhkYiwgMHhmOCwgMHgxMywKLSAgMHg0NSwgMHhiNywgMHhiZSwgMHgzOCwgMHhkYywgMHg2OCwgMHhmMSwgMHg4OSwgMHg1OCwgMHgyNywgMHhiMywgMHg5YSwKLSAgMHgzOSwgMHg2ZiwgMHhkYiwgMHhjYywgMHgxMiwgMHg2ZSwgMHg0YiwgMHgxMiwgMHgyOSwgMHhiYiwgMHg2NSwgMHhmYywKLSAgMHg1NiwgMHhkMCwgMHhkNCwgMHg0ZCwgMHg1ZSwgMHgxYywgMHhlYywgMHhjYiwgMHg1ZSwgMHg3OCwgMHhjNywgMHgxMywKLSAgMHgzNCwgMHg5ZiwgMHg4ZiwgMHhjNiwgMHhmNCwgMHg1YSwgMHg1ZCwgMHgxYiwgMHg3OSwgMHg3ZiwgMHhkZiwgMHhkMywKLSAgMHgyYiwgMHg4NywgMHg3OCwgMHg0NSwgMHgzYSwgMHhiZCwgMHg2OSwgMHg5ZSwgMHhhMiwgMHg4ZiwgMHg2OCwgMHhhMCwKLSAgMHgwZSwgMHhkOSwgMHgwZSwgMHgxZCwgMHg5NywgMHhkYSwgMHg2MCwgMHgzNSwgMHg5OSwgMHhjYywgMHhkMywgMHhlMiwKLSAgMHhhMywgMHg0ZCwgMHgyNywgMHhlNywgMHg5MSwgMHgwNiwgMHhkNCwgMHgyOSwgMHg5OCwgMHhhYiwgMHg4YSwgMHhkZCwKLSAgMHgwZiwgMHgyNSwgMHg3NywgMHgxMSwgMHgyMiwgMHgzYiwgMHhlOCwgMHhhOCwgMHg0NywgMHgxYSwgMHhmMywgMHgyMiwKLSAgMHhhZCwgMHgzZSwgMHg2YSwgMHhhMiwgMHhiYywgMHgyNCwgMHg3ZCwgMHhmYiwgMHg2NywgMHg2MiwgMHgwYiwgMHhjNSwKLSAgMHg5OSwgMHg5MCwgMHhiZiwgMHgwMSwgMHgyMSwgMHhmMywgMHg3MywgMHhhMSwgMHg3MCwgMHhlNSwgMHhkYywgMHgwMiwKLSAgMHhjNiwgMHg4MCwgMHhkMiwgMHhkYywgMHhmOSwgMHgxZSwgMHhjMiwgMHhmZSwgMHhlZCwgMHg3MiwgMHgwYSwgMHgyYywKLSAgMHgyOCwgMHhiNiwgMHg5MSwgMHgyNywgMHhlNiwgMHhiZiwgMHhjZiwgMHgzNSwgMHg5MiwgMHhkOSwgMHgyNywgMHg1OSwKLSAgMHgxYSwgMHhjMSwgMHhhZCwgMHhiMywgMHgxZCwgMHg3NiwgMHg1ZCwgMHhkYywgMHhkOSwgMHg2ZiwgMHg2NywgMHhjYywKLSAgMHhjYSwgMHhhNywgMHg4YiwgMHhiOSwgMHhjNiwgMHgzMiwgMHgwYiwgMHg0NiwgMHhjOSwgMHhhOSwgMHgzMywgMHg3NCwKLSAgMHg4YiwgMHgwMSwgMHhmMCwgMHg5MSwgMHg5YiwgMHg2YSwgMHgyYSwgMHg2NiwgMHgyZSwgMHhmZSwgMHgyZSwgMHgyOSwKLSAgMHhhYiwgMHhlOSwgMHgzYywgMHhiNiwgMHgwMywgMHg2OCwgMHhmMiwgMHg5NywgMHgwMywgMHhhNCwgMHhiZCwgMHg4ZSwKLSAgMHhjZCwgMHg2ZSwgMHhlMCwgMHhmYSwgMHgzNSwgMHg1MywgMHgzMSwgMHhiZCwgMHhkOSwgMHg1OCwgMHg2YSwgMHgzMCwKLSAgMHhjYiwgMHgyOSwgMHgwYywgMHg2OSwgMHg5MCwgMHg5MSwgMHhjZSwgMHg4YiwgMHg4OCwgMHgzNywgMHg2ZiwgMHg2NiwKLSAgMHg1MSwgMHhjZSwgMHgyOCwgMHg1ZSwgMHhkMCwgMHgzMCwgMHhmNSwgMHhmMSwgMHg1YSwgMHhiMiwgMHgxOCwgMHhlNiwKLSAgMHg0NiwgMHg2MiwgMHg3MywgMHhkNiwgMHg4ZCwgMHg2YiwgMHgwZCwgMHg2MiwgMHg5OCwgMHg2ZCwgMHg1OSwgMHgwYywKLSAgMHgwMiwgMHhhYywgMHgyZiwgMHhjYSwgMHgxOSwgMHg2MCwgMHg2ZiwgMHgxOCwgMHhlNSwgMHg0MiwgMHgyZSwgMHhhNCwKLSAgMHg5YiwgMHg3YiwgMHg2NiwgMHg1ZCwgMHhlMCwgMHhmYywgMHg5ZSwgMHhkMiwgMHhhNiwgMHhmZiwgMHhlNSwgMHg3YiwKLSAgMHhkYSwgMHg0ZSwgMHg3MywgMHg1ZiwgMHgyOCwgMHgzZCwgMHgwYywgMHg0MywgMHg4NSwgMHgwMywgMHhhZSwgMHg2MSwKLSAgMHgwYywgMHg5NiwgMHg2NCwgMHg3OCwgMHhhMSwgMHhkYywgMHg0OCwgMHg4MSwgMHgxZSwgMHhjYiwgMHgzOSwgMHgwMCwKLSAgMHg1ZCwgMHhmYiwgMHhkNiwgMHhlZiwgMHgxNSwgMHgzNSwgMHhmMCwgMHhmMiwgMHhmYywgMHgzMiwgMHg4MiwgMHhkZiwKLSAgMHg2NiwgMHgzNCwgMHhlMSwgMHg0MCwgMHg5MywgMHhhNywgMHhkYiwgMHg4OCwgMHgwNCwgMHg0YywgMHhiMywgMHhjMywKLSAgMHgwMCwgMHgwYywgMHhhNywgMHgyYywgMHgyNiwgMHg0YSwgMHgxMywgMHg3NSwgMHg0OSwgMHhkOSwgMHhhNCwgMHhlOSwKLSAgMHg2NCwgMHgwNSwgMHhmYiwgMHgxYiwgMHhjYSwgMHg0NCwgMHg3MSwgMHhmOCwgMHhjYywgMHhmOSwgMHg4NCwgMHgzOCwKLSAgMHg5YSwgMHgzMywgMHg4NiwgMHg1OSwgMHhhZSwgMHgxNSwgMHgzZiwgMHhkZCwgMHhiNiwgMHhiYiwgMHhiZiwgMHgxNCwKLSAgMHgwOSwgMHg1NywgMHg1MywgMHg4MiwgMHhhYiwgMHhlMSwgMHg2OCwgMHg4YywgMHg3MSwgMHg0ZSwgMHgxYiwgMHg1NCwKLSAgMHhlYiwgMHhjNiwgMHg0NywgMHgxYSwgMHg4YywgMHhmMSwgMHg0YSwgMHgxNSwgMHhjZSwgMHhjNiwgMHgwNywgMHg3ZiwKLSAgMHgzNiwgMHg3NywgMHhlMSwgMHgzYSwgMHhlNywgMHhiZCwgMHg2NywgMHg2MCwgMHhiYiwgMHg0OSwgMHg5NSwgMHg2NywKLSAgMHgxNywgMHg2NCwgMHg0ZSwgMHg2MSwgMHg0NSwgMHg5MiwgMHgzYSwgMHgxYiwgMHhmOCwgMHhiMywgMHgzMiwgMHhjMiwKLSAgMHg0MCwgMHhhNywgMHhhYywgMHg3YywgMHg3MywgMHg4ZSwgMHg1NCwgMHg0YywgMHg5ZSwgMHhjMywgMHhhNSwgMHhjNSwKLSAgMHgzYywgMHhkMSwgMHgwMiwgMHgwZCwgMHg3MiwgMHhjMywgMHg4MSwgMHg2YiwgMHg2ZCwgMHhlMiwgMHg5ZCwgMHg2YSwKLSAgMHgyOSwgMHg1NywgMHgzNCwgMHgyZiwgMHg5NSwgMHhlZSwgMHhiZSwgMHhmYSwgMHg2MiwgMHg4OSwgMHhiYSwgMHgwYSwKLSAgMHhiYSwgMHhjNSwgMHhiNiwgMHhhOSwgMHgyNywgMHhiZSwgMHhjOCwgMHg2YywgMHg1NSwgMHhmNCwgMHgyZSwgMHhhZiwKLSAgMHgzMywgMHg1YywgMHgxYywgMHhjNSwgMHg5YiwgMHg3NiwgMHhlOSwgMHhkYiwgMHhhYywgMHgzMiwgMHg2MiwgMHhiOSwKLSAgMHhhYywgMHg5MywgMHhlZiwgMHgxZSwgMHg2YiwgMHg3MCwgMHg0NCwgMHhlNCwgMHg5ZiwgMHhlOCwgMHg0OCwgMHg3YSwKLSAgMHg0NywgMHhkOSwgMHg4YSwgMHhlMSwgMHhhOSwgMHgwNywgMHg4MSwgMHgxNSwgMHhhOSwgMHhkNywgMHgwMSwgMHhmNywKLSAgMHhkMiwgMHhkNywgMHg3ZCwgMHg2NSwgMHhjOSwgMHhhNywgMHg1MiwgMHhiZSwgMHg3MiwgMHhlNiwgMHgyNywgMHg4NiwKLSAgMHhmYywgMHhjYywgMHgzZiwgMHg3YiwgMHgzYSwgMHhkMSwgMHhkOSwgMHg2NiwgMHhlMiwgMHg0NiwgMHhmMSwgMHgyMywKLSAgMHg2MiwgMHgyMSwgMHgyZiwgMHhhMywgMHgzOSwgMHhjYiwgMHg0OSwgMHg5MywgMHg3MiwgMHgyMywgMHg3NywgMHgzNywKLSAgMHhmMSwgMHhlNCwgMHgzYywgMHgyNywgMHg0NywgMHg5NCwgMHg2YiwgMHg0YSwgMHgxZSwgMHgyZCwgMHg2NywgMHg2YSwKLSAgMHhhNCwgMHg4NCwgMHhkYiwgMHg2MiwgMHhjNSwgMHg3NywgMHhmMiwgMHgzYywgMHg0OCwgMHhiZiwgMHhhZCwgMHhhZiwKLSAgMHg0OCwgMHg0NSwgMHgyNCwgMHhjZCwgMHgwNSwgMHhlZSwgMHg4NywgMHhjZiwgMHg3YSwgMHg3YSwgMHg1MywgMHg0MywKLSAgMHgzZSwgMHhiZSwgMHgzZCwgMHgzZiwgMHg3OSwgMHgyMywgMHg3MCwgMHgyMCwgMHg4ZSwgMHhjZCwgMHg4OSwgMHg0YSwKLSAgMHhlMCwgMHhjYywgMHg3NSwgMHg2MSwgMHgzYiwgMHg2OSwgMHhhYywgMHg3YiwgMHg4OSwgMHhiNywgMHgxOSwgMHg1YSwKLSAgMHg1OCwgMHhjOSwgMHhlOCwgMHgyNCwgMHhiNCwgMHg2ZCwgMHgwMywgMHg0OSwgMHg0MSwgMHhhYSwgMHhhNCwgMHg2MCwKLSAgMHg0ZiwgMHgxZCwgMHgwNSwgMHhiMiwgMHhhOSwgMHgxMSwgMHgxZiwgMHgzYiwgMHgxMSwgMHg2MSwgMHg4ZCwgMHhiMywKLSAgMHg4NywgMHgxMywgMHhjNywgMHg0OCwgMHgxNCwgMHhjMywgMHg2OCwgMHhkNiwgMHg4MSwgMHhlZCwgMHg5MywgMHg5YywKLSAgMHg1MywgMHg3ZSwgMHhlOCwgMHg3ZCwgMHg5OSwgMHg1NywgMHg0MiwgMHgyYywgMHg4NiwgMHhkYiwgMHhhNywgMHgyNCwKLSAgMHhhZiwgMHhjYSwgMHg5YiwgMHg2MiwgMHg3OCwgMHg0MiwgMHg3NSwgMHhkNywgMHhjOSwgMHg0OSwgMHg3OSwgMHg2OSwKLSAgMHhiNiwgMHhlYSwgMHg2ZCwgMHhkNCwgMHg5ZiwgMHhmNCwgMHhmZSwgMHhlYywgMHg2ZCwgMHhiMiwgMHg0NSwgMHg3MiwKLSAgMHgzNywgMHgzOSwgMHhiMywgMHhmOCwgMHg4MywgMHhmNCwgMHhlNCwgMHhiNiwgMHgxOCwgMHgzZiwgMHgzNSwgMHhlYiwKLSAgMHgyNCwgMHgzMiwgMHg5YiwgMHg0MSwgMHg3MiwgMHhmNCwgMHhjMywgMHhlMSwgMHg5YiwgMHhiMywgMHg5MywgMHhhMywKLSAgMHgxZiwgMHgzOSwgMHgzMSwgMHgyOCwgMHg1OCwgMHgwZSwgMHhmZCwgMHhmOCwgMHg0YiwgMHhjZiwgMHgxYSwgMHg0NCwKLSAgMHhlYywgMHg4OCwgMHg5MiwgMHgyNSwgMHhjZCwgMHgzYywgMHhhMiwgMHhlMCwgMHg0MywgMHg0YywgMHg5ZiwgMHhjYywKLSAgMHgxYSwgMHg5NSwgMHgwNCwgMHhjNywgMHhlMywgMHhiMywgMHhlMywgMHhhMSwgMHg2MiwgMHgwNywgMHg3MiwgMHhlNywKLSAgMHhkYSwgMHhiYywgMHgyMCwgMHhkMywgMHgwZCwgMHhmMiwgMHg0OCwgMHg3YSwgMHhkZSwgMHg3YywgMHgxYiwgMHg4NiwKLSAgMHhjOSwgMHhmNCwgMHg0NiwgMHgwYywgMHg5MiwgMHhiNywgMHg5YSwgMHg4MSwgMHgzOSwgMHhjMCwgMHg4OSwgMHhkMywKLSAgMHgxNSwgMHg3YywgMHg5NSwgMHg1ZiwgMHgyMiwgMHhkNCwgMHhkNSwgMHg0OSwgMHg5ZCwgMHgxMywgMHhjYiwgMHgwOCwKLSAgMHg4NiwgMHg3ZSwgMHg4MCwgMHhjYiwgMHg0OSwgMHg3MiwgMHg0NSwgMHhhMiwgMHhlZiwgMHhhNCwgMHg4NywgMHhjYywKLSAgMHhkOSwgMHhiMSwgMHhkYSwgMHgyYiwgMHgyMSwgMHhjMSwgMHgwYywgMHg3MCwgMHg4YywgMHg1NCwgMHgxZiwgMHgxMywKLSAgMHgwNCwgMHhmMSwgMHhhNCwgMHg1ZSwgMHg2NiwgMHhkMiwgMHg2YSwgMHg3NSwgMHg2OCwgMHg2OSwgMHg4NCwgMHhlNSwKLSAgMHg4MiwgMHg2OCwgMHgxMywgMHg5NiwgMHhlZCwgMHgzZiwgMHg0ZiwgMHgzNiwgMHg4NiwgMHhhYiwgMHhlNCwgMHhmOSwKLSAgMHhjNiwgMHgyNywgMHg1NCwgMHgxMSwgMHg3YywgMHgxZiwgMHg3NCwgMHhhNCwgMHg3MSwgMHg5YSwgMHhjNCwgMHhmMiwKLSAgMHhkNCwgMHg0OSwgMHgyZCwgMHhlZCwgMHgzZSwgMHgzYywgMHg2ZCwgMHgxOCwgMHhhMCwgMHgwNCwgMHhlZiwgMHhkMSwKLSAgMHg5MCwgMHg1YywgMHhhNCwgMHgyZiwgMHg4YSwgMHhmMiwgMHgyZSwgMHgyMywgMHhkMCwgMHgzZSwgMHgwNSwgMHhmOCwKLSAgMHgxMiwgMHg3YiwgMHhhNiwgMHhjOCwgMHhkMywgMHhiMywgMHg2OSwgMHhkOCwgMHgwMCwgMHgwNywgMHgxOCwgMHg4OCwKLSAgMHhjNSwgMHg2ZiwgMHgyMCwgMHg2YSwgMHgyYSwgMHhhNiwgMHg1ZCwgMHgzOSwgMHgzMywgMHhiYSwgMHhlYSwgMHgyMSwKLSAgMHhjNywgMHg0NiwgMHg2YSwgMHhjYSwgMHhiYywgMHgwZiwgMHg4NywgMHhjMywgMHg1ZSwgMHg2ZCwgMHhmZSwgMHg3OSwKLSAgMHg1MywgMHhhMiwgMHhiZiwgMHgxYiwgMHhhMiwgMHg1NCwgMHgxMSwgMHhhZiwgMHhkZSwgMHg2MCwgMHgwNSwgMHg5NiwKLSAgMHgxNCwgMHg2MywgMHg5YSwgMHhiZCwgMHhiOSwgMHhmMSwgMHg5YiwgMHgyZiwgMHgzNiwgMHg2ZCwgMHg5OCwgMHg3OCwKLSAgMHgyMywgMHhhYSwgMHhhMiwgMHhmMSwgMHg3YiwgMHgxMiwgMHg3YywgMHg1NCwgMHhiNSwgMHg1YSwgMHg3MywgMHgyZiwKLSAgMHgzOCwgMHhhNywgMHhkZSwgMHg0OCwgMHhjZCwgMHg1OSwgMHgyNiwgMHhmZSwgMHgzYSwgMHg2YSwgMHgyMSwgMHhjYSwKLSAgMHg3OCwgMHg5ZiwgMHgxYywgMHhkZSwgMHhlYywgMHhhYSwgMHgxYywgMHhhZCwgMHg5OSwgMHhjYiwgMHg1YywgMHhmZiwKLSAgMHg0ZCwgMHhlNywgMHhlYSwgMHg3NSwgMHhkOSwgMHhhNiwgMHg2MCwgMHg4OSwgMHhlYiwgMHhmNywgMHgzOCwgMHhlMSwKLSAgMHg1NiwgMHhjZCwgMHg3ZCwgMHhmYSwgMHgxMCwgMHhhNywgMHhkMywgMHg5MiwgMHhkOSwgMHgwZSwgMHg0ZCwgMHgzOCwKLSAgMHg1YSwgMHgzOCwgMHgzOSwgMHhlOCwgMHhkNCwgMHgyNCwgMHgyMiwgMHhlMiwgMHgxNiwgMHgzYSwgMHg1NiwgMHhiZCwKLSAgMHg4ZSwgMHgyOCwgMHg2NiwgMHhlNCwgMHhjZCwgMHg4YSwgMHg3MCwgMHhlYywgMHhjYSwgMHg4ZiwgMHhlOCwgMHhlZiwKLSAgMHg1YiwgMHg1NiwgMHhiZCwgMHgzNywgMHg1NSwgMHg5ZCwgMHhjZSwgMHg4ZSwgMHhmMiwgMHg1OCwgMHhkYSwgMHg2YSwKLSAgMHhhNiwgMHgxYiwgMHhhOSwgMHgxMywgMHg3OCwgMHg1MCwgMHhkNCwgMHgwMSwgMHhiMSwgMHgzYSwgMHgwNywgMHgyMSwKLSAgMHhiMiwgMHgxMSwgMHg3NywgMHgxOSwgMHg5NCwgMHhmZSwgMHhkMSwgMHg0MywgMHgxYiwgMHgxNCwgMHg2YiwgMHg0NywKLSAgMHg3MSwgMHhiNSwgMHgzYSwgMHgzYSwgMHhlNiwgMHgwMCwgMHhmNiwgMHhjYiwgMHg4YywgMHhkYiwgMHg5ZCwgMHgyYywKLSAgMHhjNSwgMHhjOSwgMHg4ZSwgMHg2NiwgMHgxMywgMHhmZCwgMHhmNSwgMHg5YywgMHg5ZCwgMHhiMiwgMHhkNSwgMHg1MSwKLSAgMHgzZiwgMHg5YSwgMHg5ZSwgMHg5ZCwgMHg1ZiwgMHgzYywgMHhlOSwgMHgzNSwgMHgxYSwgMHhiMCwgMHhmOSwgMHg0ZSwKLSAgMHg2ZSwgMHg1NSwgMHgxZCwgMHhkYSwgMHg1OSwgMHhhZiwgMHgyNCwgMHhhNCwgMHhlNywgMHhjNywgMHhjOSwgMHhhNCwKLSAgMHg0NCwgMHg5MiwgMHhmZCwgMHg5OSwgMHg4NSwgMHhiNiwgMHg2YiwgMHg5YiwgMHhlOCwgMHhkNSwgMHg0MywgMHg0MiwKLSAgMHg0MywgMHg4ZSwgMHhiOCwgMHg0MywgMHgzZCwgMHg4YSwgMHhhOSwgMHhiMCwgMHhhYywgMHg5MywgMHgzMiwgMHhkMSwKLSAgMHhhOSwgMHg2MCwgMHg2NywgMHhkZiwgMHgzZiwgMHhlMiwgMHg3YywgMHgzYSwgMHg0NCwgMHg3OSwgMHgyMSwgMHhmNywKLSAgMHg0MSwgMHhjNywgMHg4ZSwgMHgwNCwgMHg3ZCwgMHgyMSwgMHgzZCwgMHgwZSwgMHhhYSwgMHgxOSwgMHhjYywgMHhlOCwKLSAgMHgzYiwgMHg0OSwgMHhmOSwgMHhlMSwgMHgxNiwgMHhlZSwgMHhjNSwgMHg0NywgMHhjZCwgMHgxYywgMHhhNSwgMHg5MSwKLSAgMHhiMywgMHhkYiwgMHg2YywgMHhiYSwgMHg2YSwgMHhkYSwgMHhhNSwgMHg3ZiwgMHhkZSwgMHg5YywgMHgwNCwgMHhlNCwKLSAgMHgwYiwgMHg1MywgMHhkYSwgMHhjMiwgMHg0NSwgMHg1MCwgMHg2MywgMHhmNCwgMHg0YywgMHgwMSwgMHg5YSwgMHg5ZSwKLSAgMHg2ZiwgMHg2YywgMHg0YiwgMHg3YywgMHg5OSwgMHhiYiwgMHg3MiwgMHg1YiwgMHhlNCwgMHhhNiwgMHg1OCwgMHhlNCwKLSAgMHg1OCwgMHhhNywgMHg1YywgMHg2NSwgMHhlYywgMHhlOCwgMHg3NSwgMHg2OSwgMHgxNCwgMHhkMSwgMHhjZiwgMHgxYiwKLSAgMHgxYSwgMHhhZCwgMHhhMiwgMHg1ZiwgMHg3ZiwgMHhjZCwgMHg1ZSwgMHg0MSwgMHhlZiwgMHhlMywgMHhiNiwgMHg3NSwKLSAgMHhhYiwgMHgzOCwgMHgwYywgMHhlYiwgMHhlMCwgMHgyYSwgMHgwNywgMHg1ZiwgMHg0NiwgMHgwYiwgMHg3YiwgMHhjMywKLSAgMHhhMCwgMHhhZSwgMHgwZCwgMHg3NSwgMHhjMywgMHg5MCwgMHhkNywgMHg1NywgMHg3NSwgMHhmMywgMHgwMywgMHg0NywKLSAgMHhlZCwgMHhmMSwgMHhkOSwgMHhmNSwgMHgxMywgMHhmMSwgMHhiMywgMHg5MywgMHhiZSwgMHg0MSwgMHgxMiwgMHgwZiwKLSAgMHgzZiwgMHhiMiwgMHgxYywgMHgzZiwgMHg1OCwgMHhjNSwgMHhjNywgMHg2YSwgMHhmMiwgMHhjOCwgMHhmYywgMHhmMSwKLSAgMHgyZCwgMHhmZCwgMHg3MSwgMHhjMSwgMHg3ZSwgMHgwMSwgMHgwMSwgMHg1OCwgMHg2NCwgMHgwZiwgMHg3MSwgMHg0OCwKLSAgMHhkYSwgMHhlMywgMHgxMywgMHhmZCwgMHhjMywgMHg2NiwgMHg5MCwgMHg5OSwgMHgxMywgMHhhNywgMHgwMiwgMHg0ZCwKLSAgMHg0MiwgMHg2MywgMHg3NCwgMHhiOCwgMHg1OCwgMHhiMCwgMHg2YSwgMHg3NCwgMHg5OCwgMHgwMSwgMHg5NywgMHg0ZCwKLSAgMHg4NywgMHhlMSwgMHg1MywgMHhmOSwgMHgxZiwgMHhkMCwgMHgwMywgMHgwNywgMHg0MCwgMHhlNywgMHgxYiwgMHhjMCwKLSAgMHgxYiwgMHgzNiwgMHhlNiwgMHhmNiwgMHhiYSwgMHg2NSwgMHhhYywgMHg2ZSwgMHhkNiwgMHg2YywgMHhkNSwgMHhkZiwKLSAgMHgyOSwgMHg0MiwgMHg2OCwgMHg0YiwgMHhmOCwgMHgwZCwgMHgwNywgMHhkMCwgMHhiNCwgMHgwZiwgMHgyNSwgMHg0MCwKLSAgMHg5NywgMHg2YSwgMHhjMiwgMHg4ZSwgMHg3MywgMHhiYSwgMHg2OCwgMHhjYywgMHhjZiwgMHhmMiwgMHg5ZSwgMHgyOSwKLSAgMHhmNCwgMHgyZiwgMHgxOSwgMHhkMiwgMHg1ZCwgMHhmZSwgMHgwOCwgMHhmMSwgMHg4NywgMHhmYiwgMHhkZiwgMHg3YiwKLSAgMHg4NSwgMHhiYSwgMHg3MSwgMHhiZSwgMHhmMSwgMHhkYSwgMHhkMywgMHg5MiwgMHgxNCwgMHgzNiwgMHgzZCwgMHg2YSwKLSAgMHhjZSwgMHhkNCwgMHhjMSwgMHhkOSwgMHhlMCwgMHg1MSwgMHhjYiwgMHgxZCwgMHg1OCwgMHgyZCwgMHhlOSwgMHg5OSwKLSAgMHhlNywgMHgwMiwgMHg4ZCwgMHhmNCwgMHhkMCwgMHg4MSwgMHgwNSwgMHg2YywgMHhlMSwgMHgyMywgMHhmYiwgMHg2NCwKLSAgMHhjOCwgMHhhNywgMHg5YywgMHgyZCwgMHgyOCwgMHgyOCwgMHg2NywgMHgyNSwgMHgyMywgMHgyMywgMHhiYSwgMHg5MSwKLSAgMHg2NiwgMHg0NSwgMHg5ZiwgMHgxYiwgMHhjNiwgMHg4NywgMHg5YiwgMHg5MSwgMHhmNiwgMHg0NiwgMHg1MiwgMHg5NiwKLSAgMHgxMywgMHhjYiwgMHg3ZSwgMHgxNywgMHhjNCwgMHg2MSwgMHhlYiwgMHhiYiwgMHg2MiwgMHg3YSwgMHhmNSwgMHhlYSwKLSAgMHhlZCwgMHgzOCwgMHhmZSwgMHg3YSwgMHg3NywgMHg3MSwgMHg3OCwgMHhkYSwgMHg2OCwgMHgyMSwgMHg0NCwgMHgwYiwKLSAgMHg2YywgMHg3MiwgMHgwYSwgMHg5ZSwgMHgyOSwgMHgwMSwgMHg2YSwgMHgxZCwgMHg3YSwgMHhiZiwgMHg4ZCwgMHgwZiwKLSAgMHhkNywgMHg3ZSwgMHhjNSwgMHgzYSwgMHgyOSwgMHg0OSwgMHhiMywgMHg2MCwgMHgyZSwgMHgyZSwgMHg4YSwgMHgyNywKLSAgMHgyMiwgMHg0MiwgMHhjMywgMHg5NCwgMHhlZSwgMHgwMiwgMHg3YiwgMHgzZCwgMHhlMiwgMHhjMywgMHgzNSwgMHg1NywKLSAgMHgxNCwgMHhjYSwgMHgzMiwgMHg0NCwgMHgyMCwgMHgyMywgMHg1NiwgMHg1ZSwgMHg2YSwgMHg1YywgMHg5NywgMHhhZSwKLSAgMHhkMSwgMHg3YywgMHg0OSwgMHhmZiwgMHhmOCwgMHgyNSwgMHhjNywgMHg3YywgMHg2MiwgMHgyYywgMHhkYSwgMHgyYywKLSAgMHgxMiwgMHhmNiwgMHgwYywgMHg3NiwgMHhjOCwgMHg4NiwgMHg4ZiwgMHg1YywgMHg1OCwgMHhkYSwgMHg5MCwgMHhlYSwKLSAgMHg5YywgMHg1ZSwgMHg2NywgMHgyYSwgMHgxZCwgMHgwOCwgMHhiMSwgMHhlMiwgMHg0NywgMHg1NSwgMHhkZiwgMHg5MiwKLSAgMHhjYywgMHg5ZSwgMHhlYywgMHg3ZiwgMHhmZCwgMHg1NSwgMHgyOCwgMHgzZCwgMHg1ZiwgMHhiZCwgMHhlZCwgMHhmOSwKLSAgMHgxYywgMHhmZCwgMHg2NiwgMHhhOCwgMHg1NSwgMHg5NCwgMHhhMiwgMHgxMSwgMHg3OCwgMHgwYSwgMHg3ZCwgMHhiOCwKLSAgMHgxNywgMHg4MiwgMHg4YiwgMHgxZCwgMHg5ZiwgMHg4MCwgMHg4MiwgMHg2NiwgMHhkZiwgMHhjMywgMHgyNSwgMHhjYywKLSAgMHgxMywgMHhmMiwgMHhjNywgMHhkYSwgMHgwNywgMHhhNSwgMHg5NiwgMHgyMSwgMHhmZSwgMHgyOSwgMHgyZSwgMHgxMCwKLSAgMHhlMSwgMHhkYywgMHhjMywgMHhlNCwgMHgxZCwgMHhjNywgMHg5NywgMHhjZiwgMHg0NCwgMHgxMSwgMHhkZSwgMHg1ZSwKLSAgMHg3NywgMHg0NiwgMHhmMSwgMHhlMSwgMHg4OCwgMHhiZiwgMHhjNSwgMHhlMCwgMHhjOSwgMHg4OCwgMHgyZCwgMHhlYywKLSAgMHhmMywgMHgxZiwgMHgzYiwgMHhmYiwgMHgzNiwgMHg2ZCwgMHhjZSwgMHgxNiwgMHhjMiwgMHhlMiwgMHg5YSwgMHgxYSwKLSAgMHgwOSwgMHgxZSwgMHgyYSwgMHgwOCwgMHg0NSwgMHg3ZSwgMHgzYiwgMHg0NiwgMHhhNiwgMHg0MywgMHgwZiwgMHgzNSwKLSAgMHgyMywgMHgyNSwgMHg4MiwgMHg3MywgMHgyMSwgMHhlYywgMHhlNCwgMHg2OCwgMHg5ZSwgMHhhYSwgMHg4OSwgMHg0NSwKLSAgMHg2NywgMHgzMiwgMHg2NiwgMHhmNywgMHhkZCwgMHg3ZCwgMHhjNCwgMHg5NCwgMHg0NywgMHgzMiwgMHhmZCwgMHhkNiwKLSAgMHg2MSwgMHhiMCwgMHhiZSwgMHgzMSwgMHg0YSwgMHgxMiwgMHgwOSwgMHhkNywgMHgwNywgMHgxMywgMHhhOSwgMHhiZSwKLSAgMHg5MCwgMHg2YywgMHg0ZCwgMHg4YywgMHhiOCwgMHhmNiwgMHhjMCwgMHg4MywgMHg1OCwgMHhjNSwgMHg3ZSwgMHhjNCwKLSAgMHhhNSwgMHgzYiwgMHhmMSwgMHhlMSwgMHgxZSwgMHg3ZiwgMHhmZSwgMHhmOCwgMHhkMSwgMHhmNiwgMHhiNiwgMHhhYiwKLSAgMHg2ZiwgMHhlMSwgMHhjYywgMHg5ZCwgMHgwOSwgMHhhOSwgMHgzOSwgMHg4YiwgMHg5YywgMHgzOCwgMHgxNywgMHgwNywKLSAgMHhjMSwgMHhjYywgMHgxNiwgMHg1ZiwgMHg4MSwgMHgzMSwgMHg1OCwgMHg5ZiwgMHg1MSwgMHg3YywgMHgzOCwgMHg5MiwKLSAgMHg2MywgMHhmYSwgMHgxZSwgMHgxZCwgMHgyMiwgMHg5OSwgMHhlMCwgMHg2MCwgMHhlOCwgMHhkNiwgMHgxMCwgMHgyNiwKLSAgMHg2MSwgMHg5MywgMHhmMSwgMHgwMywgMHgzNiwgMHgxYywgMHhkNCwgMHhjYiwgMHgxNSwgMHhlMCwgMHg0OCwgMHg3MSwKLSAgMHgxZSwgMHg0NiwgMHg3MiwgMHgyYywgMHg3MSwgMHgyNCwgMHgzYiwgMHg1NSwgMHg0OSwgMHgxYiwgMHhhNiwgMHhhOCwKLSAgMHg5ZSwgMHhiMSwgMHhkOCwgMHhjMywgMHgxZiwgMHhhOCwgMHhmOSwgMHhiYywgMHhkMiwgMHg3NiwgMHhkZSwgMHg2NywKLSAgMHhhYiwgMHhjOSwgMHhkYywgMHhjOCwgMHhhMCwgMHhmMSwgMHhlYSwgMHhlMiwgMHhjMiwgMHg5YywgMHhmNiwgMHg0OSwKLSAgMHgyZSwgMHg4ZCwgMHhkOSwgMHg1OSwgMHgwNywgMHg5NywgMHhhYywgMHg4YiwgMHgzZSwgMHg5OSwgMHg4MywgMHg3NSwKLSAgMHhiNywgMHgwOSwgMHg0ZCwgMHgyYSwgMHg0NiwgMHhiYywgMHhiYSwgMHg3NSwgMHhkNiwgMHhkYSwgMHg5MiwgMHg4ZCwKLSAgMHgyNSwgMHg3ZiwgMHhjOCwgMHg5YywgMHhkMCwgMHhjNSwgMHhiMCwgMHg2ZiwgMHg2MSwgMHhiNywgMHg1OSwgMHgxZCwKLSAgMHg5YSwgMHg3MSwgMHg2ZiwgMHgyOCwgMHhhMiwgMHg2YywgMHgwNCwgMHhmNiwgMHg4MywgMHg4ZiwgMHhkZSwgMHhmNiwKLSAgMHgzZiwgMHg2ZiwgMHgyNywgMHgxMywgMHg1YiwgMHhiZCwgMHhmMywgMHg4NiwgMHhmNCwgMHg0ZSwgMHg2MCwgMHgwZiwKLSAgMHg1MSwgMHg5YywgMHgyNSwgMHg3OSwgMHhjMSwgMHgxYSwgMHg2NiwgMHhiNCwgMHgyMywgMHgzNiwgMHhiNywgMHg2ZCwKLSAgMHgxNSwgMHgxMCwgMHgwOCwgMHg1ZiwgMHgxNywgMHg4NSwgMHg1NiwgMHgwZiwgMHhiZiwgMHg3ZiwgMHg0YSwgMHhjZCwKLSAgMHgzMCwgMHgyNSwgMHgzZCwgMHg3NCwgMHg5ZSwgMHgyMSwgMHgzYSwgMHg0MiwgMHhmYywgMHgzMSwgMHg0NCwgMHg2MywKLSAgMHhhOSwgMHhkOCwgMHgzZiwgMHhjOSwgMHg2MywgMHg4OCwgMHhlZiwgMHg0MywgMHgzYywgMHhmOCwgMHhjOCwgMHhmYSwKLSAgMHg0YiwgMHg4MSwgMHgyNiwgMHhjNSwgMHg1ZSwgMHgyMCwgMHg0NiwgMHgzMSwgMHg2MiwgMHg5ZiwgMHg5NywgMHhhMSwKLSAgMHg5ZCwgMHhkYiwgMHg4MCwgMHgyNywgMHhmMCwgMHgzNiwgMHg1MywgMHhmNCwgMHhjOSwgMHgwYiwgMHgzZiwgMHgyOSwKLSAgMHhjYywgMHg0NCwgMHhkZCwgMHhmYSwgMHg1MiwgMHhlMCwgMHhiYSwgMHg4OSwgMHg3NCwgMHgyYSwgMHg5ZiwgMHg5YiwKLSAgMHhjZCwgMHgyMCwgMHg5YiwgMHg3OCwgMHg4MywgMHg2NywgMHhiNCwgMHg4MSwgMHhhMiwgMHg3YSwgMHgyZCwgMHgwZSwKLSAgMHg0NCwgMHg1ZSwgMHg5OCwgMHg1YSwgMHgwZCwgMHhhYywgMHg3NywgMHhlYiwgMHhkOCwgMHhlMiwgMHhhMSwgMHg0YywKLSAgMHgyMywgMHhkMSwgMHg3ZSwgMHg5ZCwgMHhlMywgMHhjNiwgMHg5NywgMHg5YSwgMHg2MywgMHhiNiwgMHhjMSwgMHg2YSwKLSAgMHg3YiwgMHhjOSwgMHg1ZSwgMHgwMywgMHhjZCwgMHg3YSwgMHhiNiwgMHg2MywgMHhjYSwgMHg5MCwgMHgxMSwgMHhhNCwKLSAgMHgwOSwgMHhjZSwgMHhkOSwgMHg0MCwgMHhmYSwgMHgzYywgMHg5ZCwgMHg5YSwgMHgxOSwgMHg3MiwgMHhiOCwgMHgxMSwKLSAgMHg1NSwgMHg2OCwgMHhlZCwgMHgwNiwgMHhkOCwgMHg3NiwgMHhhMywgMHgyZCwgMHhiMywgMHg0ZiwgMHgzZiwgMHg2MSwKLSAgMHhlMSwgMHg2YywgMHg5MSwgMHg3OCwgMHhkZSwgMHhlNCwgMHhjZCwgMHgyYSwgMHg2NCwgMHhiYSwgMHgxMywgMHg3MSwKLSAgMHgxZCwgMHgyNSwgMHg0MCwgMHhlNiwgMHg4MCwgMHg5OCwgMHhhNiwgMHhjMywgMHg3MCwgMHhmMCwgMHgxOSwgMHgzMCwKLSAgMHhmMywgMHgyOCwgMHgxMSwgMHhhZiwgMHgwMSwgMHg1NCwgMHhiOCwgMHhmMiwgMHgwOCwgMHg3MiwgMHg3ZSwgMHhjZSwKLSAgMHhjYiwgMHg5YiwgMHgyMCwgMHg3NywgMHg5ZCwgMHgyYywgMHgwYywgMHgzYiwgMHhiYiwgMHg3NiwgMHhlMSwgMHg5ZiwKLSAgMHg3OSwgMHhmYiwgMHgwZiwgMHhmZiwgMHhhNSwgMHhiZiwgMHhmYywgMHg0MCwgMHgzYiwgMHhmNSwgMHgwZiwgMHhkZCwKLSAgMHgyOSwgMHg0ZCwgMHg4OCwgMHg0ZCwgMHgwMywgMHg3OCwgMHgwOCwgMHhkOCwgMHhkNiwgMHhjOSwgMHgxZiwgMHhiMCwKLSAgMHgyYiwgMHgzZiwgMHg1MywgMHhiZSwgMHgxNSwgMHg2ZiwgMHgwZCwgMHgyMSwgMHgzMywgMHg2MSwgMHhjMCwgMHgzZiwKLSAgMHg4YywgMHhhYywgMHgxZSwgMHgyZCwgMHg4MywgMHhhNCwgMHg1NCwgMHhlZiwgMHgwZSwgMHg2NSwgMHg3ZiwgMHg3MiwKLSAgMHgxNywgMHhiOCwgMHhhNCwgMHg4OCwgMHgwYywgMHg3ZiwgMHgyYywgMHgwNiwgMHg4MCwgMHhkZCwgMHgzNiwgMHgyNiwKLSAgMHgxZCwgMHhhMSwgMHhkMywgMHg3MCwgMHg1NywgMHg2NSwgMHgzZSwgMHhjNSwgMHgxZiwgMHgyYiwgMHhjMSwgMHg1YSwKLSAgMHgzMiwgMHhiNiwgMHg4YywgMHg5OSwgMHgzOSwgMHgxOSwgMHg3YSwgMHhmYywgMHhmMywgMHhiOCwgMHg2MSwgMHhhMSwKLSAgMHgyOSwgMHgzNywgMHhlMiwgMHg0ZCwgMHg2OSwgMHg0MSwgMHg2ZiwgMHg5OSwgMHg3MSwgMHhkMiwgMHg2YSwgMHg2NiwKLSAgMHgwZCwgMHhmMSwgMHg4OSwgMHhhMiwgMHhkZSwgMHg3MCwgMHgxYSwgMHhjOSwgMHgyNCwgMHhmMCwgMHg1ZSwgMHgwMywKLSAgMHg5YiwgMHg0NiwgMHhlMCwgMHhjOCwgMHhmNSwgMHg2NSwgMHg2ZSwgMHhlMCwgMHg2NywgMHg5MywgMHg0NywgMHhmZSwKLSAgMHhmMCwgMHg1ZiwgMHg5YywgMHhhMiwgMHhmOCwgMHg4ZiwgMHg1MCwgMHhmNywgMHgzZCwgMHgzZCwgMHgzZiwgMHg3YSwKLSAgMHg4ZSwgMHgyOSwgMHhmZCwgMHg2MSwgMHg1OCwgMHhkZiwgMHgyZCwgMHgyNiwgMHhlNSwgMHg1YywgMHgyZSwgMHgxZSwKLSAgMHg2ZCwgMHhiZSwgMHhkOSwgMHg0MCwgMHhmZCwgMHgxOSwgMHg1MywgMHgwOSwgMHg2MiwgMHg3NSwgMHg0MywgMHgwZiwKLSAgMHhiOCwgMHg2NSwgMHgxMCwgMHhlZCwgMHg1MywgMHg0MiwgMHg3NiwgMHg1OCwgMHgzOSwgMHhlNSwgMHgzMiwgMHg1ZSwKLSAgMHhhYSwgMHhhOSwgMHgzMCwgMHgzNywgMHhlZiwgMHgwZiwgMHg4OSwgMHg2MiwgMHhiMSwgMHg3MCwgMHg5MywgMHg2MiwKLSAgMHg2OSwgMHg0NSwgMHgyZCwgMHgxZSwgMHhkNSwgMHg0NiwgMHg4YywgMHhlNiwgMHg2OCwgMHgwOCwgMHg2OCwgMHgzZCwKLSAgMHgxZCwgMHg1YiwgMHg5ZSwgMHgxZSwgMHg4NSwgMHhiYywgMHgyMSwgMHg3ZSwgMHg2MSwgMHhhNiwgMHhmOSwgMHgwMSwKLSAgMHhkNSwgMHhhMiwgMHg2MiwgMHhlNiwgMHhiZSwgMHhlNCwgMHg5ZiwgMHgwZCwgMHhjZiwgMHhmMSwgMHgzMywgMHgyYSwKLSAgMHg4ZSwgMHhmMSwgMHg5YSwgMHg5OSwgMHg1MywgMHhkNiwgMHg4OCwgMHgxNCwgMHhjNSwgMHgwYywgMHhjMiwgMHhjMiwKLSAgMHhlYywgMHgyNCwgMHg5NiwgMHgzNCwgMHg0OCwgMHg0OSwgMHhmOSwgMHg4NiwgMHhjZiwgMHgwNCwgMHhmMywgMHhkNCwKLSAgMHg1YiwgMHhmZCwgMHgyMSwgMHgwMywgMHgzYSwgMHg3MywgMHg3ZSwgMHg5ZCwgMHhhZCwgMHgxZiwgMHgwZCwgMHhlZCwKLSAgMHg5ZSwgMHgwYywgMHg2MywgMHg1ZSwgMHhhNCwgMHg5MiwgMHg2NiwgMHhjNywgMHg3OSwgMHg3NSwgMHhmNiwgMHgzZSwKLSAgMHgyOSwgMHgxYSwgMHgxYywgMHhiMiwgMHhhZSwgMHhjZCwgMHg2OSwgMHg4ZiwgMHhlZSwgMHgxYiwgMHg4ZSwgMHhmNiwKLSAgMHg1NCwgMHhlYiwgMHg0OSwgMHgyNCwgMHgyYiwgMHg4OSwgMHhmYywgMHg2YiwgMHg1ZSwgMHhiYiwgMHg5NCwgMHg4NiwKLSAgMHgyYSwgMHg4NSwgMHgwYywgMHhkZCwgMHg2MCwgMHhlNCwgMHg3YiwgMHhkNiwgMHg1YSwgMHg2YSwgMHg4OCwgMHhjMiwKLSAgMHg2ZiwgMHg3NywgMHhkYywgMHg4ZSwgMHhiYiwgMHhiMywgMHg3NiwgMHg0ZiwgMHhkZSwgMHhiYiwgMHg2MSwgMHgzOSwKLSAgMHg1OCwgMHgzZiwgMHg5YywgMHg4ZCwgMHhlMCwgMHhkYiwgMHhkMCwgMHhkNCwgMHgzMSwgMHg1YSwgMHhiNywgMHg5NywKLSAgMHg5YywgMHgxOCwgMHg4OSwgMHg3OSwgMHgxMiwgMHhmZSwgMHhmNSwgMHg4MiwgMHhiYywgMHhiNiwgMHg5MSwgMHgzOCwKLSAgMHg3MywgMHgxMiwgMHhlMSwgMHhmNiwgMHgwOCwgMHg4ZSwgMHhmZSwgMHhjNywgMHhjMCwgMHhjZCwgMHg4NywgMHg1ZCwKLSAgMHg1YiwgMHg0MywgMHgyZiwgMHhmZSwgMHg2ZiwgMHg3NCwgMHgxMSwgMHg4NiwgMHhmYSwgMHg1YywgMHgzZiwgMHgxYywKLSAgMHg1NywgMHgwNiwgMHgzYywgMHgxOSwgMHhlZCwgMHg2ZSwgMHgwNywgMHg4NywgMHhkYSwgMHgyYywgMHgzZiwgMHgxOCwKLSAgMHhkYSwgMHhhOCwgMHhlZSwgMHgzZSwgMHg1MCwgMHhmZSwgMHgyYywgMHhjZSwgMHg0YywgMHhhMywgMHgwYSwgMHhmOCwKLSAgMHgwMSwgMHg3NiwgMHg5NiwgMHg1MSwgMHgxYiwgMHg1NiwgMHg0YiwgMHgxYSwgMHgwNywgMHg2NCwgMHgzZSwgMHgyZiwKLSAgMHhkOSwgMHg2MCwgMHhiYiwgMHg2ZiwgMHgxOSwgMHgxMiwgMHhhMSwgMHg5NiwgMHg1NCwgMHg0YiwgMHgxZiwgMHgzYywKLSAgMHg2OCwgMHhhYiwgMHhkZCwgMHgwZiwgMHhmMCwgMHg1MSwgMHgzMCwgMHgzMSwgMHhjYSwgMHg4ZCwgMHhmOSwgMHg4MCwKLSAgMHhjOCwgMHhiNSwgMHgyNSwgMHgyNiwgMHgyMywgMHhmNywgMHhiMiwgMHgyYSwgMHg5ZiwgMHhmYSwgMHhjZCwgMHg3MSwKLSAgMHhmMSwgMHgwMCwgMHg0OCwgMHg4YSwgMHgxMSwgMHg1MSwgMHgyOSwgMHg5NCwgMHgxZCwgMHgwNSwgMHhjNCwgMHhlZSwKLSAgMHhmYywgMHgwZiwgMHhmZSwgMHg1ZiwgMHgyZiwgMHg2NCwgMHg2NSwgMHgxMywgMHgzMSwgMHg3MSwgMHhkYSwgMHg2NiwKLSAgMHhhMiwgMHg5NCwgMHhmMywgMHhlMywgMHgzMiwgMHgxMCwgMHg4ZSwgMHhlZiwgMHg1OSwgMHgyNywgMHgxMCwgMHhmNywKLSAgMHhmNywgMHhhNSwgMHhkZSwgMHgyMywgMHg0ZiwgMHg2YiwgMHgzYiwgMHg0MSwgMHg1ZSwgMHgwMSwgMHg2ZSwgMHgxNCwKLSAgMHhkNiwgMHg0YiwgMHg5MSwgMHg0MCwgMHhmMiwgMHhhZiwgMHhkYywgMHg3YiwgMHgwZiwgMHgzOSwgMHgzNywgMHg4ZSwKLSAgMHgxNCwgMHg5MCwgMHg1MSwgMHhjZiwgMHhjZSwgMHg3MCwgMHg0YSwgMHg3MywgMHg3NywgMHg2NywgMHhmYSwgMHgzNywKLSAgMHg4NCwgMHhkNywgMHgxYywgMHgwNiwgMHgxZiwgMHhiYiwgMHg2ZSwgMHgwNSwgMHhkZSwgMHhkOCwgMHgyZCwgMHgwOSwKLSAgMHhlMiwgMHg0MSwgMHgzOSwgMHhkZiwgMHhlNiwgMHhkYiwgMHgwMiwgMHg1YSwgMHhlOCwgMHg0MiwgMHhlZiwgMHhkZCwKLSAgMHg3MywgMHg2YiwgMHhiNywgMHhkYSwgMHhiZCwgMHhiNiwgMHg3YiwgMHhjZSwgMHhkOSwgMHg5NiwgMHgyNywgMHgzMSwKLSAgMHg0NywgMHhhMywgMHg5ZiwgMHg3OSwgMHgzNSwgMHg0YiwgMHg5YywgMHg3OSwgMHg0OCwgMHhlYiwgMHg0OSwgMHgyYywKLSAgMHhlYiwgMHg1MSwgMHgzMCwgMHg4NSwgMHg1ZiwgMHhmMCwgMHhmOSwgMHhjNywgMHhiYiwgMHgxMSwgMHhmYSwgMHhmZiwKLSAgMHhiOSwgMHhjNiwgMHg2NywgMHhhZCwgMHhkNCwgMHg0ZSwgMHhmZSwgMHg2MywgMHg3YywgMHhmYSwgMHgzNiwgMHgyOSwKLSAgMHgyNywgMHgzZiwgMHhkMywgMHhlNiwgMHg3MiwgMHgxMCwgMHg5MSwgMHhmMiwgMHhhMiwgMHgyZCwgMHg1MywgMHhmZSwKLSAgMHg5OCwgMHg0NSwgMHhjYSwgMHgwZSwgMHg5MCwgMHgxZCwgMHhmZCwgMHgyMSwgMHg1ZiwgMHg3YSwgMHg4YywgMHhlZiwKLSAgMHhmOCwgMHg4YywgMHg0ZSwgMHgxYywgMHg4NSwgMHgzZCwgMHg5MiwgMHg3MSwgMHhjOSwgMHgyOSwgMHhkNCwgMHg5NCwKLSAgMHhiNywgMHgyMSwgMHgzZiwgMHg2MCwgMHhlNiwgMHg3MCwgMHhmZiwgMHg4OSwgMHg0YywgMHgwNSwgMHgzYiwgMHgwMiwKLSAgMHg1ZSwgMHg4NSwgMHgxNiwgMHhkMCwgMHhjNiwgMHg1MCwgMHg1NSwgMHgzZCwgMHhmMSwgMHgzMiwgMHgxYywgMHg5ZiwKLSAgMHg1ZCwgMHgzZiwgMHgwYSwgMHhhMywgMHg1OSwgMHg0OSwgMHhjNCwgMHhlNywgMHhlNiwgMHhlZiwgMHhjYiwgMHhmZSwKLSAgMHhiMywgMHhjOCwgMHhiZSwgMHhmMCwgMHg5MiwgMHg2MCwgMHhhNSwgMHhlOSwgMHg5MiwgMHg3OCwgMHgwMSwgMHg3ZSwKLSAgMHhlMywgMHgxNiwgMHg1OSwgMHg4OCwgMHhhZSwgMHhjMywgMHg5ZiwgMHhlOCwgMHgzZCwgMHg0YiwgMHg3MiwgMHg4YiwKLSAgMHhiOCwgMHg3NywgMHgyNiwgMHhlNiwgMHg1YiwgMHgxZiwgMHgxYywgMHhlOCwgMHg3ZiwgMHhmMiwgMHg5NiwgMHgzZiwKLSAgMHg0ZCwgMHhkZiwgMHgzNiwgMHhkYSwgMHg4ZCwgMHg2YiwgMHgwNywgMHg0MCwgMHhlMCwgMHg4ZiwgMHg0YSwgMHhlOSwKLSAgMHgzYywgMHg5NSwgMHhiOCwgMHg1YSwgMHg5ZSwgMHg0NCwgMHhiNCwgMHhmNCwgMHgwZSwgMHg5MSwgMHgxZSwgMHg0NCwKLSAgMHhlNywgMHhhMCwgMHhhZCwgMHg4ZCwgMHg2YiwgMHgzYiwgMHgwNywgMHgzMywgMHgwNSwgMHhmNywgMHg0MywgMHhiZSwKLSAgMHg3MywgMHgyNCwgMHgzZiwgMHgyZiwgMHg0YSwgMHg0YSwgMHg0YSwgMHg3NiwgMHhjOSwgMHhhYSwgMHhmNywgMHgxZSwKLSAgMHgzMCwgMHhkZiwgMHhhMywgMHhmYiwgMHg2NywgMHg4MSwgMHhiYiwgMHhmOCwgMHhhMSwgMHhhZSwgMHhlNywgMHg3NCwKLSAgMHg1ZiwgMHhmMiwgMHg4YiwgMHgzYiwgMHgzMywgMHhhNSwgMHhiYSwgMHgxNywgMHg3OSwgMHhjNywgMHg5NywgMHhjMiwKLSAgMHhmYywgMHg5YywgMHgxZSwgMHg5NywgMHg2NywgMHg3NSwgMHg2ZiwgMHhkNiwgMHg3MCwgMHg4YywgMHgyZSwgMHgzMywKLSAgMHhjYSwgMHhlMSwgMHg2MSwgMHgxYywgMHhmMSwgMHhmYiwgMHg4OCwgMHg5MSwgMHg4NCwgMHgzOSwgMHgzZSwgMHhlZiwKLSAgMHhhMiwgMHg4NSwgMHhjMiwgMHg2YywgMHhhYywgMHhjNiwgMHgzMSwgMHg0YSwgMHg3NiwgMHhhZCwgMHgzOSwgMHg3OSwKLSAgMHgwZiwgMHgyMSwgMHhiNCwgMHg0NiwgMHhhMiwgMHg0MSwgMHg1YywgMHg4OCwgMHhiYywgMHhiZCwgMHgyMSwgMHg1NCwKLSAgMHg2NywgMHgxOSwgMHg2YywgMHg4OCwgMHhlZSwgMHhmZSwgMHgwNywgMHhhOCwgMHgxMywgMHgxYywgMHhkNCwgMHg5NiwKLSAgMHhhNCwgMHg3YSwgMHgwYiwgMHgzMiwgMHg0NSwgMHg4MywgMHg4MiwgMHgzNiwgMHgzNCwgMHgzMCwgMHgzZCwgMHgzYywKLSAgMHgyMSwgMHg4OSwgMHgzYSwgMHg4ZiwgMHhjMCwgMHhhNCwgMHgyNywgMHgxMSwgMHgyNCwgMHgxMCwgMHg3NCwgMHg0ZiwKLSAgMHg5MywgMHgyNCwgMHg3MywgMHgzZCwgMHhlYSwgMHhhZCwgMHg1MiwgMHgyYSwgMHg2NiwgMHg4NywgMHg1NCwgMHhlOCwKLSAgMHgzYiwgMHhjNCwgMHgyZiwgMHg5MiwgMHg1ZSwgMHgzZiwgMHhhZCwgMHhjYiwgMHgxOSwgMHg2OSwgMHhiNiwgMHgwNywKLSAgMHhhYSwgMHgxYSwgMHhhYSwgMHhiZSwgMHgyNywgMHg4OSwgMHgzYSwgMHg4MCwgMHhmZSwgMHg4NCwgMHhmNCwgMHg5OCwKLSAgMHg1MiwgMHhhMywgMHgyMSwgMHhhNCwgMHhhYiwgMHhhNSwgMHhlYiwgMHg4NywgMHhkMywgMHhlOSwgMHg0OCwgMHhmZiwKLSAgMHgzZCwgMHg5OCwgMHg2YywgMHg5NywgMHg0MCwgMHg0NSwgMHgyYiwgMHgzYiwgMHhhNCwgMHg2NCwgMHgyNCwgMHg1MywKLSAgMHg2NCwgMHhlNywgMHg0OCwgMHgyMiwgMHg1YiwgMHg5NiwgMHg3NSwgMHhlZSwgMHg4NCwgMHg3NCwgMHhjOCwgMHhiOCwKLSAgMHhmZSwgMHhhOSwgMHhlYiwgMHhkZCwgMHhjMywgMHhhMiwgMHgzYSwgMHg1YywgMHhlOCwgMHgzZSwgMHhlOSwgMHgxYSwKLSAgMHg2NSwgMHgwYywgMHhiMiwgMHgwNiwgMHhlNSwgMHg1MSwgMHhkZSwgMHgxYSwgMHhmYSwgMHg3OCwgMHhkNCwgMHhhNywKLSAgMHg2MiwgMHg1MSwgMHg5MiwgMHhkZCwgMHhkYiwgMHgwYSwgMHgzZSwgMHgyMSwgMHhlMywgMHg1MCwgMHg3ZSwgMHhiMSwKLSAgMHg1NSwgMHgzYiwgMHgxOCwgMHg2YSwgMHgyYSwgMHgwNiwgMHg5YywgMHhkOSwgMHhiMCwgMHhjMywgMHg3NiwgMHgwYywKLSAgMHhhNiwgMHhhZSwgMHhhYiwgMHgwYiwgMHgxYSwgMHgwYSwgMHhmNiwgMHhlNSwgMHgxZSwgMHg2MiwgMHhkYSwgMHhmNywKLSAgMHhkZSwgMHgwZCwgMHhjMiwgMHhmOSwgMHhmYiwgMHg2MCwgMHhkYiwgMHhjMywgMHg3MCwgMHhmNCwgMHhhNywgMHg2YywKLSAgMHgyOCwgMHg1OSwgMHg2NCwgMHg2MSwgMHg5NCwgMHgwMiwgMHgzMCwgMHgwMywgMHg0NiwgMHg2YywgMHg3NCwgMHg4YywKLSAgMHg0YiwgMHg5ZiwgMHg4ZSwgMHgzOCwgMHhmYSwgMHgzMCwgMHg5YSwgMHhjNCwgMHg5MiwgMHg5MywgMHg3NSwgMHhhMywKLSAgMHg2OSwgMHgxMSwgMHhhNCwgMHgxZCwgMHgwYSwgMHhmMSwgMHhkOCwgMHg3YiwgMHg2ZSwgMHgxYSwgMHg0MSwgMHgyOSwKLSAgMHg0NSwgMHhiZiwgMHg2OCwgMHhlMSwgMHg3ZCwgMHg3OSwgMHg0ZiwgMHhmOSwgMHg5MywgMHg2YiwgMHg1NiwgMHhlMCwKLSAgMHg3OSwgMHgwMCwgMHhkNiwgMHg3ZiwgMHhkMSwgMHg2NywgMHgxMSwgMHhmMSwgMHg0ZiwgMHg2YiwgMHg3OSwgMHhjMywKLSAgMHhjMywgMHhiNiwgMHg0ZSwgMHg1MywgMHhmNCwgMHhjMywgMHhiMSwgMHhhOCwgMHgzMywgMHg4ZSwgMHgzYiwgMHgwNywKLSAgMHgxYSwgMHgyYiwgMHhhNSwgMHg2YywgMHg4NCwgMHg0YiwgMHhhZiwgMHg3NywgMHgwZiwgMHhmNywgMHg1MywgMHg3MiwKLSAgMHg4NiwgMHg5MSwgMHhlMSwgMHg5ZCwgMHhmNSwgMHg4YSwgMHgwMCwgMHhjNiwgMHgyZiwgMHhlZSwgMHg5MywgMHhlNSwKLSAgMHg1MiwgMHg2OCwgMHgwMiwgMHgzNywgMHg5NCwgMHgxZCwgMHg4ZiwgMHg5MCwgMHgzOSwgMHhkYiwgMHg0ZCwgMHg4NSwKLSAgMHg3YSwgMHg2NiwgMHg2NSwgMHg5NywgMHg4OCwgMHhjZCwgMHhkNSwgMHg2OSwgMHg2OSwgMHg2MSwgMHhjNywgMHg2ZiwKLSAgMHgzNCwgMHgyYiwgMHgxZSwgMHhlZCwgMHgyMSwgMHg3MywgMHhmYSwgMHg2NywgMHhlNSwgMHg1YSwgMHg1NywgMHg5MiwKLSAgMHg3MSwgMHg0NywgMHgwYywgMHg5NSwgMHgzMCwgMHgwZiwgMHg2MiwgMHhmNiwgMHhlYiwgMHg0NSwgMHg1OSwgMHg0YiwKLSAgMHg1YSwgMHhkZCwgMHg3ZiwgMHg2NywgMHhmYiwgMHg0NCwgMHhkOSwgMHg1ZSwgMHg5NCwgMHg4NSwgMHgzMCwgMHgxZSwKLSAgMHhiYSwgMHhmZSwgMHhlZiwgMHgzNSwgMHg2OSwgMHhkZiwgMHgxMCwgMHgxNSwgMHg2OCwgMHhiNiwgMHg5MSwgMHhhMCwKLSAgMHg2OCwgMHgxNCwgMHgwNiwgMHhlYSwgMHgwZCwgMHgwYywgMHg1NCwgMHhlNywgMHhjYywgMHg4YywgMHg5NywgMHgxNSwKLSAgMHgyNywgMHg5MSwgMHgwNCwgMHg3YiwgMHhmOCwgMHhiZiwgMHhkNCwgMHgzMywgMHhjMywgMHg5NiwgMHg4OCwgMHhiYSwKLSAgMHg1NywgMHhkOCwgMHhiZiwgMHgzMiwgMHg3YSwgMHgzOCwgMHg0MywgMHg3ZSwgMHg3MiwgMHgxMCwgMHg1ZiwgMHgwMywKLSAgMHg2NiwgMHhmNCwgMHg4OSwgMHhkNywgMHhkMCwgMHhlZiwgMHg1YywgMHgxYSwgMHgyNSwgMHgzZSwgMHgyNCwgMHhlZSwKLSAgMHhmYSwgMHhlMSwgMHhhNCwgMHgwYywgMHg4MCwgMHhmZCwgMHg1MSwgMHg3ZSwgMHgxNywgMHgzYywgMHhkZSwgMHgxOSwKLSAgMHgwNiwgMHg0OCwgMHg4NiwgMHgzMywgMHgzOSwgMHg2MSwgMHg4ZiwgMHhlZiwgMHgzZCwgMHg2NiwgMHgxMywgMHg1ZSwKLSAgMHhkMCwgMHhlYywgMHg2YywgMHhhZSwgMHg5ZiwgMHg2ZCwgMHg5YiwgMHgxZiwgMHhkMSwgMHgyZCwgMHgyMywgMHhhMSwKLSAgMHhmMCwgMHgyMSwgMHg1ZCwgMHgyZSwgMHg0NSwgMHhkYSwgMHhkYywgMHg0ZiwgMHhmMiwgMHgwOSwgMHg4MywgMHg1ZSwKLSAgMHg3MiwgMHhkNywgMHg2NywgMHhlYSwgMHgzYywgMHgwNiwgMHg3YywgMHhkMSwgMHhhNiwgMHgyYywgMHgzZiwgMHhiMiwKLSAgMHg2NywgMHg5NiwgMHhmMywgMHhiOCwgMHhhOSwgMHhkNiwgMHgzMywgMHg4NCwgMHhkOSwgMHgwZSwgMHg0OCwgMHg3ZSwKLSAgMHhhZSwgMHhmNywgMHg2NiwgMHg2NywgMHgzYywgMHhmZSwgMHg2NiwgMHgyNywgMHg2YiwgMHhhNiwgMHgyYSwgMHhmNSwKLSAgMHg3NiwgMHg1YywgMHgwYSwgMHhhMSwgMHhhYiwgMHgzNywgMHhiZCwgMHg2NywgMHgzOCwgMHg0OCwgMHg1ZSwgMHgzNCwKLSAgMHg4MCwgMHgyNCwgMHhlMiwgMHhiNywgMHhjZSwgMHhmMSwgMHgwNywgMHhkMCwgMHgzZSwgMHgzNiwgMHhhMSwgMHg2ZCwKLSAgMHhkMCwgMHg3ZSwgMHg4MiwgMHg2NSwgMHgxMiwgMHg1OCwgMHhiOCwgMHg3ZSwgMHhhNCwgMHhlZCwgMHg5NywgMHhjMCwKLSAgMHhhNCwgMHg0OSwgMHhhOSwgMHg2MywgMHg2MywgMHhmNywgMHhmZSwgMHg5YiwgMHhlZCwgMHgxNiwgMHgxNywgMHg1ZCwKLSAgMHgwYSwgMHhmOSwgMHg2NywgMHgyOCwgMHg2ZiwgMHg2OCwgMHhiNSwgMHhmYywgMHg1ZiwgMHg3MiwgMHg5ZSwgMHg3MCwKLSAgMHgwZiwgMHg3MSwgMHgwMCwgMHgxOSwgMHg1OSwgMHg1NiwgMHhmNywgMHg0ZiwgMHg3OCwgMHg0OSwgMHg4ZSwgMHgxMCwKLSAgMHhmNiwgMHg3NSwgMHhkYywgMHgzZiwgMHhlMywgMHgwNywgMHg0ZiwgMHhmOCwgMHg2MSwgMHgzMywgMHg5NiwgMHhlOCwKLSAgMHgwMiwgMHgxYywgMHg3MSwgMHgzYSwgMHgwOSwgMHhjYywgMHgxOSwgMHgzZSwgMHg2ZSwgMHgwMSwgMHg0OSwgMHhhNywKLSAgMHhjMiwgMHg4MiwgMHhjYiwgMHhiYywgMHg3OCwgMHg4OCwgMHg4NywgMHhkMCwgMHhlNiwgMHhmOSwgMHg5MCwgMHhkZCwKLSAgMHg2ZSwgMHgxNiwgMHgzNiwgMHhiNCwgMHg4MywgMHg0YSwgMHgxNiwgMHg3MSwgMHgyZCwgMHgwOSwgMHhjNywgMHg5NywKLSAgMHhlNSwgMHhiZCwgMHhiMywgMHg0YiwgMHgwNSwgMHhhNSwgMHg5YywgMHhjNCwgMHg4MiwgMHhlNywgMHhjMSwgMHg5ZiwKLSAgMHgyYSwgMHhmZCwgMHg3OCwgMHgzNSwgMHgzNSwgMHg5MSwgMHgxNiwgMHhlNiwgMHg4MSwgMHgyZiwgMHhjYywgMHhlOCwKLSAgMHg3YiwgMHg1YywgMHg0YSwgMHg3NiwgMHg0ZCwgMHhiMSwgMHhmZCwgMHg5ZSwgMHhiMywgMHhiMCwgMHg3YSwgMHhmZCwKLSAgMHg3ZCwgMHg5YiwgMHg0ZCwgMHhmOSwgMHhkYiwgMHhmMywgMHhiOSwgMHhiNSwgMHgwMywgMHhlZSwgMHgxNSwgMHg0OSwKLSAgMHg0NiwgMHg5YywgMHgyZCwgMHg3NSwgMHg3YiwgMHg4OCwgMHgyZSwgMHhhNCwgMHg0ZCwgMHgyYiwgMHg5MSwgMHhlOSwKLSAgMHg0MCwgMHgyZiwgMHhjNiwgMHgyMCwgMHg3OSwgMHgzMCwgMHgyOSwgMHgzMCwgMHg1YSwgMHhiMSwgMHg2YywgMHhhZCwKLSAgMHg0MCwgMHgyZSwgMHhlYiwgMHg1OSwgMHg1MiwgMHhjMCwgMHg5ZSwgMHg3ZiwgMHg5OSwgMHg0ZSwgMHg2ZCwgMHhiZiwKLSAgMHhhMiwgMHhmYiwgMHg2NiwgMHg5NywgMHg3MiwgMHhlYiwgMHhjMiwgMHhjZSwgMHgyZSwgMHgzOCwgMHhhNCwgMHgwZCwKLSAgMHhhYiwgMHg1MSwgMHgyMCwgMHhjNSwgMHhlYSwgMHg0MSwgMHhlMiwgMHgzYywgMHgxNywgMHg2MCwgMHgzYywgMHgxYiwKLSAgMHgxZiwgMHhmNCwgMHg3NywgMHhhYiwgMHg3NiwgMHhmYywgMHhmOSwgMHgwMSwgMHgwMiwgMHgyZiwgMHg2YSwgMHg5MCwKLSAgMHg2MywgMHhhYSwgMHg5OCwgMHhmOSwgMHhjMywgMHhhZiwgMHhjZiwgMHgyNywgMHhiOCwgMHhmMCwgMHg5YywgMHhlNywKLSAgMHg0NiwgMHgyYSwgMHg2OSwgMHhmNywgMHhlMiwgMHg0MCwgMHg5NiwgMHg0ZCwgMHhmNCwgMHg2NiwgMHhkZCwgMHhlZiwKLSAgMHgwYSwgMHg0MSwgMHg5YSwgMHhiZiwgMHg3YSwgMHhkYSwgMHg2ZCwgMHhjMiwgMHg1YywgMHg4NywgMHg0NSwgMHg3MCwKLSAgMHg2MCwgMHg2OCwgMHg1ZSwgMHg5NywgMHhmNywgMHg2YiwgMHg4MSwgMHgzOCwgMHgwMSwgMHgyZiwgMHgwNywgMHg5ZSwKLSAgMHgxYSwgMHgxMywgMHhiMCwgMHgxNywgMHhkNCwgMHhkOCwgMHg0MSwgMHg3NCwgMHg3MSwgMHgxYSwgMHgyNSwgMHg5YSwKLSAgMHhmYiwgMHhmZCwgMHg5MiwgMHhlNiwgMHgwYywgMHhlMywgMHgzNywgMHg0NiwgMHhhYywgMHg4MiwgMHhiNiwgMHg5MSwKLSAgMHgxMCwgMHhlZSwgMHhiMiwgMHg4NSwgMHhkOSwgMHg0NSwgMHhmMiwgMHgxZiwgMHhmMiwgMHg3NCwgMHgxZiwgMHg0MiwKLSAgMHg0NCwgMHhlNCwgMHgzNSwgMHg4ZCwgMHhkYywgMHg1NSwgMHgzNCwgMHg3ZCwgMHg1MCwgMHhhMywgMHg4YywgMHhiZiwKLSAgMHg0YywgMHgxNiwgMHg5ZiwgMHhmMywgMHhiYywgMHg2NiwgMHgxYywgMHhjNCwgMHhhMiwgMHhkNywgMHg1ZCwgMHg0ZCwKLSAgMHgwOCwgMHhhYywgMHg1MCwgMHhkMiwgMHgyNywgMHg4NywgMHhmNywgMHhmOSwgMHhlYiwgMHgxMSwgMHhkOSwgMHhhMCwKLSAgMHhkMCwgMHgwNiwgMHgxMiwgMHg1MSwgMHhhZiwgMHhiMSwgMHhhZSwgMHhmOSwgMHhjYywgMHhjNiwgMHg1MCwgMHhjNSwKLSAgMHgyNywgMHhhMSwgMHg1ZCwgMHgwYSwgMHg5ZSwgMHhhZiwgMHgxZiwgMHg0ZSwgMHg5YiwgMHg5YiwgMHg3YywgMHg0MiwKLSAgMHg5OCwgMHhkNiwgMHhkYiwgMHhkNCwgMHhkYywgMHg4MSwgMHg1OCwgMHg5MSwgMHg0MSwgMHg5ZCwgMHg0MiwgMHgwYSwKLSAgMHhiOSwgMHg4ZSwgMHgzMiwgMHgxYywgMHg3NSwgMHg2OSwgMHhiNywgMHg0OCwgMHhlNiwgMHhjNiwgMHg3NiwgMHgyZSwKLSAgMHhhZCwgMHhkYywgMHhkYywgMHg4MCwgMHg0OCwgMHgxZCwgMHg4YSwgMHg1MSwgMHhlYiwgMHgxMSwgMHgyNCwgMHg2NywKLSAgMHg2MSwgMHg2MSwgMHgyYywgMHhlYSwgMHg1NCwgMHgwYSwgMHhhMiwgMHgwYiwgMHhjMywgMHgxMywgMHgxYSwgMHgwZSwKLSAgMHg1MiwgMHg3MCwgMHhmMSwgMHg3YSwgMHhjMywgMHhhZCwgMHhlYiwgMHgyOCwgMHgyZSwgMHhlZSwgMHgxMCwgMHg2MCwKLSAgMHgyMywgMHhhNSwgMHgxOSwgMHg1MiwgMHg5MywgMHg4OSwgMHhhZiwgMHg1OSwgMHg3ZiwgMHhkZCwgMHhlZCwgMHhlYywKLSAgMHg3MiwgMHg1NCwgMHg1NiwgMHgzOSwgMHhjOSwgMHgxYiwgMHg2NCwgMHg4MywgMHhlYSwgMHg2MCwgMHg0NCwgMHhmNywKLSAgMHgwMywgMHhmMCwgMHgxMywgMHhiMiwgMHgxZSwgMHg2MywgMHhjMywgMHg2OSwgMHg3OCwgMHgyZSwgMHg0OSwgMHgzOCwKLSAgMHgzZSwgMHgxNywgMHgwYywgMHhiZCwgMHgwMCwgMHhiZCwgMHhkMiwgMHhlZiwgMHhlYywgMHhhOCwgMHhkYSwgMHgxMSwKLSAgMHgzYiwgMHgxNiwgMHg1MCwgMHg5NywgMHg0MiwgMHgxZSwgMHhkYiwgMHgxZCwgMHg1OCwgMHhmMywgMHg2NiwgMHhlYywKLSAgMHg2YSwgMHhkZCwgMHg0MiwgMHgyOSwgMHg5MCwgMHg2YiwgMHgwOCwgMHgwZiwgMHhiNSwgMHg5ZiwgMHgxMSwgMHg1ZiwKLSAgMHg1NCwgMHg1ZSwgMHhkNywgMHgyYiwgMHgxYywgMHhkOCwgMHhlYiwgMHhlMywgMHg5MywgMHgyMywgMHg5YiwgMHgxYSwKLSAgMHhmNywgMHgzZiwgMHg3NywgMHg0NiwgMHhiNCwgMHhlNSwgMHhkNSwgMHgzNCwgMHg0OCwgMHgwNCwgMHhlNCwgMHgxMiwKLSAgMHg1OSwgMHhhZiwgMHhkZSwgMHg1OSwgMHg2YSwgMHg2OCwgMHhiZiwgMHgxZCwgMHg3MCwgMHgyYiwgMHg1NSwgMHhmYywKLSAgMHhiOCwgMHg1NSwgMHg0MCwgMHg3YiwgMHhmNCwgMHhmNiwgMHhiYiwgMHhlMywgMHg3NywgMHhhNywgMHg2ZiwgMHhkZiwKLSAgMHgxYywgMHhiZCwgMHgzZCwgMHhmZiwgMHhjYywgMHg2MywgMHg3NywgMHhiMSwgMHhhNiwgMHgxOCwgMHg3NSwgMHg5OCwKLSAgMHhhMSwgMHg5MCwgMHg1MywgMHg0YywgMHhlOSwgMHgwNiwgMHg5NSwgMHg4NCwgMHhkYywgMHg5YywgMHhjNiwgMHhhYywKLSAgMHg1NCwgMHhmZSwgMHgzNSwgMHhmMiwgMHg4NywgMHhmMywgMHgxZSwgMHhkMiwgMHhmMCwgMHgwMCwgMHhhNSwgMHhhMywKLSAgMHgyYywgMHhjOSwgMHhiMywgMHgzMywgMHhhMywgMHhlMCwgMHhlYywgMHg4OCwgMHgwMywgMHgwYSwgMHhiNiwgMHgxOSwKLSAgMHgzNSwgMHhmNSwgMHhlNSwgMHhiOCwgMHgyNSwgMHgxYywgMHg3NCwgMHhlNCwgMHgxMywgMHg1MywgMHgwMSwgMHhkYSwKLSAgMHg2NywgMHg3NiwgMHg0YiwgMHgzOCwgMHg5MiwgMHhlOCwgMHg3YywgMHhmYiwgMHhhZCwgMHg0OSwgMHgzOCwgMHhlMiwKLSAgMHg3ZSwgMHgyZiwgMHg1NSwgMHhhNCwgMHg0NSwgMHgxMiwgMHg1ZCwgMHg4ZCwgMHg4MiwgMHhmYiwgMHg0MSwgMHgyMSwKLSAgMHhjMCwgMHg2NywgMHhhZiwgMHhkMiwgMHhkYSwgMHg4NSwgMHg3MCwgMHg5OCwgMHg0OSwgMHg3OCwgMHg4OSwgMHhhNCwKLSAgMHgxZSwgMHhhOCwgMHhiMiwgMHhkNywgMHgzNywgMHhiYiwgMHgwYiwgMHhhNCwgMHhlYywgMHhhZCwgMHhlMiwgMHhhZiwKLSAgMHhlYSwgMHgyYywgMHg3YSwgMHhiZSwgMHhiMywgMHhmMywgMHgxMywgMHgxYSwgMHhiNiwgMHhmZiwgMHg1OSwgMHgzYSwKLSAgMHhiNiwgMHg4NywgMHg4MCwgMHhiMCwgMHhiNSwgMHgzNywgMHgwZCwgMHg1NywgMHg3NywgMHhhNCwgMHgyNSwgMHg4YSwKLSAgMHg0NCwgMHhiNywgMHg3NiwgMHgzYiwgMHhlMSwgMHgwNiwgMHhmZSwgMHg3MCwgMHhmNiwgMHhlZSwgMHhmNCwgMHg4NywKLSAgMHhiZiwgMHhmYywgMHhjNiwgMHg5ZiwgMHhmMCwgMHgzMiwgMHhkNiwgMHhmZSwgMHg0YSwgMHg4OSwgMHg5YywgMHgzYSwKLSAgMHhmOCwgMHg0ZiwgMHhiZiwgMHhmOSwgMHhkNywgMHhkYSwgMHhjMywgMHgwZiwgMHgyNCwgMHg1YywgMHg4ZiwgMHhhYiwKLSAgMHgxOCwgMHg1MSwgMHhjOCwgMHhiOCwgMHgyZSwgMHg5ZCwgMHhmMSwgMHgxMywgMHg1YywgMHg1ZSwgMHg3NSwgMHhlMiwKLSAgMHhmOSwgMHgzOCwgMHg2YywgMHg0NiwgMHgxMSwgMHg0NCwgMHg1YywgMHhkZCwgMHgyNiwgMHhkMCwgMHgzNCwgMHhjNCwKLSAgMHgwZCwgMHgxZiwgMHg3MSwgMHg1ZCwgMHhiMiwgMHg0YiwgMHgwMywgMHgxZSwgMHg0OCwgMHhkNSwgMHgzYywgMHg5NSwKLSAgMHhjNSwgMHgwZiwgMHg1MCwgMHhkNSwgMHg4YywgMHhhNCwgMHg1NiwgMHhiYiwgMHgxZiwgMHg4NywgMHgyNywgMHgyNywKLSAgMHhiZiwgMHhlOSwgMHgyNiwgMHhhMCwgMHhlOSwgMHhiNSwgMHg1YiwgMHhjYiwgMHhkMCwgMHg2YSwgMHhhOCwgMHhkYSwKLSAgMHhlYSwgMHg2YSwgMHgzZCwgMHgyZSwgMHhlZiwgMHhkYiwgMHg1MywgMHg5OSwgMHhjZCwgMHgwYiwgMHgyOCwgMHhjNywKLSAgMHhjMywgMHgzYSwgMHgzMywgMHgyYSwgMHg2ZCwgMHg0YSwgMHg0OSwgMHgwMywgMHg4YSwgMHhjYSwgMHg0ZSwgMHgxMywKLSAgMHhhYiwgMHg3NywgMHgzOCwgMHhmYiwgMHgzMiwgMHg4MCwgMHg4OSwgMHhjNywgMHg0MywgMHhjOCwgMHgzOCwgMHg4MCwKLSAgMHgwOSwgMHg4NSwgMHhlNCwgMHg0YywgMHhkZSwgMHg0ZCwgMHhhZSwgMHhhZCwgMHg0MywgMHhmMSwgMHg0MywgMHg2OSwKLSAgMHg2MSwgMHg5NywgMHgyOCwgMHg3OSwgMHg0OSwgMHg3YSwgMHhjMCwgMHg1MywgMHg4MywgMHhlYSwgMHhhMCwgMHhjMywKLSAgMHgzNywgMHhjMywgMHg1ZiwgMHg5MCwgMHhiYywgMHhhZCwgMHhmMiwgMHhmYSwgMHgyMywgMHgyYSwgMHg0MywgMHhlOCwKLSAgMHg4NiwgMHg0MiwgMHg0MSwgMHg1MiwgMHg4OCwgMHgwMiwgMHg1MiwgMHg3OSwgMHgzMSwgMHgyNywgMHhjMSwgMHg1MCwKLSAgMHg3MSwgMHgyNSwgMHg3OSwgMHg3OSwgMHgxZCwgMHg5YiwgMHgxZCwgMHgwOSwgMHhkZCwgMHg5NCwgMHg0NSwgMHgzMSwKLSAgMHhiOSwgMHg1MSwgMHhkOSwgMHgwOSwgMHg5ZCwgMHhiNiwgMHhlYSwgMHhjMywgMHgwNCwgMHhkYywgMHg5ZSwgMHgzMywKLSAgMHhiMSwgMHg2YSwgMHg4YiwgMHhhMiwgMHgxMCwgMHhhYiwgMHhiYSwgMHgxZiwgMHg2OCwgMHhjZCwgMHgzMiwgMHgzZCwKLSAgMHhjMCwgMHg5ZiwgMHg2ZSwgMHhlYSwgMHg2YywgMHg3ZSwgMHgxMSwgMHgwNywgMHgxMCwgMHg4OCwgMHg3MiwgMHgwYiwKLSAgMHgwMSwgMHgzMCwgMHhhOCwgMHhiNSwgMHg4NywgMHg5NSwgMHgxMiwgMHgyYiwgMHgxZCwgMHg1NiwgMHg4NiwgMHg2ZSwKLSAgMHgyNywgMHgxNCwgMHg1YSwgMHgwOCwgMHhmZCwgMHg3NSwgMHgwYSwgMHg5YSwgMHhlMywgMHgyNywgMHgyYiwgMHhkYywKLSAgMHhjMiwgMHg4ZiwgMHgyMiwgMHgyZiwgMHhiYiwgMHg5MiwgMHg1OCwgMHg0ZSwgMHgzNiwgMHhkMywgMHhiMywgMHhmZCwKLSAgMHg2MiwgMHgxNiwgMHg1NiwgMHg1ZCwgMHgxOSwgMHg4ZSwgMHhlNCwgMHhjMywgMHg5MywgMHhhOCwgMHhlNCwgMHgxZCwKLSAgMHhkZSwgMHgyNiwgMHg4YSwgMHg4YiwgMHhjMiwgMHhlNywgMHhkNCwgMHg3YSwgMHg0NiwgMHg3ZSwgMHhmMywgMHg5MCwKLSAgMHhlMSwgMHgxYywgMHg0OCwgMHg4MCwgMHg0YywgMHgzNSwgMHg2OSwgMHgyOCwgMHg0NSwgMHhiOCwgMHg0OSwgMHhjNCwKLSAgMHgyZiwgMHhjZSwgMHg0YSwgMHgzOCwgMHgxZCwgMHg2ZCwgMHhhNCwgMHhkOCwgMHhjMiwgMHg5YiwgMHhmOCwgMHhiYSwKLSAgMHg4OSwgMHhmNiwgMHhjZSwgMHgzNCwgMHgxMiwgMHg2MCwgMHgzNiwgMHg4ZiwgMHg5MSwgMHgwYiwgMHg5ZSwgMHgwMSwKLSAgMHg3MiwgMHhmYywgMHhmMSwgMHhlYywgMHgzYywgMHhhMSwgMHhhZCwgMHhmMiwgMHgxYywgMHg1OSwgMHg4ZiwgMHg1MywKLSAgMHhhNCwgMHhiMCwgMHgyYywgMHgxNiwgMHg4NCwgMHg4YiwgMHhlNiwgMHhmMCwgMHhmOCwgMHg1NywgMHg0NiwgMHhlZSwKLSAgMHg4MiwgMHhhZCwgMHg4YiwgMHg4NywgMHgxMiwgMHg2ZSwgMHg2YiwgMHg0YiwgMHg1ZCwgMHhiOCwgMHg5ZSwgMHhjMiwKLSAgMHgyZCwgMHg0OSwgMHhlOCwgMHgxZiwgMHg0NywgMHhmYywgMHg4NSwgMHg4NCwgMHgzYSwgMHgxOCwgMHgxMSwgMHg2MiwKLSAgMHgyNSwgMHhiNiwgMHg3OCwgMHg0MSwgMHgyYSwgMHg2ZSwgMHg1MSwgMHhhNCwgMHgzNywgMHhkMSwgMHg1YSwgMHg2NSwKLSAgMHgwZCwgMHg2ZSwgMHgxOSwgMHgxMSwgMHgzOCwgMHgyZiwgMHhlYiwgMHgxOCwgMHg1YSwgMHhlOCwgMHg4NCwgMHg1MiwKLSAgMHhlZiwgMHgzMywgMHhmNCwgMHgzMSwgMHhlMiwgMHgyYiwgMHg2ZiwgMHhmZSwgMHg3YiwgMHg3ZSwgMHhmYSwgMHhmMiwKLSAgMHhmNCwgMHhjNCwgMHhmYywgMHhlNSwgMHhlOCwgMHhmNSwgMHhmMSwgMHgwZiwgMHg0ZSwgMHgyYiwgMHg2MCwgMHhmYywKLSAgMHg4ZCwgMHg1NiwgMHg5NSwgMHgwZCwgMHg2MCwgMHgyNSwgMHg5ZiwgMHgwZSwgMHg3YywgMHgzNiwgMHhjNCwgMHg4OSwKLSAgMHg4YywgMHgzMSwgMHg1OCwgMHgyNywgMHhjOSwgMHg1NCwgMHhmYywgMHhjYywgMHg2ZCwgMHg5OCwgMHhmMiwgMHgzOSwKLSAgMHg5MiwgMHhkMywgMHg5NCwgMHg3NCwgMHhlYSwgMHhjMSwgMHhhYiwgMHhhNCwgMHg4MiwgMHgyYywgMHg0NSwgMHg1YSwKLSAgMHgzNCwgMHg4ZiwgMHg2YywgMHgyYiwgMHgzMiwgMHhkYywgMHgyNiwgMHg1MywgMHhhMSwgMHg5NSwgMHhjZiwgMHhlNiwKLSAgMHgyNCwgMHhhNSwgMHhkNSwgMHg0NywgMHg5MiwgMHg0YSwgMHhmYywgMHg4YiwgMHgyNCwgMHg5MywgMHgyYiwgMHgyYiwKLSAgMHhkYiwgMHhlMiwgMHgxNywgMHgzZiwgMHhmOCwgMHhjYywgMHg1NiwgMHhkMSwgMHhiNiwgMHgzYSwgMHhmNiwgMHg3OCwKLSAgMHhkOCwgMHhiNCwgMHg0NiwgMHhjMywgMHhmNSwgMHgxNywgMHhhOSwgMHhjYSwgMHhhZSwgMHgzMSwgMHg5ZiwgMHgzMiwKLSAgMHg3MCwgMHg0NSwgMHg0MCwgMHhkYiwgMHg5MCwgMHgyMiwgMHhlMCwgMHg4MywgMHg5OCwgMHg3NCwgMHgyOCwgMHgwMiwKLSAgMHg2NSwgMHgzZSwgMHg3NiwgMHhjNCwgMHhmNiwgMHg5YSwgMHg2NCwgMHgwMywgMHgyNCwgMHgyMSwgMHgxMCwgMHgwOSwKLSAgMHgxYSwgMHhhNCwgMHhjNywgMHg3YiwgMHgwOCwgMHg0NiwgMHg0MiwgMHhhZCwgMHhkMSwgMHg5YSwgMHg0MywgMHgyOSwKLSAgMHg3NiwgMHhhMiwgMHgzZiwgMHg5MCwgMHhhMiwgMHhjNSwgMHg1MSwgMHgwYywgMHhlMSwgMHhhOCwgMHhmNCwgMHg1OSwKLSAgMHhkYiwgMHgwYSwgMHgwNywgMHg1MiwgMHg0MSwgMHg4MiwgMHg0ZiwgMHhjYiwgMHhkMCwgMHhiNCwgMHhhMiwgMHgzMywKLSAgMHgxMCwgMHg2NSwgMHhiZiwgMHhhZCwgMHg3MSwgMHhkNCwgMHg3ZCwgMHg5ZiwgMHgyNiwgMHgxMywgMHg1NSwgMHhmNiwKLSAgMHhjMCwgMHg3ZCwgMHgzYSwgMHg0OCwgMHhkZCwgMHhhNiwgMHhkNCwgMHhmMSwgMHhmYSwgMHhkMSwgMHhiYSwgMHgzMSwKLSAgMHg0OCwgMHgyMywgMHhmYywgMHhkYiwgMHgyYSwgMHhiZiwgMHg0ZSwgMHg1MSwgMHhhMCwgMHg2NiwgMHgyZSwgMHhjYiwKLSAgMHg3MCwgMHhjOCwgMHgyZiwgMHg3NSwgMHhjNiwgMHg0OCwgMHg3ZiwgMHhkNSwgMHgyMCwgMHg2OSwgMHg3YiwgMHg5NCwKLSAgMHhjNywgMHhiZiwgMHg2NiwgMHg5MCwgMHhjNywgMHg5ZCwgMHgzMSwgMHhhZSwgMHg3ZSwgMHhkNSwgMHgyMCwgMHg0MywKLSAgMHgxNSwgMHgxMCwgMHg0NiwgMHgzMSwgMHhmZSwgMHhlMSwgMHhmOCwgMHgzYywgMHg3OSwgMHg3OSwgMHhmYSwgMHhjYSwKLSAgMHg1ZCwgMHhiMCwgMHg3MywgMHg5YiwgMHgwMiwgMHg5ZSwgMHgyNiwgMHg5MywgMHg1NSwgMHg2MSwgMHg2OCwgMHg5MCwKLSAgMHg3YSwgMHg0ZCwgMHhkOSwgMHhlNiwgMHgxZCwgMHg5YywgMHhlYiwgMHg0OCwgMHg4OSwgMHgzYywgMHhiNSwgMHg5NiwKLSAgMHhiZCwgMHhlNSwgMHgxNSwgMHg4MywgMHgyZCwgMHg1MSwgMHg3MiwgMHgwZSwgMHg2MywgMHg0YiwgMHg3YSwgMHg4NSwKLSAgMHhiZSwgMHhmNCwgMHhmNCwgMHg4MiwgMHg3MCwgMHg5YywgMHgyZSwgMHg1NSwgMHhmYSwgMHhkMiwgMHhhZCwgMHgyNCwKLSAgMHgyOCwgMHhiZiwgMHhiNCwgMHhkMiwgMHhkMiwgMHhkNCwgMHg0OSwgMHg0YSwgMHg3MCwgMHg0ZCwgMHgwNSwgMHgxNywKLSAgMHg1OCwgMHgxYSwgMHhkOSwgMHgxOSwgMHg0MSwgMHg1NiwgMHhkNiwgMHhlMSwgMHg3YywgMHg4MCwgMHg2NSwgMHhhMywKLSAgMHgzYiwgMHhlNywgMHg4ZCwgMHg0ZSwgMHhjNSwgMHg0ZiwgMHg0NywgMHhkYywgMHhkMywgMHg4MiwgMHg4MSwgMHgxNiwKLSAgMHhhNSwgMHg0YiwgMHhmNywgMHgzZSwgMHgwOCwgMHgzZiwgMHg0YSwgMHgwZSwgMHg5ZiwgMHg2OSwgMHg2ZCwgMHg5ZCwKLSAgMHhmNiwgMHhhYywgMHg1NCwgMHgwMywgMHg4NiwgMHg3YiwgMHg3OCwgMHgwNywgMHgxMiwgMHhkYiwgMHgwZSwgMHg2MSwKLSAgMHhiZiwgMHhiMywgMHgyZiwgMHhhMSwgMHgwNCwgMHg2ZSwgMHg1NSwgMHg0ZSwgMHg0ZCwgMHhjZiwgMHgzOSwgMHgzOSwKLSAgMHgyZCwgMHhmZiwgMHhiYiwgMHhhNywgMHhhMCwgMHgxZiwgMHg1OCwgMHg3ZCwgMHhjYywgMHhhYywgMHg3YywgMHg4ZSwKLSAgMHhiNiwgMHhkOCwgMHgzMywgMHhiZSwgMHgxMCwgMHhmNSwgMHg5ZCwgMHgxMSwgMHhlYSwgMHhiNywgMHgzMCwgMHhjOCwKLSAgMHhjOSwgMHg3ZSwgMHgxMiwgMHhjMCwgMHgyYSwgMHhmNywgMHhlNiwgMHgyMywgMHhjZCwgMHhmYSwgMHhiMSwgMHhiMCwKLSAgMHg1OCwgMHhlOCwgMHgyZCwgMHhiNiwgMHg2YywgMHg0NywgMHg4MywgMHg5YywgMHhkNywgMHg0MiwgMHhlYiwgMHhhYywKLSAgMHgxMSwgMHhlMiwgMHhjYywgMHg2YSwgMHg2YSwgMHhkNCwgMHgxZCwgMHhmMSwgMHg1YywgMHhiOCwgMHhjNCwgMHgwMywKLSAgMHhjNiwgMHg4MCwgMHhlMCwgMHg5YSwgMHg2ZCwgMHhjMSwgMHgxNywgMHhmNywgMHhiYSwgMHgzMCwgMHg1YSwgMHgyYywKLSAgMHgyMywgMHg0YSwgMHg2ZiwgMHhjMiwgMHg3ZSwgMHgwZCwgMHhiOSwgMHgwNSwgMHg1NSwgMHg1MCwgMHhkYywgMHhlZSwKLSAgMHhjYSwgMHgzOCwgMHhkNSwgMHhlMiwgMHg5OCwgMHg5NSwgMHhkOCwgMHhjMCwgMHgwMSwgMHhkMiwgMHg4MSwgMHhjZCwKLSAgMHhiZSwgMHg0ZCwgMHg1MiwgMHhjMiwgMHg4YiwgMHg0MCwgMHhlMywgMHhjNywgMHhiNCwgMHhlMCwgMHg3MiwgMHg0NSwKLSAgMHgzZCwgMHg4MSwgMHg3OCwgMHhlMSwgMHg5ZSwgMHgyYiwgMHg5YywgMHg3YSwgMHhjYywgMHg3ZiwgMHhiYywgMHg1NCwKLSAgMHg4ZCwgMHg0ZCwgMHg2YSwgMHg4ZiwgMHg3YywgMHhjNiwgMHhjMiwgMHg0MiwgMHg0NiwgMHhhYywgMHg5YiwgMHgxMiwKLSAgMHg0MCwgMHgxZiwgMHgyNCwgMHg4MywgMHhiOCwgMHg2OSwgMHhkZCwgMHgyNCwgMHhlYSwgMHhiZSwgMHhhOSwgMHgzYiwKLSAgMHgzZSwgMHhjZSwgMHgyNywgMHgzZCwgMHg1ZiwgMHg2MSwgMHhjMCwgMHgyYSwgMHhmNywgMHgxMSwgMHhkZiwgMHgyNywKLSAgMHhhZiwgMHg1YiwgMHgyOCwgMHhjZiwgMHg3YSwgMHhhMywgMHgzZCwgMHhlZCwgMHhkMiwgMHg4NSwgMHhlNywgMHhkOSwKLSAgMHhjNywgMHg4OCwgMHhmNiwgMHhjOSwgMHhjZiwgMHhjNSwgMHgxNywgMHg5MSwgMHg1MSwgMHhlNSwgMHhhMywgMHgyOCwKLSAgMHhjZiwgMHg1NSwgMHhiNiwgMHg5YywgMHhjYiwgMHhjYSwgMHhlNCwgMHgyNywgMHgwOCwgMHgxYywgMHhjMywgMHg5YiwKLSAgMHg4MCwgMHg1ZCwgMHg5ZSwgMHhlYSwgMHgyYywgMHg4ZCwgMHgzYSwgMHhlYywgMHg5YiwgMHg4MiwgMHhjZiwgMHhlNCwKLSAgMHhiMywgMHg4NCwgMHg3OSwgMHhjNSwgMHhhYSwgMHgwMywgMHhjMCwgMHgzYiwgMHg3MiwgMHg0YiwgMHg2ZiwgMHhkMiwKLSAgMHg0YSwgMHgxZSwgMHgzZiwgMHhhMiwgMHgyYywgMHg0OSwgMHg0MCwgMHg0MywgMHhlOCwgMHhiZiwgMHhlNSwgMHg4ZCwKLSAgMHgwMCwgMHhjOCwgMHhhZiwgMHhlMywgMHg0YSwgMHhhNiwgMHhkNSwgMHhhZSwgMHgyYSwgMHhhZSwgMHhmYywgMHg3NSwKLSAgMHhkMCwgMHg5NSwgMHg4YSwgMHgyNSwgMHgyZiwgMHg0OSwgMHg4NCwgMHgxNSwgMHhlMSwgMHgwZCwgMHg4ZSwgMHgwYywKLSAgMHgyZiwgMHgyYSwgMHgwMywgMHg3MCwgMHhjZCwgMHhmMiwgMHgwMiwgMHgwMSwgMHgzZSwgMHgxNCwgMHhmMCwgMHg1MywKLSAgMHg3ZSwgMHgyMywgMHhlZiwgMHhjZiwgMHg1NSwgMHg1YSwgMHg1YywgMHgzMiwgMHg2NCwgMHhhMiwgMHgzNywgMHgyOCwKLSAgMHg0OCwgMHg1YywgMHhjNSwgMHhhMSwgMHhiOSwgMHhlYiwgMHg3MCwgMHhmMiwgMHhmNCwgMHg0MiwgMHg1OCwgMHhiOCwKLSAgMHg3ZCwgMHhkOCwgMHhkYiwgMHhiNSwgMHhmYiwgMHhjMCwgMHg1ZCwgMHhjNiwgMHg1MCwgMHhlMiwgMHg0MiwgMHhiYiwKLSAgMHhmMCwgMHgzZCwgMHg0MCwgMHgxNywgMHg2ZiwgMHg1MiwgMHg2ZSwgMHg0MywgMHg3YywgMHgyMSwgMHhlYSwgMHhiMiwKLSAgMHgzMywgMHg1YSwgMHg2YywgMHg5OCwgMHg4NywgMHgyMiwgMHg2YiwgMHg2MSwgMHhiMiwgMHgzNSwgMHhlMCwgMHgyMCwKLSAgMHgyOCwgMHgwYiwgMHg4NiwgMHhmNCwgMHgwMSwgMHhjZSwgMHgxNywgMHhlNSwgMHgxYSwgMHg0OSwgMHgxMSwgMHg1NywKLSAgMHgwMywgMHgxOCwgMHhmNCwgMHg5NiwgMHg0MSwgMHg3MiwgMHg5YywgMHgxNSwgMHhiYywgMHhmNywgMHgzYSwgMHg4YiwKLSAgMHg2MSwgMHg2ZiwgMHgyOCwgMHgyYSwgMHg5NywgMHg5NywgMHhjZCwgMHhlMSwgMHg5MCwgMHg0NywgMHhiYywgMHhmNSwKLSAgMHhlYywgMHhkOSwgMHhmNSwgMHhkYywgMHg4MCwgMHg1MCwgMHhjZSwgMHgwZSwgMHhjNywgMHg2MywgMHgyNSwgMHg5MywKLSAgMHg5NywgMHgyMSwgMHg0NSwgMHg0OCwgMHhmNCwgMHgwOCwgMHgzMCwgMHgzYywgMHg1MiwgMHg2OSwgMHgxZCwgMHg1MSwKLSAgMHgxNSwgMHg2NSwgMHg5MCwgMHg0ZSwgMHg5MiwgMHhjMSwgMHgxZSwgMHhmMywgMHhiNCwgMHg1NywgMHhjYywgMHg5OCwKLSAgMHhhMSwgMHg0ZCwgMHhjOCwgMHg3YSwgMHg5OSwgMHhhZSwgMHg3NCwgMHhjNSwgMHgzNywgMHhlYiwgMHg3NywgMHhmMiwKLSAgMHhiMywgMHg2OCwgMHhiYSwgMHgwYSwgMHgwNywgMHgyYywgMHg2OSwgMHg5ZiwgMHg1MSwgMHhkMSwgMHhhYywgMHgzYywKLSAgMHgxZSwgMHhhYSwgMHhlMSwgMHhlZCwgMHgzMiwgMHg2ZiwgMHgzNSwgMHg3YywgMHhkYywgMHgzYiwgMHgwOCwgMHgxNywKLSAgMHhmZCwgMHgxZCwgMHhhZiwgMHg2YSwgMHhmMCwgMHg0ZiwgMHgyZCwgMHhmYSwgMHhiYiwgMHhjOCwgMHhhMiwgMHgxZiwKLSAgMHhiOSwgMHg4YiwgMHhjMywgMHgxZiwgMHg0YiwgMHhmNiwgMHhmNywgMHg5ZiwgMHg2YSwgMHg1NSwgMHg4OSwgMHhhMSwKLSAgMHg2MywgMHg3YywgMHhjZiwgMHg3ZCwgMHhkMCwgMHhmYiwgMHhhMiwgMHg3OSwgMHg2ZSwgMHgyOCwgMHg2OCwgMHhkMCwKLSAgMHg0MSwgMHhhOSwgMHg4MCwgMHhiYiwgMHhiYywgMHhkZSwgMHhhNywgMHgxZSwgMHhkYiwgMHg0ZiwgMHgxOSwgMHhmNSwKLSAgMHg5YiwgMHgyYywgMHg1MCwgMHhhMywgMHhkMywgMHgzMywgMHg5NywgMHgwOSwgMHg5OCwgMHg4ZiwgMHg5YSwgMHg3MiwKLSAgMHhhNCwgMHg4NiwgMHhkZiwgMHg1MCwgMHhmZSwgMHg1NCwgMHg2MywgMHg3NSwgMHhjOSwgMHhjZSwgMHhhNywgMHg3NCwKLSAgMHgxNiwgMHhkZSwgMHg3NywgMHg5ZSwgMHg1OCwgMHgzNywgMHhjYSwgMHhjZSwgMHhiZSwgMHgwNiwgMHhkMCwgMHgwZiwKLSAgMHhjMSwgMHg4YiwgMHhlNywgMHhkOSwgMHg4MiwgMHhkYiwgMHg1MSwgMHg2NCwgMHgwNCwgMHhmOSwgMHhlMywgMHhkYywKLSAgMHg3ZiwgMHg1YywgMHhiOCwgMHg3NywgMHg1MSwgMHhhNSwgMHgwMCwgMHg5MywgMHg5ZSwgMHhhNywgMHg3NywgMHgxMSwKLSAgMHhjNCwgMHgyZSwgMHhmMSwgMHgxNCwgMHhiMywgMHhiOSwgMHg5MiwgMHhkMiwgMHhlYywgMHgwYiwgMHhiMiwgMHgxNSwKLSAgMHhhMCwgMHgwOSwgMHg4OCwgMHhkYiwgMHg4YywgMHhmYywgMHhiMCwgMHg3NCwgMHhhMiwgMHhlNSwgMHg4NSwgMHg3NSwKLSAgMHhkNSwgMHhjYSwgMHg1NywgMHgwMywgMHg0YywgMHg4MSwgMHg1YSwgMHhiYSwgMHgzZiwgMHhmMiwgMHg5NSwgMHgxMSwKLSAgMHgyZCwgMHgyMSwgMHgwZSwgMHg3ZCwgMHhiNywgMHhmNywgMHhkNCwgMHgxZCwgMHg5MSwgMHgzZCwgMHgwNywgMHg3MiwKLSAgMHg2YywgMHgzMSwgMHhjZSwgMHg4OCwgMHhiNywgMHg3YiwgMHhjYSwgMHg0YiwgMHgzNCwgMHgxZSwgMHgyMCwgMHg2ZCwKLSAgMHg4NSwgMHgyOCwgMHg0YSwgMHg5NywgMHg4NywgMHg1NiwgMHg3MywgMHhlNSwgMHgyOSwgMHg4OCwgMHg3YiwgMHhjYywKLSAgMHg4ZCwgMHhjZiwgMHg4OCwgMHhkOSwgMHgwOSwgMHg5ZSwgMHhmMCwgMHgyOCwgMHgzOSwgMHg4NSwgMHgxNywgMHhhZSwKLSAgMHg4NSwgMHhhMSwgMHg3ZSwgMHhjMSwgMHhhNCwgMHhlZiwgMHgyYSwgMHg0ZiwgMHhkYiwgMHg4NCwgMHhmYiwgMHhjYywKLSAgMHg5ZCwgMHhiMCwgMHhjZSwgMHg0OSwgMHg5MywgMHg1ZiwgMHg3NiwgMHg5NCwgMHhjOSwgMHg1YSwgMHg4MSwgMHhhMiwKLSAgMHhkZSwgMHhlNiwgMHgyYywgMHg3OSwgMHg3NywgMHg3NCwgMHhmZSwgMHgwZSwgMHg3MSwgMHg1ZSwgMHgzMCwgMHg4MCwKLSAgMHgwMCwgMHgwMywgMHgzNiwgMHhhZCwgMHhiNiwgMHgyZCwgMHhkMiwgMHg5MCwgMHhiMCwgMHgzMywgMHhhNywgMHg4NywKLSAgMHgzOCwgMHgwNiwgMHhjMSwgMHgyMCwgMHg2OCwgMHhmNiwgMHhiYywgMHhmOSwgMHg5ZiwgMHhmYSwgMHgxZSwgMHg5NywKLSAgMHhkMCwgMHg2NCwgMHg1YSwgMHhiMCwgMHhlMiwgMHgyMiwgMHgzYSwgMHg2ZCwgMHg3OCwgMHhiNiwgMHhmZCwgMHg3ZCwKLSAgMHg5NywgMHg4NSwgMHhjNCwgMHg5ZCwgMHhhMSwgMHg1OSwgMHhjYywgMHg0OSwgMHgzYSwgMHhmYSwgMHg0OCwgMHhiMiwKLSAgMHg1YiwgMHhiNCwgMHg4MiwgMHg0MywgMHg1YiwgMHgyNSwgMHhkMCwgMHg0MywgMHg5YywgMHhkMiwgMHg1ZCwgMHg1NiwKLSAgMHgxMSwgMHg5MSwgMHgyYiwgMHg5ZiwgMHg1NiwgMHhmOSwgMHhjZiwgMHg1MywgMHg3MCwgMHg1MCwgMHg2YywgMHhmYywKLSAgMHgzNSwgMHhmZSwgMHgyOSwgMHg3MywgMHg0ZiwgMHgwNSwgMHhjNCwgMHg3ZCwgMHhiNCwgMHhiYiwgMHgxYiwgMHg4MSwKLSAgMHhhMCwgMHg0YywgMHgyNywgMHg4NiwgMHhhOSwgMHg4YSwgMHgzNiwgMHgyNywgMHhhNSwgMHg0MSwgMHg3OCwgMHg4YiwKLSAgMHhiZCwgMHhhNiwgMHg1MCwgMHgyZiwgMHg2YiwgMHgzMiwgMHgzNSwgMHg4NiwgMHgxNywgMHhlNCwgMHhjNiwgMHhhNCwKLSAgMHgxZCwgMHgwYiwgMHg4ZCwgMHg4YSwgMHg3ZCwgMHhlNiwgMHgzMSwgMHhkZiwgMHhhMywgMHg1NCwgMHg0OSwgMHgzNywKLSAgMHhhZCwgMHhjMywgMHg1YywgMHhiOCwgMHg4ZSwgMHg0OSwgMHg1YiwgMHgwZiwgMHhhNywgMHgxZSwgMHhkNiwgMHhiNCwKLSAgMHhmOCwgMHhiZiwgMHg4MywgMHg5OSwgMHgwNSwgMHhmYywgMHg3YiwgMHhmZiwgMHg3MSwgMHg0OCwgMHgxMSwgMHhlMywKLSAgMHhmMywgMHhkMywgMHg3NywgMHg0MiwgMHg2MSwgMHhhMSwgMHg2OCwgMHhlNiwgMHgxZCwgMHhjMSwgMHgyMywgMHgwZSwKLSAgMHhiMiwgMHg2NSwgMHgxMCwgMHhlMiwgMHhmNiwgMHhjYywgMHgyYywgMHhjOCwgMHg4MCwgMHg0NSwgMHg2OSwgMHhmNSwKLSAgMHhiZSwgMHhjYSwgMHgxYywgMHgwMCwgMHhmZCwgMHgwNywgMHg2NSwgMHg2OSwgMHhkZiwgMHgwOSwgMHhhYywgMHg4MCwKLSAgMHgyMiwgMHgxMiwgMHhlYiwgMHhiZCwgMHhmNCwgMHg1ZSwgMHhlMiwgMHg2YiwgMHg3NiwgMHhjYSwgMHhmNywgMHg5NywKLSAgMHg0YiwgMHhlMCwgMHg4OSwgMHg4ZSwgMHhhNCwgMHgxOCwgMHg5ZSwgMHgwMCwgMHg4ZCwgMHgyNSwgMHgxZCwgMHhkNiwKLSAgMHhiNiwgMHg0OSwgMHhlZCwgMHhkMiwgMHgyMiwgMHg1ZiwgMHhhMiwgMHg1MywgMHg4NywgMHgzOCwgMHhjZCwgMHgxYywKLSAgMHg1ZSwgMHhkNiwgMHg2OSwgMHhhZCwgMHg2MiwgMHhiNCwgMHhlYSwgMHgyNSwgMHgzZSwgMHhjMSwgMHg4OCwgMHhjYywKLSAgMHg5MiwgMHhkOCwgMHg5NCwgMHhiMiwgMHgyZiwgMHg2YywgMHgxYSwgMHhhMCwgMHhkNiwgMHg5NywgMHg5NSwgMHg2MiwKLSAgMHhkMCwgMHg4YSwgMHhlMCwgMHg1NCwgMHg2MywgMHhjMSwgMHhlOSwgMHhkOSwgMHg0ZSwgMHhlYSwgMHg5ZiwgMHg5ZCwKLSAgMHhiZSwgMHgzYiwgMHhiNywgMHgzMiwgMHg5ZiwgMHgzZSwgMHg4YiwgMHgxZiwgMHg3NCwgMHg2ZSwgMHgwZiwgMHhiNSwKLSAgMHg4MywgMHgxMSwgMHgxMCwgMHgwYiwgMHg5MSwgMHg2YywgMHg2OCwgMHg4MSwgMHhkYywgMHgzZCwgMHg0YywgMHhiMSwKLSAgMHgwOSwgMHhmOCwgMHg0OCwgMHgzMCwgMHg4ZSwgMHgwZSwgMHgzNCwgMHg0MCwgMHg5YiwgMHhjMiwgMHg1OSwgMHhjOSwKLSAgMHg5OCwgMHg0MCwgMHg5NiwgMHhkZiwgMHhiMCwgMHgwNywgMHgxZCwgMHg4MiwgMHhhNiwgMHgwNywgMHg1ZSwgMHhjYywKLSAgMHgyOSwgMHhiNywgMHgwNywgMHg3YiwgMHgyMSwgMHg2NSwgMHg5MCwgMHgwZCwgMHhmZCwgMHhlZSwgMHg2OCwgMHg3YywKLSAgMHhjZSwgMHgzMywgMHhhNywgMHhiZiwgMHgwNSwgMHgzMywgMHhlNywgMHgyMiwgMHg1MywgMHhmOSwgMHg2MSwgMHhlOCwKLSAgMHg0NCwgMHhiNSwgMHg5NCwgMHg0MSwgMHgxOSwgMHg2OCwgMHhjNiwgMHhkYSwgMHhjMCwgMHhmOCwgMHhiNiwgMHg0YSwKLSAgMHhkZSwgMHhkYiwgMHhiMSwgMHgwMywgMHgyZiwgMHhkYiwgMHgxMCwgMHg0YywgMHg1MywgMHhlOCwgMHgwNCwgMHhmNywKLSAgMHgxYiwgMHgzZiwgMHhkOCwgMHg5MCwgMHhhZiwgMHg2YywgMHgxOCwgMHhiNSwgMHg2YywgMHhhNiwgMHg3ZCwgMHhkMSwKLSAgMHhiYywgMHgxMSwgMHgxZSwgMHhiOSwgMHgxMSwgMHg5NiwgMHgyNCwgMHhhOSwgMHg2NCwgMHg4MCwgMHg2MywgMHhlZCwKLSAgMHgzMSwgMHg0YywgMHgzZiwgMHgxYywgMHgyYSwgMHhhOSwgMHg0MCwgMHg1OCwgMHgzMCwgMHg1MSwgMHhmMCwgMHg3MywKLSAgMHg2ZSwgMHg5YywgMHhjNywgMHg1MiwgMHhlNywgMHg3ZSwgMHg2MiwgMHg1NSwgMHgwNSwgMHg2ZiwgMHgyYSwgMHhmNCwKLSAgMHg2MywgMHg0ZCwgMHhmOSwgMHg4MSwgMHhiNiwgMHhkMSwgMHgyMSwgMHhiOSwgMHgwMywgMHhhNiwgMHhmNCwgMHhhZiwKLSAgMHgyOCwgMHg1YiwgMHhkMCwgMHhhNiwgMHgyZCwgMHhmMiwgMHhkYSwgMHg3ZCwgMHhiOSwgMHg2MCwgMHg5NCwgMHhhZCwKLSAgMHhiYywgMHg1OCwgMHg2NSwgMHhkMCwgMHhkMSwgMHhkMiwgMHg2YSwgMHg0ZSwgMHhhZCwgMHgyYywgMHgwYywgMHgxMywKLSAgMHhhOSwgMHhiOCwgMHgwOCwgMHhlZCwgMHhhNiwgMHg4OCwgMHhhMSwgMHg2ZSwgMHg3YiwgMHhkZiwgMHgxMCwgMHhmOSwKLSAgMHg3MywgMHg3YywgMHg3MiwgMHhlNCwgMHg4ZSwgMHg4YSwgMHhkYiwgMHg2MCwgMHhlMCwgMHgxMiwgMHgzYiwgMHg1ZCwKLSAgMHhkZiwgMHg1YywgMHhkOCwgMHhjMiwgMHg4YSwgMHg4OSwgMHg1MSwgMHg3MiwgMHg0NiwgMHgwZCwgMHhkZiwgMHhhMSwKLSAgMHgzMywgMHhkNSwgMHhmZiwgMHhlZSwgMHg0NiwgMHhlMywgMHg0YiwgMHgwMiwgMHgwZiwgMHhiYywgMHgxMSwgMHg5YiwKLSAgMHhhOCwgMHg5OSwgMHhjZSwgMHgwYiwgMHg3MywgMHhiMiwgMHhmOCwgMHgwOSwgMHhmZCwgMHhkNSwgMHg4MywgMHg2YywKLSAgMHgwZiwgMHg5NiwgMHhmYiwgMHhjYywgMHhiZCwgMHg1YywgMHg5YiwgMHg5NSwgMHgxOCwgMHgwYiwgMHhiZCwgMHhmYiwKLSAgMHhjOCwgMHgyMywgMHhhMSwgMHgyYiwgMHg2MywgMHhiZSwgMHg2MywgMHgwOCwgMHhjYiwgMHg5YSwgMHhlOSwgMHgyZSwKLSAgMHg0YiwgMHgyNywgMHg5YywgMHgxOSwgMHg4ZiwgMHg3MCwgMHhhMSwgMHhjZiwgMHhiNCwgMHg1OCwgMHhiOCwgMHgzNywKLSAgMHgxNCwgMHgwYiwgMHg4MywgMHhjMywgMHg4OSwgMHhlZCwgMHg4ZiwgMHg0NCwgMHg0OSwgMHhjMiwgMHhhNCwgMHhjOCwKLSAgMHg5OSwgMHhiMSwgMHgwYSwgMHhlMiwgMHhiNCwgMHg3MywgMHg5YiwgMHg2YiwgMHhlZiwgMHhjNywgMHg4MCwgMHhiMSwKLSAgMHhiNSwgMHgxNiwgMHg3NCwgMHhhYSwgMHhiYiwgMHhiOSwgMHg5ZCwgMHhlZSwgMHhmNSwgMHg4ZiwgMHg5OCwgMHgxMiwKLSAgMHgyZCwgMHhkOSwgMHg1OCwgMHhmOSwgMHhkNSwgMHg5YSwgMHg5ZCwgMHg2NCwgMHgyNywgMHgwYiwgMHg3OCwgMHgxZSwKLSAgMHgzOSwgMHgwZCwgMHgyOCwgMHgxZSwgMHg2MCwgMHhlNCwgMHhiYiwgMHhhZiwgMHhmYywgMHgzZiwgMHg3YSwgMHhlYywKLSAgMHg4NiwgMHhiYSwgMHgwMCwgMHgwMiwgMHg5MCwgMHhmMiwgMHhmNSwgMHhjMywgMHg5NiwgMHg1MywgMHhjZSwgMHgzNiwKLSAgMHhjYSwgMHhjOCwgMHhlZCwgMHg5MywgMHg2YywgMHgzNiwgMHg3MiwgMHgwMSwgMHg3YiwgMHhlNCwgMHg0YSwgMHg3OSwKLSAgMHhkZiwgMHg3OCwgMHgyYSwgMHhhNiwgMHgyZiwgMHhkOSwgMHhiZSwgMHhjNSwgMHg5ZCwgMHg0YiwgMHhiZSwgMHg5NywKLSAgMHg4ZSwgMHhlNywgMHhlYywgMHgzNywgMHhlMywgMHgzZSwgMHgzYywgMHhmMiwgMHgxYiwgMHg0MSwgMHg3MiwgMHhiYywKLSAgMHgxMiwgMHhiZiwgMHgwYywgMHg3NSwgMHhkYSwgMHgwYSwgMHg2MCwgMHgxYiwgMHg1NywgMHgwYiwgMHhjOSwgMHhlMSwKLSAgMHhmNSwgMHhiZSwgMHhmNCwgMHhiOSwgMHg3OCwgMHgzMiwgMHhhOCwgMHg4MiwgMHhiZCwgMHg3MCwgMHg0OCwgMHg0NywKLSAgMHhkZSwgMHg0MiwgMHg0OCwgMHhkMSwgMHgxNSwgMHhhYiwgMHg1OSwgMHg0MywgMHhmOSwgMHg4NiwgMHgzOSwgMHg0ZSwKLSAgMHg1MywgMHg5YiwgMHgwMiwgMHgxYywgMHgwMiwgMHhmNSwgMHgxMSwgMHhmYywgMHgxOSwgMHhiMSwgMHg1OSwgMHg1MSwKLSAgMHg3NiwgMHhkNSwgMHhhMywgMHg1MCwgMHg2YSwgMHgyNSwgMHhiMSwgMHg3OCwgMHgxNiwgMHhlNCwgMHgzMSwgMHhmZSwKLSAgMHg5NSwgMHhjMiwgMHhhYywgMHg0NCwgMHg1YywgMHhlMiwgMHg1NSwgMHhmNiwgMHgzMywgMHgxNCwgMHg0OSwgMHhkNywKLSAgMHhlYywgMHg1NiwgMHgwMywgMHhjYSwgMHg2OSwgMHhiMSwgMHg0YSwgMHgzZCwgMHg1YiwgMHhmZSwgMHhkMSwgMHgzMywKLSAgMHhmMSwgMHg1MCwgMHg4OSwgMHgxYiwgMHg4NCwgMHgyMiwgMHhlYiwgMHgwNSwgMHg2MSwgMHg3YiwgMHg3NywgMHhjMiwKLSAgMHg4YiwgMHg4ZiwgMHhmNywgMHhhYywgMHhhZiwgMHg5MiwgMHg1MiwgMHg2NiwgMHhhNSwgMHgwZSwgMHhjNCwgMHg0ZiwKLSAgMHg5YywgMHgzNSwgMHhjYywgMHg2ZCwgMHgzYywgMHhmZSwgMHgyNiwgMHg3OSwgMHhmMywgMHhlYSwgMHgzMSwgMHgyNSwKLSAgMHhmNCwgMHg1YywgMHg2NiwgMHhkNSwgMHhiMiwgMHhhMiwgMHgyNCwgMHg0ZSwgMHhhNSwgMHhlMSwgMHhkMywgMHg2ZiwKLSAgMHhiZCwgMHhjMSwgMHhmNiwgMHg1ZCwgMHhmNiwgMHg4NSwgMHgyMiwgMHgyYywgMHgwYSwgMHgzMywgMHgxMywgMHg3YiwKLSAgMHhjMSwgMHgxYywgMHgyMSwgMHg1NSwgMHg0ZiwgMHg1ZiwgMHgwZSwgMHgyNCwgMHhkOCwgMHhhMiwgMHg2MCwgMHg4MCwKLSAgMHgwYSwgMHg3OSwgMHgwNSwgMHhhZCwgMHhlNSwgMHhiMywgMHg2ZSwgMHg1MiwgMHg3OCwgMHg4YiwgMHg4MSwgMHgzZCwKLSAgMHgzZSwgMHg3MCwgMHgwYywgMHhhYywgMHhiYSwgMHg1YiwgMHg1MiwgMHhlMywgMHg5OCwgMHhlMiwgMHg5MiwgMHhjYywKLSAgMHg4MiwgMHhjOCwgMHg4ZCwgMHg3YSwgMHhjYywgMHg0YywgMHhmMywgMHgyNSwgMHhkZiwgMHg3YiwgMHhkMiwgMHg2MSwKLSAgMHhjMywgMHhkNywgMHhhMCwgMHg5ZSwgMHhjMywgMHg1ZCwgMHhlYSwgMHhiZCwgMHhmNywgMHhkOCwgMHhmNywgMHgyYSwKLSAgMHhkNCwgMHhkMiwgMHhmYSwgMHg0ZCwgMHg4MSwgMHg4ZiwgMHg0OSwgMHg0MywgMHhmMSwgMHg5ZSwgMHg3ZCwgMHg2MiwKLSAgMHg5ZiwgMHgyNSwgMHhiZiwgMHg1MSwgMHg1ZSwgMHg3OCwgMHgxZCwgMHg5YSwgMHg3YSwgMHhkZSwgMHgxMCwgMHhlNSwKLSAgMHg1NywgMHgwZCwgMHgwNCwgMHg1NSwgMHhjYywgMHg1OCwgMHhkZiwgMHhmMSwgMHhmNiwgMHhkZSwgMHg3YiwgMHhlNSwKLSAgMHg1OSwgMHhkYiwgMHg2OSwgMHg4MiwgMHhmNiwgMHgwOCwgMHg5NiwgMHgzMCwgMHhiMSwgMHgyOCwgMHhiNCwgMHhlNSwKLSAgMHhmNSwgMHhkYywgMHgyYywgMHgyYywgMHhhMywgMHhjZiwgMHhiYSwgMHg3OSwgMHhkMCwgMHhjYSwgMHgwMywgMHgzMywKLSAgMHgxZiwgMHg4NiwgMHg0NCwgMHhhZiwgMHgzYSwgMHg5MywgMHhmZSwgMHhjYiwgMHhjMywgMHhhNCwgMHhhZiwgMHgwOCwKLSAgMHgwOCwgMHhiNCwgMHhlZSwgMHg3ZCwgMHg2NCwgMHg0ZiwgMHhlZSwgMHgwYywgMHgzNSwgMHhmNSwgMHhiZSwgMHgyYywKLSAgMHhmMiwgMHhiZiwgMHg2NywgMHg1ZSwgMHgyZSwgMHg5OCwgMHg3NiwgMHhkNywgMHhmMiwgMHgxZSwgMHhkZiwgMHgxNywKLSAgMHg4NiwgMHhjMSwgMHg4ZCwgMHg5YiwgMHhjMSwgMHgxNCwgMHgyOSwgMHg3OCwgMHhlYSwgMHgxZSwgMHgzOCwgMHgxMCwKLSAgMHhhYSwgMHhlNSwgMHhlNiwgMHg3OCwgMHg5YywgMHhmYiwgMHg2MCwgMHg0NiwgMHg0NSwgMHhlOCwgMHgzZSwgMHg2YiwKLSAgMHhhNSwgMHhkNSwgMHgzZiwgMHg3OSwgMHgyNCwgMHgzYSwgMHg5NywgMHhlYSwgMHhjNiwgMHgyNCwgMHg3OSwgMHg2OSwKLSAgMHgyMywgMHhlNiwgMHg0MCwgMHg3NSwgMHhlYywgMHhiMiwgMHhlOSwgMHgyNywgMHgyMiwgMHhmNiwgMHhlNCwgMHgyOCwKLSAgMHhhNSwgMHg1MSwgMHg3ZCwgMHhlYSwgMHg3YSwgMHg5NSwgMHhkMSwgMHg1ZiwgMHg2ZiwgMHhmMiwgMHg0MiwgMHgxMiwKLSAgMHhkZCwgMHg4MywgMHhkNywgMHg5ZiwgMHhmNCwgMHhiOCwgMHgxZiwgMHg2YiwgMHg5NiwgMHg5OSwgMHg0NywgMHhhMCwKLSAgMHgyNSwgMHhlZiwgMHhmOSwgMHhhNywgMHhlZSwgMHgyNiwgMHgzOCwgMHgxOCwgMHhkYiwgMHg4MSwgMHgwMywgMHhjZiwKLSAgMHgxZCwgMHhmOCwgMHhjMCwgMHhhNywgMHg3YSwgMHg5NywgMHhkOCwgMHg4NSwgMHg4MiwgMHgzYiwgMHgzMCwgMHg4YiwKLSAgMHgwMSwgMHhlNywgMHg1ZiwgMHhkOCwgMHhjZiwgMHhjZiwgMHg0YiwgMHhlMiwgMHhhNiwgMHhkZSwgMHhmNywgMHg5OCwKLSAgMHhhNCwgMHg1ZSwgMHhhMywgMHgxYiwgMHg4NywgMHgzMywgMHgwZSwgMHg4YSwgMHhlNCwgMHhkYywgMHhhYiwgMHhiNSwKLSAgMHg3NSwgMHg0ZiwgMHgzZiwgMHgxMywgMHhkYSwgMHg1MCwgMHg3OSwgMHg2OSwgMHg4ZCwgMHhkNSwgMHhiZSwgMHgzNywKLSAgMHg5ZSwgMHhlZSwgMHhmYSwgMHhjYSwgMHhlYSwgMHg4YywgMHhhMiwgMHhiMiwgMHg4YywgMHgwNSwgMHhkMCwgMHhmYiwKLSAgMHgwMiwgMHg1MywgMHhjNiwgMHhiMSwgMHgxMSwgMHgyMywgMHg5NywgMHg4NiwgMHhhOCwgMHhmMSwgMHg4YywgMHg4MywKLSAgMHg0NCwgMHg3NCwgMHg4ZiwgMHhlZCwgMHhiNywgMHg5OCwgMHhlZSwgMHhiOSwgMHhhZiwgMHgzZSwgMHgyNSwgMHhjNywKLSAgMHhhZiwgMHhiYywgMHgwNywgMHgwZiwgMHhkYywgMHgwMiwgMHhkMywgMHgzOSwgMHg2OSwgMHgwMywgMHg3NywgMHhlYywKLSAgMHhhNywgMHhhYSwgMHg5MywgMHgyZCwgMHg3YSwgMHhjYiwgMHgwMywgMHgzZSwgMHg3OSwgMHhjYSwgMHg5NCwgMHhmMSwKLSAgMHhiNiwgMHg2NCwgMHhlOCwgMHgyZSwgMHg2YywgMHg3ZiwgMHhmMCwgMHgwYywgMHg5MywgMHhjMywgMHhjYiwgMHgyYiwKLSAgMHgyMywgMHhkNSwgMHhhNiwgMHgwZCwgMHg3MiwgMHg0MiwgMHgwYiwgMHg4ZCwgMHg3MSwgMHg3NSwgMHhjZiwgMHhmZSwKLSAgMHhlOSwgMHg5MywgMHgzNSwgMHhjZiwgMHg4YSwgMHhkMCwgMHhhYywgMHhhZCwgMHhhOCwgMHhmNywgMHhkZSwgMHg3YiwKLSAgMHgxYSwgMHg1ZSwgMHg3MywgMHgzNSwgMHgwNywgMHhiNCwgMHg0YywgMHhjMSwgMHg1YywgMHgzNSwgMHhiYSwgMHg2OSwKLSAgMHhjOSwgMHgxNiwgMHhkNSwgMHg1OCwgMHhmZiwgMHhiYiwgMHgzYSwgMHgwNiwgMHgyYiwgMHgwMiwgMHgyNSwgMHhhYywKLSAgMHhmZiwgMHhkZCwgMHg5ZiwgMHhlZiwgMHhlNywgMHg3ZSwgMHhhZCwgMHgwMywgMHg3YiwgMHgwNSwgMHhhYiwgMHgwYywKLSAgMHg3MSwgMHg4MiwgMHg2OSwgMHhhYiwgMHgxYiwgMHg4NiwgMHhjYiwgMHgxMSwgMHhjMiwgMHhlZSwgMHg3OCwgMHgyMywKLSAgMHhmMCwgMHg5OSwgMHgxYiwgMHgzZCwgMHg2MiwgMHg1NSwgMHgzOCwgMHhjZSwgMHhjMSwgMHg0NiwgMHhhMCwgMHg0MCwKLSAgMHgxYSwgMHhjYywgMHg3YywgMHhmYywgMHg0YSwgMHhlMiwgMHhmOSwgMHhlMiwgMHg4MSwgMHhmMiwgMHg3YywgMHhhOCwKLSAgMHhiYiwgMHg5ZCwgMHg2YiwgMHg1MCwgMHg1ZiwgMHhhZCwgMHhkOCwgMHhlNCwgMHhiNiwgMHgyYiwgMHg3MiwgMHgwZSwKLSAgMHgzNiwgMHhlZiwgMHhiNSwgMHg3ZCwgMHhjNywgMHhiZCwgMHgzMCwgMHgzNywgMHhhOCwgMHg4ZCwgMHgyZiwgMHhjZCwKLSAgMHg2YywgMHhkOSwgMHgyNiwgMHhiNywgMHhmZCwgMHgxMSwgMHg1MCwgMHg3NCwgMHg3ZCwgMHg1MywgMHg5NSwgMHhmNCwKLSAgMHg1NywgMHhjNSwgMHgxOSwgMHhkOSwgMHg0YSwgMHg3YiwgMHg1MiwgMHgzMywgMHgyNSwgMHg4OSwgMHhkYywgMHhmYiwKLSAgMHg4YywgMHhhOCwgMHgzNiwgMHg5NCwgMHhlMiwgMHg2NCwgMHg0ZSwgMHhlOSwgMHgyYSwgMHg5YiwgMHg3ZSwgMHhkNCwKLSAgMHgyYiwgMHgyMywgMHg4MywgMHhiOCwgMHhkNCwgMHg3MywgMHhlZiwgMHhhZCwgMHg0NywgMHg3NiwgMHg2YiwgMHg2MSwKLSAgMHhkMCwgMHhiYywgMHgzYiwgMHhlYSwgMHg1YSwgMHgwMSwgMHhlZSwgMHg1MSwgMHhhNiwgMHg5YSwgMHg3NywgMHhlNywKLSAgMHhlMywgMHhiMywgMHhlNywgMHgzNCwgMHg2NywgMHg4ZSwgMHgxYiwgMHg5YSwgMHgwYiwgMHhmMSwgMHg3MiwgMHg5YywKLSAgMHhmZCwgMHg0ZCwgMHhlYSwgMHhjYywgMHg2YSwgMHhmNywgMHhmNCwgMHg5MywgMHg5ZSwgMHhhNywgMHhjNywgMHhlMiwKLSAgMHhkOCwgMHgzYiwgMHgwNiwgMHhkYywgMHhiMywgMHgzOSwgMHgwNywgMHhmZiwgMHgyNSwgMHgyNiwgMHg5YSwgMHg1NSwKLSAgMHhhMSwgMHhmZSwgMHg3ZCwgMHhmNiwgMHg3ZiwgMHhkMSwgMHhjYywgMHhjMCwgMHgwZCwgMHgyOSwgMHhiNiwgMHhlYywKLSAgMHgxZSwgMHhmZSwgMHhkYywgMHhkOSwgMHgzNCwgMHg1NywgMHhhYiwgMHhlMiwgMHhhMywgMHhkNSwgMHgxNywgMHgwNSwKLSAgMHg4YywgMHg0ZiwgMHgwZiwgMHhkOCwgMHhiZCwgMHhmMCwgMHg0YywgMHhhZiwgMHg4NiwgMHhlNywgMHgwNywgMHhiNSwKLSAgMHg3OSwgMHg0ZiwgMHgwMywgMHhmMSwgMHg1MCwgMHg4OCwgMHhkYiwgMHg1MSwgMHg2MiwgMHg5ZSwgMHg4NiwgMHhiZiwKLSAgMHhhZSwgMHhiYywgMHgzZCwgMHg3OCwgMHhiNiwgMHg2YiwgMHhjNSwgMHhhZiwgMHhlMCwgMHhmYSwgMHg3YywgMHhjYywKLSAgMHhlZSwgMHgxYywgMHhkNSwgMHg2OSwgMHg4ZSwgMHhjNSwgMHgzMiwgMHgyZiwgMHhjOCwgMHgwNSwgMHhlMSwgMHgxZSwKLSAgMHg3MSwgMHgwMywgMHhlYywgMHhiNSwgMHg4NCwgMHg0MCwgMHg1NywgMHhkZCwgMHhhOCwgMHg5YiwgMHhiNCwgMHg1OSwKLSAgMHg3OSwgMHgyMiwgMHhlNiwgMHgxOSwgMHhkMywgMHhjZSwgMHg5OCwgMHhhMiwgMHg4ZSwgMHgwYiwgMHhhMSwgMHhkNywKLSAgMHhiYywgMHg1MCwgMHg2ZiwgMHg1YiwgMHhjNywgMHg4NSwgMHhhNiwgMHgyZiwgMHhmZCwgMHhmMCwgMHgwMywgMHhjYiwKLSAgMHg5MSwgMHg1MiwgMHhkMSwgMHg5NSwgMHgyNCwgMHg3NCwgMHg2NSwgMHg3YiwgMHg1YiwgMHgxOSwgMHhhNiwgMHhjYiwKLSAgMHhhYSwgMHgwNywgMHg1ZCwgMHg2MSwgMHhjNCwgMHg3YiwgMHhhYSwgMHg4YywgMHhiYSwgMHg2ZiwgMHgyYSwgMHg4MCwKLSAgMHgwZSwgMHgyZSwgMHg0ZiwgMHgyYywgMHg3YSwgMHg1ZSwgMHgxNiwgMHgxMiwgMHhiMywgMHhhNSwgMHhlNCwgMHhjZCwKLSAgMHg4NiwgMHhkYiwgMHgyMSwgMHg1YywgMHg4MywgMHhkYSwgMHhjOCwgMHg4OCwgMHgzMywgMHgzMywgMHgzOCwgMHg3YywKLSAgMHg3ZiwgMHhmZSwgMHhjZCwgMHhlOSwgMHhiYiwgMHg3MSwgMHhiMiwgMHg0MywgMHgwNSwgMHhmMiwgMHhlNywgMHhlZiwKLSAgMHg4ZSwgMHhiZiwgMHg3YSwgMHg3ZiwgMHg2ZSwgMHhmZSwgMHhhOSwgMHgyMywgMHhiZCwgMHg0YSwgMHg4YiwgMHhkYywKLSAgMHg0OCwgMHhhNywgMHg3MSwgMHg5MywgMHgxNSwgMHg4NiwgMHg1NiwgMHgyZSwgMHhiNSwgMHgwNSwgMHgxNSwgMHg3MiwKLSAgMHg1MCwgMHg0OCwgMHgxZSwgMHg5NywgMHg5NSwgMHhlMiwgMHhhMiwgMHg1MCwgMHgzYSwgMHg0YSwgMHgzOSwgMHg3NywKLSAgMHhjOSwgMHgwNCwgMHhlYywgMHhjMSwgMHhhNiwgMHgxYywgMHhiZiwgMHhkMiwgMHg1OSwgMHhjZSwgMHg3OSwgMHhhNywKLSAgMHhiMiwgMHg1ZiwgMHhkMywgMHg3NiwgMHg5MiwgMHhmMywgMHg2ZiwgMHgwZSwgMHhkZiwgMHg3ZSwgMHgzYiwgMHhkNiwKLSAgMHgwNiwgMHgyNSwgMHhkZiwgMHg3ZiwgMHhmZiwgMHg3ZCwgMHgzNywgMHhiOCwgMHgwYiwgMHgxZCwgMHhmNiwgMHgyYSwKLSAgMHhiZCwgMHhiZCwgMHgxZCwgMHhkNSwgMHhkOSwgMHg2NywgMHg5ZiwgMHg4ZCwgMHg4ZiwgMHg4ZSwgMHg5MiwgMHhjMywKLSAgMHg5MywgMHhmMSwgMHhlOSwgMHg2NywgMHgwZSwgMHgwYywgMHg2MiwgMHg2YiwgMHg2ZiwgMHhkYiwgMHgyOCwgMHg2OSwKLSAgMHg5NywgMHg1OSwgMHg2MywgMHhmZSwgMHhmMiwgMHhkOSwgMHg2NywgMHhmZiwgMHgxZiwgMHgxNSwgMHg0YywgMHhjOCwKLSAgMHgzMywgMHg3ZCwgMHhhNiwgMHgwMiwgMHgwMCwKKyAgMHg5YywgMHg5YiwgMHgzZiwgMHhkYywgMHhlOCwgMHhiMywgMHhiNCwgMHg0OSwgMHg5MywgMHg4YiwgMHhhYSwgMHg1YywKKyAgMHgyNCwgMHg2NSwgMHg0NSwgMHhiZiwgMHg0OCwgMHg5MywgMHgzYSwgMHhhYiwgMHhhZSwgMHhiMywgMHg2YSwgMHg5MCwKKyAgMHhhYywgMHhlYSwgMHhiYywgMHhiOCwgMHg0YywgMHhjYSwgMHgyMiwgMHg0YiwgMHhjYSwgMHg4YiwgMHhhNCwgMHhiOSwKKyAgMHhjYSwgMHg3NCwgMHhiOCwgMHg3YSwgMHhiNSwgMHg1YywgMHg5NiwgMHg1NSwgMHg5MywgMHhjZCwgMHg5MiwgMHg2NSwKKyAgMHg1NSwgMHgzNiwgMHhlNSwgMHhiNCwgMHg5YywgMHhkNywgMHhjOSwgMHhkNiwgMHhhYiwgMHhlMywgMHhjMywgMHhmMywKKyAgMHg0MSwgMHhmMiwgMHhmYSwgMHhmOCwgMHhlNCwgMHhjOCwgMHhmYywgMHg3OSwgMHg3ZSwgMHg4NiwgMHgzZiwgMHhjNiwKKyAgMHg4MywgMHhlNCwgMHhlYiwgMHhkMywgMHhiMywgMHg2ZiwgMHg4ZSwgMHhkZSwgMHgwZCwgMHg5MiwgMHg2ZiwgMHhjZSwKKyAgMHhlOSwgMHg2NywgMHhmNCwgMHhhNywgMHhmOSwgMHg2MSwgMHg3MiwgMHhmYywgMHhlNiwgMHhlMCwgMHg2YywgMHhhMCwKKyAgMHhjMywgMHhkMSwgMHgzZiwgMHhlOCwgMHg4NywgMHgyNywgMHhhZiwgMHhjYywgMHgwZiwgMHhmOSwgMHgzZiwgMHhmNCwKKyAgMHhjZiwgMHgzNywgMHhmZiwgMHg3MSwgMHg2ZSwgMHgwNiwgMHgzYywgMHgzYiwgMHgzZCwgMHg3YiwgMHhjYywgMHg3ZiwKKyAgMHg5YSwgMHg5ZiwgMHhiZCwgMHgzYiwgMHg3ZiwgMHg3MywgMHhjNiwgMHg3ZiwgMHhlMiwgMHgxZiwgMHg2MywgMHhmMywKKyAgMHg4ZiwgMHhmMSwgMHgyMSwgMHhmZCwgMHg0MSwgMHgxZiwgMHhkNCwgMHhlMSwgMHhjNiwgMHg2ZiwgMHhiZSwgMHgxYSwKKyAgMHhkMCwgMHgxZiwgMHg2MywgMHhmYSwgMHg5MywgMHgzZSwgMHg0YSwgMHg3ZiwgMHg5YSwgMHg3ZiwgMHg5YywgMHgxZiwKKyAgMHg5ZCwgMHhiYywgMHgzZCwgMHgzYSwgMHg0ZiwgMHhkMiwgMHg2MiwgMHg5NiwgMHg5YywgMHg5YiwgMHhlNywgMHhiNywKKyAgMHg0NywgMHhjOSwgMHhmOSwgMHg1NSwgMHg5NiwgMHg0YywgMHhjYiwgMHhjNSwgMHg4MiwgMHg3ZSwgMHg4NCwgMHhkZCwKKyAgMHg5OSwgMHg2NSwgMHg3NSwgMHg3ZSwgMHg1OSwgMHg5OCwgMHg3NSwgMHg5OSwgMHg3ZCwgMHhkMCwgMHhlMSwgMHg2ZSwKKyAgMHhjYSwgMHhlYSwgMHg2MywgMHg3MiwgMHg5MywgMHgzNywgMHg1NywgMHhlNSwgMHhhYSwgMHgzMSwgMHgzYiwgMHg2MiwKKyAgMHgzNiwgMHgyYywgMHgyZiwgMHg5YSwgMHhhYywgMHg0YSwgMHhhNywgMHhiNCwgMHhlZCwgMHhhMywgMHhjZiwgMHg1YSwKKyAgMHg1YiwgMHg1YywgMHg1ZSwgMHg5OCwgMHgwZCwgMHhhZCwgMHhjZCwgMHgwZSwgMHg0ZSwgMHg1NiwgMHhmNSwgMHhiYywKKyAgMHg0YywgMHg2NywgMHhiNCwgMHg2ZiwgMHhlNiwgMHg5NSwgMHg4YiwgMHg5NSwgMHhkOSwgMHhmMSwgMHgyYSwgMHg5ZiwKKyAgMHg3ZSwgMHhhYywgMHg5MywgMHg3OSwgMHhmZSwgMHgzMSwgMHhhMywgMHg1ZCwgMHhiYiwgMHhiZCwgMHhkMywgMHg1ZCwKKyAgMHgxYywgMHhmMCwgMHhhMCwgMHhlOSwgMHhjYSwgMHg2YywgMHg3MCwgMHgzMSwgMHhkNCwgMHhlMSwgMHg5YSwgMHg3YywKKyAgMHg5YSwgMHhkMiwgMHgwNywgMHhiMCwgMHg4ZCwgMHhjOSwgMHg2YSwgMHg0OSwgMHhhMywgMHhmMSwgMHhmNiwgMHgyNSwKKyAgMHhjYiwgMHhiMiwgMHgzNiwgMHgyZiwgMHg4ZCwgMHhjNywgMHgyNywgMHg2NiwgMHhlZSwgMHg0NSwgMHg5MSwgMHg2MSwKKyAgMHgxZSwgMHhmNSwgMHhjMCwgMHhmYywgMHhhMywgMHhmYywgMHg5OCwgMHg2NywgMHhlNiwgMHgyZiwgMHgxNywgMHhmOSwKKyAgMHgzYywgMHg0YiwgMHhmOCwgMHg3OCwgMHhlZCwgMHg3MCwgMHg3NCwgMHhjZSwgMHg0OSwgMHg5NSwgMHhkNSwgMHhhYiwKKyAgMHg0NSwgMHg0NiwgMHgzYiwgMHg5YiwgMHgzNSwgMHhlOSwgMHgzYywgMHgyZiwgMHgzZSwgMHg5YSwgMHhiZiwgMHhkMiwKKyAgMHhkMiwgMHgxNywgMHg2NSwgMHg5NSwgMHg4ZCwgMHg5MiwgMHg4MywgMHgzYSwgMHhiOSwgMHgyYiwgMHg1NywgMHg2NiwKKyAgMHhhNSwgMHhmMywgMHhiOSwgMHgyMSwgMHg4MCwgMHgyYywgMHg5OSwgMHg2NCwgMHhmMywgMHhmMiwgMHg2NiwgMHg0MCwKKyAgMHhjNywgMHg5ZSwgMHgxNCwgMHhhYiwgMHhjNSwgMHhjNCwgMHgwYywgMHg1MCwgMHg1ZSwgMHhiOCwgMHhlMSwgMHhkMiwKKyAgMHg2NiwgMHg2NSwgMHg4NiwgMHhlMywgMHhhNywgMHgxNywgMHhhOSwgMHg1OSwgMHg5MywgMHg3OSwgMHhiNywgMHg0YSwKKyAgMHhhZSwgMHgzMiwgMHhiMywgMHhlNiwgMHg3YSwgMHg5OSwgMHgxNywgMHhiZiwgMHg2YiwgMHhlZiwgMHg4YiwgMHhkOSwKKyAgMHhkYiwgMHg2NSwgMHg3OSwgMHg5MywgMHg1NSwgMHg2NiwgMHg2NywgMHgyNywgMHg3NywgMHg4OSwgMHhkOSwgMHg4NCwKKyAgMHgwOSwgMHg1MywgMHhlNCwgMHg4NSwgMHhhMSwgMHhiOCwgMHgyNCwgMHgzNSwgMHg0MywgMHg1OCwgMHg2YSwgMHgxYywKKyAgMHg1NiwgMHhkOSwgMHgzYywgMHgyNSwgMHhjYSwgMHhiMiwgMHhkZiwgMHgxOCwgMHg5OSwgMHgxMywgMHhjZCwgMHgyYywKKyAgMHhlOSwgMHhjOSwgMHhhYiwgMHg1YiwgMHg4ZiwgMHhiNywgMHhmMSwgMHhmMiwgMHhjYywgMHhhYywgMHgyNCwgMHg5ZiwKKyAgMHhkNywgMHhlNiwgMHgxOCwgMHhlOCwgMHg4NiwgMHhjOCwgMHgzMywgMHg3NCwgMHhhYywgMHg3NCwgMHgxOSwgMHgwYywKKyAgMHhhMSwgMHhkZSwgMHgxNSwgMHg0ZCwgMHg3YSwgMHg4YiwgMHhjZiwgMHgwYiwgMHhhMSwgMHgwZSwgMHg2NywgMHhkOSwKKyAgMHgzMiwgMHgyYiwgMHg2NiwgMHg1OSwgMHhkMSwgMHg4YywgMHg5MiwgMHhiZiwgMHg5NCwgMHhhYiwgMHg0ZCwgMHhmMywKKyAgMHhlZCwgMHg4YiwgMHhkYywgMHhlYywgMHg0MSwgMHgyYSwgMHg0MywgMHg5OSwgMHgyZiwgMHgxYiwgMHgyMiwgMHg5OCwKKyAgMHg1NiwgMHhmOSwgMHhkMiwgMHgzYiwgMHg4YSwgMHhiMiwgMHgzMCwgMHg2NywgMHg5ZSwgMHhiYywgMHg3YiwgMHg3ZCwKKyAgMHg5OCwgMHgzYywgMHg3ZSwgMHhmMSwgMHhmOSwgMHgzMywgMHg3NywgMHhlNiwgMHg2NiwgMHg4MCwgMHg2NCwgMHg5YSwKKyAgMHgxNiwgMHg2NiwgMHhjNSwgMHhkOSwgMHgzNCwgMHhiZiwgMHhiOCwgMHg0YiwgMHgxNiwgMHhhYiwgMHg3OSwgMHg5MywKKyAgMHgyZiwgMHhjZCwgMHhlZSwgMHhkMywgMHg0ZCwgMHhhNCwgMHhkYiwgMHhiNCwgMHg0YywgMHhhYiwgMHhhNiwgMHgyNiwKKyAgMHgyMiwgMHhjMCwgMHgwZiwgMHhiMCwgMHhmNiwgMHg5YiwgMHgyYSwgMHg2ZiwgMHhlOCwgMHg1NiwgMHhlMSwgMHg3NywKKyAgMHg2NiwgMHg4NiwgMHg1OSwgMHg1MywgMHg1YiwgMHg0YSwgMHgzMywgMHg0NCwgMHg2NiwgMHhiZSwgMHgzMywgMHgzMSwKKyAgMHhiNCwgMHg2NSwgMHhiNiwgMHg5NiwgMHg0ZSwgMHhlNiwgMHhlZiwgMHhhYiwgMHgxMiwgMHgwZiwgMHhkMywgMHgyMSwKKyAgMHhkMCwgMHg4MiwgMHhkMiwgMHhkYSwgMHg0YywgMHg2NCwgMHhmZiwgMHgzMywgMHhjNywgMHg2MiwgMHgzNiwgMHhhZSwKKyAgMHg5YSwgMHg2NiwgMHhiOSwgMHhiZiwgMHhiMywgMHg1MywgMHhlNywgMHg0ZCwgMHgzNiwgMHhmYSwgMHg0ZiwgMHg3MywKKyAgMHg1MywgMHgwNywgMHhjZCwgMHg0ZCwgMHgzOSwgMHg2OCwgMHhhZSwgMHhhYSwgMHgyYywgMHhmYiwgMHhlNywgMHhjOCwKKyAgMHg5MCwgMHhmNiwgMHg4NiwgMHg3ZCwgMHhkNiwgMHhjYywgMHhlNiwgMHg0ZSwgMHhhNiwgMHg3YiwgMHg5OSwgMHgzNSwKKyAgMHhlNiwgMHhiYiwgMHg3ZiwgMHg1ZiwgMHg2NSwgMHgwNSwgMHg3ZCwgMHhjNywgMHhjYywgMHgyZSwgMHg5ZCwgMHgyZiwKKyAgMHhhZiwgMHg1MiwgMHg3MywgMHhjOCwgMHg5OSwgMHhhMSwgMHg1MSwgMHhiYSwgMHhmYywgMHg4NiwgMHg4YywgMHg2OCwKKyAgMHhhZSwgMHg3YywgMHhmZCwgMHhmZiwgMHhmYSwgMHg1MywgMHhlNCwgMHhiMywgMHgxNywgMHhmOCwgMHhhYSwgMHhmOSwKKyAgMHg3MywgMHg5NCwgMHhkZCwgMHhhNiwgMHgwYiwgMHhiMywgMHg2NCwgMHhmYSwgMHhkOCwgMHgwZSwgMHg1MSwgMHhkZSwKKyAgMHg1ZiwgMHg3NywgMHg4NywgMHhiYiwgMHg4ZiwgMHgxZSwgMHhmZCwgMHgzNCwgMHg2YSwgMHg2ZSwgMHg5YiwgMHg4ZCwKKyAgMHgwNywgMHhiZSwgMHhmMSwgMHhlOCwgMHg5MSwgMHhmNywgMHgwZSwgMHgzZCwgMHhiYywgMHg0NSwgMHgzYiwgMHg5MSwKKyAgMHhjYywgMHgwZCwgMHgzMSwgMHhkMSwgMHgwNCwgMHhmZSwgMHg5MSwgMHg1NSwgMHg2NSwgMHhiZCwgMHhmZCwgMHhjMCwKKyAgMHhiMSwgMHhkMiwgMHhlMSwgMHgzZiwgMHgzYSwgMHhkZiwgMHg3ZSwgMHg5YiwgMHhkNSwgMHhhMCwgMHgyNywgMHhiNywKKyAgMHhlMiwgMHgyNCwgMHhhZCwgMHgwYywgMHg0ZCwgMHg5NywgMHg4ZCwgMHhlMywgMHg2MywgMHgwMywgMHg3MywgMHg2MSwKKyAgMHgxYiwgMHhiYiwgMHgzZiwgMHhlNiwgMHgzZSwgMHg5YSwgMHhhNywgMHgwZCwgMHgwNywgMHg0YywgMHhlNywgMHhjNCwKKyAgMHhmYywgMHhlYSwgMHhhNCwgMHhjOCwgMHg2ZSwgMHgxYiwgMHg0YiwgMHgwZCwgMHg2NSwgMHg5MiwgMHhhNSwgMHhkMywKKyAgMHhhYiwgMHhhNCwgMHgzNCwgMHg2NywgMHg1MiwgMHhjNSwgMHg4ZSwgMHhjMiwgMHg5ZiwgMHg1MiwgMHg1YSwgMHg0ZCwKKyAgMHhhZiwgMHhmMiwgMHg2YiwgMHhiMywgMHgyNywgMHgyZiwgMHg1ZSwgMHgzYywgMHgxYiwgMHg5YSwgMHgzZiwgMHg1ZSwKKyAgMHhmYywgMHhiNCwgMHg3MywgMHg1ZCwgMHhjZSwgMHhjZCwgMHgxNiwgMHgzZCwgMHhmOSwgMHg2OSwgMHg4NywgMHhjZSwKKyAgMHhmZiwgMHgzZiwgMHhkMywgMHhjMSwgMHg2NCwgMHgzMCwgMHhmZCwgMHhlNywgMHhlOCwgMHhhYSwgMHg1OSwgMHhjYywKKyAgMHgzNywgMHg3YSwgMHhjOSwgMHgyYSwgMHgyZCwgMHhjYywgMHhmZiwgMHgyZiwgMHhjYSwgMHg1NSwgMHhkMSwgMHg1OCwKKyAgMHg1MiwgMHgzMiwgMHgxNCwgMHhkOSwgMHg3OCwgMHhjYywgMHhjYiwgMHg1YywgMHg2NiwgMHg3MywgMHg4MywgMHg4OSwKKyAgMHhmMCwgMHg4OSwgMHhjMiwgMHhlOCwgMHg0ZSwgMHg5YSwgMHhlYiwgMHhlYiwgMHgyZSwgMHg2YiwgMHgzMywgMHhiZCwKKyAgMHhhMiwgMHgxZCwgMHgzMCwgMHhiNCwgMHg5NSwgMHhjYSwgMHgzNiwgMHgzNCwgMHg3OSwgMHg0YSwgMHhmNywgMHhkNiwKKyAgMHhiMCwgMHgwZiwgMHg2MiwgMHg2NywgMHgxOCwgMHg4YiwgMHhiZiwgMHg5NiwgMHg5YiwgMHgwNywgMHhjYiwgMHg2YSwKKyAgMHg5NiwgMHg1NSwgMHhhMywgMHhlZSwgMHgzNCwgMHhlYywgMHg4NSwgMHhmNiwgMHhiZSwgMHg5OSwgMHhhOCwgMHhmMCwKKyAgMHhhMSwgMHgxZiwgMHg2MCwgMHg2MiwgMHg4YiwgMHhmYywgMHhkNiwgMHg4YywgMHg0MCwgMHhmZiwgMHhhNCwgMHhhZiwKKyAgMHg5OSwgMHg4OSwgMHhmMywgMHg2OCwgMHgwOSwgMHhjZCwgMHgxOCwgMHg5ZiwgMHhkMSwgMHhmNywgMHhkZCwgMHg4NSwKKyAgMHgzNiwgMHg1MywgMHg2ZiwgMHgyZCwgMHgxZCwgMHgxZiwgMHg3NSwgMHg4YiwgMHg0ZiwgMHhjYywgMHhmMSwgMHgyZCwKKyAgMHhjZCwgMHg1YiwgMHgyYiwgMHhlMiwgMHhiYSwgMHhiOCwgMHhmNCwgMHgzNCwgMHg4YywgMHg2MSwgMHgxNywgMHg5NywKKyAgMHhlNiwgMHg2NCwgMHhjYywgMHg2OSwgMHgxMCwgMHgzNSwgMHhkMywgMHg2MSwgMHhkZCwgMHgyNSwgMHg2ZiwgMHgwZCwKKyAgMHhkMSwgMHgzMCwgMHhhYiwgMHhmMiwgMHg4OCwgMHg3ZSwgMHg5ZSwgMHgzNSwgMHhjZCwgMHhmZCwgMHgwNywgMHhlNSwKKyAgMHgyOCwgMHg3NywgMHg3ZiwgMHgzNywgMHg0MiwgMHhiYywgMHg3ZCwgMHg2ZiwgMHgxOCwgMHg2YSwgMHhkYiwgMHhkZiwKKyAgMHhlYiwgMHgzYywgMHhmZSwgMHhiZCwgMHg2MSwgMHhlMywgMHhlZSwgMHhlYSwgMHg5OCwgMHgxOSwgMHhmYywgMHhlNywKKyAgMHgzZiwgMHgzZCwgMHhkYSwgMHhiYiwgMHhhMSwgMHhkZiwgMHhlNiwgMHhjNSwgMHg3NSwgMHhmOSwgMHhkMSwgMHg2YywKKyAgMHgxMywgMHg4NCwgMHg2ZSwgMHhkYSwgMHhkZSwgMHg1MSwgMHhlMiwgMHg1NCwgMHg4YiwgMHg2NSwgMHg2MywgMHhhNSwKKyAgMHgxOSwgMHgxMSwgMHhhNSwgMHhmOSwgMHhkMSwgMHgyNCwgMHg5ZCwgMHhjYywgMHhlZiwgMHg5MiwgMHhhYiwgMHhmNCwKKyAgMHgzYSwgMHhhMywgMHgzNSwgMHgyZiwgMHgwZCwgMHhiNSwgMHhkMiwgMHgyZSwgMHgxOCwgMHhjMSwgMHgzMiwgMHgwNywKKyAgMHg2MywgMHgxMCwgMHhkNiwgMHgzMSwgMHgyYiwgMHg1NywgMHgxMywgMHhjMywgMHg3ZSwgMHg4OCwgMHg2ZCwgMHhmMCwKKyAgMHhlNiwgMHhhNCwgMHhkNywgMHg2NSwgMHgzZSwgMHg2YiwgMHg4OSwgMHhlZSwgMHhhYiwgMHg4YywgMHg1OCwgMHgxZSwKKyAgMHg3ZCwgMHgxOCwgMHg2MiwgMHhjYywgMHhiMCwgMHg1YywgMHg5YSwgMHgyOSwgMHgyZSwgMHg1YywgMHhkZSwgMHg5MCwKKyAgMHg0OCwgMHgzNCwgMHhjYywgMHgzMiwgMHg5ZCwgMHhkNywgMHg2NSwgMHg5MiwgMHg1YywgMHg5NiwgMHg3NCwgMHg1NywKKyAgMHhjMCwgMHhhMiwgMHg0MSwgMHhlYywgMHhlNiwgMHg2MCwgMHhhZSwgMHg1MiwgMHg5MiwgMHg3YiwgMHg0NiwgMHhjNCwKKyAgMHhkOSwgMHhkYiwgMHg1MCwgMHg2NSwgMHhlMCwgMHhkNiwgMHgzOCwgMHhhZCwgMHg3NCwgMHgzZSwgMHg2MCwgMHhmOSwKKyAgMHg0NiwgMHhlZiwgMHhjOCwgMHg1ZSwgMHgyNSwgMHg5YiwgMHhmZiwgMHg2ZCwgMHg3MywgMHg5MCwgMHg2YywgMHhmZSwKKyAgMHhkYiwgMHgyNiwgMHg2OCwgMHg2MiwgMHhmMywgMHhiZiwgMHg2ZiwgMHhiYSwgMHhiMywgMHgzNiwgMHhiYSwgMHhkYiwKKyAgMHg3NSwgMHgzZSwgMHhjYiwgMHg5OCwgMHgyYywgMHg4ZSwgMHhjZiwgMHhhZSwgMHg5ZiwgMHgyNSwgMHhmZiwgMHgyMCwKKyAgMHg1NSwgMHhjMywgMHg3MCwgMHhlMywgMHhlYywgMHg1NiwgMHg4OSwgMHg1MiwgMHhkNywgMHg2NiwgMHhkZSwgMHg0ZSwKKyAgMHgwYywgMHg1YiwgMHg0ZSwgMHg5NywgMHhhNCwgMHg3MywgMHg2NCwgMHhkNSwgMHhkNCwgMHg1MCwgMHg3MCwgMHg3YSwKKyAgMHg2OSwgMHg2OCwgMHhkNiwgMHg0OCwgMHg2YiwgMHgxZCwgMHg4ZSwgMHhjNiwgMHhhNywgMHg1NywgMHg3OCwgMHg1OSwKKyAgMHg4NiwgMHg4NSwgMHgyNiwgMHg0NSwgMHhiYSwgMHgzMCwgMHhiNywgMHhlMiwgMHg4NCwgMHg2NiwgMHg5NCwgMHgxNywKKyAgMHg5MSwgMHhlMywgMHhmYywgMHhlYiwgMHg0NSwgMHhmNiwgMHhmOSwgMHhhMywgMHhmZCwgMHhmZCwgMHhjNywgMHg3ZiwKKyAgMHhkOCwgMHg3YiwgMHg5YSwgMHgzNSwgMHg1NywgMHg4ZiwgMHg3ZSwgMHhkYSwgMHg3MSwgMHg4NywgMHg3OCwgMHg3YywKKyAgMHg4MSwgMHg4ZCwgMHg1NywgMHgyMiwgMHhkNCwgMHg2OSwgMHg5MCwgMHgwYSwgMHhhMCwgMHg5MiwgMHhjNCwgMHgwYywKKyAgMHg2MCwgMHhmZSwgMHg5ZSwgMHg1ZCwgMHhlNCwgMHhiNywgMHgwMywgMHg1NSwgMHhiMCwgMHhmOCwgMHhlNiwgMHhhNSwKKyAgMHg4NiwgMHhlMCwgMHhjYywgMHgwOSwgMHhmYSwgMHgzYSwgMHhjNCwgMHhlNSwgMHgyYSwgMHhhYiwgMHhjZCwgMHg1ZSwKKyAgMHhkZSwgMHg1YywgMHhhNSwgMHg0ZCwgMHg2MiwgMHgwNywgMHhlMCwgMHhiMywgMHg1ZCwgMHhlNCwgMHg5NywgMHg1NywKKyAgMHg0ZCwgMHg3MiwgMHg5MywgMHg5MiwgMHg0MCwgMHgzYSwgMHg2ZSwgMHg3OCwgMHgwOCwgMHhkMiwgMHgwNCwgMHg4YywKKyAgMHgxOCwgMHhiYSwgMHg0OCwgMHg4ZCwgMHgzYywgMHhhMSwgMHg1MywgMHg4NCwgMHhkOCwgMHgzNywgMHgxYywgMHhjYSwKKyAgMHhlZCwgMHhmYSwgMHg5ZCwgMHgxYywgMHg4OSwgMHhkMywgMHhiZiwgMHgyNiwgMHg2OSwgMHg0ZCwgMHg1NywgMHhiNywKKyAgMHgzMCwgMHgyYywgMHhhMiwgMHgzMSwgMHg3YSwgMHhjNCwgMHg4YSwgMHhmZSwgMHg3NSwgMHg2NSwgMHgzNCwgMHgwNSwKKyAgMHhlYywgMHg4MiwgMHg0YywgMHgxNCwgMHhjMiwgMHhmNCwgMHgzNSwgMHgxZCwgMHgyOCwgMHg5ZCwgMHg4ZSwgMHgxNSwKKyAgMHg3MCwgMHhlNiwgMHg5OCwgMHgwNiwgMHg3MiwgMHhkMCwgMHhmNiwgMHg4ZCwgMHhkYSwgMHg1YywgMHgzYiwgMHhjMywKKyAgMHhhMCwgMHgyYywgMHg2ZCwgMHgxMCwgMHhjZiwgMHgxZCwgMHg2ZCwgMHhmMCwgMHgzYSwgMHgzMSwgMHhjNywgMHhiNCwKKyAgMHgyNiwgMHg2NSwgMHg4MiwgMHg1NSwgMHgwNiwgMHgzMywgMHg3OSwgMHg2ZiwgMHhiMSwgMHg2NiwgMHhkMywgMHhkMiwKKyAgMHg4ZiwgMHhhNCwgMHhiNiwgMHg3NCwgMHg5NCwgMHgyMywgMHhiYywgMHgzNiwgMHgyYiwgMHgwZCwgMHg5OSwgMHg5OSwKKyAgMHhkOSwgMHgxYSwgMHhhNiwgMHg0YywgMHgyYiwgMHgyMywgMHg1NiwgMHg4YiwgMHg1ZCwgMHgwMSwgMHg5OSwgMHg5YiwKKyAgMHgzMSwgMHhlOSwgMHg4NywgMHg3OSwgMHg0MywgMHgxMiwgMHgwNywgMHg0YSwgMHhhZiwgMHg5OSwgMHhhZiwgMHhkOSwKKyAgMHgxNCwgMHhlOCwgMHg2NiwgMHg4NiwgMHg2MSwgMHg3YiwgMHhlYiwgMHg4NywgMHgwOCwgMHgzNSwgMHhjZiwgMHgyNiwKKyAgMHhkNywgMHg0NiwgMHg5MywgMHgzMSwgMHgxYSwgMHg2YywgMHg2NiwgMHhkZiwgMHg4MiwgMHhjYywgMHg5ZiwgMHg5MiwKKyAgMHhmZSwgMHgzNCwgMHgzNywgMHgzNywgMHg2NiwgMHg1YSwgMHg1NiwgMHgxNSwgMHgxOSwgMHgwOCwgMHg3NCwgMHg4MiwKKyAgMHgxMywgMHg2NiwgMHhhNSwgMHg4YiwgMHhjYywgMHhhOCwgMHgxYSwgMHhmZSwgMHg3NiwgMHhlNiwgMHgyNCwgMHhkZSwKKyAgMHgwYywgMHg5NywgMHgzMSwgMHhiYSwgMHgwYiwgMHhmOCwgMHg4OCwgMHhkMSwgMHgzMSwgMHhjMCwgMHhmYiwgMHhiMSwKKyAgMHg3MCwgMHhjYywgMHg4ZSwgMHhjNiwgMHg5ZSwgMHg0ZSwgMHhiMywgMHg2NSwgMHg1MywgMHhjNywgMHhkNiwgMHhhNCwKKyAgMHgwNywgMHg2ZSwgMHhhNiwgMHg1MywgMHg2NSwgMHhiNCwgMHhmMywgMHhiZSwgMHg2MiwgMHg4NiwgMHg3ZCwgMHhiNSwKKyAgMHg4YSwgMHgwMSwgMHg3NCwgMHgzMywgMHhkNSwgMHg3NSwgMHg4YywgMHhhZSwgMHg1NiwgMHhkYiwgMHg1ZCwgMHg2YiwKKyAgMHg0MCwgMHgxYiwgMHg4NiwgMHg5OSwgMHg2MSwgMHhjZiwgMHgxNywgMHgzNCwgMHg1MSwgMHg3YSwgMHhiOCwgMHhlNiwKKyAgMHhiYiwgMHgwYSwgMHgwNiwgMHg0ZCwgMHgwNywgMHhjOSwgMHhhYSwgMHgzOSwgMHg3ZiwgMHg5NywgMHg0NCwgMHg5OCwKKyAgMHhkOSwgMHg0ZiwgMHgzYiwgMHhiOCwgMHhmOSwgMHhhYSwgMHgzZCwgMHg1MywgMHhmYSwgMHgzYywgMHhkOSwgMHgwNCwKKyAgMHg0NiwgMHhhZSwgMHhjZiwgMHhlYSwgMHgyYiwgMHhhMywgMHhhMCwgMHhkNSwgMHg3MiwgMHhiNywgMHhmMywgMHg4NSwKKyAgMHhhMSwgMHg5OSwgMHg2YiwgMHgzYSwgMHhkZiwgMHg2NSwgMHg5NiwgMHhjZCwgMHg0NiwgMHhjOSwgMHhlOSwgMHgwNSwKKyAgMHhmMSwgMHhkNiwgMHhjYSwgMHg0YywgMHhiYSwgMHhjMSwgMHhhZiwgMHg0OSwgMHhiNiwgMHg5OCwgMHg3ZCwgMHg5YiwKKyAgMHg0MSwgMHhlYiwgMHhiNywgMHg5NywgMHg4YiwgMHhhNywgMHhlMiwgMHhjOSwgMHgwOCwgMHhmMCwgMHhmMywgMHhkNCwKKyAgMHhmYywgMHhjNCwgMHhjYywgMHg3NiwgMHhkZSwgMHgxNiwgMHg0NCwgMHhiOCwgMHg4OSwgMHg4NiwgMHg4NywgMHhkMywKKyAgMHhmNCwgMHgyNiwgMHg1OSwgMHgwMiwgMHg0YSwgMHg5YywgMHg2NCwgMHhjZCwgMHg0ZCwgMHg5NiwgMHhkOSwgMHhlMSwKKyAgMHhlYSwgMHhjYywgMHg0OCwgMHgzZiwgMHgzYSwgMHgzNCwgMHhkNiwgMHgwZSwgMHhjMSwgMHgwZSwgMHg2OSwgMHg2YiwKKyAgMHhjZiwgMHhkZSwgMHg5ZCwgMHg3ZSwgMHhmZCwgMHhlZSwgMHg2OCwgMHgzYywgMHg0ZSwgMHhkZSwgMHgxYywgMHg5ZCwKKyAgMHgxZiwgMHhiZCwgMHg2YiwgMHhlZCwgMHg3NCwgMHg1MSwgMHg1NiwgMHgwYiwgMHg5YywgMHhlOCwgMHgyYywgMHhhZiwKKyAgMHg5NywgMHhmMywgMHhmNCwgMHg4ZSwgMHg4ZSwgMHhkYSwgMHhhYywgMHhlNCwgMHhiMiwgMHhhMiwgMHg5YiwgMHhiNSwKKyAgMHhjOCwgMHg0OCwgMHgzNiwgMHhjYywgMHg1NiwgMHhlMCwgMHg2NSwgMHg0NiwgMHgyOCwgMHg5OSwgMHhlMywgMHgxMywKKyAgMHhhZCwgMHg5OCwgMHhkOCwgMHgwOSwgMHg1NCwgMHhlOSwgMHhlMiwgMHhkMiwgMHhlZCwgMHhiNCwgMHhlMSwgMHgzOSwKKyAgMHgyMiwgMHg0ZiwgMHg0OSwgMHhhMCwgMHhkYSwgMHhmMywgMHgyMCwgMHhmNSwgMHgxNCwgMHhkNiwgMHhkMCwgMHhjMCwKKyAgMHhmZCwgMHg4YywgMHhiNywgMHg4OSwgMHgwNSwgMHg5YywgMHhhMSwgMHhkOSwgMHg3YywgMHgwMSwgMHg3NiwgMHg2NywKKyAgMHhmZSwgMHhlYiwgMHgzNCwgMHhkMiwgMHhlYywgMHhjMiwgMHhhOCwgMHhlMywgMHg0NiwgMHhjNiwgMHhiMiwgMHgzZCwKKyAgMHhkMSwgMHg5ZCwgMHg5MywgMHhjZSwgMHhkNiwgMHhlYSwgMHhkMCwgMHg4NiwgMHgwYywgMHgxYiwgMHg1MSwgMHhlZiwKKyAgMHg3OCwgMHgyYSwgMHhmYywgMHgwNSwgMHhjYiwgMHhjNiwgMHg4YywgMHg2ZSwgMHg0MiwgMHhkYywgMHg0ZiwgMHgxZSwKKyAgMHg1YiwgMHhkMiwgMHgxNCwgMHgzMiwgMHg3MywgMHhiMiwgMHgzMywgMHgxZSwgMHhiZSwgMHg1ZSwgMHg1ZCwgMHhlMCwKKyAgMHgyMiwgMHgyNywgMHg1YiwgMHg0NiwgMHg3YiwgMHg3ZiwgMHg2MywgMHhjYywgMHgyYiwgMHg2MywgMHhkNywgMHgxOCwKKyAgMHhmMywgMHg2OCwgMHgxYiwgMHhlZiwgMHhlZCwgMHgzZSwgMHhkYSwgMHg3YiwgMHhjMiwgMHg4YywgMHg2MCwgMHhhNCwKKyAgMHhjMywgMHhiZCwgMHhmNiwgMHg1OCwgMHhmMSwgMHhlZSwgMHg0NywgMHgzYSwgMHg1ZSwgMHg3ZSwgMHg4OCwgMHgwNiwKKyAgMHgxZiwgMHgyNSwgMHhiYiwgMHg2ZiwgMHhmOCwgMHgyNywgMHg0ZiwgMHgzZSwgMHg3ZiwgMHhmYSwgMHhmYywgMHg5OSwKKyAgMHhmYywgMHhiMCwgMHg0ZCwgMHhlMCwgMHg3NiwgMHhmZSwgMHhhMCwgMHgwZSwgMHg5OCwgMHg4YSwgMHg2NCwgMHgzYiwKKyAgMHg5YSwgMHg5OSwgMHg5OCwgMHhkNSwgMHgyZCwgMHhmMiwgMHhjMiwgMHg1YywgMHgxMywgMHg3MywgMHhhZCwgMHg4NCwKKyAgMHg1NywgMHgxMSwgMHgzZCwgMHg5YiwgMHhjOSwgMHg1ZiwgMHgzMCwgMHg2NywgMHg5MywgMHg3MywgMHg2ZCwgMHhkYiwKKyAgMHhhMCwgMHhlNiwgMHg2NSwgMHg0MywgMHhiMiwgMHg4NiwgMHg5YiwgMHhkYiwgMHg0MywgMHg2MiwgMHg2NSwgMHhhMSwKKyAgMHhhMSwgMHg4OSwgMHhhNCwgMHgxMywgMHg2MiwgMHhiMCwgMHhlNiwgMHgxMSwgMHg1MiwgMHg5MiwgMHhiMywgMHhlOCwKKyAgMHhkNywgMHhhYywgMHg1YywgMHgzNCwgMHg2ZiwgMHg5OCwgMHhiOSwgMHgxOSwgMHhhOSwgMHg0OCwgMHg4MiwgMHgyZSwKKyAgMHhkYywgMHg3NywgMHhjMywgMHgwYSwgMHhjMCwgMHgyMSwgMHg2ZiwgMHhmMiwgMHgxYSwgMHhhYywgMHhlMSwgMHhhNiwKKyAgMHg1YywgMHhjZCwgMHg4ZCwgMHhhNSwgMHg0MywgMHgwZiwgMHhhYywgMHg5NiwgMHg3OCwgMHhjMSwgMHg3YywgMHg2YSwKKyAgMHhlOSwgMHg3OCwgMHg4MCwgMHhkMSwgMHg1YiwgMHg4OCwgMHg3NiwgMHhiYSwgMHhhMywgMHg5OCwgMHhhOSwgMHg5OSwKKyAgMHg3ZiwgMHgyZSwgMHgwZCwgMHgyOSwgMHhmMSwgMHg3NCwgMHg0NiwgMHg1ZCwgMHgwOSwgMHgwMSwgMHhkZSwgMHgxNywKKyAgMHg1MCwgMHgyMiwgMHhkZCwgMHg3OSwgMHgzMCwgMHhlZCwgMHhiMywgMHhkMywgMHhmMSwgMHgzOSwgMHhlOSwgMHgwMCwKKyAgMHg2NywgMHhlZiwgMHhjZiwgMHhjZCwgMHg0MCwgMHg0NiwgMHgwOSwgMHhhOCwgMHgxYiwgMHg0MywgMHg5NCwgMHhmNCwKKyAgMHg2MiwgMHg5MSwgMHgxMSwgMHgxZCwgMHhkOSwgMHhlYiwgMHg2ZiwgMHg2OCwgMHgyZiwgMHgwNywgMHhhMywgMHg4MiwKKyAgMHg3MiwgMHhhMywgMHg5ZiwgMHhlNCwgMHgzOSwgMHhiMiwgMHg1MSwgMHg0ZSwgMHg1NywgMHg1MCwgMHg0ZCwgMHg3MiwKKyAgMHg5NiwgMHhlMiwgMHhmNiwgMHg5ZCwgMHg2NCwgMHhlYiwgMHhjZiwgMHhkYiwgMHg4NiwgMHg2NiwgMHg4NywgMHhhNSwKKyAgMHhkZCwgMHg5ZCwgMHhlMSwgMHg1MCwgMHg1ZSwgMHgzNSwgMHhkZiwgMHhhZSwgMHhmMywgMHg0NSwgMHgzZSwgMHg0ZiwKKyAgMHgyYiwgMHg2ZiwgMHhlYSwgMHhjYywgMHg1MSwgMHhlOSwgMHg3ZSwgMHg1YSwgMHhiZSwgMHgzMiwgMHgzNSwgMHg1NCwKKyAgMHg4MywgMHg2OSwgMHgzYiwgMHg3MywgMHg5MywgMHhmNiwgMHgxMCwgMHg1YywgMHhjOSwgMHgxZCwgMHhkNSwgMHg4YywKKyAgMHg1NCwgMHgwMiwgMHg2OCwgMHhjZSwgMHhjYiwgMHhkYywgMHg2ZSwgMHgxZCwgMHg5ZCwgMHgxOSwgMHhiMSwgMHhhYiwKKyAgMHhkNiwgMHg0NiwgMHg3NSwgMHhjZiwgMHgyZCwgMHhkOCwgMHgzOCwgMHg5MiwgMHg0OCwgMHg3MCwgMHg2ZCwgMHhkOCwKKyAgMHhhZCwgMHg0YiwgMHgzNiwgMHgyNiwgMHg2OSwgMHhiNSwgMHg5MSwgMHg1OCwgMHg1ZSwgMHhjYywgMHg3NywgMHg5MywKKyAgMHg2ZSwgMHg0OCwgMHg5NSwgMHg1ZCwgMHhhZSwgMHhjYywgMHgwYSwgMHgxMiwgMHhkZSwgMHg1ZCwgMHg1YSwgMHhlOSwKKyAgMHhlZiwgMHhiZCwgMHg5NSwgMHhlYSwgMHgwMCwgMHhjMywgMHgwOSwgMHgzZCwgMHg5MiwgMHhkNywgMHg2YywgMHg4YSwKKyAgMHg1ZSwgMHgxOCwgMHgyYiwgMHg4NiwgMHgyZSwgMHg4ZCwgMHg2YSwgMHhiMSwgMHhkMCwgMHg2OSwgMHg4NCwgMHg2MiwKKyAgMHgyMiwgMHgwNCwgMHhlMywgMHg2OSwgMHhiNywgMHhlNiwgMHhhYSwgMHgzNCwgMHg5OSwgMHg2MSwgMHgzNCwgMHg2MCwKKyAgMHhmZiwgMHhmNCwgMHhlNCwgMHhkMCwgMHgxYywgMHhkOSwgMHg3MCwgMHg1OCwgMHg5YiwgMHhmZCwgMHgyNywgMHgwZCwKKyAgMHg3YywgMHgyOSwgMHg3NiwgMHhmZiwgMHgyOSwgMHgzYywgMHgyYywgMHhkNiwgMHgxOSwgMHg3MywgMHgyYSwgMHg5YSwKKyAgMHgzMCwgMHhjNCwgMHgyNiwgMHhiZiwgMHgwYiwgMHgxNiwgMHg2YSwgMHhkNCwgMHhkNSwgMHgxYiwgMHhmMywgMHhlMSwKKyAgMHhkNCwgMHgxYywgMHg5OSwgMHhiOSwgMHg3MCwgMHg2ZiwgMHg2OCwgMHhhMywgMHhkOCwgMHg5OSwgMHg5MiwgMHg1OCwKKyAgMHhlNSwgMHgxOSwgMHg5NCwgMHg5MSwgMHhkMywgMHhiZCwgMHg0ZiwgMHg5ZCwgMHgzNiwgMHgzMywgMHg5YiwgMHhlNSwKKyAgMHhmNCwgMHg1YiwgMHg3MywgMHhiZiwgMHg4YywgMHg4NCwgMHg1YiwgMHg2NSwgMHhiMCwgMHg0MSwgMHg2NCwgMHg1MywKKyAgMHgxNywgMHg2ZSwgMHgzMywgMHg2MSwgMHhlYSwgMHhkNiwgMHg1NywgMHgyNSwgMHg5OSwgMHg5MiwgMHgxYiwgMHhjYywKKyAgMHg4YiwgMHg4NywgMHhmNCwgMHhhZCwgMHgwZCwgMHhjOCwgMHhmMywgMHg0NSwgMHhhMiwgMHhkZiwgMHg5MiwgMHg0ZiwKKyAgMHg5OSwgMHg3NSwgMHhjYywgMHg3YywgMHhlZCwgMHg2YywgMHg2MCwgMHgwNCwgMHhjZCwgMHg5ZCwgMHg2NywgMHgyYSwKKyAgMHg4MCwgMHg1NywgMHhmMywgMHhkYywgMHgyYiwgMHhhYiwgMHhmMCwgMHgxOCwgMHg5MSwgMHhiYSwgMHgyNCwgMHg3NSwKKyAgMHg0YSwgMHg3OCwgMHgzOCwgMHg4NCwgMHgyMSwgMHhhZSwgMHg2YywgMHhjZCwgMHg1MywgMHgxYiwgMHg5OCwgMHhiZCwKKyAgMHhhNSwgMHgyNywgMHgyZiwgMHhhZiwgMHhmNCwgMHg1MSwgMHg0ZiwgMHhiMCwgMHhhNiwgMHg2NiwgMHg3MSwgMHgyNCwKKyAgMHgxYywgMHhjOCwgMHhlNiwgMHg5ZSwgMHgyOSwgMHhkZiwgMHgyZiwgMHgyYiwgMHg2NiwgMHg2NiwgMHhmMywgMHhkMiwKKyAgMHhkMCwgMHhmMiwgMHgwNiwgMHgyYiwgMHhhZCwgMHgzMiwgMHg2ZCwgMHg5YSwgMHgzNSwgMHhjZCwgMHg5MiwgMHg3NiwKKyAgMHg5YywgMHgxZCwgMHg1MywgMHhhNSwgMHgzZCwgMHgxYiwgMHgzYiwgMHg2OSwgMHhkOSwgMHhhZiwgMHhmYSwgMHhkZSwKKyAgMHhhOSwgMHhiOSwgMHg4ZCwgMHgxYSwgMHg2MywgMHg4ZiwgMHg4YywgMHhlOCwgMHhhYywgMHg4OSwgMHg4ZSwgMHg3NSwKKyAgMHhlNywgMHg0MSwgMHhkZSwgMHg0NiwgMHhkNCwgMHg2ZCwgMHgzNiwgMHg3YywgMHgxZiwgMHg2MSwgMHg2OSwgMHg3NSwKKyAgMHg3NiwgMHhiZSwgMHgwNiwgMHhmOSwgMHg4OCwgMHgyMCwgMHhiMywgMHgyYiwgMHgzMywgMHgyYiwgMHg5YSwgMHhlNSwKKyAgMHgyOSwgMHhlOCwgMHg4NCwgMHg4ZiwgMHgwNiwgMHhjYSwgMHg4OCwgMHhiMywgMHgwYywgMHgyMywgMHg5YSwgMHhmMCwKKyAgMHg1ZCwgMHhkNywgMHhhYywgMHg5YiwgMHhjZiwgMHg3ZCwgMHg5MSwgMHhhNCwgMHg3MywgMHgxYSwgMHg5ZSwgMHg5YSwKKyAgMHhiNSwgMHg5ZiwgMHg2MCwgMHgxZCwgMHhjMywgMHhlYiwgMHg4NCwgMHhhZSwgMHg5ZiwgMHgzMSwgMHgxYywgMHhlOCwKKyAgMHgyZSwgMHgwZSwgMHg0ZiwgMHg0ZiwgMHhhZSwgMHhiZCwgMHg2YiwgMHg0NCwgMHg3NiwgMHg3YywgMHg0MSwgMHg3YSwKKyAgMHhjYSwgMHgwMCwgMHgxZSwgMHg5NCwgMHg0OSwgMHg1OSwgMHgxYSwgMHg4MywgMHhkOSwgMHgyZCwgMHg4ZCwgMHhlNCwKKyAgMHg0MSwgMHg1NiwgMHgxMCwgMHhiNSwgMHhjYiwgMHg4OSwgMHgxYSwgMHg5NiwgMHhiMCwgMHhiNCwgMHhmYywgMHhmNiwKKyAgMHhjZSwgMHgxOCwgMHg0ZCwgMHhlOSwgMHg2NSwgMHg5YSwgMHg1YiwgMHg3YSwgMHg5MywgMHg5YiwgMHgzMSwgMHg0YiwKKyAgMHhmNCwgMHhlMSwgMHhhMiwgMHg5NCwgMHhlNywgMHhlOSwgMHhhOCwgMHg0OCwgMHgwNSwgMHgxMiwgMHhiZSwgMHhiNSwKKyAgMHhhYSwgMHhmOSwgMHhmYSwgMHg5OCwgMHg1NSwgMHgxOSwgMHhjZSwgMHgwMywgMHhkZSwgMHgyMSwgMHhlMywgMHg5MiwKKyAgMHhkYSwgMHhhOCwgMHhjMywgMHg0ZCwgMHhhMCwgMHgyOCwgMHg5MywgMHhjZSwgMHgwOSwgMHhlNiwgMHgwYiwgMHgwZCwKKyAgMHhkMiwgMHg4YywgMHhiOCwgMHgzMSwgMHg0YSwgMHhiZSwgMHgyOSwgMHg2ZiwgMHgzMiwgMHgzOCwgMHgxNywgMHhhMSwKKyAgMHhlMSwgMHhlNywgMHhlNCwgMHgxMSwgMHgzMywgMHhhYSwgMHhlMCwgMHg0ZCwgMHg5NiwgMHgyYywgMHg4YywgMHhlYSwKKyAgMHg2OSwgMHg3NiwgMHgxMywgMHhkYSwgMHgwNywgMHg3ZSwgMHhlNiwgMHgxOSwgMHg4OSwgMHg4NiwgMHhjMiwgMHg2ZiwKKyAgMHg3OCwgMHg5NywgMHhlYywgMHgyYSwgMHhlYywgMHg1MSwgMHg1ZSwgMHhmMCwgMHg5NSwgMHg0OCwgMHhiNiwgMHhhMCwKKyAgMHhkZSwgMHg0YywgMHg2OSwgMHhiNywgMHg5NiwgMHg4ZCwgMHg1YiwgMHg4NSwgMHhkZCwgMHg5MCwgMHg5YiwgMHhiNCwKKyAgMHhmNiwgMHgyZSwgMHg1NywgMHgwNiwgMHgwMywgMHhmNSwgMHhmOSwgMHg2OCwgMHhmNywgMHhjNSwgMHhlOCwgMHhkMSwKKyAgMHhjOCwgMHg5OCwgMHgyMiwgMHhkOSwgMHg3NSwgMHg1ZSwgMHhhZSwgMHg2YSwgMHhmMywgMHg2OSwgMHg5YSwgMHg4NiwKKyAgMHg3YiwgMHgyNywgMHhhMywgMHg1YiwgMHhkOSwgMHg5NCwgMHg5NywgMHg5NywgMHg3MywgMHhkNiwgMHg3OSwgMHg3NiwKKyAgMHhjYSwgMHg4YiwgMHgwYiwgMHhkNiwgMHg3ZCwgMHg4YywgMHhhNiwgMHg2NywgMHhmNSwgMHg2NywgMHhiNiwgMHg4MSwKKyAgMHg2OCwgMHg2NywgMHhlNCwgMHhiYSwgMHgzMSwgMHg0YiwgMHgwZCwgMHgwZCwgMHhlNSwgMHg5MSwgMHg3MywgMHg2MywKKyAgMHgwYywgMHg4NywgMHhlOSwgMHhhNCwgMHg2ZSwgMHhjOCwgMHg5YywgMHgxYSwgMHhhZSwgMHg4YSwgMHhmYywgMHg3NiwKKyAgMHg1OCwgMHg5NywgMHhkMywgMHg4ZiwgMHhlNiwgMHg1MCwgMHg1ZSwgMHgyZSwgMHhkMywgMHhlNiwgMHhlYSwgMHhjZiwKKyAgMHgxZCwgMHgxZiwgMHhmMiwgMHgxNiwgMHhjOSwgMHg5MiwgMHhlZCwgMHgyNCwgMHgzOSwgMHg2NCwgMHhiNSwgMHg5MiwKKyAgMHg3NiwgMHhhMiwgMHhlMiwgMHhmYiwgMHg2NiwgMHg0ZSwgMHg1MywgMHg0NiwgMHg0OSwgMHhkZSwgMHg5YiwgMHg1MSwKKyAgMHgwYywgMHgyZCwgMHgyZiwgMHhjYywgMHhhMSwgMHgyNiwgMHgzYywgMHhkOCwgMHg0MCwgMHg1OSwgMHg2OSwgMHg2NywKKyAgMHgzOCwgMHgzOCwgMHgyNSwgMHhkNSwgMHhhZCwgMHg1NCwgMHg5OCwgMHhhYiwgMHg1MywgMHg1NiwgMHgxZiwgMHg4ZCwKKyAgMHhhMiwgMHhmZCwgMHhkNiwgMHgxOCwgMHg4ZCwgMHhmYiwgMHhmNCwgMHg2ZiwgMHhjMywgMHhjMiwgMHgxYSwgMHg2YywKKyAgMHhiOSwgMHg0OCwgMHg1NiwgMHgzMywgMHgyMywgMHg2NiwgMHhjNiwgMHg2NCwgMHg5NywgMHhhNywgMHg5MywgMHg2MSwKKyAgMHg2NywgMHgzOCwgMHhmOSwgMHhiZSwgMHg3YywgMHgzNCwgMHg1MSwgMHg1YiwgMHg0MywgMHg0OSwgMHgyOSwgMHhkOSwKKyAgMHhmYywgMHhkMiwgMHg1OCwgMHg4MCwgMHg1NywgMHg3YywgMHhlYywgMHgxOCwgMHg5MCwgMHhkNywgMHg2OCwgMHgyOCwKKyAgMHhmNCwgMHhkMiwgMHg1OCwgMHgxMCwgMHg0NSwgMHhkMywgMHgxZCwgMHhlZSwgMHgwYSwgMHhhMiwgMHg5YSwgMHhhNCwKKyAgMHgwYywgMHg5YiwgMHhiYiwgMHgyMCwgMHgxMiwgMHhmMSwgMHgwNSwgMHg1OSwgMHgwYiwgMHg3NCwgMHhmNCwgMHg1OSwKKyAgMHhlNywgMHhiNSwgMHgwMywgMHg3NywgMHhhNiwgMHg0ZiwgMHgxZiwgMHg5YiwgMHgzMywgMHhmNSwgMHgzNywgMHg3YSwKKyAgMHhkZSwgMHgwYywgMHhlYiwgMHhlYiwgMHg2OSwgMHhmMiwgMHgxMiwgMHhkYSwgMHgzNywgMHg5MSwgMHg2OSwgMHg3NCwKKyAgMHg4MywgMHhjNywgMHhkYiwgMHhjOSwgMHhmNywgMHgwNywgMHhlZiwgMHhkZSwgMHgxZSwgMHhiZiwgMHhmZCwgMHg3YSwKKyAgMHg5ZiwgMHgzZiwgMHgyYSwgMHg5NCwgMHg2NiwgMHhmZSwgMHg5NiwgMHhkZCwgMHgxYSwgMHgxMSwgMHg5OCwgMHhkMywKKyAgMHg2NCwgMHg4ZCwgMHgyNCwgMHg0YiwgMHg1ZSwgMHg5NSwgMHg5OCwgMHgxZCwgMHg5ZCwgMHhiNywgMHhmOSwgMHg5ZSwKKyAgMHg5MSwgMHgyMywgMHhkZCwgMHgxZCwgMHg5OSwgMHhhZCwgMHgzYSwgMHhjZSwgMHg2MSwgMHhjYiwgMHhhZCwgMHhkZCwKKyAgMHhhOCwgMHg3YywgMHgzNywgMHg3OSwgMHg4NywgMHg3NSwgMHg4MiwgMHg4NiwgMHgzOSwgMHhiMiwgMHg3ZiwgMHgxOSwKKyAgMHhjYSwgMHhkMiwgMHg4OCwgMHg0NCwgMHgyNSwgMHhhYywgMHg3YywgMHg5ZCwgMHg3NiwgMHg2NywgMHhiOCwgMHg2NSwKKyAgMHg2OSwgMHg2YywgMHg1ZCwgMHgzNiwgMHhmMywgMHhjZCwgMHg3OCwgMHhiNywgMHhlNiwgMHhjZSwgMHhkMCwgMHgxNiwKKyAgMHhlOSwgMHg2MCwgMHg1MywgMHhjMywgMHg4YiwgMHgzMiwgMHhkMSwgMHgxYSwgMHhjMCwgMHhlNywgMHg2MCwgMHgzMywKKyAgMHgwOCwgMHgxZiwgMHgxYiwgMHgyNSwgMHgwNywgMHgxNywgMHhkZCwgMHg1OSwgMHg5MywgMHhlMiwgMHg0MiwgMHgyYSwKKyAgMHhiZCwgMHg4YSwgMHhjMCwgMHg5OSwgMHhkMywgMHg4MiwgMHhkOSwgMHgwZCwgMHhjYywgMHgyMywgMHhlYSwgMHgzMCwKKyAgMHhiNSwgMHgzOSwgMHg5YywgMHg5OSwgMHg4YSwgMHg3OSwgMHhmYSwgMHg0YywgMHg2NywgMHgzOCwgMHhkOCwgMHg5ZCwKKyAgMHhlMCwgMHgzMSwgMHhhNCwgMHgxMSwgMHhlNiwgMHg3NCwgMHg5YSwgMHg2NCwgMHhmNywgMHgxOSwgMHgyZSwgMHhiZCwKKyAgMHgyOCwgMHg2NywgMHgzMCwgMHgyMiwgMHg4MiwgMHhmZCwgMHgxOSwgMHg1YiwgMHg5ZiwgMHhjZiwgMHhjNiwgMHg4NiwKKyAgMHg1YiwgMHg3NSwgMHhiMiwgMHg0NSwgMHgxZSwgMHg0MCwgMHg0MywgMHgwMiwgMHhjNSwgMHg2NSwgMHg3MywgMHhiNSwKKyAgMHhlZCwgMHhiYywgMHgxYSwgMHhhNCwgMHhhMywgMHg5OCwgMHgwNSwgMHhlZiwgMHg5OCwgMHg4OSwgMHg2MCwgMHhkZCwKKyAgMHg0NSwgMHg5NywgMHhjZSwgMHhlMSwgMHg5NywgMHg4NiwgMHhkYSwgMHhmOSwgMHhiNywgMHg1NSwgMHhkZCwgMHhjMCwKKyAgMHgxNCwgMHgxMiwgMHhkOSwgMHhjZiwgMHgyYiwgMHgzMSwgMHgzMywgMHg1YiwgMHg2NCwgMHg4YiwgMHhiMiwgMHhiYSwKKyAgMHgwYiwgMHgyNiwgMHg3MiwgMHgwYywgMHhjZCwgMHg4MywgMHhhYywgMHg0ZSwgMHgzOSwgMHgyZCwgMHgyMiwgMHgwMiwKKyAgMHgwOCwgMHg0NywgMHhmNSwgMHgwYiwgMHg5MiwgMHgwNSwgMHg0MCwgMHg0ZSwgMHg3NywgMHg2YiwgMHgwNCwgMHg0MiwKKyAgMHg2MywgMHgzMiwgMHhkYywgMHhjNywgMHgxOCwgMHhkZiwgMHhjZSwgMHhhMywgMHhhYiwgMHhkNiwgMHgxMywgMHhmYywKKyAgMHgzYywgMHg2YywgMHhkOCwgMHg4YiwgMHgyOSwgMHgzNSwgMHgxMSwgMHgwZiwgMHhjZSwgMHgzYywgMHgyNSwgMHg3NiwKKyAgMHg1MywgMHg2NCwgMHhhZCwgMHhkMywgMHg4MSwgMHhkOCwgMHhlMCwgMHg2NSwgMHhhZCwgMHhhMywgMHhmMywgMHg2NywKKyAgMHg0ZiwgMHg0NiwgMHhiYiwgMHgyZCwgMHgzYSwgMHgyZiwgMHhlZSwgMHgyOCwgMHg4YSwgMHgxMCwgMHg2NywgMHgxZSwKKyAgMHhlNywgMHg0NiwgMHg2MywgMHhhYywgMHg3OSwgMHhiZSwgMHg2NiwgMHgwNywgMHgyZiwgMHhmMiwgMHhjYiwgMHg1NSwKKyAgMHg5NSwgMHhiMSwgMHhlYSwgMHg4NiwgMHhjMCwgMHg4MywgMHhjNiwgMHgxYiwgMHg0OCwgMHgxYiwgMHhiYSwgMHgyYSwKKyAgMHhlMSwgMHhhNiwgMHgzNywgMHg1MiwgMHgzNCwgMHg5YiwgMHg1ZiwgMHgwYywgMHgzYSwgMHhjMywgMHhjMSwgMHg2ZSwKKyAgMHgyMSwgMHhkMiwgMHhjNywgMHhmNCwgMHhjMSwgMHgyZCwgMHg4ZCwgMHg3ZCwgMHg4MiwgMHhjMSwgMHg4YSwgMHg0YywKKyAgMHhiNCwgMHhkNywgMHg4NSwgMHhlMSwgMHgyNCwgMHgwOSwgMHhiOSwgMHhhNCwgMHg5MywgMHhlOSwgMHgzYywgMHhjZCwKKyAgMHgxNywgMHgyMCwgMHg1MSwgMHhmMSwgMHhiNSwgMHg4ZSwgMHg2MiwgMHg1NywgMHg4MiwgMHgyYywgMHgwYiwgMHg3YSwKKyAgMHg3YiwgMHg0MiwgMHgzNiwgMHg2ZiwgMHg1NSwgMHg5MywgMHg0OCwgMHhjNiwgMHg4OSwgMHhhYSwgMHhjYSwgMHhjYywKKyAgMHgxNiwgMHhlNSwgMHg1NSwgMHgzNiwgMHhmZCwgMHhhOCwgMHg1YywgMHg0YiwgMHg3NSwgMHhjZCwgMHgyZSwgMHgwZCwKKyAgMHg1MywgMHgwMCwgMHgwMiwgMHg4NiwgMHhiNSwgMHg3OSwgMHg2YSwgMHg1NSwgMHhkMywgMHgxNSwgMHhhOSwgMHhlYiwKKyAgMHg5YywgMHgzYywgMHg2NywgMHg2NCwgMHgwNywgMHhhZSwgMHhhNiwgMHgzMCwgMHgwZiwgMHg3MSwgMHg1OSwgMHgwYywKKyAgMHg2NSwgMHgyYiwgMHhlYiwgMHg0YiwgMHgwYywgMHgyZiwgMHgyZCwgMHg2NiwgMHhjMywgMHhhNiwgMHhjYSwgMHg5NywKKyAgMHg3ZCwgMHhiMywgMHhlMywgMHg1MywgMHg2OSwgMHg2YiwgMHhhNiwgMHhiNSwgMHg5OCwgMHhlYSwgMHhiMCwgMHg4MiwKKyAgMHhkOSwgMHgyZSwgMHg5ZSwgMHgyNiwgMHg5ZCwgMHhkZCwgMHhlYywgMHgxMiwgMHgyNCwgMHhmNiwgMHg3NiwgMHg0MCwKKyAgMHg4ZSwgMHhhMCwgMHhkYywgMHgyOCwgMHgwYSwgMHg2YywgMHgyNSwgMHhjMSwgMHhkYiwgMHg2OSwgMHg2YywgMHgyMiwKKyAgMHg5MSwgMHg1OCwgMHhjNiwgMHg3YywgMHhjYiwgMHhhNywgMHhkMCwgMHg3ZSwgMHhmMiwgMHhjYiwgMHg4YywgMHgwMiwKKyAgMHgzZCwgMHg0NiwgMHg4OCwgMHgzNSwgMHg3MywgMHhhMywgMHgxMywgMHg4NSwgMHhmNCwgMHg2ZCwgMHg3ZSwgMHg5MywKKyAgMHg1ZCwgMHg5NiwgMHgwZCwgMHhhOSwgMHgyMSwgMHgwMSwgMHg5OSwgMHhiYywgMHgwNywgMHg4MywgMHhiNywgMHgzNCwKKyAgMHhhMSwgMHhmYSwgMHhiZSwgMHhhZiwgMHg4YywgMHhlNSwgMHhhYywgMHg4OCwgMHg5YiwgMHg0ZiwgMHhiMywgMHhiZSwKKyAgMHgyZiwgMHhhZSwgMHg4NiwgMHhiYSwgMHgzMSwgMHhiNywgMHhhYSwgMHg3YiwgMHhlYSwgMHg2NiwgMHhiNCwgMHg2OSwKKyAgMHgwNiwgMHhhMywgMHgwYiwgMHgxYSwgMHhhMywgMHgyYSwgMHhhYywgMHhhYSwgMHhlOSwgMHgxMywgMHgzYiwgMHgyMCwKKyAgMHhlNSwgMHhiOCwgMHhiOSwgMHhjOSwgMHhhNywgMHg5OSwgMHg3YSwgMHhlMiwgMHhjNCwgMHg0NSwgMHgzZCwgMHhjZiwKKyAgMHg0MywgMHgxZSwgMHhiZiwgMHhhMCwgMHhmYiwgMHg2OCwgMHg1ZSwgMHg2MiwgMHg2NSwgMHg5YywgMHhkYywgMHgyNiwKKyAgMHgzNywgMHgzOSwgMHgyOSwgMHhlYiwgMHhjMiwgMHhmMCwgMHhhMCwgMHg4YiwgMHg4OSwgMHgxYywgMHg0OCwgMHhhYiwKKyAgMHgxYywgMHgzZSwgMHgyMiwgMHgzMywgMHg5YywgMHhjYywgMHhkMywgMHgzMywgMHhlNSwgMHhmZCwgMHhmYiwgMHhjNSwKKyAgMHhmMywgMHhjNiwgMHhmYiwgMHg2MiwgMHhiZiwgMHgzOCwgMHhiYiwgMHgwNSwgMHg5NywgMHhlYiwgMHgyMiwgMHhjZCwKKyAgMHhlNywgMHg5MSwgMHg3ZCwgMHgwMiwgMHgxMywgMHhiYiwgMHhjYywgMHhlMCwgMHg0ZSwgMHhlMywgMHgzMywgMHg1OCwKKyAgMHhkMSwgMHhhNiwgMHg1MywgMHg1MCwgMHgyZSwgMHg2NCwgMHg1MCwgMHg1OSwgMHhjNiwgMHg4NiwgMHgwNCwgMHhhYywKKyAgMHg4ZSwgMHhkYiwgMHgzYiwgMHhiYiwgMHhiZCwgMHhkMCwgMHhkNiwgMHhmOCwgMHhlYywgMHhlNCwgMHhlZiwgMHg3YywKKyAgMHg3YywgMHhkZSwgMHhmNSwgMHg0YywgMHg2OSwgMHhkNCwgMHg3NCwgMHg0OSwgMHhkMSwgMHhhNywgMHhlZSwgMHgwZCwKKyAgMHgyNSwgMHg5YiwgMHg4YiwgMHg0MiwgMHg5OCwgMHhkYiwgMHhlYSwgMHgzYywgMHhjZSwgMHhjNCwgMHg3ZCwgMHg2ZSwKKyAgMHgwMywgMHg3ZiwgMHg2MCwgMHg0NiwgMHhjNCwgMHhjZiwgMHhlNCwgMHgwYSwgMHhmMywgMHgzOCwgMHhjMiwgMHg3ZCwKKyAgMHhiYiwgMHg3YywgMHhkYywgMHgwOCwgMHg1NiwgMHgyMywgMHg4NywgMHhjMSwgMHgzZiwgMHg1YiwgMHgxNCwgMHg1YiwKKyAgMHgxYSwgMHhkNiwgMHg2NSwgMHhjMywgMHg0ZiwgMHhlNCwgMHhlYywgMHgxNSwgMHgzZSwgMHgwNywgMHgwYiwgMHgwYiwKKyAgMHg3NywgMHgzNiwgMHhjNiwgMHhjNywgMHhjOSwgMHhlNiwgMHgyMywgMHgwNSwgMHg5OSwgMHgyNSwgMHhjYywgMHgyMCwKKyAgMHg2MSwgMHg4NSwgMHg4ZSwgMHg5OSwgMHhkNSwgMHg5NCwgMHhkZCwgMHhiZiwgMHhhMiwgMHgzYywgMHhiMCwgMHg5OCwKKyAgMHhjMSwgMHg1NCwgMHgyZiwgMHhlNiwgMHhlOSwgMHgyNSwgMHhmYywgMHg2YSwgMHg5NywgMHhkZCwgMHgxYiwgMHg1YSwKKyAgMHg5NCwgMHgxMiwgMHgwNSwgMHhhYywgMHg0YiwgMHhjMywgMHhkYSwgMHg2OSwgMHhkNSwgMHhlMiwgMHhkMywgMHhhYSwKKyAgMHg5MywgMHgyZCwgMHg0MywgMHg2NCwgMHhmMywgMHgxNSwgMHhlNCwgMHhmYywgMHhhOSwgMHg1OSwgMHhkZSwgMHg3OCwKKyAgMHhmYywgMHhjZCwgMHhiNiwgMHhjZiwgMHhkZSwgMHhiMCwgMHhiYiwgMHgwZiwgMHg2MSwgMHg2ZSwgMHhjNCwgMHg5ZCwKKyAgMHg2MCwgMHg3ZCwgMHg3ZiwgMHhjNSwgMHhlNywgMHhkMSwgMHg2NiwgMHg3MCwgMHhkNiwgMHhhYywgMHhmMywgMHg1NSwKKyAgMHgzOCwgMHhhNSwgMHg0YiwgMHg1YSwgMHgwNSwgMHhmOSwgMHg0MCwgMHg0NywgMHhmNiwgMHhlYSwgMHhkMywgMHg5MywKKyAgMHhlYSwgMHg4YSwgMHg2NSwgMHhjMiwgMHg2ZSwgMHg2OSwgMHgwNiwgMHhhYiwgMHg3YSwgMHgwNSwgMHhhZiwgMHgxNCwKKyAgMHg2NCwgMHg3MSwgMHg3NywgMHgzOCwgMHhjMywgMHhlOCwgMHgwZCwgMHgyYiwgMHg1YSwgMHgxNSwgMHhmNCwgMHg1ZiwKKyAgMHhhYiwgMHgzYywgMHhlNywgMHgzMCwgMHhlMywgMHhlOCwgMHgyYywgMHgyYSwgMHhmMiwgMHg3ZSwgMHg5MywgMHgwMSwKKyAgMHg2YywgMHg5NSwgMHg0ZiwgMHhjMywgMHg1MywgMHg3NCwgMHg2YywgMHhkYSwgMHhjYiwgMHhlZSwgMHgyNSwgMHgzNCwKKyAgMHhhYSwgMHgxOSwgMHhkOCwgMHg4ZCwgMHgxMSwgMHg5ZiwgMHg0NiwgMHgyOCwgMHhkMywgMHg4NSwgMHhlYiwgMHhlMSwKKyAgMHhkZSwgMHg1YiwgMHhmNSwgMHhjYSwgMHhmMCwgMHgxNywgMHhiMiwgMHgxOSwgMHg4NCwgMHg3OSwgMHgxMCwgMHgzZCwKKyAgMHg3NiwgMHg2NywgMHhjNywgMHhlYywgMHhjNSwgMHg0OCwgMHgxYSwgMHg4ZiwgMHg4ZiwgMHg2YywgMHhmZiwgMHhkYSwKKyAgMHgxNywgMHgwNCwgMHg4NywgMHhlNiwgMHg5ZiwgMHhhMiwgMHgxMSwgMHhiZCwgMHg5OSwgMHhiMSwgMHhjNCwgMHhhMCwKKyAgMHg4YiwgMHgwNSwgMHg2YSwgMHhkOCwgMHhmOSwgMHhjOSwgMHgzOCwgMHg3NiwgMHg5OCwgMHhlZCwgMHhmMCwgMHgxNCwKKyAgMHhiZCwgMHg0ZiwgMHhjYywgMHg5NiwgMHhmYywgMHg4NywgMHhlYywgMHg0ZiwgMHgyZCwgMHhjOSwgMHgxYSwgMHhmMCwKKyAgMHg0MiwgMHg1NCwgMHhiZSwgMHhhMywgMHg2ZiwgMHg5OSwgMHg1MSwgMHgyYywgMHg4YiwgMHgwZCwgMHg2NSwgMHg4ZSwKKyAgMHg4YywgMHgxMywgMHgwMywgMHgyMywgMHg0MSwgMHg0ZCwgMHg5YSwgMHg4OSwgMHhmNSwgMHg5ZCwgMHgxZSwgMHgxZSwKKyAgMHhmOCwgMHhlMywgMHhjMiwgMHg1OSwgMHhkYSwgMHhiZCwgMHgwOCwgMHhkZSwgMHhlZiwgMHhiNywgMHhlYSwgMHg2ZCwKKyAgMHhjYiwgMHhjMywgMHhjYywgMHgyOCwgMHg2NywgMHg0NywgMHg2ZiwgMHg2MCwgMHhiOCwgMHhhNiwgMHg4NiwgMHg2ZSwKKyAgMHhkZSwgMHhhYSwgMHg5ZiwgMHg1MiwgMHgwMywgMHhkZiwgMHg5MywgMHg1NSwgMHgzZSwgMHg2ZiwgMHgwNSwgMHgwMywKKyAgMHg5YywgMHhhZCwgMHg4ZCwgMHhhOCwgMHgzMywgMHg5MywgMHgxNiwgMHhhNiwgMHhjNiwgMHhjMSwgMHhhZCwgMHgxYywKKyAgMHg3ZSwgMHhlMSwgMHgyZSwgMHhhMSwgMHgzNSwgMHg3NywgMHg0YiwgMHg3MSwgMHg2OSwgMHhhZiwgMHhlYSwgMHg5NiwKKyAgMHhlNywgMHg0OCwgMHhlNSwgMHhmMiwgMHhiYywgMHg4MSwgMHg3YSwgMHg0ZCwgMHgwNiwgMHhhZCwgMHgzNywgMHg2NiwKKyAgMHg3MCwgMHg0MiwgMHg5OCwgMHgxNiwgMHg4OSwgMHg4MSwgMHhjYiwgMHgyMiwgMHhmZiwgMHg4NywgMHhlOCwgMHg5ZiwKKyAgMHg1OSwgMHg3MSwgMHg5ZCwgMHg1NywgMHg2NSwgMHg0MSwgMHhmYSwgMHhhZCwgMHhiMSwgMHg3OSwgMHhhYiwgMHgxYywKKyAgMHg2YywgMHg5OSwgMHg1NCwgMHgyZiwgMHhjMywgMHgzOCwgMHgzNiwgMHgwZiwgMHhkZiwgMHhiZiwgMHgzYiwgMHhmOSwKKyAgMHg3MCwgMHg3OCwgMHhmMCwgMHhlMSwgMHhhYiwgMHhmNywgMHg2ZiwgMHg1ZiwgMHg5ZCwgMHgxYywgMHg2ZCwgMHg3NiwKKyAgMHg4NiwgMHgyMywgMHg2NywgMHg1ZiwgMHgyZSwgMHgxZSwgMHhmYSwgMHg5YSwgMHg0YywgMHgwZSwgMHg1YywgMHgxMiwKKyAgMHgzMywgMHg0NSwgMHgxZSwgMHhmOSwgMHgzMiwgMHhiZiwgMHgzNiwgMHgwYywgMHgwZCwgMHgxNiwgMHgwNCwgMHg5YywKKyAgMHhmMywgMHhmOCwgMHgxYiwgMHhkYywgMHg1OSwgMHhiMiwgMHhlMSwgMHg5ZCwgMHhlMSwgMHgyNiwgMHgyYiwgMHhkMiwKKyAgMHhkMSwgMHg0NiwgMHgyZCwgMHg0ZCwgMHg1OSwgMHhhZiwgMHg4YSwgMHg5OCwgMHhlYiwgMHgzYSwgMHhjMSwgMHg4OCwKKyAgMHg3NiwgMHg0ZCwgMHg1YSwgMHg1NCwgMHgzMSwgMHgyMywgMHhiYiwgMHhjNSwgMHhiMywgMHgwZSwgMHgzZCwgMHgzZiwKKyAgMHhmZCwgMHhhYSwgMHgzMSwgMHhlNiwgMHg5MSwgMHg0NiwgMHgwNiwgMHg4YywgMHhjNiwgMHg1NiwgMHg3ZSwgMHhkNCwKKyAgMHgxNCwgMHgwNCwgMHg2MywgMHg1YiwgMHgxZCwgMHg0NCwgMHg4ZSwgMHhiYiwgMHg3NiwgMHg1YSwgMHhlOCwgMHgyYywKKyAgMHhkOSwgMHhhNCwgMHg5MSwgMHgwYywgMHhmZCwgMHgwZSwgMHg2NSwgMHg5MiwgMHhkMywgMHhhYSwgMHgzMSwgMHg4NiwKKyAgMHg0ZCwgMHg5NiwgMHhlMywgMHg2MiwgMHg2OCwgMHgxMCwgMHg5NSwgMHhmNCwgMHg1NSwgMHg3OCwgMHhlNSwgMHgwMiwKKyAgMHhlZCwgMHhkYSwgMHhlOCwgMHg5OSwgMHhiNCwgMHgwNywgMHhkMCwgMHhlYywgMHhiMywgMHhkYiwgMHgwYywgMHgzNywKKyAgMHg0ZiwgMHhkZSwgMHgzYSwgMHg1YywgMHg1NSwgMHhiOCwgMHhjZCwgMHhkZiwgMHgxYiwgMHg2ZCwgMHg4NCwgMHhiOCwKKyAgMHhkZiwgMHgyYiwgMHhiOCwgMHhmNSwgMHhjYywgMHgwYiwgMHhmYSwgMHg5MCwgMHgxMSwgMHgzMywgMHg1ZCwgMHg5MSwKKyAgMHg1NywgMHhjZSwgMHgyOSwgMHhhYywgMHg5YSwgMHhjMiwgMHg4NSwgMHgwMiwgMHg4NywgMHhkNywgMHhkOSwgMHhjMSwKKyAgMHhmOSwgMHgzNywgMHg1MSwgMHg0NSwgMHhkNiwgMHgyNSwgMHhmZiwgMHgwOCwgMHgyOSwgMHg0MiwgMHgyOSwgMHhhZiwKKyAgMHgxYiwgMHhiOSwgMHgyMCwgMHg2ZiwgMHhjNywgMHhlMywgMHgwNCwgMHhkOSwgMHgyNCwgMHhmMywgMHg3YywgMHg1MiwKKyAgMHhhNSwgMHhmNCwgMHg0ZCwgMHhmYSwgMHgzMSwgMHhmZCwgMHhkNCwgMHg5MCwgMHg3NSwgMHg2NywgMHhiOCwgMHhiMywKKyAgMHg2ZiwgMHgwZiwgMHhjNywgMHhiZiwgMHhkZiwgMHhkZCwgMHgyNSwgMHgwZCwgMHg3ZSwgMHg2NSwgMHhmNiwgMHg2NSwKKyAgMHhjYiwgMHhiYywgMHg1MiwgMHhkNCwgMHhlNiwgMHg2NiwgMHgyZSwgMHg0NiwgMHg3NSwgMHhiOSwgMHgwZCwgMHhiMSwKKyAgMHg1ZCwgMHg4YiwgMHgzYSwgMHg5MCwgMHg1ZSwgMHgxYiwgMHg2OSwgMHgwYiwgMHgzYSwgMHg1MiwgMHhhMiwgMHgzNiwKKyAgMHhjNywgMHgxOSwgMHhlYywgMHgwOSwgMHgxOCwgMHg1ZCwgMHhjOSwgMHgyOSwgMHgzNiwgMHg4NiwgMHg1ZiwgMHgxOCwKKyAgMHg3OSwgMHgzZCwgMHgwZiwgMHg5NSwgMHhmMSwgMHhhZCwgMHhmYywgMHg3NCwgMHgyYywgMHg4OSwgMHgyYSwgMHhlOSwKKyAgMHhkNCwgMHhmYywgMHg5NSwgMHgzYywgMHgwNCwgMHhkYiwgMHhiNCwgMHhiMiwgMHhmNiwgMHgwZCwgMHhkMywgMHg1NSwKKyAgMHg4ZCwgMHg1OSwgMHgxYiwgMHgzZCwgMHgyNywgMHhkMywgMHgwNSwgMHhmOSwgMHgzNSwgMHgyMSwgMHg1NywgMHgyOCwKKyAgMHhiYSwgMHg5NywgMHhjYiwgMHgyNSwgMHgzNCwgMHg4MSwgMHgxYywgMHgyNiwgMHhlOSwgMHhmNCwgMHhlMywgMHg0ZCwKKyAgMHg1YSwgMHhjZCwgMHhkOCwgMHgxNiwgMHgzMiwgMHgxNCwgMHgzMywgMHhjOSwgMHhlNywgMHg3OSwgMHg3MywgMHhjNywKKyAgMHgwNiwgMHg2ZCwgMHhkNywgMHg5OCwgMHhlNiwgMHhkMCwgMHgyOCwgMHg2ZCwgMHhhMCwgMHhiOSwgMHg0NywgMHg5NywKKyAgMHhjNiwgMHhkNiwgMHgyNywgMHhlZCwgMHg5MywgMHhkNCwgMHhmYiwgMHhiYywgMHhmMSwgMHg2ZCwgMHg1OSwgMHhhOCwKKyAgMHg0OCwgMHg4ZCwgMHg1NSwgMHg3MSwgMHhlYywgMHhiNywgMHgwMywgMHhmMSwgMHhkOCwgMHhmMCwgMHgzZCwgMHhjMiwKKyAgMHgzNCwgMHgxZCwgMHhlZCwgMHgyYSwgMHgxYiwgMHhmNCwgMHg5OSwgMHg5NCwgMHg5MiwgMHg0ZiwgMHg1MiwgMHhkZiwKKyAgMHgxOSwgMHgyOSwgMHhiZiwgMHg0OCwgMHgyMiwgMHgyYSwgMHgyMiwgMHg1MiwgMHg4YiwgMHg5MiwgMHg2ZiwgMHhiMywKKyAgMHgzYiwgMHg2MywgMHgzOCwgMHhlNywgMHg4NSwgMHhlMywgMHg5NCwgMHg2YywgMHhkOCwgMHg2NywgMHg2NCwgMHhkOSwKKyAgMHhiMSwgMHgyZSwgMHg5YSwgMHhhYiwgMHgxNywgMHgzZCwgMHg5MywgMHg0MCwgMHgwOCwgMHg0YiwgMHg5MiwgMHhkMCwKKyAgMHg3MywgMHhjMCwgMHhlZiwgMHhhYiwgMHgxZSwgMHg0ZSwgMHg0MywgMHg2YywgMHhkNiwgMHgyZCwgMHg5NiwgMHg4YywKKyAgMHgyZiwgMHg4NSwgMHg4NywgMHgzOCwgMHgzNiwgMHgzZiwgMHgyZiwgMHg4YSwgMHg2YywgMHgyZSwgMHhjNywgMHg3NywKKyAgMHhiZSwgMHhlZSwgMHgwMCwgMHhlYywgMHhiMywgMHg2NiwgMHhjYSwgMHhkZiwgMHhmMywgMHg4ZCwgMHhlZSwgMHgwYywKKyAgMHhmNywgMHg5YywgMHg2MywgMHhmYiwgMHg2OSwgMHhhMywgMHgzMiwgMHg0OSwgMHg1MywgMHg4YSwgMHg4YywgMHg1NSwKKyAgMHhmNCwgMHhjOCwgMHhmZSwgMHg2YSwgMHhkNCwgMHhmYiwgMHg5OSwgMHhlMCwgMHgzNiwgMHg1NSwgMHhlZSwgMHhkMCwKKyAgMHhkYiwgMHg2NywgMHhjZSwgMHhkZSwgMHg1MCwgMHgxYywgMHgzMiwgMHg5ZCwgMHhiMSwgMHgxYywgMHhmMSwgMHg5ZiwKKyAgMHhhYywgMHg2NiwgMHg4NSwgMHhjOCwgMHg0NSwgMHg2NywgMHgzOCwgMHg1ZiwgMHhjYiwgMHg1NiwgMHgxOSwgMHgyNiwKKyAgMHhlYiwgMHhkOCwgMHgzNCwgMHg3YSwgMHg2YSwgMHg1OSwgMHhjMSwgMHg1MSwgMHg1NCwgMHg5NSwgMHhlNiwgMHhhYywKKyAgMHg1YiwgMHhlNywgMHhiOSwgMHhjNSwgMHhjYSwgMHg0NiwgMHhmNywgMHg5YSwgMHgwOCwgMHgzNywgMHhmNywgMHgzNiwKKyAgMHg2NiwgMHgzYiwgMHg3NiwgMHhkMSwgMHgwMywgMHhjZCwgMHgyNCwgMHgzNCwgMHg1NywgMHg3YiwgMHgyZCwgMHhjZSwKKyAgMHhiNiwgMHg4NCwgMHgwNiwgMHg5NywgMHg3ZSwgMHg2OSwgMHhkOCwgMHhkOCwgMHhiZiwgMHgyZSwgMHhhMCwgMHg5OSwKKyAgMHgxOSwgMHg4MiwgMHhmOSwgMHg4NSwgMHgzMiwgMHg0YiwgMHg2OCwgMHhiMSwgMHgyNSwgMHhhOCwgMHhkZiwgMHhhOCwKKyAgMHg0NCwgMHhhNiwgMHg0OSwgMHg1OCwgMHhkZiwgMHhlYiwgMHg5MiwgMHg3MywgMHgwNSwgMHg1OCwgMHg3MSwgMHg2NCwKKyAgMHgyNywgMHg3MiwgMHg2OCwgMHgwNiwgMHg5MCwgMHgxZiwgMHg1MCwgMHg3YywgMHg4ZCwgMHhmYiwgMHgxYiwgMHhjOSwKKyAgMHg1NiwgMHgzNiwgMHhiYSwgMHgzNCwgMHhlMywgMHg2ZCwgMHhkMCwgMHgzOCwgMHhiYiwgMHhmYiwgMHhmNCwgMHhlNywKKyAgMHgxZSwgMHhmZSwgMHg3YywgMHhiYywgMHhhMSwgMHg5OSwgMHg3ZiwgMHhmZSwgMHhkNiwgMHg5MywgMHgzNCwgMHhlZiwKKyAgMHhjYSwgMHgyMiwgMHgwZSwgMHhjNCwgMHgzOSwgMHhlMSwgMHgzZSwgMHg2MCwgMHhlNywgMHg3MiwgMHgxZiwgMHhlMywKKyAgMHg2MSwgMHg5ZCwgMHhmNSwgMHg4NCwgMHg3NywgMHgzOSwgMHg1NCwgMHhiNywgMHg3NCwgMHgxYiwgMHgxNiwgMHhlYywKKyAgMHg4YiwgMHhiOCwgMHhjZSwgMHhkOCwgMHgxOSwgMHg2MiwgMHg1NiwgMHgzNiwgMHgzNSwgMHhlYSwgMHgyMSwgMHhmYywKKyAgMHg4NywgMHg3YSwgMHhhYiwgMHhhNiwgMHgxZiwgMHhhYSwgMHhlYywgMHgyYSwgMHhhZCwgMHhhZiwgMHg5MiwgMHg1NSwKKyAgMHhjMywgMHg0NCwgMHg2OCwgMHhlOCwgMHhiNiwgMHgzYiwgMHhkYywgMHg3MiwgMHg5ZSwgMHgzYiwgMHgxNywgMHg5YiwKKyAgMHg3YywgMHg3YSwgMHhhNCwgMHg3NiwgMHg5ZiwgMHgzYiwgMHg0NSwgMHgwZSwgMHg3ZCwgMHhjYywgMHhjYiwgMHgxYiwKKyAgMHg3ZCwgMHg2NiwgMHgyOCwgMHg4OSwgMHg3OCwgMHgzMSwgMHhiNSwgMHhjMCwgMHg5YywgMHgyNiwgMHg3YywgMHgyNiwKKyAgMHhmNCwgMHg5OCwgMHgxZiwgMHhjMiwgMHg1ZSwgMHg5MCwgMHgzNiwgMHg0OSwgMHg1OSwgMHg4MiwgMHg4NiwgMHhjNSwKKyAgMHg1ZCwgMHg5OCwgMHgxZCwgMHgyMywgMHg4YiwgMHg2ZSwgMHg4ZSwgMHg3MywgMHgyMywgMHhkYiwgMHgxNSwgMHhmMywKKyAgMHgwZSwgMHg0YywgMHg1MywgMHhkMSwgMHhmMywgMHhmMiwgMHgwYiwgMHg3MSwgMHhkYiwgMHhjYSwgMHhiZiwgMHgyMSwKKyAgMHg0ZiwgMHg0NSwgMHhmYiwgMHhhYSwgMHgzOSwgMHhjYywgMHhkZCwgMHg1NSwgMHhiZCwgMHhlZSwgMHgyNywgMHg2ZCwKKyAgMHg2NSwgMHg5MCwgMHg1NiwgMHhkMywgMHg5MSwgMHhjNSwgMHg3MiwgMHhhNCwgMHg0NCwgMHhlOSwgMHgzYSwgMHhiZiwKKyAgMHg4NCwgMHhhZCwgMHgxMSwgMHg3MywgMHg2MCwgMHhiMCwgMHg0MywgMHhlYSwgMHg1ZiwgMHhiYSwgMHgyNCwgMHg2NiwKKyAgMHhjNiwgMHg0MywgMHg3MiwgMHg5NCwgMHhhZSwgMHhlYSwgMHgwNywgMHhkYywgMHgxMSwgMHg4ZiwgMHhlOSwgMHhmMiwKKyAgMHgzYiwgMHhkNiwgMHg1MSwgMHhjYywgMHhlMSwgMHg3YywgMHg3ZiwgMHgwMywgMHhiYSwgMHg1NCwgMHg3OCwgMHhlNywKKyAgMHgxMSwgMHhjNiwgMHhhMSwgMHg3NywgMHhiMywgMHhjNiwgMHgzYywgMHhkMCwgMHgzYiwgMHg3MSwgMHg5MSwgMHg2YywKKyAgMHhhNSwgMHgxZiwgMHhkMywgMHg1MSwgMHg3MiwgMHg3YSwgMHgzOCwgMHgzZSwgMHhhMywgMHg0ZiwgMHgxOCwgMHhlYSwKKyAgMHgyOCwgMHgyZSwgMHhjZCwgMHgyYywgMHg0ZSwgMHhjNiwgMHg5ZCwgMHhlMSwgMHhiMiwgMHhkYiwgMHgyNiwgMHgyYiwKKyAgMHhlYSwgMHg5OCwgMHg3MywgMHgzMiwgMHhkYywgMHg2NiwgMHgwZCwgMHgxZiwgMHg2OCwgMHg2NiwgMHg4ZCwgMHg0YywKKyAgMHhkNiwgMHg1OCwgMHhmYSwgMHgwOCwgMHg4OCwgMHg1MywgMHg3YywgMHg5NywgMHg5MiwgMHgyZiwgMHgxMiwgMHhiZSwKKyAgMHg2YSwgMHhjMSwgMHg4NywgMHg5NiwgMHhlNiwgMHhlNiwgMHhjZiwgMHhiNiwgMHhhZCwgMHhhYiwgMHg2NiwgMHhhMCwKKyAgMHhiNCwgMHg2MCwgMHhlMywgMHg4NCwgMHhmNSwgMHhlYSwgMHg5MiwgMHg2YywgMHg5MCwgMHg1YSwgMHhlZCwgMHg0NiwKKyAgMHhmYiwgMHgwNSwgMHhiMywgMHgxYiwgMHhhMSwgMHhhYSwgMHgyMCwgMHhjYiwgMHhiNiwgMHg1ZSwgMHg0NCwgMHg2MywKKyAgMHgzNSwgMHg1MSwgMHgxMiwgMHgxNSwgMHg1NCwgMHhhNCwgMHhhMiwgMHg3NCwgMHhhMywgMHg1MiwgMHgxYSwgMHgwNSwKKyAgMHg1MiwgMHg0YSwgMHg3MywgMHg0NCwgMHhkNiwgMHhhNiwgMHg5OSwgMHg1MSwgMHg0MSwgMHg2NywgMHgxMSwgMHgyNSwKKyAgMHg4MCwgMHgwZiwgMHg0NSwgMHgwZCwgMHhhNywgMHgwYiwgMHg0OSwgMHgyMywgMHg4ZCwgMHhmOCwgMHg3ZiwgMHgzMCwKKyAgMHhkMCwgMHg5NCwgMHg1NSwgMHgzNCwgMHhhMiwgMHg3YSwgMHg0NCwgMHgyOCwgMHg3MiwgMHhmMiwgMHg5MSwgMHg5MiwKKyAgMHhjMiwgMHhjYywgMHhhNiwgMHgzYSwgMHg4ZCwgMHg2NywgMHhlZiwgMHhmZiwgMHhkNywgMHhjNSwgMHhjYSwgMHg2YywKKyAgMHg3YywgMHg0NCwgMHgxYSwgMHg5MywgMHg1MiwgMHg0NSwgMHg2MiwgMHg4NiwgMHgzNiwgMHg3MCwgMHg5ZCwgMHg2MywKKyAgMHhlZiwgMHhjOSwgMHg2ZSwgMHhkYiwgMHg4MSwgMHgwZCwgMHg2MiwgMHgzMywgMHgwNiwgMHg0MCwgMHg5NiwgMHhiYywKKyAgMHhhNCwgMHgzZiwgMHhlZiwgMHhlNSwgMHhjYSwgMHhjOCwgMHg1OSwgMHhjMSwgMHhmMywgMHgxMiwgMHhlOCwgMHg2NCwKKyAgMHhkZSwgMHgyOSwgMHhiZSwgMHg5OCwgMHhhNCwgMHhjZCwgMHhhMCwgMHgwMywgMHhlOSwgMHgwNSwgMHg3MiwgMHgxYiwKKyAgMHgxMSwgMHhkZiwgMHgxYiwgMHgyNCwgMHhhZiwgMHgyOCwgMHg3NSwgMHhmYiwgMHhlOCwgMHhlZCwgMHhkNywgMHhhMCwKKyAgMHg4MSwgMHhiMywgMHhkZCwgMHgzZCwgMHg4NCwgMHg5NSwgMHhhYywgMHhmNSwgMHgzMCwgMHhjMywgMHg0NywgMHg2YSwKKyAgMHg3NiwgMHgyNCwgMHg3MCwgMHg1OCwgMHgzOCwgMHg1NCwgMHg3YywgMHgyMSwgMHgxMywgMHgwNiwgMHg2MCwgMHhhMywKKyAgMHgxNCwgMHgwZiwgMHg0NCwgMHhkYSwgMHhkMCwgMHhlYywgMHhkMywgMHhjOSwgMHhhZiwgMHhjMCwgMHgxMCwgMHgzZCwKKyAgMHgxYSwgMHhjOCwgMHgwZSwgMHg4YSwgMHg2MywgMHhlNiwgMHg2MywgMHg3NiwgMHhlNywgMHhmZSwgMHg4NiwgMHg1ZCwKKyAgMHhmNSwgMHhiNiwgMHhkYSwgMHgzZCwgMHhmYywgMHhkMiwgMHhkYiwgMHhhNCwgMHhiZiwgMHhlZSwgMHg1MywgMHg2YSwKKyAgMHg5MiwgMHhkMSwgMHg1MiwgMHg2NywgMHgzZiwgMHhmZCwgMHgzMiwgMHg4OSwgMHgxOCwgMHhkZiwgMHhmOSwgMHg4OCwKKyAgMHhiMywgMHgwNSwgMHg3ZSwgMHgyZSwgMHg0ZCwgMHgwMiwgMHhlMiwgMHg5OCwgMHgzZiwgMHhiMywgMHg3OCwgMHg0OSwKKyAgMHg5YywgMHhhNywgMHg5YywgMHg3YSwgMHgyMiwgMHhmOCwgMHhiNCwgMHhiMCwgMHgyYSwgMHhjOSwgMHg5MCwgMHgzMywKKyAgMHhiZiwgMHg5MCwgMHgwOSwgMHhkNiwgMHhkZCwgMHhmYiwgMHg2OSwgMHgzOSwgMHgwZiwgMHg2NCwgMHg1ZCwgMHhjYiwKKyAgMHg3MCwgMHg4NSwgMHgzZSwgMHhiZiwgMHgyNywgMHhmMiwgMHgwZCwgMHhjNiwgMHgxYywgMHgzMywgMHgxYiwgMHhkMSwKKyAgMHhhMiwgMHhiYiwgMHhkNywgMHhjMSwgMHhlYSwgMHhkNCwgMHg1MCwgMHhiZiwgMHg5YywgMHg2NCwgMHhhNCwgMHgzNywKKyAgMHhmOSwgMHg0NSwgMHhjNCwgMHhiNywgMHgzMSwgMHgzNSwgMHhkNiwgMHg5NCwgMHg0NiwgMHg4OSwgMHhkMywgMHg3OCwKKyAgMHg2MywgMHhlYSwgMHhiZiwgMHgzOSwgMHg1YiwgMHhkZCwgMHg1YiwgMHg3MywgMHhlOCwgMHhlNCwgMHg2NywgMHhiMiwKKyAgMHhiYiwgMHgzNiwgMHhmMCwgMHgzZCwgMHg0ZCwgMHg4NiwgMHhjOSwgMHg1NSwgMHhiOSwgMHhlYSwgMHhlNywgMHg5MiwKKyAgMHg0YiwgMHgxYSwgMHhjNiwgMHgyZiwgMHgzOCwgMHhkNSwgMHg0MCwgMHhiYywgMHg1MSwgMHg5MiwgMHg1MiwgMHhkNSwKKyAgMHhmMiwgMHhlMywgMHgzMywgMHhmOSwgMHg5MSwgMHgyNSwgMHhiYSwgMHhlMSwgMHg2ZCwgMHhjOSwgMHg0NiwgMHhlYywKKyAgMHgyOCwgMHgxYSwgMHg4ZSwgMHg3YSwgMHhjYSwgMHgxNSwgMHhjYSwgMHhhZiwgMHg2OSwgMHhlYiwgMHg5NCwgMHg3NiwKKyAgMHg5YywgMHg2MywgMHhiMywgMHhhZCwgMHhmYSwgMHg5NiwgMHgwNSwgMHhmZCwgMHhiNywgMHgyMCwgMHg5ZiwgMHhkOCwKKyAgMHhlZiwgMHgyMiwgMHgwNCwgMHgxOSwgMHhhNSwgMHg0NSwgMHhmMiwgMHg4ZCwgMHg0YiwgMHhkYywgMHgwMywgMHgwYSwKKyAgMHgwYywgMHhlNSwgMHgzZiwgMHg0YSwgMHg4YSwgMHhmYSwgMHhmYywgMHhlZSwgMHg0MSwgMHgwNiwgMHg5ZCwgMHgyYSwKKyAgMHgyMCwgMHg2YSwgMHhiNywgMHg3OSwgMHhjNiwgMHg1YywgMHg2MCwgMHhlZCwgMHg3NCwgMHgwOSwgMHhjNCwgMHhiMCwKKyAgMHhmMSwgMHg4NiwgMHg3MiwgMHg0OSwgMHg5OCwgMHg3NiwgMHhjOSwgMHhmNywgMHg5YSwgMHg0ZiwgMHgzZiwgMHgyMiwKKyAgMHhlYSwgMHgyMiwgMHgxMiwgMHhjYSwgMHg1ZiwgMHg5ZiwgMHgyNiwgMHhlYywgMHg3MSwgMHhiMiwgMHg2OSwgMHhlNCwKKyAgMHgwOCwgMHg2MCwgMHg0YiwgMHg5MiwgMHg1MywgMHg5OCwgMHg2OCwgMHg5MiwgMHhhNCwgMHg3MywgMHg1ZSwgMHhiMCwKKyAgMHhjZSwgMHhkNiwgMHhlYiwgMHg2NSwgMHgzMCwgMHg3MywgMHhmZCwgMHhmMCwgMHhlYSwgMHhmOCwgMHg1ZCwgMHhiMiwKKyAgMHg0NSwgMHgxYSwgMHg3OCwgMHhkNywgMHhjOCwgMHg1NSwgMHhmMSwgMHhiZSwgMHg5MywgMHgzNSwgMHhkMywgMHg5ZCwKKyAgMHhlNSwgMHhjNywgMHg3YywgMHhjNywgMHgxOCwgMHg5YiwgMHhiMywgMHhjOSwgMHhiNiwgMHgzNSwgMHhhMiwgMHhmMCwKKyAgMHgzOSwgMHhhMiwgMHg0MiwgMHg2YiwgMHg5OCwgMHhhYSwgMHg2NSwgMHgwYSwgMHhkMywgMHgzNCwgMHg3MCwgMHgzZCwKKyAgMHgzYSwgMHg1MywgMHg5NSwgMHg2YiwgMHg2MSwgMHhhYywgMHg4ZCwgMHhjYSwgMHhkYiwgMHhjNCwgMHgwNCwgMHg4ZCwKKyAgMHhmMCwgMHgwYywgMHhhNywgMHg0NSwgMHgyMCwgMHhhOCwgMHg5MywgMHhiMSwgMHg1ZiwgMHhkYSwgMHhkOCwgMHhkOCwKKyAgMHhkZCwgMHhiYiwgMHhjYSwgMHg2OSwgMHg4ZiwgMHhlMiwgMHhjOCwgMHg2MSwgMHgwNywgMHg4ZSwgMHhlNiwgMHhlYSwKKyAgMHg4OSwgMHhiOCwgMHg3MCwgMHhkYSwgMHhlZiwgMHg4MCwgMHhiMiwgMHgyYywgMHg2OSwgMHg1MywgMHg5NiwgMHgyNCwKKyAgMHg5MiwgMHg2NiwgMHhlNCwgMHgwNiwgMHhlYywgMHgwZSwgMHgwNywgMHg0ZCwgMHg2ZSwgMHg2MywgMHhiNCwgMHhiMywKKyAgMHg5MSwgMHhkOCwgMHhiYywgMHg1MiwgMHhiMywgMHhjYiwgMHg5YywgMHgzZSwgMHg2ZCwgMHg4MywgMHg1ZSwgMHg4NiwKKyAgMHhjNCwgMHgyZSwgMHg1NiwgMHhiNSwgMHhmNSwgMHg2MywgMHhhNiwgMHhmNiwgMHhiYywgMHg0NiwgMHgzMSwgMHg4NiwKKyAgMHhlYSwgMHgxZCwgMHhhNywgMHhkNSwgMHhiOSwgMHg4YywgMHg2ZSwgMHg4YywgMHg5YiwgMHhlNSwgMHg1YiwgMHhlYiwKKyAgMHgzMiwgMHgyOSwgMHgxYywgMHhkNSwgMHhjNiwgMHg4ZiwgMHgxYiwgMHg4OSwgMHg5NywgMHg5NywgMHhkOCwgMHg0YSwKKyAgMHg0ZiwgMHhjYywgMHg1ZCwgMHhlNiwgMHg5MCwgMHgyNywgMHgwNCwgMHg4YywgMHg0NCwgMHhiNiwgMHg3NywgMHg3OCwKKyAgMHg5NiwgMHhjZCwgMHhmMywgMHg0NSwgMHgwZSwgMHhkYiwgMHhjYiwgMHg5ZiwgMHhjMiwgMHgzMCwgMHgxNiwgMHgxYywKKyAgMHg3NCwgMHg1MywgMHhmYSwgMHgzMSwgMHg5YywgMHg5MiwgMHg2NiwgMHhmYiwgMHhhNiwgMHhmNCwgMHg2YiwgMHgzMywKKyAgMHgyNSwgMHg3OCwgMHhjNCwgMHgzOCwgMHgxNSwgMHgzMywgMHg2ZSwgMHgzNSwgMHhiNywgMHgyNywgMHg2NCwgMHhmMywKKyAgMHg4NSwgMHhkNywgMHg4NCwgMHg4YywgMHhlZCwgMHg1ZCwgMHhlYSwgMHg1MywgMHhlNSwgMHg5ZCwgMHg0YiwgMHg0NCwKKyAgMHgyZiwgMHgzZCwgMHgzMywgMHhiNSwgMHg2NCwgMHhmOSwgMHg3MSwgMHg1YSwgMHhlZiwgMHhlZSwgMHg3NiwgMHgwNSwKKyAgMHg1ZCwgMHhlZCwgMHgyOCwgMHg0YSwgMHhlYywgMHhmNywgMHhkNCwgMHgxMiwgMHhlNiwgMHhmYiwgMHg3NywgMHhjNywKKyAgMHhjOSwgMHgxNiwgMHg1NSwgMHg5MCwgMHgzYywgMHg3ZiwgMHhiYSwgMHhiYiwgMHhiNywgMHhlZCwgMHhhNywgMHg5NCwKKyAgMHgyOCwgMHgwMywgMHgwOCwgMHhlNSwgMHhlNiwgMHgxZCwgMHg4NywgMHg2MywgMHhiZCwgMHgwYiwgMHgzOCwgMHgyZiwKKyAgMHhhNywgMHhhOSwgMHg2OCwgMHgxYywgMHg2ZSwgMHhlOCwgMHg1OSwgMHg3NiwgMHg5ZCwgMHg0ZiwgMHhhOSwgMHg4MCwKKyAgMHg4NywgMHgyMiwgMHhmMSwgMHhjNCwgMHg4MywgMHgyNywgMHg5OSwgMHg5OSwgMHg2NCwgMHhiMCwgMHhlMywgMHgyZSwKKyAgMHg5NSwgMHg5NywgMHg2NywgMHg2ZiwgMHg0YywgMHgyNCwgMHhhYiwgMHgyOSwgMHg1MywgMHhjYSwgMHhiNCwgMHhhMSwKKyAgMHg4MSwgMHg0NiwgMHhmNiwgMHhjZSwgMHg5ZiwgMHhiNSwgMHg0NCwgMHgwOSwgMHhkMiwgMHgxZSwgMHg0ZiwgMHgxMCwKKyAgMHhhZCwgMHg4YiwgMHhjYiwgMHg2YiwgMHhhMCwgMHg2MywgMHgwYywgMHg1YywgMHhlMCwgMHg2NywgMHgzOCwgMHg5NCwKKyAgMHhjZCwgMHgxMiwgMHhkNiwgMHg2YiwgMHhlMywgMHhjNiwgMHg5NCwgMHg3YSwgMHhkMiwgMHgzZCwgMHg0MCwgMHg5OSwKKyAgMHhkMywgMHgwNiwgMHgwOSwgMHg5MiwgMHgwMiwgMHhjMiwgMHgzZCwgMHg3NSwgMHg4MywgMHhkYSwgMHhkZCwgMHhmNywKKyAgMHgzNSwgMHhhMSwgMHhmNiwgMHhhOCwgMHhhMSwgMHhhNywgMHgxYywgMHg4NCwgMHg2MywgMHgzNCwgMHg5NywgMHhmOCwKKyAgMHg5MCwgMHhiZiwgMHg5MSwgMHg5MywgMHhhOSwgMHhjZCwgMHgzZSwgMHhlNSwgMHg3OCwgMHhlOCwgMHhlYywgMHhjNSwKKyAgMHg2YiwgMHgzOCwgMHg2MSwgMHg0NSwgMHg0MSwgMHhmOSwgMHg2ZCwgMHhhYSwgMHg4ZiwgMHgwNywgMHg3MiwgMHhkYywKKyAgMHhiYywgMHhiZSwgMHhhMywgMHg0MiwgMHgwOCwgMHg1MiwgMHg0OCwgMHhmZCwgMHg4ZCwgMHhlYywgMHhmOSwgMHgzMSwKKyAgMHhjYywgMHgxMywgMHg5ZSwgMHg5ZSwgMHg4ZiwgMHhlMiwgMHhlOCwgMHg4MSwgMHg1MiwgMHg2YywgMHg3MywgMHgzNywKKyAgMHg0MiwgMHg1ZiwgMHhiMSwgMHgwYSwgMHg3ZSwgMHg3MywgMHg0NCwgMHhkMywgMHg3MiwgMHhkNiwgMHgzMSwgMHhkOSwKKyAgMHg2OSwgMHgxMywgMHgzYywgMHg4MSwgMHgwNywgMHhlZSwgMHhjNywgMHhhMSwgMHg0YSwgMHg3MCwgMHhiYywgMHhiOCwKKyAgMHgyNywgMHg5YiwgMHgyOCwgMHg5NSwgMHhkZCwgMHhlYiwgMHgzZiwgMHg4YiwgMHgwNywgMHhjNiwgMHgzYywgMHg2YSwKKyAgMHg2MCwgMHg4MSwgMHhiZiwgMHg4OCwgMHgwMywgMHhkZSwgMHhlMywgMHg3MywgMHgzYSwgMHgwYywgMHgyNCwgMHg3NiwKKyAgMHg2ZCwgMHg5NSwgMHgyMSwgMHhhNywgMHhhYiwgMHg1MSwgMHg5NiwgMHg3OCwgMHg4MiwgMHg4ZCwgMHgwYiwgMHgyZCwKKyAgMHgxYSwgMHhjYSwgMHgxNywgMHg0NCwgMHgzYSwgMHgwMCwgMHgyNSwgMHg3YiwgMHg3NSwgMHhlZSwgMHgyNiwgMHgzYiwKKyAgMHg3NiwgMHhjYywgMHg3NSwgMHhkOSwgMHgzYSwgMHhlMSwgMHgyMCwgMHg2NSwgMHg3MiwgMHhmNiwgMHhmYSwgMHgwNywKKyAgMHhlNSwgMHg5NiwgMHgzMSwgMHgwMywgMHgxZSwgMHg4ZSwgMHhhOCwgMHgzZiwgMHhkOSwgMHhiNCwgMHgzMCwgMHg2MywKKyAgMHg1MSwgMHg1MCwgMHg4YSwgMHg1YSwgMHgyZSwgMHhlOSwgMHg5ZSwgMHhlYywgMHgyNiwgMHg0MiwgMHgzOCwgMHg3YywKKyAgMHhkYiwgMHg2NSwgMHgzMSwgMHhkMiwgMHg1NiwgMHg2ZiwgMHhiYywgMHhjNCwgMHhlZiwgMHhiYSwgMHhiMSwgMHhhNiwKKyAgMHg5MiwgMHgyZCwgMHg5OSwgMHgzZiwgMHhmZiwgMHhjOCwgMHhiZiwgMHg2NiwgMHgxZSwgMHg2YiwgMHhmZSwgMHhkNSwKKyAgMHg1YywgMHhhZCwgMHgxNiwgMHgxMywgMHg3MywgMHg5ZSwgMHg0NSwgMHhmMywgMHhlNywgMHg4ZCwgMHg4NCwgMHg4MywKKyAgMHhhZCwgMHgxNywgMHhiMiwgMHg5ZiwgMHg2YiwgMHhjYywgMHhjZSwgMHg1YywgMHhjYiwgMHg3NSwgMHhkNCwgMHhiNywKKyAgMHhkOCwgMHhkYSwgMHgzNSwgMHg5ZSwgMHg5ZCwgMHgxNiwgMHgwZCwgMHhiOCwgMHhjNCwgMHgzYywgMHg3MywgMHg3OCwKKyAgMHhlYywgMHhjYiwgMHgwZSwgMHg1NCwgMHhiZCwgMHhmNywgMHg4NiwgMHgzYywgMHg3ZiwgMHg3YywgMHhmMywgMHg5NywKKyAgMHgxZiwgMHg1ZiwgMHgzYywgMHg3ZSwgMHg5MiwgMHgzZSwgMHg0ZiwgMHhhNywgMHhjZiwgMHgyZSwgMHgzZSwgMHg0ZiwKKyAgMHg5ZiwgMHhjZSwgMHg5ZSwgMHgzZSwgMHg3ZiwgMHhiMSwgMHhmNywgMHhmOSwgMHhkMywgMHhmNCwgMHhmOSwgMHg5MywKKyAgMHg4YiwgMHhmNCwgMHhkOSwgMHg2ZSwgMHhiNiwgMHhmYiwgMHhlMiwgMHg2MiwgMHhlZiwgMHhmMSwgMHg2YywgMHg3NiwKKyAgMHg5MSwgMHg3ZCwgMHgzZSwgMHg3YiwgMHg5ZSwgMHg2ZSwgMHg4YywgMHg2MCwgMHg3ZSwgMHhlOSwgMHhkNCwgMHg0MywKKyAgMHg1NiwgMHhhYiwgMHg4MSwgMHhiNywgMHgzNCwgMHgxOSwgMHg3ZiwgMHg3MywgMHgzMCwgMHhkYywgMHg0ZCwgMHhhZSwKKyAgMHhiMiwgMHg1YiwgMHhiZCwgMHg2MCwgMHhlYywgMHhkMSwgMHhiNCwgMHhlOSwgMHg3NiwgMHg5OSwgMHgyNCwgMHg1NCwKKyAgMHhmNywgMHgyZiwgMHg1NiwgMHhhYiwgMHgwOCwgMHgyOSwgMHg1ZCwgMHg5YSwgMHg3YywgMHgyNSwgMHhkMCwgMHg4MCwKKyAgMHg3OSwgMHgxNywgMHg3NSwgMHg1YiwgMHgzOSwgMHhhMSwgMHhjZSwgMHhmYSwgMHgwZiwgMHhmNywgMHhkNSwgMHg2NywKKyAgMHg0ZiwgMHhlYiwgMHhlYSwgMHg1ZSwgMHhmZSwgMHgxMywgMHhmMywgMHhjZSwgMHhmYywgMHg0ZCwgMHgzYSwgMHgzNSwKKyAgMHg0YSwgMHg5MiwgMHhkOSwgMHgxMywgMHg3OSwgMHg3MCwgMHg2YywgMHg0YywgMHg1YiwgMHhjMywgMHhhNiwgMHgwNywKKyAgMHg4OSwgMHhmYywgMHg4NSwgMHhiYywgMHhjNCwgMHhkZSwgMHgxOCwgMHg1ZiwgMHg1NywgMHhlNSwgMHg2YSwgMHg3OSwKKyAgMHg1NiwgMHhjZSwgMHhmMywgMHhlOSwgMHhkZCwgMHhiYSwgMHhlMSwgMHhmYywgMHhjNywgMHg1YSwgMHhiZiwgMHgzOCwKKyAgMHg2MiwgMHgxNiwgMHg5ZSwgMHhkNywgMHhkOSwgMHg2ZiwgMHg2OCwgMHg1YSwgMHg3OSwgMHhlYywgMHhmOCwgMHgwMSwKKyAgMHhiNiwgMHhkNSwgMHg3MCwgMHg5YSwgMHgyZiwgMHhhZiwgMHgyOCwgMHhjZSwgMHhmYiwgMHgxMiwgMHhlOSwgMHg3ZCwKKyAgMHgxNCwgMHg5YSwgMHhlMSwgMHgxZiwgMHhjNCwgMHg2ZCwgMHhhYSwgMHhiMSwgMHhkYywgMHhjOCwgMHg1YSwgMHhjZSwKKyAgMHg1MywgMHhkZiwgMHgxNiwgMHg4ZCwgMHgyYiwgMHhkNywgMHgwYSwgMHgzOCwgMHg3NSwgMHg1MywgMHg0OSwgMHg0YSwKKyAgMHg2OSwgMHgxZSwgMHhmOCwgMHhmMSwgMHhkYywgMHg4NywgMHhmOCwgMHhiNiwgMHhhYiwgMHhiNiwgMHhjZCwgMHhjZSwKKyAgMHgwYiwgMHhmOSwgMHhkNSwgMHgyOCwgMHg3OSwgMHg4NywgMHgzOCwgMHhmOSwgMHg2YSwgMHhjOSwgMHhlNiwgMHgwNSwKKyAgMHhmYywgMHhmOSwgMHhmYywgMHhiYiwgMHhlZSwgMHg0NSwgMHhhMywgMHhjOSwgMHgwYiwgMHhjNSwgMHg3MCwgMHgxZCwKKyAgMHg5ZSwgMHhkOSwgMHhkMSwgMHhmNywgMHhlZiwgMHg0ZSwgMHhmNiwgMHhiYiwgMHhmYiwgMHg5NCwgMHg1MCwgMHg5OSwKKyAgMHg1MSwgMHhiZCwgMHhiZiwgMHhiMywgMHg4MywgMHg5MCwgMHhjZiwgMHg1NSwgMHg3YSwgMHg3YiwgMHgzYiwgMHhhYSwKKyAgMHhiMywgMHg5ZCwgMHg1OSwgMHgzOSwgMHhhZCwgMHg3NywgMHhlYSwgMHg3YSwgMHhhZSwgMHhiYiwgMHg4MSwgMHhkYSwKKyAgMHhiZiwgMHg0ZiwgMHhlOSwgMHhjZCwgMHgyZCwgMHgxNywgMHg2MCwgMHg1YiwgMHhkOSwgMHg2YywgMHg1OCwgMHhkNywKKyAgMHg0MSwgMHg2ZSwgMHhkMCwgMHhmOCwgMHg1MCwgMHgzMywgMHgwZiwgMHg4ZSwgMHgyNCwgMHgxZiwgMHgwZCwgMHg3MiwKKyAgMHg2ZSwgMHg2OCwgMHg3NiwgMHg3NywgMHgzYywgMHhmZSwgMHgyNiwgMHhkMSwgMHg5NywgMHhiMSwgMHhiZCwgMHgzNiwKKyAgMHgyNCwgMHg2ZSwgMHhmMywgMHg3MiwgMHgwNiwgMHgxMSwgMHgzNSwgMHgyYywgMHgxNSwgMHg4NiwgMHhmZCwgMHgyNywKKyAgMHhkZiwgMHhhMSwgMHg0MywgMHhlYSwgMHg3NCwgMHhjOSwgMHhmZiwgMHg5MSwgMHhhMiwgMHg5NSwgMHhiYywgMHg1OSwKKyAgMHg5YiwgMHhjMSwgMHhmNywgMHhhYywgMHhlMywgMHgwMCwgMHhiMSwgMHg4YiwgMHg4OCwgMHhjNywgMHhmZiwgMHhkNSwKKyAgMHgwOSwgMHg5NiwgMHgyNiwgMHhlZSwgMHg0OSwgMHhlNywgMHgxMSwgMHhlYSwgMHg5NiwgMHhiMSwgMHgxYiwgMHhlYSwKKyAgMHhiZCwgMHgyYywgMHgyYiwgMHgyMywgMHgzYywgMHgxNiwgMHg3NSwgMHhjYywgMHgwYiwgMHgyYSwgMHg5NywgMHhiYywKKyAgMHg2NiwgMHhhZCwgMHhhZiwgMHgxZCwgMHgzNCwgMHg5YywgMHg2NSwgMHhmYSwgMHgwMSwgMHhhNSwgMHhiZSwgMHgwNiwKKyAgMHhhNSwgMHhjNCwgMHhkZiwgMHg3MCwgMHhkZSwgMHg1MSwgMHg1NywgMHhjZSwgMHg0YSwgMHg5ZCwgMHg2OSwgMHg2ZiwKKyAgMHhjMiwgMHg1YiwgMHhjZiwgMHgzOSwgMHhmNywgMHgzOSwgMHhkYywgMHg5MiwgMHg1NSwgMHhlMSwgMHgwMiwgMHgyNSwKKyAgMHg0OSwgMHhjOCwgMHg2NSwgMHg4ZCwgMHgyYywgMHgzNywgMHgyYiwgMHhmNSwgMHhiMywgMHhkMiwgMHhhYSwgMHgwYywKKyAgMHg0MiwgMHg4NSwgMHgzNCwgMHg4ZSwgMHhhYSwgMHgyYSwgMHgzZCwgMHgxNSwgMHg3OCwgMHhmOCwgMHgyZCwgMHg0YywKKyAgMHg1MSwgMHgyMywgMHg0YiwgMHhmMywgMHg0YiwgMHgwZCwgMHhjNiwgMHhmNywgMHg2NCwgMHhlMywgMHg5MSwgMHhhMCwKKyAgMHg2YiwgMHg5MCwgMHhlMiwgMHgyYywgMHg5NSwgMHhlNSwgMHgyNCwgMHg0MiwgMHgyOCwgMHhkOSwgMHgwZCwgMHg4OSwKKyAgMHgyOCwgMHg5MiwgMHhjNCwgMHhjOSwgMHhjOSwgMHg0MywgMHhhZCwgMHg5MiwgMHhmYSwgMHhlMCwgMHhkZSwgMHg1MCwKKyAgMHg2OSwgMHg5MCwgMHg3YiwgMHg5YywgMHg5MiwgMHhhZSwgMHhmNCwgMHgxNiwgMHg2MywgMHg3OCwgMHg3MSwgMHg3NiwKKyAgMHg3OCwgMHg2OSwgMHg3MCwgMHhhNCwgMHhjMywgMHhjMSwgMHgyOSwgMHg2MSwgMHg5ZSwgMHhlOSwgMHhkYSwgMHg4NiwKKyAgMHg0OCwgMHhjZCwgMHhiNSwgMHgxYSwgMHg2MiwgMHhhYywgMHgxZSwgMHhiNiwgMHhiYiwgMHgxZSwgMHhjZCwgMHhkMCwKKyAgMHhkNywgMHhlZCwgMHhjZCwgMHg1MSwgMHg5ZiwgMHg5ZCwgMHgyMiwgMHhmZCwgMHgzZiwgMHhhNiwgMHgwOCwgMHg5NCwKKyAgMHg1ZSwgMHg0OCwgMHg5NywgMHgwNiwgMHgwYywgMHgyNSwgMHg2NCwgMHg2MywgMHgxMywgMHgyYywgMHhiNSwgMHhhMCwKKyAgMHgwOSwgMHhlYSwgMHg4MywgMHhlMSwgMHg1NywgMHg0NiwgMHg0OCwgMHg1MiwgMHg2MiwgMHgzYSwgMHg1NSwgMHhlNSwKKyAgMHhjZiwgMHg0YiwgMHhhNywgMHg4ZSwgMHgxOSwgMHgzMiwgMHgzNSwgMHg5YywgMHgxMywgMHg2NSwgMHg4YiwgMHhhMywKKyAgMHg4MCwgMHhjYiwgMHg3MywgMHhlOSwgMHgxMiwgMHhhNywgMHgxYiwgMHg3MiwgMHgwOSwgMHgxZSwgMHhlNywgMHg4NiwKKyAgMHhmMSwgMHhjZiwgMHg0MCwgMHg3ZSwgMHgxMywgMHg4ZCwgMHhhOCwgMHgzYiwgMHhlZSwgMHg0NywgMHhlNywgMHgxNywKKyAgMHg3MywgMHgyNCwgMHg0OSwgMHhmMiwgMHgzZSwgMHg1NywgMHg0NCwgMHhlNiwgMHhhOCwgMHhmNywgMHg5NSwgMHhlYSwKKyAgMHg1MCwgMHhhZSwgMHg0NSwgMHg1MCwgMHgzZiwgMHg3OCwgMHg1ZCwgMHg0YSwgMHg3MiwgMHgyNywgMHg0ZCwgMHg5NCwKKyAgMHhlNiwgMHhjOSwgMHg3MywgMHhlYywgMHg1MiwgMHg5NiwgMHhhZCwgMHhmYywgMHg2YywgMHg5OSwgMHgyZSwgMHg2OSwKKyAgMHhlZCwgMHg1MiwgMHhmYSwgMHhlYiwgMHgzMCwgMHhiNiwgMHhlOSwgMHgzNiwgMHgzMywgMHg2NiwgMHhlYiwgMHgwNiwKKyAgMHhlNSwgMHgxMSwgMHg5OCwgMHg0OCwgMHg5NSwgMHhlOSwgMHgxNywgMHg4YSwgMHhiMiwgMHgzYiwgMHgyOSwgMHg5ZCwKKyAgMHg0NywgMHgyYywgMHg3MywgMHg1NSwgMHg0YiwgMHgwMCwgMHhiYywgMHgwOSwgMHg2OCwgMHgyOSwgMHg4MCwgMHgzZCwKKyAgMHhlNSwgMHg5ZSwgMHgzYywgMHhjZiwgMHgyYywgMHg3MSwgMHg4ZiwgMHgyNCwgMHhjZSwgMHgyYSwgMHg3NSwgMHhjNywKKyAgMHgwOCwgMHhlZiwgMHgwNCwgMHgwYSwgMHgzYiwgMHg2YSwgMHg5ZSwgMHhmYSwgMHgzZSwgMHhjZCwgMHhlOSwgMHg4YiwKKyAgMHhlZCwgMHg5OCwgMHg1NywgMHhkOSwgMHg4ZCwgMHhhNCwgMHgxNCwgMHg2NSwgMHgyZSwgMHhlYSwgMHg3NCwgMHg1ZSwKKyAgMHhkNiwgMHgxYSwgMHhhZCwgMHgyMSwgMHg1NSwgMHg4NCwgMHgwYiwgMHg3NCwgMHgwZCwgMHg0YiwgMHhmZCwgMHg1ZSwKKyAgMHg3ZSwgMHhjMCwgMHg0NywgMHhkMywgMHgxOSwgMHg4ZSwgMHg5ZiwgMHgxYSwgMHhjOCwgMHgxNCwgMHgyZiwgMHg5YywKKyAgMHg2YSwgMHgyMiwgMHg5NiwgMHhhZCwgMHhhYiwgMHgyYSwgMHgyNiwgMHg0NiwgMHg2MywgMHg2ZCwgMHhjZiwgMHhmZCwKKyAgMHhlNCwgMHhjNywgMHgxZiwgMHgwNywgMHg4OSwgMHgzMSwgMHhhOSwgMHgzYiwgMHhjMywgMHhmZCwgMHhkOCwgMHg5OCwKKyAgMHg5ZiwgMHgxYSwgMHg1YSwgMHhmYywgMHg5MSwgMHhlYiwgMHg5YSwgMHg3ZSwgMHhiYywgMHgyNiwgMHg5MywgMHg5MSwKKyAgMHhkYywgMHhkMSwgMHhmNSwgMHg5YywgMHg2MiwgMHg0ZCwgMHhhYywgMHg5NCwgMHhiNywgMHg3ZCwgMHg3OCwgMHg1YywKKyAgMHgzYywgMHhiZCwgMHgyNiwgMHg5MSwgMHhjYiwgMHg1OSwgMHhmOSwgMHg5YywgMHhiOCwgMHg2OSwgMHgwZSwgMHg2YywKKyAgMHhiNSwgMHgyOCwgMHhjNCwgMHg5NiwgMHg2MSwgMHhlMiwgMHhjNCwgMHhiZCwgMHg4NywgMHhkNCwgMHhkOCwgMHhmYywKKyAgMHhmZCwgMHhhNiwgMHgyMywgMHhhNCwgMHhkOCwgMHhkZSwgMHg1NSwgMHgxOSwgMHhlYiwgMHgwNSwgMHgxMCwgMHg2YywKKyAgMHhiOSwgMHgyNywgMHhkNCwgMHhiNCwgMHhjYywgMHgxOCwgMHhjNiwgMHg2OSwgMHhjMiwgMHhjMSwgMHg1NSwgMHhjYSwKKyAgMHg1ZiwgMHgzYiwgMHgyNSwgMHg1NywgMHgzYywgMHg1NywgMHg4YiwgMHg3NSwgMHg4NSwgMHhiZSwgMHgzMywgMHgzYywKKyAgMHhhOSwgMHg4NCwgMHg2ZSwgMHg3OSwgMHg3NSwgMHg1NywgMHgxMywgMHgwYiwgMHg5NywgMHhkOSwgMHgwNCwgMHhiNywKKyAgMHhhNywgMHgzNywgMHgxNSwgMHg1OSwgMHhmNiwgMHg5ZSwgMHg2YSwgMHg3ZiwgMHg4OCwgMHgwZiwgMHgxMCwgMHhmMywKKyAgMHg2YiwgMHhiMSwgMHg0ZSwgMHgzMywgMHhhMywgMHhjZCwgMHhlMSwgMHhhNiwgMHg4ZCwgMHg5YywgMHg0OSwgMHg3NiwKKyAgMHg0ZCwgMHg5MCwgMHg3MiwgMHg2ZiwgMHhkMywgMHhiOCwgMHg1ZCwgMHhhYSwgMHg2MiwgMHhmMCwgMHg0OSwgMHgyZiwKKyAgMHg4NSwgMHhhZSwgMHhmNCwgMHg5MywgMHgyMywgMHg1ZCwgMHgyNSwgMHgzYywgMHgxNSwgMHhiMSwgMHg2YSwgMHhjYywKKyAgMHg1ZiwgMHhiZSwgMHgyZiwgMHhmYywgMHgyNywgMHhlMiwgMHg5ZSwgMHg0MiwgMHgxMiwgMHgyNSwgMHgwYywgMHgxNSwKKyAgMHgxZCwgMHgwMCwgMHhiZSwgMHgxMywgMHgxNywgMHg0YywgMHgxYSwgMHgwZSwgMHgwMSwgMHg1OSwgMHhiMiwgMHg2NCwKKyAgMHg5OCwgMHgxMSwgMHgyMiwgMHgwOSwgMHhlNCwgMHgyOSwgMHhkYywgMHg1MSwgMHhjMSwgMHhkOCwgMHg3MiwgMHgxZSwKKyAgMHhmMCwgMHg1YiwgMHg0OSwgMHgxYywgMHhkNCwgMHhhYSwgMHg2YywgMHhiYSwgMHhlMCwgMHg4NCwgMHg2ZCwgMHg3MSwKKyAgMHg1MywgMHgwOCwgMHhmYSwgMHhjMCwgMHhiOCwgMHg4NCwgMHgwZiwgMHg2NywgMHg4YSwgMHg4YywgMHgwNywgMHg0OSwKKyAgMHhhZSwgMHg5MSwgMHhkMiwgMHhiMywgMHg4OCwgMHhjZCwgMHg0OCwgMHg2MiwgMHgyZiwgMHhkMCwgMHg5OCwgMHg2OCwKKyAgMHgzZSwgMHg1ZiwgMHg3MCwgMHg3OSwgMHg3NiwgMHg1YywgMHg2ZiwgMHhkYSwgMHhlOCwgMHhiZSwgMHg4MSwgMHg3YywKKyAgMHg0OSwgMHhlNywgMHgxMCwgMHg5NSwgMHhjMiwgMHg3YSwgMHg0YywgMHg2NCwgMHg0YiwgMHhmMiwgMHhlZSwgMHg4NiwKKyAgMHg3ZiwgMHhlNywgMHhmNCwgMHgzNywgMHhhZSwgMHhmYywgMHgxMiwgMHgxMSwgMHhiYiwgMHhjZCwgMHhlOSwgMHhjNCwKKyAgMHg3NSwgMHgyNCwgMHgwZiwgMHhjMCwgMHhlNSwgMHg2NCwgMHg3OSwgMHhmNCwgMHhlMSwgMHhiMiwgMHg5YSwgMHg3MiwKKyAgMHgzOCwgMHhiYiwgMHgyMSwgMHhiZCwgMHg1OCwgMHhkYSwgMHg3OSwgMHg0ZiwgMHgwNywgMHg4MSwgMHg3YiwgMHg3ZCwKKyAgMHg5YiwgMHgwYSwgMHg1MywgMHhlOCwgMHg3YiwgMHhlMiwgMHhjMCwgMHg1NiwgMHhkMSwgMHg2MSwgMHg2ZiwgMHhmNCwKKyAgMHg3MiwgMHgwZSwgMHhjOCwgMHgwZiwgMHgyZCwgMHg4OSwgMHg4MSwgMHgwMiwgMHgxNSwgMHhlYywgMHhjZSwgMHhlZSwKKyAgMHhiNiwgMHgyZCwgMHhhMiwgMHgwNCwgMHg0MiwgMHgwNywgMHhlNywgMHg3MSwgMHg4YiwgMHhhYSwgMHhiMCwgMHg3MSwKKyAgMHg1NSwgMHg3MiwgMHhlNiwgMHhkMSwgMHhjNiwgMHgzZSwgMHhkNSwgMHhmNywgMHhjOSwgMHg2ZCwgMHhjNCwgMHgxYSwKKyAgMHgxNSwgMHgzMywgMHhhMSwgMHgzMywgMHgxYywgMHhmMiwgMHhiYSwgMHhiZSwgMHgzOSwgMHg3ZCwgMHg3MywgMHhkNCwKKyAgMHhjZSwgMHhkNywgMHhjNSwgMHg0ZiwgMHg2MiwgMHhhZSwgMHg1YSwgMHhjMywgMHhhZSwgMHg1ZSwgMHgxYiwgMHgwZSwKKyAgMHhjMywgMHgzNCwgMHg5MCwgMHgwNiwgMHhiYSwgMHgxZiwgMHhkMywgMHg5NiwgMHg5OSwgMHhkNiwgMHg2NSwgMHhkNiwKKyAgMHgyYywgMHg2ZiwgMHg1NiwgMHhmOSwgMHg2YywgMHg2YiwgMHg5YiwgMHg2OCwgMHg4NCwgMHhhYSwgMHg1MiwgMHg4NiwKKyAgMHgyOCwgMHg4NSwgMHg2MiwgMHg0MywgMHhiMiwgMHg0ZSwgMHhiNiwgMHg1OCwgMHg5ZCwgMHhhZiwgMHhiMiwgMHg2NiwKKyAgMHg1NSwgMHgxNSwgMHhhYywgMHg0NiwgMHhkMSwgMHhkYywgMHhiYiwgMHgyNiwgMHg5OSwgMHg5MSwgMHhjZSwgMHgyYywKKyAgMHhlYSwgMHg3YywgMHg1NywgMHg4MiwgMHhjMCwgMHhlZiwgMHg3MCwgMHhjMiwgMHgxMywgMHgwZiwgMHg2OCwgMHg4YywKKyAgMHhlMywgMHg1MywgMHg5YiwgMHgyNSwgMHg4MiwgMHg4MywgMHhjNywgMHg1YSwgMHgwMiwgMHhmOSwgMHhlNSwgMHhlZiwKKyAgMHg0NCwgMHg3MiwgMHg3MCwgMHg3NiwgMHhmNiwgMHhlYSwgMHhlMCwgMHhmYywgMHhjMCwgMHhhZSwgMHgwZCwgMHgwMiwKKyAgMHgxYSwgMHhjYywgMHgwNSwgMHhmYSwgMHhiNCwgMHhlMSwgMHg0MywgMHhhNCwgMHgzNSwgMHhkMSwgMHg5MywgMHg5YiwKKyAgMHg3ZiwgMHg3OCwgMHgzZiwgMHgzZSwgMHg3YSwgMHhkNywgMHgzZCwgMHhkOCwgMHhiMywgMHg3NywgMHhhNywgMHgwNCwKKyAgMHg3NCwgMHhmNCwgMHg4NywgMHgxZiwgMHgwZiwgMHg5NiwgMHhjYiwgMHhiOSwgMHg4NiwgMHgxMCwgMHg1ZiwgMHhhNSwKKyAgMHg0ZCwgMHhiYSwgMHgxOSwgMHhkYywgMHhlYSwgMHhiZCwgMHg2ZCwgMHg5YSwgMHhkZiwgMHg4ZCwgMHg5ZCwgMHhkZiwKKyAgMHg4NSwgMHgwOCwgMHgzOSwgMHgzOCwgMHgwNiwgMHg5MiwgMHgxMSwgMHgxZCwgMHg2OCwgMHgzNSwgMHhkNSwgMHg2NCwKKyAgMHg1ZCwgMHhiYiwgMHgxYiwgMHhkOCwgMHgwMCwgMHhlNCwgMHhkYSwgMHhmNiwgMHgyZiwgMHhhNCwgMHg3NCwgMHg5YywKKyAgMHg0YywgMHhkMywgMHhjZSwgMHg3NCwgMHhiMywgMHhlNiwgMHhjNiwgMHgyNCwgMHhjZiwgMHhhNiwgMHhhYiwgMHg0NiwKKyAgMHg0OSwgMHgxZSwgMHhmNCwgMHg0NSwgMHhjNSwgMHhkZSwgMHhkZCwgMHg3ZCwgMHgwOSwgMHg4ZSwgMHhjNywgMHgwNSwKKyAgMHg1ZCwgMHg5OCwgMHgwYiwgMHgwMCwgMHg2YiwgMHhjMCwgMHgxMCwgMHgxYSwgMHgxMiwgMHhhYSwgMHg3NSwgMHhiNiwKKyAgMHhjYywgMHhjNSwgMHgyMiwgMHgzNCwgMHgzNSwgMHhjYiwgMHgzOCwgMHgwOCwgMHgwMywgMHhlYywgMHgwMSwgMHg5ZSwKKyAgMHg1MiwgMHhiMCwgMHgyMSwgMHhiZiwgMHgzNywgMHhiNywgMHg3MSwgMHg5OCwgMHgxYywgMHg0OSwgMHg1MSwgMHgxYywKKyAgMHgxNiwgMHg2ZSwgMHg3ZSwgMHgxMCwgMHgzYywgMHhkNCwgMHg1OCwgMHg2MywgMHg0MywgMHhkOCwgMHg3ZCwgMHg5YywKKyAgMHg1NywgMHg3OCwgMHg5MCwgMHgxYywgMHgxYiwgMHg1ZCwgMHgxMSwgMHhjMCwgMHgxNSwgMHhiMCwgMHhlNiwgMHgyMSwKKyAgMHg5YSwgMHgzNiwgMHg2ZCwgMHhiYSwgMHhlMCwgMHhhYywgMHg4NCwgMHgyOSwgMHg1MiwgMHhjMywgMHhmNCwgMHg5MiwKKyAgMHhjOCwgMHhjYiwgMHgzYywgMHg2YSwgMHhmNCwgMHg2YiwgMHg2MywgMHg2MiwgMHhkMSwgMHhiZiwgMHg3NiwgMHg3NiwKKyAgMHg0NywgMHg4ZiwgMHgzNiwgMHhjMiwgMHhjOSwgMHhkMywgMHg2NSwgMHgwMSwgMHhhMiwgMHg4YSwgMHg4ZCwgMHhjMSwKKyAgMHgxMSwgMHgzNywgMHg2YywgMHhjYSwgMHhmMiwgMHhkZSwgMHhmOSwgMHgzMSwgMHgwYiwgMHgzMywgMHhmYSwgMHhlOSwKKyAgMHhkMiwgMHg4YywgMHgxZiwgMHg5ZCwgMHhjYSwgMHhmMCwgMHgzNCwgMHhjOCwgMHgxOSwgMHhhMSwgMHgzYywgMHhkZiwKKyAgMHg0YSwgMHg5OSwgMHhhMiwgMHhlMSwgMHg4OSwgMHg0NSwgMHg3OSwgMHg0MywgMHgyYiwgMHgzMSwgMHhhNCwgMHgzNiwKKyAgMHg5ZiwgMHhiNywgMHhkMCwgMHg2ZiwgMHgzNiwgMHhlMiwgMHhkYiwgMHg1YywgMHgwMCwgMHg4MywgMHgyYSwgMHhlYiwKKyAgMHhlZSwgMHg3NiwgMHgzNCwgMHhjZSwgMHhhZCwgMHhjYSwgMHhhNywgMHhhZiwgMHhlMSwgMHhkOSwgMHgwNCwgMHg1OSwKKyAgMHhkOCwgMHg5YywgMHg5NiwgMHgxMiwgMHg3YywgMHhjYywgMHgwMSwgMHhjMywgMHhlNSwgMHgwMiwgMHhiZSwgMHgzNywKKyAgMHhmNywgMHhmMywgMHgzOCwgMHg4NiwgMHg5YSwgMHg0YywgMHgzMiwgMHhhNCwgMHg0MSwgMHg0OCwgMHgyYiwgMHg3ZCwKKyAgMHhjOSwgMHgyNSwgMHhlZCwgMHg4MSwgMHhlNSwgMHhmZiwgMHgyNiwgMHhiZCwgMHhjZCwgMHgxNywgMHhhYiwgMHgwNSwKKyAgMHgzZSwgMHg0NiwgMHhiNCwgMHgyZCwgMHg4ZiwgMHg0OSwgMHhmNCwgMHgwMSwgMHgzZSwgMHg0OCwgMHg0ZSwgMHg2NiwKKyAgMHgwMSwgMHg5MSwgMHg2ZiwgMHhkNiwgMHg4OSwgMHg2NywgMHhmZiwgMHhjNywgMHg4NCwgMHg4YywgMHgxMSwgMHhjOSwKKyAgMHgyMywgMHhiNywgMHgzYywgMHgyOCwgMHgwYiwgMHgwOCwgMHg0ZiwgMHhkNCwgMHgxZCwgMHhkZiwgMHg4MSwgMHhkMSwKKyAgMHgwZiwgMHg1MiwgMHhjYSwgMHg1MCwgMHhhOCwgMHg0YiwgMHg5YiwgMHhkZSwgMHgxMywgMHg2MSwgMHhlNywgMHg4YywKKyAgMHhhOSwgMHgyMCwgMHgzYSwgMHg5YywgMHg5NywgMHhkZCwgMHg5YSwgMHg1NSwgMHg3OSwgMHgzOSwgMHhiMywgMHhmNywKKyAgMHg4NiwgMHhmNCwgMHhjNywgMHhiYywgMHg1OCwgMHg5OSwgMHg3ZCwgMHg2NiwgMHhjZiwgMHgzMywgMHg4NywgMHgyYywKKyAgMHhlOCwgMHg1NywgMHg4MSwgMHgzZiwgMHgxMSwgMHgzOSwgMHhmOCwgMHg2MywgMHg5NCwgMHg1NiwgMHg2OCwgMHhjMiwKKyAgMHhlYSwgMHhmMywgMHhkMSwgMHhlMywgMHhiZCwgMHhkMSwgMHhhMywgMHg0MSwgMHhjYiwgMHgyYywgMHgxNCwgMHhlOCwKKyAgMHgwOSwgMHgzMiwgMHgzZSwgMHhmMywgMHg4NSwgMHgyZCwgMHg0YiwgMHgxZCwgMHhmZCwgMHg2NiwgMHg2ZSwgMHgxZSwKKyAgMHhlNCwgMHg4ZiwgMHgyZiwgMHhkMiwgMHg1YiwgMHgxYywgMHg1ZiwgMHhmNCwgMHg1OCwgMHhjYiwgMHhlNCwgMHhlNSwKKyAgMHgzNywgMHhhNywgMHhlMywgMHhmMywgMHhkZCwgMHhmZCwgMHhiMywgMHhkMywgMHg3NywgMHhlNiwgMHg0ZiwgMHhmYSwKKyAgMHhmYiwgMHgxZSwgMHhmZSwgMHhiZSwgMHgxNywgMHg1OCwgMHg5NSwgMHhhZiwgMHgyNSwgMHhkZiwgMHg1NiwgMHg0YiwKKyAgMHg3YiwgMHhhMCwgMHhhMSwgMHg0MCwgMHhhMywgMHhlMSwgMHhkZCwgMHg0YywgMHhiYywgMHg4MSwgMHg0OCwgMHgyZiwKKyAgMHgwNywgMHgxYiwgMHg5YywgMHhkYSwgMHhjMiwgMHhjNywgMHhlZSwgMHgxMSwgMHg3YiwgMHg5ZiwgMHhkMiwgMHg5NCwKKyAgMHhiYywgMHg1MSwgMHgxMiwgMHhhNiwgMHhmZCwgMHhlNSwgMHg4ZCwgMHg2YSwgMHg1MywgMHg1MiwgMHgzMiwgMHhhZiwKKyAgMHhjNSwgMHhmOCwgMHg1ZCwgMHg4YiwgMHg5ZCwgMHhjYiwgMHg5ZCwgMHhhNSwgMHg5YSwgMHg0NywgMHg3MSwgMHhmMCwKKyAgMHg5MCwgMHg0OSwgMHhkNiwgMHhmZSwgMHhkNSwgMHg3NCwgMHg2ZSwgMHhiNCwgMHhmYiwgMHg4YywgMHgzMiwgMHg0ZiwKKyAgMHg2NiwgMHgxOSwgMHg4NywgMHg2MywgMHhlOCwgMHgyNywgMHgzMSwgMHhjMywgMHhjNCwgMHg1YywgMHgzZiwgMHgyOSwKKyAgMHg3MCwgMHgwOCwgMHhkMiwgMHgxMSwgMHg0MSwgMHg5MSwgMHgxYSwgMHgwMywgMHgzMiwgMHhiMywgMHgzMSwgMHg3MywKKyAgMHhjYywgMHg4ZCwgMHgyNiwgMHhjZSwgMHhkYiwgMHg1MSwgMHg2NCwgMHg0MSwgMHgzZCwgMHgwMSwgMHhmMiwgMHg2NCwKKyAgMHg1YiwgMHgyZSwgMHgyZiwgMHhkNCwgMHhmMiwgMHhhMywgMHgyYSwgMHhmZiwgMHhlZCwgMHhlOSwgMHg3OSwgMHg5MiwKKyAgMHg1ZSwgMHg1YywgMHgyOCwgMHg4NCwgMHgwMCwgMHgxNSwgMHgzMSwgMHg5MCwgMHhjNiwgMHhiYSwgMHhiMywgMHg2NCwKKyAgMHg0OSwgMHg5NiwgMHgzNiwgMHhiMSwgMHg0NCwgMHgwZiwgMHhkMSwgMHg0NywgMHhjZSwgMHg0ZiwgMHhjNiwgMHgzYiwKKyAgMHhlNCwgMHhmMCwgMHhlMiwgMHg5NCwgMHhiOSwgMHhmMSwgMHhkYiwgMHhlMywgMHg0MSwgMHhjYiwgMHhiMywgMHhlZCwKKyAgMHgyNywgMHhjYSwgMHg2YywgMHg5MywgMHhhNCwgMHg4YywgMHgyYiwgMHgxNCwgMHhhOSwgMHgyNywgMHgwYiwgMHgxZCwKKyAgMHgzMCwgMHgwZCwgMHhhNSwgMHhlMCwgMHhlMSwgMHg0OCwgMHgzNywgMHhhNCwgMHg3NiwgMHg2YywgMHgwMywgMHg0NywKKyAgMHhiYiwgMHg5MSwgMHg2OCwgMHg4YywgMHgxNSwgMHg3NiwgMHhmMSwgMHg2MiwgMHhkOSwgMHhkYywgMHg4NSwgMHg2NSwKKyAgMHhhNSwgMHg3MCwgMHg2NiwgMHgxMCwgMHg1YywgMHgwYiwgMHgyOSwgMHgxZCwgMHgxYiwgMHg2NCwgMHg5NiwgMHhkMCwKKyAgMHhiMiwgMHhiMCwgMHhhNCwgMHg4ZCwgMHgxMSwgMHgwZiwgMHhiYiwgMHhiNywgMHg4MSwgMHg1MSwgMHgzMSwgMHhhOCwKKyAgMHhmOSwgMHgzYiwgMHg4ZCwgMHgwOSwgMHhhMiwgMHg5ZCwgMHg2NCwgMHhiMSwgMHg2MiwgMHgwMCwgMHhmZSwgMHg5MCwKKyAgMHgzNywgMHg3OCwgMHg2MiwgMHg4NywgMHgzNywgMHgxMywgMHhiMywgMHg1NSwgMHg2ZCwgMHg0YSwgMHgxZCwgMHhjNCwKKyAgMHg2MCwgMHhjYSwgMHgyYSwgMHhiZiwgMHhhNCwgMHhhYywgMHg4MiwgMHg2ZSwgMHhhMSwgMHg5OSwgMHg5YiwgMHg0OCwKKyAgMHhlMCwgMHhjNywgMHgyMiwgMHg2NSwgMHhhYywgMHg2ZSwgMHgzNiwgMHgzYywgMHg1NywgMHg0MiwgMHgxMywgMHhhNCwKKyAgMHhmMywgMHgyMywgMHhjOSwgMHhiNCwgMHg1MiwgMHg5MywgMHg0NiwgMHhhNywgMHg0MywgMHhmYywgMHhhNywgMHg4OSwKKyAgMHhlOCwgMHhmMSwgMHhhYywgMHhlYywgMHg5OSwgMHhkNSwgMHg5MSwgMHhkYywgMHg3MSwgMHgyMSwgMHgyMywgMHgyZCwKKyAgMHgxNCwgMHhkMiwgMHhiYiwgMHgwNCwgMHhjMCwgMHg5YywgMHhlMywgMHg0NiwgMHgxOSwgMHgzOCwgMHgwNywgMHg5OSwKKyAgMHhiYSwgMHhjMywgMHgzMSwgMHhjYywgMHg1YiwgMHg0YSwgMHg3ZSwgMHgyZSwgMHhhZSwgMHgxMSwgMHhkOSwgMHhkOCwKKyAgMHhkZCwgMHg3YiwgMHgzZSwgMHg3YSwgMHg2NCwgMHhmZSwgMHhjZiwgMHgxYywgMHg4YSwgMHhlOCwgMHg0NywgMHhjMCwKKyAgMHg5NSwgMHg3MiwgMHhlOCwgMHg0MSwgMHhmNiwgMHhjOSwgMHhlYywgMHhiNiwgMHg0YiwgMHg5MiwgMHgyYywgMHg4MCwKKyAgMHhjYSwgMHhlYSwgMHg3MiwgMHg2MywgMHg2ZCwgMHhiNSwgMHg2YiwgMHg0YiwgMHhhNCwgMHhkMCwgMHg0MSwgMHg1YSwKKyAgMHg3MSwgMHg5MiwgMHhjZSwgMHhlNCwgMHgyNywgMHg3YSwgMHhjNywgMHhhYiwgMHhkNSwgMHgzYywgMHg5MiwgMHgwNCwKKyAgMHhlOCwgMHgzOSwgMHg5ZCwgMHg0OSwgMHgzYiwgMHg5YiwgMHg1ZiwgMHg4YiwgMHhjYiwgMHhmOSwgMHgxYiwgMHhlMiwKKyAgMHg0ZCwgMHg1YywgMHhmNSwgMHgzNywgMHg2YSwgMHhhNSwgMHg1MCwgMHhiZCwgMHg2OCwgMHg3OSwgMHgxMCwgMHgwZiwKKyAgMHhjNSwgMHg2NCwgMHgwMywgMHg2NywgMHgxZSwgMHg5YSwgMHhjYiwgMHhmMCwgMHhiMiwgMHhiYywgMHhiOCwgMHhhOCwKKyAgMHhiMywgMHhhNiwgMHgyYiwgMHg4MCwgMHgwZSwgMHhlNSwgMHg5MSwgMHg5ZCwgMHg3NywgMHhjMCwgMHg0YSwgMHgwNCwKKyAgMHhhNywgMHhkMiwgMHhmYSwgMHg5YywgMHhhNCwgMHg4ZCwgMHhkZSwgMHg5MywgMHg0OCwgMHhjZSwgMHgxYSwgMHhiMywKKyAgMHgyZCwgMHgxZSwgMHg2ZSwgMHgxNCwgMHgyOSwgMHg0OSwgMHhmMCwgMHg3ZiwgMHhhZiwgMHhmOSwgMHgyNCwgMHg1YywKKyAgMHgzYywgMHhhZiwgMHg5OCwgMHgzMCwgMHgyOCwgMHhjZSwgMHg2MiwgMHhiOCwgMHgxNywgMHg5MSwgMHg3NCwgMHg1ZCwKKyAgMHgwOCwgMHgzNywgMHhiZCwgMHgxMiwgMHgxZiwgMHhmMywgMHhlNSwgMHg5MiwgMHhjYywgMHgxYiwgMHg4NiwgMHg0MywKKyAgMHgwMywgMHhkOSwgMHhkYSwgMHg3MCwgMHgxYiwgMHhhMiwgMHhiZSwgMHgyMCwgMHg2NSwgMHhjZCwgMHgyZCwgMHgzNCwKKyAgMHg0YSwgMHhmMiwgMHg1NCwgMHg2NCwgMHhmZSwgMHgyNCwgMHhiYiwgMHgwOCwgMHg0MywgMHg0NiwgMHg5YywgMHgwMiwKKyAgMHhlOSwgMHhhMywgMHhkZiwgMHg0OCwgMHgzNSwgMHhlZiwgMHg4YywgMHg5MCwgMHg2ZSwgMHg4YSwgMHg1NCwgMHg1OSwKKyAgMHhjYywgMHg4NSwgMHg4NywgMHgwYiwgMHgyMSwgMHhhNSwgMHg4MiwgMHg4MywgMHhjOCwgMHhmZCwgMHg3NywgMHhhNSwKKyAgMHg1YywgMHhkNiwgMHgwZiwgMHgzNywgMHgzZSwgMHhmZSwgMHgxZiwgMHg0NywgMHgwZSwgMHhhYiwgMHhjOCwgMHg4MiwKKyAgMHgwMSwgMHg3MSwgMHg3MSwgMHg0YywgMHhhYywgMHhkNCwgMHhjOCwgMHhkYywgMHhjMiwgMHhlMSwgMHhhMSwgMHgzOSwKKyAgMHhhZiwgMHgwZCwgMHg0YywgMHhjNSwgMHgyNSwgMHhhNiwgMHg5NCwgMHgxZCwgMHgzZiwgMHgyYywgMHhlYywgMHgxZSwKKyAgMHhkMiwgMHgyNCwgMHhhMCwgMHgwZCwgMHhlZCwgMHgxMCwgMHgzYywgMHg0MCwgMHgyMCwgMHgxYSwgMHgxOCwgMHhlZSwKKyAgMHg5MiwgMHhmZCwgMHg4YiwgMHhiMiwgMHg0NiwgMHhkYywgMHg4ZSwgMHg0NiwgMHg2YSwgMHhlYywgMHhmYywgMHgwYSwKKyAgMHgxNSwgMHg1MSwgMHgxNiwgMHg3NywgMHhmMiwgMHg4MiwgMHg1NCwgMHg0NiwgMHg1NiwgMHg2MCwgMHg4MiwgMHgwMiwKKyAgMHgwZSwgMHhhZCwgMHg5YSwgMHg2NSwgMHg1MCwgMHg5NCwgMHg1NSwgMHhmMywgMHgxYiwgMHg0NiwgMHg1YSwgMHgyYSwKKyAgMHhhMiwgMHg1ZiwgMHg2MCwgMHhkZSwgMHg3OSwgMHg0NCwgMHgzZCwgMHg2NSwgMHhhMiwgMHgyNiwgMHhkOCwgMHhjZiwKKyAgMHhlMSwgMHhkZiwgMHg4YywgMHg5NSwgMHhmZCwgMHg1MiwgMHhkZCwgMHgxNCwgMHg3ZCwgMHhmOCwgMHgwMSwgMHhlYSwKKyAgMHhkNCwgMHhhMCwgMHg5MiwgMHgwYiwgMHgxOCwgMHg2MSwgMHhhMCwgMHgwZCwgMHgwYiwgMHg2MywgMHhhMywgMHg1YiwKKyAgMHhjZCwgMHhlOCwgMHgzYiwgMHgyOSwgMHg3NCwgMHgxOSwgMHg2MCwgMHg4YSwgMHg3NiwgMHhlZiwgMHhmYywgMHgwNSwKKyAgMHhiMCwgMHg3MSwgMHhiYywgMHg0MiwgMHg3MSwgMHg1YiwgMHg2OSwgMHgzOSwgMHhhMiwgMHg5OCwgMHhkNiwgMHg5YywKKyAgMHg0NywgMHhhOCwgMHgzOSwgMHgwZCwgMHg1MywgMHhjNiwgMHg1MCwgMHhhMywgMHgyMSwgMHgwZiwgMHg2NCwgMHg2ZSwKKyAgMHg1ZSwgMHgwYywgMHhiOSwgMHgwYywgMHg1YiwgMHg5ZiwgMHg0NSwgMHhlOCwgMHg4ZCwgMHhlMCwgMHhkZCwgMHg4NCwKKyAgMHgxYywgMHhmOSwgMHg4OCwgMHhkOCwgMHgwYywgMHg2ZiwgMHgyNCwgMHgwZCwgMHgwMywgMHg2YSwgMHgyZCwgMHgzZSwKKyAgMHgxYiwgMHhjYiwgMHgyYSwgMHg2MywgMHg1ZiwgMHgyNCwgMHgxYywgMHg4OCwgMHhmYywgMHg3MSwgMHg3MiwgMHg5MCwKKyAgMHg3ZCwgMHgzNCwgMHhiYSwgMHg3MywgMHgzMSwgMHhhMCwgMHg5ZiwgMHhhMiwgMHg2YywgMHhkNSwgMHg1ZSwgMHgzMiwKKyAgMHhmNiwgMHg2ZCwgMHgzNCwgMHgxOSwgMHg4NywgMHgzOCwgMHhiMiwgMHg4OCwgMHgyZSwgMHhlYiwgMHgzZCwgMHgyYiwKKyAgMHg4ZiwgMHg3YSwgMHg2ZSwgMHg5NCwgMHhiNywgMHg1OSwgMHgyMywgMHg4OSwgMHgyNiwgMHgzYywgMHg3OSwgMHhhZCwKKyAgMHhlNCwgMHg0MiwgMHgzNSwgMHhkOCwgMHhmMSwgMHg0NSwgMHg2NywgMHgzOCwgMHhhMCwgMHhjYSwgMHg2NSwgMHg0ZCwKKyAgMHhiYiwgMHhhZSwgMHg1ZiwgMHgyMiwgMHhiZSwgMHgwYywgMHhhNSwgMHg0NSwgMHhiZSwgMHhkMCwgMHg4MSwgMHhiOSwKKyAgMHgwNiwgMHgxYiwgMHhlYSwgMHg5NywgMHhlNSwgMHgxNSwgMHhjNCwgMHgxMywgMHgxZCwgMHg3NCwgMHgzYSwgMHhlNCwKKyAgMHgyNiwgMHg2YSwgMHg2NiwgMHgzMSwgMHg5YSwgMHg2NCwgMHhkZCwgMHhkNywgMHhhMiwgMHhkYywgMHgzMiwgMHhjNiwKKyAgMHhhMCwgMHg5ZiwgMHgzYywgMHg0MSwgMHg1OCwgMHg2OSwgMHg4OCwgMHhmNSwgMHhiYiwgMHhhZiwgMHg2OSwgMHg5YSwKKyAgMHg0YiwgMHhhNCwgMHgwNiwgMHhkMSwgMHhhYiwgMHg0MSwgMHhhNSwgMHg4NCwgMHg5YiwgMHg2YSwgMHhhNiwgMHg5ZSwKKyAgMHgxMSwgMHg5ZCwgMHhhOCwgMHhlMSwgMHhjMiwgMHg2MiwgMHgxNywgMHhkZCwgMHhhNCwgMHhhMCwgMHgzNCwgMHgzYiwKKyAgMHg3ZSwgMHhhYywgMHg1MiwgMHhjMiwgMHhjYiwgMHg5NiwgMHgxYywgMHg0ZSwgMHgxYywgMHgzOSwgMHgzYiwgMHg5NCwKKyAgMHg5ZCwgMHg2OCwgMHg1MiwgMHg5MywgMHgzYywgMHg0NCwgMHgzNCwgMHg2ZiwgMHgwNCwgMHhjYiwgMHg2NiwgMHhlMywKKyAgMHg5NSwgMHhhMiwgMHgwMiwgMHhiOCwgMHhjNiwgMHg2ZSwgMHgwYSwgMHg2ZiwgMHhlMSwgMHhjZCwgMHg1NSwgMHgzOSwKKyAgMHg2NywgMHhiMywgMHhiOCwgMHg2YiwgMHgyMSwgMHhiYSwgMHgwMiwgMHg2MSwgMHg2MCwgMHhjMCwgMHg1MCwgMHgxMiwKKyAgMHgzMCwgMHhiYywgMHhjZCwgMHhkNywgMHhjOCwgMHgyZiwgMHg2ZSwgMHg4NSwgMHg0ZSwgMHg4YywgMHg3ZSwgMHg5NywKKyAgMHhhNSwgMHg1NCwgMHg5ZSwgMHg2NCwgMHg1MywgMHhlYywgMHhhZiwgMHgwNywgMHg0MSwgMHhkMiwgMHhiYiwgMHhiOSwKKyAgMHhlNywgMHg5MywgMHhiMiwgMHhiNiwgMHhmNCwgMHg0MiwgMHg2NSwgMHhiOCwgMHgyNCwgMHg0MSwgMHg2ZSwgMHhkMiwKKyAgMHgwYSwgMHg4YywgMHg1OSwgMHhjMCwgMHhiNCwgMHgxNCwgMHg2ZiwgMHhkNCwgMHhjZiwgMHgzMCwgMHgyNCwgMHg1NSwKKyAgMHhiMCwgMHg1YiwgMHgxZCwgMHg5MSwgMHg1MywgMHhlOSwgMHhiYSwgMHgyMSwgMHgxMywgMHhhMywgMHgwMCwgMHg5MCwKKyAgMHg5YiwgMHgxNiwgMHhiNCwgMHg0MywgMHg0MywgMHgwYSwgMHg0YywgMHhkNiwgMHgxNSwgMHg1MCwgMHg3NSwgMHhhNSwKKyAgMHhiZSwgMHhkZCwgMHhkYywgMHhjMywgMHgyYiwgMHg5MiwgMHhlOSwgMHg3OSwgMHhiMywgMHg0YSwgMHg5YiwgMHg4NywKKyAgMHhhNSwgMHg3NywgMHhmNywgMHhmMSwgMHgyNiwgMHg2NiwgMHg0ZSwgMHg3ZSwgMHhmNiwgMHg2YSwgMHgxZiwgMHhiYSwKKyAgMHg0MywgMHg0ZiwgMHhjYywgMHhkMSwgMHgzZiwgMHhjOCwgMHg5NywgMHg3NCwgMHhkNywgMHhmZSwgMHhlYiwgMHgxZSwKKyAgMHhjNiwgMHg3NCwgMHg5NiwgMHg0YSwgMHgzYywgMHhjZCwgMHg0NywgMHg4ZSwgMHg0MiwgMHgwNSwgMHhhZiwgMHhjOCwKKyAgMHgxMywgMHhhZCwgMHg5MywgMHhlMywgMHgzMSwgMHg1NSwgMHhkYywgMHgxZiwgMHg0NywgMHhkMiwgMHgwMiwgMHgxMCwKKyAgMHgxZiwgMHgzMywgMHhkMywgMHg5OSwgMHhkZiwgMHhiOSwgMHgwMSwgMHhiZCwgMHgwMiwgMHg1YiwgMHhjZCwgMHgwNywKKyAgMHhmNywgMHg1MCwgMHhmNSwgMHhlYywgMHgxNywgMHg4MiwgMHgxYywgMHhhNywgMHg4ZCwgMHhiMSwgMHg1MSwgMHhjMSwKKyAgMHhmOSwgMHg5YiwgMHhmYiwgMHgxYiwgMHgwYSwgMHg1NSwgMHg2YSwgMHg1MSwgMHg5NywgMHg4NCwgMHg4YiwgMHg0OCwKKyAgMHg4OSwgMHg5NywgMHg1NiwgMHg4YiwgMHhhOCwgMHhhZiwgMHg5ZSwgMHhhZSwgMHg3ZiwgMHg3NywgMHgzOCwgMHg4MiwKKyAgMHhmOCwgMHhkZSwgMHhmZCwgMHhlMiwgMHhiYiwgMHg4MywgMHg5MywgMHhmNywgMHg0NywgMHhiYiwgMHg3ZiwgMHg0YSwKKyAgMHhlOCwgMHg1ZiwgMHg3YiwgMHhmYywgMHhhZiwgMHhiZCwgMHg4ZCwgMHhkOCwgMHg3MSwgMHgxOSwgMHg0NiwgMHhiNSwKKyAgMHhmOSwgMHhjNSwgMHg2NiwgMHg1MiwgMHhkZiwgMHgyZCwgMHgyNiwgMHhlNSwgMHhkYywgMHgxZSwgMHg5OCwgMHg2YywKKyAgMHg4NSwgMHgwNiwgMHhkMiwgMHgwNiwgMHgyMiwgMHhjNSwgMHg2ZCwgMHhhMSwgMHhiNywgMHhiOCwgMHhjYSwgMHhiYiwKKyAgMHgyYywgMHhiYiwgMHg5NiwgMHgxNCwgMHg0NSwgMHg2NSwgMHgzNywgMHg4OCwgMHhlMCwgMHhmOSwgMHg5NSwgMHhjNywKKyAgMHgwZCwgMHhlYSwgMHhiMiwgMHg5NSwgMHg4NywgMHg0OSwgMHgyYywgMHhhZiwgMHgyZiwgMHg2ZCwgMHgxNCwgMHg0MiwKKyAgMHg0OSwgMHgyZiwgMHg3NiwgMHgxZCwgMHhlMSwgMHgxYywgMHgyYywgMHg1ZSwgMHgxYywgMHgzYSwgMHhiNCwgMHhjZiwKKyAgMHgzMCwgMHhmMiwgMHg0OCwgMHhkYywgMHg3MiwgMHg4MSwgMHgyYiwgMHg2NSwgMHgyMSwgMHhhYywgMHhmOSwgMHg3NSwKKyAgMHgzMSwgMHgxMCwgMHgwOCwgMHhiNywgMHhlMywgMHg0ZSwgMHhkMCwgMHgwYSwgMHgzNiwgMHhhYiwgMHhjYywgMHhiMiwKKyAgMHg1ZSwgMHhhYywgMHg5YSwgMHhkZSwgMHhlZCwgMHgwZSwgMHgzNywgMHgxMSwgMHhkZCwgMHhjNSwgMHg0MywgMHhmMCwKKyAgMHgzYSwgMHgyMSwgMHhkMCwgMHhiMCwgMHhhMSwgMHgyNiwgMHg3MywgMHgzOCwgMHg1NywgMHgwNywgMHgxOSwgMHhhMywKKyAgMHgzMywgMHhkMiwgMHhhYywgMHhkNSwgMHg5ZiwgMHg5MSwgMHg3OCwgMHgzOCwgMHhkMiwgMHgxNiwgMHg2ZCwgMHg1MiwKKyAgMHhlMCwgMHgxYSwgMHg5MywgMHg1NiwgMHg0OCwgMHg5MCwgMHg3ZCwgMHhjZCwgMHgyMSwgMHg0OCwgMHgwYiwgMHhlMywKKyAgMHhjNSwgMHg5OCwgMHhjZCwgMHg0MSwgMHg3MiwgMHhjYSwgMHgyMiwgMHhjOCwgMHhlNSwgMHgyYSwgMHg4YywgMHgyNiwKKyAgMHhiOSwgMHg2NSwgMHhkOCwgMHhmYiwgMHhiNiwgMHgxZiwgMHhhNywgMHhkNSwgMHhlMywgMHhjMywgMHhiMSwgMHg3OCwKKyAgMHg5MSwgMHhlNSwgMHg3YSwgMHg1ZCwgMHhjMCwgMHhlMCwgMHhmYywgMHhhYSwgMHgyNSwgMHg2ZCwgMHg1NCwgMHhlZiwKKyAgMHhkMywgMHg5YSwgMHg2OCwgMHgwZSwgMHhkMiwgMHg4YSwgMHhmOCwgMHhlMCwgMHg2MSwgMHg5OCwgMHg1NiwgMHgyOSwKKyAgMHhlMSwgMHg3MywgMHhlZSwgMHg2MSwgMHgzZiwgMHhhOSwgMHgyOSwgMHg0ZCwgMHgxNywgMHg0ZSwgMHgxMSwgMHgzNCwKKyAgMHgyOCwgMHgzNywgMHhjMCwgMHg1MiwgMHhiZiwgMHhmOSwgMHhmZSwgMHhkZCwgMHgzYywgMHhkYiwgMHg1NiwgMHhlYiwKKyAgMHg0MCwgMHgyNSwgMHhkZSwgMHhjZSwgMHg5YiwgMHhmMiwgMHgxZiwgMHg2NiwgMHhmMiwgMHhhOSwgMHg3YywgMHgyNCwKKyAgMHgyNiwgMHgzOCwgMHg0NSwgMHgwZSwgMHhmNiwgMHhjZSwgMHhkYywgMHgzMSwgMHgxOSwgMHhhZSwgMHgyYywgMHhmNywKKyAgMHg1OSwgMHg0NywgMHhjYiwgMHg0MCwgMHg0NiwgMHgyNCwgMHg5OCwgMHg5NCwgMHgzMywgMHg2NCwgMHg3NywgMHgwNywKKyAgMHhmNCwgMHgyMywgMHgyYSwgMHg0NiwgMHgyMCwgMHhhNiwgMHgzZCwgMHg3OCwgMHgxYSwgMHg0MywgMHhjZiwgMHhhNSwKKyAgMHgyNCwgMHhmNSwgMHg1OCwgMHgzYSwgMHgxMywgMHhkOSwgMHhkMywgMHhlNSwgMHhlMywgMHg1ZCwgMHhjNSwgMHhhYSwKKyAgMHg0NywgMHgxYSwgMHgxZCwgMHhkZCwgMHg2NiwgMHhkNSwgMHg5NCwgMHhkMCwgMHgyOSwgMHhhNiwgMHg0NiwgMHgzOSwKKyAgMHgwNSwgMHg1MywgMHhiZCwgMHgxMCwgMHgxZiwgMHgxNSwgMHhhNSwgMHg1ZiwgMHg0OSwgMHgyMiwgMHg3ZCwgMHgxYiwKKyAgMHg0NiwgMHgwNiwgMHgzMiwgMHg1OCwgMHg4OSwgMHhhZCwgMHg5NywgMHhjZSwgMHg5MCwgMHgyZSwgMHgzMSwgMHgzNSwKKyAgMHhkNCwgMHgzMSwgMHhiMiwgMHg3MCwgMHg3OSwgMHgyYSwgMHgyNSwgMHhkYiwgMHgzYywgMHg0NCwgMHhlYiwgMHhkMiwKKyAgMHgxMCwgMHg1MywgMHgwOCwgMHg5MiwgMHhmYywgMHhiMCwgMHhjMywgMHhmYSwgMHhhMiwgMHg3NywgMHg5YSwgMHg0MiwKKyAgMHgyZSwgMHg5OCwgMHgwYiwgMHg4MywgMHg5ZiwgMHhiOSwgMHgxMCwgMHgxMSwgMHhhMSwgMHgwYiwgMHgwMCwgMHg0MywKKyAgMHhhYSwgMHgzZiwgMHhhMywgMHhkMSwgMHg5ZSwgMHgwZSwgMHgyMCwgMHgzZiwgMHgxMCwgMHgzMiwgMHgyOSwgMHhlZSwKKyAgMHgxNCwgMHg3OSwgMHg2YSwgMHgwYiwgMHhiMiwgMHg5MywgMHgzNSwgMHg0NCwgMHhjNSwgMHgyNywgMHg4NCwgMHhmYSwKKyAgMHgxNSwgMHhkNiwgMHgyZiwgMHhjZiwgMHhjYiwgMHgxYiwgMHgwYSwgMHhjNCwgMHhiNCwgMHhkMSwgMHg0MiwgMHgzNSwKKyAgMHg1NSwgMHg4MiwgMHhkMywgMHhmMCwgMHg5OCwgMHgzOSwgMHgwZiwgMHg0OSwgMHg2MSwgMHhlMiwgMHhjZiwgMHg4ZSwKKyAgMHgzNCwgMHg2NCwgMHgxYiwgMHhhNSwgMHgwMCwgMHhhZCwgMHhjMCwgMHhlZCwgMHgxNiwgMHgyZiwgMHhhNSwgMHgyZSwKKyAgMHg5MywgMHhhMiwgMHg2MSwgMHg4ZiwgMHgzMiwgMHgyYiwgMHgxOSwgMHgwZSwgMHhhYywgMHgyYiwgMHgyNiwgMHhkZCwKKyAgMHhiMCwgMHhlMiwgMHg0OSwgMHhkOSwgMHg1YywgMHg3OSwgMHhhOSwgMHhhYiwgMHgwNCwgMHgwMCwgMHg0OCwgMHhjZSwKKyAgMHg5ZSwgMHg4YiwgMHg1NSwgMHgwMywgMHg0YiwgMHg0MCwgMHg2ZCwgMHhjMSwgMHg0NiwgMHhiMiwgMHg5MywgMHhjNSwKKyAgMHg2MywgMHgxNCwgMHhhNCwgMHgzZSwgMHg3YywgMHgyNCwgMHhhMCwgMHgzOCwgMHg1YSwgMHhhMiwgMHgwNSwgMHhiYiwKKyAgMHhhNSwgMHg5YywgMHhkYiwgMHgwMiwgMHhjOSwgMHhlNSwgMHg0NCwgMHg5NywgMHhjNiwgMHgwYSwgMHhkNiwgMHhhNCwKKyAgMHgxMiwgMHhjYSwgMHg2ZCwgMHhhYSwgMHg2YiwgMHhjMiwgMHg5ZCwgMHg0MywgMHgxNiwgMHhhYiwgMHhkOSwgMHhkOCwKKyAgMHgwMCwgMHhhNSwgMHgwMiwgMHg5OCwgMHg0YSwgMHg4NSwgMHg3ZiwgMHhhNCwgMHg1YiwgMHg4YywgMHg5OCwgMHhlMywKKyAgMHg3MCwgMHg5ZSwgMHgxOCwgMHg0YSwgMHg4MywgMHg0YywgMHhmNywgMHg4OSwgMHgxYywgMHg0ZCwgMHg4ZCwgMHhmYiwKKyAgMHg0YiwgMHhmNCwgMHgxMCwgMHhmMSwgMHg4YywgMHg1OCwgMHgyNSwgMHhiNiwgMHhlNywgMHhjMiwgMHhmZSwgMHhjYiwKKyAgMHg5NiwgMHg0ZCwgMHg2MCwgMHhlOSwgMHg1NSwgMHgzNSwgMHg4MywgMHhlZCwgMHgwMiwgMHhhZSwgMHhkOCwgMHhlNiwKKyAgMHhkMiwgMHg2MywgMHhiYiwgMHg0MywgMHhjNiwgMHg5NSwgMHhiYSwgMHgyMCwgMHg1YywgMHgyYywgMHhkOCwgMHhiYiwKKyAgMHg1YSwgMHhjZSwgMHhhMCwgMHhmYiwgMHhlOSwgMHgzYiwgMHhkMCwgMHg5NiwgMHgzYywgMHhkMCwgMHhjYywgMHhiYSwKKyAgMHg5NCwgMHhkYiwgMHg4OCwgMHhlMSwgMHg4OSwgMHhjOSwgMHgzOCwgMHgyZSwgMHgxMywgMHhjMywgMHhkNSwgMHhlOSwKKyAgMHhkZSwgMHg3ZiwgMHgzZiwgMHhjYSwgMHhkMiwgMHg0MiwgMHg3NSwgMHg2MywgMHg0NywgMHhjZSwgMHhjMiwgMHhlNywKKyAgMHgwZCwgMHhlNiwgMHg0NSwgMHg0OCwgMHhlMCwgMHhhMSwgMHhhMSwgMHhmZCwgMHgzYSwgMHgxNiwgMHhhZCwgMHg1NCwKKyAgMHgyOSwgMHg2ZSwgMHgzOCwgMHhmYywgMHhkZiwgMHg1NiwgMHhjNSwgMHhiNCwgMHgyMywgMHhhOCwgMHhjYSwgMHg4MSwKKyAgMHg4NywgMHhkZCwgMHgyOSwgMHhhMSwgMHg1OSwgMHgyYiwgMHgyNiwgMHhiYSwgMHg0NCwgMHg4ZiwgMHgwZiwgMHgwOSwKKyAgMHg2MiwgMHgwZSwgMHgxNSwgMHg5MSwgMHg1MiwgMHhjMSwgMHgwNywgMHhjOSwgMHhiOCwgMHhiOSwgMHg1NywgMHg3NSwKKyAgMHg3YiwgMHg5NSwgMHg5YiwgMHgxMywgMHhhYSwgMHhhNiwgMHg1NywgMHgwMCwgMHgxZiwgMHg4MCwgMHgzMywgMHgyOSwKKyAgMHg1MywgMHgwZiwgMHg2OSwgMHhhMCwgMHgwZCwgMHg4YiwgMHhmYiwgMHgxZiwgMHhjMywgMHg4YSwgMHg0MiwgMHg5NiwKKyAgMHgxMywgMHgzYiwgMHgyMiwgMHg4MCwgMHg5MSwgMHhiMiwgMHg1MCwgMHgyNiwgMHhkZCwgMHgzNywgMHhjZiwgMHgzMCwKKyAgMHgxOSwgMHhlYywgMHg4YSwgMHhmNiwgMHgzYywgMHg5YiwgMHhkNywgMHg0ZSwgMHg0YSwgMHhkYSwgMHg3NywgMHg5YywKKyAgMHhiOCwgMHg4NCwgMHgyNSwgMHg1ZSwgMHhjMCwgMHgzMSwgMHhjYiwgMHhmMiwgMHgzOCwgMHg4ZiwgMHhkZSwgMHg3MCwKKyAgMHhjYywgMHhjNCwgMHhlOCwgMHgzYSwgMHgzMiwgMHgxOSwgMHgzMiwgMHgyZSwgMHg4OSwgMHg0ZSwgMHhlZSwgMHgxNCwKKyAgMHg5NiwgMHg0NiwgMHg0NiwgMHhlOCwgMHgyMiwgMHhkMywgMHg3NCwgMHgwOSwgMHhmOSwgMHg1MCwgMHhjYywgMHgwNCwKKyAgMHgwYywgMHg0NywgMHg3YywgMHg3YSwgMHg2MSwgMHhjNCwgMHgxZCwgMHhhZiwgMHg2YiwgMHg0MSwgMHhhZSwgMHhkYywKKyAgMHg0NywgMHhjZiwgMHg5ZiwgMHgzZSwgMHhhMiwgMHgyYiwgMHg0ZSwgMHg5OCwgMHg3YywgMHgyYywgMHhmNiwgMHg0NCwKKyAgMHg1MCwgMHg3MSwgMHg3OCwgMHgyYywgMHg3MCwgMHhmMCwgMHg5NCwgMHhmNiwgMHgxOCwgMHgwNCwgMHg0MiwgMHg0NywKKyAgMHg3NywgMHgzZSwgMHg1NywgMHhiMCwgMHg3NywgMHhhNiwgMHgzYywgMHg3MiwgMHg4ZSwgMHg1MCwgMHgwMSwgMHgzNywKKyAgMHgzYSwgMHhhMywgMHg1MCwgMHg0YywgMHg2ZCwgMHgzOCwgMHhiYywgMHg2OCwgMHg4MiwgMHg5YywgMHg2MCwgMHg4ZiwKKyAgMHg3NCwgMHhkYSwgMHgxNCwgMHgzNSwgMHhiZiwgMHgxMCwgMHg5NCwgMHhhMCwgMHgzNywgMHgwYSwgMHgwNCwgMHg3OCwKKyAgMHg0ZCwgMHg1NSwgMHg0NCwgMHhjOSwgMHhjOSwgMHg2YiwgMHhmNiwgMHgwYywgMHgxZSwgMHhiZSwgMHhhMywgMHhiZiwKKyAgMHhlNSwgMHgxNiwgMHgyMywgMHgwOSwgMHg5NSwgMHhjMCwgMHhlOCwgMHgzYiwgMHhjMiwgMHgyOSwgMHhiYSwgMHg2ZiwKKyAgMHhiZSwgMHhlYiwgMHgxNiwgMHg4MiwgMHg2ZSwgMHg5ZCwgMHg4ZSwgMHg3NywgMHgxZSwgMHhiZiwgMHg3OCwgMHhiNCwKKyAgMHgxZCwgMHhjOSwgMHg5YSwgMHgzNiwgMHhkZiwgMHhmMCwgMHgyMSwgMHgxMiwgMHg5ZiwgMHgzYywgMHgxYSwgMHgzZCwKKyAgMHhkYSwgMHhlZSwgMHhjYywgMHg4NiwgMHhiNiwgMHg2NCwgMHgwZCwgMHg4NCwgMHg4YiwgMHg0MiwgMHhiYiwgMHg1YiwKKyAgMHgxOSwgMHg4NCwgMHg3NCwgMHg2OCwgMHg1NywgMHgyZSwgMHgyNiwgMHg5OSwgMHhkYiwgMHg3ZSwgMHgzOSwgMHhlYiwKKyAgMHhiYiwgMHhlYywgMHhkYSwgMHg1MCwgMHg2ZSwgMHgxNCwgMHgyMSwgMHhlMiwgMHgyNCwgMHhhZiwgMHhjNSwgMHg1OCwKKyAgMHgyMiwgMHhjMSwgMHhhOCwgMHhhMiwgMHg4YSwgMHhlYSwgMHhjNSwgMHhkYiwgMHg1OSwgMHhjOSwgMHg3OCwgMHg4NCwKKyAgMHhjZSwgMHg5NCwgMHhmMywgMHgyNywgMHgyMiwgMHgxMSwgMHg5YywgMHhkYSwgMHg0YywgMHhhYSwgMHg0MiwgMHg2YSwKKyAgMHgyMCwgMHhmMiwgMHgwNCwgMHgzZSwgMHhiOSwgMHgwMywgMHhlNywgMHhhMCwgMHgwNSwgMHgzNCwgMHhmOSwgMHhkYywKKyAgMHgzZiwgMHg1MywgMHhiMiwgMHgxZSwgMHg4NiwgMHg2OSwgMHgzZCwgMHhjZCwgMHg3MywgMHhiNiwgMHg5MSwgMHg3YSwKKyAgMHg0YywgMHgyMywgMHhjZCwgMHhiOSwgMHgwNCwgMHg4MiwgMHgxZCwgMHg2YSwgMHhiOSwgMHhmMywgMHg5NCwgMHhjMywKKyAgMHhiZiwgMHgwZSwgMHgyMywgMHgzNSwgMHgxOCwgMHg5NiwgMHgxNCwgMHg2MCwgMHg0MywgMHg2MiwgMHhlYiwgMHhjNiwKKyAgMHgxNSwgMHhiZiwgMHgwMCwgMHhmNSwgMHg5MiwgMHgxMSwgMHg1OCwgMHg2NywgMHhhYiwgMHhiMywgMHhkNiwgMHg1ZCwKKyAgMHhhZCwgMHhjYywgMHg1YywgMHgyZCwgMHgwNiwgMHg0YywgMHg4YiwgMHg0MCwgMHgxZCwgMHgxMiwgMHhkYiwgMHhlMSwKKyAgMHg5YywgMHhlYiwgMHhiNCwgMHhhOSwgMHg0YiwgMHhkYSwgMHhhNywgMHhkOCwgMHhhNiwgMHhjMiwgMHhlYiwgMHgwMSwKKyAgMHg2MCwgMHg1YywgMHg2YiwgMHg5NCwgMHg1OSwgMHg1NiwgMHgyMiwgMHgzOSwgMHg0NiwgMHg1ZiwgMHgwZSwgMHg1YywKKyAgMHgwYSwgMHg1MCwgMHhjYiwgMHhhOCwgMHg0YSwgMHgyMywgMHg3YSwgMHgyNSwgMHgyMywgMHhmYiwgMHgyNywgMHgwOCwKKyAgMHhiOSwgMHg3MywgMHgyZCwgMHgxNywgMHgyZCwgMHg0NCwgMHg3YSwgMHg1YywgMHhjMCwgMHg5NSwgMHhjMiwgMHg3OSwKKyAgMHgyNywgMHhkMiwgMHhlMSwgMHg4MiwgMHg4MCwgMHg5MCwgMHhlYywgMHg2ZSwgMHg0NSwgMHhlMCwgMHhhZCwgMHgwNiwKKyAgMHg2NiwgMHg3ZCwgMHg0MCwgMHgwZCwgMHgwNSwgMHgwNSwgMHgxNSwgMHhkOSwgMHgwZCwgMHgzMSwgMHhmNywgMHg1YSwKKyAgMHgzNCwgMHg5MywgMHhhYSwgMHhjYSwgMHhjOSwgMHgxNywgMHg2NSwgMHgxMywgMHgxNiwgMHg1OCwgMHhiYiwgMHhhMywKKyAgMHgxYywgMHg1MCwgMHg5MiwgMHhmNSwgMHhiMywgMHg0OCwgMHg3NSwgMHhmOSwgMHgxNCwgMHhiNywgMHhiMywgMHhiNiwKKyAgMHg1OSwgMHhlMywgMHgwNSwgMHg5MCwgMHgyZiwgMHgwOSwgMHhlMSwgMHgyZSwgMHhkOCwgMHgxYiwgMHgzNCwgMHgyNywKKyAgMHhjMCwgMHhlNCwgMHgxNCwgMHhlZiwgMHhiNiwgMHg2OSwgMHhhNywgMHg5NCwgMHg5MCwgMHgxMSwgMHhjMCwgMHgxOSwKKyAgMHhkNiwgMHgwYywgMHhiMCwgMHg1NiwgMHhiNiwgMHg4YywgMHhkNiwgMHhiYSwgMHgzZiwgMHgwNCwgMHhiMywgMHg3MywKKyAgMHgzYiwgMHhiYywgMHhiOSwgMHhiOSwgMHgxOSwgMHhkMiwgMHg4NSwgMHhhMywgMHgzYywgMHgxZiwgMHgyOSwgMHhmNCwKKyAgMHgxOCwgMHhiNSwgMHg3MCwgMHhhYiwgMHg2MSwgMHhhYiwgMHhiMiwgMHgxOSwgMHg0YiwgMHg0YywgMHgyNCwgMHg4YywKKyAgMHg5OSwgMHg3OCwgMHg2OSwgMHg1NywgMHhkNSwgMHgyNCwgMHg2ZiwgMHg1MCwgMHg1MSwgMHgyOCwgMHhjNCwgMHg4NSwKKyAgMHhkNywgMHhhNCwgMHhiMiwgMHg0ZiwgMHhhNiwgMHgwMywgMHg4NSwgMHg0OSwgMHg5ZCwgMHg1YiwgMHg5MSwgMHhkYiwKKyAgMHhlNywgMHhkNiwgMHg0MiwgMHgwMCwgMHg1OCwgMHhkMywgMHgyNiwgMHhhMywgMHgwYSwgMHg3YSwgMHhmMywgMHg4OSwKKyAgMHhjNSwgMHg3ZSwgMHgzMiwgMHhmYywgMHgyNiwgMHhkOSwgMHgzOCwgMHg5NCwgMHhkNSwgMHg5ZSwgMHg5YiwgMHgyNywKKyAgMHhmNiwgMHhkYiwgMHg2YiwgMHhlMSwgMHg4NywgMHhjMywgMHgwMCwgMHg5MSwgMHg3OSwgMHg3NywgMHhlMywgMHg2MSwKKyAgMHhlMCwgMHg4ZCwgMHhiZCwgMHgxNywgMHgxOSwgMHgwZCwgMHg1ZSwgMHg1YywgMHgyNiwgMHg0ZSwgMHgxMywgMHg3MSwKKyAgMHgwMCwgMHg1MiwgMHgyYSwgMHgwZCwgMHhiYiwgMHhjYSwgMHgxOCwgMHg3NSwgMHgwZCwgMHg0YiwgMHg0ZiwgMHg2YiwKKyAgMHg2OSwgMHgxNCwgMHgzNCwgMHhlMSwgMHgxYiwgMHhiZSwgMHhlNiwgMHgzYSwgMHg1NiwgMHhlOSwgMHhjZCwgMHhmZCwKKyAgMHg3NywgMHhkYywgMHhiYiwgMHg4OSwgMHg0MiwgMHhiZCwgMHg3MywgMHhiOCwgMHhjZiwgMHgzYywgMHgyOCwgMHg2NCwKKyAgMHhmMiwgMHgxOSwgMHhkOSwgMHhjNCwgMHhjZSwgMHhjOCwgMHg0YywgMHhhNSwgMHgwOSwgMHg4NywgMHgyYiwgMHhlNywKKyAgMHg2MiwgMHg2MywgMHg1NywgMHhkNCwgMHhkYywgMHgyZiwgMHhkNywgMHg1NCwgMHhjMiwgMHgzOSwgMHg0NywgMHhiMywKKyAgMHg1YiwgMHg0NSwgMHgyYiwgMHg5YSwgMHhkMiwgMHg0MSwgMHg1NCwgMHhjNSwgMHhiMiwgMHgyYywgMHg1NSwgMHgzZCwKKyAgMHg4MCwgMHhkMSwgMHhiOCwgMHhkNSwgMHgwZCwgMHhlYywgMHhlNSwgMHgxNCwgMHg1YSwgMHg2NiwgMHg2NywgMHhhMSwKKyAgMHhiNywgMHg0YywgMHgwMSwgMHhkZiwgMHg4ZCwgMHhhNSwgMHg4YywgMHg3MiwgMHhlYywgMHg4NCwgMHhhZSwgMHhhYSwKKyAgMHg0MiwgMHhhNCwgMHg4OSwgMHgxYiwgMHgyYywgMHhhYiwgMHg4OCwgMHhkMCwgMHg5MSwgMHg4NywgMHhjZiwgMHgzNSwKKyAgMHg0ZCwgMHgzMSwgMHhlOCwgMHhjYywgMHg3MywgMHg4OCwgMHg4NSwgMHhjMywgMHhhZiwgMHg4ZiwgMHg5MSwgMHg0ZiwKKyAgMHg2ZSwgMHgxOCwgMHg2OSwgMHgyMSwgMHgzMCwgMHgxMiwgMHgzYywgMHg3ZiwgMHhlZSwgMHhjOCwgMHg2NCwgMHg2ZCwKKyAgMHhlNCwgMHg0YiwgMHg2MiwgMHgyNSwgMHg1YywgMHg5NCwgMHg5OSwgMHgyNiwgMHgzMSwgMHhmOCwgMHg1NSwgMHgzNSwKKyAgMHg2MSwgMHgxMiwgMHhiNSwgMHg1NSwgMHgyNCwgMHgxMSwgMHg1NiwgMHg0YywgMHgwZSwgMHhiOSwgMHhiYywgMHgzNiwKKyAgMHg2NCwgMHg5YywgMHhiYSwgMHgyMiwgMHg4NSwgMHhlOCwgMHg3ZSwgMHhlMSwgMHhlYiwgMHgwYSwgMHg3NywgMHg5MiwKKyAgMHhkNiwgMHgxMiwgMHgxNSwgMHg4NiwgMHhlZSwgMHgxNywgMHgyNCwgMHhiMCwgMHgzYiwgMHg3YSwgMHhlNSwgMHgwZSwKKyAgMHg1NywgMHg1OSwgMHg5OCwgMHg0YiwgMHgyNywgMHg5ZiwgMHg4ZiwgMHg3NywgMHhhMywgMHhjMywgMHg5OSwgMHg3NCwKKyAgMHhiYywgMHgzMywgMHg3NiwgMHhlYiwgMHgzMiwgMHhkZiwgMHgwMSwgMHhjMSwgMHhkNSwgMHg2MCwgMHhlNCwgMHg5ZiwKKyAgMHg4YiwgMHg3OSwgMHg4MywgMHg2ZCwgMHhiMiwgMHhhNSwgMHg2MSwgMHhjNiwgMHhmZiwgMHg0ZSwgMHgxMiwgMHgwYSwKKyAgMHg3MiwgMHhkNywgMHhmMCwgMHgzYywgMHhkMiwgMHgzYywgMHhiNCwgMHg2MiwgMHhkMywgMHgxZiwgMHg0ZCwgMHhjMSwKKyAgMHgwNCwgMHgyNSwgMHhjOSwgMHgzNiwgMHgzZSwgMHgxYywgMHg5OSwgMHg5MywgMHg1ZiwgMHg5MCwgMHhiNiwgMHhmNCwKKyAgMHhhNSwgMHgzOCwgMHhiZiwgMHgyOCwgMHgxNSwgMHhiZiwgMHhmNiwgMHg4YywgMHgxYiwgMHgyOSwgMHhkNywgMHhjNSwKKyAgMHhkYywgMHhiNSwgMHg0YSwgMHg4OSwgMHhiNiwgMHgyMSwgMHgzZSwgMHgxYywgMHg0NywgMHg0ZCwgMHhiZCwgMHhkZCwKKyAgMHg2MywgMHg4YSwgMHgyMywgMHhjNCwgMHhmYiwgMHg5YSwgMHhiYiwgMHg5YywgMHhmZCwgMHhhZSwgMHhiYiwgMHg3OSwKKyAgMHg1ZiwgMHhkYywgMHhiZiwgMHg3YiwgMHgzZiwgMHg3NywgMHhmYiwgMHhkNiwgMHhlZiwgMHgxZSwgMHg3NywgMHg4ZSwKKyAgMHhkMCwgMHgwNCwgMHhkYywgMHgyZiwgMHgzYywgMHhhNywgMHgxZiwgMHgxMiwgMHg0OCwgMHhkOCwgMHg5OCwgMHhiMywKKyAgMHhjZSwgMHhiZiwgMHgzNiwgMHg5NywgMHhmMSwgMHg2YywgMHhkNiwgMHgyZiwgMHg3ZSwgMHhhZCwgMHg1MywgMHgwNywKKyAgMHgzMSwgMHhjMiwgMHg0MSwgMHg0MCwgMHg5MywgMHg4ZiwgMHgwZiwgMHhjNywgMHhhMSwgMHg0YSwgMHg5YywgMHhiZCwKKyAgMHg4ZiwgMHhmZSwgMHgyOCwgMHg2YSwgMHgzZCwgMHg0NiwgMHgxMCwgMHhlOCwgMHhlNCwgMHg2OSwgMHhjMywgMHhjNCwKKyAgMHgzYywgMHg0MSwgMHhlYSwgMHhlOCwgMHgzMCwgMHgzZSwgMHg5YywgMHg5NiwgMHgyMiwgMHg4YSwgMHg1ZSwgMHgxZiwKKyAgMHhhYywgMHhlZiwgMHg0YiwgMHgxNSwgMHhmYywgMHgwZiwgMHg1ZiwgMHgxYywgMHg1MiwgMHg5NSwgMHg1YywgMHg3YiwKKyAgMHg0MywgMHgzZiwgMHhjYiwgMHg4NCwgMHhjMywgMHgzYSwgMHg1YiwgMHhhMSwgMHgyZiwgMHg1MiwgMHhhZiwgMHg4ZiwKKyAgMHgwMCwgMHg1MSwgMHg3MiwgMHgwZiwgMHgyYiwgMHg1NSwgMHgwOSwgMHhiNiwgMHgwNywgMHhlZCwgMHgwZCwgMHgyMywKKyAgMHhiMCwgMHgzZCwgMHgwOCwgMHgwMywgMHgzZCwgMHhlNSwgMHhiYywgMHhmNywgMHg4YywgMHhmNSwgMHhlYywgMHhhOCwKKyAgMHgyMywgMHg0NCwgMHhmNCwgMHhlYywgMHhmZSwgMHg2ZiwgMHg1YSwgMHgxZiwgMHhlOCwgMHhkOSwgMHg5MSwgMHgwMSwKKyAgMHg0NSwgMHgyZCwgMHg2YSwgMHg4NiwgMHgwZiwgMHg0NywgMHgyMiwgMHg3ZiwgMHg4MiwgMHgwYSwgMHgwOCwgMHgxMiwKKyAgMHhmMSwgMHgzZCwgMHhiMywgMHgwMywgMHhmZSwgMHgwMSwgMHgyOSwgMHg0NSwgMHgxNCwgMHhjMywgMHg5ZCwgMHgwYiwKKyAgMHg2MCwgMHgyOSwgMHgyMywgMHhjYywgMHg3ZiwgMHhlMSwgMHg5NCwgMHg5OSwgMHgyMSwgMHgyZCwgMHg3MiwgMHg2OCwKKyAgMHg2YiwgMHg3MCwgMHg4OCwgMHgwOCwgMHhkNywgMHg1MCwgMHhhYSwgMHhhNSwgMHhjYywgMHgzOCwgMHg1MSwgMHgwNiwKKyAgMHhlNCwgMHhkNywgMHgyZiwgMHgxYSwgMHgxNSwgMHhlMSwgMHg1NSwgMHg2NCwgMHg3YiwgMHg0YiwgMHg1MiwgMHhlZSwKKyAgMHg3ZSwgMHhkZSwgMHg5MiwgMHg5NCwgMHhlZSwgMHg5ZCwgMHg3ZSwgMHgxOSwgMHg4OSwgMHg0NiwgMHg5NywgMHhkYiwKKyAgMHhlNiwgMHg0MywgMHg5YywgMHhlOSwgMHhlNiwgMHgzYiwgMHg0NSwgMHhmMSwgMHgyNiwgMHgxNywgMHg3YiwgMHg1MywKKyAgMHgyMywgMHg5MSwgMHgyMCwgMHg2OSwgMHgyYSwgMHhlNiwgMHhjMSwgMHhkNSwgMHhhNCwgMHgyNSwgMHhkZiwgMHg2OSwKKyAgMHg4MSwgMHg1MCwgMHgxYywgMHhhYywgMHhhMywgMHg2NCwgMHg1MiwgMHg5NSwgMHgzNywgMHgzNSwgMHhkNCwgMHg1MSwKKyAgMHgzNSwgMHg1MCwgMHg1MywgMHg0ZSwgMHhhYiwgMHhiZCwgMHgwYSwgMHg4YSwgMHhiMiwgMHhjZCwgMHhmNiwgMHhjZSwKKyAgMHgyZCwgMHgxMiwgMHhlZCwgMHgzNywgMHhlNywgMHg2ZiwgMHg0ZSwgMHhiOCwgMHhhNywgMHgwNCwgMHhkNywgMHgwNywKKyAgMHg1MywgMHg4ZCwgMHg5NSwgMHg0YywgMHg3NywgMHgzNSwgMHg1OSwgMHgxOCwgMHhjMywgMHhkYywgMHg2OCwgMHgyNywKKyAgMHgwZCwgMHhiMywgMHgzMiwgMHhlNSwgMHg4ZSwgMHg0MSwgMHgxMSwgMHgzMywgMHhjMiwgMHg4NCwgMHgxMiwgMHg2NCwKKyAgMHg1ZSwgMHhjNiwgMHg2MiwgMHgzZSwgMHhhMiwgMHg0OCwgMHg3YSwgMHg0OCwgMHg1OCwgMHg5ZSwgMHgwNiwgMHhmYywKKyAgMHhmMywgMHg3NSwgMHg1ZCwgMHg2MywgMHgyNywgMHgyMywgMHhjYiwgMHgwNiwgMHg3YSwgMHhkNCwgMHg2YiwgMHgzYSwKKyAgMHgwYSwgMHg3YSwgMHgyNCwgMHhiOCwgMHg3ZCwgMHg5ZSwgMHg5YSwgMHg4NiwgMHhlNiwgMHg2NywgMHgwMCwgMHhiNSwKKyAgMHhiNiwgMHg3YiwgMHg0NywgMHg1YSwgMHg5NywgMHhlZCwgMHg3YiwgMHgwMiwgMHhkYywgMHhhZSwgMHhiNCwgMHhhZCwKKyAgMHg2OSwgMHgwNSwgMHg4NSwgMHhiZCwgMHg1NiwgMHhmMywgMHg3MiwgMHgxZCwgMHg0YywgMHg3YywgMHhlNSwgMHg4YiwKKyAgMHhmNCwgMHgxMCwgMHhkMiwgMHg4NywgMHgyNCwgMHgzOCwgMHhiNSwgMHhhYSwgMHhjOCwgMHgzNywgMHhjOCwgMHg1YSwKKyAgMHhmNSwgMHgyMCwgMHg5MiwgMHhjNywgMHgyZiwgMHgwYSwgMHg4OSwgMHg0NiwgMHgwOCwgMHg2YywgMHhiOCwgMHhiNCwKKyAgMHg2NSwgMHhlYSwgMHg2OSwgMHhhYiwgMHgwNiwgMHgxYSwgMHhkYiwgMHhiYiwgMHhjMSwgMHgxMSwgMHgxYSwgMHg2MSwKKyAgMHg4YywgMHgyYywgMHgxNCwgMHg2OCwgMHhlMCwgMHgzNCwgMHgwZCwgMHg5ZCwgMHg5OSwgMHhkMSwgMHhkMSwgMHg4OSwKKyAgMHgyYywgMHg4NSwgMHhhZiwgMHgzZCwgMHg1MCwgMHhlZiwgMHhhMiwgMHgwYSwgMHhiNiwgMHhlYiwgMHg2MywgMHg1MiwKKyAgMHhiYiwgMHhkNiwgMHgxNSwgMHg2YSwgMHgyZiwgMHgwMywgMHgyYSwgMHgwYywgMHhlMCwgMHg2MCwgMHhlOCwgMHg1ZCwKKyAgMHg1MSwgMHhiNiwgMHhkZCwgMHg2NywgMHhhMSwgMHgzYiwgMHg1MywgMHhkYywgMHg2OSwgMHgwMywgMHgyZiwgMHg2NCwKKyAgMHg5NywgMHg5MywgMHg0MywgMHhjYiwgMHg4ZiwgMHg0MSwgMHhiYSwgMHg2OCwgMHhmZCwgMHgyMiwgMHhhYiwgMHgyZSwKKyAgMHhiOSwgMHhiNCwgMHg4MSwgMHg0MSwgMHg2OSwgMHhhMywgMHgzOCwgMHgxYSwgMHg2OSwgMHhlMiwgMHhlMSwgMHhjNCwKKyAgMHgyNSwgMHhjOSwgMHg3ZiwgMHgxYiwgMHhiMiwgMHg0NCwgMHg4NSwgMHhlNywgMHg2YiwgMHg0NSwgMHgzNSwgMHgzNSwKKyAgMHhlMiwgMHg5ZSwgMHhkZiwgMHgxYywgMHhjZSwgMHg5OCwgMHhhZCwgMHhjYywgMHhkMiwgMHhjMiwgMHhlYywgMHg4NCwKKyAgMHhiOSwgMHhiMSwgMHg2MSwgMHhjZSwgMHhjZCwgMHg3YywgMHhmZSwgMHhjNSwgMHhiYywgMHg1YywgMHhkNSwgMHg3NywKKyAgMHg5YiwgMHg4OSwgMHhiNCwgMHgxMSwgMHg5MiwgMHhjZSwgMHgxYiwgMHg4ZCwgMHhlNCwgMHgwNywgMHhkMSwgMHg1OSwKKyAgMHg5YSwgMHhmMywgMHg1ZCwgMHgxNSwgMHgxZiwgMHg1NSwgMHgyOCwgMHg1MiwgMHhmNSwgMHg0MywgMHhjZCwgMHg3ZSwKKyAgMHhkZiwgMHhjZSwgMHg3MCwgMHg5YiwgMHhkZSwgMHhjNywgMHhmZSwgMHg5YiwgMHgzZiwgMHg3NiwgMHg3NCwgMHg5NywKKyAgMHgxMSwgMHg0ZCwgMHg2MCwgMHhjMywgMHhmOSwgMHg2MSwgMHg5NiwgMHhiMywgMHg4YiwgMHhmMCwgMHhjNCwgMHhjYywKKyAgMHhlNiwgMHhhNCwgMHgxNSwgMHhmZCwgMHhiMywgMHgwMywgMHg5MiwgMHhmMCwgMHg2MCwgMHgyMCwgMHg2MCwgMHg4ZCwKKyAgMHg2MCwgMHhiOCwgMHg3NCwgMHgxMCwgMHg3MCwgMHg5YSwgMHg5ZSwgMHg4MiwgMHgxNiwgMHgzMSwgMHgxZCwgMHgzOSwKKyAgMHhhZiwgMHg4MywgMHg0MywgMHg1NCwgMHg0OSwgMHg3MiwgMHg1NiwgMHg3MiwgMHgxYiwgMHgwMiwgMHgyNywgMHg5NiwKKyAgMHhkMiwgMHgxNiwgMHg4OCwgMHhlYSwgMHg0NSwgMHg1OSwgMHg0ZSwgMHhkMiwgMHg2YSwgMHgzMywgMHhjOCwgMHg2YywKKyAgMHhhNCwgMHg2OSwgMHgwMywgMHhiMywgMHhkZCwgMHhjYywgMHg3ZCwgMHhjNiwgMHg4ZSwgMHgxNSwgMHhmMiwgMHhkNSwKKyAgMHgzYSwgMHgwNiwgMHhmYSwgMHgyNSwgMHhiZiwgMHgzOSwgMHg2MiwgMHgyZiwgMHhhYSwgMHg2ZiwgMHgzMiwgMHhjNywKKyAgMHhkMiwgMHgwYSwgMHhlNiwgMHgzMywgMHgzNywgMHhmNSwgMHhhNCwgMHgzNSwgMHgwZiwgMHg2NCwgMHhiYiwgMHhhMywKKyAgMHg4MiwgMHhjMSwgMHgxOSwgMHhmNywgMHg2YSwgMHhkYiwgMHhhMywgMHgwOCwgMHgyNiwgMHhiYiwgMHgxOSwgMHg0NiwKKyAgMHg0YSwgMHgxNywgMHg2YiwgMHgxNywgMHgwNSwgMHgyMCwgMHhhNCwgMHg3OCwgMHg4MiwgMHgyNiwgMHhhMSwgMHg3NCwKKyAgMHgwYiwgMHhiNSwgMHhhNywgMHgzOSwgMHg4ZSwgMHg2MiwgMHhhZCwgMHg2YSwgMHhlZiwgMHhiZSwgMHg4NywgMHg4OSwKKyAgMHg0OSwgMHgzMSwgMHgyNiwgMHhlMiwgMHg5OCwgMHg4NiwgMHg3NywgMHgwNSwgMHhjMSwgMHg5MSwgMHgyNCwgMHhhOSwKKyAgMHg3NSwgMHg0ZCwgMHg0MiwgMHg5YywgMHhjZiwgMHgwOCwgMHgzYywgMHhkMSwgMHhlNCwgMHhlYywgMHhiMywgMHhhZSwKKyAgMHhiYywgMHhlYSwgMHg3NywgMHhmZSwgMHgzYSwgMHhhYywgMHg1ZCwgMHhjNywgMHgyZiwgMHhmOSwgMHhmNSwgMHg2MywKKyAgMHhlYywgMHgzNywgMHgxYSwgMHhmYywgMHhiMiwgMHg2MiwgMHgzOCwgMHgzYywgMHhjNywgMHg0ZiwgMHhkOCwgMHhkZiwKKyAgMHgzOCwgMHg4YywgMHg1MCwgMHg1YiwgMHhjYiwgMHg2MCwgMHhjYywgMHhlNiwgMHhkOSwgMHgyNSwgMHhhZiwgMHhlZiwKKyAgMHhlNSwgMHhjOSwgMHhkMSwgMHg3NywgMHg0NywgMHgyNywgMHg4MSwgMHgyNCwgMHhmYywgMHg3YSwgMHgzYywgMHhkZSwKKyAgMHhmOSwgMHg5OCwgMHg1NSwgMHgxMywgMHgzNCwgMHg3YiwgMHhhNSwgMHhlNSwgMHg5MSwgMHg3NywgMHg5MywgMHg5ZSwKKyAgMHhiNCwgMHg5OSwgMHg2MCwgMHg5ZSwgMHg4MCwgMHhkMCwgMHhhNiwgMHg3YywgMHg2MCwgMHhkNywgMHgzMCwgMHhjMiwKKyAgMHhjMiwgMHhiYywgMHgxMiwgMHhmOSwgMHhhNCwgMHg2MCwgMHhjNywgMHhhMywgMHgzMiwgMHg0OSwgMHg1MiwgMHgwZSwKKyAgMHgyMSwgMHhlZSwgMHhhNiwgMHg1NSwgMHgzNiwgMHhlMywgMHgzZSwgMHhhOCwgMHg2MSwgMHhiMiwgMHgyMSwgMHhlMCwKKyAgMHg0MiwgMHg5MiwgMHhlNCwgMHgxNSwgMHhjZSwgMHg5NCwgMHgxMywgMHhjZSwgMHgxMSwgMHhlMiwgMHhiMiwgMHg4YiwKKyAgMHgwOCwgMHhkZSwgMHg1OCwgMHhhMiwgMHgyNCwgMHgzZiwgMHg3OSwgMHgyNSwgMHhkZiwgMHhhYywgMHhlOSwgMHgyMiwKKyAgMHhkMSwgMHgyZSwgMHgzMSwgMHg1NiwgMHgxYywgMHg5YiwgMHgxZCwgMHhhNywgMHhkZiwgMHgwZSwgMHgwZiwgMHhjNiwKKyAgMHhjMywgMHg1NywgMHg0NywgMHgyNywgMHg0NywgMHg1ZiwgMHgxZiwgMHg5YywgMHgxZiwgMHgzMSwgMHg0NCwgMHhiYSwKKyAgMHhlMiwgMHgyNiwgMHhjNywgMHhmNSwgMHgxNiwgMHg5YiwgMHg0ZiwgMHhmMCwgMHhhZCwgMHg2YywgMHg0YywgMHg4MiwKKyAgMHgwZCwgMHgyMCwgMHg4YywgMHg3ZCwgMHg2YSwgMHgxMCwgMHg4ZCwgMHgxNiwgMHgyZiwgMHgwZSwgMHhiZiwgMHgzNSwKKyAgMHgyNSwgMHg0YiwgMHhhNywgMHg2OSwgMHhmNSwgMHg2OSwgMHhlZSwgMHgyNiwgMHhjNCwgMHgxOSwgMHhkOSwgMHgyNiwKKyAgMHg1MywgMHgwZCwgMHg1NiwgMHg5MCwgMHhjZSwgMHg2ZiwgMHhhOCwgMHhjZCwgMHhkYiwgMHhmYiwgMHg4MiwgMHgzMiwKKyAgMHhlZSwgMHg3MywgMHg1YiwgMHg3MSwgMHhjYSwgMHhhYiwgMHhmNywgMHg5ZCwgMHgzYywgMHg2ZSwgMHg2NywgMHg1YiwKKyAgMHgwNywgMHgwYywgMHhiOCwgMHhmYiwgMHhiOCwgMHgwYiwgMHg0MCwgMHg0YiwgMHhjYiwgMHhhMSwgMHg5ZSwgMHhiYywKKyAgMHhjMiwgMHg4MywgMHgxZCwgMHhkYywgMHg3MiwgMHgwNywgMHhiNywgMHg4ZSwgMHgxNiwgMHgzMywgMHhmMiwgMHhiYiwKKyAgMHgwOCwgMHgwYSwgMHgwYSwgMHhhNCwgMHg2YSwgMHgzZCwgMHhiZCwgMHhjYSwgMHgxNiwgMHgxNiwgMHhkZiwgMHg4YiwKKyAgMHg5MiwgMHgxOCwgMHgxMCwgMHgyOSwgMHhlNywgMHhlYSwgMHg0YiwgMHhjMSwgMHgyMSwgMHhjMiwgMHg4ZCwgMHg5ZiwKKyAgMHg2NCwgMHgzMCwgMHg5MSwgMHgxMSwgMHhiNSwgMHhiYiwgMHgwZSwgMHgwNCwgMHgwNSwgMHg1MiwgMHg4MywgMHhhOCwKKyAgMHg4YiwgMHgwMSwgMHgwNSwgMHg2MywgMHgyOCwgMHhiOSwgMHgwNywgMHg2NSwgMHhjOCwgMHgyMywgMHhhNCwgMHgyMSwKKyAgMHg3YSwgMHhkOSwgMHgwNSwgMHg2MSwgMHgzNiwgMHg4MSwgMHhmNCwgMHgyMiwgMHhlYywgMHg2YSwgMHgxMSwgMHgxNiwKKyAgMHgxNSwgMHhkZCwgMHg0MiwgMHhiOCwgMHg5NywgMHhmMCwgMHg4NiwgMHhlMSwgMHg0NywgMHhkYywgMHgwZCwgMHg0NSwKKyAgMHhkNCwgMHg2OCwgMHg5YSwgMHhlMSwgMHhjZiwgMHg3MSwgMHg1YiwgMHg3NSwgMHhmZCwgMHg1NiwgMHhhMCwgMHgyYSwKKyAgMHg1NywgMHg3NCwgMHg4OSwgMHg0MiwgMHhhMCwgMHg1OCwgMHg3MiwgMHhmNywgMHgxYSwgMHhhNiwgMHhlMSwgMHgyNiwKKyAgMHhjYiwgMHhjYywgMHg4MSwgMHhkMSwgMHhkYSwgMHg2NywgMHg3MiwgMHgzOCwgMHhmOCwgMHg5MSwgMHhmNCwgMHgzNiwKKyAgMHgxOCwgMHhiOSwgMHhmMiwgMHg5MCwgMHhhOCwgMHg3NywgMHhkZSwgMHg2MywgMHgxOSwgMHhhZCwgMHgwNiwgMHgwOCwKKyAgMHgwNCwgMHgzYywgMHhhZiwgMHg3ZiwgMHgwZCwgMHhkYiwgMHg1NCwgMHhkOCwgMHg4YSwgMHhiYywgMHg2MSwgMHhiNiwKKyAgMHgwYywgMHg1MCwgMHhjMCwgMHhiNywgMHg1ZSwgMHgyYiwgMHhhOCwgMHhiZiwgMHg1NSwgMHgxNywgMHhmZCwgMHhjZSwKKyAgMHg2ZCwgMHg1ZSwgMHhhMywgMHhhNSwgMHhhMywgMHhiMywgMHg3NywgMHhkYywgMHhkMSwgMHhmZCwgMHg4NCwgMHhmZSwKKyAgMHgyMiwgMHhiMSwgMHhiOSwgMHgzYSwgMHgwNiwgMHhhYSwgMHgyNywgMHgyZCwgMHg0NSwgMHgyOCwgMHg2NywgMHgyNSwKKyAgMHg0MywgMHgzNCwgMHhjNiwgMHg4NiwgMHhkYiwgMHgzNSwgMHg2NywgMHg5MSwgMHhkMywgMHg1NCwgMHgwNSwgMHhiZCwKKyAgMHg1ZCwgMHhhZSwgMHgwMywgMHgzNiwgMHgzOCwgMHhhOCwgMHgxMSwgMHhiMCwgMHhmZCwgMHg1ZCwgMHgzMSwgMHgxNSwKKyAgMHg5YSwgMHg4MywgMHhlMCwgMHgxZSwgMHg2MSwgMHgxNiwgMHg5YywgMHg2YiwgMHhhYiwgMHg0MSwgMHg4ZiwgMHg1MywKKyAgMHhmYSwgMHgyNSwgMHhlOSwgMHg5MCwgMHg0MiwgMHgzZSwgMHgzZCwgMHg5YywgMHhkNywgMHhkNSwgMHg1ZCwgMHhkMSwKKyAgMHg5MCwgMHhmNCwgMHg1NiwgMHg1MiwgMHhhMSwgMHgzMywgMHg2YywgMHg2YSwgMHhlNiwgMHgzMSwgMHg3MiwgMHhlYiwKKyAgMHhlNCwgMHg0ZiwgMHhiMCwgMHgwZiwgMHgxYSwgMHg1OCwgMHg5ZSwgMHg2MSwgMHg4OCwgMHgwMywgMHgzNSwgMHhlZSwKKyAgMHhiNiwgMHhhYSwgMHg0MiwgMHhmMywgMHhkNywgMHgzOSwgMHgzZiwgMHhkNywgMHhlNiwgMHhlNSwgMHgwZiwgMHgwNCwKKyAgMHhlYiwgMHg0OCwgMHhhMiwgMHhkMiwgMHg1NCwgMHg1OCwgMHg1MCwgMHgxNiwgMHg3ZSwgMHg0YiwgMHgzMiwgMHg4YiwKKyAgMHhhNCwgMHg4NCwgMHhkMiwgMHgwNSwgMHg0ZCwgMHg1OCwgMHhjYiwgMHhlZSwgMHgyNCwgMHhiMCwgMHhjZSwgMHgzYSwKKyAgMHhkZSwgMHg4NSwgMHgwNCwgMHgzMCwgMHg1MywgMHhhMCwgMHhkNCwgMHhjMiwgMHg1MCwgMHg5OSwgMHhiMCwgMHg1MiwKKyAgMHgyMiwgMHgxNiwgMHg0NywgMHgxMSwgMHhiOSwgMHg3MywgMHg2NiwgMHhlMywgMHg2ZCwgMHg4NywgMHgzNSwgMHgyYywKKyAgMHg1NCwgMHg4ZSwgMHgyZCwgMHhhMiwgMHg5NywgMHgxMywgMHg2ZCwgMHg3NCwgMHhiMSwgMHhiMiwgMHg4YywgMHhlZCwKKyAgMHg2NiwgMHgxOCwgMHg1OCwgMHg0ZSwgMHhhMSwgMHgwYSwgMHg5OSwgMHgwYSwgMHg2ZiwgMHgwZSwgMHgzYSwgMHgwZCwKKyAgMHgwOSwgMHhiZCwgMHg5NSwgMHgzMSwgMHhhYSwgMHg2MiwgMHhlZSwgMHhlMiwgMHgwNSwgMHg1MCwgMHg1YSwgMHgyNCwKKyAgMHhkOCwgMHg5NywgMHg2YiwgMHg2OCwgMHg1ZCwgMHhlZCwgMHgyOCwgMHhjMywgMHhmMSwgMHg4MCwgMHg3YSwgMHhhOSwKKyAgMHg2MywgMHg3MSwgMHhiYiwgMHg0ZSwgMHg4NywgMHg1NSwgMHg1NCwgMHg0OCwgMHg3NywgMHhiMywgMHhhYiwgMHhkZCwKKyAgMHg2YSwgMHgxZiwgMHhhZSwgMHhjZCwgMHgzMCwgMHhkZiwgMHhjNiwgMHg3NCwgMHhjOSwgMHhiMywgMHg2MywgMHg2MywKKyAgMHhiNiwgMHg0NCwgMHgzYiwgMHhjMSwgMHhmNywgMHg1ZiwgMHg2MSwgMHg3MiwgMHg1MCwgMHg1MiwgMHhmMSwgMHgwNiwKKyAgMHgyZSwgMHgzZCwgMHgwMSwgMHgxYSwgMHg1ZCwgMHg2YSwgMHhkNywgMHgyOCwgMHhhNiwgMHhlNSwgMHg0OSwgMHg2NiwKKyAgMHhiZSwgMHg5OCwgMHg1MywgMHg0YiwgMHhiZCwgMHg5NiwgMHg2YiwgMHhiZiwgMHhmYiwgMHhmZCwgMHhkYSwgMHhkMCwKKyAgMHhkZiwgMHhmNCwgMHg0YSwgMHgyZCwgMHgyZiwgMHg3YSwgMHgxMSwgMHhmMSwgMHg0ZSwgMHhhZiwgMHgxNSwgMHgyNSwKKyAgMHgyOCwgMHg4MSwgMHhjMSwgMHg5YywgMHg4NiwgMHg2NywgMHg5MCwgMHhlZCwgMHgxNCwgMHhhMSwgMHg0NCwgMHgxMiwKKyAgMHg2NCwgMHg1MiwgMHg1NiwgMHg2MSwgMHhhNSwgMHhlYywgMHhkNCwgMHgwMiwgMHgzOCwgMHhlOSwgMHhhMywgMHg2OSwKKyAgMHg3ZCwgMHgxZCwgMHhiZiwgMHhlMSwgMHhmNSwgMHg3NSwgMHhmNCwgMHg4NiwgMHhlYiwgMHg3ZiwgMHg3MCwgMHhkMywKKyAgMHhiZCwgMHgwNiwgMHhhMSwgMHg3ZCwgMHg3NywgMHg3ZCwgMHhmYywgMHg1ZCwgMHgwZiwgMHhiNiwgMHg4NCwgMHg3NywKKyAgMHhjMywgMHg3NSwgMHg3NSwgMHhhMCwgMHg3NiwgMHhlZiwgMHg4ZSwgMHhmMywgMHgyNSwgMHg5NywgMHgzMywgMHhiMiwKKyAgMHhkNywgMHg1YywgMHhlZSwgMHg3OSwgMHhkNCwgMHhlNSwgMHhlZiwgMHhmNywgMHhmNSwgMHhlNSwgMHg3YiwgMHg2ZSwKKyAgMHhiZSwgMHgyZiwgMHg5NywgMHhmYiwgMHhlYywgMHg2MCwgMHhmYywgMHg1ZCwgMHhlNywgMHg1YSwgMHg3YiwgMHgxNywKKyAgMHgzOSwgMHhiMCwgMHg0OCwgMHgyNCwgMHgwMSwgMHg5ZSwgMHhlMiwgMHhiZSwgMHg0YywgMHgzYywgMHgzNCwgMHg1NiwKKyAgMHg5NCwgMHhkZSwgMHhlYiwgMHhlYiwgMHg4NywgMHhkMCwgMHhiYiwgMHg5OSwgMHg0OCwgMHg0MCwgMHhlZiwgMHhjMSwKKyAgMHgxZSwgMHhhZiwgMHhhMywgMHg3NywgMHhmZiwgMHhhMCwgMHhiYSwgMHg1OCwgMHgwOCwgMHgxZSwgMHhjNSwgMHgxNywKKyAgMHhkYywgMHg5NywgMHg5YiwgMHgyYSwgMHg0MSwgMHgyMiwgMHhhNCwgMHgwZSwgMHg0YSwgMHhhNywgMHhlMCwgMHgyMCwKKyAgMHg0OCwgMHgzYiwgMHhjYywgMHgzOCwgMHhjNCwgMHgzYywgMHg3ZiwgMHgwZSwgMHhhMSwgMHhlMywgMHg4NSwgMHg4MCwKKyAgMHhjZSwgMHhmNSwgMHg0NCwgMHg3ZiwgMHgzNiwgMHhhMSwgMHhjYiwgMHgwNSwgMHgwOSwgMHhlOCwgMHgxYywgMHgxYSwKKyAgMHhmNiwgMHhkOSwgMHhjMCwgMHgyMywgMHg3MCwgMHg4ZiwgMHg2YSwgMHhmZCwgMHg2YSwgMHhmMSwgMHhjOCwgMHgwZSwKKyAgMHg1OSwgMHg1YywgMHgxMiwgMHgyNywgMHg3ZSwgMHgxZCwgMHhlMiwgMHg0MywgMHgwNCwgMHg4NSwgMHg2NCwgMHg2MCwKKyAgMHg0YiwgMHg3MiwgMHhhYiwgMHg2OSwgMHhlOCwgMHhhMSwgMHhiNywgMHgwNSwgMHhlMiwgMHg3ZSwgMHg4ZCwgMHgwNCwKKyAgMHg0YywgMHgxNiwgMHhjOSwgMHhhYSwgMHg5ZSwgMHg4ZCwgMHgyMCwgMHhiMywgMHg2MSwgMHhmMCwgMHhmYiwgMHhiMCwKKyAgMHgwMywgMHg3ZSwgMHg1YiwgMHhjYywgMHgzNiwgMHg4OCwgMHg5NSwgMHg0ZSwgMHgyMiwgMHg1NiwgMHhjNCwgMHg1ZSwKKyAgMHg2NywgMHg5NCwgMHgwOSwgMHgwMiwgMHg2YywgMHhiMywgMHhlZSwgMHgzZCwgMHgyNSwgMHgzNSwgMHgwZiwgMHhmYSwKKyAgMHgwMCwgMHgyOSwgMHgyYSwgMHhjMywgMHhiYywgMHgxOCwgMHg4NiwgMHhkOSwgMHhkMiwgMHhlZCwgMHhjOCwgMHg3MSwKKyAgMHgwMywgMHhjOCwgMHg1YiwgMHhjZiwgMHg0OCwgMHhhNCwgMHg3MiwgMHg0NiwgMHg1MiwgMHg3NSwgMHgyNSwgMHg3NiwKKyAgMHg5MSwgMHgyNiwgMHg1MiwgMHg0NSwgMHg0OSwgMHg3ZSwgMHg3ZSwgMHg4OCwgMHhkZSwgMHg0OCwgMHhkZCwgMHg2ZCwKKyAgMHgxNCwgMHhiNiwgMHhhZCwgMHhkZCwgMHg0MywgMHhhNiwgMHgyOSwgMHg1YiwgMHhmZSwgMHhiNSwgMHg2NywgMHgxZCwKKyAgMHg2OCwgMHhlNCwgMHg1OSwgMHg1MSwgMHgwZiwgMHg1ZCwgMHhjNywgMHhmNywgMHg5NywgMHhmNiwgMHhhZiwgMHg4MSwKKyAgMHg3ZCwgMHhmMSwgMHhlYSwgMHhlZCwgMHhiOCwgMHhhMywgMHg1MiwgMHhkNCwgMHgxOSwgMHhkNywgMHg5MCwgMHg1YywKKyAgMHg4MiwgMHg2ZiwgMHg5OCwgMHhkZiwgMHg1YiwgMHhmZiwgMHg1YSwgMHhlZCwgMHgzYSwgMHgyYywgMHhjYSwgMHg5MCwKKyAgMHgyMSwgMHgyNCwgMHhiZiwgMHhmOSwgMHhjNCwgMHhhOCwgMHg1MywgMHgzOCwgMHgyYiwgMHhkNSwgMHhjYSwgMHgyYiwKKyAgMHhkOCwgMHg3MywgMHgwOCwgMHg3NiwgMHhkMywgMHgxYSwgMHhkYywgMHhlYywgMHhhNCwgMHhmMiwgMHg5ZCwgMHg5YywKKyAgMHg0OSwgMHgzMSwgMHhlMCwgMHgyNCwgMHgxNiwgMHgxMCwgMHgzNCwgMHg0ZiwgMHg2ZCwgMHhmNSwgMHhiYywgMHg2NCwKKyAgMHg5MCwgMHg3NywgMHg4MSwgMHgzNSwgMHhiMywgMHg0ZCwgMHhiMywgMHg0OCwgMHgzNSwgMHhiNCwgMHg4MywgMHhjNiwKKyAgMHgyMiwgMHg1MywgMHg1YiwgMHgwMiwgMHhjNCwgMHgyNCwgMHg1OSwgMHg2NSwgMHhkYiwgMHhkMSwgMHgyZCwgMHhlNiwKKyAgMHgzZCwgMHhkNiwgMHgyZCwgMHg1YywgMHg1ZSwgMHgzZiwgMHgxOSwgMHhkMiwgMHhlMywgMHg4OSwgMHgxYSwgMHg4YiwKKyAgMHhmYywgMHhjMywgMHg2NywgMHhmOCwgMHhlMSwgMHhhOCwgMHhiYiwgMHhkMSwgMHg0MSwgMHhhNSwgMHg4ZCwgMHhmNCwKKyAgMHg2MywgMHhiNSwgMHg4ZSwgMHhkNiwgMHg1NSwgMHgzMSwgMHhhMywgMHg1ZSwgMHgxZSwgMHgzNCwgMHg2ZCwgMHhlZCwKKyAgMHhjYywgMHg0MCwgMHhmMCwgMHg4YiwgMHhhZSwgMHgxOSwgMHg0ZSwgMHhhMiwgMHgzMCwgMHg0YiwgMHg4NiwgMHg4NCwKKyAgMHg4NiwgMHgyMSwgMHg2YywgMHg1MiwgMHhkZCwgMHgzYSwgMHhmNCwgMHhjNywgMHg4ZiwgMHgyMywgMHg4NywgMHg2ZSwKKyAgMHg2NywgMHhmYywgMHg1MiwgMHg5NiwgMHhmOSwgMHg4MCwgMHgyMywgMHg5ZiwgMHhlNCwgMHhkYywgMHgzNCwgMHhlYiwKKyAgMHg2NSwgMHhiZSwgMHgxYywgMHhlYSwgMHg1YiwgMHgyYywgMHgzYywgMHgxNiwgMHhlOSwgMHg0NywgMHgxMSwgMHhlYSwKKyAgMHg0ZiwgMHg0MCwgMHgwYSwgMHg2MSwgMHg2ZiwgMHgyOCwgMHg2ZCwgMHhkZSwgMHhlYywgMHg4NywgMHhiNSwgMHhmOCwKKyAgMHg0OSwgMHhhMSwgMHgxOSwgMHhkMSwgMHhiNCwgMHg5YSwgMHhjYywgMHhkNSwgMHhjNywgMHgwMywgMHg2NSwgMHg5NiwKKyAgMHhiZiwgMHgxMywgMHgyYiwgMHgwZCwgMHhkMywgMHgyNCwgMHg2ZSwgMHhkZiwgMHg2ZCwgMHhhMywgMHg2NSwgMHgyMCwKKyAgMHg5OCwgMHg4OSwgMHg3ZCwgMHhmNywgMHhkZSwgMHhmMywgMHg3MywgMHhmNCwgMHhiMCwgMHhlZSwgMHhmYywgMHg3NCwKKyAgMHhjZiwgMHhmZSwgMHhmNywgMHgzOCwgMHhiZiwgMHg2NywgMHg5ZiwgMHhlNCwgMHhmYywgMHg5ZSwgMHhmZCwgMHg2ZiwKKyAgMHg3MywgMHg3ZSwgMHhjZiwgMHhmZSwgMHhmNSwgMHhmMywgMHg3YiwgMHhkMiwgMHgzZCwgMHhiZiwgMHg2NywgMHhmZiwKKyAgMHhiYiwgMHg5YywgMHg5ZiwgMHgzNiwgMHg2ZCwgMHhkMywgMHhkMywgMHhjYiwgMHg4MiwgMHhmMywgMHgxYiwgMHg0YiwKKyAgMHgyNiwgMHg4OCwgMHhhMiwgMHhmZCwgMHhkMSwgMHg2NiwgMHhlYiwgMHg1YiwgMHgxYywgMHg3NywgMHg5MSwgMHg1NCwKKyAgMHg0OCwgMHg3NiwgMHg2YywgMHg2YiwgMHgzNiwgMHgyZSwgMHhlMywgMHg0ZCwgMHhmNiwgMHg3NCwgMHg0MSwgMHg5MSwKKyAgMHg0ZSwgMHg1ZSwgMHgzYSwgMHhlNCwgMHhmMSwgMHg1OSwgMHg2MiwgMHgzZiwgMHhlZiwgMHgxZCwgMHg4MiwgMHg0MywKKyAgMHhlMywgMHgxMiwgMHg2ZiwgMHg3MCwgMHhkNCwgMHhlYiwgMHg2YywgMHhkNiwgMHg3OCwgMHg0NiwgMHgxYiwgMHhjMCwKKyAgMHg1NSwgMHg5OCwgMHhiNSwgMHhhYiwgMHgxZCwgMHg4ZSwgMHgwMSwgMHg2ZSwgMHg5OSwgMHhjZCwgMHhkYiwgMHg3ZiwKKyAgMHg0OSwgMHhmYiwgMHgzNSwgMHhlNCwgMHhjNywgMHhmZiwgMHgxYywgMHhhZCwgMHg4OSwgMHg0MywgMHhmZiwgMHg2NywKKyAgMHgzNywgMHhhOSwgMHg1OCwgMHhhNCwgMHhjMSwgMHhkYiwgMHhiYSwgMHgwNywgMHgxZiwgMHg1YiwgMHg1ZiwgMHgwYiwKKyAgMHgzMSwgMHgzZCwgMHhjMiwgMHhlOSwgMHhmMCwgMHhmZSwgMHgyMywgMHgyYiwgMHhhZiwgMHgwMCwgMHhmNywgMHhmMywKKyAgMHhmMiwgMHhmZCwgMHhiYiwgMHhkMCwgMHhmNywgMHg2NiwgMHg5NiwgMHg2YSwgMHhhYiwgMHgwMywgMHgxZCwgMHhlMCwKKyAgMHhhMiwgMHgzOSwgMHhhZiwgMHgyMSwgMHgxOSwgMHhmNywgMHg0MywgMHg2MCwgMHhjZiwgMHg5YiwgMHhlYiwgMHg3OCwKKyAgMHhmYSwgMHhjZCwgMHhiNiwgMHhlNywgMHgwNSwgMHg0MiwgMHgyMCwgMHhhMiwgMHg4YywgMHg1YywgMHgzNCwgMHhhZSwKKyAgMHhjZSwgMHhkNSwgMHgwMiwgMHhmNCwgMHg3YSwgMHhlMCwgMHg5ZiwgMHhiMCwgMHhjYiwgMHg4YSwgMHhjZiwgMHgxYywKKyAgMHhiYywgMHgzNywgMHgzYiwgMHg0NywgMHgxMiwgMHhhOSwgMHhlYiwgMHhhZCwgMHg4MiwgMHhhNiwgMHg5OSwgMHhhNCwKKyAgMHgwYywgMHhlNiwgMHhiNSwgMHg4MCwgMHhjYiwgMHgxMSwgMHhkYSwgMHg4NiwgMHg0YSwgMHg0MiwgMHg0YywgMHhlYywKKyAgMHhiNywgMHg0YywgMHhlMiwgMHg3YiwgMHhiNiwgMHhkNywgMHhkYSwgMHhkNSwgMHg1NywgMHhkMCwgMHgxNSwgMHg1NywKKyAgMHg4YiwgMHhhNSwgMHg1NCwgMHgyMCwgMHhkZiwgMHg1MywgMHg4MSwgMHgwOSwgMHgxMywgMHg3YywgMHgzYiwgMHhmOSwKKyAgMHgxZSwgMHhlNSwgMHg5NSwgMHhlYywgMHhiMiwgMHg5NywgMHg2YSwgMHgyNCwgMHhiNSwgMHhjYSwgMHg2ZCwgMHhmNSwKKyAgMHg4NSwgMHhjNiwgMHhjMywgMHg3YSwgMHhmMCwgMHhkMywgMHhhMiwgMHg5MCwgMHg1NSwgMHgxZCwgMHg3MCwgMHgwMSwKKyAgMHgyZSwgMHg5YiwgMHg1MSwgMHhjOCwgMHg3NiwgMHhlMiwgMHg5MSwgMHg5ZSwgMHhjZSwgMHgyYywgMHg4NSwgMHgxMCwKKyAgMHg3YywgMHgwZSwgMHg1NywgMHg1MSwgMHhmMCwgMHg0MiwgMHhmNiwgMHhhZSwgMHg5MSwgMHhiMiwgMHhjMSwgMHg2MSwKKyAgMHg0NSwgMHg5YSwgMHgzNCwgMHgyMywgMHgxMSwgMHg5YSwgMHhkNywgMHhjZCwgMHg1MCwgMHgyMywgMHgyOSwgMHhjNywKKyAgMHhhYSwgMHg1ZCwgMHhmMCwgMHg1OSwgMHg2NywgMHgwZiwgMHgwYywgMHhhOCwgMHg1OCwgMHhmZCwgMHg4MCwgMHg2YSwKKyAgMHhiNywgMHhmMCwgMHgxNCwgMHgwOCwgMHhiYSwgMHg4NywgMHg4NSwgMHg2ZiwgMHgyYSwgMHhhZSwgMHg2ZCwgMHg3OSwKKyAgMHhjZSwgMHhlNCwgMHhhZSwgMHg0ZCwgMHgyOSwgMHhjMywgMHg0OSwgMHg1OCwgMHg2YiwgMHhhNywgMHhmOSwgMHhkYiwKKyAgMHhiYywgMHhlMiwgMHhkZiwgMHg4MSwgMHgzOCwgMHg3YSwgMHgyYSwgMHgzNywgMHg1OCwgMHgzMywgMHhmMywgMHgzZCwKKyAgMHgxMywgMHhjMSwgMHg0ZCwgMHhmMiwgMHhlYiwgMHg0MiwgMHg3YSwgMHg4YSwgMHhiMSwgMHg3NCwgMHg3NSwgMHhkMiwKKyAgMHgwMiwgMHg4MywgMHhmYiwgMHg4YSwgMHhiNCwgMHg4ZCwgMHg1NCwgMHg3NywgMHgwMCwgMHg2MiwgMHg2OCwgMHg3MiwKKyAgMHg0MiwgMHg2ZiwgMHg5MCwgMHgyMywgMHgyOCwgMHgzOCwgMHgwNCwgMHhkMSwgMHg2MywgMHg2NCwgMHg0OCwgMHgyYiwKKyAgMHg2ZCwgMHgzOCwgMHg5YiwgMHg3MCwgMHhjMiwgMHhmMCwgMHg1NSwgMHhlNiwgMHg5NywgMHg1NywgMHg1YiwgMHg2NCwKKyAgMHg0YiwgMHhjOSwgMHg1MywgMHhjNCwgMHhkNCwgMHgwYiwgMHg0OSwgMHg2ZSwgMHgwZCwgMHhiYSwgMHgxOCwgMHgwMSwKKyAgMHgzYywgMHg0MSwgMHgyNiwgMHhiZiwgMHgyMSwgMHg2MCwgMHg0ZiwgMHgyYiwgMHhjMSwgMHhiMywgMHhlNSwgMHgxZSwKKyAgMHhjZSwgMHhjMCwgMHhjNiwgMHhmOSwgMHhlZCwgMHg4YSwgMHg5OSwgMHhiZCwgMHhkYywgMHg3MSwgMHg5ZiwgMHg0NSwKKyAgMHg2NSwgMHg5NywgMHgxYywgMHhkMSwgMHg1ZiwgMHg5NywgMHg1OCwgMHgzYywgMHg3NiwgMHg5ZCwgMHgxMiwgMHgxOCwKKyAgMHhkYiwgMHhkYSwgMHhhMiwgMHhiMiwgMHgzMSwgMHhhMSwgMHgxYywgMHgxNSwgMHg0ZCwgMHg1NSwgMHgyZSwgMHgwZCwKKyAgMHhmNSwgMHg3YywgMHg5ZCwgMHhkMiwgMHhhYSwgMHg0MCwgMHg0MSwgMHhhZiwgMHhkMiwgMHg2YywgMHgxMSwgMHg1NCwKKyAgMHhiMCwgMHg3MSwgMHhiMywgMHg3MiwgMHg2ZCwgMHgwYywgMHhhOSwgMHhhZCwgMHhjYiwgMHhhZCwgMHhjNywgMHgxNSwKKyAgMHhlNiwgMHgwMSwgMHg2ZiwgMHg0ZCwgMHg1MiwgMHg5OSwgMHgyZCwgMHgzMywgMHgwNCwgMHgyZSwgMHhhNSwgMHgyNSwKKyAgMHg2OCwgMHhjMywgMHgzNSwgMHgzZSwgMHgwOSwgMHg2ZCwgMHgzOSwgMHhlZCwgMHg5NiwgMHhiNCwgMHgxNiwgMHhiYSwKKyAgMHgwMCwgMHg0MywgMHgwZCwgMHhiYiwgMHhkMSwgMHgxMSwgMHgxOSwgMHhmYSwgMHg2NSwgMHg5NCwgMHg3MywgMHhmMCwKKyAgMHhiYSwgMHhiMywgMHhiOSwgMHgyMiwgMHg3YiwgMHgyOCwgMHgzNiwgMHhmZCwgMHhiNCwgMHhiYSwgMHg1YiwgMHg5MiwKKyAgMHg3YiwgMHg0MCwgMHg0YSwgMHg3NSwgMHhmOSwgMHg5ZSwgMHhkMywgMHhlYywgMHgxOCwgMHg1OCwgMHgzNiwgMHg1OSwKKyAgMHg1YiwgMHgxZCwgMHhmZCwgMHhiZSwgMHhmNiwgMHgwMCwgMHhkYSwgMHgyMSwgMHg0ZCwgMHhjOSwgMHgzMSwgMHg0NCwKKyAgMHg0OCwgMHhjYiwgMHg4NCwgMHg4MSwgMHgyNSwgMHhkMiwgMHg5NSwgMHhjNCwgMHhjZSwgMHgwYywgMHhhMCwgMHgyZiwKKyAgMHhiZCwgMHg4ZCwgMHhkMywgMHhhNCwgMHgxZCwgMHhkYSwgMHhjOCwgMHhjYiwgMHgwMCwgMHg4MiwgMHhlZCwgMHg2MSwKKyAgMHhlOCwgMHg4MCwgMHgzMCwgMHgxMywgMHgxMSwgMHg0OSwgMHhkOSwgMHhmNiwgMHhlMiwgMHhlMCwgMHhmMiwgMHgzYywKKyAgMHg4MywgMHg3ZiwgMHg4NCwgMHgwOSwgMHhhNywgMHhhZSwgMHgyMywgMHg0MywgMHg0YSwgMHg0MCwgMHgxMCwgMHg0NSwKKyAgMHg4MCwgMHgzOCwgMHg2MywgMHg2YywgMHhkYywgMHhjYiwgMHhhMSwgMHg2MCwgMHg2NywgMHhmNCwgMHhkMCwgMHg4OSwKKyAgMHg5NywgMHg1MywgMHgyOSwgMHhhNCwgMHhjYiwgMHgzNSwgMHhjYiwgMHhjOCwgMHhjOCwgMHhiMywgMHg4ZSwgMHg0NywKKyAgMHhmMCwgMHgzNCwgMHg0ZCwgMHhhNywgMHg1MCwgMHg1OCwgMHgzMCwgMHhjMywgMHg2ZSwgMHg4MywgMHg5OCwgMHgwMywKKyAgMHhkMCwgMHg1ZSwgMHg4ZSwgMHhjZSwgMHhkMywgMHg0YiwgMHhlNiwgMHg1YywgMHg5NiwgMHhkNywgMHg3OSwgMHg0NSwKKyAgMHhlOSwgMHhlOCwgMHg0OSwgMHg1NiwgMHgzMCwgMHg3NCwgMHhhMiwgMHg2MSwgMHg2NiwgMHg4NiwgMHg5NywgMHgyYywKKyAgMHhjYywgMHhlZCwgMHgxOSwgMHhiZSwgMHgzNSwgMHg2YiwgMHgxZiwgMHgwNiwgMHgwMCwgMHg0NywgMHhlNCwgMHg5YiwKKyAgMHgxMCwgMHg2OSwgMHhlMSwgMHhkMiwgMHgxYywgMHg5MCwgMHg1ZSwgMHg4ZCwgMHg4NCwgMHgxNCwgMHhmYSwgMHhkMiwKKyAgMHgyOCwgMHg4NiwgMHg5OSwgMHgzMywgMHgyZCwgMHgyYiwgMHgwMSwgMHhhZSwgMHhhMSwgMHg4YywgMHgxOCwgMHg3MywKKyAgMHhmMywgMHg5MCwgMHgwNiwgMHg1NCwgMHg1YiwgMHgzYywgMHgwMiwgMHgxNywgMHgyYSwgMHg2ZiwgMHhiNywgMHhkOCwKKyAgMHg4YSwgMHgxNCwgMHgxNiwgMHg1YiwgMHgxZCwgMHg1NSwgMHgzMCwgMHgxNiwgMHg5MSwgMHg4YiwgMHgzZiwgMHhjYiwKKyAgMHg2YSwgMHhlYSwgMHhkNywgMHhjNCwgMHgxMywgMHg0OCwgMHgwZSwgMHg3YywgMHgxNiwgMHgwNSwgMHgwNCwgMHgzMSwKKyAgMHg2YSwgMHg0ZCwgMHgyZiwgMHg5ZCwgMHgxNSwgMHhiYSwgMHgzNCwgMHg4MCwgMHgwNywgMHhhMywgMHgxMywgMHg3ZiwKKyAgMHg2ZiwgMHgxMSwgMHg1NSwgMHg5NCwgMHgyZCwgMHhjYSwgMHgxMSwgMHhkNiwgMHg3MCwgMHg5MiwgMHgwMiwgMHg1MiwKKyAgMHg4MSwgMHg1YywgMHgyOCwgMHhmOCwgMHgyNywgMHg3YywgMHg3YywgMHhiNCwgMHhkMSwgMHgxMiwgMHhhZCwgMHg4ZCwKKyAgMHg2OCwgMHgxNiwgMHhkMiwgMHg0OCwgMHhjYSwgMHgwMiwgMHhkNiwgMHhhZCwgMHgzNCwgMHg1NCwgMHhlMywgMHgyMiwKKyAgMHgyZSwgMHg0YSwgMHgxYywgMHg2ZSwgMHg3MywgMHg5OSwgMHhjOSwgMHhkMSwgMHhjOCwgMHgyMSwgMHg4MiwgMHg2YiwKKyAgMHg0YSwgMHhkOSwgMHgyYiwgMHg4YywgMHhhMywgMHg2OSwgMHgzMSwgMHg4MSwgMHg0MiwgMHhlMCwgMHhkOCwgMHgzNywKKyAgMHg2NywgMHgwNywgMHhlZiwgMHg4ZSwgMHhjNywgMHhhNywgMHg2ZiwgMHhmNywgMHhjMSwgMHgyZSwgMHg0OCwgMHg2ZSwKKyAgMHhjMiwgMHhmZiwgMHhiZSwgMHhjNywgMHhlZCwgMHg4ZiwgMHgwMCwgMHgzMCwgMHg4ZCwgMHhhZiwgMHhlNiwgMHgzNSwKKyAgMHhhMywgMHg5NSwgMHhkMiwgMHhiNywgMHhjYywgMHgwOSwgMHg3ZCwgMHg5ZiwgMHhhNSwgMHgxZiwgMHgyMywgMHhlNSwKKyAgMHg0NSwgMHg2MywgMHhjMywgMHhhMiwgMHhhOCwgMHhjMSwgMHg1MiwgMHg4YiwgMHg0NiwgMHgzOSwgMHgyMywgMHg0OSwKKyAgMHgzMCwgMHg4NywgMHg1MSwgMHgxMiwgMHgwMywgMHg1NCwgMHgxOCwgMHgwMiwgMHg4NSwgMHg3NSwgMHg2MywgMHhhZiwKKyAgMHg1NSwgMHg0ZCwgMHhkYSwgMHg4OSwgMHg0NywgMHhkZSwgMHgzNiwgMHgzZiwgMHhmNCwgMHg5YSwgMHhkMCwgMHhjMywKKyAgMHgzNSwgMHhhNywgMHhmYSwgMHg5OCwgMHhiYiwgMHg4MSwgMHg5MywgMHg3MCwgMHg4YywgMHhiNSwgMHg1MywgMHgwZCwKKyAgMHhkZSwgMHhiNSwgMHg4NiwgMHg4ZSwgMHgxYSwgMHgwZCwgMHg2NiwgMHgyYSwgMHgyZSwgMHhiYiwgMHg2NCwgMHg3ZSwKKyAgMHhkMSwgMHhjZCwgMHg1NywgMHhjMSwgMHhjOSwgMHg1MSwgMHg3NiwgMHhhZCwgMHhlZCwgMHhkMywgMHhkZCwgMHg4NiwKKyAgMHhjMCwgMHg4YiwgMHg0NiwgMHgxZCwgMHgxYywgMHhmMCwgMHgzMSwgMHg0ZCwgMHgwNiwgMHgxMSwgMHgxMiwgMHhkNSwKKyAgMHhmYywgMHhiMiwgMHhlMiwgMHgzYSwgMHg5YiwgMHg5NywgMHg0YiwgMHgxZSwgMHg4YiwgMHg4YiwgMHgxNiwgMHg4MSwKKyAgMHg2ZCwgMHhjYiwgMHg5OCwgMHhhOSwgMHhhMywgMHhiNSwgMHhmMCwgMHg2NiwgMHg3MiwgMHhkOSwgMHg2YSwgMHgxNSwKKyAgMHgxOSwgMHg1OCwgMHhhOCwgMHg4ZiwgMHg5NywgMHgyYiwgMHg2MywgMHgzMSwgMHhmYywgMHg2YSwgMHhlNCwgMHgwMCwKKyAgMHg3OSwgMHhhMywgMHhjOCwgMHhkYiwgMHg1NSwgMHg4OCwgMHg5ZSwgMHhjNiwgMHg1YiwgMHgxYywgMHg0MSwgMHgwMiwKKyAgMHg1MiwgMHgzYywgMHgxNCwgMHhlMCwgMHhkMCwgMHgyMywgMHgyZCwgMHhmOCwgMHgyNiwgMHhjYiwgMHgzZSwgMHhmMiwKKyAgMHgzNywgMHg2ZCwgMHhlMCwgMHg5NiwgMHg3YiwgMHgxZCwgMHg0OCwgMHgyMiwgMHg3MSwgMHhiMiwgMHhmMSwgMHhmZCwKKyAgMHhjZSwgMHg0NiwgMHhiYywgMHg0MCwgMHgyYiwgMHg0NywgMHhjMCwgMHhkYSwgMHgxYywgMHg0MiwgMHhjNSwgMHg1YiwKKyAgMHgwZCwgMHg3ZiwgMHhiZCwgMHgxMywgMHhmYywgMHhkMiwgMHg3YiwgMHgxNywgMHhmZSwgMHhkMywgMHhjYSwgMHhjOCwKKyAgMHg4YiwgMHg2YiwgMHg1MiwgMHhmNSwgMHhmMCwgMHgyNSwgMHhjMSwgMHhjNiwgMHg4ZCwgMHhjMCwgMHhjYiwgMHg0YSwKKyAgMHhkNywgMHhlOCwgMHhiNCwgMHhmYSwgMHg1OCwgMHhiYiwgMHg1YiwgMHgxZSwgMHhhYSwgMHgwMiwgMHg4ZCwgMHgxZSwKKyAgMHgwMiwgMHg5OSwgMHgyMywgMHg2OCwgMHhkMiwgMHg0NCwgMHg4YiwgMHg2OSwgMHg2NywgMHhmZiwgMHg1MywgMHgwZCwKKyAgMHg2YSwgMHhlMywgMHg1NSwgMHg3MiwgMHhmMiwgMHg1OCwgMHhiMSwgMHhiZSwgMHhmNSwgMHg2ZCwgMHhjZSwgMHhkMiwKKyAgMHg1NywgMHhhOSwgMHhiNSwgMHg4ZSwgMHhiNiwgMHg3MSwgMHg1OSwgMHg3NiwgMHgxZiwgMHgzZCwgMHhiYSwgMHgxNywKKyAgMHg1MCwgMHg0ZSwgMHhjOCwgMHg3YywgMHgyZCwgMHhhZSwgMHgxYywgMHhhOSwgMHhjNSwgMHgxYywgMHhlNiwgMHhiNiwKKyAgMHgwMCwgMHgyOCwgMHg2OSwgMHgyZSwgMHg4NSwgMHhhZCwgMHg1ZCwgMHgwOCwgMHg0ZSwgMHhmMywgMHg0OSwgMHg4YiwKKyAgMHhlZiwgMHg2NiwgMHhiNSwgMHhiMCwgMHgxYiwgMHhkYiwgMHhhYSwgMHgzNSwgMHgwMywgMHhiNiwgMHgxYywgMHhlOSwKKyAgMHhjYywgMHg0NywgMHg3YywgMHg5ZiwgMHhmNywgMHhkYiwgMHhlZiwgMHg3NCwgMHgxMywgMHg0MSwgMHg1OCwgMHgwZSwKKyAgMHgyMCwgMHhjZSwgMHg0ZiwgMHgyZiwgMHhiYSwgMHgzYiwgMHg5MSwgMHg3YywgMHg3NSwgMHhlNywgMHgzYywgMHhiOCwKKyAgMHgzNiwgMHgzYSwgMHg4OSwgMHg3OSwgMHg5MSwgMHhhMiwgMHhjNSwgMHhmMywgMHgxZiwgMHhhZCwgMHgzMSwgMHgwMCwKKyAgMHhlMiwgMHg5OCwgMHg3MSwgMHhiZiwgMHg2MywgMHhlZCwgMHg5MiwgMHg2MSwgMHhjZSwgMHg5YiwgMHg3MiwgMHg1OSwKKyAgMHg2MywgMHg0OCwgMHg0NiwgMHhjMiwgMHg4YSwgMHg4NywgMHgyZCwgMHhlYywgMHg2YSwgMHhkMywgMHgzYSwgMHhlOCwKKyAgMHhkZiwgMHhlNywgMHhiNSwgMHhlMiwgMHg2MywgMHg2ZCwgMHg3OCwgMHg2ZCwgMHhhYiwgMHg4MCwgMHgzNiwgMHgwNCwKKyAgMHg2MCwgMHhiYiwgMHhiYywgMHhlMCwgMHg3OSwgMHhmYiwgMHg3YywgMHgwOSwgMHg4NywgMHg2MywgMHgwOCwgMHhiNCwKKyAgMHg4ZCwgMHhhZSwgMHgyMCwgMHgyNCwgMHg4MCwgMHgwZSwgMHgyMiwgMHg3MiwgMHgzOCwgMHg5YiwgMHhjYiwgMHhjMiwKKyAgMHhmMywgMHhjMiwgMHgxMywgMHhmNCwgMHgyNCwgMHhhNywgMHg3NCwgMHg2YSwgMHg0ZCwgMHg2ZSwgMHgwNywgMHhmMSwKKyAgMHgzYywgMHg0NCwgMHg4YywgMHg1NSwgMHg5NSwgMHg5NiwgMHg0MiwgMHg0ZSwgMHhhNSwgMHg4NywgMHg3NCwgMHg2OCwKKyAgMHhlYiwgMHhiMCwgMHg2MywgMHhmZSwgMHhmYywgMHgxMCwgMHg0MywgMHg4OSwgMHg0YiwgMHg0MywgMHg1YywgMHhhYywKKyAgMHg4OCwgMHg1MSwgMHg0NSwgMHg5MCwgMHhmNiwgMHgwNiwgMHg3ZiwgMHgwMCwgMHg2YiwgMHgwYSwgMHhjNiwgMHg2ZSwKKyAgMHgxZCwgMHhlMCwgMHhlYywgMHhjYywgMHhhZCwgMHhhMSwgMHg0YSwgMHgyMCwgMHgzZSwgMHhlMSwgMHhhOCwgMHg5MywKKyAgMHg2MywgMHg5MCwgMHg1OCwgMHhjOCwgMHhjMCwgMHg0NCwgMHhiYSwgMHg1OCwgMHhmMiwgMHg2MiwgMHg2YSwgMHgwNywKKyAgMHgxZiwgMHg4YSwgMHhkMiwgMHg0NSwgMHhmYSwgMHg4NSwgMHgxOSwgMHhiNywgMHg1NiwgMHgxZiwgMHg0NSwgMHgxMSwKKyAgMHhjYiwgMHhkMiwgMHg4MiwgMHg3NiwgMHg2ZSwgMHg5ZSwgMHhkYSwgMHgyNCwgMHg3MCwgMHgwYywgMHg4NCwgMHgzMCwKKyAgMHg3OSwgMHg2NCwgMHg4YiwgMHhkNSwgMHhjOSwgMHgxYSwgMHgwOCwgMHgzMCwgMHg0ZSwgMHgxMiwgMHhjZSwgMHgxYSwKKyAgMHg2NCwgMHg4MywgMHgyYywgMHg5NCwgMHhiZiwgMHg0OCwgMHg5MiwgMHgyMiwgMHhhNCwgMHhkZiwgMHgwNCwgMHg4NywKKyAgMHgwMywgMHhiYywgMHg5NCwgMHg1NSwgMHhlNSwgMHhhNSwgMHg0NiwgMHg2ZCwgMHg1YywgMHhlNSwgMHhlNiwgMHg1NCwKKyAgMHg4YiwgMHgwZCwgMHhhOCwgMHg0NCwgMHg0ZSwgMHhiMCwgMHhjYSwgMHg3NywgMHg4MywgMHhjNSwgMHhhZSwgMHhlNiwKKyAgMHg1ZSwgMHg4NCwgMHgyZSwgMHhkNCwgMHgxZCwgMHgyYywgMHhjYywgMHg0MywgMHg1MCwgMHgwOCwgMHhlYiwgMHhlMCwKKyAgMHgyZSwgMHg1OCwgMHhhNiwgMHg0OCwgMHg2ZSwgMHgzMSwgMHhhZiwgMHgyMSwgMHhkZSwgMHgxZCwgMHg0ZSwgMHg2MiwKKyAgMHg3YSwgMHg5NiwgMHgzYSwgMHhjNCwgMHhiZSwgMHg0NSwgMHhkZiwgMHg0NywgMHhkYSwgMHg3MCwgMHhkNywgMHg3NSwKKyAgMHhjZCwgMHg3NiwgMHgwOSwgMHg1OCwgMHg5MCwgMHgyYiwgMHg5ZiwgMHhmZSwgMHg0NSwgMHg3YiwgMHgxYywgMHhiMywKKyAgMHg4ZSwgMHhlOSwgMHgxMCwgMHgwNCwgMHhkZSwgMHgyYiwgMHg4MiwgMHgzZiwgMHgyZiwgMHgyOSwgMHhkYiwgMHhlOSwKKyAgMHgxZCwgMHg4YSwgMHg1MywgMHhkZCwgMHg4NywgMHg0MSwgMHhkZCwgMHgwMSwgMHg1YSwgMHgyOCwgMHgyMSwgMHhlNywKKyAgMHg5NiwgMHg3MCwgMHgwMCwgMHgwOSwgMHgxZCwgMHhkMywgMHgxNiwgMHg0ZSwgMHhhYiwgMHg3YywgMHhkOSwgMHg3MCwKKyAgMHg1YSwgMHg5YSwgMHg1NCwgMHhjZCwgMHhkYywgMHg2NywgMHhmNSwgMHg1ZiwgMHhjZSwgMHhjYiwgMHg0OSwgMHhjYSwKKyAgMHg3NywgMHhjNCwgMHgyNiwgMHhhZCwgMHg2YSwgMHhkYywgMHhhYiwgMHg4NSwgMHg2ZSwgMHg0ZiwgMHhlYywgMHg4ZCwKKyAgMHhjOCwgMHgzMywgMHhkMiwgMHhjYiwgMHhjNywgMHhhYywgMHg3OCwgMHhiOCwgMHgzZiwgMHg0MCwgMHhkZSwgMHhjNiwKKyAgMHg2ZCwgMHhiMywgMHhmNiwgMHg4MywgMHhmNiwgMHgxMywgMHg4YywgMHgxNSwgMHgzYiwgMHhiYywgMHgxOCwgMHhjOCwKKyAgMHhlZCwgMHg1NSwgMHgwOCwgMHgwZiwgMHhlNCwgMHhmYywgMHhkNiwgMHhkZSwgMHg5NSwgMHgwYSwgMHgyYywgMHg2ZiwKKyAgMHg2MCwgMHhlZSwgMHgyNCwgMHhiMywgMHgxNSwgMHhhYiwgMHg4MywgMHg0ZSwgMHg5ZSwgMHg2YywgMHg0YSwgMHhiZSwKKyAgMHg5MCwgMHhmNCwgMHg0YiwgMHg0NSwgMHgyMiwgMHhhYSwgMHg2ZCwgMHg4MywgMHhjMywgMHg2OSwgMHgzOSwgMHgzMSwKKyAgMHhlYywgMHgwNiwgMHg0MiwgMHg5MywgMHg5NywgMHg3NCwgMHhkNCwgMHg0MSwgMHg3MiwgMHg1NSwgMHhkZSwgMHhhMCwKKyAgMHhmNCwgMHhhZSwgMHgyMCwgMHhlMywgMHhjNCwgMHg0ZCwgMHg0ZSwgMHhjYiwgMHgyYSwgMHhiYywgMHhiZCwgMHg2MiwKKyAgMHgxNCwgMHg5ZSwgMHg5MCwgMHhlMiwgMHgyZiwgMHhkOCwgMHgyZCwgMHgwMCwgMHg1ZCwgMHg5YSwgMHhjZiwgMHg2NCwKKyAgMHhjZCwgMHhjZSwgMHhmOCwgMHgwZCwgMHgyYywgMHhkYSwgMHg4ZSwgMHgyMiwgMHhmYiwgMHhlOSwgMHg5ZSwgMHg5MCwKKyAgMHgxYSwgMHhmOCwgMHg5YSwgMHgzOSwgMHhlMiwgMHgzOSwgMHhiNywgMHgxOCwgMHhkZCwgMHgzMiwgMHhmNCwgMHgyMiwKKyAgMHg3NSwgMHhkMiwgMHgyOSwgMHg4YywgMHgyOSwgMHg0MCwgMHgyOSwgMHg4YiwgMHg5YywgMHg2NSwgMHg0ZSwgMHgxMCwKKyAgMHg0ZCwgMHhlMiwgMHgzMywgMHhhYiwgMHhhMCwgMHhkYywgMHg2NSwgMHhlYSwgMHg1MywgMHg1MSwgMHgxNiwgMHg1MiwKKyAgMHgwNiwgMHgwYiwgMHg5ZiwgMHg4NywgMHgwNCwgMHg4ZSwgMHg5NSwgMHg5ZSwgMHhiMiwgMHg2NiwgMHhlYSwgMHhmZCwKKyAgMHg3MiwgMHg5NiwgMHhhNSwgMHhmMywgMHg2OCwgMHg2YiwgMHg3MywgMHg5YSwgMHgzMCwgMHhhMiwgMHg5ZCwgMHhjYywKKyAgMHhkYiwgMHhkMCwgMHhlNywgMHhiMywgMHhkMCwgMHhlMCwgMHhiOSwgMHhkNCwgMHhjZiwgMHg3MCwgMHgwNiwgMHg3OSwKKyAgMHhkMSwgMHg0MiwgMHhlYiwgMHhjMSwgMHg5ZCwgMHgwYSwgMHg0ZiwgMHg5YSwgMHg1YSwgMHhjMywgMHg1ZCwgMHgwMywKKyAgMHgzOCwgMHg2YywgMHg1NiwgMHg0ZSwgMHgxZCwgMHg3OCwgMHg4ZCwgMHg1NywgMHg1OCwgMHgwOSwgMHg1ZiwgMHhkMywKKyAgMHg5YiwgMHg5MywgMHhjNCwgMHgzZSwgMHg4MCwgMHhlNCwgMHg1NywgMHhjZSwgMHhlMCwgMHgwZCwgMHgzYSwgMHhkMiwKKyAgMHg0OSwgMHgzNCwgMHg0ZCwgMHgwMCwgMHgwNCwgMHg1OCwgMHhjYywgMHg2OCwgMHg0NSwgMHgxZSwgMHhjZCwgMHg4YiwKKyAgMHg3MywgMHgyMSwgMHg4OSwgMHg0NywgMHg2ZSwgMHhjYiwgMHg1NSwgMHg0NCwgMHhjNiwgMHgxZCwgMHhkOCwgMHhjNywKKyAgMHgzMiwgMHgzYywgMHhlOSwgMHhlYiwgMHg0YywgMHg1MywgMHg1ZSwgMHg2MSwgMHg3ZSwgMHhmMCwgMHhmNiwgMHgzNywKKyAgMHgxNiwgMHg1NCwgMHg4MSwgMHhjNiwgMHgxMiwgMHg1ZSwgMHhjMywgMHg2YywgMHg2NiwgMHg2ZiwgMHgyZiwgMHg3ZSwKKyAgMHgzMywgMHhiOCwgMHg2ZiwgMHhiYSwgMHg5MiwgMHgxOCwgMHhlZSwgMHg3YSwgMHg5ZCwgMHg1ZSwgMHg2NCwgMHg2YSwKKyAgMHhiMywgMHgwOCwgMHhlYiwgMHgyZSwgMHhhNywgMHg2NiwgMHhmYiwgMHg5MCwgMHhhOSwgMHg3MywgMHhjMywgMHgwNiwKKyAgMHg0NSwgMHgxMSwgMHgyOSwgMHg1NiwgMHg2NiwgMHhhZSwgMHg0OSwgMHg1YywgMHhkMiwgMHg4YSwgMHg1YywgMHhiYSwKKyAgMHgwNiwgMHhjMiwgMHg2ZSwgMHhlYiwgMHg3OSwgMHhiZSwgMHhkNCwgMHgzMCwgMHhlNSwgMHgyMCwgMHhjOSwgMHgyNCwKKyAgMHg5YiwgMHg3NCwgMHg3ZSwgMHgyNywgMHg0NywgMHhiMiwgMHgxYSwgMHg0NiwgMHgxYywgMHg3MCwgMHg5YSwgMHg2ZiwKKyAgMHhhNywgMHg1OCwgMHhlOSwgMHg3MywgMHhiMiwgMHg4YywgMHhiNiwgMHgzYSwgMHhhMywgMHgzZiwgMHg3OSwgMHhiNCwKKyAgMHg4YiwgMHhkOSwgMHgzZSwgMHg3OSwgMHhmNCwgMHg3YywgMHhiYiwgMHgyZCwgMHg5NSwgMHhlNywgMHg3NSwgMHgzNiwKKyAgMHg0NCwgMHgzNiwgMHhmMiwgMHgwMywgMHg5YiwgMHhhMCwgMHhlMiwgMHgwZCwgMHhjOSwgMHg1ZiwgMHg5ZSwgMHhhZCwKKyAgMHgyYSwgMHhlNywgMHhjZiwgMHhhMywgMHhmNiwgMHhiOCwgMHg3MCwgMHg1MCwgMHhkNiwgMHg1NywgMHgwNCwgMHhkMSwKKyAgMHgxYiwgMHg0OCwgMHg3OSwgMHg3YSwgMHg0ZCwgMHhkZSwgMHhlMywgMHhjNCwgMHg0NiwgMHgxMiwgMHg0YiwgMHhiYywKKyAgMHg1MywgMHgyOSwgMHg1ZSwgMHg5NiwgMHhlNiwgMHg5YiwgMHhiYywgMHgxMSwgMHg3OCwgMHhjZSwgMHg1YSwgMHhlMCwKKyAgMHhiMSwgMHg0ZSwgMHhkOSwgMHhiMiwgMHg2YSwgMHhhZSwgMHhhMiwgMHhlNCwgMHgwYywgMHg4ZSwgMHg3NiwgMHgxZiwKKyAgMHg3YiwgMHhjYiwgMHg3MywgMHg5MiwgMHhkNywgMHg3OSwgMHg5MSwgMHhkNywgMHg1NywgMHg0NCwgMHhmNiwgMHgwYiwKKyAgMHg0YSwgMHg1YSwgMHhiOCwgMHhjYywgMHg0MiwgMHgyMCwgMHgxNCwgMHhjMywgMHg4ZSwgMHg4YywgMHgwOSwgMHhjMCwKKyAgMHhlNiwgMHg3ZSwgMHg4NSwgMHgzNiwgMHgyNiwgMHg5NCwgMHgxMSwgMHhjYywgMHhmYiwgMHgyZSwgMHg5NSwgMHg4OCwKKyAgMHhkMiwgMHhiZSwgMHgxNSwgMHgzMCwgMHg5YSwgMHg2ZSwgMHg5OSwgMHg3ZCwgMHhkZCwgMHg4NSwgMHg1ZCwgMHg3MywKKyAgMHhlMSwgMHhiZSwgMHhkZSwgMHhjMiwgMHhkNCwgMHhlOSwgMHgxMiwgMHg4MCwgMHg4YSwgMHg1ZSwgMHhkZiwgMHhiOSwKKyAgMHg1OCwgMHg0MywgMHhiMSwgMHg2NCwgMHg4YiwgMHgwZSwgMHhmNywgMHg3NCwgMHg2YywgMHg1OCwgMHhkMCwgMHgyMywKKyAgMHhkMiwgMHhjOCwgMHhlNywgMHgyOSwgMHhiNSwgMHg1YSwgMHhhMCwgMHhiZiwgMHg5OSwgMHg5ZiwgMHhmZCwgMHg2MCwKKyAgMHg3NCwgMHhkMSwgMHhkMSwgMHgwYiwgMHhmYiwgMHhlMywgMHhlZCwgMHg4NywgMHhmNSwgMHgyMiwgMHhkZSwgMHhlYiwKKyAgMHhlOCwgMHg2NiwgMHg1NCwgMHg2NCwgMHgyMSwgMHgxMSwgMHg2OSwgMHgzOCwgMHhhYywgMHhiZSwgMHhlMCwgMHg3ZiwKKyAgMHhjNCwgMHgzZCwgMHhkZSwgMHhjMCwgMHgxMiwgMHgzOCwgMHg3ZSwgMHg3MywgMHg2MCwgMHg5OCwgMHhkYywgMHhkOCwKKyAgMHg5NSwgMHg3ZCwgMHg3YSwgMHhiOSwgMHhjNSwgMHg1YSwgMHg3OSwgMHg2ZCwgMHg5YiwgMHhiNSwgMHg2NiwgMHg1MiwKKyAgMHhhMiwgMHgxMCwgMHg0NSwgMHg4MywgMHgxNSwgMHgzNCwgMHgwMywgMHg0ZSwgMHhjMiwgMHg0NCwgMHgzZSwgMHhiOSwKKyAgMHg0YiwgMHhiZSwgMHg1MCwgMHg2ZCwgMHg2ZSwgMHg0ZSwgMHhkZCwgMHgyNywgMHhlOSwgMHgyMiwgMHg4YywgMHg5MiwKKyAgMHg5MywgMHg4YywgMHgxYiwgMHhiMSwgMHg2ZCwgMHg3ZSwgMHhiOSwgMHgxOSwgMHgyOSwgMHhkMywgMHhkZSwgMHg3YywKKyAgMHhlOSwgMHhiNSwgMHhhMywgMHhhOCwgMHg1ZCwgMHg4ZiwgMHhjNywgMHhjZCwgMHgzZiwgMHg5MSwgMHg1OSwgMHg0ZiwKKyAgMHhjOCwgMHg1YiwgMHhmYywgMHg0ZCwgMHgzOSwgMHgwMiwgMHgyZSwgMHg5YywgMHg5MCwgMHg5YywgMHg5NywgMHg5ZSwKKyAgMHhjYSwgMHg1YiwgMHgwMSwgMHg5MywgMHg2ZCwgMHhlNywgMHg5MCwgMHgyZSwgMHgxOSwgMHhjNSwgMHg5YiwgMHgyYSwKKyAgMHgyMSwgMHhkYSwgMHg2YiwgMHg1NywgMHg2NSwgMHg2ZSwgMHgzMywgMHgyOCwgMHhlMywgMHgyZSwgMHhlZSwgMHgwNCwKKyAgMHhkOSwgMHg4ZCwgMHhkYiwgMHhiZiwgMHhiYiwgMHhmZSwgMHhkOCwgMHgzYywgMHgyMywgMHg5ZSwgMHgwYSwgMHg1YywKKyAgMHg2OCwgMHg0NiwgMHhjZiwgMHg4NywgMHg1OSwgMHhjOCwgMHgzNiwgMHhiNywgMHhmOSwgMHhmNSwgMHhlNSwgMHg2NSwKKyAgMHgzNCwgMHhkMSwgMHhkNSwgMHg2YywgMHgwMSwgMHgxZCwgMHgzYywgMHhhZCwgMHhmOSwgMHhjMiwgMHhkOCwgMHg1YiwKKyAgMHhkMCwgMHgzNywgMHg0OCwgMHhjZSwgMHhmNywgMHg1NywgMHhjNSwgMHgzOCwgMHhkZCwgMHgzZCwgMHhmMiwgMHg4YywKKyAgMHhiNywgMHg4YSwgMHg5NywgMHg3ZSwgMHhlMSwgMHg2MSwgMHg0ZiwgMHhkYywgMHgwMywgMHg2NCwgMHgyMCwgMHg3NCwKKyAgMHg0MCwgMHhjZSwgMHgyYywgMHhmYywgMHhkNCwgMHgwNiwgMHgzZCwgMHgyZSwgMHg1MiwgMHg0MywgMHgxOSwgMHg3NywKKyAgMHg5MiwgMHg2MCwgMHgzNCwgMHhhNywgMHg1MiwgMHgzMSwgMHgzMSwgMHhhNiwgMHgwMiwgMHgxZSwgMHgzNiwgMHg0NywKKyAgMHg3ZiwgMHg0MiwgMHgyOSwgMHg0YywgMHhhMiwgMHgyNiwgMHg1NSwgMHhiYywgMHg4ZiwgMHg4NSwgMHg2OCwgMHgxYiwKKyAgMHg1MiwgMHhjOSwgMHgwNCwgMHhjMywgMHgyNCwgMHhkMSwgMHgzNiwgMHg1MCwgMHhlMiwgMHhiZiwgMHg0MCwgMHg5MSwKKyAgMHg1MiwgMHhkNywgMHgzNywgMHgyZSwgMHgyNSwgMHg0YiwgMHgwYSwgMHg5MiwgMHhjOCwgMHhjYSwgMHg4YSwgMHhjYiwKKyAgMHg2OSwgMHg0MSwgMHhkMSwgMHgxNSwgMHg5OCwgMHg4NiwgMHhkNywgMHg4MiwgMHhkZCwgMHhhYiwgMHg1MiwgMHhlZiwKKyAgMHg0NiwgMHhhYSwgMHg2MCwgMHg0MSwgMHgxOCwgMHg2NiwgMHhiNCwgMHg4MywgMHg0YiwgMHhjMiwgMHhhNSwgMHg2MiwKKyAgMHg1MywgMHhjMiwgMHgzYywgMHhjMywgMHhjYiwgMHg2NSwgMHg0MiwgMHhmZCwgMHgzZiwgMHhmNywgMHgxZSwgMHg3ZiwKKyAgMHhmZSwgMHg3OSwgMHhkNCwgMHhjMSwgMHhjNywgMHhiMCwgMHgxYiwgMHg4NiwgMHgwNiwgMHg2OSwgMHg5YiwgMHgxYywKKyAgMHg3ZSwgMHhmMiwgMHhjMCwgMHgyMiwgMHhlMSwgMHhkMywgMHhkNywgMHg4OSwgMHhjMCwgMHhkNCwgMHhjYiwgMHg1NSwKKyAgMHhhMiwgMHhlZiwgMHgyYywgMHg3ZCwgMHgzNSwgMHg3NCwgMHhmMiwgMHhjMiwgMHhmOSwgMHhiMiwgMHgyMCwgMHhhZCwKKyAgMHg0MiwgMHhiOCwgMHgxOCwgMHg5NCwgMHgyYiwgMHhlMiwgMHgxYSwgMHg4YiwgMHhiYywgMHgwZiwgMHgyMywgMHgzMiwKKyAgMHg5MywgMHgzNCwgMHg2ZCwgMHg4MSwgMHgxMCwgMHgxMSwgMHgyNCwgMHg1OSwgMHhhOSwgMHgyYiwgMHhlMCwgMHhiNiwKKyAgMHhiOCwgMHg0NiwgMHg3MSwgMHg0MCwgMHhmOSwgMHgxMiwgMHg2NywgMHhmZiwgMHg4MSwgMHhhZSwgMHg3YSwgMHhlYSwKKyAgMHhmYywgMHgzNywgMHgxMywgMHhjZCwgMHg4MCwgMHg5OSwgMHg2NCwgMHgxNiwgMHg4NywgMHg4NywgMHgxZCwgMHgxZCwKKyAgMHgxZCwgMHhiOCwgMHgzNCwgMHhmNiwgMHgzZiwgMHgxNiwgMHg1NCwgMHhlYywgMHg0YiwgMHg2ZCwgMHg5MSwgMHhjYywKKyAgMHhmMCwgMHg5ZCwgMHhlMSwgMHgwMCwgMHg3ZCwgMHg3MSwgMHg5OSwgMHgzNSwgMHg2MSwgMHg4MSwgMHhhYSwgMHg1NywKKyAgMHhkNiwgMHhiMSwgMHg2NiwgMHhmMCwgMHhjOCwgMHg2ZCwgMHg5MCwgMHhmMiwgMHhkYSwgMHg5NywgMHhkMiwgMHhjMSwKKyAgMHgyMywgMHhiZiwgMHhkMCwgMHgwYiwgMHhhYSwgMHg1ZCwgMHg4NCwgMHhiZSwgMHhlNCwgMHg2NCwgMHhkYiwgMHg5NywKKyAgMHhlYywgMHg2OCwgMHhlMSwgMHg3MiwgMHg2MywgMHhlNiwgMHg1MCwgMHg1ZiwgMHg0NiwgMHgwMSwgMHgzMSwgMHg1ZCwKKyAgMHhmYiwgMHg0YiwgMHgwMCwgMHgzNCwgMHgzNiwgMHg4ZCwgMHhkMSwgMHhhYywgMHgxZCwgMHhmNywgMHg0NiwgMHg4NSwKKyAgMHg5MCwgMHg4NSwgMHhlMCwgMHg5MywgMHhmZCwgMHg4NSwgMHg4YSwgMHgzYywgMHg4ZiwgMHg4MSwgMHgzMSwgMHhiZCwKKyAgMHhiNCwgMHgxZSwgMHg2YiwgMHhlOSwgMHg4YiwgMHg0NSwgMHgxNSwgMHg1YSwgMHgzNCwgMHg5ZiwgMHhkOCwgMHg0ZSwKKyAgMHg2OCwgMHg1MywgMHgwYiwgMHhlMiwgMHgxMCwgMHhlNiwgMHhlOSwgMHhjMCwgMHhlYSwgMHhhMSwgMHg3NywgMHhiZCwKKyAgMHg3ZCwgMHgwYSwgMHhjZiwgMHhkZSwgMHhlNSwgMHg1ZSwgMHgzYSwgMHhjYywgMHgzOCwgMHhkZSwgMHg2MywgMHgwNywKKyAgMHgzZCwgMHhlNywgMHg4NywgMHg3MCwgMHg1MywgMHhlYiwgMHhmNCwgMHhjNiwgMHhhNSwgMHhlOCwgMHhjNiwgMHhlNSwKKyAgMHg2OCwgMHg5ZCwgMHgwZSwgMHhhMiwgMHgwMywgMHg5NCwgMHg3NSwgMHg1OSwgMHg2NiwgMHgzYywgMHg0YiwgMHhjMCwKKyAgMHgyZiwgMHhmMSwgMHhkNiwgMHhiZSwgMHg4NCwgMHhlMywgMHhhYSwgMHhhOSwgMHg1NiwgMHg1MywgMHhkMiwgMHgyYiwKKyAgMHg2MSwgMHg5NCwgMHhlMywgMHg0YiwgMHhiMSwgMHg0NiwgMHg4ZiwgMHgxYSwgMHg2NiwgMHhiMywgMHgyYiwgMHg0NiwKKyAgMHgzYiwgMHg1NiwgMHg5YywgMHgxOSwgMHhiNiwgMHg1OCwgMHhkMCwgMHg2MywgMHhkOSwgMHhjMiwgMHgxMywgMHg3MCwKKyAgMHg2MSwgMHhhZSwgMHg1MywgMHgxOCwgMHg0NiwgMHg1YiwgMHg4NCwgMHg2NywgMHg3MCwgMHhiNiwgMHhkNCwgMHhmOSwKKyAgMHgzZiwgMHg1OCwgMHgyYiwgMHg5MywgMHgwMiwgMHgwZiwgMHhjNSwgMHhkMiwgMHg4NCwgMHg4MywgMHgyMywgMHhhMywKKyAgMHhlZSwgMHgyZSwgMHhjOSwgMHgyYiwgMHg2YSwgMHg2MCwgMHhjZCwgMHhhMiwgMHg5YywgMHhlOCwgMHgyZCwgMHhlMCwKKyAgMHhkMywgMHg3ZSwgMHg4ZCwgMHgxMywgMHg4YiwgMHgyMywgMHg1MiwgMHhlMywgMHhhYSwgMHhlYywgMHg3MiwgMHg0NSwKKyAgMHg4MiwgMHgwZSwgMHhkYiwgMHhiNCwgMHhhNSwgMHhkOCwgMHhkOSwgMHhmYSwgMHhjNCwgMHgzMiwgMHg1ZiwgMHhhMiwKKyAgMHhlZCwgMHg5NSwgMHhiMSwgMHhlNywgMHg4MiwgMHg4ZSwgMHhiZiwgMHhlNiwgMHhhZCwgMHg2ZCwgMHgyYywgMHhiOSwKKyAgMHgzMCwgMHhiYiwgMHhkNSwgMHhhYywgMHgyOCwgMHgxNywgMHg0NSwgMHg2MCwgMHhjMywgMHgwYywgMHhmYiwgMHhmYSwKKyAgMHgxYiwgMHgwMiwgMHg0MCwgMHhhNSwgMHhhYywgMHg5YywgMHhmYiwgMHgzNCwgMHhjZCwgMHhhYywgMHhlNSwgMHg5ZCwKKyAgMHg2NCwgMHgxNywgMHg4MSwgMHhlZCwgMHg5MiwgMHgyMSwgMHhmZiwgMHg5MSwgMHhlNCwgMHgwMiwgMHhhNywgMHgxNCwKKyAgMHgzNiwgMHhjYSwgMHgwMSwgMHhiOCwgMHg4OSwgMHgyOSwgMHg3OSwgMHg2MiwgMHhmZSwgMHg0NCwgMHhhMSwgMHgwMCwKKyAgMHhiOSwgMHhjYSwgMHhkMCwgMHg1NiwgMHhiMCwgMHgyYiwgMHg5OCwgMHg0MiwgMHg3NywgMHgzOCwgMHhjMCwgMHhlNywKKyAgMHhhYSwgMHhmNiwgMHhlNCwgMHg4MywgMHgyYSwgMHg0YiwgMHg2NywgMHhhYywgMHgwMSwgMHhjMywgMHg4NCwgMHg3MywKKyAgMHhjOSwgMHhhYSwgMHg4MCwgMHhjMywgMHhhNSwgMHgzNSwgMHhkNywgMHhjNSwgMHhkNSwgMHg2MSwgMHg2ZiwgMHg2ZiwKKyAgMHg4OCwgMHgwMCwgMHhkNiwgMHhhYSwgMHhmZiwgMHg2NiwgMHgwZCwgMHg1ZSwgMHg2MiwgMHg3ZCwgMHgxMSwgMHg5OCwKKyAgMHgzZCwgMHg4MCwgMHg4YywgMHhlZiwgMHg4YiwgMHgwNywgMHg5NSwgMHgzYSwgMHhhNSwgMHgwYSwgMHg0MywgMHg2YiwKKyAgMHhkYiwgMHgxZCwgMHgwMywgMHhkMSwgMHgxMCwgMHgzNywgMHgwZCwgMHhlZiwgMHhhNCwgMHhiZCwgMHhkZiwgMHgxNCwKKyAgMHhhNiwgMHgxOSwgMHhjMywgMHg3NiwgMHhiMywgMHgzOCwgMHgwYSwgMHgxNSwgMHg0NSwgMHhlMywgMHhlOCwgMHg4ZSwKKyAgMHg1OCwgMHg0YywgMHg2NCwgMHhjYiwgMHg0MCwgMHhhMCwgMHg1MCwgMHg1NSwgMHhhOSwgMHhlMSwgMHg5NywgMHg3ZiwKKyAgMHg1YiwgMHg1ZSwgMHhmNiwgMHg2MiwgMHg3MiwgMHg3MywgMHg4MywgMHgzNSwgMHg2MywgMHgyYiwgMHg4NCwgMHhmZCwKKyAgMHgxZiwgMHg0MSwgMHg4NywgMHhjMywgMHhkNywgMHg4OSwgMHhjYywgMHhlNywgMHg4YiwgMHgyZiwgMHg1YiwgMHgwMywKKyAgMHg2YSwgMHg5NywgMHgyMywgMHhiZiwgMHg4OSwgMHg4NywgMHg4MCwgMHgzNywgMHg0ZCwgMHgyZiwgMHhmMywgMHhkZSwKKyAgMHg0ZCwgMHhlMCwgMHg1ZCwgMHg0MCwgMHgwMywgMHgxYywgMHg1YiwgMHg1MywgMHg1MiwgMHg1ZiwgMHg5NSwgMHg5OSwKKyAgMHg5YywgMHg1YywgMHgwMSwgMHgwYiwgMHhkOCwgMHhmMSwgMHgwZCwgMHg0ZCwgMHgyNSwgMHg4OCwgMHgzYSwgMHhkOCwKKyAgMHhmYiwgMHhhNywgMHgwYywgMHg5OSwgMHhmZSwgMHhlZiwgMHhlNSwgMHg1NSwgMHg0MSwgMHhmZiwgMHhhMCwgMHhlMSwKKyAgMHg2OSwgMHhmNCwgMHgyZiwgMHg3NiwgMHg3NywgMHhhMywgMHhiMywgMHg1ZSwgMHg3ZiwgMHg2MCwgMHg5OCwgMHgyYSwKKyAgMHgwOSwgMHgyMSwgMHgyOSwgMHgxMCwgMHhmMCwgMHg3OCwgMHg1YSwgMHhjYiwgMHhlMCwgMHgxZiwgMHhhMSwgMHgwMiwKKyAgMHgzYSwgMHhlMiwgMHg4NywgMHg0YywgMHhjMSwgMHg1ZSwgMHg4MSwgMHg1OCwgMHhlOSwgMHhiZCwgMHhjYywgMHhkOSwKKyAgMHhkNywgMHg1MSwgMHg2NiwgMHg5OCwgMHg1YiwgMHhjOSwgMHgwMCwgMHgzMCwgMHhiNCwgMHg0OCwgMHhlZSwgMHg0NCwKKyAgMHhmZiwgMHhjMiwgMHgzNywgMHgyOCwgMHgxMywgMHhlMCwgMHhlZSwgMHg4YiwgMHg5NywgMHg1NywgMHhhYiwgMHhjYiwKKyAgMHgwYywgMHhmYywgMHhiMiwgMHhiOSwgMHg2ZCwgMHgzNiwgMHgxZSwgMHhiNCwgMHg2YSwgMHhmNSwgMHg0ZCwgMHg3MCwKKyAgMHg1YSwgMHg1NywgMHhlMywgMHhhNSwgMHhiNCwgMHhhMywgMHg1YSwgMHhhZCwgMHhhNSwgMHgzOCwgMHg3MCwgMHg2MCwKKyAgMHgwNSwgMHhhOSwgMHhmNiwgMHgzNiwgMHhkNSwgMHhhMSwgMHg1YiwgMHgyOCwgMHhjYSwgMHg0YSwgMHhlOCwgMHg4MCwKKyAgMHgzNywgMHg0ZCwgMHg4MCwgMHg4YywgMHgxYywgMHg3NCwgMHhjYSwgMHg5YSwgMHgxNSwgMHhkYywgMHg2NCwgMHg5MywKKyAgMHgyZiwgMHhiZSwgMHgyNCwgMHg3ZiwgMHhkNiwgMHgyZCwgMHg5YSwgMHhjYywgMHhiMCwgMHgzNiwgMHg0YiwgMHgxYiwKKyAgMHhiNywgMHg4MywgMHg5ZSwgMHgzMywgMHg4OSwgMHhiNywgMHg4OCwgMHhlZSwgMHgyMCwgMHg2NSwgMHhkNSwgMHgzZiwKKyAgMHhhYywgMHg1NywgMHhiOCwgMHhlYSwgMHgwZCwgMHg3OSwgMHg1MSwgMHg5NiwgMHg2YiwgMHg0NywgMHhhNCwgMHg1ZCwKKyAgMHhlMSwgMHgzNiwgMHg4NiwgMHhkOCwgMHgxNywgMHgyZiwgMHg5OSwgMHg5ZCwgMHg1MywgMHhiYywgMHg1ZCwgMHg1OSwKKyAgMHgzZSwgMHg5MywgMHg4NCwgMHgxMywgMHgzMCwgMHg3YywgMHgxNywgMHg2MiwgMHgyMCwgMHgyOSwgMHg4OCwgMHhiNywKKyAgMHhiMiwgMHg2ZCwgMHhhZSwgMHg5MiwgMHhlNiwgMHg4YiwgMHg4MSwgMHhkNiwgMHg3NSwgMHg0NiwgMHhkYSwgMHg4YSwKKyAgMHhiOSwgMHgzNSwgMHhmMCwgMHgzNSwgMHgwNCwgMHg1NSwgMHhkMCwgMHg1ZiwgMHhmZiwgMHg2NCwgMHg1ZiwgMHhhNywKKyAgMHgzZiwgMHhjYywgMHgyZCwgMHg0NiwgMHhkYiwgMHg4NiwgMHgzNSwgMHhhYiwgMHgzOSwgMHhiZSwgMHhiMCwgMHg1ZiwKKyAgMHhkYywgMHg0MSwgMHhmYSwgMHg4MSwgMHgwZCwgMHhiMywgMHg2ZSwgMHgwZSwgMHg1OCwgMHhiZiwgMHhmZSwgMHhkMywKKyAgMHg2NiwgMHgyYiwgMHg0ZSwgMHg4NSwgMHgxOCwgMHgxMiwgMHgwNywgMHhhOSwgMHg2NiwgMHg2NSwgMHhhMCwgMHhjZSwKKyAgMHg1MiwgMHgyZSwgMHhiZSwgMHg0NCwgMHg5OSwgMHg2OCwgMHhmNiwgMHgzZCwgMHgxMywgMHgyNywgMHg2ZCwgMHgzYiwKKyAgMHhkMSwgMHhiOSwgMHhmZiwgMHhiOCwgMHg2MSwgMHg2NywgMHhmZiwgMHhlMywgMHg4NiwgMHg5YiwgMHhmZiwgMHg4ZiwKKyAgMHgxYiwgMHg2ZSwgMHgwNSwgMHgzZiwgMHg2ZSwgMHg2YywgMHg3MCwgMHg0YiwgMHhlNiwgMHhkMCwgMHgxMCwgMHhmZSwKKyAgMHhiOSwgMHg4NywgMHhiZSwgMHhjOSwgMHgxZiwgMHg3NSwgMHhkZiwgMHhmNCwgMHgzZSwgMHhlOSwgMHg3ZCwgMHg3MSwKKyAgMHg2MywgMHg3MywgMHhkZCwgMHhhNiwgMHhiOSwgMHhkNCwgMHg4MCwgMHhmYywgMHhjMiwgMHg0MywgMHgyMSwgMHhlNiwKKyAgMHgwZCwgMHgyNCwgMHhmNSwgMHg0YSwgMHgzNiwgMHg0OSwgMHg3NywgMHhjOSwgMHhlZCwgMHgwYSwgMHgyMiwgMHg1YSwKKyAgMHg3NywgMHgwMSwgMHg2MCwgMHg5NywgMHg3YiwgMHg4MiwgMHhiNiwgMHhkYywgMHg3NSwgMHgzMCwgMHhmNCwgMHgzYSwKKyAgMHhmMywgMHg1OCwgMHhhOCwgMHg2MywgMHgxYiwgMHgzMCwgMHgwNCwgMHhiYywgMHhlNSwgMHgyYywgMHg5NCwgMHg0MywKKyAgMHhmNiwgMHhmNSwgMHg0MCwgMHhlZSwgMHhmYywgMHg4NywgMHhmOSwgMHg4MiwgMHhjZCwgMHhiYiwgMHg5NiwgMHhhNiwKKyAgMHgyMiwgMHg4YywgMHgzYSwgMHhhMCwgMHhlNSwgMHgzMiwgMHgwNSwgMHhlNywgMHhhYiwgMHg0OCwgMHgxZCwgMHgzNCwKKyAgMHhlMSwgMHgxNiwgMHhlNiwgMHg4ZCwgMHg2YiwgMHgyMCwgMHgxOSwgMHhiMCwgMHhkYywgMHg0NSwgMHg4ZSwgMHg3ZSwKKyAgMHg5NiwgMHg2NiwgMHg1OSwgMHg3MywgMHgzNiwgMHg0YywgMHg3NywgMHg0OCwgMHgxYSwgMHhhMCwgMHhmMiwgMHgwMSwKKyAgMHg2ZCwgMHgyNiwgMHg2YiwgMHg5OCwgMHhlNiwgMHg2MiwgMHhiMywgMHhiNiwgMHg4MiwgMHg5MCwgMHg3ZCwgMHg5NCwKKyAgMHg0MSwgMHg4NCwgMHhiMSwgMHg0OSwgMHg4MywgMHg1NiwgMHhmNSwgMHgxNywgMHgxYiwgMHgxNSwgMHg3NSwgMHgxMywKKyAgMHg0ZiwgMHgyZSwgMHgyYiwgMHhhMywgMHhiZiwgMHhmZSwgMHg4OSwgMHg2OCwgMHg2YiwgMHg2NSwgMHg0ZSwgMHhjYiwKKyAgMHg1ZCwgMHhkNCwgMHhkYiwgMHhlMSwgMHhlMiwgMHhjZSwgMHg0YywgMHg3ZSwgMHhmMywgMHhlNywgMHg1MCwgMHg4NiwKKyAgMHg2NSwgMHg2OSwgMHhiMywgMHg5OSwgMHhlNiwgMHgzNSwgMHg3NCwgMHgxMiwgMHhkNCwgMHhlNCwgMHhkNiwgMHhlMiwKKyAgMHhlOCwgMHhmNCwgMHg0ZSwgMHhlYSwgMHgzMywgMHg1ZiwgMHhjNCwgMHg2MCwgMHg1MCwgMHg4MywgMHg4NSwgMHg3OCwKKyAgMHg5YywgMHgxNywgMHgyNiwgMHhkYSwgMHgxNywgMHhhNywgMHhkZiwgMHhmZSwgMHg0OSwgMHgwNywgMHhmOCwgMHg3MSwKKyAgMHhlMywgMHg4NywgMHgyMSwgMHhmZiwgMHgxNCwgMHgwMCwgMHgxMCwgMHhmYiwgMHhjOSwgMHhlOSwgMHhiNywgMHg0NCwKKyAgMHhkYywgMHgzZiwgMHg4ZiwgMHg4MSwgMHhhZCwgMHhmYiwgMHhjMCwgMHg5NywgMHhmYywgMHgxNywgMHg1MCwgMHhmNiwKKyAgMHhiYSwgMHg2MSwgMHhjZiwgMHhiZCwgMHgzNCwgMHhiOSwgMHgyZiwgMHg4YywgMHgyYSwgMHg5NCwgMHhkZCwgMHhhMSwKKyAgMHhjOCwgMHgxNCwgMHgxOSwgMHhhMywgMHhjYiwgMHgyNSwgMHg5NSwgMHg4ZSwgMHgyYSwgMHhlNCwgMHg0MSwgMHhjMywKKyAgMHg5MCwgMHgwNywgMHhkMCwgMHgyYiwgMHgyNywgMHgyNSwgMHg3YywgMHgwNSwgMHg0ZCwgMHhkOCwgMHg0MCwgMHgwMSwKKyAgMHgwMCwgMHhlZSwgMHg3ZiwgMHgxNywgMHhmYSwgMHgyMiwgMHg5MiwgMHhiYSwgMHgxMywgMHgxZCwgMHhiOCwgMHg5ZCwKKyAgMHg2MywgMHhhNiwgMHhmOSwgMHgyNiwgMHg2YSwgMHg1ZCwgMHg5OCwgMHhmYiwgMHg3MCwgMHgxNCwgMHhlOSwgMHg5NCwKKyAgMHhlMywgMHhkMCwgMHhlYSwgMHhmOCwgMHg2ZiwgMHhkMCwgMHhjNywgMHgwMCwgMHhjYSwgMHg0NywgMHhhNiwgMHgxNSwKKyAgMHg3NSwgMHhkZCwgMHhlNCwgMHgwYywgMHhiMSwgMHgwNSwgMHg3NywgMHhkZSwgMHg4NSwgMHhiZiwgMHgxYiwgMHg1MSwKKyAgMHgyNSwgMHg0MywgMHgyZiwgMHg5MSwgMHgxMCwgMHg4MCwgMHg0NCwgMHgyNSwgMHhhNSwgMHgwYywgMHhlOSwgMHhhMiwKKyAgMHg5YywgMHhjZiwgMHgyNCwgMHgxYSwgMHg2MSwgMHgyOCwgMHg5ZiwgMHg0ZiwgMHhkOCwgMHhmNiwgMHg1YSwgMHgzNSwKKyAgMHhhYSwgMHgwNiwgMHg2ZCwgMHg4NCwgMHg0NCwgMHgyOCwgMHhlNCwgMHhiMywgMHgzMSwgMHhhNCwgMHgwMCwgMHgwOSwKKyAgMHgyMywgMHg0YSwgMHg3YSwgMHgxZiwgMHgzNywgMHgyMSwgMHg5MCwgMHhjNCwgMHgxMywgMHg5MCwgMHhiZSwgMHg5OSwKKyAgMHhjOCwgMHg2MiwgMHg5MiwgMHhjMSwgMHhlYiwgMHhhNCwgMHg0NSwgMHhmOSwgMHg0MywgMHhmMSwgMHgwYiwgMHg0NywKKyAgMHgzYywgMHgzNywgMHhkZCwgMHg2YiwgMHg4MywgMHg1NCwgMHgzNiwgMHhhOSwgMHhjYSwgMHgyNywgMHg1OCwgMHhjMCwKKyAgMHg2ZiwgMHhlMCwgMHg1MiwgMHhjZCwgMHgxNSwgMHg3MiwgMHg0NiwgMHg5YSwgMHg5ZiwgMHgyMSwgMHgxNywgMHgyMSwKKyAgMHg4ZCwgMHgyZiwgMHhkNiwgMHhlNiwgMHhjYywgMHhkMCwgMHgwZSwgMHg4NSwgMHhiNywgMHgyZCwgMHhmOSwgMHhiZCwKKyAgMHg3OCwgMHg5MCwgMHhiZCwgMHhkNCwgMHgxYSwgMHhhYywgMHg1ZSwgMHhjZSwgMHg2YiwgMHgxNCwgMHhiYywgMHhmMCwKKyAgMHg4MywgMHhhNCwgMHg4NCwgMHgwZSwgMHg3NywgMHhmNywgMHhiZCwgMHg1NiwgMHg3NiwgMHhmYywgMHhiMywgMHhmOCwKKyAgMHhmMCwgMHgzZSwgMHhhYSwgMHg5NywgMHhjYywgMHgyYSwgMHhhZiwgMHg2NSwgMHhmYiwgMHhkNywgMHg4YywgMHhiZiwKKyAgMHg2NywgMHhjNywgMHhmZiwgMHgyYywgMHgwMiwgMHhhNCwgMHhjNSwgMHg1MCwgMHg1NywgMHhmMSwgMHhjZiwgMHg5ZSwKKyAgMHhmYiwgMHg0OSwgMHhlMCwgMHhlYSwgMHgzZSwgMHg3NSwgMHg0ZSwgMHg4YywgMHg5NiwgMHhmYiwgMHg0MCwgMHgzMiwKKyAgMHhmZCwgMHgxOCwgMHg2NiwgMHg4YiwgMHgxMSwgMHg3NCwgMHgyMiwgMHg1NiwgMHhmZiwgMHg4YywgMHgzMywgMHg4NCwKKyAgMHg3OCwgMHgxZCwgMHg2NiwgMHgxYiwgMHhiYiwgMHhhNiwgMHgyMSwgMHgzOCwgMHhiMiwgMHhkMCwgMHg1NSwgMHhiOSwKKyAgMHgyMCwgMHg4NCwgMHhlZSwgMHhkOSwgMHhiZSwgMHhlYiwgMHg4YiwgMHhjYywgMHhhMCwgMHg0MCwgMHhiOSwgMHg1ZiwKKyAgMHg1YSwgMHhlNSwgMHg0MCwgMHgxNCwgMHhjMiwgMHhhMiwgMHhmNiwgMHgxNiwgMHgwYSwgMHg3ZSwgMHhmMCwgMHgyOSwKKyAgMHg3MCwgMHg2MywgMHg0MSwgMHhlOCwgMHhmNywgMHgxYSwgMHhmNywgMHg2ZSwgMHg2ZSwgMHg2ZCwgMHg4YSwgMHg0MywKKyAgMHg4NSwgMHgzZSwgMHg5NiwgMHgyMiwgMHg0YywgMHgyMSwgMHgwZSwgMHhlNCwgMHg5NCwgMHg5MCwgMHgxZiwgMHg3OCwKKyAgMHhmOSwgMHhjMywgMHg4OCwgMHhkNiwgMHhiMSwgMHgyZiwgMHhkOSwgMHgwZCwgMHg3MiwgMHgyNywgMHgxOCwgMHhmOSwKKyAgMHgwZCwgMHg4OSwgMHgyYywgMHg2YSwgMHgyZSwgMHgzMywgMHg0YSwgMHg2MywgMHgwYiwgMHhlZCwgMHgyZCwgMHgzNCwKKyAgMHg4ZSwgMHhiZCwgMHhmZCwgMHg5NSwgMHhjMSwgMHhkOCwgMHgyNiwgMHg0NSwgMHhiNiwgMHhiYSwgMHhkYywgMHg4OCwKKyAgMHhjZCwgMHgyZiwgMHhiNiwgMHgzNywgMHhlZCwgMHhkMiwgMHhmYSwgMHhjZCwgMHhhMSwgMHgzNiwgMHgxMCwgMHg5YywKKyAgMHg4NiwgMHgxZSwgMHg2ZCwgMHhjZSwgMHgwYywgMHhmYiwgMHhkYywgMHgxNiwgMHg5NCwgMHhmMSwgMHg5MCwgMHg2NCwKKyAgMHg0MywgMHgxYywgMHg2NiwgMHgxYywgMHgxMiwgMHg5NSwgMHhmMSwgMHgzYSwgMHgxOCwgMHhlNSwgMHgyNywgMHgyZiwKKyAgMHg3MCwgMHgzNywgMHgxOSwgMHhiYywgMHg4YiwgMHg0OSwgMHgzYywgMHg5ZCwgMHgzNywgMHg1NCwgMHhhOCwgMHg4NSwKKyAgMHg1MiwgMHgzYSwgMHg4NiwgMHg2ZiwgMHhhZCwgMHhmNywgMHgzZCwgMHg2ZCwgMHgzYywgMHg3MiwgMHgzZCwgMHgyOSwKKyAgMHg4NiwgMHg4MywgMHg0ZSwgMHgzYiwgMHhlMiwgMHgwNywgMHhmMSwgMHgzYywgMHgxOSwgMHhlYiwgMHg1NCwgMHhlZiwKKyAgMHhjZCwgMHgyZiwgMHhiNiwgMHg1OCwgMHg1ZSwgMHgzOSwgMHgzZiwgMHg5YSwgMHhmNywgMHhlZCwgMHhjZCwgMHhlNCwKKyAgMHhjNywgMHgzOCwgMHhhYSwgMHg0MSwgMHhjMiwgMHhlZiwgMHg3YSwgMHhmNiwgMHg4MSwgMHhkMCwgMHhlYywgMHg3ZCwKKyAgMHg2ZiwgMHgyNCwgMHgyZiwgMHgyNywgMHhlNSwgMHhlYywgMHhlZSwgMHhjZiwgMHg4OCwgMHgzOCwgMHhjOSwgMHgyYiwKKyAgMHgyZiwgMHg3NywgMHhmMCwgMHhhMywgMHg4ZSwgMHhjYSwgMHhkYywgMHgzNywgMHgxMCwgMHg0NiwgMHgzMSwgMHg0NywKKyAgMHg4NSwgMHhmZiwgMHg3ZSwgMHg0OSwgMHg4ZiwgMHhhYiwgMHhjNSwgMHhiMCwgMHg5OSwgMHg4YywgMHg0NiwgMHg4NiwKKyAgMHgxMSwgMHhkNSwgMHgwYiwgMHhmNCwgMHg2YywgMHg1YywgMHgyMywgMHg1OCwgMHgwMCwgMHg2MCwgMHhhYSwgMHhlZCwKKyAgMHhiYSwgMHgwNCwgMHg4MSwgMHgwYSwgMHhmZSwgMHgxYywgMHhiNSwgMHhhZCwgMHhkOSwgMHhmMSwgMHhjOCwgMHhiZiwKKyAgMHhhYSwgMHhiZSwgMHgzMCwgMHg2MywgMHgxZSwgMHhkOCwgMHgxNCwgMHhjOSwgMHhkZSwgMHgwNiwgMHhmMCwgMHhjYywKKyAgMHgxMCwgMHgzZCwgMHg0MCwgMHg5MCwgMHhjZiwgMHgyNywgMHhiOSwgMHg2MCwgMHg5YiwgMHhjZSwgMHhjYSwgMHgxNiwKKyAgMHgyZSwgMHgzMywgMHg4MywgMHhmNCwgMHgxOCwgMHhmMSwgMHgxZSwgMHg4NywgMHhiZSwgMHg0NCwgMHhjZSwgMHgyMSwKKyAgMHhjNSwgMHg4NiwgMHhmMCwgMHg3YiwgMHg2YiwgMHhjMCwgMHhjOCwgMHhkYywgMHg4NiwgMHg0NywgMHgwMiwgMHhiNCwKKyAgMHgyOCwgMHhmYywgMHg2NSwgMHg5MCwgMHgzYywgMHg5ZiwgMHhlNCwgMHg4ZCwgMHhjMywgMHg4NSwgMHgwYiwgMHhiMiwKKyAgMHgzNywgMHhkOCwgMHhkMiwgMHhhZiwgMHg5MywgMHhjZiwgMHg4NywgMHhmNCwgMHg5YywgMHhkNywgMHg1MiwgMHg1YywKKyAgMHhlOCwgMHhiZSwgMHg5ZCwgMHhiOSwgMHgzMSwgMHgxMCwgMHhiZCwgMHg3MCwgMHg4OCwgMHhiNCwgMHhkNCwgMHg0OCwKKyAgMHgzOSwgMHgyNiwgMHhhZCwgMHg2YywgMHg5MiwgMHhkNiwgMHhkOSwgMHhiMywgMHgyNywgMHhmYywgMHg0OSwgMHhkZSwKKyAgMHhhNCwgMHg1YSwgMHhhZiwgMHhiZCwgMHhmMywgMHhiYywgMHhiYSwgMHgyYywgMHhiNiwgMHhkNiwgMHg4MiwgMHhiYSwKKyAgMHgxNywgMHgwMSwgMHhhOCwgMHgxMiwgMHhhNCwgMHg5YywgMHg1MSwgMHg4NywgMHg0OCwgMHgyZSwgMHhjMSwgMHgyMCwKKyAgMHg2OSwgMHg2YSwgMHgxNCwgMHhjOSwgMHhjYiwgMHgwNiwgMHhmNSwgMHhhNCwgMHhjZiwgMHg5ZiwgMHg3OSwgMHg5MywKKyAgMHgxZSwgMHhkZCwgMHg2MywgMHhhMSwgMHg3NywgMHgxOSwgMHhhOSwgMHhhYywgMHhiMSwgMHhiYiwgMHgyNiwgMHg0YiwKKyAgMHhiMSwgMHhjMSwgMHhiZCwgMHgyNCwgMHgxZiwgMHgwNywgMHgyMywgMHg0OSwgMHhjYSwgMHgyMiwgMHhhZCwgMHg1NywKKyAgMHhmMSwgMHhiZSwgMHg2YiwgMHhlNCwgMHg1ZiwgMHg4MiwgMHgzZiwgMHgyOSwgMHhlOSwgMHg3NCwgMHgzZiwgMHhiYywKKyAgMHg5NiwgMHhhOCwgMHgzZCwgMHgxMywgMHg0OSwgMHhkZiwgMHhlNywgMHg0OSwgMHgzMCwgMHg2MSwgMHhkZiwgMHg0ZiwKKyAgMHhkNywgMHgxNCwgMHgzYywgMHhiOCwgMHg1OCwgMHg1NSwgMHg5MCwgMHgzZSwgMHhmMiwgMHgxOCwgMHgyYiwgMHgwOSwKKyAgMHg1YSwgMHhhNSwgMHgyYSwgMHg3YSwgMHhmYSwgMHg5YiwgMHg4MywgMHhiNywgMHhlZiwgMHgwZiwgMHg0ZSwgMHgxZSwKKyAgMHhkZSwgMHgzYSwgMHhhZSwgMHhkNSwgMHg4ZCwgMHg3NCwgMHhlZCwgMHg2YiwgMHgxZSwgMHgyYywgMHg0NSwgMHgwNywKKyAgMHhiOCwgMHhlZCwgMHg3OCwgMHhkMCwgMHgwMywgMHg2NCwgMHgxMywgMHg0NCwgMHgxYiwgMHgwOCwgMHhkOCwgMHhhNiwKKyAgMHg5YiwgMHhhYiwgMHg0ZCwgMHgyNSwgMHhjMywgMHg0NCwgMHg1YSwgMHg5NCwgMHgxYSwgMHgxMiwgMHhjNywgMHg3NCwKKyAgMHhlMywgMHgyMiwgMHgwZiwgMHg4OSwgMHg4YiwgMHg3YiwgMHg1OSwgMHhmYiwgMHg2OSwgMHgyZCwgMHg4ZCwgMHg3YiwKKyAgMHgzNywgMHhmNCwgMHg3ZCwgMHg3YSwgMHg3ZCwgMHg0MywgMHg0YSwgMHg4NywgMHgyYywgMHg0YSwgMHg0OCwgMHg4NCwKKyAgMHhjYSwgMHgyZCwgMHhhYSwgMHg4OSwgMHhjZCwgMHhiOCwgMHg1YSwgMHgzMiwgMHhjMCwgMHhmNiwgMHg0YywgMHg4NCwKKyAgMHg1OSwgMHhjYiwgMHhlOSwgMHg1NiwgMHg1ZSwgMHg1YywgMHg3OCwgMHhjNSwgMHgxMywgMHhkZCwgMHhjOCwgMHhkZSwKKyAgMHhlMSwgMHg2MSwgMHgzZiwgMHhlMCwgMHhjMiwgMHhhNywgMHg4NCwgMHhiZiwgMHhlZSwgMHhkNCwgMHgyMywgMHg2MSwKKyAgMHgxYiwgMHgxZCwgMHg3NywgMHgxZiwgMHgzNiwgMHgyNSwgMHhhMywgMHg5MSwgMHhiYywgMHg5NCwgMHhiOSwgMHhjNSwKKyAgMHg3NywgMHg5NSwgMHhhMSwgMHhjNywgMHgzYywgMHhlOCwgMHgxOCwgMHg1NSwgMHg3MiwgMHhkMSwgMHg5NSwgMHg3YywKKyAgMHg3YywgMHhmNCwgMHgwZSwgMHhkYiwgMHg3NSwgMHg3NiwgMHgzMCwgMHgxZSwgMHg1YiwgMHgyYywgMHgxMCwgMHhjOSwKKyAgMHhmMCwgMHgwOSwgMHg4YywgMHgzMSwgMHgwNCwgMHhmYiwgMHhiYywgMHhkNiwgMHg1OCwgMHgyMywgMHg5NywgMHgxYiwKKyAgMHgyNiwgMHhiOSwgMHhmYywgMHhjYSwgMHgzOSwgMHhjZSwgMHg1NywgMHgwYiwgMHg3MywgMHg1ZiwgMHg4YywgMHhjMiwKKyAgMHgzYiwgMHhhMywgMHhmOCwgMHgzMCwgMHg0NywgMHg2MCwgMHhiYiwgMHg4NCwgMHg0NywgMHg5YywgMHg0YiwgMHgxNSwKKyAgMHgyOSwgMHgxYywgMHgzNiwgMHhlOCwgMHgwZiwgMHgwNSwgMHgzZiwgMHg2MywgMHgyZCwgMHg2NSwgMHg0OSwgMHgzNSwKKyAgMHg2YSwgMHhlZCwgMHg4MSwgMHg5NiwgMHgwZiwgMHhhMiwgMHhiZSwgMHg5ZiwgMHg4ZCwgMHhmMSwgMHhmMSwgMHhmOSwKKyAgMHg1MSwgMHg3MiwgMHhmMCwgMHhmZSwgMHhmYywgMHg5YiwgMHgwZCwgMHhkZSwgMHhlMCwgMHgyZSwgMHhmZSwgMHgxMSwKKyAgMHgzYywgMHhmNSwgMHhkNCwgMHgwNSwgMHg1YywgMHhkMiwgMHhhNiwgMHg2ZCwgMHgzMSwgMHgzNSwgMHg5NywgMHgyZSwKKyAgMHg0NiwgMHgzNCwgMHgyNSwgMHhlZiwgMHg5YiwgMHhhMywgMHgzNSwgMHhhNywgMHhmNCwgMHg3NCwgMHhmNCwgMHhiNCwKKyAgMHg3YiwgMHg0YSwgMHhmZCwgMHhlZCwgMHgwYywgMHg4MCwgMHg0OCwgMHgwZiwgMHg0OCwgMHhmYiwgMHg2ZCwgMHhkZCwKKyAgMHgzYiwgMHhhMSwgMHg3OCwgMHg0MSwgMHhiYSwgMHhhNywgMHhjNCwgMHhhOSwgMHgxZCwgMHhkNywgMHg2NCwgMHg0YiwKKyAgMHhkMiwgMHg5YSwgMHg2MSwgMHhmNywgMHg0NywgMHhlMCwgMHg1MCwgMHgyZCwgMHgzNiwgMHhhYywgMHg4ZCwgMHg4NiwKKyAgMHgwMywgMHhkYSwgMHhkZiwgMHhjMiwgMHhjNywgMHg4OSwgMHg5MywgMHg5NywgMHhlMywgMHhhMCwgMHhlNiwgMHhjNCwKKyAgMHhkMiwgMHg2YSwgMHg2NiwgMHgzMSwgMHgwMSwgMHgyMiwgMHhmYSwgMHhhMSwgMHhhNiwgMHhmOCwgMHg1MSwgMHg5MiwKKyAgMHhiOSwgMHgyMSwgMHg4MSwgMHhkMSwgMHhjMywgMHgxMiwgMHhjYSwgMHg1YywgMHgxZSwgMHg1ZiwgMHhiYywgMHhkOSwKKyAgMHgwMiwgMHg5YywgMHhlNywgMHg2OCwgMHhlNSwgMHg2NSwgMHg2MSwgMHhmZSwgMHhkNywgMHg2NiwgMHgzZCwgMHhjNiwKKyAgMHgwMSwgMHhmZCwgMHg2OSwgMHg1ZiwgMHgyNSwgMHg1MSwgMHhlNCwgMHgyNSwgMHhmZiwgMHgzNywgMHg0ZSwgMHhlZiwKKyAgMHgyNCwgMHg3MiwgMHhhYiwgMHg3MiwgMHhjZSwgMHgxZSwgMHg0NCwgMHg3OSwgMHg4MSwgMHg5MywgMHgzNywgMHhiOSwKKyAgMHhkNiwgMHhkMSwgMHhkNiwgMHhlMCwgMHhhNSwgMHg4OCwgMHg3ZSwgMHhjMiwgMHgzYywgMHhlMSwgMHgzNiwgMHgzMywKKyAgMHg2MSwgMHg2ZiwgMHhjNiwgMHhhZCwgMHhmMSwgMHg3NiwgMHg2MiwgMHg1ZCwgMHhhZCwgMHhlNywgMHg4OCwgMHgyNSwKKyAgMHg2MiwgMHhiYywgMHg0OCwgMHgxMSwgMHg2YiwgMHg4MCwgMHgzNCwgMHgxYywgMHg0NCwgMHgyYSwgMHg4OCwgMHg5YywKKyAgMHhkZCwgMHhlZCwgMHgwZCwgMHgyZCwgMHgyNiwgMHgzMCwgMHhlYSwgMHhlOSwgMHhjZCwgMHhhYywgMHgwNywgMHg3YywKKyAgMHg5NCwgMHg5NiwgMHg4MCwgMHhkYywgMHgzMSwgMHg1YiwgMHg4YSwgMHg3MCwgMHhmOCwgMHhmZCwgMHgyYiwgMHhhZiwKKyAgMHgxZCwgMHg5YiwgMHgyNiwgMHhhNywgMHgyNSwgMHg0YywgMHgyYywgMHg5MiwgMHg0YiwgMHhkZSwgMHg4NywgMHgxNywKKyAgMHhlYywgMHhlMSwgMHg5ZSwgMHhhMiwgMHgwMywgMHgyYSwgMHg0NSwgMHg1MywgMHg2NywgMHg1OSwgMHhiNiwgMHhiNCwKKyAgMHhiZCwgMHgyZiwgMHg3MiwgMHhkNCwgMHg1OCwgMHgyMiwgMHgzOSwgMHhjNywgMHhkYywgMHg1MywgMHhlZSwgMHgzYiwKKyAgMHhiMiwgMHgwOCwgMHgzZCwgMHg0YiwgMHg1NiwgMHhlYiwgMHg2MSwgMHhjZSwgMHhlMSwgMHg0MCwgMHhhOSwgMHhhOCwKKyAgMHhiZCwgMHgyNCwgMHhjNSwgMHg2ZSwgMHg3NywgMHg5ZiwgMHgzZiwgMHhmZSwgMHhkYywgMHgwOCwgMHhlNiwgMHgzYiwKKyAgMHgyNCwgMHg3ZiwgMHhiNywgMHg0MCwgMHhlYSwgMHgxOSwgMHhkYywgMHhiZCwgMHgxZiwgMHhiOCwgMHg1NSwgMHhhYywKKyAgMHgxYSwgMHg0ZCwgMHhlOSwgMHgxNSwgMHgzMCwgMHg5ZCwgMHhhNCwgMHgyNiwgMHgzMywgMHgwMiwgMHgwZSwgMHgyYSwKKyAgMHg4MSwgMHhiNiwgMHgwOCwgMHg5MSwgMHhjOCwgMHhjYywgMHgyNiwgMHhhYSwgMHhiNywgMHgwNywgMHgzYiwgMHg0NiwKKyAgMHhiOSwgMHg4NCwgMHhkOCwgMHgyZCwgMHhjZSwgMHgwYywgMHgxYiwgMHg3OSwgMHgzNCwgMHg2YywgMHg5NCwgMHgzYiwKKyAgMHg2YSwgMHhiOCwgMHgzOSwgMHg0OCwgMHhkZSwgMHgxZCwgMHg5ZCwgMHhiZiwgMHgxYiwgMHgyNCwgMHhlMywgMHhmMywKKyAgMHhkMywgMHg3NywgMHgzZCwgMHg1MCwgMHhiYiwgMHgwZCwgMHg4MywgMHgzNCwgMHhkMSwgMHg5ZSwgMHg2OSwgMHg5YSwKKyAgMHgwYSwgMHhkZiwgMHhjYSwgMHgxNiwgMHgwYywgMHgyNywgMHgzMiwgMHhhMCwgMHg5OSwgMHhmMSwgMHhkNCwgMHg1MSwKKyAgMHhlNCwgMHg0NiwgMHgwZiwgMHhjMCwgMHhkMSwgMHhkYiwgMHgyZCwgMHg5MCwgMHg4ZCwgMHg5MSwgMHgwZiwgMHg2YiwKKyAgMHgxNywgMHhjNiwgMHhjNywgMHhmZSwgMHgwMCwgMHgwYSwgMHgyMSwgMHg1YSwgMHhhNCwgMHhlNSwgMHg1YSwgMHgzNiwKKyAgMHg4ZiwgMHhkOSwgMHgxYSwgMHg4YiwgMHg4ZCwgMHg1YywgMHhmZiwgMHhhZSwgMHhjZCwgMHg4OSwgMHg5NiwgMHg4NCwKKyAgMHhmNCwgMHhjMCwgMHhkMywgMHg3MiwgMHg0YSwgMHg2ZSwgMHhlZCwgMHg1MiwgMHg4NiwgMHgwZCwgMHhjOSwgMHg2ZCwKKyAgMHgyOCwgMHgwYSwgMHhjYywgMHg4NiwgMHhiOSwgMHg2ZSwgMHhmMCwgMHgxZSwgMHgzYiwgMHhjMCwgMHhiNSwgMHg3YiwKKyAgMHhlOCwgMHhkNywgMHhlOCwgMHg0MiwgMHhkYiwgMHgyMywgMHgyZiwgMHg4MSwgMHgyNywgMHhhOSwgMHhjYiwgMHg0NSwKKyAgMHhjNiwgMHg2ZSwgMHg3ZSwgMHgzOCwgMHg4MiwgMHg5NCwgMHgzZiwgMHg3MSwgMHg5ZiwgMHg1ZiwgMHgyMCwgMHg4ZCwKKyAgMHhjNywgMHhkMCwgMHg5MCwgMHgyYywgMHgyNiwgMHgyNCwgMHg5ZCwgMHhmMiwgMHhhNiwgMHg4NSwgMHg5MywgMHhkMSwKKyAgMHgzYSwgMHgwNCwgMHgzZSwgMHg5NywgMHhjYywgMHg5OCwgMHhhOSwgMHgwZCwgMHhjMCwgMHgzNiwgMHgzNywgMHg3NSwKKyAgMHg1NiwgMHgxZSwgMHg1OCwgMHg2NCwgMHg5YiwgMHg3OSwgMHhlZiwgMHg3NiwgMHg5OSwgMHgwYywgMHg0MSwgMHhmMiwKKyAgMHg0NCwgMHgzOSwgMHgwYiwgMHgyNSwgMHhhOCwgMHhiNCwgMHg4MCwgMHg4MCwgMHhiNCwgMHgwNiwgMHgwYSwgMHhhYSwKKyAgMHg4NCwgMHhkZiwgMHg2MiwgMHhmYSwgMHg0YywgMHg5ZSwgMHhkMiwgMHg0OCwgMHg3OCwgMHhjMCwgMHgwYSwgMHhjMCwKKyAgMHgwNiwgMHhlNiwgMHhhZSwgMHg5YywgMHg1NywgMHhjZiwgMHg5YywgMHgyMywgMHgzNCwgMHhhYiwgMHgyZSwgMHhkNywKKyAgMHhlZCwgMHhlMCwgMHhkYiwgMHg3NCwgMHgxZCwgMHg3OCwgMHhhMiwgMHhiNiwgMHgyNSwgMHhhZSwgMHg2ZCwgMHg1ZiwKKyAgMHgwNywgMHhhYiwgMHg2NSwgMHg2ZCwgMHg2ZiwgMHhjOCwgMHg3YiwgMHg5NSwgMHgxNywgMHhlOSwgMHgwMiwgMHgyZiwKKyAgMHhiZSwgMHg0YiwgMHhhNCwgMHgwNCwgMHgwMywgMHhlYywgMHgyZiwgMHg4ZSwgMHg5ZiwgMHg5NiwgMHgyNCwgMHhlZiwKKyAgMHgwYiwgMHg4NiwgMHgxNSwgMHg2MiwgMHg0ZiwgMHg1MiwgMHg4MSwgMHhjNCwgMHg4NywgMHg5OSwgMHhkZCwgMHgzOSwKKyAgMHg0MiwgMHhkNCwgMHhhMywgMHg4NCwgMHgyZCwgMHhjOCwgMHhhZCwgMHg1OSwgMHgwOSwgMHg4NSwgMHg5ZSwgMHgxNiwKKyAgMHgxZCwgMHhhMiwgMHhiOCwgMHhjMiwgMHg4OSwgMHg4YywgMHgzYywgMHgwMiwgMHg5NSwgMHgzNCwgMHgzMiwgMHg5OCwKKyAgMHg4NCwgMHhhZiwgMHhiOCwgMHhiOCwgMHhhYiwgMHhiMywgMHg1MiwgMHg2MCwgMHhmYywgMHgwNCwgMHgwYiwgMHgzZCwKKyAgMHhmMywgMHg4ZiwgMHg4ZCwgMHgzOSwgMHgxYSwgMHhlYywgMHgxZiwgMHhjNywgMHgwOCwgMHgxYSwgMHg4NiwgMHhkYSwKKyAgMHg2OSwgMHgyMSwgMHgyNiwgMHhjOSwgMHg2YSwgMHhhMywgMHgzOSwgMHhlMiwgMHg4NSwgMHhlMCwgMHgxOSwgMHhhZCwKKyAgMHg4YSwgMHgzOSwgMHhhNSwgMHg4NywgMHhiNywgMHg4MSwgMHg4MiwgMHg3NCwgMHgyNywgMHg0NywgMHg2YiwgMHgwMCwKKyAgMHgyOCwgMHg3ZCwgMHg1YywgMHhhMSwgMHgxNiwgMHg0OSwgMHhiNiwgMHhkMSwgMHg1YSwgMHhkYSwgMHhhYiwgMHhlYiwKKyAgMHhjNSwgMHg3ZCwgMHg2MCwgMHg4NSwgMHhlMiwgMHgxZCwgMHgxZCwgMHg1YywgMHg5ZCwgMHhkNSwgMHg5ZCwgMHg2MiwKKyAgMHhmMSwgMHhiYywgMHhjOCwgMHgwOSwgMHg0YSwgMHhhZSwgMHhhYywgMHg3NiwgMHhhOCwgMHg0YywgMHg5MSwgMHg3MCwKKyAgMHg1OCwgMHgxMywgMHgyMywgMHgyMSwgMHgzNSwgMHgxMywgMHgzNSwgMHhlMiwgMHhlMCwgMHg1MCwgMHg1ZCwgMHgwZSwKKyAgMHgwYywgMHhjNCwgMHgwYywgMHgzZCwgMHg4YSwgMHhkNCwgMHgwNiwgMHgwYSwgMHhjYSwgMHhiZSwgMHhjNSwgMHhkNCwKKyAgMHhjMiwgMHhkZSwgMHg4ZSwgMHg5MiwgMHg1OCwgMHhjZiwgMHg1MCwgMHhjOSwgMHgwNSwgMHg0MSwgMHhhZSwgMHg2MywKKyAgMHg1YiwgMHgyMywgMHhkMywgMHgwNiwgMHhkNiwgMHhkYSwgMHg3ZCwgMHgwYSwgMHgwNywgMHgwYiwgMHg4ZCwgMHg2ZiwKKyAgMHhiMywgMHhlZSwgMHhhZCwgMHhlNCwgMHhkNiwgMHhjNiwgMHg1ZiwgMHg1MCwgMHhmMywgMHhjZCwgMHhhZSwgMHg0OCwKKyAgMHg1NiwgMHg0OCwgMHhmYiwgMHg2ZSwgMHhjMiwgMHg3MiwgMHg2OCwgMHg3ZiwgMHhhYywgMHhjZSwgMHg5YSwgMHhkNSwKKyAgMHgzMiwgMHg5NCwgMHhmMywgMHhjNywgMHg2NywgMHg2ZSwgMHg0OCwgMHhjMSwgMHg2ZiwgMHhhNywgMHhhZCwgMHg5NiwKKyAgMHhhOCwgMHhhOCwgMHgzNywgMHg0OSwgMHg4MiwgMHhkNSwgMHhiMSwgMHgwNywgMHhlMCwgMHg0NCwgMHg3ZiwgMHhmNywKKyAgMHgzNiwgMHg0MiwgMHgxMSwgMHgwOCwgMHhhNCwgMHg3YiwgMHgxZiwgMHgwZSwgMHg4YywgMHg4YSwgMHgxNywgMHhlYSwKKyAgMHgyMiwgMHhiZiwgMHg2MSwgMHhiNCwgMHg4YiwgMHg0NywgMHg2OCwgMHhlMywgMHhhYywgMHgwZCwgMHg3YiwgMHhhNCwKKyAgMHhkZSwgMHg0OSwgMHhkZiwgMHgzNSwgMHg5YiwgMHhkMiwgMHg5YSwgMHg2ZCwgMHg3OCwgMHg2NywgMHhiNCwgMHgwZSwKKyAgMHg0NSwgMHg0YSwgMHhkNiwgMHhlOSwgMHg3YywgMHhiNiwgMHhkZSwgMHg1MywgMHg1ZiwgMHgyNiwgMHhiYSwgMHhjMywKKyAgMHhkYiwgMHg5ZiwgMHg4NSwgMHg0YiwgMHg5NywgMHhiMSwgMHhkNiwgMHhjZCwgMHg2YSwgMHhmNywgMHhjNSwgMHhkZSwKKyAgMHg2OCwgMHhmNywgMHhkOSwgMHhlNywgMHhhMywgMHg1ZCwgMHhiNCwgMHgzYiwgMHhmNywgMHg2NiwgMHhlNywgMHhkYSwKKyAgMHg3MiwgMHg3YiwgMHgwMywgMHg0NSwgMHg5YSwgMHhiZSwgMHgyNywgMHhmZCwgMHgxMCwgMHhlZCwgMHhmYywgMHg4NSwKKyAgMHhjNSwgMHhkZCwgMHg4OCwgMHg5ZSwgMHgxYiwgMHg3MSwgMHhkNywgMHhiNSwgMHhlMCwgMHgxYiwgMHgwYiwgMHhhMywKKyAgMHhkNiwgMHhlNCwgMHg0NSwgMHgxMCwgMHgwNywgMHgxOSwgMHhiYSwgMHg2YywgMHgyMiwgMHgxNSwgMHhmNywgMHhjYiwKKyAgMHg5YywgMHhlOCwgMHg0OCwgMHg4MSwgMHg5MywgMHhkZCwgMHhhYywgMHg2YywgMHhkZiwgMHg1OCwgMHhlZCwgMHg4MCwKKyAgMHg0NSwgMHhiNywgMHgzMywgMHgzZSwgMHgyMywgMHg2NSwgMHhlYSwgMHg1MywgMHhkMSwgMHgyMywgMHgxZCwgMHg1ZiwKKyAgMHhiNywgMHhkZiwgMHhmZiwgMHgxNywgMHg2YywgMHgzZSwgMHhlNSwgMHg5MSwgMHhhZiwgMHg3MiwgMHhlNywgMHhiZCwKKyAgMHg2MCwgMHhjZiwgMHg5NCwgMHhkYSwgMHgyNCwgMHhmMCwgMHhiOSwgMHgwMywgMHhlMywgMHhhZiwgMHgwYiwgMHgxMywKKyAgMHgyNywgMHhhOCwgMHg1ZiwgMHhjYywgMHhmZSwgMHgzYSwgMHg0MCwgMHg2YiwgMHg5ZSwgMHg5MCwgMHgzOSwgMHhmMiwKKyAgMHg2MCwgMHgxZCwgMHhmZCwgMHgyNCwgMHgyNCwgMHg4YywgMHhhOSwgMHgyOSwgMHg0OCwgMHg1ZCwgMHgyNCwgMHgzZiwKKyAgMHg3OSwgMHgwZCwgMHgwMiwgMHg4YiwgMHgzOSwgMHhiNCwgMHgwZSwgMHg0NywgMHhhZiwgMHhmZCwgMHhmMSwgMHg4ZiwKKyAgMHg4ZSwgMHgyMywgMHg4ZCwgMHg5MSwgMHhmYywgMHhjMiwgMHhkZCwgMHg5OSwgMHg5ZSwgMHgwZSwgMHgxOCwgMHg2ZiwKKyAgMHgxOSwgMHgwMSwgMHgyZiwgMHg2ZSwgMHhmNCwgMHhiMiwgMHhiMSwgMHhmZiwgMHg1NywgMHhmOCwgMHg4NiwgMHg3ZiwKKyAgMHgxYSwgMHhmZSwgMHhkNSwgMHhmYywgMHhmMywgMHhhNywgMHgwZCwgMHhiZCwgMHhkNSwgMHg4YywgMHhjYywgMHhhOCwKKyAgMHg2NSwgMHgyMiwgMHgwZSwgMHhmYywgMHgxNiwgMHhjNywgMHgzMywgMHg2OCwgMHhiNywgMHgyZSwgMHg4NywgMHg1NiwKKyAgMHg3MCwgMHg3ZSwgMHg3OCwgMHhjNiwgMHgxNywgMHhiMSwgMHhlMiwgMHg5OCwgMHgzNywgMHhkNiwgMHg0OSwgMHg4YywKKyAgMHgwOCwgMHg2YSwgMHgzZCwgMHg3MSwgMHg3MCwgMHg0NiwgMHg3YSwgMHg2NiwgMHgzYSwgMHhiMSwgMHg3YiwgMHhlOSwKKyAgMHhiZCwgMHgzMywgMHg3MCwgMHgyOSwgMHgwZCwgMHgzNywgMHhjYywgMHgwMSwgMHg1MiwgMHhhMywgMHhkZSwgMHg1ZSwKKyAgMHg5MiwgMHg3ZiwgMHg4NSwgMHgwMSwgMHg0OSwgMHg0NiwgMHg1NCwgMHg2ZCwgMHhjOCwgMHhiYSwgMHhiNCwgMHhiNCwKKyAgMHg5NSwgMHgyNywgMHg1MCwgMHg0NywgMHg0MywgMHgyNCwgMHhmNiwgMHgzYSwgMHhkYywgMHg5OCwgMHgzOSwgMHgwZCwKKyAgMHgwNCwgMHhjZSwgMHg5YywgMHg0YiwgMHgyMiwgMHgxYSwgMHg4NSwgMHhkMSwgMHgyZCwgMHhjOCwgMHg0ZSwgMHg1MSwKKyAgMHgzYywgMHhmNywgMHgyYSwgMHhhZiwgMHgzZiwgMHhkMiwgMHhlMiwgMHhhNCwgMHhiYSwgMHhjNywgMHhjYiwgMHgxMCwKKyAgMHhjMiwgMHg3YywgMHgzZSwgMHhiMywgMHg1YSwgMHhkZiwgMHg5ZCwgMHgyMiwgMHg5NiwgMHhkOSwgMHhiMiwgMHg2ZCwKKyAgMHg2ZiwgMHg2NywgMHg5ZCwgMHg3NCwgMHhkMCwgMHgzMywgMHg1NywgMHg2NCwgMHg5YiwgMHgyOCwgMHhlOCwgMHhhMiwKKyAgMHgzYywgMHg1NiwgMHg2NSwgMHg3MSwgMHgyYywgMHhkMCwgMHg0ZSwgMHg5YSwgMHg5YSwgMHhkNCwgMHg1MiwgMHg5ZSwKKyAgMHgxOSwgMHg0NSwgMHhkNywgMHg1MiwgMHg4NywgMHg4NywgMHhjYywgMHg5NywgMHg2YywgMHhkMSwgMHgwZiwgMHg0OCwKKyAgMHhmYSwgMHg2ZCwgMHg3NywgMHhhNSwgMHgxNiwgMHhiNSwgMHgxYywgMHg0YiwgMHg3MywgMHhkZiwgMHgyZiwgMHg4MywKKyAgMHg1MiwgMHhlYSwgMHg5YywgMHhiNCwgMHg4MiwgMHg1OSwgMHg2NSwgMHhlNiwgMHhjMCwgMHg1ZCwgMHgwNywgMHgwMCwKKyAgMHhjYywgMHhhMiwgMHgwOCwgMHg0MCwgMHgxNCwgMHhlOCwgMHg1NSwgMHg4ZCwgMHhlZSwgMHhiMywgMHhhOCwgMHhhZCwKKyAgMHgyMCwgMHg3OSwgMHhjOSwgMHg0ZSwgMHgxZCwgMHg0NSwgMHgwZCwgMHgzZCwgMHhiYiwgMHg2MiwgMHg2YiwgMHg2YywKKyAgMHgzYywgMHhmZCwgMHgxNywgMHgwYywgMHg5YiwgMHhlYSwgMHg3MiwgMHg2ZSwgMHgwYSwgMHg3MiwgMHgyZCwgMHhkNSwKKyAgMHhhMSwgMHg0MSwgMHg4MywgMHhjOSwgMHgyZiwgMHg2MiwgMHg5OCwgMHhlYiwgMHg5ZSwgMHg1MCwgMHhkZCwgMHg3YiwKKyAgMHgxNCwgMHhiYSwgMHg1MiwgMHhlYSwgMHg4ZiwgMHgzOSwgMHg2ZiwgMHhmMiwgMHgzMCwgMHg1ZiwgMHhkZSwgMHgwZiwKKyAgMHhhNiwgMHg0YSwgMHhjNywgMHhhNiwgMHgzOCwgMHhmMiwgMHgyZCwgMHhiZSwgMHg2MiwgMHgyNSwgMHg0YywgMHhiZCwKKyAgMHhiYSwgMHhiYywgMHgwNCwgMHgyOCwgMHg1MiwgMHg5OCwgMHg5MSwgMHhjNywgMHg3NSwgMHg4YSwgMHg1MiwgMHgzMSwKKyAgMHgyMCwgMHgxZCwgMHg2YSwgMHgwYywgMHgyZiwgMHhjNywgMHhkNCwgMHg3NSwgMHgzYiwgMHg1YywgMHg0NSwgMHhhNCwKKyAgMHg3MCwgMHgxYywgMHgwNywgMHhmNSwgMHhkZiwgMHgwYiwgMHg5YywgMHgzMCwgMHg0YSwgMHg4ZSwgMHhlNSwgMHg3ZSwKKyAgMHgzYiwgMHg0NSwgMHhhNiwgMHhjYSwgMHg4NiwgMHgzYSwgMHhjZiwgMHgyZSwgMHgxMywgMHgyNCwgMHgwYiwgMHgyYywKKyAgMHgwZCwgMHgzMiwgMHg1ZiwgMHgyZCwgMHg0MywgMHhhYywgMHhkNywgMHhmMCwgMHhiZSwgMHg5ZSwgMHhmYywgMHg1NywKKyAgMHhlMSwgMHg4MCwgMHhlNCwgMHg2MywgMHhiMywgMHhhMCwgMHg4NiwgMHgxNCwgMHg0NiwgMHg2MiwgMHgwOCwgMHg1NywKKyAgMHhjNiwgMHhlMCwgMHhhYywgMHgyYywgMHhhOCwgMHhhMSwgMHg4ZiwgMHg1ZCwgMHhkNCwgMHg5NSwgMHg5YSwgMHgxNywKKyAgMHhkOCwgMHg4ZCwgMHg3NSwgMHg3ZSwgMHgwMSwgMHhjNywgMHgwNywgMHg3ZCwgMHg2ZCwgMHhlOSwgMHhjOSwgMHg2OCwKKyAgMHgyZiwgMHgzOCwgMHhkOCwgMHg3YSwgMHgzZSwgMHg5YywgMHg0ZSwgMHhhNywgMHg0MywgMHhlOCwgMHgwMSwgMHgyZiwKKyAgMHg1OSwgMHgzZCwgMHhkOSwgMHgxMSwgMHhlNSwgMHgyMCwgMHhhZSwgMHgzOCwgMHg4ZCwgMHgzMywgMHhkOSwgMHhlZCwKKyAgMHhjMywgMHhjMywgMHg0MywgMHhkMSwgMHg2MywgMHhjZSwgMHhhZiwgMHgzYSwgMHgwYSwgMHg4NSwgMHg4NSwgMHgxYiwKKyAgMHgxNCwgMHg2ZCwgMHgyYSwgMHhkYSwgMHgyOSwgMHhhMCwgMHhiZSwgMHg1YSwgMHgzNSwgMHg0NCwgMHhhYiwgMHhjYywKKyAgMHgzMywgMHg5NCwgMHhmOSwgMHhkYSwgMHhkYSwgMHhkOCwgMHgwZSwgMHgyNiwgMHg3NCwgMHg2OSwgMHg0ZSwgMHg2NCwKKyAgMHhlMCwgMHg1MiwgMHgxMiwgMHhjZCwgMHhlMCwgMHhjMSwgMHhkMSwgMHgyYywgMHhiOSwgMHhhMywgMHgxNSwgMHg1ZSwKKyAgMHg5NCwgMHhiMSwgMHhiYiwgMHg3ZCwgMHhiOCwgMHg3OSwgMHhhZSwgMHgzZSwgMHg3MCwgMHhhMywgMHhjZSwgMHhiMCwKKyAgMHg4ZSwgMHhhNSwgMHhmMSwgMHhlYSwgMHgyOCwgMHhmOCwgMHg2YywgMHg5YSwgMHg0YiwgMHhmZSwgMHg1NywgMHgyYSwKKyAgMHhkZiwgMHhlYSwgMHg4ZSwgMHg3ZCwgMHhjZiwgMHg3OSwgMHhjOCwgMHg1NiwgMHhiNywgMHg4ZiwgMHhlNCwgMHg1OSwKKyAgMHhlZiwgMHg5MSwgMHhjNCwgMHhmOSwgMHgxNCwgMHgxMCwgMHgwZiwgMHg2OCwgMHhlNywgMHg5MywgMHhhZCwgMHg0MywKKyAgMHg2MCwgMHg0YSwgMHg1MywgMHgwZiwgMHgwYSwgMHhkYywgMHg4OSwgMHhjMywgMHgyYiwgMHhjYSwgMHhlMSwgMHg5YSwKKyAgMHg5YiwgMHgwMywgMHgzMiwgMHhiMywgMHhhZSwgMHhjMSwgMHgwNSwgMHhiOCwgMHgzMSwgMHhlZiwgMHhmOCwgMHg2NCwKKyAgMHhlNywgMHhmYywgMHg2NCwgMHgxYywgMHg2NCwgMHhiYSwgMHhkZiwgMHg5MSwgMHhjYiwgMHgxOCwgMHhhZSwgMHhlMSwKKyAgMHhiNiwgMHhjMywgMHg5MywgMHhiNywgMHgwOCwgMHg2OCwgMHhmZiwgMHgyMiwgMHg4MSwgMHgyYywgMHg4NSwgMHhmMywKKyAgMHgxNywgMHhhMiwgMHg2OCwgMHg1NywgMHhhYiwgMHg0MiwgMHg4YiwgMHg2MCwgMHg5YywgMHhjYiwgMHhiNiwgMHhjOCwKKyAgMHgwYSwgMHg4MCwgMHg4OCwgMHg5MCwgMHgxMCwgMHhjNywgMHgxNSwgMHg0MCwgMHgyNiwgMHg2YywgMHg5ZCwgMHhiYywKKyAgMHgzZCwgMHgzOCwgMHhhNywgMHhiYSwgMHg5NiwgMHg0NiwgMHhmMiwgMHgzYywgMHgyZSwgMHhjYSwgMHg3OSwgMHhlOCwKKyAgMHgxOSwgMHhiZiwgMHhiMSwgMHg5OCwgMHgzNCwgMHg4OCwgMHhkYSwgMHhhNCwgMHg1MywgMHhkNywgMHhkZCwgMHg0YSwKKyAgMHgzNSwgMHg3NSwgMHgzZSwgMHhiZSwgMHg1YSwgMHgyOSwgMHg2ZiwgMHhkZCwgMHhmNiwgMHg5YiwgMHgyZCwgMHgxNSwKKyAgMHhlOSwgMHhkMCwgMHhhNSwgMHhmOSwgMHhlZSwgMHg2OSwgMHhlYywgMHg0NiwgMHg0ZiwgMHg4MywgMHgzNywgMHgyMCwKKyAgMHg3YSwgMHgyMiwgMHhlZiwgMHg4NCwgMHg5NywgMHhjYiwgMHgzNiwgMHg1YiwgMHhkMiwgMHg4NSwgMHhlZiwgMHg3MiwKKyAgMHg1ZSwgMHg1ZSwgMHhlNiwgMHg4NiwgMHhiZSwgMHgwNSwgMHhmZSwgMHg1YiwgMHg4YSwgMHg0YiwgMHgyNCwgMHgwYSwKKyAgMHgxNSwgMHhiOCwgMHg0OSwgMHg3OSwgMHg3MywgMHhhOCwgMHhmNiwgMHg3YSwgMHgwNSwgMHgwOCwgMHg4OCwgMHgxNiwKKyAgMHg4MiwgMHgzOSwgMHg1ZiwgMHgxMiwgMHg5MiwgMHgxNCwgMHg3NiwgMHg1MywgMHhhNSwgMHhiMywgMHg4OSwgMHg5NiwKKyAgMHgzZSwgMHg4NiwgMHg5NSwgMHg4NSwgMHhjNCwgMHg2MywgMHhmMiwgMHhhOSwgMHgzMSwgMHgxMCwgMHhhNiwgMHg3NywKKyAgMHgyMywgMHhhZSwgMHgwMSwgMHhhYywgMHhkYiwgMHg4OSwgMHhiNSwgMHg3OSwgMHgwYiwgMHg4MiwgMHhkOCwgMHgzYSwKKyAgMHg0OCwgMHgyOSwgMHg2YSwgMHgxZiwgMHgyZCwgMHhmZSwgMHg5MSwgMHgzNSwgMHhhZSwgMHhmNSwgMHhjMywgMHgzZiwKKyAgMHg2YiwgMHgwOSwgMHg4ZiwgMHhhZiwgMHhjOSwgMHgyMiwgMHhiYiwgMHgwYywgMHg4NCwgMHhhZSwgMHhjMywgMHgyMCwKKyAgMHgxYSwgMHg3NCwgMHg0MSwgMHhjOSwgMHg1ZCwgMHgwYiwgMHgyMiwgMHg3MiwgMHgwZCwgMHg3MSwgMHhiZiwgMHhiYSwKKyAgMHg0ZSwgMHgxMywgMHhlZiwgMHhkOSwgMHgyMCwgMHhkYSwgMHg2MCwgMHg2NSwgMHhkMCwgMHhlZCwgMHg1OSwgMHg1MiwKKyAgMHg4NSwgMHg5ZCwgMHgwYSwgMHg1YSwgMHhiOCwgMHg3MCwgMHgxNiwgMHg3YywgMHhhYSwgMHgzMywgMHhkYywgMHhkNywKKyAgMHg0NywgMHg1ZSwgMHgyYiwgMHg5YywgMHgwZSwgMHg3YywgMHgxYywgMHg0YSwgMHgzNiwgMHhmNCwgMHg3NywgMHg5YywKKyAgMHg4ZiwgMHg0MywgMHg0MSwgMHhhOCwgMHgxYiwgMHg2YSwgMHhkMywgMHg3ZCwgMHgxMywgMHgzNywgMHg3MiwgMHg1OCwKKyAgMHg4YiwgMHgzZCwgMHg3NywgMHhlZCwgMHgzNSwgMHhmOCwgMHg3YSwgMHhiMCwgMHgwZSwgMHg5OCwgMHhkOSwgMHgyYywKKyAgMHg1NSwgMHgwMiwgMHgxZSwgMHhkMywgMHgwMCwgMHhmZCwgMHhiZiwgMHg2ZCwgMHhiYSwgMHg3NiwgMHg2ZiwgMHhhMywKKyAgMHhkMCwgMHgwZiwgMHhlMSwgMHg1YSwgMHhmYywgMHg3NiwgMHhkMCwgMHhlMywgMHg1ZCwgMHhlYywgMHg2OSwgMHhlMCwKKyAgMHg2NiwgMHhjYiwgMHhlMSwgMHg0YSwgMHhhOSwgMHhmNiwgMHgwZSwgMHhlMywgMHhmMywgMHg1OCwgMHhkZCwgMHhmYSwKKyAgMHhmOSwgMHg3YywgMHg3MywgMHg3NCwgMHhmMCwgMHhhYSwgMHgxNywgMHhiZCwgMHhlNCwgMHg1MywgMHhlMCwgMHhjYSwKKyAgMHg1YiwgMHg1ZiwgMHhkZiwgMHgyNCwgMHhlMywgMHhhZSwgMHgzZSwgMHgyYiwgMHg3MSwgMHg5MywgMHhhNCwgMHgzOCwKKyAgMHgxYywgMHgyNSwgMHg1NCwgMHg4NiwgMHhhOCwgMHhjOSwgMHg4MCwgMHhkOSwgMHg4MiwgMHhlNiwgMHg4NSwgMHhiZCwKKyAgMHhkZCwgMHg2ZCwgMHg3YSwgMHgzZCwgMHgyMywgMHg3ZSwgMHhmNiwgMHg4MSwgMHgzOCwgMHhhYywgMHg0OSwgMHg1NSwKKyAgMHhlNiwgMHg5YSwgMHgyYSwgMHg4ZiwgMHg5MCwgMHgyZiwgMHg0MSwgMHhjOCwgMHhmMywgMHg3MiwgMHg1MiwgMHg1ZSwKKyAgMHg1YywgMHhhYywgMHg4OSwgMHgwYSwgMHgzMiwgMHgzOCwgMHgzMCwgMHg2YSwgMHg5ZiwgMHg5OCwgMHg1ZSwgMHgzNiwKKyAgMHg2OCwgMHgxYiwgMHhlOSwgMHhiZCwgMHgwOSwgMHg4MywgMHg0NywgMHg1NywgMHhlNiwgMHhiMiwgMHg2ZCwgMHg0OCwKKyAgMHgzMiwgMHgxNiwgMHhiYSwgMHg5NiwgMHgwNiwgMHg3NywgMHhhMywgMHgxNSwgMHg0MCwgMHg1MCwgMHg4MywgMHg0MSwKKyAgMHgyZCwgMHgzYywgMHg1NCwgMHhlMywgMHhiMywgMHgzNywgMHg0NiwgMHhiMywgMHg4NCwgMHg2YywgMHhhMywgMHgxNiwKKyAgMHhiMywgMHhlYiwgMHhmZiwgMHhmOSwgMHhjZiwgMHhiZiwgMHhmZSwgMHgxNCwgMHg2OSwgMHg1NywgMHg4MywgMHg3ZSwKKyAgMHg4ZSwgMHg1NywgMHg1YywgMHg1MiwgMHg2OCwgMHg5ZSwgMHhkNywgMHhjNiwgMHgwNSwgMHhiNiwgMHgzMSwgMHgwOCwKKyAgMHg2NywgMHg5YSwgMHg3MCwgMHg0MCwgMHhhMywgMHhhOSwgMHhiMywgMHhmOSwgMHg4NSwgMHg4NywgMHhiNywgMHgxNCwKKyAgMHg4YSwgMHhjNSwgMHhkYSwgMHg3ZCwgMHgxMCwgMHhkZCwgMHg0NywgMHhhOSwgMHgwMiwgMHg5YywgMHg0YiwgMHg3NiwKKyAgMHhhOSwgMHg2ZCwgMHgwMywgMHg1YSwgMHhiZSwgMHhiOSwgMHg3YywgMHg2OSwgMHgwYiwgMHhlYiwgMHgyZSwgMHgyNywKKyAgMHgxMSwgMHhhMCwgMHg4NywgMHhiOSwgMHhiZSwgMHg2YywgMHg3ZSwgMHgyNSwgMHgxMywgMHgxMywgMHhlMCwgMHhiMSwKKyAgMHg3NSwgMHg3NCwgMHhmYSwgMHg1YywgMHhmOSwgMHhjYSwgMHg1MCwgMHhlYSwgMHhkZCwgMHgzMCwgMHhiYiwgMHhjYiwKKyAgMHgyNiwgMHg4NiwgMHg0MywgMHhkNCwgMHgwYSwgMHhmOCwgMHgzMCwgMHg1YywgMHhkNCwgMHhjOSwgMHhjYiwgMHg4NSwKKyAgMHgyMSwgMHhmMiwgMHhiYywgMHgwNywgMHhhYSwgMHhlMywgMHgxYiwgMHg3YSwgMHhjZCwgMHgxOCwgMHhkMSwgMHhmMiwKKyAgMHg5ZSwgMHg4NSwgMHhhZiwgMHhiZSwgMHgyYywgMHgyYiwgMHhiMywgMHg0NSwgMHgwYiwgMHgyOSwgMHhjMywgMHg5NSwKKyAgMHg1MiwgMHhlNCwgMHhiNiwgMHgyYiwgMHgwMywgMHg4NSwgMHgyNSwgMHg4MSwgMHgzYiwgMHg4MCwgMHhmMCwgMHg1MywKKyAgMHhhOSwgMHg5YywgMHhjYSwgMHgwMywgMHhlMiwgMHgxNCwgMHhiNSwgMHg3MCwgMHhiNiwgMHgzMiwgMHg5YSwgMHhhMywKKyAgMHg5OSwgMHhiYSwgMHhiMSwgMHhhZiwgMHg2MSwgMHhkMywgMHg5MywgMHg1ZiwgMHg5MCwgMHgyOSwgMHg4YSwgMHg4YiwKKyAgMHgwYywgMHhlOSwgMHg5NSwgMHgyOCwgMHg3YywgMHg4MCwgMHgwYSwgMHgwZiwgMHhiMSwgMHhiMCwgMHgwYywgMHhjZiwKKyAgMHhmMSwgMHg1NywgMHg2NCwgMHhiYiwgMHg1YywgMHhmYiwgMHg5ZiwgMHgxNCwgMHg0NCwgMHg5NCwgMHg3MCwgMHg1ZiwKKyAgMHg2NSwgMHhmYSwgMHg3YywgMHhhMSwgMHg2ZCwgMHhlYSwgMHgyYSwgMHgxNSwgMHg2OSwgMHhlNCwgMHhkYSwgMHg3YywKKyAgMHgzZSwgMHhmNSwgMHhmNSwgMHg2MywgMHhhZiwgMHhmMSwgMHg0MCwgMHg3MCwgMHgyOSwgMHhkMSwgMHhjNCwgMHg1YSwKKyAgMHg4ZSwgMHhjNSwgMHgwNywgMHg4ZSwgMHg0NSwgMHhmOSwgMHg2MSwgMHg0YSwgMHhkNSwgMHg5MCwgMHhkOSwgMHg5YywKKyAgMHg1OSwgMHg5YywgMHhlNCwgMHg1NSwgMHhiOSwgMHg1MSwgMHhjMSwgMHg3MSwgMHhiYiwgMHgwMCwgMHgyZCwgMHgzNSwKKyAgMHhhNSwgMHgwOCwgMHg3MCwgMHgxOSwgMHhhYywgMHgzOCwgMHhmNCwgMHg1MSwgMHg0ZiwgMHgyZSwgMHg3ZSwgMHg4NywKKyAgMHg2OCwgMHhhYywgMHhmNywgMHg5YywgMHg5MSwgMHhkMiwgMHgyZSwgMHgxMSwgMHgzOSwgMHgxMiwgMHhmMywgMHgwMSwKKyAgMHg1OCwgMHhmOSwgMHhlOCwgMHgwNSwgMHhjOSwgMHhmMCwgMHgyMywgMHhmNCwgMHgzMiwgMHhiMiwgMHgyYiwgMHg4OCwKKyAgMHg4NSwgMHhjOCwgMHg3OSwgMHgxZiwgMHhjOSwgMHg3OSwgMHg3NywgMHg4NiwgMHhhMywgMHg3MCwgMHg0YiwgMHhmMiwKKyAgMHhlYywgMHhlOSwgMHhkMywgMHhhNywgMHgwOSwgMHgwNywgMHg1YywgMHg5MiwgMHg4ZCwgMHg2MywgMHhjNiwgMHg2NywKKyAgMHg3YiwgMHg3NywgMHg3NCwgMHg3OCwgMHhmYSwgMHhlNiwgMHhjZCwgMHhkMSwgMHhkYiwgMHg1NywgMHg0NywgMHhhZiwKKyAgMHhlYywgMHg0NSwgMHhkMywgMHhiNSwgMHg1OCwgMHhlYSwgMHgwOCwgMHg1NiwgMHg0NCwgMHg3OSwgMHg4MiwgMHhiMywKKyAgMHg2NCwgMHhmNywgMHhlOSwgMHhhMywgMHhlMSwgMHhkZSwgMHhkMywgMHg0NywgMHg4OSwgMHgyMSwgMHhjNSwgMHhkNCwKKyAgMHg5NiwgMHhhNywgMHhhNSwgMHhmMywgMHg5NCwgMHhlYywgMHhkYiwgMHhhYiwgMHg5NSwgMHhkMSwgMHhkMiwgMHgwOCwKKyAgMHhkNywgMHhiOSwgMHgyMSwgMHg5YywgMHgwZCwgMHg3OCwgMHg1ZSwgMHhjOSwgMHgzOSwgMHg1YywgMHg2NCwgMHgwZCwKKyAgMHhkOSwgMHhkMSwgMHg5MSwgMHhjYywgMHg4MCwgMHhkMSwgMHg0NiwgMHg2MiwgMHg0MSwgMHgzYSwgMHg1ZCwgMHhjOCwKKyAgMHg1MiwgMHg5NCwgMHgxZiwgMHgxMCwgMHhlOCwgMHhkZSwgMHgyMywgMHhmYSwgMHhkNCwgMHgyOCwgMHg3OSwgMHg2ZCwKKyAgMHhmNCwgMHg4ZiwgMHg4YiwgMHhmMiwgMHgzNiwgMHg2MSwgMHgyZCwgMHhkMCwgMHgyOCwgMHhhNSwgMHg1OSwgMHgxOCwKKyAgMHhhYSwgMHg2YywgMHhiZiwgMHg0ZSwgMHg2ZiwgMHgzZiwgMHhlNiwgMHhiNywgMHg3ZiwgMHhjMywgMHgxOCwgMHhmZCwKKyAgMHhkMywgMHgxNywgMHg2ZCwgMHhjMywgMHhkMiwgMHg1YywgMHg2NCwgMHg3NCwgMHgwNSwgMHhkMSwgMHg1YSwgMHhjNCwKKyAgMHgzOCwgMHg3OCwgMHhjMSwgMHg5OCwgMHg2ZCwgMHhmMSwgMHg2ZiwgMHgwZSwgMHhjZSwgMHhlOCwgMHg2MSwgMHg2MywKKyAgMHg5MywgMHg5ZiwgMHhmZSwgMHhmMCwgMHgxNywgMHg1NywgMHhkYiwgMHg3OSwgMHhiZCwgMHhhYiwgMHhjOSwgMHg4YywKKyAgMHg1MiwgMHhjMiwgMHhjYSwgMHg5ZCwgMHg1NSwgMHg4YiwgMHgzMCwgMHhlOCwgMHg2ZCwgMHgzMSwgMHhlMiwgMHg3YywKKyAgMHg5MywgMHg1MCwgMHhlNSwgMHgwYywgMHhkNiwgMHg0OCwgMHgzOSwgMHhhOCwgMHg2NiwgMHhmMywgMHhiOCwgMHhlZCwKKyAgMHhhMSwgMHg5YywgMHg1YiwgMHg1NSwgMHg0YiwgMHgxMSwgMHg1MSwgMHg1OCwgMHhjZiwgMHg1ZiwgMHg1MSwgMHg4OCwKKyAgMHhjMywgMHhjYywgMHgyOSwgMHhlNywgMHhhZSwgMHgzZiwgMHg3OSwgMHgzMSwgMHhlMywgMHg0ZSwgMHhlMywgMHgyZCwKKyAgMHhiZiwgMHg2YywgMHg1MywgMHhhZCwgMHg1YSwgMHg2NiwgMHhhNSwgMHhmYSwgMHg2MSwgMHg0NywgMHhlYiwgMHg2MSwKKyAgMHgzNiwgMHg5NiwgMHg1NSwgMHhiZSwgMHg0OCwgMHhhYiwgMHg3YywgMHg3ZSwgMHhhNywgMHgwNCwgMHg3ZSwgMHhjMywKKyAgMHhiZCwgMHg4ZiwgMHgzOSwgMHg1MywgMHgwYSwgMHhhMSwgMHgyZiwgMHg4YiwgMHgyYiwgMHg0YywgMHgzOSwgMHgwNCwKKyAgMHg2OSwgMHhhNCwgMHhmZSwgMHgyNiwgMHg5ZiwgMHhjYSwgMHg5NSwgMHgxMiwgMHhlYywgMHgyZiwgMHgzZSwgMHg1NywKKyAgMHhkZSwgMHhhZCwgMHhiNSwgMHg2OCwgMHg0OCwgMHg2ZCwgMHhmYiwgMHhkZiwgMHhhYSwgMHgxNCwgMHhkMSwgMHhkMiwKKyAgMHg1YiwgMHg1MiwgMHg3MywgMHg1ZiwgMHgxZiwgMHg5ZiwgMHgxYywgMHg2ZCwgMHgyNywgMHhhZiwgMHhiMywgMHg0NiwKKyAgMHhhYSwgMHg5YiwgMHgzNCwgMHhjOSwgMHg5OCwgMHhjNCwgMHhmZCwgMHhlZiwgMHhhMCwgMHg2MCwgMHg1OSwgMHg0OCwKKyAgMHg1YSwgMHhhOSwgMHgwZCwgMHg4ZSwgMHhlNiwgMHg4MiwgMHhiMSwgMHgxOSwgMHgwMywgMHg1ZCwgMHg0MywgMHgyYiwKKyAgMHhhNSwgMHhmOCwgMHg2NCwgMHhiMCwgMHg0NCwgMHgwYSwgMHhjNywgMHg2OSwgMHg2YSwgMHg5OSwgMHg4NiwgMHgzNywKKyAgMHhlNSwgMHhlNCwgMHg2MywgMHg3OSwgMHhiNywgMHg4YSwgMHhmMCwgMHgzMCwgMHg2YSwgMHgwMywgMHg1ZSwgMHg5NiwKKyAgMHg4NSwgMHg5NywgMHg0MiwgMHg0MCwgMHhmMywgMHg5NiwgMHhiYywgMHg2NywgMHg4ZSwgMHgwNywgMHhlNiwgMHhmNSwKKyAgMHg3MiwgMHg0ZSwgMHhjYywgMHgyMCwgMHg4NiwgMHhlZSwgMHgzMiwgMHhjZiwgMHg1YywgMHg0NSwgMHgxZiwgMHgyOCwKKyAgMHhkZiwgMHg1OCwgMHgwZiwgMHgzNiwgMHgxMSwgMHg5MywgMHg3OSwgMHgyYSwgMHhhZCwgMHhkNywgMHhkYiwgMHhiOCwKKyAgMHg2ZiwgMHg3NCwgMHhlMywgMHgyOCwgMHhlZCwgMHg4NCwgMHhmZiwgMHhiYiwgMHhmMywgMHhlNSwgMHgxYSwgMHhhYywKKyAgMHhiNCwgMHgyMywgMHhmNCwgMHg0MCwgMHg5NywgMHgxNywgMHg0MCwgMHg1MCwgMHhlOCwgMHhjYSwgMHhhYSwgMHhhOSwKKyAgMHg0YywgMHhhYSwgMHg3NCwgMHhiNiwgMHgyOCwgMHgyMSwgMHhhNiwgMHhiZSwgMHg4MiwgMHgxZSwgMHg1YywgMHgyOCwKKyAgMHhmZSwgMHgyZiwgMHhkMiwgMHg3YSwgMHg0ZiwgMHg1NSwgMHgwOCwgMHgyYSwgMHhmZSwgMHg3NiwgMHhmMiwgMHgyNSwKKyAgMHhmMywgMHgzZSwgMHg1YSwgMHg0NywgMHg3YiwgMHg1YywgMHg2YSwgMHg2NSwgMHgwNSwgMHhiNCwgMHgxNSwgMHhkNiwKKyAgMHhhNiwgMHgyOCwgMHg1ZiwgMHgzZiwgMHg2ZCwgMHg2NywgMHhlYywgMHhmMywgMHg2MywgMHg1NywgMHhkMiwgMHhiOCwKKyAgMHgwMCwgMHhjZSwgMHgxNCwgMHgyZSwgMHgxZiwgMHhhYiwgMHgyMywgMHgyZSwgMHg3ZiwgMHg3NywgMHgxNywgMHg1ZCwKKyAgMHg3NCwgMHgwZiwgMHg3ZCwgMHhiMiwgMHhkOSwgMHgzMywgMHhhMywgMHhhOSwgMHgwNywgMHgwMywgMHhhOSwgMHhlZCwKKyAgMHhiYSwgMHhlNSwgMHg2NywgMHhlNiwgMHg3NywgMHgxMSwgMHg2ZCwgMHg0OSwgMHhiZSwgMHhlZSwgMHhiMywgMHhhMCwKKyAgMHhhZSwgMHhjYSwgMHg2ZSwgMHhiZiwgMHg1MSwgMHg1YSwgMHhkMCwgMHgxYywgMHgzMSwgMHg0NCwgMHg0MywgMHg3NSwKKyAgMHg5MSwgMHhmNiwgMHg4ZSwgMHg3ZCwgMHhlNCwgMHgxOSwgMHhkYSwgMHg5YywgMHgzNiwgMHg1NSwgMHgzZSwgMHhmZCwKKyAgMHgwOCwgMHg0MCwgMHhiNCwgMHhiYSwgMHg1OSwgMHg0MSwgMHhhNSwgMHg0YiwgMHgwYiwgMHg3ZiwgMHg5NiwgMHhiNiwKKyAgMHhkMSwgMHhjNywgMHhhYywgMHhjNCwgMHg0ZSwgMHhjNywgMHhiNSwgMHg0ZiwgMHg1MiwgMHg5MSwgMHhjOCwgMHg2NSwKKyAgMHg0MCwgMHhmOCwgMHhkYiwgMHgzYSwgMHgxYiwgMHg1ZSwgMHg4ZCwgMHhiZCwgMHgyYiwgMHg1NiwgMHg0ZCwgMHhhMywKKyAgMHgzMiwgMHg0OCwgMHg5YywgMHhlYywgMHgzMiwgMHhkMiwgMHgxNSwgMHhjMCwgMHg1YywgMHg2MywgMHgwMiwgMHhlMCwKKyAgMHgyMCwgMHg1ZiwgMHhkYiwgMHg4ZCwgMHg0MCwgMHg4YiwgMHg2ZCwgMHg1NiwgMHgxOSwgMHg3NywgMHgyNiwgMHgxOSwKKyAgMHgxOSwgMHg1MywgMHg3NCwgMHg0MSwgMHgxNSwgMHgwMSwgMHg0OCwgMHhiMywgMHg5NSwgMHgyNSwgMHhjYiwgMHhmNiwKKyAgMHgxOCwgMHhjZSwgMHg3NiwgMHg5OSwgMHg1ZiwgMHg0NywgMHhiMywgMHgyYywgMHg3NCwgMHg2MiwgMHgwYiwgMHhjNiwKKyAgMHhiYiwgMHhlMCwgMHg1OSwgMHg2OCwgMHhjYSwgMHhiMSwgMHg2MiwgMHgxZCwgMHgyNSwgMHhlMiwgMHg5MiwgMHg0ZSwKKyAgMHgwOCwgMHgwYSwgMHhjZSwgMHgxZSwgMHg1ZiwgMHg3MCwgMHg4MywgMHhlNywgMHhhNCwgMHhiMiwgMHgxMiwgMHg5MCwKKyAgMHg1NywgMHhjMSwgMHgxZCwgMHhkNywgMHhiZiwgMHgzMSwgMHhiYSwgMHhjZiwgMHhmZSwgMHg4NiwgMHhlZCwgMHhhNywKKyAgMHgyMSwgMHg0OSwgMHg1MSwgMHg1OSwgMHg4NywgMHg3MiwgMHg2MCwgMHg2NCwgMHgxNCwgMHhlNSwgMHgzMCwgMHhkYSwKKyAgMHg0OCwgMHg5MiwgMHgxNSwgMHhmNywgMHg0NiwgMHhmOSwgMHg5NiwgMHhhZCwgMHhiNywgMHgwOSwgMHhiMywgMHg5YSwKKyAgMHg2ZCwgMHhmZCwgMHhjYiwgMHgwMCwgMHhkMCwgMHgyNiwgMHg1NywgMHg2MSwgMHg5NSwgMHgxZiwgMHg0ZCwgMHhlOSwKKyAgMHg4NywgMHhlMSwgMHgyMSwgMHgzZSwgMHgzZSwgMHhmYywgMHgwNiwgMHhlMywgMHhmZCwgMHg2OSwgMHhjMywgMHhiYSwKKyAgMHg3YiwgMHhiYiwgMHhiZiwgMHhkYSwgMHgwZiwgMHgzYiwgMHhiZiwgMHg0ZiwgMHhiZCwgMHgxNiwgMHgyZiwgMHg0YywKKyAgMHgyNSwgMHhjMCwgMHhjNywgMHgxNCwgMHgyZSwgMHg5YiwgMHgzYSwgMHhlNCwgMHg0ZCwgMHg0MCwgMHhiZSwgMHhjZCwKKyAgMHg2NiwgMHgzYiwgMHhmNiwgMHhkMCwgMHgzOSwgMHg3NSwgMHhhZSwgMHhhZiwgMHhlNSwgMHhiOCwgMHg5MSwgMHgyMiwKKyAgMHg0YiwgMHhhMCwgMHhlOCwgMHhjYywgMHg4NiwgMHhlNSwgMHhjNSwgMHgxMCwgMHgxOSwgMHhkMiwgMHgwNCwgMHg5OSwKKyAgMHg0NywgMHhkOSwgMHg0OCwgMHhkZSwgMHhhZCwgMHgwMywgMHgzMCwgMHgwOCwgMHhkMCwgMHg0ZiwgMHg2NywgMHhiMywKKyAgMHg5OCwgMHg2YSwgMHg5ZSwgMHhkNiwgMHg1MiwgMHg0NywgMHhhYywgMHg4NCwgMHhhZiwgMHg4NSwgMHgxNiwgMHg3YywKKyAgMHg5OCwgMHhmYiwgMHhlMiwgMHg5NiwgMHhjNywgMHhlYiwgMHhkYSwgMHg5MCwgMHg5NywgMHhkOCwgMHhhMCwgMHgxNiwKKyAgMHg0NCwgMHgwNCwgMHhmZSwgMHgzNCwgMHg5NCwgMHg0NywgMHgwYywgMHg1OCwgMHg3ZCwgMHhjNywgMHhhMiwgMHg2MSwKKyAgMHhiZiwgMHgyZCwgMHhkOCwgMHg5NSwgMHgwYiwgMHhlNywgMHhmMywgMHg2YSwgMHgwOSwgMHg5NSwgMHg5NSwgMHhkMCwKKyAgMHg5YSwgMHgwMywgMHhlZiwgMHg4YiwgMHgxNiwgMHg4OSwgMHhiMCwgMHhlOCwgMHg3ZiwgMHgzYSwgMHg3YSwgMHgzNCwKKyAgMHgwOCwgMHhhMiwgMHhmNCwgMHgwZCwgMHhjYywgMHhmYywgMHhjMiwgMHhhNSwgMHgwOCwgMHgyMSwgMHg0MSwgMHgwMiwKKyAgMHgzYywgMHg3MiwgMHgxOCwgMHhhYiwgMHhhYSwgMHgzNSwgMHg5NywgMHhmMCwgMHg4ZSwgMHhiOCwgMHhiNSwgMHgyZCwKKyAgMHhhNCwgMHg0NSwgMHg2ZSwgMHhiMSwgMHgyYiwgMHg3YywgMHg3MCwgMHg3OSwgMHgzZCwgMHhkOCwgMHg0MywgMHg2MSwKKyAgMHg5YywgMHhhOCwgMHg5ZSwgMHg4ZCwgMHgwMSwgMHg1YywgMHg0YiwgMHhjNiwgMHhkNiwgMHg5NywgMHhjMywgMHg2ZSwKKyAgMHhkZiwgMHg2MywgMHhkYiwgMHhiZSwgMHhkMiwgMHhhZiwgMHhkZSwgMHg3MCwgMHhkNSwgMHhlYSwgMHhmZCwgMHg5ZSwKKyAgMHgyNiwgMHhmNCwgMHg1MSwgMHgzOSwgMHhkMCwgMHhkNiwgMHg2NywgMHg0MywgMHhiMywgMHhhOSwgMHhkMiwgMHhhMiwKKyAgMHg3YiwgMHg5OCwgMHhkMSwgMHgwZiwgMHgxOSwgMHhhOCwgMHg0MywgMHg1MSwgMHhhMywgMHhlYiwgMHg3YiwgMHhmNiwKKyAgMHhlYywgMHhmMSwgMHg3MywgMHhkYSwgMHgzMywgMHhkYiwgMHg1OCwgMHg0NiwgMHg3YiwgMHhhOCwgMHgzOSwgMHgwMSwKKyAgMHgwMSwgMHhiMiwgMHhmNSwgMHhlZSwgMHg1MiwgMHg3NywgMHhjZiwgMHg4OCwgMHhhZiwgMHgxMCwgMHgyNywgMHgyOCwKKyAgMHgzNCwgMHhlYiwgMHgzYiwgMHg4NSwgMHhiZSwgMHg3MiwgMHhkNywgMHg5YiwgMHg1YSwgMHhkYywgMHg5MywgMHhmMywKKyAgMHg4YiwgMHg2YiwgMHhmMywgMHg5YSwgMHgxNCwgMHhmYiwgMHhlMSwgMHg1YiwgMHg3MywgMHgwYywgMHhmYiwgMHhjOSwKKyAgMHhiZiwgMHg5NywgMHgxOSwgMHhkNywgMHhhYywgMHhkZSwgMHg1MywgMHhiMiwgMHhmYSwgMHhmZCwgMHhjMSwgMHhiYiwKKyAgMHhiNywgMHhjNywgMHg2ZiwgMHhiZiwgMHhkZSwgMHg3NywgMHgxMCwgMHg5ZCwgMHhlMCwgMHg3OSwgMHgwMiwgMHg5YSwKKyAgMHgxZiwgMHhmNCwgMHhmYiwgMHgwMSwgMHhiMiwgMHgzZSwgMHhlYSwgMHgwMiwgMHg1MiwgMHhmNiwgMHhjZCwgMHg0NywKKyAgMHgzYiwgMHgyYywgMHgyNCwgMHg0MywgMHhlNiwgMHhjZCwgMHhlYywgMHhiYiwgMHhhYywgMHgzMiwgMHgwZSwgMHg4YSwKKyAgMHhiMCwgMHgyZCwgMHhhYSwgMHg4NSwgMHgxMywgMHg1MiwgMHhhZCwgMHgwOSwgMHg1MSwgMHhjOSwgMHhiZCwgMHgzYSwKKyAgMHgyMywgMHg0MCwgMHgwZCwgMHhjMywgMHgxMywgMHhlNCwgMHhlNSwgMHhjZSwgMHhjYiwgMHg1NiwgMHg4ZiwgMHg0MCwKKyAgMHhhMiwgMHhjYiwgMHgzOSwgMHhjZSwgMHhiZiwgMHhmNCwgMHg0OSwgMHhjMCwgMHg2YiwgMHhmNSwgMHg0NywgMHgxMCwKKyAgMHg3YywgMHg5MSwgMHhiZSwgMHhiMCwgMHgzMCwgMHhmNCwgMHg1OCwgMHg0MCwgMHhjMCwgMHhhMCwgMHhkMSwgMHhiZSwKKyAgMHg2OCwgMHhkYywgMHhkYywgMHg4OCwgMHg2YSwgMHg3NiwgMHhjOSwgMHg1MywgMHg5MSwgMHg3MywgMHhmYywgMHhkZiwKKyAgMHhlZCwgMHg4NywgMHg0ZCwgMHhmMiwgMHg4YSwgMHhmOCwgMHg0MSwgMHg3OCwgMHhhMywgMHhhNiwgMHhlOSwgMHg4YSwKKyAgMHg2ZiwgMHgwYywgMHg4MywgMHg5MiwgMHhjOSwgMHg0ZiwgMHg1ZCwgMHg2NSwgMHg4NiwgMHhkZCwgMHg4MiwgMHhmNSwKKyAgMHg3MSwgMHgwNywgMHhhZSwgMHg5MiwgMHhkNSwgMHhiMCwgMHg2YSwgMHgyNywgMHhkNSwgMHgxOSwgMHgwMSwgMHgzZiwKKyAgMHhjNywgMHhiMCwgMHhjYywgMHg3ZiwgMHg0OSwgMHg5NCwgMHg0NCwgMHhmMSwgMHg0NywgMHhlNiwgMHg5OSwgMHhhYiwKKyAgMHg0YSwgMHhiMiwgMHhiYSwgMHhjZSwgMHgxNSwgMHhlYiwgMHgzYSwgMHhmMywgMHg2NSwgMHgwMCwgMHhiMiwgMHg0NywKKyAgMHg2OSwgMHhlNiwgMHhmNCwgMHgwYiwgMHhkOSwgMHg1ZSwgMHg4YSwgMHg1YiwgMHg0MSwgMHhmZSwgMHhhYSwgMHg1MSwKKyAgMHhkMiwgMHhjMiwgMHhiNCwgMHhiMywgMHg5ZCwgMHg3ZSwgMHhiNSwgMHhjYiwgMHg2ZSwgMHgyOCwgMHg0ZiwgMHgwOSwKKyAgMHhlYSwgMHgyOSwgMHg2MywgMHhhMCwgMHgzMSwgMHhiZiwgMHgwMiwgMHhjNiwgMHg3YywgMHhkZCwgMHhlYywgMHhmMywKKyAgMHg3MiwgMHgzNSwgMHg1OSwgMHhjYywgMHg5ZSwgMHgyNiwgMHgyZiwgMHhjZCwgMHgxZiwgMHg4MSwgMHg5MiwgMHgzNSwKKyAgMHhlNiwgMHg2YywgMHhkMiwgMHg0MywgMHhmMiwgMHhhMiwgMHg1MywgMHg4YSwgMHgwYiwgMHgwMywgMHhlMCwgMHg3MiwKKyAgMHg2OSwgMHg4YiwgMHg2ZCwgMHgyMiwgMHhmNCwgMHg3OCwgMHhjZiwgMHg0YywgMHhmNiwgMHgzNiwgMHg1NSwgMHg1NCwKKyAgMHhjYiwgMHg5OSwgMHgzOSwgMHhjMywgMHgwNiwgMHhhOSwgMHg2NywgMHgzZCwgMHg3OCwgMHg0MSwgMHgyZSwgMHhhNywKKyAgMHg5MSwgMHhjZSwgMHg3YywgMHg3NywgMHhlZiwgMHhmMywgMHg4NCwgMHg0YSwgMHgwZiwgMHhkZSwgMHhiYywgMHg3YSwKKyAgMHg5YSwgMHg0YywgMHhhZiwgMHhiMiwgMHhlOSwgMHhjNywgMHg3YSwgMHhiNSwgMHg1MCwgMHg2NiwgMHg5YywgMHhkMCwKKyAgMHg5NiwgMHg1MiwgMHgyMCwgMHg4NCwgMHhlNiwgMHgxOSwgMHgyMCwgMHgzZCwgMHg5OCwgMHg4OSwgMHhjZiwgMHhmMywKKyAgMHgyOSwgMHgxNSwgMHhmZSwgMHgwZCwgMHg1YSwgMHhlMSwgMHhhOSwgMHgwYiwgMHgwZCwgMHg0ZiwgMHg3OSwgMHg1NiwKKyAgMHhhOCwgMHgxNSwgMHgxYiwgMHg0OCwgMHgxNywgMHhlMCwgMHg5YywgMHg5YSwgMHg0OCwgMHhmMCwgMHhjMiwgMHhlYywKKyAgMHg4MSwgMHhmOSwgMHgzYywgMHhiNSwgMHg5ZCwgMHgzMCwgMHg3YSwgMHhmOSwgMHg1YSwgMHg5NywgMHhlZCwgMHhmMywKKyAgMHhiNiwgMHhkNywgMHg5YiwgMHgyZSwgMHhmNiwgMHhhMywgMHhkMSwgMHg4YiwgMHgxZSwgMHg0MCwgMHhkZiwgMHgxNiwKKyAgMHgwOCwgMHgxNywgMHhkNSwgMHgyYSwgMHg1OSwgMHg4YywgMHg2NywgMHhkOCwgMHgwMywgMHhhNCwgMHhlNSwgMHhkMywKKyAgMHgyNCwgMHgwOSwgMHgwOCwgMHg0YSwgMHhhMywgMHg3OCwgMHhjMSwgMHhjNywgMHhlOSwgMHhjOSwgMHgxZCwgMHg3YSwKKyAgMHg0MiwgMHgzYSwgMHgxYSwgMHgxMSwgMHgwMywgMHgwMSwgMHgxNCwgMHgwNSwgMHgxMywgMHgxNiwgMHg5MiwgMHg4NCwKKyAgMHg2YywgMHgwOCwgMHgxMCwgMHhlMSwgMHg0ZiwgMHhlMCwgMHgxOCwgMHgyMSwgMHhmZSwgMHgxYSwgMHg1MSwgMHhkYSwKKyAgMHg1YywgMHhmOSwgMHhiNywgMHhmNSwgMHhkOSwgMHhiOCwgMHhhZSwgMHg2OSwgMHg1MiwgMHg0OCwgMHhlYiwgMHhlMSwKKyAgMHgzOCwgMHg2OCwgMHgzNSwgMHgyMSwgMHhlZCwgMHgzMCwgMHhkMCwgMHg1NCwgMHgwMiwgMHhjMSwgMHgyNywgMHg1ZiwKKyAgMHhlNiwgMHhjMCwgMHhiNCwgMHgzYiwgMHg4ZSwgMHg5YSwgMHg1MSwgMHgwOCwgMHhlMSwgMHgzZSwgMHgyNywgMHgwYywKKyAgMHg2OCwgMHhiNiwgMHhhOCwgMHhjYiwgMHg5YiwgMHhlMiwgMHhiMiwgMHgyMiwgMHhmZiwgMHgwOCwgMHhiYSwgMHgxYiwKKyAgMHhhNywgMHhiMSwgMHg1OCwgMHg0NiwgMHgwYywgMHhiOSwgMHhkNCwgMHg4ZCwgMHg2ZCwgMHgyYywgMHhhZSwgMHg2NywKKyAgMHhjNCwgMHhlOSwgMHhmZCwgMHg1ZCwgMHg5MSwgMHgyMCwgMHgzNiwgMHg2YywgMHg1MiwgMHhiMSwgMHhkOSwgMHhiZCwKKyAgMHgyMywgMHg3YSwgMHgzNCwgMHg5MCwgMHg2MywgMHhkYSwgMHgxZCwgMHgzZCwgMHhlYSwgMHg2YiwgMHhhMiwgMHhlNSwKKyAgMHhiNSwgMHhjZiwgMHg5MiwgMHhiNCwgMHg4NywgMHhkNiwgMHhmOSwgMHg5OCwgMHgzNywgMHg3ZCwgMHgzZCwgMHg5OSwKKyAgMHhmMywgMHgxYywgMHgwYywgMHhhZCwgMHhmNywgMHg2NCwgMHhkZiwgMHg5OSwgMHg4NSwgMHg4YSwgMHgwMywgMHgyYiwKKyAgMHg5YiwgMHhiNSwgMHgwNiwgMHg3YSwgMHg2OCwgMHg4ZCwgMHg4NCwgMHg0YywgMHg3NywgMHg1NywgMHhjMiwgMHgzMCwKKyAgMHhmNCwgMHhhZiwgMHhiZCwgMHgyZSwgMHhkMSwgMHg5OSwgMHg1ZiwgMHgzZiwgMHg4NCwgMHhlOCwgMHgyMiwgMHg2YiwKKyAgMHhkOSwgMHg1ZCwgMHgzYiwgMHgwZCwgMHg2ZiwgMHgxZSwgMHhkOCwgMHgzYiwgMHhiNywgMHg3OSwgMHg1YSwgMHhhMSwKKyAgMHgyMSwgMHhmMywgMHhkMSwgMHg2YiwgMHgxMSwgMHg0NiwgMHhhNSwgMHhjMywgMHg4NiwgMHgyNywgMHg3OCwgMHg4MywKKyAgMHhjYSwgMHg1ZCwgMHhjYSwgMHg2YSwgMHg0OCwgMHgzYSwgMHhiYiwgMHgzOSwgMHhhYywgMHg0MCwgMHg4NSwgMHg4YSwKKyAgMHgxZCwgMHgwNiwgMHg0YywgMHg4YywgMHhiYywgMHhhZSwgMHgwOSwgMHg5MCwgMHgxMiwgMHhiMSwgMHg2ZSwgMHhhMiwKKyAgMHg0ZSwgMHgwYSwgMHgxYywgMHhmOSwgMHg4OCwgMHhmMSwgMHg3NSwgMHgzNCwgMHg2ZCwgMHgxZiwgMHgwNCwgMHhiMiwKKyAgMHg2NywgMHg5NSwgMHg3NCwgMHhmYywgMHg5MywgMHhiNiwgMHhmNCwgMHhmZCwgMHgxMiwgMHgwNCwgMHgzOCwgMHgwMiwKKyAgMHg5MCwgMHhiMiwgMHhlYiwgMHhmYSwgMHg5MiwgMHg2MCwgMHg3MiwgMHg2YywgMHg1MSwgMHhjNCwgMHg2NiwgMHhlNywKKyAgMHgyMSwgMHhhMiwgMHg2OSwgMHgwNCwgMHg0OCwgMHhjYSwgMHgzNSwgMHg2YiwgMHhmZCwgMHg1NCwgMHg0ZCwgMHg5NSwKKyAgMHhiMCwgMHhhZSwgMHg0YiwgMHgyOCwgMHgzNywgMHg2YSwgMHhkMSwgMHgzOSwgMHhjNiwgMHhlMCwgMHg3YywgMHhmOSwKKyAgMHg1NiwgMHgxOSwgMHg0NSwgMHg1MywgMHgwNiwgMHg2OCwgMHgyNSwgMHhkMywgMHg1MywgMHg2NywgMHgwYywgMHhlNiwKKyAgMHhlYiwgMHhiNiwgMHg2MSwgMHhlYiwgMHhjYywgMHg3NSwgMHgwYywgMHg4ZCwgMHhmOCwgMHg1NywgMHhlMCwgMHgwYywKKyAgMHg2MSwgMHg3MSwgMHg0YSwgMHgzYiwgMHhkNCwgMHg4ZiwgMHg3NCwgMHhkNywgMHg3MywgMHgxYywgMHgwZiwgMHhlZSwKKyAgMHg4MCwgMHgxMywgMHhlMCwgMHg3NiwgMHhlNSwgMHhlYywgMHgyMywgMHhkMywgMHhmMiwgMHg1NSwgMHg1ZSwgMHhjZCwKKyAgMHhlOCwgMHg2MSwgMHhjNCwgMHhmZCwgMHg2OCwgMHgxMCwgMHg5ZCwgMHgxZCwgMHg5MSwgMHg5YiwgMHg0ZiwgMHhmYywKKyAgMHgyZCwgMHgxMCwgMHhiYywgMHgxNywgMHgxMSwgMHhlMiwgMHhmYSwgMHg0NSwgMHg3NywgMHg2MSwgMHg2ZiwgMHg1ZCwKKyAgMHgxOCwgMHgzNCwgMHhiYywgMHg4MywgMHg4ZiwgMHg0NywgMHhmYSwgMHhiNSwgMHhiZSwgMHhiZCwgMHgwYSwgMHhkOCwKKyAgMHg1OSwgMHg0ZiwgMHhmNywgMHhhMCwgMHg4NywgMHhlZSwgMHg1NiwgMHhjZiwgMHhkZSwgMHhlYywgMHhlYSwgMHg1NSwKKyAgMHhmNCwgMHg3OSwgMHg5YiwgMHhiZiwgMHg1ZiwgMHhkZCwgMHhiMywgMHg5NSwgMHhmZCwgMHgwYiwgMHgyMSwgMHhmNywKKyAgMHhlMywgMHg1NywgMHhmNSwgMHg3MSwgMHg3YywgMHgzNywgMHhhZCwgMHg4NiwgMHhkYSwgMHhmMSwgMHg3OSwgMHg5MiwKKyAgMHhjYiwgMHhhYywgMHhjYSwgMHgxNywgMHgwMCwgMHhiZSwgMHgxYiwgMHgyNSwgMHhhZiwgMHg1YywgMHg0YSwgMHgwYiwKKyAgMHgxOSwgMHgyOCwgMHg4NiwgMHg2MiwgMHhiYiwgMHhiYiwgMHgzMiwgMHg1YiwgMHhmNSwgMHg2NCwgMHg3ZSwgMHg3NCwKKyAgMHg2ZSwgMHg3ZSwgMHg3MCwgMHg1ZSwgMHg4ZiwgMHgyNSwgMHhhOSwgMHhjNywgMHhhNSwgMHgyZSwgMHg0MCwgMHhhYSwKKyAgMHhhYiwgMHg5YiwgMHhiMCwgMHg2YiwgMHgwNSwgMHhiMSwgMHhkZiwgMHg0NiwgMHhlMywgMHg3ZiwgMHgxMiwgMHhhNiwKKyAgMHhhMywgMHhkNCwgMHgyYywgMHg4OSwgMHhjMCwgMHg2MCwgMHhlYiwgMHgxZiwgMHhmYiwgMHgzMSwgMHg3MywgMHhhYiwKKyAgMHg1YSwgMHg1MywgMHgwOSwgMHg0MSwgMHhkYywgMHg1MywgMHg2NCwgMHhiZiwgMHgwOCwgMHg4YiwgMHg4YSwgMHg0NCwKKyAgMHhhMiwgMHhhYSwgMHg5NCwgMHhlNiwgMHgzMywgMHhkNywgMHg3OSwgMHg5YSwgMHgxYywgMHhjYywgMHg5YiwgMHhlMSwKKyAgMHhmOCwgMHhiYiwgMHhhOSwgMHgzNiwgMHhlOSwgMHhiNSwgMHgzYiwgMHgxNSwgMHhiNCwgMHhmOCwgMHg4NiwgMHg1NywKKyAgMHg0NSwgMHg1MCwgMHhmMiwgMHgyOCwgMHg4MiwgMHg5MiwgMHg1NywgMHhkMywgMHhkNSwgMHgwMiwgMHhjOCwgMHhhNywKKyAgMHgyMCwgMHgyYSwgMHhkYiwgMHgyNSwgMHg4OCwgMHg0ZSwgMHhkMSwgMHhlNywgMHgzZiwgMHg5YywgMHg2ZSwgMHgxZiwKKyAgMHg4MiwgMHgxZSwgMHhhNiwgMHgxZiwgMHg2YiwgMHg1ZCwgMHg5MiwgMHg2NCwgMHhkNiwgMHg3MywgMHgxOSwgMHg0NiwKKyAgMHg2YiwgMHg4ZiwgMHhlZSwgMHg1MSwgMHg3YiwgMHgzYiwgMHhiNiwgMHgxZCwgMHgwMywgMHhmNCwgMHgxMiwgMHg1MCwKKyAgMHhjOCwgMHg3ZiwgMHhiYywgMHgzZiwgMHgzZSwgMHhmNCwgMHhmNSwgMHgyYSwgMHgwYiwgMHgyZCwgMHhkZiwgMHgxZiwKKyAgMHhhZCwgMHgxOCwgMHg3OCwgMHgxMCwgMHhmNCwgMHgxNywgMHhhNCwgMHhjNCwgMHg2YSwgMHgyZSwgMHhhZSwgMHhlNiwKKyAgMHhjZCwgMHhiNSwgMHhjZSwgMHhiNiwgMHg2NCwgMHhkOCwgMHhmNSwgMHhhZSwgMHgwMywgMHhlYywgMHhhNiwgMHhmOCwKKyAgMHg3OSwgMHg3NywgMHg3NCwgMHg0ZiwgMHhlZiwgMHhlOCwgMHhlMywgMHg1ZiwgMHhmYiwgMHg4ZSwgMHgzZSwgMHhmZSwKKyAgMHhiOSwgMHg3NywgMHg1NCwgMHhmOCwgMHg1YiwgMHhmYywgMHg4NiwgMHhmNiwgMHhkZCwgMHhkNiwgMHhjMCwgMHgyYywKKyAgMHg3NSwgMHhiNywgMHg1NywgMHgxYywgMHhjZSwgMHhlZCwgMHg5YywgMHg4MSwgMHgyMSwgMHg4MywgMHg0NywgMHgwYywKKyAgMHhjNSwgMHg2ZiwgMHgzMSwgMHhlNCwgMHgwMiwgMHhkOSwgMHg1OCwgMHg2ZCwgMHgxOCwgMHhkZiwgMHg2MSwgMHgwNSwKKyAgMHg3YywgMHgxYywgMHgyNCwgMHhjNywgMHg4YywgMHg2NSwgMHhlZSwgMHhjMywgMHgyOCwgMHg5ZSwgMHg3MCwgMHg3NSwKKyAgMHhhZCwgMHg3OCwgMHhiZCwgMHg1ZCwgMHg0OSwgMHg0NSwgMHhhNCwgMHgwMiwgMHgzZiwgMHg5ZiwgMHgxMiwgMHhhYywKKyAgMHhkYSwgMHgxYywgMHg3OCwgMHg0OSwgMHhmMCwgMHhiOSwgMHhjMywgMHg2NiwgMHhiNiwgMHhjZCwgMHhkNCwgMHg1NiwKKyAgMHgwOCwgMHgyYSwgMHgyNCwgMHgwNywgMHg0YiwgMHgyYSwgMHg5MiwgMHgzNSwgMHgzYSwgMHhjNywgMHhhZCwgMHhmYSwKKyAgMHgyMSwgMHg4OCwgMHhjMCwgMHhjMiwgMHg1YywgMHhhNCwgMHgxMiwgMHgxNSwgMHhlZSwgMHg5YSwgMHg3OCwgMHhkZiwKKyAgMHg5OSwgMHgwZSwgMHgwZCwgMHhjYywgMHg4OCwgMHg4NywgMHg3MywgMHhhMiwgMHg3YywgMHg0NiwgMHgwYiwgMHgyZiwKKyAgMHhhOCwgMHhlMywgMHg4NywgMHgyMSwgMHhmMCwgMHhjYiwgMHhhMCwgMHhhOSwgMHhjZSwgMHhlNCwgMHhhZSwgMHg4OSwKKyAgMHg5NCwgMHg4MSwgMHhkMSwgMHhiYSwgMHhlMSwgMHhjYSwgMHhkZSwgMHg2MiwgMHg0NSwgMHhkNSwgMHg4OCwgMHgxMSwKKyAgMHhiMywgMHg5MSwgMHhkYiwgMHhjNiwgMHhkNiwgMHhmYywgMHgwOCwgMHhlNCwgMHhkZSwgMHgwYywgMHg3NSwgMHgzYSwKKyAgMHhkNiwgMHhiZSwgMHg0MiwgMHgzMywgMHg5NCwgMHg0YiwgMHhmMiwgMHg1NywgMHg0OSwgMHhmZCwgMHg0NywgMHg1MCwKKyAgMHgzMSwgMHhmMywgMHg4ZiwgMHg0YywgMHg5MywgMHgxYywgMHgzNSwgMHg4NSwgMHg1MCwgMHg2MCwgMHg2NiwgMHhkYiwKKyAgMHgyNSwgMHhhYSwgMHhmOSwgMHgwMCwgMHg1ZCwgMHg0NywgMHhlMSwgMHg5YywgMHhlZSwgMHgwNiwgMHg4ZiwgMHhjNCwKKyAgMHg2NSwgMHg0ZCwgMHgxZiwgMHgxNywgMHg3ZCwgMHg0NiwgMHhiMSwgMHhmYywgMHhjNSwgMHhlMCwgMHgxNSwgMHhhZSwKKyAgMHgyNSwgMHhkZCwgMHg5OSwgMHgwNCwgMHhmOSwgMHg4NCwgMHg0MSwgMHgzYywgMHhmYiwgMHhmYSwgMHhiMSwgMHg3OCwKKyAgMHhkNiwgMHhmMiwgMHg5NCwgMHg3YiwgMHg5MywgMHhmMiwgMHg0NywgMHhkNCwgMHgwOSwgMHgwNSwgMHg1MywgMHg1ZiwKKyAgMHgzNCwgMHgxOCwgMHg3MiwgMHgxMywgMHgwZCwgMHhiNCwgMHhjZiwgMHhkNiwgMHgyMCwgMHg4NCwgMHhkMywgMHhiMywKKyAgMHg3NSwgMHg2NywgMHgwZSwgMHgyMiwgMHhiYSwgMHg3NSwgMHg2NSwgMHgxNSwgMHhkMiwgMHg3OSwgMHgzNCwgMHgxYSwKKyAgMHg0NSwgMHhlMCwgMHgyYywgMHhhZSwgMHhmMywgMHhlYywgMHhhNiwgMHhlNSwgMHg4YiwgMHg5NywgMHg4OSwgMHgwZCwKKyAgMHg2YywgMHg5NywgMHgwYywgMHhmNiwgMHgwMCwgMHg1ZCwgMHhkMywgMHgwZSwgMHg5OSwgMHgyMSwgMHgyNywgMHgwNCwKKyAgMHhhMSwgMHhkOSwgMHg1MywgMHg0ZSwgMHhlMiwgMHhhZSwgMHhiYywgMHhmZiwgMHhiNCwgMHhiNywgMHhjZCwgMHgxZiwKKyAgMHg3OSwgMHg5YiwgMHhlYiwgMHg1OCwgMHgzZCwgMHgyOCwgMHgwMywgMHgyMiwgMHhiYiwgMHgxZSwgMHgwZSwgMHgwMywKKyAgMHg3MiwgMHg4OSwgMHg1NCwgMHg3NywgMHgwOSwgMHhmYSwgMHgzNiwgMHg3OSwgMHgxYywgMHg4ZCwgMHhhZSwgMHgzZiwKKyAgMHg1NywgMHgyMCwgMHhlNCwgMHgzNSwgMHgyMywgMHgxMiwgMHhlNywgMHhiMSwgMHhhMiwgMHg5OCwgMHg0OSwgMHhhNiwKKyAgMHg2OSwgMHg0NywgMHg5ZCwgMHhhZSwgMHgzMSwgMHhjMiwgMHhkMSwgMHg1NSwgMHhkYiwgMHgzMCwgMHg4MiwgMHg2ZiwKKyAgMHg0YSwgMHhhZSwgMHgyOCwgMHhiNCwgMHgwMSwgMHg5MSwgMHgyZSwgMHgwNCwgMHhlNCwgMHg4YiwgMHg4OSwgMHhhNCwKKyAgMHgxZSwgMHg2OSwgMHg2MywgMHgxMiwgMHhkNywgMHhiNywgMHhjYSwgMHg0YiwgMHg5NCwgMHg3MSwgMHgzZCwgMHg0NSwKKyAgMHgxMiwgMHg1ZCwgMHg2MCwgMHgzNCwgMHhkZSwgMHgxYiwgMHgwYywgMHhkMiwgMHg1YSwgMHhjNiwgMHhlNCwgMHg0ZSwKKyAgMHhiYiwgMHg3MiwgMHg1YSwgMHgzNywgMHhhYywgMHg1NSwgMHg2NSwgMHgwMywgMHgwMywgMHhkYiwgMHhhYiwgMHg0ZiwKKyAgMHg3NSwgMHgwOCwgMHg0YSwgMHgyZCwgMHhkZiwgMHhiNiwgMHg0NSwgMHhiYiwgMHg5MywgMHgwZiwgMHhkNCwgMHgxZSwKKyAgMHg0MCwgMHg3NiwgMHgwMCwgMHgzNSwgMHhlMCwgMHhmMCwgMHg1YSwgMHg2OSwgMHg2MCwgMHg2ZSwgMHhlZiwgMHgxNiwKKyAgMHgzZCwgMHg2MiwgMHg5NiwgMHg5NiwgMHg4YywgMHg3YSwgMHg0MSwgMHgwZCwgMHgwOCwgMHg1NywgMHg5NCwgMHg3OCwKKyAgMHg4MiwgMHhlYiwgMHgyZiwgMHhkNSwgMHhlYiwgMHg1MiwgMHhiMCwgMHhkZSwgMHgwNSwgMHgzMywgMHhiMSwgMHg5MCwKKyAgMHg3MCwgMHhiNCwgMHhmNywgMHhhMywgMHhhYiwgMHhmNCwgMHhmNiwgMHg3NiwgMHg1NCwgMHg2NywgMHgzYiwgMHg4NiwKKyAgMHg2YSwgMHhlYiwgMHg5ZCwgMHhiYSwgMHg5ZSwgMHhkMywgMHg0NywgMHg2YiwgMHhhMCwgMHhhZiwgMHhhZCwgMHhlZCwKKyAgMHg2ZCwgMHg3YywgMHg3YiwgMHg2NywgMHgwOSwgMHg0OCwgMHg5OCwgMHhmMywgMHgzNCwgMHhhNSwgMHg1NywgMHg1YiwKKyAgMHhjYywgMHhkNiwgMHgzNSwgMHgzNywgMHhlNiwgMHhmNiwgMHg2MCwgMHhkZCwgMHg5NCwgMHg2MSwgMHgwNiwgMHg5YywKKyAgMHgyNiwgMHgzNywgMHhhZCwgMHg1ZiwgMHg2OSwgMHhjYiwgMHg5YywgMHhjMSwgMHg2NSwgMHg2NiwgMHhkOSwgMHg2MSwKKyAgMHgxYywgMHg4OCwgMHg3ZSwgMHg0MiwgMHgwOCwgMHhkMywgMHg1NSwgMHg1ZiwgMHg2OSwgMHg0NywgMHgyMiwgMHg3NywKKyAgMHhkNSwgMHgwZiwgMHg4ZSwgMHg5YSwgMHg2ZCwgMHhiMSwgMHgyNSwgMHgxMCwgMHhkYywgMHgyMywgMHg0YSwgMHhhMCwKKyAgMHg3NSwgMHhkMCwgMHhmMCwgMHhjZiwgMHg4OCwgMHhkOCwgMHhmMiwgMHg2MywgMHgwNCwgMHhmMiwgMHhhOSwgMHhjZiwKKyAgMHg2ZCwgMHhlOSwgMHgyZCwgMHg4ZCwgMHg2YSwgMHg0NSwgMHhmNiwgMHgxZCwgMHhiOCwgMHhlMCwgMHhjZCwgMHhjZCwKKyAgMHhjZCwgMHg2OCwgMHg5ZCwgMHhkZiwgMHhmMiwgMHg1ZiwgMHg4ZSwgMHg4MSwgMHhiNywgMHg4NywgMHgzYiwgMHgyZCwKKyAgMHg5MiwgMHg5MywgMHhiYywgMHg1OCwgMHhkZCwgMHg3YSwgMHgwOCwgMHgyZiwgMHhiNiwgMHgwOSwgMHg5YywgMHgwNiwKKyAgMHhlNSwgMHg5MiwgMHhlZiwgMHhkZSwgMHhiZCwgMHgxZSwgMHhkOCwgMHhjMCwgMHhhNiwgMHg4MiwgMHg2YiwgMHhjMCwKKyAgMHhmMywgMHg1YiwgMHg0NywgMHhiNCwgMHhiNiwgMHgyYywgMHgwNywgMHhmMSwgMHgzMCwgMHg1YywgMHhmNCwgMHhlMSwKKyAgMHhjMSwgMHhkOSwgMHg4NywgMHhiNywgMHg0NywgMHhlNywgMHgxZiwgMHhkZSwgMHgxZCwgMHg3YywgMHg0ZiwgMHg1YiwKKyAgMHhjOCwgMHg3ZSwgMHgxOSwgMHgyMywgMHhhZiwgMHgyOCwgMHgyMiwgMHg1MCwgMHg5NSwgMHhhNSwgMHg2MSwgMHhiMywKKyAgMHg2ZiwgMHg4OCwgMHhhOSwgMHhlNywgMHgwNSwgMHhlMCwgMHg1NSwgMHg2MiwgMHgxZCwgMHhkYiwgMHgxNCwgMHgzMiwKKyAgMHg0YSwgMHhlNiwgMHg0OSwgMHg5MywgMHhkOSwgMHhmNywgMHg2OCwgMHg5MCwgMHhmNiwgMHhlYiwgMHg2MywgMHg1NiwKKyAgMHgxNSwgMHhkOSwgMHg3YywgMHg1NCwgMHg1NiwgMHg5NywgMHg0NCwgMHg4NSwgMHgzYiwgMHhhZiwgMHg4NCwgMHg3ZiwKKyAgMHg0NiwgMHg4NywgMHhkYiwgMHg5MSwgMHhhYywgMHgwNiwgMHg4MiwgMHgyMCwgMHhiYiwgMHhhZSwgMHgyZSwgMHgwOCwKKyAgMHhiMSwgMHg2NCwgMHg4ZCwgMHhjNiwgMHhkMywgMHhlYSwgMHg0ZiwgMHhlYiwgMHg5MSwgMHhlNiwgMHgxMywgMHgzMCwKKyAgMHhjMCwgMHhlNSwgMHhmNSwgMHg5MywgMHg3NSwgMHhlYSwgMHg1ZCwgMHhkMywgMHgzMiwgMHg4NywgMHhhNCwgMHhjNSwKKyAgMHgyNywgMHgwOCwgMHgwOCwgMHhhZSwgMHgxZiwgMHgzZiwgMHg1OSwgMHgyNSwgMHhlMywgMHg4OCwgMHhmNCwgMHgyMCwKKyAgMHgwMiwgMHg4MCwgMHgwMCwgMHg3ZCwgMHhhZSwgMHhiNCwgMHg1MCwgMHgxMiwgMHgyOCwgMHg3MCwgMHhhMywgMHgyNCwKKyAgMHg5YiwgMHg3ZSwgMHhhZSwgMHgxZCwgMHgxYSwgMHgyZSwgMHhkNiwgMHg4NywgMHhkMCwgMHg1NiwgMHgzZiwgMHg3ZCwKKyAgMHhkZiwgMHhjMywgMHhiMywgMHhkMCwgMHgzMiwgMHhhNCwgMHg5NiwgMHhiYiwgMHhkZSwgMHg5YSwgMHg5ZiwgMHhjOSwKKyAgMHg5YSwgMHg5ZiwgMHhmZCwgMHg2YiwgMHg2YiwgMHg3ZSwgMHhmNiwgMHhjYiwgMHhkNywgMHhmYywgMHhlNCwgMHg1NywKKyAgMHg1ZSwgMHhmMywgMHg5MywgMHhlOCwgMHg5YSwgMHhiZCwgMHhhZiwgMHgwYywgMHhmZiwgMHg0NiwgMHg2YiwgMHhmZSwKKyAgMHhkYiwgMHhhYSwgMHhmOCwgMHgzOCwgMHgzNCwgMHhkMywgMHgyNSwgMHgyOSwgMHgyYywgMHgwZCwgMHgzNiwgMHhlYiwKKyAgMHgxZSwgMHg5MywgMHhjZCwgMHhlNiwgMHhmZSwgMHhjMywgMHhiYiwgMHhjNywgMHgzMCwgMHg5ZiwgMHg4MiwgMHgyYiwKKyAgMHhlYywgMHhmNSwgMHgwYiwgMHg0ZCwgMHhiZCwgMHgwZSwgMHg3YSwgMHgxYywgMHg3OSwgMHhlYSwgMHhlYSwgMHhlMSwKKyAgMHg1ZSwgMHhlNCwgMHgwMSwgMHhlNiwgMHg0MSwgMHg0ZSwgMHhmNSwgMHhiZSwgMHhmNSwgMHg5NCwgMHgzYywgMHgxNSwKKyAgMHhhNCwgMHhkYSwgMHg2ZiwgMHhjOCwgMHg2YywgMHg3NCwgMHhkOCwgMHgwZCwgMHg2ZCwgMHhiOCwgMHg4MiwgMHg5YiwKKyAgMHg5ZSwgMHg4NiwgMHgzOCwgMHg0NywgMHg1MywgMHhjNiwgMHg0OCwgMHhiZiwgMHhlMiwgMHhkNiwgMHg3MywgMHg5MCwKKyAgMHg0NSwgMHgwOCwgMHg1YSwgMHg0OSwgMHhhNiwgMHgzZiwgMHgzNywgMHgzOCwgMHg2MiwgMHgxNCwgMHgyOCwgMHgxZCwKKyAgMHgzYSwgMHgxNywgMHgzMCwgMHhiNSwgMHg5MCwgMHg2NywgMHg5YywgMHhkZiwgMHgyZCwgMHg2OSwgMHhjMCwgMHg2NCwKKyAgMHg1MiwgMHgxOSwgMHgwMSwgMHgwYywgMHg5ZiwgMHhlNSwgMHhmYywgMHg4NiwgMHg1MiwgMHgxMywgMHg3NCwgMHg4NiwKKyAgMHg3NiwgMHgwOCwgMHhiYiwgMHg2YSwgMHhiNiwgMHhhZSwgMHgxMCwgMHhhZCwgMHhkYiwgMHgwYywgMHgxNCwgMHg4NiwKKyAgMHhlOSwgMHhiYywgMHgyNCwgMHg4ZSwgMHgzMywgMHg1YiwgMHg2ZiwgMHg3YywgMHg0YywgMHg1YywgMHg3NywgMHg1MywKKyAgMHg5NiwgMHgxNywgMHg5ZCwgMHg3NiwgMHhhNywgMHhiZSwgMHhkYywgMHhmOCwgMHg5OCwgMHg2NSwgMHhjYiwgMHg3NCwKKyAgMHgwZSwgMHg2OCwgMHgwZCwgMHhjYSwgMHg3ZCwgMHhlOCwgMHg2YiwgMHg5MCwgMHhkNSwgMHgyMiwgMHg4YywgMHg1YSwKKyAgMHg0YiwgMHgwNywgMHhmMCwgMHg4YSwgMHg1ZiwgMHgwNiwgMHhjYywgMHg4YywgMHg4ZSwgMHg0ZiwgMHg5MiwgMHhhYSwKKyAgMHg2NSwgMHg5MiwgMHg3YywgMHg0NiwgMHhhNSwgMHhhZSwgMHhmMSwgMHg3ZSwgMHgyOSwgMHg5YSwgMHhmYywgMHg2MCwKKyAgMHhhNywgMHg0MCwgMHg4YSwgMHhjOSwgMHg0NCwgMHgwMCwgMHg2MCwgMHhkOCwgMHg5ZSwgMHgwNCwgMHgyYSwgMHg5NSwKKyAgMHhjMiwgMHhjOCwgMHgyMSwgMHgzNSwgMHhlNywgMHgzYSwgMHhhNywgMHhhYywgMHhiYywgMHgyZSwgMHhlNiwgMHg3MCwKKyAgMHg2NywgMHgwNCwgMHhhMCwgMHg0YSwgMHhiNSwgMHgxYSwgMHgyNiwgMHhmMCwgMHhlMSwgMHhkMSwgMHgxMywgMHhhNSwKKyAgMHgxNSwgMHg4MCwgMHhlNCwgMHhmNywgMHg0NywgMHgxNywgMHhlOSwgMHg4MCwgMHhhNCwgMHgxNCwgMHgzOSwgMHg1OSwKKyAgMHhiYSwgMHg1MCwgMHgxYywgMHg5ZSwgMHg3ZCwgMHhmOCwgMHhmNiwgMHhlOCwgMHhlOCwgMHhlYywgMHhmOCwgMHhkNSwKKyAgMHhjOSwgMHg5MSwgMHhkYywgMHgxOCwgMHhmYiwgMHhhMywgMHhiNywgMHhlNywgMHhkZiwgMHg5ZCwgMHhiOCwgMHhiZSwKKyAgMHhhMCwgMHgxMiwgMHhmNiwgMHhlOCwgMHgxMiwgMHhiYywgMHhjMCwgMHhmZCwgMHgwYiwgMHg1YiwgMHgxZSwgMHhhMCwKKyAgMHgwZiwgMHg5NiwgMHhiMSwgMHhhNSwgMHgwZiwgMHg4ZSwgMHg3ZiwgMHgzMCwgMHg2YSwgMHhlYiwgMHhkOSwgMHhmMCwKKyAgMHhmZCwgMHgwZiwgMHg0MSwgMHgwYiwgMHg5MiwgMHg1NiwgMHg4ZCwgMHg0OSwgMHhkNywgMHhlZSwgMHhiMiwgMHgxNSwKKyAgMHgyNywgMHhjMywgMHg2MSwgMHg1MSwgMHhiYSwgMHgwMywgMHhlYywgMHg0ZCwgMHhiOSwgMHhmYiwgMHg5NSwgMHhjNSwKKyAgMHgyMCwgMHgyNSwgMHgyZSwgMHgxNywgMHg1NiwgMHg2MywgMHhlMCwgMHgxNywgMHhiNSwgMHhjZiwgMHg4ZiwgMHg5NywKKyAgMHhkNSwgMHhmNiwgMHhlYywgMHg5MSwgMHhiNiwgMHg0ZiwgMHg1YiwgMHgxYiwgMHhiNCwgMHhlOCwgMHhiNCwgMHg2YywKKyAgMHhmYiwgMHg5OCwgMHhkZCwgMHgwMSwgMHhjMywgMHgzMSwgMHg3OSwgMHg0OSwgMHg3ZiwgMHhjNiwgMHg5YiwgMHg5YywKKyAgMHgyNiwgMHg2NywgMHg1NSwgMHg3ZSwgMHg0ZCwgMHgwYSwgMHhhMCwgMHg3OSwgMHg5OCwgMHg2MywgMHhiYSwgMHhmNCwKKyAgMHhlYywgMHhjOCwgMHgzNiwgMHg3ZCwgMHg5NSwgMHhiMCwgMHgzMiwgMHg4ZCwgMHg4MiwgMHhjNCwgMHgxMywgMHg4YywKKyAgMHgxYSwgMHhmMywgMHhmNiwgMHgwMCwgMHgxYSwgMHg4NywgMHhkYywgMHhhYiwgMHg3NiwgMHhiNCwgMHhkYywgMHg5MCwKKyAgMHhjZSwgMHhhYiwgMHhhMywgMHg3NywgMHg4MywgMHhlNCwgMHhlYywgMHhlOCwgMHgwZCwgMHg1NywgMHhhOSwgMHgxYywKKyAgMHhiZCwgMHhmZCwgMHg5YSwgMHhiYiwgMHgzOCwgMHhkYSwgMHhkNiwgMHhhNiwgMHgyMywgMHhjZSwgMHg5NSwgMHgwZSwKKyAgMHg5MywgMHgzNSwgMHhiZCwgMHgzZCwgMHgzMSwgMHhhZiwgMHgyMywgMHgyOCwgMHg1MiwgMHhkNywgMHg0NiwgMHhiYSwKKyAgMHg3ZSwgMHg0MiwgMHgwMCwgMHgxZCwgMHg1ZSwgMHhkYSwgMHg0YiwgMHhmMywgMHg0NywgMHg2YywgMHhhYiwgMHg4YywKKyAgMHgxZCwgMHhmMSwgMHhjZCwgMHg3NiwgMHhiOCwgMHg1YiwgMHhhMiwgMHg5NiwgMHhkOSwgMHhkYywgMHgxOSwgMHgzMSwKKyAgMHgwOSwgMHg2OCwgMHgzNywgMHg3OCwgMHhjMywgMHhjYywgMHg4ZSwgMHg4NCwgMHg1OSwgMHgxYywgMHhiYSwgMHg0MywKKyAgMHg4NSwgMHhlMCwgMHhlMiwgMHg0OSwgMHhlZiwgMHg3NCwgMHgwOSwgMHhjMSwgMHhhMywgMHgzMywgMHhjMSwgMHhmOCwKKyAgMHg5YiwgMHgwMSwgMHg5MSwgMHgyNSwgMHg4MCwgMHhjOCwgMHhkZCwgMHg1ZSwgMHg0NCwgMHhhYiwgMHhhMywgMHgyYiwKKyAgMHhiMCwgMHgzYSwgMHhhOSwgMHhhZiwgMHhiNywgMHgyMSwgMHg1MCwgMHg1MiwgMHhhYiwgMHg2NiwgMHhmOSwgMHgwYywKKyAgMHgxMCwgMHgwYywgMHg3MCwgMHhkMSwgMHg5NSwgMHgxNSwgMHg2NSwgMHg3MCwgMHgyNCwgMHhjOSwgMHhlNiwgMHhmZiwKKyAgMHhkYywgMHgxOSwgMHhkNSwgMHhmNSwgMHhkNSwgMHg0ZSwgMHgzZSwgMHhmYiwgMHg1MCwgMHhkNSwgMHhlOSwgMHg2NiwKKyAgMHg1NywgMHgxNiwgMHg3OSwgMHhiZiwgMHg5ZSwgMHhkMSwgMHhhZiwgMHg5MywgMHhjZCwgMHg5MSwgMHg3ZCwgMHg1NCwKKyAgMHhmZSwgMHg0ZSwgMHgzZiwgMHg4ZiwgMHg5ZCwgMHg4MywgMHg0YSwgMHgyMCwgMHhmNiwgMHhhYywgMHg2OCwgMHgzZSwKKyAgMHhhNywgMHgzNiwgMHhjZiwgMHg5ZCwgMHhlNywgMHg5MywgMHhjYSwgMHgyOCwgMHg3MCwgMHhhZSwgMHhlOSwgMHg4NywKKyAgMHhiNCwgMHhjMiwgMHg0ZCwgMHg5NiwgMHgxZiwgMHhhNywgMHhmNSwgMHhlZSwgMHg2ZSwgMHg4OCwgMHg0MiwgMHg2ZiwKKyAgMHg0YiwgMHgxYywgMHgwNywgMHg5YSwgMHg5YSwgMHg3YiwgMHhmNiwgMHhlZCwgMHhlMSwgMHhmOCwgMHhmNywgMHhiYiwKKyAgMHhiYiwgMHg0OCwgMHg4MywgMHhkZSwgMHhhMiwgMHg3NCwgMHhkNSwgMHhlNywgMHg0ZiwgMHg3NywgMHhmNywgMHhiNiwKKyAgMHg2MywgMHgwYSwgMHg2NCwgMHg5MCwgMHhkNywgMHgwMywgMHg4NSwgMHhkMiwgMHgyNywgMHg0ZiwgMHhjNCwgMHhiOCwKKyAgMHhhNSwgMHhlNiwgMHhjMSwgMHgwZSwgMHgzYywgMHhjYiwgMHgyOCwgMHg0NSwgMHg5MCwgMHg5YywgMHg4NywgMHhiNiwKKyAgMHhmYiwgMHgwOSwgMHg3MiwgMHgyNywgMHg4MywgMHhkNCwgMHgwYiwgMHhmYywgMHg4YSwgMHgxZCwgMHhmNywgMHgxYiwKKyAgMHgzYywgMHhmZiwgMHhmZCwgMHgwZCwgMHg0YiwgMHg1NywgMHg3ZSwgMHgxMiwgMHgzOSwgMHgzMiwgMHg1MCwgMHhiYywKKyAgMHg3OSwgMHgyMywgMHhmMywgMHhhNywgMHgxYiwgMHg1ZSwgMHhmMywgMHhkNywgMHg4NSwgMHg0YywgMHg0NywgMHg4NywKKyAgMHgzNCwgMHg5NSwgMHhiMSwgMHg3MywgMHhjMCwgMHgzNiwgMHgwZSwgMHg4ZSwgMHgyNCwgMHgwNywgMHgwNCwgMHhiZSwKKyAgMHg3YSwgMHg5OSwgMHhkMSwgMHg0NiwgMHhjMiwgMHgxNCwgMHg0NCwgMHgxNCwgMHg5ZiwgMHhiYSwgMHg1MSwgMHhlZCwKKyAgMHhmZSwgMHg3YiwgMHgxYywgMHhhMiwgMHgzZCwgMHg2YSwgMHg5MCwgMHgzOCwgMHgwOSwgMHg0OSwgMHhiZCwgMHg2MSwKKyAgMHhhZSwgMHhlZiwgMHg0NiwgMHg3NCwgMHhjNCwgMHg0ZiwgMHg3YSwgMHgyNywgMHhhYiwgMHg0OSwgMHhmMiwgMHg3MiwKKyAgMHg2ZSwgMHg1ZSwgMHg5YywgMHhjNywgMHg0YiwgMHhlZiwgMHg4ZSwgMHhiOCwgMHhjZCwgMHhkNiwgMHhiNywgMHg1OSwKKyAgMHgzNSwgMHhjOSwgMHhhYSwgMHhiMiwgMHhlZSwgMHg5NCwgMHgwOCwgMHg2OSwgMHg2YiwgMHg1NywgMHg0ZSwgMHhjNCwKKyAgMHhjNiwgMHgzMCwgMHg5YywgMHgyZSwgMHgxNSwgMHg3MSwgMHg2OSwgMHhkMiwgMHhhMSwgMHhjOSwgMHhlZSwgMHgwNCwKKyAgMHhiMCwgMHgzYywgMHg5YiwgMHhhOCwgMHg1NiwgMHhhMiwgMHgwYiwgMHg0MCwgMHg4ZCwgMHhhNSwgMHhlOCwgMHhiZiwKKyAgMHg4NiwgMHgxYiwgMHg1ZiwgMHg3MCwgMHg3MywgMHhkMCwgMHg3NCwgMHhiZSwgMHg0OSwgMHhkZCwgMHg3ZSwgMHhiYSwKKyAgMHhkNywgMHg0OCwgMHg2OCwgMHg2ZCwgMHhkMywgMHhmMCwgMHg1MiwgMHgxZSwgMHg4ZCwgMHhiOCwgMHgwMywgMHhmMCwKKyAgMHgwZSwgMHg2NCwgMHgxZSwgMHhlYywgMHhlYiwgMHhiNSwgMHg0ZCwgMHg0NSwgMHhmZCwgMHgyNCwgMHhjMCwgMHgzYSwKKyAgMHhlOCwgMHg4MCwgMHg2NCwgMHg4NywgMHg2YiwgMHg0MywgMHgyNywgMHhmNSwgMHg2NSwgMHgxOCwgMHhmZiwgMHhjYSwKKyAgMHg2MiwgMHg4YSwgMHg4ZiwgMHhlMSwgMHhjMSwgMHhhMSwgMHhhMywgMHhjMCwgMHhiNSwgMHhkYSwgMHgxOSwgMHg0ZSwKKyAgMHgwZiwgMHhjYiwgMHgzZiwgMHg2NywgMHg3ZCwgMHgzZCwgMHhkYSwgMHgzOSwgMHhmNywgMHg4MCwgMHg2YiwgMHhjMywKKyAgMHgzYiwgMHg2ZCwgMHg4NywgMHgyOSwgMHg2YiwgMHgxMywgMHhlNSwgMHgxMSwgMHg2NCwgMHgxNiwgMHg0YSwgMHhlNSwKKyAgMHhhYiwgMHg5NCwgMHgwNiwgMHhhMywgMHg2ZCwgMHhhNCwgMHhlOCwgMHgxNywgMHg2MSwgMHg3MCwgMHg5YywgMHhiMywKKyAgMHhkNSwgMHgxMCwgMHhlNywgMHhkNiwgMHg2OSwgMHgwZiwgMHhkOSwgMHg3YywgMHgzZiwgMHg0YywgMHhjNCwgMHgxZCwKKyAgMHg4MSwgMHhjYSwgMHhhOCwgMHg5YiwgMHg4YSwgMHhmMCwgMHg1MiwgMHgwYiwgMHg4ZCwgMHg0MiwgMHhiMCwgMHg3OCwKKyAgMHg4YywgMHg4MywgMHg2OCwgMHgyOSwgMHhhNCwgMHhhYSwgMHgzOSwgMHhhNCwgMHhiOSwgMHhmNCwgMHgzMywgMHhkNCwKKyAgMHg2YywgMHhjNCwgMHg0YSwgMHhhNywgMHgzNSwgMHg5NCwgMHg3NCwgMHgwZSwgMHhmNSwgMHgxOCwgMHhkMCwgMHg3YiwKKyAgMHhiZiwgMHhmYiwgMHgxNywgMHg0ZiwgMHg4ZSwgMHgxNSwgMHg3YSwgMHg2OSwgMHg5ZSwgMHgxMCwgMHg4MSwgMHg0OSwKKyAgMHg3OCwgMHgzMCwgMHg1NiwgMHg1YywgMHhhNywgMHhjYywgMHgwZiwgMHgyNSwgMHgwMywgMHg0MywgMHgwOCwgMHhhNSwKKyAgMHg5NywgMHg4NiwgMHg5ZiwgMHg2NiwgMHgwMSwgMHg1OCwgMHg5NiwgMHgyYSwgMHgwOCwgMHg4MiwgMHhkZCwgMHgyMywKKyAgMHhjZCwgMHg1ZSwgMHhiZCwgMHg5NiwgMHg4YiwgMHg3OCwgMHg5NywgMHg2OCwgMHgxZSwgMHg1OCwgMHgxMiwgMHg3ZSwKKyAgMHg3MCwgMHg2ZSwgMHg0OCwgMHgyYSwgMHg2YiwgMHhkNywgMHhkZCwgMHg0NiwgMHg2ZCwgMHg0YSwgMHg1YywgMHg5NSwKKyAgMHgzNiwgMHhhZSwgMHgyZCwgMHhjMCwgMHhlOCwgMHgxNSwgMHhlNCwgMHg0OCwgMHhiMywgMHhhNCwgMHg3OSwgMHg0MywKKyAgMHhjOCwgMHgxNSwgMHgyZCwgMHhmOSwgMHhiNywgMHhiMCwgMHgyZCwgMHhkMiwgMHhjMCwgMHgwNywgMHg4MiwgMHg4YSwKKyAgMHgwNywgMHhlZSwgMHhmYywgMHg5MSwgMHg3MiwgMHg0NywgMHg4NCwgMHhjZCwgMHgxOSwgMHhiYiwgMHg0NSwgMHg3MSwKKyAgMHgyNCwgMHg3NiwgMHg5ZSwgMHg3NCwgMHhmNywgMHg2NCwgMHg1ZSwgMHg5YywgMHg1OSwgMHg2YiwgMHg2ZSwgMHg3NCwKKyAgMHg2MCwgMHgyYSwgMHg0YywgMHhjYywgMHgxMCwgMHgzNywgMHhmOSwgMHhhYywgMHhiOSwgMHg0MiwgMHgyNywgMHgxZSwKKyAgMHhiNSwgMHg4YywgMHg2YSwgMHhjMSwgMHgwNSwgMHgyMCwgMHgzNywgMHg3NSwgMHgxZSwgMHgyYiwgMHg3YSwgMHg4YiwKKyAgMHgzYSwgMHhmMCwgMHhmOCwgMHhjNCwgMHhiMCwgMHhhNywgMHgwOSwgMHhjMywgMHg2MywgMHg5MSwgMHhhNywgMHgwZSwKKyAgMHhjNywgMHgwMCwgMHg5ZiwgMHhmNiwgMHgwZSwgMHg2YiwgMHg3YSwgMHgxNiwgMHgxOSwgMHg4NiwgMHhkYSwgMHg2NSwKKyAgMHg1ZiwgMHg1MCwgMHg5NywgMHg5ZCwgMHhkMCwgMHg0MywgMHhhZiwgMHhlNSwgMHg2OSwgMHgyMywgMHg3YiwgMHg0NSwKKyAgMHgyMCwgMHg5NiwgMHgzNiwgMHgzZiwgMHgzMiwgMHgyZSwgMHhmZSwgMHhiNywgMHg5YiwgMHhkYSwgMHg0ZiwgMHg3NiwKKyAgMHg1NSwgMHgzNCwgMHg3ZSwgMHgwZCwgMHg4ZCwgMHhiOSwgMHhhMSwgMHgxZiwgMHhmMywgMHg3OSwgMHgxOSwgMHg3NSwKKyAgMHhhOSwgMHgxYiwgMHhkNiwgMHhiNiwgMHhlMCwgMHhkNywgMHhkZiwgMHg2YywgMHhhYSwgMHg5ZiwgMHg5NCwgMHgwMCwKKyAgMHgxMywgMHgyZSwgMHg1MywgMHhmOSwgMHgzNSwgMHg2MywgMHhhNSwgMHg2YywgMHg1ZSwgMHhmMiwgMHg0MywgMHg1ZiwKKyAgMHhlYiwgMHg0MywgMHg2MSwgMHgwZiwgMHgwOSwgMHhmMiwgMHhkYSwgMHhiMywgMHg5NywgMHg1ZSwgMHg5MywgMHhlOSwKKyAgMHhlYSwgMHg3ZCwgMHhhYSwgMHhjZiwgMHhmOCwgMHg3NiwgMHg5MCwgMHgzYywgMHg1ZSwgMHhlMCwgMHg1MCwgMHg3NiwKKyAgMHhiZiwgMHg4ZSwgMHg1NiwgMHhjZSwgMHgwMSwgMHg5NywgMHgwMSwgMHhkNiwgMHg5NywgMHg2NiwgMHhmYSwgMHgwYywKKyAgMHhmZiwgMHg0MiwgMHg0NiwgMHgxNywgMHhmNiwgMHg4YywgMHgyOSwgMHhkMywgMHgxNiwgMHg4MywgMHg3MSwgMHhiOSwKKyAgMHhhMSwgMHg5MywgMHg1ZSwgMHg1ZCwgMHhkZCwgMHg4OCwgMHg4ZSwgMHg2YSwgMHg0OSwgMHgzNiwgMHhjMiwgMHgyYywKKyAgMHg1MywgMHg4YywgMHhmMCwgMHgwNSwgMHg1YywgMHg5YiwgMHg5NCwgMHgyZCwgMHhiNSwgMHgxNCwgMHgyYywgMHgwYywKKyAgMHgyMiwgMHhkNSwgMHhhMSwgMHg4NSwgMHgyMCwgMHhhZCwgMHhlNywgMHhmNCwgMHgwMCwgMHg5YSwgMHg2MywgMHg5NSwKKyAgMHg0MSwgMHg2NiwgMHhmNSwgMHg3YywgMHgwOSwgMHgwMywgMHhjOSwgMHhmNiwgMHhiMCwgMHhmMywgMHhhNiwgMHg0NCwKKyAgMHg4NSwgMHhhZCwgMHhkMywgMHg0NCwgMHg3YywgMHgzYywgMHg5ZiwgMHg1MCwgMHgyNCwgMHhjZSwgMHgwNywgMHhiOCwKKyAgMHg5ZiwgMHg3NSwgMHgzMywgMHg4YywgMHhlMCwgMHhiZCwgMHgzMiwgMHgzZSwgMHhlMCwgMHhkOSwgMHhlOSwgMHhkOSwKKyAgMHhlMywgMHg2ZCwgMHg1YiwgMHgxZiwgMHhjZCwgMHhjOSwgMHhmZSwgMHg4MiwgMHg4ZSwgMHg2MCwgMHhmMSwgMHgwMiwKKyAgMHgyZCwgMHg3MCwgMHg4MiwgMHg4MiwgMHgzMywgMHhhMywgMHg0YywgMHgyZiwgMHhiNCwgMHgyZCwgMHgwMSwgMHhmNiwKKyAgMHgwZCwgMHhkNiwgMHg4MiwgMHhlZiwgMHhjMSwgMHhlMSwgMHhlZiwgMHg4YSwgMHg0NCwgMHhiYywgMHgxZSwgMHg4OCwKKyAgMHhlZSwgMHg1YSwgMHgzYSwgMHg3YywgMHhjNCwgMHhjZiwgMHg0MiwgMHg1OCwgMHg5OSwgMHg1YSwgMHgzMywgMHhjYSwKKyAgMHg4MSwgMHhjOSwgMHgzMiwgMHg0NCwgMHhmOSwgMHg1ZiwgMHhkMiwgMHg2ZSwgMHgyOCwgMHg0MiwgMHgwZCwgMHgyOSwKKyAgMHgzYSwgMHg5MywgMHhlNCwgMHhjNCwgMHhhMywgMHg0OCwgMHg0YSwgMHg5NywgMHgwNCwgMHg3OSwgMHhkZCwgMHg4MywKKyAgMHgwOCwgMHg0OCwgMHg2OCwgMHgzNSwgMHgyNCwgMHhjYiwgMHg1YiwgMHg5YiwgMHg2ZCwgMHg0MSwgMHhkZSwgMHg1MiwKKyAgMHgyMiwgMHg1YiwgMHhjNiwgMHg1NCwgMHgxZSwgMHhjNSwgMHgyYSwgMHg3MCwgMHhhNSwgMHg5ZiwgMHg5ZCwgMHhmNCwKKyAgMHhiNSwgMHg2OCwgMHg1OSwgMHg2NCwgMHhkMiwgMHhhYiwgMHgyYywgMHg0ZCwgMHhkZSwgMHg5ZSwgMHg4YywgMHhjZiwKKyAgMHhmZCwgMHgxOCwgMHgxMiwgMHhmNCwgMHhiMCwgMHgyMCwgMHg5NSwgMHhiOSwgMHgwZCwgMHhlYywgMHhlNiwgMHgyNSwKKyAgMHgxNiwgMHg5ZCwgMHgxYywgMHg4ZiwgMHhjZiwgMHg0NywgMHhiMSwgMHg4ZSwgMHgwZCwgMHhmYiwgMHhjOSwgMHg5OCwKKyAgMHg2YSwgMHg2ZCwgMHgzYywgMHg5YywgMHgwYywgMHg5YywgMHg5YSwgMHhlMCwgMHg2NywgMHg3MSwgMHg3MCwgMHg0YywKKyAgMHhmMSwgMHhkMiwgMHhmMiwgMHhjYSwgMHhjYiwgMHhjYSwgMHgwYSwgMHgyOSwgMHg5NSwgMHhhNiwgMHhmOCwgMHgyNywKKyAgMHg0ZSwgMHg1MywgMHg5NiwgMHgxNCwgMHg2NywgMHgwZCwgMHgxMSwgMHhkNSwgMHhhYiwgMHhjOSwgMHhkMCwgMHg0MywKKyAgMHg1MiwgMHg2NCwgMHg3ZCwgMHgwNywgMHhiZCwgMHhiOSwgMHgwYywgMHhmNSwgMHgxYSwgMHgwOSwgMHhmNSwgMHgzMSwKKyAgMHhiNCwgMHgzMSwgMHhiNywgMHg4NCwgMHg5ZSwgMHg5OCwgMHg5MCwgMHgwNCwgMHgwNSwgMHhiMywgMHhlNSwgMHhlZCwKKyAgMHg5ZSwgMHgyNiwgMHgxOSwgMHgxMCwgMHg3NywgMHhlMSwgMHg2NiwgMHhhMiwgMHhhNywgMHgxZiwgMHg0NCwgMHg1NCwKKyAgMHhiNCwgMHgxMSwgMHg5ZCwgMHg3ZCwgMHg5NCwgMHg1ZSwgMHg4ZSwgMHhlZCwgMHg4YSwgMHgwNSwgMHg4YSwgMHhkOSwKKyAgMHhmZCwgMHhjYywgMHgzOCwgMHhhNSwgMHg5NCwgMHg3MSwgMHgyMywgMHhlYSwgMHhjZSwgMHg1NCwgMHg4NywgMHhlNCwKKyAgMHhlMCwgMHg4YywgMHhmZCwgMHg0ZCwgMHg3NiwgMHhkNiwgMHg3ZCwgMHgyMCwgMHhjMCwgMHhmOSwgMHg4YywgMHg4MSwKKyAgMHgzMCwgMHhlYiwgMHgzNiwgMHgxMiwgMHgyNiwgMHg4MywgMHgxZSwgMHgxMCwgMHhjYiwgMHhlMSwgMHhjZSwgMHgzZiwKKyAgMHhlNCwgMHgxOCwgMHhlOSwgMHgzOSwgMHg0OSwgMHg3NiwgMHhjOSwgMHhiNSwgMHhkMiwgMHg1MywgMHg4NywgMHgzZiwKKyAgMHg3MCwgMHhjMiwgMHgzMywgMHhlMiwgMHg2NCwgMHg4MywgMHgxOCwgMHgzZSwgMHg1YiwgMHgwYywgMHg1NiwgMHhjOCwKKyAgMHg0MiwgMHhhZiwgMHgxNCwgMHhjOSwgMHhmYiwgMHhlMywgMHg1NywgMHgyNywgMHg1ZCwgMHg2NCwgMHgxZSwgMHhhNCwKKyAgMHhkMSwgMHhkYSwgMHhhNSwgMHg1MiwgMHg1MSwgMHg4YiwgMHgzMiwgMHg0ZCwgMHg5YywgMHg0OCwgMHgxMCwgMHhmNCwKKyAgMHg1OSwgMHgxNSwgMHhiOSwgMHhmOSwgMHhiZSwgMHhkZiwgMHhkNywgMHhkZSwgMHg3MCwgMHhiZiwgMHgyYiwgMHgyNywKKyAgMHhjNiwgMHgzNiwgMHg2YiwgMHhkYiwgMHhiZSwgMHgyZSwgMHg5ZiwgMHg3OSwgMHhiNSwgMHgxZiwgMHg5MiwgMHhhZiwKKyAgMHgxOSwgMHhjZCwgMHgzZiwgMHhlZSwgMHg1NywgMHgyYywgMHg5ZSwgMHhiNCwgMHgzZCwgMHgxMiwgMHg4MCwgMHgzOCwKKyAgMHgxNiwgMHgyNCwgMHgzMiwgMHgyMywgMHg4YiwgMHg3NiwgMHg1MCwgMHhiYywgMHgxOCwgMHg2OCwgMHgxNiwgMHhlNCwKKyAgMHhmZCwgMHg0OSwgMHgxMywgMHgyZiwgMHhiOSwgMHhhZSwgMHg4ZCwgMHhiMSwgMHg1MywgMHg1NiwgMHg1MiwgMHhmNCwKKyAgMHhiOCwgMHhmNSwgMHhmYSwgMHhkZCwgMHhlOSwgMHg5YiwgMHhlMSwgMHhmOSwgMHhlOSwgMHgzNiwgMHhkMSwgMHgwOCwKKyAgMHg4NiwgMHhlZSwgMHhjZiwgMHgwZiwgMHhhOSwgMHg2ZCwgMHg3ZiwgMHg1NCwgMHgwNywgMHg1MSwgMHgyMiwgMHg3ZSwKKyAgMHhiNiwgMHhhZCwgMHg5YSwgMHg3MCwgMHgwNSwgMHg1ZCwgMHhjNywgMHgxNCwgMHg0YywgMHg0ZiwgMHhkZiwgMHgwYSwKKyAgMHg3YSwgMHg5NywgMHgxNCwgMHhhYywgMHg4NiwgMHhjMCwgMHg4ZiwgMHg2MSwgMHgwOCwgMHg2OSwgMHg5YSwgMHg5MiwKKyAgMHhiNiwgMHg2OCwgMHhhMywgMHg1OCwgMHg5YywgMHhkMiwgMHgyMSwgMHg3YywgMHg3YiwgMHhiMiwgMHhhYSwgMHhlZiwKKyAgMHgxMiwgMHgyOSwgMHgyZSwgMHhhZCwgMHhlOSwgMHg5OCwgMHg4YywgMHgyMSwgMHgxNSwgMHg4NiwgMHgwNiwgMHgxNCwKKyAgMHhhOSwgMHhjZiwgMHhjMiwgMHgxNCwgMHg1MSwgMHhiZCwgMHgxZCwgMHhkNywgMHg3NCwgMHgzNSwgMHhhNSwgMHhiOSwKKyAgMHhiYSwgMHg2OSwgMHg1NSwgMHg5NSwgMHgzNywgMHgyYSwgMHhiNCwgMHg1MCwgMHhmOCwgMHg2ZCwgMHhjZSwgMHhkMCwKKyAgMHg0YywgMHg5ZCwgMHgwZSwgMHhhOSwgMHhiYSwgMHhlYiwgMHg4NSwgMHg3NiwgMHgxMSwgMHhiNCwgMHgzMiwgMHg2ZCwKKyAgMHgxNywgMHhiZSwgMHg1NiwgMHhmNywgMHg3YiwgMHhkYSwgMHgwNiwgMHhkYywgMHhkMCwgMHhlYywgMHhlZiwgMHg2MSwKKyAgMHg1MywgMHhhZCwgMHhhOCwgMHhhMCwgMHhiNCwgMHgyNywgMHg4MywgMHhlZiwgMHgwNCwgMHhmMCwgMHg4ZCwgMHg5ZCwKKyAgMHg4YywgMHhmMSwgMHg4MSwgMHgyMCwgMHgyYSwgMHgxMiwgMHhmYSwgMHgwZSwgMHg3YSwgMHhiYywgMHhkOSwgMHhmYSwKKyAgMHgzYywgMHhlZCwgMHgzOSwgMHhmNCwgMHhjNywgMHhlMCwgMHhmYSwgMHgwYSwgMHhkMCwgMHgzMiwgMHg2OSwgMHhmNCwKKyAgMHhmMywgMHhiOSwgMHhjYiwgMHgxOSwgMHgxNywgMHhiOCwgMHhjZSwgMHhiYywgMHhlMSwgMHhiNiwgMHg5YiwgMHg5YSwKKyAgMHg3ZiwgMHgwMywgMHgxOCwgMHgzNSwgMHg2ZSwgMHhmYiwgMHg5YiwgMHhkZSwgMHg4NSwgMHg3NiwgMHg5NywgMHg0MiwKKyAgMHgyNCwgMHhlNSwgMHgwNCwgMHg0ZiwgMHgzMSwgMHg1YiwgMHg0ZCwgMHg3MSwgMHg0YSwgMHgxNCwgMHhlZSwgMHhhMywKKyAgMHhhNiwgMHg5ZSwgMHgxMywgMHg0NiwgMHg2ZCwgMHg1NSwgMHg4YywgMHgwNywgMHgxYSwgMHhkYSwgMHgyNSwgMHhjYiwKKyAgMHhiMywgMHhmNywgMHhhNiwgMHhhYiwgMHg2MiwgMHhmMSwgMHg1MywgMHhiNiwgMHg1MywgMHgxOSwgMHhlOSwgMHg5MSwKKyAgMHg5NCwgMHhkMywgMHg2NywgMHhiYiwgMHg2YywgMHg3NSwgMHhlYywgMHg0ZCwgMHgwYSwgMHgyOCwgMHhiOSwgMHgzZSwKKyAgMHhjOSwgMHgyMSwgMHhhZiwgMHgyMiwgMHhjNCwgMHg3YywgMHg2MCwgMHg4NSwgMHg0YiwgMHhkMCwgMHg5ZiwgMHg2MCwKKyAgMHgyZCwgMHg4OSwgMHg3YywgMHgxMSwgMHg3MSwgMHhmZiwgMHgyYSwgMHhhZCwgMHgwZCwgMHg0ZiwgMHg2YSwgMHg4ZiwKKyAgMHhiOCwgMHhiZCwgMHhjNiwgMHgzNywgMHhiZCwgMHhkMiwgMHhhYSwgMHgwYSwgMHhlZiwgMHhmNCwgMHg0ZSwgMHgwNiwKKyAgMHhkZSwgMHg2OSwgMHhmNCwgMHg5YywgMHhkYywgMHhiMSwgMHg4OCwgMHg2OCwgMHg2MSwgMHg2YSwgMHg5YywgMHg5OSwKKyAgMHhlMSwgMHhlZCwgMHhiOSwgMHhiMCwgMHgyOCwgMHg4MCwgMHgyZSwgMHg1MiwgMHhhYSwgMHg3YSwgMHg0YSwgMHgzZCwKKyAgMHhhZSwgMHhhZiwgMHg2MywgMHg5YywgMHgyOSwgMHhiNSwgMHg4ZCwgMHgxYywgMHg5YiwgMHg0NCwgMHgzZiwgMHg5YSwKKyAgMHg2YywgMHg2OSwgMHhkOSwgMHhhNywgMHhhZCwgMHg0MywgMHgzYSwgMHg5MSwgMHg1ZiwgMHhlZCwgMHhkYiwgMHhjMiwKKyAgMHg1NCwgMHg2MiwgMHg2OCwgMHg5ZCwgMHhlMSwgMHgxZSwgMHhmZiwgMHhmMCwgMHg0MywgMHhkMiwgMHhlZSwgMHhiYSwKKyAgMHhiYywgMHgzZCwgMHgwOCwgMHgwYiwgMHgyMiwgMHhmYywgMHg4YSwgMHg5NCwgMHg1OSwgMHhlOSwgMHg0ZiwgMHgzNywKKyAgMHgyOCwgMHhhYSwgMHg2MywgMHg5YSwgMHgzMywgMHhkYSwgMHgwMCwgMHhmMiwgMHhmNywgMHg0NywgMHgxNiwgMHgyNSwKKyAgMHhhMiwgMHgyOSwgMHg4ZCwgMHhlOSwgMHg3NywgMHhhNSwgMHg1NSwgMHg1NiwgMHg0OCwgMHhkZSwgMHg3MCwgMHhkOSwKKyAgMHgxYiwgMHhlNCwgMHgyNywgMHg0MywgMHg4NSwgMHg2NywgMHg5OCwgMHhmMCwgMHgwMywgMHg2ZSwgMHhhYiwgMHg3OSwKKyAgMHgxNywgMHgxYywgMHg1MCwgMHg0MSwgMHg0MiwgMHhiYSwgMHhiZiwgMHg1OSwgMHhiNSwgMHhmMywgMHhjYywgMHg1YywKKyAgMHg1MSwgMHg2MCwgMHg0MSwgMHg0MCwgMHhjOSwgMHhlZiwgMHhlZCwgMHgwYywgMHhjZCwgMHhiOCwgMHgxZiwgMHg1OCwKKyAgMHgxNywgMHhhNCwgMHgzZCwgMHhiNywgMHg5NCwgMHhlMCwgMHg2YywgMHhkOCwgMHg2OSwgMHg5NSwgMHg4OSwgMHhhMywKKyAgMHhhMSwgMHhiNiwgMHhiOCwgMHhmYSwgMHg0MSwgMHgwOCwgMHg5OSwgMHgxMCwgMHg3YiwgMHhlNiwgMHg5YywgMHhiNywKKyAgMHhjNiwgMHg0ZSwgMHhkNSwgMHhkNCwgMHhiYiwgMHgzMSwgMHgwZSwgMHg3MCwgMHhiMSwgMHg3MywgMHg2NiwgMHg1YywKKyAgMHg4OCwgMHgxMSwgMHhhOCwgMHhlZSwgMHgzNywgMHgyNSwgMHgyOSwgMHg0ZiwgMHgwNCwgMHg4MCwgMHgwMSwgMHhiOCwKKyAgMHhiOCwgMHg5MiwgMHgzZCwgMHg1YSwgMHg2OCwgMHgxYSwgMHhhYywgMHhhMiwgMHhlNiwgMHg4ZiwgMHg3YSwgMHg2ZiwKKyAgMHg0NywgMHgyMCwgMHg0OCwgMHgxYiwgMHgwZCwgMHgyMywgMHgyYSwgMHg4OCwgMHhjNSwgMHgzZiwgMHg5NSwgMHg5OSwKKyAgMHhlMCwgMHg2MCwgMHgwOCwgMHhkYywgMHg5NywgMHg3MiwgMHhlMSwgMHhiNCwgMHgxZCwgMHgxOSwgMHhiOSwgMHg4YSwKKyAgMHgzNSwgMHg0NCwgMHhjZSwgMHhjYSwgMHgzNCwgMHg3MCwgMHgyOCwgMHgxNiwgMHgzMCwgMHg1YywgMHgwMiwgMHg5NCwKKyAgMHg2OSwgMHg3NywgMHg2NSwgMHgxOSwgMHgyOSwgMHg4NywgMHhkOCwgMHg4YywgMHhjNSwgMHhhNSwgMHg2MywgMHhjNywKKyAgMHg5NiwgMHhiMSwgMHg0NywgMHg4NywgMHg3OCwgMHhhYywgMHhlZSwgMHhjYiwgMHgzNSwgMHg3MSwgMHgyMSwgMHgzMywKKyAgMHg2OSwgMHg5ZCwgMHhlMiwgMHg2ZiwgMHgxOCwgMHhlNCwgMHhlYiwgMHg0NSwgMHgyYiwgMHhhZCwgMHgyNSwgMHhlNywKKyAgMHg4NiwgMHhhMywgMHg4NCwgMHgxZSwgMHgzMiwgMHg4OCwgMHgxOCwgMHgzYiwgMHhlYywgMHg1MiwgMHg5OCwgMHg5NSwKKyAgMHg4MSwgMHgxYiwgMHhkNiwgMHg5NiwgMHhhOCwgMHhmMiwgMHg0ZCwgMHgyMCwgMHhhOCwgMHgwZSwgMHgxOSwgMHhiOSwKKyAgMHg5NSwgMHgwYywgMHgxNCwgMHgyOCwgMHhjYSwgMHg3NSwgMHhmMiwgMHhmOCwgMHhkMSwgMHhhZSwgMHhiMSwgMHg5NCwKKyAgMHgxZSwgMHhlZCwgMHhhMSwgMHg5NSwgMHhmNCwgMHhlMywgMHg0NywgMHg4ZiwgMHgyZCwgMHhkNCwgMHg0MSwgMHhlYiwKKyAgMHg4ZSwgMHhmMCwgMHhiMywgMHhmMCwgMHg4NSwgMHhiMCwgMHgwNSwgMHg2YSwgMHgyZSwgMHhkMiwgMHhlZCwgMHg2ZCwKKyAgMHhkOCwgMHhhMywgMHgyMiwgMHg2YiwgMHgxNywgMHg1MSwgMHgwYywgMHg2ZCwgMHhlMSwgMHg2MSwgMHgzOCwgMHg1NSwKKyAgMHhiNywgMHg5MSwgMHgwOCwgMHhkNiwgMHg4NSwgMHg2ZCwgMHgyOSwgMHhiOSwgMHhjYywgMHg5NywgMHgwYSwgMHg2NiwKKyAgMHg4MCwgMHgwZSwgMHgzMiwgMHhlYSwgMHhlYiwgMHg2MSwgMHhkNSwgMHg3NCwgMHgwMSwgMHhkMCwgMHhlNCwgMHhjMCwKKyAgMHg3ZCwgMHhjMCwgMHgxOCwgMHgxYywgMHgyMiwgMHhlZCwgMHg4YSwgMHhlMCwgMHgyZSwgMHg5OSwgMHg5NSwgMHhkZSwKKyAgMHhmNiwgMHgxNSwgMHgxZiwgMHhiOCwgMHhjNiwgMHg3ZCwgMHgxNiwgMHhhMCwgMHg1NCwgMHgxOSwgMHg4ZCwgMHgxNiwKKyAgMHhjOSwgMHg2OCwgMHg2MywgMHhkNiwgMHg3ZCwgMHhjYSwgMHhmNiwgMHgzMCwgMHhjNCwgMHg0ZCwgMHg5YiwgMHgxOCwKKyAgMHhkYywgMHg2NCwgMHhmZSwgMHg4NSwgMHgyNiwgMHhlNywgMHhmMSwgMHhiZiwgMHgxZSwgMHg0NywgMHg4ZCwgMHg3NSwKKyAgMHg4MSwgMHgzZiwgMHgyMSwgMHgwZiwgMHhhOCwgMHg1NSwgMHhlMSwgMHg5YywgMHgwZSwgMHhkNywgMHg4YSwgMHhlYSwKKyAgMHhiMiwgMHgxZiwgMHg4NCwgMHg5ZiwgMHg4ZiwgMHhiOSwgMHhlOSwgMHhkOSwgMHgyOSwgMHhlMCwgMHg5YywgMHgwNCwKKyAgMHg3NSwgMHgzNiwgMHgxNywgMHgyNCwgMHg4ZCwgMHg1NSwgMHgyYiwgMHhjNywgMHg2OSwgMHgwOCwgMHg4MCwgMHhhNCwKKyAgMHhhMSwgMHgyZSwgMHhlOCwgMHhhNSwgMHhmYywgMHgyNSwgMHhmMCwgMHg3ZSwgMHhhMiwgMHg2NSwgMHgzMSwgMHg3NCwKKyAgMHg2ZCwgMHhiNCwgMHg5ZCwgMHhkOSwgMHhiNiwgMHgxZSwgMHgxOSwgMHhkOCwgMHg5MCwgMHgzNCwgMHg4NiwgMHhkZCwKKyAgMHgxNCwgMHg1MSwgMHg3ZCwgMHhhNCwgMHgxZCwgMHgzYywgMHg3MywgMHhmZCwgMHhhZSwgMHg5YywgMHg2YiwgMHgwOSwKKyAgMHg5ZCwgMHhkZSwgMHgxMywgMHg1NSwgMHhkZCwgMHgzMiwgMHgxOCwgMHg1ZiwgMHg5MywgMHgzNiwgMHgyYywgMHgwOCwKKyAgMHg4MSwgMHhkMywgMHhiMSwgMHhjZCwgMHg2MywgMHgzMSwgMHg4NiwgMHg1MCwgMHg2YiwgMHhiNiwgMHgzZCwgMHg3YSwKKyAgMHg2YSwgMHhhYiwgMHhmYiwgMHg1ZSwgMHhlNiwgMHhkOCwgMHg5OSwgMHg0ZSwgMHg3MiwgMHhkMCwgMHhhMCwgMHhiNywKKyAgMHgzNCwgMHgzYywgMHg2YiwgMHhhMSwgMHhkMSwgMHg0YiwgMHg1YiwgMHgzMSwgMHhlMCwgMHhhZCwgMHg0MCwgMHhjMywKKyAgMHg3NiwgMHhlYSwgMHhjMiwgMHhhMywgMHg0OSwgMHg5ZCwgMHhhZCwgMHg5OSwgMHg3MiwgMHg2YywgMHgwNSwgMHg3MCwKKyAgMHhkMSwgMHg5YSwgMHhmYSwgMHgxMSwgMHhjYiwgMHhkOSwgMHhlNSwgMHhiYywgMHgwZiwgMHgxYywgMHg2OCwgMHg3YiwKKyAgMHhhMSwgMHhjYiwgMHgzOSwgMHg0MSwgMHgzNiwgMHhjMiwgMHg4ZSwgMHg5MCwgMHhiZSwgMHhkMiwgMHg0ZiwgMHgwNiwKKyAgMHhmOCwgMHhkYiwgMHhkMywgMHg0NywgMHgyZiwgMHg5OCwgMHg5YywgMHg4ZSwgMHg4ZiwgMHhjZSwgMHg1ZiwgMHg3NywKKyAgMHhkZCwgMHg4MywgMHg5NSwgMHgyMSwgMHg2ZCwgMHhmZSwgMHg3MywgMHg5OCwgMHhhNSwgMHhkNSwgMHg5NSwgMHgzMSwKKyAgMHg1NywgMHgwOCwgMHg3ZCwgMHg2OSwgMHg0OCwgMHgxZCwgMHgzZCwgMHg4NiwgMHg4ZiwgMHgxZSwgMHhjNSwgMHgzMiwKKyAgMHg0MSwgMHgzZSwgMHgyMSwgMHhlMCwgMHhjNCwgMHhlMywgMHg4ZSwgMHg0YSwgMHg0ZSwgMHg0NiwgMHhjMiwgMHg5MCwKKyAgMHhiNiwgMHhiYiwgMHgxZiwgMHgxYiwgMHhiOCwgMHg0ZCwgMHg1ZSwgMHgxNiwgMHgzZSwgMHg1ZSwgMHgxZSwgMHg2ZiwKKyAgMHhhNSwgMHgwMCwgMHg2OCwgMHgyNSwgMHgxZCwgMHhjNCwgMHg1NCwgMHgwNywgMHg1YSwgMHhkMywgMHgzMywgMHhkYSwKKyAgMHhiYiwgMHg1YSwgMHg5MywgMHg0MywgMHhhNCwgMHhkZCwgMHg2MiwgMHhjMywgMHhhNCwgMHhiOSwgMHhkYiwgMHg0ZSwKKyAgMHhiOCwgMHgyZiwgMHgyNSwgMHgzNywgMHg5MCwgMHg2YiwgMHhjMCwgMHg2YywgMHg2MCwgMHg5NiwgMHg0NCwgMHg0YiwKKyAgMHhmMSwgMHg2YiwgMHgyOSwgMHg0NiwgMHhhYywgMHgzMiwgMHgwMiwgMHg3MSwgMHg2MywgMHg1ZCwgMHg1MiwgMHgxYSwKKyAgMHg3MSwgMHhkZCwgMHgwZiwgMHg0NCwgMHg4NywgMHgyZCwgMHhhOCwgMHhhNiwgMHg0YiwgMHgyOSwgMHg0YiwgMHhlNSwKKyAgMHg3ZiwgMHg5MywgMHg3YywgMHg2ZiwgMHg2NSwgMHhlNCwgMHhlZSwgMHgzZCwgMHg4ZCwgMHg2YywgMHgxYywgMHhiNCwKKyAgMHg4MCwgMHg1ZiwgMHhiOCwgMHg3MSwgMHg0ZSwgMHhkZiwgMHg2MiwgMHg5NywgMHgyMCwgMHhiNywgMHg4YiwgMHhkMiwKKyAgMHhlMiwgMHhjNywgMHg0OCwgMHhlZSwgMHhiNywgMHhmNiwgMHg4NywgMHhmZSwgMHhkOSwgMHg2YiwgMHhhMSwgMHhkZCwKKyAgMHgxZSwgMHhhZCwgMHg4MywgMHhiMywgMHhiNCwgMHg2ZiwgMHgwZCwgMHhhMSwgMHhiNCwgMHhhMywgMHg3ZCwgMHg0NywKKyAgMHg3YywgMHgzMSwgMHhkZiwgMHhmYiwgMHg0OCwgMHgwYiwgMHgwYywgMHhiNiwgMHg1NiwgMHhiYSwgMHgyMiwgMHg0OCwKKyAgMHgyMywgMHgzYywgMHhmMywgMHgyNSwgMHhhMSwgMHg3YywgMHgxOCwgMHhlYSwgMHg3NCwgMHg1NSwgMHg1YSwgMHg1MSwKKyAgMHg2ZSwgMHgwOCwgMHgwYiwgMHg2MSwgMHgwMiwgMHgwNCwgMHgzNSwgMHhiYSwgMHhhZSwgMHhjNiwgMHg3MCwgMHgyMSwKKyAgMHg3ZiwgMHg4NywgMHhlOCwgMHg0MywgMHgxNywgMHg2NCwgMHgzNiwgMHhkMSwgMHg1ZCwgMHg2YiwgMHgzNCwgMHgwMCwKKyAgMHhhMywgMHhmNiwgMHhhNywgMHg4ZSwgMHgxZiwgMHg5NCwgMHhiYiwgMHhjMSwgMHgzNSwgMHhmMywgMHhlZSwgMHhmMCwKKyAgMHhlYywgMHgzYywgMHgzOSwgMHgzZiwgMHhmNSwgMHg3ZCwgMHgwYSwgMHg1YywgMHhiMiwgMHg0ZCwgMHhkNiwgMHgzMywKKyAgMHgzYSwgMHgxYywgMHg0NSwgMHhiOSwgMHhiYywgMHg5ZCwgMHhhOCwgMHhlYiwgMHg2ZCwgMHgyMSwgMHgwNiwgMHgzOSwKKyAgMHgwYiwgMHgyYywgMHhlNCwgMHg1NSwgMHgwMiwgMHg1MiwgMHgwZiwgMHhjMCwgMHhiNywgMHhmZSwgMHg2ZSwgMHg0NSwKKyAgMHgyYSwgMHhkYiwgMHhiMCwgMHg3YiwgMHg1ZCwgMHg5ZiwgMHgzZiwgMHgyYiwgMHhiMCwgMHgzNiwgMHgzNywgMHhkYSwKKyAgMHg1MywgMHg2MywgMHgzOSwgMHhiMywgMHgzYiwgMHhlMSwgMHhlOSwgMHhjNSwgMHgzYSwgMHhlZiwgMHg2OSwgMHg4NiwKKyAgMHhhOSwgMHhhZCwgMHg3MSwgMHhlNCwgMHg3NCwgMHgxMCwgMHg5YSwgMHhjYiwgMHg3NSwgMHgzYSwgMHhjZiwgMHg2NywKKyAgMHhkZSwgMHhhZSwgMHg4NCwgMHg1ZSwgMHhjNywgMHg4MiwgMHg5MSwgMHhmMywgMHgzOSwgMHgxMSwgMHg4NiwgMHhkNSwKKyAgMHg1NSwgMHg3ZCwgMHg1OCwgMHhhYywgMHhjOSwgMHhjOCwgMHg5ZSwgMHhkMSwgMHgwYSwgMHgwNiwgMHgzZiwgMHhmYiwKKyAgMHhkNCwgMHgxOCwgMHgxMywgMHgwNiwgMHhiYiwgMHgwZCwgMHhmNywgMHgwMywgMHhhZCwgMHgwNywgMHhlOSwgMHgxOSwKKyAgMHg4NiwgMHhiYSwgMHg2NywgMHhmMSwgMHgyNiwgMHgyOSwgMHhhNSwgMHhlMywgMHg2MSwgMHg5ZCwgMHg2OSwgMHg4YywKKyAgMHhkYSwgMHhmMCwgMHgyYiwgMHgyZiwgMHg3YSwgMHhlOCwgMHhmNSwgMHg5NywgMHhkZSwgMHhiZCwgMHg4MSwgMHhlYiwKKyAgMHhmZCwgMHg0MywgMHhkYSwgMHhkNSwgMHg0MiwgMHg3YSwgMHgxYiwgMHhjMiwgMHhkYiwgMHg4NiwgMHg5MCwgMHg3ZSwKKyAgMHgxNywgMHgxYSwgMHgyOSwgMHg1YiwgMHg2NiwgMHg2OSwgMHhhYiwgMHhjZSwgMHhhMywgMHhjZCwgMHg4YywgMHhhZCwKKyAgMHg5NywgMHgyNiwgMHg3ZSwgMHgxYiwgMHhhMiwgMHg5ZSwgMHg0NiwgMHg3MSwgMHg3NSwgMHhiMSwgMHgxZiwgMHgwZCwKKyAgMHg5NywgMHg1ZiwgMHg4MywgMHgxMiwgMHgwMywgMHgzOSwgMHg2NiwgMHg3OSwgMHg1ZCwgMHg3OSwgMHg4MiwgMHhjYSwKKyAgMHhkOCwgMHhjMCwgMHg3MiwgMHg2MiwgMHgzMiwgMHg2MCwgMHgwZiwgMHg5YywgMHg2NSwgMHgyZSwgMHhhNSwgMHhjMywKKyAgMHg5NiwgMHhlMCwgMHhjMSwgMHhjYiwgMHhiOCwgMHgwZSwgMHhkYywgMHg5YSwgMHg0NywgMHg2MSwgMHhkZiwgMHhlNywKKyAgMHg4YywgMHg1ZiwgMHhiNSwgMHhlOCwgMHhiZSwgMHg3YiwgMHhmNywgMHhmYSwgMHgyZiwgMHg3YSwgMHgzNCwgMHhkYiwKKyAgMHgzYSwgMHhiZCwgMHhhMCwgMHgxMywgMHg1YSwgMHg3YiwgMHhiYSwgMHg5MywgMHhjYywgMHhjYiwgMHg4NSwgMHgxNSwKKyAgMHgxMCwgMHg5NCwgMHhkNiwgMHhhZSwgMHhmMywgMHhiZiwgMHgwNCwgMHhjNiwgMHgyMCwgMHgwNCwgMHhjOSwgMHg2NywKKyAgMHgzMCwgMHhlZiwgMHg2NCwgMHg4YiwgMHgwMiwgMHhjZCwgMHhlNiwgMHhiOSwgMHhiMSwgMHhmOCwgMHgzNSwgMHgxZSwKKyAgMHg4ZiwgMHg5ZSwgMHhjMiwgMHgyNywgMHhmOCwgMHhmYSwgMHhmMCwgMHhlOSwgMHhlMywgMHhiZCwgMHhkZCwgMHhlZCwKKyAgMHg1MSwgMHhiMiwgMHhkNSwgMHg5MSwgMHg2ZSwgMHhkYiwgMHg5ZiwgMHgzZCwgMHg2OCwgMHhiNywgMHhlZCwgMHg3OSwKKyAgMHg2NywgMHhiNywgMHg0YiwgMHgyMiwgMHhkZCwgMHhhZCwgMHhhMywgMHgxZiwgMHhjZSwgMHhkZSwgMHgwNiwgMHg2YiwKKyAgMHgzNCwgMHg2YiwgMHgwYSwgMHg1MiwgMHgwOSwgMHhmYSwgMHhkNiwgMHhlOCwgMHhmNCwgMHhlNiwgMHhkNiwgMHhmOCwKKyAgMHg5YSwgMHhkNCwgMHg4YiwgMHg1NiwgMHhlZCwgMHg5MSwgMHg2MCwgMHhmZCwgMHhlYiwgMHgyYSwgMHgyNywgMHg2MywKKyAgMHg2ZiwgMHg4MywgMHhiNiwgMHg2NCwgMHhlMywgMHhhNCwgMHgyYywgMHg2NiwgMHhjNiwgMHg1OCwgMHgzYSwgMHgyNSwKKyAgMHg5NCwgMHhjYSwgMHg2YywgMHhjMywgMHhkYywgMHg4MiwgMHg3YiwgMHg1NywgMHhkNywgMHhjZiwgMHhkNiwgMHhkZiwKKyAgMHgwYywgMHg3MCwgMHg1NSwgMHg4YSwgMHgzMCwgMHhjNywgMHhlYiwgMHgwZCwgMHg3ZSwgMHgwOCwgMHg0MCwgMHg3MCwKKyAgMHg0MiwgMHhmNywgMHhlMSwgMHgxYSwgMHhhYiwgMHg5NSwgMHg1NCwgMHhhNSwgMHhhMywgMHgzZCwgMHg1YSwgMHhmYiwKKyAgMHhiNiwgMHhkZCwgMHhhMiwgMHgyNSwgMHgxNywgMHg3YywgMHg5ZSwgMHgyZiwgMHgxMSwgMHhkMiwgMHg3OSwgMHg2MCwKKyAgMHgzNCwgMHgxMCwgMHg2ZiwgMHg2YywgMHg2OSwgMHg2NCwgMHg2YiwgMHhkYiwgMHhlYiwgMHgzNCwgMHgwZCwgMHhmOCwKKyAgMHg1YSwgMHg4ZSwgMHhmNiwgMHg5MSwgMHg1ZCwgMHgxMywgMHhkMSwgMHgxMSwgMHhmMCwgMHg5OCwgMHgzMywgMHhhZSwKKyAgMHg3MywgMHg1YiwgMHgxNywgMHgyMiwgMHg3MCwgMHgwMiwgMHg5NCwgMHhmNiwgMHg0ZSwgMHg3MCwgMHgyOCwgMHg4MywKKyAgMHgzNiwgMHg3ZSwgMHg2NywgMHgyYywgMHgwYSwgMHg4NCwgMHgyNCwgMHgxYSwgMHg2ZSwgMHgzOCwgMHg1OSwgMHhiNCwKKyAgMHhhMSwgMHg4ZSwgMHhjMSwgMHhhZCwgMHhjMCwgMHg1OCwgMHhiMywgMHg1YiwgMHhjYSwgMHg0NCwgMHgyNiwgMHg4MywKKyAgMHhlYSwgMHg1OSwgMHg2OCwgMHgwYSwgMHgxYywgMHhjOCwgMHg1MiwgMHhkNCwgMHhmMiwgMHg2MSwgMHg0NywgMHhhYiwKKyAgMHg2YSwgMHg1YiwgMHg1MCwgMHgyYSwgMHgyNSwgMHg2NSwgMHg3NCwgMHhlMCwgMHgwNSwgMHhlMiwgMHg1YywgMHgxYywKKyAgMHgyZSwgMHhjNiwgMHg0NiwgMHgzOSwgMHgyYSwgMHhjNywgMHgxYiwgMHgyNiwgMHg5ZSwgMHg0ZCwgMHhiNCwgMHg1ZCwKKyAgMHhhNywgMHhjOCwgMHg5YywgMHg4NCwgMHhkYSwgMHgxMCwgMHg4YSwgMHhjMywgMHg0ZCwgMHhhMSwgMHg2MCwgMHg1YywKKyAgMHg2ZiwgMHhhMCwgMHhjZCwgMHgwYiwgMHhjZSwgMHhmNSwgMHg0NSwgMHhlNywgMHhmMiwgMHg2NiwgMHg0ZCwgMHgzOCwKKyAgMHhhZSwgMHhlYiwgMHg4NywgMHhiMSwgMHhjMSwgMHhiOSwgMHgxNiwgMHhmMSwgMHgzZCwgMHhmZCwgMHgzYywgMHg0MiwKKyAgMHg3YywgMHg2ZiwgMHg0ZiwgMHhjZiwgMHg4ZiwgMHhmNiwgMHgwNSwgMHhlNCwgMHg0ZSwgMHhkMSwgMHhhMCwgMHg3MiwKKyAgMHg0MSwgMHg2NCwgMHhlMSwgMHhlNCwgMHg0YywgMHgyYSwgMHg3NywgMHgyYSwgMHhhNCwgMHhlYywgMHg5NiwgMHg5NCwKKyAgMHg0MiwgMHgzZCwgMHhmNSwgMHg0MSwgMHhlYywgMHhjYSwgMHhhMywgMHg0YSwgMHg4MiwgMHhhZSwgMHgwOSwgMHhjNywKKyAgMHgzYSwgMHg5YSwgMHgyMCwgMHg3ZCwgMHg0ZiwgMHgxMywgMHhmNiwgMHg4MCwgMHg3NiwgMHgyMSwgMHg3NiwgMHgzNCwKKyAgMHhkMywgMHgxMywgMHg5ZCwgMHg3ZiwgMHg4OCwgMHgwZCwgMHgwNCwgMHgwMCwgMHgxOSwgMHg2MCwgMHhiMiwgMHhiMCwKKyAgMHg3ZSwgMHgxOCwgMHg5MCwgMHg5MCwgMHhjNCwgMHhjZiwgMHhlMSwgMHg3NCwgMHhiMCwgMHgyMSwgMHg4NiwgMHgyOSwKKyAgMHhmNSwgMHgxMywgMHgwZSwgMHhkYiwgMHhlMCwgMHgyMiwgMHg0NiwgMHg0ZCwgMHhjMSwgMHgxOSwgMHg2ZSwgMHhiOCwKKyAgMHhhOSwgMHgzOCwgMHhiYywgMHgxNywgMHhiMSwgMHhjZSwgMHg4NCwgMHg5ZSwgMHg0YSwgMHhlNiwgMHg0MiwgMHhlOSwKKyAgMHhkZCwgMHg0YiwgMHgyNSwgMHgxZSwgMHgwYSwgMHg3MiwgMHg4NSwgMHhmNywgMHhlMCwgMHg1ZiwgMHhiMSwgMHgzMywKKyAgMHhkYywgMHhkZSwgMHgyNywgMHhhNSwgMHgxMywgMHg3MywgMHg4ZiwgMHhkNCwgMHg1NywgMHg0MSwgMHhhZSwgMHgxNSwKKyAgMHg2YiwgMHhjMiwgMHgwYiwgMHg4YSwgMHg1MywgMHg5OCwgMHhjMCwgMHgwMSwgMHgxNiwgMHhkOCwgMHhmNiwgMHgwZCwKKyAgMHgzYSwgMHhhZiwgMHg5MywgMHg5YSwgMHgxNywgMHg0OCwgMHg1ZCwgMHhjYiwgMHg1MCwgMHg5YSwgMHhjOCwgMHhjNSwKKyAgMHg5OSwgMHhkYywgMHgwOCwgMHgzOSwgMHg4ZSwgMHg0NSwgMHhlYywgMHhhMywgMHg2YywgMHg4OCwgMHgxMSwgMHg0OCwKKyAgMHhhMiwgMHg2ZiwgMHg2YSwgMHgxNCwgMHg0ZCwgMHhiZiwgMHgwNiwgMHgwNywgMHhmMiwgMHgxZCwgMHgxZSwgMHgxZCwKKyAgMHhlNCwgMHhiOSwgMHhjMSwgMHhkZSwgMHg3ZCwgMHhmYSwgMHhhOCwgMHhjNywgMHhhMSwgMHhjMywgMHgyNiwgMHgxYSwKKyAgMHgyZCwgMHhiOSwgMHg5MywgMHhlOSwgMHgzMSwgMHhkYywgMHg4NSwgMHg2MCwgMHg5NSwgMHhiOCwgMHhmYiwgMHhhYSwKKyAgMHg1MCwgMHg0MCwgMHhjMywgMHg0ZiwgMHgxNywgMHg2NCwgMHg1ZCwgMHgwYywgMHhlNCwgMHg4YywgMHhkNiwgMHg2NiwKKyAgMHhmMiwgMHhiZSwgMHg5MSwgMHg4MywgMHhjMSwgMHg0MywgMHg3OSwgMHhhMSwgMHg0OSwgMHg5YSwgMHhhYywgMHhkOSwKKyAgMHgwMywgMHhmMCwgMHg2OCwgMHhhZSwgMHhiMCwgMHhjZCwgMHhlNiwgMHg2NiwgMHg5NiwgMHg2OCwgMHg4OCwgMHg2YywKKyAgMHhkMywgMHgzZiwgMHg0MiwgMHg2NywgMHgzMywgMHhmOSwgMHhlOSwgMHg0NiwgMHg0OSwgMHhlMiwgMHgyMywgMHhmMCwKKyAgMHg1MSwgMHgyYywgMHg4YiwgMHg2ZSwgMHg4NSwgMHgxYywgMHgwYywgMHhlZCwgMHgzYSwgMHhkYywgMHhjZSwgMHgxMywKKyAgMHg0MiwgMHhiMCwgMHg0OCwgMHhmZSwgMHg1NiwgMHg0ZSwgMHhjNCwgMHgxMywgMHg0OSwgMHg3YSwgMHg2YSwgMHgwYywKKyAgMHhjYiwgMHhlYSwgMHgwMiwgMHhmNSwgMHgyMywgMHgyYiwgMHg0MywgMHg2NSwgMHhiMywgMHgxNSwgMHg0NywgMHgxNywKKyAgMHg2OCwgMHg0MiwgMHg1MiwgMHg4YiwgMHhjMCwgMHhjZCwgMHhjZiwgMHgyOSwgMHhlNCwgMHg5NywgMHg1YywgMHg3MiwKKyAgMHhjNywgMHgxZCwgMHgyNCwgMHg0MywgMHgyYiwgMHgxNCwgMHg0MywgMHg1OCwgMHhlZiwgMHhiZiwgMHhkNywgMHg0NSwKKyAgMHgyYywgMHg0YSwgMHhhNywgMHhlNCwgMHgxNCwgMHgzNCwgMHg4MywgMHgwYiwgMHgzOCwgMHgwOCwgMHg2MywgMHg0ZSwKKyAgMHhiYSwgMHhhMiwgMHg4ZCwgMHg3NCwgMHhkYSwgMHhhYywgMHg2NCwgMHhlMywgMHhiYiwgMHhiMywgMHgyYiwgMHgzNSwKKyAgMHg0ZSwgMHg2MCwgMHhkZSwgMHg0NSwgMHgyNywgMHgwNCwgMHg2NCwgMHhlMiwgMHg0ZCwgMHgwZCwgMHhlNSwgMHhhNSwKKyAgMHhkMywgMHgzYiwgMHhkNSwgMHgxNywgMHg5YywgMHg3MCwgMHgxNSwgMHg0OCwgMHg1MywgMHhkNywgMHgzNywgMHgyMSwKKyAgMHhhYywgMHg3MiwgMHhkNiwgMHg0OSwgMHg1MCwgMHhiYywgMHgzZiwgMHhhZiwgMHg3ZiwgMHg3OSwgMHhiZiwgMHhhMiwKKyAgMHg4NywgMHhkYiwgMHhkNSwgMHg3ZSwgMHhkNywgMHgzOSwgMHg4ZSwgMHhiYywgMHgyOCwgMHhmNCwgMHg2YSwgMHhlYiwKKyAgMHhhYSwgMHg2NywgMHg0ZCwgMHg0YSwgMHhiYiwgMHg3YywgMHgzZiwgMHgxMiwgMHg0ZCwgMHhjYiwgMHg2MSwgMHhjNiwKKyAgMHg5MSwgMHg3MSwgMHg2YiwgMHgwMSwgMHgyMCwgMHgxNSwgMHg0NCwgMHgzYiwgMHhhZSwgMHgxZCwgMHg4NywgMHg3YSwKKyAgMHhjNCwgMHgxYiwgMHhmOSwgMHgwYSwgMHhmMywgMHhjMywgMHgyZCwgMHgzMCwgMHgyYiwgMHg1NywgMHg1MSwgMHg0ZCwKKyAgMHhjMywgMHgzYywgMHhlMSwgMHg5YywgMHhjOSwgMHhlNCwgMHhlOSwgMHhlNywgMHg0ZiwgMHg5ZiwgMHg2YywgMHgyNywKKyAgMHg5ZCwgMHg0YywgMHhkYywgMHhlZCwgMHg4OCwgMHhlNSwgMHhjMSwgMHgzNywgMHg2ZSwgMHg1NSwgMHhkYiwgMHgwYSwKKyAgMHhjMSwgMHg0NSwgMHgwZSwgMHgyMywgMHgwNSwgMHg3YSwgMHg4ZCwgMHg1OCwgMHgyNCwgMHgzOSwgMHg3NywgMHg4ZSwKKyAgMHgyMywgMHg5MywgMHgwMSwgMHhlZCwgMHgxNywgMHg5OSwgMHgyOSwgMHgwNywgMHgxOSwgMHgzNCwgMHhmNCwgMHgzMSwKKyAgMHhiNiwgMHg3MCwgMHg5MiwgMHgyZCwgMHg3MCwgMHhmOCwgMHhiNCwgMHg3NiwgMHhjYywgMHhkYiwgMHhkNSwgMHhjNiwKKyAgMHg3MSwgMHhiMSwgMHgzMSwgMHg5NCwgMHgzNCwgMHg0ZCwgMHhmZSwgMHhkYywgMHgwNiwgMHg4NiwgMHg0MywgMHhkNCwKKyAgMHhkZCwgMHhjYSwgMHgzZSwgMHg2NywgMHg2OCwgMHhhYSwgMHhhMiwgMHg3YSwgMHgxOCwgMHgyOSwgMHg3MSwgMHg2NSwKKyAgMHhkYiwgMHhlOCwgMHhkMSwgMHhkMCwgMHhlYywgMHg1NSwgMHhlNCwgMHhlYSwgMHg0NiwgMHgxNiwgMHgzYywgMHgzMSwKKyAgMHhhOCwgMHg3NiwgMHg2MCwgMHhhZCwgMHgzMCwgMHhhNiwgMHg0ZCwgMHg2NywgMHgxZiwgMHgxOSwgMHhmYiwgMHgxNywKKyAgMHhmMCwgMHgyMywgMHhmMiwgMHhiZSwgMHhhNCwgMHgwOCwgMHhjYSwgMHg5OSwgMHg0NCwgMHg5MSwgMHgzMSwgMHgxNiwKKyAgMHhkOSwgMHg0MiwgMHhmYiwgMHhhMywgMHhiMSwgMHhlYSwgMHg1MSwgMHg1NiwgMHhhZSwgMHgzOCwgMHg5ZCwgMHgwMywKKyAgMHg5NSwgMHgyYywgMHgyZSwgMHg5MSwgMHgzMSwgMHhkZiwgMHgwNywgMHgzZCwgMHhhNSwgMHg2ZSwgMHhiYiwgMHg1NCwKKyAgMHg2MSwgMHg3MiwgMHg1YSwgMHgzMywgMHhlYiwgMHhhZCwgMHhmMCwgMHg1MiwgMHg2YSwgMHg1MywgMHgzMCwgMHhhYSwKKyAgMHg2ZSwgMHg2MSwgMHg5NywgMHhmZSwgMHhkZCwgMHg1MiwgMHg2NSwgMHg1OCwgMHhkMywgMHhjOSwgMHg1ZiwgMHhlZCwKKyAgMHg2YywgMHg0NCwgMHhjZiwgMHhlYywgMHg2MSwgMHg0OSwgMHgzMSwgMHg2YywgMHgyNCwgMHg3YywgMHg3ZiwgMHg2MSwKKyAgMHg3YiwgMHhlNCwgMHg3OSwgMHhiMiwgMHg4NSwgMHgwOSwgMHhlZiwgMHhlYywgMHg2YywgMHhkZiwgMHgzZiwgMHg2OSwKKyAgMHg3OSwgMHhmMiwgMHhiZSwgMHg0OSwgMHg5ZSwgMHhiMSwgMHgyMywgMHhjZSwgMHhlYiwgMHhhOCwgMHg3MiwgMHhlMSwKKyAgMHhjZCwgMHg4MSwgMHhiZSwgMHhlOSwgMHgwMSwgMHhjNiwgMHgwYywgMHg5OCwgMHgyMiwgMHgyNSwgMHhkNSwgMHg5MiwKKyAgMHgxYywgMHhlNiwgMHg3NywgMHg5MSwgMHhmMiwgMHgzMSwgMHg0NCwgMHg1NiwgMHg1MywgMHg1OSwgMHg2MCwgMHg3YiwKKyAgMHhlZCwgMHhlMiwgMHhhNiwgMHg2MSwgMHg0MCwgMHg0YiwgMHg2MSwgMHgyMSwgMHg5NCwgMHgxYiwgMHgwOCwgMHg4NCwKKyAgMHhjMSwgMHgwMywgMHg0MywgMHg4NCwgMHhhMSwgMHhiZSwgMHhlOSwgMHhhNiwgMHhlNSwgMHgyZCwgMHgwZSwgMHgyZSwKKyAgMHg5OSwgMHg0ZSwgMHhiNCwgMHgwOSwgMHhiNywgMHg1MCwgMHg3ZCwgMHg2NiwgMHgxYywgMHg5NywgMHg4YSwgMHg1NCwKKyAgMHgwNywgMHhlOSwgMHhkMywgMHgzNiwgMHhjMywgMHgxOCwgMHg0ZSwgMHg4MywgMHgwOCwgMHgyOCwgMHgzOCwgMHgzZiwKKyAgMHhlOSwgMHgxYSwgMHg0NCwgMHg0NywgMHhiYSwgMHg4OSwgMHhiNCwgMHg0MiwgMHgwOCwgMHgzYywgMHhhMCwgMHhlMSwKKyAgMHhhOCwgMHgxZiwgMHhkZCwgMHg5YSwgMHgxOSwgMHg5MSwgMHhkYiwgMHgwZiwgMHg4MiwgMHhiOCwgMHg2YSwgMHhlMywKKyAgMHhiNCwgMHgwYSwgMHg0MywgMHg0ZiwgMHg5OCwgMHg5YiwgMHhhNSwgMHg2ZiwgMHhlYywgMHgxOCwgMHhjMywgMHg1MSwKKyAgMHg0ZCwgMHhmOCwgMHhhNywgMHhhZCwgMHhjZCwgMHgxYywgMHhmMCwgMHgxZCwgMHgwNSwgMHgxNCwgMHg1NCwgMHg0YywKKyAgMHg1NywgMHg0NywgMHhkZiwgMHhkMCwgMHgxMCwgMHhjYiwgMHhjNCwgMHhlZSwgMHhlMSwgMHhkYSwgMHgxYywgMHg1NCwKKyAgMHg5YiwgMHg4NCwgMHhjYSwgMHg0MSwgMHgxMSwgMHg0ZSwgMHg0MywgMHgwZCwgMHhlNSwgMHhhYywgMHhmYSwgMHg4NiwKKyAgMHg3NSwgMHhkMCwgMHhiNiwgMHg2ZiwgMHhlYywgMHg3OSwgMHhkYiwgMHhkNywgMHg2MCwgMHg3MSwgMHg1OSwgMHg3YSwKKyAgMHgxMCwgMHg0YSwgMHg5MSwgMHg3ZiwgMHg1YywgMHgyNywgMHg2ZiwgMHhmNSwgMHhiMSwgMHg2NCwgMHg2YiwgMHg3YywKKyAgMHhmNiwgMHhmNiwgMHhlOCwgMHhlYiwgMHhkMywgMHhlZCwgMHhmYiwgMHg3YywgMHhlYSwgMHg2ZCwgMHhmZSwgMHg2ZiwKKyAgMHhkNywgMHg5NSwgMHg2YSwgMHhhMiwgMHhiYywgMHg0YywgMHgxZiwgMHhkNiwgMHhjOSwgMHhkNywgMHhlMywgMHhmMSwKKyAgMHhmMCwgMHhlMCwgMHhlYywgMHgxOCwgMHg0ZCwgMHg1ZSwgMHhjNywgMHhlNiwgMHhiZiwgMHgzZCwgMHhkZCwgMHgwOCwKKyAgMHg0NiwgMHhlOCwgMHg4NSwgMHgzMSwgMHhmYywgMHg0ZSwgMHhhYSwgMHhhNywgMHg2YiwgMHg1MSwgMHgzMywgMHgxMiwKKyAgMHg3OCwgMHhhYywgMHg5MSwgMHg5OSwgMHgwNSwgMHhlNSwgMHg0MSwgMHhkNCwgMHgzYiwgMHg4YiwgMHg2YywgMHg4MywKKyAgMHhlMSwgMHhiYiwgMHgyNiwgMHhjZiwgMHhkOSwgMHhmMSwgMHgwZSwgMHgzZSwgMHg0NSwgMHg5ZiwgMHhjNCwgMHg4MiwKKyAgMHg3YSwgMHhkYywgMHgwNywgMHhhYiwgMHhiMCwgMHhjNSwgMHgyYiwgMHg2OSwgMHgzZSwgMHhjOCwgMHhiMiwgMHgwNiwKKyAgMHg4MywgMHhkNiwgMHg3MiwgMHgwOCwgMHg2MywgMHhmOSwgMHg5MSwgMHgzOCwgMHg3MSwgMHg1MSwgMHhlYiwgMHg3OCwKKyAgMHhmMSwgMHgxOSwgMHhiOSwgMHg2ZSwgMHhhOSwgMHhiYSwgMHg0OCwgMHg2MSwgMHg4MywgMHgzYiwgMHhhZSwgMHg2MiwKKyAgMHg5OCwgMHg2OCwgMHgwYywgMHgwZSwgMHgzOSwgMHhhNywgMHgxNiwgMHgwZSwgMHg2MywgMHhjZCwgMHg3YSwgMHhlYywKKyAgMHgzYSwgMHg0NSwgMHgzNiwgMHg4NywgMHhhYiwgMHgyNCwgMHhkOSwgMHhkZiwgMHhlNCwgMHgwYywgMHhlYiwgMHhhYywKKyAgMHgyOCwgMHg1NywgMHg5NywgMHg1NywgMHg2YywgMHg2MCwgMHhiNSwgMHhmZCwgMHgxMCwgMHhhZCwgMHg1ZSwgMHhjZiwKKyAgMHhiNiwgMHg3YiwgMHg4OSwgMHg5OSwgMHg2NCwgMHg0MCwgMHg4MiwgMHg3OCwgMHg0NywgMHhmNSwgMHg5ZSwgMHgyYSwKKyAgMHhhMywgMHgwOCwgMHgyOSwgMHhhYiwgMHgzNywgMHg5YywgMHhmYiwgMHgzNiwgMHhmYiwgMHg0ZCwgMHhiYSwgMHgyMywKKyAgMHhhZSwgMHhkMSwgMHg0MCwgMHgyNiwgMHg5YywgMHgzZCwgMHgwMCwgMHhiNywgMHg2ZiwgMHhkMSwgMHhjYywgMHgxNywKKyAgMHhmMiwgMHhkNywgMHhiNCwgMHhiOCwgMHg4MywgMHg3YiwgMHg1ZiwgMHg4MiwgMHg1ZCwgMHhhOCwgMHg4MCwgMHhiNiwKKyAgMHgzNCwgMHhkZCwgMHgyNiwgMHhmNCwgMHhhNiwgMHg5YSwgMHhjMiwgMHhkMCwgMHhlNywgMHgyNCwgMHg2YywgMHgyZSwKKyAgMHg3ZCwgMHg1ZSwgMHg0NywgMHhiMywgMHhhNCwgMHhkMiwgMHgxYiwgMHg0ZCwgMHhkYywgMHgxOCwgMHg1NSwgMHg1MCwKKyAgMHhkMiwgMHg4YiwgMHg4MSwgMHg4ZSwgMHgzMiwgMHgzMCwgMHhlNiwgMHhiMCwgMHg0NCwgMHg4YiwgMHg0NSwgMHgxMSwKKyAgMHgxNiwgMHgyMiwgMHg4OCwgMHhiMCwgMHgyMiwgMHgzNCwgMHg0MSwgMHhkZCwgMHg0YSwgMHgyNywgMHg3NSwgMHgzOSwKKyAgMHg1ZiwgMHgzNSwgMHhkMCwgMHgwNSwgMHhjOCwgMHg4OSwgMHg0ZiwgMHhlNSwgMHg2NSwgMHhkYiwgMHhhZSwgMHg4OSwKKyAgMHgzYywgMHg0NiwgMHhkNSwgMHgzNCwgMHg2NywgMHgwZSwgMHgxYiwgMHg0NSwgMHhkYywgMHg5MywgMHhhZSwgMHg0MywKKyAgMHhlZiwgMHhjOCwgMHg4NSwgMHhhYywgMHgzOCwgMHg5YywgMHgyZSwgMHhmZSwgMHgwOSwgMHhkYSwgMHg1OSwgMHgxZSwKKyAgMHgwYiwgMHg0MywgMHgyZCwgMHg5MSwgMHg5OCwgMHg3NywgMHhhZCwgMHg2OCwgMHg4NywgMHhlMSwgMHhmOSwgMHhlOSwKKyAgMHg1OSwgMHhiNSwgMHg3NiwgMHg0NywgMHhhMywgMHg0MSwgMHhjNCwgMHhiYSwgMHg1YiwgMHhhNSwgMHgxYSwgMHg0ZSwKKyAgMHg2YiwgMHg4YywgMHg3MSwgMHhiNiwgMHhkZSwgMHg1YywgMHg3ZCwgMHhjZCwgMHg5NywgMHg5OSwgMHhkMCwgMHgyZCwKKyAgMHg5OSwgMHhkYywgMHhkOSwgMHg4ZiwgMHhmMSwgMHg3NywgMHg1MiwgMHgyNCwgMHhiMywgMHg1OSwgMHg0NSwgMHhmOCwKKyAgMHhhMSwgMHhlMCwgMHg2MiwgMHhlZSwgMHgzMCwgMHhkYSwgMHhkYywgMHg2ZCwgMHhiNywgMHhkZCwgMHg2ZCwgMHhiYSwKKyAgMHhmZCwgMHhhNSwgMHhjZSwgMHhkMCwgMHhkZiwgMHgxMSwgMHg3ZSwgMHg4MiwgMHgzZCwgMHg2MiwgMHg5YywgMHg0NiwKKyAgMHhlYiwgMHg5MCwgMHgzYiwgMHhkMCwgMHgzNywgMHhlMiwgMHg2YiwgMHhhMCwgMHg4ZCwgMHgxOCwgMHhlMSwgMHg4OSwKKyAgMHg4MCwgMHg4MCwgMHgyOSwgMHg5YiwgMHhjNCwgMHhhZSwgMHg0YSwgMHhkNSwgMHgyMywgMHhmMiwgMHhiNywgMHhhNSwKKyAgMHhkYywgMHg1MCwgMHg5NiwgMHg1ZiwgMHhmNiwgMHhiZSwgMHg2MSwgMHg4YiwgMHhlMSwgMHhjYSwgMHhmNSwgMHgzZCwKKyAgMHg5ZiwgMHhkZCwgMHhlOSwgMHg4YywgMHgxZSwgMHhiMCwgMHgyMSwgMHg2ZSwgMHhmZCwgMHhlZSwgMHg4NywgMHg4MSwKKyAgMHg2NSwgMHg2NywgMHg1MywgMHgyNiwgMHhlYSwgMHhhOSwgMHhjMCwgMHg1NywgMHg4ZSwgMHg4NCwgMHgwYSwgMHhiNywKKyAgMHgzZSwgMHhjOCwgMHg1ZiwgMHhlOCwgMHgwZSwgMHg3YywgMHg5ZiwgMHgxNywgMHg0NiwgMHgzMywgMHhhYywgMHhiNywKKyAgMHg5NSwgMHgzOCwgMHgyNSwgMHgzZCwgMHgzMywgMHhiYywgMHhiYiwgMHhkNSwgMHgyNiwgMHgzNSwgMHgzNSwgMHgzNiwKKyAgMHgxYywgMHhjNywgMHhhNSwgMHhhYSwgMHg5MiwgMHhlMiwgMHhjYywgMHgwMSwgMHhjNiwgMHg4MCwgMHgxNSwgMHg3OSwKKyAgMHhhZCwgMHg3ZCwgMHhlZiwgMHg5NiwgMHg0MSwgMHgwNSwgMHhkOSwgMHhkNCwgMHgzMiwgMHgxZCwgMHg4YywgMHgwMSwKKyAgMHhlYywgMHg2ZSwgMHg2MywgMHgxNiwgMHgxNCwgMHhmOSwgMHhhZCwgMHhjYiwgMHg3MiwgMHhiMSwgMHhmOCwgMHg4MywKKyAgMHg3ZSwgMHhlMCwgMHhkZiwgMHgzMCwgMHg0MiwgMHgxMiwgMHg1NywgMHg5MSwgMHhkOSwgMHgwNSwgMHgyMSwgMHg1NywKKyAgMHhkYSwgMHg1ZCwgMHhhYywgMHg3MywgMHhlYiwgMHhlOSwgMHg3NiwgMHg3MiwgMHhkMSwgMHgyYywgMHhiNywgMHg3NiwKKyAgMHhiNywgMHhiOSwgMHg5MSwgMHgwMywgMHg4MywgMHgzMywgMHhmOCwgMHg2ZCwgMHg3ZCwgMHg0MywgMHgyZiwgMHgwZSwKKyAgMHg2NSwgMHhkNywgMHgyNiwgMHg4NywgMHhmNiwgMHhiMywgMHg4OCwgMHhmZCwgMHgxMywgMHhhNCwgMHgyMSwgMHhjYSwKKyAgMHg1OCwgMHgyZiwgMHhlNCwgMHgwNiwgMHhmMywgMHg4NiwgMHhkOSwgMHgwZSwgMHgzYiwgMHhiNiwgMHg0OCwgMHhiOCwKKyAgMHhlYiwgMHgxZCwgMHg0MCwgMHhlYSwgMHhkYiwgMHg5MiwgMHhjMCwgMHg4ZCwgMHg1MSwgMHhkZSwgMHg2YiwgMHgyYywKKyAgMHg4OCwgMHhiYywgMHhmMSwgMHg2MSwgMHhhNCwgMHhhOSwgMHg2MSwgMHgwNiwgMHhkNywgMHhmZSwgMHg5YiwgMHg5ZCwKKyAgMHg5YiwgMHhjZiwgMHg4NiwgMHhjNCwgMHg0MywgMHgyZSwgMHhhYiwgMHhkMiwgMHg4OCwgMHhjOCwgMHgyYSwgMHg4MiwKKyAgMHgwMCwgMHgyYiwgMHgzNiwgMHhjNSwgMHgzOSwgMHgwYSwgMHhkMCwgMHhhZSwgMHhmMywgMHhhYSwgMHgyYywgMHgwMCwKKyAgMHhiMywgMHg3YiwgMHg5ZCwgMHg1NiwgMHgzOSwgMHhiMiwgMHg1ZCwgMHgzNiwgMHhiZSwgMHgzOSwgMHg3ZCwgMHg3MywKKyAgMHhiNCwgMHhlMSwgMHgzYiwgMHg0NSwgMHgyZSwgMHg3MiwgMHhhZCwgMHhhMSwgMHhiZCwgMHgwYSwgMHhmYiwgMHgwOCwKKyAgMHhkOCwgMHhkMywgMHg4YywgMHgzOSwgMHgwZCwgMHg4ZCwgMHg0OCwgMHg5ZiwgMHg3ZSwgMHg1NCwgMHgwMCwgMHg4ZCwKKyAgMHgzYiwgMHgwNiwgMHg0YiwgMHhjYywgMHg2YywgMHg3NSwgMHhiOSwgMHg1MSwgMHgyNSwgMHgyNSwgMHgxMSwgMHg0NiwKKyAgMHgzYSwgMHg4YiwgMHgyYSwgMHg4NSwgMHgyMSwgMHgxMywgMHgyZSwgMHhkNiwgMHhmZiwgMHg0OSwgMHg0ZCwgMHg0MywKKyAgMHhmNCwgMHg4MCwgMHgyYSwgMHhmZCwgMHhkZSwgMHg5NiwgMHg4OSwgMHhkNywgMHhmZiwgMHg5MiwgMHhkNCwgMHg3YywKKyAgMHgyZCwgMHg0ZSwgMHg3MywgMHgyZSwgMHhmNiwgMHhhZSwgMHg3OCwgMHg1YywgMHhkYywgMHg5MSwgMHg2NSwgMHhiMywKKyAgMHhkOSwgMHgxNiwgMHg4MCwgMHg5YiwgMHgzNSwgMHgxOSwgMHhlMywgMHhjZCwgMHhhNiwgMHg2ZSwgMHgyZiwgMHgxMiwKKyAgMHhhNiwgMHgxZCwgMHg4ZiwgMHgwZiwgMHg3YiwgMHg4ZSwgMHhmNywgMHg3YywgMHg5ZCwgMHhhOSwgMHg5YSwgMHgzZiwKKyAgMHhlMSwgMHg0NiwgMHhlNywgMHhjMSwgMHhkZCwgMHhlZCwgMHhkYiwgMHhlNywgMHhkYiwgMHg3NywgMHhkYiwgMHg0NCwKKyAgMHgxMSwgMHhjMiwgMHhmYywgMHg5MiwgMHg5MSwgMHhkNCwgMHhkNSwgMHg0OCwgMHhiNiwgMHgzYiwgMHg5NiwgMHhiNywKKyAgMHgzMywgMHg1OCwgMHhhOCwgMHhjZCwgMHg0YSwgMHhlOCwgMHg1NSwgMHgzNCwgMHg5ZiwgMHgyZiwgMHhhNywgMHhiOSwKKyAgMHg5ZiwgMHgyNiwgMHgxMiwgMHg0MCwgMHg5ZSwgMHhhYiwgMHg5NiwgMHg1NCwgMHg3OCwgMHgwZCwgMHg3YSwgMHgzMCwKKyAgMHg1YSwgMHgyZiwgMHhlNCwgMHhhZSwgMHgxMSwgMHhkYywgMHhjOCwgMHgyNSwgMHhkNCwgMHhhOCwgMHg1YywgMHg1ZSwKKyAgMHgxMSwgMHg4YSwgMHg5NSwgMHhjYiwgMHg3YSwgMHg5MCwgMHgyZiwgMHgwZCwgMHg3YywgMHgzYywgMHg4MSwgMHg0MSwKKyAgMHgwZiwgMHgwOCwgMHhiNywgMHhjYiwgMHhjNywgMHhiMiwgMHg3YSwgMHgwOSwgMHhhMywgMHg1MCwgMHgzMywgMHg4ZSwKKyAgMHhiMSwgMHhjZCwgMHg5NCwgMHg1MSwgMHgyOCwgMHhlNywgMHg1MCwgMHgzZiwgMHhiNiwgMHgzYiwgMHhhOSwgMHg4ZSwKKyAgMHg2ZCwgMHhkNCwgMHhlYywgMHg5OSwgMHhiZiwgMHhiMSwgMHgzOSwgMHg2MywgMHgyMSwgMHg2NCwgMHg2MSwgMHhkNSwKKyAgMHhiMywgMHhjMiwgMHg0MSwgMHgwZCwgMHg3OCwgMHgxNCwgMHg2NCwgMHgzZSwgMHg2YSwgMHg1ZCwgMHhkYiwgMHhmYiwKKyAgMHg2OCwgMHg5NiwgMHgyNiwgMHhiZCwgMHg0NCwgMHhlYSwgMHg1NSwgMHg3NSwgMHg4ZCwgMHhiYSwgMHg2ZiwgMHhlOSwKKyAgMHg0MCwgMHhjNywgMHhjOSwgMHhmMSwgMHhlZSwgMHgzYywgMHhlNCwgMHgxYywgMHgyMiwgMHg1MiwgMHhkZSwgMHg5YiwKKyAgMHgyMSwgMHgyNSwgMHgyZSwgMHg1NywgMHg4MiwgMHgwZCwgMHg5NywgMHg3YywgMHhjZCwgMHhiMywgMHhiMCwgMHgxMywKKyAgMHhiNCwgMHg5NiwgMHgwZSwgMHg0MSwgMHgwMCwgMHhiMSwgMHgxNiwgMHgxYiwgMHg5NCwgMHhhOSwgMHg5NCwgMHgzNSwKKyAgMHg5MCwgMHhhMywgMHg5YiwgMHgyYSwgMHg5ZCwgMHhiYSwgMHhiZiwgMHgwYywgMHhkMywgMHg3YSwgMHg5YSwgMHhlNywKKyAgMHhkYSwgMHhkMSwgMHg4YywgMHhlMiwgMHg4MywgMHgxOSwgMHgyNSwgMHg4NCwgMHhjNywgMHgxMSwgMHhhMiwgMHhlYywKKyAgMHg3OSwgMHhkOCwgMHg2NiwgMHg0MiwgMHgzMywgMHg2ZSwgMHg2OCwgMHgyMywgMHgxOSwgMHg1YSwgMHgyOSwgMHhiNywKKyAgMHhiYSwgMHhhNCwgMHgzNCwgMHgyNSwgMHg5NCwgMHg4NywgMHg0YSwgMHhmMCwgMHgzMCwgMHhkNiwgMHhlNCwgMHg0ZCwKKyAgMHg2MSwgMHg3YSwgMHg3YiwgMHg0YywgMHg1YiwgMHg2MywgMHg3ZCwgMHhlZiwgMHhmYSwgMHhlNiwgMHhiNywgMHg2ZSwKKyAgMHhjMiwgMHg5MCwgMHg3MCwgMHhkYSwgMHhlYSwgMHg4NiwgMHg0ZCwgMHhjOSwgMHg5YiwgMHg5YiwgMHgzZCwgMHhmZiwKKyAgMHg5OSwgMHg3NSwgMHhkOSwgMHgxYiwgMHgxZCwgMHg1OCwgMHhiMCwgMHhhMiwgMHgxYywgMHhhNiwgMHhmMywgMHg2NSwKKyAgMHgzNCwgMHhjZiwgMHg3MywgMHhiYywgMHhkZCwgMHhlYSwgMHhmNywgMHg3YSwgMHg3MCwgMHg3MiwgMHhmNiwgMHgxNiwKKyAgMHg4OCwgMHg5MSwgMHhkNCwgMHgzYSwgMHhhMCwgMHhhOCwgMHgzOSwgMHhhYiwgMHg4NiwgMHg3ZSwgMHg0NiwgMHg0NSwKKyAgMHgxYywgMHgwNSwgMHgwMywgMHhhYiwgMHgyMiwgMHhiZiwgMHg2YSwgMHgxNiwgMHgwMiwgMHgwYywgMHg3MCwgMHg2YywKKyAgMHg5YywgMHhjYywgMHg4NywgMHg5OCwgMHg3ZCwgMHhjNSwgMHg5OSwgMHg2ZCwgMHg0NSwgMHhlMiwgMHhkNSwgMHhmOCwKKyAgMHgzMiwgMHg4MywgMHg1NywgMHhmYiwgMHhhMiwgMHhiYiwgMHgxYywgMHhmMywgMHg1NSwgMHhmNywgMHg2ZCwgMHhlZCwKKyAgMHgzMiwgMHg2MiwgMHgyYiwgMHhmMSwgMHhkYSwgMHhlZiwgMHg1YSwgMHhkMCwgMHhjYywgMHg1MiwgMHgxMSwgMHgzMiwKKyAgMHgwMywgMHg3ZSwgMHhkZSwgMHg2NCwgMHgxNiwgMHg5YSwgMHg1MywgMHhlYywgMHgzYSwgMHgxYiwgMHgyOSwgMHgxNywKKyAgMHhhZiwgMHg5MiwgMHgyNCwgMHgxNSwgMHgwMSwgMHhiYSwgMHg0NSwgMHg0MSwgMHgyMiwgMHhlMiwgMHhlYSwgMHg4NCwKKyAgMHg0ZCwgMHg2MywgMHgzNCwgMHgxYiwgMHg1YiwgMHgyYywgMHg4YiwgMHgyZSwgMHhlMiwgMHg5YywgMHg2YywgMHg3NywKKyAgMHhkNCwgMHgwOCwgMHgwZCwgMHhlMCwgMHgwZiwgMHgxZiwgMHg1MiwgMHgxOCwgMHg0OSwgMHgyNywgMHgzMiwgMHg1YSwKKyAgMHg3MywgMHhjMCwgMHg2ZiwgMHgwNywgMHhmYywgMHhkNSwgMHhjOSwgMHg4YSwgMHgzOCwgMHg0NCwgMHhlNywgMHgwYiwKKyAgMHg3MiwgMHhiYywgMHhhYywgMHgzNCwgMHhmMSwgMHgxMywgMHhmNCwgMHgzZCwgMHg3MSwgMHg3ZiwgMHgzMSwgMHg5YywKKyAgMHgxOCwgMHg5NSwgMHgzMSwgMHg2NywgMHhlOSwgMHg4MiwgMHgxYSwgMHg3ZCwgMHg2YSwgMHhhOSwgMHgwYywgMHg3OSwKKyAgMHg3ZSwgMHgyOSwgMHhhYiwgMHhiOSwgMHgzYiwgMHhlMSwgMHg1NSwgMHgyYSwgMHgxYywgMHhhYiwgMHg4NSwgMHhlOSwKKyAgMHhkZiwgMHhhOSwgMHhhMCwgMHhlMSwgMHhjZiwgMHgxMCwgMHgyNywgMHhmNSwgMHg4NywgMHg4ZiwgMHg1NSwgMHg0NSwKKyAgMHhlMiwgMHg3NSwgMHhmMCwgMHgxMCwgMHg2NCwgMHgwMywgMHg3MCwgMHhkYywgMHg0NiwgMHhiYiwgMHhkZiwgMHgzMiwKKyAgMHg3NCwgMHgzZSwgMHgwZiwgMHhhMSwgMHg1ZCwgMHg0YSwgMHhkMSwgMHhiZCwgMHhlZCwgMHg2YSwgMHg1NSwgMHg3YywKKyAgMHgzNCwgMHg1MywgMHgwOCwgMHgwMSwgMHgwMSwgMHgzNCwgMHhlMywgMHg5ZCwgMHhmYSwgMHhiZiwgMHg3MCwgMHhkMywKKyAgMHg2OCwgMHhmYSwgMHg4YiwgMHhjNSwgMHhmNywgMHhlMCwgMHgxMSwgMHgwOCwgMHhiNSwgMHhmZiwgMHg5YSwgMHgxYywKKyAgMHg3OSwgMHgwMiwgMHg2MywgMHhkZiwgMHg4ZiwgMHhjYiwgMHhjOCwgMHg5ZSwgMHg2NywgMHg3YiwgMHgzZiwgMHhjYywKKyAgMHhhYywgMHhlYywgMHgwNiwgMHg0NiwgMHgwYiwgMHgzYSwgMHhmNCwgMHhhNCwgMHg0NSwgMHgyNywgMHg0MywgMHg2MiwKKyAgMHhmMSwgMHhhNSwgMHgyNywgMHg1MiwgMHgyNCwgMHg4YSwgMHhhZCwgMHgxMCwgMHg2YSwgMHhhOCwgMHhjOSwgMHgyMywKKyAgMHgwYiwgMHg4NCwgMHg5OCwgMHg0YiwgMHhjMCwgMHgwZSwgMHg1NywgMHgzNSwgMHhkNywgMHg0MSwgMHhjYSwgMHhiMSwKKyAgMHgxMiwgMHgzZCwgMHhmOCwgMHhmZCwgMHhkNywgMHgyMiwgMHgzMywgMHg2OSwgMHhhMywgMHg1MywgMHhmNCwgMHhkMSwKKyAgMHg0MSwgMHhiYiwgMHgwNywgMHhiNCwgMHgwMywgMHhiMywgMHg5MCwgMHhjYywgMHgyOSwgMHhhYiwgMHhiMywgMHg1MSwKKyAgMHg2YiwgMHg2NCwgMHhiZiwgMHgzNSwgMHg2YiwgMHg4NCwgMHg2ZiwgMHhiOSwgMHgzYywgMHhjNSwgMHhhYywgMHhiMCwKKyAgMHg0NCwgMHhiNiwgMHg4OCwgMHg0MiwgMHgyZiwgMHg3ZiwgMHhmMiwgMHg1ZCwgMHg3MiwgMHgwYiwgMHhmMSwgMHgzNiwKKyAgMHhjYSwgMHhmZSwgMHhiMCwgMHhiMywgMHg0OSwgMHhjNSwgMHg4MywgMHhiOCwgMHhlMSwgMHhkYiwgMHg5MCwgMHgxOSwKKyAgMHhiZSwgMHg2ZCwgMHhmMywgMHg0MiwgMHhiNywgMHhkMiwgMHgwMCwgMHg0OSwgMHgyMCwgMHg3MiwgMHhhMywgMHhlZiwKKyAgMHhlNSwgMHg4MSwgMHgzNCwgMHgzYywgMHg1NSwgMHg5OSwgMHg5YywgMHhiZCwgMHgwZCwgMHg3MSwgMHgwZSwgMHhjNCwKKyAgMHhmZCwgMHg0NywgMHhjYywgMHhmNywgMHg3ZSwgMHgyZSwgMHg2OCwgMHg0ZCwgMHg3NywgMHhmOSwgMHg1OSwgMHg4ZiwKKyAgMHg2YiwgMHhlYiwgMHg5NywgMHhiMywgMHg0MCwgMHhiNSwgMHhhOCwgMHg4NCwgMHhkNSwgMHg4NSwgMHgxYywgMHhiMCwKKyAgMHgwOCwgMHgxOCwgMHhhMCwgMHhkMCwgMHhkZCwgMHhhNywgMHg2MSwgMHg4MSwgMHhmNCwgMHg0OSwgMHg2MywgMHg2NSwKKyAgMHg1ZiwgMHg1MiwgMHg1NiwgMHgwYSwgMHhiOSwgMHgwMSwgMHgwMywgMHgzNiwgMHg3OCwgMHg2YSwgMHhmZCwgMHg0NiwKKyAgMHg1YywgMHg2ZCwgMHg2NiwgMHhmYiwgMHgwYywgMHhlYSwgMHg1YiwgMHgwOSwgMHhkZSwgMHg1MiwgMHg3NiwgMHhhMywKKyAgMHg1MCwgMHhkMSwgMHg4YiwgMHgxNSwgMHhhMiwgMHg2OSwgMHg0MSwgMHgwMSwgMHg4OSwgMHhhMywgMHhmYywgMHg5NCwKKyAgMHg3MSwgMHg2ZSwgMHhjYywgMHg0MywgMHgzNywgMHg2OSwgMHg1NSwgMHg3MCwgMHg3ZSwgMHhjYywgMHhjYywgMHhjZiwKKyAgMHgxYiwgMHgzNSwgMHhjYywgMHhkNCwgMHg1ZSwgMHhhZCwgMHgzOSwgMHg1NywgMHhjMywgMHhkNCwgMHhhMSwgMHhkZiwKKyAgMHhhOCwgMHhjZSwgMHg1MSwgMHgxMSwgMHgxZSwgMHgzNSwgMHg2MSwgMHg3MSwgMHg2OSwgMHhlYywgMHgyNiwgMHg3MiwKKyAgMHg3OSwgMHg1YiwgMHhlZiwgMHhiZCwgMHhmMSwgMHhhZiwgMHg4ZCwgMHg3OCwgMHgzNywgMHhmYSwgMHgyZiwgMHg0ZCwKKyAgMHg3YiwgMHhjYiwgMHhmOCwgMHhlNiwgMHg1OCwgMHhmMiwgMHhlZiwgMHhlYywgMHgwYywgMHg5MCwgMHgzYSwgMHgxZSwKKyAgMHg4OCwgMHhjNiwgMHhjOCwgMHgwNCwgMHg1MSwgMHgwZiwgMHhlYywgMHhjMiwgMHhkYSwgMHhiMCwgMHhhNSwgMHhjZiwKKyAgMHg4MywgMHhiMywgMHgxMywgMHg2MiwgMHhjYiwgMHg2NywgMHg1MSwgMHhmYywgMHgxOSwgMHhiZCwgMHg5NCwgMHhkMiwKKyAgMHhkMSwgMHg1YSwgMHg2MiwgMHg0ZCwgMHg3NCwgMHg4ZCwgMHgxNCwgMHhmOCwgMHhlYSwgMHhmOCwgMHg5NSwgMHg1OSwKKyAgMHgyOCwgMHg1OSwgMHgxOSwgMHg5NywgMHhlNiwgMHhmZSwgMHg3YywgMHg3NSwgMHg5NywgMHhmNCwgMHg1YywgMHg0YiwKKyAgMHg1MiwgMHg3NiwgMHg1ZCwgMHgzYywgMHgxZSwgMHhiZSwgMHgxOSwgMHg0MiwgMHhmNywgMHhmNSwgMHg1MSwgMHgwOSwKKyAgMHgwOSwgMHhhNCwgMHhkNCwgMHhlYiwgMHhlMiwgMHgyOCwgMHhiOSwgMHgxMiwgMHhkMiwgMHg0MCwgMHgyYiwgMHhlZSwKKyAgMHg0YSwgMHgyMiwgMHg1MywgMHgwMCwgMHg0MCwgMHgwMSwgMHg1NywgMHgyYiwgMHg0MywgMHhhOSwgMHhhNCwgMHhhNiwKKyAgMHg3MCwgMHhiYiwgMHgzYiwgMHg0ZSwgMHg0MSwgMHgyZiwgMHhjOSwgMHgzYywgMHgwMCwgMHhiYiwgMHhhNSwgMHgwOSwKKyAgMHg3YiwgMHgzMywgMHgwZSwgMHhhOCwgMHg4MCwgMHgwMywgMHgxMCwgMHg3NSwgMHg2NiwgMHg1OCwgMHgyOCwgMHhkNywKKyAgMHgzOSwgMHg0ZSwgMHhhYSwgMHhmMiwgMHg2MywgMHhjNiwgMHhmYywgMHgwMiwgMHg0NiwgMHgyMSwgMHg3MCwgMHhlMywKKyAgMHg1OCwgMHgwNywgMHgxNiwgMHgzZiwgMHhiYSwgMHg5MSwgMHg1MCwgMHhkYywgMHhkMiwgMHg4NiwgMHg3MiwgMHg0ZCwKKyAgMHg4MiwgMHg4MCwgMHgzOSwgMHgzNywgMHhkOCwgMHgxNSwgMHhjMCwgMHgxOSwgMHgyNywgMHhjNywgMHg3MiwgMHhiYywKKyAgMHgwZSwgMHhhNCwgMHgxNywgMHhlZCwgMHg0MiwgMHhjMywgMHg1NywgMHg2ZCwgMHg0YSwgMHgyOSwgMHg4NCwgMHhiZiwKKyAgMHgyMSwgMHhjZiwgMHhiNiwgMHhhNywgMHhlZSwgMHhmMywgMHhlYywgMHhjOCwgMHg5MSwgMHgzZSwgMHhiYywgMHg2ZCwKKyAgMHhhZSwgMHhhMSwgMHgyNSwgMHgzOCwgMHgyZiwgMHg5MywgMHg5NywgMHhjYywgMHgxMCwgMHg2ZSwgMHhlZiwgMHg1MCwKKyAgMHgwNCwgMHhkZCwgMHhmNSwgMHg1MCwgMHhhMiwgMHhmNSwgMHhmMywgMHg1MCwgMHhhZCwgMHhjNSwgMHg1OSwgMHgyMiwKKyAgMHgzOSwgMHg1OCwgMHhiMCwgMHhiNSwgMHhjOSwgMHg4NiwgMHhlMiwgMHgxYywgMHhjYywgMHg5OSwgMHg0MywgMHhhZiwKKyAgMHg5NiwgMHgwNiwgMHgzMCwgMHg0MCwgMHhkYiwgMHgwOSwgMHhlMSwgMHhhMCwgMHhjOSwgMHhjNSwgMHg2OSwgMHg1ZCwKKyAgMHg2ZiwgMHg5YywgMHgyZCwgMHgwYSwgMHhmMywgMHg4OSwgMHg0ZSwgMHgwNywgMHhhMCwgMHg2MywgMHg2OCwgMHhkNywKKyAgMHgyMCwgMHhmNiwgMHhjMSwgMHg3ZiwgMHhhNywgMHg3YywgMHg1MSwgMHg2MywgMHg4YywgMHgzNCwgMHg5NCwgMHhjMiwKKyAgMHhjNywgMHg1ZiwgMHgwYSwgMHhjYywgMHgwNSwgMHg2ZSwgMHg4NSwgMHg2YSwgMHgwYiwgMHhkZCwgMHgxOCwgMHgwZCwKKyAgMHhjNywgMHgyMiwgMHg2YSwgMHg1MSwgMHhmMywgMHgwNCwgMHg1ZiwgMHhhYiwgMHhlMywgMHhkZSwgMHgzNCwgMHhjOSwKKyAgMHgxMSwgMHg1OSwgMHg5YSwgMHgxMSwgMHgyMywgMHg1ZSwgMHgwMSwgMHg4NCwgMHhiMCwgMHhjNiwgMHg1YywgMHhmYSwKKyAgMHg1YSwgMHg3MCwgMHhiNiwgMHg5ZCwgMHg3OCwgMHg0NCwgMHg1MiwgMHg0ZCwgMHhhMywgMHg5MywgMHg4NSwgMHhiNywKKyAgMHg3MSwgMHgzZSwgMHgyMywgMHhlZCwgMHg1YSwgMHgyNCwgMHg1OSwgMHgwZCwgMHg1ZCwgMHg5OSwgMHgwNSwgMHg3OSwKKyAgMHgxYiwgMHgwNCwgMHhhMCwgMHg0ZCwgMHg1MCwgMHg1YiwgMHhiOSwgMHg0ZSwgMHhiMCwgMHgyZSwgMHg2MSwgMHhkNiwKKyAgMHhkYywgMHg0NCwgMHgxYSwgMHg5OSwgMHg2MiwgMHgzNiwgMHg4OSwgMHg3YiwgMHg2OCwgMHhlMCwgMHhmZCwgMHg3ZCwKKyAgMHhmZiwgMHhmMywgMHg0NywgMHg4YSwgMHhjZiwgMHg0MSwgMHgwMSwgMHg0YSwgMHhmZiwgMHgxOSwgMHg3NCwgMHhhZCwKKyAgMHg4ZCwgMHg2OCwgMHg4MCwgMHhmNCwgMHg5YywgMHhmOSwgMHhhOSwgMHg3ZCwgMHhiNCwgMHhhNywgMHg3ZiwgMHgwNCwKKyAgMHhhNSwgMHgyYSwgMHgzZCwgMHhhNiwgMHgzYywgMHg4NSwgMHhiNiwgMHhiMywgMHhkYSwgMHg3OSwgMHgwMiwgMHg5YiwKKyAgMHgxZSwgMHhjZiwgMHg0ZiwgMHgxZCwgMHhjYiwgMHgyYywgMHg5ZiwgMHg3OSwgMHg0YSwgMHg4MywgMHgxYywgMHhjNiwKKyAgMHhiMSwgMHg0NCwgMHhiOCwgMHgzNywgMHhkMSwgMHgyYywgMHgzNSwgMHhlYSwgMHg0MywgMHhhMiwgMHhkNywgMHgyMiwKKyAgMHg3ZSwgMHgyNywgMHg0ZSwgMHgzZSwgMHgxNCwgMHg3MiwgMHhiMywgMHg2ZCwgMHg2YywgMHhkMSwgMHhjNCwgMHg4ZiwKKyAgMHg0OSwgMHgxYiwgMHhlNywgMHg2OCwgMHgyZSwgMHhjYywgMHgwNiwgMHg1YSwgMHg3MCwgMHhlOSwgMHg5NCwgMHhjZCwKKyAgMHhkZSwgMHhhZiwgMHhiZCwgMHgyNywgMHgyZiwgMHg0NiwgMHg0ZiwgMHg1YSwgMHhmNywgMHhhNCwgMHg5OSwgMHgyZiwKKyAgMHg4NiwgMHgzNywgMHg5MywgMHg3YiwgMHhjMiwgMHg1NSwgMHhlNywgMHgyNywgMHg2ZiwgMHg5MCwgMHhhZSwgMHhhMywKKyAgMHhlYywgMHgwNiwgMHg2ZCwgMHhhNCwgMHgzNCwgMHg3MiwgMHg0MCwgMHhiMiwgMHg4YSwgMHhkZCwgMHhiYiwgMHg1NywKKyAgMHhjMCwgMHhiNSwgMHgwZCwgMHhlYiwgMHg0NSwgMHgyMiwgMHg5MSwgMHgxOSwgMHg1YiwgMHhlZiwgMHgyZSwgMHg4ZSwKKyAgMHgxYSwgMHg4YiwgMHhkNywgMHg2OSwgMHg0NiwgMHg0NCwgMHgwNCwgMHg4MiwgMHhmMCwgMHgyYSwgMHhlNiwgMHg3OSwKKyAgMHhiNCwgMHgzMiwgMHg1MSwgMHhiMywgMHhmOCwgMHhiMywgMHhkYiwgMHg2YywgMHhiYSwgMHg0MiwgMHg2YSwgMHgwMSwKKyAgMHgyOSwgMHhmNiwgMHgwNCwgMHg4MCwgMHhiNywgMHgzZSwgMHhlNiwgMHhlMSwgMHhjNSwgMHgzOSwgMHgyNCwgMHhiMiwKKyAgMHg2MSwgMHg3ZSwgMHhkMCwgMHhkZCwgMHgwYywgMHg5YiwgMHg0YywgMHhhNSwgMHg4YiwgMHhlNywgMHhkNSwgMHgwNywKKyAgMHgxZSwgMHg0ZiwgMHhjZSwgMHgwNSwgMHhjNywgMHhlZiwgMHhkYSwgMHhiZiwgMHgwYSwgMHhjMiwgMHhmYiwgMHgyOCwKKyAgMHhmMiwgMHgyMSwgMHg2NSwgMHhjNiwgMHhkMCwgMHg1MywgMHg3ZSwgMHg1OSwgMHhiMCwgMHhiYSwgMHhmOCwgMHgyNiwKKyAgMHg5ZiwgMHg1NiwgMHg2NSwgMHg1ZCwgMHg1ZSwgMHg0OCwgMHhmOSwgMHg5OCwgMHgzMywgMHg2ZCwgMHg4ZiwgMHg4ZiwKKyAgMHhjNywgMHhjOSwgMHg0ZCwgMHgzNiwgMHhkMSwgMHg5YSwgMHhmZSwgMHg1MSwgMHhlOCwgMHhmZiwgMHg2NywgMHgyZSwKKyAgMHg0MiwgMHg1MSwgMHhhZCwgMHgyYSwgMHhjZiwgMHgxYSwgMHhkYSwgMHgzNSwgMHg4ZCwgMHg2MywgMHgxMywgMHhjMCwKKyAgMHgxZCwgMHhkYSwgMHg2YSwgMHgwYSwgMHhmZSwgMHgxMywgMHg2YywgMHgyZiwgMHg2YSwgMHg0YywgMHgzYywgMHg4NywKKyAgMHg2OCwgMHg1YSwgMHg2NiwgMHg2NSwgMHgyNCwgMHg5NywgMHg4MSwgMHgyNywgMHhhMCwgMHg2MiwgMHg0NSwgMHhmYSwKKyAgMHg2MiwgMHg5MywgMHhmZSwgMHgzNSwgMHg0OSwgMHg2OSwgMHg0YSwgMHg2YywgMHgwNSwgMHhlNCwgMHhlOCwgMHg4NSwKKyAgMHg0ZSwgMHhkYSwgMHhhNSwgMHg3OCwgMHhjMywgMHgzZSwgMHg5MiwgMHg5YiwgMHgzMywgMHgyOCwgMHhiNiwgMHhiMywKKyAgMHgxOSwgMHhmMSwgMHhiNiwgMHgzMiwgMHg0MSwgMHg1ZCwgMHhhZSwgMHhjNSwgMHhhYywgMHhhYywgMHg5MCwgMHgzZiwKKyAgMHhlNiwgMHhmNSwgMHg2MywgMHhhMywgMHhjNiwgMHhjNSwgMHhhYiwgMHg4YSwgMHhkYywgMHhmYywgMHgwMCwgMHg1ZiwKKyAgMHgwZSwgMHhmOSwgMHhlOSwgMHhjZCwgMHg1NSwgMHhjOSwgMHhlZCwgMHgyYiwgMHhiMSwgMHhjZCwgMHg0ZSwgMHg2NywKKyAgMHg0MywgMHg1ZCwgMHhhMiwgMHg3NCwgMHhmYywgMHgwMSwgMHg1NywgMHg3MCwgMHhmMiwgMHhjNiwgMHgzZiwgMHhhOCwKKyAgMHgyOCwgMHg1MCwgMHhhYiwgMHg5YywgMHg4NywgMHgyYiwgMHg4OCwgMHg5NywgMHhmYywgMHg5MiwgMHg1NywgMHhmOSwKKyAgMHg2NSwgMHg1ZiwgMHg3MywgMHg2ZSwgMHhiOCwgMHhmYywgMHgwMCwgMHg0YywgMHhlMywgMHgxNCwgMHgyMywgMHhjYywKKyAgMHg0OCwgMHg4NCwgMHg2NiwgMHhjNSwgMHhiNywgMHgzNCwgMHg2OCwgMHgzOCwgMHg0ZiwgMHhmZiwgMHgwYSwgMHg5ZCwKKyAgMHhlNywgMHgzZCwgMHhkNCwgMHhmNywgMHgxYiwgMHg4NywgMHgwMSwgMHhhZCwgMHhlZiwgMHhjMiwgMHg5YiwgMHg4YiwKKyAgMHhiZCwgMHgwMiwgMHg1ZSwgMHgwYiwgMHgxNCwgMHhhNywgMHhiMiwgMHhiYiwgMHhjOCwgMHg3OSwgMHgwMCwgMHg5ZiwKKyAgMHg3MywgMHg5ZiwgMHhiZSwgMHgxZSwgMHgwZiwgMHhiMiwgMHg2OCwgMHgxNCwgMHgzMiwgMHg5MiwgMHg0YiwgMHhlNCwKKyAgMHgwNSwgMHhkMiwgMHhlNSwgMHhkZiwgMHgzMywgMHgxYywgMHg0ZiwgMHgzYiwgMHg0YSwgMHhlOSwgMHg1ZiwgMHhkZCwKKyAgMHg5MiwgMHg3ZSwgMHhiMCwgMHgzNywgMHg5YywgMHg2NCwgMHgyOSwgMHhmNSwgMHg4NywgMHg3YiwgMHhkOSwgMHg5MCwKKyAgMHhjMiwgMHhiNCwgMHhhZSwgMHgwYSwgMHg4ZSwgMHg0YiwgMHgxMiwgMHgxMiwgMHg0ZCwgMHg5YywgMHhmNCwgMHhhYSwKKyAgMHhlMSwgMHhiZSwgMHhlMiwgMHgyMSwgMHhjZSwgMHhhMSwgMHg3MiwgMHhkMSwgMHgwOSwgMHg5ZiwgMHgxZSwgMHhiYywKKyAgMHgzZiwgMHhmZiwgMHgyNiwgMHhkOSwgMHgwYiwgMHgzYSwgMHgwNSwgMHgyOSwgMHhjYSwgMHg0MywgMHg4NywgMHgzMSwKKyAgMHg5YywgMHg3NywgMHhjNywgMHhkMCwgMHgzMywgMHg0NCwgMHhiNCwgMHhjNywgMHg0OCwgMHhkNCwgMHhiZiwgMHhhZCwKKyAgMHg4YSwgMHg2OSwgMHhkNCwgMHhjOSwgMHhjMCwgMHgzZCwgMHhkZCwgMHgwNCwgMHgwYywgMHg4NSwgMHgzNSwgMHgyOSwKKyAgMHg5NiwgMHhjMywgMHg1MiwgMHg1ZiwgMHhkMiwgMHg0YSwgMHg5MCwgMHhmNywgMHhmYiwgMHgxNCwgMHgwZSwgMHg4NywKKyAgMHg2MSwgMHg3OCwgMHhkMywgMHg0YywgMHhkYywgMHgwNSwgMHhjZiwgMHg3YiwgMHgxYiwgMHhlNiwgMHgwNSwgMHg5MywKKyAgMHgxNSwgMHgwOCwgMHgzNCwgMHg4ZCwgMHg3NywgMHhhMywgMHgyNSwgMHgxYywgMHgxOSwgMHgzMCwgMHg3YywgMHhiNSwKKyAgMHg2YywgMHg4NywgMHg3MSwgMHhhOCwgMHhiMywgMHhlZiwgMHg1ZSwgMHgxZiwgMHg3NiwgMHg4NiwgMHg3YiwgMHhmNiwKKyAgMHhmYywgMHhlOSwgMHhhMywgMHg0ZiwgMHg5OCwgMHg2NywgMHg1OSwgMHhkMiwgMHg3YSwgMHhjNCwgMHgzMiwgMHg4YiwKKyAgMHg0MiwgMHg3ZiwgMHg3ZCwgMHg1ZiwgMHg1MSwgMHhmZCwgMHhiZCwgMHhiYSwgMHg4YSwgMHg0YSwgMHg3OSwgMHhjOCwKKyAgMHg0NywgMHgwNywgMHhhOSwgMHg5YiwgMHgxOSwgMHgyNSwgMHhkYywgMHg2OSwgMHg0NywgMHg0ZCwgMHg1YSwgMHgyMCwKKyAgMHgyYiwgMHhmZCwgMHhmZiwgMHhmOSwgMHhjZiwgMHhkMCwgMHhiYSwgMHhmYiwgMHhlYiwgMHg0ZiwgMHg4OCwgMHhlOCwKKyAgMHhhMCwgMHgyZiwgMHhhZiwgMHgyZCwgMHhkNCwgMHg1MCwgMHg1ZSwgMHg1MywgMHhiNywgMHg3OCwgMHhkOSwgMHhkZiwKKyAgMHg1NywgMHhhNSwgMHhhNCwgMHgyMCwgMHg0OCwgMHg1OCwgMHhhMSwgMHhhZiwgMHhjZCwgMHgxNiwgMHgyYywgMHg4MCwKKyAgMHhjZCwgMHhkZiwgMHg2ZiwgMHhkYSwgMHg1NiwgMHg3YiwgMHhlYywgMHhjZiwgMHg5NCwgMHg2NCwgMHg1ZCwgMHg5MSwKKyAgMHhhZiwgMHgzMiwgMHg2ZiwgMHgzZCwgMHhmMCwgMHg4YSwgMHhhOCwgMHgyYSwgMHhmMCwgMHg5OSwgMHg1OSwgMHgwNSwKKyAgMHg0MiwgMHg3NywgMHg0YiwgMHg3YSwgMHhjZiwgMHg3OSwgMHhjNSwgMHgzZiwgMHhkYSwgMHgyMiwgMHg0ZSwgMHhlMSwKKyAgMHgwOSwgMHgyZiwgMHg1NCwgMHg1MywgMHhhMywgMHg1OSwgMHgwNiwgMHhiYywgMHgxYiwgMHgyOSwgMHhhMCwgMHgxOSwKKyAgMHg5NCwgMHhjMiwgMHgxMSwgMHgwMywgMHgzNiwgMHhlNCwgMHg0NSwgMHg4ZiwgMHhhNywgMHg3YSwgMHg0MywgMHhmMiwKKyAgMHhjNSwgMHhmZSwgMHhkMywgMHg5YywgMHhkNiwgMHhhMCwgMHhiOSwgMHgyOSwgMHhmZiwgMHhlOSwgMHhiYiwgMHhhNCwKKyAgMHgzNywgMHhjYywgMHg0OSwgMHgyNSwgMHgxYiwgMHhiNCwgMHg4NCwgMHgwZiwgMHhiZiwgMHhkZiwgMHhhNSwgMHg4YSwKKyAgMHhjNSwgMHg4ZCwgMHhjZiwgMHg0MiwgMHhlMiwgMHg1YywgMHhhMSwgMHgzNCwgMHg5MiwgMHg0OSwgMHhjMCwgMHgyYSwKKyAgMHg1NSwgMHhlYiwgMHhlMCwgMHhjOCwgMHhlZCwgMHgyNywgMHgwOSwgMHg2MywgMHg2MSwgMHg0MCwgMHhhYSwgMHhlNiwKKyAgMHgzZiwgMHg0NywgMHhmNCwgMHhlNywgMHg1ZiwgMHg3NywgMHg4NywgMHg0ZiwgMHg3ZiwgMHg3MiwgMHg5ZiwgMHhmZCwKKyAgMHhmZCwgMHhlZSwgMHg4NywgMHhkZiwgMHhlZiwgMHg2ZCwgMHhjNCwgMHg0YSwgMHg1MiwgMHgzZCwgMHhiYywgMHgxMywKKyAgMHgyZiwgMHgyNywgMHg5NSwgMHhmNCwgMHhlMCwgMHhlMiwgMHg0ZSwgMHgwYSwgMHg3MywgMHgyNCwgMHhhNiwgMHhlYywKKyAgMHhiYSwgMHhmYiwgMHg5YSwgMHg2ZCwgMHg4YSwgMHg3NSwgMHhiOSwgMHgyNSwgMHg0ZiwgMHg2NSwgMHg0NywgMHhiYiwKKyAgMHhkNSwgMHgwNiwgMHhiZiwgMHhjYSwgMHg0OSwgMHg2ZSwgMHg0YSwgMHg3ZSwgMHg1OSwgMHhiYywgMHg2OCwgMHgwMiwKKyAgMHg2NSwgMHgyYywgMHgxNSwgMHgyMywgMHgwMSwgMHgwNywgMHgyZCwgMHgzMiwgMHhhNywgMHhlMywgMHgyMSwgMHgzMywKKyAgMHhhYiwgMHg3MSwgMHhiMCwgMHg0MiwgMHhlMSwgMHg3ZSwgMHg0OCwgMHgyMiwgMHg5YywgMHg5MSwgMHg4MiwgMHg2OSwKKyAgMHhkMiwgMHgwYSwgMHgxNywgMHgxOCwgMHg2YiwgMHg3MSwgMHg2MiwgMHg3ZiwgMHg1MiwgMHg2NCwgMHg0MSwgMHhhOSwKKyAgMHhhOCwgMHhiNiwgMHg4MiwgMHgxMywgMHg3YywgMHg0ZiwgMHhkNywgMHg0NywgMHhkOCwgMHhiYywgMHg2OSwgMHgxMywKKyAgMHgxNSwgMHgyNCwgMHg3ZSwgMHg4OSwgMHhkOSwgMHg2YiwgMHhiYywgMHgxNSwgMHgxYywgMHgyMCwgMHhjOCwgMHgzNSwKKyAgMHhmYiwgMHgxYiwgMHhhNSwgMHhlZCwgMHg1OCwgMHhhZiwgMHgzNiwgMHgwYiwgMHgyMiwgMHgzMywgMHg1MiwgMHg1ZSwKKyAgMHhiYiwgMHg2OCwgMHgxYiwgMHg3ZSwgMHhhNiwgMHg1NywgMHg4MiwgMHgyNCwgMHgwZSwgMHhiNywgMHg5NywgMHg4ZCwKKyAgMHhlMiwgMHgxMiwgMHhhNCwgMHgxMywgMHhlYSwgMHhiZSwgMHhkYiwgMHg2YSwgMHg2NywgMHg0OCwgMHhmYiwgMHgwMSwKKyAgMHg0OSwgMHgzNSwgMHg3MSwgMHgwMCwgMHg3YiwgMHg2OSwgMHhkZCwgMHhiMywgMHgyMSwgMHhmZSwgMHg1NiwgMHg3OCwKKyAgMHg5YiwgMHgyMCwgMHgxYiwgMHg4NSwgMHhjZCwgMHg1OSwgMHgyMywgMHgwYSwgMHg5OSwgMHg5MSwgMHg1MiwgMHhiZSwKKyAgMHg3MCwgMHg5MywgMHgwZCwgMHgzZCwgMHgzMCwgMHgwMCwgMHg2MCwgMHgwZiwgMHhlMCwgMHhhNywgMHg1ZSwgMHg0ZSwKKyAgMHhhMywgMHgwNCwgMHg3MiwgMHg4NywgMHg0MSwgMHhmNCwgMHhkOSwgMHgxMCwgMHhkMSwgMHhlYywgMHhjZSwgMHhmMCwKKyAgMHg0ZSwgMHgwNiwgMHhiMywgMHhiNiwgMHhkMCwgMHhiOCwgMHhlYSwgMHg1NiwgMHgxMCwgMHhkNiwgMHg2NCwgMHhlOCwKKyAgMHg2YywgMHg3MywgMHhiOCwgMHg5OSwgMHg2YywgMHg1MSwgMHg5NywgMHg2OSwgMHhiNiwgMHgwNiwgMHg5MywgMHg1OSwKKyAgMHg1YSwgMHg1ZiwgMHg2ZCwgMHhjNywgMHhmYywgMHhjZSwgMHhjZSwgMHhkNSwgMHhlYiwgMHhmOCwgMHg5YSwgMHg3NCwKKyAgMHgyMywgMHg4MiwgMHhhMCwgMHg2NSwgMHg4NiwgMHhiNiwgMHg0ZSwgMHhjNiwgMHg5ZiwgMHgzMiwgMHg5MiwgMHgxMCwKKyAgMHhhNSwgMHg4NSwgMHgwZSwgMHg2ZCwgMHhlZSwgMHg0MCwgMHhlYiwgMHgyNywgMHg1NCwgMHhjOSwgMHhjOSwgMHgzZiwKKyAgMHhmZCwgMHg3NywgMHg3ZSwgMHgzNiwgMHgyYywgMHhlMiwgMHgzNywgMHg0ZiwgMHg3MiwgMHg1ZSwgMHhkZiwgMHg5MCwKKyAgMHg0YiwgMHhkZSwgMHg5YywgMHhlOCwgMHgyNSwgMHgwZCwgMHg3ZSwgMHgzZSwgMHhjZiwgMHhlNiwgMHhjMywgMHg3YywKKyAgMHhiMSwgMHhjOCwgMHg2NiwgMHg5MSwgMHhlNCwgMHgzNywgMHhhNCwgMHg3ZSwgMHhhMSwgMHhjNSwgMHg3MiwgMHhhMiwKKyAgMHhjZiwgMHgzYSwgMHhlNywgMHg0YiwgMHgzYiwgMHg0NSwgMHg1YywgMHhlMiwgMHgwOCwgMHgxYSwgMHhmNSwgMHg4YiwKKyAgMHg0MywgMHhkOCwgMHg0YSwgMHg1OCwgMHg0MCwgMHgzOCwgMHhhZiwgMHgyMCwgMHgxMiwgMHgzMSwgMHgwMCwgMHgxMCwKKyAgMHgwNSwgMHgxOCwgMHhlMSwgMHg3YywgMHg1YiwgMHgyZCwgMHhiOSwgMHg3MiwgMHhkYiwgMHhlZiwgMHg5ZiwgMHg2MSwKKyAgMHg5OCwgMHhhYiwgMHhmOSwgMHhmZSwgMHgzMCwgMHhmNCwgMHgwNSwgMHg5OSwgMHhmOSwgMHgxMCwgMHgzMCwgMHgxYywKKyAgMHgxOSwgMHg4NCwgMHgzZSwgMHhiZSwgMHhkMSwgMHg0ZCwgMHhjYSwgMHgxOCwgMHg2ZiwgMHgwZSwgMHgwYywgMHg4YSwKKyAgMHhmMCwgMHg0MSwgMHg5YywgMHhkYiwgMHg4OCwgMHhjNSwgMHg3MiwgMHg3NywgMHgzOCwgMHhkOCwgMHg1YSwgMHhjNCwKKyAgMHg1NiwgMHg0NCwgMHg2MCwgMHhkYywgMHg5MiwgMHhhYywgMHg0MywgMHhlMCwgMHhhMywgMHhlNiwgMHhlZSwgMHhlOSwKKyAgMHg1YywgMHg2OSwgMHhlYywgMHhiYiwgMHhkNCwgMHg3YiwgMHg0ZCwgMHg5NiwgMHhmZiwgMHgzMSwgMHhmMCwgMHhmNiwKKyAgMHg1NywgMHg0ZCwgMHgxNywgMHhkZCwgMHhlZSwgMHg0NSwgMHg3YSwgMHhkYiwgMHg3NiwgMHhhNywgMHg3NSwgMHgxMCwKKyAgMHg5ZCwgMHhmZCwgMHgwNywgMHhhMywgMHhjOSwgMHg3OCwgMHg2OSwgMHhmZCwgMHg5MSwgMHg3MywgMHgxNiwgMHg2NiwKKyAgMHg2NSwgMHhmNCwgMHg2MCwgMHg1OCwgMHgzMCwgMHhiNiwgMHgyNywgMHhiMSwgMHgwZSwgMHgwOSwgMHg5ZSwgMHhiYywKKyAgMHgwNSwgMHg1NSwgMHgzOSwgMHhhZiwgMHgyNSwgMHhkNSwgMHg4MCwgMHhhYiwgMHgxZCwgMHgyYywgMHgyZSwgMHg4NywKKyAgMHhiNywgMHg3MSwgMHhmYywgMHhjOSwgMHgzYSwgMHhhNywgMHgyZCwgMHg0YSwgMHg4YiwgMHg0OCwgMHhiMiwgMHg3ZiwKKyAgMHgxZCwgMHg4OSwgMHhjNSwgMHg5MiwgMHhhYSwgMHhhMiwgMHhhNSwgMHhiNywgMHg4NiwgMHg2MCwgMHgyMiwgMHg4YSwKKyAgMHg0NiwgMHhjZiwgMHhiZSwgMHhhZCwgMHg2YiwgMHg5NSwgMHhkNCwgMHg3YSwgMHgzMCwgMHg5YSwgMHhkNSwgMHhjMywKKyAgMHhhYywgMHg0NSwgMHgwYSwgMHgwMiwgMHgwMSwgMHhiMSwgMHhlMiwgMHhkNiwgMHhjMSwgMHgwNCwgMHgyNSwgMHg4NywKKyAgMHg4MywgMHgyYSwgMHg1ZSwgMHhlYSwgMHg2YSwgMHhhOSwgMHg5ZCwgMHg2ZiwgMHgwMywgMHgzNywgMHhkYywgMHgyNSwKKyAgMHhjMSwgMHg4ZSwgMHg5MSwgMHhkYSwgMHg0OCwgMHhlMCwgMHgyYiwgMHg4NiwgMHhjNywgMHgxNSwgMHg5MSwgMHg0YSwKKyAgMHhmMywgMHgzNSwgMHg1ZCwgMHg5ZCwgMHgyOCwgMHgzMywgMHgyMiwgMHg3OSwgMHhiOSwgMHhiYywgMHhhYSwgMHg4YywKKyAgMHg1ZCwgMHgxNiwgMHg1NiwgMHhiMCwgMHg4ZSwgMHhiZiwgMHg0OSwgMHhlMCwgMHgyMywgMHhhNSwgMHhjZSwgMHhhYywKKyAgMHhmYywgMHg4YywgMHg2NSwgMHhjMiwgMHgxZSwgMHg5MCwgMHhmMSwgMHgyNywgMHhjNCwgMHhkZSwgMHhhNSwgMHhkNCwKKyAgMHhiYywgMHg2MSwgMHg1YSwgMHgwZiwgMHgwMywgMHhlYSwgMHgzOCwgMHhlZiwgMHgwMiwgMHg3YiwgMHg5MCwgMHg5YiwKKyAgMHg4MCwgMHg1MiwgMHhjMiwgMHgyOSwgMHg1MywgMHhhMSwgMHgyMCwgMHg3MCwgMHgzNywgMHg0MywgMHgxYywgMHgzYiwKKyAgMHhhMywgMHhkMSwgMHgwZSwgMHhhOSwgMHgwNSwgMHgzYiwgMHhlNiwgMHgzZiwgMHg5YSwgMHgxNiwgMHg5NSwgMHg3MCwKKyAgMHgwNSwgMHg0MywgMHhiNywgMHgyMywgMHgyZSwgMHgyNSwgMHg1YSwgMHhkMCwgMHhjNywgMHg4MCwgMHhjMywgMHgyNSwKKyAgMHhkZCwgMHhlMywgMHhiZCwgMHgxZSwgMHhhMywgMHg3ZiwgMHg1ZiwgMHgyMSwgMHhhZCwgMHhiZiwgMHgzMiwgMHg5NiwKKyAgMHg1ZSwgMHgwNSwgMHhiYywgMHg5OCwgMHg2YywgMHhlMSwgMHgyOSwgMHhhZSwgMHg2MSwgMHg3YSwgMHhhZiwgMHgwNCwKKyAgMHgyYiwgMHg2YiwgMHhjMSwgMHhhMiwgMHhkMiwgMHhiNiwgMHhhNywgMHgwZSwgMHg3MSwgMHg5ZiwgMHhmZCwgMHhhMiwKKyAgMHhiNCwgMHg4OCwgMHhiYywgMHg1MSwgMHgwNCwgMHg1MCwgMHg4MCwgMHgwOSwgMHhhNSwgMHg2YiwgMHgzZCwgMHgyZCwKKyAgMHg0ZiwgMHhmNiwgMHgzYSwgMHhjNywgMHg5NywgMHg5YiwgMHgwMywgMHg5ZiwgMHgxOSwgMHhhYiwgMHgxNSwgMHhjMCwKKyAgMHhlMSwgMHg5NCwgMHhkNywgMHgxYywgMHg1NiwgMHg0NiwgMHhiMiwgMHg5YiwgMHhiYiwgMHg5ZCwgMHhkMSwgMHhjMiwKKyAgMHgxYSwgMHgyMywgMHhlYiwgMHgxMCwgMHhkNiwgMHgwMCwgMHg1MCwgMHhlYiwgMHgxNywgMHhlMCwgMHhkNCwgMHg5MiwKKyAgMHgxYiwgMHhiNSwgMHgxNSwgMHhlOCwgMHhhZiwgMHhmYywgMHg5MSwgMHg2ZCwgMHhkNiwgMHhkNiwgMHhhNSwgMHhmMiwKKyAgMHgwMSwgMHgwNCwgMHg5MSwgMHhiMSwgMHg0YSwgMHg5OSwgMHgyYiwgMHgwZiwgMHg0MywgMHhkZiwgMHhmMywgMHg0NiwKKyAgMHgwYywgMHg2YiwgMHg4YywgMHgxNiwgMHhmMywgMHg0NywgMHg1YSwgMHg2ZiwgMHhhMCwgMHhmNSwgMHg2MSwgMHhiYSwKKyAgMHhhZSwgMHhiYiwgMHhiNCwgMHg2NiwgMHhjMiwgMHg1ZSwgMHgzNywgMHhmYiwgMHhmZSwgMHhlYSwgMHhlOCwgMHg5ZCwKKyAgMHgxOCwgMHgwZCwgMHgwMCwgMHhhMywgMHgyMSwgMHhlZCwgMHg4YSwgMHgxNSwgMHhhYSwgMHgwMCwgMHhlYywgMHgxZiwKKyAgMHgyZSwgMHg4NiwgMHg2NywgMHg0ZiwgMHhlMCwgMHgwOCwgMHhhMCwgMHg3ZCwgMHhhYiwgMHhhZiwgMHhkMiwgMHhiZCwKKyAgMHhhNywgMHhjZiwgMHg2NCwgMHhkYSwgMHg4YSwgMHhjNCwgMHgwOSwgMHgwNSwgMHg3OSwgMHg5MywgMHg3ZiwgMHhiNSwKKyAgMHhiMywgMHhjMywgMHgyOSwgMHg0OCwgMHhlNCwgMHgzNiwgMHgwYSwgMHg2NCwgMHgyZiwgMHgzYywgMHhiOCwgMHhmNCwKKyAgMHhlYywgMHg5ZiwgMHgzNiwgMHhhMywgMHhjOSwgMHhjNywgMHg2YSwgMHg1MiwgMHhiMiwgMHg2MywgMHg4ZCwgMHgwMiwKKyAgMHg3YSwgMHg0OCwgMHg5MCwgMHhmNiwgMHgxYiwgMHgzZSwgMHgwZCwgMHhiYSwgMHhlZCwgMHgzYywgMHgxOSwgMHg1OCwKKyAgMHgyOSwgMHg1ZCwgMHhkNywgMHgwYiwgMHg0OSwgMHhmMCwgMHhhYiwgMHhhMCwgMHg1ZiwgMHgxMywgMHg3YiwgMHg1MCwKKyAgMHg0YywgMHgwYSwgMHhjMiwgMHgwNSwgMHhmNywgMHhmNywgMHg4NywgMHhmYywgMHg1NSwgMHgwZCwgMHhmYywgMHhiZCwKKyAgMHg0MSwgMHgyMSwgMHgyMywgMHgyNywgMHgxMiwgMHhkMywgMHg2OSwgMHg3OCwgMHgwMywgMHg0YiwgMHg0NiwgMHg3ZCwKKyAgMHhjZSwgMHhjMSwgMHgyMCwgMHgxMCwgMHg5ZSwgMHg0NiwgMHhiMiwgMHhkOSwgMHg1NywgMHg4YSwgMHg5OSwgMHg5YSwKKyAgMHgyZiwgMHgwNCwgMHhiOSwgMHg1ZiwgMHg0YSwgMHgxNywgMHgxNiwgMHhjMywgMHgxYiwgMHhmYywgMHhjOCwgMHg0YiwKKyAgMHhiOSwgMHg3NiwgMHhiNywgMHg4NSwgMHhjYiwgMHhmMywgMHhkYiwgMHgxMCwgMHg3NywgMHg4MSwgMHg1ZCwgMHhkMCwKKyAgMHhlYSwgMHgxOSwgMHg2MSwgMHhjYiwgMHhmNCwgMHgzOSwgMHhjNCwgMHg3NSwgMHg4NywgMHg1OCwgMHg3YSwgMHg3MCwKKyAgMHgwZiwgMHgwYywgMHgyOSwgMHhlYywgMHgxMCwgMHgxZCwgMHg4OCwgMHgxYiwgMHgyMCwgMHg2OCwgMHhjZSwgMHg0NCwKKyAgMHg5MSwgMHhiYiwgMHgxNywgMHhhMywgMHg0NywgMHhmYiwgMHg4YSwgMHhmNywgMHgzZSwgMHg0OCwgMHhiZSwgMHgyZSwKKyAgMHg1NiwgMHg3NCwgMHgyNCwgMHhiNCwgMHhlYSwgMHhhZiwgMHhjNywgMHhkZiwgMHgwNiwgMHg2NSwgMHhhYiwgMHhmNCwKKyAgMHhjNiwgMHg5MywgMHhjNywgMHhmNCwgMHhjNiwgMHhkYiwgMHgzMSwgMHgzZiwgMHg3NSwgMHg1MywgMHhjZSwgMHgyZiwKKyAgMHhjYywgMHg5YiwgMHhiMSwgMHhlNywgMHg5ZSwgMHhkMywgMHg3MywgMHg4NiwgMHhlMiwgMHg2NiwgMHg4ZCwgMHhiOSwKKyAgMHg0NywgMHg0MiwgMHg1NCwgMHg2YiwgMHg2NiwgMHhmMiwgMHhlNCwgMHg0OSwgMHg2NCwgMHgyNiwgMHg4MywgMHg5ZiwKKyAgMHhmZCwgMHhhMSwgMHg1MywgMHhjOCwgMHg3NSwgMHgyMiwgMHgyOCwgMHg2YSwgMHg2YSwgMHgwOCwgMHhjYSwgMHg0MSwKKyAgMHg0MSwgMHg4ZiwgMHg2ZCwgMHg1ZiwgMHhmMCwgMHgyOSwgMHg5OSwgMHgyZiwgMHhhMywgMHgxNywgMHgzZCwgMHhhNCwKKyAgMHhlMywgMHg2OSwgMHgwNSwgMHgxNCwgMHhkNiwgMHgwNiwgMHg0OCwgMHgzNCwgMHhjZiwgMHhmNywgMHgxZSwgMHhlZiwKKyAgMHhlZSwgMHgzYywgMHgxYiwgMHgzZCwgMHgxOSwgMHhlZCwgMHhkOSwgMHgwNCwgMHg1YiwgMHg0NiwgMHg2OSwgMHg2OCwKKyAgMHg5MCwgMHhjZiwgMHgxNCwgMHgwOSwgMHgyNCwgMHgyMSwgMHhiNSwgMHgyYywgMHgyZiwgMHgwNCwgMHg4NiwgMHhjOSwKKyAgMHhmZSwgMHgwNCwgMHgxZSwgMHg1OCwgMHg5NywgMHg1YSwgMHg0NywgMHhjMCwgMHg0YywgMHhiYiwgMHg3ZSwgMHhhNSwKKyAgMHg2NiwgMHhhYywgMHgwMywgMHgzOCwgMHhmNSwgMHhlZCwgMHhhNSwgMHg0OSwgMHg4OCwgMHhkMywgMHg3MCwgMHg1NSwKKyAgMHg2MSwgMHgwNywgMHgyNiwgMHhmOSwgMHhkZiwgMHg1NywgMHg3OSwgMHg2MywgMHg1NCwgMHgwMCwgMHhlMiwgMHgyOCwKKyAgMHhlNCwgMHgwOCwgMHhkNSwgMHgwNiwgMHgyZSwgMHg2MiwgMHgzNiwgMHg3MCwgMHhiYSwgMHgwOSwgMHg1ZCwgMHg4OSwKKyAgMHgxOCwgMHg1NCwgMHg4YywgMHg2MCwgMHg0YywgMHg0MCwgMHg5NSwgMHg5YywgMHhiOCwgMHhmMCwgMHgxZiwgMHgxNywKKyAgMHg4NCwgMHhlNiwgMHg2MCwgMHg1ZiwgMHhkYywgMHgzYywgMHhhZCwgMHgzNiwgMHg5NiwgMHhjNCwgMHg5NCwgMHgzYSwKKyAgMHhmMiwgMHgxYSwgMHgxMywgMHhmYywgMHg5YSwgMHgyMiwgMHgzMCwgMHg2OSwgMHhkYywgMHhiYiwgMHhjMywgMHg2MCwKKyAgMHg4MiwgMHgxYywgMHg0MCwgMHg5MywgMHgyNCwgMHgyZiwgMHhkNywgMHg2MywgMHg0NSwgMHg3ZSwgMHhjMCwgMHg2NSwKKyAgMHg2MywgMHg1YSwgMHhiMiwgMHhjZiwgMHgxNSwgMHhhYSwgMHgwMSwgMHg3NywgMHhkMiwgMHg3ZCwgMHg2OCwgMHgwNywKKyAgMHgxYSwgMHgxOCwgMHhkMywgMHg5OSwgMHgzNCwgMHg1NiwgMHhhYSwgMHhkZCwgMHhlNCwgMHg2MCwgMHgxMSwgMHgwMywKKyAgMHhjYiwgMHg0MiwgMHhmNSwgMHhiMiwgMHgzNSwgMHhiOCwgMHgzMSwgMHg1NywgMHhlNiwgMHgzYSwgMHg1NywgMHg3NywKKyAgMHgxNCwgMHhiNCwgMHg4YSwgMHhmZiwgMHhkNSwgMHg4NiwgMHg2MCwgMHg1YywgMHhkYiwgMHhiMiwgMHhiOSwgMHhkYiwKKyAgMHhkOCwgMHg1YywgMHg0NiwgMHhmZCwgMHhjNSwgMHg1NCwgMHhmNiwgMHhmOCwgMHhkNywgMHhhNywgMHhiMiwgMHhiZCwKKyAgMHg4NywgMHg1MiwgMHg5OSwgMHg0NywgMHg2NiwgMHg5YywgMHg0NiwgMHhiMSwgMHg4NiwgMHhkMCwgMHhjYywgMHgxNiwKKyAgMHg2MiwgMHgxZCwgMHgzZCwgMHg1NCwgMHhlNiwgMHgxMSwgMHg5OSwgMHg4NywgMHg1YiwgMHhlMywgMHg5MywgMHg1OCwKKyAgMHg5YiwgMHhjNiwgMHgxYywgMHg5MSwgMHhmNSwgMHg1MSwgMHgxOSwgMHhjMywgMHg1YSwgMHgyOSwgMHg5ZCwgMHhkZCwKKyAgMHg0MywgMHg2OCwgMHhlYywgMHhiMSwgMHg1ZSwgMHg0ZiwgMHg2NSwgMHhlNywgMHg2ZCwgMHhiZSwgMHhiMiwgMHg4NiwKKyAgMHhjNiwgMHg3YywgMHg4MiwgMHg3OCwgMHgzMCwgMHg5NSwgMHgzOSwgMHhlZiwgMHgzMSwgMHhmMywgMHg5ZCwgMHhhNCwKKyAgMHg4NywgMHhkMCwgMHg3YywgMHgzYSwgMHg1MywgMHhkNSwgMHgyOCwgMHhhNCwgMHhiMiwgMHgxNywgMHgzMSwgMHgyYSwKKyAgMHg3YiwgMHhmYywgMHgxMCwgMHgyYSwgMHgzMywgMHhlNywgMHgzOSwgMHgyNywgMHg1OSwgMHhkOSwgMHhhMiwgMHhiMiwKKyAgMHgyNywgMHgzZiwgMHg4YiwgMHhjYSwgMHg5OCwgMHhjYywgMHg0MCwgMHg2NywgMHhiZCwgMHg4NCwgMHg0NiwgMHg0YiwKKyAgMHg2YSwgMHg5NywgMHg5ZCwgMHgxZiwgMHhmYywgMHhhYiwgMHhkYywgMHgyMiwgMHg2ZCwgMHgwZCwgMHgxYSwgMHgxNCwKKyAgMHg2MywgMHhmZiwgMHhiYywgMHgzMywgMHhlYywgMHg2YywgMHhmNSwgMHgwMywgMHg0ZSwgMHg2YywgMHhhZiwgMHg3ZCwKKyAgMHg2MiwgMHhiYiwgMHgzZiwgMHhlZiwgMHhjNCwgMHhmNiwgMHhiYSwgMHg5NiwgMHg0OSwgMHg5NSwgMHg3MSwgMHgwNCwKKyAgMHhlNCwgMHhhZiwgMHgxYSwgMHg4OSwgMHhkYSwgMHhkZiwgMHhkOSwgMHhmOSwgMHgwOSwgMHhjZSwgMHhiOSwgMHg3ZCwKKyAgMHg5MiwgMHg3ZCwgMHgzZiwgMHg3NSwgMHg1NSwgMHg3OCwgMHgwMSwgMHg4NiwgMHg3MywgMHhmYSwgMHhlYywgMHhmOCwKKyAgMHhmNCwgMHhmMCwgMHhkYiwgMHhiMSwgMHg4NCwgMHg1MSwgMHg0NCwgMHhlMSwgMHg1MCwgMHg4NSwgMHg4NCwgMHgwZCwKKyAgMHg3MCwgMHg4YSwgMHg5ZSwgMHg0YSwgMHg5YiwgMHhkMywgMHg0MCwgMHhjZCwgMHhlNSwgMHhhZSwgMHhlYSwgMHhjOSwKKyAgMHhmMCwgMHg3NiwgMHg2MCwgMHgwMywgMHgxYSwgMHgyMywgMHg0NiwgMHgzMywgMHg5MiwgMHhhYiwgMHgwMiwgMHg1MCwKKyAgMHgyMywgMHg4NiwgMHg2ZiwgMHg4NCwgMHgzZiwgMHg0YSwgMHg4NiwgMHhhZSwgMHhlMywgMHg4NiwgMHg5YSwgMHgzZiwKKyAgMHgxNywgMHhkYiwgMHhkNCwgMHhkOSwgMHhiZSwgMHhiMiwgMHhkNSwgMHg1YywgMHg1NSwgMHgyOCwgMHgwZiwgMHhjMywKKyAgMHg2MywgMHhkYiwgMHg4OSwgMHgyYiwgMHgzYiwgMHg1YSwgMHgzYiwgMHgzYiwgMHg5OSwgMHhkNSwgMHgzNywgMHgwMCwKKyAgMHg5NiwgMHg1ZiwgMHg1NiwgMHgxYSwgMHgxZiwgMHg4ZSwgMHgxOSwgMHhiOSwgMHhmNiwgMHhiNywgMHhlYSwgMHhiNiwKKyAgMHg4ZCwgMHhjMSwgMHhjNywgMHgwOCwgMHg0MiwgMHhhNCwgMHhiNywgMHhkZiwgMHhmNCwgMHg1ZSwgMHg5MCwgMHg4YywKKyAgMHg5YiwgMHhkZiwgMHhmYSwgMHhlMCwgMHg2YSwgMHg0NCwgMHgwNSwgMHg4NiwgMHhmOCwgMHgwYSwgMHgxNCwgMHg0YywKKyAgMHgyNSwgMHhmMiwgMHgxMSwgMHgzYiwgMHgwNiwgMHg2NywgMHg0MiwgMHg2NiwgMHhkYywgMHg1NCwgMHhhYiwgMHg3ZSwKKyAgMHg2MiwgMHg4NiwgMHhlYywgMHhmYSwgMHhmYiwgMHhmOCwgMHgxNywgMHgyOSwgMHhmZCwgMHg0NiwgMHhmZSwgMHhmMSwKKyAgMHg5NCwgMHgzZSwgMHg4YywgMHhmOCwgMHgzZiwgMHhmZiwgMHhmMywgMHgwYSwgMHhmZiwgMHhlNiwgMHg1YywgMHgxNywKKyAgMHg0NiwgMHgzZCwgMHhmNCwgMHhjZSwgMHg3OSwgMHgxYSwgMHhkZCwgMHg2OCwgMHg2NSwgMHhhNSwgMHhlYywgMHhkNiwKKyAgMHg2MiwgMHg4YywgMHg5NCwgMHhiNywgMHhhNSwgMHhhYiwgMHhjZCwgMHhmNSwgMHhkNywgMHg0YywgMHhiZSwgMHgyMSwKKyAgMHg0NiwgMHg5OCwgMHg4ZSwgMHhmOCwgMHg4NSwgMHgzYywgMHg0NiwgMHg4YywgMHg5MSwgMHg5ZiwgMHg0NCwgMHg4MywKKyAgMHg3OSwgMHhhYywgMHgzNSwgMHgzYiwgMHhkNCwgMHg2NiwgMHg0NSwgMHgyMCwgMHhmMSwgMHgzYiwgMHg3MSwgMHhiYSwKKyAgMHgwMCwgMHhiZSwgMHgxYywgMHhjMSwgMHg4MCwgMHhkMSwgMHhiYiwgMHhjMywgMHg1MiwgMHgwMSwgMHg2YSwgMHgzMiwKKyAgMHgyNSwgMHgzMywgMHhkZiwgMHg3ZCwgMHhmNCwgMHg3OSwgMHhlOCwgMHg5MiwgMHg3OCwgMHhhZiwgMHhiNSwgMHhiMSwKKyAgMHgwZSwgMHhiOCwgMHgxOCwgMHg0OSwgMHgzYSwgMHhhOCwgMHg1MiwgMHg5OSwgMHhiOCwgMHg4YSwgMHhiMCwgMHhkOCwKKyAgMHg0NywgMHgyMywgMHhlNSwgMHhiMywgMHhiMCwgMHg3ZCwgMHg2NywgMHgxOSwgMHg1YiwgMHg0YiwgMHgxMywgMHgzNiwKKyAgMHg3YiwgMHhjMywgMHhmMiwgMHgwNCwgMHhjMCwgMHgwMSwgMHhkNCwgMHg5MCwgMHg2YiwgMHgwMiwgMHhiOCwgMHgyZiwKKyAgMHhhOSwgMHgyNiwgMHgwMSwgMHg3ZiwgMHgyNywgMHgyNywgMHg4NiwgMHgwNiwgMHg0MCwgMHhiZiwgMHg3NCwgMHhiMCwKKyAgMHhhOCwgMHg3ZiwgMHg3OCwgMHhmMiwgMHg4OCwgMHhjZSwgMHg1NCwgMHgwNywgMHhhMSwgMHgzZSwgMHg3MywgMHhmMywKKyAgMHg1MiwgMHhhMCwgMHg2ZiwgMHhmZSwgMHhmMCwgMHgzOCwgMHgxZCwgMHhmZCwgMHg4NiwgMHgwOCwgMHg4NCwgMHg0ZiwKKyAgMHhkYiwgMHg1NiwgMHhmNCwgMHhlZiwgMHgwNywgMHg3ZSwgMHhiNiwgMHhkYSwgMHgyNCwgMHhhZCwgMHgyMiwgMHgzZSwKKyAgMHgxYiwgMHg5MSwgMHhkZCwgMHg4YSwgMHg1NiwgMHhhNCwgMHg1OCwgMHgzZiwgMHgzNiwgMHg4ZCwgMHgyZCwgMHg2NSwKKyAgMHgwMywgMHgxNiwgMHg1NSwgMHgzNSwgMHhmNiwgMHg4NywgMHg2NiwgMHhhOCwgMHgyNCwgMHhlYywgMHhkYywgMHg2NCwKKyAgMHhjMywgMHg0NiwgMHg5YywgMHhmNCwgMHhjMCwgMHg5ZSwgMHg4MiwgMHgwMSwgMHg3YiwgMHgxNiwgMHg1YiwgMHhhOSwKKyAgMHg3ZCwgMHgwMywgMHg0ZSwgMHg4ZSwgMHhlYiwgMHgyOSwgMHhkYiwgMHhiNSwgMHg1ZiwgMHhjMSwgMHg2NywgMHg2NiwKKyAgMHg1NSwgMHg3YSwgMHhlMywgMHhkOSwgMHhkMCwgMHg4YywgMHhmOSwgMHg3NiwgMHg4MSwgMHg5OCwgMHg5MCwgMHhjZCwKKyAgMHgwOCwgMHgzMiwgMHhiZiwgMHhhNywgMHhmYywgMHg4MCwgMHg5OCwgMHhmNiwgMHg1MSwgMHg0ZiwgMHhhYiwgMHg0YywKKyAgMHgwMiwgMHg3NSwgMHg4NCwgMHgxYSwgMHg4YywgMHg1YywgMHgwMCwgMHg4MiwgMHhkYiwgMHgzNSwgMHg5YSwgMHhjNywKKyAgMHg2NSwgMHhhNiwgMHgzNSwgMHhkOCwgMHg3NiwgMHhkNSwgMHgwYSwgMHhiMiwgMHgwMywgMHg2NCwgMHg5ZCwgMHg1MSwKKyAgMHhhYywgMHhiYywgMHhjMSwgMHhiOSwgMHhiMywgMHg2YywgMHhiNiwgMHgyMywgMHgyOSwgMHhiMSwgMHgwYywgMHhjNSwKKyAgMHg0MywgMHhhZiwgMHg2YiwgMHg0NSwgMHhiYywgMHhjNSwgMHgyYSwgMHg1ZSwgMHg1MiwgMHg0NywgMHhkOCwgMHhmYSwKKyAgMHgyYSwgMHg1ZiwgMHg3NiwgMHg0NSwgMHhmNCwgMHhmMCwgMHg4YiwgMHhmMiwgMHg4YiwgMHhlMSwgMHhiNiwgMHg5MCwKKyAgMHg3OCwgMHg3OSwgMHg5ZCwgMHhkNSwgMHhkYywgMHhkZSwgMHg5ZCwgMHhhNiwgMHg0YSwgMHhiOSwgMHgwMywgMHg1NywKKyAgMHg3MCwgMHhiMSwgMHg4OCwgMHhmMCwgMHg0MiwgMHhlMSwgMHgzNywgMHhhNSwgMHg2MSwgMHg0MywgMHgxYiwgMHg0MywKKyAgMHhmMCwgMHgyOSwgMHg2OCwgMHg1NSwgMHhjNiwgMHgxMywgMHhhYiwgMHgyOCwgMHg2ZCwgMHg0MCwgMHhmOCwgMHgxZCwKKyAgMHhiOSwgMHg2MywgMHhjYywgMHg1ZSwgMHg1ZCwgMHg3MCwgMHhhNiwgMHgyOCwgMHg4YSwgMHhjMywgMHgyOSwgMHhhNywKKyAgMHg0MiwgMHg3YSwgMHgxMiwgMHg3MCwgMHhiNCwgMHhhNSwgMHg1YywgMHhiNiwgMHg2NSwgMHgxMywgMHhlMSwgMHgwYywKKyAgMHgyOCwgMHg2ZiwgMHg3OCwgMHhhOSwgMHg2YywgMHhlNSwgMHhjZiwgMHhmNywgMHg1NiwgMHgxMSwgMHg1OSwgMHgwNiwKKyAgMHg3NCwgMHgyMSwgMHg0ZSwgMHgwYywgMHhiYSwgMHg3YywgMHhhOCwgMHgyYSwgMHhlMywgMHg1ZSwgMHgwNiwgMHhkMywKKyAgMHhhYiwgMHg2YywgMHgyMSwgMHgyZCwgMHhkZCwgMHg3YSwgMHgzMCwgMHgxOSwgMHg3YSwgMHgwMSwgMHgwYywgMHhkYSwKKyAgMHg3MywgMHhlMiwgMHgzNCwgMHhkYiwgMHg4YiwgMHg2NiwgMHgzOSwgMHg1YSwgMHg5NCwgMHhmZiwgMHgzMCwgMHg3YiwKKyAgMHg5YywgMHg1MiwgMHg4ZiwgMHhkOCwgMHhlMCwgMHg0YSwgMHg1MCwgMHhlOCwgMHhiMCwgMHhlMCwgMHg0MywgMHg2MSwKKyAgMHgzOCwgMHhiNCwgMHhjMiwgMHgxYSwgMHg5NiwgMHg4ZSwgMHg4NSwgMHgyYiwgMHhiNCwgMHgyMSwgMHhjMywgMHhlOSwKKyAgMHgxZCwgMHg5YSwgMHgxOSwgMHgxZiwgMHg3ZCwgMHg3OCwgMHhmZiwgMHg3NiwgMHhmYywgMHhmZSwgMHhhYywgMHg0YiwKKyAgMHhkOCwgMHg2NywgMHhhNywgMHhlZiwgMHhjZSwgMHg4ZiwgMHg1ZSwgMHg3ZCwgMHgzOCwgMHg3YiwgMHg3NywgMHg3YSwKKyAgMHg3ZSwgMHg3YSwgMHg3OCwgMHg3YSwgMHg5MiwgMHg2YywgMHhlZCwgMHg2ZSwgMHhhZiwgMHhhZCwgMHgxNSwgMHhiNSwKKyAgMHgyZSwgMHgwOCwgMHg4YiwgMHhjMiwgMHhlYywgMHg5YywgMHhiMSwgMHhjYywgMHhiMywgMHhlYywgMHgxNCwgMHhiNiwKKyAgMHg2OCwgMHgzZCwgMHhlMSwgMHg2OCwgMHhkZiwgMHgwYiwgMHg2ZCwgMHhiNSwgMHgxYSwgMHgxOSwgMHhjMCwgMHgwZiwKKyAgMHgwMSwgMHhlMSwgMHgwNiwgMHhhZSwgMHg5ZSwgMHgyNiwgMHg5NywgMHgyYiwgMHhiZSwgMHg4YywgMHg5MiwgMHg3OSwKKyAgMHhhMiwgMHg4NSwgMHg3NCwgMHg3NSwgMHgxMywgMHg4OCwgMHhhMiwgMHg0YywgMHhjMiwgMHhkZSwgMHg3ZSwgMHg5OSwKKyAgMHhlMSwgMHg1YSwgMHg3NywgMHhkYywgMHhkMywgMHhhZSwgMHhjZSwgMHg0MiwgMHg2NywgMHgwMCwgMHgwNSwgMHhjYywKKyAgMHg1MSwgMHg0NSwgMHgxZCwgMHgyNywgMHgwYiwgMHg0YiwgMHgxNywgMHgwYywgMHg0ZSwgMHg4NCwgMHg5ZSwgMHgwZSwKKyAgMHhmNiwgMHgxNSwgMHg3NCwgMHhiYywgMHg5MSwgMHhjOCwgMHg2MiwgMHg1OSwgMHg1OCwgMHg5NSwgMHg2ZSwgMHg5NCwKKyAgMHg5YywgMHg4NSwgMHg3ZCwgMHgwZiwgMHhlNSwgMHg4ZCwgMHg1OSwgMHg1NiwgMHg0OCwgMHhmZiwgMHg2ZCwgMHg5OSwKKyAgMHgwNywgMHhlMiwgMHhkMCwgMHhiNCwgMHhiZCwgMHg5MiwgMHgxZCwgMHg2MSwgMHgxZSwgMHhhMCwgMHhkZiwgMHg3YSwKKyAgMHg3YiwgMHg4NSwgMHhlMiwgMHhmNSwgMHgyYywgMHgwNCwgMHgyNywgMHhjNiwgMHhkYiwgMHg4YywgMHhkYiwgMHg3MywKKyAgMHhlMywgMHhjZCwgMHg4OSwgMHhjNiwgMHgyMywgMHhhNSwgMHgwYywgMHgyOCwgMHhiOCwgMHgxMSwgMHgwZSwgMHg3YiwKKyAgMHhhNCwgMHg2MSwgMHg0YiwgMHhjNiwgMHgxYywgMHhjMiwgMHg5ZCwgMHg4NCwgMHhmZSwgMHhhMiwgMHg2OCwgMHg1NSwKKyAgMHg2MywgMHg3ZiwgMHgyZCwgMHhmNywgMHgxMCwgMHgzMiwgMHg2ZiwgMHgyMiwgMHhjNSwgMHg5MCwgMHgwNiwgMHg3NCwKKyAgMHhmNiwgMHgwMywgMHgyNiwgMHg2OCwgMHgwOSwgMHhkNywgMHhhZSwgMHgyOSwgMHg1NSwgMHhmYSwgMHhhYSwgMHgwZCwKKyAgMHhmYSwgMHhlOSwgMHgzNywgMHgwMiwgMHhlMCwgMHg1MiwgMHg1NCwgMHg0YywgMHg2NCwgMHg2MCwgMHg1MSwgMHhiNCwKKyAgMHg1ZSwgMHg3NywgMHhhNiwgMHhkNSwgMHg2NSwgMHgzZiwgMHhjZiwgMHg0NywgMHhjZiwgMHg5ZSwgMHg4ZSwgMHhmNiwKKyAgMHgwOCwgMHgwMiwgMHhlNiwgMHg3NCwgMHg0ZSwgMHhkMSwgMHg0ZCwgMHhkMSwgMHgyYywgMHhlMCwgMHg1ZiwgMHhjNiwKKyAgMHgwNywgMHgwNCwgMHhlZiwgMHgwYSwgMHgwOSwgMHg5NSwgMHg2ZSwgMHhhZiwgMHg2NCwgMHhjNCwgMHg5OCwgMHgyZCwKKyAgMHg5NSwgMHg2OCwgMHg2OSwgMHhiYSwgMHg4YSwgMHgzMiwgMHg0NSwgMHgwOSwgMHg5MSwgMHgxNiwgMHhlZCwgMHhkMiwKKyAgMHgyOSwgMHg4MCwgMHgzMCwgMHg4NiwgMHhjYywgMHg3NywgMHhmNiwgMHgyNSwgMHhhOSwgMHg5MCwgMHhiMywgMHhlYywKKyAgMHhiYSwgMHhiYywgMHg5NiwgMHgwMCwgMHg0NywgMHgwMCwgMHgzOCwgMHg3YywgMHg3OCwgMHhjNiwgMHgwOSwgMHhjNywKKyAgMHgxNiwgMHg3MCwgMHgwNCwgMHhhYywgMHg1YywgMHhkZSwgMHg3YywgMHhmMiwgMHg2OCwgMHhmNCwgMHg4OCwgMHg5MiwKKyAgMHg1MywgMHhiZSwgMHg5MiwgMHg2MCwgMHhhZCwgMHhmOSwgMHhkYiwgMHgzOCwgMHgwNiwgMHhhNCwgMHhjMSwgMHhlYSwKKyAgMHhiYywgMHg4ZSwgMHgzMSwgMHg0YSwgMHhmYywgMHg0MCwgMHgyMywgMHgyZCwgMHhjZiwgMHg0YywgMHhlZiwgMHg4ZiwKKyAgMHhmNCwgMHg1ZiwgMHgyZCwgMHhjOCwgMHhlOCwgMHgyZSwgMHhiOSwgMHgwNywgMHg1NCwgMHg2YiwgMHhlMCwgMHg2MSwKKyAgMHg4MiwgMHg5OCwgMHhmYiwgMHg1YSwgMHg2NywgMHhmMSwgMHgxNSwgMHg4ZiwgMHhkNiwgMHhlMywgMHgwYSwgMHhlZSwKKyAgMHgwNSwgMHgxNywgMHhlZCwgMHhkZSwgMHgyYiwgMHhmNiwgMHhkMCwgMHgxYiwgMHg2NiwgMHg0MywgMHgwMywgMHgyYSwKKyAgMHgxZCwgMHhiYSwgMHgzMiwgMHhlZCwgMHhjYywgMHhiZSwgMHhjNSwgMHgzMCwgMHg0MiwgMHg1NCwgMHg4YywgMHgwOCwKKyAgMHhjZiwgMHhmMCwgMHgzYywgMHhiYiwgMHg4MCwgMHg2ZSwgMHg4OCwgMHgwYSwgMHhlMSwgMHgwMSwgMHg3ZSwgMHg4OSwKKyAgMHg1MCwgMHhiMywgMHhjZCwgMHg0MSwgMHhlNCwgMHg5MywgMHg4OCwgMHg0MSwgMHgxMSwgMHhhNSwgMHg1MywgMHg1ZiwKKyAgMHhkNywgMHhiNiwgMHg5MCwgMHg5NCwgMHg5YiwgMHg2NiwgMHg1MywgMHhhOSwgMHg5YiwgMHg5ZiwgMHhkNCwgMHhhOCwKKyAgMHhjZiwgMHhlZiwgMHgxMCwgMHg4NCwgMHhjYywgMHg2ZiwgMHhiNSwgMHgzZSwgMHhlMywgMHgxZiwgMHg1OSwgMHg1NSwKKyAgMHg4NiwgMHg4OSwgMHgwZiwgMHg1MCwgMHgxZSwgMHgxNCwgMHgxYSwgMHg5MCwgMHg0YywgMHg0OSwgMHhjNSwgMHgyZSwKKyAgMHg3MiwgMHgzZiwgMHhhNCwgMHhhZiwgMHgwNiwgMHg3NywgMHhlZSwgMHg4ZiwgMHg2OCwgMHgyNSwgMHhjZiwgMHg3MCwKKyAgMHhmNywgMHhkYywgMHhmNiwgMHg1MSwgMHhiMCwgMHg2YiwgMHgwMCwgMHhjMywgMHg5OSwgMHg2YiwgMHhhOCwgMHhkYSwKKyAgMHhlMywgMHgwMSwgMHg3MywgMHhhYSwgMHg2OCwgMHhiZSwgMHhlMywgMHg2MiwgMHhlOCwgMHhjMCwgMHhjNCwgMHg4NCwKKyAgMHhmYSwgMHgzNywgMHgyMywgMHg3MywgMHhjNiwgMHhlNSwgMHg3MiwgMHhkYiwgMHhmMCwgMHgxYSwgMHhiNSwgMHg2ZCwKKyAgMHg3NCwgMHhmMCwgMHg4NSwgMHhhMiwgMHhjZiwgMHg4NSwgMHgzYywgMHg3ZCwgMHg5OCwgMHgyNCwgMHhhZiwgMHhiMiwKKyAgMHhlMiwgMHhhZSwgMHgzZCwgMHhhMSwgMHgwMSwgMHgxMCwgMHg4OCwgMHhlMCwgMHgxZSwgMHhjZSwgMHgxYiwgMHgwNywKKyAgMHg5MiwgMHhlMSwgMHg1MiwgMHhhYiwgMHhkZCwgMHgxNCwgMHhjMywgMHgyOSwgMHhiNSwgMHhlNywgMHgxYywgMHhlMywKKyAgMHg1YywgMHg1ZiwgMHhkOCwgMHg2ZCwgMHg2MCwgMHhhZSwgMHhkNSwgMHhkZSwgMHg4YywgMHgyZCwgMHg2MCwgMHhkZCwKKyAgMHg2OCwgMHhiNCwgMHgxZCwgMHg5ZiwgMHg3YywgMHhjOCwgMHgzNiwgMHgwMCwgMHhjMSwgMHgxMywgMHg1NiwgMHg1ZCwKKyAgMHhiZCwgMHg5YSwgMHhmYywgMHg0ZCwgMHg5MCwgMHhkNiwgMHhjOSwgMHhiMywgMHg1MCwgMHhjOSwgMHgyZSwgMHg0OCwKKyAgMHhkNiwgMHhhYSwgMHgzOSwgMHg1NSwgMHhmMywgMHgwMCwgMHgwNywgMHhhZSwgMHg4OCwgMHgzOSwgMHgxNCwgMHhiMSwKKyAgMHhlMSwgMHg5MCwgMHgwNCwgMHhhMCwgMHgxZCwgMHgzYiwgMHhkYSwgMHgxNCwgMHg4NiwgMHgxOSwgMHg0NSwgMHhhYiwKKyAgMHg0YywgMHhiMywgMHgxZSwgMHg5NSwgMHg0MSwgMHhlZiwgMHhjZiwgMHhmMCwgMHg4MiwgMHg3OCwgMHgyYSwgMHg2NywKKyAgMHg0MywgMHg3NiwgMHg4NCwgMHgyZiwgMHhlZiwgMHgyNSwgMHg2NywgMHhlMCwgMHhkYSwgMHg3YywgMHg3MCwgMHg3YSwKKyAgMHhiYywgMHg3NywgMHgyYywgMHhlNSwgMHhkNCwgMHhmNSwgMHhlMCwgMHg4ZiwgMHhmNCwgMHg5ZiwgMHg3MCwgMHgwZCwKKyAgMHgyZCwgMHg5MiwgMHhhNSwgMHg1ZCwgMHg1NiwgMHgzNiwgMHg0MiwgMHg4ZiwgMHg4MywgMHgzMSwgMHhlMSwgMHhmNSwKKyAgMHhiZSwgMHgwZiwgMHg3YywgMHhlMSwgMHhjNCwgMHhjMCwgMHhmYSwgMHhiMSwgMHhjMSwgMHhjNSwgMHgxZSwgMHhmMiwKKyAgMHg4MSwgMHhmNywgMHg4NSwgMHg0MiwgMHg0MywgMHgyYSwgMHg3NSwgMHgyZiwgMHg2ZCwgMHhjMywgMHgxNiwgMHhhOSwKKyAgMHhiNywgMHg2OSwgMHhkYiwgMHg0MSwgMHg4NCwgMHgyOCwgMHhiNCwgMHg5NCwgMHg0NiwgMHg0ZSwgMHhlOSwgMHgwNSwKKyAgMHhhNSwgMHhjYSwgMHg1NywgMHg5OSwgMHg4MywgMHg4MiwgMHhhNywgMHhhMywgMHg2NCwgMHhlMCwgMHgzMCwgMHg2OSwKKyAgMHg1OSwgMHhhMSwgMHg5OSwgMHhkYiwgMHhjYiwgMHhiMiwgMHhlMSwgMHhlNiwgMHgxOSwgMHg5NCwgMHg1YiwgMHg0ZiwKKyAgMHg5YSwgMHg0ZSwgMHg0NSwgMHgwZSwgMHg0MiwgMHg2ZiwgMHg5MywgMHg1NSwgMHg0NSwgMHhhNiwgMHhkMSwgMHhlYywKKyAgMHhlMSwgMHhjMywgMHg4ZiwgMHhiNiwgMHg1YSwgMHg5NiwgMHg4NSwgMHgyYiwgMHhhOSwgMHhiMiwgMHhiZCwgMHgwNSwKKyAgMHgxYywgMHg2ZCwgMHhmMiwgMHgxNywgMHgzOSwgMHg0MywgMHgxMiwgMHg0ZSwgMHgyNywgMHhkYiwgMHg2MywgMHhlMywKKyAgMHhiYSwgMHhjYywgMHgwOSwgMHgyNywgMHg0YywgMHg4NywgMHhlYiwgMHg2MCwgMHg0ZiwgMHg5ZiwgMHg4NywgMHhhZCwKKyAgMHg5ZiwgMHg2MCwgMHg1ZSwgMHhkOSwgMHg4YywgMHgzNCwgMHhiMSwgMHhhZiwgMHhmMiwgMHhjMiwgMHhhNiwgMHgwYiwKKyAgMHhkNiwgMHhhZCwgMHgzYSwgMHg0YSwgMHhiZSwgMHhkZCwgMHgzYSwgMHgxYywgMHgxMiwgMHg5MSwgMHgxMCwgMHhhZCwKKyAgMHgyZSwgMHgyOCwgMHhjZSwgMHg1NCwgMHhhNCwgMHg4ZCwgMHg1ZSwgMHgxNywgMHg4ZiwgMHhlMSwgMHhkMiwgMHhmNCwKKyAgMHhjOCwgMHg0YywgMHhhMywgMHg0NCwgMHg4YywgMHg5NCwgMHgyNCwgMHg5MywgMHhkNiwgMHg4OSwgMHg3NiwgMHhmYSwKKyAgMHg2MywgMHhmOCwgMHgyZSwgMHg2NywgMHg0ZiwgMHgxNywgMHhiMCwgMHg0OSwgMHhkNiwgMHg0ZSwgMHhjZCwgMHgxZCwKKyAgMHhkZCwgMHgyMywgMHgyMywgMHg2ZSwgMHhlZiwgMHgzNCwgMHhhZCwgMHg3MywgMHhiZCwgMHgwYSwgMHhiNiwgMHgwNCwKKyAgMHg0OCwgMHg4MiwgMHhkOSwgMHhlNywgMHhiYywgMHhjMSwgMHg4OSwgMHg3NSwgMHhmMiwgMHhjYSwgMHgzNSwgMHhkZCwKKyAgMHg1YSwgMHgxYSwgMHg2YSwgMHgyZCwgMHg1NiwgMHg2MSwgMHgzMywgMHg1ZSwgMHgwOSwgMHhkNiwgMHhkOSwgMHgyNCwKKyAgMHgzOSwgMHg4NiwgMHhjOSwgMHg4MywgMHhmNiwgMHgyMywgMHg1ZSwgMHgxYSwgMHg2ZSwgMHgxOCwgMHgwNCwgMHgxYiwKKyAgMHg1ZCwgMHhiYiwgMHgyOCwgMHg5MSwgMHhmYiwgMHgwOSwgMHhmMSwgMHhiYiwgMHhiOCwgMHgxZiwgMHg3MSwgMHhjNywKKyAgMHg2MiwgMHg2NCwgMHgxOSwgMHg4MiwgMHgyOSwgMHg2NiwgMHg0MywgMHhjMywgMHgwNCwgMHg5NiwgMHg2YiwgMHhmYywKKyAgMHhmMywgMHhiNywgMHgwMywgMHg1ZCwgMHg3NCwgMHgyYiwgMHgxZiwgMHhkZCwgMHgwNywgMHhlNSwgMHhlMSwgMHg5ZiwKKyAgMHg3MCwgMHhkYSwgMHhhYiwgMHhlYywgMHg1ZCwgMHg1OCwgMHhjZiwgMHg2MSwgMHgzNCwgMHg4ZCwgMHhjNywgMHhiMSwKKyAgMHg5ZCwgMHg4YywgMHhlNSwgMHhkNSwgMHg4NiwgMHgxNiwgMHg0ZSwgMHg2ZiwgMHgxYiwgMHgyMSwgMHgyZCwgMHg5NSwKKyAgMHhjNSwgMHgwNiwgMHhlYSwgMHg4NiwgMHhjNSwgMHhkMiwgMHg1NSwgMHhkZCwgMHhmNiwgMHhjOSwgMHhjZSwgMHhiZCwKKyAgMHhlNywgMHg0YSwgMHg1NSwgMHg4YywgMHgwOSwgMHgwMCwgMHg4MiwgMHg0MiwgMHgyYSwgMHgxOSwgMHhiYywgMHg2ZiwKKyAgMHhiMSwgMHgyOSwgMHgxNywgMHhlYywgMHgyMywgMHg1MCwgMHhlYiwgMHhiOCwgMHgyMywgMHgwZCwgMHgzZiwgMHgyNywKKyAgMHg0MiwgMHhjOSwgMHhlMSwgMHhhZCwgMHg3NywgMHgyNywgMHhiOSwgMHhhNiwgMHg3ZiwgMHgwNiwgMHhmOCwgMHgyNCwKKyAgMHgzZSwgMHg0NCwgMHgxMywgMHhjYiwgMHhkNywgMHhlMiwgMHhjMSwgMHhmNCwgMHgxYywgMHg0NiwgMHgwYywgMHgwYSwKKyAgMHg2OSwgMHhkNiwgMHg0OSwgMHgxMiwgMHhkNywgMHg5ZiwgMHg0ZiwgMHg1MywgMHg4YSwgMHhkYywgMHhjNiwgMHg3MywKKyAgMHg1MiwgMHhjNywgMHg3MiwgMHhkZiwgMHg4NiwgMHhmYSwgMHgxNCwgMHhmMSwgMHg2OSwgMHg1YywgMHhlMCwgMHhiYywKKyAgMHhmMCwgMHg5ZCwgMHg4MywgMHhkYywgMHhkMSwgMHhmMCwgMHhiNiwgMHg3OSwgMHg0OCwgMHhiYSwgMHhmNiwgMHgzNCwKKyAgMHg0NSwgMHhiOCwgMHg5ZSwgMHg1NSwgMHg0NCwgMHgzYiwgMHhiMCwgMHhmYiwgMHhhNywgMHhmYiwgMHhhZCwgMHg1OSwKKyAgMHg1ZCwgMHg4YywgMHg0OSwgMHhkMywgMHg1OSwgMHhmNSwgMHg3YiwgMHg1OSwgMHhkYSwgMHg1ZiwgMHg3OSwgMHg2OSwKKyAgMHg2ZSwgMHhmNCwgMHhiYSwgMHg0NSwgMHhlMSwgMHhhMSwgMHg1ZiwgMHhiMiwgMHgyOCwgMHhjNywgMHgzOCwgMHhkYywKKyAgMHgxNiwgMHhjYSwgMHg5YywgMHgzYiwgMHgyNywgMHhjMiwgMHgxZiwgMHg1OSwgMHgxYiwgMHhhYiwgMHhlYSwgMHg1OSwKKyAgMHg4MiwgMHgxOSwgMHg3MywgMHg0ZCwgMHg1YiwgMHg3YiwgMHg2ZiwgMHgxOSwgMHhmNiwgMHhjMSwgMHg5ZiwgMHhiYiwKKyAgMHg5MiwgMHhmYiwgMHhiNywgMHgxMSwgMHhhNCwgMHg0MSwgMHg3ZiwgMHhmZSwgMHg3NSwgMHgxZiwgMHg2ZSwgMHhjMCwKKyAgMHhkOSwgMHg0ZiwgMHhiZCwgMHhmMywgMHgzOCwgMHgxYSwgMHhjOCwgMHg1YywgMHgzZSwgMHhjMSwgMHgzNCwgMHhmMiwKKyAgMHhlNSwgMHgxNSwgMHhlOSwgMHg5NiwgMHgyZiwgMHg2MywgMHg4NSwgMHg3MCwgMHhkZSwgMHg0NiwgMHhjOCwgMHg2MywKKyAgMHhiZiwgMHhmZSwgMHhmNywgMHhhYiwgMHhiOSwgMHg4MywgMHgwYiwgMHg1YiwgMHhmMywgMHg3ZCwgMHg3OSwgMHhlYywKKyAgMHg1NywgMHhmZiwgMHgzZSwgMHhkZiwgMHhkZCwgMHhmNSwgMHhjMiwgMHhjNSwgMHg3MiwgMHhjNSwgMHg1NywgMHg1MiwKKyAgMHg2ZSwgMHhkMCwgMHhlNiwgMHgzOCwgMHg0ZSwgMHhhYSwgMHhmYywgMHgwMiwgMHhhNiwgMHgyOCwgMHgxNSwgMHgwYywKKyAgMHgyMSwgMHg1NywgMHg5NCwgMHg2ZiwgMHhkMSwgMHhiYiwgMHg0MSwgMHgzZiwgMHgzOSwgMHg5ZiwgMHgyZCwgMHhmZSwKKyAgMHgyYSwgMHgxYywgMHgwYywgMHhhYywgMHgzOSwgMHhkYywgMHgxYywgMHhlOSwgMHhiNCwgMHhmNiwgMHg5MiwgMHhmZiwKKyAgMHhiYiwgMHhmMywgMHg2NSwgMHhlYywgMHg4YywgMHg2YywgMHg2MSwgMHgxNCwgMHg4OSwgMHg0MSwgMHhlZCwgMHhjZCwKKyAgMHg4NiwgMHg3NiwgMHg1ZiwgMHg4YywgMHhjMiwgMHgyMiwgMHgyYSwgMHhhZiwgMHhlZCwgMHg2MSwgMHhlNSwgMHgzNywKKyAgMHhmZiwgMHhhMCwgMHg1NywgMHg2MywgMHgwZCwgMHhlMSwgMHg2NCwgMHg4NywgMHgyOCwgMHgzZCwgMHg5YiwgMHgyYywKKyAgMHgzYywgMHg4ZCwgMHg1MywgMHhiOCwgMHg5YywgMHgyMSwgMHg1MiwgMHgzYywgMHgzMiwgMHhlZiwgMHg4MywgMHhiNSwKKyAgMHhjNSwgMHhiYSwgMHg4YSwgMHg4NSwgMHhmZiwgMHhmZCwgMHg5ZSwgMHhkYSwgMHgwZSwgMHgwZiwgMHhmYSwgMHg5YiwKKyAgMHg4MSwgMHgzNCwgMHg2NCwgMHgzMywgMHhjMywgMHgxMSwgMHg1OSwgMHg0OSwgMHg3ZSwgMHhiMiwgMHhkMiwgMHgxMywKKyAgMHg4ZSwgMHgzMywgMHgwNCwgMHhjZCwgMHhlMiwgMHg2YSwgMHgxNSwgMHhkMiwgMHg0ZCwgMHhlNywgMHg5YywgMHgwYSwKKyAgMHg5ZiwgMHgxYywgMHg5ZSwgMHhiZSwgMHg3ZCwgMHg3YiwgMHg3NCwgMHhkOCwgMHg4ZCwgMHg0NywgMHhiYiwgMHhlYSwKKyAgMHgyMCwgMHg3MiwgMHg5YiwgMHhhYSwgMHhhYSwgMHgxZiwgMHhmNCwgMHgwMiwgMHhjNiwgMHhkNywgMHhiOSwgMHgyZCwKKyAgMHg4YiwgMHgwZCwgMHgxOSwgMHhmMSwgMHgwYywgMHhkMCwgMHgyZSwgMHgzMCwgMHgxNSwgMHhjYywgMHg2YiwgMHgyZSwKKyAgMHgzMiwgMHhmMiwgMHhkMCwgMHg5MCwgMHg5OSwgMHgwMiwgMHgyMiwgMHhiNSwgMHg5NywgMHgwMSwgMHgzZCwgMHgzOCwKKyAgMHgxZiwgMHgwYSwgMHg5YywgMHg2OSwgMHhkNCwgMHgyOCwgMHg5YSwgMHgzNSwgMHg1MCwgMHhkOCwgMHhhZiwgMHgzYSwKKyAgMHgwMywgMHhlZSwgMHg5NywgMHgzYywgMHg5YiwgMHhlZCwgMHg0OCwgMHhiNSwgMHgwMCwgMHhmYiwgMHg1ZiwgMHgyMywKKyAgMHgxZCwgMHg2OSwgMHgyZCwgMHgyZCwgMHgzMywgMHg3ZSwgMHgyMiwgMHg5NSwgMHg3MCwgMHgwZCwgMHhjYiwgMHgwYiwKKyAgMHg2ZSwgMHg1MSwgMHhiMiwgMHg0OCwgMHhhYiwgMHg4ZiwgMHgxNCwgMHhjZiwgMHhmNiwgMHgwYSwgMHgyMCwgMHg1MCwKKyAgMHhjZSwgMHgwYiwgMHgyOCwgMHhmNywgMHhkOSwgMHgyYywgMHg4NiwgMHhmMCwgMHgwMSwgMHhhZiwgMHhiYiwgMHg1ZiwKKyAgMHhiNCwgMHgyMiwgMHgxMywgMHg5MiwgMHgzZSwgMHhiZSwgMHhmYiwgMHg1YSwgMHg2NSwgMHg0YiwgMHhhZiwgMHgxNywKKyAgMHhkOSwgMHgwZCwgMHg3ZCwgMHg4NiwgMHg2MSwgMHg4ZCwgMHgwOCwgMHhhNiwgMHgyMywgMHhlYywgMHhlNCwgMHhjMywKKyAgMHg2OCwgMHhmYywgMHgxYywgMHg1NSwgMHhiOCwgMHgxMywgMHg4NCwgMHgxMCwgMHgzYSwgMHhhYiwgMHgwNSwgMHhmNywKKyAgMHhjYSwgMHgwMSwgMHhiYywgMHgzOSwgMHg3NSwgMHhiNCwgMHhlNCwgMHgwYSwgMHhhZCwgMHg2MCwgMHhhZiwgMHhiZSwKKyAgMHg1MSwgMHg4OCwgMHg1MiwgMHgyZiwgMHhhNSwgMHgyZSwgMHhjOCwgMHhmZCwgMHhiMywgMHg2OCwgMHg2NCwgMHg5MywKKyAgMHhhYywgMHgwNSwgMHg1YywgMHhkYSwgMHg4NywgMHhmMiwgMHhjNCwgMHhiYiwgMHg4ZCwgMHg2MywgMHgyMCwgMHg2YiwKKyAgMHhhNSwgMHg2ZSwgMHgwZCwgMHhhMCwgMHg0NywgMHg5YiwgMHhmNiwgMHg0NCwgMHhmZSwgMHhjNiwgMHhkNCwgMHg3MiwKKyAgMHgwMCwgMHg0NiwgMHgzMywgMHg1OCwgMHhkOCwgMHhkMywgMHgyZSwgMHg3OCwgMHgzNiwgMHg3MCwgMHhlNSwgMHhlMCwKKyAgMHgyNCwgMHgyNSwgMHg0MCwgMHhjOSwgMHg0YiwgMHg5NCwgMHhhMCwgMHg3MCwgMHhhNiwgMHgyNCwgMHgyZSwgMHg2YiwKKyAgMHhhMCwgMHhlNiwgMHhhMiwgMHhkYywgMHgwMCwgMHg3NSwgMHg5YSwgMHgwMywgMHgzMSwgMHgwYiwgMHgxMCwgMHhjNywKKyAgMHgzNCwgMHhkYiwgMHg0YiwgMHgwNywgMHgyMSwgMHg5YiwgMHhhZiwgMHgxOCwgMHg1MSwgMHgxYywgMHg4NCwgMHg5MCwKKyAgMHgwYiwgMHg5YywgMHgxNywgMHhjYiwgMHg1NSwgMHgxMywgMHgwNCwgMHgxMiwgMHgwOSwgMHgyYywgMHg4ZiwgMHg3MSwKKyAgMHg1MiwgMHhiZSwgMHgxYywgMHg4NiwgMHhjZCwgMHgxNSwgMHhkMywgMHg5OSwgMHg3ZiwgMHhhNiwgMHg2MCwgMHhlMCwKKyAgMHhiMCwgMHhmYywgMHhlYiwgMHg2NiwgMHg5NiwgMHgxNywgMHg2YiwgMHgzZCwgMHhjYiwgMHhiZSwgMHg0NSwgMHhlMywKKyAgMHg0YywgMHgxYSwgMHhhOSwgMHhjNywgMHhlMCwgMHhjOCwgMHhhZiwgMHgyMywgMHhkNiwgMHgxZCwgMHhiOCwgMHgxNiwKKyAgMHhiYSwgMHhiNCwgMHg2MCwgMHhkZiwgMHg1MiwgMHgxNiwgMHhiMSwgMHgwZSwgMHgxMywgMHgwOSwgMHg5OCwgMHgwMywKKyAgMHgxZCwgMHhlZSwgMHg2NywgMHhhYywgMHgxYywgMHg3MiwgMHg2YywgMHg2NSwgMHg3ZCwgMHg0MiwgMHhlOSwgMHhlMywKKyAgMHgwMCwgMHhiMCwgMHhiYSwgMHhmYywgMHhkMCwgMHhhZiwgMHgyZiwgMHg5OSwgMHgzZSwgMHg2NiwgMHg3NywgMHgwZiwKKyAgMHhkMiwgMHg1MSwgMHhlYywgMHg3MywgMHg5ZiwgMHg2MiwgMHgwNiwgMHhjOSwgMHg0YiwgMHhmMywgMHhjNywgMHhkYSwKKyAgMHg2ZiwgMHgzZiwgMHhmYywgMHhiMywgMHgwMSwgMHg3MiwgMHhlOCwgMHgxYSwgMHhhOSwgMHg2YiwgMHg1MywgMHg1YywKKyAgMHgyMSwgMHgwYiwgMHhlZiwgMHgwNSwgMHhjNiwgMHgwNSwgMHhjZiwgMHgwZCwgMHhmMiwgMHg1MiwgMHgzZCwgMHg4OSwKKyAgMHhiYywgMHg1NiwgMHgwNiwgMHhiYiwgMHhhYSwgMHg0MiwgMHg1ZiwgMHgwYywgMHg0NywgMHgwMiwgMHhmNiwgMHhiMSwKKyAgMHg4OSwgMHg0OCwgMHgwOCwgMHhlYSwgMHg2MSwgMHgyMiwgMHhmOSwgMHg1ZSwgMHgxMSwgMHhkYywgMHgyYSwgMHhjYSwKKyAgMHhlZSwgMHhlNiwgMHg1OSwgMHhkOSwgMHg5YSwgMHhjYywgMHg4NywgMHg2ZiwgMHg1YywgMHg1OCwgMHg4OCwgMHhmYywKKyAgMHhhZiwgMHhhOSwgMHgyYiwgMHgyOCwgMHgwNCwgMHg2ZCwgMHgyOSwgMHgyYiwgMHhmOCwgMHg0NCwgMHg2YiwgMHgxMywKKyAgMHgxZSwgMHgyMiwgMHg5NSwgMHg4MiwgMHgyZCwgMHhlOSwgMHg1NiwgMHg3NiwgMHhiNiwgMHgzNiwgMHgyYSwgMHhkYywKKyAgMHg4NSwgMHg3NSwgMHg1OSwgMHhlZiwgMHg4ZSwgMHgzYywgMHhmMSwgMHhkNCwgMHhhZiwgMHg3ZSwgMHgyZCwgMHgxZSwKKyAgMHg5ZSwgMHhiMiwgMHgxZCwgMHgzZiwgMHg5OSwgMHhiZSwgMHhhYywgMHg2ZCwgMHgxYSwgMHg4ZSwgMHg4MSwgMHhmNywKKyAgMHg3YiwgMHg1MywgMHhiNiwgMHgyOSwgMHhiOSwgMHhjOSwgMHg0YiwgMHhkOCwgMHhmNiwgMHhmYywgMHgxMiwgMHg3ZCwKKyAgMHgxOSwgMHhkYiwgMHhmZiwgMHgzNywgMHhhNiwgMHg2YywgMHhiNywgMHg3MiwgMHhiNiwgMHg0OSwgMHhiZCwgMHhhMiwKKyAgMHgxNCwgMHhlMSwgMHg1OCwgMHhkYSwgMHhiNiwgMHgwNywgMHg1ZSwgMHhjNCwgMHgzOSwgMHhkYiwgMHhlYiwgMHg1MiwKKyAgMHhiNiwgMHhiZCwgMHg4YywgMHhlZCwgMHgzNSwgMHgwOSwgMHhkYiwgMHgwYywgMHgwNSwgMHhiZCwgMHgyZSwgMHg2NSwKKyAgMHhmYiwgMHgxNywgMHhlNiwgMHg2YywgMHhmNywgMHhhNCwgMHg2YywgMHhmZiwgMHhlYywgMHg4YywgMHhlZCwgMHg1ZiwKKyAgMHgzOSwgMHg2NSwgMHhmYiwgMHhkNywgMHhjYywgMHg0NiwgMHhjNiwgMHhlZCwgMHhhMSwgMHhmMywgMHhjOCwgMHhhNywKKyAgMHg1MiwgMHg3MiwgMHhmNiwgMHhmMiwgMHg1ZSwgMHg4MCwgMHhlOCwgMHg3NiwgMHgwMiwgMHg4YiwgMHgxNywgMHg2NywKKyAgMHg5NiwgMHg3MSwgMHg1OCwgMHhhNSwgMHg3MSwgMHg4YSwgMHg3YiwgMHg1OCwgMHgzNywgMHgyNCwgMHhhNCwgMHgxMiwKKyAgMHhjOSwgMHg4MCwgMHhmMywgMHhlMywgMHhjMCwgMHg4ZiwgMHg2MywgMHgzNywgMHhiZCwgMHhhZSwgMHhlNywgMHhkYywKKyAgMHhjZCwgMHg5MCwgMHgyYSwgMHhjOCwgMHgwMywgMHgyYiwgMHhkMSwgMHhmMSwgMHg5OSwgMHhjZSwgMHg3MywgMHhiZiwKKyAgMHgzZSwgMHhjYiwgMHg2OSwgMHhlNiwgMHhmNSwgMHhlZSwgMHg2MywgMHg2NywgMHhhYiwgMHhjYiwgMHg1ZiwgMHg1NiwKKyAgMHg1NCwgMHhkNiwgMHgxYywgMHhiMywgMHhkYiwgMHg5OSwgMHhmYiwgMHg4YywgMHg4NSwgMHhjMywgMHgyOCwgMHg2MCwKKyAgMHgwZCwgMHhiZiwgMHgwNSwgMHgxZiwgMHg2OSwgMHg2NiwgMHgxYiwgMHhiYSwgMHhkYSwgMHg4OCwgMHg4NCwgMHg2ZCwKKyAgMHhmYSwgMHgxZSwgMHgxNiwgMHhjMywgMHgwMCwgMHhjYywgMHhjMCwgMHg1ZiwgMHgwNywgMHg0NCwgMHgwOCwgMHg5NSwKKyAgMHhiZCwgMHgyOCwgMHhkMywgMHhhZSwgMHg3MSwgMHgwNSwgMHg3NywgMHg0NywgMHg4ZiwgMHhiOSwgMHhkMCwgMHgxZCwKKyAgMHgxMSwgMHgxNiwgMHgwYSwgMHhhZiwgMHhmMiwgMHgzYywgMHgwMywgMHg3YywgMHgzMSwgMHg0YywgMHgwMCwgMHhlOCwKKyAgMHhlZSwgMHg2YSwgMHhkYSwgMHg3MSwgMHhmYiwgMHgzOSwgMHg3OSwgMHg3ZSwgMHg5NCwgMHhiYywgMHgyMywgMHhkNSwKKyAgMHhkMSwgMHgyOCwgMHhlYSwgMHg4OCwgMHhmNiwgMHhlMywgMHg3NiwgMHg5YiwgMHhiMSwgMHgxMywgMHhmOSwgMHg3ZCwKKyAgMHg2YywgMHhiOCwgMHgzNiwgMHhhNCwgMHhiMCwgMHhhMSwgMHg5ZiwgMHhmNywgMHhlZiwgMHg0ZSwgMHhjMiwgMHhmOCwKKyAgMHgzNCwgMHhhMiwgMHgwNywgMHhmYiwgMHgzYiwgMHgzYiwgMHg0OCwgMHg5MCwgMHhiYSwgMHg0YSwgMHg2ZiwgMHg2ZiwKKyAgMHg0NywgMHg3NSwgMHhiNiwgMHgzMywgMHgyYiwgMHhhNywgMHhmNSwgMHgwZSwgMHg5ZCwgMHhhMCwgMHg3ZSwgMHhmZCwKKyAgMHhhYSwgMHg1OSwgMHhjYywgMHgzZiwgMHhiYiwgMHgwZiwgMHhiNCwgMHg1YywgMHg4YiwgMHhhOCwgMHhlNywgMHg3NywKKyAgMHg4MiwgMHhiZCwgMHhlNiwgMHhiMiwgMHgyZiwgMHhiOSwgMHgyNSwgMHhhMywgMHg4NywgMHg3YSwgMHhiMCwgMHgwYSwKKyAgMHg3YSwgMHgzMywgMHg0YiwgMHg1NSwgMHg4MSwgMHg1OSwgMHg5NSwgMHhmOSwgMHgzZiwgMHg3NCwgMHhkMCwgMHhhMSwKKyAgMHhhOCwgMHg1MiwgMHhhNCwgMHhmZSwgMHhkYywgMHg2ZiwgMHhiNCwgMHhlZCwgMHhkNSwgMHgxMCwgMHg4NCwgMHgwNywKKyAgMHhjNCwgMHg3NSwgMHhlNCwgMHgwZCwgMHgyMSwgMHgwNCwgMHg2NywgMHgwZCwgMHg5OCwgMHg5OCwgMHg5YywgMHg0OCwKKyAgMHhlNywgMHhkOCwgMHgzYiwgMHg0ZCwgMHhhZSwgMHg5OSwgMHhiYywgMHhjMiwgMHgyNiwgMHg3YywgMHhhMCwgMHhiMywKKyAgMHg5ZSwgMHhiNiwgMHhkNywgMHhiZiwgMHgzYSwgMHg0YiwgMHgzMCwgMHhkNCwgMHg0ZCwgMHg1MiwgMHhmZSwgMHgyMSwKKyAgMHhjYSwgMHhhZSwgMHhmZiwgMHhlOCwgMHhhNywgMHhiOCwgMHg2NSwgMHgzNiwgMHgyMSwgMHhlZiwgMHgyNSwgMHg2NywKKyAgMHhkYiwgMHhhZCwgMHg5ZCwgMHg4OSwgMHg3ZCwgMHhmOCwgMHg1MywgMHhjYywgMHgwNCwgMHg3MCwgMHgwYiwgMHg1MSwKKyAgMHhmZSwgMHhkOCwgMHg5YSwgMHgwMywgMHgxZSwgMHhmYiwgMHgxNCwgMHhkZiwgMHhiZiwgMHhkZSwgMHhlZCwgMHhmYiwKKyAgMHhlYywgMHhlZSwgMHg4MCwgMHgzZiwgMHg3ZCwgMHhiZCwgMHhmYiwgMHgyYiwgMHg3ZSwgMHhmOCwgMHhiZCwgMHg3NSwKKyAgMHg1NiwgMHgzMSwgMHgzNCwgMHhjNSwgMHg0YiwgMHhmYSwgMHg3MywgMHg1ZiwgMHg3NywgMHhiOCwgMHhhZiwgMHg1NywKKyAgMHhlMCwgMHg5YSwgMHgzZSwgMHgwYywgMHhjMiwgMHhkZiwgMHg5YywgMHg2NCwgMHhiOCwgMHgwNywgMHgwMiwgMHhhNiwKKyAgMHgxNywgMHhlMywgMHg4NSwgMHgwMSwgMHhiZSwgMHgwNCwgMHhhMywgMHgxZCwgMHhhZCwgMHgzMywgMHg4NiwgMHgwYSwKKyAgMHhmMCwgMHhjOCwgMHg4MCwgMHgzOCwgMHg4YywgMHg1MSwgMHg0NCwgMHgxZiwgMHg5ZiwgMHg5NSwgMHg4YSwgMHg5OSwKKyAgMHhmNSwgMHhiNiwgMHg0NywgMHgwYywgMHgyMSwgMHg0MywgMHgyMCwgMHhhNiwgMHg5NSwgMHgzNywgMHhlYSwgMHgzNCwKKyAgMHgwYSwgMHg5YSwgMHg5ZSwgMHg0YiwgMHg5NywgMHhlZiwgMHg4OCwgMHg2MywgMHg2YiwgMHg1ZCwgMHgwNywgMHgwYSwKKyAgMHhmMCwgMHg2YywgMHgxZiwgMHg1OCwgMHg2YSwgMHg2MiwgMHhmZCwgMHg2OCwgMHhlMCwgMHgyYiwgMHg1ZCwgMHgyNiwKKyAgMHhhYSwgMHhlOCwgMHhjNCwgMHgzNiwgMHhhMywgMHhkMywgMHhiYiwgMHhlMiwgMHhmYiwgMHhjOSwgMHhjNiwgMHhmMCwKKyAgMHg3ZCwgMHhiMiwgMHhiZiwgMHgxMSwgMHg2YywgMHhkMSwgMHg2OSwgMHgyMSwgMHgxZCwgMHg3YywgMHhlMCwgMHhmNCwKKyAgMHhhYSwgMHgwMCwgMHg1MCwgMHg4MCwgMHhhNiwgMHg2MCwgMHhiZSwgMHg2YSwgMHg3MiwgMHg0NSwgMHhmMCwgMHg1MywKKyAgMHhjZSwgMHg5YywgMHhiMCwgMHhkZCwgMHgyZiwgMHgyZSwgMHg4MywgMHgyMCwgMHgxYywgMHgzYiwgMHgyZiwgMHg1OCwKKyAgMHg4OSwgMHhkMiwgMHg3ZSwgMHg1NSwgMHgyNCwgMHg0YSwgMHhjOCwgMHg2ZCwgMHhlMywgMHhjMCwgMHhlYywgMHhhMSwKKyAgMHgzZSwgMHg3MSwgMHgyZiwgMHgwZSwgMHg0OSwgMHg2YywgMHhhMCwgMHg2OCwgMHhlNiwgMHgzNCwgMHg3NCwgMHhiZiwKKyAgMHhjYywgMHgzOCwgMHg2NiwgMHgyYiwgMHhkZCwgMHhjZCwgMHg5NiwgMHg2NSwgMHg1ZCwgMHhlNywgMHgxMywgMHhjMywKKyAgMHhhMywgMHgyZiwgMHg4NSwgMHgzZiwgMHhkNiwgMHgxOSwgMHhhNywgMHg1MywgMHg3MSwgMHhlMSwgMHgzNSwgMHhlZCwKKyAgMHg2NSwgMHhlZCwgMHg5MiwgMHhjYiwgMHhlYSwgMHgxMCwgMHgyOCwgMHg4ZCwgMHg1NywgMHg2YSwgMHhmYiwgMHg3ZiwKKyAgMHg4OCwgMHg3YiwgMHhjOSwgMHhjYywgMHg4ZSwgMHg1OSwgMHhkYiwgMHg3NSwgMHg0ZSwgMHhjMywgMHgzMywgMHhjMSwKKyAgMHhhNSwgMHhjOSwgMHhhNCwgMHhjYSwgMHhiMywgMHg4YiwgMHg2NCwgMHg1MSwgMHhmMiwgMHhkNiwgMHg0MywgMHhmMSwKKyAgMHhlYSwgMHgzMiwgMHhkOSwgMHgzOSwgMHgwMSwgMHhhYywgMHhjYywgMHg0NiwgMHhjOSwgMHg5OCwgMHgzMiwgMHg2ZCwKKyAgMHg2YiwgMHg4MiwgMHgxMCwgMHg0NSwgMHhmZSwgMHgzNSwgMHhiMiwgMHgxZiwgMHg1ZCwgMHg2ZSwgMHg3NywgMHg5NSwKKyAgMHg1MSwgMHhlNiwgMHgwMCwgMHg3NSwgMHhiZiwgMHhjNSwgMHgyYSwgMHg1MiwgMHhlZCwgMHhhNCwgMHhkNCwgMHg5MywKKyAgMHg5MywgMHg1YSwgMHg1OSwgMHhhNCwgMHg3NSwgMHg1NCwgMHgzYiwgMHgwMCwgMHhlMCwgMHg0OSwgMHgyZiwgMHgyOCwKKyAgMHhiZSwgMHg4OCwgMHhjZSwgMHg5YywgMHg5YSwgMHhiZSwgMHhlYiwgMHgyMCwgMHgxNSwgMHg0NiwgMHg5ZiwgMHg4YywKKyAgMHhjNywgMHg3YiwgMHg1ZSwgMHhlOCwgMHg1ZiwgMHg1YywgMHgwNywgMHhkMCwgMHg5ZiwgMHgxNSwgMHhkZiwgMHg0ZSwKKyAgMHg4ZCwgMHgwZSwgMHgxMCwgMHg3MSwgMHhlMiwgMHhmOSwgMHhmMCwgMHgxNywgMHhkNCwgMHhlMywgMHhlMCwgMHg2ZCwKKyAgMHg1NywgMHhjYiwgMHg4OSwgMHhhNCwgMHg5NiwgMHg1MywgMHgwMiwgMHgxZCwgMHhlNywgMHhhYiwgMHhkOSwgMHhkNSwKKyAgMHgzNSwgMHhjMCwgMHg3YywgMHg0MCwgMHgyOSwgMHhiZiwgMHgxZiwgMHgxYiwgMHg3ZSwgMHgxZiwgMHg4OCwgMHg3OCwKKyAgMHg5NywgMHgyZSwgMHhkZiwgMHg0YSwgMHg5MCwgMHg3NywgMHhmOSwgMHhmMSwgMHg3NCwgMHg1NiwgMHgyZSwgMHgzYiwKKyAgMHgxZSwgMHgwNSwgMHgyMSwgMHhlYywgMHgyMiwgMHg0ZiwgMHg2OSwgMHgwNiwgMHhhMSwgMHg0YywgMHgyNiwgMHg0NCwKKyAgMHhmOCwgMHhmZSwgMHhkYywgMHg3OCwgMHhhMywgMHhmMywgMHg3OSwgMHhiMSwgMHg3YSwgMHg4NywgMHhlMSwgMHg0YSwKKyAgMHgwZSwgMHhkNiwgMHg3OCwgMHg5NCwgMHgxOCwgMHgzNywgMHgxNCwgMHhkZCwgMHgzYywgMHg5ZSwgMHgwNywgMHgzZCwKKyAgMHgzOSwgMHhhNSwgMHg3NiwgMHg0MiwgMHgxOCwgMHhhNywgMHhjZCwgMHg1ZSwgMHhiOCwgMHhjZSwgMHg1MywgMHhhYiwKKyAgMHg0MywgMHhiOSwgMHg2ZiwgMHhmMSwgMHg4ZSwgMHhiYSwgMHg0ZiwgMHhmNSwgMHhjNSwgMHhlMSwgMHgxOCwgMHgzNiwKKyAgMHgyOSwgMHg1MiwgMHhkOSwgMHhmOSwgMHg3NiwgMHgzYywgMHgwZSwgMHg1MywgMHhlNCwgMHgwYiwgMHg2MywgMHg5YywKKyAgMHg5NCwgMHg5NywgMHg0NSwgMHhmZSwgMHgwZiwgMHg2OSwgMHg5NiwgMHhkNiwgMHhjZCwgMHg2YywgMHg2ZCwgMHhkNSwKKyAgMHgyOCwgMHhiNCwgMHgwMywgMHhmMiwgMHg5NCwgMHgyOCwgMHgxMSwgMHhmMiwgMHgzNywgMHhjMSwgMHhmNSwgMHgyMywKKyAgMHhiMSwgMHg4MywgMHg4NCwgMHgzMCwgMHgwMCwgMHg5MiwgMHhkOSwgMHg2NCwgMHg0MCwgMHg4YSwgMHgzMywgMHg0OCwKKyAgMHgxYiwgMHg2ZCwgMHgzZiwgMHhlOSwgMHg0MSwgMHg5MSwgMHg4ZiwgMHgzZSwgMHgwYiwgMHgxNSwgMHg0OSwgMHhkYSwKKyAgMHgwMywgMHg4MSwgMHgxMCwgMHg4YSwgMHhhYiwgMHg0OCwgMHhkOSwgMHgyZiwgMHgyOCwgMHgyOCwgMHgyMCwgMHgwZSwKKyAgMHhmYSwgMHg4YiwgMHg0YSwgMHgwYSwgMHhkYSwgMHgwYSwgMHhhYSwgMHgwNywgMHhhNywgMHg5NSwgMHhkZCwgMHgzMiwKKyAgMHgwNywgMHg4ZCwgMHhlMywgMHgxNSwgMHgwYSwgMHg0NiwgMHg3MCwgMHgxNiwgMHgxMywgMHgyZiwgMHgzNiwgMHgwZSwKKyAgMHg4MSwgMHg2NiwgMHgzOCwgMHgwZiwgMHg4MSwgMHgyYywgMHg1NCwgMHhkNSwgMHgzMywgMHgxMCwgMHgyZiwgMHgxMSwKKyAgMHhiYywgMHg0MiwgMHgzYiwgMHhmYSwgMHgwMywgMHg4MCwgMHgwYSwgMHhjOSwgMHg4ZCwgMHhhZiwgMHgyZCwgMHgwMiwKKyAgMHg2NCwgMHhjYSwgMHg2OCwgMHg5YywgMHhjMywgMHhmMCwgMHgwYiwgMHgxOSwgMHhhMywgMHgwYiwgMHhkMiwgMHhiNCwKKyAgMHhkYywgMHg5NSwgMHhlNCwgMHgwYiwgMHgxYiwgMHg2ZCwgMHhlOSwgMHg0YSwgMHg2OCwgMHgwYywgMHg1MCwgMHhkYywKKyAgMHgyNywgMHg1YSwgMHhiNCwgMHhkNywgMHhmMCwgMHhkZSwgMHhkMiwgMHhkYiwgMHgyMywgMHhjMiwgMHhkMiwgMHhhMywKKyAgMHhhMiwgMHgyYSwgMHg4YiwgMHg3MiwgMHg0NiwgMHg5NiwgMHgzYywgMHhhYSwgMHhmNywgMHg5NCwgMHgyNiwgMHhiYSwKKyAgMHhhNCwgMHhlNSwgMHhkYSwgMHgzNSwgMHhkOCwgMHgyOSwgMHg3MiwgMHg5NiwgMHg4OCwgMHhmOCwgMHhmOCwgMHg2ZCwKKyAgMHgxYiwgMHhjMiwgMHhiNiwgMHgwYywgMHg2MywgMHgzYywgMHhkOSwgMHg4MCwgMHhiNCwgMHgwNCwgMHgzMSwgMHgwOCwKKyAgMHg2YSwgMHhjMCwgMHhjYSwgMHgxOCwgMHg2NSwgMHgwNCwgMHhlMywgMHhjYywgMHhhNSwgMHg0NSwgMHhmNiwgMHg0YywKKyAgMHgwNiwgMHhjNCwgMHg3ZCwgMHg5OCwgMHhlNSwgMHg4YSwgMHhhNywgMHg2ZSwgMHhiOCwgMHg1NCwgMHgyZSwgMHhkYiwKKyAgMHg1ZCwgMHhlYywgMHg5ZCwgMHgwYywgMHhkMiwgMHhhMywgMHhjYiwgMHg3ZiwgMHg4MiwgMHg0YSwgMHg5NCwgMHg1ZiwKKyAgMHg1MiwgMHg4OCwgMHhmMiwgMHg4OSwgMHgyYiwgMHg1MSwgMHgzYywgMHg0OSwgMHg0MSwgMHg2MiwgMHgyNywgMHg5NCwKKyAgMHgxMywgMHg0OCwgMHg4YiwgMHgyMiwgMHg5NywgMHgwYywgMHhlNywgMHg0MSwgMHhkZCwgMHhhNCwgMHhiNiwgMHg5MSwKKyAgMHgxMCwgMHhkZSwgMHhlYSwgMHgwYywgMHgxNywgMHhiZCwgMHg0OSwgMHhlZCwgMHgxYywgMHg1OSwgMHg4ZiwgMHg4MywKKyAgMHgyOCwgMHg3ZiwgMHhlNCwgMHgxNCwgMHg3OCwgMHg2YSwgMHg2MSwgMHgxOCwgMHg4MSwgMHg1ZiwgMHhjMiwgMHgwNCwKKyAgMHhhOCwgMHg2NCwgMHg3YywgMHg5NiwgMHgwOSwgMHhkMiwgMHhkYSwgMHgxZiwgMHg1ZCwgMHgxZiwgMHg5ZiwgMHg0ZiwKKyAgMHg2ZCwgMHg4MCwgMHhlZCwgMHgxYSwgMHhkZSwgMHhmYywgMHhkMiwgMHg5MywgMHhjNywgMHg3ZiwgMHg4ZSwgMHgwOCwKKyAgMHhlNCwgMHhjMCwgMHg2OSwgMHhjOSwgMHg3NSwgMHg2ZCwgMHhmNCwgMHg2YSwgMHgxYiwgMHhkNCwgMHgzNCwgMHhjMiwKKyAgMHhmNCwgMHhlMiwgMHgxNywgMHgwNiwgMHg2ZCwgMHg4MywgMHgxMSwgMHhkZiwgMHg1NCwgMHhmNiwgMHg0NiwgMHg2OSwKKyAgMHg3MSwgMHhmNCwgMHg3MiwgMHgwZiwgMHg4MywgMHgxMywgMHhkOCwgMHg1YywgMHgzNSwgMHg4OCwgMHgwZCwgMHgzZiwKKyAgMHg5ZiwgMHg2NCwgMHhjZCwgMHgwZCwgMHg2OSwgMHg3MSwgMHhkOCwgMHgwZCwgMHhkZCwgMHg0NiwgMHg4ZiwgMHgwNywKKyAgMHg1OCwgMHg3ZSwgMHhkOCwgMHg5YiwgMHhlZiwgMHgzMiwgMHgxMCwgMHhiNCwgMHg2YywgMHhlMiwgMHgyOCwgMHgwYywKKyAgMHhjYiwgMHg2YywgMHgzZCwgMHgyMywgMHgxYSwgMHhkNywgMHgwZCwgMHhhZSwgMHg1ZiwgMHhhYywgMHgzMSwgMHg5NywKKyAgMHgwYiwgMHg1MSwgMHhmMywgMHhmNywgMHg2OSwgMHg1ZiwgMHhiYywgMHg1YywgMHhkYywgMHg1NiwgMHhjNSwgMHg5MCwKKyAgMHg2NiwgMHgyZSwgMHhjOSwgMHg4MywgMHhiZSwgMHg4ZiwgMHhkZiwgMHg1ZSwgMHg2MywgMHhiOSwgMHhiNiwgMHgzMSwKKyAgMHhlZiwgMHg2NywgMHg5YiwgMHhjZCwgMHhlOSwgMHhlMSwgMHg3YiwgMHg3YSwgMHg5NiwgMHg0NCwgMHgwOCwgMHgzYiwKKyAgMHhlMCwgMHg0OSwgMHgxNCwgMHg5NywgMHg4YiwgMHg4NSwgMHg4NiwgMHg3YiwgMHhiOSwgMHgwYywgMHhiYiwgMHg3MiwKKyAgMHhlNCwgMHhiNywgMHhlOSwgMHhkMiwgMHhmYywgMHg4YywgMHg0MiwgMHg4MiwgMHg0MCwgMHgwOCwgMHg5ZSwgMHg2NSwKKyAgMHhiMSwgMHhiYywgMHg4NCwgMHhjZSwgMHhlNiwgMHg3NywgMHhlMiwgMHhlMiwgMHgzOCwgMHg5ZiwgMHhiMCwgMHhlOSwKKyAgMHg4NSwgMHgzNSwgMHhjZSwgMHg2MiwgMHhjZCwgMHg4YSwgMHg2YSwgMHg0MSwgMHhkNCwgMHg1MiwgMHhmNywgMHg5NCwKKyAgMHgwNiwgMHhjMSwgMHgyNSwgMHhkOCwgMHhlMiwgMHg1MywgMHg5YSwgMHg2MCwgMHg0ZCwgMHgxNiwgMHg1MiwgMHhiZSwKKyAgMHgxOSwgMHgwMiwgMHhjOSwgMHhiNywgMHhkNiwgMHg1OCwgMHg4ZSwgMHgyMiwgMHgyZCwgMHg0YiwgMHg0OSwgMHhiZiwKKyAgMHg0MCwgMHgzZCwgMHg1NiwgMHg3NywgMHhmZSwgMHg5MiwgMHhjMywgMHhhNywgMHgwZCwgMHgyYywgMHg1YiwgMHg0ZSwKKyAgMHgxZSwgMHhjOCwgMHhiMiwgMHhkMCwgMHg2NSwgMHgyNiwgMHhhMCwgMHg1YywgMHhmYSwgMHg4YSwgMHgwMCwgMHg1YSwKKyAgMHhjYiwgMHgwNywgMHg2YywgMHhhMywgMHhkZiwgMHhiZSwgMHhjOCwgMHg2NCwgMHgyYywgMHg4NywgMHhhMywgMHg3NSwKKyAgMHg2YiwgMHgyNSwgMHhmNiwgMHgxMCwgMHg4OSwgMHhjZCwgMHg2ZCwgMHg4ZCwgMHhhOSwgMHgyZSwgMHg2MiwgMHg3YywKKyAgMHg3OCwgMHhiNiwgMHg5ZCwgMHg5YywgMHg3NSwgMHhjMiwgMHgwYSwgMHgyOCwgMHg0YSwgMHgyMiwgMHg2MSwgMHhlYSwKKyAgMHgzMywgMHg2MiwgMHg2OSwgMHhhYywgMHhjOCwgMHg3OCwgMHhhNSwgMHhmZCwgMHgyZSwgMHg2OCwgMHg0NSwgMHg4OSwKKyAgMHhiNiwgMHhjOCwgMHhiYywgMHgwOCwgMHhmZCwgMHhmZSwgMHhlYSwgMHg4YywgMHhhOSwgMHhiMywgMHg5NiwgMHgwMywKKyAgMHgxNCwgMHg2OSwgMHgzMCwgMHgyOCwgMHg4OCwgMHg5OCwgMHg5NCwgMHhmZSwgMHgyZCwgMHgzNSwgMHgyNiwgMHg3NCwKKyAgMHg0OSwgMHhhNSwgMHg3NiwgMHhkYywgMHhjYSwgMHg0YywgMHg5YywgMHhmMiwgMHhlYSwgMHg0YywgMHg5ZiwgMHgwNywKKyAgMHhhOSwgMHg4ZSwgMHgwYywgMHg4YSwgMHhhMywgMHg5OSwgMHhlNywgMHgxZSwgMHhmYywgMHg5MSwgMHgzNCwgMHgxNSwKKyAgMHhhZCwgMHg1OSwgMHgyZSwgMHg3NSwgMHg5YSwgMHg3ZSwgMHhkMCwgMHgyYSwgMHgyZSwgMHhiMywgMHgyMiwgMHg4YiwKKyAgMHgyMSwgMHg4NCwgMHhkZCwgMHg0MSwgMHg5MCwgMHgwYiwgMHg1MSwgMHhjZiwgMHg0NiwgMHg1ZCwgMHgyYywgMHg3NCwKKyAgMHgyZiwgMHg2YywgMHgyMCwgMHg5MywgMHhjYiwgMHg0YiwgMHhkNywgMHhmNywgMHhhMCwgMHgwNywgMHgyZiwgMHgxNSwKKyAgMHgyNiwgMHhmZiwgMHgwNCwgMHgwNSwgMHg4MCwgMHg4NCwgMHhjMywgMHgwNSwgMHg1YywgMHg3ZCwgMHgxOCwgMHgwNSwKKyAgMHhkMywgMHg3MiwgMHg3OSwgMHg0NywgMHhkYiwgMHg2MSwgMHgxZSwgMHhhYywgMHhlYiwgMHhhYiwgMHgzZCwgMHhjMywKKyAgMHgzOSwgMHhmNiwgMHg0NiwgMHg5ZiwgMHhjMywgMHg0NCwgMHgzMSwgMHhjMiwgMHgzYSwgMHgwMiwgMHhhZSwgMHhjYywKKyAgMHhiOSwgMHgyMywgMHhkMiwgMHg3YywgMHhiOCwgMHgzMywgMHg5YSwgMHg2OCwgMHhlMSwgMHgyMywgMHhhNywgMHhmOCwKKyAgMHgwZiwgMHhmZiwgMHg4MywgMHgyOCwgMHgwZCwgMHg3OCwgMHg5NSwgMHhkZCwgMHg1MywgMHgwMCwgMHg0MSwgMHhiZCwKKyAgMHhhNiwgMHgyNCwgMHgxZiwgMHg2YSwgMHg5NCwgMHhjOSwgMHg5OSwgMHgwNiwgMHg5MywgMHhiYywgMHg0MSwgMHg4MywKKyAgMHgwYSwgMHhiNSwgMHgyMSwgMHhkYiwgMHgxNywgMHhmMywgMHgzNSwgMHg5NywgMHgzYywgMHgyNywgMHg3OCwgMHgyZCwKKyAgMHg1YSwgMHgxMywgMHg2ZiwgMHg1NCwgMHhmMCwgMHhmZiwgMHgwMCwgMHgzNiwgMHhhNiwgMHgwYywgMHhjMCwgMHhiNSwKKyAgMHg0OSwgMHhjOCwgMHg4NiwgMHhmOCwgMHhlYSwgMHhlOCwgMHhmNSwgMHhlOSwgMHhiYiwgMHhhMywgMHg3NiwgMHhiZCwKKyAgMHg2MiwgMHgwMywgMHhkMCwgMHgyZCwgMHgwNCwgMHhmYiwgMHhiYiwgMHhiMywgMHgwMywgMHhkYSwgMHhhMCwgMHg2YiwKKyAgMHhkMSwgMHg5YywgMHgxNywgMHgzOSwgMHgxOSwgMHhmZCwgMHhjOSwgMHhkOSwgMHhmNywgMHhhZiwgMHhlYywgMHhlNCwKKyAgMHg3MiwgMHgzMCwgMHg0ZCwgMHg0YywgMHg0YSwgMHg0NywgMHgxYywgMHhlOCwgMHgzZSwgMHg3NywgMHg0NSwgMHgzYiwKKyAgMHgyOSwgMHgwMSwgMHhkNCwgMHhkYSwgMHg0ZCwgMHg1YSwgMHhjNSwgMHhkYiwgMHhlOSwgMHgyMSwgMHhjOSwgMHg4MiwKKyAgMHg1MywgMHg2MywgMHhiNCwgMHg1NCwgMHgxZiwgMHg4OCwgMHhmOCwgMHg3NSwgMHg0ZCwgMHhhNSwgMHhmNywgMHg3NiwKKyAgMHhkOCwgMHg0MCwgMHhlZiwgMHg4NSwgMHhlOCwgMHgwNywgMHhkYSwgMHg5NCwgMHhkOCwgMHhhMiwgMHg4NCwgMHhlOCwKKyAgMHg0NywgMHgzMCwgMHg3ZiwgMHhhMywgMHhjNCwgMHg3ZSwgMHhjNCwgMHg3ZCwgMHg4NSwgMHgwZSwgMHg1ZSwgMHhiMiwKKyAgMHg4MSwgMHhmMCwgMHg5NSwgMHgxOCwgMHhjMywgMHhiZSwgMHhhMiwgMHgyYywgMHg2ZCwgMHhjNCwgMHg0MSwgMHg1OCwKKyAgMHhkZSwgMHg5MSwgMHhjMywgMHg4NSwgMHg2OCwgMHhkNiwgMHg3NiwgMHg5MSwgMHgxYiwgMHgzMCwgMHgwMiwgMHhhMywKKyAgMHg4NCwgMHg3YiwgMHhmYywgMHg3ZCwgMHg4YywgMHg0NCwgMHhjOCwgMHhjZCwgMHg2NywgMHhiNywgMHhlYSwgMHhlZCwKKyAgMHg4MSwgMHgzNywgMHg1MywgMHhiYiwgMHg2ZCwgMHgzMiwgMHhlMSwgMHhjZCwgMHgzZiwgMHg2ZSwgMHgyNiwgMHg1MiwKKyAgMHgxMCwgMHgwMiwgMHg4NiwgMHhjNywgMHgyMCwgMHhjMywgMHgzZCwgMHhkZCwgMHg2MywgMHg1ZCwgMHgzNywgMHhjMSwKKyAgMHhlZCwgMHhmYiwgMHhmMiwgMHhiNywgMHg3NCwgMHhkMSwgMHhmZCwgMHhmNSwgMHhkOCwgMHgxMiwgMHhiYSwgMHg5MywKKyAgMHhhNCwgMHgxZSwgMHhiNCwgMHhmNSwgMHg1ZCwgMHgzMSwgMHhmNCwgMHgyYywgMHg1OCwgMHg4NywgMHg4OCwgMHg1MywKKyAgMHgxZCwgMHg2NywgMHgyMCwgMHhhOCwgMHhlYywgMHhhMSwgMHg3MywgMHhhZiwgMHhmMiwgMHgzYiwgMHg4YywgMHgyOSwKKyAgMHhjMywgMHg0MSwgMHhjNCwgMHg0YywgMHhkYiwgMHg2MCwgMHg3MCwgMHgyYywgMHg4MiwgMHhhOCwgMHhiYiwgMHhiZSwKKyAgMHgyYiwgMHgxYSwgMHhiYSwgMHhhOCwgMHhjYywgMHg1MywgMHhhNiwgMHg2NSwgMHgxNSwgMHgyZiwgMHgwMCwgMHgwMywKKyAgMHgzMSwgMHgzOSwgMHhkYSwgMHhhZCwgMHg4MSwgMHgzNSwgMHhmMSwgMHhlMiwgMHhlOSwgMHgwYiwgMHgxMiwgMHhlZSwKKyAgMHhjOCwgMHg1MSwgMHg5MiwgMHgwZSwgMHg3YiwgMHg4MiwgMHhkNywgMHg4ZCwgMHhmOCwgMHgyOSwgMHhjZiwgMHgzOSwKKyAgMHg4YSwgMHgxYywgMHgyMiwgMHhlMywgMHg0OCwgMHg0ZiwgMHhmNCwgMHg0OSwgMHgzNiwgMHhlNywgMHg5ZSwgMHg3ZSwKKyAgMHg2MywgMHg2ZiwgMHg4OCwgMHgxMCwgMHg0YywgMHhhOSwgMHhlZiwgMHhjNCwgMHgwOCwgMHgwYiwgMHhkMywgMHhkMCwKKyAgMHg0ZSwgMHg1ZSwgMHg3ZiwgMHg0YywgMHhiNiwgMHhmZSwgMHgzYiwgMHgzNywgMHg0MCwgMHg3NSwgMHhkNSwgMHhmMSwKKyAgMHgxYywgMHhmYywgMHhjZCwgMHg4YiwgMHg1NSwgMHg0MCwgMHhmOSwgMHhlNCwgMHg5YywgMHhkMywgMHg0MiwgMHg2MSwKKyAgMHgxZCwgMHhmMCwgMHgwMiwgMHgzMSwgMHg5NSwgMHhiNCwgMHhmNiwgMHgxMSwgMHg0ZCwgMHgzYywgMHg1MCwgMHhiNSwKKyAgMHhhNiwgMHg1YywgMHg5MiwgMHhkMiwgMHgwNiwgMHhmOCwgMHg4NCwgMHg0OCwgMHgwZiwgMHg2NiwgMHg3MywgMHg1OCwKKyAgMHgwZiwgMHg0ZSwgMHhmMiwgMHg2OSwgMHg5NywgMHgyZCwgMHg4NCwgMHgxMiwgMHg5MSwgMHg3NiwgMHgwMiwgMHgwOCwKKyAgMHhlNywgMHhlMiwgMHg2ZSwgMHg1NSwgMHhlNSwgMHg2YSwgMHg5NCwgMHhiYywgMHgyZiwgMHg5MCwgMHg4OSwgMHgyNywKKyAgMHg2NCwgMHgyNywgMHg2MiwgMHgyMiwgMHgyZiwgMHhjYywgMHgwZSwgMHgxOCwgMHg5YSwgMHgyNiwgMHgyOCwgMHg4ZiwKKyAgMHgwOCwgMHgxMywgMHg2MiwgMHg1YywgMHg1ZSwgMHhlZiwgMHhkZSwgMHgwOSwgMHg5YiwgMHhlYywgMHg4NCwgMHg0OCwKKyAgMHg3MSwgMHg2ZiwgMHgyZCwgMHgyNiwgMHhiZCwgMHhmMCwgMHhhZCwgMHhkNywgMHg2MSwgMHhiNywgMHg0YSwgMHhlZSwKKyAgMHhiNiwgMHg0NywgMHhhNCwgMHg2ZSwgMHg5NiwgMHg4MywgMHhiMSwgMHgyOSwgMHgwNCwgMHg5ZSwgMHhjZCwgMHhlNywKKyAgMHg0MywgMHg4NiwgMHhjNCwgMHgyNywgMHg4MCwgMHg3MCwgMHg1MiwgMHhlZSwgMHhiOSwgMHg0OCwgMHgxYSwgMHgwOSwKKyAgMHg2YywgMHg3ZSwgMHgwOSwgMHg3ZSwgMHgyMCwgMHg1OSwgMHg1MCwgMHhlYiwgMHgzZCwgMHg0MiwgMHgwZCwgMHg5MCwKKyAgMHg4MiwgMHg4ZCwgMHg0OCwgMHhkYSwgMHhiYiwgMHg0NiwgMHhkNiwgMHhhOCwgMHg3MCwgMHhjZiwgMHhmOSwgMHg0MywKKyAgMHhiMCwgMHgzYiwgMHg3ZiwgMHg1NywgMHg3ZSwgMHgxYSwgMHhlYiwgMHgyZiwgMHgxNywgMHhjMiwgMHhjNSwgMHg0ZSwKKyAgMHhhZiwgMHgyZSwgMHhhYiwgMHgyNSwgMHhmNywgMHhiOCwgMHg4YywgMHgzNSwgMHhlMCwgMHhmNCwgMHhiNCwgMHg2ZSwKKyAgMHg3ZSwgMHg1MiwgMHg0OSwgMHhhMiwgMHhjZSwgMHgxYSwgMHg5ZSwgMHgwYSwgMHhiZiwgMHg3YSwgMHhmYywgMHg0YSwKKyAgMHhlZiwgMHhhMSwgMHhkNSwgMHgzMSwgMHg1MCwgMHhlNywgMHgxNiwgMHgxZiwgMHg0ZSwgMHhhMCwgMHhjOSwgMHhjOSwKKyAgMHg1NywgMHg4MCwgMHgxYiwgMHhlOSwgMHgyNCwgMHg4NywgMHgxZCwgMHhjZCwgMHg5OSwgMHgxOCwgMHg5MywgMHgzYiwKKyAgMHhmNywgMHg5YiwgMHhmOCwgMHg3MCwgMHgzMiwgMHgwNiwgMHg2YiwgMHhhYSwgMHgzYywgMHg4MiwgMHgwZSwgMHgwYiwKKyAgMHg1YSwgMHgzMSwgMHhhNiwgMHg2OCwgMHg0ZSwgMHhlZCwgMHhjYSwgMHg4OCwgMHgxYSwgMHgyZSwgMHhiMywgMHhjYSwKKyAgMHg3ZSwgMHgyNCwgMHg0YywgMHg5MiwgMHhiYywgMHg1YSwgMHg5NCwgMHgzMywgMHgyYSwgMHhlYSwgMHhjYSwgMHhlZSwKKyAgMHhkZCwgMHgwYiwgMHg3YSwgMHg1MCwgMHhmNywgMHg0MiwgMHg2YSwgMHhlMSwgMHg2YSwgMHg3ZiwgMHg1ZCwgMHgxOCwKKyAgMHhjNCwgMHg1MCwgMHgyOSwgMHg1MSwgMHg5ZSwgMHhlMCwgMHhlOCwgMHhjNiwgMHg4NywgMHg3MywgMHgwYiwgMHhkNSwKKyAgMHg5ZSwgMHhiMywgMHgxOSwgMHhiZiwgMHhlYywgMHgyZiwgMHhhMSwgMHg0OCwgMHhjYSwgMHg2OSwgMHhlMywgMHhhZCwKKyAgMHg4MCwgMHgxZSwgMHg4OCwgMHgwZiwgMHhjNywgMHg4YywgMHgzNSwgMHhiMiwgMHgzMiwgMHgyYSwgMHg5MCwgMHg4MiwKKyAgMHg0NSwgMHg3OSwgMHhkZiwgMHhjYSwgMHhlOCwgMHhjMSwgMHhlMCwgMHg5NCwgMHhjZCwgMHgwZiwgMHg5OSwgMHg1ZCwKKyAgMHg3NywgMHg4ZSwgMHg5OCwgMHgwZiwgMHgyNywgMHgzZSwgMHg1YywgMHhmYiwgMHg4MCwgMHhmNSwgMHg4NCwgMHgzMSwKKyAgMHg4NywgMHhkOCwgMHgwMSwgMHgwYiwgMHgxNCwgMHg3OSwgMHhhOCwgMHg2MSwgMHgzOSwgMHhmYiwgMHg5OCwgMHg3NywKKyAgMHhjNywgMHgzZSwgMHhkOCwgMHg3YiwgMHhjMCwgMHhmMiwgMHg4ZCwgMHg2MCwgMHgxNywgMHhlNiwgMHg4NSwgMHhkMSwKKyAgMHhlZSwgMHg1NiwgMHhkNSwgMHgzNCwgMHhmYiwgMHg4MCwgMHhiOSwgMHgzNSwgMHg2OSwgMHg3NSwgMHg5OSwgMHgzNSwKKyAgMHgxZiwgMHhkNiwgMHg2ZiwgMHhjOCwgMHg1YywgMHhkMCwgMHgxNCwgMHhlZSwgMHgxNiwgMHg2OCwgMHgxYSwgMHg2ZiwKKyAgMHg3OSwgMHg4NSwgMHhhMCwgMHhmZSwgMHhhNiwgMHg4MiwgMHgyZSwgMHg2MCwgMHgxNCwgMHgzYywgMHhmYywgMHg5ZSwKKyAgMHhlZCwgMHg5OSwgMHgxZSwgMHhiMiwgMHg3NywgMHhkZiwgMHhlMywgMHhmZSwgMHgyNSwgMHg2YywgMHg5OCwgMHgyZCwKKyAgMHhjYiwgMHhiYywgMHhiMCwgMHg2ZCwgMHg4MCwgMHhjMCwgMHg2MywgMHhiYywgMHgzOSwgMHhjNiwgMHg5MCwgMHg5NywKKyAgMHhkNiwgMHg4NSwgMHhhYiwgMHgxNiwgMHgxZiwgMHhhOSwgMHhjNCwgMHhjYSwgMHgyYSwgMHgwMSwgMHgxZiwgMHgyMiwKKyAgMHhhZCwgMHg1ZSwgMHhiYywgMHhjNSwgMHhmMSwgMHhkMywgMHg3YSwgMHhkYSwgMHhiYywgMHgyNCwgMHgyOSwgMHgyMSwKKyAgMHhiNCwgMHhhZCwgMHg4NSwgMHhmZCwgMHg4MywgMHhhNiwgMHhhMiwgMHhlMiwgMHg5ZSwgMHhkOSwgMHhmOCwgMHgxZiwKKyAgMHhiNCwgMHgzNywgMHhiMiwgMHgzYiwgMHhiYiwgMHhlNSwgMHhjZCwgMHhjYywgMHgwMiwgMHhkOSwgMHhkYywgMHhiOCwKKyAgMHgwYiwgMHhhNCwgMHhhMiwgMHgxZCwgMHg5OSwgMHhjZCwgMHhkYSwgMHhiZSwgMHg5YiwgMHgzMiwgMHg5OCwgMHg3OCwKKyAgMHhiMCwgMHgwYiwgMHg4NSwgMHgyYiwgMHhlZiwgMHhmZCwgMHg3NCwgMHhkMSwgMHg4NCwgMHhmYSwgMHg0ZiwgMHhmMCwKKyAgMHhmMSwgMHgwYSwgMHg3ZCwgMHhjOCwgMHg2NSwgMHg3NywgMHhlNSwgMHgzMCwgMHhmYSwgMHhiNywgMHg0NiwgMHg5ZSwKKyAgMHg3NiwgMHg1MywgMHg2NCwgMHhlZSwgMHg2ZSwgMHhlOSwgMHhiZiwgMHhhYywgMHgyMiwgMHg3YiwgMHhiNCwgMHg4NiwKKyAgMHhkZCwgMHhjOSwgMHg2NywgMHhiYiwgMHgwYywgMHg2ZiwgMHg5NiwgMHg5MSwgMHg1YiwgMHg5NiwgMHgyOSwgMHgwMSwKKyAgMHgzOSwgMHg1YiwgMHhmNywgMHhkZiwgMHgyYiwgMHg5ZSwgMHg3OSwgMHhlZiwgMHgxZSwgMHg1NywgMHg4YiwgMHg3YiwKKyAgMHhhZSwgMHhiOCwgMHg3OSwgMHhjMCwgMHhhZCwgMHg4YSwgMHg5MSwgMHgzOCwgMHhlYywgMHhhYSwgMHg4MiwgMHg1YiwKKyAgMHgyOSwgMHg2ZCwgMHhjYSwgMHg3YiwgMHg3NiwgMHhiZSwgMHg2ZiwgMHgwNiwgMHgyZCwgMHgxYSwgMHhlYywgMHg5ZiwKKyAgMHg4OSwgMHgzYywgMHgxOSwgMHg5ZCwgMHg4ZSwgMHhkYiwgMHg1YywgMHg3MywgMHhiYSwgMHhkNSwgMHg5ZCwgMHg5YiwKKyAgMHg1OSwgMHg3YywgMHgzOCwgMHg5OSwgMHhhZSwgMHg3YiwgMHg0YiwgMHhiNiwgMHg2NywgMHhlMCwgMHhmOSwgMHgyZSwKKyAgMHhiOSwgMHgyZiwgMHg4YywgMHgzMSwgMHgxYiwgMHg0MywgMHhkYSwgMHhkMCwgMHhlYiwgMHhmZCwgMHhiMywgMHhkOCwKKyAgMHgwMywgMHhkOSwgMHhlNywgMHhmMywgMHhjMiwgMHhiNywgMHhjOCwgMHhlOSwgMHg4YiwgMHg0NiwgMHhmMiwgMHhhZSwKKyAgMHgyOSwgMHg2NSwgMHhmMSwgMHgyMiwgMHhkNiwgMHhmNiwgMHhiOCwgMHhiOSwgMHgzMywgMHgzNCwgMHhlMiwgMHhhZSwKKyAgMHg0OCwgMHhjOCwgMHg0MywgMHhhMiwgMHgyYSwgMHhkYSwgMHg4YSwgMHg4OSwgMHg5MiwgMHgwYSwgMHhjMCwgMHhiOCwKKyAgMHgxOSwgMHgzNSwgMHg2YywgMHgwOSwgMHhmMywgMHhlNiwgMHgxMywgMHhmZSwgMHg2NiwgMHhjMiwgMHg3OSwgMHg1YiwKKyAgMHgwYywgMHg4NCwgMHg0YywgMHhiMSwgMHg0MywgMHg1MSwgMHg0MywgMHhiNCwgMHhmMywgMHg3NCwgMHg5ZCwgMHg4OSwKKyAgMHg5ZCwgMHgyMCwgMHg4ZiwgMHg3MywgMHgwZiwgMHg5OCwgMHhiMCwgMHhkZCwgMHg3NiwgMHgyNywgMHg3OSwgMHhhZSwKKyAgMHgxZSwgMHg3OSwgMHg2ZSwgMHgwOCwgMHhjZSwgMHgxNSwgMHhjOSwgMHgyZSwgMHg2NywgMHg3ZSwgMHhmMywgMHg3YSwKKyAgMHg2ZiwgMHhmOSwgMHhkNSwgMHg4MCwgMHhiNywgMHhlMCwgMHhkMiwgMHgyYywgMHgxZSwgMHhmZiwgMHg4OSwgMHgxNiwKKyAgMHg4OSwgMHgyNCwgMHg2YSwgMHg0OCwgMHgwMiwgMHhmNSwgMHg2MCwgMHgzYiwgMHg3OSwgMHgyNywgMHhhMSwgMHg0ZCwKKyAgMHg1MiwgMHhlYSwgMHhlZSwgMHgxYSwgMHg0YywgMHhkMCwgMHgwYywgMHhiMCwgMHg5NSwgMHg4ZiwgMHg4YywgMHgzMCwKKyAgMHhlNCwgMHhhMiwgMHgwMCwgMHg1MiwgMHg5MCwgMHhhOCwgMHhiMSwgMHg0MiwgMHgyYywgMHg1MCwgMHhiYywgMHhhZCwKKyAgMHg5MSwgMHg2MiwgMHg4NSwgMHgwMCwgMHhkYiwgMHhkOSwgMHgxZCwgMHhlZCwgMHgwZSwgMHgxMiwgMHg2YiwgMHg3YiwKKyAgMHg3YSwgMHhiYSwgMHgzMywgMHg5MiwgMHgxNywgMHgwNSwgMHhhMiwgMHg5ZCwgMHgzZSwgMHhkZCwgMHhmNSwgMHgzMywKKyAgMHhiYywgMHhhMywgMHgwZiwgMHhkNywgMHhhMSwgMHg1NywgMHgxOCwgMHhhZSwgMHg2NSwgMHg2NywgMHhiMCwgMHhkYywKKyAgMHhhNCwgMHg3NywgMHhhMSwgMHg2MiwgMHhmYSwgMHg2OCwgMHhmOCwgMHhlNCwgMHhjNSwgMHg4YiwgMHg5NiwgMHgzYywKKyAgMHhhZiwgMHgzZCwgMHg4OCwgMHhmYiwgMHhhNywgMHg4ZiwgMHgxZSwgMHg2MSwgMHg2ZCwgMHg0MSwgMHg0ZCwgMHhiNCwKKyAgMHhmOSwgMHhjNSwgMHhmMCwgMHgwNSwgMHg1ZSwgMHg2YywgMHhiZiwgMHg1NiwgMHg2NywgMHhlNiwgMHgwOCwgMHg2NiwKKyAgMHhmZCwgMHhlZiwgMHgwZCwgMHhlOSwgMHgzNywgMHg5MSwgMHhjZiwgMHhjMSwgMHg5ZiwgMHhkMiwgMHhmYiwgMHhkNiwKKyAgMHgwYiwgMHhmYSwgMHg1YywgMHhlNCwgMHgyZCwgMHgzYywgMHhjYywgMHhkYiwgMHg1OCwgMHg1ZSwgMHg1YywgMHg5MCwKKyAgMHgyNywgMHg4YiwgMHg5ZSwgMHg1NCwgMHg2NCwgMHg5ZSwgMHg5YiwgMHhiNCwgMHg5YSwgMHg4NSwgMHhjYiwgMHg3ZCwKKyAgMHgzNCwgMHgxOCwgMHhlZSwgMHhmNiwgMHgyZCwgMHgxNywgMHhkMSwgMHg2NCwgMHgyNCwgMHhjMCwgMHhkMSwgMHg3OSwKKyAgMHg5MiwgMHhhMSwgMHg2OCwgMHgwYywgMHgxMCwgMHgyZSwgMHgxMCwgMHhlYSwgMHgwZSwgMHhiNCwgMHg2YiwgMHg2NiwKKyAgMHhiNCwgMHhmYiwgMHhlMiwgMHhjNSwgMHg4MCwgMHg2NiwgMHhmNiwgMHhmNCwgMHhjNSwgMHg4YiwgMHhkZSwgMHg4MiwKKyAgMHg3MCwgMHhlZiwgMHgzMywgMHgzNywgMHhhNSwgMHg3MywgMHgzZiwgMHhkMSwgMHhlYiwgMHg4ZSwgMHg2OCwgMHg2YSwKKyAgMHhiMiwgMHg3MywgMHhlMiwgMHhkZiwgMHhhMSwgMHhkZiwgMHg3YywgMHg5MSwgMHhiYywgMHgzZCwgMHgzZCwgMHgzZiwKKyAgMHhmMiwgMHgxYywgMHgzMywgMHhiOCwgMHg1ZSwgMHgxYywgMHgzMSwgMHhmNCwgMHg1MiwgMHg0NCwgMHgxMSwgMHg4MiwKKyAgMHg1ZCwgMHhhMiwgMHgzMSwgMHgxYiwgMHgwYywgMHg1ZiwgMHhiMiwgMHg0OSwgMHg0MiwgMHg2MywgMHgxMiwgMHhjNSwKKyAgMHgyYSwgMHhlYSwgMHgxMywgMHhmYywgMHg1ZCwgMHg5OCwgMHgxMSwgMHg0MSwgMHhjNiwgMHhmMSwgMHgyYywgMHhiZiwKKyAgMHhjYywgMHgxYiwgMHgxZiwgMHhiNiwgMHg2OSwgMHhjYiwgMHg5YywgMHhmNiwgMHgzNiwgMHg1YywgMHgxYywgMHg5YywKKyAgMHhlOCwgMHgyNiwgMHhkMSwgMHg5NCwgMHhjZCwgMHg5YSwgMHhjYSwgMHgzYiwgMHgzOCwgMHgxMywgMHg3NiwgMHg5MywKKyAgMHhhYywgMHhhOSwgMHhjZCwgMHhhMCwgMHhjMCwgMHgyMiwgMHg5YiwgMHhjZiwgMHg2YSwgMHgxNSwgMHg4NCwgMHhmYywKKyAgMHhmOCwgMHgxMCwgMHgwZiwgMHhjYSwgMHg2ZCwgMHg4MSwgMHhiOSwgMHg3YSwgMHgwYiwgMHhkZiwgMHg3YiwgMHgwYSwKKyAgMHg1MCwgMHg0YiwgMHhmZSwgMHg3NCwgMHg3ZiwgMHgzYywgMHgwNSwgMHhlZSwgMHgyYywgMHgyNCwgMHg2MiwgMHg2OCwKKyAgMHg2MSwgMHgxNiwgMHg4ZCwgMHhlMywgMHhhNywgMHhjYSwgMHg2ZSwgMHhkNiwgMHhjZSwgMHhlNSwgMHg2OSwgMHhiZCwKKyAgMHg3MywgMHgwNSwgMHg5ZCwgMHg0MywgMHg4MCwgMHg0NywgMHhjOCwgMHg0ZSwgMHhmYywgMHg1OSwgMHhiNiwgMHhkNCwKKyAgMHg5NCwgMHhkMiwgMHhhMiwgMHgzZCwgMHg4ZSwgMHhhMSwgMHhlNSwgMHg4YiwgMHhmYywgMHg3MiwgMHg1NSwgMHhjNSwKKyAgMHhkMywgMHgyZiwgMHhmZiwgMHhlMiwgMHhjYSwgMHg4NCwgMHhiNCwgMHg5OSwgMHg0MywgMHg3YSwgMHg5MywgMHg2YSwKKyAgMHg3OSwgMHgxMiwgMHhmYSwgMHg2ZiwgMHhlOCwgMHhiZCwgMHg1NiwgMHgyMywgMHg1OCwgMHhjYiwgMHg4MSwgMHhkMCwKKyAgMHg2YSwgMHgyMywgMHhiMCwgMHhhNCwgMHhjOSwgMHgzYiwgMHg3MSwgMHg2MSwgMHgzNCwgMHgxOSwgMHg3MiwgMHgxMiwKKyAgMHg2OCwgMHgxMywgMHg1NiwgMHhiOCwgMHhmNSwgMHhhNCwgMHg1NSwgMHhhMywgMHg2NCwgMHhkOCwgMHg4OCwgMHgwYiwKKyAgMHg5MSwgMHhjZSwgMHg5YiwgMHhjNCwgMHg2OSwgMHgyYSwgMHg1YiwgMHgxMCwgMHhlNiwgMHhkNCwgMHg2ZCwgMHhjZSwKKyAgMHg5ZCwgMHhlZiwgMHg5ZSwgMHg5ZSwgMHg4NCwgMHhiNywgMHhlNSwgMHhhYSwgMHhmNCwgMHhiYSwgMHhiZCwgMHg4NCwKKyAgMHhhMCwgMHgwZCwgMHgwMiwgMHg0YSwgMHgwMywgMHhlZSwgMHhjMywgMHg0NywgMHgzNCwgMHgzMywgMHgyYSwgMHhmNCwKKyAgMHhiYywgMHg0YywgMHhlOSwgMHgxOCwgMHhkNSwgMHg3MywgMHhjMiwgMHhkMSwgMHg3NCwgMHhkNiwgMHgwZSwgMHgxOCwKKyAgMHg3MSwgMHg0YywgMHhjZiwgMHgzNiwgMHhjOCwgMHhlYSwgMHhhMCwgMHhhMywgMHg5NiwgMHg1MywgMHgyNiwgMHgyYywKKyAgMHg2ZiwgMHgwNywgMHgyYSwgMHgwMiwgMHgyMiwgMHhmNSwgMHhkYywgMHgyMCwgMHhjYywgMHhhNywgMHhjYywgMHg0NywKKyAgMHgxOCwgMHgyMSwgMHg2MywgMHg3YiwgMHg5NCwgMHg4NCwgMHg2NiwgMHgyZiwgMHgxMSwgMHgzYywgMHg5ZiwgMHg5NiwKKyAgMHhlZCwgMHg0MCwgMHg4MiwgMHhlZSwgMHhiNSwgMHgyNCwgMHgyNCwgMHg2OSwgMHhjMiwgMHgyYSwgMHg4ZSwgMHhjNywKKyAgMHhjNywgMHhmZiwgMHhlMywgMHhlOCwgMHg1MywgMHg0NiwgMHg5ZCwgMHhhYSwgMHhmNCwgMHhjNiwgMHgxNiwgMHgwZSwKKyAgMHg3ZSwgMHhjZiwgMHg4MCwgMHg5NSwgMHgxMiwgMHgwZCwgMHhiMiwgMHg0OCwgMHgxNSwgMHhlOSwgMHg1YywgMHg4YywKKyAgMHg3OCwgMHhlYSwgMHg5MCwgMHgwYSwgMHhlOSwgMHg4MSwgMHhiOCwgMHhhMiwgMHgzNCwgMHhhNywgMHgzNiwgMHg4NCwKKyAgMHgxNSwgMHhkMiwgMHgzNiwgMHg3OSwgMHhjZCwgMHgwOCwgMHg1ZSwgMHg0MSwgMHg5ZCwgMHg4NiwgMHg0OCwgMHg0NiwKKyAgMHg0NywgMHhjOSwgMHgxNywgMHgzYiwgMHgwMSwgMHhmOSwgMHgyMCwgMHgxNywgMHg3MCwgMHgyNSwgMHhjMiwgMHhiMiwKKyAgMHgyNywgMHg2ZiwgMHgyZiwgMHgyMywgMHg0YSwgMHg4NSwgMHhlMSwgMHgwMiwgMHg0MCwgMHgyMiwgMHhkMiwgMHhhNCwKKyAgMHhjYywgMHg1YywgMHhlZiwgMHhlOSwgMHgzMCwgMHhlOSwgMHg1NywgMHhkYSwgMHg2NywgMHhkYywgMHgyOCwgMHg4MywKKyAgMHgwMiwgMHg1NCwgMHg1NSwgMHhmMiwgMHhmMiwgMHhmZCwgMHhiYiwgMHg5MywgMHg5ZSwgMHg3MiwgMHhjOSwgMHgzMSwKKyAgMHhjZSwgMHg4MCwgMHgzNiwgMHg2YiwgMHhlMywgMHg1ZCwgMHgwNiwgMHgzNCwgMHhiMywgMHgyYSwgMHgzOSwgMHg0YiwKKyAgMHgyZiwgMHhiMywgMHgwZCwgMHgxZiwgMHg0MCwgMHg0ZSwgMHg1NSwgMHg0NSwgMHgyYywgMHg1ZiwgMHhmYywgMHgwZiwKKyAgMHgzMSwgMHg3NywgMHg4YSwgMHhkZiwgMHgwZSwgMHg4NSwgMHg5OCwgMHhiOCwgMHgwYiwgMHgwYiwgMHhmYiwgMHgzNSwKKyAgMHg4ZSwgMHgxNywgMHhmMywgMHg1NCwgMHhmNiwgMHg2ZSwgMHg1NSwgMHg1MSwgMHg0MCwgMHgxZiwgMHgzYiwgMHgxZiwKKyAgMHg2OSwgMHgwYywgMHhjNiwgMHhhZiwgMHhiNywgMHg1MSwgMHgzZiwgMHg1ZCwgMHg4NiwgMHgyOSwgMHg0NSwgMHg4MiwKKyAgMHhjOCwgMHg0ZiwgMHg5NiwgMHg2YywgMHhmYywgMHg4OSwgMHhkYywgMHhlZiwgMHgxYiwgMHgxZSwgMHhkMiwgMHhlNSwKKyAgMHgzMCwgMHgwYiwgMHg4MywgMHg2YywgMHhiYSwgMHgxNSwgMHg4YywgMHg1MSwgMHg2OCwgMHg1ZCwgMHg1MSwgMHhlYywKKyAgMHhjYSwgMHg2ZiwgMHhiOSwgMHhlZiwgMHg2YiwgMHhiOSwgMHg2MCwgMHhjYiwgMHgyYSwgMHgyMywgMHgzYywgMHhkZSwKKyAgMHgzYSwgMHhkMiwgMHg4YiwgMHg0OCwgMHhkMywgMHg4ZSwgMHgxOSwgMHg4MiwgMHg5NSwgMHhlYywgMHhiZiwgMHgxMywKKyAgMHg5OSwgMHhkZiwgMHhiZSwgMHg0NCwgMHg1YSwgMHg1OCwgMHgwZCwgMHhiMiwgMHg1MywgMHhkMywgMHgwNiwgMHg0NywKKyAgMHg5OCwgMHg3OCwgMHhlMCwgMHhlYiwgMHhjNSwgMHg2MiwgMHhkMywgMHgzOSwgMHhmNSwgMHgyYSwgMHg2MiwgMHhlZiwKKyAgMHg5NywgMHg4NCwgMHhkZSwgMHg2NywgMHgyNSwgMHhmNSwgMHhiNiwgMHhhMSwgMHhmOSwgMHhhNCwgMHg4NSwgMHhmNSwKKyAgMHgyNywgMHhiNywgMHg0ZSwgMHhmNiwgMHg5MywgMHg0MywgMHgxZCwgMHhiYSwgMHgwMCwgMHhkMCwgMHg4MSwgMHgzNiwKKyAgMHhlYiwgMHgxYSwgMHgxYSwgMHhlYSwgMHgyOCwgMHhhNCwgMHgxMiwgMHhkZSwgMHgzYiwgMHg1NiwgMHg4ZiwgMHhmNiwKKyAgMHhmZSwgMHhkZCwgMHg2YiwgMHhlOCwgMHhlMiwgMHgzNSwgMHg2NSwgMHhlOSwgMHg0MSwgMHhjYywgMHhmNSwgMHhhNiwKKyAgMHhkYiwgMHhhMCwgMHg0YSwgMHgwNSwgMHgwNCwgMHgxMywgMHgzNCwgMHg4NSwgMHg3MSwgMHgwNSwgMHhiMywgMHgyMiwKKyAgMHgyZCwgMHhhMywgMHhlZSwgMHhmYywgMHhhMSwgMHg1MywgMHg5YSwgMHgwZSwgMHhiOSwgMHg3MiwgMHg3MywgMHhmOCwKKyAgMHgyYSwgMHgzNywgMHgzMiwgMHhhNCwgMHg2NiwgMHgwMCwgMHgyMiwgMHgyOCwgMHhiOSwgMHg1YywgMHg3YiwgMHhhOCwKKyAgMHhkNywgMHgxMCwgMHhiZSwgMHg5MSwgMHgyYywgMHg0OCwgMHg1NywgMHhlMCwgMHgyOCwgMHgwOSwgMHgxMiwgMHg5ZiwKKyAgMHhlZCwgMHgzYiwgMHgzNiwgMHg2NCwgMHg2MywgMHgyOCwgMHhlMiwgMHg1ZSwgMHg2NywgMHhiMSwgMHhhNywgMHgzMCwKKyAgMHhhNCwgMHhjZSwgMHg1ZiwgMHg4MSwgMHg2ZCwgMHhkMywgMHgxZSwgMHgwNiwgMHg3YywgMHgzYiwgMHg4YywgMHg0NCwKKyAgMHg4OCwgMHhlYywgMHg4ZSwgMHhjMiwgMHgwMiwgMHgyMSwgMHg2YiwgMHhjNiwgMHhlMSwgMHhmNSwgMHg0OCwgMHhjMywKKyAgMHhhYywgMHhjMCwgMHhkNCwgMHhiNCwgMHg3ZCwgMHhlOCwgMHg1OSwgMHgyYSwgMHgwNSwgMHgyNCwgMHg0NiwgMHg3OSwKKyAgMHgyOSwgMHhiNiwgMHg0MSwgMHgxMSwgMHhjNywgMHg0ZSwgMHgxOCwgMHg4NCwgMHg4ZiwgMHg0YiwgMHg1MywgMHhhNywKKyAgMHg2NiwgMHg2MCwgMHgxYiwgMHgzNywgMHhkNywgMHgyZSwgMHhkYiwgMHhkMiwgMHg1YiwgMHgyOSwgMHgyZSwgMHg3MCwKKyAgMHhlZiwgMHg1YSwgMHhhYiwgMHg0MiwgMHhkMiwgMHhhOCwgMHg0ZiwgMHg3OCwgMHgxNCwgMHgxYiwgMHgyOCwgMHg0YSwKKyAgMHg0MSwgMHg3OCwgMHg4OSwgMHg4NSwgMHhkMCwgMHg5MSwgMHhiZiwgMHg2MywgMHg5ZSwgMHhmMCwgMHg2NCwgMHgyMCwKKyAgMHhlNywgMHg2YiwgMHgyNCwgMHg3ZiwgMHgxOCwgMHhiYSwgMHhjZSwgMHgxYiwgMHg1YiwgMHg3NywgMHg5OSwgMHhkMSwKKyAgMHhhZiwgMHgyZCwgMHhhOCwgMHg5NiwgMHgxYSwgMHg1MiwgMHg5MSwgMHhlYSwgMHhjZiwgMHg4NCwgMHg3YiwgMHhiZCwKKyAgMHhkNiwgMHhhZCwgMHhjMiwgMHgxNCwgMHg5OCwgMHgyMCwgMHg1ZSwgMHg2NCwgMHg5MSwgMHhiNywgMHg1YywgMHg3YSwKKyAgMHhlOCwgMHhhYywgMHg4YSwgMHhlYywgMHg5NiwgMHgzMCwgMHhjMCwgMHhmYiwgMHg4NywgMHgwYiwgMHg5NSwgMHhlYywKKyAgMHhlZiwgMHgwZiwgMHhkZSwgMHhiZCwgMHgzZCwgMHg3ZSwgMHhmYiwgMHhmNSwgMHg3ZSwgMHg3MiwgMHg3NCwgMHg5YiwKKyAgMHg1NSwgMHg1MywgMHhlYSwgMHhhYiwgMHhmZCwgMHhiNywgMHhkNSwgMHgyYywgMHg5ZiwgMHg4MiwgMHg0ZCwgMHg0OCwKKyAgMHhiYiwgMHg2NywgMHgzZiwgMHhlNCwgMHg2ZCwgMHhhYywgMHg4MCwgMHg0YywgMHhmYywgMHhhYiwgMHgyNCwgMHg3MCwKKyAgMHg4MywgMHg0MiwgMHgxOCwgMHhjOSwgMHhlNSwgMHgyNSwgMHhlMCwgMHgwOCwgMHg2MywgMHg0NSwgMHg5NSwgMHg5NywKKyAgMHgyYiwgMHg4ZiwgMHg3YywgMHhhNiwgMHhkYywgMHhhMCwgMHgxMiwgMHhiMSwgMHgwMCwgMHhjNCwgMHg0OCwgMHhhZiwKKyAgMHg2NCwgMHhhZiwgMHhjOSwgMHhlOSwgMHg5YSwgMHhiYywgMHgzYSwgMHgzOSwgMHhlOSwgMHhlOSwgMHhmNiwgMHhjZCwKKyAgMHhkMywgMHhlNywgMHg1MiwgMHg1ZiwgMHgwYywgMHg2MSwgMHhmMywgMHg0ZCwgMHgyOSwgMHg5NiwgMHg2NywgMHhjNCwKKyAgMHgzZiwgMHhmMSwgMHg5YSwgMHgxNiwgMHhjMywgMHgwMywgMHgxOCwgMHhkOCwgMHhmNywgMHg2MSwgMHgyNiwgMHgyNywKKyAgMHhkMiwgMHg4YywgMHg5MSwgMHgxYywgMHg4OCwgMHgxMywgMHhjZSwgMHhhYiwgMHgxOSwgMHg2YywgMHgyMSwgMHhjMywKKyAgMHgyMSwgMHhjYiwgMHg4YiwgMHg4NiwgMHhmNCwgMHhhMywgMHg5NiwgMHgyNCwgMHg2ZCwgMHg3NywgMHg2YiwgMHg1YSwKKyAgMHg5NywgMHgxNCwgMHhjNiwgMHgzMSwgMHhhMywgMHgzNiwgMHg0ZSwgMHg5NCwgMHg4NCwgMHgyNCwgMHg5MSwgMHhiMywKKyAgMHg2YSwgMHgwOCwgMHg5MiwgMHgxNSwgMHg0MywgMHhiNCwgMHhmOCwgMHg0MiwgMHhhYSwgMHg1OSwgMHg5MCwgMHg1MCwKKyAgMHg5YiwgMHhkYSwgMHgzZSwgMHhmNSwgMHgzNSwgMHg3MSwgMHhjYiwgMHg5MCwgMHg1ZCwgMHhkYywgMHg2NCwgMHg5NSwKKyAgMHg5OCwgMHg5ZSwgMHhiNiwgMHg4OCwgMHhkOCwgMHgzMCwgMHhiYiwgMHg1MSwgMHgzMiwgMHgyZSwgMHhjZCwgMHhmMywKKyAgMHg5MSwgMHhhYSwgMHgwNSwgMHhlZCwgMHg5ZiwgMHhlOSwgMHg3YSwgMHhlNCwgMHhhNiwgMHg4ZCwgMHhhNCwgMHhkMCwKKyAgMHhkYSwgMHhiYywgMHgyYSwgMHhmNCwgMHgwOSwgMHg0MywgMHhjYywgMHhhZCwgMHhiZCwgMHhkZSwgMHg0OCwgMHhmNywKKyAgMHg2ZSwgMHhhMiwgMHhmZiwgMHg0OSwgMHg2NiwgMHgxNSwgMHg4YSwgMHgzYiwgMHgwZCwgMHhlZCwgMHgxMCwgMHg5MSwKKyAgMHg2YywgMHgwYywgMHgwZCwgMHgzYiwgMHhkZCwgMHg0MCwgMHgwNywgMHg0NCwgMHhlYSwgMHgyOSwgMHhlZSwgMHg4ZCwKKyAgMHg3NCwgMHg0ZiwgMHg2NywgMHg1YywgMHgzZiwgMHg0ZCwgMHhiZCwgMHhiYiwgMHhlMCwgMHg3YiwgMHgzYSwgMHgwZCwKKyAgMHhhYSwgMHhkNSwgMHhlOSwgMHgzOSwgMHg0ZSwgMHhhNSwgMHg4MSwgMHg5YiwgMHg4ZCwgMHg5NSwgMHgzMiwgMHg0ZiwKKyAgMHhhMiwgMHhhZSwgMHgzNiwgMHg1OSwgMHgxMywgMHgwNCwgMHhjMCwgMHg0ZiwgMHg2ZCwgMHg0MywgMHg0ZiwgMHgzYywKKyAgMHhlNiwgMHgxNywgMHhjYSwgMHhmYiwgMHhhZiwgMHg4YiwgMHhiYywgMHgxOSwgMHgzOCwgMHhlZiwgMHgwMiwgMHg2OSwKKyAgMHgwNSwgMHg0MSwgMHhiOSwgMHhiNiwgMHhiMSwgMHhmMSwgMHg0NiwgMHhkYiwgMHhiMSwgMHhiYywgMHgxYSwgMHhlMSwKKyAgMHg4YiwgMHgwMiwgMHhlNCwgMHg5YSwgMHg1ZSwgMHhiYiwgMHg3YywgMHhhZiwgMHg1ZSwgMHhjZSwgMHgzNywgMHhkMiwKKyAgMHhmYywgMHhmOCwgMHhhZSwgMHg4YywgMHgwNiwgMHhlNCwgMHg4MSwgMHhlNywgMHgwZiwgMHhlNywgMHhlMSwgMHhjMCwKKyAgMHg0YywgMHhmYywgMHg2MiwgMHgxNiwgMHgyZiwgMHg1YSwgMHhlOSwgMHg3MCwgMHgwOSwgMHgyMiwgMHhjZCwgMHgxMSwKKyAgMHg1ZCwgMHhjMSwgMHg1NywgMHgzZiwgMHgxMywgMHg5NiwgMHhhOCwgMHg0ZCwgMHg1ZSwgMHg1YywgMHg5NywgMHgxZiwKKyAgMHg1OSwgMHhkZSwgMHgyMywgMHhkMCwgMHgxNSwgMHg0ZCwgMHg1MSwgMHhjOSwgMHg3YiwgMHhjYiwgMHg1YSwgMHhkOCwKKyAgMHgyZiwgMHhjNSwgMHhiYiwgMHgyYSwgMHg3MywgMHg2NywgMHg5MSwgMHhlNSwgMHg1NSwgMHgxMiwgMHg5OCwgMHhjNSwKKyAgMHg0OCwgMHgzMCwgMHhjNiwgMHg5NiwgMHgwMCwgMHg1YSwgMHhmMSwgMHhkNCwgMHhjZCwgMHhmNywgMHhkNywgMHhiYiwKKyAgMHgzNCwgMHhkMCwgMHhmNiwgMHhmMCwgMHg0OSwgMHgzNiwgMHhhZiwgMHhiMywgMHg4MSwgMHg1NywgMHgwZCwgMHhhOCwKKyAgMHhjMiwgMHg0NiwgMHhhNSwgMHgwZCwgMHg5MiwgMHgzZiwgMHg1OSwgMHg5YywgMHhhYywgMHg5MywgMHgyNCwgMHhhMywKKyAgMHg2ZSwgMHhmZiwgMHhkOSwgMHg4ZSwgMHgxMSwgMHg4YiwgMHhlMCwgMHgyNiwgMHg0NywgMHg5ZCwgMHhhNiwgMHg1NywKKyAgMHg2NSwgMHgxOSwgMHgxNSwgMHhkYiwgMHg0ZSwgMHg4NiwgMHg3MCwgMHg4MywgMHgzNCwgMHgwMiwgMHhjNCwgMHhlOCwKKyAgMHhkMSwgMHgxZiwgMHhkYSwgMHhkZCwgMHg0NiwgMHgyNSwgMHg5OSwgMHgzYywgMHg2YywgMHg2ZiwgMHg5NiwgMHg2YiwKKyAgMHhmMSwgMHg1OCwgMHg3YiwgMHg5NywgMHgzYiwgMHhkMiwgMHg4ZCwgMHgyNywgMHgxNCwgMHhjOCwgMHhlNiwgMHg1OCwKKyAgMHhmMiwgMHgwMiwgMHhmZiwgMHhhZSwgMHgyMywgMHg4ZiwgMHg5YiwgMHgxNiwgMHg3YSwgMHg4MiwgMHhiZiwgMHgyOSwKKyAgMHg1MSwgMHg2MSwgMHhjNywgMHgwOSwgMHg2OCwgMHgyZSwgMHgyZCwgMHgxMSwgMHg3NCwgMHgwMywgMHhhMywgMHhhOSwKKyAgMHg2OCwgMHgwNywgMHgzNCwgMHgzMCwgMHhjZiwgMHhiYywgMHgwMSwgMHgwMywgMHhmOSwgMHhjMywgMHhkZSwgMHhhMywKKyAgMHgzZSwgMHgyNiwgMHhjZiwgMHg2YSwgMHhhYywgMHg1NiwgMHhiOSwgMHhkMiwgMHg3NSwgMHhiNCwgMHhjNiwgMHgzOSwKKyAgMHgwYiwgMHg0MiwgMHg1NywgMHgxOCwgMHg0MCwgMHgwMiwgMHg2NCwgMHhiNSwgMHg0YywgMHhkMCwgMHhmYSwgMHg4YSwKKyAgMHg5YSwgMHgxMywgMHhmNiwgMHhlYywgMHg3ZiwgMHhkNCwgMHgyYSwgMHhmZSwgMHhhNSwgMHgyZCwgMHgyOSwgMHhmYiwKKyAgMHg3YSwgMHg1MiwgMHgzYSwgMHhmZSwgMHhmNSwgMHhjZSwgMHgzYiwgMHg2MywgMHgxYSwgMHgyOSwgMHg1YSwgMHg1ZSwKKyAgMHhjYiwgMHhiYywgMHhjNCwgMHg3MywgMHg5NSwgMHg3OCwgMHgzYSwgMHhiYiwgMHhkMywgMHgxYiwgMHg2MCwgMHhkOSwKKyAgMHg4MywgMHhkOSwgMHg3MSwgMHg4ZSwgMHg0MSwgMHgxZSwgMHhiMiwgMHg2NCwgMHg2MywgMHhkMywgMHgyZSwgMHg5NiwKKyAgMHgxMSwgMHg4NiwgMHg2NSwgMHgyZiwgMHg4MSwgMHg2NiwgMHhhOSwgMHhhNCwgMHgwZSwgMHhlZCwgMHgzMiwgMHgxNSwKKyAgMHhmNiwgMHg2OCwgMHgzOCwgMHg2NywgMHg4OCwgMHhiZSwgMHgyMiwgMHg5YywgMHg5NCwgMHg4ZCwgMHhmMSwgMHg1NCwKKyAgMHhiMiwgMHgzNSwgMHhiMSwgMHgyMywgMHhmNCwgMHhhNSwgMHhiNiwgMHg2MCwgMHg0NCwgMHhkNiwgMHhkOSwgMHgzMCwKKyAgMHhlYSwgMHhlZCwgMHg1NywgMHhjYywgMHg5YSwgMHgxMCwgMHhmYywgMHgwYywgMHg5NiwgMHg5NCwgMHgwMywgMHhjMywKKyAgMHhkZiwgMHhlMCwgMHhkNywgMHgzNywgMHg5MiwgMHgyZCwgMHhlMiwgMHhhYSwgMHhkYiwgMHhhYSwgMHhiZCwgMHg4NiwKKyAgMHhmNSwgMHhjZiwgMHhhZSwgMHhhNiwgMHgwZSwgMHhlYywgMHgzNywgMHhhZCwgMHg4MywgMHhjYywgMHg1OSwgMHg2OCwKKyAgMHhhZiwgMHg4OSwgMHgzMSwgMHhmMiwgMHgyYSwgMHhhMywgMHgwMCwgMHg1MCwgMHhjYiwgMHgzNywgMHhhOSwgMHgxYywKKyAgMHhiYywgMHg1OCwgMHhjZCwgMHg2MywgMHg2NiwgMHgwZSwgMHg2ZSwgMHhiNiwgMHhlZCwgMHhhOSwgMHg5YiwgMHhkNywKKyAgMHhmNSwgMHg0YSwgMHg3YiwgMHgwOSwgMHgzOCwgMHg5YywgMHgxOSwgMHgwMSwgMHgxZCwgMHg5YywgMHg5YiwgMHgxOSwKKyAgMHhhMSwgMHhhMCwgMHg2NSwgMHhjZSwgMHgyZCwgMHhjZSwgMHhhMiwgMHg5NCwgMHgwYiwgMHhkNywgMHgzMCwgMHhiNywKKyAgMHhhMywgMHgxNywgMHgwNSwgMHg5MywgMHhhZCwgMHgyOCwgMHg5ZSwgMHg5YiwgMHg3NiwgMHhhMSwgMHhiMywgMHg2ZCwKKyAgMHhkNCwgMHg2OCwgMHgwYiwgMHgwNiwgMHgwOSwgMHg4NCwgMHg1NSwgMHg2NywgMHhiOCwgMHg4ZCwgMHhkMywgMHhiMywKKyAgMHhmMywgMHhlMywgMHhkMywgMHhiNywgMHhlMywgMHhlNCwgMHhiZiwgMHg2ZiwgMHhhYywgMHgyZCwgMHhlZiwgMHg2YSwKKyAgMHgwMywgMHgyYiwgMHhmZiwgMHgzMCwgMHg3MCwgMHg2NywgMHg5MiwgMHhiYywgMHgxNCwgMHgzZiwgMHg0MywgMHg5ZiwKKyAgMHg2ZCwgMHhlYywgMHg2OSwgMHhmMCwgMHg1MywgMHgyMywgMHhiZCwgMHgwZCwgMHg3YiwgMHhkNSwgMHgzNywgMHgwNSwKKyAgMHhkYiwgMHg0ZCwgMHgwZSwgMHhhYiwgMHg4MywgMHg2NCwgMHgxMCwgMHg2OCwgMHhjYiwgMHgzZSwgMHhlYywgMHg4MywKKyAgMHg2ZiwgMHg0MywgMHgzMywgMHhhZiwgMHg3NywgMHgyNiwgMHg0YiwgMHg2NywgMHhmNCwgMHgxZSwgMHgwZSwgMHhhYywKKyAgMHhkZCwgMHg5YSwgMHgzZCwgMHhmYiwgMHgwNSwgMHg3YiwgMHgyNywgMHg2ZiwgMHg2MSwgMHg5YiwgMHg2ZiwgMHg0OCwKKyAgMHgzNywgMHhjNSwgMHg4MywgMHg1YiwgMHhjYywgMHgzNSwgMHg0NSwgMHhkMSwgMHhhYSwgMHhjMywgMHgwYywgMHhjMSwKKyAgMHhhZiwgMHg4ZiwgMHhjZSwgMHhiNywgMHhhNSwgMHhkMCwgMHhkNSwgMHhjZSwgMHgwZiwgMHg5ZSwgMHgyZSwgMHg1MSwKKyAgMHg3YiwgMHg1MiwgMHhhYiwgMHg5OSwgMHg2OSwgMHg2OSwgMHgyYiwgMHgwMywgMHhiOSwgMHgxOSwgMHhlZCwgMHg3OSwKKyAgMHg5ZSwgMHgxNiwgMHhkMSwgMHgxMiwgMHgzNiwgMHhkMiwgMHg2OCwgMHgwZiwgMHhjZCwgMHg3NiwgMHgxMCwgMHgxZiwKKyAgMHg1NiwgMHg4ZSwgMHhhYywgMHhkZSwgMHgxMywgMHhhZiwgMHg3ZiwgMHgwZSwgMHhlMywgMHgzMiwgMHg5ZCwgMHhiZCwKKyAgMHgzZiwgMHhjNywgMHg4MCwgMHhhZiwgMHg4ZSwgMHg0ZSwgMHg4ZSwgMHhjZSwgMHg4ZiwgMHhiYSwgMHg5NiwgMHhmYiwKKyAgMHg4NCwgMHhjMSwgMHgyYywgMHg1MSwgMHhlYSwgMHhkMiwgMHg2NCwgMHhkMywgMHhhYiwgMHhhMiwgMHg5YywgMHg5NywKKyAgMHg5NywgMHhiOSwgMHhiNCwgMHhlMiwgMHg0ZCwgMHhiZSwgMHhjZiwgMHgyNiwgMHhhZiwgMHgwZSwgMHhiZSwgMHgyMywKKyAgMHg3ZCwgMHg4MiwgMHgzYywgMHg0ZSwgMHg2NywgMHhlZiwgMHg0ZSwgMHhjZiwgMHg1ZSwgMHgxZiwgMHhiZiwgMHg3ZCwKKyAgMHgzNSwgMHg0OCwgMHgwZSwgMHg0ZiwgMHhjZiwgMHhmZSwgMHgzMiwgMHg0OCwgMHhkZSwgMHg5YywgMHg3ZSwgMHg3NywKKyAgMHgxNCwgMHg0OSwgMHg3MSwgMHgyNiwgMHg4NCwgMHhkYiwgMHg4MCwgMHg2MiwgMHg2YywgMHhhYiwgMHgzZSwgMHgxNiwKKyAgMHg2NywgMHg2YywgMHg3YSwgMHgyNywgMHgwNSwgMHhjNSwgMHgyYywgMHhkYSwgMHg2MiwgMHg4NCwgMHg2YSwgMHgwMCwKKyAgMHhlYSwgMHg1MiwgMHhmOCwgMHhhZCwgMHhkOSwgMHhiYiwgMHg0MSwgMHhmMiwgMHhjZCwgMHhkMSwgMHhjMSwgMHhhYiwKKyAgMHg0MSwgMHgwMCwgMHg2MCwgMHgzZSwgMHhlNiwgMHg1NSwgMHhkMSwgMHhlYSwgMHhlYywgMHg5MiwgMHgwMSwgMHg3YiwKKyAgMHhjZCwgMHhkNiwgMHgwNywgMHg3NCwgMHgwNCwgMHgwZSwgMHg3MiwgMHhmMSwgMHg5NSwgMHgzNSwgMHgwNCwgMHg4YiwKKyAgMHgyMiwgMHhmZCwgMHg1OSwgMHg1ZiwgMHhlNiwgMHg4NCwgMHgyMCwgMHhmMSwgMHhmNywgMHg3NiwgMHhjYSwgMHg2ZSwKKyAgMHg5NSwgMHg1ZCwgMHg0MCwgMHg1ZCwgMHhmMywgMHgxNSwgMHg2ZCwgMHg4MSwgMHg2YiwgMHg0MiwgMHg2NiwgMHhiZCwKKyAgMHhkNiwgMHg2MSwgMHhkOSwgMHhlMywgMHhlZSwgMHg0MSwgMHgwYywgMHgxYSwgMHhiNCwgMHg5MCwgMHgwMiwgMHhjMCwKKyAgMHg4ZSwgMHhkOCwgMHhmNSwgMHg5OCwgMHg0YSwgMHg0NywgMHg0MywgMHhmNCwgMHgyYywgMHgzMiwgMHg2NiwgMHgxMiwKKyAgMHg2OSwgMHhkNSwgMHgxNywgMHgwZSwgMHgyNSwgMHgzNiwgMHhhZSwgMHg2MSwgMHhhYiwgMHg4YSwgMHg1MCwgMHgyYSwKKyAgMHg5OCwgMHhiYSwgMHgwMCwgMHgzNywgMHhkMSwgMHhmNiwgMHhlOSwgMHgxNiwgMHhkOSwgMHhhNiwgMHg5ZSwgMHgzZiwKKyAgMHhmMCwgMHg4ZiwgMHg1NSwgMHhjNiwgMHgwNiwgMHg5NSwgMHhkNiwgMHgxNywgMHg4NiwgMHgzMCwgMHgzMywgMHg0ZSwKKyAgMHg5OSwgMHhjMiwgMHgxOSwgMHgzOSwgMHhiNywgMHg0MCwgMHgzMiwgMHgzYywgMHg1NiwgMHhhNywgMHhjNCwgMHgzYSwKKyAgMHgwNSwgMHg0YiwgMHgyZSwgMHg4YiwgMHgzOCwgMHg2NiwgMHgwMCwgMHgxNCwgMHhhNSwgMHgwZSwgMHhhYiwgMHgzNiwKKyAgMHg4ZiwgMHhkMCwgMHg0YiwgMHhhOCwgMHhmNywgMHhlZSwgMHgyMiwgMHhlMCwgMHg2YiwgMHhhNCwgMHhlZiwgMHhkYiwKKyAgMHgzMywgMHgxZSwgMHgwOCwgMHhkMCwgMHg4NSwgMHhhZCwgMHg5ZiwgMHhmMCwgMHhmNywgMHgwNSwgMHhkOSwgMHhiNywKKyAgMHg2ZCwgMHg3ZiwgMHg5NiwgMHg5MSwgMHhiMCwgMHg4MSwgMHg3MCwgMHhhMSwgMHhjNywgMHgwYywgMHgyNywgMHgyOSwKKyAgMHhjNCwgMHgyMSwgMHg0YSwgMHg4MSwgMHhiNywgMHgyMSwgMHg1YiwgMHhkMiwgMHg3ZSwgMHhjZSwgMHhhZiwgMHhiMiwKKyAgMHg0ZiwgMHg1NSwgMHg0ZCwgMHg3NSwgMHgwYSwgMHg0MSwgMHg4OCwgMHgwYSwgMHgwYiwgMHhmNSwgMHg1YiwgMHg0YywKKyAgMHhiYSwgMHg4MywgMHg3ZiwgMHhmYywgMHhlOCwgMHhkNiwgMHhmOSwgMHhkOCwgMHg0OSwgMHg5NywgMHhhOCwgMHg5MywKKyAgMHhhMSwgMHhlMCwgMHg3ZCwgMHhhMywgMHg3OCwgMHgyZiwgMHhkOCwgMHhiYSwgMHhhZCwgMHhkNywgMHgzZCwgMHg4YywKKyAgMHhkMSwgMHhmNywgMHhkYSwgMHhkYSwgMHg4YSwgMHg3ZSwgMHg5YiwgMHg2ZCwgMHg3ZSwgMHg3MiwgMHg2YywgMHhhZSwKKyAgMHg0MywgMHgwNCwgMHgxYSwgMHg4NywgMHhiYiwgMHhlZSwgMHg3MiwgMHg5YSwgMHg0MSwgMHhhZSwgMHhhMiwgMHg4NCwKKyAgMHhjNiwgMHgwYSwgMHgzZiwgMHg3YywgMHg3NiwgMHg3YSwgMHhmNiwgMHgzOCwgMHhmYSwgMHg2NSwgMHhmYSwgMHhjNSwKKyAgMHg3ZCwgMHg5ZiwgMHgwZSwgMHhjZSwgMHhlYywgMHhkZCwgMHhkMSwgMHhmOSwgMHhiYiwgMHg1MSwgMHhiMiwgMHhlNSwKKyAgMHg2MywgMHhiZSwgMHgzZSwgMHgxYiwgMHgzZCwgMHgwYSwgMHg4MywgMHgzNiwgMHhjNywgMHg2ZiwgMHgwZSwgMHg0OCwKKyAgMHgzZSwgMHhiYiwgMHhjZiwgMHhiYSwgMHhlZiwgMHhkMiwgMHhhZiwgMHhlZSwgMHhmOSwgMHg2ZSwgMHg5OCwgMHg0NywKKyAgMHhlYywgMHgyMSwgMHgzZCwgMHgzZCwgMHg4YSwgMHg3ZCwgMHg2ZiwgMHhmYywgMHhhNiwgMHg2NywgMHg3ZiwgMHhlOSwKKyAgMHgxNywgMHg2YiwgMHhiZSwgMHhmNiwgMHhjZCwgMHhkMSwgMHhjOSwgMHg1OSwgMHhiOCwgMHhjYSwgMHhlZiwgMHhkZSwKKyAgMHhiZCwgMHhmZSwgMHg0YiwgMHg3YiwgMHg5NSwgMHg4ZiwgMHg5ZiwgMHg0NCwgMHhiZSwgMHhmYSwgMHg2YiwgMHgzYSwKKyAgMHhkNCwgMHhiMywgMHhiYSwgMHg5YywgMHgxYiwgMHg3ZCwgMHgwNSwgMHg1NSwgMHgxYywgMHgyOCwgMHhlMiwgMHhkOCwKKyAgMHgzNywgMHgwMiwgMHhhMCwgMHhmYSwgMHhlYiwgMHg4MCwgMHhmZSwgMHhmYywgMHg2OSwgMHgzNCwgMHgxYSwgMHhmZCwKKyAgMHgzOSwgMHhjNCwgMHg0MywgMHg4NywgMHg3NywgMHhjNiwgMHhhZCwgMHg5NCwgMHg5ZSwgMHhhNCwgMHhlNCwgMHhmNywKKyAgMHg4ZSwgMHhmMSwgMHg4ZCwgMHg3YSwgMHgxOSwgMHgxNCwgMHgwOCwgMHg1MSwgMHhjYywgMHg2MiwgMHg5OSwgMHhlNiwKKyAgMHgxNSwgMHgxNSwgMHgzYiwgMHhjNiwgMHg0NCwgMHgyZCwgMHhhZCwgMHhjNSwgMHg5NSwgMHg3OCwgMHg1OSwgMHgzZCwKKyAgMHg0ZSwgMHhhMCwgMHhjMCwgMHhmOCwgMHg5YSwgMHg2ZSwgMHhkNSwgMHhkYiwgMHg1MiwgMHg0ZiwgMHhlZCwgMHg1NSwKKyAgMHg5MiwgMHhhNCwgMHhiMywgMHhjMCwgMHgwNSwgMHhjMiwgMHg2ZCwgMHg1MSwgMHhmMCwgMHhkOSwgMHg4YSwgMHg1YywKKyAgMHhiMywgMHhhYywgMHg2MiwgMHgzYSwgMHgxMSwgMHg1YiwgMHhhOCwgMHhkOCwgMHg5MCwgMHg4NSwgMHhjZiwgMHhlYywKKyAgMHhmNCwgMHg2MywgMHg3ZSwgMHgwYiwgMHhhZSwgMHg5MCwgMHgzYywgMHg5NCwgMHg1OCwgMHgzYSwgMHgyYywgMHgyZiwKKyAgMHhjOCwgMHgxMiwgMHg3NCwgMHg5OCwgMHhjZCwgMHg5YSwgMHhlOSwgMHgwZSwgMHgyZCwgMHhiMiwgMHgwZSwgMHhiYSwKKyAgMHgyMCwgMHhiMSwgMHhmYSwgMHgxNiwgMHhiYSwgMHg4ZiwgMHgwNCwgMHg2NSwgMHhjNSwgMHgyYiwgMHg5ZSwgMHhlNSwKKyAgMHhiYywgMHgxNiwgMHhhZiwgMHgxYSwgMHhjMSwgMHhkNSwgMHhlZiwgMHg3YSwgMHg1YSwgMHhiYSwgMHhiYSwgMHg0NSwKKyAgMHg2MiwgMHhkZCwgMHg1YiwgMHg3NCwgMHhiYiwgMHg2ZCwgMHhjZCwgMHgwOCwgMHg3MCwgMHhkMywgMHhjYSwgMHhiYSwKKyAgMHg2OSwgMHgxZCwgMHgzOSwgMHhiZCwgMHg0ZCwgMHhkNiwgMHg1ZiwgMHg5MywgMHg2OCwgMHg4OSwgMHg1YSwgMHhhOCwKKyAgMHhmMCwgMHg4MywgMHgyZiwgMHgyYiwgMHgwZCwgMHg1MSwgMHgwNiwgMHgwNSwgMHg3MCwgMHhjNywgMHgyZiwgMHg1YSwKKyAgMHhkZSwgMHgxNiwgMHhmNSwgMHhjZCwgMHhmOSwgMHg2NywgMHg4ZSwgMHg2OSwgMHg4NCwgMHgxZSwgMHgwZCwgMHhjYywKKyAgMHg4MSwgMHgzMSwgMHhjNCwgMHhkNSwgMHg3NCwgMHhhNywgMHg4NSwgMHg4NiwgMHg5MiwgMHhmMCwgMHhhYiwgMHg1NiwKKyAgMHg3ZCwgMHhmOSwgMHhlNiwgMHg3ZiwgMHhkZiwgMHgyNCwgMHgyNSwgMHgxOCwgMHg2ZiwgMHg0NywgMHhhYiwgMHhkYSwKKyAgMHg5NSwgMHg2MiwgMHhjOSwgMHhhNCwgMHhjMSwgMHg2MywgMHgxMSwgMHg4ZCwgMHhjMSwgMHhlZCwgMHg4YSwgMHhkMiwKKyAgMHg5ZSwgMHg0ZCwgMHg5NCwgMHhiMiwgMHhkNCwgMHgyMywgMHg0YiwgMHgxOCwgMHgyNSwgMHhkZiwgMHhlNywgMHhmMywKKyAgMHhkOSwgMHgzNCwgMHhhZCwgMHg5MCwgMHgxOCwgMHgxNiwgMHgwYSwgMHg1NiwgMHhhMSwgMHgxMiwgMHg1YywgMHhhNCwKKyAgMHhiYSwgMHhjNCwgMHg1NywgMHhkZCwgMHhhZCwgMHhkMSwgMHgyZSwgMHgzMiwgMHg3MSwgMHg5YSwgMHg4ZiwgMHg5NSwKKyAgMHhmYiwgMHhkOCwgMHhmMywgMHhhMCwgMHhiMCwgMHg3NywgMHg0ZiwgMHhiYiwgMHgyZSwgMHhhMSwgMHgxZiwgMHhkZCwKKyAgMHg2MywgMHg5MiwgMHg3MywgMHhlZCwgMHhlNiwgMHgxZCwgMHhlZCwgMHhhMywgMHhkNSwgMHgwOCwgMHhjNCwgMHhmMCwKKyAgMHg0OSwgMHgxOCwgMHg0NSwgMHhjOSwgMHg5NywgMHhkNywgMHg0ZiwgMHhlMCwgMHhiOCwgMHg3YSwgMHgzNiwgMHhlMCwKKyAgMHg3ZiwgMHgzZCwgMHg2MywgMHg1OCwgMHhjOCwgMHhjNiwgMHg4YSwgMHg3NSwgMHg2YywgMHgyYiwgMHgxYiwgMHgzMCwKKyAgMHhhYywgMHhlZiwgMHgxZiwgMHg5ZiwgMHg2OSwgMHg2ZCwgMHg2YiwgMHg5NywgMHgxYiwgMHg4ZSwgMHgyNSwgMHhmZSwKKyAgMHgyOCwgMHhjOCwgMHgwOCwgMHg2NiwgMHg5NiwgMHg2YSwgMHhiYSwgMHg5OCwgMHg3NywgMHg3NCwgMHhiNiwgMHhiNCwKKyAgMHgyNSwgMHg4NiwgMHg3MywgMHhmZCwgMHg3NSwgMHg1MiwgMHgxMSwgMHhlMCwgMHg0OCwgMHg1MywgMHhmZiwgMHhiNCwKKyAgMHhhZSwgMHg5MiwgMHhkOCwgMHg2OCwgMHhmYiwgMHhjZiwgMHg0NywgMHg5MSwgMHhjNiwgMHhkYiwgMHgzZSwgMHhlOCwKKyAgMHhiOSwgMHhmYiwgMHg5MiwgMHhjZCwgMHhmNCwgMHg3NSwgMHg5ZiwgMHhhMywgMHhkYywgMHg3ZSwgMHgwNCwgMHhlYywKKyAgMHgyOCwgMHhkZiwgMHg2NywgMHhmZCwgMHg4NywgMHg1ZSwgMHhhYywgMHhmOSwgMHhkMCwgMHgwNSwgMHgyMCwgMHg4ZCwKKyAgMHhlOCwgMHg0YywgMHhhZCwgMHhlYSwgMHg3ZiwgMHhhMywgMHg1NCwgMHhlMSwgMHg1NywgMHgyNywgMHg1MywgMHgxNywKKyAgMHhlZCwgMHgyNywgMHhhMywgMHg0NywgMHgwZiwgMHhjZiwgMHg0ZCwgMHg3NiwgMHg3NiwgMHgzNywgMHhmOSwgMHhmNCwKKyAgMHg2NiwgMHhmMiwgMHgxMywgMHg5MCwgMHg4OSwgMHgyNCwgMHg4NywgMHg5NSwgMHg3ZCwgMHgzNCwgMHhiNywgMHhiNiwKKyAgMHgyNywgMHgwNiwgMHgwMSwgMHhlNiwgMHhiNCwgMHhiOCwgMHhiOCwgMHg1OSwgMHgzZiwgMHhiOSwgMHg3MSwgMHg4NywKKyAgMHgwOCwgMHgxMiwgMHg3NCwgMHg3ZCwgMHgwNiwgMHg5NCwgMHgyZiwgMHg3MywgMHhjNywgMHhjZCwgMHhlMiwgMHhlZiwKKyAgMHgwNCwgMHgwZCwgMHhiZSwgMHhkYiwgMHgwZCwgMHg1MCwgMHg5MiwgMHg3ZSwgMHg4YywgMHhjOSwgMHg0YSwgMHgzNCwKKyAgMHhjMCwgMHg2YSwgMHgxNSwgMHgwZiwgMHgzYiwgMHhiYSwgMHgxNywgMHhkMSwgMHgwNiwgMHhjMSwgMHhjOCwgMHg3YSwKKyAgMHg5ZSwgMHhjZCwgMHgyZSwgMHg4ZCwgMHg3YSwgMHhiOSwgMHg1OCwgMHg2NCwgMHhkNSwgMHgwNiwgMHhmMSwgMHg0NywKKyAgMHhiYywgMHgwYywgMHgxYywgMHhmZCwgMHg1NywgMHgxYywgMHg3YSwgMHg1NywgMHhiZiwgMHg0NCwgMHhiYywgMHhkOSwKKyAgMHhiYiwgMHg5NywgMHgyNywgMHhiZSwgMHg5NSwgMHg1ZCwgMHg2YSwgMHg5OSwgMHg3OSwgMHgzNSwgMHhkZCwgMHhkNiwKKyAgMHg3NiwgMHg1MSwgMHg5YSwgMHg5ZCwgMHhlNCwgMHhmNCwgMHgyYywgMHhjYSwgMHg3MSwgMHg4YSwgMHgyOSwgMHhjMiwKKyAgMHg4OCwgMHg0NCwgMHhkOCwgMHhlYSwgMHhjZiwgMHgyOCwgMHg2YSwgMHhkNSwgMHg2YywgMHhiNSwgMHg5YywgMHgzMywKKyAgMHhjNCwgMHgxNiwgMHhlNywgMHg0MCwgMHhiOSwgMHgyOSwgMHhjNiwgMHgyMCwgMHhlZCwgMHhiNCwgMHg5YiwgMHgwOSwKKyAgMHhiNiwgMHg5ZiwgMHgxYywgMHhiNCwgMHg5NCwgMHg5MywgMHgwZiwgMHg1NywgMHgyZCwgMHgzNCwgMHhkYSwgMHg0ZCwKKyAgMHhmMCwgMHhlYiwgMHgwNSwgMHg3ZCwgMHg2ZiwgMHg5MiwgMHgzNSwgMHhlOCwgMHhkZCwgMHg2YSwgMHgwYywgMHgxYywKKyAgMHhmMiwgMHhhMCwgMHg4NCwgMHgyZSwgMHg3YSwgMHgyMCwgMHhkZiwgMHg3MSwgMHhkMSwgMHg5NCwgMHg1OSwgMHg4OSwKKyAgMHg5OSwgMHgyYywgMHhkMSwgMHhmNywgMHg2NCwgMHg0ZSwgMHg0MCwgMHgxOCwgMHg1NCwgMHhkNSwgMHg0YSwgMHhhOSwKKyAgMHhkZiwgMHhkMiwgMHg2YiwgMHg2MCwgMHg5NCwgMHg5YywgMHgxOSwgMHhmYiwgMHg5YywgMHgxMCwgMHhlMCwgMHhkNSwKKyAgMHhkMiwgMHgwYiwgMHg4MywgMHg1ZSwgMHhhYywgMHhhNSwgMHgyMiwgMHhlYiwgMHgzZiwgMHgwYywgMHg3ZCwgMHg3MCwKKyAgMHgxYiwgMHg4MywgMHg3ZCwgMHhiNCwgMHg4MywgMHg1MCwgMHgyNywgMHgxYSwgMHg3NSwgMHg5NCwgMHg2ZiwgMHhmMiwKKyAgMHg0OSwgMHgzZSwgMHhhNywgMHgzNiwgMHgzMywgMHg0MSwgMHg1OSwgMHgxNCwgMHg4ZSwgMHg4YywgMHgzMywgMHhmMCwKKyAgMHhjMywgMHgyMCwgMHhjYiwgMHgzYywgMHhmZCwgMHg3OCwgMHhkNywgMHhlYSwgMHhlZSwgMHg0NSwgMHhkNSwgMHgyNCwKKyAgMHg3MywgMHg3MiwgMHgxMiwgMHg5MiwgMHhjZiwgMHg4MiwgMHg2MywgMHgxNiwgMHg3MCwgMHgxZCwgMHg1ZSwgMHhiMSwKKyAgMHg2ZiwgMHhlMCwgMHg4ZSwgMHg1ZCwgMHhmYSwgMHhjOCwgMHg0ZSwgMHhjOCwgMHg2NiwgMHgzMSwgMHgzMywgMHhiMSwKKyAgMHhmMSwgMHg2YSwgMHg5YSwgMHhlZCwgMHgwMCwgMHhmMSwgMHgwZCwgMHg0NywgMHg0ZCwgMHg5MCwgMHg2ZSwgMHgzOSwKKyAgMHhhZCwgMHgyOCwgMHhhYywgMHhiZSwgMHhlMSwgMHhmZSwgMHg0MywgMHhlYSwgMHhkMiwgMHhiNSwgMHhlNCwgMHgwNywKKyAgMHhkZiwgMHhhOCwgMHg2NiwgMHgwOSwgMHg4YSwgMHg3ZiwgMHgxZCwgMHgyZSwgMHgwZCwgMHg0NSwgMHhjNSwgMHg4OCwKKyAgMHgyZCwgMHg1NiwgMHg1MywgMHhjOCwgMHg1YywgMHgxOSwgMHgxMSwgMHhmMiwgMHg0MCwgMHhjYywgMHg0MiwgMHgzNSwKKyAgMHgyNiwgMHhhNywgMHgyZCwgMHgyNCwgMHg2NSwgMHg0NCwgMHhjOSwgMHhjNCwgMHhkNiwgMHhjZSwgMHhhYywgMHgzMSwKKyAgMHhlNywgMHhiMSwgMHgxNiwgMHg2ZiwgMHg1NywgMHgyYiwgMHg4NCwgMHg4NCwgMHgzMCwgMHgwNywgMHg2ZiwgMHg5ZCwKKyAgMHhmMCwgMHhmOSwgMHhmZiwgMHg1NywgMHhiMiwgMHhjYywgMHg5NywgMHg0OCwgMHgxNCwgMHhmZCwgMHhiMywgMHhiOCwKKyAgMHhiYiwgMHg2MiwgMHgyMCwgMHg3YywgMHhkYSwgMHhkYywgMHg4OSwgMHhiYSwgMHgzMSwgMHg5OSwgMHhlZCwgMHhmOCwKKyAgMHg5ZSwgMHgzNiwgMHhiOSwgMHgyYSwgMHg4YiwgMHg0YiwgMHg4YSwgMHg4NSwgMHhhZiwgMHgyZSwgMHgwMSwgMHhmZSwKKyAgMHhjYywgMHhlNiwgMHhiMCwgMHg1OSwgMHg0NiwgMHg5ZCwgMHgwOSwgMHhlMSwgMHg5MywgMHgxZCwgMHgyOSwgMHhiMywKKyAgMHhlZCwgMHgwYywgMHg0NywgMHhkOCwgMHgwYywgMHg3NiwgMHgyNiwgMHhiOCwgMHg3OCwgMHhlNSwgMHg2MiwgMHhhMiwKKyAgMHgwOSwgMHhhNiwgMHg1ZCwgMHg0NCwgMHg5NywgMHg4MSwgMHgwMCwgMHgyMiwgMHhkYywgMHg4OSwgMHhiMywgMHgzMSwKKyAgMHg2NCwgMHg1ZSwgMHg3NCwgMHhjNSwgMHhiMiwgMHhlZSwgMHgwNSwgMHg1YiwgMHhjMywgMHhjYiwgMHg5ZSwgMHhlZiwKKyAgMHhiNiwgMHg3MSwgMHg4NCwgMHg5OCwgMHg5NywgMHg1MSwgMHgzZSwgMHg2MSwgMHg5NSwgMHg1ZCwgMHgxMCwgMHg1YiwKKyAgMHhlYSwgMHgyYSwgMHhiZiwgMHhlZCwgMHhmZSwgMHgzNCwgMHg1NiwgMHhiZCwgMHgyMywgMHg3NiwgMHhjMCwgMHgzZiwKKyAgMHgyNiwgMHgxMCwgMHgxOSwgMHg1NSwgMHhkOSwgMHg4ZSwgMHhhOCwgMHgxOCwgMHhmMywgMHhkZCwgMHhkMSwgMHhlYiwKKyAgMHhmNywgMHhlMywgMHhhMywgMHg1NywgMHhjOCwgMHg3ZCwgMHg0YywgMHg2MywgMHg1ZCwgMHhlMSwgMHg3MiwgMHg2ZSwKKyAgMHhiZiwgMHg4MiwgMHgwMCwgMHhhYiwgMHgxOSwgMHhiNCwgMHg2NCwgMHhjOSwgMHhhMywgMHgwYywgMHg3MCwgMHgyZCwKKyAgMHhhZiwgMHg4YywgMHhmMSwgMHg4YiwgMHgzZSwgMHhjZSwgMHhiOSwgMHgwNiwgMHgzZCwgMHg4OSwgMHg1NywgMHgzZCwKKyAgMHhjYiwgMHhhOCwgMHhjNSwgMHhlMCwgMHg0YiwgMHhjZSwgMHhlNSwgMHgwYiwgMHhhMCwgMHgyMSwgMHg1ZCwgMHgzMywKKyAgMHg0MiwgMHhjMywgMHg2YywgMHhiMywgMHhhNSwgMHgxNCwgMHgyZiwgMHgyZiwgMHhjYSwgMHg1NSwgMHhjMSwgMHhiMSwKKyAgMHgxZCwgMHgyMywgMHg2NywgMHgyYywgMHhmOSwgMHgyMywgMHg4MCwgMHhhNiwgMHgxNywgMHg5YSwgMHhmZCwgMHg4MiwKKyAgMHg2OSwgMHg0ZiwgMHgzZiwgMHgzYywgMHg4MCwgMHg0NCwgMHhlYSwgMHhhZCwgMHg1NywgMHg5NSwgMHhjNiwgMHg2ZCwKKyAgMHgwYiwgMHhlZiwgMHhjYSwgMHg1NiwgMHhkZSwgMHg3NCwgMHhlMiwgMHg4MCwgMHg0MSwgMHg2ZiwgMHg1MCwgMHhmMCwKKyAgMHg2ZSwgMHg4MiwgMHgxOSwgMHgyMywgMHhlNiwgMHg4NywgMHhjOSwgMHhhNCwgMHhmMywgMHhjYiwgMHhkMiwgMHhkYywKKyAgMHg5NywgMHhhYiwgMHg4NSwgMHhhZCwgMHhiNywgMHg2NiwgMHg1MCwgMHg5YSwgMHg3YSwgMHg3YiwgMHgxNCwgMHg4YSwKKyAgMHg5MSwgMHhhZSwgMHg1OCwgMHg4MCwgMHg0NywgMHgwNCwgMHg4OSwgMHgzYywgMHgxOSwgMHhjMywgMHg1MCwgMHg5MCwKKyAgMHg4YSwgMHhjMywgMHhmYiwgMHgwNCwgMHhjNywgMHgyZiwgMHgyNSwgMHgzOSwgMHhiMCwgMHg3ZSwgMHgzZSwgMHgxNiwKKyAgMHhmMCwgMHgwOCwgMHhlYywgMHgwNywgMHg2ZiwgMHg2MSwgMHhlMCwgMHgzNCwgMHhhMywgMHhkZSwgMHg0OSwgMHg1ZCwKKyAgMHg5NywgMHhiNCwgMHgzYSwgMHgyMCwgMHg1NCwgMHhlZSwgMHhmOCwgMHg3MywgMHhmZiwgMHgyZCwgMHg3YiwgMHg1MiwKKyAgMHhlZSwgMHhlZSwgMHhjNSwgMHhhNCwgMHhmOSwgMHgyMiwgMHhiZCwgMHg4NSwgMHhhMywgMHhiZCwgMHg5NywgMHgxYywKKyAgMHgzOCwgMHhlNSwgMHg5YywgMHhiNiwgMHg4MywgMHgxZSwgMHhhYiwgMHg1OCwgMHg3ZCwgMHg4NSwgMHhiMiwgMHhlOCwKKyAgMHhlYSwgMHhmNywgMHgzOCwgMHhiYiwgMHhkMiwgMHg5ZSwgMHhiNCwgMHgzMCwgMHhmYiwgMHgxMSwgMHhhOSwgMHgwNCwKKyAgMHg2MSwgMHgwMiwgMHgwNSwgMHhjYywgMHg2NSwgMHhlYiwgMHgzZSwgMHg0MSwgMHhiNCwgMHgyMywgMHhhNSwgMHg2NSwKKyAgMHg5MiwgMHgxZiwgMHg2YSwgMHg4YiwgMHgxYiwgMHhlNCwgMHhlMSwgMHg3YiwgMHhkYiwgMHhmNCwgMHhlMywgMHg3OSwKKyAgMHg0OSwgMHhiOSwgMHgxNiwgMHhiNSwgMHhmNSwgMHhlMCwgMHg0NywgMHg4MCwgMHg0NywgMHg4OSwgMHgwNSwgMHg1NSwKKyAgMHg0NCwgMHg4OCwgMHhjOCwgMHgyMywgMHhiNiwgMHhlOSwgMHg4MywgMHg2OCwgMHhjOSwgMHg4NSwgMHg5MiwgMHg1NywKKyAgMHg0MiwgMHg2MSwgMHg2NCwgMHg0NywgMHhmZSwgMHg4NSwgMHgxYiwgMHg0NywgMHhkZSwgMHgwYywgMHgzMiwgMHhmMSwKKyAgMHg3OSwgMHgxYywgMHhlZCwgMHhmZCwgMHg2NCwgMHg4NiwgMHgxOCwgMHhiNCwgMHhlMSwgMHhlMSwgMHg2NSwgMHhiMywKKyAgMHg1MSwgMHg2MywgMHg4ZSwgMHg5MiwgMHgzNiwgMHhiNCwgMHg4NCwgMHgxNCwgMHhhNCwgMHg4ZiwgMHg4OCwgMHhkOSwKKyAgMHgzOSwgMHhkMCwgMHgzNiwgMHg2MCwgMHgyOCwgMHhkMCwgMHhhNCwgMHhlNSwgMHgzMCwgMHg5ZiwgMHgyZiwgMHhmYywKKyAgMHhiOSwgMHhlMiwgMHgwMCwgMHhjYywgMHgxOCwgMHg3OSwgMHgzOSwgMHg0MywgMHg2OSwgMHgyNywgMHhiNywgMHgxMywKKyAgMHhlYiwgMHgwMywgMHhjMSwgMHg5MiwgMHhiOSwgMHg2YywgMHg1MiwgMHhjMCwgMHhlNSwgMHgzNiwgMHg1ZiwgMHhhYywKKyAgMHgxNiwgMHg3OCwgMHg3ZiwgMHhjMCwgMHg2ZSwgMHhhNCwgMHgwNSwgMHg2OSwgMHhlMCwgMHg3YSwgMHhhOCwgMHhjOCwKKyAgMHg5MSwgMHhiNiwgMHhjZCwgMHgwYiwgMHg2MywgMHgyZSwgMHg1OSwgMHhlMiwgMHg2ZCwgMHgyMCwgMHhkYSwgMHg4NiwKKyAgMHg1NSwgMHgxMywgMHg3YSwgMHg4YiwgMHgxYiwgMHgwNSwgMHhlMSwgMHhhMCwgMHhmZSwgMHg5NywgMHhkMywgMHg2NywKKyAgMHhmMiwgMHhkMiwgMHgxOCwgMHhhNywgMHg3ZiwgMHgwZSwgMHgyNywgMHgxMSwgMHhiMiwgMHgwZSwgMHhkMCwgMHgyNSwKKyAgMHg1NSwgMHg2YiwgMHg2NCwgMHgzMywgMHhjZiwgMHgxYiwgMHgyNiwgMHhlNCwgMHg0NiwgMHg3MiwgMHg1NCwgMHhjZSwKKyAgMHhhOCwgMHg5ZiwgMHg0MywgMHgwZCwgMHhiYywgMHgwMCwgMHhhNywgMHg1MCwgMHgzYywgMHgyZCwgMHhkNSwgMHhjNSwKKyAgMHhiMCwgMHg1OCwgMHhjNSwgMHgxNiwgMHhiYSwgMHhiZiwgMHg2NCwgMHgxNSwgMHg2ZiwgMHhiNSwgMHgwYywgMHhlYywKKyAgMHgxNywgMHhjYiwgMHgyNywgMHhhYywgMHg2NSwgMHg2ZCwgMHgzZSwgMHhmZiwgMHg0OCwgMHgxMiwgMHhmYiwgMHhjNCwKKyAgMHg0NywgMHg0NywgMHg1MSwgMHgzZiwgMHhkOSwgMHg2MywgMHg3NSwgMHhjNSwgMHhhMywgMHg3OCwgMHgzNSwgMHg4YywKKyAgMHg4NCwgMHgwYSwgMHhkYiwgMHgwMCwgMHgyZiwgMHgwYiwgMHg4NCwgMHgwOCwgMHg1YiwgMHhkOSwgMHg4YywgMHhlOSwKKyAgMHhiNiwgMHg0ZiwgMHg5YiwgMHhjMiwgMHhjNywgMHgzNywgMHhkMCwgMHg3YSwgMHhlMiwgMHgyNywgMHhiNywgMHhiNywKKyAgMHgwMSwgMHg4NSwgMHg3YiwgMHg2ZSwgMHgzZCwgMHg0NiwgMHhjZCwgMHg2NSwgMHg5ZiwgMHhkZiwgMHg5MywgMHg0NywKKyAgMHgyOCwgMHhkNiwgMHg3ZSwgMHg3YSwgMHhkYiwgMHg3MSwgMHhmZCwgMHg4ZCwgMHhhMiwgMHgxMCwgMHhiNywgMHgwYSwKKyAgMHgyZiwgMHg5MCwgMHg0ZSwgMHg0YSwgMHhjZSwgMHgyNCwgMHhlMCwgMHgwZCwgMHg0YiwgMHhiZCwgMHhjZCwgMHhkNCwKKyAgMHg1OCwgMHgyOCwgMHgzMywgMHgwNywgMHhhMywgMHhkNiwgMHg3MCwgMHhmMywgMHhiMywgMHgzMCwgMHg0MSwgMHgwYiwKKyAgMHgxOSwgMHhlNSwgMHgxYywgMHgzYywgMHg2OCwgMHhiOCwgMHg4MywgMHgzOSwgMHg2NywgMHg3YiwgMHhhMCwgMHhmOSwKKyAgMHhhYSwgMHhkMSwgMHgxMiwgMHg2OCwgMHgzMywgMHg3NSwgMHhhZiwgMHg3NCwgMHhkMCwgMHg1OSwgMHhiOSwgMHhlMiwKKyAgMHg3NCwgMHg4YywgMHg0MCwgMHg5MywgMHgzNiwgMHg5ZiwgMHhjMSwgMHhlZSwgMHhkMywgMHg5NSwgMHgzMiwgMHgyMiwKKyAgMHgyYiwgMHg5ZiwgMHhiMywgMHg2NiwgMHg0NiwgMHhmNywgMHhiYSwgMHg0ZSwgMHg3NiwgMHhjZCwgMHgzMSwgMHhlNCwKKyAgMHhjNSwgMHhhYSwgMHhiMSwgMHg5OCwgMHhhMywgMHhmOCwgMHhhMCwgMHg1MiwgMHg2OCwgMHg3NCwgMHhmNywgMHg4OSwKKyAgMHhjZiwgMHg1YiwgMHhjMSwgMHgyMiwgMHhiYywgMHhhMCwgMHhmNiwgMHhiMiwgMHgxYywgMHhmOCwgMHg5ZSwgMHhjMCwKKyAgMHhiZiwgMHgyMCwgMHg0ZSwgMHg2YSwgMHg1ZiwgMHhjYSwgMHhjNiwgMHgxYywgMHhkZSwgMHg5YSwgMHg0YiwgMHgyMiwKKyAgMHgzOSwgMHg0MSwgMHhkOSwgMHhhZCwgMHhkOSwgMHg2YywgMHg4NiwgMHg4MiwgMHg0YiwgMHhhYywgMHg3MCwgMHg3MCwKKyAgMHg0MiwgMHg0ZCwgMHhlYSwgMHgxYywgMHhiOCwgMHg5NywgMHg0ZSwgMHgyNCwgMHg3ZiwgMHhiMSwgMHhjNSwgMHhjNCwKKyAgMHg2ZCwgMHgyYiwgMHg0MiwgMHhmMCwgMHhiOSwgMHhiMiwgMHg5MSwgMHgyYiwgMHg2OSwgMHg1YiwgMHg0OCwgMHhiMiwKKyAgMHgwNSwgMHgxYSwgMHhiZiwgMHhkYSwgMHhkYywgMHgwNSwgMHg1MiwgMHg3MiwgMHgxMywgMHg4YywgMHgwNSwgMHhmYSwKKyAgMHg4YywgMHgzMCwgMHgwZCwgMHhiYywgMHg2YSwgMHg1YSwgMHhkMiwgMHhlYSwgMHgzNSwgMHhhZiwgMHg5NywgMHg4NiwKKyAgMHg4NywgMHhiOSwgMHgzNywgMHgzYywgMHhhMCwgMHhjNCwgMHg5NywgMHhmZCwgMHg5OCwgMHg3NSwgMHhlOSwgMHg4MywKKyAgMHg1MiwgMHgxMCwgMHhlYiwgMHgwNSwgMHgyZiwgMHg0MCwgMHhlMCwgMHgzMSwgMHhkMywgMHhhZSwgMHgwMiwgMHhkNCwKKyAgMHg2ZiwgMHg4MCwgMHgyZiwgMHgyYiwgMHgzNSwgMHhlNCwgMHg0MCwgMHgwYywgMHgxMSwgMHg4YywgMHhiNywgMHhjOCwKKyAgMHg2ZSwgMHg0MywgMHhjZSwgMHgxYywgMHg1MywgMHg3NSwgMHg3ZSwgMHg0MywgMHg3NiwgMHg1NCwgMHhhNywgMHgwNCwKKyAgMHhhMiwgMHhiYiwgMHg2YSwgMHhhZSwgMHhmZSwgMHg5MSwgMHhjZiwgMHg5MiwgMHg5NywgMHg4YSwgMHhiZSwgMHhmYywKKyAgMHhlNywgMHgyOCwgMHgzNiwgMHgxYywgMHg1ZCwgMHgwYywgMHhmMywgMHhhNCwgMHgzOSwgMHhjMCwgMHg5YSwgMHhmNSwKKyAgMHg1YiwgMHg3ZCwgMHgzYywgMHhkOSwgMHg5MiwgMHgxMSwgMHg4YywgMHhiZCwgMHgzOSwgMHg1YiwgMHgyMSwgMHhjNiwKKyAgMHgzMCwgMHgzZSwgMHgxOCwgMHg5ZiwgMHgyNCwgMHg2NywgMHgyNywgMHgwNywgMHhjNywgMHg2ZiwgMHhjZCwgMHgzYiwKKyAgMHhjMywgMHhkMCwgMHhmNywgMHg2NiwgMHgyMSwgMHgxOCwgMHgwNywgMHhkZCwgMHg5ZSwgMHg4OSwgMHg4OCwgMHhkZiwKKyAgMHhiNCwgMHg1MSwgMHgxYSwgMHhlZCwgMHg3NywgMHhmOCwgMHg0MywgMHgyMSwgMHg0OCwgMHhkYiwgMHgwYywgMHg1MiwKKyAgMHhiNSwgMHg1NSwgMHg0YywgMHgzNSwgMHg1YywgMHg2OSwgMHgwYSwgMHg2NywgMHg3ZiwgMHhmMiwgMHhhMiwgMHhkMywKKyAgMHg5ZiwgMHgzNCwgMHhmNSwgMHg0ZiwgMHg3MiwgMHhlYiwgMHhiZCwgMHhkNCwgMHgwOSwgMHhiZSwgMHg5NywgMHg0NiwKKyAgMHg4OCwgMHg1ZCwgMHg2NywgMHgzMiwgMHhiNSwgMHg3MCwgMHgzNSwgMHhiNCwgMHg3NywgMHgzNiwgMHg1ZCwgMHg5MiwKKyAgMHg2NiwgMHg2OCwgMHg2NiwgMHhjNCwgMHgyZCwgMHgwMCwgMHgwZCwgMHg4MSwgMHg3OCwgMHhjMywgMHgwMiwgMHhhYywKKyAgMHhkMiwgMHhhNiwgMHhlZCwgMHgyYiwgMHhlYywgMHg2MSwgMHgzNCwgMHhiNSwgMHhkMywgMHg0YywgMHg4YSwgMHg2YywKKyAgMHgzMiwgMHhjYSwgMHg3NiwgMHg5NywgMHg2ZCwgMHg1MiwgMHg4OSwgMHhlYiwgMHgxNSwgMHgxOSwgMHhhNSwgMHg0MCwKKyAgMHg0MiwgMHhiMCwgMHhjZSwgMHgyNywgMHg1YSwgMHhlYywgMHg2NiwgMHgxZCwgMHgwOCwgMHhlYiwgMHg0OSwgMHg3OSwKKyAgMHgzYiwgMHg3MCwgMHhjOCwgMHgyZiwgMHhhOCwgMHhkNSwgMHhiNCwgMHgwOSwgMHg1YiwgMHg5NywgMHg4NiwgMHhhZiwKKyAgMHgwMSwgMHg1NywgMHg4ZiwgMHg0NywgMHgzMiwgMHg4MywgMHgwZSwgMHhkOCwgMHg1YywgMHhhNCwgMHhlZSwgMHgyOSwKKyAgMHg1NywgMHg2OSwgMHg1OCwgMHgwMSwgMHhiNSwgMHgzMCwgMHg4YSwgMHhhZSwgMHgxOSwgMHhkMCwgMHgwZiwgMHhmNCwKKyAgMHhhYywgMHgyMywgMHgzNywgMHhiYSwgMHg2ZSwgMHgwMSwgMHhiOSwgMHhlNSwgMHg1ZCwgMHg3NSwgMHhlNywgMHgwOCwKKyAgMHg0NSwgMHgwMywgMHgzNiwgMHhlOSwgMHhkNywgMHgzMiwgMHg2YSwgMHgzMywgMHgwNCwgMHhlOCwgMHhhOCwgMHg0ZCwKKyAgMHgwZSwgMHg2YiwgMHgzYiwgMHg0YSwgMHg3NCwgMHhlYywgMHhhMSwgMHgwNywgMHhjMiwgMHg1ZSwgMHhmZiwgMHg2YywKKyAgMHhkNCwgMHg2YiwgMHg2ZSwgMHg0MywgMHhkMCwgMHhkNywgMHhjOSwgMHhiNywgMHhkZSwgMHhlNywgMHhhZiwgMHgzYiwKKyAgMHg3NCwgMHhmZCwgMHg3MCwgMHgzMiwgMHgwYywgMHg1NSwgMHg0OCwgMHhlNSwgMHg5OSwgMHhkYywgMHg3MywgMHgzOSwKKyAgMHg4OSwgMHhmOCwgMHg0ZiwgMHhmMCwgMHhjNCwgMHg4ZSwgMHhlNCwgMHhmYSwgMHhkZSwgMHg5NywgMHgzMiwgMHhjNywKKyAgMHg1OCwgMHhkYSwgMHhiYSwgMHhmMiwgMHgzMSwgMHg1MSwgMHgzZiwgMHhiNSwgMHgyNCwgMHgxZiwgMHhjNiwgMHg3MCwKKyAgMHhmOSwgMHg2YywgMHhmNiwgMHhiZiwgMHg5OCwgMHg1YywgMHgzNSwgMHg5ZSwgMHhhNiwgMHhjYywgMHhkZiwgMHg0NiwKKyAgMHgzNCwgMHgzYiwgMHgyYiwgMHhkNCwgMHg2OSwgMHgwYywgMHg5NywgMHg0MCwgMHg0YiwgMHgxZCwgMHg1ZCwgMHhjMiwKKyAgMHhmZSwgMHgyZiwgMHg5YywgMHg1NywgMHg3NSwgMHhjMSwgMHg1ZCwgMHg5ZiwgMHg3NSwgMHgwNiwgMHhkZSwgMHg5OCwKKyAgMHgwMSwgMHg0YiwgMHg5ZSwgMHg2YiwgMHhkNSwgMHg0MCwgMHhmMiwgMHhmNywgMHg1NSwgMHg0ZSwgMHg0OCwgMHgzZSwKKyAgMHg1NCwgMHg2MCwgMHg0ZCwgMHg4ZSwgMHgyNCwgMHhkYywgMHg0MywgMHhlOSwgMHg5ZSwgMHhjYywgMHg1ZCwgMHhkYSwKKyAgMHhkMSwgMHhjYSwgMHg5ZCwgMHgxZSwgMHhiNSwgMHgxMywgMHgwOCwgMHg1OCwgMHhiMiwgMHg5OSwgMHgxMCwgMHg4OSwKKyAgMHhhYSwgMHgzNywgMHg5OCwgMHhmNCwgMHgyMSwgMHg0ZCwgMHg3YSwgMHg2MSwgMHg2NCwgMHgyMSwgMHgyMCwgMHhlNSwKKyAgMHgzYywgMHhiMCwgMHg1MCwgMHg0ZCwgMHgwZiwgMHhkNCwgMHg4MiwgMHgzZCwgMHg2OSwgMHhiZSwgMHg1MywgMHg3ZiwKKyAgMHgwYywgMHg4YiwgMHhmMiwgMHgwNiwgMHhhZCwgMHhkNiwgMHg5MywgMHg3MCwgMHgxMSwgMHgwYiwgMHg2MywgMHg2YSwKKyAgMHhhOCwgMHg2ZiwgMHg2OSwgMHg5MSwgMHhjZSwgMHg3NywgMHhlYSwgMHg2NiwgMHg0NiwgMHgyYSwgMHhjMiwgMHhhYSwKKyAgMHg5OCwgMHhkMywgMHgyNCwgMHg2OSwgMHhhOCwgMHg5ZSwgMHg0NiwgMHhjOCwgMHgxMSwgMHg2MCwgMHgzZCwgMHhmNCwKKyAgMHg3NCwgMHhlOCwgMHgxYywgMHgxMCwgMHg2NywgMHhlYSwgMHg4NSwgMHhmOSwgMHg1YywgMHg5NiwgMHg0NywgMHgzNSwKKyAgMHhhZSwgMHhjMywgMHg3MCwgMHg4OCwgMHhmMiwgMHhlNywgMHg2ZiwgMHgxNSwgMHhiMSwgMHgxZCwgMHg1ZSwgMHgzMSwKKyAgMHgzNiwgMHhiMiwgMHg3NSwgMHg2ZSwgMHhlYiwgMHgzMCwgMHg4ZiwgMHhhZSwgMHg2OSwgMHg0MiwgMHg4NiwgMHhkMCwKKyAgMHgyNiwgMHhmMCwgMHg0YSwgMHhhMSwgMHgxYiwgMHg4NCwgMHg1OSwgMHhhNCwgMHg3OSwgMHhiZCwgMHg3NSwgMHg5ZiwKKyAgMHg4MCwgMHhhOSwgMHg3OSwgMHgyZiwgMHg2YywgMHg1OSwgMHgzYiwgMHg1OCwgMHgwMCwgMHhmOCwgMHhjYywgMHgyNywKKyAgMHhmNywgMHhlMiwgMHg5NSwgMHhmMSwgMHgxYiwgMHhjMywgMHhiMCwgMHgxNiwgMHhlYiwgMHhlNywgMHgyMiwgMHg5NiwKKyAgMHhiOSwgMHgwYiwgMHhlZCwgMHgwMCwgMHgxOSwgMHhjOSwgMHg3OSwgMHg2YiwgMHg2YiwgMHgxYywgMHgyNCwgMHg3OSwKKyAgMHhiOSwgMHgwNSwgMHhkZSwgMHg2NSwgMHgwMSwgMHg2NiwgMHgyMywgMHhmZSwgMHgyMiwgMHg0MywgMHg0ZSwgMHgyYiwKKyAgMHgwMSwgMHgzYiwgMHg5YSwgMHhjZSwgMHg4ZCwgMHgzYSwgMHgxNCwgMHhmMSwgMHgyZiwgMHg2YiwgMHhiMywgMHg2OSwKKyAgMHhjMiwgMHhmNSwgMHgxYywgMHg3NCwgMHhhNSwgMHg3NywgMHhiZCwgMHgyMiwgMHgyZCwgMHg3ZCwgMHhiZSwgMHhhMiwKKyAgMHg2ZiwgMHgzYiwgMHgwZiwgMHgxMCwgMHgyMCwgMHgxOSwgMHgxNSwgMHhhMywgMHgyNSwgMHgwYSwgMHg2MywgMHg2YSwKKyAgMHg4MSwgMHhjZiwgMHhlOCwgMHg4ZSwgMHg3YSwgMHg4OCwgMHhhZSwgMHgwYSwgMHg1MiwgMHg2ZSwgMHhjMSwgMHg0ZSwKKyAgMHhiYiwgMHhhOCwgMHhhMCwgMHhhMywgMHg5ZSwgMHhkOSwgMHg5MSwgMHhlMywgMHg4NCwgMHg4NywgMHhjOSwgMHgwNCwKKyAgMHgzMSwgMHhkYSwgMHhmMywgMHhiNywgMHg1MywgMHhkNSwgMHhhYSwgMHg0ZSwgMHg0NywgMHgyMCwgMHg0ZiwgMHhhNSwKKyAgMHg4ZCwgMHg1OSwgMHgwYywgMHhhNiwgMHg5MiwgMHg5MywgMHhjMCwgMHg1OCwgMHgwZiwgMHhmMywgMHhlNywgMHhhNiwKKyAgMHhjYSwgMHg4YSwgMHg4MiwgMHhhMiwgMHhhMCwgMHg5NiwgMHhjYywgMHgwMywgMHhhOSwgMHgzNiwgMHgwNCwgMHg1MCwKKyAgMHgwNCwgMHgwOSwgMHgwZSwgMHg2OCwgMHhlOSwgMHg4YywgMHg0ZSwgMHhhOSwgMHhlMCwgMHgzOSwgMHhhYywgMHg1YiwKKyAgMHg0YiwgMHg1NSwgMHg2YywgMHhhZCwgMHg3NywgMHhhZiwgMHgzNSwgMHgyNSwgMHg0NiwgMHg5ZCwgMHgyYiwgMHg2MiwKKyAgMHgyNSwgMHg0OSwgMHhmYywgMHhkMiwgMHg5NiwgMHhhMiwgMHg4ZSwgMHhlMSwgMHhiNSwgMHhlZCwgMHg1NiwgMHgyMiwKKyAgMHg0MCwgMHhkOSwgMHhjMiwgMHhkNSwgMHhmZiwgMHg0ZCwgMHhkNSwgMHhhZiwgMHhhNywgMHhlZCwgMHgwZSwgMHhhMSwKKyAgMHg4MiwgMHg1MSwgMHhmYiwgMHg4YiwgMHgyZSwgMHg1NCwgMHhmYSwgMHhiMCwgMHgxYiwgMHhkNSwgMHg1MywgMHgzZSwKKyAgMHhmOCwgMHhmZiwgMHhlNiwgMHg4ZCwgMHg0YSwgMHgxZiwgMHg3NiwgMHhhNSwgMHhkMiwgMHhkNiwgMHg5ZCwgMHhhMiwKKyAgMHg2NSwgMHg4NiwgMHg2YywgMHhlOSwgMHhiNiwgMHg3NywgMHhjNiwgMHhiZiwgMHhlMiwgMHgyZCwgMHhiMywgMHg5OSwKKyAgMHg5NiwgMHgwZiwgMHhiZCwgMHg2MywgMHg0YSwgMHgxMywgMHhmZiwgMHg2ZiwgMHhkZiwgMHhiMiwgMHhjZiwgMHgzYiwKKyAgMHg1YSwgMHgyMCwgMHgwMCwgMHg5ZiwgMHgxZiwgMHhkOCwgMHg4OCwgMHg5NywgMHgxNCwgMHg2NCwgMHhkMiwgMHhiNSwKKyAgMHg3NiwgMHgyYywgMHgzNiwgMHg2YiwgMHhiYywgMHg5MywgMHgxMywgMHg2MywgMHgwOSwgMHg0NiwgMHgzMiwgMHgzMiwKKyAgMHgzOCwgMHgxYSwgMHg4MSwgMHgwZCwgMHg3OSwgMHg2YSwgMHg4ZiwgMHg0MywgMHg4MSwgMHg1NCwgMHhkNiwgMHg4ZSwKKyAgMHgxYywgMHhmOCwgMHg3MSwgMHgxNSwgMHhmMSwgMHhkZSwgMHhjNSwgMHhmNywgMHg0NiwgMHhhMiwgMHgzZSwgMHhlOCwKKyAgMHg5YSwgMHgyZSwgMHg4ZCwgMHg1YywgMHg1ZiwgMHhlNiwgMHhkMCwgMHgwZSwgMHg4YywgMHhlMiwgMHg0MiwgMHg5NiwKKyAgMHhlZSwgMHhkNywgMHhlMywgMHhmMSwgMHhmMCwgMHhlMCwgMHhlYywgMHgzOCwgMHhiOSwgMHhjNywgMHhlZSwgMHgwMiwKKyAgMHhkMCwgMHg5NSwgMHg5YiwgMHg2MywgMHhjYywgMHg3NCwgMHhlZSwgMHhjZiwgMHgyYiwgMHg2ZCwgMHg3ZiwgMHhkZCwKKyAgMHhlOCwgMHhiOSwgMHhkZCwgMHg2ZCwgMHgzZCwgMHhhOCwgMHg5MywgMHg1NiwgMHhkOSwgMHg4NCwgMHg0ZSwgMHhjYSwKKyAgMHhiNiwgMHgxMCwgMHgyMiwgMHg2ZCwgMHg1YiwgMHg1MSwgMHhlNCwgMHg5MSwgMHgxOSwgMHg0NiwgMHg3ZSwgMHgxYiwKKyAgMHhlMiwgMHg1YSwgMHg3OCwgMHgyMCwgMHgwOCwgMHhkNSwgMHgwMSwgMHgzMiwgMHg4YywgMHhjMCwgMHhiZSwgMHg3NiwKKyAgMHg1ZiwgMHgzYywgMHhkYiwgMHgzNSwgMHhiNywgMHhlMiwgMHg4ZSwgMHgyMywgMHg3ZSwgMHhmMiwgMHhmMiwgMHg5MywKKyAgMHhkMSwgMHhlMywgMHg5ZCwgMHgyNywgMHhhMywgMHgyNywgMHhjNCwgMHhkMywgMHgyNCwgMHgwNSwgMHgwNCwgMHg3ZSwKKyAgMHgwZiwgMHgxOSwgMHgzZSwgMHgxZSwgMHgzZiwgMHg2MywgMHgyMSwgMHhmNiwgMHhmNiwgMHhlOCwgMHgzMCwgMHhlMSwKKyAgMHg1YywgMHg3YywgMHgyMCwgMHg5YiwgMHg3NiwgMHg4YywgMHhhZSwgMHg4NCwgMHhmMywgMHgwMSwgMHg4OSwgMHg5NSwKKyAgMHhjYSwgMHgxMSwgMHgzMiwgMHhiMSwgMHgwNiwgMHhmZSwgMHg4YSwgMHg2MCwgMHgzYiwgMHhkNCwgMHg5NCwgMHg4MCwKKyAgMHhjNSwgMHg1NSwgMHhkOCwgMHg4OSwgMHgxMCwgMHhiYiwgMHg2MywgMHhhYiwgMHg0MiwgMHhmNiwgMHg4NSwgMHhlNiwKKyAgMHgxOCwgMHg5NiwgMHhkNCwgMHg3YSwgMHg1YiwgMHhlMiwgMHg2ZCwgMHhkOCwgMHgzZCwgMHhmNSwgMHgzMiwgMHg0ZiwKKyAgMHhmYSwgMHhjZiwgMHg0NywgMHhjZCwgMHg5NywgMHgxZSwgMHgwMywgMHhjOCwgMHgzOSwgMHhmMSwgMHgwMywgMHgzYiwKKyAgMHg0NywgMHgxOCwgMHhhMiwgMHgxYSwgMHhhNSwgMHhlNCwgMHg4ZCwgMHg5YywgMHgyZSwgMHhhYywgMHg0OSwgMHg3MiwKKyAgMHhmMSwgMHhmNywgMHg1OSwgMHgzMSwgMHhmYSwgMHhiOSwgMHhmNiwgMHg1NCwgMHg0NCwgMHgyMSwgMHhmNiwgMHhjYywKKyAgMHgyNiwgMHg5ZCwgMHhiYSwgMHgzMCwgMHgzMiwgMHhiMSwgMHg5NSwgMHhmYSwgMHgxNiwgMHgyNCwgMHgyNiwgMHg1MiwKKyAgMHhkNywgMHg1OSwgMHhjNiwgMHgyNCwgMHg0MCwgMHg5NywgMHg5OSwgMHgyZCwgMHgyOCwgMHg2ZiwgMHgyOCwgMHgzYiwKKyAgMHg3ZSwgMHhlNCwgMHg2NywgMHgzYSwgMHg3YSwgMHhjNCwgMHgyMCwgMHhhNywgMHg4ZiwgMHhmMSwgMHg1OCwgMHg1NSwKKyAgMHg5NiwgMHhjZSwgMHg2NSwgMHg1NiwgMHhkZSwgMHg3NywgMHhjMiwgMHg1ZiwgMHhkMiwgMHhlZSwgMHg4MSwgMHhkOSwKKyAgMHhkNiwgMHg2MSwgMHg5ZSwgMHhiOSwgMHg0MywgMHgzYiwgMHhkNywgMHgyOSwgMHhkOCwgMHhiYywgMHg1MywgMHhhZiwKKyAgMHgzMywgMHg1NSwgMHg2NSwgMHhjNCwgMHg0OSwgMHhiZSwgMHgzNCwgMHhhYywgMHhmMCwgMHgwMSwgMHhjNSwgMHg1MiwKKyAgMHhmZCwgMHg4NywgMHhmZiwgMHg5MCwgMHhhNiwgMHg3NSwgMHg3YSwgMHgzYiwgMHhkNywgMHgzMCwgMHgzYSwgMHhjOSwKKyAgMHhhNSwgMHhlYywgMHg0YSwgMHhkNSwgMHgwOCwgMHg5NywgMHhlYiwgMHgxOSwgMHg4YywgMHg4YSwgMHg3NywgMHgxYywKKyAgMHgzNywgMHg1MywgMHg4YSwgMHhlYiwgMHg2NiwgMHgwNCwgMHgxYSwgMHg0YiwgMHhkMiwgMHgzYSwgMHg2MSwgMHhjOSwKKyAgMHgzMywgMHhlNywgMHhhMiwgMHg2YSwgMHgzYSwgMHhhYywgMHhkNCwgMHhmMSwgMHg2ZiwgMHg3NywgMHgxOSwgMHg2MSwKKyAgMHg4YywgMHhiOSwgMHgzNywgMHhhNSwgMHgzMCwgMHhjNSwgMHg3YiwgMHgzOSwgMHhlZiwgMHhhZiwgMHhjMSwgMHgwYywKKyAgMHg0OSwgMHg4NSwgMHg2MywgMHgzZiwgMHhjMywgMHhjZiwgMHg1NywgMHhlNiwgMHg2NCwgMHgwYiwgMHg5MywgMHgyZCwKKyAgMHgyNCwgMHhiNywgMHg2NSwgMHg2ZCwgMHg5MCwgMHg1ZSwgMHg0ZCwgMHg5OCwgMHg4YSwgMHgzOCwgMHg4YiwgMHg5MCwKKyAgMHgwYywgMHgwMywgMHgwMiwgMHhkOSwgMHgxZSwgMHgzZCwgMHgwOCwgMHhmZiwgMHhiZSwgMHhhMywgMHhmOCwgMHgwNSwKKyAgMHg3YywgMHhmNiwgMHhmZiwgMHgwOSwgMHgzNSwgMHhmMCwgMHg2OSwgMHg2MiwgMHhjZiwgMHhlYSwgMHgyMSwgMHhlYSwKKyAgMHgyMCwgMHhiNywgMHg4YSwgMHg4MCwgMHgzYSwgMHgxOCwgMHhiOCwgMHgxZSwgMHgzZCwgMHg5MywgMHhlYiwgMHhmZiwKKyAgMHhkNywgMHgwNiwgMHhmZiwgMHg0ZiwgMHhkMiwgMHgwNiwgMHhmZiwgMHg5NSwgMHg1YiwgMHgzYSwgMHg5NCwgMHg0MiwKKyAgMHgwZCwgMHhiZSwgMHg5NiwgMHgzNiwgMHg2NywgMHg1NCwgMHgwYSwgMHgxNywgMHhhMywgMHgxNSwgMHg1NCwgMHhmMywKKyAgMHhiYiwgMHg5MSwgMHhlNywgMHg3OCwgMHhlNiwgMHgwNCwgMHhiZCwgMHg4NywgMHg1ZCwgMHhkMSwgMHg5MCwgMHgxNCwKKyAgMHhmZSwgMHhkZiwgMHhiOCwgMHhhMiwgMHgwZiwgMHhiYSwgMHg5OSwgMHhmZiwgMHhiZiwgMHhlZiwgMHhlMywgMHg3ZiwKKyAgMHhiNywgMHg3YiwgMHhiOCwgMHgyNiwgMHhkZCwgMHg3MSwgMHg4YiwgMHg1MiwgMHhjMCwgMHgyOCwgMHg0NywgMHg4ZiwKKyAgMHhiYiwgMHgzNywgMHhjMiwgMHhkMiwgMHhkZSwgMHg3NiwgMHhhYSwgMHgwZiwgMHg1NSwgMHgxOCwgMHhmMywgMHhkNiwKKyAgMHgxZCwgMHg5ZiwgMHg3ZCwgMHhmNywgMHg2YywgMHg0MCwgMHg5MSwgMHhkZSwgMHg3MSwgMHgzNywgMHhhZiwgMHhhNSwKKyAgMHg0YSwgMHg0ZSwgMHg1ZSwgMHgxZCwgMHg5YywgMHhmZCwgMHg4YywgMHhkYiwgMHhmZSwgMHgxNywgMHhiOCwgMHg1OSwKKyAgMHg5NywgMHg1OSwgMHgzNiwgMHgxYiwgMHg3MiwgMHgwOCwgMHhmMSwgMHgyNSwgMHhmZSwgMHgxMSwgMHg4ZCwgMHhiZCwKKyAgMHgyYiwgMHg2NCwgMHgxMCwgMHhjOCwgMHg5NiwgMHgyMiwgMHg4YiwgMHg2MSwgMHg0YSwgMHgwMywgMHg1ZSwgMHgzNiwKKyAgMHg2YSwgMHg0YSwgMHgyMSwgMHgyMCwgMHg1ZSwgMHg0YiwgMHhmNCwgMHgzOCwgMHgwZCwgMHg3YywgMHgyYywgMHg2NSwKKyAgMHgzMSwgMHhkYiwgMHgxNiwgMHgxNSwgMHg5MCwgMHhiZiwgMHgwZCwgMHg1MiwgMHg5MSwgMHg1NCwgMHgxNCwgMHhiYSwKKyAgMHhkZSwgMHg5NywgMHgwNCwgMHhmNCwgMHg2OSwgMHhiMSwgMHg5MCwgMHhiZCwgMHg2NywgMHgzOCwgMHhjMSwgMHgzOCwKKyAgMHg5YSwgMHgxNywgMHg3NSwgMHhlNywgMHg5NiwgMHhjMiwgMHhkMSwgMHg0ZiwgMHg4NiwgMHhlMywgMHg3YywgMHhmYywKKyAgMHg4OCwgMHhmYywgMHhlZiwgMHhlMCwgMHgyMCwgMHg1OSwgMHhmMywgMHgwOSwgMHhlMSwgMHg4MywgMHhiYSwgMHg5ZiwKKyAgMHhlZiwgMHhjYiwgMHhhYywgMHg1OSwgMHhiYiwgMHg5NSwgMHhmZSwgMHg0OSwgMHhiNCwgMHg3NiwgMHg5MCwgMHg4MiwKKyAgMHhlNSwgMHgxYywgMHgzYSwgMHhlYywgMHhmMiwgMHgyMCwgMHg3ZiwgMHg3NywgMHgzOCwgMHg5OSwgMHg4NCwgMHhlNywKKyAgMHg2YiwgMHgzZiwgMHhkMSwgMHhkZSwgMHhjYiwgMHhlMywgMHg4YiwgMHhmNiwgMHg3NiwgMHg0NiwgMHg4YSwgMHgxMiwKKyAgMHgwNiwgMHhhZCwgMHhjNCwgMHgyNSwgMHg3ZiwgMHg0YSwgMHgzNiwgMHg2NCwgMHhiZSwgMHg5YiwgMHhhOCwgMHg2YiwKKyAgMHg5ZiwgMHgzYiwgMHgwZCwgMHhlMCwgMHgwNCwgMHg4OCwgMHg5YSwgMHg0MiwgMHhkMywgMHhjZiwgMHhiZCwgMHg3ZSwKKyAgMHg0ZiwgMHhiMiwgMHgyZiwgMHhhMSwgMHgwZCwgMHg1NiwgMHhlOCwgMHg5YSwgMHhlNCwgMHhlNywgMHg4MSwgMHhlMiwKKyAgMHgzMiwgMHhhZiwgMHhiYywgMHhmNiwgMHhmNCwgMHgyOSwgMHg2YSwgMHg5ZiwgMHhiMCwgMHg2YiwgMHg2MSwgMHhmZiwKKyAgMHg2MCwgMHhiZSwgMHhkZiwgMHg1OSwgMHgzMywgMHgxZCwgMHhkOSwgMHg5MywgMHgwNSwgMHgyMiwgMHhhYiwgMHhmOSwKKyAgMHhkNSwgMHhkNCwgMHhhOCwgMHhiOCwgMHgyMCwgMHgzOSwgMHhjMywgMHg1ZiwgMHgwNywgMHg2OCwgMHg0OSwgMHgyOSwKKyAgMHhmOCwgMHg0MCwgMHhjMywgMHgxZSwgMHg1ZiwgMHg4NSwgMHgyNiwgMHhjNSwgMHg3YywgMHhmYSwgMHg3ZSwgMHg5MywKKyAgMHhlYiwgMHgxYiwgMHhiYSwgMHg4NiwgMHg5OCwgMHgzOCwgMHhlYSwgMHg4ZSwgMHhiMSwgMHg1YywgMHgyMSwgMHgzNSwKKyAgMHhlYywgMHgwYywgMHg1MCwgMHgzMiwgMHhlOCwgMHhmYSwgMHg0ZSwgMHg5MSwgMHhlMCwgMHg4YiwgMHg3OSwgMHg3YSwKKyAgMHgyMywgMHg1NSwgMHg3ZCwgMHg1ZCwgMHg3ZSwgMHgzZiwgMHgzZSwgMHg3OSwgMHg4YywgMHg2ZCwgMHgzZCwgMHgzZiwKKyAgMHgxOSwgMHhmYiwgMHhmZCwgMHg0MCwgMHg2YSwgMHhjNCwgMHhlNSwgMHg1MSwgMHhkMSwgMHhmZCwgMHhkNSwgMHhkMSwKKyAgMHhjMSwgMHhmOCwgMHg3YywgMHgxNCwgMHgyYywgMHg5MSwgMHhlMywgMHhjMCwgMHg1MSwgMHg4MiwgMHg2MSwgMHgyNiwKKyAgMHgzYywgMHgzZSwgMHgzMSwgMHg2YiwgMHhiZCwgMHgyMywgMHgzYywgMHg2MCwgMHhhOSwgMHgxNCwgMHhhNywgMHhjOSwKKyAgMHhmMSwgMHhkYywgMHg3NCwgMHg3NCwgMHhiMiwgMHg3MywgMHg1MywgMHgyZSwgMHg1NywgMHg2YSwgMHhiMiwgMHgyYSwKKyAgMHhjYywgMHg0ZSwgMHgzMiwgMHg3YiwgMHgyNywgMHgwOSwgMHhjNCwgMHgzNiwgMHg3NSwgMHgxOSwgMHhiNCwgMHgwNSwKKyAgMHhkOCwgMHg5MSwgMHg3MiwgMHg0ZSwgMHg0OSwgMHgwNSwgMHhmNCwgMHg5OSwgMHhiNiwgMHgxZiwgMHg4MiwgMHhlYSwKKyAgMHgyYywgMHgwNCwgMHg4YiwgMHhhNSwgMHgxZiwgMHg1OSwgMHhjMSwgMHhlOCwgMHgxZCwgMHgyNSwgMHhmNSwgMHhiMywKKyAgMHhiMywgMHg1MywgMHhkNSwgMHhiZCwgMHhlMiwgMHhiOCwgMHhiMywgMHhkNywgMHg4MSwgMHhkNCwgMHhiYywgMHgwMiwKKyAgMHg1NCwgMHhhYSwgMHhiMCwgMHg4YSwgMHgyNSwgMHhhZCwgMHgzZiwgMHg2YSwgMHg2NCwgMHgxNywgMHg3ZCwgMHg5MiwKKyAgMHgyOSwgMHg2YSwgMHhiYywgMHgzNiwgMHg5NSwgMHhiZSwgMHg2YiwgMHgwOSwgMHg5OSwgMHg4MywgMHgwNiwgMHhjOCwKKyAgMHgwNywgMHg5NSwgMHg3YiwgMHgwNiwgMHhkNSwgMHg1ZSwgMHhlNCwgMHgwMCwgMHgyOCwgMHhiMiwgMHhmOSwgMHhmNiwKKyAgMHg5YSwgMHgxMywgMHhkNywgMHgyNCwgMHgxMiwgMHhiZiwgMHg4ZiwgMHgzMywgMHg4ZCwgMHgxNiwgMHg2ZiwgMHgxZSwKKyAgMHg5OSwgMHg0YywgMHhhZiwgMHgzMiwgMHgyMywgMHg0NCwgMHg0NiwgMHgxZSwgMHg1NCwgMHhjZCwgMHg4MywgMHgzNywKKyAgMHhlNCwgMHhiMywgMHgwMCwgMHhjZiwgMHgzNCwgMHhiMiwgMHgzZCwgMHgzZiwgMHg3YiwgMHg0MywgMHg5ZSwgMHgzYywKKyAgMHgwOSwgMHgzNywgMHhhNCwgMHhjYSwgMHhmZSwgMHgzZSwgMHg4YiwgMHgzNSwgMHg3NywgMHg0MCwgMHg0OSwgMHgxZCwKKyAgMHhlYSwgMHhmOSwgMHhiOCwgMHgwZSwgMHhlZSwgMHgxZCwgMHg3NywgMHhhOCwgMHhhMCwgMHhhOSwgMHhlZSwgMHg1MCwKKyAgMHg4ZiwgMHgzNiwgMHgyZCwgMHgwZiwgMHg3MiwgMHhlOCwgMHhhMCwgMHg2NCwgMHg2MSwgMHg1MywgMHgwMCwgMHgzMiwKKyAgMHg5MCwgMHhmYSwgMHgxNiwgMHg0NiwgMHhkOCwgMHg2YiwgMHgyOCwgMHg5YywgMHhjNywgMHhmMSwgMHg4ZCwgMHhhNCwKKyAgMHg2OCwgMHg0MywgMHgzZSwgMHhiMiwgMHg1NiwgMHg4MywgMHhhNCwgMHhiNCwgMHgxNiwgMHg3NCwgMHhmYSwgMHhhMiwKKyAgMHhhMiwgMHg3OSwgMHg3YiwgMHg3OSwgMHg4NiwgMHhjMywgMHg4YiwgMHg2NiwgMHg2OSwgMHgxNywgMHhiNiwgMHg5NiwKKyAgMHgzYSwgMHgxZSwgMHhjNSwgMHgzNiwgMHg4MywgMHg0OCwgMHhjMywgMHhmMCwgMHg4MSwgMHhiYSwgMHhhMSwgMHgyYSwKKyAgMHg0ZiwgMHgzMywgMHg5NSwgMHg3ZSwgMHgzMiwgMHg1OSwgMHg0MywgMHgyNywgMHhkMiwgMHgzMywgMHhlZSwgMHg2NywKKyAgMHg5MSwgMHg4OSwgMHhhNCwgMHhlNCwgMHg1MCwgMHg3MiwgMHhiZCwgMHhhNCwgMHhlYiwgMHhjZSwgMHg1NiwgMHhjOCwKKyAgMHgyZCwgMHg1YSwgMHhlNCwgMHg2OCwgMHgzZiwgMHhiMiwgMHg1MywgMHg1ZSwgMHg1YywgMHhhMCwgMHhlYSwgMHhkOCwKKyAgMHgxMCwgMHg2MSwgMHg1MywgMHhlNSwgMHg0NiwgMHhjNSwgMHgwZiwgMHg1ZCwgMHg3ZCwgMHhjMCwgMHg4ZSwgMHg3NiwKKyAgMHg5NSwgMHg1YiwgMHhmYywgMHg0ZCwgMHhmNywgMHgwZCwgMHhhZSwgMHhlYiwgMHg1YywgMHg5YiwgMHhiMCwgMHgxZCwKKyAgMHhlZSwgMHg0OSwgMHgwZiwgMHgzOSwgMHg5YywgMHg1NywgMHhkYSwgMHgwNSwgMHg2ZSwgMHgzZCwgMHg0NSwgMHg4NCwKKyAgMHhjOSwgMHhhOCwgMHhkNCwgMHg1YSwgMHg4ZCwgMHg2YiwgMHg2NiwgMHg4MCwgMHg0ZCwgMHgwOSwgMHhiMiwgMHg1ZiwKKyAgMHg0MywgMHgxYSwgMHhhZSwgMHhiNiwgMHg1NiwgMHg4OCwgMHgyMywgMHg2NCwgMHhhOCwgMHgyMCwgMHg5NSwgMHg1NiwKKyAgMHhiNCwgMHhkOCwgMHgxMiwgMHg4MSwgMHg0OCwgMHgzNSwgMHg4ZCwgMHgxOCwgMHgwYiwgMHg1OSwgMHg3MCwgMHgwNSwKKyAgMHgzZCwgMHg2YSwgMHhkNywgMHgwMiwgMHgwZSwgMHg1OCwgMHgxMCwgMHg3NiwgMHhjMiwgMHg3NSwgMHgzNiwgMHg0NywKKyAgMHg0ZCwgMHg3OSwgMHg1NiwgMHg0YywgMHhhYiwgMHhiYiwgMHhhNSwgMHhkZiwgMHhhMSwgMHg2NSwgMHhmNiwgMHhhZiwKKyAgMHhkMCwgMHhhNCwgMHg5NiwgMHg3ZiwgMHgyMiwgMHg5YywgMHg2ZSwgMHg5NCwgMHg0MSwgMHgyMywgMHgwMCwgMHhiNiwKKyAgMHg0MywgMHg5ZCwgMHg5NCwgMHhmYSwgMHhjYiwgMHhjOSwgMHg3OCwgMHgwYywgMHgzYSwgMHg0ZCwgMHg5YSwgMHg0OSwKKyAgMHhlMywgMHg5NywgMHg4NSwgMHg5MSwgMHg3ZCwgMHhhNywgMHhkMiwgMHg4YywgMHhlYiwgMHgxZiwgMHgwNCwgMHg5NywKKyAgMHhmNiwgMHgyMiwgMHg3NCwgMHhhYSwgMHhkMywgMHhlNiwgMHhkYSwgMHhhMiwgMHhhZiwgMHgwNywgMHhkZiwgMHg4NiwKKyAgMHhiZCwgMHgwMSwgMHg2ZiwgMHhkNywgMHhmNSwgMHg1ZSwgMHg3MCwgMHgwMSwgMHhjNiwgMHgyNywgMHhkYiwgMHg1NCwKKyAgMHhhNSwgMHgzMSwgMHhjZCwgMHhkYSwgMHg4MSwgMHgwOSwgMHg2MiwgMHg2MSwgMHhkYSwgMHg4MywgMHg3MiwgMHg4ZiwKKyAgMHg4OSwgMHhkOSwgMHg3YSwgMHg4NywgMHgyOSwgMHhlYywgMHhjMCwgMHgzYSwgMHg0YSwgMHgxYSwgMHg2NCwgMHg5OCwKKyAgMHgzMSwgMHhiNCwgMHgwZSwgMHhiZCwgMHhlZCwgMHg5MCwgMHgxOCwgMHhjNiwgMHg0NiwgMHhkYywgMHg3MCwgMHhkZSwKKyAgMHg2NywgMHhiYiwgMHg2ZCwgMHhiNiwgMHg4MiwgMHg1YiwgMHg5OCwgMHhhNywgMHhhZiwgMHhmNywgMHhmYSwgMHhiYSwKKyAgMHg4ZCwgMHg4YywgMHhlNCwgMHhkNywgMHhjMCwgMHgyOSwgMHg5OSwgMHg2NSwgMHg2OCwgMHhkOCwgMHhhMSwgMHg4MCwKKyAgMHhjOSwgMHg1NCwgMHhhNiwgMHhjYiwgMHhmNCwgMHg4NiwgMHhhNCwgMHg2NywgMHg3MiwgMHhkOSwgMHgzZiwgMHhkYiwKKyAgMHg3ZCwgMHhmZSwgMHg2YywgMHg3YiwgMHg0ZCwgMHhlMiwgMHhjMSwgMHg5MCwgMHgxYSwgMHhiNCwgMHgxMSwgMHgwNiwKKyAgMHgwMywgMHg5MywgMHgxMCwgMHhmZCwgMHg2YiwgMHg2ZiwgMHhlNCwgMHg2ZiwgMHg1MCwgMHhlMiwgMHgxYSwgMHg1OCwKKyAgMHg0OSwgMHg3MywgMHhjMCwgMHg1MCwgMHhlYSwgMHgxYiwgMHgxMSwgMHg0YywgMHgyNCwgMHg4MSwgMHg4ZCwgMHhiMCwKKyAgMHgzZCwgMHg3ZCwgMHg4OCwgMHg1OCwgMHg2YywgMHgzYiwgMHg3MCwgMHhlNSwgMHg3YywgMHgyMCwgMHhlNSwgMHhhZSwKKyAgMHhhMSwgMHgxYywgMHhiNCwgMHgxYiwgMHg4MSwgMHhlMSwgMHgzYywgMHg3YywgMHhhYywgMHg3MywgMHg2MCwgMHg4ZCwKKyAgMHhjMiwgMHhlZiwgMHhjMSwgMHhjYywgMHg5MywgMHhjNSwgMHhkZiwgMHg0NywgMHhlZCwgMHg3ZiwgMHhmOSwgMHgwMSwKKyAgMHg1ZSwgMHgzNywgMHhjMCwgMHgyZiwgMHgzOSwgMHhlNSwgMHhjNywgMHhiZiwgMHhjMSwgMHgyOSwgMHgzZiwgMHg1ZSwKKyAgMHg3ZiwgMHhjYSwgMHg4ZiwgMHgxZiwgMHg3YSwgMHhjYSwgMHhjZiwgMHg5ZiwgMHgzZSwgMHhmYiwgMHhmYywgMHgxNywKKyAgMHg5YywgMHhiMiwgMHhiNywgMHhjMywgMHhmZiwgMHhjYiwgMHg0ZSwgMHhkOSwgMHhhMywgMHhiNCwgMHg1ZiwgMHg3NiwKKyAgMHhjYSwgMHg5MiwgMHgyOCwgMHgxMywgMHgxNCwgMHgwZSwgMHg0YSwgMHg1NSwgMHgxMCwgMHg2NSwgMHhmZCwgMHg1MiwKKyAgMHhlOSwgMHgxMywgMHg1NywgMHgyYywgMHhmMiwgMHhiMywgMHg2MSwgMHg0OSwgMHhhZCwgMHg3NCwgMHgxOCwgMHhlNiwKKyAgMHhjZSwgMHhhNiwgMHhhNCwgMHg5YiwgMHg0NiwgMHgxYywgMHgwZiwgMHgwZSwgMHhiZCwgMHgwOSwgMHg1YSwgMHhmZiwKKyAgMHg3MiwgMHg0ZSwgMHgxZCwgMHgzMiwgMHgzNywgMHg4NywgMHg5YiwgMHhlYSwgMHgzMiwgMHhkMiwgMHgxYSwgMHg3OSwKKyAgMHhhZiwgMHhkMCwgMHg4YSwgMHgxMywgMHg5NSwgMHg3ZSwgMHg0MywgMHhlOCwgMHhjYywgMHgzMCwgMHg4ZiwgMHhjOCwKKyAgMHhjYiwgMHgwNCwgMHg2YiwgMHg2ZiwgMHhkYSwgMHg5ZCwgMHgxMSwgMHhjMiwgMHhjMywgMHg2OCwgMHg1OSwgMHgxNSwKKyAgMHg2NywgMHgwNCwgMHhiMiwgMHg1NywgMHhjYSwgMHgwMSwgMHhmOCwgMHhhOSwgMHhmMywgMHg2YSwgMHg2MiwgMHgxNCwKKyAgMHg2NSwgMHgyMywgMHgwNSwgMHgwYSwgMHg0YSwgMHg3NCwgMHhiYSwgMHg5YiwgMHg2NywgMHgyMiwgMHhkOSwgMHg2OSwKKyAgMHhkMSwgMHg0NCwgMHgxOSwgMHhlNCwgMHhkZSwgMHhlOCwgMHhiYSwgMHhjOSwgMHhhNSwgMHgyMSwgMHg1YywgMHgyNywKKyAgMHg4YiwgMHg2YiwgMHgyNCwgMHgyMSwgMHgwNCwgMHhhMywgMHhiMiwgMHhiNiwgMHgyNiwgMHhjMywgMHhmZCwgMHhiZiwKKyAgMHhjZCwgMHgyZCwgMHhhMSwgMHhmYywgMHg3NSwgMHhjMiwgMHhhYywgMHg4ZCwgMHgyMCwgMHhiYSwgMHhhZCwgMHg0YiwKKyAgMHg3YSwgMHhlYywgMHgyNiwgMHgyMSwgMHhmNiwgMHgzNCwgMHhhMCwgMHg4YiwgMHhhMiwgMHg0MCwgMHg1MSwgMHgzMywKKyAgMHhjMiwgMHg3NiwgMHgzNywgMHg0MiwgMHg0ZSwgMHhhMSwgMHg2NywgMHhkOCwgMHg1NCwgMHgxOCwgMHg0MSwgMHhkZCwKKyAgMHgxNiwgMHg3ZiwgMHhkMiwgMHgxYywgMHgzMCwgMHg0MCwgMHg5YiwgMHgyMCwgMHg5OSwgMHgyZSwgMHgwYiwgMHg2YSwKKyAgMHhmNywgMHhkNiwgMHg3MywgMHgxOSwgMHg5NiwgMHhiYSwgMHgzMywgMHhmNywgMHg5NywgMHgxNCwgMHg1MSwgMHg0ZSwKKyAgMHg3ZSwgMHg2MywgMHhkYiwgMHhhNCwgMHg3OSwgMHhiOSwgMHg4MywgMHhhZiwgMHhlOCwgMHg3NCwgMHg2NywgMHhhYiwKKyAgMHhjNSwgMHg1MiwgMHgxMSwgMHg2ZiwgMHhhOSwgMHhmOCwgMHgyYiwgMHg0NywgMHhjNSwgMHhiNCwgMHg2MCwgMHhkZSwKKyAgMHhmNCwgMHg5NSwgMHhlMSwgMHg1OSwgMHhjZiwgMHg5YiwgMHgyNCwgMHhmYywgMHhiMSwgMHgxNywgMHg0ZiwgMHhjZiwKKyAgMHg0YSwgMHgyMCwgMHg1YiwgMHhiNCwgMHg2ZSwgMHhmMSwgMHg5OCwgMHg1MSwgMHhjMiwgMHhhOCwgMHhjMiwgMHgyMCwKKyAgMHhjOSwgMHgyZSwgMHg4MiwgMHg3NCwgMHgwYywgMHhiNCwgMHg4NywgMHg0MiwgMHhjNCwgMHgzNiwgMHg5YiwgMHhhYywKKyAgMHgyZSwgMHgxNSwgMHgzOCwgMHhjNiwgMHhkNiwgMHhiMSwgMHhiNiwgMHhhOSwgMHgxMiwgMHhlNSwgMHg2OSwgMHgwNCwKKyAgMHgyNCwgMHg5NywgMHgwZCwgMHhiOCwgMHg1NiwgMHhlMCwgMHgyZSwgMHg0NCwgMHhkMCwgMHg2YSwgMHhhOCwgMHg3ZiwKKyAgMHhlZiwgMHg3NCwgMHg1ZCwgMHhjMiwgMHg1YywgMHhiMCwgMHg3MCwgMHgxMCwgMHg3YiwgMHg2YiwgMHhlNSwgMHhmOCwKKyAgMHg0OSwgMHhhYiwgMHhiYiwgMHg2NCwgMHhhNCwgMHgzZiwgMHhhMiwgMHg0ZiwgMHgyYSwgMHhjZCwgMHg3NCwgMHgzOSwKKyAgMHhiYywgMHg0OCwgMHgwOSwgMHg3ZiwgMHgzYSwgMHg0MCwgMHgwZiwgMHg5MSwgMHgyNCwgMHg1OSwgMHhiOSwgMHgwMiwKKyAgMHhlNywgMHg4NywgMHg2NywgMHhjOSwgMHhlYiwgMHg1NCwgMHg3YSwgMHhjYSwgMHgyNSwgMHg1YiwgMHg4NiwgMHgwMywKKyAgMHgzZiwgMHg3ZiwgMHhiMiwgMHhmYiwgMHg3OCwgMHg3YiwgMHhhZCwgMHg2ZCwgMHhkMiwgMHhjNiwgMHg1NCwgMHhjNCwKKyAgMHhiNywgMHg4YSwgMHgzMiwgMHg5NiwgMHhjZiwgMHg3ZiwgMHhiZSwgMHhhYSwgMHgwMCwgMHhhYiwgMHg4MywgMHgwMywKKyAgMHgzMCwgMHg1ZiwgMHhmYSwgMHhmMCwgMHhmNiwgMHhmNCwgMHhkNSwgMHhkMSwgMHhjOSwgMHhjMSwgMHg1ZiwgMHgyYywKKyAgMHgyYywgMHgxMCwgMHg2ZCwgMHg4MiwgMHhhMiwgMHg0YywgMHg3YywgMHgzMCwgMHgyNiwgMHhmZCwgMHhkZCwgMHg4NywKKyAgMHgzYSwgMHgzMywgMHg3MywgMHg2ZSwgMHhiNiwgMHgxZSwgMHg2ZiwgMHg1MywgMHg5MSwgMHg3NiwgMHg1MCwgMHgxMCwKKyAgMHg3YSwgMHg5OSwgMHhiNSwgMHgyMCwgMHg5NSwgMHhhNCwgMHhiYywgMHg2MiwgMHgwZCwgMHgyYSwgMHhhMCwgMHg3NSwKKyAgMHhkYSwgMHgzZSwgMHgxYSwgMHhlZCwgMHg0OSwgMHg2ZiwgMHgyOSwgMHhlOSwgMHg4ZCwgMHhlMywgMHg3OCwgMHg5NiwKKyAgMHg1NywgMHhmNCwgMHg5YywgMHgwYSwgMHg2YywgMHhhOCwgMHg0MiwgMHgxOCwgMHg5NSwgMHg0MSwgMHg4NSwgMHgyYiwKKyAgMHgxNSwgMHg1NCwgMHhlNiwgMHg2NCwgMHhjMSwgMHhjOSwgMHhiNSwgMHhjZSwgMHgxYiwgMHg5NCwgMHgxOSwgMHhiNywKKyAgMHhiMCwgMHg4NywgMHg4MSwgMHhkMywgMHg0MCwgMHhiZiwgMHg1OCwgMHgxZiwgMHg2YSwgMHg2ZiwgMHhmMywgMHhmZSwKKyAgMHgwNiwgMHhjMiwgMHgyMiwgMHg5YiwgMHgxNywgMHg1OSwgMHgzMywgMHg5NCwgMHg4OSwgMHhiZCwgMHgzNCwgMHhmZiwKKyAgMHhmZCwgMHhlMiwgMHgzYSwgMHg5ZCwgMHgwNywgMHhlOCwgMHgxZiwgMHhkNCwgMHgzOCwgMHg1NywgMHgyOSwgMHhkMywKKyAgMHhiMiwgMHgyMiwgMHg3YSwgMHhkMywgMHhlYiwgMHhhYiwgMHgzNSwgMHhiNiwgMHhlZCwgMHhhNSwgMHhmNCwgMHg0OSwKKyAgMHg3MywgMHg1NSwgMHg4MiwgMHgzNiwgMHg1MiwgMHhlNywgMHhlNywgMHg3ZiwgMHgzOSwgMHgzYiwgMHhmYSwgMHhlMiwKKyAgMHgyNSwgMHgzMSwgMHhiMiwgMHgzZiwgMHg1MywgMHg2OSwgMHg0ZSwgMHhkZCwgMHhlMiwgMHg2YiwgMHg0OSwgMHg3MywKKyAgMHhiNywgMHgwYywgMHhkZCwgMHhmNCwgMHgzZiwgMHhiYywgMHgzYSwgMHgxZSwgMHg5ZiwgMHg5ZCwgMHg5YywgMHgxZSwKKyAgMHg3ZSwgMHhmMSwgMHhmMiwgMHgwNywgMHgzMiwgMHg3MSwgMHg4YywgMHhmMCwgMHhiOCwgMHhmMywgMHhkZSwgMHhiNSwKKyAgMHgzZiwgMHhiMywgMHg5ZCwgMHg3MiwgMHg0MiwgMHhkNCwgMHhhOCwgMHhhMywgMHhlZiwgMHgzZiwgMHgxYywgMHhiZCwKKyAgMHhmZCwgMHhlZSwgMHg4YiwgMHg5NywgMHhkNywgMHg2OSwgMHgzNSwgMHhhMCwgMHhmNSwgMHhmMSwgMHhkYiwgMHgzZCwKKyAgMHg3ZCwgMHhhOSwgMHg1YiwgMHhhNCwgMHg0NiwgMHhlYSwgMHhmOSwgMHg2NCwgMHhmZSwgMHhiMSwgMHhjZSwgMHhmZiwKKyAgMHg5MSwgMHgyNSwgMHhlNiwgMHhmNSwgMHhmOSwgMHgyYSwgMHhlYywgMHg1NSwgMHg3MSwgMHgyZSwgMHhiZCwgMHgwZSwKKyAgMHg4ZCwgMHhlYywgMHgyNiwgMHg3MywgMHhlOCwgMHhhYiwgMHg5MywgMHg2ZiwgMHgwOSwgMHgwZiwgMHhkZCwgMHhmYSwKKyAgMHg4ZSwgMHgxNywgMHhkYywgMHg1YywgMHgyZiwgMHhmOSwgMHhmMywgMHhkMywgMHhkZCwgMHhiZCwgMHg2ZCwgMHhkNywKKyAgMHhkMiwgMHgxOSwgMHhmZCwgMHgxNCwgMHhjYywgMHg4YywgMHgzZiwgMHgwNiwgMHg0NSwgMHg2NSwgMHhmZiwgMHg1MCwKKyAgMHg1YywgMHg1OCwgMHg1YiwgMHhlYSwgMHhkMSwgMHgzOCwgMHg4YiwgMHg4YSwgMHg0ZCwgMHg0MSwgMHg3MSwgMHhjMywKKyAgMHhhMSwgMHg2MCwgMHg4MSwgMHg5MSwgMHhkYSwgMHg0YSwgMHhlMiwgMHgwNywgMHg5NCwgMHhjYSwgMHgxZiwgMHg3OCwKKyAgMHgyMSwgMHhjZiwgMHg1ZiwgMHg3YiwgMHg0OCwgMHg2NiwgMHg1ZiwgMHgzOSwgMHhkMiwgMHgzMywgMHhkMywgMHgxMSwKKyAgMHg0ZiwgMHhlNiwgMHg1YSwgMHhmOSwgMHhmOCwgMHgwOSwgMHhlMywgMHg1YiwgMHg1ZCwgMHgzMywgMHgxYiwgMHg5YiwKKyAgMHg2ZCwgMHg0NCwgMHg5YSwgMHhkMCwgMHg0ZiwgMHg3YywgMHg5ZiwgMHhiZCwgMHhiYywgMHgyNywgMHgxNCwgMHhjOCwKKyAgMHg5NSwgMHg4YywgMHhiZCwgMHg4YiwgMHg1NSwgMHgyYSwgMHhlMSwgMHgyOSwgMHg3YywgMHhjYywgMHg3ZCwgMHgyMCwKKyAgMHgwNiwgMHgwYiwgMHg0MiwgMHg5OSwgMHgyMCwgMHg2MSwgMHgyZCwgMHgzZSwgMHgyZiwgMHhjZiwgMHhhMywgMHgzNSwKKyAgMHhjZiwgMHgyZSwgMHhkMywgMHhlOSwgMHg5ZCwgMHhlZCwgMHgyMywgMHgyMCwgMHg0OCwgMHg3OCwgMHg1ZCwgMHgxZSwKKyAgMHg0OCwgMHg1ZSwgMHhjZiwgMHgyOSwgMHgxOSwgMHg3MywgMHg4MCwgMHg0MSwgMHg0OCwgMHgxOCwgMHhiNywgMHg2MiwKKyAgMHgwOSwgMHgxMywgMHhjZiwgMHgzYSwgMHhjMiwgMHg3OCwgMHg2YSwgMHgxNiwgMHgxMSwgMHg0YywgMHhjNSwgMHg2NSwKKyAgMHgzZiwgMHgyNiwgMHg4MiwgMHg2ZCwgMHhkMSwgMHhkYiwgMHhhNiwgMHgzZSwgMHgyMiwgMHgxYiwgMHgzOCwgMHgwZiwKKyAgMHhkNiwgMHhlZSwgMHhlOSwgMHg5MywgMHg3NiwgMHgxNCwgMHhlMSwgMHgxZiwgMHhiOCwgMHhlNCwgMHgwNCwgMHhiNSwKKyAgMHgwOCwgMHg0NywgMHhmNSwgMHg0YiwgMHhmYSwgMHg2YiwgMHhiYywgMHhkOSwgMHgwYSwgMHg3YSwgMHgzMCwgMHhjMiwKKyAgMHg5NSwgMHg4MywgMHhlNiwgMHhiYiwgMHgxZSwgMHgzZSwgMHhiMSwgMHhhZCwgMHhiOSwgMHg5MCwgMHhmNiwgMHg2NSwKKyAgMHgwNCwgMHg4YiwgMHhkMiwgMHhiOCwgMHgxMCwgMHg0MywgMHgxYywgMHhjOCwgMHhkNCwgMHgzYSwgMHhmYSwgMHgwZCwKKyAgMHg3OSwgMHg2NiwgMHhiNiwgMHg5ZCwgMHg2MSwgMHhjZiwgMHg3OCwgMHhiNiwgMHg3ZSwgMHg5OSwgMHg3ZSwgMHgxZiwKKyAgMHg3MSwgMHhmNiwgMHg0YSwgMHg4MiwgMHhjNiwgMHg0YiwgMHgxYSwgMHg4YiwgMHg1OCwgMHgyMiwgMHhlOSwgMHgyNCwKKyAgMHg2NiwgMHhhNywgMHhmZSwgMHhhYywgMHg5MSwgMHhiMCwgMHhkNCwgMHgwNywgMHg3YiwgMHhjMywgMHg0MywgMHgwYywKKyAgMHgxOCwgMHg1NiwgMHg4NywgMHg1OCwgMHg0YiwgMHg5YywgMHhmMSwgMHhhZiwgMHg4ZSwgMHgwMywgMHg0ZSwgMHg1YSwKKyAgMHhhMSwgMHgzMCwgMHhhMywgMHhlZCwgMHgxZCwgMHg2MCwgMHhhNiwgMHg1OSwgMHhhYiwgMHg1NiwgMHg0YSwgMHgzNSwKKyAgMHhhMiwgMHgzMCwgMHhkMywgMHgxZCwgMHhiYSwgMHg3OCwgMHgwNCwgMHg3NiwgMHhjNiwgMHgyYiwgMHg2YSwgMHhkNCwKKyAgMHhhZSwgMHgwZiwgMHhiYywgMHgzMiwgMHg3MSwgMHhiMCwgMHg2MCwgMHg0MiwgMHg1YiwgMHgwYiwgMHg1YSwgMHhjOCwKKyAgMHgzNiwgMHg1NywgMHhkYiwgMHg3MCwgMHhjNywgMHg5ZiwgMHgyNCwgMHhjNCwgMHg3MiwgMHgxNiwgMHgxZCwgMHhiYSwKKyAgMHgyNSwgMHhhNSwgMHhjYywgMHg5OCwgMHgzNCwgMHg4MiwgMHg0OCwgMHgyOCwgMHhjOCwgMHgyNCwgMHhmNiwgMHhlMywKKyAgMHg3NCwgMHg3NiwgMHgyMywgMHg1MiwgMHg5YywgMHhkZCwgMHg3MCwgMHg2MSwgMHg0MywgMHg1NywgMHg0NCwgMHgxMSwKKyAgMHgzNiwgMHg4MywgMHg5NiwgMHgxMywgMHhiNCwgMHg0NiwgMHhmMCwgMHg1YiwgMHg4ZSwgMHg2ZSwgMHgwZCwgMHhiNywKKyAgMHgyZCwgMHg1YSwgMHg0YywgMHhkZSwgMHg1OCwgMHg5NSwgMHgyZCwgMHg4MiwgMHhhYiwgMHg2NiwgMHhiYiwgMHg1YiwKKyAgMHg1OCwgMHg3OCwgMHg0ZSwgMHg3NiwgMHgwNywgMHgyYiwgMHg3ZCwgMHgwOCwgMHg0NSwgMHhkMCwgMHhjNywgMHg3NiwKKyAgMHhiOCwgMHgzMiwgMHg1NiwgMHg1OSwgMHg1MCwgMHgxZSwgMHhhOSwgMHhjYywgMHgwZiwgMHgwNiwgMHgyYiwgMHhiMiwKKyAgMHgxYiwgMHg3ZiwgMHgzMCwgMHg2NywgMHg3NywgMHhkOCwgMHgwMSwgMHgzZiwgMHg2NSwgMHgwNCwgMHhjMCwgMHhkOCwKKyAgMHg0YywgMHg1NCwgMHhjZSwgMHg5NywgMHhiYywgMHhmYywgMHhlZSwgMHhlOCwgMHhkZCwgMHhmOCwgMHhmOCwgMHhmNCwKKyAgMHhlZCwgMHg5ZiwgMHhhMywgMHhlNiwgMHhiMCwgMHhmYywgMHhkMiwgMHg3NiwgMHhmMywgMHhkNCwgMHg0MiwgMHg2MCwKKyAgMHhkNywgMHg3MiwgMHg5MSwgMHhiYywgMHg2MCwgMHhlYSwgMHg2YiwgMHg2MSwgMHg2NCwgMHhiYiwgMHhiYywgMHhhMCwKKyAgMHg0NywgMHg4MiwgMHg1NiwgMHg4ZSwgMHhkMywgMHg2YywgMHhkOSwgMHg0MCwgMHg1ZiwgMHg1MiwgMHg1YiwgMHhkYSwKKyAgMHg3NSwgMHg4ZCwgMHhhNiwgMHhmNCwgMHgyMywgMHhiNiwgMHhlMSwgMHhhOCwgMHgxMiwgMHg1MCwgMHg2YywgMHgzYiwKKyAgMHhmYiwgMHhiNywgMHhiZCwgMHgyNCwgMHhhNCwgMHg3NiwgMHhmZSwgMHhjZCwgMHhlMywgMHg2MCwgMHg4MywgMHhlMiwKKyAgMHg0OSwgMHg0YywgMHg1ZSwgMHgwZSwgMHhjMSwgMHg2YSwgMHhjOSwgMHg0NSwgMHhhNCwgMHgwNCwgMHg1YiwgMHhjNSwKKyAgMHhiMCwgMHgyYiwgMHhmZSwgMHgwMiwgMHg4MiwgMHhlNiwgMHgzYywgMHhkNCwgMHhkNSwgMHhkZCwgMHg3ZiwgMHhkMSwKKyAgMHgzYywgMHg3YywgMHhiZCwgMHhlYiwgMHg1NSwgMHhmNSwgMHhkOCwgMHhlNywgMHg3NiwgMHg2MywgMHhjZiwgMHhlZCwKKyAgMHg4NiwgMHhjZiwgMHhlZCwgMHhjNSwgMHg5ZSwgMHhkYiwgMHgwYiwgMHg5ZiwgMHg3YiwgMHgxYywgMHg3YiwgMHhjZSwKKyAgMHg1YiwgMHhhZiwgMHg2NywgMHhjNiwgMHhjYiwgMHhjZSwgMHhhZCwgMHhiMywgMHg4YywgMHg1YiwgMHhmZiwgMHg3YSwKKyAgMHgzYywgMHg3MiwgMHhjNywgMHhmZiwgMHg5OSwgMHhmNSwgMHg1NiwgMHg3NCwgMHhmYiwgMHg5MSwgMHg3YiwgMHg4NiwKKyAgMHhiZCwgMHhkYSwgMHhmNSwgMHhmZCwgMHg2NiwgMHhiZCwgMHhmMiwgMHg2OSwgMHgxZCwgMHhjZSwgMHhhOCwgMHg4OSwKKyAgMHgxZCwgMHhiNywgMHhiYiwgMHhmOSwgMHhkZSwgMHhlZSwgMHhlMywgMHhlMSwgMHgzNCwgMHg1ZiwgMHg1ZSwgMHg5MSwKKyAgMHhkNCwgMHg3OSwgMHgyOSwgMHg3ZiwgMHg1OSwgMHgxMSwgMHg0YSwgMHgzOCwgMHg3OSwgMHg2OCwgMHg0MywgMHhkZCwKKyAgMHhlMywgMHg2NCwgMHhkYywgMHhjMiwgMHhiZCwgMHgxMywgMHhlYywgMHg2NSwgMHhiYywgMHg5NiwgMHhlMCwgMHhiZCwKKyAgMHhkYSwgMHhjMSwgMHhkMCwgMHg4NSwgMHg4ZSwgMHhmNiwgMHhhMCwgMHhlNCwgMHhjNywgMHhiYSwgMHg2YywgMHhjYywKKyAgMHg3YiwgMHg3NCwgMHhlMiwgMHhkOCwgMHg4NiwgMHg3MywgMHhhZiwgMHg5MSwgMHhhOCwgMHg0ZSwgMHg0ZCwgMHhjNiwKKyAgMHg2NiwgMHhiOCwgMHg3NCwgMHg0ZCwgMHg0MSwgMHhlOCwgMHhiYSwgMHg3MywgMHhkMSwgMHhiYiwgMHg0OCwgMHg1ZiwKKyAgMHg4MSwgMHhjNywgMHgzNywgMHgwNSwgMHhjOCwgMHhiMSwgMHhmOSwgMHhiNiwgMHgwYywgMHhkZSwgMHg5YSwgMHhhYSwKKyAgMHg1NSwgMHhiMywgMHhjYiwgMHgyMiwgMHgyNiwgMHgxZSwgMHhkZiwgMHhiZiwgMHgzYiwgMHgwOSwgMHhkNCwgMHhjOSwKKyAgMHg4NCwgMHhkYywgMHgzMSwgMHhmNSwgMHhmZSwgMHhjZSwgMHgwZSwgMHhlZCwgMHhmYywgMHhlOCwgMHgyYSwgMHhiZCwKKyAgMHhiZCwgMHgxZCwgMHhkNSwgMHhkOSwgMHg4ZSwgMHhlMSwgMHgyMSwgMHhmNSwgMHgwZSwgMHg3YywgMHhiYywgMHhmMiwKKyAgMHhlOSwgMHhhYiwgMHg2NiwgMHgzMSwgMHg1ZiwgMHhlNywgMHg5YywgMHgwNSwgMHhmYywgMHgzOSwgMHhlMCwgMHhjMiwKKyAgMHhlNywgMHg3NywgMHhjYywgMHgyYiwgMHgwMCwgMHg0NCwgMHhlMSwgMHhlYSwgMHhkNiwgMHg3MSwgMHgwOSwgMHhmOSwKKyAgMHg1MCwgMHgzNSwgMHhmOSwgMHhiMCwgMHhkYiwgMHhjOSwgMHg4OSwgMHg1YiwgMHg2NCwgMHgxMywgMHg4ZCwgMHgxYiwKKyAgMHhiMiwgMHgzMiwgMHhlYywgMHgxOSwgMHg0MiwgMHgxMiwgMHhkMSwgMHg0ZSwgMHhjNCwgMHg2MywgMHg2MCwgMHgzNiwKKyAgMHg3MiwgMHgwNiwgMHg4OCwgMHg4MywgMHg0NiwgMHhhMywgMHgxNywgMHhhOCwgMHhjNCwgMHgzOCwgMHgwYiwgMHhjMiwKKyAgMHgzYSwgMHgxNiwgMHgwNCwgMHhhZCwgMHg0MiwgMHhhYiwgMHgxMywgMHhmOCwgMHgwNywgMHg2MiwgMHg3YiwgMHg1NiwKKyAgMHhmYiwgMHgwMSwgMHgyMCwgMHg3MiwgMHgwOSwgMHhjOCwgMHg5MiwgMHhhMywgMHhhYSwgMHhjNSwgMHgyNywgMHg2NiwKKyAgMHg5NCwgMHg5NCwgMHg5YSwgMHg0OCwgMHgwYSwgMHhiYywgMHg1MSwgMHgzMywgMHhjYywgMHg5ZiwgMHg3ZiwgMHgwZSwKKyAgMHhlYiwgMHhmMCwgMHgxMywgMHgyYywgMHgyMSwgMHg0OCwgMHg2MSwgMHgyNCwgMHg5ZCwgMHg5ZiwgMHhjYSwgMHhkZiwKKyAgMHg3OCwgMHhmZiwgMHhmOSwgMHg3YiwgMHhkOCwgMHhmZiwgMHhkYSwgMHgzMywgMHgyOSwgMHhhMiwgMHhmMSwgMHgxMSwKKyAgMHgxYywgMHhjYiwgMHhjNiwgMHhmOCwgMHhkZCwgMHhkOSwgMHhjNiwgMHg0MCwgMHhiMiwgMHgxNiwgMHhjYywgMHgwNywKKyAgMHg4NiwgMHhlNiwgMHhkZiwgMHgwOSwgMHgyYywgMHg0YiwgMHhlYSwgMHg5YiwgMHhmNiwgMHhmNCwgMHg4OSwgMHgyNCwKKyAgMHgxOCwgMHhmMiwgMHgxYywgMHg1MSwgMHg0NSwgMHgxYSwgMHgwOSwgMHhhMywgMHhlMSwgMHg5NywgMHgzNiwgMHhjOSwKKyAgMHg5MiwgMHhiYiwgMHg4YiwgMHhiYiwgMHhhYSwgMHg1YywgMHg2MywgMHhmNCwgMHhiNSwgMHg1NywgMHhjOCwgMHhhOSwKKyAgMHg0ZiwgMHgwMywgMHhkNywgMHg1MSwgMHgyMywgMHhhZSwgMHhjYSwgMHg3OSwgMHg3MCwgMHhiZSwgMHgzYywgMHhjZCwKKyAgMHg1MSwgMHgyNywgMHgyOCwgMHg1MCwgMHg1NiwgMHgxZiwgMHhhNSwgMHhjZiwgMHg5MywgMHg4NCwgMHgzNiwgMHg5OCwKKyAgMHhhMSwgMHg3NCwgMHgxNywgMHhkYiwgMHhmNSwgMHgxYywgMHg3YSwgMHhkNCwgMHhjOCwgMHg2ZSwgMHg1NSwgMHg1ZCwKKyAgMHhiNiwgMHhlYywgMHg5OCwgMHgyMCwgMHgwOCwgMHhmNSwgMHhmNSwgMHg4ZSwgMHg1NywgMHg1YSwgMHgzNSwgMHgxYiwKKyAgMHhmNiwgMHg3NSwgMHhiMSwgMHhhMiwgMHgzMywgMHhjMSwgMHgyOCwgMHg5ZCwgMHg0MSwgMHhlZSwgMHg4MSwgMHgyMiwKKyAgMHg3YiwgMHhkMiwgMHgzOSwgMHg3ZCwgMHhkZCwgMHhiYywgMHhjOCwgMHhiMSwgMHhkYiwgMHg3ZCwgMHhhNSwgMHgyMywKKyAgMHg4MiwgMHgxNSwgMHhhMywgMHg0NSwgMHhlYiwgMHhmNCwgMHhlZCwgMHgwZSwgMHgzOSwgMHgyOCwgMHgxNCwgMHg2YSwKKyAgMHg3ZiwgMHg1NSwgMHg5ZCwgMHhjMiwgMHhlZCwgMHg3OCwgMHgwNywgMHgzMiwgMHhkMiwgMHgyMCwgMHhhNCwgMHhiMCwKKyAgMHg2NiwgMHg3NywgMHhkNiwgMHg1ZSwgMHhhMywgMHhhMywgMHhiOCwgMHgzOSwgMHhhMCwgMHhiYSwgMHhhMCwgMHhjYiwKKyAgMHhlMiwgMHg1MSwgMHhjNiwgMHg3NywgMHhlZiwgMHhmYSwgMHhmZCwgMHhlNSwgMHhlMywgMHg2MywgMHhkMSwgMHgzYywKKyAgMHg3NSwgMHgxMCwgMHhiZSwgMHgyNiwgMHhmMiwgMHgyNiwgMHgwZiwgMHhkYSwgMHgwMywgMHg4NSwgMHhiZCwgMHhmZCwKKyAgMHg2NSwgMHgzYiwgMHgyMCwgMHg1ZSwgMHhlOCwgMHgyZSwgMHg0OSwgMHhkMywgMHg0NiwgMHg4NCwgMHhlZSwgMHhiMSwKKyAgMHg0ZiwgMHhiMSwgMHgyZiwgMHhhZCwgMHg4ZCwgMHgyMSwgMHhhMSwgMHgxYiwgMHgxNywgMHg1YiwgMHg5MSwgMHgyMCwKKyAgMHg4MiwgMHhhNywgMHg2NSwgMHg0MCwgMHhhYiwgMHg1MCwgMHgzZSwgMHg3YSwgMHg2ZiwgMHhlZCwgMHgwYSwgMHg4MiwKKyAgMHg4NiwgMHgxMiwgMHg0YywgMHhhMCwgMHg0MSwgMHhiNCwgMHhmZCwgMHg1NSwgMHgwOCwgMHgyMywgMHg0NSwgMHgyZSwKKyAgMHg1OCwgMHhmOSwgMHgwNCwgMHhlYywgMHgwNSwgMHhmZSwgMHg3YywgMHhjYiwgMHgzMCwgMHgyNCwgMHgwOSwgMHg2ZSwKKyAgMHgxNSwgMHg1MSwgMHhmNiwgMHhjYiwgMHgyNCwgMHg1YywgMHgxMywgMHhkMCwgMHgxOSwgMHhlZSwgMHgwMywgMHg1ZCwKKyAgMHhkZCwgMHgwZiwgMHhjMiwgMHhkNiwgMHhhMCwgMHg5NiwgMHgxMSwgMHhhYiwgMHgwMCwgMHhkZSwgMHg3MiwgMHg0ZSwKKyAgMHg1ZCwgMHg3YiwgMHg1MiwgMHhlMCwgMHg2NywgMHg1MywgMHhmNCwgMHhhMSwgMHg0NiwgMHhiZiwgMHhiMSwgMHg2ZSwKKyAgMHhlYiwgMHhiYiwgMHhlZSwgMHhiZSwgMHg5YiwgMHg2MSwgMHhjYywgMHgxZCwgMHhhZiwgMHg1MiwgMHg4MiwgMHg5ZiwKKyAgMHg2MiwgMHgwZiwgMHhhZiwgMHhlYSwgMHg5ZiwgMHgxZCwgMHg0NCwgMHg0ZSwgMHg3NCwgMHg5YiwgMHhiMiwgMHg2YSwKKyAgMHhhNiwgMHhlYywgMHg1YSwgMHg2MCwgMHg0ZCwgMHhkYywgMHg1NywgMHg3MywgMHgxZSwgMHgyYSwgMHgxZiwgMHhhNCwKKyAgMHgxMywgMHhmZCwgMHhjMiwgMHhjMywgMHhkYSwgMHhmZCwgMHgzZiwgMHhlYywgMHhiMCwgMHg3NiwgMHhmZiwgMHg2ZiwKKyAgMHgzOCwgMHhhYywgMHhiZCwgMHg1ZiwgMHg3OCwgMHg1OCwgMHg3YiwgMHhmZiwgMHg4NywgMHgxZCwgMHhkNiwgMHhkZSwKKyAgMHhmZiwgMHgwZCwgMHg4NywgMHhmNSwgMHhmOCwgMHgxNywgMHgxZSwgMHhkNiwgMHhlMywgMHg1ZiwgMHhmZCwgMHhiMCwKKyAgMHhkZSwgMHhkMiwgMHhlZiwgMHgyMSwgMHgyNSwgMHg1NCwgMHhhNywgMHhjYywgMHhlYiwgMHhhZSwgMHhjYSwgMHgzNSwKKyAgMHhhMSwgMHg4YywgMHhlMiwgMHg3YSwgMHgzNSwgMHhhMSwgMHgwZCwgMHgyMSwgMHhiZiwgMHhiZCwgMHg3OSwgMHg1MCwKKyAgMHg1NCwgMHhkNSwgMHhiYSwgMHg2YiwgMHg4NywgMHgxZCwgMHhiOCwgMHg5NiwgMHgxZSwgMHhiNiwgMHhiNywgMHg5NiwKKyAgMHgwNCwgMHhiNSwgMHhhNCwgMHhjNSwgMHgwOSwgMHhlOSwgMHg1MywgMHg1ZiwgMHg5NSwgMHhlNCwgMHg5MywgMHgzMSwKKyAgMHg3YSwgMHhjNywgMHgyMCwgMHg3OSwgMHgzYiwgMHgxZSwgMHg3MywgMHg3MiwgMHhkNywgMHgxOCwgMHhjMSwgMHhkOCwKKyAgMHhlZSwgMHg2MSwgMHg5MSwgMHg3YiwgMHgxMywgMHg1NiwgMHhkMywgMHgxNiwgMHgyOSwgMHhhNSwgMHhhNywgMHg2NiwKKyAgMHg4NiwgMHg4ZSwgMHhiOSwgMHhmMCwgMHg3YiwgMHg4YiwgMHg3NCwgMHg0YSwgMHgzZiwgMHg3ZSwgMHgzNCwgMHhkYSwKKyAgMHg3NSwgMHg5YiwgMHhiMywgMHhmZCwgMHgzMywgMHg5MCwgMHhmNywgMHg1YywgMHhhNCwgMHgzNCwgMHg2YSwgMHhjZiwKKyAgMHg0NywgMHgxYSwgMHg3ZCwgMHhhMCwgMHg2ZiwgMHg0NiwgMHhkZCwgMHg3NCwgMHg4ZSwgMHhlNiwgMHg1NiwgMHg1MCwKKyAgMHhmNiwgMHhkNCwgMHg2YywgMHg4YSwgMHg5NiwgMHg1NSwgMHg0YSwgMHhlNCwgMHhkYiwgMHgwNSwgMHhiYiwgMHg0MSwKKyAgMHhkNCwgMHhlYSwgMHg5MiwgMHg0NSwgMHg1NiwgMHgwNywgMHgwMywgMHg0NywgMHg4NSwgMHhkMiwgMHhhZiwgMHgxYiwKKyAgMHgwZSwgMHhjYywgMHgyZiwgMHgwOSwgMHg3YywgMHhmMCwgMHhlNywgMHhjNiwgMHhhYSwgMHhiZCwgMHhiOCwgMHhmMCwKKyAgMHhmZiwgMHhiMiwgMHg1OCwgMHhmNSwgMHg4MywgMHgyYywgMHg2ZSwgMHhmZiwgMHhjYSwgMHg1NCwgMHg0MywgMHg2ZCwKKyAgMHhjOCwgMHgxOSwgMHg2ZiwgMHhmYiwgMHhlMSwgMHg1YywgMHg5NSwgMHg1NCwgMHg2ZiwgMHgwNSwgMHg1OCwgMHhlMCwKKyAgMHgxOSwgMHg5MywgMHgwZSwgMHhlNSwgMHhlZSwgMHgxYywgMHhjOSwgMHhiYiwgMHgyZSwgMHg2MiwgMHhjOCwgMHg0NiwKKyAgMHg1MiwgMHgwOCwgMHg3OCwgMHg2NSwgMHgxYiwgMHg3MywgMHg1OCwgMHg4OCwgMHgyNywgMHgwNSwgMHgxMCwgMHhlMSwKKyAgMHg1NSwgMHhkNiwgMHg0YywgMHg3MSwgMHhhYiwgMHg0MiwgMHgzZiwgMHhlMywgMHg5MCwgMHgzOCwgMHgwMCwgMHgzNiwKKyAgMHgxNywgMHgyNCwgMHgzNCwgMHgyOCwgMHhkYSwgMHg2YywgMHg3ZSwgMHg5ZiwgMHgwNiwgMHhmZCwgMHhhYywgMHhiZCwKKyAgMHhkZSwgMHg3NCwgMHg5YSwgMHgwZCwgMHhkMywgMHg3YSwgMHg5YSwgMHhlNywgMHhmMSwgMHg4ZSwgMHhlMCwgMHgxYSwKKyAgMHg1OSwgMHhhNiwgMHg1NCwgMHgxZSwgMHhjNCwgMHgwNCwgMHhjYywgMHhmMywgMHgwOSwgMHg0NSwgMHhmMSwgMHhkMCwKKyAgMHg2YSwgMHgwZSwgMHhlZCwgMHg0ZiwgMHgwNSwgMHg5YywgMHg4YiwgMHhhNiwgMHg1YiwgMHhhZSwgMHg5YSwgMHhjYiwKKyAgMHg1MiwgMHhjMywgMHgwMywgMHg4MywgMHg4OCwgMHhhYiwgMHg5MSwgMHhlMiwgMHg3YywgMHgzOCwgMHg2MiwgMHg3MywKKyAgMHgzYSwgMHg0MCwgMHg5ZSwgMHgwNSwgMHg4YywgMHhiOSwgMHhkNywgMHg0ZCwgMHg3NCwgMHhhMCwgMHg5MSwgMHgxZSwKKyAgMHg3NiwgMHhkZiwgMHg0OSwgMHgzYywgMHg5NiwgMHgxMSwgMHg0ZiwgMHhkZiwgMHgwNywgMHhlNiwgMHhlZiwgMHhjNiwKKyAgMHg3MCwgMHg4MywgMHgxYywgMHhhNSwgMHhiNiwgMHgwOSwgMHgyMywgMHgyMSwgMHhjMiwgMHhhNiwgMHg1MiwgMHg2MywKKyAgMHgyMiwgMHhhZiwgMHgyYSwgMHhjYSwgMHg1NCwgMHg0ZiwgMHg2MCwgMHg1ZiwgMHgwMywgMHgyMywgMHg4NiwgMHg4NCwKKyAgMHhlZSwgMHhiNCwgMHhiMSwgMHgwMSwgMHhmYSwgMHg0YywgMHg2OSwgMHhjMCwgMHg3MywgMHhjMiwgMHhiZCwgMHg2YiwKKyAgMHgwNCwgMHhkMSwgMHg5NSwgMHhhYiwgMHg1NywgMHhiMiwgMHg1YiwgMHhhZSwgMHhkNiwgMHgwZCwgMHgwZCwgMHgzYSwKKyAgMHg2OSwgMHg5ZSwgMHg3YiwgMHg0NSwgMHg3NSwgMHg5YywgMHg3OCwgMHhmNiwgMHg2MCwgMHg3YywgMHg3OCwgMHg3YywKKyAgMHhkYywgMHhhYSwgMHhlZCwgMHhhNSwgMHhjZCwgMHg0MywgMHg3YywgMHg5NiwgMHg1MSwgMHg2MywgMHg2YSwgMHg4MiwKKyAgMHg4OCwgMHhjZiwgMHhhYSwgMHgzOCwgMHg1YywgMHgyYSwgMHhmNywgMHgxOCwgMHgzNiwgMHhkNywgMHgwZiwgMHhiMSwKKyAgMHgxYywgMHhjMywgMHgwOSwgMHg3MiwgMHhlZCwgMHgwMCwgMHg5ZCwgMHg4YSwgMHg1OSwgMHg1MywgMHg5OCwgMHg2OSwKKyAgMHhlNiwgMHg4NCwgMHg3NiwgMHg3NywgMHhiNSwgMHg1YSwgMHhhNCwgMHhjNSwgMHhhNywgMHg4NywgMHhlYSwgMHg4YiwKKyAgMHg5NywgMHhjYywgMHhjOCwgMHg2ZSwgMHhmMSwgMHhiZCwgMHhmMiwgMHg2MywgMHhjNywgMHgyMSwgMHhhZCwgMHg0NSwKKyAgMHhmYSwgMHgzOSwgMHg5ZCwgMHg1NSwgMHhkMiwgMHhlZCwgMHg5NywgMHhhMSwgMHhlYiwgMHhhNCwgMHgyMSwgMHg5MywKKyAgMHg1OSwgMHgyNiwgMHg4MCwgMHg0NSwgMHg3OSwgMHg2NCwgMHhiMywgMHg1NiwgMHgwZCwgMHg0NywgMHg3MywgMHhhZiwKKyAgMHgxMywgMHg2MSwgMHgyNCwgMHg3NCwgMHg2NywgMHhiYSwgMHg2ZSwgMHg0NiwgMHgwZSwgMHhjYywgMHhhZCwgMHhjZCwKKyAgMHgyYiwgMHhkYywgMHhlZCwgMHg4YSwgMHg0YSwgMHg3YywgMHhlNCwgMHhiNywgMHhiYywgMHgwMSwgMHhmZSwgMHgwNSwKKyAgMHhiOCwgMHg5NywgMHhmZSwgMHgxNSwgMHhmMiwgMHgzNywgMHg3ZSwgMHgwMywgMHg1MCwgMHg4ZiwgMHhlNCwgMHg5YSwKKyAgMHg5NywgMHhkZSwgMHg3ZiwgMHgwOSwgMHhhMCwgMHg4YiwgMHg2YywgMHhmYywgMHg2MSwgMHgyMywgMHhkZSwgMHhmMSwKKyAgMHhlYiwgMHgwMSwgMHgzNywgMHhhOSwgMHgwNSwgMHg3MywgMHhmMywgMHhkYiwgMHg1MiwgMHg1YSwgMHgwNCwgMHg3NywKKyAgMHhjNywgMHg2MywgMHg2MiwgMHhmZSwgMHg5OSwgMHhhZSwgMHg4YSwgMHhmYywgMHgxNiwgMHg2NSwgMHgzMywgMHg0NiwKKyAgMHg5NSwgMHg3OCwgMHg0OSwgMHgwZCwgMHhhZiwgMHg3YSwgMHgzYSwgMHgzOSwgMHgxZCwgMHhiMiwgMHg2MiwgMHg5MywKKyAgMHg2OCwgMHgxNSwgMHgxMCwgMHg1NiwgMHhmMSwgMHhkZSwgMHhiYywgMHg2YywgMHg1NCwgMHhjNiwgMHgwNSwgMHg2NSwKKyAgMHgwYywgMHhmMSwgMHgxOCwgMHgwMywgMHhiZiwgMHhhNSwgMHgwNiwgMHhkOCwgMHg3YSwgMHgyNCwgMHhlMywgMHhhOCwKKyAgMHhjOCwgMHgxYSwgMHhiMiwgMHg1YywgMHhkNywgMHhjNiwgMHhjYSwgMHhkYSwgMHhmMSwgMHhjNywgMHg3MywgMHhlMCwKKyAgMHhhZSwgMHgyZCwgMHhhOSwgMHgzNCwgMHg2MywgMHg4OCwgMHhlOCwgMHg1NywgMHg5NCwgMHgwOCwgMHgzOSwgMHg4NCwKKyAgMHhlOCwgMHgxNSwgMHg0MiwgMHg3MCwgMHg1ZCwgMHg5NSwgMHhmNSwgMHgxNSwgMHg3OSwgMHgwZCwgMHgxYywgMHg4NSwKKyAgMHg3ZSwgMHg0NCwgMHhlYSwgMHhhMywgMHg5ZiwgMHg1NywgMHgyYywgMHgzOSwgMHhjYSwgMHhiNiwgMHg5ZCwgMHg3MywKKyAgMHgzZCwgMHgxYiwgMHhmMywgMHg2ZSwgMHhhYywgMHgwMywgMHg3ZCwgMHgwMSwgMHg1ZCwgMHg0MCwgMHg1OCwgMHg5YSwKKyAgMHgyYSwgMHg4NywgMHhiMiwgMHhiYiwgMHhkMywgMHgzZSwgMHg3MiwgMHhlNCwgMHg3NSwgMHhiMiwgMHg2ZiwgMHgzNSwKKyAgMHhiNywgMHgwNCwgMHgzMCwgMHg2NCwgMHgwZSwgMHg1OCwgMHhmMiwgMHgxZCwgMHhjZCwgMHg5NywgMHg5OCwgMHg4NywKKyAgMHgxNSwgMHgwZSwgMHhhZSwgMHg2NywgMHgyMiwgMHhiMywgMHgzYSwgMHgyYSwgMHhhNywgMHg0MywgMHhjYywgMHg5NCwKKyAgMHhmZSwgMHg3ZCwgMHhjOCwgMHhlYSwgMHgzZCwgMHgzYiwgMHhjMiwgMHhkYiwgMHg4YiwgMHg2MCwgMHhmMiwgMHgwZiwKKyAgMHhkNCwgMHgxNywgMHgyZiwgMHhhMiwgMHg3ZCwgMHg5NSwgMHgxNywgMHgxZiwgMHhlZCwgMHhiYywgMHgyYSwgMHgyNiwKKyAgMHg0NCwgMHhmNywgMHgzNSwgMHhjZCwgMHgxNCwgMHhlYiwgMHhmNCwgMHg4MSwgMHgwYiwgMHhiMiwgMHhjNywgMHhmOSwKKyAgMHg3YSwgMHhhYywgMHhlYSwgMHg0YywgMHhkNCwgMHgyOCwgMHg4NiwgMHhmYSwgMHhhNSwgMHg5MiwgMHg0NiwgMHhlYSwKKyAgMHgzYiwgMHg0NSwgMHg5OSwgMHg3ZiwgMHhhOSwgMHhjMiwgMHhmZCwgMHhmMiwgMHhjMSwgMHgyNiwgMHgxNCwgMHg5ZCwKKyAgMHhkNSwgMHhjYSwgMHhlOSwgMHgwMCwgMHhjYSwgMHgzOCwgMHg5ZiwgMHhiNywgMHhhYSwgMHg1MywgMHhjNCwgMHgxMSwKKyAgMHhhYywgMHgwNSwgMHg3MSwgMHg1YiwgMHg0NiwgMHg1OSwgMHg2NywgMHhhNSwgMHg4ZCwgMHgyZiwgMHgwZiwgMHhmNSwKKyAgMHg4YywgMHhkMiwgMHhiNiwgMHgxZSwgMHhmZCwgMHgzZCwgMHgxZiwgMHhhMiwgMHgyMCwgMHg1YSwgMHhlZCwgMHg5NCwKKyAgMHgzOCwgMHhlMiwgMHgxYywgMHg1YiwgMHhhOSwgMHhjMiwgMHhjOSwgMHg1MiwgMHhmNCwgMHg2ZCwgMHg1YiwgMHhkNSwKKyAgMHg0ZSwgMHg3MywgMHhjMywgMHhmMywgMHhjMiwgMHgyNywgMHhmNywgMHgyMCwgMHg1ZSwgMHhjNiwgMHhkYywgMHg0OSwKKyAgMHhkOSwgMHg1MiwgMHg3MiwgMHgyMCwgMHg0ZCwgMHg0OSwgMHgzMiwgMHg3MiwgMHhhNCwgMHg3NiwgMHhiZiwgMHgzMywKKyAgMHhmMiwgMHhiZiwgMHhjMywgMHgyNSwgMHg0OSwgMHhkYiwgMHgwMSwgMHg0YywgMHgxZSwgMHg4MCwgMHhmYSwgMHgxYywKKyAgMHhlNSwgMHg3OSwgMHhkZiwgMHhhNiwgMHg3OSwgMHg2YSwgMHhlNSwgMHhiZCwgMHhjYywgMHgwYywgMHhlOSwgMHhjYSwKKyAgMHg5NCwgMHhhYiwgMHg4ZCwgMHg1NCwgMHg4NiwgMHhmMCwgMHgyNiwgMHgwMiwgMHgwYSwgMHhjMiwgMHgxOSwgMHg3OSwKKyAgMHg0MCwgMHhmNCwgMHg2NSwgMHhiNSwgMHg0MywgMHg3MiwgMHhiOCwgMHg4NSwgMHhhMywgMHgzMSwgMHg2YywgMHhhZiwKKyAgMHhhYywgMHg5NiwgMHhjMiwgMHhjMywgMHg4YywgMHhlNSwgMHgxYSwgMHhmOCwgMHg0MSwgMHhkMSwgMHgxOCwgMHgzNywKKyAgMHhkYSwgMHgwMywgMHhkMSwgMHgyZiwgMHhjYywgMHgyNCwgMHg4ZSwgMHgxNiwgMHg1ZSwgMHg2NywgMHhkYiwgMHg2MSwKKyAgMHg5NiwgMHg5YSwgMHhkNiwgMHg5NSwgMHg4NSwgMHg2YiwgMHhjYywgMHgxMiwgMHg2ZCwgMHhlMywgMHgyNSwgMHg5ZCwKKyAgMHg1YSwgMHg5MiwgMHgyMywgMHg3YSwgMHgyMywgMHgxYywgMHhlYywgMHg4ZiwgMHgxOCwgMHgwNSwgMHgzZCwgMHg0NiwKKyAgMHg2YSwgMHgyZiwgMHhmYSwgMHg0MiwgMHg5NywgMHhhMSwgMHg0YiwgMHg1NywgMHg0MiwgMHg3OSwgMHhkMiwgMHgxMSwKKyAgMHgwOCwgMHgyOCwgMHgwYSwgMHgyMywgMHg0MSwgMHhlMSwgMHgyNywgMHhhNSwgMHg1ZCwgMHhkNSwgMHhjYywgMHg2NCwKKyAgMHhlMywgMHg3MiwgMHg1ZSwgMHg0ZSwgMHgyNiwgMHg2NiwgMHhlMSwgMHgxYiwgMHg5ZSwgMHg1MiwgMHg2YSwgMHhiZSwKKyAgMHgxYywgMHg3OCwgMHhhYSwgMHhmZCwgMHg3OSwgMHgxOCwgMHhjYiwgMHhlYSwgMHgxMiwgMHhjNiwgMHhmNCwgMHg4MCwKKyAgMHgzMywgMHhkZCwgMHgxOCwgMHhjNywgMHgwNSwgMHgwMiwgMHg1OSwgMHg0MywgMHgwOCwgMHhmMiwgMHg3ZCwgMHhlZCwKKyAgMHhhMywgMHgxMSwgMHg5MSwgMHgzMywgMHg5MiwgMHg3MywgMHgyZiwgMHg4NCwgMHg0MSwgMHgwYiwgMHg2YiwgMHgwNSwKKyAgMHgxNSwgMHg1MCwgMHgzNCwgMHg0YSwgMHgzZiwgMHhkNSwgMHgwOSwgMHg3MiwgMHhmNiwgMHg2MiwgMHhkMiwgMHg5NywKKyAgMHg4MCwgMHhlYiwgMHhkYSwgMHg5NiwgMHg4MSwgMHg2ZCwgMHg0OSwgMHgwNywgMHhkYiwgMHhiYywgMHgwZSwgMHhhMywKKyAgMHgzNywgMHhkOCwgMHg4NSwgMHhmNiwgMHg4MiwgMHgzNiwgMHhmZSwgMHg5MywgMHhmZSwgMHhiMywgMHgzYiwgMHhhMCwKKyAgMHgzZiwgMHhmNywgMHhmZSwgMHhiOSwgMHg4MSwgMHgwMCwgMHhjZiwgMHhmZSwgMHhjZSwgMHhjZSwgMHhjZCwgMHhjZCwKKyAgMHhjZCwgMHg0OCwgMHg2MSwgMHgxYiwgMHhjZCwgMHg5MSwgMHg3ZCwgMHgxNiwgMHhkNiwgMHg1NywgMHgxMiwgMHhkYSwKKyAgMHg1ZCwgMHhjZiwgMHgwNywgMHhjZSwgMHg5MywgMHg4ZCwgMHg3YywgMHg3MSwgMHhmOSwgMHhkNywgMHhkZCwgMHhlMSwKKyAgMHhlZSwgMHhhMywgMHg0NywgMHg4ZiwgMHg3ZSwgMHgxYSwgMHgyZCwgMHg2OSwgMHg4YiwgMHgyZiwgMHgzMCwgMHhhYywKKyAgMHhmOSwgMHhkMywgMHgxZiwgMHg3NiwgMHg4NywgMHg2NywgMHhiMiwgMHhmMywgMHg1OSwgMHhiYywgMHhjZiwgMHgyNSwKKyAgMHg3ZSwgMHg2OSwgMHg5MSwgMHg3MiwgMHgwYSwgMHhlZSwgMHhmNiwgMHhjNCwgMHg4NCwgMHhiYywgMHhlZiwgMHgzMSwKKyAgMHgxOSwgMHg4ZSwgMHg0ZCwgMHhhNywgMHhmZCwgMHg2OCwgMHgwNSwgMHhkYywgMHg3NCwgMHg5NSwgMHgwMiwgMHgxNCwKKyAgMHg0ZiwgMHgxZiwgMHhlZiwgMHhlZCwgMHgyNSwgMHhhYywgMHg3MiwgMHg3MCwgMHgxMSwgMHgyMCwgMHhhNywgMHg0NywKKyAgMHgxMCwgMHhmZSwgMHg0MywgMHg5NiwgMHgyMiwgMHg0MSwgMHg5ZiwgMHg2NSwgMHgxOSwgMHg4MSwgMHg1YywgMHhhNiwKKyAgMHgxYywgMHgwYSwgMHgzMiwgMHhiNCwgMHhkMSwgMHg5MywgMHgyNCwgMHhjYSwgMHhkOSwgMHgwOCwgMHgwNCwgMHg3NCwKKyAgMHg2OSwgMHhiOCwgMHg0ZiwgMHgzOSwgMHhiYiwgMHg3MywgMHgwMywgMHgxYiwgMHgyYSwgMHhhZiwgMHg4OCwgMHhiNywKKyAgMHg1MiwgMHg3YiwgMHhlOSwgMHgzYiwgMHg4NywgMHhhNiwgMHg5OSwgMHhkNiwgMHgzMSwgMHhhZCwgMHhjZCwgMHgxNiwKKyAgMHhmNCwgMHg0MSwgMHhjOCwgMHgwMSwgMHg5NywgMHhiOCwgMHhhMCwgMHhmZCwgMHg0NSwgMHgxNywgMHg1MywgMHhlMCwKKyAgMHgyNSwgMHhhZSwgMHgyYSwgMHg2OSwgMHg4ZSwgMHg4NywgMHhkNCwgMHg4OSwgMHg5YiwgMHhmNCwgMHhhZSwgMHgyNSwKKyAgMHhlYywgMHhjZCwgMHg4ZSwgMHhiZiwgMHgzNCwgMHg3ZiwgMHgwNCwgMHg2ZSwgMHg3MCwgMHg1YiwgMHhhNiwgMHg0YywKKyAgMHhhNCwgMHg4NCwgMHgxNSwgMHgzNiwgMHhkMywgMHhhYiwgMHgwMCwgMHg2NiwgMHgxZiwgMHhlYywgMHg5YiwgMHg1NCwKKyAgMHhmNywgMHgyYiwgMHhiMywgMHgxYSwgMHg4YiwgMHg2MiwgMHhkZiwgMHhkMywgMHgzOCwgMHhkOCwgMHhhYiwgMHg3ZSwKKyAgMHgzNiwgMHg4MywgMHg1MiwgMHhiNywgMHgyOCwgMHhkNCwgMHgzYSwgMHg0YywgMHhjYiwgMHhlMiwgMHgyMiwgMHhlNywKKyAgMHg4NiwgMHg2NSwgMHhiZCwgMHgxOCwgMHhhYSwgMHhiNiwgMHhkZiwgMHgyZSwgMHhiMiwgMHg1MCwgMHhiOSwgMHg5MCwKKyAgMHg4NiwgMHhlZSwgMHhjMCwgMHhmNCwgMHgyYSwgMHg1YiwgMHgwOCwgMHhiZiwgMHhkYywgMHhkMiwgMHgyNCwgMHhjYywKKyAgMHgwZCwgMHgyMSwgMHhjMiwgMHg4ZCwgMHg1MCwgMHhhNCwgMHg2ZCwgMHg1YywgMHhjOCwgMHg2ZiwgMHhjYywgMHg2MiwKKyAgMHhiNiwgMHhhNSwgMHhiYSwgMHhkOSwgMHg0YSwgMHgzOSwgMHhlOSwgMHhhMCwgMHg3NywgMHhiOSwgMHgyMiwgMHhhYiwKKyAgMHg3MSwgMHg5MiwgMHg4YSwgMHgzOCwgMHhkMSwgMHhiMiwgMHhmYiwgMHhiZSwgMHg1YywgMHg2OSwgMHhlMiwgMHg4OSwKKyAgMHg1OSwgMHgwNSwgMHgyOSwgMHg0NiwgMHhmZSwgMHg5NywgMHhhMSwgMHhlOCwgMHgzZSwgMHgyMiwgMHg1NCwgMHg5MSwKKyAgMHhiMiwgMHg2MiwgMHg2ZSwgMHhlYywgMHhhYiwgMHhlMywgMHhjMywgMHg3MywgMHg5NCwgMHgxYSwgMHgwZiwgMHg1MCwKKyAgMHg4MCwgMHgzMywgMHg0MCwgMHg3ZCwgMHg3MSwgMHhkOCwgMHhkZiwgMHhmMCwgMHgwYywgMHhmZSwgMHgxMSwgMHgxMCwKKyAgMHhhYSwgMHhjNCwgMHhhYSwgMHg1MiwgMHg5NywgMHhiNCwgMHhkNywgMHhlOSwgMHg5YSwgMHgzNywgMHg0OCwgMHhiYywKKyAgMHg5NiwgMHg1OSwgMHhiMSwgMHg2YywgMHhlNCwgMHg5NiwgMHg5NiwgMHg2OCwgMHg1MywgMHgxZCwgMHg5ZiwgMHgzYywKKyAgMHgxZCwgMHgzZCwgMHhlMiwgMHgzNSwgMHhkMiwgMHgxNiwgMHg0YSwgMHg0YSwgMHg4ZSwgMHhkNCwgMHhjMywgMHhjMSwKKyAgMHg4ZCwgMHhhNCwgMHhmMSwgMHhjYiwgMHgzNCwgMHg5ZSwgMHg4NSwgMHg2MCwgMHhhNywgMHgzMywgMHg0OCwgMHgxOCwKKyAgMHg2ZSwgMHg5ZSwgMHgwMSwgMHgyYiwgMHhmNCwgMHhiNywgMHg1ZSwgMHhmZSwgMHhlNSwgMHg1YSwgMHhjZCwgMHhkNCwKKyAgMHg4NywgMHg5OCwgMHgyNSwgMHhiMiwgMHhlYywgMHhlMCwgMHg4NCwgMHg1MywgMHhlNCwgMHhhZCwgMHhiNCwgMHhiNSwKKyAgMHhhYywgMHg4MiwgMHg2NiwgMHgxMywgMHgyYiwgMHg0YSwgMHhlNCwgMHg5ZSwgMHhhNiwgMHhiOSwgMHg2ZCwgMHhmYSwKKyAgMHgzMSwgMHg3MCwgMHgyZCwgMHgwYiwgMHg0YiwgMHg5MiwgMHgwMiwgMHgyMiwgMHhiMSwgMHhhNCwgMHhhMiwgMHhhOSwKKyAgMHhkNSwgMHhlMSwgMHgzYiwgMHhhNiwgMHg5ZiwgMHhmNCwgMHg3NSwgMHg4MiwgMHhiNCwgMHg4ZCwgMHg1YSwgMHg0ZSwKKyAgMHgwYiwgMHg2ZCwgMHgzMCwgMHgzZiwgMHhlMCwgMHgwZSwgMHgyNCwgMHhlOCwgMHhmNiwgMHgwYSwgMHhlMiwgMHgyNSwKKyAgMHg5MCwgMHgwMCwgMHg0MSwgMHhiOCwgMHgyNSwgMHg4NywgMHgwZCwgMHg2ZCwgMHgyZCwgMHgwZSwgMHgyYiwgMHg1MiwKKyAgMHgzZiwgMHg0ZiwgMHhhNSwgMHg1MywgMHg5YywgMHg5NCwgMHgyYywgMHg4YSwgMHhhZiwgMHg3YiwgMHg0ZiwgMHg2ZSwKKyAgMHhiYywgMHg2OCwgMHgzZSwgMHhjNCwgMHhiZCwgMHhlZiwgMHg4YywgMHg0OCwgMHg1ZiwgMHg4YywgMHg5MiwgMHhhZiwKKyAgMHgzMiwgMHg2YSwgMHgwZiwgMHhmZiwgMHgzYiwgMHg3NywgMHg3NywgMHhiZiwgMHgxMiwgMHhlNCwgMHg2MSwgMHhkNiwKKyAgMHhlMCwgMHg2MywgMHhhNSwgMHg3ZiwgMHhhMCwgMHhiMiwgMHg2ZCwgMHg0ZCwgMHhlOSwgMHg2NSwgMHg5MywgMHg1YSwKKyAgMHg3NSwgMHhlMSwgMHgxMSwgMHg3YSwgMHhjZSwgMHg4MCwgMHgyMiwgMHhiMSwgMHg5MSwgMHg1MywgMHgzNCwgMHhjNywKKyAgMHhlNSwgMHhlOCwgMHg1YiwgMHgxNiwgMHg0YywgMHgxOCwgMHhmOCwgMHgzNiwgMHg1ZSwgMHg3NSwgMHhhNywgMHhiMCwKKyAgMHgwNSwgMHg0OCwgMHgyZSwgMHg5OCwgMHhhMCwgMHhlMiwgMHgzNiwgMHhkYiwgMHhmOCwgMHgxMywgMHg0NSwgMHhiNywKKyAgMHhiZSwgMHgzOCwgMHhkOCwgMHhlOCwgMHg2NCwgMHg3YSwgMHhjNywgMHhkYSwgMHgzMSwgMHhkNiwgMHhjYywgMHg3NywKKyAgMHhkYiwgMHgzNiwgMHg5NiwgMHg3MCwgMHg1YiwgMHg5MiwgMHg0OCwgMHhkOSwgMHg2ZCwgMHhjMywgMHgxYSwgMHgwOSwKKyAgMHhkMSwgMHhkNCwgMHg0ZCwgMHg1ZSwgMHgzYywgMHhkZSwgMHg5MywgMHhiZCwgMHhmMCwgMHg4ZSwgMHg2NywgMHg3OCwKKyAgMHhhMCwgMHhmMCwgMHhjYiwgMHhjMywgMHhmNCwgMHg5MiwgMHgwNiwgMHg4YSwgMHhjNiwgMHhmNCwgMHg1YSwgMHhhZCwKKyAgMHg2NywgMHg3OSwgMHg3ZiwgMHhkZiwgMHhkMywgMHgyYiwgMHgwNywgMHg3OCwgMHg0NSwgMHhkYSwgMHg1NSwgMHg2YSwKKyAgMHg2ZSwgMHhhMiwgMHg4ZiwgMHg2MiwgMHhhMCwgMHgwZSwgMHhkOSwgMHgwZSwgMHgxZCwgMHg5NywgMHhjYSwgMHg1ZSwKKyAgMHgyNywgMHhmMywgMHhiNCwgMHhmOCwgMHg2OCwgMHg3MywgMHhjOCwgMHg3OSwgMHhhMCwgMHgwMSwgMHg3NSwgMHgzYiwKKyAgMHhlNywgMHg0MiwgMHg2MiwgMHhmNywgMHg0MywgMHhkOSwgMHgxZSwgMHg5NiwgMHhkOSwgMHg0MSwgMHgzNywgMHgyNCwKKyAgMHhiOCwgMHgxOSwgMHgxNywgMHg2OSwgMHhmNSwgMHhkMSwgMHgyNiwgMHhjOCwgMHg0YiwgMHhhYSwgMHhiNywgMHg3ZiwKKyAgMHgyOCwgMHhiNiwgMHg5NSwgMHgyNiwgMHgwOCwgMHhmOSwgMHgxYiwgMHhlZCwgMHhjNywgMHgxOSwgMHgzNCwgMHg3NSwKKyAgMHg1MCwgMHg1MiwgMHhlNywgMHg1YywgMHg3MCwgMHg5YiwgMHgyZCwgMHhkZiwgMHg0MywgMHhkOCwgMHg5MiwgMHhmMCwKKyAgMHg0MCwgMHhmYywgMHgxNSwgMHgxOSwgMHhiNiwgMHg4YiwgMHg2NSwgMHg3MywgMHg2NywgMHhiNSwgMHgxNCwgMHgzOCwKKyAgMHg3NCwgMHhiYSwgMHgzYiwgMHhiYywgMHhiNSwgMHhiMSwgMHhiMSwgMHgzZCwgMHhiMCwgMHg1OCwgMHhmZiwgMHg5MSwKKyAgMHgwMiwgMHgyMSwgMHg4MSwgMHgxMCwgMHg0YSwgMHhlYywgMHgyMiwgMHgwOCwgMHhmYSwgMHgzYywgMHgyMywgMHgxZCwKKyAgMHhkNywgMHhhMSwgMHg1NywgMHg0YiwgMHg4MiwgMHg5YSwgMHg0ZCwgMHhiOCwgMHg1OCwgMHg3MiwgMHhhMywgMHhmMiwKKyAgMHgyZSwgMHhjZiwgMHhjMSwgMHhmZSwgMHhjYSwgMHgzOCwgMHhhZSwgMHhmYiwgMHgyMCwgMHhlZCwgMHg0NCwgMHhkZSwKKyAgMHhiNCwgMHhiNCwgMHhhMCwgMHg3YSwgMHg0OSwgMHhkZSwgMHg4NSwgMHhhZCwgMHg4ZCwgMHg2NCwgMHg2MywgMHhmYiwKKyAgMHgxMywgMHhhNiwgMHg0ZCwgMHg1OCwgMHhhYywgMHg2ZiwgMHgyMywgMHgzMiwgMHhjZCwgMHg5ZiwgMHhmYiwgMHgxYSwKKyAgMHhhZSwgMHhlZCwgMHgxMywgMHg5ZSwgMHg1NiwgMHg3NCwgMHg2YiwgMHgyNywgMHg3NCwgMHgxNywgMHg1YiwgMHhmNywKKyAgMHhkYiwgMHhjZSwgMHhiMywgMHg2ZSwgMHhlZCwgMHg4MiwgMHhjYSwgMHhiMSwgMHhlNCwgMHg4OSwgMHg1MSwgMHg3MiwKKyAgMHhlYSwgMHg2YywgMHhmOSwgMHg2MiwgMHgwMCwgMHhkNCwgMHhlNywgMHhhNiwgMHg5YSwgMHg4YSwgMHgyNSwgMHg4ZiwKKyAgMHhiZiwgMHg0YiwgMHgyNiwgMHg2ZSwgMHgzYSwgMHg4ZiwgMHg0YSwgMHg1MSwgMHhlNCwgMHhhZCwgMHhkNywgMHgzOSwKKyAgMHg1MCwgMHhlOCwgMHhhZCwgMHgxOCwgMHg5NiwgMHgyNCwgMHgwNiwgMHg5ZCwgMHhhMiwgMHg2ZiwgMHhiNCwgMHgxYSwKKyAgMHhlYSwgMHhhMSwgMHg1NiwgMHhlMCwgMHg0MCwgMHg2NywgMHgwYiwgMHgxMiwgMHhlZCwgMHg3OSwgMHgxMSwgMHhkMSwKKyAgMHhkNiwgMHg3OCwgMHhmMSwgMHhmNSwgMHhkNiwgMHg5MiwgMHhhMywgMHgzMSwgMHgzNywgMHhlNywgMHhiNiwgMHg1YSwKKyAgMHgyNiwgMHg0ZSwgMHhhMSwgMHg5NywgMHhmZSwgMHgwNiwgMHg0NiwgMHg5ZSwgMHg5NCwgMHhjNSwgMHgyMCwgMHg4MCwKKyAgMHgzMCwgMHg0MywgMHg2NywgMHgwNywgMHhmNiwgMHhmNywgMHgyMSwgMHhjOSwgMHg3MywgMHhlMSwgMHhmNywgMHhiMCwKKyAgMHg2MiwgMHhjYiwgMHgxOCwgMHg2ZiwgMHhlYSwgMHgwZCwgMHg3NCwgMHgxZiwgMHhhNywgMHg5YiwgMHhkMiwgMHg1ZiwKKyAgMHhjNCwgMHgyZSwgMHgzZCwgMHgxZCwgMHhmNSwgMHgzMCwgMHgwYywgMHg1MSwgMHgwZCwgMHhiOCwgMHgzMiwgMHgzMywKKyAgMHg1OCwgMHg5MiwgMHhlMSwgMHhmNywgMHhjMiwgMHg3NCwgMHgwNCwgMHg1MSwgMHgyZCwgMHhlNywgMHgxOCwgMHg3YiwKKyAgMHhlZCwgMHhlZiwgMHhkNSwgMHgxNSwgMHhiNSwgMHg1YiwgMHhmNCwgMHg5YywgMHg0ZiwgMHgwMiwgMHg0YiwgMHg2NywKKyAgMHg2ZSwgMHg1MSwgMHg2MCwgMHhhYywgMHgwMCwgMHg5MSwgMHgxYSwgMHhkNywgMHg4MCwgMHg3NiwgMHgxOCwgMHg2OCwKKyAgMHhlOCwgMHg5NCwgMHhhYywgMHg0NSwgMHhlOSwgMHhhZiwgMHgyZSwgMHhkYiwgMHg5YywgMHhkNCwgMHhiOSwgMHhhYywKKyAgMHg2MCwgMHhhNywgMHg0YSwgMHhhOSwgMHhmOCwgMHg4MiwgMHhjOSwgMHgzNCwgMHg4NCwgMHgwNywgMHg5ZCwgMHgzMSwKKyAgMHg3YSwgMHg3NCwgMHhjZCwgMHgyMywgMHhjYSwgMHhlNiwgMHhkYywgMHg1MSwgMHg2MiwgMHgyYiwgMHg4YiwgMHgwZSwKKyAgMHhjYSwgMHhkYiwgMHgzNSwgMHgzYywgMHhkYiwgMHhlMSwgMHhiNiwgMHhkNywgMHg2ZSwgMHhlNywgMHgyMywgMHhlZCwKKyAgMHgyMCwgMHg3OSwgMHhhNSwgMHgwZSwgMHhhNywgMHhjNywgMHhjNywgMHhiNSwgMHgzNiwgMHhiNywgMHhlMSwgMHgzYSwKKyAgMHhlNywgMHhiZCwgMHg2NywgMHhjNCwgMHhiZSwgMHg0OSwgMHg5NSwgMHg2NywgMHgxNywgMHg4NiwgMHg0MSwgMHg2MywKKyAgMHg0OSwgMHg5YywgMHgxMiwgMHgxYywgMHhiOCwgMHhlYywgMHgzMiwgMHg4MiwgMHg3NiwgMHhhNywgMHg2MiwgMHgwMywKKyAgMHg3MywgMHg4ZSwgMHg1NCwgMHgyMywgMHg5ZiwgMHhjMywgMHg2ZCwgMHhjNywgMHg2YywgMHhkZiwgMHgzNiwgMHhkMSwKKyAgMHhlNCwgMHg5NiwgMHgwYSwgMHg1NCwgMHhmYSwgMHhhYSwgMHhlZCwgMHhiZSwgMHhiOCwgMHg0NCwgMHgyZCwgMHg5YSwKKyAgMHg2ZSwgMHg0YiwgMHhlYywgMHg0ZCwgMHhkZCwgMHhjZCwgMHg0NCwgMHg2MCwgMHgwNSwgMHhkZCwgMHg2MiwgMHhkYiwKKyAgMHg3YywgMHgxOSwgMHg1ZiwgMHg2NCwgMHhjOSwgMHgyMSwgMHhhYSwgMHhhNSwgMHhkNywgMHhjNywgMHgzMywgMHg2ZSwKKyAgMHgyNSwgMHg0MCwgMHg5YywgMHgyNSwgMHhkZiwgMHg2NiwgMHg5NSwgMHg1MSwgMHgzZiwgMHg0YSwgMHhiMywgMHhlZSwKKyAgMHhlZiwgMHg5ZSwgMHg2YSwgMHg2MiwgMHhhZCwgMHhjOCwgMHg3OSwgMHg1MSwgMHgwNSwgMHhlNSwgMHg5NiwgMHhhMiwKKyAgMHhhOSwgMHgzMSwgMHhhNiwgMHgxZSwgMHhjNCwgMHg4ZSwgMHhiOCwgMHgxNiwgMHg4NywgMHhmNiwgMHg1NiwgMHhkZiwKKyAgMHgxNCwgMHg1ZCwgMHg5MCwgMHhmZCwgMHgyMywgMHgxZCwgMHgwYSwgMHg0NSwgMHg0MywgMHgwMiwgMHhiMywgMHgxYSwKKyAgMHhlMiwgMHg5MCwgMHgzZCwgMHg3ZCwgMHg0MywgMHg2ZCwgMHhlNSwgMHgzNCwgMHhlYSwgMHhjNCwgMHg1NiwgMHhkMCwKKyAgMHgxMCwgMHhjOCwgMHg5NywgMHg2YSwgMHhlZSwgMHg2ZCwgMHgzOSwgMHg2OSwgMHhhMCwgMHg2NSwgMHhhNiwgMHg2ZSwKKyAgMHhlNiwgMHhlNywgMHgzOSwgMHg3OSwgMHhkYiwgMHg5NCwgMHhhMywgMHg0NiwgMHhhYiwgMHhiNCwgMHg0NCwgMHhhNywKKyAgMHg3NCwgMHgxMCwgMHhmOCwgMHg5ZCwgMHg0NCwgMHgxNiwgMHg1MiwgMHhlMiwgMHhlYiwgMHgyYiwgMHg1MiwgMHg4MywKKyAgMHg0OSwgMHgzZCwgMHg4MywgMHg4NywgMHhlNSwgMHhiMywgMHgzOCwgMHhhNCwgMHgzYiwgMHg2ZCwgMHhkYSwgMHhkYiwKKyAgMHhmMywgMHg5MywgMHgzNywgMHg4MywgMHhjZSwgMHhiNSwgMHgxMywgMHg3ZCwgMHhkMiwgMHhlYiwgMHhmZiwgMHhhYSwKKyAgMHgyYywgMHgyNywgMHg4ZCwgMHhmNiwgMHg2NywgMHhlMSwgMHgwNCwgMHgyZiwgMHhkZSwgMHgwZiwgMHg1YiwgMHgyZiwKKyAgMHhjYSwgMHhiMCwgMHgyYiwgMHhiNCwgMHg3NSwgMHgwMywgMHg0OSwgMHhiNCwgMHhhYSwgMHhhNCwgMHgxMiwgMHg1MSwKKyAgMHg5ZCwgMHgyZSwgMHhiYywgMHhhZiwgMHg2MSwgMHgxOCwgMHg4MSwgMHg4OCwgMHhiMCwgMHhjNiwgMHhkOSwgMHhjMywKKyAgMHg0ZiwgMHg2NSwgMHgwNCwgMHg4NSwgMHg2MSwgMHgzNiwgMHhlYiwgMHg3YSwgMHgwOCwgMHg5YywgMHgzYiwgMHg5MywKKyAgMHhjNCwgMHg3ZCwgMHg5NSwgMHg5NywgMHg0MiwgMHhlYywgMHg4NSwgMHg3YiwgMHhjMywgMHgyNCwgMHhhZiwgMHhjYSwKKyAgMHg5YiwgMHg2MiwgMHg3OCwgMHg0MiwgMHhjNSwgMHhlNCwgMHhjOSwgMHg0OSwgMHg3OSwgMHg0OSwgMHgzNywgMHhlOCwKKyAgMHg2ZCwgMHhkYywgMHg2NSwgMHhmNiwgMHhmZSwgMHhlYywgMHg2ZCwgMHhiMiwgMHg0NSwgMHhhYSwgMHg0NSwgMHg3MiwKKyAgMHg2NiwgMHg2MSwgMHgxNSwgMHhlOSwgMHhkMSwgMHg2ZCwgMHgzMSwgMHhlZSwgMHg2YSwgMHhkNiwgMHhiYSwgMHg2YywKKyAgMHgyNywgMHhiYywgMHhhMywgMHgxZiwgMHgwZSwgMHhkZSwgMHg5YywgMHg5ZCwgMHgxYywgMHhmZCwgMHhjOCwgMHhmNiwKKyAgMHg1ZCwgMHhiMCwgMHgxYywgMHhmYSwgMHhmMSwgMHg5NywgMHg5ZSwgMHhjMSwgMHg4YiwgMHhmMCwgMHgxOCwgMHhhNSwKKyAgMHg4MywgMHg5YSwgMHg5OSwgMHhkYywgMHhmNSwgMHg4OSwgMHg3MiwgMHg2NiwgMHg4YiwgMHg0YSwgMHg4MiwgMHhlMywKKyAgMHhmMSwgMHhkOSwgMHhmMSwgMHg1MCwgMHgxMSwgMHgxMSwgMHhiOSwgMHhiZiwgMHg3OCwgMHg1ZSwgMHg5MCwgMHg2ZCwKKyAgMHgwYSwgMHhlYiwgMHhkMywgMHg3NiwgMHhmNSwgMHhmOSwgMHgzNiwgMHg4YywgMHgwNCwgMHhkYSwgMHhmYiwgMHgzMCwKKyAgMHg0OCwgMHhkZSwgMHg2YSwgMHg5YSwgMHhlOSwgMHgwMCwgMHg4NywgMHg0ZSwgMHg3NywgMHhmMCwgMHg1NSwgMHg4ZSwKKyAgMHgxZSwgMHg3NiwgMHhkZCwgMHhlNCwgMHg0MCwgMHhhMiwgMHgwZSwgMHgxMSwgMHhkMywgMHgwMSwgMHhkYywgMHhhOCwKKyAgMHhkNywgMHgxZiwgMHhiNiwgMHhjZSwgMHhlNiwgMHhlYywgMHgzOSwgMHhlZSwgMHg5NSwgMHg4ZiwgMHhjYywgMHgyMiwKKyAgMHg3MSwgMHg4YSwgMHgyOCwgMHhmYiwgMHgwOSwgMHhlMiwgMHg5NCwgMHg1MiwgMHgwNiwgMHgzNCwgMHg2OSwgMHgzNSwKKyAgMHhhNiwgMHhiNSwgMHgxNCwgMHhjMiwgMHg1MiwgMHhhMSwgMHhkYiwgMHgxOCwgMHg2ZiwgMHgzZiwgMHhkOSwgMHgxOCwKKyAgMHhhZSwgMHg5MiwgMHhmZCwgMHg4ZCwgMHg0ZiwgMHhhOCwgMHgyMiwgMHhmOCwgMHg2ZSwgMHhmNiwgMHg0OCwgMHg2YiwKKyAgMHgzOCwgMHg4YiwgMHg4OSwgMHg2OSwgMHg4MywgMHgzMiwgMHhkMiwgMHhjOCwgMHhjNCwgMHhkMywgMHhmOSwgMHg0OSwKKyAgMHgzYywgMHgxOSwgMHgxYSwgMHgzMiwgMHgzNywgMHg1ZCwgMHhhYywgMHhhOSwgMHhjOSwgMHhlYSwgMHhmMiwgMHgzMiwKKyAgMHg4MiwgMHg1OCwgMHg0NCwgMHgzZCwgMHg3NCwgMHgzMywgMHhiOCwgMHhkZSwgMHhjOCwgMHg5MywgMHhiNSwgMHg1OSwKKyAgMHgyNywgMHgxYywgMHg0MCwgMHgzMSwgMHhmMywgMHhkZiwgMHg0MCwgMHg1MCwgMHg1OCwgMHg5NCwgMHhiMCwgMHhiMiwKKyAgMHg5YywgMHg5MSwgMHgzNiwgMHg3ZSwgMHhhMCwgMHhmMSwgMHgxZiwgMHgzNCwgMHg3YiwgMHgwYywgMHg4NywgMHg2MywKKyAgMHgwNSwgMHg3NSwgMHhmMywgMHhjZiwgMHg5YiwgMHhiNiwgMHhmYiwgMHhmMCwgMHg4NiwgMHhlOCwgMHg2ZiwgMHhlMCwKKyAgMHhkNywgMHgxYiwgMHhhYywgMHhhNywgMHg0ZiwgMHhiOCwgMHgyMywgMHhlNSwgMHgyMCwgMHhkOSwgMHg3YywgMHhiOSwKKyAgMHgyOSwgMHhjZiwgMHg2ZCwgMHg0NCwgMHhiNSwgMHg1MCwgMHg3ZSwgMHg4NywgMHhjMywgMHhhYiwgMHg2YywgMHgzOCwKKyAgMHg0YywgMHhhZCwgMHgwMywgMHg5YSwgMHhmNCwgMHhkYiwgMHg3YywgMHgzNiwgMHhjYiwgMHgwYSwgMHhmMSwgMHg0NywKKyAgMHg1MiwgMHhiNywgMHg2NywgMHgwMSwgMHgzMSwgMHgxZCwgMHg4OCwgMHg1YiwgMHhhNCwgMHhhYiwgMHg3MiwgMHg2MCwKKyAgMHhlYSwgMHgzYSwgMHg3MywgMHg5ZSwgMHgyYiwgMHgzNSwgMHgyMSwgMHhlNiwgMHgxOSwgMHg2OCwgMHgzZiwgMHg4MywKKyAgMHg3NCwgMHg4ZSwgMHg4OCwgMHg5MCwgMHhlYiwgMHhjZSwgMHgyYiwgMHg1ZiwgMHhlZCwgMHhiYiwgMHgyOSwgMHg5YywKKyAgMHgzNSwgMHg0YywgMHg5ZSwgMHgwOSwgMHgyOCwgMHhmYiwgMHhkMSwgMHg4YSwgMHhkMCwgMHg0MSwgMHhhNywgMHhkNCwKKyAgMHgxMiwgMHg0MSwgMHhjNSwgMHhkMCwgMHg3NywgMHhkYywgMHg1OCwgMHhkMCwgMHg1ZSwgMHgxYSwgMHg3OSwgMHhiMywKKyAgMHhhMiwgMHg2NiwgMHg2NSwgMHhlNSwgMHg0NywgMHhmNCwgMHg2MSwgMHgyZiwgMHhhYiwgMHhiZSwgMHhlZiwgMHhhYiwKKyAgMHg1YiwgMHhkZCwgMHgxMSwgMHgxZSwgMHg4YiwgMHg1YSwgMHhjZCwgMHhlNSwgMHg4MywgMHg1MiwgMHg0ZSwgMHgwZiwKKyAgMHg4YSwgMHgyZSwgMHhhMCwgMHg4NiwgMHhmNSwgMHgyMCwgMHgwNCwgMHg2YywgMHhlMiwgMHg0NiwgMHg4YSwgMHhkYSwKKyAgMHg0MiwgMHhjOSwgMHg4NiwgMHhmZSwgMHhkYSwgMHg4MSwgMHg2YSwgMHhhZCwgMHhmYSwgMHg4ZSwgMHgzNiwgMHg4YSwKKyAgMHhmMCwgMHhhYSwgMHhhNywgMHhkYiwgMHg3ZCwgMHg4NywgMHgyNSwgMHg5MCwgMHg4MCwgMHgwZSwgMHgxYSwgMHhkMSwKKyAgMHgzMiwgMHg1NSwgMHhjOSwgMHg1NSwgMHhhNCwgMHg3ZCwgMHg3MiwgMHgxYiwgMHgxNSwgMHg1NCwgMHhmYSwgMHhiYSwKKyAgMHg1MCwgMHg5NCwgMHgxZiwgMHhmNSwgMHgwYywgMHhmMywgMHg3YSwgMHhhMywgMHgzMSwgMHhhOSwgMHhlZiwgMHhlNCwKKyAgMHg1NiwgMHhkNSwgMHhhMSwgMHgyOSwgMHhmOSwgMHg0YSwgMHhhMiwgMHg5NiwgMHg3ZSwgMHgzMCwgMHg1MCwgMHgyYSwKKyAgMHgzZiwgMHhkOSwgMHg2YiwgMHgyYiwgMHg3NiwgMHg5OCwgMHhlNiwgMHg0NiwgMHg2OCwgMHhjNiwgMHg0NiwgMHg4ZSwKKyAgMHhkMCwgMHg0YSwgMHgzZCwgMHg4YSwgMHhhOCwgMHhiMCwgMHhhYywgMHg5MywgMHg4MiwgMHhlNCwgMHg2NCwgMHgzNSwKKyAgMHgxYywgMHhkYiwgMHg0MCwgMHgxYywgMHg1MywgMHhkZiwgMHgyZiwgMHgwNSwgMHg0MiwgMHg3NiwgMHhlMCwgMHhhNSwKKyAgMHg1ZCwgMHg0NCwgMHhlMiwgMHhkYSwgMHg5MCwgMHgxZiwgMHg4ZiwgMHhhYiwgMHgxOSwgMHg5YywgMHgwNSwgMHg3NywKKyAgMHg5MiwgMHhkNSwgMHg0NCwgMHhkZSwgMHg2NywgMHgzMywgMHhmYywgMHg0NywgMHg0ZCwgMHgwZCwgMHhlNSwgMHhjNiwKKyAgMHhiMSwgMHhkOSwgMHg3NCwgMHhkNSwgMHhiNCwgMHgyYiwgMHgxYSwgMHhiZCwgMHgzOSwgMHhkOSwgMHg0ZSwgMHg1ZiwKKyAgMHg5OCwgMHhkNiwgMHgxNiwgMHhhZSwgMHg4MiwgMHg2MCwgMHgzYSwgMHg2ZCwgMHg5YywgMHgyOSwgMHhmNCwgMHhkNCwKKyAgMHhmZSwgMHhjNiwgMHhiNiwgMHhjNCwgMHhkMCwgMHg1MywgMHhkNiwgMHhlMCwgMHhmOSwgMHhjNywgMHhiMSwgMHhlMCwKKyAgMHhiOCwgMHhjZSwgMHhiOSwgMHhjYSwgMHhkOCwgMHg5ZCwgMHhlZCwgMHhmMiwgMHg0NCwgMHhhMiwgMHg5ZiwgMHgzNywKKyAgMHg0NCwgMHg1YSwgMHhjZCwgMHg2MiwgMHhkZiwgMHg3ZSwgMHhjZCwgMHg4ZSwgMHg0ZiwgMHhlZiwgMHhkMywgMHhiNiwKKyAgMHhkMSwgMHhiNiwgMHhmOCwgMHg0NCwgMHhlYiwgMHhlMCwgMHgyYSwgMHgwNywgMHg1ZiwgMHgyZSwgMHgyZiwgMHhlMCwKKyAgMHg5MCwgMHgzOCwgMHhiOCwgMHgzNiwgMHhkNCwgMHgwZCwgMHg1NywgMHg4NSwgMHhiZSwgMHhhYSwgMHhmYiwgMHgxZiwKKyAgMHhmOCwgMHhhMiwgMHhkMywgMHg3OSwgMHgzMywgMHhhYywgMHhhZiwgMHhhNywgMHhmMSwgMHg5MiwgMHgxOCwgMHhiZiwKKyAgMHg2MywgMHgzNCwgMHg3MiwgMHgwOSwgMHhjYywgMHhjMywgMHhlMywgMHhlYiwgMHhlOSwgMHhiZSwgMHg2ZCwgMHhhNywKKyAgMHg1NSwgMHg1YiwgMHgxNiwgMHgxMSwgMHgwNiwgMHgxYywgMHhlYiwgMHhiYiwgMHg2MiwgMHg3YSwgMHhmNSwgMHhlYSwKKyAgMHhlZCwgMHgzOCwgMHgzZSwgMHgzNCwgMHhkMywgMHgzNCwgMHg5ZiwgMHgzNiwgMHg1YywgMHgxOCwgMHgyOSwgMHg5ZSwKKyAgMHgzNywgMHhkMiwgMHg4OCwgMHg4MCwgMHgyNywgMHgyMSwgMHhjNiwgMHgwNCwgMHhhZiwgMHhkMywgMHg4OCwgMHhmYSwKKyAgMHgwMywgMHhlZiwgMHg3NywgMHhmMSwgMHhlMSwgMHg1YSwgMHgyZiwgMHg1OCwgMHg2NywgMHgxYywgMHg4OSwgMHgxNywKKyAgMHhiZSwgMHhjYSwgMHhhMiwgMHg3ZiwgMHhhMCwgMHgxMiwgMHg2NCwgMHg5OCwgMHhkMiwgMHg4NiwgMHhhMCwgMHhmOSwKKyAgMHg2OSwgMHhhMCwgMHg0NiwgMHhkOSwgMHg5MywgMHhhNSwgMHg4MCwgMHg4ZCwgMHhhMSwgMHgyYSwgMHgxOSwgMHhiMiwKKyAgMHhmMiwgMHg3MiwgMHhjMCwgMHhiYSwgMHgzYywgMHhjYiwgMHgxMCwgMHhjNywgMHgzYywgMHg2ZiwgMHg2ZCwgMHg5NSwKKyAgMHhjMywgMHgzZiwgMHg5MCwgMHg1ZiwgMHg2YSwgMHgwYSwgMHg4ZCwgMHg0NiwgMHg5MiwgMHgzNSwgMHhhZSwgMHgxNiwKKyAgMHgwYywgMHg3NiwgMHg3OCwgMHg5NSwgMHg1NiwgMHg4NywgMHg2NSwgMHg3MSwgMHgxZCwgMHg5ZiwgMHg1NSwgMHhhNywKKyAgMHhjYywgMHg4NiwgMHhhYiwgMHgzNiwgMHhiZCwgMHhlZiwgMHg0ZSwgMHhjZCwgMHhkYiwgMHhlOSwgMHhiNCwgMHgwMSwKKyAgMHg0MCwgMHgxZiwgMHgyMCwgMHgyOSwgMHgzNSwgMHgyYiwgMHgzMSwgMHgzZSwgMHhkYywgMHgxNiwgMHgyMiwgMHgxNCwKKyAgMHg0NywgMHg1ZiwgMHgxZCwgMHhiZSwgMHgzYSwgMHgzZSwgMHhkYywgMHhlZSwgMHhjZSwgMHhlNCwgMHgxNSwgMHhjYSwKKyAgMHhmMiwgMHhmOSwgMHg5OCwgMHhiNCwgMHg3ZiwgMHgyOCwgMHgyOSwgMHg4ZSwgMHg0YSwgMHg3NCwgMHhkZSwgMHgxNCwKKyAgMHhmMCwgMHhhOCwgMHg2NSwgMHg1MywgMHhhYywgMHgyMiwgMHhmNSwgMHg3YywgMHg3MiwgMHhjMSwgMHhlZCwgMHg1YSwKKyAgMHhhOSwgMHhjNSwgMHgwZCwgMHgxOCwgMHgxNCwgMHgxOCwgMHgzYiwgMHg2NywgMHhiNiwgMHg2NSwgMHgwYiwgMHg4YSwKKyAgMHg4MCwgMHg1YSwgMHgxOSwgMHhjZCwgMHg5OCwgMHg3OSwgMHhhNCwgMHhlMywgMHhkMSwgMHhlNywgMHg4NiwgMHhmMSwKKyAgMHhlMSwgMHg2NiwgMHhhNCwgMHg0OSwgMHg5MiwgMHhiMCwgMHhlNywgMHgyYywgMHhiZSwgMHhkZiwgMHg3NSwgMHgxNywKKyAgMHgyMSwgMHgxOCwgMHhkNCwgMHhmMSwgMHg5NywgMHgxNSwgMHhhMCwgMHg5YSwgMHgzMSwgMHg0ZiwgMHgzOSwgMHg4MCwKKyAgMHgxMywgMHgxYywgMHgwOCwgMHgxZCwgMHhkNCwgMHgxZSwgMHhmZiwgMHg2NywgMHg2NywgMHhjZiwgMHg2ZSwgMHhiNiwKKyAgMHgyZCwgMHhlNSwgMHhjNCwgMHgyZSwgMHgxOCwgMHg0ZSwgMHgzZCwgMHg4YSwgMHhiYywgMHhmNiwgMHg1OCwgMHg1ZSwKKyAgMHg3YiwgMHhiYywgMHhlZSwgMHhiNSwgMHhjOCwgMHg3YiwgMHg2MywgMHhmNiwgMHgzNywgMHhhZCwgMHhiOSwgMHgzNiwKKyAgMHg2ZCwgMHg3MCwgMHgxOCwgMHgyZiwgMHgzMSwgMHg2ZCwgMHgyZCwgMHg1MCwgMHhlOCwgMHhhYiwgMHhiNywgMHhlZCwKKyAgMHgwMSwgMHg2YywgMHgwMCwgMHg4ZSwgMHg3ZSwgMHgzMywgMHhkNCwgMHg0YSwgMHg1MCwgMHgxMSwgMHhmZiwgMHg5ZSwKKyAgMHhmZSwgMHgxZSwgMHg3MSwgMHg3NSwgMHg5ZCwgMHg1ZCwgMHgzZiwgMHhmMywgMHhjMiwgMHg4ZiwgMHhhNCwgMHgyNywKKyAgMHhlMywgMHg0NywgMHg1NiwgMHg0YiwgMHgwYywgMHhkZSwgMHhmOCwgMHg1OCwgMHg0ZCwgMHg5ZSwgMHg5OCwgMHhmZiwKKyAgMHg3YywgMHg0YiwgMHhmZiwgMHhiOSwgMHg2MCwgMHg2ZiwgMHhlOSwgMHhmYSwgMHg3ZCwgMHgzZiwgMHgzMSwgMHgzNiwKKyAgMHg3ZiwgMHgxNiwgMHg4OSwgMHg3ZCwgMHgwNywgMHhkYiwgMHg2MCwgMHg1NywgMHhlMSwgMHg1MiwgMHgxMywgMHg4YywKKyAgMHg0MCwgMHg5OSwgMHhkMywgMHhlYiwgMHgxYywgMHhlMywgMHgxYiwgMHg0OCwgMHhhOCwgMHgwZiwgMHgzZiwgMHhhYSwKKyAgMHhmYSwgMHhhZSwgMHhiYiwgMHg1OSwgMHhjNiwgMHhkZSwgMHhkNywgMHg1ZiwgMHgwNSwgMHhkMywgMHgzMCwgMHhkNCwKKyAgMHhmZSwgMHgwZiwgMHhlMiwgMHg2NSwgMHhmNiwgMHg0MiwgMHgxYiwgMHg5MiwgMHg2YiwgMHg1ZCwgMHhlNiwgMHgwYiwKKyAgMHgzZiwgMHgwYiwgMHg4ZiwgMHgzZiwgMHg2NCwgMHgyZiwgMHg3OCwgMHg1OCwgMHg3NCwgMHhhMCwgMHhmNiwgMHg3NywKKyAgMHhlZiwgMHhiMiwgMHhkZiwgMHgxOCwgMHhiZCwgMHg4NCwgMHhlNCwgMHhkOSwgMHg4MywgMHg1NywgMHg2ZCwgMHg1ZiwKKyAgMHhlOCwgMHgwZSwgMHg0NCwgMHg1MSwgMHhjZiwgMHhmMSwgMHhmOCwgMHhlNCwgMHhjMSwgMHgwMywgMHg2OSwgMHg5OCwKKyAgMHhiNCwgMHg5MywgMHhmMCwgMHhkYSwgMHg0ZCwgMHhhMCwgMHgyNSwgMHhhMywgMHg0NSwgMHhmZSwgMHgxMywgMHhlMiwKKyAgMHhjNSwgMHg3YiwgMHhlYiwgMHhmYSwgMHg4NSwgMHhhZiwgMHg3NSwgMHhlMywgMHgzOCwgMHg4NCwgMHg4ZSwgMHhjNCwKKyAgMHhmZiwgMHhhMSwgMHhlNywgMHhhZSwgMHg5NCwgMHhkMSwgMHg5ZCwgMHhhZCwgMHgyNiwgMHg3MywgMHg3MywgMHgxOCwKKyAgMHhlMywgMHhkNSwgMHhjNSwgMHg0NSwgMHg3ZSwgMHg5YiwgMHg5YywgMHg1MCwgMHg4ZCwgMHgxZSwgMHhmMywgMHgxMCwKKyAgMHhhOCwgMHhkYiwgMHg5YSwgMHhlMCwgMHhkOSwgMHhiNywgMHhmZCwgMHgyYywgMHg3NCwgMHgwMCwgMHg0ZSwgMHg4MiwKKyAgMHhkYiwgMHhkOCwgMHgyYSwgMHgyOSwgMHg3MiwgMHg1NSwgMHhlZCwgMHhhYywgMHhmYSwgMHg2YywgMHgyYywgMHhmOSwKKyAgMHg1YiwgMHhmNSwgMHhlYSwgMHhhMiwgMHg4NywgMHgwOSwgMHg5OSwgMHgyOSwgMHg2NCwgMHg3NSwgMHg2OCwgMHgwOSwKKyAgMHg3MSwgMHhjNywgMHgzOSwgMHhmZCwgMHhjZiwgMHhjZiwgMHg1OSwgMHhmNSwgMHg5OCwgMHg1NywgMHhlZCwgMHgwMSwKKyAgMHg0YiwgMHg4MSwgMHhhNiwgMHgwOSwgMHhhNywgMHg4MSwgMHg2NCwgMHhhMywgMHhjMywgMHhjNywgMHg4NCwgMHgyNywKKyAgMHg1MCwgMHg4NywgMHgxOSwgMHgzMCwgMHg3NiwgMHg0YSwgMHg5OCwgMHg1MSwgMHhlNSwgMHhiMywgMHgxNiwgMHgwNiwKKyAgMHhlOSwgMHgxZCwgMHgyMCwgMHg0MCwgMHgzNiwgMHg2NiwgMHhjMywgMHhhNywgMHg4YywgMHhjMSwgMHg2NywgMHg5MCwKKyAgMHhiMSwgMHhhYiwgMHhmZiwgMHg1OSwgMHgzYiwgMHg1NywgMHhhOSwgMHg5ZCwgMHhlYSwgMHg1MSwgMHgxZiwgMHg1MCwKKyAgMHg5MCwgMHhjNiwgMHhiOSwgMHhjZSwgMHhjOSwgMHgzYiwgMHhjZSwgMHg2NywgMHgzOSwgMHgxMywgMHhiYiwgMHg3NCwKKyAgMHg3YiwgMHhkZCwgMHg5NiwgMHhmNCwgMHg2YywgMHhiNCwgMHgzOSwgMHhmOSwgMHgxOCwgMHgwNCwgMHgyMiwgMHg2NSwKKyAgMHg0YSwgMHg4ZCwgMHg5MSwgMHgyMSwgMHhkNSwgMHhiMywgMHg3NCwgMHhhNCwgMHg1MiwgMHg3MSwgMHgwZSwgMHg5NSwKKyAgMHhmZCwgMHg0OCwgMHg1YywgMHg3NywgMHgxOSwgMHhkZSwgMHg5MCwgMHg3ZSwgMHgwYywgMHhlYywgMHgyNywgMHgwYSwKKyAgMHg3OCwgMHgyNSwgMHgyZiwgMHg1OSwgMHgxMywgMHhlZSwgMHhlZiwgMHg0ZCwgMHhhZSwgMHgxOCwgMHgxYywgMHhiZSwKKyAgMHhjZSwgMHgwYywgMHhmMywgMHgwMywgMHgyMSwgMHg5OCwgMHg5NCwgMHhiYSwgMHg5MiwgMHg0YSwgMHhhNiwgMHgyZSwKKyAgMHgzOSwgMHhlZSwgMHg2NywgMHhjYywgMHhhNSwgMHg0MiwgMHgzMCwgMHg5YywgMHg0YSwgMHg0YSwgMHhmZCwgMHhjNSwKKyAgMHhiYiwgMHg5MSwgMHg4OCwgMHg5MywgMHg0NiwgMHhlMiwgMHgyOSwgMHhjOCwgMHhjMSwgMHg0YywgMHg4MSwgMHhlNywKKyAgMHgwNSwgMHg2NywgMHgxNSwgMHhjMywgMHg0OCwgMHg3MSwgMHg1OCwgMHhjNywgMHgxMCwgMHhkZiwgMHgyYywgMHg2NiwKKyAgMHg4MCwgMHhiNiwgMHg0MywgMHg4MSwgMHg4YSwgMHhmMSwgMHg1MSwgMHhiMywgMHhiZiwgMHg1NiwgMHhiZSwgMHgxMiwKKyAgMHhmYSwgMHg5OCwgMHg2MiwgMHgzZCwgMHhlMywgMHhlNywgMHg2NiwgMHgzMywgMHhjOCwgMHg3NiwgMHg0ZiwgMHgzNiwKKyAgMHg3OCwgMHgzZSwgMHgxYiwgMHhkMiwgMHg3MSwgMHg1MiwgMHg4MywgMHgwOCwgMHhjOCwgMHhkMiwgMHg1MywgMHgwMywKKyAgMHg4NywgMHg0ZCwgMHgwNCwgMHgxOSwgMHg5ZiwgMHhiZCwgMHg5MCwgMHg5MSwgMHhjNCwgMHgwYiwgMHg1MSwgMHg3OSwKKyAgMHhiZiwgMHhkNCwgMHg2NCwgMHhiZiwgMHgwZCwgMHhjZCwgMHgxMiwgMHg2OSwgMHhmOSwgMHgzNiwgMHhlYywgMHg3MCwKKyAgMHg3NiwgMHg1NywgMHgyMiwgMHg0MCwgMHgxZiwgMHg5YywgMHgzYiwgMHg4MywgMHg0YSwgMHgwNiwgMHgzYSwgMHgzNSwKKyAgMHgzMywgMHhlOCwgMHg3MCwgMHgyMywgMHhhZSwgMHhmNywgMHhkYiwgMHgzZCwgMHg0OCwgMHg2YywgMHhlZiwgMHhkNywKKyAgMHg5NiwgMHg4MSwgMHhhYSwgMHg1ZiwgMHg1MSwgMHg3ZiwgMHgwNCwgMHhkNSwgMHgwMCwgMHgzNCwgMHg3OSwgMHhiMywKKyAgMHgwYSwgMHhlOSwgMHg1MSwgMHgyMiwgMHg4YiwgMHg4MCwgMHg0NSwgMHg0MSwgMHg5NCwgMHg4OCwgMHg0ZSwgMHhjMiwKKyAgMHg2MSwgMHg5NywgMHhjMCwgMHgxYSwgMHhhNSwgMHg5YywgMHg2MCwgMHg2YSwgMHg4MCwgMHg1YywgMHg2YiwgMHhhNiwKKyAgMHhmMSwgMHg4NCwgMHgwMSwgMHgxZiwgMHhlNiwgMHhlNSwgMHg0ZCwgMHg1MCwgMHg0NiwgMHg0MCwgMHhjMSwgMHg2OCwKKyAgMHgzNywgMHhiYiwgMHg3NiwgMHgwZCwgMHhhNiwgMHgxOSwgMHhlMCwgMHgwZiwgMHhmZiwgMHhhOSwgMHhiZiwgMHhmYywKKyAgMHg0MCwgMHg5YiwgMHhmNSwgMHg0ZiwgMHhkZCwgMHgyYywgMHg5OSwgMHg3NiwgMHgxYSwgMHhhMCwgMHg3MywgMHhjMCwKKyAgMHgwZCwgMHhmMCwgMHgwNywgMHg2YywgMHhjYSwgMHhkZiwgMHgyOCwgMHhmMywgMHg4ZCwgMHg3NywgMHg4NiwgMHg3MCwKKyAgMHhiMSwgMHgzMCwgMHhkYywgMHgxZiwgMHg0NiwgMHg1NiwgMHg3NCwgMHhlYiwgMHgxMCwgMHg4NCwgMHgzNiwgMHhjMCwKKyAgMHg0ZSwgMHg4ZCwgMHhjOSwgMHg1ZCwgMHhlMCwgMHgzYSwgMHgyMywgMHgxYSwgMHhmYywgMHhiMSwgMHgxOCwgMHgwMCwKKyAgMHhmNSwgMHhkYywgMHg1OCwgMHg5ZSwgMHgwNCwgMHgwZSwgMHhjNCwgMHgyZCwgMHhhZSwgMHhmOSwgMHgxOCwgMHg3ZiwKKyAgMHhhYywgMHgwNCwgMHhlNiwgMHhjYSwgMHhkOCwgMHg1YywgMHgxMiwgMHgzZSwgMHhlMiwgMHg5ZiwgMHhjNywgMHgwZCwKKyAgMHgyMCwgMHg5YiwgMHg1MSwgMHhhYSwgMHhmYiwgMHhkYywgMHhjMiwgMHgzZSwgMHgzMywgMHgyMywgMHhhNSwgMHhkNSwKKyAgMHhjYywgMHhiYSwgMHgwYywgMHgyNiwgMHgwYSwgMHgzYiwgMHhjNCwgMHhhNCwgMHhkYSwgMHgzZCwgMHg3YiwgMHg0MCwKKyAgMHgwMywgMHgwOSwgMHgyNiwgMHg5NSwgMHhiZSwgMHhjYSwgMHhmZCwgMHgxMywgMHg2ZCwgMHg3YywgMHhmNSwgMHgwZiwKKyAgMHhmZiwgMHhjOSwgMHhkOSwgMHhhMiwgMHhmZiwgMHgwYywgMHg2NSwgMHhkOSwgMHhlOSwgMHhmOSwgMHhkMSwgMHgzZSwKKyAgMHhhNiwgMHhmNCwgMHg4NywgMHg2MSwgMHg3ZCwgMHhiNywgMHg5OCwgMHg5NCwgMHg3MywgMHhiOSwgMHg3NSwgMHhiNCwKKyAgMHhmNywgMHg2NiwgMHgwMywgMHhmNSwgMHg2NywgMHg0YywgMHgyMywgMHgwOCwgMHg5YiwgMHgwZSwgMHgzZCwgMHhkYywKKyAgMHg5YywgMHg0MSwgMHhiNCwgMHg0ZCwgMHgwYywgMHhlYywgMHhjNSwgMHhhNCwgMHg5YywgMHg3MiwgMHg1OSwgMHgzNSwKKyAgMHhkNSwgMHhiNywgMHg5OCwgMHhkYiwgMHhmNywgMHg4NywgMHg0NCwgMHhjMSwgMHg3MCwgMHhiOCwgMHg1ZiwgMHhiNCwKKyAgMHg3NCwgMHgwNiwgMHhmNywgMHhmMCwgMHg2YiwgMHhlMywgMHg3NSwgMHhiZSwgMHhkMSwgMHhmZCwgMHhmMywgMHgwOCwKKyAgMHhjNSwgMHg1YSwgMHg3OSwgMHgzMSwgMHhjNCwgMHgyMSwgMHg2MiwgMHgxNiwgMHg2NiwgMHg5YSwgMHgxZiwgMHg1MCwKKyAgMHhiNywgMHhjYiwgMHhhZiwgMHgxZSwgMHhmMiwgMHg4ZiwgMHg4NiwgMHhlNywgMHhmNCwgMHgyMywgMHg2ZCwgMHg2OCwKKyAgMHgyNCwgMHgwMSwgMHg0NCwgMHhhMiwgMHg0ZSwgMHgyZCwgMHg1MCwgMHhhMiwgMHhkZSwgMHhiNSwgMHgxNywgMHg3MSwKKyAgMHg1NiwgMHhkYSwgMHhjZSwgMHhkZiwgMHgyNCwgMHg1YiwgMHhjNCwgMHgzMCwgMHg5YSwgMHg2MCwgMHg5ZSwgMHg3YSwKKyAgMHhhZiwgMHgzZiwgMHg2NCwgMHhjMCwgMHhjNiwgMHhjZSwgMHhhZiwgMHhiMywgMHhmNSwgMHhhMywgMHg4MSwgMHgyZSwKKyAgMHg0OCwgMHgwMSwgMHg1OSwgMHhhMCwgMHhmNywgMHhhYSwgMHg5NywgMHg0OSwgMHhlYywgMHgwMCwgMHg4MSwgMHgxOCwKKyAgMHg4ZiwgMHg4ZiwgMHgwMywgMHhkYiwgMHhhMywgMHhmYiwgMHg4NiwgMHhlMywgMHhlOCwgMHgwZiwgMHhkYywgMHg1MiwKKyAgMHg5MiwgMHgxZCwgMHg0NiwgMHg0ZSwgMHhjMCwgMHhmYywgMHhjMiwgMHhhYSwgMHhjZSwgMHgwZCwgMHgxNSwgMHg2ZCwKKyAgMHg1MSwgMHgzNCwgMHgwMCwgMHhlMywgMHhkZSwgMHhiMywgMHhkNiwgMHgxMiwgMHg1NSwgMHgyYywgMHg5YywgMHg3NywKKyAgMHhjNiwgMHhkZSwgMHgzZCwgMHhjZSwgMHg1MSwgMHgzYiwgMHgxZCwgMHgyNCwgMHgyZSwgMHgwOSwgMHg4MiwgMHhiMywKKyAgMHgxZSwgMHgyYSwgMHhjYSwgMHg5NiwgMHg1OCwgMHgzZiwgMHg5YywgMHg0YiwgMHhhNSwgMHg5MCwgMHgwOCwgMHhkYSwKKyAgMHgzMSwgMHhiOSwgMHgxYywgMHg5MSwgMHhmNywgMHhiMiwgMHg2MiwgMHg2NywgMHg2NSwgMHgwZSwgMHhmMCwgMHhmMSwKKyAgMHgwNSwgMHhmOSwgMHg5NywgMHgyMywgMHgyMSwgMHhmZiwgMHgyNCwgMHhlNiwgMHg2ZSwgMHg0NCwgMHhhMCwgMHhmYSwKKyAgMHhkZiwgMHhiZCwgMHg5YywgMHgwYywgMHhiNiwgMHhkMCwgMHg4NywgMHg1ZSwgMHgyZSwgMHhjNiwgMHg0OCwgMHhiMCwKKyAgMHg1NiwgMHhkNywgMHgwZiwgMHhjNywgMHg0NSwgMHgxYSwgMHhjZiwgMHg0NiwgMHg4ZiwgMHgwMiwgMHg4YiwgMHhmMCwKKyAgMHhhMiwgMHg1OSwgMHg3ZSwgMHgzMCwgMHhjNCwgMHg1MSwgMHhkZCwgMHg3ZCwgMHhhMCwgMHg1NCwgMHg2NiwgMHg5YywKKyAgMHg5OSwgMHg0NiwgMHgzZiwgMHhmMCwgMHgwMywgMHg2YywgMHgyZCwgMHg4MywgMHg2NiwgMHhhYywgMHg5NiwgMHgzNCwKKyAgMHgwZSwgMHg4OCwgMHg3YywgMHg1ZSwgMHhiMiwgMHgzOSwgMHg3NywgMHhkZiwgMHgzMiwgMHhkYSwgMHg0OSwgMHhjMywKKyAgMHgzZSwgMHg3NiwgMHhkMywgMHg1NiwgMHhiYiwgMHgxZCwgMHhlMywgMHg5MywgMHg2MCwgMHg2MiwgMHg5NCwgMHhhNSwKKyAgMHhmNCwgMHgwMSwgMHg1OSwgMHgwNCwgMHg5NiwgMHg5OCwgMHg4YywgMHhlNCwgMHhjYiwgMHhhYSwgMHg3YywgMHhlYSwKKyAgMHhmNywgMHgyNiwgMHhjNiwgMHgwMywgMHhhMCwgMHgyNywgMHg4NiwgMHhhNCwgMHhhNSwgMHhiNCwgMHg4MiwgMHgyOCwKKyAgMHgxZSwgMHg3OSwgMHhlNywgMHg3ZiwgMHhmMCwgMHg1MywgMHhiYiwgMHhjOCwgMHg5YSwgMHg2NiwgMHhjNCwgMHg0MiwKKyAgMHgwNCwgMHg5YSwgMHg2OSwgMHg1MiwgMHhmMiwgMHg5NSwgMHg5NywgMHgwYSwgMHgxMiwgMHgzNiwgMHg4YywgMHhlOCwKKyAgMHhmYywgMHgwZiwgMHgwZCwgMHgwZiwgMHhmNiwgMHgwNCwgMHgyNywgMHg3MSwgMHg5ZSwgMHhhNywgMHhiNSwgMHg5ZCwKKyAgMHgyMSwgMHgyZiwgMHgwMSwgMHg1NywgMHgwYSwgMHgwYiwgMHgxNiwgMHhhMCwgMHhiZCwgMHg3YiwgMHhlZiwgMHgyMSwKKyAgMHhlNywgMHgyOSwgMHg5MiwgMHgwMiwgMHgzMiwgMHhlYSwgMHhkOSwgMHgxOSwgMHhjZSwgMHgyZSwgMHhlZiwgMHhlZSwKKyAgMHg0YywgMHhmZiwgMHg4NiwgMHhlOCwgMHg5YSwgMHg4NywgMHhlYiwgMHhiZiwgMHhhZCwgMHg5MCwgMHg4NCwgMHg1YiwKKyAgMHgxMiwgMHg2ZCwgMHg4NCwgMHhkZCwgMHhiOSwgMHhjZCwgMHhkOSwgMHgwNCwgMHgyMCwgMHg4NiwgMHgwZSwgMHhlZSwKKyAgMHhlMSwgMHgzZCwgMHhiNywgMHg3NiwgMHhhYiwgMHhkZCwgMHhmNSwgMHhiYywgMHhlNywgMHg5YywgMHgyZCwgMHgzYywKKyAgMHgwYywgMHgzMywgMHgwZCwgMHhmYSwgMHg1OSwgMHhlMiwgMHgzMCwgMHg2MywgMHg1OCwgMHhmNSwgMHg0NywgMHhiNSwKKyAgMHhhNSwgMHg2NSwgMHgzZCwgMHgxNCwgMHgzMywgMHg4YiwgMHhiNSwgMHhiYSwgMHg1OCwgMHhmMywgMHhmOSwgMHhhNywKKyAgMHg4ZiwgMHgyMiwgMHhmNCwgMHhmZiwgMHhiNywgMHgxYSwgMHg5ZiwgMHhiNSwgMHg1MiwgMHgzYiwgMHhmOSwgMHhmNywKKyAgMHhmMSwgMHhlOSwgMHhkYiwgMHhhNCwgMHg5YywgMHhmYywgMHg4ZCwgMHgzNiwgMHg5NywgMHg3NSwgMHgyZSwgMHg0YSwKKyAgMHg1MSwgMHhiNywgMHg0YywgMHhmOSwgMHg2MywgMHgxNiwgMHhhOSwgMHgwMCwgMHg0MSwgMHhhMiwgMHhmYSwgMHg4NywKKyAgMHg3YywgMHhlOSwgMHgzMywgMHhiZSwgMHhlMywgMHgzMywgMHg3NCwgMHgxMiwgMHg0NiwgMHg4ZCwgMHg5NSwgMHg3MCwKKyAgMHg2NSwgMHhjZSwgMHg2NywgMHhhNywgMHgyNCwgMHgxYSwgMHhmOSwgMHgwMSwgMHhkOCwgMHhjMywgMHhiZCwgMHgyNywKKyAgMHgzMiwgMHg2NSwgMHgyNCwgMHgwZiwgMHhmOCwgMHhiZCwgMHgzYywgMHhjMCwgMHg5MywgMHhhMSwgMHg2YSwgMHg3YSwKKyAgMHhlYSwgMHgwNiwgMHgyMywgMHg3MywgMHhmZCwgMHg0OSwgMHgyNCwgMHhlYSwgMHg5NiwgMHg0NCwgMHhlYywgMHg3YywKKyAgMHg3ZiwgMHg1ZiwgMHhmNiwgMHg1ZSwgMHg0NCwgMHhmNiwgMHg4NSwgMHg5NywgMHhjNCwgMHgxZCwgMHg3MiwgMHg3NCwKKyAgMHg0OSwgMHgzYywgMHhmZiwgMHg1NiwgMHg2MywgMHhhYiwgMHhmNiwgMHg0MiwgMHhiYywgMHg5OSwgMHhkZSwgMHhiMywKKyAgMHgyNCwgMHhiNywgMHg4YywgMHg3YiwgMHg2NywgMHg2MiwgMHhiZSwgMHhmNCwgMHhjMSwgMHhmNiwgMHg1YywgMHgzMCwKKyAgMHgwMiwgMHhkZSwgMHg3ZSwgMHhkOCwgMHg2OCwgMHgzNywgMHhhZSwgMHgxOSwgMHgwMywgMHg0MSwgMHg2ZiwgMHgyYSwKKyAgMHhhMSwgMHhmMywgMHg0NCwgMHg5MiwgMHhiOCwgMHg1YSwgMHg5ZSwgMHg0NCwgMHhiNCwgMHhmNCwgMHgwZSwgMHg5MSwKKyAgMHgzZSwgMHg4ZSwgMHhjZSwgMHg0MSwgMHgzYiwgMHg0YiwgMHhkNywgMHhmZSwgMHgxYywgMHhkYywgMHgwZiwgMHhmOSwKKyAgMHhjZSwgMHg5MSwgMHhmYywgMHhiYywgMHgyOCwgMHgyOSwgMHgzYiwgMHhkYywgMHhlNSwgMHgwZCwgMHhkZiwgMHg3YiwKKyAgMHhjMCwgMHg5MiwgMHhlYiwgMHg3MywgMHhlZiwgMHgyYywgMHg3MCwgMHgxNSwgMHgzZiwgMHhkNCwgMHhmNSwgMHg5YywKKyAgMHhlZSwgMHg0YiwgMHg3ZSwgMHg3MSwgMHg2NywgMHhhNiwgMHg1NCwgMHhmNywgMHgwMiwgMHgxZiwgMHhmOSwgMHg1MiwKKyAgMHg5OCwgMHg5ZiwgMHhkMywgMHhjMywgMHhmMiwgMHhmYywgMHg0OSwgMHg5YiwgMHgzNSwgMHgwYywgMHhkMiwgMHg2NSwKKyAgMHg0NiwgMHg3OSwgMHg0OCwgMHg4YywgMHhlMiwgMHg3ZSwgMHgxZiwgMHgzMSwgMHg5MiwgMHgyYywgMHhjNywgMHhlNywKKyAgMHg1ZCwgMHg1MCwgMHg1MywgMHg5OCwgMHg4ZCwgMHhkNSwgMHgzOSwgMHg0NiwgMHhjOSwgMHgyMywgMHhiMSwgMHhkYSwKKyAgMHhlZiwgMHhlNSwgMHhjMywgMHhhZCwgMHg5MSwgMHg2OCwgMHgxMCwgMHgxNywgMHhjNywgMHg2ZiwgMHg2ZiwgMHgwOCwKKyAgMHg5NSwgMHhiYywgMHgwNiwgMHgxYiwgMHhhMiwgMHhiYiwgMHhmZiwgMHgwMSwgMHhiNiwgMHgzZiwgMHgwNywgMHhkZiwKKyAgMHhhNSwgMHhiZSwgMHhjMSwgMHg2MiwgMHg3YywgMHhkMSwgMHhhMCwgMHgyMCwgMHgwZSwgMHgwZCwgMHg5ZiwgMHgwZiwKKyAgMHg0ZiwgMHg0OCwgMHhhMCwgMHhjZSwgMHgyMywgMHgyOCwgMHhmNSwgMHg0OSwgMHgwYywgMHg5NCwgMHgwNSwgMHhkZCwKKyAgMHhlYiwgMHg5MCwgMHhlZSwgMHhlZiwgMHhjZSwgMHg3YSwgMHhhYiwgMHg5NCwgMHhlMiwgMHhlNSwgMHgyMSwgMHgxNSwKKyAgMHg1ZCwgMHgwZiwgMHhmMSwgMHg4YiwgMHg1ZSwgMHhiZiwgMHg5MCwgMHhjYiwgMHg2ZCwgMHg2OSwgMHhiNiwgMHgyNSwKKyAgMHg5OSwgMHg1MCwgMHhiNSwgMHgzZCwgMHg0OSwgMHgyMCwgMHgyMSwgMHhlMCwgMHg1NSwgMHgyZSwgMHhkYSwgMHg5YywKKyAgMHg1MiwgMHg5NywgMHgyNywgMHg0OSwgMHhkYSwgMHg0YywgMHhkNywgMHgwZiwgMHhhNywgMHhiMywgMHg5MSwgMHhmZSwKKyAgMHg4NywgMHhiMCwgMHhkNywgMHgyZSwgMHgwMSwgMHg0YiwgMHg1NywgMHg3NiwgMHg0OCwgMHhjOSwgMHg0OCwgMHhhNiwKKyAgMHhjOCwgMHhjZSwgMHg5MSwgMHg0NCwgMHhiNiwgMHgyYywgMHhlYiwgMHg5YywgMHg3NSwgMHg0NiwgMHgyZSwgMHhlOCwKKyAgMHgzNSwgMHg5YywgMHhhYiwgMHhjMywgMHhiOCwgMHhmZSwgMHg4NSwgMHhlYiwgMHg2ZCwgMHhiOSwgMHg5NCwgMHgzMCwKKyAgMHgyOSwgMHhmMCwgMHhhOCwgMHhiMiwgMHhlYSwgMHg3MCwgMHhhMSwgMHhmYiwgMHhhNCwgMHg2YiwgMHg5NCwgMHgzMSwKKyAgMHhjOCwgMHgxYSwgMHg5NCwgMHg0NywgMHhmOSwgMHg2YiwgMHhmOCwgMHg4ZCwgMHg1OSwgMHg1NCwgMHg1YiwgMHhkOCwKKyAgMHg3ZiwgMHgxMiwgMHg1ZCwgMHhjNSwgMHg2YSwgMHgyMywgMHgyNCwgMHg5OSwgMHgxNSwgMHg3OSwgMHhkZiwgMHg0MSwKKyAgMHhlZiwgMHg2ZiwgMHg1OCwgMHg3NSwgMHg2OSwgMHg2MywgMHhmYiwgMHhlNywgMHg0OCwgMHhlNCwgMHgxOCwgMHg2ZCwKKyAgMHg0OCwgMHhkNiwgMHhiOCwgMHhjZiwgMHg0MCwgMHg4OCwgMHgyMCwgMHhlNSwgMHhjNywgMHg1YiwgMHhiNSwgMHg4MywKKyAgMHgzMywgMHhhNywgMHgxMiwgMHhkMywgMHg1OSwgMHg2MiwgMHg3ZCwgMHg1NywgMHhkYiwgMHg1MSwgMHhjYywgMHhjMywKKyAgMHhhZSwgMHg2NiwgMHg2YiwgMHg2NiwgMHhlYiwgMHg0YiwgMHg3MSwgMHg2NCwgMHgxMiwgMHhkYywgMHg3YiwgMHhkMywKKyAgMHgwOSwgMHgzNCwgMHhmMiwgMHg4MywgMHhlZCwgMHgzNSwgMHhjNCwgMHgzMSwgMHhiNywgMHhiMiwgMHhhMSwgMHgxNCwKKyAgMHg5ZCwgMHg4NSwgMHhkOSwgMHg0NywgMHhiMCwgMHgzNiwgMHg4NiwgMHhmZiwgMHg3NCwgMHg2YywgMHg1OCwgMHg5ZiwKKyAgMHg4ZSwgMHhmOCwgMHhiNywgMHgzMCwgMHg5YSwgMHg4NiwgMHhlZiwgMHhkNywgMHg4ZCwgMHhhNiwgMHhiNSwgMHhiNSwKKyAgMHg3NiwgMHgyOCwgMHhjNCwgMHhjOCwgMHhlZSwgMHhlMSwgMHgxYiwgMHg4NCwgMHhkMSwgMHgxNSwgMHhmZCwgMHhhMiwKKyAgMHhiMiwgMHhhNCwgMHg4NywgMHhjZCwgMHgxZiwgMHhiZSwgMHgwYywgMHg1OCwgMHgwZCwgMHhmNywgMHg1MiwgMHg4OCwKKyAgMHhjZiwgMHhmMCwgMHhlMiwgMHg5ZiwgMHg5NiwgMHhiMiwgMHg5OSwgMHgwNywgMHg3ZSwgMHg1YSwgMHgyYiwgMHgzZiwKKyAgMHhjMiwgMHhiMSwgMHhhOCwgMHhjZCwgMHg5MiwgMHgzYiwgMHgwNywgMHgxYSwgMHgyYiwgMHhhNSwgMHgxYywgMHg5MCwKKyAgMHg0YiwgMHhhZiwgMHgxMSwgMHgxNCwgMHgzNywgMHhlNywgMHg3MiwgMHgzNiwgMHg5ZSwgMHg5MSwgMHgwNCwgMHhmNSwKKyAgMHg4YSwgMHhkMCwgMHhlYSwgMHgyZiwgMHhlZSwgMHhkMywgMHg0YywgMHgxOCwgMHhkMSwgMHg4ZCwgMHg5ZCwgMHg2YSwKKyAgMHg3NiwgMHgzYywgMHg4MiwgMHg3OSwgMHg2ZCwgMHg3NywgMHhhOCwgMHhlYSwgMHg5OSwgMHg5NSwgMHg1ZCwgMHhhMiwKKyAgMHgzZiwgMHgyYiwgMHhmOSwgMHg2MSwgMHg3NywgMHg0ZSwgMHg2ZSwgMHg1MiwgMHgzZiwgMHg3MywgMHg1NiwgMHgzYywKKyAgMHhkZSwgMHg0MywgMHhlNiwgMHhmNCwgMHhmMywgMHhhNSwgMHg3NCwgMHg0NywgMHg0YywgMHg3NywgMHgwNSwgMHg3MywKKyAgMHg0YiwgMHhmMiwgMHgzZSwgMHg0NCwgMHg3NCwgMHhkZCwgMHgyMywgMHg5OCwgMHg1YiwgMHhiMiwgMHhmNywgMHhmZSwKKyAgMHgzYiwgMHhkYiwgMHgyNywgMHg5OCwgMHg3NywgMHg2MywgMHgwYywgMHg1MSwgMHhkMCwgMHhmNSwgMHhmNSwgMHg3ZiwKKyAgMHhhZiwgMHg5MSwgMHhhZCwgMHhjNCwgMHgwNSwgMHgwOSwgMHhlOCwgMHhkZCwgMHg0MiwgMHgxOSwgMHhhZSwgMHg5YywKKyAgMHgzMCwgMHhkNCwgMHhmNSwgMHhjZCwgMHg0NiwgMHhlYiwgMHhkNSwgMHg5MywgMHg3OCwgMHhlNSwgMHg4NiwgMHhmYSwKKyAgMHg5OCwgMHgzOCwgMHgwMSwgMHg1MCwgMHg1ZCwgMHg0NSwgMHhlYywgMHgyYiwgMHgxYSwgMHgyNSwgMHg1ZSwgMHgxMywKKyAgMHg5MiwgMHhmYiwgMHhjNCwgMHhjYiwgMHhiMywgMHhjNywgMHhmMSwgMHgzNSwgMHhkMCwgMHg4NCwgMHg3ZSwgMHhhMywKKyAgMHgzNSwgMHg4NCwgMHg3ZSwgMHhiMiwgMHg5MSwgMHg3MywgMHg3OSwgMHhkYywgMHhjZiwgMHgwMSwgMHhhNCwgMHhiZSwKKyAgMHg2NCwgMHgyMCwgMHg1ZCwgMHhiNSwgMHg2ZCwgMHg3MSwgMHg4NSwgMHgwNSwgMHg3NywgMHg2NywgMHhiYywgMHg2ZCwKKyAgMHgwYSwgMHgwMSwgMHhiMSwgMHhmZiwgMHhmYSwgMHgxZSwgMHgyMywgMHgxMCwgMHg4ZiwgMHg2YiwgMHhkYSwgMHgzZiwKKyAgMHgxNywgMHg2NiwgMHhiNywgMHgyNSwgMHg0NywgMHg3NCwgMHhjYiwgMHg0OCwgMHgyYywgMHg3YywgMHg0OCwgMHg5NywKKyAgMHg0YiwgMHg5MSwgMHg5ZCwgMHhmNywgMHg5MywgMHgzYywgMHgyMywgMHhhOCwgMHg3MiwgMHgwZiwgMHg3MSwgMHhlYSwKKyAgMHg2MiwgMHgzNywgMHhlMCwgMHhjNCwgMHhmNSwgMHhmMiwgMHhhMywgMHg0YiwgMHg4NSwgMHg0NywgMHgzYSwgMHgwNSwKKyAgMHhlMSwgMHg3OCwgMHhkYywgMHg0YiwgMHhmMiwgMHg3MywgMHhkYiwgMHgxZiwgMHg2YywgMHg2NywgMHgzYywgMHhmZSwKKyAgMHg2NiwgMHgyNywgMHg2YiwgMHhhNiwgMHgyYSwgMHhjNCwgMHg3NywgMHg1YywgMHhlNiwgMHhhNiwgMHhmNSwgMHg0OCwKKyAgMHhkYywgMHgzMywgMHgxYywgMHhkNCwgMHgwOCwgMHhmNCwgMHgxMywgMHgyNSwgMHhlMiwgMHhiNywgMHhhZSwgMHhmZSwKKyAgMHgwNywgMHhkMCwgMHgzZSwgMHgzNiwgMHhhMSwgMHg2ZCwgMHg5ZSwgMHhmZiwgMHhjYSwgMHhjYiwgMHgxNCwgMHgzYywKKyAgMHg3OCwgMHg1ZCwgMHg1ZCwgMHhjNywgMHhjYiwgMHg4MiwgMHg0OSwgMHg2ZiwgMHgzMSwgMHg3YSwgMHhiMywgMHhiMSwKKyAgMHhkYywgMHhlZiwgMHhiZiwgMHhkOSwgMHg2ZSwgMHg3MSwgMHhkMSwgMHhhNSwgMHg5MCwgMHhiMywgMHg4OSwgMHhiMiwKKyAgMHhiNSwgMHg1NiwgMHhjYiwgMHhkZiwgMHhmYywgMHgzYywgMHg1MSwgMHgyZSwgMHhlOCwgMHg3MiwgMHg0MCwgMHg5MCwKKyAgMHhkYiwgMHg3NiwgMHhmZiwgMHg4NCwgMHg5NywgMHhlNCwgMHhkNywgMHg2MSwgMHg2NSwgMHhlOSwgMHgwMSwgMHg0YywKKyAgMHhmNywgMHhjMSwgMHg1MywgMHg3ZSwgMHhmMCwgMHg4YywgMHhiOSwgMHg1YywgMHg1ZSwgMHhkNSwgMHgzNSwgMHg5YSwKKyAgMHgzMCwgMHhmYywgMHhmNSwgMHgxMiwgMHg3YSwgMHg5NCwgMHhkZSwgMHgwZCwgMHg5NywgMHg2MSwgMHg3YSwgMHg0MSwKKyAgMHhkNCwgMHhkZiwgMHhhOSwgMHgwOSwgMHg1NiwgMHg5YywgMHhiMSwgMHg5NCwgMHgwZCwgMHhlZCwgMHhiOCwgMHg5MiwKKyAgMHhiYiwgMHg1ZCwgMHg0YiwgMHg5YSwgMHhmNywgMHg2NSwgMHg3OSwgMHhlZiwgMHhlYywgMHg1MiwgMHg4MSwgMHhiYywKKyAgMHgyNywgMHhiMSwgMHhlMCwgMHg4NSwgMHgyMywgMHhhNiwgMHg0YSwgMHgzZiwgMHg1ZSwgMHhiZCwgMHg5NiwgMHgyMSwKKyAgMHg5ZCwgMHhmYiwgMHg4NiwgMHgyMywgMHg4NSwgMHg4ZiwgMHg2YiwgMHgxNCwgMHhhZiwgMHgyOSwgMHg5NywgMHhhNiwKKyAgMHhlNywgMHgyYywgMHhhYywgMHg5NSwgMHg3MiwgMHgxZiwgMHg3OSwgMHg1MCwgMHg4MiwgMHhjZCwgMHg3YywgMHg2ZSwKKyAgMHhhZCwgMHg5YSwgMHg3YiwgMHg0NSwgMHg5MiwgMHgxMSwgMHg2NywgMHg0YiwgMHhkZCwgMHgxZSwgMHhhMiwgMHgwYiwKKyAgMHg5MCwgMHgwOSwgMHg5MywgMHhlOSwgMHg0MCwgMHgyZiwgMHhjNiwgMHgyMCwgMHg3OSwgMHgzMCwgMHgyOSwgMHgwOCwKKyAgMHhmNCwgMHhiNSwgMHhhYSwgMHhkOCwgMHgwZSwgMHhjMiwgMHgxYiwgMHg4ZSwgMHg2YiwgMHg4MCwgMHhmOSwgMHhkMywKKyAgMHgyZiwgMHhkMywgMHhhOSwgMHgxYSwgMHhhYSwgMHhmNywgMHhjZCwgMHgyZSwgMHhlNSwgMHgzZSwgMHg5OCwgMHhlZCwKKyAgMHg0ZCwgMHhlMCwgMHgwYywgMHhiMCwgMHg5NiwgMHg0MiwgMHhjMSwgMHg4OSwgMHg2ZCwgMHgwZiwgMHhiMywgMHg0NCwKKyAgMHg3MywgMHhkYiwgMHhkMSwgMHhkZSwgMHhjNiwgMHhmNSwgMHhiZCwgMHhmZCwgMHhhYSwgMHg0NywgMHgwZiwgMHhiNywKKyAgMHhhNywgMHhhMiwgMHhlZSwgMHgwNSwgMHhjYywgMHgxNSwgMHgzMywgMHg3ZiwgMHhmOCwgMHhmNSwgMHhmOSwgMHgxNCwKKyAgMHgwYywgMHg1YywgMHg4YiwgMHg1ZSwgMHg0OCwgMHgyYiwgMHg3NSwgMHhkNywgMHg0NywgMHhiYSwgMHg1NSwgMHhhMCwKKyAgMHhkNiwgMHhlYiwgMHg4MSwgMHg4ZSwgMHgxZCwgMHgxNCwgMHg1NywgMHhiNCwgMHhhZiwgMHg1MSwgMHg5NywgMHg0MSwKKyAgMHg2OCwgMHgzZSwgMHhlZCwgMHhiYywgMHgyZSwgMHhlZiwgMHhkNywgMHgwMiwgMHhlNSwgMHgwNCwgMHhiYywgMHhhNiwKKyAgMHg2ZCwgMHhkNCwgMHhlOCwgMHg4MiwgMHgwNSwgMHhhYywgMHhiMSwgMHg4NSwgMHhlOCwgMHhlYSwgMHg3MCwgMHg0NCwKKyAgMHhlZSwgMHgwMSwgMHg1ZSwgMHg1NiwgMHg3MywgMHg4MCwgMHhmMSwgMHgxYiwgMHhjMywgMHhiYSwgMHg3OSwgMHg1YiwKKyAgMHg1MywgMHgwZiwgMHg3NywgMHhkOSwgMHg0MiwgMHgzNiwgMHgyMywgMHhlOSwgMHg5MiwgMHg1MywgMHhhMywgMHgxZiwKKyAgMHg0MiwgMHg0NCwgMHg2NCwgMHg0YiwgMHg0NiwgMHhlZSwgMHgyYSwgMHgxYSwgMHg4OCwgMHhhOCwgMHg1MSwgMHhlNiwKKyAgMHg0YywgMHgzZSwgMHg2NywgMHhhYywgMHg2NiwgMHgxYywgMHg5MiwgMHhhMywgMHhkNywgMHg1ZCwgMHgxZCwgMHgwZSwKKyAgMHg0YywgMHg2YSwgMHhkMiwgMHgyNywgMHg4NywgMHhmNywgMHg0NSwgMHgxZiwgMHgzNCwgMHg1MCwgMHg0MywgMHhjOSwKKyAgMHhiZiwgMHhjMCwgMHhkYiwgMHg5OCwgMHg0YiwgMHhiNiwgMHgzZCwgMHhiOCwgMHhhMSwgMHhmOCwgMHg1NywgMHg2YywKKyAgMHhjYiwgMHg4YiwgMHhmZCwgMHhmNSwgMHhjMywgMHg2OSwgMHhiMywgMHg5YywgMHg0ZiwgMHg4OCwgMHhmZiwgMHg3YiwKKyAgMHg5YiwgMHg5YSwgMHgzYiwgMHgxMCwgMHgyZCwgMHg4OCwgMHhhOSwgMHg1MywgMHg4OCwgMHgyMSwgMHgxYiwgMHhlZiwKKyAgMHg4NCwgMHg1ZiwgMHg5YywgMHgzOCwgMHg3ZSwgMHhiYiwgMHhlNSwgMHg3NiwgMHhiYiwgMHg0ZiwgMHg2MiwgMHhkZCwKKyAgMHg0NCwgMHhhYSwgMHg3ZiwgMHg4YywgMHg1NiwgMHg0ZiwgMHgwMSwgMHg3ZiwgMHg0OCwgMHgwYiwgMHg2MywgMHg1MSwKKyAgMHhhNywgMHg1YywgMHg2NSwgMHg1ZiwgMHgxOCwgMHg4NiwgMHhkMCwgMHg3MCwgMHhiYywgMHg0NSwgMHg2MiwgMHg1MywKKyAgMHgzNCwgMHgxNSwgMHg2YSwgMHg4MywgMHg4OCwgMHhhYSwgMHg1ZiwgMHgwNywgMHgyYywgMHgxYywgMHgyOSwgMHg4OCwKKyAgMHg5MSwgMHhmYSwgMHg2ZiwgMHg3YywgMHhjZCwgMHg3YSwgMHgxZiwgMHg2ZiwgMHg2NywgMHg5NywgMHhhMywgMHhiMiwKKyAgMHhjYSwgMHg0OSwgMHhkZSwgMHgyMCwgMHhkZiwgMHg1NywgMHg0NywgMHgyMywgMHhjMiwgMHgxZiwgMHg4MCwgMHg5YiwKKyAgMHg5MCwgMHhmNSwgMHgxOCwgMHgxYiwgMHg0ZSwgMHg2MiwgMHg4ZCwgMHg4OSwgMHg2MiwgMHgwNCwgMHhiNywgMHhjNywKKyAgMHg1ZCwgMHg4MCwgMHg1OCwgMHgxMSwgMHg4NiwgMHhiNCwgMHg2MywgMHhiYSwgMHhlNiwgMHhlYSwgMHhiMSwgMHhmNCwKKyAgMHgwMCwgMHg1YiwgMHgzZiwgMHg2NSwgMHg3YiwgMHg0ZCwgMHg2YiwgMHhkNiwgMHg4NiwgMHg1ZCwgMHhiMiwgMHg1YiwKKyAgMHgyYiwgMHgwNSwgMHhhNiwgMHg2ZiwgMHhiOCwgMHhhYSwgMHgzOCwgMHhmNCwgMHhhYywgMHhlNSwgMHg3NSwgMHhiZCwKKyAgMHhjMiwgMHg4MSwgMHhiZCwgMHgzZSwgMHgzZSwgMHgzOSwgMHhiMiwgMHhhOSwgMHhhOCwgMHhmZiwgMHg3MywgMHg2NywKKyAgMHg0NCwgMHgxYiwgMHg1ZSwgMHg0ZCwgMHg4MywgMHhhNCwgMHg0NywgMHhhZSwgMHhiZCwgMHhmNiwgMHgwYSwgMHhlOSwKKyAgMHhhNSwgMHgzOCwgMHhmYiwgMHhkYiwgMHgwMSwgMHhmNywgMHhlNSwgMHhjNSwgMHg4ZiwgMHg1YiwgMHg5NSwgMHhkOSwKKyAgMHg0NywgMHg2ZiwgMHhiZiwgMHgzYiwgMHg3ZSwgMHg3NywgMHhmYSwgMHhmNiwgMHhjZCwgMHhkMSwgMHhkYiwgMHhmMywKKyAgMHhjZiwgMHgzYywgMHg3NiwgMHgxNywgMHhlYiwgMHhiMCwgMHg1MiwgMHg4NywgMHgxOSwgMHgxNywgMHgzOSwgMHg0NSwKKyAgMHhjOCwgMHg2ZSwgMHg1MCwgMHhhMCwgMHhjYSwgMHg3ZCwgMHg4ZSwgMHhjYywgMHgzYSwgMHhlNSwgMHg1ZiwgMHgyMywKKyAgMHg3ZiwgMHgzOCwgMHhlZiwgMHgyMSwgMHgwZCwgMHg3NiwgMHg1MCwgMHgwMiwgMHhkMywgMHg5MiwgMHhkYywgMHg1NCwKKyAgMHgzMywgMHgwYSwgMHgzNCwgMHg4ZiwgMHgzOCwgMHgzYywgMHg2MiwgMHhmYiwgMHg5YSwgMHg1MywgMHgwOSwgMHhlYSwKKyAgMHgyZCwgMHg4MSwgMHhlYSwgMHgyMywgMHg4YiwgMHg5YiwgMHg3YSwgMHg1OCwgMHg3ZiwgMHg2NiwgMHhiNywgMHg4NCwKKyAgMHgwMywgMHhhMywgMHgyZSwgMHg1MiwgMHhkMSwgMHg5YSwgMHg4NCwgMHgyMywgMHhlZSwgMHhmNywgMHg1YywgMHhhMCwKKyAgMHgxYywgMHhlZiwgMHgxNiwgMHhhMywgMHg5OCwgMHg5MSwgMHg1MCwgMHgwNywgMHhmMCwgMHg1MSwgMHgwMCwgMHgzOCwKKyAgMHg2OCwgMHgzOCwgMHg0YSwgMHgxYywgMHgzNywgMHg3ZSwgMHgzYSwgMHg5MiwgMHg4NywgMHhkNiwgMHhlZCwgMHhiNSwKKyAgMHg2MCwgMHhlZiwgMHgyMiwgMHg3NCwgMHg3YiwgMHhhYiwgMHhmOCwgMHhhYiwgMHg3YSwgMHg4YiwgMHhmNiwgMHg3NywKKyAgMHg3NiwgMHg3ZSwgMHg3YSwgMHg0OSwgMHhjYSwgMHhlYSwgMHg5ZiwgMHhmZiwgMHhiYSwgMHg0ZiwgMHg1NCwgMHhmMCwKKyAgMHg1MywgMHg4OCwgMHgzNCwgMHg1YywgMHg3YiwgMHgxMywgMHgxMSwgMHg4ZSwgMHhlYiwgMHgxNSwgMHg4NiwgMHgxMiwKKyAgMHhkZCwgMHhkYSwgMHhlZCwgMHg4NCwgMHg1MywgMHhmYiwgMHhjMywgMHhkOSwgMHhiYiwgMHhkMywgMHgxZiwgMHhmZSwKKyAgMHhmMiwgMHgyYiwgMHg3ZiwgMHhjMiwgMHg0YiwgMHg0ZCwgMHhmYSwgMHgyYiwgMHgyNSwgMHhhZCwgMHhlYSwgMHhlMCwKKyAgMHgzZiwgMHhmZCwgMHhhMiwgMHhhZiwgMHhhZCwgMHhmZCwgMHg1YywgMHg3YiwgMHhmYywgMHg4MSwgMHg2NCwgMHgxZiwKKyAgMHhjOCwgMHgxYiwgMHg0MSwgMHgyZSwgMHgwMSwgMHg0MCwgMHgwZiwgMHhiOCwgMHgwMywgMHg5ZCwgMHg0MiwgMHgyMCwKKyAgMHgzOCwgMHgwZiwgMHg4NywgMHg0ZCwgMHgwMSwgMHg2NCwgMHhmOSwgMHg1NiwgMHhmYiwgMHhhOCwgMHg0ZSwgMHg3MCwKKyAgMHgyYSwgMHhhNSwgMHgyMSwgMHgyMCwgMHhmZCwgMHg4OCwgMHhlYiwgMHhkZCwgMHg1ZCwgMHgzMiwgMHg5OSwgMHhhMiwKKyAgMHgzMSwgMHgxMCwgMHhlMiwgMHgwMiwgMHg2MywgMHgzMiwgMHgyMCwgMHg4MSwgMHhkNywgMHhlZSwgMHhjNywgMHhjMSwKKyAgMHhjOSwgMHhjOSwgMHgyZiwgMHhkZiwgMHgwNCwgMHhkOSwgMHg4NSwgMHhjZSwgMHgzNiwgMHhhMCwgMHg4OSwgMHhiYSwKKyAgMHg1ZCwgMHhkMCwgMHhkMCwgMHhlYSwgMHhhOCwgMHg3YSwgMHgwNSwgMHhkNiwgMHgwMSwgMHgzZSwgMHhiZiwgMHgzZCwKKyAgMHg5NSwgMHhkOSwgMHhiYywgMHg4NCwgMHg3MiwgMHgzYywgMHhhYywgMHgzMywgMHhhMywgMHhkMiwgMHhhNiwgMHg5NCwKKyAgMHgwNCwgMHhhMSwgMHg4MCwgMHhmZiwgMHgzNCwgMHhiMSwgMHg3YSwgMHg4NywgMHhkMywgMHg2MCwgMHg4MywgMHg5NiwKKyAgMHhlOSwgMHhmZSwgMHg0MywgMHg5YywgMHgyMywgMHhjYiwgMHhmYiwgMHhjOSwgMHhmNSwgMHg4YywgMHhhOCwgMHgzOCwKKyAgMHgyOSwgMHgyZCwgMHg5YSwgMHgxNywgMHg2NSwgMHg2MiwgMHg3MSwgMHg0YSwgMHgyZSwgMHhmMywgMHhiYywgMHhiMCwKKyAgMHg1ZCwgMHgzYywgMHhhMywgMHhhYSwgMHg5MCwgMHhiYywgMHhhZCwgMHhmMiwgMHhmYSwgMHgyMywgMHhlYSwgMHg3MSwKKyAgMHhlOCwgMHg4NiwgMHg0MiwgMHg0MywgMHg1MiwgMHhkYywgMHgwYiwgMHg1MiwgMHg3OSwgMHgzMSwgMHhhNywgMHgxMSwKKyAgMHg0MywgMHhmMywgMHhiOCwgMHg1MiwgMHhjOCwgMHhiYywgMHg4ZSwgMHhjZCwgMHgwZSwgMHgzZCwgMHhlNiwgMHg1OCwKKyAgMHgxNCwgMHg5MywgMHgxYiwgMHg5NSwgMHg1ZCwgMHhlYSwgMHg2OSwgMHhhYiwgMHgyZSwgMHg0ZiwgMHg5YSwgMHgyNiwKKyAgMHg3MCwgMHg1MiwgMHg1OSwgMHg2ZCwgMHhmMSwgMHgzOSwgMHg2MiwgMHg3MCwgMHgwZSwgMHgwMywgMHgyZCwgMHg4NiwKKyAgMHhhNywgMHgwNywgMHhmOCwgMHhkMywgMHg0ZCwgMHg5ZCwgMHhjZCwgMHgyZiwgMHg3YSwgMHgzYSwgMHgwZCwgMHhmOSwKKyAgMHgwYywgMHhjMywgMHg3MSwgMHgwYywgMHgwNSwgMHhjNywgMHhhOCwgMHhiNSwgMHgyNywgMHg5YSwgMHgyMywgMHg3MCwKKyAgMHgwMiwgMHhiMSwgMHg0MSwgMHg5YywgMHgyNCwgMHhmNCwgMHhkNywgMHgwOSwgMHgyNSwgMHhiYSwgMHg4MiwgMHhmZCwKKyAgMHg1YiwgMHhkNywgMHg2ZiwgMHhjZiwgMHgwMiwgMHhmYywgMHg2YiwgMHg5MywgMHg1OCwgMHhmYSwgMHhiOCwgMHg5ZSwKKyAgMHhlZCwgMHgxNywgMHhiMywgMHhiMCwgMHhkNiwgMHhjZCwgMHhiMCwgMHgyNCwgMHgxZiwgMHhmNywgMHg0NiwgMHg3MywKKyAgMHg0MSwgMHg4NywgMHhiNywgMHg4OSwgMHgwMiwgMHhlZSwgMHhmMCwgMHg0OSwgMHhiNSwgMHg5ZSwgMHg5MSwgMHhkZiwKKyAgMHgzYywgMHg2NCwgMHgzOCwgMHgwNywgMHg1YSwgMHgwMSwgMHhiYSwgMHg0ZCwgMHgxYSwgMHg0YSwgMHgzYSwgMHg2ZSwKKyAgMHgxMiwgMHg4OSwgMHhkMywgMHgwOCwgMHhkMiwgMHgxNywgMHgyMCwgMHhhYSwgMHgyMiwgMHgyNSwgMHgyZSwgMHhkZSwKKyAgMHhjNCwgMHhjMywgMHg5MSwgMHgxZiwgMHgzMCwgMHhkMywgMHg0OCwgMHhiOCwgMHhkYywgMHgzYywgMHg0NiwgMHg0ZSwKKyAgMHg3OCwgMHgwNiwgMHg1ZiwgMHhmMiwgMHhjNywgMHhiMywgMHgxMywgMHgwNSwgMHg4MCwgMHgyZCwgMHhjZiwgMHg5MiwKKyAgMHhmNSwgMHgzOCwgMHg4NSwgMHhhMCwgMHhjYiwgMHg2MiwgMHgyMSwgMHhjNSwgMHg3OCwgMHg0NiwgMHgxNywgMHgwOCwKKyAgMHgwZSwgMHg3NSwgMHgzYywgMHhiOCwgMHgxMCwgMHg3MiwgMHgyMywgMHg1YSwgMHg5OCwgMHgwYiwgMHg1YSwgMHhmNSwKKyAgMHhlNSwgMHg4MiwgMHgxZCwgMHg4OCwgMHgxZCwgMHgwNSwgMHg2NSwgMHhkOCwgMHhjOCwgMHhhNCwgMHgxNiwgMHhlOCwKKyAgMHg1MSwgMHgwNCwgMHg3ZSwgMHg2YywgMHgwNiwgMHhhYywgMHg5NCwgMHgzOSwgMHhhMywgMHgzMCwgMHg3MiwgMHhhMiwKKyAgMHgwNSwgMHhlMiwgMHgxYSwgMHhhOSwgMHgyMywgMHgxOCwgMHg4OSwgMHg3OSwgMHg1OSwgMHhjNywgMHg2MCwgMHg2OCwKKyAgMHgyNywgMHg1NCwgMHg2NiwgMHg5MCwgMHhmOSwgMHg0ZCwgMHhiMSwgMHgwZSwgMHhjZCwgMHg0MiwgMHgzZiwgMHg4YywKKyAgMHhjNywgMHgyNywgMHgxZiwgMHhiZSwgMHgzYSwgMHgzOCwgMHhmYywgMHhmNiwgMHhlOCwgMHhlZCwgMHhhYiwgMHhlNCwKKyAgMHhhNSwgMHg5NywgMHhmMywgMHhmYywgMHhlNywgMHg0OCwgMHhjNSwgMHg3ZiwgMHgxNywgMHgwYSwgMHgzNiwgMHgyOCwKKyAgMHhiYywgMHhkOCwgMHhkMCwgMHg3NCwgMHhlYiwgMHg4ZCwgMHg4MSwgMHg0NSwgMHhhMywgMHhlMiwgMHgwMiwgMHhiZCwKKyAgMHhlZSwgMHg1NSwgMHhiZiwgMHhkMiwgMHg0MSwgMHg4NiwgMHhhNCwgMHhhMywgMHg3YiwgMHg0MywgMHhhMCwgMHgzMiwKKyAgMHgwMiwgMHg3OSwgMHhlOCwgMHhhNCwgMHg2ZCwgMHg3YSwgMHgxMywgMHgxYSwgMHhhOCwgMHgyYiwgMHg3MSwgMHg1ZCwKKyAgMHhmMSwgMHhhNiwgMHhiYiwgMHg2NCwgMHhhYSwgMHg2MSwgMHg2NCwgMHhkNiwgMHhkOSwgMHgwMywgMHhhNSwgMHg4MSwKKyAgMHhmYSwgMHhiZiwgMHg2YSwgMHhkNSwgMHgzOCwgMHhlNywgMHgwNCwgMHg1ZCwgMHhjNCwgMHhjZSwgMHhkOCwgMHhkOSwKKyAgMHhmNSwgMHhmMiwgMHhmNSwgMHg1NiwgMHhmZiwgMHgzNSwgMHg0ZCwgMHg5ZSwgMHgyMiwgMHg0MywgMHhmZSwgMHhlMywKKyAgMHgzNSwgMHhlYSwgMHhkMSwgMHgxNSwgMHhlMiwgMHg4NiwgMHgwZiwgMHgzZCwgMHg1NiwgMHgxZiwgMHg2NSwgMHg1ZSwKKyAgMHgyMCwgMHg4NiwgMHg5OCwgMHhiYSwgMHg2NSwgMHhhNywgMHg4MiwgMHhkNSwgMHg2NiwgMHhlNiwgMHgzMiwgMHhmMCwKKyAgMHgwMCwgMHg4MywgMHg1OCwgMHgxOCwgMHgzNSwgMHhlOSwgMHg5ZCwgMHhiZCwgMHhlYiwgMHg3MSwgMHhkYywgMHgxYywKKyAgMHg3NywgMHg5MCwgMHhmZiwgMHg3MSwgMHg3MiwgMHhmYSwgMHhmNSwgMHhhYiwgMHhlMywgMHg3NywgMHhjOSwgMHhjYiwKKyAgMHgzNiwgMHg4MiwgMHg1ZSwgMHhlNCwgMHgwOCwgMHg2MywgMHg5NSwgMHgzMywgMHhlZCwgMHhlMiwgMHg4YywgMHg4MSwKKyAgMHg4NSwgMHhlYiwgMHg2OSwgMHhiYSwgMHgyYywgMHgyYywgMHg2OCwgMHhlZiwgMHhhMiwgMHhmYywgMHg0YywgMHgxMiwKKyAgMHhjMywgMHgzOCwgMHhkOSwgMHhjMSwgMHhjZCwgMHhhMSwgMHhiMywgMHgyNCwgMHg3MywgMHg3MSwgMHg2NiwgMHhhYiwKKyAgMHg2OSwgMHg5NiwgMHhmYywgMHg3ZCwgMHg1ZSwgMHg1ZSwgMHhkNiwgMHhhMSwgMHhjNSwgMHhjZCwgMHgyZCwgMHhkNiwKKyAgMHhmNCwgMHhlNSwgMHg4MSwgMHhhOCwgMHg0OSwgMHgxNiwgMHhiZCwgMHhhZSwgMHhlNiwgMHg5ZCwgMHgyNSwgMHhjOSwKKyAgMHg4YywgMHg2NCwgMHg2MiwgMHg2NiwgMHgyYywgMHhjNiwgMHg0MCwgMHg2ZCwgMHhlMiwgMHhkOSwgMHg2MSwgMHg1ZSwKKyAgMHgzMCwgMHgzMiwgMHhhMSwgMHgyZSwgMHgzNCwgMHg1YiwgMHgyNCwgMHhjMSwgMHhhZiwgMHhiMiwgMHg1YiwgMHhlYSwKKyAgMHgwNiwgMHhmMiwgMHhhYSwgMHg0NCwgMHhlZiwgMHhiNiwgMHhjYywgMHhkYSwgMHg4NCwgMHhiNSwgMHhkNCwgMHg0OCwKKyAgMHgwOCwgMHhkNSwgMHgxOCwgMHhjNiwgMHgxMCwgMHhjMCwgMHhmYSwgMHhhNiwgMHgxMCwgMHgxYywgMHgyOCwgMHg5ZSwKKyAgMHgxOCwgMHgyNSwgMHhkZiwgMHhhMywgMHg2ZiwgMHgwNywgMHg3NiwgMHg2ZiwgMHg1MiwgMHg5YSwgMHgzZiwgMHhmZSwKKyAgMHhlMywgMHhmZCwgMHhmMSwgMHg2MSwgMHhhNCwgMHg1OCwgMHhjMCwgMHg1YywgMHg4NCwgMHg2ZiwgMHg4ZiwgMHhmZSwKKyAgMHg2MiwgMHgwZSwgMHg4NywgMHg5NCwgMHg2ZSwgMHg4NiwgMHg5MywgMHhlYywgMHgzYiwgMHgxOCwgMHhhMCwgMHgwMCwKKyAgMHg2NCwgMHg5MiwgMHhlNCwgMHhkOSwgMHhhNywgMHg2NywgMHhhNiwgMHg2ZSwgMHgzYiwgMHgwNiwgMHhmNiwgMHgzNiwKKyAgMHg4NiwgMHg5MCwgMHgyOSwgMHhiMCwgMHgzYSwgMHgwNCwgMHhmZSwgMHg3YiwgMHg1YSwgMHg5MSwgMHhmNiwgMHgwMCwKKyAgMHhjZiwgMHg4MiwgMHg5MSwgMHg1NCwgMHhkZSwgMHhhZSwgMHg0OCwgMHg1NSwgMHg2YSwgMHhkYSwgMHg0OCwgMHgyMiwKKyAgMHhmMiwgMHgxNSwgMHg4YSwgMHg2NywgMHhhOSwgMHhjNywgMHg3ZCwgMHgwNCwgMHhhZCwgMHg4YywgMHg2YiwgMHg5OSwKKyAgMHhiOCwgMHhjNCwgMHg5NCwgMHg2NCwgMHg3NCwgMHgzYSwgMHhiZiwgMHhmYiwgMHg0NywgMHg2NiwgMHg5YiwgMHg1NywKKyAgMHgzNCwgMHg1NSwgMHg3YSwgMHg0MSwgMHgwYSwgMHg0NywgMHg1ZSwgMHhhMCwgMHhiNCwgMHg5MywgMHg2ZCwgMHg3ZSwKKyAgMHgzZSwgMHgzZSwgMHg2YSwgMHgyZSwgMHhkOSwgMHhjZCwgMHgwZiwgMHgwNSwgMHgzOCwgMHgxMSwgMHg4NiwgMHg2MCwKKyAgMHg2ZiwgMHgzOSwgMHg2NSwgMHhmMCwgMHgyYiwgMHhkMiwgMHhkNiwgMHhmNywgMHgwNCwgMHg0ZCwgMHg3ZCwgMHg5NSwKKyAgMHg1NiwgMHgxZiwgMHhjNSwgMHg2NCwgMHhiZSwgMHg3MSwgMHgxYiwgMHhjZCwgMHhmOSwgMHhkNCwgMHhmMywgMHgxMCwKKyAgMHgxMiwgMHhmMCwgMHg0NiwgMHg3YiwgMHhlMywgMHhlOCwgMHgwMSwgMHhlYywgMHg2YiwgMHg4MywgMHg5MywgMHgwMSwKKyAgMHhhYSwgMHgyMywgMHgwZCwgMHgyNywgMHg5ZCwgMHgwZiwgMHg3YywgMHhmNCwgMHg3MSwgMHg2OSwgMHg3YSwgMHg2MiwKKyAgMHhmZSwgMHhmMiwgMHg3NiwgMHgzYywgMHg4ZSwgMHhkNCwgMHg0MCwgMHhkZiwgMHg5NCwgMHhmMywgMHgwYiwgMHhmMywKKyAgMHhhMCwgMHgzOSwgMHg0NywgMHhkNiwgMHg4ZCwgMHhjYywgMHg5ZiwgMHhlNywgMHhhNywgMHg4NywgMHhhNywgMHgyNywKKyAgMHhlNiwgMHgyZiwgMHg0NywgMHhhZiwgMHg4ZiwgMHg3ZiwgMHg3MCwgMHhlNiwgMHgxMywgMHgyMywgMHg2MCwgMHhiOSwKKyAgMHhmYSwgMHg2YiwgMHhjZSwgMHhiZCwgMHgwMiwgMHhiNiwgMHhmMywgMHhmMywgMHg0MSwgMHg0YiwgMHg2ZiwgMHhlNSwKKyAgMHgwNCwgMHhmNiwgMHgwMCwgMHg1YywgMHg5MSwgMHhiMywgMHhhNSwgMHgzZSwgMHg3MywgMHg5MiwgMHg0NSwgMHgxNSwKKyAgMHg0MiwgMHhjMCwgMHhkNywgMHhlNCwgMHhiNywgMHgzZSwgMHhjMCwgMHg5OSwgMHhjNywgMHgyZCwgMHg2NCwgMHg1NCwKKyAgMHg1YiwgMHgwMCwgMHhlMSwgMHgyOCwgMHhlZSwgMHhiOCwgMHhhNSwgMHgwYiwgMHhjMiwgMHgwNCwgMHhmNSwgMHg0ZCwKKyAgMHhhYywgMHhiNiwgMHgxNiwgMHhjOSwgMHg5MywgMHg0MiwgMHgwMiwgMHg1ZiwgMHhhZSwgMHg3OCwgMHg4MywgMHhmYywKKyAgMHg0MywgMHgxZCwgMHg0ZSwgMHhlYiwgMHg4NiwgMHhhNSwgMHg1MSwgMHgxZSwgMHg1ZCwgMHg3MiwgMHgwNywgMHgxMCwKKyAgMHg0ZiwgMHgwYywgMHg3YSwgMHhlMCwgMHgyZCwgMHg1MiwgMHgzZCwgMHgwMywgMHg4ZCwgMHgyMSwgMHg4MiwgMHg4NiwKKyAgMHhkNSwgMHgyZCwgMHhjOSwgMHgyYywgMHhmOSwgMHgyYywgMHgyZSwgMHgzYSwgMHg0OSwgMHg2NiwgMHhiYSwgMHhlMSwKKyAgMHhkYSwgMHg2YiwgMHg5MiwgMHgwZCwgMHg5MCwgMHgzNCwgMHg3MCwgMHgwNCwgMHhmZiwgMHhjOSwgMHhlMywgMHhlMSwKKyAgMHg2MSwgMHgwOCwgMHg4YSwgMHg1OCwgMHg4ZiwgMHg5NiwgMHhjNCwgMHg3MywgMHgyOSwgMHgyZSwgMHhmZCwgMHhjNywKKyAgMHg0ZCwgMHg0MiwgMHg3NSwgMHg0ZiwgMHhmYSwgMHhhYSwgMHg2ZCwgMHg0MCwgMHg4NywgMHhlZCwgMHhkMiwgMHhlOCwKKyAgMHhmZCwgMHgzMiwgMHhmNCwgMHg0MSwgMHhkMSwgMHgxOSwgMHg4OCwgMHg1NywgMHhhNCwgMHg2ZCwgMHg5YSwgMHhkNSwKKyAgMHg2YiwgMHgzZSwgMHgxZCwgMHg2ZSwgMHg0MCwgMHg1MCwgMHg4YiwgMHg0NiwgMHg0NSwgMHgxOCwgMHhmNSwgMHg5MywKKyAgMHg3NSwgMHg2MywgMHg5MCwgMHhlOSwgMHhmYywgMHhmNywgMHg1NSwgMHg3ZSwgMHg5ZCwgMHhhMiwgMHg3ZSwgMHhkYSwKKyAgMHg0OCwgMHhhOSwgMHhlMSwgMHg5MCwgMHg1ZiwgMHhlYSwgMHg4YywgMHg5MSwgMHhmZSwgMHhhMiwgMHg0MSwgMHhkMiwKKyAgMHhmNiwgMHgyOCwgMHg0ZiwgMHg3ZiwgMHhjOSwgMHgyMCwgMHg0ZiwgMHgzYiwgMHg2MywgMHg1YywgMHhmZCwgMHhhMiwKKyAgMHg0MSwgMHg4NiwgMHhhYSwgMHg0OSwgMHg3ZiwgMHhmNiwgMHhkOSwgMHhkMSwgMHgwZiwgMHhjNywgMHhlNywgMHhjOSwKKyAgMHhlMSwgMHhlOSwgMHgyYiwgMHg3NywgMHhjMSwgMHhjZSwgMHgyNSwgMHg5NywgMHg5YywgMHg0OCwgMHhjMCwgMHg4OCwKKyAgMHhhYywgMHhjMiwgMHhkMCwgMHgyMCwgMHg3NSwgMHg3OCwgMHhiNCwgMHhmZCwgMHhiMywgMHgzOCwgMHhjNywgMHg5ZCwKKyAgMHg3MiwgMHgzOCwgMHg2YSwgMHgyZCwgMHhjYiwgMHhjZSwgMHgyYiwgMHgwNiwgMHgzYiwgMHhhNCwgMHgwYywgMHgxMiwKKyAgMHhiOCwgMHhiOSwgMHgzZCwgMHgxYywgMHgwYSwgMHg3YSwgMHg3OCwgMHg0MSwgMHg0OCwgMHg4YSwgMHg5NywgMHg2YSwKKyAgMHhhOCwgMHhkMCwgMHg4ZCwgMHgyNCwgMHgzMCwgMHg1ZCwgMHgyMywgMHhlOCwgMHgwNSwgMHgzNiwgMHg2MSwgMHg5MiwKKyAgMHgxMiwgMHg1YSwgMHg2MiwgMHhjMSwgMHhmNSwgMHhmZiwgMHg1NCwgMHg3MiwgMHgxYiwgMHhmNiwgMHgzNiwgMHhkMCwKKyAgMHhlMSwgMHhmYywgMHgxNiwgMHgwNywgMHg0OSwgMHg3NiwgMHg5YiwgMHgzNywgMHgzYSwgMHgxMywgMHgzZiwgMHgwYiwKKyAgMHg3ZCwgMHg1NywgMHg0YiwgMHg2ZiwgMHg1YSwgMHg5NCwgMHgyZSwgMHgzZCwgMHg3MywgMHhjMSwgMHhlMywgMHg0OCwKKyAgMHgxNCwgMHhjZiwgMHg2YywgMHhiZiwgMHgwYywgMHg1MiwgMHg4YywgMHg4YSwgMHhiMiwgMHhhNSwgMHgxMiwgMHg0NSwKKyAgMHg0YywgMHgxYiwgMHgzYiwgMHg4NCwgMHhmZCwgMHhjZSwgMHg5ZSwgMHhjNCwgMHg1YywgMHhkMywgMHg3YywgMHhjZSwKKyAgMHhlZSwgMHg1NSwgMHhjOSwgMHg0OSwgMHhjZSwgMHhmZiwgMHhlMSwgMHg3OSwgMHgzMiwgMHgxZSwgMHg1YiwgMHhjMywKKyAgMHhkNSwgMHhhYywgMHg3YywgMHg4ZSwgMHhhNCwgMHg5OCwgMHgxOSwgMHhkZiwgMHg4OCwgMHhmYSwgMHhjZSwgMHg1OCwKKyAgMHgzZiwgMHhiNywgMHg1MCwgMHgwZCwgMHhjOCwgMHhjZCwgMHgyNCwgMHg3OCwgMHg5MSwgMHhlZSwgMHhjZCwgMHgyNywKKyAgMHg5YSwgMHhlYywgMHhhOSwgMHhiOCwgMHg5NCwgMHg2NSwgMHg2NSwgMHgxZCwgMHg3NywgMHhlYSwgMHhmMiwgMHg3NCwKKyAgMHhhZSwgMHg1ZCwgMHg0NSwgMHgwMSwgMHg1MSwgMHgxOSwgMHg5ZCwgMHgyMywgMHg2ZiwgMHgyMCwgMHhiYywgMHg1ZSwKKyAgMHg5MiwgMHhkYywgMHhhMSwgMHg1ZiwgMHg1NSwgMHg1NCwgMHgxMSwgMHg2OSwgMHhmMCwgMHhlMSwgMHgzNSwgMHgzZiwKKyAgMHhiNiwgMHg3MCwgMHg4MiwgMHhlNiwgMHg1MywgMHhkOCwgMHhhZiwgMHgyMSwgMHgzNywgMHg3ZSwgMHhlYywgMHgyOCwKKyAgMHhlMSwgMHgzZSwgMHhjYSwgMHg4MCwgMHgwYSwgMHhjZCwgMHg1OSwgMHg4OSwgMHgwZCwgMHgxYywgMHgwOCwgMHgyYSwKKyAgMHg1OCwgMHgzOSwgMHg0OSwgMHgwOSwgMHhkMCwgMHgwOCwgMHhmZCwgMHg5NiwgMHhkMywgMHg4MiwgMHhhYiwgMHhlOSwKKyAgMHhmNSwgMHgwNCwgMHhlMiwgMHg3NSwgMHhlNSwgMHhhZSwgMHg5YSwgMHhmNiwgMHhhOSwgMHhlOCwgMHhjZCwgMHg2YSwKKyAgMHhkYywgMHg2YSwgMHg1NSwgMHg3NCwgMHg2MiwgMHhlZCwgMHhkYSwgMHg3MywgMHgwYiwgMHhkOSwgMHgyNCwgMHhiZSwKKyAgMHgyMCwgMHhiMiwgMHgwMywgMHhhNiwgMHg1MCwgMHhkOCwgMHg2OSwgMHg4MSwgMHg5MywgMHg5OCwgMHg5ZiwgMHhiYiwKKyAgMHhlZSwgMHgwNCwgMHg4MywgMHg5ZSwgMHg3NSwgMHhiZSwgMHhhMiwgMHgxZiwgMHg2MSwgMHhjYywgMHg0OCwgMHhmNywKKyAgMHgwNSwgMHgzZiwgMHg3OCwgMHhhOSwgMHgzYiwgMHgyOCwgMHhjZiwgMHg3YSwgMHhhMywgMHgzZCwgMHhlZiwgMHhkMiwKKyAgMHg4NSwgMHgxNywgMHgwMiwgMHhjNSwgMHg4OCwgMHhmNiwgMHhjOSwgMHhjZiwgMHhjNSwgMHg2OSwgMHg5YiwgMHg1MSwKKyAgMHg2MSwgMHhiZSwgMHhiOCwgMHgxOCwgMHhhYSwgMHg2YywgMHgzOSwgMHgxNywgMHg5ZSwgMHgyOSwgMHgzZiwgMHg0MSwKKyAgMHg4ZSwgMHgwZCwgMHgxYywgMHhhZiwgMHhkOCwgMHhlNSwgMHhhOSwgMHhjZSwgMHhkMiwgMHhhOCwgMHhjYywgMHhiZSwKKyAgMHhjZiwgMHhlYywgMHg4NSwgMHg3YywgMHhkNiwgMHhmMCwgMHg1ZCwgMHgzNiwgMHhiMSwgMHgwOCwgMHg1OSwgMHgyYSwKKyAgMHhiNywgMHhkNCwgMHhjNiwgMHg2MywgMHhmMSwgMHg4ZiwgMHgyOCwgMHgzNSwgMHhkZSwgMHhjOCwgMHhhNiwgMHhkMiwKKyAgMHhmZSwgMHg1YiwgMHhkZiwgMHgwOCwgMHhhMSwgMHg3NCwgMHg1OSwgMHg3YywgMHgzOSwgMHhlNSwgMHgxYywgMHhlYiwKKyAgMHg1ZCwgMHg1NSwgMHgwYywgMHg0ZCwgMHhlMSwgMHgxNCwgMHg0ZiwgMHhlZCwgMHhlNywgMHhjMiwgMHgwYiwgMHhhZSwKKyAgMHgwOCwgMHhmNCwgMHg3NywgMHg5NCwgMHhiYywgMHgyOSwgMHgwMywgMHg3OCwgMHhlYiwgMHhmMiwgMHhhMiwgMHgxMSwKKyAgMHg3NCwgMHgxOSwgMHhjYSwgMHg2YSwgMHhlNywgMHhkZCwgMHgzMSwgMHg5NiwgMHhjNywgMHhhNSwgMHgyOCwgMHg1YiwKKyAgMHgxZSwgMHhmYSwgMHgzNSwgMHhiNywgMHhmZiwgMHgxNSwgMHg2MSwgMHg2OCwgMHhhZSwgMHgzYSwgMHhlYywgMHhiYywKKyAgMHgyMiwgMHgzMiwgMHhiYiwgMHg2ZSwgMHhjMywgMHg5NSwgMHhkZCwgMHg0NywgMHg3NiwgMHgxZiwgMHhhNCwgMHhiOSwKKyAgMHgyNywgMHg1MCwgMHg5MCwgMHg2OCwgMHgyMywgMHhiZSwgMHgwNywgMHhlNiwgMHhmMSwgMHg0ZCwgMHgwYSwgMHgyNiwKKyAgMHg2MiwgMHhhMSwgMHgwNSwgMHg5YywgMHg2ZiwgMHg0NywgMHgwZiwgMHg4YSwgMHhkNCwgMHg5YSwgMHhiMCwgMHhjNiwKKyAgMHgwNiwgMHg2OSwgMHg5YiwgMHgyOSwgMHg0NywgMHgxZiwgMHhiOCwgMHg0YSwgMHg4MCwgMHgyYiwgMHg3MSwgMHg0NSwKKyAgMHg1YSwgMHgwZCwgMHhlMCwgMHhhZiwgMHhiNCwgMHhlYywgMHg5MSwgMHhmMywgMHg1MSwgMHg2MCwgMHgyMSwgMHg1MSwKKyAgMHg1OSwgMHg2ZSwgMHg4ZiwgMHhlYiwgMHg5YSwgMHg4MCwgMHgzMSwgMHgzZCwgMHhiZCwgMHhkOSwgMHgwMSwgMHg2MywKKyAgMHg3OSwgMHhlYiwgMHhkOSwgMHg3NSwgMHhlYiwgMHhiOSwgMHgwMSwgMHhhNSwgMHg5YywgMHgxZCwgMHg4YywgMHhjNywKKyAgMHg0YSwgMHgyNywgMHg4NywgMHgyMSwgMHg0OSwgMHg0OCwgMHg3MCwgMHg4NywgMHgxMCwgMHg5YiwgMHgxNCwgMHg5NywKKyAgMHgzMSwgMHhiNCwgMHg2OCwgMHg2NCwgMHg4YywgMHg0ZSwgMHgzNiwgMHhkNiwgMHgyZSwgMHhmMywgMHhiNCwgMHg1NywKKyAgMHhjYywgMHg5OCwgMHhlMywgMHhjYiwgMHhiZCwgMHg2OSwgMHg2ZCwgMHgyMiwgMHg4NywgMHhmYSwgMHgzYSwgMHg0OCwKKyAgMHg1NywgMHg3MSwgMHhjMywgMHg4MCwgMHgxMywgMHgzYiwgMHg2OCwgMHg5YiwgMHgwMSwgMHhiOSwgMHhhMSwgMHgzYywKKyAgMHg5ZSwgMHg4YywgMHg2OCwgMHhjMywgMHg3NywgMHhmMiwgMHg1NiwgMHg5YiwgMHhlNSwgMHhkZCwgMHhjNywgMHg5MSwKKyAgMHg0NSwgMHg3ZiwgMHhjNywgMHhhYiwgMHgxYSwgMHhmYywgMHgyYiwgMHg4YiwgMHhmZSwgMHgyZSwgMHhiMiwgMHhlOCwKKyAgMHgyNywgMHhmNiwgMHg1YiwgMHhmYywgMHhhOSwgMHhiZCwgMHhiZCwgMHhlNywgMHg1MiwgMHg5MSwgMHhjNywgMHhjMSwKKyAgMHgwYywgMHgwMiwgMHhiNiwgMHhiMSwgMHgwYywgMHg4OCwgMHhiZiwgMHhjNiwgMHgyYiwgMHgzNiwgMHgwZiwgMHgwZSwKKyAgMHhiNSwgMHgyMSwgMHg0MywgMHg1MCwgMHgyMSwgMHhlNiwgMHgyZSwgMHhhZiwgMHhmNywgMHhhOSwgMHhhNywgMHg2ZSwKKyAgMHg1OSwgMHhjNiwgMHhmMCwgMHhhMSwgMHhmMSwgMHhjOCwgMHhmZCwgMHhjMSwgMHg3YywgMHgyNiwgMHg2MCwgMHgzZiwKKyAgMHhlYSwgMHhmNSwgMHgyMiwgMHg4NywgMHhjNSwgMHgwZCwgMHgyNSwgMHhjZSwgMHgzNiwgMHhmMSwgMHg1NCwgMHg0YywKKyAgMHg5ZCwgMHg4NiwgMHhmNywgMHg5ZCwgMHg2NywgMHhkNiwgMHhkZiwgMHhiYywgMHhiMywgMHhhNywgMHhiOSwgMHg0NiwKKyAgMHgwNywgMHhlMCwgMHhjNSwgMHhmMywgMHg2YywgMHgwMSwgMHhkMiwgMHg5YywgMHg2NSwgMHgwNCwgMHg0OCwgMHhlNywKKyAgMHg0MiwgMHgyNSwgMHgwYywgMHgzNywgMHg3MCwgMHg1MSwgMHhhNSwgMHg2OCwgMHhlNywgMHgzMCwgMHg0ZiwgMHhlZiwKKyAgMHgyMiwgMHg5OCwgMHg5OSwgMHgxMiwgMHg1MiwgMHg2MywgMHhiZiwgMHg4ZSwgMHhiOSwgMHg5ZiwgMHg5NywgMHg1OSwKKyAgMHg0MSwgMHgyZSwgMHgxNSwgMHgyOCwgMHgwMiwgMHg2MiwgMHhmZCwgMHg5MywgMHgwYiwgMHgwMSwgMHhlOSwgMHg0NSwKKyAgMHgxNywgMHgzNiwgMHhhNiwgMHgyNSwgMHg1ZiwgMHgwZCwgMHgyMCwgMHg2ZiwgMHg2YSwgMHhlOSwgMHhiOSwgMHhjYywKKyAgMHg3NywgMHg0NiwgMHhiNCwgMHg4NCwgMHgzOCwgMHhmOCwgMHhlYywgMHhlZSwgMHg3MywgMHhiYiwgMHg2ZiwgMHhmNiwKKyAgMHgyNCwgMHhjOCwgMHg3NiwgMHg2MywgMHgxYywgMHgyYywgMHg2ZiwgMHhlYiwgMHg5NCwgMHg5OSwgMHg2OCwgMHhlNCwKKyAgMHg1NCwgMHhkYSwgMHhmYSwgMHgyMSwgMHg5ZCwgMHgyMSwgMHgwZiwgMHhkZCwgMHg4YiwgMHg5NSwgMHhhNywgMHgyMCwKKyAgMHhlZSwgMHgzMiwgMHgzNywgMHgzZSwgMHgyMywgMHg1ZSwgMHgyNywgMHg4OCwgMHhmZSwgMHhhMywgMHhlNCwgMHgxNCwKKyAgMHhlMSwgMHg4YSwgMHg1NiwgMHgwZiwgMHgxMywgMHgzNiwgMHhkZSwgMHg1MiwgMHg1NywgMHhmNiwgMHhkZiwgMHgyNiwKKyAgMHhkYywgMHgxNywgMHhkZSwgMHgwOSwgMHhlYiwgMHhhYywgMHgzNCwgMHg0ZCwgMHg3MCwgMHg0NywgMHhkOCwgMHhhYywKKyAgMHg4MywgMHgxOSwgMHhkNCwgMHhhMCwgMHg1YywgMHg5NiwgMHhiYywgMHgzYiwgMHgzYSwgMHg3ZiwgMHg4NywgMHg4YywKKyAgMHgxOCwgMHg2MiwgMHgwMCwgMHg4MSwgMHhjOSwgMHg5NSwgMHg1NiwgMHhkYiwgMHgxNiwgMHgwOCwgMHg0ZiwgMHhiOCwKKyAgMHg5OSwgMHhkMywgMHg0MywgMHgxYywgMHg4MywgMHg2MCwgMHgxOCwgMHg1MiwgMHg3YiwgMHhkZSwgMHhmYywgMHg0ZiwKKyAgMHg3ZCwgMHg4ZiwgMHgyYiwgMHgyNywgMHgzMywgMHhhZCwgMHg1MywgMHg3NCwgMHhiMSwgMHhlZiwgMHgzNiwgMHg0MCwKKyAgMHhlYSwgMHhkZSwgMHg5ZSwgMHg0YiwgMHhkNywgMHhhNCwgMHhkNiwgMHhkNywgMHgyMiwgMHhlNSwgMHhhNCwgMHgwYSwKKyAgMHg2OSwgMHgyNCwgMHhiOSwgMHhmYSwgMHg1YSwgMHhiOSwgMHhhNywgMHhkZSwgMHgwZCwgMHg3YSwgMHg4OCwgMHhiMywKKyAgMHg4NSwgMHhjYiwgMHgyYSwgMHhhNiwgMHg3NywgMHhjOCwgMHhhNywgMHhhZCwgMHgwMiwgMHgyMCwgMHg5MywgMHhmMCwKKyAgMHg4YiwgMHhkYSwgMHhiOCwgMHgyOSwgMHhiYSwgMHhjNywgMHg0MSwgMHgxOSwgMHg5MywgMHhmZSwgMHhjOSwgMHhhMywKKyAgMHg0OCwgMHg1YiwgMHhhNiwgMHg3NCwgMHg2MiwgMHg5OCwgMHhhYSwgMHg2OCwgMHg3MywgMHg1MiwgMHgxMSwgMHg4YSwKKyAgMHg1NywgMHgzOCwgMHhiYywgMHgwNCwgMHhmNSwgMHhiMiwgMHgyNiwgMHg1YiwgMHg2MywgMHg3OCwgMHg0MSwgMHhmMSwKKyAgMHgxZSwgMHhkYSwgMHhiMSwgMHhkMCwgMHhhOCwgMHhkOCwgMHg2MywgMHgxZSwgMHhmMywgMHgzZCwgMHg0YSwgMHg1NCwKKyAgMHg2NSwgMHhjZiwgMHhkYSwgMHg5YywgMHg4NSwgMHhhYiwgMHg1NywgMHgyMSwgMHg3YSwgMHgyMSwgMHg5ZSwgMHhhNCwKKyAgMHhiNiwgMHgwNCwgMHg4ZSwgMHgwYiwgMHgwOSwgMHgxMywgMHgwNiwgMHgzMywgMHgwYiwgMHhmOCwgMHhmNywgMHhkZSwKKyAgMHhkMywgMHgwOCwgMHg0NSwgMHgyNCwgMHhlMywgMHhmMywgMHhkMywgMHg3NywgMHhkYSwgMHg0MywgMHgyMCwgMHg5NCwKKyAgMHhjZiwgMHg0OCwgMHgxMSwgMHhhMywgMHgyNywgMHgyYywgMHg5YywgMHhkOCwgMHgyMCwgMHg4NCwgMHg5NSwgMHg5YiwKKyAgMHg1OSwgMHgzYywgMHgwYiwgMHgwYiwgMHg5MywgMHhlZSwgMHg3ZCwgMHg5NSwgMHgzOSwgMHgwMCwgMHhmYSwgMHhmZiwKKyAgMHhjYSwgMHhkYSwgMHhiZSwgMHg5MywgMHgyYSwgMHg3ZSwgMHg2ZCwgMHgwOCwgMHhhMCwgMHhmNywgMHhkMiwgMHg3YiwKKyAgMHg4OSwgMHhhZiwgMHhkOSwgMHgyOSwgMHhkZiwgMHg1ZiwgMHhjNiwgMHg0NSwgMHgyMSwgMHgzYSwgMHgxMiwgMHg4NCwKKyAgMHgxNCwgMHg2YSwgMHgyOCwgMHgyMCwgMHg1NSwgMHgxMCwgMHhiNiwgMHgzOSwgMHg3OSwgMHg5NywgMHgxNiwgMHhmOSwKKyAgMHgxMiwgMHg5ZCwgMHhiYSwgMHg5ZSwgMHgwZiwgMHhjYywgMHhlMSwgMHg2NSwgMHg5MSwgMHhkNiwgMHgzMiwgMHhhNiwKKyAgMHgxZiwgMHgyMywgMHgwZCwgMHg5MSwgMHg3YiwgMHgyMiwgMHg0OCwgMHgwNiwgMHg2OCwgMHhjYSwgMHg0MSwgMHg4MywKKyAgMHg2OSwgMHhkMCwgMHgzNywgMHhhNiwgMHhhYywgMHg2NiwgMHg5MiwgMHhlNywgMHgyNywgMHg4MiwgMHg1MywgMHg4ZCwKKyAgMHgwNSwgMHhhNywgMHg2NywgMHg3YiwgMHg1MiwgMHhmZiwgMHhlYywgMHhmNCwgMHhkZCwgMHg3OSwgMHg2MiwgMHg4NSwKKyAgMHgzZSwgMHhiZSwgMHg4YywgMHgxZiwgMHg3NSwgMHgyZSwgMHgxMCwgMHhmNSwgMHg2NCwgMHg0MywgMHg3MCwgMHhjMywKKyAgMHg5NSwgMHhmYywgMHgwNSwgMHg5MSwgMHgxYiwgMHhiMSwgMHgwOSwgMHg5YSwgMHhjZSwgMHgxMCwgMHgwMywgMHg3NCwKKyAgMHgwOSwgMHg5ZSwgMHg5NSwgMHhlYywgMHg4MCwgMHg3NCwgMHg3OSwgMHgxYSwgMHg4MiwgMHg0NCwgMHgwOSwgMHgzOSwKKyAgMHhkMywgMHg4NywgMHg3ZSwgMHhlOSwgMHg5NCwgMHhkYiwgMHhjNywgMHhiYiwgMHgxMSwgMHhjYSwgMHgyMCwgMHgyYiwKKyAgMHhmYSwgMHhkZCwgMHhkMSwgMHhmOCwgMHg5YywgMHg3NywgMHg4YywgMHhmZSwgMHgxNiwgMHhjYywgMHg5YiwgMHgzMSwKKyAgMHgzNCwgMHhlNCwgMHg4NywgMHg4MSwgMHhhMSwgMHg2MiwgMHgyOSwgMHg4MywgMHgzMiwgMHg3NSwgMHhjOSwgMHg3ZCwKKyAgMHg0NywgMHhlMywgMHg1YiwgMHg4OCwgMHgxMiwgMHg2ZiwgMHhjNywgMHgxZSwgMHg3YiwgMHg2OSwgMHhkOSwgMHhlMCwKKyAgMHg5YSwgMHg0MiwgMHgyNywgMHhiOCwgMHhlMCwgMHhmOCwgMHhjMSwgMHg4NiwgMHg3YywgMHg2NCwgMHhjMywgMHgyOCwKKyAgMHg2NiwgMHgzMywgMHhlZCwgMHg0YywgMHhlYSwgMHg4ZCwgMHhmMCwgMHhjNCwgMHhlMywgMHgxNCwgMHgyNCwgMHhhNywKKyAgMHg2NCwgMHg4MCwgMHg2MywgMHhjNiwgMHg3MywgMHg5OSwgMHhlMywgMHg4NywgMHg0MywgMHgyNSwgMHgxNSwgMHgwOCwKKyAgMHgwYiwgMHgyNiwgMHgwYSwgMHg3ZSwgMHhjZSwgMHg4ZCwgMHhmMywgMHhkNCwgMHg4MiwgMHg0ZiwgMHhhOCwgMHhhYSwKKyAgMHhlMCwgMHg0ZCwgMHg4NSwgMHg3ZSwgMHhhYywgMHhhOSwgMHg5MSwgMHg1MCwgMHhkYiwgMHgzYSwgMHgyNCwgMHhmNywKKyAgMHg5OCwgMHgyOSwgMHhmZCwgMHgyYiwgMHg0MywgMHhlOCwgMHgzNiwgMHhiZCwgMHg5YiwgMHg5NywgMHhlZSwgMHhjYiwKKyAgMHgwNSwgMHhhMywgMHg2YiwgMHhlNSwgMHhjNSwgMHg4YSwgMHhmMSwgMHg5MSwgMHhkMywgMHg2YSwgMHg0ZSwgMHhiZCwKKyAgMHhhNCwgMHgwYywgMHgwZiwgMHhhOSwgMHhhNCwgMHhmOCwgMHhmOCwgMHhhNiwgMHg4OCwgMHhmNSwgMHhiZCwgMHhmMCwKKyAgMHhiZSwgMHgyMSwgMHhmMiwgMHg4NywgMHg5YywgMHg4YSwgMHg1MywgMHgyNywgMHhhNiwgMHhkMywgMHg5OSwgMHhkYywKKyAgMHg2MCwgMHhhNywgMHhlYiwgMHg5YiwgMHgwYiwgMHg1YiwgMHg1OCwgMHgzMSwgMHgzMSwgMHg0YSwgMHhjZSwgMHhiMiwKKyAgMHgwYSwgMHg0OCwgMHhmNywgMHg4NiwgMHg1NiwgMHhmZiwgMHhjZCwgMHg4ZCwgMHhjNiwgMHg5NywgMHgwNCwgMHhhMSwKKyAgMHg0YSwgMHgyMywgMHgzNiwgMHg2MSwgMHhhNiwgMHhlNCwgMHg4NSwgMHgzOSwgMHg1OCwgMHhmYywgMHg4NCwgMHhmZSwKKyAgMHhlYSwgMHgzNSwgMHg0ZCwgMHgwOSwgMHg5NiwgMHhmYiwgMHhjMiwgMHhiZCwgMHg1YywgMHg5YiwgMHhhNSwgMHgxOCwKKyAgMHgwMywgMHhiZCwgMHhmYiwgMHhjOCwgMHgxMywgMHhhMSwgMHgyYiwgMHg2MywgMHhiZCwgMHg2MywgMHgwOCwgMHhjYiwKKyAgMHg5YiwgMHhlOSwgMHgyZSwgMHg0YiwgMHgzNywgMHhiYSwgMHgxOSwgMHg4ZiwgMHg3MCwgMHhhMSwgMHhjZiwgMHhiNCwKKyAgMHg3OCwgMHhiOCwgMHgzNywgMHgxNCwgMHgwYiwgMHg4MywgMHg4MywgMHg4OSwgMHhlZCwgMHg1MCwgMHg0OCwgMHhmNSwKKyAgMHgxNCwgMHhhNCwgMHhjOCwgMHg5OSwgMHhiMSwgMHgwYSwgMHhlMiwgMHhiNCwgMHg3MywgMHg1YiwgMHg2MiwgMHg2NSwKKyAgMHhmMywgMHg2NSwgMHg4OCwgMHg1NywgMHg0ZSwgMHhmNCwgMHhkYSwgMHhkMCwgMHg0YSwgMHhiYSwgMHg5YiwgMHg5YiwKKyAgMHhiNiwgMHgwMywgMHhlZiwgMHg0ZiwgMHg5OCwgMHgxMiwgMHgyZCwgMHhkOSwgMHg1OCwgMHhmOSwgMHhkNSwgMHg5YSwKKyAgMHg5ZCwgMHgxNCwgMHg3MiwgMHgwOCwgMHhiMCwgMHgyYiwgMHgzOSwgMHgwZCwgMHgyOCwgMHg3MCwgMHg2YSwgMHgwNCwKKyAgMHhiYywgMHhhZiwgMHhmYywgMHgzZiwgMHg3OSwgMHhlYSwgMHg4NiwgMHhiYSwgMHgyMCwgMHgzYywgMHgwMCwgMHgzYiwKKyAgMHg5NiwgMHhlMywgMHgzZCwgMHhiNiwgMHg0ZCwgMHgxNSwgMHgwMywgMHgwZiwgMHhlMSwgMHgzMSwgMHhiMSwgMHgxOCwKKyAgMHhiMSwgMHgwNSwgMHg2MSwgMHhiNSwgMHg3ZiwgMHg1YiwgMHg2ZSwgMHgzYywgMHg3OSwgMHgyZSwgMHhhNiwgMHgyZiwKKyAgMHhkOSwgMHhiZSwgMHhjNSwgMHg5ZCwgMHgyYiwgMHhiOSwgMHgxYSwgMHg3MSwgMHhmYSwgMHgwZCwgMHhmYiwgMHhjZCwKKyAgMHhiOCwgMHgxMywgMHg5ZSwgMHhmYywgMHg0NiwgMHg4MCwgMHg4NiwgMHhhZiwgMHhjNCwgMHgyZiwgMHg0MywgMHhiZCwKKyAgMHgyZSwgMHgwMywgMHg1NCwgMHhlMSwgMHhkNSwgMHg0MiwgMHg4YSwgMHgxZCwgMHhiYywgMHgyZiwgMHg3ZCwgMHgyZSwKKyAgMHg5ZSwgMHgwYywgMHgyZSwgMHhhMSwgMHg1MSwgMHg4MCwgMHg0MSwgMHhjNywgMHg0NSwgMHg0YiwgMHhiNSwgMHg5OCwKKyAgMHgyZCwgMHgwNiwgMHg5NiwgMHgyMSwgMHgxZSwgMHgyNCwgMHhlMSwgMHhkNywgMHg1ZSwgMHg0ZiwgMHg5MiwgMHgwOCwKKyAgMHhmNCwgMHgzMywgMHg0NCwgMHhiMSwgMHhhOCwgMHhiYiwgMHhlYSwgMHg1NCwgMHgyOCwgMHgzZCwgMHg3OCwgMHg0NywKKyAgMHhkYSwgMHg3MCwgMHg3OSwgMHg4ZSwgMHg3ZiwgMHhhNSwgMHhlMCwgMHg1YiwgMHg2MSwgMHhlYywgMHhiMCwgMHhjYSwKKyAgMHhmZSwgMHgwNiwgMHg0NSwgMHg3MiwgMHg2NCwgMHg5YiwgMHhjZCwgMHg2YiwgMHhmMiwgMHg0ZCwgMHg1YSwgMHhhYywKKyAgMHg1MiwgMHhjZiwgMHg5NiwgMHg3ZiwgMHhmMiwgMHg0MiwgMHgzYywgMHg1NCwgMHhlMiwgMHgwNiwgMHhhMSwgMHhmYywKKyAgMHhhMywgMHgyMiwgMHg2YiwgMHg4MiwgMHgzYywgMHg4YywgMHhhNywgMHhiYiwgMHhkNiwgMHg1NywgMHg0OSwgMHhhNSwKKyAgMHgwNSwgMHg1MiwgMHhmZSwgMHhlNywgMHgxNywgMHgxOCwgMHg1MCwgMHg3ZiwgMHg4NSwgMHhmMSwgMHgzNywgMHhjOSwKKyAgMHg5YiwgMHg1NywgMHg0ZiwgMHgyOSwgMHhlZiwgMHhmMSwgMHgzMiwgMHhhYiwgMHg5NiwgMHgxNSwgMHhlNSwgMHhiYSwKKyAgMHgyYiwgMHgwZCwgMHg5ZiwgMHg3ZSwgMHhlYiwgMHgwZCwgMHhiNiwgMHhlNywgMHgxYywgMHg5ZiwgMHgyMiwgMHg2MiwKKyAgMHg3MywgMHhiOSwgMHhiZCwgMHg2NCwgMHgyYiwgMHg5OCwgMHhmMywgMHgyMywgMHhjYywgMHg4YywgMHg0YiwgMHg2ZCwKKyAgMHhkZiwgMHhjZCwgMHhkZSwgMHgyZiwgMHhlMCwgMHhjMywgMHgwOSwgMHgyMCwgMHgyMywgMHgyYiwgMHgyZCwgMHg5ZiwKKyAgMHg3NSwgMHhhYiwgMHg2NywgMHg1YSwgMHgwYywgMHhlYywgMHhlOSwgMHg2MywgMHhjNywgMHhjMCwgMHhhYSwgMHhiYiwKKyAgMHgyNSwgMHhkYywgMHhmNywgMHg5NywgMHg2NCwgMHgxNywgMHg0NCwgMHg2ZSwgMHhkNCwgMHg1MywgMHg2NiwgMHg5YSwKKyAgMHg4NywgMHg3YywgMHhlZiwgMHg0OSwgMHg4OSwgMHgwZCwgMHg1ZiwgMHg4MywgMHg3YSwgMHhkZSwgMHg4OSwgMHgzOCwKKyAgMHgzZCwgMHg3ZCwgMHhlYSwgMHg3YiwgMHgxNSwgMHg2YSwgMHg2OSwgMHhiZCwgMHhhYSwgMHhhZCwgMHgwNywgMHg0OCwKKyAgMHg0NywgMHhmMSwgMHg5ZSwgMHg3ZCwgMHg2NiwgMHg5ZiwgMHgyNSwgMHhjNywgMHgxMSwgMHhhMiwgMHgwNCwgMHhkYSwKKyAgMHgyMywgMHhiMSwgMHhlNywgMHgwZCwgMHg1MSwgMHg3ZSwgMHhkNSwgMHg0MCwgMHg1MCwgMHhmNywgMHgzZiwgMHg2YiwKKyAgMHgzYywgMHhkZSwgMHhkZSwgMHg3YiwgMHhhZiwgMHhiYywgMHg2OCwgMHgzYiwgMHg0ZCwgMHhkMCwgMHgzYywgMHhjOSwKKyAgMHg5MiwgMHgyNiwgMHgxNiwgMHg5NSwgMHgyZiwgMHhhZiwgMHhmYywgMHhjYiwgMHhmOSwgMHg4YywgMHg2NSwgMHhmNCwKKyAgMHgxOSwgMHhkNSwgMHg4YiwgMHhiNCwgMHhjZSwgMHg1MywgMHg5OSwgMHg2MCwgMHhlNiwgMHgyMywgMHhmMywgMHhlOCwKKyAgMHg1ZCwgMHg2NywgMHhkYSwgMHgzZiwgMHgzYywgMHhlOCwgMHhhYiwgMHhmZCwgMHgwNCwgMHhiNSwgMHg3YiwgMHgxZiwKKyAgMHhkOSwgMHg5NSwgMHgzYiwgMHg2MywgMHg5NiwgMHg1YywgMHg1ZSwgMHgxNiwgMHhmOSwgMHgzZiwgMHgxNCwgMHhmYSwKKyAgMHg4NiwgMHgwNCwgMHhiNCwgMHhmNiwgMHhiNywgMHhmNCwgMHgxZSwgMHhkZiwgMHgxMywgMHg4NiwgMHg3MSwgMHg5ZCwKKyAgMHhjZSwgMHg3MywgMHg2MSwgMHg4YSwgMHg5NCwgMHg2NSwgMHhlMiwgMHgxZSwgMHg3OCwgMHgyYywgMHg1NCwgMHhjYiwKKyAgMHhlZCwgMHg2OSwgMHhhMSwgMHhmZCwgMHg1MywgMHhiNSwgMHgxMiwgMHg3MiwgMHg5YywgMHhiMiwgMHg1NiwgMHhmZCwKKyAgMHhkMSwgMHhiMywgMHgyNywgMHhhMiwgMHg3MywgMHhhOSwgMHg3MiwgMHg0YywgMHg5MiwgMHg5NywgMHgzNiwgMHg2MiwKKyAgMHgwZSwgMHhkOCwgMHhlMSwgMHgyZSwgMHg5YiwgMHg3ZSwgMHgyNiwgMHg2MiwgMHg0ZiwgMHg4ZSwgMHhkMiwgMHhmNiwKKyAgMHhiOCwgMHhiNCwgMHhmZCwgMHg0MiwgMHhlOSwgMHhhZiwgMHgzNywgMHg3OSwgMHgyMSwgMHgzNSwgMHg0MSwgMHhjMSwKKyAgMHhlYiwgMHhjZiwgMHg3YSwgMHhkYywgMHg4ZiwgMHgzNSwgMHhjYiwgMHhjYywgMHgyMywgMHhkMCwgMHg5MiwgMHhmNywKKyAgMHhmYywgMHg3MywgMHg3YiwgMHgxMywgMHgzYywgMHgwMCwgMHg2YiwgMHgwNSwgMHhlYiwgMHgxZCwgMHhmOCwgMHhhMCwKKyAgMHhkYywgMHg3YSwgMHg5MSwgMHhjNCwgMHg3ZiwgMHhjMiwgMHg1NywgMHg2MCwgMHgxNiwgMHg2ZCwgMHgzOCwgMHg3OCwKKyAgMHg2MSwgMHgzZiwgMHgzZiwgMHgyZiwgMHgyZiwgMHgxMywgMHgxZiwgMHg1NywgMHhlZSwgMHgxOSwgMHg5MywgMHhkNCwKKyAgMHg2YiwgMHhjNCwgMHhjZiwgMHg5YywgMHg3NSwgMHg1MCwgMHgyNCwgMHhlNywgMHgxZSwgMHhjNCwgMHg4MiwgMHg3YiwKKyAgMHhmYSwgMHg4NSwgMHhkMCwgMHg4NiwgMHhjYSwgMHg0YiwgMHg2YiwgMHhhYywgMHhmNiwgMHhiZCwgMHhmMSwgMHhmYywKKyAgMHg5MSwgMHhhZiwgMHhhYywgMHhjZSwgMHgyOCwgMHg3ZCwgMHg4NSwgMHgyMSwgMHg2MCwgMHg3YSwgMHg1ZiwgMHg2MCwKKyAgMHhjYSwgMHgzOCwgMHgzNiwgMHg2MiwgMHhlNCwgMHhkMiwgMHgxMCwgMHgzNSwgMHg5ZSwgMHg3MSwgMHg3MCwgMHhiZCwKKyAgMHhlZSwgMHhiMSwgMHhiZCwgMHgxNiwgMHhkMywgMHgzZCwgMHhmNywgMHhkNSwgMHhhNywgMHhlNCwgMHhmOCwgMHg5NSwKKyAgMHhmNywgMHhlMCwgMHg2MywgMHhiNywgMHhjMCwgMHg3NCwgMHg0ZSwgMHhkYSwgMHhjMCwgMHgxZCwgMHgzYiwgMHhhYSwKKyAgMHhlYSwgMHg2NCwgMHg4YiwgMHhkZSwgMHhmMiwgMHgzMCwgMHgxNiwgMHg5ZiwgMHgzMywgMHg2NSwgMHhiYywgMHgyZCwKKyAgMHgzOSwgMHhlYywgMHg4NiwgMHhmZCwgMHgwZiwgMHg5ZSwgMHg2MSwgMHg3MiwgMHgzOCwgMHhiNCwgMHg0OCwgMHg4YSwKKyAgMHgwZSwgMHg0NSwgMHgzMSwgMHgzOCwgMHhmYiwgMHhlNywgMHhjZiwgMHhkNiwgMHgzYywgMHgyYiwgMHg0MiwgMHhiMywKKyAgMHhiNiwgMHhhMiwgMHhkZSwgMHg3YiwgMHhlZiwgMHg3OSwgMHg3OCwgMHhjZCwgMHhkNSwgMHgxYywgMHhkMCwgMHg3MiwKKyAgMHgyZSwgMHhiOSwgMHg2OSwgMHhjOSwgMHgxNiwgMHg0MSwgMHg2YiwgMHhmYywgMHg5YiwgMHg3YSwgMHgwNiwgMHgyYiwKKyAgMHhjMiwgMHhjYywgMHhhZCwgMHhmZiwgMHhjZCwgMHg5ZiwgMHhlZiwgMHhlNywgMHg3ZSwgMHhlOSwgMHgzNiwgMHhmYiwKKyAgMHgwNCwgMHhkMSwgMHgwMSwgMHg4MiwgMHg3MiwgMHgwMiwgMHhmZCwgMHg3ZSwgMHg1NCwgMHgyZSwgMHg5NSwgMHgxMiwKKyAgMHhiYiwgMHhlMywgMHg4ZCwgMHhjMCwgMHg2NywgMHg2ZSwgMHhmNCwgMHg4OCwgMHg1NSwgMHhlMSwgMHgzOCwgMHgwNywKKyAgMHgxYiwgMHg4MCwgMHg4MiwgMHg2MywgMHgzMywgMHhmMywgMHhiMSwgMHg5NSwgMHg4OSwgMHhlNywgMHg4YiwgMHgxNywKKyAgMHhjYSwgMHhmMywgMHhhMSwgMHgzZSwgMHhlYSwgMHg1YywgMHg4MywgMHhmYSwgMHg2YSwgMHhjNSwgMHgxNiwgMHhiNywKKyAgMHg1ZCwgMHg5MSwgMHg3MywgMHhiMCwgMHg3OSwgMHhhZiwgMHhlZCwgMHgzOSwgMHhlZSwgMHgyNSwgMHg2MiwgMHg5ZiwKKyAgMHgyYiwgMHhmMywgMHgwZSwgMHgyOSwgMHg1ZCwgMHg4NiwgMHhjZCwgMHg3MiwgMHhkYiwgMHhhNCwgMHgwOCwgMHhlZSwKKyAgMHhmMSwgMHhhYSwgMHg2NCwgMHg5ZiwgMHgyMSwgMHgwMSwgMHgzNSwgMHg2ZCwgMHhhNSwgMHhmMSwgMHgxYywgMHg3NiwKKyAgMHhhOSwgMHhiNiwgMHhmMSwgMHgzZSwgMHgyMywgMHhhYSwgMHgwZCwgMHhlNSwgMHg4MiwgMHgxMiwgMHg0YSwgMHg2NiwKKyAgMHgzNiwgMHhmZCwgMHhhOCwgMHg1NywgMHhjNiwgMHg4ZSwgMHgxMSwgMHg3OSwgMHhlYiwgMHg4OSwgMHhkZCwgMHg1YSwKKyAgMHhhMiwgMHhiZSwgMHhiMywgMHg3NywgMHg0NywgMHg1ZCwgMHgyMywgMHhjMCwgMHgzZCwgMHhjYSwgMHg1NCwgMHhmMywKKyAgMHhlZSwgMHg3YywgMHg3YywgMHhiNiwgMHg0ZiwgMHhmMywgMHhlNSwgMHhiMCwgMHhhMSwgMHhiOSwgMHgxMCwgMHg4NywKKyAgMHhlMywgMHhlYywgMHhlZiwgMHg1MiwgMHg1ZCwgMHg1YywgMHhiYiwgMHhhNywgMHg5ZiwgMHhmNSwgMHgzYywgMHgzZCwKKyAgMHgxNiwgMHhlNywgMHhkZSwgMHgzMSwgMHhiYSwgMHgxMSwgMHg5OCwgMHg3MywgMHhmMCwgMHg1ZiwgMHg2MiwgMHhhMiwKKyAgMHg1OSwgMHgxNSwgMHhlYSwgMHhkZiwgMHg2NywgMHgxNywgMHgxOCwgMHhjZCwgMHgwYywgMHhkYywgMHg5MCwgMHg3MiwKKyAgMHg3MCwgMHhkYywgMHhjMywgMHg5ZiwgMHgzYiwgMHg0ZiwgMHhjZCwgMHhkNSwgMHhhYSwgMHhmOCwgMHg2OCwgMHhmNSwKKyAgMHg0NSwgMHhjMSwgMHg4YSwgMHhkNSwgMHgwMywgMHg3NiwgMHgyZiwgMHhiYywgMHhkMCwgMHhhYiwgMHhlMSwgMHhmOSwKKyAgMHg0MSwgMHg2ZCwgMHg4MiwgMHhlOCwgMHg0MCwgMHgzYywgMHgxNCwgMHhlMiwgMHg3YSwgMHg5NCwgMHg3OCwgMHhhNywKKyAgMHhlMSwgMHhhZiwgMHgyYiwgMHg2ZiwgMHgwZiwgMHg1ZSwgMHgzYywgMHhiMiwgMHhlMiwgMHg1NywgMHgyMCwgMHhmMywKKyAgMHgzZSwgMHg2NiwgMHg3NywgMHg4ZSwgMHhlYSwgMHgzNCwgMHgxOSwgMHg2ZCwgMHg5OSwgMHgxNywgMHhlNCwgMHg4MiwKKyAgMHg3MCwgMHg4ZiwgMHhiOCwgMHgwMSwgMHg3NiwgMHg1YiwgMHg0MiwgMHhhMCwgMHhhYiwgMHg2ZSwgMHhkNCwgMHg0ZCwKKyAgMHhkYSwgMHhhYywgMHgzYywgMHgxMSwgMHhmMywgMHg4MiwgMHg2OSwgMHg2NywgMHg0YywgMHg1MSwgMHhjNywgMHg4NSwKKyAgMHhkMCwgMHg2YiwgMHg1ZSwgMHhhOCwgMHhiNywgMHhhZCwgMHhlMywgMHg0MiwgMHhkMywgMHg5NywgMHg3ZSwgMHhmOCwKKyAgMHg4MSwgMHhlNSwgMHgwOCwgMHgyNSwgMHgwYSwgMHhmOCwgMHg0MSwgMHgzNCwgMHhkYiwgMHg1ZCwgMHhkMiwgMHhmMCwKKyAgMHg1ZCwgMHgwNiwgMHhjOSwgMHhhNywgMHgyYiwgMHg4YywgMHg4MCwgMHg0ZiwgMHg5NSwgMHg1MSwgMHgwMywgMHg2YywKKyAgMHg0NSwgMHg0ZSwgMHhjMywgMHhlNSwgMHg4OSwgMHhhNSwgMHgxOSwgMHg5NSwgMHg4NSwgMHhjNCwgMHg2YywgMHgyOSwKKyAgMHhmZiwgMHhhNywgMHhlMSwgMHg4NiwgMHg0NCwgMHhkNywgMHhhMCwgMHgzNiwgMHgzMiwgMHhlMiwgMHhjYywgMHgwYywKKyAgMHgwZSwgMHhkZSwgMHg5ZiwgMHg3ZiwgMHg3MywgMHhmYSwgMHg2ZSwgMHg5YywgMHhlYywgMHgxMCwgMHgyYywgMHhjYSwKKyAgMHhmOSwgMHhiYiwgMHhlMywgMHhhZiwgMHhkZSwgMHg5ZiwgMHg5YiwgMHg3ZiwgMHhlYSwgMHg0OCwgMHhhZiwgMHhkMiwKKyAgMHgyMiwgMHgzNywgMHhkMiwgMHhjOSwgMHgyYywgMHgyNywgMHgyYiwgMHgwYywgMHhiMSwgMHg1YywgMHg2YSwgMHgxNywKKyAgMHg0OCwgMHg4NiwgMHhlNywgMHgzNywgMHhmMiwgMHhiOCwgMHhhYywgMHgxNCwgMHgwZCwgMHg4YiwgMHg5MiwgMHgxNiwKKyAgMHg0YSwgMHgzOSwgMHg3MSwgMHgwNiwgMHhhMCwgMHgyYywgMHgzOCwgMHgxNSwgMHhiYSwgMHg3NCwgMHg5NiwgMHg3MywKKyAgMHhkZSwgMHgwMSwgMHg3NCwgMHhkMSwgMHhmYywgMHhjNiwgMHhlNCwgMHhmYywgMHg5YiwgMHg4MywgMHhiNywgMHhkZiwKKyAgMHg4ZSwgMHhiNSwgMHg0NSwgMHhkOCwgMHhmNywgMHhkZiwgMHg3ZiwgMHhkZiwgMHgwZCwgMHhlZSwgMHg0MiwgMHg4ZiwKKyAgMHhiZCwgMHg0YSwgMHg2ZiwgMHg2ZiwgMHg0NywgMHg3NSwgMHhmNiwgMHhkOSwgMHg2NywgMHhlMywgMHhhMywgMHhhMywKKyAgMHhlNCwgMHhlMCwgMHg2NCwgMHg3YywgMHhmYSwgMHg5OSwgMHhjMywgMHgwMCwgMHhkYSwgMHhkYSwgMHhkZCwgMHgzNiwKKyAgMHg3YSwgMHhkYSwgMHg2NSwgMHhkNiwgMHg5OCwgMHhiZiwgMHg3YywgMHhmNiwgMHhkOSwgMHhmZiwgMHgwNywgMHgwOCwKKyAgMHhjNCwgMHg3MSwgMHg1MCwgMHhkNCwgMHhiMiwgMHgwMiwgMHgwMCwKIH07CiAjZGVmaW5lIEJVRl9TSVpFIDB4MTAwMDAKIHN0YXRpYyB2b2lkcGYgemFsbG9jX2Z1bmModm9pZHBmIG9wYXF1ZSwgdW5zaWduZWQgaW50IGl0ZW1zLCB1bnNpZ25lZCBpbnQgc2l6ZSkKZGlmZiAtLWdpdCBhL3NyYy90b29sX21haW4uYyBiL3NyYy90b29sX21haW4uYwppbmRleCAyNTA0Mjg5Li5jY2YwOThlIDEwMDY0NAotLS0gYS9zcmMvdG9vbF9tYWluLmMKKysrIGIvc3JjL3Rvb2xfbWFpbi5jCkBAIC0yNzMsMjIgKzI3MywyOCBAQAogLyoKICoqIGN1cmwgdG9vbCBtYWluIGZ1bmN0aW9uLgogKi8KKyNpZmRlZiBfVU5JQ09ERQoraW50IHdtYWluKGludCBhcmdjLCB3Y2hhcl90ICphcmd2W10pCisjZWxzZQogaW50IG1haW4oaW50IGFyZ2MsIGNoYXIgKmFyZ3ZbXSkKKyNlbmRpZgogewogICBDVVJMY29kZSByZXN1bHQgPSBDVVJMRV9PSzsKICAgc3RydWN0IEdsb2JhbENvbmZpZyBnbG9iYWw7CiAgIG1lbXNldCgmZ2xvYmFsLCAwLCBzaXplb2YoZ2xvYmFsKSk7CiAKICNpZmRlZiBXSU4zMgorI2lmZGVmIF90Y3NjbXAKICAgLyogVW5kb2N1bWVudGVkIGRpYWdub3N0aWMgb3B0aW9uIHRvIGxpc3QgdGhlIGZ1bGwgcGF0aHMgb2YgYWxsIGxvYWRlZAogICAgICBtb2R1bGVzLiBUaGlzIGlzIHB1cnBvc2VseSBwcmUtaW5pdC4gKi8KLSAgaWYoYXJnYyA9PSAyICYmICFzdHJjbXAoYXJndlsxXSwgIi0tZHVtcC1tb2R1bGUtcGF0aHMiKSkgeworICBpZihhcmdjID09IDIgJiYgIV90Y3NjbXAoYXJndlsxXSwgX1QoIi0tZHVtcC1tb2R1bGUtcGF0aHMiKSkpIHsKICAgICBzdHJ1Y3QgY3VybF9zbGlzdCAqaXRlbSwgKmhlYWQgPSBHZXRMb2FkZWRNb2R1bGVQYXRocygpOwogICAgIGZvcihpdGVtID0gaGVhZDsgaXRlbTsgaXRlbSA9IGl0ZW0tPm5leHQpCiAgICAgICBwcmludGYoIiVzXG4iLCBpdGVtLT5kYXRhKTsKICAgICBjdXJsX3NsaXN0X2ZyZWVfYWxsKGhlYWQpOwogICAgIHJldHVybiBoZWFkID8gMCA6IDE7CiAgIH0KKyNlbmRpZiAvKiBfdGNzY21wICovCiAgIC8qIHdpbjMyX2luaXQgbXVzdCBiZSBjYWxsZWQgYmVmb3JlIG90aGVyIGluaXQgcm91dGluZXMuICovCiAgIHJlc3VsdCA9IHdpbjMyX2luaXQoKTsKICAgaWYocmVzdWx0KSB7CmRpZmYgLS1naXQgYS9zcmMvdG9vbF9tZXRhbGluay5jIGIvc3JjL3Rvb2xfbWV0YWxpbmsuYwppbmRleCBmY2UxOGQ1Li4yYWQ3MTE1IDEwMDY0NAotLS0gYS9zcmMvdG9vbF9tZXRhbGluay5jCisrKyBiL3NyYy90b29sX21ldGFsaW5rLmMKQEAgLTM5OSw3ICszOTksNyBAQAogCiAjZW5kaWYgLyogQ1JZUFRPIExJQlMgKi8KIAotY29uc3QgZGlnZXN0X3BhcmFtcyBNRDVfRElHRVNUX1BBUkFNU1tdID0geworY29uc3Qgc3RydWN0IGRpZ2VzdF9wYXJhbXMgTUQ1X0RJR0VTVF9QQVJBTVNbXSA9IHsKICAgewogICAgIENVUkxYX0ZVTkNUSU9OX0NBU1QoZGlnZXN0X2luaXRfZnVuYywgTUQ1X0luaXQpLAogICAgIENVUkxYX0ZVTkNUSU9OX0NBU1QoZGlnZXN0X3VwZGF0ZV9mdW5jLCBNRDVfVXBkYXRlKSwKQEAgLTQwOSw3ICs0MDksNyBAQAogICB9CiB9OwogCi1jb25zdCBkaWdlc3RfcGFyYW1zIFNIQTFfRElHRVNUX1BBUkFNU1tdID0geworY29uc3Qgc3RydWN0IGRpZ2VzdF9wYXJhbXMgU0hBMV9ESUdFU1RfUEFSQU1TW10gPSB7CiAgIHsKICAgICBDVVJMWF9GVU5DVElPTl9DQVNUKGRpZ2VzdF9pbml0X2Z1bmMsIFNIQTFfSW5pdCksCiAgICAgQ1VSTFhfRlVOQ1RJT05fQ0FTVChkaWdlc3RfdXBkYXRlX2Z1bmMsIFNIQTFfVXBkYXRlKSwKQEAgLTQxOSw3ICs0MTksNyBAQAogICB9CiB9OwogCi1jb25zdCBkaWdlc3RfcGFyYW1zIFNIQTI1Nl9ESUdFU1RfUEFSQU1TW10gPSB7Citjb25zdCBzdHJ1Y3QgZGlnZXN0X3BhcmFtcyBTSEEyNTZfRElHRVNUX1BBUkFNU1tdID0gewogICB7CiAgICAgQ1VSTFhfRlVOQ1RJT05fQ0FTVChkaWdlc3RfaW5pdF9mdW5jLCBTSEEyNTZfSW5pdCksCiAgICAgQ1VSTFhfRlVOQ1RJT05fQ0FTVChkaWdlc3RfdXBkYXRlX2Z1bmMsIFNIQTI1Nl9VcGRhdGUpLApAQCAtNDI5LDE1ICs0MjksMTUgQEAKICAgfQogfTsKIAotc3RhdGljIGNvbnN0IG1ldGFsaW5rX2RpZ2VzdF9kZWYgU0hBMjU2X0RJR0VTVF9ERUZbXSA9IHsKK3N0YXRpYyBjb25zdCBzdHJ1Y3QgbWV0YWxpbmtfZGlnZXN0X2RlZiBTSEEyNTZfRElHRVNUX0RFRltdID0gewogICB7InNoYS0yNTYiLCBTSEEyNTZfRElHRVNUX1BBUkFNU30KIH07CiAKLXN0YXRpYyBjb25zdCBtZXRhbGlua19kaWdlc3RfZGVmIFNIQTFfRElHRVNUX0RFRltdID0geworc3RhdGljIGNvbnN0IHN0cnVjdCBtZXRhbGlua19kaWdlc3RfZGVmIFNIQTFfRElHRVNUX0RFRltdID0gewogICB7InNoYS0xIiwgU0hBMV9ESUdFU1RfUEFSQU1TfQogfTsKIAotc3RhdGljIGNvbnN0IG1ldGFsaW5rX2RpZ2VzdF9kZWYgTUQ1X0RJR0VTVF9ERUZbXSA9IHsKK3N0YXRpYyBjb25zdCBzdHJ1Y3QgbWV0YWxpbmtfZGlnZXN0X2RlZiBNRDVfRElHRVNUX0RFRltdID0gewogICB7Im1kNSIsIE1ENV9ESUdFU1RfUEFSQU1TfQogfTsKIApAQCAtNDQ4LDcgKzQ0OCw3IEBACiAgKiAiSGFzaCBGdW5jdGlvbiBUZXh0dWFsIE5hbWVzIi4gVGhlIGxhdHRlciBpcyB3aWRlbHkgKGFuZAogICogaGlzdG9yaWNhbGx5KSB1c2VkIGluIE1ldGFsaW5rIHZlcnNpb24gMy4KICAqLwotc3RhdGljIGNvbnN0IG1ldGFsaW5rX2RpZ2VzdF9hbGlhcyBkaWdlc3RfYWxpYXNlc1tdID0geworc3RhdGljIGNvbnN0IHN0cnVjdCBtZXRhbGlua19kaWdlc3RfYWxpYXMgZGlnZXN0X2FsaWFzZXNbXSA9IHsKICAgeyJzaGEtMjU2IiwgU0hBMjU2X0RJR0VTVF9ERUZ9LAogICB7InNoYTI1NiIsIFNIQTI1Nl9ESUdFU1RfREVGfSwKICAgeyJzaGEtMSIsIFNIQTFfRElHRVNUX0RFRn0sCkBAIC00NTcsMTMgKzQ1Nyw5IEBACiAgIHtOVUxMLCBOVUxMfQogfTsKIAotc3RhdGljIGRpZ2VzdF9jb250ZXh0ICpkaWdlc3RfaW5pdChjb25zdCBkaWdlc3RfcGFyYW1zICpkcGFyYW1zKQorc3RhdGljIHN0cnVjdCBkaWdlc3RfY29udGV4dCAqZGlnZXN0X2luaXQoY29uc3Qgc3RydWN0IGRpZ2VzdF9wYXJhbXMgKmRwYXJhbXMpCiB7Ci0gIGRpZ2VzdF9jb250ZXh0ICpjdHh0OwotCi0gIC8qIENyZWF0ZSBkaWdlc3QgY29udGV4dCAqLwotICBjdHh0ID0gbWFsbG9jKHNpemVvZigqY3R4dCkpOwotCisgIHN0cnVjdCBkaWdlc3RfY29udGV4dCAqY3R4dCA9IG1hbGxvYyhzaXplb2YoKmN0eHQpKTsKICAgaWYoIWN0eHQpCiAgICAgcmV0dXJuIGN0eHQ7CiAKQEAgLTQ4NSw3ICs0ODEsNyBAQAogICByZXR1cm4gY3R4dDsKIH0KIAotc3RhdGljIGludCBkaWdlc3RfdXBkYXRlKGRpZ2VzdF9jb250ZXh0ICpjb250ZXh0LAorc3RhdGljIGludCBkaWdlc3RfdXBkYXRlKHN0cnVjdCBkaWdlc3RfY29udGV4dCAqY29udGV4dCwKICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1bnNpZ25lZCBjaGFyICpkYXRhLAogICAgICAgICAgICAgICAgICAgICAgICAgIHVuc2lnbmVkIGludCBsZW4pCiB7CkBAIC00OTQsNyArNDkwLDcgQEAKICAgcmV0dXJuIDA7CiB9CiAKLXN0YXRpYyBpbnQgZGlnZXN0X2ZpbmFsKGRpZ2VzdF9jb250ZXh0ICpjb250ZXh0LCB1bnNpZ25lZCBjaGFyICpyZXN1bHQpCitzdGF0aWMgaW50IGRpZ2VzdF9maW5hbChzdHJ1Y3QgZGlnZXN0X2NvbnRleHQgKmNvbnRleHQsIHVuc2lnbmVkIGNoYXIgKnJlc3VsdCkKIHsKICAgaWYocmVzdWx0KQogICAgICgqY29udGV4dC0+ZGlnZXN0X2hhc2gtPmRpZ2VzdF9maW5hbCkocmVzdWx0LCBjb250ZXh0LT5kaWdlc3RfaGFzaGN0eCk7CkBAIC01MzEsMTEgKzUyNywxMSBAQAogICogICBIYXNoIGFsZ29yaXRobSBub3QgYXZhaWxhYmxlLgogICovCiBzdGF0aWMgaW50IGNoZWNrX2hhc2goY29uc3QgY2hhciAqZmlsZW5hbWUsCi0gICAgICAgICAgICAgICAgICAgICAgY29uc3QgbWV0YWxpbmtfZGlnZXN0X2RlZiAqZGlnZXN0X2RlZiwKKyAgICAgICAgICAgICAgICAgICAgICBjb25zdCBzdHJ1Y3QgbWV0YWxpbmtfZGlnZXN0X2RlZiAqZGlnZXN0X2RlZiwKICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1bnNpZ25lZCBjaGFyICpkaWdlc3QsIEZJTEUgKmVycm9yKQogewogICB1bnNpZ25lZCBjaGFyICpyZXN1bHQ7Ci0gIGRpZ2VzdF9jb250ZXh0ICpkY3R4OworICBzdHJ1Y3QgZGlnZXN0X2NvbnRleHQgKmRjdHg7CiAgIGludCBjaGVja19vaywgZmxhZ3MsIGZkOwogCiAgIGZsYWdzID0gT19SRE9OTFk7CkBAIC01OTcsNyArNTkzLDcgQEAKIH0KIAogaW50IG1ldGFsaW5rX2NoZWNrX2hhc2goc3RydWN0IEdsb2JhbENvbmZpZyAqY29uZmlnLAotICAgICAgICAgICAgICAgICAgICAgICAgbWV0YWxpbmtmaWxlICptbGZpbGUsCisgICAgICAgICAgICAgICAgICAgICAgICBzdHJ1Y3QgbWV0YWxpbmtmaWxlICptbGZpbGUsCiAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBjaGFyICpmaWxlbmFtZSkKIHsKICAgaW50IHJ2OwpAQCAtNjEyLDExICs2MDgsMTEgQEAKICAgcmV0dXJuIHJ2OwogfQogCi1zdGF0aWMgbWV0YWxpbmtfY2hlY2tzdW0gKgotY2hlY2tzdW1fZnJvbV9oZXhfZGlnZXN0KGNvbnN0IG1ldGFsaW5rX2RpZ2VzdF9kZWYgKmRpZ2VzdF9kZWYsCitzdGF0aWMgc3RydWN0IG1ldGFsaW5rX2NoZWNrc3VtICoKK2NoZWNrc3VtX2Zyb21faGV4X2RpZ2VzdChjb25zdCBzdHJ1Y3QgbWV0YWxpbmtfZGlnZXN0X2RlZiAqZGlnZXN0X2RlZiwKICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBjaGFyICpoZXhfZGlnZXN0KQogewotICBtZXRhbGlua19jaGVja3N1bSAqY2hrc3VtOworICBzdHJ1Y3QgbWV0YWxpbmtfY2hlY2tzdW0gKmNoa3N1bTsKICAgdW5zaWduZWQgY2hhciAqZGlnZXN0OwogICBzaXplX3QgaTsKICAgc2l6ZV90IGxlbiA9IHN0cmxlbihoZXhfZGlnZXN0KTsKQEAgLTYyNyw3ICs2MjMsNyBAQAogICBmb3IoaSA9IDA7IGkgPCBsZW47IGkgKz0gMikgewogICAgIGRpZ2VzdFtpLzJdID0gaGV4X3RvX3VpbnQoaGV4X2RpZ2VzdCArIGkpOwogICB9Ci0gIGNoa3N1bSA9IG1hbGxvYyhzaXplb2YobWV0YWxpbmtfY2hlY2tzdW0pKTsKKyAgY2hrc3VtID0gbWFsbG9jKHNpemVvZihzdHJ1Y3QgbWV0YWxpbmtfY2hlY2tzdW0pKTsKICAgaWYoY2hrc3VtKSB7CiAgICAgY2hrc3VtLT5kaWdlc3RfZGVmID0gZGlnZXN0X2RlZjsKICAgICBjaGtzdW0tPmRpZ2VzdCA9IGRpZ2VzdDsKQEAgLTYzNywxMCArNjMzLDkgQEAKICAgcmV0dXJuIGNoa3N1bTsKIH0KIAotc3RhdGljIG1ldGFsaW5rX3Jlc291cmNlICpuZXdfbWV0YWxpbmtfcmVzb3VyY2UoY29uc3QgY2hhciAqdXJsKQorc3RhdGljIHN0cnVjdCBtZXRhbGlua19yZXNvdXJjZSAqbmV3X21ldGFsaW5rX3Jlc291cmNlKGNvbnN0IGNoYXIgKnVybCkKIHsKLSAgbWV0YWxpbmtfcmVzb3VyY2UgKnJlczsKLSAgcmVzID0gbWFsbG9jKHNpemVvZihtZXRhbGlua19yZXNvdXJjZSkpOworICBzdHJ1Y3QgbWV0YWxpbmtfcmVzb3VyY2UgKnJlcyA9IG1hbGxvYyhzaXplb2Yoc3RydWN0IG1ldGFsaW5rX3Jlc291cmNlKSk7CiAgIGlmKHJlcykgewogICAgIHJlcy0+bmV4dCA9IE5VTEw7CiAgICAgcmVzLT51cmwgPSBzdHJkdXAodXJsKTsKQEAgLTY1Niw3ICs2NTEsNyBAQAogICAgbGV0dGVyIGlzIGluIFswLTlBLVphLXpdIGFuZCB0aGUgbGVuZ3RoIG9mIHRoZSBzdHJpbmcgZXF1YWxzIHRvIHRoZQogICAgcmVzdWx0IGxlbmd0aCBvZiBkaWdlc3QgKiAyLiAqLwogc3RhdGljIGludCBjaGVja19oZXhfZGlnZXN0KGNvbnN0IGNoYXIgKmhleF9kaWdlc3QsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgbWV0YWxpbmtfZGlnZXN0X2RlZiAqZGlnZXN0X2RlZikKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBzdHJ1Y3QgbWV0YWxpbmtfZGlnZXN0X2RlZiAqZGlnZXN0X2RlZikKIHsKICAgc2l6ZV90IGk7CiAgIGZvcihpID0gMDsgaGV4X2RpZ2VzdFtpXTsgKytpKSB7CkBAIC02NjksMTAgKzY2NCw5IEBACiAgIHJldHVybiBkaWdlc3RfZGVmLT5kcGFyYW1zLT5kaWdlc3RfcmVzdWx0bGVuICogMiA9PSBpOwogfQogCi1zdGF0aWMgbWV0YWxpbmtmaWxlICpuZXdfbWV0YWxpbmtmaWxlKG1ldGFsaW5rX2ZpbGVfdCAqZmlsZWluZm8pCitzdGF0aWMgc3RydWN0IG1ldGFsaW5rZmlsZSAqbmV3X21ldGFsaW5rZmlsZShtZXRhbGlua19maWxlX3QgKmZpbGVpbmZvKQogewotICBtZXRhbGlua2ZpbGUgKmY7Ci0gIGYgPSAobWV0YWxpbmtmaWxlKiltYWxsb2Moc2l6ZW9mKG1ldGFsaW5rZmlsZSkpOworICBzdHJ1Y3QgbWV0YWxpbmtmaWxlICpmID0gbWFsbG9jKHNpemVvZihzdHJ1Y3QgbWV0YWxpbmtmaWxlKSk7CiAgIGlmKCFmKQogICAgIHJldHVybiBOVUxMOwogCkBAIC02ODUsNyArNjc5LDcgQEAKICAgZi0+Y2hlY2tzdW0gPSBOVUxMOwogICBmLT5yZXNvdXJjZSA9IE5VTEw7CiAgIGlmKGZpbGVpbmZvLT5jaGVja3N1bXMpIHsKLSAgICBjb25zdCBtZXRhbGlua19kaWdlc3RfYWxpYXMgKmRpZ2VzdF9hbGlhczsKKyAgICBjb25zdCBzdHJ1Y3QgbWV0YWxpbmtfZGlnZXN0X2FsaWFzICpkaWdlc3RfYWxpYXM7CiAgICAgZm9yKGRpZ2VzdF9hbGlhcyA9IGRpZ2VzdF9hbGlhc2VzOyBkaWdlc3RfYWxpYXMtPmFsaWFzX25hbWU7CiAgICAgICAgICsrZGlnZXN0X2FsaWFzKSB7CiAgICAgICBtZXRhbGlua19jaGVja3N1bV90ICoqcDsKQEAgLTcwNSwxMSArNjk5LDExIEBACiAgIH0KICAgaWYoZmlsZWluZm8tPnJlc291cmNlcykgewogICAgIG1ldGFsaW5rX3Jlc291cmNlX3QgKipwOwotICAgIG1ldGFsaW5rX3Jlc291cmNlIHJvb3QsICp0YWlsOworICAgIHN0cnVjdCBtZXRhbGlua19yZXNvdXJjZSByb290LCAqdGFpbDsKICAgICByb290Lm5leHQgPSBOVUxMOwogICAgIHRhaWwgPSAmcm9vdDsKICAgICBmb3IocCA9IGZpbGVpbmZvLT5yZXNvdXJjZXM7ICpwOyArK3ApIHsKLSAgICAgIG1ldGFsaW5rX3Jlc291cmNlICpyZXM7CisgICAgICBzdHJ1Y3QgbWV0YWxpbmtfcmVzb3VyY2UgKnJlczsKICAgICAgIC8qIEZpbHRlciBieSB0eXBlIGlmIGl0IGlzIG5vbi1OVUxMLiBJbiBNZXRhbGluayB2MywgdHlwZQogICAgICAgICAgaW5jbHVkZXMgdGhlIHR5cGUgb2YgdGhlIHJlc291cmNlLiBJbiBjdXJsLCB3ZSBhcmUgb25seQogICAgICAgICAgaW50ZXJlc3RlZCBpbiBIVFRQLCBIVFRQUyBhbmQgRlRQLiBJbiBhZGRpdGlvbiB0byB0aGVtLApAQCAtNzk4LDcgKzc5Miw3IEBACiAgICAgICB1cmwgPSBuZXdfZ2V0b3V0KGNvbmZpZyk7CiAKICAgICBpZih1cmwpIHsKLSAgICAgIG1ldGFsaW5rZmlsZSAqbWxmaWxlID0gbmV3X21ldGFsaW5rZmlsZSgqZmlsZXMpOworICAgICAgc3RydWN0IG1ldGFsaW5rZmlsZSAqbWxmaWxlID0gbmV3X21ldGFsaW5rZmlsZSgqZmlsZXMpOwogICAgICAgaWYoIW1sZmlsZSkKICAgICAgICAgYnJlYWs7CiAKQEAgLTg3NiwyNCArODcwLDIzIEBACiAgIHJldHVybiBjaGVja19jb250ZW50X3R5cGUoY29udGVudF90eXBlLCAiYXBwbGljYXRpb24vbWV0YWxpbmsreG1sIik7CiB9CiAKLWludCBjb3VudF9uZXh0X21ldGFsaW5rX3Jlc291cmNlKG1ldGFsaW5rZmlsZSAqbWxmaWxlKQoraW50IGNvdW50X25leHRfbWV0YWxpbmtfcmVzb3VyY2Uoc3RydWN0IG1ldGFsaW5rZmlsZSAqbWxmaWxlKQogewogICBpbnQgY291bnQgPSAwOwotICBtZXRhbGlua19yZXNvdXJjZSAqcmVzOworICBzdHJ1Y3QgbWV0YWxpbmtfcmVzb3VyY2UgKnJlczsKICAgZm9yKHJlcyA9IG1sZmlsZS0+cmVzb3VyY2U7IHJlczsgcmVzID0gcmVzLT5uZXh0LCArK2NvdW50KTsKICAgcmV0dXJuIGNvdW50OwogfQogCi1zdGF0aWMgdm9pZCBkZWxldGVfbWV0YWxpbmtfY2hlY2tzdW0obWV0YWxpbmtfY2hlY2tzdW0gKmNoa3N1bSkKK3N0YXRpYyB2b2lkIGRlbGV0ZV9tZXRhbGlua19jaGVja3N1bShzdHJ1Y3QgbWV0YWxpbmtfY2hlY2tzdW0gKmNoa3N1bSkKIHsKLSAgaWYoY2hrc3VtID09IE5VTEwpIHsKKyAgaWYoIWNoa3N1bSkKICAgICByZXR1cm47Ci0gIH0KICAgQ3VybF9zYWZlZnJlZShjaGtzdW0tPmRpZ2VzdCk7CiAgIEN1cmxfc2FmZWZyZWUoY2hrc3VtKTsKIH0KIAotc3RhdGljIHZvaWQgZGVsZXRlX21ldGFsaW5rX3Jlc291cmNlKG1ldGFsaW5rX3Jlc291cmNlICpyZXMpCitzdGF0aWMgdm9pZCBkZWxldGVfbWV0YWxpbmtfcmVzb3VyY2Uoc3RydWN0IG1ldGFsaW5rX3Jlc291cmNlICpyZXMpCiB7CiAgIGlmKHJlcyA9PSBOVUxMKSB7CiAgICAgcmV0dXJuOwpAQCAtOTAyLDE2ICs4OTUsMTYgQEAKICAgQ3VybF9zYWZlZnJlZShyZXMpOwogfQogCi12b2lkIGRlbGV0ZV9tZXRhbGlua2ZpbGUobWV0YWxpbmtmaWxlICptbGZpbGUpCit2b2lkIGRlbGV0ZV9tZXRhbGlua2ZpbGUoc3RydWN0IG1ldGFsaW5rZmlsZSAqbWxmaWxlKQogewotICBtZXRhbGlua19yZXNvdXJjZSAqcmVzOworICBzdHJ1Y3QgbWV0YWxpbmtfcmVzb3VyY2UgKnJlczsKICAgaWYobWxmaWxlID09IE5VTEwpIHsKICAgICByZXR1cm47CiAgIH0KICAgQ3VybF9zYWZlZnJlZShtbGZpbGUtPmZpbGVuYW1lKTsKICAgZGVsZXRlX21ldGFsaW5rX2NoZWNrc3VtKG1sZmlsZS0+Y2hlY2tzdW0pOwogICBmb3IocmVzID0gbWxmaWxlLT5yZXNvdXJjZTsgcmVzOykgewotICAgIG1ldGFsaW5rX3Jlc291cmNlICpuZXh0OworICAgIHN0cnVjdCBtZXRhbGlua19yZXNvdXJjZSAqbmV4dDsKICAgICBuZXh0ID0gcmVzLT5uZXh0OwogICAgIGRlbGV0ZV9tZXRhbGlua19yZXNvdXJjZShyZXMpOwogICAgIHJlcyA9IG5leHQ7CkBAIC05MjMsNyArOTE2LDcgQEAKIHsKICAgaWYoY29uZmlnKSB7CiAgICAgd2hpbGUoY29uZmlnLT5tZXRhbGlua2ZpbGVfbGlzdCkgewotICAgICAgbWV0YWxpbmtmaWxlICptbGZpbGUgPSBjb25maWctPm1ldGFsaW5rZmlsZV9saXN0OworICAgICAgc3RydWN0IG1ldGFsaW5rZmlsZSAqbWxmaWxlID0gY29uZmlnLT5tZXRhbGlua2ZpbGVfbGlzdDsKICAgICAgIGNvbmZpZy0+bWV0YWxpbmtmaWxlX2xpc3QgPSBjb25maWctPm1ldGFsaW5rZmlsZV9saXN0LT5uZXh0OwogICAgICAgZGVsZXRlX21ldGFsaW5rZmlsZShtbGZpbGUpOwogICAgIH0KZGlmZiAtLWdpdCBhL3NyYy90b29sX21ldGFsaW5rLmggYi9zcmMvdG9vbF9tZXRhbGluay5oCmluZGV4IGRiMmY3MDIuLmFiZjc1ZGQgMTAwNjQ0Ci0tLSBhL3NyYy90b29sX21ldGFsaW5rLmgKKysrIGIvc3JjL3Rvb2xfbWV0YWxpbmsuaApAQCAtMzUsNDYgKzM1LDQ2IEBACiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVuc2lnbmVkIGludCBsZW4pOwogdHlwZWRlZiB2b2lkICgqZGlnZXN0X2ZpbmFsX2Z1bmMpKHVuc2lnbmVkIGNoYXIgKnJlc3VsdCwgdm9pZCAqY29udGV4dCk7CiAKLXR5cGVkZWYgc3RydWN0IHsKK3N0cnVjdCBkaWdlc3RfcGFyYW1zIHsKICAgZGlnZXN0X2luaXRfZnVuYyAgICAgZGlnZXN0X2luaXQ7ICAgLyogSW5pdGlhbGl6ZSBjb250ZXh0IHByb2NlZHVyZSAqLwogICBkaWdlc3RfdXBkYXRlX2Z1bmMgICBkaWdlc3RfdXBkYXRlOyAvKiBVcGRhdGUgY29udGV4dCB3aXRoIGRhdGEgKi8KICAgZGlnZXN0X2ZpbmFsX2Z1bmMgICAgZGlnZXN0X2ZpbmFsOyAgLyogR2V0IGZpbmFsIHJlc3VsdCBwcm9jZWR1cmUgKi8KICAgdW5zaWduZWQgaW50ICAgICAgICAgZGlnZXN0X2N0eHRzaXplOyAgLyogQ29udGV4dCBzdHJ1Y3R1cmUgc2l6ZSAqLwogICB1bnNpZ25lZCBpbnQgICAgICAgICBkaWdlc3RfcmVzdWx0bGVuOyAvKiBSZXN1bHQgbGVuZ3RoIChieXRlcykgKi8KLX0gZGlnZXN0X3BhcmFtczsKK307CiAKLXR5cGVkZWYgc3RydWN0IHsKLSAgY29uc3QgZGlnZXN0X3BhcmFtcyAgICpkaWdlc3RfaGFzaDsgICAgICAvKiBIYXNoIGZ1bmN0aW9uIGRlZmluaXRpb24gKi8KK3N0cnVjdCBkaWdlc3RfY29udGV4dCB7CisgIGNvbnN0IHN0cnVjdCBkaWdlc3RfcGFyYW1zICpkaWdlc3RfaGFzaDsgLyogSGFzaCBmdW5jdGlvbiBkZWZpbml0aW9uICovCiAgIHZvaWQgICAgICAgICAgICAgICAgICAqZGlnZXN0X2hhc2hjdHg7ICAgLyogSGFzaCBmdW5jdGlvbiBjb250ZXh0ICovCi19IGRpZ2VzdF9jb250ZXh0OworfTsKIAotdHlwZWRlZiBzdHJ1Y3Qgeworc3RydWN0IG1ldGFsaW5rX2RpZ2VzdF9kZWYgewogICBjb25zdCBjaGFyICpoYXNoX25hbWU7Ci0gIGNvbnN0IGRpZ2VzdF9wYXJhbXMgKmRwYXJhbXM7Ci19IG1ldGFsaW5rX2RpZ2VzdF9kZWY7CisgIGNvbnN0IHN0cnVjdCBkaWdlc3RfcGFyYW1zICpkcGFyYW1zOworfTsKIAotdHlwZWRlZiBzdHJ1Y3Qgeworc3RydWN0IG1ldGFsaW5rX2RpZ2VzdF9hbGlhcyB7CiAgIGNvbnN0IGNoYXIgKmFsaWFzX25hbWU7Ci0gIGNvbnN0IG1ldGFsaW5rX2RpZ2VzdF9kZWYgKmRpZ2VzdF9kZWY7Ci19IG1ldGFsaW5rX2RpZ2VzdF9hbGlhczsKKyAgY29uc3Qgc3RydWN0IG1ldGFsaW5rX2RpZ2VzdF9kZWYgKmRpZ2VzdF9kZWY7Cit9OwogCi10eXBlZGVmIHN0cnVjdCBtZXRhbGlua19jaGVja3N1bSB7Ci0gIGNvbnN0IG1ldGFsaW5rX2RpZ2VzdF9kZWYgKmRpZ2VzdF9kZWY7CitzdHJ1Y3QgbWV0YWxpbmtfY2hlY2tzdW0geworICBjb25zdCBzdHJ1Y3QgbWV0YWxpbmtfZGlnZXN0X2RlZiAqZGlnZXN0X2RlZjsKICAgLyogcmF3IGRpZ2VzdCB2YWx1ZSwgbm90IGFzY2lpIGhleCBkaWdlc3QgKi8KICAgdW5zaWduZWQgY2hhciAqZGlnZXN0OwotfSBtZXRhbGlua19jaGVja3N1bTsKK307CiAKLXR5cGVkZWYgc3RydWN0IG1ldGFsaW5rX3Jlc291cmNlIHsKK3N0cnVjdCBtZXRhbGlua19yZXNvdXJjZSB7CiAgIHN0cnVjdCBtZXRhbGlua19yZXNvdXJjZSAqbmV4dDsKICAgY2hhciAqdXJsOwotfSBtZXRhbGlua19yZXNvdXJjZTsKK307CiAKLXR5cGVkZWYgc3RydWN0IG1ldGFsaW5rZmlsZSB7CitzdHJ1Y3QgbWV0YWxpbmtmaWxlIHsKICAgc3RydWN0IG1ldGFsaW5rZmlsZSAqbmV4dDsKICAgY2hhciAqZmlsZW5hbWU7Ci0gIG1ldGFsaW5rX2NoZWNrc3VtICpjaGVja3N1bTsKLSAgbWV0YWxpbmtfcmVzb3VyY2UgKnJlc291cmNlOwotfSBtZXRhbGlua2ZpbGU7CisgIHN0cnVjdCBtZXRhbGlua19jaGVja3N1bSAqY2hlY2tzdW07CisgIHN0cnVjdCBtZXRhbGlua19yZXNvdXJjZSAqcmVzb3VyY2U7Cit9OwogCiAjaWZkZWYgVVNFX01FVEFMSU5LCiAKQEAgLTg5LDE4ICs4OSwxOCBAQAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKENVUkxfUkVRX0xJQk1FVEFMSU5LX01JTk9SICogMTAwKSArIFwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBDVVJMX1JFUV9MSUJNRVRBTElOS19QQVRDSCkKIAotZXh0ZXJuIGNvbnN0IGRpZ2VzdF9wYXJhbXMgTUQ1X0RJR0VTVF9QQVJBTVNbMV07Ci1leHRlcm4gY29uc3QgZGlnZXN0X3BhcmFtcyBTSEExX0RJR0VTVF9QQVJBTVNbMV07Ci1leHRlcm4gY29uc3QgZGlnZXN0X3BhcmFtcyBTSEEyNTZfRElHRVNUX1BBUkFNU1sxXTsKK2V4dGVybiBjb25zdCBzdHJ1Y3QgZGlnZXN0X3BhcmFtcyBNRDVfRElHRVNUX1BBUkFNU1sxXTsKK2V4dGVybiBjb25zdCBzdHJ1Y3QgZGlnZXN0X3BhcmFtcyBTSEExX0RJR0VTVF9QQVJBTVNbMV07CitleHRlcm4gY29uc3Qgc3RydWN0IGRpZ2VzdF9wYXJhbXMgU0hBMjU2X0RJR0VTVF9QQVJBTVNbMV07CiAKICNpbmNsdWRlIDxtZXRhbGluay9tZXRhbGluay5oPgogCiAvKgogICogQ291bnRzIHRoZSByZXNvdXJjZSBpbiB0aGUgbWV0YWxpbmtmaWxlLgogICovCi1pbnQgY291bnRfbmV4dF9tZXRhbGlua19yZXNvdXJjZShtZXRhbGlua2ZpbGUgKm1sZmlsZSk7CitpbnQgY291bnRfbmV4dF9tZXRhbGlua19yZXNvdXJjZShzdHJ1Y3QgbWV0YWxpbmtmaWxlICptbGZpbGUpOwogCi12b2lkIGRlbGV0ZV9tZXRhbGlua2ZpbGUobWV0YWxpbmtmaWxlICptbGZpbGUpOwordm9pZCBkZWxldGVfbWV0YWxpbmtmaWxlKHN0cnVjdCBtZXRhbGlua2ZpbGUgKm1sZmlsZSk7CiB2b2lkIGNsZWFuX21ldGFsaW5rKHN0cnVjdCBPcGVyYXRpb25Db25maWcgKmNvbmZpZyk7CiAKIC8qCkBAIC0xNDMsNyArMTQzLDcgQEAKICAqICAgTWV0YWxpbmsgZG9lcyBub3QgY29udGFpbiBjaGVja3N1bS4KICAqLwogaW50IG1ldGFsaW5rX2NoZWNrX2hhc2goc3RydWN0IEdsb2JhbENvbmZpZyAqY29uZmlnLAotICAgICAgICAgICAgICAgICAgICAgICAgbWV0YWxpbmtmaWxlICptbGZpbGUsCisgICAgICAgICAgICAgICAgICAgICAgICBzdHJ1Y3QgbWV0YWxpbmtmaWxlICptbGZpbGUsCiAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBjaGFyICpmaWxlbmFtZSk7CiAKIC8qCmRpZmYgLS1naXQgYS9zcmMvdG9vbF9vcGVyYXRlLmMgYi9zcmMvdG9vbF9vcGVyYXRlLmMKaW5kZXggZmE4YmU0NS4uMjlkYWZmMCAxMDA2NDQKLS0tIGEvc3JjL3Rvb2xfb3BlcmF0ZS5jCisrKyBiL3NyYy90b29sX29wZXJhdGUuYwpAQCAtNDI1LDEwICs0MjUsNiBAQAogICAgIG1ldGFsaW5rX3BhcnNlcl9jb250ZXh0X2RlbGV0ZShvdXRzLT5tZXRhbGlua19wYXJzZXIpOwogI2VuZGlmIC8qIFVTRV9NRVRBTElOSyAqLwogCi0gIGlmKG91dHMtPmlzX2NkX2ZpbGVuYW1lICYmIG91dHMtPnN0cmVhbSAmJiAhZ2xvYmFsLT5tdXRlICYmCi0gICAgIG91dHMtPmZpbGVuYW1lKQotICAgIHByaW50ZigiY3VybDogU2F2ZWQgdG8gZmlsZW5hbWUgJyVzJ1xuIiwgb3V0cy0+ZmlsZW5hbWUpOwotCiAgIC8qIGlmIHJldHJ5LW1heC10aW1lIGlzIG5vbi16ZXJvLCBtYWtlIHN1cmUgd2UgaGF2ZW4ndCBleGNlZWRlZCB0aGUKICAgICAgdGltZSAqLwogICBpZihwZXItPnJldHJ5X251bXJldHJpZXMgJiYKQEAgLTQzNywxMyArNDMzLDE0IEBACiAgICAgICAgY29uZmlnLT5yZXRyeV9tYXh0aW1lKjEwMDBMKSkgKSB7CiAgICAgZW51bSB7CiAgICAgICBSRVRSWV9OTywKKyAgICAgIFJFVFJZX0FMTF9FUlJPUlMsCiAgICAgICBSRVRSWV9USU1FT1VULAogICAgICAgUkVUUllfQ09OTlJFRlVTRUQsCiAgICAgICBSRVRSWV9IVFRQLAogICAgICAgUkVUUllfRlRQLAogICAgICAgUkVUUllfTEFTVCAvKiBub3QgdXNlZCAqLwogICAgIH0gcmV0cnkgPSBSRVRSWV9OTzsKLSAgICBsb25nIHJlc3BvbnNlOworICAgIGxvbmcgcmVzcG9uc2UgPSAwOwogICAgIGlmKChDVVJMRV9PUEVSQVRJT05fVElNRURPVVQgPT0gcmVzdWx0KSB8fAogICAgICAgIChDVVJMRV9DT1VMRE5UX1JFU09MVkVfSE9TVCA9PSByZXN1bHQpIHx8CiAgICAgICAgKENVUkxFX0NPVUxETlRfUkVTT0xWRV9QUk9YWSA9PSByZXN1bHQpIHx8CkBAIC00NTIsNyArNDQ5LDcgQEAKICAgICAgIHJldHJ5ID0gUkVUUllfVElNRU9VVDsKICAgICBlbHNlIGlmKGNvbmZpZy0+cmV0cnlfY29ubnJlZnVzZWQgJiYKICAgICAgICAgICAgIChDVVJMRV9DT1VMRE5UX0NPTk5FQ1QgPT0gcmVzdWx0KSkgewotICAgICAgbG9uZyBvc2Vycm5vOworICAgICAgbG9uZyBvc2Vycm5vID0gMDsKICAgICAgIGN1cmxfZWFzeV9nZXRpbmZvKGN1cmwsIENVUkxJTkZPX09TX0VSUk5PLCAmb3NlcnJubyk7CiAgICAgICBpZihFQ09OTlJFRlVTRUQgPT0gb3NlcnJubykKICAgICAgICAgcmV0cnkgPSBSRVRSWV9DT05OUkVGVVNFRDsKQEAgLTQ2Myw3ICs0NjAsNyBAQAogICAgICAgLyogSWYgaXQgcmV0dXJuZWQgT0suIF9vcl8gZmFpbG9uZXJyb3Igd2FzIGVuYWJsZWQgYW5kIGl0CiAgICAgICAgICByZXR1cm5lZCBkdWUgdG8gc3VjaCBhbiBlcnJvciwgY2hlY2sgZm9yIEhUVFAgdHJhbnNpZW50CiAgICAgICAgICBlcnJvcnMgdG8gcmV0cnkgb24uICovCi0gICAgICBsb25nIHByb3RvY29sOworICAgICAgbG9uZyBwcm90b2NvbCA9IDA7CiAgICAgICBjdXJsX2Vhc3lfZ2V0aW5mbyhjdXJsLCBDVVJMSU5GT19QUk9UT0NPTCwgJnByb3RvY29sKTsKICAgICAgIGlmKChwcm90b2NvbCA9PSBDVVJMUFJPVE9fSFRUUCkgfHwgKHByb3RvY29sID09IENVUkxQUk9UT19IVFRQUykpIHsKICAgICAgICAgLyogVGhpcyB3YXMgSFRUUChTKSAqLwpAQCAtNDkxLDcgKzQ4OCw3IEBACiAgICAgICB9CiAgICAgfSAvKiBpZiBDVVJMRV9PSyAqLwogICAgIGVsc2UgaWYocmVzdWx0KSB7Ci0gICAgICBsb25nIHByb3RvY29sOworICAgICAgbG9uZyBwcm90b2NvbCA9IDA7CiAKICAgICAgIGN1cmxfZWFzeV9nZXRpbmZvKGN1cmwsIENVUkxJTkZPX1JFU1BPTlNFX0NPREUsICZyZXNwb25zZSk7CiAgICAgICBjdXJsX2Vhc3lfZ2V0aW5mbyhjdXJsLCBDVVJMSU5GT19QUk9UT0NPTCwgJnByb3RvY29sKTsKQEAgLTUwNiwxMSArNTAzLDE1IEBACiAgICAgICAgIHJldHJ5ID0gUkVUUllfRlRQOwogICAgIH0KIAorICAgIGlmKHJlc3VsdCAmJiAhcmV0cnkgJiYgY29uZmlnLT5yZXRyeV9hbGxfZXJyb3JzKQorICAgICAgcmV0cnkgPSBSRVRSWV9BTExfRVJST1JTOworCiAgICAgaWYocmV0cnkpIHsKICAgICAgIGxvbmcgc2xlZXB0aW1lID0gMDsKICAgICAgIGN1cmxfb2ZmX3QgcmV0cnlfYWZ0ZXIgPSAwOwogICAgICAgc3RhdGljIGNvbnN0IGNoYXIgKiBjb25zdCBtW109ewogICAgICAgICBOVUxMLAorICAgICAgICAiKHJldHJ5aW5nIGFsbCBlcnJvcnMpIiwKICAgICAgICAgInRpbWVvdXQiLAogICAgICAgICAiY29ubmVjdGlvbiByZWZ1c2VkIiwKICAgICAgICAgIkhUVFAgZXJyb3IiLApAQCAtNTg0LDcgKzU4NSw3IEBACiAgIGVsc2UgaWYocGVyLT5tZXRhbGluaykgewogICAgIC8qIE1ldGFsaW5rOiBEZWNpZGUgdG8gdHJ5IHRoZSBuZXh0IHJlc291cmNlIG9yIG5vdC4gVHJ5IHRoZSBuZXh0IHJlc291cmNlCiAgICAgICAgaWYgZG93bmxvYWQgd2FzIG5vdCBzdWNjZXNzZnVsLiAqLwotICAgIGxvbmcgcmVzcG9uc2U7CisgICAgbG9uZyByZXNwb25zZSA9IDA7CiAgICAgaWYoQ1VSTEVfT0sgPT0gcmVzdWx0KSB7CiAgICAgICAvKiBUT0RPIFdlIHdhbnQgdG8gdHJ5IG5leHQgcmVzb3VyY2Ugd2hlbiBkb3dubG9hZCB3YXMKICAgICAgICAgIG5vdCBzdWNjZXNzZnVsLiBIb3cgdG8ga25vdyB0aGF0PyAqLwpAQCAtNjk0LDcgKzY5NSw3IEBACiB7CiAgIENVUkxjb2RlIHJlc3VsdCA9IENVUkxFX09LOwogICBzdHJ1Y3QgZ2V0b3V0ICp1cmxub2RlOwotICBtZXRhbGlua2ZpbGUgKm1sZmlsZV9sYXN0ID0gTlVMTDsKKyAgc3RydWN0IG1ldGFsaW5rZmlsZSAqbWxmaWxlX2xhc3QgPSBOVUxMOwogICBib29sIG9yaWdfbm9wcm9ncmVzcyA9IGdsb2JhbC0+bm9wcm9ncmVzczsKICAgYm9vbCBvcmlnX2lzYXR0eSA9IGdsb2JhbC0+aXNhdHR5OwogICBzdHJ1Y3QgU3RhdGUgKnN0YXRlID0gJmNvbmZpZy0+c3RhdGU7CkBAIC03MzUsMTAgKzczNiwxMCBAQAogCiAgIHdoaWxlKGNvbmZpZy0+c3RhdGUudXJsbm9kZSkgewogICAgIGNoYXIgKmluZmlsZXM7IC8qIG1pZ2h0IGJlIGEgZ2xvYiBwYXR0ZXJuICovCi0gICAgVVJMR2xvYiAqaW5nbG9iID0gc3RhdGUtPmluZ2xvYjsKKyAgICBzdHJ1Y3QgVVJMR2xvYiAqaW5nbG9iID0gc3RhdGUtPmluZ2xvYjsKICAgICBib29sIG1ldGFsaW5rID0gRkFMU0U7IC8qIG1ldGFsaW5rIGRvd25sb2FkPyAqLwotICAgIG1ldGFsaW5rZmlsZSAqbWxmaWxlOwotICAgIG1ldGFsaW5rX3Jlc291cmNlICptbHJlczsKKyAgICBzdHJ1Y3QgbWV0YWxpbmtmaWxlICptbGZpbGU7CisgICAgc3RydWN0IG1ldGFsaW5rX3Jlc291cmNlICptbHJlczsKIAogICAgIHVybG5vZGUgPSBjb25maWctPnN0YXRlLnVybG5vZGU7CiAgICAgaWYodXJsbm9kZS0+ZmxhZ3MgJiBHRVRPVVRfTUVUQUxJTkspIHsKQEAgLTE1NTEsMTEgKzE1NTIsOTAgQEAKICAgICAgICAgICAgIH0KICAgICAgICAgICB9CiAKKyAgICAgICAgICAvKiBJbiBkZWJ1ZyBidWlsZCBvZiBjdXJsIHRvb2wsIHVzaW5nCisgICAgICAgICAgICogICAgLS1jZXJ0IGxvYWRtZW09PGZpbGVuYW1lPjo8cGFzc3dvcmQ+IC0tY2VydC10eXBlIHAxMgorICAgICAgICAgICAqICBtdXN0IGRvIHRoZSBzYW1lIHRoaW5nIHRoYW4gY2xhc3NpYzoKKyAgICAgICAgICAgKiAgICAtLWNlcnQgPGZpbGVuYW1lPjo8cGFzc3dvcmQ+IC0tY2VydC10eXBlIHAxMgorICAgICAgICAgICAqICBidXQgaXMgZGVzaWduZWQgdG8gdGVzdCBibG9iICovCisjaWYgZGVmaW5lZChDVVJMREVCVUcpIHx8IGRlZmluZWQoREVCVUdCVUlMRCkKKyAgICAgICAgICBpZihjb25maWctPmNlcnQgJiYgKHN0cmxlbihjb25maWctPmNlcnQpID4gOCkgJiYKKyAgICAgICAgICAgICAobWVtY21wKGNvbmZpZy0+Y2VydCwgImxvYWRtZW09Iiw4KSA9PSAwKSkgeworICAgICAgICAgICAgRklMRSAqZkluQ2VydCA9IGZvcGVuKGNvbmZpZy0+Y2VydCArIDgsICJyYiIpOworICAgICAgICAgICAgdm9pZCAqY2VydGRhdGEgPSBOVUxMOworICAgICAgICAgICAgbG9uZyBmaWxlc2l6ZSA9IDA7CisgICAgICAgICAgICBib29sIGNvbnRpbnVlX3JlYWRpbmcgPSBmSW5DZXJ0ICE9IE5VTEw7CisgICAgICAgICAgICBpZihjb250aW51ZV9yZWFkaW5nKQorICAgICAgICAgICAgICBjb250aW51ZV9yZWFkaW5nID0gZnNlZWsoZkluQ2VydCwgMCwgU0VFS19FTkQpID09IDA7CisgICAgICAgICAgICBpZihjb250aW51ZV9yZWFkaW5nKQorICAgICAgICAgICAgICBmaWxlc2l6ZSA9IGZ0ZWxsKGZJbkNlcnQpOworICAgICAgICAgICAgaWYoZmlsZXNpemUgPCAwKQorICAgICAgICAgICAgICBjb250aW51ZV9yZWFkaW5nID0gRkFMU0U7CisgICAgICAgICAgICBpZihjb250aW51ZV9yZWFkaW5nKQorICAgICAgICAgICAgICBjb250aW51ZV9yZWFkaW5nID0gZnNlZWsoZkluQ2VydCwgMCwgU0VFS19TRVQpID09IDA7CisgICAgICAgICAgICBpZihjb250aW51ZV9yZWFkaW5nKQorICAgICAgICAgICAgICBjZXJ0ZGF0YSA9IG1hbGxvYygoKHNpemVfdClmaWxlc2l6ZSkgKyAxKTsKKyAgICAgICAgICAgIGlmKCghY2VydGRhdGEpIHx8CisgICAgICAgICAgICAgICAgKChpbnQpZnJlYWQoY2VydGRhdGEsIChzaXplX3QpZmlsZXNpemUsIDEsIGZJbkNlcnQpICE9IDEpKQorICAgICAgICAgICAgICBjb250aW51ZV9yZWFkaW5nID0gRkFMU0U7CisgICAgICAgICAgICBpZihmSW5DZXJ0KQorICAgICAgICAgICAgICBmY2xvc2UoZkluQ2VydCk7CisgICAgICAgICAgICBpZigoZmlsZXNpemUgPiAwKSAmJiBjb250aW51ZV9yZWFkaW5nKSB7CisgICAgICAgICAgICAgIHN0cnVjdCBjdXJsX2Jsb2Igc3RydWN0YmxvYjsKKyAgICAgICAgICAgICAgc3RydWN0YmxvYi5kYXRhID0gY2VydGRhdGE7CisgICAgICAgICAgICAgIHN0cnVjdGJsb2IubGVuID0gKHNpemVfdClmaWxlc2l6ZTsKKyAgICAgICAgICAgICAgc3RydWN0YmxvYi5mbGFncyA9IENVUkxfQkxPQl9DT1BZOworICAgICAgICAgICAgICBteV9zZXRvcHRfc3RyKGN1cmwsIENVUkxPUFRfU1NMQ0VSVF9CTE9CLCAmc3RydWN0YmxvYik7CisgICAgICAgICAgICAgIC8qIGlmIHRlc3QgcnVuIHdlbGwsIHdlIGFyZSBzdXJlIHdlIGRvbid0IHJldXNlCisgICAgICAgICAgICAgICAqIG9yaWdpbmFsIG1lbSBwb2ludGVyICovCisgICAgICAgICAgICAgIG1lbXNldChjZXJ0ZGF0YSwgMCwgKHNpemVfdClmaWxlc2l6ZSk7CisgICAgICAgICAgICB9CisgICAgICAgICAgICBmcmVlKGNlcnRkYXRhKTsKKyAgICAgICAgICB9CisgICAgICAgICAgZWxzZQorI2VuZGlmCiAgICAgICAgICAgbXlfc2V0b3B0X3N0cihjdXJsLCBDVVJMT1BUX1NTTENFUlQsIGNvbmZpZy0+Y2VydCk7CiAgICAgICAgICAgbXlfc2V0b3B0X3N0cihjdXJsLCBDVVJMT1BUX1BST1hZX1NTTENFUlQsIGNvbmZpZy0+cHJveHlfY2VydCk7CiAgICAgICAgICAgbXlfc2V0b3B0X3N0cihjdXJsLCBDVVJMT1BUX1NTTENFUlRUWVBFLCBjb25maWctPmNlcnRfdHlwZSk7CiAgICAgICAgICAgbXlfc2V0b3B0X3N0cihjdXJsLCBDVVJMT1BUX1BST1hZX1NTTENFUlRUWVBFLAogICAgICAgICAgICAgICAgICAgICAgICAgY29uZmlnLT5wcm94eV9jZXJ0X3R5cGUpOworCisKKyNpZiBkZWZpbmVkKENVUkxERUJVRykgfHwgZGVmaW5lZChERUJVR0JVSUxEKQorICAgICAgICAgIGlmKGNvbmZpZy0+a2V5ICYmIChzdHJsZW4oY29uZmlnLT5rZXkpID4gOCkgJiYKKyAgICAgICAgICAgICAobWVtY21wKGNvbmZpZy0+a2V5LCAibG9hZG1lbT0iLDgpID09IDApKSB7CisgICAgICAgICAgICBGSUxFICpmSW5DZXJ0ID0gZm9wZW4oY29uZmlnLT5rZXkgKyA4LCAicmIiKTsKKyAgICAgICAgICAgIHZvaWQgKmNlcnRkYXRhID0gTlVMTDsKKyAgICAgICAgICAgIGxvbmcgZmlsZXNpemUgPSAwOworICAgICAgICAgICAgYm9vbCBjb250aW51ZV9yZWFkaW5nID0gZkluQ2VydCAhPSBOVUxMOworICAgICAgICAgICAgaWYoY29udGludWVfcmVhZGluZykKKyAgICAgICAgICAgICAgY29udGludWVfcmVhZGluZyA9IGZzZWVrKGZJbkNlcnQsIDAsIFNFRUtfRU5EKSA9PSAwOworICAgICAgICAgICAgaWYoY29udGludWVfcmVhZGluZykKKyAgICAgICAgICAgICAgZmlsZXNpemUgPSBmdGVsbChmSW5DZXJ0KTsKKyAgICAgICAgICAgIGlmKGZpbGVzaXplIDwgMCkKKyAgICAgICAgICAgICAgY29udGludWVfcmVhZGluZyA9IEZBTFNFOworICAgICAgICAgICAgaWYoY29udGludWVfcmVhZGluZykKKyAgICAgICAgICAgICAgY29udGludWVfcmVhZGluZyA9IGZzZWVrKGZJbkNlcnQsIDAsIFNFRUtfU0VUKSA9PSAwOworICAgICAgICAgICAgaWYoY29udGludWVfcmVhZGluZykKKyAgICAgICAgICAgICAgY2VydGRhdGEgPSBtYWxsb2MoKChzaXplX3QpZmlsZXNpemUpICsgMSk7CisgICAgICAgICAgICBpZigoIWNlcnRkYXRhKSB8fAorICAgICAgICAgICAgICAgICgoaW50KWZyZWFkKGNlcnRkYXRhLCAoc2l6ZV90KWZpbGVzaXplLCAxLCBmSW5DZXJ0KSAhPSAxKSkKKyAgICAgICAgICAgICAgY29udGludWVfcmVhZGluZyA9IEZBTFNFOworICAgICAgICAgICAgaWYoZkluQ2VydCkKKyAgICAgICAgICAgICAgZmNsb3NlKGZJbkNlcnQpOworICAgICAgICAgICAgaWYoKGZpbGVzaXplID4gMCkgJiYgY29udGludWVfcmVhZGluZykgeworICAgICAgICAgICAgICBzdHJ1Y3QgY3VybF9ibG9iIHN0cnVjdGJsb2I7CisgICAgICAgICAgICAgIHN0cnVjdGJsb2IuZGF0YSA9IGNlcnRkYXRhOworICAgICAgICAgICAgICBzdHJ1Y3RibG9iLmxlbiA9IChzaXplX3QpZmlsZXNpemU7CisgICAgICAgICAgICAgIHN0cnVjdGJsb2IuZmxhZ3MgPSBDVVJMX0JMT0JfQ09QWTsKKyAgICAgICAgICAgICAgbXlfc2V0b3B0X3N0cihjdXJsLCBDVVJMT1BUX1NTTEtFWV9CTE9CLCAmc3RydWN0YmxvYik7CisgICAgICAgICAgICAgIC8qIGlmIHRlc3QgcnVuIHdlbGwsIHdlIGFyZSBzdXJlIHdlIGRvbid0IHJldXNlCisgICAgICAgICAgICAgICAqIG9yaWdpbmFsIG1lbSBwb2ludGVyICovCisgICAgICAgICAgICAgIG1lbXNldChjZXJ0ZGF0YSwgMCwgKHNpemVfdClmaWxlc2l6ZSk7CisgICAgICAgICAgICB9CisgICAgICAgICAgICBmcmVlKGNlcnRkYXRhKTsKKyAgICAgICAgICB9CisgICAgICAgICAgZWxzZQorI2VuZGlmCiAgICAgICAgICAgbXlfc2V0b3B0X3N0cihjdXJsLCBDVVJMT1BUX1NTTEtFWSwgY29uZmlnLT5rZXkpOwogICAgICAgICAgIG15X3NldG9wdF9zdHIoY3VybCwgQ1VSTE9QVF9QUk9YWV9TU0xLRVksIGNvbmZpZy0+cHJveHlfa2V5KTsKICAgICAgICAgICBteV9zZXRvcHRfc3RyKGN1cmwsIENVUkxPUFRfU1NMS0VZVFlQRSwgY29uZmlnLT5rZXlfdHlwZSk7CkBAIC0xNTg5LDcgKzE2NjksMjUgQEAKICAgICAgICAgICAgICAgICAgICAgICAgICBjb25maWctPnNzbF92ZXJzaW9uIHwgY29uZmlnLT5zc2xfdmVyc2lvbl9tYXgpOwogICAgICAgICAgIG15X3NldG9wdF9lbnVtKGN1cmwsIENVUkxPUFRfUFJPWFlfU1NMVkVSU0lPTiwKICAgICAgICAgICAgICAgICAgICAgICAgICBjb25maWctPnByb3h5X3NzbF92ZXJzaW9uKTsKKworICAgICAgICAgIHsKKyAgICAgICAgICAgIGxvbmcgbWFzayA9CisgICAgICAgICAgICAgIChjb25maWctPnNzbF9hbGxvd19iZWFzdCA/IENVUkxTU0xPUFRfQUxMT1dfQkVBU1QgOiAwKSB8CisgICAgICAgICAgICAgIChjb25maWctPnNzbF9yZXZva2VfYmVzdF9lZmZvcnQgPworICAgICAgICAgICAgICAgQ1VSTFNTTE9QVF9SRVZPS0VfQkVTVF9FRkZPUlQgOiAwKSB8CisgICAgICAgICAgICAgIChjb25maWctPm5hdGl2ZV9jYV9zdG9yZSA/CisgICAgICAgICAgICAgICBDVVJMU1NMT1BUX05BVElWRV9DQSA6IDApIHwKKyAgICAgICAgICAgICAgKGNvbmZpZy0+c3NsX25vX3Jldm9rZSA/IENVUkxTU0xPUFRfTk9fUkVWT0tFIDogMCk7CisKKyAgICAgICAgICAgIGlmKG1hc2spCisgICAgICAgICAgICAgIG15X3NldG9wdF9iaXRtYXNrKGN1cmwsIENVUkxPUFRfU1NMX09QVElPTlMsIG1hc2spOworICAgICAgICAgIH0KKworICAgICAgICAgIGlmKGNvbmZpZy0+cHJveHlfc3NsX2FsbG93X2JlYXN0KQorICAgICAgICAgICAgbXlfc2V0b3B0KGN1cmwsIENVUkxPUFRfUFJPWFlfU1NMX09QVElPTlMsCisgICAgICAgICAgICAgICAgICAgICAgKGxvbmcpQ1VSTFNTTE9QVF9BTExPV19CRUFTVCk7CiAgICAgICAgIH0KKwogICAgICAgICBpZihjb25maWctPnBhdGhfYXNfaXMpCiAgICAgICAgICAgbXlfc2V0b3B0KGN1cmwsIENVUkxPUFRfUEFUSF9BU19JUywgMUwpOwogCkBAIC0xOTAwLDIwICsxOTk4LDYgQEAKICAgICAgICAgICBteV9zZXRvcHRfc3RyKGN1cmwsIENVUkxPUFRfR1NTQVBJX0RFTEVHQVRJT04sCiAgICAgICAgICAgICAgICAgICAgICAgICBjb25maWctPmdzc2FwaV9kZWxlZ2F0aW9uKTsKIAotICAgICAgICAvKiBuZXcgaW4gNy4yNS4wLCA3LjQ0LjAgYW5kIDcuNzAuMCAqLwotICAgICAgICB7Ci0gICAgICAgICAgbG9uZyBtYXNrID0gKGNvbmZpZy0+c3NsX2FsbG93X2JlYXN0ID8gQ1VSTFNTTE9QVF9BTExPV19CRUFTVCA6IDApIHwKLSAgICAgICAgICAgICAgICAgICAgICAoY29uZmlnLT5zc2xfcmV2b2tlX2Jlc3RfZWZmb3J0ID8KLSAgICAgICAgICAgICAgICAgICAgICAgQ1VSTFNTTE9QVF9SRVZPS0VfQkVTVF9FRkZPUlQgOiAwKSB8Ci0gICAgICAgICAgICAgICAgICAgICAgKGNvbmZpZy0+c3NsX25vX3Jldm9rZSA/IENVUkxTU0xPUFRfTk9fUkVWT0tFIDogMCk7Ci0gICAgICAgICAgaWYobWFzaykKLSAgICAgICAgICAgIG15X3NldG9wdF9iaXRtYXNrKGN1cmwsIENVUkxPUFRfU1NMX09QVElPTlMsIG1hc2spOwotICAgICAgICB9Ci0KLSAgICAgICAgaWYoY29uZmlnLT5wcm94eV9zc2xfYWxsb3dfYmVhc3QpCi0gICAgICAgICAgbXlfc2V0b3B0KGN1cmwsIENVUkxPUFRfUFJPWFlfU1NMX09QVElPTlMsCi0gICAgICAgICAgICAgICAgICAgIChsb25nKUNVUkxTU0xPUFRfQUxMT1dfQkVBU1QpOwotCiAgICAgICAgIGlmKGNvbmZpZy0+bWFpbF9hdXRoKQogICAgICAgICAgIG15X3NldG9wdF9zdHIoY3VybCwgQ1VSTE9QVF9NQUlMX0FVVEgsIGNvbmZpZy0+bWFpbF9hdXRoKTsKIApAQCAtMjQxMCw2ICsyNDk0LDcgQEAKIENVUkxjb2RlIG9wZXJhdGUoc3RydWN0IEdsb2JhbENvbmZpZyAqZ2xvYmFsLCBpbnQgYXJnYywgYXJndl9pdGVtX3QgYXJndltdKQogewogICBDVVJMY29kZSByZXN1bHQgPSBDVVJMRV9PSzsKKyAgY2hhciAqZmlyc3RfYXJnID0gY3VybHhfY29udmVydF90Y2hhcl90b19VVEY4KGFyZ3ZbMV0pOwogCiAgIC8qIFNldHVwIHByb3BlciBsb2NhbGUgZnJvbSBlbnZpcm9ubWVudCAqLwogI2lmZGVmIEhBVkVfU0VUTE9DQUxFCkBAIC0yNDE4LDggKzI1MDMsOCBAQAogCiAgIC8qIFBhcnNlIC5jdXJscmMgaWYgbmVjZXNzYXJ5ICovCiAgIGlmKChhcmdjID09IDEpIHx8Ci0gICAgICghY3VybF9zdHJlcXVhbChhcmd2WzFdLCAiLXEiKSAmJgotICAgICAgIWN1cmxfc3RyZXF1YWwoYXJndlsxXSwgIi0tZGlzYWJsZSIpKSkgeworICAgICAoIWN1cmxfc3RyZXF1YWwoZmlyc3RfYXJnLCAiLXEiKSAmJgorICAgICAgIWN1cmxfc3RyZXF1YWwoZmlyc3RfYXJnLCAiLS1kaXNhYmxlIikpKSB7CiAgICAgcGFyc2Vjb25maWcoTlVMTCwgZ2xvYmFsKTsgLyogaWdub3JlIHBvc3NpYmxlIGZhaWx1cmUgKi8KIAogICAgIC8qIElmIHdlIGhhZCBubyBhcmd1bWVudHMgdGhlbiBtYWtlIHN1cmUgYSB1cmwgd2FzIHNwZWNpZmllZCBpbiAuY3VybHJjICovCkBAIC0yNDI5LDYgKzI1MTQsOCBAQAogICAgIH0KICAgfQogCisgIGN1cmx4X3VuaWNvZGVmcmVlKGZpcnN0X2FyZyk7CisKICAgaWYoIXJlc3VsdCkgewogICAgIC8qIFBhcnNlIHRoZSBjb21tYW5kIGxpbmUgYXJndW1lbnRzICovCiAgICAgUGFyYW1ldGVyRXJyb3IgcmVzID0gcGFyc2VfYXJncyhnbG9iYWwsIGFyZ2MsIGFyZ3YpOwpkaWZmIC0tZ2l0IGEvc3JjL3Rvb2xfb3BlcmF0ZS5oIGIvc3JjL3Rvb2xfb3BlcmF0ZS5oCmluZGV4IDM5MjI3YzAuLjBmYTVhZGUgMTAwNjQ0Ci0tLSBhL3NyYy90b29sX29wZXJhdGUuaAorKysgYi9zcmMvdG9vbF9vcGVyYXRlLmgKQEAgLTcsNyArNyw3IEBACiAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICB8IChfX3wgfF98IHwgIF8gPHwgfF9fXwogICogICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxfX198XF9fXy98X3wgXF9cX19fX198CiAgKgotICogQ29weXJpZ2h0IChDKSAxOTk4IC0gMjAxOSwgRGFuaWVsIFN0ZW5iZXJnLCA8ZGFuaWVsQGhheHguc2U+LCBldCBhbC4KKyAqIENvcHlyaWdodCAoQykgMTk5OCAtIDIwMjAsIERhbmllbCBTdGVuYmVyZywgPGRhbmllbEBoYXh4LnNlPiwgZXQgYWwuCiAgKgogICogVGhpcyBzb2Z0d2FyZSBpcyBsaWNlbnNlZCBhcyBkZXNjcmliZWQgaW4gdGhlIGZpbGUgQ09QWUlORywgd2hpY2gKICAqIHlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhcyBwYXJ0IG9mIHRoaXMgZGlzdHJpYnV0aW9uLiBUaGUgdGVybXMKQEAgLTM4LDggKzM4LDggQEAKICAgc3RydWN0IHRpbWV2YWwgcmV0cnlzdGFydDsKICAgYm9vbCBtZXRhbGluazsgLyogbm9uemVybyBmb3IgbWV0YWxpbmsgZG93bmxvYWQuICovCiAgIGJvb2wgbWV0YWxpbmtfbmV4dF9yZXM7Ci0gIG1ldGFsaW5rZmlsZSAqbWxmaWxlOwotICBtZXRhbGlua19yZXNvdXJjZSAqbWxyZXM7CisgIHN0cnVjdCBtZXRhbGlua2ZpbGUgKm1sZmlsZTsKKyAgc3RydWN0IG1ldGFsaW5rX3Jlc291cmNlICptbHJlczsKICAgY2hhciAqdGhpc191cmw7CiAgIGNoYXIgKm91dGZpbGU7CiAgIGJvb2wgaW5mZG9wZW47IC8qIFRSVUUgaWYgaW5mZCBuZWVkcyBjbG9zaW5nICovCmRpZmYgLS1naXQgYS9zcmMvdG9vbF9wYXJhbWhscC5jIGIvc3JjL3Rvb2xfcGFyYW1obHAuYwppbmRleCA2NzcwMmViLi5jMzc1YmNjIDEwMDY0NAotLS0gYS9zcmMvdG9vbF9wYXJhbWhscC5jCisrKyBiL3NyYy90b29sX3BhcmFtaGxwLmMKQEAgLTE4MCw3ICsxODAsNyBAQAogUGFyYW1ldGVyRXJyb3Igc3RyMm51bShsb25nICp2YWwsIGNvbnN0IGNoYXIgKnN0cikKIHsKICAgaWYoc3RyKSB7Ci0gICAgY2hhciAqZW5kcHRyOworICAgIGNoYXIgKmVuZHB0ciA9IE5VTEw7CiAgICAgbG9uZyBudW07CiAgICAgZXJybm8gPSAwOwogICAgIG51bSA9IHN0cnRvbChzdHIsICZlbmRwdHIsIDEwKTsKZGlmZiAtLWdpdCBhL3NyYy90b29sX3BhcnNlY2ZnLmMgYi9zcmMvdG9vbF9wYXJzZWNmZy5jCmluZGV4IGVmYjkxNTkuLjVhZWIyZWUgMTAwNjQ0Ci0tLSBhL3NyYy90b29sX3BhcnNlY2ZnLmMKKysrIGIvc3JjL3Rvb2xfcGFyc2VjZmcuYwpAQCAtMTczLDcgKzE3Myw3IEBACiAgICAgICAvKiAuLi4gYW5kIGhhcyBlbmRlZCBoZXJlICovCiAKICAgICAgIGlmKCpsaW5lKQotICAgICAgICAqbGluZSsrID0gJ1wwJzsgLyogemVybyB0ZXJtaW5hdGUsIHdlIGhhdmUgYSBsb2NhbCBjb3B5IG9mIHRoZSBkYXRhICovCisgICAgICAgICpsaW5lKysgPSAnXDAnOyAvKiBudWxsLXRlcm1pbmF0ZSwgd2UgaGF2ZSBhIGxvY2FsIGNvcHkgb2YgdGhlIGRhdGEgKi8KIAogI2lmZGVmIERFQlVHX0NPTkZJRwogICAgICAgZnByaW50ZihzdGRlcnIsICJHT1Q6ICVzXG4iLCBvcHRpb24pOwpAQCAtMjAzLDcgKzIwMyw3IEBACiAgICAgICAgICAgbGluZSsrOwogCiAgICAgICAgIGlmKCpsaW5lKSB7Ci0gICAgICAgICAgKmxpbmUgPSAnXDAnOyAvKiB6ZXJvIHRlcm1pbmF0ZSAqLworICAgICAgICAgICpsaW5lID0gJ1wwJzsgLyogbnVsbC10ZXJtaW5hdGUgKi8KIAogICAgICAgICAgIC8qIHRvIGRldGVjdCBtaXN0YWtlcyBiZXR0ZXIsIHNlZSBpZiB0aGVyZSdzIGRhdGEgZm9sbG93aW5nICovCiAgICAgICAgICAgbGluZSsrOwpAQCAtMzI5LDcgKzMyOSw3IEBACiAgICAgZWxzZQogICAgICAgKnBhcmFtKysgPSAqbGluZSsrOwogICB9Ci0gICpwYXJhbSA9ICdcMCc7IC8qIGFsd2F5cyB6ZXJvIHRlcm1pbmF0ZSAqLworICAqcGFyYW0gPSAnXDAnOyAvKiBhbHdheXMgbnVsbC10ZXJtaW5hdGUgKi8KICAgcmV0dXJuIGxpbmU7CiB9CiAKZGlmZiAtLWdpdCBhL3NyYy90b29sX3NldG9wdC5jIGIvc3JjL3Rvb2xfc2V0b3B0LmMKaW5kZXggZjI0NGJhNC4uOTg1OGQ0OSAxMDA2NDQKLS0tIGEvc3JjL3Rvb2xfc2V0b3B0LmMKKysrIGIvc3JjL3Rvb2xfc2V0b3B0LmMKQEAgLTQzLDcgKzQzLDcgQEAKICNkZWZpbmUgTlYxKGUsIHYpIHsjZSwgKHYpfQogI2RlZmluZSBOVkVORCB7TlVMTCwgMH0gICAgICAgICAvKiBzZW50aW5lbCB0byBtYXJrIGVuZCBvZiBsaXN0ICovCiAKLWNvbnN0IE5hbWVWYWx1ZSBzZXRvcHRfbnZfQ1VSTFBST1hZW10gPSB7Citjb25zdCBzdHJ1Y3QgTmFtZVZhbHVlIHNldG9wdF9udl9DVVJMUFJPWFlbXSA9IHsKICAgTlYoQ1VSTFBST1hZX0hUVFApLAogICBOVihDVVJMUFJPWFlfSFRUUF8xXzApLAogICBOVihDVVJMUFJPWFlfSFRUUFMpLApAQCAtNTQsNyArNTQsNyBAQAogICBOVkVORCwKIH07CiAKLWNvbnN0IE5hbWVWYWx1ZSBzZXRvcHRfbnZfQ1VSTF9TT0NLU19QUk9YWVtdID0geworY29uc3Qgc3RydWN0IE5hbWVWYWx1ZSBzZXRvcHRfbnZfQ1VSTF9TT0NLU19QUk9YWVtdID0gewogICBOVihDVVJMUFJPWFlfU09DS1M0KSwKICAgTlYoQ1VSTFBST1hZX1NPQ0tTNSksCiAgIE5WKENVUkxQUk9YWV9TT0NLUzRBKSwKQEAgLTYyLDcgKzYyLDcgQEAKICAgTlZFTkQsCiB9OwogCi1jb25zdCBOYW1lVmFsdWVVbnNpZ25lZCBzZXRvcHRfbnZfQ1VSTEFVVEhbXSA9IHsKK2NvbnN0IHN0cnVjdCBOYW1lVmFsdWVVbnNpZ25lZCBzZXRvcHRfbnZfQ1VSTEFVVEhbXSA9IHsKICAgTlYoQ1VSTEFVVEhfQU5ZKSwgICAgICAgICAgICAgLyogY29tYmluYXRpb24gKi8KICAgTlYoQ1VSTEFVVEhfQU5ZU0FGRSksICAgICAgICAgLyogY29tYmluYXRpb24gKi8KICAgTlYoQ1VSTEFVVEhfQkFTSUMpLApAQCAtNzYsNyArNzYsNyBAQAogICBOVkVORCwKIH07CiAKLWNvbnN0IE5hbWVWYWx1ZSBzZXRvcHRfbnZfQ1VSTF9IVFRQX1ZFUlNJT05bXSA9IHsKK2NvbnN0IHN0cnVjdCBOYW1lVmFsdWUgc2V0b3B0X252X0NVUkxfSFRUUF9WRVJTSU9OW10gPSB7CiAgIE5WKENVUkxfSFRUUF9WRVJTSU9OX05PTkUpLAogICBOVihDVVJMX0hUVFBfVkVSU0lPTl8xXzApLAogICBOVihDVVJMX0hUVFBfVkVSU0lPTl8xXzEpLApAQCAtODYsNyArODYsNyBAQAogICBOVkVORCwKIH07CiAKLWNvbnN0IE5hbWVWYWx1ZSBzZXRvcHRfbnZfQ1VSTF9TU0xWRVJTSU9OW10gPSB7Citjb25zdCBzdHJ1Y3QgTmFtZVZhbHVlIHNldG9wdF9udl9DVVJMX1NTTFZFUlNJT05bXSA9IHsKICAgTlYoQ1VSTF9TU0xWRVJTSU9OX0RFRkFVTFQpLAogICBOVihDVVJMX1NTTFZFUlNJT05fVExTdjEpLAogICBOVihDVVJMX1NTTFZFUlNJT05fU1NMdjIpLApAQCAtOTgsNyArOTgsNyBAQAogICBOVkVORCwKIH07CiAKLWNvbnN0IE5hbWVWYWx1ZSBzZXRvcHRfbnZfQ1VSTF9USU1FQ09ORFtdID0geworY29uc3Qgc3RydWN0IE5hbWVWYWx1ZSBzZXRvcHRfbnZfQ1VSTF9USU1FQ09ORFtdID0gewogICBOVihDVVJMX1RJTUVDT05EX0lGTU9EU0lOQ0UpLAogICBOVihDVVJMX1RJTUVDT05EX0lGVU5NT0RTSU5DRSksCiAgIE5WKENVUkxfVElNRUNPTkRfTEFTVE1PRCksCkBAIC0xMDYsMTQgKzEwNiwxNCBAQAogICBOVkVORCwKIH07CiAKLWNvbnN0IE5hbWVWYWx1ZSBzZXRvcHRfbnZfQ1VSTEZUUFNTTF9DQ0NbXSA9IHsKK2NvbnN0IHN0cnVjdCBOYW1lVmFsdWUgc2V0b3B0X252X0NVUkxGVFBTU0xfQ0NDW10gPSB7CiAgIE5WKENVUkxGVFBTU0xfQ0NDX05PTkUpLAogICBOVihDVVJMRlRQU1NMX0NDQ19QQVNTSVZFKSwKICAgTlYoQ1VSTEZUUFNTTF9DQ0NfQUNUSVZFKSwKICAgTlZFTkQsCiB9OwogCi1jb25zdCBOYW1lVmFsdWUgc2V0b3B0X252X0NVUkxVU0VTU0xbXSA9IHsKK2NvbnN0IHN0cnVjdCBOYW1lVmFsdWUgc2V0b3B0X252X0NVUkxVU0VTU0xbXSA9IHsKICAgTlYoQ1VSTFVTRVNTTF9OT05FKSwKICAgTlYoQ1VSTFVTRVNTTF9UUlkpLAogICBOVihDVVJMVVNFU1NMX0NPTlRST0wpLApAQCAtMTIxLDE1ICsxMjEsMTYgQEAKICAgTlZFTkQsCiB9OwogCi1jb25zdCBOYW1lVmFsdWVVbnNpZ25lZCBzZXRvcHRfbnZfQ1VSTFNTTE9QVFtdID0geworY29uc3Qgc3RydWN0IE5hbWVWYWx1ZVVuc2lnbmVkIHNldG9wdF9udl9DVVJMU1NMT1BUW10gPSB7CiAgIE5WKENVUkxTU0xPUFRfQUxMT1dfQkVBU1QpLAogICBOVihDVVJMU1NMT1BUX05PX1JFVk9LRSksCiAgIE5WKENVUkxTU0xPUFRfTk9fUEFSVElBTENIQUlOKSwKICAgTlYoQ1VSTFNTTE9QVF9SRVZPS0VfQkVTVF9FRkZPUlQpLAorICBOVihDVVJMU1NMT1BUX05BVElWRV9DQSksCiAgIE5WRU5ELAogfTsKIAotY29uc3QgTmFtZVZhbHVlIHNldG9wdF9udl9DVVJMX05FVFJDW10gPSB7Citjb25zdCBzdHJ1Y3QgTmFtZVZhbHVlIHNldG9wdF9udl9DVVJMX05FVFJDW10gPSB7CiAgIE5WKENVUkxfTkVUUkNfSUdOT1JFRCksCiAgIE5WKENVUkxfTkVUUkNfT1BUSU9OQUwpLAogICBOVihDVVJMX05FVFJDX1JFUVVJUkVEKSwKQEAgLTEzOCw3ICsxMzksNyBAQAogCiAvKiBUaGVzZSBtYXBwaW5ncyBlc3NlbnRpYWxseSB0cmlwbGljYXRlZCAtIHNlZQogICogdG9vbF9saWJpbmZvLmMgYW5kIHRvb2xfcGFyYW1obHAuYyAqLwotY29uc3QgTmFtZVZhbHVlIHNldG9wdF9udl9DVVJMUFJPVE9bXSA9IHsKK2NvbnN0IHN0cnVjdCBOYW1lVmFsdWUgc2V0b3B0X252X0NVUkxQUk9UT1tdID0gewogICBOVihDVVJMUFJPVE9fQUxMKSwgICAgICAgICAgICAvKiBjb21iaW5hdGlvbiAqLwogICBOVihDVVJMUFJPVE9fRElDVCksCiAgIE5WKENVUkxQUk9UT19GSUxFKSwKQEAgLTE2Niw3ICsxNjcsNyBAQAogfTsKIAogLyogVGhlc2Ugb3B0aW9ucyBoYXZlIG5vbi16ZXJvIGRlZmF1bHQgdmFsdWVzLiAqLwotc3RhdGljIGNvbnN0IE5hbWVWYWx1ZSBzZXRvcHRfbnZfQ1VSTE5PTlpFUk9ERUZBVUxUU1tdID0geworc3RhdGljIGNvbnN0IHN0cnVjdCBOYW1lVmFsdWUgc2V0b3B0X252X0NVUkxOT05aRVJPREVGQVVMVFNbXSA9IHsKICAgTlYxKENVUkxPUFRfU1NMX1ZFUklGWVBFRVIsIDEpLAogICBOVjEoQ1VSTE9QVF9TU0xfVkVSSUZZSE9TVCwgMSksCiAgIE5WMShDVVJMT1BUX1NTTF9FTkFCTEVfTlBOLCAxKSwKQEAgLTI3Miw3ICsyNzMsNyBAQAogLyogc2V0b3B0IHdyYXBwZXIgZm9yIGVudW0gdHlwZXMgKi8KIENVUkxjb2RlIHRvb2xfc2V0b3B0X2VudW0oQ1VSTCAqY3VybCwgc3RydWN0IEdsb2JhbENvbmZpZyAqY29uZmlnLAogICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBjaGFyICpuYW1lLCBDVVJMb3B0aW9uIHRhZywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgTmFtZVZhbHVlICpudmxpc3QsIGxvbmcgbHZhbCkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qgc3RydWN0IE5hbWVWYWx1ZSAqbnZsaXN0LCBsb25nIGx2YWwpCiB7CiAgIENVUkxjb2RlIHJldCA9IENVUkxFX09LOwogICBib29sIHNraXAgPSBGQUxTRTsKQEAgLTI4Myw3ICsyODQsNyBAQAogCiAgIGlmKGNvbmZpZy0+bGliY3VybCAmJiAhc2tpcCAmJiAhcmV0KSB7CiAgICAgLyogd2Ugb25seSB1c2UgdGhpcyBmb3IgcmVhbCBpZiAtLWxpYmN1cmwgd2FzIHVzZWQgKi8KLSAgICBjb25zdCBOYW1lVmFsdWUgKm52ID0gTlVMTDsKKyAgICBjb25zdCBzdHJ1Y3QgTmFtZVZhbHVlICpudiA9IE5VTEw7CiAgICAgZm9yKG52ID0gbnZsaXN0OyBudi0+bmFtZTsgbnYrKykgewogICAgICAgaWYobnYtPnZhbHVlID09IGx2YWwpCiAgICAgICAgIGJyZWFrOyAvKiBmb3VuZCBpdCAqLwpAQCAtMzA2LDcgKzMwNyw3IEBACiAvKiBzZXRvcHQgd3JhcHBlciBmb3IgZmxhZ3MgKi8KIENVUkxjb2RlIHRvb2xfc2V0b3B0X2ZsYWdzKENVUkwgKmN1cmwsIHN0cnVjdCBHbG9iYWxDb25maWcgKmNvbmZpZywKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGNoYXIgKm5hbWUsIENVUkxvcHRpb24gdGFnLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgTmFtZVZhbHVlICpudmxpc3QsIGxvbmcgbHZhbCkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHN0cnVjdCBOYW1lVmFsdWUgKm52bGlzdCwgbG9uZyBsdmFsKQogewogICBDVVJMY29kZSByZXQgPSBDVVJMRV9PSzsKICAgYm9vbCBza2lwID0gRkFMU0U7CkBAIC0zMTksNyArMzIwLDcgQEAKICAgICAvKiB3ZSBvbmx5IHVzZSB0aGlzIGZvciByZWFsIGlmIC0tbGliY3VybCB3YXMgdXNlZCAqLwogICAgIGNoYXIgcHJlYW1ibGVbODBdOyAgICAgICAgICAvKiBzaG91bGQgYWNjb21tb2RhdGUgYW55IHN5bWJvbCBuYW1lICovCiAgICAgbG9uZyByZXN0ID0gbHZhbDsgICAgICAgICAgIC8qIGJpdHMgbm90IGhhbmRsZWQgeWV0ICovCi0gICAgY29uc3QgTmFtZVZhbHVlICpudiA9IE5VTEw7CisgICAgY29uc3Qgc3RydWN0IE5hbWVWYWx1ZSAqbnYgPSBOVUxMOwogICAgIG1zbnByaW50ZihwcmVhbWJsZSwgc2l6ZW9mKHByZWFtYmxlKSwKICAgICAgICAgICAgICAgImN1cmxfZWFzeV9zZXRvcHQoaG5kLCAlcywgIiwgbmFtZSk7CiAgICAgZm9yKG52ID0gbnZsaXN0OyBudi0+bmFtZTsgbnYrKykgewpAQCAtMzQ4LDcgKzM0OSw3IEBACiAvKiBzZXRvcHQgd3JhcHBlciBmb3IgYml0bWFza3MgKi8KIENVUkxjb2RlIHRvb2xfc2V0b3B0X2JpdG1hc2soQ1VSTCAqY3VybCwgc3RydWN0IEdsb2JhbENvbmZpZyAqY29uZmlnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBjaGFyICpuYW1lLCBDVVJMb3B0aW9uIHRhZywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgTmFtZVZhbHVlVW5zaWduZWQgKm52bGlzdCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qgc3RydWN0IE5hbWVWYWx1ZVVuc2lnbmVkICpudmxpc3QsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxvbmcgbHZhbCkKIHsKICAgQ1VSTGNvZGUgcmV0ID0gQ1VSTEVfT0s7CkBAIC0zNjIsNyArMzYzLDcgQEAKICAgICAvKiB3ZSBvbmx5IHVzZSB0aGlzIGZvciByZWFsIGlmIC0tbGliY3VybCB3YXMgdXNlZCAqLwogICAgIGNoYXIgcHJlYW1ibGVbODBdOwogICAgIHVuc2lnbmVkIGxvbmcgcmVzdCA9ICh1bnNpZ25lZCBsb25nKWx2YWw7Ci0gICAgY29uc3QgTmFtZVZhbHVlVW5zaWduZWQgKm52ID0gTlVMTDsKKyAgICBjb25zdCBzdHJ1Y3QgTmFtZVZhbHVlVW5zaWduZWQgKm52ID0gTlVMTDsKICAgICBtc25wcmludGYocHJlYW1ibGUsIHNpemVvZihwcmVhbWJsZSksCiAgICAgICAgICAgICAgICJjdXJsX2Vhc3lfc2V0b3B0KGhuZCwgJXMsICIsIG5hbWUpOwogICAgIGZvcihudiA9IG52bGlzdDsgbnYtPm5hbWU7IG52KyspIHsKQEAgLTQxNywxMyArNDE4LDEzIEBACiAKIHN0YXRpYyBDVVJMY29kZSBsaWJjdXJsX2dlbmVyYXRlX21pbWUoQ1VSTCAqY3VybCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RydWN0IEdsb2JhbENvbmZpZyAqY29uZmlnLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0b29sX21pbWUgKnRvb2xtaW1lLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJ1Y3QgdG9vbF9taW1lICp0b29sbWltZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50ICptaW1lbm8pOyAgICAgLyogRm9yd2FyZC4gKi8KIAogLyogV3JhcHBlciB0byBnZW5lcmF0ZSBzb3VyY2UgY29kZSBmb3IgYSBtaW1lIHBhcnQuICovCiBzdGF0aWMgQ1VSTGNvZGUgbGliY3VybF9nZW5lcmF0ZV9taW1lX3BhcnQoQ1VSTCAqY3VybCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJ1Y3QgR2xvYmFsQ29uZmlnICpjb25maWcsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdG9vbF9taW1lICpwYXJ0LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cnVjdCB0b29sX21pbWUgKnBhcnQsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IG1pbWVubykKIHsKICAgQ1VSTGNvZGUgcmV0ID0gQ1VSTEVfT0s7CkBAIC01NTYsNyArNTU3LDcgQEAKIC8qIFdyYXBwZXIgdG8gZ2VuZXJhdGUgc291cmNlIGNvZGUgZm9yIGEgbWltZSBzdHJ1Y3R1cmUuICovCiBzdGF0aWMgQ1VSTGNvZGUgbGliY3VybF9nZW5lcmF0ZV9taW1lKENVUkwgKmN1cmwsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cnVjdCBHbG9iYWxDb25maWcgKmNvbmZpZywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdG9vbF9taW1lICp0b29sbWltZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RydWN0IHRvb2xfbWltZSAqdG9vbG1pbWUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCAqbWltZW5vKQogewogICBDVVJMY29kZSByZXQgPSBDVVJMRV9PSzsKQEAgLTY0MCw3ICs2NDEsNyBAQAogICAgIC8qIFZhbHVlIGlzIGV4cGVjdGVkIHRvIGJlIGEgbG9uZyAqLwogICAgIGxvbmcgbHZhbCA9IHZhX2FyZyhhcmcsIGxvbmcpOwogICAgIGxvbmcgZGVmdmFsID0gMEw7Ci0gICAgY29uc3QgTmFtZVZhbHVlICpudiA9IE5VTEw7CisgICAgY29uc3Qgc3RydWN0IE5hbWVWYWx1ZSAqbnYgPSBOVUxMOwogICAgIGZvcihudiA9IHNldG9wdF9udl9DVVJMTk9OWkVST0RFRkFVTFRTOyBudi0+bmFtZTsgbnYrKykgewogICAgICAgaWYoIXN0cmNtcChuYW1lLCBudi0+bmFtZSkpIHsKICAgICAgICAgZGVmdmFsID0gbnYtPnZhbHVlOwpAQCAtNjgyLDcgKzY4Myw3IEBACiAgICAgcmV0ID0gY3VybF9lYXN5X3NldG9wdChjdXJsLCB0YWcsIHB2YWwpOwogCiAgIH0KLSAgZWxzZSB7CisgIGVsc2UgaWYodGFnIDwgQ1VSTE9QVFRZUEVfQkxPQikgewogICAgIC8qIFZhbHVlIGlzIGV4cGVjdGVkIHRvIGJlIGN1cmxfb2ZmX3QgKi8KICAgICBjdXJsX29mZl90IG92YWwgPSB2YV9hcmcoYXJnLCBjdXJsX29mZl90KTsKICAgICBtc25wcmludGYoYnVmLCBzaXplb2YoYnVmKSwKQEAgLTY5Myw2ICs2OTQsMjAgQEAKICAgICBpZighb3ZhbCkKICAgICAgIHNraXAgPSBUUlVFOwogICB9CisgIGVsc2UgeworICAgIC8qIFZhbHVlIGlzIGEgYmxvYiAqLworICAgIHZvaWQgKnBibG9iID0gdmFfYXJnKGFyZywgdm9pZCAqKTsKKworICAgIC8qIGJsb2JzIGFyZSBuZXZlciBwcmludGFibGUgKi8KKyAgICBpZihwYmxvYikgeworICAgICAgdmFsdWUgPSAiYmxvYnBvaW50ZXIiOworICAgICAgcmVtYXJrID0gVFJVRTsKKyAgICB9CisgICAgZWxzZQorICAgICAgc2tpcCA9IFRSVUU7CisKKyAgICByZXQgPSBjdXJsX2Vhc3lfc2V0b3B0KGN1cmwsIHRhZywgcGJsb2IpOworICB9CiAKICAgdmFfZW5kKGFyZyk7CiAKZGlmZiAtLWdpdCBhL3NyYy90b29sX3NldG9wdC5oIGIvc3JjL3Rvb2xfc2V0b3B0LmgKaW5kZXggNDhlOWU4MS4uOWZlMTQyYyAxMDA2NDQKLS0tIGEvc3JjL3Rvb2xfc2V0b3B0LmgKKysrIGIvc3JjL3Rvb2xfc2V0b3B0LmgKQEAgLTcsNyArNyw3IEBACiAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICB8IChfX3wgfF98IHwgIF8gPHwgfF9fXwogICogICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxfX198XF9fXy98X3wgXF9cX19fX198CiAgKgotICogQ29weXJpZ2h0IChDKSAxOTk4IC0gMjAxOSwgRGFuaWVsIFN0ZW5iZXJnLCA8ZGFuaWVsQGhheHguc2U+LCBldCBhbC4KKyAqIENvcHlyaWdodCAoQykgMTk5OCAtIDIwMjAsIERhbmllbCBTdGVuYmVyZywgPGRhbmllbEBoYXh4LnNlPiwgZXQgYWwuCiAgKgogICogVGhpcyBzb2Z0d2FyZSBpcyBsaWNlbnNlZCBhcyBkZXNjcmliZWQgaW4gdGhlIGZpbGUgQ09QWUlORywgd2hpY2gKICAqIHlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhcyBwYXJ0IG9mIHRoaXMgZGlzdHJpYnV0aW9uLiBUaGUgdGVybXMKQEAgLTQzLDI3ICs0MywyNyBAQAogI2lmbmRlZiBDVVJMX0RJU0FCTEVfTElCQ1VSTF9PUFRJT04KIAogLyogQXNzb2NpYXRlIHN5bWJvbGljIG5hbWVzIHdpdGggb3B0aW9uIHZhbHVlcyAqLwotdHlwZWRlZiBzdHJ1Y3Qgeworc3RydWN0IE5hbWVWYWx1ZSB7CiAgIGNvbnN0IGNoYXIgKm5hbWU7CiAgIGxvbmcgdmFsdWU7Ci19IE5hbWVWYWx1ZTsKK307CiAKLXR5cGVkZWYgc3RydWN0IHsKK3N0cnVjdCBOYW1lVmFsdWVVbnNpZ25lZCB7CiAgIGNvbnN0IGNoYXIgKm5hbWU7CiAgIHVuc2lnbmVkIGxvbmcgdmFsdWU7Ci19IE5hbWVWYWx1ZVVuc2lnbmVkOworfTsKIAotZXh0ZXJuIGNvbnN0IE5hbWVWYWx1ZSBzZXRvcHRfbnZfQ1VSTFBST1hZW107Ci1leHRlcm4gY29uc3QgTmFtZVZhbHVlIHNldG9wdF9udl9DVVJMX1NPQ0tTX1BST1hZW107Ci1leHRlcm4gY29uc3QgTmFtZVZhbHVlIHNldG9wdF9udl9DVVJMX0hUVFBfVkVSU0lPTltdOwotZXh0ZXJuIGNvbnN0IE5hbWVWYWx1ZSBzZXRvcHRfbnZfQ1VSTF9TU0xWRVJTSU9OW107Ci1leHRlcm4gY29uc3QgTmFtZVZhbHVlIHNldG9wdF9udl9DVVJMX1RJTUVDT05EW107Ci1leHRlcm4gY29uc3QgTmFtZVZhbHVlIHNldG9wdF9udl9DVVJMRlRQU1NMX0NDQ1tdOwotZXh0ZXJuIGNvbnN0IE5hbWVWYWx1ZSBzZXRvcHRfbnZfQ1VSTFVTRVNTTFtdOwotZXh0ZXJuIGNvbnN0IE5hbWVWYWx1ZVVuc2lnbmVkIHNldG9wdF9udl9DVVJMU1NMT1BUW107Ci1leHRlcm4gY29uc3QgTmFtZVZhbHVlIHNldG9wdF9udl9DVVJMX05FVFJDW107Ci1leHRlcm4gY29uc3QgTmFtZVZhbHVlIHNldG9wdF9udl9DVVJMUFJPVE9bXTsKLWV4dGVybiBjb25zdCBOYW1lVmFsdWVVbnNpZ25lZCBzZXRvcHRfbnZfQ1VSTEFVVEhbXTsKK2V4dGVybiBjb25zdCBzdHJ1Y3QgTmFtZVZhbHVlIHNldG9wdF9udl9DVVJMUFJPWFlbXTsKK2V4dGVybiBjb25zdCBzdHJ1Y3QgTmFtZVZhbHVlIHNldG9wdF9udl9DVVJMX1NPQ0tTX1BST1hZW107CitleHRlcm4gY29uc3Qgc3RydWN0IE5hbWVWYWx1ZSBzZXRvcHRfbnZfQ1VSTF9IVFRQX1ZFUlNJT05bXTsKK2V4dGVybiBjb25zdCBzdHJ1Y3QgTmFtZVZhbHVlIHNldG9wdF9udl9DVVJMX1NTTFZFUlNJT05bXTsKK2V4dGVybiBjb25zdCBzdHJ1Y3QgTmFtZVZhbHVlIHNldG9wdF9udl9DVVJMX1RJTUVDT05EW107CitleHRlcm4gY29uc3Qgc3RydWN0IE5hbWVWYWx1ZSBzZXRvcHRfbnZfQ1VSTEZUUFNTTF9DQ0NbXTsKK2V4dGVybiBjb25zdCBzdHJ1Y3QgTmFtZVZhbHVlIHNldG9wdF9udl9DVVJMVVNFU1NMW107CitleHRlcm4gY29uc3Qgc3RydWN0IE5hbWVWYWx1ZVVuc2lnbmVkIHNldG9wdF9udl9DVVJMU1NMT1BUW107CitleHRlcm4gY29uc3Qgc3RydWN0IE5hbWVWYWx1ZSBzZXRvcHRfbnZfQ1VSTF9ORVRSQ1tdOworZXh0ZXJuIGNvbnN0IHN0cnVjdCBOYW1lVmFsdWUgc2V0b3B0X252X0NVUkxQUk9UT1tdOworZXh0ZXJuIGNvbnN0IHN0cnVjdCBOYW1lVmFsdWVVbnNpZ25lZCBzZXRvcHRfbnZfQ1VSTEFVVEhbXTsKIAogLyogTWFwIG9wdGlvbnMgdG8gTmFtZVZhbHVlIHNldHMgKi8KICNkZWZpbmUgc2V0b3B0X252X0NVUkxPUFRfSFRUUF9WRVJTSU9OIHNldG9wdF9udl9DVVJMX0hUVFBfVkVSU0lPTgpAQCAtODUsMTMgKzg1LDEzIEBACiAKIENVUkxjb2RlIHRvb2xfc2V0b3B0X2VudW0oQ1VSTCAqY3VybCwgc3RydWN0IEdsb2JhbENvbmZpZyAqY29uZmlnLAogICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBjaGFyICpuYW1lLCBDVVJMb3B0aW9uIHRhZywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgTmFtZVZhbHVlICpudiwgbG9uZyBsdmFsKTsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qgc3RydWN0IE5hbWVWYWx1ZSAqbnYsIGxvbmcgbHZhbCk7CiBDVVJMY29kZSB0b29sX3NldG9wdF9mbGFncyhDVVJMICpjdXJsLCBzdHJ1Y3QgR2xvYmFsQ29uZmlnICpjb25maWcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBjaGFyICpuYW1lLCBDVVJMb3B0aW9uIHRhZywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IE5hbWVWYWx1ZSAqbnYsIGxvbmcgbHZhbCk7CisgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBzdHJ1Y3QgTmFtZVZhbHVlICpudiwgbG9uZyBsdmFsKTsKIENVUkxjb2RlIHRvb2xfc2V0b3B0X2JpdG1hc2soQ1VSTCAqY3VybCwgc3RydWN0IEdsb2JhbENvbmZpZyAqY29uZmlnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBjaGFyICpuYW1lLCBDVVJMb3B0aW9uIHRhZywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgTmFtZVZhbHVlVW5zaWduZWQgKm52LCBsb25nIGx2YWwpOworICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBzdHJ1Y3QgTmFtZVZhbHVlVW5zaWduZWQgKm52LCBsb25nIGx2YWwpOwogQ1VSTGNvZGUgdG9vbF9zZXRvcHRfbWltZXBvc3QoQ1VSTCAqY3VybCwgc3RydWN0IEdsb2JhbENvbmZpZyAqY29uZmlnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgY2hhciAqbmFtZSwgQ1VSTG9wdGlvbiB0YWcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjdXJsX21pbWUgKm1pbWVwb3N0KTsKZGlmZiAtLWdpdCBhL3NyYy90b29sX3VybGdsb2IuYyBiL3NyYy90b29sX3VybGdsb2IuYwppbmRleCA2Yzg3MTYxLi40MzBjYTg4IDEwMDY0NAotLS0gYS9zcmMvdG9vbF91cmxnbG9iLmMKKysrIGIvc3JjL3Rvb2xfdXJsZ2xvYi5jCkBAIC0zNCw5ICszNCw5IEBACiAjZGVmaW5lIEdMT0JFUlJPUihzdHJpbmcsIGNvbHVtbiwgY29kZSkgXAogICBnbG9iLT5lcnJvciA9IHN0cmluZywgZ2xvYi0+cG9zID0gY29sdW1uLCBjb2RlCiAKLXN0YXRpYyBDVVJMY29kZSBnbG9iX2ZpeGVkKFVSTEdsb2IgKmdsb2IsIGNoYXIgKmZpeGVkLCBzaXplX3QgbGVuKQorc3RhdGljIENVUkxjb2RlIGdsb2JfZml4ZWQoc3RydWN0IFVSTEdsb2IgKmdsb2IsIGNoYXIgKmZpeGVkLCBzaXplX3QgbGVuKQogewotICBVUkxQYXR0ZXJuICpwYXQgPSAmZ2xvYi0+cGF0dGVybltnbG9iLT5zaXplXTsKKyAgc3RydWN0IFVSTFBhdHRlcm4gKnBhdCA9ICZnbG9iLT5wYXR0ZXJuW2dsb2ItPnNpemVdOwogICBwYXQtPnR5cGUgPSBVUFRTZXQ7CiAgIHBhdC0+Y29udGVudC5TZXQuc2l6ZSA9IDE7CiAgIHBhdC0+Y29udGVudC5TZXQucHRyX3MgPSAwOwpAQCAtNzQsMTQgKzc0LDE0IEBACiAgIHJldHVybiAwOwogfQogCi1zdGF0aWMgQ1VSTGNvZGUgZ2xvYl9zZXQoVVJMR2xvYiAqZ2xvYiwgY2hhciAqKnBhdHRlcm5wLAorc3RhdGljIENVUkxjb2RlIGdsb2Jfc2V0KHN0cnVjdCBVUkxHbG9iICpnbG9iLCBjaGFyICoqcGF0dGVybnAsCiAgICAgICAgICAgICAgICAgICAgICAgICAgc2l6ZV90ICpwb3NwLCB1bnNpZ25lZCBsb25nICphbW91bnQsCiAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IGdsb2JpbmRleCkKIHsKICAgLyogcHJvY2Vzc2VzIGEgc2V0IGV4cHJlc3Npb24gd2l0aCB0aGUgcG9pbnQgYmVoaW5kIHRoZSBvcGVuaW5nICd7JwogICAgICAnLCctc2VwYXJhdGVkIGVsZW1lbnRzIGFyZSBjb2xsZWN0ZWQgdW50aWwgdGhlIG5leHQgY2xvc2luZyAnfScKICAgKi8KLSAgVVJMUGF0dGVybiAqcGF0OworICBzdHJ1Y3QgVVJMUGF0dGVybiAqcGF0OwogICBib29sIGRvbmUgPSBGQUxTRTsKICAgY2hhciAqYnVmID0gZ2xvYi0+Z2xvYl9idWZmZXI7CiAgIGNoYXIgKnBhdHRlcm4gPSAqcGF0dGVybnA7CkBAIC0xNjgsNyArMTY4LDcgQEAKICAgcmV0dXJuIENVUkxFX09LOwogfQogCi1zdGF0aWMgQ1VSTGNvZGUgZ2xvYl9yYW5nZShVUkxHbG9iICpnbG9iLCBjaGFyICoqcGF0dGVybnAsCitzdGF0aWMgQ1VSTGNvZGUgZ2xvYl9yYW5nZShzdHJ1Y3QgVVJMR2xvYiAqZ2xvYiwgY2hhciAqKnBhdHRlcm5wLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgc2l6ZV90ICpwb3NwLCB1bnNpZ25lZCBsb25nICphbW91bnQsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgZ2xvYmluZGV4KQogewpAQCAtMTc4LDcgKzE3OCw3IEBACiAgICAgIC0gbnVtIHJhbmdlIHdpdGggbGVhZGluZyB6ZXJvczogZS5nLiAiMDAxLTk5OV0iCiAgICAgIGV4cHJlc3Npb24gaXMgY2hlY2tlZCBmb3Igd2VsbC1mb3JtZWRuZXNzIGFuZCBjb2xsZWN0ZWQgdW50aWwgdGhlIG5leHQgJ10nCiAgICovCi0gIFVSTFBhdHRlcm4gKnBhdDsKKyAgc3RydWN0IFVSTFBhdHRlcm4gKnBhdDsKICAgaW50IHJjOwogICBjaGFyICpwYXR0ZXJuID0gKnBhdHRlcm5wOwogICBjaGFyICpjOwpAQCAtMzE5LDYgKzMxOSw4IEBACiAgIHJldHVybiBDVVJMRV9PSzsKIH0KIAorI2RlZmluZSBNQVhfSVA2TEVOIDEyOAorCiBzdGF0aWMgYm9vbCBwZWVrX2lwdjYoY29uc3QgY2hhciAqc3RyLCBzaXplX3QgKnNraXApCiB7CiAgIC8qCkBAIC0zMjYsMzAgKzMyOCwzNSBAQAogICAgKiAtIFZhbGlkIGdsb2JzIGNvbnRhaW4gYSBoeXBoZW4gYW5kIDw9IDEgY29sb24uCiAgICAqIC0gSVB2NiBsaXRlcmFscyBjb250YWluIG5vIGh5cGhlbnMgYW5kID49IDIgY29sb25zLgogICAgKi8KLSAgc2l6ZV90IGkgPSAwOwotICBzaXplX3QgY29sb25zID0gMDsKLSAgaWYoc3RyW2krK10gIT0gJ1snKSB7CisgIGNoYXIgaG9zdG5hbWVbTUFYX0lQNkxFTl07CisgIENVUkxVICp1OworICBjaGFyICplbmRiciA9IHN0cmNocihzdHIsICddJyk7CisgIHNpemVfdCBobGVuOworICBDVVJMVWNvZGUgcmM7CisgIGlmKCFlbmRicikKICAgICByZXR1cm4gRkFMU0U7Ci0gIH0KLSAgZm9yKDs7KSB7Ci0gICAgY29uc3QgY2hhciBjID0gc3RyW2krK107Ci0gICAgaWYoSVNBTE5VTShjKSB8fCBjID09ICcuJyB8fCBjID09ICclJykgewotICAgICAgLyogb2sgKi8KLSAgICB9Ci0gICAgZWxzZSBpZihjID09ICc6JykgewotICAgICAgY29sb25zKys7Ci0gICAgfQotICAgIGVsc2UgaWYoYyA9PSAnXScpIHsKLSAgICAgICpza2lwID0gaTsKLSAgICAgIHJldHVybiBjb2xvbnMgPj0gMiA/IFRSVUUgOiBGQUxTRTsKLSAgICB9Ci0gICAgZWxzZSB7Ci0gICAgICByZXR1cm4gRkFMU0U7Ci0gICAgfQotICB9CisKKyAgaGxlbiA9IGVuZGJyIC0gc3RyICsgMTsKKyAgaWYoaGxlbiA+PSBNQVhfSVA2TEVOKQorICAgIHJldHVybiBGQUxTRTsKKworICB1ID0gY3VybF91cmwoKTsKKyAgaWYoIXUpCisgICAgcmV0dXJuIEZBTFNFOworCisgIG1lbWNweShob3N0bmFtZSwgc3RyLCBobGVuKTsKKyAgaG9zdG5hbWVbaGxlbl0gPSAwOworCisgIC8qIGFzayB0byAiZ3Vlc3Mgc2NoZW1lIiBhcyB0aGVuIGl0IHdvcmtzIHdpdGhvdXQgYSBodHRwczovLyBwcmVmaXggKi8KKyAgcmMgPSBjdXJsX3VybF9zZXQodSwgQ1VSTFVQQVJUX1VSTCwgaG9zdG5hbWUsIENVUkxVX0dVRVNTX1NDSEVNRSk7CisKKyAgY3VybF91cmxfY2xlYW51cCh1KTsKKyAgaWYoIXJjKQorICAgICpza2lwID0gaGxlbjsKKyAgcmV0dXJuIHJjID8gRkFMU0UgOiBUUlVFOwogfQogCi1zdGF0aWMgQ1VSTGNvZGUgZ2xvYl9wYXJzZShVUkxHbG9iICpnbG9iLCBjaGFyICpwYXR0ZXJuLAorc3RhdGljIENVUkxjb2RlIGdsb2JfcGFyc2Uoc3RydWN0IFVSTEdsb2IgKmdsb2IsIGNoYXIgKnBhdHRlcm4sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBzaXplX3QgcG9zLCB1bnNpZ25lZCBsb25nICphbW91bnQpCiB7CiAgIC8qIHByb2Nlc3NlcyBhIGxpdGVyYWwgc3RyaW5nIGNvbXBvbmVudCBvZiBhIFVSTApAQCAtNDI3LDE0ICs0MzQsMTQgQEAKICAgcmV0dXJuIHJlczsKIH0KIAotQ1VSTGNvZGUgZ2xvYl91cmwoVVJMR2xvYiAqKmdsb2IsIGNoYXIgKnVybCwgdW5zaWduZWQgbG9uZyAqdXJsbnVtLAorQ1VSTGNvZGUgZ2xvYl91cmwoc3RydWN0IFVSTEdsb2IgKipnbG9iLCBjaGFyICp1cmwsIHVuc2lnbmVkIGxvbmcgKnVybG51bSwKICAgICAgICAgICAgICAgICAgIEZJTEUgKmVycm9yKQogewogICAvKgogICAgKiBXZSBjYW4gZGVhbCB3aXRoIGFueS1zaXplLCBqdXN0IG1ha2UgYSBidWZmZXIgd2l0aCB0aGUgc2FtZSBsZW5ndGgKICAgICogYXMgdGhlIHNwZWNpZmllZCBVUkwhCiAgICAqLwotICBVUkxHbG9iICpnbG9iX2V4cGFuZDsKKyAgc3RydWN0IFVSTEdsb2IgKmdsb2JfZXhwYW5kOwogICB1bnNpZ25lZCBsb25nIGFtb3VudCA9IDA7CiAgIGNoYXIgKmdsb2JfYnVmZmVyOwogICBDVVJMY29kZSByZXM7CkBAIC00NDYsNyArNDUzLDcgQEAKICAgICByZXR1cm4gQ1VSTEVfT1VUX09GX01FTU9SWTsKICAgZ2xvYl9idWZmZXJbMF0gPSAwOwogCi0gIGdsb2JfZXhwYW5kID0gY2FsbG9jKDEsIHNpemVvZihVUkxHbG9iKSk7CisgIGdsb2JfZXhwYW5kID0gY2FsbG9jKDEsIHNpemVvZihzdHJ1Y3QgVVJMR2xvYikpOwogICBpZighZ2xvYl9leHBhbmQpIHsKICAgICBDdXJsX3NhZmVmcmVlKGdsb2JfYnVmZmVyKTsKICAgICByZXR1cm4gQ1VSTEVfT1VUX09GX01FTU9SWTsKQEAgLTQ4Myw3ICs0OTAsNyBAQAogICByZXR1cm4gQ1VSTEVfT0s7CiB9CiAKLXZvaWQgZ2xvYl9jbGVhbnVwKFVSTEdsb2IqIGdsb2IpCit2b2lkIGdsb2JfY2xlYW51cChzdHJ1Y3QgVVJMR2xvYiAqZ2xvYikKIHsKICAgc2l6ZV90IGk7CiAgIGludCBlbGVtOwpAQCAtNTA2LDkgKzUxMyw5IEBACiAgIEN1cmxfc2FmZWZyZWUoZ2xvYik7CiB9CiAKLUNVUkxjb2RlIGdsb2JfbmV4dF91cmwoY2hhciAqKmdsb2JiZWQsIFVSTEdsb2IgKmdsb2IpCitDVVJMY29kZSBnbG9iX25leHRfdXJsKGNoYXIgKipnbG9iYmVkLCBzdHJ1Y3QgVVJMR2xvYiAqZ2xvYikKIHsKLSAgVVJMUGF0dGVybiAqcGF0OworICBzdHJ1Y3QgVVJMUGF0dGVybiAqcGF0OwogICBzaXplX3QgaTsKICAgc2l6ZV90IGxlbjsKICAgc2l6ZV90IGJ1ZmxlbiA9IGdsb2ItPnVybGxlbiArIDE7CkBAIC02MDAsNyArNjA3LDcgQEAKICAgcmV0dXJuIENVUkxFX09LOwogfQogCi1DVVJMY29kZSBnbG9iX21hdGNoX3VybChjaGFyICoqcmVzdWx0LCBjaGFyICpmaWxlbmFtZSwgVVJMR2xvYiAqZ2xvYikKK0NVUkxjb2RlIGdsb2JfbWF0Y2hfdXJsKGNoYXIgKipyZXN1bHQsIGNoYXIgKmZpbGVuYW1lLCBzdHJ1Y3QgVVJMR2xvYiAqZ2xvYikKIHsKICAgY2hhciAqdGFyZ2V0OwogICBzaXplX3QgYWxsb2NzaXplOwpAQCAtNjI1LDcgKzYzMiw3IEBACiAgICAgaWYoKmZpbGVuYW1lID09ICcjJyAmJiBJU0RJR0lUKGZpbGVuYW1lWzFdKSkgewogICAgICAgY2hhciAqcHRyID0gZmlsZW5hbWU7CiAgICAgICB1bnNpZ25lZCBsb25nIG51bSA9IHN0cnRvdWwoJmZpbGVuYW1lWzFdLCAmZmlsZW5hbWUsIDEwKTsKLSAgICAgIFVSTFBhdHRlcm4gKnBhdCA9IE5VTEw7CisgICAgICBzdHJ1Y3QgVVJMUGF0dGVybiAqcGF0ID0gTlVMTDsKIAogICAgICAgaWYobnVtICYmIChudW0gPCBnbG9iLT5zaXplKSkgewogICAgICAgICB1bnNpZ25lZCBsb25nIGk7CmRpZmYgLS1naXQgYS9zcmMvdG9vbF91cmxnbG9iLmggYi9zcmMvdG9vbF91cmxnbG9iLmgKaW5kZXggODIzMjZjMC4uNWVkNzY2NyAxMDA2NDQKLS0tIGEvc3JjL3Rvb2xfdXJsZ2xvYi5oCisrKyBiL3NyYy90b29sX3VybGdsb2IuaApAQCAtNyw3ICs3LDcgQEAKICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgKF9ffCB8X3wgfCAgXyA8fCB8X19fCiAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXF9fX3xcX19fL3xffCBcX1xfX19fX3wKICAqCi0gKiBDb3B5cmlnaHQgKEMpIDE5OTggLSAyMDE5LCBEYW5pZWwgU3RlbmJlcmcsIDxkYW5pZWxAaGF4eC5zZT4sIGV0IGFsLgorICogQ29weXJpZ2h0IChDKSAxOTk4IC0gMjAyMCwgRGFuaWVsIFN0ZW5iZXJnLCA8ZGFuaWVsQGhheHguc2U+LCBldCBhbC4KICAqCiAgKiBUaGlzIHNvZnR3YXJlIGlzIGxpY2Vuc2VkIGFzIGRlc2NyaWJlZCBpbiB0aGUgZmlsZSBDT1BZSU5HLCB3aGljaAogICogeW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGFzIHBhcnQgb2YgdGhpcyBkaXN0cmlidXRpb24uIFRoZSB0ZXJtcwpAQCAtMjksNyArMjksNyBAQAogICBVUFROdW1SYW5nZQogfSBVUkxQYXR0ZXJuVHlwZTsKIAotdHlwZWRlZiBzdHJ1Y3Qgeworc3RydWN0IFVSTFBhdHRlcm4gewogICBVUkxQYXR0ZXJuVHlwZSB0eXBlOwogICBpbnQgZ2xvYmluZGV4OyAvKiB0aGUgbnVtYmVyIG9mIHRoaXMgcGFydGljdWxhciBnbG9iIG9yIC0xIGlmIG5vdCB1c2VkCiAgICAgICAgICAgICAgICAgICAgIHdpdGhpbiB7fSBvciBbXSAqLwpAQCAtNTMsMjQgKzUzLDI0IEBACiAgICAgICB1bnNpZ25lZCBsb25nIHN0ZXA7CiAgICAgfSBOdW1SYW5nZTsKICAgfSBjb250ZW50OwotfSBVUkxQYXR0ZXJuOworfTsKIAogLyogdGhlIHRvdGFsIG51bWJlciBvZiBnbG9icyBzdXBwb3J0ZWQgKi8KICNkZWZpbmUgR0xPQl9QQVRURVJOX05VTSAxMDAKIAotdHlwZWRlZiBzdHJ1Y3QgewotICBVUkxQYXR0ZXJuIHBhdHRlcm5bR0xPQl9QQVRURVJOX05VTV07CitzdHJ1Y3QgVVJMR2xvYiB7CisgIHN0cnVjdCBVUkxQYXR0ZXJuIHBhdHRlcm5bR0xPQl9QQVRURVJOX05VTV07CiAgIHNpemVfdCBzaXplOwogICBzaXplX3QgdXJsbGVuOwogICBjaGFyICpnbG9iX2J1ZmZlcjsKICAgY2hhciBiZWVuaGVyZTsKICAgY29uc3QgY2hhciAqZXJyb3I7IC8qIGVycm9yIG1lc3NhZ2UgKi8KICAgc2l6ZV90IHBvczsgICAgICAgIC8qIGNvbHVtbiBwb3NpdGlvbiBvZiBlcnJvciBvciAwICovCi19IFVSTEdsb2I7Cit9OwogCi1DVVJMY29kZSBnbG9iX3VybChVUkxHbG9iKiosIGNoYXIgKiwgdW5zaWduZWQgbG9uZyAqLCBGSUxFICopOwotQ1VSTGNvZGUgZ2xvYl9uZXh0X3VybChjaGFyICoqLCBVUkxHbG9iICopOwotQ1VSTGNvZGUgZ2xvYl9tYXRjaF91cmwoY2hhciAqKiwgY2hhciAqLCBVUkxHbG9iICopOwotdm9pZCBnbG9iX2NsZWFudXAoVVJMR2xvYiogZ2xvYik7CitDVVJMY29kZSBnbG9iX3VybChzdHJ1Y3QgVVJMR2xvYioqLCBjaGFyICosIHVuc2lnbmVkIGxvbmcgKiwgRklMRSAqKTsKK0NVUkxjb2RlIGdsb2JfbmV4dF91cmwoY2hhciAqKiwgc3RydWN0IFVSTEdsb2IgKik7CitDVVJMY29kZSBnbG9iX21hdGNoX3VybChjaGFyICoqLCBjaGFyICosIHN0cnVjdCBVUkxHbG9iICopOwordm9pZCBnbG9iX2NsZWFudXAoc3RydWN0IFVSTEdsb2IgKmdsb2IpOwogCiAjZW5kaWYgLyogSEVBREVSX0NVUkxfVE9PTF9VUkxHTE9CX0ggKi8KZGlmZiAtLWdpdCBhL3NyYy90b29sX3ZlcnNpb24uaCBiL3NyYy90b29sX3ZlcnNpb24uaAppbmRleCBiNGJkMmIyLi44NmU0ZjMyIDEwMDY0NAotLS0gYS9zcmMvdG9vbF92ZXJzaW9uLmgKKysrIGIvc3JjL3Rvb2xfdmVyc2lvbi5oCkBAIC0yNSw3ICsyNSw3IEBACiAKICNkZWZpbmUgQ1VSTF9OQU1FICJjdXJsIgogI2RlZmluZSBDVVJMX0NPUFlSSUdIVCBMSUJDVVJMX0NPUFlSSUdIVAotI2RlZmluZSBDVVJMX1ZFUlNJT04gIjcuNzAuMCIKKyNkZWZpbmUgQ1VSTF9WRVJTSU9OICI3LjcxLjEiCiAjZGVmaW5lIENVUkxfVkVSU0lPTl9NQUpPUiBMSUJDVVJMX1ZFUlNJT05fTUFKT1IKICNkZWZpbmUgQ1VSTF9WRVJTSU9OX01JTk9SIExJQkNVUkxfVkVSU0lPTl9NSU5PUgogI2RlZmluZSBDVVJMX1ZFUlNJT05fUEFUQ0ggTElCQ1VSTF9WRVJTSU9OX1BBVENICmRpZmYgLS1naXQgYS9zcmMvdG9vbF92bXMuYyBiL3NyYy90b29sX3Ztcy5jCmluZGV4IDdmYTBkZDYuLjc4NzFiMjAgMTAwNjQ0Ci0tLSBhL3NyYy90b29sX3Ztcy5jCisrKyBiL3NyYy90b29sX3Ztcy5jCkBAIC01LDcgKzUsNyBAQAogICogICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAoX198IHxffCB8ICBfIDx8IHxfX18KICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcX19ffFxfX18vfF98IFxfXF9fX19ffAogICoKLSAqIENvcHlyaWdodCAoQykgMTk5OCAtIDIwMTksIERhbmllbCBTdGVuYmVyZywgPGRhbmllbEBoYXh4LnNlPiwgZXQgYWwuCisgKiBDb3B5cmlnaHQgKEMpIDE5OTggLSAyMDIwLCBEYW5pZWwgU3RlbmJlcmcsIDxkYW5pZWxAaGF4eC5zZT4sIGV0IGFsLgogICoKICAqIFRoaXMgc29mdHdhcmUgaXMgbGljZW5zZWQgYXMgZGVzY3JpYmVkIGluIHRoZSBmaWxlIENPUFlJTkcsIHdoaWNoCiAgKiB5b3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYXMgcGFydCBvZiB0aGlzIGRpc3RyaWJ1dGlvbi4gVGhlIHRlcm1zCkBAIC0xMjIsMTMgKzEyMiwxMyBAQAogICovCiAKIC8qIFN0cnVjdHVyZSB0byBob2xkIGEgREVDQyQqIGZlYXR1cmUgbmFtZSBhbmQgaXRzIGRlc2lyZWQgdmFsdWUuICovCi10eXBlZGVmIHN0cnVjdCB7CitzdHJ1Y3QgZGVjY19mZWF0X3QgewogICBjaGFyICpuYW1lOwogICBpbnQgdmFsdWU7Ci19IGRlY2NfZmVhdF90OworfTsKIAogLyogQXJyYXkgb2YgREVDQyQqIGZlYXR1cmUgbmFtZXMgYW5kIHRoZWlyIGRlc2lyZWQgdmFsdWVzLiAqLwotc3RhdGljIGRlY2NfZmVhdF90IGRlY2NfZmVhdF9hcnJheVtdID0geworc3RhdGljIHN0cnVjdCBkZWNjX2ZlYXRfdCBkZWNjX2ZlYXRfYXJyYXlbXSA9IHsKICAgLyogUHJlc2VydmUgY29tbWFuZC1saW5lIGNhc2Ugd2l0aCBTRVQgUFJPQ0VTUy9QQVJTRV9TVFlMRT1FWFRFTkRFRCAqLwogICB7ICJERUNDJEFSR1ZfUEFSU0VfU1RZTEUiLCAxIH0sCiAgIC8qIFByZXNlcnZlIGNhc2UgZm9yIGZpbGUgbmFtZXMgb24gT0RTNSBkaXNrcy4gKi8KZGlmZiAtLWdpdCBhL3NyYy90b29sX3dyaXRlb3V0LmMgYi9zcmMvdG9vbF93cml0ZW91dC5jCmluZGV4IDMyYzk1YjQuLmQ4Y2NiY2IgMTAwNjQ0Ci0tLSBhL3NyYy90b29sX3dyaXRlb3V0LmMKKysrIGIvc3JjL3Rvb2xfd3JpdGVvdXQuYwpAQCAtMTMxLDcgKzEzMSw3IEBACiAgICAgICAgICAgICBjb250aW51ZTsKICAgICAgICAgICB9CiAgICAgICAgICAga2VlcGl0ID0gKmVuZDsKLSAgICAgICAgICAqZW5kID0gMDsgLyogemVybyB0ZXJtaW5hdGUgKi8KKyAgICAgICAgICAqZW5kID0gMDsgLyogbnVsbC10ZXJtaW5hdGUgKi8KICAgICAgICAgICBmb3IoaSA9IDA7IHZhcmlhYmxlc1tpXS5uYW1lOyBpKyspIHsKICAgICAgICAgICAgIGlmKGN1cmxfc3RyZXF1YWwocHRyLCB2YXJpYWJsZXNbaV0ubmFtZSkpIHsKICAgICAgICAgICAgICAgbWF0Y2ggPSBUUlVFOwpkaWZmIC0tZ2l0IGEvdGVzdHMvQ01ha2VMaXN0cy50eHQgYi90ZXN0cy9DTWFrZUxpc3RzLnR4dAppbmRleCBhMTQ1YjJiLi42MGNlNWMyIDEwMDY0NAotLS0gYS90ZXN0cy9DTWFrZUxpc3RzLnR4dAorKysgYi90ZXN0cy9DTWFrZUxpc3RzLnR4dApAQCAtMTksNyArMTksMzMgQEAKICMgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC4KICMKICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIworYWRkX2N1c3RvbV90YXJnZXQodGVzdGRlcHMpCiBhZGRfc3ViZGlyZWN0b3J5KGRhdGEpCiBhZGRfc3ViZGlyZWN0b3J5KGxpYnRlc3QpCiBhZGRfc3ViZGlyZWN0b3J5KHNlcnZlcikKIGFkZF9zdWJkaXJlY3RvcnkodW5pdCkKKworZnVuY3Rpb24oYWRkX3J1bnRlc3RzIHRhcmdldG5hbWUgdGVzdF9mbGFncykKKyAgIyBVc2UgYSBzcGVjaWFsICcke1RGTEFHU30nIHBsYWNlaG9sZGVyIGFzIGxhc3QgYXJndW1lbnQgd2hpY2ggd2lsbCBiZQorICAjIHJlcGxhY2VkIGJ5IHRoZSBjb250ZW50cyBvZiB0aGUgZW52aXJvbm1lbnQgdmFyaWFibGUgaW4gcnVudGVzdHMucGwuCisgICMgVGhpcyBpcyBhIHdvcmthcm91bmQgZm9yIENNYWtlJ3MgbGltaXRhdGlvbiB3aGVyZSBjb21tYW5kcyBleGVjdXRlZCBieQorICAjICdtYWtlJyBvciAnbmluamEnIGNhbm5vdCBwb3J0YWJseSByZWZlcmVuY2UgZW52aXJvbm1lbnQgdmFyaWFibGVzLgorICBzdHJpbmcoUkVQTEFDRSAiICIgIjsiIHRlc3RfZmxhZ3NfbGlzdCAiJHt0ZXN0X2ZsYWdzfSIpCisgIGFkZF9jdXN0b21fdGFyZ2V0KCR7dGFyZ2V0bmFtZX0KKyAgICBDT01NQU5ECisgICAgICAiJHtQRVJMX0VYRUNVVEFCTEV9IiAiJHtDTUFLRV9DVVJSRU5UX1NPVVJDRV9ESVJ9L3J1bnRlc3RzLnBsIgorICAgICAgJHt0ZXN0X2ZsYWdzX2xpc3R9CisgICAgICAiXCR7VEZMQUdTfSIKKyAgICBERVBFTkRTIHRlc3RkZXBzCisgICAgVkVSQkFUSU0gVVNFU19URVJNSU5BTAorICApCitlbmRmdW5jdGlvbigpCisKK2FkZF9ydW50ZXN0cyh0ZXN0ICAgICAgICAgICAiIikKK2FkZF9ydW50ZXN0cyh0ZXN0LXF1aWV0ICAgICAiLWEgLXMiKQorYWRkX3J1bnRlc3RzKHRlc3QtYW0gICAgICAgICItYSAtYW0iKQorYWRkX3J1bnRlc3RzKHRlc3QtZnVsbCAgICAgICItYSAtcCAtciIpCisjICFmbGFreSBtZWFucyB0aGF0IGl0J2xsIHNraXAgYWxsIHRlc3RzIHVzaW5nIHRoZSBmbGFreSBrZXl3b3JkCithZGRfcnVudGVzdHModGVzdC1ub25mbGFreSAgIi1hIC1wICFmbGFreSIpCithZGRfcnVudGVzdHModGVzdC10b3J0dXJlICAgIi1hIC10IikKK2FkZF9ydW50ZXN0cyh0ZXN0LWV2ZW50ICAgICAiLWEgLWUiKQpkaWZmIC0tZ2l0IGEvdGVzdHMvRklMRUZPUk1BVC5tZCBiL3Rlc3RzL0ZJTEVGT1JNQVQubWQKaW5kZXggMDM0YjFhNy4uNjJjZGRkMSAxMDA2NDQKLS0tIGEvdGVzdHMvRklMRUZPUk1BVC5tZAorKysgYi90ZXN0cy9GSUxFRk9STUFULm1kCkBAIC0xMCwxNiArMTAsNzQgQEAKIGNoYXJhY3RlciBlbnRpdGllcyBhbmQgdGhlIHByZXNlcnZhdGlvbiBvZiBDUi9MRiBjaGFyYWN0ZXJzIGF0IHRoZSBlbmQgb2YKIGxpbmVzIGFyZSB0aGUgYmlnZ2VzdCBkaWZmZXJlbmNlcykuCiAKLUVhY2ggdGVzdCBjYXNlIGV4aXN0cyBhcyBhIGZpbGUgbWF0Y2hpbmcgdGhlIGZvcm1hdCBgdGVzdHMvZGF0YS90ZXN0TlVNYCwKLXdoZXJlIE5VTSBpcyBjb25zaWRlcmVkIHRoZSB1bmlxdWUgdGVzdCBudW1iZXIuCitFYWNoIHRlc3QgY2FzZSBzb3VyY2UgZXhpc3RzIGFzIGEgZmlsZSBtYXRjaGluZyB0aGUgZm9ybWF0CitgdGVzdHMvZGF0YS90ZXN0TlVNYCwgd2hlcmUgTlVNIGlzIHRoZSB1bmlxdWUgdGVzdCBudW1iZXIsIGFuZCBtdXN0IGJlZ2luIHdpdGgKK2EgJ3Rlc3RjYXNlJyB0YWcsIHdoaWNoIGVuY29tcGFzc2VzIHRoZSByZW1haW5kZXIgb2YgdGhlIGZpbGUuCiAKLVRoZSBmaWxlIGJlZ2lucyB3aXRoIGEgJ3Rlc3RjYXNlJyB0YWcsIHdoaWNoIGVuY29tcGFzc2VzIHRoZSByZW1haW5kZXIgb2YgdGhlCi1maWxlLgorIyBQcmVwcm9jZXNzaW5nCisKK1doZW4gYSB0ZXN0IGlzIHRvIGJlIGV4ZWN1dGVkLCB0aGUgc291cmNlIGZpbGUgaXMgZmlyc3QgcHJlcHJvY2Vzc2VkIGFuZAordmFyaWFibGVzIGFyZSBzdWJzdGl0dXRlZCBieSB0aGUgdGhlaXIgcmVzcGVjdGl2ZSBjb250ZW50cyBhbmQgdGhlIG91dHB1dAordmVyc2lvbiBvZiB0aGUgdGVzdCBmaWxlIGlzIHN0b3JlZCBhcyBgbG9nL3Rlc3ROVU1gLiBUaGF0IHZlcnNpb24gaXMgd2hhdCB3aWxsCitiZSByZWFkIGFuZCB1c2VkIGJ5IHRoZSB0ZXN0IHNlcnZlcnMuCisKKyMgVmFyaWFibGVzCisKK1doZW4gdGhlIHRlc3QgaXMgcHJlcHJvY2Vzc2VkLCBhIHJhbmdlIG9mICJ2YXJpYWJsZXMiIGluIHRoZSB0ZXN0IGZpbGUgd2lsbCBiZQorcmVwbGFjZWQgYnkgdGhlaXIgY29udGVudCBhdCB0aGF0IHRpbWUuCisKK0F2YWlsYWJsZSBzdWJzdGl0dXRlIHZhcmlhYmxlcyBpbmNsdWRlOgorCistIGAlQ0xJRU5UNklQYCAtIElQdjYgYWRkcmVzcyBvZiB0aGUgY2xpZW50IHJ1bm5pbmcgY3VybAorLSBgJUNMSUVOVElQYCAtIElQdjQgYWRkcmVzcyBvZiB0aGUgY2xpZW50IHJ1bm5pbmcgY3VybAorLSBgJUNVUkxgIC0gUGF0aCB0byB0aGUgY3VybCBleGVjdXRhYmxlCistIGAlRklMRV9QV0RgIC0gQ3VycmVudCBkaXJlY3RvcnksIG9uIHdpbmRvd3MgcHJlZml4ZWQgd2l0aCBhIHNsYXNoCistIGAlRlRQNlBPUlRgIC0gSVB2NiBwb3J0IG51bWJlciBvZiB0aGUgRlRQIHNlcnZlcgorLSBgJUZUUFBPUlRgIC0gUG9ydCBudW1iZXIgb2YgdGhlIEZUUCBzZXJ2ZXIKKy0gYCVGVFBTUE9SVGAgLSBQb3J0IG51bWJlciBvZiB0aGUgRlRQUyBzZXJ2ZXIKKy0gYCVGVFBUSU1FMmAgLSBUaW1lb3V0IGluIHNlY29uZHMgdGhhdCBzaG91bGQgYmUganVzdCBzdWZmaWNpZW50IHRvIHJlY2VpdmUgYQorICByZXNwb25zZSBmcm9tIHRoZSB0ZXN0IEZUUCBzZXJ2ZXIKKy0gYCVGVFBUSU1FM2AgLSBFdmVuIGxvbmdlciB0aGFuICVGVFBUSU1FMgorLSBgJUdPUEhFUjZQT1JUYCAtIElQdjYgcG9ydCBudW1iZXIgb2YgdGhlIEdvcGhlciBzZXJ2ZXIKKy0gYCVHT1BIRVJQT1JUYCAtIFBvcnQgbnVtYmVyIG9mIHRoZSBHb3BoZXIgc2VydmVyCistIGAlSE9TVDZJUGAgLSBJUHY2IGFkZHJlc3Mgb2YgdGhlIGhvc3QgcnVubmluZyB0aGlzIHRlc3QKKy0gYCVIT1NUSVBgIC0gSVB2NCBhZGRyZXNzIG9mIHRoZSBob3N0IHJ1bm5pbmcgdGhpcyB0ZXN0CistIGAlSFRUUDZQT1JUYCAtIElQdjYgcG9ydCBudW1iZXIgb2YgdGhlIEhUVFAgc2VydmVyCistIGAlSFRUUFBPUlRgIC0gUG9ydCBudW1iZXIgb2YgdGhlIEhUVFAgc2VydmVyCistIGAlSFRUUFNQT1JUYCAtIFBvcnQgbnVtYmVyIG9mIHRoZSBIVFRQUyBzZXJ2ZXIKKy0gYCVIVFRQU1BST1hZUE9SVGAgLSBQb3J0IG51bWJlciBvZiB0aGUgSFRUUFMtcHJveHkKKy0gYCVIVFRQVExTNlBPUlRgIC0gSVB2NiBwb3J0IG51bWJlciBvZiB0aGUgSFRUUCBUTFMgc2VydmVyCistIGAlSFRUUFRMU1BPUlRgIC0gUG9ydCBudW1iZXIgb2YgdGhlIEhUVFAgVExTIHNlcnZlcgorLSBgJUhUVFBVTklYUEFUSGAgLSBQYXRoIHRvIHRoZSBVbml4IHNvY2tldCBvZiB0aGUgSFRUUCBzZXJ2ZXIKKy0gYCVJTUFQNlBPUlRgIC0gSVB2NiBwb3J0IG51bWJlciBvZiB0aGUgSU1BUCBzZXJ2ZXIKKy0gYCVJTUFQUE9SVGAgLSBQb3J0IG51bWJlciBvZiB0aGUgSU1BUCBzZXJ2ZXIKKy0gYCVNUVRUUE9SVGAgLSBQb3J0IG51bWJlciBvZiB0aGUgTVFUVCBzZXJ2ZXIKKy0gYCVORUdURUxORVRQT1JUYCAtIFBvcnQgbnVtYmVyIG9mIHRoZSB0ZWxuZXQgc2VydmVyCistIGAlTk9MSVNURU5QT1JUYCAtIFBvcnQgbnVtYmVyIHdoZXJlIG5vIHNlcnZpY2UgaXMgbGlzdGVuaW5nCistIGAlUE9QMzZQT1JUYCAtIElQdjYgcG9ydCBudW1iZXIgb2YgdGhlIFBPUDMgc2VydmVyCistIGAlUE9QM1BPUlRgIC0gUG9ydCBudW1iZXIgb2YgdGhlIFBPUDMgc2VydmVyCistIGAlUE9TSVhfUFdEYCAtIEN1cnJlbnQgZGlyZWN0b3J5IHNvbWV3aGF0IG1pbmd3IGZyaWVuZGx5CistIGAlUFJPWFlQT1JUYCAtIFBvcnQgbnVtYmVyIG9mIHRoZSBIVFRQIHByb3h5CistIGAlUFdEYCAtIEN1cnJlbnQgZGlyZWN0b3J5CistIGAlUlRTUDZQT1JUYCAtIElQdjYgcG9ydCBudW1iZXIgb2YgdGhlIFJUU1Agc2VydmVyCistIGAlUlRTUFBPUlRgIC0gUG9ydCBudW1iZXIgb2YgdGhlIFJUU1Agc2VydmVyCistIGAlU01CUE9SVGAgLSBQb3J0IG51bWJlciBvZiB0aGUgU01CIHNlcnZlcgorLSBgJVNNQlNQT1JUYCAtIFBvcnQgbnVtYmVyIG9mIHRoZSBTTUJTIHNlcnZlcgorLSBgJVNNVFA2UE9SVGAgLSBJUHY2IHBvcnQgbnVtYmVyIG9mIHRoZSBTTVRQIHNlcnZlcgorLSBgJVNNVFBQT1JUYCAtIFBvcnQgbnVtYmVyIG9mIHRoZSBTTVRQIHNlcnZlcgorLSBgJVNPQ0tTUE9SVGAgLSBQb3J0IG51bWJlciBvZiB0aGUgU09DS1M0LzUgc2VydmVyCistIGAlU1JDRElSYCAtIEZ1bGwgcGF0aCB0byB0aGUgc291cmNlIGRpcgorLSBgJVNTSFBPUlRgIC0gUG9ydCBudW1iZXIgb2YgdGhlIFNDUC9TRlRQIHNlcnZlcgorLSBgJVNTSFNSVk1ENWAgLSBNRDUgb2YgU1NIIHNlcnZlcidzIHB1YmxpYyBrZXkKKy0gYCVTU0hfUFdEYCAtIEN1cnJlbnQgZGlyZWN0b3J5IGZyaWVuZGx5IGZvciB0aGUgU1NIIHNlcnZlcgorLSBgJVRGVFA2UE9SVGAgLSBJUHY2IHBvcnQgbnVtYmVyIG9mIHRoZSBURlRQIHNlcnZlcgorLSBgJVRGVFBQT1JUYCAtIFBvcnQgbnVtYmVyIG9mIHRoZSBURlRQIHNlcnZlcgorLSBgJVVTRVJgIC0gTG9naW4gSUQgb2YgdGhlIHVzZXIgcnVubmluZyB0aGUgdGVzdAogCiAjIGA8dGVzdGNhc2U+YAogCi1FYWNoIHRlc3QgaXMgYWx3YXlzIHdpdGhpbiB0aGUgdGVzdGNhc2UgdGFnLiBFYWNoIHRlc3QgY2FzZSBpcyBzcGxpdCB1cCBpbgotZm91ciBtYWluIHNlY3Rpb25zOiBgaW5mb2AsIGByZXBseWAsIGBjbGllbnRgIGFuZCBgdmVyaWZ5YC4KK0VhY2ggdGVzdCBpcyBhbHdheXMgc3BlY2lmaWVkIGVudGlyZWx5IHdpdGhpbiB0aGUgdGVzdGNhc2UgdGFnLiBFYWNoIHRlc3QgY2FzZQoraXMgc3BsaXQgdXAgaW4gZm91ciBtYWluIHNlY3Rpb25zOiBgaW5mb2AsIGByZXBseWAsIGBjbGllbnRgIGFuZCBgdmVyaWZ5YC4KIAogLSAqKmluZm8qKiBwcm92aWRlcyBpbmZvcm1hdGlvbiBhYm91dCB0aGUgdGVzdCBjYXNlCiAKQEAgLTIyNSwxMSArMjgzLDE0IEBACiBGZWF0dXJlcyB0ZXN0YWJsZSBoZXJlIGFyZToKIAogLSBgYWx0LXN2Y2AKKy0gYGNvb2tpZXNgCiAtIGBjcnlwdG9gCiAtIGBkZWJ1Z2AKKy0gYERvSGAKIC0gYGdldHJsaW1pdGAKIC0gYEdudVRMU2AKIC0gYEdTUy1BUElgCistIGBIVFRQLWF1dGhgCiAtIGBodHRwLzJgCiAtIGBpZG5gCiAtIGBpcHY2YApAQCAtMjM5LDEwICszMDAsMTUgQEAKIC0gYGxpYnpgCiAtIGBtYW51YWxgCiAtIGBNZXRhbGlua2AKKy0gYE1pbWVgCistIGBuZXRyY2AKIC0gYE5TU2AKIC0gYE5UTE1gCiAtIGBPcGVuU1NMYAorLSBgcGFyc2VkYXRlYAorLSBgcHJveHlgCiAtIGBQU0xgCistIGBzaHVmZmxlLWRuc2AKIC0gYHNvY2tzYAogLSBgU1BORUdPYAogLSBgU1NMYApAQCAtMjUxLDggKzMxNywxMCBAQAogLSBgdGhyZWFkZWQtcmVzb2x2ZXJgCiAtIGBUTFMtU1JQYAogLSBgVHJhY2tNZW1vcnlgCistIGB0eXBlY2hlY2tgCiAtIGB1bml0dGVzdGAKIC0gYHVuaXgtc29ja2V0c2AKKy0gYHZlcmJvc2Utc3RyaW5nc2AKIC0gYHdpbjMyYAogLSBgV2luU1NMYAogCkBAIC0yNzAsMTMgKzMzOCwxMiBAQAogQSBjb21tYW5kIGxpbmUgdGhhdCBpZiBzZXQgZ2V0cyBydW4gYnkgdGhlIHRlc3Qgc2NyaXB0IGJlZm9yZSB0aGUgdGVzdC4gSWYgYW4KIG91dHB1dCBpcyBkaXNwbGF5ZWQgYnkgdGhlIGNvbW1hbmQgb3IgaWYgdGhlIHJldHVybiBjb2RlIGlzIG5vbi16ZXJvLCB0aGUgdGVzdAogd2lsbCBiZSBza2lwcGVkIGFuZCB0aGUgKHNpbmdsZS1saW5lKSBvdXRwdXQgd2lsbCBiZSBkaXNwbGF5ZWQgYXMgcmVhc29uIGZvcgotbm90IHJ1bm5pbmcgdGhlIHRlc3QuICBWYXJpYWJsZXMgYXJlIHN1YnN0aXR1dGVkIGFzIGluIHRoZSBgPGNvbW1hbmQ+YAotICBzZWN0aW9uLgorbm90IHJ1bm5pbmcgdGhlIHRlc3QuCiAKICMjIyBgPHBvc3RjaGVjaz5gCiBBIGNvbW1hbmQgbGluZSB0aGF0IGlmIHNldCBnZXRzIHJ1biBieSB0aGUgdGVzdCBzY3JpcHQgYWZ0ZXIgdGhlIHRlc3QuIElmCiB0aGUgY29tbWFuZCBleGlzdHMgd2l0aCBhIG5vbi16ZXJvIHN0YXR1cyBjb2RlLCB0aGUgdGVzdCB3aWxsIGJlIGNvbnNpZGVyZWQKLXRvIGhhdmUgZmFpbGVkLiBWYXJpYWJsZXMgYXJlIHN1YnN0aXR1dGVkIGFzIGluIHRoZSBgPGNvbW1hbmQ+YCBzZWN0aW9uLgordG8gaGF2ZSBmYWlsZWQuCiAKICMjIyBgPHRvb2w+YAogTmFtZSBvZiB0b29sIHRvIGludm9rZSBpbnN0ZWFkIG9mICJjdXJsIi4gVGhpcyB0b29sIG11c3QgYmUgYnVpbHQgYW5kIGV4aXN0CkBAIC0yOTIsMTAgKzM1OSw5IEBACiAKIFNldCB0aGUgZ2l2ZW4gZW52aXJvbm1lbnQgdmFyaWFibGVzIHRvIHRoZSBzcGVjaWZpZWQgdmFsdWUgYmVmb3JlIHRoZSBhY3R1YWwKIGNvbW1hbmQgaXMgcnVuLiBUaGV5IGFyZSBjbGVhcmVkIGFnYWluIGFmdGVyIHRoZSBjb21tYW5kIGhhcyBiZWVuIHJ1bi4KLVZhcmlhYmxlcyBhcmUgZmlyc3Qgc3Vic3RpdHV0ZWQgYXMgaW4gdGhlIGA8Y29tbWFuZD5gIHNlY3Rpb24uCisKICMjIyBgPGNvbW1hbmQgW29wdGlvbj0ibm8tb3V0cHV0L25vLWluY2x1ZGUvZm9yY2Utb3V0cHV0L2JpbmFyeS10cmFjZSJdIFt0aW1lb3V0PSJzZWNzIl1bZGVsYXk9InNlY3MiXVt0eXBlPSJwZXJsIl0+YAotQ29tbWFuZCBsaW5lIHRvIHJ1bi4gVGhlcmUncyBhIGJ1bmNoIG9mICV2YXJpYWJsZXMgdGhhdCBnZXQgcmVwbGFjZWQKLWFjY29yZGluZ2x5LgorQ29tbWFuZCBsaW5lIHRvIHJ1bi4KIAogTm90ZSB0aGF0IHRoZSBVUkwgdGhhdCBnZXRzIHBhc3NlZCB0byB0aGUgc2VydmVyIGFjdHVhbGx5IGNvbnRyb2xzIHdoYXQgZGF0YQogdGhhdCBpcyByZXR1cm5lZC4gVGhlIGxhc3Qgc2xhc2ggaW4gdGhlIFVSTCBtdXN0IGJlIGZvbGxvd2VkIGJ5IGEgbnVtYmVyLiBUaGF0CkBAIC0zMzksNTYgKzQwNSw5IEBACiAnZGVsYXknIGF0dHJpYnV0ZSBpcyBpbnRlbmRlZCBmb3IgdmVyeSBzcGVjaWZpYyB0ZXN0IGNhc2VzLCBhbmQgbm9ybWFsbHkgbm90CiBuZWVkZWQuCiAKLUF2YWlsYWJsZSBzdWJzdGl0dXRlIHZhcmlhYmxlcyBpbmNsdWRlOgotCi0tIGAlQ0xJRU5UNklQYCAtIElQdjYgYWRkcmVzcyBvZiB0aGUgY2xpZW50IHJ1bm5pbmcgY3VybAotLSBgJUNMSUVOVElQYCAtIElQdjQgYWRkcmVzcyBvZiB0aGUgY2xpZW50IHJ1bm5pbmcgY3VybAotLSBgJUNVUkxgIC0gUGF0aCB0byB0aGUgY3VybCBleGVjdXRhYmxlCi0tIGAlRklMRV9QV0RgIC0gQ3VycmVudCBkaXJlY3RvcnksIG9uIHdpbmRvd3MgcHJlZml4ZWQgd2l0aCBhIHNsYXNoCi0tIGAlRlRQMlBPUlRgIC0gUG9ydCBudW1iZXIgb2YgdGhlIEZUUCBzZXJ2ZXIgMgotLSBgJUZUUDZQT1JUYCAtIElQdjYgcG9ydCBudW1iZXIgb2YgdGhlIEZUUCBzZXJ2ZXIKLS0gYCVGVFBQT1JUYCAtIFBvcnQgbnVtYmVyIG9mIHRoZSBGVFAgc2VydmVyCi0tIGAlRlRQU1BPUlRgIC0gUG9ydCBudW1iZXIgb2YgdGhlIEZUUFMgc2VydmVyCi0tIGAlRlRQVElNRTJgIC0gVGltZW91dCBpbiBzZWNvbmRzIHRoYXQgc2hvdWxkIGJlIGp1c3Qgc3VmZmljaWVudCB0byByZWNlaXZlIGEgcmVzcG9uc2UgZnJvbSB0aGUgdGVzdCBGVFAgc2VydmVyCi0tIGAlRlRQVElNRTNgIC0gRXZlbiBsb25nZXIgdGhhbiAlRlRQVElNRTIKLS0gYCVHT1BIRVI2UE9SVGAgLSBJUHY2IHBvcnQgbnVtYmVyIG9mIHRoZSBHb3BoZXIgc2VydmVyCi0tIGAlR09QSEVSUE9SVGAgLSBQb3J0IG51bWJlciBvZiB0aGUgR29waGVyIHNlcnZlcgotLSBgJUhPU1Q2SVBgIC0gSVB2NiBhZGRyZXNzIG9mIHRoZSBob3N0IHJ1bm5pbmcgdGhpcyB0ZXN0Ci0tIGAlSE9TVElQYCAtIElQdjQgYWRkcmVzcyBvZiB0aGUgaG9zdCBydW5uaW5nIHRoaXMgdGVzdAotLSBgJUhUVFA2UE9SVGAgLSBJUHY2IHBvcnQgbnVtYmVyIG9mIHRoZSBIVFRQIHNlcnZlcgotLSBgJUhUVFBQT1JUYCAtIFBvcnQgbnVtYmVyIG9mIHRoZSBIVFRQIHNlcnZlcgotLSBgJUhUVFBTUE9SVGAgLSBQb3J0IG51bWJlciBvZiB0aGUgSFRUUFMgc2VydmVyCi0tIGAlSFRUUFRMUzZQT1JUYCAtIElQdjYgcG9ydCBudW1iZXIgb2YgdGhlIEhUVFAgVExTIHNlcnZlcgotLSBgJUhUVFBUTFNQT1JUYCAtIFBvcnQgbnVtYmVyIG9mIHRoZSBIVFRQIFRMUyBzZXJ2ZXIKLS0gYCVIVFRQVU5JWFBBVEhgIC0gUGF0aCB0byB0aGUgVW5peCBzb2NrZXQgb2YgdGhlIEhUVFAgc2VydmVyCi0tIGAlSU1BUDZQT1JUYCAtIElQdjYgcG9ydCBudW1iZXIgb2YgdGhlIElNQVAgc2VydmVyCi0tIGAlSU1BUFBPUlRgIC0gUG9ydCBudW1iZXIgb2YgdGhlIElNQVAgc2VydmVyCi0tIGAlTVFUVFBPUlRgIC0gUG9ydCBudW1iZXIgb2YgdGhlIE1RVFQgc2VydmVyCi0tIGAlTkVHVEVMTkVUUE9SVGAgLSBQb3J0IG51bWJlciBvZiB0aGUgdGVsbmV0IHNlcnZlcgotLSBgJU5PTElTVEVOUE9SVGAgLSBQb3J0IG51bWJlciB3aGVyZSBubyBzZXJ2aWNlIGlzIGxpc3RlbmluZwotLSBgJVBPUDM2UE9SVGAgLSBJUHY2IHBvcnQgbnVtYmVyIG9mIHRoZSBQT1AzIHNlcnZlcgotLSBgJVBPUDNQT1JUYCAtIFBvcnQgbnVtYmVyIG9mIHRoZSBQT1AzIHNlcnZlcgotLSBgJVBPU0lYX1BXRGAgLSBDdXJyZW50IGRpcmVjdG9yeSBzb21ld2hhdCBtaW5ndyBmcmllbmRseQotLSBgJVBST1hZUE9SVGAgLSBQb3J0IG51bWJlciBvZiB0aGUgSFRUUCBwcm94eQotLSBgJVBXRGAgLSBDdXJyZW50IGRpcmVjdG9yeQotLSBgJVJUU1A2UE9SVGAgLSBJUHY2IHBvcnQgbnVtYmVyIG9mIHRoZSBSVFNQIHNlcnZlcgotLSBgJVJUU1BQT1JUYCAtIFBvcnQgbnVtYmVyIG9mIHRoZSBSVFNQIHNlcnZlcgotLSBgJVNNQlBPUlRgIC0gUG9ydCBudW1iZXIgb2YgdGhlIFNNQiBzZXJ2ZXIKLS0gYCVTTUJTUE9SVGAgLSBQb3J0IG51bWJlciBvZiB0aGUgU01CUyBzZXJ2ZXIKLS0gYCVTTVRQNlBPUlRgIC0gSVB2NiBwb3J0IG51bWJlciBvZiB0aGUgU01UUCBzZXJ2ZXIKLS0gYCVTTVRQUE9SVGAgLSBQb3J0IG51bWJlciBvZiB0aGUgU01UUCBzZXJ2ZXIKLS0gYCVTT0NLU1BPUlRgIC0gUG9ydCBudW1iZXIgb2YgdGhlIFNPQ0tTNC81IHNlcnZlcgotLSBgJVNSQ0RJUmAgLSBGdWxsIHBhdGggdG8gdGhlIHNvdXJjZSBkaXIKLS0gYCVTU0hQT1JUYCAtIFBvcnQgbnVtYmVyIG9mIHRoZSBTQ1AvU0ZUUCBzZXJ2ZXIKLS0gYCVTU0hTUlZNRDVgIC0gTUQ1IG9mIFNTSCBzZXJ2ZXIncyBwdWJsaWMga2V5Ci0tIGAlVEZUUDZQT1JUYCAtIElQdjYgcG9ydCBudW1iZXIgb2YgdGhlIFRGVFAgc2VydmVyCi0tIGAlVEZUUFBPUlRgIC0gUG9ydCBudW1iZXIgb2YgdGhlIFRGVFAgc2VydmVyCi0tIGAlVVNFUmAgLSBMb2dpbiBJRCBvZiB0aGUgdXNlciBydW5uaW5nIHRoZSB0ZXN0Ci0KICMjIyBgPGZpbGUgbmFtZT0ibG9nL2ZpbGVuYW1lIj5gCiBUaGlzIGNyZWF0ZXMgdGhlIG5hbWVkIGZpbGUgd2l0aCB0aGlzIGNvbnRlbnQgYmVmb3JlIHRoZSB0ZXN0IGNhc2UgaXMgcnVuLAotd2hpY2ggaXMgdXNlZnVsIGlmIHRoZSB0ZXN0IGNhc2UgbmVlZHMgYSBmaWxlIHRvIGFjdCBvbi4gIFZhcmlhYmxlcyBhcmUKLXN1YnN0aXR1dGVkIG9uIHRoZSBjb250ZW50cyBvZiB0aGUgZmlsZSBhcyBpbiB0aGUgYDxjb21tYW5kPmAgc2VjdGlvbi4KK3doaWNoIGlzIHVzZWZ1bCBpZiB0aGUgdGVzdCBjYXNlIG5lZWRzIGEgZmlsZSB0byBhY3Qgb24uCiAKICMjIyBgPHN0ZGluIFtub25ld2xpbmU9InllcyJdPmAKIFBhc3MgdGhpcyBnaXZlbiBkYXRhIG9uIHN0ZGluIHRvIHRoZSB0b29sLgpAQCAtNDE1LDIwICs0MzQsMjcgQEAKIAogdGhlIHByb3RvY29sIGR1bXAgY3VybCBzaG91bGQgdHJhbnNtaXQsIGlmICdub25ld2xpbmUnIGlzIHNldCwgd2Ugd2lsbCBjdXQgb2ZmCiB0aGUgdHJhaWxpbmcgbmV3bGluZSBvZiB0aGlzIGdpdmVuIGRhdGEgYmVmb3JlIGNvbXBhcmluZyB3aXRoIHRoZSBvbmUgYWN0dWFsbHkKLXNlbnQgYnkgdGhlIGNsaWVudCBWYXJpYWJsZXMgYXJlIHN1YnN0aXR1dGVkIGFzIGluIHRoZSBgPGNvbW1hbmQ+YCBzZWN0aW9uLgotVGhlIGA8c3RyaXA+YCBhbmQgYDxzdHJpcHBhcnQ+YCBydWxlcyBhcmUgYXBwbGllZCBiZWZvcmUgY29tcGFyaXNvbnMgYXJlIG1hZGUuCitzZW50IGJ5IHRoZSBjbGllbnQgVGhlIGA8c3RyaXA+YCBhbmQgYDxzdHJpcHBhcnQ+YCBydWxlcyBhcmUgYXBwbGllZCBiZWZvcmUKK2NvbXBhcmlzb25zIGFyZSBtYWRlLgogCiAjIyMgYDxwcm94eSBbbm9uZXdsaW5lPSJ5ZXMiXT5gCiAKIFRoZSBwcm90b2NvbCBkdW1wIGN1cmwgc2hvdWxkIHRyYW5zbWl0IHRvIGEgSFRUUCBwcm94eSAod2hlbiB0aGUgaHR0cC1wcm94eQogc2VydmVyIGlzIHVzZWQpLCBpZiAnbm9uZXdsaW5lJyBpcyBzZXQsIHdlIHdpbGwgY3V0IG9mZiB0aGUgdHJhaWxpbmcgbmV3bGluZQogb2YgdGhpcyBnaXZlbiBkYXRhIGJlZm9yZSBjb21wYXJpbmcgd2l0aCB0aGUgb25lIGFjdHVhbGx5IHNlbnQgYnkgdGhlIGNsaWVudAotVmFyaWFibGVzIGFyZSBzdWJzdGl0dXRlZCBhcyBpbiB0aGUgYDxjb21tYW5kPmAgc2VjdGlvbi4gVGhlIGA8c3RyaXA+YCBhbmQKLWA8c3RyaXBwYXJ0PmAgcnVsZXMgYXJlIGFwcGxpZWQgYmVmb3JlIGNvbXBhcmlzb25zIGFyZSBtYWRlLgorVGhlIGA8c3RyaXA+YCBhbmQgYDxzdHJpcHBhcnQ+YCBydWxlcyBhcmUgYXBwbGllZCBiZWZvcmUgY29tcGFyaXNvbnMgYXJlIG1hZGUuCisKKyMjIyBgPHN0ZGVyciBbbW9kZT0idGV4dCJdIFtub25ld2xpbmU9InllcyJdPmAKK1RoaXMgdmVyaWZpZXMgdGhhdCB0aGlzIGRhdGEgd2FzIHBhc3NlZCB0byBzdGRlcnIuCisKK1VzZSB0aGUgbW9kZT0idGV4dCIgYXR0cmlidXRlIGlmIHRoZSBvdXRwdXQgaXMgaW4gdGV4dCBtb2RlIG9uIHBsYXRmb3JtcyB0aGF0CitoYXZlIGEgdGV4dC9iaW5hcnkgZGlmZmVyZW5jZS4KKworSWYgJ25vbmV3bGluZScgaXMgc2V0LCB3ZSB3aWxsIGN1dCBvZmYgdGhlIHRyYWlsaW5nIG5ld2xpbmUgb2YgdGhpcyBnaXZlbiBkYXRhCitiZWZvcmUgY29tcGFyaW5nIHdpdGggdGhlIG9uZSBhY3R1YWxseSByZWNlaXZlZCBieSB0aGUgY2xpZW50CiAKICMjIyBgPHN0ZG91dCBbbW9kZT0idGV4dCJdIFtub25ld2xpbmU9InllcyJdPmAKLVRoaXMgdmVyaWZpZXMgdGhhdCB0aGlzIGRhdGEgd2FzIHBhc3NlZCB0byBzdGRvdXQuICBWYXJpYWJsZXMgYXJlCi1zdWJzdGl0dXRlZCBhcyBpbiB0aGUgYDxjb21tYW5kPmAgc2VjdGlvbi4KK1RoaXMgdmVyaWZpZXMgdGhhdCB0aGlzIGRhdGEgd2FzIHBhc3NlZCB0byBzdGRvdXQuCiAKIFVzZSB0aGUgbW9kZT0idGV4dCIgYXR0cmlidXRlIGlmIHRoZSBvdXRwdXQgaXMgaW4gdGV4dCBtb2RlIG9uIHBsYXRmb3JtcyB0aGF0CiBoYXZlIGEgdGV4dC9iaW5hcnkgZGlmZmVyZW5jZS4KQEAgLTQzOSw4ICs0NjUsNyBAQAogIyMjIGA8ZmlsZSBuYW1lPSJsb2cvZmlsZW5hbWUiIFttb2RlPSJ0ZXh0Il0+YAogVGhlIGZpbGUncyBjb250ZW50cyBtdXN0IGJlIGlkZW50aWNhbCB0byB0aGlzIGFmdGVyIHRoZSB0ZXN0IGlzIGNvbXBsZXRlLiAgVXNlCiB0aGUgbW9kZT0idGV4dCIgYXR0cmlidXRlIGlmIHRoZSBvdXRwdXQgaXMgaW4gdGV4dCBtb2RlIG9uIHBsYXRmb3JtcyB0aGF0IGhhdmUKLWEgdGV4dC9iaW5hcnkgZGlmZmVyZW5jZS4gIFZhcmlhYmxlcyBhcmUgc3Vic3RpdHV0ZWQgYXMgaW4gdGhlIGA8Y29tbWFuZD5gCi1zZWN0aW9uLgorYSB0ZXh0L2JpbmFyeSBkaWZmZXJlbmNlLgogCiAjIyMgYDxmaWxlMT5gCiAxIHRvIDQgY2FuIGJlIGFwcGVuZGVkIHRvICdmaWxlJyB0byBjb21wYXJlIG1vcmUgZmlsZXMuCmRpZmYgLS1naXQgYS90ZXN0cy9NYWtlZmlsZS5hbSBiL3Rlc3RzL01ha2VmaWxlLmFtCmluZGV4IGNlYTA5ZDEuLjk3NzNiODYgMTAwNjQ0Ci0tLSBhL3Rlc3RzL01ha2VmaWxlLmFtCisrKyBiL3Rlc3RzL01ha2VmaWxlLmFtCkBAIC0zMyw3ICszMyw3IEBACiAgbmVndGVsbmV0c2VydmVyLnB5IHNtYnNlcnZlci5weSBjdXJsX3Rlc3RfZGF0YS5weSAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCiAgb2JqbmFtZXMtdGVzdDA4LnNoIG9iam5hbWVzLXRlc3QxMC5zaCBvYmpuYW1lcy5pbmMgICAgICAgICAgICAgICAgICAgICAgICAgICBcCiAgZGlzYWJsZS1zY2FuLnBsIG1hbnBhZ2Utc3ludGF4LnBsIGVycm9yLWNvZGVzLnBsIGJhZHN5bWJvbHMucGwgICAgICAgICAgICAgICBcCi0gYXp1cmUucG0gYXBwdmV5b3IucG0gdmVyc2lvbi1zY2FuLnBsCisgYXp1cmUucG0gYXBwdmV5b3IucG0gdmVyc2lvbi1zY2FuLnBsIG9wdGlvbnMtc2Nhbi5wbAogCiBESVNUQ0xFQU5GSUxFUyA9IGNvbmZpZ3VyZWhlbHAucG0KIApkaWZmIC0tZ2l0IGEvdGVzdHMvYmFkc3ltYm9scy5wbCBiL3Rlc3RzL2JhZHN5bWJvbHMucGwKaW5kZXggMDVkMzI1Yy4uNDMxZThlNCAxMDA3NTUKLS0tIGEvdGVzdHMvYmFkc3ltYm9scy5wbAorKysgYi90ZXN0cy9iYWRzeW1ib2xzLnBsCkBAIC03Niw3ICs3Niw4IEBACiAgICAgICAgICAgICAgICAgbmV4dDsKICAgICAgICAgICAgIH0KICAgICAgICAgICAgICMgcGFyc2UgdGhpcyEKLSAgICAgICAgICAgICRza2lwaXQgPSAwLAorICAgICAgICAgICAgJHNraXBpdCA9IDA7CisgICAgICAgICAgICBuZXh0OwogICAgICAgICB9CiAgICAgICAgIGlmKCRza2lwaXQpIHsKICAgICAgICAgICAgIG5leHQ7CkBAIC04OCw4ICs4OSw3IEBACiAgICAgICAgICAgICBpZigoJF8gIX4gL1x9KDt8KS8pICYmCiAgICAgICAgICAgICAgICAoJF8gbmUgInR5cGVkZWYiKSAmJgogICAgICAgICAgICAgICAgKCRfIG5lICJlbnVtIikgJiYKLSAgICAgICAgICAgICAgICgkXyAhfiAvXlsgXHRdKiQvKSAmJgotICAgICAgICAgICAgICAgKCRfIG5lICIjIikpIHsKKyAgICAgICAgICAgICAgICgkXyAhfiAvXlsgXHRdKiQvKSkgewogICAgICAgICAgICAgICAgIHB1c2ggQHN5bXMsICRfOwogICAgICAgICAgICAgfQogICAgICAgICB9CmRpZmYgLS1naXQgYS90ZXN0cy9kYXRhL01ha2VmaWxlLmluYyBiL3Rlc3RzL2RhdGEvTWFrZWZpbGUuaW5jCmluZGV4IDI2ZmFhOTUuLmVmOTI1MmIgMTAwNjQ0Ci0tLSBhL3Rlc3RzL2RhdGEvTWFrZWZpbGUuaW5jCisrKyBiL3Rlc3RzL2RhdGEvTWFrZWZpbGUuaW5jCkBAIC01OCw3ICs1OCw3IEBACiB0ZXN0MzE2IHRlc3QzMTcgdGVzdDMxOCB0ZXN0MzE5IHRlc3QzMjAgdGVzdDMyMSB0ZXN0MzIyIHRlc3QzMjMgdGVzdDMyNCBcCiB0ZXN0MzI1IHRlc3QzMjYgdGVzdDMyNyB0ZXN0MzI4IHRlc3QzMjkgdGVzdDMzMCB0ZXN0MzMxIHRlc3QzMzIgdGVzdDMzMyBcCiB0ZXN0MzM0IHRlc3QzMzUgdGVzdDMzNiB0ZXN0MzM3IHRlc3QzMzggdGVzdDMzOSB0ZXN0MzQwIHRlc3QzNDEgdGVzdDM0MiBcCi10ZXN0MzQzIHRlc3QzNDQgdGVzdDM0NSBcCit0ZXN0MzQzIHRlc3QzNDQgdGVzdDM0NSB0ZXN0MzQ2IFwKIHRlc3QzNTAgdGVzdDM1MSB0ZXN0MzUyIHRlc3QzNTMgdGVzdDM1NCB0ZXN0MzU1IHRlc3QzNTYgdGVzdDM1NyB0ZXN0MzU4IFwKIHRlc3QzNTkgXAogdGVzdDM5MyB0ZXN0Mzk0IHRlc3QzOTUgXApAQCAtOTksMTIgKzk5LDEyIEBACiB0ZXN0ODE4IHRlc3Q4MTkgdGVzdDgyMCB0ZXN0ODIxIHRlc3Q4MjIgdGVzdDgyMyB0ZXN0ODI0IHRlc3Q4MjUgdGVzdDgyNiBcCiB0ZXN0ODI3IHRlc3Q4MjggdGVzdDgyOSB0ZXN0ODMwIHRlc3Q4MzEgdGVzdDgzMiB0ZXN0ODMzIHRlc3Q4MzQgdGVzdDgzNSBcCiB0ZXN0ODM2IHRlc3Q4MzcgdGVzdDgzOCB0ZXN0ODM5IHRlc3Q4NDAgdGVzdDg0MSB0ZXN0ODQyIHRlc3Q4NDMgdGVzdDg0NCBcCi10ZXN0ODQ1IHRlc3Q4NDYgdGVzdDg0NyB0ZXN0ODQ4IHRlc3Q4NDkgXAotdGVzdDg1MCB0ZXN0ODUxIHRlc3Q4NTIgdGVzdDg1MyB0ZXN0ODU0IHRlc3Q4NTUgdGVzdDg1NiB0ZXN0ODU3IHRlc3Q4NTggXAotdGVzdDg1OSB0ZXN0ODYwIHRlc3Q4NjEgdGVzdDg2MiB0ZXN0ODYzIHRlc3Q4NjQgdGVzdDg2NSB0ZXN0ODY2IHRlc3Q4NjcgXAotdGVzdDg2OCB0ZXN0ODY5IHRlc3Q4NzAgdGVzdDg3MSB0ZXN0ODcyIHRlc3Q4NzMgdGVzdDg3NCB0ZXN0ODc1IHRlc3Q4NzYgXAotdGVzdDg3NyB0ZXN0ODc4IHRlc3Q4NzkgdGVzdDg4MCB0ZXN0ODgxIHRlc3Q4ODIgdGVzdDg4MyB0ZXN0ODg0IHRlc3Q4ODUgXAotdGVzdDg4NiB0ZXN0ODg3IHRlc3Q4ODggdGVzdDg4OSB0ZXN0ODkwIHRlc3Q4OTEgdGVzdDg5MiB0ZXN0ODkzIHRlc3Q4OTQgXAordGVzdDg0NSB0ZXN0ODQ2IHRlc3Q4NDcgdGVzdDg0OCB0ZXN0ODQ5IHRlc3Q4NTAgdGVzdDg1MSB0ZXN0ODUyIHRlc3Q4NTMgXAordGVzdDg1NCB0ZXN0ODU1IHRlc3Q4NTYgdGVzdDg1NyB0ZXN0ODU4IHRlc3Q4NTkgdGVzdDg2MCB0ZXN0ODYxIHRlc3Q4NjIgXAordGVzdDg2MyB0ZXN0ODY0IHRlc3Q4NjUgdGVzdDg2NiB0ZXN0ODY3IHRlc3Q4NjggdGVzdDg2OSB0ZXN0ODcwIHRlc3Q4NzEgXAordGVzdDg3MiB0ZXN0ODczIHRlc3Q4NzQgdGVzdDg3NSB0ZXN0ODc2IHRlc3Q4NzcgdGVzdDg3OCB0ZXN0ODc5IHRlc3Q4ODAgXAordGVzdDg4MSB0ZXN0ODgyIHRlc3Q4ODMgdGVzdDg4NCB0ZXN0ODg1IHRlc3Q4ODYgdGVzdDg4NyB0ZXN0ODg4IHRlc3Q4ODkgXAordGVzdDg5MCB0ZXN0ODkxIHRlc3Q4OTIgdGVzdDg5MyB0ZXN0ODk0IHRlc3Q4OTUgdGVzdDg5NiBcCiBcCiB0ZXN0OTAwIHRlc3Q5MDEgdGVzdDkwMiB0ZXN0OTAzIHRlc3Q5MDQgdGVzdDkwNSB0ZXN0OTA2IHRlc3Q5MDcgdGVzdDkwOCBcCiB0ZXN0OTA5IHRlc3Q5MTAgdGVzdDkxMSB0ZXN0OTEyIHRlc3Q5MTMgdGVzdDkxNCB0ZXN0OTE1IHRlc3Q5MTYgdGVzdDkxNyBcCkBAIC0xMTMsNyArMTEzLDcgQEAKIHRlc3Q5MzYgdGVzdDkzNyB0ZXN0OTM4IHRlc3Q5MzkgdGVzdDk0MCB0ZXN0OTQxIHRlc3Q5NDIgdGVzdDk0MyB0ZXN0OTQ0IFwKIHRlc3Q5NDUgdGVzdDk0NiB0ZXN0OTQ3IHRlc3Q5NDggdGVzdDk0OSB0ZXN0OTUwIHRlc3Q5NTEgdGVzdDk1MiB0ZXN0OTUzIFwKIHRlc3Q5NTQgdGVzdDk1NSB0ZXN0OTU2IHRlc3Q5NTcgdGVzdDk1OCB0ZXN0OTU5IHRlc3Q5NjAgdGVzdDk2MSB0ZXN0OTYyIFwKLXRlc3Q5NjMgdGVzdDk2NCB0ZXN0OTY1IHRlc3Q5NjYgdGVzdDk2NyB0ZXN0OTY4IHRlc3Q5NjkgdGVzdDk3MCBcCit0ZXN0OTYzIHRlc3Q5NjQgdGVzdDk2NSB0ZXN0OTY2IHRlc3Q5NjcgdGVzdDk2OCB0ZXN0OTY5IHRlc3Q5NzAgdGVzdDk3MSBcCiBcCiB0ZXN0MTAwMCB0ZXN0MTAwMSB0ZXN0MTAwMiB0ZXN0MTAwMyB0ZXN0MTAwNCB0ZXN0MTAwNSB0ZXN0MTAwNiB0ZXN0MTAwNyBcCiB0ZXN0MTAwOCB0ZXN0MTAwOSB0ZXN0MTAxMCB0ZXN0MTAxMSB0ZXN0MTAxMiB0ZXN0MTAxMyB0ZXN0MTAxNCB0ZXN0MTAxNSBcCkBAIC0xMzYsOCArMTM2LDEwIEBACiB0ZXN0MTE0NCB0ZXN0MTE0NSB0ZXN0MTE0NiB0ZXN0MTE0NyB0ZXN0MTE0OCB0ZXN0MTE0OSB0ZXN0MTE1MCB0ZXN0MTE1MSBcCiB0ZXN0MTE1MiB0ZXN0MTE1MyB0ZXN0MTE1NCB0ZXN0MTE1NSB0ZXN0MTE1NiB0ZXN0MTE1NyB0ZXN0MTE1OCB0ZXN0MTE1OSBcCiB0ZXN0MTE2MCB0ZXN0MTE2MSB0ZXN0MTE2MiB0ZXN0MTE2MyB0ZXN0MTE2NCB0ZXN0MTE2NSB0ZXN0MTE2NiB0ZXN0MTE2NyBcCit0ZXN0MTE2OCBcCiBcCiB0ZXN0MTE3MCB0ZXN0MTE3MSB0ZXN0MTE3MiB0ZXN0MTE3MyB0ZXN0MTE3NCB0ZXN0MTE3NSB0ZXN0MTE3NiB0ZXN0MTE3NyBcCit0ZXN0MTE3OCB0ZXN0MTE3OSBcCiBcCiB0ZXN0MTE5MCB0ZXN0MTE5MSB0ZXN0MTE5MiB0ZXN0MTE5MyB0ZXN0MTE5NCB0ZXN0MTE5NSB0ZXN0MTE5NiBcCiBcCkBAIC0xNTQsNiArMTU2LDcgQEAKIFwKIHRlc3QxMjgwIHRlc3QxMjgxIHRlc3QxMjgyIHRlc3QxMjgzIHRlc3QxMjg0IHRlc3QxMjg1IHRlc3QxMjg2IHRlc3QxMjg3IFwKIHRlc3QxMjg4IHRlc3QxMjg5IHRlc3QxMjkwIHRlc3QxMjkxIHRlc3QxMjkyIHRlc3QxMjkzIHRlc3QxMjk0IHRlc3QxMjk1IFwKK3Rlc3QxMjk2IFwKIFwKIHRlc3QxMjk4IHRlc3QxMjk5IHRlc3QxMzAwIHRlc3QxMzAxIHRlc3QxMzAyIHRlc3QxMzAzIHRlc3QxMzA0IHRlc3QxMzA1IFwKIHRlc3QxMzA2IHRlc3QxMzA3IHRlc3QxMzA4IHRlc3QxMzA5IHRlc3QxMzEwIHRlc3QxMzExIHRlc3QxMzEyIHRlc3QxMzEzIFwKQEAgLTE3NSwxNCArMTc4LDE1IEBACiB0ZXN0MTQzNCB0ZXN0MTQzNSB0ZXN0MTQzNiB0ZXN0MTQzNyB0ZXN0MTQzOCB0ZXN0MTQzOSB0ZXN0MTQ0MCB0ZXN0MTQ0MSBcCiB0ZXN0MTQ0MiB0ZXN0MTQ0MyB0ZXN0MTQ0NCB0ZXN0MTQ0NSB0ZXN0MTQ0NiB0ZXN0MTQ0NyB0ZXN0MTQ0OCB0ZXN0MTQ0OSBcCiB0ZXN0MTQ1MCB0ZXN0MTQ1MSB0ZXN0MTQ1MiB0ZXN0MTQ1MyB0ZXN0MTQ1NCB0ZXN0MTQ1NSB0ZXN0MTQ1NiB0ZXN0MTQ1NyBcCi10ZXN0MTQ1OCB0ZXN0MTQ1OSB0ZXN0MTUwMCB0ZXN0MTUwMSB0ZXN0MTUwMiB0ZXN0MTUwMyB0ZXN0MTUwNCB0ZXN0MTUwNSBcCi10ZXN0MTUwNiB0ZXN0MTUwNyB0ZXN0MTUwOCB0ZXN0MTUwOSB0ZXN0MTUxMCB0ZXN0MTUxMSB0ZXN0MTUxMiB0ZXN0MTUxMyBcCi10ZXN0MTUxNCB0ZXN0MTUxNSB0ZXN0MTUxNiB0ZXN0MTUxNyB0ZXN0MTUxOCB0ZXN0MTUxOSB0ZXN0MTUyMCB0ZXN0MTUyMSBcCi10ZXN0MTUyMiB0ZXN0MTUyMyB0ZXN0MTUyNCBcCit0ZXN0MTQ1OCB0ZXN0MTQ1OSB0ZXN0MTQ2MCBcCiBcCi10ZXN0MTUyNSB0ZXN0MTUyNiB0ZXN0MTUyNyB0ZXN0MTUyOCB0ZXN0MTUyOSB0ZXN0MTUzMCB0ZXN0MTUzMSB0ZXN0MTUzMiBcCi10ZXN0MTUzMyB0ZXN0MTUzNCB0ZXN0MTUzNSB0ZXN0MTUzNiB0ZXN0MTUzNyB0ZXN0MTUzOCBcCit0ZXN0MTUwMCB0ZXN0MTUwMSB0ZXN0MTUwMiB0ZXN0MTUwMyB0ZXN0MTUwNCB0ZXN0MTUwNSB0ZXN0MTUwNiB0ZXN0MTUwNyBcCit0ZXN0MTUwOCB0ZXN0MTUwOSB0ZXN0MTUxMCB0ZXN0MTUxMSB0ZXN0MTUxMiB0ZXN0MTUxMyB0ZXN0MTUxNCB0ZXN0MTUxNSBcCit0ZXN0MTUxNiB0ZXN0MTUxNyB0ZXN0MTUxOCB0ZXN0MTUxOSB0ZXN0MTUyMCB0ZXN0MTUyMSB0ZXN0MTUyMiB0ZXN0MTUyMyBcCit0ZXN0MTUyNCB0ZXN0MTUyNSB0ZXN0MTUyNiB0ZXN0MTUyNyB0ZXN0MTUyOCB0ZXN0MTUyOSB0ZXN0MTUzMCB0ZXN0MTUzMSBcCit0ZXN0MTUzMiB0ZXN0MTUzMyB0ZXN0MTUzNCB0ZXN0MTUzNSB0ZXN0MTUzNiB0ZXN0MTUzNyB0ZXN0MTUzOCB0ZXN0MTUzOSBcCiB0ZXN0MTU0MCB0ZXN0MTU0MSBcCitcCiB0ZXN0MTU1MCB0ZXN0MTU1MSB0ZXN0MTU1MiB0ZXN0MTU1MyB0ZXN0MTU1NCB0ZXN0MTU1NSB0ZXN0MTU1NiB0ZXN0MTU1NyBcCiB0ZXN0MTU1OCB0ZXN0MTU1OSB0ZXN0MTU2MCB0ZXN0MTU2MSB0ZXN0MTU2MiB0ZXN0MTU2MyB0ZXN0MTU2NCB0ZXN0MTU2NSBcCiB0ZXN0MTU2NiBcCkBAIC0xOTQsNiArMTk4LDggQEAKIFwKIHRlc3QxNjIwIHRlc3QxNjIxIFwKIFwKK3Rlc3QxNjMwIHRlc3QxNjMxIHRlc3QxNjMyIHRlc3QxNjMzIFwKK1wKIHRlc3QxNjUwIHRlc3QxNjUxIHRlc3QxNjUyIHRlc3QxNjUzIHRlc3QxNjU0IHRlc3QxNjU1IFwKIFwKIHRlc3QxNzAwIHRlc3QxNzAxIHRlc3QxNzAyIFwKQEAgLTIwMSw3ICsyMDcsNyBAQAogdGVzdDE4MDAgdGVzdDE4MDEgXAogXAogdGVzdDE5MDAgdGVzdDE5MDEgdGVzdDE5MDIgdGVzdDE5MDMgdGVzdDE5MDQgdGVzdDE5MDUgdGVzdDE5MDYgdGVzdDE5MDcgXAotdGVzdDE5MDggXAordGVzdDE5MDggdGVzdDE5MDkgdGVzdDE5MTAgXAogXAogdGVzdDIwMDAgdGVzdDIwMDEgdGVzdDIwMDIgdGVzdDIwMDMgdGVzdDIwMDQgdGVzdDIwMDUgdGVzdDIwMDYgdGVzdDIwMDcgXAogdGVzdDIwMDggdGVzdDIwMDkgdGVzdDIwMTAgdGVzdDIwMTEgdGVzdDIwMTIgdGVzdDIwMTMgdGVzdDIwMTQgdGVzdDIwMTUgXApkaWZmIC0tZ2l0IGEvdGVzdHMvZGF0YS90ZXN0MTAzNCBiL3Rlc3RzL2RhdGEvdGVzdDEwMzQKaW5kZXggYjRmZmM4YS4uODkwODNhMiAxMDA2NDQKLS0tIGEvdGVzdHMvZGF0YS90ZXN0MTAzNAorKysgYi90ZXN0cy9kYXRhL3Rlc3QxMDM0CkBAIC00Myw3ICs0Myw3IEBACiB1cmwgPSAiaHR0cDovL2ludmFsaWQtdXRmOC3ikC5sb2NhbC9wYWdlLzEwMzQiCiA8L3N0ZGluPgogIDxjb21tYW5kPgotLUsgLSAteCAlSE9TVElQOiVIVFRQUE9SVAorLUsgLSAteCAlSE9TVElQOiVOT0xJU1RFTlBPUlQKIDwvY29tbWFuZD4KIDwvY2xpZW50PgogCmRpZmYgLS1naXQgYS90ZXN0cy9kYXRhL3Rlc3QxMDM1IGIvdGVzdHMvZGF0YS90ZXN0MTAzNQppbmRleCBhMzE2YzUxLi42MmY5ZDdhIDEwMDY0NAotLS0gYS90ZXN0cy9kYXRhL3Rlc3QxMDM1CisrKyBiL3Rlc3RzL2RhdGEvdGVzdDEwMzUKQEAgLTM1LDcgKzM1LDcgQEAKIEhUVFAgb3ZlciBwcm94eSB3aXRoIHRvbyBsb25nIElETiBob3N0IG5hbWUKICA8L25hbWU+CiAgPGNvbW1hbmQ+Ci1odHRwOi8vdG9vLWxvbmctSUROLW5hbWUtY8O8cmwtcsO8bGVzLWxhLWxhLWxhLWRlZS1kYS1mbG9vYnktbm9vYnkubG9jYWwvcGFnZS8xMDM1IC14ICVIT1NUSVA6JUhUVFBQT1JUCitodHRwOi8vdG9vLWxvbmctSUROLW5hbWUtY8O8cmwtcsO8bGVzLWxhLWxhLWxhLWRlZS1kYS1mbG9vYnktbm9vYnkubG9jYWwvcGFnZS8xMDM1IC14ICVIT1NUSVA6JU5PTElTVEVOUE9SVAogPC9jb21tYW5kPgogPC9jbGllbnQ+CiAKZGlmZiAtLWdpdCBhL3Rlc3RzL2RhdGEvdGVzdDEwODQgYi90ZXN0cy9kYXRhL3Rlc3QxMDg0CmluZGV4IDFjZmFiNjguLmRiNmFiNWUgMTAwNjQ0Ci0tLSBhL3Rlc3RzL2RhdGEvdGVzdDEwODQKKysrIGIvdGVzdHMvZGF0YS90ZXN0MTA4NApAQCAtMjcsNyArMjcsNyBAQAogSFRUUCBHRVQgd2l0aCBpbnZhbGlkIC0taW50ZXJmYWNlCiAgPC9uYW1lPgogIDxjb21tYW5kPgotaHR0cDovLyVIT1NUSVA6JUhUVFBQT1JULzEwODQgLS1pbnRlcmZhY2Ugbm9uLWV4aXN0aW5nLWhvc3QuaGF4eC5zZS4KK2h0dHA6Ly8lSE9TVElQOiVOT0xJU1RFTlBPUlQvMTA4NCAtLWludGVyZmFjZSBub24tZXhpc3RpbmctaG9zdC5oYXh4LnNlLgogPC9jb21tYW5kPgogPC9jbGllbnQ+CiAKZGlmZiAtLWdpdCBhL3Rlc3RzL2RhdGEvdGVzdDEwODUgYi90ZXN0cy9kYXRhL3Rlc3QxMDg1CmluZGV4IGRiMDJlNjAuLmFjMWYwNjIgMTAwNjQ0Ci0tLSBhL3Rlc3RzL2RhdGEvdGVzdDEwODUKKysrIGIvdGVzdHMvZGF0YS90ZXN0MTA4NQpAQCAtMjksNyArMjksNyBAQAogSFRUUC1JUHY2IEdFVCB3aXRoIGludmFsaWQgLS1pbnRlcmZhY2UKICA8L25hbWU+CiAgPGNvbW1hbmQ+Ci0tZyAiaHR0cDovLyVIT1NUNklQOiVIVFRQNlBPUlQvMTA4NSIgLS1pbnRlcmZhY2Ugbm9uLWV4aXN0aW5nLWhvc3QuaGF4eC5zZS4KKy1nICJodHRwOi8vJUhPU1Q2SVA6JU5PTElTVEVOUE9SVC8xMDg1IiAtLWludGVyZmFjZSBub24tZXhpc3RpbmctaG9zdC5oYXh4LnNlLgogPC9jb21tYW5kPgogIyBFbnN1cmUgdGhlIElQdjYgc3RhY2sgaXMgb3BlcmF0aW9uYWwgYmVmb3JlIHJ1bm5pbmcgdGhpcyB0ZXN0IChvdGhlciB0ZXN0cwogIyB1c2UgdGhlIHN0YXJ0dXAgb2YgdGhlIElQdjYgdGVzdCBzZXJ2ZXIgYXMgYSBzdWJzdGl0dXRlIGNoZWNrIGZvciB0aGlzKS4KZGlmZiAtLWdpdCBhL3Rlc3RzL2RhdGEvdGVzdDEwOTcgYi90ZXN0cy9kYXRhL3Rlc3QxMDk3CmluZGV4IDcwYTg5OTAuLjgyZjIzODQgMTAwNjQ0Ci0tLSBhL3Rlc3RzL2RhdGEvdGVzdDEwOTcKKysrIGIvdGVzdHMvZGF0YS90ZXN0MTA5NwpAQCAtNDcsNiArNDcsNyBAQAogTlRMTQogU1NMCiAhU1NQSQorcHJveHkKIDwvZmVhdHVyZXM+CiAgPG5hbWU+CiBIVFRQIFBPU1QgdXNpbmcgQ09OTkVDVCB3aXRoIC0tcHJveHktbnRsbSBidXQgbm8gYXV0aCBpcyByZXF1aXJlZApkaWZmIC0tZ2l0IGEvdGVzdHMvZGF0YS90ZXN0MTE2OCBiL3Rlc3RzL2RhdGEvdGVzdDExNjgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMjgzZTkxZQotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL2RhdGEvdGVzdDExNjgKQEAgLTAsMCArMSw3OCBAQAorPHRlc3RjYXNlPgorPGluZm8+Cis8a2V5d29yZHM+CitIVFRQCitIVFRQIEdFVAorZm9sbG93bG9jYXRpb24KKzwva2V5d29yZHM+Cis8L2luZm8+CisjIFNlcnZlci1zaWRlCis8cmVwbHk+Cis8ZGF0YT4KK0hUVFAvMS4xIDMwMSBUaGlzIGlzIGEgd2VpcmRvIHRleHQgbWVzc2FnZSBzd3NjbG9zZQorRGF0ZTogVGh1LCAwOSBOb3YgMjAxMCAxNDo0OTowMCBHTVQKK1NlcnZlcjogdGVzdC1zZXJ2ZXIvZmFrZQorTG9jYXRpb246IC9kYXRhLzExNjgwMDAyLnR4dAorQ29ubmVjdGlvbjogY2xvc2UKKworVGhpcyBzZXJ2ZXIgcmVwbHkgaXMgZm9yIHRlc3RpbmcgYSBzaW1wbGUgTG9jYXRpb246IGZvbGxvd2luZworCis8L2RhdGE+Cis8ZGF0YTI+CitIVFRQLzEuMSAyMDAgRm9sbG93ZWQgaGVyZSBmaW5lIHN3c2Nsb3NlCitEYXRlOiBUaHUsIDA5IE5vdiAyMDEwIDE0OjQ5OjAwIEdNVAorU2VydmVyOiB0ZXN0LXNlcnZlci9mYWtlCitDb250ZW50LUxlbmd0aDogNTIKKworSWYgdGhpcyBpcyByZWNlaXZlZCwgdGhlIGxvY2F0aW9uIGZvbGxvd2luZyB3b3JrZWQKKworPC9kYXRhMj4KKzxkYXRhY2hlY2s+CitIVFRQLzEuMSAzMDEgVGhpcyBpcyBhIHdlaXJkbyB0ZXh0IG1lc3NhZ2Ugc3dzY2xvc2UKK0RhdGU6IFRodSwgMDkgTm92IDIwMTAgMTQ6NDk6MDAgR01UCitTZXJ2ZXI6IHRlc3Qtc2VydmVyL2Zha2UKK0xvY2F0aW9uOiAvZGF0YS8xMTY4MDAwMi50eHQKK0Nvbm5lY3Rpb246IGNsb3NlCisKK0hUVFAvMS4xIDIwMCBGb2xsb3dlZCBoZXJlIGZpbmUgc3dzY2xvc2UKK0RhdGU6IFRodSwgMDkgTm92IDIwMTAgMTQ6NDk6MDAgR01UCitTZXJ2ZXI6IHRlc3Qtc2VydmVyL2Zha2UKK0NvbnRlbnQtTGVuZ3RoOiA1MgorCitJZiB0aGlzIGlzIHJlY2VpdmVkLCB0aGUgbG9jYXRpb24gZm9sbG93aW5nIHdvcmtlZAorCis8L2RhdGFjaGVjaz4KKzwvcmVwbHk+CisKKyMgQ2xpZW50LXNpZGUKKzxjbGllbnQ+Cis8c2VydmVyPgoraHR0cAorPC9zZXJ2ZXI+CisgPG5hbWU+CitIVFRQIHJlZGlyZWN0IHdpdGggY3JlZGVudGlhbHMgdXNpbmcgIyBpbiB1c2VyIGFuZCBwYXNzd29yZAorIDwvbmFtZT4KKyA8Y29tbWFuZD4KK2h0dHA6Ly8lSE9TVElQOiVIVFRQUE9SVC93YW50LzExNjggLUwgLXUgImNhdG1haSNkOiNEWmFSSllyaXhLRSpnRlkiCis8L2NvbW1hbmQ+Cis8L2NsaWVudD4KKworIyBWZXJpZnkgZGF0YSBhZnRlciB0aGUgdGVzdCBoYXMgYmVlbiAic2hvdCIKKzx2ZXJpZnk+Cis8c3RyaXA+CiteVXNlci1BZ2VudDouKgorPC9zdHJpcD4KKzxwcm90b2NvbD4KK0dFVCAvd2FudC8xMTY4IEhUVFAvMS4xDQorSG9zdDogJUhPU1RJUDolSFRUUFBPUlQNCitBdXRob3JpemF0aW9uOiBCYXNpYyBZMkYwYldGcEkyUTZJMFJhWVZKS1dYSnBlRXRGS21kR1dRPT0NCitBY2NlcHQ6ICovKg0KKw0KK0dFVCAvZGF0YS8xMTY4MDAwMi50eHQgSFRUUC8xLjENCitIb3N0OiAlSE9TVElQOiVIVFRQUE9SVA0KK0F1dGhvcml6YXRpb246IEJhc2ljIFkyRjBiV0ZwSTJRNkkwUmFZVkpLV1hKcGVFdEZLbWRHV1E9PQ0KK0FjY2VwdDogKi8qDQorDQorPC9wcm90b2NvbD4KKzwvdmVyaWZ5PgorPC90ZXN0Y2FzZT4KZGlmZiAtLWdpdCBhL3Rlc3RzL2RhdGEvdGVzdDExNzcgYi90ZXN0cy9kYXRhL3Rlc3QxMTc3CmluZGV4IDc1YTFhYjMuLjg1YjUyMGMgMTAwNjQ0Ci0tLSBhL3Rlc3RzL2RhdGEvdGVzdDExNzcKKysrIGIvdGVzdHMvZGF0YS90ZXN0MTE3NwpAQCAtMTgsNyArMTgsNyBAQAogIDwvbmFtZT4KIAogPGNvbW1hbmQgdHlwZT0icGVybCI+Ci0lU1JDRElSL3ZlcnNpb24tc2Nhbi5wbCAlU1JDRElSLy4uL2RvY3MvbGliY3VybC9jdXJsX3ZlcnNpb25faW5mby4zIC4uL2luY2x1ZGUvY3VybC9jdXJsLmgKKyVTUkNESVIvdmVyc2lvbi1zY2FuLnBsICVTUkNESVIvLi4vZG9jcy9saWJjdXJsL2N1cmxfdmVyc2lvbl9pbmZvLjMgJVNSQ0RJUi8uLi9pbmNsdWRlL2N1cmwvY3VybC5oCiA8L2NvbW1hbmQ+CiA8L2NsaWVudD4KIApkaWZmIC0tZ2l0IGEvdGVzdHMvZGF0YS90ZXN0MTE3OCBiL3Rlc3RzL2RhdGEvdGVzdDExNzgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNmQxMjY0YwotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL2RhdGEvdGVzdDExNzgKQEAgLTAsMCArMSw1NSBAQAorPHRlc3RjYXNlPgorPGluZm8+Cis8a2V5d29yZHM+CitIVFRQCitIVFRQIEdFVAorSFRUUCBwcm94eQorPC9rZXl3b3Jkcz4KKzwvaW5mbz4KKyMKKyMgU2VydmVyLXNpZGUKKzxyZXBseT4KKzxkYXRhPgorSFRUUC8xLjEgMjAwIE9LCitEYXRlOiBUaHUsIDA5IE5vdiAyMDEwIDE0OjQ5OjAwIEdNVAorU2VydmVyOiB0ZXN0LXNlcnZlci9mYWtlIHN3c2Nsb3NlCitDb250ZW50LVR5cGU6IHRleHQvaHRtbAorRnVubnktaGVhZDogeWVzeWVzCisKKzwvZGF0YT4KKzwvcmVwbHk+CisKKyMKKyMgQ2xpZW50LXNpZGUKKzxjbGllbnQ+Cis8c2VydmVyPgoraHR0cAorPC9zZXJ2ZXI+CisgPG5hbWU+CitIVFRQIHByb3h5IGF1dGggd2l0aCBjcmVkZW50aWFscyBsb25nZXIgdGhhbiAyNTYgYnl0ZXMKKyA8L25hbWU+CisjIDQwMCB4ICdBJyA6IDYwMCB4ICdCJyAuLi4KKyA8Y29tbWFuZD4KK2h0dHA6Ly8lSE9TVElQOiVIVFRQUE9SVC93ZS93YW50L3RoYXQvcGFnZS8xMTc4IC14IGh0dHA6Ly8lSE9TVElQOiVIVFRQUE9SVCAtVSBBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBOkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQgorPC9jb21tYW5kPgorPGZlYXR1cmVzPgorcHJveHkKKzwvZmVhdHVyZXM+Cis8L2NsaWVudD4KKworIworIyBWZXJpZnkgZGF0YSBhZnRlciB0aGUgdGVzdCBoYXMgYmVlbiAic2hvdCIKKzx2ZXJpZnk+Cis8c3RyaXA+CiteVXNlci1BZ2VudDouKgorPC9zdHJpcD4KKzxwcm90b2NvbD4KK0dFVCBodHRwOi8vJUhPU1RJUDolSFRUUFBPUlQvd2Uvd2FudC90aGF0L3BhZ2UvMTE3OCBIVFRQLzEuMQ0KK0hvc3Q6ICVIT1NUSVA6JUhUVFBQT1JUDQorUHJveHktQXV0aG9yaXphdGlvbjogQmFzaWMgUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFUcENRa0pDUWtKQ1FrSkNRa0pDUWtKQ1FrSkNRa0pDUWtKQ1FrSkNRa0pDUWtKQ1FrSkNRa0pDUWtKQ1FrSkNRa0pDUWtKQ1FrSkNRa0pDUWtKQ1FrSkNRa0pDUWtKQ1FrSkNRa0pDUWtKQ1FrSkNRa0pDUWtKQ1FrSkNRa0pDUWtKQ1FrSkNRa0pDUWtKQ1FrSkNRa0pDUWtKQ1FrSkNRa0pDUWtKQ1FrSkNRa0pDUWtKQ1FrSkNRa0pDUWtKQ1FrSkNRa0pDUWtKQ1FrSkNRa0pDUWtKQ1FrSkNRa0pDUWtKQ1FrSkNRa0pDUWtKQ1FrSkNRa0pDUWtKQ1FrSkNRa0pDUWtKQ1FrSkNRa0pDUWtKQ1FrSkNRa0pDUWtKQ1FrSkNRa0pDUWtKQ1FrSkNRa0pDUWtKQ1FrSkNRa0pDUWtKQ1FrSkNRa0pDUWtKQ1FrSkNRa0pDUWtKQ1FrSkNRa0pDUWtKQ1FrSkNRa0pDUWtKQ1FrSkNRa0pDUWtKQ1FrSkNRa0pDUWtKQ1FrSkNRa0pDUWtKQ1FrSkNRa0pDUWtKQ1FrSkNRa0pDUWtKQ1FrSkNRa0pDUWtKQ1FrSkNRa0pDUWtKQ1FrSkNRa0pDUWtKQ1FrSkNRa0pDUWtKQ1FrSkNRa0pDUWtKQ1FrSkNRa0pDUWtKQ1FrSkNRa0pDUWtKQ1FrSkNRa0pDUWtKQ1FrSkNRa0pDUWtKQ1FrSkNRa0pDUWtKQ1FrSkNRa0pDUWtKQ1FrSkNRa0pDUWtKQ1FrSkNRa0pDUWtKQ1FrSkNRa0pDUWtKQ1FrSkNRa0pDUWtKQ1FrSkNRa0pDUWtKQ1FrSkNRa0pDUWtKQ1FrSkNRa0pDUWtKQ1FrSkNRa0pDUWtKQ1FrSkNRa0pDUWtKQ1FrSkNRa0pDUWtKQ1FrSkNRa0pDUWtKQ1FrSkNRa0pDUWtKQ1FrSkNRa0pDUWtKQ1FrSkNRa0pDUWtKQ1FrSkNRa0pDUWtKQ1FrSkNRa0pDUWtKQ1FrSkNRa0pDUWtKQ1FrSkNRa0pDUWtKQ1FrSkNRa0pDUWtKQ1FrSkNRa0pDUWtJPQ0KK0FjY2VwdDogKi8qDQorUHJveHktQ29ubmVjdGlvbjogS2VlcC1BbGl2ZQ0KKw0KKzwvcHJvdG9jb2w+Cis8L3ZlcmlmeT4KKzwvdGVzdGNhc2U+CmRpZmYgLS1naXQgYS90ZXN0cy9kYXRhL3Rlc3QxMTc5IGIvdGVzdHMvZGF0YS90ZXN0MTE3OQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4yMDZlZTdjCi0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvZGF0YS90ZXN0MTE3OQpAQCAtMCwwICsxLDQzIEBACis8dGVzdGNhc2U+Cis8aW5mbz4KKzxrZXl3b3Jkcz4KK2NtZGxpbmUKK3dyb25nIG9wdGlvbgorPC9rZXl3b3Jkcz4KKzwvaW5mbz4KKworIworIyBTZXJ2ZXItc2lkZQorPHJlcGx5PgorPC9yZXBseT4KKworIworIyBDbGllbnQtc2lkZQorPGNsaWVudD4KKzxzZXJ2ZXI+Citub25lCis8L3NlcnZlcj4KKyMgbWFrZSB0aGlzIHRlc3QgcmVxdWlyZSBtYW51YWwgYXMgdGhlIGVycm9yIG1lc3NhZ2UgaXMgZGlmZmVyZW50IHdpdGhvdXQgaXQKKzxmZWF0dXJlcz4KK21hbnVhbAorPC9mZWF0dXJlcz4KKzxuYW1lPgorZXJyb3Igd2hlbiB1c2luZyB1bmtub3duIGNvbW1hbmQgbGluZSBvcHRpb24KKzwvbmFtZT4KKzxjb21tYW5kPgorLS1uZXZlci1pbXBsZW1lbnRlZCBodHRwOi8vbmV2ZXIudXNlLnRoaXMuZXhhbXBsZS5jb20vMTE3OQorPC9jb21tYW5kPgorPC9jbGllbnQ+CisKKyMKKyMgVmVyaWZ5IGRhdGEgYWZ0ZXIgdGhlIHRlc3QgaGFzIGJlZW4gInNob3QiCis8dmVyaWZ5PgorPGVycm9yY29kZT4KKzIKKzwvZXJyb3Jjb2RlPgorPHN0ZGVyciBtb2RlPSJ0ZXh0Ij4KK2N1cmw6IG9wdGlvbiAtLW5ldmVyLWltcGxlbWVudGVkOiBpcyB1bmtub3duCitjdXJsOiB0cnkgJ2N1cmwgLS1oZWxwJyBvciAnY3VybCAtLW1hbnVhbCcgZm9yIG1vcmUgaW5mb3JtYXRpb24KKzwvc3RkZXJyPgorPC92ZXJpZnk+Cis8L3Rlc3RjYXNlPgpkaWZmIC0tZ2l0IGEvdGVzdHMvZGF0YS90ZXN0MTIzNCBiL3Rlc3RzL2RhdGEvdGVzdDEyMzQKaW5kZXggNDFjNGJjMC4uNTc3YmE1MSAxMDA2NDQKLS0tIGEvdGVzdHMvZGF0YS90ZXN0MTIzNAorKysgYi90ZXN0cy9kYXRhL3Rlc3QxMjM0CkBAIC0xOSw3ICsxOSw3IEBACiBhYnVzaW5nIHt9LWdsb2JiaW5nCiAgPC9uYW1lPgogIDxjb21tYW5kPgotIiVIT1NUSVA6JUhUVFBQT1JULzEyMzRbMC0xXXsiICIlSE9TVElQOiVIVFRQUE9SVC97fXt9e317IgorIiVIT1NUSVA6JU5PTElTVEVOUE9SVC8xMjM0WzAtMV17IiAiJUhPU1RJUDolTk9MSVNURU5QT1JUL3t9e317fXsiCiA8L2NvbW1hbmQ+CiA8L2NsaWVudD4KIApkaWZmIC0tZ2l0IGEvdGVzdHMvZGF0YS90ZXN0MTIzNiBiL3Rlc3RzL2RhdGEvdGVzdDEyMzYKaW5kZXggMDgyOWJlMy4uNzQwOGE3YiAxMDA2NDQKLS0tIGEvdGVzdHMvZGF0YS90ZXN0MTIzNgorKysgYi90ZXN0cy9kYXRhL3Rlc3QxMjM2CkBAIC0xOSw3ICsxOSw3IEBACiAgPC9uYW1lPgogIyAyXjYyID09IDQ2MTE2ODYwMTg0MjczODc5MDQKICA8Y29tbWFuZD4KLSIlSE9TVElQOiVIVFRQUE9SVC8xMjM0WzAtMV17IiAiJUhPU1RJUDolSFRUUFBPUlQvWzEtNDYxMTY4NjAxODQyNzM4NzkwNF1bMS00NjExNjg2MDE4NDI3Mzg3OTA0XSIKKyIlSE9TVElQOiVOT0xJU1RFTlBPUlQvMTIzNFswLTFdeyIgIiVIT1NUSVA6JU5PTElTVEVOUE9SVC9bMS00NjExNjg2MDE4NDI3Mzg3OTA0XVsxLTQ2MTE2ODYwMTg0MjczODc5MDRdIgogPC9jb21tYW5kPgogPC9jbGllbnQ+CiAKZGlmZiAtLWdpdCBhL3Rlc3RzL2RhdGEvdGVzdDEyMzggYi90ZXN0cy9kYXRhL3Rlc3QxMjM4CmluZGV4IGEwZWVmNDEuLjg4YzlhNWIgMTAwNjQ0Ci0tLSBhL3Rlc3RzL2RhdGEvdGVzdDEyMzgKKysrIGIvdGVzdHMvZGF0YS90ZXN0MTIzOApAQCAtMjQsNiArMjQsMTQgQEAKIDxzZXJ2ZXI+CiB0ZnRwCiA8L3NlcnZlcj4KKyMgQWx3YXlzIGtpbGwgdGhlIFRGVFAgc2VydmVyIHRvIG5vdCBhZmZlY3QgZm9sbG93aW5nIHRlc3RzLCBkdWUKKyMgdG8gdGhpcyB0ZXN0IHBvdGVudGlhbGx5IGtlZXBpbmcgdGhlIFRGVFAgc2VydmVyIGJ1c3kgd2FpdGluZworIyBmb3IgYW5vdGhlciA1IHNlY29uZHMgYWZ0ZXIgdGhpcyB0ZXN0IGhhcyBhbHJlYWR5IHRlcm1pbmF0ZWQuCisjIE9uIHNvbWUgcGxhdGZvcm1zIGFuZCBDSSBub3QgZW5vdWdoIHRpbWUgcGFzc2VzIGJldHdlZW4gdGhpcworIyB0ZXN0IGFuZCB0aGUgbmV4dCB0ZXN0cyAxMjQyIGFuZCAxMjQzLCBjYXVzaW5nIHRoZW0gdG8gZmFpbC4KKzxraWxsc2VydmVyPgordGZ0cAorPC9raWxsc2VydmVyPgogIDxuYW1lPgogc2xvdyBURlRQIHJldHJpZXZlIGNhbmNlbCBkdWUgdG8gLVkgYW5kIC15CiAgPC9uYW1lPgpkaWZmIC0tZ2l0IGEvdGVzdHMvZGF0YS90ZXN0MTI0NCBiL3Rlc3RzL2RhdGEvdGVzdDEyNDQKaW5kZXggZDA3NjlhZC4uMDkxMmMwOSAxMDA2NDQKLS0tIGEvdGVzdHMvZGF0YS90ZXN0MTI0NAorKysgYi90ZXN0cy9kYXRhL3Rlc3QxMjQ0CkBAIC0zMiwxMCArMzIsMTMgQEAKIGh0dHAKIGh0dHBzCiA8L3NlcnZlcj4KLSA8bmFtZT4KKzxmZWF0dXJlcz4KK3Byb3h5Cis8L2ZlYXR1cmVzPgorPG5hbWU+CiBIVFRQIEdFVCBzYW1lIFVSTCAtIGRpZmZlcmVudCBwcm94eSBwb3J0cwotIDwvbmFtZT4KLSA8Y29tbWFuZD4KKzwvbmFtZT4KKzxjb21tYW5kPgogaHR0cDovLyVIT1NUSVA6JUhUVFBQT1JULzEyNDQgLXggJUhPU1RJUDolSFRUUFBPUlQgLS1uZXh0IGh0dHA6Ly8lSE9TVElQOiVIVFRQUE9SVC8xMjQ0MDAwMDEgLXggJUhPU1RJUDolSFRUUFNQT1JUCiA8L2NvbW1hbmQ+CiA8L2NsaWVudD4KZGlmZiAtLWdpdCBhL3Rlc3RzL2RhdGEvdGVzdDEyNDggYi90ZXN0cy9kYXRhL3Rlc3QxMjQ4CmluZGV4IDI4ZTdhODUuLjAyZGFjZmMgMTAwNjQ0Ci0tLSBhL3Rlc3RzL2RhdGEvdGVzdDEyNDgKKysrIGIvdGVzdHMvZGF0YS90ZXN0MTI0OApAQCAtMjksNyArMjksNyBAQAogQWNjZXNzIGEgbm9uLXByb3hpZWQgaG9zdCB3aXRoIHVzaW5nIHRoZSBjb21iaW5hdGlvbiBvZiAtLXByb3h5IG9wdGlvbiBhbmQgLS1ub3Byb3h5IG9wdGlvbgogPC9uYW1lPgogPGNvbW1hbmQ+Ci1odHRwOi8vdXNlcjpzZWNyZXRAJUhPU1RJUDolSFRUUFBPUlQvMTI0OCAtLXByb3h5IGh0dHA6Ly9kdW1teTolUFJPWFlQT1JULyAtLW5vcHJveHkgJUhPU1RJUCAtLW1heC10aW1lIDUKK2h0dHA6Ly91c2VyOnNlY3JldEAlSE9TVElQOiVIVFRQUE9SVC8xMjQ4IC0tcHJveHkgaHR0cDovL2R1bW15OiVOT0xJU1RFTlBPUlQvIC0tbm9wcm94eSAlSE9TVElQIC0tbWF4LXRpbWUgNQogPC9jb21tYW5kPgogPC9jbGllbnQ+CiAKZGlmZiAtLWdpdCBhL3Rlc3RzL2RhdGEvdGVzdDEyNDkgYi90ZXN0cy9kYXRhL3Rlc3QxMjQ5CmluZGV4IGFiNTYxNDAuLjFiYzNjZmUgMTAwNjQ0Ci0tLSBhL3Rlc3RzL2RhdGEvdGVzdDEyNDkKKysrIGIvdGVzdHMvZGF0YS90ZXN0MTI0OQpAQCAtMzIsNyArMzIsNyBAQAogTk9fUFJPWFk9JUhPU1RJUAogPC9zZXRlbnY+CiA8Y29tbWFuZD4KLWh0dHA6Ly91c2VyOnNlY3JldEAlSE9TVElQOiVIVFRQUE9SVC8xMjQ5IC0tcHJveHkgaHR0cDovL2R1bW15OiVQUk9YWVBPUlQvIC0tbWF4LXRpbWUgNQoraHR0cDovL3VzZXI6c2VjcmV0QCVIT1NUSVA6JUhUVFBQT1JULzEyNDkgLS1wcm94eSBodHRwOi8vZHVtbXk6JU5PTElTVEVOUE9SVC8gLS1tYXgtdGltZSA1CiA8L2NvbW1hbmQ+CiA8L2NsaWVudD4KIApkaWZmIC0tZ2l0IGEvdGVzdHMvZGF0YS90ZXN0MTI2MCBiL3Rlc3RzL2RhdGEvdGVzdDEyNjAKaW5kZXggMWQ4NmVjZC4uYjI0Njg4MiAxMDA2NDQKLS0tIGEvdGVzdHMvZGF0YS90ZXN0MTI2MAorKysgYi90ZXN0cy9kYXRhL3Rlc3QxMjYwCkBAIC0yMiw3ICsyMiw3IEBACiBIVFRQIFVSTCB3aXRoIHJ1YmJpc2ggYWZ0ZXIgcG9ydCBudW1iZXIKICA8L25hbWU+CiAgPGNvbW1hbmQ+Ci0tZyAiaHR0cDovL1slSE9TVElQXTolSFRUUFBPUlQ6ODAvd2Uvd2FudC8xMjYwIiAiaHR0cDovLyVIT1NUSVA6JUhUVFBQT1JUOjgwL3dlL3dhbnQvMTI2MCIgImh0dHA6Ly91c2VyQGV4YW1wbGUuY29tOjgwQGxvY2FsaG9zdCIKKy1nICJodHRwOi8vWyVIT1NUSVBdOiVOT0xJU1RFTlBPUlQ6ODAvd2Uvd2FudC8xMjYwIiAiaHR0cDovLyVIT1NUSVA6JU5PTElTVEVOUE9SVDo4MC93ZS93YW50LzEyNjAiICJodHRwOi8vdXNlckBleGFtcGxlLmNvbTo4MEBsb2NhbGhvc3QiCiA8L2NvbW1hbmQ+CiA8L2NsaWVudD4KIApkaWZmIC0tZ2l0IGEvdGVzdHMvZGF0YS90ZXN0MTI2MyBiL3Rlc3RzL2RhdGEvdGVzdDEyNjMKaW5kZXggNzQ2MmRiNC4uODhiMTM3NyAxMDA2NDQKLS0tIGEvdGVzdHMvZGF0YS90ZXN0MTI2MworKysgYi90ZXN0cy9kYXRhL3Rlc3QxMjYzCkBAIC0yMyw3ICsyMyw3IEBACiBIVFRQIFVSTCB3aXRoIHJ1YmJpc2ggYWZ0ZXIgSVB2NiBicmFja2V0CiAgPC9uYW1lPgogIDxjb21tYW5kPgotLWcgImh0dHA6Ly9bJUhPU1RJUF10ZXN0OiVIVFRQUE9SVC93ZS93YW50LzEyNjMiICJodHRwOi8vWyVIT1NUSVBdWyVIT1NUSVBdOiVIVFRQUE9SVC93ZS93YW50LzEyNjMiICJodHRwOi8vdXNlckBbOjoxXUBsb2NhbGhvc3QiCistZyAiaHR0cDovL1slSE9TVElQXXRlc3Q6JU5PTElTVEVOUE9SVC93ZS93YW50LzEyNjMiICJodHRwOi8vWyVIT1NUSVBdWyVIT1NUSVBdOiVOT0xJU1RFTlBPUlQvd2Uvd2FudC8xMjYzIiAiaHR0cDovL3VzZXJAWzo6MV1AbG9jYWxob3N0IgogPC9jb21tYW5kPgogPC9jbGllbnQ+CiAKZGlmZiAtLWdpdCBhL3Rlc3RzL2RhdGEvdGVzdDEyNjkgYi90ZXN0cy9kYXRhL3Rlc3QxMjY5CmluZGV4IGM3NzY2MzYuLjdjZjg2Y2EgMTAwNjQ0Ci0tLSBhL3Rlc3RzL2RhdGEvdGVzdDEyNjkKKysrIGIvdGVzdHMvZGF0YS90ZXN0MTI2OQpAQCAtMjAsNyArMjAsNyBAQAogdG9vIGxhcmdlIC0tcmV0cnktZGVsYXkgdmFsdWUKICA8L25hbWU+CiAgPGNvbW1hbmQ+Ci0tLXJldHJ5IDMgLS1yZXRyeS1kZWxheSA5MjIzMzcyMDM2ODU0Nzc2IGh0dHA6Ly8lSE9TVElQOiVIVFRQUE9SVC8xMjY5CistLXJldHJ5IDMgLS1yZXRyeS1kZWxheSA5MjIzMzcyMDM2ODU0Nzc2IGh0dHA6Ly8lSE9TVElQOiVOT0xJU1RFTlBPUlQvMTI2OQogPC9jb21tYW5kPgogPC9jbGllbnQ+CiAKZGlmZiAtLWdpdCBhL3Rlc3RzL2RhdGEvdGVzdDEyOTYgYi90ZXN0cy9kYXRhL3Rlc3QxMjk2Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjM4NmViMTgKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9kYXRhL3Rlc3QxMjk2CkBAIC0wLDAgKzEsNTYgQEAKKzx0ZXN0Y2FzZT4KKzxpbmZvPgorPGtleXdvcmRzPgorSFRUUAorSFRUUCBCYXNpYworPC9rZXl3b3Jkcz4KKzwvaW5mbz4KKworIyBTZXJ2ZXItc2lkZQorPHJlcGx5PgorPGRhdGE+CitIVFRQLzEuMSAyMDAgT0sKK0RhdGU6IFRodSwgMDkgTm92IDIwMTAgMTQ6NDk6MDAgR01UCitTZXJ2ZXI6IHRlc3Qtc2VydmVyL2Zha2UKK0xhc3QtTW9kaWZpZWQ6IFR1ZSwgMTMgSnVuIDIwMDAgMTI6MTA6MDAgR01UCitFVGFnOiAiMjEwMjUtZGM3LTM5NDYyNDk4IgorQWNjZXB0LVJhbmdlczogYnl0ZXMKK0NvbnRlbnQtTGVuZ3RoOiA2CitDb25uZWN0aW9uOiBjbG9zZQorQ29udGVudC1UeXBlOiB0ZXh0L2h0bWwKK0Z1bm55LWhlYWQ6IHllc3llcworCistZm9vLQorPC9kYXRhPgorPC9yZXBseT4KKworIyBDbGllbnQtc2lkZQorPGNsaWVudD4KKzxzZXJ2ZXI+CitodHRwCis8L3NlcnZlcj4KKworPG5hbWU+CitIVFRQIFVSTCB3aXRoICUwYSBpbiBuYW1lIHBhcnQKKzwvbmFtZT4KKworPGNvbW1hbmQ+CitodHRwOi8vdXNlciUwYW5hbWU6cGFzc3dvcmRAJUhPU1RJUDolSFRUUFBPUlQvMTI5NgorPC9jb21tYW5kPgorPC9jbGllbnQ+CisKKyMgVmVyaWZ5IGRhdGEgYWZ0ZXIgdGhlIHRlc3QgaGFzIGJlZW4gInNob3QiCis8dmVyaWZ5PgorPHN0cmlwPgorXlVzZXItQWdlbnQ6LioKKzwvc3RyaXA+Cis8cHJvdG9jb2w+CitHRVQgLzEyOTYgSFRUUC8xLjENCitIb3N0OiAlSE9TVElQOiVIVFRQUE9SVA0KK0F1dGhvcml6YXRpb246IEJhc2ljIGRYTmxjZ3B1WVcxbE9uQmhjM04zYjNKaw0KK0FjY2VwdDogKi8qDQorDQorPC9wcm90b2NvbD4KKzwvdmVyaWZ5PgorPC90ZXN0Y2FzZT4KKwpkaWZmIC0tZ2l0IGEvdGVzdHMvZGF0YS90ZXN0MTM0MCBiL3Rlc3RzL2RhdGEvdGVzdDEzNDAKaW5kZXggODFmMWVkNi4uNjQ0ZmIyYiAxMDA2NDQKLS0tIGEvdGVzdHMvZGF0YS90ZXN0MTM0MAorKysgYi90ZXN0cy9kYXRhL3Rlc3QxMzQwCkBAIC00MCw3ICs0MCw3IEBACiBDVVJMX1RFU1RESVI9JVBXRC9sb2cKIDwvc2V0ZW52PgogPGNvbW1hbmQgb3B0aW9uPSJuby1vdXRwdXQsbm8taW5jbHVkZSI+Ci1odHRwOi8vJUhPU1RJUDolSFRUUFBPUlQvMTM0MCAtSiAtTyAtRCBsb2cvaGVhZHMxMzQwCitodHRwOi8vJUhPU1RJUDolSFRUUFBPUlQvMTM0MCAtSiAtTyAtRCBsb2cvaGVhZHMxMzQwIC13ICJjdXJsOiBTYXZlZCB0byBmaWxlbmFtZSAle2ZpbGVuYW1lX2VmZmVjdGl2ZX1cbiIKIDwvY29tbWFuZD4KIDwvY2xpZW50PgogCkBAIC03Myw3ICs3Myw3IEBACiA8L2ZpbGUyPgogCiA8ZmlsZTMgbmFtZT0ibG9nL3N0ZG91dDEzNDAiIG1vZGU9InRleHQiPgotY3VybDogU2F2ZWQgdG8gZmlsZW5hbWUgJyVQV0QvbG9nL25hbWUxMzQwJworY3VybDogU2F2ZWQgdG8gZmlsZW5hbWUgJVBXRC9sb2cvbmFtZTEzNDAKIDwvZmlsZTM+CiAKIDwvdmVyaWZ5PgpkaWZmIC0tZ2l0IGEvdGVzdHMvZGF0YS90ZXN0MTM0MSBiL3Rlc3RzL2RhdGEvdGVzdDEzNDEKaW5kZXggYjM2NGVkZS4uYWUyMjY3NCAxMDA2NDQKLS0tIGEvdGVzdHMvZGF0YS90ZXN0MTM0MQorKysgYi90ZXN0cy9kYXRhL3Rlc3QxMzQxCkBAIC00MCw3ICs0MCw3IEBACiBDVVJMX1RFU1RESVI9JVBXRC9sb2cKIDwvc2V0ZW52PgogPGNvbW1hbmQgb3B0aW9uPSJuby1vdXRwdXQsbm8taW5jbHVkZSI+Ci1odHRwOi8vJUhPU1RJUDolSFRUUFBPUlQvMTM0MSAtSiAtTyAtRCAtCitodHRwOi8vJUhPU1RJUDolSFRUUFBPUlQvMTM0MSAtSiAtTyAtRCAtIC13ICJjdXJsOiBTYXZlZCB0byBmaWxlbmFtZSAle2ZpbGVuYW1lX2VmZmVjdGl2ZX1cbiIKIDwvY29tbWFuZD4KIDwvY2xpZW50PgogCkBAIC03MCw3ICs3MCw3IEBACiBDb250ZW50LVR5cGU6IHRleHQvaHRtbA0KIENvbnRlbnQtRGlzcG9zaXRpb246IGZpbGVuYW1lPW5hbWUxMzQxOyBjaGFyc2V0PWZ1bm55OyBvcHRpb249c3RyYW5nZQ0KIA0KLWN1cmw6IFNhdmVkIHRvIGZpbGVuYW1lICclUFdEL2xvZy9uYW1lMTM0MScKK2N1cmw6IFNhdmVkIHRvIGZpbGVuYW1lICVQV0QvbG9nL25hbWUxMzQxCiA8L2ZpbGUyPgogCiA8L3ZlcmlmeT4KZGlmZiAtLWdpdCBhL3Rlc3RzL2RhdGEvdGVzdDE0MDkgYi90ZXN0cy9kYXRhL3Rlc3QxNDA5CmluZGV4IDVjZWI1M2IuLjhkNTRiNGMgMTAwNjQ0Ci0tLSBhL3Rlc3RzL2RhdGEvdGVzdDE0MDkKKysrIGIvdGVzdHMvZGF0YS90ZXN0MTQwOQpAQCAtMTcsNyArMTcsNyBAQAogUGFzcyBpbiBzdHJpbmcgdG8gLUMKICA8L25hbWU+CiAgPGNvbW1hbmQ+Ci1odHRwOi8vJUhPU1RJUDolSFRUUFBPUlQvMTQwOSAtQyB3cm9uZworaHR0cDovLyVIT1NUSVA6JU5PTElTVEVOUE9SVC8xNDA5IC1DIHdyb25nCiA8L2NvbW1hbmQ+CiA8L2NsaWVudD4KIApkaWZmIC0tZ2l0IGEvdGVzdHMvZGF0YS90ZXN0MTQxMCBiL3Rlc3RzL2RhdGEvdGVzdDE0MTAKaW5kZXggOTdhZDA1Ni4uYThiODlkYiAxMDA2NDQKLS0tIGEvdGVzdHMvZGF0YS90ZXN0MTQxMAorKysgYi90ZXN0cy9kYXRhL3Rlc3QxNDEwCkBAIC0xNyw3ICsxNyw3IEBACiBQYXNzIGluIG5lZ2F0aXZlIG51bWJlciB0byAtLW1heC10aW1lCiAgPC9uYW1lPgogIDxjb21tYW5kPgotaHR0cDovLyVIT1NUSVA6JUhUVFBQT1JULzE0MTAgLS1tYXgtdGltZSAtNAoraHR0cDovLyVIT1NUSVA6JU5PTElTVEVOUE9SVC8xNDEwIC0tbWF4LXRpbWUgLTQKIDwvY29tbWFuZD4KIDwvY2xpZW50PgogCmRpZmYgLS1naXQgYS90ZXN0cy9kYXRhL3Rlc3QxNDI3IGIvdGVzdHMvZGF0YS90ZXN0MTQyNwppbmRleCAwM2NhYjRiLi42NDhiMWRhIDEwMDY0NAotLS0gYS90ZXN0cy9kYXRhL3Rlc3QxNDI3CisrKyBiL3Rlc3RzL2RhdGEvdGVzdDE0MjcKQEAgLTE1LDcgKzE1LDcgQEAKIHRvbyBsYXJnZSAtbSB0aW1lb3V0IHZhbHVlCiAgPC9uYW1lPgogIDxjb21tYW5kPgotaHR0cDovLyVIT1NUSVA6JUhUVFBQT1JULzE0MjcgLW0gMTg0NDY3NDQwNzM3MDk1NTEwCitodHRwOi8vJUhPU1RJUDolTk9MSVNURU5QT1JULzE0MjcgLW0gMTg0NDY3NDQwNzM3MDk1NTEwCiA8L2NvbW1hbmQ+CiA8L2NsaWVudD4KIApkaWZmIC0tZ2l0IGEvdGVzdHMvZGF0YS90ZXN0MTQ0NiBiL3Rlc3RzL2RhdGEvdGVzdDE0NDYKaW5kZXggOTZkNjM0ZS4uNjM3ZGY1OCAxMDA2NDQKLS0tIGEvdGVzdHMvZGF0YS90ZXN0MTQ0NgorKysgYi90ZXN0cy9kYXRhL3Rlc3QxNDQ2CkBAIC0yNCw3ICsyNCw3IEBACiBTRlRQIHdpdGggLS1yZW1vdGUtdGltZQogIDwvbmFtZT4KICA8Y29tbWFuZD4KLS0ta2V5IGN1cmxfY2xpZW50X2tleSAtLXB1YmtleSBjdXJsX2NsaWVudF9rZXkucHViIC11ICVVU0VSOiBzZnRwOi8vJUhPU1RJUDolU1NIUE9SVCVQT1NJWF9QV0QvbG9nL3Rlc3QxNDQ2LmRpci9yb2ZpbGUudHh0IC0taW5zZWN1cmUgLS1yZW1vdGUtdGltZQorLS1rZXkgY3VybF9jbGllbnRfa2V5IC0tcHVia2V5IGN1cmxfY2xpZW50X2tleS5wdWIgLXUgJVVTRVI6IHNmdHA6Ly8lSE9TVElQOiVTU0hQT1JUJVNTSF9QV0QvbG9nL3Rlc3QxNDQ2LmRpci9yb2ZpbGUudHh0IC0taW5zZWN1cmUgLS1yZW1vdGUtdGltZQogPC9jb21tYW5kPgogPHBvc3RjaGVjaz4KIHBlcmwgJVNSQ0RJUi9saWJ0ZXN0L3Rlc3Q2MTMucGwgcG9zdHByb2Nlc3MgJVBXRC9sb2cvdGVzdDE0NDYuZGlyICYmIFwKZGlmZiAtLWdpdCBhL3Rlc3RzL2RhdGEvdGVzdDE0NDcgYi90ZXN0cy9kYXRhL3Rlc3QxNDQ3CmluZGV4IGQxMTgyOTQuLjhhNjUxZjAgMTAwNjQ0Ci0tLSBhL3Rlc3RzL2RhdGEvdGVzdDE0NDcKKysrIGIvdGVzdHMvZGF0YS90ZXN0MTQ0NwpAQCAtMjQsNyArMjQsNyBAQAogUHJvdmlkZSBpbGxlZ2FsIHByb3h5IG5hbWUgCiAgPC9uYW1lPgogIDxjb21tYW5kPgotLS1wcm94eSAiaHR0cDovL2E6YkAveCIgaHR0cDovLyVIT1NUSVA6JUhUVFBQT1JUCistLXByb3h5ICJodHRwOi8vYTpiQC94IiBodHRwOi8vJUhPU1RJUDolTk9MSVNURU5QT1JUCiA8L2NvbW1hbmQ+CiA8L2NsaWVudD4KIApkaWZmIC0tZ2l0IGEvdGVzdHMvZGF0YS90ZXN0MTQ1MyBiL3Rlc3RzL2RhdGEvdGVzdDE0NTMKaW5kZXggZWFmOWRkMy4uNzZiNWFjZCAxMDA2NDQKLS0tIGEvdGVzdHMvZGF0YS90ZXN0MTQ1MworKysgYi90ZXN0cy9kYXRhL3Rlc3QxNDUzCkBAIC0yMyw3ICsyMyw3IEBACiBUb28gbG9uZyB0ZnRwIGZpbGVuYW1lCiAgPC9uYW1lPgogIDxjb21tYW5kPgotdGZ0cDovLyVIT1NUSVA6JVRGVFBQT1JUL2FhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhegordGZ0cDovLyVIT1NUSVA6JU5PTElTVEVOUE9SVC9hYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYXoKIDwvY29tbWFuZD4KIDwvY2xpZW50PgogCmRpZmYgLS1naXQgYS90ZXN0cy9kYXRhL3Rlc3QxNDYwIGIvdGVzdHMvZGF0YS90ZXN0MTQ2MApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5kN2IzMGM1Ci0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvZGF0YS90ZXN0MTQ2MApAQCAtMCwwICsxLDYyIEBACis8dGVzdGNhc2U+Cis8aW5mbz4KKzxrZXl3b3Jkcz4KK0hUVFAKK0hUVFAgR0VUCistSgorPC9rZXl3b3Jkcz4KKzwvaW5mbz4KKworIworPHJlcGx5PgorPGRhdGEgbm9jaGVjaz0ieWVzIj4KK0hUVFAvMS4xIDIwMCBzd3NjbG9zZQorICAxMjM0NQorZm9vbworNTQgMyAyIDEKK0NvbnRlbnQtRGlzcG9zaXRpb246IGZpbGVuYW1lPW5hbWUxNDYwOyBjaGFyc2V0PWZ1bm55OyBvcHRpb249c3RyYW5nZQorCis8L2RhdGE+Cis8L3JlcGx5PgorCisjCisjIENsaWVudC1zaWRlCis8Y2xpZW50PgorIyB0aGlzIHJlbGllcyBvbiB0aGUgZGVidWcgZmVhdHVyZSB0byBhbGxvdyB1cyB0byBzZXQgZGlyZWN0b3J5IHRvIHN0b3JlIHRoZQorIyAtSiBvdXRwdXQgaW4KKzxmZWF0dXJlcz4KK2RlYnVnCis8L2ZlYXR1cmVzPgorPHNlcnZlcj4KK2h0dHAKKzwvc2VydmVyPgorPG5hbWU+CitIVFRQIEdFVCB3aXRoIC1KaSBhbmQgQ29udGVudC1EaXNwb3NpdGlvbiB3aXRoIGV4aXN0aW5nIGZpbGUKKzwvbmFtZT4KKzxzZXRlbnY+CitDVVJMX1RFU1RESVI9JVBXRC9sb2cKKzwvc2V0ZW52PgorPGNvbW1hbmQgb3B0aW9uPSJuby1vdXRwdXQsbm8taW5jbHVkZSI+CitodHRwOi8vJUhPU1RJUDolSFRUUFBPUlQvMTQ2MCAtSmkgLU8KKzwvY29tbWFuZD4KKzxmaWxlIG5hbWU9ImxvZy9uYW1lMTQ2MCI+Citpbml0aWFsIGNvbnRlbnQKKzwvZmlsZT4KKzwvY2xpZW50PgorCisjCisjIFZlcmlmeSBkYXRhIGFmdGVyIHRoZSB0ZXN0IGhhcyBiZWVuICJzaG90IgorPHZlcmlmeT4KKzxzdHJpcD4KK15Vc2VyLUFnZW50Oi4qCis8L3N0cmlwPgorIyBXYXJuaW5nOiAtLWluY2x1ZGUgYW5kIC0tcmVtb3RlLWhlYWRlci1uYW1lIGNhbm5vdCBiZSBjb21iaW5lZC4KKzxlcnJvcmNvZGU+CisyCis8L2Vycm9yY29kZT4KKzxmaWxlIG5hbWU9ImxvZy9uYW1lMTQ2MCI+Citpbml0aWFsIGNvbnRlbnQKKzwvZmlsZT4KKworPC92ZXJpZnk+Cis8L3Rlc3RjYXNlPgpkaWZmIC0tZ2l0IGEvdGVzdHMvZGF0YS90ZXN0MTUwOCBiL3Rlc3RzL2RhdGEvdGVzdDE1MDgKaW5kZXggYjI3NmI4Yi4uZmJkYzMyMiAxMDA2NDQKLS0tIGEvdGVzdHMvZGF0YS90ZXN0MTUwOAorKysgYi90ZXN0cy9kYXRhL3Rlc3QxNTA4CkBAIC0xOCw3ICsxOCw3IEBACiBDbG9zZSBhIG11bHRpIGhhbmRsZSB3aXRob3V0IHVzaW5nIGl0CiAgPC9uYW1lPgogIDxjb21tYW5kPgotaHR0cDovLyVIT1NUSVA6JUhUVFBQT1JUL3BhdGgvMTUwOAoraHR0cDovLyVIT1NUSVA6JU5PTElTVEVOUE9SVC9wYXRoLzE1MDgKIDwvY29tbWFuZD4KIDwvY2xpZW50PgogCmRpZmYgLS1naXQgYS90ZXN0cy9kYXRhL3Rlc3QxNTM5IGIvdGVzdHMvZGF0YS90ZXN0MTUzOQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5iODU0NmYyCi0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvZGF0YS90ZXN0MTUzOQpAQCAtMCwwICsxLDQzIEBACis8dGVzdGNhc2U+Cis8aW5mbz4KKzxrZXl3b3Jkcz4KK0hUVFAKK0hUVFAgUE9TVAorQ29udGVudC1MZW5ndGgKK2NodW5rZWQgVHJhbnNmZXItRW5jb2RpbmcKKzwva2V5d29yZHM+Cis8L2luZm8+CisKKyMgU2VydmVyLXNpZGUKKzxyZXBseT4KKzxkYXRhIG5vY2hlY2s9InllcyI+CitIVFRQLzEuMSAyMDAgT0sNCitEYXRlOiBTdW4sIDE5IEphbiAyMDE0IDE4OjUwOjU4IEdNVA0KK1NlcnZlcjogdGVzdC1zZXJ2ZXIvZmFrZSBzd3NjbG9zZQ0KK0Nvbm5lY3Rpb246IGNsb3NlDQorPC9kYXRhPgorPC9yZXBseT4KKworIyBDbGllbnQtc2lkZQorPGNsaWVudD4KKzxzZXJ2ZXI+CitodHRwCis8L3NlcnZlcj4KKzx0b29sPgorbGliMTUzOQorPC90b29sPgorPG5hbWU+CitIVFRQIDEuMCBQT1NUIHdpdGggcmVhZCBjYWxsYmFjayBhbmQgdW5rbm93biBkYXRhIHNpemUKKzwvbmFtZT4KKzxjb21tYW5kPgoraHR0cDovLyVIT1NUSVA6JUhUVFBQT1JULzE1MzkKKzwvY29tbWFuZD4KKzwvY2xpZW50PgorCisjIFZlcmlmeSBkYXRhIGFmdGVyIHRoZSB0ZXN0IGhhcyBiZWVuICJzaG90IgorPHZlcmlmeT4KKzxlcnJvcmNvZGU+CisyNQorPC9lcnJvcmNvZGU+Cis8L3ZlcmlmeT4KKzwvdGVzdGNhc2U+CmRpZmYgLS1naXQgYS90ZXN0cy9kYXRhL3Rlc3QxNTUwIGIvdGVzdHMvZGF0YS90ZXN0MTU1MAppbmRleCBiNzg3NTZlLi5jMzA1ZGQ2IDEwMDY0NAotLS0gYS90ZXN0cy9kYXRhL3Rlc3QxNTUwCisrKyBiL3Rlc3RzL2RhdGEvdGVzdDE1NTAKQEAgLTIwLDEwICsyMCwxMCBAQAogPC90b29sPgogCiAgPG5hbWU+Ci12ZXJpZnkgc2V0dGluZyBwaXBlbGluZyBibGFja2xpc3Rpbmcgb3B0aW9ucwordmVyaWZ5IHNldHRpbmcgcGlwZWxpbmcgYmxvY2tsaXN0aW5nIG9wdGlvbnMKICA8L25hbWU+CiAgPGNvbW1hbmQ+Ci1odHRwOi8vJUhPU1RJUDolSFRUUFBPUlQvMTU1MAoraHR0cDovLyVIT1NUSVA6JU5PTElTVEVOUE9SVC8xNTUwCiA8L2NvbW1hbmQ+CiA8L2NsaWVudD4KIDwvdGVzdGNhc2U+CmRpZmYgLS1naXQgYS90ZXN0cy9kYXRhL3Rlc3QxNTU0IGIvdGVzdHMvZGF0YS90ZXN0MTU1NAppbmRleCAwNmYxODk3Li5kMzkyNmQ5IDEwMDY0NAotLS0gYS90ZXN0cy9kYXRhL3Rlc3QxNTU0CisrKyBiL3Rlc3RzL2RhdGEvdGVzdDE1NTQKQEAgLTI5LDYgKzI5LDEyIEBACiA8LSBNdXRleCB1bmxvY2sKIC0+IE11dGV4IGxvY2sKIDwtIE11dGV4IHVubG9jaworLT4gTXV0ZXggbG9jaworPC0gTXV0ZXggdW5sb2NrCistPiBNdXRleCBsb2NrCis8LSBNdXRleCB1bmxvY2sKKy0+IE11dGV4IGxvY2sKKzwtIE11dGV4IHVubG9jawogcnVuIDE6IGZvb2JhciBhbmQgc28gb24gZnVuIQogLT4gTXV0ZXggbG9jawogPC0gTXV0ZXggdW5sb2NrCkBAIC00MCw2ICs0NiwxMCBAQAogPC0gTXV0ZXggdW5sb2NrCiAtPiBNdXRleCBsb2NrCiA8LSBNdXRleCB1bmxvY2sKKy0+IE11dGV4IGxvY2sKKzwtIE11dGV4IHVubG9jaworLT4gTXV0ZXggbG9jaworPC0gTXV0ZXggdW5sb2NrCiBydW4gMTogZm9vYmFyIGFuZCBzbyBvbiBmdW4hCiAtPiBNdXRleCBsb2NrCiA8LSBNdXRleCB1bmxvY2sKQEAgLTUxLDYgKzYxLDEwIEBACiA8LSBNdXRleCB1bmxvY2sKIC0+IE11dGV4IGxvY2sKIDwtIE11dGV4IHVubG9jaworLT4gTXV0ZXggbG9jaworPC0gTXV0ZXggdW5sb2NrCistPiBNdXRleCBsb2NrCis8LSBNdXRleCB1bmxvY2sKIHJ1biAxOiBmb29iYXIgYW5kIHNvIG9uIGZ1biEKIC0+IE11dGV4IGxvY2sKIDwtIE11dGV4IHVubG9jawpkaWZmIC0tZ2l0IGEvdGVzdHMvZGF0YS90ZXN0MTYzMCBiL3Rlc3RzL2RhdGEvdGVzdDE2MzAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMWQzODFjNwotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL2RhdGEvdGVzdDE2MzAKQEAgLTAsMCArMSw1NiBAQAorPHRlc3RjYXNlPgorPGluZm8+Cis8a2V5d29yZHM+CitIVFRQCitIVFRQIEdFVAorSFRUUFMtcHJveHkKK0hUVFBTLXByb3h5IEJhc2ljIGF1dGgKKzwva2V5d29yZHM+Cis8L2luZm8+CisKKyMgU2VydmVyLXNpZGUKKzxyZXBseT4KKzxkYXRhPgorSFRUUC8xLjEgMjAwIE9LDQorRGF0ZTogVGh1LCAwOSBOb3YgMjAxMCAxNDo0OTowMCBHTVQNCitTZXJ2ZXI6IHRlc3Qtc2VydmVyL2Zha2UNCitDb250ZW50LVR5cGU6IHRleHQvaHRtbA0KK0Z1bm55LWhlYWQ6IHllc3llcw0KK0NvbnRlbnQtTGVuZ3RoOiAyMg0KKw0KK3RoZSBjb250ZW50IGdvZXMgaGVyZQorPC9kYXRhPgorPC9yZXBseT4KKworIyBDbGllbnQtc2lkZQorPGNsaWVudD4KKzxzZXJ2ZXI+CitodHRwCitodHRwcy1wcm94eQorPC9zZXJ2ZXI+CisgPG5hbWU+CitIVFRQUy1wcm94eSB3aXRoIEJhc2ljIGF1dGggdG8gSFRUUCB3aXRob3V0IGF1dGgKKyA8L25hbWU+CisgPGNvbW1hbmQ+CisgLVUgZmFrZUB1c2VyOmxvb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29uZyAteCBodHRwczovLyVIT1NUSVA6JUhUVFBTUFJPWFlQT1JUIGh0dHA6Ly93ZS53YW50LnRoYXQuc2l0ZS5jb20vMTYzMCAtLXByb3h5LWluc2VjdXJlCis8L2NvbW1hbmQ+Cis8ZmVhdHVyZXM+Citwcm94eQorPC9mZWF0dXJlcz4KKzwvY2xpZW50PgorCisjIFZlcmlmeSBkYXRhIGFmdGVyIHRoZSB0ZXN0IGhhcyBiZWVuICJzaG90IgorPHZlcmlmeT4KKzxzdHJpcD4KK15Vc2VyLUFnZW50Oi4qCis8L3N0cmlwPgorPHByb3h5PgorR0VUIGh0dHA6Ly93ZS53YW50LnRoYXQuc2l0ZS5jb20vMTYzMCBIVFRQLzEuMQ0KK0hvc3Q6IHdlLndhbnQudGhhdC5zaXRlLmNvbQ0KK1Byb3h5LUF1dGhvcml6YXRpb246IEJhc2ljIFptRnJaVUIxYzJWeU9teHZiMjl2YjI5dmIyOXZiMjl2YjI5dmIyOXZiMjl2YjI5dmIyOXZiMjl2YjI5dmIyOXZiMjl2YjI5dmIyOXZiMjl2YjI5dmIyOXZiMjl2YjI5dmIyOXZiMjl2YjI5dmIyOXZiMjl2YjI5dmIyOXZiMjl2YjI5dmIyOXZiMjl2YjI5dmIyOXZiMjl2YjI5dmIyOXZiMjl2YjI5dmIyOXZiMjl2YjI5dmIyOXZiMjl2YjI5dmIyOXZiMjl2YjI5dmIyOXZiMjl2YjI5dmIyOXZiMjl2YjI5dmIyOXZiMjl2YjI5dVp3PT0NCitBY2NlcHQ6ICovKg0KK1Byb3h5LUNvbm5lY3Rpb246IEtlZXAtQWxpdmUNCisNCis8L3Byb3h5PgorPC92ZXJpZnk+Cis8L3Rlc3RjYXNlPgpkaWZmIC0tZ2l0IGEvdGVzdHMvZGF0YS90ZXN0MTYzMSBiL3Rlc3RzL2RhdGEvdGVzdDE2MzEKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uY2QzNmIxZAotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL2RhdGEvdGVzdDE2MzEKQEAgLTAsMCArMSw4NyBAQAorPHRlc3RjYXNlPgorPGluZm8+Cis8a2V5d29yZHM+CitGVFAKK0hUVFBTLXByb3h5Cis8L2tleXdvcmRzPgorPC9pbmZvPgorCisjIFNlcnZlci1zaWRlCis8cmVwbHk+CisKKyMgVGhpcyBpcyB0aGUgSFRUUFMgcHJveHkgcmVzcG9uc2UKKzxjb25uZWN0PgorSFRUUC8xLjEgMjAwIE9LDQorRGF0ZTogVGh1LCAwOSBOb3YgMjAxMCAxNDo0OTowMCBHTVQNCitTZXJ2ZXI6IHRlc3Qtc2VydmVyL2Zha2UNCitDb250ZW50LVR5cGU6IHRleHQvaHRtbA0KK0Z1bm55LWhlYWQ6IHllc3llcw0KK0NvbnRlbnQtTGVuZ3RoOiAwDQorDQorPC9jb25uZWN0PgorCisjIFRoaXMgaXMgdGhlIEZUUCBzZXJ2ZXIgcmVzcG9uc2UuIFRoZSBMaWZlIGFuZCBBZHZlbnR1cmVzIG9mIFJvYmluc29uIENydXNvZQorPGRhdGE+CitJIHdhcyBib3JuIGluIHRoZSB5ZWFyIDE2MzIsIGluIHRoZSBjaXR5IG9mIFlvcmssIG9mIGEgZ29vZCBmYW1pbHksIHRob3VnaCBub3QKK29mIHRoYXQgY291bnRyeSwgbXlmYXRoZXIgYmVpbmcgYSBmb3JlaWduZXIgb2YgQnJlbWVuLCB3aG8gc2V0dGxlZCBmaXJzdCBhdAorSHVsbC4gIEhlIGdvdCBhIGdvb2QgZXN0YXRlIGJ5IG1lcmNoYW5kaXNlLGFuZCBsZWF2aW5nIG9mZiBoaXMgdHJhZGUsIGxpdmVkCithZnRlcndhcmRzIGF0IFlvcmssIGZyb20gd2hlbmNlIGhlIGhhZCBtYXJyaWVkIG15IG1vdGhlciwgd2hvc2VyZWxhdGlvbnMgd2VyZQorbmFtZWQgUm9iaW5zb24sIGEgdmVyeSBnb29kIGZhbWlseSBpbiB0aGF0IGNvdW50cnksIGFuZCBmcm9tIHdob20gSSB3YXMKK2NhbGxlZFJvYmluc29uIEtyZXV0em5hZXI7IGJ1dCwgYnkgdGhlIHVzdWFsIGNvcnJ1cHRpb24gb2Ygd29yZHMgaW4gRW5nbGFuZCwKK3dlIGFyZSBub3cgY2FsbGVk4oCUbmF5IHdlY2FsbCBvdXJzZWx2ZXMgYW5kIHdyaXRlIG91ciBuYW1l4oCUQ3J1c29lOyBhbmQgc28gbXkKK2NvbXBhbmlvbnMgYWx3YXlzIGNhbGxlZCBtZS4KKzwvZGF0YT4KKzwvcmVwbHk+CisKKyMgQ2xpZW50LXNpZGUKKzxjbGllbnQ+Cis8c2VydmVyPgorZnRwCitodHRwcy1wcm94eQorPC9zZXJ2ZXI+CisgPG5hbWU+CitGVFAgdGhyb3VnaCBIVFRQUy1wcm94eQorIDwvbmFtZT4KKyA8Y29tbWFuZD4KKy1wIC14IGh0dHBzOi8vJUhPU1RJUDolSFRUUFNQUk9YWVBPUlQgZnRwOi8vZnRwLnNpdGUudGhydS5odHRwcy5wcm94eTolRlRQUE9SVC8xNjMxIC0tcHJveHktaW5zZWN1cmUKKzwvY29tbWFuZD4KKzxmZWF0dXJlcz4KK3Byb3h5Cis8L2ZlYXR1cmVzPgorPC9jbGllbnQ+CisKKyMgVmVyaWZ5IGRhdGEgYWZ0ZXIgdGhlIHRlc3QgaGFzIGJlZW4gInNob3QiCis8dmVyaWZ5PgorCisjIFRoZSBzZWNvbmQgQ09OTkVDVCB3aWxsIGJlIG1hZGUgdG8gdGhlIGR5bmFtaWMgcG9ydCBudW1iZXIgdGhlIEZUUCBzZXJ2ZXIKKyMgb3BlbnMgZm9yIHVzLCBzbyB3ZSBjYW4ndCBjb21wYXJlIHdpdGggYSBrbm93biBwcmUtZXhpc3RpbmcgbnVtYmVyIQorPHN0cmlwcGFydD4KK3MvKChodHRwcy5wcm94eSk6KFxkKykpLyQyOjEyMzQ1Lworcy9eKFVzZXItQWdlbnQ6IGN1cmwpLiovJDEvCis8L3N0cmlwcGFydD4KKzxwcm94eT4KK0NPTk5FQ1QgZnRwLnNpdGUudGhydS5odHRwcy5wcm94eToxMjM0NSBIVFRQLzEuMQ0KK0hvc3Q6IGZ0cC5zaXRlLnRocnUuaHR0cHMucHJveHk6MTIzNDUNCitVc2VyLUFnZW50OiBjdXJsCitQcm94eS1Db25uZWN0aW9uOiBLZWVwLUFsaXZlDQorDQorQ09OTkVDVCBmdHAuc2l0ZS50aHJ1Lmh0dHBzLnByb3h5OjEyMzQ1IEhUVFAvMS4xDQorSG9zdDogZnRwLnNpdGUudGhydS5odHRwcy5wcm94eToxMjM0NQ0KK1VzZXItQWdlbnQ6IGN1cmwKK1Byb3h5LUNvbm5lY3Rpb246IEtlZXAtQWxpdmUNCisNCis8L3Byb3h5PgorPHByb3RvY29sPgorVVNFUiBhbm9ueW1vdXMNCitQQVNTIGZ0cEBleGFtcGxlLmNvbQ0KK1BCU1ogMA0KK1BST1QgUA0KK1BXRA0KK0VQU1YNCitUWVBFIEkNCitTSVpFIDE2MzENCitSRVRSIDE2MzENCitRVUlUDQorPC9wcm90b2NvbD4KKzwvdmVyaWZ5PgorPC90ZXN0Y2FzZT4KZGlmZiAtLWdpdCBhL3Rlc3RzL2RhdGEvdGVzdDE2MzIgYi90ZXN0cy9kYXRhL3Rlc3QxNjMyCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmIxMGIyYTYKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9kYXRhL3Rlc3QxNjMyCkBAIC0wLDAgKzEsMTA1IEBACis8dGVzdGNhc2U+Cis8aW5mbz4KKzxrZXl3b3Jkcz4KK0ZUUAorSFRUUFMtcHJveHkKKzwva2V5d29yZHM+Cis8L2luZm8+CisKKyMgU2VydmVyLXNpZGUKKzxyZXBseT4KKworIyBUaGlzIGlzIHRoZSBIVFRQUyBwcm94eSByZXNwb25zZQorPGNvbm5lY3Q+CitIVFRQLzEuMSAyMDAgT0sNCitEYXRlOiBUaHUsIDA5IE5vdiAyMDEwIDE0OjQ5OjAwIEdNVA0KK1NlcnZlcjogdGVzdC1zZXJ2ZXIvZmFrZQ0KK0NvbnRlbnQtVHlwZTogdGV4dC9odG1sDQorRnVubnktaGVhZDogeWVzeWVzDQorQ29udGVudC1MZW5ndGg6IDANCisNCis8L2Nvbm5lY3Q+CisKKyMgVGhpcyBpcyB0aGUgRlRQIHNlcnZlciByZXNwb25zZS4gVGhlIExpZmUgYW5kIEFkdmVudHVyZXMgb2YgUm9iaW5zb24gQ3J1c29lCis8ZGF0YT4KK0kgd2FzIGJvcm4gaW4gdGhlIHllYXIgMTYzMiwgaW4gdGhlIGNpdHkgb2YgWW9yaywgb2YgYSBnb29kIGZhbWlseSwgdGhvdWdoIG5vdAorb2YgdGhhdCBjb3VudHJ5LCBteWZhdGhlciBiZWluZyBhIGZvcmVpZ25lciBvZiBCcmVtZW4sIHdobyBzZXR0bGVkIGZpcnN0IGF0CitIdWxsLiAgSGUgZ290IGEgZ29vZCBlc3RhdGUgYnkgbWVyY2hhbmRpc2UsYW5kIGxlYXZpbmcgb2ZmIGhpcyB0cmFkZSwgbGl2ZWQKK2FmdGVyd2FyZHMgYXQgWW9yaywgZnJvbSB3aGVuY2UgaGUgaGFkIG1hcnJpZWQgbXkgbW90aGVyLCB3aG9zZXJlbGF0aW9ucyB3ZXJlCituYW1lZCBSb2JpbnNvbiwgYSB2ZXJ5IGdvb2QgZmFtaWx5IGluIHRoYXQgY291bnRyeSwgYW5kIGZyb20gd2hvbSBJIHdhcworY2FsbGVkUm9iaW5zb24gS3JldXR6bmFlcjsgYnV0LCBieSB0aGUgdXN1YWwgY29ycnVwdGlvbiBvZiB3b3JkcyBpbiBFbmdsYW5kLAord2UgYXJlIG5vdyBjYWxsZWTigJRuYXkgd2VjYWxsIG91cnNlbHZlcyBhbmQgd3JpdGUgb3VyIG5hbWXigJRDcnVzb2U7IGFuZCBzbyBteQorY29tcGFuaW9ucyBhbHdheXMgY2FsbGVkIG1lLgorPC9kYXRhPgorCis8ZGF0YTI+CitJIGhhZCB0d28gZWxkZXIgYnJvdGhlcnMsIG9uZSBvZiB3aG9tIHdhcyBsaWV1dGVuYW50LWNvbG9uZWwgdG8gYW4KK0VuZ2xpc2ggcmVnaW1lbnQgb2YgZm9vdCBpbkZsYW5kZXJzLCBmb3JtZXJseSBjb21tYW5kZWQgYnkgdGhlIGZhbW91cyBDb2xvbmVsCitMb2NraGFydCwgYW5kIHdhcyBraWxsZWQgYXQgdGhlIGJhdHRsZSBuZWFyRHVua2lyayBhZ2FpbnN0IHRoZSBTcGFuaWFyZHMuCitXaGF0IGJlY2FtZSBvZiBteSBzZWNvbmQgYnJvdGhlciBJIG5ldmVyIGtuZXcsIGFueSBtb3JlIHRoYW5teSBmYXRoZXIgb3IKK21vdGhlciBrbmV3IHdoYXQgYmVjYW1lIG9mIG1lLgorPC9kYXRhMj4KKworPC9yZXBseT4KKworIyBDbGllbnQtc2lkZQorPGNsaWVudD4KKzxzZXJ2ZXI+CitmdHAKK2h0dHBzLXByb3h5Cis8L3NlcnZlcj4KKyA8bmFtZT4KK0ZUUCB0aHJvdWdoIEhUVFBTLXByb3h5LCB3aXRoIGNvbm5lY3Rpb24gcmUtdXNlCisgPC9uYW1lPgorIDxjb21tYW5kPgorLXAgLXggaHR0cHM6Ly8lSE9TVElQOiVIVFRQU1BST1hZUE9SVCBmdHA6Ly9mdHAuc2l0ZS50aHJ1Lmh0dHBzLnByb3h5OiVGVFBQT1JULzE2MzIgLS1wcm94eS1pbnNlY3VyZSBmdHA6Ly9mdHAuc2l0ZS50aHJ1Lmh0dHBzLnByb3h5OiVGVFBQT1JULzE2MzIwMDAyCis8L2NvbW1hbmQ+Cis8ZmVhdHVyZXM+Citwcm94eQorPC9mZWF0dXJlcz4KKzwvY2xpZW50PgorCisjIFZlcmlmeSBkYXRhIGFmdGVyIHRoZSB0ZXN0IGhhcyBiZWVuICJzaG90IgorPHZlcmlmeT4KKworIyBUaGUgc2Vjb25kIGFuZCB0aGlyZCBDT05ORUNUIHdpbGwgYmUgbWFkZSB0byB0aGUgZHluYW1pYyBwb3J0IG51bWJlciB0aGUgRlRQCisjIHNlcnZlciBvcGVucyBmb3IgdXMsIHNvIHdlIGNhbid0IGNvbXBhcmUgd2l0aCBrbm93biBwcmUtZXhpc3RpbmcgbnVtYmVycyEKKworPHN0cmlwcGFydD4KK3MvKChodHRwcy5wcm94eSk6KFxkKykpLyQyOjEyMzQ1Lworcy9eKFVzZXItQWdlbnQ6IGN1cmwpLiovJDEvCis8L3N0cmlwcGFydD4KKzxwcm94eT4KK0NPTk5FQ1QgZnRwLnNpdGUudGhydS5odHRwcy5wcm94eToxMjM0NSBIVFRQLzEuMQ0KK0hvc3Q6IGZ0cC5zaXRlLnRocnUuaHR0cHMucHJveHk6MTIzNDUNCitVc2VyLUFnZW50OiBjdXJsCitQcm94eS1Db25uZWN0aW9uOiBLZWVwLUFsaXZlDQorDQorQ09OTkVDVCBmdHAuc2l0ZS50aHJ1Lmh0dHBzLnByb3h5OjEyMzQ1IEhUVFAvMS4xDQorSG9zdDogZnRwLnNpdGUudGhydS5odHRwcy5wcm94eToxMjM0NQ0KK1VzZXItQWdlbnQ6IGN1cmwKK1Byb3h5LUNvbm5lY3Rpb246IEtlZXAtQWxpdmUNCisNCitDT05ORUNUIGZ0cC5zaXRlLnRocnUuaHR0cHMucHJveHk6MTIzNDUgSFRUUC8xLjENCitIb3N0OiBmdHAuc2l0ZS50aHJ1Lmh0dHBzLnByb3h5OjEyMzQ1DQorVXNlci1BZ2VudDogY3VybAorUHJveHktQ29ubmVjdGlvbjogS2VlcC1BbGl2ZQ0KKw0KKzwvcHJveHk+Cis8cHJvdG9jb2w+CitVU0VSIGFub255bW91cw0KK1BBU1MgZnRwQGV4YW1wbGUuY29tDQorUEJTWiAwDQorUFJPVCBQDQorUFdEDQorRVBTVg0KK1RZUEUgSQ0KK1NJWkUgMTYzMg0KK1JFVFIgMTYzMg0KK0VQU1YNCitTSVpFIDE2MzIwMDAyDQorUkVUUiAxNjMyMDAwMg0KK1FVSVQNCis8L3Byb3RvY29sPgorPC92ZXJpZnk+Cis8L3Rlc3RjYXNlPgpkaWZmIC0tZ2l0IGEvdGVzdHMvZGF0YS90ZXN0MTYzMyBiL3Rlc3RzL2RhdGEvdGVzdDE2MzMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNWQyOWVmMQotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL2RhdGEvdGVzdDE2MzMKQEAgLTAsMCArMSw5NyBAQAorPHRlc3RjYXNlPgorPGluZm8+Cis8a2V5d29yZHM+CitIVFRQCitIVFRQIEdFVAorPC9rZXl3b3Jkcz4KKzwvaW5mbz4KKworIworIyBTZXJ2ZXItc2lkZQorPHJlcGx5PgorPGRhdGE+CitIVFRQLzEuMSAzMDEgT0sKK0FjY2VwdC1SYW5nZXM6IGJ5dGVzCitDb250ZW50LUxlbmd0aDogMAorQ29ubmVjdGlvbjogY2xvc2UKK0xvY2F0aW9uOiAvMTYzMzAwMDIKKworPC9kYXRhPgorPGRhdGEyPgorSFRUUC8xLjEgNDI5IHRvbyBtYW55IHJlcXVlc3RzCitSZXRyeS1BZnRlcjogMQorQ29udGVudC1MZW5ndGg6IDAKK0Nvbm5lY3Rpb246IGNsb3NlCisKKzwvZGF0YTI+CisKKzxkYXRhY2hlY2s+CitIVFRQLzEuMSAzMDEgT0sKK0FjY2VwdC1SYW5nZXM6IGJ5dGVzCitDb250ZW50LUxlbmd0aDogMAorQ29ubmVjdGlvbjogY2xvc2UKK0xvY2F0aW9uOiAvMTYzMzAwMDIKKworSFRUUC8xLjEgNDI5IHRvbyBtYW55IHJlcXVlc3RzCitSZXRyeS1BZnRlcjogMQorQ29udGVudC1MZW5ndGg6IDAKK0Nvbm5lY3Rpb246IGNsb3NlCisKK0hUVFAvMS4xIDMwMSBPSworQWNjZXB0LVJhbmdlczogYnl0ZXMKK0NvbnRlbnQtTGVuZ3RoOiAwCitDb25uZWN0aW9uOiBjbG9zZQorTG9jYXRpb246IC8xNjMzMDAwMgorCitIVFRQLzEuMSA0MjkgdG9vIG1hbnkgcmVxdWVzdHMKK1JldHJ5LUFmdGVyOiAxCitDb250ZW50LUxlbmd0aDogMAorQ29ubmVjdGlvbjogY2xvc2UKKworPC9kYXRhY2hlY2s+Cis8L3JlcGx5PgorCisjCisjIENsaWVudC1zaWRlCis8Y2xpZW50PgorPHNlcnZlcj4KK2h0dHAKKzwvc2VydmVyPgorIDxuYW1lPgorSFRUUCBHRVQKKyA8L25hbWU+CisgPGNvbW1hbmQ+CitodHRwOi8vJUhPU1RJUDolSFRUUFBPUlQvMTYzMyAtZCBtb28gLS1yZXRyeSAxIC1MCis8L2NvbW1hbmQ+Cis8L2NsaWVudD4KKworIworIyBWZXJpZnkgZGF0YSBhZnRlciB0aGUgdGVzdCBoYXMgYmVlbiAic2hvdCIKKzx2ZXJpZnk+Cis8c3RyaXA+CiteVXNlci1BZ2VudDouKgorPC9zdHJpcD4KKzxwcm90b2NvbD4KK1BPU1QgLzE2MzMgSFRUUC8xLjENCitIb3N0OiAlSE9TVElQOiVIVFRQUE9SVA0KK0FjY2VwdDogKi8qDQorQ29udGVudC1MZW5ndGg6IDMNCitDb250ZW50LVR5cGU6IGFwcGxpY2F0aW9uL3gtd3d3LWZvcm0tdXJsZW5jb2RlZA0KKw0KK21vb0dFVCAvMTYzMzAwMDIgSFRUUC8xLjENCitIb3N0OiAlSE9TVElQOiVIVFRQUE9SVA0KK0FjY2VwdDogKi8qDQorDQorUE9TVCAvMTYzMyBIVFRQLzEuMQ0KK0hvc3Q6ICVIT1NUSVA6JUhUVFBQT1JUDQorQWNjZXB0OiAqLyoNCitDb250ZW50LUxlbmd0aDogMw0KK0NvbnRlbnQtVHlwZTogYXBwbGljYXRpb24veC13d3ctZm9ybS11cmxlbmNvZGVkDQorDQorbW9vR0VUIC8xNjMzMDAwMiBIVFRQLzEuMQ0KK0hvc3Q6ICVIT1NUSVA6JUhUVFBQT1JUDQorQWNjZXB0OiAqLyoNCisNCis8L3Byb3RvY29sPgorPC92ZXJpZnk+Cis8L3Rlc3RjYXNlPgpkaWZmIC0tZ2l0IGEvdGVzdHMvZGF0YS90ZXN0MTkwMSBiL3Rlc3RzL2RhdGEvdGVzdDE5MDEKaW5kZXggODNjZGY3Mi4uNzkzYmQ2NiAxMDA2NDQKLS0tIGEvdGVzdHMvZGF0YS90ZXN0MTkwMQorKysgYi90ZXN0cy9kYXRhL3Rlc3QxOTAxCkBAIC00MCwxMyArNDAsMTMgQEAKIGxpYjE5MDAKIDwvdG9vbD4KICA8bmFtZT4KLUhUVFAgR0VUIHVzaW5nIHBpcGVsaW5pbmcsIGJsYWNrbGlzdGVkIHNpdGUKK0hUVFAgR0VUIHVzaW5nIHBpcGVsaW5pbmcsIGJsb2NrbGlzdGVkIHNpdGUKICA8L25hbWU+CiAgPGNvbW1hbmQ+CiBodHRwOi8vJUhPU1RJUDolSFRUUFBJUEVQT1JULyBsb2cvdXJsczE5MDEudHh0CiA8L2NvbW1hbmQ+CiA8ZmlsZSBuYW1lPSJsb2cvdXJsczE5MDEudHh0Ij4KLWJsYWNrbGlzdF9zaXRlIDEyNy4wLjAuMTolSFRUUFBJUEVQT1JUCitibG9ja2xpc3Rfc2l0ZSAxMjcuMC4wLjE6JUhUVFBQSVBFUE9SVAogMCAxay50eHQKIDEwMDAgMTAway50eHQKIDAgMWsudHh0CmRpZmYgLS1naXQgYS90ZXN0cy9kYXRhL3Rlc3QxOTA5IGIvdGVzdHMvZGF0YS90ZXN0MTkwOQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5iZGUwZTVlCi0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvZGF0YS90ZXN0MTkwOQpAQCAtMCwwICsxLDY1IEBACis8dGVzdGNhc2U+Cis8aW5mbz4KKzxrZXl3b3Jkcz4KK0hUVFAKK0hUVFAgR0VUCityZXRyeQorPC9rZXl3b3Jkcz4KKzwvaW5mbz4KKworIworIyBTZXJ2ZXItc2lkZQorPHJlcGx5PgorPGRhdGEgbm9jaGVjaz0ieWVzIj4KK0hUVFAvMS4xIDIwMCBPSyBzd3NjbG9zZSBzd3Nib3VuY2UKK0NvbnRlbnQtTGVuZ3RoOiA1CitDb25uZWN0aW9uOiBjbG9zZQorCitiYmIKKzwvZGF0YT4KKzxkYXRhMT4KK0hUVFAvMS4xIDIwMCBPSworQ29udGVudC1MZW5ndGg6IDUKK0Nvbm5lY3Rpb246IGNsb3NlCisKK2RhdGEKKzwvZGF0YTE+Cis8L3JlcGx5PgorCisjCisjIENsaWVudC1zaWRlCis8Y2xpZW50PgorPHNlcnZlcj4KK2h0dHAKKzwvc2VydmVyPgorIDxuYW1lPgorSFRUUCBHRVQgLS1yZXRyeS1hbGwtZXJyb3JzIHRvIG92ZXJjb21lIHBhcnRpYWwgdHJhbnNmZXIKKyA8L25hbWU+CisgPGNvbW1hbmQgb3B0aW9uPSJuby1vdXRwdXQsbm8taW5jbHVkZSI+CistLXJldHJ5IDEgLS1yZXRyeS1hbGwtZXJyb3JzIC1vIGxvZy9vdXRmaWxlMTkwOSBodHRwOi8vJUhPU1RJUDolSFRUUFBPUlQvMTkwOQorPC9jb21tYW5kPgorPC9jbGllbnQ+CisKKyMKKyMgVmVyaWZ5IGRhdGEgYWZ0ZXIgdGhlIHRlc3QgaGFzIGJlZW4gInNob3QiCis8dmVyaWZ5PgorPHN0cmlwPgorXlVzZXItQWdlbnQ6LioKKzwvc3RyaXA+Cis8cHJvdG9jb2w+CitHRVQgLzE5MDkgSFRUUC8xLjENCitIb3N0OiAlSE9TVElQOiVIVFRQUE9SVA0KK0FjY2VwdDogKi8qDQorDQorR0VUIC8xOTA5IEhUVFAvMS4xDQorSG9zdDogJUhPU1RJUDolSFRUUFBPUlQNCitBY2NlcHQ6ICovKg0KKw0KKzwvcHJvdG9jb2w+CisKKzxmaWxlMSBuYW1lPSJsb2cvb3V0ZmlsZTE5MDkiPgorZGF0YQorPC9maWxlMT4KKworPC92ZXJpZnk+Cis8L3Rlc3RjYXNlPgpkaWZmIC0tZ2l0IGEvdGVzdHMvZGF0YS90ZXN0MTkxMCBiL3Rlc3RzL2RhdGEvdGVzdDE5MTAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYTFiM2Y1NwotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL2RhdGEvdGVzdDE5MTAKQEAgLTAsMCArMSw2OCBAQAorPHRlc3RjYXNlPgorPGluZm8+Cis8a2V5d29yZHM+CitIVFRQCitIVFRQIEJhc2ljCitDVVJMT1BUX0ZPTExPV0xPQ0FUSU9OCis8L2tleXdvcmRzPgorPC9pbmZvPgorCisjIFNlcnZlci1zaWRlCis8cmVwbHk+Cis8ZGF0YSBub2NoZWNrPSJ5ZXMiPgorSFRUUC8xLjEgMzAyIE9LCitEYXRlOiBUaHUsIDA5IE5vdiAyMDEwIDE0OjQ5OjAwIEdNVAorU2VydmVyOiB0ZXN0LXNlcnZlci9mYWtlCitDb250ZW50LVR5cGU6IHRleHQvaHRtbAorQ29udGVudC1MZW5ndGg6IDAKK0xvY2F0aW9uOiAvMTkxMDAwMDIKKworPC9kYXRhPgorPGRhdGEyPgorSFRUUC8xLjEgMjAwIE9LCitEYXRlOiBUaHUsIDA5IE5vdiAyMDEwIDE0OjQ5OjAwIEdNVAorU2VydmVyOiB0ZXN0LXNlcnZlci9mYWtlCitDb250ZW50LVR5cGU6IHRleHQvaHRtbAorQ29udGVudC1MZW5ndGg6IDQKKworaGVqCis8L2RhdGE+Cis8L3JlcGx5PgorCisjIENsaWVudC1zaWRlCis8Y2xpZW50PgorPHNlcnZlcj4KK2h0dHAKKzwvc2VydmVyPgorCis8bmFtZT4KK0hUVFAgY3JlZGVudGlhbHMgd2l0aCBuZXdsaW5lIGFuZCByZWRpcmVjdAorPC9uYW1lPgorPHRvb2w+CitsaWIxOTEwCis8L3Rvb2w+CisKKzxjb21tYW5kPgorJUhPU1RJUDolSFRUUFBPUlQvMTkxMAorPC9jb21tYW5kPgorPC9jbGllbnQ+CisKKyMgVmVyaWZ5IGRhdGEgYWZ0ZXIgdGhlIHRlc3QgaGFzIGJlZW4gInNob3QiCis8dmVyaWZ5PgorPHN0cmlwPgorXlVzZXItQWdlbnQ6LioKKzwvc3RyaXA+Cis8cHJvdG9jb2w+CitHRVQgLzE5MTAgSFRUUC8xLjENCitIb3N0OiAlSE9TVElQOiVIVFRQUE9SVA0KK0F1dGhvcml6YXRpb246IEJhc2ljIGRYTmxjZ3B1WVcxbE9uQmhjM01LZDI5eVpBPT0NCitBY2NlcHQ6ICovKg0KKw0KK0dFVCAvMTkxMDAwMDIgSFRUUC8xLjENCitIb3N0OiAlSE9TVElQOiVIVFRQUE9SVA0KK0F1dGhvcml6YXRpb246IEJhc2ljIGRYTmxjZ3B1WVcxbE9uQmhjM01LZDI5eVpBPT0NCitBY2NlcHQ6ICovKg0KKw0KKzwvcHJvdG9jb2w+Cis8L3ZlcmlmeT4KKzwvdGVzdGNhc2U+CmRpZmYgLS1naXQgYS90ZXN0cy9kYXRhL3Rlc3QyMDA0IGIvdGVzdHMvZGF0YS90ZXN0MjAwNAppbmRleCA1YjNiNjhkLi5mOWFkZDgzIDEwMDY0NAotLS0gYS90ZXN0cy9kYXRhL3Rlc3QyMDA0CisrKyBiL3Rlc3RzL2RhdGEvdGVzdDIwMDQKQEAgLTMwLDcgKzMwLDcgQEAKIFRGVFAgUlJRIGZvbGxvd2VkIGJ5IFNGVFAgcmV0cmlldmFsIGZvbGxvd2VkIGJ5IEZJTEUgZm9sbG93ZWQgYnkgU0NQIHJldHJpZXZhbCB0aGVuIGFnYWluIGluIHJldmVyc2Ugb3JkZXIKICA8L25hbWU+CiA8Y29tbWFuZCBvcHRpb249Im5vLWluY2x1ZGUiPgotLS1rZXkgY3VybF9jbGllbnRfa2V5IC0tcHVia2V5IGN1cmxfY2xpZW50X2tleS5wdWIgLXUgJVVTRVI6IHRmdHA6Ly8lSE9TVElQOiVURlRQUE9SVC8vMjAwNCBzZnRwOi8vJUhPU1RJUDolU1NIUE9SVCVQT1NJWF9QV0QvbG9nL3Rlc3QyMDA0LnR4dCBmaWxlOi8vbG9jYWxob3N0JUZJTEVfUFdEL2xvZy90ZXN0MjAwNC50eHQgc2NwOi8vJUhPU1RJUDolU1NIUE9SVCVQT1NJWF9QV0QvbG9nL3Rlc3QyMDA0LnR4dCBmaWxlOi8vbG9jYWxob3N0JUZJTEVfUFdEL2xvZy90ZXN0MjAwNC50eHQgc2Z0cDovLyVIT1NUSVA6JVNTSFBPUlQlUE9TSVhfUFdEL2xvZy90ZXN0MjAwNC50eHQgdGZ0cDovLyVIT1NUSVA6JVRGVFBQT1JULy8yMDA0IC0taW5zZWN1cmUKKy0ta2V5IGN1cmxfY2xpZW50X2tleSAtLXB1YmtleSBjdXJsX2NsaWVudF9rZXkucHViIC11ICVVU0VSOiB0ZnRwOi8vJUhPU1RJUDolVEZUUFBPUlQvLzIwMDQgc2Z0cDovLyVIT1NUSVA6JVNTSFBPUlQlU1NIX1BXRC9sb2cvdGVzdDIwMDQudHh0IGZpbGU6Ly9sb2NhbGhvc3QlRklMRV9QV0QvbG9nL3Rlc3QyMDA0LnR4dCBzY3A6Ly8lSE9TVElQOiVTU0hQT1JUJVNTSF9QV0QvbG9nL3Rlc3QyMDA0LnR4dCBmaWxlOi8vbG9jYWxob3N0JUZJTEVfUFdEL2xvZy90ZXN0MjAwNC50eHQgc2Z0cDovLyVIT1NUSVA6JVNTSFBPUlQlU1NIX1BXRC9sb2cvdGVzdDIwMDQudHh0IHRmdHA6Ly8lSE9TVElQOiVURlRQUE9SVC8vMjAwNCAtLWluc2VjdXJlCiA8L2NvbW1hbmQ+CiA8ZmlsZSBuYW1lPSJsb2cvdGVzdDIwMDQudHh0Ij4KIFRoaXMgaXMgdGVzdCBkYXRhCmRpZmYgLS1naXQgYS90ZXN0cy9kYXRhL3Rlc3QyMDM2IGIvdGVzdHMvZGF0YS90ZXN0MjAzNgppbmRleCAwYWI4YjY2Li40YjJlYzQzIDEwMDY0NAotLS0gYS90ZXN0cy9kYXRhL3Rlc3QyMDM2CisrKyBiL3Rlc3RzL2RhdGEvdGVzdDIwMzYKQEAgLTIyLDcgKzIyLDcgQEAKIEhUVFAsIC1PIHdpdGggbm8gc2xhc2ggYXQgYWxsIGluIHRoZSBVUkwKICA8L25hbWU+CiAgPGNvbW1hbmQgb3B0aW9uPSJuby1vdXRwdXQiPgotJUhPU1RJUDolSFRUUFBPUlQgLU8KKyVIT1NUSVA6JU5PTElTVEVOUE9SVCAtTwogPC9jb21tYW5kPgogPC9jbGllbnQ+CiAKZGlmZiAtLWdpdCBhL3Rlc3RzL2RhdGEvdGVzdDIwNDcgYi90ZXN0cy9kYXRhL3Rlc3QyMDQ3CmluZGV4IGQzNjU0YzcuLjE0NzFkMDAgMTAwNjQ0Ci0tLSBhL3Rlc3RzL2RhdGEvdGVzdDIwNDcKKysrIGIvdGVzdHMvZGF0YS90ZXN0MjA0NwpAQCAtNDAsNiArNDAsNyBAQAogPC9zZXJ2ZXI+CiA8ZmVhdHVyZXM+CiBpZG4KK3Byb3h5CiA8L2ZlYXR1cmVzPgogPHNldGVudj4KIExDX0FMTD1lbl9VUy5VVEYtOApkaWZmIC0tZ2l0IGEvdGVzdHMvZGF0YS90ZXN0MjE5IGIvdGVzdHMvZGF0YS90ZXN0MjE5CmluZGV4IDQ5ZjE3ZTQuLjJiNjM4OTUgMTAwNjQ0Ci0tLSBhL3Rlc3RzL2RhdGEvdGVzdDIxOQorKysgYi90ZXN0cy9kYXRhL3Rlc3QyMTkKQEAgLTI0LDcgKzI0LDcgQEAKIHRyeSB1c2luZyBwcm94eSB3aXRoIHVuc3VwcG9ydGVkIHNjaGVtZQogIDwvbmFtZT4KICA8Y29tbWFuZD4KLS14IGZvbzovLyVIT1NUSVA6JUhUVFBQT1JULzIxOSBodHRwOi8vJUhPU1RJUDolSFRUUFBPUlQvMjE5CisteCBmb286Ly8lSE9TVElQOiVOT0xJU1RFTlBPUlQvMjE5IGh0dHA6Ly8lSE9TVElQOiVOT0xJU1RFTlBPUlQvMjE5CiA8L2NvbW1hbmQ+CiA8L2NsaWVudD4KIApkaWZmIC0tZ2l0IGEvdGVzdHMvZGF0YS90ZXN0Mjg4IGIvdGVzdHMvZGF0YS90ZXN0Mjg4CmluZGV4IGU2MmVhYmQuLjI2ZTFiODQgMTAwNjQ0Ci0tLSBhL3Rlc3RzL2RhdGEvdGVzdDI4OAorKysgYi90ZXN0cy9kYXRhL3Rlc3QyODgKQEAgLTI4LDcgKzI4LDcgQEAKIGZpbGU6Ly8gd2l0aCAodW5zdXBwb3J0ZWQpIHByb3h5LCBhdXRoZW50aWNhdGlvbiBhbmQgcmFuZ2UKICA8L25hbWU+CiA8c2V0ZW52PgotYWxsX3Byb3h5PWh0dHA6Ly9mYWtlOnVzZXJAJUhPU1RJUDolSFRUUFBPUlQvCithbGxfcHJveHk9aHR0cDovL2Zha2U6dXNlckAlSE9TVElQOiVOT0xJU1RFTlBPUlQvCiA8L3NldGVudj4KIDxjb21tYW5kIG9wdGlvbj0ibm8taW5jbHVkZSI+CiBmaWxlOi8vbG9jYWxob3N0JUZJTEVfUFdEL2xvZy90ZXN0Mjg4LnR4dApkaWZmIC0tZ2l0IGEvdGVzdHMvZGF0YS90ZXN0MzAyIGIvdGVzdHMvZGF0YS90ZXN0MzAyCmluZGV4IDdiYjE2MmIuLjNlYjllN2EgMTAwNjQ0Ci0tLSBhL3Rlc3RzL2RhdGEvdGVzdDMwMgorKysgYi90ZXN0cy9kYXRhL3Rlc3QzMDIKQEAgLTI0LDYgKzI0LDcgQEAKIDxjbGllbnQ+CiA8ZmVhdHVyZXM+CiBTU0wKK3Byb3h5CiA8L2ZlYXR1cmVzPgogPHNlcnZlcj4KIGh0dHBzCmRpZmYgLS1naXQgYS90ZXN0cy9kYXRhL3Rlc3QzMzMgYi90ZXN0cy9kYXRhL3Rlc3QzMzMKaW5kZXggMTk4YWY5Yy4uMGZkMDU5MSAxMDA2NDQKLS0tIGEvdGVzdHMvZGF0YS90ZXN0MzMzCisrKyBiL3Rlc3RzL2RhdGEvdGVzdDMzMwpAQCAtMjAsNyArMjAsNyBAQAogVHJ5IGEgbm9uLWJvb2xlYW4gY29tbWFuZCBsaW5lIG9wdGlvbiB3aXRoIC0tbm8tCiAgPC9uYW1lPgogIDxjb21tYW5kPgotLS1uby1wcm94eSAiaGV5IiBodHRwOi8vJUhPU1RJUDolSFRUUFBPUlQvMzMzCistLW5vLXByb3h5ICJoZXkiIGh0dHA6Ly8lSE9TVElQOiVOT0xJU1RFTlBPUlQvMzMzCiA8L2NvbW1hbmQ+CiA8L2NsaWVudD4KIApkaWZmIC0tZ2l0IGEvdGVzdHMvZGF0YS90ZXN0MzQ2IGIvdGVzdHMvZGF0YS90ZXN0MzQ2Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjY0OTIzMTEKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9kYXRhL3Rlc3QzNDYKQEAgLTAsMCArMSw2MCBAQAorPHRlc3RjYXNlPgorPGluZm8+Cis8a2V5d29yZHM+CitIVFRQCitwcm94eQorPC9rZXl3b3Jkcz4KKzwvaW5mbz4KKworIworIyBTZXJ2ZXItc2lkZQorPHJlcGx5PgorPGRhdGE+CitIVFRQLzEuMSAyMDAgT0sKK0RhdGU6IFRodSwgMDkgTm92IDIwMTAgMTQ6NDk6MDAgR01UCitTZXJ2ZXI6IHRlc3Qtc2VydmVyL2Zha2UKK0xhc3QtTW9kaWZpZWQ6IFR1ZSwgMTMgSnVuIDIwMDAgMTI6MTA6MDAgR01UCitFVGFnOiAiMjEwMjUtZGM3LTM5NDYyNDk4IgorQWNjZXB0LVJhbmdlczogYnl0ZXMKK0NvbnRlbnQtTGVuZ3RoOiA2CitDb25uZWN0aW9uOiBjbG9zZQorQ29udGVudC1UeXBlOiB0ZXh0L2h0bWwKK0Z1bm55LWhlYWQ6IHllc3llcworCistZm9vLQorPC9kYXRhPgorPC9yZXBseT4KKworIworIyBDbGllbnQtc2lkZQorPGNsaWVudD4KKzxmZWF0dXJlcz4KK3Byb3h5Cis8L2ZlYXR1cmVzPgorPHNlcnZlcj4KK2h0dHAKKzwvc2VydmVyPgorPG5hbWU+CitIVFRQIEdFVCBvdmVyIHByb3h5IHdpdGggY3JlZGVudGlhbHMgdXNpbmcgYmxhbmsgcGFzc3dvcmRzCis8L25hbWU+Cis8Y29tbWFuZD4KKy14IGh0dHA6Ly8lSE9TVElQOiVIVFRQUE9SVC8zNDYgLVUgcHVzZXI6IC11IHN1c2VyOiBodHRwOi8vcmVtb3RlLmV4YW1wbGUvMzQ2Cis8L2NvbW1hbmQ+Cis8L2NsaWVudD4KKworIworPHZlcmlmeT4KKzxzdHJpcD4KK15Vc2VyLUFnZW50Oi4qCis8L3N0cmlwPgorPHByb3RvY29sPgorR0VUIGh0dHA6Ly9yZW1vdGUuZXhhbXBsZS8zNDYgSFRUUC8xLjENCitIb3N0OiByZW1vdGUuZXhhbXBsZQ0KK1Byb3h5LUF1dGhvcml6YXRpb246IEJhc2ljIGNIVnpaWEk2DQorQXV0aG9yaXphdGlvbjogQmFzaWMgYzNWelpYSTYNCitBY2NlcHQ6ICovKg0KK1Byb3h5LUNvbm5lY3Rpb246IEtlZXAtQWxpdmUNCisNCis8L3Byb3RvY29sPgorPC92ZXJpZnk+Cis8L3Rlc3RjYXNlPgpkaWZmIC0tZ2l0IGEvdGVzdHMvZGF0YS90ZXN0NTAxIGIvdGVzdHMvZGF0YS90ZXN0NTAxCmluZGV4IDY3NGJjNDMuLjhiM2RhYzcgMTAwNjQ0Ci0tLSBhL3Rlc3RzL2RhdGEvdGVzdDUwMQorKysgYi90ZXN0cy9kYXRhL3Rlc3Q1MDEKQEAgLTI2LDcgKzI2LDcgQEAKIHNpbXBsZSBsaWJjdXJsIGF0dGVtcHQgb3BlcmF0aW9uIHdpdGhvdXQgVVJMIHNldAogIDwvbmFtZT4KICA8Y29tbWFuZD4KLWh0dHA6Ly8lSE9TVElQOiVIVFRQUE9SVC81MDEKK2h0dHA6Ly8lSE9TVElQOiVOT0xJU1RFTlBPUlQvNTAxCiA8L2NvbW1hbmQ+CiA8L2NsaWVudD4KIApkaWZmIC0tZ2l0IGEvdGVzdHMvZGF0YS90ZXN0NTA0IGIvdGVzdHMvZGF0YS90ZXN0NTA0CmluZGV4IGJlOGY5NWUuLjM1MWFlNzQgMTAwNjQ0Ci0tLSBhL3Rlc3RzL2RhdGEvdGVzdDUwNAorKysgYi90ZXN0cy9kYXRhL3Rlc3Q1MDQKQEAgLTMyLDcgKzMyLDcgQEAKIHNpbXBsZSBtdWx0aSB0aHJvdWdoIGxvY2FsIHByb3h5IHdpdGhvdXQgbGlzdGVuZXIKICA8L25hbWU+CiAgPGNvbW1hbmQ+Ci1odHRwOi8vJUhPU1RJUDolSFRUUFNQT1JULzUwNCAlSE9TVElQOiVOT0xJU1RFTlBPUlQKK2h0dHA6Ly8lSE9TVElQOiVOT0xJU1RFTlBPUlQvNTA0ICVIT1NUSVA6JU5PTElTVEVOUE9SVAogPC9jb21tYW5kPgogPC9jbGllbnQ+CiAKZGlmZiAtLWdpdCBhL3Rlc3RzL2RhdGEvdGVzdDUwOSBiL3Rlc3RzL2RhdGEvdGVzdDUwOQppbmRleCA1ZGUxNTk5Li4wZTBkZDIxIDEwMDY0NAotLS0gYS90ZXN0cy9kYXRhL3Rlc3Q1MDkKKysrIGIvdGVzdHMvZGF0YS90ZXN0NTA5CkBAIC0zNCwxMCArMzQsNyBAQAogIyBWZXJpZnkgZGF0YSBhZnRlciB0aGUgdGVzdCBoYXMgYmVlbiAic2hvdCIKIDx2ZXJpZnk+CiA8c3Rkb3V0Pgotc2VlbiBjdXN0b21fY2FsbG9jKCkKLXNlZW4gY3VzdG9tX21hbGxvYygpCi1zZWVuIGN1c3RvbV9yZWFsbG9jKCkKLXNlZW4gY3VzdG9tX2ZyZWUoKQorQ2FsbGJhY2tzIHdlcmUgaW52b2tlZCEKIDwvc3Rkb3V0PgogPC92ZXJpZnk+CiAKZGlmZiAtLWdpdCBhL3Rlc3RzL2RhdGEvdGVzdDU0MyBiL3Rlc3RzL2RhdGEvdGVzdDU0MwppbmRleCA0NTU2MzMwLi5mN2U2ODdjIDEwMDY0NAotLS0gYS90ZXN0cy9kYXRhL3Rlc3Q1NDMKKysrIGIvdGVzdHMvZGF0YS90ZXN0NTQzCkBAIC0zMCw2ICszMCw4IEBACiA8dmVyaWZ5PgogPHN0ZG91dD4KICU5QyUyNkslM0RJJTA0JUExJTAxJUUwJUQ4JTdDJTIwJUI3JUVGUyUyOSVGQSUxRFclRTEKK0lOOiAnJyBPVVQ6ICcnCitJTjogJyAxMicgT1VUOiAnJTIwMTInCiA8L3N0ZG91dD4KIDwvdmVyaWZ5PgogPC90ZXN0Y2FzZT4KZGlmZiAtLWdpdCBhL3Rlc3RzL2RhdGEvdGVzdDU1MiBiL3Rlc3RzL2RhdGEvdGVzdDU1MgppbmRleCA0N2RkNDFhLi5hMDIwMjNhIDEwMDY0NAotLS0gYS90ZXN0cy9kYXRhL3Rlc3Q1NTIKKysrIGIvdGVzdHMvZGF0YS90ZXN0NTUyCkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL3Rlc3RzL2RhdGEvdGVzdDU1OCBiL3Rlc3RzL2RhdGEvdGVzdDU1OAppbmRleCBkY2NiODA4Li45NDY5Nzk2IDEwMDY0NAotLS0gYS90ZXN0cy9kYXRhL3Rlc3Q1NTgKKysrIGIvdGVzdHMvZGF0YS90ZXN0NTU4CkBAIC0zOCw3ICszOCw2IEBACiA8ZmlsZSBuYW1lPSJsb2cvbWVtZHVtcCI+CiBNRU0gbGliNTU4LmM6IG1hbGxvYygpCiBNRU0gbGliNTU4LmM6IGZyZWUoKQotTUVNIGVzY2FwZS5jOiBtYWxsb2MoKQogTUVNIHN0cmR1cC5jOiByZWFsbG9jKCkKIE1FTSBzdHJkdXAuYzogcmVhbGxvYygpCiBNRU0gZXNjYXBlLmM6IGZyZWUoKQpkaWZmIC0tZ2l0IGEvdGVzdHMvZGF0YS90ZXN0NTgyIGIvdGVzdHMvZGF0YS90ZXN0NTgyCmluZGV4IDY1ZDg1YjIuLjhhYzZiYzggMTAwNjQ0Ci0tLSBhL3Rlc3RzL2RhdGEvdGVzdDU4MgorKysgYi90ZXN0cy9kYXRhL3Rlc3Q1ODIKQEAgLTI0LDcgKzI0LDcgQEAKIFNGVFAgdXBsb2FkIHVzaW5nIG11bHRpIGludGVyZmFjZQogIDwvbmFtZT4KICA8Y29tbWFuZD4KLVNmdHA6Ly8lSE9TVElQOiVTU0hQT1JUJVBPU0lYX1BXRC9sb2cvdXBsb2FkNTgyLnR4dCAlUFdEL2xvZy9maWxlNTgyLnR4dCAlVVNFUjoKK1NmdHA6Ly8lSE9TVElQOiVTU0hQT1JUJVNTSF9QV0QvbG9nL3VwbG9hZDU4Mi50eHQgJVBXRC9sb2cvZmlsZTU4Mi50eHQgJVVTRVI6CiA8L2NvbW1hbmQ+CiA8ZmlsZSBuYW1lPSJsb2cvZmlsZTU4Mi50eHQiPgogTW9vb29vb29vb29vbwpkaWZmIC0tZ2l0IGEvdGVzdHMvZGF0YS90ZXN0NTgzIGIvdGVzdHMvZGF0YS90ZXN0NTgzCmluZGV4IDJjNDFjYTEuLmU3ZDk1OTYgMTAwNjQ0Ci0tLSBhL3Rlc3RzL2RhdGEvdGVzdDU4MworKysgYi90ZXN0cy9kYXRhL3Rlc3Q1ODMKQEAgLTI5LDcgKzI5LDcgQEAKICMgbmFtZSByZXNvbHZlIHdpbGwgY2F1c2UgaXQgdG8gcmV0dXJuIHJhdGhlciBxdWlja2x5IGFuZCB0aHVzIHdlIGNvdWxkIHRyaWdnZXIKICMgdGhlIHByb2JsZW0gd2UncmUgbG9va2luZyB0byB2ZXJpZnkuCiAgPGNvbW1hbmQ+Ci1zZnRwOi8vbG9jYWxob3N0OiVTU0hQT1JUJVBPU0lYX1BXRC9sb2cvdXBsb2FkNTgzLnR4dCAlVVNFUjoKK3NmdHA6Ly9sb2NhbGhvc3Q6JVNTSFBPUlQlU1NIX1BXRC9sb2cvdXBsb2FkNTgzLnR4dCAlVVNFUjoKIDwvY29tbWFuZD4KIDwvY2xpZW50PgogCmRpZmYgLS1naXQgYS90ZXN0cy9kYXRhL3Rlc3Q2MDAgYi90ZXN0cy9kYXRhL3Rlc3Q2MDAKaW5kZXggMmExMzliOC4uZjk0MTVlMCAxMDA2NDQKLS0tIGEvdGVzdHMvZGF0YS90ZXN0NjAwCisrKyBiL3Rlc3RzL2RhdGEvdGVzdDYwMApAQCAtMjQsNyArMjQsNyBAQAogU0ZUUCByZXRyaWV2YWwKICA8L25hbWU+CiAgPGNvbW1hbmQ+Ci0tLWtleSBjdXJsX2NsaWVudF9rZXkgLS1wdWJrZXkgY3VybF9jbGllbnRfa2V5LnB1YiAtdSAlVVNFUjogc2Z0cDovLyVIT1NUSVA6JVNTSFBPUlQlUE9TSVhfUFdEL2xvZy9maWxlNjAwLnR4dCAtLWluc2VjdXJlCistLWtleSBjdXJsX2NsaWVudF9rZXkgLS1wdWJrZXkgY3VybF9jbGllbnRfa2V5LnB1YiAtdSAlVVNFUjogc2Z0cDovLyVIT1NUSVA6JVNTSFBPUlQlU1NIX1BXRC9sb2cvZmlsZTYwMC50eHQgLS1pbnNlY3VyZQogPC9jb21tYW5kPgogPGZpbGUgbmFtZT0ibG9nL2ZpbGU2MDAudHh0Ij4KIFRlc3QgZGF0YQpkaWZmIC0tZ2l0IGEvdGVzdHMvZGF0YS90ZXN0NjAxIGIvdGVzdHMvZGF0YS90ZXN0NjAxCmluZGV4IDU0NGE4ODAuLmM4OWI2NDUgMTAwNjQ0Ci0tLSBhL3Rlc3RzL2RhdGEvdGVzdDYwMQorKysgYi90ZXN0cy9kYXRhL3Rlc3Q2MDEKQEAgLTI0LDcgKzI0LDcgQEAKIFNDUCByZXRyaWV2YWwKICA8L25hbWU+CiAgPGNvbW1hbmQ+Ci0tLWtleSBjdXJsX2NsaWVudF9rZXkgLS1wdWJrZXkgY3VybF9jbGllbnRfa2V5LnB1YiAtdSAlVVNFUjogc2NwOi8vJUhPU1RJUDolU1NIUE9SVCVQT1NJWF9QV0QvbG9nL2ZpbGU2MDEudHh0IC0taW5zZWN1cmUKKy0ta2V5IGN1cmxfY2xpZW50X2tleSAtLXB1YmtleSBjdXJsX2NsaWVudF9rZXkucHViIC11ICVVU0VSOiBzY3A6Ly8lSE9TVElQOiVTU0hQT1JUJVNTSF9QV0QvbG9nL2ZpbGU2MDEudHh0IC0taW5zZWN1cmUKIDwvY29tbWFuZD4KIDxmaWxlIG5hbWU9ImxvZy9maWxlNjAxLnR4dCI+CiBUZXN0IGRhdGEKZGlmZiAtLWdpdCBhL3Rlc3RzL2RhdGEvdGVzdDYwMiBiL3Rlc3RzL2RhdGEvdGVzdDYwMgppbmRleCA2YmIwZGYzLi5kZDMwMGM3IDEwMDY0NAotLS0gYS90ZXN0cy9kYXRhL3Rlc3Q2MDIKKysrIGIvdGVzdHMvZGF0YS90ZXN0NjAyCkBAIC0yMSw3ICsyMSw3IEBACiBTRlRQIHB1dAogIDwvbmFtZT4KICA8Y29tbWFuZD4KLS0ta2V5IGN1cmxfY2xpZW50X2tleSAtLXB1YmtleSBjdXJsX2NsaWVudF9rZXkucHViIC11ICVVU0VSOiAtVCBsb2cvZmlsZTYwMi50eHQgc2Z0cDovLyVIT1NUSVA6JVNTSFBPUlQlUE9TSVhfUFdEL2xvZy91cGxvYWQuNjAyIC0taW5zZWN1cmUKKy0ta2V5IGN1cmxfY2xpZW50X2tleSAtLXB1YmtleSBjdXJsX2NsaWVudF9rZXkucHViIC11ICVVU0VSOiAtVCBsb2cvZmlsZTYwMi50eHQgc2Z0cDovLyVIT1NUSVA6JVNTSFBPUlQlU1NIX1BXRC9sb2cvdXBsb2FkLjYwMiAtLWluc2VjdXJlCiA8L2NvbW1hbmQ+CiA8ZmlsZSBuYW1lPSJsb2cvZmlsZTYwMi50eHQiPgogVGVzdCBkYXRhCmRpZmYgLS1naXQgYS90ZXN0cy9kYXRhL3Rlc3Q2MDMgYi90ZXN0cy9kYXRhL3Rlc3Q2MDMKaW5kZXggODc5ZTRjMC4uYjk2YzQwNSAxMDA2NDQKLS0tIGEvdGVzdHMvZGF0YS90ZXN0NjAzCisrKyBiL3Rlc3RzL2RhdGEvdGVzdDYwMwpAQCAtMjEsNyArMjEsNyBAQAogU0NQIHVwbG9hZAogIDwvbmFtZT4KICA8Y29tbWFuZD4KLS0ta2V5IGN1cmxfY2xpZW50X2tleSAtLXB1YmtleSBjdXJsX2NsaWVudF9rZXkucHViIC11ICVVU0VSOiAtVCBsb2cvZmlsZTYwMy50eHQgc2NwOi8vJUhPU1RJUDolU1NIUE9SVCVQT1NJWF9QV0QvbG9nL3VwbG9hZC42MDMgLS1pbnNlY3VyZQorLS1rZXkgY3VybF9jbGllbnRfa2V5IC0tcHVia2V5IGN1cmxfY2xpZW50X2tleS5wdWIgLXUgJVVTRVI6IC1UIGxvZy9maWxlNjAzLnR4dCBzY3A6Ly8lSE9TVElQOiVTU0hQT1JUJVNTSF9QV0QvbG9nL3VwbG9hZC42MDMgLS1pbnNlY3VyZQogPC9jb21tYW5kPgogPGZpbGUgbmFtZT0ibG9nL2ZpbGU2MDMudHh0Ij4KIFRlc3QgZGF0YQpkaWZmIC0tZ2l0IGEvdGVzdHMvZGF0YS90ZXN0NjA0IGIvdGVzdHMvZGF0YS90ZXN0NjA0CmluZGV4IGY3NmE3ZmIuLmY1MDNlNjYgMTAwNjQ0Ci0tLSBhL3Rlc3RzL2RhdGEvdGVzdDYwNAorKysgYi90ZXN0cy9kYXRhL3Rlc3Q2MDQKQEAgLTE2LDcgKzE2LDcgQEAKIFNGVFAgcmV0cmlldmFsIG9mIG5vbmV4aXN0ZW50IGZpbGUKICA8L25hbWU+CiAgPGNvbW1hbmQ+Ci0tLWtleSBjdXJsX2NsaWVudF9rZXkgLS1wdWJrZXkgY3VybF9jbGllbnRfa2V5LnB1YiAtdSAlVVNFUjogc2Z0cDovLyVIT1NUSVA6JVNTSFBPUlQlUE9TSVhfUFdEL25vdC1hLXZhbGlkLWZpbGUtbW9vb28gLS1pbnNlY3VyZQorLS1rZXkgY3VybF9jbGllbnRfa2V5IC0tcHVia2V5IGN1cmxfY2xpZW50X2tleS5wdWIgLXUgJVVTRVI6IHNmdHA6Ly8lSE9TVElQOiVTU0hQT1JUJVNTSF9QV0Qvbm90LWEtdmFsaWQtZmlsZS1tb29vbyAtLWluc2VjdXJlCiA8L2NvbW1hbmQ+CiA8L2NsaWVudD4KIApkaWZmIC0tZ2l0IGEvdGVzdHMvZGF0YS90ZXN0NjA1IGIvdGVzdHMvZGF0YS90ZXN0NjA1CmluZGV4IGExOGFiMjkuLjI5NTU1ZmEgMTAwNjQ0Ci0tLSBhL3Rlc3RzL2RhdGEvdGVzdDYwNQorKysgYi90ZXN0cy9kYXRhL3Rlc3Q2MDUKQEAgLTE2LDcgKzE2LDcgQEAKIFNDUCByZXRyaWV2YWwgb2Ygbm9uZXhpc3RlbnQgZmlsZQogIDwvbmFtZT4KICA8Y29tbWFuZD4KLS0ta2V5IGN1cmxfY2xpZW50X2tleSAtLXB1YmtleSBjdXJsX2NsaWVudF9rZXkucHViIC11ICVVU0VSOiBzY3A6Ly8lSE9TVElQOiVTU0hQT1JUJVBPU0lYX1BXRC9ub3QtYS12YWxpZC1maWxlLW1vb29vIC0taW5zZWN1cmUKKy0ta2V5IGN1cmxfY2xpZW50X2tleSAtLXB1YmtleSBjdXJsX2NsaWVudF9rZXkucHViIC11ICVVU0VSOiBzY3A6Ly8lSE9TVElQOiVTU0hQT1JUJVNTSF9QV0Qvbm90LWEtdmFsaWQtZmlsZS1tb29vbyAtLWluc2VjdXJlCiA8L2NvbW1hbmQ+CiA8L2NsaWVudD4KIApkaWZmIC0tZ2l0IGEvdGVzdHMvZGF0YS90ZXN0NjA2IGIvdGVzdHMvZGF0YS90ZXN0NjA2CmluZGV4IDM3ZTIxMDguLmM3OTBiZDYgMTAwNjQ0Ci0tLSBhL3Rlc3RzL2RhdGEvdGVzdDYwNgorKysgYi90ZXN0cy9kYXRhL3Rlc3Q2MDYKQEAgLTE2LDcgKzE2LDcgQEAKIFNGVFAgaW52YWxpZCB1c2VyIGxvZ2luCiAgPC9uYW1lPgogIDxjb21tYW5kPgotLS1rZXkgY3VybF9jbGllbnRfa2V5IC0tcHVia2V5IGN1cmxfY2xpZW50X2tleS5wdWIgLXUgbm90LWEtdmFsaWQtdXNlcjogc2Z0cDovLyVIT1NUSVA6JVNTSFBPUlQlUE9TSVhfUFdEL25vdC1hLXZhbGlkLWZpbGUtbW9vb28gLS1pbnNlY3VyZQorLS1rZXkgY3VybF9jbGllbnRfa2V5IC0tcHVia2V5IGN1cmxfY2xpZW50X2tleS5wdWIgLXUgbm90LWEtdmFsaWQtdXNlcjogc2Z0cDovLyVIT1NUSVA6JVNTSFBPUlQlU1NIX1BXRC9ub3QtYS12YWxpZC1maWxlLW1vb29vIC0taW5zZWN1cmUKIDwvY29tbWFuZD4KIDwvY2xpZW50PgogCmRpZmYgLS1naXQgYS90ZXN0cy9kYXRhL3Rlc3Q2MDcgYi90ZXN0cy9kYXRhL3Rlc3Q2MDcKaW5kZXggZTQyMjQ1MS4uOGMxM2U1OCAxMDA2NDQKLS0tIGEvdGVzdHMvZGF0YS90ZXN0NjA3CisrKyBiL3Rlc3RzL2RhdGEvdGVzdDYwNwpAQCAtMTYsNyArMTYsNyBAQAogU0NQIGludmFsaWQgdXNlciBsb2dpbgogIDwvbmFtZT4KICA8Y29tbWFuZD4KLS0ta2V5IGN1cmxfY2xpZW50X2tleSAtLXB1YmtleSBjdXJsX2NsaWVudF9rZXkucHViIC11IG5vdC1hLXZhbGlkLXVzZXI6IHNjcDovLyVIT1NUSVA6JVNTSFBPUlQlUE9TSVhfUFdEL25vdC1hLXZhbGlkLWZpbGUtbW9vb28gLS1pbnNlY3VyZQorLS1rZXkgY3VybF9jbGllbnRfa2V5IC0tcHVia2V5IGN1cmxfY2xpZW50X2tleS5wdWIgLXUgbm90LWEtdmFsaWQtdXNlcjogc2NwOi8vJUhPU1RJUDolU1NIUE9SVCVTU0hfUFdEL25vdC1hLXZhbGlkLWZpbGUtbW9vb28gLS1pbnNlY3VyZQogPC9jb21tYW5kPgogPC9jbGllbnQ+CiAKZGlmZiAtLWdpdCBhL3Rlc3RzL2RhdGEvdGVzdDYwOCBiL3Rlc3RzL2RhdGEvdGVzdDYwOAppbmRleCA4NjM5MWYwLi5iNGQwMTA1IDEwMDY0NAotLS0gYS90ZXN0cy9kYXRhL3Rlc3Q2MDgKKysrIGIvdGVzdHMvZGF0YS90ZXN0NjA4CkBAIC0yNCw3ICsyNCw3IEBACiBTRlRQIHBvc3QtcXVvdGUgcmVuYW1lCiAgPC9uYW1lPgogIDxjb21tYW5kPgotLS1rZXkgY3VybF9jbGllbnRfa2V5IC0tcHVia2V5IGN1cmxfY2xpZW50X2tleS5wdWIgLXUgJVVTRVI6IC1RICItcmVuYW1lICVQV0QvbG9nL2ZpbGU2MDgudHh0ICVQV0QvbG9nL2ZpbGU2MDgtcmVuYW1lZC50eHQiIHNmdHA6Ly8lSE9TVElQOiVTU0hQT1JUJVBPU0lYX1BXRC9sb2cvZmlsZTYwOC50eHQgLS1pbnNlY3VyZQorLS1rZXkgY3VybF9jbGllbnRfa2V5IC0tcHVia2V5IGN1cmxfY2xpZW50X2tleS5wdWIgLXUgJVVTRVI6IC1RICItcmVuYW1lICVQV0QvbG9nL2ZpbGU2MDgudHh0ICVQV0QvbG9nL2ZpbGU2MDgtcmVuYW1lZC50eHQiIHNmdHA6Ly8lSE9TVElQOiVTU0hQT1JUJVNTSF9QV0QvbG9nL2ZpbGU2MDgudHh0IC0taW5zZWN1cmUKIDwvY29tbWFuZD4KICMgVmVyaWZ5IHRoYXQgdGhlIGZpbGUgd2FzIHJlbmFtZWQgcHJvcGVybHksIHRoZW4gcmVuYW1lIHRoZSBmaWxlIGJhY2sgdG8gd2hhdAogIyBpdCB3YXMgc28gdGhlIHZlcmlmeSBzZWN0aW9uIHdvcmtzIGFuZCB0aGUgZmlsZSBjYW4gYmUgY2xlYW5lZCB1cC4KZGlmZiAtLWdpdCBhL3Rlc3RzL2RhdGEvdGVzdDYwOSBiL3Rlc3RzL2RhdGEvdGVzdDYwOQppbmRleCA0YTlkYTFhLi41YWE5ZWVjIDEwMDY0NAotLS0gYS90ZXN0cy9kYXRhL3Rlc3Q2MDkKKysrIGIvdGVzdHMvZGF0YS90ZXN0NjA5CkBAIC0yNSw3ICsyNSw3IEBACiBTRlRQIHBvc3QtcXVvdGUgbWtkaXIgZmFpbHVyZQogIDwvbmFtZT4KICA8Y29tbWFuZD4KLS0ta2V5IGN1cmxfY2xpZW50X2tleSAtLXB1YmtleSBjdXJsX2NsaWVudF9rZXkucHViIC11ICVVU0VSOiAtUSAiLW1rZGlyICVQV0QvbG9nL2ZpbGU2MDkudHh0IiBzZnRwOi8vJUhPU1RJUDolU1NIUE9SVCVQT1NJWF9QV0QvbG9nL2ZpbGU2MDkudHh0IC0taW5zZWN1cmUKKy0ta2V5IGN1cmxfY2xpZW50X2tleSAtLXB1YmtleSBjdXJsX2NsaWVudF9rZXkucHViIC11ICVVU0VSOiAtUSAiLW1rZGlyICVQV0QvbG9nL2ZpbGU2MDkudHh0IiBzZnRwOi8vJUhPU1RJUDolU1NIUE9SVCVTU0hfUFdEL2xvZy9maWxlNjA5LnR4dCAtLWluc2VjdXJlCiA8L2NvbW1hbmQ+CiA8ZmlsZSBuYW1lPSJsb2cvZmlsZTYwOS50eHQiPgogVGVzdCBmaWxlIGZvciBta2RpciB0ZXN0CmRpZmYgLS1naXQgYS90ZXN0cy9kYXRhL3Rlc3Q2MTAgYi90ZXN0cy9kYXRhL3Rlc3Q2MTAKaW5kZXggMTc5MTQ2NC4uZDA5NzQyMSAxMDA2NDQKLS0tIGEvdGVzdHMvZGF0YS90ZXN0NjEwCisrKyBiL3Rlc3RzL2RhdGEvdGVzdDYxMApAQCAtMjcsNyArMjcsNyBAQAogU0ZUUCBwb3N0LXF1b3RlIHJtZGlyCiAgPC9uYW1lPgogIDxjb21tYW5kPgotLS1rZXkgY3VybF9jbGllbnRfa2V5IC0tcHVia2V5IGN1cmxfY2xpZW50X2tleS5wdWIgLXUgJVVTRVI6IC1RICItcm1kaXIgJVBXRC9sb2cvdGVzdDYxMC5kaXIiIHNmdHA6Ly8lSE9TVElQOiVTU0hQT1JUJVBPU0lYX1BXRC9sb2cvZmlsZTYxMC50eHQgLS1pbnNlY3VyZQorLS1rZXkgY3VybF9jbGllbnRfa2V5IC0tcHVia2V5IGN1cmxfY2xpZW50X2tleS5wdWIgLXUgJVVTRVI6IC1RICItcm1kaXIgJVBXRC9sb2cvdGVzdDYxMC5kaXIiIHNmdHA6Ly8lSE9TVElQOiVTU0hQT1JUJVNTSF9QV0QvbG9nL2ZpbGU2MTAudHh0IC0taW5zZWN1cmUKIDwvY29tbWFuZD4KIDxwb3N0Y2hlY2s+CiBwZXJsICVTUkNESVIvbGlidGVzdC90ZXN0NjEwLnBsIGdvbmUgJVBXRC9sb2cvdGVzdDYxMC5kaXIKZGlmZiAtLWdpdCBhL3Rlc3RzL2RhdGEvdGVzdDYxMSBiL3Rlc3RzL2RhdGEvdGVzdDYxMQppbmRleCBmNDBhNGJkLi42MzYyMDAyIDEwMDY0NAotLS0gYS90ZXN0cy9kYXRhL3Rlc3Q2MTEKKysrIGIvdGVzdHMvZGF0YS90ZXN0NjExCkBAIC0yNyw3ICsyNyw3IEBACiBTRlRQIHBvc3QtcXVvdGUgcmVuYW1lCiAgPC9uYW1lPgogIDxjb21tYW5kPgotLS1rZXkgY3VybF9jbGllbnRfa2V5IC0tcHVia2V5IGN1cmxfY2xpZW50X2tleS5wdWIgLXUgJVVTRVI6IC1RICItcmVuYW1lICVQV0QvbG9nL3Rlc3Q2MTEuZGlyICVQV0QvbG9nL3Rlc3Q2MTEubmV3IiBzZnRwOi8vJUhPU1RJUDolU1NIUE9SVCVQT1NJWF9QV0QvbG9nL2ZpbGU2MTEudHh0IC0taW5zZWN1cmUKKy0ta2V5IGN1cmxfY2xpZW50X2tleSAtLXB1YmtleSBjdXJsX2NsaWVudF9rZXkucHViIC11ICVVU0VSOiAtUSAiLXJlbmFtZSAlUFdEL2xvZy90ZXN0NjExLmRpciAlUFdEL2xvZy90ZXN0NjExLm5ldyIgc2Z0cDovLyVIT1NUSVA6JVNTSFBPUlQlU1NIX1BXRC9sb2cvZmlsZTYxMS50eHQgLS1pbnNlY3VyZQogPC9jb21tYW5kPgogPHBvc3RjaGVjaz4KIHBlcmwgJVNSQ0RJUi9saWJ0ZXN0L3Rlc3Q2MTAucGwgcm1kaXIgJVBXRC9sb2cvdGVzdDYxMS5uZXcKZGlmZiAtLWdpdCBhL3Rlc3RzL2RhdGEvdGVzdDYxMiBiL3Rlc3RzL2RhdGEvdGVzdDYxMgppbmRleCA0ZmVkNjYwLi5hZTE4YWZiIDEwMDY0NAotLS0gYS90ZXN0cy9kYXRhL3Rlc3Q2MTIKKysrIGIvdGVzdHMvZGF0YS90ZXN0NjEyCkBAIC0yNCw3ICsyNCw3IEBACiBTRlRQIHBvc3QtcXVvdGUgcmVtb3ZlIGZpbGUKICA8L25hbWU+CiAgPGNvbW1hbmQ+Ci0tLWtleSBjdXJsX2NsaWVudF9rZXkgLS1wdWJrZXkgY3VybF9jbGllbnRfa2V5LnB1YiAtdSAlVVNFUjogLVQgbG9nL2ZpbGU2MTIudHh0IC1RICItcm0gJVBXRC9sb2cvZmlsZTYxMi50eHQiIHNmdHA6Ly8lSE9TVElQOiVTU0hQT1JUJVBPU0lYX1BXRC9sb2cvdXBsb2FkLjYxMiAgLS1pbnNlY3VyZQorLS1rZXkgY3VybF9jbGllbnRfa2V5IC0tcHVia2V5IGN1cmxfY2xpZW50X2tleS5wdWIgLXUgJVVTRVI6IC1UIGxvZy9maWxlNjEyLnR4dCAtUSAiLXJtICVQV0QvbG9nL2ZpbGU2MTIudHh0IiBzZnRwOi8vJUhPU1RJUDolU1NIUE9SVCVTU0hfUFdEL2xvZy91cGxvYWQuNjEyICAtLWluc2VjdXJlCiA8L2NvbW1hbmQ+CiA8cG9zdGNoZWNrPgogcGVybCAlU1JDRElSL2xpYnRlc3QvdGVzdDYxMC5wbCBnb25lICVQV0QvbG9nL3Rlc3Q2MTIudHh0CmRpZmYgLS1naXQgYS90ZXN0cy9kYXRhL3Rlc3Q2MTMgYi90ZXN0cy9kYXRhL3Rlc3Q2MTMKaW5kZXggYzRkODJmYi4uMDM4Mzk4NyAxMDA2NDQKLS0tIGEvdGVzdHMvZGF0YS90ZXN0NjEzCisrKyBiL3Rlc3RzL2RhdGEvdGVzdDYxMwpAQCAtMTAsOCArMTAsNiBAQAogIyBTZXJ2ZXItc2lkZQogPHJlcGx5PgogPGRhdGFjaGVjaz4KLWQ/Pz8/Pz8/Pz8gICAgTiBVICAgICAgICAgVSAgICAgICAgICAgICAgIE4gPz8/ICBOIE5OOk5OIC4KLWQ/Pz8/Pz8/Pz8gICAgTiBVICAgICAgICAgVSAgICAgICAgICAgICAgIE4gPz8/ICBOIE5OOk5OIC4uCiBkPz8/Pz8/Pz8/ICAgIE4gVSAgICAgICAgIFUgICAgICAgICAgICAgICBOID8/PyAgTiBOTjpOTiBhc3ViZGlyCiAtcnc/cnc/cnc/ICAgIDEgVSAgICAgICAgIFUgICAgICAgICAgICAgIDM3IEphbiAgMSAgMjAwMCBwbGFpbmZpbGUudHh0CiAtci0/ci0/ci0/ICAgIDEgVSAgICAgICAgIFUgICAgICAgICAgICAgIDQ3IERlYyAzMSAgMjAwMCByb2ZpbGUudHh0CkBAIC0zMSw3ICsyOSw3IEBACiBTRlRQIGRpcmVjdG9yeSByZXRyaWV2YWwKICA8L25hbWU+CiAgPGNvbW1hbmQ+Ci0tLWtleSBjdXJsX2NsaWVudF9rZXkgLS1wdWJrZXkgY3VybF9jbGllbnRfa2V5LnB1YiAtdSAlVVNFUjogc2Z0cDovLyVIT1NUSVA6JVNTSFBPUlQlUE9TSVhfUFdEL2xvZy90ZXN0NjEzLmRpci8gLS1pbnNlY3VyZQorLS1rZXkgY3VybF9jbGllbnRfa2V5IC0tcHVia2V5IGN1cmxfY2xpZW50X2tleS5wdWIgLXUgJVVTRVI6IHNmdHA6Ly8lSE9TVElQOiVTU0hQT1JUJVNTSF9QV0QvbG9nL3Rlc3Q2MTMuZGlyLyAtLWluc2VjdXJlCiA8L2NvbW1hbmQ+CiA8cG9zdGNoZWNrPgogcGVybCAlU1JDRElSL2xpYnRlc3QvdGVzdDYxMy5wbCBwb3N0cHJvY2VzcyAlUFdEL2xvZy90ZXN0NjEzLmRpciAlUFdEL2xvZy9jdXJsNjEzLm91dApkaWZmIC0tZ2l0IGEvdGVzdHMvZGF0YS90ZXN0NjE0IGIvdGVzdHMvZGF0YS90ZXN0NjE0CmluZGV4IGJjYzA3MjcuLmM2ZmU0OTEgMTAwNjQ0Ci0tLSBhL3Rlc3RzL2RhdGEvdGVzdDYxNAorKysgYi90ZXN0cy9kYXRhL3Rlc3Q2MTQKQEAgLTExLDggKzExLDYgQEAKICMgU2VydmVyLXNpZGUKIDxyZXBseT4KIDxkYXRhY2hlY2s+Ci1kPz8/Pz8/Pz8/ICAgIE4gVSAgICAgICAgIFUgICAgICAgICAgICAgICBOID8/PyAgTiBOTjpOTiAuCi1kPz8/Pz8/Pz8/ICAgIE4gVSAgICAgICAgIFUgICAgICAgICAgICAgICBOID8/PyAgTiBOTjpOTiAuLgogZD8/Pz8/Pz8/PyAgICBOIFUgICAgICAgICBVICAgICAgICAgICAgICAgTiA/Pz8gIE4gTk46Tk4gYXN1YmRpcgogLXItP3ItP3ItPyAgICAxIFUgICAgICAgICBVICAgICAgICAgICAgICAzNyBKYW4gIDEgIDIwMDAgcGxhaW5maWxlLnR4dAogLXItP3ItP3ItPyAgICAxIFUgICAgICAgICBVICAgICAgICAgICAgICA0NyBEZWMgMzEgIDIwMDAgcm9maWxlLnR4dApAQCAtMzIsNyArMzAsNyBAQAogU0ZUUCBwcmUtcXVvdGUgY2htb2QKICA8L25hbWU+CiAgPGNvbW1hbmQ+Ci0tLWtleSBjdXJsX2NsaWVudF9rZXkgLS1wdWJrZXkgY3VybF9jbGllbnRfa2V5LnB1YiAtdSAlVVNFUjogLVEgImNobW9kIDQ0NCAlUFdEL2xvZy90ZXN0NjE0LmRpci9wbGFpbmZpbGUudHh0IiBzZnRwOi8vJUhPU1RJUDolU1NIUE9SVCVQT1NJWF9QV0QvbG9nL3Rlc3Q2MTQuZGlyLyAtLWluc2VjdXJlCistLWtleSBjdXJsX2NsaWVudF9rZXkgLS1wdWJrZXkgY3VybF9jbGllbnRfa2V5LnB1YiAtdSAlVVNFUjogLVEgImNobW9kIDQ0NCAlUFdEL2xvZy90ZXN0NjE0LmRpci9wbGFpbmZpbGUudHh0IiBzZnRwOi8vJUhPU1RJUDolU1NIUE9SVCVTU0hfUFdEL2xvZy90ZXN0NjE0LmRpci8gLS1pbnNlY3VyZQogPC9jb21tYW5kPgogPHBvc3RjaGVjaz4KIHBlcmwgJVNSQ0RJUi9saWJ0ZXN0L3Rlc3Q2MTMucGwgcG9zdHByb2Nlc3MgJVBXRC9sb2cvdGVzdDYxNC5kaXIgJVBXRC9sb2cvY3VybDYxNC5vdXQKZGlmZiAtLWdpdCBhL3Rlc3RzL2RhdGEvdGVzdDYxNSBiL3Rlc3RzL2RhdGEvdGVzdDYxNQppbmRleCA3YzUwYTI4Li41ZjQ4NTljIDEwMDY0NAotLS0gYS90ZXN0cy9kYXRhL3Rlc3Q2MTUKKysrIGIvdGVzdHMvZGF0YS90ZXN0NjE1CkBAIC0yMCw3ICsyMCw3IEBACiBTRlRQIHB1dCByZW1vdGUgZmFpbHVyZQogIDwvbmFtZT4KICA8Y29tbWFuZD4KLS0ta2V5IGN1cmxfY2xpZW50X2tleSAtLXB1YmtleSBjdXJsX2NsaWVudF9rZXkucHViIC11ICVVU0VSOiAtVCBsb2cvZmlsZTYxNS50eHQgc2Z0cDovLyVIT1NUSVA6JVNTSFBPUlQlUE9TSVhfUFdEL2xvZy90ZXN0NjE1LmRpci9yb2ZpbGUudHh0IC0taW5zZWN1cmUKKy0ta2V5IGN1cmxfY2xpZW50X2tleSAtLXB1YmtleSBjdXJsX2NsaWVudF9rZXkucHViIC11ICVVU0VSOiAtVCBsb2cvZmlsZTYxNS50eHQgc2Z0cDovLyVIT1NUSVA6JVNTSFBPUlQlU1NIX1BXRC9sb2cvdGVzdDYxNS5kaXIvcm9maWxlLnR4dCAtLWluc2VjdXJlCiA8L2NvbW1hbmQ+CiA8cG9zdGNoZWNrPgogcGVybCAlU1JDRElSL2xpYnRlc3QvdGVzdDYxMy5wbCBwb3N0cHJvY2VzcyAlUFdEL2xvZy90ZXN0NjE1LmRpcgpkaWZmIC0tZ2l0IGEvdGVzdHMvZGF0YS90ZXN0NjE2IGIvdGVzdHMvZGF0YS90ZXN0NjE2CmluZGV4IDViNDY0YjAuLjE0YzNkMzMgMTAwNjQ0Ci0tLSBhL3Rlc3RzL2RhdGEvdGVzdDYxNgorKysgYi90ZXN0cy9kYXRhL3Rlc3Q2MTYKQEAgLTIzLDcgKzIzLDcgQEAKIFNGVFAgcmV0cmlldmFsIG9mIGVtcHR5IGZpbGUKICA8L25hbWU+CiAgPGNvbW1hbmQ+Ci0tLWtleSBjdXJsX2NsaWVudF9rZXkgLS1wdWJrZXkgY3VybF9jbGllbnRfa2V5LnB1YiAtdSAlVVNFUjogc2Z0cDovLyVIT1NUSVA6JVNTSFBPUlQlUE9TSVhfUFdEL2xvZy9maWxlNjE2LnR4dCAtLWluc2VjdXJlCistLWtleSBjdXJsX2NsaWVudF9rZXkgLS1wdWJrZXkgY3VybF9jbGllbnRfa2V5LnB1YiAtdSAlVVNFUjogc2Z0cDovLyVIT1NUSVA6JVNTSFBPUlQlU1NIX1BXRC9sb2cvZmlsZTYxNi50eHQgLS1pbnNlY3VyZQogPC9jb21tYW5kPgogPGZpbGUgbmFtZT0ibG9nL2ZpbGU2MTYudHh0Ij4KIDwvZmlsZT4KZGlmZiAtLWdpdCBhL3Rlc3RzL2RhdGEvdGVzdDYxNyBiL3Rlc3RzL2RhdGEvdGVzdDYxNwppbmRleCAyMWMxZTNiLi42N2YwYzlhIDEwMDY0NAotLS0gYS90ZXN0cy9kYXRhL3Rlc3Q2MTcKKysrIGIvdGVzdHMvZGF0YS90ZXN0NjE3CkBAIC0yMyw3ICsyMyw3IEBACiBTQ1AgcmV0cmlldmFsIG9mIGVtcHR5IGZpbGUKICA8L25hbWU+CiAgPGNvbW1hbmQ+Ci0tLWtleSBjdXJsX2NsaWVudF9rZXkgLS1wdWJrZXkgY3VybF9jbGllbnRfa2V5LnB1YiAtdSAlVVNFUjogc2NwOi8vJUhPU1RJUDolU1NIUE9SVCVQT1NJWF9QV0QvbG9nL2ZpbGU2MTcudHh0IC0taW5zZWN1cmUKKy0ta2V5IGN1cmxfY2xpZW50X2tleSAtLXB1YmtleSBjdXJsX2NsaWVudF9rZXkucHViIC11ICVVU0VSOiBzY3A6Ly8lSE9TVElQOiVTU0hQT1JUJVNTSF9QV0QvbG9nL2ZpbGU2MTcudHh0IC0taW5zZWN1cmUKIDwvY29tbWFuZD4KIDxmaWxlIG5hbWU9ImxvZy9maWxlNjE3LnR4dCI+CiA8L2ZpbGU+CmRpZmYgLS1naXQgYS90ZXN0cy9kYXRhL3Rlc3Q2MTggYi90ZXN0cy9kYXRhL3Rlc3Q2MTgKaW5kZXggMjNmMDNhYy4uZmViMDk1ZSAxMDA2NDQKLS0tIGEvdGVzdHMvZGF0YS90ZXN0NjE4CisrKyBiL3Rlc3RzL2RhdGEvdGVzdDYxOApAQCAtMTUsNyArMTUsNyBAQAogU0ZUUCByZXRyaWV2YWwgb2YgdHdvIGZpbGVzCiAgPC9uYW1lPgogIDxjb21tYW5kPgotLS1rZXkgY3VybF9jbGllbnRfa2V5IC0tcHVia2V5IGN1cmxfY2xpZW50X2tleS5wdWIgLXUgJVVTRVI6IHNmdHA6Ly8lSE9TVElQOiVTU0hQT1JUJVBPU0lYX1BXRC9sb2cvZmlsZTYxOC50eHQgc2Z0cDovLyVIT1NUSVA6JVNTSFBPUlQlUE9TSVhfUFdEL2xvZy9maWxlNjE4LnR4dCAtLWluc2VjdXJlCistLWtleSBjdXJsX2NsaWVudF9rZXkgLS1wdWJrZXkgY3VybF9jbGllbnRfa2V5LnB1YiAtdSAlVVNFUjogc2Z0cDovLyVIT1NUSVA6JVNTSFBPUlQlU1NIX1BXRC9sb2cvZmlsZTYxOC50eHQgc2Z0cDovLyVIT1NUSVA6JVNTSFBPUlQlU1NIX1BXRC9sb2cvZmlsZTYxOC50eHQgLS1pbnNlY3VyZQogPC9jb21tYW5kPgogPGZpbGUgbmFtZT0ibG9nL2ZpbGU2MTgudHh0Ij4KIFRlc3QgZGF0YQpkaWZmIC0tZ2l0IGEvdGVzdHMvZGF0YS90ZXN0NjE5IGIvdGVzdHMvZGF0YS90ZXN0NjE5CmluZGV4IDMzOTdjMWYuLjZjMTI3M2MgMTAwNjQ0Ci0tLSBhL3Rlc3RzL2RhdGEvdGVzdDYxOQorKysgYi90ZXN0cy9kYXRhL3Rlc3Q2MTkKQEAgLTE1LDcgKzE1LDcgQEAKIFNDUCByZXRyaWV2YWwgb2YgdHdvIGZpbGVzCiAgPC9uYW1lPgogIDxjb21tYW5kPgotLS1rZXkgY3VybF9jbGllbnRfa2V5IC0tcHVia2V5IGN1cmxfY2xpZW50X2tleS5wdWIgLXUgJVVTRVI6IHNjcDovLyVIT1NUSVA6JVNTSFBPUlQlUE9TSVhfUFdEL2xvZy9maWxlNjE5LnR4dCBzY3A6Ly8lSE9TVElQOiVTU0hQT1JUJVBPU0lYX1BXRC9sb2cvZmlsZTYxOS50eHQgLS1pbnNlY3VyZQorLS1rZXkgY3VybF9jbGllbnRfa2V5IC0tcHVia2V5IGN1cmxfY2xpZW50X2tleS5wdWIgLXUgJVVTRVI6IHNjcDovLyVIT1NUSVA6JVNTSFBPUlQlU1NIX1BXRC9sb2cvZmlsZTYxOS50eHQgc2NwOi8vJUhPU1RJUDolU1NIUE9SVCVTU0hfUFdEL2xvZy9maWxlNjE5LnR4dCAtLWluc2VjdXJlCiA8L2NvbW1hbmQ+CiA8ZmlsZSBuYW1lPSJsb2cvZmlsZTYxOS50eHQiPgogVGVzdCBkYXRhCmRpZmYgLS1naXQgYS90ZXN0cy9kYXRhL3Rlc3Q2MjAgYi90ZXN0cy9kYXRhL3Rlc3Q2MjAKaW5kZXggMjgwMTllNy4uNDYzODI1NSAxMDA2NDQKLS0tIGEvdGVzdHMvZGF0YS90ZXN0NjIwCisrKyBiL3Rlc3RzL2RhdGEvdGVzdDYyMApAQCAtMTYsNyArMTYsNyBAQAogU0ZUUCByZXRyaWV2YWwgb2YgbWlzc2luZyBmaWxlIGZvbGxvd2VkIGJ5IGdvb2QgZmlsZQogIDwvbmFtZT4KICA8Y29tbWFuZD4KLS0ta2V5IGN1cmxfY2xpZW50X2tleSAtLXB1YmtleSBjdXJsX2NsaWVudF9rZXkucHViIC11ICVVU0VSOiBzZnRwOi8vJUhPU1RJUDolU1NIUE9SVCVQT1NJWF9QV0QvbG9nL25vdC1hLXZhbGlkLWZpbGUtbW9vb28gc2Z0cDovLyVIT1NUSVA6JVNTSFBPUlQlUE9TSVhfUFdEL2xvZy9maWxlNjIwLnR4dCAtLWluc2VjdXJlCistLWtleSBjdXJsX2NsaWVudF9rZXkgLS1wdWJrZXkgY3VybF9jbGllbnRfa2V5LnB1YiAtdSAlVVNFUjogc2Z0cDovLyVIT1NUSVA6JVNTSFBPUlQlU1NIX1BXRC9sb2cvbm90LWEtdmFsaWQtZmlsZS1tb29vbyBzZnRwOi8vJUhPU1RJUDolU1NIUE9SVCVTU0hfUFdEL2xvZy9maWxlNjIwLnR4dCAtLWluc2VjdXJlCiA8L2NvbW1hbmQ+CiA8ZmlsZSBuYW1lPSJsb2cvZmlsZTYyMC50eHQiPgogVGVzdCBkYXRhCmRpZmYgLS1naXQgYS90ZXN0cy9kYXRhL3Rlc3Q2MjEgYi90ZXN0cy9kYXRhL3Rlc3Q2MjEKaW5kZXggMmIzOWU5Zi4uZjBhYzliNyAxMDA2NDQKLS0tIGEvdGVzdHMvZGF0YS90ZXN0NjIxCisrKyBiL3Rlc3RzL2RhdGEvdGVzdDYyMQpAQCAtMTYsNyArMTYsNyBAQAogU0NQIHJldHJpZXZhbCBvZiBtaXNzaW5nIGZpbGUgZm9sbG93ZWQgYnkgZ29vZCBmaWxlCiAgPC9uYW1lPgogIDxjb21tYW5kPgotLS1rZXkgY3VybF9jbGllbnRfa2V5IC0tcHVia2V5IGN1cmxfY2xpZW50X2tleS5wdWIgLXUgJVVTRVI6IHNjcDovLyVIT1NUSVA6JVNTSFBPUlQlUE9TSVhfUFdEL2xvZy9ub3QtYS12YWxpZC1maWxlLW1vb29vIHNjcDovLyVIT1NUSVA6JVNTSFBPUlQlUE9TSVhfUFdEL2xvZy9maWxlNjIxLnR4dCAtLWluc2VjdXJlCistLWtleSBjdXJsX2NsaWVudF9rZXkgLS1wdWJrZXkgY3VybF9jbGllbnRfa2V5LnB1YiAtdSAlVVNFUjogc2NwOi8vJUhPU1RJUDolU1NIUE9SVCVTU0hfUFdEL2xvZy9ub3QtYS12YWxpZC1maWxlLW1vb29vIHNjcDovLyVIT1NUSVA6JVNTSFBPUlQlU1NIX1BXRC9sb2cvZmlsZTYyMS50eHQgLS1pbnNlY3VyZQogPC9jb21tYW5kPgogPGZpbGUgbmFtZT0ibG9nL2ZpbGU2MjEudHh0Ij4KIFRlc3QgZGF0YQpkaWZmIC0tZ2l0IGEvdGVzdHMvZGF0YS90ZXN0NjIyIGIvdGVzdHMvZGF0YS90ZXN0NjIyCmluZGV4IDhmMWE2ZTQuLjdiNWZkNWIgMTAwNjQ0Ci0tLSBhL3Rlc3RzL2RhdGEvdGVzdDYyMgorKysgYi90ZXN0cy9kYXRhL3Rlc3Q2MjIKQEAgLTIyLDcgKzIyLDcgQEAKIFNGVFAgcHV0IGZhaWx1cmUKICA8L25hbWU+CiAgPGNvbW1hbmQ+Ci0tLWtleSBjdXJsX2NsaWVudF9rZXkgLS1wdWJrZXkgY3VybF9jbGllbnRfa2V5LnB1YiAtdSAlVVNFUjogLVQgbG9nL2ZpbGU2MjIudHh0IHNmdHA6Ly8lSE9TVElQOiVTU0hQT1JUJVBPU0lYX1BXRC9sb2cvbm9uZXhpc3RlbnQtZGlyZWN0b3J5L25vbmV4aXN0ZW50LWZpbGUgLS1pbnNlY3VyZQorLS1rZXkgY3VybF9jbGllbnRfa2V5IC0tcHVia2V5IGN1cmxfY2xpZW50X2tleS5wdWIgLXUgJVVTRVI6IC1UIGxvZy9maWxlNjIyLnR4dCBzZnRwOi8vJUhPU1RJUDolU1NIUE9SVCVTU0hfUFdEL2xvZy9ub25leGlzdGVudC1kaXJlY3Rvcnkvbm9uZXhpc3RlbnQtZmlsZSAtLWluc2VjdXJlCiA8L2NvbW1hbmQ+CiA8ZmlsZSBuYW1lPSJsb2cvZmlsZTYyMi50eHQiPgogVGVzdCBkYXRhCmRpZmYgLS1naXQgYS90ZXN0cy9kYXRhL3Rlc3Q2MjMgYi90ZXN0cy9kYXRhL3Rlc3Q2MjMKaW5kZXggMmM2YTQzOC4uZTI5MTRjOSAxMDA2NDQKLS0tIGEvdGVzdHMvZGF0YS90ZXN0NjIzCisrKyBiL3Rlc3RzL2RhdGEvdGVzdDYyMwpAQCAtMjIsNyArMjIsNyBAQAogU0NQIHVwbG9hZCBmYWlsdXJlCiAgPC9uYW1lPgogIDxjb21tYW5kPgotLS1rZXkgY3VybF9jbGllbnRfa2V5IC0tcHVia2V5IGN1cmxfY2xpZW50X2tleS5wdWIgLXUgJVVTRVI6IC1UIGxvZy9maWxlNjIzLnR4dCBzY3A6Ly8lSE9TVElQOiVTU0hQT1JUJVBPU0lYX1BXRC9sb2cvbm9uZXhpc3RlbnQtZGlyZWN0b3J5L25vbmV4aXN0ZW50LWZpbGUgLS1pbnNlY3VyZQorLS1rZXkgY3VybF9jbGllbnRfa2V5IC0tcHVia2V5IGN1cmxfY2xpZW50X2tleS5wdWIgLXUgJVVTRVI6IC1UIGxvZy9maWxlNjIzLnR4dCBzY3A6Ly8lSE9TVElQOiVTU0hQT1JUJVNTSF9QV0QvbG9nL25vbmV4aXN0ZW50LWRpcmVjdG9yeS9ub25leGlzdGVudC1maWxlIC0taW5zZWN1cmUKIDwvY29tbWFuZD4KIDxmaWxlIG5hbWU9ImxvZy9maWxlNjIzLnR4dCI+CiBUZXN0IGRhdGEKZGlmZiAtLWdpdCBhL3Rlc3RzL2RhdGEvdGVzdDYyNCBiL3Rlc3RzL2RhdGEvdGVzdDYyNAppbmRleCAxNWI2NWE4Li44YWFmNTI3IDEwMDY0NAotLS0gYS90ZXN0cy9kYXRhL3Rlc3Q2MjQKKysrIGIvdGVzdHMvZGF0YS90ZXN0NjI0CkBAIC0yMiw3ICsyMiw3IEBACiBTRlRQIHB1dCB3aXRoIC0tZnRwLWNyZWF0ZS1kaXJzCiAgPC9uYW1lPgogIDxjb21tYW5kPgotLS1mdHAtY3JlYXRlLWRpcnMgLS1rZXkgY3VybF9jbGllbnRfa2V5IC0tcHVia2V5IGN1cmxfY2xpZW50X2tleS5wdWIgLXUgJVVTRVI6IC1UIGxvZy9maWxlNjI0LnR4dCBzZnRwOi8vJUhPU1RJUDolU1NIUE9SVCVQT1NJWF9QV0QvbG9nL3Rlc3Q2MjQuZGlyL3VwbG9hZC42MjQgLS1pbnNlY3VyZQorLS1mdHAtY3JlYXRlLWRpcnMgLS1rZXkgY3VybF9jbGllbnRfa2V5IC0tcHVia2V5IGN1cmxfY2xpZW50X2tleS5wdWIgLXUgJVVTRVI6IC1UIGxvZy9maWxlNjI0LnR4dCBzZnRwOi8vJUhPU1RJUDolU1NIUE9SVCVTU0hfUFdEL2xvZy90ZXN0NjI0LmRpci91cGxvYWQuNjI0IC0taW5zZWN1cmUKIDwvY29tbWFuZD4KIDxwb3N0Y2hlY2s+CiBwZXJsICVTUkNESVIvbGlidGVzdC90ZXN0NjEwLnBsIG1vdmUgJVBXRC9sb2cvdGVzdDYyNC5kaXIvdXBsb2FkLjYyNCAlUFdEL2xvZy91cGxvYWQuNjI0IHJtZGlyICVQV0QvbG9nL3Rlc3Q2MjQuZGlyCmRpZmYgLS1naXQgYS90ZXN0cy9kYXRhL3Rlc3Q2MjUgYi90ZXN0cy9kYXRhL3Rlc3Q2MjUKaW5kZXggOGE1YTJhZS4uMWZlOWI1NSAxMDA2NDQKLS0tIGEvdGVzdHMvZGF0YS90ZXN0NjI1CisrKyBiL3Rlc3RzL2RhdGEvdGVzdDYyNQpAQCAtMjIsNyArMjIsNyBAQAogU0ZUUCBwdXQgd2l0aCAtLWZ0cC1jcmVhdGUtZGlycyB0d2ljZQogIDwvbmFtZT4KICA8Y29tbWFuZD4KLS0tZnRwLWNyZWF0ZS1kaXJzIC0ta2V5IGN1cmxfY2xpZW50X2tleSAtLXB1YmtleSBjdXJsX2NsaWVudF9rZXkucHViIC11ICVVU0VSOiAtVCBsb2cvZmlsZTYyNS50eHQgc2Z0cDovLyVIT1NUSVA6JVNTSFBPUlQlUE9TSVhfUFdEL2xvZy90ZXN0NjI1LmEvdXBsb2FkLjYyNSAtVCBsb2cvZmlsZTYyNS50eHQgc2Z0cDovLyVIT1NUSVA6JVNTSFBPUlQlUE9TSVhfUFdEL2xvZy90ZXN0NjI1LmIvdXBsb2FkLjYyNSAtLWluc2VjdXJlCistLWZ0cC1jcmVhdGUtZGlycyAtLWtleSBjdXJsX2NsaWVudF9rZXkgLS1wdWJrZXkgY3VybF9jbGllbnRfa2V5LnB1YiAtdSAlVVNFUjogLVQgbG9nL2ZpbGU2MjUudHh0IHNmdHA6Ly8lSE9TVElQOiVTU0hQT1JUJVNTSF9QV0QvbG9nL3Rlc3Q2MjUuYS91cGxvYWQuNjI1IC1UIGxvZy9maWxlNjI1LnR4dCBzZnRwOi8vJUhPU1RJUDolU1NIUE9SVCVTU0hfUFdEL2xvZy90ZXN0NjI1LmIvdXBsb2FkLjYyNSAtLWluc2VjdXJlCiA8L2NvbW1hbmQ+CiA8cG9zdGNoZWNrPgogcGVybCAlU1JDRElSL2xpYnRlc3QvdGVzdDYxMC5wbCBtb3ZlICVQV0QvbG9nL3Rlc3Q2MjUuYS91cGxvYWQuNjI1ICVQV0QvbG9nL3VwbG9hZC42MjUgcm1kaXIgJVBXRC9sb2cvdGVzdDYyNS5hIHJtICVQV0QvbG9nL3Rlc3Q2MjUuYi91cGxvYWQuNjI1IHJtZGlyICVQV0QvbG9nL3Rlc3Q2MjUuYgpkaWZmIC0tZ2l0IGEvdGVzdHMvZGF0YS90ZXN0NjI2IGIvdGVzdHMvZGF0YS90ZXN0NjI2CmluZGV4IGZkOTU1NjkuLmVkZjJhYTUgMTAwNjQ0Ci0tLSBhL3Rlc3RzL2RhdGEvdGVzdDYyNgorKysgYi90ZXN0cy9kYXRhL3Rlc3Q2MjYKQEAgLTIyLDcgKzIyLDcgQEAKIFNGVFAgaW52YWxpZCBxdW90ZSBjb21tYW5kCiAgPC9uYW1lPgogIDxjb21tYW5kPgotLS1rZXkgY3VybF9jbGllbnRfa2V5IC0tcHVia2V5IGN1cmxfY2xpZW50X2tleS5wdWIgLXUgJVVTRVI6IC1RICJpbnZhbGlkLWNvbW1hbmQgZm9vIGJhciIgc2Z0cDovLyVIT1NUSVA6JVNTSFBPUlQlUE9TSVhfUFdEL2xvZy9maWxlNjI2LnR4dCAtLWluc2VjdXJlCistLWtleSBjdXJsX2NsaWVudF9rZXkgLS1wdWJrZXkgY3VybF9jbGllbnRfa2V5LnB1YiAtdSAlVVNFUjogLVEgImludmFsaWQtY29tbWFuZCBmb28gYmFyIiBzZnRwOi8vJUhPU1RJUDolU1NIUE9SVCVTU0hfUFdEL2xvZy9maWxlNjI2LnR4dCAtLWluc2VjdXJlCiA8L2NvbW1hbmQ+CiA8ZmlsZSBuYW1lPSJsb2cvZmlsZTYyNi50eHQiPgogVGVzdCBmaWxlIGZvciByZW5hbWUgdGVzdApkaWZmIC0tZ2l0IGEvdGVzdHMvZGF0YS90ZXN0NjI4IGIvdGVzdHMvZGF0YS90ZXN0NjI4CmluZGV4IGI1YWFlYzYuLjg2YzAwZjEgMTAwNjQ0Ci0tLSBhL3Rlc3RzL2RhdGEvdGVzdDYyOAorKysgYi90ZXN0cy9kYXRhL3Rlc3Q2MjgKQEAgLTE2LDcgKzE2LDcgQEAKIFNGVFAgaW52YWxpZCB1c2VyIGxvZ2luIChwYXNzd29yZCBhdXRoZW50aWNhdGlvbikKICA8L25hbWU+CiAgPGNvbW1hbmQ+Ci0tdSBub3QtYS12YWxpZC11c2VyOiBzZnRwOi8vJUhPU1RJUDolU1NIUE9SVCVQT1NJWF9QV0QvaXJyZWxldmFudC1maWxlICAtLWluc2VjdXJlCistdSBub3QtYS12YWxpZC11c2VyOiBzZnRwOi8vJUhPU1RJUDolU1NIUE9SVCVTU0hfUFdEL2lycmVsZXZhbnQtZmlsZSAgLS1pbnNlY3VyZQogPC9jb21tYW5kPgogPC9jbGllbnQ+CiAKZGlmZiAtLWdpdCBhL3Rlc3RzL2RhdGEvdGVzdDYyOSBiL3Rlc3RzL2RhdGEvdGVzdDYyOQppbmRleCA3Y2U1ZTMwLi4wN2FjNzY3IDEwMDY0NAotLS0gYS90ZXN0cy9kYXRhL3Rlc3Q2MjkKKysrIGIvdGVzdHMvZGF0YS90ZXN0NjI5CkBAIC0xNiw3ICsxNiw3IEBACiBTQ1AgaW52YWxpZCB1c2VyIGxvZ2luIChwYXNzd29yZCBhdXRoZW50aWNhdGlvbikKICA8L25hbWU+CiAgPGNvbW1hbmQ+Ci0tdSBub3QtYS12YWxpZC11c2VyOiBzY3A6Ly8lSE9TVElQOiVTU0hQT1JUJVBPU0lYX1BXRC9pcnJlbGV2YW50LWZpbGUgLS1pbnNlY3VyZQorLXUgbm90LWEtdmFsaWQtdXNlcjogc2NwOi8vJUhPU1RJUDolU1NIUE9SVCVTU0hfUFdEL2lycmVsZXZhbnQtZmlsZSAtLWluc2VjdXJlCiA8L2NvbW1hbmQ+CiA8L2NsaWVudD4KIApkaWZmIC0tZ2l0IGEvdGVzdHMvZGF0YS90ZXN0NjMwIGIvdGVzdHMvZGF0YS90ZXN0NjMwCmluZGV4IGZmZGU4ZWEuLmY2Nzg1MjggMTAwNjQ0Ci0tLSBhL3Rlc3RzL2RhdGEvdGVzdDYzMAorKysgYi90ZXN0cy9kYXRhL3Rlc3Q2MzAKQEAgLTE3LDcgKzE3LDcgQEAKIFNGVFAgaW5jb3JyZWN0IGhvc3Qga2V5CiAgPC9uYW1lPgogIDxjb21tYW5kPgotLS1ob3N0cHVibWQ1IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwIC0ta2V5IGN1cmxfY2xpZW50X2tleSAtLXB1YmtleSBjdXJsX2NsaWVudF9rZXkucHViIC11ICVVU0VSOiBzZnRwOi8vJUhPU1RJUDolU1NIUE9SVCVQT1NJWF9QV0QvbG9nL2lycmVsZXZhbnQtZmlsZSAtLWluc2VjdXJlCistLWhvc3RwdWJtZDUgMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAgLS1rZXkgY3VybF9jbGllbnRfa2V5IC0tcHVia2V5IGN1cmxfY2xpZW50X2tleS5wdWIgLXUgJVVTRVI6IHNmdHA6Ly8lSE9TVElQOiVTU0hQT1JUJVNTSF9QV0QvbG9nL2lycmVsZXZhbnQtZmlsZSAtLWluc2VjdXJlCiA8L2NvbW1hbmQ+CiA8L2NsaWVudD4KIApkaWZmIC0tZ2l0IGEvdGVzdHMvZGF0YS90ZXN0NjMxIGIvdGVzdHMvZGF0YS90ZXN0NjMxCmluZGV4IGRkYjdkMjguLjcyMGYzNzEgMTAwNjQ0Ci0tLSBhL3Rlc3RzL2RhdGEvdGVzdDYzMQorKysgYi90ZXN0cy9kYXRhL3Rlc3Q2MzEKQEAgLTE3LDcgKzE3LDcgQEAKIFNDUCBpbmNvcnJlY3QgaG9zdCBrZXkKICA8L25hbWU+CiAgPGNvbW1hbmQ+Ci0tLWhvc3RwdWJtZDUgMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAgLS1rZXkgY3VybF9jbGllbnRfa2V5IC0tcHVia2V5IGN1cmxfY2xpZW50X2tleS5wdWIgLXUgJVVTRVI6IHNjcDovLyVIT1NUSVA6JVNTSFBPUlQlUE9TSVhfUFdEL2xvZy9pcnJlbGV2YW50LWZpbGUgLS1pbnNlY3VyZQorLS1ob3N0cHVibWQ1IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwIC0ta2V5IGN1cmxfY2xpZW50X2tleSAtLXB1YmtleSBjdXJsX2NsaWVudF9rZXkucHViIC11ICVVU0VSOiBzY3A6Ly8lSE9TVElQOiVTU0hQT1JUJVNTSF9QV0QvbG9nL2lycmVsZXZhbnQtZmlsZSAtLWluc2VjdXJlCiA8L2NvbW1hbmQ+CiA8L2NsaWVudD4KIApkaWZmIC0tZ2l0IGEvdGVzdHMvZGF0YS90ZXN0NjMyIGIvdGVzdHMvZGF0YS90ZXN0NjMyCmluZGV4IDYzZjU2MzAuLjcwY2ZlNTEgMTAwNjQ0Ci0tLSBhL3Rlc3RzL2RhdGEvdGVzdDYzMgorKysgYi90ZXN0cy9kYXRhL3Rlc3Q2MzIKQEAgLTIwLDcgKzIwLDcgQEAKIFNGVFAgc3ludGFjdGljYWxseSBpbnZhbGlkIGhvc3Qga2V5CiAgPC9uYW1lPgogIDxjb21tYW5kPgotLS1ob3N0cHVibWQ1IDAwIC0ta2V5IGN1cmxfY2xpZW50X2tleSAtLXB1YmtleSBjdXJsX2NsaWVudF9rZXkucHViIC11ICVVU0VSOiBzZnRwOi8vJUhPU1RJUDolU1NIUE9SVCVQT1NJWF9QV0QvbG9nL2lycmVsZXZhbnQtZmlsZSAtLWluc2VjdXJlCistLWhvc3RwdWJtZDUgMDAgLS1rZXkgY3VybF9jbGllbnRfa2V5IC0tcHVia2V5IGN1cmxfY2xpZW50X2tleS5wdWIgLXUgJVVTRVI6IHNmdHA6Ly8lSE9TVElQOiVOT0xJU1RFTlBPUlQlU1NIX1BXRC9sb2cvaXJyZWxldmFudC1maWxlIC0taW5zZWN1cmUKIDwvY29tbWFuZD4KIDwvY2xpZW50PgogCmRpZmYgLS1naXQgYS90ZXN0cy9kYXRhL3Rlc3Q2MzMgYi90ZXN0cy9kYXRhL3Rlc3Q2MzMKaW5kZXggZDg3YmZiOS4uOTEzZDk4MSAxMDA2NDQKLS0tIGEvdGVzdHMvZGF0YS90ZXN0NjMzCisrKyBiL3Rlc3RzL2RhdGEvdGVzdDYzMwpAQCAtMjQsNyArMjQsNyBAQAogU0ZUUCByZXRyaWV2YWwgd2l0aCBieXRlIHJhbmdlCiAgPC9uYW1lPgogIDxjb21tYW5kPgotLS1rZXkgY3VybF9jbGllbnRfa2V5IC0tcHVia2V5IGN1cmxfY2xpZW50X2tleS5wdWIgLXUgJVVTRVI6IHNmdHA6Ly8lSE9TVElQOiVTU0hQT1JUJVBPU0lYX1BXRC9sb2cvZmlsZTYzMy50eHQgLXIgNS05IC0taW5zZWN1cmUKKy0ta2V5IGN1cmxfY2xpZW50X2tleSAtLXB1YmtleSBjdXJsX2NsaWVudF9rZXkucHViIC11ICVVU0VSOiBzZnRwOi8vJUhPU1RJUDolU1NIUE9SVCVTU0hfUFdEL2xvZy9maWxlNjMzLnR4dCAtciA1LTkgLS1pbnNlY3VyZQogPC9jb21tYW5kPgogPGZpbGUgbmFtZT0ibG9nL2ZpbGU2MzMudHh0Ij4KIFRlc3QgZGF0YQpkaWZmIC0tZ2l0IGEvdGVzdHMvZGF0YS90ZXN0NjM0IGIvdGVzdHMvZGF0YS90ZXN0NjM0CmluZGV4IGM5M2UwOWUuLmZjMjUwZjkgMTAwNjQ0Ci0tLSBhL3Rlc3RzL2RhdGEvdGVzdDYzNAorKysgYi90ZXN0cy9kYXRhL3Rlc3Q2MzQKQEAgLTI1LDcgKzI1LDcgQEAKIFNGVFAgcmV0cmlldmFsIHdpdGggYnl0ZSByYW5nZSBwYXN0IGVuZCBvZiBmaWxlCiAgPC9uYW1lPgogIDxjb21tYW5kPgotLS1rZXkgY3VybF9jbGllbnRfa2V5IC0tcHVia2V5IGN1cmxfY2xpZW50X2tleS5wdWIgLXUgJVVTRVI6IHNmdHA6Ly8lSE9TVElQOiVTU0hQT1JUJVBPU0lYX1BXRC9sb2cvZmlsZTYzNC50eHQgLXIgNS05OSAtLWluc2VjdXJlCistLWtleSBjdXJsX2NsaWVudF9rZXkgLS1wdWJrZXkgY3VybF9jbGllbnRfa2V5LnB1YiAtdSAlVVNFUjogc2Z0cDovLyVIT1NUSVA6JVNTSFBPUlQlU1NIX1BXRC9sb2cvZmlsZTYzNC50eHQgLXIgNS05OSAtLWluc2VjdXJlCiA8L2NvbW1hbmQ+CiA8ZmlsZSBuYW1lPSJsb2cvZmlsZTYzNC50eHQiPgogVGVzdCBkYXRhCmRpZmYgLS1naXQgYS90ZXN0cy9kYXRhL3Rlc3Q2MzUgYi90ZXN0cy9kYXRhL3Rlc3Q2MzUKaW5kZXggZTU3MjU2Ny4uMTZlZjY2YyAxMDA2NDQKLS0tIGEvdGVzdHMvZGF0YS90ZXN0NjM1CisrKyBiL3Rlc3RzL2RhdGEvdGVzdDYzNQpAQCAtMjQsNyArMjQsNyBAQAogU0ZUUCByZXRyaWV2YWwgd2l0aCBieXRlIHJhbmdlIHJlbGF0aXZlIHRvIGVuZCBvZiBmaWxlCiAgPC9uYW1lPgogIDxjb21tYW5kPgotLS1rZXkgY3VybF9jbGllbnRfa2V5IC0tcHVia2V5IGN1cmxfY2xpZW50X2tleS5wdWIgLXUgJVVTRVI6IHNmdHA6Ly8lSE9TVElQOiVTU0hQT1JUJVBPU0lYX1BXRC9sb2cvZmlsZTYzNS50eHQgLXIgLTkgLS1pbnNlY3VyZQorLS1rZXkgY3VybF9jbGllbnRfa2V5IC0tcHVia2V5IGN1cmxfY2xpZW50X2tleS5wdWIgLXUgJVVTRVI6IHNmdHA6Ly8lSE9TVElQOiVTU0hQT1JUJVNTSF9QV0QvbG9nL2ZpbGU2MzUudHh0IC1yIC05IC0taW5zZWN1cmUKIDwvY29tbWFuZD4KIDxmaWxlIG5hbWU9ImxvZy9maWxlNjM1LnR4dCI+CiBUZXN0IGRhdGEKZGlmZiAtLWdpdCBhL3Rlc3RzL2RhdGEvdGVzdDYzNiBiL3Rlc3RzL2RhdGEvdGVzdDYzNgppbmRleCAyOWYxNjU3Li4wZWEzNTA5IDEwMDY0NAotLS0gYS90ZXN0cy9kYXRhL3Rlc3Q2MzYKKysrIGIvdGVzdHMvZGF0YS90ZXN0NjM2CkBAIC0yNSw3ICsyNSw3IEBACiBTRlRQIHJldHJpZXZhbCB3aXRoIFgtIGJ5dGUgcmFuZ2UKICA8L25hbWU+CiAgPGNvbW1hbmQ+Ci0tLWtleSBjdXJsX2NsaWVudF9rZXkgLS1wdWJrZXkgY3VybF9jbGllbnRfa2V5LnB1YiAtdSAlVVNFUjogc2Z0cDovLyVIT1NUSVA6JVNTSFBPUlQlUE9TSVhfUFdEL2xvZy9maWxlNjM2LnR4dCAtciA1LSAtLWluc2VjdXJlCistLWtleSBjdXJsX2NsaWVudF9rZXkgLS1wdWJrZXkgY3VybF9jbGllbnRfa2V5LnB1YiAtdSAlVVNFUjogc2Z0cDovLyVIT1NUSVA6JVNTSFBPUlQlU1NIX1BXRC9sb2cvZmlsZTYzNi50eHQgLXIgNS0gLS1pbnNlY3VyZQogPC9jb21tYW5kPgogPGZpbGUgbmFtZT0ibG9nL2ZpbGU2MzYudHh0Ij4KIFRlc3QgZGF0YQpkaWZmIC0tZ2l0IGEvdGVzdHMvZGF0YS90ZXN0NjM3IGIvdGVzdHMvZGF0YS90ZXN0NjM3CmluZGV4IGMwZjc2MGYuLjcxYjgxMjYgMTAwNjQ0Ci0tLSBhL3Rlc3RzL2RhdGEvdGVzdDYzNworKysgYi90ZXN0cy9kYXRhL3Rlc3Q2MzcKQEAgLTIzLDcgKzIzLDcgQEAKIFNGVFAgcmV0cmlldmFsIHdpdGggaW52YWxpZCBYLSByYW5nZQogIDwvbmFtZT4KICA8Y29tbWFuZD4KLS0ta2V5IGN1cmxfY2xpZW50X2tleSAtLXB1YmtleSBjdXJsX2NsaWVudF9rZXkucHViIC11ICVVU0VSOiBzZnRwOi8vJUhPU1RJUDolU1NIUE9SVCVQT1NJWF9QV0QvbG9nL2ZpbGU2MzcudHh0IC1yIDk5LSAtLWluc2VjdXJlCistLWtleSBjdXJsX2NsaWVudF9rZXkgLS1wdWJrZXkgY3VybF9jbGllbnRfa2V5LnB1YiAtdSAlVVNFUjogc2Z0cDovLyVIT1NUSVA6JVNTSFBPUlQlU1NIX1BXRC9sb2cvZmlsZTYzNy50eHQgLXIgOTktIC0taW5zZWN1cmUKIDwvY29tbWFuZD4KIDxmaWxlIG5hbWU9ImxvZy9maWxlNjM3LnR4dCI+CiBUZXN0IGRhdGEKZGlmZiAtLWdpdCBhL3Rlc3RzL2RhdGEvdGVzdDYzOCBiL3Rlc3RzL2RhdGEvdGVzdDYzOAppbmRleCAxZTQyNTk2Li5mZGMxNDBjIDEwMDY0NAotLS0gYS90ZXN0cy9kYXRhL3Rlc3Q2MzgKKysrIGIvdGVzdHMvZGF0YS90ZXN0NjM4CkBAIC0yOSw3ICsyOSw3IEBACiBTRlRQIHBvc3QtcXVvdGUgcmVuYW1lICogYXN0ZXJpc2sgYWNjZXB0LWZhaWwKICA8L25hbWU+CiAgPGNvbW1hbmQ+Ci0tLWtleSBjdXJsX2NsaWVudF9rZXkgLS1wdWJrZXkgY3VybF9jbGllbnRfa2V5LnB1YiAtdSAlVVNFUjogLVEgIi0qcmVuYW1lICVQV0QvbG9nL3Rlc3Q2MzguZGlyICVQV0QvbG9nL3Rlc3Q2MzgubmV3IiBzZnRwOi8vJUhPU1RJUDolU1NIUE9SVCVQT1NJWF9QV0QvbG9nL2ZpbGU2MzgudHh0IC0taW5zZWN1cmUKKy0ta2V5IGN1cmxfY2xpZW50X2tleSAtLXB1YmtleSBjdXJsX2NsaWVudF9rZXkucHViIC11ICVVU0VSOiAtUSAiLSpyZW5hbWUgJVBXRC9sb2cvdGVzdDYzOC5kaXIgJVBXRC9sb2cvdGVzdDYzOC5uZXciIHNmdHA6Ly8lSE9TVElQOiVTU0hQT1JUJVNTSF9QV0QvbG9nL2ZpbGU2MzgudHh0IC0taW5zZWN1cmUKIDwvY29tbWFuZD4KIDxwb3N0Y2hlY2s+CiBwZXJsICVTUkNESVIvbGlidGVzdC90ZXN0NjEwLnBsIHJtZGlyICVQV0QvbG9nL3Rlc3Q2MzgubmV3CmRpZmYgLS1naXQgYS90ZXN0cy9kYXRhL3Rlc3Q2MzkgYi90ZXN0cy9kYXRhL3Rlc3Q2MzkKaW5kZXggYmIwNmJlNy4uZDgwYzhjMSAxMDA2NDQKLS0tIGEvdGVzdHMvZGF0YS90ZXN0NjM5CisrKyBiL3Rlc3RzL2RhdGEvdGVzdDYzOQpAQCAtMjksNyArMjksNyBAQAogU0ZUUCBwb3N0LXF1b3RlIHJlbmFtZSAqIGFzdGVyaXNrIGFjY2VwdC1mYWlsCiAgPC9uYW1lPgogIDxjb21tYW5kPgotLS1rZXkgY3VybF9jbGllbnRfa2V5IC0tcHVia2V5IGN1cmxfY2xpZW50X2tleS5wdWIgLXUgJVVTRVI6IC1RICItKnJlbmFtZSAlUFdEL2xvZy90ZXN0NjM5LW5vdC1leGlzdHMtZGlyICVQV0QvbG9nL3Rlc3Q2MzkubmV3IiBzZnRwOi8vJUhPU1RJUDolU1NIUE9SVCVQT1NJWF9QV0QvbG9nL2ZpbGU2MzkudHh0IC0taW5zZWN1cmUKKy0ta2V5IGN1cmxfY2xpZW50X2tleSAtLXB1YmtleSBjdXJsX2NsaWVudF9rZXkucHViIC11ICVVU0VSOiAtUSAiLSpyZW5hbWUgJVBXRC9sb2cvdGVzdDYzOS1ub3QtZXhpc3RzLWRpciAlUFdEL2xvZy90ZXN0NjM5Lm5ldyIgc2Z0cDovLyVIT1NUSVA6JVNTSFBPUlQlU1NIX1BXRC9sb2cvZmlsZTYzOS50eHQgLS1pbnNlY3VyZQogPC9jb21tYW5kPgogPHBvc3RjaGVjaz4KIHBlcmwgJVNSQ0RJUi9saWJ0ZXN0L3Rlc3Q2MTAucGwgcm1kaXIgJVBXRC9sb2cvdGVzdDYzOS5kaXIKZGlmZiAtLWdpdCBhL3Rlc3RzL2RhdGEvdGVzdDY0MCBiL3Rlc3RzL2RhdGEvdGVzdDY0MAppbmRleCA5NzlhYzJiLi45ZDFhZGU0IDEwMDY0NAotLS0gYS90ZXN0cy9kYXRhL3Rlc3Q2NDAKKysrIGIvdGVzdHMvZGF0YS90ZXN0NjQwCkBAIC0yMyw3ICsyMyw3IEBACiBTRlRQIC0taGVhZCByZXRyaWV2YWwKICA8L25hbWU+CiAgPGNvbW1hbmQ+Ci0tLWtleSBjdXJsX2NsaWVudF9rZXkgLS1wdWJrZXkgY3VybF9jbGllbnRfa2V5LnB1YiAtdSAlVVNFUjogc2Z0cDovLyVIT1NUSVA6JVNTSFBPUlQlUE9TSVhfUFdEL2xvZy9maWxlNjQwLnR4dCAtLWluc2VjdXJlIC0taGVhZAorLS1rZXkgY3VybF9jbGllbnRfa2V5IC0tcHVia2V5IGN1cmxfY2xpZW50X2tleS5wdWIgLXUgJVVTRVI6IHNmdHA6Ly8lSE9TVElQOiVTU0hQT1JUJVNTSF9QV0QvbG9nL2ZpbGU2NDAudHh0IC0taW5zZWN1cmUgLS1oZWFkCiA8L2NvbW1hbmQ+CiA8ZmlsZSBuYW1lPSJsb2cvZmlsZTY0MC50eHQiPgogVGVzdCBkYXRhCmRpZmYgLS1naXQgYS90ZXN0cy9kYXRhL3Rlc3Q2NDEgYi90ZXN0cy9kYXRhL3Rlc3Q2NDEKaW5kZXggY2MxZGE5NC4uOWYxNjhhYSAxMDA2NDQKLS0tIGEvdGVzdHMvZGF0YS90ZXN0NjQxCisrKyBiL3Rlc3RzL2RhdGEvdGVzdDY0MQpAQCAtMjMsNyArMjMsNyBAQAogU0NQIC0taGVhZCByZXRyaWV2YWwKICA8L25hbWU+CiAgPGNvbW1hbmQ+Ci0tLWtleSBjdXJsX2NsaWVudF9rZXkgLS1wdWJrZXkgY3VybF9jbGllbnRfa2V5LnB1YiAtdSAlVVNFUjogc2NwOi8vJUhPU1RJUDolU1NIUE9SVCVQT1NJWF9QV0QvbG9nL2ZpbGU2NDEudHh0IC0taW5zZWN1cmUgLS1oZWFkCistLWtleSBjdXJsX2NsaWVudF9rZXkgLS1wdWJrZXkgY3VybF9jbGllbnRfa2V5LnB1YiAtdSAlVVNFUjogc2NwOi8vJUhPU1RJUDolU1NIUE9SVCVTU0hfUFdEL2xvZy9maWxlNjQxLnR4dCAtLWluc2VjdXJlIC0taGVhZAogPC9jb21tYW5kPgogPGZpbGUgbmFtZT0ibG9nL2ZpbGU2NDEudHh0Ij4KIFRlc3QgZGF0YQpkaWZmIC0tZ2l0IGEvdGVzdHMvZGF0YS90ZXN0NjQyIGIvdGVzdHMvZGF0YS90ZXN0NjQyCmluZGV4IDA4NDYyNmYuLjZhZTUyYmIgMTAwNjQ0Ci0tLSBhL3Rlc3RzL2RhdGEvdGVzdDY0MgorKysgYi90ZXN0cy9kYXRhL3Rlc3Q2NDIKQEAgLTI0LDcgKzI0LDcgQEAKIFNGVFAgcmV0cmlldmFsCiAgPC9uYW1lPgogIDxjb21tYW5kPgotLS1rZXkgY3VybF9jbGllbnRfa2V5IC0tcHVia2V5IGN1cmxfY2xpZW50X2tleS5wdWIgLXUgJVVTRVI6IC0tY29tcHJlc3NlZC1zc2ggc2Z0cDovLyVIT1NUSVA6JVNTSFBPUlQlUE9TSVhfUFdEL2xvZy9maWxlNjQyLnR4dCAtLWluc2VjdXJlCistLWtleSBjdXJsX2NsaWVudF9rZXkgLS1wdWJrZXkgY3VybF9jbGllbnRfa2V5LnB1YiAtdSAlVVNFUjogLS1jb21wcmVzc2VkLXNzaCBzZnRwOi8vJUhPU1RJUDolU1NIUE9SVCVTU0hfUFdEL2xvZy9maWxlNjQyLnR4dCAtLWluc2VjdXJlCiA8L2NvbW1hbmQ+CiA8ZmlsZSBuYW1lPSJsb2cvZmlsZTY0Mi50eHQiPgogVGVzdCBkYXRhCmRpZmYgLS1naXQgYS90ZXN0cy9kYXRhL3Rlc3Q2NTYgYi90ZXN0cy9kYXRhL3Rlc3Q2NTYKaW5kZXggODU5MTQ5MC4uZmIwZjI3ZiAxMDA2NDQKLS0tIGEvdGVzdHMvZGF0YS90ZXN0NjU2CisrKyBiL3Rlc3RzL2RhdGEvdGVzdDY1NgpAQCAtMTYsNyArMTYsNyBAQAogU0ZUUCByZXRyaWV2YWwgd2l0aCBub25leGlzdGVudCBwcml2YXRlIGtleSBmaWxlCiAgPC9uYW1lPgogIDxjb21tYW5kPgotLS1rZXkgRE9FU19OT1RfRVhJU1QgLS1wdWJrZXkgY3VybF9jbGllbnRfa2V5LnB1YiAtdSAlVVNFUjogc2Z0cDovLyVIT1NUSVA6JVNTSFBPUlQlUE9TSVhfUFdEL25vdC1hLXZhbGlkLWZpbGUtbW9vb28gLS1pbnNlY3VyZSAtLWNvbm5lY3QtdGltZW91dCA4CistLWtleSBET0VTX05PVF9FWElTVCAtLXB1YmtleSBjdXJsX2NsaWVudF9rZXkucHViIC11ICVVU0VSOiBzZnRwOi8vJUhPU1RJUDolU1NIUE9SVCVTU0hfUFdEL25vdC1hLXZhbGlkLWZpbGUtbW9vb28gLS1pbnNlY3VyZSAtLWNvbm5lY3QtdGltZW91dCA4CiA8L2NvbW1hbmQ+CiA8L2NsaWVudD4KIApkaWZmIC0tZ2l0IGEvdGVzdHMvZGF0YS90ZXN0NjY0IGIvdGVzdHMvZGF0YS90ZXN0NjY0CmluZGV4IGNiNzNiMjQuLjZiZWE0ZWQgMTAwNjQ0Ci0tLSBhL3Rlc3RzL2RhdGEvdGVzdDY2NAorKysgYi90ZXN0cy9kYXRhL3Rlc3Q2NjQKQEAgLTI0LDcgKzI0LDcgQEAKIFNGVFAgY29ycmVjdCBob3N0IGtleQogIDwvbmFtZT4KICA8Y29tbWFuZD4KLS0taG9zdHB1Ym1kNSAlU1NIU1JWTUQ1IC0ta2V5IGN1cmxfY2xpZW50X2tleSAtLXB1YmtleSBjdXJsX2NsaWVudF9rZXkucHViIC11ICVVU0VSOiBzZnRwOi8vJUhPU1RJUDolU1NIUE9SVCVQT1NJWF9QV0QvbG9nL2ZpbGU2NjQudHh0CistLWhvc3RwdWJtZDUgJVNTSFNSVk1ENSAtLWtleSBjdXJsX2NsaWVudF9rZXkgLS1wdWJrZXkgY3VybF9jbGllbnRfa2V5LnB1YiAtdSAlVVNFUjogc2Z0cDovLyVIT1NUSVA6JVNTSFBPUlQlU1NIX1BXRC9sb2cvZmlsZTY2NC50eHQKIDwvY29tbWFuZD4KIDxmaWxlIG5hbWU9ImxvZy9maWxlNjY0LnR4dCI+CiB0ZXN0CmRpZmYgLS1naXQgYS90ZXN0cy9kYXRhL3Rlc3Q2NjUgYi90ZXN0cy9kYXRhL3Rlc3Q2NjUKaW5kZXggODMwYWRiOC4uNjg5ZmEzMSAxMDA2NDQKLS0tIGEvdGVzdHMvZGF0YS90ZXN0NjY1CisrKyBiL3Rlc3RzL2RhdGEvdGVzdDY2NQpAQCAtMjQsNyArMjQsNyBAQAogU0NQIGNvcnJlY3QgaG9zdCBrZXkKICA8L25hbWU+CiAgPGNvbW1hbmQ+Ci0tLWhvc3RwdWJtZDUgJVNTSFNSVk1ENSAtLWtleSBjdXJsX2NsaWVudF9rZXkgLS1wdWJrZXkgY3VybF9jbGllbnRfa2V5LnB1YiAtdSAlVVNFUjogc2NwOi8vJUhPU1RJUDolU1NIUE9SVCVQT1NJWF9QV0QvbG9nL2ZpbGU2NjUudHh0CistLWhvc3RwdWJtZDUgJVNTSFNSVk1ENSAtLWtleSBjdXJsX2NsaWVudF9rZXkgLS1wdWJrZXkgY3VybF9jbGllbnRfa2V5LnB1YiAtdSAlVVNFUjogc2NwOi8vJUhPU1RJUDolU1NIUE9SVCVTU0hfUFdEL2xvZy9maWxlNjY1LnR4dAogPC9jb21tYW5kPgogPGZpbGUgbmFtZT0ibG9nL2ZpbGU2NjUudHh0Ij4KIHRlc3QKZGlmZiAtLWdpdCBhL3Rlc3RzL2RhdGEvdGVzdDc1IGIvdGVzdHMvZGF0YS90ZXN0NzUKaW5kZXggMTE1OTYzZC4uNjJhZWIxMSAxMDA2NDQKLS0tIGEvdGVzdHMvZGF0YS90ZXN0NzUKKysrIGIvdGVzdHMvZGF0YS90ZXN0NzUKQEAgLTI3LDExICsyNyw2IEBACiAgPGNvbW1hbmQgb3B0aW9uPSJuby1vdXRwdXQiPgogImh0dHA6Ly9hLXNpdGUtbmV2ZXItYWNjZXNzZWQuZXhhbXBsZS5vcmcvWzItMV0iIC1vICJsb2cvd2VlZSMxLmR1bXAiIC0tc3RkZXJyIC0KIDwvY29tbWFuZD4KLSMgVGhlIGVycm9yIG1lc3NhZ2Ugb24gc3Rkb3V0IGltcGxpY2l0bHkgZGVwZW5kcyBvbiB0aGUgbGVuZ3RoIG9mIHRoZQotIyBVUkwsIHNvIHJlZnVzZSB0byBydW4gaWYgdGhlIGxlbmd0aCBpcyB1bmV4cGVjdGVkLgotPHByZWNoZWNrPgotcGVybCAlU1JDRElSL2xpYnRlc3QvdGVzdDc1LnBsIGh0dHA6Ly8lSE9TVElQOiVIVFRQUE9SVC8gMjIKLTwvcHJlY2hlY2s+CiA8L2NsaWVudD4KIAogIwpkaWZmIC0tZ2l0IGEvdGVzdHMvZGF0YS90ZXN0NzYgYi90ZXN0cy9kYXRhL3Rlc3Q3NgppbmRleCBhZGEzYTMzLi5iNmM0N2NkIDEwMDY0NAotLS0gYS90ZXN0cy9kYXRhL3Rlc3Q3NgorKysgYi90ZXN0cy9kYXRhL3Rlc3Q3NgpAQCAtMjIsNyArMjIsNyBAQAogSFRUUCwgLU8gd2l0aCBubyBmaWxlIG5hbWUgcGFydCBpbiB0aGUgVVJMCiAgPC9uYW1lPgogIDxjb21tYW5kIG9wdGlvbj0ibm8tb3V0cHV0Ij4KLWh0dHA6Ly8lSE9TVElQOiVIVFRQUE9SVC83Ni8gLU8KK2h0dHA6Ly8lSE9TVElQOiVOT0xJU1RFTlBPUlQvNzYvIC1PCiA8L2NvbW1hbmQ+CiA8L2NsaWVudD4KIApkaWZmIC0tZ2l0IGEvdGVzdHMvZGF0YS90ZXN0ODk1IGIvdGVzdHMvZGF0YS90ZXN0ODk1Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjc4ZDQ4YzQKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9kYXRhL3Rlc3Q4OTUKQEAgLTAsMCArMSw1MCBAQAorPHRlc3RjYXNlPgorPGluZm8+Cis8a2V5d29yZHM+CitJTUFQCitDbGVhciBUZXh0CitGRVRDSAorLS1sb2dpbi1vcHRpb25zCis8L2tleXdvcmRzPgorPC9pbmZvPgorCisjCisjIFNlcnZlci1zaWRlCis8cmVwbHk+Cis8ZGF0YT4KK0Zyb206IG1lQHNvbWV3aGVyZQ0KK1RvOiBmYWtlQG5vd2hlcmUNCisNCitib2R5DQorDQorLS0NCisgIHlvdXJzIHNpbmNlcmVseQ0KKzwvZGF0YT4KKzwvcmVwbHk+CisKKyMKKyMgQ2xpZW50LXNpZGUKKzxjbGllbnQ+Cis8c2VydmVyPgoraW1hcAorPC9zZXJ2ZXI+CisgPG5hbWU+CitJTUFQIHdpdGggLS1sb2dpbi1vcHRpb25zICdBVVRIPSonCisgPC9uYW1lPgorIDxjb21tYW5kPgorJ2ltYXA6Ly8lSE9TVElQOiVJTUFQUE9SVC84OTUvO01BSUxJTkRFWD0xJyAtdSAnInVzZXI6c2VjInJldHsnIC0tbG9naW4tb3B0aW9ucyAnQVVUSD0qJworPC9jb21tYW5kPgorPC9jbGllbnQ+CisKKyMKKyMgVmVyaWZ5IGRhdGEgYWZ0ZXIgdGhlIHRlc3QgaGFzIGJlZW4gInNob3QiCis8dmVyaWZ5PgorPHByb3RvY29sPgorQTAwMSBDQVBBQklMSVRZDQorQTAwMiBMT0dJTiAiXCJ1c2VyIiAic2VjXCJyZXR7Ig0KK0EwMDMgU0VMRUNUIDg5NQ0KK0EwMDQgRkVUQ0ggMSBCT0RZW10NCitBMDA1IExPR09VVA0KKzwvcHJvdG9jb2w+Cis8L3ZlcmlmeT4KKzwvdGVzdGNhc2U+CmRpZmYgLS1naXQgYS90ZXN0cy9kYXRhL3Rlc3Q4OTYgYi90ZXN0cy9kYXRhL3Rlc3Q4OTYKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYzk3MjkwNgotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL2RhdGEvdGVzdDg5NgpAQCAtMCwwICsxLDM4IEBACis8dGVzdGNhc2U+Cis8aW5mbz4KKzxrZXl3b3Jkcz4KK0lNQVAKK0NsZWFyIFRleHQKK0ZFVENICistLWxvZ2luLW9wdGlvbnMKKzwva2V5d29yZHM+Cis8L2luZm8+CisKKyMKKyMgU2VydmVyLXNpZGUKKzxyZXBseT4KKzwvcmVwbHk+CisKKyMKKyMgQ2xpZW50LXNpZGUKKzxjbGllbnQ+Cis8c2VydmVyPgoraW1hcAorPC9zZXJ2ZXI+CisgPG5hbWU+CitJTUFQIHdpdGggLS1sb2dpbi1vcHRpb25zICdBVVRIPWR1bW15JyAoZmFpbGluZykKKyA8L25hbWU+CisgPGNvbW1hbmQ+CisnaW1hcDovLyVIT1NUSVA6JUlNQVBQT1JULzg5NS87TUFJTElOREVYPTEnIC11ICcidXNlcjpzZWMicmV0eycgLS1sb2dpbi1vcHRpb25zICdBVVRIPWR1bW15JworPC9jb21tYW5kPgorPC9jbGllbnQ+CisKKyMKKyMgVmVyaWZ5IGRhdGEgYWZ0ZXIgdGhlIHRlc3QgaGFzIGJlZW4gInNob3QiCis8dmVyaWZ5PgorIyAzID09IENVUkxFX1VSTF9NQUxGT1JNQVQKKzxlcnJvcmNvZGU+CiszCis8L2Vycm9yY29kZT4KKzwvdmVyaWZ5PgorPC90ZXN0Y2FzZT4KZGlmZiAtLWdpdCBhL3Rlc3RzL2RhdGEvdGVzdDk3MCBiL3Rlc3RzL2RhdGEvdGVzdDk3MAppbmRleCA1NGUzNGNjLi5lNmQxMzhmIDEwMDY0NAotLS0gYS90ZXN0cy9kYXRhL3Rlc3Q5NzAKKysrIGIvdGVzdHMvZGF0YS90ZXN0OTcwCkBAIC0zMyw2ICszMyw3IEBACiA8L3NlcnZlcj4KIDxmZWF0dXJlcz4KIGRlYnVnCitwcm94eQogPC9mZWF0dXJlcz4KIDxzZXRlbnY+CiBDVVJMX1RJTUU9MTMKZGlmZiAtLWdpdCBhL3Rlc3RzL2RhdGEvdGVzdDk3MSBiL3Rlc3RzL2RhdGEvdGVzdDk3MQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5kZTEzNGU4Ci0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvZGF0YS90ZXN0OTcxCkBAIC0wLDAgKzEsMjUgQEAKKzx0ZXN0Y2FzZT4KKzxpbmZvPgorPGtleXdvcmRzPgorc291cmNlIGFuYWx5c2lzCitvcHRpb25zLWluLXZlcnNpb25zCis8L2tleXdvcmRzPgorPC9pbmZvPgorCisjCisjIENsaWVudC1zaWRlCis8Y2xpZW50PgorPHNlcnZlcj4KK25vbmUKKzwvc2VydmVyPgorCisgPG5hbWU+CitWZXJpZnkgdGhhdCBvcHRpb25zLWluLXZlcnNpb25zIGFuZCBkb2NzL2NtZGxpbmUtb3B0cyBhcmUgaW4gc3luYworIDwvbmFtZT4KKworPGNvbW1hbmQgdHlwZT0icGVybCI+CislU1JDRElSL29wdGlvbnMtc2Nhbi5wbCAlU1JDRElSLy4uL2RvY3Mvb3B0aW9ucy1pbi12ZXJzaW9ucyAlU1JDRElSLy4uL2RvY3MvY21kbGluZS1vcHRzCis8L2NvbW1hbmQ+Cis8L2NsaWVudD4KKworPC90ZXN0Y2FzZT4KZGlmZiAtLWdpdCBhL3Rlc3RzL2xpYnRlc3QvQ01ha2VMaXN0cy50eHQgYi90ZXN0cy9saWJ0ZXN0L0NNYWtlTGlzdHMudHh0CmluZGV4IDZmMzI3NWEuLmNjMzhhOTcgMTAwNjQ0Ci0tLSBhL3Rlc3RzL2xpYnRlc3QvQ01ha2VMaXN0cy50eHQKKysrIGIvdGVzdHMvbGlidGVzdC9DTWFrZUxpc3RzLnR4dApAQCAtMjIsNyArMjIsOCBAQAogc2V0KFRBUkdFVF9MQUJFTF9QUkVGSVggIlRlc3QgIikKIAogZnVuY3Rpb24oc2V0dXBfdGVzdCBURVNUX05BTUUpICAgICAgICAgICMgQVJHTiBhcmUgdGhlIGZpbGVzIGluIHRoZSB0ZXN0Ci0gIGFkZF9leGVjdXRhYmxlKCAke1RFU1RfTkFNRX0gJHtBUkdOfSApCisgIGFkZF9leGVjdXRhYmxlKCR7VEVTVF9OQU1FfSBFWENMVURFX0ZST01fQUxMICR7QVJHTn0pCisgIGFkZF9kZXBlbmRlbmNpZXModGVzdGRlcHMgJHtURVNUX05BTUV9KQogICBzdHJpbmcoVE9VUFBFUiAke1RFU1RfTkFNRX0gVVBQRVJfVEVTVF9OQU1FKQogCiAgIGluY2x1ZGVfZGlyZWN0b3JpZXMoCkBAIC01OCw3ICs1OSw4IEBACiAjIEFsbG93cyBmb3IgaG9zdG5hbWUgb3ZlcnJpZGUgdG8gbWFrZSB0ZXN0cyBtYWNoaW5lIGluZGVwZW5kZW50LgogIyBUT0RPIHRoaXMgY21ha2UgYnVpbGQgYXNzdW1lcyBhIHNoYXJlZCBidWlsZCwgZGV0ZWN0IHN0YXRpYyBsaW5raW5nIGhlcmUhCiBpZihOT1QgV0lOMzIpCi0gIGFkZF9saWJyYXJ5KGhvc3RuYW1lIE1PRFVMRSBzZXRob3N0bmFtZS5jIHNldGhvc3RuYW1lLmgpCisgIGFkZF9saWJyYXJ5KGhvc3RuYW1lIE1PRFVMRSBFWENMVURFX0ZST01fQUxMIHNldGhvc3RuYW1lLmMgc2V0aG9zdG5hbWUuaCkKKyAgYWRkX2RlcGVuZGVuY2llcyh0ZXN0ZGVwcyBob3N0bmFtZSkKICAgIyBPdXRwdXQgdG8gLmxpYnMgZm9yIGNvbXBhdGliaWxpdHkgd2l0aCBhdXRvdG9vbHMsIHRoZSB0ZXN0IGRhdGEgZXhwZWN0cyBhCiAgICMgbGlicmFyeSBhdCAodGVzdHMpL2xpYnRlc3QvLmxpYnMvbGliaG9zdG5hbWUuc28KICAgc2V0X3RhcmdldF9wcm9wZXJ0aWVzKGhvc3RuYW1lIFBST1BFUlRJRVMKQEAgLTc5LDc5ICs4MSwzIEBACiAKIHNldF9wcm9wZXJ0eShUQVJHRVQgY2hrZGVjaW1hbHBvaW50CiAgIEFQUEVORCBQUk9QRVJUWSBDT01QSUxFX0RFRklOSVRJT05TICJDVVJMWF9OT19NRU1PUllfQ0FMTEJBQ0tTO0NVUkxfU1RBVElDTElCIikKLQotICAjICMgZmlsZXMgdXNlZCBvbmx5IGluIHNvbWUgbGliY3VybCB0ZXN0IHByb2dyYW1zCi0jIFNFVChURVNUVVRJTCB0ZXN0dXRpbC5jIHRlc3R1dGlsLmgpCi0KLSMgIyB0aGVzZSBmaWxlcyBhcmUgdXNlZCBpbiBldmVyeSBzaW5nbGUgdGVzdCBwcm9ncmFtIGJlbG93Ci0jIFNFVChTVVBQT1JURklMRVMgZmlyc3QuYyB0ZXN0LmgpCi0KLSMgIyBUaGVzZSBhcmUgYWxsIGxpYmN1cmwgdGVzdCBwcm9ncmFtcwotIyBTRVQobm9pbnN0X1BST0dSQU1TCi0jIGxpYjUwMCBsaWI1MDEgbGliNTAyIGxpYjUwMyBsaWI1MDQgbGliNTA1IGxpYjUwNgotIyBsaWI1MDcgbGliNTA4IGxpYjUxMCBsaWI1MTEgbGliNTEyIGxpYjUxMyBsaWI1MTQgbGliNTE1IGxpYjUxNgotIyBsaWI1MTcgbGliNTE4IGxpYjUxOSBsaWI1MjAgbGliNTIxIGxpYjUyMyBsaWI1MjQgbGliNTI1IGxpYjUyNgotIyAjbGliNTI3Ci0jICNsaWI1MjkKLSMgbGliNTMwCi0jICNsaWI1MzIKLSMgbGliNTMzIGxpYjUzNiBsaWI1MzcgbGliNTQwIGxpYjU0MSBsaWI1NDIgbGliNTQzCi0jIGxpYjU0NAotIyAjbGliNTQ1Ci0jIGxpYjU0NwotIyAjbGliNTQ4Ci0jIGxpYjU0OSBsaWI1NTIgbGliNTUzIGxpYjU1NCBsaWI1NTUgbGliNTU2Ci0jIGxpYjUzOSBsaWI1NTcKLSMgbGliNTYwCi0jICkKLQotIyBTRVQobm9pbnN0X1BST0dSQU1TX1VTRV9URVNUVVRJTAotIyBsaWI1MDIgbGliNTAzIGxpYjUwNAotIyBsaWI1MDcKLSMgbGliNTI1IGxpYjUyNiBsaWI1MjcKLSMgbGliNTI5Ci0jIGxpYjUzMAotIyBsaWI1MzIKLSMgbGliNTMzIGxpYjUzNgotIyBsaWI1NTUKLSMgKQotCi0jIE1BQ1JPKEFERF9URVNUVVRJTF9JRl9ORUNFU1NBUlkgVEVTVF9OQU1FKQotIyBMSVNUKEZJTkQgbm9pbnN0X1BST0dSQU1TX1VTRV9URVNUVVRJTCAke1RFU1RfTkFNRX0gVVNFU19URVNUVVRJTCkKLSMgSUYoTk9UICR7VVNFU19URVNUVVRJTH0gRVFVQUwgLTEpCi0jIExJU1QoQVBQRU5EIFNPVVJDRSAke1RFU1RVVElMfSkgICAgICAgICAgICAgICAjIE5lZWQgVGVzdFV0aWwKLSMgRU5ESUYoKQotIyBFTkRNQUNSTygpCi0KLSMgIyBHZW5lcmFsIGNhc2UKLSMgRk9SRUFDSChURVNUX05BTUUgJHtub2luc3RfUFJPR1JBTVN9KQotIyBTRVQoU09VUkNFICIke1RFU1RfTkFNRX0uYyIgJHtTVVBQT1JURklMRVN9KQotIyBBRERfVEVTVFVUSUxfSUZfTkVDRVNTQVJZKCR7VEVTVF9OQU1FfSkKLSMgU0VUVVBfVEVTVCgke1RFU1RfTkFNRX0gJHtTT1VSQ0V9KQotIyBFTkRGT1JFQUNIKCkKLQotIyAjIFNwZWNpYWwgY2FzZXMKLSMgU0VUKFRFU1RfTkFNRSBsaWI1MjcpCi0jIFNFVChTT1VSQ0UgImxpYjUyNi5jIiAke1NVUFBPUlRGSUxFU30pCi0jIEFERF9URVNUVVRJTF9JRl9ORUNFU1NBUlkoJHtURVNUX05BTUV9KQotIyBTRVRVUF9URVNUKCR7VEVTVF9OQU1FfSAke1NPVVJDRX0pCi0KLSMgU0VUKFRFU1RfTkFNRSBsaWI1MjkpCi0jIFNFVChTT1VSQ0UgImxpYjUyNS5jIiAke1NVUFBPUlRGSUxFU30pCi0jIEFERF9URVNUVVRJTF9JRl9ORUNFU1NBUlkoJHtURVNUX05BTUV9KQotIyBTRVRVUF9URVNUKCR7VEVTVF9OQU1FfSAke1NPVVJDRX0pCi0KLSMgU0VUKFRFU1RfTkFNRSBsaWI1MzIpCi0jIFNFVChTT1VSQ0UgImxpYjUyNi5jIiAke1NVUFBPUlRGSUxFU30pCi0jIEFERF9URVNUVVRJTF9JRl9ORUNFU1NBUlkoJHtURVNUX05BTUV9KQotIyBTRVRVUF9URVNUKCR7VEVTVF9OQU1FfSAke1NPVVJDRX0pCi0KLSMgU0VUKFRFU1RfTkFNRSBsaWI1NDUpCi0jIFNFVChTT1VSQ0UgImxpYjU0NC5jIiAke1NVUFBPUlRGSUxFU30pCi0jIEFERF9URVNUVVRJTF9JRl9ORUNFU1NBUlkoJHtURVNUX05BTUV9KQotIyBTRVRVUF9URVNUKCR7VEVTVF9OQU1FfSAke1NPVVJDRX0pCi0KLSMgU0VUKFRFU1RfTkFNRSBsaWI1NDgpCi0jIFNFVChTT1VSQ0UgImxpYjU0Ny5jIiAke1NVUFBPUlRGSUxFU30pCi0jIEFERF9URVNUVVRJTF9JRl9ORUNFU1NBUlkoJHtURVNUX05BTUV9KQotIyBTRVRVUF9URVNUKCR7VEVTVF9OQU1FfSAke1NPVVJDRX0pCmRpZmYgLS1naXQgYS90ZXN0cy9saWJ0ZXN0L01ha2VmaWxlLmFtIGIvdGVzdHMvbGlidGVzdC9NYWtlZmlsZS5hbQppbmRleCBjYTdjMDFjLi5lODdhMzYzIDEwMDY0NAotLS0gYS90ZXN0cy9saWJ0ZXN0L01ha2VmaWxlLmFtCisrKyBiL3Rlc3RzL2xpYnRlc3QvTWFrZWZpbGUuYW0KQEAgLTUsNyArNSw3IEBACiAjICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgKF9ffCB8X3wgfCAgXyA8fCB8X19fCiAjICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcX19ffFxfX18vfF98IFxfXF9fX19ffAogIwotIyBDb3B5cmlnaHQgKEMpIDE5OTggLSAyMDE5LCBEYW5pZWwgU3RlbmJlcmcsIDxkYW5pZWxAaGF4eC5zZT4sIGV0IGFsLgorIyBDb3B5cmlnaHQgKEMpIDE5OTggLSAyMDIwLCBEYW5pZWwgU3RlbmJlcmcsIDxkYW5pZWxAaGF4eC5zZT4sIGV0IGFsLgogIwogIyBUaGlzIHNvZnR3YXJlIGlzIGxpY2Vuc2VkIGFzIGRlc2NyaWJlZCBpbiB0aGUgZmlsZSBDT1BZSU5HLCB3aGljaAogIyB5b3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYXMgcGFydCBvZiB0aGlzIGRpc3RyaWJ1dGlvbi4gVGhlIHRlcm1zCkBAIC00NCw3ICs0NCw3IEBACiAgICAgICAgICAgICAgIC1JJCh0b3Bfc3JjZGlyKS9saWIKIGVuZGlmCiAKLUVYVFJBX0RJU1QgPSB0ZXN0NzUucGwgdGVzdDMwNy5wbCB0ZXN0NjEwLnBsIHRlc3Q2MTMucGwgdGVzdDEwMTMucGwgXAorRVhUUkFfRElTVCA9IHRlc3QzMDcucGwgdGVzdDYxMC5wbCB0ZXN0NjEzLnBsIHRlc3QxMDEzLnBsIFwKICAgdGVzdDEwMjIucGwgTWFrZWZpbGUuaW5jIG5vdGV4aXN0cy5wbCBDTWFrZUxpc3RzLnR4dCBtay1saWIxNTIxLnBsCiAKIENGTEFHX0NVUkxfU1lNQk9MX0hJRElORyA9IEBDRkxBR19DVVJMX1NZTUJPTF9ISURJTkdACmRpZmYgLS1naXQgYS90ZXN0cy9saWJ0ZXN0L01ha2VmaWxlLmluYyBiL3Rlc3RzL2xpYnRlc3QvTWFrZWZpbGUuaW5jCmluZGV4IDE2NTEzMDguLmYyOWJmNmEgMTAwNjQ0Ci0tLSBhL3Rlc3RzL2xpYnRlc3QvTWFrZWZpbGUuaW5jCisrKyBiL3Rlc3RzL2xpYnRlc3QvTWFrZWZpbGUuaW5jCkBAIC0yOCw2ICsyOCw5IEBACiAjIGZpbGVzIHVzZWQgb25seSBpbiBzb21lIGxpYmN1cmwgdGVzdCBwcm9ncmFtcwogV0FSTkxFU1MgPSAuLi8uLi9saWIvd2Fybmxlc3MuYyAuLi8uLi9saWIvd2Fybmxlc3MuaAogCisjIGZpbGVzIHVzZWQgb25seSBpbiBzb21lIGxpYmN1cmwgdGVzdCBwcm9ncmFtcworTVVMVElCWVRFID0gLi4vLi4vbGliL2N1cmxfbXVsdGlieXRlLmMgLi4vLi4vbGliL2N1cmxfbXVsdGlieXRlLmgKKwogIyB0aGVzZSBmaWxlcyBhcmUgdXNlZCBpbiBldmVyeSBzaW5nbGUgdGVzdCBwcm9ncmFtIGJlbG93CiBTVVBQT1JURklMRVMgPSBmaXJzdC5jIHRlc3QuaAogCkBAIC01MCwxNiArNTMsMTYgQEAKICBsaWIxNTA5IGxpYjE1MTAgbGliMTUxMSBsaWIxNTEyIGxpYjE1MTMgbGliMTUxNCBsaWIxNTE1ICAgICAgICAgbGliMTUxNyBcCiAgbGliMTUxOCAgICAgICAgIGxpYjE1MjAgbGliMTUyMSBsaWIxNTIyIGxpYjE1MjMgXAogIGxpYjE1MjUgbGliMTUyNiBsaWIxNTI3IGxpYjE1MjggbGliMTUyOSBsaWIxNTMwIGxpYjE1MzEgbGliMTUzMiBsaWIxNTMzIFwKLSBsaWIxNTM0IGxpYjE1MzUgbGliMTUzNiBsaWIxNTM3IGxpYjE1MzggXAorIGxpYjE1MzQgbGliMTUzNSBsaWIxNTM2IGxpYjE1MzcgbGliMTUzOCBsaWIxNTM5IFwKICBsaWIxNTQwIGxpYjE1NDEgXAogIGxpYjE1NTAgbGliMTU1MSBsaWIxNTUyIGxpYjE1NTMgbGliMTU1NCBsaWIxNTU1IGxpYjE1NTYgbGliMTU1NyBcCiAgbGliMTU1OCBsaWIxNTU5IGxpYjE1NjAgbGliMTU2NCBsaWIxNTY1IFwKICBsaWIxNTkxIGxpYjE1OTIgbGliMTU5MyBsaWIxNTk0IGxpYjE1OTYgXAotIGxpYjE5MDAgbGliMTkwNSBsaWIxOTA2IGxpYjE5MDcgbGliMTkwOCBcCisgbGliMTkwMCBsaWIxOTA1IGxpYjE5MDYgbGliMTkwNyBsaWIxOTA4IGxpYjE5MTAgXAogIGxpYjIwMzMKIAogY2hrZGVjaW1hbHBvaW50X1NPVVJDRVMgPSBjaGtkZWNpbWFscG9pbnQuYyAuLi8uLi9saWIvbXByaW50Zi5jIFwKLSAuLi8uLi9saWIvY3VybF9jdHlwZS5jCisgLi4vLi4vbGliL2N1cmxfY3R5cGUuYyAgLi4vLi4vbGliL2R5bmJ1Zi5jIC4uLy4uL2xpYi9zdHJkdXAuYwogY2hrZGVjaW1hbHBvaW50X0xEQUREID0KIGNoa2RlY2ltYWxwb2ludF9DUFBGTEFHUyA9ICQoQU1fQ1BQRkxBR1MpIC1EQ1VSTF9TVEFUSUNMSUIgXAogIC1EQ1VSTFhfTk9fTUVNT1JZX0NBTExCQUNLUwpAQCAtNzYsNyArNzksNyBAQAogbGliYXV0aHJldHJ5X1NPVVJDRVMgPSBsaWJhdXRocmV0cnkuYyAkKFNVUFBPUlRGSUxFUykKIGxpYmF1dGhyZXRyeV9DUFBGTEFHUyA9ICQoQU1fQ1BQRkxBR1MpCiAKLWxpYjUwMF9TT1VSQ0VTID0gbGliNTAwLmMgJChTVVBQT1JURklMRVMpICQoVEVTVFVUSUwpICQoVFNUVFJBQ0UpCitsaWI1MDBfU09VUkNFUyA9IGxpYjUwMC5jICQoU1VQUE9SVEZJTEVTKSAkKFRFU1RVVElMKSAkKFRTVFRSQUNFKSAkKE1VTFRJQllURSkKIGxpYjUwMF9MREFERCA9ICQoVEVTVFVUSUxfTElCUykKIGxpYjUwMF9DUFBGTEFHUyA9ICQoQU1fQ1BQRkxBR1MpCiAKQEAgLTk1LDcgKzk4LDcgQEAKIGxpYjUwNF9MREFERCA9ICQoVEVTVFVUSUxfTElCUykKIGxpYjUwNF9DUFBGTEFHUyA9ICQoQU1fQ1BQRkxBR1MpCiAKLWxpYjUwNV9TT1VSQ0VTID0gbGliNTA1LmMgJChTVVBQT1JURklMRVMpCitsaWI1MDVfU09VUkNFUyA9IGxpYjUwNS5jICQoU1VQUE9SVEZJTEVTKSAkKE1VTFRJQllURSkKIGxpYjUwNV9DUFBGTEFHUyA9ICQoQU1fQ1BQRkxBR1MpCiAKIGxpYjUwNl9TT1VSQ0VTID0gbGliNTA2LmMgJChTVVBQT1JURklMRVMpCkBAIC0xMzUsNyArMTM4LDcgQEAKIGxpYjUxN19TT1VSQ0VTID0gbGliNTE3LmMgJChTVVBQT1JURklMRVMpCiBsaWI1MTdfQ1BQRkxBR1MgPSAkKEFNX0NQUEZMQUdTKQogCi1saWI1MThfU09VUkNFUyA9IGxpYjUxOC5jICQoU1VQUE9SVEZJTEVTKSAkKFdBUk5MRVNTKQorbGliNTE4X1NPVVJDRVMgPSBsaWI1MTguYyAkKFNVUFBPUlRGSUxFUykgJChXQVJOTEVTUykgJChNVUxUSUJZVEUpCiBsaWI1MThfQ1BQRkxBR1MgPSAkKEFNX0NQUEZMQUdTKQogCiBsaWI1MTlfU09VUkNFUyA9IGxpYjUxOS5jICQoU1VQUE9SVEZJTEVTKQpAQCAtMTUzLDcgKzE1Niw3IEBACiBsaWI1MjRfU09VUkNFUyA9IGxpYjUyNC5jICQoU1VQUE9SVEZJTEVTKQogbGliNTI0X0NQUEZMQUdTID0gJChBTV9DUFBGTEFHUykKIAotbGliNTI1X1NPVVJDRVMgPSBsaWI1MjUuYyAkKFNVUFBPUlRGSUxFUykgJChURVNUVVRJTCkgJChXQVJOTEVTUykKK2xpYjUyNV9TT1VSQ0VTID0gbGliNTI1LmMgJChTVVBQT1JURklMRVMpICQoVEVTVFVUSUwpICQoV0FSTkxFU1MpICQoTVVMVElCWVRFKQogbGliNTI1X0xEQUREID0gJChURVNUVVRJTF9MSUJTKQogbGliNTI1X0NQUEZMQUdTID0gJChBTV9DUFBGTEFHUykKIApAQCAtMTY1LDcgKzE2OCw3IEBACiBsaWI1MjdfTERBREQgPSAkKFRFU1RVVElMX0xJQlMpCiBsaWI1MjdfQ1BQRkxBR1MgPSAkKEFNX0NQUEZMQUdTKSAtRExJQjUyNwogCi1saWI1MjlfU09VUkNFUyA9IGxpYjUyNS5jICQoU1VQUE9SVEZJTEVTKSAkKFRFU1RVVElMKSAkKFdBUk5MRVNTKQorbGliNTI5X1NPVVJDRVMgPSBsaWI1MjUuYyAkKFNVUFBPUlRGSUxFUykgJChURVNUVVRJTCkgJChXQVJOTEVTUykgJChNVUxUSUJZVEUpCiBsaWI1MjlfTERBREQgPSAkKFRFU1RVVElMX0xJQlMpCiBsaWI1MjlfQ1BQRkxBR1MgPSAkKEFNX0NQUEZMQUdTKSAtRExJQjUyOQogCkBAIC0xODEsNyArMTg0LDcgQEAKIGxpYjUzM19MREFERCA9ICQoVEVTVFVUSUxfTElCUykKIGxpYjUzM19DUFBGTEFHUyA9ICQoQU1fQ1BQRkxBR1MpCiAKLWxpYjUzN19TT1VSQ0VTID0gbGliNTM3LmMgJChTVVBQT1JURklMRVMpICQoV0FSTkxFU1MpCitsaWI1MzdfU09VUkNFUyA9IGxpYjUzNy5jICQoU1VQUE9SVEZJTEVTKSAkKFdBUk5MRVNTKSAkKE1VTFRJQllURSkKIGxpYjUzN19DUFBGTEFHUyA9ICQoQU1fQ1BQRkxBR1MpCiAKIGxpYjUzOV9TT1VSQ0VTID0gbGliNTM5LmMgJChTVVBQT1JURklMRVMpCkBAIC0xOTEsNyArMTk0LDcgQEAKIGxpYjU0MF9MREFERCA9ICQoVEVTVFVUSUxfTElCUykKIGxpYjU0MF9DUFBGTEFHUyA9ICQoQU1fQ1BQRkxBR1MpCiAKLWxpYjU0MV9TT1VSQ0VTID0gbGliNTQxLmMgJChTVVBQT1JURklMRVMpCitsaWI1NDFfU09VUkNFUyA9IGxpYjU0MS5jICQoU1VQUE9SVEZJTEVTKSAkKE1VTFRJQllURSkKIGxpYjU0MV9DUFBGTEFHUyA9ICQoQU1fQ1BQRkxBR1MpCiAKIGxpYjU0Ml9TT1VSQ0VTID0gbGliNTQyLmMgJChTVVBQT1JURklMRVMpCkBAIC0yNTQsMjUgKzI1NywyNSBAQAogbGliNTY1X1NPVVJDRVMgPSBsaWI1MTAuYyAkKFNVUFBPUlRGSUxFUykKIGxpYjU2NV9DUFBGTEFHUyA9ICQoQU1fQ1BQRkxBR1MpIC1ETElCNTY1CiAKLWxpYjU2Nl9TT1VSQ0VTID0gbGliNTY2LmMgJChTVVBQT1JURklMRVMpCitsaWI1NjZfU09VUkNFUyA9IGxpYjU2Ni5jICQoU1VQUE9SVEZJTEVTKSAkKE1VTFRJQllURSkKIGxpYjU2Nl9DUFBGTEFHUyA9ICQoQU1fQ1BQRkxBR1MpCiAKIGxpYjU2N19TT1VSQ0VTID0gbGliNTY3LmMgJChTVVBQT1JURklMRVMpCiBsaWI1NjdfQ1BQRkxBR1MgPSAkKEFNX0NQUEZMQUdTKQogCi1saWI1NjhfU09VUkNFUyA9IGxpYjU2OC5jICQoU1VQUE9SVEZJTEVTKQorbGliNTY4X1NPVVJDRVMgPSBsaWI1NjguYyAkKFNVUFBPUlRGSUxFUykgJChNVUxUSUJZVEUpCiBsaWI1NjhfQ1BQRkxBR1MgPSAkKEFNX0NQUEZMQUdTKQogCi1saWI1NjlfU09VUkNFUyA9IGxpYjU2OS5jICQoU1VQUE9SVEZJTEVTKQorbGliNTY5X1NPVVJDRVMgPSBsaWI1NjkuYyAkKFNVUFBPUlRGSUxFUykgJChNVUxUSUJZVEUpCiBsaWI1NjlfQ1BQRkxBR1MgPSAkKEFNX0NQUEZMQUdTKQogCiBsaWI1NzBfU09VUkNFUyA9IGxpYjU3MC5jICQoU1VQUE9SVEZJTEVTKQogbGliNTcwX0NQUEZMQUdTID0gJChBTV9DUFBGTEFHUykKIAotbGliNTcxX1NPVVJDRVMgPSBsaWI1NzEuYyAkKFNVUFBPUlRGSUxFUykgJChXQVJOTEVTUykKK2xpYjU3MV9TT1VSQ0VTID0gbGliNTcxLmMgJChTVVBQT1JURklMRVMpICQoV0FSTkxFU1MpICQoTVVMVElCWVRFKQogbGliNTcxX0NQUEZMQUdTID0gJChBTV9DUFBGTEFHUykKIAotbGliNTcyX1NPVVJDRVMgPSBsaWI1NzIuYyAkKFNVUFBPUlRGSUxFUykKK2xpYjU3Ml9TT1VSQ0VTID0gbGliNTcyLmMgJChTVVBQT1JURklMRVMpICQoTVVMVElCWVRFKQogbGliNTcyX0NQUEZMQUdTID0gJChBTV9DUFBGTEFHUykKIAogbGliNTczX1NPVVJDRVMgPSBsaWI1NzMuYyAkKFNVUFBPUlRGSUxFUykgJChURVNUVVRJTCkgJChXQVJOTEVTUykgJChUU1RUUkFDRSkKQEAgLTI4OSwyMCArMjkyLDIwIEBACiBsaWI1NzZfU09VUkNFUyA9IGxpYjU3Ni5jICQoU1VQUE9SVEZJTEVTKQogbGliNTc2X0NQUEZMQUdTID0gJChBTV9DUFBGTEFHUykKIAotbGliNTc4X1NPVVJDRVMgPSBsaWI1NzguYyAkKFNVUFBPUlRGSUxFUykKK2xpYjU3OF9TT1VSQ0VTID0gbGliNTc4LmMgJChTVVBQT1JURklMRVMpICQoTVVMVElCWVRFKQogbGliNTc4X0NQUEZMQUdTID0gJChBTV9DUFBGTEFHUykKIAotbGliNTc5X1NPVVJDRVMgPSBsaWI1NzkuYyAkKFNVUFBPUlRGSUxFUykKK2xpYjU3OV9TT1VSQ0VTID0gbGliNTc5LmMgJChTVVBQT1JURklMRVMpICQoTVVMVElCWVRFKQogbGliNTc5X0NQUEZMQUdTID0gJChBTV9DUFBGTEFHUykKIAotbGliNTgyX1NPVVJDRVMgPSBsaWI1ODIuYyAkKFNVUFBPUlRGSUxFUykgJChURVNUVVRJTCkgJChXQVJOTEVTUykKK2xpYjU4Ml9TT1VSQ0VTID0gbGliNTgyLmMgJChTVVBQT1JURklMRVMpICQoVEVTVFVUSUwpICQoV0FSTkxFU1MpICQoTVVMVElCWVRFKQogbGliNTgyX0xEQUREID0gJChURVNUVVRJTF9MSUJTKQogbGliNTgyX0NQUEZMQUdTID0gJChBTV9DUFBGTEFHUykKIAogbGliNTgzX1NPVVJDRVMgPSBsaWI1ODMuYyAkKFNVUFBPUlRGSUxFUykKIGxpYjU4M19DUFBGTEFHUyA9ICQoQU1fQ1BQRkxBR1MpCiAKLWxpYjU4NV9TT1VSQ0VTID0gbGliNTAwLmMgJChTVVBQT1JURklMRVMpICQoVEVTVFVUSUwpICQoVFNUVFJBQ0UpCitsaWI1ODVfU09VUkNFUyA9IGxpYjUwMC5jICQoU1VQUE9SVEZJTEVTKSAkKFRFU1RVVElMKSAkKFRTVFRSQUNFKSAkKE1VTFRJQllURSkKIGxpYjU4NV9MREFERCA9ICQoVEVTVFVUSUxfTElCUykKIGxpYjU4NV9DUFBGTEFHUyA9ICQoQU1fQ1BQRkxBR1MpIC1ETElCNTg1CiAKQEAgLTMxOCw3ICszMjEsNyBAQAogbGliNTkwX1NPVVJDRVMgPSBsaWI1OTAuYyAkKFNVUFBPUlRGSUxFUykKIGxpYjU5MF9DUFBGTEFHUyA9ICQoQU1fQ1BQRkxBR1MpCiAKLWxpYjU5MV9TT1VSQ0VTID0gbGliNTkxLmMgJChTVVBQT1JURklMRVMpICQoVEVTVFVUSUwpICQoV0FSTkxFU1MpCitsaWI1OTFfU09VUkNFUyA9IGxpYjU5MS5jICQoU1VQUE9SVEZJTEVTKSAkKFRFU1RVVElMKSAkKFdBUk5MRVNTKSAkKE1VTFRJQllURSkKIGxpYjU5MV9MREFERCA9ICQoVEVTVFVUSUxfTElCUykKIGxpYjU5MV9DUFBGTEFHUyA9ICQoQU1fQ1BQRkxBR1MpCiAKQEAgLTMyOSw3ICszMzIsNyBAQAogbGliNTk4X1NPVVJDRVMgPSBsaWI1OTguYyAkKFNVUFBPUlRGSUxFUykKIGxpYjU5OF9DUFBGTEFHUyA9ICQoQU1fQ1BQRkxBR1MpCiAKLWxpYjU5OV9TT1VSQ0VTID0gbGliNTk5LmMgJChTVVBQT1JURklMRVMpCitsaWI1OTlfU09VUkNFUyA9IGxpYjU5OS5jICQoU1VQUE9SVEZJTEVTKSAkKE1VTFRJQllURSkKIGxpYjU5OV9DUFBGTEFHUyA9ICQoQU1fQ1BQRkxBR1MpCiAKIGxpYjY0M19TT1VSQ0VTID0gbGliNjQzLmMgJChTVVBQT1JURklMRVMpCkBAIC01MzksNiArNTQyLDEwIEBACiBsaWIxNTM4X0xEQUREID0gJChURVNUVVRJTF9MSUJTKQogbGliMTUzOF9DUFBGTEFHUyA9ICQoQU1fQ1BQRkxBR1MpCiAKK2xpYjE1MzlfU09VUkNFUyA9IGxpYjE1MTQuYyAkKFNVUFBPUlRGSUxFUykgJChURVNUVVRJTCkgJChXQVJOTEVTUykKK2xpYjE1MzlfTERBREQgPSAkKFRFU1RVVElMX0xJQlMpCitsaWIxNTM5X0NQUEZMQUdTID0gJChBTV9DUFBGTEFHUykgLURMSUIxNTM5CisKIGxpYjE1NDBfU09VUkNFUyA9IGxpYjE1NDAuYyAkKFNVUFBPUlRGSUxFUykgJChURVNUVVRJTCkgJChXQVJOTEVTUykKIGxpYjE1NDBfTERBREQgPSAkKFRFU1RVVElMX0xJQlMpCiBsaWIxNTQwX0NQUEZMQUdTID0gJChBTV9DUFBGTEFHUykKQEAgLTYxMSw3ICs2MTgsNyBAQAogbGliMTU5Nl9MREFERCA9ICQoVEVTVFVUSUxfTElCUykKIGxpYjE1OTZfQ1BQRkxBR1MgPSAkKEFNX0NQUEZMQUdTKSAtRExJQjE1OTYKIAotbGliMTkwMF9TT1VSQ0VTID0gbGliMTkwMC5jICQoU1VQUE9SVEZJTEVTKSAkKFRFU1RVVElMKSAkKFdBUk5MRVNTKQorbGliMTkwMF9TT1VSQ0VTID0gbGliMTkwMC5jICQoU1VQUE9SVEZJTEVTKSAkKFRFU1RVVElMKSAkKFdBUk5MRVNTKSAkKE1VTFRJQllURSkKIGxpYjE5MDBfTERBREQgPSAkKFRFU1RVVElMX0xJQlMpCiBsaWIxOTAwX0NQUEZMQUdTID0gJChBTV9DUFBGTEFHUykKIApAQCAtNjMxLDYgKzYzOCwxMCBAQAogbGliMTkwOF9MREFERCA9ICQoVEVTVFVUSUxfTElCUykKIGxpYjE5MDhfQ1BQRkxBR1MgPSAkKEFNX0NQUEZMQUdTKQogCitsaWIxOTEwX1NPVVJDRVMgPSBsaWIxOTEwLmMgJChTVVBQT1JURklMRVMpICQoVEVTVFVUSUwpICQoV0FSTkxFU1MpCitsaWIxOTEwX0xEQUREID0gJChURVNUVVRJTF9MSUJTKQorbGliMTkxMF9DUFBGTEFHUyA9ICQoQU1fQ1BQRkxBR1MpCisKIGxpYjIwMzNfU09VUkNFUyA9IGxpYm50bG1jb25uZWN0LmMgJChTVVBQT1JURklMRVMpICQoVEVTVFVUSUwpICQoV0FSTkxFU1MpCiBsaWIyMDMzX0xEQUREID0gJChURVNUVVRJTF9MSUJTKQogbGliMjAzM19DUFBGTEFHUyA9ICQoQU1fQ1BQRkxBR1MpIC1EVVNFX1BJUEVMSU5JTkcKZGlmZiAtLWdpdCBhL3Rlc3RzL2xpYnRlc3QvbGliMTE1Ni5jIGIvdGVzdHMvbGlidGVzdC9saWIxMTU2LmMKaW5kZXggZGY2MDYyYy4uZmY5NGQ5YyAxMDA2NDQKLS0tIGEvdGVzdHMvbGlidGVzdC9saWIxMTU2LmMKKysrIGIvdGVzdHMvbGlidGVzdC9saWIxMTU2LmMKQEAgLTUsNyArNSw3IEBACiAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICB8IChfX3wgfF98IHwgIF8gPHwgfF9fXwogICogICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxfX198XF9fXy98X3wgXF9cX19fX198CiAgKgotICogQ29weXJpZ2h0IChDKSAxOTk4IC0gMjAxOSwgRGFuaWVsIFN0ZW5iZXJnLCA8ZGFuaWVsQGhheHguc2U+LCBldCBhbC4KKyAqIENvcHlyaWdodCAoQykgMTk5OCAtIDIwMjAsIERhbmllbCBTdGVuYmVyZywgPGRhbmllbEBoYXh4LnNlPiwgZXQgYWwuCiAgKgogICogVGhpcyBzb2Z0d2FyZSBpcyBsaWNlbnNlZCBhcyBkZXNjcmliZWQgaW4gdGhlIGZpbGUgQ09QWUlORywgd2hpY2gKICAqIHlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhcyBwYXJ0IG9mIHRoaXMgZGlzdHJpYnV0aW9uLiBUaGUgdGVybXMKQEAgLTQwLDEyICs0MCwxMiBAQAogI2RlZmluZSBGX0NPTlRFTlRSQU5HRSAgKDEgPDwgMykgICAgICAgIC8qIFNlcnZlciBzZW5kcyBjb250ZW50LXJhbmdlIGhkci4gKi8KICNkZWZpbmUgRl9JR05PUkVCT0RZICAgICgxIDw8IDQpICAgICAgICAvKiBCb2R5IHNob3VsZCBiZSBpZ25vcmVkLiAqLwogCi10eXBlZGVmIHN0cnVjdCB7CitzdHJ1Y3QgdGVzdHBhcmFtcyB7CiAgIHVuc2lnbmVkIGludCBmbGFnczsgLyogT1JlZCBmbGFncyBhcyBhYm92ZS4gKi8KICAgQ1VSTGNvZGUgcmVzdWx0OyAvKiBDb2RlIHRoYXQgc2hvdWxkIGJlIHJldHVybmVkIGJ5IGN1cmxfZWFzeV9wZXJmb3JtKCkuICovCi19ICB0ZXN0cGFyYW1zOworfTsKIAotc3RhdGljIGNvbnN0IHRlc3RwYXJhbXMgcGFyYW1zW10gPSB7CitzdGF0aWMgY29uc3Qgc3RydWN0IHRlc3RwYXJhbXMgcGFyYW1zW10gPSB7CiAgIHsgMCwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQ1VSTEVfT0sgfSwKICAgeyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEZfQ09OVEVOVFJBTkdFLCAgICAgICAgICAgICAgICBDVVJMRV9PSyB9LAogICB7ICAgICAgICAgICAgICAgICAgICAgICAgRl9GQUlMLCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIENVUkxFX09LIH0sCkBAIC04Miw3ICs4Miw3IEBACiAgIHJldHVybiBzaXplICogbm1lbWI7CiB9CiAKLXN0YXRpYyBpbnQgb25ldGVzdChDVVJMICpjdXJsLCBjb25zdCBjaGFyICp1cmwsIGNvbnN0IHRlc3RwYXJhbXMgKnApCitzdGF0aWMgaW50IG9uZXRlc3QoQ1VSTCAqY3VybCwgY29uc3QgY2hhciAqdXJsLCBjb25zdCBzdHJ1Y3QgdGVzdHBhcmFtcyAqcCkKIHsKICAgQ1VSTGNvZGUgcmVzOwogICB1bnNpZ25lZCBpbnQgcmVwbHlzZWxlY3RvcjsKZGlmZiAtLWdpdCBhL3Rlc3RzL2xpYnRlc3QvbGliMTUxNC5jIGIvdGVzdHMvbGlidGVzdC9saWIxNTE0LmMKaW5kZXggZDAxYTVkNC4uZGQ4NGQxMCAxMDA2NDQKLS0tIGEvdGVzdHMvbGlidGVzdC9saWIxNTE0LmMKKysrIGIvdGVzdHMvbGlidGVzdC9saWIxNTE0LmMKQEAgLTY4LDYgKzY4LDEwIEBACiAgIC8qIFB1cnBvc2VseSBvbWl0IHRvIHNldCBDVVJMT1BUX1BPU1RGSUVMRFNJWkUgKi8KICAgZWFzeV9zZXRvcHQoY3VybCwgQ1VSTE9QVF9SRUFERlVOQ1RJT04sIHJlYWRfY2FsbGJhY2spOwogICBlYXN5X3NldG9wdChjdXJsLCBDVVJMT1BUX1JFQUREQVRBLCAmcG9vaCk7CisjaWZkZWYgTElCMTUzOQorICAvKiBzcGVhayBIVFRQIDEuMCAtIG5vIGNodW5rZWQhICovCisgIGVhc3lfc2V0b3B0KGN1cmwsIENVUkxPUFRfSFRUUF9WRVJTSU9OLCBDVVJMX0hUVFBfVkVSU0lPTl8xXzApOworI2VuZGlmCiAKICAgcmVzdWx0ID0gY3VybF9lYXN5X3BlcmZvcm0oY3VybCk7CiAKZGlmZiAtLWdpdCBhL3Rlc3RzL2xpYnRlc3QvbGliMTU2MC5jIGIvdGVzdHMvbGlidGVzdC9saWIxNTYwLmMKaW5kZXggZmJlNjQyYy4uZDE1ODUzNCAxMDA2NDQKLS0tIGEvdGVzdHMvbGlidGVzdC9saWIxNTYwLmMKKysrIGIvdGVzdHMvbGlidGVzdC9saWIxNTYwLmMKQEAgLTEyOSwxMyArMTI5LDIyIEBACiB9OwogCiBzdGF0aWMgc3RydWN0IHRlc3RjYXNlIGdldF9wYXJ0c19saXN0W10gPXsKLSAgeyJ1c2VyOm1vb0BmdHAuZXhhbXBsZS5jb20vY29sb3IvI2dyZWVuP25vLWJsYWNrIiwKLSAgICJmdHAgfCB1c2VyIHwgbW9vIHwgWzEzXSB8IGZ0cC5leGFtcGxlLmNvbSB8IFsxNV0gfCAvY29sb3IvIHwgWzE2XSB8ICIKLSAgICJncmVlbj9uby1ibGFjayIsCisgIHsiWzo6MV0iLAorICAgImh0dHAgfCBbMTFdIHwgWzEyXSB8IFsxM10gfCBbOjoxXSB8IFsxNV0gfCAvIHwgWzE2XSB8IFsxN10iLAogICAgQ1VSTFVfR1VFU1NfU0NIRU1FLCAwLCBDVVJMVUVfT0sgfSwKLSAgeyJmdHAudXNlcjptb29AZXhhbXBsZS5jb20vY29sb3IvI2dyZWVuP25vLWJsYWNrIiwKKyAgeyJbOjpdIiwKKyAgICJodHRwIHwgWzExXSB8IFsxMl0gfCBbMTNdIHwgWzo6XSB8IFsxNV0gfCAvIHwgWzE2XSB8IFsxN10iLAorICAgQ1VSTFVfR1VFU1NfU0NIRU1FLCAwLCBDVVJMVUVfT0sgfSwKKyAgeyJodHRwczovL1s6OjFdIiwKKyAgICJodHRwcyB8IFsxMV0gfCBbMTJdIHwgWzEzXSB8IFs6OjFdIHwgWzE1XSB8IC8gfCBbMTZdIHwgWzE3XSIsCisgICAwLCAwLCBDVVJMVUVfT0sgfSwKKyAgeyJ1c2VyOm1vb0BmdHAuZXhhbXBsZS5jb20vY29sb3IvI2dyZWVuP25vLXJlZCIsCisgICAiZnRwIHwgdXNlciB8IG1vbyB8IFsxM10gfCBmdHAuZXhhbXBsZS5jb20gfCBbMTVdIHwgL2NvbG9yLyB8IFsxNl0gfCAiCisgICAiZ3JlZW4/bm8tcmVkIiwKKyAgIENVUkxVX0dVRVNTX1NDSEVNRSwgMCwgQ1VSTFVFX09LIH0sCisgIHsiZnRwLnVzZXI6bW9vQGV4YW1wbGUuY29tL2NvbG9yLyNncmVlbj9uby1yZWQiLAogICAgImh0dHAgfCBmdHAudXNlciB8IG1vbyB8IFsxM10gfCBleGFtcGxlLmNvbSB8IFsxNV0gfCAvY29sb3IvIHwgWzE2XSB8ICIKLSAgICJncmVlbj9uby1ibGFjayIsCisgICAiZ3JlZW4/bm8tcmVkIiwKICAgIENVUkxVX0dVRVNTX1NDSEVNRSwgMCwgQ1VSTFVFX09LIH0sCiAjaWZkZWYgV0lOMzIKICAgeyJmaWxlOi9DOlxccHJvZ3JhbXNcXGZvbyIsCkBAIC0xNDgsMjUgKzE1NywyNSBAQAogICAgImZpbGUgfCBbMTFdIHwgWzEyXSB8IFsxM10gfCBbMTRdIHwgWzE1XSB8IEM6XFxwcm9ncmFtc1xcZm9vIHwgWzE2XSB8IFsxN10iLAogICAgQ1VSTFVfREVGQVVMVF9TQ0hFTUUsIDAsIENVUkxVRV9PS30sCiAjZW5kaWYKLSAgeyJodHRwczovL2V4YW1wbGUuY29tL2NvbG9yLyNncmVlbj9uby1ibGFjayIsCisgIHsiaHR0cHM6Ly9leGFtcGxlLmNvbS9jb2xvci8jZ3JlZW4/bm8tcmVkIiwKICAgICJodHRwcyB8IFsxMV0gfCBbMTJdIHwgWzEzXSB8IGV4YW1wbGUuY29tIHwgWzE1XSB8IC9jb2xvci8gfCBbMTZdIHwgIgotICAgImdyZWVuP25vLWJsYWNrIiwKKyAgICJncmVlbj9uby1yZWQiLAogICAgQ1VSTFVfREVGQVVMVF9TQ0hFTUUsIDAsIENVUkxVRV9PSyB9LAotICB7Imh0dHBzOi8vZXhhbXBsZS5jb20vY29sb3IvI2dyZWVuI25vLWJsYWNrIiwKKyAgeyJodHRwczovL2V4YW1wbGUuY29tL2NvbG9yLyNncmVlbiNuby1yZWQiLAogICAgImh0dHBzIHwgWzExXSB8IFsxMl0gfCBbMTNdIHwgZXhhbXBsZS5jb20gfCBbMTVdIHwgL2NvbG9yLyB8IFsxNl0gfCAiCi0gICAiZ3JlZW4jbm8tYmxhY2siLAorICAgImdyZWVuI25vLXJlZCIsCiAgICBDVVJMVV9ERUZBVUxUX1NDSEVNRSwgMCwgQ1VSTFVFX09LIH0sCi0gIHsiaHR0cHM6Ly9leGFtcGxlLmNvbS9jb2xvci8/Z3JlZW4jbm8tYmxhY2siLAorICB7Imh0dHBzOi8vZXhhbXBsZS5jb20vY29sb3IvP2dyZWVuI25vLXJlZCIsCiAgICAiaHR0cHMgfCBbMTFdIHwgWzEyXSB8IFsxM10gfCBleGFtcGxlLmNvbSB8IFsxNV0gfCAvY29sb3IvIHwgZ3JlZW4gfCAiCi0gICAibm8tYmxhY2siLAorICAgIm5vLXJlZCIsCiAgICBDVVJMVV9ERUZBVUxUX1NDSEVNRSwgMCwgQ1VSTFVFX09LIH0sCi0gIHsiaHR0cHM6Ly9leGFtcGxlLmNvbS8jY29sb3IvP2dyZWVuI25vLWJsYWNrIiwKKyAgeyJodHRwczovL2V4YW1wbGUuY29tLyNjb2xvci8/Z3JlZW4jbm8tcmVkIiwKICAgICJodHRwcyB8IFsxMV0gfCBbMTJdIHwgWzEzXSB8IGV4YW1wbGUuY29tIHwgWzE1XSB8IC8gfCBbMTZdIHwgIgotICAgImNvbG9yLz9ncmVlbiNuby1ibGFjayIsCisgICAiY29sb3IvP2dyZWVuI25vLXJlZCIsCiAgICBDVVJMVV9ERUZBVUxUX1NDSEVNRSwgMCwgQ1VSTFVFX09LIH0sCi0gIHsiaHR0cHM6Ly9leGFtcGxlLiNjb20vY29sb3IvP2dyZWVuI25vLWJsYWNrIiwKKyAgeyJodHRwczovL2V4YW1wbGUuI2NvbS9jb2xvci8/Z3JlZW4jbm8tcmVkIiwKICAgICJodHRwcyB8IFsxMV0gfCBbMTJdIHwgWzEzXSB8IGV4YW1wbGUuIHwgWzE1XSB8IC8gfCBbMTZdIHwgIgotICAgImNvbS9jb2xvci8/Z3JlZW4jbm8tYmxhY2siLAorICAgImNvbS9jb2xvci8/Z3JlZW4jbm8tcmVkIiwKICAgIENVUkxVX0RFRkFVTFRfU0NIRU1FLCAwLCBDVVJMVUVfT0sgfSwKICAgeyJodHRwOi8vW2FiLmJlOjFdL3giLCAiIiwKICAgIENVUkxVX0RFRkFVTFRfU0NIRU1FLCAwLCBDVVJMVUVfTUFMRk9STUVEX0lOUFVUfSwKZGlmZiAtLWdpdCBhL3Rlc3RzL2xpYnRlc3QvbGliMTkwMC5jIGIvdGVzdHMvbGlidGVzdC9saWIxOTAwLmMKaW5kZXggMmE3MGY4ZS4uZmQ3ZTViYyAxMDA2NDQKLS0tIGEvdGVzdHMvbGlidGVzdC9saWIxOTAwLmMKKysrIGIvdGVzdHMvbGlidGVzdC9saWIxOTAwLmMKQEAgLTUsNyArNSw3IEBACiAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICB8IChfX3wgfF98IHwgIF8gPHwgfF9fXwogICogICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxfX198XF9fXy98X3wgXF9cX19fX198CiAgKgotICogQ29weXJpZ2h0IChDKSAyMDEzIC0gMjAxOSwgTGludXMgTmllbHNlbiBGZWx0emluZywgPGxpbnVzQGhheHguc2U+CisgKiBDb3B5cmlnaHQgKEMpIDIwMTMgLSAyMDIwLCBMaW51cyBOaWVsc2VuIEZlbHR6aW5nLCA8bGludXNAaGF4eC5zZT4KICAqCiAgKiBUaGlzIHNvZnR3YXJlIGlzIGxpY2Vuc2VkIGFzIGRlc2NyaWJlZCBpbiB0aGUgZmlsZSBDT1BZSU5HLCB3aGljaAogICogeW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGFzIHBhcnQgb2YgdGhpcyBkaXN0cmlidXRpb24uIFRoZSB0ZXJtcwpAQCAtMjcsMTYgKzI3LDE2IEBACiAKICNkZWZpbmUgVEVTVF9IQU5HX1RJTUVPVVQgNjAgKiAxMDAwCiAjZGVmaW5lIE1BWF9VUkxTIDIwMAotI2RlZmluZSBNQVhfQkxBQ0tMSVNUIDIwCisjZGVmaW5lIE1BWF9CTE9DS0xJU1QgMjAKIAogc3RhdGljIGludCB1cmx0aW1lW01BWF9VUkxTXTsKIHN0YXRpYyBjaGFyICp1cmxzdHJpbmdbTUFYX1VSTFNdOwogc3RhdGljIENVUkwgKmhhbmRsZXNbTUFYX1VSTFNdOwotc3RhdGljIGNoYXIgKnNpdGVfYmxhY2tsaXN0W01BWF9CTEFDS0xJU1RdOwotc3RhdGljIGNoYXIgKnNlcnZlcl9ibGFja2xpc3RbTUFYX0JMQUNLTElTVF07CitzdGF0aWMgY2hhciAqc2l0ZV9ibG9ja2xpc3RbTUFYX0JMT0NLTElTVF07CitzdGF0aWMgY2hhciAqc2VydmVyX2Jsb2NrbGlzdFtNQVhfQkxPQ0tMSVNUXTsKIHN0YXRpYyBpbnQgbnVtX2hhbmRsZXM7Ci1zdGF0aWMgaW50IGJsYWNrbGlzdF9udW1fc2VydmVyczsKLXN0YXRpYyBpbnQgYmxhY2tsaXN0X251bV9zaXRlczsKK3N0YXRpYyBpbnQgYmxvY2tsaXN0X251bV9zZXJ2ZXJzOworc3RhdGljIGludCBibG9ja2xpc3RfbnVtX3NpdGVzOwogCiBzdGF0aWMgc2l6ZV90CiB3cml0ZV9jYWxsYmFjayh2b2lkICpjb250ZW50cywgc2l6ZV90IHNpemUsIHNpemVfdCBubWVtYiwgdm9pZCAqdXNlcnApCkBAIC01NSw4ICs1NSw4IEBACiAgIGNoYXIgYnVmWzIwMF07CiAKICAgbnVtX2hhbmRsZXMgPSAwOwotICBibGFja2xpc3RfbnVtX3NpdGVzID0gMDsKLSAgYmxhY2tsaXN0X251bV9zZXJ2ZXJzID0gMDsKKyAgYmxvY2tsaXN0X251bV9zaXRlcyA9IDA7CisgIGJsb2NrbGlzdF9udW1fc2VydmVycyA9IDA7CiAKICAgZiA9IGZvcGVuKGZpbGVuYW1lLCAicmIiKTsKICAgaWYoIWYpCkBAIC03MCw5ICs3MCw5IEBACiAgICAgICBjb250aW51ZTsKICAgICB9CiAKLSAgICBpZihmc2NhbmYoZiwgImJsYWNrbGlzdF9zaXRlICUxOTlzXG4iLCBidWYpKSB7Ci0gICAgICBzaXRlX2JsYWNrbGlzdFtibGFja2xpc3RfbnVtX3NpdGVzXSA9IHN0cmR1cChidWYpOwotICAgICAgYmxhY2tsaXN0X251bV9zaXRlcysrOworICAgIGlmKGZzY2FuZihmLCAiYmxvY2tsaXN0X3NpdGUgJTE5OXNcbiIsIGJ1ZikpIHsKKyAgICAgIHNpdGVfYmxvY2tsaXN0W2Jsb2NrbGlzdF9udW1fc2l0ZXNdID0gc3RyZHVwKGJ1Zik7CisgICAgICBibG9ja2xpc3RfbnVtX3NpdGVzKys7CiAgICAgICBjb250aW51ZTsKICAgICB9CiAKQEAgLTgwLDggKzgwLDggQEAKICAgfQogICBmY2xvc2UoZik7CiAKLSAgc2l0ZV9ibGFja2xpc3RbYmxhY2tsaXN0X251bV9zaXRlc10gPSBOVUxMOwotICBzZXJ2ZXJfYmxhY2tsaXN0W2JsYWNrbGlzdF9udW1fc2VydmVyc10gPSBOVUxMOworICBzaXRlX2Jsb2NrbGlzdFtibG9ja2xpc3RfbnVtX3NpdGVzXSA9IE5VTEw7CisgIHNlcnZlcl9ibG9ja2xpc3RbYmxvY2tsaXN0X251bV9zZXJ2ZXJzXSA9IE5VTEw7CiAgIHJldHVybiBudW1faGFuZGxlczsKIH0KIApAQCAtOTEsMTEgKzkxLDExIEBACiAgIGZvcihpID0gMDsgaSA8IG51bV9oYW5kbGVzOyBpKyspIHsKICAgICBDdXJsX3NhZmVmcmVlKHVybHN0cmluZ1tpXSk7CiAgIH0KLSAgZm9yKGkgPSAwOyBpIDwgYmxhY2tsaXN0X251bV9zZXJ2ZXJzOyBpKyspIHsKLSAgICBDdXJsX3NhZmVmcmVlKHNlcnZlcl9ibGFja2xpc3RbaV0pOworICBmb3IoaSA9IDA7IGkgPCBibG9ja2xpc3RfbnVtX3NlcnZlcnM7IGkrKykgeworICAgIEN1cmxfc2FmZWZyZWUoc2VydmVyX2Jsb2NrbGlzdFtpXSk7CiAgIH0KLSAgZm9yKGkgPSAwOyBpIDwgYmxhY2tsaXN0X251bV9zaXRlczsgaSsrKSB7Ci0gICAgQ3VybF9zYWZlZnJlZShzaXRlX2JsYWNrbGlzdFtpXSk7CisgIGZvcihpID0gMDsgaSA8IGJsb2NrbGlzdF9udW1fc2l0ZXM7IGkrKykgeworICAgIEN1cmxfc2FmZWZyZWUoc2l0ZV9ibG9ja2xpc3RbaV0pOwogICB9CiB9CiAKQEAgLTE1OSw4ICsxNTksOCBAQAogICBtdWx0aV9zZXRvcHQobSwgQ1VSTE1PUFRfQ09OVEVOVF9MRU5HVEhfUEVOQUxUWV9TSVpFLCAxNTAwMEwpOwogICBtdWx0aV9zZXRvcHQobSwgQ1VSTE1PUFRfQ0hVTktfTEVOR1RIX1BFTkFMVFlfU0laRSwgMTAwMDBMKTsKIAotICBtdWx0aV9zZXRvcHQobSwgQ1VSTE1PUFRfUElQRUxJTklOR19TSVRFX0JMLCBzaXRlX2JsYWNrbGlzdCk7Ci0gIG11bHRpX3NldG9wdChtLCBDVVJMTU9QVF9QSVBFTElOSU5HX1NFUlZFUl9CTCwgc2VydmVyX2JsYWNrbGlzdCk7CisgIG11bHRpX3NldG9wdChtLCBDVVJMTU9QVF9QSVBFTElOSU5HX1NJVEVfQkwsIHNpdGVfYmxvY2tsaXN0KTsKKyAgbXVsdGlfc2V0b3B0KG0sIENVUkxNT1BUX1BJUEVMSU5JTkdfU0VSVkVSX0JMLCBzZXJ2ZXJfYmxvY2tsaXN0KTsKIAogICBsYXN0X2hhbmRsZV9hZGQgPSB0dXRpbF90dm5vdygpOwogCmRpZmYgLS1naXQgYS90ZXN0cy9saWJ0ZXN0L2xpYjE5MTAuYyBiL3Rlc3RzL2xpYnRlc3QvbGliMTkxMC5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjFlMjVkYjUKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9saWJ0ZXN0L2xpYjE5MTAuYwpAQCAtMCwwICsxLDQ3IEBACisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBfICAgXyBfX19fICBfCisgKiAgUHJvamVjdCAgICAgICAgICAgICAgICAgICAgIF9fX3wgfCB8IHwgIF8gXHwgfAorICogICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8gX198IHwgfCB8IHxfKSB8IHwKKyAqICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgKF9ffCB8X3wgfCAgXyA8fCB8X19fCisgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXF9fX3xcX19fL3xffCBcX1xfX19fX3wKKyAqCisgKiBDb3B5cmlnaHQgKEMpIDIwMTMgLSAyMDIwLCBMaW51cyBOaWVsc2VuIEZlbHR6aW5nLCA8bGludXNAaGF4eC5zZT4KKyAqCisgKiBUaGlzIHNvZnR3YXJlIGlzIGxpY2Vuc2VkIGFzIGRlc2NyaWJlZCBpbiB0aGUgZmlsZSBDT1BZSU5HLCB3aGljaAorICogeW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGFzIHBhcnQgb2YgdGhpcyBkaXN0cmlidXRpb24uIFRoZSB0ZXJtcworICogYXJlIGFsc28gYXZhaWxhYmxlIGF0IGh0dHBzOi8vY3VybC5oYXh4LnNlL2RvY3MvY29weXJpZ2h0Lmh0bWwuCisgKgorICogWW91IG1heSBvcHQgdG8gdXNlLCBjb3B5LCBtb2RpZnksIG1lcmdlLCBwdWJsaXNoLCBkaXN0cmlidXRlIGFuZC9vciBzZWxsCisgKiBjb3BpZXMgb2YgdGhlIFNvZnR3YXJlLCBhbmQgcGVybWl0IHBlcnNvbnMgdG8gd2hvbSB0aGUgU29mdHdhcmUgaXMKKyAqIGZ1cm5pc2hlZCB0byBkbyBzbywgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBDT1BZSU5HIGZpbGUuCisgKgorICogVGhpcyBzb2Z0d2FyZSBpcyBkaXN0cmlidXRlZCBvbiBhbiAiQVMgSVMiIGJhc2lzLCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFOWQorICogS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC4KKyAqCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworI2luY2x1ZGUgInRlc3QuaCIKKworI2luY2x1ZGUgInRlc3R1dGlsLmgiCisjaW5jbHVkZSAid2Fybmxlc3MuaCIKKyNpbmNsdWRlICJtZW1kZWJ1Zy5oIgorCitpbnQgdGVzdChjaGFyICpVUkwpCit7CisgIENVUkxjb2RlIHJldCA9IENVUkxFX09LOworICBDVVJMICpobmQ7CisgIHN0YXJ0X3Rlc3RfdGltaW5nKCk7CisKKyAgY3VybF9nbG9iYWxfaW5pdChDVVJMX0dMT0JBTF9BTEwpOworCisgIGhuZCA9IGN1cmxfZWFzeV9pbml0KCk7CisgIGlmKGhuZCkgeworICAgIGN1cmxfZWFzeV9zZXRvcHQoaG5kLCBDVVJMT1BUX1VSTCwgVVJMKTsKKyAgICBjdXJsX2Vhc3lfc2V0b3B0KGhuZCwgQ1VSTE9QVF9OT1BST0dSRVNTLCAxTCk7CisgICAgY3VybF9lYXN5X3NldG9wdChobmQsIENVUkxPUFRfRk9MTE9XTE9DQVRJT04sIDFMKTsKKyAgICBjdXJsX2Vhc3lfc2V0b3B0KGhuZCwgQ1VSTE9QVF9VU0VSUFdELCAidXNlclxubmFtZTpwYXNzXG53b3JkIik7CisgICAgcmV0ID0gY3VybF9lYXN5X3BlcmZvcm0oaG5kKTsKKyAgICBjdXJsX2Vhc3lfY2xlYW51cChobmQpOworICB9CisgIGN1cmxfZ2xvYmFsX2NsZWFudXAoKTsKKyAgcmV0dXJuIChpbnQpcmV0OworfQpkaWZmIC0tZ2l0IGEvdGVzdHMvbGlidGVzdC9saWI1MDkuYyBiL3Rlc3RzL2xpYnRlc3QvbGliNTA5LmMKaW5kZXggZThlODAzZi4uMWZiMmQzNCAxMDA2NDQKLS0tIGEvdGVzdHMvbGlidGVzdC9saWI1MDkuYworKysgYi90ZXN0cy9saWJ0ZXN0L2xpYjUwOS5jCkBAIC01LDcgKzUsNyBAQAogICogICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAoX198IHxffCB8ICBfIDx8IHxfX18KICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcX19ffFxfX18vfF98IFxfXF9fX19ffAogICoKLSAqIENvcHlyaWdodCAoQykgMTk5OCAtIDIwMTksIERhbmllbCBTdGVuYmVyZywgPGRhbmllbEBoYXh4LnNlPiwgZXQgYWwuCisgKiBDb3B5cmlnaHQgKEMpIDE5OTggLSAyMDIwLCBEYW5pZWwgU3RlbmJlcmcsIDxkYW5pZWxAaGF4eC5zZT4sIGV0IGFsLgogICoKICAqIFRoaXMgc29mdHdhcmUgaXMgbGljZW5zZWQgYXMgZGVzY3JpYmVkIGluIHRoZSBmaWxlIENPUFlJTkcsIHdoaWNoCiAgKiB5b3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYXMgcGFydCBvZiB0aGlzIGRpc3RyaWJ1dGlvbi4gVGhlIHRlcm1zCkBAIC0zNCw3MCArMzQsMzUgQEAKICAqIG1lbW9yeSBjYWxsYmFja3Mgd2hpY2ggc2hvdWxkIGJlIGNhbGxpbmcgJ3RoZSByZWFsIHRoaW5nJy4KICAqLwogCi0vKgotI2luY2x1ZGUgIm1lbWRlYnVnLmgiCi0qLworc3RhdGljIGludCBzZWVuOwogCi1zdGF0aWMgaW50IHNlZW5fbWFsbG9jID0gMDsKLXN0YXRpYyBpbnQgc2Vlbl9mcmVlID0gMDsKLXN0YXRpYyBpbnQgc2Vlbl9yZWFsbG9jID0gMDsKLXN0YXRpYyBpbnQgc2Vlbl9zdHJkdXAgPSAwOwotc3RhdGljIGludCBzZWVuX2NhbGxvYyA9IDA7Ci0KLXZvaWQgKmN1c3RvbV9tYWxsb2Moc2l6ZV90IHNpemUpOwotdm9pZCBjdXN0b21fZnJlZSh2b2lkICpwdHIpOwotdm9pZCAqY3VzdG9tX3JlYWxsb2Modm9pZCAqcHRyLCBzaXplX3Qgc2l6ZSk7Ci1jaGFyICpjdXN0b21fc3RyZHVwKGNvbnN0IGNoYXIgKnB0cik7Ci12b2lkICpjdXN0b21fY2FsbG9jKHNpemVfdCBubWVtYiwgc2l6ZV90IHNpemUpOwotCi0KLXZvaWQgKmN1c3RvbV9jYWxsb2Moc2l6ZV90IG5tZW1iLCBzaXplX3Qgc2l6ZSkKK3N0YXRpYyB2b2lkICpjdXN0b21fY2FsbG9jKHNpemVfdCBubWVtYiwgc2l6ZV90IHNpemUpCiB7Ci0gIGlmKCFzZWVuX2NhbGxvYykgewotICAgIHByaW50Zigic2VlbiBjdXN0b21fY2FsbG9jKClcbiIpOwotICAgIHNlZW5fY2FsbG9jID0gMTsKLSAgfQorICBzZWVuKys7CiAgIHJldHVybiAoY2FsbG9jKShubWVtYiwgc2l6ZSk7CiB9CiAKLXZvaWQgKmN1c3RvbV9tYWxsb2Moc2l6ZV90IHNpemUpCitzdGF0aWMgdm9pZCAqY3VzdG9tX21hbGxvYyhzaXplX3Qgc2l6ZSkKIHsKLSAgaWYoIXNlZW5fbWFsbG9jICYmIHNlZW5fY2FsbG9jKSB7Ci0gICAgcHJpbnRmKCJzZWVuIGN1c3RvbV9tYWxsb2MoKVxuIik7Ci0gICAgc2Vlbl9tYWxsb2MgPSAxOwotICB9CisgIHNlZW4rKzsKICAgcmV0dXJuIChtYWxsb2MpKHNpemUpOwogfQogCi1jaGFyICpjdXN0b21fc3RyZHVwKGNvbnN0IGNoYXIgKnB0cikKK3N0YXRpYyBjaGFyICpjdXN0b21fc3RyZHVwKGNvbnN0IGNoYXIgKnB0cikKIHsKLSAgaWYoIXNlZW5fc3RyZHVwICYmIHNlZW5fbWFsbG9jKSB7Ci0gICAgLyogY3VycmVudGx5ICgyMDEzLjAzLjEzKSwgbWVtb3J5IHRyYWNraW5nIGVuYWJsZWQgYnVpbGRzIGRvIG5vdCBjYWxsCi0gICAgICAgdGhlIHN0cmR1cCBjYWxsYmFjaywgaW4gdGhpcyBjYXNlIG1hbGxvYyBjYWxsYmFjayBhbmQgbWVtY3B5IGFyZSB1c2VkCi0gICAgICAgaW5zdGVhZC4gSWYgc29tZSBkYXkgdGhpcyBpcyBjaGFuZ2VkIHRoZSBmb2xsb3dpbmcgcHJpbnRmKCkgc2hvdWxkIGJlCi0gICAgICAgdW5jb21tZW50ZWQsIGFuZCBhIGxpbmUgYWRkZWQgdG8gdGVzdCBkZWZpbml0aW9uLgotICAgIHByaW50Zigic2VlbiBjdXN0b21fc3RyZHVwKClcbiIpOwotICAgICovCi0gICAgc2Vlbl9zdHJkdXAgPSAxOwotICB9CisgIHNlZW4rKzsKICAgcmV0dXJuIChzdHJkdXApKHB0cik7CiB9CiAKLXZvaWQgKmN1c3RvbV9yZWFsbG9jKHZvaWQgKnB0ciwgc2l6ZV90IHNpemUpCitzdGF0aWMgdm9pZCAqY3VzdG9tX3JlYWxsb2Modm9pZCAqcHRyLCBzaXplX3Qgc2l6ZSkKIHsKLSAgaWYoIXNlZW5fcmVhbGxvYyAmJiBzZWVuX21hbGxvYykgewotICAgIHByaW50Zigic2VlbiBjdXN0b21fcmVhbGxvYygpXG4iKTsKLSAgICBzZWVuX3JlYWxsb2MgPSAxOwotICB9CisgIHNlZW4rKzsKICAgcmV0dXJuIChyZWFsbG9jKShwdHIsIHNpemUpOwogfQogCi12b2lkIGN1c3RvbV9mcmVlKHZvaWQgKnB0cikKK3N0YXRpYyB2b2lkIGN1c3RvbV9mcmVlKHZvaWQgKnB0cikKIHsKLSAgaWYoIXNlZW5fZnJlZSAmJiBzZWVuX3JlYWxsb2MpIHsKLSAgICBwcmludGYoInNlZW4gY3VzdG9tX2ZyZWUoKVxuIik7Ci0gICAgc2Vlbl9mcmVlID0gMTsKLSAgfQorICBzZWVuKys7CiAgIChmcmVlKShwdHIpOwogfQogCkBAIC0xMTAsNyArNzUsNiBAQAogICBDVVJMICpjdXJsOwogICBpbnQgYXNpemU7CiAgIGNoYXIgKnN0ciA9IE5VTEw7Ci0KICAgKHZvaWQpVVJMOwogCiAgIHJlcyA9IGN1cmxfZ2xvYmFsX2luaXRfbWVtKENVUkxfR0xPQkFMX0FMTCwKQEAgLTEzNiw2ICsxMDAsOSBAQAogICBhc2l6ZSA9IChpbnQpc2l6ZW9mKGEpOwogICBzdHIgPSBjdXJsX2Vhc3lfZXNjYXBlKGN1cmwsIChjaGFyICopYSwgYXNpemUpOyAvKiB1c2VzIHJlYWxsb2MoKSAqLwogCisgIGlmKHNlZW4pCisgICAgcHJpbnRmKCJDYWxsYmFja3Mgd2VyZSBpbnZva2VkIVxuIik7CisKIHRlc3RfY2xlYW51cDoKIAogICBpZihzdHIpCmRpZmYgLS1naXQgYS90ZXN0cy9saWJ0ZXN0L2xpYjU0My5jIGIvdGVzdHMvbGlidGVzdC9saWI1NDMuYwppbmRleCA1ZmU1Y2QxLi5jNDk0ZDNkIDEwMDY0NAotLS0gYS90ZXN0cy9saWJ0ZXN0L2xpYjU0My5jCisrKyBiL3Rlc3RzL2xpYnRlc3QvbGliNTQzLmMKQEAgLTQ5LDExICs0OSwyMSBAQAogCiAgIHMgPSBjdXJsX2Vhc3lfZXNjYXBlKGVhc3ksIChjb25zdCBjaGFyICopYSwgYXNpemUpOwogCi0gIGlmKHMpCisgIGlmKHMpIHsKICAgICBwcmludGYoIiVzXG4iLCBzKTsKLQotICBpZihzKQogICAgIGN1cmxfZnJlZShzKTsKKyAgfQorCisgIHMgPSBjdXJsX2Vhc3lfZXNjYXBlKGVhc3ksICIiLCAwKTsKKyAgaWYocykgeworICAgIHByaW50ZigiSU46ICcnIE9VVDogJyVzJ1xuIiwgcyk7CisgICAgY3VybF9mcmVlKHMpOworICB9CisgIHMgPSBjdXJsX2Vhc3lfZXNjYXBlKGVhc3ksICIgMTIzIiwgMyk7CisgIGlmKHMpIHsKKyAgICBwcmludGYoIklOOiAnIDEyJyBPVVQ6ICclcydcbiIsIHMpOworICAgIGN1cmxfZnJlZShzKTsKKyAgfQogCiAgIGN1cmxfZWFzeV9jbGVhbnVwKGVhc3kpOwogICBjdXJsX2dsb2JhbF9jbGVhbnVwKCk7CmRpZmYgLS1naXQgYS90ZXN0cy9saWJ0ZXN0L2xpYjU0Ny5jIGIvdGVzdHMvbGlidGVzdC9saWI1NDcuYwppbmRleCA4NWU4ZTBjLi4xNDE2Zjg5IDEwMDY0NAotLS0gYS90ZXN0cy9saWJ0ZXN0L2xpYjU0Ny5jCisrKyBiL3Rlc3RzL2xpYnRlc3QvbGliNTQ3LmMKQEAgLTEwMSw3ICsxMDEsNyBAQAogICB0ZXN0X3NldG9wdChjdXJsLCBDVVJMT1BUX1ZFUkJPU0UsIDFMKTsKICAgdGVzdF9zZXRvcHQoY3VybCwgQ1VSTE9QVF9IRUFERVIsIDFMKTsKICNpZmRlZiBMSUI1NDgKLSAgLyogc2V0IHRoZSBkYXRhIHRvIFBPU1Qgd2l0aCBhIG1lcmUgcG9pbnRlciB0byBhIHplcm8tdGVybWluYXRlZCBzdHJpbmcgKi8KKyAgLyogc2V0IHRoZSBkYXRhIHRvIFBPU1Qgd2l0aCBhIG1lcmUgcG9pbnRlciB0byBhIG51bGwtdGVybWluYXRlZCBzdHJpbmcgKi8KICAgdGVzdF9zZXRvcHQoY3VybCwgQ1VSTE9QVF9QT1NURklFTERTLCBVUExPQURUSElTKTsKICNlbHNlCiAgIC8qIDU0NyBzdHlsZSwgd2hpY2ggbWVhbnMgcmVhZGluZyB0aGUgUE9TVCBkYXRhIGZyb20gYSBjYWxsYmFjayAqLwpkaWZmIC0tZ2l0IGEvdGVzdHMvbGlidGVzdC9saWI1NTMuYyBiL3Rlc3RzL2xpYnRlc3QvbGliNTUzLmMKaW5kZXggOTViNWFjMy4uMDE1YmYyOSAxMDA2NDQKLS0tIGEvdGVzdHMvbGlidGVzdC9saWI1NTMuYworKysgYi90ZXN0cy9saWJ0ZXN0L2xpYjU1My5jCkBAIC01LDcgKzUsNyBAQAogICogICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAoX198IHxffCB8ICBfIDx8IHxfX18KICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcX19ffFxfX18vfF98IFxfXF9fX19ffAogICoKLSAqIENvcHlyaWdodCAoQykgMTk5OCAtIDIwMTgsIERhbmllbCBTdGVuYmVyZywgPGRhbmllbEBoYXh4LnNlPiwgZXQgYWwuCisgKiBDb3B5cmlnaHQgKEMpIDE5OTggLSAyMDIwLCBEYW5pZWwgU3RlbmJlcmcsIDxkYW5pZWxAaGF4eC5zZT4sIGV0IGFsLgogICoKICAqIFRoaXMgc29mdHdhcmUgaXMgbGljZW5zZWQgYXMgZGVzY3JpYmVkIGluIHRoZSBmaWxlIENPUFlJTkcsIHdoaWNoCiAgKiB5b3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYXMgcGFydCBvZiB0aGlzIGRpc3RyaWJ1dGlvbi4gVGhlIHRlcm1zCkBAIC03Nyw3ICs3Nyw3IEBACiAgIGZvcihpID0gMDsgaSA8IE5VTV9IRUFERVJTOyBpKyspIHsKICAgICBpbnQgbGVuID0gbXNucHJpbnRmKGJ1Ziwgc2l6ZW9mKGJ1ZiksICJIZWFkZXIlZDogIiwgaSk7CiAgICAgbWVtc2V0KCZidWZbbGVuXSwgJ0EnLCBTSVpFX0hFQURFUlMpOwotICAgIGJ1ZltsZW4gKyBTSVpFX0hFQURFUlNdID0gMDsgLyogemVybyB0ZXJtaW5hdGUgKi8KKyAgICBidWZbbGVuICsgU0laRV9IRUFERVJTXSA9IDA7IC8qIG51bGwtdGVybWluYXRlICovCiAgICAgaGwgPSBjdXJsX3NsaXN0X2FwcGVuZChoZWFkZXJsaXN0LCAgYnVmKTsKICAgICBpZighaGwpCiAgICAgICBnb3RvIHRlc3RfY2xlYW51cDsKZGlmZiAtLWdpdCBhL3Rlc3RzL2xpYnRlc3QvbGliNTc2LmMgYi90ZXN0cy9saWJ0ZXN0L2xpYjU3Ni5jCmluZGV4IDNiOWE5MDAuLmY2NjgyNTggMTAwNjQ0Ci0tLSBhL3Rlc3RzL2xpYnRlc3QvbGliNTc2LmMKKysrIGIvdGVzdHMvbGlidGVzdC9saWI1NzYuYwpAQCAtNSw3ICs1LDcgQEAKICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgKF9ffCB8X3wgfCAgXyA8fCB8X19fCiAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXF9fX3xcX19fL3xffCBcX1xfX19fX3wKICAqCi0gKiBDb3B5cmlnaHQgKEMpIDE5OTggLSAyMDE2LCBEYW5pZWwgU3RlbmJlcmcsIDxkYW5pZWxAaGF4eC5zZT4sIGV0IGFsLgorICogQ29weXJpZ2h0IChDKSAxOTk4IC0gMjAyMCwgRGFuaWVsIFN0ZW5iZXJnLCA8ZGFuaWVsQGhheHguc2U+LCBldCBhbC4KICAqCiAgKiBUaGlzIHNvZnR3YXJlIGlzIGxpY2Vuc2VkIGFzIGRlc2NyaWJlZCBpbiB0aGUgZmlsZSBDT1BZSU5HLCB3aGljaAogICogeW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGFzIHBhcnQgb2YgdGhpcyBkaXN0cmlidXRpb24uIFRoZSB0ZXJtcwpAQCAtMjQsMTAgKzI0LDEwIEBACiAjaW5jbHVkZSAidGVzdHV0aWwuaCIKICNpbmNsdWRlICJtZW1kZWJ1Zy5oIgogCi10eXBlZGVmIHN0cnVjdCB7CitzdHJ1Y3QgY2h1bmtfZGF0YSB7CiAgIGludCByZW1haW5zOwogICBpbnQgcHJpbnRfY29udGVudDsKLX0gY2h1bmtfZGF0YV90OworfTsKIAogc3RhdGljCiBsb25nIGNodW5rX2Jnbihjb25zdCBzdHJ1Y3QgY3VybF9maWxlaW5mbyAqZmluZm8sIHZvaWQgKnB0ciwgaW50IHJlbWFpbnMpOwpAQCAtMzcsNyArMzcsNyBAQAogc3RhdGljCiBsb25nIGNodW5rX2Jnbihjb25zdCBzdHJ1Y3QgY3VybF9maWxlaW5mbyAqZmluZm8sIHZvaWQgKnB0ciwgaW50IHJlbWFpbnMpCiB7Ci0gIGNodW5rX2RhdGFfdCAqY2hfZCA9IHB0cjsKKyAgc3RydWN0IGNodW5rX2RhdGEgKmNoX2QgPSBwdHI7CiAgIGNoX2QtPnJlbWFpbnMgPSByZW1haW5zOwogCiAgIHByaW50ZigiPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuIik7CkBAIC04Nyw3ICs4Nyw3IEBACiBzdGF0aWMKIGxvbmcgY2h1bmtfZW5kKHZvaWQgKnB0cikKIHsKLSAgY2h1bmtfZGF0YV90ICpjaF9kID0gcHRyOworICBzdHJ1Y3QgY2h1bmtfZGF0YSAqY2hfZCA9IHB0cjsKICAgaWYoY2hfZC0+cHJpbnRfY29udGVudCkgewogICAgIGNoX2QtPnByaW50X2NvbnRlbnQgPSAwOwogICAgIHByaW50ZigiLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuIik7CkBAIC0xMDEsNyArMTAxLDcgQEAKIHsKICAgQ1VSTCAqaGFuZGxlID0gTlVMTDsKICAgQ1VSTGNvZGUgcmVzID0gQ1VSTEVfT0s7Ci0gIGNodW5rX2RhdGFfdCBjaHVua19kYXRhID0gezAsIDB9OworICBzdHJ1Y3QgY2h1bmtfZGF0YSBjaHVua19kYXRhID0gezAsIDB9OwogICBjdXJsX2dsb2JhbF9pbml0KENVUkxfR0xPQkFMX0FMTCk7CiAgIGhhbmRsZSA9IGN1cmxfZWFzeV9pbml0KCk7CiAgIGlmKCFoYW5kbGUpIHsKZGlmZiAtLWdpdCBhL3Rlc3RzL2xpYnRlc3QvbGliNTgyLmMgYi90ZXN0cy9saWJ0ZXN0L2xpYjU4Mi5jCmluZGV4IGMwNjc4YjAuLjk2ODQxMDUgMTAwNjQ0Ci0tLSBhL3Rlc3RzL2xpYnRlc3QvbGliNTgyLmMKKysrIGIvdGVzdHMvbGlidGVzdC9saWI1ODIuYwpAQCAtNDQsNyArNDQsNyBAQAogLyoqCiAgKiBSZW1vdmUgYSBmaWxlIGRlc2NyaXB0b3IgZnJvbSBhIHNvY2tldHMgYXJyYXkuCiAgKi8KLXN0YXRpYyB2b2lkIHJlbW92ZUZkKHN0cnVjdCBTb2NrZXRzKiBzb2NrZXRzLCBjdXJsX3NvY2tldF90IGZkLCBpbnQgbWVudGlvbikKK3N0YXRpYyB2b2lkIHJlbW92ZUZkKHN0cnVjdCBTb2NrZXRzICpzb2NrZXRzLCBjdXJsX3NvY2tldF90IGZkLCBpbnQgbWVudGlvbikKIHsKICAgaW50IGk7CiAKQEAgLTY0LDcgKzY0LDcgQEAKIC8qKgogICogQWRkIGEgZmlsZSBkZXNjcmlwdG9yIHRvIGEgc29ja2V0cyBhcnJheS4KICAqLwotc3RhdGljIHZvaWQgYWRkRmQoc3RydWN0IFNvY2tldHMqIHNvY2tldHMsIGN1cmxfc29ja2V0X3QgZmQsIGNvbnN0IGNoYXIgKndoYXQpCitzdGF0aWMgdm9pZCBhZGRGZChzdHJ1Y3QgU29ja2V0cyAqc29ja2V0cywgY3VybF9zb2NrZXRfdCBmZCwgY29uc3QgY2hhciAqd2hhdCkKIHsKICAgLyoqCiAgICAqIFRvIGVuc3VyZSB3ZSBvbmx5IGhhdmUgZWFjaCBmaWxlIGRlc2NyaXB0b3Igb25jZSwgd2UgcmVtb3ZlIGl0IHRoZW4gYWRkCkBAIC0xMDUsNyArMTA1LDcgQEAKIHN0YXRpYyBpbnQgY3VybFNvY2tldENhbGxiYWNrKENVUkwgKmVhc3ksIGN1cmxfc29ja2V0X3QgcywgaW50IGFjdGlvbiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZvaWQgKnVzZXJwLCB2b2lkICpzb2NrZXRwKQogewotICBzdHJ1Y3QgUmVhZFdyaXRlU29ja2V0cyogc29ja2V0cyA9IHVzZXJwOworICBzdHJ1Y3QgUmVhZFdyaXRlU29ja2V0cyAqc29ja2V0cyA9IHVzZXJwOwogCiAgICh2b2lkKWVhc3k7IC8qIHVudXNlZCAqLwogICAodm9pZClzb2NrZXRwOyAvKiB1bnVzZWQgKi8KQEAgLTEyOSw3ICsxMjksNyBAQAogICovCiBzdGF0aWMgaW50IGN1cmxUaW1lckNhbGxiYWNrKENVUkxNICptdWx0aSwgbG9uZyB0aW1lb3V0X21zLCB2b2lkICp1c2VycCkKIHsKLSAgc3RydWN0IHRpbWV2YWwqIHRpbWVvdXQgPSB1c2VycDsKKyAgc3RydWN0IHRpbWV2YWwgKnRpbWVvdXQgPSB1c2VycDsKIAogICAodm9pZCltdWx0aTsgLyogdW51c2VkICovCiAgIGlmKHRpbWVvdXRfbXMgIT0gLTEpIHsKQEAgLTE2OSw3ICsxNjksNyBAQAogICByZXR1cm4gcmVzdWx0OwogfQogCi1zdGF0aWMgaW50IGdldE1pY3JvU2Vjb25kVGltZW91dChzdHJ1Y3QgdGltZXZhbCogdGltZW91dCkKK3N0YXRpYyBpbnQgZ2V0TWljcm9TZWNvbmRUaW1lb3V0KHN0cnVjdCB0aW1ldmFsICp0aW1lb3V0KQogewogICBzdHJ1Y3QgdGltZXZhbCBub3c7CiAgIHNzaXplX3QgcmVzdWx0OwpAQCAtMTg1LDcgKzE4NSw3IEBACiAvKioKICAqIFVwZGF0ZSBhIGZkX3NldCB3aXRoIGFsbCBvZiB0aGUgc29ja2V0cyBpbiB1c2UuCiAgKi8KLXN0YXRpYyB2b2lkIHVwZGF0ZUZkU2V0KHN0cnVjdCBTb2NrZXRzKiBzb2NrZXRzLCBmZF9zZXQqIGZkc2V0LAorc3RhdGljIHZvaWQgdXBkYXRlRmRTZXQoc3RydWN0IFNvY2tldHMgKnNvY2tldHMsIGZkX3NldCogZmRzZXQsCiAgICAgICAgICAgICAgICAgICAgICAgICBjdXJsX3NvY2tldF90ICptYXhGZCkKIHsKICAgaW50IGk7CmRpZmYgLS1naXQgYS90ZXN0cy9saWJ0ZXN0L2xpYjY1MS5jIGIvdGVzdHMvbGlidGVzdC9saWI2NTEuYwppbmRleCAxOGJjYWFlLi43NzdmNmY1IDEwMDY0NAotLS0gYS90ZXN0cy9saWJ0ZXN0L2xpYjY1MS5jCisrKyBiL3Rlc3RzL2xpYnRlc3QvbGliNjUxLmMKQEAgLTUsNyArNSw3IEBACiAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICB8IChfX3wgfF98IHwgIF8gPHwgfF9fXwogICogICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxfX198XF9fXy98X3wgXF9cX19fX198CiAgKgotICogQ29weXJpZ2h0IChDKSAxOTk4IC0gMjAxNywgRGFuaWVsIFN0ZW5iZXJnLCA8ZGFuaWVsQGhheHguc2U+LCBldCBhbC4KKyAqIENvcHlyaWdodCAoQykgMTk5OCAtIDIwMjAsIERhbmllbCBTdGVuYmVyZywgPGRhbmllbEBoYXh4LnNlPiwgZXQgYWwuCiAgKgogICogVGhpcyBzb2Z0d2FyZSBpcyBsaWNlbnNlZCBhcyBkZXNjcmliZWQgaW4gdGhlIGZpbGUgQ09QWUlORywgd2hpY2gKICAqIHlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhcyBwYXJ0IG9mIHRoaXMgZGlzdHJpYnV0aW9uLiBUaGUgdGVybXMKQEAgLTQwLDcgKzQwLDcgQEAKICAgZm9yKGkgPSAwOyBpIDwgc2l6ZSA7IGkrKykKICAgICBtZW1zZXQoJmJ1ZmZlcltpICogMTAwMF0sIDY1ICsgaSwgMTAwMCk7CiAKLSAgYnVmZmVyWyBzaXplb2YoYnVmZmVyKS0xXSA9IDA7IC8qIHplcm8gdGVybWluYXRlICovCisgIGJ1ZmZlclsgc2l6ZW9mKGJ1ZmZlciktMV0gPSAwOyAvKiBudWxsLXRlcm1pbmF0ZSAqLwogCiAgIGlmKGN1cmxfZ2xvYmFsX2luaXQoQ1VSTF9HTE9CQUxfQUxMKSAhPSBDVVJMRV9PSykgewogICAgIGZwcmludGYoc3RkZXJyLCAiY3VybF9nbG9iYWxfaW5pdCgpIGZhaWxlZFxuIik7CmRpZmYgLS1naXQgYS90ZXN0cy9saWJ0ZXN0L21rLWxpYjE1MjEucGwgYi90ZXN0cy9saWJ0ZXN0L21rLWxpYjE1MjEucGwKaW5kZXggZTRhYzZhMS4uZjRlZjE5ZiAxMDA3NTUKLS0tIGEvdGVzdHMvbGlidGVzdC9tay1saWIxNTIxLnBsCisrKyBiL3Rlc3RzL2xpYnRlc3QvbWstbGliMTUyMS5wbApAQCAtMTU4LDYgKzE1OCw3IEBACiAgIGN1cmxfc29ja2V0X3Qgc29ja2ZkOwogICBzdHJ1Y3QgY3VybF9jZXJ0aW5mbyAqY2VydGluZm87CiAgIHN0cnVjdCBjdXJsX3Rsc3Nlc3Npb25pbmZvICp0bHNzZXNzaW9uOworICBzdHJ1Y3QgY3VybF9ibG9iIGJsb2IgPSB7ICh2b2lkICopInNpbGx5IiwgNSwgMH07CiAgIENVUkxjb2RlIHJlcyA9IENVUkxFX09LOwogICAodm9pZClVUkw7IC8qIG5vdCB1c2VkICovCiAgIGdsb2JhbF9pbml0KENVUkxfR0xPQkFMX0FMTCk7CkBAIC0yMzksOCArMjQwLDEyIEBACiAgICAgICAgICAgICBwcmludCAiJHtwcmVmfSBPRkZfSEkpO1xuJGNoZWNrIjsKICAgICAgICAgICAgIHByaW50ICIke3ByZWZ9IE9GRl9MTyk7XG4kY2hlY2siOwogICAgICAgICB9CisgICAgICAgIGVsc2lmKCR0eXBlIGVxICJDVVJMT1BUVFlQRV9CTE9CIikgeworICAgICAgICAgICAgcHJpbnQgIiR7cHJlZn0gJmJsb2IpO1xuJGNoZWNrIjsKKyAgICAgICAgfQogICAgICAgICBlbHNlIHsKICAgICAgICAgICAgIHByaW50IFNUREVSUiAiXG4tLS0tICR0eXBlXG4iOworICAgICAgICAgICAgZXhpdDsgIyBleGl0IHRvIG1ha2UgdGhpcyBub3RpY2VkIQogICAgICAgICB9CiAgICAgfQogICAgIGVsc2lmKCRfID1+IC9eICBDVVJMSU5GT19OT05FLykgewpkaWZmIC0tZ2l0IGEvdGVzdHMvbGlidGVzdC90ZXN0NjEzLnBsIGIvdGVzdHMvbGlidGVzdC90ZXN0NjEzLnBsCmluZGV4IGVhZDExNTkuLjhlZmMwNWMgMTAwNzU1Ci0tLSBhL3Rlc3RzL2xpYnRlc3QvdGVzdDYxMy5wbAorKysgYi90ZXN0cy9saWJ0ZXN0L3Rlc3Q2MTMucGwKQEAgLTk3LDE1ICs5NywyOSBAQAogICAgICAgICBteSBAY2Fub25kaXI7CiAgICAgICAgIG9wZW4oSU4sICI8JGxvZ2ZpbGUiKSB8fCBkaWUgIiQhIjsKICAgICAgICAgd2hpbGUgKDxJTj4pIHsKLSAgICAgICAgICAgIC9eKC4pKC4uKS4oLi4pLiguLikuXHMqKFxTKylccytcUytccytcUytccysoXFMrKVxzKyhcUytccytcUytccytcUyspKC4qKSQvOworICAgICAgICAgICAgL14oLikoLi4pLiguLikuKC4uKS5ccyooXFMrKVxzK1xTK1xzK1xTK1xzKyhcUyspXHMrKFxTK1xzK1xTK1xzK1xTKylccysoLiopJC87CiAgICAgICAgICAgICBpZiAoJDEgZXEgImQiKSB7CisgICAgICAgICAgICAgICAgIyBTa2lwIGN1cnJlbnQgYW5kIHBhcmVudCBkaXJlY3RvcnkgbGlzdGluZywgYmVjYXVzZSBzb21lIFNTSAorICAgICAgICAgICAgICAgICMgc2VydmVycyAoZWcuIE9wZW5TU0ggZm9yIFdpbmRvd3MpIGFyZSBub3QgbGlzdGluZyB0aG9zZQorICAgICAgICAgICAgICAgIGlmICgkOCBlcSAiLiIgfHwgJDggZXEgIi4uIikgeworICAgICAgICAgICAgICAgICAgICBuZXh0OworICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAjIEVyYXNlIGFsbCBkaXJlY3RvcnkgbWV0YWRhdGEgZXhjZXB0IGZvciB0aGUgbmFtZSwgYXMgaXQgaXMgbm90CiAgICAgICAgICAgICAgICAgIyBjb25zaXN0ZW50IGZvciBhY3Jvc3MgYWxsIHRlc3Qgc3lzdGVtcyBhbmQgZmlsZXN5c3RlbXMKLSAgICAgICAgICAgICAgICBwdXNoIEBjYW5vbmRpciwgImQ/Pz8/Pz8/Pz8gICAgTiBVICAgICAgICAgVSAgICAgICAgICAgICAgIE4gPz8/ICBOIE5OOk5OJDhcbiI7CisgICAgICAgICAgICAgICAgcHVzaCBAY2Fub25kaXIsICJkPz8/Pz8/Pz8/ICAgIE4gVSAgICAgICAgIFUgICAgICAgICAgICAgICBOID8/PyAgTiBOTjpOTiAkOFxuIjsKICAgICAgICAgICAgIH0gZWxzaWYgKCQxIGVxICItIikgeworICAgICAgICAgICAgICAgICMgUmVwbGFjZSBtaXNzaW5nIGdyb3VwIGFuZCBvdGhlciBwZXJtaXNzaW9ucyB3aXRoIHVzZXIKKyAgICAgICAgICAgICAgICAjIHBlcm1pc3Npb25zIChlZy4gb24gV2luZG93cykgZHVlIHRvIHRoZW0gYmVpbmcgc2hvd24gYXMgKgorICAgICAgICAgICAgICAgIG15ICgkdSwgJGcsICRvKSA9ICgkMiwgJDMsICQ0KTsKKyAgICAgICAgICAgICAgICBpZigkZyBlcSAiKioiKSB7CisgICAgICAgICAgICAgICAgICAgICRnID0gJHU7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgIGlmKCRvIGVxICIqKiIpIHsKKyAgICAgICAgICAgICAgICAgICAgJG8gPSAkdTsKKyAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgIyBFcmFzZSB1c2VyIGFuZCBncm91cCBuYW1lcywgYXMgdGhleSBhcmUgbm90IGNvbnNpc3RlbnQgYWNyb3NzCiAgICAgICAgICAgICAgICAgIyBhbGwgdGVzdCBzeXN0ZW1zCi0gICAgICAgICAgICAgICAgbXkgJGxpbmUgPSBzcHJpbnRmKCIlcyVzPyVzPyVzPyU1ZCBVICAgICAgICAgVSAlMTVkICVzJXNcbiIsICQxLCQyLCQzLCQ0LCQ1LCQ2LCQ3LCQ4KTsKKyAgICAgICAgICAgICAgICBteSAkbGluZSA9IHNwcmludGYoIiVzJXM/JXM/JXM/JTVkIFUgICAgICAgICBVICUxNWQgJXMgJXNcbiIsICQxLCR1LCRnLCRvLCQ1LCQ2LCQ3LCQ4KTsKICAgICAgICAgICAgICAgICBwdXNoIEBjYW5vbmRpciwgJGxpbmU7CiAgICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgICAgICMgVW5leHBlY3RlZCBmb3JtYXQ7IGp1c3QgcGFzcyBpdCB0aHJvdWdoIGFuZCBsZXQgdGhlIHRlc3QgZmFpbApkaWZmIC0tZ2l0IGEvdGVzdHMvbGlidGVzdC90ZXN0NzUucGwgYi90ZXN0cy9saWJ0ZXN0L3Rlc3Q3NS5wbApkZWxldGVkIGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMjE4MmY1My4uMDAwMDAwMAotLS0gYS90ZXN0cy9saWJ0ZXN0L3Rlc3Q3NS5wbAorKysgL2Rldi9udWxsCkBAIC0xLDM0ICswLDAgQEAKLSMhL3Vzci9iaW4vZW52IHBlcmwKLSMqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKLSMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXyAgIF8gX19fXyAgXwotIyAgUHJvamVjdCAgICAgICAgICAgICAgICAgICAgIF9fX3wgfCB8IHwgIF8gXHwgfAotIyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyBfX3wgfCB8IHwgfF8pIHwgfAotIyAgICAgICAgICAgICAgICAgICAgICAgICAgICB8IChfX3wgfF98IHwgIF8gPHwgfF9fXwotIyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXF9fX3xcX19fL3xffCBcX1xfX19fX3wKLSMKLSMgQ29weXJpZ2h0IChDKSAxOTk4IC0gMjAyMCwgRGFuaWVsIFN0ZW5iZXJnLCA8ZGFuaWVsQGhheHguc2U+LCBldCBhbC4KLSMKLSMgVGhpcyBzb2Z0d2FyZSBpcyBsaWNlbnNlZCBhcyBkZXNjcmliZWQgaW4gdGhlIGZpbGUgQ09QWUlORywgd2hpY2gKLSMgeW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGFzIHBhcnQgb2YgdGhpcyBkaXN0cmlidXRpb24uIFRoZSB0ZXJtcwotIyBhcmUgYWxzbyBhdmFpbGFibGUgYXQgaHR0cHM6Ly9jdXJsLmhheHguc2UvZG9jcy9jb3B5cmlnaHQuaHRtbC4KLSMKLSMgWW91IG1heSBvcHQgdG8gdXNlLCBjb3B5LCBtb2RpZnksIG1lcmdlLCBwdWJsaXNoLCBkaXN0cmlidXRlIGFuZC9vciBzZWxsCi0jIGNvcGllcyBvZiB0aGUgU29mdHdhcmUsIGFuZCBwZXJtaXQgcGVyc29ucyB0byB3aG9tIHRoZSBTb2Z0d2FyZSBpcwotIyBmdXJuaXNoZWQgdG8gZG8gc28sIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgQ09QWUlORyBmaWxlLgotIwotIyBUaGlzIHNvZnR3YXJlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuICJBUyBJUyIgYmFzaXMsIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZCi0jIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuCi0jCi0jIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKLSMgQ2hlY2sgdGhhdCB0aGUgbGVuZ3RoIG9mIGEgZ2l2ZW4gVVJMIGlzIGNvcnJlY3QKLWlmICggJCNBUkdWICE9IDEgKQotewotICAgIHByaW50ICJVc2FnZTogJDAgc3RyaW5nIGxlbmd0aFxuIjsKLSAgICBleGl0IDM7Ci19Ci1pZiAobGVuZ3RoKEBBUkdWWzBdKSAhPSBAQVJHVlsxXSkKLXsKLSAgICBwcmludCAiR2l2ZW4gaG9zdCBJUCBhbmQgcG9ydCBub3Qgc3VwcG9ydGVkXG4iOwotICAgIGV4aXQgMTsKLX0KLWV4aXQgMDsKZGlmZiAtLWdpdCBhL3Rlc3RzL21hbnBhZ2Utc2Nhbi5wbCBiL3Rlc3RzL21hbnBhZ2Utc2Nhbi5wbAppbmRleCBiYTY1NzdjLi4xMGQyZDE1IDEwMDc1NQotLS0gYS90ZXN0cy9tYW5wYWdlLXNjYW4ucGwKKysrIGIvdGVzdHMvbWFucGFnZS1zY2FuLnBsCkBAIC02LDcgKzYsNyBAQAogIyAgICAgICAgICAgICAgICAgICAgICAgICAgICB8IChfX3wgfF98IHwgIF8gPHwgfF9fXwogIyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXF9fX3xcX19fL3xffCBcX1xfX19fX3wKICMKLSMgQ29weXJpZ2h0IChDKSAyMDE2IC0gMjAxOSwgRGFuaWVsIFN0ZW5iZXJnLCA8ZGFuaWVsQGhheHguc2U+LCBldCBhbC4KKyMgQ29weXJpZ2h0IChDKSAyMDE2IC0gMjAyMCwgRGFuaWVsIFN0ZW5iZXJnLCA8ZGFuaWVsQGhheHguc2U+LCBldCBhbC4KICMKICMgVGhpcyBzb2Z0d2FyZSBpcyBsaWNlbnNlZCBhcyBkZXNjcmliZWQgaW4gdGhlIGZpbGUgQ09QWUlORywgd2hpY2gKICMgeW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGFzIHBhcnQgb2YgdGhpcyBkaXN0cmlidXRpb24uIFRoZSB0ZXJtcwpAQCAtMTMwLDcgKzEzMCw3IEBACiBzY2FubWFucGFnZSgiJHJvb3QvZG9jcy9saWJjdXJsL2N1cmxfZWFzeV9nZXRpbmZvLjMiLCBAY3VybGluZm8pOwogc2Nhbm1hbnBhZ2UoIiRyb290L2RvY3MvbGliY3VybC9jdXJsX211bHRpX3NldG9wdC4zIiwgQGN1cmxtb3B0KTsKIAotIyB1c2luZyB0aGlzIGhhc2ggYXJyYXksIHdlIGNhbiB3aGl0ZWxpc3Qgc3BlY2lmaWMgb3B0aW9ucworIyB1c2luZyB0aGlzIGhhc2ggYXJyYXksIHdlIGNhbiBza2lwIHNwZWNpZmljIG9wdGlvbnMKIG15ICVvcHRzID0gKAogICAgICMgcHJldGVuZCB0aGVzZSAtLW5vIG9wdGlvbnMgZXhpc3RzIGluIHRvb2xfZ2V0cGFyYW0uYwogICAgICctLW5vLWFscG4nID0+IDEsCmRpZmYgLS1naXQgYS90ZXN0cy9vcHRpb25zLXNjYW4ucGwgYi90ZXN0cy9vcHRpb25zLXNjYW4ucGwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZDQ5MzUyYgotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL29wdGlvbnMtc2Nhbi5wbApAQCAtMCwwICsxLDEyMCBAQAorIyEvdXNyL2Jpbi9lbnYgcGVybAorIyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorIyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBfICAgXyBfX19fICBfCisjICBQcm9qZWN0ICAgICAgICAgICAgICAgICAgICAgX19ffCB8IHwgfCAgXyBcfCB8CisjICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvIF9ffCB8IHwgfCB8XykgfCB8CisjICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgKF9ffCB8X3wgfCAgXyA8fCB8X19fCisjICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcX19ffFxfX18vfF98IFxfXF9fX19ffAorIworIyBDb3B5cmlnaHQgKEMpIDIwMTAgLSAyMDIwLCBEYW5pZWwgU3RlbmJlcmcsIDxkYW5pZWxAaGF4eC5zZT4sIGV0IGFsLgorIworIyBUaGlzIHNvZnR3YXJlIGlzIGxpY2Vuc2VkIGFzIGRlc2NyaWJlZCBpbiB0aGUgZmlsZSBDT1BZSU5HLCB3aGljaAorIyB5b3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYXMgcGFydCBvZiB0aGlzIGRpc3RyaWJ1dGlvbi4gVGhlIHRlcm1zCisjIGFyZSBhbHNvIGF2YWlsYWJsZSBhdCBodHRwczovL2N1cmwuaGF4eC5zZS9kb2NzL2NvcHlyaWdodC5odG1sLgorIworIyBZb3UgbWF5IG9wdCB0byB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsIGRpc3RyaWJ1dGUgYW5kL29yIHNlbGwKKyMgY29waWVzIG9mIHRoZSBTb2Z0d2FyZSwgYW5kIHBlcm1pdCBwZXJzb25zIHRvIHdob20gdGhlIFNvZnR3YXJlIGlzCisjIGZ1cm5pc2hlZCB0byBkbyBzbywgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBDT1BZSU5HIGZpbGUuCisjCisjIFRoaXMgc29mdHdhcmUgaXMgZGlzdHJpYnV0ZWQgb24gYW4gIkFTIElTIiBiYXNpcywgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkKKyMgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC4KKyMKKyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIworIworIworIyAtIEdldCBhbGwgb3B0aW9ucyBtZW50aW9uZWQgaW4gdGhlICRjbWRkaXIuCisjIC0gTWFrZSBzdXJlIHRoZXkncmUgYWxsIG1lbnRpb25lZCBpbiB0aGUgJG9wdHMgZG9jdW1lbnQKKyMgLSBNYWtlIHVzcmUgdGhhdCB0aGUgdmVyc2lvbiBpbiAkb3B0cyBtYXRjaGVzIHRoZSB2ZXJzaW9uIGluIHRoZSBmaWxlIGluCisjICAgJGNtZGRpcgorIworCitteSAkb3B0cyA9ICRBUkdWWzBdOworbXkgJGNtZGRpciA9ICRBUkdWWzFdOworCitzdWIgY21kZmlsZXMgeworICAgIG15ICgkZGlyKT1AXzsKKworICAgIG9wZW5kaXIobXkgJGRoLCAkZGlyKSB8fCBkaWUgIkNhbid0IG9wZW5kaXIgJGRpcjogJCEiOworICAgIG15IEBvcHRzID0gZ3JlcCB7IC9cLmQkLyAmJiAtZiAiJGRpci8kXyIgfSByZWFkZGlyKCRkaCk7CisgICAgY2xvc2VkaXIgJGRoOworCisgICAgZm9yKEBvcHRzKSB7CisgICAgICAgICRfID1+IHMvXC5kJC8vOworICAgICAgICAkZmlsZXskX309MTsKKyAgICB9CisgICAgcmV0dXJuIEBvcHRzOworfQorCitzdWIgbWVudGlvbnMgeworICAgIG15ICgkZikgPSBAXzsKKyAgICBteSBAb3B0aW9uczsKKyAgICBvcGVuKEYsICI8JGYiKTsKKyAgICB3aGlsZSg8Rj4pIHsKKyAgICAgICAgY2hvbXA7CisgICAgICAgIGlmKC8oLiopICsoWzAtOS5dKykvKSB7CisgICAgICAgICAgICBteSAoJGZsYWcsICR2ZXJzaW9uKT0oJDEsICQyKTsKKworICAgICAgICAgICAgIyBzdG9yZSB0aGUgbmFtZSB3aXRob3V0IHRoZSBsZWFkaW5nIGRhc2hlcworICAgICAgICAgICAgJGZsYWcgPX4gcy9eLS0vLzsKKworICAgICAgICAgICAgIyBjdXQgb3V0IHNob3J0IG9wdGlvbiAoaWYgcHJlc2VudCkKKyAgICAgICAgICAgICRmbGFnID1+IHMvIFwoLS5cKS8vOworCisgICAgICAgICAgICAjIHN0b3JlIHRoZSBuYW1lIHdpdGhvdXQgdHJhaWxpbmcgc3BhY2UKKyAgICAgICAgICAgICRmbGFnID1+IHMvICskLy87CisKKyAgICAgICAgICAgIHB1c2ggQG9wdGlvbnMsICRmbGFnOworCisgICAgICAgICAgICAjIG9wdGlvbnMtaW4tdmVyc2lvbnMgc2F5cy4uLgorICAgICAgICAgICAgJG9pdnskZmxhZ30gPSAkdmVyc2lvbjsKKyAgICAgICAgfQorICAgIH0KKyAgICByZXR1cm4gQG9wdGlvbnM7Cit9CisKK3N1YiB2ZXJzaW9uY2hlY2sgeworICAgIG15ICgkZiwgJHYpPUBfOworICAgIG9wZW4oRiwgIjwkY21kZGlyLyRmLmQiKTsKKyAgICB3aGlsZSg8Rj4pIHsKKyAgICAgICAgY2hvbXA7CisgICAgICAgIGlmKC9eQWRkZWQ6IChbMC05Ll0rKS8pIHsKKyAgICAgICAgICAgIGlmKCQxIG5lICR2KSB7CisgICAgICAgICAgICAgICAgcHJpbnQgU1RERVJSICIkZiBsaXN0cyAkdiBpbiBkb2MgYnV0ICQxIGluIGZpbGVcbiI7CisgICAgICAgICAgICAgICAgJGVycm9yKys7CisgICAgICAgICAgICB9CisgICAgICAgICAgICBsYXN0OworICAgICAgICB9CisgICAgfQorICAgIGNsb3NlKEYpOworfQorCisjIGdldCBhbGwgdGhlIGZpbGVzCitteSBAY21kb3B0cyA9IGNtZGZpbGVzKCRjbWRkaXIpOworCisjIGdldCBhbGwgdGhlIG9wdGlvbnMgbWVudGlvbmVkIGluICRvCitteSBAdmVyb3B0cyA9IG1lbnRpb25zKCRvcHRzKTsKKworIyBjaGVjayBpZiBhbGwgZmlsZXMgYXJlIGluIHRoZSBkb2MKK2ZvciBteSAkYyAoc29ydCBAY21kb3B0cykgeworICAgIGlmKCRvaXZ7JGN9KSB7CisgICAgICAgICMgcHJlc2VudCwgYnV0IGF0IHNhbWUgdmVyc2lvbj8KKyAgICAgICAgdmVyc2lvbmNoZWNrKCRjLCAkb2l2eyRjfSk7CisgICAgfQorICAgIGVsc2UgeworICAgICAgICBwcmludCBTVERFUlIgIiRjIGlzIGluIHRoZSBkaXJlY3RvcnkgYnV0IG5vdCBpbiBmaWxlIVxuIjsKKyAgICAgICAgJGVycm9yKys7CisgICAgfQorfQorCisjIGNoZWNrIGlmIHRoZSBhbGwgb3B0aW9ucyBpbiB0aGUgZG9jIGhhdmUgZmlsZXMKK2ZvciBteSAkdiAoc29ydCBAdmVyb3B0cykgeworICAgIGlmKCRmaWxleyR2fSkgeworICAgICAgICAjIHByZXNlbnQKKyAgICB9CisgICAgZWxzZSB7CisgICAgICAgIHByaW50IFNUREVSUiAiJHYgaXMgaW4gdGhlIGRvYyBidXQgTk9UIGFzIGEgZmlsZSFcbiI7CisgICAgICAgICRlcnJvcisrOworICAgIH0KK30KKworZXhpdCAkZXJyb3I7CmRpZmYgLS1naXQgYS90ZXN0cy9ydW50ZXN0cy4xIGIvdGVzdHMvcnVudGVzdHMuMQppbmRleCAyOTY5NTY1Li41ZGM5ZWIzIDEwMDY0NAotLS0gYS90ZXN0cy9ydW50ZXN0cy4xCisrKyBiL3Rlc3RzL3J1bnRlc3RzLjEKQEAgLTIwLDcgKzIwLDcgQEAKIC5cIiAqCiAuXCIgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKIC5cIgotLlRIIHJ1bnRlc3RzLnBsIDEgIk1hcmNoIDAzLCAyMDIwIiAiQ3VybCA3LjcwLjAiICJydW50ZXN0cyIKKy5USCBydW50ZXN0cy5wbCAxICJNYXkgMjUsIDIwMjAiICJDdXJsIDcuNzEuMSIgInJ1bnRlc3RzIgogCiAuU0ggTkFNRQogcnVudGVzdHMucGwgXC0gcnVuIG9uZSBvciBtb3JlIHRlc3QgY2FzZXMKQEAgLTQ0LDcgKzQ0LDcgQEAKIFByZWZpeCBhIHRlc3QgbnVtYmVyIHdpdGggYSB0aWxkZSAofikgdG8gc3RpbGwgcnVuIGl0LCBidXQgaWdub3JlIHRoZSByZXN1bHRzLgogCiBJdCBpcyBhbHNvIHBvc3NpYmxlIHRvIHNwZWNpZnkgdGVzdHMgYmFzZWQgb24gYSBrZXl3b3JkIGRlc2NyaWJpbmcgdGhlIHRlc3QocykKLXRvIHJ1biwgbGlrZSAiRlRQUyIuIFRoZSBrZXl3b3JkcyBhcmUgc3RyaW5ncyB1c2VkIGluIHRoZSBpbmRpdml1YWwgdGVzdHMuCit0byBydW4sIGxpa2UgIkZUUFMiLiBUaGUga2V5d29yZHMgYXJlIHN0cmluZ3MgdXNlZCBpbiB0aGUgaW5kaXZpZHVhbCB0ZXN0cy4KIAogWW91IGNhbiBhbHNvIHNwZWNpZnkga2V5d29yZHMgd2l0aCBhIGxlYWRpbmcgZXhjbGFtYXRpb24gcG9pbnQgYW5kIHRoZSBrZXl3b3JkCiBvciBwaHJhc2UsIGxpa2UgIiFIVFRQIE5UTE0gYXV0aCIgdG8gcnVuIGFsbCB0ZXN0cyBcZkJleGNlcHRcZlAgdGhvc2UgdXNpbmcKZGlmZiAtLWdpdCBhL3Rlc3RzL3J1bnRlc3RzLnBsIGIvdGVzdHMvcnVudGVzdHMucGwKaW5kZXggZmU3OTRiMy4uMDc0M2Q0OSAxMDA3NTUKLS0tIGEvdGVzdHMvcnVudGVzdHMucGwKKysrIGIvdGVzdHMvcnVudGVzdHMucGwKQEAgLTU2LDggKzU2LDE0IEBACiAjIFRoZXNlIHNob3VsZCBiZSB0aGUgb25seSB2YXJpYWJsZXMgdGhhdCBtaWdodCBiZSBuZWVkZWQgdG8gZ2V0IGVkaXRlZDoKIAogQkVHSU4gewotICAgIHB1c2goQElOQywgJEVOVnsnc3JjZGlyJ30pIGlmKGRlZmluZWQgJEVOVnsnc3JjZGlyJ30pOwotICAgIHB1c2goQElOQywgIi4iKTsKKyAgICAjIERlZmluZSBzcmNkaXIgdG8gdGhlIGxvY2F0aW9uIG9mIHRoZSB0ZXN0cyBzb3VyY2UgZGlyZWN0b3J5LiBUaGlzIGlzCisgICAgIyB1c3VhbGx5IHNldCBieSB0aGUgTWFrZWZpbGUsIGJ1dCBmb3Igb3V0LW9mLXRyZWUgYnVpbGRzIHdpdGggZGlyZWN0CisgICAgIyBpbnZvY2F0aW9uIG9mIHJ1bnRlc3RzLnBsLCBpdCBtYXkgbm90IGJlIHNldC4KKyAgICBpZighZGVmaW5lZCAkRU5WeydzcmNkaXInfSkgeworICAgICAgICB1c2UgRmlsZTo6QmFzZW5hbWU7CisgICAgICAgICRFTlZ7J3NyY2Rpcid9ID0gZGlybmFtZShfX0ZJTEVfXyk7CisgICAgfQorICAgIHB1c2goQElOQywgJEVOVnsnc3JjZGlyJ30pOwogICAgICMgcnVuIHRpbWUgc3RhdGlzdGljcyBuZWVkcyBUaW1lOjpIaVJlcwogICAgIGV2YWwgewogICAgICAgICBubyB3YXJuaW5ncyAiYWxsIjsKQEAgLTEzMSw4ICsxMzcsOCBAQAogbXkgJEhUVFBQT1JUPSRub3BvcnQ7ICAgICMgSFRUUCBzZXJ2ZXIgcG9ydAogbXkgJEhUVFA2UE9SVD0kbm9wb3J0OyAgICMgSFRUUCBJUHY2IHNlcnZlciBwb3J0CiBteSAkSFRUUFNQT1JUPSRub3BvcnQ7ICAgIyBIVFRQUyAoc3R1bm5lbCkgc2VydmVyIHBvcnQKK215ICRIVFRQU1BST1hZUE9SVCA9ICRub3BvcnQ7ICMgSFRUUFMtcHJveHkgKHN0dW5uZWwpIHBvcnQKIG15ICRGVFBQT1JUPSRub3BvcnQ7ICAgICAjIEZUUCBzZXJ2ZXIgcG9ydAotbXkgJEZUUDJQT1JUPSRub3BvcnQ7ICAgICMgRlRQIHNlcnZlciAyIHBvcnQKIG15ICRGVFBTUE9SVD0kbm9wb3J0OyAgICAjIEZUUFMgKHN0dW5uZWwpIHNlcnZlciBwb3J0CiBteSAkRlRQNlBPUlQ9JG5vcG9ydDsgICAgIyBGVFAgSVB2NiBzZXJ2ZXIgcG9ydAogbXkgJFRGVFBQT1JUPSRub3BvcnQ7ICAgICMgVEZUUApAQCAtMjQ1LDYgKzI1MSw3IEBACiBteSAkaGFzX3Rsc19zcnA7ICAgICMgc2V0IGlmIGxpYmN1cmwgaXMgYnVpbHQgd2l0aCBUTFMtU1JQIHN1cHBvcnQKIG15ICRoYXNfbWV0YWxpbms7ICAgIyBzZXQgaWYgY3VybCBpcyBidWlsdCB3aXRoIE1ldGFsaW5rIHN1cHBvcnQKIG15ICRoYXNfaHR0cDI7ICAgICAgIyBzZXQgaWYgbGliY3VybCBpcyBidWlsdCB3aXRoIEhUVFAyIHN1cHBvcnQKK215ICRoYXNfaHR0cHNwcm94eTsgIyBzZXQgaWYgbGliY3VybCBpcyBidWlsdCB3aXRoIEhUVFBTLXByb3h5IHN1cHBvcnQKIG15ICRoYXNfY3J5cHRvOyAgICAgIyBzZXQgaWYgbGliY3VybCBpcyBidWlsdCB3aXRoIGNyeXB0b2dyYXBoaWMgc3VwcG9ydAogbXkgJGhhc19jYXJlczsgICAgICAjIHNldCBpZiBidWlsdCB3aXRoIGMtYXJlcwogbXkgJGhhc190aHJlYWRlZHJlczsjIHNldCBpZiBidWlsdCB3aXRoIHRocmVhZGVkIHJlc29sdmVyCkBAIC01NjAsNyArNTY3LDExIEBACiAjCiBteSAkZGlzdHRlc3RzOwogc3ViIGdldF9kaXN0dGVzdHMgewotICAgIG15IEBkaXN0ID0gYGNkIGRhdGEgJiYgbWFrZSBzaG93YDsKKyAgICBteSAkbWFrZUNtZCA9ICdtYWtlJzsKKyAgICBpZigtZiAiLi4vQ01ha2VDYWNoZS50eHQiKSB7CisgICAgICAgICRtYWtlQ21kID0gJ2NtYWtlIC0tYnVpbGQgLi4vLi4gLS10YXJnZXQnOworICAgIH0KKyAgICBteSBAZGlzdCA9IGBjZCBkYXRhICYmICRtYWtlQ21kIHNob3dgOwogICAgICRkaXN0dGVzdHMgPSBqb2luKCIiLCBAZGlzdCk7CiB9CiAKQEAgLTE1NzIsOCArMTU4Myw2IEBACiAgICAgICAgIGxvZ21zZyAiUlVOOiAkc3J2cm5hbWUgc2VydmVyIGlzIG9uIFBJRCAkaHR0cHBpZCBwb3J0ICRwb3J0XG4iOwogICAgIH0KIAotICAgIHNsZWVwKDEpOwotCiAgICAgcmV0dXJuICgkaHR0cHBpZCwgJHBpZDIsICRwb3J0KTsKIH0KIApAQCAtMTU4MSw3ICsxNTkwLDcgQEAKICMgc3RhcnQgdGhlIGh0dHBzIHN0dW5uZWwgYmFzZWQgc2VydmVyCiAjCiBzdWIgcnVuaHR0cHNzZXJ2ZXIgewotICAgIG15ICgkdmVyYm9zZSwgJGlwdjYsICRjZXJ0ZmlsZSkgPSBAXzsKKyAgICBteSAoJHZlcmJvc2UsICRpcHY2LCAkcHJveHksICRjZXJ0ZmlsZSkgPSBAXzsKICAgICBteSAkcHJvdG8gPSAnaHR0cHMnOwogICAgIG15ICRpcCA9ICgkaXB2NiAmJiAoJGlwdjYgPX4gLzYkLykpID8gIiRIT1NUNklQIiA6ICIkSE9TVElQIjsKICAgICBteSAkaXB2bnVtID0gKCRpcHY2ICYmICgkaXB2NiA9fiAvNiQvKSkgPyA2IDogNDsKQEAgLTE1OTIsNiArMTYwMSwxMSBAQAogICAgIG15ICRsb2dmaWxlOwogICAgIG15ICRmbGFncyA9ICIiOwogCisgICAgaWYoJHByb3h5IGVxICJwcm94eSIpIHsKKyAgICAgICAgIyB0aGUgaHR0cHMtcHJveHkgcnVucyBhcyBodHRwczIKKyAgICAgICAgJGlkbnVtID0gMjsKKyAgICB9CisKICAgICBpZighJHN0dW5uZWwpIHsKICAgICAgICAgcmV0dXJuICgwLDApOwogICAgIH0KQEAgLTE2MjMsNDEgKzE2MzcsNTYgQEAKICAgICAkZmxhZ3MgLj0gIi0taXB2JGlwdm51bSAtLXByb3RvICRwcm90byAiOwogICAgICRmbGFncyAuPSAiLS1jZXJ0ZmlsZSBcIiRjZXJ0ZmlsZVwiICIgaWYoJGNlcnRmaWxlIG5lICdzdHVubmVsLnBlbScpOwogICAgICRmbGFncyAuPSAiLS1zdHVubmVsIFwiJHN0dW5uZWxcIiAtLXNyY2RpciBcIiRzcmNkaXJcIiAiOwotICAgICRmbGFncyAuPSAiLS1jb25uZWN0ICRIVFRQUE9SVCAtLWFjY2VwdCAkSFRUUFNQT1JUIjsKLQotICAgIG15ICRjbWQgPSAiJHBlcmwgJHNyY2Rpci9zZWN1cmVzZXJ2ZXIucGwgJGZsYWdzIjsKLSAgICBteSAoJGh0dHBzcGlkLCAkcGlkMikgPSBzdGFydG5ldygkY21kLCAkcGlkZmlsZSwgMTUsIDApOwotCi0gICAgaWYoJGh0dHBzcGlkIDw9IDAgfHwgIXBpZGV4aXN0cygkaHR0cHNwaWQpKSB7Ci0gICAgICAgICMgaXQgaXMgTk9UIGFsaXZlCi0gICAgICAgIGxvZ21zZyAiUlVOOiBmYWlsZWQgdG8gc3RhcnQgdGhlICRzcnZybmFtZSBzZXJ2ZXJcbiI7Ci0gICAgICAgIHN0b3BzZXJ2ZXIoJHNlcnZlciwgIiRwaWQyIik7Ci0gICAgICAgIGRpc3BsYXlsb2dzKCR0ZXN0bnVtY2hlY2spOwotICAgICAgICAkZG9lc250cnVueyRwaWRmaWxlfSA9IDE7Ci0gICAgICAgIHJldHVybigwLDApOworICAgIGlmKCEkcHJveHkpIHsKKyAgICAgICAgJGZsYWdzIC49ICItLWNvbm5lY3QgJEhUVFBQT1JUIjsKKyAgICB9CisgICAgZWxzZSB7CisgICAgICAgICMgZm9yIEhUVFBTLXByb3h5IHdlIGNvbm5lY3QgdG8gdGhlIEhUVFAgcHJveHkKKyAgICAgICAgJGZsYWdzIC49ICItLWNvbm5lY3QgJEhUVFBQUk9YWVBPUlQiOwogICAgIH0KIAotICAgICMgU2VydmVyIGlzIHVwLiBWZXJpZnkgdGhhdCB3ZSBjYW4gc3BlYWsgdG8gaXQuCi0gICAgbXkgJHBpZDMgPSB2ZXJpZnlzZXJ2ZXIoJHByb3RvLCAkaXB2bnVtLCAkaWRudW0sICRpcCwgJEhUVFBTUE9SVCk7Ci0gICAgaWYoISRwaWQzKSB7Ci0gICAgICAgIGxvZ21zZyAiUlVOOiAkc3J2cm5hbWUgc2VydmVyIGZhaWxlZCB2ZXJpZmljYXRpb25cbiI7Ci0gICAgICAgICMgZmFpbGVkIHRvIHRhbGsgdG8gaXQgcHJvcGVybHkuIEtpbGwgdGhlIHNlcnZlciBhbmQgcmV0dXJuIGZhaWx1cmUKLSAgICAgICAgc3RvcHNlcnZlcigkc2VydmVyLCAiJGh0dHBzcGlkICRwaWQyIik7Ci0gICAgICAgIGRpc3BsYXlsb2dzKCR0ZXN0bnVtY2hlY2spOwotICAgICAgICAkZG9lc250cnVueyRwaWRmaWxlfSA9IDE7Ci0gICAgICAgIHJldHVybiAoMCwwKTsKKyAgICBteSAkcGlkMjsKKyAgICBteSAkcGlkMzsKKyAgICBteSAkaHR0cHNwaWQ7CisgICAgbXkgJHBvcnQgPSAyNDUxMjsgIyBzdGFydCBhdHRlbXB0CisgICAgZm9yICgxIC4uIDEwKSB7CisgICAgICAgICRwb3J0ICs9IGludChyYW5kKDYwMCkpOworICAgICAgICBteSAkb3B0aW9ucyA9ICIkZmxhZ3MgLS1hY2NlcHQgJHBvcnQiOworCisgICAgICAgIG15ICRjbWQgPSAiJHBlcmwgJHNyY2Rpci9zZWN1cmVzZXJ2ZXIucGwgJG9wdGlvbnMiOworICAgICAgICAoJGh0dHBzcGlkLCAkcGlkMikgPSBzdGFydG5ldygkY21kLCAkcGlkZmlsZSwgMTUsIDApOworCisgICAgICAgIGlmKCRodHRwc3BpZCA8PSAwIHx8ICFwaWRleGlzdHMoJGh0dHBzcGlkKSkgeworICAgICAgICAgICAgIyBpdCBpcyBOT1QgYWxpdmUKKyAgICAgICAgICAgIGxvZ21zZyAiUlVOOiBmYWlsZWQgdG8gc3RhcnQgdGhlICRzcnZybmFtZSBzZXJ2ZXJcbiI7CisgICAgICAgICAgICBzdG9wc2VydmVyKCRzZXJ2ZXIsICIkcGlkMiIpOworICAgICAgICAgICAgZGlzcGxheWxvZ3MoJHRlc3RudW1jaGVjayk7CisgICAgICAgICAgICAkZG9lc250cnVueyRwaWRmaWxlfSA9IDE7CisgICAgICAgICAgICBuZXh0OworICAgICAgICB9CisKKyAgICAgICAgIyBTZXJ2ZXIgaXMgdXAuIFZlcmlmeSB0aGF0IHdlIGNhbiBzcGVhayB0byBpdC4KKyAgICAgICAgJHBpZDMgPSB2ZXJpZnlzZXJ2ZXIoJHByb3RvLCAkaXB2bnVtLCAkaWRudW0sICRpcCwgJHBvcnQpOworICAgICAgICBpZighJHBpZDMpIHsKKyAgICAgICAgICAgIGxvZ21zZyAiUlVOOiAkc3J2cm5hbWUgc2VydmVyIGZhaWxlZCB2ZXJpZmljYXRpb25cbiI7CisgICAgICAgICAgICAjIGZhaWxlZCB0byB0YWxrIHRvIGl0IHByb3Blcmx5LiBLaWxsIHRoZSBzZXJ2ZXIgYW5kIHJldHVybiBmYWlsdXJlCisgICAgICAgICAgICBzdG9wc2VydmVyKCRzZXJ2ZXIsICIkaHR0cHNwaWQgJHBpZDIiKTsKKyAgICAgICAgICAgIGRpc3BsYXlsb2dzKCR0ZXN0bnVtY2hlY2spOworICAgICAgICAgICAgJGRvZXNudHJ1bnskcGlkZmlsZX0gPSAxOworICAgICAgICAgICAgbmV4dDsKKyAgICAgICAgfQorICAgICAgICAjIHdlIGhhdmUgYSBzZXJ2ZXIhCisgICAgICAgIGxhc3Q7CiAgICAgfQogICAgICMgSGVyZSBwaWQzIGlzIGFjdHVhbGx5IHRoZSBwaWQgcmV0dXJuZWQgYnkgdGhlIHVuc2VjdXJlLWh0dHAgc2VydmVyLgogCiAgICAgJHJ1bmNlcnR7JHNlcnZlcn0gPSAkY2VydGZpbGU7CiAKICAgICBpZigkdmVyYm9zZSkgewotICAgICAgICBsb2dtc2cgIlJVTjogJHNydnJuYW1lIHNlcnZlciBpcyBub3cgcnVubmluZyBQSUQgJGh0dHBzcGlkXG4iOworICAgICAgICBsb2dtc2cgIlJVTjogJHNydnJuYW1lIHNlcnZlciBpcyBQSUQgJGh0dHBzcGlkIHBvcnQgJHBvcnRcbiI7CiAgICAgfQogCi0gICAgc2xlZXAoMSk7Ci0KLSAgICByZXR1cm4gKCRodHRwc3BpZCwgJHBpZDIpOworICAgIHJldHVybiAoJGh0dHBzcGlkLCAkcGlkMiwgJHBvcnQpOwogfQogCiAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwpAQCAtMTczNCw4ICsxNzYzLDYgQEAKICAgICAgICAgbG9nbXNnICJSVU46ICRzcnZybmFtZSBzZXJ2ZXIgaXMgbm93IHJ1bm5pbmcgUElEICRodHRwdGxzcGlkXG4iOwogICAgIH0KIAotICAgIHNsZWVwKDEpOwotCiAgICAgcmV0dXJuICgkaHR0cHRsc3BpZCwgJHBpZDIpOwogfQogCkBAIC0xODE5LDkgKzE4NDYsNiBAQAogICAgICAgICAgICAgIyBpZiBJUHY2LCB1c2UgYSBkaWZmZXJlbnQgc2V0dXAKICAgICAgICAgICAgICRGVFA2UE9SVCA9ICRwb3J0OwogICAgICAgICB9Ci0gICAgICAgIGVsc2lmKCRpZG51bT4xKSB7Ci0gICAgICAgICAgICAkRlRQMlBPUlQgPSAkcG9ydDsKLSAgICAgICAgfQogICAgICAgICBlbHNlIHsKICAgICAgICAgICAgICRGVFBQT1JUID0gJHBvcnQ7CiAgICAgICAgIH0KQEAgLTE4NTUsOCArMTg3OSw2IEBACiAgICAgICAgIHJldHVybiAwOwogICAgIH0KIAotICAgIHNsZWVwKDEpOwotCiAgICAgcmV0dXJuICgkcGlkMiwgJGZ0cHBpZCk7CiB9CiAKQEAgLTE5MDYsNDEgKzE5MjgsNDcgQEAKICAgICAkZmxhZ3MgLj0gIi0taXB2JGlwdm51bSAtLXByb3RvICRwcm90byAiOwogICAgICRmbGFncyAuPSAiLS1jZXJ0ZmlsZSBcIiRjZXJ0ZmlsZVwiICIgaWYoJGNlcnRmaWxlIG5lICdzdHVubmVsLnBlbScpOwogICAgICRmbGFncyAuPSAiLS1zdHVubmVsIFwiJHN0dW5uZWxcIiAtLXNyY2RpciBcIiRzcmNkaXJcIiAiOwotICAgICRmbGFncyAuPSAiLS1jb25uZWN0ICRGVFBQT1JUIC0tYWNjZXB0ICRGVFBTUE9SVCI7CisgICAgJGZsYWdzIC49ICItLWNvbm5lY3QgJEZUUFBPUlQiOwogCi0gICAgbXkgJGNtZCA9ICIkcGVybCAkc3JjZGlyL3NlY3VyZXNlcnZlci5wbCAkZmxhZ3MiOwotICAgIG15ICgkZnRwc3BpZCwgJHBpZDIpID0gc3RhcnRuZXcoJGNtZCwgJHBpZGZpbGUsIDE1LCAwKTsKKyAgICBteSAkcG9ydCA9IDI2NzEzOworICAgIG15ICRwaWQyOworICAgIG15ICRwaWQzOworICAgIG15ICRmdHBzcGlkOworICAgIGZvciAoMSAuLiAxMCkgeworICAgICAgICAkcG9ydCArPSBpbnQocmFuZCg3MDApKTsKKyAgICAgICAgbXkgJG9wdGlvbnMgPSAiJGZsYWdzIC0tYWNjZXB0ICRwb3J0IjsKKyAgICAgICAgbXkgJGNtZCA9ICIkcGVybCAkc3JjZGlyL3NlY3VyZXNlcnZlci5wbCAkb3B0aW9ucyI7CisgICAgICAgICgkZnRwc3BpZCwgJHBpZDIpID0gc3RhcnRuZXcoJGNtZCwgJHBpZGZpbGUsIDE1LCAwKTsKIAotICAgIGlmKCRmdHBzcGlkIDw9IDAgfHwgIXBpZGV4aXN0cygkZnRwc3BpZCkpIHsKLSAgICAgICAgIyBpdCBpcyBOT1QgYWxpdmUKLSAgICAgICAgbG9nbXNnICJSVU46IGZhaWxlZCB0byBzdGFydCB0aGUgJHNydnJuYW1lIHNlcnZlclxuIjsKLSAgICAgICAgc3RvcHNlcnZlcigkc2VydmVyLCAiJHBpZDIiKTsKLSAgICAgICAgZGlzcGxheWxvZ3MoJHRlc3RudW1jaGVjayk7Ci0gICAgICAgICRkb2VzbnRydW57JHBpZGZpbGV9ID0gMTsKLSAgICAgICAgcmV0dXJuKDAsMCk7CisgICAgICAgIGlmKCRmdHBzcGlkIDw9IDAgfHwgIXBpZGV4aXN0cygkZnRwc3BpZCkpIHsKKyAgICAgICAgICAgICMgaXQgaXMgTk9UIGFsaXZlCisgICAgICAgICAgICBsb2dtc2cgIlJVTjogZmFpbGVkIHRvIHN0YXJ0IHRoZSAkc3J2cm5hbWUgc2VydmVyXG4iOworICAgICAgICAgICAgc3RvcHNlcnZlcigkc2VydmVyLCAiJHBpZDIiKTsKKyAgICAgICAgICAgIGRpc3BsYXlsb2dzKCR0ZXN0bnVtY2hlY2spOworICAgICAgICAgICAgJGRvZXNudHJ1bnskcGlkZmlsZX0gPSAxOworICAgICAgICAgICAgbmV4dDsKKyAgICAgICAgfQorCisgICAgICAgICRwaWQzID0gdmVyaWZ5c2VydmVyKCRwcm90bywgJGlwdm51bSwgJGlkbnVtLCAkaXAsICRwb3J0KTsKKyAgICAgICAgaWYoISRwaWQzKSB7CisgICAgICAgICAgICBsb2dtc2cgIlJVTjogJHNydnJuYW1lIHNlcnZlciBmYWlsZWQgdmVyaWZpY2F0aW9uXG4iOworICAgICAgICAgICAgIyBmYWlsZWQgdG8gdGFsayB0byBpdCBwcm9wZXJseS4gS2lsbCB0aGUgc2VydmVyIGFuZCByZXR1cm4gZmFpbHVyZQorICAgICAgICAgICAgc3RvcHNlcnZlcigkc2VydmVyLCAiJGZ0cHNwaWQgJHBpZDIiKTsKKyAgICAgICAgICAgIGRpc3BsYXlsb2dzKCR0ZXN0bnVtY2hlY2spOworICAgICAgICAgICAgJGRvZXNudHJ1bnskcGlkZmlsZX0gPSAxOworICAgICAgICAgICAgbmV4dDsKKyAgICAgICAgfQorICAgICAgICAjIEhlcmUgcGlkMyBpcyBhY3R1YWxseSB0aGUgcGlkIHJldHVybmVkIGJ5IHRoZSB1bnNlY3VyZS1mdHAgc2VydmVyLgorCisgICAgICAgICRydW5jZXJ0eyRzZXJ2ZXJ9ID0gJGNlcnRmaWxlOworCisgICAgICAgIGlmKCR2ZXJib3NlKSB7CisgICAgICAgICAgICBsb2dtc2cgIlJVTjogJHNydnJuYW1lIHNlcnZlciBpcyBQSUQgJGZ0cHNwaWQgcG9ydCAkcG9ydFxuIjsKKyAgICAgICAgfQorICAgICAgICBsYXN0OwogICAgIH0KIAotICAgICMgU2VydmVyIGlzIHVwLiBWZXJpZnkgdGhhdCB3ZSBjYW4gc3BlYWsgdG8gaXQuCi0gICAgbXkgJHBpZDMgPSB2ZXJpZnlzZXJ2ZXIoJHByb3RvLCAkaXB2bnVtLCAkaWRudW0sICRpcCwgJEZUUFNQT1JUKTsKLSAgICBpZighJHBpZDMpIHsKLSAgICAgICAgbG9nbXNnICJSVU46ICRzcnZybmFtZSBzZXJ2ZXIgZmFpbGVkIHZlcmlmaWNhdGlvblxuIjsKLSAgICAgICAgIyBmYWlsZWQgdG8gdGFsayB0byBpdCBwcm9wZXJseS4gS2lsbCB0aGUgc2VydmVyIGFuZCByZXR1cm4gZmFpbHVyZQotICAgICAgICBzdG9wc2VydmVyKCRzZXJ2ZXIsICIkZnRwc3BpZCAkcGlkMiIpOwotICAgICAgICBkaXNwbGF5bG9ncygkdGVzdG51bWNoZWNrKTsKLSAgICAgICAgJGRvZXNudHJ1bnskcGlkZmlsZX0gPSAxOwotICAgICAgICByZXR1cm4gKDAsMCk7Ci0gICAgfQotICAgICMgSGVyZSBwaWQzIGlzIGFjdHVhbGx5IHRoZSBwaWQgcmV0dXJuZWQgYnkgdGhlIHVuc2VjdXJlLWZ0cCBzZXJ2ZXIuCi0KLSAgICAkcnVuY2VydHskc2VydmVyfSA9ICRjZXJ0ZmlsZTsKLQotICAgIGlmKCR2ZXJib3NlKSB7Ci0gICAgICAgIGxvZ21zZyAiUlVOOiAkc3J2cm5hbWUgc2VydmVyIGlzIG5vdyBydW5uaW5nIFBJRCAkZnRwc3BpZFxuIjsKLSAgICB9Ci0KLSAgICBzbGVlcCgxKTsKLQotICAgIHJldHVybiAoJGZ0cHNwaWQsICRwaWQyKTsKKyAgICByZXR1cm4gKCRmdHBzcGlkLCAkcGlkMiwgJHBvcnQpOwogfQogCiAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwpAQCAtMjAyMSw4ICsyMDQ5LDYgQEAKICAgICAgICAgbG9nbXNnICJSVU46ICRzcnZybmFtZSBzZXJ2ZXIgb24gUElEICR0ZnRwcGlkIHBvcnQgJHBvcnRcbiI7CiAgICAgfQogCi0gICAgc2xlZXAoMSk7Ci0KICAgICByZXR1cm4gKCRwaWQyLCAkdGZ0cHBpZCwgJHBvcnQpOwogfQogCkBAIC0yMTA1LDggKzIxMzEsNiBAQAogICAgICAgICBsb2dtc2cgIlJVTjogJHNydnJuYW1lIHNlcnZlciBQSUQgJHJ0c3BwaWQgcG9ydCAkcG9ydFxuIjsKICAgICB9CiAKLSAgICBzbGVlcCgxKTsKLQogICAgIHJldHVybiAoJHJ0c3BwaWQsICRwaWQyLCAkcG9ydCk7CiB9CiAKQEAgLTIxMTcsNyArMjE0MSw2IEBACiBzdWIgcnVuc3Noc2VydmVyIHsKICAgICBteSAoJGlkLCAkdmVyYm9zZSwgJGlwdjYpID0gQF87CiAgICAgbXkgJGlwPSRIT1NUSVA7Ci0gICAgbXkgJHBvcnQgPSAkU1NIUE9SVDsKICAgICBteSAkcHJvdG8gPSAnc3NoJzsKICAgICBteSAkaXB2bnVtID0gNDsKICAgICBteSAkaWRudW0gPSAoJGlkICYmICgkaWQgPX4gL14oXGQrKSQvKSAmJiAoJGlkID4gMSkpID8gJGlkIDogMTsKQEAgLTIxMjUsNyArMjE0OCw3IEBACiAgICAgbXkgJHNydnJuYW1lOwogICAgIG15ICRwaWRmaWxlOwogICAgIG15ICRsb2dmaWxlOwotICAgIG15ICRmbGFncyA9ICIiOworICAgIG15ICRwb3J0ID0gMjAwMDA7ICMgbm8gbG93ZXIgcG9ydAogCiAgICAgJHNlcnZlciA9IHNlcnZlcm5hbWVfaWQoJHByb3RvLCAkaXB2bnVtLCAkaWRudW0pOwogCkBAIC0yMTM2LDYgKzIxNTksMTEgQEAKICAgICAgICAgcmV0dXJuICgwLDApOwogICAgIH0KIAorICAgIG15ICRzc2hkID0gZmluZF9zc2hkKCk7CisgICAgaWYoJHNzaGQpIHsKKyAgICAgICAgKCRzc2hkaWQsJHNzaGR2ZXJudW0sJHNzaGR2ZXJzdHIsJHNzaGRlcnJvcikgPSBzc2h2ZXJzaW9uaW5mbygkc3NoZCk7CisgICAgfQorCiAgICAgbXkgJHBpZCA9IHByb2Nlc3NleGlzdHMoJHBpZGZpbGUpOwogICAgIGlmKCRwaWQgPiAwKSB7CiAgICAgICAgIHN0b3BzZXJ2ZXIoJHNlcnZlciwgIiRwaWQiKTsKQEAgLTIxNDYsNjAgKzIxNzQsODcgQEAKIAogICAgICRsb2dmaWxlID0gc2VydmVyX2xvZ2ZpbGVuYW1lKCRMT0dESVIsICRwcm90bywgJGlwdm51bSwgJGlkbnVtKTsKIAorICAgIG15ICRmbGFncyA9ICIiOwogICAgICRmbGFncyAuPSAiLS12ZXJib3NlICIgaWYoJHZlcmJvc2UpOwogICAgICRmbGFncyAuPSAiLS1kZWJ1Z3Byb3RvY29sICIgaWYoJGRlYnVncHJvdG9jb2wpOwogICAgICRmbGFncyAuPSAiLS1waWRmaWxlIFwiJHBpZGZpbGVcIiAiOwogICAgICRmbGFncyAuPSAiLS1pZCAkaWRudW0gIiBpZigkaWRudW0gPiAxKTsKICAgICAkZmxhZ3MgLj0gIi0taXB2JGlwdm51bSAtLWFkZHIgXCIkaXBcIiAiOwotICAgICRmbGFncyAuPSAiLS1zc2hwb3J0ICRwb3J0ICI7CiAgICAgJGZsYWdzIC49ICItLXVzZXIgXCIkVVNFUlwiIjsKIAotICAgIG15ICRjbWQgPSAiJHBlcmwgJHNyY2Rpci9zc2hzZXJ2ZXIucGwgJGZsYWdzIjsKLSAgICBteSAoJHNzaHBpZCwgJHBpZDIpID0gc3RhcnRuZXcoJGNtZCwgJHBpZGZpbGUsIDYwLCAwKTsKKyAgICBteSAkc3NocGlkOworICAgIG15ICRwaWQyOwogCi0gICAgIyBvbiBsb2FkZWQgc3lzdGVtcyBzc2hzZXJ2ZXIgc3RhcnQgdXAgY2FuIHRha2UgbG9uZ2VyIHRoYW4gdGhlIHRpbWVvdXQKLSAgICAjIHBhc3NlZCB0byBzdGFydG5ldywgd2hlbiB0aGlzIGhhcHBlbnMgc3RhcnRuZXcgY29tcGxldGVzIHdpdGhvdXQgYmVpbmcKLSAgICAjIGFibGUgdG8gcmVhZCB0aGUgcGlkZmlsZSBhbmQgY29uc2VxdWVudGx5IHJldHVybnMgYSB6ZXJvIHBpZDIgYWJvdmUuCisgICAgbXkgJHdwb3J0ID0gMCwKKyAgICBteSBAdHBvcnRzOworICAgIGZvcigxIC4uIDEwKSB7CiAKLSAgICBpZigkc3NocGlkIDw9IDAgfHwgIXBpZGV4aXN0cygkc3NocGlkKSkgewotICAgICAgICAjIGl0IGlzIE5PVCBhbGl2ZQotICAgICAgICBsb2dtc2cgIlJVTjogZmFpbGVkIHRvIHN0YXJ0IHRoZSAkc3J2cm5hbWUgc2VydmVyXG4iOwotICAgICAgICBzdG9wc2VydmVyKCRzZXJ2ZXIsICIkcGlkMiIpOwotICAgICAgICAkZG9lc250cnVueyRwaWRmaWxlfSA9IDE7Ci0gICAgICAgIHJldHVybiAoMCwwKTsKKyAgICAgICAgIyBzc2hkIGRvZXNuJ3QgaGF2ZSBhIHdheSB0byBwaWNrIGFuIHVudXNlZCByYW5kb20gcG9ydCBudW1iZXIsIHNvCisgICAgICAgICMgaW5zdGVhZCB3ZSBpdGVyYXRlIG92ZXIgcG9zc2libGUgcG9ydCBudW1iZXJzIHRvIHVzZSB1bnRpbCB3ZSBmaW5kCisgICAgICAgICMgb25lIHRoYXQgd29ya3MKKyAgICAgICAgJHBvcnQgKz0gaW50KHJhbmQoNTAwKSk7CisgICAgICAgIHB1c2ggQHRwb3J0cywgJHBvcnQ7CisKKyAgICAgICAgbXkgJG9wdGlvbnMgPSAiJGZsYWdzIC0tc3NocG9ydCAkcG9ydCI7CisKKyAgICAgICAgbXkgJGNtZCA9ICIkcGVybCAkc3JjZGlyL3NzaHNlcnZlci5wbCAkb3B0aW9ucyI7CisgICAgICAgICgkc3NocGlkLCAkcGlkMikgPSBzdGFydG5ldygkY21kLCAkcGlkZmlsZSwgNjAsIDApOworCisgICAgICAgICMgb24gbG9hZGVkIHN5c3RlbXMgc3Noc2VydmVyIHN0YXJ0IHVwIGNhbiB0YWtlIGxvbmdlciB0aGFuIHRoZQorICAgICAgICAjIHRpbWVvdXQgcGFzc2VkIHRvIHN0YXJ0bmV3LCB3aGVuIHRoaXMgaGFwcGVucyBzdGFydG5ldyBjb21wbGV0ZXMKKyAgICAgICAgIyB3aXRob3V0IGJlaW5nIGFibGUgdG8gcmVhZCB0aGUgcGlkZmlsZSBhbmQgY29uc2VxdWVudGx5IHJldHVybnMgYQorICAgICAgICAjIHplcm8gcGlkMiBhYm92ZS4KKyAgICAgICAgaWYoJHNzaHBpZCA8PSAwIHx8ICFwaWRleGlzdHMoJHNzaHBpZCkpIHsKKyAgICAgICAgICAgICMgaXQgaXMgTk9UIGFsaXZlCisgICAgICAgICAgICBsb2dtc2cgIlJVTjogZmFpbGVkIHRvIHN0YXJ0IHRoZSAkc3J2cm5hbWUgc2VydmVyIG9uICRwb3J0XG4iOworICAgICAgICAgICAgc3RvcHNlcnZlcigkc2VydmVyLCAiJHBpZDIiKTsKKyAgICAgICAgICAgICRkb2VzbnRydW57JHBpZGZpbGV9ID0gMTsKKyAgICAgICAgICAgIG5leHQ7CisgICAgICAgIH0KKworICAgICAgICAjIHNzaCBzZXJ2ZXIgdmVyaWZpY2F0aW9uIGFsbG93cyBzb21lIGV4dHJhIHRpbWUgZm9yIHRoZSBzZXJ2ZXIgdG8KKyAgICAgICAgIyBzdGFydCB1cCBhbmQgZ2l2ZXMgdXMgdGhlIG9wcG9ydHVuaXR5IG9mIHJlY292ZXJpbmcgdGhlIHBpZCBmcm9tIHRoZQorICAgICAgICAjIHBpZGZpbGUsIHdoZW4gdGhpcyB2ZXJpZmljYXRpb24gc3VjY2VlZHMgdGhlIHJlY292ZXJlZCBwaWQgaXMKKyAgICAgICAgIyBhc3NpZ25lZCB0byBwaWQyLgorCisgICAgICAgIG15ICRwaWQzID0gdmVyaWZ5c2VydmVyKCRwcm90bywgJGlwdm51bSwgJGlkbnVtLCAkaXAsICRwb3J0KTsKKyAgICAgICAgaWYoISRwaWQzKSB7CisgICAgICAgICAgICBsb2dtc2cgIlJVTjogJHNydnJuYW1lIHNlcnZlciBmYWlsZWQgdmVyaWZpY2F0aW9uXG4iOworICAgICAgICAgICAgIyBmYWlsZWQgdG8gZmV0Y2ggc2VydmVyIHBpZC4gS2lsbCB0aGUgc2VydmVyIGFuZCByZXR1cm4gZmFpbHVyZQorICAgICAgICAgICAgc3RvcHNlcnZlcigkc2VydmVyLCAiJHNzaHBpZCAkcGlkMiIpOworICAgICAgICAgICAgJGRvZXNudHJ1bnskcGlkZmlsZX0gPSAxOworICAgICAgICAgICAgbmV4dDsKKyAgICAgICAgfQorICAgICAgICAkcGlkMiA9ICRwaWQzOworCisgICAgICAgICMgb25jZSBpdCBpcyBrbm93biB0aGF0IHRoZSBzc2ggc2VydmVyIGlzIGFsaXZlLCBzZnRwIHNlcnZlcgorICAgICAgICAjIHZlcmlmaWNhdGlvbiBpcyBwZXJmb3JtZWQgYWN0dWFsbHkgY29ubmVjdGluZyB0byBpdCwgYXV0aGVudGljYXRpbmcKKyAgICAgICAgIyBhbmQgcGVyZm9ybWluZyBhIHZlcnkgc2ltcGxlIHJlbW90ZSBjb21tYW5kLiAgVGhpcyB2ZXJpZmljYXRpb24gaXMKKyAgICAgICAgIyB0cmllZCBvbmx5IG9uZSB0aW1lLgorCisgICAgICAgICRzc2hkbG9nID0gc2VydmVyX2xvZ2ZpbGVuYW1lKCRMT0dESVIsICdzc2gnLCAkaXB2bnVtLCAkaWRudW0pOworICAgICAgICAkc2Z0cGxvZyA9IHNlcnZlcl9sb2dmaWxlbmFtZSgkTE9HRElSLCAnc2Z0cCcsICRpcHZudW0sICRpZG51bSk7CisKKyAgICAgICAgaWYodmVyaWZ5c2Z0cCgnc2Z0cCcsICRpcHZudW0sICRpZG51bSwgJGlwLCAkcG9ydCkgPCAxKSB7CisgICAgICAgICAgICBsb2dtc2cgIlJVTjogU0ZUUCBzZXJ2ZXIgZmFpbGVkIHZlcmlmaWNhdGlvblxuIjsKKyAgICAgICAgICAgICMgZmFpbGVkIHRvIHRhbGsgdG8gaXQgcHJvcGVybHkuIEtpbGwgdGhlIHNlcnZlciBhbmQgcmV0dXJuIGZhaWx1cmUKKyAgICAgICAgICAgIGRpc3BsYXlfc2Z0cGxvZygpOworICAgICAgICAgICAgZGlzcGxheV9zZnRwY29uZmlnKCk7CisgICAgICAgICAgICBkaXNwbGF5X3NzaGRsb2coKTsKKyAgICAgICAgICAgIGRpc3BsYXlfc3NoZGNvbmZpZygpOworICAgICAgICAgICAgc3RvcHNlcnZlcigkc2VydmVyLCAiJHNzaHBpZCAkcGlkMiIpOworICAgICAgICAgICAgJGRvZXNudHJ1bnskcGlkZmlsZX0gPSAxOworICAgICAgICAgICAgbmV4dDsKKyAgICAgICAgfQorICAgICAgICAjIHdlJ3JlIGhhcHB5LCBubyBuZWVkIHRvIGxvb3AgYW55bW9yZSEKKyAgICAgICAgJHdwb3J0ID0gJHBvcnQ7CisgICAgICAgIGxhc3Q7CiAgICAgfQogCi0gICAgIyBzc2ggc2VydmVyIHZlcmlmaWNhdGlvbiBhbGxvd3Mgc29tZSBleHRyYSB0aW1lIGZvciB0aGUgc2VydmVyIHRvIHN0YXJ0IHVwCi0gICAgIyBhbmQgZ2l2ZXMgdXMgdGhlIG9wcG9ydHVuaXR5IG9mIHJlY292ZXJpbmcgdGhlIHBpZCBmcm9tIHRoZSBwaWRmaWxlLCB3aGVuCi0gICAgIyB0aGlzIHZlcmlmaWNhdGlvbiBzdWNjZWVkcyB0aGUgcmVjb3ZlcmVkIHBpZCBpcyBhc3NpZ25lZCB0byBwaWQyLgotCi0gICAgbXkgJHBpZDMgPSB2ZXJpZnlzZXJ2ZXIoJHByb3RvLCAkaXB2bnVtLCAkaWRudW0sICRpcCwgJHBvcnQpOwotICAgIGlmKCEkcGlkMykgewotICAgICAgICBsb2dtc2cgIlJVTjogJHNydnJuYW1lIHNlcnZlciBmYWlsZWQgdmVyaWZpY2F0aW9uXG4iOwotICAgICAgICAjIGZhaWxlZCB0byBmZXRjaCBzZXJ2ZXIgcGlkLiBLaWxsIHRoZSBzZXJ2ZXIgYW5kIHJldHVybiBmYWlsdXJlCi0gICAgICAgIHN0b3BzZXJ2ZXIoJHNlcnZlciwgIiRzc2hwaWQgJHBpZDIiKTsKLSAgICAgICAgJGRvZXNudHJ1bnskcGlkZmlsZX0gPSAxOwotICAgICAgICByZXR1cm4gKDAsMCk7Ci0gICAgfQotICAgICRwaWQyID0gJHBpZDM7Ci0KLSAgICAjIG9uY2UgaXQgaXMga25vd24gdGhhdCB0aGUgc3NoIHNlcnZlciBpcyBhbGl2ZSwgc2Z0cCBzZXJ2ZXIgdmVyaWZpY2F0aW9uCi0gICAgIyBpcyBwZXJmb3JtZWQgYWN0dWFsbHkgY29ubmVjdGluZyB0byBpdCwgYXV0aGVudGljYXRpbmcgYW5kIHBlcmZvcm1pbmcgYQotICAgICMgdmVyeSBzaW1wbGUgcmVtb3RlIGNvbW1hbmQuICBUaGlzIHZlcmlmaWNhdGlvbiBpcyB0cmllZCBvbmx5IG9uZSB0aW1lLgotCi0gICAgJHNzaGRsb2cgPSBzZXJ2ZXJfbG9nZmlsZW5hbWUoJExPR0RJUiwgJ3NzaCcsICRpcHZudW0sICRpZG51bSk7Ci0gICAgJHNmdHBsb2cgPSBzZXJ2ZXJfbG9nZmlsZW5hbWUoJExPR0RJUiwgJ3NmdHAnLCAkaXB2bnVtLCAkaWRudW0pOwotCi0gICAgaWYodmVyaWZ5c2Z0cCgnc2Z0cCcsICRpcHZudW0sICRpZG51bSwgJGlwLCAkcG9ydCkgPCAxKSB7Ci0gICAgICAgIGxvZ21zZyAiUlVOOiBTRlRQIHNlcnZlciBmYWlsZWQgdmVyaWZpY2F0aW9uXG4iOwotICAgICAgICAjIGZhaWxlZCB0byB0YWxrIHRvIGl0IHByb3Blcmx5LiBLaWxsIHRoZSBzZXJ2ZXIgYW5kIHJldHVybiBmYWlsdXJlCi0gICAgICAgIGRpc3BsYXlfc2Z0cGxvZygpOwotICAgICAgICBkaXNwbGF5X3NmdHBjb25maWcoKTsKLSAgICAgICAgZGlzcGxheV9zc2hkbG9nKCk7Ci0gICAgICAgIGRpc3BsYXlfc3NoZGNvbmZpZygpOwotICAgICAgICBzdG9wc2VydmVyKCRzZXJ2ZXIsICIkc3NocGlkICRwaWQyIik7Ci0gICAgICAgICRkb2VzbnRydW57JHBpZGZpbGV9ID0gMTsKLSAgICAgICAgcmV0dXJuICgwLDApOworICAgIGlmKCEkd3BvcnQpIHsKKyAgICAgICAgbG9nbXNnICJSVU46IGNvdWxkbid0IHN0YXJ0ICRzcnZybmFtZS4gVHJpZWQgdGhlc2UgcG9ydHM6IjsKKyAgICAgICAgbG9nbXNnICJSVU46ICIuam9pbigiLCAiLCBAdHBvcnRzKTsKKyAgICAgICAgcmV0dXJuICgwLDAsMCk7CiAgICAgfQogCiAgICAgbXkgJGhzdHB1Ym1kNWYgPSAiY3VybF9ob3N0X3JzYV9rZXkucHViX21kNSI7CkBAIC0yMjE0LDExICsyMjY5LDkgQEAKICAgICAgICAgZGllICRtc2c7CiAgICAgfQogCi0gICAgaWYoJHZlcmJvc2UpIHsKLSAgICAgICAgbG9nbXNnICJSVU46ICRzcnZybmFtZSBzZXJ2ZXIgaXMgbm93IHJ1bm5pbmcgUElEICRwaWQyXG4iOwotICAgIH0KKyAgICBsb2dtc2cgIlJVTjogJHNydnJuYW1lIG9uIFBJRCAkcGlkMiBwb3J0ICR3cG9ydFxuIiBpZigkdmVyYm9zZSk7CiAKLSAgICByZXR1cm4gKCRwaWQyLCAkc3NocGlkKTsKKyAgICByZXR1cm4gKCRwaWQyLCAkc3NocGlkLCAkd3BvcnQpOwogfQogCiAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwpAQCAtMjQxNSw4ICsyNDY4LDYgQEAKICAgICAgICAgbG9nbXNnICJSVU46ICRzcnZybmFtZSBzZXJ2ZXIgaXMgbm93IHJ1bm5pbmcgUElEICRkaWN0cGlkXG4iOwogICAgIH0KIAotICAgIHNsZWVwKDEpOwotCiAgICAgcmV0dXJuICgkZGljdHBpZCwgJHBpZDIpOwogfQogCkBAIC0yNDkyLDggKzI1NDMsNiBAQAogICAgICAgICBsb2dtc2cgIlJVTjogJHNydnJuYW1lIHNlcnZlciBpcyBub3cgcnVubmluZyBQSUQgJHNtYnBpZFxuIjsKICAgICB9CiAKLSAgICBzbGVlcCgxKTsKLQogICAgIHJldHVybiAoJHNtYnBpZCwgJHBpZDIpOwogfQogCkBAIC0yNTY4LDggKzI2MTcsNiBAQAogICAgICAgICBsb2dtc2cgIlJVTjogJHNydnJuYW1lIHNlcnZlciBpcyBub3cgcnVubmluZyBQSUQgJG50ZWxwaWRcbiI7CiAgICAgfQogCi0gICAgc2xlZXAoMSk7Ci0KICAgICByZXR1cm4gKCRudGVscGlkLCAkcGlkMik7CiB9CiAKQEAgLTI2MTIsNyArMjY1OSw3IEBACiAgICAgbXkgJGlkbnVtID0gKCRpZCAmJiAoJGlkID1+IC9eKFxkKykkLykgJiYgKCRpZCA+IDEpKSA/ICRpZCA6IDE7CiAKICAgICBpZigkcHJvdG8gZXEgImZ0cCIpIHsKLSAgICAgICAgJHBvcnQgPSAoJGlkbnVtPjEpPyRGVFAyUE9SVDokRlRQUE9SVDsKKyAgICAgICAgJHBvcnQgPSAkRlRQUE9SVDsKIAogICAgICAgICBpZigkaXB2bnVtPT02KSB7CiAgICAgICAgICAgICAjIGlmIElQdjYsIHVzZSBhIGRpZmZlcmVudCBzZXR1cApAQCAtMjc0Niw0MyArMjc5Myw0NCBAQAogfQogCiBzdWIgc2V0dXBmZWF0dXJlcyB7Ci0gICAgJGZlYXR1cmV7IlNTTCJ9ID0gJGhhc19zc2w7Ci0gICAgJGZlYXR1cmV7Ik11bHRpU1NMIn0gPSAkaGFzX211bHRpc3NsOwotICAgICRmZWF0dXJleyJTU0xwaW5uaW5nIn0gPSAkaGFzX3NzbHBpbm5pbmc7Ci0gICAgJGZlYXR1cmV7Ik9wZW5TU0wifSA9ICRoYXNfb3BlbnNzbDsKLSAgICAkZmVhdHVyZXsiR251VExTIn0gPSAkaGFzX2dudXRsczsKLSAgICAkZmVhdHVyZXsiTlNTIn0gPSAkaGFzX25zczsKLSAgICAkZmVhdHVyZXsiV2luU1NMIn0gPSAkaGFzX3dpbnNzbDsKLSAgICAkZmVhdHVyZXsiU2NoYW5uZWwifSA9ICRoYXNfd2luc3NsOyAjIGFsaWFzCi0gICAgJGZlYXR1cmV7InNlY3RyYW5zcCJ9ID0gJGhhc19kYXJ3aW5zc2w7CisgICAgJGZlYXR1cmV7ImFsdC1zdmMifSA9ICRoYXNfYWx0c3ZjOworICAgICRmZWF0dXJleyJicm90bGkifSA9ICRoYXNfYnJvdGxpOworICAgICRmZWF0dXJleyJjcnlwdG8ifSA9ICRoYXNfY3J5cHRvOwogICAgICRmZWF0dXJleyJEYXJ3aW5TU0wifSA9ICRoYXNfZGFyd2luc3NsOyAjIGFsaWFzCi0gICAgJGZlYXR1cmV7ImxkX3ByZWxvYWQifSA9ICgkaGFzX2xkcHJlbG9hZCAmJiAhJGRlYnVnX2J1aWxkKTsKLSAgICAkZmVhdHVyZXsidW5pdHRlc3QifSA9ICRkZWJ1Z19idWlsZDsKICAgICAkZmVhdHVyZXsiZGVidWcifSA9ICRkZWJ1Z19idWlsZDsKLSAgICAkZmVhdHVyZXsiVHJhY2tNZW1vcnkifSA9ICRoYXNfbWVtb3J5X3RyYWNraW5nOwotICAgICRmZWF0dXJleyJsYXJnZV9maWxlIn0gPSAkaGFzX2xhcmdlZmlsZTsKKyAgICAkZmVhdHVyZXsiZ2V0cmxpbWl0In0gPSAkaGFzX2dldHJsaW1pdDsKKyAgICAkZmVhdHVyZXsiR251VExTIn0gPSAkaGFzX2dudXRsczsKKyAgICAkZmVhdHVyZXsiR1NTLUFQSSJ9ID0gJGhhc19nc3NhcGk7CisgICAgJGZlYXR1cmV7Imh0dHAvMiJ9ID0gJGhhc19odHRwMjsKKyAgICAkZmVhdHVyZXsiaHR0cHMtcHJveHkifSA9ICRoYXNfaHR0cHNwcm94eTsKICAgICAkZmVhdHVyZXsiaWRuIn0gPSAkaGFzX2lkbjsKICAgICAkZmVhdHVyZXsiaXB2NiJ9ID0gJGhhc19pcHY2OworICAgICRmZWF0dXJleyJLZXJiZXJvcyJ9ID0gJGhhc19rZXJiZXJvczsKKyAgICAkZmVhdHVyZXsibGFyZ2VfZmlsZSJ9ID0gJGhhc19sYXJnZWZpbGU7CisgICAgJGZlYXR1cmV7ImxkX3ByZWxvYWQifSA9ICgkaGFzX2xkcHJlbG9hZCAmJiAhJGRlYnVnX2J1aWxkKTsKICAgICAkZmVhdHVyZXsibGlieiJ9ID0gJGhhc19saWJ6OwotICAgICRmZWF0dXJleyJicm90bGkifSA9ICRoYXNfYnJvdGxpOworICAgICRmZWF0dXJleyJtYW51YWwifSA9ICRoYXNfbWFudWFsOworICAgICRmZWF0dXJleyJNZXRhbGluayJ9ID0gJGhhc19tZXRhbGluazsKKyAgICAkZmVhdHVyZXsiTWluR1cifSA9ICRoYXNfbWluZ3c7CisgICAgJGZlYXR1cmV7Ik11bHRpU1NMIn0gPSAkaGFzX211bHRpc3NsOworICAgICRmZWF0dXJleyJOU1MifSA9ICRoYXNfbnNzOwogICAgICRmZWF0dXJleyJOVExNIn0gPSAkaGFzX250bG07CiAgICAgJGZlYXR1cmV7Ik5UTE1fV0IifSA9ICRoYXNfbnRsbV93YjsKLSAgICAkZmVhdHVyZXsiU1NQSSJ9ID0gJGhhc19zc3BpOwotICAgICRmZWF0dXJleyJHU1MtQVBJIn0gPSAkaGFzX2dzc2FwaTsKLSAgICAkZmVhdHVyZXsiS2VyYmVyb3MifSA9ICRoYXNfa2VyYmVyb3M7Ci0gICAgJGZlYXR1cmV7IlNQTkVHTyJ9ID0gJGhhc19zcG5lZ287Ci0gICAgJGZlYXR1cmV7ImdldHJsaW1pdCJ9ID0gJGhhc19nZXRybGltaXQ7Ci0gICAgJGZlYXR1cmV7ImNyeXB0byJ9ID0gJGhhc19jcnlwdG87Ci0gICAgJGZlYXR1cmV7IlRMUy1TUlAifSA9ICRoYXNfdGxzX3NycDsKLSAgICAkZmVhdHVyZXsiTWV0YWxpbmsifSA9ICRoYXNfbWV0YWxpbms7Ci0gICAgJGZlYXR1cmV7Imh0dHAvMiJ9ID0gJGhhc19odHRwMjsKLSAgICAkZmVhdHVyZXsidGhyZWFkZWQtcmVzb2x2ZXIifSA9ICRoYXNfdGhyZWFkZWRyZXM7CisgICAgJGZlYXR1cmV7Ik9wZW5TU0wifSA9ICRoYXNfb3BlbnNzbDsKICAgICAkZmVhdHVyZXsiUFNMIn0gPSAkaGFzX3BzbDsKLSAgICAkZmVhdHVyZXsiYWx0LXN2YyJ9ID0gJGhhc19hbHRzdmM7Ci0gICAgJGZlYXR1cmV7Im1hbnVhbCJ9ID0gJGhhc19tYW51YWw7CisgICAgJGZlYXR1cmV7IlNjaGFubmVsIn0gPSAkaGFzX3dpbnNzbDsgIyBhbGlhcworICAgICRmZWF0dXJleyJzZWN0cmFuc3AifSA9ICRoYXNfZGFyd2luc3NsOworICAgICRmZWF0dXJleyJTUE5FR08ifSA9ICRoYXNfc3BuZWdvOworICAgICRmZWF0dXJleyJTU0wifSA9ICRoYXNfc3NsOworICAgICRmZWF0dXJleyJTU0xwaW5uaW5nIn0gPSAkaGFzX3NzbHBpbm5pbmc7CisgICAgJGZlYXR1cmV7IlNTUEkifSA9ICRoYXNfc3NwaTsKKyAgICAkZmVhdHVyZXsidGhyZWFkZWQtcmVzb2x2ZXIifSA9ICRoYXNfdGhyZWFkZWRyZXM7CisgICAgJGZlYXR1cmV7IlRMUy1TUlAifSA9ICRoYXNfdGxzX3NycDsKKyAgICAkZmVhdHVyZXsiVHJhY2tNZW1vcnkifSA9ICRoYXNfbWVtb3J5X3RyYWNraW5nOworICAgICRmZWF0dXJleyJ1bml0dGVzdCJ9ID0gJGRlYnVnX2J1aWxkOwogICAgICRmZWF0dXJleyJ1bml4LXNvY2tldHMifSA9ICRoYXNfdW5peDsKICAgICAkZmVhdHVyZXsid2luMzIifSA9ICRoYXNfd2luMzI7Ci0gICAgJGZlYXR1cmV7Ik1pbkdXIn0gPSAkaGFzX21pbmd3OworICAgICRmZWF0dXJleyJXaW5TU0wifSA9ICRoYXNfd2luc3NsOwogCiAgICAgIyBtYWtlIGVhY2ggcHJvdG9jb2wgYW4gZW5hYmxlZCAiZmVhdHVyZSIKICAgICBmb3IgbXkgJHAgKEBwcm90b2NvbHMpIHsKQEAgLTMwMjksNiArMzA3NywxMiBAQAogCiAgICAgICAgICAgICAgICAgcHVzaCBAcHJvdG9jb2xzLCAnaHR0cC8yJzsKICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIGlmKCRmZWF0ID1+IC9IVFRQUy1wcm94eS8pIHsKKyAgICAgICAgICAgICAgICAkaGFzX2h0dHBzcHJveHk9MTsKKworICAgICAgICAgICAgICAgICMgJ2h0dHBzLXByb3h5JyBpcyB1c2VkIGFzICJzZXJ2ZXIiIHNvIGNvbnNpZGVyIGl0IGEgcHJvdG9jb2wKKyAgICAgICAgICAgICAgICBwdXNoIEBwcm90b2NvbHMsICdodHRwcy1wcm94eSc7CisgICAgICAgICAgICB9CiAgICAgICAgIH0KICAgICAgICAgIwogICAgICAgICAjIFRlc3QgaGFybmVzcyBjdXJyZW50bHkgdXNlcyBhIG5vbi1zdHVubmVsIHNlcnZlciBpbiBvcmRlciB0bwpAQCAtMzE2NCwxMSArMzIxOCw2IEBACiAKICAgICBpZigkdmVyYm9zZSkgewogICAgICAgICBsb2dtc2cgIiogUG9ydHM6ICI7Ci0gICAgICAgIGlmKCRzdHVubmVsKSB7Ci0gICAgICAgICAgICBsb2dtc2cgc3ByaW50ZigiRlRQUy8lZCAiLCAkRlRQU1BPUlQpOwotICAgICAgICAgICAgbG9nbXNnIHNwcmludGYoIkhUVFBTLyVkICIsICRIVFRQU1BPUlQpOwotICAgICAgICB9Ci0gICAgICAgIGxvZ21zZyBzcHJpbnRmKCJcbiogICBTU0gvJWQgIiwgJFNTSFBPUlQpOwogICAgICAgICBpZigkaHR0cHRsc3NydikgewogICAgICAgICAgICAgbG9nbXNnIHNwcmludGYoIkhUVFBUTFMvJWQgIiwgJEhUVFBUTFNQT1JUKTsKICAgICAgICAgICAgIGlmKCRoYXNfaXB2NikgewpAQCAtMzIwNyw3ICszMjU2LDYgQEAKIAogICAgICMgdGVzdCBzZXJ2ZXIgcG9ydHMKICAgICAkJHRoaW5nID1+IHMvJHtwcmVmaXh9RlRQNlBPUlQvJEZUUDZQT1JUL2c7Ci0gICAgJCR0aGluZyA9fiBzLyR7cHJlZml4fUZUUDJQT1JULyRGVFAyUE9SVC9nOwogICAgICQkdGhpbmcgPX4gcy8ke3ByZWZpeH1GVFBTUE9SVC8kRlRQU1BPUlQvZzsKICAgICAkJHRoaW5nID1+IHMvJHtwcmVmaXh9RlRQUE9SVC8kRlRQUE9SVC9nOwogICAgICQkdGhpbmcgPX4gcy8ke3ByZWZpeH1HT1BIRVI2UE9SVC8kR09QSEVSNlBPUlQvZzsKQEAgLTMyMTYsNiArMzI2NCw3IEBACiAgICAgJCR0aGluZyA9fiBzLyR7cHJlZml4fUhUVFBUTFNQT1JULyRIVFRQVExTUE9SVC9nOwogICAgICQkdGhpbmcgPX4gcy8ke3ByZWZpeH1IVFRQNlBPUlQvJEhUVFA2UE9SVC9nOwogICAgICQkdGhpbmcgPX4gcy8ke3ByZWZpeH1IVFRQU1BPUlQvJEhUVFBTUE9SVC9nOworICAgICQkdGhpbmcgPX4gcy8ke3ByZWZpeH1IVFRQU1BST1hZUE9SVC8kSFRUUFNQUk9YWVBPUlQvZzsKICAgICAkJHRoaW5nID1+IHMvJHtwcmVmaXh9SFRUUDJQT1JULyRIVFRQMlBPUlQvZzsKICAgICAkJHRoaW5nID1+IHMvJHtwcmVmaXh9SFRUUFBPUlQvJEhUVFBQT1JUL2c7CiAgICAgJCR0aGluZyA9fiBzLyR7cHJlZml4fVBST1hZUE9SVC8kSFRUUFBST1hZUE9SVC9nOwpAQCAtMzI1OCw4ICszMzA3LDEzIEBACiAgICAgaWYoJGZpbGVfcHdkICF+IC9eXC8vKSB7CiAgICAgICAgICRmaWxlX3B3ZCA9ICIvJGZpbGVfcHdkIjsKICAgICB9CisgICAgbXkgJHNzaF9wd2QgPSAkcG9zaXhfcHdkOworICAgIGlmICgkc3NoZGlkICYmICRzc2hkaWQgPX4gL09wZW5TU0gtV2luZG93cy8pIHsKKyAgICAgICAgJHNzaF9wd2QgPSAkZmlsZV9wd2Q7CisgICAgfQogCiAgICAgJCR0aGluZyA9fiBzLyR7cHJlZml4fUZJTEVfUFdELyRmaWxlX3B3ZC9nOworICAgICQkdGhpbmcgPX4gcy8ke3ByZWZpeH1TU0hfUFdELyRzc2hfcHdkL2c7CiAgICAgJCR0aGluZyA9fiBzLyR7cHJlZml4fVNSQ0RJUi8kc3JjZGlyL2c7CiAgICAgJCR0aGluZyA9fiBzLyR7cHJlZml4fVVTRVIvJFVTRVIvZzsKIApAQCAtMzcxOCw4ICszNzcyLDcgQEAKICAgICAgICAgICAgICAgICByZXR1cm4gLTE7CiAgICAgICAgICAgICB9CiAgICAgICAgICAgICBteSAkZmlsZUNvbnRlbnQgPSBqb2luKCcnLCBAaW5wdXRmaWxlKTsKLSAgICAgICAgICAgIHN1YlZhcmlhYmxlcyBcJGZpbGVDb250ZW50OwotIyAgICAgICAgICAgIGxvZ21zZyAiREVCVUc6IHdyaXRpbmcgZmlsZSAiIC4gJGZpbGVuYW1lIC4gIlxuIjsKKyAgICAgICAgICAgIHN1YlZhcmlhYmxlcyhcJGZpbGVDb250ZW50KTsKICAgICAgICAgICAgIG9wZW4oT1VURklMRSwgIj4kZmlsZW5hbWUiKTsKICAgICAgICAgICAgIGJpbm1vZGUgT1VURklMRTsgIyBmb3IgY3JhcGFnZSBzeXN0ZW1zLCB1c2UgYmluYXJ5CiAgICAgICAgICAgICBwcmludCBPVVRGSUxFICRmaWxlQ29udGVudDsKQEAgLTM5ODcsNyArNDA0MCw3IEBACiAgICAgaWYoQHBvc3RjaGVjaykgewogICAgICAgICAkY21kID0gam9pbigiIiwgQHBvc3RjaGVjayk7CiAgICAgICAgIGNob21wICRjbWQ7Ci0gICAgICAgIHN1YlZhcmlhYmxlcyBcJGNtZDsKKyAgICAgICAgc3ViVmFyaWFibGVzKFwkY21kKTsKICAgICAgICAgaWYoJGNtZCkgewogICAgICAgICAgICAgbG9nbXNnICJwb3N0Y2hlY2sgJGNtZFxuIiBpZigkdmVyYm9zZSk7CiAgICAgICAgICAgICBteSAkcmMgPSBydW5jbGllbnQoIiRjbWQiKTsKQEAgLTQ0NDYsNyArNDQ5OSw3IEBACiAgICAgbXkgJGR1cmF0aW9uID0gc3ByaW50ZigiZHVyYXRpb246ICUwMmQ6JTAyZCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkc29mYXIvNjAsICRzb2ZhciU2MCk7CiAgICAgaWYoISRhdXRvbWFrZXN0eWxlKSB7Ci0gICAgICAgIGxvZ21zZyBzcHJpbnRmKCJPSyAoJS0zZCBvdXQgb2YgJS0zZCwgJXMsIHRvb2sgJS4xZnMsICVzKVxuIiwKKyAgICAgICAgbG9nbXNnIHNwcmludGYoIk9LICglLTNkIG91dCBvZiAlLTNkLCAlcywgdG9vayAlLjNmcywgJXMpXG4iLAogICAgICAgICAgICAgICAgICAgICAgICAkY291bnQsICR0b3RhbCwgJGxlZnQsICR0b29rLCAkZHVyYXRpb24pOwogICAgIH0KICAgICBlbHNlIHsKQEAgLTQ1NDEsMjAgKzQ1OTQsNiBAQAogICAgICAgICAgICAgICAgICRydW57JHdoYXR9PSIkcGlkICRwaWQyIjsKICAgICAgICAgICAgIH0KICAgICAgICAgfQotICAgICAgICBlbHNpZigkd2hhdCBlcSAiZnRwMiIpIHsKLSAgICAgICAgICAgIGlmKCR0b3J0dXJlICYmICRydW57J2Z0cDInfSAmJgotICAgICAgICAgICAgICAgIXJlc3BvbnNpdmVfcGluZ3Bvbmdfc2VydmVyKCJmdHAiLCAiMiIsICR2ZXJib3NlKSkgewotICAgICAgICAgICAgICAgIHN0b3BzZXJ2ZXIoJ2Z0cDInKTsKLSAgICAgICAgICAgIH0KLSAgICAgICAgICAgIGlmKCEkcnVueydmdHAyJ30pIHsKLSAgICAgICAgICAgICAgICAoJHBpZCwgJHBpZDIpID0gcnVucGluZ3BvbmdzZXJ2ZXIoImZ0cCIsICIyIiwgJHZlcmJvc2UpOwotICAgICAgICAgICAgICAgIGlmKCRwaWQgPD0gMCkgewotICAgICAgICAgICAgICAgICAgICByZXR1cm4gImZhaWxlZCBzdGFydGluZyBGVFAyIHNlcnZlciI7Ci0gICAgICAgICAgICAgICAgfQotICAgICAgICAgICAgICAgIHByaW50ZiAoIiogcGlkIGZ0cDIgPT4gJWQgJWRcbiIsICRwaWQsICRwaWQyKSBpZigkdmVyYm9zZSk7Ci0gICAgICAgICAgICAgICAgJHJ1bnsnZnRwMid9PSIkcGlkICRwaWQyIjsKLSAgICAgICAgICAgIH0KLSAgICAgICAgfQogICAgICAgICBlbHNpZigkd2hhdCBlcSAiZnRwLWlwdjYiKSB7CiAgICAgICAgICAgICBpZigkdG9ydHVyZSAmJiAkcnVueydmdHAtaXB2Nid9ICYmCiAgICAgICAgICAgICAgICAhcmVzcG9uc2l2ZV9waW5ncG9uZ19zZXJ2ZXIoImZ0cCIsICIiLCAkdmVyYm9zZSwgImlwdjYiKSkgewpAQCAtNDcxNCw3ICs0NzUzLDggQEAKICAgICAgICAgICAgICAgICAkcnVueydmdHAnfT0iJHBpZCAkcGlkMiI7CiAgICAgICAgICAgICB9CiAgICAgICAgICAgICBpZighJHJ1bnsnZnRwcyd9KSB7Ci0gICAgICAgICAgICAgICAgKCRwaWQsICRwaWQyKSA9IHJ1bmZ0cHNzZXJ2ZXIoJHZlcmJvc2UsICIiLCAkY2VydGZpbGUpOworICAgICAgICAgICAgICAgICgkcGlkLCAkcGlkMiwgJEZUUFNQT1JUKSA9CisgICAgICAgICAgICAgICAgICAgIHJ1bmZ0cHNzZXJ2ZXIoJHZlcmJvc2UsICIiLCAkY2VydGZpbGUpOwogICAgICAgICAgICAgICAgIGlmKCRwaWQgPD0gMCkgewogICAgICAgICAgICAgICAgICAgICByZXR1cm4gImZhaWxlZCBzdGFydGluZyBGVFBTIHNlcnZlciAoc3R1bm5lbCkiOwogICAgICAgICAgICAgICAgIH0KQEAgLTQ3NDksNyArNDc4OSw4IEBACiAgICAgICAgICAgICAgICAgJHJ1bnsnaHR0cCd9PSIkcGlkICRwaWQyIjsKICAgICAgICAgICAgIH0KICAgICAgICAgICAgIGlmKCEkcnVueydodHRwcyd9KSB7Ci0gICAgICAgICAgICAgICAgKCRwaWQsICRwaWQyKSA9IHJ1bmh0dHBzc2VydmVyKCR2ZXJib3NlLCAiIiwgJGNlcnRmaWxlKTsKKyAgICAgICAgICAgICAgICAoJHBpZCwgJHBpZDIsICRIVFRQU1BPUlQpID0KKyAgICAgICAgICAgICAgICAgICAgcnVuaHR0cHNzZXJ2ZXIoJHZlcmJvc2UsICIiLCAiIiwgJGNlcnRmaWxlKTsKICAgICAgICAgICAgICAgICBpZigkcGlkIDw9IDApIHsKICAgICAgICAgICAgICAgICAgICAgcmV0dXJuICJmYWlsZWQgc3RhcnRpbmcgSFRUUFMgc2VydmVyIChzdHVubmVsKSI7CiAgICAgICAgICAgICAgICAgfQpAQCAtNDc1OCw2ICs0Nzk5LDM1IEBACiAgICAgICAgICAgICAgICAgJHJ1bnsnaHR0cHMnfT0iJHBpZCAkcGlkMiI7CiAgICAgICAgICAgICB9CiAgICAgICAgIH0KKyAgICAgICAgZWxzaWYoJHdoYXQgZXEgImh0dHBzLXByb3h5IikgeworICAgICAgICAgICAgaWYoISRzdHVubmVsKSB7CisgICAgICAgICAgICAgICAgIyB3ZSBjYW4ndCBydW4gaHR0cHMtcHJveHkgdGVzdHMgd2l0aG91dCBzdHVubmVsCisgICAgICAgICAgICAgICAgcmV0dXJuICJubyBzdHVubmVsIjsKKyAgICAgICAgICAgIH0KKyAgICAgICAgICAgIGlmKCRydW5jZXJ0eydodHRwcy1wcm94eSd9ICYmCisgICAgICAgICAgICAgICAoJHJ1bmNlcnR7J2h0dHBzLXByb3h5J30gbmUgJGNlcnRmaWxlKSkgeworICAgICAgICAgICAgICAgICMgc3RvcCBzZXJ2ZXIgd2hlbiBydW5uaW5nIGFuZCB1c2luZyBhIGRpZmZlcmVudCBjZXJ0CisgICAgICAgICAgICAgICAgc3RvcHNlcnZlcignaHR0cHMtcHJveHknKTsKKyAgICAgICAgICAgIH0KKworICAgICAgICAgICAgIyB3ZSBmcm9udCB0aGUgaHR0cC1wcm94eSB3aXRoIHN0dW5uZWwgc28gd2UgbmVlZCB0byBtYWtlIHN1cmUgdGhlCisgICAgICAgICAgICAjIHByb3h5IHJ1bnMgYXMgd2VsbAorICAgICAgICAgICAgbXkgJGYgPSBzdGFydHNlcnZlcnMoImh0dHAtcHJveHkiKTsKKyAgICAgICAgICAgIGlmKCRmKSB7CisgICAgICAgICAgICAgICAgcmV0dXJuICRmOzEKKyAgICAgICAgICAgIH0KKworICAgICAgICAgICAgaWYoISRydW57J2h0dHBzLXByb3h5J30pIHsKKyAgICAgICAgICAgICAgICAoJHBpZCwgJHBpZDIsICRIVFRQU1BST1hZUE9SVCkgPQorICAgICAgICAgICAgICAgICAgICBydW5odHRwc3NlcnZlcigkdmVyYm9zZSwgIiIsICJwcm94eSIsICRjZXJ0ZmlsZSk7CisgICAgICAgICAgICAgICAgaWYoJHBpZCA8PSAwKSB7CisgICAgICAgICAgICAgICAgICAgIHJldHVybiAiZmFpbGVkIHN0YXJ0aW5nIEhUVFBTLXByb3h5IChzdHVubmVsKSI7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgIGxvZ21zZyBzcHJpbnRmKCIqIHBpZCBodHRwcy1wcm94eSA9PiAlZCAlZFxuIiwgJHBpZCwgJHBpZDIpCisgICAgICAgICAgICAgICAgICAgIGlmKCR2ZXJib3NlKTsKKyAgICAgICAgICAgICAgICAkcnVueydodHRwcy1wcm94eSd9PSIkcGlkICRwaWQyIjsKKyAgICAgICAgICAgIH0KKyAgICAgICAgfQogICAgICAgICBlbHNpZigkd2hhdCBlcSAiaHR0cHRscyIpIHsKICAgICAgICAgICAgIGlmKCEkaHR0cHRsc3NydikgewogICAgICAgICAgICAgICAgICMgZm9yIG5vdywgd2UgY2FuJ3QgcnVuIGh0dHAgVExTLUVYVCB0ZXN0cyB3aXRob3V0IGdudXRscy1zZXJ2CkBAIC00ODI4LDcgKzQ4OTgsNyBAQAogICAgICAgICB9CiAgICAgICAgIGVsc2lmKCR3aGF0IGVxICJzZnRwIiB8fCAkd2hhdCBlcSAic2NwIikgewogICAgICAgICAgICAgaWYoISRydW57J3NzaCd9KSB7Ci0gICAgICAgICAgICAgICAgKCRwaWQsICRwaWQyKSA9IHJ1bnNzaHNlcnZlcigiIiwgJHZlcmJvc2UpOworICAgICAgICAgICAgICAgICgkcGlkLCAkcGlkMiwgJFNTSFBPUlQpID0gcnVuc3Noc2VydmVyKCIiLCAkdmVyYm9zZSk7CiAgICAgICAgICAgICAgICAgaWYoJHBpZCA8PSAwKSB7CiAgICAgICAgICAgICAgICAgICAgIHJldHVybiAiZmFpbGVkIHN0YXJ0aW5nIFNTSCBzZXJ2ZXIiOwogICAgICAgICAgICAgICAgIH0KQEAgLTUxMTAsNiArNTE4MCwxMyBAQAogIyBDaGVjayBvcHRpb25zIHRvIHRoaXMgdGVzdCBwcm9ncmFtCiAjCiAKKyMgU3BlY2lhbCBjYXNlIGZvciBDTWFrZTogcmVwbGFjZSAnJHtURkxBR1N9JyBieSB0aGUgY29udGVudHMgb2YgdGhlCisjIGVudmlyb25tZW50IHZhcmlhYmxlIChpZiBhbnkpLgoraWYoQEFSR1YgJiYgJEFSR1ZbLTFdIGVxICcke1RGTEFHU30nKSB7CisgICAgcG9wIEBBUkdWOworICAgIHB1c2goQEFSR1YsIHNwbGl0KCcgJywgJEVOVnsnVEZMQUdTJ30pKSBpZiBkZWZpbmVkKCRFTlZ7J1RGTEFHUyd9KTsKK30KKwogbXkgJG51bWJlcj0wOwogbXkgJGZyb21udW09LTE7CiBteSBAdGVzdHRoaXM7CkBAIC01Mzk0LDkgKzU0NzEsNiBAQAogfQogCiAkbWlucG9ydCAgICAgICAgID0gJGJhc2U7ICMgb3JpZ2luYWwgYmFzZSBwb3J0IG51bWJlcgotJEhUVFBTUE9SVCAgICAgICA9ICRiYXNlKys7ICMgSFRUUFMgKHN0dW5uZWwpIHNlcnZlciBwb3J0Ci0kRlRQU1BPUlQgICAgICAgID0gJGJhc2UrKzsgIyBGVFBTIChzdHVubmVsKSBzZXJ2ZXIgcG9ydAotJFNTSFBPUlQgICAgICAgICA9ICRiYXNlKys7ICMgU1NIIChTQ1AvU0ZUUCkgcG9ydAogJEhUVFBUTFNQT1JUICAgICA9ICRiYXNlKys7ICMgSFRUUCBUTFMgKG5vbi1zdHVubmVsKSBzZXJ2ZXIgcG9ydAogJEhUVFBUTFM2UE9SVCAgICA9ICRiYXNlKys7ICMgSFRUUCBUTFMgKG5vbi1zdHVubmVsKSBJUHY2IHNlcnZlciBwb3J0CiAkSFRUUDJQT1JUICAgICAgID0gJGJhc2UrKzsgIyBIVFRQLzIgcG9ydApAQCAtNTQ0Nyw3ICs1NTIxLDcgQEAKICAgICAgICAgICAgICAgICBteSAoJG4pID0gJDE7CiAgICAgICAgICAgICAgICAgJGRpc2FibGVkeyRufT0kbjsgIyBkaXNhYmxlIHRoaXMgdGVzdCBudW1iZXIKICAgICAgICAgICAgICAgICBpZighIC1mICIkc3JjZGlyL2RhdGEvdGVzdCRuIikgewotICAgICAgICAgICAgICAgICAgICBwcmludCBTVERFUlIgIldBUk5JTkchIE5vbi1leGl0aW5nIHRlc3QgJG4gaW4gRElTQUJMRUQhXG4iOworICAgICAgICAgICAgICAgICAgICBwcmludCBTVERFUlIgIldBUk5JTkchIE5vbi1leGlzdGluZyB0ZXN0ICRuIGluIERJU0FCTEVEIVxuIjsKICAgICAgICAgICAgICAgICAgICAgIyBmYWlsIGhhcmQgdG8gbWFrZSB1c2VyIG5vdGljZQogICAgICAgICAgICAgICAgICAgICBleGl0IDE7CiAgICAgICAgICAgICAgICAgfQpkaWZmIC0tZ2l0IGEvdGVzdHMvc2VjdXJlc2VydmVyLnBsIGIvdGVzdHMvc2VjdXJlc2VydmVyLnBsCmluZGV4IGM1MjVlZjcuLmFjMjc5Y2IgMTAwNzU1Ci0tLSBhL3Rlc3RzL3NlY3VyZXNlcnZlci5wbAorKysgYi90ZXN0cy9zZWN1cmVzZXJ2ZXIucGwKQEAgLTM0NCw3ICszNDQsNyBAQAogICAgICMgUHV0IGFuICJleGVjIiBpbiBmcm9udCBvZiB0aGUgY29tbWFuZCBzbyB0aGF0IHRoZSBjaGlsZCBwcm9jZXNzCiAgICAgIyBrZWVwcyB0aGlzIGNoaWxkJ3MgcHJvY2VzcyBJRCBieSBiZWluZyB0aWVkIHRvIHRoZSBzcGF3bmVkIHNoZWxsLgogICAgIGV4ZWMoImV4ZWMgJGNtZCIpIHx8IGRpZSAiQ2FuJ3QgZXhlYygpICRjbWQ6ICQhIjsKLSAgICAjIGV4ZWMoKSB3aWxsIGNyZWF0ZSBhIG5ldyBwcm9jZXNzLCBidXQgdGllcyB0aGUgZXhpc3RhbmNlIG9mIHRoZQorICAgICMgZXhlYygpIHdpbGwgY3JlYXRlIGEgbmV3IHByb2Nlc3MsIGJ1dCB0aWVzIHRoZSBleGlzdGVuY2Ugb2YgdGhlCiAgICAgIyBuZXcgcHJvY2VzcyB0byB0aGUgcGFyZW50IHdhaXRpbmcgcGVybC5leGUgYW5kIHNoLmV4ZSBwcm9jZXNzZXMuCiAKICAgICAjIGV4ZWMoKSBzaG91bGQgbmV2ZXIgcmV0dXJuIGJhY2sgaGVyZSB0byB0aGlzIHByb2Nlc3MuIFdlIHByb3RlY3QKZGlmZiAtLWdpdCBhL3Rlc3RzL3NlcnZlci9DTWFrZUxpc3RzLnR4dCBiL3Rlc3RzL3NlcnZlci9DTWFrZUxpc3RzLnR4dAppbmRleCA3YzY0ZjBhLi4zYmZhNjQ5IDEwMDY0NAotLS0gYS90ZXN0cy9zZXJ2ZXIvQ01ha2VMaXN0cy50eHQKKysrIGIvdGVzdHMvc2VydmVyL0NNYWtlTGlzdHMudHh0CkBAIC0yNiw3ICsyNiw4IEBACiBlbmRpZigpCiAKIGZ1bmN0aW9uKFNFVFVQX0VYRUNVVEFCTEUgVEVTVF9OQU1FKSAgICAjIEFSR04gYXJlIHRoZSBmaWxlcyBpbiB0aGUgdGVzdAotICBhZGRfZXhlY3V0YWJsZSgke1RFU1RfTkFNRX0gJHtBUkdOfSkKKyAgYWRkX2V4ZWN1dGFibGUoJHtURVNUX05BTUV9IEVYQ0xVREVfRlJPTV9BTEwgJHtBUkdOfSkKKyAgYWRkX2RlcGVuZGVuY2llcyh0ZXN0ZGVwcyAke1RFU1RfTkFNRX0pCiAgIHN0cmluZyhUT1VQUEVSICR7VEVTVF9OQU1FfSBVUFBFUl9URVNUX05BTUUpCiAKICAgaW5jbHVkZV9kaXJlY3RvcmllcygKZGlmZiAtLWdpdCBhL3Rlc3RzL3NlcnZlci9NYWtlZmlsZS5pbmMgYi90ZXN0cy9zZXJ2ZXIvTWFrZWZpbGUuaW5jCmluZGV4IGZiMTNkNzkuLjU1YmMzYTcgMTAwNjQ0Ci0tLSBhL3Rlc3RzL3NlcnZlci9NYWtlZmlsZS5pbmMKKysrIGIvdGVzdHMvc2VydmVyL01ha2VmaWxlLmluYwpAQCAtMjgsMTQgKzI4LDIwIEBACiAgLi4vLi4vbGliL25vbmJsb2NrLmMgXAogIC4uLy4uL2xpYi9zdHJ0b29mZnQuYyBcCiAgLi4vLi4vbGliL3dhcm5sZXNzLmMgXAotIC4uLy4uL2xpYi9jdXJsX2N0eXBlLmMKKyAuLi8uLi9saWIvY3VybF9jdHlwZS5jIFwKKyAuLi8uLi9saWIvZHluYnVmLmMgXAorIC4uLy4uL2xpYi9zdHJkdXAuYyBcCisgLi4vLi4vbGliL2N1cmxfbXVsdGlieXRlLmMKIAogQ1VSTFhfSERSUyA9IFwKICAuLi8uLi9saWIvY3VybHguaCBcCiAgLi4vLi4vbGliL25vbmJsb2NrLmggXAogIC4uLy4uL2xpYi9zdHJ0b29mZnQuaCBcCiAgLi4vLi4vbGliL3dhcm5sZXNzLmggXAotIC4uLy4uL2xpYi9jdXJsX2N0eXBlLmgKKyAuLi8uLi9saWIvY3VybF9jdHlwZS5oIFwKKyAuLi8uLi9saWIvZHluYnVmLmggXAorIC4uLy4uL2xpYi9zdHJkdXAuaCBcCisgLi4vLi4vbGliL2N1cmxfbXVsdGlieXRlLmgKIAogVVNFRlVMID0gXAogIGdldHBhcnQuYyBcCmRpZmYgLS1naXQgYS90ZXN0cy9zZXJ2ZXIvc29ja2ZpbHQuYyBiL3Rlc3RzL3NlcnZlci9zb2NrZmlsdC5jCmluZGV4IDg0YzcyZjkuLjZiMzc1OGMgMTAwNjQ0Ci0tLSBhL3Rlc3RzL3NlcnZlci9zb2NrZmlsdC5jCisrKyBiL3Rlc3RzL3NlcnZlci9zb2NrZmlsdC5jCkBAIC03NSw3ICs3NSw3IEBACiAgKiBzdHJ1Y3R1cmVkIGFuZCB3ZWxsIGJlaGF2ZWQgbWFubmVyIHRvIGFjaGlldmUgcHJvcGVyIHByb2dyYW0gY2xlYW51cCBhbmQKICAqIHRlcm1pbmF0aW9uLgogICoKLSAqIEV2ZW4gd2l0aCB0aGUgYWJvdmUgbWVjaGFuaXNtIGltcGxlbWVudGVkIGl0IGlzIHdvcnRod2lsZSB0byBub3RlIHRoYXQKKyAqIEV2ZW4gd2l0aCB0aGUgYWJvdmUgbWVjaGFuaXNtIGltcGxlbWVudGVkIGl0IGlzIHdvcnRod2hpbGUgdG8gbm90ZSB0aGF0CiAgKiBvdGhlciBzaWduYWxzIG1pZ2h0IHN0aWxsIGJlIHJlY2VpdmVkLCBvciB0aGF0IHRoZXJlIG1pZ2h0IGJlIHN5c3RlbXMgb24KICAqIHdoaWNoIGl0IGlzIG5vdCBwb3NzaWJsZSB0byB0cmFwIGFuZCBpZ25vcmUgc29tZSBvZiB0aGUgYWJvdmUgc2lnbmFscy4KICAqIFRoaXMgaW1wbGllcyB0aGF0IGZvciBpbmNyZWFzZWQgcG9ydGFiaWxpdHkgYW5kIHJlbGlhYmlsaXR5IHRoZSBwcm9ncmFtCkBAIC02NzYsNyArNjc2LDcgQEAKICAgfQogCiAgIC8qIGFsbG9jYXRlIGludGVybmFsIGFycmF5IGZvciB0aGUgaW50ZXJuYWwgZXZlbnQgaGFuZGxlcyAqLwotICBoYW5kbGVzID0gY2FsbG9jKG5mZHMsIHNpemVvZihIQU5ETEUpKTsKKyAgaGFuZGxlcyA9IGNhbGxvYyhuZmRzICsgMSwgc2l6ZW9mKEhBTkRMRSkpOwogICBpZihoYW5kbGVzID09IE5VTEwpIHsKICAgICBDbG9zZUhhbmRsZShhYm9ydCk7CiAgICAgQ2xvc2VIYW5kbGUobXV0ZXgpOwpAQCAtNjg3LDcgKzY4Nyw3IEBACiAKICAgLyogbG9vcCBvdmVyIHRoZSBoYW5kbGVzIGluIHRoZSBpbnB1dCBkZXNjcmlwdG9yIHNldHMgKi8KICAgbmZkID0gMDsgLyogbnVtYmVyIG9mIGhhbmRsZWQgZmlsZSBkZXNjcmlwdG9ycyAqLwotICBudGggPSAwOyAvKiBudW1iZXIgb2YgaW50ZXJhbCB3YWl0aW5nIHRocmVhZHMgKi8KKyAgbnRoID0gMDsgLyogbnVtYmVyIG9mIGludGVybmFsIHdhaXRpbmcgdGhyZWFkcyAqLwogICBud3MgPSAwOyAvKiBudW1iZXIgb2YgaGFuZGxlZCBXSU5TT0NLIHNvY2tldHMgKi8KICAgZm9yKGZkID0gMDsgZmQgPCBuZmRzOyBmZCsrKSB7CiAgICAgd3Nhc29jayA9IGN1cmx4X3NpdG9zayhmZCk7CkBAIC03ODUsOCArNzg1LDE4IEBACiAgICAgfQogICB9CiAKKyAgLyogd2FpdCBvbiB0aGUgbnVtYmVyIG9mIGhhbmRsZXMgKi8KKyAgd2FpdCA9IG5mZDsKKworICAvKiBtYWtlIHN1cmUgd2Ugc3RvcCB3YWl0aW5nIG9uIGV4aXQgc2lnbmFsIGV2ZW50ICovCisgIGlmKGV4aXRfZXZlbnQpIHsKKyAgICAvKiB3ZSBhbGxvY2F0ZWQgaGFuZGxlcyBuZmRzICsgMSBmb3IgdGhpcyAqLworICAgIGhhbmRsZXNbbmZkXSA9IGV4aXRfZXZlbnQ7CisgICAgd2FpdCArPSAxOworICB9CisKICAgLyogd2FpdCBmb3Igb25lIG9mIHRoZSBpbnRlcm5hbCBoYW5kbGVzIHRvIHRyaWdnZXIgKi8KLSAgd2FpdCA9IFdhaXRGb3JNdWx0aXBsZU9iamVjdHNFeChuZmQsIGhhbmRsZXMsIEZBTFNFLCB0aW1lb3V0X21zLCBGQUxTRSk7CisgIHdhaXQgPSBXYWl0Rm9yTXVsdGlwbGVPYmplY3RzRXgod2FpdCwgaGFuZGxlcywgRkFMU0UsIHRpbWVvdXRfbXMsIEZBTFNFKTsKIAogICAvKiB3YWl0IGZvciBpbnRlcm5hbCBtdXRleCB0byBsb2NrIGV2ZW50IGhhbmRsaW5nIGluIHRocmVhZHMgKi8KICAgV2FpdEZvclNpbmdsZU9iamVjdEV4KG11dGV4LCBJTkZJTklURSwgRkFMU0UpOwpkaWZmIC0tZ2l0IGEvdGVzdHMvc2VydmVyL3N3cy5jIGIvdGVzdHMvc2VydmVyL3N3cy5jCmluZGV4IDQ4ZWEyNmQuLmIwZjJhODMgMTAwNjQ0Ci0tLSBhL3Rlc3RzL3NlcnZlci9zd3MuYworKysgYi90ZXN0cy9zZXJ2ZXIvc3dzLmMKQEAgLTE1NCw2ICsxNTQsMTAgQEAKICNkZWZpbmUgUkVRVUVTVF9QUk9YWV9EVU1QICAibG9nL3Byb3h5LmlucHV0IgogI2RlZmluZSBSRVNQT05TRV9QUk9YWV9EVU1QICJsb2cvcHJveHkucmVzcG9uc2UiCiAKKy8qIGZpbGUgaW4gd2hpY2ggYWRkaXRpb25hbCBpbnN0cnVjdGlvbnMgbWF5IGJlIGZvdW5kICovCisjZGVmaW5lIERFRkFVTFRfQ01ERklMRSAibG9nL2Z0cHNlcnZlci5jbWQiCitjb25zdCBjaGFyICpjbWRmaWxlID0gREVGQVVMVF9DTURGSUxFOworCiAvKiB2ZXJ5LWJpZy1wYXRoIHN1cHBvcnQgKi8KICNkZWZpbmUgTUFYRE9DTkFNRUxFTiAxNDAwMDAKICNkZWZpbmUgTUFYRE9DTkFNRUxFTl9UWFQgIjEzOTk5OSIKQEAgLTIzMSw2ICsyMzUsMjQgQEAKICAgfQogfQogCisvKiBwYXJzZSB0aGUgZmlsZSBvbiBkaXNrIHRoYXQgbWlnaHQgaGF2ZSBhIHRlc3QgbnVtYmVyIGZvciB1cyAqLworc3RhdGljIGludCBwYXJzZV9jbWRmaWxlKHN0cnVjdCBodHRwcmVxdWVzdCAqcmVxKQoreworICBpbnQgdGVzdG51bSA9IERPQ05VTUJFUl9OT1RISU5HOworICBjaGFyIGJ1ZlsyNTZdOworICBGSUxFICpmID0gZm9wZW4oY21kZmlsZSwgRk9QRU5fUkVBRFRFWFQpOworICBpZihmKSB7CisgICAgd2hpbGUoZmdldHMoYnVmLCBzaXplb2YoYnVmKSwgZikpIHsKKyAgICAgIGlmKDEgPT0gc3NjYW5mKGJ1ZiwgIlRlc3RudW0gJWQiLCAmdGVzdG51bSkpIHsKKyAgICAgICAgbG9nbXNnKCJbJXNdIGNtZGZpbGUgc2F5cyB0ZXN0bnVtICVkIiwgY21kZmlsZSwgdGVzdG51bSk7CisgICAgICAgIHJlcS0+dGVzdG5vID0gdGVzdG51bTsKKyAgICAgIH0KKyAgICB9CisgICAgZmNsb3NlKGYpOworICB9CisgIHJldHVybiAwOworfQorCiAvKiBiYXNlZCBvbiB0aGUgdGVzdG5vLCBwYXJzZSB0aGUgY29ycmVjdCBzZXJ2ZXIgY29tbWFuZHMgKi8KIHN0YXRpYyBpbnQgcGFyc2Vfc2VydmVyY21kKHN0cnVjdCBodHRwcmVxdWVzdCAqcmVxKQogewpAQCAtNDg4LDM0ICs1MTAsNDEgQEAKIAogICAgICAgLyogZ2V0IHRoZSBudW1iZXIgYWZ0ZXIgaXQgKi8KICAgICAgIGlmKHB0cikgeworICAgICAgICBsb25nIG51bTsKICAgICAgICAgcHRyKys7IC8qIHNraXAgdGhlIGRvdCAqLwogCi0gICAgICAgIHJlcS0+dGVzdG5vID0gc3RydG9sKHB0ciwgJnB0ciwgMTApOworICAgICAgICBudW0gPSBzdHJ0b2wocHRyLCAmcHRyLCAxMCk7CiAKLSAgICAgICAgaWYocmVxLT50ZXN0bm8gPiAxMDAwMCkgewotICAgICAgICAgIHJlcS0+cGFydG5vID0gcmVxLT50ZXN0bm8gJSAxMDAwMDsKLSAgICAgICAgICByZXEtPnRlc3RubyAvPSAxMDAwMDsKKyAgICAgICAgaWYobnVtKSB7CisgICAgICAgICAgcmVxLT50ZXN0bm8gPSBudW07CisgICAgICAgICAgaWYocmVxLT50ZXN0bm8gPiAxMDAwMCkgeworICAgICAgICAgICAgcmVxLT5wYXJ0bm8gPSByZXEtPnRlc3RubyAlIDEwMDAwOworICAgICAgICAgICAgcmVxLT50ZXN0bm8gLz0gMTAwMDA7CiAKLSAgICAgICAgICBsb2dtc2coImZvdW5kIHRlc3QgJWQgaW4gcmVxdWVzdGVkIGhvc3QgbmFtZSIsIHJlcS0+dGVzdG5vKTsKKyAgICAgICAgICAgIGxvZ21zZygiZm91bmQgdGVzdCAlZCBpbiByZXF1ZXN0ZWQgaG9zdCBuYW1lIiwgcmVxLT50ZXN0bm8pOwogCisgICAgICAgICAgfQorICAgICAgICAgIGVsc2UKKyAgICAgICAgICAgIHJlcS0+cGFydG5vID0gMDsKICAgICAgICAgfQotICAgICAgICBlbHNlCi0gICAgICAgICAgcmVxLT5wYXJ0bm8gPSAwOwogCi0gICAgICAgIG1zbnByaW50Zihsb2didWYsIHNpemVvZihsb2didWYpLAotICAgICAgICAgICAgICAgICAgIlJlcXVlc3RlZCB0ZXN0IG51bWJlciAlbGQgcGFydCAlbGQgKGZyb20gaG9zdCBuYW1lKSIsCi0gICAgICAgICAgICAgICAgICByZXEtPnRlc3RubywgcmVxLT5wYXJ0bm8pOwotICAgICAgICBsb2dtc2coIiVzIiwgbG9nYnVmKTsKLQorICAgICAgICBpZihyZXEtPnRlc3RubyAhPSBET0NOVU1CRVJfTk9USElORykgeworICAgICAgICAgIGxvZ21zZygiUmVxdWVzdGVkIHRlc3QgbnVtYmVyICVsZCBwYXJ0ICVsZCAoZnJvbSBob3N0IG5hbWUpIiwKKyAgICAgICAgICAgICAgICAgcmVxLT50ZXN0bm8sIHJlcS0+cGFydG5vKTsKKyAgICAgICAgfQogICAgICAgfQotCi0gICAgICBpZighcmVxLT50ZXN0bm8pIHsKLSAgICAgICAgbG9nbXNnKCJEaWQgbm90IGZpbmQgdGVzdCBudW1iZXIgaW4gUEFUSCIpOwotICAgICAgICByZXEtPnRlc3RubyA9IERPQ05VTUJFUl80MDQ7Ci0gICAgICB9Ci0gICAgICBlbHNlCi0gICAgICAgIHBhcnNlX3NlcnZlcmNtZChyZXEpOwogICAgIH0KKworICAgIGlmKHJlcS0+dGVzdG5vID09IERPQ05VTUJFUl9OT1RISU5HKQorICAgICAgLyogbWlnaHQgZ2V0IHRoZSB0ZXN0IG51bWJlciAqLworICAgICAgcGFyc2VfY21kZmlsZShyZXEpOworCisgICAgaWYocmVxLT50ZXN0bm8gPT0gRE9DTlVNQkVSX05PVEhJTkcpIHsKKyAgICAgIGxvZ21zZygiRGlkIG5vdCBmaW5kIHRlc3QgbnVtYmVyIGluIFBBVEgiKTsKKyAgICAgIHJlcS0+dGVzdG5vID0gRE9DTlVNQkVSXzQwNDsKKyAgICB9CisgICAgZWxzZQorICAgICAgcGFyc2Vfc2VydmVyY21kKHJlcSk7CiAgIH0KICAgZWxzZSBpZigocmVxLT5vZmZzZXQgPj0gMykgJiYgKHJlcS0+dGVzdG5vID09IERPQ05VTUJFUl9OT1RISU5HKSkgewogICAgIGxvZ21zZygiKiogVW51c3VhbCByZXF1ZXN0LiBTdGFydHMgd2l0aCAlMDJ4ICUwMnggJTAyeCAoJWMlYyVjKSIsCkBAIC0xODg2LDYgKzE5MTUsMTEgQEAKICAgICAgIGlmKGFyZ2M+YXJnKQogICAgICAgICBzZXJ2ZXJsb2dmaWxlID0gYXJndlthcmcrK107CiAgICAgfQorICAgIGVsc2UgaWYoIXN0cmNtcCgiLS1jbWRmaWxlIiwgYXJndlthcmddKSkgeworICAgICAgYXJnKys7CisgICAgICBpZihhcmdjPmFyZykKKyAgICAgICAgY21kZmlsZSA9IGFyZ3ZbYXJnKytdOworICAgIH0KICAgICBlbHNlIGlmKCFzdHJjbXAoIi0tZ29waGVyIiwgYXJndlthcmddKSkgewogICAgICAgYXJnKys7CiAgICAgICB1c2VfZ29waGVyID0gVFJVRTsKQEAgLTIxNzIsNiArMjIwNiw3IEBACiAgICAgZmRfc2V0IG91dHB1dDsKICAgICBzdHJ1Y3QgdGltZXZhbCB0aW1lb3V0ID0gezAsIDI1MDAwMEx9OyAvKiAyNTAgbXMgKi8KICAgICBjdXJsX3NvY2tldF90IG1heGZkID0gKGN1cmxfc29ja2V0X3QpLTE7CisgICAgaW50IGFjdGl2ZTsKIAogICAgIC8qIENsZWFyIG91dCBjbG9zZWQgc29ja2V0cyAqLwogICAgIGZvcihzb2NrZXRfaWR4ID0gbnVtX3NvY2tldHMgLSAxOyBzb2NrZXRfaWR4ID49IDE7IC0tc29ja2V0X2lkeCkgewpAQCAtMjIxOSw2ICsyMjU0LDcgQEAKICAgICAgIC8qIFRpbWVkIG91dCAtIHRyeSBhZ2FpbiAqLwogICAgICAgY29udGludWU7CiAgICAgfQorICAgIGFjdGl2ZSA9IHJjOyAvKiBhIHBvc2l0aXZlIG51bWJlciAqLwogCiAgICAgLyogQ2hlY2sgaWYgdGhlIGxpc3RlbmluZyBzb2NrZXQgaXMgcmVhZHkgdG8gYWNjZXB0ICovCiAgICAgaWYoRkRfSVNTRVQoYWxsX3NvY2tldHNbMF0sICZpbnB1dCkpIHsKQEAgLTIyMzAsMTEgKzIyNjYsMTMgQEAKICAgICAgICAgaWYoQ1VSTF9TT0NLRVRfQkFEID09IG1zZ3NvY2spCiAgICAgICAgICAgZ290byBzd3NfY2xlYW51cDsKICAgICAgIH0gd2hpbGUobXNnc29jayA+IDApOworICAgICAgYWN0aXZlLS07CiAgICAgfQogCiAgICAgLyogU2VydmljZSBhbGwgY29ubmVjdGlvbnMgdGhhdCBhcmUgcmVhZHkgKi8KLSAgICBmb3Ioc29ja2V0X2lkeCA9IDE7IHNvY2tldF9pZHggPCBudW1fc29ja2V0czsgKytzb2NrZXRfaWR4KSB7CisgICAgZm9yKHNvY2tldF9pZHggPSAxOyAoc29ja2V0X2lkeCA8IG51bV9zb2NrZXRzKSAmJiBhY3RpdmU7ICsrc29ja2V0X2lkeCkgewogICAgICAgaWYoRkRfSVNTRVQoYWxsX3NvY2tldHNbc29ja2V0X2lkeF0sICZpbnB1dCkpIHsKKyAgICAgICAgYWN0aXZlLS07CiAgICAgICAgIGlmKGdvdF9leGl0X3NpZ25hbCkKICAgICAgICAgICBnb3RvIHN3c19jbGVhbnVwOwogCmRpZmYgLS1naXQgYS90ZXN0cy9zZXJ2ZXIvdGZ0cGQuYyBiL3Rlc3RzL3NlcnZlci90ZnRwZC5jCmluZGV4IDBjMGU5YmUuLjQyMTViZmUgMTAwNjQ0Ci0tLSBhL3Rlc3RzL3NlcnZlci90ZnRwZC5jCisrKyBiL3Rlc3RzL3NlcnZlci90ZnRwZC5jCkBAIC03OCw3ICs3OCw5IEBACiAjaW5jbHVkZSA8c3lzL2ZpbGlvLmg+CiAjZW5kaWYKIAorI2lmZGVmIEhBVkVfU0VUSk1QX0gKICNpbmNsdWRlIDxzZXRqbXAuaD4KKyNlbmRpZgogCiAjaWZkZWYgSEFWRV9QV0RfSAogI2luY2x1ZGUgPHB3ZC5oPgpAQCAtMTE4Myw4ICsxMTg1LDkgQEAKICAgICB9CiAKICAgICBzZW5kX2RhdGE6CisgICAgbG9nbXNnKCJ3cml0ZSIpOwogICAgIGlmKHN3cml0ZShwZWVyLCBzZHAsIHNpemUgKyA0KSAhPSBzaXplICsgNCkgewotICAgICAgbG9nbXNnKCJ3cml0ZSIpOworICAgICAgbG9nbXNnKCJ3cml0ZTogZmFpbCIpOwogICAgICAgcmV0dXJuOwogICAgIH0KICAgICByZWFkX2FoZWFkKHRlc3QsIHBmLT5mX2NvbnZlcnQpOwpAQCAtMTE5Miw3ICsxMTk1LDkgQEAKICNpZmRlZiBIQVZFX0FMQVJNCiAgICAgICBhbGFybShyZXhtdHZhbCk7ICAgICAgICAvKiByZWFkIHRoZSBhY2sgKi8KICNlbmRpZgorICAgICAgbG9nbXNnKCJyZWFkIik7CiAgICAgICBuID0gc3JlYWQocGVlciwgJmFja2J1Zi5zdG9yYWdlWzBdLCBzaXplb2YoYWNrYnVmLnN0b3JhZ2UpKTsKKyAgICAgIGxvZ21zZygicmVhZDogJXpkIiwgbik7CiAjaWZkZWYgSEFWRV9BTEFSTQogICAgICAgYWxhcm0oMCk7CiAjZW5kaWYKQEAgLTEyNTIsOCArMTI1Nyw5IEBACiAgICAgKHZvaWQpIHNpZ3NldGptcCh0aW1lb3V0YnVmLCAxKTsKICNlbmRpZgogc2VuZF9hY2s6CisgICAgbG9nbXNnKCJ3cml0ZSIpOwogICAgIGlmKHN3cml0ZShwZWVyLCAmYWNrYnVmLnN0b3JhZ2VbMF0sIDQpICE9IDQpIHsKLSAgICAgIGxvZ21zZygid3JpdGU6IGZhaWxcbiIpOworICAgICAgbG9nbXNnKCJ3cml0ZTogZmFpbCIpOwogICAgICAgZ290byBhYm9ydDsKICAgICB9CiAgICAgd3JpdGVfYmVoaW5kKHRlc3QsIHBmLT5mX2NvbnZlcnQpOwpAQCAtMTI2MSwxNCArMTI2NywxNiBAQAogI2lmZGVmIEhBVkVfQUxBUk0KICAgICAgIGFsYXJtKHJleG10dmFsKTsKICNlbmRpZgorICAgICAgbG9nbXNnKCJyZWFkIik7CiAgICAgICBuID0gc3JlYWQocGVlciwgcmRwLCBQS1RTSVpFKTsKKyAgICAgIGxvZ21zZygicmVhZDogJXpkIiwgbik7CiAjaWZkZWYgSEFWRV9BTEFSTQogICAgICAgYWxhcm0oMCk7CiAjZW5kaWYKICAgICAgIGlmKGdvdF9leGl0X3NpZ25hbCkKICAgICAgICAgZ290byBhYm9ydDsKICAgICAgIGlmKG4gPCAwKSB7ICAgICAgICAgICAgICAgICAgICAgICAvKiByZWFsbHk/ICovCi0gICAgICAgIGxvZ21zZygicmVhZDogZmFpbFxuIik7CisgICAgICAgIGxvZ21zZygicmVhZDogZmFpbCIpOwogICAgICAgICBnb3RvIGFib3J0OwogICAgICAgfQogICAgICAgcmRwLT50aF9vcGNvZGUgPSBudG9ocygodW5zaWduZWQgc2hvcnQpcmRwLT50aF9vcGNvZGUpOwpkaWZmIC0tZ2l0IGEvdGVzdHMvc2VydmVyL3V0aWwuYyBiL3Rlc3RzL3NlcnZlci91dGlsLmMKaW5kZXggZjU3NmI5Yy4uNTc3YTU2YyAxMDA2NDQKLS0tIGEvdGVzdHMvc2VydmVyL3V0aWwuYworKysgYi90ZXN0cy9zZXJ2ZXIvdXRpbC5jCkBAIC0xOTksNyArMTk5LDcgQEAKICAgRklMRSAqc3RyZWFtOwogICBjaGFyIGZpbGVuYW1lWzI1Nl07CiAgIC8qIGZpcnN0IHRyeSB0aGUgYWx0ZXJuYXRpdmUsIHByZXByb2Nlc3NlZCwgZmlsZSAqLwotICBtc25wcmludGYoZmlsZW5hbWUsIHNpemVvZihmaWxlbmFtZSksIEFMVFRFU1RfREFUQV9QQVRILCBwYXRoLCB0ZXN0bm8pOworICBtc25wcmludGYoZmlsZW5hbWUsIHNpemVvZihmaWxlbmFtZSksIEFMVFRFU1RfREFUQV9QQVRILCAiLiIsIHRlc3Rubyk7CiAgIHN0cmVhbSA9IGZvcGVuKGZpbGVuYW1lLCAicmIiKTsKICAgaWYoc3RyZWFtKQogICAgIHJldHVybiBzdHJlYW07CkBAIC0yOTAsNyArMjkwLDcgQEAKICNlbmRpZgogICBmcHJpbnRmKHBpZGZpbGUsICIlIiBDVVJMX0ZPUk1BVF9DVVJMX09GRl9UICJcbiIsIHBpZCk7CiAgIGZjbG9zZShwaWRmaWxlKTsKLSAgbG9nbXNnKCJXcm90ZSBwaWQgJWxkIHRvICVzIiwgcGlkLCBmaWxlbmFtZSk7CisgIGxvZ21zZygiV3JvdGUgcGlkICUiIENVUkxfRk9STUFUX0NVUkxfT0ZGX1QgIiB0byAlcyIsIHBpZCwgZmlsZW5hbWUpOwogICByZXR1cm4gMTsgLyogc3VjY2VzcyAqLwogfQogCkBAIC01ODAsNiArNTgwLDExIEBACiAvKiBpZiBuZXh0IGlzIHNldCBpbmRpY2F0ZXMgdGhlIGZpcnN0IHNpZ25hbCBoYW5kbGVkIGluIGV4aXRfc2lnbmFsX2hhbmRsZXIgKi8KIHZvbGF0aWxlIGludCBleGl0X3NpZ25hbCA9IDA7CiAKKyNpZmRlZiBXSU4zMgorLyogZXZlbnQgd2hpY2ggaWYgc2V0IGluZGljYXRlcyB0aGF0IHRoZSBwcm9ncmFtIHNob3VsZCBmaW5pc2ggKi8KK0hBTkRMRSBleGl0X2V2ZW50ID0gTlVMTDsKKyNlbmRpZgorCiAvKiBzaWduYWwgaGFuZGxlciB0aGF0IHdpbGwgYmUgdHJpZ2dlcmVkIHRvIGluZGljYXRlIHRoYXQgdGhlIHByb2dyYW0KICAqIHNob3VsZCBmaW5pc2ggaXRzIGV4ZWN1dGlvbiBpbiBhIGNvbnRyb2xsZWQgbWFubmVyIGFzIHNvb24gYXMgcG9zc2libGUuCiAgKiBUaGUgZmlyc3QgdGltZSB0aGlzIGlzIGNhbGxlZCBpdCB3aWxsIHNldCBnb3RfZXhpdF9zaWduYWwgdG8gb25lIGFuZApAQCAtNTkyLDYgKzU5NywxMCBAQAogICBpZihnb3RfZXhpdF9zaWduYWwgPT0gMCkgewogICAgIGdvdF9leGl0X3NpZ25hbCA9IDE7CiAgICAgZXhpdF9zaWduYWwgPSBzaWdudW07CisjaWZkZWYgV0lOMzIKKyAgICBpZihleGl0X2V2ZW50KQorICAgICAgKHZvaWQpU2V0RXZlbnQoZXhpdF9ldmVudCk7CisjZW5kaWYKICAgfQogICAodm9pZClzaWduYWwoc2lnbnVtLCBleGl0X3NpZ25hbF9oYW5kbGVyKTsKICAgZXJybm8gPSBvbGRfZXJybm87CkBAIC02MzIsNyArNjQxLDcgQEAKICAgfQogICBpZihzaWdudW0pIHsKICAgICBsb2dtc2coImN0cmxfZXZlbnRfaGFuZGxlcjogJWQgLT4gJWQiLCBkd0N0cmxUeXBlLCBzaWdudW0pOwotICAgIGV4aXRfc2lnbmFsX2hhbmRsZXIoc2lnbnVtKTsKKyAgICByYWlzZShzaWdudW0pOwogICB9CiAgIHJldHVybiBUUlVFOwogfQpAQCAtNjU2LDcgKzY2NSw3IEBACiAgICAgfQogICAgIGlmKHNpZ251bSkgewogICAgICAgbG9nbXNnKCJtYWluX3dpbmRvd19wcm9jOiAlZCAtPiAlZCIsIHVNc2csIHNpZ251bSk7Ci0gICAgICBleGl0X3NpZ25hbF9oYW5kbGVyKHNpZ251bSk7CisgICAgICByYWlzZShzaWdudW0pOwogICAgIH0KICAgfQogICByZXR1cm4gRGVmV2luZG93UHJvYyhod25kLCB1TXNnLCB3UGFyYW0sIGxQYXJhbSk7CkBAIC03MTIsNiArNzIxLDEyIEBACiAKIHZvaWQgaW5zdGFsbF9zaWduYWxfaGFuZGxlcnMoYm9vbCBrZWVwX3NpZ2Fscm0pCiB7CisjaWZkZWYgV0lOMzIKKyAgLyogc2V0dXAgd2luZG93cyBleGl0IGV2ZW50IGJlZm9yZSBhbnkgc2lnbmFsIGNhbiB0cmlnZ2VyICovCisgIGV4aXRfZXZlbnQgPSBDcmVhdGVFdmVudChOVUxMLCBUUlVFLCBGQUxTRSwgTlVMTCk7CisgIGlmKCFleGl0X2V2ZW50KQorICAgIGxvZ21zZygiY2Fubm90IGNyZWF0ZSBleGl0IGV2ZW50Iik7CisjZW5kaWYKICNpZmRlZiBTSUdIVVAKICAgLyogaWdub3JlIFNJR0hVUCBzaWduYWwgKi8KICAgb2xkX3NpZ2h1cF9oYW5kbGVyID0gc2lnbmFsKFNJR0hVUCwgU0lHX0lHTik7CkBAIC04MDMsOCArODE4LDE5IEBACiAjaWZkZWYgV0lOMzIKICAgKHZvaWQpU2V0Q29uc29sZUN0cmxIYW5kbGVyKGN0cmxfZXZlbnRfaGFuZGxlciwgRkFMU0UpOwogICBpZih0aHJlYWRfbWFpbl93aW5kb3cgJiYgdGhyZWFkX21haW5faWQpIHsKLSAgICBpZihQb3N0VGhyZWFkTWVzc2FnZSh0aHJlYWRfbWFpbl9pZCwgV01fQVBQLCAwLCAwKSkKLSAgICAgICh2b2lkKVdhaXRGb3JTaW5nbGVPYmplY3RFeCh0aHJlYWRfbWFpbl93aW5kb3csIElORklOSVRFLCBUUlVFKTsKKyAgICBpZihQb3N0VGhyZWFkTWVzc2FnZSh0aHJlYWRfbWFpbl9pZCwgV01fQVBQLCAwLCAwKSkgeworICAgICAgaWYoV2FpdEZvclNpbmdsZU9iamVjdEV4KHRocmVhZF9tYWluX3dpbmRvdywgSU5GSU5JVEUsIFRSVUUpKSB7CisgICAgICAgIGlmKENsb3NlSGFuZGxlKHRocmVhZF9tYWluX3dpbmRvdykpIHsKKyAgICAgICAgICB0aHJlYWRfbWFpbl93aW5kb3cgPSBOVUxMOworICAgICAgICAgIHRocmVhZF9tYWluX2lkID0gMDsKKyAgICAgICAgfQorICAgICAgfQorICAgIH0KKyAgfQorICBpZihleGl0X2V2ZW50KSB7CisgICAgaWYoQ2xvc2VIYW5kbGUoZXhpdF9ldmVudCkpIHsKKyAgICAgIGV4aXRfZXZlbnQgPSBOVUxMOworICAgIH0KICAgfQogI2VuZGlmCiB9CmRpZmYgLS1naXQgYS90ZXN0cy9zZXJ2ZXIvdXRpbC5oIGIvdGVzdHMvc2VydmVyL3V0aWwuaAppbmRleCA3M2Y1ZjQ1Li42Mjk1MzkyIDEwMDY0NAotLS0gYS90ZXN0cy9zZXJ2ZXIvdXRpbC5oCisrKyBiL3Rlc3RzL3NlcnZlci91dGlsLmgKQEAgLTM4LDYgKzM4LDggQEAKIC8qIGdsb2JhbCB2YXJpYWJsZSwgbG9nIGZpbGUgbmFtZSAqLwogZXh0ZXJuIGNvbnN0IGNoYXIgKnNlcnZlcmxvZ2ZpbGU7CiAKK2V4dGVybiBjb25zdCBjaGFyICpjbWRmaWxlOworCiAjaWYgZGVmaW5lZChXSU4zMikgfHwgZGVmaW5lZChfV0lOMzIpCiAjaW5jbHVkZSA8cHJvY2Vzcy5oPgogI2luY2x1ZGUgPGZjbnRsLmg+CkBAIC03MCw2ICs3MiwxMSBAQAogLyogZ2xvYmFsIHZhcmlhYmxlIHdoaWNoIGlmIHNldCBpbmRpY2F0ZXMgdGhlIGZpcnN0IHNpZ25hbCBoYW5kbGVkICovCiBleHRlcm4gdm9sYXRpbGUgaW50IGV4aXRfc2lnbmFsOwogCisjaWZkZWYgV0lOMzIKKy8qIGdsb2JhbCBldmVudCB3aGljaCBpZiBzZXQgaW5kaWNhdGVzIHRoYXQgdGhlIHByb2dyYW0gc2hvdWxkIGZpbmlzaCAqLworZXh0ZXJuIEhBTkRMRSBleGl0X2V2ZW50OworI2VuZGlmCisKIHZvaWQgaW5zdGFsbF9zaWduYWxfaGFuZGxlcnMoYm9vbCBrZWVwX3NpZ2Fscm0pOwogdm9pZCByZXN0b3JlX3NpZ25hbF9oYW5kbGVycyhib29sIGtlZXBfc2lnYWxybSk7CiAKZGlmZiAtLWdpdCBhL3Rlc3RzL3NzaHNlcnZlci5wbCBiL3Rlc3RzL3NzaHNlcnZlci5wbAppbmRleCAxODc0YjkzLi4yNGM5OGQ2IDEwMDY0NAotLS0gYS90ZXN0cy9zc2hzZXJ2ZXIucGwKKysrIGIvdGVzdHMvc3Noc2VydmVyLnBsCkBAIC0xMTIwLDcgKzExMjAsNyBAQAogICAgICMgUHV0IGFuICJleGVjIiBpbiBmcm9udCBvZiB0aGUgY29tbWFuZCBzbyB0aGF0IHRoZSBjaGlsZCBwcm9jZXNzCiAgICAgIyBrZWVwcyB0aGlzIGNoaWxkJ3MgcHJvY2VzcyBJRCBieSBiZWluZyB0aWVkIHRvIHRoZSBzcGF3bmVkIHNoZWxsLgogICAgIGV4ZWMoImV4ZWMgJGNtZCIpIHx8IGRpZSAiQ2FuJ3QgZXhlYygpICRjbWQ6ICQhIjsKLSAgICAjIGV4ZWMoKSB3aWxsIGNyZWF0ZSBhIG5ldyBwcm9jZXNzLCBidXQgdGllcyB0aGUgZXhpc3RhbmNlIG9mIHRoZQorICAgICMgZXhlYygpIHdpbGwgY3JlYXRlIGEgbmV3IHByb2Nlc3MsIGJ1dCB0aWVzIHRoZSBleGlzdGVuY2Ugb2YgdGhlCiAgICAgIyBuZXcgcHJvY2VzcyB0byB0aGUgcGFyZW50IHdhaXRpbmcgcGVybC5leGUgYW5kIHNoLmV4ZSBwcm9jZXNzZXMuCiAKICAgICAjIGV4ZWMoKSBzaG91bGQgbmV2ZXIgcmV0dXJuIGJhY2sgaGVyZSB0byB0aGlzIHByb2Nlc3MuIFdlIHByb3RlY3QKZGlmZiAtLWdpdCBhL3Rlc3RzL3Rlc3RjdXJsLjEgYi90ZXN0cy90ZXN0Y3VybC4xCmluZGV4IDk3OTYwZDMuLjY3ODBiYTMgMTAwNjQ0Ci0tLSBhL3Rlc3RzL3Rlc3RjdXJsLjEKKysrIGIvdGVzdHMvdGVzdGN1cmwuMQpAQCAtMjAsNyArMjAsNyBAQAogLlwiICoKIC5cIiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogLlwiCi0uVEggdGVzdGN1cmwucGwgMSAiT2N0b2JlciAyMiwgMjAxNiIgIkN1cmwgNy43MC4wIiAidGVzdGN1cmwiCisuVEggdGVzdGN1cmwucGwgMSAiT2N0b2JlciAyMiwgMjAxNiIgIkN1cmwgNy43MS4xIiAidGVzdGN1cmwiCiAKIC5TSCBOQU1FCiB0ZXN0Y3VybC5wbCBcLSAoYXV0b21hdGljYWxseSkgdGVzdCBjdXJsCmRpZmYgLS1naXQgYS90ZXN0cy91bml0L0NNYWtlTGlzdHMudHh0IGIvdGVzdHMvdW5pdC9DTWFrZUxpc3RzLnR4dAppbmRleCBhOGM0NjJiLi5lNWM0MTI3IDEwMDY0NAotLS0gYS90ZXN0cy91bml0L0NNYWtlTGlzdHMudHh0CisrKyBiL3Rlc3RzL3VuaXQvQ01ha2VMaXN0cy50eHQKQEAgLTIwLDYgKzIwLDkgQEAKICMKICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwogCisjIFRPRE8gYnVpbGQgYSBzcGVjaWFsIGxpYmN1cmx1IGxpYnJhcnkgZm9yIHVuaXR0ZXN0cy4KK3JldHVybigpCisKIHNldChVVF9TUkMKICAgdW5pdDEzMDAuYwogICB1bml0MTMwMS5jCkBAIC01OCwyMCArNjEsOSBAQAogZm9yZWFjaChfdGVzdGZpbGUgJHtVVF9TUkN9KQogCiAgIGdldF9maWxlbmFtZV9jb21wb25lbnQoX3Rlc3RuYW1lICR7X3Rlc3RmaWxlfSBOQU1FX1dFKQotICBhZGRfZXhlY3V0YWJsZSgke190ZXN0bmFtZX0gJHtfdGVzdGZpbGV9ICR7VVRfQ09NTU9OX0ZJTEVTfSkKKyAgYWRkX2V4ZWN1dGFibGUoJHtfdGVzdG5hbWV9IEVYQ0xVREVfRlJPTV9BTEwgJHtfdGVzdGZpbGV9ICR7VVRfQ09NTU9OX0ZJTEVTfSkKKyAgI2FkZF9kZXBlbmRlbmNpZXModGVzdGRlcHMgJHtfdGVzdG5hbWV9KQogICB0YXJnZXRfbGlua19saWJyYXJpZXMoJHtfdGVzdG5hbWV9IGxpYmN1cmwgJHtDVVJMX0xJQlN9KQogICBzZXRfdGFyZ2V0X3Byb3BlcnRpZXMoJHtfdGVzdG5hbWV9CiAgICAgICBQUk9QRVJUSUVTIENPTVBJTEVfREVGSU5JVElPTlMgIlVOSVRURVNUUyIpCi0KLSAgaWYoSElERVNfQ1VSTF9QUklWQVRFX1NZTUJPTFMpCi0gICAgc2V0X3RhcmdldF9wcm9wZXJ0aWVzKCR7X3Rlc3RuYW1lfQotICAgICAgUFJPUEVSVElFUwotICAgICAgRVhDTFVERV9GUk9NX0FMTCBUUlVFCi0gICAgICBFWENMVURFX0ZST01fREVGQVVMVF9CVUlMRCBUUlVFCi0gICAgKQotICBlbHNlKCkKLSAgICBhZGRfdGVzdChOQU1FICR7X3Rlc3RuYW1lfQotICAgICAgICAgICAgIENPTU1BTkQgJHtfdGVzdG5hbWV9ICJodHRwOi8vd3d3Lmdvb2dsZS5jb20iCi0gICAgKQotICBlbmRpZigpCiBlbmRmb3JlYWNoKCkKZGlmZiAtLWdpdCBhL3Rlc3RzL3VuaXQvdW5pdDEzMDUuYyBiL3Rlc3RzL3VuaXQvdW5pdDEzMDUuYwppbmRleCA2ZTRiYmI4Li41MGY2ZGE4IDEwMDY0NAotLS0gYS90ZXN0cy91bml0L3VuaXQxMzA1LmMKKysrIGIvdGVzdHMvdW5pdC91bml0MTMwNS5jCkBAIC01LDcgKzUsNyBAQAogICogICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAoX198IHxffCB8ICBfIDx8IHxfX18KICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcX19ffFxfX18vfF98IFxfXF9fX19ffAogICoKLSAqIENvcHlyaWdodCAoQykgMTk5OCAtIDIwMTcsIERhbmllbCBTdGVuYmVyZywgPGRhbmllbEBoYXh4LnNlPiwgZXQgYWwuCisgKiBDb3B5cmlnaHQgKEMpIDE5OTggLSAyMDIwLCBEYW5pZWwgU3RlbmJlcmcsIDxkYW5pZWxAaGF4eC5zZT4sIGV0IGFsLgogICoKICAqIFRoaXMgc29mdHdhcmUgaXMgbGljZW5zZWQgYXMgZGVzY3JpYmVkIGluIHRoZSBmaWxlIENPUFlJTkcsIHdoaWNoCiAgKiB5b3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYXMgcGFydCBvZiB0aGlzIGRpc3RyaWJ1dGlvbi4gVGhlIHRlcm1zCkBAIC03MywyNiArNzMsMjEgQEAKICAgY3VybF9nbG9iYWxfY2xlYW51cCgpOwogfQogCi1zdGF0aWMgQ3VybF9hZGRyaW5mbyAqZmFrZV9haSh2b2lkKQorc3RhdGljIHN0cnVjdCBDdXJsX2FkZHJpbmZvICpmYWtlX2FpKHZvaWQpCiB7Ci0gIHN0YXRpYyBDdXJsX2FkZHJpbmZvICphaTsKKyAgc3RhdGljIHN0cnVjdCBDdXJsX2FkZHJpbmZvICphaTsKKyAgc3RhdGljIGNvbnN0IGNoYXIgZHVtbXlbXT0iZHVtbXkiOworICBzaXplX3QgbmFtZWxlbiA9IHNpemVvZihkdW1teSk7IC8qIGluY2x1ZGluZyB0aGUgemVybyB0ZXJtaW5hdG9yICovCiAKLSAgYWkgPSBjYWxsb2MoMSwgc2l6ZW9mKEN1cmxfYWRkcmluZm8pKTsKKyAgYWkgPSBjYWxsb2MoMSwgc2l6ZW9mKHN0cnVjdCBDdXJsX2FkZHJpbmZvKSArIHNpemVvZihzdHJ1Y3Qgc29ja2FkZHJfaW4pICsKKyAgICAgICAgICAgICAgbmFtZWxlbik7CiAgIGlmKCFhaSkKICAgICByZXR1cm4gTlVMTDsKIAotICBhaS0+YWlfY2Fub25uYW1lID0gc3RyZHVwKCJkdW1teSIpOwotICBpZighYWktPmFpX2Nhbm9ubmFtZSkgewotICAgIGZyZWUoYWkpOwotICAgIHJldHVybiBOVUxMOwotICB9Ci0KLSAgYWktPmFpX2FkZHIgPSBjYWxsb2MoMSwgc2l6ZW9mKHN0cnVjdCBzb2NrYWRkcl9pbikpOwotICBpZighYWktPmFpX2FkZHIpIHsKLSAgICBmcmVlKGFpLT5haV9jYW5vbm5hbWUpOwotICAgIGZyZWUoYWkpOwotICAgIHJldHVybiBOVUxMOwotICB9CisgIGFpLT5haV9hZGRyID0gKHZvaWQgKikoKGNoYXIgKilhaSArIHNpemVvZihzdHJ1Y3QgQ3VybF9hZGRyaW5mbykpOworICBhaS0+YWlfY2Fub25uYW1lID0gKHZvaWQgKikoKGNoYXIgKilhaS0+YWlfYWRkciArCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzaXplb2Yoc3RydWN0IHNvY2thZGRyX2luKSk7CisgIG1lbWNweShhaS0+YWlfY2Fub25uYW1lLCBkdW1teSwgbmFtZWxlbik7CiAKICAgYWktPmFpX2ZhbWlseSA9IEFGX0lORVQ7CiAgIGFpLT5haV9hZGRybGVuID0gc2l6ZW9mKHN0cnVjdCBzb2NrYWRkcl9pbik7CmRpZmYgLS1naXQgYS90ZXN0cy91bml0L3VuaXQxMzA5LmMgYi90ZXN0cy91bml0L3VuaXQxMzA5LmMKaW5kZXggOWQ4ODUzOC4uODgwNTMwMyAxMDA2NDQKLS0tIGEvdGVzdHMvdW5pdC91bml0MTMwOS5jCisrKyBiL3Rlc3RzL3VuaXQvdW5pdDEzMDkuYwpAQCAtNSw3ICs1LDcgQEAKICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgKF9ffCB8X3wgfCAgXyA8fCB8X19fCiAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXF9fX3xcX19fL3xffCBcX1xfX19fX3wKICAqCi0gKiBDb3B5cmlnaHQgKEMpIDE5OTggLSAyMDE4LCBEYW5pZWwgU3RlbmJlcmcsIDxkYW5pZWxAaGF4eC5zZT4sIGV0IGFsLgorICogQ29weXJpZ2h0IChDKSAxOTk4IC0gMjAyMCwgRGFuaWVsIFN0ZW5iZXJnLCA8ZGFuaWVsQGhheHguc2U+LCBldCBhbC4KICAqCiAgKiBUaGlzIHNvZnR3YXJlIGlzIGxpY2Vuc2VkIGFzIGRlc2NyaWJlZCBpbiB0aGUgZmlsZSBDT1BZSU5HLCB3aGljaAogICogeW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGFzIHBhcnQgb2YgdGhpcyBkaXN0cmlidXRpb24uIFRoZSB0ZXJtcwpAQCAtMzUsNyArMzUsNyBAQAogCiB9CiAKLXN0YXRpYyB2b2lkIHNwbGF5cHJpbnQoc3RydWN0IEN1cmxfdHJlZSAqIHQsIGludCBkLCBjaGFyIG91dHB1dCkKK3N0YXRpYyB2b2lkIHNwbGF5cHJpbnQoc3RydWN0IEN1cmxfdHJlZSAqdCwgaW50IGQsIGNoYXIgb3V0cHV0KQogewogICBzdHJ1Y3QgQ3VybF90cmVlICpub2RlOwogICBpbnQgaTsKZGlmZiAtLWdpdCBhL3Rlc3RzL3VuaXQvdW5pdDE2MDQuYyBiL3Rlc3RzL3VuaXQvdW5pdDE2MDQuYwppbmRleCBjMjg1Y2VkLi45YzRmNzc2IDEwMDY0NAotLS0gYS90ZXN0cy91bml0L3VuaXQxNjA0LmMKKysrIGIvdGVzdHMvdW5pdC91bml0MTYwNC5jCkBAIC01LDcgKzUsNyBAQAogICogICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAoX198IHxffCB8ICBfIDx8IHxfX18KICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcX19ffFxfX18vfF98IFxfXF9fX19ffAogICoKLSAqIENvcHlyaWdodCAoQykgMTk5OCAtIDIwMTgsIERhbmllbCBTdGVuYmVyZywgPGRhbmllbEBoYXh4LnNlPiwgZXQgYWwuCisgKiBDb3B5cmlnaHQgKEMpIDE5OTggLSAyMDIwLCBEYW5pZWwgU3RlbmJlcmcsIDxkYW5pZWxAaGF4eC5zZT4sIGV0IGFsLgogICoKICAqIFRoaXMgc29mdHdhcmUgaXMgbGljZW5zZWQgYXMgZGVzY3JpYmVkIGluIHRoZSBmaWxlIENPUFlJTkcsIHdoaWNoCiAgKiB5b3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYXMgcGFydCBvZiB0aGlzIGRpc3RyaWJ1dGlvbi4gVGhlIHRlcm1zCkBAIC03OCw3ICs3OCw3IEBACiAgIGNvbnN0IGNoYXIgKmlucHV0OwogICBpbnQgZmxhZ3M7CiAgIGNvbnN0IGNoYXIgKmV4cGVjdGVkX291dHB1dDsKLSAgQ1VSTGNvZGUgZXhwZWN0ZWRfcmVzdWx0OworICBTQU5JVElaRWNvZGUgZXhwZWN0ZWRfcmVzdWx0OwogfTsKIAogVU5JVFRFU1RfU1RBUlQKQEAgLTMwNCw4ICszMDQsOSBAQAogICAgIGNoYXIgKmZsYWdzdHIgPSBOVUxMOwogICAgIGNoYXIgKnJlY2VpdmVkX2Njc3RyID0gTlVMTDsKICAgICBjaGFyICpleHBlY3RlZF9jY3N0ciA9IE5VTEw7CisgICAgU0FOSVRJWkVjb2RlIHJlczsKIAotICAgIENVUkxjb2RlIHJlcyA9IHNhbml0aXplX2ZpbGVfbmFtZSgmb3V0cHV0LCBkYXRhW2ldLmlucHV0LCBkYXRhW2ldLmZsYWdzKTsKKyAgICByZXMgPSBzYW5pdGl6ZV9maWxlX25hbWUoJm91dHB1dCwgZGF0YVtpXS5pbnB1dCwgZGF0YVtpXS5mbGFncyk7CiAKICAgICBpZihyZXMgPT0gZGF0YVtpXS5leHBlY3RlZF9yZXN1bHQgJiYKICAgICAgICAoKCFvdXRwdXQgJiYgIWRhdGFbaV0uZXhwZWN0ZWRfb3V0cHV0KSB8fApkaWZmIC0tZ2l0IGEvdGVzdHMvdW5pdC91bml0MTYwOC5jIGIvdGVzdHMvdW5pdC91bml0MTYwOC5jCmluZGV4IDM4ZDVjYjIuLmZjNzY3ZDEgMTAwNjQ0Ci0tLSBhL3Rlc3RzL3VuaXQvdW5pdDE2MDguYworKysgYi90ZXN0cy91bml0L3VuaXQxNjA4LmMKQEAgLTUsNyArNSw3IEBACiAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICB8IChfX3wgfF98IHwgIF8gPHwgfF9fXwogICogICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxfX198XF9fXy98X3wgXF9cX19fX198CiAgKgotICogQ29weXJpZ2h0IChDKSAxOTk4IC0gMjAxOSwgRGFuaWVsIFN0ZW5iZXJnLCA8ZGFuaWVsQGhheHguc2U+LCBldCBhbC4KKyAqIENvcHlyaWdodCAoQykgMTk5OCAtIDIwMjAsIERhbmllbCBTdGVuYmVyZywgPGRhbmllbEBoYXh4LnNlPiwgZXQgYWwuCiAgKgogICogVGhpcyBzb2Z0d2FyZSBpcyBsaWNlbnNlZCBhcyBkZXNjcmliZWQgaW4gdGhlIGZpbGUgQ09QWUlORywgd2hpY2gKICAqIHlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhcyBwYXJ0IG9mIHRoaXMgZGlzdHJpYnV0aW9uLiBUaGUgdGVybXMKQEAgLTI0LDcgKzI0LDcgQEAKICNpbmNsdWRlICJob3N0aXAuaCIKIAogQ1VSTGNvZGUgQ3VybF9zaHVmZmxlX2FkZHIoc3RydWN0IEN1cmxfZWFzeSAqZGF0YSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgIEN1cmxfYWRkcmluZm8gKiphZGRyKTsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cnVjdCBDdXJsX2FkZHJpbmZvICoqYWRkcik7CiAKICNkZWZpbmUgTlVNX0FERFJTIDgKIHN0YXRpYyBzdHJ1Y3QgQ3VybF9hZGRyaW5mbyBhZGRyc1tOVU1fQUREUlNdOwpAQCAtNDgsNyArNDgsNyBAQAogewogICBpbnQgaTsKICAgQ1VSTGNvZGUgY29kZTsKLSAgc3RydWN0IEN1cmxfYWRkcmluZm8qIGFkZHJoZWFkID0gYWRkcnM7CisgIHN0cnVjdCBDdXJsX2FkZHJpbmZvICphZGRyaGVhZCA9IGFkZHJzOwogCiAgIHN0cnVjdCBDdXJsX2Vhc3kgKmVhc3kgPSBjdXJsX2Vhc3lfaW5pdCgpOwogICBhYm9ydF91bmxlc3MoZWFzeSwgIm91dCBvZiBtZW1vcnkiKTsKZGlmZiAtLWdpdCBhL3Rlc3RzL3VuaXQvdW5pdDE2MjAuYyBiL3Rlc3RzL3VuaXQvdW5pdDE2MjAuYwppbmRleCA2ZTU3MmM2Li5iMjNlNWI5IDEwMDY0NAotLS0gYS90ZXN0cy91bml0L3VuaXQxNjIwLmMKKysrIGIvdGVzdHMvdW5pdC91bml0MTYyMC5jCkBAIC01LDcgKzUsNyBAQAogICogICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAoX198IHxffCB8ICBfIDx8IHxfX18KICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcX19ffFxfX18vfF98IFxfXF9fX19ffAogICoKLSAqIENvcHlyaWdodCAoQykgMTk5OCAtIDIwMTksIERhbmllbCBTdGVuYmVyZywgPGRhbmllbEBoYXh4LnNlPiwgZXQgYWwuCisgKiBDb3B5cmlnaHQgKEMpIDE5OTggLSAyMDIwLCBEYW5pZWwgU3RlbmJlcmcsIDxkYW5pZWxAaGF4eC5zZT4sIGV0IGFsLgogICoKICAqIFRoaXMgc29mdHdhcmUgaXMgbGljZW5zZWQgYXMgZGVzY3JpYmVkIGluIHRoZSBmaWxlIENPUFlJTkcsIHdoaWNoCiAgKiB5b3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYXMgcGFydCBvZiB0aGlzIGRpc3RyaWJ1dGlvbi4gVGhlIHRlcm1zCkBAIC03MywxMCArNzMsNiBAQAogICBmYWlsX3VubGVzcyhyYyA9PSBDVVJMRV9PSywKICAgICAgICAgICAgICAgIkN1cmxfcGFyc2VfbG9naW5fZGV0YWlscygpIGZhaWxlZCIpOwogCi0gIHJjID0gQ3VybF9kaXNjb25uZWN0KGVtcHR5LCBlbXB0eS0+Y29ubiwgRkFMU0UpOwotICBmYWlsX3VubGVzcyhyYyA9PSBDVVJMRV9PSywKLSAgICAgICAgICAgICAgIkN1cmxfZGlzY29ubmVjdCgpIHdpdGggZGVhZF9jb25uZWN0aW9uIHNldCBGQUxTRSBmYWlsZWQiKTsKLQogICBDdXJsX2ZyZWVzZXQoZW1wdHkpOwogICBmb3IoaSA9IChlbnVtIGR1cHN0cmluZykwOyBpIDwgU1RSSU5HX0xBU1Q7IGkrKykgewogICAgIGZhaWxfdW5sZXNzKGVtcHR5LT5zZXQuc3RyW2ldID09IE5VTEwsCmRpZmYgLS1naXQgYS90ZXN0cy91bml0L3VuaXQxNjUwLmMgYi90ZXN0cy91bml0L3VuaXQxNjUwLmMKaW5kZXggZTY1NmMwNy4uYjJmYzg5ZSAxMDA2NDQKLS0tIGEvdGVzdHMvdW5pdC91bml0MTY1MC5jCisrKyBiL3Rlc3RzL3VuaXQvdW5pdDE2NTAuYwpAQCAtMjIsNiArMjIsNyBAQAogI2luY2x1ZGUgImN1cmxjaGVjay5oIgogCiAjaW5jbHVkZSAiZG9oLmgiCisjaW5jbHVkZSAiZHluYnVmLmgiCiAKIHN0YXRpYyBDVVJMY29kZSB1bml0X3NldHVwKHZvaWQpCiB7CkBAIC0xODQsNyArMTg1LDcgQEAKICAgICBjaGFyICpwdHI7CiAgICAgc2l6ZV90IGxlbjsKICAgICBpbnQgdTsKLSAgICBtZW1zZXQoJmQsIDAsIHNpemVvZihkKSk7CisgICAgZGVfaW5pdCgmZCk7CiAgICAgcmMgPSBkb2hfZGVjb2RlKChjb25zdCB1bnNpZ25lZCBjaGFyICopcmVzcFtpXS5wYWNrZXQsIHJlc3BbaV0uc2l6ZSwKICAgICAgICAgICAgICAgICAgICAgcmVzcFtpXS50eXBlLCAmZCk7CiAgICAgaWYocmMgIT0gcmVzcFtpXS5yYykgewpAQCAtMjIyLDcgKzIyMyw3IEBACiAgICAgfQogICAgIGZvcih1ID0gMDsgdSA8IGQubnVtY25hbWU7IHUrKykgewogICAgICAgc2l6ZV90IG87Ci0gICAgICBtc25wcmludGYocHRyLCBsZW4sICIlcyAiLCBkLmNuYW1lW3VdLmFsbG9jKTsKKyAgICAgIG1zbnByaW50ZihwdHIsIGxlbiwgIiVzICIsIEN1cmxfZHluX3B0cigmZC5jbmFtZVt1XSkpOwogICAgICAgbyA9IHN0cmxlbihwdHIpOwogICAgICAgbGVuIC09IG87CiAgICAgICBwdHIgKz0gbzsKZGlmZiAtLWdpdCBhL3Rlc3RzL3VuaXQvdW5pdDE2NTQuYyBiL3Rlc3RzL3VuaXQvdW5pdDE2NTQuYwppbmRleCBkMDVkMGIyLi43OWU5NzYzIDEwMDY0NAotLS0gYS90ZXN0cy91bml0L3VuaXQxNjU0LmMKKysrIGIvdGVzdHMvdW5pdC91bml0MTY1NC5jCkBAIC02MCw2OSArNjAsNzIgQEAKICAgY3VybCA9IGN1cmxfZWFzeV9pbml0KCk7CiAgIGlmKCFjdXJsKQogICAgIGdvdG8gZmFpbDsKLSAgZmFpbF91bmxlc3MoYXNpLT5udW0gPT0gNCwgIndyb25nIG51bWJlciBvZiBlbnRyaWVzIik7CisgIGZhaWxfdW5sZXNzKGFzaS0+bGlzdC5zaXplID09IDQsICJ3cm9uZyBudW1iZXIgb2YgZW50cmllcyIpOwogICBtc25wcmludGYob3V0bmFtZSwgc2l6ZW9mKG91dG5hbWUpLCAiJXMtb3V0IiwgYXJnKTsKIAotICByZXN1bHQgPSBDdXJsX2FsdHN2Y19wYXJzZShjdXJsLCBhc2ksICJoMj1cImV4YW1wbGUuY29tOjgwODBcIiIsCisgIHJlc3VsdCA9IEN1cmxfYWx0c3ZjX3BhcnNlKGN1cmwsIGFzaSwgImgyPVwiZXhhbXBsZS5jb206ODA4MFwiXHJcbiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEFMUE5faDEsICJleGFtcGxlLm9yZyIsIDgwODApOwogICBpZihyZXN1bHQpIHsKICAgICBmcHJpbnRmKHN0ZGVyciwgIkN1cmxfYWx0c3ZjX3BhcnNlKCkgZmFpbGVkIVxuIik7CiAgICAgdW5pdGZhaWwrKzsKICAgfQotICBmYWlsX3VubGVzcyhhc2ktPm51bSA9PSA1LCAid3JvbmcgbnVtYmVyIG9mIGVudHJpZXMiKTsKKyAgZmFpbF91bmxlc3MoYXNpLT5saXN0LnNpemUgPT0gNSwgIndyb25nIG51bWJlciBvZiBlbnRyaWVzIik7CiAKLSAgcmVzdWx0ID0gQ3VybF9hbHRzdmNfcGFyc2UoY3VybCwgYXNpLCAiaDM9XCI6ODA4MFwiIiwKKyAgcmVzdWx0ID0gQ3VybF9hbHRzdmNfcGFyc2UoY3VybCwgYXNpLCAiaDM9XCI6ODA4MFwiXHJcbiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEFMUE5faDEsICIyLmV4YW1wbGUub3JnIiwgODA4MCk7CiAgIGlmKHJlc3VsdCkgewogICAgIGZwcmludGYoc3RkZXJyLCAiQ3VybF9hbHRzdmNfcGFyc2UoMikgZmFpbGVkIVxuIik7CiAgICAgdW5pdGZhaWwrKzsKICAgfQotICBmYWlsX3VubGVzcyhhc2ktPm51bSA9PSA2LCAid3JvbmcgbnVtYmVyIG9mIGVudHJpZXMiKTsKKyAgZmFpbF91bmxlc3MoYXNpLT5saXN0LnNpemUgPT0gNiwgIndyb25nIG51bWJlciBvZiBlbnRyaWVzIik7CiAKICAgcmVzdWx0ID0gQ3VybF9hbHRzdmNfcGFyc2UoY3VybCwgYXNpLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiaDI9XCJleGFtcGxlLmNvbTo4MDgwXCIsIGgzPVwieWVzeWVzLmNvbVwiIiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImgyPVwiZXhhbXBsZS5jb206ODA4MFwiLCBoMz1cInllc3llcy5jb21cIlxyXG4iLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICBBTFBOX2gxLCAiMy5leGFtcGxlLm9yZyIsIDgwODApOwogICBpZihyZXN1bHQpIHsKICAgICBmcHJpbnRmKHN0ZGVyciwgIkN1cmxfYWx0c3ZjX3BhcnNlKDMpIGZhaWxlZCFcbiIpOwogICAgIHVuaXRmYWlsKys7CiAgIH0KICAgLyogdGhhdCBvbmUgc2hvdWxkIG1ha2UgdHdvIGVudHJpZXMgKi8KLSAgZmFpbF91bmxlc3MoYXNpLT5udW0gPT0gOCwgIndyb25nIG51bWJlciBvZiBlbnRyaWVzIik7CisgIGZhaWxfdW5sZXNzKGFzaS0+bGlzdC5zaXplID09IDgsICJ3cm9uZyBudW1iZXIgb2YgZW50cmllcyIpOwogCi0gIHJlc3VsdCA9IEN1cmxfYWx0c3ZjX3BhcnNlKGN1cmwsIGFzaSwgImgyPVwiZXhhbXBsZS5jb206NDQzXCI7IG1hID0gMTIwOyIsCisgIHJlc3VsdCA9IEN1cmxfYWx0c3ZjX3BhcnNlKGN1cmwsIGFzaSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImgyPVwiZXhhbXBsZS5jb206NDQzXCI7IG1hID0gMTIwO1xyXG4iLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICBBTFBOX2gyLCAiZXhhbXBsZS5vcmciLCA4MCk7CiAgIGlmKHJlc3VsdCkgewogICAgIGZwcmludGYoc3RkZXJyLCAiQ3VybF9hbHRzdmNfcGFyc2UoNCkgZmFpbGVkIVxuIik7CiAgICAgdW5pdGZhaWwrKzsKICAgfQotICBmYWlsX3VubGVzcyhhc2ktPm51bSA9PSA5LCAid3JvbmcgbnVtYmVyIG9mIGVudHJpZXMiKTsKKyAgZmFpbF91bmxlc3MoYXNpLT5saXN0LnNpemUgPT0gOSwgIndyb25nIG51bWJlciBvZiBlbnRyaWVzIik7CiAKICAgLyogcXVvdGVkICdtYScgdmFsdWUgKi8KLSAgcmVzdWx0ID0gQ3VybF9hbHRzdmNfcGFyc2UoY3VybCwgYXNpLCAiaDI9XCJleGFtcGxlLm5ldDo0NDNcIjsgbWE9XCIxODBcIjsiLAorICByZXN1bHQgPSBDdXJsX2FsdHN2Y19wYXJzZShjdXJsLCBhc2ksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJoMj1cImV4YW1wbGUubmV0OjQ0M1wiOyBtYT1cIjE4MFwiO1xyXG4iLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICBBTFBOX2gyLCAiZXhhbXBsZS5uZXQiLCA4MCk7CiAgIGlmKHJlc3VsdCkgewogICAgIGZwcmludGYoc3RkZXJyLCAiQ3VybF9hbHRzdmNfcGFyc2UoNCkgZmFpbGVkIVxuIik7CiAgICAgdW5pdGZhaWwrKzsKICAgfQotICBmYWlsX3VubGVzcyhhc2ktPm51bSA9PSAxMCwgIndyb25nIG51bWJlciBvZiBlbnRyaWVzIik7CisgIGZhaWxfdW5sZXNzKGFzaS0+bGlzdC5zaXplID09IDEwLCAid3JvbmcgbnVtYmVyIG9mIGVudHJpZXMiKTsKIAotICByZXN1bHQgPSBDdXJsX2FsdHN2Y19wYXJzZShjdXJsLCBhc2ksCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICJoMj1cIjo0NDNcIiwgaDM9XCI6NDQzXCI7IG1hID0gMTIwOyBwZXJzaXN0ID0gMSIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIEFMUE5faDEsICJjdXJsLmhheHguc2UiLCA4MCk7CisgIHJlc3VsdCA9CisgICAgQ3VybF9hbHRzdmNfcGFyc2UoY3VybCwgYXNpLAorICAgICAgICAgICAgICAgICAgICAgICJoMj1cIjo0NDNcIiwgaDM9XCI6NDQzXCI7IG1hID0gMTIwOyBwZXJzaXN0ID0gMVxyXG4iLAorICAgICAgICAgICAgICAgICAgICAgIEFMUE5faDEsICJjdXJsLmhheHguc2UiLCA4MCk7CiAgIGlmKHJlc3VsdCkgewogICAgIGZwcmludGYoc3RkZXJyLCAiQ3VybF9hbHRzdmNfcGFyc2UoNSkgZmFpbGVkIVxuIik7CiAgICAgdW5pdGZhaWwrKzsKICAgfQotICBmYWlsX3VubGVzcyhhc2ktPm51bSA9PSAxMiwgIndyb25nIG51bWJlciBvZiBlbnRyaWVzIik7CisgIGZhaWxfdW5sZXNzKGFzaS0+bGlzdC5zaXplID09IDEyLCAid3JvbmcgbnVtYmVyIG9mIGVudHJpZXMiKTsKIAogICAvKiBjbGVhciB0aGF0IG9uZSBhZ2FpbiBhbmQgZGVjcmVhc2UgdGhlIGNvdW50ZXIgKi8KLSAgcmVzdWx0ID0gQ3VybF9hbHRzdmNfcGFyc2UoY3VybCwgYXNpLCAiY2xlYXI7IiwKKyAgcmVzdWx0ID0gQ3VybF9hbHRzdmNfcGFyc2UoY3VybCwgYXNpLCAiY2xlYXI7XHJcbiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEFMUE5faDEsICJjdXJsLmhheHguc2UiLCA4MCk7CiAgIGlmKHJlc3VsdCkgewogICAgIGZwcmludGYoc3RkZXJyLCAiQ3VybF9hbHRzdmNfcGFyc2UoNikgZmFpbGVkIVxuIik7CiAgICAgdW5pdGZhaWwrKzsKICAgfQotICBmYWlsX3VubGVzcyhhc2ktPm51bSA9PSAxMCwgIndyb25nIG51bWJlciBvZiBlbnRyaWVzIik7CisgIGZhaWxfdW5sZXNzKGFzaS0+bGlzdC5zaXplID09IDEwLCAid3JvbmcgbnVtYmVyIG9mIGVudHJpZXMiKTsKIAogICBDdXJsX2FsdHN2Y19zYXZlKGN1cmwsIGFzaSwgb3V0bmFtZSk7CiAKZGlmZiAtLWdpdCBhL3dpbmJ1aWxkL01ha2VmaWxlQnVpbGQudmMgYi93aW5idWlsZC9NYWtlZmlsZUJ1aWxkLnZjCmluZGV4IDczM2YxY2YuLmRiMDFlYWIgMTAwNjQ0Ci0tLSBhL3dpbmJ1aWxkL01ha2VmaWxlQnVpbGQudmMKKysrIGIvd2luYnVpbGQvTWFrZWZpbGVCdWlsZC52YwpAQCAtNjE4LDcgKzYxOCw4IEBACiAgJChDVVJMX0RJUk9CSilcbm9uYmxvY2sub2JqIFwNCiAgJChDVVJMX0RJUk9CSilcc3RydG9vZmZ0Lm9iaiBcDQogICQoQ1VSTF9ESVJPQkopXHdhcm5sZXNzLm9iaiBcDQotICQoQ1VSTF9ESVJPQkopXGN1cmxfY3R5cGUub2JqDQorICQoQ1VSTF9ESVJPQkopXGN1cmxfY3R5cGUub2JqIFwNCisgJChDVVJMX0RJUk9CSilcY3VybF9tdWx0aWJ5dGUub2JqDQogIA0KICQoUFJPR1JBTV9OQU1FKTogJChDVVJMX0RJUk9CSikgJChDVVJMX0ZST01fTElCQ1VSTCkgJChFWEVfT0JKUykNCiAJJChDVVJMX0xJTkspICQoQ1VSTF9MRkxBR1MpICQoQ1VSTF9MSUJDVVJMX0xJQk5BTUUpICQoV0lOX0xJQlMpICQoQ1VSTF9GUk9NX0xJQkNVUkwpICQoRVhFX09CSlMpDQpAQCAtNjM3LDYgKzYzOCw4IEBACiAJJChDVVJMX0NDKSAkKENVUkxfQ0ZMQUdTKSAvRm8iJEAiIC4uL2xpYi93YXJubGVzcy5jDQogJChDVVJMX0RJUk9CSilcY3VybF9jdHlwZS5vYmo6IC4uL2xpYi9jdXJsX2N0eXBlLmMNCiAJJChDVVJMX0NDKSAkKENVUkxfQ0ZMQUdTKSAvRm8iJEAiIC4uL2xpYi9jdXJsX2N0eXBlLmMNCiskKENVUkxfRElST0JKKVxjdXJsX211bHRpYnl0ZS5vYmo6IC4uL2xpYi9jdXJsX211bHRpYnl0ZS5jDQorCSQoQ1VSTF9DQykgJChDVVJMX0NGTEFHUykgL0ZvIiRAIiAuLi9saWIvY3VybF9tdWx0aWJ5dGUuYw0KICQoQ1VSTF9ESVJPQkopXGN1cmwucmVzOiAkKENVUkxfU1JDX0RJUilcY3VybC5yYw0KIAlyYyAkKENVUkxfUkNfRkxBR1MpDQogDQo=